diff --git a/.editorconfig b/.editorconfig index 837a07bc..8e6efedc 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,6 +9,6 @@ end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true -[*.{py,rpy}] +[*.{py,rpy,rpym}] indent_size = 4 indent_style = space diff --git a/.gitignore b/.gitignore index 4fb913fb..bb942e86 100644 --- a/.gitignore +++ b/.gitignore @@ -36,12 +36,14 @@ pip-log.txt *.rpymc project.json .android.json +buildinfo.py # Ren'py data game/saves/ game/cache/ project.json android.json +*.keystore # Ren'py logs traceback.txt diff --git a/android-icon_background.png b/android-icon_background.png index cff50df6..f4ceba94 100644 --- a/android-icon_background.png +++ b/android-icon_background.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5325282928f07bde993237dedcf112a7e03186eefdd7e3a81f266a900c229ba -size 55071 +oid sha256:1bc9967c59175dec9a31cbd26243edb8641e3c115a3b97391009c3a6e7a3a232 +size 44028 diff --git a/android-icon_foreground.png b/android-icon_foreground.png index 2ca7fa0e..8e66a25a 100644 --- a/android-icon_foreground.png +++ b/android-icon_foreground.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25fb97999b892101ed21b040b07cc03a681eaa0ed924de5d790ab51bc7eb9d6d -size 7446 +oid sha256:203b8d1548fdec9f4ab4a65911481f5928462cc702cdf593ff744d66ac9502ad +size 10986 diff --git a/game/characters/.gitignore b/game/characters/.gitignore new file mode 100644 index 00000000..7375510b --- /dev/null +++ b/game/characters/.gitignore @@ -0,0 +1,2 @@ +# We don't want to include PNGs in GIT +*.png diff --git a/game/characters/astoria/body/armleft/on_hips.webp b/game/characters/astoria/body/armleft/on_hips.webp deleted file mode 100644 index 262c7f9d..00000000 --- a/game/characters/astoria/body/armleft/on_hips.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f526f0c288aaee88c077af126a86513300994798eb9e3ddc9971b717229174e1 -size 13080 diff --git a/game/characters/astoria/body/armleft/on_hips_fix.webp b/game/characters/astoria/body/armleft/on_hips_fix.webp deleted file mode 100644 index 56458ffd..00000000 --- a/game/characters/astoria/body/armleft/on_hips_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a32c1e69a75188f9cab0f3e31c7967f894a0126c3e1bc43fff431b0c015b7113 -size 4794 diff --git a/game/characters/astoria/body/armright/on_hips.webp b/game/characters/astoria/body/armright/on_hips.webp deleted file mode 100644 index 83895df3..00000000 --- a/game/characters/astoria/body/armright/on_hips.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d8ef470d7a0ad028df5dfaf19f443c5ee943fcbf05de4b2a46f7d763825172c -size 11832 diff --git a/game/characters/astoria/body/armright/on_hips_fix.webp b/game/characters/astoria/body/armright/on_hips_fix.webp deleted file mode 100644 index 8e2447be..00000000 --- a/game/characters/astoria/body/armright/on_hips_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:329e18bfcffaca912bb15bd6cfa5f22c36e5e5322f0b539a1cc2c29b49fe960a -size 6846 diff --git a/game/characters/astoria/body/base/front.webp b/game/characters/astoria/body/base/front.webp deleted file mode 100644 index d78b3d87..00000000 --- a/game/characters/astoria/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e47362e920b3f917cb6914855821faaedba4b7a278f62daa72b4ec577708a7a6 -size 49660 diff --git a/game/characters/astoria/body/breasts/normal.webp b/game/characters/astoria/body/breasts/normal.webp deleted file mode 100644 index ef6f20e8..00000000 --- a/game/characters/astoria/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:afe997a209491b6f4c0535813ad99782ad7f413c4964aa1a573b78c131d54973 -size 10144 diff --git a/game/characters/astoria/poses/default/bodyparts/frame/default/skin.webp b/game/characters/astoria/poses/default/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..f37262ba --- /dev/null +++ b/game/characters/astoria/poses/default/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d7045fc6ca88fa356fded9249c2c2e89db4dec51ae0a1d259a63e440f988509 +size 72420 diff --git a/game/characters/astoria/clothes/accessory/ann_takamaki/0.webp b/game/characters/astoria/poses/default/clothes/accessory/ann_takamaki/0.webp similarity index 100% rename from game/characters/astoria/clothes/accessory/ann_takamaki/0.webp rename to game/characters/astoria/poses/default/clothes/accessory/ann_takamaki/0.webp diff --git a/game/characters/astoria/clothes/accessory/ann_takamaki/1.webp b/game/characters/astoria/poses/default/clothes/accessory/ann_takamaki/1.webp similarity index 100% rename from game/characters/astoria/clothes/accessory/ann_takamaki/1.webp rename to game/characters/astoria/poses/default/clothes/accessory/ann_takamaki/1.webp diff --git a/game/characters/astoria/clothes/accessory/ann_takamaki/outline.webp b/game/characters/astoria/poses/default/clothes/accessory/ann_takamaki/outline.webp similarity index 100% rename from game/characters/astoria/clothes/accessory/ann_takamaki/outline.webp rename to game/characters/astoria/poses/default/clothes/accessory/ann_takamaki/outline.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1/0.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1/0.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1/0.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1/0.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1/1.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1/1.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1/1.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1/1.webp diff --git a/game/characters/astoria/poses/default/clothes/bottom/pants_1/armfix.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/bottom/pants_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/bottom/pants_1/extra.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1/extra.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1/extra.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1/extra.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1/outline.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1/outline.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1/outline.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1/skin.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1/skin.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1/skin.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1/skin.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1_short/0.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/0.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1_short/0.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1_short/0.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1_short/1.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/1.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1_short/1.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1_short/1.webp diff --git a/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/armfix.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/bottom/pants_1_short/extra.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/extra.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1_short/extra.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1_short/extra.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1_short/outline.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1_short/outline.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1_short/outline.webp diff --git a/game/characters/astoria/clothes/bottom/pants_1_short/skin.webp b/game/characters/astoria/poses/default/clothes/bottom/pants_1_short/skin.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/pants_1_short/skin.webp rename to game/characters/astoria/poses/default/clothes/bottom/pants_1_short/skin.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_1/0.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/0.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_1/0.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/0.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_1/1.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/1.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_1/1.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/1.webp diff --git a/game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/armfix.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/bottom/school_skirt_1/outline.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_1/outline.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_1/outline.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_2/0.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/0.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_2/0.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/0.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_2/1.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/1.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_2/1.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/1.webp diff --git a/game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/armfix.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/bottom/school_skirt_2/outline.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_2/outline.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_2/outline.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_3/0.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/0.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_3/0.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/0.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_3/1.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/1.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_3/1.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/1.webp diff --git a/game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/armfix.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/bottom/school_skirt_3/outline.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_3/outline.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_3/outline.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_4/0.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/0.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_4/0.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/0.webp diff --git a/game/characters/astoria/clothes/bottom/school_skirt_4/1.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/1.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_4/1.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/1.webp diff --git a/game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/armfix.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/bottom/school_skirt_4/outline.webp b/game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bottom/school_skirt_4/outline.webp rename to game/characters/astoria/poses/default/clothes/bottom/school_skirt_4/outline.webp diff --git a/game/characters/astoria/clothes/bra/basic_bra_1/0.webp b/game/characters/astoria/poses/default/clothes/bra/basic_bra_1/0.webp similarity index 100% rename from game/characters/astoria/clothes/bra/basic_bra_1/0.webp rename to game/characters/astoria/poses/default/clothes/bra/basic_bra_1/0.webp diff --git a/game/characters/astoria/clothes/bra/basic_bra_1/1.webp b/game/characters/astoria/poses/default/clothes/bra/basic_bra_1/1.webp similarity index 100% rename from game/characters/astoria/clothes/bra/basic_bra_1/1.webp rename to game/characters/astoria/poses/default/clothes/bra/basic_bra_1/1.webp diff --git a/game/characters/astoria/clothes/bra/basic_bra_1/outline.webp b/game/characters/astoria/poses/default/clothes/bra/basic_bra_1/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bra/basic_bra_1/outline.webp rename to game/characters/astoria/poses/default/clothes/bra/basic_bra_1/outline.webp diff --git a/game/characters/astoria/clothes/bra/basic_bra_1/skin.webp b/game/characters/astoria/poses/default/clothes/bra/basic_bra_1/skin.webp similarity index 100% rename from game/characters/astoria/clothes/bra/basic_bra_1/skin.webp rename to game/characters/astoria/poses/default/clothes/bra/basic_bra_1/skin.webp diff --git a/game/characters/astoria/clothes/bra/basic_bra_2/0.webp b/game/characters/astoria/poses/default/clothes/bra/basic_bra_2/0.webp similarity index 100% rename from game/characters/astoria/clothes/bra/basic_bra_2/0.webp rename to game/characters/astoria/poses/default/clothes/bra/basic_bra_2/0.webp diff --git a/game/characters/astoria/clothes/bra/basic_bra_2/outline.webp b/game/characters/astoria/poses/default/clothes/bra/basic_bra_2/outline.webp similarity index 100% rename from game/characters/astoria/clothes/bra/basic_bra_2/outline.webp rename to game/characters/astoria/poses/default/clothes/bra/basic_bra_2/outline.webp diff --git a/game/characters/astoria/clothes/bra/basic_bra_2/skin.webp b/game/characters/astoria/poses/default/clothes/bra/basic_bra_2/skin.webp similarity index 100% rename from game/characters/astoria/clothes/bra/basic_bra_2/skin.webp rename to game/characters/astoria/poses/default/clothes/bra/basic_bra_2/skin.webp diff --git a/game/characters/astoria/clothes/gloves/ann_takamaki/0.webp b/game/characters/astoria/poses/default/clothes/gloves/ann_takamaki/0.webp similarity index 100% rename from game/characters/astoria/clothes/gloves/ann_takamaki/0.webp rename to game/characters/astoria/poses/default/clothes/gloves/ann_takamaki/0.webp diff --git a/game/characters/astoria/clothes/gloves/ann_takamaki/outline.webp b/game/characters/astoria/poses/default/clothes/gloves/ann_takamaki/outline.webp similarity index 100% rename from game/characters/astoria/clothes/gloves/ann_takamaki/outline.webp rename to game/characters/astoria/poses/default/clothes/gloves/ann_takamaki/outline.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/0.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/0.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/0.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/0.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/0_front.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/0_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/0_front.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/0_front.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/1.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/1.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/1.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/1.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/1_front.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/1_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/1_front.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/1_front.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/2.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/2.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/2.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/2.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/outline.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/outline.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/outline.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/outline.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/outline_front.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/outline_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/outline_front.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/outline_front.webp diff --git a/game/characters/astoria/clothes/hair/ann_takamaki/skin.webp b/game/characters/astoria/poses/default/clothes/hair/ann_takamaki/skin.webp similarity index 100% rename from game/characters/astoria/clothes/hair/ann_takamaki/skin.webp rename to game/characters/astoria/poses/default/clothes/hair/ann_takamaki/skin.webp diff --git a/game/characters/astoria/clothes/hair/base/0.webp b/game/characters/astoria/poses/default/clothes/hair/base/0.webp similarity index 100% rename from game/characters/astoria/clothes/hair/base/0.webp rename to game/characters/astoria/poses/default/clothes/hair/base/0.webp diff --git a/game/characters/astoria/clothes/hair/base/0_front.webp b/game/characters/astoria/poses/default/clothes/hair/base/0_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/base/0_front.webp rename to game/characters/astoria/poses/default/clothes/hair/base/0_front.webp diff --git a/game/characters/astoria/clothes/hair/base/1.webp b/game/characters/astoria/poses/default/clothes/hair/base/1.webp similarity index 100% rename from game/characters/astoria/clothes/hair/base/1.webp rename to game/characters/astoria/poses/default/clothes/hair/base/1.webp diff --git a/game/characters/astoria/clothes/hair/base/1_front.webp b/game/characters/astoria/poses/default/clothes/hair/base/1_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/base/1_front.webp rename to game/characters/astoria/poses/default/clothes/hair/base/1_front.webp diff --git a/game/characters/astoria/clothes/hair/base/outline.webp b/game/characters/astoria/poses/default/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/astoria/clothes/hair/base/outline.webp rename to game/characters/astoria/poses/default/clothes/hair/base/outline.webp diff --git a/game/characters/astoria/clothes/hair/base/outline_front.webp b/game/characters/astoria/poses/default/clothes/hair/base/outline_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/base/outline_front.webp rename to game/characters/astoria/poses/default/clothes/hair/base/outline_front.webp diff --git a/game/characters/astoria/clothes/hair/base/skin.webp b/game/characters/astoria/poses/default/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/astoria/clothes/hair/base/skin.webp rename to game/characters/astoria/poses/default/clothes/hair/base/skin.webp diff --git a/game/characters/astoria/clothes/hair/short/0.webp b/game/characters/astoria/poses/default/clothes/hair/short/0.webp similarity index 100% rename from game/characters/astoria/clothes/hair/short/0.webp rename to game/characters/astoria/poses/default/clothes/hair/short/0.webp diff --git a/game/characters/astoria/clothes/hair/short/0_front.webp b/game/characters/astoria/poses/default/clothes/hair/short/0_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/short/0_front.webp rename to game/characters/astoria/poses/default/clothes/hair/short/0_front.webp diff --git a/game/characters/astoria/clothes/hair/short/1.webp b/game/characters/astoria/poses/default/clothes/hair/short/1.webp similarity index 100% rename from game/characters/astoria/clothes/hair/short/1.webp rename to game/characters/astoria/poses/default/clothes/hair/short/1.webp diff --git a/game/characters/astoria/clothes/hair/short/1_front.webp b/game/characters/astoria/poses/default/clothes/hair/short/1_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/short/1_front.webp rename to game/characters/astoria/poses/default/clothes/hair/short/1_front.webp diff --git a/game/characters/astoria/clothes/hair/short/outline.webp b/game/characters/astoria/poses/default/clothes/hair/short/outline.webp similarity index 100% rename from game/characters/astoria/clothes/hair/short/outline.webp rename to game/characters/astoria/poses/default/clothes/hair/short/outline.webp diff --git a/game/characters/astoria/clothes/hair/short/outline_front.webp b/game/characters/astoria/poses/default/clothes/hair/short/outline_front.webp similarity index 100% rename from game/characters/astoria/clothes/hair/short/outline_front.webp rename to game/characters/astoria/poses/default/clothes/hair/short/outline_front.webp diff --git a/game/characters/astoria/clothes/hair/short/skin.webp b/game/characters/astoria/poses/default/clothes/hair/short/skin.webp similarity index 100% rename from game/characters/astoria/clothes/hair/short/skin.webp rename to game/characters/astoria/poses/default/clothes/hair/short/skin.webp diff --git a/game/characters/astoria/clothes/headgear/ann_takamaki/0.webp b/game/characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/0.webp similarity index 100% rename from game/characters/astoria/clothes/headgear/ann_takamaki/0.webp rename to game/characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/0.webp diff --git a/game/characters/astoria/clothes/headgear/ann_takamaki/1.webp b/game/characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/1.webp similarity index 100% rename from game/characters/astoria/clothes/headgear/ann_takamaki/1.webp rename to game/characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/1.webp diff --git a/game/characters/astoria/clothes/headgear/ann_takamaki/outline.webp b/game/characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/outline.webp similarity index 100% rename from game/characters/astoria/clothes/headgear/ann_takamaki/outline.webp rename to game/characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/outline.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/angry.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/angry/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/angry.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/angry/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/annoyed.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/annoyed/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/annoyed.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/annoyed/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/base.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/base/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/base.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/base/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/clench.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/clench/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/clench.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/clench/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/grin.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/grin/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/grin.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/grin/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/horny.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/horny/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/horny.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/horny/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/open.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/open/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/open.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/open/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/scream.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/scream/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/scream.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/scream/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/smile.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/smile/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/smile.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/smile/0.webp diff --git a/game/characters/astoria/clothes/makeup/lipstick/upset.webp b/game/characters/astoria/poses/default/clothes/makeup/lipstick/upset/0.webp similarity index 100% rename from game/characters/astoria/clothes/makeup/lipstick/upset.webp rename to game/characters/astoria/poses/default/clothes/makeup/lipstick/upset/0.webp diff --git a/game/characters/astoria/clothes/panties/basic_panties_1/0.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_1/0.webp similarity index 100% rename from game/characters/astoria/clothes/panties/basic_panties_1/0.webp rename to game/characters/astoria/poses/default/clothes/panties/basic_panties_1/0.webp diff --git a/game/characters/astoria/clothes/panties/basic_panties_1/1.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_1/1.webp similarity index 100% rename from game/characters/astoria/clothes/panties/basic_panties_1/1.webp rename to game/characters/astoria/poses/default/clothes/panties/basic_panties_1/1.webp diff --git a/game/characters/astoria/poses/default/clothes/panties/basic_panties_1/armfix.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_1/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/panties/basic_panties_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/panties/basic_panties_1/outline.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_1/outline.webp similarity index 100% rename from game/characters/astoria/clothes/panties/basic_panties_1/outline.webp rename to game/characters/astoria/poses/default/clothes/panties/basic_panties_1/outline.webp diff --git a/game/characters/astoria/clothes/panties/basic_panties_1/skin.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_1/skin.webp similarity index 100% rename from game/characters/astoria/clothes/panties/basic_panties_1/skin.webp rename to game/characters/astoria/poses/default/clothes/panties/basic_panties_1/skin.webp diff --git a/game/characters/astoria/clothes/panties/basic_panties_2/0.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_2/0.webp similarity index 100% rename from game/characters/astoria/clothes/panties/basic_panties_2/0.webp rename to game/characters/astoria/poses/default/clothes/panties/basic_panties_2/0.webp diff --git a/game/characters/astoria/poses/default/clothes/panties/basic_panties_2/armfix.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_2/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/panties/basic_panties_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/panties/basic_panties_2/outline.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_2/outline.webp similarity index 100% rename from game/characters/astoria/clothes/panties/basic_panties_2/outline.webp rename to game/characters/astoria/poses/default/clothes/panties/basic_panties_2/outline.webp diff --git a/game/characters/astoria/clothes/panties/basic_panties_2/skin.webp b/game/characters/astoria/poses/default/clothes/panties/basic_panties_2/skin.webp similarity index 100% rename from game/characters/astoria/clothes/panties/basic_panties_2/skin.webp rename to game/characters/astoria/poses/default/clothes/panties/basic_panties_2/skin.webp diff --git a/game/characters/astoria/clothes/pubes/arrow/0.webp b/game/characters/astoria/poses/default/clothes/pubes/arrow/0.webp similarity index 100% rename from game/characters/astoria/clothes/pubes/arrow/0.webp rename to game/characters/astoria/poses/default/clothes/pubes/arrow/0.webp diff --git a/game/characters/astoria/clothes/pubes/arrow/outline.webp b/game/characters/astoria/poses/default/clothes/pubes/arrow/outline.webp similarity index 100% rename from game/characters/astoria/clothes/pubes/arrow/outline.webp rename to game/characters/astoria/poses/default/clothes/pubes/arrow/outline.webp diff --git a/game/characters/astoria/clothes/pubes/beaver/0.webp b/game/characters/astoria/poses/default/clothes/pubes/beaver/0.webp similarity index 100% rename from game/characters/astoria/clothes/pubes/beaver/0.webp rename to game/characters/astoria/poses/default/clothes/pubes/beaver/0.webp diff --git a/game/characters/astoria/clothes/pubes/beaver/outline.webp b/game/characters/astoria/poses/default/clothes/pubes/beaver/outline.webp similarity index 100% rename from game/characters/astoria/clothes/pubes/beaver/outline.webp rename to game/characters/astoria/poses/default/clothes/pubes/beaver/outline.webp diff --git a/game/characters/astoria/clothes/pubes/stuble/0.webp b/game/characters/astoria/poses/default/clothes/pubes/stuble/0.webp similarity index 100% rename from game/characters/astoria/clothes/pubes/stuble/0.webp rename to game/characters/astoria/poses/default/clothes/pubes/stuble/0.webp diff --git a/game/characters/astoria/clothes/pubes/unshaved/0.webp b/game/characters/astoria/poses/default/clothes/pubes/unshaved/0.webp similarity index 100% rename from game/characters/astoria/clothes/pubes/unshaved/0.webp rename to game/characters/astoria/poses/default/clothes/pubes/unshaved/0.webp diff --git a/game/characters/astoria/clothes/stockings/ann_takamaki/0.webp b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/0.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/ann_takamaki/0.webp rename to game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/0.webp diff --git a/game/characters/astoria/clothes/stockings/ann_takamaki/0_front.webp b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/0_front.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/ann_takamaki/0_front.webp rename to game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/0_front.webp diff --git a/game/characters/astoria/clothes/stockings/ann_takamaki/1.webp b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/1.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/ann_takamaki/1.webp rename to game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/1.webp diff --git a/game/characters/astoria/clothes/stockings/ann_takamaki/1_front.webp b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/1_front.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/ann_takamaki/1_front.webp rename to game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/1_front.webp diff --git a/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/armfix.webp b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/stockings/ann_takamaki/outline.webp b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/outline.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/ann_takamaki/outline.webp rename to game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/outline.webp diff --git a/game/characters/astoria/clothes/stockings/ann_takamaki/outline_front.webp b/game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/outline_front.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/ann_takamaki/outline_front.webp rename to game/characters/astoria/poses/default/clothes/stockings/ann_takamaki/outline_front.webp diff --git a/game/characters/astoria/clothes/stockings/pantyhose/0.webp b/game/characters/astoria/poses/default/clothes/stockings/pantyhose/0.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/pantyhose/0.webp rename to game/characters/astoria/poses/default/clothes/stockings/pantyhose/0.webp diff --git a/game/characters/astoria/poses/default/clothes/stockings/pantyhose/armfix.webp b/game/characters/astoria/poses/default/clothes/stockings/pantyhose/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/stockings/pantyhose/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/stockings/pantyhose/outline.webp b/game/characters/astoria/poses/default/clothes/stockings/pantyhose/outline.webp similarity index 100% rename from game/characters/astoria/clothes/stockings/pantyhose/outline.webp rename to game/characters/astoria/poses/default/clothes/stockings/pantyhose/outline.webp diff --git a/game/characters/astoria/clothes/top/ann_takamaki/0.webp b/game/characters/astoria/poses/default/clothes/top/ann_takamaki/0.webp similarity index 100% rename from game/characters/astoria/clothes/top/ann_takamaki/0.webp rename to game/characters/astoria/poses/default/clothes/top/ann_takamaki/0.webp diff --git a/game/characters/astoria/clothes/top/ann_takamaki/1.webp b/game/characters/astoria/poses/default/clothes/top/ann_takamaki/1.webp similarity index 100% rename from game/characters/astoria/clothes/top/ann_takamaki/1.webp rename to game/characters/astoria/poses/default/clothes/top/ann_takamaki/1.webp diff --git a/game/characters/astoria/clothes/top/ann_takamaki/2.webp b/game/characters/astoria/poses/default/clothes/top/ann_takamaki/2.webp similarity index 100% rename from game/characters/astoria/clothes/top/ann_takamaki/2.webp rename to game/characters/astoria/poses/default/clothes/top/ann_takamaki/2.webp diff --git a/game/characters/astoria/poses/default/clothes/top/ann_takamaki/armfix.webp b/game/characters/astoria/poses/default/clothes/top/ann_takamaki/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/top/ann_takamaki/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/top/ann_takamaki/outline.webp b/game/characters/astoria/poses/default/clothes/top/ann_takamaki/outline.webp similarity index 100% rename from game/characters/astoria/clothes/top/ann_takamaki/outline.webp rename to game/characters/astoria/poses/default/clothes/top/ann_takamaki/outline.webp diff --git a/game/characters/astoria/body/breasts/normal_tight.webp b/game/characters/astoria/poses/default/clothes/top/ann_takamaki/skin.webp similarity index 100% rename from game/characters/astoria/body/breasts/normal_tight.webp rename to game/characters/astoria/poses/default/clothes/top/ann_takamaki/skin.webp diff --git a/game/characters/astoria/clothes/top/top_school_1/0.webp b/game/characters/astoria/poses/default/clothes/top/top_school_1/0.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_1/0.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_1/0.webp diff --git a/game/characters/astoria/clothes/top/top_school_1/1.webp b/game/characters/astoria/poses/default/clothes/top/top_school_1/1.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_1/1.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_1/1.webp diff --git a/game/characters/astoria/clothes/top/top_school_1/2.webp b/game/characters/astoria/poses/default/clothes/top/top_school_1/2.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_1/2.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_1/2.webp diff --git a/game/characters/astoria/clothes/top/top_school_1/3.webp b/game/characters/astoria/poses/default/clothes/top/top_school_1/3.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_1/3.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_1/3.webp diff --git a/game/characters/astoria/poses/default/clothes/top/top_school_1/armfix.webp b/game/characters/astoria/poses/default/clothes/top/top_school_1/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/top/top_school_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/top/top_school_1/outline.webp b/game/characters/astoria/poses/default/clothes/top/top_school_1/outline.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_1/outline.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_1/outline.webp diff --git a/game/characters/astoria/clothes/top/top_school_1/skin.webp b/game/characters/astoria/poses/default/clothes/top/top_school_1/skin.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_1/skin.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_1/skin.webp diff --git a/game/characters/astoria/clothes/top/top_school_2/0.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/0.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_2/0.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_2/0.webp diff --git a/game/characters/astoria/clothes/top/top_school_2/1.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/1.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_2/1.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_2/1.webp diff --git a/game/characters/astoria/clothes/top/top_school_2/2.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/2.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_2/2.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_2/2.webp diff --git a/game/characters/astoria/clothes/top/top_school_2/3.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/3.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_2/3.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_2/3.webp diff --git a/game/characters/astoria/poses/default/clothes/top/top_school_2/armfix.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/top/top_school_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/top/top_school_2/extra.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/extra.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_2/extra.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_2/extra.webp diff --git a/game/characters/astoria/clothes/top/top_school_2/outline.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/outline.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_2/outline.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_2/outline.webp diff --git a/game/characters/astoria/clothes/top/top_school_2/skin.webp b/game/characters/astoria/poses/default/clothes/top/top_school_2/skin.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_2/skin.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_2/skin.webp diff --git a/game/characters/astoria/clothes/top/top_school_3/0.webp b/game/characters/astoria/poses/default/clothes/top/top_school_3/0.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_3/0.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_3/0.webp diff --git a/game/characters/astoria/clothes/top/top_school_3/1.webp b/game/characters/astoria/poses/default/clothes/top/top_school_3/1.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_3/1.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_3/1.webp diff --git a/game/characters/astoria/clothes/top/top_school_3/2.webp b/game/characters/astoria/poses/default/clothes/top/top_school_3/2.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_3/2.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_3/2.webp diff --git a/game/characters/astoria/poses/default/clothes/top/top_school_3/armfix.webp b/game/characters/astoria/poses/default/clothes/top/top_school_3/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/top/top_school_3/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/top/top_school_3/extra.webp b/game/characters/astoria/poses/default/clothes/top/top_school_3/extra.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_3/extra.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_3/extra.webp diff --git a/game/characters/astoria/clothes/top/top_school_3/outline.webp b/game/characters/astoria/poses/default/clothes/top/top_school_3/outline.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_3/outline.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_3/outline.webp diff --git a/game/characters/astoria/clothes/top/top_school_4/0.webp b/game/characters/astoria/poses/default/clothes/top/top_school_4/0.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_4/0.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_4/0.webp diff --git a/game/characters/astoria/clothes/top/top_school_4/1.webp b/game/characters/astoria/poses/default/clothes/top/top_school_4/1.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_4/1.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_4/1.webp diff --git a/game/characters/astoria/clothes/top/top_school_4/2.webp b/game/characters/astoria/poses/default/clothes/top/top_school_4/2.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_4/2.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_4/2.webp diff --git a/game/characters/astoria/poses/default/clothes/top/top_school_4/armfix.webp b/game/characters/astoria/poses/default/clothes/top/top_school_4/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/top/top_school_4/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/top/top_school_4/extra.webp b/game/characters/astoria/poses/default/clothes/top/top_school_4/extra.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_4/extra.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_4/extra.webp diff --git a/game/characters/astoria/clothes/top/top_school_4/outline.webp b/game/characters/astoria/poses/default/clothes/top/top_school_4/outline.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_4/outline.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_4/outline.webp diff --git a/game/characters/astoria/clothes/top/top_school_5/0.webp b/game/characters/astoria/poses/default/clothes/top/top_school_5/0.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_5/0.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_5/0.webp diff --git a/game/characters/astoria/clothes/top/top_school_5/1.webp b/game/characters/astoria/poses/default/clothes/top/top_school_5/1.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_5/1.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_5/1.webp diff --git a/game/characters/astoria/clothes/top/top_school_5/2.webp b/game/characters/astoria/poses/default/clothes/top/top_school_5/2.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_5/2.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_5/2.webp diff --git a/game/characters/astoria/poses/default/clothes/top/top_school_5/armfix.webp b/game/characters/astoria/poses/default/clothes/top/top_school_5/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/top/top_school_5/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/top/top_school_5/extra.webp b/game/characters/astoria/poses/default/clothes/top/top_school_5/extra.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_5/extra.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_5/extra.webp diff --git a/game/characters/astoria/clothes/top/top_school_5/outline.webp b/game/characters/astoria/poses/default/clothes/top/top_school_5/outline.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_5/outline.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_5/outline.webp diff --git a/game/characters/astoria/clothes/top/top_school_5/skin.webp b/game/characters/astoria/poses/default/clothes/top/top_school_5/skin.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_5/skin.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_5/skin.webp diff --git a/game/characters/astoria/clothes/top/top_school_6/0.webp b/game/characters/astoria/poses/default/clothes/top/top_school_6/0.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_6/0.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_6/0.webp diff --git a/game/characters/astoria/clothes/top/top_school_6/1.webp b/game/characters/astoria/poses/default/clothes/top/top_school_6/1.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_6/1.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_6/1.webp diff --git a/game/characters/astoria/clothes/top/top_school_6/2.webp b/game/characters/astoria/poses/default/clothes/top/top_school_6/2.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_6/2.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_6/2.webp diff --git a/game/characters/astoria/poses/default/clothes/top/top_school_6/armfix.webp b/game/characters/astoria/poses/default/clothes/top/top_school_6/armfix.webp new file mode 100644 index 00000000..51349bad --- /dev/null +++ b/game/characters/astoria/poses/default/clothes/top/top_school_6/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d076bcc114a31ac371c4945aaae53a33a6cd449280ab0399986fc1bcca483158 +size 10772 diff --git a/game/characters/astoria/clothes/top/top_school_6/outline.webp b/game/characters/astoria/poses/default/clothes/top/top_school_6/outline.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_6/outline.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_6/outline.webp diff --git a/game/characters/astoria/clothes/top/top_school_6/skin.webp b/game/characters/astoria/poses/default/clothes/top/top_school_6/skin.webp similarity index 100% rename from game/characters/astoria/clothes/top/top_school_6/skin.webp rename to game/characters/astoria/poses/default/clothes/top/top_school_6/skin.webp diff --git a/game/characters/astoria/emote/angry.webp b/game/characters/astoria/poses/default/emote/angry.webp similarity index 100% rename from game/characters/astoria/emote/angry.webp rename to game/characters/astoria/poses/default/emote/angry.webp diff --git a/game/characters/astoria/emote/confused.webp b/game/characters/astoria/poses/default/emote/confused.webp similarity index 100% rename from game/characters/astoria/emote/confused.webp rename to game/characters/astoria/poses/default/emote/confused.webp diff --git a/game/characters/astoria/emote/happy.webp b/game/characters/astoria/poses/default/emote/happy.webp similarity index 100% rename from game/characters/astoria/emote/happy.webp rename to game/characters/astoria/poses/default/emote/happy.webp diff --git a/game/characters/astoria/emote/hearts.webp b/game/characters/astoria/poses/default/emote/hearts.webp similarity index 100% rename from game/characters/astoria/emote/hearts.webp rename to game/characters/astoria/poses/default/emote/hearts.webp diff --git a/game/characters/astoria/emote/shocked.webp b/game/characters/astoria/poses/default/emote/shocked.webp similarity index 100% rename from game/characters/astoria/emote/shocked.webp rename to game/characters/astoria/poses/default/emote/shocked.webp diff --git a/game/characters/astoria/emote/sweat.webp b/game/characters/astoria/poses/default/emote/sweat.webp similarity index 100% rename from game/characters/astoria/emote/sweat.webp rename to game/characters/astoria/poses/default/emote/sweat.webp diff --git a/game/characters/astoria/face/cheeks/blush.webp b/game/characters/astoria/poses/default/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/astoria/face/cheeks/blush.webp rename to game/characters/astoria/poses/default/face/cheeks/blush/expression.webp diff --git a/game/characters/astoria/face/eyebrows/angry.webp b/game/characters/astoria/poses/default/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/astoria/face/eyebrows/angry.webp rename to game/characters/astoria/poses/default/face/eyebrows/angry/expression.webp diff --git a/game/characters/astoria/face/eyebrows/base.webp b/game/characters/astoria/poses/default/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/astoria/face/eyebrows/base.webp rename to game/characters/astoria/poses/default/face/eyebrows/base/expression.webp diff --git a/game/characters/astoria/face/eyebrows/worried.webp b/game/characters/astoria/poses/default/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/astoria/face/eyebrows/worried.webp rename to game/characters/astoria/poses/default/face/eyebrows/worried/expression.webp diff --git a/game/characters/astoria/face/eyes/base.webp b/game/characters/astoria/poses/default/face/eyes/base/expression.webp similarity index 100% rename from game/characters/astoria/face/eyes/base.webp rename to game/characters/astoria/poses/default/face/eyes/base/expression.webp diff --git a/game/characters/astoria/face/eyes/base_mask.webp b/game/characters/astoria/poses/default/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/astoria/face/eyes/base_mask.webp rename to game/characters/astoria/poses/default/face/eyes/base/eyemask.webp diff --git a/game/characters/astoria/face/eyes/closed.webp b/game/characters/astoria/poses/default/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/astoria/face/eyes/closed.webp rename to game/characters/astoria/poses/default/face/eyes/closed/expression.webp diff --git a/game/characters/astoria/face/eyes/narrow.webp b/game/characters/astoria/poses/default/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/astoria/face/eyes/narrow.webp rename to game/characters/astoria/poses/default/face/eyes/narrow/expression.webp diff --git a/game/characters/astoria/face/eyes/narrow_mask.webp b/game/characters/astoria/poses/default/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/astoria/face/eyes/narrow_mask.webp rename to game/characters/astoria/poses/default/face/eyes/narrow/eyemask.webp diff --git a/game/characters/astoria/face/eyes/wink.webp b/game/characters/astoria/poses/default/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/astoria/face/eyes/wink.webp rename to game/characters/astoria/poses/default/face/eyes/wink/expression.webp diff --git a/game/characters/astoria/face/eyes/wink_mask.webp b/game/characters/astoria/poses/default/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/astoria/face/eyes/wink_mask.webp rename to game/characters/astoria/poses/default/face/eyes/wink/eyemask.webp diff --git a/game/characters/astoria/face/mouth/angry.webp b/game/characters/astoria/poses/default/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/angry.webp rename to game/characters/astoria/poses/default/face/mouth/angry/expression.webp diff --git a/game/characters/astoria/face/mouth/annoyed.webp b/game/characters/astoria/poses/default/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/annoyed.webp rename to game/characters/astoria/poses/default/face/mouth/annoyed/expression.webp diff --git a/game/characters/astoria/face/mouth/base.webp b/game/characters/astoria/poses/default/face/mouth/base/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/base.webp rename to game/characters/astoria/poses/default/face/mouth/base/expression.webp diff --git a/game/characters/astoria/face/mouth/clench.webp b/game/characters/astoria/poses/default/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/clench.webp rename to game/characters/astoria/poses/default/face/mouth/clench/expression.webp diff --git a/game/characters/astoria/face/mouth/grin.webp b/game/characters/astoria/poses/default/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/grin.webp rename to game/characters/astoria/poses/default/face/mouth/grin/expression.webp diff --git a/game/characters/astoria/face/mouth/horny.webp b/game/characters/astoria/poses/default/face/mouth/horny/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/horny.webp rename to game/characters/astoria/poses/default/face/mouth/horny/expression.webp diff --git a/game/characters/astoria/face/mouth/open.webp b/game/characters/astoria/poses/default/face/mouth/open/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/open.webp rename to game/characters/astoria/poses/default/face/mouth/open/expression.webp diff --git a/game/characters/astoria/face/mouth/scream.webp b/game/characters/astoria/poses/default/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/scream.webp rename to game/characters/astoria/poses/default/face/mouth/scream/expression.webp diff --git a/game/characters/astoria/face/mouth/smile.webp b/game/characters/astoria/poses/default/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/smile.webp rename to game/characters/astoria/poses/default/face/mouth/smile/expression.webp diff --git a/game/characters/astoria/face/mouth/upset.webp b/game/characters/astoria/poses/default/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/astoria/face/mouth/upset.webp rename to game/characters/astoria/poses/default/face/mouth/upset/expression.webp diff --git a/game/characters/astoria/face/pupils/L.webp b/game/characters/astoria/poses/default/face/pupils/L/expression.webp similarity index 100% rename from game/characters/astoria/face/pupils/L.webp rename to game/characters/astoria/poses/default/face/pupils/L/expression.webp diff --git a/game/characters/astoria/face/pupils/R.webp b/game/characters/astoria/poses/default/face/pupils/R/expression.webp similarity index 100% rename from game/characters/astoria/face/pupils/R.webp rename to game/characters/astoria/poses/default/face/pupils/R/expression.webp diff --git a/game/characters/astoria/face/pupils/ahegao.webp b/game/characters/astoria/poses/default/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/astoria/face/pupils/ahegao.webp rename to game/characters/astoria/poses/default/face/pupils/ahegao/expression.webp diff --git a/game/characters/astoria/face/pupils/down.webp b/game/characters/astoria/poses/default/face/pupils/down/expression.webp similarity index 100% rename from game/characters/astoria/face/pupils/down.webp rename to game/characters/astoria/poses/default/face/pupils/down/expression.webp diff --git a/game/characters/astoria/face/pupils/mid.webp b/game/characters/astoria/poses/default/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/astoria/face/pupils/mid.webp rename to game/characters/astoria/poses/default/face/pupils/mid/expression.webp diff --git a/game/characters/astoria/face/pupils/up.webp b/game/characters/astoria/poses/default/face/pupils/up/expression.webp similarity index 100% rename from game/characters/astoria/face/pupils/up.webp rename to game/characters/astoria/poses/default/face/pupils/up/expression.webp diff --git a/game/characters/astoria/face/tears/crying.webp b/game/characters/astoria/poses/default/face/tears/crying/expression.webp similarity index 100% rename from game/characters/astoria/face/tears/crying.webp rename to game/characters/astoria/poses/default/face/tears/crying/expression.webp diff --git a/game/characters/cho/body/armleft/down.webp b/game/characters/cho/body/armleft/down.webp deleted file mode 100644 index a21015ec..00000000 --- a/game/characters/cho/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6da9a3762a6298532ef7a1291a5eaa323439c7439e0d1db2c41ae73707ebec91 -size 13508 diff --git a/game/characters/cho/body/armright/down.webp b/game/characters/cho/body/armright/down.webp deleted file mode 100644 index d66831cc..00000000 --- a/game/characters/cho/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:69b853d882e6124842e077bd8a8d3aa8916baa9728c7b23b5601510dd85a98ed -size 6668 diff --git a/game/characters/cho/body/armright/down_fix.webp b/game/characters/cho/body/armright/down_fix.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/characters/cho/body/armright/down_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/characters/cho/body/armright/up.webp b/game/characters/cho/body/armright/up.webp deleted file mode 100644 index 70ed609a..00000000 --- a/game/characters/cho/body/armright/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:79198aaa022725f2f28ce18051197ca457947af018bd6c870c91e46436c49290 -size 25250 diff --git a/game/characters/cho/body/base/front.webp b/game/characters/cho/body/base/front.webp deleted file mode 100644 index 83f11c30..00000000 --- a/game/characters/cho/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1de7b69a54d723579bbd4f66734c1939754c9a7940876b65894e4b7f0b524b27 -size 48148 diff --git a/game/characters/cho/body/breasts/normal.webp b/game/characters/cho/body/breasts/normal.webp deleted file mode 100644 index 00dd9ee0..00000000 --- a/game/characters/cho/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19275d4fce23e6327e43cb1bcb9e91b99dc58b9c3b6fd2f159cc0bedf0a2c0b7 -size 11414 diff --git a/game/characters/cho/clothes/accessory/protectors2/0.webp b/game/characters/cho/clothes/accessory/protectors2/0.webp deleted file mode 100644 index 6fbb7bcc..00000000 --- a/game/characters/cho/clothes/accessory/protectors2/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f16469f76fa22ea43a2346407a802434ae02dff4da1c40bec6af146a42feae -size 94 diff --git a/game/characters/cho/clothes/accessory/protectors2/extra.webp b/game/characters/cho/clothes/accessory/protectors2/extra.webp deleted file mode 100644 index 6fbb7bcc..00000000 --- a/game/characters/cho/clothes/accessory/protectors2/extra.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f16469f76fa22ea43a2346407a802434ae02dff4da1c40bec6af146a42feae -size 94 diff --git a/game/characters/cho/clothes/accessory/suspenders/suspenders_1.webp b/game/characters/cho/clothes/accessory/suspenders/suspenders_1.webp deleted file mode 100644 index 75d6d40f..00000000 --- a/game/characters/cho/clothes/accessory/suspenders/suspenders_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e033152e3e9f30d64ef847198c6b81d2878c2188534faa0901d5fbc649828f63 -size 16544 diff --git a/game/characters/cho/clothes/hair/ponytail/0.webp b/game/characters/cho/clothes/hair/ponytail/0.webp deleted file mode 100644 index 4cb56adf..00000000 --- a/game/characters/cho/clothes/hair/ponytail/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10776def6c79c09c5dc6a01c38c3449269beb4ef85dc5893fa45b6f7b4f14357 -size 5316 diff --git a/game/characters/cho/clothes/hair/ponytail/1.webp b/game/characters/cho/clothes/hair/ponytail/1.webp deleted file mode 100644 index abcec8dd..00000000 --- a/game/characters/cho/clothes/hair/ponytail/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b927727737008a60498ca917780a78239555609fb7d33bf2de8de2b44793024d -size 10790 diff --git a/game/characters/cho/clothes/hair/ponytail/outline.webp b/game/characters/cho/clothes/hair/ponytail/outline.webp deleted file mode 100644 index b8354c9f..00000000 --- a/game/characters/cho/clothes/hair/ponytail/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ce8af28340599ca648f51a58fb30e556c16a45661abe5c7dea492a7d2897a86 -size 18264 diff --git a/game/characters/cho/clothes/headgear/witch/0.webp b/game/characters/cho/clothes/headgear/witch/0.webp deleted file mode 100644 index 5c8807e6..00000000 --- a/game/characters/cho/clothes/headgear/witch/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:889e56ff9040ede57f84d38339b2d44311cb51c198b2a23fe7ff14383a6acd2b -size 8690 diff --git a/game/characters/cho/clothes/headgear/witch/1.webp b/game/characters/cho/clothes/headgear/witch/1.webp deleted file mode 100644 index 62f777ca..00000000 --- a/game/characters/cho/clothes/headgear/witch/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a07d1014ad2af3620184863ddee924c73f0bd2fd5b0f7175b8bfbe83c23980b3 -size 2908 diff --git a/game/characters/cho/clothes/headgear/witch/outline.webp b/game/characters/cho/clothes/headgear/witch/outline.webp deleted file mode 100644 index 903ba2a9..00000000 --- a/game/characters/cho/clothes/headgear/witch/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ffeff1c40d386a2af23596db668c9c0dd94da73999ea3df058f8cb8934c08f2c -size 16298 diff --git a/game/characters/cho/clothes/headgear/witch/skin.webp b/game/characters/cho/clothes/headgear/witch/skin.webp deleted file mode 100644 index f178429a..00000000 --- a/game/characters/cho/clothes/headgear/witch/skin.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f6128412111109dca36c90e856915c07413780454cffc60cbafe36de3ee5e74 -size 1076 diff --git a/game/characters/cho/clothes/top/chun_li_dress/0.webp b/game/characters/cho/clothes/top/chun_li_dress/0.webp deleted file mode 100644 index 66e0854f..00000000 --- a/game/characters/cho/clothes/top/chun_li_dress/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fdd5d0fc2baba71402f0c69b16b0532107cf1840229ea7e43bfd382ae9837655 -size 24246 diff --git a/game/characters/cho/clothes/top/chun_li_dress/1.webp b/game/characters/cho/clothes/top/chun_li_dress/1.webp deleted file mode 100644 index 125235fa..00000000 --- a/game/characters/cho/clothes/top/chun_li_dress/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7f8f262b256ade8dc2268a9d7044f67a4762bf38466d540a658085415ee99fa -size 26602 diff --git a/game/characters/cho/clothes/top/chun_li_dress/extra.webp b/game/characters/cho/clothes/top/chun_li_dress/extra.webp deleted file mode 100644 index 0a67002a..00000000 --- a/game/characters/cho/clothes/top/chun_li_dress/extra.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e2c8b7cce7c4bb6d9d86b300158fc968ccebd7d0abf3f376198ccce1435d8ac -size 5298 diff --git a/game/characters/cho/clothes/top/chun_li_dress/outline.webp b/game/characters/cho/clothes/top/chun_li_dress/outline.webp deleted file mode 100644 index 71d8e83c..00000000 --- a/game/characters/cho/clothes/top/chun_li_dress/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c028008ebf8e6bb5c3f8733ab18a60713d9efbe2744d531a117cbf272b0d3c64 -size 32306 diff --git a/game/characters/cho/clothes/top/top_sweater_2/1.webp b/game/characters/cho/clothes/top/top_sweater_2/1.webp deleted file mode 100644 index b6b1d3ab..00000000 --- a/game/characters/cho/clothes/top/top_sweater_2/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb7d166b27b8355520d9632775867676c0107eaa3007a07a78f596a1f725bda5 -size 4906 diff --git a/game/characters/cho/clothes/top/top_tanktop_1/0.webp b/game/characters/cho/clothes/top/top_tanktop_1/0.webp deleted file mode 100644 index c149929e..00000000 --- a/game/characters/cho/clothes/top/top_tanktop_1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4217ef84d46ed638d3d95ef06e0188a96d397e827eaa8300c62ebe79411efcdd -size 17564 diff --git a/game/characters/cho/clothes/top/top_tanktop_1/outline.webp b/game/characters/cho/clothes/top/top_tanktop_1/outline.webp deleted file mode 100644 index b44535d2..00000000 --- a/game/characters/cho/clothes/top/top_tanktop_1/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4af4ab9aab6703e4f626a30ac582ba226e528d83e6a4edffa87f2545afdcee01 -size 15792 diff --git a/game/characters/cho/clothes/top/top_tanktop_2/0.webp b/game/characters/cho/clothes/top/top_tanktop_2/0.webp deleted file mode 100644 index 86575037..00000000 --- a/game/characters/cho/clothes/top/top_tanktop_2/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e13a4cb24710e76d2ffbbb885a406422c97483a33cbc275ca1cb07f8c4c76775 -size 15036 diff --git a/game/characters/cho/clothes/top/top_tanktop_2/1.webp b/game/characters/cho/clothes/top/top_tanktop_2/1.webp deleted file mode 100644 index 0e40ceed..00000000 --- a/game/characters/cho/clothes/top/top_tanktop_2/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:889ea5af36415e3d90b6ff0d61bb7b3dd7b5b8ad23afc2e8c7998bf042a31593 -size 3064 diff --git a/game/characters/cho/clothes/top/top_tanktop_2/outline.webp b/game/characters/cho/clothes/top/top_tanktop_2/outline.webp deleted file mode 100644 index 3d1dc852..00000000 --- a/game/characters/cho/clothes/top/top_tanktop_2/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3877a19bc9ca7c1bb534dc574d366e0388a5fb68939c3c947517245b9ec82320 -size 13576 diff --git a/game/characters/cho/face/cheeks/dummy.webp b/game/characters/cho/face/cheeks/dummy.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/face/cheeks/dummy.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/armleft/down.webp b/game/characters/cho/poses/broom/body/armleft/down.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/armleft/down_fix.webp b/game/characters/cho/poses/broom/body/armleft/down_fix.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/body/armleft/down_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/armright/down.webp b/game/characters/cho/poses/broom/body/armright/down.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/armright/down_fix.webp b/game/characters/cho/poses/broom/body/armright/down_fix.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/body/armright/down_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/armright/snitch_fix.webp b/game/characters/cho/poses/broom/body/armright/snitch_fix.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/body/armright/snitch_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/armright/up.webp b/game/characters/cho/poses/broom/body/armright/up.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/body/armright/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/breasts/normal.webp b/game/characters/cho/poses/broom/body/breasts/normal.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/broom/body/base/front.webp b/game/characters/cho/poses/broom/bodyparts/frame/default/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/body/base/front.webp rename to game/characters/cho/poses/broom/bodyparts/frame/default/skin.webp diff --git a/game/characters/cho/poses/broom/clothes/accessory/protectors1/0.webp b/game/characters/cho/poses/broom/clothes/accessory/protectors1/0.webp deleted file mode 100644 index 6fbb7bcc..00000000 --- a/game/characters/cho/poses/broom/clothes/accessory/protectors1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f16469f76fa22ea43a2346407a802434ae02dff4da1c40bec6af146a42feae -size 94 diff --git a/game/characters/cho/poses/broom/clothes/accessory/protectors2/0.webp b/game/characters/cho/poses/broom/clothes/accessory/protectors2/0.webp deleted file mode 100644 index 6fbb7bcc..00000000 --- a/game/characters/cho/poses/broom/clothes/accessory/protectors2/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f16469f76fa22ea43a2346407a802434ae02dff4da1c40bec6af146a42feae -size 94 diff --git a/game/characters/cho/poses/broom/body/armright/snitch.webp b/game/characters/cho/poses/broom/clothes/accessory/snitch_in_hand/extra.webp similarity index 100% rename from game/characters/cho/poses/broom/body/armright/snitch.webp rename to game/characters/cho/poses/broom/clothes/accessory/snitch_in_hand/extra.webp diff --git a/game/characters/cho/poses/broom/clothes/panties/sport_panties_1/0.webp b/game/characters/cho/poses/broom/clothes/panties/sport_panties_2/0.webp similarity index 100% rename from game/characters/cho/poses/broom/clothes/panties/sport_panties_1/0.webp rename to game/characters/cho/poses/broom/clothes/panties/sport_panties_2/0.webp diff --git a/game/characters/cho/poses/broom/clothes/panties/sport_panties_1/outline.webp b/game/characters/cho/poses/broom/clothes/panties/sport_panties_2/outline.webp similarity index 100% rename from game/characters/cho/poses/broom/clothes/panties/sport_panties_1/outline.webp rename to game/characters/cho/poses/broom/clothes/panties/sport_panties_2/outline.webp diff --git a/game/characters/cho/poses/broom/face/cheeks/blush.webp b/game/characters/cho/poses/broom/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/cheeks/blush.webp rename to game/characters/cho/poses/broom/face/cheeks/blush/expression.webp diff --git a/game/characters/cho/poses/broom/face/cheeks/heavy_blush.webp b/game/characters/cho/poses/broom/face/cheeks/heavy_blush/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/cheeks/heavy_blush.webp rename to game/characters/cho/poses/broom/face/cheeks/heavy_blush/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/angry.webp b/game/characters/cho/poses/broom/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/angry.webp rename to game/characters/cho/poses/broom/face/eyebrows/angry/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/angry_skin.webp b/game/characters/cho/poses/broom/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/angry_skin.webp rename to game/characters/cho/poses/broom/face/eyebrows/angry/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/base.webp b/game/characters/cho/poses/broom/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/base.webp rename to game/characters/cho/poses/broom/face/eyebrows/base/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/base_skin.webp b/game/characters/cho/poses/broom/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/base_skin.webp rename to game/characters/cho/poses/broom/face/eyebrows/base/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/raised.webp b/game/characters/cho/poses/broom/face/eyebrows/raised/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/raised.webp rename to game/characters/cho/poses/broom/face/eyebrows/raised/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/raised_skin.webp b/game/characters/cho/poses/broom/face/eyebrows/raised/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/raised_skin.webp rename to game/characters/cho/poses/broom/face/eyebrows/raised/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/worried.webp b/game/characters/cho/poses/broom/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/worried.webp rename to game/characters/cho/poses/broom/face/eyebrows/worried/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyebrows/worried_skin.webp b/game/characters/cho/poses/broom/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyebrows/worried_skin.webp rename to game/characters/cho/poses/broom/face/eyebrows/worried/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyes/base.webp b/game/characters/cho/poses/broom/face/eyes/base/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/base.webp rename to game/characters/cho/poses/broom/face/eyes/base/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyes/base_mask.webp b/game/characters/cho/poses/broom/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/base_mask.webp rename to game/characters/cho/poses/broom/face/eyes/base/eyemask.webp diff --git a/game/characters/cho/poses/broom/face/eyes/base_skin.webp b/game/characters/cho/poses/broom/face/eyes/base/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/base_skin.webp rename to game/characters/cho/poses/broom/face/eyes/base/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyes/closed.webp b/game/characters/cho/poses/broom/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/closed.webp rename to game/characters/cho/poses/broom/face/eyes/closed/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyes/closed_skin.webp b/game/characters/cho/poses/broom/face/eyes/closed/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/closed_skin.webp rename to game/characters/cho/poses/broom/face/eyes/closed/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyes/happyCl.webp b/game/characters/cho/poses/broom/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/happyCl.webp rename to game/characters/cho/poses/broom/face/eyes/happyCl/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyes/happyCl_skin.webp b/game/characters/cho/poses/broom/face/eyes/happyCl/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/happyCl_skin.webp rename to game/characters/cho/poses/broom/face/eyes/happyCl/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyes/narrow.webp b/game/characters/cho/poses/broom/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/narrow.webp rename to game/characters/cho/poses/broom/face/eyes/narrow/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyes/narrow_mask.webp b/game/characters/cho/poses/broom/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/narrow_mask.webp rename to game/characters/cho/poses/broom/face/eyes/narrow/eyemask.webp diff --git a/game/characters/cho/poses/broom/face/eyes/narrow_skin.webp b/game/characters/cho/poses/broom/face/eyes/narrow/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/narrow_skin.webp rename to game/characters/cho/poses/broom/face/eyes/narrow/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyes/wide.webp b/game/characters/cho/poses/broom/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/wide.webp rename to game/characters/cho/poses/broom/face/eyes/wide/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyes/wide_mask.webp b/game/characters/cho/poses/broom/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/wide_mask.webp rename to game/characters/cho/poses/broom/face/eyes/wide/eyemask.webp diff --git a/game/characters/cho/poses/broom/face/eyes/wide_skin.webp b/game/characters/cho/poses/broom/face/eyes/wide/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/wide_skin.webp rename to game/characters/cho/poses/broom/face/eyes/wide/skin.webp diff --git a/game/characters/cho/poses/broom/face/eyes/wink.webp b/game/characters/cho/poses/broom/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/wink.webp rename to game/characters/cho/poses/broom/face/eyes/wink/expression.webp diff --git a/game/characters/cho/poses/broom/face/eyes/wink_mask.webp b/game/characters/cho/poses/broom/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/wink_mask.webp rename to game/characters/cho/poses/broom/face/eyes/wink/eyemask.webp diff --git a/game/characters/cho/poses/broom/face/eyes/wink_skin.webp b/game/characters/cho/poses/broom/face/eyes/wink/skin.webp similarity index 100% rename from game/characters/cho/poses/broom/face/eyes/wink_skin.webp rename to game/characters/cho/poses/broom/face/eyes/wink/skin.webp diff --git a/game/characters/cho/poses/broom/face/mouth/angry.webp b/game/characters/cho/poses/broom/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/angry.webp rename to game/characters/cho/poses/broom/face/mouth/angry/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/annoyed.webp b/game/characters/cho/poses/broom/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/annoyed.webp rename to game/characters/cho/poses/broom/face/mouth/annoyed/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/base.webp b/game/characters/cho/poses/broom/face/mouth/base/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/base.webp rename to game/characters/cho/poses/broom/face/mouth/base/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/clench.webp b/game/characters/cho/poses/broom/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/clench.webp rename to game/characters/cho/poses/broom/face/mouth/clench/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/crooked_smile.webp b/game/characters/cho/poses/broom/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/crooked_smile.webp rename to game/characters/cho/poses/broom/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/disgust.webp b/game/characters/cho/poses/broom/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/disgust.webp rename to game/characters/cho/poses/broom/face/mouth/disgust/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/grin.webp b/game/characters/cho/poses/broom/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/grin.webp rename to game/characters/cho/poses/broom/face/mouth/grin/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/horny.webp b/game/characters/cho/poses/broom/face/mouth/horny/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/horny.webp rename to game/characters/cho/poses/broom/face/mouth/horny/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/mad.webp b/game/characters/cho/poses/broom/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/mad.webp rename to game/characters/cho/poses/broom/face/mouth/mad/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/normal.webp b/game/characters/cho/poses/broom/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/normal.webp rename to game/characters/cho/poses/broom/face/mouth/normal/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/open.webp b/game/characters/cho/poses/broom/face/mouth/open/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/open.webp rename to game/characters/cho/poses/broom/face/mouth/open/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/open_tongue.webp b/game/characters/cho/poses/broom/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/open_tongue.webp rename to game/characters/cho/poses/broom/face/mouth/open_tongue/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/open_wide_tongue.webp b/game/characters/cho/poses/broom/face/mouth/open_wide_tongue/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/open_wide_tongue.webp rename to game/characters/cho/poses/broom/face/mouth/open_wide_tongue/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/pout.webp b/game/characters/cho/poses/broom/face/mouth/pout/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/pout.webp rename to game/characters/cho/poses/broom/face/mouth/pout/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/quiver.webp b/game/characters/cho/poses/broom/face/mouth/quiver/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/quiver.webp rename to game/characters/cho/poses/broom/face/mouth/quiver/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/scream.webp b/game/characters/cho/poses/broom/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/scream.webp rename to game/characters/cho/poses/broom/face/mouth/scream/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/silly.webp b/game/characters/cho/poses/broom/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/silly.webp rename to game/characters/cho/poses/broom/face/mouth/silly/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/smile.webp b/game/characters/cho/poses/broom/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/smile.webp rename to game/characters/cho/poses/broom/face/mouth/smile/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/soft.webp b/game/characters/cho/poses/broom/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/soft.webp rename to game/characters/cho/poses/broom/face/mouth/soft/expression.webp diff --git a/game/characters/cho/poses/broom/face/mouth/upset.webp b/game/characters/cho/poses/broom/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/mouth/upset.webp rename to game/characters/cho/poses/broom/face/mouth/upset/expression.webp diff --git a/game/characters/cho/poses/broom/face/pupils/L.webp b/game/characters/cho/poses/broom/face/pupils/L/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/pupils/L.webp rename to game/characters/cho/poses/broom/face/pupils/L/expression.webp diff --git a/game/characters/cho/poses/broom/face/pupils/R.webp b/game/characters/cho/poses/broom/face/pupils/R/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/pupils/R.webp rename to game/characters/cho/poses/broom/face/pupils/R/expression.webp diff --git a/game/characters/cho/poses/broom/face/pupils/ahegao.webp b/game/characters/cho/poses/broom/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/pupils/ahegao.webp rename to game/characters/cho/poses/broom/face/pupils/ahegao/expression.webp diff --git a/game/characters/cho/poses/broom/face/pupils/down.webp b/game/characters/cho/poses/broom/face/pupils/down/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/pupils/down.webp rename to game/characters/cho/poses/broom/face/pupils/down/expression.webp diff --git a/game/characters/cho/poses/broom/face/pupils/downR.webp b/game/characters/cho/poses/broom/face/pupils/downR/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/pupils/downR.webp rename to game/characters/cho/poses/broom/face/pupils/downR/expression.webp diff --git a/game/characters/cho/poses/broom/face/pupils/mid.webp b/game/characters/cho/poses/broom/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/pupils/mid.webp rename to game/characters/cho/poses/broom/face/pupils/mid/expression.webp diff --git a/game/characters/cho/poses/broom/face/pupils/up.webp b/game/characters/cho/poses/broom/face/pupils/up/expression.webp similarity index 100% rename from game/characters/cho/poses/broom/face/pupils/up.webp rename to game/characters/cho/poses/broom/face/pupils/up/expression.webp diff --git a/game/characters/cho/poses/broom/loadable.webp b/game/characters/cho/poses/broom/loadable.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/cho/poses/broom/loadable.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/cho/poses/default/bodyparts/frame/default/skin.webp b/game/characters/cho/poses/default/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..29f5ee67 --- /dev/null +++ b/game/characters/cho/poses/default/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f6cdc3cedbf0ee2450c140f652f6336608cdf99f81723dcb793bc97bf36b801 +size 62200 diff --git a/game/characters/cho/poses/default/chibi/stand/bodyparts/frame/default/skin.webp b/game/characters/cho/poses/default/chibi/stand/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..c371ccf1 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c6ec1d617cca3fbc225b723b0508eebeacb1f08b2ff222e96c7fff54ceae959 +size 55068 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/bottom/default/overlay.webp b/game/characters/cho/poses/default/chibi/stand/clothes/bottom/default/overlay.webp new file mode 100644 index 00000000..a803a057 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/bottom/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a68b683210f8a060548a4abd49dbaed6497917d25f5feee949c9b8a0b632146f +size 10838 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/bottom/school_skirt_1/0.webp b/game/characters/cho/poses/default/chibi/stand/clothes/bottom/school_skirt_1/0.webp new file mode 100644 index 00000000..a803a057 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/bottom/school_skirt_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a68b683210f8a060548a4abd49dbaed6497917d25f5feee949c9b8a0b632146f +size 10838 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/bra/basic_bra_1/0.webp b/game/characters/cho/poses/default/chibi/stand/clothes/bra/basic_bra_1/0.webp new file mode 100644 index 00000000..43a7c635 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/bra/basic_bra_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183923d268c2a33233ff8a3be265247ac06af3601df359c02d5cbcb6f094d799 +size 6860 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/bra/default/overlay.webp b/game/characters/cho/poses/default/chibi/stand/clothes/bra/default/overlay.webp new file mode 100644 index 00000000..43a7c635 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/bra/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183923d268c2a33233ff8a3be265247ac06af3601df359c02d5cbcb6f094d799 +size 6860 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/footwear/default/overlay.webp b/game/characters/cho/poses/default/chibi/stand/clothes/footwear/default/overlay.webp new file mode 100644 index 00000000..842f54f3 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/footwear/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c320fbda915a6df576f4505eefe470670f562578f1434d9888d8250b643b9d21 +size 4196 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/panties/basic_panties_1/0.webp b/game/characters/cho/poses/default/chibi/stand/clothes/panties/basic_panties_1/0.webp new file mode 100644 index 00000000..0b6d637f --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/panties/basic_panties_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b152dd269de3da1ef6deb4d4fdfd2988bc35f74a4864282b6e37a73a04cd2fd +size 3234 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/panties/default/overlay.webp b/game/characters/cho/poses/default/chibi/stand/clothes/panties/default/overlay.webp new file mode 100644 index 00000000..0b6d637f --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/panties/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b152dd269de3da1ef6deb4d4fdfd2988bc35f74a4864282b6e37a73a04cd2fd +size 3234 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0.webp b/game/characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0.webp new file mode 100644 index 00000000..3eb0b204 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75f2c589fba557847c3529ecd2f0e2393a38c734580a0de305adf54000f2b82 +size 20018 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0_back.webp b/game/characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0_back.webp new file mode 100644 index 00000000..887d07ce --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5996d939aa5eec9040e838de2536c1366b8d4228a46e7b3859c6844b8471f68b +size 9200 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/stockings/house/outline.webp b/game/characters/cho/poses/default/chibi/stand/clothes/stockings/house/outline.webp new file mode 100644 index 00000000..a7e4e37c --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/stockings/house/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08d88ed2df8d780986897692bc31d3c33175160d487c0b10adfc4083490142d9 +size 15932 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/top/default/overlay.webp b/game/characters/cho/poses/default/chibi/stand/clothes/top/default/overlay.webp new file mode 100644 index 00000000..d5722c03 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/top/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:353cae5ae13f2ef4d5b655fb3aac15c94a2b1a03fe7958afd0f07539b516efa4 +size 18626 diff --git a/game/characters/cho/poses/default/chibi/stand/clothes/top/top_school_1/outline.webp b/game/characters/cho/poses/default/chibi/stand/clothes/top/top_school_1/outline.webp new file mode 100644 index 00000000..d5722c03 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/stand/clothes/top/top_school_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:353cae5ae13f2ef4d5b655fb3aac15c94a2b1a03fe7958afd0f07539b516efa4 +size 18626 diff --git a/game/characters/cho/poses/default/chibi/walk/bodyparts/frame/default/skin.webp b/game/characters/cho/poses/default/chibi/walk/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..224f2da0 --- /dev/null +++ b/game/characters/cho/poses/default/chibi/walk/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693a1cd1cf74969c587b006bc74e733556c862a3996df9e47259215da98fcd5d +size 389014 diff --git a/game/characters/cho/clothes/accessory/body_wrap/0.webp b/game/characters/cho/poses/default/clothes/accessory/body_wrap/0.webp similarity index 100% rename from game/characters/cho/clothes/accessory/body_wrap/0.webp rename to game/characters/cho/poses/default/clothes/accessory/body_wrap/0.webp diff --git a/game/characters/cho/clothes/accessory/body_wrap/outline.webp b/game/characters/cho/poses/default/clothes/accessory/body_wrap/outline.webp similarity index 100% rename from game/characters/cho/clothes/accessory/body_wrap/outline.webp rename to game/characters/cho/poses/default/clothes/accessory/body_wrap/outline.webp diff --git a/game/characters/cho/clothes/accessory/chun_li_shoulders/0.webp b/game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/0.webp similarity index 100% rename from game/characters/cho/clothes/accessory/chun_li_shoulders/0.webp rename to game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/0.webp diff --git a/game/characters/cho/clothes/accessory/chun_li_shoulders/1.webp b/game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/1.webp similarity index 100% rename from game/characters/cho/clothes/accessory/chun_li_shoulders/1.webp rename to game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/1.webp diff --git a/game/characters/cho/clothes/accessory/chun_li_shoulders/extra.webp b/game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/extra.webp similarity index 100% rename from game/characters/cho/clothes/accessory/chun_li_shoulders/extra.webp rename to game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/extra.webp diff --git a/game/characters/cho/clothes/accessory/chun_li_shoulders/outline.webp b/game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/outline.webp similarity index 100% rename from game/characters/cho/clothes/accessory/chun_li_shoulders/outline.webp rename to game/characters/cho/poses/default/clothes/accessory/chun_li_shoulders/outline.webp diff --git a/game/characters/cho/poses/default/clothes/accessory/mistletoe/0.webp b/game/characters/cho/poses/default/clothes/accessory/mistletoe/0.webp new file mode 100644 index 00000000..be042cb3 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/accessory/mistletoe/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35eb057ec687645a1d35616dc8464a56f0b1080f69f87e74b693b3a836816fef +size 1986 diff --git a/game/characters/cho/poses/default/clothes/accessory/mistletoe/extra.webp b/game/characters/cho/poses/default/clothes/accessory/mistletoe/extra.webp new file mode 100644 index 00000000..61f62cf0 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/accessory/mistletoe/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2042a2fd3d15c9d4e9ccc8cd6e5ee889a5fa7064d3ba45a5049326ae4c46a3dc +size 2584 diff --git a/game/characters/cho/poses/default/clothes/accessory/mistletoe/outline.webp b/game/characters/cho/poses/default/clothes/accessory/mistletoe/outline.webp new file mode 100644 index 00000000..77502413 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/accessory/mistletoe/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8abd5cab66e51b9a7aa598c032e609a30aa333a8ea1869e84dd255464370dd17 +size 2366 diff --git a/game/characters/cho/clothes/accessory/panties_in_hand/0.webp b/game/characters/cho/poses/default/clothes/accessory/panties_in_hand/0.webp similarity index 100% rename from game/characters/cho/clothes/accessory/panties_in_hand/0.webp rename to game/characters/cho/poses/default/clothes/accessory/panties_in_hand/0.webp diff --git a/game/characters/cho/clothes/accessory/panties_in_hand/outline.webp b/game/characters/cho/poses/default/clothes/accessory/panties_in_hand/outline.webp similarity index 100% rename from game/characters/cho/clothes/accessory/panties_in_hand/outline.webp rename to game/characters/cho/poses/default/clothes/accessory/panties_in_hand/outline.webp diff --git a/game/characters/cho/clothes/accessory/suspenders/0.webp b/game/characters/cho/poses/default/clothes/accessory/suspenders/0.webp similarity index 100% rename from game/characters/cho/clothes/accessory/suspenders/0.webp rename to game/characters/cho/poses/default/clothes/accessory/suspenders/0.webp diff --git a/game/characters/cho/clothes/accessory/suspenders/1.webp b/game/characters/cho/poses/default/clothes/accessory/suspenders/1.webp similarity index 100% rename from game/characters/cho/clothes/accessory/suspenders/1.webp rename to game/characters/cho/poses/default/clothes/accessory/suspenders/1.webp diff --git a/game/characters/cho/clothes/accessory/suspenders/outline.webp b/game/characters/cho/poses/default/clothes/accessory/suspenders/outline.webp similarity index 100% rename from game/characters/cho/clothes/accessory/suspenders/outline.webp rename to game/characters/cho/poses/default/clothes/accessory/suspenders/outline.webp diff --git a/game/characters/cho/clothes/bottom/j_school_skirt_1/0.webp b/game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/j_school_skirt_1/0.webp rename to game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/0.webp diff --git a/game/characters/cho/body/armleft/down_fix.webp b/game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/armfix.webp similarity index 100% rename from game/characters/cho/body/armleft/down_fix.webp rename to game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/armfix.webp diff --git a/game/characters/cho/clothes/bottom/j_school_skirt_1/outline.webp b/game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/j_school_skirt_1/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/outline.webp diff --git a/game/characters/cho/clothes/bottom/j_school_skirt_1/skin.webp b/game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/bottom/j_school_skirt_1/skin.webp rename to game/characters/cho/poses/default/clothes/bottom/j_school_skirt_1/skin.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/0.webp b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/0.webp new file mode 100644 index 00000000..9a255412 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:019e47b817a3f48d9686a36b3e913f4287aeca02990c0ea0064ef7e8b4e2cded +size 14122 diff --git a/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/1.webp b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/1.webp new file mode 100644 index 00000000..a64a2df9 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8da870ab8997601a3fcb22e84d940439ab35729b82f0e0924ad0cb1d243cfbd6 +size 610 diff --git a/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/extra.webp b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/extra.webp new file mode 100644 index 00000000..beb69b90 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f4c7ec73fb37f4f3cd14b94e88b468d33a47515dacf5d3a101115bbe7b569cc +size 1040 diff --git a/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/outline.webp b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/outline.webp new file mode 100644 index 00000000..61048ad8 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/jeans_long_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83457fde06a8ad540cce5a95d9158014cdf8d0e892a27c148e3fe6b371b7965d +size 13252 diff --git a/game/characters/cho/clothes/bottom/pants_long_1/0.webp b/game/characters/cho/poses/default/clothes/bottom/pants_long_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_long_1/0.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_long_1/0.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/pants_long_1/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/pants_long_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/pants_long_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/pants_long_1/outline.webp b/game/characters/cho/poses/default/clothes/bottom/pants_long_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_long_1/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_long_1/outline.webp diff --git a/game/characters/cho/clothes/bottom/pants_long_2/0.webp b/game/characters/cho/poses/default/clothes/bottom/pants_long_2/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_long_2/0.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_long_2/0.webp diff --git a/game/characters/cho/clothes/bottom/pants_long_2/1.webp b/game/characters/cho/poses/default/clothes/bottom/pants_long_2/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_long_2/1.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_long_2/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/pants_long_2/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/pants_long_2/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/pants_long_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/pants_long_2/outline.webp b/game/characters/cho/poses/default/clothes/bottom/pants_long_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_long_2/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_long_2/outline.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_1/0.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_1/0.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_1/0.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/pants_short_1/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/pants_short_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/pants_short_1/outline.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_1/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_1/outline.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_2/0.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_2/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_2/0.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_2/0.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_2/1.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_2/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_2/1.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_2/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/pants_short_2/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_2/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/pants_short_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/pants_short_2/extra.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_2/extra.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_2/extra.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_2/extra.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_2/outline.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_2/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_2/outline.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_2/skin.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_2/skin.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_2/skin.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_2/skin.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_3/0.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_3/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_3/0.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_3/0.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_3/1.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_3/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_3/1.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_3/1.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_3/2.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_3/2.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_3/2.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_3/2.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/pants_short_3/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_3/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/pants_short_3/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/pants_short_3/outline.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_3/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_3/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_3/outline.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_4/0.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_4/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_4/0.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_4/0.webp diff --git a/game/characters/cho/clothes/bottom/pants_short_4/1.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_4/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_4/1.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_4/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/pants_short_4/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_4/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/pants_short_4/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/pants_short_4/outline.webp b/game/characters/cho/poses/default/clothes/bottom/pants_short_4/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/pants_short_4/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/pants_short_4/outline.webp diff --git a/game/characters/cho/clothes/bottom/police_skirt/0.webp b/game/characters/cho/poses/default/clothes/bottom/police_skirt/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/police_skirt/0.webp rename to game/characters/cho/poses/default/clothes/bottom/police_skirt/0.webp diff --git a/game/characters/cho/clothes/bottom/police_skirt/1.webp b/game/characters/cho/poses/default/clothes/bottom/police_skirt/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/police_skirt/1.webp rename to game/characters/cho/poses/default/clothes/bottom/police_skirt/1.webp diff --git a/game/characters/cho/clothes/bottom/police_skirt/2.webp b/game/characters/cho/poses/default/clothes/bottom/police_skirt/2.webp similarity index 100% rename from game/characters/cho/clothes/bottom/police_skirt/2.webp rename to game/characters/cho/poses/default/clothes/bottom/police_skirt/2.webp diff --git a/game/characters/cho/clothes/bottom/police_skirt/3.webp b/game/characters/cho/poses/default/clothes/bottom/police_skirt/3.webp similarity index 100% rename from game/characters/cho/clothes/bottom/police_skirt/3.webp rename to game/characters/cho/poses/default/clothes/bottom/police_skirt/3.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/police_skirt/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/police_skirt/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/police_skirt/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/police_skirt/outline.webp b/game/characters/cho/poses/default/clothes/bottom/police_skirt/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/police_skirt/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/police_skirt/outline.webp diff --git a/game/characters/cho/clothes/bottom/police_skirt/skin.webp b/game/characters/cho/poses/default/clothes/bottom/police_skirt/skin.webp similarity index 100% rename from game/characters/cho/clothes/bottom/police_skirt/skin.webp rename to game/characters/cho/poses/default/clothes/bottom/police_skirt/skin.webp diff --git a/game/characters/cho/clothes/bottom/quid_skirt_1/0.webp b/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/quid_skirt_1/0.webp rename to game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/0.webp diff --git a/game/characters/cho/clothes/bottom/quid_skirt_1/1.webp b/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/quid_skirt_1/1.webp rename to game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/quid_skirt_1/extra.webp b/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/bottom/quid_skirt_1/extra.webp rename to game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/extra.webp diff --git a/game/characters/cho/clothes/bottom/quid_skirt_1/outline.webp b/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/quid_skirt_1/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/outline.webp diff --git a/game/characters/cho/clothes/bottom/quid_skirt_1/skin.webp b/game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/bottom/quid_skirt_1/skin.webp rename to game/characters/cho/poses/default/clothes/bottom/quid_skirt_1/skin.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_1/0.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_1/0.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_1/0.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_1/1.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_1/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_1/1.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_1/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/school_skirt_1/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/school_skirt_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/school_skirt_1/outline.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_1/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_1/outline.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_2/0.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_2/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_2/0.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_2/0.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_2/1.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_2/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_2/1.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_2/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/school_skirt_2/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_2/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/school_skirt_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/school_skirt_2/outline.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_2/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_2/outline.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_3/0.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_3/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_3/0.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_3/0.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_3/1.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_3/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_3/1.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_3/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/school_skirt_3/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_3/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/school_skirt_3/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/school_skirt_3/outline.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_3/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_3/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_3/outline.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_4/0.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_4/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_4/0.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_4/0.webp diff --git a/game/characters/cho/clothes/bottom/school_skirt_4/1.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_4/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_4/1.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_4/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/school_skirt_4/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_4/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/school_skirt_4/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/school_skirt_4/outline.webp b/game/characters/cho/poses/default/clothes/bottom/school_skirt_4/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/school_skirt_4/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/school_skirt_4/outline.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/0.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/0.webp new file mode 100644 index 00000000..133938cb --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:244d69800979df0bd4506777b23720e21585f4339e1af1311757c3edacfc092d +size 14096 diff --git a/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/1.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/1.webp new file mode 100644 index 00000000..48713bc5 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:278f00ca31f7d93e5a7648e1a2bb373c8e69c694bf577fdfa9c7802a81a5d62f +size 18612 diff --git a/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/extra.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/extra.webp new file mode 100644 index 00000000..d51bb111 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8edb405c8dd58c326cdb4120f48ed0bc027a50a232727ea925a115c2d289dc80 +size 3632 diff --git a/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/outline.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/outline.webp new file mode 100644 index 00000000..7e9b74e2 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/skirt_chun_li/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:683ae8954ed9b3d8a811e6b4eeea293271a719bc027e51577bcc75f661a1f972 +size 20150 diff --git a/game/characters/cho/clothes/bottom/skirt_short_1/0.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_short_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/skirt_short_1/0.webp rename to game/characters/cho/poses/default/clothes/bottom/skirt_short_1/0.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/skirt_short_1/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_short_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/skirt_short_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/skirt_short_1/outline.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_short_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/skirt_short_1/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/skirt_short_1/outline.webp diff --git a/game/characters/cho/clothes/bottom/skirt_short_2/0.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_short_2/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/skirt_short_2/0.webp rename to game/characters/cho/poses/default/clothes/bottom/skirt_short_2/0.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/skirt_short_2/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_short_2/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/skirt_short_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/skirt_short_2/outline.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_short_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/skirt_short_2/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/skirt_short_2/outline.webp diff --git a/game/characters/cho/clothes/bottom/skirt_short_2/skin.webp b/game/characters/cho/poses/default/clothes/bottom/skirt_short_2/skin.webp similarity index 100% rename from game/characters/cho/clothes/bottom/skirt_short_2/skin.webp rename to game/characters/cho/poses/default/clothes/bottom/skirt_short_2/skin.webp diff --git a/game/characters/cho/clothes/bottom/toon_shorts/0.webp b/game/characters/cho/poses/default/clothes/bottom/toon_shorts/0.webp similarity index 100% rename from game/characters/cho/clothes/bottom/toon_shorts/0.webp rename to game/characters/cho/poses/default/clothes/bottom/toon_shorts/0.webp diff --git a/game/characters/cho/clothes/bottom/toon_shorts/1.webp b/game/characters/cho/poses/default/clothes/bottom/toon_shorts/1.webp similarity index 100% rename from game/characters/cho/clothes/bottom/toon_shorts/1.webp rename to game/characters/cho/poses/default/clothes/bottom/toon_shorts/1.webp diff --git a/game/characters/cho/poses/default/clothes/bottom/toon_shorts/armfix.webp b/game/characters/cho/poses/default/clothes/bottom/toon_shorts/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bottom/toon_shorts/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/bottom/toon_shorts/outline.webp b/game/characters/cho/poses/default/clothes/bottom/toon_shorts/outline.webp similarity index 100% rename from game/characters/cho/clothes/bottom/toon_shorts/outline.webp rename to game/characters/cho/poses/default/clothes/bottom/toon_shorts/outline.webp diff --git a/game/characters/cho/clothes/bottom/toon_shorts/skin.webp b/game/characters/cho/poses/default/clothes/bottom/toon_shorts/skin.webp similarity index 100% rename from game/characters/cho/clothes/bottom/toon_shorts/skin.webp rename to game/characters/cho/poses/default/clothes/bottom/toon_shorts/skin.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_1/0.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_1/0.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_1/0.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_1/1.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_1/1.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_1/1.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_1/1.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_1/extra.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_1/extra.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_1/extra.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_1/outline.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_1/outline.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_1/outline.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_1/skin.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_1/skin.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_1/skin.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_2/0.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_2/0.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_2/0.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_2/0.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_2/1.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_2/1.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_2/1.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_2/1.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_2/2.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_2/2.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_2/2.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_2/2.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_2/outline.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_2/outline.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_2/outline.webp diff --git a/game/characters/cho/clothes/bra/basic_bra_2/skin.webp b/game/characters/cho/poses/default/clothes/bra/basic_bra_2/skin.webp similarity index 100% rename from game/characters/cho/clothes/bra/basic_bra_2/skin.webp rename to game/characters/cho/poses/default/clothes/bra/basic_bra_2/skin.webp diff --git a/game/characters/cho/clothes/bra/bikini_top_1/0.webp b/game/characters/cho/poses/default/clothes/bra/bikini_top_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bra/bikini_top_1/0.webp rename to game/characters/cho/poses/default/clothes/bra/bikini_top_1/0.webp diff --git a/game/characters/cho/clothes/bra/bikini_top_1/extra.webp b/game/characters/cho/poses/default/clothes/bra/bikini_top_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/bra/bikini_top_1/extra.webp rename to game/characters/cho/poses/default/clothes/bra/bikini_top_1/extra.webp diff --git a/game/characters/cho/clothes/bra/bikini_top_1/outline.webp b/game/characters/cho/poses/default/clothes/bra/bikini_top_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bra/bikini_top_1/outline.webp rename to game/characters/cho/poses/default/clothes/bra/bikini_top_1/outline.webp diff --git a/game/characters/cho/clothes/bra/bikini_top_1/skin.webp b/game/characters/cho/poses/default/clothes/bra/bikini_top_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/bra/bikini_top_1/skin.webp rename to game/characters/cho/poses/default/clothes/bra/bikini_top_1/skin.webp diff --git a/game/characters/cho/clothes/bra/bikini_top_2/0.webp b/game/characters/cho/poses/default/clothes/bra/bikini_top_2/0.webp similarity index 100% rename from game/characters/cho/clothes/bra/bikini_top_2/0.webp rename to game/characters/cho/poses/default/clothes/bra/bikini_top_2/0.webp diff --git a/game/characters/cho/clothes/bra/bikini_top_2/outline.webp b/game/characters/cho/poses/default/clothes/bra/bikini_top_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/bra/bikini_top_2/outline.webp rename to game/characters/cho/poses/default/clothes/bra/bikini_top_2/outline.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_1/0.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_1/0.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_1/0.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_1/1.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_1/1.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_1/1.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_1/1.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_1/2.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_1/2.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_1/2.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_1/2.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_1/outline.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_1/outline.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_1/outline.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_1/skin.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_1/skin.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_1/skin.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_2/0.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_2/0.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_2/0.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_2/0.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_2/1.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_2/1.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_2/1.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_2/1.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_2/2.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_2/2.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_2/2.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_2/2.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_2/3.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_2/3.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_2/3.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_2/3.webp diff --git a/game/characters/cho/clothes/bra/lace_bra_2/outline.webp b/game/characters/cho/poses/default/clothes/bra/lace_bra_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/bra/lace_bra_2/outline.webp rename to game/characters/cho/poses/default/clothes/bra/lace_bra_2/outline.webp diff --git a/game/characters/cho/poses/default/clothes/bra/padding_bra_1/0.webp b/game/characters/cho/poses/default/clothes/bra/padding_bra_1/0.webp new file mode 100644 index 00000000..f04cd342 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bra/padding_bra_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6e8e2b5ccf7bb2792b488b390da8bc96908d82a9a501af11abdd72a77b40882 +size 2470 diff --git a/game/characters/cho/poses/default/clothes/bra/padding_bra_1/outline.webp b/game/characters/cho/poses/default/clothes/bra/padding_bra_1/outline.webp new file mode 100644 index 00000000..73d71549 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bra/padding_bra_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92c75d021ae3b9f01434931b282911a2a8afea97a1cc4402976cb14463230af9 +size 3110 diff --git a/game/characters/cho/clothes/bra/sport_bra_1/0.webp b/game/characters/cho/poses/default/clothes/bra/sport_bra_1/0.webp similarity index 100% rename from game/characters/cho/clothes/bra/sport_bra_1/0.webp rename to game/characters/cho/poses/default/clothes/bra/sport_bra_1/0.webp diff --git a/game/characters/cho/clothes/bra/sport_bra_1/extra.webp b/game/characters/cho/poses/default/clothes/bra/sport_bra_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/bra/sport_bra_1/extra.webp rename to game/characters/cho/poses/default/clothes/bra/sport_bra_1/extra.webp diff --git a/game/characters/cho/clothes/bra/sport_bra_1/outline.webp b/game/characters/cho/poses/default/clothes/bra/sport_bra_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/bra/sport_bra_1/outline.webp rename to game/characters/cho/poses/default/clothes/bra/sport_bra_1/outline.webp diff --git a/game/characters/cho/clothes/bra/sport_bra_1/skin.webp b/game/characters/cho/poses/default/clothes/bra/sport_bra_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/bra/sport_bra_1/skin.webp rename to game/characters/cho/poses/default/clothes/bra/sport_bra_1/skin.webp diff --git a/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/0.webp b/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/0.webp new file mode 100644 index 00000000..a29fdc2d --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59cef8e32968b2ea1a7ce9250f9e9be9b30cd16fde9554a2aefb215cc72bdfa8 +size 8496 diff --git a/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/outline.webp b/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/outline.webp new file mode 100644 index 00000000..d8241a60 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9ff75f4beb1c82beef2784fab269d99098d5b961f9cb02960cf4c2fdc50a359 +size 11680 diff --git a/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/skin.webp b/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/skin.webp new file mode 100644 index 00000000..a1dba57b --- /dev/null +++ b/game/characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3710203648b63f036ca9b53f10e297fa81896314084f4e1c614f495f4f0274b0 +size 5146 diff --git a/game/characters/cho/clothes/earrings/basic/0.webp b/game/characters/cho/poses/default/clothes/earrings/basic/0.webp similarity index 100% rename from game/characters/cho/clothes/earrings/basic/0.webp rename to game/characters/cho/poses/default/clothes/earrings/basic/0.webp diff --git a/game/characters/cho/clothes/earrings/basic/outline.webp b/game/characters/cho/poses/default/clothes/earrings/basic/outline.webp similarity index 100% rename from game/characters/cho/clothes/earrings/basic/outline.webp rename to game/characters/cho/poses/default/clothes/earrings/basic/outline.webp diff --git a/game/characters/cho/clothes/earrings/feather/0.webp b/game/characters/cho/poses/default/clothes/earrings/feather/0.webp similarity index 100% rename from game/characters/cho/clothes/earrings/feather/0.webp rename to game/characters/cho/poses/default/clothes/earrings/feather/0.webp diff --git a/game/characters/cho/clothes/earrings/feather/1.webp b/game/characters/cho/poses/default/clothes/earrings/feather/1.webp similarity index 100% rename from game/characters/cho/clothes/earrings/feather/1.webp rename to game/characters/cho/poses/default/clothes/earrings/feather/1.webp diff --git a/game/characters/cho/clothes/earrings/feather/2.webp b/game/characters/cho/poses/default/clothes/earrings/feather/2.webp similarity index 100% rename from game/characters/cho/clothes/earrings/feather/2.webp rename to game/characters/cho/poses/default/clothes/earrings/feather/2.webp diff --git a/game/characters/cho/clothes/earrings/feather/outline.webp b/game/characters/cho/poses/default/clothes/earrings/feather/outline.webp similarity index 100% rename from game/characters/cho/clothes/earrings/feather/outline.webp rename to game/characters/cho/poses/default/clothes/earrings/feather/outline.webp diff --git a/game/characters/cho/clothes/earrings/snitch/0.webp b/game/characters/cho/poses/default/clothes/earrings/snitch/0.webp similarity index 100% rename from game/characters/cho/clothes/earrings/snitch/0.webp rename to game/characters/cho/poses/default/clothes/earrings/snitch/0.webp diff --git a/game/characters/cho/clothes/earrings/snitch/1.webp b/game/characters/cho/poses/default/clothes/earrings/snitch/1.webp similarity index 100% rename from game/characters/cho/clothes/earrings/snitch/1.webp rename to game/characters/cho/poses/default/clothes/earrings/snitch/1.webp diff --git a/game/characters/cho/clothes/earrings/snitch/extra.webp b/game/characters/cho/poses/default/clothes/earrings/snitch/extra.webp similarity index 100% rename from game/characters/cho/clothes/earrings/snitch/extra.webp rename to game/characters/cho/poses/default/clothes/earrings/snitch/extra.webp diff --git a/game/characters/cho/clothes/earrings/snitch/outline.webp b/game/characters/cho/poses/default/clothes/earrings/snitch/outline.webp similarity index 100% rename from game/characters/cho/clothes/earrings/snitch/outline.webp rename to game/characters/cho/poses/default/clothes/earrings/snitch/outline.webp diff --git a/game/characters/cho/clothes/garterbelt/lace_garter_1/0.webp b/game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/0.webp similarity index 100% rename from game/characters/cho/clothes/garterbelt/lace_garter_1/0.webp rename to game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/0.webp diff --git a/game/characters/cho/clothes/garterbelt/lace_garter_1/1.webp b/game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/1.webp similarity index 100% rename from game/characters/cho/clothes/garterbelt/lace_garter_1/1.webp rename to game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/1.webp diff --git a/game/characters/cho/clothes/garterbelt/lace_garter_1/2.webp b/game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/2.webp similarity index 100% rename from game/characters/cho/clothes/garterbelt/lace_garter_1/2.webp rename to game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/2.webp diff --git a/game/characters/cho/clothes/garterbelt/lace_garter_1/3.webp b/game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/3.webp similarity index 100% rename from game/characters/cho/clothes/garterbelt/lace_garter_1/3.webp rename to game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/3.webp diff --git a/game/characters/cho/clothes/garterbelt/lace_garter_1/outline.webp b/game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/garterbelt/lace_garter_1/outline.webp rename to game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/outline.webp diff --git a/game/characters/cho/clothes/garterbelt/lace_garter_1/skin.webp b/game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/garterbelt/lace_garter_1/skin.webp rename to game/characters/cho/poses/default/clothes/garterbelt/lace_garter_1/skin.webp diff --git a/game/characters/cho/clothes/glasses/aviators/0.webp b/game/characters/cho/poses/default/clothes/glasses/aviators/0.webp similarity index 100% rename from game/characters/cho/clothes/glasses/aviators/0.webp rename to game/characters/cho/poses/default/clothes/glasses/aviators/0.webp diff --git a/game/characters/cho/clothes/glasses/aviators/1.webp b/game/characters/cho/poses/default/clothes/glasses/aviators/1.webp similarity index 100% rename from game/characters/cho/clothes/glasses/aviators/1.webp rename to game/characters/cho/poses/default/clothes/glasses/aviators/1.webp diff --git a/game/characters/cho/clothes/glasses/aviators/outline.webp b/game/characters/cho/poses/default/clothes/glasses/aviators/outline.webp similarity index 100% rename from game/characters/cho/clothes/glasses/aviators/outline.webp rename to game/characters/cho/poses/default/clothes/glasses/aviators/outline.webp diff --git a/game/characters/cho/clothes/glasses/glasses1/0.webp b/game/characters/cho/poses/default/clothes/glasses/glasses1/0.webp similarity index 100% rename from game/characters/cho/clothes/glasses/glasses1/0.webp rename to game/characters/cho/poses/default/clothes/glasses/glasses1/0.webp diff --git a/game/characters/cho/clothes/glasses/glasses1/extra.webp b/game/characters/cho/poses/default/clothes/glasses/glasses1/extra.webp similarity index 100% rename from game/characters/cho/clothes/glasses/glasses1/extra.webp rename to game/characters/cho/poses/default/clothes/glasses/glasses1/extra.webp diff --git a/game/characters/cho/clothes/glasses/glasses1/outline.webp b/game/characters/cho/poses/default/clothes/glasses/glasses1/outline.webp similarity index 100% rename from game/characters/cho/clothes/glasses/glasses1/outline.webp rename to game/characters/cho/poses/default/clothes/glasses/glasses1/outline.webp diff --git a/game/characters/cho/clothes/glasses/goggles/0.webp b/game/characters/cho/poses/default/clothes/glasses/goggles/0.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles/0.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles/0.webp diff --git a/game/characters/cho/clothes/glasses/goggles/1.webp b/game/characters/cho/poses/default/clothes/glasses/goggles/1.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles/1.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles/1.webp diff --git a/game/characters/cho/clothes/glasses/goggles/extra.webp b/game/characters/cho/poses/default/clothes/glasses/goggles/extra.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles/extra.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles/extra.webp diff --git a/game/characters/cho/clothes/glasses/goggles/outline.webp b/game/characters/cho/poses/default/clothes/glasses/goggles/outline.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles/outline.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles/outline.webp diff --git a/game/characters/cho/clothes/glasses/goggles/skin.webp b/game/characters/cho/poses/default/clothes/glasses/goggles/skin.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles/skin.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles/skin.webp diff --git a/game/characters/cho/clothes/glasses/goggles_face/0.webp b/game/characters/cho/poses/default/clothes/glasses/goggles_face/0.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles_face/0.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles_face/0.webp diff --git a/game/characters/cho/clothes/glasses/goggles_face/1.webp b/game/characters/cho/poses/default/clothes/glasses/goggles_face/1.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles_face/1.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles_face/1.webp diff --git a/game/characters/cho/clothes/glasses/goggles_face/extra.webp b/game/characters/cho/poses/default/clothes/glasses/goggles_face/extra.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles_face/extra.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles_face/extra.webp diff --git a/game/characters/cho/clothes/glasses/goggles_face/outline.webp b/game/characters/cho/poses/default/clothes/glasses/goggles_face/outline.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles_face/outline.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles_face/outline.webp diff --git a/game/characters/cho/clothes/glasses/goggles_face/skin.webp b/game/characters/cho/poses/default/clothes/glasses/goggles_face/skin.webp similarity index 100% rename from game/characters/cho/clothes/glasses/goggles_face/skin.webp rename to game/characters/cho/poses/default/clothes/glasses/goggles_face/skin.webp diff --git a/game/characters/cho/clothes/gloves/quidditch/0.webp b/game/characters/cho/poses/default/clothes/gloves/quidditch/0.webp similarity index 100% rename from game/characters/cho/clothes/gloves/quidditch/0.webp rename to game/characters/cho/poses/default/clothes/gloves/quidditch/0.webp diff --git a/game/characters/cho/clothes/gloves/quidditch/0_front.webp b/game/characters/cho/poses/default/clothes/gloves/quidditch/0_front.webp similarity index 100% rename from game/characters/cho/clothes/gloves/quidditch/0_front.webp rename to game/characters/cho/poses/default/clothes/gloves/quidditch/0_front.webp diff --git a/game/characters/cho/clothes/gloves/quidditch/extra.webp b/game/characters/cho/poses/default/clothes/gloves/quidditch/extra.webp similarity index 100% rename from game/characters/cho/clothes/gloves/quidditch/extra.webp rename to game/characters/cho/poses/default/clothes/gloves/quidditch/extra.webp diff --git a/game/characters/cho/clothes/gloves/quidditch/outline.webp b/game/characters/cho/poses/default/clothes/gloves/quidditch/outline.webp similarity index 100% rename from game/characters/cho/clothes/gloves/quidditch/outline.webp rename to game/characters/cho/poses/default/clothes/gloves/quidditch/outline.webp diff --git a/game/characters/cho/clothes/gloves/quidditch/outline_front.webp b/game/characters/cho/poses/default/clothes/gloves/quidditch/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/gloves/quidditch/outline_front.webp rename to game/characters/cho/poses/default/clothes/gloves/quidditch/outline_front.webp diff --git a/game/characters/cho/clothes/hair/pigtails/0.webp b/game/characters/cho/poses/default/clothes/hair/pigtails/0.webp similarity index 100% rename from game/characters/cho/clothes/hair/pigtails/0.webp rename to game/characters/cho/poses/default/clothes/hair/pigtails/0.webp diff --git a/game/characters/cho/clothes/hair/pigtails/1.webp b/game/characters/cho/poses/default/clothes/hair/pigtails/1.webp similarity index 100% rename from game/characters/cho/clothes/hair/pigtails/1.webp rename to game/characters/cho/poses/default/clothes/hair/pigtails/1.webp diff --git a/game/characters/cho/clothes/hair/pigtails/2.webp b/game/characters/cho/poses/default/clothes/hair/pigtails/2.webp similarity index 100% rename from game/characters/cho/clothes/hair/pigtails/2.webp rename to game/characters/cho/poses/default/clothes/hair/pigtails/2.webp diff --git a/game/characters/cho/clothes/hair/pigtails/outline.webp b/game/characters/cho/poses/default/clothes/hair/pigtails/outline.webp similarity index 100% rename from game/characters/cho/clothes/hair/pigtails/outline.webp rename to game/characters/cho/poses/default/clothes/hair/pigtails/outline.webp diff --git a/game/characters/cho/clothes/hair/pigtails/skin.webp b/game/characters/cho/poses/default/clothes/hair/pigtails/skin.webp similarity index 100% rename from game/characters/cho/clothes/hair/pigtails/skin.webp rename to game/characters/cho/poses/default/clothes/hair/pigtails/skin.webp diff --git a/game/characters/cho/poses/default/clothes/hair/ponytail/0.webp b/game/characters/cho/poses/default/clothes/hair/ponytail/0.webp new file mode 100644 index 00000000..78478d5f --- /dev/null +++ b/game/characters/cho/poses/default/clothes/hair/ponytail/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f96581f4ca242f1b9de98b283bc65b643e43407eaba82e3d1d89b7de9a7dc5e +size 3912 diff --git a/game/characters/cho/poses/default/clothes/hair/ponytail/0_back.webp b/game/characters/cho/poses/default/clothes/hair/ponytail/0_back.webp new file mode 100644 index 00000000..a169ea85 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/hair/ponytail/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5eefc0d596f8d8311b58bb4b012822edd3b1c5dfbc6bc9d3552d4221fb329c6 +size 2556 diff --git a/game/characters/cho/poses/default/clothes/hair/ponytail/1.webp b/game/characters/cho/poses/default/clothes/hair/ponytail/1.webp new file mode 100644 index 00000000..fffa7aab --- /dev/null +++ b/game/characters/cho/poses/default/clothes/hair/ponytail/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87cd99b430d4e508c7cb3c28576ac7bcc92410c4aa1904372f853efda5fa3bf9 +size 5710 diff --git a/game/characters/cho/poses/default/clothes/hair/ponytail/1_back.webp b/game/characters/cho/poses/default/clothes/hair/ponytail/1_back.webp new file mode 100644 index 00000000..c31ea7ac --- /dev/null +++ b/game/characters/cho/poses/default/clothes/hair/ponytail/1_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24f51494257fc0b0cb8760a04277a0f1fa3661f01b3ba5026ff4ec4f108caa7c +size 8084 diff --git a/game/characters/cho/poses/default/clothes/hair/ponytail/outline.webp b/game/characters/cho/poses/default/clothes/hair/ponytail/outline.webp new file mode 100644 index 00000000..8aea23cb --- /dev/null +++ b/game/characters/cho/poses/default/clothes/hair/ponytail/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e706e27552eb2f84a4a65be7ff96a54122979d146833fae42beff45df656b82 +size 9536 diff --git a/game/characters/cho/poses/default/clothes/hair/ponytail/outline_back.webp b/game/characters/cho/poses/default/clothes/hair/ponytail/outline_back.webp new file mode 100644 index 00000000..08852cc6 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/hair/ponytail/outline_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78b2ee84a8008eb05f04925013c494fce5aa705eab046825ed7996fb83e3d16f +size 9740 diff --git a/game/characters/cho/clothes/hair/ponytail/skin.webp b/game/characters/cho/poses/default/clothes/hair/ponytail/skin.webp similarity index 100% rename from game/characters/cho/clothes/hair/ponytail/skin.webp rename to game/characters/cho/poses/default/clothes/hair/ponytail/skin.webp diff --git a/game/characters/cho/clothes/hair/smurfette/0.webp b/game/characters/cho/poses/default/clothes/hair/smurfette/0.webp similarity index 100% rename from game/characters/cho/clothes/hair/smurfette/0.webp rename to game/characters/cho/poses/default/clothes/hair/smurfette/0.webp diff --git a/game/characters/cho/clothes/hair/smurfette/0_back.webp b/game/characters/cho/poses/default/clothes/hair/smurfette/0_back.webp similarity index 100% rename from game/characters/cho/clothes/hair/smurfette/0_back.webp rename to game/characters/cho/poses/default/clothes/hair/smurfette/0_back.webp diff --git a/game/characters/cho/clothes/hair/smurfette/1.webp b/game/characters/cho/poses/default/clothes/hair/smurfette/1.webp similarity index 100% rename from game/characters/cho/clothes/hair/smurfette/1.webp rename to game/characters/cho/poses/default/clothes/hair/smurfette/1.webp diff --git a/game/characters/cho/clothes/hair/smurfette/1_back.webp b/game/characters/cho/poses/default/clothes/hair/smurfette/1_back.webp similarity index 100% rename from game/characters/cho/clothes/hair/smurfette/1_back.webp rename to game/characters/cho/poses/default/clothes/hair/smurfette/1_back.webp diff --git a/game/characters/cho/clothes/hair/smurfette/outline.webp b/game/characters/cho/poses/default/clothes/hair/smurfette/outline.webp similarity index 100% rename from game/characters/cho/clothes/hair/smurfette/outline.webp rename to game/characters/cho/poses/default/clothes/hair/smurfette/outline.webp diff --git a/game/characters/cho/clothes/hair/smurfette/outline_back.webp b/game/characters/cho/poses/default/clothes/hair/smurfette/outline_back.webp similarity index 100% rename from game/characters/cho/clothes/hair/smurfette/outline_back.webp rename to game/characters/cho/poses/default/clothes/hair/smurfette/outline_back.webp diff --git a/game/characters/cho/clothes/hair/smurfette/skin.webp b/game/characters/cho/poses/default/clothes/hair/smurfette/skin.webp similarity index 100% rename from game/characters/cho/clothes/hair/smurfette/skin.webp rename to game/characters/cho/poses/default/clothes/hair/smurfette/skin.webp diff --git a/game/characters/cho/poses/default/clothes/headgear/antlers/default/0.webp b/game/characters/cho/poses/default/clothes/headgear/antlers/default/0.webp new file mode 100644 index 00000000..709673a7 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/antlers/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92172f2dc078feca04691498153d137805f9e6e1c0d7898401d4319b5c785e7f +size 3360 diff --git a/game/characters/cho/poses/default/clothes/headgear/antlers/default/1.webp b/game/characters/cho/poses/default/clothes/headgear/antlers/default/1.webp new file mode 100644 index 00000000..de6767ca --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/antlers/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3bb0533697416322fd938c8092e0f05e9432b2f787831db035b9b3f24aa2eae +size 2028 diff --git a/game/characters/cho/poses/default/clothes/headgear/antlers/default/2.webp b/game/characters/cho/poses/default/clothes/headgear/antlers/default/2.webp new file mode 100644 index 00000000..07b7d141 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/antlers/default/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e451a1b18b0449aa6f81c26cf3b1845bf2abdc19a65f5210333d44ddbcab61 +size 5390 diff --git a/game/characters/cho/poses/default/clothes/headgear/antlers/default/outline.webp b/game/characters/cho/poses/default/clothes/headgear/antlers/default/outline.webp new file mode 100644 index 00000000..dbd6a2be --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/antlers/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a33716b16893f5db5080a2f8980d3ee96d32c822ed63dad4affe54348a1850d1 +size 8310 diff --git a/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/0.webp b/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/0.webp new file mode 100644 index 00000000..d80a8b17 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5a4cef038d07acb93f181d5f7f6f17370c54719cab8a0a483935b7c422b2f9d +size 5604 diff --git a/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/1.webp b/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/1.webp new file mode 100644 index 00000000..1df191f8 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e676705c15439cecd757b09db919e706064e2b37c51aff91217fc4f76af96890 +size 1524 diff --git a/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp b/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp new file mode 100644 index 00000000..6a91b873 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25a8f5d2572d44525c3446bf77fd8964c81a942fe874477df0f31c1facd68aee +size 5330 diff --git a/game/characters/cho/clothes/headgear/catears/0.webp b/game/characters/cho/poses/default/clothes/headgear/catears/default/0.webp similarity index 100% rename from game/characters/cho/clothes/headgear/catears/0.webp rename to game/characters/cho/poses/default/clothes/headgear/catears/default/0.webp diff --git a/game/characters/cho/clothes/headgear/catears/extra.webp b/game/characters/cho/poses/default/clothes/headgear/catears/default/extra.webp similarity index 100% rename from game/characters/cho/clothes/headgear/catears/extra.webp rename to game/characters/cho/poses/default/clothes/headgear/catears/default/extra.webp diff --git a/game/characters/cho/clothes/headgear/catears/outline.webp b/game/characters/cho/poses/default/clothes/headgear/catears/default/outline.webp similarity index 100% rename from game/characters/cho/clothes/headgear/catears/outline.webp rename to game/characters/cho/poses/default/clothes/headgear/catears/default/outline.webp diff --git a/game/characters/cho/clothes/headgear/chun_li_puffies/0.webp b/game/characters/cho/poses/default/clothes/headgear/chun_li_puffies/default/0.webp similarity index 100% rename from game/characters/cho/clothes/headgear/chun_li_puffies/0.webp rename to game/characters/cho/poses/default/clothes/headgear/chun_li_puffies/default/0.webp diff --git a/game/characters/cho/clothes/headgear/chun_li_puffies/outline.webp b/game/characters/cho/poses/default/clothes/headgear/chun_li_puffies/default/outline.webp similarity index 100% rename from game/characters/cho/clothes/headgear/chun_li_puffies/outline.webp rename to game/characters/cho/poses/default/clothes/headgear/chun_li_puffies/default/outline.webp diff --git a/game/characters/cho/clothes/headgear/goggles/0.webp b/game/characters/cho/poses/default/clothes/headgear/goggles/default/0.webp similarity index 100% rename from game/characters/cho/clothes/headgear/goggles/0.webp rename to game/characters/cho/poses/default/clothes/headgear/goggles/default/0.webp diff --git a/game/characters/cho/clothes/headgear/goggles/1.webp b/game/characters/cho/poses/default/clothes/headgear/goggles/default/1.webp similarity index 100% rename from game/characters/cho/clothes/headgear/goggles/1.webp rename to game/characters/cho/poses/default/clothes/headgear/goggles/default/1.webp diff --git a/game/characters/cho/clothes/headgear/goggles/extra.webp b/game/characters/cho/poses/default/clothes/headgear/goggles/default/extra.webp similarity index 100% rename from game/characters/cho/clothes/headgear/goggles/extra.webp rename to game/characters/cho/poses/default/clothes/headgear/goggles/default/extra.webp diff --git a/game/characters/cho/clothes/headgear/goggles/outline.webp b/game/characters/cho/poses/default/clothes/headgear/goggles/default/outline.webp similarity index 100% rename from game/characters/cho/clothes/headgear/goggles/outline.webp rename to game/characters/cho/poses/default/clothes/headgear/goggles/default/outline.webp diff --git a/game/characters/cho/clothes/headgear/goggles/skin.webp b/game/characters/cho/poses/default/clothes/headgear/goggles/default/skin.webp similarity index 100% rename from game/characters/cho/clothes/headgear/goggles/skin.webp rename to game/characters/cho/poses/default/clothes/headgear/goggles/default/skin.webp diff --git a/game/characters/cho/clothes/headgear/police_cap/0.webp b/game/characters/cho/poses/default/clothes/headgear/police_cap/default/0.webp similarity index 100% rename from game/characters/cho/clothes/headgear/police_cap/0.webp rename to game/characters/cho/poses/default/clothes/headgear/police_cap/default/0.webp diff --git a/game/characters/cho/clothes/headgear/police_cap/1.webp b/game/characters/cho/poses/default/clothes/headgear/police_cap/default/1.webp similarity index 100% rename from game/characters/cho/clothes/headgear/police_cap/1.webp rename to game/characters/cho/poses/default/clothes/headgear/police_cap/default/1.webp diff --git a/game/characters/cho/clothes/headgear/police_cap/2.webp b/game/characters/cho/poses/default/clothes/headgear/police_cap/default/2.webp similarity index 100% rename from game/characters/cho/clothes/headgear/police_cap/2.webp rename to game/characters/cho/poses/default/clothes/headgear/police_cap/default/2.webp diff --git a/game/characters/cho/clothes/headgear/police_cap/3.webp b/game/characters/cho/poses/default/clothes/headgear/police_cap/default/3.webp similarity index 100% rename from game/characters/cho/clothes/headgear/police_cap/3.webp rename to game/characters/cho/poses/default/clothes/headgear/police_cap/default/3.webp diff --git a/game/characters/cho/clothes/headgear/police_cap/outline.webp b/game/characters/cho/poses/default/clothes/headgear/police_cap/default/outline.webp similarity index 100% rename from game/characters/cho/clothes/headgear/police_cap/outline.webp rename to game/characters/cho/poses/default/clothes/headgear/police_cap/default/outline.webp diff --git a/game/characters/cho/clothes/headgear/smurfette/0.webp b/game/characters/cho/poses/default/clothes/headgear/smurfette/default/0.webp similarity index 100% rename from game/characters/cho/clothes/headgear/smurfette/0.webp rename to game/characters/cho/poses/default/clothes/headgear/smurfette/default/0.webp diff --git a/game/characters/cho/clothes/headgear/smurfette/outline.webp b/game/characters/cho/poses/default/clothes/headgear/smurfette/default/outline.webp similarity index 100% rename from game/characters/cho/clothes/headgear/smurfette/outline.webp rename to game/characters/cho/poses/default/clothes/headgear/smurfette/default/outline.webp diff --git a/game/characters/cho/clothes/headgear/toon_band/0.webp b/game/characters/cho/poses/default/clothes/headgear/toon_band/default/0.webp similarity index 100% rename from game/characters/cho/clothes/headgear/toon_band/0.webp rename to game/characters/cho/poses/default/clothes/headgear/toon_band/default/0.webp diff --git a/game/characters/cho/clothes/headgear/toon_band/outline.webp b/game/characters/cho/poses/default/clothes/headgear/toon_band/default/outline.webp similarity index 100% rename from game/characters/cho/clothes/headgear/toon_band/outline.webp rename to game/characters/cho/poses/default/clothes/headgear/toon_band/default/outline.webp diff --git a/game/characters/cho/poses/default/clothes/headgear/witch/default/0.webp b/game/characters/cho/poses/default/clothes/headgear/witch/default/0.webp new file mode 100644 index 00000000..c6c225bf --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/witch/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eea3e4214900a3fcae2a33ae37866f49bf575973e193f6c362353a8bdb7b2d4d +size 6132 diff --git a/game/characters/cho/poses/default/clothes/headgear/witch/default/1.webp b/game/characters/cho/poses/default/clothes/headgear/witch/default/1.webp new file mode 100644 index 00000000..45e9abd4 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/witch/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e2b0af7f926eff2f3f60f6dfc8fc4efde25a4ff1d8285f0dfc61afabebb2806 +size 2044 diff --git a/game/characters/cho/poses/default/clothes/headgear/witch/default/outline.webp b/game/characters/cho/poses/default/clothes/headgear/witch/default/outline.webp new file mode 100644 index 00000000..62c199ce --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/witch/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de7667ea809b655ce28b978086a7b9f3d4c932807c13ba0550b79a7b5b7743aa +size 8608 diff --git a/game/characters/cho/poses/default/clothes/headgear/witch/default/skin.webp b/game/characters/cho/poses/default/clothes/headgear/witch/default/skin.webp new file mode 100644 index 00000000..93ec1c96 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/headgear/witch/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e32beea1db51348df08e32f7d667f19c02170b74f8ce510054c963fb268e7e09 +size 1656 diff --git a/game/characters/cho/clothes/makeup/blush/0.webp b/game/characters/cho/poses/default/clothes/makeup/blush/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/blush/0.webp rename to game/characters/cho/poses/default/clothes/makeup/blush/0.webp diff --git a/game/characters/cho/clothes/makeup/blush/outline.webp b/game/characters/cho/poses/default/clothes/makeup/blush/outline.webp similarity index 100% rename from game/characters/cho/clothes/makeup/blush/outline.webp rename to game/characters/cho/poses/default/clothes/makeup/blush/outline.webp diff --git a/game/characters/cho/poses/default/clothes/makeup/freckles1/0.webp b/game/characters/cho/poses/default/clothes/makeup/freckles1/0.webp new file mode 100644 index 00000000..a3fb4947 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/makeup/freckles1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:120a60bc1de8ac97a44c6a036479dd517149372fd078b563bc0698e1151e7602 +size 1078 diff --git a/game/characters/cho/poses/default/clothes/makeup/freckles2/0.webp b/game/characters/cho/poses/default/clothes/makeup/freckles2/0.webp new file mode 100644 index 00000000..11ebddd0 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/makeup/freckles2/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a48a67da11937b715ea4db95fb5cef59746add43d7b24572a1f3175c13bf191 +size 606 diff --git a/game/characters/cho/clothes/makeup/lipstick/angry.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/angry/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/angry.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/angry/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/annoyed.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/annoyed/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/annoyed.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/annoyed/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/base.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/base/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/base.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/base/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/clench.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/clench/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/clench.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/clench/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/crooked_smile.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/crooked_smile.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/disgust.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/disgust/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/disgust.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/disgust/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/grin.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/grin/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/grin.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/grin/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/horny.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/horny/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/horny.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/horny/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/mad.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/mad/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/mad.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/mad/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/normal.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/normal/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/normal.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/normal/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/open.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/open/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/open.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/open/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/open_tongue.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/open_tongue/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/open_tongue.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/open_tongue/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/open_wide_tongue.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/open_wide_tongue.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/quiver.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/quiver/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/quiver.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/quiver/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/scream.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/scream/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/scream.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/scream/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/silly.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/silly/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/silly.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/silly/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/smile.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/smile/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/smile.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/smile/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/soft.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/soft/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/soft.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/soft/0.webp diff --git a/game/characters/cho/clothes/makeup/lipstick/upset.webp b/game/characters/cho/poses/default/clothes/makeup/lipstick/upset/0.webp similarity index 100% rename from game/characters/cho/clothes/makeup/lipstick/upset.webp rename to game/characters/cho/poses/default/clothes/makeup/lipstick/upset/0.webp diff --git a/game/characters/cho/clothes/neckwear/choker_lace_1/0.webp b/game/characters/cho/poses/default/clothes/neckwear/choker_lace_1/0.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/choker_lace_1/0.webp rename to game/characters/cho/poses/default/clothes/neckwear/choker_lace_1/0.webp diff --git a/game/characters/cho/clothes/neckwear/choker_lace_1/1.webp b/game/characters/cho/poses/default/clothes/neckwear/choker_lace_1/1.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/choker_lace_1/1.webp rename to game/characters/cho/poses/default/clothes/neckwear/choker_lace_1/1.webp diff --git a/game/characters/cho/clothes/neckwear/choker_lace_1/outline.webp b/game/characters/cho/poses/default/clothes/neckwear/choker_lace_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/choker_lace_1/outline.webp rename to game/characters/cho/poses/default/clothes/neckwear/choker_lace_1/outline.webp diff --git a/game/characters/cho/clothes/neckwear/choker_medallion/0.webp b/game/characters/cho/poses/default/clothes/neckwear/choker_medallion/0.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/choker_medallion/0.webp rename to game/characters/cho/poses/default/clothes/neckwear/choker_medallion/0.webp diff --git a/game/characters/cho/clothes/neckwear/choker_medallion/extra.webp b/game/characters/cho/poses/default/clothes/neckwear/choker_medallion/extra.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/choker_medallion/extra.webp rename to game/characters/cho/poses/default/clothes/neckwear/choker_medallion/extra.webp diff --git a/game/characters/cho/clothes/neckwear/choker_medallion/outline.webp b/game/characters/cho/poses/default/clothes/neckwear/choker_medallion/outline.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/choker_medallion/outline.webp rename to game/characters/cho/poses/default/clothes/neckwear/choker_medallion/outline.webp diff --git a/game/characters/cho/clothes/neckwear/collar_leather_1/0.webp b/game/characters/cho/poses/default/clothes/neckwear/collar_leather_1/0.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/collar_leather_1/0.webp rename to game/characters/cho/poses/default/clothes/neckwear/collar_leather_1/0.webp diff --git a/game/characters/cho/clothes/neckwear/collar_leather_1/extra.webp b/game/characters/cho/poses/default/clothes/neckwear/collar_leather_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/collar_leather_1/extra.webp rename to game/characters/cho/poses/default/clothes/neckwear/collar_leather_1/extra.webp diff --git a/game/characters/cho/clothes/neckwear/collar_leather_1/outline.webp b/game/characters/cho/poses/default/clothes/neckwear/collar_leather_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/collar_leather_1/outline.webp rename to game/characters/cho/poses/default/clothes/neckwear/collar_leather_1/outline.webp diff --git a/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/0.webp b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/0.webp new file mode 100644 index 00000000..8f69f773 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75f95acaa27ef005acce0f2e20c26fa3a5ab3513d47262f9e66c4dceefc37c13 +size 2452 diff --git a/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/1.webp b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/1.webp new file mode 100644 index 00000000..7253f000 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cd9bf29118b2166ad1c5f12843ad490e328002804f57a787aa278edf0150416 +size 2004 diff --git a/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/extra.webp b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/extra.webp new file mode 100644 index 00000000..cfbfa621 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:291241b8e8a6a3834d4b9c19559c3686507207cfe349ca3902ca22b597ad2cf7 +size 1750 diff --git a/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/outline.webp b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/outline.webp new file mode 100644 index 00000000..3b037aef --- /dev/null +++ b/game/characters/cho/poses/default/clothes/neckwear/reindeer_collar/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd50eb13e065bc019602c78e53bdc1f8658c57e5f84a0aa153fb19e18c36ade9 +size 2400 diff --git a/game/characters/cho/clothes/neckwear/tie_1/0.webp b/game/characters/cho/poses/default/clothes/neckwear/tie_1/0.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/tie_1/0.webp rename to game/characters/cho/poses/default/clothes/neckwear/tie_1/0.webp diff --git a/game/characters/cho/clothes/neckwear/tie_1/1.webp b/game/characters/cho/poses/default/clothes/neckwear/tie_1/1.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/tie_1/1.webp rename to game/characters/cho/poses/default/clothes/neckwear/tie_1/1.webp diff --git a/game/characters/cho/clothes/neckwear/tie_1/outline.webp b/game/characters/cho/poses/default/clothes/neckwear/tie_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/tie_1/outline.webp rename to game/characters/cho/poses/default/clothes/neckwear/tie_1/outline.webp diff --git a/game/characters/cho/clothes/neckwear/tie_1/skin.webp b/game/characters/cho/poses/default/clothes/neckwear/tie_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/neckwear/tie_1/skin.webp rename to game/characters/cho/poses/default/clothes/neckwear/tie_1/skin.webp diff --git a/game/characters/cho/clothes/panties/basic_panties_1/0.webp b/game/characters/cho/poses/default/clothes/panties/basic_panties_1/0.webp similarity index 100% rename from game/characters/cho/clothes/panties/basic_panties_1/0.webp rename to game/characters/cho/poses/default/clothes/panties/basic_panties_1/0.webp diff --git a/game/characters/cho/clothes/panties/basic_panties_1/1.webp b/game/characters/cho/poses/default/clothes/panties/basic_panties_1/1.webp similarity index 100% rename from game/characters/cho/clothes/panties/basic_panties_1/1.webp rename to game/characters/cho/poses/default/clothes/panties/basic_panties_1/1.webp diff --git a/game/characters/cho/clothes/panties/basic_panties_1/outline.webp b/game/characters/cho/poses/default/clothes/panties/basic_panties_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/panties/basic_panties_1/outline.webp rename to game/characters/cho/poses/default/clothes/panties/basic_panties_1/outline.webp diff --git a/game/characters/cho/clothes/panties/basic_panties_1/skin.webp b/game/characters/cho/poses/default/clothes/panties/basic_panties_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/panties/basic_panties_1/skin.webp rename to game/characters/cho/poses/default/clothes/panties/basic_panties_1/skin.webp diff --git a/game/characters/cho/clothes/panties/bikini_bottom_1/0.webp b/game/characters/cho/poses/default/clothes/panties/bikini_bottom_1/0.webp similarity index 100% rename from game/characters/cho/clothes/panties/bikini_bottom_1/0.webp rename to game/characters/cho/poses/default/clothes/panties/bikini_bottom_1/0.webp diff --git a/game/characters/cho/clothes/panties/bikini_bottom_1/outline.webp b/game/characters/cho/poses/default/clothes/panties/bikini_bottom_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/panties/bikini_bottom_1/outline.webp rename to game/characters/cho/poses/default/clothes/panties/bikini_bottom_1/outline.webp diff --git a/game/characters/cho/clothes/panties/bikini_bottom_2/0.webp b/game/characters/cho/poses/default/clothes/panties/bikini_bottom_2/0.webp similarity index 100% rename from game/characters/cho/clothes/panties/bikini_bottom_2/0.webp rename to game/characters/cho/poses/default/clothes/panties/bikini_bottom_2/0.webp diff --git a/game/characters/cho/clothes/panties/bikini_bottom_2/outline.webp b/game/characters/cho/poses/default/clothes/panties/bikini_bottom_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/panties/bikini_bottom_2/outline.webp rename to game/characters/cho/poses/default/clothes/panties/bikini_bottom_2/outline.webp diff --git a/game/characters/cho/clothes/panties/lace_panties_1/0.webp b/game/characters/cho/poses/default/clothes/panties/lace_panties_1/0.webp similarity index 100% rename from game/characters/cho/clothes/panties/lace_panties_1/0.webp rename to game/characters/cho/poses/default/clothes/panties/lace_panties_1/0.webp diff --git a/game/characters/cho/clothes/panties/lace_panties_1/1.webp b/game/characters/cho/poses/default/clothes/panties/lace_panties_1/1.webp similarity index 100% rename from game/characters/cho/clothes/panties/lace_panties_1/1.webp rename to game/characters/cho/poses/default/clothes/panties/lace_panties_1/1.webp diff --git a/game/characters/cho/clothes/panties/lace_panties_1/2.webp b/game/characters/cho/poses/default/clothes/panties/lace_panties_1/2.webp similarity index 100% rename from game/characters/cho/clothes/panties/lace_panties_1/2.webp rename to game/characters/cho/poses/default/clothes/panties/lace_panties_1/2.webp diff --git a/game/characters/cho/clothes/panties/lace_panties_1/outline.webp b/game/characters/cho/poses/default/clothes/panties/lace_panties_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/panties/lace_panties_1/outline.webp rename to game/characters/cho/poses/default/clothes/panties/lace_panties_1/outline.webp diff --git a/game/characters/cho/clothes/panties/lace_panties_1/skin.webp b/game/characters/cho/poses/default/clothes/panties/lace_panties_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/panties/lace_panties_1/skin.webp rename to game/characters/cho/poses/default/clothes/panties/lace_panties_1/skin.webp diff --git a/game/characters/cho/poses/default/clothes/panties/sheer_panties_1/0.webp b/game/characters/cho/poses/default/clothes/panties/sheer_panties_1/0.webp new file mode 100644 index 00000000..95821f59 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sheer_panties_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f22d746129ce498d450711b0cae219c59ea3eead2eb155539e3e2c5ff33ae9e +size 2822 diff --git a/game/characters/cho/poses/default/clothes/panties/sheer_panties_1/outline.webp b/game/characters/cho/poses/default/clothes/panties/sheer_panties_1/outline.webp new file mode 100644 index 00000000..bc6a78a5 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sheer_panties_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fa27a7f2d8b1742a5b7b0ca305dc55652afb81127d88af2fd4a2c8a3be5e2dd +size 3120 diff --git a/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/0.webp b/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/0.webp new file mode 100644 index 00000000..a71d1f43 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24d89ea143b42eb8054657aa9e3d561c1d0acbe2147291bd38c7f268aba3cec4 +size 2726 diff --git a/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/1.webp b/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/1.webp new file mode 100644 index 00000000..a2d65e52 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d95fff0104bb0c44bb465bf0ace22225b94883bf0066d41beab38b5134a6849 +size 4064 diff --git a/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/outline.webp b/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/outline.webp new file mode 100644 index 00000000..867db073 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sheer_panties_2/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69274e22251f5bca0db9950588dd4411b78f1a52ccf695cbacd6900b6fdde865 +size 6924 diff --git a/game/characters/cho/clothes/panties/sport_panties_1/0.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_1/0.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_1/0.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_1/0.webp diff --git a/game/characters/cho/poses/default/clothes/panties/sport_panties_1/armfix.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sport_panties_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/panties/sport_panties_1/extra.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_1/extra.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_1/extra.webp diff --git a/game/characters/cho/clothes/panties/sport_panties_1/outline.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_1/outline.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_1/outline.webp diff --git a/game/characters/cho/clothes/panties/sport_panties_1/skin.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_1/skin.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_1/skin.webp diff --git a/game/characters/cho/clothes/panties/sport_panties_2/0.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_2/0.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_2/0.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_2/0.webp diff --git a/game/characters/cho/clothes/panties/sport_panties_2/extra.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_2/extra.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_2/extra.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_2/extra.webp diff --git a/game/characters/cho/clothes/panties/sport_panties_2/outline.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_2/outline.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_2/outline.webp diff --git a/game/characters/cho/clothes/panties/sport_panties_2/skin.webp b/game/characters/cho/poses/default/clothes/panties/sport_panties_2/skin.webp similarity index 100% rename from game/characters/cho/clothes/panties/sport_panties_2/skin.webp rename to game/characters/cho/poses/default/clothes/panties/sport_panties_2/skin.webp diff --git a/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/0.webp b/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/0.webp new file mode 100644 index 00000000..c4c60da7 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:669acfe23639916efce665eb05dfe3d0ba1872f8ab7f1a85a6589ffefa41341d +size 4116 diff --git a/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/outline.webp b/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/outline.webp new file mode 100644 index 00000000..3b254553 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ddbf78873b9727d37cea1a6a6a5515b6518e0a450bf9425b76180ff46987893 +size 6006 diff --git a/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/skin.webp b/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/skin.webp new file mode 100644 index 00000000..fed8cf00 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb2ac5de167fd67b3ffaff21c764a9d91f077a38a8cbadac6c7a419f28991107 +size 2192 diff --git a/game/characters/cho/clothes/piercing/breast_barbell/0.webp b/game/characters/cho/poses/default/clothes/piercing/breast_barbell/0.webp similarity index 100% rename from game/characters/cho/clothes/piercing/breast_barbell/0.webp rename to game/characters/cho/poses/default/clothes/piercing/breast_barbell/0.webp diff --git a/game/characters/cho/clothes/piercing/breast_barbell/outline.webp b/game/characters/cho/poses/default/clothes/piercing/breast_barbell/outline.webp similarity index 100% rename from game/characters/cho/clothes/piercing/breast_barbell/outline.webp rename to game/characters/cho/poses/default/clothes/piercing/breast_barbell/outline.webp diff --git a/game/characters/cho/clothes/piercing/stud/0.webp b/game/characters/cho/poses/default/clothes/piercing/stud/0.webp similarity index 100% rename from game/characters/cho/clothes/piercing/stud/0.webp rename to game/characters/cho/poses/default/clothes/piercing/stud/0.webp diff --git a/game/characters/cho/clothes/piercing/stud/outline.webp b/game/characters/cho/poses/default/clothes/piercing/stud/outline.webp similarity index 100% rename from game/characters/cho/clothes/piercing/stud/outline.webp rename to game/characters/cho/poses/default/clothes/piercing/stud/outline.webp diff --git a/game/characters/cho/clothes/pubes/arrow/0.webp b/game/characters/cho/poses/default/clothes/pubes/arrow/0.webp similarity index 100% rename from game/characters/cho/clothes/pubes/arrow/0.webp rename to game/characters/cho/poses/default/clothes/pubes/arrow/0.webp diff --git a/game/characters/cho/clothes/pubes/arrow/outline.webp b/game/characters/cho/poses/default/clothes/pubes/arrow/outline.webp similarity index 100% rename from game/characters/cho/clothes/pubes/arrow/outline.webp rename to game/characters/cho/poses/default/clothes/pubes/arrow/outline.webp diff --git a/game/characters/cho/clothes/pubes/beaver/0.webp b/game/characters/cho/poses/default/clothes/pubes/beaver/0.webp similarity index 100% rename from game/characters/cho/clothes/pubes/beaver/0.webp rename to game/characters/cho/poses/default/clothes/pubes/beaver/0.webp diff --git a/game/characters/cho/clothes/pubes/beaver/outline.webp b/game/characters/cho/poses/default/clothes/pubes/beaver/outline.webp similarity index 100% rename from game/characters/cho/clothes/pubes/beaver/outline.webp rename to game/characters/cho/poses/default/clothes/pubes/beaver/outline.webp diff --git a/game/characters/cho/clothes/pubes/heart/0.webp b/game/characters/cho/poses/default/clothes/pubes/heart/0.webp similarity index 100% rename from game/characters/cho/clothes/pubes/heart/0.webp rename to game/characters/cho/poses/default/clothes/pubes/heart/0.webp diff --git a/game/characters/cho/clothes/pubes/heart/1.webp b/game/characters/cho/poses/default/clothes/pubes/heart/1.webp similarity index 100% rename from game/characters/cho/clothes/pubes/heart/1.webp rename to game/characters/cho/poses/default/clothes/pubes/heart/1.webp diff --git a/game/characters/cho/clothes/pubes/heart/extra.webp b/game/characters/cho/poses/default/clothes/pubes/heart/extra.webp similarity index 100% rename from game/characters/cho/clothes/pubes/heart/extra.webp rename to game/characters/cho/poses/default/clothes/pubes/heart/extra.webp diff --git a/game/characters/cho/clothes/pubes/heart/outline.webp b/game/characters/cho/poses/default/clothes/pubes/heart/outline.webp similarity index 100% rename from game/characters/cho/clothes/pubes/heart/outline.webp rename to game/characters/cho/poses/default/clothes/pubes/heart/outline.webp diff --git a/game/characters/cho/clothes/pubes/stuble/0.webp b/game/characters/cho/poses/default/clothes/pubes/stuble/0.webp similarity index 100% rename from game/characters/cho/clothes/pubes/stuble/0.webp rename to game/characters/cho/poses/default/clothes/pubes/stuble/0.webp diff --git a/game/characters/cho/clothes/pubes/thick/0.webp b/game/characters/cho/poses/default/clothes/pubes/thick/0.webp similarity index 100% rename from game/characters/cho/clothes/pubes/thick/0.webp rename to game/characters/cho/poses/default/clothes/pubes/thick/0.webp diff --git a/game/characters/cho/clothes/pubes/thick/1.webp b/game/characters/cho/poses/default/clothes/pubes/thick/1.webp similarity index 100% rename from game/characters/cho/clothes/pubes/thick/1.webp rename to game/characters/cho/poses/default/clothes/pubes/thick/1.webp diff --git a/game/characters/cho/clothes/pubes/thick/extra.webp b/game/characters/cho/poses/default/clothes/pubes/thick/extra.webp similarity index 100% rename from game/characters/cho/clothes/pubes/thick/extra.webp rename to game/characters/cho/poses/default/clothes/pubes/thick/extra.webp diff --git a/game/characters/cho/clothes/pubes/thick/outline.webp b/game/characters/cho/poses/default/clothes/pubes/thick/outline.webp similarity index 100% rename from game/characters/cho/clothes/pubes/thick/outline.webp rename to game/characters/cho/poses/default/clothes/pubes/thick/outline.webp diff --git a/game/characters/cho/clothes/pubes/unshaved/0.webp b/game/characters/cho/poses/default/clothes/pubes/unshaved/0.webp similarity index 100% rename from game/characters/cho/clothes/pubes/unshaved/0.webp rename to game/characters/cho/poses/default/clothes/pubes/unshaved/0.webp diff --git a/game/characters/cho/clothes/robe/robe_quidditch_1/0.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/0.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_quidditch_1/0.webp rename to game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/0.webp diff --git a/game/characters/cho/clothes/robe/robe_quidditch_1/1.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/1.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_quidditch_1/1.webp rename to game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/1.webp diff --git a/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/armfix.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/robe/robe_quidditch_1/mask.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/mask.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_quidditch_1/mask.webp rename to game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/mask.webp diff --git a/game/characters/cho/clothes/robe/robe_quidditch_1/outline.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_quidditch_1/outline.webp rename to game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/outline.webp diff --git a/game/characters/cho/clothes/robe/robe_quidditch_1/overlay.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/overlay.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_quidditch_1/overlay.webp rename to game/characters/cho/poses/default/clothes/robe/robe_quidditch_1/overlay.webp diff --git a/game/characters/cho/clothes/robe/robe_quidditch_2/0.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_2/0.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_quidditch_2/0.webp rename to game/characters/cho/poses/default/clothes/robe/robe_quidditch_2/0.webp diff --git a/game/characters/cho/clothes/robe/robe_quidditch_2/outline.webp b/game/characters/cho/poses/default/clothes/robe/robe_quidditch_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_quidditch_2/outline.webp rename to game/characters/cho/poses/default/clothes/robe/robe_quidditch_2/outline.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/0.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/0.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/0.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/0.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/0_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/0_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/0_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/0_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/1.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/1.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/1.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/1.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/1_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/1_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/1_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/1_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/2.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/2.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/2.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/2.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/2_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/2_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/2_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/2_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/mask.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/mask.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/mask.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/mask.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/outline.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/outline.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/outline.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/outline_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/outline_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/outline_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_1/skin.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_1/skin.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_1/skin.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/0.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/0.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/0.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/0.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/0_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/0_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/0_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/0_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/0_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/0_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/0_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/0_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/1.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/1.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/1.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/1.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/1_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/1_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/1_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/1_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/1_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/1_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/1_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/1_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/2.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/2.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/2.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/2.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/2_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/2_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/2_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/2_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/2_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/2_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/2_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/2_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/extra.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/extra.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/extra.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/extra.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/mask.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/mask.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/mask.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/mask.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/outline.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/outline.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/outline.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/outline_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/outline_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/outline_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/outline_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/outline_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/outline_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/outline_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_2/skin.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_2/skin.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_2/skin.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_2/skin.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/0.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/0.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/0.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/0.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/0_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/0_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/0_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/0_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/0_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/0_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/0_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/0_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/1.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/1.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/1.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/1.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/1_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/1_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/1_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/1_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/1_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/1_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/1_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/1_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/2.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/2.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/2.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/2.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/2_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/2_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/2_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/2_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/2_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/2_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/2_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/2_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/extra.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/extra.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/extra.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/extra.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/mask.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/mask.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/mask.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/mask.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/outline.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/outline.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/outline.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/outline.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/outline_back.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/outline_back.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/outline_back.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/outline_back.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/outline_front.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/outline_front.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/outline_front.webp diff --git a/game/characters/cho/clothes/robe/robe_school_3/skin.webp b/game/characters/cho/poses/default/clothes/robe/robe_school_3/skin.webp similarity index 100% rename from game/characters/cho/clothes/robe/robe_school_3/skin.webp rename to game/characters/cho/poses/default/clothes/robe/robe_school_3/skin.webp diff --git a/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/0.webp b/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/0.webp new file mode 100644 index 00000000..c626d10e --- /dev/null +++ b/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e757df86fcf7b1f345ff373657f35a3b049af780778d1fa685b2e9224da65d +size 4368 diff --git a/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp b/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/outline.webp b/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/outline.webp new file mode 100644 index 00000000..4178b93e --- /dev/null +++ b/game/characters/cho/poses/default/clothes/stockings/bunny_stockings_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a349908b966c38f4860e4c0a3c8acdfbb8297a8a722dac4438be47c14b8275d +size 42184 diff --git a/game/characters/cho/clothes/stockings/fishnet/0.webp b/game/characters/cho/poses/default/clothes/stockings/fishnet/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/fishnet/0.webp rename to game/characters/cho/poses/default/clothes/stockings/fishnet/0.webp diff --git a/game/characters/cho/clothes/stockings/fishnet/1.webp b/game/characters/cho/poses/default/clothes/stockings/fishnet/1.webp similarity index 100% rename from game/characters/cho/clothes/stockings/fishnet/1.webp rename to game/characters/cho/poses/default/clothes/stockings/fishnet/1.webp diff --git a/game/characters/cho/poses/default/clothes/stockings/fishnet/armfix.webp b/game/characters/cho/poses/default/clothes/stockings/fishnet/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/stockings/fishnet/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/stockings/fishnet/outline.webp b/game/characters/cho/poses/default/clothes/stockings/fishnet/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/fishnet/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/fishnet/outline.webp diff --git a/game/characters/cho/clothes/stockings/house/0.webp b/game/characters/cho/poses/default/clothes/stockings/house/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/house/0.webp rename to game/characters/cho/poses/default/clothes/stockings/house/0.webp diff --git a/game/characters/cho/clothes/stockings/house/1.webp b/game/characters/cho/poses/default/clothes/stockings/house/1.webp similarity index 100% rename from game/characters/cho/clothes/stockings/house/1.webp rename to game/characters/cho/poses/default/clothes/stockings/house/1.webp diff --git a/game/characters/cho/clothes/stockings/house/outline.webp b/game/characters/cho/poses/default/clothes/stockings/house/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/house/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/house/outline.webp diff --git a/game/characters/cho/clothes/stockings/kneehigh/0.webp b/game/characters/cho/poses/default/clothes/stockings/kneehigh/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/kneehigh/0.webp rename to game/characters/cho/poses/default/clothes/stockings/kneehigh/0.webp diff --git a/game/characters/cho/clothes/stockings/kneehigh/outline.webp b/game/characters/cho/poses/default/clothes/stockings/kneehigh/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/kneehigh/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/kneehigh/outline.webp diff --git a/game/characters/cho/clothes/stockings/kneehigh/skin.webp b/game/characters/cho/poses/default/clothes/stockings/kneehigh/skin.webp similarity index 100% rename from game/characters/cho/clothes/stockings/kneehigh/skin.webp rename to game/characters/cho/poses/default/clothes/stockings/kneehigh/skin.webp diff --git a/game/characters/cho/clothes/stockings/lace_stockings_1/0.webp b/game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/lace_stockings_1/0.webp rename to game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/0.webp diff --git a/game/characters/cho/clothes/stockings/lace_stockings_1/1.webp b/game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/1.webp similarity index 100% rename from game/characters/cho/clothes/stockings/lace_stockings_1/1.webp rename to game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/1.webp diff --git a/game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/armfix.webp b/game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/stockings/lace_stockings_1/outline.webp b/game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/lace_stockings_1/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/outline.webp diff --git a/game/characters/cho/clothes/stockings/lace_stockings_1/skin.webp b/game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/stockings/lace_stockings_1/skin.webp rename to game/characters/cho/poses/default/clothes/stockings/lace_stockings_1/skin.webp diff --git a/game/characters/cho/clothes/stockings/pantyhose/0.webp b/game/characters/cho/poses/default/clothes/stockings/pantyhose/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/pantyhose/0.webp rename to game/characters/cho/poses/default/clothes/stockings/pantyhose/0.webp diff --git a/game/characters/cho/poses/default/clothes/stockings/pantyhose/armfix.webp b/game/characters/cho/poses/default/clothes/stockings/pantyhose/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/stockings/pantyhose/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/stockings/pantyhose/outline.webp b/game/characters/cho/poses/default/clothes/stockings/pantyhose/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/pantyhose/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/pantyhose/outline.webp diff --git a/game/characters/cho/clothes/stockings/quid1/0.webp b/game/characters/cho/poses/default/clothes/stockings/quid1/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/quid1/0.webp rename to game/characters/cho/poses/default/clothes/stockings/quid1/0.webp diff --git a/game/characters/cho/clothes/stockings/quid1/1.webp b/game/characters/cho/poses/default/clothes/stockings/quid1/1.webp similarity index 100% rename from game/characters/cho/clothes/stockings/quid1/1.webp rename to game/characters/cho/poses/default/clothes/stockings/quid1/1.webp diff --git a/game/characters/cho/clothes/stockings/quid1/extra.webp b/game/characters/cho/poses/default/clothes/stockings/quid1/extra.webp similarity index 100% rename from game/characters/cho/clothes/stockings/quid1/extra.webp rename to game/characters/cho/poses/default/clothes/stockings/quid1/extra.webp diff --git a/game/characters/cho/clothes/stockings/quid1/outline.webp b/game/characters/cho/poses/default/clothes/stockings/quid1/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/quid1/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/quid1/outline.webp diff --git a/game/characters/cho/clothes/stockings/quid1/skin.webp b/game/characters/cho/poses/default/clothes/stockings/quid1/skin.webp similarity index 100% rename from game/characters/cho/clothes/stockings/quid1/skin.webp rename to game/characters/cho/poses/default/clothes/stockings/quid1/skin.webp diff --git a/game/characters/cho/clothes/stockings/sailor/0.webp b/game/characters/cho/poses/default/clothes/stockings/sailor/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/sailor/0.webp rename to game/characters/cho/poses/default/clothes/stockings/sailor/0.webp diff --git a/game/characters/cho/poses/default/clothes/stockings/sailor/armfix.webp b/game/characters/cho/poses/default/clothes/stockings/sailor/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/stockings/sailor/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/stockings/sailor/outline.webp b/game/characters/cho/poses/default/clothes/stockings/sailor/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/sailor/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/sailor/outline.webp diff --git a/game/characters/cho/clothes/stockings/sailor/skin.webp b/game/characters/cho/poses/default/clothes/stockings/sailor/skin.webp similarity index 100% rename from game/characters/cho/clothes/stockings/sailor/skin.webp rename to game/characters/cho/poses/default/clothes/stockings/sailor/skin.webp diff --git a/game/characters/cho/clothes/stockings/toon_socks/0.webp b/game/characters/cho/poses/default/clothes/stockings/toon_socks/0.webp similarity index 100% rename from game/characters/cho/clothes/stockings/toon_socks/0.webp rename to game/characters/cho/poses/default/clothes/stockings/toon_socks/0.webp diff --git a/game/characters/cho/clothes/stockings/toon_socks/1.webp b/game/characters/cho/poses/default/clothes/stockings/toon_socks/1.webp similarity index 100% rename from game/characters/cho/clothes/stockings/toon_socks/1.webp rename to game/characters/cho/poses/default/clothes/stockings/toon_socks/1.webp diff --git a/game/characters/cho/clothes/stockings/toon_socks/outline.webp b/game/characters/cho/poses/default/clothes/stockings/toon_socks/outline.webp similarity index 100% rename from game/characters/cho/clothes/stockings/toon_socks/outline.webp rename to game/characters/cho/poses/default/clothes/stockings/toon_socks/outline.webp diff --git a/game/characters/cho/clothes/stockings/toon_socks/skin.webp b/game/characters/cho/poses/default/clothes/stockings/toon_socks/skin.webp similarity index 100% rename from game/characters/cho/clothes/stockings/toon_socks/skin.webp rename to game/characters/cho/poses/default/clothes/stockings/toon_socks/skin.webp diff --git a/game/characters/cho/poses/default/clothes/tattoo/arrows_tattoo/0.webp b/game/characters/cho/poses/default/clothes/tattoo/arrows_tattoo/0.webp new file mode 100644 index 00000000..548e3541 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/arrows_tattoo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46a5444de201b6491c9a2d7aeb0aa273cf48fa2ecda258f2171d91c48e261227 +size 1836 diff --git a/game/characters/cho/poses/default/clothes/tattoo/arrows_tattoo/outline.webp b/game/characters/cho/poses/default/clothes/tattoo/arrows_tattoo/outline.webp new file mode 100644 index 00000000..e739b779 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/arrows_tattoo/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a49e3e78e75610726c7ba36558e824f21496e7c0769a2c29833d5596621bd1b +size 3074 diff --git a/game/characters/cho/poses/default/clothes/tattoo/barcode_tattoo/0.webp b/game/characters/cho/poses/default/clothes/tattoo/barcode_tattoo/0.webp new file mode 100644 index 00000000..6f481c4e --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/barcode_tattoo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:563f64e547846ab3e5013212f27295cf58ccf84cbc33381f855983b10c11202b +size 1118 diff --git a/game/characters/luna/clothes/accessory/hair_bug/0.webp b/game/characters/cho/poses/default/clothes/tattoo/bitemark_tattoo/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/hair_bug/0.webp rename to game/characters/cho/poses/default/clothes/tattoo/bitemark_tattoo/0.webp diff --git a/game/characters/cho/poses/default/clothes/tattoo/bitemark_tattoo/outline.webp b/game/characters/cho/poses/default/clothes/tattoo/bitemark_tattoo/outline.webp new file mode 100644 index 00000000..407920d1 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/bitemark_tattoo/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4b58623dfd715ab4ec951c0fd80efc9389e289ca3e62756d1227a67634f8955 +size 4122 diff --git a/game/characters/cho/clothes/tattoo/breasts_slut/0.webp b/game/characters/cho/poses/default/clothes/tattoo/breasts_slut/0.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/breasts_slut/0.webp rename to game/characters/cho/poses/default/clothes/tattoo/breasts_slut/0.webp diff --git a/game/characters/cho/clothes/tattoo/chun_li_dragon/0.webp b/game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/0.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/chun_li_dragon/0.webp rename to game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/0.webp diff --git a/game/characters/cho/clothes/tattoo/chun_li_dragon/0_front.webp b/game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/0_front.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/chun_li_dragon/0_front.webp rename to game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/0_front.webp diff --git a/game/characters/cho/clothes/tattoo/chun_li_dragon/1.webp b/game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/1.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/chun_li_dragon/1.webp rename to game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/1.webp diff --git a/game/characters/cho/clothes/tattoo/chun_li_dragon/1_front.webp b/game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/1_front.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/chun_li_dragon/1_front.webp rename to game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/1_front.webp diff --git a/game/characters/cho/clothes/tattoo/chun_li_dragon/outline.webp b/game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/outline.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/chun_li_dragon/outline.webp rename to game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/outline.webp diff --git a/game/characters/cho/clothes/tattoo/chun_li_dragon/outline_front.webp b/game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/chun_li_dragon/outline_front.webp rename to game/characters/cho/poses/default/clothes/tattoo/chun_li_dragon/outline_front.webp diff --git a/game/characters/cho/clothes/tattoo/chun_li_mule/0.webp b/game/characters/cho/poses/default/clothes/tattoo/chun_li_mule/0.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/chun_li_mule/0.webp rename to game/characters/cho/poses/default/clothes/tattoo/chun_li_mule/0.webp diff --git a/game/characters/cho/poses/default/clothes/tattoo/cumhere_tattoo/0.webp b/game/characters/cho/poses/default/clothes/tattoo/cumhere_tattoo/0.webp new file mode 100644 index 00000000..a47eec9e --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/cumhere_tattoo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a83a3d0e0bd23a93931af8479164c463fa504aed2779b51cd1a7482ac61741b3 +size 2242 diff --git a/game/characters/cho/poses/default/clothes/tattoo/lickme_tattoo/0.webp b/game/characters/cho/poses/default/clothes/tattoo/lickme_tattoo/0.webp new file mode 100644 index 00000000..7d8c5578 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/lickme_tattoo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b234896658a257fc1fb9f6dd4a0b856f758375a49933ec7f962840a4a625893 +size 2356 diff --git a/game/characters/cho/clothes/tattoo/pelv_free/0.webp b/game/characters/cho/poses/default/clothes/tattoo/pelv_free/0.webp similarity index 100% rename from game/characters/cho/clothes/tattoo/pelv_free/0.webp rename to game/characters/cho/poses/default/clothes/tattoo/pelv_free/0.webp diff --git a/game/characters/cho/poses/default/clothes/tattoo/pull_tattoo/0.webp b/game/characters/cho/poses/default/clothes/tattoo/pull_tattoo/0.webp new file mode 100644 index 00000000..c8f227ea --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/pull_tattoo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b906ec4e34d652c673abff733994b53490071fed0576bad6b492f3449b7ae879 +size 1476 diff --git a/game/characters/cho/poses/default/clothes/tattoo/snatch_tattoo/0.webp b/game/characters/cho/poses/default/clothes/tattoo/snatch_tattoo/0.webp new file mode 100644 index 00000000..5b502275 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/snatch_tattoo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9701dd3d41632075871d282a000b650d12dc27edc9e6ca16347c25881622a7de +size 1668 diff --git a/game/characters/cho/poses/default/clothes/tattoo/trainee_tattoo/0.webp b/game/characters/cho/poses/default/clothes/tattoo/trainee_tattoo/0.webp new file mode 100644 index 00000000..65f97b82 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/tattoo/trainee_tattoo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b3c3c42649a60727367d5012fac4fd5db41d498691e0c1d7faf10f7a92fa9a5 +size 2534 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_1/0.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_1/0.webp new file mode 100644 index 00000000..b15c714a --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:879be041d95f32277456b616f01a22c6e8dbd568f2a1b5099829346f23bedcfc +size 12608 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_1/extra.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_1/extra.webp new file mode 100644 index 00000000..323c9ae0 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_1/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:764090f79fe453403d16f75a2460040b06ce61a6dd067f3f611e2828f69caae6 +size 16012 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_1/outline.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_1/outline.webp new file mode 100644 index 00000000..fb6734f8 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27f8147870d6ed115ff19f05af06f4ef74ed2e482e3afbb52d88215c07330692 +size 9546 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_1/skin.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_1/skin.webp new file mode 100644 index 00000000..dc969c52 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96aa660d59137b0ca5a42654124c1fc4503f26ed9c5e866cf1a336ca872e5234 +size 4104 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_2/0.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_2/0.webp new file mode 100644 index 00000000..4e4de3c0 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_2/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bac9fc6be2fe5ba67f48ce8977a0ba7ae79d59389dcd4cc5a0f80e0fa659a42b +size 11940 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_2/extra.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_2/extra.webp new file mode 100644 index 00000000..a14f3a83 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_2/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb8fd05863501b8723a682b6e9642d156814ac738fdfd6dbd89f24465672626c +size 15690 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_2/outline.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_2/outline.webp new file mode 100644 index 00000000..01f988ed --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_2/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c97c8000a9907c88b1770ebe8dc75fc1b3c9b75ba561db95e94dbac6e668334c +size 9378 diff --git a/game/characters/cho/poses/default/clothes/top/bunny_top_2/skin.webp b/game/characters/cho/poses/default/clothes/top/bunny_top_2/skin.webp new file mode 100644 index 00000000..ce5d073b --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/bunny_top_2/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2f1a557957a9fd83d2cb81b26276615bead6331eb57e38e28752493916841f7 +size 4292 diff --git a/game/characters/cho/clothes/top/dress_1/0.webp b/game/characters/cho/poses/default/clothes/top/dress_1/0.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_1/0.webp rename to game/characters/cho/poses/default/clothes/top/dress_1/0.webp diff --git a/game/characters/cho/clothes/top/dress_1/1.webp b/game/characters/cho/poses/default/clothes/top/dress_1/1.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_1/1.webp rename to game/characters/cho/poses/default/clothes/top/dress_1/1.webp diff --git a/game/characters/cho/poses/default/clothes/top/dress_1/armfix.webp b/game/characters/cho/poses/default/clothes/top/dress_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/dress_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/top/dress_1/extra.webp b/game/characters/cho/poses/default/clothes/top/dress_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_1/extra.webp rename to game/characters/cho/poses/default/clothes/top/dress_1/extra.webp diff --git a/game/characters/cho/clothes/top/dress_1/outline.webp b/game/characters/cho/poses/default/clothes/top/dress_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_1/outline.webp rename to game/characters/cho/poses/default/clothes/top/dress_1/outline.webp diff --git a/game/characters/cho/clothes/top/dress_1/skin.webp b/game/characters/cho/poses/default/clothes/top/dress_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_1/skin.webp rename to game/characters/cho/poses/default/clothes/top/dress_1/skin.webp diff --git a/game/characters/cho/clothes/top/dress_2/0.webp b/game/characters/cho/poses/default/clothes/top/dress_2/0.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_2/0.webp rename to game/characters/cho/poses/default/clothes/top/dress_2/0.webp diff --git a/game/characters/cho/clothes/top/dress_2/1.webp b/game/characters/cho/poses/default/clothes/top/dress_2/1.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_2/1.webp rename to game/characters/cho/poses/default/clothes/top/dress_2/1.webp diff --git a/game/characters/cho/clothes/top/dress_2/extra.webp b/game/characters/cho/poses/default/clothes/top/dress_2/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_2/extra.webp rename to game/characters/cho/poses/default/clothes/top/dress_2/extra.webp diff --git a/game/characters/cho/clothes/top/dress_2/outline.webp b/game/characters/cho/poses/default/clothes/top/dress_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/dress_2/outline.webp rename to game/characters/cho/poses/default/clothes/top/dress_2/outline.webp diff --git a/game/characters/cho/poses/default/clothes/top/dress_club/0.webp b/game/characters/cho/poses/default/clothes/top/dress_club/0.webp new file mode 100644 index 00000000..1296360c --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/dress_club/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33c8b605d5180bdc76fd99468b5c5edc7c26850534030684380ae7ed715a7f18 +size 13004 diff --git a/game/characters/cho/poses/default/clothes/top/dress_club/armfix.webp b/game/characters/cho/poses/default/clothes/top/dress_club/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/dress_club/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/poses/default/clothes/top/dress_club/outline.webp b/game/characters/cho/poses/default/clothes/top/dress_club/outline.webp new file mode 100644 index 00000000..75c670b0 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/dress_club/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ec57c7e76eaf5ab39169ddb3e9b358995449fa29bfcfc20c773d6ed0d4f6995 +size 16498 diff --git a/game/characters/cho/clothes/top/police/0.webp b/game/characters/cho/poses/default/clothes/top/police/0.webp similarity index 100% rename from game/characters/cho/clothes/top/police/0.webp rename to game/characters/cho/poses/default/clothes/top/police/0.webp diff --git a/game/characters/cho/clothes/top/police/1.webp b/game/characters/cho/poses/default/clothes/top/police/1.webp similarity index 100% rename from game/characters/cho/clothes/top/police/1.webp rename to game/characters/cho/poses/default/clothes/top/police/1.webp diff --git a/game/characters/cho/poses/default/clothes/top/police/armfix.webp b/game/characters/cho/poses/default/clothes/top/police/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/police/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/top/police/extra.webp b/game/characters/cho/poses/default/clothes/top/police/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/police/extra.webp rename to game/characters/cho/poses/default/clothes/top/police/extra.webp diff --git a/game/characters/cho/clothes/top/police/outline.webp b/game/characters/cho/poses/default/clothes/top/police/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/police/outline.webp rename to game/characters/cho/poses/default/clothes/top/police/outline.webp diff --git a/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/0.webp b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/0.webp new file mode 100644 index 00000000..ad30e9a9 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edad08d50b1f6451a6e9d507256f1e8734271916c6a463353d938c58ef4bf4ae +size 6392 diff --git a/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/1.webp b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/1.webp new file mode 100644 index 00000000..ec17ebc0 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eef09f1cc9db79a1d3f070a5f49df7cb2d405945e719aa63eb4da84e68c82861 +size 1216 diff --git a/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/outline.webp b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/outline.webp new file mode 100644 index 00000000..eba7f4bd --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba4585dbe278d06dc94483bbcbdcb1b59714b34d3c844ab1b734bbb0a50b0729 +size 6292 diff --git a/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/skin.webp b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/skin.webp new file mode 100644 index 00000000..08ee3547 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/sheer_nightie_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:465f3fe282db91066c179a1120e74650e8891d12b245cc7341d7925944d14cc2 +size 1204 diff --git a/game/characters/cho/clothes/top/smurfette/0.webp b/game/characters/cho/poses/default/clothes/top/smurfette/0.webp similarity index 100% rename from game/characters/cho/clothes/top/smurfette/0.webp rename to game/characters/cho/poses/default/clothes/top/smurfette/0.webp diff --git a/game/characters/cho/clothes/top/smurfette/1.webp b/game/characters/cho/poses/default/clothes/top/smurfette/1.webp similarity index 100% rename from game/characters/cho/clothes/top/smurfette/1.webp rename to game/characters/cho/poses/default/clothes/top/smurfette/1.webp diff --git a/game/characters/cho/poses/default/clothes/top/smurfette/armfix.webp b/game/characters/cho/poses/default/clothes/top/smurfette/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/smurfette/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/top/smurfette/outline.webp b/game/characters/cho/poses/default/clothes/top/smurfette/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/smurfette/outline.webp rename to game/characters/cho/poses/default/clothes/top/smurfette/outline.webp diff --git a/game/characters/cho/clothes/top/smurfette/skin.webp b/game/characters/cho/poses/default/clothes/top/smurfette/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/smurfette/skin.webp rename to game/characters/cho/poses/default/clothes/top/smurfette/skin.webp diff --git a/game/characters/cho/clothes/top/toon_shirt/0.webp b/game/characters/cho/poses/default/clothes/top/toon_shirt/0.webp similarity index 100% rename from game/characters/cho/clothes/top/toon_shirt/0.webp rename to game/characters/cho/poses/default/clothes/top/toon_shirt/0.webp diff --git a/game/characters/cho/clothes/top/toon_shirt/extra.webp b/game/characters/cho/poses/default/clothes/top/toon_shirt/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/toon_shirt/extra.webp rename to game/characters/cho/poses/default/clothes/top/toon_shirt/extra.webp diff --git a/game/characters/cho/clothes/top/toon_shirt/outline.webp b/game/characters/cho/poses/default/clothes/top/toon_shirt/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/toon_shirt/outline.webp rename to game/characters/cho/poses/default/clothes/top/toon_shirt/outline.webp diff --git a/game/characters/cho/clothes/top/toon_shirt/skin.webp b/game/characters/cho/poses/default/clothes/top/toon_shirt/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/toon_shirt/skin.webp rename to game/characters/cho/poses/default/clothes/top/toon_shirt/skin.webp diff --git a/game/characters/cho/poses/default/clothes/top/top_chun_li/0.webp b/game/characters/cho/poses/default/clothes/top/top_chun_li/0.webp new file mode 100644 index 00000000..7ccaffa9 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_chun_li/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d6833d4360e678308861ec2930969e1c42ebf06b4b18e0d7880ae91d3af34d4 +size 11170 diff --git a/game/characters/cho/poses/default/clothes/top/top_chun_li/1.webp b/game/characters/cho/poses/default/clothes/top/top_chun_li/1.webp new file mode 100644 index 00000000..7ed21736 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_chun_li/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cd3563d7233c9cf311ddd238cabc8014d08e276870ae01fbf5f798a45912da0 +size 8708 diff --git a/game/characters/cho/poses/default/clothes/top/top_chun_li/extra.webp b/game/characters/cho/poses/default/clothes/top/top_chun_li/extra.webp new file mode 100644 index 00000000..c646f2e7 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_chun_li/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2ab42d6446c1bc70bcd91ca7cd03d388d35b98ca0e8a017b93d23117f4dafe8 +size 2098 diff --git a/game/characters/cho/poses/default/clothes/top/top_chun_li/outline.webp b/game/characters/cho/poses/default/clothes/top/top_chun_li/outline.webp new file mode 100644 index 00000000..df547ee8 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_chun_li/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93e2fcef51c32c716c6fde6cbb60546ff71013c3f09bab668ecdef5a94d4c9f2 +size 12652 diff --git a/game/characters/cho/poses/default/clothes/top/top_hoodie_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/0.webp new file mode 100644 index 00000000..48ab3491 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc94a4c7d8022b0d46401a90fafbd6f182efc5d51bf793d24c75114222e8ee2d +size 19736 diff --git a/game/characters/cho/poses/default/clothes/top/top_hoodie_1/1.webp b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/1.webp new file mode 100644 index 00000000..a6dc16e2 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c863b86d5f2df4b4aa9363f19f94b3db7843e0f004a6ebaba0b7a066a21dfdcc +size 2640 diff --git a/game/characters/cho/poses/default/clothes/top/top_hoodie_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/outline.webp new file mode 100644 index 00000000..fcd6e1d2 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb20bdf6d021d68a31ffa13b4f34690b6bb043c6b0a259f8bd1baedca0c1125a +size 17146 diff --git a/game/characters/cho/poses/default/clothes/top/top_hoodie_1/skin.webp b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/skin.webp new file mode 100644 index 00000000..fdcd76f7 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_hoodie_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e9bb15525fd20c4246c4c58116e281cacbf4cdaa13d111c223c29831c7a6734 +size 1930 diff --git a/game/characters/cho/clothes/top/top_j_school_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/0.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/0.webp diff --git a/game/characters/cho/clothes/top/top_j_school_1/0_back.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/0_back.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/0_back.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/0_back.webp diff --git a/game/characters/cho/clothes/top/top_j_school_1/1.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/1.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/1.webp diff --git a/game/characters/cho/clothes/top/top_j_school_1/2.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/2.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/2.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/2.webp diff --git a/game/characters/cho/clothes/top/top_j_school_1/3.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/3.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/3.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/3.webp diff --git a/game/characters/cho/poses/default/clothes/top/top_j_school_1/armfix.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_j_school_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/top/top_j_school_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/outline.webp diff --git a/game/characters/cho/clothes/top/top_j_school_1/outline_back.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/outline_back.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/outline_back.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/outline_back.webp diff --git a/game/characters/cho/clothes/top/top_j_school_1/skin.webp b/game/characters/cho/poses/default/clothes/top/top_j_school_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_j_school_1/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_j_school_1/skin.webp diff --git a/game/characters/cho/clothes/top/top_quid_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_quid_1/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_quid_1/0.webp rename to game/characters/cho/poses/default/clothes/top/top_quid_1/0.webp diff --git a/game/characters/cho/clothes/top/top_quid_1/1.webp b/game/characters/cho/poses/default/clothes/top/top_quid_1/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_quid_1/1.webp rename to game/characters/cho/poses/default/clothes/top/top_quid_1/1.webp diff --git a/game/characters/cho/clothes/top/top_quid_1/extra.webp b/game/characters/cho/poses/default/clothes/top/top_quid_1/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/top_quid_1/extra.webp rename to game/characters/cho/poses/default/clothes/top/top_quid_1/extra.webp diff --git a/game/characters/cho/clothes/top/top_quid_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_quid_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_quid_1/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_quid_1/outline.webp diff --git a/game/characters/cho/clothes/top/top_quid_1/skin.webp b/game/characters/cho/poses/default/clothes/top/top_quid_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_quid_1/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_quid_1/skin.webp diff --git a/game/characters/cho/clothes/top/top_sailor_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_sailor_1/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sailor_1/0.webp rename to game/characters/cho/poses/default/clothes/top/top_sailor_1/0.webp diff --git a/game/characters/cho/clothes/top/top_sailor_1/1.webp b/game/characters/cho/poses/default/clothes/top/top_sailor_1/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sailor_1/1.webp rename to game/characters/cho/poses/default/clothes/top/top_sailor_1/1.webp diff --git a/game/characters/cho/clothes/top/top_sailor_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_sailor_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sailor_1/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_sailor_1/outline.webp diff --git a/game/characters/cho/clothes/top/top_school_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/0.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/0.webp diff --git a/game/characters/cho/clothes/top/top_school_1/0_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/0_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/0_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/0_front.webp diff --git a/game/characters/cho/clothes/top/top_school_1/1.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/1.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/1.webp diff --git a/game/characters/cho/clothes/top/top_school_1/2.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/2.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/2.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/2.webp diff --git a/game/characters/cho/clothes/top/top_school_1/3.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/3.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/3.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/3.webp diff --git a/game/characters/cho/clothes/top/top_school_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/outline.webp diff --git a/game/characters/cho/clothes/top/top_school_1/outline_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/outline_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/outline_front.webp diff --git a/game/characters/cho/clothes/top/top_school_1/skin.webp b/game/characters/cho/poses/default/clothes/top/top_school_1/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_1/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_school_1/skin.webp diff --git a/game/characters/cho/clothes/top/top_school_2/0.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/0.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/0.webp diff --git a/game/characters/cho/clothes/top/top_school_2/0_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/0_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/0_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/0_front.webp diff --git a/game/characters/cho/clothes/top/top_school_2/1.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/1.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/1.webp diff --git a/game/characters/cho/clothes/top/top_school_2/2.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/2.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/2.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/2.webp diff --git a/game/characters/cho/clothes/top/top_school_2/3.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/3.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/3.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/3.webp diff --git a/game/characters/cho/clothes/top/top_school_2/extra.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/extra.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/extra.webp diff --git a/game/characters/cho/clothes/top/top_school_2/outline.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/outline.webp diff --git a/game/characters/cho/clothes/top/top_school_2/outline_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/outline_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/outline_front.webp diff --git a/game/characters/cho/clothes/top/top_school_2/skin.webp b/game/characters/cho/poses/default/clothes/top/top_school_2/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_2/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_school_2/skin.webp diff --git a/game/characters/cho/clothes/top/top_school_3/0.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/0.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/0.webp diff --git a/game/characters/cho/clothes/top/top_school_3/0_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/0_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/0_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/0_front.webp diff --git a/game/characters/cho/clothes/top/top_school_3/1.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/1.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/1.webp diff --git a/game/characters/cho/clothes/top/top_school_3/2.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/2.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/2.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/2.webp diff --git a/game/characters/cho/clothes/top/top_school_3/extra.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/extra.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/extra.webp diff --git a/game/characters/cho/clothes/top/top_school_3/outline.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/outline.webp diff --git a/game/characters/cho/clothes/top/top_school_3/outline_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/outline_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/outline_front.webp diff --git a/game/characters/cho/clothes/top/top_school_3/skin.webp b/game/characters/cho/poses/default/clothes/top/top_school_3/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_3/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_school_3/skin.webp diff --git a/game/characters/cho/clothes/top/top_school_4/0.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/0.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/0.webp diff --git a/game/characters/cho/clothes/top/top_school_4/0_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/0_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/0_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/0_front.webp diff --git a/game/characters/cho/clothes/top/top_school_4/1.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/1.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/1.webp diff --git a/game/characters/cho/clothes/top/top_school_4/2.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/2.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/2.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/2.webp diff --git a/game/characters/cho/clothes/top/top_school_4/extra.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/extra.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/extra.webp diff --git a/game/characters/cho/clothes/top/top_school_4/outline.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/outline.webp diff --git a/game/characters/cho/clothes/top/top_school_4/outline_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/outline_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/outline_front.webp diff --git a/game/characters/cho/clothes/top/top_school_4/skin.webp b/game/characters/cho/poses/default/clothes/top/top_school_4/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_4/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_school_4/skin.webp diff --git a/game/characters/cho/clothes/top/top_school_5/0.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/0.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/0.webp diff --git a/game/characters/cho/clothes/top/top_school_5/0_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/0_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/0_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/0_front.webp diff --git a/game/characters/cho/clothes/top/top_school_5/1.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/1.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/1.webp diff --git a/game/characters/cho/clothes/top/top_school_5/2.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/2.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/2.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/2.webp diff --git a/game/characters/cho/clothes/top/top_school_5/extra.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/extra.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/extra.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/extra.webp diff --git a/game/characters/cho/clothes/top/top_school_5/outline.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/outline.webp diff --git a/game/characters/cho/clothes/top/top_school_5/outline_front.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/outline_front.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/outline_front.webp diff --git a/game/characters/cho/clothes/top/top_school_5/skin.webp b/game/characters/cho/poses/default/clothes/top/top_school_5/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_5/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_school_5/skin.webp diff --git a/game/characters/cho/clothes/top/top_school_6/0.webp b/game/characters/cho/poses/default/clothes/top/top_school_6/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_6/0.webp rename to game/characters/cho/poses/default/clothes/top/top_school_6/0.webp diff --git a/game/characters/cho/clothes/top/top_school_6/1.webp b/game/characters/cho/poses/default/clothes/top/top_school_6/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_6/1.webp rename to game/characters/cho/poses/default/clothes/top/top_school_6/1.webp diff --git a/game/characters/cho/clothes/top/top_school_6/2.webp b/game/characters/cho/poses/default/clothes/top/top_school_6/2.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_6/2.webp rename to game/characters/cho/poses/default/clothes/top/top_school_6/2.webp diff --git a/game/characters/cho/clothes/top/top_school_6/outline.webp b/game/characters/cho/poses/default/clothes/top/top_school_6/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_6/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_school_6/outline.webp diff --git a/game/characters/cho/clothes/top/top_school_6/skin.webp b/game/characters/cho/poses/default/clothes/top/top_school_6/skin.webp similarity index 100% rename from game/characters/cho/clothes/top/top_school_6/skin.webp rename to game/characters/cho/poses/default/clothes/top/top_school_6/skin.webp diff --git a/game/characters/cho/clothes/top/top_shirt_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_shirt_1/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_shirt_1/0.webp rename to game/characters/cho/poses/default/clothes/top/top_shirt_1/0.webp diff --git a/game/characters/cho/clothes/top/top_shirt_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_shirt_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_shirt_1/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_shirt_1/outline.webp diff --git a/game/characters/cho/clothes/top/top_sweater_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_1/0.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_1/0.webp diff --git a/game/characters/cho/clothes/top/top_sweater_1/0_front.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/0_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_1/0_front.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_1/0_front.webp diff --git a/game/characters/cho/clothes/top/top_sweater_1/1.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/1.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_1/1.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_1/1.webp diff --git a/game/characters/cho/clothes/top/top_sweater_1/1_front.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/1_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_1/1_front.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_1/1_front.webp diff --git a/game/characters/cho/poses/default/clothes/top/top_sweater_1/armfix.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/armfix.webp new file mode 100644 index 00000000..ea2266ad --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_sweater_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183ea04b987eaab585275c67a398a49dd972a736c0acc22042b334f74449d96b +size 6334 diff --git a/game/characters/cho/clothes/top/top_sweater_1/mask.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/mask.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_1/mask.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_1/mask.webp diff --git a/game/characters/cho/clothes/top/top_sweater_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_1/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_1/outline.webp diff --git a/game/characters/cho/clothes/top/top_sweater_1/outline_front.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_1/outline_front.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_1/outline_front.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_1/outline_front.webp diff --git a/game/characters/cho/clothes/top/top_sweater_2/0.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_2/0.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_2/0.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_2/0.webp diff --git a/game/characters/cho/clothes/top/top_sweater_2/outline.webp b/game/characters/cho/poses/default/clothes/top/top_sweater_2/outline.webp similarity index 100% rename from game/characters/cho/clothes/top/top_sweater_2/outline.webp rename to game/characters/cho/poses/default/clothes/top/top_sweater_2/outline.webp diff --git a/game/characters/cho/poses/default/clothes/top/top_tanktop_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_tanktop_1/0.webp new file mode 100644 index 00000000..3f60f183 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_tanktop_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a6a11872e8cba850e44830c18cfd2e40b58f5387aeb3ed04bf245a9b8672627 +size 13254 diff --git a/game/characters/cho/poses/default/clothes/top/top_tanktop_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_tanktop_1/outline.webp new file mode 100644 index 00000000..e9fea2ce --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_tanktop_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25dcbf004b163febef4fd033c4cd49af9ef1c4a956080dac71cc71653ca7c7a2 +size 12006 diff --git a/game/characters/cho/poses/default/clothes/top/top_tanktop_1/skin.webp b/game/characters/cho/poses/default/clothes/top/top_tanktop_1/skin.webp new file mode 100644 index 00000000..29d6fe5d --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_tanktop_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d8460f8cd664de808f63bc165fc6db55186c4399ba87dcaf531122e66994b97 +size 3130 diff --git a/game/characters/cho/poses/default/clothes/top/top_tanktop_2/0.webp b/game/characters/cho/poses/default/clothes/top/top_tanktop_2/0.webp new file mode 100644 index 00000000..186fa7ca --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_tanktop_2/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:420ad4be4a7d8ffdc51c2c3d256f421ee8bf89e9d494f5431036b8640f146b33 +size 11150 diff --git a/game/characters/cho/poses/default/clothes/top/top_tanktop_2/outline.webp b/game/characters/cho/poses/default/clothes/top/top_tanktop_2/outline.webp new file mode 100644 index 00000000..d16be695 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_tanktop_2/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f641c6db4a278cb08fddd6840dfee6a73402f097cf4be0e49ee1547798f386d0 +size 11810 diff --git a/game/characters/cho/poses/default/clothes/top/top_tanktop_2/skin.webp b/game/characters/cho/poses/default/clothes/top/top_tanktop_2/skin.webp new file mode 100644 index 00000000..9f88d8de --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_tanktop_2/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cb25da49d4ef16116e44050363fd8c81130034fc7b7a256d10276fb9dfe9199 +size 2550 diff --git a/game/characters/cho/poses/default/clothes/top/top_virgin_killer/0.webp b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/0.webp new file mode 100644 index 00000000..3830ea8b --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ca95008f05054bb696b8beb0d4ce15030147f24d3a8c0f7277bed40b1b02e1a +size 44372 diff --git a/game/characters/cho/poses/default/clothes/top/top_virgin_killer/1.webp b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/1.webp new file mode 100644 index 00000000..63f36002 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58565edd687ce8ca9488ac5fe35c9df4daeda1c7df0befc4b134f4afd09d2d62 +size 2864 diff --git a/game/characters/cho/poses/default/clothes/top/top_virgin_killer/outline.webp b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/outline.webp new file mode 100644 index 00000000..310d33c2 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cf889c43eb301c18e50bf921b2890a9df4d87cae41a364e34a577a31fcd8e3c +size 20488 diff --git a/game/characters/cho/poses/default/clothes/top/top_virgin_killer/skin.webp b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/skin.webp new file mode 100644 index 00000000..316eeeb7 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_virgin_killer/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f3c30e15c68e61f2193613aff023a879d1ea7373c3a3bdf801f0350a3627345 +size 10896 diff --git a/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/0.webp b/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/0.webp new file mode 100644 index 00000000..74da5ab3 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dcf21f58d04cec6dc6253fc007d10043e49ab073d94ab29b32372f690b7b358 +size 25676 diff --git a/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/outline.webp b/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/outline.webp new file mode 100644 index 00000000..ce549739 --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edda559d82ab47203b5e724cb3e666c1ffcac80f4bb466bb491a397bbe35ba94 +size 15718 diff --git a/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/skin.webp b/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/skin.webp new file mode 100644 index 00000000..160bdffe --- /dev/null +++ b/game/characters/cho/poses/default/clothes/top/top_woolly_sweater_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a1f68bd4f78e574a7295d47d20ff1bbab454d3b18728c3138c2b44c9297c97b +size 1768 diff --git a/game/characters/cho/cum/body/heavy.webp b/game/characters/cho/poses/default/cum/body/heavy/cum.webp similarity index 100% rename from game/characters/cho/cum/body/heavy.webp rename to game/characters/cho/poses/default/cum/body/heavy/cum.webp diff --git a/game/characters/cho/cum/body/heavy_skin.webp b/game/characters/cho/poses/default/cum/body/heavy/skin.webp similarity index 100% rename from game/characters/cho/cum/body/heavy_skin.webp rename to game/characters/cho/poses/default/cum/body/heavy/skin.webp diff --git a/game/characters/cho/cum/body/light.webp b/game/characters/cho/poses/default/cum/body/light/cum.webp similarity index 100% rename from game/characters/cho/cum/body/light.webp rename to game/characters/cho/poses/default/cum/body/light/cum.webp diff --git a/game/characters/cho/cum/body/light_skin.webp b/game/characters/cho/poses/default/cum/body/light/skin.webp similarity index 100% rename from game/characters/cho/cum/body/light_skin.webp rename to game/characters/cho/poses/default/cum/body/light/skin.webp diff --git a/game/characters/cho/cum/breasts/heavy.webp b/game/characters/cho/poses/default/cum/breasts/heavy/cum.webp similarity index 100% rename from game/characters/cho/cum/breasts/heavy.webp rename to game/characters/cho/poses/default/cum/breasts/heavy/cum.webp diff --git a/game/characters/cho/cum/breasts/heavy_skin.webp b/game/characters/cho/poses/default/cum/breasts/heavy/skin.webp similarity index 100% rename from game/characters/cho/cum/breasts/heavy_skin.webp rename to game/characters/cho/poses/default/cum/breasts/heavy/skin.webp diff --git a/game/characters/cho/cum/breasts/light.webp b/game/characters/cho/poses/default/cum/breasts/light/cum.webp similarity index 100% rename from game/characters/cho/cum/breasts/light.webp rename to game/characters/cho/poses/default/cum/breasts/light/cum.webp diff --git a/game/characters/cho/cum/breasts/light_skin.webp b/game/characters/cho/poses/default/cum/breasts/light/skin.webp similarity index 100% rename from game/characters/cho/cum/breasts/light_skin.webp rename to game/characters/cho/poses/default/cum/breasts/light/skin.webp diff --git a/game/characters/cho/cum/crotch/heavy.webp b/game/characters/cho/poses/default/cum/crotch/heavy/cum.webp similarity index 100% rename from game/characters/cho/cum/crotch/heavy.webp rename to game/characters/cho/poses/default/cum/crotch/heavy/cum.webp diff --git a/game/characters/cho/cum/crotch/heavy_skin.webp b/game/characters/cho/poses/default/cum/crotch/heavy/skin.webp similarity index 100% rename from game/characters/cho/cum/crotch/heavy_skin.webp rename to game/characters/cho/poses/default/cum/crotch/heavy/skin.webp diff --git a/game/characters/cho/cum/crotch/light.webp b/game/characters/cho/poses/default/cum/crotch/light/cum.webp similarity index 100% rename from game/characters/cho/cum/crotch/light.webp rename to game/characters/cho/poses/default/cum/crotch/light/cum.webp diff --git a/game/characters/cho/cum/crotch/light_skin.webp b/game/characters/cho/poses/default/cum/crotch/light/skin.webp similarity index 100% rename from game/characters/cho/cum/crotch/light_skin.webp rename to game/characters/cho/poses/default/cum/crotch/light/skin.webp diff --git a/game/characters/cho/cum/face/heavy.webp b/game/characters/cho/poses/default/cum/face/heavy/cum.webp similarity index 100% rename from game/characters/cho/cum/face/heavy.webp rename to game/characters/cho/poses/default/cum/face/heavy/cum.webp diff --git a/game/characters/cho/cum/face/heavy_skin.webp b/game/characters/cho/poses/default/cum/face/heavy/skin.webp similarity index 100% rename from game/characters/cho/cum/face/heavy_skin.webp rename to game/characters/cho/poses/default/cum/face/heavy/skin.webp diff --git a/game/characters/cho/cum/face/light.webp b/game/characters/cho/poses/default/cum/face/light/cum.webp similarity index 100% rename from game/characters/cho/cum/face/light.webp rename to game/characters/cho/poses/default/cum/face/light/cum.webp diff --git a/game/characters/cho/cum/face/light_skin.webp b/game/characters/cho/poses/default/cum/face/light/skin.webp similarity index 100% rename from game/characters/cho/cum/face/light_skin.webp rename to game/characters/cho/poses/default/cum/face/light/skin.webp diff --git a/game/characters/cho/cum/hair/heavy.webp b/game/characters/cho/poses/default/cum/hair/heavy/default/cum.webp similarity index 100% rename from game/characters/cho/cum/hair/heavy.webp rename to game/characters/cho/poses/default/cum/hair/heavy/default/cum.webp diff --git a/game/characters/cho/cum/hair/light.webp b/game/characters/cho/poses/default/cum/hair/light/default/cum.webp similarity index 100% rename from game/characters/cho/cum/hair/light.webp rename to game/characters/cho/poses/default/cum/hair/light/default/cum.webp diff --git a/game/characters/cho/cum/legs/heavy.webp b/game/characters/cho/poses/default/cum/legs/heavy/cum.webp similarity index 100% rename from game/characters/cho/cum/legs/heavy.webp rename to game/characters/cho/poses/default/cum/legs/heavy/cum.webp diff --git a/game/characters/cho/cum/legs/heavy_skin.webp b/game/characters/cho/poses/default/cum/legs/heavy/skin.webp similarity index 100% rename from game/characters/cho/cum/legs/heavy_skin.webp rename to game/characters/cho/poses/default/cum/legs/heavy/skin.webp diff --git a/game/characters/cho/cum/legs/light.webp b/game/characters/cho/poses/default/cum/legs/light/cum.webp similarity index 100% rename from game/characters/cho/cum/legs/light.webp rename to game/characters/cho/poses/default/cum/legs/light/cum.webp diff --git a/game/characters/cho/cum/legs/light_skin.webp b/game/characters/cho/poses/default/cum/legs/light/skin.webp similarity index 100% rename from game/characters/cho/cum/legs/light_skin.webp rename to game/characters/cho/poses/default/cum/legs/light/skin.webp diff --git a/game/characters/cho/cum/pussy/heavy.webp b/game/characters/cho/poses/default/cum/pussy/heavy/cum.webp similarity index 100% rename from game/characters/cho/cum/pussy/heavy.webp rename to game/characters/cho/poses/default/cum/pussy/heavy/cum.webp diff --git a/game/characters/cho/cum/pussy/light.webp b/game/characters/cho/poses/default/cum/pussy/light/cum.webp similarity index 100% rename from game/characters/cho/cum/pussy/light.webp rename to game/characters/cho/poses/default/cum/pussy/light/cum.webp diff --git a/game/characters/cho/emote/angry.webp b/game/characters/cho/poses/default/emote/angry.webp similarity index 100% rename from game/characters/cho/emote/angry.webp rename to game/characters/cho/poses/default/emote/angry.webp diff --git a/game/characters/cho/emote/confused.webp b/game/characters/cho/poses/default/emote/confused.webp similarity index 100% rename from game/characters/cho/emote/confused.webp rename to game/characters/cho/poses/default/emote/confused.webp diff --git a/game/characters/cho/emote/happy.webp b/game/characters/cho/poses/default/emote/happy.webp similarity index 100% rename from game/characters/cho/emote/happy.webp rename to game/characters/cho/poses/default/emote/happy.webp diff --git a/game/characters/cho/emote/hearts.webp b/game/characters/cho/poses/default/emote/hearts.webp similarity index 100% rename from game/characters/cho/emote/hearts.webp rename to game/characters/cho/poses/default/emote/hearts.webp diff --git a/game/characters/cho/emote/shocked.webp b/game/characters/cho/poses/default/emote/shocked.webp similarity index 100% rename from game/characters/cho/emote/shocked.webp rename to game/characters/cho/poses/default/emote/shocked.webp diff --git a/game/characters/cho/emote/sweat.webp b/game/characters/cho/poses/default/emote/sweat.webp similarity index 100% rename from game/characters/cho/emote/sweat.webp rename to game/characters/cho/poses/default/emote/sweat.webp diff --git a/game/characters/cho/face/cheeks/blush.webp b/game/characters/cho/poses/default/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/cho/face/cheeks/blush.webp rename to game/characters/cho/poses/default/face/cheeks/blush/expression.webp diff --git a/game/characters/cho/face/cheeks/heavy_blush.webp b/game/characters/cho/poses/default/face/cheeks/heavy_blush/expression.webp similarity index 100% rename from game/characters/cho/face/cheeks/heavy_blush.webp rename to game/characters/cho/poses/default/face/cheeks/heavy_blush/expression.webp diff --git a/game/characters/cho/face/eyebrows/angry.webp b/game/characters/cho/poses/default/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/cho/face/eyebrows/angry.webp rename to game/characters/cho/poses/default/face/eyebrows/angry/expression.webp diff --git a/game/characters/cho/face/eyebrows/angry_skin.webp b/game/characters/cho/poses/default/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/cho/face/eyebrows/angry_skin.webp rename to game/characters/cho/poses/default/face/eyebrows/angry/skin.webp diff --git a/game/characters/cho/face/eyebrows/base.webp b/game/characters/cho/poses/default/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/cho/face/eyebrows/base.webp rename to game/characters/cho/poses/default/face/eyebrows/base/expression.webp diff --git a/game/characters/cho/face/eyebrows/base_skin.webp b/game/characters/cho/poses/default/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/cho/face/eyebrows/base_skin.webp rename to game/characters/cho/poses/default/face/eyebrows/base/skin.webp diff --git a/game/characters/cho/face/eyebrows/raised.webp b/game/characters/cho/poses/default/face/eyebrows/raised/expression.webp similarity index 100% rename from game/characters/cho/face/eyebrows/raised.webp rename to game/characters/cho/poses/default/face/eyebrows/raised/expression.webp diff --git a/game/characters/cho/face/eyebrows/raised_skin.webp b/game/characters/cho/poses/default/face/eyebrows/raised/skin.webp similarity index 100% rename from game/characters/cho/face/eyebrows/raised_skin.webp rename to game/characters/cho/poses/default/face/eyebrows/raised/skin.webp diff --git a/game/characters/cho/face/eyebrows/worried.webp b/game/characters/cho/poses/default/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/cho/face/eyebrows/worried.webp rename to game/characters/cho/poses/default/face/eyebrows/worried/expression.webp diff --git a/game/characters/cho/face/eyebrows/worried_skin.webp b/game/characters/cho/poses/default/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/cho/face/eyebrows/worried_skin.webp rename to game/characters/cho/poses/default/face/eyebrows/worried/skin.webp diff --git a/game/characters/cho/face/eyes/base.webp b/game/characters/cho/poses/default/face/eyes/base/expression.webp similarity index 100% rename from game/characters/cho/face/eyes/base.webp rename to game/characters/cho/poses/default/face/eyes/base/expression.webp diff --git a/game/characters/cho/face/eyes/base_mask.webp b/game/characters/cho/poses/default/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/cho/face/eyes/base_mask.webp rename to game/characters/cho/poses/default/face/eyes/base/eyemask.webp diff --git a/game/characters/cho/face/eyes/base_skin.webp b/game/characters/cho/poses/default/face/eyes/base/skin.webp similarity index 100% rename from game/characters/cho/face/eyes/base_skin.webp rename to game/characters/cho/poses/default/face/eyes/base/skin.webp diff --git a/game/characters/cho/face/eyes/closed.webp b/game/characters/cho/poses/default/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/cho/face/eyes/closed.webp rename to game/characters/cho/poses/default/face/eyes/closed/expression.webp diff --git a/game/characters/cho/face/eyes/closed_skin.webp b/game/characters/cho/poses/default/face/eyes/closed/skin.webp similarity index 100% rename from game/characters/cho/face/eyes/closed_skin.webp rename to game/characters/cho/poses/default/face/eyes/closed/skin.webp diff --git a/game/characters/cho/face/eyes/happyCl.webp b/game/characters/cho/poses/default/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/cho/face/eyes/happyCl.webp rename to game/characters/cho/poses/default/face/eyes/happyCl/expression.webp diff --git a/game/characters/cho/face/eyes/happyCl_skin.webp b/game/characters/cho/poses/default/face/eyes/happyCl/skin.webp similarity index 100% rename from game/characters/cho/face/eyes/happyCl_skin.webp rename to game/characters/cho/poses/default/face/eyes/happyCl/skin.webp diff --git a/game/characters/cho/face/eyes/narrow.webp b/game/characters/cho/poses/default/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/cho/face/eyes/narrow.webp rename to game/characters/cho/poses/default/face/eyes/narrow/expression.webp diff --git a/game/characters/cho/face/eyes/narrow_mask.webp b/game/characters/cho/poses/default/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/cho/face/eyes/narrow_mask.webp rename to game/characters/cho/poses/default/face/eyes/narrow/eyemask.webp diff --git a/game/characters/cho/face/eyes/narrow_skin.webp b/game/characters/cho/poses/default/face/eyes/narrow/skin.webp similarity index 100% rename from game/characters/cho/face/eyes/narrow_skin.webp rename to game/characters/cho/poses/default/face/eyes/narrow/skin.webp diff --git a/game/characters/cho/face/eyes/wide.webp b/game/characters/cho/poses/default/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/cho/face/eyes/wide.webp rename to game/characters/cho/poses/default/face/eyes/wide/expression.webp diff --git a/game/characters/cho/face/eyes/wide_mask.webp b/game/characters/cho/poses/default/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/cho/face/eyes/wide_mask.webp rename to game/characters/cho/poses/default/face/eyes/wide/eyemask.webp diff --git a/game/characters/cho/face/eyes/wide_skin.webp b/game/characters/cho/poses/default/face/eyes/wide/skin.webp similarity index 100% rename from game/characters/cho/face/eyes/wide_skin.webp rename to game/characters/cho/poses/default/face/eyes/wide/skin.webp diff --git a/game/characters/cho/face/eyes/wink.webp b/game/characters/cho/poses/default/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/cho/face/eyes/wink.webp rename to game/characters/cho/poses/default/face/eyes/wink/expression.webp diff --git a/game/characters/cho/face/eyes/wink_mask.webp b/game/characters/cho/poses/default/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/cho/face/eyes/wink_mask.webp rename to game/characters/cho/poses/default/face/eyes/wink/eyemask.webp diff --git a/game/characters/cho/face/eyes/wink_skin.webp b/game/characters/cho/poses/default/face/eyes/wink/skin.webp similarity index 100% rename from game/characters/cho/face/eyes/wink_skin.webp rename to game/characters/cho/poses/default/face/eyes/wink/skin.webp diff --git a/game/characters/cho/face/mouth/angry.webp b/game/characters/cho/poses/default/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/angry.webp rename to game/characters/cho/poses/default/face/mouth/angry/expression.webp diff --git a/game/characters/cho/face/mouth/annoyed.webp b/game/characters/cho/poses/default/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/annoyed.webp rename to game/characters/cho/poses/default/face/mouth/annoyed/expression.webp diff --git a/game/characters/cho/face/mouth/base.webp b/game/characters/cho/poses/default/face/mouth/base/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/base.webp rename to game/characters/cho/poses/default/face/mouth/base/expression.webp diff --git a/game/characters/cho/face/mouth/clench.webp b/game/characters/cho/poses/default/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/clench.webp rename to game/characters/cho/poses/default/face/mouth/clench/expression.webp diff --git a/game/characters/cho/face/mouth/crooked_smile.webp b/game/characters/cho/poses/default/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/crooked_smile.webp rename to game/characters/cho/poses/default/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/cho/face/mouth/disgust.webp b/game/characters/cho/poses/default/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/disgust.webp rename to game/characters/cho/poses/default/face/mouth/disgust/expression.webp diff --git a/game/characters/cho/face/mouth/grin.webp b/game/characters/cho/poses/default/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/grin.webp rename to game/characters/cho/poses/default/face/mouth/grin/expression.webp diff --git a/game/characters/cho/face/mouth/horny.webp b/game/characters/cho/poses/default/face/mouth/horny/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/horny.webp rename to game/characters/cho/poses/default/face/mouth/horny/expression.webp diff --git a/game/characters/cho/face/mouth/mad.webp b/game/characters/cho/poses/default/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/mad.webp rename to game/characters/cho/poses/default/face/mouth/mad/expression.webp diff --git a/game/characters/cho/face/mouth/normal.webp b/game/characters/cho/poses/default/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/normal.webp rename to game/characters/cho/poses/default/face/mouth/normal/expression.webp diff --git a/game/characters/cho/face/mouth/open.webp b/game/characters/cho/poses/default/face/mouth/open/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/open.webp rename to game/characters/cho/poses/default/face/mouth/open/expression.webp diff --git a/game/characters/cho/face/mouth/open_tongue.webp b/game/characters/cho/poses/default/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/open_tongue.webp rename to game/characters/cho/poses/default/face/mouth/open_tongue/expression.webp diff --git a/game/characters/cho/face/mouth/open_wide_tongue.webp b/game/characters/cho/poses/default/face/mouth/open_wide_tongue/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/open_wide_tongue.webp rename to game/characters/cho/poses/default/face/mouth/open_wide_tongue/expression.webp diff --git a/game/characters/cho/face/mouth/quiver.webp b/game/characters/cho/poses/default/face/mouth/quiver/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/quiver.webp rename to game/characters/cho/poses/default/face/mouth/quiver/expression.webp diff --git a/game/characters/cho/face/mouth/scream.webp b/game/characters/cho/poses/default/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/scream.webp rename to game/characters/cho/poses/default/face/mouth/scream/expression.webp diff --git a/game/characters/cho/face/mouth/silly.webp b/game/characters/cho/poses/default/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/silly.webp rename to game/characters/cho/poses/default/face/mouth/silly/expression.webp diff --git a/game/characters/cho/face/mouth/smile.webp b/game/characters/cho/poses/default/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/smile.webp rename to game/characters/cho/poses/default/face/mouth/smile/expression.webp diff --git a/game/characters/cho/face/mouth/soft.webp b/game/characters/cho/poses/default/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/soft.webp rename to game/characters/cho/poses/default/face/mouth/soft/expression.webp diff --git a/game/characters/cho/face/mouth/upset.webp b/game/characters/cho/poses/default/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/cho/face/mouth/upset.webp rename to game/characters/cho/poses/default/face/mouth/upset/expression.webp diff --git a/game/characters/cho/face/pupils/L.webp b/game/characters/cho/poses/default/face/pupils/L/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/L.webp rename to game/characters/cho/poses/default/face/pupils/L/expression.webp diff --git a/game/characters/cho/face/pupils/R.webp b/game/characters/cho/poses/default/face/pupils/R/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/R.webp rename to game/characters/cho/poses/default/face/pupils/R/expression.webp diff --git a/game/characters/cho/face/pupils/ahegao.webp b/game/characters/cho/poses/default/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/ahegao.webp rename to game/characters/cho/poses/default/face/pupils/ahegao/expression.webp diff --git a/game/characters/cho/face/pupils/down.webp b/game/characters/cho/poses/default/face/pupils/down/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/down.webp rename to game/characters/cho/poses/default/face/pupils/down/expression.webp diff --git a/game/characters/cho/face/pupils/downR.webp b/game/characters/cho/poses/default/face/pupils/downR/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/downR.webp rename to game/characters/cho/poses/default/face/pupils/downR/expression.webp diff --git a/game/characters/cho/face/pupils/mid.webp b/game/characters/cho/poses/default/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/mid.webp rename to game/characters/cho/poses/default/face/pupils/mid/expression.webp diff --git a/game/characters/cho/face/pupils/stare.webp b/game/characters/cho/poses/default/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/stare.webp rename to game/characters/cho/poses/default/face/pupils/stare/expression.webp diff --git a/game/characters/cho/face/pupils/up.webp b/game/characters/cho/poses/default/face/pupils/up/expression.webp similarity index 100% rename from game/characters/cho/face/pupils/up.webp rename to game/characters/cho/poses/default/face/pupils/up/expression.webp diff --git a/game/characters/cho/face/tears/tears_1.webp b/game/characters/cho/poses/default/face/tears/tears_1.webp similarity index 100% rename from game/characters/cho/face/tears/tears_1.webp rename to game/characters/cho/poses/default/face/tears/tears_1.webp diff --git a/game/characters/cho/face/tears/tears_2.webp b/game/characters/cho/poses/default/face/tears/tears_2.webp similarity index 100% rename from game/characters/cho/face/tears/tears_2.webp rename to game/characters/cho/poses/default/face/tears/tears_2.webp diff --git a/game/characters/cho/face/tears/tears_3.webp b/game/characters/cho/poses/default/face/tears/tears_3.webp similarity index 100% rename from game/characters/cho/face/tears/tears_3.webp rename to game/characters/cho/poses/default/face/tears/tears_3.webp diff --git a/game/characters/cho/face/tears/tears_4.webp b/game/characters/cho/poses/default/face/tears/tears_4.webp similarity index 100% rename from game/characters/cho/face/tears/tears_4.webp rename to game/characters/cho/poses/default/face/tears/tears_4.webp diff --git a/game/characters/cho/poses/wand/bodyparts/frame/default/skin.webp b/game/characters/cho/poses/wand/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..988dadb7 --- /dev/null +++ b/game/characters/cho/poses/wand/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9eb63b366a8812d2f4b6c994cb03d0c5c7c39e394985c98b9e48d3801848a5c +size 81508 diff --git a/game/characters/cho/poses/wand/chibi/stand/bodyparts/frame/default/skin.webp b/game/characters/cho/poses/wand/chibi/stand/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..c371ccf1 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c6ec1d617cca3fbc225b723b0508eebeacb1f08b2ff222e96c7fff54ceae959 +size 55068 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/bottom/default/overlay.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/bottom/default/overlay.webp new file mode 100644 index 00000000..a803a057 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/bottom/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a68b683210f8a060548a4abd49dbaed6497917d25f5feee949c9b8a0b632146f +size 10838 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/bottom/school_skirt_1/0.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/bottom/school_skirt_1/0.webp new file mode 100644 index 00000000..a803a057 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/bottom/school_skirt_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a68b683210f8a060548a4abd49dbaed6497917d25f5feee949c9b8a0b632146f +size 10838 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/bra/basic_bra_1/0.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/bra/basic_bra_1/0.webp new file mode 100644 index 00000000..43a7c635 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/bra/basic_bra_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183923d268c2a33233ff8a3be265247ac06af3601df359c02d5cbcb6f094d799 +size 6860 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/bra/default/overlay.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/bra/default/overlay.webp new file mode 100644 index 00000000..43a7c635 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/bra/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183923d268c2a33233ff8a3be265247ac06af3601df359c02d5cbcb6f094d799 +size 6860 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/footwear/default/overlay.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/footwear/default/overlay.webp new file mode 100644 index 00000000..842f54f3 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/footwear/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c320fbda915a6df576f4505eefe470670f562578f1434d9888d8250b643b9d21 +size 4196 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/panties/basic_panties_1/0.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/panties/basic_panties_1/0.webp new file mode 100644 index 00000000..0b6d637f --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/panties/basic_panties_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b152dd269de3da1ef6deb4d4fdfd2988bc35f74a4864282b6e37a73a04cd2fd +size 3234 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/panties/default/overlay.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/panties/default/overlay.webp new file mode 100644 index 00000000..0b6d637f --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/panties/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b152dd269de3da1ef6deb4d4fdfd2988bc35f74a4864282b6e37a73a04cd2fd +size 3234 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0.webp new file mode 100644 index 00000000..3eb0b204 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75f2c589fba557847c3529ecd2f0e2393a38c734580a0de305adf54000f2b82 +size 20018 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0_back.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0_back.webp new file mode 100644 index 00000000..887d07ce --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5996d939aa5eec9040e838de2536c1366b8d4228a46e7b3859c6844b8471f68b +size 9200 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/stockings/house/outline.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/stockings/house/outline.webp new file mode 100644 index 00000000..a7e4e37c --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/stockings/house/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08d88ed2df8d780986897692bc31d3c33175160d487c0b10adfc4083490142d9 +size 15932 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/top/default/overlay.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/top/default/overlay.webp new file mode 100644 index 00000000..d5722c03 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/top/default/overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:353cae5ae13f2ef4d5b655fb3aac15c94a2b1a03fe7958afd0f07539b516efa4 +size 18626 diff --git a/game/characters/cho/poses/wand/chibi/stand/clothes/top/top_school_1/outline.webp b/game/characters/cho/poses/wand/chibi/stand/clothes/top/top_school_1/outline.webp new file mode 100644 index 00000000..d5722c03 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/stand/clothes/top/top_school_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:353cae5ae13f2ef4d5b655fb3aac15c94a2b1a03fe7958afd0f07539b516efa4 +size 18626 diff --git a/game/characters/cho/poses/wand/chibi/walk/bodyparts/frame/default/skin.webp b/game/characters/cho/poses/wand/chibi/walk/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..224f2da0 --- /dev/null +++ b/game/characters/cho/poses/wand/chibi/walk/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693a1cd1cf74969c587b006bc74e733556c862a3996df9e47259215da98fcd5d +size 389014 diff --git a/game/characters/cho/poses/wand/clothes/hair/pigtails/0.webp b/game/characters/cho/poses/wand/clothes/hair/pigtails/0.webp new file mode 100644 index 00000000..2fa15bdd --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/pigtails/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e90287f940a447411db0371a1c1b488f7a4f36f75effd27c22c3b25c0401ae39 +size 4554 diff --git a/game/characters/cho/poses/wand/clothes/hair/pigtails/1.webp b/game/characters/cho/poses/wand/clothes/hair/pigtails/1.webp new file mode 100644 index 00000000..fe75ac9c --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/pigtails/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab14892664604b3505386a11197c15a79e543752628211943f4156e4d2d4e521 +size 11464 diff --git a/game/characters/cho/poses/wand/clothes/hair/pigtails/2.webp b/game/characters/cho/poses/wand/clothes/hair/pigtails/2.webp new file mode 100644 index 00000000..a9b6d302 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/pigtails/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d68df7e4c6931a2bb366e1a96d4c8b94a5b3c0bba048f4fb911021132d4ecd5 +size 1250 diff --git a/game/characters/cho/poses/wand/clothes/hair/pigtails/outline.webp b/game/characters/cho/poses/wand/clothes/hair/pigtails/outline.webp new file mode 100644 index 00000000..8dcc9a79 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/pigtails/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f10ad19290ce9ac76f9fbc42f694e0e376aca68661bcb7aa330b6419daad927 +size 9452 diff --git a/game/characters/cho/poses/wand/clothes/hair/pigtails/skin.webp b/game/characters/cho/poses/wand/clothes/hair/pigtails/skin.webp new file mode 100644 index 00000000..e1cad9d6 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/pigtails/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0be2914e56536c36fcdd9176916d99841197e5c0c4586ace70cb6e0b0707f29 +size 1446 diff --git a/game/characters/cho/poses/wand/clothes/hair/ponytail/0.webp b/game/characters/cho/poses/wand/clothes/hair/ponytail/0.webp new file mode 100644 index 00000000..78478d5f --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/ponytail/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f96581f4ca242f1b9de98b283bc65b643e43407eaba82e3d1d89b7de9a7dc5e +size 3912 diff --git a/game/characters/cho/poses/wand/clothes/hair/ponytail/0_back.webp b/game/characters/cho/poses/wand/clothes/hair/ponytail/0_back.webp new file mode 100644 index 00000000..a169ea85 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/ponytail/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5eefc0d596f8d8311b58bb4b012822edd3b1c5dfbc6bc9d3552d4221fb329c6 +size 2556 diff --git a/game/characters/cho/poses/wand/clothes/hair/ponytail/1.webp b/game/characters/cho/poses/wand/clothes/hair/ponytail/1.webp new file mode 100644 index 00000000..fffa7aab --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/ponytail/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87cd99b430d4e508c7cb3c28576ac7bcc92410c4aa1904372f853efda5fa3bf9 +size 5710 diff --git a/game/characters/cho/poses/wand/clothes/hair/ponytail/1_back.webp b/game/characters/cho/poses/wand/clothes/hair/ponytail/1_back.webp new file mode 100644 index 00000000..c31ea7ac --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/ponytail/1_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24f51494257fc0b0cb8760a04277a0f1fa3661f01b3ba5026ff4ec4f108caa7c +size 8084 diff --git a/game/characters/cho/poses/wand/clothes/hair/ponytail/outline.webp b/game/characters/cho/poses/wand/clothes/hair/ponytail/outline.webp new file mode 100644 index 00000000..8aea23cb --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/ponytail/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e706e27552eb2f84a4a65be7ff96a54122979d146833fae42beff45df656b82 +size 9536 diff --git a/game/characters/cho/poses/wand/clothes/hair/ponytail/outline_back.webp b/game/characters/cho/poses/wand/clothes/hair/ponytail/outline_back.webp new file mode 100644 index 00000000..08852cc6 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/ponytail/outline_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78b2ee84a8008eb05f04925013c494fce5aa705eab046825ed7996fb83e3d16f +size 9740 diff --git a/game/characters/cho/poses/wand/clothes/hair/ponytail/skin.webp b/game/characters/cho/poses/wand/clothes/hair/ponytail/skin.webp new file mode 100644 index 00000000..55a73438 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/ponytail/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4fc68dd2cd8a71a99024d306a98ea5d37c460f555f3b2db74bc270e69829178 +size 2020 diff --git a/game/characters/cho/poses/wand/clothes/hair/smurfette/0.webp b/game/characters/cho/poses/wand/clothes/hair/smurfette/0.webp new file mode 100644 index 00000000..d06d55ce --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/smurfette/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2244cf8fa45b13272065fa47465e6aa58973af9374cda98aa239193e79266515 +size 17160 diff --git a/game/characters/cho/poses/wand/clothes/hair/smurfette/0_back.webp b/game/characters/cho/poses/wand/clothes/hair/smurfette/0_back.webp new file mode 100644 index 00000000..8066989a --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/smurfette/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:854e0b5cf489b66fd29644bd67051087e64186c2a1e618756dccbee17e9982ae +size 17064 diff --git a/game/characters/cho/poses/wand/clothes/hair/smurfette/1.webp b/game/characters/cho/poses/wand/clothes/hair/smurfette/1.webp new file mode 100644 index 00000000..99cbcd9d --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/smurfette/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9589daa57b1f9154ff52c7f01892784b742cd26d1692f4d3df0055febd37570 +size 19236 diff --git a/game/characters/cho/poses/wand/clothes/hair/smurfette/1_back.webp b/game/characters/cho/poses/wand/clothes/hair/smurfette/1_back.webp new file mode 100644 index 00000000..3131d295 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/smurfette/1_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3474df34bbdb01440ab91cb080b764cf15a718fbc6fe9b784f5f5d0c2e9ffe28 +size 15860 diff --git a/game/characters/cho/poses/wand/clothes/hair/smurfette/outline.webp b/game/characters/cho/poses/wand/clothes/hair/smurfette/outline.webp new file mode 100644 index 00000000..dbe3fd46 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/smurfette/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8110b9513189470808090c8ad72b87d06213a8eb1be254174d295cadb384ac5d +size 16670 diff --git a/game/characters/cho/poses/wand/clothes/hair/smurfette/outline_back.webp b/game/characters/cho/poses/wand/clothes/hair/smurfette/outline_back.webp new file mode 100644 index 00000000..5384482f --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/smurfette/outline_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef173278db24af125d55b7205d5b928e7575a1a92903638948dc02a6e5d2acd4 +size 15724 diff --git a/game/characters/cho/poses/wand/clothes/hair/smurfette/skin.webp b/game/characters/cho/poses/wand/clothes/hair/smurfette/skin.webp new file mode 100644 index 00000000..587f0436 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/hair/smurfette/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53b7edf40519bb2d998f37385f3e84a73c949514ee1b63cdfee73fe900344d34 +size 10140 diff --git a/game/characters/cho/poses/wand/clothes/pubes/arrow/0.webp b/game/characters/cho/poses/wand/clothes/pubes/arrow/0.webp new file mode 100644 index 00000000..9b1a398b --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/arrow/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0588740fbaddb6f9c4a8d88513fae572935f4d102a0efcb6a90d6177989c2a0 +size 1708 diff --git a/game/characters/cho/poses/wand/clothes/pubes/arrow/outline.webp b/game/characters/cho/poses/wand/clothes/pubes/arrow/outline.webp new file mode 100644 index 00000000..746bb900 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/arrow/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7346fe18cb3e93180b7729202444f1b0d40207be59026bc66bfa5773199157d0 +size 1150 diff --git a/game/characters/cho/poses/wand/clothes/pubes/beaver/0.webp b/game/characters/cho/poses/wand/clothes/pubes/beaver/0.webp new file mode 100644 index 00000000..2480f545 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/beaver/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f037057609e8fc41419a4a084865821abf943bbaa0b1383e51e5fdd876f1a69 +size 2624 diff --git a/game/characters/cho/poses/wand/clothes/pubes/beaver/outline.webp b/game/characters/cho/poses/wand/clothes/pubes/beaver/outline.webp new file mode 100644 index 00000000..e0b82b34 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/beaver/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03abf6bf883ddfaecb1e77055ab643102bc5c45784c81393385fae71c1a86aa0 +size 2584 diff --git a/game/characters/cho/poses/wand/clothes/pubes/heart/0.webp b/game/characters/cho/poses/wand/clothes/pubes/heart/0.webp new file mode 100644 index 00000000..cc6fcab7 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/heart/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7922d03f542f1d7fc3b04bc108863d205a6562c7805606260c8340b285ef1ebd +size 674 diff --git a/game/characters/cho/poses/wand/clothes/pubes/heart/1.webp b/game/characters/cho/poses/wand/clothes/pubes/heart/1.webp new file mode 100644 index 00000000..60352955 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/heart/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31279f2d5d8ec4e75bf3161696331db771ef42caac116fc0a3b225b9720b8e95 +size 726 diff --git a/game/characters/cho/poses/wand/clothes/pubes/heart/extra.webp b/game/characters/cho/poses/wand/clothes/pubes/heart/extra.webp new file mode 100644 index 00000000..bf9fe215 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/heart/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2113cce44192cffbec6310f4c2cdc2f4cc205c1e1d50e038f93fbb548d1ec7c9 +size 580 diff --git a/game/characters/cho/poses/wand/clothes/pubes/heart/outline.webp b/game/characters/cho/poses/wand/clothes/pubes/heart/outline.webp new file mode 100644 index 00000000..a0dcfea3 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/heart/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39211c5e21b552bdc60ba08254704ae4d623b34a7a3707028ad97668f64c1d9a +size 788 diff --git a/game/characters/cho/poses/wand/clothes/pubes/stuble/0.webp b/game/characters/cho/poses/wand/clothes/pubes/stuble/0.webp new file mode 100644 index 00000000..51821213 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/stuble/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31e03424c3c185b04c22273bd5c38fac29db5a0838dfe0fa09f0ce05edbb37d1 +size 1068 diff --git a/game/characters/cho/poses/wand/clothes/pubes/thick/0.webp b/game/characters/cho/poses/wand/clothes/pubes/thick/0.webp new file mode 100644 index 00000000..1c56fab0 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/thick/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83dc974bc7e24052f681b4e1ed26502f902bbc81345620b1cd9fe7801c60028e +size 1224 diff --git a/game/characters/cho/poses/wand/clothes/pubes/thick/1.webp b/game/characters/cho/poses/wand/clothes/pubes/thick/1.webp new file mode 100644 index 00000000..d2e9008e --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/thick/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e345e4e3b7c63fa894cb865d29cd7946db104150f68f99a58c1d7d6516a01007 +size 2352 diff --git a/game/characters/cho/poses/wand/clothes/pubes/thick/extra.webp b/game/characters/cho/poses/wand/clothes/pubes/thick/extra.webp new file mode 100644 index 00000000..42b96769 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/thick/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e5f4320eaaec45abda1fce3011e3347166f95a01f5c4cc3ac578528bf74f362 +size 1806 diff --git a/game/characters/cho/poses/wand/clothes/pubes/thick/outline.webp b/game/characters/cho/poses/wand/clothes/pubes/thick/outline.webp new file mode 100644 index 00000000..cab73981 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/thick/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e608751352f92099b5ba608892877e8f2b398e50745442c2f6c531633184151 +size 1546 diff --git a/game/characters/cho/poses/wand/clothes/pubes/unshaved/0.webp b/game/characters/cho/poses/wand/clothes/pubes/unshaved/0.webp new file mode 100644 index 00000000..ceec6b29 --- /dev/null +++ b/game/characters/cho/poses/wand/clothes/pubes/unshaved/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4ca54727f0dc2d533d2ee5440185e4183e0e391be7cabafec7213cd33595728 +size 1968 diff --git a/game/characters/cho/poses/wand/emote/angry.webp b/game/characters/cho/poses/wand/emote/angry.webp new file mode 100644 index 00000000..38239eef --- /dev/null +++ b/game/characters/cho/poses/wand/emote/angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adb2758a72a7888bf1f25b63fda1028af785bb3024441b7f323763195edee9a1 +size 3112 diff --git a/game/characters/cho/poses/wand/emote/confused.webp b/game/characters/cho/poses/wand/emote/confused.webp new file mode 100644 index 00000000..da69c516 --- /dev/null +++ b/game/characters/cho/poses/wand/emote/confused.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19fe247adf32bbb0ed940ac11d8e856fe023c152e266e02e1205d37368089fd2 +size 17784 diff --git a/game/characters/cho/poses/wand/emote/happy.webp b/game/characters/cho/poses/wand/emote/happy.webp new file mode 100644 index 00000000..5ead5663 --- /dev/null +++ b/game/characters/cho/poses/wand/emote/happy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8753fadc63a96fc49d26bbbf0d4de061da22530f5f80634aa5366439160bf69c +size 12874 diff --git a/game/characters/cho/poses/wand/emote/hearts.webp b/game/characters/cho/poses/wand/emote/hearts.webp new file mode 100644 index 00000000..7a8a98ae --- /dev/null +++ b/game/characters/cho/poses/wand/emote/hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fe160dd14b03b8ee6f559cd7e139afd72a42370cc0653fd27a0de1c904c78d8 +size 20910 diff --git a/game/characters/cho/poses/wand/emote/shocked.webp b/game/characters/cho/poses/wand/emote/shocked.webp new file mode 100644 index 00000000..515c7b3e --- /dev/null +++ b/game/characters/cho/poses/wand/emote/shocked.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be45f50f6069f0ab10386cafa7d6918ffba6499b1f1052aaca9bf7a8af374c84 +size 12642 diff --git a/game/characters/cho/poses/wand/emote/sweat.webp b/game/characters/cho/poses/wand/emote/sweat.webp new file mode 100644 index 00000000..b9eb684c --- /dev/null +++ b/game/characters/cho/poses/wand/emote/sweat.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4507c487c7491144417b4aedade70f37c8bc3ea0245ed41b93acfb8363adc5 +size 3654 diff --git a/game/characters/cho/poses/wand/face/cheeks/blush/expression.webp b/game/characters/cho/poses/wand/face/cheeks/blush/expression.webp new file mode 100644 index 00000000..daaf2ebd --- /dev/null +++ b/game/characters/cho/poses/wand/face/cheeks/blush/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36a5544797bb4fcea1f7a41c6acbd5eae4ba196e58f38753cc7e5f882c03d417 +size 2008 diff --git a/game/characters/cho/poses/wand/face/cheeks/heavy_blush/expression.webp b/game/characters/cho/poses/wand/face/cheeks/heavy_blush/expression.webp new file mode 100644 index 00000000..d2a3882a --- /dev/null +++ b/game/characters/cho/poses/wand/face/cheeks/heavy_blush/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d0d7fa3bcf3894deb6c8fc734dc028e14302d49e018b3ca50d6b752954bf0b9 +size 4526 diff --git a/game/characters/cho/poses/wand/face/eyebrows/angry/expression.webp b/game/characters/cho/poses/wand/face/eyebrows/angry/expression.webp new file mode 100644 index 00000000..09e232d1 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/angry/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be353cc7720eea2ecd78716de291424d8875a710ff449d62329ae515d44f0730 +size 1720 diff --git a/game/characters/cho/poses/wand/face/eyebrows/angry/skin.webp b/game/characters/cho/poses/wand/face/eyebrows/angry/skin.webp new file mode 100644 index 00000000..83285d2a --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/angry/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97b5552c9c2d99e3baeb886d5fe4c990f164043d83ba34babe4da81126015edd +size 1126 diff --git a/game/characters/cho/poses/wand/face/eyebrows/base/expression.webp b/game/characters/cho/poses/wand/face/eyebrows/base/expression.webp new file mode 100644 index 00000000..d8c41ea9 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbdec5bd45c92fb646c17d3330bb774724e20e19a9b2d26ea5352d0143cd8415 +size 1576 diff --git a/game/characters/cho/poses/wand/face/eyebrows/base/skin.webp b/game/characters/cho/poses/wand/face/eyebrows/base/skin.webp new file mode 100644 index 00000000..e8d0ee93 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eba6a819adac52ba8648fbf3c2792c7a0818a896f353447ea82ac8756bf0fc84 +size 1244 diff --git a/game/characters/cho/poses/wand/face/eyebrows/raised/expression.webp b/game/characters/cho/poses/wand/face/eyebrows/raised/expression.webp new file mode 100644 index 00000000..3ba9cbfd --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/raised/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08a318d483852164d339fd48877b43b64cddfd896c8d273de214d07b02f475cf +size 2614 diff --git a/game/characters/cho/poses/wand/face/eyebrows/raised/skin.webp b/game/characters/cho/poses/wand/face/eyebrows/raised/skin.webp new file mode 100644 index 00000000..e8d0ee93 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/raised/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eba6a819adac52ba8648fbf3c2792c7a0818a896f353447ea82ac8756bf0fc84 +size 1244 diff --git a/game/characters/cho/poses/wand/face/eyebrows/worried/expression.webp b/game/characters/cho/poses/wand/face/eyebrows/worried/expression.webp new file mode 100644 index 00000000..a4fae257 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/worried/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31bbb4a124f0468174f0b87d8844f80fc4527b22130c6ffc68da2d71f1d8ffeb +size 1604 diff --git a/game/characters/cho/poses/wand/face/eyebrows/worried/skin.webp b/game/characters/cho/poses/wand/face/eyebrows/worried/skin.webp new file mode 100644 index 00000000..7ebcc7f8 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyebrows/worried/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8ea192b414a69c38eb169054fbe3b889e23e65a034511c1f0cf47be4a89b91b +size 1224 diff --git a/game/characters/cho/poses/wand/face/eyes/base/expression.webp b/game/characters/cho/poses/wand/face/eyes/base/expression.webp new file mode 100644 index 00000000..4664b821 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38603c8bcd3738da4371db6addf77a05035577d9fd5c5a632cdfcf935a87a069 +size 2370 diff --git a/game/characters/cho/poses/wand/face/eyes/base/eyemask.webp b/game/characters/cho/poses/wand/face/eyes/base/eyemask.webp new file mode 100644 index 00000000..c947ca76 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/base/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0596537c74c58defaaef1bc4280dbe5ab9cc83b8b9c612b49730c3617346c97 +size 880 diff --git a/game/characters/cho/poses/wand/face/eyes/base/skin.webp b/game/characters/cho/poses/wand/face/eyes/base/skin.webp new file mode 100644 index 00000000..82a0f8bc --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb16cb3ac375ad79b64392c79fe7ab2b50325e53d56a5df5767adc87374ea3be +size 836 diff --git a/game/characters/cho/poses/wand/face/eyes/closed/expression.webp b/game/characters/cho/poses/wand/face/eyes/closed/expression.webp new file mode 100644 index 00000000..3a0ba380 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/closed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:513f697f706f559177b865a980fbcfd1b14e9efeb772eb4fa3cb03c766a1a358 +size 3186 diff --git a/game/characters/cho/poses/wand/face/eyes/closed/skin.webp b/game/characters/cho/poses/wand/face/eyes/closed/skin.webp new file mode 100644 index 00000000..82a0f8bc --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/closed/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb16cb3ac375ad79b64392c79fe7ab2b50325e53d56a5df5767adc87374ea3be +size 836 diff --git a/game/characters/cho/poses/wand/face/eyes/happyCl/expression.webp b/game/characters/cho/poses/wand/face/eyes/happyCl/expression.webp new file mode 100644 index 00000000..53250c45 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/happyCl/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:113c8df0d1d9df4a837aaae1b09058e68e38944011be7da118dfc6fba89c4a4f +size 2278 diff --git a/game/characters/cho/poses/wand/face/eyes/happyCl/skin.webp b/game/characters/cho/poses/wand/face/eyes/happyCl/skin.webp new file mode 100644 index 00000000..6bd73182 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/happyCl/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0164e705e848a058b7acfa1a12fda2f86e91011488264dbd86b36acbfc75ec82 +size 828 diff --git a/game/characters/cho/poses/wand/face/eyes/narrow/expression.webp b/game/characters/cho/poses/wand/face/eyes/narrow/expression.webp new file mode 100644 index 00000000..f7172dbe --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/narrow/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c45b53ef6ebfa03802b730865db0c3d4272b48fa7f24df661f49d70fcbdb4a4 +size 2924 diff --git a/game/characters/cho/poses/wand/face/eyes/narrow/eyemask.webp b/game/characters/cho/poses/wand/face/eyes/narrow/eyemask.webp new file mode 100644 index 00000000..6240fe8e --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/narrow/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9f7128deaf13332dd92f01f3a80bd14fc5d3f379e384ab93766f95921841e26 +size 868 diff --git a/game/characters/cho/poses/wand/face/eyes/narrow/skin.webp b/game/characters/cho/poses/wand/face/eyes/narrow/skin.webp new file mode 100644 index 00000000..82a0f8bc --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/narrow/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb16cb3ac375ad79b64392c79fe7ab2b50325e53d56a5df5767adc87374ea3be +size 836 diff --git a/game/characters/cho/poses/wand/face/eyes/wide/expression.webp b/game/characters/cho/poses/wand/face/eyes/wide/expression.webp new file mode 100644 index 00000000..ee7f9b9b --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/wide/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cb252a99c3a5403f6c5780b69dede204c8db8b53356bbfd04a5efa053c41c26 +size 2686 diff --git a/game/characters/cho/poses/wand/face/eyes/wide/eyemask.webp b/game/characters/cho/poses/wand/face/eyes/wide/eyemask.webp new file mode 100644 index 00000000..0b4962a9 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/wide/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2ce7f47eca40def7ba35a6cacb9f7b2d27a2b7a61d1cf14585beaf2b842cc36 +size 1102 diff --git a/game/characters/cho/poses/wand/face/eyes/wide/skin.webp b/game/characters/cho/poses/wand/face/eyes/wide/skin.webp new file mode 100644 index 00000000..82a0f8bc --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/wide/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb16cb3ac375ad79b64392c79fe7ab2b50325e53d56a5df5767adc87374ea3be +size 836 diff --git a/game/characters/cho/poses/wand/face/eyes/wink/expression.webp b/game/characters/cho/poses/wand/face/eyes/wink/expression.webp new file mode 100644 index 00000000..733c4c06 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/wink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a35fdd3f5fa7a1beb1c0df398ca86ffcfe4ef40cdcbb2dc4b05b91c74577b4ea +size 2494 diff --git a/game/characters/cho/poses/wand/face/eyes/wink/eyemask.webp b/game/characters/cho/poses/wand/face/eyes/wink/eyemask.webp new file mode 100644 index 00000000..3256a662 --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/wink/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c1b927d2fbe5997c8a47ad230b9ea852a0ba3f21c161f8a3d9f31fb6e81d49e +size 660 diff --git a/game/characters/cho/poses/wand/face/eyes/wink/skin.webp b/game/characters/cho/poses/wand/face/eyes/wink/skin.webp new file mode 100644 index 00000000..309308da --- /dev/null +++ b/game/characters/cho/poses/wand/face/eyes/wink/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8430cff0bf83e38fbd485889d2b62141c2a0e5fa4f1f74f99d5e9e3c1709b98b +size 890 diff --git a/game/characters/cho/poses/wand/face/mouth/angry/expression.webp b/game/characters/cho/poses/wand/face/mouth/angry/expression.webp new file mode 100644 index 00000000..91fbc2f3 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/angry/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:282f8b8bfcdcb3cb17a12ea5056b2b2525360daa118d6db71f693c2b6c7b63a5 +size 2654 diff --git a/game/characters/cho/poses/wand/face/mouth/annoyed/expression.webp b/game/characters/cho/poses/wand/face/mouth/annoyed/expression.webp new file mode 100644 index 00000000..1d8762a5 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/annoyed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d8924323312567c11859e0f8ccb6251efbd71e95c157adf9545ee084a5119ff +size 1394 diff --git a/game/characters/cho/poses/wand/face/mouth/base/expression.webp b/game/characters/cho/poses/wand/face/mouth/base/expression.webp new file mode 100644 index 00000000..ca485a5c --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21c982142658b955992be7915a79c285b1edc1ebf18ca7e62e223fdfcb843dc3 +size 1410 diff --git a/game/characters/cho/poses/wand/face/mouth/clench/expression.webp b/game/characters/cho/poses/wand/face/mouth/clench/expression.webp new file mode 100644 index 00000000..c909feda --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/clench/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cf7e7e14122edbd46829c2483d34fbb717ff7d98d98bc05035b3208605142f6 +size 2956 diff --git a/game/characters/cho/poses/wand/face/mouth/crooked_smile/expression.webp b/game/characters/cho/poses/wand/face/mouth/crooked_smile/expression.webp new file mode 100644 index 00000000..3b5998af --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/crooked_smile/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85c887a3a1b6e6e9558cb771d19ddd244e79d887609e76e5875f65b3c27b68f1 +size 2742 diff --git a/game/characters/cho/poses/wand/face/mouth/disgust/expression.webp b/game/characters/cho/poses/wand/face/mouth/disgust/expression.webp new file mode 100644 index 00000000..3d770d26 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/disgust/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9649563d26af94c6eabaa3723c6dd784af2fbc4360b9b81ad096a5fa38754f03 +size 2140 diff --git a/game/characters/cho/poses/wand/face/mouth/grin/expression.webp b/game/characters/cho/poses/wand/face/mouth/grin/expression.webp new file mode 100644 index 00000000..b9e12ba0 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/grin/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fa8b0a1d78398ece869f44e2a83ef827a4ef396132b36654920c1e27807a0ec +size 3082 diff --git a/game/characters/cho/poses/wand/face/mouth/horny/expression.webp b/game/characters/cho/poses/wand/face/mouth/horny/expression.webp new file mode 100644 index 00000000..3cbc4484 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/horny/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e28e4bbc7bf1f3105df15fb2f4210d1e41c713c4676429f27836b97f0265b21d +size 1900 diff --git a/game/characters/cho/poses/wand/face/mouth/mad/expression.webp b/game/characters/cho/poses/wand/face/mouth/mad/expression.webp new file mode 100644 index 00000000..782c33c0 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/mad/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d6632f8528eeb7cad2df9b2b26c96dbe8a30abbb33b2fcbb6f044803e4fab5f +size 2308 diff --git a/game/characters/cho/poses/wand/face/mouth/normal/expression.webp b/game/characters/cho/poses/wand/face/mouth/normal/expression.webp new file mode 100644 index 00000000..80026a23 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/normal/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0c272b8b72623576d22fd44444435f8eab84e9d6ba8ae2b208b8e0c9be89efe +size 1318 diff --git a/game/characters/cho/poses/wand/face/mouth/open/expression.webp b/game/characters/cho/poses/wand/face/mouth/open/expression.webp new file mode 100644 index 00000000..500f5737 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/open/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7be7e827e92fb83f1010fc08febaac36f03513e84d0f7208c23ce4d3a1f275a2 +size 2184 diff --git a/game/characters/cho/poses/wand/face/mouth/open_tongue/expression.webp b/game/characters/cho/poses/wand/face/mouth/open_tongue/expression.webp new file mode 100644 index 00000000..678c3ca7 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/open_tongue/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ce546b3596824226d58c6a0ace7d909d3af2248c9c615486e164b5a7d5a54e0 +size 2046 diff --git a/game/characters/cho/poses/wand/face/mouth/open_wide_tongue/expression.webp b/game/characters/cho/poses/wand/face/mouth/open_wide_tongue/expression.webp new file mode 100644 index 00000000..cc1b7642 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/open_wide_tongue/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89e6c3c7850e4bddf3a9a8ef1c466f4ff711b4b0ba78230d9a0a7364f7efaa0c +size 5448 diff --git a/game/characters/cho/poses/wand/face/mouth/quiver/expression.webp b/game/characters/cho/poses/wand/face/mouth/quiver/expression.webp new file mode 100644 index 00000000..71e6f4db --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/quiver/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:defb4cbb0e869db161679a5c2114d500592b5b574d3c54709e5ad11a2a25d54c +size 1550 diff --git a/game/characters/cho/poses/wand/face/mouth/scream/expression.webp b/game/characters/cho/poses/wand/face/mouth/scream/expression.webp new file mode 100644 index 00000000..e310489f --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/scream/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:511082bdd2ab457ad75f43ecd9a5fd32178ff39c53c66680585641fd4f1529e6 +size 5534 diff --git a/game/characters/cho/poses/wand/face/mouth/silly/expression.webp b/game/characters/cho/poses/wand/face/mouth/silly/expression.webp new file mode 100644 index 00000000..63d6daea --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/silly/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bd10b4fbdc67078841e0f5c16b868ecbc48bad9447425aeff520b41f7359762 +size 2900 diff --git a/game/characters/cho/poses/wand/face/mouth/smile/expression.webp b/game/characters/cho/poses/wand/face/mouth/smile/expression.webp new file mode 100644 index 00000000..d0acd977 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/smile/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18e161310d3eb35c31b472a9362fe674220f39322331fafecddb94c041fc567e +size 1972 diff --git a/game/characters/cho/poses/wand/face/mouth/soft/expression.webp b/game/characters/cho/poses/wand/face/mouth/soft/expression.webp new file mode 100644 index 00000000..1c8dda02 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5502339927f1614854115c068421fecd28c8126fab026ef4de6b8bda81feeda4 +size 1732 diff --git a/game/characters/cho/poses/wand/face/mouth/upset/expression.webp b/game/characters/cho/poses/wand/face/mouth/upset/expression.webp new file mode 100644 index 00000000..74058768 --- /dev/null +++ b/game/characters/cho/poses/wand/face/mouth/upset/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d86290e971379b16cfdd6ef5e3393a388a6cb574ef247a3647aa80e2999f830 +size 1280 diff --git a/game/characters/cho/poses/wand/face/pupils/L/expression.webp b/game/characters/cho/poses/wand/face/pupils/L/expression.webp new file mode 100644 index 00000000..1dd2bd5b --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/L/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b869a940b8f158b21af8be4a3624fdcc0d87b99c92051f16550315faf6de45be +size 1444 diff --git a/game/characters/cho/poses/wand/face/pupils/R/expression.webp b/game/characters/cho/poses/wand/face/pupils/R/expression.webp new file mode 100644 index 00000000..d1cf72e9 --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/R/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41b30b4abe5cc60e9bc653d909667c1b283b02e967071370394dfd79e634afa0 +size 1430 diff --git a/game/characters/cho/poses/wand/face/pupils/ahegao/expression.webp b/game/characters/cho/poses/wand/face/pupils/ahegao/expression.webp new file mode 100644 index 00000000..715b65ce --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/ahegao/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f83a8f8c0c024ddb6dd8ee1338a80fe068f6d9b46199bef2e8cd39a884ed3455 +size 1430 diff --git a/game/characters/cho/poses/wand/face/pupils/down/expression.webp b/game/characters/cho/poses/wand/face/pupils/down/expression.webp new file mode 100644 index 00000000..eee29161 --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/down/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0b41d075baf0e67b992e633eacf4b4d430280f0e84fa051542e14fa27d3a1ba +size 1454 diff --git a/game/characters/cho/poses/wand/face/pupils/downR/expression.webp b/game/characters/cho/poses/wand/face/pupils/downR/expression.webp new file mode 100644 index 00000000..180a4fe7 --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/downR/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f703f4677870ab18efd736b4b3daefe7f01a0270f93dc76ac4140e4260b9877d +size 1352 diff --git a/game/characters/cho/poses/wand/face/pupils/mid/expression.webp b/game/characters/cho/poses/wand/face/pupils/mid/expression.webp new file mode 100644 index 00000000..cb1001df --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/mid/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66392458be9ba0c1734f5ab557da4f9342cfcf8aecee3be49e161282c366ff12 +size 1340 diff --git a/game/characters/cho/poses/wand/face/pupils/stare/expression.webp b/game/characters/cho/poses/wand/face/pupils/stare/expression.webp new file mode 100644 index 00000000..619b8aab --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/stare/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3649450332c5f67d1773dc058bf5ba00d02e7a7c3908dd302a78c418f2c5977 +size 1540 diff --git a/game/characters/cho/poses/wand/face/pupils/up/expression.webp b/game/characters/cho/poses/wand/face/pupils/up/expression.webp new file mode 100644 index 00000000..9e0a2d07 --- /dev/null +++ b/game/characters/cho/poses/wand/face/pupils/up/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e767d861168aa2def10b239dd234bfa061df762974ddc4681eeb20d57d213114 +size 1446 diff --git a/game/characters/cho/poses/broom/face/extras/tears_1.webp b/game/characters/cho/poses/wand/face/tears/tears_1.webp similarity index 100% rename from game/characters/cho/poses/broom/face/extras/tears_1.webp rename to game/characters/cho/poses/wand/face/tears/tears_1.webp diff --git a/game/characters/cho/poses/broom/face/extras/tears_2.webp b/game/characters/cho/poses/wand/face/tears/tears_2.webp similarity index 100% rename from game/characters/cho/poses/broom/face/extras/tears_2.webp rename to game/characters/cho/poses/wand/face/tears/tears_2.webp diff --git a/game/characters/cho/poses/broom/face/extras/tears_3.webp b/game/characters/cho/poses/wand/face/tears/tears_3.webp similarity index 100% rename from game/characters/cho/poses/broom/face/extras/tears_3.webp rename to game/characters/cho/poses/wand/face/tears/tears_3.webp diff --git a/game/characters/cho/poses/broom/face/extras/tears_4.webp b/game/characters/cho/poses/wand/face/tears/tears_4.webp similarity index 100% rename from game/characters/cho/poses/broom/face/extras/tears_4.webp rename to game/characters/cho/poses/wand/face/tears/tears_4.webp diff --git a/game/characters/genie/base.webp b/game/characters/genie/base.webp index 9253162b..b30dac7a 100644 --- a/game/characters/genie/base.webp +++ b/game/characters/genie/base.webp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0484d04fcbf27cf86e56800bf03e62edfa0417f060a257b1d30f87902a425ef -size 218008 +oid sha256:250449ae16d33b43148b9d4d18506d3faf1738f7c06df4a0bfa8967073210800 +size 216480 diff --git a/game/characters/genie/beard.webp b/game/characters/genie/beard.webp new file mode 100644 index 00000000..f32a1c67 --- /dev/null +++ b/game/characters/genie/beard.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a53dffc1c42a1fe081df634cbcdcd0991979dcade9f3d992fefba90ad0ee3057 +size 6166 diff --git a/game/characters/genie/outfits/robes.webp b/game/characters/genie/outfits/robes.webp new file mode 100644 index 00000000..11b988d6 --- /dev/null +++ b/game/characters/genie/outfits/robes.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c1c4ed5e3842b361c1ca1af5eeb3e5e9c9315d6a8c90c318f7898ecf554ded5 +size 395224 diff --git a/game/characters/genie/outfits/robes_beard.webp b/game/characters/genie/outfits/robes_beard.webp new file mode 100644 index 00000000..f32a1c67 --- /dev/null +++ b/game/characters/genie/outfits/robes_beard.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a53dffc1c42a1fe081df634cbcdcd0991979dcade9f3d992fefba90ad0ee3057 +size 6166 diff --git a/game/characters/genie/outfits/santa.webp b/game/characters/genie/outfits/santa.webp new file mode 100644 index 00000000..53f26f2f --- /dev/null +++ b/game/characters/genie/outfits/santa.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7b3317f21f0140149fe6ff5265eceeb83d4972a70d6b6c53f8810a9cf32d603 +size 433864 diff --git a/game/characters/genie/outfits/santa_beard_angry.webp b/game/characters/genie/outfits/santa_beard_angry.webp new file mode 100644 index 00000000..83730a2d --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab75c9dbcb03f0a78baa25c13b96eb780cc9a672a0d6b12aff79a4e45e8d2db5 +size 51918 diff --git a/game/characters/genie/outfits/santa_beard_base.webp b/game/characters/genie/outfits/santa_beard_base.webp new file mode 100644 index 00000000..937d8a1d --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5672a51afac6a00e21096c069e8815d07fbc09baf2d841dc4a4054f33409c654 +size 51880 diff --git a/game/characters/genie/outfits/santa_beard_grin.webp b/game/characters/genie/outfits/santa_beard_grin.webp new file mode 100644 index 00000000..aad06406 --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09fb7071cd1f8684b6438efa97c40b3667e32ee0bb4d555c4fa81e9f0ed9afca +size 52344 diff --git a/game/characters/genie/outfits/santa_beard_open.webp b/game/characters/genie/outfits/santa_beard_open.webp new file mode 100644 index 00000000..b09dff5c --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee1732655493fceb707ca24dd1c78522834f94a06d07132dd5fca350079c6cda +size 52894 diff --git a/game/characters/genie/outfits/santa_beard_smile.webp b/game/characters/genie/outfits/santa_beard_smile.webp new file mode 100644 index 00000000..427b0929 --- /dev/null +++ b/game/characters/genie/outfits/santa_beard_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beed64f6c5cff84a6d0982de5b5ce702cd1d134555060a7162ac61ac155c65ea +size 53502 diff --git a/game/characters/genie/robes.webp b/game/characters/genie/robes.webp deleted file mode 100644 index 3d1633eb..00000000 --- a/game/characters/genie/robes.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f7145c4b0b13f2bea60f37e8108b80b1cceb4d42d1a19a512da2d88c9df2cd9b -size 391566 diff --git a/game/characters/genie/robes_fix.webp b/game/characters/genie/robes_fix.webp deleted file mode 100644 index 39949277..00000000 --- a/game/characters/genie/robes_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c717d6968ad8c8c2c8b4cd7140523a6972100c2c23009b1bad6b6750f42603e -size 14424 diff --git a/game/characters/hermione/body/armleft/down.webp b/game/characters/hermione/body/armleft/down.webp deleted file mode 100644 index de690ef2..00000000 --- a/game/characters/hermione/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad43dbf9ecbf97fc96157d7149e76b7e49631909c1fdbf8ba24659fa0b43eb04 -size 19184 diff --git a/game/characters/hermione/body/armright/down.webp b/game/characters/hermione/body/armright/down.webp deleted file mode 100644 index f250b08d..00000000 --- a/game/characters/hermione/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:235144e94d03e1c2e113bc77bc9e80d9082a3a17016cbf9a5abb32e177c00b14 -size 14008 diff --git a/game/characters/hermione/body/base/back.webp b/game/characters/hermione/body/base/back.webp deleted file mode 100644 index ce3f88cd..00000000 --- a/game/characters/hermione/body/base/back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a2bd78c6022c7c761cb3ad044cbba61e66514493311cd3508e90e2f98cc12fa -size 303964 diff --git a/game/characters/hermione/body/base/front.webp b/game/characters/hermione/body/base/front.webp deleted file mode 100644 index 26dde8a7..00000000 --- a/game/characters/hermione/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b1f8e290c683c8295d40f8f0d49227355fc666972dcd77a40802dcff536c6a5 -size 57642 diff --git a/game/characters/hermione/body/breasts/big3_backside.webp b/game/characters/hermione/body/breasts/big3_backside.webp deleted file mode 100644 index f6f11a9e..00000000 --- a/game/characters/hermione/body/breasts/big3_backside.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e4b0535b4575d9536a5a680fbcc63a83c67ccae4a8fcba4bb2ac59e44ba5950 -size 21056 diff --git a/game/characters/hermione/body/breasts/normal.webp b/game/characters/hermione/body/breasts/normal.webp deleted file mode 100644 index 89de88c4..00000000 --- a/game/characters/hermione/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a74656fa03d149d2bf90c5d9c28a9d331902539a05b875014527dcf16ed82e8f -size 15466 diff --git a/game/characters/hermione/body/breasts/normal_tight.webp b/game/characters/hermione/body/breasts/normal_tight.webp deleted file mode 100644 index 7b1e4d33..00000000 --- a/game/characters/hermione/body/breasts/normal_tight.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e7a2a46f6e1b864bb2979ffee334b64631b1c40f591bccf7d3478aa5c92ee6f -size 15648 diff --git a/game/characters/hermione/body/kneel/kneel_arm.webp b/game/characters/hermione/body/kneel/kneel_arm.webp deleted file mode 100644 index d007f04f..00000000 --- a/game/characters/hermione/body/kneel/kneel_arm.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:766df59c36c68602c4c892bc2086128d2cea2b6058ede9b1d4d1abb3afa8c460 -size 39236 diff --git a/game/characters/hermione/body/kneel/kneel_base.webp b/game/characters/hermione/body/kneel/kneel_base.webp deleted file mode 100644 index 39a6783f..00000000 --- a/game/characters/hermione/body/kneel/kneel_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b84aebcfb5121e29d0af020362e9da299041d8aea4c48423013682f43db9901 -size 284532 diff --git a/game/characters/hermione/body/kneel/kneel_base_2.webp b/game/characters/hermione/body/kneel/kneel_base_2.webp deleted file mode 100644 index 54c22cc7..00000000 --- a/game/characters/hermione/body/kneel/kneel_base_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:423971bcf2fdb2a3770c0227a68fd5c726924940cde21741f22563639ebcb379 -size 265798 diff --git a/game/characters/hermione/body/kneel/kneel_cock.webp b/game/characters/hermione/body/kneel/kneel_cock.webp deleted file mode 100644 index fb05ae88..00000000 --- a/game/characters/hermione/body/kneel/kneel_cock.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:057b2bfe3e13e7916f0ecda7438b8252101129a53ae0e318104a476cb417d16c -size 34458 diff --git a/game/characters/hermione/body/kneel/kneel_cum_1.webp b/game/characters/hermione/body/kneel/kneel_cum_1.webp deleted file mode 100644 index 616ec11f..00000000 --- a/game/characters/hermione/body/kneel/kneel_cum_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fde75bf945e51a9ffd7639e54a68696084c7831bd5725b3857211d306eaa76ef -size 56012 diff --git a/game/characters/hermione/body/kneel/kneel_hair.webp b/game/characters/hermione/body/kneel/kneel_hair.webp deleted file mode 100644 index 1c882485..00000000 --- a/game/characters/hermione/body/kneel/kneel_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:efb2fafc1004f7f37f4e271feab9d12fa0dc0a8ceb5dbc0a99ac38beed649030 -size 59752 diff --git a/game/characters/hermione/body/kneel/kneel_leg.webp b/game/characters/hermione/body/kneel/kneel_leg.webp deleted file mode 100644 index 5f08e752..00000000 --- a/game/characters/hermione/body/kneel/kneel_leg.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:327954fec7e5df2ffd75f258463477d0f5cee0508283d7e88e14d8aa5c7bd4ae -size 36194 diff --git a/game/characters/hermione/clothes/makeup/freckles1/0.webp b/game/characters/hermione/clothes/makeup/freckles1/0.webp deleted file mode 100644 index 74ba7d00..00000000 --- a/game/characters/hermione/clothes/makeup/freckles1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9c1d5a77e4345a32cfbb07721ae8b11d81015796e0790574834011251a5be5f -size 2174 diff --git a/game/characters/hermione/clothes/makeup/freckles1_nonose/0.webp b/game/characters/hermione/clothes/makeup/freckles1_nonose/0.webp deleted file mode 100644 index 55c2353e..00000000 --- a/game/characters/hermione/clothes/makeup/freckles1_nonose/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1367fb49a77796cb9d12b6a9ce673bd5499143c0dca40fd6023c6e9d60b1a419 -size 1786 diff --git a/game/characters/hermione/clothes/panties/hslut_panties/1.webp b/game/characters/hermione/clothes/panties/hslut_panties/1.webp deleted file mode 100644 index d21129e0..00000000 --- a/game/characters/hermione/clothes/panties/hslut_panties/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21a0c1b8af09402e09c803fa8538c62abdcab47778048d62a13a77f1fb205081 -size 1738 diff --git a/game/characters/hermione/poses/CG_bent_over/body/armleft/down.webp b/game/characters/hermione/poses/CG_bent_over/body/armleft/down.webp deleted file mode 100644 index bb015b72..00000000 --- a/game/characters/hermione/poses/CG_bent_over/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4cd5ee257ae89dc374e4ce22353bf98858162496dee26b9a4cfbb09effa7271b -size 306 diff --git a/game/characters/hermione/poses/CG_bent_over/body/armright/down.webp b/game/characters/hermione/poses/CG_bent_over/body/armright/down.webp deleted file mode 100644 index 8bfadd43..00000000 --- a/game/characters/hermione/poses/CG_bent_over/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6605a8b5457e1d2faac1ef67e242558999f6dd827773020ee2538b36d1172db2 -size 11022 diff --git a/game/characters/hermione/poses/CG_bent_over/body/base/front.webp b/game/characters/hermione/poses/CG_bent_over/body/base/front.webp deleted file mode 100644 index 448c2218..00000000 --- a/game/characters/hermione/poses/CG_bent_over/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95eb33289f19554dfbf9fc25b21c55499ee82e9ef2a8b4a16c1db33ceda4bd95 -size 122758 diff --git a/game/characters/hermione/poses/CG_bent_over/body/breasts/normal.webp b/game/characters/hermione/poses/CG_bent_over/body/breasts/normal.webp deleted file mode 100644 index bb015b72..00000000 --- a/game/characters/hermione/poses/CG_bent_over/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4cd5ee257ae89dc374e4ce22353bf98858162496dee26b9a4cfbb09effa7271b -size 306 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/0.webp b/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/0.webp deleted file mode 100644 index 7139ffd8..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:537d0f93e11eb2a52c888dfb009cb9c4f90d4274e710dce3588d44c81ed62555 -size 11976 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/1.webp b/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/1.webp deleted file mode 100644 index bb015b72..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4cd5ee257ae89dc374e4ce22353bf98858162496dee26b9a4cfbb09effa7271b -size 306 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/outline.webp b/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/outline.webp deleted file mode 100644 index fa1a9e03..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ec78a1288797257ad14073fd5e7662e0759b109609e441c19dd460c7a66967a -size 22914 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0.webp deleted file mode 100644 index 8572c135..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e57d02f2d643a7f9c0da36896163cfddbe0b158171c5a15795336bfb89a145fb -size 22782 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0_back.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0_back.webp deleted file mode 100644 index ad284645..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fad39ef5ce5e63673390fba412cff37d8df3d41b9d04b428e95738250b3dbaed -size 18648 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0_front.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0_front.webp deleted file mode 100644 index f4194708..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/0_front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3076814916e5a29d4ea24c58a74ed3f038cfd11f1741a777e3c0efb487201f53 -size 10846 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1.webp deleted file mode 100644 index 909cf6eb..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e3f2b53b2deaf023abc5d403702de524ae490bfb14fda48eda005f9272e2087 -size 13350 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1_back.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1_back.webp deleted file mode 100644 index c56de67d..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:560db19d8b2f529f4c798bb4afe675bcb63830966fb409635ab91cc4e1c5cb41 -size 6914 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1_front.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1_front.webp deleted file mode 100644 index 622348bd..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/1_front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8cbf9eba129e158cb92c2658c04201fe0af6c0ced34c29d746873b6ffa81c4ca -size 3548 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/2.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/2.webp deleted file mode 100644 index 3da36393..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1529952bd2cbcb9122fbe1888ba7d462538a94d9f2c1eb7cf2128f9b0f197530 -size 3018 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline.webp deleted file mode 100644 index 35160101..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:302359a3b570d09e23acf3be486b3667d5b97431f7fd1b6da18a02fcc8bce7f7 -size 51010 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_back.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_back.webp deleted file mode 100644 index c514a9cb..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f597a29e771ec81aecd2d819362b03bd7103ac9d3cd84a31c760d84eab81140c -size 26698 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_front.webp b/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_front.webp deleted file mode 100644 index 1d8491a7..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1070da38e8bc5d758618416fc988e137f9e47c0ed11e4b8e70d56a7cc7b5deab -size 19828 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/0.webp b/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/0.webp deleted file mode 100644 index 7979880f..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:66a5f53f55a5f70598f12dab3ae466ef86f68ab99f7bd471bc6fa574512289a2 -size 10032 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/1.webp b/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/1.webp deleted file mode 100644 index 7f87ef32..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9e0dc57d4f4f74319e4208a49ff8650641e93ac5ffdd0d6043b813717e8a308a -size 13228 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/2.webp b/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/2.webp deleted file mode 100644 index d5c3cde7..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f5f5119dc91932c1848215b7822487af4b8d3a59881257c07263750a0ade376 -size 11822 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/3.webp b/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/3.webp deleted file mode 100644 index 49088e37..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eef86bf327ede0c36abb8c9d4a5885bc2d3e617a5f1be8eddad55ce60f858e5f -size 12046 diff --git a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/outline.webp b/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/outline.webp deleted file mode 100644 index ebf1c980..00000000 --- a/game/characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8217b9362f9f43021c25b77381b12c0fcb676bca8bb646648d3350c2bd04282 -size 41970 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/base.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/base.webp deleted file mode 100644 index 9fe6d42f..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:df102387bc2653676b0fd773b52440a80775c5f865b175cf449e35b738d0da42 -size 9152 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/base_mask.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/base_mask.webp deleted file mode 100644 index 05196e6a..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/base_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8a60f9da36869bd274f4ab80585367592b7f596fd9749e07251d86854bf83ada -size 2552 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/happy.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/happy.webp deleted file mode 100644 index 42375b0b..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/happy.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a9707301385d2797fb6d207cee383f77bfd61ce417fcbda5b2cb2edafe1ede6 -size 9210 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/happy_mask.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/happy_mask.webp deleted file mode 100644 index 2203ad93..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/happy_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9a47bfdceb4f80cdb002faca84408697d9fed6e9b527082dad72bac9f8ee38c -size 2532 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/narrow.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/narrow.webp deleted file mode 100644 index fb6cb312..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/narrow.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe90250adb84a181ed98dd985d9ffdb942f59b9e8a60b969c50c59ec793d21de -size 10094 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/narrow_mask.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/narrow_mask.webp deleted file mode 100644 index 3083cafa..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/narrow_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a0ee81393d48d7acfc76e3f3c874c8f49bdf914ed450fa6a5076423cb842f465 -size 2514 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/wide.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/wide.webp deleted file mode 100644 index c5debe31..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f626c0fb51a7052a83176c5e000fac94a1b7e73129b13becb1b69a268decdbb -size 10004 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/wide_mask.webp b/game/characters/hermione/poses/CG_bent_over/face/eyes/wide_mask.webp deleted file mode 100644 index f3b97fa3..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/eyes/wide_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72037cf04070e17bcd346f04a978ab2ff0a1b9ddf61f1e13b16b2a0b45ab242f -size 2594 diff --git a/game/characters/hermione/poses/CG_bent_over/face/pupils/L.webp b/game/characters/hermione/poses/CG_bent_over/face/pupils/L.webp deleted file mode 100644 index 7811dad6..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/pupils/L.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72e71d928f7f22eba5ee886277690279b2e2ada8074d997758df9adc965e6570 -size 5060 diff --git a/game/characters/hermione/poses/CG_bent_over/face/pupils/R.webp b/game/characters/hermione/poses/CG_bent_over/face/pupils/R.webp deleted file mode 100644 index deb19a14..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/pupils/R.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1415e373c76c47f65782ca61b0e36e90fb0ea65685080067e63beefdb2cad7e -size 5242 diff --git a/game/characters/hermione/poses/CG_bent_over/face/pupils/ahegao.webp b/game/characters/hermione/poses/CG_bent_over/face/pupils/ahegao.webp deleted file mode 100644 index 71def742..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/pupils/ahegao.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c22ee41e4dc359dbb1b558d08be81318dd67dc8bb61384a55e52e2c9fecb83c8 -size 5212 diff --git a/game/characters/hermione/poses/CG_bent_over/face/pupils/down.webp b/game/characters/hermione/poses/CG_bent_over/face/pupils/down.webp deleted file mode 100644 index 20f4f687..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/pupils/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f82452cbf0157d8f4d1040df7e108877744ad957577c6fed255da84301099b8 -size 5194 diff --git a/game/characters/hermione/poses/CG_bent_over/face/pupils/mid.webp b/game/characters/hermione/poses/CG_bent_over/face/pupils/mid.webp deleted file mode 100644 index 59c0d4f2..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/pupils/mid.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25c79b9fbf733054a2f73d4aa72e8ebe1e8ab4d57fcf8cec2fb1eec8e5787fc5 -size 5194 diff --git a/game/characters/hermione/poses/CG_bent_over/face/pupils/stare.webp b/game/characters/hermione/poses/CG_bent_over/face/pupils/stare.webp deleted file mode 100644 index 59c0d4f2..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/pupils/stare.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25c79b9fbf733054a2f73d4aa72e8ebe1e8ab4d57fcf8cec2fb1eec8e5787fc5 -size 5194 diff --git a/game/characters/hermione/poses/CG_bent_over/face/pupils/up.webp b/game/characters/hermione/poses/CG_bent_over/face/pupils/up.webp deleted file mode 100644 index 38fe9f04..00000000 --- a/game/characters/hermione/poses/CG_bent_over/face/pupils/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e348e1885a4087465e0656ef5ac21657e17cb4e17f18536cf42e1445de7f061 -size 5164 diff --git a/game/characters/hermione/poses/CG_bent_over/loadable.webp b/game/characters/hermione/poses/CG_bent_over/loadable.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/hermione/poses/CG_bent_over/loadable.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/hermione/poses/CG_lean_back/body/armleft/down.webp b/game/characters/hermione/poses/CG_lean_back/body/armleft/down.webp deleted file mode 100644 index 3630aeec..00000000 --- a/game/characters/hermione/poses/CG_lean_back/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:33390773da98950f3f9a9cd9e46f18c4df12e13058b9c1d889a5407f0032ec31 -size 50688 diff --git a/game/characters/hermione/poses/CG_lean_back/body/armright/down.webp b/game/characters/hermione/poses/CG_lean_back/body/armright/down.webp deleted file mode 100644 index bb015b72..00000000 --- a/game/characters/hermione/poses/CG_lean_back/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4cd5ee257ae89dc374e4ce22353bf98858162496dee26b9a4cfbb09effa7271b -size 306 diff --git a/game/characters/hermione/poses/CG_lean_back/body/base/front.webp b/game/characters/hermione/poses/CG_lean_back/body/base/front.webp deleted file mode 100644 index e6e81603..00000000 --- a/game/characters/hermione/poses/CG_lean_back/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e2edb947128c7ff4fe127235314c149bded58dc1d1e5eafb28ca7a0ad162291 -size 127826 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/0.webp b/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/0.webp deleted file mode 100644 index e263fb73..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4f155b1960cb2b30baa376f54c052b482ae852798caafd58fa9e3255b51751cd -size 21808 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/1.webp b/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/1.webp deleted file mode 100644 index 27f0d2f7..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cdb7a99f7063bc55ff48e6e0860ea8ec95c2af93716f9753aa9cd5e2eb2fbe7d -size 2382 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/outline.webp b/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/outline.webp deleted file mode 100644 index 405abfae..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ade64a5d833946c1dfe4e006da9ad570eec734c04df258a4370b981426101d0 -size 22696 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/0.webp b/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/0.webp deleted file mode 100644 index 984ff651..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c143b8e0bbcdf58333d9c8011fba58c8c13d1cf3e0eb4e5917c2b6b617d79e4 -size 25912 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/0_back.webp b/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/0_back.webp deleted file mode 100644 index 0a21a50b..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/0_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6a4bbfc040e1b50c83e782bc0705dc4c613240596ce9ed8bb7f076e2bb34e04 -size 35246 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/1.webp b/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/1.webp deleted file mode 100644 index 221bddf7..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e3a937b50918292f408ae2a2f407bc073eeee5f1975160541838d0080c4fb905 -size 5940 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/1_back.webp b/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/1_back.webp deleted file mode 100644 index cde8f563..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/1_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f547a3b353ff4031ed91b0ce13efe90fa1b5fe53fa73ea535f7ae1cbb7fda995 -size 5328 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/2.webp b/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/2.webp deleted file mode 100644 index dbc70925..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ec80776be79eb25a5021cc091303b01c7b8389dcb454597b910443ddc765aed -size 3634 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/outline.webp b/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/outline.webp deleted file mode 100644 index cadb792e..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64f89bf3a7d2924a4e340f9436760f20344924e526a66bafecf6115b1378229b -size 24052 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/outline_back.webp b/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/outline_back.webp deleted file mode 100644 index cff0501b..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/hair/base/outline_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d17a1d1ca14be137f11a48a53f4f3e520686dde71786be1e7f6fb7cb42325e3 -size 38182 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/0.webp b/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/0.webp deleted file mode 100644 index 37263896..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b82b6d85d247867556f6ca882647fb1fc65ad1c85e236deada613439a181a4f -size 16958 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/1.webp b/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/1.webp deleted file mode 100644 index c5d52ea3..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:169de4f99538bcac4f41da8522c81c8d4eccc4aacac93000b5f223282d12e77c -size 34690 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/2.webp b/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/2.webp deleted file mode 100644 index 870452f3..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3cfaae7364d9f4614f7c5a57eeee9c8a00ae601fc1e83d20ee915f7588e20d07 -size 16644 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/3.webp b/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/3.webp deleted file mode 100644 index 3facdb06..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73938f83550a00fc98d55cf22974d26ce1f4b6a75008e2a9c6ea028c31eecc93 -size 19086 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/mask.webp b/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/mask.webp deleted file mode 100644 index f1bb9354..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7f00dfe8968b5120231018ef678234cff13f935750097042939649a6e77b695 -size 16404 diff --git a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/outline.webp b/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/outline.webp deleted file mode 100644 index 0baa781a..00000000 --- a/game/characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1968fae88befb531e3a5ca0e14f3e95b5d2061831a40c12dd3a6d03008b9378 -size 38254 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/base.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/base.webp deleted file mode 100644 index bdd73775..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a8e398c41bf658b8d7074733681fe9344540a1164a7bfa4f035cad3c30642a9 -size 6214 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/base_mask.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/base_mask.webp deleted file mode 100644 index 3444a526..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/base_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:59fc7817a1de37a989b80036d04936dc6f89f6bb5dfab7c34859b5e83137425d -size 2412 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/happy.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/happy.webp deleted file mode 100644 index 4f3f088a..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/happy.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b20487646c53f0928ee639f7f05b597791fcece6864418b68c33a64971b25b40 -size 6242 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/happy_mask.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/happy_mask.webp deleted file mode 100644 index ddcdd3c9..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/happy_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fab064f9138a303a898c5ba9f4aa2547907c2fb2246be3b5ad941c3490a5c7c3 -size 2420 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/narrow.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/narrow.webp deleted file mode 100644 index d5f3fd5b..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/narrow.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb9956df158174fef77c908f6931a92266daf05d97851c5fafb984d3adb2783f -size 6690 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/narrow_mask.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/narrow_mask.webp deleted file mode 100644 index 5a61b24f..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/narrow_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:263eeb8e713125ac56f023b218e56ef125dc57160a1653106c71b0cf2e6bf38d -size 1348 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/wide.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/wide.webp deleted file mode 100644 index ff166437..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce2c67a8a8bd6e183409c5caa000a8107a688d9eedaf1d082a2d79055750457c -size 7012 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/wide_mask.webp b/game/characters/hermione/poses/CG_lean_back/face/eyes/wide_mask.webp deleted file mode 100644 index b58719ff..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/eyes/wide_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2953d3ac2f523b4905ad34b8dc62b7ad9c6487247029a9e1b7237453931d7233 -size 2430 diff --git a/game/characters/hermione/poses/CG_lean_back/face/pupils/L.webp b/game/characters/hermione/poses/CG_lean_back/face/pupils/L.webp deleted file mode 100644 index 85822a93..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/pupils/L.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:005bf96c7e56d205010855c1ece9363de9473258b4298dd8affa61adbe4789a8 -size 4494 diff --git a/game/characters/hermione/poses/CG_lean_back/face/pupils/R.webp b/game/characters/hermione/poses/CG_lean_back/face/pupils/R.webp deleted file mode 100644 index 3594c777..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/pupils/R.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f211fc918dfc763aa387cc032897f7a15af153a72f383d5839cd38dc55e60a2a -size 4498 diff --git a/game/characters/hermione/poses/CG_lean_back/face/pupils/ahegao.webp b/game/characters/hermione/poses/CG_lean_back/face/pupils/ahegao.webp deleted file mode 100644 index 2147bd51..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/pupils/ahegao.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76522b765527afd66c0650577e6ca7f681ad16aefd709cb4fcc77379db66d9bf -size 4508 diff --git a/game/characters/hermione/poses/CG_lean_back/face/pupils/down.webp b/game/characters/hermione/poses/CG_lean_back/face/pupils/down.webp deleted file mode 100644 index 4498a7cb..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/pupils/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65cef9f8d4db0e128c71ea22a2cc55b4493c3450f5f6adca76f14eb5a21943ef -size 4496 diff --git a/game/characters/hermione/poses/CG_lean_back/face/pupils/mid.webp b/game/characters/hermione/poses/CG_lean_back/face/pupils/mid.webp deleted file mode 100644 index 3a533341..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/pupils/mid.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4228397ca6ec6658ddc893c7920c1322134c9ef49eed8797a024aaf145735ce7 -size 4498 diff --git a/game/characters/hermione/poses/CG_lean_back/face/pupils/stare.webp b/game/characters/hermione/poses/CG_lean_back/face/pupils/stare.webp deleted file mode 100644 index 3a533341..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/pupils/stare.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4228397ca6ec6658ddc893c7920c1322134c9ef49eed8797a024aaf145735ce7 -size 4498 diff --git a/game/characters/hermione/poses/CG_lean_back/face/pupils/up.webp b/game/characters/hermione/poses/CG_lean_back/face/pupils/up.webp deleted file mode 100644 index d861e4ab..00000000 --- a/game/characters/hermione/poses/CG_lean_back/face/pupils/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d563a5b7298224eb646c58511d97ffae35bc568c4c46ac6090ced1b9ea25dc12 -size 4500 diff --git a/game/characters/hermione/poses/CG_lean_back/loadable.webp b/game/characters/hermione/poses/CG_lean_back/loadable.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/hermione/poses/CG_lean_back/loadable.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/hermione/poses/CG_lean_forward/body/armleft/down.webp b/game/characters/hermione/poses/CG_lean_forward/body/armleft/down.webp deleted file mode 100644 index f95ba096..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:757050810e68c52aeb91ed2c23c26e1cf0c1cc48dfa0a9a08b559c3ae0be6b11 -size 41272 diff --git a/game/characters/hermione/poses/CG_lean_forward/body/armright/down.webp b/game/characters/hermione/poses/CG_lean_forward/body/armright/down.webp deleted file mode 100644 index b2664830..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ec651f961f06d3705b4efa56d9989d8e1114913c7f7a645d5b7b85a9d1f419d -size 24510 diff --git a/game/characters/hermione/poses/CG_lean_forward/body/base/front.webp b/game/characters/hermione/poses/CG_lean_forward/body/base/front.webp deleted file mode 100644 index 767d5544..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed456f0e766e72d8d44cd73eaa9ac7e937d539c7dcc91b158d81daecb0fb623c -size 107906 diff --git a/game/characters/hermione/poses/CG_lean_forward/body/breasts/normal.webp b/game/characters/hermione/poses/CG_lean_forward/body/breasts/normal.webp deleted file mode 100644 index 02ed307b..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e49e9b9ac60feebd3b336e34313a7b07674b38b8d18bf6d8636d92e00b6f195 -size 15536 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/0.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/0.webp deleted file mode 100644 index 16f8f7ad..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:556ca75f20a6e2f4eaf0cf513626d7b21bb0020eee57b82dced92cc230383aa3 -size 26590 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/1.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/1.webp deleted file mode 100644 index 596dcd82..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf57e065de093837d417aeee05024002c839a7453603c737aefaa26fd3a083e8 -size 2460 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/outline.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/outline.webp deleted file mode 100644 index 7179ea77..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bdf874d4fea1b8ef6fc5aa85ec643d89bf1589b13d4cd7bced783d62fa9af75e -size 24086 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/0.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/0.webp deleted file mode 100644 index 0b54b840..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9947e73f6cba5d0c6228a1ecb3217a8b884fbb382bfeab0dce39c9b95544c338 -size 37132 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/0_back.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/0_back.webp deleted file mode 100644 index f4e044b9..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/0_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e6dbd0cc63eab35057db9c9ab61889a86c05031c3a918d4e96dbd67fbb33809 -size 59084 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/1.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/1.webp deleted file mode 100644 index 87783078..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5363dd94247de4e0205a5da53001b8f92e8d88452657f8094269b194d92a0d99 -size 10468 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/1_back.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/1_back.webp deleted file mode 100644 index d5ab9624..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/1_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:809e0a3d69dd4f4812d1812331879d4c419aa47d52c490366cc77f683d5a5c16 -size 8810 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/2.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/2.webp deleted file mode 100644 index 29d546f6..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0ab3482001f8328bf25a2f2db1cf2bd395550cefb7db79b4b95e29b98440dd31 -size 3856 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline.webp deleted file mode 100644 index 0a47ed48..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:91ee9ad99e40b0b1c4f8d0368688039b33d5cea49f6ad6b37417038d5dc3ea68 -size 25838 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline_back.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline_back.webp deleted file mode 100644 index 50700eb8..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89ed74b164cb21302eb86b5a0d81ba35ba4ef7dce470dc9d5c9d9251fe47fb5c -size 43880 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/0.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/0.webp deleted file mode 100644 index 035ba228..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:433f5a591c34c489fafc1456c221816176343e7354eb0ff1df98a225f26133ea -size 21498 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/1.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/1.webp deleted file mode 100644 index 758e2e77..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:985c00dd2763fe0132db38a7d19e3d80e3dd37e43c0918ff90de7d2f0eda1058 -size 36574 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/2.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/2.webp deleted file mode 100644 index f3ecd16f..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f906842dba876c0da12106c132ffb3ff6bb65053b278f0dffdd494ccdb186cb4 -size 17262 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/3.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/3.webp deleted file mode 100644 index 64a370dc..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04db138e5c9c920e75e66780f78b6adf9235c1a5b82c6453e7bd32d2663d241a -size 20410 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/mask.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/mask.webp deleted file mode 100644 index 29893a90..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89adabe73e9692383d8137425084e880b8d05e90d0f7ace239cdd78492973917 -size 4576 diff --git a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/outline.webp b/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/outline.webp deleted file mode 100644 index 1e68159b..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76cedd4f097fe9943a77fe14fe417abddcd89d9551e663a0c24771aba3736269 -size 38614 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/base.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/base.webp deleted file mode 100644 index b1a0b0f5..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5848c95cb77864b8b1239be9f45a48a8fcd69dc655befb99e5da343d991b7435 -size 6582 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/base_mask.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/base_mask.webp deleted file mode 100644 index 4535c83f..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/base_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce5fb966572bac64c0e1453190ce09c304e052a1aa52ccce5303d08be68e0f59 -size 2548 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/happy.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/happy.webp deleted file mode 100644 index fddb2a9c..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/happy.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cfa1ebc015f2657636a9b605f691dbe17d4e57cf4bcf9ade553f60a33f7872eb -size 6576 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/happy_mask.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/happy_mask.webp deleted file mode 100644 index d7140744..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/happy_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d3d670187c95a7c3bb49bb4a81b164aa3633fd374ab4532f07cb32c18705dad -size 2510 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/narrow.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/narrow.webp deleted file mode 100644 index 0ad1648a..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/narrow.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebc653d1e3834f4cf9ad1bb1aa3d3ebfaed0342cd8cb8eb6819d5223cbf4a087 -size 7192 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/narrow_mask.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/narrow_mask.webp deleted file mode 100644 index c1716b8d..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/narrow_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8e4025e18a21529ad2c4bc26b6debd7ce48f2e60515a6486208cb53c344e339 -size 2482 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/wide.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/wide.webp deleted file mode 100644 index 0b25b032..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e76b3aee2e83314da638d374d057839f88c4e5a688546f312708ed3dc73e8c1 -size 7380 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/wide_mask.webp b/game/characters/hermione/poses/CG_lean_forward/face/eyes/wide_mask.webp deleted file mode 100644 index 6f9ee460..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/eyes/wide_mask.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d9f1c7fe7d55b37cca686249de35b4dbb7c84f7c93f2d5feb398646588cbb85 -size 2582 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/pupils/L.webp b/game/characters/hermione/poses/CG_lean_forward/face/pupils/L.webp deleted file mode 100644 index c48ee6e7..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/pupils/L.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6180d5cecca5239beb4a5c7b07cb74b7d30684c17d333948a32b8e439b60efa -size 5158 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/pupils/R.webp b/game/characters/hermione/poses/CG_lean_forward/face/pupils/R.webp deleted file mode 100644 index 4c71237d..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/pupils/R.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b1fac6f8d1854580e3479e564302563357efeb426e493afa6639250cf454836e -size 4940 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/pupils/ahegao.webp b/game/characters/hermione/poses/CG_lean_forward/face/pupils/ahegao.webp deleted file mode 100644 index 7eeb25d9..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/pupils/ahegao.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:714c8333e591722fce3698ec1e4bf4d40dcfac4e97a1a80af54638fa10384c10 -size 5122 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/pupils/down.webp b/game/characters/hermione/poses/CG_lean_forward/face/pupils/down.webp deleted file mode 100644 index 3c162b9e..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/pupils/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14ad67b2f2a6f570e4ef6e4463943d2d7d8439b83af3ae8f332995b4c749c8bc -size 4904 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/pupils/mid.webp b/game/characters/hermione/poses/CG_lean_forward/face/pupils/mid.webp deleted file mode 100644 index f2c9a601..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/pupils/mid.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84c978ef66044388b92c2a90fc89a64397cf204ab3a1a8e0c9669ddadedfa6ce -size 4964 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/pupils/stare.webp b/game/characters/hermione/poses/CG_lean_forward/face/pupils/stare.webp deleted file mode 100644 index f2c9a601..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/pupils/stare.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84c978ef66044388b92c2a90fc89a64397cf204ab3a1a8e0c9669ddadedfa6ce -size 4964 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/pupils/up.webp b/game/characters/hermione/poses/CG_lean_forward/face/pupils/up.webp deleted file mode 100644 index fab3e0cd..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/face/pupils/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a5e3b3f5779675e80bd244e8072c3cc24083ba5e2cda3dd17fb272d8296d5c2b -size 4910 diff --git a/game/characters/hermione/poses/CG_lean_forward/loadable.webp b/game/characters/hermione/poses/CG_lean_forward/loadable.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/hermione/poses/CG_lean_forward/loadable.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/hermione/body/breasts/big1.webp b/game/characters/hermione/poses/default/bodyparts/chest/big1/skin.webp similarity index 100% rename from game/characters/hermione/body/breasts/big1.webp rename to game/characters/hermione/poses/default/bodyparts/chest/big1/skin.webp diff --git a/game/characters/hermione/poses/default/bodyparts/chest/big2/mask.webp b/game/characters/hermione/poses/default/bodyparts/chest/big2/mask.webp new file mode 100644 index 00000000..1375831a --- /dev/null +++ b/game/characters/hermione/poses/default/bodyparts/chest/big2/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab5bb7850c40ddaf389fd3fe66bfcbf0047f99215e3e6d5430bdc795c88d4197 +size 632 diff --git a/game/characters/hermione/body/breasts/big2.webp b/game/characters/hermione/poses/default/bodyparts/chest/big2/skin.webp similarity index 100% rename from game/characters/hermione/body/breasts/big2.webp rename to game/characters/hermione/poses/default/bodyparts/chest/big2/skin.webp diff --git a/game/characters/hermione/body/breasts/big3.webp b/game/characters/hermione/poses/default/bodyparts/chest/big3/skin.webp similarity index 100% rename from game/characters/hermione/body/breasts/big3.webp rename to game/characters/hermione/poses/default/bodyparts/chest/big3/skin.webp diff --git a/game/characters/hermione/poses/default/bodyparts/frame/default/skin.webp b/game/characters/hermione/poses/default/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..1fa06664 --- /dev/null +++ b/game/characters/hermione/poses/default/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e90dcd9f529fda39e0a94485fd5efcc1b09e707fa61e7c990713e719b220a9fe +size 90170 diff --git a/game/characters/hermione/body/backside/big1.webp b/game/characters/hermione/poses/default/bodyparts/hips/big1/skin.webp similarity index 100% rename from game/characters/hermione/body/backside/big1.webp rename to game/characters/hermione/poses/default/bodyparts/hips/big1/skin.webp diff --git a/game/characters/hermione/body/backside/big2.webp b/game/characters/hermione/poses/default/bodyparts/hips/big2/skin.webp similarity index 100% rename from game/characters/hermione/body/backside/big2.webp rename to game/characters/hermione/poses/default/bodyparts/hips/big2/skin.webp diff --git a/game/characters/hermione/body/backside/big3.webp b/game/characters/hermione/poses/default/bodyparts/hips/big3/skin.webp similarity index 100% rename from game/characters/hermione/body/backside/big3.webp rename to game/characters/hermione/poses/default/bodyparts/hips/big3/skin.webp diff --git a/game/characters/hermione/clothes/accessory/ball_sash/0.webp b/game/characters/hermione/poses/default/clothes/accessory/ball_sash/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/ball_sash/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/ball_sash/0.webp diff --git a/game/characters/hermione/clothes/accessory/ball_sash/0_back.webp b/game/characters/hermione/poses/default/clothes/accessory/ball_sash/0_back.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/ball_sash/0_back.webp rename to game/characters/hermione/poses/default/clothes/accessory/ball_sash/0_back.webp diff --git a/game/characters/hermione/clothes/accessory/ball_sash/1.webp b/game/characters/hermione/poses/default/clothes/accessory/ball_sash/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/ball_sash/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/ball_sash/1.webp diff --git a/game/characters/hermione/clothes/accessory/ball_sash/extra.webp b/game/characters/hermione/poses/default/clothes/accessory/ball_sash/extra.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/ball_sash/extra.webp rename to game/characters/hermione/poses/default/clothes/accessory/ball_sash/extra.webp diff --git a/game/characters/hermione/clothes/accessory/ball_sash/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/ball_sash/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/ball_sash/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/ball_sash/outline.webp diff --git a/game/characters/hermione/clothes/accessory/ball_sash/outline_back.webp b/game/characters/hermione/poses/default/clothes/accessory/ball_sash/outline_back.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/ball_sash/outline_back.webp rename to game/characters/hermione/poses/default/clothes/accessory/ball_sash/outline_back.webp diff --git a/game/characters/hermione/clothes/accessory/bb_tie/0.webp b/game/characters/hermione/poses/default/clothes/accessory/bb_tie/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/bb_tie/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/bb_tie/0.webp diff --git a/game/characters/hermione/clothes/accessory/bb_tie/1.webp b/game/characters/hermione/poses/default/clothes/accessory/bb_tie/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/bb_tie/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/bb_tie/1.webp diff --git a/game/characters/hermione/clothes/accessory/bb_tie/2.webp b/game/characters/hermione/poses/default/clothes/accessory/bb_tie/2.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/bb_tie/2.webp rename to game/characters/hermione/poses/default/clothes/accessory/bb_tie/2.webp diff --git a/game/characters/hermione/clothes/accessory/bb_tie/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/bb_tie/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/bb_tie/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/bb_tie/outline.webp diff --git a/game/characters/hermione/clothes/accessory/bb_tie/skin.webp b/game/characters/hermione/poses/default/clothes/accessory/bb_tie/skin.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/bb_tie/skin.webp rename to game/characters/hermione/poses/default/clothes/accessory/bb_tie/skin.webp diff --git a/game/characters/hermione/clothes/accessory/bunny_badge/0.webp b/game/characters/hermione/poses/default/clothes/accessory/bunny_badge/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/bunny_badge/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/bunny_badge/0.webp diff --git a/game/characters/hermione/clothes/accessory/bunny_badge/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/bunny_badge/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/bunny_badge/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/bunny_badge/outline.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_large_1/0.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_large_1/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/0.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_large_1/1.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_large_1/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/1.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_large_1/2.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_large_1/2.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/2.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_large_1/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_large_1/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_large_1/outline.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_medium_1/0.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_medium_1/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/0.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_medium_1/1.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_medium_1/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/1.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_medium_1/2.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_medium_1/2.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/2.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_medium_1/3.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/3.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_medium_1/3.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/3.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_medium_1/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_medium_1/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/outline.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_small_1/0.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_small_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_small_1/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_small_1/0.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_small_1/1.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_small_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_small_1/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_small_1/1.webp diff --git a/game/characters/hermione/clothes/buttplug/buttplug_small_1/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/buttplug_small_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/buttplug/buttplug_small_1/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/buttplug_small_1/outline.webp diff --git a/game/characters/hermione/clothes/accessory/cat_tail/0.webp b/game/characters/hermione/poses/default/clothes/accessory/cat_tail/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/cat_tail/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/cat_tail/0.webp diff --git a/game/characters/hermione/clothes/accessory/cat_tail/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/cat_tail/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/cat_tail/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/cat_tail/outline.webp diff --git a/game/characters/hermione/clothes/accessory/clit_vibrators/0.webp b/game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/clit_vibrators/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/0.webp diff --git a/game/characters/hermione/clothes/accessory/clit_vibrators/1.webp b/game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/clit_vibrators/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/1.webp diff --git a/game/characters/hermione/clothes/accessory/clit_vibrators/2.webp b/game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/2.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/clit_vibrators/2.webp rename to game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/2.webp diff --git a/game/characters/hermione/clothes/accessory/clit_vibrators/extra.webp b/game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/extra.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/clit_vibrators/extra.webp rename to game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/extra.webp diff --git a/game/characters/hermione/clothes/accessory/clit_vibrators/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/clit_vibrators/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/outline.webp diff --git a/game/characters/hermione/clothes/accessory/clit_vibrators/skin.webp b/game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/skin.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/clit_vibrators/skin.webp rename to game/characters/hermione/poses/default/clothes/accessory/clit_vibrators/skin.webp diff --git a/game/characters/hermione/clothes/accessory/croft_belt/0.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_belt/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_belt/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_belt/0.webp diff --git a/game/characters/hermione/clothes/accessory/croft_belt/1.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_belt/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_belt/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_belt/1.webp diff --git a/game/characters/hermione/clothes/accessory/croft_belt/2.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_belt/2.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_belt/2.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_belt/2.webp diff --git a/game/characters/hermione/clothes/accessory/croft_belt/extra.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_belt/extra.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_belt/extra.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_belt/extra.webp diff --git a/game/characters/hermione/clothes/accessory/croft_belt/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_belt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_belt/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_belt/outline.webp diff --git a/game/characters/hermione/clothes/accessory/croft_suspenders/0.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_suspenders/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_suspenders/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_suspenders/0.webp diff --git a/game/characters/hermione/clothes/accessory/croft_suspenders/1.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_suspenders/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_suspenders/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_suspenders/1.webp diff --git a/game/characters/hermione/clothes/accessory/croft_suspenders/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/croft_suspenders/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/croft_suspenders/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/croft_suspenders/outline.webp diff --git a/game/characters/hermione/clothes/accessory/house_emblem/0.webp b/game/characters/hermione/poses/default/clothes/accessory/house_emblem/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/house_emblem/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/house_emblem/0.webp diff --git a/game/characters/hermione/clothes/accessory/house_emblem/1.webp b/game/characters/hermione/poses/default/clothes/accessory/house_emblem/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/house_emblem/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/house_emblem/1.webp diff --git a/game/characters/hermione/clothes/accessory/house_emblem/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/house_emblem/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/house_emblem/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/house_emblem/outline.webp diff --git a/game/characters/hermione/clothes/accessory/leg_wrap/0.webp b/game/characters/hermione/poses/default/clothes/accessory/leg_wrap/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/leg_wrap/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/leg_wrap/0.webp diff --git a/game/characters/hermione/clothes/accessory/leg_wrap/1.webp b/game/characters/hermione/poses/default/clothes/accessory/leg_wrap/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/leg_wrap/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/leg_wrap/1.webp diff --git a/game/characters/hermione/clothes/accessory/leg_wrap/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/leg_wrap/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/leg_wrap/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/leg_wrap/outline.webp diff --git a/game/characters/hermione/poses/default/clothes/accessory/mistletoe/0.webp b/game/characters/hermione/poses/default/clothes/accessory/mistletoe/0.webp new file mode 100644 index 00000000..fea8c2e1 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/accessory/mistletoe/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6d7ea4dddb522ff55f2c0c65c3c440ac6d883edc4209721b852107d585dd1d0 +size 1868 diff --git a/game/characters/hermione/poses/default/clothes/accessory/mistletoe/extra.webp b/game/characters/hermione/poses/default/clothes/accessory/mistletoe/extra.webp new file mode 100644 index 00000000..5d956c4a --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/accessory/mistletoe/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c7d78c4aeb8723cbc5b340e7dbd7418df39e830d73ebdb6e0b3deed3e1f0b02 +size 2688 diff --git a/game/characters/hermione/poses/default/clothes/accessory/mistletoe/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/mistletoe/outline.webp new file mode 100644 index 00000000..fe3ce4b9 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/accessory/mistletoe/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d87ff667af846e9a74c090495c7343fd283a6033bf37ea184c4cfe3bcbaa6f55 +size 2470 diff --git a/game/characters/hermione/clothes/accessory/msmarv_ribbon/0.webp b/game/characters/hermione/poses/default/clothes/accessory/msmarv_ribbon/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/msmarv_ribbon/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/msmarv_ribbon/0.webp diff --git a/game/characters/hermione/clothes/accessory/msmarv_ribbon/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/msmarv_ribbon/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/msmarv_ribbon/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/msmarv_ribbon/outline.webp diff --git a/game/characters/hermione/clothes/accessory/nipple_vibrators/0.webp b/game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/nipple_vibrators/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/0.webp diff --git a/game/characters/hermione/clothes/accessory/nipple_vibrators/1.webp b/game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/nipple_vibrators/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/1.webp diff --git a/game/characters/hermione/clothes/accessory/nipple_vibrators/2.webp b/game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/2.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/nipple_vibrators/2.webp rename to game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/2.webp diff --git a/game/characters/hermione/clothes/accessory/nipple_vibrators/extra.webp b/game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/extra.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/nipple_vibrators/extra.webp rename to game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/extra.webp diff --git a/game/characters/hermione/clothes/accessory/nipple_vibrators/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/nipple_vibrators/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/outline.webp diff --git a/game/characters/hermione/clothes/accessory/nipple_vibrators/skin.webp b/game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/skin.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/nipple_vibrators/skin.webp rename to game/characters/hermione/poses/default/clothes/accessory/nipple_vibrators/skin.webp diff --git a/game/characters/hermione/clothes/accessory/tifa_belt/0.webp b/game/characters/hermione/poses/default/clothes/accessory/tifa_belt/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/tifa_belt/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/tifa_belt/0.webp diff --git a/game/characters/hermione/clothes/accessory/tifa_belt/1.webp b/game/characters/hermione/poses/default/clothes/accessory/tifa_belt/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/tifa_belt/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/tifa_belt/1.webp diff --git a/game/characters/hermione/clothes/accessory/tifa_belt/extra.webp b/game/characters/hermione/poses/default/clothes/accessory/tifa_belt/extra.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/tifa_belt/extra.webp rename to game/characters/hermione/poses/default/clothes/accessory/tifa_belt/extra.webp diff --git a/game/characters/hermione/clothes/accessory/tifa_belt/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/tifa_belt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/tifa_belt/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/tifa_belt/outline.webp diff --git a/game/characters/hermione/clothes/accessory/tifa_suspenders/0.webp b/game/characters/hermione/poses/default/clothes/accessory/tifa_suspenders/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/tifa_suspenders/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/tifa_suspenders/0.webp diff --git a/game/characters/hermione/clothes/accessory/tifa_suspenders/1.webp b/game/characters/hermione/poses/default/clothes/accessory/tifa_suspenders/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/tifa_suspenders/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/tifa_suspenders/1.webp diff --git a/game/characters/hermione/clothes/accessory/tifa_suspenders/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/tifa_suspenders/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/tifa_suspenders/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/tifa_suspenders/outline.webp diff --git a/game/characters/hermione/clothes/accessory/wrestling_belt/0.webp b/game/characters/hermione/poses/default/clothes/accessory/wrestling_belt/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/wrestling_belt/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/wrestling_belt/0.webp diff --git a/game/characters/hermione/clothes/accessory/wrestling_belt/1.webp b/game/characters/hermione/poses/default/clothes/accessory/wrestling_belt/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/wrestling_belt/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/wrestling_belt/1.webp diff --git a/game/characters/hermione/clothes/accessory/wrestling_belt/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/wrestling_belt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/wrestling_belt/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/wrestling_belt/outline.webp diff --git a/game/characters/hermione/clothes/accessory/yen_belt/0.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_belt/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_belt/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_belt/0.webp diff --git a/game/characters/hermione/clothes/accessory/yen_belt/1.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_belt/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_belt/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_belt/1.webp diff --git a/game/characters/hermione/clothes/accessory/yen_belt/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_belt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_belt/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_belt/outline.webp diff --git a/game/characters/hermione/clothes/accessory/yen_corset/0.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_corset/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_corset/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_corset/0.webp diff --git a/game/characters/hermione/clothes/accessory/yen_corset/1.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_corset/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_corset/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_corset/1.webp diff --git a/game/characters/hermione/clothes/accessory/yen_corset/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_corset/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_corset/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_corset/outline.webp diff --git a/game/characters/hermione/clothes/accessory/yen_corset/overlay.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_corset/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_corset/overlay.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_corset/overlay.webp diff --git a/game/characters/hermione/clothes/accessory/yen_feathers/0.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_feathers/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_feathers/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_feathers/0.webp diff --git a/game/characters/hermione/clothes/accessory/yen_feathers/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_feathers/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_feathers/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_feathers/outline.webp diff --git a/game/characters/hermione/clothes/accessory/yen_sash/0.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_sash/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_sash/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_sash/0.webp diff --git a/game/characters/hermione/clothes/accessory/yen_sash/1.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_sash/1.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_sash/1.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_sash/1.webp diff --git a/game/characters/hermione/clothes/accessory/yen_sash/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_sash/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_sash/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_sash/outline.webp diff --git a/game/characters/hermione/clothes/accessory/yen_scarf/0.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_scarf/0.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_scarf/0.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_scarf/0.webp diff --git a/game/characters/hermione/clothes/accessory/yen_scarf/outline.webp b/game/characters/hermione/poses/default/clothes/accessory/yen_scarf/outline.webp similarity index 100% rename from game/characters/hermione/clothes/accessory/yen_scarf/outline.webp rename to game/characters/hermione/poses/default/clothes/accessory/yen_scarf/outline.webp diff --git a/game/characters/hermione/clothes/bottom/bioshock_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/bioshock_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/bioshock_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/bioshock_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/bioshock_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/bioshock_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/bioshock_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/bioshock_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_1/0.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_1/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/0.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_1/1.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_1/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/1.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_1/2.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_1/2.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/2.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_1/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/outline.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_1/skin.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_1/skin.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/skin.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_2/0.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_2/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/0.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_2/1.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_2/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/1.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_2/2.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/2.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_2/2.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/2.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_2/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_2/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/outline.webp diff --git a/game/characters/hermione/clothes/bottom/cheerleader_skirt_2/skin.webp b/game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/cheerleader_skirt_2/skin.webp rename to game/characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/skin.webp diff --git a/game/characters/hermione/clothes/bottom/croft_shorts/0.webp b/game/characters/hermione/poses/default/clothes/bottom/croft_shorts/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/croft_shorts/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/croft_shorts/0.webp diff --git a/game/characters/hermione/clothes/bottom/croft_shorts/1.webp b/game/characters/hermione/poses/default/clothes/bottom/croft_shorts/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/croft_shorts/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/croft_shorts/1.webp diff --git a/game/characters/hermione/clothes/bottom/croft_shorts/2.webp b/game/characters/hermione/poses/default/clothes/bottom/croft_shorts/2.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/croft_shorts/2.webp rename to game/characters/hermione/poses/default/clothes/bottom/croft_shorts/2.webp diff --git a/game/characters/hermione/clothes/bottom/croft_shorts/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/croft_shorts/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/croft_shorts/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/croft_shorts/outline.webp diff --git a/game/characters/hermione/clothes/bottom/egypt_loincloth/0.webp b/game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/egypt_loincloth/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/0.webp diff --git a/game/characters/hermione/clothes/bottom/egypt_loincloth/1.webp b/game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/egypt_loincloth/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/1.webp diff --git a/game/characters/hermione/clothes/bottom/egypt_loincloth/2.webp b/game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/2.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/egypt_loincloth/2.webp rename to game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/2.webp diff --git a/game/characters/hermione/clothes/bottom/egypt_loincloth/extra.webp b/game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/egypt_loincloth/extra.webp rename to game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/extra.webp diff --git a/game/characters/hermione/clothes/bottom/egypt_loincloth/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/egypt_loincloth/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/egypt_loincloth/outline.webp diff --git a/game/characters/hermione/clothes/bottom/jeans_1/0.webp b/game/characters/hermione/poses/default/clothes/bottom/jeans_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/jeans_1/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/jeans_1/0.webp diff --git a/game/characters/hermione/clothes/bottom/jeans_1/1.webp b/game/characters/hermione/poses/default/clothes/bottom/jeans_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/jeans_1/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/jeans_1/1.webp diff --git a/game/characters/hermione/clothes/bottom/jeans_1/2.webp b/game/characters/hermione/poses/default/clothes/bottom/jeans_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/jeans_1/2.webp rename to game/characters/hermione/poses/default/clothes/bottom/jeans_1/2.webp diff --git a/game/characters/hermione/clothes/bottom/jeans_1/extra.webp b/game/characters/hermione/poses/default/clothes/bottom/jeans_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/jeans_1/extra.webp rename to game/characters/hermione/poses/default/clothes/bottom/jeans_1/extra.webp diff --git a/game/characters/hermione/clothes/bottom/jeans_1/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/jeans_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/jeans_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/jeans_1/outline.webp diff --git a/game/characters/hermione/clothes/bottom/open_skirt_1/0.webp b/game/characters/hermione/poses/default/clothes/bottom/open_skirt_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/open_skirt_1/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/open_skirt_1/0.webp diff --git a/game/characters/hermione/clothes/bottom/open_skirt_1/mask.webp b/game/characters/hermione/poses/default/clothes/bottom/open_skirt_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/open_skirt_1/mask.webp rename to game/characters/hermione/poses/default/clothes/bottom/open_skirt_1/mask.webp diff --git a/game/characters/hermione/clothes/bottom/open_skirt_1/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/open_skirt_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/open_skirt_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/open_skirt_1/outline.webp diff --git a/game/characters/hermione/clothes/bottom/pajama_1/0.webp b/game/characters/hermione/poses/default/clothes/bottom/pajama_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pajama_1/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/pajama_1/0.webp diff --git a/game/characters/hermione/clothes/bottom/pajama_1/1.webp b/game/characters/hermione/poses/default/clothes/bottom/pajama_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pajama_1/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/pajama_1/1.webp diff --git a/game/characters/hermione/clothes/bottom/pajama_1/2.webp b/game/characters/hermione/poses/default/clothes/bottom/pajama_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pajama_1/2.webp rename to game/characters/hermione/poses/default/clothes/bottom/pajama_1/2.webp diff --git a/game/characters/hermione/clothes/bottom/pajama_1/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/pajama_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pajama_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/pajama_1/outline.webp diff --git a/game/characters/hermione/clothes/bottom/pajama_2/0.webp b/game/characters/hermione/poses/default/clothes/bottom/pajama_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pajama_2/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/pajama_2/0.webp diff --git a/game/characters/hermione/clothes/bottom/pajama_2/1.webp b/game/characters/hermione/poses/default/clothes/bottom/pajama_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pajama_2/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/pajama_2/1.webp diff --git a/game/characters/hermione/clothes/bottom/pajama_2/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/pajama_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pajama_2/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/pajama_2/outline.webp diff --git a/game/characters/hermione/clothes/bottom/pizza_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/pizza_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pizza_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/pizza_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/pizza_skirt/1.webp b/game/characters/hermione/poses/default/clothes/bottom/pizza_skirt/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pizza_skirt/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/pizza_skirt/1.webp diff --git a/game/characters/hermione/clothes/bottom/pizza_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/pizza_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/pizza_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/pizza_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/skin.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/skin.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/skin.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/mask.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/mask.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/mask.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_1/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_1/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/skin.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/skin.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/skin.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/mask.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/mask.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/mask.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/mask.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_2/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_2/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_2/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/skin.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/skin.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/skin.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/mask.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/mask.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/mask.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/mask.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_3/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_3/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_3/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/1.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/1.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/skin.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/skin.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/skin.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/mask.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/mask.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/mask.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/mask.webp diff --git a/game/characters/hermione/clothes/bottom/school_skirt_4/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/school_skirt_4/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/school_skirt_4/outline.webp diff --git a/game/characters/hermione/clothes/bottom/tifa_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/tifa_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/tifa_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/tifa_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/tifa_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/tifa_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/tifa_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/tifa_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bottom/winter_skirt_1/0.webp b/game/characters/hermione/poses/default/clothes/bottom/winter_skirt_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/winter_skirt_1/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/winter_skirt_1/0.webp diff --git a/game/characters/hermione/clothes/bottom/winter_skirt_1/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/winter_skirt_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/winter_skirt_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/winter_skirt_1/outline.webp diff --git a/game/characters/hermione/clothes/bottom/xmas/0.webp b/game/characters/hermione/poses/default/clothes/bottom/xmas/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/xmas/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/xmas/0.webp diff --git a/game/characters/hermione/clothes/bottom/xmas/1.webp b/game/characters/hermione/poses/default/clothes/bottom/xmas/1.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/xmas/1.webp rename to game/characters/hermione/poses/default/clothes/bottom/xmas/1.webp diff --git a/game/characters/hermione/clothes/bottom/xmas/extra.webp b/game/characters/hermione/poses/default/clothes/bottom/xmas/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/xmas/extra.webp rename to game/characters/hermione/poses/default/clothes/bottom/xmas/extra.webp diff --git a/game/characters/hermione/clothes/bottom/xmas/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/xmas/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/xmas/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/xmas/outline.webp diff --git a/game/characters/hermione/clothes/bottom/xmas/skin.webp b/game/characters/hermione/poses/default/clothes/bottom/xmas/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/xmas/skin.webp rename to game/characters/hermione/poses/default/clothes/bottom/xmas/skin.webp diff --git a/game/characters/hermione/clothes/bottom/yen_skirt/0.webp b/game/characters/hermione/poses/default/clothes/bottom/yen_skirt/0.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/yen_skirt/0.webp rename to game/characters/hermione/poses/default/clothes/bottom/yen_skirt/0.webp diff --git a/game/characters/hermione/clothes/bottom/yen_skirt/outline.webp b/game/characters/hermione/poses/default/clothes/bottom/yen_skirt/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bottom/yen_skirt/outline.webp rename to game/characters/hermione/poses/default/clothes/bottom/yen_skirt/outline.webp diff --git a/game/characters/hermione/clothes/bra/bandaids/0.webp b/game/characters/hermione/poses/default/clothes/bra/bandaids/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bandaids/0.webp rename to game/characters/hermione/poses/default/clothes/bra/bandaids/0.webp diff --git a/game/characters/hermione/clothes/bra/bandaids/outline.webp b/game/characters/hermione/poses/default/clothes/bra/bandaids/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bandaids/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/bandaids/outline.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_1/0.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_1/0.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_1/0.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_1/1.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_1/1.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_1/1.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_1/mask.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_1/mask.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_1/mask.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_1/outline.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_1/outline.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_1/skin.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_1/skin.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_1/skin.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_vibrators/0.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_vibrators/0.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/0.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_vibrators/1.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_vibrators/1.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/1.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_vibrators/outline.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_vibrators/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/outline.webp diff --git a/game/characters/hermione/clothes/bra/basic_bra_vibrators/skin.webp b/game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bra/basic_bra_vibrators/skin.webp rename to game/characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/skin.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_1/0.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_1/0.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/0.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_1/1.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_1/1.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/1.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_1/extra.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_1/extra.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/extra.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_1/outline.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_1/outline.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_2/0.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_2/0.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/0.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_2/1.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_2/1.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/1.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_2/extra.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_2/extra.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/extra.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_2/outline.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_2/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/outline.webp diff --git a/game/characters/hermione/clothes/bra/bikini_bra_2/skin.webp b/game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bra/bikini_bra_2/skin.webp rename to game/characters/hermione/poses/default/clothes/bra/bikini_bra_2/skin.webp diff --git a/game/characters/hermione/clothes/bra/hslut_pasties/0.webp b/game/characters/hermione/poses/default/clothes/bra/hslut_pasties/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/hslut_pasties/0.webp rename to game/characters/hermione/poses/default/clothes/bra/hslut_pasties/0.webp diff --git a/game/characters/hermione/clothes/bra/hslut_pasties/1.webp b/game/characters/hermione/poses/default/clothes/bra/hslut_pasties/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/hslut_pasties/1.webp rename to game/characters/hermione/poses/default/clothes/bra/hslut_pasties/1.webp diff --git a/game/characters/hermione/clothes/bra/hslut_pasties/extra.webp b/game/characters/hermione/poses/default/clothes/bra/hslut_pasties/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bra/hslut_pasties/extra.webp rename to game/characters/hermione/poses/default/clothes/bra/hslut_pasties/extra.webp diff --git a/game/characters/hermione/clothes/bra/hslut_pasties/outline.webp b/game/characters/hermione/poses/default/clothes/bra/hslut_pasties/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/hslut_pasties/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/hslut_pasties/outline.webp diff --git a/game/characters/hermione/clothes/bra/poker_bra_1/0.webp b/game/characters/hermione/poses/default/clothes/bra/poker_bra_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/poker_bra_1/0.webp rename to game/characters/hermione/poses/default/clothes/bra/poker_bra_1/0.webp diff --git a/game/characters/hermione/clothes/bra/poker_bra_1/1.webp b/game/characters/hermione/poses/default/clothes/bra/poker_bra_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/poker_bra_1/1.webp rename to game/characters/hermione/poses/default/clothes/bra/poker_bra_1/1.webp diff --git a/game/characters/hermione/clothes/bra/poker_bra_1/2.webp b/game/characters/hermione/poses/default/clothes/bra/poker_bra_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/bra/poker_bra_1/2.webp rename to game/characters/hermione/poses/default/clothes/bra/poker_bra_1/2.webp diff --git a/game/characters/hermione/clothes/bra/poker_bra_1/3.webp b/game/characters/hermione/poses/default/clothes/bra/poker_bra_1/3.webp similarity index 100% rename from game/characters/hermione/clothes/bra/poker_bra_1/3.webp rename to game/characters/hermione/poses/default/clothes/bra/poker_bra_1/3.webp diff --git a/game/characters/hermione/clothes/bra/poker_bra_1/extra.webp b/game/characters/hermione/poses/default/clothes/bra/poker_bra_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bra/poker_bra_1/extra.webp rename to game/characters/hermione/poses/default/clothes/bra/poker_bra_1/extra.webp diff --git a/game/characters/hermione/clothes/bra/poker_bra_1/outline.webp b/game/characters/hermione/poses/default/clothes/bra/poker_bra_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/poker_bra_1/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/poker_bra_1/outline.webp diff --git a/game/characters/hermione/clothes/bra/poker_bra_1/skin.webp b/game/characters/hermione/poses/default/clothes/bra/poker_bra_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bra/poker_bra_1/skin.webp rename to game/characters/hermione/poses/default/clothes/bra/poker_bra_1/skin.webp diff --git a/game/characters/hermione/clothes/bra/ribbon/0.webp b/game/characters/hermione/poses/default/clothes/bra/ribbon/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/ribbon/0.webp rename to game/characters/hermione/poses/default/clothes/bra/ribbon/0.webp diff --git a/game/characters/hermione/clothes/bra/ribbon/extra.webp b/game/characters/hermione/poses/default/clothes/bra/ribbon/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bra/ribbon/extra.webp rename to game/characters/hermione/poses/default/clothes/bra/ribbon/extra.webp diff --git a/game/characters/hermione/clothes/bra/ribbon/mask.webp b/game/characters/hermione/poses/default/clothes/bra/ribbon/mask.webp similarity index 100% rename from game/characters/hermione/clothes/bra/ribbon/mask.webp rename to game/characters/hermione/poses/default/clothes/bra/ribbon/mask.webp diff --git a/game/characters/hermione/clothes/bra/ribbon/outline.webp b/game/characters/hermione/poses/default/clothes/bra/ribbon/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/ribbon/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/ribbon/outline.webp diff --git a/game/characters/hermione/clothes/bra/ribbon/skin.webp b/game/characters/hermione/poses/default/clothes/bra/ribbon/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bra/ribbon/skin.webp rename to game/characters/hermione/poses/default/clothes/bra/ribbon/skin.webp diff --git a/game/characters/hermione/clothes/bra/sling_bra/0.webp b/game/characters/hermione/poses/default/clothes/bra/sling_bra/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sling_bra/0.webp rename to game/characters/hermione/poses/default/clothes/bra/sling_bra/0.webp diff --git a/game/characters/hermione/clothes/bra/sling_bra/1.webp b/game/characters/hermione/poses/default/clothes/bra/sling_bra/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sling_bra/1.webp rename to game/characters/hermione/poses/default/clothes/bra/sling_bra/1.webp diff --git a/game/characters/hermione/clothes/bra/sling_bra/extra.webp b/game/characters/hermione/poses/default/clothes/bra/sling_bra/extra.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sling_bra/extra.webp rename to game/characters/hermione/poses/default/clothes/bra/sling_bra/extra.webp diff --git a/game/characters/hermione/clothes/bra/sling_bra/outline.webp b/game/characters/hermione/poses/default/clothes/bra/sling_bra/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sling_bra/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/sling_bra/outline.webp diff --git a/game/characters/hermione/clothes/bra/sling_bra/skin.webp b/game/characters/hermione/poses/default/clothes/bra/sling_bra/skin.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sling_bra/skin.webp rename to game/characters/hermione/poses/default/clothes/bra/sling_bra/skin.webp diff --git a/game/characters/hermione/clothes/bra/sports_bra/0.webp b/game/characters/hermione/poses/default/clothes/bra/sports_bra/0.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sports_bra/0.webp rename to game/characters/hermione/poses/default/clothes/bra/sports_bra/0.webp diff --git a/game/characters/hermione/clothes/bra/sports_bra/1.webp b/game/characters/hermione/poses/default/clothes/bra/sports_bra/1.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sports_bra/1.webp rename to game/characters/hermione/poses/default/clothes/bra/sports_bra/1.webp diff --git a/game/characters/hermione/clothes/bra/sports_bra/outline.webp b/game/characters/hermione/poses/default/clothes/bra/sports_bra/outline.webp similarity index 100% rename from game/characters/hermione/clothes/bra/sports_bra/outline.webp rename to game/characters/hermione/poses/default/clothes/bra/sports_bra/outline.webp diff --git a/game/characters/hermione/clothes/earrings/hslut_earring/0.webp b/game/characters/hermione/poses/default/clothes/earrings/hslut_earring/0.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/hslut_earring/0.webp rename to game/characters/hermione/poses/default/clothes/earrings/hslut_earring/0.webp diff --git a/game/characters/hermione/clothes/earrings/hslut_earring/extra.webp b/game/characters/hermione/poses/default/clothes/earrings/hslut_earring/extra.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/hslut_earring/extra.webp rename to game/characters/hermione/poses/default/clothes/earrings/hslut_earring/extra.webp diff --git a/game/characters/hermione/clothes/earrings/hslut_earring/outline.webp b/game/characters/hermione/poses/default/clothes/earrings/hslut_earring/outline.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/hslut_earring/outline.webp rename to game/characters/hermione/poses/default/clothes/earrings/hslut_earring/outline.webp diff --git a/game/characters/hermione/clothes/earrings/pearl_1/0.webp b/game/characters/hermione/poses/default/clothes/earrings/pearl_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/pearl_1/0.webp rename to game/characters/hermione/poses/default/clothes/earrings/pearl_1/0.webp diff --git a/game/characters/hermione/clothes/earrings/pearl_1/extra.webp b/game/characters/hermione/poses/default/clothes/earrings/pearl_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/pearl_1/extra.webp rename to game/characters/hermione/poses/default/clothes/earrings/pearl_1/extra.webp diff --git a/game/characters/hermione/clothes/earrings/pearl_1/outline.webp b/game/characters/hermione/poses/default/clothes/earrings/pearl_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/pearl_1/outline.webp rename to game/characters/hermione/poses/default/clothes/earrings/pearl_1/outline.webp diff --git a/game/characters/hermione/clothes/earrings/poker_earring_1/0.webp b/game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/poker_earring_1/0.webp rename to game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/0.webp diff --git a/game/characters/hermione/clothes/earrings/poker_earring_1/extra.webp b/game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/poker_earring_1/extra.webp rename to game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/extra.webp diff --git a/game/characters/hermione/clothes/earrings/poker_earring_1/outline.webp b/game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/poker_earring_1/outline.webp rename to game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/outline.webp diff --git a/game/characters/hermione/clothes/earrings/poker_earring_1/skin.webp b/game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/earrings/poker_earring_1/skin.webp rename to game/characters/hermione/poses/default/clothes/earrings/poker_earring_1/skin.webp diff --git a/game/characters/hermione/clothes/garterbelt/hslut_garter/0.webp b/game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/0.webp similarity index 100% rename from game/characters/hermione/clothes/garterbelt/hslut_garter/0.webp rename to game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/0.webp diff --git a/game/characters/hermione/clothes/garterbelt/hslut_garter/1.webp b/game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/1.webp similarity index 100% rename from game/characters/hermione/clothes/garterbelt/hslut_garter/1.webp rename to game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/1.webp diff --git a/game/characters/hermione/clothes/garterbelt/hslut_garter/extra.webp b/game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/extra.webp similarity index 100% rename from game/characters/hermione/clothes/garterbelt/hslut_garter/extra.webp rename to game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/extra.webp diff --git a/game/characters/hermione/clothes/garterbelt/hslut_garter/outline.webp b/game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/outline.webp similarity index 100% rename from game/characters/hermione/clothes/garterbelt/hslut_garter/outline.webp rename to game/characters/hermione/poses/default/clothes/garterbelt/hslut_garter/outline.webp diff --git a/game/characters/hermione/clothes/glasses/reading_glasses/0.webp b/game/characters/hermione/poses/default/clothes/glasses/reading_glasses/0.webp similarity index 100% rename from game/characters/hermione/clothes/glasses/reading_glasses/0.webp rename to game/characters/hermione/poses/default/clothes/glasses/reading_glasses/0.webp diff --git a/game/characters/hermione/clothes/glasses/reading_glasses/outline.webp b/game/characters/hermione/poses/default/clothes/glasses/reading_glasses/outline.webp similarity index 100% rename from game/characters/hermione/clothes/glasses/reading_glasses/outline.webp rename to game/characters/hermione/poses/default/clothes/glasses/reading_glasses/outline.webp diff --git a/game/characters/hermione/clothes/glasses/vintage_glasses/0.webp b/game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/0.webp similarity index 100% rename from game/characters/hermione/clothes/glasses/vintage_glasses/0.webp rename to game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/0.webp diff --git a/game/characters/hermione/clothes/glasses/vintage_glasses/1.webp b/game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/1.webp similarity index 100% rename from game/characters/hermione/clothes/glasses/vintage_glasses/1.webp rename to game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/1.webp diff --git a/game/characters/hermione/clothes/glasses/vintage_glasses/2.webp b/game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/2.webp similarity index 100% rename from game/characters/hermione/clothes/glasses/vintage_glasses/2.webp rename to game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/2.webp diff --git a/game/characters/hermione/clothes/glasses/vintage_glasses/outline.webp b/game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/outline.webp similarity index 100% rename from game/characters/hermione/clothes/glasses/vintage_glasses/outline.webp rename to game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/outline.webp diff --git a/game/characters/hermione/clothes/glasses/vintage_glasses/skin.webp b/game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/skin.webp similarity index 100% rename from game/characters/hermione/clothes/glasses/vintage_glasses/skin.webp rename to game/characters/hermione/poses/default/clothes/glasses/vintage_glasses/skin.webp diff --git a/game/characters/hermione/clothes/gloves/bunny_gloves_1/0.webp b/game/characters/hermione/poses/default/clothes/gloves/bunny_gloves_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/bunny_gloves_1/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/bunny_gloves_1/0.webp diff --git a/game/characters/hermione/clothes/gloves/bunny_gloves_1/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/bunny_gloves_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/bunny_gloves_1/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/bunny_gloves_1/outline.webp diff --git a/game/characters/hermione/clothes/gloves/cat_arms/0.webp b/game/characters/hermione/poses/default/clothes/gloves/cat_arms/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/cat_arms/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/cat_arms/0.webp diff --git a/game/characters/hermione/clothes/gloves/cat_arms/1.webp b/game/characters/hermione/poses/default/clothes/gloves/cat_arms/1.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/cat_arms/1.webp rename to game/characters/hermione/poses/default/clothes/gloves/cat_arms/1.webp diff --git a/game/characters/hermione/clothes/gloves/cat_arms/2.webp b/game/characters/hermione/poses/default/clothes/gloves/cat_arms/2.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/cat_arms/2.webp rename to game/characters/hermione/poses/default/clothes/gloves/cat_arms/2.webp diff --git a/game/characters/hermione/clothes/gloves/cat_arms/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/cat_arms/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/cat_arms/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/cat_arms/outline.webp diff --git a/game/characters/hermione/clothes/gloves/cheerleader_armband/0.webp b/game/characters/hermione/poses/default/clothes/gloves/cheerleader_armband/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/cheerleader_armband/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/cheerleader_armband/0.webp diff --git a/game/characters/hermione/clothes/gloves/cheerleader_armband/1.webp b/game/characters/hermione/poses/default/clothes/gloves/cheerleader_armband/1.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/cheerleader_armband/1.webp rename to game/characters/hermione/poses/default/clothes/gloves/cheerleader_armband/1.webp diff --git a/game/characters/hermione/clothes/gloves/cheerleader_armband/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/cheerleader_armband/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/cheerleader_armband/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/cheerleader_armband/outline.webp diff --git a/game/characters/hermione/clothes/gloves/egypt_armband/0.webp b/game/characters/hermione/poses/default/clothes/gloves/egypt_armband/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/egypt_armband/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/egypt_armband/0.webp diff --git a/game/characters/hermione/clothes/gloves/egypt_armband/extra.webp b/game/characters/hermione/poses/default/clothes/gloves/egypt_armband/extra.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/egypt_armband/extra.webp rename to game/characters/hermione/poses/default/clothes/gloves/egypt_armband/extra.webp diff --git a/game/characters/hermione/clothes/gloves/egypt_armband/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/egypt_armband/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/egypt_armband/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/egypt_armband/outline.webp diff --git a/game/characters/hermione/clothes/gloves/hslut_gloves/0.webp b/game/characters/hermione/poses/default/clothes/gloves/hslut_gloves/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/hslut_gloves/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/hslut_gloves/0.webp diff --git a/game/characters/hermione/clothes/gloves/hslut_gloves/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/hslut_gloves/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/hslut_gloves/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/hslut_gloves/outline.webp diff --git a/game/characters/hermione/clothes/gloves/latex_gloves/0.webp b/game/characters/hermione/poses/default/clothes/gloves/latex_gloves/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/latex_gloves/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/latex_gloves/0.webp diff --git a/game/characters/hermione/clothes/gloves/latex_gloves/extra.webp b/game/characters/hermione/poses/default/clothes/gloves/latex_gloves/extra.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/latex_gloves/extra.webp rename to game/characters/hermione/poses/default/clothes/gloves/latex_gloves/extra.webp diff --git a/game/characters/hermione/clothes/gloves/latex_gloves/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/latex_gloves/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/latex_gloves/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/latex_gloves/outline.webp diff --git a/game/characters/hermione/clothes/gloves/maid_gloves_1/0.webp b/game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/maid_gloves_1/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/0.webp diff --git a/game/characters/hermione/clothes/gloves/maid_gloves_1/1.webp b/game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/maid_gloves_1/1.webp rename to game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/1.webp diff --git a/game/characters/hermione/clothes/gloves/maid_gloves_1/2.webp b/game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/maid_gloves_1/2.webp rename to game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/2.webp diff --git a/game/characters/hermione/clothes/gloves/maid_gloves_1/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/maid_gloves_1/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/maid_gloves_1/outline.webp diff --git a/game/characters/hermione/clothes/gloves/msmarv_gloves/0.webp b/game/characters/hermione/poses/default/clothes/gloves/msmarv_gloves/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/msmarv_gloves/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/msmarv_gloves/0.webp diff --git a/game/characters/hermione/clothes/gloves/msmarv_gloves/1.webp b/game/characters/hermione/poses/default/clothes/gloves/msmarv_gloves/1.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/msmarv_gloves/1.webp rename to game/characters/hermione/poses/default/clothes/gloves/msmarv_gloves/1.webp diff --git a/game/characters/hermione/clothes/gloves/msmarv_gloves/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/msmarv_gloves/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/msmarv_gloves/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/msmarv_gloves/outline.webp diff --git a/game/characters/hermione/clothes/gloves/poker_gloves_1/0.webp b/game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/poker_gloves_1/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/0.webp diff --git a/game/characters/hermione/clothes/gloves/poker_gloves_1/1.webp b/game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/poker_gloves_1/1.webp rename to game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/1.webp diff --git a/game/characters/hermione/clothes/gloves/poker_gloves_1/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/poker_gloves_1/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/outline.webp diff --git a/game/characters/hermione/clothes/gloves/poker_gloves_1/skin.webp b/game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/poker_gloves_1/skin.webp rename to game/characters/hermione/poses/default/clothes/gloves/poker_gloves_1/skin.webp diff --git a/game/characters/hermione/clothes/gloves/tifa_gloves/0.webp b/game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/tifa_gloves/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/0.webp diff --git a/game/characters/hermione/clothes/gloves/tifa_gloves/1.webp b/game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/1.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/tifa_gloves/1.webp rename to game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/1.webp diff --git a/game/characters/hermione/clothes/gloves/tifa_gloves/2.webp b/game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/2.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/tifa_gloves/2.webp rename to game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/2.webp diff --git a/game/characters/hermione/clothes/gloves/tifa_gloves/3.webp b/game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/3.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/tifa_gloves/3.webp rename to game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/3.webp diff --git a/game/characters/hermione/clothes/gloves/tifa_gloves/extra.webp b/game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/extra.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/tifa_gloves/extra.webp rename to game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/extra.webp diff --git a/game/characters/hermione/clothes/gloves/tifa_gloves/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/tifa_gloves/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/tifa_gloves/outline.webp diff --git a/game/characters/hermione/clothes/gloves/xmas/0.webp b/game/characters/hermione/poses/default/clothes/gloves/xmas/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/xmas/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/xmas/0.webp diff --git a/game/characters/hermione/clothes/gloves/xmas/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/xmas/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/xmas/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/xmas/outline.webp diff --git a/game/characters/hermione/clothes/gloves/yen_gloves/0.webp b/game/characters/hermione/poses/default/clothes/gloves/yen_gloves/0.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/yen_gloves/0.webp rename to game/characters/hermione/poses/default/clothes/gloves/yen_gloves/0.webp diff --git a/game/characters/hermione/clothes/gloves/yen_gloves/outline.webp b/game/characters/hermione/poses/default/clothes/gloves/yen_gloves/outline.webp similarity index 100% rename from game/characters/hermione/clothes/gloves/yen_gloves/outline.webp rename to game/characters/hermione/poses/default/clothes/gloves/yen_gloves/outline.webp diff --git a/game/characters/hermione/clothes/hair/base/0.webp b/game/characters/hermione/poses/default/clothes/hair/base/0.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/0.webp rename to game/characters/hermione/poses/default/clothes/hair/base/0.webp diff --git a/game/characters/hermione/clothes/hair/base/0_back.webp b/game/characters/hermione/poses/default/clothes/hair/base/0_back.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/0_back.webp rename to game/characters/hermione/poses/default/clothes/hair/base/0_back.webp diff --git a/game/characters/hermione/clothes/hair/base/1.webp b/game/characters/hermione/poses/default/clothes/hair/base/1.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/1.webp rename to game/characters/hermione/poses/default/clothes/hair/base/1.webp diff --git a/game/characters/hermione/clothes/hair/base/1_back.webp b/game/characters/hermione/poses/default/clothes/hair/base/1_back.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/1_back.webp rename to game/characters/hermione/poses/default/clothes/hair/base/1_back.webp diff --git a/game/characters/hermione/clothes/hair/base/2.webp b/game/characters/hermione/poses/default/clothes/hair/base/2.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/2.webp rename to game/characters/hermione/poses/default/clothes/hair/base/2.webp diff --git a/game/characters/hermione/clothes/hair/base/extra.webp b/game/characters/hermione/poses/default/clothes/hair/base/extra.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/extra.webp rename to game/characters/hermione/poses/default/clothes/hair/base/extra.webp diff --git a/game/characters/hermione/clothes/hair/base/outline.webp b/game/characters/hermione/poses/default/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/outline.webp rename to game/characters/hermione/poses/default/clothes/hair/base/outline.webp diff --git a/game/characters/hermione/clothes/hair/base/outline_back.webp b/game/characters/hermione/poses/default/clothes/hair/base/outline_back.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/outline_back.webp rename to game/characters/hermione/poses/default/clothes/hair/base/outline_back.webp diff --git a/game/characters/hermione/clothes/hair/base/skin.webp b/game/characters/hermione/poses/default/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/hermione/clothes/hair/base/skin.webp rename to game/characters/hermione/poses/default/clothes/hair/base/skin.webp diff --git a/game/characters/hermione/clothes/hair/bio_hair/0.webp b/game/characters/hermione/poses/default/clothes/hair/bio_hair/0.webp similarity index 100% rename from game/characters/hermione/clothes/hair/bio_hair/0.webp rename to game/characters/hermione/poses/default/clothes/hair/bio_hair/0.webp diff --git a/game/characters/hermione/clothes/hair/bio_hair/1.webp b/game/characters/hermione/poses/default/clothes/hair/bio_hair/1.webp similarity index 100% rename from game/characters/hermione/clothes/hair/bio_hair/1.webp rename to game/characters/hermione/poses/default/clothes/hair/bio_hair/1.webp diff --git a/game/characters/hermione/clothes/hair/bio_hair/outline.webp b/game/characters/hermione/poses/default/clothes/hair/bio_hair/outline.webp similarity index 100% rename from game/characters/hermione/clothes/hair/bio_hair/outline.webp rename to game/characters/hermione/poses/default/clothes/hair/bio_hair/outline.webp diff --git a/game/characters/hermione/clothes/hair/bio_hair/skin.webp b/game/characters/hermione/poses/default/clothes/hair/bio_hair/skin.webp similarity index 100% rename from game/characters/hermione/clothes/hair/bio_hair/skin.webp rename to game/characters/hermione/poses/default/clothes/hair/bio_hair/skin.webp diff --git a/game/characters/hermione/clothes/hair/updo/0.webp b/game/characters/hermione/poses/default/clothes/hair/updo/0.webp similarity index 100% rename from game/characters/hermione/clothes/hair/updo/0.webp rename to game/characters/hermione/poses/default/clothes/hair/updo/0.webp diff --git a/game/characters/hermione/clothes/hair/updo/0_front.webp b/game/characters/hermione/poses/default/clothes/hair/updo/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/hair/updo/0_front.webp rename to game/characters/hermione/poses/default/clothes/hair/updo/0_front.webp diff --git a/game/characters/hermione/clothes/hair/updo/1.webp b/game/characters/hermione/poses/default/clothes/hair/updo/1.webp similarity index 100% rename from game/characters/hermione/clothes/hair/updo/1.webp rename to game/characters/hermione/poses/default/clothes/hair/updo/1.webp diff --git a/game/characters/hermione/clothes/hair/updo/1_front.webp b/game/characters/hermione/poses/default/clothes/hair/updo/1_front.webp similarity index 100% rename from game/characters/hermione/clothes/hair/updo/1_front.webp rename to game/characters/hermione/poses/default/clothes/hair/updo/1_front.webp diff --git a/game/characters/hermione/clothes/hair/updo/outline.webp b/game/characters/hermione/poses/default/clothes/hair/updo/outline.webp similarity index 100% rename from game/characters/hermione/clothes/hair/updo/outline.webp rename to game/characters/hermione/poses/default/clothes/hair/updo/outline.webp diff --git a/game/characters/hermione/clothes/hair/updo/outline_front.webp b/game/characters/hermione/poses/default/clothes/hair/updo/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/hair/updo/outline_front.webp rename to game/characters/hermione/poses/default/clothes/hair/updo/outline_front.webp diff --git a/game/characters/hermione/clothes/hair/updo/skin.webp b/game/characters/hermione/poses/default/clothes/hair/updo/skin.webp similarity index 100% rename from game/characters/hermione/clothes/hair/updo/skin.webp rename to game/characters/hermione/poses/default/clothes/hair/updo/skin.webp diff --git a/game/characters/hermione/clothes/headgear/antlers/0.webp b/game/characters/hermione/poses/default/clothes/headgear/antlers/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/antlers/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/antlers/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/antlers/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/antlers/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/antlers/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/antlers/default/outline.webp diff --git a/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/0.webp b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/0.webp new file mode 100644 index 00000000..9ed1ea97 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3f85ac2a1052388d21d9bcd430ba69ab32e73df9ca87e3307aefc5bffd556cd +size 2596 diff --git a/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/1.webp b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/1.webp new file mode 100644 index 00000000..7ca59c86 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37d9e6cf19e0e7b2b755e687b7d089b37508b5c8b3308b74b958cc9cc6751162 +size 1038 diff --git a/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/2.webp b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/2.webp new file mode 100644 index 00000000..030b67ab --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16bec3abb0be9ad3ca97b5b22392edf53d880834ef366d8d3ee1a3775483fd4f +size 8666 diff --git a/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/outline.webp new file mode 100644 index 00000000..df16ec84 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/antlers_2/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e25fe6046899b05910eb49858c4ac98463be8ac80589983c663230e7f7fe49b8 +size 12466 diff --git a/game/characters/hermione/clothes/headgear/bunny_hat_1/0.webp b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/bunny_hat_1/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/bunny_hat_1/1.webp b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/1.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/bunny_hat_1/1.webp rename to game/characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/1.webp diff --git a/game/characters/hermione/clothes/headgear/bunny_hat_1/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/bunny_hat_1/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp diff --git a/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/0.webp b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/0.webp new file mode 100644 index 00000000..29ce0969 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91d23b10ca100e49558cf6e5b097f781c26975ec0152aa6c2785f9ec87150891 +size 1622 diff --git a/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/1.webp b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/1.webp new file mode 100644 index 00000000..a0ee6fdc --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d594af6da14f206b086a20894189b58f21902df373024d74205e816403353b21 +size 4954 diff --git a/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/2.webp b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/2.webp new file mode 100644 index 00000000..24c6db9f --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17910f835d7fe36db79e2a39f03a5783125adb4f1ce0a3e8ab0ed55e4ce6d9a4 +size 7318 diff --git a/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/outline.webp new file mode 100644 index 00000000..0e524fb8 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c22879dcb6a94018faedc4e9dc830ccdd505a0eeac4c8e6e02a181a47bf1f6f5 +size 11078 diff --git a/game/characters/hermione/clothes/headgear/cat_ears/0.webp b/game/characters/hermione/poses/default/clothes/headgear/cat_ears/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/cat_ears/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/cat_ears/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/cat_ears/1.webp b/game/characters/hermione/poses/default/clothes/headgear/cat_ears/default/1.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/cat_ears/1.webp rename to game/characters/hermione/poses/default/clothes/headgear/cat_ears/default/1.webp diff --git a/game/characters/hermione/clothes/headgear/cat_ears/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/cat_ears/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/cat_ears/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/cat_ears/default/outline.webp diff --git a/game/characters/hermione/clothes/headgear/elf/0.webp b/game/characters/hermione/poses/default/clothes/headgear/elf/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/elf/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/elf/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/elf/1.webp b/game/characters/hermione/poses/default/clothes/headgear/elf/default/1.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/elf/1.webp rename to game/characters/hermione/poses/default/clothes/headgear/elf/default/1.webp diff --git a/game/characters/hermione/clothes/headgear/elf/extra.webp b/game/characters/hermione/poses/default/clothes/headgear/elf/default/extra.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/elf/extra.webp rename to game/characters/hermione/poses/default/clothes/headgear/elf/default/extra.webp diff --git a/game/characters/hermione/clothes/headgear/elf/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/elf/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/elf/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/elf/default/outline.webp diff --git a/game/characters/hermione/clothes/headgear/maid_hat_1/0.webp b/game/characters/hermione/poses/default/clothes/headgear/maid_hat_1/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/maid_hat_1/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/maid_hat_1/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/maid_hat_1/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/maid_hat_1/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/maid_hat_1/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/maid_hat_1/default/outline.webp diff --git a/game/characters/hermione/clothes/headgear/panties_on_head/0.webp b/game/characters/hermione/poses/default/clothes/headgear/panties_on_head/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/panties_on_head/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/panties_on_head/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/panties_on_head/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/panties_on_head/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/panties_on_head/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/panties_on_head/default/outline.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_1/0.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_1/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_1/1.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/1.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_1/1.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/1.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_1/2.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/2.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_1/2.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/2.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_1/extra.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/extra.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_1/extra.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/extra.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_1/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_1/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/outline.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_1/overlay.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_1/overlay.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/overlay.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_2/0.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/0.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_2/0.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/0.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_2/1.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/1.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_2/1.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/1.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_2/2.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/2.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_2/2.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/2.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_2/extra.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/extra.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_2/extra.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/extra.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_2/outline.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/outline.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_2/outline.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/outline.webp diff --git a/game/characters/hermione/clothes/headgear/poker_hat_2/overlay.webp b/game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/headgear/poker_hat_2/overlay.webp rename to game/characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/overlay.webp diff --git a/game/characters/hermione/clothes/makeup/cat_muzzle/0.webp b/game/characters/hermione/poses/default/clothes/makeup/cat_muzzle/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/cat_muzzle/0.webp rename to game/characters/hermione/poses/default/clothes/makeup/cat_muzzle/0.webp diff --git a/game/characters/hermione/clothes/makeup/cat_muzzle/outline.webp b/game/characters/hermione/poses/default/clothes/makeup/cat_muzzle/outline.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/cat_muzzle/outline.webp rename to game/characters/hermione/poses/default/clothes/makeup/cat_muzzle/outline.webp diff --git a/game/characters/hermione/clothes/makeup/cat_muzzle/skin.webp b/game/characters/hermione/poses/default/clothes/makeup/cat_muzzle/skin.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/cat_muzzle/skin.webp rename to game/characters/hermione/poses/default/clothes/makeup/cat_muzzle/skin.webp diff --git a/game/characters/hermione/poses/default/clothes/makeup/freckles1/0.webp b/game/characters/hermione/poses/default/clothes/makeup/freckles1/0.webp new file mode 100644 index 00000000..dc571dc4 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/makeup/freckles1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:914e2efbdcba7807067286ac3c6d8fe19392582fc58e98cc587972c54ac34494 +size 1080 diff --git a/game/characters/hermione/poses/default/clothes/makeup/freckles2/0.webp b/game/characters/hermione/poses/default/clothes/makeup/freckles2/0.webp new file mode 100644 index 00000000..9e1baca8 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/makeup/freckles2/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7518a54d9b2a217c878f70e4b88f0112db3f7913b04ef50a3d359ebbedcccd3 +size 784 diff --git a/game/characters/hermione/clothes/makeup/freckles2/0.webp b/game/characters/hermione/poses/default/clothes/makeup/freckles3/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/freckles2/0.webp rename to game/characters/hermione/poses/default/clothes/makeup/freckles3/0.webp diff --git a/game/characters/hermione/clothes/makeup/freckles3/0.webp b/game/characters/hermione/poses/default/clothes/makeup/freckles4/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/freckles3/0.webp rename to game/characters/hermione/poses/default/clothes/makeup/freckles4/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/angry.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/angry/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/angry.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/angry/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/annoyed.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/annoyed/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/annoyed.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/annoyed/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/base.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/base/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/base.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/base/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/clench.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/clench/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/clench.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/clench/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/crooked_smile.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/crooked_smile.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/cum.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/cum/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/cum.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/cum/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/disgust.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/disgust/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/disgust.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/disgust/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/full.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/full/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/full.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/full/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/full_cum.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/full_cum/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/full_cum.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/full_cum/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/full_panties.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/full_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/full_panties.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/full_panties/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/grin.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/grin/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/grin.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/grin/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/mad.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/mad/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/mad.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/mad/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/normal.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/normal/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/normal.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/normal/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/open.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/open/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/open.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/open/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/open_tongue.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/open_tongue/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/open_tongue.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/open_tongue/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/open_wide_tongue.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/open_wide_tongue.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/open_wide_tongue_cum.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue_cum/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/open_wide_tongue_cum.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue_cum/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/open_wide_tongue_panties.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/open_wide_tongue_panties.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue_panties/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/scream.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/scream/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/scream.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/scream/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/shock.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/shock/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/shock.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/shock/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/silly.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/silly/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/silly.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/silly/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/smile.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/smile/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/smile.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/smile/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/soft.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/soft/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/soft.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/soft/0.webp diff --git a/game/characters/hermione/clothes/makeup/lipstick/upset.webp b/game/characters/hermione/poses/default/clothes/makeup/lipstick/upset/0.webp similarity index 100% rename from game/characters/hermione/clothes/makeup/lipstick/upset.webp rename to game/characters/hermione/poses/default/clothes/makeup/lipstick/upset/0.webp diff --git a/game/characters/hermione/clothes/neckwear/ball_pearls_1/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/ball_pearls_1/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/0.webp diff --git a/game/characters/hermione/clothes/neckwear/ball_pearls_1/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/ball_pearls_1/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/ball_pearls_1/overlay.webp b/game/characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/ball_pearls_1/overlay.webp rename to game/characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/overlay.webp diff --git a/game/characters/hermione/clothes/neckwear/basic_collar/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/basic_collar/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/basic_collar/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/basic_collar/0.webp diff --git a/game/characters/hermione/clothes/neckwear/basic_collar/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/basic_collar/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/basic_collar/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/basic_collar/1.webp diff --git a/game/characters/hermione/clothes/neckwear/basic_collar/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/basic_collar/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/basic_collar/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/basic_collar/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/basic_collar/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/basic_collar/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/basic_collar/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/basic_collar/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/bell_1/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/bell_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bell_1/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bell_1/0.webp diff --git a/game/characters/hermione/clothes/neckwear/bell_1/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/bell_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bell_1/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bell_1/1.webp diff --git a/game/characters/hermione/clothes/neckwear/bell_1/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/bell_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bell_1/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bell_1/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/bell_1/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/bell_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bell_1/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bell_1/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/bioshock_choker/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/bioshock_choker/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bioshock_choker/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bioshock_choker/0.webp diff --git a/game/characters/hermione/clothes/neckwear/bioshock_choker/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/bioshock_choker/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bioshock_choker/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bioshock_choker/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/bunny_bowtie_1/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bunny_bowtie_1/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/0.webp diff --git a/game/characters/hermione/clothes/neckwear/bunny_bowtie_1/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bunny_bowtie_1/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/1.webp diff --git a/game/characters/hermione/clothes/neckwear/bunny_bowtie_1/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/bunny_bowtie_1/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/choker_1/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/choker_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/choker_1/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/choker_1/0.webp diff --git a/game/characters/hermione/clothes/neckwear/choker_1/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/choker_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/choker_1/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/choker_1/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/choker_1/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/choker_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/choker_1/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/choker_1/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/egypt_neck/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/egypt_neck/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/0.webp diff --git a/game/characters/hermione/clothes/neckwear/egypt_neck/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/egypt_neck/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/1.webp diff --git a/game/characters/hermione/clothes/neckwear/egypt_neck/2.webp b/game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/2.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/egypt_neck/2.webp rename to game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/2.webp diff --git a/game/characters/hermione/clothes/neckwear/egypt_neck/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/egypt_neck/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/egypt_neck/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/egypt_neck/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/egypt_neck/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/flasher_collar/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/flasher_collar/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/0.webp diff --git a/game/characters/hermione/clothes/neckwear/flasher_collar/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/flasher_collar/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/1.webp diff --git a/game/characters/hermione/clothes/neckwear/flasher_collar/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/flasher_collar/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/flasher_collar/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/flasher_collar/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/flasher_collar/overlay.webp b/game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/flasher_collar/overlay.webp rename to game/characters/hermione/poses/default/clothes/neckwear/flasher_collar/overlay.webp diff --git a/game/characters/hermione/clothes/neckwear/good_girl_collar/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/good_girl_collar/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/0.webp diff --git a/game/characters/hermione/clothes/neckwear/good_girl_collar/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/good_girl_collar/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/1.webp diff --git a/game/characters/hermione/clothes/neckwear/good_girl_collar/2.webp b/game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/2.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/good_girl_collar/2.webp rename to game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/2.webp diff --git a/game/characters/hermione/clothes/neckwear/good_girl_collar/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/good_girl_collar/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/good_girl_collar/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/good_girl_collar/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/good_girl_collar/overlay.webp b/game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/good_girl_collar/overlay.webp rename to game/characters/hermione/poses/default/clothes/neckwear/good_girl_collar/overlay.webp diff --git a/game/characters/hermione/clothes/neckwear/hslut_choker/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/hslut_choker/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/0.webp diff --git a/game/characters/hermione/clothes/neckwear/hslut_choker/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/hslut_choker/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/1.webp diff --git a/game/characters/hermione/clothes/neckwear/hslut_choker/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/hslut_choker/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/hslut_choker/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/hslut_choker/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/hslut_choker/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/latex_choker/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/latex_choker/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/latex_choker/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/latex_choker/0.webp diff --git a/game/characters/hermione/clothes/neckwear/latex_choker/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/latex_choker/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/latex_choker/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/latex_choker/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/latex_choker/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/latex_choker/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/latex_choker/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/latex_choker/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/maid_choker_1/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/maid_choker_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/maid_choker_1/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/maid_choker_1/0.webp diff --git a/game/characters/hermione/clothes/neckwear/maid_choker_1/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/maid_choker_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/maid_choker_1/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/maid_choker_1/1.webp diff --git a/game/characters/hermione/clothes/neckwear/maid_choker_1/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/maid_choker_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/maid_choker_1/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/maid_choker_1/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/maid_choker_2/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/maid_choker_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/maid_choker_2/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/maid_choker_2/0.webp diff --git a/game/characters/hermione/clothes/neckwear/maid_choker_2/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/maid_choker_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/maid_choker_2/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/maid_choker_2/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/poker_bowtie_1/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/poker_bowtie_1/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/0.webp diff --git a/game/characters/hermione/clothes/neckwear/poker_bowtie_1/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/poker_bowtie_1/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/1.webp diff --git a/game/characters/hermione/clothes/neckwear/poker_bowtie_1/2.webp b/game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/poker_bowtie_1/2.webp rename to game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/2.webp diff --git a/game/characters/hermione/clothes/neckwear/poker_bowtie_1/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/poker_bowtie_1/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/poker_bowtie_1/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/poker_bowtie_1/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/poker_bowtie_1/skin.webp b/game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/poker_bowtie_1/skin.webp rename to game/characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/skin.webp diff --git a/game/characters/hermione/clothes/neckwear/slave_collar/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/slave_collar/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slave_collar/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slave_collar/0.webp diff --git a/game/characters/hermione/clothes/neckwear/slave_collar/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/slave_collar/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slave_collar/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slave_collar/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/slave_collar/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/slave_collar/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slave_collar/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slave_collar/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/slave_collar/overlay.webp b/game/characters/hermione/poses/default/clothes/neckwear/slave_collar/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slave_collar/overlay.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slave_collar/overlay.webp diff --git a/game/characters/hermione/clothes/neckwear/slut_collar/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/slut_collar/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slut_collar/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slut_collar/0.webp diff --git a/game/characters/hermione/clothes/neckwear/slut_collar/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/slut_collar/1.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slut_collar/1.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slut_collar/1.webp diff --git a/game/characters/hermione/clothes/neckwear/slut_collar/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/slut_collar/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slut_collar/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slut_collar/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/slut_collar/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/slut_collar/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slut_collar/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slut_collar/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/slut_collar/overlay.webp b/game/characters/hermione/poses/default/clothes/neckwear/slut_collar/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/slut_collar/overlay.webp rename to game/characters/hermione/poses/default/clothes/neckwear/slut_collar/overlay.webp diff --git a/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/0.webp new file mode 100644 index 00000000..b0f1feee --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d8abed21378225d1b9ed762c184bd0d3eda1e4bd1967b2dac3cc777889ebaa8 +size 1822 diff --git a/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/1.webp b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/1.webp new file mode 100644 index 00000000..9ed12809 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5e0e32ce7e1200fbd2c648a5737834d568039ce3aebbe1ffa81828dc2177f98 +size 1354 diff --git a/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/extra.webp new file mode 100644 index 00000000..3e8ac557 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:996e0a0c0e6a3ab94ae1a4b31538ff62e79b439d197e4fed3df7ab707f878e6d +size 1136 diff --git a/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/outline.webp new file mode 100644 index 00000000..2659f904 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/neckwear/studded_choker/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a883945686fc926756f9cae38ad92bd47f2f40d9b231859d9f630c5b52756786 +size 2634 diff --git a/game/characters/hermione/clothes/neckwear/whore_collar/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/whore_collar/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/whore_collar/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/whore_collar/0.webp diff --git a/game/characters/hermione/clothes/neckwear/whore_collar/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/whore_collar/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/whore_collar/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/whore_collar/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/whore_collar/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/whore_collar/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/whore_collar/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/whore_collar/outline.webp diff --git a/game/characters/hermione/clothes/neckwear/whore_collar/overlay.webp b/game/characters/hermione/poses/default/clothes/neckwear/whore_collar/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/whore_collar/overlay.webp rename to game/characters/hermione/poses/default/clothes/neckwear/whore_collar/overlay.webp diff --git a/game/characters/hermione/clothes/neckwear/yen_choker/0.webp b/game/characters/hermione/poses/default/clothes/neckwear/yen_choker/0.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/yen_choker/0.webp rename to game/characters/hermione/poses/default/clothes/neckwear/yen_choker/0.webp diff --git a/game/characters/hermione/clothes/neckwear/yen_choker/extra.webp b/game/characters/hermione/poses/default/clothes/neckwear/yen_choker/extra.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/yen_choker/extra.webp rename to game/characters/hermione/poses/default/clothes/neckwear/yen_choker/extra.webp diff --git a/game/characters/hermione/clothes/neckwear/yen_choker/outline.webp b/game/characters/hermione/poses/default/clothes/neckwear/yen_choker/outline.webp similarity index 100% rename from game/characters/hermione/clothes/neckwear/yen_choker/outline.webp rename to game/characters/hermione/poses/default/clothes/neckwear/yen_choker/outline.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_1/0.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_1/0.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_1/0.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_1/1.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_1/1.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_1/1.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_1/outline.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_1/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_1/outline.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_1/skin.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_1/skin.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_1/skin.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_vibrators/0.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_vibrators/0.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/0.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_vibrators/1.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/1.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_vibrators/1.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/1.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_vibrators/outline.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_vibrators/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/outline.webp diff --git a/game/characters/hermione/clothes/panties/basic_panties_vibrators/skin.webp b/game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/skin.webp similarity index 100% rename from game/characters/hermione/clothes/panties/basic_panties_vibrators/skin.webp rename to game/characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/skin.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_1/0.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_1/0.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_1/0.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_1/1.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_1/1.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_1/1.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_1/outline.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_1/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_1/outline.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_2/0.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_2/0.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/0.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_2/1.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_2/1.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/1.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_2/extra.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/extra.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_2/extra.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/extra.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_2/outline.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_2/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/outline.webp diff --git a/game/characters/hermione/clothes/panties/bikini_panties_2/skin.webp b/game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/panties/bikini_panties_2/skin.webp rename to game/characters/hermione/poses/default/clothes/panties/bikini_panties_2/skin.webp diff --git a/game/characters/hermione/clothes/panties/fishnet_panties/0.webp b/game/characters/hermione/poses/default/clothes/panties/fishnet_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/fishnet_panties/0.webp rename to game/characters/hermione/poses/default/clothes/panties/fishnet_panties/0.webp diff --git a/game/characters/hermione/clothes/panties/fishnet_panties/outline.webp b/game/characters/hermione/poses/default/clothes/panties/fishnet_panties/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/fishnet_panties/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/fishnet_panties/outline.webp diff --git a/game/characters/hermione/clothes/panties/hslut_panties/0.webp b/game/characters/hermione/poses/default/clothes/panties/hslut_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/hslut_panties/0.webp rename to game/characters/hermione/poses/default/clothes/panties/hslut_panties/0.webp diff --git a/game/characters/hermione/clothes/panties/hslut_panties/extra.webp b/game/characters/hermione/poses/default/clothes/panties/hslut_panties/extra.webp similarity index 100% rename from game/characters/hermione/clothes/panties/hslut_panties/extra.webp rename to game/characters/hermione/poses/default/clothes/panties/hslut_panties/extra.webp diff --git a/game/characters/hermione/clothes/panties/hslut_panties/outline.webp b/game/characters/hermione/poses/default/clothes/panties/hslut_panties/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/hslut_panties/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/hslut_panties/outline.webp diff --git a/game/characters/hermione/clothes/panties/latex_panties/0.webp b/game/characters/hermione/poses/default/clothes/panties/latex_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/latex_panties/0.webp rename to game/characters/hermione/poses/default/clothes/panties/latex_panties/0.webp diff --git a/game/characters/hermione/clothes/panties/latex_panties/extra.webp b/game/characters/hermione/poses/default/clothes/panties/latex_panties/extra.webp similarity index 100% rename from game/characters/hermione/clothes/panties/latex_panties/extra.webp rename to game/characters/hermione/poses/default/clothes/panties/latex_panties/extra.webp diff --git a/game/characters/hermione/clothes/panties/latex_panties/outline.webp b/game/characters/hermione/poses/default/clothes/panties/latex_panties/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/latex_panties/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/latex_panties/outline.webp diff --git a/game/characters/hermione/clothes/panties/pizza_panties/0.webp b/game/characters/hermione/poses/default/clothes/panties/pizza_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/pizza_panties/0.webp rename to game/characters/hermione/poses/default/clothes/panties/pizza_panties/0.webp diff --git a/game/characters/hermione/clothes/panties/pizza_panties/outline.webp b/game/characters/hermione/poses/default/clothes/panties/pizza_panties/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/pizza_panties/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/pizza_panties/outline.webp diff --git a/game/characters/hermione/clothes/panties/pizza_panties/overlay.webp b/game/characters/hermione/poses/default/clothes/panties/pizza_panties/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/panties/pizza_panties/overlay.webp rename to game/characters/hermione/poses/default/clothes/panties/pizza_panties/overlay.webp diff --git a/game/characters/hermione/clothes/panties/poker_panties_1/0.webp b/game/characters/hermione/poses/default/clothes/panties/poker_panties_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/poker_panties_1/0.webp rename to game/characters/hermione/poses/default/clothes/panties/poker_panties_1/0.webp diff --git a/game/characters/hermione/clothes/panties/poker_panties_1/1.webp b/game/characters/hermione/poses/default/clothes/panties/poker_panties_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/panties/poker_panties_1/1.webp rename to game/characters/hermione/poses/default/clothes/panties/poker_panties_1/1.webp diff --git a/game/characters/hermione/clothes/panties/poker_panties_1/2.webp b/game/characters/hermione/poses/default/clothes/panties/poker_panties_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/panties/poker_panties_1/2.webp rename to game/characters/hermione/poses/default/clothes/panties/poker_panties_1/2.webp diff --git a/game/characters/hermione/clothes/panties/poker_panties_1/extra.webp b/game/characters/hermione/poses/default/clothes/panties/poker_panties_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/panties/poker_panties_1/extra.webp rename to game/characters/hermione/poses/default/clothes/panties/poker_panties_1/extra.webp diff --git a/game/characters/hermione/clothes/panties/poker_panties_1/outline.webp b/game/characters/hermione/poses/default/clothes/panties/poker_panties_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/poker_panties_1/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/poker_panties_1/outline.webp diff --git a/game/characters/hermione/clothes/panties/poker_panties_1/skin.webp b/game/characters/hermione/poses/default/clothes/panties/poker_panties_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/panties/poker_panties_1/skin.webp rename to game/characters/hermione/poses/default/clothes/panties/poker_panties_1/skin.webp diff --git a/game/characters/hermione/clothes/panties/ribbon/0.webp b/game/characters/hermione/poses/default/clothes/panties/ribbon/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/ribbon/0.webp rename to game/characters/hermione/poses/default/clothes/panties/ribbon/0.webp diff --git a/game/characters/hermione/clothes/panties/ribbon/extra.webp b/game/characters/hermione/poses/default/clothes/panties/ribbon/extra.webp similarity index 100% rename from game/characters/hermione/clothes/panties/ribbon/extra.webp rename to game/characters/hermione/poses/default/clothes/panties/ribbon/extra.webp diff --git a/game/characters/hermione/clothes/panties/ribbon/outline.webp b/game/characters/hermione/poses/default/clothes/panties/ribbon/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/ribbon/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/ribbon/outline.webp diff --git a/game/characters/hermione/clothes/panties/ribbon/skin.webp b/game/characters/hermione/poses/default/clothes/panties/ribbon/skin.webp similarity index 100% rename from game/characters/hermione/clothes/panties/ribbon/skin.webp rename to game/characters/hermione/poses/default/clothes/panties/ribbon/skin.webp diff --git a/game/characters/hermione/clothes/panties/sling_panties/0.webp b/game/characters/hermione/poses/default/clothes/panties/sling_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sling_panties/0.webp rename to game/characters/hermione/poses/default/clothes/panties/sling_panties/0.webp diff --git a/game/characters/hermione/clothes/panties/sling_panties/1.webp b/game/characters/hermione/poses/default/clothes/panties/sling_panties/1.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sling_panties/1.webp rename to game/characters/hermione/poses/default/clothes/panties/sling_panties/1.webp diff --git a/game/characters/hermione/clothes/panties/sling_panties/extra.webp b/game/characters/hermione/poses/default/clothes/panties/sling_panties/extra.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sling_panties/extra.webp rename to game/characters/hermione/poses/default/clothes/panties/sling_panties/extra.webp diff --git a/game/characters/hermione/clothes/panties/sling_panties/outline.webp b/game/characters/hermione/poses/default/clothes/panties/sling_panties/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sling_panties/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/sling_panties/outline.webp diff --git a/game/characters/hermione/clothes/panties/sling_panties/skin.webp b/game/characters/hermione/poses/default/clothes/panties/sling_panties/skin.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sling_panties/skin.webp rename to game/characters/hermione/poses/default/clothes/panties/sling_panties/skin.webp diff --git a/game/characters/hermione/clothes/panties/sports_panties/0.webp b/game/characters/hermione/poses/default/clothes/panties/sports_panties/0.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sports_panties/0.webp rename to game/characters/hermione/poses/default/clothes/panties/sports_panties/0.webp diff --git a/game/characters/hermione/clothes/panties/sports_panties/1.webp b/game/characters/hermione/poses/default/clothes/panties/sports_panties/1.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sports_panties/1.webp rename to game/characters/hermione/poses/default/clothes/panties/sports_panties/1.webp diff --git a/game/characters/hermione/clothes/panties/sports_panties/outline.webp b/game/characters/hermione/poses/default/clothes/panties/sports_panties/outline.webp similarity index 100% rename from game/characters/hermione/clothes/panties/sports_panties/outline.webp rename to game/characters/hermione/poses/default/clothes/panties/sports_panties/outline.webp diff --git a/game/characters/hermione/clothes/piercing/belly_dick/0.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_dick/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_dick/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_dick/0.webp diff --git a/game/characters/hermione/clothes/piercing/belly_dick/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_dick/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_dick/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_dick/extra.webp diff --git a/game/characters/hermione/clothes/piercing/belly_dick/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_dick/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_dick/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_dick/outline.webp diff --git a/game/characters/hermione/clothes/piercing/belly_heart/0.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_heart/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_heart/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_heart/0.webp diff --git a/game/characters/hermione/clothes/piercing/belly_heart/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_heart/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_heart/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_heart/extra.webp diff --git a/game/characters/hermione/clothes/piercing/belly_heart/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_heart/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_heart/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_heart/outline.webp diff --git a/game/characters/hermione/clothes/piercing/belly_stud/0.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_stud/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_stud/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_stud/0.webp diff --git a/game/characters/hermione/clothes/piercing/belly_stud/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_stud/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_stud/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_stud/extra.webp diff --git a/game/characters/hermione/clothes/piercing/belly_stud/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/belly_stud/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/belly_stud/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/belly_stud/outline.webp diff --git a/game/characters/hermione/clothes/piercing/clit_stud/0.webp b/game/characters/hermione/poses/default/clothes/piercing/clit_stud/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/clit_stud/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/clit_stud/0.webp diff --git a/game/characters/hermione/clothes/piercing/clit_stud/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/clit_stud/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/clit_stud/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/clit_stud/extra.webp diff --git a/game/characters/hermione/clothes/piercing/clit_stud/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/clit_stud/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/clit_stud/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/clit_stud/outline.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_bells/0.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_bells/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_bells/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_bells/0.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_bells/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_bells/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_bells/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_bells/extra.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_bells/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_bells/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_bells/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_bells/outline.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings/0.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings/0.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings/extra.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings/outline.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings2/0.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings2/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings2/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings2/0.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings2/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings2/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings2/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings2/extra.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings2/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings2/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings2/outline.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings3/0.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings3/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings3/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings3/0.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings3/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings3/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings3/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings3/extra.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_rings3/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_rings3/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_rings3/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_rings3/outline.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_stud/0.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_stud/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_stud/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_stud/0.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_stud/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_stud/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_stud/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_stud/extra.webp diff --git a/game/characters/hermione/clothes/piercing/nipple_stud/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/nipple_stud/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/nipple_stud/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/nipple_stud/outline.webp diff --git a/game/characters/hermione/clothes/piercing/poker_belly_1/0.webp b/game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/poker_belly_1/0.webp rename to game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/0.webp diff --git a/game/characters/hermione/clothes/piercing/poker_belly_1/1.webp b/game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/poker_belly_1/1.webp rename to game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/1.webp diff --git a/game/characters/hermione/clothes/piercing/poker_belly_1/2.webp b/game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/poker_belly_1/2.webp rename to game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/2.webp diff --git a/game/characters/hermione/clothes/piercing/poker_belly_1/3.webp b/game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/3.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/poker_belly_1/3.webp rename to game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/3.webp diff --git a/game/characters/hermione/clothes/piercing/poker_belly_1/extra.webp b/game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/poker_belly_1/extra.webp rename to game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/extra.webp diff --git a/game/characters/hermione/clothes/piercing/poker_belly_1/outline.webp b/game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/poker_belly_1/outline.webp rename to game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/outline.webp diff --git a/game/characters/hermione/clothes/piercing/poker_belly_1/skin.webp b/game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/piercing/poker_belly_1/skin.webp rename to game/characters/hermione/poses/default/clothes/piercing/poker_belly_1/skin.webp diff --git a/game/characters/hermione/clothes/pubes/arrow/0.webp b/game/characters/hermione/poses/default/clothes/pubes/arrow/0.webp similarity index 100% rename from game/characters/hermione/clothes/pubes/arrow/0.webp rename to game/characters/hermione/poses/default/clothes/pubes/arrow/0.webp diff --git a/game/characters/hermione/clothes/pubes/arrow/outline.webp b/game/characters/hermione/poses/default/clothes/pubes/arrow/outline.webp similarity index 100% rename from game/characters/hermione/clothes/pubes/arrow/outline.webp rename to game/characters/hermione/poses/default/clothes/pubes/arrow/outline.webp diff --git a/game/characters/hermione/clothes/pubes/beaver/0.webp b/game/characters/hermione/poses/default/clothes/pubes/beaver/0.webp similarity index 100% rename from game/characters/hermione/clothes/pubes/beaver/0.webp rename to game/characters/hermione/poses/default/clothes/pubes/beaver/0.webp diff --git a/game/characters/hermione/clothes/pubes/beaver/outline.webp b/game/characters/hermione/poses/default/clothes/pubes/beaver/outline.webp similarity index 100% rename from game/characters/hermione/clothes/pubes/beaver/outline.webp rename to game/characters/hermione/poses/default/clothes/pubes/beaver/outline.webp diff --git a/game/characters/hermione/clothes/pubes/stuble/0.webp b/game/characters/hermione/poses/default/clothes/pubes/stuble/0.webp similarity index 100% rename from game/characters/hermione/clothes/pubes/stuble/0.webp rename to game/characters/hermione/poses/default/clothes/pubes/stuble/0.webp diff --git a/game/characters/hermione/clothes/pubes/unshaved/0.webp b/game/characters/hermione/poses/default/clothes/pubes/unshaved/0.webp similarity index 100% rename from game/characters/hermione/clothes/pubes/unshaved/0.webp rename to game/characters/hermione/poses/default/clothes/pubes/unshaved/0.webp diff --git a/game/characters/hermione/clothes/robe/bioshock_robe/0.webp b/game/characters/hermione/poses/default/clothes/robe/bioshock_robe/0.webp similarity index 100% rename from game/characters/hermione/clothes/robe/bioshock_robe/0.webp rename to game/characters/hermione/poses/default/clothes/robe/bioshock_robe/0.webp diff --git a/game/characters/hermione/clothes/robe/bioshock_robe/1.webp b/game/characters/hermione/poses/default/clothes/robe/bioshock_robe/1.webp similarity index 100% rename from game/characters/hermione/clothes/robe/bioshock_robe/1.webp rename to game/characters/hermione/poses/default/clothes/robe/bioshock_robe/1.webp diff --git a/game/characters/hermione/clothes/robe/bioshock_robe/outline.webp b/game/characters/hermione/poses/default/clothes/robe/bioshock_robe/outline.webp similarity index 100% rename from game/characters/hermione/clothes/robe/bioshock_robe/outline.webp rename to game/characters/hermione/poses/default/clothes/robe/bioshock_robe/outline.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/0.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/0.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/0.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/0_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/0_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/0_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/0_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/1.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/1.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/1.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/1_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/1_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/1_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/1_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/2.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/2.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/2.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/2_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/2_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/2_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/2_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/mask.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/mask.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/mask.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/outline.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/outline.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/outline.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/outline_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/outline_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/outline_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/outline_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_1/skin.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_1/skin.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_1/skin.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/0.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/0.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/0.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/0_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/0_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/0_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/0_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/1.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/1.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/1.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/1_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/1_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/1_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/1_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/2.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/2.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/2.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/2.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/2_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/2_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/2_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/2_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/extra.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/extra.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/extra.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/extra.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/mask.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/mask.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/mask.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/mask.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/outline.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/outline.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/outline.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/outline_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/outline_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/outline_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/outline_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_2/skin.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_2/skin.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_2/skin.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/0.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/0.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/0.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/0.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/0_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/0_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/0_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/0_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/1.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/1.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/1.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/1.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/1_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/1_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/1_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/1_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/2.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/2.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/2.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/2.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/2_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/2_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/2_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/2_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/extra.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/extra.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/extra.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/extra.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/mask.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/mask.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/mask.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/mask.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/outline.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/outline.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/outline.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/outline.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/outline_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/outline_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/outline_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/outline_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_3/skin.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_3/skin.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_3/skin.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_3/skin.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/0.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/0.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/0.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/0.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/0_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/0_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/0_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/0_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/1.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/1.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/1.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/1.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/1_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/1_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/1_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/1_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/2.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/2.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/2.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/2.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/2_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/2_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/2_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/2_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/mask.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/mask.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/mask.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/mask.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/outline.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/outline.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/outline.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/outline.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/outline_back.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/outline_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/outline_back.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/outline_back.webp diff --git a/game/characters/hermione/clothes/robe/robe_school_4/skin.webp b/game/characters/hermione/poses/default/clothes/robe/robe_school_4/skin.webp similarity index 100% rename from game/characters/hermione/clothes/robe/robe_school_4/skin.webp rename to game/characters/hermione/poses/default/clothes/robe/robe_school_4/skin.webp diff --git a/game/characters/hermione/clothes/robe/witch_cape/0.webp b/game/characters/hermione/poses/default/clothes/robe/witch_cape/0.webp similarity index 100% rename from game/characters/hermione/clothes/robe/witch_cape/0.webp rename to game/characters/hermione/poses/default/clothes/robe/witch_cape/0.webp diff --git a/game/characters/hermione/clothes/robe/witch_cape/0_back.webp b/game/characters/hermione/poses/default/clothes/robe/witch_cape/0_back.webp similarity index 100% rename from game/characters/hermione/clothes/robe/witch_cape/0_back.webp rename to game/characters/hermione/poses/default/clothes/robe/witch_cape/0_back.webp diff --git a/game/characters/hermione/clothes/robe/witch_cape/1.webp b/game/characters/hermione/poses/default/clothes/robe/witch_cape/1.webp similarity index 100% rename from game/characters/hermione/clothes/robe/witch_cape/1.webp rename to game/characters/hermione/poses/default/clothes/robe/witch_cape/1.webp diff --git a/game/characters/hermione/clothes/robe/witch_cape/2.webp b/game/characters/hermione/poses/default/clothes/robe/witch_cape/2.webp similarity index 100% rename from game/characters/hermione/clothes/robe/witch_cape/2.webp rename to game/characters/hermione/poses/default/clothes/robe/witch_cape/2.webp diff --git a/game/characters/hermione/clothes/robe/witch_cape/outline.webp b/game/characters/hermione/poses/default/clothes/robe/witch_cape/outline.webp similarity index 100% rename from game/characters/hermione/clothes/robe/witch_cape/outline.webp rename to game/characters/hermione/poses/default/clothes/robe/witch_cape/outline.webp diff --git a/game/characters/hermione/clothes/robe/wrestling_robe/0.webp b/game/characters/hermione/poses/default/clothes/robe/wrestling_robe/0.webp similarity index 100% rename from game/characters/hermione/clothes/robe/wrestling_robe/0.webp rename to game/characters/hermione/poses/default/clothes/robe/wrestling_robe/0.webp diff --git a/game/characters/hermione/clothes/robe/wrestling_robe/1.webp b/game/characters/hermione/poses/default/clothes/robe/wrestling_robe/1.webp similarity index 100% rename from game/characters/hermione/clothes/robe/wrestling_robe/1.webp rename to game/characters/hermione/poses/default/clothes/robe/wrestling_robe/1.webp diff --git a/game/characters/hermione/clothes/robe/wrestling_robe/extra.webp b/game/characters/hermione/poses/default/clothes/robe/wrestling_robe/extra.webp similarity index 100% rename from game/characters/hermione/clothes/robe/wrestling_robe/extra.webp rename to game/characters/hermione/poses/default/clothes/robe/wrestling_robe/extra.webp diff --git a/game/characters/hermione/clothes/robe/wrestling_robe/mask.webp b/game/characters/hermione/poses/default/clothes/robe/wrestling_robe/mask.webp similarity index 100% rename from game/characters/hermione/clothes/robe/wrestling_robe/mask.webp rename to game/characters/hermione/poses/default/clothes/robe/wrestling_robe/mask.webp diff --git a/game/characters/hermione/clothes/robe/wrestling_robe/outline.webp b/game/characters/hermione/poses/default/clothes/robe/wrestling_robe/outline.webp similarity index 100% rename from game/characters/hermione/clothes/robe/wrestling_robe/outline.webp rename to game/characters/hermione/poses/default/clothes/robe/wrestling_robe/outline.webp diff --git a/game/characters/hermione/clothes/stockings/bunny_stockings_1/0.webp b/game/characters/hermione/poses/default/clothes/stockings/bunny_stockings_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/bunny_stockings_1/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/bunny_stockings_1/0.webp diff --git a/game/characters/hermione/clothes/stockings/bunny_stockings_1/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/bunny_stockings_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/bunny_stockings_1/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/bunny_stockings_1/outline.webp diff --git a/game/characters/hermione/clothes/stockings/cat_legs/0.webp b/game/characters/hermione/poses/default/clothes/stockings/cat_legs/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/cat_legs/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/cat_legs/0.webp diff --git a/game/characters/hermione/clothes/stockings/cat_legs/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/cat_legs/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/cat_legs/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/cat_legs/outline.webp diff --git a/game/characters/hermione/clothes/stockings/hslut_socks/0.webp b/game/characters/hermione/poses/default/clothes/stockings/hslut_socks/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/hslut_socks/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/hslut_socks/0.webp diff --git a/game/characters/hermione/clothes/stockings/hslut_socks/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/hslut_socks/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/hslut_socks/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/hslut_socks/outline.webp diff --git a/game/characters/hermione/clothes/stockings/latex_stockings/0.webp b/game/characters/hermione/poses/default/clothes/stockings/latex_stockings/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/latex_stockings/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/latex_stockings/0.webp diff --git a/game/characters/hermione/clothes/stockings/latex_stockings/extra.webp b/game/characters/hermione/poses/default/clothes/stockings/latex_stockings/extra.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/latex_stockings/extra.webp rename to game/characters/hermione/poses/default/clothes/stockings/latex_stockings/extra.webp diff --git a/game/characters/hermione/clothes/stockings/latex_stockings/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/latex_stockings/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/latex_stockings/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/latex_stockings/outline.webp diff --git a/game/characters/hermione/clothes/stockings/maid_stockings_1/0.webp b/game/characters/hermione/poses/default/clothes/stockings/maid_stockings_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/maid_stockings_1/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/maid_stockings_1/0.webp diff --git a/game/characters/hermione/clothes/stockings/maid_stockings_1/extra.webp b/game/characters/hermione/poses/default/clothes/stockings/maid_stockings_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/maid_stockings_1/extra.webp rename to game/characters/hermione/poses/default/clothes/stockings/maid_stockings_1/extra.webp diff --git a/game/characters/hermione/clothes/stockings/maid_stockings_1/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/maid_stockings_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/maid_stockings_1/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/maid_stockings_1/outline.webp diff --git a/game/characters/hermione/clothes/stockings/msmarv_stockings/0.webp b/game/characters/hermione/poses/default/clothes/stockings/msmarv_stockings/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/msmarv_stockings/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/msmarv_stockings/0.webp diff --git a/game/characters/hermione/clothes/stockings/msmarv_stockings/1.webp b/game/characters/hermione/poses/default/clothes/stockings/msmarv_stockings/1.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/msmarv_stockings/1.webp rename to game/characters/hermione/poses/default/clothes/stockings/msmarv_stockings/1.webp diff --git a/game/characters/hermione/clothes/stockings/msmarv_stockings/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/msmarv_stockings/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/msmarv_stockings/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/msmarv_stockings/outline.webp diff --git a/game/characters/hermione/clothes/stockings/pantyhose_1/0.webp b/game/characters/hermione/poses/default/clothes/stockings/pantyhose_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/pantyhose_1/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/pantyhose_1/0.webp diff --git a/game/characters/hermione/clothes/stockings/pantyhose_1/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/pantyhose_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/pantyhose_1/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/pantyhose_1/outline.webp diff --git a/game/characters/hermione/clothes/stockings/pantyhose_2/0.webp b/game/characters/hermione/poses/default/clothes/stockings/pantyhose_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/pantyhose_2/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/pantyhose_2/0.webp diff --git a/game/characters/hermione/clothes/stockings/pantyhose_2/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/pantyhose_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/pantyhose_2/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/pantyhose_2/outline.webp diff --git a/game/characters/hermione/clothes/stockings/pantyhose_3/0.webp b/game/characters/hermione/poses/default/clothes/stockings/pantyhose_3/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/pantyhose_3/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/pantyhose_3/0.webp diff --git a/game/characters/hermione/clothes/stockings/pantyhose_3/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/pantyhose_3/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/pantyhose_3/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/pantyhose_3/outline.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_1/0.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_1/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/0.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_1/1.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_1/1.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/1.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_1/extra.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_1/extra.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/extra.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_1/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_1/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/outline.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_1/skin.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_1/skin.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_1/skin.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_2/0.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_2/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/0.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_2/1.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_2/1.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/1.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_2/extra.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/extra.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_2/extra.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/extra.webp diff --git a/game/characters/hermione/clothes/stockings/poker_stockings_2/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/poker_stockings_2/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/poker_stockings_2/outline.webp diff --git a/game/characters/hermione/clothes/stockings/short_meshed/0.webp b/game/characters/hermione/poses/default/clothes/stockings/short_meshed/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/short_meshed/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/short_meshed/0.webp diff --git a/game/characters/hermione/clothes/stockings/short_meshed/1.webp b/game/characters/hermione/poses/default/clothes/stockings/short_meshed/1.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/short_meshed/1.webp rename to game/characters/hermione/poses/default/clothes/stockings/short_meshed/1.webp diff --git a/game/characters/hermione/clothes/stockings/short_meshed/extra.webp b/game/characters/hermione/poses/default/clothes/stockings/short_meshed/extra.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/short_meshed/extra.webp rename to game/characters/hermione/poses/default/clothes/stockings/short_meshed/extra.webp diff --git a/game/characters/hermione/clothes/stockings/short_meshed/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/short_meshed/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/short_meshed/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/short_meshed/outline.webp diff --git a/game/characters/hermione/clothes/stockings/stockings_1/0.webp b/game/characters/hermione/poses/default/clothes/stockings/stockings_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/stockings_1/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/stockings_1/0.webp diff --git a/game/characters/hermione/clothes/stockings/stockings_1/1.webp b/game/characters/hermione/poses/default/clothes/stockings/stockings_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/stockings_1/1.webp rename to game/characters/hermione/poses/default/clothes/stockings/stockings_1/1.webp diff --git a/game/characters/hermione/clothes/stockings/stockings_1/extra.webp b/game/characters/hermione/poses/default/clothes/stockings/stockings_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/stockings_1/extra.webp rename to game/characters/hermione/poses/default/clothes/stockings/stockings_1/extra.webp diff --git a/game/characters/hermione/clothes/stockings/stockings_1/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/stockings_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/stockings_1/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/stockings_1/outline.webp diff --git a/game/characters/hermione/clothes/stockings/stockings_1/skin.webp b/game/characters/hermione/poses/default/clothes/stockings/stockings_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/stockings_1/skin.webp rename to game/characters/hermione/poses/default/clothes/stockings/stockings_1/skin.webp diff --git a/game/characters/hermione/clothes/stockings/stockings_2/0.webp b/game/characters/hermione/poses/default/clothes/stockings/stockings_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/stockings_2/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/stockings_2/0.webp diff --git a/game/characters/hermione/clothes/stockings/stockings_2/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/stockings_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/stockings_2/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/stockings_2/outline.webp diff --git a/game/characters/hermione/clothes/stockings/witch_stockings/0.webp b/game/characters/hermione/poses/default/clothes/stockings/witch_stockings/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/witch_stockings/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/witch_stockings/0.webp diff --git a/game/characters/hermione/clothes/stockings/witch_stockings/1.webp b/game/characters/hermione/poses/default/clothes/stockings/witch_stockings/1.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/witch_stockings/1.webp rename to game/characters/hermione/poses/default/clothes/stockings/witch_stockings/1.webp diff --git a/game/characters/hermione/clothes/stockings/witch_stockings/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/witch_stockings/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/witch_stockings/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/witch_stockings/outline.webp diff --git a/game/characters/hermione/clothes/stockings/xmas/0.webp b/game/characters/hermione/poses/default/clothes/stockings/xmas/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/xmas/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/xmas/0.webp diff --git a/game/characters/hermione/clothes/stockings/xmas/1.webp b/game/characters/hermione/poses/default/clothes/stockings/xmas/1.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/xmas/1.webp rename to game/characters/hermione/poses/default/clothes/stockings/xmas/1.webp diff --git a/game/characters/hermione/clothes/stockings/xmas/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/xmas/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/xmas/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/xmas/outline.webp diff --git a/game/characters/hermione/clothes/stockings/yen_stockings/0.webp b/game/characters/hermione/poses/default/clothes/stockings/yen_stockings/0.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/yen_stockings/0.webp rename to game/characters/hermione/poses/default/clothes/stockings/yen_stockings/0.webp diff --git a/game/characters/hermione/clothes/stockings/yen_stockings/outline.webp b/game/characters/hermione/poses/default/clothes/stockings/yen_stockings/outline.webp similarity index 100% rename from game/characters/hermione/clothes/stockings/yen_stockings/outline.webp rename to game/characters/hermione/poses/default/clothes/stockings/yen_stockings/outline.webp diff --git a/game/characters/hermione/clothes/tattoo/10g_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/10g_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/10g_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/10g_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/bb_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/bb_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/bb_tattoo/1.webp b/game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/1.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/bb_tattoo/1.webp rename to game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/1.webp diff --git a/game/characters/hermione/clothes/tattoo/bb_tattoo/2.webp b/game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/2.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/bb_tattoo/2.webp rename to game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/2.webp diff --git a/game/characters/hermione/clothes/tattoo/bb_tattoo/extra.webp b/game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/extra.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/bb_tattoo/extra.webp rename to game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/extra.webp diff --git a/game/characters/hermione/clothes/tattoo/bb_tattoo/skin.webp b/game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/skin.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/bb_tattoo/skin.webp rename to game/characters/hermione/poses/default/clothes/tattoo/bb_tattoo/skin.webp diff --git a/game/characters/hermione/clothes/tattoo/bunny_tattoo1/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/bunny_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/bunny_tattoo1/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/bunny_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/cockhole_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/cockhole_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/cockhole_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/cockhole_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/cumhere_tattoo1/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/cumhere_tattoo1/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/cumhere_tattoo1/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/cumhere_tattoo1/0.webp diff --git a/game/characters/hermione/clothes/tattoo/cumhere_tattoo2/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/cumhere_tattoo2/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/cumhere_tattoo2/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/cumhere_tattoo2/0.webp diff --git a/game/characters/hermione/clothes/tattoo/cumslut_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/cumslut_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/cumslut_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/cumslut_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/cunt_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/cunt_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/cunt_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/cunt_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/deatheater_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/deatheater_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/deatheater_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/deatheater_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/deposit_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/deposit_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/deposit_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/deposit_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/free_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/free_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/free_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/free_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/fuckme_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/fuckme_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/fuckme_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/fuckme_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/lockhart_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/lockhart_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/lockhart_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/lockhart_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/mudblood_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/mudblood_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/mudblood_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/mudblood_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/nocondom_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/nocondom_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/nocondom_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/nocondom_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/punkblood_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/punkblood_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/punkblood_tattoo/1.webp b/game/characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/1.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/punkblood_tattoo/1.webp rename to game/characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/1.webp diff --git a/game/characters/hermione/clothes/tattoo/punkblood_tattoo/outline.webp b/game/characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/outline.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/punkblood_tattoo/outline.webp rename to game/characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/outline.webp diff --git a/game/characters/hermione/clothes/tattoo/twist_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/twist_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/twist_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/twist_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/whore_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/whore_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/whore_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/whore_tattoo/0.webp diff --git a/game/characters/hermione/clothes/tattoo/womb_tattoo/0.webp b/game/characters/hermione/poses/default/clothes/tattoo/womb_tattoo/0.webp similarity index 100% rename from game/characters/hermione/clothes/tattoo/womb_tattoo/0.webp rename to game/characters/hermione/poses/default/clothes/tattoo/womb_tattoo/0.webp diff --git a/game/characters/hermione/clothes/top/ball_dress_1/0.webp b/game/characters/hermione/poses/default/clothes/top/ball_dress_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/ball_dress_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/ball_dress_1/0.webp diff --git a/game/characters/hermione/clothes/top/ball_dress_1/1.webp b/game/characters/hermione/poses/default/clothes/top/ball_dress_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/ball_dress_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/ball_dress_1/1.webp diff --git a/game/characters/hermione/clothes/top/ball_dress_1/extra.webp b/game/characters/hermione/poses/default/clothes/top/ball_dress_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/ball_dress_1/extra.webp rename to game/characters/hermione/poses/default/clothes/top/ball_dress_1/extra.webp diff --git a/game/characters/hermione/clothes/top/ball_dress_1/mask.webp b/game/characters/hermione/poses/default/clothes/top/ball_dress_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/ball_dress_1/mask.webp rename to game/characters/hermione/poses/default/clothes/top/ball_dress_1/mask.webp diff --git a/game/characters/hermione/clothes/top/ball_dress_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/ball_dress_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/ball_dress_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/ball_dress_1/outline.webp diff --git a/game/characters/hermione/clothes/top/bioshock_corset/0.webp b/game/characters/hermione/poses/default/clothes/top/bioshock_corset/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/bioshock_corset/0.webp rename to game/characters/hermione/poses/default/clothes/top/bioshock_corset/0.webp diff --git a/game/characters/hermione/clothes/top/bioshock_corset/1.webp b/game/characters/hermione/poses/default/clothes/top/bioshock_corset/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/bioshock_corset/1.webp rename to game/characters/hermione/poses/default/clothes/top/bioshock_corset/1.webp diff --git a/game/characters/hermione/clothes/top/bioshock_corset/2.webp b/game/characters/hermione/poses/default/clothes/top/bioshock_corset/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/bioshock_corset/2.webp rename to game/characters/hermione/poses/default/clothes/top/bioshock_corset/2.webp diff --git a/game/characters/hermione/clothes/top/bioshock_corset/mask.webp b/game/characters/hermione/poses/default/clothes/top/bioshock_corset/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/bioshock_corset/mask.webp rename to game/characters/hermione/poses/default/clothes/top/bioshock_corset/mask.webp diff --git a/game/characters/hermione/clothes/top/bioshock_corset/outline.webp b/game/characters/hermione/poses/default/clothes/top/bioshock_corset/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/bioshock_corset/outline.webp rename to game/characters/hermione/poses/default/clothes/top/bioshock_corset/outline.webp diff --git a/game/characters/hermione/clothes/top/bioshock_corset/overlay.webp b/game/characters/hermione/poses/default/clothes/top/bioshock_corset/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/top/bioshock_corset/overlay.webp rename to game/characters/hermione/poses/default/clothes/top/bioshock_corset/overlay.webp diff --git a/game/characters/hermione/clothes/top/bunny_top_1/0.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/bunny_top_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/bunny_top_1/0.webp diff --git a/game/characters/hermione/clothes/top/bunny_top_1/extra.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/bunny_top_1/extra.webp rename to game/characters/hermione/poses/default/clothes/top/bunny_top_1/extra.webp diff --git a/game/characters/hermione/clothes/top/bunny_top_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/bunny_top_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/bunny_top_1/outline.webp diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_2/0.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/0.webp new file mode 100644 index 00000000..9172e867 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:554e2441eff7edb5a3caace414d5ca87483c924cda041f869165bc7962c77954 +size 12398 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_2/extra.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/extra.webp new file mode 100644 index 00000000..c588dc1c --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2faa53fbd0dd59c06078d0fbb724ee66c70f991894468efc28da13134a740ef3 +size 15062 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_2/mask.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/mask.webp new file mode 100644 index 00000000..7bdb8c66 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c38dd616480bb9584af125a38e9374a6c179a37377e4ef23a10cdc106af71804 +size 662 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_2/outline.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/outline.webp new file mode 100644 index 00000000..96f9c205 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f3583d049ca604b8d8fdabde9f868d101a0db2adaaa1e1976a6b72ab8d18528 +size 9244 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_2/skin.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/skin.webp new file mode 100644 index 00000000..7465e6dd --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_2/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8bd85b312991142674e8298b53ff9d983ec72280fb621b7c09cb83b25006759 +size 4612 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_3/0.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/0.webp new file mode 100644 index 00000000..2cd1d987 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70174f8f8eb8b3bed6a01a8f2f239df824396c55e20e6320d35629020503c500 +size 12038 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_3/extra.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/extra.webp new file mode 100644 index 00000000..a876d502 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e58aba1b92640e79ff9b7cbe7a757fb04e31bf47ac57445a211f1651b5aa8fc1 +size 14638 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_3/mask.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/mask.webp new file mode 100644 index 00000000..fa92060f --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc48e9b32e230629f5928948d6c0c0ad86d1806ee308a21f12a98d04d44827cd +size 674 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_3/outline.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/outline.webp new file mode 100644 index 00000000..85c12745 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a29e80c80c6255aa7da7e005883854a2d3bf51b3a7493db235b4e725472bad9 +size 9144 diff --git a/game/characters/hermione/poses/default/clothes/top/bunny_top_3/skin.webp b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/skin.webp new file mode 100644 index 00000000..00b7ab91 --- /dev/null +++ b/game/characters/hermione/poses/default/clothes/top/bunny_top_3/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35721def3b619a83b24d7855aa4869d317d0ce1f7d14216054bd9fe68760d7b6 +size 4892 diff --git a/game/characters/hermione/clothes/top/casual_top_1/0.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_1/0.webp diff --git a/game/characters/hermione/clothes/top/casual_top_1/1.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_1/1.webp diff --git a/game/characters/hermione/clothes/top/casual_top_1/extra.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_1/extra.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_1/extra.webp diff --git a/game/characters/hermione/clothes/top/casual_top_1/mask.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_1/mask.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_1/mask.webp diff --git a/game/characters/hermione/clothes/top/casual_top_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_1/outline.webp diff --git a/game/characters/hermione/clothes/top/casual_top_1/skin.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_1/skin.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_1/skin.webp diff --git a/game/characters/hermione/clothes/top/casual_top_2/0.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_2/0.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_2/0.webp diff --git a/game/characters/hermione/clothes/top/casual_top_2/extra.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_2/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_2/extra.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_2/extra.webp diff --git a/game/characters/hermione/clothes/top/casual_top_2/outline.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_2/outline.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_2/outline.webp diff --git a/game/characters/hermione/clothes/top/casual_top_2/skin.webp b/game/characters/hermione/poses/default/clothes/top/casual_top_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/casual_top_2/skin.webp rename to game/characters/hermione/poses/default/clothes/top/casual_top_2/skin.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_1/0.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/0.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_1/1.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/1.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_1/2.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_1/2.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/2.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/outline.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_1/skin.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_1/skin.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_1/skin.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_2/0.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_2/0.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/0.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_2/1.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_2/1.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/1.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_2/outline.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_2/outline.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/outline.webp diff --git a/game/characters/hermione/clothes/top/cheerleader_top_2/skin.webp b/game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/cheerleader_top_2/skin.webp rename to game/characters/hermione/poses/default/clothes/top/cheerleader_top_2/skin.webp diff --git a/game/characters/hermione/clothes/top/croft_top/0.webp b/game/characters/hermione/poses/default/clothes/top/croft_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/croft_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/croft_top/0.webp diff --git a/game/characters/hermione/clothes/top/croft_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/croft_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/croft_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/croft_top/outline.webp diff --git a/game/characters/hermione/clothes/top/egypt_top/0.webp b/game/characters/hermione/poses/default/clothes/top/egypt_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/egypt_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/egypt_top/0.webp diff --git a/game/characters/hermione/clothes/top/egypt_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/egypt_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/egypt_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/egypt_top/outline.webp diff --git a/game/characters/hermione/clothes/top/fishnet_onepiece/0.webp b/game/characters/hermione/poses/default/clothes/top/fishnet_onepiece/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/fishnet_onepiece/0.webp rename to game/characters/hermione/poses/default/clothes/top/fishnet_onepiece/0.webp diff --git a/game/characters/hermione/clothes/top/fishnet_onepiece/1.webp b/game/characters/hermione/poses/default/clothes/top/fishnet_onepiece/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/fishnet_onepiece/1.webp rename to game/characters/hermione/poses/default/clothes/top/fishnet_onepiece/1.webp diff --git a/game/characters/hermione/clothes/top/fishnet_onepiece/outline.webp b/game/characters/hermione/poses/default/clothes/top/fishnet_onepiece/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/fishnet_onepiece/outline.webp rename to game/characters/hermione/poses/default/clothes/top/fishnet_onepiece/outline.webp diff --git a/game/characters/hermione/clothes/top/fishnet_top/0.webp b/game/characters/hermione/poses/default/clothes/top/fishnet_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/fishnet_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/fishnet_top/0.webp diff --git a/game/characters/hermione/clothes/top/fishnet_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/fishnet_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/fishnet_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/fishnet_top/outline.webp diff --git a/game/characters/hermione/clothes/top/hslut_top/0.webp b/game/characters/hermione/poses/default/clothes/top/hslut_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/hslut_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/hslut_top/0.webp diff --git a/game/characters/hermione/clothes/top/hslut_top/1.webp b/game/characters/hermione/poses/default/clothes/top/hslut_top/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/hslut_top/1.webp rename to game/characters/hermione/poses/default/clothes/top/hslut_top/1.webp diff --git a/game/characters/hermione/clothes/top/hslut_top/extra.webp b/game/characters/hermione/poses/default/clothes/top/hslut_top/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/hslut_top/extra.webp rename to game/characters/hermione/poses/default/clothes/top/hslut_top/extra.webp diff --git a/game/characters/hermione/clothes/top/hslut_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/hslut_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/hslut_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/hslut_top/outline.webp diff --git a/game/characters/hermione/clothes/top/latex_dress_1/0.webp b/game/characters/hermione/poses/default/clothes/top/latex_dress_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_dress_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/latex_dress_1/0.webp diff --git a/game/characters/hermione/clothes/top/latex_dress_1/1.webp b/game/characters/hermione/poses/default/clothes/top/latex_dress_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_dress_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/latex_dress_1/1.webp diff --git a/game/characters/hermione/clothes/top/latex_dress_1/extra.webp b/game/characters/hermione/poses/default/clothes/top/latex_dress_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_dress_1/extra.webp rename to game/characters/hermione/poses/default/clothes/top/latex_dress_1/extra.webp diff --git a/game/characters/hermione/clothes/top/latex_dress_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/latex_dress_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_dress_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/latex_dress_1/outline.webp diff --git a/game/characters/hermione/clothes/top/latex_top/0.webp b/game/characters/hermione/poses/default/clothes/top/latex_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/latex_top/0.webp diff --git a/game/characters/hermione/clothes/top/latex_top/extra.webp b/game/characters/hermione/poses/default/clothes/top/latex_top/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_top/extra.webp rename to game/characters/hermione/poses/default/clothes/top/latex_top/extra.webp diff --git a/game/characters/hermione/clothes/top/latex_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/latex_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/latex_top/outline.webp diff --git a/game/characters/hermione/clothes/top/latex_top/skin.webp b/game/characters/hermione/poses/default/clothes/top/latex_top/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/latex_top/skin.webp rename to game/characters/hermione/poses/default/clothes/top/latex_top/skin.webp diff --git a/game/characters/hermione/clothes/top/maid_dress_1/0.webp b/game/characters/hermione/poses/default/clothes/top/maid_dress_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/maid_dress_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/maid_dress_1/0.webp diff --git a/game/characters/hermione/clothes/top/maid_dress_1/1.webp b/game/characters/hermione/poses/default/clothes/top/maid_dress_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/maid_dress_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/maid_dress_1/1.webp diff --git a/game/characters/hermione/clothes/top/maid_dress_1/2.webp b/game/characters/hermione/poses/default/clothes/top/maid_dress_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/maid_dress_1/2.webp rename to game/characters/hermione/poses/default/clothes/top/maid_dress_1/2.webp diff --git a/game/characters/hermione/clothes/top/maid_dress_1/mask.webp b/game/characters/hermione/poses/default/clothes/top/maid_dress_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/maid_dress_1/mask.webp rename to game/characters/hermione/poses/default/clothes/top/maid_dress_1/mask.webp diff --git a/game/characters/hermione/clothes/top/maid_dress_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/maid_dress_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/maid_dress_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/maid_dress_1/outline.webp diff --git a/game/characters/hermione/clothes/top/msmarv_suit/0.webp b/game/characters/hermione/poses/default/clothes/top/msmarv_suit/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/msmarv_suit/0.webp rename to game/characters/hermione/poses/default/clothes/top/msmarv_suit/0.webp diff --git a/game/characters/hermione/clothes/top/msmarv_suit/1.webp b/game/characters/hermione/poses/default/clothes/top/msmarv_suit/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/msmarv_suit/1.webp rename to game/characters/hermione/poses/default/clothes/top/msmarv_suit/1.webp diff --git a/game/characters/hermione/clothes/top/msmarv_suit/2.webp b/game/characters/hermione/poses/default/clothes/top/msmarv_suit/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/msmarv_suit/2.webp rename to game/characters/hermione/poses/default/clothes/top/msmarv_suit/2.webp diff --git a/game/characters/hermione/clothes/top/msmarv_suit/outline.webp b/game/characters/hermione/poses/default/clothes/top/msmarv_suit/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/msmarv_suit/outline.webp rename to game/characters/hermione/poses/default/clothes/top/msmarv_suit/outline.webp diff --git a/game/characters/hermione/clothes/top/nightie/0.webp b/game/characters/hermione/poses/default/clothes/top/nightie/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/nightie/0.webp rename to game/characters/hermione/poses/default/clothes/top/nightie/0.webp diff --git a/game/characters/hermione/clothes/top/nightie/outline.webp b/game/characters/hermione/poses/default/clothes/top/nightie/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/nightie/outline.webp rename to game/characters/hermione/poses/default/clothes/top/nightie/outline.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/0.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/0.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/0_front.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/0_front.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/1.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/1.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/2.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/2.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/2.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/3.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/3.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/3.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/3.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/extra.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/extra.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/extra.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/outline.webp diff --git a/game/characters/hermione/clothes/top/open_top_1/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/open_top_1/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/open_top_1/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/open_top_1/outline_front.webp diff --git a/game/characters/hermione/clothes/top/pajama_1/0.webp b/game/characters/hermione/poses/default/clothes/top/pajama_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/pajama_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/pajama_1/0.webp diff --git a/game/characters/hermione/clothes/top/pajama_1/extra.webp b/game/characters/hermione/poses/default/clothes/top/pajama_1/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/pajama_1/extra.webp rename to game/characters/hermione/poses/default/clothes/top/pajama_1/extra.webp diff --git a/game/characters/hermione/clothes/top/pajama_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/pajama_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/pajama_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/pajama_1/outline.webp diff --git a/game/characters/hermione/clothes/top/pizza_top/0.webp b/game/characters/hermione/poses/default/clothes/top/pizza_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/pizza_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/pizza_top/0.webp diff --git a/game/characters/hermione/clothes/top/pizza_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/pizza_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/pizza_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/pizza_top/outline.webp diff --git a/game/characters/hermione/clothes/top/pizza_top/overlay.webp b/game/characters/hermione/poses/default/clothes/top/pizza_top/overlay.webp similarity index 100% rename from game/characters/hermione/clothes/top/pizza_top/overlay.webp rename to game/characters/hermione/poses/default/clothes/top/pizza_top/overlay.webp diff --git a/game/characters/hermione/clothes/top/pullover_1/0.webp b/game/characters/hermione/poses/default/clothes/top/pullover_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_1/0.webp diff --git a/game/characters/hermione/clothes/top/pullover_1/0_front.webp b/game/characters/hermione/poses/default/clothes/top/pullover_1/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_1/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_1/0_front.webp diff --git a/game/characters/hermione/clothes/top/pullover_1/mask.webp b/game/characters/hermione/poses/default/clothes/top/pullover_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_1/mask.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_1/mask.webp diff --git a/game/characters/hermione/clothes/top/pullover_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/pullover_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_1/outline.webp diff --git a/game/characters/hermione/clothes/top/pullover_1/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/pullover_1/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_1/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_1/outline_front.webp diff --git a/game/characters/hermione/clothes/top/pullover_2/0.webp b/game/characters/hermione/poses/default/clothes/top/pullover_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_2/0.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_2/0.webp diff --git a/game/characters/hermione/clothes/top/pullover_2/0_front.webp b/game/characters/hermione/poses/default/clothes/top/pullover_2/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_2/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_2/0_front.webp diff --git a/game/characters/hermione/clothes/top/pullover_2/mask.webp b/game/characters/hermione/poses/default/clothes/top/pullover_2/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_2/mask.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_2/mask.webp diff --git a/game/characters/hermione/clothes/top/pullover_2/outline.webp b/game/characters/hermione/poses/default/clothes/top/pullover_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_2/outline.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_2/outline.webp diff --git a/game/characters/hermione/clothes/top/pullover_2/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/pullover_2/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_2/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_2/outline_front.webp diff --git a/game/characters/hermione/clothes/top/pullover_2/skin.webp b/game/characters/hermione/poses/default/clothes/top/pullover_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_2/skin.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_2/skin.webp diff --git a/game/characters/hermione/clothes/top/pullover_3/0.webp b/game/characters/hermione/poses/default/clothes/top/pullover_3/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_3/0.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_3/0.webp diff --git a/game/characters/hermione/clothes/top/pullover_3/0_front.webp b/game/characters/hermione/poses/default/clothes/top/pullover_3/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_3/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_3/0_front.webp diff --git a/game/characters/hermione/clothes/top/pullover_3/outline.webp b/game/characters/hermione/poses/default/clothes/top/pullover_3/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_3/outline.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_3/outline.webp diff --git a/game/characters/hermione/clothes/top/pullover_3/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/pullover_3/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_3/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_3/outline_front.webp diff --git a/game/characters/hermione/clothes/top/pullover_3/skin.webp b/game/characters/hermione/poses/default/clothes/top/pullover_3/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/pullover_3/skin.webp rename to game/characters/hermione/poses/default/clothes/top/pullover_3/skin.webp diff --git a/game/characters/hermione/clothes/top/ruffled_top/0.webp b/game/characters/hermione/poses/default/clothes/top/ruffled_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/ruffled_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/ruffled_top/0.webp diff --git a/game/characters/hermione/clothes/top/ruffled_top/mask.webp b/game/characters/hermione/poses/default/clothes/top/ruffled_top/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/ruffled_top/mask.webp rename to game/characters/hermione/poses/default/clothes/top/ruffled_top/mask.webp diff --git a/game/characters/hermione/clothes/top/ruffled_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/ruffled_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/ruffled_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/ruffled_top/outline.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_1/0.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/0.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_1/1.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/1.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/outline.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_1/skin.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_1/skin.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_1/skin.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_2/0.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_2/0.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/0.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_2/1.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_2/1.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/1.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_2/outline.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_2/outline.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/outline.webp diff --git a/game/characters/hermione/clothes/top/swimsuit_top_2/skin.webp b/game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/swimsuit_top_2/skin.webp rename to game/characters/hermione/poses/default/clothes/top/swimsuit_top_2/skin.webp diff --git a/game/characters/hermione/clothes/top/teddy_top/0.webp b/game/characters/hermione/poses/default/clothes/top/teddy_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/teddy_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/teddy_top/0.webp diff --git a/game/characters/hermione/clothes/top/teddy_top/1.webp b/game/characters/hermione/poses/default/clothes/top/teddy_top/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/teddy_top/1.webp rename to game/characters/hermione/poses/default/clothes/top/teddy_top/1.webp diff --git a/game/characters/hermione/clothes/top/teddy_top/2.webp b/game/characters/hermione/poses/default/clothes/top/teddy_top/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/teddy_top/2.webp rename to game/characters/hermione/poses/default/clothes/top/teddy_top/2.webp diff --git a/game/characters/hermione/clothes/top/teddy_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/teddy_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/teddy_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/teddy_top/outline.webp diff --git a/game/characters/hermione/clothes/top/tifa_top/0.webp b/game/characters/hermione/poses/default/clothes/top/tifa_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/tifa_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/tifa_top/0.webp diff --git a/game/characters/hermione/clothes/top/tifa_top/mask.webp b/game/characters/hermione/poses/default/clothes/top/tifa_top/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/tifa_top/mask.webp rename to game/characters/hermione/poses/default/clothes/top/tifa_top/mask.webp diff --git a/game/characters/hermione/clothes/top/tifa_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/tifa_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/tifa_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/tifa_top/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/0.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/0.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/0.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/0_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/0_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/1.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/1.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/1.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/2.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/2.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/2.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/3.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/3.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/3.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/3.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/mask.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/mask.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/mask.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/outline.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/outline.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_1/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_1/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_1/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_1/outline_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/0.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/0.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/0.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/0_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/0_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/1.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/1.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/1.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/2.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/2.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/2.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/3.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/3.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/3.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/3.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/extra.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/extra.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/extra.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/mask.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/mask.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/mask.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/outline.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/outline.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_2/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_2/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_2/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_2/outline_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_3/0.webp b/game/characters/hermione/poses/default/clothes/top/top_school_3/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_3/0.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_3/0.webp diff --git a/game/characters/hermione/clothes/top/top_school_3/0_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_3/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_3/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_3/0_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_3/1.webp b/game/characters/hermione/poses/default/clothes/top/top_school_3/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_3/1.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_3/1.webp diff --git a/game/characters/hermione/clothes/top/top_school_3/2.webp b/game/characters/hermione/poses/default/clothes/top/top_school_3/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_3/2.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_3/2.webp diff --git a/game/characters/hermione/clothes/top/top_school_3/mask.webp b/game/characters/hermione/poses/default/clothes/top/top_school_3/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_3/mask.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_3/mask.webp diff --git a/game/characters/hermione/clothes/top/top_school_3/outline.webp b/game/characters/hermione/poses/default/clothes/top/top_school_3/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_3/outline.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_3/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_3/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_3/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_3/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_3/outline_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/0.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/0.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/0.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/0_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/0_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/1.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/1.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/1.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/2.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/2.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/2.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/extra.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/extra.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/extra.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/mask.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/mask.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/mask.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/outline.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/outline.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_4/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_4/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_4/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_4/outline_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/0.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/0.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/0.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/0_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/0_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/0_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/0_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/1.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/1.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/1.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/2.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/2.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/2.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/extra.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/extra.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/extra.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/mask.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/mask.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/mask.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/outline.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/outline.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/outline_front.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/outline_front.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/outline_front.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/outline_front.webp diff --git a/game/characters/hermione/clothes/top/top_school_5/skin.webp b/game/characters/hermione/poses/default/clothes/top/top_school_5/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_5/skin.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_5/skin.webp diff --git a/game/characters/hermione/clothes/top/top_school_6/0.webp b/game/characters/hermione/poses/default/clothes/top/top_school_6/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_6/0.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_6/0.webp diff --git a/game/characters/hermione/clothes/top/top_school_6/1.webp b/game/characters/hermione/poses/default/clothes/top/top_school_6/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_6/1.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_6/1.webp diff --git a/game/characters/hermione/clothes/top/top_school_6/2.webp b/game/characters/hermione/poses/default/clothes/top/top_school_6/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_6/2.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_6/2.webp diff --git a/game/characters/hermione/clothes/top/top_school_6/mask.webp b/game/characters/hermione/poses/default/clothes/top/top_school_6/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_6/mask.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_6/mask.webp diff --git a/game/characters/hermione/clothes/top/top_school_6/outline.webp b/game/characters/hermione/poses/default/clothes/top/top_school_6/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_6/outline.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_6/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_6/skin.webp b/game/characters/hermione/poses/default/clothes/top/top_school_6/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_6/skin.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_6/skin.webp diff --git a/game/characters/hermione/clothes/top/top_school_7/0.webp b/game/characters/hermione/poses/default/clothes/top/top_school_7/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_7/0.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_7/0.webp diff --git a/game/characters/hermione/clothes/top/top_school_7/1.webp b/game/characters/hermione/poses/default/clothes/top/top_school_7/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_7/1.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_7/1.webp diff --git a/game/characters/hermione/clothes/top/top_school_7/2.webp b/game/characters/hermione/poses/default/clothes/top/top_school_7/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_7/2.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_7/2.webp diff --git a/game/characters/hermione/clothes/top/top_school_7/mask.webp b/game/characters/hermione/poses/default/clothes/top/top_school_7/mask.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_7/mask.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_7/mask.webp diff --git a/game/characters/hermione/clothes/top/top_school_7/outline.webp b/game/characters/hermione/poses/default/clothes/top/top_school_7/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_7/outline.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_7/outline.webp diff --git a/game/characters/hermione/clothes/top/top_school_7/skin.webp b/game/characters/hermione/poses/default/clothes/top/top_school_7/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/top_school_7/skin.webp rename to game/characters/hermione/poses/default/clothes/top/top_school_7/skin.webp diff --git a/game/characters/hermione/clothes/top/witch_top/0.webp b/game/characters/hermione/poses/default/clothes/top/witch_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/witch_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/witch_top/0.webp diff --git a/game/characters/hermione/clothes/top/witch_top/1.webp b/game/characters/hermione/poses/default/clothes/top/witch_top/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/witch_top/1.webp rename to game/characters/hermione/poses/default/clothes/top/witch_top/1.webp diff --git a/game/characters/hermione/clothes/top/witch_top/extra.webp b/game/characters/hermione/poses/default/clothes/top/witch_top/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/witch_top/extra.webp rename to game/characters/hermione/poses/default/clothes/top/witch_top/extra.webp diff --git a/game/characters/hermione/clothes/top/witch_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/witch_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/witch_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/witch_top/outline.webp diff --git a/game/characters/hermione/clothes/top/xmas/0.webp b/game/characters/hermione/poses/default/clothes/top/xmas/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/xmas/0.webp rename to game/characters/hermione/poses/default/clothes/top/xmas/0.webp diff --git a/game/characters/hermione/clothes/top/xmas/1.webp b/game/characters/hermione/poses/default/clothes/top/xmas/1.webp similarity index 100% rename from game/characters/hermione/clothes/top/xmas/1.webp rename to game/characters/hermione/poses/default/clothes/top/xmas/1.webp diff --git a/game/characters/hermione/clothes/top/xmas/2.webp b/game/characters/hermione/poses/default/clothes/top/xmas/2.webp similarity index 100% rename from game/characters/hermione/clothes/top/xmas/2.webp rename to game/characters/hermione/poses/default/clothes/top/xmas/2.webp diff --git a/game/characters/hermione/clothes/top/xmas/extra.webp b/game/characters/hermione/poses/default/clothes/top/xmas/extra.webp similarity index 100% rename from game/characters/hermione/clothes/top/xmas/extra.webp rename to game/characters/hermione/poses/default/clothes/top/xmas/extra.webp diff --git a/game/characters/hermione/clothes/top/xmas/outline.webp b/game/characters/hermione/poses/default/clothes/top/xmas/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/xmas/outline.webp rename to game/characters/hermione/poses/default/clothes/top/xmas/outline.webp diff --git a/game/characters/hermione/clothes/top/xmas/skin.webp b/game/characters/hermione/poses/default/clothes/top/xmas/skin.webp similarity index 100% rename from game/characters/hermione/clothes/top/xmas/skin.webp rename to game/characters/hermione/poses/default/clothes/top/xmas/skin.webp diff --git a/game/characters/hermione/clothes/top/yen_top/0.webp b/game/characters/hermione/poses/default/clothes/top/yen_top/0.webp similarity index 100% rename from game/characters/hermione/clothes/top/yen_top/0.webp rename to game/characters/hermione/poses/default/clothes/top/yen_top/0.webp diff --git a/game/characters/hermione/clothes/top/yen_top/outline.webp b/game/characters/hermione/poses/default/clothes/top/yen_top/outline.webp similarity index 100% rename from game/characters/hermione/clothes/top/yen_top/outline.webp rename to game/characters/hermione/poses/default/clothes/top/yen_top/outline.webp diff --git a/game/characters/hermione/cum/body/heavy.webp b/game/characters/hermione/poses/default/cum/body/heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/body/heavy.webp rename to game/characters/hermione/poses/default/cum/body/heavy/cum.webp diff --git a/game/characters/hermione/cum/body/light.webp b/game/characters/hermione/poses/default/cum/body/light/cum.webp similarity index 100% rename from game/characters/hermione/cum/body/light.webp rename to game/characters/hermione/poses/default/cum/body/light/cum.webp diff --git a/game/characters/hermione/cum/breasts/heavy.webp b/game/characters/hermione/poses/default/cum/breasts/heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/breasts/heavy.webp rename to game/characters/hermione/poses/default/cum/breasts/heavy/cum.webp diff --git a/game/characters/hermione/cum/breasts/light.webp b/game/characters/hermione/poses/default/cum/breasts/light/cum.webp similarity index 100% rename from game/characters/hermione/cum/breasts/light.webp rename to game/characters/hermione/poses/default/cum/breasts/light/cum.webp diff --git a/game/characters/hermione/cum/crotch/heavy.webp b/game/characters/hermione/poses/default/cum/crotch/heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/crotch/heavy.webp rename to game/characters/hermione/poses/default/cum/crotch/heavy/cum.webp diff --git a/game/characters/hermione/cum/crotch/light.webp b/game/characters/hermione/poses/default/cum/crotch/light/cum.webp similarity index 100% rename from game/characters/hermione/cum/crotch/light.webp rename to game/characters/hermione/poses/default/cum/crotch/light/cum.webp diff --git a/game/characters/hermione/cum/face/heavy.webp b/game/characters/hermione/poses/default/cum/face/heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/face/heavy.webp rename to game/characters/hermione/poses/default/cum/face/heavy/cum.webp diff --git a/game/characters/hermione/cum/face/light.webp b/game/characters/hermione/poses/default/cum/face/light/cum.webp similarity index 100% rename from game/characters/hermione/cum/face/light.webp rename to game/characters/hermione/poses/default/cum/face/light/cum.webp diff --git a/game/characters/hermione/cum/hair/heavy.webp b/game/characters/hermione/poses/default/cum/hair/heavy/default/cum.webp similarity index 100% rename from game/characters/hermione/cum/hair/heavy.webp rename to game/characters/hermione/poses/default/cum/hair/heavy/default/cum.webp diff --git a/game/characters/hermione/cum/hair/light.webp b/game/characters/hermione/poses/default/cum/hair/light/default/cum.webp similarity index 100% rename from game/characters/hermione/cum/hair/light.webp rename to game/characters/hermione/poses/default/cum/hair/light/default/cum.webp diff --git a/game/characters/hermione/cum/legs/heavy.webp b/game/characters/hermione/poses/default/cum/legs/heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/legs/heavy.webp rename to game/characters/hermione/poses/default/cum/legs/heavy/cum.webp diff --git a/game/characters/hermione/cum/legs/light.webp b/game/characters/hermione/poses/default/cum/legs/light/cum.webp similarity index 100% rename from game/characters/hermione/cum/legs/light.webp rename to game/characters/hermione/poses/default/cum/legs/light/cum.webp diff --git a/game/characters/hermione/cum/pussy/heavy.webp b/game/characters/hermione/poses/default/cum/pussy/heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/heavy.webp rename to game/characters/hermione/poses/default/cum/pussy/heavy/cum.webp diff --git a/game/characters/hermione/cum/pussy/light.webp b/game/characters/hermione/poses/default/cum/pussy/light/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/light.webp rename to game/characters/hermione/poses/default/cum/pussy/light/cum.webp diff --git a/game/characters/hermione/cum/pussy/squirt.webp b/game/characters/hermione/poses/default/cum/pussy/squirt/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/squirt.webp rename to game/characters/hermione/poses/default/cum/pussy/squirt/cum.webp diff --git a/game/characters/hermione/cum/pussy/squirt_post.webp b/game/characters/hermione/poses/default/cum/pussy/squirt_post/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/squirt_post.webp rename to game/characters/hermione/poses/default/cum/pussy/squirt_post/cum.webp diff --git a/game/characters/hermione/cum/pussy/squirt_transition.webp b/game/characters/hermione/poses/default/cum/pussy/squirt_transition/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/squirt_transition.webp rename to game/characters/hermione/poses/default/cum/pussy/squirt_transition/cum.webp diff --git a/game/characters/hermione/cum/pussy/underwear_heavy.webp b/game/characters/hermione/poses/default/cum/pussy/underwear_heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/underwear_heavy.webp rename to game/characters/hermione/poses/default/cum/pussy/underwear_heavy/cum.webp diff --git a/game/characters/hermione/cum/pussy/underwear_light.webp b/game/characters/hermione/poses/default/cum/pussy/underwear_light/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/underwear_light.webp rename to game/characters/hermione/poses/default/cum/pussy/underwear_light/cum.webp diff --git a/game/characters/hermione/cum/pussy/vibrator_post.webp b/game/characters/hermione/poses/default/cum/pussy/vibrator_post/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/vibrator_post.webp rename to game/characters/hermione/poses/default/cum/pussy/vibrator_post/cum.webp diff --git a/game/characters/hermione/cum/pussy/vibrator_pre.webp b/game/characters/hermione/poses/default/cum/pussy/vibrator_pre/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/vibrator_pre.webp rename to game/characters/hermione/poses/default/cum/pussy/vibrator_pre/cum.webp diff --git a/game/characters/hermione/cum/pussy/vibrator_squirt.webp b/game/characters/hermione/poses/default/cum/pussy/vibrator_squirt/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/vibrator_squirt.webp rename to game/characters/hermione/poses/default/cum/pussy/vibrator_squirt/cum.webp diff --git a/game/characters/hermione/cum/pussy/vibratorp_heavy.webp b/game/characters/hermione/poses/default/cum/pussy/vibratorp_heavy/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/vibratorp_heavy.webp rename to game/characters/hermione/poses/default/cum/pussy/vibratorp_heavy/cum.webp diff --git a/game/characters/hermione/cum/pussy/vibratorp_light.webp b/game/characters/hermione/poses/default/cum/pussy/vibratorp_light/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/vibratorp_light.webp rename to game/characters/hermione/poses/default/cum/pussy/vibratorp_light/cum.webp diff --git a/game/characters/hermione/cum/pussy/wet.webp b/game/characters/hermione/poses/default/cum/pussy/wet/cum.webp similarity index 100% rename from game/characters/hermione/cum/pussy/wet.webp rename to game/characters/hermione/poses/default/cum/pussy/wet/cum.webp diff --git a/game/characters/hermione/emote/angry.webp b/game/characters/hermione/poses/default/emote/angry.webp similarity index 100% rename from game/characters/hermione/emote/angry.webp rename to game/characters/hermione/poses/default/emote/angry.webp diff --git a/game/characters/hermione/emote/confused.webp b/game/characters/hermione/poses/default/emote/confused.webp similarity index 100% rename from game/characters/hermione/emote/confused.webp rename to game/characters/hermione/poses/default/emote/confused.webp diff --git a/game/characters/hermione/emote/happy.webp b/game/characters/hermione/poses/default/emote/happy.webp similarity index 100% rename from game/characters/hermione/emote/happy.webp rename to game/characters/hermione/poses/default/emote/happy.webp diff --git a/game/characters/hermione/emote/hearts.webp b/game/characters/hermione/poses/default/emote/hearts.webp similarity index 100% rename from game/characters/hermione/emote/hearts.webp rename to game/characters/hermione/poses/default/emote/hearts.webp diff --git a/game/characters/hermione/emote/shocked.webp b/game/characters/hermione/poses/default/emote/shocked.webp similarity index 100% rename from game/characters/hermione/emote/shocked.webp rename to game/characters/hermione/poses/default/emote/shocked.webp diff --git a/game/characters/hermione/emote/sweat.webp b/game/characters/hermione/poses/default/emote/sweat.webp similarity index 100% rename from game/characters/hermione/emote/sweat.webp rename to game/characters/hermione/poses/default/emote/sweat.webp diff --git a/game/characters/hermione/face/cheeks/blush.webp b/game/characters/hermione/poses/default/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/hermione/face/cheeks/blush.webp rename to game/characters/hermione/poses/default/face/cheeks/blush/expression.webp diff --git a/game/characters/hermione/face/eyebrows/angry.webp b/game/characters/hermione/poses/default/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/angry.webp rename to game/characters/hermione/poses/default/face/eyebrows/angry/expression.webp diff --git a/game/characters/hermione/face/eyebrows/angry_skin.webp b/game/characters/hermione/poses/default/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/angry_skin.webp rename to game/characters/hermione/poses/default/face/eyebrows/angry/skin.webp diff --git a/game/characters/hermione/face/eyebrows/annoyed.webp b/game/characters/hermione/poses/default/face/eyebrows/annoyed/expression.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/annoyed.webp rename to game/characters/hermione/poses/default/face/eyebrows/annoyed/expression.webp diff --git a/game/characters/hermione/face/eyebrows/annoyed_skin.webp b/game/characters/hermione/poses/default/face/eyebrows/annoyed/skin.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/annoyed_skin.webp rename to game/characters/hermione/poses/default/face/eyebrows/annoyed/skin.webp diff --git a/game/characters/hermione/face/eyebrows/base.webp b/game/characters/hermione/poses/default/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/base.webp rename to game/characters/hermione/poses/default/face/eyebrows/base/expression.webp diff --git a/game/characters/hermione/face/eyebrows/base_skin.webp b/game/characters/hermione/poses/default/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/base_skin.webp rename to game/characters/hermione/poses/default/face/eyebrows/base/skin.webp diff --git a/game/characters/hermione/face/eyebrows/low.webp b/game/characters/hermione/poses/default/face/eyebrows/low/expression.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/low.webp rename to game/characters/hermione/poses/default/face/eyebrows/low/expression.webp diff --git a/game/characters/hermione/face/eyebrows/low_skin.webp b/game/characters/hermione/poses/default/face/eyebrows/low/skin.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/low_skin.webp rename to game/characters/hermione/poses/default/face/eyebrows/low/skin.webp diff --git a/game/characters/hermione/face/eyebrows/worried.webp b/game/characters/hermione/poses/default/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/worried.webp rename to game/characters/hermione/poses/default/face/eyebrows/worried/expression.webp diff --git a/game/characters/hermione/face/eyebrows/worried_skin.webp b/game/characters/hermione/poses/default/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/hermione/face/eyebrows/worried_skin.webp rename to game/characters/hermione/poses/default/face/eyebrows/worried/skin.webp diff --git a/game/characters/hermione/face/eyes/base.webp b/game/characters/hermione/poses/default/face/eyes/base/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/base.webp rename to game/characters/hermione/poses/default/face/eyes/base/expression.webp diff --git a/game/characters/hermione/face/eyes/base_mask.webp b/game/characters/hermione/poses/default/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/hermione/face/eyes/base_mask.webp rename to game/characters/hermione/poses/default/face/eyes/base/eyemask.webp diff --git a/game/characters/hermione/face/eyes/closed.webp b/game/characters/hermione/poses/default/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/closed.webp rename to game/characters/hermione/poses/default/face/eyes/closed/expression.webp diff --git a/game/characters/hermione/face/eyes/happy.webp b/game/characters/hermione/poses/default/face/eyes/happy/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/happy.webp rename to game/characters/hermione/poses/default/face/eyes/happy/expression.webp diff --git a/game/characters/hermione/face/eyes/happy_mask.webp b/game/characters/hermione/poses/default/face/eyes/happy/eyemask.webp similarity index 100% rename from game/characters/hermione/face/eyes/happy_mask.webp rename to game/characters/hermione/poses/default/face/eyes/happy/eyemask.webp diff --git a/game/characters/hermione/face/eyes/happyCl.webp b/game/characters/hermione/poses/default/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/happyCl.webp rename to game/characters/hermione/poses/default/face/eyes/happyCl/expression.webp diff --git a/game/characters/hermione/face/eyes/narrow.webp b/game/characters/hermione/poses/default/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/narrow.webp rename to game/characters/hermione/poses/default/face/eyes/narrow/expression.webp diff --git a/game/characters/hermione/face/eyes/narrow_mask.webp b/game/characters/hermione/poses/default/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/hermione/face/eyes/narrow_mask.webp rename to game/characters/hermione/poses/default/face/eyes/narrow/eyemask.webp diff --git a/game/characters/hermione/face/eyes/slit.webp b/game/characters/hermione/poses/default/face/eyes/slit/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/slit.webp rename to game/characters/hermione/poses/default/face/eyes/slit/expression.webp diff --git a/game/characters/hermione/face/eyes/slit_mask.webp b/game/characters/hermione/poses/default/face/eyes/slit/eyemask.webp similarity index 100% rename from game/characters/hermione/face/eyes/slit_mask.webp rename to game/characters/hermione/poses/default/face/eyes/slit/eyemask.webp diff --git a/game/characters/hermione/face/eyes/squint.webp b/game/characters/hermione/poses/default/face/eyes/squint/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/squint.webp rename to game/characters/hermione/poses/default/face/eyes/squint/expression.webp diff --git a/game/characters/hermione/face/eyes/squint_mask.webp b/game/characters/hermione/poses/default/face/eyes/squint/eyemask.webp similarity index 100% rename from game/characters/hermione/face/eyes/squint_mask.webp rename to game/characters/hermione/poses/default/face/eyes/squint/eyemask.webp diff --git a/game/characters/hermione/face/eyes/wide.webp b/game/characters/hermione/poses/default/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/wide.webp rename to game/characters/hermione/poses/default/face/eyes/wide/expression.webp diff --git a/game/characters/hermione/face/eyes/wide_mask.webp b/game/characters/hermione/poses/default/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/hermione/face/eyes/wide_mask.webp rename to game/characters/hermione/poses/default/face/eyes/wide/eyemask.webp diff --git a/game/characters/hermione/face/eyes/wink.webp b/game/characters/hermione/poses/default/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/hermione/face/eyes/wink.webp rename to game/characters/hermione/poses/default/face/eyes/wink/expression.webp diff --git a/game/characters/hermione/face/eyes/wink_mask.webp b/game/characters/hermione/poses/default/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/hermione/face/eyes/wink_mask.webp rename to game/characters/hermione/poses/default/face/eyes/wink/eyemask.webp diff --git a/game/characters/hermione/face/mouth/angry.webp b/game/characters/hermione/poses/default/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/angry.webp rename to game/characters/hermione/poses/default/face/mouth/angry/expression.webp diff --git a/game/characters/hermione/face/mouth/annoyed.webp b/game/characters/hermione/poses/default/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/annoyed.webp rename to game/characters/hermione/poses/default/face/mouth/annoyed/expression.webp diff --git a/game/characters/hermione/face/mouth/base.webp b/game/characters/hermione/poses/default/face/mouth/base/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/base.webp rename to game/characters/hermione/poses/default/face/mouth/base/expression.webp diff --git a/game/characters/hermione/face/mouth/clench.webp b/game/characters/hermione/poses/default/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/clench.webp rename to game/characters/hermione/poses/default/face/mouth/clench/expression.webp diff --git a/game/characters/hermione/face/mouth/crooked_smile.webp b/game/characters/hermione/poses/default/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/crooked_smile.webp rename to game/characters/hermione/poses/default/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/hermione/face/mouth/cum.webp b/game/characters/hermione/poses/default/face/mouth/cum/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/cum.webp rename to game/characters/hermione/poses/default/face/mouth/cum/expression.webp diff --git a/game/characters/hermione/face/mouth/disgust.webp b/game/characters/hermione/poses/default/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/disgust.webp rename to game/characters/hermione/poses/default/face/mouth/disgust/expression.webp diff --git a/game/characters/hermione/face/mouth/full.webp b/game/characters/hermione/poses/default/face/mouth/full/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/full.webp rename to game/characters/hermione/poses/default/face/mouth/full/expression.webp diff --git a/game/characters/hermione/face/mouth/full_cum.webp b/game/characters/hermione/poses/default/face/mouth/full_cum/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/full_cum.webp rename to game/characters/hermione/poses/default/face/mouth/full_cum/expression.webp diff --git a/game/characters/hermione/face/mouth/full_panties.webp b/game/characters/hermione/poses/default/face/mouth/full_panties/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/full_panties.webp rename to game/characters/hermione/poses/default/face/mouth/full_panties/expression.webp diff --git a/game/characters/hermione/face/mouth/grin.webp b/game/characters/hermione/poses/default/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/grin.webp rename to game/characters/hermione/poses/default/face/mouth/grin/expression.webp diff --git a/game/characters/hermione/face/mouth/mad.webp b/game/characters/hermione/poses/default/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/mad.webp rename to game/characters/hermione/poses/default/face/mouth/mad/expression.webp diff --git a/game/characters/hermione/face/mouth/normal.webp b/game/characters/hermione/poses/default/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/normal.webp rename to game/characters/hermione/poses/default/face/mouth/normal/expression.webp diff --git a/game/characters/hermione/face/mouth/open.webp b/game/characters/hermione/poses/default/face/mouth/open/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/open.webp rename to game/characters/hermione/poses/default/face/mouth/open/expression.webp diff --git a/game/characters/hermione/face/mouth/open_tongue.webp b/game/characters/hermione/poses/default/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/open_tongue.webp rename to game/characters/hermione/poses/default/face/mouth/open_tongue/expression.webp diff --git a/game/characters/hermione/face/mouth/open_wide_tongue.webp b/game/characters/hermione/poses/default/face/mouth/open_wide_tongue/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/open_wide_tongue.webp rename to game/characters/hermione/poses/default/face/mouth/open_wide_tongue/expression.webp diff --git a/game/characters/hermione/face/mouth/open_wide_tongue_cum.webp b/game/characters/hermione/poses/default/face/mouth/open_wide_tongue_cum/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/open_wide_tongue_cum.webp rename to game/characters/hermione/poses/default/face/mouth/open_wide_tongue_cum/expression.webp diff --git a/game/characters/hermione/face/mouth/open_wide_tongue_panties.webp b/game/characters/hermione/poses/default/face/mouth/open_wide_tongue_panties/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/open_wide_tongue_panties.webp rename to game/characters/hermione/poses/default/face/mouth/open_wide_tongue_panties/expression.webp diff --git a/game/characters/hermione/face/mouth/scream.webp b/game/characters/hermione/poses/default/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/scream.webp rename to game/characters/hermione/poses/default/face/mouth/scream/expression.webp diff --git a/game/characters/hermione/face/mouth/shock.webp b/game/characters/hermione/poses/default/face/mouth/shock/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/shock.webp rename to game/characters/hermione/poses/default/face/mouth/shock/expression.webp diff --git a/game/characters/hermione/face/mouth/silly.webp b/game/characters/hermione/poses/default/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/silly.webp rename to game/characters/hermione/poses/default/face/mouth/silly/expression.webp diff --git a/game/characters/hermione/face/mouth/smile.webp b/game/characters/hermione/poses/default/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/smile.webp rename to game/characters/hermione/poses/default/face/mouth/smile/expression.webp diff --git a/game/characters/hermione/face/mouth/soft.webp b/game/characters/hermione/poses/default/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/soft.webp rename to game/characters/hermione/poses/default/face/mouth/soft/expression.webp diff --git a/game/characters/hermione/face/mouth/upset.webp b/game/characters/hermione/poses/default/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/hermione/face/mouth/upset.webp rename to game/characters/hermione/poses/default/face/mouth/upset/expression.webp diff --git a/game/characters/hermione/face/pupils/L.webp b/game/characters/hermione/poses/default/face/pupils/L/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/L.webp rename to game/characters/hermione/poses/default/face/pupils/L/expression.webp diff --git a/game/characters/hermione/face/pupils/L_soft.webp b/game/characters/hermione/poses/default/face/pupils/L_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/L_soft.webp rename to game/characters/hermione/poses/default/face/pupils/L_soft/expression.webp diff --git a/game/characters/hermione/face/pupils/R.webp b/game/characters/hermione/poses/default/face/pupils/R/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/R.webp rename to game/characters/hermione/poses/default/face/pupils/R/expression.webp diff --git a/game/characters/hermione/face/pupils/R_soft.webp b/game/characters/hermione/poses/default/face/pupils/R_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/R_soft.webp rename to game/characters/hermione/poses/default/face/pupils/R_soft/expression.webp diff --git a/game/characters/hermione/face/pupils/ahegao.webp b/game/characters/hermione/poses/default/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/ahegao.webp rename to game/characters/hermione/poses/default/face/pupils/ahegao/expression.webp diff --git a/game/characters/hermione/face/pupils/dead.webp b/game/characters/hermione/poses/default/face/pupils/dead/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/dead.webp rename to game/characters/hermione/poses/default/face/pupils/dead/expression.webp diff --git a/game/characters/hermione/face/pupils/down.webp b/game/characters/hermione/poses/default/face/pupils/down/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/down.webp rename to game/characters/hermione/poses/default/face/pupils/down/expression.webp diff --git a/game/characters/hermione/face/pupils/down_soft.webp b/game/characters/hermione/poses/default/face/pupils/down_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/down_soft.webp rename to game/characters/hermione/poses/default/face/pupils/down_soft/expression.webp diff --git a/game/characters/hermione/face/pupils/mid.webp b/game/characters/hermione/poses/default/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/mid.webp rename to game/characters/hermione/poses/default/face/pupils/mid/expression.webp diff --git a/game/characters/hermione/face/pupils/mid_soft.webp b/game/characters/hermione/poses/default/face/pupils/mid_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/mid_soft.webp rename to game/characters/hermione/poses/default/face/pupils/mid_soft/expression.webp diff --git a/game/characters/hermione/face/pupils/shocked.webp b/game/characters/hermione/poses/default/face/pupils/shocked/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/shocked.webp rename to game/characters/hermione/poses/default/face/pupils/shocked/expression.webp diff --git a/game/characters/hermione/face/pupils/squint.webp b/game/characters/hermione/poses/default/face/pupils/squint/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/squint.webp rename to game/characters/hermione/poses/default/face/pupils/squint/expression.webp diff --git a/game/characters/hermione/face/pupils/squint_soft.webp b/game/characters/hermione/poses/default/face/pupils/squint_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/squint_soft.webp rename to game/characters/hermione/poses/default/face/pupils/squint_soft/expression.webp diff --git a/game/characters/hermione/face/pupils/stare.webp b/game/characters/hermione/poses/default/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/stare.webp rename to game/characters/hermione/poses/default/face/pupils/stare/expression.webp diff --git a/game/characters/hermione/face/pupils/stare_soft.webp b/game/characters/hermione/poses/default/face/pupils/stare_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/stare_soft.webp rename to game/characters/hermione/poses/default/face/pupils/stare_soft/expression.webp diff --git a/game/characters/hermione/face/pupils/up.webp b/game/characters/hermione/poses/default/face/pupils/up/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/up.webp rename to game/characters/hermione/poses/default/face/pupils/up/expression.webp diff --git a/game/characters/hermione/face/pupils/up_soft.webp b/game/characters/hermione/poses/default/face/pupils/up_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/pupils/up_soft.webp rename to game/characters/hermione/poses/default/face/pupils/up_soft/expression.webp diff --git a/game/characters/hermione/face/tears/crying.webp b/game/characters/hermione/poses/default/face/tears/crying/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/crying.webp rename to game/characters/hermione/poses/default/face/tears/crying/expression.webp diff --git a/game/characters/hermione/face/tears/crying_blink.webp b/game/characters/hermione/poses/default/face/tears/crying_blink/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/crying_blink.webp rename to game/characters/hermione/poses/default/face/tears/crying_blink/expression.webp diff --git a/game/characters/hermione/face/tears/mascara.webp b/game/characters/hermione/poses/default/face/tears/mascara/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/mascara.webp rename to game/characters/hermione/poses/default/face/tears/mascara/expression.webp diff --git a/game/characters/hermione/face/tears/mascara_crying.webp b/game/characters/hermione/poses/default/face/tears/mascara_crying/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/mascara_crying.webp rename to game/characters/hermione/poses/default/face/tears/mascara_crying/expression.webp diff --git a/game/characters/hermione/face/tears/mascara_soft.webp b/game/characters/hermione/poses/default/face/tears/mascara_soft/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/mascara_soft.webp rename to game/characters/hermione/poses/default/face/tears/mascara_soft/expression.webp diff --git a/game/characters/hermione/face/tears/mascara_soft_blink.webp b/game/characters/hermione/poses/default/face/tears/mascara_soft_blink/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/mascara_soft_blink.webp rename to game/characters/hermione/poses/default/face/tears/mascara_soft_blink/expression.webp diff --git a/game/characters/hermione/face/tears/messy.webp b/game/characters/hermione/poses/default/face/tears/messy/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/messy.webp rename to game/characters/hermione/poses/default/face/tears/messy/expression.webp diff --git a/game/characters/hermione/face/tears/soft.webp b/game/characters/hermione/poses/default/face/tears/soft/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/soft.webp rename to game/characters/hermione/poses/default/face/tears/soft/expression.webp diff --git a/game/characters/hermione/face/tears/soft_blink.webp b/game/characters/hermione/poses/default/face/tears/soft_blink/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/soft_blink.webp rename to game/characters/hermione/poses/default/face/tears/soft_blink/expression.webp diff --git a/game/characters/hermione/face/tears/sweat.webp b/game/characters/hermione/poses/default/face/tears/sweat/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/sweat.webp rename to game/characters/hermione/poses/default/face/tears/sweat/expression.webp diff --git a/game/characters/hermione/face/tears/tears_crying_side.webp b/game/characters/hermione/poses/default/face/tears/tears_crying_side/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/tears_crying_side.webp rename to game/characters/hermione/poses/default/face/tears/tears_crying_side/expression.webp diff --git a/game/characters/hermione/face/tears/tears_down.webp b/game/characters/hermione/poses/default/face/tears/tears_down/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/tears_down.webp rename to game/characters/hermione/poses/default/face/tears/tears_down/expression.webp diff --git a/game/characters/hermione/face/tears/tears_mascara_crying_blink.webp b/game/characters/hermione/poses/default/face/tears/tears_mascara_crying_blink/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/tears_mascara_crying_blink.webp rename to game/characters/hermione/poses/default/face/tears/tears_mascara_crying_blink/expression.webp diff --git a/game/characters/hermione/face/tears/tears_soft_sweat.webp b/game/characters/hermione/poses/default/face/tears/tears_soft_sweat/expression.webp similarity index 100% rename from game/characters/hermione/face/tears/tears_soft_sweat.webp rename to game/characters/hermione/poses/default/face/tears/tears_soft_sweat/expression.webp diff --git a/game/characters/hermione/poses/hand_on_breast/bodyparts/frame/default/skin.webp b/game/characters/hermione/poses/hand_on_breast/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..b719055a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_breast/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1919a341a5c6ac1016c820ee3d5a158bdd7ea7b08c86f6e2cdf34942d2c0ca7e +size 84766 diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/0.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/0.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/0.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/0.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/0_back.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/0_back.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/0_back.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/0_back.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/1.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/1.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/1.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/1.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/1_back.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/1_back.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/1_back.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/1_back.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/2.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/2.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/2.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/2.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/extra.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/extra.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/extra.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/extra.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/outline.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/outline.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/outline.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/outline_back.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/outline_back.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/outline_back.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/outline_back.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/base/skin.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/base/skin.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/base/skin.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/0.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/0.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/0.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/0.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/1.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/1.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/1.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/1.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/outline.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/outline.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/outline.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/outline.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/skin.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/bio_hair/skin.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/skin.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/updo/0.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/0.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/updo/0.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/0.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/updo/0_front.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/0_front.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/updo/0_front.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/0_front.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/updo/1.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/1.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/updo/1.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/1.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/updo/1_front.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/1_front.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/updo/1_front.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/1_front.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/updo/outline.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/outline.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/updo/outline.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/outline.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/updo/outline_front.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/outline_front.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/updo/outline_front.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/outline_front.webp diff --git a/game/characters/hermione/poses/masturbate/clothes/hair/updo/skin.webp b/game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/clothes/hair/updo/skin.webp rename to game/characters/hermione/poses/hand_on_breast/clothes/hair/updo/skin.webp diff --git a/game/characters/hermione/poses/masturbate/cum/body/heavy.webp b/game/characters/hermione/poses/hand_on_breast/cum/body/heavy/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/body/heavy.webp rename to game/characters/hermione/poses/hand_on_breast/cum/body/heavy/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/body/light.webp b/game/characters/hermione/poses/hand_on_breast/cum/body/light/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/body/light.webp rename to game/characters/hermione/poses/hand_on_breast/cum/body/light/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/breasts/heavy.webp b/game/characters/hermione/poses/hand_on_breast/cum/breasts/heavy/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/breasts/heavy.webp rename to game/characters/hermione/poses/hand_on_breast/cum/breasts/heavy/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/breasts/light.webp b/game/characters/hermione/poses/hand_on_breast/cum/breasts/light/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/breasts/light.webp rename to game/characters/hermione/poses/hand_on_breast/cum/breasts/light/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/crotch/heavy.webp b/game/characters/hermione/poses/hand_on_breast/cum/crotch/heavy/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/crotch/heavy.webp rename to game/characters/hermione/poses/hand_on_breast/cum/crotch/heavy/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/crotch/light.webp b/game/characters/hermione/poses/hand_on_breast/cum/crotch/light/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/crotch/light.webp rename to game/characters/hermione/poses/hand_on_breast/cum/crotch/light/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/face/heavy.webp b/game/characters/hermione/poses/hand_on_breast/cum/face/heavy/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/face/heavy.webp rename to game/characters/hermione/poses/hand_on_breast/cum/face/heavy/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/face/light.webp b/game/characters/hermione/poses/hand_on_breast/cum/face/light/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/face/light.webp rename to game/characters/hermione/poses/hand_on_breast/cum/face/light/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/hair/heavy.webp b/game/characters/hermione/poses/hand_on_breast/cum/hair/heavy/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/hair/heavy.webp rename to game/characters/hermione/poses/hand_on_breast/cum/hair/heavy/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/hair/light.webp b/game/characters/hermione/poses/hand_on_breast/cum/hair/light/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/hair/light.webp rename to game/characters/hermione/poses/hand_on_breast/cum/hair/light/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/legs/heavy.webp b/game/characters/hermione/poses/hand_on_breast/cum/legs/heavy/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/legs/heavy.webp rename to game/characters/hermione/poses/hand_on_breast/cum/legs/heavy/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/legs/light.webp b/game/characters/hermione/poses/hand_on_breast/cum/legs/light/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/legs/light.webp rename to game/characters/hermione/poses/hand_on_breast/cum/legs/light/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/pussy/heavy.webp b/game/characters/hermione/poses/hand_on_breast/cum/pussy/heavy/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/pussy/heavy.webp rename to game/characters/hermione/poses/hand_on_breast/cum/pussy/heavy/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/pussy/light.webp b/game/characters/hermione/poses/hand_on_breast/cum/pussy/light/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/pussy/light.webp rename to game/characters/hermione/poses/hand_on_breast/cum/pussy/light/cum.webp diff --git a/game/characters/luna/cum/pussy/squirt.webp b/game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt/cum.webp similarity index 100% rename from game/characters/luna/cum/pussy/squirt.webp rename to game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt/cum.webp diff --git a/game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt_post/cum.webp b/game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt_post/cum.webp new file mode 100644 index 00000000..d9b7b0ac --- /dev/null +++ b/game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt_post/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85fe63def395fccd32ff19d714b31266b264a7a615a60726e2eaa0b201af519f +size 3752 diff --git a/game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt_transition/cum.webp b/game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt_transition/cum.webp new file mode 100644 index 00000000..4ea8c575 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_breast/cum/pussy/squirt_transition/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca28891ecbe91538763884db6232d50853eff5e26213184bbe968af5c5557eed +size 5504 diff --git a/game/characters/luna/cum/pussy/wet.webp b/game/characters/hermione/poses/hand_on_breast/cum/pussy/wet/cum.webp similarity index 100% rename from game/characters/luna/cum/pussy/wet.webp rename to game/characters/hermione/poses/hand_on_breast/cum/pussy/wet/cum.webp diff --git a/game/characters/hermione/poses/hold_book/face/cheeks/blush.webp b/game/characters/hermione/poses/hand_on_breast/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/cheeks/blush.webp rename to game/characters/hermione/poses/hand_on_breast/face/cheeks/blush/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/angry.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/angry.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/angry/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/angry_skin.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/angry_skin.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/angry/skin.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/annoyed/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/annoyed.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/annoyed/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed_skin.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/annoyed/skin.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/annoyed_skin.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/annoyed/skin.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/base.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/base.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/base/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/base_skin.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/base_skin.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/base/skin.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/low.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/low/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/low.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/low/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/low_skin.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/low/skin.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/low_skin.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/low/skin.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/worried.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/worried.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/worried/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/worried_skin.webp b/game/characters/hermione/poses/hand_on_breast/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyebrows/worried_skin.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyebrows/worried/skin.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/base.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/base/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/base.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/base/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/base_mask.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/base_mask.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/base/eyemask.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/closed.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/closed.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/closed/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/happy.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/happy/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/happy.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/happy/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/happy_mask.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/happy/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/happy_mask.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/happy/eyemask.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/happyCl.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/happyCl.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/happyCl/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/narrow.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/narrow.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/narrow/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/narrow_mask.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/narrow_mask.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/narrow/eyemask.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/slit.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/slit/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/slit.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/slit/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/slit_mask.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/slit/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/slit_mask.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/slit/eyemask.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/squint.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/squint/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/squint.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/squint/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/squint_mask.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/squint/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/squint_mask.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/squint/eyemask.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wide.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/wide.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/wide/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wide_mask.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/wide_mask.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/wide/eyemask.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wink.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/wink.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/wink/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wink_mask.webp b/game/characters/hermione/poses/hand_on_breast/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/eyes/wink_mask.webp rename to game/characters/hermione/poses/hand_on_breast/face/eyes/wink/eyemask.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/angry.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/angry.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/angry/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/annoyed.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/annoyed.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/annoyed/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/base.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/base/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/base.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/base/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/clench.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/clench.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/clench/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/crooked_smile.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/crooked_smile.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/cum.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/cum/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/cum.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/cum/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/disgust.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/disgust.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/disgust/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/full.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/full/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/full.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/full/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/full_cum.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/full_cum/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/full_cum.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/full_cum/expression.webp diff --git a/game/characters/hermione/poses/hand_on_breast/face/mouth/full_panties/expression.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/full_panties/expression.webp new file mode 100644 index 00000000..644c946f --- /dev/null +++ b/game/characters/hermione/poses/hand_on_breast/face/mouth/full_panties/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1030f9bf812e226b8b536277a2baf861903adca8d3e86681dda70c777e32d7c2 +size 9450 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/grin.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/grin.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/grin/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/mad.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/mad.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/mad/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/normal.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/normal.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/normal/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/open/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/open.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/open/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open_tongue.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/open_tongue.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/open_tongue/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/open_wide_tongue/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/open_wide_tongue/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue_cum.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/open_wide_tongue_cum/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue_cum.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/open_wide_tongue_cum/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/scream.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/scream.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/scream/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/shock.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/shock/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/shock.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/shock/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/silly.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/silly.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/silly/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/smile.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/smile.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/smile/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/soft.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/mouth/upset.webp b/game/characters/hermione/poses/hand_on_breast/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/mouth/upset.webp rename to game/characters/hermione/poses/hand_on_breast/face/mouth/upset/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/L.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/L/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/L.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/L/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/L_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/L_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/L_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/L_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/R.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/R/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/R.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/R/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/R_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/R_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/R_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/R_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/ahegao.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/ahegao.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/ahegao/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/dead.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/dead/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/dead.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/dead/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/down.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/down/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/down.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/down/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/down_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/down_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/down_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/down_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/mid.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/mid.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/mid/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/mid_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/mid_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/mid_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/mid_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/shocked.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/shocked/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/shocked.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/shocked/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/squint.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/squint/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/squint.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/squint/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/squint_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/squint_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/squint_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/squint_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/stare.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/stare.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/stare/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/stare_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/stare_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/stare_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/stare_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/up.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/up/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/up.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/up/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/pupils/up_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/pupils/up_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/pupils/up_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/pupils/up_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/crying.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/crying/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/crying.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/crying/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/crying_blink.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/crying_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/crying_blink.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/crying_blink/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/mascara/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/mascara.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/mascara/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara_crying.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/mascara_crying/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/mascara_crying.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/mascara_crying/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara_soft.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/mascara_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/mascara_soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/mascara_soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara_soft_blink.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/mascara_soft_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/mascara_soft_blink.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/mascara_soft_blink/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/messy.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/messy/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/messy.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/messy/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/soft.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/soft.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/soft/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/soft_blink.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/soft_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/soft_blink.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/soft_blink/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/sweat.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/sweat/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/sweat.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/sweat/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_crying_side.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/tears_crying_side/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/tears_crying_side.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/tears_crying_side/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_down.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/tears_down/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/tears_down.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/tears_down/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_mascara_crying_blink.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/tears_mascara_crying_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/tears_mascara_crying_blink.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/tears_mascara_crying_blink/expression.webp diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_soft_sweat.webp b/game/characters/hermione/poses/hand_on_breast/face/tears/tears_soft_sweat/expression.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/face/tears/tears_soft_sweat.webp rename to game/characters/hermione/poses/hand_on_breast/face/tears/tears_soft_sweat/expression.webp diff --git a/game/characters/hermione/poses/hand_on_pussy/bodyparts/frame/default/skin.webp b/game/characters/hermione/poses/hand_on_pussy/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..805cb306 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b90006187bb875e2341e053ace48dc026c0e78266c0a22fefd5cb1b3549c65c +size 82440 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/0.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/0.webp new file mode 100644 index 00000000..6f3a865a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d83e4ca0d64a01f8194d32d878262c64d97828930d7240e16583324946be7c8c +size 16796 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/0_back.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/0_back.webp new file mode 100644 index 00000000..ddd401b9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4aeb9d8324febb8ebd93da5bf3f0c6b716454a0b987a1510c9dcda3ff8ae60a1 +size 37326 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/1.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/1.webp new file mode 100644 index 00000000..3a139666 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f550a9eabb9624596012659ac327e42364c78b23edc43f7db8c3fcfd673d049 +size 10896 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/1_back.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/1_back.webp new file mode 100644 index 00000000..952bbfd5 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/1_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24be0ba493bcb4df92dddaa12426f958648a771ec9b69819c2d72df9df03ed8a +size 8674 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/2.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/2.webp new file mode 100644 index 00000000..cd98a6fa --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69de13ac47ee400660d373ccfc79fb84e6059b5badebd62f9bec67f853c74a16 +size 1664 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/extra.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/extra.webp new file mode 100644 index 00000000..a02de2d2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdfa10edaa9fdab72c637d1feeafbbaa5836a75b7fea030b76a65712fd73cbd9 +size 688 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline.webp new file mode 100644 index 00000000..0127b9ed --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d044c8052879863c52c13023e52ca91ccf871cfb09b6c41115711c2c9284fde +size 17432 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline_back.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline_back.webp new file mode 100644 index 00000000..49658fdb --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6556513cecdc26ef499ef802deffad15343a9191a6a8979abe4ad92278c63d80 +size 31602 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/skin.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/skin.webp new file mode 100644 index 00000000..3e447895 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b963fa02cbb4ea3d14cb87430e25eca9de7d0b022a2e7355271e30fc805b2e21 +size 3368 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/0.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/0.webp new file mode 100644 index 00000000..0f6075f2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:307c64500d296b1f85ffdbd0e2b02bb5e4a29176e833f8b6a4a8213a10500791 +size 15356 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/1.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/1.webp new file mode 100644 index 00000000..c36b1703 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6357a12b110b35b85da71574217deb85563cb69363ee21fbd404e35606268472 +size 5330 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/outline.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/outline.webp new file mode 100644 index 00000000..6f4ae923 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:812746b46f6404ce74d93505f81a5f2ec9109866581b048ac2b95cae3fa2173f +size 19502 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/skin.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/skin.webp new file mode 100644 index 00000000..37ffd1e2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff711d9b89248366c04565bae005c1632c89ad8f165fe884b975cbb43e36d241 +size 6534 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0.webp new file mode 100644 index 00000000..5976264a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f993c9e6ec38601d6022469fa1eff176bd7a030ade8aaa3bc2851e335a201cf +size 18586 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0_front.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0_front.webp new file mode 100644 index 00000000..37a508e8 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aca9ee25d7d7120b18e1ff1f23aeb474bee49a86fa6c7228e5be89b031e64cb +size 2706 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1.webp new file mode 100644 index 00000000..097ef522 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb74c348eb3ef4452165641cdd96a4208000df09a86809b2032320ee1d9be3e5 +size 7686 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1_front.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1_front.webp new file mode 100644 index 00000000..f7fc798d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b58dfb1c55ab81883d5ad57eeff562238747475d27179f0effde8fc9b32328c3 +size 1870 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline.webp new file mode 100644 index 00000000..8a5cfa03 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89a3d23387f3397cd11694158f21ef7597f68c55af3f6918c10d8b7cce30b021 +size 18732 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline_front.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline_front.webp new file mode 100644 index 00000000..17a33dd9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e24c8ecccf18d00ff4a3d73f9ec2a8db6ed93b2f81f6260131f9578c2e958a7d +size 3192 diff --git a/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/skin.webp b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/skin.webp new file mode 100644 index 00000000..40d3b37e --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/clothes/hair/updo/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2be63edf5127554b369eebfbf058b5df6aad18cb510493a262ed927e210e1294 +size 5222 diff --git a/game/characters/luna/cum/body/heavy.webp b/game/characters/hermione/poses/hand_on_pussy/cum/body/heavy/cum.webp similarity index 100% rename from game/characters/luna/cum/body/heavy.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/body/heavy/cum.webp diff --git a/game/characters/luna/cum/body/light.webp b/game/characters/hermione/poses/hand_on_pussy/cum/body/light/cum.webp similarity index 100% rename from game/characters/luna/cum/body/light.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/body/light/cum.webp diff --git a/game/characters/luna/cum/breasts/heavy.webp b/game/characters/hermione/poses/hand_on_pussy/cum/breasts/heavy/cum.webp similarity index 100% rename from game/characters/luna/cum/breasts/heavy.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/breasts/heavy/cum.webp diff --git a/game/characters/luna/cum/breasts/light.webp b/game/characters/hermione/poses/hand_on_pussy/cum/breasts/light/cum.webp similarity index 100% rename from game/characters/luna/cum/breasts/light.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/breasts/light/cum.webp diff --git a/game/characters/luna/cum/crotch/heavy.webp b/game/characters/hermione/poses/hand_on_pussy/cum/crotch/heavy/cum.webp similarity index 100% rename from game/characters/luna/cum/crotch/heavy.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/crotch/heavy/cum.webp diff --git a/game/characters/luna/cum/crotch/light.webp b/game/characters/hermione/poses/hand_on_pussy/cum/crotch/light/cum.webp similarity index 100% rename from game/characters/luna/cum/crotch/light.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/crotch/light/cum.webp diff --git a/game/characters/luna/cum/face/heavy.webp b/game/characters/hermione/poses/hand_on_pussy/cum/face/heavy/cum.webp similarity index 100% rename from game/characters/luna/cum/face/heavy.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/face/heavy/cum.webp diff --git a/game/characters/luna/cum/face/light.webp b/game/characters/hermione/poses/hand_on_pussy/cum/face/light/cum.webp similarity index 100% rename from game/characters/luna/cum/face/light.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/face/light/cum.webp diff --git a/game/characters/luna/cum/hair/heavy.webp b/game/characters/hermione/poses/hand_on_pussy/cum/hair/heavy/cum.webp similarity index 100% rename from game/characters/luna/cum/hair/heavy.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/hair/heavy/cum.webp diff --git a/game/characters/luna/cum/hair/light.webp b/game/characters/hermione/poses/hand_on_pussy/cum/hair/light/cum.webp similarity index 100% rename from game/characters/luna/cum/hair/light.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/hair/light/cum.webp diff --git a/game/characters/luna/cum/legs/heavy.webp b/game/characters/hermione/poses/hand_on_pussy/cum/legs/heavy/cum.webp similarity index 100% rename from game/characters/luna/cum/legs/heavy.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/legs/heavy/cum.webp diff --git a/game/characters/luna/cum/legs/light.webp b/game/characters/hermione/poses/hand_on_pussy/cum/legs/light/cum.webp similarity index 100% rename from game/characters/luna/cum/legs/light.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/legs/light/cum.webp diff --git a/game/characters/luna/cum/pussy/heavy.webp b/game/characters/hermione/poses/hand_on_pussy/cum/pussy/heavy/cum.webp similarity index 100% rename from game/characters/luna/cum/pussy/heavy.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/pussy/heavy/cum.webp diff --git a/game/characters/luna/cum/pussy/light.webp b/game/characters/hermione/poses/hand_on_pussy/cum/pussy/light/cum.webp similarity index 100% rename from game/characters/luna/cum/pussy/light.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/pussy/light/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/pussy/squirt.webp b/game/characters/hermione/poses/hand_on_pussy/cum/pussy/squirt/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/pussy/squirt.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/pussy/squirt/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/pussy/squirt_post.webp b/game/characters/hermione/poses/hand_on_pussy/cum/pussy/squirt_post/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/pussy/squirt_post.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/pussy/squirt_post/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp b/game/characters/hermione/poses/hand_on_pussy/cum/pussy/squirt_transition/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/pussy/squirt_transition/cum.webp diff --git a/game/characters/hermione/poses/masturbate/cum/pussy/wet.webp b/game/characters/hermione/poses/hand_on_pussy/cum/pussy/wet/cum.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/cum/pussy/wet.webp rename to game/characters/hermione/poses/hand_on_pussy/cum/pussy/wet/cum.webp diff --git a/game/characters/hermione/poses/masturbate/face/cheeks/blush.webp b/game/characters/hermione/poses/hand_on_pussy/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/cheeks/blush.webp rename to game/characters/hermione/poses/hand_on_pussy/face/cheeks/blush/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/angry.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/angry.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/angry/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/angry_skin.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/angry_skin.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/angry/skin.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/annoyed.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/annoyed/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/annoyed.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/annoyed/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/annoyed_skin.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/annoyed/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/annoyed_skin.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/annoyed/skin.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/base.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/base.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/base/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/base_skin.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/base_skin.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/base/skin.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/low.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/low/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/low.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/low/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/low_skin.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/low/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/low_skin.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/low/skin.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/worried.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/worried.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/worried/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyebrows/worried_skin.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyebrows/worried_skin.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyebrows/worried/skin.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/base.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/base/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/base.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/base/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/base_mask.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/base_mask.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/base/eyemask.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/closed.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/closed.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/closed/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/happy.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/happy/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/happy.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/happy/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/happy_mask.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/happy/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/happy_mask.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/happy/eyemask.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/happyCl.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/happyCl.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/happyCl/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/narrow.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/narrow.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/narrow/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/narrow_mask.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/narrow_mask.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/narrow/eyemask.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/slit.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/slit/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/slit.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/slit/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/slit_mask.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/slit/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/slit_mask.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/slit/eyemask.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/squint.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/squint/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/squint.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/squint/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/squint_mask.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/squint/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/squint_mask.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/squint/eyemask.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/wide.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/wide.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/wide/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/wide_mask.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/wide_mask.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/wide/eyemask.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/wink.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/wink.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/wink/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/eyes/wink_mask.webp b/game/characters/hermione/poses/hand_on_pussy/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/eyes/wink_mask.webp rename to game/characters/hermione/poses/hand_on_pussy/face/eyes/wink/eyemask.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/angry.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/angry.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/angry/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/annoyed.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/annoyed.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/annoyed/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/base.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/base/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/base.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/base/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/clench.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/clench.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/clench/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/crooked_smile.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/crooked_smile.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/cum.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/cum/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/cum.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/cum/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/disgust.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/disgust.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/disgust/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/full.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/full/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/full.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/full/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/full_cum.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/full_cum/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/full_cum.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/full_cum/expression.webp diff --git a/game/characters/hermione/poses/hand_on_pussy/face/mouth/full_panties/expression.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/full_panties/expression.webp new file mode 100644 index 00000000..644c946f --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy/face/mouth/full_panties/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1030f9bf812e226b8b536277a2baf861903adca8d3e86681dda70c777e32d7c2 +size 9450 diff --git a/game/characters/hermione/poses/masturbate/face/mouth/grin.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/grin.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/grin/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/mad.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/mad.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/mad/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/normal.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/normal.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/normal/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/open.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/open/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/open.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/open/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/open_tongue.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/open_tongue.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/open_tongue/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/open_wide_tongue.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/open_wide_tongue/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/open_wide_tongue.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/open_wide_tongue/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/open_wide_tongue_cum.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/open_wide_tongue_cum/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/open_wide_tongue_cum.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/open_wide_tongue_cum/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/scream.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/scream.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/scream/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/shock.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/shock/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/shock.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/shock/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/silly.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/silly.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/silly/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/smile.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/smile.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/smile/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/mouth/upset.webp b/game/characters/hermione/poses/hand_on_pussy/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/mouth/upset.webp rename to game/characters/hermione/poses/hand_on_pussy/face/mouth/upset/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/L.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/L/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/L.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/L/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/L_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/L_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/L_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/L_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/R.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/R/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/R.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/R/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/R_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/R_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/R_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/R_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/ahegao.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/ahegao.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/ahegao/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/dead.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/dead/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/dead.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/dead/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/down.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/down/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/down.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/down/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/down_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/down_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/down_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/down_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/mid.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/mid.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/mid/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/mid_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/mid_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/mid_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/mid_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/shocked.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/shocked/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/shocked.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/shocked/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/squint.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/squint/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/squint.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/squint/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/squint_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/squint_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/squint_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/squint_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/stare.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/stare.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/stare/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/stare_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/stare_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/stare_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/stare_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/up.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/up/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/up.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/up/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/pupils/up_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/pupils/up_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/pupils/up_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/pupils/up_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/crying.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/crying/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/crying.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/crying/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/crying_blink.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/crying_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/crying_blink.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/crying_blink/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/mascara.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/mascara/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/mascara.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/mascara/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/mascara_crying.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/mascara_crying/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/mascara_crying.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/mascara_crying/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/mascara_soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/mascara_soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/mascara_soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/mascara_soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/mascara_soft_blink.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/mascara_soft_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/mascara_soft_blink.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/mascara_soft_blink/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/messy.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/messy/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/messy.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/messy/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/soft.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/soft/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/soft.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/soft/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/soft_blink.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/soft_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/soft_blink.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/soft_blink/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/sweat.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/sweat/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/sweat.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/sweat/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/tears_crying_side.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/tears_crying_side/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/tears_crying_side.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/tears_crying_side/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/tears_down.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/tears_down/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/tears_down.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/tears_down/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/tears_mascara_crying_blink.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/tears_mascara_crying_blink/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/tears_mascara_crying_blink.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/tears_mascara_crying_blink/expression.webp diff --git a/game/characters/hermione/poses/masturbate/face/tears/tears_soft_sweat.webp b/game/characters/hermione/poses/hand_on_pussy/face/tears/tears_soft_sweat/expression.webp similarity index 100% rename from game/characters/hermione/poses/masturbate/face/tears/tears_soft_sweat.webp rename to game/characters/hermione/poses/hand_on_pussy/face/tears/tears_soft_sweat/expression.webp diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/bodyparts/frame/default/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..2f2b3ba2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dfbec3d6dc5f4dc0132d74e772734739c1f56170b23a15c1c898658261a4edd +size 75854 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0.webp new file mode 100644 index 00000000..6f3a865a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d83e4ca0d64a01f8194d32d878262c64d97828930d7240e16583324946be7c8c +size 16796 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0_back.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0_back.webp new file mode 100644 index 00000000..ddd401b9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4aeb9d8324febb8ebd93da5bf3f0c6b716454a0b987a1510c9dcda3ff8ae60a1 +size 37326 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1.webp new file mode 100644 index 00000000..3a139666 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f550a9eabb9624596012659ac327e42364c78b23edc43f7db8c3fcfd673d049 +size 10896 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1_back.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1_back.webp new file mode 100644 index 00000000..952bbfd5 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24be0ba493bcb4df92dddaa12426f958648a771ec9b69819c2d72df9df03ed8a +size 8674 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/2.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/2.webp new file mode 100644 index 00000000..cd98a6fa --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69de13ac47ee400660d373ccfc79fb84e6059b5badebd62f9bec67f853c74a16 +size 1664 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/extra.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/extra.webp new file mode 100644 index 00000000..a02de2d2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bdfa10edaa9fdab72c637d1feeafbbaa5836a75b7fea030b76a65712fd73cbd9 +size 688 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline.webp new file mode 100644 index 00000000..0127b9ed --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d044c8052879863c52c13023e52ca91ccf871cfb09b6c41115711c2c9284fde +size 17432 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline_back.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline_back.webp new file mode 100644 index 00000000..49658fdb --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6556513cecdc26ef499ef802deffad15343a9191a6a8979abe4ad92278c63d80 +size 31602 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/skin.webp new file mode 100644 index 00000000..3e447895 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b963fa02cbb4ea3d14cb87430e25eca9de7d0b022a2e7355271e30fc805b2e21 +size 3368 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/0.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/0.webp new file mode 100644 index 00000000..0f6075f2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:307c64500d296b1f85ffdbd0e2b02bb5e4a29176e833f8b6a4a8213a10500791 +size 15356 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/1.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/1.webp new file mode 100644 index 00000000..c36b1703 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6357a12b110b35b85da71574217deb85563cb69363ee21fbd404e35606268472 +size 5330 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/outline.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/outline.webp new file mode 100644 index 00000000..6f4ae923 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:812746b46f6404ce74d93505f81a5f2ec9109866581b048ac2b95cae3fa2173f +size 19502 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/skin.webp new file mode 100644 index 00000000..37ffd1e2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff711d9b89248366c04565bae005c1632c89ad8f165fe884b975cbb43e36d241 +size 6534 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0.webp new file mode 100644 index 00000000..5976264a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f993c9e6ec38601d6022469fa1eff176bd7a030ade8aaa3bc2851e335a201cf +size 18586 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0_front.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0_front.webp new file mode 100644 index 00000000..37a508e8 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aca9ee25d7d7120b18e1ff1f23aeb474bee49a86fa6c7228e5be89b031e64cb +size 2706 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1.webp new file mode 100644 index 00000000..097ef522 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb74c348eb3ef4452165641cdd96a4208000df09a86809b2032320ee1d9be3e5 +size 7686 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1_front.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1_front.webp new file mode 100644 index 00000000..f7fc798d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b58dfb1c55ab81883d5ad57eeff562238747475d27179f0effde8fc9b32328c3 +size 1870 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline.webp new file mode 100644 index 00000000..8a5cfa03 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89a3d23387f3397cd11694158f21ef7597f68c55af3f6918c10d8b7cce30b021 +size 18732 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline_front.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline_front.webp new file mode 100644 index 00000000..17a33dd9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e24c8ecccf18d00ff4a3d73f9ec2a8db6ed93b2f81f6260131f9578c2e958a7d +size 3192 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/skin.webp new file mode 100644 index 00000000..40d3b37e --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2be63edf5127554b369eebfbf058b5df6aad18cb510493a262ed927e210e1294 +size 5222 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/body/heavy/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/body/heavy/cum.webp new file mode 100644 index 00000000..38dc3be8 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/body/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fe2c5e1440f7b08040ea6979ea0720a83360c5ec5f6900290712b09eabf2c60 +size 22000 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/body/light/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/body/light/cum.webp new file mode 100644 index 00000000..f6692983 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/body/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5286500f8bb67683da045a1b3fe6027b61124c9fb61ccea5190fcb6c1a26d088 +size 8406 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/heavy/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/heavy/cum.webp new file mode 100644 index 00000000..1778c73a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49c967935ca5ab21cb305c95fa2117fe8ae7830adb20ea0b2748da2bf98e45eb +size 21588 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/light/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/light/cum.webp new file mode 100644 index 00000000..326187b0 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85391f869b20384524ad9a15a9536b420d53fe99fdfd47a57c09832d99218b9f +size 7340 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/heavy/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/heavy/cum.webp new file mode 100644 index 00000000..abf99a15 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afe9743c1281c55279bd027ac045a8427ed6ffc345d4402079e55085b30bd409 +size 19230 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/light/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/light/cum.webp new file mode 100644 index 00000000..807433ba --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:604ec73a39f41c72c8a1cf84aed37c9f8454adf85e496c3a8a5ac7aaba9903ec +size 7198 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/face/heavy/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/face/heavy/cum.webp new file mode 100644 index 00000000..008e5b41 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/face/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c60507756048a91c1c68492714ccd63db147a577b9597af817f59a06e49575dc +size 10552 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/face/light/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/face/light/cum.webp new file mode 100644 index 00000000..dd8c8623 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/face/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baa1b5134b28f37276d0c36825bb7f0d489bcef523cbe9c36077f4f04d67e86b +size 3512 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/heavy/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/heavy/cum.webp new file mode 100644 index 00000000..841e6feb --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d58546a21789f5a3c53858f5fdb46c5dcbf775ee87add5ed8515de02b58cbd9 +size 19014 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/light/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/light/cum.webp new file mode 100644 index 00000000..e565946b --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb500bb37573ed0b5c256970560413fe83ae1dfbe538ba4358d848acf5df761e +size 7476 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/heavy/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/heavy/cum.webp new file mode 100644 index 00000000..bd24376c --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49382ba4d017b50294b84908e2eb7433384011ee094e2b6caece28416498cf94 +size 18182 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/light/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/light/cum.webp new file mode 100644 index 00000000..15ac1f26 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb1519b6786ff010fa3ed8741c197ff5d4c37737614ddaa732feaff32a4ad56 +size 6054 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/heavy/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/heavy/cum.webp new file mode 100644 index 00000000..bf24f975 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c36a00d597a6e08cf8eeef5146851332e48904e52c08d9f287f0e78b0a83786f +size 4634 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/light/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/light/cum.webp new file mode 100644 index 00000000..c6d809cc --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fbd4cb276916dd023e771b8087984af0f06792d9c06a8bb8c014c54fba66d82 +size 2096 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt/cum.webp new file mode 100644 index 00000000..51f58906 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bc1f264bc3fece6c095e77dfc18671b06f3c1fe3dc6021e9178d4b60f9f66b4 +size 3734 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_post/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_post/cum.webp new file mode 100644 index 00000000..198ddf3b --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_post/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c58282e0ed1ab33a1621cbfc992d2c0f8b3ee683daf6c7f0d6115af87e04652e +size 3140 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_transition/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_transition/cum.webp new file mode 100644 index 00000000..b8c9f62b --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_transition/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e09b5dc087a6867a4109368496f184a4de58583d4863967a9b084d20edb299cd +size 4906 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/wet/cum.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/wet/cum.webp new file mode 100644 index 00000000..b719f0d1 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/wet/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6734389581e87db205eb8fdadfa0749310b102b9f48f8326d891f7093c7c6c99 +size 840 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/cheeks/blush/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/cheeks/blush/expression.webp new file mode 100644 index 00000000..fe1b322d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/cheeks/blush/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c09efc169b82c2965ddba9e0e74be9dc84f7b4b91133c944c714046c62431473 +size 3350 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/expression.webp new file mode 100644 index 00000000..e02f5f99 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21d3cabcf523271992fa7a6163cfd1260aef2bcca1764adfbb9e41b099afcb3c +size 2174 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/skin.webp new file mode 100644 index 00000000..6cca71bb --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e5bbab94f721c485745b8850512f7513efb4c149b8e9413df1351adc914bca4 +size 1518 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/expression.webp new file mode 100644 index 00000000..9cfe53a7 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27d078d079cb19e6f471d0e38b289917a5396529f15c3162257187f080196783 +size 2046 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/skin.webp new file mode 100644 index 00000000..6cca71bb --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e5bbab94f721c485745b8850512f7513efb4c149b8e9413df1351adc914bca4 +size 1518 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/expression.webp new file mode 100644 index 00000000..4b191d96 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c96c699da06281486dfc439f3cc358f82187b220096c86c342660ef732aa87 +size 2082 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/skin.webp new file mode 100644 index 00000000..773c8ad2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bd0af7bee8fdd2762a9fa2296a0f524201fea5df9c87ba85a02aa3eb61ba10c +size 1702 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/expression.webp new file mode 100644 index 00000000..90ee12f3 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7ed81c5dbb56089e9d943838e5e4bc33ffd66e22aaabae3730176371bc3673 +size 2164 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/skin.webp new file mode 100644 index 00000000..b83cf58c --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5a64586bf0d546174c90eb22d9d8d08f38bb19ab266359665aa9ec201542a82 +size 1664 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/expression.webp new file mode 100644 index 00000000..b5801cd7 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dbe3693dc173ab088af8da9875f8de3a080368ebce6f3d04a1e8a2d215eafa0 +size 1892 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/skin.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/skin.webp new file mode 100644 index 00000000..2d06e5fd --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99a2f60903efa4ce8e5fdee3d2b872b7f76a6f323eb968e7e61a5625cce4a986 +size 1578 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/expression.webp new file mode 100644 index 00000000..9cb0243e --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63b9592a67b16a85aacaaa8d6a8117c26389cdda8f23592ae3d21acc1c9263c4 +size 2392 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/eyemask.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/eyemask.webp new file mode 100644 index 00000000..67235ae6 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9672a2b53e10bbc8fdf23740a37c8181e695b101d0a6909b9516ea4db445ae65 +size 890 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/closed/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/closed/expression.webp new file mode 100644 index 00000000..7006cdf6 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/closed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e89d621467b60a6efd586975a2dfe08d59ce821e2c374b910bf9218364456d24 +size 4172 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/expression.webp new file mode 100644 index 00000000..121c27e5 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c925a53a8e73b38a98a65d773d9feb3e11ce463a0d4df494aec7c95b128c513 +size 2558 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/eyemask.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/eyemask.webp new file mode 100644 index 00000000..e5d19826 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:126c79fa9701f6f06b4c15b893b59f8cc7d8fe0d10afef9e776db17e896949ee +size 984 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happyCl/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happyCl/expression.webp new file mode 100644 index 00000000..f744494c --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happyCl/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75deb68bd7d12d36643d8a453815b451fcb7c0750fc31be3333f3e197bc530c +size 2736 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/expression.webp new file mode 100644 index 00000000..2d9f9be2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2c0c8de824ebbe362f481d8c353be7b943fdf57038ac068463f3aea60810b13 +size 3280 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/eyemask.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/eyemask.webp new file mode 100644 index 00000000..872a86d2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfe027a72050dc1488510959b384fc6e03d3b7e45994b1a73abeaa9307114195 +size 840 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/expression.webp new file mode 100644 index 00000000..5093c0cd --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cac7be10c57324a5c673cf9afdbc099bb013cf08a1aabfb9273e1292507e740f +size 2248 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/eyemask.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/eyemask.webp new file mode 100644 index 00000000..fe4924f3 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e487181b57e86966c3b7be68b1577b34547f06e60c84efc80ec22e25d31779d +size 734 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/expression.webp new file mode 100644 index 00000000..54a29520 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0443289dbe510c4d0ecc14dcb6fc5ffc4c10bfd11aac3ba754309389da9beb4 +size 2592 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/eyemask.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/eyemask.webp new file mode 100644 index 00000000..887be780 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38f0a8876eb84f4c5ad39525e343adffecfb4c85377a69b2cd1846f991892143 +size 906 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/expression.webp new file mode 100644 index 00000000..cc5065e4 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d2a36ab5646c8178ba932b0b5db99f7d9dca189601b5eb9d8984e1ba4d378e4 +size 2828 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/eyemask.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/eyemask.webp new file mode 100644 index 00000000..05407db2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d631a1f75e0c37d4656aba672ec600920c86a6ddb8c7f0767e2212bfb0df1c7 +size 1144 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/expression.webp new file mode 100644 index 00000000..d054fc17 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf6b34a577e7c608962dfa8243e3517203de3252ec3d8fce8a20de8c765c1784 +size 2502 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/eyemask.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/eyemask.webp new file mode 100644 index 00000000..bd73f416 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b99cca3b8529be1b98c6c6ecace542834b41060c3fc091f6379c26dea1be6ae0 +size 702 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/angry/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/angry/expression.webp new file mode 100644 index 00000000..ea115d4d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/angry/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ba2f1e362996335a25c929b64d3d231db4e5468022256f23ab7d76781a93b34 +size 3286 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/annoyed/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/annoyed/expression.webp new file mode 100644 index 00000000..3c6373d1 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/annoyed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47fd69deee1a2dbd7f3daee18aaf8706d0739c8d58a91f51270880dcd0f5e548 +size 1556 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/base/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/base/expression.webp new file mode 100644 index 00000000..1b399c04 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62711dfb10ba5c9995b51e54b1c0da7e57b81900743f61748faf86209fff552a +size 1644 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/clench/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/clench/expression.webp new file mode 100644 index 00000000..3e2f5505 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/clench/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dfc7a871028f85358a51a98a52e130e133c79c0c584924e1a0cfc1d28f3af0b +size 2930 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/crooked_smile/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/crooked_smile/expression.webp new file mode 100644 index 00000000..720526b9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/crooked_smile/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc22a8aa6d77438fb9bd2e4f918cb2329cec9f0e598ecc76723baa47a58ad308 +size 3216 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/cum/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/cum/expression.webp new file mode 100644 index 00000000..9287ddcf --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/cum/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d2f6029df53972bc59b49615793a509dc4b205b1f8070793987da305f84d2d +size 1756 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/disgust/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/disgust/expression.webp new file mode 100644 index 00000000..99d4ed66 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/disgust/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f92691b2864a237e69e75433d33b93a76370cd300540e911531df253fcf466f +size 2268 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full/expression.webp new file mode 100644 index 00000000..b3e2e354 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c1984c8fcfeb0361ee010ddc73476506c530fbb6ef49022596cd2d355ceace +size 8976 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_cum/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_cum/expression.webp new file mode 100644 index 00000000..19bf918e --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_cum/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c93c4e199e6a32d9c6a4b2d87b306fa34c3079fc5a77dfa013482ce1d9c15b7 +size 10326 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_panties/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_panties/expression.webp new file mode 100644 index 00000000..644c946f --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_panties/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1030f9bf812e226b8b536277a2baf861903adca8d3e86681dda70c777e32d7c2 +size 9450 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/grin/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/grin/expression.webp new file mode 100644 index 00000000..c9ebaa32 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/grin/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d17cd11fddcb128b18177fa2eb95ba6240a26bd9f8485d2e72b76e3edaa5412 +size 3292 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/mad/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/mad/expression.webp new file mode 100644 index 00000000..bd251ece --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/mad/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3dba34e986ed0d2a4778f0c8f2084f46798a460382d46943bc1ce56c9597c50 +size 2350 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/normal/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/normal/expression.webp new file mode 100644 index 00000000..f6c50778 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/normal/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:251662ba9ac9203bbf5972c86a5c6c9615fef9f30d774f7f37c66fae7a0c8f06 +size 1458 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open/expression.webp new file mode 100644 index 00000000..066b5707 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:795aa28c614997cd901487f19ebc3cb9ad462bfc79d5d75b3a216b79d6a9a0aa +size 2344 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_tongue/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_tongue/expression.webp new file mode 100644 index 00000000..f8d7fbef --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_tongue/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb7cdff1a02e9031bb054fc4baecd58e80fbb578b68ce49f73dead4edbefbb7 +size 2310 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue/expression.webp new file mode 100644 index 00000000..661261e4 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53e235f81e23a10f0eecf347bb3e1a6d6df2a36826130d028a794cc8cce0c084 +size 6122 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue_cum/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue_cum/expression.webp new file mode 100644 index 00000000..68b67d54 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue_cum/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:842cdaed8c60a2bb3cc0bfead4fe36cd131100a4250d44be464cafa1cdd35ba6 +size 6938 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/scream/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/scream/expression.webp new file mode 100644 index 00000000..671fede7 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/scream/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7baa90e90d5fad7803836189084ba60f5c09d1c319aa2ac28a4741f05425c934 +size 6210 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/shock/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/shock/expression.webp new file mode 100644 index 00000000..83e4fd5a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/shock/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c820c0412e07a6df13d6381d834f520635338c1023242951660a56fe3d22ba93 +size 2782 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/silly/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/silly/expression.webp new file mode 100644 index 00000000..6ee9dcb3 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/silly/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1846fd4070cfda1203434a8312aa64ae3e95f7a134f3dbd3087dc66c70837c78 +size 3298 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/smile/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/smile/expression.webp new file mode 100644 index 00000000..11de0078 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/smile/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cd795aa71a45e71f69511ab343cf7e274d3060af14b5dcf9e6080aec709a84d +size 3598 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/soft/expression.webp new file mode 100644 index 00000000..732f364d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:871b71a57ff12e211318dbe22a65d7bec77f804d7efd0fdd9dedcf632946458c +size 2310 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/upset/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/upset/expression.webp new file mode 100644 index 00000000..5072f7c1 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/upset/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3aebaa6aca1ab2e2d21d483877ec39598b15c6eab1f61827261c1f9e559462f5 +size 1560 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L/expression.webp new file mode 100644 index 00000000..c8be1dd6 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa76bfb8481861c0223ede0ca0fccf8e22fc77eefdeb096c1bd37785aa808448 +size 1570 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L_soft/expression.webp new file mode 100644 index 00000000..0a6de4d5 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bf58ce89969340e1a3ac20c41e8d293e2b2a9b64b9fa050a13eeaf79057eaec +size 1704 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R/expression.webp new file mode 100644 index 00000000..56f4599b --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63c1f07dc4a87eeb00cb4db203ed619319fccbf655e1a9952601f3a15a0c773a +size 1560 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R_soft/expression.webp new file mode 100644 index 00000000..5990b4a4 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f40c24c85398c4e83b7a944a8714146d478b7b62e17126585cf26b9049d475b8 +size 1624 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/ahegao/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/ahegao/expression.webp new file mode 100644 index 00000000..01c69f07 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/ahegao/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f468d54dbaa96951499c8ef2a068b0afd8331d41c0f0b26d192da072d300319 +size 1470 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/dead/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/dead/expression.webp new file mode 100644 index 00000000..0ad15362 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/dead/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e83ae490a7816db3910e2540f68997b708557d2108663d908ce50458653fb63 +size 1754 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down/expression.webp new file mode 100644 index 00000000..e3d78b19 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5047c97e28408ff3f97888116d1aa4b9c96e20c5ddba465da9dc5807e5ecab12 +size 1560 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down_soft/expression.webp new file mode 100644 index 00000000..1eecd91c --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbacb76a0623a9f0df3aebcdbc7557334ff035159f64e8da2a0e65524189aa27 +size 1690 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid/expression.webp new file mode 100644 index 00000000..10394021 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdf9154530d6715e26666850b3df2186f30efee5c0d885b81c4f51c3e069396f +size 1482 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid_soft/expression.webp new file mode 100644 index 00000000..dd47d3b9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcecfef40556072b1e246ad89951052c39e2672808effe98f1bcfb51e9b482ab +size 1632 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/shocked/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/shocked/expression.webp new file mode 100644 index 00000000..f4333992 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/shocked/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76082d4d901a22f69dd256ae5b6b7c1d0ba3152a92edccd426d37c6a1652c4fb +size 1796 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint/expression.webp new file mode 100644 index 00000000..3368a560 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a72edb9f4762f25d8036291e35431b272eb2434fbc6489d214259f786ace41c6 +size 1456 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint_soft/expression.webp new file mode 100644 index 00000000..2c39fad1 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37db0eb8ef1574036676a93314ab0a9f61b8db6b3a3f6bf58ee41a4599933930 +size 1718 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare/expression.webp new file mode 100644 index 00000000..fe72cbd9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dff42f59f737a7042653055aa68a8a2da4ac2cc1a6101ed0de6edd7ec984c3b7 +size 1552 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare_soft/expression.webp new file mode 100644 index 00000000..7c938ce9 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0608d5bb7b8ab254a38fac405b0865f5f470b2e64305a1ccfdc65d215a573a7 +size 1590 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up/expression.webp new file mode 100644 index 00000000..4456f787 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca601323929fce1a4fbd97255ed6cb8151752f92765d40fccad17f573465bb6b +size 1604 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up_soft/expression.webp new file mode 100644 index 00000000..cd045865 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ecc2f0e26c206eb8adfff1046039f0c38c13d07dc056572d27f20534a44eb45 +size 1656 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying/expression.webp new file mode 100644 index 00000000..7b1b060f --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b647117cbcc1fafd02000ac1b25bba83807cc0ec4695ee9131e9b8b6ff48ba9 +size 7748 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying_blink/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying_blink/expression.webp new file mode 100644 index 00000000..d0377573 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7db47d43aff5e70df32ba4bd25697de1998ab7494f465c9573602fafae79c4c6 +size 3974 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara/expression.webp new file mode 100644 index 00000000..86c77d8c --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d17e335038b239f1916a108a34800fb8f633cf57887ca366ef62c5ce24a77d4 +size 8790 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_crying/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_crying/expression.webp new file mode 100644 index 00000000..8d8292a3 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_crying/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3966490e1f3a62d0bd98437d915675d469eaf85ac3520e01a1b4520788d0cab +size 7688 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft/expression.webp new file mode 100644 index 00000000..a8615cf4 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:395bf14e82ae06dea7169b3522aefe0f7d984720c835714ea7f269081f7f6129 +size 9552 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft_blink/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft_blink/expression.webp new file mode 100644 index 00000000..69567c7d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6eb4cb10fd98947c34a12dc3be6bd7f98b3cf2b665ff719e52ec6bff62b9e75 +size 9752 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/messy/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/messy/expression.webp new file mode 100644 index 00000000..53b13cd4 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/messy/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06050bc55d5824a1a506d0dfd454f17e1ed28c3da5acffb364892ce2fddac68d +size 9034 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft/expression.webp new file mode 100644 index 00000000..5d27fd48 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6a9d585f5f04a291e6764a810bbbe7522126fadfdb879cfebbc80c1c06af8db +size 1248 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft_blink/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft_blink/expression.webp new file mode 100644 index 00000000..a8347724 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44b52b17482de89a8cc7906bc20a821be0180023873bd3c862ec8ea67593ed0f +size 1336 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/sweat/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/sweat/expression.webp new file mode 100644 index 00000000..cc72f545 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/sweat/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf708752e6bb06786dc010279f269726cff3985486ec38c87558ba9ce435170a +size 2062 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_crying_side/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_crying_side/expression.webp new file mode 100644 index 00000000..1a3c276a --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_crying_side/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fabc823d7bc037e7251e90196389f782be45f134fd7f5c72d79e6139012c5129 +size 3494 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_down/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_down/expression.webp new file mode 100644 index 00000000..a408677d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_down/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf24ba865d21065dfb46581d2e1d99b7508738371e689d01a042aae03bd15172 +size 7688 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_mascara_crying_blink/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_mascara_crying_blink/expression.webp new file mode 100644 index 00000000..dc02a65d --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_mascara_crying_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf35cefe49dd202741397b25dec4523ee14a7b3951418bd1057e156cfc3a4966 +size 8256 diff --git a/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_soft_sweat/expression.webp b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_soft_sweat/expression.webp new file mode 100644 index 00000000..0ecaf1b2 --- /dev/null +++ b/game/characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_soft_sweat/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2eb13788a005239f95e2fa795b98a3b009352d24282158316b68f255a597169 +size 3068 diff --git a/game/characters/hermione/poses/hold_book/body/armleft/down.webp b/game/characters/hermione/poses/hold_book/body/armleft/down.webp deleted file mode 100644 index 4845b4e5..00000000 --- a/game/characters/hermione/poses/hold_book/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:949d2c3f40b4631abd22a170a9492ed699338013b1cc1f6249021bc298fe18bf -size 3238 diff --git a/game/characters/hermione/poses/hold_book/body/armright/down.webp b/game/characters/hermione/poses/hold_book/body/armright/down.webp deleted file mode 100644 index 40a670dc..00000000 --- a/game/characters/hermione/poses/hold_book/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57038791f9fce36c0b8b6d0594ef9562181e9ff64098f4dddb83031e198a638e -size 890 diff --git a/game/characters/hermione/poses/hold_book/body/breasts/normal.webp b/game/characters/hermione/poses/hold_book/body/breasts/normal.webp deleted file mode 100644 index 40a670dc..00000000 --- a/game/characters/hermione/poses/hold_book/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57038791f9fce36c0b8b6d0594ef9562181e9ff64098f4dddb83031e198a638e -size 890 diff --git a/game/characters/hermione/poses/hold_book/body/base/front.webp b/game/characters/hermione/poses/hold_book/bodyparts/frame/default/skin.webp similarity index 100% rename from game/characters/hermione/poses/hold_book/body/base/front.webp rename to game/characters/hermione/poses/hold_book/bodyparts/frame/default/skin.webp diff --git a/game/characters/hermione/poses/hold_book/face/cheeks/blush/expression.webp b/game/characters/hermione/poses/hold_book/face/cheeks/blush/expression.webp new file mode 100644 index 00000000..fe1b322d --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/cheeks/blush/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c09efc169b82c2965ddba9e0e74be9dc84f7b4b91133c944c714046c62431473 +size 3350 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/angry/expression.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/angry/expression.webp new file mode 100644 index 00000000..e02f5f99 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/angry/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21d3cabcf523271992fa7a6163cfd1260aef2bcca1764adfbb9e41b099afcb3c +size 2174 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/angry/skin.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/angry/skin.webp new file mode 100644 index 00000000..6cca71bb --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/angry/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e5bbab94f721c485745b8850512f7513efb4c149b8e9413df1351adc914bca4 +size 1518 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed/expression.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed/expression.webp new file mode 100644 index 00000000..9cfe53a7 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27d078d079cb19e6f471d0e38b289917a5396529f15c3162257187f080196783 +size 2046 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed/skin.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed/skin.webp new file mode 100644 index 00000000..6cca71bb --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/annoyed/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e5bbab94f721c485745b8850512f7513efb4c149b8e9413df1351adc914bca4 +size 1518 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/base/expression.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/base/expression.webp new file mode 100644 index 00000000..4b191d96 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4c96c699da06281486dfc439f3cc358f82187b220096c86c342660ef732aa87 +size 2082 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/base/skin.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/base/skin.webp new file mode 100644 index 00000000..773c8ad2 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bd0af7bee8fdd2762a9fa2296a0f524201fea5df9c87ba85a02aa3eb61ba10c +size 1702 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/low/expression.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/low/expression.webp new file mode 100644 index 00000000..90ee12f3 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/low/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7ed81c5dbb56089e9d943838e5e4bc33ffd66e22aaabae3730176371bc3673 +size 2164 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/low/skin.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/low/skin.webp new file mode 100644 index 00000000..b83cf58c --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/low/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5a64586bf0d546174c90eb22d9d8d08f38bb19ab266359665aa9ec201542a82 +size 1664 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/worried/expression.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/worried/expression.webp new file mode 100644 index 00000000..b5801cd7 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/worried/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dbe3693dc173ab088af8da9875f8de3a080368ebce6f3d04a1e8a2d215eafa0 +size 1892 diff --git a/game/characters/hermione/poses/hold_book/face/eyebrows/worried/skin.webp b/game/characters/hermione/poses/hold_book/face/eyebrows/worried/skin.webp new file mode 100644 index 00000000..2d06e5fd --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyebrows/worried/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99a2f60903efa4ce8e5fdee3d2b872b7f76a6f323eb968e7e61a5625cce4a986 +size 1578 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/base/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/base/expression.webp new file mode 100644 index 00000000..9cb0243e --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63b9592a67b16a85aacaaa8d6a8117c26389cdda8f23592ae3d21acc1c9263c4 +size 2392 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/base/eyemask.webp b/game/characters/hermione/poses/hold_book/face/eyes/base/eyemask.webp new file mode 100644 index 00000000..67235ae6 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/base/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9672a2b53e10bbc8fdf23740a37c8181e695b101d0a6909b9516ea4db445ae65 +size 890 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/closed/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/closed/expression.webp new file mode 100644 index 00000000..7006cdf6 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/closed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e89d621467b60a6efd586975a2dfe08d59ce821e2c374b910bf9218364456d24 +size 4172 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/happy/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/happy/expression.webp new file mode 100644 index 00000000..121c27e5 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/happy/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c925a53a8e73b38a98a65d773d9feb3e11ce463a0d4df494aec7c95b128c513 +size 2558 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/happy/eyemask.webp b/game/characters/hermione/poses/hold_book/face/eyes/happy/eyemask.webp new file mode 100644 index 00000000..e5d19826 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/happy/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:126c79fa9701f6f06b4c15b893b59f8cc7d8fe0d10afef9e776db17e896949ee +size 984 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/happyCl/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/happyCl/expression.webp new file mode 100644 index 00000000..f744494c --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/happyCl/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75deb68bd7d12d36643d8a453815b451fcb7c0750fc31be3333f3e197bc530c +size 2736 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/narrow/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/narrow/expression.webp new file mode 100644 index 00000000..2d9f9be2 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/narrow/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2c0c8de824ebbe362f481d8c353be7b943fdf57038ac068463f3aea60810b13 +size 3280 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/narrow/eyemask.webp b/game/characters/hermione/poses/hold_book/face/eyes/narrow/eyemask.webp new file mode 100644 index 00000000..872a86d2 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/narrow/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfe027a72050dc1488510959b384fc6e03d3b7e45994b1a73abeaa9307114195 +size 840 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/slit/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/slit/expression.webp new file mode 100644 index 00000000..5093c0cd --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/slit/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cac7be10c57324a5c673cf9afdbc099bb013cf08a1aabfb9273e1292507e740f +size 2248 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/slit/eyemask.webp b/game/characters/hermione/poses/hold_book/face/eyes/slit/eyemask.webp new file mode 100644 index 00000000..fe4924f3 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/slit/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e487181b57e86966c3b7be68b1577b34547f06e60c84efc80ec22e25d31779d +size 734 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/squint/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/squint/expression.webp new file mode 100644 index 00000000..54a29520 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/squint/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0443289dbe510c4d0ecc14dcb6fc5ffc4c10bfd11aac3ba754309389da9beb4 +size 2592 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/squint/eyemask.webp b/game/characters/hermione/poses/hold_book/face/eyes/squint/eyemask.webp new file mode 100644 index 00000000..887be780 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/squint/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38f0a8876eb84f4c5ad39525e343adffecfb4c85377a69b2cd1846f991892143 +size 906 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wide/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/wide/expression.webp new file mode 100644 index 00000000..cc5065e4 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/wide/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d2a36ab5646c8178ba932b0b5db99f7d9dca189601b5eb9d8984e1ba4d378e4 +size 2828 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wide/eyemask.webp b/game/characters/hermione/poses/hold_book/face/eyes/wide/eyemask.webp new file mode 100644 index 00000000..05407db2 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/wide/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d631a1f75e0c37d4656aba672ec600920c86a6ddb8c7f0767e2212bfb0df1c7 +size 1144 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wink/expression.webp b/game/characters/hermione/poses/hold_book/face/eyes/wink/expression.webp new file mode 100644 index 00000000..d054fc17 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/wink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf6b34a577e7c608962dfa8243e3517203de3252ec3d8fce8a20de8c765c1784 +size 2502 diff --git a/game/characters/hermione/poses/hold_book/face/eyes/wink/eyemask.webp b/game/characters/hermione/poses/hold_book/face/eyes/wink/eyemask.webp new file mode 100644 index 00000000..bd73f416 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/eyes/wink/eyemask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b99cca3b8529be1b98c6c6ecace542834b41060c3fc091f6379c26dea1be6ae0 +size 702 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/angry/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/angry/expression.webp new file mode 100644 index 00000000..ea115d4d --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/angry/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ba2f1e362996335a25c929b64d3d231db4e5468022256f23ab7d76781a93b34 +size 3286 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/annoyed/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/annoyed/expression.webp new file mode 100644 index 00000000..3c6373d1 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/annoyed/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47fd69deee1a2dbd7f3daee18aaf8706d0739c8d58a91f51270880dcd0f5e548 +size 1556 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/base/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/base/expression.webp new file mode 100644 index 00000000..1b399c04 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/base/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62711dfb10ba5c9995b51e54b1c0da7e57b81900743f61748faf86209fff552a +size 1644 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/clench/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/clench/expression.webp new file mode 100644 index 00000000..3e2f5505 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/clench/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dfc7a871028f85358a51a98a52e130e133c79c0c584924e1a0cfc1d28f3af0b +size 2930 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/crooked/smile.webp b/game/characters/hermione/poses/hold_book/face/mouth/crooked/smile.webp new file mode 100644 index 00000000..720526b9 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/crooked/smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc22a8aa6d77438fb9bd2e4f918cb2329cec9f0e598ecc76723baa47a58ad308 +size 3216 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/cum/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/cum/expression.webp new file mode 100644 index 00000000..9287ddcf --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/cum/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d2f6029df53972bc59b49615793a509dc4b205b1f8070793987da305f84d2d +size 1756 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/disgust/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/disgust/expression.webp new file mode 100644 index 00000000..99d4ed66 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/disgust/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f92691b2864a237e69e75433d33b93a76370cd300540e911531df253fcf466f +size 2268 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/full/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/full/expression.webp new file mode 100644 index 00000000..b3e2e354 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/full/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c1984c8fcfeb0361ee010ddc73476506c530fbb6ef49022596cd2d355ceace +size 8976 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/full_cum/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/full_cum/expression.webp new file mode 100644 index 00000000..19bf918e --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/full_cum/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c93c4e199e6a32d9c6a4b2d87b306fa34c3079fc5a77dfa013482ce1d9c15b7 +size 10326 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/full_panties/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/full_panties/expression.webp new file mode 100644 index 00000000..644c946f --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/full_panties/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1030f9bf812e226b8b536277a2baf861903adca8d3e86681dda70c777e32d7c2 +size 9450 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/grin/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/grin/expression.webp new file mode 100644 index 00000000..c9ebaa32 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/grin/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d17cd11fddcb128b18177fa2eb95ba6240a26bd9f8485d2e72b76e3edaa5412 +size 3292 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/mad/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/mad/expression.webp new file mode 100644 index 00000000..bd251ece --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/mad/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3dba34e986ed0d2a4778f0c8f2084f46798a460382d46943bc1ce56c9597c50 +size 2350 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/normal/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/normal/expression.webp new file mode 100644 index 00000000..f6c50778 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/normal/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:251662ba9ac9203bbf5972c86a5c6c9615fef9f30d774f7f37c66fae7a0c8f06 +size 1458 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/open/expression.webp new file mode 100644 index 00000000..066b5707 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/open/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:795aa28c614997cd901487f19ebc3cb9ad462bfc79d5d75b3a216b79d6a9a0aa +size 2344 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open_tongue/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/open_tongue/expression.webp new file mode 100644 index 00000000..f8d7fbef --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/open_tongue/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb7cdff1a02e9031bb054fc4baecd58e80fbb578b68ce49f73dead4edbefbb7 +size 2310 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue/expression.webp new file mode 100644 index 00000000..661261e4 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53e235f81e23a10f0eecf347bb3e1a6d6df2a36826130d028a794cc8cce0c084 +size 6122 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue_cum/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue_cum/expression.webp new file mode 100644 index 00000000..68b67d54 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/open_wide_tongue_cum/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:842cdaed8c60a2bb3cc0bfead4fe36cd131100a4250d44be464cafa1cdd35ba6 +size 6938 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/scream/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/scream/expression.webp new file mode 100644 index 00000000..671fede7 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/scream/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7baa90e90d5fad7803836189084ba60f5c09d1c319aa2ac28a4741f05425c934 +size 6210 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/shock/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/shock/expression.webp new file mode 100644 index 00000000..83e4fd5a --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/shock/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c820c0412e07a6df13d6381d834f520635338c1023242951660a56fe3d22ba93 +size 2782 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/silly/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/silly/expression.webp new file mode 100644 index 00000000..6ee9dcb3 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/silly/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1846fd4070cfda1203434a8312aa64ae3e95f7a134f3dbd3087dc66c70837c78 +size 3298 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/smile/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/smile/expression.webp new file mode 100644 index 00000000..11de0078 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/smile/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cd795aa71a45e71f69511ab343cf7e274d3060af14b5dcf9e6080aec709a84d +size 3598 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/soft/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/soft/expression.webp new file mode 100644 index 00000000..732f364d --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:871b71a57ff12e211318dbe22a65d7bec77f804d7efd0fdd9dedcf632946458c +size 2310 diff --git a/game/characters/hermione/poses/hold_book/face/mouth/upset/expression.webp b/game/characters/hermione/poses/hold_book/face/mouth/upset/expression.webp new file mode 100644 index 00000000..5072f7c1 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/mouth/upset/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3aebaa6aca1ab2e2d21d483877ec39598b15c6eab1f61827261c1f9e559462f5 +size 1560 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/L/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/L/expression.webp new file mode 100644 index 00000000..c8be1dd6 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/L/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa76bfb8481861c0223ede0ca0fccf8e22fc77eefdeb096c1bd37785aa808448 +size 1570 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/L_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/L_soft/expression.webp new file mode 100644 index 00000000..0a6de4d5 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/L_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bf58ce89969340e1a3ac20c41e8d293e2b2a9b64b9fa050a13eeaf79057eaec +size 1704 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/R/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/R/expression.webp new file mode 100644 index 00000000..56f4599b --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/R/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63c1f07dc4a87eeb00cb4db203ed619319fccbf655e1a9952601f3a15a0c773a +size 1560 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/R_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/R_soft/expression.webp new file mode 100644 index 00000000..5990b4a4 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/R_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f40c24c85398c4e83b7a944a8714146d478b7b62e17126585cf26b9049d475b8 +size 1624 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/ahegao/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/ahegao/expression.webp new file mode 100644 index 00000000..01c69f07 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/ahegao/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f468d54dbaa96951499c8ef2a068b0afd8331d41c0f0b26d192da072d300319 +size 1470 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/dead/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/dead/expression.webp new file mode 100644 index 00000000..0ad15362 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/dead/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e83ae490a7816db3910e2540f68997b708557d2108663d908ce50458653fb63 +size 1754 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/down/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/down/expression.webp new file mode 100644 index 00000000..e3d78b19 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/down/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5047c97e28408ff3f97888116d1aa4b9c96e20c5ddba465da9dc5807e5ecab12 +size 1560 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/down_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/down_soft/expression.webp new file mode 100644 index 00000000..1eecd91c --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/down_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbacb76a0623a9f0df3aebcdbc7557334ff035159f64e8da2a0e65524189aa27 +size 1690 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/mid/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/mid/expression.webp new file mode 100644 index 00000000..10394021 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/mid/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdf9154530d6715e26666850b3df2186f30efee5c0d885b81c4f51c3e069396f +size 1482 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/mid_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/mid_soft/expression.webp new file mode 100644 index 00000000..dd47d3b9 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/mid_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcecfef40556072b1e246ad89951052c39e2672808effe98f1bcfb51e9b482ab +size 1632 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/shocked/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/shocked/expression.webp new file mode 100644 index 00000000..f4333992 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/shocked/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76082d4d901a22f69dd256ae5b6b7c1d0ba3152a92edccd426d37c6a1652c4fb +size 1796 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/squint/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/squint/expression.webp new file mode 100644 index 00000000..3368a560 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/squint/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a72edb9f4762f25d8036291e35431b272eb2434fbc6489d214259f786ace41c6 +size 1456 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/squint_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/squint_soft/expression.webp new file mode 100644 index 00000000..2c39fad1 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/squint_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37db0eb8ef1574036676a93314ab0a9f61b8db6b3a3f6bf58ee41a4599933930 +size 1718 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/stare/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/stare/expression.webp new file mode 100644 index 00000000..fe72cbd9 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/stare/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dff42f59f737a7042653055aa68a8a2da4ac2cc1a6101ed0de6edd7ec984c3b7 +size 1552 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/stare_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/stare_soft/expression.webp new file mode 100644 index 00000000..7c938ce9 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/stare_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0608d5bb7b8ab254a38fac405b0865f5f470b2e64305a1ccfdc65d215a573a7 +size 1590 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/up/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/up/expression.webp new file mode 100644 index 00000000..4456f787 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/up/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca601323929fce1a4fbd97255ed6cb8151752f92765d40fccad17f573465bb6b +size 1604 diff --git a/game/characters/hermione/poses/hold_book/face/pupils/up_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/pupils/up_soft/expression.webp new file mode 100644 index 00000000..cd045865 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/pupils/up_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ecc2f0e26c206eb8adfff1046039f0c38c13d07dc056572d27f20534a44eb45 +size 1656 diff --git a/game/characters/hermione/poses/hold_book/face/tears/crying/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/crying/expression.webp new file mode 100644 index 00000000..7b1b060f --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/crying/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b647117cbcc1fafd02000ac1b25bba83807cc0ec4695ee9131e9b8b6ff48ba9 +size 7748 diff --git a/game/characters/hermione/poses/hold_book/face/tears/crying_blink/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/crying_blink/expression.webp new file mode 100644 index 00000000..d0377573 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/crying_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7db47d43aff5e70df32ba4bd25697de1998ab7494f465c9573602fafae79c4c6 +size 3974 diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/mascara/expression.webp new file mode 100644 index 00000000..86c77d8c --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/mascara/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d17e335038b239f1916a108a34800fb8f633cf57887ca366ef62c5ce24a77d4 +size 8790 diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara_crying/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/mascara_crying/expression.webp new file mode 100644 index 00000000..8d8292a3 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/mascara_crying/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3966490e1f3a62d0bd98437d915675d469eaf85ac3520e01a1b4520788d0cab +size 7688 diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara_soft/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/mascara_soft/expression.webp new file mode 100644 index 00000000..a8615cf4 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/mascara_soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:395bf14e82ae06dea7169b3522aefe0f7d984720c835714ea7f269081f7f6129 +size 9552 diff --git a/game/characters/hermione/poses/hold_book/face/tears/mascara_soft_blink/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/mascara_soft_blink/expression.webp new file mode 100644 index 00000000..69567c7d --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/mascara_soft_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6eb4cb10fd98947c34a12dc3be6bd7f98b3cf2b665ff719e52ec6bff62b9e75 +size 9752 diff --git a/game/characters/hermione/poses/hold_book/face/tears/messy/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/messy/expression.webp new file mode 100644 index 00000000..53b13cd4 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/messy/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06050bc55d5824a1a506d0dfd454f17e1ed28c3da5acffb364892ce2fddac68d +size 9034 diff --git a/game/characters/hermione/poses/hold_book/face/tears/soft/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/soft/expression.webp new file mode 100644 index 00000000..5d27fd48 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/soft/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6a9d585f5f04a291e6764a810bbbe7522126fadfdb879cfebbc80c1c06af8db +size 1248 diff --git a/game/characters/hermione/poses/hold_book/face/tears/soft_blink/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/soft_blink/expression.webp new file mode 100644 index 00000000..a8347724 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/soft_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44b52b17482de89a8cc7906bc20a821be0180023873bd3c862ec8ea67593ed0f +size 1336 diff --git a/game/characters/hermione/poses/hold_book/face/tears/sweat/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/sweat/expression.webp new file mode 100644 index 00000000..cc72f545 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/sweat/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf708752e6bb06786dc010279f269726cff3985486ec38c87558ba9ce435170a +size 2062 diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_crying_side/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/tears_crying_side/expression.webp new file mode 100644 index 00000000..1a3c276a --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/tears_crying_side/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fabc823d7bc037e7251e90196389f782be45f134fd7f5c72d79e6139012c5129 +size 3494 diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_down/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/tears_down/expression.webp new file mode 100644 index 00000000..a408677d --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/tears_down/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf24ba865d21065dfb46581d2e1d99b7508738371e689d01a042aae03bd15172 +size 7688 diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_mascara_crying_blink/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/tears_mascara_crying_blink/expression.webp new file mode 100644 index 00000000..dc02a65d --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/tears_mascara_crying_blink/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf35cefe49dd202741397b25dec4523ee14a7b3951418bd1057e156cfc3a4966 +size 8256 diff --git a/game/characters/hermione/poses/hold_book/face/tears/tears_soft_sweat/expression.webp b/game/characters/hermione/poses/hold_book/face/tears/tears_soft_sweat/expression.webp new file mode 100644 index 00000000..0ecaf1b2 --- /dev/null +++ b/game/characters/hermione/poses/hold_book/face/tears/tears_soft_sweat/expression.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2eb13788a005239f95e2fa795b98a3b009352d24282158316b68f255a597169 +size 3068 diff --git a/game/characters/hermione/poses/hold_book/loadable.webp b/game/characters/hermione/poses/hold_book/loadable.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/hermione/poses/hold_book/loadable.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/hermione/poses/masturbate/body/armleft/down.webp b/game/characters/hermione/poses/masturbate/body/armleft/down.webp deleted file mode 100644 index de690ef2..00000000 --- a/game/characters/hermione/poses/masturbate/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad43dbf9ecbf97fc96157d7149e76b7e49631909c1fdbf8ba24659fa0b43eb04 -size 19184 diff --git a/game/characters/hermione/poses/masturbate/body/armleft/on_pussy.webp b/game/characters/hermione/poses/masturbate/body/armleft/on_pussy.webp deleted file mode 100644 index f8368cad..00000000 --- a/game/characters/hermione/poses/masturbate/body/armleft/on_pussy.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:194d6675f1903d44658a94a3dd73a637aeacadee171968be4707e142bc40210c -size 16774 diff --git a/game/characters/hermione/poses/masturbate/body/armright/down.webp b/game/characters/hermione/poses/masturbate/body/armright/down.webp deleted file mode 100644 index f250b08d..00000000 --- a/game/characters/hermione/poses/masturbate/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:235144e94d03e1c2e113bc77bc9e80d9082a3a17016cbf9a5abb32e177c00b14 -size 14008 diff --git a/game/characters/hermione/poses/masturbate/body/armright/on_tits.webp b/game/characters/hermione/poses/masturbate/body/armright/on_tits.webp deleted file mode 100644 index de227971..00000000 --- a/game/characters/hermione/poses/masturbate/body/armright/on_tits.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:745c44a4bc1409fbe5ddf7a08ff04b1a8ac142c0c9fb0dae883a9e4762eac905 -size 13390 diff --git a/game/characters/hermione/poses/masturbate/body/backside/big1.webp b/game/characters/hermione/poses/masturbate/body/backside/big1.webp deleted file mode 100644 index 562ebeb4..00000000 --- a/game/characters/hermione/poses/masturbate/body/backside/big1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2cd5bb7762e657461cc0920ff270c31b6953f3731bff0edb8a327a0f85bc558f -size 18662 diff --git a/game/characters/hermione/poses/masturbate/body/backside/big2.webp b/game/characters/hermione/poses/masturbate/body/backside/big2.webp deleted file mode 100644 index eaaeade1..00000000 --- a/game/characters/hermione/poses/masturbate/body/backside/big2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dc01000c8e8f0161885c6064e85643243e732a5248544a218cd3a339971f7e2f -size 18778 diff --git a/game/characters/hermione/poses/masturbate/body/backside/big3.webp b/game/characters/hermione/poses/masturbate/body/backside/big3.webp deleted file mode 100644 index 2ddcb90e..00000000 --- a/game/characters/hermione/poses/masturbate/body/backside/big3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba6d16db1fc58f16b8a2ffbc029fafd64422d4480e0ecd38ba27f92f148d1338 -size 18840 diff --git a/game/characters/hermione/poses/masturbate/body/base/front.webp b/game/characters/hermione/poses/masturbate/body/base/front.webp deleted file mode 100644 index 26dde8a7..00000000 --- a/game/characters/hermione/poses/masturbate/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b1f8e290c683c8295d40f8f0d49227355fc666972dcd77a40802dcff536c6a5 -size 57642 diff --git a/game/characters/hermione/poses/masturbate/body/breasts/big1.webp b/game/characters/hermione/poses/masturbate/body/breasts/big1.webp deleted file mode 100644 index a64a0e47..00000000 --- a/game/characters/hermione/poses/masturbate/body/breasts/big1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95ddc78ed38b6197e3d2b56d4fff116d5c713752c443976e93d71ccb2093907e -size 18750 diff --git a/game/characters/hermione/poses/masturbate/body/breasts/big2.webp b/game/characters/hermione/poses/masturbate/body/breasts/big2.webp deleted file mode 100644 index b234aba4..00000000 --- a/game/characters/hermione/poses/masturbate/body/breasts/big2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c3a320f4e2d1b163c9fd2ad6dd5cd8a5853df495272467cd583dee15b59cf22 -size 20038 diff --git a/game/characters/hermione/poses/masturbate/body/breasts/big3.webp b/game/characters/hermione/poses/masturbate/body/breasts/big3.webp deleted file mode 100644 index 32bae0b8..00000000 --- a/game/characters/hermione/poses/masturbate/body/breasts/big3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c7f099ca6acaa71e9b7611ed5ed07b2ba897b053816e2a1571f706c868fa0e3 -size 20986 diff --git a/game/characters/hermione/poses/masturbate/body/breasts/big3_backside.webp b/game/characters/hermione/poses/masturbate/body/breasts/big3_backside.webp deleted file mode 100644 index f6f11a9e..00000000 --- a/game/characters/hermione/poses/masturbate/body/breasts/big3_backside.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e4b0535b4575d9536a5a680fbcc63a83c67ccae4a8fcba4bb2ac59e44ba5950 -size 21056 diff --git a/game/characters/hermione/poses/masturbate/body/breasts/normal.webp b/game/characters/hermione/poses/masturbate/body/breasts/normal.webp deleted file mode 100644 index 89de88c4..00000000 --- a/game/characters/hermione/poses/masturbate/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a74656fa03d149d2bf90c5d9c28a9d331902539a05b875014527dcf16ed82e8f -size 15466 diff --git a/game/characters/hermione/poses/masturbate/loadable.webp b/game/characters/hermione/poses/masturbate/loadable.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/hermione/poses/masturbate/loadable.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/hooch/chibi/stand/0.webp b/game/characters/hooch/chibi/stand/0.webp deleted file mode 100644 index a9f3acb3..00000000 --- a/game/characters/hooch/chibi/stand/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c50ae9945e86b3aa54128c9744bcb171be5083dd3cba8a13c2f72ebfceeb085 -size 72638 diff --git a/game/characters/hooch/chibi/walk/0.webp b/game/characters/hooch/chibi/walk/0.webp deleted file mode 100644 index dda4e144..00000000 --- a/game/characters/hooch/chibi/walk/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:44da5f9cdef4729a269f32d159c436552be2b8fc190745eb803413bfbaa06e3d -size 71976 diff --git a/game/characters/hooch/chibi/walk/1.webp b/game/characters/hooch/chibi/walk/1.webp deleted file mode 100644 index 1bdd9b75..00000000 --- a/game/characters/hooch/chibi/walk/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c609af0a32574e7d5116833e09c0321222d6835d839a447932ffa448f180d5e -size 74396 diff --git a/game/characters/hooch/chibi/walk/2.webp b/game/characters/hooch/chibi/walk/2.webp deleted file mode 100644 index 42ebbcd2..00000000 --- a/game/characters/hooch/chibi/walk/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47656ec563c6bbd28f559dd0a6b7a9671a55a225f73402b785b9c5cd59f2c618 -size 78622 diff --git a/game/characters/hooch/chibi/walk/3.webp b/game/characters/hooch/chibi/walk/3.webp deleted file mode 100644 index 1c3c387d..00000000 --- a/game/characters/hooch/chibi/walk/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bca74ca38eccae3061a2a9eb9970e466f9dfddbc20207034fab004919e3f1861 -size 76288 diff --git a/game/characters/hooch/chibi/walk/4.webp b/game/characters/hooch/chibi/walk/4.webp deleted file mode 100644 index dda4e144..00000000 --- a/game/characters/hooch/chibi/walk/4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:44da5f9cdef4729a269f32d159c436552be2b8fc190745eb803413bfbaa06e3d -size 71976 diff --git a/game/characters/hooch/chibi/walk/5.webp b/game/characters/hooch/chibi/walk/5.webp deleted file mode 100644 index 5b03eb92..00000000 --- a/game/characters/hooch/chibi/walk/5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3cb78bfebbb1650694e4605c70caa5ee47c161e497c07f9795152302ca8c4767 -size 73124 diff --git a/game/characters/hooch/chibi/walk/6.webp b/game/characters/hooch/chibi/walk/6.webp deleted file mode 100644 index 5727d40f..00000000 --- a/game/characters/hooch/chibi/walk/6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3d30d56caf41f4afc18f2861da51825f05e9c0bea025aa510f4552cd58cd955 -size 74366 diff --git a/game/characters/hooch/chibi/walk/7.webp b/game/characters/hooch/chibi/walk/7.webp deleted file mode 100644 index 695185a7..00000000 --- a/game/characters/hooch/chibi/walk/7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0206b0a10228fb97ede93b1ccd4adec37179bd5f38ca188d001963c1a9133869 -size 73634 diff --git a/game/characters/hooch/body/base/front.webp b/game/characters/hooch/poses/default/bodyparts/frame/default/skin.webp similarity index 100% rename from game/characters/hooch/body/base/front.webp rename to game/characters/hooch/poses/default/bodyparts/frame/default/skin.webp diff --git a/game/characters/hooch/poses/default/chibi/stand/bodyparts/frame/default/skin.webp b/game/characters/hooch/poses/default/chibi/stand/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..1f697cf5 --- /dev/null +++ b/game/characters/hooch/poses/default/chibi/stand/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56a00ddc50df8046f6a338a008583ae0c1a3a5e0608e39fba8b82f35cd7fc0c2 +size 72296 diff --git a/game/characters/hooch/poses/default/chibi/walk/bodyparts/frame/default/skin.webp b/game/characters/hooch/poses/default/chibi/walk/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..8f24d329 --- /dev/null +++ b/game/characters/hooch/poses/default/chibi/walk/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7641f6257c501ef2d26b57dcb483730d4d331139a5f9213f91cf3c21d3cd090e +size 496278 diff --git a/game/characters/hooch/clothes/accessory/broom/0.webp b/game/characters/hooch/poses/default/clothes/accessory/broom/0.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom/0.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom/0.webp diff --git a/game/characters/hooch/clothes/accessory/broom/1.webp b/game/characters/hooch/poses/default/clothes/accessory/broom/1.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom/1.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom/1.webp diff --git a/game/characters/hooch/clothes/accessory/broom/2.webp b/game/characters/hooch/poses/default/clothes/accessory/broom/2.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom/2.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom/2.webp diff --git a/game/characters/hooch/clothes/accessory/broom/outline.webp b/game/characters/hooch/poses/default/clothes/accessory/broom/outline.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom/outline.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom/outline.webp diff --git a/game/characters/hooch/clothes/accessory/broom_dildo/0.webp b/game/characters/hooch/poses/default/clothes/accessory/broom_dildo/0.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom_dildo/0.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom_dildo/0.webp diff --git a/game/characters/hooch/clothes/accessory/broom_dildo/1.webp b/game/characters/hooch/poses/default/clothes/accessory/broom_dildo/1.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom_dildo/1.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom_dildo/1.webp diff --git a/game/characters/hooch/clothes/accessory/broom_dildo/2.webp b/game/characters/hooch/poses/default/clothes/accessory/broom_dildo/2.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom_dildo/2.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom_dildo/2.webp diff --git a/game/characters/hooch/clothes/accessory/broom_dildo/outline.webp b/game/characters/hooch/poses/default/clothes/accessory/broom_dildo/outline.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom_dildo/outline.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom_dildo/outline.webp diff --git a/game/characters/hooch/clothes/accessory/broom_dildo/overlay.webp b/game/characters/hooch/poses/default/clothes/accessory/broom_dildo/overlay.webp similarity index 100% rename from game/characters/hooch/clothes/accessory/broom_dildo/overlay.webp rename to game/characters/hooch/poses/default/clothes/accessory/broom_dildo/overlay.webp diff --git a/game/characters/hooch/clothes/bottom/sport_trousers/0.webp b/game/characters/hooch/poses/default/clothes/bottom/sport_trousers/0.webp similarity index 100% rename from game/characters/hooch/clothes/bottom/sport_trousers/0.webp rename to game/characters/hooch/poses/default/clothes/bottom/sport_trousers/0.webp diff --git a/game/characters/hooch/clothes/bottom/sport_trousers/1.webp b/game/characters/hooch/poses/default/clothes/bottom/sport_trousers/1.webp similarity index 100% rename from game/characters/hooch/clothes/bottom/sport_trousers/1.webp rename to game/characters/hooch/poses/default/clothes/bottom/sport_trousers/1.webp diff --git a/game/characters/hooch/clothes/bottom/sport_trousers/outline.webp b/game/characters/hooch/poses/default/clothes/bottom/sport_trousers/outline.webp similarity index 100% rename from game/characters/hooch/clothes/bottom/sport_trousers/outline.webp rename to game/characters/hooch/poses/default/clothes/bottom/sport_trousers/outline.webp diff --git a/game/characters/hooch/clothes/bra/sport/0.webp b/game/characters/hooch/poses/default/clothes/bra/sport/0.webp similarity index 100% rename from game/characters/hooch/clothes/bra/sport/0.webp rename to game/characters/hooch/poses/default/clothes/bra/sport/0.webp diff --git a/game/characters/hooch/clothes/bra/sport/1.webp b/game/characters/hooch/poses/default/clothes/bra/sport/1.webp similarity index 100% rename from game/characters/hooch/clothes/bra/sport/1.webp rename to game/characters/hooch/poses/default/clothes/bra/sport/1.webp diff --git a/game/characters/hooch/clothes/bra/sport/outline.webp b/game/characters/hooch/poses/default/clothes/bra/sport/outline.webp similarity index 100% rename from game/characters/hooch/clothes/bra/sport/outline.webp rename to game/characters/hooch/poses/default/clothes/bra/sport/outline.webp diff --git a/game/characters/hooch/clothes/gloves/sport_gloves/0.webp b/game/characters/hooch/poses/default/clothes/gloves/sport_gloves/0.webp similarity index 100% rename from game/characters/hooch/clothes/gloves/sport_gloves/0.webp rename to game/characters/hooch/poses/default/clothes/gloves/sport_gloves/0.webp diff --git a/game/characters/hooch/clothes/gloves/sport_gloves/0_top.webp b/game/characters/hooch/poses/default/clothes/gloves/sport_gloves/0_top.webp similarity index 100% rename from game/characters/hooch/clothes/gloves/sport_gloves/0_top.webp rename to game/characters/hooch/poses/default/clothes/gloves/sport_gloves/0_top.webp diff --git a/game/characters/hooch/clothes/gloves/sport_gloves/extra.webp b/game/characters/hooch/poses/default/clothes/gloves/sport_gloves/extra.webp similarity index 100% rename from game/characters/hooch/clothes/gloves/sport_gloves/extra.webp rename to game/characters/hooch/poses/default/clothes/gloves/sport_gloves/extra.webp diff --git a/game/characters/hooch/clothes/gloves/sport_gloves/extra_top.webp b/game/characters/hooch/poses/default/clothes/gloves/sport_gloves/extra_top.webp similarity index 100% rename from game/characters/hooch/clothes/gloves/sport_gloves/extra_top.webp rename to game/characters/hooch/poses/default/clothes/gloves/sport_gloves/extra_top.webp diff --git a/game/characters/hooch/clothes/gloves/sport_gloves/outline.webp b/game/characters/hooch/poses/default/clothes/gloves/sport_gloves/outline.webp similarity index 100% rename from game/characters/hooch/clothes/gloves/sport_gloves/outline.webp rename to game/characters/hooch/poses/default/clothes/gloves/sport_gloves/outline.webp diff --git a/game/characters/hooch/clothes/gloves/sport_gloves/outline_top.webp b/game/characters/hooch/poses/default/clothes/gloves/sport_gloves/outline_top.webp similarity index 100% rename from game/characters/hooch/clothes/gloves/sport_gloves/outline_top.webp rename to game/characters/hooch/poses/default/clothes/gloves/sport_gloves/outline_top.webp diff --git a/game/characters/hooch/clothes/hair/base/0.webp b/game/characters/hooch/poses/default/clothes/hair/base/0.webp similarity index 100% rename from game/characters/hooch/clothes/hair/base/0.webp rename to game/characters/hooch/poses/default/clothes/hair/base/0.webp diff --git a/game/characters/hooch/clothes/hair/base/0_back.webp b/game/characters/hooch/poses/default/clothes/hair/base/0_back.webp similarity index 100% rename from game/characters/hooch/clothes/hair/base/0_back.webp rename to game/characters/hooch/poses/default/clothes/hair/base/0_back.webp diff --git a/game/characters/hooch/clothes/hair/base/outline.webp b/game/characters/hooch/poses/default/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/hooch/clothes/hair/base/outline.webp rename to game/characters/hooch/poses/default/clothes/hair/base/outline.webp diff --git a/game/characters/hooch/clothes/hair/base/outline_back.webp b/game/characters/hooch/poses/default/clothes/hair/base/outline_back.webp similarity index 100% rename from game/characters/hooch/clothes/hair/base/outline_back.webp rename to game/characters/hooch/poses/default/clothes/hair/base/outline_back.webp diff --git a/game/characters/hooch/clothes/hair/base/skin.webp b/game/characters/hooch/poses/default/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/hooch/clothes/hair/base/skin.webp rename to game/characters/hooch/poses/default/clothes/hair/base/skin.webp diff --git a/game/characters/hooch/clothes/headgear/sport_goggles/0.webp b/game/characters/hooch/poses/default/clothes/headgear/sport_goggles/0.webp similarity index 100% rename from game/characters/hooch/clothes/headgear/sport_goggles/0.webp rename to game/characters/hooch/poses/default/clothes/headgear/sport_goggles/0.webp diff --git a/game/characters/hooch/clothes/headgear/sport_goggles/1.webp b/game/characters/hooch/poses/default/clothes/headgear/sport_goggles/1.webp similarity index 100% rename from game/characters/hooch/clothes/headgear/sport_goggles/1.webp rename to game/characters/hooch/poses/default/clothes/headgear/sport_goggles/1.webp diff --git a/game/characters/hooch/clothes/headgear/sport_goggles/2.webp b/game/characters/hooch/poses/default/clothes/headgear/sport_goggles/2.webp similarity index 100% rename from game/characters/hooch/clothes/headgear/sport_goggles/2.webp rename to game/characters/hooch/poses/default/clothes/headgear/sport_goggles/2.webp diff --git a/game/characters/hooch/clothes/headgear/sport_goggles/extra.webp b/game/characters/hooch/poses/default/clothes/headgear/sport_goggles/extra.webp similarity index 100% rename from game/characters/hooch/clothes/headgear/sport_goggles/extra.webp rename to game/characters/hooch/poses/default/clothes/headgear/sport_goggles/extra.webp diff --git a/game/characters/hooch/clothes/headgear/sport_goggles/outline.webp b/game/characters/hooch/poses/default/clothes/headgear/sport_goggles/outline.webp similarity index 100% rename from game/characters/hooch/clothes/headgear/sport_goggles/outline.webp rename to game/characters/hooch/poses/default/clothes/headgear/sport_goggles/outline.webp diff --git a/game/characters/hooch/clothes/panties/sport/0.webp b/game/characters/hooch/poses/default/clothes/panties/sport/0.webp similarity index 100% rename from game/characters/hooch/clothes/panties/sport/0.webp rename to game/characters/hooch/poses/default/clothes/panties/sport/0.webp diff --git a/game/characters/hooch/clothes/panties/sport/1.webp b/game/characters/hooch/poses/default/clothes/panties/sport/1.webp similarity index 100% rename from game/characters/hooch/clothes/panties/sport/1.webp rename to game/characters/hooch/poses/default/clothes/panties/sport/1.webp diff --git a/game/characters/hooch/clothes/panties/sport/outline.webp b/game/characters/hooch/poses/default/clothes/panties/sport/outline.webp similarity index 100% rename from game/characters/hooch/clothes/panties/sport/outline.webp rename to game/characters/hooch/poses/default/clothes/panties/sport/outline.webp diff --git a/game/characters/hooch/clothes/robe/sport_robe/0.webp b/game/characters/hooch/poses/default/clothes/robe/sport_robe/0.webp similarity index 100% rename from game/characters/hooch/clothes/robe/sport_robe/0.webp rename to game/characters/hooch/poses/default/clothes/robe/sport_robe/0.webp diff --git a/game/characters/hooch/clothes/robe/sport_robe/1.webp b/game/characters/hooch/poses/default/clothes/robe/sport_robe/1.webp similarity index 100% rename from game/characters/hooch/clothes/robe/sport_robe/1.webp rename to game/characters/hooch/poses/default/clothes/robe/sport_robe/1.webp diff --git a/game/characters/hooch/clothes/robe/sport_robe/2.webp b/game/characters/hooch/poses/default/clothes/robe/sport_robe/2.webp similarity index 100% rename from game/characters/hooch/clothes/robe/sport_robe/2.webp rename to game/characters/hooch/poses/default/clothes/robe/sport_robe/2.webp diff --git a/game/characters/hooch/clothes/robe/sport_robe/extra.webp b/game/characters/hooch/poses/default/clothes/robe/sport_robe/extra.webp similarity index 100% rename from game/characters/hooch/clothes/robe/sport_robe/extra.webp rename to game/characters/hooch/poses/default/clothes/robe/sport_robe/extra.webp diff --git a/game/characters/hooch/clothes/robe/sport_robe/outline.webp b/game/characters/hooch/poses/default/clothes/robe/sport_robe/outline.webp similarity index 100% rename from game/characters/hooch/clothes/robe/sport_robe/outline.webp rename to game/characters/hooch/poses/default/clothes/robe/sport_robe/outline.webp diff --git a/game/characters/hooch/clothes/top/sport_shirt/0.webp b/game/characters/hooch/poses/default/clothes/top/sport_shirt/0.webp similarity index 100% rename from game/characters/hooch/clothes/top/sport_shirt/0.webp rename to game/characters/hooch/poses/default/clothes/top/sport_shirt/0.webp diff --git a/game/characters/hooch/clothes/top/sport_shirt/1.webp b/game/characters/hooch/poses/default/clothes/top/sport_shirt/1.webp similarity index 100% rename from game/characters/hooch/clothes/top/sport_shirt/1.webp rename to game/characters/hooch/poses/default/clothes/top/sport_shirt/1.webp diff --git a/game/characters/hooch/clothes/top/sport_shirt/outline.webp b/game/characters/hooch/poses/default/clothes/top/sport_shirt/outline.webp similarity index 100% rename from game/characters/hooch/clothes/top/sport_shirt/outline.webp rename to game/characters/hooch/poses/default/clothes/top/sport_shirt/outline.webp diff --git a/game/characters/hooch/face/cheeks/blush.webp b/game/characters/hooch/poses/default/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/hooch/face/cheeks/blush.webp rename to game/characters/hooch/poses/default/face/cheeks/blush/expression.webp diff --git a/game/characters/hooch/face/cheeks/blush_heavy.webp b/game/characters/hooch/poses/default/face/cheeks/blush_heavy/expression.webp similarity index 100% rename from game/characters/hooch/face/cheeks/blush_heavy.webp rename to game/characters/hooch/poses/default/face/cheeks/blush_heavy/expression.webp diff --git a/game/characters/hooch/face/eyebrows/angry.webp b/game/characters/hooch/poses/default/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/hooch/face/eyebrows/angry.webp rename to game/characters/hooch/poses/default/face/eyebrows/angry/expression.webp diff --git a/game/characters/hooch/face/eyebrows/base.webp b/game/characters/hooch/poses/default/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/hooch/face/eyebrows/base.webp rename to game/characters/hooch/poses/default/face/eyebrows/base/expression.webp diff --git a/game/characters/hooch/face/eyebrows/raised.webp b/game/characters/hooch/poses/default/face/eyebrows/raised/expression.webp similarity index 100% rename from game/characters/hooch/face/eyebrows/raised.webp rename to game/characters/hooch/poses/default/face/eyebrows/raised/expression.webp diff --git a/game/characters/hooch/face/eyebrows/shocked.webp b/game/characters/hooch/poses/default/face/eyebrows/shocked/expression.webp similarity index 100% rename from game/characters/hooch/face/eyebrows/shocked.webp rename to game/characters/hooch/poses/default/face/eyebrows/shocked/expression.webp diff --git a/game/characters/hooch/face/eyebrows/worried.webp b/game/characters/hooch/poses/default/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/hooch/face/eyebrows/worried.webp rename to game/characters/hooch/poses/default/face/eyebrows/worried/expression.webp diff --git a/game/characters/hooch/face/eyes/base.webp b/game/characters/hooch/poses/default/face/eyes/base/expression.webp similarity index 100% rename from game/characters/hooch/face/eyes/base.webp rename to game/characters/hooch/poses/default/face/eyes/base/expression.webp diff --git a/game/characters/hooch/face/eyes/base_mask.webp b/game/characters/hooch/poses/default/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/hooch/face/eyes/base_mask.webp rename to game/characters/hooch/poses/default/face/eyes/base/eyemask.webp diff --git a/game/characters/hooch/face/eyes/closed.webp b/game/characters/hooch/poses/default/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/hooch/face/eyes/closed.webp rename to game/characters/hooch/poses/default/face/eyes/closed/expression.webp diff --git a/game/characters/hooch/face/eyes/narrow.webp b/game/characters/hooch/poses/default/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/hooch/face/eyes/narrow.webp rename to game/characters/hooch/poses/default/face/eyes/narrow/expression.webp diff --git a/game/characters/hooch/face/eyes/narrow_mask.webp b/game/characters/hooch/poses/default/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/hooch/face/eyes/narrow_mask.webp rename to game/characters/hooch/poses/default/face/eyes/narrow/eyemask.webp diff --git a/game/characters/hooch/face/eyes/shocked.webp b/game/characters/hooch/poses/default/face/eyes/shocked/expression.webp similarity index 100% rename from game/characters/hooch/face/eyes/shocked.webp rename to game/characters/hooch/poses/default/face/eyes/shocked/expression.webp diff --git a/game/characters/hooch/face/eyes/shocked_mask.webp b/game/characters/hooch/poses/default/face/eyes/shocked/eyemask.webp similarity index 100% rename from game/characters/hooch/face/eyes/shocked_mask.webp rename to game/characters/hooch/poses/default/face/eyes/shocked/eyemask.webp diff --git a/game/characters/hooch/face/eyes/wink.webp b/game/characters/hooch/poses/default/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/hooch/face/eyes/wink.webp rename to game/characters/hooch/poses/default/face/eyes/wink/expression.webp diff --git a/game/characters/hooch/face/eyes/wink_mask.webp b/game/characters/hooch/poses/default/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/hooch/face/eyes/wink_mask.webp rename to game/characters/hooch/poses/default/face/eyes/wink/eyemask.webp diff --git a/game/characters/hooch/face/mouth/angry.webp b/game/characters/hooch/poses/default/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/hooch/face/mouth/angry.webp rename to game/characters/hooch/poses/default/face/mouth/angry/expression.webp diff --git a/game/characters/hooch/face/mouth/base.webp b/game/characters/hooch/poses/default/face/mouth/base/expression.webp similarity index 100% rename from game/characters/hooch/face/mouth/base.webp rename to game/characters/hooch/poses/default/face/mouth/base/expression.webp diff --git a/game/characters/hooch/face/mouth/grin.webp b/game/characters/hooch/poses/default/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/hooch/face/mouth/grin.webp rename to game/characters/hooch/poses/default/face/mouth/grin/expression.webp diff --git a/game/characters/hooch/face/mouth/normal.webp b/game/characters/hooch/poses/default/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/hooch/face/mouth/normal.webp rename to game/characters/hooch/poses/default/face/mouth/normal/expression.webp diff --git a/game/characters/hooch/face/mouth/open.webp b/game/characters/hooch/poses/default/face/mouth/open/expression.webp similarity index 100% rename from game/characters/hooch/face/mouth/open.webp rename to game/characters/hooch/poses/default/face/mouth/open/expression.webp diff --git a/game/characters/hooch/face/pupils/L.webp b/game/characters/hooch/poses/default/face/pupils/L/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/L.webp rename to game/characters/hooch/poses/default/face/pupils/L/expression.webp diff --git a/game/characters/hooch/face/pupils/R.webp b/game/characters/hooch/poses/default/face/pupils/R/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/R.webp rename to game/characters/hooch/poses/default/face/pupils/R/expression.webp diff --git a/game/characters/hooch/face/pupils/down.webp b/game/characters/hooch/poses/default/face/pupils/down/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/down.webp rename to game/characters/hooch/poses/default/face/pupils/down/expression.webp diff --git a/game/characters/hooch/face/pupils/downL.webp b/game/characters/hooch/poses/default/face/pupils/downL/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/downL.webp rename to game/characters/hooch/poses/default/face/pupils/downL/expression.webp diff --git a/game/characters/hooch/face/pupils/downR.webp b/game/characters/hooch/poses/default/face/pupils/downR/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/downR.webp rename to game/characters/hooch/poses/default/face/pupils/downR/expression.webp diff --git a/game/characters/hooch/face/pupils/mid.webp b/game/characters/hooch/poses/default/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/mid.webp rename to game/characters/hooch/poses/default/face/pupils/mid/expression.webp diff --git a/game/characters/hooch/face/pupils/stare.webp b/game/characters/hooch/poses/default/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/stare.webp rename to game/characters/hooch/poses/default/face/pupils/stare/expression.webp diff --git a/game/characters/hooch/face/pupils/up.webp b/game/characters/hooch/poses/default/face/pupils/up/expression.webp similarity index 100% rename from game/characters/hooch/face/pupils/up.webp rename to game/characters/hooch/poses/default/face/pupils/up/expression.webp diff --git a/game/characters/luna/body/armleft/down.webp b/game/characters/luna/body/armleft/down.webp deleted file mode 100644 index 1d9a8c10..00000000 --- a/game/characters/luna/body/armleft/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:38cf7377244e0ccfbc5281f8802bb589e994c671df5293f968e915e6f730b599 -size 9390 diff --git a/game/characters/luna/body/armleft/up.webp b/game/characters/luna/body/armleft/up.webp deleted file mode 100644 index 4765e583..00000000 --- a/game/characters/luna/body/armleft/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:334ff656b1823cc5d58c74f5c506bf095fa6604c45fbe4d2b0cc1b51e4ed8cd2 -size 9236 diff --git a/game/characters/luna/body/armright/down.webp b/game/characters/luna/body/armright/down.webp deleted file mode 100644 index 0048ed4c..00000000 --- a/game/characters/luna/body/armright/down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b0146a1ce81288acd041a95d2d7ad2c33dafe5173f3259b933fe283f8363acc -size 8398 diff --git a/game/characters/luna/body/armright/up.webp b/game/characters/luna/body/armright/up.webp deleted file mode 100644 index 179d0793..00000000 --- a/game/characters/luna/body/armright/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fcf33fa9657244ee6fcfdb8c14d3de7aed5b3f8336df7797f720367afcff19e3 -size 7196 diff --git a/game/characters/luna/body/base/front.webp b/game/characters/luna/body/base/front.webp deleted file mode 100644 index 0dfa24fa..00000000 --- a/game/characters/luna/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e63ed1dc79ba3aaa042b334972bbb08040311f5cec874aadc6dcb219d97c003 -size 20342 diff --git a/game/characters/luna/body/breasts/normal.webp b/game/characters/luna/body/breasts/normal.webp deleted file mode 100644 index 266369c8..00000000 --- a/game/characters/luna/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2c94dfb7db323d0df5356f46f6f48a2e7e5962e4b2f3d21fe67a0fe3cd182e6c -size 6790 diff --git a/game/characters/luna/body/breasts/normal_tight.webp b/game/characters/luna/body/breasts/normal_tight.webp deleted file mode 100644 index 09e1fabb..00000000 --- a/game/characters/luna/body/breasts/normal_tight.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6e6de86d903a4e8157190d6fda19b6daaa60c968a81ebaeb39fa8e762cf8170 -size 12508 diff --git a/game/characters/luna/clothes/accessory/lionhead/0.webp b/game/characters/luna/clothes/accessory/lionhead/0.webp deleted file mode 100644 index 6fbb7bcc..00000000 --- a/game/characters/luna/clothes/accessory/lionhead/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f16469f76fa22ea43a2346407a802434ae02dff4da1c40bec6af146a42feae -size 94 diff --git a/game/characters/luna/clothes/glasses/sunglasses_2/0.webp b/game/characters/luna/clothes/glasses/sunglasses_2/0.webp deleted file mode 100644 index 18ca8b79..00000000 --- a/game/characters/luna/clothes/glasses/sunglasses_2/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3a6b99fde887014df8fe288048b4f64488c0a8b634445c4e67a14282a3321fb5 -size 4370 diff --git a/game/characters/luna/clothes/glasses/sunglasses_2/1.webp b/game/characters/luna/clothes/glasses/sunglasses_2/1.webp deleted file mode 100644 index fadb437b..00000000 --- a/game/characters/luna/clothes/glasses/sunglasses_2/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d89cb675f5d71ff33d3df76f319e46e7731af92c662a5c29e4fb94f74a9f9eb -size 3506 diff --git a/game/characters/luna/clothes/glasses/sunglasses_2/extra.webp b/game/characters/luna/clothes/glasses/sunglasses_2/extra.webp deleted file mode 100644 index ddbeb936..00000000 --- a/game/characters/luna/clothes/glasses/sunglasses_2/extra.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c91d42f8f5feeb6bec3138a302cf2904021ce792fe73666f2c39a01aa544515 -size 4090 diff --git a/game/characters/luna/clothes/glasses/sunglasses_2/outline.webp b/game/characters/luna/clothes/glasses/sunglasses_2/outline.webp deleted file mode 100644 index 8d45acda..00000000 --- a/game/characters/luna/clothes/glasses/sunglasses_2/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:38d3f87d6e24cef039dbc9dda1ca0d59aa5a9a5e8a3625d1cd4cd8c3453b19eb -size 4622 diff --git a/game/characters/luna/clothes/neckwear/cork/outline.webp b/game/characters/luna/clothes/neckwear/cork/outline.webp deleted file mode 100644 index 3c9cdbbb..00000000 --- a/game/characters/luna/clothes/neckwear/cork/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53a57e69e0c656d302581c6723fac5a43d069c99d637b6a940e089fb6871fa48 -size 5232 diff --git a/game/characters/luna/poses/default/bodyparts/frame/default/skin.webp b/game/characters/luna/poses/default/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..4b7db640 --- /dev/null +++ b/game/characters/luna/poses/default/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd6f623ed9c7dc216fb3dbdff65741a77fab38c66287527364894497a5761a93 +size 88904 diff --git a/game/characters/luna/clothes/accessory/bracelets/0.webp b/game/characters/luna/poses/default/clothes/accessory/bracelets/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/bracelets/0.webp rename to game/characters/luna/poses/default/clothes/accessory/bracelets/0.webp diff --git a/game/characters/luna/clothes/accessory/bracelets/1.webp b/game/characters/luna/poses/default/clothes/accessory/bracelets/1.webp similarity index 100% rename from game/characters/luna/clothes/accessory/bracelets/1.webp rename to game/characters/luna/poses/default/clothes/accessory/bracelets/1.webp diff --git a/game/characters/luna/clothes/accessory/bracelets/2.webp b/game/characters/luna/poses/default/clothes/accessory/bracelets/2.webp similarity index 100% rename from game/characters/luna/clothes/accessory/bracelets/2.webp rename to game/characters/luna/poses/default/clothes/accessory/bracelets/2.webp diff --git a/game/characters/luna/clothes/accessory/bracelets/outline.webp b/game/characters/luna/poses/default/clothes/accessory/bracelets/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/bracelets/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/bracelets/outline.webp diff --git a/game/characters/luna/clothes/accessory/bracelets/skin.webp b/game/characters/luna/poses/default/clothes/accessory/bracelets/skin.webp similarity index 100% rename from game/characters/luna/clothes/accessory/bracelets/skin.webp rename to game/characters/luna/poses/default/clothes/accessory/bracelets/skin.webp diff --git a/game/characters/luna/clothes/accessory/wand_breasts/0.webp b/game/characters/luna/poses/default/clothes/accessory/hair_bug/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_breasts/0.webp rename to game/characters/luna/poses/default/clothes/accessory/hair_bug/0.webp diff --git a/game/characters/luna/clothes/accessory/hair_bug/outline.webp b/game/characters/luna/poses/default/clothes/accessory/hair_bug/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/hair_bug/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/hair_bug/outline.webp diff --git a/game/characters/luna/clothes/accessory/harley_quinn_strap/0.webp b/game/characters/luna/poses/default/clothes/accessory/harley_quinn_strap/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/harley_quinn_strap/0.webp rename to game/characters/luna/poses/default/clothes/accessory/harley_quinn_strap/0.webp diff --git a/game/characters/luna/clothes/accessory/harley_quinn_strap/outline.webp b/game/characters/luna/poses/default/clothes/accessory/harley_quinn_strap/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/harley_quinn_strap/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/harley_quinn_strap/outline.webp diff --git a/game/characters/luna/poses/default/clothes/accessory/leash/0.webp b/game/characters/luna/poses/default/clothes/accessory/leash/0.webp new file mode 100644 index 00000000..db32f917 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/leash/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6510b81d917d56b2cbbda7129329077570c5e0ea6709aa7fcf575d87be5ebea +size 4862 diff --git a/game/characters/luna/poses/default/clothes/accessory/leash/extra.webp b/game/characters/luna/poses/default/clothes/accessory/leash/extra.webp new file mode 100644 index 00000000..ba11f980 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/leash/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5009cdd2852b6c84a9b26fb6915398ac85017b88cec143497df001b0e605bee +size 622 diff --git a/game/characters/luna/poses/default/clothes/accessory/leash/outline.webp b/game/characters/luna/poses/default/clothes/accessory/leash/outline.webp new file mode 100644 index 00000000..361ac0b1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/leash/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4aed0ac4e72883237d22a5edfb53c23526b44e2e25dddddb1a1b6e860e9a732 +size 5860 diff --git a/game/characters/luna/poses/default/clothes/accessory/leash/skin.webp b/game/characters/luna/poses/default/clothes/accessory/leash/skin.webp new file mode 100644 index 00000000..8a56dbd4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/leash/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9de5962e4bc89c10628c9584491f81ffc5b762a68842174a0bf4d270f7a2b478 +size 4492 diff --git a/game/characters/luna/clothes/accessory/lionhead/outline_back.webp b/game/characters/luna/poses/default/clothes/accessory/lionhead/outline_back.webp similarity index 100% rename from game/characters/luna/clothes/accessory/lionhead/outline_back.webp rename to game/characters/luna/poses/default/clothes/accessory/lionhead/outline_back.webp diff --git a/game/characters/luna/clothes/accessory/lionhead/outline.webp b/game/characters/luna/poses/default/clothes/accessory/lionhead/outline_zorder_252.webp similarity index 100% rename from game/characters/luna/clothes/accessory/lionhead/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/lionhead/outline_zorder_252.webp diff --git a/game/characters/luna/poses/default/clothes/accessory/mistletoe/0.webp b/game/characters/luna/poses/default/clothes/accessory/mistletoe/0.webp new file mode 100644 index 00000000..5aacf6ce --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/mistletoe/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9184696b2e3053eceed6b00c13472830d94a24abfc2a198e002f6f7defb2b25a +size 1958 diff --git a/game/characters/luna/poses/default/clothes/accessory/mistletoe/extra.webp b/game/characters/luna/poses/default/clothes/accessory/mistletoe/extra.webp new file mode 100644 index 00000000..f2b94abf --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/mistletoe/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f09da0a6bc9f74c09c49b54462a624d5592b96f89a18c096fed3a0f21f6e828 +size 2688 diff --git a/game/characters/luna/poses/default/clothes/accessory/mistletoe/outline.webp b/game/characters/luna/poses/default/clothes/accessory/mistletoe/outline.webp new file mode 100644 index 00000000..fe3ce4b9 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/mistletoe/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d87ff667af846e9a74c090495c7343fd283a6033bf37ea184c4cfe3bcbaa6f55 +size 2470 diff --git a/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/0.webp b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/0.webp new file mode 100644 index 00000000..a725a120 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e10b0ab5db0931aaaadf2cc990350593c09c7c2d3087189e6ccccdbec3677a25 +size 14428 diff --git a/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/1.webp b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/1.webp new file mode 100644 index 00000000..894955da --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5de97fca094f57f61aa28dd48425f284ebddf1f05ee9b6b2aa330bad8de03f3e +size 2274 diff --git a/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/outline.webp b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/outline.webp new file mode 100644 index 00000000..ff7680b4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34e367d6cbc93c953cbb5fbee007e6ef05dd1c5662b6bac670c349d1e10d138a +size 13060 diff --git a/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/skin.webp b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/skin.webp new file mode 100644 index 00000000..9712695d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/accessory/onepiece_harness/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e012c5c66894972fea95b161c0e0122757a61d22f35f2cd1984c1e60cebf83b4 +size 10754 diff --git a/game/characters/luna/clothes/accessory/pin_radish/0.webp b/game/characters/luna/poses/default/clothes/accessory/pin_radish/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/pin_radish/0.webp rename to game/characters/luna/poses/default/clothes/accessory/pin_radish/0.webp diff --git a/game/characters/luna/clothes/accessory/pin_radish/1.webp b/game/characters/luna/poses/default/clothes/accessory/pin_radish/1.webp similarity index 100% rename from game/characters/luna/clothes/accessory/pin_radish/1.webp rename to game/characters/luna/poses/default/clothes/accessory/pin_radish/1.webp diff --git a/game/characters/luna/clothes/accessory/pin_radish/extra.webp b/game/characters/luna/poses/default/clothes/accessory/pin_radish/extra.webp similarity index 100% rename from game/characters/luna/clothes/accessory/pin_radish/extra.webp rename to game/characters/luna/poses/default/clothes/accessory/pin_radish/extra.webp diff --git a/game/characters/luna/clothes/accessory/pin_radish/outline.webp b/game/characters/luna/poses/default/clothes/accessory/pin_radish/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/pin_radish/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/pin_radish/outline.webp diff --git a/game/characters/luna/clothes/accessory/police_badge/0.webp b/game/characters/luna/poses/default/clothes/accessory/police_badge/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_badge/0.webp rename to game/characters/luna/poses/default/clothes/accessory/police_badge/0.webp diff --git a/game/characters/luna/clothes/accessory/police_badge/1.webp b/game/characters/luna/poses/default/clothes/accessory/police_badge/1.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_badge/1.webp rename to game/characters/luna/poses/default/clothes/accessory/police_badge/1.webp diff --git a/game/characters/luna/clothes/accessory/police_badge/outline.webp b/game/characters/luna/poses/default/clothes/accessory/police_badge/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_badge/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/police_badge/outline.webp diff --git a/game/characters/luna/clothes/accessory/police_belt/0.webp b/game/characters/luna/poses/default/clothes/accessory/police_belt/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_belt/0.webp rename to game/characters/luna/poses/default/clothes/accessory/police_belt/0.webp diff --git a/game/characters/luna/clothes/accessory/police_belt/1.webp b/game/characters/luna/poses/default/clothes/accessory/police_belt/1.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_belt/1.webp rename to game/characters/luna/poses/default/clothes/accessory/police_belt/1.webp diff --git a/game/characters/luna/clothes/accessory/police_belt/outline.webp b/game/characters/luna/poses/default/clothes/accessory/police_belt/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_belt/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/police_belt/outline.webp diff --git a/game/characters/luna/clothes/accessory/police_belt/skin.webp b/game/characters/luna/poses/default/clothes/accessory/police_belt/skin.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_belt/skin.webp rename to game/characters/luna/poses/default/clothes/accessory/police_belt/skin.webp diff --git a/game/characters/luna/clothes/accessory/police_cuffs/0.webp b/game/characters/luna/poses/default/clothes/accessory/police_cuffs/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_cuffs/0.webp rename to game/characters/luna/poses/default/clothes/accessory/police_cuffs/0.webp diff --git a/game/characters/luna/clothes/accessory/police_cuffs/outline.webp b/game/characters/luna/poses/default/clothes/accessory/police_cuffs/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_cuffs/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/police_cuffs/outline.webp diff --git a/game/characters/luna/clothes/accessory/police_cuffs/skin.webp b/game/characters/luna/poses/default/clothes/accessory/police_cuffs/skin.webp similarity index 100% rename from game/characters/luna/clothes/accessory/police_cuffs/skin.webp rename to game/characters/luna/poses/default/clothes/accessory/police_cuffs/skin.webp diff --git a/game/characters/luna/clothes/accessory/wand_hand/0.webp b/game/characters/luna/poses/default/clothes/accessory/wand_breasts/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_hand/0.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_breasts/0.webp diff --git a/game/characters/luna/clothes/accessory/wand_breasts/outline.webp b/game/characters/luna/poses/default/clothes/accessory/wand_breasts/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_breasts/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_breasts/outline.webp diff --git a/game/characters/luna/clothes/accessory/wand_mouth/0.webp b/game/characters/luna/poses/default/clothes/accessory/wand_hand/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_mouth/0.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_hand/0.webp diff --git a/game/characters/luna/clothes/accessory/wand_hand/outline.webp b/game/characters/luna/poses/default/clothes/accessory/wand_hand/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_hand/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_hand/outline.webp diff --git a/game/characters/luna/clothes/accessory/wand_pussy/0.webp b/game/characters/luna/poses/default/clothes/accessory/wand_mouth/0.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_pussy/0.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_mouth/0.webp diff --git a/game/characters/luna/clothes/accessory/wand_mouth/outline.webp b/game/characters/luna/poses/default/clothes/accessory/wand_mouth/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_mouth/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_mouth/outline.webp diff --git a/game/characters/luna/clothes/neckwear/cork/0.webp b/game/characters/luna/poses/default/clothes/accessory/wand_pussy/0.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/cork/0.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_pussy/0.webp diff --git a/game/characters/luna/clothes/accessory/wand_pussy/outline.webp b/game/characters/luna/poses/default/clothes/accessory/wand_pussy/outline.webp similarity index 100% rename from game/characters/luna/clothes/accessory/wand_pussy/outline.webp rename to game/characters/luna/poses/default/clothes/accessory/wand_pussy/outline.webp diff --git a/game/characters/luna/clothes/bottom/casual_jeans/0.webp b/game/characters/luna/poses/default/clothes/bottom/casual_jeans/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/casual_jeans/0.webp rename to game/characters/luna/poses/default/clothes/bottom/casual_jeans/0.webp diff --git a/game/characters/luna/clothes/bottom/casual_jeans/outline.webp b/game/characters/luna/poses/default/clothes/bottom/casual_jeans/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/casual_jeans/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/casual_jeans/outline.webp diff --git a/game/characters/luna/clothes/bottom/muggle_skirt/0.webp b/game/characters/luna/poses/default/clothes/bottom/muggle_skirt/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/muggle_skirt/0.webp rename to game/characters/luna/poses/default/clothes/bottom/muggle_skirt/0.webp diff --git a/game/characters/luna/clothes/bottom/muggle_skirt/1.webp b/game/characters/luna/poses/default/clothes/bottom/muggle_skirt/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/muggle_skirt/1.webp rename to game/characters/luna/poses/default/clothes/bottom/muggle_skirt/1.webp diff --git a/game/characters/luna/clothes/bottom/muggle_skirt/2.webp b/game/characters/luna/poses/default/clothes/bottom/muggle_skirt/2.webp similarity index 100% rename from game/characters/luna/clothes/bottom/muggle_skirt/2.webp rename to game/characters/luna/poses/default/clothes/bottom/muggle_skirt/2.webp diff --git a/game/characters/luna/clothes/bottom/muggle_skirt/3.webp b/game/characters/luna/poses/default/clothes/bottom/muggle_skirt/3.webp similarity index 100% rename from game/characters/luna/clothes/bottom/muggle_skirt/3.webp rename to game/characters/luna/poses/default/clothes/bottom/muggle_skirt/3.webp diff --git a/game/characters/luna/clothes/bottom/muggle_skirt/4.webp b/game/characters/luna/poses/default/clothes/bottom/muggle_skirt/4.webp similarity index 100% rename from game/characters/luna/clothes/bottom/muggle_skirt/4.webp rename to game/characters/luna/poses/default/clothes/bottom/muggle_skirt/4.webp diff --git a/game/characters/luna/clothes/bottom/muggle_skirt/5.webp b/game/characters/luna/poses/default/clothes/bottom/muggle_skirt/5.webp similarity index 100% rename from game/characters/luna/clothes/bottom/muggle_skirt/5.webp rename to game/characters/luna/poses/default/clothes/bottom/muggle_skirt/5.webp diff --git a/game/characters/luna/clothes/bottom/muggle_skirt/outline.webp b/game/characters/luna/poses/default/clothes/bottom/muggle_skirt/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/muggle_skirt/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/muggle_skirt/outline.webp diff --git a/game/characters/luna/clothes/bottom/pajama_1/0.webp b/game/characters/luna/poses/default/clothes/bottom/pajama_1/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/pajama_1/0.webp rename to game/characters/luna/poses/default/clothes/bottom/pajama_1/0.webp diff --git a/game/characters/luna/clothes/bottom/pajama_1/1.webp b/game/characters/luna/poses/default/clothes/bottom/pajama_1/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/pajama_1/1.webp rename to game/characters/luna/poses/default/clothes/bottom/pajama_1/1.webp diff --git a/game/characters/luna/clothes/bottom/pajama_1/outline.webp b/game/characters/luna/poses/default/clothes/bottom/pajama_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/pajama_1/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/pajama_1/outline.webp diff --git a/game/characters/luna/clothes/bottom/police_skirt/0.webp b/game/characters/luna/poses/default/clothes/bottom/police_skirt/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/police_skirt/0.webp rename to game/characters/luna/poses/default/clothes/bottom/police_skirt/0.webp diff --git a/game/characters/luna/clothes/bottom/police_skirt/outline.webp b/game/characters/luna/poses/default/clothes/bottom/police_skirt/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/police_skirt/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/police_skirt/outline.webp diff --git a/game/characters/luna/clothes/bottom/police_skirt/skin.webp b/game/characters/luna/poses/default/clothes/bottom/police_skirt/skin.webp similarity index 100% rename from game/characters/luna/clothes/bottom/police_skirt/skin.webp rename to game/characters/luna/poses/default/clothes/bottom/police_skirt/skin.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/outline.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/skin.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/skin.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/lift_skirt/skin.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/skin.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/mask.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/mask.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/mask.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/mask.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_1/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_1/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_1/outline.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/outline.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/skin.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/skin.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/lift_skirt/skin.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/skin.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/mask.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/mask.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/mask.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/mask.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_2/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_2/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_2/outline.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/outline.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/skin.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/skin.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/lift_skirt/skin.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/skin.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/mask.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/mask.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/mask.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/mask.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_3/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_3/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_3/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_3/outline.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/0.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/0.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/0.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/1.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/1.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/1.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/outline.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/skin.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/skin.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/lift_skirt/skin.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/skin.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/mask.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/mask.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/mask.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/mask.webp diff --git a/game/characters/luna/clothes/bottom/school_skirt_4/outline.webp b/game/characters/luna/poses/default/clothes/bottom/school_skirt_4/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/school_skirt_4/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/school_skirt_4/outline.webp diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts/0.webp b/game/characters/luna/poses/default/clothes/bottom/shorts/0.webp new file mode 100644 index 00000000..d24dcace --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50b1d34b23472aa5cc91c5f073b92a268baea7aa197f446504431b05dec77ee6 +size 10220 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts/1.webp b/game/characters/luna/poses/default/clothes/bottom/shorts/1.webp new file mode 100644 index 00000000..9defb7a4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e3410fa3ec006458dcad3685fad511d7d46cefeaac856b50124a02a2ab44151 +size 1988 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts/2.webp b/game/characters/luna/poses/default/clothes/bottom/shorts/2.webp new file mode 100644 index 00000000..4051f1ff --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:896a292a99a2d3734a5faa4b3f341bd02ab93a5f120881e8d477172e8fefce27 +size 7948 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts/outline.webp b/game/characters/luna/poses/default/clothes/bottom/shorts/outline.webp new file mode 100644 index 00000000..c185abf2 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:626e12b87a4d7bbdb4ba57528e244796c420fac6142ffe4dbc04e7128e106ace +size 12902 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts/skin.webp b/game/characters/luna/poses/default/clothes/bottom/shorts/skin.webp new file mode 100644 index 00000000..cbc8d6bd --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e31332ffd9bb9c0c2eeb6d886e1c5a7657251ff0199b0ab6934ca0b8e81e3f3 +size 2852 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts_latex/0.webp b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/0.webp new file mode 100644 index 00000000..3b6c8847 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3f68f682b99594db7474c1a9fb08f4a071b397afc31da2ea2739b8fd1fc9740 +size 8672 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts_latex/1.webp b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/1.webp new file mode 100644 index 00000000..85b4f3cd --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f925a33ec8df10aa8874edae437faf6c348db3162684e59da2fd5cfb715f8f70 +size 16654 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts_latex/extra.webp b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/extra.webp new file mode 100644 index 00000000..97451b32 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80cd447d1b9f124098ff94c673509afe5d3a0e5516f7c06376ee960f2a6d9d2c +size 4500 diff --git a/game/characters/luna/poses/default/clothes/bottom/shorts_latex/outline.webp b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/outline.webp new file mode 100644 index 00000000..feee7c1b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/shorts_latex/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f3db0b543883008585e352e54d5b09b5d4b4bbe902b073b07cd6862136c9769 +size 12036 diff --git a/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/0.webp b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/0.webp new file mode 100644 index 00000000..cc17f550 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e444ae6fc5fac997a619a499ca6868b2ce8506138e55d3e3f302b6a45fbb5d8d +size 7358 diff --git a/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/1.webp b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/1.webp new file mode 100644 index 00000000..60ab3764 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:169182db72d68f7db4750aa308e5b0f502d44a90d911aca967d180ffdbd3ed6a +size 11434 diff --git a/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/2.webp b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/2.webp new file mode 100644 index 00000000..beda339d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f340bac016074051d19f57c2f30f22474e24e30c6e53a20f497cccd4e50b192b +size 2316 diff --git a/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/3.webp b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/3.webp new file mode 100644 index 00000000..931bb840 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/3.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:940e19632448c89d90372ed0043ae09a8d8e4e1247e41864c27463d6a841cd44 +size 628 diff --git a/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/outline.webp b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/outline.webp new file mode 100644 index 00000000..54fcdc36 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06774be9466d6430aca0346be2bd477547c172b9eea4eef62842d7b962e4722a +size 9108 diff --git a/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/skin.webp b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/skin.webp new file mode 100644 index 00000000..4865d36e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/skirt_plaid/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b58640f84764065e4f83ffa7f0528307182782eb8fb834948e6b2be86a52a02 +size 5224 diff --git a/game/characters/luna/clothes/bottom/summer_shorts/0.webp b/game/characters/luna/poses/default/clothes/bottom/summer_shorts/0.webp similarity index 100% rename from game/characters/luna/clothes/bottom/summer_shorts/0.webp rename to game/characters/luna/poses/default/clothes/bottom/summer_shorts/0.webp diff --git a/game/characters/luna/clothes/bottom/summer_shorts/1.webp b/game/characters/luna/poses/default/clothes/bottom/summer_shorts/1.webp similarity index 100% rename from game/characters/luna/clothes/bottom/summer_shorts/1.webp rename to game/characters/luna/poses/default/clothes/bottom/summer_shorts/1.webp diff --git a/game/characters/luna/clothes/bottom/summer_shorts/2.webp b/game/characters/luna/poses/default/clothes/bottom/summer_shorts/2.webp similarity index 100% rename from game/characters/luna/clothes/bottom/summer_shorts/2.webp rename to game/characters/luna/poses/default/clothes/bottom/summer_shorts/2.webp diff --git a/game/characters/luna/clothes/bottom/summer_shorts/outline.webp b/game/characters/luna/poses/default/clothes/bottom/summer_shorts/outline.webp similarity index 100% rename from game/characters/luna/clothes/bottom/summer_shorts/outline.webp rename to game/characters/luna/poses/default/clothes/bottom/summer_shorts/outline.webp diff --git a/game/characters/luna/clothes/bottom/summer_shorts/skin.webp b/game/characters/luna/poses/default/clothes/bottom/summer_shorts/skin.webp similarity index 100% rename from game/characters/luna/clothes/bottom/summer_shorts/skin.webp rename to game/characters/luna/poses/default/clothes/bottom/summer_shorts/skin.webp diff --git a/game/characters/luna/poses/default/clothes/bottom/trousers_latex/0.webp b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/0.webp new file mode 100644 index 00000000..df5acdc3 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2be2a0166056d16ca3277a6d6ad6b89acb6e0a621d819602568c19de2c32375 +size 11164 diff --git a/game/characters/luna/poses/default/clothes/bottom/trousers_latex/1.webp b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/1.webp new file mode 100644 index 00000000..3ba55992 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d40916d65174161dd246c5f5567776710fdafe6759634e94cffa05c7ba3b437c +size 29126 diff --git a/game/characters/luna/poses/default/clothes/bottom/trousers_latex/extra.webp b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/extra.webp new file mode 100644 index 00000000..7d359281 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21740c1ba177959b4862f95e288097dec352a98f7a654a4620486aed7ef35c0e +size 7482 diff --git a/game/characters/luna/poses/default/clothes/bottom/trousers_latex/outline.webp b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/outline.webp new file mode 100644 index 00000000..017c580e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/bottom/trousers_latex/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77205415b67f82db4c40038f168c763d80b698675b788cc044cd654a4a832f0d +size 17886 diff --git a/game/characters/luna/clothes/bra/basic_bra_1/0.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_1/0.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_1/0.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_1/0.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_1/1.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_1/1.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_1/1.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_1/1.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_1/2.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_1/2.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_1/2.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_1/2.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_1/extra.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_1/extra.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_1/extra.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_1/outline.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_1/outline.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_1/outline.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_1/skin.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_1/skin.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_1/skin.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_2/0.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_2/0.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_2/0.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_2/0.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_2/1.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_2/1.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_2/1.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_2/1.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_2/extra.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_2/extra.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_2/extra.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_2/extra.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_2/outline.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_2/outline.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_2/outline.webp diff --git a/game/characters/luna/clothes/bra/basic_bra_2/skin.webp b/game/characters/luna/poses/default/clothes/bra/basic_bra_2/skin.webp similarity index 100% rename from game/characters/luna/clothes/bra/basic_bra_2/skin.webp rename to game/characters/luna/poses/default/clothes/bra/basic_bra_2/skin.webp diff --git a/game/characters/luna/clothes/bra/bikini_bra_3/0.webp b/game/characters/luna/poses/default/clothes/bra/bikini_bra_3/0.webp similarity index 100% rename from game/characters/luna/clothes/bra/bikini_bra_3/0.webp rename to game/characters/luna/poses/default/clothes/bra/bikini_bra_3/0.webp diff --git a/game/characters/luna/clothes/bra/bikini_bra_3/1.webp b/game/characters/luna/poses/default/clothes/bra/bikini_bra_3/1.webp similarity index 100% rename from game/characters/luna/clothes/bra/bikini_bra_3/1.webp rename to game/characters/luna/poses/default/clothes/bra/bikini_bra_3/1.webp diff --git a/game/characters/luna/clothes/bra/bikini_bra_3/extra.webp b/game/characters/luna/poses/default/clothes/bra/bikini_bra_3/extra.webp similarity index 100% rename from game/characters/luna/clothes/bra/bikini_bra_3/extra.webp rename to game/characters/luna/poses/default/clothes/bra/bikini_bra_3/extra.webp diff --git a/game/characters/luna/clothes/bra/bikini_bra_3/outline.webp b/game/characters/luna/poses/default/clothes/bra/bikini_bra_3/outline.webp similarity index 100% rename from game/characters/luna/clothes/bra/bikini_bra_3/outline.webp rename to game/characters/luna/poses/default/clothes/bra/bikini_bra_3/outline.webp diff --git a/game/characters/luna/clothes/bra/lace_bra_1/0.webp b/game/characters/luna/poses/default/clothes/bra/lace_bra_1/0.webp similarity index 100% rename from game/characters/luna/clothes/bra/lace_bra_1/0.webp rename to game/characters/luna/poses/default/clothes/bra/lace_bra_1/0.webp diff --git a/game/characters/luna/clothes/bra/lace_bra_1/1.webp b/game/characters/luna/poses/default/clothes/bra/lace_bra_1/1.webp similarity index 100% rename from game/characters/luna/clothes/bra/lace_bra_1/1.webp rename to game/characters/luna/poses/default/clothes/bra/lace_bra_1/1.webp diff --git a/game/characters/luna/clothes/bra/lace_bra_1/outline.webp b/game/characters/luna/poses/default/clothes/bra/lace_bra_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/bra/lace_bra_1/outline.webp rename to game/characters/luna/poses/default/clothes/bra/lace_bra_1/outline.webp diff --git a/game/characters/luna/clothes/bra/lace_bra_1/skin.webp b/game/characters/luna/poses/default/clothes/bra/lace_bra_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/bra/lace_bra_1/skin.webp rename to game/characters/luna/poses/default/clothes/bra/lace_bra_1/skin.webp diff --git a/game/characters/luna/poses/default/clothes/earrings/bauble_earring/0.webp b/game/characters/luna/poses/default/clothes/earrings/bauble_earring/0.webp new file mode 100644 index 00000000..3349ab2f --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/bauble_earring/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4c09b900c0ffdaa2fa282708e5f1c2756406b37f7951dbfaadc562b9318f450 +size 956 diff --git a/game/characters/luna/poses/default/clothes/earrings/bauble_earring/extra.webp b/game/characters/luna/poses/default/clothes/earrings/bauble_earring/extra.webp new file mode 100644 index 00000000..8bee3476 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/bauble_earring/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:027cec5b675d1a1ebf4eab7c399a8c9e4970bbbf3f7e7133379917dc5485cdcc +size 5634 diff --git a/game/characters/luna/poses/default/clothes/earrings/bauble_earring/outline.webp b/game/characters/luna/poses/default/clothes/earrings/bauble_earring/outline.webp new file mode 100644 index 00000000..b14b991b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/bauble_earring/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4fe8014afb5ee731b03b00276a169d43446f978b3ee3cd03df0d27735f0333f +size 1390 diff --git a/game/characters/luna/poses/default/clothes/earrings/ear_studs/0.webp b/game/characters/luna/poses/default/clothes/earrings/ear_studs/0.webp new file mode 100644 index 00000000..0ce284e6 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/ear_studs/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:190176595a63a1d7c293f41432f6c434f034d02df9e84d0ace9e33e5e021fe94 +size 582 diff --git a/game/characters/luna/poses/default/clothes/earrings/ear_studs/extra.webp b/game/characters/luna/poses/default/clothes/earrings/ear_studs/extra.webp new file mode 100644 index 00000000..d872859b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/ear_studs/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:431b0232b75c3e5689f486ef96d9cee0f75359358528d1196dbafb09f85cc348 +size 538 diff --git a/game/characters/luna/poses/default/clothes/earrings/ear_studs/outline.webp b/game/characters/luna/poses/default/clothes/earrings/ear_studs/outline.webp new file mode 100644 index 00000000..6dc896b1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/ear_studs/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7d05ac68efaf18fcd31637022ce275987702d5fa1ed14cf610629ad73052af6 +size 578 diff --git a/game/characters/luna/poses/default/clothes/earrings/earring_moon/0.webp b/game/characters/luna/poses/default/clothes/earrings/earring_moon/0.webp new file mode 100644 index 00000000..b6d2dad3 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/earring_moon/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82cffaf1efbc0e1d76704add8a92fbec79a6127212e727edc5203c3000f148d2 +size 640 diff --git a/game/characters/luna/poses/default/clothes/earrings/earring_moon/1.webp b/game/characters/luna/poses/default/clothes/earrings/earring_moon/1.webp new file mode 100644 index 00000000..a66f19fc --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/earring_moon/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af264b3b4e78599f5d4c5e71afc76b6cd3797b8c90dfba2df3392a16a3dbfac6 +size 582 diff --git a/game/characters/luna/poses/default/clothes/earrings/earring_moon/2.webp b/game/characters/luna/poses/default/clothes/earrings/earring_moon/2.webp new file mode 100644 index 00000000..c0d823a4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/earring_moon/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:009d168fda5bf75cbb16ac73254fe61ea39b51a79b0442f42fe71d6dc42768c2 +size 604 diff --git a/game/characters/luna/poses/default/clothes/earrings/earring_moon/extra.webp b/game/characters/luna/poses/default/clothes/earrings/earring_moon/extra.webp new file mode 100644 index 00000000..38d8acb8 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/earring_moon/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e99e9a1d71f6b39ae36f8abb7ca5177432f994b1f58984e15c1f1ba9b7ec7084 +size 586 diff --git a/game/characters/luna/poses/default/clothes/earrings/earring_moon/outline.webp b/game/characters/luna/poses/default/clothes/earrings/earring_moon/outline.webp new file mode 100644 index 00000000..2752596c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/earrings/earring_moon/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2b2c82218a5850964c07ad320b05cb5a08e0f863698667e0bdc9f0b79f2a7b1 +size 966 diff --git a/game/characters/luna/clothes/glasses/spectrespecs/0.webp b/game/characters/luna/poses/default/clothes/glasses/spectrespecs/0.webp similarity index 100% rename from game/characters/luna/clothes/glasses/spectrespecs/0.webp rename to game/characters/luna/poses/default/clothes/glasses/spectrespecs/0.webp diff --git a/game/characters/luna/clothes/glasses/spectrespecs/1.webp b/game/characters/luna/poses/default/clothes/glasses/spectrespecs/1.webp similarity index 100% rename from game/characters/luna/clothes/glasses/spectrespecs/1.webp rename to game/characters/luna/poses/default/clothes/glasses/spectrespecs/1.webp diff --git a/game/characters/luna/clothes/glasses/spectrespecs/extra.webp b/game/characters/luna/poses/default/clothes/glasses/spectrespecs/extra.webp similarity index 100% rename from game/characters/luna/clothes/glasses/spectrespecs/extra.webp rename to game/characters/luna/poses/default/clothes/glasses/spectrespecs/extra.webp diff --git a/game/characters/luna/clothes/glasses/spectrespecs/outline.webp b/game/characters/luna/poses/default/clothes/glasses/spectrespecs/outline.webp similarity index 100% rename from game/characters/luna/clothes/glasses/spectrespecs/outline.webp rename to game/characters/luna/poses/default/clothes/glasses/spectrespecs/outline.webp diff --git a/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/0_back.webp b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/0_back.webp new file mode 100644 index 00000000..deae2c7f --- /dev/null +++ b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94c60e48cdf99b12f60b48098800e5f6ab70e42f66c1d459e0f1406c05544599 +size 572 diff --git a/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/0_zorder_150.webp b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/0_zorder_150.webp new file mode 100644 index 00000000..a0b99743 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/0_zorder_150.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdd8638406ecef703aa920a0518292ce360b7a3e767a6234094defce1586a184 +size 1534 diff --git a/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/1_zorder_150.webp b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/1_zorder_150.webp new file mode 100644 index 00000000..199a5cdc --- /dev/null +++ b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/1_zorder_150.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:989ad75c37671c8281cc021a756b7e724fa21a8ff77a162043ff3a117feebfbf +size 2622 diff --git a/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/extra_zorder_150.webp b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/extra_zorder_150.webp new file mode 100644 index 00000000..0c07f6dc --- /dev/null +++ b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/extra_zorder_150.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ed9a20fab44943a3b04cef2a8022b2b6bfd81b0d6cd315c962da7a595f20128 +size 4604 diff --git a/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_back.webp b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_back.webp new file mode 100644 index 00000000..7d3727a4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79eccd9cec3b045413797ffff096fd01edc1b62fdd1b71036399e73dece3cccb +size 570 diff --git a/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_zorder_150.webp b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_zorder_150.webp new file mode 100644 index 00000000..d66f0836 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_zorder_150.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1494d57049415402b44a4873313fb68cbaaca58eed3d5c1b739e3ecce7e47b3d +size 3588 diff --git a/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/skin.webp b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/skin.webp new file mode 100644 index 00000000..d6d104a6 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/glasses/sunglasses_2/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2206baaa2fbe62cd36c8a804e13dbbe21d9cd4c5d042b7ea0eec66eed12550be +size 2318 diff --git a/game/characters/luna/clothes/gloves/harley_quinn/0.webp b/game/characters/luna/poses/default/clothes/gloves/harley_quinn/0.webp similarity index 100% rename from game/characters/luna/clothes/gloves/harley_quinn/0.webp rename to game/characters/luna/poses/default/clothes/gloves/harley_quinn/0.webp diff --git a/game/characters/luna/clothes/gloves/harley_quinn/extra.webp b/game/characters/luna/poses/default/clothes/gloves/harley_quinn/extra.webp similarity index 100% rename from game/characters/luna/clothes/gloves/harley_quinn/extra.webp rename to game/characters/luna/poses/default/clothes/gloves/harley_quinn/extra.webp diff --git a/game/characters/luna/clothes/gloves/harley_quinn/outline.webp b/game/characters/luna/poses/default/clothes/gloves/harley_quinn/outline.webp similarity index 100% rename from game/characters/luna/clothes/gloves/harley_quinn/outline.webp rename to game/characters/luna/poses/default/clothes/gloves/harley_quinn/outline.webp diff --git a/game/characters/luna/clothes/hair/base/0.webp b/game/characters/luna/poses/default/clothes/hair/base/0.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/0.webp rename to game/characters/luna/poses/default/clothes/hair/base/0.webp diff --git a/game/characters/luna/clothes/hair/base/0_back.webp b/game/characters/luna/poses/default/clothes/hair/base/0_back.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/0_back.webp rename to game/characters/luna/poses/default/clothes/hair/base/0_back.webp diff --git a/game/characters/luna/clothes/hair/base/1.webp b/game/characters/luna/poses/default/clothes/hair/base/1.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/1.webp rename to game/characters/luna/poses/default/clothes/hair/base/1.webp diff --git a/game/characters/luna/clothes/hair/base/1_back.webp b/game/characters/luna/poses/default/clothes/hair/base/1_back.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/1_back.webp rename to game/characters/luna/poses/default/clothes/hair/base/1_back.webp diff --git a/game/characters/luna/clothes/hair/base/2.webp b/game/characters/luna/poses/default/clothes/hair/base/2.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/2.webp rename to game/characters/luna/poses/default/clothes/hair/base/2.webp diff --git a/game/characters/luna/clothes/hair/base/outline.webp b/game/characters/luna/poses/default/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/outline.webp rename to game/characters/luna/poses/default/clothes/hair/base/outline.webp diff --git a/game/characters/luna/clothes/hair/base/outline_back.webp b/game/characters/luna/poses/default/clothes/hair/base/outline_back.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/outline_back.webp rename to game/characters/luna/poses/default/clothes/hair/base/outline_back.webp diff --git a/game/characters/luna/clothes/hair/base/skin.webp b/game/characters/luna/poses/default/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/luna/clothes/hair/base/skin.webp rename to game/characters/luna/poses/default/clothes/hair/base/skin.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/0.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/0.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/0.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/0.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/1.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/1.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/1.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/1.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/2.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/2.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/2.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/2.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/3.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/3.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/3.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/3.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/4.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/4.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/4.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/4.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/extra.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/extra.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/extra.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/extra.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/outline.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/outline.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/outline.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/outline.webp diff --git a/game/characters/luna/clothes/hair/harley_quinn/skin.webp b/game/characters/luna/poses/default/clothes/hair/harley_quinn/skin.webp similarity index 100% rename from game/characters/luna/clothes/hair/harley_quinn/skin.webp rename to game/characters/luna/poses/default/clothes/hair/harley_quinn/skin.webp diff --git a/game/characters/luna/clothes/hair/wand/0.webp b/game/characters/luna/poses/default/clothes/hair/wand/0.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/0.webp rename to game/characters/luna/poses/default/clothes/hair/wand/0.webp diff --git a/game/characters/luna/clothes/hair/wand/0_back.webp b/game/characters/luna/poses/default/clothes/hair/wand/0_back.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/0_back.webp rename to game/characters/luna/poses/default/clothes/hair/wand/0_back.webp diff --git a/game/characters/luna/clothes/hair/wand/1.webp b/game/characters/luna/poses/default/clothes/hair/wand/1.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/1.webp rename to game/characters/luna/poses/default/clothes/hair/wand/1.webp diff --git a/game/characters/luna/clothes/hair/wand/1_back.webp b/game/characters/luna/poses/default/clothes/hair/wand/1_back.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/1_back.webp rename to game/characters/luna/poses/default/clothes/hair/wand/1_back.webp diff --git a/game/characters/luna/clothes/hair/wand/2.webp b/game/characters/luna/poses/default/clothes/hair/wand/2.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/2.webp rename to game/characters/luna/poses/default/clothes/hair/wand/2.webp diff --git a/game/characters/luna/clothes/hair/wand/extra.webp b/game/characters/luna/poses/default/clothes/hair/wand/extra.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/extra.webp rename to game/characters/luna/poses/default/clothes/hair/wand/extra.webp diff --git a/game/characters/luna/clothes/hair/wand/outline.webp b/game/characters/luna/poses/default/clothes/hair/wand/outline.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/outline.webp rename to game/characters/luna/poses/default/clothes/hair/wand/outline.webp diff --git a/game/characters/luna/clothes/hair/wand/outline_back.webp b/game/characters/luna/poses/default/clothes/hair/wand/outline_back.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/outline_back.webp rename to game/characters/luna/poses/default/clothes/hair/wand/outline_back.webp diff --git a/game/characters/luna/clothes/hair/wand/skin.webp b/game/characters/luna/poses/default/clothes/hair/wand/skin.webp similarity index 100% rename from game/characters/luna/clothes/hair/wand/skin.webp rename to game/characters/luna/poses/default/clothes/hair/wand/skin.webp diff --git a/game/characters/luna/poses/default/clothes/headgear/antlers/default/0.webp b/game/characters/luna/poses/default/clothes/headgear/antlers/default/0.webp new file mode 100644 index 00000000..a1a4953e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/antlers/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ac4b614a36a330573092b51fa87da406a7eab15f6bc8b3f95a7e369458d6fc1 +size 3868 diff --git a/game/characters/luna/poses/default/clothes/headgear/antlers/default/1.webp b/game/characters/luna/poses/default/clothes/headgear/antlers/default/1.webp new file mode 100644 index 00000000..70c5533d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/antlers/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f93df8780dd8073eca1872a327865d490764abca52e3f7acca92648acb46d53 +size 1952 diff --git a/game/characters/luna/poses/default/clothes/headgear/antlers/default/2.webp b/game/characters/luna/poses/default/clothes/headgear/antlers/default/2.webp new file mode 100644 index 00000000..04fabeaf --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/antlers/default/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42cb0a456503e13f3bc560a479a653514f86e6fd9c2ff93bf66a6a9e11ba4b61 +size 6480 diff --git a/game/characters/luna/poses/default/clothes/headgear/antlers/default/extra.webp b/game/characters/luna/poses/default/clothes/headgear/antlers/default/extra.webp new file mode 100644 index 00000000..b96b4b0c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/antlers/default/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe2d8b489d60ef5b90cd67dc92f76590082bda435ee54f266cae3db0501f2386 +size 2774 diff --git a/game/characters/luna/poses/default/clothes/headgear/antlers/default/outline.webp b/game/characters/luna/poses/default/clothes/headgear/antlers/default/outline.webp new file mode 100644 index 00000000..44920965 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/antlers/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b323474b70aa5cefb8897fcae2a77856a37c8e704534a9f3498cca8046b9d38 +size 10056 diff --git a/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/0.webp b/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/0.webp new file mode 100644 index 00000000..d29ddc86 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97ec5ddee717488aa27a329598d4eb023072576801e0a7273aa786c88ee552ef +size 5848 diff --git a/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/1.webp b/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/1.webp new file mode 100644 index 00000000..c0097682 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66939f733b4ee4b2752f656c472d645efca3f3d0231a1c7029dce7257060cf26 +size 8532 diff --git a/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp b/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp new file mode 100644 index 00000000..b522867e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb2dfc2f3543bd20265249d17a7069cc538a7687f68deb84dab1afee3bc709e8 +size 8134 diff --git a/game/characters/luna/clothes/headgear/flight_attendant/0.webp b/game/characters/luna/poses/default/clothes/headgear/flight_attendant/default/0.webp similarity index 100% rename from game/characters/luna/clothes/headgear/flight_attendant/0.webp rename to game/characters/luna/poses/default/clothes/headgear/flight_attendant/default/0.webp diff --git a/game/characters/luna/clothes/headgear/flight_attendant/outline.webp b/game/characters/luna/poses/default/clothes/headgear/flight_attendant/default/outline.webp similarity index 100% rename from game/characters/luna/clothes/headgear/flight_attendant/outline.webp rename to game/characters/luna/poses/default/clothes/headgear/flight_attendant/default/outline.webp diff --git a/game/characters/luna/poses/default/clothes/makeup/nail_polish/0.webp b/game/characters/luna/poses/default/clothes/makeup/nail_polish/0.webp new file mode 100644 index 00000000..63e484be --- /dev/null +++ b/game/characters/luna/poses/default/clothes/makeup/nail_polish/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6105669250710b98244f6c06c71ad2e8beb2ba8a7238d5c02c01d25f03a5d1f9 +size 1078 diff --git a/game/characters/luna/poses/default/clothes/makeup/nail_polish/extra.webp b/game/characters/luna/poses/default/clothes/makeup/nail_polish/extra.webp new file mode 100644 index 00000000..01e5c06e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/makeup/nail_polish/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5650fa1cba634abe6137ed53cb22fd9f149d463df3b4f665e7b6ca8e6f50cded +size 818 diff --git a/game/characters/tonks/clothes/makeup/elf_ears/0.webp b/game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/elf_ears/0.webp rename to game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/0.webp diff --git a/game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/outline.webp b/game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/outline.webp new file mode 100644 index 00000000..3cc72002 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8edcccc31e7b09836dfc123c7edb5f742b750fe9f04ba739693d746ba67facad +size 10164 diff --git a/game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/skin.webp b/game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/skin.webp new file mode 100644 index 00000000..46a59c56 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/chocolate_frog/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76216dd403f973ed6e03ce7e2b86abb0020fc0dee66cf7d34691563c5b6f8d2b +size 1660 diff --git a/game/characters/luna/poses/default/clothes/neckwear/choker_1/0.webp b/game/characters/luna/poses/default/clothes/neckwear/choker_1/0.webp new file mode 100644 index 00000000..3bd9171b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/choker_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7eb953447463332c51e44744345cfb745148573d4187b08685e397845923ee15 +size 918 diff --git a/game/characters/luna/poses/default/clothes/neckwear/choker_1/outline.webp b/game/characters/luna/poses/default/clothes/neckwear/choker_1/outline.webp new file mode 100644 index 00000000..fd43a978 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/choker_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:379f06905ffda07678222cb3f0b2c91f3ae356ea7e8d1a6180523d9c3ce0ed47 +size 1470 diff --git a/game/characters/luna/poses/default/clothes/neckwear/collar/0.webp b/game/characters/luna/poses/default/clothes/neckwear/collar/0.webp new file mode 100644 index 00000000..b967dfc1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/collar/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9f696302f312ae1da41f2c93e6d8af369413bee36ee8afe6f1dba8ae2f281b3 +size 2914 diff --git a/game/characters/luna/poses/default/clothes/neckwear/collar/1.webp b/game/characters/luna/poses/default/clothes/neckwear/collar/1.webp new file mode 100644 index 00000000..99a54ee7 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/collar/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad417da4dc030651ee18bb8e6e0626742cb348dabc1ad3c2277959ae794d9b43 +size 524 diff --git a/game/characters/luna/poses/default/clothes/neckwear/collar/outline.webp b/game/characters/luna/poses/default/clothes/neckwear/collar/outline.webp new file mode 100644 index 00000000..271e1a6a --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/collar/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f227c45f3d753ed1af8acc140acb32a7320835e5997f350f822837044d8f179 +size 2238 diff --git a/game/characters/luna/poses/default/clothes/neckwear/collar_1/0.webp b/game/characters/luna/poses/default/clothes/neckwear/collar_1/0.webp new file mode 100644 index 00000000..5e061a10 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/collar_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30bc11ad53874441b3602ef7a787d3b5a7415be2613dd6bc0c71ea9937a836cd +size 1332 diff --git a/game/characters/luna/poses/default/clothes/neckwear/collar_1/extra.webp b/game/characters/luna/poses/default/clothes/neckwear/collar_1/extra.webp new file mode 100644 index 00000000..ba11f980 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/collar_1/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5009cdd2852b6c84a9b26fb6915398ac85017b88cec143497df001b0e605bee +size 622 diff --git a/game/characters/luna/poses/default/clothes/neckwear/collar_1/outline.webp b/game/characters/luna/poses/default/clothes/neckwear/collar_1/outline.webp new file mode 100644 index 00000000..321d5bd4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/collar_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa1f0097e6d60d5af22364fafec3b59354f27d4383e7164ab34620f987db4773 +size 1616 diff --git a/game/characters/luna/poses/default/clothes/neckwear/collar_1/skin.webp b/game/characters/luna/poses/default/clothes/neckwear/collar_1/skin.webp new file mode 100644 index 00000000..c0dfadca --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/collar_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14dc400279aef4228277814cc38d4098ec51316f2f54635a66cf6ee8093a6e10 +size 1292 diff --git a/game/characters/luna/poses/default/clothes/neckwear/cork/0.webp b/game/characters/luna/poses/default/clothes/neckwear/cork/0.webp new file mode 100644 index 00000000..f30d3f53 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/cork/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f32d6d16c0fff86e6aecb0c14febc0fc8cdb7d87a683babd8cd69aa84fce96db +size 1336 diff --git a/game/characters/luna/poses/default/clothes/neckwear/cork/1.webp b/game/characters/luna/poses/default/clothes/neckwear/cork/1.webp new file mode 100644 index 00000000..9cd2b26c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/cork/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a1b89768db5088c796afeaca42a273bed136baf7fb7ed62b4f066f86c8b4843 +size 1694 diff --git a/game/characters/luna/poses/default/clothes/neckwear/cork/outline.webp b/game/characters/luna/poses/default/clothes/neckwear/cork/outline.webp new file mode 100644 index 00000000..f57668f4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/cork/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5693d8bec6946052c0240dcc1b40081a1192f1571b5b1ebc0d79761b8dbfbd79 +size 3148 diff --git a/game/characters/luna/poses/default/clothes/neckwear/cork/skin.webp b/game/characters/luna/poses/default/clothes/neckwear/cork/skin.webp new file mode 100644 index 00000000..c8b31c5e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/neckwear/cork/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:091d783163a5cd180660a6469aaf626d0a70ff8056a633051d31524fcac932f6 +size 1138 diff --git a/game/characters/luna/clothes/neckwear/neckerchief/0.webp b/game/characters/luna/poses/default/clothes/neckwear/neckerchief/0.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/neckerchief/0.webp rename to game/characters/luna/poses/default/clothes/neckwear/neckerchief/0.webp diff --git a/game/characters/luna/clothes/neckwear/neckerchief/outline.webp b/game/characters/luna/poses/default/clothes/neckwear/neckerchief/outline.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/neckerchief/outline.webp rename to game/characters/luna/poses/default/clothes/neckwear/neckerchief/outline.webp diff --git a/game/characters/luna/clothes/neckwear/tie/0.webp b/game/characters/luna/poses/default/clothes/neckwear/tie/0.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/tie/0.webp rename to game/characters/luna/poses/default/clothes/neckwear/tie/0.webp diff --git a/game/characters/luna/clothes/neckwear/tie/1.webp b/game/characters/luna/poses/default/clothes/neckwear/tie/1.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/tie/1.webp rename to game/characters/luna/poses/default/clothes/neckwear/tie/1.webp diff --git a/game/characters/luna/clothes/neckwear/tie/extra.webp b/game/characters/luna/poses/default/clothes/neckwear/tie/extra.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/tie/extra.webp rename to game/characters/luna/poses/default/clothes/neckwear/tie/extra.webp diff --git a/game/characters/luna/clothes/neckwear/tie/outline.webp b/game/characters/luna/poses/default/clothes/neckwear/tie/outline.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/tie/outline.webp rename to game/characters/luna/poses/default/clothes/neckwear/tie/outline.webp diff --git a/game/characters/luna/clothes/neckwear/tie/skin.webp b/game/characters/luna/poses/default/clothes/neckwear/tie/skin.webp similarity index 100% rename from game/characters/luna/clothes/neckwear/tie/skin.webp rename to game/characters/luna/poses/default/clothes/neckwear/tie/skin.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_1/0.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_1/0.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_1/0.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_1/0.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_1/1.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_1/1.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_1/1.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_1/1.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_1/2.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_1/2.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_1/2.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_1/2.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_1/extra.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_1/extra.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_1/extra.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_1/outline.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_1/outline.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_1/outline.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_1/skin.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_1/skin.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_1/skin.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_2/0.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_2/0.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_2/0.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_2/0.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_2/1.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_2/1.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_2/1.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_2/1.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_2/extra.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_2/extra.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_2/extra.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_2/extra.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_2/outline.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_2/outline.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_2/outline.webp diff --git a/game/characters/luna/clothes/panties/basic_panties_2/skin.webp b/game/characters/luna/poses/default/clothes/panties/basic_panties_2/skin.webp similarity index 100% rename from game/characters/luna/clothes/panties/basic_panties_2/skin.webp rename to game/characters/luna/poses/default/clothes/panties/basic_panties_2/skin.webp diff --git a/game/characters/luna/clothes/panties/bikini_panties_3/0.webp b/game/characters/luna/poses/default/clothes/panties/bikini_panties_3/0.webp similarity index 100% rename from game/characters/luna/clothes/panties/bikini_panties_3/0.webp rename to game/characters/luna/poses/default/clothes/panties/bikini_panties_3/0.webp diff --git a/game/characters/luna/clothes/panties/bikini_panties_3/1.webp b/game/characters/luna/poses/default/clothes/panties/bikini_panties_3/1.webp similarity index 100% rename from game/characters/luna/clothes/panties/bikini_panties_3/1.webp rename to game/characters/luna/poses/default/clothes/panties/bikini_panties_3/1.webp diff --git a/game/characters/luna/clothes/panties/bikini_panties_3/outline.webp b/game/characters/luna/poses/default/clothes/panties/bikini_panties_3/outline.webp similarity index 100% rename from game/characters/luna/clothes/panties/bikini_panties_3/outline.webp rename to game/characters/luna/poses/default/clothes/panties/bikini_panties_3/outline.webp diff --git a/game/characters/luna/clothes/panties/flight_attendant_thongs_1/0.webp b/game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_1/0.webp similarity index 100% rename from game/characters/luna/clothes/panties/flight_attendant_thongs_1/0.webp rename to game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_1/0.webp diff --git a/game/characters/luna/clothes/panties/flight_attendant_thongs_1/outline.webp b/game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/panties/flight_attendant_thongs_1/outline.webp rename to game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_1/outline.webp diff --git a/game/characters/luna/clothes/panties/flight_attendant_thongs_2/0.webp b/game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/0.webp similarity index 100% rename from game/characters/luna/clothes/panties/flight_attendant_thongs_2/0.webp rename to game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/0.webp diff --git a/game/characters/luna/clothes/panties/flight_attendant_thongs_2/1.webp b/game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/1.webp similarity index 100% rename from game/characters/luna/clothes/panties/flight_attendant_thongs_2/1.webp rename to game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/1.webp diff --git a/game/characters/luna/clothes/panties/flight_attendant_thongs_2/outline.webp b/game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/panties/flight_attendant_thongs_2/outline.webp rename to game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/outline.webp diff --git a/game/characters/luna/clothes/panties/flight_attendant_thongs_2/skin.webp b/game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/skin.webp similarity index 100% rename from game/characters/luna/clothes/panties/flight_attendant_thongs_2/skin.webp rename to game/characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/skin.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_1/0.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_1/0.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_1/0.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_1/0.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_1/1.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_1/1.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_1/1.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_1/1.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_1/outline.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_1/outline.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_1/outline.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_1/skin.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_1/skin.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_1/skin.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_2/0.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_2/0.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_2/0.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_2/0.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_2/1.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_2/1.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_2/1.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_2/1.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_2/2.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_2/2.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_2/2.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_2/2.webp diff --git a/game/characters/luna/clothes/panties/lace_panties_2/outline.webp b/game/characters/luna/poses/default/clothes/panties/lace_panties_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/panties/lace_panties_2/outline.webp rename to game/characters/luna/poses/default/clothes/panties/lace_panties_2/outline.webp diff --git a/game/characters/luna/poses/default/clothes/panties/panties_cumslut/0.webp b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/0.webp new file mode 100644 index 00000000..8d80b1f7 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bac6e9459080c3e133b7179095272590a86bfbe8f0eead5c0a96c5ebf1c2946 +size 5512 diff --git a/game/characters/luna/poses/default/clothes/panties/panties_cumslut/1.webp b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/1.webp new file mode 100644 index 00000000..360af446 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea16754b8a1d6e0a578ad66a845fbe5e890dd6168f0462a3cc5367e0527042c8 +size 2988 diff --git a/game/characters/luna/poses/default/clothes/panties/panties_cumslut/extra.webp b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/extra.webp new file mode 100644 index 00000000..cf97ff2f --- /dev/null +++ b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b20377c37906b25345722cd502fa81125c8706d6cad946234fd5d034b52f2c60 +size 2734 diff --git a/game/characters/luna/poses/default/clothes/panties/panties_cumslut/outline.webp b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/outline.webp new file mode 100644 index 00000000..ce9678f3 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab2a9c7e0b63a9b0578902d98be9ea45ca59ddc3deb7efd8a659323ac1cf4626 +size 7632 diff --git a/game/characters/luna/poses/default/clothes/panties/panties_cumslut/skin.webp b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/skin.webp new file mode 100644 index 00000000..912ea235 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/panties/panties_cumslut/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:107692faf52c632804fe47b77539cf9f706287139333a51653554401c76a90bd +size 3152 diff --git a/game/characters/luna/poses/default/clothes/piercing/clit_stud/0.webp b/game/characters/luna/poses/default/clothes/piercing/clit_stud/0.webp new file mode 100644 index 00000000..8cecf4e0 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/clit_stud/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f513ba80523287929176be5b6199142e47831ed047b6d852742185428459ddce +size 548 diff --git a/game/characters/luna/poses/default/clothes/piercing/clit_stud/extra.webp b/game/characters/luna/poses/default/clothes/piercing/clit_stud/extra.webp new file mode 100644 index 00000000..849ce6d6 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/clit_stud/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2052870a885f531ad1eead759dc656b12fc0f6b48fdb5a88ee5a7e0e8cd30c06 +size 310 diff --git a/game/characters/luna/poses/default/clothes/piercing/clit_stud/outline.webp b/game/characters/luna/poses/default/clothes/piercing/clit_stud/outline.webp new file mode 100644 index 00000000..03c69f38 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/clit_stud/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c3e699c331a40d3c7397ed6c0007f529727e81e50678e7a9a4546ce3b3649c9 +size 554 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/0.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/0.webp new file mode 100644 index 00000000..52224191 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:193c486c3a3f0865c71cd8712a517c19b6cd567c2fdada4f1e738f776cd1d697 +size 608 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/extra.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/extra.webp new file mode 100644 index 00000000..77051792 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d531172c4dc58cdc50b11335a1de0f98b79715f466c6ae412abd5a14b39c20cf +size 536 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/outline.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/outline.webp new file mode 100644 index 00000000..04cf20d1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51e5a8d855e020fcbc4797a41e53d91c794e457fb6a70dd76fe933502dc9b9a1 +size 648 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/0.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/0.webp new file mode 100644 index 00000000..e8784218 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da1b23ed86c95b3dc03dd6a391fc4724396f3997e33ebd2b53d6962358c2c5e2 +size 606 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/extra.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/extra.webp new file mode 100644 index 00000000..efb5a353 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f14bebd877e353388378ea809d4324e11c9551660699d483674aefd3dc03be08 +size 530 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/outline.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/outline.webp new file mode 100644 index 00000000..8a48c980 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da9894116e7c24069af49b5f7e19e4c922449f0362f690f6b593cc248b383e73 +size 646 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/0.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/0.webp new file mode 100644 index 00000000..810e618d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f693f83cfa0edae98cb81264e22b77eb7b0285101d73b602a39c616e11a1b613 +size 666 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/extra.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/extra.webp new file mode 100644 index 00000000..27d49694 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:181e1c72b1caeaf23fe412bcf31a31299e36175bbae9ba6fc5453e6b138850cf +size 538 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/outline.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/outline.webp new file mode 100644 index 00000000..6ef82c97 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e09feb2693a9feb8a04c287a7c3d51a9181847bb8c4871fa5be1f60317a67e2 +size 652 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/0.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/0.webp new file mode 100644 index 00000000..a03bd7bd --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93629f6caecf25dfd834d78ff7beadccf2f2dcb408a03ecf292796b8707a54e4 +size 606 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/extra.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/extra.webp new file mode 100644 index 00000000..9044c3e5 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d9395c87d710958d0ee32b28406e4eac738e866fed97863a22126dc18fed53b +size 544 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/outline.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/outline.webp new file mode 100644 index 00000000..217b9103 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dfa7036586ee8505e0fcae96ad66d2d3c98e35cd73f5ca84e2dd36aa1d7d970 +size 648 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/0.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/0.webp new file mode 100644 index 00000000..4ae2de8c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38b33e906af52bb31290247a01c8718bd46af58468b6ce5d78ba91c883ec02d4 +size 608 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/extra.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/extra.webp new file mode 100644 index 00000000..85047541 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38f251610bff3e54fae7a9e52b3da2da48446dcfb73df006018f19316f33d7e9 +size 540 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/outline.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/outline.webp new file mode 100644 index 00000000..f1e90ede --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8383c521f4c9cb5ee30f37a53feb19fd442fbbe16b9e21a2fa514b2ea33cf077 +size 646 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/0.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/0.webp new file mode 100644 index 00000000..689b26ad --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:affe775e5764df7646678ac4bd58ead7897c9436512a28a26ea3a6f647d21369 +size 608 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/extra.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/extra.webp new file mode 100644 index 00000000..9479d241 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d74c93e071e637835a59d413f4eaa6dc15284ea7bdfab9e40733495a8a44318 +size 528 diff --git a/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/outline.webp b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/outline.webp new file mode 100644 index 00000000..ebc9cf73 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a13f8de41d1125a8e1e1748b76b71efb9db2bc24057ba6c5cebe9b961918ea27 +size 648 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/0.webp new file mode 100644 index 00000000..e7719e46 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ec45165d1f96996174fc9b0ca8e49315523b0cb36eb039cc5b8b874b6f4acb4 +size 554 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/extra.webp new file mode 100644 index 00000000..3b17a463 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e2d1c7a877b17d192c5a9b6c0437784bca9aa3f4f33e970b8f9003331f2bc4a +size 316 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/outline.webp new file mode 100644 index 00000000..cc35e727 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/angry/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33b7f1ea42c3961165275fd8cdd4d489b7026b069a346b415f75c6eda9137867 +size 530 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/0.webp new file mode 100644 index 00000000..38f70541 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6b80ddccb857556bd4128ca9b2cbbfdde92706e2ba9a68946d8f4d49edd760e +size 556 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/extra.webp new file mode 100644 index 00000000..0be92f77 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e5f2ab22ebe8b34e247eb5381b9adc5bdbbfffeed7edb3d107e6c03790d1a7a +size 310 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/outline.webp new file mode 100644 index 00000000..92908d3c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:214a2ea8fdf69bf9d97303a253425e9d122e25ec35f0fc3f5b4ae3812e0fdda7 +size 530 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/0.webp new file mode 100644 index 00000000..8b53ed8b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67590c13f6e4ed766547b3c470a120da0dccd4477d891423f99465892ce7f51b +size 554 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/extra.webp new file mode 100644 index 00000000..48cb362e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:730f16470e179e88c6e74c67b5547bd7b8772736a0e1fd433bbbb6739b1f4f72 +size 312 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/outline.webp new file mode 100644 index 00000000..54840307 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:459e7e41d25cdb6b7d0973de44db2410170c23a13b62195aaeec2d629979dde2 +size 530 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/0.webp new file mode 100644 index 00000000..7c725055 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13a0c2dc9add33297e2e00e3a422961e4b31f918f17b5d54288c49745b5ea2d6 +size 556 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/extra.webp new file mode 100644 index 00000000..6489d353 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea0d3f14a5b33b15901909b47cf4c7fa1f4f67a0b012a066805f85a10b0907f9 +size 316 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/outline.webp new file mode 100644 index 00000000..148535b8 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/clench/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4713695ca32af2fc2dc2e1d7d0798da42f3b3a7068264acd8d678ae40fab9c39 +size 528 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/0.webp new file mode 100644 index 00000000..998f01e9 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8d81d86456cc96dd99b10def7d14e0ac617bf21f45d3ff223f4020d8c186160 +size 558 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/extra.webp new file mode 100644 index 00000000..4448f09b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8d05ad92d80490790f8c5c9fd45aac6c7ae4b39ffbddb76f016b73bd9e27c1a +size 316 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/outline.webp new file mode 100644 index 00000000..89729ce0 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:551018470eee12b12ea8f55eadb7a8cbdda4f2e0d681d31714702786de50cb42 +size 528 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/0.webp new file mode 100644 index 00000000..d0ccb1de --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d2994e16e8eb8a5e46ea534d44a122542c63f2397265bf866024257188b81d0 +size 566 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/extra.webp new file mode 100644 index 00000000..06e0003b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d51752c0a35fd27f5157760a933c687ba45cfcd43ac814e6001b0b80664798c5 +size 320 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/outline.webp new file mode 100644 index 00000000..b324169d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ebb6095a746e6b37602064a237f246fb4f0c92ddbc80a5498c7f9bc73294089 +size 534 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/0.webp new file mode 100644 index 00000000..b0210100 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b69d366273c57340707975c6731178bf7bdb22509e8e274c92093ea745e14b4f +size 556 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/extra.webp new file mode 100644 index 00000000..a5f67c64 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e226f9af03c5dd1aaa202bc6c4a270a852ced7012449d5e8b7e9edc1b878770 +size 316 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/outline.webp new file mode 100644 index 00000000..1a0b1179 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/full/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dbc9a61fce604924b081fd43e293a86d490157d10131d88fc0a1bb1ec4c7b02 +size 530 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/0.webp new file mode 100644 index 00000000..1a764ba7 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b689aa714073e1e0b90d1fc9684d8780397155c5226ad368448ce46f4862a9bd +size 560 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/extra.webp new file mode 100644 index 00000000..17a682ee --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d92aed2d8a6b2df60e1f4ef796cfbb178c6073890946520209e6b352f9c208f +size 312 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/outline.webp new file mode 100644 index 00000000..cd05d9fe --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/grin/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:646f7fcf2653693886842d0fe12484156a0fedac37be74a5b5963d59747aa7b2 +size 528 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/0.webp new file mode 100644 index 00000000..4b254b78 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b6aa54903b3309815b9eb445749ab1c077e0516913914891fdeba25567f4fc8 +size 562 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/extra.webp new file mode 100644 index 00000000..2891a1b6 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08f55d6284ef9f4f67d6d1b26e5ffc8529e1ce83245cea1e3104599dfcff5f0e +size 314 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/outline.webp new file mode 100644 index 00000000..f3bdd153 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/mad/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b9132b6177fe0b45b4b02a15cb3e2fa25cf319a7f1caccba1c68681f6697802 +size 532 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/0.webp new file mode 100644 index 00000000..5f3bfc1c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a2fb6ae149dad505d055c3255878f3338b2a8ef79b1b37032def2bc7f567e03 +size 558 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/extra.webp new file mode 100644 index 00000000..73b0c40d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f02ab4c3446c8d0c29da956b542452a7e48bf07f9d5637f3a9fe6a253c40c598 +size 314 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/outline.webp new file mode 100644 index 00000000..54840307 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/normal/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:459e7e41d25cdb6b7d0973de44db2410170c23a13b62195aaeec2d629979dde2 +size 530 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/0.webp new file mode 100644 index 00000000..c85bba2c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b4b442ed12766c771a26f6d1965e964405e4ef739f164b22ce111dbf9c18ce2 +size 564 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/extra.webp new file mode 100644 index 00000000..840c190b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a233da012d773cafc662786dce93dc4f92beccdfc67888ad2d64ff5222c42a4 +size 310 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/outline.webp new file mode 100644 index 00000000..b5fa3721 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4740a927e47a634c05d1d0f35f28e8f1c77581a17b43736c442fb5305bd8baac +size 534 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/0.webp new file mode 100644 index 00000000..76cc6fca --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43cb80810cd8db7267d91a6082bbca77363644ce11cc1865425d5f40b8777171 +size 564 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/extra.webp new file mode 100644 index 00000000..3aba3b27 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b71f10136789894cf2407db6d1abc4edf32446dfeab47481eb2e90574778cf0 +size 312 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/outline.webp new file mode 100644 index 00000000..b5fa3721 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4740a927e47a634c05d1d0f35f28e8f1c77581a17b43736c442fb5305bd8baac +size 534 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/0.webp new file mode 100644 index 00000000..932361b5 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bccbd181a738508307763b897234164b3345f4c9e8ed521ab6a156246fc645ea +size 556 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/extra.webp new file mode 100644 index 00000000..7fc082d3 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7006e1320ffc144f83f9a556d6867d512d6632adc460f3976c3115b224c4905 +size 316 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/outline.webp new file mode 100644 index 00000000..1944cc83 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e03e644757e272395d3dc68d4f8e3ff638db6c00609df1322b37918b954aefe +size 528 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/0.webp new file mode 100644 index 00000000..8dbf12a3 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c289304b7778c9657c42b4befef04f21624c373865f2f07ea7c6b2199776b4a4 +size 564 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/extra.webp new file mode 100644 index 00000000..ccce5cb1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2206b78185d37dc8906f14c5130f9ed48b8ff783f9c293307833562b9a1ec99c +size 312 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/outline.webp new file mode 100644 index 00000000..a0372ee7 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/scream/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0052a88f51d9df552fd50f06c8a05eeae1995f6109b2a221b8baa7eb140ea9e0 +size 530 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/0.webp new file mode 100644 index 00000000..62377df9 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e8c73ef75fd391a86aeaa4a72f0d7d5c533689935ccecb59f49d5793fec1e1f +size 560 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/extra.webp new file mode 100644 index 00000000..9178faa6 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:910f1598e700036dcc08bbdf0e2c57d2028faeb2ae8deaf3ceecbecbd107012c +size 312 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/outline.webp new file mode 100644 index 00000000..b6822261 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/shock/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f843091c6875308b3be52c33eab5a47588211870be639fe02c340f6ed35aa389 +size 532 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/0.webp new file mode 100644 index 00000000..3f48c2bb --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbc2c126e06bf2fb1262d97c24c1f8924597f466ef492884cd8dc63274bafbc8 +size 560 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/extra.webp new file mode 100644 index 00000000..d5db35d7 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff8abc409606701c49fb43dcbacce7d730b31cf2109e2dcc80d7103f76b13a87 +size 316 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/outline.webp new file mode 100644 index 00000000..93697086 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/silly/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c76d2b44db271ca028bbd7f69e05cd0b698b10cf6100be5bdd7c6140a45b2fb1 +size 528 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/0.webp new file mode 100644 index 00000000..503ece51 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ad685ce2a44098c1b272a16f955336062d93c7a92a98ad8f8990fafef0b7982 +size 552 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/extra.webp new file mode 100644 index 00000000..bd0d029a --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64f9bfd956959d87a89f52356691bbd4c7b5410d3cab3908de5e77745d7623e9 +size 318 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/outline.webp new file mode 100644 index 00000000..f8ed0606 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/smile/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d345b27ee3b028888285ab64b801a5908f773a9c447159417bd44ac103c8f1e +size 586 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/0.webp new file mode 100644 index 00000000..5c50f31e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03ad341e99860eb0861ebe9194f3e2f49e7d81848302226811d0f123ba94b97b +size 560 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/extra.webp new file mode 100644 index 00000000..dce3a783 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e89291193c7786536cd7982d859ad740e770252978f51bc37b8b59ec80a25e2c +size 312 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/outline.webp new file mode 100644 index 00000000..3cf964b1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/soft/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f41054551864150ae46ae322579a1e74c61e49c5b8e5d5466a7792284c1944c2 +size 532 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/0.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/0.webp new file mode 100644 index 00000000..7ab6236f --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dc57ab503d0da023d0bd8bd78d9227b5e19c18388caf77c4cfb77de2ab5daf4 +size 558 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/extra.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/extra.webp new file mode 100644 index 00000000..bb1dc75d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69b06a89ec5b9bf8245d164aee00e7454241c31fe676e77e8e4185ea9e625397 +size 300 diff --git a/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/outline.webp b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/outline.webp new file mode 100644 index 00000000..c08dcb98 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/mouth_stud/upset/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25d23142da94862af949a730c99c0750fd465fe42b07973b399738808f3b65b1 +size 584 diff --git a/game/characters/luna/poses/default/clothes/piercing/nipple_rings/0.webp b/game/characters/luna/poses/default/clothes/piercing/nipple_rings/0.webp new file mode 100644 index 00000000..75fef99f --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nipple_rings/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c4493813d67fe122916dbe24c92a95f22231805566ae7c9e689eadc0a73a773 +size 1000 diff --git a/game/characters/luna/poses/default/clothes/piercing/nipple_rings/extra.webp b/game/characters/luna/poses/default/clothes/piercing/nipple_rings/extra.webp new file mode 100644 index 00000000..e6dd2770 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nipple_rings/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af4d01b8f545de9a45bcad56101e36f2316a5a32a1e753b03d25d70acc05cb7e +size 692 diff --git a/game/characters/luna/poses/default/clothes/piercing/nipple_rings/outline.webp b/game/characters/luna/poses/default/clothes/piercing/nipple_rings/outline.webp new file mode 100644 index 00000000..ec337ff3 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nipple_rings/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5179911bb8c5de6ac762757501d6292f3458a9e17b7ef77102ac808674c64525 +size 1170 diff --git a/game/characters/luna/poses/default/clothes/piercing/nipple_studs/0.webp b/game/characters/luna/poses/default/clothes/piercing/nipple_studs/0.webp new file mode 100644 index 00000000..93e37c74 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nipple_studs/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ada8a792f0ae3424cf9a8f2521f36639bed220b90bacfc8c871fa79aea411d1 +size 638 diff --git a/game/characters/luna/poses/default/clothes/piercing/nipple_studs/extra.webp b/game/characters/luna/poses/default/clothes/piercing/nipple_studs/extra.webp new file mode 100644 index 00000000..0d1b9ff6 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nipple_studs/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:629bf5fbf356acc7847e4674d4432ec925e7d4b728192214e1fcd139daaddaba +size 608 diff --git a/game/characters/luna/poses/default/clothes/piercing/nipple_studs/outline.webp b/game/characters/luna/poses/default/clothes/piercing/nipple_studs/outline.webp new file mode 100644 index 00000000..d8d6eef4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nipple_studs/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f90ef427e1f9fafc7d8c271fb452ac01ed89add5c6b06acc1e81440096a67e1 +size 672 diff --git a/game/characters/luna/poses/default/clothes/piercing/nose_ring/0.webp b/game/characters/luna/poses/default/clothes/piercing/nose_ring/0.webp new file mode 100644 index 00000000..af75bc5e --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nose_ring/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3581e0473a7c3de0fc7c0c887ea4293fad8c53c4648bb08f7523a6c95d842c4 +size 586 diff --git a/game/characters/luna/poses/default/clothes/piercing/nose_ring/extra.webp b/game/characters/luna/poses/default/clothes/piercing/nose_ring/extra.webp new file mode 100644 index 00000000..2b8d9865 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nose_ring/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67e069f2a18dad8d8c97cf6e7f2a9f1bb630e258dcc22e0fd5a3e8dc633c4d53 +size 588 diff --git a/game/characters/luna/poses/default/clothes/piercing/nose_ring/outline.webp b/game/characters/luna/poses/default/clothes/piercing/nose_ring/outline.webp new file mode 100644 index 00000000..39a6a15f --- /dev/null +++ b/game/characters/luna/poses/default/clothes/piercing/nose_ring/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97b61f0e753cb5580debb788d8de36fc4de3110efe10a5d7256cec9e0d807d76 +size 648 diff --git a/game/characters/luna/clothes/pubes/arrow/0.webp b/game/characters/luna/poses/default/clothes/pubes/arrow/0.webp similarity index 100% rename from game/characters/luna/clothes/pubes/arrow/0.webp rename to game/characters/luna/poses/default/clothes/pubes/arrow/0.webp diff --git a/game/characters/luna/clothes/pubes/arrow/outline.webp b/game/characters/luna/poses/default/clothes/pubes/arrow/outline.webp similarity index 100% rename from game/characters/luna/clothes/pubes/arrow/outline.webp rename to game/characters/luna/poses/default/clothes/pubes/arrow/outline.webp diff --git a/game/characters/luna/clothes/pubes/beaver/0.webp b/game/characters/luna/poses/default/clothes/pubes/beaver/0.webp similarity index 100% rename from game/characters/luna/clothes/pubes/beaver/0.webp rename to game/characters/luna/poses/default/clothes/pubes/beaver/0.webp diff --git a/game/characters/luna/clothes/pubes/beaver/outline.webp b/game/characters/luna/poses/default/clothes/pubes/beaver/outline.webp similarity index 100% rename from game/characters/luna/clothes/pubes/beaver/outline.webp rename to game/characters/luna/poses/default/clothes/pubes/beaver/outline.webp diff --git a/game/characters/luna/clothes/pubes/stuble/0.webp b/game/characters/luna/poses/default/clothes/pubes/stuble/0.webp similarity index 100% rename from game/characters/luna/clothes/pubes/stuble/0.webp rename to game/characters/luna/poses/default/clothes/pubes/stuble/0.webp diff --git a/game/characters/luna/clothes/pubes/unshaved/0.webp b/game/characters/luna/poses/default/clothes/pubes/unshaved/0.webp similarity index 100% rename from game/characters/luna/clothes/pubes/unshaved/0.webp rename to game/characters/luna/poses/default/clothes/pubes/unshaved/0.webp diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_142.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_142.webp new file mode 100644 index 00000000..b5aaf092 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_142.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49cee2dfb04456441a2dd92a00255555080529fb431dbeec32f7ca88c29225a7 +size 23574 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_152.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_152.webp new file mode 100644 index 00000000..db33ae09 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_152.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ccd5de3964dff9ff270fb6d7a0677a22553f4c7094958d5e5500d6eb797ab73 +size 29934 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_143.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_143.webp new file mode 100644 index 00000000..21ba8522 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_143.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b120b7af98df9148d13b950b46b40d9a8d989109b97f10cd02dcfe3f534315e4 +size 628 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_153.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_153.webp new file mode 100644 index 00000000..64fbb00d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_153.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a46d43809640437ed54a01de49586f2cc2a205b7cf638ff4a210f996e1ff662 +size 1092 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_-1.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_-1.webp new file mode 100644 index 00000000..b2d55eef --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_-1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ae9e532806f99164a717cd70bdb71d4ad6e9d3c949c5d232c36dd54f9b3d2b0 +size 7498 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_101.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_101.webp new file mode 100644 index 00000000..899ad8a1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_101.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c46809f20e082a32a7edbbde25978d6387c1e38c7ca970f3f1905b0196a3e4c +size 13042 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/extra.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/extra.webp new file mode 100644 index 00000000..a243bd66 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c2d6d0db5adf1b5018831c3c5f0d0aeeb60612553e28332e188724d34fb067 +size 22716 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_145.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_145.webp new file mode 100644 index 00000000..c4afe69d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_145.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:636b4d2354cfd2f20fb59f441f6845c5e795088214a8ec048922ccea06931670 +size 17514 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_155.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_155.webp new file mode 100644 index 00000000..270066a4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_155.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:639e37bc7330d90d2587e230fcb519dfa1c153d188fe465aa00cdc6c05f4da8a +size 22306 diff --git a/game/characters/luna/poses/default/clothes/robe/coat_flasher/skin.webp b/game/characters/luna/poses/default/clothes/robe/coat_flasher/skin.webp new file mode 100644 index 00000000..459127be --- /dev/null +++ b/game/characters/luna/poses/default/clothes/robe/coat_flasher/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6b63a6a5d1c94c31bdfca08319011bb0a7180cebd816cd5a0cb2e43c5a7ab50 +size 5660 diff --git a/game/characters/luna/clothes/robe/harley_quinn/0.webp b/game/characters/luna/poses/default/clothes/robe/harley_quinn/0.webp similarity index 100% rename from game/characters/luna/clothes/robe/harley_quinn/0.webp rename to game/characters/luna/poses/default/clothes/robe/harley_quinn/0.webp diff --git a/game/characters/luna/clothes/robe/harley_quinn/1.webp b/game/characters/luna/poses/default/clothes/robe/harley_quinn/1.webp similarity index 100% rename from game/characters/luna/clothes/robe/harley_quinn/1.webp rename to game/characters/luna/poses/default/clothes/robe/harley_quinn/1.webp diff --git a/game/characters/luna/clothes/robe/harley_quinn/2.webp b/game/characters/luna/poses/default/clothes/robe/harley_quinn/2.webp similarity index 100% rename from game/characters/luna/clothes/robe/harley_quinn/2.webp rename to game/characters/luna/poses/default/clothes/robe/harley_quinn/2.webp diff --git a/game/characters/luna/clothes/robe/harley_quinn/3.webp b/game/characters/luna/poses/default/clothes/robe/harley_quinn/3.webp similarity index 100% rename from game/characters/luna/clothes/robe/harley_quinn/3.webp rename to game/characters/luna/poses/default/clothes/robe/harley_quinn/3.webp diff --git a/game/characters/luna/clothes/robe/harley_quinn/4.webp b/game/characters/luna/poses/default/clothes/robe/harley_quinn/4.webp similarity index 100% rename from game/characters/luna/clothes/robe/harley_quinn/4.webp rename to game/characters/luna/poses/default/clothes/robe/harley_quinn/4.webp diff --git a/game/characters/luna/clothes/robe/harley_quinn/outline.webp b/game/characters/luna/poses/default/clothes/robe/harley_quinn/outline.webp similarity index 100% rename from game/characters/luna/clothes/robe/harley_quinn/outline.webp rename to game/characters/luna/poses/default/clothes/robe/harley_quinn/outline.webp diff --git a/game/characters/luna/clothes/robe/muggle_jacket/0.webp b/game/characters/luna/poses/default/clothes/robe/muggle_jacket/0.webp similarity index 100% rename from game/characters/luna/clothes/robe/muggle_jacket/0.webp rename to game/characters/luna/poses/default/clothes/robe/muggle_jacket/0.webp diff --git a/game/characters/luna/clothes/robe/muggle_jacket/1.webp b/game/characters/luna/poses/default/clothes/robe/muggle_jacket/1.webp similarity index 100% rename from game/characters/luna/clothes/robe/muggle_jacket/1.webp rename to game/characters/luna/poses/default/clothes/robe/muggle_jacket/1.webp diff --git a/game/characters/luna/clothes/robe/muggle_jacket/outline.webp b/game/characters/luna/poses/default/clothes/robe/muggle_jacket/outline.webp similarity index 100% rename from game/characters/luna/clothes/robe/muggle_jacket/outline.webp rename to game/characters/luna/poses/default/clothes/robe/muggle_jacket/outline.webp diff --git a/game/characters/luna/clothes/robe/robe_school_1/0.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_1/0.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_1/0.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_1/0.webp diff --git a/game/characters/luna/clothes/robe/robe_school_1/0_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_1/0_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_1/0_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_1/0_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_1/1.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_1/1.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_1/1.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_1/1.webp diff --git a/game/characters/luna/clothes/robe/robe_school_1/1_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_1/1_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_1/1_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_1/1_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_1/mask.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_1/mask.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_1/mask.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_1/mask.webp diff --git a/game/characters/luna/clothes/robe/robe_school_1/outline.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_1/outline.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_1/outline.webp diff --git a/game/characters/luna/clothes/robe/robe_school_1/outline_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_1/outline_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_1/outline_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_1/outline_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/0.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/0.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/0.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/0.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/0_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/0_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/0_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/0_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/1.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/1.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/1.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/1.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/1_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/1_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/1_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/1_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/extra.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/extra.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/extra.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/extra.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/mask.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/mask.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/mask.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/mask.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/outline.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/outline.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/outline.webp diff --git a/game/characters/luna/clothes/robe/robe_school_2/outline_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_2/outline_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_2/outline_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_2/outline_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/0.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/0.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/0.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/0.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/0_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/0_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/0_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/0_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/1.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/1.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/1.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/1.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/1_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/1_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/1_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/1_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/extra.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/extra.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/extra.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/extra.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/mask.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/mask.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/mask.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/mask.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/outline.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/outline.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/outline.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/outline.webp diff --git a/game/characters/luna/clothes/robe/robe_school_3/outline_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_3/outline_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_3/outline_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_3/outline_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_4/0.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_4/0.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_4/0.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_4/0.webp diff --git a/game/characters/luna/clothes/robe/robe_school_4/0_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_4/0_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_4/0_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_4/0_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_4/1.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_4/1.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_4/1.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_4/1.webp diff --git a/game/characters/luna/clothes/robe/robe_school_4/1_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_4/1_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_4/1_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_4/1_back.webp diff --git a/game/characters/luna/clothes/robe/robe_school_4/mask.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_4/mask.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_4/mask.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_4/mask.webp diff --git a/game/characters/luna/clothes/robe/robe_school_4/outline.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_4/outline.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_4/outline.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_4/outline.webp diff --git a/game/characters/luna/clothes/robe/robe_school_4/outline_back.webp b/game/characters/luna/poses/default/clothes/robe/robe_school_4/outline_back.webp similarity index 100% rename from game/characters/luna/clothes/robe/robe_school_4/outline_back.webp rename to game/characters/luna/poses/default/clothes/robe/robe_school_4/outline_back.webp diff --git a/game/characters/luna/clothes/stockings/harley_quinn/0.webp b/game/characters/luna/poses/default/clothes/stockings/harley_quinn/0.webp similarity index 100% rename from game/characters/luna/clothes/stockings/harley_quinn/0.webp rename to game/characters/luna/poses/default/clothes/stockings/harley_quinn/0.webp diff --git a/game/characters/luna/clothes/stockings/harley_quinn/outline.webp b/game/characters/luna/poses/default/clothes/stockings/harley_quinn/outline.webp similarity index 100% rename from game/characters/luna/clothes/stockings/harley_quinn/outline.webp rename to game/characters/luna/poses/default/clothes/stockings/harley_quinn/outline.webp diff --git a/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/0.webp b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/0.webp new file mode 100644 index 00000000..3d9ab060 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:890538dfb444efeab1f4f34349c79b00b2a51086c251bcd8d9e510080161195f +size 3588 diff --git a/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/1.webp b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/1.webp new file mode 100644 index 00000000..28ecb349 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc0b0bbe45c153386f787403c9cd58e53a58617d3eba4836fc3f83a5347d3622 +size 6818 diff --git a/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/2.webp b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/2.webp new file mode 100644 index 00000000..4c8fc5cf --- /dev/null +++ b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f4382e1d38e38e9cfaf555febc2841ef8eef6cd0574417706071e8359423a27 +size 1804 diff --git a/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/3.webp b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/3.webp new file mode 100644 index 00000000..18021a72 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/3.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9bd9a3dba1a4a7edff730d4ac69d0556caa2fbe1603fc450ca2bbe66058cbf5 +size 1956 diff --git a/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/outline.webp b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/outline.webp new file mode 100644 index 00000000..117e44fc --- /dev/null +++ b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:983a81937f4ae461d4ad63e701acb462078f4810a14ad833b5b36b9b0ac556bf +size 8688 diff --git a/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/skin.webp b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/skin.webp new file mode 100644 index 00000000..f2d3fb15 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/stockings/leggings_bimbo/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c8d769426a17b85a7d763dc82ac345c2096813a5c3940f93054469fd00c540e +size 1822 diff --git a/game/characters/luna/clothes/stockings/muggle_knee_socks/0.webp b/game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/0.webp similarity index 100% rename from game/characters/luna/clothes/stockings/muggle_knee_socks/0.webp rename to game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/0.webp diff --git a/game/characters/luna/clothes/stockings/muggle_knee_socks/1.webp b/game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/1.webp similarity index 100% rename from game/characters/luna/clothes/stockings/muggle_knee_socks/1.webp rename to game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/1.webp diff --git a/game/characters/luna/clothes/stockings/muggle_knee_socks/2.webp b/game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/2.webp similarity index 100% rename from game/characters/luna/clothes/stockings/muggle_knee_socks/2.webp rename to game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/2.webp diff --git a/game/characters/luna/clothes/stockings/muggle_knee_socks/outline.webp b/game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/outline.webp similarity index 100% rename from game/characters/luna/clothes/stockings/muggle_knee_socks/outline.webp rename to game/characters/luna/poses/default/clothes/stockings/muggle_knee_socks/outline.webp diff --git a/game/characters/luna/clothes/stockings/pantyhose_1/0.webp b/game/characters/luna/poses/default/clothes/stockings/pantyhose_1/0.webp similarity index 100% rename from game/characters/luna/clothes/stockings/pantyhose_1/0.webp rename to game/characters/luna/poses/default/clothes/stockings/pantyhose_1/0.webp diff --git a/game/characters/luna/clothes/stockings/pantyhose_1/extra.webp b/game/characters/luna/poses/default/clothes/stockings/pantyhose_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/stockings/pantyhose_1/extra.webp rename to game/characters/luna/poses/default/clothes/stockings/pantyhose_1/extra.webp diff --git a/game/characters/luna/clothes/stockings/pantyhose_1/outline.webp b/game/characters/luna/poses/default/clothes/stockings/pantyhose_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/stockings/pantyhose_1/outline.webp rename to game/characters/luna/poses/default/clothes/stockings/pantyhose_1/outline.webp diff --git a/game/characters/luna/clothes/stockings/pantyhose_meshed/0.webp b/game/characters/luna/poses/default/clothes/stockings/pantyhose_meshed/0.webp similarity index 100% rename from game/characters/luna/clothes/stockings/pantyhose_meshed/0.webp rename to game/characters/luna/poses/default/clothes/stockings/pantyhose_meshed/0.webp diff --git a/game/characters/luna/clothes/stockings/pantyhose_meshed/outline.webp b/game/characters/luna/poses/default/clothes/stockings/pantyhose_meshed/outline.webp similarity index 100% rename from game/characters/luna/clothes/stockings/pantyhose_meshed/outline.webp rename to game/characters/luna/poses/default/clothes/stockings/pantyhose_meshed/outline.webp diff --git a/game/characters/luna/clothes/stockings/police_thigh_highs/0.webp b/game/characters/luna/poses/default/clothes/stockings/police_thigh_highs/0.webp similarity index 100% rename from game/characters/luna/clothes/stockings/police_thigh_highs/0.webp rename to game/characters/luna/poses/default/clothes/stockings/police_thigh_highs/0.webp diff --git a/game/characters/luna/clothes/stockings/police_thigh_highs/1.webp b/game/characters/luna/poses/default/clothes/stockings/police_thigh_highs/1.webp similarity index 100% rename from game/characters/luna/clothes/stockings/police_thigh_highs/1.webp rename to game/characters/luna/poses/default/clothes/stockings/police_thigh_highs/1.webp diff --git a/game/characters/luna/clothes/stockings/police_thigh_highs/outline.webp b/game/characters/luna/poses/default/clothes/stockings/police_thigh_highs/outline.webp similarity index 100% rename from game/characters/luna/clothes/stockings/police_thigh_highs/outline.webp rename to game/characters/luna/poses/default/clothes/stockings/police_thigh_highs/outline.webp diff --git a/game/characters/luna/clothes/stockings/short_school_1/0.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_1/0.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_1/0.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_1/0.webp diff --git a/game/characters/luna/clothes/stockings/short_school_1/1.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_1/1.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_1/1.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_1/1.webp diff --git a/game/characters/luna/clothes/stockings/short_school_1/extra.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_1/extra.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_1/extra.webp diff --git a/game/characters/luna/clothes/stockings/short_school_1/outline.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_1/outline.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_1/outline.webp diff --git a/game/characters/luna/clothes/stockings/short_school_1/skin.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_1/skin.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_1/skin.webp diff --git a/game/characters/luna/clothes/stockings/short_school_2/0.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_2/0.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_2/0.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_2/0.webp diff --git a/game/characters/luna/clothes/stockings/short_school_2/extra.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_2/extra.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_2/extra.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_2/extra.webp diff --git a/game/characters/luna/clothes/stockings/short_school_2/outline.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_2/outline.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_2/outline.webp diff --git a/game/characters/luna/clothes/stockings/short_school_2/skin.webp b/game/characters/luna/poses/default/clothes/stockings/short_school_2/skin.webp similarity index 100% rename from game/characters/luna/clothes/stockings/short_school_2/skin.webp rename to game/characters/luna/poses/default/clothes/stockings/short_school_2/skin.webp diff --git a/game/characters/luna/clothes/tattoo/baby_oven/0.webp b/game/characters/luna/poses/default/clothes/tattoo/baby_oven/0.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/baby_oven/0.webp rename to game/characters/luna/poses/default/clothes/tattoo/baby_oven/0.webp diff --git a/game/characters/luna/clothes/tattoo/baby_oven/1.webp b/game/characters/luna/poses/default/clothes/tattoo/baby_oven/1.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/baby_oven/1.webp rename to game/characters/luna/poses/default/clothes/tattoo/baby_oven/1.webp diff --git a/game/characters/luna/clothes/tattoo/baby_oven/outline.webp b/game/characters/luna/poses/default/clothes/tattoo/baby_oven/outline.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/baby_oven/outline.webp rename to game/characters/luna/poses/default/clothes/tattoo/baby_oven/outline.webp diff --git a/game/characters/luna/clothes/tattoo/cumdump/0.webp b/game/characters/luna/poses/default/clothes/tattoo/cumdump/0.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/cumdump/0.webp rename to game/characters/luna/poses/default/clothes/tattoo/cumdump/0.webp diff --git a/game/characters/luna/clothes/tattoo/lab_rat/0.webp b/game/characters/luna/poses/default/clothes/tattoo/lab_rat/0.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/lab_rat/0.webp rename to game/characters/luna/poses/default/clothes/tattoo/lab_rat/0.webp diff --git a/game/characters/luna/clothes/tattoo/loony/0.webp b/game/characters/luna/poses/default/clothes/tattoo/loony/0.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/loony/0.webp rename to game/characters/luna/poses/default/clothes/tattoo/loony/0.webp diff --git a/game/characters/luna/clothes/tattoo/measure/0.webp b/game/characters/luna/poses/default/clothes/tattoo/measure/0.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/measure/0.webp rename to game/characters/luna/poses/default/clothes/tattoo/measure/0.webp diff --git a/game/characters/luna/clothes/tattoo/measure/1.webp b/game/characters/luna/poses/default/clothes/tattoo/measure/1.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/measure/1.webp rename to game/characters/luna/poses/default/clothes/tattoo/measure/1.webp diff --git a/game/characters/luna/clothes/tattoo/measure/outline.webp b/game/characters/luna/poses/default/clothes/tattoo/measure/outline.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/measure/outline.webp rename to game/characters/luna/poses/default/clothes/tattoo/measure/outline.webp diff --git a/game/characters/luna/clothes/tattoo/spurt_here/0.webp b/game/characters/luna/poses/default/clothes/tattoo/spurt_here/0.webp similarity index 100% rename from game/characters/luna/clothes/tattoo/spurt_here/0.webp rename to game/characters/luna/poses/default/clothes/tattoo/spurt_here/0.webp diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_1/0.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_1/0.webp new file mode 100644 index 00000000..5da6b9d4 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f0dfe2bee88fbf25eed3cefdf9e6b689faeeef366ce530a25f7861cf5abbab6 +size 12214 diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_1/extra.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_1/extra.webp new file mode 100644 index 00000000..2e7e2758 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_1/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fef7aecdde450cace28b0d515fe3aef80e11ed1df28eef07a474959d1960592 +size 14782 diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_1/outline.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_1/outline.webp new file mode 100644 index 00000000..457ff8c7 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca7c501f120ebfc70bba8dcb089ebdc02509dd1ab328c39519de6eb8fb547f34 +size 9338 diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_1/skin.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_1/skin.webp new file mode 100644 index 00000000..dc4733a0 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_1/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeb4d674c7c316db5e07863196081c49170971eeb74e0dd7693e84323258f1fb +size 4650 diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_2/0.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_2/0.webp new file mode 100644 index 00000000..ae20936c --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_2/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db9954432e2ed082d28bf4a3415eeb1bf85c7efc4540bca6cd4f7946a821bc1a +size 11528 diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_2/extra.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_2/extra.webp new file mode 100644 index 00000000..7195dda1 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_2/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09167ef7c1e4da99c4f785cea02bd2815ef3a2743556a366073758917ace8f20 +size 14318 diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_2/outline.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_2/outline.webp new file mode 100644 index 00000000..a258ac7b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_2/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e5a7421eb25dfbce1913a92fce677441641ef47a16fea2dbdbbaaf7a6370b96 +size 9110 diff --git a/game/characters/luna/poses/default/clothes/top/bunny_top_2/skin.webp b/game/characters/luna/poses/default/clothes/top/bunny_top_2/skin.webp new file mode 100644 index 00000000..bcc01411 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/bunny_top_2/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6fff8ee0139fba166cc6a68574562398c3233858d57e4ad674f1fa48d6d8369 +size 5042 diff --git a/game/characters/luna/clothes/top/casual_sweater/0.webp b/game/characters/luna/poses/default/clothes/top/casual_sweater/0.webp similarity index 100% rename from game/characters/luna/clothes/top/casual_sweater/0.webp rename to game/characters/luna/poses/default/clothes/top/casual_sweater/0.webp diff --git a/game/characters/luna/clothes/top/casual_sweater/1.webp b/game/characters/luna/poses/default/clothes/top/casual_sweater/1.webp similarity index 100% rename from game/characters/luna/clothes/top/casual_sweater/1.webp rename to game/characters/luna/poses/default/clothes/top/casual_sweater/1.webp diff --git a/game/characters/luna/clothes/top/casual_sweater/outline.webp b/game/characters/luna/poses/default/clothes/top/casual_sweater/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/casual_sweater/outline.webp rename to game/characters/luna/poses/default/clothes/top/casual_sweater/outline.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_1/0.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_1/0.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_1/0.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_1/0.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_1/1.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_1/1.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_1/1.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_1/1.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_1/outline.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_1/outline.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_1/outline.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_1/skin.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_1/skin.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_1/skin.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_2/0.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_2/0.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_2/0.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_2/0.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_2/1.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_2/1.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_2/1.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_2/1.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_2/outline.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_2/outline.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_2/outline.webp diff --git a/game/characters/luna/clothes/top/flight_attendant_2/skin.webp b/game/characters/luna/poses/default/clothes/top/flight_attendant_2/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/flight_attendant_2/skin.webp rename to game/characters/luna/poses/default/clothes/top/flight_attendant_2/skin.webp diff --git a/game/characters/luna/clothes/top/harley_quinn/0.webp b/game/characters/luna/poses/default/clothes/top/harley_quinn/0.webp similarity index 100% rename from game/characters/luna/clothes/top/harley_quinn/0.webp rename to game/characters/luna/poses/default/clothes/top/harley_quinn/0.webp diff --git a/game/characters/luna/clothes/top/harley_quinn/1.webp b/game/characters/luna/poses/default/clothes/top/harley_quinn/1.webp similarity index 100% rename from game/characters/luna/clothes/top/harley_quinn/1.webp rename to game/characters/luna/poses/default/clothes/top/harley_quinn/1.webp diff --git a/game/characters/luna/clothes/top/harley_quinn/2.webp b/game/characters/luna/poses/default/clothes/top/harley_quinn/2.webp similarity index 100% rename from game/characters/luna/clothes/top/harley_quinn/2.webp rename to game/characters/luna/poses/default/clothes/top/harley_quinn/2.webp diff --git a/game/characters/luna/clothes/top/harley_quinn/3.webp b/game/characters/luna/poses/default/clothes/top/harley_quinn/3.webp similarity index 100% rename from game/characters/luna/clothes/top/harley_quinn/3.webp rename to game/characters/luna/poses/default/clothes/top/harley_quinn/3.webp diff --git a/game/characters/luna/clothes/top/harley_quinn/extra.webp b/game/characters/luna/poses/default/clothes/top/harley_quinn/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/harley_quinn/extra.webp rename to game/characters/luna/poses/default/clothes/top/harley_quinn/extra.webp diff --git a/game/characters/luna/clothes/top/harley_quinn/outline.webp b/game/characters/luna/poses/default/clothes/top/harley_quinn/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/harley_quinn/outline.webp rename to game/characters/luna/poses/default/clothes/top/harley_quinn/outline.webp diff --git a/game/characters/luna/clothes/top/muggle_top/0.webp b/game/characters/luna/poses/default/clothes/top/muggle_top/0.webp similarity index 100% rename from game/characters/luna/clothes/top/muggle_top/0.webp rename to game/characters/luna/poses/default/clothes/top/muggle_top/0.webp diff --git a/game/characters/luna/clothes/top/muggle_top/1.webp b/game/characters/luna/poses/default/clothes/top/muggle_top/1.webp similarity index 100% rename from game/characters/luna/clothes/top/muggle_top/1.webp rename to game/characters/luna/poses/default/clothes/top/muggle_top/1.webp diff --git a/game/characters/luna/clothes/top/muggle_top/outline.webp b/game/characters/luna/poses/default/clothes/top/muggle_top/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/muggle_top/outline.webp rename to game/characters/luna/poses/default/clothes/top/muggle_top/outline.webp diff --git a/game/characters/luna/clothes/top/nightie_1/0.webp b/game/characters/luna/poses/default/clothes/top/nightie_1/0.webp similarity index 100% rename from game/characters/luna/clothes/top/nightie_1/0.webp rename to game/characters/luna/poses/default/clothes/top/nightie_1/0.webp diff --git a/game/characters/luna/clothes/top/nightie_1/extra.webp b/game/characters/luna/poses/default/clothes/top/nightie_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/nightie_1/extra.webp rename to game/characters/luna/poses/default/clothes/top/nightie_1/extra.webp diff --git a/game/characters/luna/clothes/top/nightie_1/outline.webp b/game/characters/luna/poses/default/clothes/top/nightie_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/nightie_1/outline.webp rename to game/characters/luna/poses/default/clothes/top/nightie_1/outline.webp diff --git a/game/characters/luna/clothes/top/nightie_2/0.webp b/game/characters/luna/poses/default/clothes/top/nightie_2/0.webp similarity index 100% rename from game/characters/luna/clothes/top/nightie_2/0.webp rename to game/characters/luna/poses/default/clothes/top/nightie_2/0.webp diff --git a/game/characters/luna/clothes/top/nightie_2/extra.webp b/game/characters/luna/poses/default/clothes/top/nightie_2/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/nightie_2/extra.webp rename to game/characters/luna/poses/default/clothes/top/nightie_2/extra.webp diff --git a/game/characters/luna/clothes/top/nightie_2/outline.webp b/game/characters/luna/poses/default/clothes/top/nightie_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/nightie_2/outline.webp rename to game/characters/luna/poses/default/clothes/top/nightie_2/outline.webp diff --git a/game/characters/luna/clothes/top/pajama_1/0.webp b/game/characters/luna/poses/default/clothes/top/pajama_1/0.webp similarity index 100% rename from game/characters/luna/clothes/top/pajama_1/0.webp rename to game/characters/luna/poses/default/clothes/top/pajama_1/0.webp diff --git a/game/characters/luna/clothes/top/pajama_1/1.webp b/game/characters/luna/poses/default/clothes/top/pajama_1/1.webp similarity index 100% rename from game/characters/luna/clothes/top/pajama_1/1.webp rename to game/characters/luna/poses/default/clothes/top/pajama_1/1.webp diff --git a/game/characters/luna/clothes/top/pajama_1/extra.webp b/game/characters/luna/poses/default/clothes/top/pajama_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/pajama_1/extra.webp rename to game/characters/luna/poses/default/clothes/top/pajama_1/extra.webp diff --git a/game/characters/luna/clothes/top/pajama_1/outline.webp b/game/characters/luna/poses/default/clothes/top/pajama_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/pajama_1/outline.webp rename to game/characters/luna/poses/default/clothes/top/pajama_1/outline.webp diff --git a/game/characters/luna/clothes/top/pajama_1/skin.webp b/game/characters/luna/poses/default/clothes/top/pajama_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/pajama_1/skin.webp rename to game/characters/luna/poses/default/clothes/top/pajama_1/skin.webp diff --git a/game/characters/luna/clothes/top/party_dress/0.webp b/game/characters/luna/poses/default/clothes/top/party_dress/0.webp similarity index 100% rename from game/characters/luna/clothes/top/party_dress/0.webp rename to game/characters/luna/poses/default/clothes/top/party_dress/0.webp diff --git a/game/characters/luna/clothes/top/party_dress/1.webp b/game/characters/luna/poses/default/clothes/top/party_dress/1.webp similarity index 100% rename from game/characters/luna/clothes/top/party_dress/1.webp rename to game/characters/luna/poses/default/clothes/top/party_dress/1.webp diff --git a/game/characters/luna/clothes/top/party_dress/outline.webp b/game/characters/luna/poses/default/clothes/top/party_dress/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/party_dress/outline.webp rename to game/characters/luna/poses/default/clothes/top/party_dress/outline.webp diff --git a/game/characters/luna/clothes/top/party_dress/skin.webp b/game/characters/luna/poses/default/clothes/top/party_dress/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/party_dress/skin.webp rename to game/characters/luna/poses/default/clothes/top/party_dress/skin.webp diff --git a/game/characters/luna/clothes/top/police_shirt/0.webp b/game/characters/luna/poses/default/clothes/top/police_shirt/0.webp similarity index 100% rename from game/characters/luna/clothes/top/police_shirt/0.webp rename to game/characters/luna/poses/default/clothes/top/police_shirt/0.webp diff --git a/game/characters/luna/clothes/top/police_shirt/1.webp b/game/characters/luna/poses/default/clothes/top/police_shirt/1.webp similarity index 100% rename from game/characters/luna/clothes/top/police_shirt/1.webp rename to game/characters/luna/poses/default/clothes/top/police_shirt/1.webp diff --git a/game/characters/luna/clothes/top/police_shirt/outline.webp b/game/characters/luna/poses/default/clothes/top/police_shirt/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/police_shirt/outline.webp rename to game/characters/luna/poses/default/clothes/top/police_shirt/outline.webp diff --git a/game/characters/luna/clothes/top/police_shirt/skin.webp b/game/characters/luna/poses/default/clothes/top/police_shirt/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/police_shirt/skin.webp rename to game/characters/luna/poses/default/clothes/top/police_shirt/skin.webp diff --git a/game/characters/luna/poses/default/clothes/top/short_tanktop/0.webp b/game/characters/luna/poses/default/clothes/top/short_tanktop/0.webp new file mode 100644 index 00000000..d54b1b8b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/short_tanktop/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d61347432672effe0615e1631c3ffb53845b5136e885077b5232419a6a01e985 +size 9960 diff --git a/game/characters/luna/poses/default/clothes/top/short_tanktop/1.webp b/game/characters/luna/poses/default/clothes/top/short_tanktop/1.webp new file mode 100644 index 00000000..a18b8d05 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/short_tanktop/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13727c412b9249853b0145a566a181887f18f32fe29bd87178aef67173c7d6d7 +size 1600 diff --git a/game/characters/luna/poses/default/clothes/top/short_tanktop/outline.webp b/game/characters/luna/poses/default/clothes/top/short_tanktop/outline.webp new file mode 100644 index 00000000..8f4eddde --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/short_tanktop/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71eb77787cbf0058d4a9c912da663a8846141da0c9c6e13f185a7f3f812dd572 +size 10596 diff --git a/game/characters/luna/poses/default/clothes/top/short_tanktop/skin.webp b/game/characters/luna/poses/default/clothes/top/short_tanktop/skin.webp new file mode 100644 index 00000000..387aa56b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/short_tanktop/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e05ac50f55f00c032a4cd768e7464f2d92194affaf19bb35933784604bef070 +size 3744 diff --git a/game/characters/luna/clothes/top/summer_top_1/0.webp b/game/characters/luna/poses/default/clothes/top/summer_top_1/0.webp similarity index 100% rename from game/characters/luna/clothes/top/summer_top_1/0.webp rename to game/characters/luna/poses/default/clothes/top/summer_top_1/0.webp diff --git a/game/characters/luna/clothes/top/summer_top_1/outline.webp b/game/characters/luna/poses/default/clothes/top/summer_top_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/summer_top_1/outline.webp rename to game/characters/luna/poses/default/clothes/top/summer_top_1/outline.webp diff --git a/game/characters/luna/clothes/top/summer_top_1/skin.webp b/game/characters/luna/poses/default/clothes/top/summer_top_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/summer_top_1/skin.webp rename to game/characters/luna/poses/default/clothes/top/summer_top_1/skin.webp diff --git a/game/characters/luna/clothes/top/summer_top_2/0.webp b/game/characters/luna/poses/default/clothes/top/summer_top_2/0.webp similarity index 100% rename from game/characters/luna/clothes/top/summer_top_2/0.webp rename to game/characters/luna/poses/default/clothes/top/summer_top_2/0.webp diff --git a/game/characters/luna/clothes/top/summer_top_2/outline.webp b/game/characters/luna/poses/default/clothes/top/summer_top_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/summer_top_2/outline.webp rename to game/characters/luna/poses/default/clothes/top/summer_top_2/outline.webp diff --git a/game/characters/luna/clothes/top/summer_top_2/skin.webp b/game/characters/luna/poses/default/clothes/top/summer_top_2/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/summer_top_2/skin.webp rename to game/characters/luna/poses/default/clothes/top/summer_top_2/skin.webp diff --git a/game/characters/luna/clothes/top/swimsuit_1/0.webp b/game/characters/luna/poses/default/clothes/top/swimsuit_1/0.webp similarity index 100% rename from game/characters/luna/clothes/top/swimsuit_1/0.webp rename to game/characters/luna/poses/default/clothes/top/swimsuit_1/0.webp diff --git a/game/characters/luna/clothes/top/swimsuit_1/1.webp b/game/characters/luna/poses/default/clothes/top/swimsuit_1/1.webp similarity index 100% rename from game/characters/luna/clothes/top/swimsuit_1/1.webp rename to game/characters/luna/poses/default/clothes/top/swimsuit_1/1.webp diff --git a/game/characters/luna/clothes/top/swimsuit_1/extra.webp b/game/characters/luna/poses/default/clothes/top/swimsuit_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/swimsuit_1/extra.webp rename to game/characters/luna/poses/default/clothes/top/swimsuit_1/extra.webp diff --git a/game/characters/luna/clothes/top/swimsuit_1/outline.webp b/game/characters/luna/poses/default/clothes/top/swimsuit_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/swimsuit_1/outline.webp rename to game/characters/luna/poses/default/clothes/top/swimsuit_1/outline.webp diff --git a/game/characters/luna/clothes/top/swimsuit_1/skin.webp b/game/characters/luna/poses/default/clothes/top/swimsuit_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/swimsuit_1/skin.webp rename to game/characters/luna/poses/default/clothes/top/swimsuit_1/skin.webp diff --git a/game/characters/luna/poses/default/clothes/top/top_cumslut/0.webp b/game/characters/luna/poses/default/clothes/top/top_cumslut/0.webp new file mode 100644 index 00000000..bfdb4f3d --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_cumslut/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:034e43ef8dee3dba6a18ca2c5a03ddadb0c1fe318d1ab6813f01096716506a58 +size 15250 diff --git a/game/characters/luna/poses/default/clothes/top/top_cumslut/1.webp b/game/characters/luna/poses/default/clothes/top/top_cumslut/1.webp new file mode 100644 index 00000000..b4ef7a6b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_cumslut/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82fbcd61032df2928283b2d6f261fc1a72a35953dd09cb2053f76181ec8e89cf +size 2192 diff --git a/game/characters/luna/poses/default/clothes/top/top_cumslut/extra.webp b/game/characters/luna/poses/default/clothes/top/top_cumslut/extra.webp new file mode 100644 index 00000000..0e180e06 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_cumslut/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83713a0e25b76eccfe8537738388548fcf91c9ed97b9c2957689cf47054c5dcd +size 14514 diff --git a/game/characters/luna/poses/default/clothes/top/top_cumslut/outline.webp b/game/characters/luna/poses/default/clothes/top/top_cumslut/outline.webp new file mode 100644 index 00000000..57563f85 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_cumslut/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f84b6a2ab4949cc178547ec5203fc859f656c892ef31a554bc9b8bd6507ef54 +size 15136 diff --git a/game/characters/luna/poses/default/clothes/top/top_cumslut/skin.webp b/game/characters/luna/poses/default/clothes/top/top_cumslut/skin.webp new file mode 100644 index 00000000..4d456a7a --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_cumslut/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0c7448f5844da9b0aebefedd1b04a99b5ad3e2f9004f542907a0dab4689cf91 +size 6256 diff --git a/game/characters/luna/poses/default/clothes/top/top_latex/0.webp b/game/characters/luna/poses/default/clothes/top/top_latex/0.webp new file mode 100644 index 00000000..a32f4bea --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_latex/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46c02f0c1058a98836644ad8dd193bc8d9a3e177a20e0facddbf9b4d6ab40c9d +size 18088 diff --git a/game/characters/luna/poses/default/clothes/top/top_latex/1.webp b/game/characters/luna/poses/default/clothes/top/top_latex/1.webp new file mode 100644 index 00000000..fc1043bb --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_latex/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd9b9d82d8bad86893bd2b6175ca84c1aa2bd929ee60cf8d2029d953690250c6 +size 26436 diff --git a/game/characters/luna/poses/default/clothes/top/top_latex/extra.webp b/game/characters/luna/poses/default/clothes/top/top_latex/extra.webp new file mode 100644 index 00000000..c873d7cb --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_latex/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0a5c3c06e3a52f0cd50c401a010437e44158564a5f86419164eb8d3d9c2d5d7 +size 4684 diff --git a/game/characters/luna/poses/default/clothes/top/top_latex/outline.webp b/game/characters/luna/poses/default/clothes/top/top_latex/outline.webp new file mode 100644 index 00000000..e9e6b177 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_latex/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:debbe3868552f398eaeba62eaa876748adfcf4756656398225542e211d8a3a0e +size 19224 diff --git a/game/characters/luna/clothes/top/top_school_1/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/0.webp diff --git a/game/characters/luna/clothes/top/top_school_1/0_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/0_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/0_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/0_front.webp diff --git a/game/characters/luna/clothes/top/top_school_1/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/1.webp diff --git a/game/characters/luna/clothes/top/top_school_1/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/2.webp diff --git a/game/characters/luna/clothes/top/top_school_1/3.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/3.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/3.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/3.webp diff --git a/game/characters/luna/clothes/top/top_school_1/extra.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/extra.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/extra.webp diff --git a/game/characters/luna/clothes/top/top_school_1/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_1/outline_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/outline_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/outline_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/outline_front.webp diff --git a/game/characters/luna/clothes/top/top_school_1/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_1/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_1/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_1/skin.webp diff --git a/game/characters/luna/clothes/top/top_school_2/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/0.webp diff --git a/game/characters/luna/clothes/top/top_school_2/0_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/0_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/0_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/0_front.webp diff --git a/game/characters/luna/clothes/top/top_school_2/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/1.webp diff --git a/game/characters/luna/clothes/top/top_school_2/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/2.webp diff --git a/game/characters/luna/clothes/top/top_school_2/3.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/3.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/3.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/3.webp diff --git a/game/characters/luna/clothes/top/top_school_2/extra.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/extra.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/extra.webp diff --git a/game/characters/luna/clothes/top/top_school_2/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_2/outline_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/outline_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/outline_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/outline_front.webp diff --git a/game/characters/luna/clothes/top/top_school_2/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_2/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_2/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_2/skin.webp diff --git a/game/characters/luna/clothes/top/top_school_3/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/0.webp diff --git a/game/characters/luna/clothes/top/top_school_3/0_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/0_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/0_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/0_front.webp diff --git a/game/characters/luna/clothes/top/top_school_3/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/1.webp diff --git a/game/characters/luna/clothes/top/top_school_3/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/2.webp diff --git a/game/characters/luna/clothes/top/top_school_3/3.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/3.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/3.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/3.webp diff --git a/game/characters/luna/clothes/top/top_school_3/extra.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/extra.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/extra.webp diff --git a/game/characters/luna/clothes/top/top_school_3/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_3/outline_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/outline_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/outline_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/outline_front.webp diff --git a/game/characters/luna/clothes/top/top_school_3/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_3/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_3/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_3/skin.webp diff --git a/game/characters/luna/clothes/top/top_school_4/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/0.webp diff --git a/game/characters/luna/clothes/top/top_school_4/0_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/0_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/0_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/0_front.webp diff --git a/game/characters/luna/clothes/top/top_school_4/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/1.webp diff --git a/game/characters/luna/clothes/top/top_school_4/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/2.webp diff --git a/game/characters/luna/clothes/top/top_school_4/extra.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/extra.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/extra.webp diff --git a/game/characters/luna/clothes/top/top_school_4/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_4/outline_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/outline_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/outline_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/outline_front.webp diff --git a/game/characters/luna/clothes/top/top_school_4/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_4/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_4/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_4/skin.webp diff --git a/game/characters/luna/clothes/top/top_school_5/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/0.webp diff --git a/game/characters/luna/clothes/top/top_school_5/0_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/0_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/0_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/0_front.webp diff --git a/game/characters/luna/clothes/top/top_school_5/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/1.webp diff --git a/game/characters/luna/clothes/top/top_school_5/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/2.webp diff --git a/game/characters/luna/clothes/top/top_school_5/extra.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/extra.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/extra.webp diff --git a/game/characters/luna/clothes/top/top_school_5/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_5/outline_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/outline_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/outline_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/outline_front.webp diff --git a/game/characters/luna/clothes/top/top_school_5/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_5/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_5/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_5/skin.webp diff --git a/game/characters/luna/clothes/top/top_school_6/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/0.webp diff --git a/game/characters/luna/clothes/top/top_school_6/0_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/0_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/0_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/0_front.webp diff --git a/game/characters/luna/clothes/top/top_school_6/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/1.webp diff --git a/game/characters/luna/clothes/top/top_school_6/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/2.webp diff --git a/game/characters/luna/clothes/top/top_school_6/extra.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/extra.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/extra.webp diff --git a/game/characters/luna/clothes/top/top_school_6/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_6/outline_front.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/outline_front.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/outline_front.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/outline_front.webp diff --git a/game/characters/luna/clothes/top/top_school_6/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_6/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_6/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_6/skin.webp diff --git a/game/characters/luna/clothes/top/top_school_crop/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_crop/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_crop/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_crop/0.webp diff --git a/game/characters/luna/clothes/top/top_school_crop/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_crop/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_crop/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_crop/1.webp diff --git a/game/characters/luna/clothes/top/top_school_crop/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_crop/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_crop/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_crop/2.webp diff --git a/game/characters/luna/clothes/top/top_school_crop/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_crop/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_crop/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_crop/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_crop/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_crop/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_crop/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_crop/skin.webp diff --git a/game/characters/luna/clothes/top/top_school_vest/0.webp b/game/characters/luna/poses/default/clothes/top/top_school_vest/0.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_vest/0.webp rename to game/characters/luna/poses/default/clothes/top/top_school_vest/0.webp diff --git a/game/characters/luna/clothes/top/top_school_vest/1.webp b/game/characters/luna/poses/default/clothes/top/top_school_vest/1.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_vest/1.webp rename to game/characters/luna/poses/default/clothes/top/top_school_vest/1.webp diff --git a/game/characters/luna/clothes/top/top_school_vest/2.webp b/game/characters/luna/poses/default/clothes/top/top_school_vest/2.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_vest/2.webp rename to game/characters/luna/poses/default/clothes/top/top_school_vest/2.webp diff --git a/game/characters/luna/clothes/top/top_school_vest/extra.webp b/game/characters/luna/poses/default/clothes/top/top_school_vest/extra.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_vest/extra.webp rename to game/characters/luna/poses/default/clothes/top/top_school_vest/extra.webp diff --git a/game/characters/luna/clothes/top/top_school_vest/outline.webp b/game/characters/luna/poses/default/clothes/top/top_school_vest/outline.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_vest/outline.webp rename to game/characters/luna/poses/default/clothes/top/top_school_vest/outline.webp diff --git a/game/characters/luna/clothes/top/top_school_vest/skin.webp b/game/characters/luna/poses/default/clothes/top/top_school_vest/skin.webp similarity index 100% rename from game/characters/luna/clothes/top/top_school_vest/skin.webp rename to game/characters/luna/poses/default/clothes/top/top_school_vest/skin.webp diff --git a/game/characters/luna/poses/default/clothes/top/top_torn/0.webp b/game/characters/luna/poses/default/clothes/top/top_torn/0.webp new file mode 100644 index 00000000..e0950b1b --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_torn/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9241ad13037a111ecee7d3ece28ab4201bf92014c3fd49dff0e127c3f43af2e5 +size 23700 diff --git a/game/characters/luna/poses/default/clothes/top/top_torn/1.webp b/game/characters/luna/poses/default/clothes/top/top_torn/1.webp new file mode 100644 index 00000000..6b8deac6 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_torn/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:260e3a9f3499d68cf28512ec40b096a75407cab702b7735e42fd2a7e2095c1f7 +size 894 diff --git a/game/characters/luna/poses/default/clothes/top/top_torn/outline.webp b/game/characters/luna/poses/default/clothes/top/top_torn/outline.webp new file mode 100644 index 00000000..097e8231 --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_torn/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a6c1b6f5a6175a1664535b615d837c1327bc327ea7db95202513ba3a84f73a0 +size 22794 diff --git a/game/characters/luna/poses/default/clothes/top/top_torn/skin.webp b/game/characters/luna/poses/default/clothes/top/top_torn/skin.webp new file mode 100644 index 00000000..65e04cfd --- /dev/null +++ b/game/characters/luna/poses/default/clothes/top/top_torn/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6597e4393a97db5dd713d43682ba5cefd342ecab37bc25e21213fb94c4dd38cd +size 11218 diff --git a/game/characters/luna/poses/default/cum/body/heavy/cum.webp b/game/characters/luna/poses/default/cum/body/heavy/cum.webp new file mode 100644 index 00000000..38dc3be8 --- /dev/null +++ b/game/characters/luna/poses/default/cum/body/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fe2c5e1440f7b08040ea6979ea0720a83360c5ec5f6900290712b09eabf2c60 +size 22000 diff --git a/game/characters/luna/poses/default/cum/body/light/cum.webp b/game/characters/luna/poses/default/cum/body/light/cum.webp new file mode 100644 index 00000000..f6692983 --- /dev/null +++ b/game/characters/luna/poses/default/cum/body/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5286500f8bb67683da045a1b3fe6027b61124c9fb61ccea5190fcb6c1a26d088 +size 8406 diff --git a/game/characters/luna/poses/default/cum/breasts/heavy/cum.webp b/game/characters/luna/poses/default/cum/breasts/heavy/cum.webp new file mode 100644 index 00000000..53d39acd --- /dev/null +++ b/game/characters/luna/poses/default/cum/breasts/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0022f239d0cb72861943753490fff0c577992ffa683496bd71d19268e8d40eb +size 23320 diff --git a/game/characters/luna/poses/default/cum/breasts/heavy/skin.webp b/game/characters/luna/poses/default/cum/breasts/heavy/skin.webp new file mode 100644 index 00000000..c77ed040 --- /dev/null +++ b/game/characters/luna/poses/default/cum/breasts/heavy/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d3383c6b1d9472dfd9b762838df6e970f92798105a9dcb0773daa6ac0c07f02 +size 7384 diff --git a/game/characters/luna/poses/default/cum/breasts/light/cum.webp b/game/characters/luna/poses/default/cum/breasts/light/cum.webp new file mode 100644 index 00000000..326187b0 --- /dev/null +++ b/game/characters/luna/poses/default/cum/breasts/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85391f869b20384524ad9a15a9536b420d53fe99fdfd47a57c09832d99218b9f +size 7340 diff --git a/game/characters/luna/poses/default/cum/crotch/heavy/cum.webp b/game/characters/luna/poses/default/cum/crotch/heavy/cum.webp new file mode 100644 index 00000000..abf99a15 --- /dev/null +++ b/game/characters/luna/poses/default/cum/crotch/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afe9743c1281c55279bd027ac045a8427ed6ffc345d4402079e55085b30bd409 +size 19230 diff --git a/game/characters/luna/poses/default/cum/crotch/light/cum.webp b/game/characters/luna/poses/default/cum/crotch/light/cum.webp new file mode 100644 index 00000000..807433ba --- /dev/null +++ b/game/characters/luna/poses/default/cum/crotch/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:604ec73a39f41c72c8a1cf84aed37c9f8454adf85e496c3a8a5ac7aaba9903ec +size 7198 diff --git a/game/characters/luna/poses/default/cum/face/heavy/cum.webp b/game/characters/luna/poses/default/cum/face/heavy/cum.webp new file mode 100644 index 00000000..7d775e03 --- /dev/null +++ b/game/characters/luna/poses/default/cum/face/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93374ea69fde3374f5b760b26226d2c7db9bc39c04b503748528926e7d78973b +size 8872 diff --git a/game/characters/luna/poses/default/cum/face/heavy/skin.webp b/game/characters/luna/poses/default/cum/face/heavy/skin.webp new file mode 100644 index 00000000..91b401a7 --- /dev/null +++ b/game/characters/luna/poses/default/cum/face/heavy/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7af83c9769f2ededcfad083843580e026e7e09e891ba1cd51a41a6cc39c76d23 +size 2256 diff --git a/game/characters/luna/poses/default/cum/face/light/cum.webp b/game/characters/luna/poses/default/cum/face/light/cum.webp new file mode 100644 index 00000000..dd8c8623 --- /dev/null +++ b/game/characters/luna/poses/default/cum/face/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baa1b5134b28f37276d0c36825bb7f0d489bcef523cbe9c36077f4f04d67e86b +size 3512 diff --git a/game/characters/luna/poses/default/cum/hair/heavy/default/cum.webp b/game/characters/luna/poses/default/cum/hair/heavy/default/cum.webp new file mode 100644 index 00000000..34c9238a --- /dev/null +++ b/game/characters/luna/poses/default/cum/hair/heavy/default/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7ab58bee75693d52f208c0028ea9365c81dc02d13bc43c5d08e0a96cde76da2 +size 35172 diff --git a/game/characters/luna/poses/default/cum/hair/light/cum.webp b/game/characters/luna/poses/default/cum/hair/light/cum.webp new file mode 100644 index 00000000..e565946b --- /dev/null +++ b/game/characters/luna/poses/default/cum/hair/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb500bb37573ed0b5c256970560413fe83ae1dfbe538ba4358d848acf5df761e +size 7476 diff --git a/game/characters/luna/poses/default/cum/legs/heavy/cum.webp b/game/characters/luna/poses/default/cum/legs/heavy/cum.webp new file mode 100644 index 00000000..bd24376c --- /dev/null +++ b/game/characters/luna/poses/default/cum/legs/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49382ba4d017b50294b84908e2eb7433384011ee094e2b6caece28416498cf94 +size 18182 diff --git a/game/characters/luna/poses/default/cum/legs/light/cum.webp b/game/characters/luna/poses/default/cum/legs/light/cum.webp new file mode 100644 index 00000000..15ac1f26 --- /dev/null +++ b/game/characters/luna/poses/default/cum/legs/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb1519b6786ff010fa3ed8741c197ff5d4c37737614ddaa732feaff32a4ad56 +size 6054 diff --git a/game/characters/luna/poses/default/cum/pussy/heavy/cum.webp b/game/characters/luna/poses/default/cum/pussy/heavy/cum.webp new file mode 100644 index 00000000..bf24f975 --- /dev/null +++ b/game/characters/luna/poses/default/cum/pussy/heavy/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c36a00d597a6e08cf8eeef5146851332e48904e52c08d9f287f0e78b0a83786f +size 4634 diff --git a/game/characters/luna/poses/default/cum/pussy/light/cum.webp b/game/characters/luna/poses/default/cum/pussy/light/cum.webp new file mode 100644 index 00000000..c6d809cc --- /dev/null +++ b/game/characters/luna/poses/default/cum/pussy/light/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fbd4cb276916dd023e771b8087984af0f06792d9c06a8bb8c014c54fba66d82 +size 2096 diff --git a/game/characters/luna/poses/default/cum/pussy/squirt/cum.webp b/game/characters/luna/poses/default/cum/pussy/squirt/cum.webp new file mode 100644 index 00000000..e9ef3e3c --- /dev/null +++ b/game/characters/luna/poses/default/cum/pussy/squirt/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d686b2f827ad0a486de64e44393a471f6d8b248acf8bc1305f21ad3c79c5c862 +size 3100 diff --git a/game/characters/luna/cum/pussy/squirt_post.webp b/game/characters/luna/poses/default/cum/pussy/squirt_post/cum.webp similarity index 100% rename from game/characters/luna/cum/pussy/squirt_post.webp rename to game/characters/luna/poses/default/cum/pussy/squirt_post/cum.webp diff --git a/game/characters/luna/poses/default/cum/pussy/wet/cum.webp b/game/characters/luna/poses/default/cum/pussy/wet/cum.webp new file mode 100644 index 00000000..b85a4d60 --- /dev/null +++ b/game/characters/luna/poses/default/cum/pussy/wet/cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e069a4b0f74ab0264dab7295c4ff69a51c17d65b5de92f728f1bf634636551f +size 820 diff --git a/game/characters/luna/emote/angry.webp b/game/characters/luna/poses/default/emote/angry.webp similarity index 100% rename from game/characters/luna/emote/angry.webp rename to game/characters/luna/poses/default/emote/angry.webp diff --git a/game/characters/luna/emote/confused.webp b/game/characters/luna/poses/default/emote/confused.webp similarity index 100% rename from game/characters/luna/emote/confused.webp rename to game/characters/luna/poses/default/emote/confused.webp diff --git a/game/characters/luna/emote/happy.webp b/game/characters/luna/poses/default/emote/happy.webp similarity index 100% rename from game/characters/luna/emote/happy.webp rename to game/characters/luna/poses/default/emote/happy.webp diff --git a/game/characters/luna/emote/hearts.webp b/game/characters/luna/poses/default/emote/hearts.webp similarity index 100% rename from game/characters/luna/emote/hearts.webp rename to game/characters/luna/poses/default/emote/hearts.webp diff --git a/game/characters/luna/emote/shocked.webp b/game/characters/luna/poses/default/emote/shocked.webp similarity index 100% rename from game/characters/luna/emote/shocked.webp rename to game/characters/luna/poses/default/emote/shocked.webp diff --git a/game/characters/luna/emote/sweat.webp b/game/characters/luna/poses/default/emote/sweat.webp similarity index 100% rename from game/characters/luna/emote/sweat.webp rename to game/characters/luna/poses/default/emote/sweat.webp diff --git a/game/characters/luna/face/cheeks/blush.webp b/game/characters/luna/poses/default/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/luna/face/cheeks/blush.webp rename to game/characters/luna/poses/default/face/cheeks/blush/expression.webp diff --git a/game/characters/luna/face/eyebrows/angry.webp b/game/characters/luna/poses/default/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/luna/face/eyebrows/angry.webp rename to game/characters/luna/poses/default/face/eyebrows/angry/expression.webp diff --git a/game/characters/luna/face/eyebrows/angry_skin.webp b/game/characters/luna/poses/default/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/luna/face/eyebrows/angry_skin.webp rename to game/characters/luna/poses/default/face/eyebrows/angry/skin.webp diff --git a/game/characters/luna/face/eyebrows/annoyed.webp b/game/characters/luna/poses/default/face/eyebrows/annoyed/expression.webp similarity index 100% rename from game/characters/luna/face/eyebrows/annoyed.webp rename to game/characters/luna/poses/default/face/eyebrows/annoyed/expression.webp diff --git a/game/characters/luna/face/eyebrows/annoyed_skin.webp b/game/characters/luna/poses/default/face/eyebrows/annoyed/skin.webp similarity index 100% rename from game/characters/luna/face/eyebrows/annoyed_skin.webp rename to game/characters/luna/poses/default/face/eyebrows/annoyed/skin.webp diff --git a/game/characters/luna/face/eyebrows/base.webp b/game/characters/luna/poses/default/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/luna/face/eyebrows/base.webp rename to game/characters/luna/poses/default/face/eyebrows/base/expression.webp diff --git a/game/characters/luna/face/eyebrows/base_skin.webp b/game/characters/luna/poses/default/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/luna/face/eyebrows/base_skin.webp rename to game/characters/luna/poses/default/face/eyebrows/base/skin.webp diff --git a/game/characters/luna/face/eyebrows/low.webp b/game/characters/luna/poses/default/face/eyebrows/low/expression.webp similarity index 100% rename from game/characters/luna/face/eyebrows/low.webp rename to game/characters/luna/poses/default/face/eyebrows/low/expression.webp diff --git a/game/characters/luna/face/eyebrows/low_skin.webp b/game/characters/luna/poses/default/face/eyebrows/low/skin.webp similarity index 100% rename from game/characters/luna/face/eyebrows/low_skin.webp rename to game/characters/luna/poses/default/face/eyebrows/low/skin.webp diff --git a/game/characters/luna/face/eyebrows/raised.webp b/game/characters/luna/poses/default/face/eyebrows/raised/expression.webp similarity index 100% rename from game/characters/luna/face/eyebrows/raised.webp rename to game/characters/luna/poses/default/face/eyebrows/raised/expression.webp diff --git a/game/characters/luna/face/eyebrows/raised_skin.webp b/game/characters/luna/poses/default/face/eyebrows/raised/skin.webp similarity index 100% rename from game/characters/luna/face/eyebrows/raised_skin.webp rename to game/characters/luna/poses/default/face/eyebrows/raised/skin.webp diff --git a/game/characters/luna/face/eyebrows/worried.webp b/game/characters/luna/poses/default/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/luna/face/eyebrows/worried.webp rename to game/characters/luna/poses/default/face/eyebrows/worried/expression.webp diff --git a/game/characters/luna/face/eyebrows/worried_skin.webp b/game/characters/luna/poses/default/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/luna/face/eyebrows/worried_skin.webp rename to game/characters/luna/poses/default/face/eyebrows/worried/skin.webp diff --git a/game/characters/luna/face/eyes/base.webp b/game/characters/luna/poses/default/face/eyes/base/expression.webp similarity index 100% rename from game/characters/luna/face/eyes/base.webp rename to game/characters/luna/poses/default/face/eyes/base/expression.webp diff --git a/game/characters/luna/face/eyes/base_mask.webp b/game/characters/luna/poses/default/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/luna/face/eyes/base_mask.webp rename to game/characters/luna/poses/default/face/eyes/base/eyemask.webp diff --git a/game/characters/luna/face/eyes/base_skin.webp b/game/characters/luna/poses/default/face/eyes/base/skin.webp similarity index 100% rename from game/characters/luna/face/eyes/base_skin.webp rename to game/characters/luna/poses/default/face/eyes/base/skin.webp diff --git a/game/characters/luna/face/eyes/closed.webp b/game/characters/luna/poses/default/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/luna/face/eyes/closed.webp rename to game/characters/luna/poses/default/face/eyes/closed/expression.webp diff --git a/game/characters/luna/face/eyes/closed_skin.webp b/game/characters/luna/poses/default/face/eyes/closed/skin.webp similarity index 100% rename from game/characters/luna/face/eyes/closed_skin.webp rename to game/characters/luna/poses/default/face/eyes/closed/skin.webp diff --git a/game/characters/luna/face/eyes/happyCl.webp b/game/characters/luna/poses/default/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/luna/face/eyes/happyCl.webp rename to game/characters/luna/poses/default/face/eyes/happyCl/expression.webp diff --git a/game/characters/luna/face/eyes/happyCl_skin.webp b/game/characters/luna/poses/default/face/eyes/happyCl/skin.webp similarity index 100% rename from game/characters/luna/face/eyes/happyCl_skin.webp rename to game/characters/luna/poses/default/face/eyes/happyCl/skin.webp diff --git a/game/characters/luna/face/eyes/narrow.webp b/game/characters/luna/poses/default/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/luna/face/eyes/narrow.webp rename to game/characters/luna/poses/default/face/eyes/narrow/expression.webp diff --git a/game/characters/luna/face/eyes/narrow_mask.webp b/game/characters/luna/poses/default/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/luna/face/eyes/narrow_mask.webp rename to game/characters/luna/poses/default/face/eyes/narrow/eyemask.webp diff --git a/game/characters/luna/face/eyes/narrow_skin.webp b/game/characters/luna/poses/default/face/eyes/narrow/skin.webp similarity index 100% rename from game/characters/luna/face/eyes/narrow_skin.webp rename to game/characters/luna/poses/default/face/eyes/narrow/skin.webp diff --git a/game/characters/luna/face/eyes/wide.webp b/game/characters/luna/poses/default/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/luna/face/eyes/wide.webp rename to game/characters/luna/poses/default/face/eyes/wide/expression.webp diff --git a/game/characters/luna/face/eyes/wide_mask.webp b/game/characters/luna/poses/default/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/luna/face/eyes/wide_mask.webp rename to game/characters/luna/poses/default/face/eyes/wide/eyemask.webp diff --git a/game/characters/luna/face/eyes/wide_skin.webp b/game/characters/luna/poses/default/face/eyes/wide/skin.webp similarity index 100% rename from game/characters/luna/face/eyes/wide_skin.webp rename to game/characters/luna/poses/default/face/eyes/wide/skin.webp diff --git a/game/characters/luna/face/eyes/wink.webp b/game/characters/luna/poses/default/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/luna/face/eyes/wink.webp rename to game/characters/luna/poses/default/face/eyes/wink/expression.webp diff --git a/game/characters/luna/face/eyes/wink_mask.webp b/game/characters/luna/poses/default/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/luna/face/eyes/wink_mask.webp rename to game/characters/luna/poses/default/face/eyes/wink/eyemask.webp diff --git a/game/characters/luna/face/eyes/wink_skin.webp b/game/characters/luna/poses/default/face/eyes/wink/skin.webp similarity index 100% rename from game/characters/luna/face/eyes/wink_skin.webp rename to game/characters/luna/poses/default/face/eyes/wink/skin.webp diff --git a/game/characters/luna/face/mouth/angry.webp b/game/characters/luna/poses/default/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/angry.webp rename to game/characters/luna/poses/default/face/mouth/angry/expression.webp diff --git a/game/characters/luna/face/mouth/annoyed.webp b/game/characters/luna/poses/default/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/annoyed.webp rename to game/characters/luna/poses/default/face/mouth/annoyed/expression.webp diff --git a/game/characters/luna/face/mouth/base.webp b/game/characters/luna/poses/default/face/mouth/base/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/base.webp rename to game/characters/luna/poses/default/face/mouth/base/expression.webp diff --git a/game/characters/luna/face/mouth/clench.webp b/game/characters/luna/poses/default/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/clench.webp rename to game/characters/luna/poses/default/face/mouth/clench/expression.webp diff --git a/game/characters/luna/face/mouth/crooked_smile.webp b/game/characters/luna/poses/default/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/crooked_smile.webp rename to game/characters/luna/poses/default/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/luna/face/mouth/disgust.webp b/game/characters/luna/poses/default/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/disgust.webp rename to game/characters/luna/poses/default/face/mouth/disgust/expression.webp diff --git a/game/characters/luna/face/mouth/full.webp b/game/characters/luna/poses/default/face/mouth/full/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/full.webp rename to game/characters/luna/poses/default/face/mouth/full/expression.webp diff --git a/game/characters/luna/face/mouth/grin.webp b/game/characters/luna/poses/default/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/grin.webp rename to game/characters/luna/poses/default/face/mouth/grin/expression.webp diff --git a/game/characters/luna/face/mouth/mad.webp b/game/characters/luna/poses/default/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/mad.webp rename to game/characters/luna/poses/default/face/mouth/mad/expression.webp diff --git a/game/characters/luna/face/mouth/normal.webp b/game/characters/luna/poses/default/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/normal.webp rename to game/characters/luna/poses/default/face/mouth/normal/expression.webp diff --git a/game/characters/luna/face/mouth/open.webp b/game/characters/luna/poses/default/face/mouth/open/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/open.webp rename to game/characters/luna/poses/default/face/mouth/open/expression.webp diff --git a/game/characters/luna/face/mouth/open_tongue.webp b/game/characters/luna/poses/default/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/open_tongue.webp rename to game/characters/luna/poses/default/face/mouth/open_tongue/expression.webp diff --git a/game/characters/luna/face/mouth/open_wide_tongue.webp b/game/characters/luna/poses/default/face/mouth/open_wide_tongue/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/open_wide_tongue.webp rename to game/characters/luna/poses/default/face/mouth/open_wide_tongue/expression.webp diff --git a/game/characters/luna/face/mouth/scream.webp b/game/characters/luna/poses/default/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/scream.webp rename to game/characters/luna/poses/default/face/mouth/scream/expression.webp diff --git a/game/characters/luna/face/mouth/shock.webp b/game/characters/luna/poses/default/face/mouth/shock/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/shock.webp rename to game/characters/luna/poses/default/face/mouth/shock/expression.webp diff --git a/game/characters/luna/face/mouth/silly.webp b/game/characters/luna/poses/default/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/silly.webp rename to game/characters/luna/poses/default/face/mouth/silly/expression.webp diff --git a/game/characters/luna/face/mouth/smile.webp b/game/characters/luna/poses/default/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/smile.webp rename to game/characters/luna/poses/default/face/mouth/smile/expression.webp diff --git a/game/characters/luna/face/mouth/soft.webp b/game/characters/luna/poses/default/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/soft.webp rename to game/characters/luna/poses/default/face/mouth/soft/expression.webp diff --git a/game/characters/luna/face/mouth/upset.webp b/game/characters/luna/poses/default/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/luna/face/mouth/upset.webp rename to game/characters/luna/poses/default/face/mouth/upset/expression.webp diff --git a/game/characters/luna/face/pupils/L.webp b/game/characters/luna/poses/default/face/pupils/L/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/L.webp rename to game/characters/luna/poses/default/face/pupils/L/expression.webp diff --git a/game/characters/luna/face/pupils/R.webp b/game/characters/luna/poses/default/face/pupils/R/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/R.webp rename to game/characters/luna/poses/default/face/pupils/R/expression.webp diff --git a/game/characters/luna/face/pupils/ahegao.webp b/game/characters/luna/poses/default/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/ahegao.webp rename to game/characters/luna/poses/default/face/pupils/ahegao/expression.webp diff --git a/game/characters/luna/face/pupils/dead.webp b/game/characters/luna/poses/default/face/pupils/dead/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/dead.webp rename to game/characters/luna/poses/default/face/pupils/dead/expression.webp diff --git a/game/characters/luna/face/pupils/down.webp b/game/characters/luna/poses/default/face/pupils/down/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/down.webp rename to game/characters/luna/poses/default/face/pupils/down/expression.webp diff --git a/game/characters/luna/face/pupils/downL.webp b/game/characters/luna/poses/default/face/pupils/downL/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/downL.webp rename to game/characters/luna/poses/default/face/pupils/downL/expression.webp diff --git a/game/characters/luna/face/pupils/downR.webp b/game/characters/luna/poses/default/face/pupils/downR/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/downR.webp rename to game/characters/luna/poses/default/face/pupils/downR/expression.webp diff --git a/game/characters/luna/face/pupils/mid.webp b/game/characters/luna/poses/default/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/mid.webp rename to game/characters/luna/poses/default/face/pupils/mid/expression.webp diff --git a/game/characters/luna/face/pupils/squint.webp b/game/characters/luna/poses/default/face/pupils/squint/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/squint.webp rename to game/characters/luna/poses/default/face/pupils/squint/expression.webp diff --git a/game/characters/luna/face/pupils/stare.webp b/game/characters/luna/poses/default/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/stare.webp rename to game/characters/luna/poses/default/face/pupils/stare/expression.webp diff --git a/game/characters/luna/face/pupils/up.webp b/game/characters/luna/poses/default/face/pupils/up/expression.webp similarity index 100% rename from game/characters/luna/face/pupils/up.webp rename to game/characters/luna/poses/default/face/pupils/up/expression.webp diff --git a/game/characters/luna/face/tears/crying.webp b/game/characters/luna/poses/default/face/tears/crying/expression.webp similarity index 100% rename from game/characters/luna/face/tears/crying.webp rename to game/characters/luna/poses/default/face/tears/crying/expression.webp diff --git a/game/characters/luna/face/tears/crying_blink.webp b/game/characters/luna/poses/default/face/tears/crying_blink/expression.webp similarity index 100% rename from game/characters/luna/face/tears/crying_blink.webp rename to game/characters/luna/poses/default/face/tears/crying_blink/expression.webp diff --git a/game/characters/luna/face/tears/mascara.webp b/game/characters/luna/poses/default/face/tears/mascara/expression.webp similarity index 100% rename from game/characters/luna/face/tears/mascara.webp rename to game/characters/luna/poses/default/face/tears/mascara/expression.webp diff --git a/game/characters/luna/face/tears/messy.webp b/game/characters/luna/poses/default/face/tears/messy/expression.webp similarity index 100% rename from game/characters/luna/face/tears/messy.webp rename to game/characters/luna/poses/default/face/tears/messy/expression.webp diff --git a/game/characters/luna/face/tears/soft.webp b/game/characters/luna/poses/default/face/tears/soft/expression.webp similarity index 100% rename from game/characters/luna/face/tears/soft.webp rename to game/characters/luna/poses/default/face/tears/soft/expression.webp diff --git a/game/characters/luna/poses/masturbate/body/base/front.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/bodyparts/frame/default/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/body/base/front.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/bodyparts/frame/default/skin.webp diff --git a/game/characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/0.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/0.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/0.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/0.webp diff --git a/game/characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/1.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/1.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/1.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/1.webp diff --git a/game/characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/outline.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/outline.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/outline.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/outline.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/0.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/0.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/0.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/0.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/0_back.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/0_back.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/0_back.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/0_back.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/1.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/1.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/1.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/1.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/1_back.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/1_back.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/1_back.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/1_back.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/2.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/2.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/2.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/2.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/outline.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/outline.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/outline.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/outline_back.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/outline_back.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/outline_back.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/outline_back.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/base/skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/base/skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/skin.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/0.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/0.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/0.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/0.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/1.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/1.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/1.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/1.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/2.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/2.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/2.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/2.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/3.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/3.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/3.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/3.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/4.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/4.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/4.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/4.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/extra.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/extra.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/extra.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/extra.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/outline.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/outline.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/outline.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/outline.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/harley_quinn/skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/skin.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/0.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/0.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/0.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/0.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/0_back.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/0_back.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/0_back.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/0_back.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/1.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/1.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/1.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/1.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/1_back.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/1_back.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/1_back.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/1_back.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/2.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/2.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/2.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/2.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/extra.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/extra.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/extra.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/extra.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/outline.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/outline.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/outline.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/outline.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/outline_back.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/outline_back.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/outline_back.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/outline_back.webp diff --git a/game/characters/luna/poses/masturbate/clothes/hair/wand/skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/hair/wand/skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/skin.webp diff --git a/game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/0.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/0.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/0.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/0.webp diff --git a/game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/1.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/1.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/1.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/1.webp diff --git a/game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/extra.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/extra.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/extra.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/extra.webp diff --git a/game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/outline.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/outline.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/outline.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/outline.webp diff --git a/game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/stockings/short_school_1/skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/skin.webp diff --git a/game/characters/luna/poses/masturbate/clothes/top/top_school_1/0.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/0.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/top/top_school_1/0.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/0.webp diff --git a/game/characters/luna/poses/masturbate/clothes/top/top_school_1/1.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/1.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/top/top_school_1/1.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/1.webp diff --git a/game/characters/luna/poses/masturbate/clothes/top/top_school_1/2.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/2.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/top/top_school_1/2.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/2.webp diff --git a/game/characters/luna/poses/masturbate/clothes/top/top_school_1/3.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/3.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/top/top_school_1/3.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/3.webp diff --git a/game/characters/luna/poses/masturbate/clothes/top/top_school_1/extra.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/extra.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/top/top_school_1/extra.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/extra.webp diff --git a/game/characters/luna/poses/masturbate/clothes/top/top_school_1/outline.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/outline.webp similarity index 100% rename from game/characters/luna/poses/masturbate/clothes/top/top_school_1/outline.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/outline.webp diff --git a/game/characters/luna/poses/masturbate/cum/pussy/squirt.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/squirt/cum.webp similarity index 100% rename from game/characters/luna/poses/masturbate/cum/pussy/squirt.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/squirt/cum.webp diff --git a/game/characters/luna/poses/masturbate/cum/pussy/squirt_post.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/squirt_post/cum.webp similarity index 100% rename from game/characters/luna/poses/masturbate/cum/pussy/squirt_post.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/squirt_post/cum.webp diff --git a/game/characters/luna/poses/masturbate/cum/pussy/wet.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/wet/cum.webp similarity index 100% rename from game/characters/luna/poses/masturbate/cum/pussy/wet.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/wet/cum.webp diff --git a/game/characters/luna/poses/masturbate/face/cheeks/blush.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/cheeks/blush.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/cheeks/blush/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/angry.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/angry.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/angry/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/angry_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/angry_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/angry/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/annoyed.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/annoyed.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/annoyed_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/annoyed_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/base.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/base.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/base/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/base_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/base_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/base/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/low.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/low/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/low.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/low/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/low_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/low/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/low_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/low/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/raised.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/raised/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/raised.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/raised/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/raised_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/raised/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/raised_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/raised/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/worried.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/worried.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/worried/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyebrows/worried_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyebrows/worried_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/worried/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/base.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/base.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/base_mask.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/base_mask.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/eyemask.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/base_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/base_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/closed.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/closed.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/closed/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/closed_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/closed/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/closed_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/closed/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/happyCl.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/happyCl.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/happyCl/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/happyCl_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/happyCl/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/happyCl_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/happyCl/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/narrow.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/narrow.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/narrow_mask.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/narrow_mask.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/eyemask.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/narrow_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/narrow_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/wide.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/wide.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/wide_mask.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/wide_mask.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/eyemask.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/wide_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/wide_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/wink.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/wink.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/wink_mask.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/wink_mask.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/eyemask.webp diff --git a/game/characters/luna/poses/masturbate/face/eyes/wink_skin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/skin.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/eyes/wink_skin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/skin.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/angry.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/angry.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/angry/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/annoyed.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/annoyed.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/annoyed/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/base.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/base/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/base.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/base/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/clench.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/clench.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/clench/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/crooked_smile.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/crooked_smile.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/disgust.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/disgust.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/disgust/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/full.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/full/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/full.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/full/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/grin.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/grin.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/grin/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/mad.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/mad.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/mad/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/normal.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/normal.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/normal/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/open.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/open.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/open_tongue.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/open_tongue.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open_tongue/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/open_wide_tongue.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/open_wide_tongue.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/scream.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/scream.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/scream/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/shock.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/shock/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/shock.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/shock/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/silly.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/silly.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/silly/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/smile.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/smile.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/smile/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/soft.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/soft.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/soft/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/mouth/upset.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/mouth/upset.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/mouth/upset/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/L.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/L/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/L.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/L/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/R.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/R/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/R.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/R/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/ahegao.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/ahegao.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/ahegao/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/dead.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/dead/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/dead.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/dead/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/down.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/down/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/down.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/down/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/downL.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/downL/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/downL.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/downL/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/downR.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/downR/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/downR.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/downR/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/mid.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/mid.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/mid/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/squint.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/squint/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/squint.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/squint/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/stare.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/stare.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/stare/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/pupils/up.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/up/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/pupils/up.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/pupils/up/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/tears/crying.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/crying/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/tears/crying.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/crying/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/tears/crying_blink.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/crying_blink/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/tears/crying_blink.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/crying_blink/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/tears/mascara.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/mascara/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/tears/mascara.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/mascara/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/tears/messy.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/messy/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/tears/messy.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/messy/expression.webp diff --git a/game/characters/luna/poses/masturbate/face/tears/soft.webp b/game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/soft/expression.webp similarity index 100% rename from game/characters/luna/poses/masturbate/face/tears/soft.webp rename to game/characters/luna/poses/hand_on_pussy_and_breast/face/tears/soft/expression.webp diff --git a/game/characters/luna/poses/masturbate/body/armleft/up.webp b/game/characters/luna/poses/masturbate/body/armleft/up.webp deleted file mode 100644 index 4845b4e5..00000000 --- a/game/characters/luna/poses/masturbate/body/armleft/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:949d2c3f40b4631abd22a170a9492ed699338013b1cc1f6249021bc298fe18bf -size 3238 diff --git a/game/characters/luna/poses/masturbate/body/armright/up.webp b/game/characters/luna/poses/masturbate/body/armright/up.webp deleted file mode 100644 index 40a670dc..00000000 --- a/game/characters/luna/poses/masturbate/body/armright/up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57038791f9fce36c0b8b6d0594ef9562181e9ff64098f4dddb83031e198a638e -size 890 diff --git a/game/characters/luna/poses/masturbate/body/breasts/normal.webp b/game/characters/luna/poses/masturbate/body/breasts/normal.webp deleted file mode 100644 index 40a670dc..00000000 --- a/game/characters/luna/poses/masturbate/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57038791f9fce36c0b8b6d0594ef9562181e9ff64098f4dddb83031e198a638e -size 890 diff --git a/game/characters/luna/poses/masturbate/loadable.webp b/game/characters/luna/poses/masturbate/loadable.webp deleted file mode 100644 index 9357818b..00000000 --- a/game/characters/luna/poses/masturbate/loadable.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86be52bdb7547413cafb3ed175a806a798c65de98b40849e0b974c47d187de65 -size 34 diff --git a/game/characters/susan/clothes/robe/robe_school_3/1_back.webp b/game/characters/susan/clothes/robe/robe_school_3/1_back.webp deleted file mode 100644 index 4812ee9d..00000000 --- a/game/characters/susan/clothes/robe/robe_school_3/1_back.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecf21d490c7e84f314559bc5f881a7b0e73868e73d74e55e180c97eaf21c32fe -size 650 diff --git a/game/characters/susan/body/base/front.webp b/game/characters/susan/poses/default/bodyparts/frame/default/skin.webp similarity index 100% rename from game/characters/susan/body/base/front.webp rename to game/characters/susan/poses/default/bodyparts/frame/default/skin.webp diff --git a/game/characters/susan/clothes/bottom/jeans_1/0.webp b/game/characters/susan/poses/default/clothes/bottom/jeans_1/0.webp similarity index 100% rename from game/characters/susan/clothes/bottom/jeans_1/0.webp rename to game/characters/susan/poses/default/clothes/bottom/jeans_1/0.webp diff --git a/game/characters/susan/clothes/bottom/jeans_1/1.webp b/game/characters/susan/poses/default/clothes/bottom/jeans_1/1.webp similarity index 100% rename from game/characters/susan/clothes/bottom/jeans_1/1.webp rename to game/characters/susan/poses/default/clothes/bottom/jeans_1/1.webp diff --git a/game/characters/susan/clothes/bottom/jeans_1/outline.webp b/game/characters/susan/poses/default/clothes/bottom/jeans_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/bottom/jeans_1/outline.webp rename to game/characters/susan/poses/default/clothes/bottom/jeans_1/outline.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_1/0.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_1/0.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_1/0.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_1/0.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_1/1.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_1/1.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_1/1.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_1/1.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_1/extra.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_1/extra.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_1/extra.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_1/extra.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_1/outline.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_1/outline.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_1/outline.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_1/skin.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_1/skin.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_1/skin.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_2/0.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_2/0.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_2/0.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_2/0.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_2/1.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_2/1.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_2/1.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_2/1.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_2/extra.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_2/extra.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_2/extra.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_2/extra.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_2/outline.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_2/outline.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_2/outline.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_2/outline.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_2/skin.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_2/skin.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_2/skin.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_2/skin.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_3/0.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_3/0.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_3/0.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_3/0.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_3/1.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_3/1.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_3/1.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_3/1.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_3/extra.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_3/extra.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_3/extra.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_3/extra.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_3/outline.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_3/outline.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_3/outline.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_3/outline.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_3/skin.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_3/skin.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_3/skin.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_3/skin.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_4/0.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_4/0.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_4/0.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_4/0.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_4/1.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_4/1.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_4/1.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_4/1.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_4/extra.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_4/extra.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_4/extra.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_4/extra.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_4/outline.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_4/outline.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_4/outline.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_4/outline.webp diff --git a/game/characters/susan/clothes/bottom/school_skirt_4/skin.webp b/game/characters/susan/poses/default/clothes/bottom/school_skirt_4/skin.webp similarity index 100% rename from game/characters/susan/clothes/bottom/school_skirt_4/skin.webp rename to game/characters/susan/poses/default/clothes/bottom/school_skirt_4/skin.webp diff --git a/game/characters/susan/clothes/bra/base/0.webp b/game/characters/susan/poses/default/clothes/bra/base/0.webp similarity index 100% rename from game/characters/susan/clothes/bra/base/0.webp rename to game/characters/susan/poses/default/clothes/bra/base/0.webp diff --git a/game/characters/susan/clothes/bra/base/mask.webp b/game/characters/susan/poses/default/clothes/bra/base/mask.webp similarity index 100% rename from game/characters/susan/clothes/bra/base/mask.webp rename to game/characters/susan/poses/default/clothes/bra/base/mask.webp diff --git a/game/characters/susan/clothes/bra/base/outline.webp b/game/characters/susan/poses/default/clothes/bra/base/outline.webp similarity index 100% rename from game/characters/susan/clothes/bra/base/outline.webp rename to game/characters/susan/poses/default/clothes/bra/base/outline.webp diff --git a/game/characters/susan/clothes/bra/base/skin.webp b/game/characters/susan/poses/default/clothes/bra/base/skin.webp similarity index 100% rename from game/characters/susan/clothes/bra/base/skin.webp rename to game/characters/susan/poses/default/clothes/bra/base/skin.webp diff --git a/game/characters/susan/clothes/bra/basic_bra_1/0.webp b/game/characters/susan/poses/default/clothes/bra/basic_bra_1/0.webp similarity index 100% rename from game/characters/susan/clothes/bra/basic_bra_1/0.webp rename to game/characters/susan/poses/default/clothes/bra/basic_bra_1/0.webp diff --git a/game/characters/susan/clothes/bra/basic_bra_1/1.webp b/game/characters/susan/poses/default/clothes/bra/basic_bra_1/1.webp similarity index 100% rename from game/characters/susan/clothes/bra/basic_bra_1/1.webp rename to game/characters/susan/poses/default/clothes/bra/basic_bra_1/1.webp diff --git a/game/characters/susan/clothes/bra/basic_bra_1/2.webp b/game/characters/susan/poses/default/clothes/bra/basic_bra_1/2.webp similarity index 100% rename from game/characters/susan/clothes/bra/basic_bra_1/2.webp rename to game/characters/susan/poses/default/clothes/bra/basic_bra_1/2.webp diff --git a/game/characters/susan/clothes/bra/basic_bra_1/outline.webp b/game/characters/susan/poses/default/clothes/bra/basic_bra_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/bra/basic_bra_1/outline.webp rename to game/characters/susan/poses/default/clothes/bra/basic_bra_1/outline.webp diff --git a/game/characters/susan/clothes/bra/basic_bra_1/skin.webp b/game/characters/susan/poses/default/clothes/bra/basic_bra_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/bra/basic_bra_1/skin.webp rename to game/characters/susan/poses/default/clothes/bra/basic_bra_1/skin.webp diff --git a/game/characters/susan/clothes/bra/lace_bra_1/0.webp b/game/characters/susan/poses/default/clothes/bra/lace_bra_1/0.webp similarity index 100% rename from game/characters/susan/clothes/bra/lace_bra_1/0.webp rename to game/characters/susan/poses/default/clothes/bra/lace_bra_1/0.webp diff --git a/game/characters/susan/clothes/bra/lace_bra_1/1.webp b/game/characters/susan/poses/default/clothes/bra/lace_bra_1/1.webp similarity index 100% rename from game/characters/susan/clothes/bra/lace_bra_1/1.webp rename to game/characters/susan/poses/default/clothes/bra/lace_bra_1/1.webp diff --git a/game/characters/susan/clothes/bra/lace_bra_1/outline.webp b/game/characters/susan/poses/default/clothes/bra/lace_bra_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/bra/lace_bra_1/outline.webp rename to game/characters/susan/poses/default/clothes/bra/lace_bra_1/outline.webp diff --git a/game/characters/susan/clothes/bra/lace_bra_1/skin.webp b/game/characters/susan/poses/default/clothes/bra/lace_bra_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/bra/lace_bra_1/skin.webp rename to game/characters/susan/poses/default/clothes/bra/lace_bra_1/skin.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_1/0.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_1/0.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_1/0.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_1/0.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_1/extra.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_1/extra.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_1/extra.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_1/extra.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_1/outline.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_1/outline.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_1/outline.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_1/skin.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_1/skin.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_1/skin.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_2/0.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_2/0.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_2/0.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_2/0.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_2/1.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_2/1.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_2/1.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_2/1.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_2/extra.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_2/extra.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_2/extra.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_2/extra.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_2/mask.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_2/mask.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_2/mask.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_2/mask.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_2/outline.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_2/outline.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_2/outline.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_2/outline.webp diff --git a/game/characters/susan/clothes/bra/latex_bra_2/skin.webp b/game/characters/susan/poses/default/clothes/bra/latex_bra_2/skin.webp similarity index 100% rename from game/characters/susan/clothes/bra/latex_bra_2/skin.webp rename to game/characters/susan/poses/default/clothes/bra/latex_bra_2/skin.webp diff --git a/game/characters/susan/clothes/bra/muggle_bra_1/0.webp b/game/characters/susan/poses/default/clothes/bra/muggle_bra_1/0.webp similarity index 100% rename from game/characters/susan/clothes/bra/muggle_bra_1/0.webp rename to game/characters/susan/poses/default/clothes/bra/muggle_bra_1/0.webp diff --git a/game/characters/susan/clothes/bra/muggle_bra_1/1.webp b/game/characters/susan/poses/default/clothes/bra/muggle_bra_1/1.webp similarity index 100% rename from game/characters/susan/clothes/bra/muggle_bra_1/1.webp rename to game/characters/susan/poses/default/clothes/bra/muggle_bra_1/1.webp diff --git a/game/characters/susan/clothes/bra/muggle_bra_1/outline.webp b/game/characters/susan/poses/default/clothes/bra/muggle_bra_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/bra/muggle_bra_1/outline.webp rename to game/characters/susan/poses/default/clothes/bra/muggle_bra_1/outline.webp diff --git a/game/characters/susan/clothes/bra/muggle_bra_1/skin.webp b/game/characters/susan/poses/default/clothes/bra/muggle_bra_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/bra/muggle_bra_1/skin.webp rename to game/characters/susan/poses/default/clothes/bra/muggle_bra_1/skin.webp diff --git a/game/characters/susan/clothes/bra/sport_bra_1/0.webp b/game/characters/susan/poses/default/clothes/bra/sport_bra_1/0.webp similarity index 100% rename from game/characters/susan/clothes/bra/sport_bra_1/0.webp rename to game/characters/susan/poses/default/clothes/bra/sport_bra_1/0.webp diff --git a/game/characters/susan/clothes/bra/sport_bra_1/1.webp b/game/characters/susan/poses/default/clothes/bra/sport_bra_1/1.webp similarity index 100% rename from game/characters/susan/clothes/bra/sport_bra_1/1.webp rename to game/characters/susan/poses/default/clothes/bra/sport_bra_1/1.webp diff --git a/game/characters/susan/clothes/bra/sport_bra_1/outline.webp b/game/characters/susan/poses/default/clothes/bra/sport_bra_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/bra/sport_bra_1/outline.webp rename to game/characters/susan/poses/default/clothes/bra/sport_bra_1/outline.webp diff --git a/game/characters/susan/clothes/bra/sport_bra_1/skin.webp b/game/characters/susan/poses/default/clothes/bra/sport_bra_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/bra/sport_bra_1/skin.webp rename to game/characters/susan/poses/default/clothes/bra/sport_bra_1/skin.webp diff --git a/game/characters/susan/clothes/garterbelt/garter_belt_1/0.webp b/game/characters/susan/poses/default/clothes/garterbelt/garter_belt_1/0.webp similarity index 100% rename from game/characters/susan/clothes/garterbelt/garter_belt_1/0.webp rename to game/characters/susan/poses/default/clothes/garterbelt/garter_belt_1/0.webp diff --git a/game/characters/susan/clothes/garterbelt/garter_belt_1/outline.webp b/game/characters/susan/poses/default/clothes/garterbelt/garter_belt_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/garterbelt/garter_belt_1/outline.webp rename to game/characters/susan/poses/default/clothes/garterbelt/garter_belt_1/outline.webp diff --git a/game/characters/susan/clothes/garterbelt/garter_belt_1/skin.webp b/game/characters/susan/poses/default/clothes/garterbelt/garter_belt_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/garterbelt/garter_belt_1/skin.webp rename to game/characters/susan/poses/default/clothes/garterbelt/garter_belt_1/skin.webp diff --git a/game/characters/susan/clothes/hair/base/0.webp b/game/characters/susan/poses/default/clothes/hair/base/0.webp similarity index 100% rename from game/characters/susan/clothes/hair/base/0.webp rename to game/characters/susan/poses/default/clothes/hair/base/0.webp diff --git a/game/characters/susan/clothes/hair/base/1.webp b/game/characters/susan/poses/default/clothes/hair/base/1.webp similarity index 100% rename from game/characters/susan/clothes/hair/base/1.webp rename to game/characters/susan/poses/default/clothes/hair/base/1.webp diff --git a/game/characters/susan/clothes/hair/base/extra.webp b/game/characters/susan/poses/default/clothes/hair/base/extra.webp similarity index 100% rename from game/characters/susan/clothes/hair/base/extra.webp rename to game/characters/susan/poses/default/clothes/hair/base/extra.webp diff --git a/game/characters/susan/clothes/hair/base/outline.webp b/game/characters/susan/poses/default/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/susan/clothes/hair/base/outline.webp rename to game/characters/susan/poses/default/clothes/hair/base/outline.webp diff --git a/game/characters/susan/clothes/hair/base/skin.webp b/game/characters/susan/poses/default/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/susan/clothes/hair/base/skin.webp rename to game/characters/susan/poses/default/clothes/hair/base/skin.webp diff --git a/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0.webp b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0.webp new file mode 100644 index 00000000..505a646a --- /dev/null +++ b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7c092f9b890f7ad920577d5ba5ba9ab445af1401f441848a18f6b54cdfb2e4c +size 3990 diff --git a/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0_back.webp b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0_back.webp new file mode 100644 index 00000000..b3e407f1 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a25a84c606497a20419a1047c64c2cc7560080aa39eacaece97c33f565605552 +size 2292 diff --git a/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/1.webp b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/1.webp new file mode 100644 index 00000000..c719b39d --- /dev/null +++ b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:144497f325a5f474166d25297795436141b6e663ef1178538c87c17abc3c1d5f +size 3430 diff --git a/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/mask.webp b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/mask.webp new file mode 100644 index 00000000..70e94ac6 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:016737261502a01e18f1b495a69ab83a168ed37724386cba5cd73ea4fa9a78a8 +size 6200 diff --git a/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline.webp b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline.webp new file mode 100644 index 00000000..acb98b28 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6ece0df6280ef755b2c5258f531133da6da59429806f5e54fe55392182eb231 +size 9186 diff --git a/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline_back.webp b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline_back.webp new file mode 100644 index 00000000..12de8928 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159785246199bb86b6c672b7b87fe31b9a2076fb6852877ab4756afb09b88917 +size 2324 diff --git a/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/0.webp b/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/0.webp new file mode 100644 index 00000000..eba2a719 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dde6d2c713dac03cb38dd59c82e241e66c30d0db39ece4bbab5ecd2c29648f0 +size 1288 diff --git a/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/extra.webp b/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/extra.webp new file mode 100644 index 00000000..b9de259c --- /dev/null +++ b/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58bb3c2dd9b021f69d844c392c45b3d4fb2f3c4e85be79b4db5a4b54af28590a +size 884 diff --git a/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/outline.webp b/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/outline.webp new file mode 100644 index 00000000..d93c2c48 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/neckwear/hat_necklace/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac2b25e123e8439c72f25bb6e7134dba30d178d6a4cfed9ef84f46c46e91b6f0 +size 2028 diff --git a/game/characters/susan/clothes/panties/basic_panties_1/0.webp b/game/characters/susan/poses/default/clothes/panties/basic_panties_1/0.webp similarity index 100% rename from game/characters/susan/clothes/panties/basic_panties_1/0.webp rename to game/characters/susan/poses/default/clothes/panties/basic_panties_1/0.webp diff --git a/game/characters/susan/clothes/panties/basic_panties_1/1.webp b/game/characters/susan/poses/default/clothes/panties/basic_panties_1/1.webp similarity index 100% rename from game/characters/susan/clothes/panties/basic_panties_1/1.webp rename to game/characters/susan/poses/default/clothes/panties/basic_panties_1/1.webp diff --git a/game/characters/susan/clothes/panties/basic_panties_1/2.webp b/game/characters/susan/poses/default/clothes/panties/basic_panties_1/2.webp similarity index 100% rename from game/characters/susan/clothes/panties/basic_panties_1/2.webp rename to game/characters/susan/poses/default/clothes/panties/basic_panties_1/2.webp diff --git a/game/characters/susan/clothes/panties/basic_panties_1/outline.webp b/game/characters/susan/poses/default/clothes/panties/basic_panties_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/panties/basic_panties_1/outline.webp rename to game/characters/susan/poses/default/clothes/panties/basic_panties_1/outline.webp diff --git a/game/characters/susan/clothes/panties/basic_panties_1/skin.webp b/game/characters/susan/poses/default/clothes/panties/basic_panties_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/panties/basic_panties_1/skin.webp rename to game/characters/susan/poses/default/clothes/panties/basic_panties_1/skin.webp diff --git a/game/characters/susan/clothes/panties/lace/0.webp b/game/characters/susan/poses/default/clothes/panties/lace/0.webp similarity index 100% rename from game/characters/susan/clothes/panties/lace/0.webp rename to game/characters/susan/poses/default/clothes/panties/lace/0.webp diff --git a/game/characters/susan/clothes/panties/lace/outline.webp b/game/characters/susan/poses/default/clothes/panties/lace/outline.webp similarity index 100% rename from game/characters/susan/clothes/panties/lace/outline.webp rename to game/characters/susan/poses/default/clothes/panties/lace/outline.webp diff --git a/game/characters/susan/clothes/panties/lace_panties_1/0.webp b/game/characters/susan/poses/default/clothes/panties/lace_panties_1/0.webp similarity index 100% rename from game/characters/susan/clothes/panties/lace_panties_1/0.webp rename to game/characters/susan/poses/default/clothes/panties/lace_panties_1/0.webp diff --git a/game/characters/susan/clothes/panties/lace_panties_1/1.webp b/game/characters/susan/poses/default/clothes/panties/lace_panties_1/1.webp similarity index 100% rename from game/characters/susan/clothes/panties/lace_panties_1/1.webp rename to game/characters/susan/poses/default/clothes/panties/lace_panties_1/1.webp diff --git a/game/characters/susan/clothes/panties/lace_panties_1/2.webp b/game/characters/susan/poses/default/clothes/panties/lace_panties_1/2.webp similarity index 100% rename from game/characters/susan/clothes/panties/lace_panties_1/2.webp rename to game/characters/susan/poses/default/clothes/panties/lace_panties_1/2.webp diff --git a/game/characters/susan/clothes/panties/lace_panties_1/outline.webp b/game/characters/susan/poses/default/clothes/panties/lace_panties_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/panties/lace_panties_1/outline.webp rename to game/characters/susan/poses/default/clothes/panties/lace_panties_1/outline.webp diff --git a/game/characters/susan/clothes/panties/lace_panties_1/skin.webp b/game/characters/susan/poses/default/clothes/panties/lace_panties_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/panties/lace_panties_1/skin.webp rename to game/characters/susan/poses/default/clothes/panties/lace_panties_1/skin.webp diff --git a/game/characters/susan/clothes/panties/latex_panties_1/0.webp b/game/characters/susan/poses/default/clothes/panties/latex_panties_1/0.webp similarity index 100% rename from game/characters/susan/clothes/panties/latex_panties_1/0.webp rename to game/characters/susan/poses/default/clothes/panties/latex_panties_1/0.webp diff --git a/game/characters/susan/clothes/panties/latex_panties_1/extra.webp b/game/characters/susan/poses/default/clothes/panties/latex_panties_1/extra.webp similarity index 100% rename from game/characters/susan/clothes/panties/latex_panties_1/extra.webp rename to game/characters/susan/poses/default/clothes/panties/latex_panties_1/extra.webp diff --git a/game/characters/susan/clothes/panties/latex_panties_1/mask.webp b/game/characters/susan/poses/default/clothes/panties/latex_panties_1/mask.webp similarity index 100% rename from game/characters/susan/clothes/panties/latex_panties_1/mask.webp rename to game/characters/susan/poses/default/clothes/panties/latex_panties_1/mask.webp diff --git a/game/characters/susan/clothes/panties/latex_panties_1/outline.webp b/game/characters/susan/poses/default/clothes/panties/latex_panties_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/panties/latex_panties_1/outline.webp rename to game/characters/susan/poses/default/clothes/panties/latex_panties_1/outline.webp diff --git a/game/characters/susan/clothes/panties/latex_panties_1/skin.webp b/game/characters/susan/poses/default/clothes/panties/latex_panties_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/panties/latex_panties_1/skin.webp rename to game/characters/susan/poses/default/clothes/panties/latex_panties_1/skin.webp diff --git a/game/characters/susan/clothes/panties/muggle_panties_1/0.webp b/game/characters/susan/poses/default/clothes/panties/muggle_panties_1/0.webp similarity index 100% rename from game/characters/susan/clothes/panties/muggle_panties_1/0.webp rename to game/characters/susan/poses/default/clothes/panties/muggle_panties_1/0.webp diff --git a/game/characters/susan/clothes/panties/muggle_panties_1/1.webp b/game/characters/susan/poses/default/clothes/panties/muggle_panties_1/1.webp similarity index 100% rename from game/characters/susan/clothes/panties/muggle_panties_1/1.webp rename to game/characters/susan/poses/default/clothes/panties/muggle_panties_1/1.webp diff --git a/game/characters/susan/clothes/panties/muggle_panties_1/outline.webp b/game/characters/susan/poses/default/clothes/panties/muggle_panties_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/panties/muggle_panties_1/outline.webp rename to game/characters/susan/poses/default/clothes/panties/muggle_panties_1/outline.webp diff --git a/game/characters/susan/clothes/panties/sport_panties_1/0.webp b/game/characters/susan/poses/default/clothes/panties/sport_panties_1/0.webp similarity index 100% rename from game/characters/susan/clothes/panties/sport_panties_1/0.webp rename to game/characters/susan/poses/default/clothes/panties/sport_panties_1/0.webp diff --git a/game/characters/susan/clothes/panties/sport_panties_1/1.webp b/game/characters/susan/poses/default/clothes/panties/sport_panties_1/1.webp similarity index 100% rename from game/characters/susan/clothes/panties/sport_panties_1/1.webp rename to game/characters/susan/poses/default/clothes/panties/sport_panties_1/1.webp diff --git a/game/characters/susan/clothes/panties/sport_panties_1/outline.webp b/game/characters/susan/poses/default/clothes/panties/sport_panties_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/panties/sport_panties_1/outline.webp rename to game/characters/susan/poses/default/clothes/panties/sport_panties_1/outline.webp diff --git a/game/characters/susan/clothes/panties/sport_panties_1/skin.webp b/game/characters/susan/poses/default/clothes/panties/sport_panties_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/panties/sport_panties_1/skin.webp rename to game/characters/susan/poses/default/clothes/panties/sport_panties_1/skin.webp diff --git a/game/characters/susan/clothes/robe/robe_school_1/0.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_1/0.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_1/0.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_1/0.webp diff --git a/game/characters/susan/clothes/robe/robe_school_1/1.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_1/1.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_1/1.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_1/1.webp diff --git a/game/characters/susan/clothes/robe/robe_school_1/extra.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_1/extra.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_1/extra.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_1/extra.webp diff --git a/game/characters/susan/clothes/robe/robe_school_1/outline.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_1/outline.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_1/outline.webp diff --git a/game/characters/susan/clothes/robe/robe_school_1/skin.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_1/skin.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_1/skin.webp diff --git a/game/characters/susan/clothes/robe/robe_school_2/0.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_2/0.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_2/0.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_2/0.webp diff --git a/game/characters/susan/clothes/robe/robe_school_2/1.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_2/1.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_2/1.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_2/1.webp diff --git a/game/characters/susan/clothes/robe/robe_school_2/extra.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_2/extra.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_2/extra.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_2/extra.webp diff --git a/game/characters/susan/clothes/robe/robe_school_2/outline.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_2/outline.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_2/outline.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_2/outline.webp diff --git a/game/characters/susan/clothes/robe/robe_school_2/skin.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_2/skin.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_2/skin.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_2/skin.webp diff --git a/game/characters/susan/clothes/robe/robe_school_3/0.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_3/0.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_3/0.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_3/0.webp diff --git a/game/characters/susan/clothes/robe/robe_school_3/1.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_3/1.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_3/1.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_3/1.webp diff --git a/game/characters/susan/clothes/robe/robe_school_3/2.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_3/1_back.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_3/2.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_3/1_back.webp diff --git a/game/characters/susan/clothes/robe/robe_school_3/extra.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_3/extra.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_3/extra.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_3/extra.webp diff --git a/game/characters/susan/clothes/robe/robe_school_3/outline.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_3/outline.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_3/outline.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_3/outline.webp diff --git a/game/characters/susan/clothes/robe/robe_school_3/skin.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_3/skin.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_3/skin.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_3/skin.webp diff --git a/game/characters/susan/clothes/robe/robe_school_4/0.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_4/0.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_4/0.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_4/0.webp diff --git a/game/characters/susan/clothes/robe/robe_school_4/1.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_4/1.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_4/1.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_4/1.webp diff --git a/game/characters/susan/clothes/robe/robe_school_4/1_back.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_4/1_back.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_4/1_back.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_4/1_back.webp diff --git a/game/characters/susan/clothes/robe/robe_school_4/extra.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_4/extra.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_4/extra.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_4/extra.webp diff --git a/game/characters/susan/clothes/robe/robe_school_4/outline.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_4/outline.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_4/outline.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_4/outline.webp diff --git a/game/characters/susan/clothes/robe/robe_school_4/outline_back.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_4/outline_back.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_4/outline_back.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_4/outline_back.webp diff --git a/game/characters/susan/clothes/robe/robe_school_4/skin.webp b/game/characters/susan/poses/default/clothes/robe/robe_school_4/skin.webp similarity index 100% rename from game/characters/susan/clothes/robe/robe_school_4/skin.webp rename to game/characters/susan/poses/default/clothes/robe/robe_school_4/skin.webp diff --git a/game/characters/susan/poses/default/clothes/stockings/lace_stockings_1/0.webp b/game/characters/susan/poses/default/clothes/stockings/lace_stockings_1/0.webp new file mode 100644 index 00000000..9b30f792 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/stockings/lace_stockings_1/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb1c79809d76b9a633862b77d3fa535ea68e1b7d3f0af503287229486a79806 +size 12224 diff --git a/game/characters/susan/poses/default/clothes/stockings/lace_stockings_1/outline.webp b/game/characters/susan/poses/default/clothes/stockings/lace_stockings_1/outline.webp new file mode 100644 index 00000000..322a7933 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/stockings/lace_stockings_1/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:132774744878788464fa354400412c96badcb06a07e82f05b4c4b8ec1a832bc2 +size 15274 diff --git a/game/characters/susan/clothes/stockings/short_school_1/0.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_1/0.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_1/0.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_1/0.webp diff --git a/game/characters/susan/clothes/stockings/short_school_1/1.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_1/1.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_1/1.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_1/1.webp diff --git a/game/characters/susan/clothes/stockings/short_school_1/extra.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_1/extra.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_1/extra.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_1/extra.webp diff --git a/game/characters/susan/clothes/stockings/short_school_1/outline.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_1/outline.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_1/outline.webp diff --git a/game/characters/susan/clothes/stockings/short_school_1/skin.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_1/skin.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_1/skin.webp diff --git a/game/characters/susan/clothes/stockings/short_school_2/0.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_2/0.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_2/0.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_2/0.webp diff --git a/game/characters/susan/clothes/stockings/short_school_2/extra.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_2/extra.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_2/extra.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_2/extra.webp diff --git a/game/characters/susan/clothes/stockings/short_school_2/outline.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_2/outline.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_2/outline.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_2/outline.webp diff --git a/game/characters/susan/clothes/stockings/short_school_2/skin.webp b/game/characters/susan/poses/default/clothes/stockings/short_school_2/skin.webp similarity index 100% rename from game/characters/susan/clothes/stockings/short_school_2/skin.webp rename to game/characters/susan/poses/default/clothes/stockings/short_school_2/skin.webp diff --git a/game/characters/susan/clothes/stockings/striped_stockings_1/0.webp b/game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/0.webp similarity index 100% rename from game/characters/susan/clothes/stockings/striped_stockings_1/0.webp rename to game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/0.webp diff --git a/game/characters/susan/clothes/stockings/striped_stockings_1/1.webp b/game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/1.webp similarity index 100% rename from game/characters/susan/clothes/stockings/striped_stockings_1/1.webp rename to game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/1.webp diff --git a/game/characters/susan/clothes/stockings/striped_stockings_1/outline.webp b/game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/stockings/striped_stockings_1/outline.webp rename to game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/outline.webp diff --git a/game/characters/susan/clothes/stockings/striped_stockings_1/skin.webp b/game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/stockings/striped_stockings_1/skin.webp rename to game/characters/susan/poses/default/clothes/stockings/striped_stockings_1/skin.webp diff --git a/game/characters/susan/clothes/top/muggle_casual_top_1/0.webp b/game/characters/susan/poses/default/clothes/top/muggle_casual_top_1/0.webp similarity index 100% rename from game/characters/susan/clothes/top/muggle_casual_top_1/0.webp rename to game/characters/susan/poses/default/clothes/top/muggle_casual_top_1/0.webp diff --git a/game/characters/susan/clothes/top/muggle_casual_top_1/outline.webp b/game/characters/susan/poses/default/clothes/top/muggle_casual_top_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/top/muggle_casual_top_1/outline.webp rename to game/characters/susan/poses/default/clothes/top/muggle_casual_top_1/outline.webp diff --git a/game/characters/susan/clothes/top/muggle_casual_top_1/skin.webp b/game/characters/susan/poses/default/clothes/top/muggle_casual_top_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/top/muggle_casual_top_1/skin.webp rename to game/characters/susan/poses/default/clothes/top/muggle_casual_top_1/skin.webp diff --git a/game/characters/susan/poses/default/clothes/top/priestess_dress/0.webp b/game/characters/susan/poses/default/clothes/top/priestess_dress/0.webp new file mode 100644 index 00000000..415f4fbf --- /dev/null +++ b/game/characters/susan/poses/default/clothes/top/priestess_dress/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e9b41f05751550dbbcddea767f85e7ada55ae19c3a944cb9ad942653931af8a +size 19402 diff --git a/game/characters/susan/poses/default/clothes/top/priestess_dress/0_back.webp b/game/characters/susan/poses/default/clothes/top/priestess_dress/0_back.webp new file mode 100644 index 00000000..d8af674a --- /dev/null +++ b/game/characters/susan/poses/default/clothes/top/priestess_dress/0_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eafedcef930e8346d713136552c7416bece5a69ca36bb43b0b03372ec25670ff +size 1052 diff --git a/game/characters/susan/poses/default/clothes/top/priestess_dress/1.webp b/game/characters/susan/poses/default/clothes/top/priestess_dress/1.webp new file mode 100644 index 00000000..829f4bfd --- /dev/null +++ b/game/characters/susan/poses/default/clothes/top/priestess_dress/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d097226b1fde35a5305afe09c9c1189b0bc674808fe44f7308f1687343b817 +size 3546 diff --git a/game/characters/susan/poses/default/clothes/top/priestess_dress/outline.webp b/game/characters/susan/poses/default/clothes/top/priestess_dress/outline.webp new file mode 100644 index 00000000..ca37eec9 --- /dev/null +++ b/game/characters/susan/poses/default/clothes/top/priestess_dress/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aa2aeb4722412a6563b9b299ed40076649890bb4cad0ade135afef351fc817c +size 22562 diff --git a/game/characters/susan/clothes/top/top_school_1/0.webp b/game/characters/susan/poses/default/clothes/top/top_school_1/0.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_1/0.webp rename to game/characters/susan/poses/default/clothes/top/top_school_1/0.webp diff --git a/game/characters/susan/clothes/top/top_school_1/1.webp b/game/characters/susan/poses/default/clothes/top/top_school_1/1.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_1/1.webp rename to game/characters/susan/poses/default/clothes/top/top_school_1/1.webp diff --git a/game/characters/susan/clothes/top/top_school_1/2.webp b/game/characters/susan/poses/default/clothes/top/top_school_1/2.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_1/2.webp rename to game/characters/susan/poses/default/clothes/top/top_school_1/2.webp diff --git a/game/characters/susan/clothes/top/top_school_1/3.webp b/game/characters/susan/poses/default/clothes/top/top_school_1/3.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_1/3.webp rename to game/characters/susan/poses/default/clothes/top/top_school_1/3.webp diff --git a/game/characters/susan/clothes/top/top_school_1/extra.webp b/game/characters/susan/poses/default/clothes/top/top_school_1/extra.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_1/extra.webp rename to game/characters/susan/poses/default/clothes/top/top_school_1/extra.webp diff --git a/game/characters/susan/clothes/top/top_school_1/outline.webp b/game/characters/susan/poses/default/clothes/top/top_school_1/outline.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_1/outline.webp rename to game/characters/susan/poses/default/clothes/top/top_school_1/outline.webp diff --git a/game/characters/susan/clothes/top/top_school_1/skin.webp b/game/characters/susan/poses/default/clothes/top/top_school_1/skin.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_1/skin.webp rename to game/characters/susan/poses/default/clothes/top/top_school_1/skin.webp diff --git a/game/characters/susan/clothes/top/top_school_2/0.webp b/game/characters/susan/poses/default/clothes/top/top_school_2/0.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_2/0.webp rename to game/characters/susan/poses/default/clothes/top/top_school_2/0.webp diff --git a/game/characters/susan/clothes/top/top_school_2/1.webp b/game/characters/susan/poses/default/clothes/top/top_school_2/1.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_2/1.webp rename to game/characters/susan/poses/default/clothes/top/top_school_2/1.webp diff --git a/game/characters/susan/clothes/top/top_school_2/2.webp b/game/characters/susan/poses/default/clothes/top/top_school_2/2.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_2/2.webp rename to game/characters/susan/poses/default/clothes/top/top_school_2/2.webp diff --git a/game/characters/susan/clothes/top/top_school_2/3.webp b/game/characters/susan/poses/default/clothes/top/top_school_2/3.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_2/3.webp rename to game/characters/susan/poses/default/clothes/top/top_school_2/3.webp diff --git a/game/characters/susan/clothes/top/top_school_2/extra.webp b/game/characters/susan/poses/default/clothes/top/top_school_2/extra.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_2/extra.webp rename to game/characters/susan/poses/default/clothes/top/top_school_2/extra.webp diff --git a/game/characters/susan/clothes/top/top_school_2/outline.webp b/game/characters/susan/poses/default/clothes/top/top_school_2/outline.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_2/outline.webp rename to game/characters/susan/poses/default/clothes/top/top_school_2/outline.webp diff --git a/game/characters/susan/clothes/top/top_school_2/skin.webp b/game/characters/susan/poses/default/clothes/top/top_school_2/skin.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_2/skin.webp rename to game/characters/susan/poses/default/clothes/top/top_school_2/skin.webp diff --git a/game/characters/susan/clothes/top/top_school_3/0.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/0.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/0.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/0.webp diff --git a/game/characters/susan/clothes/top/top_school_3/1.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/1.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/1.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/1.webp diff --git a/game/characters/susan/clothes/top/top_school_3/2.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/2.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/2.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/2.webp diff --git a/game/characters/susan/clothes/top/top_school_3/3.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/3.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/3.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/3.webp diff --git a/game/characters/susan/clothes/top/top_school_3/4.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/4.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/4.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/4.webp diff --git a/game/characters/susan/clothes/top/top_school_3/extra.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/extra.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/extra.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/extra.webp diff --git a/game/characters/susan/clothes/top/top_school_3/outline.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/outline.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/outline.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/outline.webp diff --git a/game/characters/susan/clothes/top/top_school_3/skin.webp b/game/characters/susan/poses/default/clothes/top/top_school_3/skin.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_3/skin.webp rename to game/characters/susan/poses/default/clothes/top/top_school_3/skin.webp diff --git a/game/characters/susan/clothes/top/top_school_4/0.webp b/game/characters/susan/poses/default/clothes/top/top_school_4/0.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_4/0.webp rename to game/characters/susan/poses/default/clothes/top/top_school_4/0.webp diff --git a/game/characters/susan/clothes/top/top_school_4/1.webp b/game/characters/susan/poses/default/clothes/top/top_school_4/1.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_4/1.webp rename to game/characters/susan/poses/default/clothes/top/top_school_4/1.webp diff --git a/game/characters/susan/clothes/top/top_school_4/2.webp b/game/characters/susan/poses/default/clothes/top/top_school_4/2.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_4/2.webp rename to game/characters/susan/poses/default/clothes/top/top_school_4/2.webp diff --git a/game/characters/susan/clothes/top/top_school_4/3.webp b/game/characters/susan/poses/default/clothes/top/top_school_4/3.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_4/3.webp rename to game/characters/susan/poses/default/clothes/top/top_school_4/3.webp diff --git a/game/characters/susan/clothes/top/top_school_4/extra.webp b/game/characters/susan/poses/default/clothes/top/top_school_4/extra.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_4/extra.webp rename to game/characters/susan/poses/default/clothes/top/top_school_4/extra.webp diff --git a/game/characters/susan/clothes/top/top_school_4/outline.webp b/game/characters/susan/poses/default/clothes/top/top_school_4/outline.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_4/outline.webp rename to game/characters/susan/poses/default/clothes/top/top_school_4/outline.webp diff --git a/game/characters/susan/clothes/top/top_school_4/skin.webp b/game/characters/susan/poses/default/clothes/top/top_school_4/skin.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_4/skin.webp rename to game/characters/susan/poses/default/clothes/top/top_school_4/skin.webp diff --git a/game/characters/susan/clothes/top/top_school_5/0.webp b/game/characters/susan/poses/default/clothes/top/top_school_5/0.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_5/0.webp rename to game/characters/susan/poses/default/clothes/top/top_school_5/0.webp diff --git a/game/characters/susan/clothes/top/top_school_5/1.webp b/game/characters/susan/poses/default/clothes/top/top_school_5/1.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_5/1.webp rename to game/characters/susan/poses/default/clothes/top/top_school_5/1.webp diff --git a/game/characters/susan/clothes/top/top_school_5/2.webp b/game/characters/susan/poses/default/clothes/top/top_school_5/2.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_5/2.webp rename to game/characters/susan/poses/default/clothes/top/top_school_5/2.webp diff --git a/game/characters/susan/clothes/top/top_school_5/3.webp b/game/characters/susan/poses/default/clothes/top/top_school_5/3.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_5/3.webp rename to game/characters/susan/poses/default/clothes/top/top_school_5/3.webp diff --git a/game/characters/susan/clothes/top/top_school_5/extra.webp b/game/characters/susan/poses/default/clothes/top/top_school_5/extra.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_5/extra.webp rename to game/characters/susan/poses/default/clothes/top/top_school_5/extra.webp diff --git a/game/characters/susan/clothes/top/top_school_5/outline.webp b/game/characters/susan/poses/default/clothes/top/top_school_5/outline.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_5/outline.webp rename to game/characters/susan/poses/default/clothes/top/top_school_5/outline.webp diff --git a/game/characters/susan/clothes/top/top_school_5/skin.webp b/game/characters/susan/poses/default/clothes/top/top_school_5/skin.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_5/skin.webp rename to game/characters/susan/poses/default/clothes/top/top_school_5/skin.webp diff --git a/game/characters/susan/clothes/top/top_school_6/Shirt_open_buttons.txt b/game/characters/susan/poses/default/clothes/top/top_school_6/Shirt_open_buttons.txt similarity index 100% rename from game/characters/susan/clothes/top/top_school_6/Shirt_open_buttons.txt rename to game/characters/susan/poses/default/clothes/top/top_school_6/Shirt_open_buttons.txt diff --git a/game/characters/susan/clothes/top/top_school_7/0.webp b/game/characters/susan/poses/default/clothes/top/top_school_7/0.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_7/0.webp rename to game/characters/susan/poses/default/clothes/top/top_school_7/0.webp diff --git a/game/characters/susan/clothes/top/top_school_7/1.webp b/game/characters/susan/poses/default/clothes/top/top_school_7/1.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_7/1.webp rename to game/characters/susan/poses/default/clothes/top/top_school_7/1.webp diff --git a/game/characters/susan/clothes/top/top_school_7/2.webp b/game/characters/susan/poses/default/clothes/top/top_school_7/2.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_7/2.webp rename to game/characters/susan/poses/default/clothes/top/top_school_7/2.webp diff --git a/game/characters/susan/clothes/top/top_school_7/extra.webp b/game/characters/susan/poses/default/clothes/top/top_school_7/extra.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_7/extra.webp rename to game/characters/susan/poses/default/clothes/top/top_school_7/extra.webp diff --git a/game/characters/susan/clothes/top/top_school_7/outline.webp b/game/characters/susan/poses/default/clothes/top/top_school_7/outline.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_7/outline.webp rename to game/characters/susan/poses/default/clothes/top/top_school_7/outline.webp diff --git a/game/characters/susan/clothes/top/top_school_7/skin.webp b/game/characters/susan/poses/default/clothes/top/top_school_7/skin.webp similarity index 100% rename from game/characters/susan/clothes/top/top_school_7/skin.webp rename to game/characters/susan/poses/default/clothes/top/top_school_7/skin.webp diff --git a/game/characters/susan/cum/body/heavy.webp b/game/characters/susan/poses/default/cum/body/heavy.webp similarity index 100% rename from game/characters/susan/cum/body/heavy.webp rename to game/characters/susan/poses/default/cum/body/heavy.webp diff --git a/game/characters/susan/cum/body/heavy_skin.webp b/game/characters/susan/poses/default/cum/body/heavy_skin.webp similarity index 100% rename from game/characters/susan/cum/body/heavy_skin.webp rename to game/characters/susan/poses/default/cum/body/heavy_skin.webp diff --git a/game/characters/susan/cum/body/light.webp b/game/characters/susan/poses/default/cum/body/light.webp similarity index 100% rename from game/characters/susan/cum/body/light.webp rename to game/characters/susan/poses/default/cum/body/light.webp diff --git a/game/characters/susan/cum/body/light_skin.webp b/game/characters/susan/poses/default/cum/body/light_skin.webp similarity index 100% rename from game/characters/susan/cum/body/light_skin.webp rename to game/characters/susan/poses/default/cum/body/light_skin.webp diff --git a/game/characters/susan/cum/breasts/heavy.webp b/game/characters/susan/poses/default/cum/breasts/heavy.webp similarity index 100% rename from game/characters/susan/cum/breasts/heavy.webp rename to game/characters/susan/poses/default/cum/breasts/heavy.webp diff --git a/game/characters/susan/cum/breasts/heavy_skin.webp b/game/characters/susan/poses/default/cum/breasts/heavy_skin.webp similarity index 100% rename from game/characters/susan/cum/breasts/heavy_skin.webp rename to game/characters/susan/poses/default/cum/breasts/heavy_skin.webp diff --git a/game/characters/susan/cum/breasts/light.webp b/game/characters/susan/poses/default/cum/breasts/light.webp similarity index 100% rename from game/characters/susan/cum/breasts/light.webp rename to game/characters/susan/poses/default/cum/breasts/light.webp diff --git a/game/characters/susan/cum/breasts/light_skin.webp b/game/characters/susan/poses/default/cum/breasts/light_skin.webp similarity index 100% rename from game/characters/susan/cum/breasts/light_skin.webp rename to game/characters/susan/poses/default/cum/breasts/light_skin.webp diff --git a/game/characters/susan/cum/crotch/heavy.webp b/game/characters/susan/poses/default/cum/crotch/heavy.webp similarity index 100% rename from game/characters/susan/cum/crotch/heavy.webp rename to game/characters/susan/poses/default/cum/crotch/heavy.webp diff --git a/game/characters/susan/cum/crotch/heavy_skin.webp b/game/characters/susan/poses/default/cum/crotch/heavy_skin.webp similarity index 100% rename from game/characters/susan/cum/crotch/heavy_skin.webp rename to game/characters/susan/poses/default/cum/crotch/heavy_skin.webp diff --git a/game/characters/susan/cum/crotch/light.webp b/game/characters/susan/poses/default/cum/crotch/light.webp similarity index 100% rename from game/characters/susan/cum/crotch/light.webp rename to game/characters/susan/poses/default/cum/crotch/light.webp diff --git a/game/characters/susan/cum/crotch/light_skin.webp b/game/characters/susan/poses/default/cum/crotch/light_skin.webp similarity index 100% rename from game/characters/susan/cum/crotch/light_skin.webp rename to game/characters/susan/poses/default/cum/crotch/light_skin.webp diff --git a/game/characters/susan/cum/face/heavy.webp b/game/characters/susan/poses/default/cum/face/heavy/cum.webp similarity index 100% rename from game/characters/susan/cum/face/heavy.webp rename to game/characters/susan/poses/default/cum/face/heavy/cum.webp diff --git a/game/characters/susan/cum/face/heavy_skin.webp b/game/characters/susan/poses/default/cum/face/heavy/skin.webp similarity index 100% rename from game/characters/susan/cum/face/heavy_skin.webp rename to game/characters/susan/poses/default/cum/face/heavy/skin.webp diff --git a/game/characters/susan/cum/face/light.webp b/game/characters/susan/poses/default/cum/face/light/cum.webp similarity index 100% rename from game/characters/susan/cum/face/light.webp rename to game/characters/susan/poses/default/cum/face/light/cum.webp diff --git a/game/characters/susan/cum/face/light_skin.webp b/game/characters/susan/poses/default/cum/face/light/skin.webp similarity index 100% rename from game/characters/susan/cum/face/light_skin.webp rename to game/characters/susan/poses/default/cum/face/light/skin.webp diff --git a/game/characters/susan/cum/hair/heavy.webp b/game/characters/susan/poses/default/cum/hair/heavy.webp similarity index 100% rename from game/characters/susan/cum/hair/heavy.webp rename to game/characters/susan/poses/default/cum/hair/heavy.webp diff --git a/game/characters/susan/cum/hair/light.webp b/game/characters/susan/poses/default/cum/hair/light.webp similarity index 100% rename from game/characters/susan/cum/hair/light.webp rename to game/characters/susan/poses/default/cum/hair/light.webp diff --git a/game/characters/susan/cum/legs/heavy.webp b/game/characters/susan/poses/default/cum/legs/heavy.webp similarity index 100% rename from game/characters/susan/cum/legs/heavy.webp rename to game/characters/susan/poses/default/cum/legs/heavy.webp diff --git a/game/characters/susan/cum/legs/heavy_skin.webp b/game/characters/susan/poses/default/cum/legs/heavy_skin.webp similarity index 100% rename from game/characters/susan/cum/legs/heavy_skin.webp rename to game/characters/susan/poses/default/cum/legs/heavy_skin.webp diff --git a/game/characters/susan/cum/legs/light.webp b/game/characters/susan/poses/default/cum/legs/light.webp similarity index 100% rename from game/characters/susan/cum/legs/light.webp rename to game/characters/susan/poses/default/cum/legs/light.webp diff --git a/game/characters/susan/cum/legs/light_skin.webp b/game/characters/susan/poses/default/cum/legs/light_skin.webp similarity index 100% rename from game/characters/susan/cum/legs/light_skin.webp rename to game/characters/susan/poses/default/cum/legs/light_skin.webp diff --git a/game/characters/susan/cum/pussy/heavy.webp b/game/characters/susan/poses/default/cum/pussy/heavy.webp similarity index 100% rename from game/characters/susan/cum/pussy/heavy.webp rename to game/characters/susan/poses/default/cum/pussy/heavy.webp diff --git a/game/characters/susan/cum/pussy/light.webp b/game/characters/susan/poses/default/cum/pussy/light.webp similarity index 100% rename from game/characters/susan/cum/pussy/light.webp rename to game/characters/susan/poses/default/cum/pussy/light.webp diff --git a/game/characters/susan/emote/angry.webp b/game/characters/susan/poses/default/emote/angry.webp similarity index 100% rename from game/characters/susan/emote/angry.webp rename to game/characters/susan/poses/default/emote/angry.webp diff --git a/game/characters/susan/emote/confused.webp b/game/characters/susan/poses/default/emote/confused.webp similarity index 100% rename from game/characters/susan/emote/confused.webp rename to game/characters/susan/poses/default/emote/confused.webp diff --git a/game/characters/susan/emote/happy.webp b/game/characters/susan/poses/default/emote/happy.webp similarity index 100% rename from game/characters/susan/emote/happy.webp rename to game/characters/susan/poses/default/emote/happy.webp diff --git a/game/characters/susan/emote/hearts.webp b/game/characters/susan/poses/default/emote/hearts.webp similarity index 100% rename from game/characters/susan/emote/hearts.webp rename to game/characters/susan/poses/default/emote/hearts.webp diff --git a/game/characters/susan/emote/shocked.webp b/game/characters/susan/poses/default/emote/shocked.webp similarity index 100% rename from game/characters/susan/emote/shocked.webp rename to game/characters/susan/poses/default/emote/shocked.webp diff --git a/game/characters/susan/emote/sweat.webp b/game/characters/susan/poses/default/emote/sweat.webp similarity index 100% rename from game/characters/susan/emote/sweat.webp rename to game/characters/susan/poses/default/emote/sweat.webp diff --git a/game/characters/susan/face/cheeks/blush.webp b/game/characters/susan/poses/default/face/cheeks/blush/expression.webp similarity index 100% rename from game/characters/susan/face/cheeks/blush.webp rename to game/characters/susan/poses/default/face/cheeks/blush/expression.webp diff --git a/game/characters/susan/face/eyebrows/angry.webp b/game/characters/susan/poses/default/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/angry.webp rename to game/characters/susan/poses/default/face/eyebrows/angry/expression.webp diff --git a/game/characters/susan/face/eyebrows/angry_skin.webp b/game/characters/susan/poses/default/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/angry_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/angry/skin.webp diff --git a/game/characters/susan/face/eyebrows/annoyed.webp b/game/characters/susan/poses/default/face/eyebrows/annoyed/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/annoyed.webp rename to game/characters/susan/poses/default/face/eyebrows/annoyed/expression.webp diff --git a/game/characters/susan/face/eyebrows/annoyed_skin.webp b/game/characters/susan/poses/default/face/eyebrows/annoyed/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/annoyed_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/annoyed/skin.webp diff --git a/game/characters/susan/face/eyebrows/base.webp b/game/characters/susan/poses/default/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/base.webp rename to game/characters/susan/poses/default/face/eyebrows/base/expression.webp diff --git a/game/characters/susan/face/eyebrows/base_skin.webp b/game/characters/susan/poses/default/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/base_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/base/skin.webp diff --git a/game/characters/susan/face/eyebrows/low.webp b/game/characters/susan/poses/default/face/eyebrows/low/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/low.webp rename to game/characters/susan/poses/default/face/eyebrows/low/expression.webp diff --git a/game/characters/susan/face/eyebrows/low_skin.webp b/game/characters/susan/poses/default/face/eyebrows/low/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/low_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/low/skin.webp diff --git a/game/characters/susan/face/eyebrows/raised.webp b/game/characters/susan/poses/default/face/eyebrows/raised/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/raised.webp rename to game/characters/susan/poses/default/face/eyebrows/raised/expression.webp diff --git a/game/characters/susan/face/eyebrows/raised_skin.webp b/game/characters/susan/poses/default/face/eyebrows/raised/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/raised_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/raised/skin.webp diff --git a/game/characters/susan/face/eyebrows/sad.webp b/game/characters/susan/poses/default/face/eyebrows/sad/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/sad.webp rename to game/characters/susan/poses/default/face/eyebrows/sad/expression.webp diff --git a/game/characters/susan/face/eyebrows/sad_skin.webp b/game/characters/susan/poses/default/face/eyebrows/sad/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/sad_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/sad/skin.webp diff --git a/game/characters/susan/face/eyebrows/shocked.webp b/game/characters/susan/poses/default/face/eyebrows/shocked/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/shocked.webp rename to game/characters/susan/poses/default/face/eyebrows/shocked/expression.webp diff --git a/game/characters/susan/face/eyebrows/shocked_skin.webp b/game/characters/susan/poses/default/face/eyebrows/shocked/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/shocked_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/shocked/skin.webp diff --git a/game/characters/susan/face/eyebrows/worried.webp b/game/characters/susan/poses/default/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/susan/face/eyebrows/worried.webp rename to game/characters/susan/poses/default/face/eyebrows/worried/expression.webp diff --git a/game/characters/susan/face/eyebrows/worried_skin.webp b/game/characters/susan/poses/default/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/susan/face/eyebrows/worried_skin.webp rename to game/characters/susan/poses/default/face/eyebrows/worried/skin.webp diff --git a/game/characters/susan/face/eyes/base.webp b/game/characters/susan/poses/default/face/eyes/base/expression.webp similarity index 100% rename from game/characters/susan/face/eyes/base.webp rename to game/characters/susan/poses/default/face/eyes/base/expression.webp diff --git a/game/characters/susan/face/eyes/base_mask.webp b/game/characters/susan/poses/default/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/susan/face/eyes/base_mask.webp rename to game/characters/susan/poses/default/face/eyes/base/eyemask.webp diff --git a/game/characters/susan/face/eyes/base_skin.webp b/game/characters/susan/poses/default/face/eyes/base/skin.webp similarity index 100% rename from game/characters/susan/face/eyes/base_skin.webp rename to game/characters/susan/poses/default/face/eyes/base/skin.webp diff --git a/game/characters/susan/face/eyes/closed.webp b/game/characters/susan/poses/default/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/susan/face/eyes/closed.webp rename to game/characters/susan/poses/default/face/eyes/closed/expression.webp diff --git a/game/characters/susan/face/eyes/closed_skin.webp b/game/characters/susan/poses/default/face/eyes/closed/skin.webp similarity index 100% rename from game/characters/susan/face/eyes/closed_skin.webp rename to game/characters/susan/poses/default/face/eyes/closed/skin.webp diff --git a/game/characters/susan/face/eyes/happy.webp b/game/characters/susan/poses/default/face/eyes/happy/expression.webp similarity index 100% rename from game/characters/susan/face/eyes/happy.webp rename to game/characters/susan/poses/default/face/eyes/happy/expression.webp diff --git a/game/characters/susan/face/eyes/happy_mask.webp b/game/characters/susan/poses/default/face/eyes/happy/eyemask.webp similarity index 100% rename from game/characters/susan/face/eyes/happy_mask.webp rename to game/characters/susan/poses/default/face/eyes/happy/eyemask.webp diff --git a/game/characters/susan/face/eyes/happy_skin.webp b/game/characters/susan/poses/default/face/eyes/happy/skin.webp similarity index 100% rename from game/characters/susan/face/eyes/happy_skin.webp rename to game/characters/susan/poses/default/face/eyes/happy/skin.webp diff --git a/game/characters/susan/face/eyes/happyCl.webp b/game/characters/susan/poses/default/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/susan/face/eyes/happyCl.webp rename to game/characters/susan/poses/default/face/eyes/happyCl/expression.webp diff --git a/game/characters/susan/face/eyes/happyCl_skin.webp b/game/characters/susan/poses/default/face/eyes/happyCl/skin.webp similarity index 100% rename from game/characters/susan/face/eyes/happyCl_skin.webp rename to game/characters/susan/poses/default/face/eyes/happyCl/skin.webp diff --git a/game/characters/susan/face/eyes/narrow.webp b/game/characters/susan/poses/default/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/susan/face/eyes/narrow.webp rename to game/characters/susan/poses/default/face/eyes/narrow/expression.webp diff --git a/game/characters/susan/face/eyes/narrow_mask.webp b/game/characters/susan/poses/default/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/susan/face/eyes/narrow_mask.webp rename to game/characters/susan/poses/default/face/eyes/narrow/eyemask.webp diff --git a/game/characters/susan/face/eyes/narrow_skin.webp b/game/characters/susan/poses/default/face/eyes/narrow/skin.webp similarity index 100% rename from game/characters/susan/face/eyes/narrow_skin.webp rename to game/characters/susan/poses/default/face/eyes/narrow/skin.webp diff --git a/game/characters/susan/face/eyes/wide.webp b/game/characters/susan/poses/default/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/susan/face/eyes/wide.webp rename to game/characters/susan/poses/default/face/eyes/wide/expression.webp diff --git a/game/characters/susan/face/eyes/wide_mask.webp b/game/characters/susan/poses/default/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/susan/face/eyes/wide_mask.webp rename to game/characters/susan/poses/default/face/eyes/wide/eyemask.webp diff --git a/game/characters/susan/face/eyes/wide_skin.webp b/game/characters/susan/poses/default/face/eyes/wide/skin.webp similarity index 100% rename from game/characters/susan/face/eyes/wide_skin.webp rename to game/characters/susan/poses/default/face/eyes/wide/skin.webp diff --git a/game/characters/susan/face/eyes/wink.webp b/game/characters/susan/poses/default/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/susan/face/eyes/wink.webp rename to game/characters/susan/poses/default/face/eyes/wink/expression.webp diff --git a/game/characters/susan/face/eyes/wink_mask.webp b/game/characters/susan/poses/default/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/susan/face/eyes/wink_mask.webp rename to game/characters/susan/poses/default/face/eyes/wink/eyemask.webp diff --git a/game/characters/susan/face/eyes/wink_skin.webp b/game/characters/susan/poses/default/face/eyes/wink/skin.webp similarity index 100% rename from game/characters/susan/face/eyes/wink_skin.webp rename to game/characters/susan/poses/default/face/eyes/wink/skin.webp diff --git a/game/characters/susan/face/mouth/ahegao.webp b/game/characters/susan/poses/default/face/mouth/ahegao/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/ahegao.webp rename to game/characters/susan/poses/default/face/mouth/ahegao/expression.webp diff --git a/game/characters/susan/face/mouth/ahegao_drool.webp b/game/characters/susan/poses/default/face/mouth/ahegao_drool/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/ahegao_drool.webp rename to game/characters/susan/poses/default/face/mouth/ahegao_drool/expression.webp diff --git a/game/characters/susan/face/mouth/angry.webp b/game/characters/susan/poses/default/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/angry.webp rename to game/characters/susan/poses/default/face/mouth/angry/expression.webp diff --git a/game/characters/susan/face/mouth/annoyed.webp b/game/characters/susan/poses/default/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/annoyed.webp rename to game/characters/susan/poses/default/face/mouth/annoyed/expression.webp diff --git a/game/characters/susan/face/mouth/base.webp b/game/characters/susan/poses/default/face/mouth/base/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/base.webp rename to game/characters/susan/poses/default/face/mouth/base/expression.webp diff --git a/game/characters/susan/face/mouth/clench.webp b/game/characters/susan/poses/default/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/clench.webp rename to game/characters/susan/poses/default/face/mouth/clench/expression.webp diff --git a/game/characters/susan/face/mouth/disgust.webp b/game/characters/susan/poses/default/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/disgust.webp rename to game/characters/susan/poses/default/face/mouth/disgust/expression.webp diff --git a/game/characters/susan/face/mouth/grin.webp b/game/characters/susan/poses/default/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/grin.webp rename to game/characters/susan/poses/default/face/mouth/grin/expression.webp diff --git a/game/characters/susan/face/mouth/horny.webp b/game/characters/susan/poses/default/face/mouth/horny/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/horny.webp rename to game/characters/susan/poses/default/face/mouth/horny/expression.webp diff --git a/game/characters/susan/face/mouth/normal.webp b/game/characters/susan/poses/default/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/normal.webp rename to game/characters/susan/poses/default/face/mouth/normal/expression.webp diff --git a/game/characters/susan/face/mouth/open.webp b/game/characters/susan/poses/default/face/mouth/open/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/open.webp rename to game/characters/susan/poses/default/face/mouth/open/expression.webp diff --git a/game/characters/susan/face/mouth/open_tongue.webp b/game/characters/susan/poses/default/face/mouth/open_tongue/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/open_tongue.webp rename to game/characters/susan/poses/default/face/mouth/open_tongue/expression.webp diff --git a/game/characters/susan/face/mouth/open_wide.webp b/game/characters/susan/poses/default/face/mouth/open_wide/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/open_wide.webp rename to game/characters/susan/poses/default/face/mouth/open_wide/expression.webp diff --git a/game/characters/susan/face/mouth/open_wide_tongue.webp b/game/characters/susan/poses/default/face/mouth/open_wide_tongue/open_wide_tongue.webp similarity index 100% rename from game/characters/susan/face/mouth/open_wide_tongue.webp rename to game/characters/susan/poses/default/face/mouth/open_wide_tongue/open_wide_tongue.webp diff --git a/game/characters/susan/face/mouth/smile.webp b/game/characters/susan/poses/default/face/mouth/smile/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/smile.webp rename to game/characters/susan/poses/default/face/mouth/smile/expression.webp diff --git a/game/characters/susan/face/mouth/soft.webp b/game/characters/susan/poses/default/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/soft.webp rename to game/characters/susan/poses/default/face/mouth/soft/expression.webp diff --git a/game/characters/susan/face/mouth/upset.webp b/game/characters/susan/poses/default/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/susan/face/mouth/upset.webp rename to game/characters/susan/poses/default/face/mouth/upset/expression.webp diff --git a/game/characters/susan/face/pupils/ahegao.webp b/game/characters/susan/poses/default/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/ahegao.webp rename to game/characters/susan/poses/default/face/pupils/ahegao/expression.webp diff --git a/game/characters/susan/face/pupils/down.webp b/game/characters/susan/poses/default/face/pupils/down/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/down.webp rename to game/characters/susan/poses/default/face/pupils/down/expression.webp diff --git a/game/characters/susan/face/pupils/downL.webp b/game/characters/susan/poses/default/face/pupils/downL/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/downL.webp rename to game/characters/susan/poses/default/face/pupils/downL/expression.webp diff --git a/game/characters/susan/face/pupils/downR.webp b/game/characters/susan/poses/default/face/pupils/downR/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/downR.webp rename to game/characters/susan/poses/default/face/pupils/downR/expression.webp diff --git a/game/characters/susan/face/pupils/left.webp b/game/characters/susan/poses/default/face/pupils/left/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/left.webp rename to game/characters/susan/poses/default/face/pupils/left/expression.webp diff --git a/game/characters/susan/face/pupils/mid.webp b/game/characters/susan/poses/default/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/mid.webp rename to game/characters/susan/poses/default/face/pupils/mid/expression.webp diff --git a/game/characters/susan/face/pupils/right.webp b/game/characters/susan/poses/default/face/pupils/right/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/right.webp rename to game/characters/susan/poses/default/face/pupils/right/expression.webp diff --git a/game/characters/susan/face/pupils/stare.webp b/game/characters/susan/poses/default/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/stare.webp rename to game/characters/susan/poses/default/face/pupils/stare/expression.webp diff --git a/game/characters/susan/face/pupils/unfocused.webp b/game/characters/susan/poses/default/face/pupils/unfocused/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/unfocused.webp rename to game/characters/susan/poses/default/face/pupils/unfocused/expression.webp diff --git a/game/characters/susan/face/pupils/up.webp b/game/characters/susan/poses/default/face/pupils/up/expression.webp similarity index 100% rename from game/characters/susan/face/pupils/up.webp rename to game/characters/susan/poses/default/face/pupils/up/expression.webp diff --git a/game/characters/tonks/body/armleft/on_hips.webp b/game/characters/tonks/body/armleft/on_hips.webp deleted file mode 100644 index 292208a6..00000000 --- a/game/characters/tonks/body/armleft/on_hips.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:da007931f76b7977e9993b557a95dfdf1476312bffe76f70334f991299c60be6 -size 20628 diff --git a/game/characters/tonks/body/armleft/on_hips_fix.webp b/game/characters/tonks/body/armleft/on_hips_fix.webp deleted file mode 100644 index b9dd57ac..00000000 --- a/game/characters/tonks/body/armleft/on_hips_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:005157d922a1c5f9c19d4f65ef7d8a6494720340bae7965b9800f3c9df96a460 -size 5880 diff --git a/game/characters/tonks/body/armright/on_hips.webp b/game/characters/tonks/body/armright/on_hips.webp deleted file mode 100644 index eee0a34b..00000000 --- a/game/characters/tonks/body/armright/on_hips.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17c4d2cb79d349aca8a162c2f52f38f2f719eddedd9e6fa1129a8331081723dc -size 15482 diff --git a/game/characters/tonks/body/armright/on_hips_fix.webp b/game/characters/tonks/body/armright/on_hips_fix.webp deleted file mode 100644 index 095dd477..00000000 --- a/game/characters/tonks/body/armright/on_hips_fix.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e70ce7fb313d9d3485c8e43b2a1118fabdf3e17800c647349005fc939ef7ac4 -size 4412 diff --git a/game/characters/tonks/body/base/front.webp b/game/characters/tonks/body/base/front.webp deleted file mode 100644 index 77514b7d..00000000 --- a/game/characters/tonks/body/base/front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:978609978d6bbb0bd37cea64e8063265ced02921286e7a6e5ce901e021274dca -size 63978 diff --git a/game/characters/tonks/body/breasts/normal.webp b/game/characters/tonks/body/breasts/normal.webp deleted file mode 100644 index df72fbd4..00000000 --- a/game/characters/tonks/body/breasts/normal.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:878652ef87c99aff155571e07aff279d28b89c1fddd2ad7ced23ed708538e531 -size 14606 diff --git a/game/characters/tonks/body/breasts/normal_tight.webp b/game/characters/tonks/body/breasts/normal_tight.webp deleted file mode 100644 index cd2083bb..00000000 --- a/game/characters/tonks/body/breasts/normal_tight.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18c354881463cc5f40e963451445b9c5170812bce4dd208133b70d5f3e2ebdc9 -size 10150 diff --git a/game/characters/tonks/body/breasts/ribbon.webp b/game/characters/tonks/body/breasts/ribbon.webp deleted file mode 100644 index 4ef7e3ae..00000000 --- a/game/characters/tonks/body/breasts/ribbon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:43ed03ab11dbb682aeb2d68e09e7db87999727b4c30a4771546a820fff4198e2 -size 12174 diff --git a/game/characters/tonks/clothes/bottom/school_skirt_1/not_implemented.txt b/game/characters/tonks/clothes/bottom/school_skirt_1/not_implemented.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/game/characters/tonks/clothes/bra/ribbon/backupskin.webp b/game/characters/tonks/clothes/bra/ribbon/backupskin.webp deleted file mode 100644 index 75390b7f..00000000 --- a/game/characters/tonks/clothes/bra/ribbon/backupskin.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4bb47b9c5cc1eccb2342fa223bac89a92d3650d9939720d937c8af404ab242d4 -size 2338 diff --git a/game/characters/tonks/clothes/headgear/classy_hat/0.webp b/game/characters/tonks/clothes/headgear/classy_hat/0.webp deleted file mode 100644 index 6fbb7bcc..00000000 --- a/game/characters/tonks/clothes/headgear/classy_hat/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f16469f76fa22ea43a2346407a802434ae02dff4da1c40bec6af146a42feae -size 94 diff --git a/game/characters/tonks/clothes/headgear/classy_hat/extra.webp b/game/characters/tonks/clothes/headgear/classy_hat/extra.webp deleted file mode 100644 index 6fbb7bcc..00000000 --- a/game/characters/tonks/clothes/headgear/classy_hat/extra.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4f16469f76fa22ea43a2346407a802434ae02dff4da1c40bec6af146a42feae -size 94 diff --git a/game/characters/tonks/clothes/headgear/classy_hat/outline.webp b/game/characters/tonks/clothes/headgear/classy_hat/outline.webp deleted file mode 100644 index ad03e1c4..00000000 --- a/game/characters/tonks/clothes/headgear/classy_hat/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa0ee667760f23a46fbde2de29847c554b6fbd712dd92b6c3339b3a970610ece -size 166 diff --git a/game/characters/tonks/clothes/makeup/elf_ears/extra.webp b/game/characters/tonks/clothes/makeup/elf_ears/extra.webp deleted file mode 100644 index ac822e9e..00000000 --- a/game/characters/tonks/clothes/makeup/elf_ears/extra.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e6ac24d38601538c1399b1a2fab9c600af21f65aac08217b8a137225adb80d93 -size 3212 diff --git a/game/characters/tonks/clothes/makeup/elf_ears/outline.webp b/game/characters/tonks/clothes/makeup/elf_ears/outline.webp deleted file mode 100644 index c65211ac..00000000 --- a/game/characters/tonks/clothes/makeup/elf_ears/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eed127f1e214087c25bfb4e3a604402af877ed450e84a6d10938021710aaf85d -size 2268 diff --git a/game/characters/tonks/clothes/robe/auror_coat/0_front.webp b/game/characters/tonks/clothes/robe/auror_coat/0_front.webp deleted file mode 100644 index caa632dd..00000000 --- a/game/characters/tonks/clothes/robe/auror_coat/0_front.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bfa8a64387b5f55db220e9596ba7385a26a00f1ff35f3395afdca2f70560ff47 -size 3826 diff --git a/game/characters/tonks/clothes/stockings/xmas/0.webp b/game/characters/tonks/clothes/stockings/xmas/0.webp deleted file mode 100644 index 6b11f74e..00000000 --- a/game/characters/tonks/clothes/stockings/xmas/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5580da7169304792039e8c914cd2344048d3d50e12e5097c683c531de4be96e0 -size 8636 diff --git a/game/characters/tonks/clothes/stockings/xmas/1.webp b/game/characters/tonks/clothes/stockings/xmas/1.webp deleted file mode 100644 index a8b3f190..00000000 --- a/game/characters/tonks/clothes/stockings/xmas/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e535b4c37101b1b99d78f43daa66b1799f4d296b1f6b0c0f5aec77d12168e01 -size 3164 diff --git a/game/characters/tonks/clothes/stockings/xmas/outline.webp b/game/characters/tonks/clothes/stockings/xmas/outline.webp deleted file mode 100644 index a58e6088..00000000 --- a/game/characters/tonks/clothes/stockings/xmas/outline.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0768b01ad37363c0ddbaee49fcd32d6e2d2700976ed13df8cb295a02023cf8f7 -size 15834 diff --git a/game/characters/tonks/clothes/top/silk_dress/0.webp b/game/characters/tonks/clothes/top/silk_dress/0.webp deleted file mode 100644 index 1c87a2b2..00000000 --- a/game/characters/tonks/clothes/top/silk_dress/0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17cb006d3897cd1afcc8e1b909c79906c40a3864f4d988c0462a0e6a0f5aae3d -size 5606 diff --git a/game/characters/tonks/poses/default/bodyparts/frame/default/skin.webp b/game/characters/tonks/poses/default/bodyparts/frame/default/skin.webp new file mode 100644 index 00000000..1598e457 --- /dev/null +++ b/game/characters/tonks/poses/default/bodyparts/frame/default/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d8e2302337cb4d4be7abb40b298bf7230c7ad64feb0bcbbf069706f1fd09fae +size 96104 diff --git a/game/characters/tonks/poses/default/chibi/stand/bodyparts/frame/default/skin.png b/game/characters/tonks/poses/default/chibi/stand/bodyparts/frame/default/skin.png new file mode 100644 index 00000000..58de0f30 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/stand/bodyparts/frame/default/skin.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27589c277040028a9a39eda747699df67906c3ed0d6981d05e272c74a148d58e +size 71587 diff --git a/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/0.png b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/0.png new file mode 100644 index 00000000..515ecad8 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:636629479987b42e3c5f6ee92ebb492de6fc9415aca0f631fe2719909c7de970 +size 37306 diff --git a/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/1.png b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/1.png new file mode 100644 index 00000000..ea44e392 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f356239b93204935f88efb95e29fe8892451a12b725affb9a3bb28c1b28e809d +size 13014 diff --git a/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/outline.png b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/outline.png new file mode 100644 index 00000000..8157d189 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/outline.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:666f1dfe9b8d52d5bdec18254cd9bd0c90ac7eb4ef7e3c03b06f944f88d143e3 +size 33633 diff --git a/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/skin.png b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/skin.png new file mode 100644 index 00000000..ab867541 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/stand/clothes/hair/new/skin.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa54efaf353cab108e7d5387ed59a96760c4ce63feeb888da21776f535e7256c +size 4854 diff --git a/game/characters/tonks/poses/default/chibi/walk/bodyparts/frame/default/skin.png b/game/characters/tonks/poses/default/chibi/walk/bodyparts/frame/default/skin.png new file mode 100644 index 00000000..bb5ce74b --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/walk/bodyparts/frame/default/skin.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2bf4fc699a80fb03e24c2cbbb70e0ec5fc1a08a86450ffaf15168236058aa90 +size 393902 diff --git a/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/0.png b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/0.png new file mode 100644 index 00000000..7de28bc8 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/0.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:565ac48216f2e958eb36329fdd1774a46edc304eeb638c8a716e56c81a4115fb +size 182537 diff --git a/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/1.png b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/1.png new file mode 100644 index 00000000..7cd0ef37 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:101e6e4a9a2edaeb86e8c020c64a8ba45b85f0fc13362d746c323b8f93843212 +size 36964 diff --git a/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/outline.png b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/outline.png new file mode 100644 index 00000000..bf8c8f80 --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/outline.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01d025014ce087b9bb7a0fcb96d0d8fe7b9957f6dc7957f2646d4288638346b7 +size 88175 diff --git a/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/skin.png b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/skin.png new file mode 100644 index 00000000..287277fd --- /dev/null +++ b/game/characters/tonks/poses/default/chibi/walk/clothes/hair/new/skin.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60fd1988dda1c7dbdc780f2348d13d5c39b2a4c57573a2ab1f80c016dac6f5fd +size 22667 diff --git a/game/characters/tonks/clothes/accessory/bells_1/0.webp b/game/characters/tonks/poses/default/clothes/accessory/bells_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/bells_1/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/bells_1/0.webp diff --git a/game/characters/tonks/clothes/accessory/bells_1/extra.webp b/game/characters/tonks/poses/default/clothes/accessory/bells_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/bells_1/extra.webp rename to game/characters/tonks/poses/default/clothes/accessory/bells_1/extra.webp diff --git a/game/characters/tonks/clothes/accessory/bells_1/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/bells_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/bells_1/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/bells_1/outline.webp diff --git a/game/characters/tonks/clothes/accessory/bells_1/skin.webp b/game/characters/tonks/poses/default/clothes/accessory/bells_1/skin.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/bells_1/skin.webp rename to game/characters/tonks/poses/default/clothes/accessory/bells_1/skin.webp diff --git a/game/characters/tonks/clothes/accessory/belt_1/0.webp b/game/characters/tonks/poses/default/clothes/accessory/belt_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/belt_1/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/belt_1/0.webp diff --git a/game/characters/tonks/clothes/accessory/belt_1/1.webp b/game/characters/tonks/poses/default/clothes/accessory/belt_1/1.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/belt_1/1.webp rename to game/characters/tonks/poses/default/clothes/accessory/belt_1/1.webp diff --git a/game/characters/tonks/clothes/accessory/belt_1/extra.webp b/game/characters/tonks/poses/default/clothes/accessory/belt_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/belt_1/extra.webp rename to game/characters/tonks/poses/default/clothes/accessory/belt_1/extra.webp diff --git a/game/characters/tonks/clothes/accessory/belt_1/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/belt_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/belt_1/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/belt_1/outline.webp diff --git a/game/characters/tonks/clothes/accessory/flower/0.webp b/game/characters/tonks/poses/default/clothes/accessory/flower/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/flower/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/flower/0.webp diff --git a/game/characters/tonks/clothes/accessory/flower/extra.webp b/game/characters/tonks/poses/default/clothes/accessory/flower/extra.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/flower/extra.webp rename to game/characters/tonks/poses/default/clothes/accessory/flower/extra.webp diff --git a/game/characters/tonks/clothes/accessory/flower/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/flower/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/flower/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/flower/outline.webp diff --git a/game/characters/tonks/clothes/accessory/neck_towel/0.webp b/game/characters/tonks/poses/default/clothes/accessory/neck_towel/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/neck_towel/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/neck_towel/0.webp diff --git a/game/characters/tonks/clothes/accessory/neck_towel/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/neck_towel/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/neck_towel/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/neck_towel/outline.webp diff --git a/game/characters/tonks/clothes/accessory/office_pin/0.webp b/game/characters/tonks/poses/default/clothes/accessory/office_pin/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/office_pin/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/office_pin/0.webp diff --git a/game/characters/tonks/clothes/accessory/office_pin/1.webp b/game/characters/tonks/poses/default/clothes/accessory/office_pin/1.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/office_pin/1.webp rename to game/characters/tonks/poses/default/clothes/accessory/office_pin/1.webp diff --git a/game/characters/tonks/clothes/accessory/office_pin/2.webp b/game/characters/tonks/poses/default/clothes/accessory/office_pin/2.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/office_pin/2.webp rename to game/characters/tonks/poses/default/clothes/accessory/office_pin/2.webp diff --git a/game/characters/tonks/clothes/accessory/office_pin/extra.webp b/game/characters/tonks/poses/default/clothes/accessory/office_pin/extra.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/office_pin/extra.webp rename to game/characters/tonks/poses/default/clothes/accessory/office_pin/extra.webp diff --git a/game/characters/tonks/clothes/accessory/office_pin/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/office_pin/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/office_pin/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/office_pin/outline.webp diff --git a/game/characters/tonks/clothes/accessory/police_badge/0.webp b/game/characters/tonks/poses/default/clothes/accessory/police_badge/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/police_badge/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/police_badge/0.webp diff --git a/game/characters/tonks/clothes/accessory/police_badge/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/police_badge/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/police_badge/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/police_badge/outline.webp diff --git a/game/characters/tonks/clothes/accessory/succubus_tail/0.webp b/game/characters/tonks/poses/default/clothes/accessory/succubus_tail/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/succubus_tail/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/succubus_tail/0.webp diff --git a/game/characters/tonks/clothes/accessory/succubus_tail/1.webp b/game/characters/tonks/poses/default/clothes/accessory/succubus_tail/1.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/succubus_tail/1.webp rename to game/characters/tonks/poses/default/clothes/accessory/succubus_tail/1.webp diff --git a/game/characters/tonks/clothes/accessory/succubus_tail/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/succubus_tail/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/succubus_tail/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/succubus_tail/outline.webp diff --git a/game/characters/tonks/clothes/accessory/succubus_wings/0.webp b/game/characters/tonks/poses/default/clothes/accessory/succubus_wings/0.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/succubus_wings/0.webp rename to game/characters/tonks/poses/default/clothes/accessory/succubus_wings/0.webp diff --git a/game/characters/tonks/clothes/accessory/succubus_wings/1.webp b/game/characters/tonks/poses/default/clothes/accessory/succubus_wings/1.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/succubus_wings/1.webp rename to game/characters/tonks/poses/default/clothes/accessory/succubus_wings/1.webp diff --git a/game/characters/tonks/clothes/accessory/succubus_wings/2.webp b/game/characters/tonks/poses/default/clothes/accessory/succubus_wings/2.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/succubus_wings/2.webp rename to game/characters/tonks/poses/default/clothes/accessory/succubus_wings/2.webp diff --git a/game/characters/tonks/clothes/accessory/succubus_wings/outline.webp b/game/characters/tonks/poses/default/clothes/accessory/succubus_wings/outline.webp similarity index 100% rename from game/characters/tonks/clothes/accessory/succubus_wings/outline.webp rename to game/characters/tonks/poses/default/clothes/accessory/succubus_wings/outline.webp diff --git a/game/characters/tonks/clothes/bottom/jeans/0.webp b/game/characters/tonks/poses/default/clothes/bottom/jeans/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/jeans/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/jeans/0.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/jeans/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/jeans/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/jeans/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/jeans/extra.webp b/game/characters/tonks/poses/default/clothes/bottom/jeans/extra.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/jeans/extra.webp rename to game/characters/tonks/poses/default/clothes/bottom/jeans/extra.webp diff --git a/game/characters/tonks/clothes/bottom/jeans/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/jeans/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/jeans/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/jeans/outline.webp diff --git a/game/characters/tonks/clothes/bottom/latex_leggings/0.webp b/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/latex_leggings/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/latex_leggings/0.webp diff --git a/game/characters/tonks/clothes/bottom/latex_leggings/1.webp b/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/latex_leggings/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/latex_leggings/1.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/latex_leggings/extra.webp b/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/extra.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/latex_leggings/extra.webp rename to game/characters/tonks/poses/default/clothes/bottom/latex_leggings/extra.webp diff --git a/game/characters/tonks/clothes/bottom/latex_leggings/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/latex_leggings/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/latex_leggings/outline.webp diff --git a/game/characters/tonks/clothes/bottom/latex_leggings/skin.webp b/game/characters/tonks/poses/default/clothes/bottom/latex_leggings/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/latex_leggings/skin.webp rename to game/characters/tonks/poses/default/clothes/bottom/latex_leggings/skin.webp diff --git a/game/characters/tonks/clothes/bottom/leggings/0.webp b/game/characters/tonks/poses/default/clothes/bottom/leggings/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/leggings/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/leggings/0.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/leggings/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/leggings/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/leggings/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/leggings/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/leggings/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/leggings/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/leggings/outline.webp diff --git a/game/characters/tonks/clothes/bottom/leggings_hole/0.webp b/game/characters/tonks/poses/default/clothes/bottom/leggings_hole/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/leggings_hole/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/leggings_hole/0.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/leggings_hole/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/leggings_hole/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/leggings_hole/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/leggings_hole/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/leggings_hole/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/leggings_hole/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/leggings_hole/outline.webp diff --git a/game/characters/tonks/clothes/bottom/mechanic_shorts/0.webp b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/mechanic_shorts/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/0.webp diff --git a/game/characters/tonks/clothes/bottom/mechanic_shorts/1.webp b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/mechanic_shorts/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/1.webp diff --git a/game/characters/tonks/clothes/bottom/mechanic_shorts/2.webp b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/2.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/mechanic_shorts/2.webp rename to game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/2.webp diff --git a/game/characters/tonks/clothes/bottom/mechanic_shorts/3.webp b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/3.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/mechanic_shorts/3.webp rename to game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/3.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/mechanic_shorts/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/mechanic_shorts/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/outline.webp diff --git a/game/characters/tonks/clothes/bottom/mechanic_shorts/skin.webp b/game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/mechanic_shorts/skin.webp rename to game/characters/tonks/poses/default/clothes/bottom/mechanic_shorts/skin.webp diff --git a/game/characters/tonks/clothes/bottom/office/0.webp b/game/characters/tonks/poses/default/clothes/bottom/office/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/office/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/office/0.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/office/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/office/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/office/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/office/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/office/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/office/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/office/outline.webp diff --git a/game/characters/tonks/clothes/bottom/office/skin.webp b/game/characters/tonks/poses/default/clothes/bottom/office/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/office/skin.webp rename to game/characters/tonks/poses/default/clothes/bottom/office/skin.webp diff --git a/game/characters/tonks/clothes/bottom/police/0.webp b/game/characters/tonks/poses/default/clothes/bottom/police/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/police/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/police/0.webp diff --git a/game/characters/tonks/clothes/bottom/police/1.webp b/game/characters/tonks/poses/default/clothes/bottom/police/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/police/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/police/1.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/police/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/police/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/police/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/police/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/police/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/police/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/police/outline.webp diff --git a/game/characters/tonks/clothes/bottom/school_skirt_2/0.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_2/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/0.webp diff --git a/game/characters/tonks/clothes/bottom/school_skirt_2/1.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_2/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/1.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/school_skirt_2/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_2/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_2/outline.webp diff --git a/game/characters/tonks/clothes/bottom/school_skirt_3/0.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_3/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/0.webp diff --git a/game/characters/tonks/clothes/bottom/school_skirt_3/1.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_3/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/1.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/school_skirt_3/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_3/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_3/outline.webp diff --git a/game/characters/tonks/clothes/bottom/school_skirt_4/0.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_4/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/0.webp diff --git a/game/characters/tonks/clothes/bottom/school_skirt_4/1.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_4/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/1.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/school_skirt_4/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/school_skirt_4/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/school_skirt_4/outline.webp diff --git a/game/characters/tonks/clothes/bottom/sweatpants/0.webp b/game/characters/tonks/poses/default/clothes/bottom/sweatpants/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/sweatpants/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/sweatpants/0.webp diff --git a/game/characters/tonks/clothes/bottom/sweatpants/1.webp b/game/characters/tonks/poses/default/clothes/bottom/sweatpants/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/sweatpants/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/sweatpants/1.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/sweatpants/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/sweatpants/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/sweatpants/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/sweatpants/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/sweatpants/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/sweatpants/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/sweatpants/outline.webp diff --git a/game/characters/tonks/clothes/bottom/xmas/0.webp b/game/characters/tonks/poses/default/clothes/bottom/xmas/0.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/xmas/0.webp rename to game/characters/tonks/poses/default/clothes/bottom/xmas/0.webp diff --git a/game/characters/tonks/clothes/bottom/xmas/1.webp b/game/characters/tonks/poses/default/clothes/bottom/xmas/1.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/xmas/1.webp rename to game/characters/tonks/poses/default/clothes/bottom/xmas/1.webp diff --git a/game/characters/tonks/poses/default/clothes/bottom/xmas/armfix.webp b/game/characters/tonks/poses/default/clothes/bottom/xmas/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bottom/xmas/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/bottom/xmas/extra.webp b/game/characters/tonks/poses/default/clothes/bottom/xmas/extra.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/xmas/extra.webp rename to game/characters/tonks/poses/default/clothes/bottom/xmas/extra.webp diff --git a/game/characters/tonks/clothes/bottom/xmas/outline.webp b/game/characters/tonks/poses/default/clothes/bottom/xmas/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/xmas/outline.webp rename to game/characters/tonks/poses/default/clothes/bottom/xmas/outline.webp diff --git a/game/characters/tonks/clothes/bottom/xmas/skin.webp b/game/characters/tonks/poses/default/clothes/bottom/xmas/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bottom/xmas/skin.webp rename to game/characters/tonks/poses/default/clothes/bottom/xmas/skin.webp diff --git a/game/characters/tonks/clothes/bra/bikini/0.webp b/game/characters/tonks/poses/default/clothes/bra/bikini/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini/0.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini/0.webp diff --git a/game/characters/tonks/clothes/bra/bikini/1.webp b/game/characters/tonks/poses/default/clothes/bra/bikini/1.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini/1.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini/1.webp diff --git a/game/characters/tonks/clothes/bra/bikini/outline.webp b/game/characters/tonks/poses/default/clothes/bra/bikini/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini/outline.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1/0.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1/0.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/0.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1/1.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/1.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1/1.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/1.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1/outline.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/outline.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1/skin.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1/skin.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1/skin.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_UK/0.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_UK/0.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/0.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_UK/1.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/1.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_UK/1.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/1.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_UK/2.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/2.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_UK/2.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/2.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_UK/3.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/3.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_UK/3.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/3.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_UK/outline.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_UK/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/outline.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_UK/skin.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_UK/skin.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/skin.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_USA/0.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_USA/0.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/0.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_USA/1.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/1.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_USA/1.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/1.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_USA/2.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/2.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_USA/2.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/2.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_USA/3.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/3.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_USA/3.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/3.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_USA/outline.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_USA/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/outline.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_USA/skin.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_USA/skin.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/skin.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_striped/0.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_striped/0.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/0.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_striped/1.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/1.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_striped/1.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/1.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_striped/2.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/2.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_striped/2.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/2.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_striped/outline.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_striped/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/outline.webp diff --git a/game/characters/tonks/clothes/bra/bikini_bra_1_striped/skin.webp b/game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bra/bikini_bra_1_striped/skin.webp rename to game/characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/skin.webp diff --git a/game/characters/tonks/clothes/bra/pasties_1/0.webp b/game/characters/tonks/poses/default/clothes/bra/pasties_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/pasties_1/0.webp rename to game/characters/tonks/poses/default/clothes/bra/pasties_1/0.webp diff --git a/game/characters/tonks/clothes/bra/pasties_1/extra.webp b/game/characters/tonks/poses/default/clothes/bra/pasties_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/bra/pasties_1/extra.webp rename to game/characters/tonks/poses/default/clothes/bra/pasties_1/extra.webp diff --git a/game/characters/tonks/clothes/bra/pasties_1/outline.webp b/game/characters/tonks/poses/default/clothes/bra/pasties_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/pasties_1/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/pasties_1/outline.webp diff --git a/game/characters/tonks/clothes/bra/pasties_2/0.webp b/game/characters/tonks/poses/default/clothes/bra/pasties_2/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/pasties_2/0.webp rename to game/characters/tonks/poses/default/clothes/bra/pasties_2/0.webp diff --git a/game/characters/tonks/clothes/bra/pasties_2/1.webp b/game/characters/tonks/poses/default/clothes/bra/pasties_2/1.webp similarity index 100% rename from game/characters/tonks/clothes/bra/pasties_2/1.webp rename to game/characters/tonks/poses/default/clothes/bra/pasties_2/1.webp diff --git a/game/characters/tonks/clothes/bra/pasties_2/extra.webp b/game/characters/tonks/poses/default/clothes/bra/pasties_2/extra.webp similarity index 100% rename from game/characters/tonks/clothes/bra/pasties_2/extra.webp rename to game/characters/tonks/poses/default/clothes/bra/pasties_2/extra.webp diff --git a/game/characters/tonks/clothes/bra/pasties_2/outline.webp b/game/characters/tonks/poses/default/clothes/bra/pasties_2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/pasties_2/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/pasties_2/outline.webp diff --git a/game/characters/tonks/clothes/bra/ribbon/0.webp b/game/characters/tonks/poses/default/clothes/bra/ribbon/0.webp similarity index 100% rename from game/characters/tonks/clothes/bra/ribbon/0.webp rename to game/characters/tonks/poses/default/clothes/bra/ribbon/0.webp diff --git a/game/characters/tonks/clothes/bra/ribbon/extra.webp b/game/characters/tonks/poses/default/clothes/bra/ribbon/extra.webp similarity index 100% rename from game/characters/tonks/clothes/bra/ribbon/extra.webp rename to game/characters/tonks/poses/default/clothes/bra/ribbon/extra.webp diff --git a/game/characters/tonks/clothes/bra/ribbon/mask.webp b/game/characters/tonks/poses/default/clothes/bra/ribbon/mask.webp similarity index 100% rename from game/characters/tonks/clothes/bra/ribbon/mask.webp rename to game/characters/tonks/poses/default/clothes/bra/ribbon/mask.webp diff --git a/game/characters/tonks/clothes/bra/ribbon/outline.webp b/game/characters/tonks/poses/default/clothes/bra/ribbon/outline.webp similarity index 100% rename from game/characters/tonks/clothes/bra/ribbon/outline.webp rename to game/characters/tonks/poses/default/clothes/bra/ribbon/outline.webp diff --git a/game/characters/tonks/clothes/bra/ribbon/skin.webp b/game/characters/tonks/poses/default/clothes/bra/ribbon/skin.webp similarity index 100% rename from game/characters/tonks/clothes/bra/ribbon/skin.webp rename to game/characters/tonks/poses/default/clothes/bra/ribbon/skin.webp diff --git a/game/characters/tonks/poses/default/clothes/bra/santa_bra/0.webp b/game/characters/tonks/poses/default/clothes/bra/santa_bra/0.webp new file mode 100644 index 00000000..471e4ffb --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bra/santa_bra/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34e4ee4f47eb88543614afca02e4887ee971fd90bb3a33625b119524dbff0a22 +size 6924 diff --git a/game/characters/tonks/poses/default/clothes/bra/santa_bra/outline.webp b/game/characters/tonks/poses/default/clothes/bra/santa_bra/outline.webp new file mode 100644 index 00000000..2cc91618 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bra/santa_bra/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01a73ea37f713af8af3ff4d67fa0c9a38cfbabd7ac31d94c7b0f805177983d37 +size 8642 diff --git a/game/characters/tonks/poses/default/clothes/bra/santa_bra/skin.webp b/game/characters/tonks/poses/default/clothes/bra/santa_bra/skin.webp new file mode 100644 index 00000000..0f1160fa --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/bra/santa_bra/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30b9e03de50ee7fac1dcc61f1d88c739b7eefe3f562039f2b54ee2d9967a7b58 +size 3994 diff --git a/game/characters/tonks/clothes/earrings/bells/0.webp b/game/characters/tonks/poses/default/clothes/earrings/bells/0.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/bells/0.webp rename to game/characters/tonks/poses/default/clothes/earrings/bells/0.webp diff --git a/game/characters/tonks/clothes/earrings/bells/extra.webp b/game/characters/tonks/poses/default/clothes/earrings/bells/extra.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/bells/extra.webp rename to game/characters/tonks/poses/default/clothes/earrings/bells/extra.webp diff --git a/game/characters/tonks/clothes/earrings/bells/outline.webp b/game/characters/tonks/poses/default/clothes/earrings/bells/outline.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/bells/outline.webp rename to game/characters/tonks/poses/default/clothes/earrings/bells/outline.webp diff --git a/game/characters/tonks/clothes/earrings/cartilege/0.webp b/game/characters/tonks/poses/default/clothes/earrings/cartilege/0.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/cartilege/0.webp rename to game/characters/tonks/poses/default/clothes/earrings/cartilege/0.webp diff --git a/game/characters/tonks/clothes/earrings/cartilege/extra.webp b/game/characters/tonks/poses/default/clothes/earrings/cartilege/extra.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/cartilege/extra.webp rename to game/characters/tonks/poses/default/clothes/earrings/cartilege/extra.webp diff --git a/game/characters/tonks/clothes/earrings/cartilege/outline.webp b/game/characters/tonks/poses/default/clothes/earrings/cartilege/outline.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/cartilege/outline.webp rename to game/characters/tonks/poses/default/clothes/earrings/cartilege/outline.webp diff --git a/game/characters/tonks/clothes/earrings/hoops/0.webp b/game/characters/tonks/poses/default/clothes/earrings/hoops/0.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/hoops/0.webp rename to game/characters/tonks/poses/default/clothes/earrings/hoops/0.webp diff --git a/game/characters/tonks/clothes/earrings/hoops/extra.webp b/game/characters/tonks/poses/default/clothes/earrings/hoops/extra.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/hoops/extra.webp rename to game/characters/tonks/poses/default/clothes/earrings/hoops/extra.webp diff --git a/game/characters/tonks/clothes/earrings/hoops/outline.webp b/game/characters/tonks/poses/default/clothes/earrings/hoops/outline.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/hoops/outline.webp rename to game/characters/tonks/poses/default/clothes/earrings/hoops/outline.webp diff --git a/game/characters/tonks/clothes/earrings/industrial/0.webp b/game/characters/tonks/poses/default/clothes/earrings/industrial/0.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/industrial/0.webp rename to game/characters/tonks/poses/default/clothes/earrings/industrial/0.webp diff --git a/game/characters/tonks/clothes/earrings/industrial/extra.webp b/game/characters/tonks/poses/default/clothes/earrings/industrial/extra.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/industrial/extra.webp rename to game/characters/tonks/poses/default/clothes/earrings/industrial/extra.webp diff --git a/game/characters/tonks/clothes/earrings/industrial/outline.webp b/game/characters/tonks/poses/default/clothes/earrings/industrial/outline.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/industrial/outline.webp rename to game/characters/tonks/poses/default/clothes/earrings/industrial/outline.webp diff --git a/game/characters/tonks/clothes/earrings/pearls/0.webp b/game/characters/tonks/poses/default/clothes/earrings/pearls/0.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/pearls/0.webp rename to game/characters/tonks/poses/default/clothes/earrings/pearls/0.webp diff --git a/game/characters/tonks/clothes/earrings/pearls/extra.webp b/game/characters/tonks/poses/default/clothes/earrings/pearls/extra.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/pearls/extra.webp rename to game/characters/tonks/poses/default/clothes/earrings/pearls/extra.webp diff --git a/game/characters/tonks/clothes/earrings/pearls/outline.webp b/game/characters/tonks/poses/default/clothes/earrings/pearls/outline.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/pearls/outline.webp rename to game/characters/tonks/poses/default/clothes/earrings/pearls/outline.webp diff --git a/game/characters/tonks/clothes/earrings/pearls_2/0.webp b/game/characters/tonks/poses/default/clothes/earrings/pearls_2/0.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/pearls_2/0.webp rename to game/characters/tonks/poses/default/clothes/earrings/pearls_2/0.webp diff --git a/game/characters/tonks/clothes/earrings/pearls_2/extra.webp b/game/characters/tonks/poses/default/clothes/earrings/pearls_2/extra.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/pearls_2/extra.webp rename to game/characters/tonks/poses/default/clothes/earrings/pearls_2/extra.webp diff --git a/game/characters/tonks/clothes/earrings/pearls_2/outline.webp b/game/characters/tonks/poses/default/clothes/earrings/pearls_2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/earrings/pearls_2/outline.webp rename to game/characters/tonks/poses/default/clothes/earrings/pearls_2/outline.webp diff --git a/game/characters/tonks/clothes/garterbelt/long_basic_1/0.webp b/game/characters/tonks/poses/default/clothes/garterbelt/long_basic_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/garterbelt/long_basic_1/0.webp rename to game/characters/tonks/poses/default/clothes/garterbelt/long_basic_1/0.webp diff --git a/game/characters/tonks/poses/default/clothes/garterbelt/long_basic_1/armfix.webp b/game/characters/tonks/poses/default/clothes/garterbelt/long_basic_1/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/garterbelt/long_basic_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/garterbelt/long_basic_1/outline.webp b/game/characters/tonks/poses/default/clothes/garterbelt/long_basic_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/garterbelt/long_basic_1/outline.webp rename to game/characters/tonks/poses/default/clothes/garterbelt/long_basic_1/outline.webp diff --git a/game/characters/tonks/clothes/glasses/police/0.webp b/game/characters/tonks/poses/default/clothes/glasses/police/0.webp similarity index 100% rename from game/characters/tonks/clothes/glasses/police/0.webp rename to game/characters/tonks/poses/default/clothes/glasses/police/0.webp diff --git a/game/characters/tonks/clothes/glasses/police/1.webp b/game/characters/tonks/poses/default/clothes/glasses/police/1.webp similarity index 100% rename from game/characters/tonks/clothes/glasses/police/1.webp rename to game/characters/tonks/poses/default/clothes/glasses/police/1.webp diff --git a/game/characters/tonks/clothes/glasses/police/outline.webp b/game/characters/tonks/poses/default/clothes/glasses/police/outline.webp similarity index 100% rename from game/characters/tonks/clothes/glasses/police/outline.webp rename to game/characters/tonks/poses/default/clothes/glasses/police/outline.webp diff --git a/game/characters/tonks/clothes/glasses/shades/0.webp b/game/characters/tonks/poses/default/clothes/glasses/shades/0.webp similarity index 100% rename from game/characters/tonks/clothes/glasses/shades/0.webp rename to game/characters/tonks/poses/default/clothes/glasses/shades/0.webp diff --git a/game/characters/tonks/clothes/glasses/shades/1.webp b/game/characters/tonks/poses/default/clothes/glasses/shades/1.webp similarity index 100% rename from game/characters/tonks/clothes/glasses/shades/1.webp rename to game/characters/tonks/poses/default/clothes/glasses/shades/1.webp diff --git a/game/characters/tonks/clothes/glasses/shades/outline.webp b/game/characters/tonks/poses/default/clothes/glasses/shades/outline.webp similarity index 100% rename from game/characters/tonks/clothes/glasses/shades/outline.webp rename to game/characters/tonks/poses/default/clothes/glasses/shades/outline.webp diff --git a/game/characters/tonks/clothes/gloves/auror_gloves/0.webp b/game/characters/tonks/poses/default/clothes/gloves/auror_gloves/0.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/auror_gloves/0.webp rename to game/characters/tonks/poses/default/clothes/gloves/auror_gloves/0.webp diff --git a/game/characters/tonks/clothes/gloves/auror_gloves/0_front.webp b/game/characters/tonks/poses/default/clothes/gloves/auror_gloves/0_front.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/auror_gloves/0_front.webp rename to game/characters/tonks/poses/default/clothes/gloves/auror_gloves/0_front.webp diff --git a/game/characters/tonks/poses/default/clothes/gloves/auror_gloves/armfix.webp b/game/characters/tonks/poses/default/clothes/gloves/auror_gloves/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/gloves/auror_gloves/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/gloves/auror_gloves/outline.webp b/game/characters/tonks/poses/default/clothes/gloves/auror_gloves/outline.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/auror_gloves/outline.webp rename to game/characters/tonks/poses/default/clothes/gloves/auror_gloves/outline.webp diff --git a/game/characters/tonks/clothes/gloves/auror_gloves/outline_front.webp b/game/characters/tonks/poses/default/clothes/gloves/auror_gloves/outline_front.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/auror_gloves/outline_front.webp rename to game/characters/tonks/poses/default/clothes/gloves/auror_gloves/outline_front.webp diff --git a/game/characters/tonks/clothes/gloves/leather_gloves/0.webp b/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/0.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/leather_gloves/0.webp rename to game/characters/tonks/poses/default/clothes/gloves/leather_gloves/0.webp diff --git a/game/characters/tonks/clothes/gloves/leather_gloves/0_front.webp b/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/0_front.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/leather_gloves/0_front.webp rename to game/characters/tonks/poses/default/clothes/gloves/leather_gloves/0_front.webp diff --git a/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/armfix.webp b/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/gloves/leather_gloves/extra.webp b/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/extra.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/leather_gloves/extra.webp rename to game/characters/tonks/poses/default/clothes/gloves/leather_gloves/extra.webp diff --git a/game/characters/tonks/clothes/gloves/leather_gloves/outline.webp b/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/outline.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/leather_gloves/outline.webp rename to game/characters/tonks/poses/default/clothes/gloves/leather_gloves/outline.webp diff --git a/game/characters/tonks/clothes/gloves/leather_gloves/outline_front.webp b/game/characters/tonks/poses/default/clothes/gloves/leather_gloves/outline_front.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/leather_gloves/outline_front.webp rename to game/characters/tonks/poses/default/clothes/gloves/leather_gloves/outline_front.webp diff --git a/game/characters/tonks/clothes/gloves/mechanic_gloves/0.webp b/game/characters/tonks/poses/default/clothes/gloves/mechanic_gloves/0.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/mechanic_gloves/0.webp rename to game/characters/tonks/poses/default/clothes/gloves/mechanic_gloves/0.webp diff --git a/game/characters/tonks/clothes/gloves/mechanic_gloves/outline.webp b/game/characters/tonks/poses/default/clothes/gloves/mechanic_gloves/outline.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/mechanic_gloves/outline.webp rename to game/characters/tonks/poses/default/clothes/gloves/mechanic_gloves/outline.webp diff --git a/game/characters/tonks/clothes/gloves/mechanic_gloves/skin.webp b/game/characters/tonks/poses/default/clothes/gloves/mechanic_gloves/skin.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/mechanic_gloves/skin.webp rename to game/characters/tonks/poses/default/clothes/gloves/mechanic_gloves/skin.webp diff --git a/game/characters/tonks/clothes/gloves/succubus_gloves/0.webp b/game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/0.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/succubus_gloves/0.webp rename to game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/0.webp diff --git a/game/characters/tonks/clothes/gloves/succubus_gloves/0_front.webp b/game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/0_front.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/succubus_gloves/0_front.webp rename to game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/0_front.webp diff --git a/game/characters/tonks/clothes/gloves/succubus_gloves/outline.webp b/game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/outline.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/succubus_gloves/outline.webp rename to game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/outline.webp diff --git a/game/characters/tonks/clothes/gloves/succubus_gloves/outline_front.webp b/game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/outline_front.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/succubus_gloves/outline_front.webp rename to game/characters/tonks/poses/default/clothes/gloves/succubus_gloves/outline_front.webp diff --git a/game/characters/tonks/clothes/gloves/xmas/0.webp b/game/characters/tonks/poses/default/clothes/gloves/xmas/0.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/xmas/0.webp rename to game/characters/tonks/poses/default/clothes/gloves/xmas/0.webp diff --git a/game/characters/tonks/clothes/gloves/xmas/outline.webp b/game/characters/tonks/poses/default/clothes/gloves/xmas/outline.webp similarity index 100% rename from game/characters/tonks/clothes/gloves/xmas/outline.webp rename to game/characters/tonks/poses/default/clothes/gloves/xmas/outline.webp diff --git a/game/characters/tonks/clothes/hair/base/0.webp b/game/characters/tonks/poses/default/clothes/hair/base/0.webp similarity index 100% rename from game/characters/tonks/clothes/hair/base/0.webp rename to game/characters/tonks/poses/default/clothes/hair/base/0.webp diff --git a/game/characters/tonks/clothes/hair/base/1.webp b/game/characters/tonks/poses/default/clothes/hair/base/1.webp similarity index 100% rename from game/characters/tonks/clothes/hair/base/1.webp rename to game/characters/tonks/poses/default/clothes/hair/base/1.webp diff --git a/game/characters/tonks/clothes/hair/base/outline.webp b/game/characters/tonks/poses/default/clothes/hair/base/outline.webp similarity index 100% rename from game/characters/tonks/clothes/hair/base/outline.webp rename to game/characters/tonks/poses/default/clothes/hair/base/outline.webp diff --git a/game/characters/tonks/clothes/hair/base/skin.webp b/game/characters/tonks/poses/default/clothes/hair/base/skin.webp similarity index 100% rename from game/characters/tonks/clothes/hair/base/skin.webp rename to game/characters/tonks/poses/default/clothes/hair/base/skin.webp diff --git a/game/characters/tonks/clothes/hair/mechanic_hair/0.webp b/game/characters/tonks/poses/default/clothes/hair/mechanic_hair/0.webp similarity index 100% rename from game/characters/tonks/clothes/hair/mechanic_hair/0.webp rename to game/characters/tonks/poses/default/clothes/hair/mechanic_hair/0.webp diff --git a/game/characters/tonks/clothes/hair/mechanic_hair/1.webp b/game/characters/tonks/poses/default/clothes/hair/mechanic_hair/1.webp similarity index 100% rename from game/characters/tonks/clothes/hair/mechanic_hair/1.webp rename to game/characters/tonks/poses/default/clothes/hair/mechanic_hair/1.webp diff --git a/game/characters/tonks/clothes/hair/mechanic_hair/outline.webp b/game/characters/tonks/poses/default/clothes/hair/mechanic_hair/outline.webp similarity index 100% rename from game/characters/tonks/clothes/hair/mechanic_hair/outline.webp rename to game/characters/tonks/poses/default/clothes/hair/mechanic_hair/outline.webp diff --git a/game/characters/tonks/clothes/hair/mechanic_hair/skin.webp b/game/characters/tonks/poses/default/clothes/hair/mechanic_hair/skin.webp similarity index 100% rename from game/characters/tonks/clothes/hair/mechanic_hair/skin.webp rename to game/characters/tonks/poses/default/clothes/hair/mechanic_hair/skin.webp diff --git a/game/characters/tonks/clothes/hair/new/0.webp b/game/characters/tonks/poses/default/clothes/hair/new/0.webp similarity index 100% rename from game/characters/tonks/clothes/hair/new/0.webp rename to game/characters/tonks/poses/default/clothes/hair/new/0.webp diff --git a/game/characters/tonks/clothes/hair/new/0_back.webp b/game/characters/tonks/poses/default/clothes/hair/new/0_back.webp similarity index 100% rename from game/characters/tonks/clothes/hair/new/0_back.webp rename to game/characters/tonks/poses/default/clothes/hair/new/0_back.webp diff --git a/game/characters/tonks/clothes/hair/new/1.webp b/game/characters/tonks/poses/default/clothes/hair/new/1.webp similarity index 100% rename from game/characters/tonks/clothes/hair/new/1.webp rename to game/characters/tonks/poses/default/clothes/hair/new/1.webp diff --git a/game/characters/tonks/clothes/hair/new/1_back.webp b/game/characters/tonks/poses/default/clothes/hair/new/1_back.webp similarity index 100% rename from game/characters/tonks/clothes/hair/new/1_back.webp rename to game/characters/tonks/poses/default/clothes/hair/new/1_back.webp diff --git a/game/characters/tonks/clothes/hair/new/outline.webp b/game/characters/tonks/poses/default/clothes/hair/new/outline.webp similarity index 100% rename from game/characters/tonks/clothes/hair/new/outline.webp rename to game/characters/tonks/poses/default/clothes/hair/new/outline.webp diff --git a/game/characters/tonks/clothes/hair/new/outline_back.webp b/game/characters/tonks/poses/default/clothes/hair/new/outline_back.webp similarity index 100% rename from game/characters/tonks/clothes/hair/new/outline_back.webp rename to game/characters/tonks/poses/default/clothes/hair/new/outline_back.webp diff --git a/game/characters/tonks/clothes/hair/new/skin.webp b/game/characters/tonks/poses/default/clothes/hair/new/skin.webp similarity index 100% rename from game/characters/tonks/clothes/hair/new/skin.webp rename to game/characters/tonks/poses/default/clothes/hair/new/skin.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/antlers/base/0.webp b/game/characters/tonks/poses/default/clothes/headgear/antlers/base/0.webp new file mode 100644 index 00000000..ac5b9915 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/antlers/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34beab485e0f9831dc5a7ba5e6c808fbe2f52cf3e29c765de7f184510955620d +size 5110 diff --git a/game/characters/tonks/poses/default/clothes/headgear/antlers/base/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/antlers/base/outline.webp new file mode 100644 index 00000000..1c4c13c2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/antlers/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0749bbabeb6fb043acdb7c69e1ec79333a5e9d95f81602211ade9952c789d5f1 +size 4000 diff --git a/game/characters/tonks/clothes/headgear/antlers/0.webp b/game/characters/tonks/poses/default/clothes/headgear/antlers/default/0.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/antlers/0.webp rename to game/characters/tonks/poses/default/clothes/headgear/antlers/default/0.webp diff --git a/game/characters/tonks/clothes/headgear/antlers/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/antlers/default/outline.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/antlers/outline.webp rename to game/characters/tonks/poses/default/clothes/headgear/antlers/default/outline.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/0.webp b/game/characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/0.webp new file mode 100644 index 00000000..367e9df4 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb8ee28a39bc2971ec5b19fbf553d499d7c56313c6ba274389f1005057279375 +size 5052 diff --git a/game/characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/outline.webp new file mode 100644 index 00000000..a84a2eaa --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fefb49325127119e44dc95b9381d2d8971e01312263605d3633e44d1ecc1304e +size 3938 diff --git a/game/characters/tonks/poses/default/clothes/headgear/bunny/base/0.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/base/0.webp new file mode 100644 index 00000000..eb29da11 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/bunny/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:768e286a948ceb6873c880dfbed702a5e979bf7c8ef3df4f2ea3754983e993a2 +size 3624 diff --git a/game/characters/tonks/poses/default/clothes/headgear/bunny/base/1.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/base/1.webp new file mode 100644 index 00000000..d127be63 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/bunny/base/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a3bc0e8f81e376657378f012b49f1a936fa1e8b36b2a64df30a3f29f790930 +size 2224 diff --git a/game/characters/tonks/poses/default/clothes/headgear/bunny/base/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/base/outline.webp new file mode 100644 index 00000000..1cbe0176 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/bunny/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beeebc2e436e65daebe58aba6b145a95a34329f76f3bb84620776a7119fa1dff +size 5558 diff --git a/game/characters/tonks/clothes/headgear/bunny/0.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/default/0.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/bunny/0.webp rename to game/characters/tonks/poses/default/clothes/headgear/bunny/default/0.webp diff --git a/game/characters/tonks/clothes/headgear/bunny/1.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/default/1.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/bunny/1.webp rename to game/characters/tonks/poses/default/clothes/headgear/bunny/default/1.webp diff --git a/game/characters/tonks/clothes/headgear/bunny/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/default/outline.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/bunny/outline.webp rename to game/characters/tonks/poses/default/clothes/headgear/bunny/default/outline.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/0.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/0.webp new file mode 100644 index 00000000..7a059e03 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e877d3dc10b1b2d8bb69b3d8639c09dd0c6daf2c5e5527e827074c9af13dbb60 +size 4590 diff --git a/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/1.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/1.webp new file mode 100644 index 00000000..324426a5 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b60e0b0e136cdc2f4a4e06f384858cce9f501ae62534e18041ef60807320e82 +size 2884 diff --git a/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/outline.webp new file mode 100644 index 00000000..6b091911 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9577562f0c4dd87bbcb5f44a4783036340698b7c1630c5dabca6a73af52e16c3 +size 5738 diff --git a/game/characters/cho/clothes/accessory/protectors1/0.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/0.webp similarity index 100% rename from game/characters/cho/clothes/accessory/protectors1/0.webp rename to game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/0.webp diff --git a/game/characters/tonks/clothes/headgear/classy_hat/0_front.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/0_front.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/classy_hat/0_front.webp rename to game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/0_front.webp diff --git a/game/characters/tonks/clothes/headgear/classy_hat/0_back.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/0_zorder_-100.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/classy_hat/0_back.webp rename to game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/0_zorder_-100.webp diff --git a/game/characters/cho/clothes/accessory/protectors1/extra.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/extra.webp similarity index 100% rename from game/characters/cho/clothes/accessory/protectors1/extra.webp rename to game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/extra.webp diff --git a/game/characters/tonks/clothes/headgear/classy_hat/extra_front.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/extra_front.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/classy_hat/extra_front.webp rename to game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/extra_front.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/mask.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/mask.webp new file mode 100644 index 00000000..32a121ff --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:296b5b8d8374f44075d3766f70121bbc27a02b3e15bfcdd3efc683c00fda1124 +size 2852 diff --git a/game/characters/tonks/clothes/headgear/classy_hat/outline_front.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/outline_front.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/classy_hat/outline_front.webp rename to game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/outline_front.webp diff --git a/game/characters/tonks/clothes/headgear/classy_hat/outline_back.webp b/game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/outline_zorder_-100.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/classy_hat/outline_back.webp rename to game/characters/tonks/poses/default/clothes/headgear/classy_hat/default/outline_zorder_-100.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/base/0.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/base/0.webp new file mode 100644 index 00000000..b87e7bb8 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35ed58eac8adcbd012c34fac2e0501e8245550113442b8232e2c33486f219993 +size 7220 diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/base/1.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/base/1.webp new file mode 100644 index 00000000..13a68cb6 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/base/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:251159fe38264c759e61567dc5d6df16f1b4108619d76769d8712fdc37bb9aa9 +size 6286 diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/base/extra.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/base/extra.webp new file mode 100644 index 00000000..806dfb18 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/base/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:912869947f6b0172286e96ce472d64329ab52fac615f0da59c9c786e6a1b0fab +size 2684 diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/base/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/base/outline.webp new file mode 100644 index 00000000..188ed136 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05b6eeab8952a3ebb35595f610a09bb80eeac6660da8cfe5f13ec27160bd8339 +size 8510 diff --git a/game/characters/tonks/clothes/headgear/elf/0.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/default/0.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/elf/0.webp rename to game/characters/tonks/poses/default/clothes/headgear/elf/default/0.webp diff --git a/game/characters/tonks/clothes/headgear/elf/1.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/default/1.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/elf/1.webp rename to game/characters/tonks/poses/default/clothes/headgear/elf/default/1.webp diff --git a/game/characters/tonks/clothes/headgear/elf/extra.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/default/extra.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/elf/extra.webp rename to game/characters/tonks/poses/default/clothes/headgear/elf/default/extra.webp diff --git a/game/characters/tonks/clothes/headgear/elf/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/default/outline.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/elf/outline.webp rename to game/characters/tonks/poses/default/clothes/headgear/elf/default/outline.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/0.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/0.webp new file mode 100644 index 00000000..84275825 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f7db8408a2b6012091c5c4f484641ba981bdcae5c2fa07f4eb7bc5b4fe5dec5 +size 6588 diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/1.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/1.webp new file mode 100644 index 00000000..1b548f3f --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aaaa041b6715f855b4b3acbe735d194baec54d0eb7a998974240beb676538559 +size 4780 diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/extra.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/extra.webp new file mode 100644 index 00000000..957ca1de --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb6d62575e8d14886e8c3859bcdddfc776f9b39b5af76f94dbd1362d8d6fdc27 +size 2408 diff --git a/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/outline.webp new file mode 100644 index 00000000..ad039ac3 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9e842abb61d98208868da901593bc7ae64b7ce914abb7d39edc99f430a0b726 +size 7088 diff --git a/game/characters/tonks/poses/default/clothes/headgear/horns/base/0.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/base/0.webp new file mode 100644 index 00000000..9a35e637 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/horns/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e72a07aa66359950af22c0a8538f3243af39ec96fa0c721d31fbca76153d1f76 +size 2162 diff --git a/game/characters/tonks/poses/default/clothes/headgear/horns/base/1.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/base/1.webp new file mode 100644 index 00000000..21a5bb2d --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/horns/base/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a561f49fbcd4e5fcc55e2af5f245399f1dbd03219d7b2b89bb66338b1ea76dc0 +size 2224 diff --git a/game/characters/tonks/poses/default/clothes/headgear/horns/base/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/base/outline.webp new file mode 100644 index 00000000..5a8722d6 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/horns/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc1dddadaaa4e53a770e79e4bd159b4a725f00281606ad14d90383d5182e51a4 +size 3514 diff --git a/game/characters/tonks/clothes/headgear/horns/0.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/default/0.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/horns/0.webp rename to game/characters/tonks/poses/default/clothes/headgear/horns/default/0.webp diff --git a/game/characters/tonks/clothes/headgear/horns/1.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/default/1.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/horns/1.webp rename to game/characters/tonks/poses/default/clothes/headgear/horns/default/1.webp diff --git a/game/characters/tonks/clothes/headgear/horns/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/default/outline.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/horns/outline.webp rename to game/characters/tonks/poses/default/clothes/headgear/horns/default/outline.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/0.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/0.webp new file mode 100644 index 00000000..40adb732 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf88e7383442b0e2957778cada3eaef5874d53df2971bb3dd708d70b4594ccba +size 2024 diff --git a/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/1.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/1.webp new file mode 100644 index 00000000..4c0fc832 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:600d3a025fd73f53d53de4e7f9809ba0fddd0b53f0bedc057b5c94b102e0bd6f +size 2124 diff --git a/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/outline.webp new file mode 100644 index 00000000..29c19e66 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:768b1f71e3956492c7efd1cd3499fe088ea176f90a164f79d7ede943934179b5 +size 3404 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/0.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/0.webp new file mode 100644 index 00000000..221e3a84 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02162583e4f2c0825318604d2376278c0a88f5238c93f74efed9edcc21dec7f4 +size 4696 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/1.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/1.webp new file mode 100644 index 00000000..50456541 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42704d2b6f5a4577139890b71bbd8ab43eaf946abaf0c7f8c090cb370ab4519a +size 4158 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/extra.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/extra.webp new file mode 100644 index 00000000..b1090a36 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf9d8015ea58556a1b74b9fb4854d4977a4e7bba1e059700a1cbbaca40d8ce66 +size 898 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/mask.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/mask.webp new file mode 100644 index 00000000..7178d904 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d8bde298a5cf3a5382f87eb8a7894d1c408abc64088c12964dc2d6114951515 +size 3560 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/outline.webp new file mode 100644 index 00000000..5567c29e --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a25ed934ad67d93eb03d90506894375dcbde3002d309a1358113675e1138bbb9 +size 6166 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/skin.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/skin.webp new file mode 100644 index 00000000..4640b08a --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f4d0df4f78f76b30323b93c5d4308ad09952876518473ef1443b296e0b4092b +size 1914 diff --git a/game/characters/tonks/clothes/headgear/mechanic_cap/0.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/0.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/mechanic_cap/0.webp rename to game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/0.webp diff --git a/game/characters/tonks/clothes/headgear/mechanic_cap/1.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/1.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/mechanic_cap/1.webp rename to game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/1.webp diff --git a/game/characters/tonks/clothes/headgear/mechanic_cap/extra.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/extra.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/mechanic_cap/extra.webp rename to game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/extra.webp diff --git a/game/characters/tonks/clothes/headgear/mechanic_cap/mask.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/mask.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/mechanic_cap/mask.webp rename to game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/mask.webp diff --git a/game/characters/tonks/clothes/headgear/mechanic_cap/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/outline.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/mechanic_cap/outline.webp rename to game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/outline.webp diff --git a/game/characters/tonks/clothes/headgear/mechanic_cap/skin.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/skin.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/mechanic_cap/skin.webp rename to game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/skin.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/0.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/0.webp new file mode 100644 index 00000000..59e04e93 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff2897c5dc3bdbd1e5b1bfa5973b817670acf6747d40ca9a3a244ee02bfb9e93 +size 5958 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/1.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/1.webp new file mode 100644 index 00000000..dd92d201 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2cb28676f3ef1839e51b7e0e69460cf5865613af37b0ef10bc6d645977d5e36 +size 5552 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/extra.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/extra.webp new file mode 100644 index 00000000..ff8c2eea --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d86ddbd7f18332b1c305affba02afad2e74834cfd1f1a26047b7f5bc05747b7 +size 1060 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/outline.webp new file mode 100644 index 00000000..b853d362 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38fcdf8def3c27f7094eb321d84975673ee5515e184d089798fd3ae45bea6e5f +size 8214 diff --git a/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/skin.webp b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/skin.webp new file mode 100644 index 00000000..cfe1ee19 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44fac3158800a28cf3a45ec8b16de3ebd886214c63d1a3108e880c122f8e7a8b +size 2078 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/base/0.webp b/game/characters/tonks/poses/default/clothes/headgear/police/base/0.webp new file mode 100644 index 00000000..d3422fa7 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/base/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e4548254f398b83b215af919a909a484ee011bb5e90396fe56e4e025990e5d3 +size 7614 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/base/1.webp b/game/characters/tonks/poses/default/clothes/headgear/police/base/1.webp new file mode 100644 index 00000000..766a1133 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/base/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31edd097dfc18de19bfe5c4101910b2b6ab79051bdc684b8378551bae2940023 +size 5854 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/base/2.webp b/game/characters/tonks/poses/default/clothes/headgear/police/base/2.webp new file mode 100644 index 00000000..132cfd3e --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/base/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7c436009ed0f57f55336d1bd4daea15d80c69d59aa84bee05c2113884a65dc8 +size 926 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/base/mask.webp b/game/characters/tonks/poses/default/clothes/headgear/police/base/mask.webp new file mode 100644 index 00000000..66c410ed --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/base/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95e85be1abb6634869d095b5823e7a9524fba1574e3bc601134d3a91ec938941 +size 5968 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/base/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/police/base/outline.webp new file mode 100644 index 00000000..0b753b18 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/base/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad3306fbe1dbfcb903876682256917ad12c383ad4312af02bc4562a5079b97ff +size 7424 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/base/skin.webp b/game/characters/tonks/poses/default/clothes/headgear/police/base/skin.webp new file mode 100644 index 00000000..4d1e69ed --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/base/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d549d1763de9487cc3104d76f0051fe076b051052ff476ab798ad0561b0ca961 +size 2356 diff --git a/game/characters/tonks/clothes/headgear/police/0.webp b/game/characters/tonks/poses/default/clothes/headgear/police/default/0.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/police/0.webp rename to game/characters/tonks/poses/default/clothes/headgear/police/default/0.webp diff --git a/game/characters/tonks/clothes/headgear/police/1.webp b/game/characters/tonks/poses/default/clothes/headgear/police/default/1.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/police/1.webp rename to game/characters/tonks/poses/default/clothes/headgear/police/default/1.webp diff --git a/game/characters/tonks/clothes/headgear/police/2.webp b/game/characters/tonks/poses/default/clothes/headgear/police/default/2.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/police/2.webp rename to game/characters/tonks/poses/default/clothes/headgear/police/default/2.webp diff --git a/game/characters/tonks/clothes/headgear/police/mask.webp b/game/characters/tonks/poses/default/clothes/headgear/police/default/mask.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/police/mask.webp rename to game/characters/tonks/poses/default/clothes/headgear/police/default/mask.webp diff --git a/game/characters/tonks/clothes/headgear/police/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/police/default/outline.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/police/outline.webp rename to game/characters/tonks/poses/default/clothes/headgear/police/default/outline.webp diff --git a/game/characters/tonks/clothes/headgear/police/skin.webp b/game/characters/tonks/poses/default/clothes/headgear/police/default/skin.webp similarity index 100% rename from game/characters/tonks/clothes/headgear/police/skin.webp rename to game/characters/tonks/poses/default/clothes/headgear/police/default/skin.webp diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/0.webp b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/0.webp new file mode 100644 index 00000000..bad95c68 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b67d47cea425f3e02c4a8031dd00d10f78512e1bbc5617f10e35f62831f1ad53 +size 6056 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/1.webp b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/1.webp new file mode 100644 index 00000000..b48f42ab --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c18f231a8e2b1722f6d5f8467721cf004bd640e00a6d765440aef7254ed6da6b +size 4994 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/2.webp b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/2.webp new file mode 100644 index 00000000..2dcfb504 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c164904bf61b41871d923b36161b2c57af10780d29d2a4c51636ad065bad63e +size 826 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/mask.webp b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/mask.webp new file mode 100644 index 00000000..92103706 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c379ee7395fad72048feabd2ceed2a3942648969753c2db4a891175ae4cebbe +size 5478 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/outline.webp b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/outline.webp new file mode 100644 index 00000000..50f859fb --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:687bfe4cd83e0757a6f6325b0b24b926fb8cd5a241347b3f8c80bbbce98bd4de +size 6014 diff --git a/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/skin.webp b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/skin.webp new file mode 100644 index 00000000..e2c98e82 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffefed4d249144b83722a8d0a04c4a25f916f2fae9295264a5748a1c98a398f3 +size 1666 diff --git a/game/characters/tonks/poses/default/clothes/makeup/elf_ears/skin_zorder_253.webp b/game/characters/tonks/poses/default/clothes/makeup/elf_ears/skin_zorder_253.webp new file mode 100644 index 00000000..3db71675 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/makeup/elf_ears/skin_zorder_253.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:464c485fba0caf4f0cc5d7077e58dd3b202b5d084dddee3887023ace6a58d494 +size 4728 diff --git a/game/characters/tonks/clothes/makeup/lipstick/angry.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/angry.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/angry.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/angry.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/annoyed.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/annoyed/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/annoyed.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/annoyed/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/base.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/base/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/base.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/base/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/clench.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/clench/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/clench.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/clench/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/crooked_smile.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/crooked_smile.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/disgust.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/disgust/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/disgust.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/disgust/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/grin.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/grin/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/grin.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/grin/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/horny.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/horny/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/horny.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/horny/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/mad.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/mad/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/mad.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/mad/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/normal.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/normal/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/normal.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/normal/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/open.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/open/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/open.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/open/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/open_wide.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/open_wide.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue2.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue2/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue2.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue2/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue2_cum.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue2_cum/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue2_cum.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue2_cum/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue_cum.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue_cum/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/open_wide_tongue_cum.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue_cum/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/scream.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/scream/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/scream.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/scream/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/silly.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/silly/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/silly.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/silly/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/soft.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/soft/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/soft.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/soft/0.webp diff --git a/game/characters/tonks/clothes/makeup/lipstick/upset.webp b/game/characters/tonks/poses/default/clothes/makeup/lipstick/upset/0.webp similarity index 100% rename from game/characters/tonks/clothes/makeup/lipstick/upset.webp rename to game/characters/tonks/poses/default/clothes/makeup/lipstick/upset/0.webp diff --git a/game/characters/tonks/clothes/neckwear/bell_1/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/bell_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bell_1/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bell_1/0.webp diff --git a/game/characters/tonks/clothes/neckwear/bell_1/1.webp b/game/characters/tonks/poses/default/clothes/neckwear/bell_1/1.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bell_1/1.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bell_1/1.webp diff --git a/game/characters/tonks/clothes/neckwear/bell_1/extra.webp b/game/characters/tonks/poses/default/clothes/neckwear/bell_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bell_1/extra.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bell_1/extra.webp diff --git a/game/characters/tonks/clothes/neckwear/bell_1/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/bell_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bell_1/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bell_1/outline.webp diff --git a/game/characters/tonks/clothes/neckwear/bunny_bowtie_1/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bunny_bowtie_1/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/0.webp diff --git a/game/characters/tonks/clothes/neckwear/bunny_bowtie_1/1.webp b/game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/1.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bunny_bowtie_1/1.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/1.webp diff --git a/game/characters/tonks/clothes/neckwear/bunny_bowtie_1/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bunny_bowtie_1/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/outline.webp diff --git a/game/characters/tonks/clothes/neckwear/bunny_bowtie_1/skin.webp b/game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/skin.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/bunny_bowtie_1/skin.webp rename to game/characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/skin.webp diff --git a/game/characters/tonks/clothes/neckwear/choker_1/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/choker_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/choker_1/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/choker_1/0.webp diff --git a/game/characters/tonks/clothes/neckwear/choker_1/extra.webp b/game/characters/tonks/poses/default/clothes/neckwear/choker_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/choker_1/extra.webp rename to game/characters/tonks/poses/default/clothes/neckwear/choker_1/extra.webp diff --git a/game/characters/tonks/clothes/neckwear/choker_1/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/choker_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/choker_1/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/choker_1/outline.webp diff --git a/game/characters/tonks/clothes/neckwear/choker_beads/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/choker_beads/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/choker_beads/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/choker_beads/0.webp diff --git a/game/characters/tonks/clothes/neckwear/choker_beads/1.webp b/game/characters/tonks/poses/default/clothes/neckwear/choker_beads/1.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/choker_beads/1.webp rename to game/characters/tonks/poses/default/clothes/neckwear/choker_beads/1.webp diff --git a/game/characters/tonks/clothes/neckwear/choker_beads/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/choker_beads/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/choker_beads/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/choker_beads/outline.webp diff --git a/game/characters/tonks/clothes/neckwear/pearls_1/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/pearls_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/pearls_1/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/pearls_1/0.webp diff --git a/game/characters/tonks/clothes/neckwear/pearls_1/extra.webp b/game/characters/tonks/poses/default/clothes/neckwear/pearls_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/pearls_1/extra.webp rename to game/characters/tonks/poses/default/clothes/neckwear/pearls_1/extra.webp diff --git a/game/characters/tonks/clothes/neckwear/pearls_1/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/pearls_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/pearls_1/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/pearls_1/outline.webp diff --git a/game/characters/tonks/clothes/neckwear/pearls_2/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/pearls_2/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/pearls_2/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/pearls_2/0.webp diff --git a/game/characters/tonks/clothes/neckwear/pearls_2/extra.webp b/game/characters/tonks/poses/default/clothes/neckwear/pearls_2/extra.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/pearls_2/extra.webp rename to game/characters/tonks/poses/default/clothes/neckwear/pearls_2/extra.webp diff --git a/game/characters/tonks/clothes/neckwear/pearls_2/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/pearls_2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/pearls_2/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/pearls_2/outline.webp diff --git a/game/characters/tonks/clothes/neckwear/succubus_colar/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/succubus_colar/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/succubus_colar/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/succubus_colar/0.webp diff --git a/game/characters/tonks/clothes/neckwear/succubus_colar/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/succubus_colar/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/succubus_colar/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/succubus_colar/outline.webp diff --git a/game/characters/tonks/clothes/neckwear/whistle/0.webp b/game/characters/tonks/poses/default/clothes/neckwear/whistle/0.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/whistle/0.webp rename to game/characters/tonks/poses/default/clothes/neckwear/whistle/0.webp diff --git a/game/characters/tonks/clothes/neckwear/whistle/1.webp b/game/characters/tonks/poses/default/clothes/neckwear/whistle/1.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/whistle/1.webp rename to game/characters/tonks/poses/default/clothes/neckwear/whistle/1.webp diff --git a/game/characters/tonks/clothes/neckwear/whistle/outline.webp b/game/characters/tonks/poses/default/clothes/neckwear/whistle/outline.webp similarity index 100% rename from game/characters/tonks/clothes/neckwear/whistle/outline.webp rename to game/characters/tonks/poses/default/clothes/neckwear/whistle/outline.webp diff --git a/game/characters/tonks/clothes/panties/base/0.webp b/game/characters/tonks/poses/default/clothes/panties/base/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/base/0.webp rename to game/characters/tonks/poses/default/clothes/panties/base/0.webp diff --git a/game/characters/tonks/clothes/panties/base/1.webp b/game/characters/tonks/poses/default/clothes/panties/base/1.webp similarity index 100% rename from game/characters/tonks/clothes/panties/base/1.webp rename to game/characters/tonks/poses/default/clothes/panties/base/1.webp diff --git a/game/characters/tonks/clothes/panties/base/outline.webp b/game/characters/tonks/poses/default/clothes/panties/base/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/base/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/base/outline.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1/0.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1/0.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/0.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1/1.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/1.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1/1.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/1.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1/outline.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/outline.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1/skin.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/skin.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1/skin.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1/skin.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_UK/0.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_UK/0.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/0.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_UK/1.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/1.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_UK/1.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/1.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_UK/2.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/2.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_UK/2.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/2.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_UK/outline.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_UK/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/outline.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_UK/skin.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/skin.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_UK/skin.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/skin.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_jock/0.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_jock/0.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/0.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_jock/outline.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_jock/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/outline.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_jock/skin.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/skin.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_jock/skin.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/skin.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_striped/0.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_striped/0.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/0.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_striped/1.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/1.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_striped/1.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/1.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_striped/outline.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_striped/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/outline.webp diff --git a/game/characters/tonks/clothes/panties/bikini_panties_1_striped/skin.webp b/game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/skin.webp similarity index 100% rename from game/characters/tonks/clothes/panties/bikini_panties_1_striped/skin.webp rename to game/characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/skin.webp diff --git a/game/characters/tonks/clothes/panties/mechanic_bikini/0.webp b/game/characters/tonks/poses/default/clothes/panties/mechanic_bikini/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/mechanic_bikini/0.webp rename to game/characters/tonks/poses/default/clothes/panties/mechanic_bikini/0.webp diff --git a/game/characters/tonks/clothes/panties/mechanic_bikini/outline.webp b/game/characters/tonks/poses/default/clothes/panties/mechanic_bikini/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/mechanic_bikini/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/mechanic_bikini/outline.webp diff --git a/game/characters/tonks/clothes/panties/mechanic_bikini/skin.webp b/game/characters/tonks/poses/default/clothes/panties/mechanic_bikini/skin.webp similarity index 100% rename from game/characters/tonks/clothes/panties/mechanic_bikini/skin.webp rename to game/characters/tonks/poses/default/clothes/panties/mechanic_bikini/skin.webp diff --git a/game/characters/tonks/clothes/panties/ribbon/0.webp b/game/characters/tonks/poses/default/clothes/panties/ribbon/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/ribbon/0.webp rename to game/characters/tonks/poses/default/clothes/panties/ribbon/0.webp diff --git a/game/characters/tonks/poses/default/clothes/panties/ribbon/armfix.webp b/game/characters/tonks/poses/default/clothes/panties/ribbon/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/panties/ribbon/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/panties/ribbon/extra.webp b/game/characters/tonks/poses/default/clothes/panties/ribbon/extra.webp similarity index 100% rename from game/characters/tonks/clothes/panties/ribbon/extra.webp rename to game/characters/tonks/poses/default/clothes/panties/ribbon/extra.webp diff --git a/game/characters/tonks/clothes/panties/ribbon/outline.webp b/game/characters/tonks/poses/default/clothes/panties/ribbon/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/ribbon/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/ribbon/outline.webp diff --git a/game/characters/tonks/clothes/panties/ribbon/skin.webp b/game/characters/tonks/poses/default/clothes/panties/ribbon/skin.webp similarity index 100% rename from game/characters/tonks/clothes/panties/ribbon/skin.webp rename to game/characters/tonks/poses/default/clothes/panties/ribbon/skin.webp diff --git a/game/characters/tonks/poses/default/clothes/panties/santa_panties/0.webp b/game/characters/tonks/poses/default/clothes/panties/santa_panties/0.webp new file mode 100644 index 00000000..0d9a79d7 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/panties/santa_panties/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83d5d2430cdf6fad3738d4c96f95f53bfa517e9ef05755dd64d0ea5f54dd1bd6 +size 4994 diff --git a/game/characters/tonks/poses/default/clothes/panties/santa_panties/outline.webp b/game/characters/tonks/poses/default/clothes/panties/santa_panties/outline.webp new file mode 100644 index 00000000..242a6256 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/panties/santa_panties/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c1de551df31148a9cb0decec0709ff6c89735c8018d6db5d3387e8e1ef592bb +size 6838 diff --git a/game/characters/tonks/poses/default/clothes/panties/santa_panties/skin.webp b/game/characters/tonks/poses/default/clothes/panties/santa_panties/skin.webp new file mode 100644 index 00000000..a1eac47b --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/panties/santa_panties/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1beae634409b2cd80027673969239bed99d5e12d2b2701e3ffa842decc020960 +size 5434 diff --git a/game/characters/tonks/clothes/panties/succubus_panties/0.webp b/game/characters/tonks/poses/default/clothes/panties/succubus_panties/0.webp similarity index 100% rename from game/characters/tonks/clothes/panties/succubus_panties/0.webp rename to game/characters/tonks/poses/default/clothes/panties/succubus_panties/0.webp diff --git a/game/characters/tonks/clothes/panties/succubus_panties/1.webp b/game/characters/tonks/poses/default/clothes/panties/succubus_panties/1.webp similarity index 100% rename from game/characters/tonks/clothes/panties/succubus_panties/1.webp rename to game/characters/tonks/poses/default/clothes/panties/succubus_panties/1.webp diff --git a/game/characters/tonks/poses/default/clothes/panties/succubus_panties/armfix.webp b/game/characters/tonks/poses/default/clothes/panties/succubus_panties/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/panties/succubus_panties/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/panties/succubus_panties/outline.webp b/game/characters/tonks/poses/default/clothes/panties/succubus_panties/outline.webp similarity index 100% rename from game/characters/tonks/clothes/panties/succubus_panties/outline.webp rename to game/characters/tonks/poses/default/clothes/panties/succubus_panties/outline.webp diff --git a/game/characters/tonks/clothes/piercing/belly_dick/0.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_dick/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_dick/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_dick/0.webp diff --git a/game/characters/tonks/clothes/piercing/belly_dick/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_dick/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_dick/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_dick/extra.webp diff --git a/game/characters/tonks/clothes/piercing/belly_dick/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_dick/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_dick/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_dick/outline.webp diff --git a/game/characters/tonks/clothes/piercing/belly_heart/0.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_heart/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_heart/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_heart/0.webp diff --git a/game/characters/tonks/clothes/piercing/belly_heart/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_heart/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_heart/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_heart/extra.webp diff --git a/game/characters/tonks/clothes/piercing/belly_heart/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_heart/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_heart/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_heart/outline.webp diff --git a/game/characters/tonks/clothes/piercing/belly_stud/0.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_stud/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_stud/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_stud/0.webp diff --git a/game/characters/tonks/clothes/piercing/belly_stud/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_stud/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_stud/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_stud/extra.webp diff --git a/game/characters/tonks/clothes/piercing/belly_stud/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/belly_stud/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/belly_stud/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/belly_stud/outline.webp diff --git a/game/characters/tonks/clothes/piercing/clit_stud/0.webp b/game/characters/tonks/poses/default/clothes/piercing/clit_stud/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/clit_stud/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/clit_stud/0.webp diff --git a/game/characters/tonks/clothes/piercing/clit_stud/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/clit_stud/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/clit_stud/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/clit_stud/extra.webp diff --git a/game/characters/tonks/clothes/piercing/clit_stud/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/clit_stud/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/clit_stud/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/clit_stud/outline.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_bells/0.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_bells/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_bells/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_bells/0.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_bells/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_bells/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_bells/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_bells/extra.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_bells/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_bells/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_bells/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_bells/outline.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings/0.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings/0.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings/extra.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings/outline.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings2/0.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings2/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings2/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings2/0.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings2/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings2/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings2/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings2/extra.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings2/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings2/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings2/outline.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings3/0.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings3/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings3/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings3/0.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings3/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings3/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings3/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings3/extra.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_rings3/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_rings3/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_rings3/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_rings3/outline.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_stud/0.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_stud/0.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_stud/0.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_stud/0.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_stud/extra.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_stud/extra.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_stud/extra.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_stud/extra.webp diff --git a/game/characters/tonks/clothes/piercing/nipple_stud/outline.webp b/game/characters/tonks/poses/default/clothes/piercing/nipple_stud/outline.webp similarity index 100% rename from game/characters/tonks/clothes/piercing/nipple_stud/outline.webp rename to game/characters/tonks/poses/default/clothes/piercing/nipple_stud/outline.webp diff --git a/game/characters/tonks/clothes/pubes/arrow/0.webp b/game/characters/tonks/poses/default/clothes/pubes/arrow/0.webp similarity index 100% rename from game/characters/tonks/clothes/pubes/arrow/0.webp rename to game/characters/tonks/poses/default/clothes/pubes/arrow/0.webp diff --git a/game/characters/tonks/clothes/pubes/arrow/outline.webp b/game/characters/tonks/poses/default/clothes/pubes/arrow/outline.webp similarity index 100% rename from game/characters/tonks/clothes/pubes/arrow/outline.webp rename to game/characters/tonks/poses/default/clothes/pubes/arrow/outline.webp diff --git a/game/characters/tonks/clothes/pubes/beaver/0.webp b/game/characters/tonks/poses/default/clothes/pubes/beaver/0.webp similarity index 100% rename from game/characters/tonks/clothes/pubes/beaver/0.webp rename to game/characters/tonks/poses/default/clothes/pubes/beaver/0.webp diff --git a/game/characters/tonks/clothes/pubes/beaver/outline.webp b/game/characters/tonks/poses/default/clothes/pubes/beaver/outline.webp similarity index 100% rename from game/characters/tonks/clothes/pubes/beaver/outline.webp rename to game/characters/tonks/poses/default/clothes/pubes/beaver/outline.webp diff --git a/game/characters/tonks/clothes/pubes/stuble/0.webp b/game/characters/tonks/poses/default/clothes/pubes/stuble/0.webp similarity index 100% rename from game/characters/tonks/clothes/pubes/stuble/0.webp rename to game/characters/tonks/poses/default/clothes/pubes/stuble/0.webp diff --git a/game/characters/tonks/clothes/pubes/unshaved/0.webp b/game/characters/tonks/poses/default/clothes/pubes/unshaved/0.webp similarity index 100% rename from game/characters/tonks/clothes/pubes/unshaved/0.webp rename to game/characters/tonks/poses/default/clothes/pubes/unshaved/0.webp diff --git a/game/characters/tonks/clothes/robe/auror_coat/0.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/0.webp similarity index 100% rename from game/characters/tonks/clothes/robe/auror_coat/0.webp rename to game/characters/tonks/poses/default/clothes/robe/auror_coat/0.webp diff --git a/game/characters/tonks/clothes/robe/auror_coat/0_back.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/0_back.webp similarity index 100% rename from game/characters/tonks/clothes/robe/auror_coat/0_back.webp rename to game/characters/tonks/poses/default/clothes/robe/auror_coat/0_back.webp diff --git a/game/characters/tonks/poses/default/clothes/robe/auror_coat/0_front.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/0_front.webp new file mode 100644 index 00000000..1b305c69 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/robe/auror_coat/0_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c49f6779fe0790bcc1867fa6577ee462501f6efe6ba214d1f222ed8f93f28a08 +size 3576 diff --git a/game/characters/tonks/clothes/robe/auror_coat/1.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/1.webp similarity index 100% rename from game/characters/tonks/clothes/robe/auror_coat/1.webp rename to game/characters/tonks/poses/default/clothes/robe/auror_coat/1.webp diff --git a/game/characters/tonks/poses/default/clothes/robe/auror_coat/armfix.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/robe/auror_coat/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/robe/auror_coat/outline.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/outline.webp similarity index 100% rename from game/characters/tonks/clothes/robe/auror_coat/outline.webp rename to game/characters/tonks/poses/default/clothes/robe/auror_coat/outline.webp diff --git a/game/characters/tonks/clothes/robe/auror_coat/outline_front.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/outline_front.webp similarity index 100% rename from game/characters/tonks/clothes/robe/auror_coat/outline_front.webp rename to game/characters/tonks/poses/default/clothes/robe/auror_coat/outline_front.webp diff --git a/game/characters/tonks/clothes/robe/auror_coat/skin.webp b/game/characters/tonks/poses/default/clothes/robe/auror_coat/skin.webp similarity index 100% rename from game/characters/tonks/clothes/robe/auror_coat/skin.webp rename to game/characters/tonks/poses/default/clothes/robe/auror_coat/skin.webp diff --git a/game/characters/tonks/clothes/robe/dressing_gown/0.webp b/game/characters/tonks/poses/default/clothes/robe/dressing_gown/0.webp similarity index 100% rename from game/characters/tonks/clothes/robe/dressing_gown/0.webp rename to game/characters/tonks/poses/default/clothes/robe/dressing_gown/0.webp diff --git a/game/characters/tonks/clothes/robe/dressing_gown/1.webp b/game/characters/tonks/poses/default/clothes/robe/dressing_gown/1.webp similarity index 100% rename from game/characters/tonks/clothes/robe/dressing_gown/1.webp rename to game/characters/tonks/poses/default/clothes/robe/dressing_gown/1.webp diff --git a/game/characters/tonks/poses/default/clothes/robe/dressing_gown/armfix.webp b/game/characters/tonks/poses/default/clothes/robe/dressing_gown/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/robe/dressing_gown/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/robe/dressing_gown/outline.webp b/game/characters/tonks/poses/default/clothes/robe/dressing_gown/outline.webp similarity index 100% rename from game/characters/tonks/clothes/robe/dressing_gown/outline.webp rename to game/characters/tonks/poses/default/clothes/robe/dressing_gown/outline.webp diff --git a/game/characters/tonks/clothes/robe/dressing_gown/skin.webp b/game/characters/tonks/poses/default/clothes/robe/dressing_gown/skin.webp similarity index 100% rename from game/characters/tonks/clothes/robe/dressing_gown/skin.webp rename to game/characters/tonks/poses/default/clothes/robe/dressing_gown/skin.webp diff --git a/game/characters/tonks/clothes/robe/office/0.webp b/game/characters/tonks/poses/default/clothes/robe/office/0.webp similarity index 100% rename from game/characters/tonks/clothes/robe/office/0.webp rename to game/characters/tonks/poses/default/clothes/robe/office/0.webp diff --git a/game/characters/tonks/clothes/robe/office/0_back.webp b/game/characters/tonks/poses/default/clothes/robe/office/0_back.webp similarity index 100% rename from game/characters/tonks/clothes/robe/office/0_back.webp rename to game/characters/tonks/poses/default/clothes/robe/office/0_back.webp diff --git a/game/characters/tonks/clothes/robe/office/1.webp b/game/characters/tonks/poses/default/clothes/robe/office/1.webp similarity index 100% rename from game/characters/tonks/clothes/robe/office/1.webp rename to game/characters/tonks/poses/default/clothes/robe/office/1.webp diff --git a/game/characters/tonks/poses/default/clothes/robe/office/armfix.webp b/game/characters/tonks/poses/default/clothes/robe/office/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/robe/office/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/robe/office/outline.webp b/game/characters/tonks/poses/default/clothes/robe/office/outline.webp similarity index 100% rename from game/characters/tonks/clothes/robe/office/outline.webp rename to game/characters/tonks/poses/default/clothes/robe/office/outline.webp diff --git a/game/characters/tonks/clothes/robe/office/skin.webp b/game/characters/tonks/poses/default/clothes/robe/office/skin.webp similarity index 100% rename from game/characters/tonks/clothes/robe/office/skin.webp rename to game/characters/tonks/poses/default/clothes/robe/office/skin.webp diff --git a/game/characters/tonks/clothes/robe/silk_robe/0.webp b/game/characters/tonks/poses/default/clothes/robe/silk_robe/0.webp similarity index 100% rename from game/characters/tonks/clothes/robe/silk_robe/0.webp rename to game/characters/tonks/poses/default/clothes/robe/silk_robe/0.webp diff --git a/game/characters/tonks/clothes/robe/silk_robe/0_back.webp b/game/characters/tonks/poses/default/clothes/robe/silk_robe/0_back.webp similarity index 100% rename from game/characters/tonks/clothes/robe/silk_robe/0_back.webp rename to game/characters/tonks/poses/default/clothes/robe/silk_robe/0_back.webp diff --git a/game/characters/tonks/poses/default/clothes/robe/silk_robe/armfix.webp b/game/characters/tonks/poses/default/clothes/robe/silk_robe/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/robe/silk_robe/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/robe/silk_robe/outline.webp b/game/characters/tonks/poses/default/clothes/robe/silk_robe/outline.webp similarity index 100% rename from game/characters/tonks/clothes/robe/silk_robe/outline.webp rename to game/characters/tonks/poses/default/clothes/robe/silk_robe/outline.webp diff --git a/game/characters/tonks/clothes/robe/silk_robe/outline_back.webp b/game/characters/tonks/poses/default/clothes/robe/silk_robe/outline_back.webp similarity index 100% rename from game/characters/tonks/clothes/robe/silk_robe/outline_back.webp rename to game/characters/tonks/poses/default/clothes/robe/silk_robe/outline_back.webp diff --git a/game/characters/tonks/clothes/stockings/auror/0.webp b/game/characters/tonks/poses/default/clothes/stockings/auror/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/auror/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/auror/0.webp diff --git a/game/characters/tonks/clothes/stockings/auror/1.webp b/game/characters/tonks/poses/default/clothes/stockings/auror/1.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/auror/1.webp rename to game/characters/tonks/poses/default/clothes/stockings/auror/1.webp diff --git a/game/characters/tonks/poses/default/clothes/stockings/auror/armfix.webp b/game/characters/tonks/poses/default/clothes/stockings/auror/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/auror/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/stockings/auror/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/auror/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/auror/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/auror/outline.webp diff --git a/game/characters/tonks/clothes/stockings/bunny_stockings_1/0.webp b/game/characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/bunny_stockings_1/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/0.webp diff --git a/game/characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp b/game/characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/stockings/bunny_stockings_1/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/bunny_stockings_1/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/outline.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_1/0.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_1/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_1/0.webp diff --git a/game/characters/tonks/poses/default/clothes/stockings/long_basic_1/armfix.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_1/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/long_basic_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/stockings/long_basic_1/extra.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_1/extra.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_1/extra.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_1/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_1/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_1/outline.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_1/skin.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_1/skin.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_1/skin.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_1/skin.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_2/0.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_2/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_2/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_2/0.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_2/1.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_2/1.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_2/1.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_2/1.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_2/extra.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_2/extra.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_2/extra.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_2/extra.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_2/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_2/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_2/outline.webp diff --git a/game/characters/tonks/clothes/stockings/long_basic_2/skin.webp b/game/characters/tonks/poses/default/clothes/stockings/long_basic_2/skin.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_basic_2/skin.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_basic_2/skin.webp diff --git a/game/characters/tonks/clothes/stockings/long_meshed/0.webp b/game/characters/tonks/poses/default/clothes/stockings/long_meshed/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_meshed/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_meshed/0.webp diff --git a/game/characters/tonks/clothes/stockings/long_meshed/1.webp b/game/characters/tonks/poses/default/clothes/stockings/long_meshed/1.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_meshed/1.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_meshed/1.webp diff --git a/game/characters/tonks/clothes/stockings/long_meshed/extra.webp b/game/characters/tonks/poses/default/clothes/stockings/long_meshed/extra.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_meshed/extra.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_meshed/extra.webp diff --git a/game/characters/tonks/clothes/stockings/long_meshed/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/long_meshed/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_meshed/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_meshed/outline.webp diff --git a/game/characters/tonks/clothes/stockings/long_meshed/skin.webp b/game/characters/tonks/poses/default/clothes/stockings/long_meshed/skin.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_meshed/skin.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_meshed/skin.webp diff --git a/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/0.webp b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/0.webp new file mode 100644 index 00000000..3fc6a95f --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f225c53fda9f3c156204ba190e00ce882beb8bd6da0dd978a533d67ae731d6c +size 14102 diff --git a/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/1.webp b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/1.webp new file mode 100644 index 00000000..05b06311 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a327eac064199e85c5b45867794b5b759caea26bdce4f10ca9ede696675313e4 +size 15336 diff --git a/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/extra.webp b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/extra.webp new file mode 100644 index 00000000..e9aaf932 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0cc21308c5dfffd315192d98936dd33c70ca6059b8254b72ed1586e0aa21321 +size 23396 diff --git a/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/outline.webp new file mode 100644 index 00000000..afdfc090 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/long_ribbed/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c143666b2de1518c2348e03f9247cbc65bc30507ced4bae20f205db549cc03e2 +size 8888 diff --git a/game/characters/tonks/clothes/stockings/long_sports/0.webp b/game/characters/tonks/poses/default/clothes/stockings/long_sports/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_sports/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_sports/0.webp diff --git a/game/characters/tonks/clothes/stockings/long_sports/1.webp b/game/characters/tonks/poses/default/clothes/stockings/long_sports/1.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_sports/1.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_sports/1.webp diff --git a/game/characters/tonks/clothes/stockings/long_sports/extra.webp b/game/characters/tonks/poses/default/clothes/stockings/long_sports/extra.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_sports/extra.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_sports/extra.webp diff --git a/game/characters/tonks/clothes/stockings/long_sports/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/long_sports/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_sports/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_sports/outline.webp diff --git a/game/characters/tonks/clothes/stockings/long_sports/skin.webp b/game/characters/tonks/poses/default/clothes/stockings/long_sports/skin.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_sports/skin.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_sports/skin.webp diff --git a/game/characters/tonks/clothes/stockings/long_striped/0.webp b/game/characters/tonks/poses/default/clothes/stockings/long_striped/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_striped/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_striped/0.webp diff --git a/game/characters/tonks/clothes/stockings/long_striped/1.webp b/game/characters/tonks/poses/default/clothes/stockings/long_striped/1.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_striped/1.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_striped/1.webp diff --git a/game/characters/tonks/clothes/stockings/long_striped/extra.webp b/game/characters/tonks/poses/default/clothes/stockings/long_striped/extra.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_striped/extra.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_striped/extra.webp diff --git a/game/characters/tonks/clothes/stockings/long_striped/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/long_striped/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_striped/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_striped/outline.webp diff --git a/game/characters/tonks/clothes/stockings/long_striped/skin.webp b/game/characters/tonks/poses/default/clothes/stockings/long_striped/skin.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/long_striped/skin.webp rename to game/characters/tonks/poses/default/clothes/stockings/long_striped/skin.webp diff --git a/game/characters/tonks/clothes/stockings/mechanic_thigh_socks/0.webp b/game/characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/0.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/mechanic_thigh_socks/0.webp rename to game/characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/0.webp diff --git a/game/characters/tonks/clothes/stockings/mechanic_thigh_socks/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/outline.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/mechanic_thigh_socks/outline.webp rename to game/characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/outline.webp diff --git a/game/characters/tonks/clothes/stockings/mechanic_thigh_socks/skin.webp b/game/characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/skin.webp similarity index 100% rename from game/characters/tonks/clothes/stockings/mechanic_thigh_socks/skin.webp rename to game/characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/skin.webp diff --git a/game/characters/tonks/poses/default/clothes/stockings/xmas/0.webp b/game/characters/tonks/poses/default/clothes/stockings/xmas/0.webp new file mode 100644 index 00000000..fe0db11a --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/xmas/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:295ae803692ee65f72f40df94937731945efd14e423f5eb36c17fe3fa046ac71 +size 7576 diff --git a/game/characters/tonks/poses/default/clothes/stockings/xmas/1.webp b/game/characters/tonks/poses/default/clothes/stockings/xmas/1.webp new file mode 100644 index 00000000..b1fbd0af --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/xmas/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8e391696d232ecf58f7d39f2880dbae3fd3cb33d050aa64200b4249af0472c7 +size 2958 diff --git a/game/characters/tonks/poses/default/clothes/stockings/xmas/armfix.webp b/game/characters/tonks/poses/default/clothes/stockings/xmas/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/xmas/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/poses/default/clothes/stockings/xmas/outline.webp b/game/characters/tonks/poses/default/clothes/stockings/xmas/outline.webp new file mode 100644 index 00000000..757a50aa --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/stockings/xmas/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63a925a460fdd12fe4db94037039f225a80f5ed1441b0e763228bc45b424490d +size 14944 diff --git a/game/characters/tonks/clothes/top/auror/0.webp b/game/characters/tonks/poses/default/clothes/top/auror/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/auror/0.webp rename to game/characters/tonks/poses/default/clothes/top/auror/0.webp diff --git a/game/characters/tonks/clothes/top/auror/1.webp b/game/characters/tonks/poses/default/clothes/top/auror/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/auror/1.webp rename to game/characters/tonks/poses/default/clothes/top/auror/1.webp diff --git a/game/characters/tonks/poses/default/clothes/top/auror/armfix.webp b/game/characters/tonks/poses/default/clothes/top/auror/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/auror/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/auror/outline.webp b/game/characters/tonks/poses/default/clothes/top/auror/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/auror/outline.webp rename to game/characters/tonks/poses/default/clothes/top/auror/outline.webp diff --git a/game/characters/tonks/clothes/top/auror/skin.webp b/game/characters/tonks/poses/default/clothes/top/auror/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/auror/skin.webp rename to game/characters/tonks/poses/default/clothes/top/auror/skin.webp diff --git a/game/characters/tonks/clothes/top/auror2/0.webp b/game/characters/tonks/poses/default/clothes/top/auror2/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/auror2/0.webp rename to game/characters/tonks/poses/default/clothes/top/auror2/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/auror2/armfix.webp b/game/characters/tonks/poses/default/clothes/top/auror2/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/auror2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/auror2/outline.webp b/game/characters/tonks/poses/default/clothes/top/auror2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/auror2/outline.webp rename to game/characters/tonks/poses/default/clothes/top/auror2/outline.webp diff --git a/game/characters/tonks/clothes/top/auror2/skin.webp b/game/characters/tonks/poses/default/clothes/top/auror2/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/auror2/skin.webp rename to game/characters/tonks/poses/default/clothes/top/auror2/skin.webp diff --git a/game/characters/tonks/clothes/top/bunnysuit/0.webp b/game/characters/tonks/poses/default/clothes/top/bunnysuit/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/bunnysuit/0.webp rename to game/characters/tonks/poses/default/clothes/top/bunnysuit/0.webp diff --git a/game/characters/tonks/clothes/top/bunnysuit/extra.webp b/game/characters/tonks/poses/default/clothes/top/bunnysuit/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/bunnysuit/extra.webp rename to game/characters/tonks/poses/default/clothes/top/bunnysuit/extra.webp diff --git a/game/characters/tonks/clothes/top/bunnysuit/outline.webp b/game/characters/tonks/poses/default/clothes/top/bunnysuit/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/bunnysuit/outline.webp rename to game/characters/tonks/poses/default/clothes/top/bunnysuit/outline.webp diff --git a/game/characters/tonks/clothes/top/bunnysuit/skin.webp b/game/characters/tonks/poses/default/clothes/top/bunnysuit/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/bunnysuit/skin.webp rename to game/characters/tonks/poses/default/clothes/top/bunnysuit/skin.webp diff --git a/game/characters/tonks/clothes/top/cavegirl_dress/0.webp b/game/characters/tonks/poses/default/clothes/top/cavegirl_dress/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/cavegirl_dress/0.webp rename to game/characters/tonks/poses/default/clothes/top/cavegirl_dress/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/cavegirl_dress/armfix.webp b/game/characters/tonks/poses/default/clothes/top/cavegirl_dress/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/cavegirl_dress/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/cavegirl_dress/extra.webp b/game/characters/tonks/poses/default/clothes/top/cavegirl_dress/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/cavegirl_dress/extra.webp rename to game/characters/tonks/poses/default/clothes/top/cavegirl_dress/extra.webp diff --git a/game/characters/tonks/clothes/top/cavegirl_dress/outline.webp b/game/characters/tonks/poses/default/clothes/top/cavegirl_dress/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/cavegirl_dress/outline.webp rename to game/characters/tonks/poses/default/clothes/top/cavegirl_dress/outline.webp diff --git a/game/characters/tonks/clothes/top/cavegirl_dress/skin.webp b/game/characters/tonks/poses/default/clothes/top/cavegirl_dress/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/cavegirl_dress/skin.webp rename to game/characters/tonks/poses/default/clothes/top/cavegirl_dress/skin.webp diff --git a/game/characters/tonks/clothes/top/classy_dress/0.webp b/game/characters/tonks/poses/default/clothes/top/classy_dress/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/classy_dress/0.webp rename to game/characters/tonks/poses/default/clothes/top/classy_dress/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/classy_dress/armfix.webp b/game/characters/tonks/poses/default/clothes/top/classy_dress/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/classy_dress/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/classy_dress/extra.webp b/game/characters/tonks/poses/default/clothes/top/classy_dress/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/classy_dress/extra.webp rename to game/characters/tonks/poses/default/clothes/top/classy_dress/extra.webp diff --git a/game/characters/tonks/clothes/top/classy_dress/outline.webp b/game/characters/tonks/poses/default/clothes/top/classy_dress/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/classy_dress/outline.webp rename to game/characters/tonks/poses/default/clothes/top/classy_dress/outline.webp diff --git a/game/characters/tonks/clothes/top/classy_dress/skin.webp b/game/characters/tonks/poses/default/clothes/top/classy_dress/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/classy_dress/skin.webp rename to game/characters/tonks/poses/default/clothes/top/classy_dress/skin.webp diff --git a/game/characters/tonks/clothes/top/corset/0.webp b/game/characters/tonks/poses/default/clothes/top/corset/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/corset/0.webp rename to game/characters/tonks/poses/default/clothes/top/corset/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/corset/armfix.webp b/game/characters/tonks/poses/default/clothes/top/corset/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/corset/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/corset/extra.webp b/game/characters/tonks/poses/default/clothes/top/corset/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/corset/extra.webp rename to game/characters/tonks/poses/default/clothes/top/corset/extra.webp diff --git a/game/characters/tonks/clothes/top/corset/mask.webp b/game/characters/tonks/poses/default/clothes/top/corset/mask.webp similarity index 100% rename from game/characters/tonks/clothes/top/corset/mask.webp rename to game/characters/tonks/poses/default/clothes/top/corset/mask.webp diff --git a/game/characters/tonks/clothes/top/corset/outline.webp b/game/characters/tonks/poses/default/clothes/top/corset/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/corset/outline.webp rename to game/characters/tonks/poses/default/clothes/top/corset/outline.webp diff --git a/game/characters/tonks/clothes/top/corset/skin.webp b/game/characters/tonks/poses/default/clothes/top/corset/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/corset/skin.webp rename to game/characters/tonks/poses/default/clothes/top/corset/skin.webp diff --git a/game/characters/tonks/clothes/top/crop_top/0.webp b/game/characters/tonks/poses/default/clothes/top/crop_top/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/crop_top/0.webp rename to game/characters/tonks/poses/default/clothes/top/crop_top/0.webp diff --git a/game/characters/tonks/clothes/top/crop_top/outline.webp b/game/characters/tonks/poses/default/clothes/top/crop_top/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/crop_top/outline.webp rename to game/characters/tonks/poses/default/clothes/top/crop_top/outline.webp diff --git a/game/characters/tonks/clothes/top/crop_top/skin.webp b/game/characters/tonks/poses/default/clothes/top/crop_top/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/crop_top/skin.webp rename to game/characters/tonks/poses/default/clothes/top/crop_top/skin.webp diff --git a/game/characters/tonks/clothes/top/elf_dress/0.webp b/game/characters/tonks/poses/default/clothes/top/elf_dress/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/elf_dress/0.webp rename to game/characters/tonks/poses/default/clothes/top/elf_dress/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/elf_dress/armfix.webp b/game/characters/tonks/poses/default/clothes/top/elf_dress/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/elf_dress/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/elf_dress/extra.webp b/game/characters/tonks/poses/default/clothes/top/elf_dress/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/elf_dress/extra.webp rename to game/characters/tonks/poses/default/clothes/top/elf_dress/extra.webp diff --git a/game/characters/tonks/clothes/top/elf_dress/outline.webp b/game/characters/tonks/poses/default/clothes/top/elf_dress/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/elf_dress/outline.webp rename to game/characters/tonks/poses/default/clothes/top/elf_dress/outline.webp diff --git a/game/characters/tonks/clothes/top/elf_dress/skin.webp b/game/characters/tonks/poses/default/clothes/top/elf_dress/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/elf_dress/skin.webp rename to game/characters/tonks/poses/default/clothes/top/elf_dress/skin.webp diff --git a/game/characters/tonks/clothes/top/mechanic_vest/0.webp b/game/characters/tonks/poses/default/clothes/top/mechanic_vest/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/mechanic_vest/0.webp rename to game/characters/tonks/poses/default/clothes/top/mechanic_vest/0.webp diff --git a/game/characters/tonks/clothes/top/mechanic_vest/1.webp b/game/characters/tonks/poses/default/clothes/top/mechanic_vest/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/mechanic_vest/1.webp rename to game/characters/tonks/poses/default/clothes/top/mechanic_vest/1.webp diff --git a/game/characters/tonks/clothes/top/mechanic_vest/2.webp b/game/characters/tonks/poses/default/clothes/top/mechanic_vest/2.webp similarity index 100% rename from game/characters/tonks/clothes/top/mechanic_vest/2.webp rename to game/characters/tonks/poses/default/clothes/top/mechanic_vest/2.webp diff --git a/game/characters/tonks/clothes/top/mechanic_vest/outline.webp b/game/characters/tonks/poses/default/clothes/top/mechanic_vest/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/mechanic_vest/outline.webp rename to game/characters/tonks/poses/default/clothes/top/mechanic_vest/outline.webp diff --git a/game/characters/tonks/clothes/top/mechanic_vest/skin.webp b/game/characters/tonks/poses/default/clothes/top/mechanic_vest/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/mechanic_vest/skin.webp rename to game/characters/tonks/poses/default/clothes/top/mechanic_vest/skin.webp diff --git a/game/characters/tonks/clothes/top/nightie_1/0.webp b/game/characters/tonks/poses/default/clothes/top/nightie_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/nightie_1/0.webp rename to game/characters/tonks/poses/default/clothes/top/nightie_1/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/nightie_1/armfix.webp b/game/characters/tonks/poses/default/clothes/top/nightie_1/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/nightie_1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/nightie_1/outline.webp b/game/characters/tonks/poses/default/clothes/top/nightie_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/nightie_1/outline.webp rename to game/characters/tonks/poses/default/clothes/top/nightie_1/outline.webp diff --git a/game/characters/tonks/clothes/top/office/0.webp b/game/characters/tonks/poses/default/clothes/top/office/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/office/0.webp rename to game/characters/tonks/poses/default/clothes/top/office/0.webp diff --git a/game/characters/tonks/clothes/top/office/0_front.webp b/game/characters/tonks/poses/default/clothes/top/office/0_front.webp similarity index 100% rename from game/characters/tonks/clothes/top/office/0_front.webp rename to game/characters/tonks/poses/default/clothes/top/office/0_front.webp diff --git a/game/characters/tonks/clothes/top/office/1.webp b/game/characters/tonks/poses/default/clothes/top/office/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/office/1.webp rename to game/characters/tonks/poses/default/clothes/top/office/1.webp diff --git a/game/characters/tonks/poses/default/clothes/top/office/armfix.webp b/game/characters/tonks/poses/default/clothes/top/office/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/office/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/office/outline.webp b/game/characters/tonks/poses/default/clothes/top/office/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/office/outline.webp rename to game/characters/tonks/poses/default/clothes/top/office/outline.webp diff --git a/game/characters/tonks/clothes/top/office/outline_front.webp b/game/characters/tonks/poses/default/clothes/top/office/outline_front.webp similarity index 100% rename from game/characters/tonks/clothes/top/office/outline_front.webp rename to game/characters/tonks/poses/default/clothes/top/office/outline_front.webp diff --git a/game/characters/tonks/clothes/top/office/skin.webp b/game/characters/tonks/poses/default/clothes/top/office/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/office/skin.webp rename to game/characters/tonks/poses/default/clothes/top/office/skin.webp diff --git a/game/characters/tonks/clothes/top/police1/0.webp b/game/characters/tonks/poses/default/clothes/top/police1/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/police1/0.webp rename to game/characters/tonks/poses/default/clothes/top/police1/0.webp diff --git a/game/characters/tonks/clothes/top/police1/1.webp b/game/characters/tonks/poses/default/clothes/top/police1/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/police1/1.webp rename to game/characters/tonks/poses/default/clothes/top/police1/1.webp diff --git a/game/characters/tonks/clothes/top/police1/2.webp b/game/characters/tonks/poses/default/clothes/top/police1/2.webp similarity index 100% rename from game/characters/tonks/clothes/top/police1/2.webp rename to game/characters/tonks/poses/default/clothes/top/police1/2.webp diff --git a/game/characters/tonks/poses/default/clothes/top/police1/armfix.webp b/game/characters/tonks/poses/default/clothes/top/police1/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/police1/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/police1/outline.webp b/game/characters/tonks/poses/default/clothes/top/police1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/police1/outline.webp rename to game/characters/tonks/poses/default/clothes/top/police1/outline.webp diff --git a/game/characters/tonks/clothes/top/police2/0.webp b/game/characters/tonks/poses/default/clothes/top/police2/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/police2/0.webp rename to game/characters/tonks/poses/default/clothes/top/police2/0.webp diff --git a/game/characters/tonks/clothes/top/police2/1.webp b/game/characters/tonks/poses/default/clothes/top/police2/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/police2/1.webp rename to game/characters/tonks/poses/default/clothes/top/police2/1.webp diff --git a/game/characters/tonks/poses/default/clothes/top/police2/armfix.webp b/game/characters/tonks/poses/default/clothes/top/police2/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/police2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/police2/outline.webp b/game/characters/tonks/poses/default/clothes/top/police2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/police2/outline.webp rename to game/characters/tonks/poses/default/clothes/top/police2/outline.webp diff --git a/game/characters/tonks/clothes/top/police3/0.webp b/game/characters/tonks/poses/default/clothes/top/police3/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/police3/0.webp rename to game/characters/tonks/poses/default/clothes/top/police3/0.webp diff --git a/game/characters/tonks/clothes/top/police3/outline.webp b/game/characters/tonks/poses/default/clothes/top/police3/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/police3/outline.webp rename to game/characters/tonks/poses/default/clothes/top/police3/outline.webp diff --git a/game/characters/tonks/poses/default/clothes/top/pullover/0.webp b/game/characters/tonks/poses/default/clothes/top/pullover/0.webp new file mode 100644 index 00000000..42eab2e6 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/pullover/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27ce995b3510f8d5473a66ba0c804f495d9825973d23d03f0d54ba29d7b94dbe +size 89582 diff --git a/game/characters/tonks/poses/default/clothes/top/pullover/armfix.webp b/game/characters/tonks/poses/default/clothes/top/pullover/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/pullover/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/poses/default/clothes/top/pullover/extra.webp b/game/characters/tonks/poses/default/clothes/top/pullover/extra.webp new file mode 100644 index 00000000..8a7d3847 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/pullover/extra.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f4d2a3ae8dd6375f0417690b86370d9beed1641083f196bdcbe6e125d1cdf2c +size 52360 diff --git a/game/characters/tonks/poses/default/clothes/top/pullover/outline.webp b/game/characters/tonks/poses/default/clothes/top/pullover/outline.webp new file mode 100644 index 00000000..de0da515 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/pullover/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40227dc800bbb5610783b92603104097e26d51ae11873c4362d64f11aba01a8d +size 21944 diff --git a/game/characters/tonks/poses/default/clothes/top/pullover/skin.webp b/game/characters/tonks/poses/default/clothes/top/pullover/skin.webp new file mode 100644 index 00000000..0ac353fd --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/pullover/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ab75412a7b37a6d11f561b8ed5e729d1f95744258be9abd523c6f68642818f +size 1756 diff --git a/game/characters/tonks/clothes/top/ruffled_top/0.webp b/game/characters/tonks/poses/default/clothes/top/ruffled_top/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/ruffled_top/0.webp rename to game/characters/tonks/poses/default/clothes/top/ruffled_top/0.webp diff --git a/game/characters/tonks/clothes/top/ruffled_top/outline.webp b/game/characters/tonks/poses/default/clothes/top/ruffled_top/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/ruffled_top/outline.webp rename to game/characters/tonks/poses/default/clothes/top/ruffled_top/outline.webp diff --git a/game/characters/tonks/poses/default/clothes/top/santa_top/0.webp b/game/characters/tonks/poses/default/clothes/top/santa_top/0.webp new file mode 100644 index 00000000..61b859ba --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/santa_top/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:814c08685f69f22c0d976113a32ebb9e21c28e3d9831347c9e6d7b919541ac95 +size 13326 diff --git a/game/characters/tonks/poses/default/clothes/top/santa_top/0_zorder_8.webp b/game/characters/tonks/poses/default/clothes/top/santa_top/0_zorder_8.webp new file mode 100644 index 00000000..e67d172b --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/santa_top/0_zorder_8.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f32cc39d2f01ed41045829ba0435a5f24626575404cd935e155a327b3885a06 +size 3228 diff --git a/game/characters/tonks/poses/default/clothes/top/santa_top/1.webp b/game/characters/tonks/poses/default/clothes/top/santa_top/1.webp new file mode 100644 index 00000000..5da9d9d2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/santa_top/1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5305e0897bd14d99c9b7d14a4eea3cf47525424647ae62fddf33a431afd1bea +size 13600 diff --git a/game/characters/tonks/poses/default/clothes/top/santa_top/1_zorder_8.webp b/game/characters/tonks/poses/default/clothes/top/santa_top/1_zorder_8.webp new file mode 100644 index 00000000..941c6b6d --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/santa_top/1_zorder_8.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa399947db1b86ead6031e10373f33a8c0c91ed5395cffd89ec0a8daaba744ba +size 2934 diff --git a/game/characters/tonks/poses/default/clothes/top/santa_top/outline.webp b/game/characters/tonks/poses/default/clothes/top/santa_top/outline.webp new file mode 100644 index 00000000..dee10629 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/santa_top/outline.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:271c889b1b01aed183b5610492a85d3fdd431a3fa3e3893f53d7b1173dd141b4 +size 18060 diff --git a/game/characters/tonks/poses/default/clothes/top/santa_top/outline_zorder_8.webp b/game/characters/tonks/poses/default/clothes/top/santa_top/outline_zorder_8.webp new file mode 100644 index 00000000..ec2cda1c --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/santa_top/outline_zorder_8.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d70d6ba8beed130913d68d5bd5df06c7e404555caed37d64898ba8c127e189ec +size 4454 diff --git a/game/characters/tonks/poses/default/clothes/top/santa_top/skin.webp b/game/characters/tonks/poses/default/clothes/top/santa_top/skin.webp new file mode 100644 index 00000000..bea3dc76 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/santa_top/skin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26fc29a0b5e2af37d2f46f7020dea5e05331cec5290681c636eb09333322d695 +size 3216 diff --git a/game/characters/tonks/poses/default/clothes/top/silk_dress/0.webp b/game/characters/tonks/poses/default/clothes/top/silk_dress/0.webp new file mode 100644 index 00000000..94d41e48 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/silk_dress/0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72668069f0e79f26dfa183aacf07e43aeb1792fe556bb65ed97eba42e43cf342 +size 5924 diff --git a/game/characters/tonks/clothes/top/silk_dress/1.webp b/game/characters/tonks/poses/default/clothes/top/silk_dress/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/silk_dress/1.webp rename to game/characters/tonks/poses/default/clothes/top/silk_dress/1.webp diff --git a/game/characters/tonks/poses/default/clothes/top/silk_dress/armfix.webp b/game/characters/tonks/poses/default/clothes/top/silk_dress/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/silk_dress/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/silk_dress/outline.webp b/game/characters/tonks/poses/default/clothes/top/silk_dress/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/silk_dress/outline.webp rename to game/characters/tonks/poses/default/clothes/top/silk_dress/outline.webp diff --git a/game/characters/tonks/clothes/top/skimpy_dress/0.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress/0.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/skimpy_dress/armfix.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/skimpy_dress/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/skimpy_dress/extra.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress/extra.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress/extra.webp diff --git a/game/characters/tonks/clothes/top/skimpy_dress/outline.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress/outline.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress/outline.webp diff --git a/game/characters/tonks/clothes/top/skimpy_dress/skin.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress/skin.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress/skin.webp diff --git a/game/characters/tonks/clothes/top/skimpy_dress_2/0.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress_2/0.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/0.webp diff --git a/game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/armfix.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/armfix.webp new file mode 100644 index 00000000..33e7caa2 --- /dev/null +++ b/game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be2020ed2d3e26bc5851b6759bdff814a3545d71dff3c3fe8e3131a668d7056f +size 9642 diff --git a/game/characters/tonks/clothes/top/skimpy_dress_2/extra.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress_2/extra.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/extra.webp diff --git a/game/characters/tonks/clothes/top/skimpy_dress_2/outline.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress_2/outline.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/outline.webp diff --git a/game/characters/tonks/clothes/top/skimpy_dress_2/skin.webp b/game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/skimpy_dress_2/skin.webp rename to game/characters/tonks/poses/default/clothes/top/skimpy_dress_2/skin.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset/0.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset/0.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset/0.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset/1.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset/1.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset/1.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset/2.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset/2.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset/2.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset/2.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset/outline.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset/outline.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset/outline.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset_2/0.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset_2/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset_2/0.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset_2/0.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset_2/1.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset_2/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset_2/1.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset_2/1.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset_2/2.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset_2/2.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset_2/2.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset_2/2.webp diff --git a/game/characters/tonks/clothes/top/succubus_corset_2/outline.webp b/game/characters/tonks/poses/default/clothes/top/succubus_corset_2/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/succubus_corset_2/outline.webp rename to game/characters/tonks/poses/default/clothes/top/succubus_corset_2/outline.webp diff --git a/game/characters/tonks/clothes/top/sweatshirt/0.webp b/game/characters/tonks/poses/default/clothes/top/sweatshirt/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/sweatshirt/0.webp rename to game/characters/tonks/poses/default/clothes/top/sweatshirt/0.webp diff --git a/game/characters/tonks/clothes/top/sweatshirt/outline.webp b/game/characters/tonks/poses/default/clothes/top/sweatshirt/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/sweatshirt/outline.webp rename to game/characters/tonks/poses/default/clothes/top/sweatshirt/outline.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1/0.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1/0.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1/0.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1/extra.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1/extra.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1/extra.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1/outline.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1/outline.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1/outline.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1/skin.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1/skin.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1/skin.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_USA/0.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_USA/0.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/0.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_USA/1.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_USA/1.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/1.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_USA/2.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/2.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_USA/2.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/2.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_USA/3.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/3.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_USA/3.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/3.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_USA/extra.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_USA/extra.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/extra.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_USA/outline.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_USA/outline.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/outline.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_USA/skin.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_USA/skin.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_USA/skin.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_striped/0.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_striped/0.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/0.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_striped/1.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/1.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_striped/1.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/1.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_striped/extra.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/extra.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_striped/extra.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/extra.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_striped/outline.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_striped/outline.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/outline.webp diff --git a/game/characters/tonks/clothes/top/swimsuit_1_striped/skin.webp b/game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/skin.webp similarity index 100% rename from game/characters/tonks/clothes/top/swimsuit_1_striped/skin.webp rename to game/characters/tonks/poses/default/clothes/top/swimsuit_1_striped/skin.webp diff --git a/game/characters/tonks/clothes/top/tied_top/0.webp b/game/characters/tonks/poses/default/clothes/top/tied_top/0.webp similarity index 100% rename from game/characters/tonks/clothes/top/tied_top/0.webp rename to game/characters/tonks/poses/default/clothes/top/tied_top/0.webp diff --git a/game/characters/tonks/clothes/top/tied_top/outline.webp b/game/characters/tonks/poses/default/clothes/top/tied_top/outline.webp similarity index 100% rename from game/characters/tonks/clothes/top/tied_top/outline.webp rename to game/characters/tonks/poses/default/clothes/top/tied_top/outline.webp diff --git a/game/characters/tonks/cum/body/heavy.webp b/game/characters/tonks/poses/default/cum/body/heavy/cum.webp similarity index 100% rename from game/characters/tonks/cum/body/heavy.webp rename to game/characters/tonks/poses/default/cum/body/heavy/cum.webp diff --git a/game/characters/tonks/cum/body/heavy_skin.webp b/game/characters/tonks/poses/default/cum/body/heavy/skin.webp similarity index 100% rename from game/characters/tonks/cum/body/heavy_skin.webp rename to game/characters/tonks/poses/default/cum/body/heavy/skin.webp diff --git a/game/characters/tonks/cum/body/light.webp b/game/characters/tonks/poses/default/cum/body/light/cum.webp similarity index 100% rename from game/characters/tonks/cum/body/light.webp rename to game/characters/tonks/poses/default/cum/body/light/cum.webp diff --git a/game/characters/tonks/cum/body/light_skin.webp b/game/characters/tonks/poses/default/cum/body/light/skin.webp similarity index 100% rename from game/characters/tonks/cum/body/light_skin.webp rename to game/characters/tonks/poses/default/cum/body/light/skin.webp diff --git a/game/characters/tonks/cum/breasts/heavy.webp b/game/characters/tonks/poses/default/cum/breasts/heavy/cum.webp similarity index 100% rename from game/characters/tonks/cum/breasts/heavy.webp rename to game/characters/tonks/poses/default/cum/breasts/heavy/cum.webp diff --git a/game/characters/tonks/cum/breasts/heavy_skin.webp b/game/characters/tonks/poses/default/cum/breasts/heavy/skin.webp similarity index 100% rename from game/characters/tonks/cum/breasts/heavy_skin.webp rename to game/characters/tonks/poses/default/cum/breasts/heavy/skin.webp diff --git a/game/characters/tonks/cum/breasts/light.webp b/game/characters/tonks/poses/default/cum/breasts/light/cum.webp similarity index 100% rename from game/characters/tonks/cum/breasts/light.webp rename to game/characters/tonks/poses/default/cum/breasts/light/cum.webp diff --git a/game/characters/tonks/cum/breasts/light_skin.webp b/game/characters/tonks/poses/default/cum/breasts/light/skin.webp similarity index 100% rename from game/characters/tonks/cum/breasts/light_skin.webp rename to game/characters/tonks/poses/default/cum/breasts/light/skin.webp diff --git a/game/characters/tonks/cum/crotch/heavy.webp b/game/characters/tonks/poses/default/cum/crotch/heavy/cum.webp similarity index 100% rename from game/characters/tonks/cum/crotch/heavy.webp rename to game/characters/tonks/poses/default/cum/crotch/heavy/cum.webp diff --git a/game/characters/tonks/cum/crotch/heavy_skin.webp b/game/characters/tonks/poses/default/cum/crotch/heavy/skin.webp similarity index 100% rename from game/characters/tonks/cum/crotch/heavy_skin.webp rename to game/characters/tonks/poses/default/cum/crotch/heavy/skin.webp diff --git a/game/characters/tonks/cum/crotch/light.webp b/game/characters/tonks/poses/default/cum/crotch/light/cum.webp similarity index 100% rename from game/characters/tonks/cum/crotch/light.webp rename to game/characters/tonks/poses/default/cum/crotch/light/cum.webp diff --git a/game/characters/tonks/cum/crotch/light_skin.webp b/game/characters/tonks/poses/default/cum/crotch/light/skin.webp similarity index 100% rename from game/characters/tonks/cum/crotch/light_skin.webp rename to game/characters/tonks/poses/default/cum/crotch/light/skin.webp diff --git a/game/characters/tonks/cum/face/heavy.webp b/game/characters/tonks/poses/default/cum/face/heavy/cum.webp similarity index 100% rename from game/characters/tonks/cum/face/heavy.webp rename to game/characters/tonks/poses/default/cum/face/heavy/cum.webp diff --git a/game/characters/tonks/cum/face/heavy_skin.webp b/game/characters/tonks/poses/default/cum/face/heavy/skin.webp similarity index 100% rename from game/characters/tonks/cum/face/heavy_skin.webp rename to game/characters/tonks/poses/default/cum/face/heavy/skin.webp diff --git a/game/characters/tonks/cum/face/light.webp b/game/characters/tonks/poses/default/cum/face/light/cum.webp similarity index 100% rename from game/characters/tonks/cum/face/light.webp rename to game/characters/tonks/poses/default/cum/face/light/cum.webp diff --git a/game/characters/tonks/cum/face/light_skin.webp b/game/characters/tonks/poses/default/cum/face/light/skin.webp similarity index 100% rename from game/characters/tonks/cum/face/light_skin.webp rename to game/characters/tonks/poses/default/cum/face/light/skin.webp diff --git a/game/characters/tonks/cum/hair/heavy.webp b/game/characters/tonks/poses/default/cum/hair/heavy/default/cum.webp similarity index 100% rename from game/characters/tonks/cum/hair/heavy.webp rename to game/characters/tonks/poses/default/cum/hair/heavy/default/cum.webp diff --git a/game/characters/tonks/cum/hair/light.webp b/game/characters/tonks/poses/default/cum/hair/light/default/cum.webp similarity index 100% rename from game/characters/tonks/cum/hair/light.webp rename to game/characters/tonks/poses/default/cum/hair/light/default/cum.webp diff --git a/game/characters/tonks/cum/legs/heavy.webp b/game/characters/tonks/poses/default/cum/legs/heavy/cum.webp similarity index 100% rename from game/characters/tonks/cum/legs/heavy.webp rename to game/characters/tonks/poses/default/cum/legs/heavy/cum.webp diff --git a/game/characters/tonks/cum/legs/heavy_skin.webp b/game/characters/tonks/poses/default/cum/legs/heavy/skin.webp similarity index 100% rename from game/characters/tonks/cum/legs/heavy_skin.webp rename to game/characters/tonks/poses/default/cum/legs/heavy/skin.webp diff --git a/game/characters/tonks/cum/legs/light.webp b/game/characters/tonks/poses/default/cum/legs/light/cum.webp similarity index 100% rename from game/characters/tonks/cum/legs/light.webp rename to game/characters/tonks/poses/default/cum/legs/light/cum.webp diff --git a/game/characters/tonks/cum/legs/light_skin.webp b/game/characters/tonks/poses/default/cum/legs/light/skin.webp similarity index 100% rename from game/characters/tonks/cum/legs/light_skin.webp rename to game/characters/tonks/poses/default/cum/legs/light/skin.webp diff --git a/game/characters/tonks/cum/pussy/heavy.webp b/game/characters/tonks/poses/default/cum/pussy/heavy/cum.webp similarity index 100% rename from game/characters/tonks/cum/pussy/heavy.webp rename to game/characters/tonks/poses/default/cum/pussy/heavy/cum.webp diff --git a/game/characters/tonks/cum/pussy/light.webp b/game/characters/tonks/poses/default/cum/pussy/light/cum.webp similarity index 100% rename from game/characters/tonks/cum/pussy/light.webp rename to game/characters/tonks/poses/default/cum/pussy/light/cum.webp diff --git a/game/characters/tonks/emote/angry.webp b/game/characters/tonks/poses/default/emote/angry.webp similarity index 100% rename from game/characters/tonks/emote/angry.webp rename to game/characters/tonks/poses/default/emote/angry.webp diff --git a/game/characters/tonks/emote/confused.webp b/game/characters/tonks/poses/default/emote/confused.webp similarity index 100% rename from game/characters/tonks/emote/confused.webp rename to game/characters/tonks/poses/default/emote/confused.webp diff --git a/game/characters/tonks/emote/happy.webp b/game/characters/tonks/poses/default/emote/happy.webp similarity index 100% rename from game/characters/tonks/emote/happy.webp rename to game/characters/tonks/poses/default/emote/happy.webp diff --git a/game/characters/tonks/emote/hearts.webp b/game/characters/tonks/poses/default/emote/hearts.webp similarity index 100% rename from game/characters/tonks/emote/hearts.webp rename to game/characters/tonks/poses/default/emote/hearts.webp diff --git a/game/characters/tonks/emote/shocked.webp b/game/characters/tonks/poses/default/emote/shocked.webp similarity index 100% rename from game/characters/tonks/emote/shocked.webp rename to game/characters/tonks/poses/default/emote/shocked.webp diff --git a/game/characters/tonks/emote/sweat.webp b/game/characters/tonks/poses/default/emote/sweat.webp similarity index 100% rename from game/characters/tonks/emote/sweat.webp rename to game/characters/tonks/poses/default/emote/sweat.webp diff --git a/game/characters/tonks/face/cheeks/blush.webp b/game/characters/tonks/poses/default/face/cheeks/blush/skin.webp similarity index 100% rename from game/characters/tonks/face/cheeks/blush.webp rename to game/characters/tonks/poses/default/face/cheeks/blush/skin.webp diff --git a/game/characters/tonks/face/cheeks/gloom.webp b/game/characters/tonks/poses/default/face/cheeks/gloom/expression.webp similarity index 100% rename from game/characters/tonks/face/cheeks/gloom.webp rename to game/characters/tonks/poses/default/face/cheeks/gloom/expression.webp diff --git a/game/characters/tonks/face/cheeks/heavy_blush.webp b/game/characters/tonks/poses/default/face/cheeks/heavy_blush/skin.webp similarity index 100% rename from game/characters/tonks/face/cheeks/heavy_blush.webp rename to game/characters/tonks/poses/default/face/cheeks/heavy_blush/skin.webp diff --git a/game/characters/tonks/face/eyebrows/angry.webp b/game/characters/tonks/poses/default/face/eyebrows/angry/expression.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/angry.webp rename to game/characters/tonks/poses/default/face/eyebrows/angry/expression.webp diff --git a/game/characters/tonks/face/eyebrows/angry_skin.webp b/game/characters/tonks/poses/default/face/eyebrows/angry/skin.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/angry_skin.webp rename to game/characters/tonks/poses/default/face/eyebrows/angry/skin.webp diff --git a/game/characters/tonks/face/eyebrows/annoyed.webp b/game/characters/tonks/poses/default/face/eyebrows/annoyed/expression.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/annoyed.webp rename to game/characters/tonks/poses/default/face/eyebrows/annoyed/expression.webp diff --git a/game/characters/tonks/face/eyebrows/annoyed_skin.webp b/game/characters/tonks/poses/default/face/eyebrows/annoyed/skin.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/annoyed_skin.webp rename to game/characters/tonks/poses/default/face/eyebrows/annoyed/skin.webp diff --git a/game/characters/tonks/face/eyebrows/base.webp b/game/characters/tonks/poses/default/face/eyebrows/base/expression.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/base.webp rename to game/characters/tonks/poses/default/face/eyebrows/base/expression.webp diff --git a/game/characters/tonks/face/eyebrows/base_skin.webp b/game/characters/tonks/poses/default/face/eyebrows/base/skin.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/base_skin.webp rename to game/characters/tonks/poses/default/face/eyebrows/base/skin.webp diff --git a/game/characters/tonks/face/eyebrows/raised.webp b/game/characters/tonks/poses/default/face/eyebrows/raised/expression.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/raised.webp rename to game/characters/tonks/poses/default/face/eyebrows/raised/expression.webp diff --git a/game/characters/tonks/face/eyebrows/raised_skin.webp b/game/characters/tonks/poses/default/face/eyebrows/raised/skin.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/raised_skin.webp rename to game/characters/tonks/poses/default/face/eyebrows/raised/skin.webp diff --git a/game/characters/tonks/face/eyebrows/shocked.webp b/game/characters/tonks/poses/default/face/eyebrows/shocked/expression.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/shocked.webp rename to game/characters/tonks/poses/default/face/eyebrows/shocked/expression.webp diff --git a/game/characters/tonks/face/eyebrows/shocked_skin.webp b/game/characters/tonks/poses/default/face/eyebrows/shocked/skin.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/shocked_skin.webp rename to game/characters/tonks/poses/default/face/eyebrows/shocked/skin.webp diff --git a/game/characters/tonks/face/eyebrows/worried.webp b/game/characters/tonks/poses/default/face/eyebrows/worried/expression.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/worried.webp rename to game/characters/tonks/poses/default/face/eyebrows/worried/expression.webp diff --git a/game/characters/tonks/face/eyebrows/worried_skin.webp b/game/characters/tonks/poses/default/face/eyebrows/worried/skin.webp similarity index 100% rename from game/characters/tonks/face/eyebrows/worried_skin.webp rename to game/characters/tonks/poses/default/face/eyebrows/worried/skin.webp diff --git a/game/characters/tonks/face/eyes/base.webp b/game/characters/tonks/poses/default/face/eyes/base/expression.webp similarity index 100% rename from game/characters/tonks/face/eyes/base.webp rename to game/characters/tonks/poses/default/face/eyes/base/expression.webp diff --git a/game/characters/tonks/face/eyes/base_mask.webp b/game/characters/tonks/poses/default/face/eyes/base/eyemask.webp similarity index 100% rename from game/characters/tonks/face/eyes/base_mask.webp rename to game/characters/tonks/poses/default/face/eyes/base/eyemask.webp diff --git a/game/characters/tonks/face/eyes/base_skin.webp b/game/characters/tonks/poses/default/face/eyes/base/skin.webp similarity index 100% rename from game/characters/tonks/face/eyes/base_skin.webp rename to game/characters/tonks/poses/default/face/eyes/base/skin.webp diff --git a/game/characters/tonks/face/eyes/closed.webp b/game/characters/tonks/poses/default/face/eyes/closed/expression.webp similarity index 100% rename from game/characters/tonks/face/eyes/closed.webp rename to game/characters/tonks/poses/default/face/eyes/closed/expression.webp diff --git a/game/characters/tonks/face/eyes/closed_skin.webp b/game/characters/tonks/poses/default/face/eyes/closed/skin.webp similarity index 100% rename from game/characters/tonks/face/eyes/closed_skin.webp rename to game/characters/tonks/poses/default/face/eyes/closed/skin.webp diff --git a/game/characters/tonks/face/eyes/happyCl.webp b/game/characters/tonks/poses/default/face/eyes/happyCl/expression.webp similarity index 100% rename from game/characters/tonks/face/eyes/happyCl.webp rename to game/characters/tonks/poses/default/face/eyes/happyCl/expression.webp diff --git a/game/characters/tonks/face/eyes/happyCl_skin.webp b/game/characters/tonks/poses/default/face/eyes/happyCl/skin.webp similarity index 100% rename from game/characters/tonks/face/eyes/happyCl_skin.webp rename to game/characters/tonks/poses/default/face/eyes/happyCl/skin.webp diff --git a/game/characters/tonks/face/eyes/narrow.webp b/game/characters/tonks/poses/default/face/eyes/narrow/expression.webp similarity index 100% rename from game/characters/tonks/face/eyes/narrow.webp rename to game/characters/tonks/poses/default/face/eyes/narrow/expression.webp diff --git a/game/characters/tonks/face/eyes/narrow_mask.webp b/game/characters/tonks/poses/default/face/eyes/narrow/eyemask.webp similarity index 100% rename from game/characters/tonks/face/eyes/narrow_mask.webp rename to game/characters/tonks/poses/default/face/eyes/narrow/eyemask.webp diff --git a/game/characters/tonks/face/eyes/narrow_skin.webp b/game/characters/tonks/poses/default/face/eyes/narrow/skin.webp similarity index 100% rename from game/characters/tonks/face/eyes/narrow_skin.webp rename to game/characters/tonks/poses/default/face/eyes/narrow/skin.webp diff --git a/game/characters/tonks/face/eyes/shocked.webp b/game/characters/tonks/poses/default/face/eyes/shocked/expression.webp similarity index 100% rename from game/characters/tonks/face/eyes/shocked.webp rename to game/characters/tonks/poses/default/face/eyes/shocked/expression.webp diff --git a/game/characters/tonks/face/eyes/shocked_mask.webp b/game/characters/tonks/poses/default/face/eyes/shocked/eyemask.webp similarity index 100% rename from game/characters/tonks/face/eyes/shocked_mask.webp rename to game/characters/tonks/poses/default/face/eyes/shocked/eyemask.webp diff --git a/game/characters/tonks/face/eyes/shocked_skin.webp b/game/characters/tonks/poses/default/face/eyes/shocked/skin.webp similarity index 100% rename from game/characters/tonks/face/eyes/shocked_skin.webp rename to game/characters/tonks/poses/default/face/eyes/shocked/skin.webp diff --git a/game/characters/tonks/face/eyes/wide.webp b/game/characters/tonks/poses/default/face/eyes/wide/expression.webp similarity index 100% rename from game/characters/tonks/face/eyes/wide.webp rename to game/characters/tonks/poses/default/face/eyes/wide/expression.webp diff --git a/game/characters/tonks/face/eyes/wide_mask.webp b/game/characters/tonks/poses/default/face/eyes/wide/eyemask.webp similarity index 100% rename from game/characters/tonks/face/eyes/wide_mask.webp rename to game/characters/tonks/poses/default/face/eyes/wide/eyemask.webp diff --git a/game/characters/tonks/face/eyes/wide_skin.webp b/game/characters/tonks/poses/default/face/eyes/wide/skin.webp similarity index 100% rename from game/characters/tonks/face/eyes/wide_skin.webp rename to game/characters/tonks/poses/default/face/eyes/wide/skin.webp diff --git a/game/characters/tonks/face/eyes/wink.webp b/game/characters/tonks/poses/default/face/eyes/wink/expression.webp similarity index 100% rename from game/characters/tonks/face/eyes/wink.webp rename to game/characters/tonks/poses/default/face/eyes/wink/expression.webp diff --git a/game/characters/tonks/face/eyes/wink_mask.webp b/game/characters/tonks/poses/default/face/eyes/wink/eyemask.webp similarity index 100% rename from game/characters/tonks/face/eyes/wink_mask.webp rename to game/characters/tonks/poses/default/face/eyes/wink/eyemask.webp diff --git a/game/characters/tonks/face/eyes/wink_skin.webp b/game/characters/tonks/poses/default/face/eyes/wink/skin.webp similarity index 100% rename from game/characters/tonks/face/eyes/wink_skin.webp rename to game/characters/tonks/poses/default/face/eyes/wink/skin.webp diff --git a/game/characters/tonks/face/mouth/angry.webp b/game/characters/tonks/poses/default/face/mouth/angry/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/angry.webp rename to game/characters/tonks/poses/default/face/mouth/angry/expression.webp diff --git a/game/characters/tonks/face/mouth/annoyed.webp b/game/characters/tonks/poses/default/face/mouth/annoyed/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/annoyed.webp rename to game/characters/tonks/poses/default/face/mouth/annoyed/expression.webp diff --git a/game/characters/tonks/face/mouth/annoyed_skin.webp b/game/characters/tonks/poses/default/face/mouth/annoyed/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/annoyed_skin.webp rename to game/characters/tonks/poses/default/face/mouth/annoyed/skin.webp diff --git a/game/characters/tonks/face/mouth/base.webp b/game/characters/tonks/poses/default/face/mouth/base/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/base.webp rename to game/characters/tonks/poses/default/face/mouth/base/expression.webp diff --git a/game/characters/tonks/face/mouth/base_skin.webp b/game/characters/tonks/poses/default/face/mouth/base/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/base_skin.webp rename to game/characters/tonks/poses/default/face/mouth/base/skin.webp diff --git a/game/characters/tonks/face/mouth/clench.webp b/game/characters/tonks/poses/default/face/mouth/clench/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/clench.webp rename to game/characters/tonks/poses/default/face/mouth/clench/expression.webp diff --git a/game/characters/tonks/face/mouth/clench_skin.webp b/game/characters/tonks/poses/default/face/mouth/clench/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/clench_skin.webp rename to game/characters/tonks/poses/default/face/mouth/clench/skin.webp diff --git a/game/characters/tonks/face/mouth/crooked_smile.webp b/game/characters/tonks/poses/default/face/mouth/crooked_smile/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/crooked_smile.webp rename to game/characters/tonks/poses/default/face/mouth/crooked_smile/expression.webp diff --git a/game/characters/tonks/face/mouth/crooked_smile_skin.webp b/game/characters/tonks/poses/default/face/mouth/crooked_smile/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/crooked_smile_skin.webp rename to game/characters/tonks/poses/default/face/mouth/crooked_smile/skin.webp diff --git a/game/characters/tonks/face/mouth/disgust.webp b/game/characters/tonks/poses/default/face/mouth/disgust/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/disgust.webp rename to game/characters/tonks/poses/default/face/mouth/disgust/expression.webp diff --git a/game/characters/tonks/face/mouth/disgust_skin.webp b/game/characters/tonks/poses/default/face/mouth/disgust/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/disgust_skin.webp rename to game/characters/tonks/poses/default/face/mouth/disgust/skin.webp diff --git a/game/characters/tonks/face/mouth/grin.webp b/game/characters/tonks/poses/default/face/mouth/grin/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/grin.webp rename to game/characters/tonks/poses/default/face/mouth/grin/expression.webp diff --git a/game/characters/tonks/face/mouth/grin_skin.webp b/game/characters/tonks/poses/default/face/mouth/grin/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/grin_skin.webp rename to game/characters/tonks/poses/default/face/mouth/grin/skin.webp diff --git a/game/characters/tonks/face/mouth/horny.webp b/game/characters/tonks/poses/default/face/mouth/horny/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/horny.webp rename to game/characters/tonks/poses/default/face/mouth/horny/expression.webp diff --git a/game/characters/tonks/face/mouth/horny_skin.webp b/game/characters/tonks/poses/default/face/mouth/horny/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/horny_skin.webp rename to game/characters/tonks/poses/default/face/mouth/horny/skin.webp diff --git a/game/characters/tonks/face/mouth/mad.webp b/game/characters/tonks/poses/default/face/mouth/mad/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/mad.webp rename to game/characters/tonks/poses/default/face/mouth/mad/expression.webp diff --git a/game/characters/tonks/face/mouth/mad_skin.webp b/game/characters/tonks/poses/default/face/mouth/mad/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/mad_skin.webp rename to game/characters/tonks/poses/default/face/mouth/mad/skin.webp diff --git a/game/characters/tonks/face/mouth/normal.webp b/game/characters/tonks/poses/default/face/mouth/normal/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/normal.webp rename to game/characters/tonks/poses/default/face/mouth/normal/expression.webp diff --git a/game/characters/tonks/face/mouth/normal_skin.webp b/game/characters/tonks/poses/default/face/mouth/normal/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/normal_skin.webp rename to game/characters/tonks/poses/default/face/mouth/normal/skin.webp diff --git a/game/characters/tonks/face/mouth/open.webp b/game/characters/tonks/poses/default/face/mouth/open/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/open.webp rename to game/characters/tonks/poses/default/face/mouth/open/expression.webp diff --git a/game/characters/tonks/face/mouth/open_skin.webp b/game/characters/tonks/poses/default/face/mouth/open/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/open_skin.webp rename to game/characters/tonks/poses/default/face/mouth/open/skin.webp diff --git a/game/characters/tonks/face/mouth/open_wide.webp b/game/characters/tonks/poses/default/face/mouth/open_wide/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/open_wide.webp rename to game/characters/tonks/poses/default/face/mouth/open_wide/expression.webp diff --git a/game/characters/tonks/face/mouth/open_wide_tongue.webp b/game/characters/tonks/poses/default/face/mouth/open_wide_tongue/expression_zorder_500.webp similarity index 100% rename from game/characters/tonks/face/mouth/open_wide_tongue.webp rename to game/characters/tonks/poses/default/face/mouth/open_wide_tongue/expression_zorder_500.webp diff --git a/game/characters/tonks/face/mouth/open_wide_tongue2.webp b/game/characters/tonks/poses/default/face/mouth/open_wide_tongue2/expression_zorder_500.webp similarity index 100% rename from game/characters/tonks/face/mouth/open_wide_tongue2.webp rename to game/characters/tonks/poses/default/face/mouth/open_wide_tongue2/expression_zorder_500.webp diff --git a/game/characters/tonks/face/mouth/open_wide_tongue2_cum.webp b/game/characters/tonks/poses/default/face/mouth/open_wide_tongue2_cum/expression_zorder_500.webp similarity index 100% rename from game/characters/tonks/face/mouth/open_wide_tongue2_cum.webp rename to game/characters/tonks/poses/default/face/mouth/open_wide_tongue2_cum/expression_zorder_500.webp diff --git a/game/characters/tonks/face/mouth/open_wide_tongue_cum.webp b/game/characters/tonks/poses/default/face/mouth/open_wide_tongue_cum/expression_zorder_500.webp similarity index 100% rename from game/characters/tonks/face/mouth/open_wide_tongue_cum.webp rename to game/characters/tonks/poses/default/face/mouth/open_wide_tongue_cum/expression_zorder_500.webp diff --git a/game/characters/tonks/face/mouth/scream.webp b/game/characters/tonks/poses/default/face/mouth/scream/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/scream.webp rename to game/characters/tonks/poses/default/face/mouth/scream/expression.webp diff --git a/game/characters/tonks/face/mouth/scream_skin.webp b/game/characters/tonks/poses/default/face/mouth/scream/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/scream_skin.webp rename to game/characters/tonks/poses/default/face/mouth/scream/skin.webp diff --git a/game/characters/tonks/face/mouth/silly.webp b/game/characters/tonks/poses/default/face/mouth/silly/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/silly.webp rename to game/characters/tonks/poses/default/face/mouth/silly/expression.webp diff --git a/game/characters/tonks/face/mouth/silly_skin.webp b/game/characters/tonks/poses/default/face/mouth/silly/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/silly_skin.webp rename to game/characters/tonks/poses/default/face/mouth/silly/skin.webp diff --git a/game/characters/tonks/face/mouth/soft.webp b/game/characters/tonks/poses/default/face/mouth/soft/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/soft.webp rename to game/characters/tonks/poses/default/face/mouth/soft/expression.webp diff --git a/game/characters/tonks/face/mouth/soft_skin.webp b/game/characters/tonks/poses/default/face/mouth/soft/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/soft_skin.webp rename to game/characters/tonks/poses/default/face/mouth/soft/skin.webp diff --git a/game/characters/tonks/face/mouth/upset.webp b/game/characters/tonks/poses/default/face/mouth/upset/expression.webp similarity index 100% rename from game/characters/tonks/face/mouth/upset.webp rename to game/characters/tonks/poses/default/face/mouth/upset/expression.webp diff --git a/game/characters/tonks/face/mouth/upset_skin.webp b/game/characters/tonks/poses/default/face/mouth/upset/skin.webp similarity index 100% rename from game/characters/tonks/face/mouth/upset_skin.webp rename to game/characters/tonks/poses/default/face/mouth/upset/skin.webp diff --git a/game/characters/tonks/face/pupils/L.webp b/game/characters/tonks/poses/default/face/pupils/L/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/L.webp rename to game/characters/tonks/poses/default/face/pupils/L/expression.webp diff --git a/game/characters/tonks/face/pupils/R.webp b/game/characters/tonks/poses/default/face/pupils/R/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/R.webp rename to game/characters/tonks/poses/default/face/pupils/R/expression.webp diff --git a/game/characters/tonks/face/pupils/ahegao.webp b/game/characters/tonks/poses/default/face/pupils/ahegao/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/ahegao.webp rename to game/characters/tonks/poses/default/face/pupils/ahegao/expression.webp diff --git a/game/characters/tonks/face/pupils/down.webp b/game/characters/tonks/poses/default/face/pupils/down/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/down.webp rename to game/characters/tonks/poses/default/face/pupils/down/expression.webp diff --git a/game/characters/tonks/face/pupils/downR.webp b/game/characters/tonks/poses/default/face/pupils/downR/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/downR.webp rename to game/characters/tonks/poses/default/face/pupils/downR/expression.webp diff --git a/game/characters/tonks/face/pupils/mid.webp b/game/characters/tonks/poses/default/face/pupils/mid/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/mid.webp rename to game/characters/tonks/poses/default/face/pupils/mid/expression.webp diff --git a/game/characters/tonks/face/pupils/stare.webp b/game/characters/tonks/poses/default/face/pupils/stare/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/stare.webp rename to game/characters/tonks/poses/default/face/pupils/stare/expression.webp diff --git a/game/characters/tonks/face/pupils/up.webp b/game/characters/tonks/poses/default/face/pupils/up/expression.webp similarity index 100% rename from game/characters/tonks/face/pupils/up.webp rename to game/characters/tonks/poses/default/face/pupils/up/expression.webp diff --git a/game/characters/tonks/face/tears/tears_mascara.webp b/game/characters/tonks/poses/default/face/tears/mascara/expression.webp similarity index 100% rename from game/characters/tonks/face/tears/tears_mascara.webp rename to game/characters/tonks/poses/default/face/tears/mascara/expression.webp diff --git a/game/characters/tonks/face/tears/tears_tears.webp b/game/characters/tonks/poses/default/face/tears/tears/expression.webp similarity index 100% rename from game/characters/tonks/face/tears/tears_tears.webp rename to game/characters/tonks/poses/default/face/tears/tears/expression.webp diff --git a/game/gui/splash/legal.webp b/game/gui/splash/legal.webp index fd73cfbd..13413e63 100644 --- a/game/gui/splash/legal.webp +++ b/game/gui/splash/legal.webp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4020465181d365ab3124ba8bd0f0d5199aa86275bad0c9d5f1ea342d8290f43d -size 344080 +oid sha256:1bc2cf12f61b249999462e551a2175db7fad269331ad5fb4812b4e96320e8944 +size 582466 diff --git a/game/gui/splash/rating.webp b/game/gui/splash/rating.webp new file mode 100644 index 00000000..ab1a19e3 --- /dev/null +++ b/game/gui/splash/rating.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88e94862b6efc368599a16538412ccd0eb5ca1761dc0c0c4e57c315d4e56a69e +size 8740 diff --git a/game/images.whitespace b/game/images.whitespace index 6df232ec..cc222521 100644 --- a/game/images.whitespace +++ b/game/images.whitespace @@ -1,10 +1,3 @@ -characters/astoria/body/armleft/on_hips.webp:602,547,191,333 -characters/astoria/body/armleft/on_hips_fix.webp:602,802,68,78 -characters/astoria/body/armright/on_hips.webp:404,570,129,306 -characters/astoria/body/armright/on_hips_fix.webp:443,810,83,74 -characters/astoria/body/base/front.webp:462,320,235,880 -characters/astoria/body/breasts/normal.webp:475,600,198,160 -characters/astoria/body/breasts/normal_tight.webp:475,587,198,173 characters/astoria/chibis/ag_robe.webp:40,127,119,208 characters/astoria/chibis/ag_shoes.webp:69,292,60,52 characters/astoria/chibis/ag_skirt.webp:62,204,68,52 @@ -49,180 +42,192 @@ characters/astoria/chibis/wand_imperio/ag_stand_04.webp:98,83,212,260 characters/astoria/chibis/wand_imperio/ag_top.webp:205,126,84,94 characters/astoria/chibis/wand_imperio/smoke.webp:0,0,56,128 characters/astoria/chibis/wand_imperio/sparkles.webp:0,0,38,39 -characters/astoria/clothes/accessory/ann_takamaki/0.webp:285,661,314,228 -characters/astoria/clothes/accessory/ann_takamaki/1.webp:289,664,179,134 -characters/astoria/clothes/accessory/ann_takamaki/outline.webp:284,660,316,229 -characters/astoria/clothes/bottom/pants_1/0.webp:462,836,229,364 -characters/astoria/clothes/bottom/pants_1/1.webp:537,866,12,13 -characters/astoria/clothes/bottom/pants_1/extra.webp:480,938,155,257 -characters/astoria/clothes/bottom/pants_1/outline.webp:461,834,230,366 -characters/astoria/clothes/bottom/pants_1/skin.webp:480,832,178,48 -characters/astoria/clothes/bottom/pants_1_short/0.webp:456,836,237,125 -characters/astoria/clothes/bottom/pants_1_short/1.webp:537,869,12,11 -characters/astoria/clothes/bottom/pants_1_short/extra.webp:456,916,236,45 -characters/astoria/clothes/bottom/pants_1_short/outline.webp:456,834,238,128 -characters/astoria/clothes/bottom/pants_1_short/skin.webp:465,832,220,135 -characters/astoria/clothes/bottom/school_skirt_1/0.webp:449,779,262,393 -characters/astoria/clothes/bottom/school_skirt_1/1.webp:584,809,12,25 -characters/astoria/clothes/bottom/school_skirt_1/outline.webp:448,778,264,398 -characters/astoria/clothes/bottom/school_skirt_2/0.webp:444,779,264,262 -characters/astoria/clothes/bottom/school_skirt_2/1.webp:584,809,12,25 -characters/astoria/clothes/bottom/school_skirt_2/outline.webp:442,778,268,264 -characters/astoria/clothes/bottom/school_skirt_3/0.webp:449,779,251,199 -characters/astoria/clothes/bottom/school_skirt_3/1.webp:584,809,12,25 -characters/astoria/clothes/bottom/school_skirt_3/outline.webp:447,778,255,190 -characters/astoria/clothes/bottom/school_skirt_4/0.webp:452,779,240,199 -characters/astoria/clothes/bottom/school_skirt_4/1.webp:584,809,12,25 -characters/astoria/clothes/bottom/school_skirt_4/outline.webp:453,778,240,160 -characters/astoria/clothes/bra/basic_bra_1/0.webp:476,568,181,174 -characters/astoria/clothes/bra/basic_bra_1/1.webp:476,629,179,97 -characters/astoria/clothes/bra/basic_bra_1/outline.webp:468,567,191,176 -characters/astoria/clothes/bra/basic_bra_1/skin.webp:507,571,151,163 -characters/astoria/clothes/bra/basic_bra_2/0.webp:476,568,181,174 -characters/astoria/clothes/bra/basic_bra_2/outline.webp:468,567,191,176 -characters/astoria/clothes/bra/basic_bra_2/skin.webp:507,571,151,163 -characters/astoria/clothes/gloves/ann_takamaki/0.webp:398,769,357,115 -characters/astoria/clothes/gloves/ann_takamaki/outline.webp:397,769,360,116 -characters/astoria/clothes/hair/ann_takamaki/0.webp:430,313,300,372 -characters/astoria/clothes/hair/ann_takamaki/0_front.webp:438,499,265,186 -characters/astoria/clothes/hair/ann_takamaki/1.webp:432,312,295,371 -characters/astoria/clothes/hair/ann_takamaki/1_front.webp:458,499,245,184 -characters/astoria/clothes/hair/ann_takamaki/2.webp:606,384,21,22 -characters/astoria/clothes/hair/ann_takamaki/outline.webp:429,312,299,374 -characters/astoria/clothes/hair/ann_takamaki/outline_front.webp:456,500,248,186 -characters/astoria/clothes/hair/ann_takamaki/skin.webp:503,371,119,50 -characters/astoria/clothes/hair/base/0.webp:416,307,315,342 -characters/astoria/clothes/hair/base/0_front.webp:605,519,16,47 -characters/astoria/clothes/hair/base/1.webp:416,308,301,341 -characters/astoria/clothes/hair/base/1_front.webp:606,519,15,47 -characters/astoria/clothes/hair/base/outline.webp:415,307,326,339 -characters/astoria/clothes/hair/base/outline_front.webp:604,519,21,52 -characters/astoria/clothes/hair/base/skin.webp:484,369,122,56 -characters/astoria/clothes/hair/short/0.webp:474,313,206,248 -characters/astoria/clothes/hair/short/0_front.webp:606,520,41,25 -characters/astoria/clothes/hair/short/1.webp:474,312,199,254 -characters/astoria/clothes/hair/short/1_front.webp:607,520,40,26 -characters/astoria/clothes/hair/short/outline.webp:472,312,208,241 -characters/astoria/clothes/hair/short/outline_front.webp:606,520,44,26 -characters/astoria/clothes/hair/short/skin.webp:484,369,122,56 -characters/astoria/clothes/headgear/ann_takamaki/0.webp:486,307,159,167 -characters/astoria/clothes/headgear/ann_takamaki/1.webp:492,308,152,164 -characters/astoria/clothes/headgear/ann_takamaki/outline.webp:486,306,160,168 -characters/astoria/clothes/makeup/lipstick/angry.webp:533,491,37,18 -characters/astoria/clothes/makeup/lipstick/annoyed.webp:523,490,22,12 -characters/astoria/clothes/makeup/lipstick/base.webp:529,496,33,13 -characters/astoria/clothes/makeup/lipstick/clench.webp:533,487,43,25 -characters/astoria/clothes/makeup/lipstick/grin.webp:526,490,38,22 -characters/astoria/clothes/makeup/lipstick/horny.webp:528,492,37,11 -characters/astoria/clothes/makeup/lipstick/open.webp:531,492,32,23 -characters/astoria/clothes/makeup/lipstick/scream.webp:530,490,32,38 -characters/astoria/clothes/makeup/lipstick/smile.webp:523,489,47,25 -characters/astoria/clothes/makeup/lipstick/upset.webp:531,495,27,11 -characters/astoria/clothes/panties/basic_panties_1/0.webp:470,846,207,112 -characters/astoria/clothes/panties/basic_panties_1/1.webp:474,854,198,92 -characters/astoria/clothes/panties/basic_panties_1/outline.webp:469,843,212,116 -characters/astoria/clothes/panties/basic_panties_1/skin.webp:475,843,196,118 -characters/astoria/clothes/panties/basic_panties_2/0.webp:470,846,207,112 -characters/astoria/clothes/panties/basic_panties_2/outline.webp:469,843,212,116 -characters/astoria/clothes/panties/basic_panties_2/skin.webp:475,843,196,118 -characters/astoria/clothes/pubes/arrow/0.webp:532,898,26,37 -characters/astoria/clothes/pubes/arrow/outline.webp:532,899,25,34 -characters/astoria/clothes/pubes/beaver/0.webp:525,894,47,69 -characters/astoria/clothes/pubes/beaver/outline.webp:526,897,46,68 -characters/astoria/clothes/pubes/stuble/0.webp:522,908,54,39 -characters/astoria/clothes/pubes/unshaved/0.webp:524,907,48,50 -characters/astoria/clothes/stockings/ann_takamaki/0.webp:463,966,227,234 -characters/astoria/clothes/stockings/ann_takamaki/0_front.webp:463,966,227,234 -characters/astoria/clothes/stockings/ann_takamaki/1.webp:485,977,175,210 -characters/astoria/clothes/stockings/ann_takamaki/1_front.webp:485,977,175,210 -characters/astoria/clothes/stockings/ann_takamaki/outline.webp:463,964,229,236 -characters/astoria/clothes/stockings/ann_takamaki/outline_front.webp:463,964,229,236 -characters/astoria/clothes/stockings/pantyhose/0.webp:463,838,226,362 -characters/astoria/clothes/stockings/pantyhose/outline.webp:462,837,228,363 -characters/astoria/clothes/top/ann_takamaki/0.webp:405,529,387,671 -characters/astoria/clothes/top/ann_takamaki/1.webp:487,529,174,671 -characters/astoria/clothes/top/ann_takamaki/2.webp:434,579,341,603 -characters/astoria/clothes/top/ann_takamaki/outline.webp:404,528,389,672 -characters/astoria/clothes/top/top_school_1/0.webp:439,521,308,286 -characters/astoria/clothes/top/top_school_1/1.webp:475,559,190,305 -characters/astoria/clothes/top/top_school_1/2.webp:444,549,296,330 -characters/astoria/clothes/top/top_school_1/3.webp:448,552,287,327 -characters/astoria/clothes/top/top_school_1/outline.webp:436,520,313,361 -characters/astoria/clothes/top/top_school_1/skin.webp:480,849,178,34 -characters/astoria/clothes/top/top_school_2/0.webp:439,521,308,286 -characters/astoria/clothes/top/top_school_2/1.webp:476,559,189,306 -characters/astoria/clothes/top/top_school_2/2.webp:444,549,296,330 -characters/astoria/clothes/top/top_school_2/3.webp:448,552,287,327 -characters/astoria/clothes/top/top_school_2/extra.webp:552,630,9,12 -characters/astoria/clothes/top/top_school_2/outline.webp:436,520,313,361 -characters/astoria/clothes/top/top_school_2/skin.webp:480,849,178,34 -characters/astoria/clothes/top/top_school_3/0.webp:439,521,308,286 -characters/astoria/clothes/top/top_school_3/1.webp:444,580,296,169 -characters/astoria/clothes/top/top_school_3/2.webp:448,575,287,189 -characters/astoria/clothes/top/top_school_3/extra.webp:545,782,9,14 -characters/astoria/clothes/top/top_school_3/outline.webp:436,520,313,288 -characters/astoria/clothes/top/top_school_4/0.webp:439,521,308,286 -characters/astoria/clothes/top/top_school_4/1.webp:444,618,296,77 -characters/astoria/clothes/top/top_school_4/2.webp:448,625,287,64 -characters/astoria/clothes/top/top_school_4/extra.webp:543,631,16,165 -characters/astoria/clothes/top/top_school_4/outline.webp:436,520,313,288 -characters/astoria/clothes/top/top_school_5/0.webp:439,521,308,286 -characters/astoria/clothes/top/top_school_5/1.webp:444,618,296,77 -characters/astoria/clothes/top/top_school_5/2.webp:448,625,287,64 -characters/astoria/clothes/top/top_school_5/extra.webp:543,664,10,132 -characters/astoria/clothes/top/top_school_5/outline.webp:436,520,313,288 -characters/astoria/clothes/top/top_school_5/skin.webp:542,583,45,67 -characters/astoria/clothes/top/top_school_6/0.webp:476,559,189,306 -characters/astoria/clothes/top/top_school_6/1.webp:478,548,202,331 -characters/astoria/clothes/top/top_school_6/2.webp:482,552,193,327 -characters/astoria/clothes/top/top_school_6/outline.webp:475,547,207,334 -characters/astoria/clothes/top/top_school_6/skin.webp:480,576,198,307 -characters/astoria/emote/angry.webp:578,369,45,43 -characters/astoria/emote/confused.webp:405,254,127,99 -characters/astoria/emote/happy.webp:419,221,123,146 -characters/astoria/emote/hearts.webp:373,206,175,146 -characters/astoria/emote/shocked.webp:399,223,136,128 -characters/astoria/emote/sweat.webp:574,350,42,67 -characters/astoria/face/cheeks/blush.webp:497,436,118,56 -characters/astoria/face/eyebrows/angry.webp:495,401,111,42 -characters/astoria/face/eyebrows/base.webp:496,402,107,33 -characters/astoria/face/eyebrows/worried.webp:495,403,111,35 -characters/astoria/face/eyes/base.webp:489,421,122,30 -characters/astoria/face/eyes/base_mask.webp:505,427,88,20 -characters/astoria/face/eyes/closed.webp:489,421,122,30 -characters/astoria/face/eyes/narrow.webp:489,421,122,30 -characters/astoria/face/eyes/narrow_mask.webp:506,432,88,15 -characters/astoria/face/eyes/wink.webp:489,421,122,30 -characters/astoria/face/eyes/wink_mask.webp:559,427,35,18 -characters/astoria/face/mouth/angry.webp:533,492,37,17 -characters/astoria/face/mouth/annoyed.webp:523,490,22,12 -characters/astoria/face/mouth/base.webp:529,497,34,12 -characters/astoria/face/mouth/clench.webp:528,486,48,29 -characters/astoria/face/mouth/grin.webp:526,490,38,22 -characters/astoria/face/mouth/horny.webp:528,493,37,10 -characters/astoria/face/mouth/open.webp:531,492,32,22 -characters/astoria/face/mouth/scream.webp:507,484,97,53 -characters/astoria/face/mouth/smile.webp:523,488,49,28 -characters/astoria/face/mouth/upset.webp:531,495,27,16 -characters/astoria/face/pupils/L.webp:505,425,76,23 -characters/astoria/face/pupils/R.webp:513,424,76,23 -characters/astoria/face/pupils/ahegao.webp:510,421,76,22 -characters/astoria/face/pupils/down.webp:510,428,76,23 -characters/astoria/face/pupils/mid.webp:511,424,76,23 -characters/astoria/face/pupils/up.webp:509,421,82,23 -characters/astoria/face/tears/crying.webp:512,562,114,16 +characters/astoria/poses/default/bodyparts/frame/default/skin.webp:404,320,389,880 +characters/astoria/poses/default/clothes/accessory/ann_takamaki/0.webp:285,661,314,228 +characters/astoria/poses/default/clothes/accessory/ann_takamaki/1.webp:289,664,179,134 +characters/astoria/poses/default/clothes/accessory/ann_takamaki/outline.webp:284,660,316,229 +characters/astoria/poses/default/clothes/bottom/pants_1/0.webp:462,836,229,364 +characters/astoria/poses/default/clothes/bottom/pants_1/1.webp:537,866,12,13 +characters/astoria/poses/default/clothes/bottom/pants_1/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/bottom/pants_1/extra.webp:480,938,155,257 +characters/astoria/poses/default/clothes/bottom/pants_1/outline.webp:461,834,230,366 +characters/astoria/poses/default/clothes/bottom/pants_1/skin.webp:480,832,178,48 +characters/astoria/poses/default/clothes/bottom/pants_1_short/0.webp:456,836,237,125 +characters/astoria/poses/default/clothes/bottom/pants_1_short/1.webp:537,869,12,11 +characters/astoria/poses/default/clothes/bottom/pants_1_short/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/bottom/pants_1_short/extra.webp:456,916,236,45 +characters/astoria/poses/default/clothes/bottom/pants_1_short/outline.webp:456,834,238,128 +characters/astoria/poses/default/clothes/bottom/pants_1_short/skin.webp:465,832,220,135 +characters/astoria/poses/default/clothes/bottom/school_skirt_1/0.webp:449,779,262,393 +characters/astoria/poses/default/clothes/bottom/school_skirt_1/1.webp:584,809,12,25 +characters/astoria/poses/default/clothes/bottom/school_skirt_1/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/bottom/school_skirt_1/outline.webp:448,778,264,398 +characters/astoria/poses/default/clothes/bottom/school_skirt_2/0.webp:444,779,264,262 +characters/astoria/poses/default/clothes/bottom/school_skirt_2/1.webp:584,809,12,25 +characters/astoria/poses/default/clothes/bottom/school_skirt_2/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/bottom/school_skirt_2/outline.webp:442,778,268,264 +characters/astoria/poses/default/clothes/bottom/school_skirt_3/0.webp:449,779,251,199 +characters/astoria/poses/default/clothes/bottom/school_skirt_3/1.webp:584,809,12,25 +characters/astoria/poses/default/clothes/bottom/school_skirt_3/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/bottom/school_skirt_3/outline.webp:447,778,255,190 +characters/astoria/poses/default/clothes/bottom/school_skirt_4/0.webp:452,779,240,199 +characters/astoria/poses/default/clothes/bottom/school_skirt_4/1.webp:584,809,12,25 +characters/astoria/poses/default/clothes/bottom/school_skirt_4/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/bottom/school_skirt_4/outline.webp:453,778,240,160 +characters/astoria/poses/default/clothes/bra/basic_bra_1/0.webp:476,568,181,174 +characters/astoria/poses/default/clothes/bra/basic_bra_1/1.webp:476,629,179,97 +characters/astoria/poses/default/clothes/bra/basic_bra_1/outline.webp:468,567,191,176 +characters/astoria/poses/default/clothes/bra/basic_bra_1/skin.webp:507,571,151,163 +characters/astoria/poses/default/clothes/bra/basic_bra_2/0.webp:476,568,181,174 +characters/astoria/poses/default/clothes/bra/basic_bra_2/outline.webp:468,567,191,176 +characters/astoria/poses/default/clothes/bra/basic_bra_2/skin.webp:507,571,151,163 +characters/astoria/poses/default/clothes/gloves/ann_takamaki/0.webp:398,769,357,115 +characters/astoria/poses/default/clothes/gloves/ann_takamaki/outline.webp:397,769,360,116 +characters/astoria/poses/default/clothes/hair/ann_takamaki/0.webp:430,313,300,372 +characters/astoria/poses/default/clothes/hair/ann_takamaki/0_front.webp:438,499,265,186 +characters/astoria/poses/default/clothes/hair/ann_takamaki/1.webp:432,312,295,371 +characters/astoria/poses/default/clothes/hair/ann_takamaki/1_front.webp:458,499,245,184 +characters/astoria/poses/default/clothes/hair/ann_takamaki/2.webp:606,384,21,22 +characters/astoria/poses/default/clothes/hair/ann_takamaki/outline.webp:429,312,299,374 +characters/astoria/poses/default/clothes/hair/ann_takamaki/outline_front.webp:456,500,248,186 +characters/astoria/poses/default/clothes/hair/ann_takamaki/skin.webp:503,371,119,50 +characters/astoria/poses/default/clothes/hair/base/0.webp:416,307,315,342 +characters/astoria/poses/default/clothes/hair/base/0_front.webp:605,519,16,47 +characters/astoria/poses/default/clothes/hair/base/1.webp:416,308,301,341 +characters/astoria/poses/default/clothes/hair/base/1_front.webp:606,519,15,47 +characters/astoria/poses/default/clothes/hair/base/outline.webp:415,307,326,339 +characters/astoria/poses/default/clothes/hair/base/outline_front.webp:604,519,21,52 +characters/astoria/poses/default/clothes/hair/base/skin.webp:484,369,122,56 +characters/astoria/poses/default/clothes/hair/short/0.webp:474,313,206,248 +characters/astoria/poses/default/clothes/hair/short/0_front.webp:606,520,41,25 +characters/astoria/poses/default/clothes/hair/short/1.webp:474,312,199,254 +characters/astoria/poses/default/clothes/hair/short/1_front.webp:607,520,40,26 +characters/astoria/poses/default/clothes/hair/short/outline.webp:472,312,208,241 +characters/astoria/poses/default/clothes/hair/short/outline_front.webp:606,520,44,26 +characters/astoria/poses/default/clothes/hair/short/skin.webp:484,369,122,56 +characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/0.webp:486,307,159,167 +characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/1.webp:492,308,152,164 +characters/astoria/poses/default/clothes/headgear/ann_takamaki/default/outline.webp:486,306,160,168 +characters/astoria/poses/default/clothes/makeup/lipstick/angry/0.webp:533,491,37,18 +characters/astoria/poses/default/clothes/makeup/lipstick/annoyed/0.webp:523,490,22,12 +characters/astoria/poses/default/clothes/makeup/lipstick/base/0.webp:529,496,33,13 +characters/astoria/poses/default/clothes/makeup/lipstick/clench/0.webp:533,487,43,25 +characters/astoria/poses/default/clothes/makeup/lipstick/grin/0.webp:526,490,38,22 +characters/astoria/poses/default/clothes/makeup/lipstick/horny/0.webp:528,492,37,11 +characters/astoria/poses/default/clothes/makeup/lipstick/open/0.webp:531,492,32,23 +characters/astoria/poses/default/clothes/makeup/lipstick/scream/0.webp:530,490,32,38 +characters/astoria/poses/default/clothes/makeup/lipstick/smile/0.webp:523,489,47,25 +characters/astoria/poses/default/clothes/makeup/lipstick/upset/0.webp:531,495,27,11 +characters/astoria/poses/default/clothes/panties/basic_panties_1/0.webp:470,846,207,112 +characters/astoria/poses/default/clothes/panties/basic_panties_1/1.webp:474,854,198,92 +characters/astoria/poses/default/clothes/panties/basic_panties_1/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/panties/basic_panties_1/outline.webp:469,843,212,116 +characters/astoria/poses/default/clothes/panties/basic_panties_1/skin.webp:475,843,196,118 +characters/astoria/poses/default/clothes/panties/basic_panties_2/0.webp:470,846,207,112 +characters/astoria/poses/default/clothes/panties/basic_panties_2/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/panties/basic_panties_2/outline.webp:469,843,212,116 +characters/astoria/poses/default/clothes/panties/basic_panties_2/skin.webp:475,843,196,118 +characters/astoria/poses/default/clothes/pubes/arrow/0.webp:532,898,26,37 +characters/astoria/poses/default/clothes/pubes/arrow/outline.webp:532,899,25,34 +characters/astoria/poses/default/clothes/pubes/beaver/0.webp:525,894,47,69 +characters/astoria/poses/default/clothes/pubes/beaver/outline.webp:526,897,46,68 +characters/astoria/poses/default/clothes/pubes/stuble/0.webp:522,908,54,39 +characters/astoria/poses/default/clothes/pubes/unshaved/0.webp:524,907,48,50 +characters/astoria/poses/default/clothes/stockings/ann_takamaki/0.webp:463,966,227,234 +characters/astoria/poses/default/clothes/stockings/ann_takamaki/0_front.webp:463,966,227,234 +characters/astoria/poses/default/clothes/stockings/ann_takamaki/1.webp:485,977,175,210 +characters/astoria/poses/default/clothes/stockings/ann_takamaki/1_front.webp:485,977,175,210 +characters/astoria/poses/default/clothes/stockings/ann_takamaki/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/stockings/ann_takamaki/outline.webp:463,964,229,236 +characters/astoria/poses/default/clothes/stockings/ann_takamaki/outline_front.webp:463,964,229,236 +characters/astoria/poses/default/clothes/stockings/pantyhose/0.webp:463,838,226,362 +characters/astoria/poses/default/clothes/stockings/pantyhose/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/stockings/pantyhose/outline.webp:462,837,228,363 +characters/astoria/poses/default/clothes/top/ann_takamaki/0.webp:405,529,387,671 +characters/astoria/poses/default/clothes/top/ann_takamaki/1.webp:487,529,174,671 +characters/astoria/poses/default/clothes/top/ann_takamaki/2.webp:434,579,341,603 +characters/astoria/poses/default/clothes/top/ann_takamaki/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/top/ann_takamaki/outline.webp:404,528,389,672 +characters/astoria/poses/default/clothes/top/ann_takamaki/skin.webp:475,587,198,173 +characters/astoria/poses/default/clothes/top/top_school_1/0.webp:439,521,308,286 +characters/astoria/poses/default/clothes/top/top_school_1/1.webp:475,559,190,305 +characters/astoria/poses/default/clothes/top/top_school_1/2.webp:444,549,296,330 +characters/astoria/poses/default/clothes/top/top_school_1/3.webp:448,552,287,327 +characters/astoria/poses/default/clothes/top/top_school_1/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/top/top_school_1/outline.webp:436,520,313,361 +characters/astoria/poses/default/clothes/top/top_school_1/skin.webp:480,849,178,34 +characters/astoria/poses/default/clothes/top/top_school_2/0.webp:439,521,308,286 +characters/astoria/poses/default/clothes/top/top_school_2/1.webp:476,559,189,306 +characters/astoria/poses/default/clothes/top/top_school_2/2.webp:444,549,296,330 +characters/astoria/poses/default/clothes/top/top_school_2/3.webp:448,552,287,327 +characters/astoria/poses/default/clothes/top/top_school_2/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/top/top_school_2/extra.webp:552,630,9,12 +characters/astoria/poses/default/clothes/top/top_school_2/outline.webp:436,520,313,361 +characters/astoria/poses/default/clothes/top/top_school_2/skin.webp:480,849,178,34 +characters/astoria/poses/default/clothes/top/top_school_3/0.webp:439,521,308,286 +characters/astoria/poses/default/clothes/top/top_school_3/1.webp:444,580,296,169 +characters/astoria/poses/default/clothes/top/top_school_3/2.webp:448,575,287,189 +characters/astoria/poses/default/clothes/top/top_school_3/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/top/top_school_3/extra.webp:545,782,9,14 +characters/astoria/poses/default/clothes/top/top_school_3/outline.webp:436,520,313,288 +characters/astoria/poses/default/clothes/top/top_school_4/0.webp:439,521,308,286 +characters/astoria/poses/default/clothes/top/top_school_4/1.webp:444,618,296,77 +characters/astoria/poses/default/clothes/top/top_school_4/2.webp:448,625,287,64 +characters/astoria/poses/default/clothes/top/top_school_4/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/top/top_school_4/extra.webp:543,631,16,165 +characters/astoria/poses/default/clothes/top/top_school_4/outline.webp:436,520,313,288 +characters/astoria/poses/default/clothes/top/top_school_5/0.webp:439,521,308,286 +characters/astoria/poses/default/clothes/top/top_school_5/1.webp:444,618,296,77 +characters/astoria/poses/default/clothes/top/top_school_5/2.webp:448,625,287,64 +characters/astoria/poses/default/clothes/top/top_school_5/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/top/top_school_5/extra.webp:543,664,10,132 +characters/astoria/poses/default/clothes/top/top_school_5/outline.webp:436,520,313,288 +characters/astoria/poses/default/clothes/top/top_school_5/skin.webp:542,583,45,67 +characters/astoria/poses/default/clothes/top/top_school_6/0.webp:476,559,189,306 +characters/astoria/poses/default/clothes/top/top_school_6/1.webp:478,548,202,331 +characters/astoria/poses/default/clothes/top/top_school_6/2.webp:482,552,193,327 +characters/astoria/poses/default/clothes/top/top_school_6/armfix.webp:443,802,227,82 +characters/astoria/poses/default/clothes/top/top_school_6/outline.webp:475,547,207,334 +characters/astoria/poses/default/clothes/top/top_school_6/skin.webp:480,576,198,307 +characters/astoria/poses/default/emote/angry.webp:578,369,45,43 +characters/astoria/poses/default/emote/confused.webp:405,254,127,99 +characters/astoria/poses/default/emote/happy.webp:419,221,123,146 +characters/astoria/poses/default/emote/hearts.webp:373,206,175,146 +characters/astoria/poses/default/emote/shocked.webp:399,223,136,128 +characters/astoria/poses/default/emote/sweat.webp:574,350,42,67 +characters/astoria/poses/default/face/cheeks/blush/expression.webp:497,436,118,56 +characters/astoria/poses/default/face/eyebrows/angry/expression.webp:495,401,111,42 +characters/astoria/poses/default/face/eyebrows/base/expression.webp:496,402,107,33 +characters/astoria/poses/default/face/eyebrows/worried/expression.webp:495,403,111,35 +characters/astoria/poses/default/face/eyes/base/expression.webp:489,421,122,30 +characters/astoria/poses/default/face/eyes/base/eyemask.webp:505,427,88,20 +characters/astoria/poses/default/face/eyes/closed/expression.webp:489,421,122,30 +characters/astoria/poses/default/face/eyes/narrow/expression.webp:489,421,122,30 +characters/astoria/poses/default/face/eyes/narrow/eyemask.webp:506,432,88,15 +characters/astoria/poses/default/face/eyes/wink/expression.webp:489,421,122,30 +characters/astoria/poses/default/face/eyes/wink/eyemask.webp:559,427,35,18 +characters/astoria/poses/default/face/mouth/angry/expression.webp:533,492,37,17 +characters/astoria/poses/default/face/mouth/annoyed/expression.webp:523,490,22,12 +characters/astoria/poses/default/face/mouth/base/expression.webp:529,497,34,12 +characters/astoria/poses/default/face/mouth/clench/expression.webp:528,486,48,29 +characters/astoria/poses/default/face/mouth/grin/expression.webp:526,490,38,22 +characters/astoria/poses/default/face/mouth/horny/expression.webp:528,493,37,10 +characters/astoria/poses/default/face/mouth/open/expression.webp:531,492,32,22 +characters/astoria/poses/default/face/mouth/scream/expression.webp:507,484,97,53 +characters/astoria/poses/default/face/mouth/smile/expression.webp:523,488,49,28 +characters/astoria/poses/default/face/mouth/upset/expression.webp:531,495,27,16 +characters/astoria/poses/default/face/pupils/L/expression.webp:505,425,76,23 +characters/astoria/poses/default/face/pupils/R/expression.webp:513,424,76,23 +characters/astoria/poses/default/face/pupils/ahegao/expression.webp:510,421,76,22 +characters/astoria/poses/default/face/pupils/down/expression.webp:510,428,76,23 +characters/astoria/poses/default/face/pupils/mid/expression.webp:511,424,76,23 +characters/astoria/poses/default/face/pupils/up/expression.webp:509,421,82,23 +characters/astoria/poses/default/face/tears/crying/expression.webp:512,562,114,16 characters/chibis/cloth_pile_g.webp:2,2,188,52 characters/chibis/cloth_pile_h.webp:2,2,188,52 characters/chibis/cloth_pile_r.webp:2,2,188,52 characters/chibis/cloth_pile_s.webp:2,2,188,52 characters/chibis/panties_on_the_groun.webp:0,0,197,79 -characters/cho/body/armleft/down.webp:601,560,124,529 -characters/cho/body/armleft/down_fix.webp:653,843,72,246 -characters/cho/body/armright/down.webp:468,526,125,432 -characters/cho/body/armright/down_fix.webp:0,0,0,0 -characters/cho/body/armright/up.webp:420,446,148,326 -characters/cho/body/base/front.webp:456,332,239,868 -characters/cho/body/breasts/normal.webp:467,537,224,249 characters/cho/chibis/cc_gloves.webp:34,188,108,62 characters/cho/chibis/cc_quid_robe.webp:50,121,104,205 characters/cho/chibis/cc_quid_robe_fix.webp:65,133,66,178 @@ -276,561 +281,28 @@ characters/cho/chibis/fly_move/cc_skirt.webp:242,183,56,55 characters/cho/chibis/fly_move/cc_sweater.webp:189,119,91,105 characters/cho/chibis/fly_move/cc_top.webp:189,116,78,93 characters/cho/chibis/fly_move/cc_trousers.webp:205,185,92,86 -characters/cho/clothes/accessory/body_wrap/0.webp:487,715,165,124 -characters/cho/clothes/accessory/body_wrap/outline.webp:485,713,168,128 -characters/cho/clothes/accessory/chun_li_shoulders/0.webp:446,537,304,167 -characters/cho/clothes/accessory/chun_li_shoulders/1.webp:454,628,284,80 -characters/cho/clothes/accessory/chun_li_shoulders/extra.webp:454,645,283,63 -characters/cho/clothes/accessory/chun_li_shoulders/outline.webp:443,534,311,176 -characters/cho/clothes/accessory/panties_in_hand/0.webp:39,508,116,197 -characters/cho/clothes/accessory/panties_in_hand/outline.webp:37,506,122,203 -characters/cho/clothes/accessory/protectors1/0.webp:0,0,0,0 -characters/cho/clothes/accessory/protectors1/extra.webp:0,0,0,0 -characters/cho/clothes/accessory/protectors2/0.webp:0,0,0,0 -characters/cho/clothes/accessory/protectors2/extra.webp:0,0,0,0 -characters/cho/clothes/accessory/suspenders/0.webp:478,562,175,324 -characters/cho/clothes/accessory/suspenders/1.webp:504,885,75,10 -characters/cho/clothes/accessory/suspenders/outline.webp:473,557,182,342 -characters/cho/clothes/accessory/suspenders/suspenders_1.webp:473,557,182,342 -characters/cho/clothes/bottom/j_school_skirt_1/0.webp:415,782,351,356 -characters/cho/clothes/bottom/j_school_skirt_1/outline.webp:414,778,354,353 -characters/cho/clothes/bottom/j_school_skirt_1/skin.webp:504,790,159,354 -characters/cho/clothes/bottom/pants_long_1/0.webp:457,871,243,329 -characters/cho/clothes/bottom/pants_long_1/outline.webp:454,870,247,330 -characters/cho/clothes/bottom/pants_long_2/0.webp:458,847,235,353 -characters/cho/clothes/bottom/pants_long_2/1.webp:542,878,10,12 -characters/cho/clothes/bottom/pants_long_2/outline.webp:456,845,239,355 -characters/cho/clothes/bottom/pants_short_1/0.webp:457,871,242,124 -characters/cho/clothes/bottom/pants_short_1/outline.webp:454,870,247,128 -characters/cho/clothes/bottom/pants_short_2/0.webp:457,866,234,103 -characters/cho/clothes/bottom/pants_short_2/1.webp:538,904,9,9 -characters/cho/clothes/bottom/pants_short_2/extra.webp:464,874,194,88 -characters/cho/clothes/bottom/pants_short_2/outline.webp:451,858,245,118 -characters/cho/clothes/bottom/pants_short_2/skin.webp:461,888,218,90 -characters/cho/clothes/bottom/pants_short_3/0.webp:457,856,235,106 -characters/cho/clothes/bottom/pants_short_3/1.webp:454,939,241,36 -characters/cho/clothes/bottom/pants_short_3/2.webp:532,893,13,12 -characters/cho/clothes/bottom/pants_short_3/outline.webp:453,855,242,122 -characters/cho/clothes/bottom/pants_short_4/0.webp:458,847,235,154 -characters/cho/clothes/bottom/pants_short_4/1.webp:542,878,10,12 -characters/cho/clothes/bottom/pants_short_4/outline.webp:456,845,239,157 -characters/cho/clothes/bottom/police_skirt/0.webp:456,832,245,176 -characters/cho/clothes/bottom/police_skirt/1.webp:645,856,31,101 -characters/cho/clothes/bottom/police_skirt/2.webp:477,827,180,41 -characters/cho/clothes/bottom/police_skirt/3.webp:526,845,49,24 -characters/cho/clothes/bottom/police_skirt/outline.webp:454,824,248,184 -characters/cho/clothes/bottom/police_skirt/skin.webp:464,831,223,179 -characters/cho/clothes/bottom/quid_skirt_1/0.webp:441,848,271,193 -characters/cho/clothes/bottom/quid_skirt_1/1.webp:441,844,271,197 -characters/cho/clothes/bottom/quid_skirt_1/extra.webp:442,845,270,190 -characters/cho/clothes/bottom/quid_skirt_1/outline.webp:416,836,306,220 -characters/cho/clothes/bottom/quid_skirt_1/skin.webp:469,844,213,205 -characters/cho/clothes/bottom/school_skirt_1/0.webp:449,779,262,393 -characters/cho/clothes/bottom/school_skirt_1/1.webp:584,809,12,25 -characters/cho/clothes/bottom/school_skirt_1/outline.webp:448,778,264,398 -characters/cho/clothes/bottom/school_skirt_2/0.webp:444,779,264,262 -characters/cho/clothes/bottom/school_skirt_2/1.webp:584,809,12,25 -characters/cho/clothes/bottom/school_skirt_2/outline.webp:442,778,268,264 -characters/cho/clothes/bottom/school_skirt_3/0.webp:449,779,251,199 -characters/cho/clothes/bottom/school_skirt_3/1.webp:584,809,12,25 -characters/cho/clothes/bottom/school_skirt_3/outline.webp:447,778,255,190 -characters/cho/clothes/bottom/school_skirt_4/0.webp:452,779,240,199 -characters/cho/clothes/bottom/school_skirt_4/1.webp:584,809,12,25 -characters/cho/clothes/bottom/school_skirt_4/outline.webp:453,778,240,160 -characters/cho/clothes/bottom/skirt_short_1/0.webp:443,894,276,117 -characters/cho/clothes/bottom/skirt_short_1/outline.webp:441,891,280,122 -characters/cho/clothes/bottom/skirt_short_2/0.webp:454,874,240,104 -characters/cho/clothes/bottom/skirt_short_2/outline.webp:452,872,245,111 -characters/cho/clothes/bottom/skirt_short_2/skin.webp:461,879,217,108 -characters/cho/clothes/bottom/toon_shorts/0.webp:455,829,240,174 -characters/cho/clothes/bottom/toon_shorts/1.webp:459,862,235,140 -characters/cho/clothes/bottom/toon_shorts/outline.webp:454,827,243,178 -characters/cho/clothes/bottom/toon_shorts/skin.webp:462,826,225,184 -characters/cho/clothes/bra/basic_bra_1/0.webp:467,561,189,176 -characters/cho/clothes/bra/basic_bra_1/1.webp:509,581,132,115 -characters/cho/clothes/bra/basic_bra_1/extra.webp:512,581,126,110 -characters/cho/clothes/bra/basic_bra_1/outline.webp:466,561,192,177 -characters/cho/clothes/bra/basic_bra_1/skin.webp:500,567,153,169 -characters/cho/clothes/bra/basic_bra_2/0.webp:475,616,179,75 -characters/cho/clothes/bra/basic_bra_2/1.webp:465,561,194,168 -characters/cho/clothes/bra/basic_bra_2/2.webp:510,582,139,16 -characters/cho/clothes/bra/basic_bra_2/outline.webp:463,561,199,170 -characters/cho/clothes/bra/basic_bra_2/skin.webp:476,568,186,166 -characters/cho/clothes/bra/bikini_top_1/0.webp:467,533,188,185 -characters/cho/clothes/bra/bikini_top_1/extra.webp:466,573,174,115 -characters/cho/clothes/bra/bikini_top_1/outline.webp:466,529,189,191 -characters/cho/clothes/bra/bikini_top_1/skin.webp:473,551,179,156 -characters/cho/clothes/bra/bikini_top_2/0.webp:468,553,166,121 -characters/cho/clothes/bra/bikini_top_2/outline.webp:467,551,186,134 -characters/cho/clothes/bra/lace_bra_1/0.webp:498,690,157,61 -characters/cho/clothes/bra/lace_bra_1/1.webp:465,562,191,191 -characters/cho/clothes/bra/lace_bra_1/2.webp:533,677,27,27 -characters/cho/clothes/bra/lace_bra_1/outline.webp:464,561,193,193 -characters/cho/clothes/bra/lace_bra_1/skin.webp:472,567,183,182 -characters/cho/clothes/bra/lace_bra_2/0.webp:465,562,190,181 -characters/cho/clothes/bra/lace_bra_2/1.webp:498,687,157,62 -characters/cho/clothes/bra/lace_bra_2/2.webp:499,692,155,58 -characters/cho/clothes/bra/lace_bra_2/3.webp:535,677,29,28 -characters/cho/clothes/bra/lace_bra_2/outline.webp:463,561,193,191 -characters/cho/clothes/bra/sport_bra_1/0.webp:467,556,189,198 -characters/cho/clothes/bra/sport_bra_1/extra.webp:469,573,166,124 -characters/cho/clothes/bra/sport_bra_1/outline.webp:466,555,192,200 -characters/cho/clothes/bra/sport_bra_1/skin.webp:504,567,149,187 -characters/cho/clothes/earrings/basic/0.webp:613,472,11,12 -characters/cho/clothes/earrings/basic/outline.webp:563,441,106,91 -characters/cho/clothes/earrings/feather/0.webp:616,481,15,61 -characters/cho/clothes/earrings/feather/1.webp:621,515,10,28 -characters/cho/clothes/earrings/feather/2.webp:614,463,11,20 -characters/cho/clothes/earrings/feather/outline.webp:613,462,19,83 -characters/cho/clothes/earrings/snitch/0.webp:600,472,53,24 -characters/cho/clothes/earrings/snitch/1.webp:612,477,13,13 -characters/cho/clothes/earrings/snitch/extra.webp:617,466,4,15 -characters/cho/clothes/earrings/snitch/outline.webp:580,450,85,65 -characters/cho/clothes/garterbelt/lace_garter_1/0.webp:480,799,157,206 -characters/cho/clothes/garterbelt/lace_garter_1/1.webp:480,805,172,65 -characters/cho/clothes/garterbelt/lace_garter_1/2.webp:480,809,172,62 -characters/cho/clothes/garterbelt/lace_garter_1/3.webp:484,815,121,185 -characters/cho/clothes/garterbelt/lace_garter_1/outline.webp:478,797,175,210 -characters/cho/clothes/garterbelt/lace_garter_1/skin.webp:486,801,152,192 -characters/cho/clothes/glasses/aviators/0.webp:487,417,138,44 -characters/cho/clothes/glasses/aviators/1.webp:484,417,141,45 -characters/cho/clothes/glasses/aviators/outline.webp:484,417,142,46 -characters/cho/clothes/glasses/glasses1/0.webp:490,431,100,18 -characters/cho/clothes/glasses/glasses1/extra.webp:497,427,101,30 -characters/cho/clothes/glasses/glasses1/outline.webp:484,424,129,31 -characters/cho/clothes/glasses/goggles/0.webp:481,351,124,38 -characters/cho/clothes/glasses/goggles/1.webp:481,340,134,59 -characters/cho/clothes/glasses/goggles/extra.webp:483,332,181,109 -characters/cho/clothes/glasses/goggles/outline.webp:479,331,186,116 -characters/cho/clothes/glasses/goggles/skin.webp:494,364,142,55 -characters/cho/clothes/glasses/goggles_face/0.webp:719,339,108,36 -characters/cho/clothes/glasses/goggles_face/1.webp:720,331,115,53 -characters/cho/clothes/glasses/goggles_face/extra.webp:720,324,145,68 -characters/cho/clothes/glasses/goggles_face/outline.webp:718,322,145,71 -characters/cho/clothes/glasses/goggles_face/skin.webp:494,364,142,55 -characters/cho/clothes/gloves/quidditch/0.webp:693,907,7,42 -characters/cho/clothes/gloves/quidditch/0_front.webp:693,907,7,42 -characters/cho/clothes/gloves/quidditch/extra.webp:465,793,265,231 -characters/cho/clothes/gloves/quidditch/outline.webp:465,792,265,232 -characters/cho/clothes/gloves/quidditch/outline_front.webp:658,797,72,227 -characters/cho/clothes/hair/pigtails/0.webp:436,310,280,198 -characters/cho/clothes/hair/pigtails/1.webp:436,310,280,245 -characters/cho/clothes/hair/pigtails/2.webp:472,364,210,42 -characters/cho/clothes/hair/pigtails/outline.webp:432,309,284,207 -characters/cho/clothes/hair/pigtails/skin.webp:492,369,92,53 -characters/cho/clothes/hair/ponytail/0.webp:459,321,253,256 -characters/cho/clothes/hair/ponytail/1.webp:489,347,217,228 -characters/cho/clothes/hair/ponytail/outline.webp:458,321,255,256 -characters/cho/clothes/hair/ponytail/skin.webp:494,389,137,55 -characters/cho/clothes/hair/smurfette/0.webp:447,314,317,229 -characters/cho/clothes/hair/smurfette/0_back.webp:428,414,336,252 -characters/cho/clothes/hair/smurfette/1.webp:442,325,315,218 -characters/cho/clothes/hair/smurfette/1_back.webp:430,337,327,280 -characters/cho/clothes/hair/smurfette/outline.webp:425,313,340,355 -characters/cho/clothes/hair/smurfette/outline_back.webp:425,345,339,322 -characters/cho/clothes/hair/smurfette/skin.webp:496,406,116,21 -characters/cho/clothes/headgear/catears/0.webp:499,297,130,74 -characters/cho/clothes/headgear/catears/extra.webp:505,320,109,32 -characters/cho/clothes/headgear/catears/outline.webp:496,293,136,79 -characters/cho/clothes/headgear/chun_li_puffies/0.webp:502,306,187,253 -characters/cho/clothes/headgear/chun_li_puffies/outline.webp:499,303,191,258 -characters/cho/clothes/headgear/goggles/0.webp:476,350,122,37 -characters/cho/clothes/headgear/goggles/1.webp:476,340,133,57 -characters/cho/clothes/headgear/goggles/extra.webp:477,331,179,106 -characters/cho/clothes/headgear/goggles/outline.webp:473,330,184,112 -characters/cho/clothes/headgear/goggles/skin.webp:494,364,142,55 -characters/cho/clothes/headgear/police_cap/0.webp:483,280,176,77 -characters/cho/clothes/headgear/police_cap/1.webp:615,362,12,13 -characters/cho/clothes/headgear/police_cap/2.webp:472,348,184,63 -characters/cho/clothes/headgear/police_cap/3.webp:507,303,32,43 -characters/cho/clothes/headgear/police_cap/outline.webp:471,278,188,131 -characters/cho/clothes/headgear/smurfette/0.webp:520,237,169,168 -characters/cho/clothes/headgear/smurfette/outline.webp:518,236,173,172 -characters/cho/clothes/headgear/toon_band/0.webp:633,339,34,45 -characters/cho/clothes/headgear/toon_band/outline.webp:630,337,39,49 -characters/cho/clothes/headgear/witch/0.webp:438,177,257,231 -characters/cho/clothes/headgear/witch/1.webp:483,311,150,69 -characters/cho/clothes/headgear/witch/outline.webp:433,172,270,241 -characters/cho/clothes/headgear/witch/skin.webp:493,389,130,29 -characters/cho/clothes/makeup/blush/0.webp:495,430,127,71 -characters/cho/clothes/makeup/blush/outline.webp:499,441,111,49 -characters/cho/clothes/makeup/lipstick/angry.webp:527,482,48,25 -characters/cho/clothes/makeup/lipstick/annoyed.webp:523,484,30,21 -characters/cho/clothes/makeup/lipstick/base.webp:526,487,41,15 -characters/cho/clothes/makeup/lipstick/clench.webp:526,479,51,28 -characters/cho/clothes/makeup/lipstick/crooked_smile.webp:524,481,50,30 -characters/cho/clothes/makeup/lipstick/disgust.webp:525,489,48,21 -characters/cho/clothes/makeup/lipstick/grin.webp:522,481,52,32 -characters/cho/clothes/makeup/lipstick/horny.webp:527,487,43,15 -characters/cho/clothes/makeup/lipstick/mad.webp:528,487,43,23 -characters/cho/clothes/makeup/lipstick/normal.webp:526,487,35,15 -characters/cho/clothes/makeup/lipstick/open.webp:531,485,30,29 -characters/cho/clothes/makeup/lipstick/open_tongue.webp:531,485,30,29 -characters/cho/clothes/makeup/lipstick/open_wide_tongue.webp:526,482,38,42 -characters/cho/clothes/makeup/lipstick/quiver.webp:525,487,41,17 -characters/cho/clothes/makeup/lipstick/scream.webp:526,482,38,44 -characters/cho/clothes/makeup/lipstick/silly.webp:525,485,41,28 -characters/cho/clothes/makeup/lipstick/smile.webp:526,486,42,20 -characters/cho/clothes/makeup/lipstick/soft.webp:529,486,31,22 -characters/cho/clothes/makeup/lipstick/upset.webp:528,489,31,17 -characters/cho/clothes/neckwear/choker_lace_1/0.webp:554,523,68,35 -characters/cho/clothes/neckwear/choker_lace_1/1.webp:552,521,70,42 -characters/cho/clothes/neckwear/choker_lace_1/outline.webp:550,520,74,45 -characters/cho/clothes/neckwear/choker_medallion/0.webp:559,534,60,21 -characters/cho/clothes/neckwear/choker_medallion/extra.webp:561,557,22,21 -characters/cho/clothes/neckwear/choker_medallion/outline.webp:557,531,63,26 -characters/cho/clothes/neckwear/collar_leather_1/0.webp:542,528,94,64 -characters/cho/clothes/neckwear/collar_leather_1/extra.webp:554,586,19,17 -characters/cho/clothes/neckwear/collar_leather_1/outline.webp:544,531,90,75 -characters/cho/clothes/neckwear/tie_1/0.webp:521,544,106,220 -characters/cho/clothes/neckwear/tie_1/1.webp:521,536,111,240 -characters/cho/clothes/neckwear/tie_1/outline.webp:519,535,113,242 -characters/cho/clothes/neckwear/tie_1/skin.webp:543,576,76,202 -characters/cho/clothes/panties/basic_panties_1/0.webp:468,845,210,114 -characters/cho/clothes/panties/basic_panties_1/1.webp:517,870,46,25 -characters/cho/clothes/panties/basic_panties_1/outline.webp:467,844,214,115 -characters/cho/clothes/panties/basic_panties_1/skin.webp:468,850,197,79 -characters/cho/clothes/panties/bikini_bottom_1/0.webp:480,826,169,133 -characters/cho/clothes/panties/bikini_bottom_1/outline.webp:479,824,171,135 -characters/cho/clothes/panties/bikini_bottom_2/0.webp:480,826,169,132 -characters/cho/clothes/panties/bikini_bottom_2/outline.webp:479,824,171,134 -characters/cho/clothes/panties/lace_panties_1/0.webp:465,848,204,110 -characters/cho/clothes/panties/lace_panties_1/1.webp:465,848,205,111 -characters/cho/clothes/panties/lace_panties_1/2.webp:535,889,13,11 -characters/cho/clothes/panties/lace_panties_1/outline.webp:463,847,208,112 -characters/cho/clothes/panties/lace_panties_1/skin.webp:468,856,183,89 -characters/cho/clothes/panties/sport_panties_1/0.webp:457,825,237,166 -characters/cho/clothes/panties/sport_panties_1/extra.webp:458,850,180,135 -characters/cho/clothes/panties/sport_panties_1/outline.webp:456,823,239,172 -characters/cho/clothes/panties/sport_panties_1/skin.webp:486,840,196,154 -characters/cho/clothes/panties/sport_panties_2/0.webp:458,864,231,94 -characters/cho/clothes/panties/sport_panties_2/extra.webp:459,872,267,260 -characters/cho/clothes/panties/sport_panties_2/outline.webp:458,860,232,99 -characters/cho/clothes/panties/sport_panties_2/skin.webp:473,868,207,87 -characters/cho/clothes/piercing/breast_barbell/0.webp:474,656,137,6 -characters/cho/clothes/piercing/breast_barbell/outline.webp:472,655,141,9 -characters/cho/clothes/piercing/stud/0.webp:546,938,6,6 -characters/cho/clothes/piercing/stud/outline.webp:544,937,9,9 -characters/cho/clothes/pubes/arrow/0.webp:529,893,30,41 -characters/cho/clothes/pubes/arrow/outline.webp:529,895,30,37 -characters/cho/clothes/pubes/beaver/0.webp:524,887,48,71 -characters/cho/clothes/pubes/beaver/outline.webp:526,891,45,75 -characters/cho/clothes/pubes/heart/0.webp:537,906,17,18 -characters/cho/clothes/pubes/heart/1.webp:537,906,17,17 -characters/cho/clothes/pubes/heart/extra.webp:538,907,14,15 -characters/cho/clothes/pubes/heart/outline.webp:535,902,21,25 -characters/cho/clothes/pubes/stuble/0.webp:524,909,49,32 -characters/cho/clothes/pubes/thick/0.webp:518,907,59,49 -characters/cho/clothes/pubes/thick/1.webp:518,907,59,48 -characters/cho/clothes/pubes/thick/extra.webp:520,908,55,48 -characters/cho/clothes/pubes/thick/outline.webp:516,905,65,54 -characters/cho/clothes/pubes/unshaved/0.webp:526,909,42,47 -characters/cho/clothes/robe/robe_quidditch_1/0.webp:443,566,312,634 -characters/cho/clothes/robe/robe_quidditch_1/1.webp:468,535,199,665 -characters/cho/clothes/robe/robe_quidditch_1/mask.webp:0,0,1010,1200 -characters/cho/clothes/robe/robe_quidditch_1/outline.webp:447,534,310,666 -characters/cho/clothes/robe/robe_quidditch_1/overlay.webp:521,682,31,229 -characters/cho/clothes/robe/robe_quidditch_2/0.webp:407,561,396,639 -characters/cho/clothes/robe/robe_quidditch_2/outline.webp:408,560,397,640 -characters/cho/clothes/robe/robe_school_1/0.webp:439,577,333,623 -characters/cho/clothes/robe/robe_school_1/0_front.webp:645,732,127,251 -characters/cho/clothes/robe/robe_school_1/1.webp:515,653,51,16 -characters/cho/clothes/robe/robe_school_1/1_front.webp:0,0,0,0 -characters/cho/clothes/robe/robe_school_1/2.webp:479,539,299,479 -characters/cho/clothes/robe/robe_school_1/2_front.webp:665,923,113,95 -characters/cho/clothes/robe/robe_school_1/mask.webp:0,0,1010,1200 -characters/cho/clothes/robe/robe_school_1/outline.webp:438,536,341,664 -characters/cho/clothes/robe/robe_school_1/outline_front.webp:628,727,151,294 -characters/cho/clothes/robe/robe_school_1/skin.webp:525,570,188,400 -characters/cho/clothes/robe/robe_school_2/0.webp:439,577,333,623 -characters/cho/clothes/robe/robe_school_2/0_back.webp:0,0,0,0 -characters/cho/clothes/robe/robe_school_2/0_front.webp:645,732,127,251 -characters/cho/clothes/robe/robe_school_2/1.webp:515,653,51,16 -characters/cho/clothes/robe/robe_school_2/1_back.webp:0,0,0,0 -characters/cho/clothes/robe/robe_school_2/1_front.webp:0,0,0,0 -characters/cho/clothes/robe/robe_school_2/2.webp:479,539,298,479 -characters/cho/clothes/robe/robe_school_2/2_back.webp:533,1190,7,10 -characters/cho/clothes/robe/robe_school_2/2_front.webp:665,923,113,95 -characters/cho/clothes/robe/robe_school_2/extra.webp:411,689,284,511 -characters/cho/clothes/robe/robe_school_2/mask.webp:0,0,1010,1200 -characters/cho/clothes/robe/robe_school_2/outline.webp:438,536,341,664 -characters/cho/clothes/robe/robe_school_2/outline_back.webp:532,1179,13,21 -characters/cho/clothes/robe/robe_school_2/outline_front.webp:628,727,151,294 -characters/cho/clothes/robe/robe_school_2/skin.webp:525,570,188,400 -characters/cho/clothes/robe/robe_school_3/0.webp:439,554,333,646 -characters/cho/clothes/robe/robe_school_3/0_back.webp:0,0,0,0 -characters/cho/clothes/robe/robe_school_3/0_front.webp:645,732,127,251 -characters/cho/clothes/robe/robe_school_3/1.webp:515,653,51,16 -characters/cho/clothes/robe/robe_school_3/1_back.webp:0,0,0,0 -characters/cho/clothes/robe/robe_school_3/1_front.webp:0,0,0,0 -characters/cho/clothes/robe/robe_school_3/2.webp:479,539,297,479 -characters/cho/clothes/robe/robe_school_3/2_back.webp:497,1139,43,61 -characters/cho/clothes/robe/robe_school_3/2_front.webp:665,923,113,95 -characters/cho/clothes/robe/robe_school_3/extra.webp:331,647,452,553 -characters/cho/clothes/robe/robe_school_3/mask.webp:0,0,1010,1200 -characters/cho/clothes/robe/robe_school_3/outline.webp:438,536,341,664 -characters/cho/clothes/robe/robe_school_3/outline_back.webp:461,1095,82,105 -characters/cho/clothes/robe/robe_school_3/outline_front.webp:628,727,151,294 -characters/cho/clothes/robe/robe_school_3/skin.webp:525,570,188,400 -characters/cho/clothes/stockings/fishnet/0.webp:463,1030,241,170 -characters/cho/clothes/stockings/fishnet/1.webp:470,1037,219,55 -characters/cho/clothes/stockings/fishnet/outline.webp:467,1032,224,168 -characters/cho/clothes/stockings/house/0.webp:477,1063,209,122 -characters/cho/clothes/stockings/house/1.webp:493,1100,187,100 -characters/cho/clothes/stockings/house/outline.webp:475,1051,213,149 -characters/cho/clothes/stockings/kneehigh/0.webp:516,1146,156,54 -characters/cho/clothes/stockings/kneehigh/outline.webp:513,1144,161,56 -characters/cho/clothes/stockings/kneehigh/skin.webp:515,1141,158,20 -characters/cho/clothes/stockings/lace_stockings_1/0.webp:459,971,234,91 -characters/cho/clothes/stockings/lace_stockings_1/1.webp:459,970,233,230 -characters/cho/clothes/stockings/lace_stockings_1/outline.webp:458,969,236,231 -characters/cho/clothes/stockings/lace_stockings_1/skin.webp:462,978,211,22 -characters/cho/clothes/stockings/pantyhose/0.webp:458,838,234,362 -characters/cho/clothes/stockings/pantyhose/outline.webp:456,837,238,363 -characters/cho/clothes/stockings/quid1/0.webp:485,1079,199,121 -characters/cho/clothes/stockings/quid1/1.webp:486,1079,197,27 -characters/cho/clothes/stockings/quid1/extra.webp:485,1080,199,120 -characters/cho/clothes/stockings/quid1/outline.webp:468,1071,237,129 -characters/cho/clothes/stockings/quid1/skin.webp:488,1079,183,17 -characters/cho/clothes/stockings/sailor/0.webp:478,1049,207,151 -characters/cho/clothes/stockings/sailor/outline.webp:471,1041,218,159 -characters/cho/clothes/stockings/sailor/skin.webp:474,1038,202,19 -characters/cho/clothes/stockings/toon_socks/0.webp:516,1136,159,57 -characters/cho/clothes/stockings/toon_socks/1.webp:509,1121,168,79 -characters/cho/clothes/stockings/toon_socks/outline.webp:504,1119,176,81 -characters/cho/clothes/stockings/toon_socks/skin.webp:505,1120,165,17 -characters/cho/clothes/tattoo/breasts_slut/0.webp:570,668,62,28 -characters/cho/clothes/tattoo/chun_li_dragon/0.webp:656,571,65,459 -characters/cho/clothes/tattoo/chun_li_dragon/0_front.webp:667,830,54,200 -characters/cho/clothes/tattoo/chun_li_dragon/1.webp:657,571,64,419 -characters/cho/clothes/tattoo/chun_li_dragon/1_front.webp:669,830,52,160 -characters/cho/clothes/tattoo/chun_li_dragon/outline.webp:655,570,67,462 -characters/cho/clothes/tattoo/chun_li_dragon/outline_front.webp:666,830,56,202 -characters/cho/clothes/tattoo/chun_li_mule/0.webp:565,601,89,39 -characters/cho/clothes/tattoo/pelv_free/0.webp:512,868,41,35 -characters/cho/clothes/top/chun_li_dress/0.webp:465,534,247,590 -characters/cho/clothes/top/chun_li_dress/1.webp:461,530,253,597 -characters/cho/clothes/top/chun_li_dress/extra.webp:492,572,172,512 -characters/cho/clothes/top/chun_li_dress/outline.webp:458,527,261,602 -characters/cho/clothes/top/dress_1/0.webp:445,529,270,671 -characters/cho/clothes/top/dress_1/1.webp:461,531,250,186 -characters/cho/clothes/top/dress_1/extra.webp:471,545,228,146 -characters/cho/clothes/top/dress_1/outline.webp:453,527,265,673 -characters/cho/clothes/top/dress_1/skin.webp:427,557,282,238 -characters/cho/clothes/top/dress_2/0.webp:457,525,244,466 -characters/cho/clothes/top/dress_2/1.webp:527,595,60,52 -characters/cho/clothes/top/dress_2/extra.webp:469,543,210,438 -characters/cho/clothes/top/dress_2/outline.webp:455,521,250,471 -characters/cho/clothes/top/police/0.webp:468,539,265,226 -characters/cho/clothes/top/police/1.webp:546,639,18,117 -characters/cho/clothes/top/police/extra.webp:635,611,8,23 -characters/cho/clothes/top/police/outline.webp:467,538,267,228 -characters/cho/clothes/top/smurfette/0.webp:419,559,316,519 -characters/cho/clothes/top/smurfette/1.webp:442,899,267,106 -characters/cho/clothes/top/smurfette/outline.webp:419,557,319,521 -characters/cho/clothes/top/smurfette/skin.webp:481,564,187,518 -characters/cho/clothes/top/toon_shirt/0.webp:467,563,190,213 -characters/cho/clothes/top/toon_shirt/extra.webp:510,637,68,63 -characters/cho/clothes/top/toon_shirt/outline.webp:466,560,194,219 -characters/cho/clothes/top/toon_shirt/skin.webp:504,563,159,218 -characters/cho/clothes/top/top_j_school_1/0.webp:436,576,286,361 -characters/cho/clothes/top/top_j_school_1/0_back.webp:650,866,39,41 -characters/cho/clothes/top/top_j_school_1/1.webp:519,637,60,78 -characters/cho/clothes/top/top_j_school_1/2.webp:477,548,250,220 -characters/cho/clothes/top/top_j_school_1/3.webp:477,570,248,300 -characters/cho/clothes/top/top_j_school_1/outline.webp:456,547,272,391 -characters/cho/clothes/top/top_j_school_1/outline_back.webp:649,863,42,45 -characters/cho/clothes/top/top_j_school_1/skin.webp:466,576,243,351 -characters/cho/clothes/top/top_quid_1/0.webp:467,556,189,220 -characters/cho/clothes/top/top_quid_1/1.webp:500,632,128,154 -characters/cho/clothes/top/top_quid_1/extra.webp:467,557,189,229 -characters/cho/clothes/top/top_quid_1/outline.webp:459,556,198,238 -characters/cho/clothes/top/top_quid_1/skin.webp:490,571,179,221 -characters/cho/clothes/top/top_sailor_1/0.webp:460,548,262,158 -characters/cho/clothes/top/top_sailor_1/1.webp:473,560,246,161 -characters/cho/clothes/top/top_sailor_1/outline.webp:457,545,267,179 -characters/cho/clothes/top/top_school_1/0.webp:479,519,250,184 -characters/cho/clothes/top/top_school_1/0_front.webp:503,519,132,167 -characters/cho/clothes/top/top_school_1/1.webp:464,560,200,303 -characters/cho/clothes/top/top_school_1/2.webp:472,561,253,317 -characters/cho/clothes/top/top_school_1/3.webp:476,553,248,326 -characters/cho/clothes/top/top_school_1/outline.webp:464,519,267,362 -characters/cho/clothes/top/top_school_1/outline_front.webp:501,519,138,111 -characters/cho/clothes/top/top_school_1/skin.webp:480,561,230,322 -characters/cho/clothes/top/top_school_2/0.webp:479,519,250,185 -characters/cho/clothes/top/top_school_2/0_front.webp:503,519,132,87 -characters/cho/clothes/top/top_school_2/1.webp:464,560,200,303 -characters/cho/clothes/top/top_school_2/2.webp:472,549,253,329 -characters/cho/clothes/top/top_school_2/3.webp:476,553,248,326 -characters/cho/clothes/top/top_school_2/extra.webp:548,617,10,10 -characters/cho/clothes/top/top_school_2/outline.webp:464,519,267,362 -characters/cho/clothes/top/top_school_2/outline_front.webp:513,519,124,90 -characters/cho/clothes/top/top_school_2/skin.webp:529,561,181,146 -characters/cho/clothes/top/top_school_3/0.webp:466,519,263,288 -characters/cho/clothes/top/top_school_3/0_front.webp:512,519,124,86 -characters/cho/clothes/top/top_school_3/1.webp:512,579,214,170 -characters/cho/clothes/top/top_school_3/2.webp:512,574,212,189 -characters/cho/clothes/top/top_school_3/extra.webp:537,786,8,12 -characters/cho/clothes/top/top_school_3/outline.webp:465,519,266,289 -characters/cho/clothes/top/top_school_3/outline_front.webp:513,519,124,86 -characters/cho/clothes/top/top_school_3/skin.webp:552,561,158,146 -characters/cho/clothes/top/top_school_4/0.webp:466,520,263,287 -characters/cho/clothes/top/top_school_4/0_front.webp:512,520,125,84 -characters/cho/clothes/top/top_school_4/1.webp:648,655,78,37 -characters/cho/clothes/top/top_school_4/2.webp:650,663,74,21 -characters/cho/clothes/top/top_school_4/extra.webp:529,617,29,181 -characters/cho/clothes/top/top_school_4/outline.webp:465,519,266,289 -characters/cho/clothes/top/top_school_4/outline_front.webp:513,519,124,86 -characters/cho/clothes/top/top_school_4/skin.webp:552,561,158,146 -characters/cho/clothes/top/top_school_5/0.webp:466,520,263,287 -characters/cho/clothes/top/top_school_5/0_front.webp:508,520,130,128 -characters/cho/clothes/top/top_school_5/1.webp:648,655,78,37 -characters/cho/clothes/top/top_school_5/2.webp:650,663,74,21 -characters/cho/clothes/top/top_school_5/extra.webp:529,654,16,144 -characters/cho/clothes/top/top_school_5/outline.webp:465,519,266,289 -characters/cho/clothes/top/top_school_5/outline_front.webp:504,519,134,131 -characters/cho/clothes/top/top_school_5/skin.webp:533,552,177,155 -characters/cho/clothes/top/top_school_6/0.webp:463,560,201,303 -characters/cho/clothes/top/top_school_6/1.webp:472,548,207,330 -characters/cho/clothes/top/top_school_6/2.webp:476,554,198,325 -characters/cho/clothes/top/top_school_6/outline.webp:464,547,217,334 -characters/cho/clothes/top/top_school_6/skin.webp:480,571,196,312 -characters/cho/clothes/top/top_shirt_1/0.webp:467,564,187,144 -characters/cho/clothes/top/top_shirt_1/outline.webp:466,561,190,150 -characters/cho/clothes/top/top_sweater_1/0.webp:460,553,505,398 -characters/cho/clothes/top/top_sweater_1/0_front.webp:658,824,307,127 -characters/cho/clothes/top/top_sweater_1/1.webp:464,556,258,382 -characters/cho/clothes/top/top_sweater_1/1_front.webp:672,877,50,61 -characters/cho/clothes/top/top_sweater_1/mask.webp:0,0,1010,1200 -characters/cho/clothes/top/top_sweater_1/outline.webp:458,550,270,403 -characters/cho/clothes/top/top_sweater_1/outline_front.webp:660,824,68,128 -characters/cho/clothes/top/top_sweater_2/0.webp:455,557,235,376 -characters/cho/clothes/top/top_sweater_2/1.webp:460,560,221,355 -characters/cho/clothes/top/top_sweater_2/outline.webp:453,556,238,378 -characters/cho/clothes/top/top_tanktop_1/0.webp:447,513,240,429 -characters/cho/clothes/top/top_tanktop_1/outline.webp:461,557,236,390 -characters/cho/clothes/top/top_tanktop_2/0.webp:463,561,203,312 -characters/cho/clothes/top/top_tanktop_2/1.webp:467,641,177,232 -characters/cho/clothes/top/top_tanktop_2/outline.webp:459,557,211,322 -characters/cho/cum/body/heavy.webp:509,438,134,417 -characters/cho/cum/body/heavy_skin.webp:514,472,114,384 -characters/cho/cum/body/light.webp:509,552,119,271 -characters/cho/cum/body/light_skin.webp:522,553,106,230 -characters/cho/cum/breasts/heavy.webp:467,611,178,141 -characters/cho/cum/breasts/heavy_skin.webp:489,611,157,143 -characters/cho/cum/breasts/light.webp:475,593,182,136 -characters/cho/cum/breasts/light_skin.webp:476,593,181,136 -characters/cho/cum/crotch/heavy.webp:440,778,215,321 -characters/cho/cum/crotch/heavy_skin.webp:442,779,214,316 -characters/cho/cum/crotch/light.webp:440,780,191,314 -characters/cho/cum/crotch/light_skin.webp:442,780,190,315 -characters/cho/cum/face/heavy.webp:497,388,100,134 -characters/cho/cum/face/heavy_skin.webp:498,390,83,126 -characters/cho/cum/face/light.webp:500,403,102,122 -characters/cho/cum/face/light_skin.webp:502,403,84,119 -characters/cho/cum/hair/heavy.webp:489,265,211,169 -characters/cho/cum/hair/light.webp:488,356,123,72 -characters/cho/cum/legs/heavy.webp:632,1044,90,135 -characters/cho/cum/legs/heavy_skin.webp:634,1044,89,136 -characters/cho/cum/legs/light.webp:632,1044,22,102 -characters/cho/cum/legs/light_skin.webp:634,1044,22,103 -characters/cho/cum/pussy/heavy.webp:542,940,18,71 -characters/cho/cum/pussy/light.webp:545,940,16,42 -characters/cho/emote/angry.webp:576,379,45,43 -characters/cho/emote/confused.webp:419,248,129,101 -characters/cho/emote/happy.webp:420,229,123,146 -characters/cho/emote/hearts.webp:377,219,175,146 -characters/cho/emote/shocked.webp:407,222,136,128 -characters/cho/emote/sweat.webp:572,360,42,67 -characters/cho/face/cheeks/blush.webp:499,441,108,49 -characters/cho/face/cheeks/dummy.webp:0,0,1,1 -characters/cho/face/cheeks/heavy_blush.webp:499,441,108,49 -characters/cho/face/eyebrows/angry.webp:493,415,103,18 -characters/cho/face/eyebrows/angry_skin.webp:496,416,110,27 -characters/cho/face/eyebrows/base.webp:492,415,110,14 -characters/cho/face/eyebrows/base_skin.webp:496,418,102,25 -characters/cho/face/eyebrows/raised.webp:485,402,113,28 -characters/cho/face/eyebrows/raised_skin.webp:496,418,102,25 -characters/cho/face/eyebrows/worried.webp:492,414,109,17 -characters/cho/face/eyebrows/worried_skin.webp:496,416,101,27 -characters/cho/face/eyes/base.webp:498,424,99,25 -characters/cho/face/eyes/base_mask.webp:504,428,85,19 -characters/cho/face/eyes/base_skin.webp:498,436,99,14 -characters/cho/face/eyes/closed.webp:496,425,101,25 -characters/cho/face/eyes/closed_skin.webp:498,436,99,14 -characters/cho/face/eyes/happyCl.webp:497,426,102,20 -characters/cho/face/eyes/happyCl_skin.webp:498,436,99,11 -characters/cho/face/eyes/narrow.webp:498,424,99,25 -characters/cho/face/eyes/narrow_mask.webp:504,431,85,16 -characters/cho/face/eyes/narrow_skin.webp:498,436,99,14 -characters/cho/face/eyes/wide.webp:496,420,102,30 -characters/cho/face/eyes/wide_mask.webp:502,424,89,24 -characters/cho/face/eyes/wide_skin.webp:498,436,99,14 -characters/cho/face/eyes/wink.webp:497,424,100,25 -characters/cho/face/eyes/wink_mask.webp:558,428,31,18 -characters/cho/face/eyes/wink_skin.webp:498,436,99,14 -characters/cho/face/mouth/angry.webp:527,482,48,25 -characters/cho/face/mouth/annoyed.webp:523,484,30,21 -characters/cho/face/mouth/base.webp:526,487,41,15 -characters/cho/face/mouth/clench.webp:526,479,51,28 -characters/cho/face/mouth/crooked_smile.webp:524,481,50,30 -characters/cho/face/mouth/disgust.webp:525,489,48,21 -characters/cho/face/mouth/grin.webp:522,481,52,32 -characters/cho/face/mouth/horny.webp:527,487,43,15 -characters/cho/face/mouth/mad.webp:528,487,43,23 -characters/cho/face/mouth/normal.webp:526,487,34,15 -characters/cho/face/mouth/open.webp:531,485,30,29 -characters/cho/face/mouth/open_tongue.webp:531,485,30,29 -characters/cho/face/mouth/open_wide_tongue.webp:506,482,93,60 -characters/cho/face/mouth/quiver.webp:525,487,41,17 -characters/cho/face/mouth/scream.webp:506,482,93,53 -characters/cho/face/mouth/silly.webp:525,485,41,28 -characters/cho/face/mouth/smile.webp:526,486,42,20 -characters/cho/face/mouth/soft.webp:529,486,31,22 -characters/cho/face/mouth/upset.webp:528,489,31,17 -characters/cho/face/pupils/L.webp:505,428,71,18 -characters/cho/face/pupils/R.webp:515,428,73,18 -characters/cho/face/pupils/ahegao.webp:513,421,62,18 -characters/cho/face/pupils/down.webp:511,435,68,18 -characters/cho/face/pupils/downR.webp:513,433,74,18 -characters/cho/face/pupils/mid.webp:512,428,70,17 -characters/cho/face/pupils/stare.webp:506,426,75,21 -characters/cho/face/pupils/up.webp:509,424,70,17 -characters/cho/face/tears/tears_1.webp:524,374,94,26 -characters/cho/face/tears/tears_2.webp:514,374,122,54 -characters/cho/face/tears/tears_3.webp:524,376,116,112 -characters/cho/face/tears/tears_4.webp:524,380,110,94 -characters/cho/poses/broom/body/armleft/down.webp:0,0,1,1 -characters/cho/poses/broom/body/armleft/down_fix.webp:0,0,1,1 -characters/cho/poses/broom/body/armright/down.webp:0,0,1,1 -characters/cho/poses/broom/body/armright/down_fix.webp:0,0,1,1 -characters/cho/poses/broom/body/armright/snitch.webp:140,300,242,260 -characters/cho/poses/broom/body/armright/snitch_fix.webp:0,0,1,1 -characters/cho/poses/broom/body/armright/up.webp:0,0,1,1 -characters/cho/poses/broom/body/base/front.webp:19,283,974,895 -characters/cho/poses/broom/body/breasts/normal.webp:0,0,1,1 -characters/cho/poses/broom/clothes/accessory/goggles/0.webp:714,268,124,38 -characters/cho/poses/broom/clothes/accessory/goggles/1.webp:713,258,134,59 -characters/cho/poses/broom/clothes/accessory/goggles/extra.webp:715,250,181,109 -characters/cho/poses/broom/clothes/accessory/goggles/outline.webp:711,249,186,116 -characters/cho/poses/broom/clothes/accessory/goggles_face/0.webp:719,339,108,36 -characters/cho/poses/broom/clothes/accessory/goggles_face/1.webp:720,331,115,53 -characters/cho/poses/broom/clothes/accessory/goggles_face/extra.webp:720,324,145,68 -characters/cho/poses/broom/clothes/accessory/goggles_face/outline.webp:718,322,145,71 +characters/cho/poses/broom/bodyparts/frame/default/skin.webp:19,283,974,895 +characters/cho/poses/broom/clothes/accessory/goggles/0.webp:375,140,65,19 +characters/cho/poses/broom/clothes/accessory/goggles/1.webp:375,135,70,31 +characters/cho/poses/broom/clothes/accessory/goggles/extra.webp:376,131,95,57 +characters/cho/poses/broom/clothes/accessory/goggles/outline.webp:374,130,97,61 +characters/cho/poses/broom/clothes/accessory/goggles_face/0.webp:378,178,56,18 +characters/cho/poses/broom/clothes/accessory/goggles_face/1.webp:378,174,60,27 +characters/cho/poses/broom/clothes/accessory/goggles_face/extra.webp:378,170,76,35 +characters/cho/poses/broom/clothes/accessory/goggles_face/outline.webp:377,169,76,37 characters/cho/poses/broom/clothes/accessory/panties_in_hand/0.webp:39,508,116,197 characters/cho/poses/broom/clothes/accessory/panties_in_hand/outline.webp:37,506,122,203 -characters/cho/poses/broom/clothes/accessory/protectors1/0.webp:0,0,0,0 characters/cho/poses/broom/clothes/accessory/protectors1/extra.webp:80,459,644,728 -characters/cho/poses/broom/clothes/accessory/protectors2/0.webp:0,0,0,0 characters/cho/poses/broom/clothes/accessory/protectors2/extra.webp:80,459,644,728 +characters/cho/poses/broom/clothes/accessory/snitch_in_hand/extra.webp:140,300,242,260 characters/cho/poses/broom/clothes/bottom/pants_long_2/0.webp:300,670,367,395 -characters/cho/poses/broom/clothes/bottom/pants_long_2/1.webp:0,0,1,1 +characters/cho/poses/broom/clothes/bottom/pants_long_2/1.webp:0,0,1010,1010 characters/cho/poses/broom/clothes/bottom/pants_long_2/outline.webp:298,668,371,400 characters/cho/poses/broom/clothes/bottom/pants_short_4/0.webp:344,670,321,243 -characters/cho/poses/broom/clothes/bottom/pants_short_4/1.webp:0,0,1,1 +characters/cho/poses/broom/clothes/bottom/pants_short_4/1.webp:0,0,1010,1010 characters/cho/poses/broom/clothes/bottom/pants_short_4/outline.webp:295,667,374,310 characters/cho/poses/broom/clothes/bottom/school_skirt_1/0.webp:448,715,250,226 -characters/cho/poses/broom/clothes/bottom/school_skirt_1/1.webp:0,0,1,1 +characters/cho/poses/broom/clothes/bottom/school_skirt_1/1.webp:0,0,1010,1010 characters/cho/poses/broom/clothes/bottom/school_skirt_1/outline.webp:442,711,257,233 characters/cho/poses/broom/clothes/bottom/school_skirt_1/skin.webp:427,772,167,103 characters/cho/poses/broom/clothes/bottom/school_skirt_2/0.webp:449,676,229,156 @@ -842,19 +314,19 @@ characters/cho/poses/broom/clothes/bottom/school_skirt_3/1.webp:485,732,7,12 characters/cho/poses/broom/clothes/bottom/school_skirt_3/outline.webp:450,675,224,140 characters/cho/poses/broom/clothes/bottom/school_skirt_3/skin.webp:469,769,193,46 characters/cho/poses/broom/clothes/bottom/school_skirt_4/0.webp:474,692,182,74 -characters/cho/poses/broom/clothes/bottom/school_skirt_4/1.webp:0,0,1,1 +characters/cho/poses/broom/clothes/bottom/school_skirt_4/1.webp:0,0,1010,1010 characters/cho/poses/broom/clothes/bottom/school_skirt_4/outline.webp:466,691,191,77 characters/cho/poses/broom/clothes/bottom/school_skirt_4/skin.webp:455,721,190,57 characters/cho/poses/broom/clothes/bottom/skirt_short_1/0.webp:459,693,223,103 characters/cho/poses/broom/clothes/bottom/skirt_short_1/outline.webp:452,690,232,107 characters/cho/poses/broom/clothes/bottom/skirt_short_1/skin.webp:440,765,225,37 -characters/cho/poses/broom/clothes/bra/basic_bra_1/0.webp:0,0,1,1 -characters/cho/poses/broom/clothes/bra/basic_bra_1/1.webp:0,0,1,1 -characters/cho/poses/broom/clothes/bra/basic_bra_1/outline.webp:0,0,1,1 +characters/cho/poses/broom/clothes/bra/basic_bra_1/0.webp:0,0,1010,1010 +characters/cho/poses/broom/clothes/bra/basic_bra_1/1.webp:0,0,1010,1010 +characters/cho/poses/broom/clothes/bra/basic_bra_1/outline.webp:0,0,1010,1010 characters/cho/poses/broom/clothes/bra/sport_bra_1/0.webp:368,461,164,194 characters/cho/poses/broom/clothes/bra/sport_bra_1/outline.webp:367,460,168,198 -characters/cho/poses/broom/clothes/gloves/quidditch/0.webp:0,0,1,1 -characters/cho/poses/broom/clothes/gloves/quidditch/outline.webp:0,0,1,1 +characters/cho/poses/broom/clothes/gloves/quidditch/0.webp:0,0,1010,1010 +characters/cho/poses/broom/clothes/gloves/quidditch/outline.webp:0,0,1010,1010 characters/cho/poses/broom/clothes/hair/ponytail/0.webp:261,272,266,240 characters/cho/poses/broom/clothes/hair/ponytail/1.webp:289,287,232,220 characters/cho/poses/broom/clothes/hair/ponytail/outline.webp:261,272,266,241 @@ -867,11 +339,11 @@ characters/cho/poses/broom/clothes/headgear/goggles/1.webp:274,287,134,65 characters/cho/poses/broom/clothes/headgear/goggles/extra.webp:276,279,184,98 characters/cho/poses/broom/clothes/headgear/goggles/outline.webp:271,277,190,105 characters/cho/poses/broom/clothes/panties/basic_panties_1/0.webp:490,703,172,97 -characters/cho/poses/broom/clothes/panties/basic_panties_1/1.webp:0,0,1,1 +characters/cho/poses/broom/clothes/panties/basic_panties_1/1.webp:0,0,1010,1010 characters/cho/poses/broom/clothes/panties/basic_panties_1/outline.webp:487,698,188,112 characters/cho/poses/broom/clothes/panties/basic_panties_1/skin.webp:503,701,160,104 -characters/cho/poses/broom/clothes/panties/sport_panties_1/0.webp:488,701,179,133 -characters/cho/poses/broom/clothes/panties/sport_panties_1/outline.webp:485,698,184,142 +characters/cho/poses/broom/clothes/panties/sport_panties_2/0.webp:488,701,179,133 +characters/cho/poses/broom/clothes/panties/sport_panties_2/outline.webp:485,698,184,142 characters/cho/poses/broom/clothes/robe/robe_quidditch_1/0.webp:292,460,550,500 characters/cho/poses/broom/clothes/robe/robe_quidditch_1/1.webp:384,460,453,500 characters/cho/poses/broom/clothes/robe/robe_quidditch_1/extra.webp:468,709,380,261 @@ -911,64 +383,811 @@ characters/cho/poses/broom/clothes/top/top_sweater_1/outline.webp:162,458,473,30 characters/cho/poses/broom/clothes/top/top_sweater_2/0.webp:368,443,263,318 characters/cho/poses/broom/clothes/top/top_sweater_2/1.webp:366,448,251,297 characters/cho/poses/broom/clothes/top/top_sweater_2/outline.webp:367,442,266,319 -characters/cho/poses/broom/face/cheeks/blush.webp:306,395,108,50 -characters/cho/poses/broom/face/cheeks/heavy_blush.webp:306,395,108,50 -characters/cho/poses/broom/face/extras/tears_1.webp:524,374,94,26 -characters/cho/poses/broom/face/extras/tears_2.webp:514,374,122,54 -characters/cho/poses/broom/face/extras/tears_3.webp:524,376,116,112 -characters/cho/poses/broom/face/extras/tears_4.webp:524,380,110,94 -characters/cho/poses/broom/face/eyebrows/angry.webp:297,365,102,22 -characters/cho/poses/broom/face/eyebrows/angry_skin.webp:299,364,110,34 -characters/cho/poses/broom/face/eyebrows/base.webp:296,366,109,19 -characters/cho/poses/broom/face/eyebrows/base_skin.webp:300,371,102,27 -characters/cho/poses/broom/face/eyebrows/raised.webp:290,353,113,28 -characters/cho/poses/broom/face/eyebrows/raised_skin.webp:300,371,102,27 -characters/cho/poses/broom/face/eyebrows/worried.webp:296,367,109,22 -characters/cho/poses/broom/face/eyebrows/worried_skin.webp:299,368,102,30 -characters/cho/poses/broom/face/eyes/base.webp:303,374,98,32 -characters/cho/poses/broom/face/eyes/base_mask.webp:309,378,85,26 -characters/cho/poses/broom/face/eyes/base_skin.webp:303,384,99,22 -characters/cho/poses/broom/face/eyes/closed.webp:302,375,100,32 -characters/cho/poses/broom/face/eyes/closed_skin.webp:303,384,99,22 -characters/cho/poses/broom/face/eyes/happyCl.webp:303,377,101,27 -characters/cho/poses/broom/face/eyes/happyCl_skin.webp:303,384,99,19 -characters/cho/poses/broom/face/eyes/narrow.webp:303,375,98,31 -characters/cho/poses/broom/face/eyes/narrow_mask.webp:309,381,84,23 -characters/cho/poses/broom/face/eyes/narrow_skin.webp:303,384,99,22 -characters/cho/poses/broom/face/eyes/wide.webp:301,371,101,36 -characters/cho/poses/broom/face/eyes/wide_mask.webp:306,373,90,32 -characters/cho/poses/broom/face/eyes/wide_skin.webp:303,384,99,22 -characters/cho/poses/broom/face/eyes/wink.webp:303,374,98,30 -characters/cho/poses/broom/face/eyes/wink_mask.webp:363,374,32,25 -characters/cho/poses/broom/face/eyes/wink_skin.webp:303,384,99,19 -characters/cho/poses/broom/face/mouth/angry.webp:337,434,49,27 -characters/cho/poses/broom/face/mouth/annoyed.webp:334,440,31,19 -characters/cho/poses/broom/face/mouth/base.webp:337,439,41,17 -characters/cho/poses/broom/face/mouth/clench.webp:337,432,51,29 -characters/cho/poses/broom/face/mouth/crooked_smile.webp:335,432,50,33 -characters/cho/poses/broom/face/mouth/disgust.webp:336,443,49,21 -characters/cho/poses/broom/face/mouth/grin.webp:333,432,52,34 -characters/cho/poses/broom/face/mouth/horny.webp:338,439,42,17 -characters/cho/poses/broom/face/mouth/mad.webp:339,439,44,25 -characters/cho/poses/broom/face/mouth/normal.webp:338,440,33,16 -characters/cho/poses/broom/face/mouth/open.webp:342,438,31,29 -characters/cho/poses/broom/face/mouth/open_tongue.webp:342,438,31,30 -characters/cho/poses/broom/face/mouth/open_wide_tongue.webp:317,431,92,64 -characters/cho/poses/broom/face/mouth/pout.webp:329,434,29,24 -characters/cho/poses/broom/face/mouth/quiver.webp:336,442,42,14 -characters/cho/poses/broom/face/mouth/scream.webp:317,431,92,57 -characters/cho/poses/broom/face/mouth/silly.webp:335,437,42,29 -characters/cho/poses/broom/face/mouth/smile.webp:337,438,41,22 -characters/cho/poses/broom/face/mouth/soft.webp:339,439,32,23 -characters/cho/poses/broom/face/mouth/upset.webp:339,442,32,18 -characters/cho/poses/broom/face/pupils/L.webp:311,380,70,24 -characters/cho/poses/broom/face/pupils/R.webp:320,378,73,25 -characters/cho/poses/broom/face/pupils/ahegao.webp:317,372,62,24 -characters/cho/poses/broom/face/pupils/down.webp:317,385,68,24 -characters/cho/poses/broom/face/pupils/downR.webp:318,383,74,25 -characters/cho/poses/broom/face/pupils/mid.webp:317,378,70,24 -characters/cho/poses/broom/face/pupils/up.webp:314,375,70,23 -characters/cho/poses/broom/loadable.webp:0,0,1,1 +characters/cho/poses/broom/face/cheeks/blush/expression.webp:306,395,108,50 +characters/cho/poses/broom/face/cheeks/heavy_blush/expression.webp:306,395,108,50 +characters/cho/poses/broom/face/eyebrows/angry/expression.webp:297,365,102,22 +characters/cho/poses/broom/face/eyebrows/angry/skin.webp:299,364,110,34 +characters/cho/poses/broom/face/eyebrows/base/expression.webp:296,366,109,19 +characters/cho/poses/broom/face/eyebrows/base/skin.webp:300,371,102,27 +characters/cho/poses/broom/face/eyebrows/raised/expression.webp:290,353,113,28 +characters/cho/poses/broom/face/eyebrows/raised/skin.webp:300,371,102,27 +characters/cho/poses/broom/face/eyebrows/worried/expression.webp:296,367,109,22 +characters/cho/poses/broom/face/eyebrows/worried/skin.webp:299,368,102,30 +characters/cho/poses/broom/face/eyes/base/expression.webp:303,374,98,32 +characters/cho/poses/broom/face/eyes/base/eyemask.webp:309,378,85,26 +characters/cho/poses/broom/face/eyes/base/skin.webp:303,384,99,22 +characters/cho/poses/broom/face/eyes/closed/expression.webp:302,375,100,32 +characters/cho/poses/broom/face/eyes/closed/skin.webp:303,384,99,22 +characters/cho/poses/broom/face/eyes/happyCl/expression.webp:303,377,101,27 +characters/cho/poses/broom/face/eyes/happyCl/skin.webp:303,384,99,19 +characters/cho/poses/broom/face/eyes/narrow/expression.webp:303,375,98,31 +characters/cho/poses/broom/face/eyes/narrow/eyemask.webp:309,381,84,23 +characters/cho/poses/broom/face/eyes/narrow/skin.webp:303,384,99,22 +characters/cho/poses/broom/face/eyes/wide/expression.webp:301,371,101,36 +characters/cho/poses/broom/face/eyes/wide/eyemask.webp:306,373,90,32 +characters/cho/poses/broom/face/eyes/wide/skin.webp:303,384,99,22 +characters/cho/poses/broom/face/eyes/wink/expression.webp:303,374,98,30 +characters/cho/poses/broom/face/eyes/wink/eyemask.webp:363,374,32,25 +characters/cho/poses/broom/face/eyes/wink/skin.webp:303,384,99,19 +characters/cho/poses/broom/face/mouth/angry/expression.webp:337,434,49,27 +characters/cho/poses/broom/face/mouth/annoyed/expression.webp:334,440,31,19 +characters/cho/poses/broom/face/mouth/base/expression.webp:337,439,41,17 +characters/cho/poses/broom/face/mouth/clench/expression.webp:337,432,51,29 +characters/cho/poses/broom/face/mouth/crooked_smile/expression.webp:335,432,50,33 +characters/cho/poses/broom/face/mouth/disgust/expression.webp:336,443,49,21 +characters/cho/poses/broom/face/mouth/grin/expression.webp:333,432,52,34 +characters/cho/poses/broom/face/mouth/horny/expression.webp:338,439,42,17 +characters/cho/poses/broom/face/mouth/mad/expression.webp:339,439,44,25 +characters/cho/poses/broom/face/mouth/normal/expression.webp:338,440,33,16 +characters/cho/poses/broom/face/mouth/open/expression.webp:342,438,31,29 +characters/cho/poses/broom/face/mouth/open_tongue/expression.webp:342,438,31,30 +characters/cho/poses/broom/face/mouth/open_wide_tongue/expression.webp:317,431,92,64 +characters/cho/poses/broom/face/mouth/pout/expression.webp:329,434,29,24 +characters/cho/poses/broom/face/mouth/quiver/expression.webp:336,442,42,14 +characters/cho/poses/broom/face/mouth/scream/expression.webp:317,431,92,57 +characters/cho/poses/broom/face/mouth/silly/expression.webp:335,437,42,29 +characters/cho/poses/broom/face/mouth/smile/expression.webp:337,438,41,22 +characters/cho/poses/broom/face/mouth/soft/expression.webp:339,439,32,23 +characters/cho/poses/broom/face/mouth/upset/expression.webp:339,442,32,18 +characters/cho/poses/broom/face/pupils/L/expression.webp:311,380,70,24 +characters/cho/poses/broom/face/pupils/R/expression.webp:320,378,73,25 +characters/cho/poses/broom/face/pupils/ahegao/expression.webp:317,372,62,24 +characters/cho/poses/broom/face/pupils/down/expression.webp:317,385,68,24 +characters/cho/poses/broom/face/pupils/downR/expression.webp:318,383,74,25 +characters/cho/poses/broom/face/pupils/mid/expression.webp:317,378,70,24 +characters/cho/poses/broom/face/pupils/up/expression.webp:314,375,70,23 +characters/cho/poses/default/bodyparts/frame/default/skin.webp:456,332,269,868 +characters/cho/poses/default/chibi/stand/bodyparts/frame/default/skin.webp:190,123,225,648 +characters/cho/poses/default/chibi/stand/clothes/bottom/default/overlay.webp:388,804,237,304 +characters/cho/poses/default/chibi/stand/clothes/bottom/school_skirt_1/0.webp:388,804,237,304 +characters/cho/poses/default/chibi/stand/clothes/bra/basic_bra_1/0.webp:435,577,185,181 +characters/cho/poses/default/chibi/stand/clothes/bra/default/overlay.webp:435,577,185,181 +characters/cho/poses/default/chibi/stand/clothes/footwear/default/overlay.webp:414,1111,176,188 +characters/cho/poses/default/chibi/stand/clothes/panties/basic_panties_1/0.webp:449,824,146,109 +characters/cho/poses/default/chibi/stand/clothes/panties/default/overlay.webp:449,824,146,109 +characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0.webp:296,550,353,634 +characters/cho/poses/default/chibi/stand/clothes/robe/robe_school_1/0_back.webp:321,499,486,570 +characters/cho/poses/default/chibi/stand/clothes/stockings/house/outline.webp:417,940,186,356 +characters/cho/poses/default/chibi/stand/clothes/top/default/overlay.webp:368,547,257,331 +characters/cho/poses/default/chibi/stand/clothes/top/top_school_1/outline.webp:368,547,257,331 +characters/cho/poses/default/chibi/walk/bodyparts/frame/default/skin.webp:185,123,2025,1449 +characters/cho/poses/default/clothes/accessory/body_wrap/0.webp:487,715,165,124 +characters/cho/poses/default/clothes/accessory/body_wrap/outline.webp:485,713,168,128 +characters/cho/poses/default/clothes/accessory/chun_li_shoulders/0.webp:446,537,304,167 +characters/cho/poses/default/clothes/accessory/chun_li_shoulders/1.webp:454,628,284,80 +characters/cho/poses/default/clothes/accessory/chun_li_shoulders/extra.webp:454,645,283,63 +characters/cho/poses/default/clothes/accessory/chun_li_shoulders/outline.webp:443,534,311,176 +characters/cho/poses/default/clothes/accessory/mistletoe/0.webp:519,888,43,37 +characters/cho/poses/default/clothes/accessory/mistletoe/extra.webp:519,900,42,38 +characters/cho/poses/default/clothes/accessory/mistletoe/outline.webp:517,887,46,53 +characters/cho/poses/default/clothes/accessory/panties_in_hand/0.webp:39,508,116,197 +characters/cho/poses/default/clothes/accessory/panties_in_hand/outline.webp:37,506,122,203 +characters/cho/poses/default/clothes/accessory/suspenders/0.webp:478,562,175,324 +characters/cho/poses/default/clothes/accessory/suspenders/1.webp:504,885,75,10 +characters/cho/poses/default/clothes/accessory/suspenders/outline.webp:473,557,182,342 +characters/cho/poses/default/clothes/bottom/j_school_skirt_1/0.webp:415,782,351,356 +characters/cho/poses/default/clothes/bottom/j_school_skirt_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/j_school_skirt_1/outline.webp:414,778,354,353 +characters/cho/poses/default/clothes/bottom/j_school_skirt_1/skin.webp:504,790,159,354 +characters/cho/poses/default/clothes/bottom/jeans_long_1/0.webp:458,832,236,368 +characters/cho/poses/default/clothes/bottom/jeans_long_1/1.webp:530,852,11,11 +characters/cho/poses/default/clothes/bottom/jeans_long_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/jeans_long_1/extra.webp:460,853,76,170 +characters/cho/poses/default/clothes/bottom/jeans_long_1/outline.webp:456,830,240,370 +characters/cho/poses/default/clothes/bottom/pants_long_1/0.webp:457,871,243,329 +characters/cho/poses/default/clothes/bottom/pants_long_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/pants_long_1/outline.webp:454,870,247,330 +characters/cho/poses/default/clothes/bottom/pants_long_2/0.webp:458,847,235,353 +characters/cho/poses/default/clothes/bottom/pants_long_2/1.webp:542,878,10,12 +characters/cho/poses/default/clothes/bottom/pants_long_2/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/pants_long_2/outline.webp:456,845,239,355 +characters/cho/poses/default/clothes/bottom/pants_short_1/0.webp:457,871,242,124 +characters/cho/poses/default/clothes/bottom/pants_short_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/pants_short_1/outline.webp:454,870,247,128 +characters/cho/poses/default/clothes/bottom/pants_short_2/0.webp:457,866,234,103 +characters/cho/poses/default/clothes/bottom/pants_short_2/1.webp:538,904,9,9 +characters/cho/poses/default/clothes/bottom/pants_short_2/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/pants_short_2/extra.webp:464,874,194,88 +characters/cho/poses/default/clothes/bottom/pants_short_2/outline.webp:451,858,245,118 +characters/cho/poses/default/clothes/bottom/pants_short_2/skin.webp:461,888,218,90 +characters/cho/poses/default/clothes/bottom/pants_short_3/0.webp:457,856,235,106 +characters/cho/poses/default/clothes/bottom/pants_short_3/1.webp:454,939,241,36 +characters/cho/poses/default/clothes/bottom/pants_short_3/2.webp:532,893,13,12 +characters/cho/poses/default/clothes/bottom/pants_short_3/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/pants_short_3/outline.webp:453,855,242,122 +characters/cho/poses/default/clothes/bottom/pants_short_4/0.webp:458,847,235,154 +characters/cho/poses/default/clothes/bottom/pants_short_4/1.webp:542,878,10,12 +characters/cho/poses/default/clothes/bottom/pants_short_4/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/pants_short_4/outline.webp:456,845,239,157 +characters/cho/poses/default/clothes/bottom/police_skirt/0.webp:456,832,245,176 +characters/cho/poses/default/clothes/bottom/police_skirt/1.webp:645,856,31,101 +characters/cho/poses/default/clothes/bottom/police_skirt/2.webp:477,827,180,41 +characters/cho/poses/default/clothes/bottom/police_skirt/3.webp:526,845,49,24 +characters/cho/poses/default/clothes/bottom/police_skirt/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/police_skirt/outline.webp:454,824,248,184 +characters/cho/poses/default/clothes/bottom/police_skirt/skin.webp:464,831,223,179 +characters/cho/poses/default/clothes/bottom/quid_skirt_1/0.webp:441,848,271,193 +characters/cho/poses/default/clothes/bottom/quid_skirt_1/1.webp:441,844,271,197 +characters/cho/poses/default/clothes/bottom/quid_skirt_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/quid_skirt_1/extra.webp:442,845,270,190 +characters/cho/poses/default/clothes/bottom/quid_skirt_1/outline.webp:416,836,306,220 +characters/cho/poses/default/clothes/bottom/quid_skirt_1/skin.webp:469,844,213,205 +characters/cho/poses/default/clothes/bottom/school_skirt_1/0.webp:449,779,262,393 +characters/cho/poses/default/clothes/bottom/school_skirt_1/1.webp:584,809,12,25 +characters/cho/poses/default/clothes/bottom/school_skirt_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/school_skirt_1/outline.webp:448,778,264,398 +characters/cho/poses/default/clothes/bottom/school_skirt_2/0.webp:444,779,264,262 +characters/cho/poses/default/clothes/bottom/school_skirt_2/1.webp:584,809,12,25 +characters/cho/poses/default/clothes/bottom/school_skirt_2/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/school_skirt_2/outline.webp:442,778,268,264 +characters/cho/poses/default/clothes/bottom/school_skirt_3/0.webp:449,779,251,199 +characters/cho/poses/default/clothes/bottom/school_skirt_3/1.webp:584,809,12,25 +characters/cho/poses/default/clothes/bottom/school_skirt_3/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/school_skirt_3/outline.webp:447,778,255,190 +characters/cho/poses/default/clothes/bottom/school_skirt_4/0.webp:452,779,240,199 +characters/cho/poses/default/clothes/bottom/school_skirt_4/1.webp:584,809,12,25 +characters/cho/poses/default/clothes/bottom/school_skirt_4/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/school_skirt_4/outline.webp:453,778,240,160 +characters/cho/poses/default/clothes/bottom/skirt_chun_li/0.webp:465,820,247,304 +characters/cho/poses/default/clothes/bottom/skirt_chun_li/1.webp:461,817,253,310 +characters/cho/poses/default/clothes/bottom/skirt_chun_li/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/skirt_chun_li/extra.webp:492,825,113,259 +characters/cho/poses/default/clothes/bottom/skirt_chun_li/outline.webp:458,815,261,314 +characters/cho/poses/default/clothes/bottom/skirt_short_1/0.webp:443,894,276,117 +characters/cho/poses/default/clothes/bottom/skirt_short_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/skirt_short_1/outline.webp:441,891,280,122 +characters/cho/poses/default/clothes/bottom/skirt_short_2/0.webp:454,874,240,104 +characters/cho/poses/default/clothes/bottom/skirt_short_2/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/skirt_short_2/outline.webp:452,872,245,111 +characters/cho/poses/default/clothes/bottom/skirt_short_2/skin.webp:461,879,217,108 +characters/cho/poses/default/clothes/bottom/toon_shorts/0.webp:455,829,240,174 +characters/cho/poses/default/clothes/bottom/toon_shorts/1.webp:459,862,235,140 +characters/cho/poses/default/clothes/bottom/toon_shorts/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/bottom/toon_shorts/outline.webp:454,827,243,178 +characters/cho/poses/default/clothes/bottom/toon_shorts/skin.webp:462,826,225,184 +characters/cho/poses/default/clothes/bra/basic_bra_1/0.webp:467,561,189,176 +characters/cho/poses/default/clothes/bra/basic_bra_1/1.webp:509,581,132,115 +characters/cho/poses/default/clothes/bra/basic_bra_1/extra.webp:512,581,126,110 +characters/cho/poses/default/clothes/bra/basic_bra_1/outline.webp:466,561,192,177 +characters/cho/poses/default/clothes/bra/basic_bra_1/skin.webp:500,567,153,169 +characters/cho/poses/default/clothes/bra/basic_bra_2/0.webp:475,616,179,75 +characters/cho/poses/default/clothes/bra/basic_bra_2/1.webp:465,561,194,168 +characters/cho/poses/default/clothes/bra/basic_bra_2/2.webp:510,582,139,16 +characters/cho/poses/default/clothes/bra/basic_bra_2/outline.webp:463,561,199,170 +characters/cho/poses/default/clothes/bra/basic_bra_2/skin.webp:476,568,186,166 +characters/cho/poses/default/clothes/bra/bikini_top_1/0.webp:467,533,188,185 +characters/cho/poses/default/clothes/bra/bikini_top_1/extra.webp:466,573,174,115 +characters/cho/poses/default/clothes/bra/bikini_top_1/outline.webp:466,529,189,191 +characters/cho/poses/default/clothes/bra/bikini_top_1/skin.webp:473,551,179,156 +characters/cho/poses/default/clothes/bra/bikini_top_2/0.webp:468,553,166,121 +characters/cho/poses/default/clothes/bra/bikini_top_2/outline.webp:467,551,186,134 +characters/cho/poses/default/clothes/bra/lace_bra_1/0.webp:498,690,157,61 +characters/cho/poses/default/clothes/bra/lace_bra_1/1.webp:465,562,191,191 +characters/cho/poses/default/clothes/bra/lace_bra_1/2.webp:533,677,27,27 +characters/cho/poses/default/clothes/bra/lace_bra_1/outline.webp:464,561,193,193 +characters/cho/poses/default/clothes/bra/lace_bra_1/skin.webp:472,567,183,182 +characters/cho/poses/default/clothes/bra/lace_bra_2/0.webp:465,562,190,181 +characters/cho/poses/default/clothes/bra/lace_bra_2/1.webp:498,687,157,62 +characters/cho/poses/default/clothes/bra/lace_bra_2/2.webp:499,692,155,58 +characters/cho/poses/default/clothes/bra/lace_bra_2/3.webp:535,677,29,28 +characters/cho/poses/default/clothes/bra/lace_bra_2/outline.webp:463,561,193,191 +characters/cho/poses/default/clothes/bra/padding_bra_1/0.webp:468,641,180,79 +characters/cho/poses/default/clothes/bra/padding_bra_1/outline.webp:467,640,182,81 +characters/cho/poses/default/clothes/bra/sport_bra_1/0.webp:467,556,189,198 +characters/cho/poses/default/clothes/bra/sport_bra_1/extra.webp:469,573,166,124 +characters/cho/poses/default/clothes/bra/sport_bra_1/outline.webp:466,555,192,200 +characters/cho/poses/default/clothes/bra/sport_bra_1/skin.webp:504,567,149,187 +characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/0.webp:468,555,187,192 +characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/outline.webp:466,554,189,195 +characters/cho/poses/default/clothes/bra/sporty_bikini_top_1/skin.webp:499,566,149,184 +characters/cho/poses/default/clothes/earrings/basic/0.webp:613,472,11,12 +characters/cho/poses/default/clothes/earrings/basic/outline.webp:563,441,106,91 +characters/cho/poses/default/clothes/earrings/feather/0.webp:616,481,15,61 +characters/cho/poses/default/clothes/earrings/feather/1.webp:621,515,10,28 +characters/cho/poses/default/clothes/earrings/feather/2.webp:614,463,11,20 +characters/cho/poses/default/clothes/earrings/feather/outline.webp:613,462,19,83 +characters/cho/poses/default/clothes/earrings/snitch/0.webp:600,472,53,24 +characters/cho/poses/default/clothes/earrings/snitch/1.webp:612,477,13,13 +characters/cho/poses/default/clothes/earrings/snitch/extra.webp:617,466,4,15 +characters/cho/poses/default/clothes/earrings/snitch/outline.webp:580,450,85,65 +characters/cho/poses/default/clothes/garterbelt/lace_garter_1/0.webp:480,799,157,206 +characters/cho/poses/default/clothes/garterbelt/lace_garter_1/1.webp:480,805,172,65 +characters/cho/poses/default/clothes/garterbelt/lace_garter_1/2.webp:480,809,172,62 +characters/cho/poses/default/clothes/garterbelt/lace_garter_1/3.webp:484,815,121,185 +characters/cho/poses/default/clothes/garterbelt/lace_garter_1/outline.webp:478,797,175,210 +characters/cho/poses/default/clothes/garterbelt/lace_garter_1/skin.webp:486,801,152,192 +characters/cho/poses/default/clothes/glasses/aviators/0.webp:487,417,138,44 +characters/cho/poses/default/clothes/glasses/aviators/1.webp:484,417,141,45 +characters/cho/poses/default/clothes/glasses/aviators/outline.webp:484,417,142,46 +characters/cho/poses/default/clothes/glasses/glasses1/0.webp:490,431,100,18 +characters/cho/poses/default/clothes/glasses/glasses1/extra.webp:497,427,101,30 +characters/cho/poses/default/clothes/glasses/glasses1/outline.webp:484,424,129,31 +characters/cho/poses/default/clothes/glasses/goggles/0.webp:481,351,124,38 +characters/cho/poses/default/clothes/glasses/goggles/1.webp:481,340,134,59 +characters/cho/poses/default/clothes/glasses/goggles/extra.webp:483,332,181,109 +characters/cho/poses/default/clothes/glasses/goggles/outline.webp:479,331,186,116 +characters/cho/poses/default/clothes/glasses/goggles/skin.webp:494,364,142,55 +characters/cho/poses/default/clothes/glasses/goggles_face/0.webp:378,178,56,18 +characters/cho/poses/default/clothes/glasses/goggles_face/1.webp:378,174,60,27 +characters/cho/poses/default/clothes/glasses/goggles_face/extra.webp:378,170,76,35 +characters/cho/poses/default/clothes/glasses/goggles_face/outline.webp:377,169,76,37 +characters/cho/poses/default/clothes/glasses/goggles_face/skin.webp:494,364,142,55 +characters/cho/poses/default/clothes/gloves/quidditch/0.webp:693,907,7,42 +characters/cho/poses/default/clothes/gloves/quidditch/0_front.webp:693,907,7,42 +characters/cho/poses/default/clothes/gloves/quidditch/extra.webp:465,793,265,231 +characters/cho/poses/default/clothes/gloves/quidditch/outline.webp:465,792,265,232 +characters/cho/poses/default/clothes/gloves/quidditch/outline_front.webp:658,797,72,227 +characters/cho/poses/default/clothes/hair/pigtails/0.webp:436,310,280,198 +characters/cho/poses/default/clothes/hair/pigtails/1.webp:436,310,280,245 +characters/cho/poses/default/clothes/hair/pigtails/2.webp:472,364,210,42 +characters/cho/poses/default/clothes/hair/pigtails/outline.webp:432,309,284,207 +characters/cho/poses/default/clothes/hair/pigtails/skin.webp:492,369,92,53 +characters/cho/poses/default/clothes/hair/ponytail/0.webp:459,321,198,167 +characters/cho/poses/default/clothes/hair/ponytail/0_back.webp:614,336,98,241 +characters/cho/poses/default/clothes/hair/ponytail/1.webp:489,353,131,77 +characters/cho/poses/default/clothes/hair/ponytail/1_back.webp:627,347,79,228 +characters/cho/poses/default/clothes/hair/ponytail/outline.webp:458,321,200,168 +characters/cho/poses/default/clothes/hair/ponytail/outline_back.webp:614,336,99,241 +characters/cho/poses/default/clothes/hair/ponytail/skin.webp:494,389,137,55 +characters/cho/poses/default/clothes/hair/smurfette/0.webp:447,314,317,229 +characters/cho/poses/default/clothes/hair/smurfette/0_back.webp:428,414,336,252 +characters/cho/poses/default/clothes/hair/smurfette/1.webp:442,325,315,218 +characters/cho/poses/default/clothes/hair/smurfette/1_back.webp:430,337,327,280 +characters/cho/poses/default/clothes/hair/smurfette/outline.webp:425,313,340,355 +characters/cho/poses/default/clothes/hair/smurfette/outline_back.webp:425,345,339,322 +characters/cho/poses/default/clothes/hair/smurfette/skin.webp:496,406,116,21 +characters/cho/poses/default/clothes/headgear/antlers/default/0.webp:455,327,235,64 +characters/cho/poses/default/clothes/headgear/antlers/default/1.webp:466,344,199,41 +characters/cho/poses/default/clothes/headgear/antlers/default/2.webp:488,236,145,171 +characters/cho/poses/default/clothes/headgear/antlers/default/outline.webp:455,235,236,175 +characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/0.webp:452,306,221,114 +characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/1.webp:463,327,159,82 +characters/cho/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp:450,305,224,117 +characters/cho/poses/default/clothes/headgear/catears/default/0.webp:499,297,130,74 +characters/cho/poses/default/clothes/headgear/catears/default/extra.webp:505,320,109,32 +characters/cho/poses/default/clothes/headgear/catears/default/outline.webp:496,293,136,79 +characters/cho/poses/default/clothes/headgear/chun_li_puffies/default/0.webp:502,306,187,253 +characters/cho/poses/default/clothes/headgear/chun_li_puffies/default/outline.webp:499,303,191,258 +characters/cho/poses/default/clothes/headgear/goggles/default/0.webp:476,350,122,37 +characters/cho/poses/default/clothes/headgear/goggles/default/1.webp:476,340,133,57 +characters/cho/poses/default/clothes/headgear/goggles/default/extra.webp:477,331,179,106 +characters/cho/poses/default/clothes/headgear/goggles/default/outline.webp:473,330,184,112 +characters/cho/poses/default/clothes/headgear/goggles/default/skin.webp:494,364,142,55 +characters/cho/poses/default/clothes/headgear/police_cap/default/0.webp:483,280,176,77 +characters/cho/poses/default/clothes/headgear/police_cap/default/1.webp:615,362,12,13 +characters/cho/poses/default/clothes/headgear/police_cap/default/2.webp:472,348,184,63 +characters/cho/poses/default/clothes/headgear/police_cap/default/3.webp:507,303,32,43 +characters/cho/poses/default/clothes/headgear/police_cap/default/outline.webp:471,278,188,131 +characters/cho/poses/default/clothes/headgear/smurfette/default/0.webp:520,237,169,168 +characters/cho/poses/default/clothes/headgear/smurfette/default/outline.webp:518,236,173,172 +characters/cho/poses/default/clothes/headgear/toon_band/default/0.webp:633,339,34,45 +characters/cho/poses/default/clothes/headgear/toon_band/default/outline.webp:630,337,39,49 +characters/cho/poses/default/clothes/headgear/witch/default/0.webp:438,175,259,236 +characters/cho/poses/default/clothes/headgear/witch/default/1.webp:482,312,156,67 +characters/cho/poses/default/clothes/headgear/witch/default/outline.webp:436,173,263,240 +characters/cho/poses/default/clothes/headgear/witch/default/skin.webp:496,363,150,72 +characters/cho/poses/default/clothes/makeup/blush/0.webp:495,430,127,71 +characters/cho/poses/default/clothes/makeup/blush/outline.webp:499,441,111,49 +characters/cho/poses/default/clothes/makeup/freckles1/0.webp:501,452,94,23 +characters/cho/poses/default/clothes/makeup/freckles2/0.webp:525,453,26,21 +characters/cho/poses/default/clothes/makeup/lipstick/angry/0.webp:527,482,48,25 +characters/cho/poses/default/clothes/makeup/lipstick/annoyed/0.webp:523,484,30,21 +characters/cho/poses/default/clothes/makeup/lipstick/base/0.webp:526,487,41,15 +characters/cho/poses/default/clothes/makeup/lipstick/clench/0.webp:526,479,51,28 +characters/cho/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp:524,481,50,30 +characters/cho/poses/default/clothes/makeup/lipstick/disgust/0.webp:525,489,48,21 +characters/cho/poses/default/clothes/makeup/lipstick/grin/0.webp:522,481,52,32 +characters/cho/poses/default/clothes/makeup/lipstick/horny/0.webp:527,487,43,15 +characters/cho/poses/default/clothes/makeup/lipstick/mad/0.webp:528,487,43,23 +characters/cho/poses/default/clothes/makeup/lipstick/normal/0.webp:526,487,35,15 +characters/cho/poses/default/clothes/makeup/lipstick/open/0.webp:531,485,30,29 +characters/cho/poses/default/clothes/makeup/lipstick/open_tongue/0.webp:531,485,30,29 +characters/cho/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp:526,482,38,42 +characters/cho/poses/default/clothes/makeup/lipstick/quiver/0.webp:525,487,41,17 +characters/cho/poses/default/clothes/makeup/lipstick/scream/0.webp:526,482,38,44 +characters/cho/poses/default/clothes/makeup/lipstick/silly/0.webp:525,485,41,28 +characters/cho/poses/default/clothes/makeup/lipstick/smile/0.webp:526,486,42,20 +characters/cho/poses/default/clothes/makeup/lipstick/soft/0.webp:529,486,31,22 +characters/cho/poses/default/clothes/makeup/lipstick/upset/0.webp:528,489,31,17 +characters/cho/poses/default/clothes/neckwear/choker_lace_1/0.webp:554,523,68,35 +characters/cho/poses/default/clothes/neckwear/choker_lace_1/1.webp:552,521,70,42 +characters/cho/poses/default/clothes/neckwear/choker_lace_1/outline.webp:550,520,74,45 +characters/cho/poses/default/clothes/neckwear/choker_medallion/0.webp:559,534,60,21 +characters/cho/poses/default/clothes/neckwear/choker_medallion/extra.webp:561,557,22,21 +characters/cho/poses/default/clothes/neckwear/choker_medallion/outline.webp:557,531,63,26 +characters/cho/poses/default/clothes/neckwear/collar_leather_1/0.webp:542,528,94,64 +characters/cho/poses/default/clothes/neckwear/collar_leather_1/extra.webp:554,586,19,17 +characters/cho/poses/default/clothes/neckwear/collar_leather_1/outline.webp:544,531,90,75 +characters/cho/poses/default/clothes/neckwear/reindeer_collar/0.webp:550,529,75,39 +characters/cho/poses/default/clothes/neckwear/reindeer_collar/1.webp:547,536,82,24 +characters/cho/poses/default/clothes/neckwear/reindeer_collar/extra.webp:546,528,84,39 +characters/cho/poses/default/clothes/neckwear/reindeer_collar/outline.webp:546,528,85,41 +characters/cho/poses/default/clothes/neckwear/tie_1/0.webp:521,544,106,220 +characters/cho/poses/default/clothes/neckwear/tie_1/1.webp:521,536,111,240 +characters/cho/poses/default/clothes/neckwear/tie_1/outline.webp:519,535,113,242 +characters/cho/poses/default/clothes/neckwear/tie_1/skin.webp:543,576,76,202 +characters/cho/poses/default/clothes/panties/basic_panties_1/0.webp:468,845,210,114 +characters/cho/poses/default/clothes/panties/basic_panties_1/1.webp:517,870,46,25 +characters/cho/poses/default/clothes/panties/basic_panties_1/outline.webp:467,844,214,115 +characters/cho/poses/default/clothes/panties/basic_panties_1/skin.webp:468,850,197,79 +characters/cho/poses/default/clothes/panties/bikini_bottom_1/0.webp:480,826,169,133 +characters/cho/poses/default/clothes/panties/bikini_bottom_1/outline.webp:479,824,171,135 +characters/cho/poses/default/clothes/panties/bikini_bottom_2/0.webp:480,826,169,132 +characters/cho/poses/default/clothes/panties/bikini_bottom_2/outline.webp:479,824,171,134 +characters/cho/poses/default/clothes/panties/lace_panties_1/0.webp:465,848,204,110 +characters/cho/poses/default/clothes/panties/lace_panties_1/1.webp:465,848,205,111 +characters/cho/poses/default/clothes/panties/lace_panties_1/2.webp:535,889,13,11 +characters/cho/poses/default/clothes/panties/lace_panties_1/outline.webp:463,847,208,112 +characters/cho/poses/default/clothes/panties/lace_panties_1/skin.webp:468,856,183,89 +characters/cho/poses/default/clothes/panties/sheer_panties_1/0.webp:500,875,93,84 +characters/cho/poses/default/clothes/panties/sheer_panties_1/outline.webp:479,841,177,120 +characters/cho/poses/default/clothes/panties/sheer_panties_2/0.webp:472,822,191,108 +characters/cho/poses/default/clothes/panties/sheer_panties_2/1.webp:477,834,179,124 +characters/cho/poses/default/clothes/panties/sheer_panties_2/outline.webp:469,819,198,140 +characters/cho/poses/default/clothes/panties/sport_panties_1/0.webp:457,825,237,166 +characters/cho/poses/default/clothes/panties/sport_panties_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/panties/sport_panties_1/extra.webp:458,850,180,135 +characters/cho/poses/default/clothes/panties/sport_panties_1/outline.webp:456,823,239,172 +characters/cho/poses/default/clothes/panties/sport_panties_1/skin.webp:486,840,196,154 +characters/cho/poses/default/clothes/panties/sport_panties_2/0.webp:458,864,231,94 +characters/cho/poses/default/clothes/panties/sport_panties_2/extra.webp:459,872,267,260 +characters/cho/poses/default/clothes/panties/sport_panties_2/outline.webp:458,860,232,99 +characters/cho/poses/default/clothes/panties/sport_panties_2/skin.webp:473,868,207,87 +characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/0.webp:456,821,232,137 +characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/outline.webp:455,821,233,139 +characters/cho/poses/default/clothes/panties/sporty_bikini_bottom_1/skin.webp:460,855,222,93 +characters/cho/poses/default/clothes/piercing/breast_barbell/0.webp:474,656,137,6 +characters/cho/poses/default/clothes/piercing/breast_barbell/outline.webp:472,655,141,9 +characters/cho/poses/default/clothes/piercing/stud/0.webp:546,938,6,6 +characters/cho/poses/default/clothes/piercing/stud/outline.webp:544,937,9,9 +characters/cho/poses/default/clothes/pubes/arrow/0.webp:529,893,30,41 +characters/cho/poses/default/clothes/pubes/arrow/outline.webp:529,895,30,37 +characters/cho/poses/default/clothes/pubes/beaver/0.webp:524,887,48,71 +characters/cho/poses/default/clothes/pubes/beaver/outline.webp:526,891,45,75 +characters/cho/poses/default/clothes/pubes/heart/0.webp:537,906,17,18 +characters/cho/poses/default/clothes/pubes/heart/1.webp:537,906,17,17 +characters/cho/poses/default/clothes/pubes/heart/extra.webp:538,907,14,15 +characters/cho/poses/default/clothes/pubes/heart/outline.webp:535,902,21,25 +characters/cho/poses/default/clothes/pubes/stuble/0.webp:524,909,49,32 +characters/cho/poses/default/clothes/pubes/thick/0.webp:518,907,59,49 +characters/cho/poses/default/clothes/pubes/thick/1.webp:518,907,59,48 +characters/cho/poses/default/clothes/pubes/thick/extra.webp:520,908,55,48 +characters/cho/poses/default/clothes/pubes/thick/outline.webp:516,905,65,54 +characters/cho/poses/default/clothes/pubes/unshaved/0.webp:526,909,42,47 +characters/cho/poses/default/clothes/robe/robe_quidditch_1/0.webp:443,566,312,634 +characters/cho/poses/default/clothes/robe/robe_quidditch_1/1.webp:468,535,199,665 +characters/cho/poses/default/clothes/robe/robe_quidditch_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/robe/robe_quidditch_1/mask.webp:0,0,1010,1200 +characters/cho/poses/default/clothes/robe/robe_quidditch_1/outline.webp:447,534,310,666 +characters/cho/poses/default/clothes/robe/robe_quidditch_1/overlay.webp:521,682,31,229 +characters/cho/poses/default/clothes/robe/robe_quidditch_2/0.webp:407,561,396,639 +characters/cho/poses/default/clothes/robe/robe_quidditch_2/outline.webp:408,560,397,640 +characters/cho/poses/default/clothes/robe/robe_school_1/0.webp:439,577,333,623 +characters/cho/poses/default/clothes/robe/robe_school_1/0_front.webp:645,732,127,251 +characters/cho/poses/default/clothes/robe/robe_school_1/1.webp:515,653,51,16 +characters/cho/poses/default/clothes/robe/robe_school_1/1_front.webp:0,0,0,0 +characters/cho/poses/default/clothes/robe/robe_school_1/2.webp:479,539,299,479 +characters/cho/poses/default/clothes/robe/robe_school_1/2_front.webp:665,923,113,95 +characters/cho/poses/default/clothes/robe/robe_school_1/mask.webp:0,0,1010,1200 +characters/cho/poses/default/clothes/robe/robe_school_1/outline.webp:438,536,341,664 +characters/cho/poses/default/clothes/robe/robe_school_1/outline_front.webp:628,727,151,294 +characters/cho/poses/default/clothes/robe/robe_school_1/skin.webp:525,570,188,400 +characters/cho/poses/default/clothes/robe/robe_school_2/0.webp:439,577,333,623 +characters/cho/poses/default/clothes/robe/robe_school_2/0_back.webp:0,0,0,0 +characters/cho/poses/default/clothes/robe/robe_school_2/0_front.webp:645,732,127,251 +characters/cho/poses/default/clothes/robe/robe_school_2/1.webp:515,653,51,16 +characters/cho/poses/default/clothes/robe/robe_school_2/1_back.webp:0,0,0,0 +characters/cho/poses/default/clothes/robe/robe_school_2/1_front.webp:0,0,0,0 +characters/cho/poses/default/clothes/robe/robe_school_2/2.webp:479,539,298,479 +characters/cho/poses/default/clothes/robe/robe_school_2/2_back.webp:533,1190,7,10 +characters/cho/poses/default/clothes/robe/robe_school_2/2_front.webp:665,923,113,95 +characters/cho/poses/default/clothes/robe/robe_school_2/extra.webp:411,689,284,511 +characters/cho/poses/default/clothes/robe/robe_school_2/mask.webp:0,0,1010,1200 +characters/cho/poses/default/clothes/robe/robe_school_2/outline.webp:438,536,341,664 +characters/cho/poses/default/clothes/robe/robe_school_2/outline_back.webp:532,1179,13,21 +characters/cho/poses/default/clothes/robe/robe_school_2/outline_front.webp:628,727,151,294 +characters/cho/poses/default/clothes/robe/robe_school_2/skin.webp:525,570,188,400 +characters/cho/poses/default/clothes/robe/robe_school_3/0.webp:439,554,333,646 +characters/cho/poses/default/clothes/robe/robe_school_3/0_back.webp:0,0,0,0 +characters/cho/poses/default/clothes/robe/robe_school_3/0_front.webp:645,732,127,251 +characters/cho/poses/default/clothes/robe/robe_school_3/1.webp:515,653,51,16 +characters/cho/poses/default/clothes/robe/robe_school_3/1_back.webp:0,0,0,0 +characters/cho/poses/default/clothes/robe/robe_school_3/1_front.webp:0,0,0,0 +characters/cho/poses/default/clothes/robe/robe_school_3/2.webp:479,539,297,479 +characters/cho/poses/default/clothes/robe/robe_school_3/2_back.webp:497,1139,43,61 +characters/cho/poses/default/clothes/robe/robe_school_3/2_front.webp:665,923,113,95 +characters/cho/poses/default/clothes/robe/robe_school_3/extra.webp:331,647,452,553 +characters/cho/poses/default/clothes/robe/robe_school_3/mask.webp:0,0,1010,1200 +characters/cho/poses/default/clothes/robe/robe_school_3/outline.webp:438,536,341,664 +characters/cho/poses/default/clothes/robe/robe_school_3/outline_back.webp:461,1095,82,105 +characters/cho/poses/default/clothes/robe/robe_school_3/outline_front.webp:628,727,151,294 +characters/cho/poses/default/clothes/robe/robe_school_3/skin.webp:525,570,188,400 +characters/cho/poses/default/clothes/stockings/bunny_stockings_1/0.webp:458,792,235,408 +characters/cho/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/stockings/bunny_stockings_1/outline.webp:457,793,238,407 +characters/cho/poses/default/clothes/stockings/fishnet/0.webp:463,1030,241,170 +characters/cho/poses/default/clothes/stockings/fishnet/1.webp:470,1037,219,55 +characters/cho/poses/default/clothes/stockings/fishnet/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/stockings/fishnet/outline.webp:467,1032,224,168 +characters/cho/poses/default/clothes/stockings/house/0.webp:477,1063,209,122 +characters/cho/poses/default/clothes/stockings/house/1.webp:493,1100,187,100 +characters/cho/poses/default/clothes/stockings/house/outline.webp:475,1051,213,149 +characters/cho/poses/default/clothes/stockings/kneehigh/0.webp:516,1146,156,54 +characters/cho/poses/default/clothes/stockings/kneehigh/outline.webp:513,1144,161,56 +characters/cho/poses/default/clothes/stockings/kneehigh/skin.webp:515,1141,158,20 +characters/cho/poses/default/clothes/stockings/lace_stockings_1/0.webp:459,971,234,91 +characters/cho/poses/default/clothes/stockings/lace_stockings_1/1.webp:459,970,233,230 +characters/cho/poses/default/clothes/stockings/lace_stockings_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/stockings/lace_stockings_1/outline.webp:458,969,236,231 +characters/cho/poses/default/clothes/stockings/lace_stockings_1/skin.webp:462,978,211,22 +characters/cho/poses/default/clothes/stockings/pantyhose/0.webp:458,838,234,362 +characters/cho/poses/default/clothes/stockings/pantyhose/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/stockings/pantyhose/outline.webp:456,837,238,363 +characters/cho/poses/default/clothes/stockings/quid1/0.webp:485,1079,199,121 +characters/cho/poses/default/clothes/stockings/quid1/1.webp:486,1079,197,27 +characters/cho/poses/default/clothes/stockings/quid1/extra.webp:485,1080,199,120 +characters/cho/poses/default/clothes/stockings/quid1/outline.webp:468,1071,237,129 +characters/cho/poses/default/clothes/stockings/quid1/skin.webp:488,1079,183,17 +characters/cho/poses/default/clothes/stockings/sailor/0.webp:478,1049,207,151 +characters/cho/poses/default/clothes/stockings/sailor/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/stockings/sailor/outline.webp:471,1041,218,159 +characters/cho/poses/default/clothes/stockings/sailor/skin.webp:474,1038,202,19 +characters/cho/poses/default/clothes/stockings/toon_socks/0.webp:516,1136,159,57 +characters/cho/poses/default/clothes/stockings/toon_socks/1.webp:509,1121,168,79 +characters/cho/poses/default/clothes/stockings/toon_socks/outline.webp:504,1119,176,81 +characters/cho/poses/default/clothes/stockings/toon_socks/skin.webp:505,1120,165,17 +characters/cho/poses/default/clothes/tattoo/arrows_tattoo/0.webp:481,862,161,113 +characters/cho/poses/default/clothes/tattoo/arrows_tattoo/outline.webp:480,860,164,117 +characters/cho/poses/default/clothes/tattoo/barcode_tattoo/0.webp:552,594,30,20 +characters/cho/poses/default/clothes/tattoo/bitemark_tattoo/0.webp:0,0,1010,1010 +characters/cho/poses/default/clothes/tattoo/bitemark_tattoo/outline.webp:567,625,69,70 +characters/cho/poses/default/clothes/tattoo/breasts_slut/0.webp:570,668,62,28 +characters/cho/poses/default/clothes/tattoo/chun_li_dragon/0.webp:656,571,65,459 +characters/cho/poses/default/clothes/tattoo/chun_li_dragon/0_front.webp:667,830,54,200 +characters/cho/poses/default/clothes/tattoo/chun_li_dragon/1.webp:657,571,64,419 +characters/cho/poses/default/clothes/tattoo/chun_li_dragon/1_front.webp:669,830,52,160 +characters/cho/poses/default/clothes/tattoo/chun_li_dragon/outline.webp:655,570,67,462 +characters/cho/poses/default/clothes/tattoo/chun_li_dragon/outline_front.webp:666,830,56,202 +characters/cho/poses/default/clothes/tattoo/chun_li_mule/0.webp:565,601,89,39 +characters/cho/poses/default/clothes/tattoo/cumhere_tattoo/0.webp:512,876,64,58 +characters/cho/poses/default/clothes/tattoo/lickme_tattoo/0.webp:510,867,64,62 +characters/cho/poses/default/clothes/tattoo/pelv_free/0.webp:512,868,41,35 +characters/cho/poses/default/clothes/tattoo/pull_tattoo/0.webp:569,687,63,31 +characters/cho/poses/default/clothes/tattoo/snatch_tattoo/0.webp:519,897,57,24 +characters/cho/poses/default/clothes/tattoo/trainee_tattoo/0.webp:518,582,116,44 +characters/cho/poses/default/clothes/top/bunny_top_1/0.webp:468,648,170,309 +characters/cho/poses/default/clothes/top/bunny_top_1/extra.webp:467,646,171,311 +characters/cho/poses/default/clothes/top/bunny_top_1/outline.webp:465,646,175,313 +characters/cho/poses/default/clothes/top/bunny_top_1/skin.webp:483,649,151,283 +characters/cho/poses/default/clothes/top/bunny_top_2/0.webp:468,648,170,281 +characters/cho/poses/default/clothes/top/bunny_top_2/extra.webp:467,646,171,311 +characters/cho/poses/default/clothes/top/bunny_top_2/outline.webp:465,646,175,312 +characters/cho/poses/default/clothes/top/bunny_top_2/skin.webp:483,649,151,286 +characters/cho/poses/default/clothes/top/dress_1/0.webp:445,529,270,671 +characters/cho/poses/default/clothes/top/dress_1/1.webp:461,531,250,186 +characters/cho/poses/default/clothes/top/dress_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/top/dress_1/extra.webp:471,545,228,146 +characters/cho/poses/default/clothes/top/dress_1/outline.webp:453,527,265,673 +characters/cho/poses/default/clothes/top/dress_1/skin.webp:427,557,282,238 +characters/cho/poses/default/clothes/top/dress_2/0.webp:457,525,244,466 +characters/cho/poses/default/clothes/top/dress_2/1.webp:527,595,60,52 +characters/cho/poses/default/clothes/top/dress_2/extra.webp:469,543,210,438 +characters/cho/poses/default/clothes/top/dress_2/outline.webp:455,521,250,471 +characters/cho/poses/default/clothes/top/dress_club/0.webp:452,559,245,411 +characters/cho/poses/default/clothes/top/dress_club/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/top/dress_club/outline.webp:449,558,250,414 +characters/cho/poses/default/clothes/top/police/0.webp:468,539,265,226 +characters/cho/poses/default/clothes/top/police/1.webp:546,639,18,117 +characters/cho/poses/default/clothes/top/police/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/top/police/extra.webp:635,611,8,23 +characters/cho/poses/default/clothes/top/police/outline.webp:467,538,267,228 +characters/cho/poses/default/clothes/top/sheer_nightie_1/0.webp:466,597,189,250 +characters/cho/poses/default/clothes/top/sheer_nightie_1/1.webp:492,604,54,44 +characters/cho/poses/default/clothes/top/sheer_nightie_1/outline.webp:464,550,192,300 +characters/cho/poses/default/clothes/top/sheer_nightie_1/skin.webp:492,607,54,43 +characters/cho/poses/default/clothes/top/smurfette/0.webp:419,559,316,519 +characters/cho/poses/default/clothes/top/smurfette/1.webp:442,899,267,106 +characters/cho/poses/default/clothes/top/smurfette/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/top/smurfette/outline.webp:419,557,319,521 +characters/cho/poses/default/clothes/top/smurfette/skin.webp:481,564,187,518 +characters/cho/poses/default/clothes/top/toon_shirt/0.webp:467,563,190,213 +characters/cho/poses/default/clothes/top/toon_shirt/extra.webp:510,637,68,63 +characters/cho/poses/default/clothes/top/toon_shirt/outline.webp:466,560,194,219 +characters/cho/poses/default/clothes/top/toon_shirt/skin.webp:504,563,159,218 +characters/cho/poses/default/clothes/top/top_chun_li/0.webp:468,534,196,193 +characters/cho/poses/default/clothes/top/top_chun_li/1.webp:472,530,195,171 +characters/cho/poses/default/clothes/top/top_chun_li/extra.webp:503,572,161,128 +characters/cho/poses/default/clothes/top/top_chun_li/outline.webp:467,527,204,231 +characters/cho/poses/default/clothes/top/top_hoodie_1/0.webp:459,537,275,333 +characters/cho/poses/default/clothes/top/top_hoodie_1/1.webp:507,591,104,150 +characters/cho/poses/default/clothes/top/top_hoodie_1/outline.webp:457,535,279,337 +characters/cho/poses/default/clothes/top/top_hoodie_1/skin.webp:480,577,238,296 +characters/cho/poses/default/clothes/top/top_j_school_1/0.webp:436,576,286,361 +characters/cho/poses/default/clothes/top/top_j_school_1/0_back.webp:650,866,39,41 +characters/cho/poses/default/clothes/top/top_j_school_1/1.webp:519,637,60,78 +characters/cho/poses/default/clothes/top/top_j_school_1/2.webp:477,548,250,220 +characters/cho/poses/default/clothes/top/top_j_school_1/3.webp:477,570,248,300 +characters/cho/poses/default/clothes/top/top_j_school_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/top/top_j_school_1/outline.webp:456,547,272,391 +characters/cho/poses/default/clothes/top/top_j_school_1/outline_back.webp:649,863,42,45 +characters/cho/poses/default/clothes/top/top_j_school_1/skin.webp:466,576,243,351 +characters/cho/poses/default/clothes/top/top_quid_1/0.webp:467,556,189,220 +characters/cho/poses/default/clothes/top/top_quid_1/1.webp:500,632,128,154 +characters/cho/poses/default/clothes/top/top_quid_1/extra.webp:467,557,189,229 +characters/cho/poses/default/clothes/top/top_quid_1/outline.webp:459,556,198,238 +characters/cho/poses/default/clothes/top/top_quid_1/skin.webp:490,571,179,221 +characters/cho/poses/default/clothes/top/top_sailor_1/0.webp:460,548,262,158 +characters/cho/poses/default/clothes/top/top_sailor_1/1.webp:473,560,246,161 +characters/cho/poses/default/clothes/top/top_sailor_1/outline.webp:457,545,267,179 +characters/cho/poses/default/clothes/top/top_school_1/0.webp:479,519,250,184 +characters/cho/poses/default/clothes/top/top_school_1/0_front.webp:503,519,132,167 +characters/cho/poses/default/clothes/top/top_school_1/1.webp:464,560,200,303 +characters/cho/poses/default/clothes/top/top_school_1/2.webp:472,561,253,317 +characters/cho/poses/default/clothes/top/top_school_1/3.webp:476,553,248,326 +characters/cho/poses/default/clothes/top/top_school_1/outline.webp:464,519,267,362 +characters/cho/poses/default/clothes/top/top_school_1/outline_front.webp:501,519,138,111 +characters/cho/poses/default/clothes/top/top_school_1/skin.webp:480,561,230,322 +characters/cho/poses/default/clothes/top/top_school_2/0.webp:479,519,250,185 +characters/cho/poses/default/clothes/top/top_school_2/0_front.webp:503,519,132,87 +characters/cho/poses/default/clothes/top/top_school_2/1.webp:464,560,200,303 +characters/cho/poses/default/clothes/top/top_school_2/2.webp:472,549,253,329 +characters/cho/poses/default/clothes/top/top_school_2/3.webp:476,553,248,326 +characters/cho/poses/default/clothes/top/top_school_2/extra.webp:548,617,10,10 +characters/cho/poses/default/clothes/top/top_school_2/outline.webp:464,519,267,362 +characters/cho/poses/default/clothes/top/top_school_2/outline_front.webp:513,519,124,90 +characters/cho/poses/default/clothes/top/top_school_2/skin.webp:529,561,181,146 +characters/cho/poses/default/clothes/top/top_school_3/0.webp:466,519,263,288 +characters/cho/poses/default/clothes/top/top_school_3/0_front.webp:512,519,124,86 +characters/cho/poses/default/clothes/top/top_school_3/1.webp:512,579,214,170 +characters/cho/poses/default/clothes/top/top_school_3/2.webp:512,574,212,189 +characters/cho/poses/default/clothes/top/top_school_3/extra.webp:537,786,8,12 +characters/cho/poses/default/clothes/top/top_school_3/outline.webp:465,519,266,289 +characters/cho/poses/default/clothes/top/top_school_3/outline_front.webp:513,519,124,86 +characters/cho/poses/default/clothes/top/top_school_3/skin.webp:552,561,158,146 +characters/cho/poses/default/clothes/top/top_school_4/0.webp:466,520,263,287 +characters/cho/poses/default/clothes/top/top_school_4/0_front.webp:512,520,125,84 +characters/cho/poses/default/clothes/top/top_school_4/1.webp:648,655,78,37 +characters/cho/poses/default/clothes/top/top_school_4/2.webp:650,663,74,21 +characters/cho/poses/default/clothes/top/top_school_4/extra.webp:529,617,29,181 +characters/cho/poses/default/clothes/top/top_school_4/outline.webp:465,519,266,289 +characters/cho/poses/default/clothes/top/top_school_4/outline_front.webp:513,519,124,86 +characters/cho/poses/default/clothes/top/top_school_4/skin.webp:552,561,158,146 +characters/cho/poses/default/clothes/top/top_school_5/0.webp:466,520,263,287 +characters/cho/poses/default/clothes/top/top_school_5/0_front.webp:508,520,130,128 +characters/cho/poses/default/clothes/top/top_school_5/1.webp:648,655,78,37 +characters/cho/poses/default/clothes/top/top_school_5/2.webp:650,663,74,21 +characters/cho/poses/default/clothes/top/top_school_5/extra.webp:529,654,16,144 +characters/cho/poses/default/clothes/top/top_school_5/outline.webp:465,519,266,289 +characters/cho/poses/default/clothes/top/top_school_5/outline_front.webp:504,519,134,131 +characters/cho/poses/default/clothes/top/top_school_5/skin.webp:533,552,177,155 +characters/cho/poses/default/clothes/top/top_school_6/0.webp:463,560,201,303 +characters/cho/poses/default/clothes/top/top_school_6/1.webp:472,548,207,330 +characters/cho/poses/default/clothes/top/top_school_6/2.webp:476,554,198,325 +characters/cho/poses/default/clothes/top/top_school_6/outline.webp:464,547,217,334 +characters/cho/poses/default/clothes/top/top_school_6/skin.webp:480,571,196,312 +characters/cho/poses/default/clothes/top/top_shirt_1/0.webp:467,564,187,144 +characters/cho/poses/default/clothes/top/top_shirt_1/outline.webp:466,561,190,150 +characters/cho/poses/default/clothes/top/top_sweater_1/0.webp:460,553,505,398 +characters/cho/poses/default/clothes/top/top_sweater_1/0_front.webp:658,824,307,127 +characters/cho/poses/default/clothes/top/top_sweater_1/1.webp:464,556,258,382 +characters/cho/poses/default/clothes/top/top_sweater_1/1_front.webp:672,877,50,61 +characters/cho/poses/default/clothes/top/top_sweater_1/armfix.webp:653,843,72,246 +characters/cho/poses/default/clothes/top/top_sweater_1/mask.webp:0,0,1010,1200 +characters/cho/poses/default/clothes/top/top_sweater_1/outline.webp:458,550,270,403 +characters/cho/poses/default/clothes/top/top_sweater_1/outline_front.webp:660,824,68,128 +characters/cho/poses/default/clothes/top/top_sweater_2/0.webp:455,557,235,376 +characters/cho/poses/default/clothes/top/top_sweater_2/outline.webp:453,556,238,378 +characters/cho/poses/default/clothes/top/top_tanktop_1/0.webp:465,562,250,362 +characters/cho/poses/default/clothes/top/top_tanktop_1/outline.webp:463,558,253,367 +characters/cho/poses/default/clothes/top/top_tanktop_1/skin.webp:473,575,236,353 +characters/cho/poses/default/clothes/top/top_tanktop_2/0.webp:465,562,199,311 +characters/cho/poses/default/clothes/top/top_tanktop_2/outline.webp:463,558,205,318 +characters/cho/poses/default/clothes/top/top_tanktop_2/skin.webp:478,575,173,303 +characters/cho/poses/default/clothes/top/top_virgin_killer/0.webp:467,559,255,398 +characters/cho/poses/default/clothes/top/top_virgin_killer/1.webp:462,816,217,87 +characters/cho/poses/default/clothes/top/top_virgin_killer/outline.webp:460,556,264,404 +characters/cho/poses/default/clothes/top/top_virgin_killer/skin.webp:469,575,240,272 +characters/cho/poses/default/clothes/top/top_woolly_sweater_1/0.webp:462,552,282,362 +characters/cho/poses/default/clothes/top/top_woolly_sweater_1/outline.webp:460,552,286,362 +characters/cho/poses/default/clothes/top/top_woolly_sweater_1/skin.webp:477,862,236,57 +characters/cho/poses/default/cum/body/heavy/cum.webp:509,438,134,417 +characters/cho/poses/default/cum/body/heavy/skin.webp:514,472,114,384 +characters/cho/poses/default/cum/body/light/cum.webp:509,552,119,271 +characters/cho/poses/default/cum/body/light/skin.webp:522,553,106,230 +characters/cho/poses/default/cum/breasts/heavy/cum.webp:467,611,178,141 +characters/cho/poses/default/cum/breasts/heavy/skin.webp:489,611,157,143 +characters/cho/poses/default/cum/breasts/light/cum.webp:475,593,182,136 +characters/cho/poses/default/cum/breasts/light/skin.webp:476,593,181,136 +characters/cho/poses/default/cum/crotch/heavy/cum.webp:440,778,215,321 +characters/cho/poses/default/cum/crotch/heavy/skin.webp:442,779,214,316 +characters/cho/poses/default/cum/crotch/light/cum.webp:440,780,191,314 +characters/cho/poses/default/cum/crotch/light/skin.webp:442,780,190,315 +characters/cho/poses/default/cum/face/heavy/cum.webp:497,388,100,134 +characters/cho/poses/default/cum/face/heavy/skin.webp:498,390,83,126 +characters/cho/poses/default/cum/face/light/cum.webp:500,403,102,122 +characters/cho/poses/default/cum/face/light/skin.webp:502,403,84,119 +characters/cho/poses/default/cum/hair/heavy/default/cum.webp:489,265,211,169 +characters/cho/poses/default/cum/hair/light/default/cum.webp:488,356,123,72 +characters/cho/poses/default/cum/legs/heavy/cum.webp:632,1044,90,135 +characters/cho/poses/default/cum/legs/heavy/skin.webp:634,1044,89,136 +characters/cho/poses/default/cum/legs/light/cum.webp:632,1044,22,102 +characters/cho/poses/default/cum/legs/light/skin.webp:634,1044,22,103 +characters/cho/poses/default/cum/pussy/heavy/cum.webp:542,940,18,71 +characters/cho/poses/default/cum/pussy/light/cum.webp:545,940,16,42 +characters/cho/poses/default/emote/angry.webp:576,379,45,43 +characters/cho/poses/default/emote/confused.webp:419,248,129,101 +characters/cho/poses/default/emote/happy.webp:420,229,123,146 +characters/cho/poses/default/emote/hearts.webp:377,219,175,146 +characters/cho/poses/default/emote/shocked.webp:407,222,136,128 +characters/cho/poses/default/emote/sweat.webp:572,360,42,67 +characters/cho/poses/default/face/cheeks/blush/expression.webp:499,441,108,49 +characters/cho/poses/default/face/cheeks/heavy_blush/expression.webp:499,441,108,49 +characters/cho/poses/default/face/eyebrows/angry/expression.webp:493,415,103,18 +characters/cho/poses/default/face/eyebrows/angry/skin.webp:496,416,110,27 +characters/cho/poses/default/face/eyebrows/base/expression.webp:492,415,110,14 +characters/cho/poses/default/face/eyebrows/base/skin.webp:496,418,102,25 +characters/cho/poses/default/face/eyebrows/raised/expression.webp:485,402,113,28 +characters/cho/poses/default/face/eyebrows/raised/skin.webp:496,418,102,25 +characters/cho/poses/default/face/eyebrows/worried/expression.webp:492,414,109,17 +characters/cho/poses/default/face/eyebrows/worried/skin.webp:496,416,101,27 +characters/cho/poses/default/face/eyes/base/expression.webp:498,424,99,25 +characters/cho/poses/default/face/eyes/base/eyemask.webp:504,428,85,19 +characters/cho/poses/default/face/eyes/base/skin.webp:498,436,99,14 +characters/cho/poses/default/face/eyes/closed/expression.webp:496,425,101,25 +characters/cho/poses/default/face/eyes/closed/skin.webp:498,436,99,14 +characters/cho/poses/default/face/eyes/happyCl/expression.webp:497,426,102,20 +characters/cho/poses/default/face/eyes/happyCl/skin.webp:498,436,99,11 +characters/cho/poses/default/face/eyes/narrow/expression.webp:498,424,99,25 +characters/cho/poses/default/face/eyes/narrow/eyemask.webp:504,431,85,16 +characters/cho/poses/default/face/eyes/narrow/skin.webp:498,436,99,14 +characters/cho/poses/default/face/eyes/wide/expression.webp:496,420,102,30 +characters/cho/poses/default/face/eyes/wide/eyemask.webp:502,424,89,24 +characters/cho/poses/default/face/eyes/wide/skin.webp:498,436,99,14 +characters/cho/poses/default/face/eyes/wink/expression.webp:497,424,100,25 +characters/cho/poses/default/face/eyes/wink/eyemask.webp:558,428,31,18 +characters/cho/poses/default/face/eyes/wink/skin.webp:498,436,99,14 +characters/cho/poses/default/face/mouth/angry/expression.webp:527,482,48,25 +characters/cho/poses/default/face/mouth/annoyed/expression.webp:523,484,30,21 +characters/cho/poses/default/face/mouth/base/expression.webp:526,487,41,15 +characters/cho/poses/default/face/mouth/clench/expression.webp:526,479,51,28 +characters/cho/poses/default/face/mouth/crooked_smile/expression.webp:524,481,50,30 +characters/cho/poses/default/face/mouth/disgust/expression.webp:525,489,48,21 +characters/cho/poses/default/face/mouth/grin/expression.webp:522,481,52,32 +characters/cho/poses/default/face/mouth/horny/expression.webp:527,487,43,15 +characters/cho/poses/default/face/mouth/mad/expression.webp:528,487,43,23 +characters/cho/poses/default/face/mouth/normal/expression.webp:526,487,34,15 +characters/cho/poses/default/face/mouth/open/expression.webp:531,485,30,29 +characters/cho/poses/default/face/mouth/open_tongue/expression.webp:531,485,30,29 +characters/cho/poses/default/face/mouth/open_wide_tongue/expression.webp:506,482,93,60 +characters/cho/poses/default/face/mouth/quiver/expression.webp:525,487,41,17 +characters/cho/poses/default/face/mouth/scream/expression.webp:506,482,93,53 +characters/cho/poses/default/face/mouth/silly/expression.webp:525,485,41,28 +characters/cho/poses/default/face/mouth/smile/expression.webp:526,486,42,20 +characters/cho/poses/default/face/mouth/soft/expression.webp:529,486,31,22 +characters/cho/poses/default/face/mouth/upset/expression.webp:528,489,31,17 +characters/cho/poses/default/face/pupils/L/expression.webp:505,428,71,18 +characters/cho/poses/default/face/pupils/R/expression.webp:515,428,73,18 +characters/cho/poses/default/face/pupils/ahegao/expression.webp:513,421,62,18 +characters/cho/poses/default/face/pupils/down/expression.webp:511,435,68,18 +characters/cho/poses/default/face/pupils/downR/expression.webp:513,433,74,18 +characters/cho/poses/default/face/pupils/mid/expression.webp:512,428,70,17 +characters/cho/poses/default/face/pupils/stare/expression.webp:506,426,75,21 +characters/cho/poses/default/face/pupils/up/expression.webp:509,424,70,17 +characters/cho/poses/default/face/tears/tears_1.webp:524,374,94,26 +characters/cho/poses/default/face/tears/tears_2.webp:514,374,122,54 +characters/cho/poses/default/face/tears/tears_3.webp:524,376,116,112 +characters/cho/poses/default/face/tears/tears_4.webp:524,380,110,94 +characters/cho/poses/wand/bodyparts/frame/default/skin.webp:148,331,577,869 +characters/cho/poses/wand/chibi/stand/bodyparts/frame/default/skin.webp:190,123,225,648 +characters/cho/poses/wand/chibi/stand/clothes/bottom/default/overlay.webp:388,804,237,304 +characters/cho/poses/wand/chibi/stand/clothes/bottom/school_skirt_1/0.webp:388,804,237,304 +characters/cho/poses/wand/chibi/stand/clothes/bra/basic_bra_1/0.webp:435,577,185,181 +characters/cho/poses/wand/chibi/stand/clothes/bra/default/overlay.webp:435,577,185,181 +characters/cho/poses/wand/chibi/stand/clothes/footwear/default/overlay.webp:414,1111,176,188 +characters/cho/poses/wand/chibi/stand/clothes/panties/basic_panties_1/0.webp:449,824,146,109 +characters/cho/poses/wand/chibi/stand/clothes/panties/default/overlay.webp:449,824,146,109 +characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0.webp:296,550,353,634 +characters/cho/poses/wand/chibi/stand/clothes/robe/robe_school_1/0_back.webp:321,499,486,570 +characters/cho/poses/wand/chibi/stand/clothes/stockings/house/outline.webp:417,940,186,356 +characters/cho/poses/wand/chibi/stand/clothes/top/default/overlay.webp:368,547,257,331 +characters/cho/poses/wand/chibi/stand/clothes/top/top_school_1/outline.webp:368,547,257,331 +characters/cho/poses/wand/chibi/walk/bodyparts/frame/default/skin.webp:185,123,2025,1449 +characters/cho/poses/wand/clothes/hair/pigtails/0.webp:436,310,280,198 +characters/cho/poses/wand/clothes/hair/pigtails/1.webp:436,310,280,245 +characters/cho/poses/wand/clothes/hair/pigtails/2.webp:472,364,210,42 +characters/cho/poses/wand/clothes/hair/pigtails/outline.webp:432,309,284,207 +characters/cho/poses/wand/clothes/hair/pigtails/skin.webp:492,369,92,53 +characters/cho/poses/wand/clothes/hair/ponytail/0.webp:459,321,198,167 +characters/cho/poses/wand/clothes/hair/ponytail/0_back.webp:614,336,98,241 +characters/cho/poses/wand/clothes/hair/ponytail/1.webp:489,353,131,77 +characters/cho/poses/wand/clothes/hair/ponytail/1_back.webp:627,347,79,228 +characters/cho/poses/wand/clothes/hair/ponytail/outline.webp:458,321,200,168 +characters/cho/poses/wand/clothes/hair/ponytail/outline_back.webp:614,336,99,241 +characters/cho/poses/wand/clothes/hair/ponytail/skin.webp:494,389,137,55 +characters/cho/poses/wand/clothes/hair/smurfette/0.webp:447,314,317,229 +characters/cho/poses/wand/clothes/hair/smurfette/0_back.webp:428,414,336,252 +characters/cho/poses/wand/clothes/hair/smurfette/1.webp:442,325,315,218 +characters/cho/poses/wand/clothes/hair/smurfette/1_back.webp:430,337,327,280 +characters/cho/poses/wand/clothes/hair/smurfette/outline.webp:425,313,340,355 +characters/cho/poses/wand/clothes/hair/smurfette/outline_back.webp:425,345,339,322 +characters/cho/poses/wand/clothes/hair/smurfette/skin.webp:496,406,116,21 +characters/cho/poses/wand/clothes/pubes/arrow/0.webp:529,893,30,41 +characters/cho/poses/wand/clothes/pubes/arrow/outline.webp:529,895,30,37 +characters/cho/poses/wand/clothes/pubes/beaver/0.webp:524,887,48,71 +characters/cho/poses/wand/clothes/pubes/beaver/outline.webp:526,891,45,75 +characters/cho/poses/wand/clothes/pubes/heart/0.webp:537,906,17,18 +characters/cho/poses/wand/clothes/pubes/heart/1.webp:537,906,17,17 +characters/cho/poses/wand/clothes/pubes/heart/extra.webp:538,907,14,15 +characters/cho/poses/wand/clothes/pubes/heart/outline.webp:535,902,21,25 +characters/cho/poses/wand/clothes/pubes/stuble/0.webp:524,909,49,32 +characters/cho/poses/wand/clothes/pubes/thick/0.webp:518,907,59,49 +characters/cho/poses/wand/clothes/pubes/thick/1.webp:518,907,59,48 +characters/cho/poses/wand/clothes/pubes/thick/extra.webp:520,908,55,48 +characters/cho/poses/wand/clothes/pubes/thick/outline.webp:516,905,65,54 +characters/cho/poses/wand/clothes/pubes/unshaved/0.webp:526,909,42,47 +characters/cho/poses/wand/emote/angry.webp:576,379,45,43 +characters/cho/poses/wand/emote/confused.webp:419,248,129,101 +characters/cho/poses/wand/emote/happy.webp:420,229,123,146 +characters/cho/poses/wand/emote/hearts.webp:377,219,175,146 +characters/cho/poses/wand/emote/shocked.webp:407,222,136,128 +characters/cho/poses/wand/emote/sweat.webp:572,360,42,67 +characters/cho/poses/wand/face/cheeks/blush/expression.webp:499,441,108,49 +characters/cho/poses/wand/face/cheeks/heavy_blush/expression.webp:499,441,108,49 +characters/cho/poses/wand/face/eyebrows/angry/expression.webp:493,415,103,18 +characters/cho/poses/wand/face/eyebrows/angry/skin.webp:496,416,110,27 +characters/cho/poses/wand/face/eyebrows/base/expression.webp:492,415,110,14 +characters/cho/poses/wand/face/eyebrows/base/skin.webp:496,418,102,25 +characters/cho/poses/wand/face/eyebrows/raised/expression.webp:485,402,113,28 +characters/cho/poses/wand/face/eyebrows/raised/skin.webp:496,418,102,25 +characters/cho/poses/wand/face/eyebrows/worried/expression.webp:492,414,109,17 +characters/cho/poses/wand/face/eyebrows/worried/skin.webp:496,416,101,27 +characters/cho/poses/wand/face/eyes/base/expression.webp:498,424,99,25 +characters/cho/poses/wand/face/eyes/base/eyemask.webp:504,428,85,19 +characters/cho/poses/wand/face/eyes/base/skin.webp:498,436,99,14 +characters/cho/poses/wand/face/eyes/closed/expression.webp:496,425,101,25 +characters/cho/poses/wand/face/eyes/closed/skin.webp:498,436,99,14 +characters/cho/poses/wand/face/eyes/happyCl/expression.webp:497,426,102,20 +characters/cho/poses/wand/face/eyes/happyCl/skin.webp:498,436,99,11 +characters/cho/poses/wand/face/eyes/narrow/expression.webp:498,424,99,25 +characters/cho/poses/wand/face/eyes/narrow/eyemask.webp:504,431,85,16 +characters/cho/poses/wand/face/eyes/narrow/skin.webp:498,436,99,14 +characters/cho/poses/wand/face/eyes/wide/expression.webp:496,420,102,30 +characters/cho/poses/wand/face/eyes/wide/eyemask.webp:502,424,89,24 +characters/cho/poses/wand/face/eyes/wide/skin.webp:498,436,99,14 +characters/cho/poses/wand/face/eyes/wink/expression.webp:497,424,100,25 +characters/cho/poses/wand/face/eyes/wink/eyemask.webp:558,428,31,18 +characters/cho/poses/wand/face/eyes/wink/skin.webp:498,436,99,14 +characters/cho/poses/wand/face/mouth/angry/expression.webp:527,482,48,25 +characters/cho/poses/wand/face/mouth/annoyed/expression.webp:523,484,30,21 +characters/cho/poses/wand/face/mouth/base/expression.webp:526,487,41,15 +characters/cho/poses/wand/face/mouth/clench/expression.webp:526,479,51,28 +characters/cho/poses/wand/face/mouth/crooked_smile/expression.webp:524,481,50,30 +characters/cho/poses/wand/face/mouth/disgust/expression.webp:525,489,48,21 +characters/cho/poses/wand/face/mouth/grin/expression.webp:522,481,52,32 +characters/cho/poses/wand/face/mouth/horny/expression.webp:527,487,43,15 +characters/cho/poses/wand/face/mouth/mad/expression.webp:528,487,43,23 +characters/cho/poses/wand/face/mouth/normal/expression.webp:526,487,34,15 +characters/cho/poses/wand/face/mouth/open/expression.webp:531,485,30,29 +characters/cho/poses/wand/face/mouth/open_tongue/expression.webp:531,485,30,29 +characters/cho/poses/wand/face/mouth/open_wide_tongue/expression.webp:506,482,93,60 +characters/cho/poses/wand/face/mouth/quiver/expression.webp:525,487,41,17 +characters/cho/poses/wand/face/mouth/scream/expression.webp:506,482,93,53 +characters/cho/poses/wand/face/mouth/silly/expression.webp:525,485,41,28 +characters/cho/poses/wand/face/mouth/smile/expression.webp:526,486,42,20 +characters/cho/poses/wand/face/mouth/soft/expression.webp:529,486,31,22 +characters/cho/poses/wand/face/mouth/upset/expression.webp:528,489,31,17 +characters/cho/poses/wand/face/pupils/L/expression.webp:505,428,71,18 +characters/cho/poses/wand/face/pupils/R/expression.webp:515,428,73,18 +characters/cho/poses/wand/face/pupils/ahegao/expression.webp:513,421,62,18 +characters/cho/poses/wand/face/pupils/down/expression.webp:511,435,68,18 +characters/cho/poses/wand/face/pupils/downR/expression.webp:513,433,74,18 +characters/cho/poses/wand/face/pupils/mid/expression.webp:512,428,70,17 +characters/cho/poses/wand/face/pupils/stare/expression.webp:506,426,75,21 +characters/cho/poses/wand/face/pupils/up/expression.webp:509,424,70,17 +characters/cho/poses/wand/face/tears/tears_1.webp:524,374,94,26 +characters/cho/poses/wand/face/tears/tears_2.webp:514,374,122,54 +characters/cho/poses/wand/face/tears/tears_3.webp:524,376,116,112 +characters/cho/poses/wand/face/tears/tears_4.webp:524,380,110,94 characters/emotes/01.webp:614,227,125,126 characters/emotes/02.webp:323,87,164,208 characters/emotes/03.webp:289,209,174,144 @@ -1064,6 +1283,7 @@ characters/genie/base/muscular_covered.webp:1,25,746,1175 characters/genie/base/muscular_nude.webp:1,25,746,1175 characters/genie/base/open.webp:0,4,598,1196 characters/genie/base/showing.webp:0,4,598,1196 +characters/genie/beard.webp:578,492,356,186 characters/genie/chibis/drinking/01.webp:52,43,395,500 characters/genie/chibis/drinking/01_day.webp:218,43,333,484 characters/genie/chibis/drinking/02.webp:52,43,398,500 @@ -1207,29 +1427,15 @@ characters/genie/mage7.webp:0,0,419,510 characters/genie/mage8.webp:0,0,414,510 characters/genie/mage9.webp:2,0,409,510 characters/genie/open.webp:642,370,222,191 -characters/genie/robes.webp:57,123,1071,2377 -characters/genie/robes_fix.webp:774,300,182,435 +characters/genie/outfits/robes.webp:57,123,1071,2377 +characters/genie/outfits/robes_beard.webp:578,492,356,186 +characters/genie/outfits/santa.webp:223,127,879,2373 +characters/genie/outfits/santa_beard_angry.webp:574,396,302,467 +characters/genie/outfits/santa_beard_base.webp:574,395,302,468 +characters/genie/outfits/santa_beard_grin.webp:574,403,302,460 +characters/genie/outfits/santa_beard_open.webp:574,385,302,478 +characters/genie/outfits/santa_beard_smile.webp:574,402,302,461 characters/genie/smile.webp:580,370,297,242 -characters/hermione/body/armleft/down.webp:660,521,170,501 -characters/hermione/body/armright/down.webp:272,692,231,292 -characters/hermione/body/backside/big1.webp:450,726,246,474 -characters/hermione/body/backside/big2.webp:451,726,246,474 -characters/hermione/body/backside/big3.webp:450,726,248,474 -characters/hermione/body/base/back.webp:238,228,636,972 -characters/hermione/body/base/front.webp:454,277,276,923 -characters/hermione/body/breasts/big1.webp:431,557,237,180 -characters/hermione/body/breasts/big2.webp:430,558,240,187 -characters/hermione/body/breasts/big3.webp:425,558,245,198 -characters/hermione/body/breasts/big3_backside.webp:425,558,245,198 -characters/hermione/body/breasts/normal.webp:435,570,239,157 -characters/hermione/body/breasts/normal_tight.webp:442,570,232,157 -characters/hermione/body/kneel/kneel_arm.webp:146,512,380,292 -characters/hermione/body/kneel/kneel_base.webp:268,234,654,804 -characters/hermione/body/kneel/kneel_base_2.webp:268,234,654,804 -characters/hermione/body/kneel/kneel_cock.webp:188,788,204,186 -characters/hermione/body/kneel/kneel_cum_1.webp:478,236,220,364 -characters/hermione/body/kneel/kneel_hair.webp:472,234,282,218 -characters/hermione/body/kneel/kneel_leg.webp:504,156,458,1044 characters/hermione/chibis/01.webp:0,9,175,169 characters/hermione/chibis/Wand/aka16.webp:18,6,80,122 characters/hermione/chibis/Wand/aka17.webp:18,6,80,122 @@ -1939,1123 +2145,1317 @@ characters/hermione/chibis/walk/h_walk_robe_n_05.webp:6,13,180,345 characters/hermione/chibis/walk/h_walk_robe_n_06.webp:6,15,180,343 characters/hermione/chibis/walk/h_walk_robe_n_07.webp:6,17,180,339 characters/hermione/chibis/walk/h_walk_robe_n_08.webp:6,15,180,342 -characters/hermione/clothes/accessory/ball_sash/0.webp:417,770,304,224 -characters/hermione/clothes/accessory/ball_sash/0_back.webp:451,952,251,43 -characters/hermione/clothes/accessory/ball_sash/1.webp:498,766,131,125 -characters/hermione/clothes/accessory/ball_sash/extra.webp:510,769,43,117 -characters/hermione/clothes/accessory/ball_sash/outline.webp:414,765,308,232 -characters/hermione/clothes/accessory/ball_sash/outline_back.webp:458,990,242,7 -characters/hermione/clothes/accessory/bb_tie/0.webp:501,513,176,362 -characters/hermione/clothes/accessory/bb_tie/1.webp:502,569,83,305 -characters/hermione/clothes/accessory/bb_tie/2.webp:502,574,81,300 -characters/hermione/clothes/accessory/bb_tie/outline.webp:501,511,178,366 -characters/hermione/clothes/accessory/bb_tie/skin.webp:514,535,127,339 -characters/hermione/clothes/accessory/bunny_badge/0.webp:568,789,60,99 -characters/hermione/clothes/accessory/bunny_badge/outline.webp:568,789,61,101 -characters/hermione/clothes/accessory/cat_tail/0.webp:315,950,147,237 -characters/hermione/clothes/accessory/cat_tail/outline.webp:312,947,152,240 -characters/hermione/clothes/accessory/clit_vibrators/0.webp:530,835,85,155 -characters/hermione/clothes/accessory/clit_vibrators/1.webp:527,849,95,77 -characters/hermione/clothes/accessory/clit_vibrators/2.webp:558,964,133,38 -characters/hermione/clothes/accessory/clit_vibrators/extra.webp:533,899,63,75 -characters/hermione/clothes/accessory/clit_vibrators/outline.webp:525,834,167,170 -characters/hermione/clothes/accessory/clit_vibrators/skin.webp:542,838,67,131 -characters/hermione/clothes/accessory/croft_belt/0.webp:432,815,278,240 -characters/hermione/clothes/accessory/croft_belt/1.webp:443,869,225,175 -characters/hermione/clothes/accessory/croft_belt/2.webp:494,854,61,38 -characters/hermione/clothes/accessory/croft_belt/extra.webp:444,857,214,185 -characters/hermione/clothes/accessory/croft_belt/outline.webp:431,814,281,242 -characters/hermione/clothes/accessory/croft_suspenders/0.webp:506,510,184,172 -characters/hermione/clothes/accessory/croft_suspenders/1.webp:521,523,155,47 -characters/hermione/clothes/accessory/croft_suspenders/outline.webp:505,509,188,175 -characters/hermione/clothes/accessory/house_emblem/0.webp:557,611,62,69 -characters/hermione/clothes/accessory/house_emblem/1.webp:566,616,41,57 -characters/hermione/clothes/accessory/house_emblem/outline.webp:556,611,64,72 -characters/hermione/clothes/accessory/leg_wrap/0.webp:490,858,202,167 -characters/hermione/clothes/accessory/leg_wrap/1.webp:504,857,169,168 -characters/hermione/clothes/accessory/leg_wrap/outline.webp:488,856,207,170 -characters/hermione/clothes/accessory/msmarv_ribbon/0.webp:434,797,270,317 -characters/hermione/clothes/accessory/msmarv_ribbon/outline.webp:431,794,275,323 -characters/hermione/clothes/accessory/nipple_vibrators/0.webp:437,553,276,135 -characters/hermione/clothes/accessory/nipple_vibrators/1.webp:436,548,193,137 -characters/hermione/clothes/accessory/nipple_vibrators/2.webp:661,589,73,47 -characters/hermione/clothes/accessory/nipple_vibrators/extra.webp:440,628,257,35 -characters/hermione/clothes/accessory/nipple_vibrators/outline.webp:434,547,302,143 -characters/hermione/clothes/accessory/nipple_vibrators/skin.webp:451,571,266,94 -characters/hermione/clothes/accessory/tifa_belt/0.webp:452,841,237,111 -characters/hermione/clothes/accessory/tifa_belt/1.webp:524,894,22,10 -characters/hermione/clothes/accessory/tifa_belt/extra.webp:452,849,237,52 -characters/hermione/clothes/accessory/tifa_belt/outline.webp:451,840,240,112 -characters/hermione/clothes/accessory/tifa_suspenders/0.webp:476,512,202,326 -characters/hermione/clothes/accessory/tifa_suspenders/1.webp:475,544,181,305 -characters/hermione/clothes/accessory/tifa_suspenders/outline.webp:474,511,205,339 -characters/hermione/clothes/accessory/wrestling_belt/0.webp:457,811,218,102 -characters/hermione/clothes/accessory/wrestling_belt/1.webp:472,835,104,73 -characters/hermione/clothes/accessory/wrestling_belt/outline.webp:455,812,221,102 -characters/hermione/clothes/accessory/yen_belt/0.webp:454,848,250,132 -characters/hermione/clothes/accessory/yen_belt/1.webp:574,926,53,76 -characters/hermione/clothes/accessory/yen_belt/outline.webp:454,848,251,154 -characters/hermione/clothes/accessory/yen_corset/0.webp:484,722,161,129 -characters/hermione/clothes/accessory/yen_corset/1.webp:492,769,139,44 -characters/hermione/clothes/accessory/yen_corset/outline.webp:483,720,165,147 -characters/hermione/clothes/accessory/yen_corset/overlay.webp:497,774,131,41 -characters/hermione/clothes/accessory/yen_feathers/0.webp:402,570,554,192 -characters/hermione/clothes/accessory/yen_feathers/outline.webp:401,570,406,113 -characters/hermione/clothes/accessory/yen_sash/0.webp:454,785,270,398 -characters/hermione/clothes/accessory/yen_sash/1.webp:463,802,261,381 -characters/hermione/clothes/accessory/yen_sash/outline.webp:453,784,273,401 -characters/hermione/clothes/accessory/yen_scarf/0.webp:511,473,159,190 -characters/hermione/clothes/accessory/yen_scarf/outline.webp:509,471,163,193 -characters/hermione/clothes/bottom/bioshock_skirt/0.webp:378,829,398,371 -characters/hermione/clothes/bottom/bioshock_skirt/outline.webp:380,829,397,371 -characters/hermione/clothes/bottom/cheerleader_skirt_1/0.webp:420,803,304,197 -characters/hermione/clothes/bottom/cheerleader_skirt_1/1.webp:417,796,311,216 -characters/hermione/clothes/bottom/cheerleader_skirt_1/2.webp:420,804,305,197 -characters/hermione/clothes/bottom/cheerleader_skirt_1/outline.webp:415,793,315,221 -characters/hermione/clothes/bottom/cheerleader_skirt_1/skin.webp:469,798,203,218 -characters/hermione/clothes/bottom/cheerleader_skirt_2/0.webp:424,803,300,171 -characters/hermione/clothes/bottom/cheerleader_skirt_2/1.webp:424,801,299,172 -characters/hermione/clothes/bottom/cheerleader_skirt_2/2.webp:427,809,291,154 -characters/hermione/clothes/bottom/cheerleader_skirt_2/outline.webp:422,797,304,179 -characters/hermione/clothes/bottom/cheerleader_skirt_2/skin.webp:462,798,218,180 -characters/hermione/clothes/bottom/croft_shorts/0.webp:455,815,237,163 -characters/hermione/clothes/bottom/croft_shorts/1.webp:459,963,235,33 -characters/hermione/clothes/bottom/croft_shorts/2.webp:529,859,16,17 -characters/hermione/clothes/bottom/croft_shorts/outline.webp:454,814,242,185 -characters/hermione/clothes/bottom/egypt_loincloth/0.webp:511,899,97,301 -characters/hermione/clothes/bottom/egypt_loincloth/1.webp:455,843,236,95 -characters/hermione/clothes/bottom/egypt_loincloth/2.webp:537,896,28,39 -characters/hermione/clothes/bottom/egypt_loincloth/extra.webp:478,861,154,68 -characters/hermione/clothes/bottom/egypt_loincloth/outline.webp:453,841,240,359 -characters/hermione/clothes/bottom/jeans_1/0.webp:453,822,242,378 -characters/hermione/clothes/bottom/jeans_1/1.webp:461,824,212,46 -characters/hermione/clothes/bottom/jeans_1/2.webp:521,843,52,34 -characters/hermione/clothes/bottom/jeans_1/extra.webp:468,868,201,234 -characters/hermione/clothes/bottom/jeans_1/outline.webp:452,819,244,381 -characters/hermione/clothes/bottom/open_skirt_1/0.webp:441,807,301,393 -characters/hermione/clothes/bottom/open_skirt_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/bottom/open_skirt_1/outline.webp:440,805,302,395 -characters/hermione/clothes/bottom/pajama_1/0.webp:451,802,246,398 -characters/hermione/clothes/bottom/pajama_1/1.webp:465,808,214,392 -characters/hermione/clothes/bottom/pajama_1/2.webp:454,804,237,396 -characters/hermione/clothes/bottom/pajama_1/outline.webp:450,800,248,400 -characters/hermione/clothes/bottom/pajama_2/0.webp:451,802,246,398 -characters/hermione/clothes/bottom/pajama_2/1.webp:520,833,60,87 -characters/hermione/clothes/bottom/pajama_2/outline.webp:450,800,248,400 -characters/hermione/clothes/bottom/pizza_skirt/0.webp:456,797,236,143 -characters/hermione/clothes/bottom/pizza_skirt/1.webp:454,796,239,145 -characters/hermione/clothes/bottom/pizza_skirt/outline.webp:453,793,242,150 -characters/hermione/clothes/bottom/school_skirt_1/0.webp:446,767,262,393 -characters/hermione/clothes/bottom/school_skirt_1/1.webp:582,798,12,24 -characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/0.webp:391,708,320,238 -characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/1.webp:579,792,11,25 -characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/outline.webp:388,708,326,240 -characters/hermione/clothes/bottom/school_skirt_1/lift_skirt/skin.webp:456,808,227,134 -characters/hermione/clothes/bottom/school_skirt_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/bottom/school_skirt_1/outline.webp:445,766,264,398 -characters/hermione/clothes/bottom/school_skirt_2/0.webp:441,767,264,262 -characters/hermione/clothes/bottom/school_skirt_2/1.webp:582,798,12,24 -characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/0.webp:782,1416,640,475 -characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/1.webp:1158,1585,22,48 -characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/outline.webp:777,1416,651,479 -characters/hermione/clothes/bottom/school_skirt_2/lift_skirt/skin.webp:913,1617,452,267 -characters/hermione/clothes/bottom/school_skirt_2/mask.webp:0,0,1010,1200 -characters/hermione/clothes/bottom/school_skirt_2/outline.webp:439,766,268,264 -characters/hermione/clothes/bottom/school_skirt_3/0.webp:446,767,251,199 -characters/hermione/clothes/bottom/school_skirt_3/1.webp:582,798,12,24 -characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/0.webp:782,1416,640,475 -characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/1.webp:1158,1585,22,48 -characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/outline.webp:777,1416,651,479 -characters/hermione/clothes/bottom/school_skirt_3/lift_skirt/skin.webp:913,1617,452,267 -characters/hermione/clothes/bottom/school_skirt_3/mask.webp:0,0,1010,1200 -characters/hermione/clothes/bottom/school_skirt_3/outline.webp:444,766,255,190 -characters/hermione/clothes/bottom/school_skirt_4/0.webp:453,767,236,199 -characters/hermione/clothes/bottom/school_skirt_4/1.webp:582,798,12,24 -characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/0.webp:782,1416,640,475 -characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/1.webp:1158,1585,22,48 -characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/outline.webp:777,1416,651,479 -characters/hermione/clothes/bottom/school_skirt_4/lift_skirt/skin.webp:913,1617,452,267 -characters/hermione/clothes/bottom/school_skirt_4/mask.webp:0,0,1010,1200 -characters/hermione/clothes/bottom/school_skirt_4/outline.webp:450,766,240,160 -characters/hermione/clothes/bottom/tifa_skirt/0.webp:452,826,240,127 -characters/hermione/clothes/bottom/tifa_skirt/outline.webp:449,822,245,133 -characters/hermione/clothes/bottom/winter_skirt_1/0.webp:451,830,255,208 -characters/hermione/clothes/bottom/winter_skirt_1/outline.webp:451,828,255,210 -characters/hermione/clothes/bottom/xmas/0.webp:457,841,228,96 -characters/hermione/clothes/bottom/xmas/1.webp:443,824,255,134 -characters/hermione/clothes/bottom/xmas/extra.webp:458,849,165,84 -characters/hermione/clothes/bottom/xmas/outline.webp:442,823,257,136 -characters/hermione/clothes/bottom/xmas/skin.webp:458,825,215,139 -characters/hermione/clothes/bottom/yen_skirt/0.webp:454,824,239,151 -characters/hermione/clothes/bottom/yen_skirt/outline.webp:451,822,244,155 -characters/hermione/clothes/bra/bandaids/0.webp:437,634,169,66 -characters/hermione/clothes/bra/bandaids/outline.webp:435,632,173,68 -characters/hermione/clothes/bra/basic_bra_1/0.webp:436,516,243,209 -characters/hermione/clothes/bra/basic_bra_1/1.webp:523,677,26,22 -characters/hermione/clothes/bra/basic_bra_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/bra/basic_bra_1/outline.webp:447,515,235,211 -characters/hermione/clothes/bra/basic_bra_1/skin.webp:507,526,151,199 -characters/hermione/clothes/bra/basic_bra_vibrators/0.webp:436,516,243,209 -characters/hermione/clothes/bra/basic_bra_vibrators/1.webp:524,677,25,22 -characters/hermione/clothes/bra/basic_bra_vibrators/outline.webp:434,515,247,211 -characters/hermione/clothes/bra/basic_bra_vibrators/skin.webp:507,527,151,198 -characters/hermione/clothes/bra/bikini_bra_1/0.webp:436,626,160,65 -characters/hermione/clothes/bra/bikini_bra_1/1.webp:450,626,148,67 -characters/hermione/clothes/bra/bikini_bra_1/extra.webp:433,635,149,51 -characters/hermione/clothes/bra/bikini_bra_1/outline.webp:435,489,237,204 -characters/hermione/clothes/bra/bikini_bra_2/0.webp:433,608,186,97 -characters/hermione/clothes/bra/bikini_bra_2/1.webp:476,496,185,209 -characters/hermione/clothes/bra/bikini_bra_2/extra.webp:434,643,152,46 -characters/hermione/clothes/bra/bikini_bra_2/outline.webp:432,494,229,213 -characters/hermione/clothes/bra/bikini_bra_2/skin.webp:463,528,178,174 -characters/hermione/clothes/bra/hslut_pasties/0.webp:437,629,177,66 -characters/hermione/clothes/bra/hslut_pasties/1.webp:416,653,177,110 -characters/hermione/clothes/bra/hslut_pasties/extra.webp:416,629,198,123 -characters/hermione/clothes/bra/hslut_pasties/outline.webp:413,627,203,138 -characters/hermione/clothes/bra/poker_bra_1/0.webp:455,509,217,425 -characters/hermione/clothes/bra/poker_bra_1/1.webp:450,580,156,261 -characters/hermione/clothes/bra/poker_bra_1/2.webp:437,618,224,291 -characters/hermione/clothes/bra/poker_bra_1/3.webp:499,838,80,61 -characters/hermione/clothes/bra/poker_bra_1/extra.webp:437,512,207,383 -characters/hermione/clothes/bra/poker_bra_1/outline.webp:436,508,239,434 -characters/hermione/clothes/bra/poker_bra_1/skin.webp:447,521,220,410 -characters/hermione/clothes/bra/ribbon/0.webp:464,618,206,125 -characters/hermione/clothes/bra/ribbon/extra.webp:465,618,182,125 -characters/hermione/clothes/bra/ribbon/mask.webp:0,0,1010,1200 -characters/hermione/clothes/bra/ribbon/outline.webp:462,616,209,129 -characters/hermione/clothes/bra/ribbon/skin.webp:463,565,209,159 -characters/hermione/clothes/bra/sling_bra/0.webp:436,619,176,122 -characters/hermione/clothes/bra/sling_bra/1.webp:458,505,202,237 -characters/hermione/clothes/bra/sling_bra/extra.webp:436,521,216,221 -characters/hermione/clothes/bra/sling_bra/outline.webp:434,502,227,241 -characters/hermione/clothes/bra/sling_bra/skin.webp:457,526,192,213 -characters/hermione/clothes/bra/sports_bra/0.webp:436,507,247,233 -characters/hermione/clothes/bra/sports_bra/1.webp:607,705,34,31 -characters/hermione/clothes/bra/sports_bra/outline.webp:435,506,253,235 -characters/hermione/clothes/buttplug/buttplug_large_1/0.webp:650,841,123,79 -characters/hermione/clothes/buttplug/buttplug_large_1/1.webp:644,867,20,36 -characters/hermione/clothes/buttplug/buttplug_large_1/2.webp:589,845,69,59 -characters/hermione/clothes/buttplug/buttplug_large_1/outline.webp:588,839,187,82 -characters/hermione/clothes/buttplug/buttplug_medium_1/0.webp:652,822,90,69 -characters/hermione/clothes/buttplug/buttplug_medium_1/1.webp:650,828,101,83 -characters/hermione/clothes/buttplug/buttplug_medium_1/2.webp:647,868,105,54 -characters/hermione/clothes/buttplug/buttplug_medium_1/3.webp:595,847,59,44 -characters/hermione/clothes/buttplug/buttplug_medium_1/outline.webp:593,817,162,112 -characters/hermione/clothes/buttplug/buttplug_small_1/0.webp:664,847,46,58 -characters/hermione/clothes/buttplug/buttplug_small_1/1.webp:621,859,49,29 -characters/hermione/clothes/buttplug/buttplug_small_1/outline.webp:620,845,91,61 -characters/hermione/clothes/earrings/hslut_earring/0.webp:631,417,25,22 -characters/hermione/clothes/earrings/hslut_earring/extra.webp:632,417,24,21 -characters/hermione/clothes/earrings/hslut_earring/outline.webp:630,417,27,22 -characters/hermione/clothes/earrings/pearl_1/0.webp:643,415,7,7 -characters/hermione/clothes/earrings/pearl_1/extra.webp:644,415,3,4 -characters/hermione/clothes/earrings/pearl_1/outline.webp:642,414,9,9 -characters/hermione/clothes/earrings/poker_earring_1/0.webp:635,420,19,32 -characters/hermione/clothes/earrings/poker_earring_1/extra.webp:636,421,12,25 -characters/hermione/clothes/earrings/poker_earring_1/outline.webp:633,419,24,35 -characters/hermione/clothes/earrings/poker_earring_1/skin.webp:639,415,15,16 -characters/hermione/clothes/garterbelt/hslut_garter/0.webp:458,831,219,205 -characters/hermione/clothes/garterbelt/hslut_garter/1.webp:463,836,184,121 -characters/hermione/clothes/garterbelt/hslut_garter/extra.webp:463,859,177,175 -characters/hermione/clothes/garterbelt/hslut_garter/outline.webp:456,828,224,208 -characters/hermione/clothes/glasses/reading_glasses/0.webp:512,377,97,22 -characters/hermione/clothes/glasses/reading_glasses/outline.webp:510,375,119,25 -characters/hermione/clothes/glasses/vintage_glasses/0.webp:510,365,105,40 -characters/hermione/clothes/glasses/vintage_glasses/1.webp:506,362,158,48 -characters/hermione/clothes/glasses/vintage_glasses/2.webp:511,370,128,34 -characters/hermione/clothes/glasses/vintage_glasses/outline.webp:506,361,159,50 -characters/hermione/clothes/glasses/vintage_glasses/skin.webp:512,359,150,51 -characters/hermione/clothes/gloves/bunny_gloves_1/0.webp:335,846,457,120 -characters/hermione/clothes/gloves/bunny_gloves_1/outline.webp:337,849,451,118 -characters/hermione/clothes/gloves/cat_arms/0.webp:270,709,566,316 -characters/hermione/clothes/gloves/cat_arms/1.webp:306,937,481,51 -characters/hermione/clothes/gloves/cat_arms/2.webp:272,949,697,78 -characters/hermione/clothes/gloves/cat_arms/outline.webp:268,707,570,323 -characters/hermione/clothes/gloves/cheerleader_armband/0.webp:327,884,463,67 -characters/hermione/clothes/gloves/cheerleader_armband/1.webp:334,889,452,52 -characters/hermione/clothes/gloves/cheerleader_armband/outline.webp:326,882,465,71 -characters/hermione/clothes/gloves/egypt_armband/0.webp:339,819,445,129 -characters/hermione/clothes/gloves/egypt_armband/extra.webp:362,821,399,90 -characters/hermione/clothes/gloves/egypt_armband/outline.webp:336,817,450,133 -characters/hermione/clothes/gloves/hslut_gloves/0.webp:274,695,553,325 -characters/hermione/clothes/gloves/hslut_gloves/outline.webp:272,694,558,328 -characters/hermione/clothes/gloves/latex_gloves/0.webp:272,709,558,313 -characters/hermione/clothes/gloves/latex_gloves/extra.webp:273,711,556,296 -characters/hermione/clothes/gloves/latex_gloves/outline.webp:271,708,561,315 -characters/hermione/clothes/gloves/maid_gloves_1/0.webp:274,897,553,124 -characters/hermione/clothes/gloves/maid_gloves_1/1.webp:322,754,473,206 -characters/hermione/clothes/gloves/maid_gloves_1/2.webp:443,808,263,14 -characters/hermione/clothes/gloves/maid_gloves_1/outline.webp:272,752,558,270 -characters/hermione/clothes/gloves/msmarv_gloves/0.webp:274,647,553,373 -characters/hermione/clothes/gloves/msmarv_gloves/1.webp:299,657,513,323 -characters/hermione/clothes/gloves/msmarv_gloves/outline.webp:272,646,558,376 -characters/hermione/clothes/gloves/poker_gloves_1/0.webp:334,848,456,119 -characters/hermione/clothes/gloves/poker_gloves_1/1.webp:383,921,362,32 -characters/hermione/clothes/gloves/poker_gloves_1/outline.webp:334,847,457,123 -characters/hermione/clothes/gloves/poker_gloves_1/skin.webp:338,887,444,59 -characters/hermione/clothes/gloves/tifa_gloves/0.webp:381,663,382,210 -characters/hermione/clothes/gloves/tifa_gloves/1.webp:276,752,561,246 -characters/hermione/clothes/gloves/tifa_gloves/2.webp:286,735,551,225 -characters/hermione/clothes/gloves/tifa_gloves/3.webp:751,955,72,35 -characters/hermione/clothes/gloves/tifa_gloves/extra.webp:288,747,545,201 -characters/hermione/clothes/gloves/tifa_gloves/outline.webp:273,660,567,342 -characters/hermione/clothes/gloves/xmas/0.webp:331,884,460,68 -characters/hermione/clothes/gloves/xmas/outline.webp:330,883,462,70 -characters/hermione/clothes/gloves/yen_gloves/0.webp:272,779,557,241 -characters/hermione/clothes/gloves/yen_gloves/outline.webp:272,779,558,242 -characters/hermione/clothes/hair/base/0.webp:475,236,280,181 -characters/hermione/clothes/hair/base/0_back.webp:428,370,408,290 -characters/hermione/clothes/hair/base/1.webp:476,243,279,172 -characters/hermione/clothes/hair/base/1_back.webp:453,408,368,187 -characters/hermione/clothes/hair/base/2.webp:644,285,42,51 -characters/hermione/clothes/hair/base/extra.webp:668,285,18,45 -characters/hermione/clothes/hair/base/outline.webp:426,235,410,425 -characters/hermione/clothes/hair/base/outline_back.webp:426,370,410,290 -characters/hermione/clothes/hair/base/skin.webp:510,279,149,115 -characters/hermione/clothes/hair/bio_hair/0.webp:476,241,289,230 -characters/hermione/clothes/hair/bio_hair/1.webp:476,265,236,84 -characters/hermione/clothes/hair/bio_hair/outline.webp:475,240,292,236 -characters/hermione/clothes/hair/bio_hair/skin.webp:495,302,137,113 -characters/hermione/clothes/hair/updo/0.webp:486,233,256,255 -characters/hermione/clothes/hair/updo/0_front.webp:581,471,60,83 -characters/hermione/clothes/hair/updo/1.webp:486,233,255,239 -characters/hermione/clothes/hair/updo/1_front.webp:582,471,42,82 -characters/hermione/clothes/hair/updo/outline.webp:484,232,259,323 -characters/hermione/clothes/hair/updo/outline_front.webp:578,471,64,84 -characters/hermione/clothes/hair/updo/skin.webp:511,297,139,160 -characters/hermione/clothes/headgear/antlers/0.webp:476,216,245,80 -characters/hermione/clothes/headgear/antlers/outline.webp:474,215,249,87 -characters/hermione/clothes/headgear/bunny_hat_1/0.webp:484,149,159,133 -characters/hermione/clothes/headgear/bunny_hat_1/1.webp:493,162,137,117 -characters/hermione/clothes/headgear/bunny_hat_1/outline.webp:482,148,162,139 -characters/hermione/clothes/headgear/cat_ears/0.webp:487,223,208,116 -characters/hermione/clothes/headgear/cat_ears/1.webp:494,246,180,82 -characters/hermione/clothes/headgear/cat_ears/outline.webp:486,223,209,117 -characters/hermione/clothes/headgear/elf/0.webp:616,201,183,102 -characters/hermione/clothes/headgear/elf/1.webp:591,238,119,98 -characters/hermione/clothes/headgear/elf/extra.webp:613,201,108,84 -characters/hermione/clothes/headgear/elf/outline.webp:588,200,212,138 -characters/hermione/clothes/headgear/maid_hat_1/0.webp:506,231,164,95 -characters/hermione/clothes/headgear/maid_hat_1/outline.webp:505,229,166,98 -characters/hermione/clothes/headgear/panties_on_head/0.webp:514,252,150,120 -characters/hermione/clothes/headgear/panties_on_head/outline.webp:511,250,153,126 -characters/hermione/clothes/headgear/poker_hat_1/0.webp:480,185,115,116 -characters/hermione/clothes/headgear/poker_hat_1/1.webp:504,227,70,53 -characters/hermione/clothes/headgear/poker_hat_1/2.webp:541,219,54,60 -characters/hermione/clothes/headgear/poker_hat_1/extra.webp:463,234,145,94 -characters/hermione/clothes/headgear/poker_hat_1/outline.webp:478,183,118,120 -characters/hermione/clothes/headgear/poker_hat_1/overlay.webp:485,191,108,106 -characters/hermione/clothes/headgear/poker_hat_2/0.webp:480,185,115,116 -characters/hermione/clothes/headgear/poker_hat_2/1.webp:504,227,70,53 -characters/hermione/clothes/headgear/poker_hat_2/2.webp:541,219,54,60 -characters/hermione/clothes/headgear/poker_hat_2/extra.webp:488,234,120,74 -characters/hermione/clothes/headgear/poker_hat_2/outline.webp:478,183,118,120 -characters/hermione/clothes/headgear/poker_hat_2/overlay.webp:485,191,108,106 -characters/hermione/clothes/makeup/cat_muzzle/0.webp:535,416,18,9 -characters/hermione/clothes/makeup/cat_muzzle/outline.webp:494,406,125,34 -characters/hermione/clothes/makeup/cat_muzzle/skin.webp:538,419,20,8 -characters/hermione/clothes/makeup/freckles1/0.webp:518,394,96,32 -characters/hermione/clothes/makeup/freckles1_nonose/0.webp:518,396,96,30 -characters/hermione/clothes/makeup/freckles2/0.webp:532,562,103,36 -characters/hermione/clothes/makeup/freckles3/0.webp:515,520,201,33 -characters/hermione/clothes/makeup/lipstick/angry.webp:539,435,55,26 -characters/hermione/clothes/makeup/lipstick/annoyed.webp:532,437,35,19 -characters/hermione/clothes/makeup/lipstick/base.webp:541,439,41,16 -characters/hermione/clothes/makeup/lipstick/clench.webp:537,431,51,28 -characters/hermione/clothes/makeup/lipstick/crooked_smile.webp:536,433,55,31 -characters/hermione/clothes/makeup/lipstick/cum.webp:541,439,35,24 -characters/hermione/clothes/makeup/lipstick/disgust.webp:540,447,50,20 -characters/hermione/clothes/makeup/lipstick/full.webp:543,439,30,19 -characters/hermione/clothes/makeup/lipstick/full_cum.webp:543,439,30,19 -characters/hermione/clothes/makeup/lipstick/full_panties.webp:543,439,30,19 -characters/hermione/clothes/makeup/lipstick/grin.webp:537,437,53,27 -characters/hermione/clothes/makeup/lipstick/mad.webp:539,441,44,22 -characters/hermione/clothes/makeup/lipstick/normal.webp:541,439,35,16 -characters/hermione/clothes/makeup/lipstick/open.webp:541,436,32,32 -characters/hermione/clothes/makeup/lipstick/open_tongue.webp:541,436,32,32 -characters/hermione/clothes/makeup/lipstick/open_wide_tongue.webp:537,433,39,52 -characters/hermione/clothes/makeup/lipstick/open_wide_tongue_cum.webp:537,433,39,52 -characters/hermione/clothes/makeup/lipstick/open_wide_tongue_panties.webp:537,433,39,52 -characters/hermione/clothes/makeup/lipstick/scream.webp:537,433,39,52 -characters/hermione/clothes/makeup/lipstick/shock.webp:535,437,43,36 -characters/hermione/clothes/makeup/lipstick/silly.webp:540,433,46,32 -characters/hermione/clothes/makeup/lipstick/smile.webp:536,435,57,33 -characters/hermione/clothes/makeup/lipstick/soft.webp:538,439,36,26 -characters/hermione/clothes/makeup/lipstick/upset.webp:540,439,35,19 -characters/hermione/clothes/neckwear/ball_pearls_1/0.webp:558,483,102,74 -characters/hermione/clothes/neckwear/ball_pearls_1/outline.webp:556,481,107,79 -characters/hermione/clothes/neckwear/ball_pearls_1/overlay.webp:562,484,91,67 -characters/hermione/clothes/neckwear/basic_collar/0.webp:563,471,102,45 -characters/hermione/clothes/neckwear/basic_collar/1.webp:589,496,11,12 -characters/hermione/clothes/neckwear/basic_collar/extra.webp:564,480,65,34 -characters/hermione/clothes/neckwear/basic_collar/outline.webp:562,470,104,47 -characters/hermione/clothes/neckwear/bell_1/0.webp:578,473,72,34 -characters/hermione/clothes/neckwear/bell_1/1.webp:556,486,66,51 -characters/hermione/clothes/neckwear/bell_1/extra.webp:561,479,70,45 -characters/hermione/clothes/neckwear/bell_1/outline.webp:555,471,97,67 -characters/hermione/clothes/neckwear/bioshock_choker/0.webp:577,476,71,30 -characters/hermione/clothes/neckwear/bioshock_choker/extra.webp:588,482,25,26 -characters/hermione/clothes/neckwear/bunny_bowtie_1/0.webp:540,466,117,96 -characters/hermione/clothes/neckwear/bunny_bowtie_1/1.webp:548,512,80,51 -characters/hermione/clothes/neckwear/bunny_bowtie_1/outline.webp:539,461,121,108 -characters/hermione/clothes/neckwear/choker_1/0.webp:578,473,72,34 -characters/hermione/clothes/neckwear/choker_1/extra.webp:582,479,49,22 -characters/hermione/clothes/neckwear/choker_1/outline.webp:576,471,76,38 -characters/hermione/clothes/neckwear/egypt_neck/0.webp:543,475,170,103 -characters/hermione/clothes/neckwear/egypt_neck/1.webp:547,509,146,65 -characters/hermione/clothes/neckwear/egypt_neck/2.webp:575,504,26,39 -characters/hermione/clothes/neckwear/egypt_neck/extra.webp:548,494,78,80 -characters/hermione/clothes/neckwear/egypt_neck/outline.webp:541,474,177,106 -characters/hermione/clothes/neckwear/flasher_collar/0.webp:440,472,222,215 -characters/hermione/clothes/neckwear/flasher_collar/1.webp:436,512,170,173 -characters/hermione/clothes/neckwear/flasher_collar/extra.webp:566,480,62,35 -characters/hermione/clothes/neckwear/flasher_collar/outline.webp:435,470,228,219 -characters/hermione/clothes/neckwear/flasher_collar/overlay.webp:570,486,87,28 -characters/hermione/clothes/neckwear/good_girl_collar/0.webp:563,471,102,54 -characters/hermione/clothes/neckwear/good_girl_collar/1.webp:564,473,99,52 -characters/hermione/clothes/neckwear/good_girl_collar/2.webp:606,515,25,23 -characters/hermione/clothes/neckwear/good_girl_collar/extra.webp:564,480,65,34 -characters/hermione/clothes/neckwear/good_girl_collar/outline.webp:562,470,104,69 -characters/hermione/clothes/neckwear/good_girl_collar/overlay.webp:577,492,75,16 -characters/hermione/clothes/neckwear/hslut_choker/0.webp:613,481,43,38 -characters/hermione/clothes/neckwear/hslut_choker/1.webp:561,490,57,46 -characters/hermione/clothes/neckwear/hslut_choker/extra.webp:562,489,60,46 -characters/hermione/clothes/neckwear/hslut_choker/outline.webp:560,479,98,58 -characters/hermione/clothes/neckwear/latex_choker/0.webp:572,489,85,42 -characters/hermione/clothes/neckwear/latex_choker/extra.webp:580,508,20,5 -characters/hermione/clothes/neckwear/latex_choker/outline.webp:570,486,89,46 -characters/hermione/clothes/neckwear/maid_choker_1/0.webp:538,478,79,95 -characters/hermione/clothes/neckwear/maid_choker_1/1.webp:567,471,77,41 -characters/hermione/clothes/neckwear/maid_choker_1/outline.webp:537,467,109,108 -characters/hermione/clothes/neckwear/maid_choker_2/0.webp:567,471,77,41 -characters/hermione/clothes/neckwear/maid_choker_2/outline.webp:571,467,75,40 -characters/hermione/clothes/neckwear/poker_bowtie_1/0.webp:544,465,110,91 -characters/hermione/clothes/neckwear/poker_bowtie_1/1.webp:540,516,80,48 -characters/hermione/clothes/neckwear/poker_bowtie_1/2.webp:575,538,7,9 -characters/hermione/clothes/neckwear/poker_bowtie_1/extra.webp:541,518,78,34 -characters/hermione/clothes/neckwear/poker_bowtie_1/outline.webp:539,463,118,102 -characters/hermione/clothes/neckwear/poker_bowtie_1/skin.webp:532,504,93,65 -characters/hermione/clothes/neckwear/slave_collar/0.webp:563,471,102,58 -characters/hermione/clothes/neckwear/slave_collar/extra.webp:564,480,65,34 -characters/hermione/clothes/neckwear/slave_collar/outline.webp:562,470,104,60 -characters/hermione/clothes/neckwear/slave_collar/overlay.webp:580,488,69,25 -characters/hermione/clothes/neckwear/slut_collar/0.webp:566,472,96,44 -characters/hermione/clothes/neckwear/slut_collar/1.webp:584,491,55,22 -characters/hermione/clothes/neckwear/slut_collar/extra.webp:566,480,62,34 -characters/hermione/clothes/neckwear/slut_collar/outline.webp:565,470,98,60 -characters/hermione/clothes/neckwear/slut_collar/overlay.webp:586,493,50,17 -characters/hermione/clothes/neckwear/whore_collar/0.webp:566,472,96,44 -characters/hermione/clothes/neckwear/whore_collar/extra.webp:566,480,62,34 -characters/hermione/clothes/neckwear/whore_collar/outline.webp:565,470,98,57 -characters/hermione/clothes/neckwear/whore_collar/overlay.webp:577,486,74,29 -characters/hermione/clothes/neckwear/yen_choker/0.webp:579,477,69,29 -characters/hermione/clothes/neckwear/yen_choker/extra.webp:579,503,26,32 -characters/hermione/clothes/neckwear/yen_choker/outline.webp:577,475,72,60 -characters/hermione/clothes/panties/basic_panties_1/0.webp:459,822,223,112 -characters/hermione/clothes/panties/basic_panties_1/1.webp:527,850,19,18 -characters/hermione/clothes/panties/basic_panties_1/outline.webp:459,819,225,117 -characters/hermione/clothes/panties/basic_panties_1/skin.webp:463,824,208,101 -characters/hermione/clothes/panties/basic_panties_vibrators/0.webp:459,822,223,112 -characters/hermione/clothes/panties/basic_panties_vibrators/1.webp:528,850,17,17 -characters/hermione/clothes/panties/basic_panties_vibrators/outline.webp:458,819,226,117 -characters/hermione/clothes/panties/basic_panties_vibrators/skin.webp:463,824,209,101 -characters/hermione/clothes/panties/bikini_panties_1/0.webp:532,898,34,37 -characters/hermione/clothes/panties/bikini_panties_1/1.webp:472,849,94,82 -characters/hermione/clothes/panties/bikini_panties_1/outline.webp:466,840,203,96 -characters/hermione/clothes/panties/bikini_panties_2/0.webp:516,884,62,49 -characters/hermione/clothes/panties/bikini_panties_2/1.webp:475,817,178,72 -characters/hermione/clothes/panties/bikini_panties_2/extra.webp:528,899,37,16 -characters/hermione/clothes/panties/bikini_panties_2/outline.webp:470,816,187,117 -characters/hermione/clothes/panties/bikini_panties_2/skin.webp:477,826,168,74 -characters/hermione/clothes/panties/fishnet_panties/0.webp:461,822,233,113 -characters/hermione/clothes/panties/fishnet_panties/outline.webp:460,819,222,117 -characters/hermione/clothes/panties/hslut_panties/0.webp:522,887,51,46 -characters/hermione/clothes/panties/hslut_panties/1.webp:522,888,21,29 -characters/hermione/clothes/panties/hslut_panties/extra.webp:522,887,47,45 -characters/hermione/clothes/panties/hslut_panties/outline.webp:520,885,54,50 -characters/hermione/clothes/panties/latex_panties/0.webp:466,823,196,110 -characters/hermione/clothes/panties/latex_panties/extra.webp:478,854,126,65 -characters/hermione/clothes/panties/latex_panties/outline.webp:466,797,197,136 -characters/hermione/clothes/panties/pizza_panties/0.webp:513,877,68,77 -characters/hermione/clothes/panties/pizza_panties/outline.webp:508,858,82,140 -characters/hermione/clothes/panties/pizza_panties/overlay.webp:508,860,79,137 -characters/hermione/clothes/panties/poker_panties_1/0.webp:471,816,189,118 -characters/hermione/clothes/panties/poker_panties_1/1.webp:473,815,188,94 -characters/hermione/clothes/panties/poker_panties_1/2.webp:514,868,50,31 -characters/hermione/clothes/panties/poker_panties_1/extra.webp:471,819,160,76 -characters/hermione/clothes/panties/poker_panties_1/outline.webp:471,814,192,128 -characters/hermione/clothes/panties/poker_panties_1/skin.webp:471,818,162,113 -characters/hermione/clothes/panties/ribbon/0.webp:480,848,210,175 -characters/hermione/clothes/panties/ribbon/extra.webp:480,850,185,173 -characters/hermione/clothes/panties/ribbon/outline.webp:479,847,213,177 -characters/hermione/clothes/panties/ribbon/skin.webp:480,845,203,169 -characters/hermione/clothes/panties/sling_panties/0.webp:529,881,36,52 -characters/hermione/clothes/panties/sling_panties/1.webp:494,790,144,96 -characters/hermione/clothes/panties/sling_panties/extra.webp:497,803,119,117 -characters/hermione/clothes/panties/sling_panties/outline.webp:494,789,145,144 -characters/hermione/clothes/panties/sling_panties/skin.webp:497,792,123,129 -characters/hermione/clothes/panties/sports_panties/0.webp:467,796,202,140 -characters/hermione/clothes/panties/sports_panties/1.webp:609,799,45,53 -characters/hermione/clothes/panties/sports_panties/outline.webp:466,795,205,142 -characters/hermione/clothes/piercing/belly_dick/0.webp:530,781,15,59 -characters/hermione/clothes/piercing/belly_dick/extra.webp:530,783,14,57 -characters/hermione/clothes/piercing/belly_dick/outline.webp:529,781,16,59 -characters/hermione/clothes/piercing/belly_heart/0.webp:531,781,14,48 -characters/hermione/clothes/piercing/belly_heart/extra.webp:530,783,14,45 -characters/hermione/clothes/piercing/belly_heart/outline.webp:530,781,15,48 -characters/hermione/clothes/piercing/belly_stud/0.webp:538,775,7,18 -characters/hermione/clothes/piercing/belly_stud/extra.webp:538,777,6,16 -characters/hermione/clothes/piercing/belly_stud/outline.webp:537,775,8,18 -characters/hermione/clothes/piercing/clit_stud/0.webp:545,920,7,8 -characters/hermione/clothes/piercing/clit_stud/extra.webp:546,920,6,8 -characters/hermione/clothes/piercing/clit_stud/outline.webp:544,919,9,10 -characters/hermione/clothes/piercing/nipple_bells/0.webp:428,656,160,41 -characters/hermione/clothes/piercing/nipple_bells/extra.webp:429,659,155,34 -characters/hermione/clothes/piercing/nipple_bells/outline.webp:427,656,161,41 -characters/hermione/clothes/piercing/nipple_rings/0.webp:436,660,150,24 -characters/hermione/clothes/piercing/nipple_rings/extra.webp:568,668,17,15 -characters/hermione/clothes/piercing/nipple_rings/outline.webp:435,658,151,26 -characters/hermione/clothes/piercing/nipple_rings2/0.webp:436,660,150,24 -characters/hermione/clothes/piercing/nipple_rings2/extra.webp:568,668,17,15 -characters/hermione/clothes/piercing/nipple_rings2/outline.webp:435,658,151,27 -characters/hermione/clothes/piercing/nipple_rings3/0.webp:436,657,150,27 -characters/hermione/clothes/piercing/nipple_rings3/extra.webp:568,668,17,15 -characters/hermione/clothes/piercing/nipple_rings3/outline.webp:435,656,151,28 -characters/hermione/clothes/piercing/nipple_stud/0.webp:441,655,146,20 -characters/hermione/clothes/piercing/nipple_stud/extra.webp:441,655,145,20 -characters/hermione/clothes/piercing/nipple_stud/outline.webp:440,654,148,23 -characters/hermione/clothes/piercing/poker_belly_1/0.webp:525,778,22,26 -characters/hermione/clothes/piercing/poker_belly_1/1.webp:525,767,22,37 -characters/hermione/clothes/piercing/poker_belly_1/2.webp:530,782,10,13 -characters/hermione/clothes/piercing/poker_belly_1/3.webp:534,767,11,11 -characters/hermione/clothes/piercing/poker_belly_1/extra.webp:526,767,20,37 -characters/hermione/clothes/piercing/poker_belly_1/outline.webp:525,765,22,39 -characters/hermione/clothes/piercing/poker_belly_1/skin.webp:534,765,15,41 -characters/hermione/clothes/pubes/arrow/0.webp:525,872,39,51 -characters/hermione/clothes/pubes/arrow/outline.webp:525,874,34,44 -characters/hermione/clothes/pubes/beaver/0.webp:514,853,64,88 -characters/hermione/clothes/pubes/beaver/outline.webp:516,857,58,87 -characters/hermione/clothes/pubes/stuble/0.webp:524,894,49,32 -characters/hermione/clothes/pubes/unshaved/0.webp:526,891,42,41 -characters/hermione/clothes/robe/bioshock_robe/0.webp:372,453,392,422 -characters/hermione/clothes/robe/bioshock_robe/1.webp:330,841,450,95 -characters/hermione/clothes/robe/bioshock_robe/outline.webp:329,453,452,483 -characters/hermione/clothes/robe/robe_school_1/0.webp:338,535,472,665 -characters/hermione/clothes/robe/robe_school_1/0_back.webp:0,0,0,0 -characters/hermione/clothes/robe/robe_school_1/1.webp:511,620,57,9 -characters/hermione/clothes/robe/robe_school_1/1_back.webp:0,0,0,0 -characters/hermione/clothes/robe/robe_school_1/2.webp:335,474,463,528 -characters/hermione/clothes/robe/robe_school_1/2_back.webp:335,898,108,89 -characters/hermione/clothes/robe/robe_school_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/robe/robe_school_1/outline.webp:334,474,479,726 -characters/hermione/clothes/robe/robe_school_1/outline_back.webp:334,824,115,166 -characters/hermione/clothes/robe/robe_school_1/skin.webp:339,521,456,432 -characters/hermione/clothes/robe/robe_school_2/0.webp:338,535,472,665 -characters/hermione/clothes/robe/robe_school_2/0_back.webp:0,0,0,0 -characters/hermione/clothes/robe/robe_school_2/1.webp:511,620,57,9 -characters/hermione/clothes/robe/robe_school_2/1_back.webp:0,0,0,0 -characters/hermione/clothes/robe/robe_school_2/2.webp:336,474,462,528 -characters/hermione/clothes/robe/robe_school_2/2_back.webp:335,898,217,302 -characters/hermione/clothes/robe/robe_school_2/extra.webp:411,686,284,514 -characters/hermione/clothes/robe/robe_school_2/mask.webp:0,0,1010,1200 -characters/hermione/clothes/robe/robe_school_2/outline.webp:334,474,479,726 -characters/hermione/clothes/robe/robe_school_2/outline_back.webp:334,824,226,376 -characters/hermione/clothes/robe/robe_school_2/skin.webp:339,521,456,432 -characters/hermione/clothes/robe/robe_school_3/0.webp:338,535,472,665 -characters/hermione/clothes/robe/robe_school_3/0_back.webp:0,0,0,0 -characters/hermione/clothes/robe/robe_school_3/1.webp:511,620,57,9 -characters/hermione/clothes/robe/robe_school_3/1_back.webp:0,0,0,0 -characters/hermione/clothes/robe/robe_school_3/2.webp:336,474,462,528 -characters/hermione/clothes/robe/robe_school_3/2_back.webp:335,898,218,302 -characters/hermione/clothes/robe/robe_school_3/extra.webp:331,647,452,553 -characters/hermione/clothes/robe/robe_school_3/mask.webp:0,0,1010,1200 -characters/hermione/clothes/robe/robe_school_3/outline.webp:334,474,479,726 -characters/hermione/clothes/robe/robe_school_3/outline_back.webp:334,824,220,376 -characters/hermione/clothes/robe/robe_school_3/skin.webp:339,521,456,432 -characters/hermione/clothes/robe/robe_school_4/0.webp:337,748,546,452 -characters/hermione/clothes/robe/robe_school_4/0_back.webp:337,787,140,413 -characters/hermione/clothes/robe/robe_school_4/1.webp:454,830,195,45 -characters/hermione/clothes/robe/robe_school_4/1_back.webp:454,830,8,8 -characters/hermione/clothes/robe/robe_school_4/2.webp:299,712,504,432 -characters/hermione/clothes/robe/robe_school_4/2_back.webp:299,715,380,485 -characters/hermione/clothes/robe/robe_school_4/mask.webp:0,0,1010,1200 -characters/hermione/clothes/robe/robe_school_4/outline.webp:296,709,591,491 -characters/hermione/clothes/robe/robe_school_4/outline_back.webp:296,713,384,487 -characters/hermione/clothes/robe/robe_school_4/skin.webp:453,706,274,494 -characters/hermione/clothes/robe/witch_cape/0.webp:488,469,356,491 -characters/hermione/clothes/robe/witch_cape/0_back.webp:492,683,265,260 -characters/hermione/clothes/robe/witch_cape/1.webp:606,542,38,37 -characters/hermione/clothes/robe/witch_cape/2.webp:622,533,19,14 -characters/hermione/clothes/robe/witch_cape/outline.webp:487,468,359,493 -characters/hermione/clothes/robe/wrestling_robe/0.webp:364,490,411,708 -characters/hermione/clothes/robe/wrestling_robe/1.webp:346,361,442,834 -characters/hermione/clothes/robe/wrestling_robe/extra.webp:468,634,104,169 -characters/hermione/clothes/robe/wrestling_robe/mask.webp:0,0,1010,1200 -characters/hermione/clothes/robe/wrestling_robe/outline.webp:344,488,446,711 -characters/hermione/clothes/stockings/bunny_stockings_1/0.webp:454,798,239,402 -characters/hermione/clothes/stockings/bunny_stockings_1/outline.webp:453,797,241,403 -characters/hermione/clothes/stockings/cat_legs/0.webp:475,1028,214,172 -characters/hermione/clothes/stockings/cat_legs/outline.webp:474,1025,217,175 -characters/hermione/clothes/stockings/hslut_socks/0.webp:477,1014,205,186 -characters/hermione/clothes/stockings/hslut_socks/outline.webp:475,1013,210,187 -characters/hermione/clothes/stockings/latex_stockings/0.webp:460,961,235,239 -characters/hermione/clothes/stockings/latex_stockings/extra.webp:487,979,114,170 -characters/hermione/clothes/stockings/latex_stockings/outline.webp:458,960,237,240 -characters/hermione/clothes/stockings/maid_stockings_1/0.webp:489,1034,193,166 -characters/hermione/clothes/stockings/maid_stockings_1/extra.webp:513,1052,89,100 -characters/hermione/clothes/stockings/maid_stockings_1/outline.webp:484,1031,198,169 -characters/hermione/clothes/stockings/msmarv_stockings/0.webp:457,934,235,266 -characters/hermione/clothes/stockings/msmarv_stockings/1.webp:498,999,128,201 -characters/hermione/clothes/stockings/msmarv_stockings/outline.webp:455,932,239,268 -characters/hermione/clothes/stockings/pantyhose_1/0.webp:457,838,235,362 -characters/hermione/clothes/stockings/pantyhose_1/outline.webp:455,836,238,364 -characters/hermione/clothes/stockings/pantyhose_2/0.webp:457,838,235,362 -characters/hermione/clothes/stockings/pantyhose_2/outline.webp:455,836,238,364 -characters/hermione/clothes/stockings/pantyhose_3/0.webp:457,838,235,362 -characters/hermione/clothes/stockings/pantyhose_3/outline.webp:455,836,238,364 -characters/hermione/clothes/stockings/poker_stockings_1/0.webp:464,983,224,217 -characters/hermione/clothes/stockings/poker_stockings_1/1.webp:460,962,228,51 -characters/hermione/clothes/stockings/poker_stockings_1/extra.webp:460,962,192,32 -characters/hermione/clothes/stockings/poker_stockings_1/outline.webp:458,960,232,240 -characters/hermione/clothes/stockings/poker_stockings_1/skin.webp:441,928,80,95 -characters/hermione/clothes/stockings/poker_stockings_2/0.webp:464,983,224,217 -characters/hermione/clothes/stockings/poker_stockings_2/1.webp:460,962,228,51 -characters/hermione/clothes/stockings/poker_stockings_2/extra.webp:460,962,192,32 -characters/hermione/clothes/stockings/poker_stockings_2/outline.webp:458,960,232,240 -characters/hermione/clothes/stockings/short_meshed/0.webp:496,1030,181,170 -characters/hermione/clothes/stockings/short_meshed/1.webp:485,1039,196,53 -characters/hermione/clothes/stockings/short_meshed/extra.webp:485,1040,193,52 -characters/hermione/clothes/stockings/short_meshed/outline.webp:480,1025,202,175 -characters/hermione/clothes/stockings/stockings_1/0.webp:505,1085,164,105 -characters/hermione/clothes/stockings/stockings_1/1.webp:488,1049,188,151 -characters/hermione/clothes/stockings/stockings_1/extra.webp:517,1063,92,81 -characters/hermione/clothes/stockings/stockings_1/outline.webp:487,1047,191,153 -characters/hermione/clothes/stockings/stockings_1/skin.webp:488,1047,179,17 -characters/hermione/clothes/stockings/stockings_2/0.webp:470,1002,214,198 -characters/hermione/clothes/stockings/stockings_2/outline.webp:468,999,219,201 -characters/hermione/clothes/stockings/witch_stockings/0.webp:459,954,232,246 -characters/hermione/clothes/stockings/witch_stockings/1.webp:447,928,254,272 -characters/hermione/clothes/stockings/witch_stockings/outline.webp:445,927,257,273 -characters/hermione/clothes/stockings/xmas/0.webp:460,847,226,353 -characters/hermione/clothes/stockings/xmas/1.webp:498,1049,176,151 -characters/hermione/clothes/stockings/xmas/outline.webp:459,846,228,354 -characters/hermione/clothes/stockings/yen_stockings/0.webp:474,1010,214,190 -characters/hermione/clothes/stockings/yen_stockings/outline.webp:479,1026,204,174 -characters/hermione/clothes/tattoo/10g_tattoo/0.webp:520,843,49,55 -characters/hermione/clothes/tattoo/bb_tattoo/0.webp:602,840,71,91 -characters/hermione/clothes/tattoo/bb_tattoo/1.webp:620,858,38,28 -characters/hermione/clothes/tattoo/bb_tattoo/2.webp:620,875,50,36 -characters/hermione/clothes/tattoo/bb_tattoo/extra.webp:619,858,51,54 -characters/hermione/clothes/tattoo/bb_tattoo/skin.webp:620,858,51,54 -characters/hermione/clothes/tattoo/bunny_tattoo1/0.webp:616,874,50,79 -characters/hermione/clothes/tattoo/cockhole_tattoo/0.webp:515,847,63,37 -characters/hermione/clothes/tattoo/cumhere_tattoo1/0.webp:530,545,130,39 -characters/hermione/clothes/tattoo/cumhere_tattoo2/0.webp:515,852,63,43 -characters/hermione/clothes/tattoo/cumslut_tattoo/0.webp:514,851,73,40 -characters/hermione/clothes/tattoo/cunt_tattoo/0.webp:515,849,66,33 -characters/hermione/clothes/tattoo/deatheater_tattoo/0.webp:524,834,35,59 -characters/hermione/clothes/tattoo/deposit_tattoo/0.webp:507,844,84,29 -characters/hermione/clothes/tattoo/free_tattoo/0.webp:578,865,60,62 -characters/hermione/clothes/tattoo/fuckme_tattoo/0.webp:521,846,52,48 -characters/hermione/clothes/tattoo/lockhart_tattoo/0.webp:616,918,37,110 -characters/hermione/clothes/tattoo/mudblood_tattoo/0.webp:505,846,85,23 -characters/hermione/clothes/tattoo/nocondom_tattoo/0.webp:515,850,64,28 -characters/hermione/clothes/tattoo/punkblood_tattoo/0.webp:531,864,34,31 -characters/hermione/clothes/tattoo/punkblood_tattoo/1.webp:540,868,15,21 -characters/hermione/clothes/tattoo/punkblood_tattoo/outline.webp:530,864,35,32 -characters/hermione/clothes/tattoo/twist_tattoo/0.webp:557,619,58,77 -characters/hermione/clothes/tattoo/whore_tattoo/0.webp:513,850,70,42 -characters/hermione/clothes/tattoo/womb_tattoo/0.webp:516,853,56,57 -characters/hermione/clothes/top/ball_dress_1/0.webp:444,597,252,522 -characters/hermione/clothes/top/ball_dress_1/1.webp:455,515,298,624 -characters/hermione/clothes/top/ball_dress_1/extra.webp:461,626,173,443 -characters/hermione/clothes/top/ball_dress_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/ball_dress_1/outline.webp:442,514,312,627 -characters/hermione/clothes/top/bioshock_corset/0.webp:447,616,225,296 -characters/hermione/clothes/top/bioshock_corset/1.webp:461,618,208,293 -characters/hermione/clothes/top/bioshock_corset/2.webp:468,630,194,279 -characters/hermione/clothes/top/bioshock_corset/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/bioshock_corset/outline.webp:445,615,228,298 -characters/hermione/clothes/top/bioshock_corset/overlay.webp:457,612,204,24 -characters/hermione/clothes/top/bunny_top_1/0.webp:435,619,236,315 -characters/hermione/clothes/top/bunny_top_1/extra.webp:457,623,154,306 -characters/hermione/clothes/top/bunny_top_1/outline.webp:433,617,240,319 -characters/hermione/clothes/top/casual_top_1/0.webp:388,514,377,350 -characters/hermione/clothes/top/casual_top_1/1.webp:345,510,440,428 -characters/hermione/clothes/top/casual_top_1/extra.webp:520,591,52,203 -characters/hermione/clothes/top/casual_top_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/casual_top_1/outline.webp:344,508,443,433 -characters/hermione/clothes/top/casual_top_1/skin.webp:346,513,434,424 -characters/hermione/clothes/top/casual_top_2/0.webp:388,514,377,350 -characters/hermione/clothes/top/casual_top_2/extra.webp:520,591,52,203 -characters/hermione/clothes/top/casual_top_2/outline.webp:386,508,381,431 -characters/hermione/clothes/top/casual_top_2/skin.webp:391,526,370,337 -characters/hermione/clothes/top/cheerleader_top_1/0.webp:437,595,293,148 -characters/hermione/clothes/top/cheerleader_top_1/1.webp:479,516,252,258 -characters/hermione/clothes/top/cheerleader_top_1/2.webp:488,518,242,247 -characters/hermione/clothes/top/cheerleader_top_1/outline.webp:435,513,297,263 -characters/hermione/clothes/top/cheerleader_top_1/skin.webp:501,525,228,250 -characters/hermione/clothes/top/cheerleader_top_2/0.webp:437,514,294,259 -characters/hermione/clothes/top/cheerleader_top_2/1.webp:459,514,272,259 -characters/hermione/clothes/top/cheerleader_top_2/outline.webp:435,512,298,262 -characters/hermione/clothes/top/cheerleader_top_2/skin.webp:482,525,214,251 -characters/hermione/clothes/top/croft_top/0.webp:436,515,250,211 -characters/hermione/clothes/top/croft_top/outline.webp:435,513,252,214 -characters/hermione/clothes/top/egypt_top/0.webp:437,504,235,278 -characters/hermione/clothes/top/egypt_top/outline.webp:436,502,238,282 -characters/hermione/clothes/top/fishnet_onepiece/0.webp:348,517,432,416 -characters/hermione/clothes/top/fishnet_onepiece/1.webp:350,518,428,414 -characters/hermione/clothes/top/fishnet_onepiece/outline.webp:344,514,439,420 -characters/hermione/clothes/top/fishnet_top/0.webp:442,520,289,249 -characters/hermione/clothes/top/fishnet_top/outline.webp:447,516,285,252 -characters/hermione/clothes/top/hslut_top/0.webp:478,517,265,168 -characters/hermione/clothes/top/hslut_top/1.webp:503,513,230,193 -characters/hermione/clothes/top/hslut_top/extra.webp:502,517,219,168 -characters/hermione/clothes/top/hslut_top/outline.webp:475,511,270,196 -characters/hermione/clothes/top/latex_dress_1/0.webp:437,476,259,477 -characters/hermione/clothes/top/latex_dress_1/1.webp:544,565,39,37 -characters/hermione/clothes/top/latex_dress_1/extra.webp:437,491,215,451 -characters/hermione/clothes/top/latex_dress_1/outline.webp:435,475,263,480 -characters/hermione/clothes/top/latex_top/0.webp:434,604,236,128 -characters/hermione/clothes/top/latex_top/extra.webp:433,645,161,48 -characters/hermione/clothes/top/latex_top/outline.webp:433,499,238,236 -characters/hermione/clothes/top/latex_top/skin.webp:499,553,124,50 -characters/hermione/clothes/top/maid_dress_1/0.webp:390,515,371,524 -characters/hermione/clothes/top/maid_dress_1/1.webp:402,492,330,495 -characters/hermione/clothes/top/maid_dress_1/2.webp:580,663,141,123 -characters/hermione/clothes/top/maid_dress_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/maid_dress_1/outline.webp:389,491,374,549 -characters/hermione/clothes/top/msmarv_suit/0.webp:436,477,246,456 -characters/hermione/clothes/top/msmarv_suit/1.webp:442,492,208,423 -characters/hermione/clothes/top/msmarv_suit/2.webp:437,530,235,340 -characters/hermione/clothes/top/msmarv_suit/outline.webp:434,475,250,459 -characters/hermione/clothes/top/nightie/0.webp:437,512,264,488 -characters/hermione/clothes/top/nightie/outline.webp:435,508,268,493 -characters/hermione/clothes/top/open_top_1/0.webp:492,462,179,322 -characters/hermione/clothes/top/open_top_1/0_front.webp:546,462,114,78 -characters/hermione/clothes/top/open_top_1/1.webp:338,480,445,461 -characters/hermione/clothes/top/open_top_1/2.webp:507,505,159,141 -characters/hermione/clothes/top/open_top_1/3.webp:489,508,171,128 -characters/hermione/clothes/top/open_top_1/extra.webp:534,706,25,67 -characters/hermione/clothes/top/open_top_1/outline.webp:337,461,447,481 -characters/hermione/clothes/top/open_top_1/outline_front.webp:526,461,135,97 -characters/hermione/clothes/top/pajama_1/0.webp:330,503,462,447 -characters/hermione/clothes/top/pajama_1/extra.webp:330,504,462,446 -characters/hermione/clothes/top/pajama_1/outline.webp:328,500,465,451 -characters/hermione/clothes/top/pizza_top/0.webp:436,644,194,96 -characters/hermione/clothes/top/pizza_top/outline.webp:434,624,210,170 -characters/hermione/clothes/top/pizza_top/overlay.webp:435,625,206,167 -characters/hermione/clothes/top/pullover_1/0.webp:339,483,445,460 -characters/hermione/clothes/top/pullover_1/0_front.webp:550,483,121,63 -characters/hermione/clothes/top/pullover_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/pullover_1/outline.webp:337,480,450,466 -characters/hermione/clothes/top/pullover_1/outline_front.webp:547,480,125,69 -characters/hermione/clothes/top/pullover_2/0.webp:339,483,445,460 -characters/hermione/clothes/top/pullover_2/0_front.webp:550,483,121,63 -characters/hermione/clothes/top/pullover_2/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/pullover_2/outline.webp:337,480,450,466 -characters/hermione/clothes/top/pullover_2/outline_front.webp:547,480,125,69 -characters/hermione/clothes/top/pullover_2/skin.webp:516,567,96,89 -characters/hermione/clothes/top/pullover_3/0.webp:450,483,241,392 -characters/hermione/clothes/top/pullover_3/0_front.webp:550,483,121,63 -characters/hermione/clothes/top/pullover_3/outline.webp:437,480,327,396 -characters/hermione/clothes/top/pullover_3/outline_front.webp:547,480,125,69 -characters/hermione/clothes/top/pullover_3/skin.webp:516,567,96,89 -characters/hermione/clothes/top/ruffled_top/0.webp:423,632,327,188 -characters/hermione/clothes/top/ruffled_top/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/ruffled_top/outline.webp:422,631,329,192 -characters/hermione/clothes/top/swimsuit_top_1/0.webp:436,516,243,419 -characters/hermione/clothes/top/swimsuit_top_1/1.webp:486,608,172,269 -characters/hermione/clothes/top/swimsuit_top_1/outline.webp:434,515,248,420 -characters/hermione/clothes/top/swimsuit_top_1/skin.webp:648,683,21,21 -characters/hermione/clothes/top/swimsuit_top_2/0.webp:436,516,243,419 -characters/hermione/clothes/top/swimsuit_top_2/1.webp:486,608,172,269 -characters/hermione/clothes/top/swimsuit_top_2/outline.webp:434,515,248,420 -characters/hermione/clothes/top/swimsuit_top_2/skin.webp:648,683,21,21 -characters/hermione/clothes/top/teddy_top/0.webp:455,512,243,347 -characters/hermione/clothes/top/teddy_top/1.webp:436,597,265,279 -characters/hermione/clothes/top/teddy_top/2.webp:527,683,33,20 -characters/hermione/clothes/top/teddy_top/outline.webp:434,508,270,370 -characters/hermione/clothes/top/tifa_top/0.webp:436,515,250,220 -characters/hermione/clothes/top/tifa_top/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/tifa_top/outline.webp:435,513,254,223 -characters/hermione/clothes/top/top_school_1/0.webp:493,462,249,204 -characters/hermione/clothes/top/top_school_1/0_front.webp:527,462,130,100 -characters/hermione/clothes/top/top_school_1/1.webp:446,510,245,334 -characters/hermione/clothes/top/top_school_1/2.webp:479,500,261,356 -characters/hermione/clothes/top/top_school_1/3.webp:470,500,269,356 -characters/hermione/clothes/top/top_school_1/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/top_school_1/outline.webp:443,461,301,396 -characters/hermione/clothes/top/top_school_1/outline_front.webp:522,461,138,116 -characters/hermione/clothes/top/top_school_2/0.webp:493,462,249,204 -characters/hermione/clothes/top/top_school_2/0_front.webp:527,462,130,109 -characters/hermione/clothes/top/top_school_2/1.webp:446,510,245,334 -characters/hermione/clothes/top/top_school_2/2.webp:479,500,261,356 -characters/hermione/clothes/top/top_school_2/3.webp:470,500,269,356 -characters/hermione/clothes/top/top_school_2/extra.webp:545,571,30,41 -characters/hermione/clothes/top/top_school_2/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/top_school_2/outline.webp:443,461,301,396 -characters/hermione/clothes/top/top_school_2/outline_front.webp:518,461,142,109 -characters/hermione/clothes/top/top_school_3/0.webp:445,462,297,337 -characters/hermione/clothes/top/top_school_3/0_front.webp:525,462,138,102 -characters/hermione/clothes/top/top_school_3/1.webp:500,540,240,227 -characters/hermione/clothes/top/top_school_3/2.webp:501,533,238,247 -characters/hermione/clothes/top/top_school_3/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/top_school_3/outline.webp:443,461,301,335 -characters/hermione/clothes/top/top_school_3/outline_front.webp:518,461,142,105 -characters/hermione/clothes/top/top_school_4/0.webp:445,462,297,337 -characters/hermione/clothes/top/top_school_4/0_front.webp:525,462,133,104 -characters/hermione/clothes/top/top_school_4/1.webp:545,570,195,86 -characters/hermione/clothes/top/top_school_4/2.webp:663,623,76,33 -characters/hermione/clothes/top/top_school_4/extra.webp:521,508,181,250 -characters/hermione/clothes/top/top_school_4/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/top_school_4/outline.webp:443,461,301,335 -characters/hermione/clothes/top/top_school_4/outline_front.webp:522,461,137,105 -characters/hermione/clothes/top/top_school_5/0.webp:445,462,297,337 -characters/hermione/clothes/top/top_school_5/0_front.webp:525,462,133,132 -characters/hermione/clothes/top/top_school_5/1.webp:545,576,195,80 -characters/hermione/clothes/top/top_school_5/2.webp:663,623,76,33 -characters/hermione/clothes/top/top_school_5/extra.webp:521,508,181,250 -characters/hermione/clothes/top/top_school_5/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/top_school_5/outline.webp:443,461,301,335 -characters/hermione/clothes/top/top_school_5/outline_front.webp:523,461,136,134 -characters/hermione/clothes/top/top_school_5/skin.webp:552,541,42,64 -characters/hermione/clothes/top/top_school_6/0.webp:446,497,245,347 -characters/hermione/clothes/top/top_school_6/1.webp:479,498,218,358 -characters/hermione/clothes/top/top_school_6/2.webp:470,500,220,356 -characters/hermione/clothes/top/top_school_6/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/top_school_6/outline.webp:443,497,256,360 -characters/hermione/clothes/top/top_school_6/skin.webp:532,570,60,52 -characters/hermione/clothes/top/top_school_7/0.webp:436,474,315,259 -characters/hermione/clothes/top/top_school_7/1.webp:660,619,81,40 -characters/hermione/clothes/top/top_school_7/2.webp:661,626,79,27 -characters/hermione/clothes/top/top_school_7/mask.webp:0,0,1010,1200 -characters/hermione/clothes/top/top_school_7/outline.webp:434,473,310,261 -characters/hermione/clothes/top/top_school_7/skin.webp:495,488,231,238 -characters/hermione/clothes/top/witch_top/0.webp:435,623,235,312 -characters/hermione/clothes/top/witch_top/1.webp:447,612,227,320 -characters/hermione/clothes/top/witch_top/extra.webp:447,623,165,312 -characters/hermione/clothes/top/witch_top/outline.webp:433,610,243,326 -characters/hermione/clothes/top/xmas/0.webp:445,628,293,91 -characters/hermione/clothes/top/xmas/1.webp:432,589,314,146 -characters/hermione/clothes/top/xmas/2.webp:448,633,134,98 -characters/hermione/clothes/top/xmas/extra.webp:445,633,255,99 -characters/hermione/clothes/top/xmas/outline.webp:431,589,317,147 -characters/hermione/clothes/top/xmas/skin.webp:504,588,226,157 -characters/hermione/clothes/top/yen_top/0.webp:343,568,437,368 -characters/hermione/clothes/top/yen_top/outline.webp:343,568,437,368 -characters/hermione/cum/body/heavy.webp:458,472,255,320 -characters/hermione/cum/body/light.webp:532,510,181,282 -characters/hermione/cum/breasts/heavy.webp:448,538,194,169 -characters/hermione/cum/breasts/light.webp:532,552,89,149 -characters/hermione/cum/crotch/heavy.webp:459,769,181,252 -characters/hermione/cum/crotch/light.webp:501,769,73,154 -characters/hermione/cum/face/heavy.webp:512,382,126,132 -characters/hermione/cum/face/light.webp:597,393,33,72 -characters/hermione/cum/hair/heavy.webp:478,247,190,169 -characters/hermione/cum/hair/light.webp:496,263,117,100 -characters/hermione/cum/legs/heavy.webp:457,860,215,340 -characters/hermione/cum/legs/light.webp:510,860,146,191 -characters/hermione/cum/pussy/heavy.webp:537,923,21,114 -characters/hermione/cum/pussy/light.webp:537,923,20,44 -characters/hermione/cum/pussy/squirt.webp:514,921,49,139 -characters/hermione/cum/pussy/squirt_post.webp:477,913,91,149 -characters/hermione/cum/pussy/squirt_transition.webp:477,913,91,149 -characters/hermione/cum/pussy/underwear_heavy.webp:529,918,35,51 -characters/hermione/cum/pussy/underwear_light.webp:529,918,35,38 -characters/hermione/cum/pussy/vibrator_post.webp:526,895,41,89 -characters/hermione/cum/pussy/vibrator_pre.webp:533,920,32,22 -characters/hermione/cum/pussy/vibrator_squirt.webp:513,895,54,136 -characters/hermione/cum/pussy/vibratorp_heavy.webp:529,911,35,58 -characters/hermione/cum/pussy/vibratorp_light.webp:529,918,35,38 -characters/hermione/cum/pussy/wet.webp:545,921,17,24 -characters/hermione/emote/angry.webp:602,319,45,43 -characters/hermione/emote/confused.webp:449,166,129,101 -characters/hermione/emote/happy.webp:472,135,131,127 -characters/hermione/emote/hearts.webp:428,118,175,146 -characters/hermione/emote/shocked.webp:437,140,136,128 -characters/hermione/emote/sweat.webp:597,304,42,67 -characters/hermione/face/cheeks/blush.webp:515,398,97,26 -characters/hermione/face/eyebrows/angry.webp:507,358,114,20 -characters/hermione/face/eyebrows/angry_skin.webp:512,358,115,39 -characters/hermione/face/eyebrows/annoyed.webp:507,358,114,19 -characters/hermione/face/eyebrows/annoyed_skin.webp:512,358,115,39 -characters/hermione/face/eyebrows/base.webp:508,354,115,15 -characters/hermione/face/eyebrows/base_skin.webp:512,353,119,44 -characters/hermione/face/eyebrows/low.webp:508,362,115,16 -characters/hermione/face/eyebrows/low_skin.webp:512,355,119,44 -characters/hermione/face/eyebrows/worried.webp:510,356,116,18 -characters/hermione/face/eyebrows/worried_skin.webp:512,358,115,39 -characters/hermione/face/eyes/base.webp:515,369,100,26 -characters/hermione/face/eyes/base_mask.webp:520,373,86,19 -characters/hermione/face/eyes/closed.webp:513,365,109,35 -characters/hermione/face/eyes/happy.webp:514,369,104,24 -characters/hermione/face/eyes/happyCl.webp:513,369,111,22 -characters/hermione/face/eyes/happy_mask.webp:521,373,87,18 -characters/hermione/face/eyes/narrow.webp:513,367,106,29 -characters/hermione/face/eyes/narrow_mask.webp:522,379,84,15 -characters/hermione/face/eyes/slit.webp:514,370,102,19 -characters/hermione/face/eyes/slit_mask.webp:519,374,89,13 -characters/hermione/face/eyes/squint.webp:515,369,100,24 -characters/hermione/face/eyes/squint_mask.webp:521,373,86,18 -characters/hermione/face/eyes/wide.webp:515,365,102,36 -characters/hermione/face/eyes/wide_mask.webp:519,369,92,29 -characters/hermione/face/eyes/wink.webp:513,369,102,26 -characters/hermione/face/eyes/wink_mask.webp:573,373,33,19 -characters/hermione/face/mouth/angry.webp:539,435,55,26 -characters/hermione/face/mouth/annoyed.webp:532,437,35,19 -characters/hermione/face/mouth/base.webp:541,439,41,16 -characters/hermione/face/mouth/clench.webp:537,431,51,28 -characters/hermione/face/mouth/crooked_smile.webp:536,433,55,31 -characters/hermione/face/mouth/cum.webp:541,439,35,24 -characters/hermione/face/mouth/disgust.webp:540,447,50,20 -characters/hermione/face/mouth/full.webp:506,384,132,99 -characters/hermione/face/mouth/full_cum.webp:506,384,132,122 -characters/hermione/face/mouth/full_panties.webp:506,384,132,99 -characters/hermione/face/mouth/grin.webp:537,438,53,26 -characters/hermione/face/mouth/mad.webp:539,441,44,22 -characters/hermione/face/mouth/normal.webp:541,439,35,16 -characters/hermione/face/mouth/open.webp:541,436,32,32 -characters/hermione/face/mouth/open_tongue.webp:541,436,32,32 -characters/hermione/face/mouth/open_wide_tongue.webp:529,433,91,61 -characters/hermione/face/mouth/open_wide_tongue_cum.webp:529,433,91,65 -characters/hermione/face/mouth/open_wide_tongue_panties.webp:529,433,91,61 -characters/hermione/face/mouth/scream.webp:529,433,91,55 -characters/hermione/face/mouth/shock.webp:535,437,43,36 -characters/hermione/face/mouth/silly.webp:540,433,46,32 -characters/hermione/face/mouth/smile.webp:536,435,57,33 -characters/hermione/face/mouth/soft.webp:538,439,36,26 -characters/hermione/face/mouth/upset.webp:540,439,35,19 -characters/hermione/face/pupils/L.webp:522,372,70,20 -characters/hermione/face/pupils/L_soft.webp:522,372,70,20 -characters/hermione/face/pupils/R.webp:532,372,74,19 -characters/hermione/face/pupils/R_soft.webp:532,372,74,19 -characters/hermione/face/pupils/ahegao.webp:529,359,63,22 -characters/hermione/face/pupils/dead.webp:525,371,71,19 -characters/hermione/face/pupils/down.webp:528,383,68,19 -characters/hermione/face/pupils/down_soft.webp:528,383,68,19 -characters/hermione/face/pupils/mid.webp:529,370,72,20 -characters/hermione/face/pupils/mid_soft.webp:529,370,72,20 -characters/hermione/face/pupils/shocked.webp:523,375,75,19 -characters/hermione/face/pupils/squint.webp:532,372,59,19 -characters/hermione/face/pupils/squint_soft.webp:532,372,59,19 -characters/hermione/face/pupils/stare.webp:527,372,68,20 -characters/hermione/face/pupils/stare_soft.webp:527,372,68,20 -characters/hermione/face/pupils/up.webp:525,367,67,20 -characters/hermione/face/pupils/up_soft.webp:525,367,67,20 -characters/hermione/face/tears/crying.webp:512,378,104,62 -characters/hermione/face/tears/crying_blink.webp:502,378,122,54 -characters/hermione/face/tears/mascara.webp:512,378,118,112 -characters/hermione/face/tears/mascara_crying.webp:514,378,116,112 -characters/hermione/face/tears/mascara_soft.webp:512,376,118,114 -characters/hermione/face/tears/mascara_soft_blink.webp:492,378,144,112 -characters/hermione/face/tears/messy.webp:512,384,110,94 -characters/hermione/face/tears/soft.webp:516,376,94,26 -characters/hermione/face/tears/soft_blink.webp:492,380,144,26 -characters/hermione/face/tears/sweat.webp:520,380,110,110 -characters/hermione/face/tears/tears_crying_side.webp:516,382,106,50 -characters/hermione/face/tears/tears_down.webp:512,378,104,62 -characters/hermione/face/tears/tears_mascara_crying_blink.webp:502,378,128,112 -characters/hermione/face/tears/tears_soft_sweat.webp:516,376,114,114 -characters/hermione/poses/CG_bent_over/body/armleft/down.webp:0,0,0,0 -characters/hermione/poses/CG_bent_over/body/armright/down.webp:388,1907,153,127 -characters/hermione/poses/CG_bent_over/body/base/front.webp:388,1359,1266,777 -characters/hermione/poses/CG_bent_over/body/breasts/normal.webp:0,0,0,0 -characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/0.webp:1044,1389,638,522 -characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/1.webp:0,0,0,0 -characters/hermione/poses/CG_bent_over/clothes/bottom/school_skirt_1/outline.webp:1043,1387,640,538 -characters/hermione/poses/CG_bent_over/clothes/hair/base/0.webp:435,1307,572,640 -characters/hermione/poses/CG_bent_over/clothes/hair/base/0_back.webp:384,1474,819,458 -characters/hermione/poses/CG_bent_over/clothes/hair/base/0_front.webp:717,1576,290,371 -characters/hermione/poses/CG_bent_over/clothes/hair/base/1.webp:439,1307,520,481 -characters/hermione/poses/CG_bent_over/clothes/hair/base/1_back.webp:439,1307,749,605 -characters/hermione/poses/CG_bent_over/clothes/hair/base/1_front.webp:822,1649,110,139 -characters/hermione/poses/CG_bent_over/clothes/hair/base/2.webp:757,1394,76,91 -characters/hermione/poses/CG_bent_over/clothes/hair/base/outline.webp:433,1306,575,643 -characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_back.webp:378,1478,825,458 -characters/hermione/poses/CG_bent_over/clothes/hair/base/outline_front.webp:716,1575,292,374 -characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/0.webp:562,1616,602,265 -characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/1.webp:521,1512,866,524 -characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/2.webp:590,1489,825,1061 -characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/3.webp:590,1488,824,480 -characters/hermione/poses/CG_bent_over/clothes/top/top_school_1/outline.webp:516,1484,901,554 -characters/hermione/poses/CG_bent_over/cum/body/heavy.webp:1191,1407,285,239 -characters/hermione/poses/CG_bent_over/cum/body/light.webp:1228,1410,139,155 -characters/hermione/poses/CG_bent_over/cum/body/shirt_heavy.webp:1191,1425,181,106 -characters/hermione/poses/CG_bent_over/cum/body/shirt_light.webp:1243,1425,129,55 -characters/hermione/poses/CG_bent_over/cum/body/skirt_heavy.webp:1236,1385,165,87 -characters/hermione/poses/CG_bent_over/cum/body/skirt_light.webp:1272,1385,129,55 -characters/hermione/poses/CG_bent_over/cum/pussy/heavy.webp:1335,1749,54,88 -characters/hermione/poses/CG_bent_over/cum/pussy/light.webp:1350,1748,38,53 -characters/hermione/poses/CG_bent_over/face/cheeks/blush.webp:516,1549,220,166 -characters/hermione/poses/CG_bent_over/face/eyebrows/angry.webp:507,1522,211,101 -characters/hermione/poses/CG_bent_over/face/eyebrows/annoyed.webp:507,1516,211,101 -characters/hermione/poses/CG_bent_over/face/eyebrows/base.webp:508,1516,214,93 -characters/hermione/poses/CG_bent_over/face/eyebrows/worried.webp:510,1523,212,95 -characters/hermione/poses/CG_bent_over/face/eyes/base.webp:515,1544,199,94 -characters/hermione/poses/CG_bent_over/face/eyes/base_mask.webp:532,1554,162,78 -characters/hermione/poses/CG_bent_over/face/eyes/closed.webp:516,1543,192,97 -characters/hermione/poses/CG_bent_over/face/eyes/happy.webp:515,1546,198,88 -characters/hermione/poses/CG_bent_over/face/eyes/happyCl.webp:511,1542,208,93 -characters/hermione/poses/CG_bent_over/face/eyes/happy_mask.webp:533,1554,160,75 -characters/hermione/poses/CG_bent_over/face/eyes/narrow.webp:512,1544,201,94 -characters/hermione/poses/CG_bent_over/face/eyes/narrow_mask.webp:532,1567,161,65 -characters/hermione/poses/CG_bent_over/face/eyes/wide.webp:516,1539,199,104 -characters/hermione/poses/CG_bent_over/face/eyes/wide_mask.webp:531,1550,164,86 -characters/hermione/poses/CG_bent_over/face/mouth/angry.webp:590,1682,90,60 -characters/hermione/poses/CG_bent_over/face/mouth/annoyed.webp:584,1685,69,33 -characters/hermione/poses/CG_bent_over/face/mouth/base.webp:594,1682,80,39 -characters/hermione/poses/CG_bent_over/face/mouth/clench.webp:592,1679,83,55 -characters/hermione/poses/CG_bent_over/face/mouth/crooked_smile.webp:587,1679,85,60 -characters/hermione/poses/CG_bent_over/face/mouth/disgust.webp:587,1692,91,46 -characters/hermione/poses/CG_bent_over/face/mouth/grin.webp:587,1681,88,55 -characters/hermione/poses/CG_bent_over/face/mouth/mad.webp:591,1683,82,50 -characters/hermione/poses/CG_bent_over/face/mouth/normal.webp:597,1684,70,37 -characters/hermione/poses/CG_bent_over/face/mouth/open.webp:594,1681,66,61 -characters/hermione/poses/CG_bent_over/face/mouth/open_tongue.webp:594,1681,66,66 -characters/hermione/poses/CG_bent_over/face/mouth/open_wide_tongue.webp:542,1614,228,178 -characters/hermione/poses/CG_bent_over/face/mouth/scream.webp:542,1614,228,177 -characters/hermione/poses/CG_bent_over/face/mouth/smile.webp:585,1681,84,63 -characters/hermione/poses/CG_bent_over/face/mouth/soft.webp:593,1689,64,43 -characters/hermione/poses/CG_bent_over/face/mouth/upset.webp:586,1689,68,33 -characters/hermione/poses/CG_bent_over/face/pupils/L.webp:528,1554,136,75 -characters/hermione/poses/CG_bent_over/face/pupils/R.webp:551,1549,146,79 -characters/hermione/poses/CG_bent_over/face/pupils/ahegao.webp:536,1535,139,83 -characters/hermione/poses/CG_bent_over/face/pupils/down.webp:541,1564,135,75 -characters/hermione/poses/CG_bent_over/face/pupils/mid.webp:540,1553,136,76 -characters/hermione/poses/CG_bent_over/face/pupils/stare.webp:540,1553,136,76 -characters/hermione/poses/CG_bent_over/face/pupils/up.webp:540,1547,136,76 -characters/hermione/poses/CG_bent_over/face/tears/soft.webp:532,1572,169,69 -characters/hermione/poses/CG_bent_over/face/tears/soft_blink.webp:523,1577,182,66 -characters/hermione/poses/CG_bent_over/loadable.webp:0,0,1,1 -characters/hermione/poses/CG_lean_back/body/armleft/down.webp:1240,961,566,846 -characters/hermione/poses/CG_lean_back/body/armright/down.webp:0,0,0,0 -characters/hermione/poses/CG_lean_back/body/base/front.webp:848,573,709,1310 -characters/hermione/poses/CG_lean_back/body/breasts/normal.webp:828,996,258,463 -characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/0.webp:981,1389,571,492 -characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/1.webp:1240,1584,25,44 -characters/hermione/poses/CG_lean_back/clothes/bottom/school_skirt_1/outline.webp:980,1387,574,494 -characters/hermione/poses/CG_lean_back/clothes/hair/base/0.webp:960,532,428,253 -characters/hermione/poses/CG_lean_back/clothes/hair/base/0_back.webp:821,714,793,524 -characters/hermione/poses/CG_lean_back/clothes/hair/base/1.webp:965,547,407,182 -characters/hermione/poses/CG_lean_back/clothes/hair/base/1_back.webp:845,738,766,442 -characters/hermione/poses/CG_lean_back/clothes/hair/base/2.webp:1226,567,90,75 -characters/hermione/poses/CG_lean_back/clothes/hair/base/outline.webp:961,531,442,257 -characters/hermione/poses/CG_lean_back/clothes/hair/base/outline_back.webp:819,728,796,518 -characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/0.webp:926,900,548,327 -characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/1.webp:850,901,582,777 -characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/2.webp:1006,948,460,714 -characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/3.webp:1006,948,457,730 -characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/mask.webp:0,0,2500,2550 -characters/hermione/poses/CG_lean_back/clothes/top/top_school_1/outline.webp:850,897,629,768 -characters/hermione/poses/CG_lean_back/face/cheeks/blush.webp:1029,703,222,144 -characters/hermione/poses/CG_lean_back/face/eyebrows/angry.webp:1023,674,189,94 -characters/hermione/poses/CG_lean_back/face/eyebrows/annoyed.webp:1023,668,189,94 -characters/hermione/poses/CG_lean_back/face/eyebrows/base.webp:1024,668,192,86 -characters/hermione/poses/CG_lean_back/face/eyebrows/worried.webp:1025,675,190,88 -characters/hermione/poses/CG_lean_back/face/eyes/base.webp:1032,696,176,88 -characters/hermione/poses/CG_lean_back/face/eyes/base_mask.webp:1045,706,145,72 -characters/hermione/poses/CG_lean_back/face/eyes/closed.webp:1039,695,156,88 -characters/hermione/poses/CG_lean_back/face/eyes/happy.webp:1033,697,174,83 -characters/hermione/poses/CG_lean_back/face/eyes/happyCl.webp:1037,695,174,86 -characters/hermione/poses/CG_lean_back/face/eyes/happy_mask.webp:1046,706,142,69 -characters/hermione/poses/CG_lean_back/face/eyes/narrow.webp:1031,695,176,89 -characters/hermione/poses/CG_lean_back/face/eyes/narrow_mask.webp:1045,719,143,59 -characters/hermione/poses/CG_lean_back/face/eyes/wide.webp:1031,691,178,98 -characters/hermione/poses/CG_lean_back/face/eyes/wide_mask.webp:1045,703,146,79 -characters/hermione/poses/CG_lean_back/face/mouth/angry.webp:1086,828,83,56 -characters/hermione/poses/CG_lean_back/face/mouth/annoyed.webp:1081,831,62,31 -characters/hermione/poses/CG_lean_back/face/mouth/base.webp:1090,827,73,38 -characters/hermione/poses/CG_lean_back/face/mouth/clench.webp:1088,825,76,52 -characters/hermione/poses/CG_lean_back/face/mouth/crooked_smile.webp:1083,825,78,57 -characters/hermione/poses/CG_lean_back/face/mouth/disgust.webp:1083,837,83,44 -characters/hermione/poses/CG_lean_back/face/mouth/full.webp:1027,740,203,162 -characters/hermione/poses/CG_lean_back/face/mouth/grin.webp:1083,827,81,52 -characters/hermione/poses/CG_lean_back/face/mouth/mad.webp:1087,828,75,49 -characters/hermione/poses/CG_lean_back/face/mouth/normal.webp:1092,830,64,35 -characters/hermione/poses/CG_lean_back/face/mouth/open.webp:1090,827,60,58 -characters/hermione/poses/CG_lean_back/face/mouth/open_tongue.webp:1090,827,60,62 -characters/hermione/poses/CG_lean_back/face/mouth/open_wide_tongue.webp:1040,799,220,146 -characters/hermione/poses/CG_lean_back/face/mouth/scream.webp:1040,799,220,146 -characters/hermione/poses/CG_lean_back/face/mouth/smile.webp:1081,827,77,60 -characters/hermione/poses/CG_lean_back/face/mouth/soft.webp:1088,835,60,41 -characters/hermione/poses/CG_lean_back/face/mouth/upset.webp:1083,834,62,32 -characters/hermione/poses/CG_lean_back/face/pupils/L.webp:1041,703,118,71 -characters/hermione/poses/CG_lean_back/face/pupils/R.webp:1067,703,118,71 -characters/hermione/poses/CG_lean_back/face/pupils/ahegao.webp:1051,687,118,71 -characters/hermione/poses/CG_lean_back/face/pupils/down.webp:1051,714,118,71 -characters/hermione/poses/CG_lean_back/face/pupils/mid.webp:1051,703,118,71 -characters/hermione/poses/CG_lean_back/face/pupils/stare.webp:1051,703,118,71 -characters/hermione/poses/CG_lean_back/face/pupils/up.webp:1051,697,118,71 -characters/hermione/poses/CG_lean_back/face/tears/soft.webp:1039,722,162,62 -characters/hermione/poses/CG_lean_back/face/tears/soft_blink.webp:1042,715,159,63 -characters/hermione/poses/CG_lean_back/loadable.webp:0,0,1,1 -characters/hermione/poses/CG_lean_forward/body/armleft/down.webp:1074,966,322,1028 -characters/hermione/poses/CG_lean_forward/body/armright/down.webp:700,999,372,956 -characters/hermione/poses/CG_lean_forward/body/base/front.webp:815,600,742,1283 -characters/hermione/poses/CG_lean_forward/body/breasts/normal.webp:790,1063,221,303 -characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/0.webp:983,810,566,1131 -characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/1.webp:1004,810,32,36 -characters/hermione/poses/CG_lean_forward/clothes/bottom/school_skirt_1/outline.webp:981,810,571,1137 -characters/hermione/poses/CG_lean_forward/clothes/hair/base/0.webp:869,559,429,278 -characters/hermione/poses/CG_lean_forward/clothes/hair/base/0_back.webp:780,718,786,528 -characters/hermione/poses/CG_lean_forward/clothes/hair/base/1.webp:874,565,405,214 -characters/hermione/poses/CG_lean_forward/clothes/hair/base/1_back.webp:808,739,743,501 -characters/hermione/poses/CG_lean_forward/clothes/hair/base/2.webp:1122,584,94,75 -characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline.webp:869,556,445,275 -characters/hermione/poses/CG_lean_forward/clothes/hair/base/outline_back.webp:779,730,787,516 -characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/0.webp:879,911,551,319 -characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/1.webp:815,912,581,793 -characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/2.webp:971,954,423,733 -characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/3.webp:966,954,427,751 -characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/mask.webp:0,0,2500,2550 -characters/hermione/poses/CG_lean_forward/clothes/top/top_school_1/outline.webp:814,908,587,781 -characters/hermione/poses/CG_lean_forward/face/cheeks/blush.webp:944,728,222,157 -characters/hermione/poses/CG_lean_forward/face/eyebrows/angry.webp:940,702,182,107 -characters/hermione/poses/CG_lean_forward/face/eyebrows/annoyed.webp:939,696,182,107 -characters/hermione/poses/CG_lean_forward/face/eyebrows/base.webp:939,697,186,98 -characters/hermione/poses/CG_lean_forward/face/eyebrows/worried.webp:941,703,185,100 -characters/hermione/poses/CG_lean_forward/face/eyes/base.webp:949,725,171,97 -characters/hermione/poses/CG_lean_forward/face/eyes/base_mask.webp:962,734,140,82 -characters/hermione/poses/CG_lean_forward/face/eyes/closed.webp:956,725,153,96 -characters/hermione/poses/CG_lean_forward/face/eyes/happy.webp:951,726,167,92 -characters/hermione/poses/CG_lean_forward/face/eyes/happyCl.webp:954,725,171,95 -characters/hermione/poses/CG_lean_forward/face/eyes/happy_mask.webp:963,734,138,79 -characters/hermione/poses/CG_lean_forward/face/eyes/narrow.webp:948,725,171,97 -characters/hermione/poses/CG_lean_forward/face/eyes/narrow_mask.webp:962,747,139,69 -characters/hermione/poses/CG_lean_forward/face/eyes/wide.webp:949,719,171,108 -characters/hermione/poses/CG_lean_forward/face/eyes/wide_mask.webp:961,731,142,89 -characters/hermione/poses/CG_lean_forward/face/mouth/angry.webp:1009,859,83,59 -characters/hermione/poses/CG_lean_forward/face/mouth/annoyed.webp:1004,864,63,31 -characters/hermione/poses/CG_lean_forward/face/mouth/base.webp:1014,857,71,41 -characters/hermione/poses/CG_lean_forward/face/mouth/clench.webp:1012,857,75,54 -characters/hermione/poses/CG_lean_forward/face/mouth/crooked_smile.webp:1007,856,77,59 -characters/hermione/poses/CG_lean_forward/face/mouth/disgust.webp:1007,868,83,46 -characters/hermione/poses/CG_lean_forward/face/mouth/full.webp:950,769,200,168 -characters/hermione/poses/CG_lean_forward/face/mouth/grin.webp:1006,857,81,56 -characters/hermione/poses/CG_lean_forward/face/mouth/mad.webp:1010,860,75,50 -characters/hermione/poses/CG_lean_forward/face/mouth/normal.webp:1016,859,62,39 -characters/hermione/poses/CG_lean_forward/face/mouth/open.webp:1013,860,61,58 -characters/hermione/poses/CG_lean_forward/face/mouth/open_tongue.webp:1013,860,61,62 -characters/hermione/poses/CG_lean_forward/face/mouth/open_wide_tongue.webp:963,821,217,153 -characters/hermione/poses/CG_lean_forward/face/mouth/scream.webp:963,821,217,153 -characters/hermione/poses/CG_lean_forward/face/mouth/smile.webp:1005,857,77,63 -characters/hermione/poses/CG_lean_forward/face/mouth/soft.webp:1012,867,59,41 -characters/hermione/poses/CG_lean_forward/face/mouth/upset.webp:1006,867,63,32 -characters/hermione/poses/CG_lean_forward/face/pupils/L.webp:957,733,116,79 -characters/hermione/poses/CG_lean_forward/face/pupils/R.webp:983,731,116,79 -characters/hermione/poses/CG_lean_forward/face/pupils/ahegao.webp:966,716,116,79 -characters/hermione/poses/CG_lean_forward/face/pupils/down.webp:968,743,116,79 -characters/hermione/poses/CG_lean_forward/face/pupils/mid.webp:967,732,116,79 -characters/hermione/poses/CG_lean_forward/face/pupils/stare.webp:967,732,116,79 -characters/hermione/poses/CG_lean_forward/face/pupils/up.webp:966,726,117,79 -characters/hermione/poses/CG_lean_forward/face/tears/soft.webp:958,749,157,77 -characters/hermione/poses/CG_lean_forward/face/tears/soft_blink.webp:960,743,154,78 -characters/hermione/poses/CG_lean_forward/loadable.webp:0,0,1,1 -characters/hermione/poses/hold_book/body/armleft/down.webp:0,0,0,0 -characters/hermione/poses/hold_book/body/armright/down.webp:0,0,0,0 -characters/hermione/poses/hold_book/body/base/front.webp:382,277,362,923 -characters/hermione/poses/hold_book/body/breasts/normal.webp:0,0,0,0 +characters/hermione/poses/default/bodyparts/chest/big1/skin.webp:431,557,237,180 +characters/hermione/poses/default/bodyparts/chest/big2/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/bodyparts/chest/big2/skin.webp:430,558,240,187 +characters/hermione/poses/default/bodyparts/chest/big3/skin.webp:425,558,245,198 +characters/hermione/poses/default/bodyparts/frame/default/skin.webp:272,277,558,923 +characters/hermione/poses/default/bodyparts/hips/big1/skin.webp:450,726,246,474 +characters/hermione/poses/default/bodyparts/hips/big2/skin.webp:451,726,246,474 +characters/hermione/poses/default/bodyparts/hips/big3/skin.webp:450,726,248,474 +characters/hermione/poses/default/clothes/accessory/ball_sash/0.webp:417,770,304,224 +characters/hermione/poses/default/clothes/accessory/ball_sash/0_back.webp:451,952,251,43 +characters/hermione/poses/default/clothes/accessory/ball_sash/1.webp:498,766,131,125 +characters/hermione/poses/default/clothes/accessory/ball_sash/extra.webp:510,769,43,117 +characters/hermione/poses/default/clothes/accessory/ball_sash/outline.webp:414,765,308,232 +characters/hermione/poses/default/clothes/accessory/ball_sash/outline_back.webp:458,990,242,7 +characters/hermione/poses/default/clothes/accessory/bb_tie/0.webp:501,513,176,362 +characters/hermione/poses/default/clothes/accessory/bb_tie/1.webp:502,569,83,305 +characters/hermione/poses/default/clothes/accessory/bb_tie/2.webp:502,574,81,300 +characters/hermione/poses/default/clothes/accessory/bb_tie/outline.webp:501,511,178,366 +characters/hermione/poses/default/clothes/accessory/bb_tie/skin.webp:514,535,127,339 +characters/hermione/poses/default/clothes/accessory/bunny_badge/0.webp:568,789,60,99 +characters/hermione/poses/default/clothes/accessory/bunny_badge/outline.webp:568,789,61,101 +characters/hermione/poses/default/clothes/accessory/buttplug_large_1/0.webp:650,841,123,79 +characters/hermione/poses/default/clothes/accessory/buttplug_large_1/1.webp:644,867,20,36 +characters/hermione/poses/default/clothes/accessory/buttplug_large_1/2.webp:589,845,69,59 +characters/hermione/poses/default/clothes/accessory/buttplug_large_1/outline.webp:588,839,187,82 +characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/0.webp:652,822,90,69 +characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/1.webp:650,828,101,83 +characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/2.webp:647,868,105,54 +characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/3.webp:595,847,59,44 +characters/hermione/poses/default/clothes/accessory/buttplug_medium_1/outline.webp:593,817,162,112 +characters/hermione/poses/default/clothes/accessory/buttplug_small_1/0.webp:664,847,46,58 +characters/hermione/poses/default/clothes/accessory/buttplug_small_1/1.webp:621,859,49,29 +characters/hermione/poses/default/clothes/accessory/buttplug_small_1/outline.webp:620,845,91,61 +characters/hermione/poses/default/clothes/accessory/cat_tail/0.webp:315,950,147,237 +characters/hermione/poses/default/clothes/accessory/cat_tail/outline.webp:312,947,152,240 +characters/hermione/poses/default/clothes/accessory/clit_vibrators/0.webp:530,835,85,155 +characters/hermione/poses/default/clothes/accessory/clit_vibrators/1.webp:527,849,95,77 +characters/hermione/poses/default/clothes/accessory/clit_vibrators/2.webp:558,964,133,38 +characters/hermione/poses/default/clothes/accessory/clit_vibrators/extra.webp:533,899,63,75 +characters/hermione/poses/default/clothes/accessory/clit_vibrators/outline.webp:525,834,167,170 +characters/hermione/poses/default/clothes/accessory/clit_vibrators/skin.webp:542,838,67,131 +characters/hermione/poses/default/clothes/accessory/croft_belt/0.webp:432,815,278,240 +characters/hermione/poses/default/clothes/accessory/croft_belt/1.webp:443,869,225,175 +characters/hermione/poses/default/clothes/accessory/croft_belt/2.webp:494,854,61,38 +characters/hermione/poses/default/clothes/accessory/croft_belt/extra.webp:444,857,214,185 +characters/hermione/poses/default/clothes/accessory/croft_belt/outline.webp:431,814,281,242 +characters/hermione/poses/default/clothes/accessory/croft_suspenders/0.webp:506,510,184,172 +characters/hermione/poses/default/clothes/accessory/croft_suspenders/1.webp:521,523,155,47 +characters/hermione/poses/default/clothes/accessory/croft_suspenders/outline.webp:505,509,188,175 +characters/hermione/poses/default/clothes/accessory/house_emblem/0.webp:557,611,62,69 +characters/hermione/poses/default/clothes/accessory/house_emblem/1.webp:566,616,41,57 +characters/hermione/poses/default/clothes/accessory/house_emblem/outline.webp:556,611,64,72 +characters/hermione/poses/default/clothes/accessory/leg_wrap/0.webp:490,858,202,167 +characters/hermione/poses/default/clothes/accessory/leg_wrap/1.webp:504,857,169,168 +characters/hermione/poses/default/clothes/accessory/leg_wrap/outline.webp:488,856,207,170 +characters/hermione/poses/default/clothes/accessory/mistletoe/0.webp:515,862,44,37 +characters/hermione/poses/default/clothes/accessory/mistletoe/extra.webp:515,874,42,38 +characters/hermione/poses/default/clothes/accessory/mistletoe/outline.webp:514,861,46,53 +characters/hermione/poses/default/clothes/accessory/msmarv_ribbon/0.webp:434,797,270,317 +characters/hermione/poses/default/clothes/accessory/msmarv_ribbon/outline.webp:431,794,275,323 +characters/hermione/poses/default/clothes/accessory/nipple_vibrators/0.webp:437,553,276,135 +characters/hermione/poses/default/clothes/accessory/nipple_vibrators/1.webp:436,548,193,137 +characters/hermione/poses/default/clothes/accessory/nipple_vibrators/2.webp:661,589,73,47 +characters/hermione/poses/default/clothes/accessory/nipple_vibrators/extra.webp:440,628,257,35 +characters/hermione/poses/default/clothes/accessory/nipple_vibrators/outline.webp:434,547,302,143 +characters/hermione/poses/default/clothes/accessory/nipple_vibrators/skin.webp:451,571,266,94 +characters/hermione/poses/default/clothes/accessory/tifa_belt/0.webp:452,841,237,111 +characters/hermione/poses/default/clothes/accessory/tifa_belt/1.webp:524,894,22,10 +characters/hermione/poses/default/clothes/accessory/tifa_belt/extra.webp:452,849,237,52 +characters/hermione/poses/default/clothes/accessory/tifa_belt/outline.webp:451,840,240,112 +characters/hermione/poses/default/clothes/accessory/tifa_suspenders/0.webp:476,512,202,326 +characters/hermione/poses/default/clothes/accessory/tifa_suspenders/1.webp:475,544,181,305 +characters/hermione/poses/default/clothes/accessory/tifa_suspenders/outline.webp:474,511,205,339 +characters/hermione/poses/default/clothes/accessory/wrestling_belt/0.webp:457,811,218,102 +characters/hermione/poses/default/clothes/accessory/wrestling_belt/1.webp:472,835,104,73 +characters/hermione/poses/default/clothes/accessory/wrestling_belt/outline.webp:455,812,221,102 +characters/hermione/poses/default/clothes/accessory/yen_belt/0.webp:454,848,250,132 +characters/hermione/poses/default/clothes/accessory/yen_belt/1.webp:574,926,53,76 +characters/hermione/poses/default/clothes/accessory/yen_belt/outline.webp:454,848,251,154 +characters/hermione/poses/default/clothes/accessory/yen_corset/0.webp:484,722,161,129 +characters/hermione/poses/default/clothes/accessory/yen_corset/1.webp:492,769,139,44 +characters/hermione/poses/default/clothes/accessory/yen_corset/outline.webp:483,720,165,147 +characters/hermione/poses/default/clothes/accessory/yen_corset/overlay.webp:497,774,131,41 +characters/hermione/poses/default/clothes/accessory/yen_feathers/0.webp:402,570,554,192 +characters/hermione/poses/default/clothes/accessory/yen_feathers/outline.webp:401,570,406,113 +characters/hermione/poses/default/clothes/accessory/yen_sash/0.webp:454,785,270,398 +characters/hermione/poses/default/clothes/accessory/yen_sash/1.webp:463,802,261,381 +characters/hermione/poses/default/clothes/accessory/yen_sash/outline.webp:453,784,273,401 +characters/hermione/poses/default/clothes/accessory/yen_scarf/0.webp:511,473,159,190 +characters/hermione/poses/default/clothes/accessory/yen_scarf/outline.webp:509,471,163,193 +characters/hermione/poses/default/clothes/bottom/bioshock_skirt/0.webp:378,829,398,371 +characters/hermione/poses/default/clothes/bottom/bioshock_skirt/outline.webp:380,829,397,371 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/0.webp:420,803,304,197 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/1.webp:417,796,311,216 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/2.webp:420,804,305,197 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/outline.webp:415,793,315,221 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_1/skin.webp:469,798,203,218 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/0.webp:424,803,300,171 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/1.webp:424,801,299,172 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/2.webp:427,809,291,154 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/outline.webp:422,797,304,179 +characters/hermione/poses/default/clothes/bottom/cheerleader_skirt_2/skin.webp:462,798,218,180 +characters/hermione/poses/default/clothes/bottom/croft_shorts/0.webp:455,815,237,163 +characters/hermione/poses/default/clothes/bottom/croft_shorts/1.webp:459,963,235,33 +characters/hermione/poses/default/clothes/bottom/croft_shorts/2.webp:529,859,16,17 +characters/hermione/poses/default/clothes/bottom/croft_shorts/outline.webp:454,814,242,185 +characters/hermione/poses/default/clothes/bottom/egypt_loincloth/0.webp:511,899,97,301 +characters/hermione/poses/default/clothes/bottom/egypt_loincloth/1.webp:455,843,236,95 +characters/hermione/poses/default/clothes/bottom/egypt_loincloth/2.webp:537,896,28,39 +characters/hermione/poses/default/clothes/bottom/egypt_loincloth/extra.webp:478,861,154,68 +characters/hermione/poses/default/clothes/bottom/egypt_loincloth/outline.webp:453,841,240,359 +characters/hermione/poses/default/clothes/bottom/jeans_1/0.webp:453,822,242,378 +characters/hermione/poses/default/clothes/bottom/jeans_1/1.webp:461,824,212,46 +characters/hermione/poses/default/clothes/bottom/jeans_1/2.webp:521,843,52,34 +characters/hermione/poses/default/clothes/bottom/jeans_1/extra.webp:468,868,201,234 +characters/hermione/poses/default/clothes/bottom/jeans_1/outline.webp:452,819,244,381 +characters/hermione/poses/default/clothes/bottom/open_skirt_1/0.webp:441,807,301,393 +characters/hermione/poses/default/clothes/bottom/open_skirt_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/bottom/open_skirt_1/outline.webp:440,805,302,395 +characters/hermione/poses/default/clothes/bottom/pajama_1/0.webp:451,802,246,398 +characters/hermione/poses/default/clothes/bottom/pajama_1/1.webp:465,808,214,392 +characters/hermione/poses/default/clothes/bottom/pajama_1/2.webp:454,804,237,396 +characters/hermione/poses/default/clothes/bottom/pajama_1/outline.webp:450,800,248,400 +characters/hermione/poses/default/clothes/bottom/pajama_2/0.webp:451,802,246,398 +characters/hermione/poses/default/clothes/bottom/pajama_2/1.webp:520,833,60,87 +characters/hermione/poses/default/clothes/bottom/pajama_2/outline.webp:450,800,248,400 +characters/hermione/poses/default/clothes/bottom/pizza_skirt/0.webp:456,797,236,143 +characters/hermione/poses/default/clothes/bottom/pizza_skirt/1.webp:454,796,239,145 +characters/hermione/poses/default/clothes/bottom/pizza_skirt/outline.webp:453,793,242,150 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/0.webp:446,767,262,393 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/1.webp:582,798,12,24 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/0.webp:391,708,320,238 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/1.webp:579,792,11,25 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/outline.webp:388,708,326,240 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/lift_skirt/skin.webp:456,808,227,134 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/bottom/school_skirt_1/outline.webp:445,766,264,398 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/0.webp:441,767,264,262 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/1.webp:582,798,12,24 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/0.webp:391,708,320,237 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/1.webp:579,792,11,24 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/outline.webp:388,708,325,239 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/lift_skirt/skin.webp:456,808,226,133 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/bottom/school_skirt_2/outline.webp:439,766,268,264 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/0.webp:446,767,251,199 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/1.webp:582,798,12,24 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/0.webp:391,708,320,237 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/1.webp:579,792,11,24 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/outline.webp:388,708,325,239 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/lift_skirt/skin.webp:456,808,226,133 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/bottom/school_skirt_3/outline.webp:444,766,255,190 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/0.webp:453,767,236,199 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/1.webp:582,798,12,24 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/0.webp:391,708,320,237 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/1.webp:579,792,11,24 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/outline.webp:388,708,325,239 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/lift_skirt/skin.webp:456,808,226,133 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/bottom/school_skirt_4/outline.webp:450,766,240,160 +characters/hermione/poses/default/clothes/bottom/tifa_skirt/0.webp:452,826,240,127 +characters/hermione/poses/default/clothes/bottom/tifa_skirt/outline.webp:449,822,245,133 +characters/hermione/poses/default/clothes/bottom/winter_skirt_1/0.webp:451,830,255,208 +characters/hermione/poses/default/clothes/bottom/winter_skirt_1/outline.webp:451,828,255,210 +characters/hermione/poses/default/clothes/bottom/xmas/0.webp:457,841,228,96 +characters/hermione/poses/default/clothes/bottom/xmas/1.webp:443,824,255,134 +characters/hermione/poses/default/clothes/bottom/xmas/extra.webp:458,849,165,84 +characters/hermione/poses/default/clothes/bottom/xmas/outline.webp:442,823,257,136 +characters/hermione/poses/default/clothes/bottom/xmas/skin.webp:458,825,215,139 +characters/hermione/poses/default/clothes/bottom/yen_skirt/0.webp:454,824,239,151 +characters/hermione/poses/default/clothes/bottom/yen_skirt/outline.webp:451,822,244,155 +characters/hermione/poses/default/clothes/bra/bandaids/0.webp:437,634,169,66 +characters/hermione/poses/default/clothes/bra/bandaids/outline.webp:435,632,173,68 +characters/hermione/poses/default/clothes/bra/basic_bra_1/0.webp:436,516,243,209 +characters/hermione/poses/default/clothes/bra/basic_bra_1/1.webp:523,677,26,22 +characters/hermione/poses/default/clothes/bra/basic_bra_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/bra/basic_bra_1/outline.webp:447,515,235,211 +characters/hermione/poses/default/clothes/bra/basic_bra_1/skin.webp:507,526,151,199 +characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/0.webp:436,516,243,209 +characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/1.webp:524,677,25,22 +characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/outline.webp:434,515,247,211 +characters/hermione/poses/default/clothes/bra/basic_bra_vibrators/skin.webp:507,527,151,198 +characters/hermione/poses/default/clothes/bra/bikini_bra_1/0.webp:436,626,160,65 +characters/hermione/poses/default/clothes/bra/bikini_bra_1/1.webp:450,626,148,67 +characters/hermione/poses/default/clothes/bra/bikini_bra_1/extra.webp:433,635,149,51 +characters/hermione/poses/default/clothes/bra/bikini_bra_1/outline.webp:435,489,237,204 +characters/hermione/poses/default/clothes/bra/bikini_bra_2/0.webp:433,608,186,97 +characters/hermione/poses/default/clothes/bra/bikini_bra_2/1.webp:476,496,185,209 +characters/hermione/poses/default/clothes/bra/bikini_bra_2/extra.webp:434,643,152,46 +characters/hermione/poses/default/clothes/bra/bikini_bra_2/outline.webp:432,494,229,213 +characters/hermione/poses/default/clothes/bra/bikini_bra_2/skin.webp:463,528,178,174 +characters/hermione/poses/default/clothes/bra/hslut_pasties/0.webp:437,629,177,66 +characters/hermione/poses/default/clothes/bra/hslut_pasties/1.webp:416,653,177,110 +characters/hermione/poses/default/clothes/bra/hslut_pasties/extra.webp:416,629,198,123 +characters/hermione/poses/default/clothes/bra/hslut_pasties/outline.webp:413,627,203,138 +characters/hermione/poses/default/clothes/bra/poker_bra_1/0.webp:455,509,217,425 +characters/hermione/poses/default/clothes/bra/poker_bra_1/1.webp:450,580,156,261 +characters/hermione/poses/default/clothes/bra/poker_bra_1/2.webp:437,618,224,291 +characters/hermione/poses/default/clothes/bra/poker_bra_1/3.webp:499,838,80,61 +characters/hermione/poses/default/clothes/bra/poker_bra_1/extra.webp:437,512,207,383 +characters/hermione/poses/default/clothes/bra/poker_bra_1/outline.webp:436,508,239,434 +characters/hermione/poses/default/clothes/bra/poker_bra_1/skin.webp:447,521,220,410 +characters/hermione/poses/default/clothes/bra/ribbon/0.webp:464,618,206,125 +characters/hermione/poses/default/clothes/bra/ribbon/extra.webp:465,618,182,125 +characters/hermione/poses/default/clothes/bra/ribbon/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/bra/ribbon/outline.webp:462,616,209,129 +characters/hermione/poses/default/clothes/bra/ribbon/skin.webp:463,565,209,159 +characters/hermione/poses/default/clothes/bra/sling_bra/0.webp:436,619,176,122 +characters/hermione/poses/default/clothes/bra/sling_bra/1.webp:458,505,202,237 +characters/hermione/poses/default/clothes/bra/sling_bra/extra.webp:436,521,216,221 +characters/hermione/poses/default/clothes/bra/sling_bra/outline.webp:434,502,227,241 +characters/hermione/poses/default/clothes/bra/sling_bra/skin.webp:457,526,192,213 +characters/hermione/poses/default/clothes/bra/sports_bra/0.webp:436,507,247,233 +characters/hermione/poses/default/clothes/bra/sports_bra/1.webp:607,705,34,31 +characters/hermione/poses/default/clothes/bra/sports_bra/outline.webp:435,506,253,235 +characters/hermione/poses/default/clothes/earrings/hslut_earring/0.webp:631,417,25,22 +characters/hermione/poses/default/clothes/earrings/hslut_earring/extra.webp:632,417,24,21 +characters/hermione/poses/default/clothes/earrings/hslut_earring/outline.webp:630,417,27,22 +characters/hermione/poses/default/clothes/earrings/pearl_1/0.webp:643,415,7,7 +characters/hermione/poses/default/clothes/earrings/pearl_1/extra.webp:644,415,3,4 +characters/hermione/poses/default/clothes/earrings/pearl_1/outline.webp:642,414,9,9 +characters/hermione/poses/default/clothes/earrings/poker_earring_1/0.webp:635,420,19,32 +characters/hermione/poses/default/clothes/earrings/poker_earring_1/extra.webp:636,421,12,25 +characters/hermione/poses/default/clothes/earrings/poker_earring_1/outline.webp:633,419,24,35 +characters/hermione/poses/default/clothes/earrings/poker_earring_1/skin.webp:639,415,15,16 +characters/hermione/poses/default/clothes/garterbelt/hslut_garter/0.webp:458,831,219,205 +characters/hermione/poses/default/clothes/garterbelt/hslut_garter/1.webp:463,836,184,121 +characters/hermione/poses/default/clothes/garterbelt/hslut_garter/extra.webp:463,859,177,175 +characters/hermione/poses/default/clothes/garterbelt/hslut_garter/outline.webp:456,828,224,208 +characters/hermione/poses/default/clothes/glasses/reading_glasses/0.webp:512,377,97,22 +characters/hermione/poses/default/clothes/glasses/reading_glasses/outline.webp:510,375,119,25 +characters/hermione/poses/default/clothes/glasses/vintage_glasses/0.webp:510,365,105,40 +characters/hermione/poses/default/clothes/glasses/vintage_glasses/1.webp:506,362,158,48 +characters/hermione/poses/default/clothes/glasses/vintage_glasses/2.webp:511,370,128,34 +characters/hermione/poses/default/clothes/glasses/vintage_glasses/outline.webp:506,361,159,50 +characters/hermione/poses/default/clothes/glasses/vintage_glasses/skin.webp:512,359,150,51 +characters/hermione/poses/default/clothes/gloves/bunny_gloves_1/0.webp:335,846,457,120 +characters/hermione/poses/default/clothes/gloves/bunny_gloves_1/outline.webp:337,849,451,118 +characters/hermione/poses/default/clothes/gloves/cat_arms/0.webp:270,709,566,316 +characters/hermione/poses/default/clothes/gloves/cat_arms/1.webp:306,937,481,51 +characters/hermione/poses/default/clothes/gloves/cat_arms/2.webp:272,949,697,78 +characters/hermione/poses/default/clothes/gloves/cat_arms/outline.webp:268,707,570,323 +characters/hermione/poses/default/clothes/gloves/cheerleader_armband/0.webp:327,884,463,67 +characters/hermione/poses/default/clothes/gloves/cheerleader_armband/1.webp:334,889,452,52 +characters/hermione/poses/default/clothes/gloves/cheerleader_armband/outline.webp:326,882,465,71 +characters/hermione/poses/default/clothes/gloves/egypt_armband/0.webp:339,819,445,129 +characters/hermione/poses/default/clothes/gloves/egypt_armband/extra.webp:362,821,399,90 +characters/hermione/poses/default/clothes/gloves/egypt_armband/outline.webp:336,817,450,133 +characters/hermione/poses/default/clothes/gloves/hslut_gloves/0.webp:274,695,553,325 +characters/hermione/poses/default/clothes/gloves/hslut_gloves/outline.webp:272,694,558,328 +characters/hermione/poses/default/clothes/gloves/latex_gloves/0.webp:272,709,558,313 +characters/hermione/poses/default/clothes/gloves/latex_gloves/extra.webp:273,711,556,296 +characters/hermione/poses/default/clothes/gloves/latex_gloves/outline.webp:271,708,561,315 +characters/hermione/poses/default/clothes/gloves/maid_gloves_1/0.webp:274,897,553,124 +characters/hermione/poses/default/clothes/gloves/maid_gloves_1/1.webp:322,754,473,206 +characters/hermione/poses/default/clothes/gloves/maid_gloves_1/2.webp:443,808,263,14 +characters/hermione/poses/default/clothes/gloves/maid_gloves_1/outline.webp:272,752,558,270 +characters/hermione/poses/default/clothes/gloves/msmarv_gloves/0.webp:274,647,553,373 +characters/hermione/poses/default/clothes/gloves/msmarv_gloves/1.webp:299,657,513,323 +characters/hermione/poses/default/clothes/gloves/msmarv_gloves/outline.webp:272,646,558,376 +characters/hermione/poses/default/clothes/gloves/poker_gloves_1/0.webp:334,848,456,119 +characters/hermione/poses/default/clothes/gloves/poker_gloves_1/1.webp:383,921,362,32 +characters/hermione/poses/default/clothes/gloves/poker_gloves_1/outline.webp:334,847,457,123 +characters/hermione/poses/default/clothes/gloves/poker_gloves_1/skin.webp:338,887,444,59 +characters/hermione/poses/default/clothes/gloves/tifa_gloves/0.webp:381,663,382,210 +characters/hermione/poses/default/clothes/gloves/tifa_gloves/1.webp:276,752,561,246 +characters/hermione/poses/default/clothes/gloves/tifa_gloves/2.webp:286,735,551,225 +characters/hermione/poses/default/clothes/gloves/tifa_gloves/3.webp:751,955,72,35 +characters/hermione/poses/default/clothes/gloves/tifa_gloves/extra.webp:288,747,545,201 +characters/hermione/poses/default/clothes/gloves/tifa_gloves/outline.webp:273,660,567,342 +characters/hermione/poses/default/clothes/gloves/xmas/0.webp:331,884,460,68 +characters/hermione/poses/default/clothes/gloves/xmas/outline.webp:330,883,462,70 +characters/hermione/poses/default/clothes/gloves/yen_gloves/0.webp:272,779,557,241 +characters/hermione/poses/default/clothes/gloves/yen_gloves/outline.webp:272,779,558,242 +characters/hermione/poses/default/clothes/hair/base/0.webp:475,236,280,181 +characters/hermione/poses/default/clothes/hair/base/0_back.webp:428,370,408,290 +characters/hermione/poses/default/clothes/hair/base/1.webp:476,243,279,172 +characters/hermione/poses/default/clothes/hair/base/1_back.webp:453,408,368,187 +characters/hermione/poses/default/clothes/hair/base/2.webp:644,285,42,51 +characters/hermione/poses/default/clothes/hair/base/extra.webp:668,285,18,45 +characters/hermione/poses/default/clothes/hair/base/outline.webp:426,235,410,425 +characters/hermione/poses/default/clothes/hair/base/outline_back.webp:426,370,410,290 +characters/hermione/poses/default/clothes/hair/base/skin.webp:510,279,149,115 +characters/hermione/poses/default/clothes/hair/bio_hair/0.webp:476,241,289,230 +characters/hermione/poses/default/clothes/hair/bio_hair/1.webp:476,265,236,84 +characters/hermione/poses/default/clothes/hair/bio_hair/outline.webp:475,240,292,236 +characters/hermione/poses/default/clothes/hair/bio_hair/skin.webp:495,302,137,113 +characters/hermione/poses/default/clothes/hair/updo/0.webp:486,233,256,255 +characters/hermione/poses/default/clothes/hair/updo/0_front.webp:581,471,60,83 +characters/hermione/poses/default/clothes/hair/updo/1.webp:486,233,255,239 +characters/hermione/poses/default/clothes/hair/updo/1_front.webp:582,471,42,82 +characters/hermione/poses/default/clothes/hair/updo/outline.webp:484,232,259,323 +characters/hermione/poses/default/clothes/hair/updo/outline_front.webp:578,471,64,84 +characters/hermione/poses/default/clothes/hair/updo/skin.webp:511,297,139,160 +characters/hermione/poses/default/clothes/headgear/antlers/default/0.webp:476,216,245,80 +characters/hermione/poses/default/clothes/headgear/antlers/default/outline.webp:474,215,249,87 +characters/hermione/poses/default/clothes/headgear/antlers_2/default/0.webp:467,175,262,149 +characters/hermione/poses/default/clothes/headgear/antlers_2/default/1.webp:467,175,225,147 +characters/hermione/poses/default/clothes/headgear/antlers_2/default/2.webp:464,94,253,253 +characters/hermione/poses/default/clothes/headgear/antlers_2/default/outline.webp:463,93,268,260 +characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/0.webp:484,149,159,133 +characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/1.webp:493,162,137,117 +characters/hermione/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp:482,148,162,139 +characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/0.webp:534,255,123,91 +characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/1.webp:432,129,288,154 +characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/2.webp:419,111,315,174 +characters/hermione/poses/default/clothes/headgear/bunny_hat_2/default/outline.webp:417,109,319,239 +characters/hermione/poses/default/clothes/headgear/cat_ears/default/0.webp:487,223,208,116 +characters/hermione/poses/default/clothes/headgear/cat_ears/default/1.webp:494,246,180,82 +characters/hermione/poses/default/clothes/headgear/cat_ears/default/outline.webp:486,223,209,117 +characters/hermione/poses/default/clothes/headgear/elf/default/0.webp:616,201,183,102 +characters/hermione/poses/default/clothes/headgear/elf/default/1.webp:591,238,119,98 +characters/hermione/poses/default/clothes/headgear/elf/default/extra.webp:613,201,108,84 +characters/hermione/poses/default/clothes/headgear/elf/default/outline.webp:588,200,212,138 +characters/hermione/poses/default/clothes/headgear/maid_hat_1/default/0.webp:506,231,164,95 +characters/hermione/poses/default/clothes/headgear/maid_hat_1/default/outline.webp:505,229,166,98 +characters/hermione/poses/default/clothes/headgear/panties_on_head/default/0.webp:514,252,150,120 +characters/hermione/poses/default/clothes/headgear/panties_on_head/default/outline.webp:511,250,153,126 +characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/0.webp:480,185,115,116 +characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/1.webp:504,227,70,53 +characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/2.webp:541,219,54,60 +characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/extra.webp:463,234,145,94 +characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/outline.webp:478,183,118,120 +characters/hermione/poses/default/clothes/headgear/poker_hat_1/default/overlay.webp:485,191,108,106 +characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/0.webp:480,185,115,116 +characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/1.webp:504,227,70,53 +characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/2.webp:541,219,54,60 +characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/extra.webp:488,234,120,74 +characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/outline.webp:478,183,118,120 +characters/hermione/poses/default/clothes/headgear/poker_hat_2/default/overlay.webp:485,191,108,106 +characters/hermione/poses/default/clothes/makeup/cat_muzzle/0.webp:535,416,18,9 +characters/hermione/poses/default/clothes/makeup/cat_muzzle/outline.webp:494,406,125,34 +characters/hermione/poses/default/clothes/makeup/cat_muzzle/skin.webp:538,419,20,8 +characters/hermione/poses/default/clothes/makeup/freckles1/0.webp:517,396,97,29 +characters/hermione/poses/default/clothes/makeup/freckles2/0.webp:537,393,38,26 +characters/hermione/poses/default/clothes/makeup/freckles3/0.webp:532,562,103,36 +characters/hermione/poses/default/clothes/makeup/freckles4/0.webp:515,520,201,33 +characters/hermione/poses/default/clothes/makeup/lipstick/angry/0.webp:539,435,55,26 +characters/hermione/poses/default/clothes/makeup/lipstick/annoyed/0.webp:532,437,35,19 +characters/hermione/poses/default/clothes/makeup/lipstick/base/0.webp:541,439,41,16 +characters/hermione/poses/default/clothes/makeup/lipstick/clench/0.webp:537,431,51,28 +characters/hermione/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp:536,433,55,31 +characters/hermione/poses/default/clothes/makeup/lipstick/cum/0.webp:541,439,35,24 +characters/hermione/poses/default/clothes/makeup/lipstick/disgust/0.webp:540,447,50,20 +characters/hermione/poses/default/clothes/makeup/lipstick/full/0.webp:543,439,30,19 +characters/hermione/poses/default/clothes/makeup/lipstick/full_cum/0.webp:543,439,30,19 +characters/hermione/poses/default/clothes/makeup/lipstick/full_panties/0.webp:543,439,30,19 +characters/hermione/poses/default/clothes/makeup/lipstick/grin/0.webp:537,437,53,27 +characters/hermione/poses/default/clothes/makeup/lipstick/mad/0.webp:539,441,44,22 +characters/hermione/poses/default/clothes/makeup/lipstick/normal/0.webp:541,439,35,16 +characters/hermione/poses/default/clothes/makeup/lipstick/open/0.webp:541,436,32,32 +characters/hermione/poses/default/clothes/makeup/lipstick/open_tongue/0.webp:541,436,32,32 +characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp:537,433,39,52 +characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue_cum/0.webp:537,433,39,52 +characters/hermione/poses/default/clothes/makeup/lipstick/open_wide_tongue_panties/0.webp:537,433,39,52 +characters/hermione/poses/default/clothes/makeup/lipstick/scream/0.webp:537,433,39,52 +characters/hermione/poses/default/clothes/makeup/lipstick/shock/0.webp:535,437,43,36 +characters/hermione/poses/default/clothes/makeup/lipstick/silly/0.webp:540,433,46,32 +characters/hermione/poses/default/clothes/makeup/lipstick/smile/0.webp:536,435,57,33 +characters/hermione/poses/default/clothes/makeup/lipstick/soft/0.webp:538,439,36,26 +characters/hermione/poses/default/clothes/makeup/lipstick/upset/0.webp:540,439,35,19 +characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/0.webp:558,483,102,74 +characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/outline.webp:556,481,107,79 +characters/hermione/poses/default/clothes/neckwear/ball_pearls_1/overlay.webp:562,484,91,67 +characters/hermione/poses/default/clothes/neckwear/basic_collar/0.webp:563,471,102,45 +characters/hermione/poses/default/clothes/neckwear/basic_collar/1.webp:589,496,11,12 +characters/hermione/poses/default/clothes/neckwear/basic_collar/extra.webp:564,480,65,34 +characters/hermione/poses/default/clothes/neckwear/basic_collar/outline.webp:562,470,104,47 +characters/hermione/poses/default/clothes/neckwear/bell_1/0.webp:578,473,72,34 +characters/hermione/poses/default/clothes/neckwear/bell_1/1.webp:556,486,66,51 +characters/hermione/poses/default/clothes/neckwear/bell_1/extra.webp:561,479,70,45 +characters/hermione/poses/default/clothes/neckwear/bell_1/outline.webp:555,471,97,67 +characters/hermione/poses/default/clothes/neckwear/bioshock_choker/0.webp:577,476,71,30 +characters/hermione/poses/default/clothes/neckwear/bioshock_choker/extra.webp:588,482,25,26 +characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/0.webp:540,466,117,96 +characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/1.webp:548,512,80,51 +characters/hermione/poses/default/clothes/neckwear/bunny_bowtie_1/outline.webp:539,461,121,108 +characters/hermione/poses/default/clothes/neckwear/choker_1/0.webp:578,473,72,34 +characters/hermione/poses/default/clothes/neckwear/choker_1/extra.webp:582,479,49,22 +characters/hermione/poses/default/clothes/neckwear/choker_1/outline.webp:576,471,76,38 +characters/hermione/poses/default/clothes/neckwear/egypt_neck/0.webp:543,475,170,103 +characters/hermione/poses/default/clothes/neckwear/egypt_neck/1.webp:547,509,146,65 +characters/hermione/poses/default/clothes/neckwear/egypt_neck/2.webp:575,504,26,39 +characters/hermione/poses/default/clothes/neckwear/egypt_neck/extra.webp:548,494,78,80 +characters/hermione/poses/default/clothes/neckwear/egypt_neck/outline.webp:541,474,177,106 +characters/hermione/poses/default/clothes/neckwear/flasher_collar/0.webp:440,472,222,215 +characters/hermione/poses/default/clothes/neckwear/flasher_collar/1.webp:436,512,170,173 +characters/hermione/poses/default/clothes/neckwear/flasher_collar/extra.webp:566,480,62,35 +characters/hermione/poses/default/clothes/neckwear/flasher_collar/outline.webp:435,470,228,219 +characters/hermione/poses/default/clothes/neckwear/flasher_collar/overlay.webp:570,486,87,28 +characters/hermione/poses/default/clothes/neckwear/good_girl_collar/0.webp:563,471,102,54 +characters/hermione/poses/default/clothes/neckwear/good_girl_collar/1.webp:564,473,99,52 +characters/hermione/poses/default/clothes/neckwear/good_girl_collar/2.webp:606,515,25,23 +characters/hermione/poses/default/clothes/neckwear/good_girl_collar/extra.webp:564,480,65,34 +characters/hermione/poses/default/clothes/neckwear/good_girl_collar/outline.webp:562,470,104,69 +characters/hermione/poses/default/clothes/neckwear/good_girl_collar/overlay.webp:577,492,75,16 +characters/hermione/poses/default/clothes/neckwear/hslut_choker/0.webp:613,481,43,38 +characters/hermione/poses/default/clothes/neckwear/hslut_choker/1.webp:561,490,57,46 +characters/hermione/poses/default/clothes/neckwear/hslut_choker/extra.webp:562,489,60,46 +characters/hermione/poses/default/clothes/neckwear/hslut_choker/outline.webp:560,479,98,58 +characters/hermione/poses/default/clothes/neckwear/latex_choker/0.webp:572,489,85,42 +characters/hermione/poses/default/clothes/neckwear/latex_choker/extra.webp:580,508,20,5 +characters/hermione/poses/default/clothes/neckwear/latex_choker/outline.webp:570,486,89,46 +characters/hermione/poses/default/clothes/neckwear/maid_choker_1/0.webp:538,478,79,95 +characters/hermione/poses/default/clothes/neckwear/maid_choker_1/1.webp:567,471,77,41 +characters/hermione/poses/default/clothes/neckwear/maid_choker_1/outline.webp:537,467,109,108 +characters/hermione/poses/default/clothes/neckwear/maid_choker_2/0.webp:567,471,77,41 +characters/hermione/poses/default/clothes/neckwear/maid_choker_2/outline.webp:571,467,75,40 +characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/0.webp:544,465,110,91 +characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/1.webp:540,516,80,48 +characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/2.webp:575,538,7,9 +characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/extra.webp:541,518,78,34 +characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/outline.webp:539,463,118,102 +characters/hermione/poses/default/clothes/neckwear/poker_bowtie_1/skin.webp:532,504,93,65 +characters/hermione/poses/default/clothes/neckwear/slave_collar/0.webp:563,471,102,58 +characters/hermione/poses/default/clothes/neckwear/slave_collar/extra.webp:564,480,65,34 +characters/hermione/poses/default/clothes/neckwear/slave_collar/outline.webp:562,470,104,60 +characters/hermione/poses/default/clothes/neckwear/slave_collar/overlay.webp:580,488,69,25 +characters/hermione/poses/default/clothes/neckwear/slut_collar/0.webp:566,472,96,44 +characters/hermione/poses/default/clothes/neckwear/slut_collar/1.webp:584,491,55,22 +characters/hermione/poses/default/clothes/neckwear/slut_collar/extra.webp:566,480,62,34 +characters/hermione/poses/default/clothes/neckwear/slut_collar/outline.webp:565,470,98,60 +characters/hermione/poses/default/clothes/neckwear/slut_collar/overlay.webp:586,493,50,17 +characters/hermione/poses/default/clothes/neckwear/studded_choker/0.webp:571,471,76,38 +characters/hermione/poses/default/clothes/neckwear/studded_choker/1.webp:570,475,82,48 +characters/hermione/poses/default/clothes/neckwear/studded_choker/extra.webp:571,477,80,40 +characters/hermione/poses/default/clothes/neckwear/studded_choker/outline.webp:569,469,84,55 +characters/hermione/poses/default/clothes/neckwear/whore_collar/0.webp:566,472,96,44 +characters/hermione/poses/default/clothes/neckwear/whore_collar/extra.webp:566,480,62,34 +characters/hermione/poses/default/clothes/neckwear/whore_collar/outline.webp:565,470,98,57 +characters/hermione/poses/default/clothes/neckwear/whore_collar/overlay.webp:577,486,74,29 +characters/hermione/poses/default/clothes/neckwear/yen_choker/0.webp:579,477,69,29 +characters/hermione/poses/default/clothes/neckwear/yen_choker/extra.webp:579,503,26,32 +characters/hermione/poses/default/clothes/neckwear/yen_choker/outline.webp:577,475,72,60 +characters/hermione/poses/default/clothes/panties/basic_panties_1/0.webp:459,822,223,112 +characters/hermione/poses/default/clothes/panties/basic_panties_1/1.webp:527,850,19,18 +characters/hermione/poses/default/clothes/panties/basic_panties_1/outline.webp:459,819,225,117 +characters/hermione/poses/default/clothes/panties/basic_panties_1/skin.webp:463,824,208,101 +characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/0.webp:459,822,223,112 +characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/1.webp:528,850,17,17 +characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/outline.webp:458,819,226,117 +characters/hermione/poses/default/clothes/panties/basic_panties_vibrators/skin.webp:463,824,209,101 +characters/hermione/poses/default/clothes/panties/bikini_panties_1/0.webp:532,898,34,37 +characters/hermione/poses/default/clothes/panties/bikini_panties_1/1.webp:472,849,94,82 +characters/hermione/poses/default/clothes/panties/bikini_panties_1/outline.webp:466,840,203,96 +characters/hermione/poses/default/clothes/panties/bikini_panties_2/0.webp:516,884,62,49 +characters/hermione/poses/default/clothes/panties/bikini_panties_2/1.webp:475,817,178,72 +characters/hermione/poses/default/clothes/panties/bikini_panties_2/extra.webp:528,899,37,16 +characters/hermione/poses/default/clothes/panties/bikini_panties_2/outline.webp:470,816,187,117 +characters/hermione/poses/default/clothes/panties/bikini_panties_2/skin.webp:477,826,168,74 +characters/hermione/poses/default/clothes/panties/fishnet_panties/0.webp:461,822,233,113 +characters/hermione/poses/default/clothes/panties/fishnet_panties/outline.webp:460,819,222,117 +characters/hermione/poses/default/clothes/panties/hslut_panties/0.webp:522,887,51,46 +characters/hermione/poses/default/clothes/panties/hslut_panties/extra.webp:522,887,47,45 +characters/hermione/poses/default/clothes/panties/hslut_panties/outline.webp:520,885,54,50 +characters/hermione/poses/default/clothes/panties/latex_panties/0.webp:466,823,196,110 +characters/hermione/poses/default/clothes/panties/latex_panties/extra.webp:478,854,126,65 +characters/hermione/poses/default/clothes/panties/latex_panties/outline.webp:466,797,197,136 +characters/hermione/poses/default/clothes/panties/pizza_panties/0.webp:513,877,68,77 +characters/hermione/poses/default/clothes/panties/pizza_panties/outline.webp:508,858,82,140 +characters/hermione/poses/default/clothes/panties/pizza_panties/overlay.webp:508,860,79,137 +characters/hermione/poses/default/clothes/panties/poker_panties_1/0.webp:471,816,189,118 +characters/hermione/poses/default/clothes/panties/poker_panties_1/1.webp:473,815,188,94 +characters/hermione/poses/default/clothes/panties/poker_panties_1/2.webp:514,868,50,31 +characters/hermione/poses/default/clothes/panties/poker_panties_1/extra.webp:471,819,160,76 +characters/hermione/poses/default/clothes/panties/poker_panties_1/outline.webp:471,814,192,128 +characters/hermione/poses/default/clothes/panties/poker_panties_1/skin.webp:471,818,162,113 +characters/hermione/poses/default/clothes/panties/ribbon/0.webp:480,848,210,175 +characters/hermione/poses/default/clothes/panties/ribbon/extra.webp:480,850,185,173 +characters/hermione/poses/default/clothes/panties/ribbon/outline.webp:479,847,213,177 +characters/hermione/poses/default/clothes/panties/ribbon/skin.webp:480,845,203,169 +characters/hermione/poses/default/clothes/panties/sling_panties/0.webp:529,881,36,52 +characters/hermione/poses/default/clothes/panties/sling_panties/1.webp:494,790,144,96 +characters/hermione/poses/default/clothes/panties/sling_panties/extra.webp:497,803,119,117 +characters/hermione/poses/default/clothes/panties/sling_panties/outline.webp:494,789,145,144 +characters/hermione/poses/default/clothes/panties/sling_panties/skin.webp:497,792,123,129 +characters/hermione/poses/default/clothes/panties/sports_panties/0.webp:467,796,202,140 +characters/hermione/poses/default/clothes/panties/sports_panties/1.webp:609,799,45,53 +characters/hermione/poses/default/clothes/panties/sports_panties/outline.webp:466,795,205,142 +characters/hermione/poses/default/clothes/piercing/belly_dick/0.webp:530,781,15,59 +characters/hermione/poses/default/clothes/piercing/belly_dick/extra.webp:530,783,14,57 +characters/hermione/poses/default/clothes/piercing/belly_dick/outline.webp:529,781,16,59 +characters/hermione/poses/default/clothes/piercing/belly_heart/0.webp:531,781,14,48 +characters/hermione/poses/default/clothes/piercing/belly_heart/extra.webp:530,783,14,45 +characters/hermione/poses/default/clothes/piercing/belly_heart/outline.webp:530,781,15,48 +characters/hermione/poses/default/clothes/piercing/belly_stud/0.webp:538,775,7,18 +characters/hermione/poses/default/clothes/piercing/belly_stud/extra.webp:538,777,6,16 +characters/hermione/poses/default/clothes/piercing/belly_stud/outline.webp:537,775,8,18 +characters/hermione/poses/default/clothes/piercing/clit_stud/0.webp:545,920,7,8 +characters/hermione/poses/default/clothes/piercing/clit_stud/extra.webp:546,920,6,8 +characters/hermione/poses/default/clothes/piercing/clit_stud/outline.webp:544,919,9,10 +characters/hermione/poses/default/clothes/piercing/nipple_bells/0.webp:428,656,160,41 +characters/hermione/poses/default/clothes/piercing/nipple_bells/extra.webp:429,659,155,34 +characters/hermione/poses/default/clothes/piercing/nipple_bells/outline.webp:427,656,161,41 +characters/hermione/poses/default/clothes/piercing/nipple_rings/0.webp:436,660,150,24 +characters/hermione/poses/default/clothes/piercing/nipple_rings/extra.webp:568,668,17,15 +characters/hermione/poses/default/clothes/piercing/nipple_rings/outline.webp:435,658,151,26 +characters/hermione/poses/default/clothes/piercing/nipple_rings2/0.webp:436,660,150,24 +characters/hermione/poses/default/clothes/piercing/nipple_rings2/extra.webp:568,668,17,15 +characters/hermione/poses/default/clothes/piercing/nipple_rings2/outline.webp:435,658,151,27 +characters/hermione/poses/default/clothes/piercing/nipple_rings3/0.webp:436,657,150,27 +characters/hermione/poses/default/clothes/piercing/nipple_rings3/extra.webp:568,668,17,15 +characters/hermione/poses/default/clothes/piercing/nipple_rings3/outline.webp:435,656,151,28 +characters/hermione/poses/default/clothes/piercing/nipple_stud/0.webp:441,655,146,20 +characters/hermione/poses/default/clothes/piercing/nipple_stud/extra.webp:441,655,145,20 +characters/hermione/poses/default/clothes/piercing/nipple_stud/outline.webp:440,654,148,23 +characters/hermione/poses/default/clothes/piercing/poker_belly_1/0.webp:525,778,22,26 +characters/hermione/poses/default/clothes/piercing/poker_belly_1/1.webp:525,767,22,37 +characters/hermione/poses/default/clothes/piercing/poker_belly_1/2.webp:530,782,10,13 +characters/hermione/poses/default/clothes/piercing/poker_belly_1/3.webp:534,767,11,11 +characters/hermione/poses/default/clothes/piercing/poker_belly_1/extra.webp:526,767,20,37 +characters/hermione/poses/default/clothes/piercing/poker_belly_1/outline.webp:525,765,22,39 +characters/hermione/poses/default/clothes/piercing/poker_belly_1/skin.webp:534,765,15,41 +characters/hermione/poses/default/clothes/pubes/arrow/0.webp:525,872,39,51 +characters/hermione/poses/default/clothes/pubes/arrow/outline.webp:525,874,34,44 +characters/hermione/poses/default/clothes/pubes/beaver/0.webp:514,853,64,88 +characters/hermione/poses/default/clothes/pubes/beaver/outline.webp:516,857,58,87 +characters/hermione/poses/default/clothes/pubes/stuble/0.webp:524,894,49,32 +characters/hermione/poses/default/clothes/pubes/unshaved/0.webp:526,891,42,41 +characters/hermione/poses/default/clothes/robe/bioshock_robe/0.webp:372,453,392,422 +characters/hermione/poses/default/clothes/robe/bioshock_robe/1.webp:330,841,450,95 +characters/hermione/poses/default/clothes/robe/bioshock_robe/outline.webp:329,453,452,483 +characters/hermione/poses/default/clothes/robe/robe_school_1/0.webp:338,535,472,665 +characters/hermione/poses/default/clothes/robe/robe_school_1/0_back.webp:0,0,0,0 +characters/hermione/poses/default/clothes/robe/robe_school_1/1.webp:511,620,57,9 +characters/hermione/poses/default/clothes/robe/robe_school_1/1_back.webp:0,0,0,0 +characters/hermione/poses/default/clothes/robe/robe_school_1/2.webp:335,474,463,528 +characters/hermione/poses/default/clothes/robe/robe_school_1/2_back.webp:335,898,108,89 +characters/hermione/poses/default/clothes/robe/robe_school_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/robe/robe_school_1/outline.webp:334,474,479,726 +characters/hermione/poses/default/clothes/robe/robe_school_1/outline_back.webp:334,824,115,166 +characters/hermione/poses/default/clothes/robe/robe_school_1/skin.webp:339,521,456,432 +characters/hermione/poses/default/clothes/robe/robe_school_2/0.webp:338,535,472,665 +characters/hermione/poses/default/clothes/robe/robe_school_2/0_back.webp:0,0,0,0 +characters/hermione/poses/default/clothes/robe/robe_school_2/1.webp:511,620,57,9 +characters/hermione/poses/default/clothes/robe/robe_school_2/1_back.webp:0,0,0,0 +characters/hermione/poses/default/clothes/robe/robe_school_2/2.webp:336,474,462,528 +characters/hermione/poses/default/clothes/robe/robe_school_2/2_back.webp:335,898,217,302 +characters/hermione/poses/default/clothes/robe/robe_school_2/extra.webp:411,686,284,514 +characters/hermione/poses/default/clothes/robe/robe_school_2/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/robe/robe_school_2/outline.webp:334,474,479,726 +characters/hermione/poses/default/clothes/robe/robe_school_2/outline_back.webp:334,824,226,376 +characters/hermione/poses/default/clothes/robe/robe_school_2/skin.webp:339,521,456,432 +characters/hermione/poses/default/clothes/robe/robe_school_3/0.webp:338,535,472,665 +characters/hermione/poses/default/clothes/robe/robe_school_3/0_back.webp:0,0,0,0 +characters/hermione/poses/default/clothes/robe/robe_school_3/1.webp:511,620,57,9 +characters/hermione/poses/default/clothes/robe/robe_school_3/1_back.webp:0,0,0,0 +characters/hermione/poses/default/clothes/robe/robe_school_3/2.webp:336,474,462,528 +characters/hermione/poses/default/clothes/robe/robe_school_3/2_back.webp:335,898,218,302 +characters/hermione/poses/default/clothes/robe/robe_school_3/extra.webp:331,647,452,553 +characters/hermione/poses/default/clothes/robe/robe_school_3/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/robe/robe_school_3/outline.webp:334,474,479,726 +characters/hermione/poses/default/clothes/robe/robe_school_3/outline_back.webp:334,824,220,376 +characters/hermione/poses/default/clothes/robe/robe_school_3/skin.webp:339,521,456,432 +characters/hermione/poses/default/clothes/robe/robe_school_4/0.webp:337,748,546,452 +characters/hermione/poses/default/clothes/robe/robe_school_4/0_back.webp:337,787,140,413 +characters/hermione/poses/default/clothes/robe/robe_school_4/1.webp:454,830,195,45 +characters/hermione/poses/default/clothes/robe/robe_school_4/1_back.webp:454,830,8,8 +characters/hermione/poses/default/clothes/robe/robe_school_4/2.webp:299,712,504,432 +characters/hermione/poses/default/clothes/robe/robe_school_4/2_back.webp:299,715,380,485 +characters/hermione/poses/default/clothes/robe/robe_school_4/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/robe/robe_school_4/outline.webp:296,709,591,491 +characters/hermione/poses/default/clothes/robe/robe_school_4/outline_back.webp:296,713,384,487 +characters/hermione/poses/default/clothes/robe/robe_school_4/skin.webp:453,706,274,494 +characters/hermione/poses/default/clothes/robe/witch_cape/0.webp:488,469,356,491 +characters/hermione/poses/default/clothes/robe/witch_cape/0_back.webp:492,683,265,260 +characters/hermione/poses/default/clothes/robe/witch_cape/1.webp:606,542,38,37 +characters/hermione/poses/default/clothes/robe/witch_cape/2.webp:622,533,19,14 +characters/hermione/poses/default/clothes/robe/witch_cape/outline.webp:487,468,359,493 +characters/hermione/poses/default/clothes/robe/wrestling_robe/0.webp:364,490,411,708 +characters/hermione/poses/default/clothes/robe/wrestling_robe/1.webp:346,361,442,834 +characters/hermione/poses/default/clothes/robe/wrestling_robe/extra.webp:468,634,104,169 +characters/hermione/poses/default/clothes/robe/wrestling_robe/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/robe/wrestling_robe/outline.webp:344,488,446,711 +characters/hermione/poses/default/clothes/stockings/bunny_stockings_1/0.webp:454,798,239,402 +characters/hermione/poses/default/clothes/stockings/bunny_stockings_1/outline.webp:453,797,241,403 +characters/hermione/poses/default/clothes/stockings/cat_legs/0.webp:475,1028,214,172 +characters/hermione/poses/default/clothes/stockings/cat_legs/outline.webp:474,1025,217,175 +characters/hermione/poses/default/clothes/stockings/hslut_socks/0.webp:477,1014,205,186 +characters/hermione/poses/default/clothes/stockings/hslut_socks/outline.webp:475,1013,210,187 +characters/hermione/poses/default/clothes/stockings/latex_stockings/0.webp:460,961,235,239 +characters/hermione/poses/default/clothes/stockings/latex_stockings/extra.webp:487,979,114,170 +characters/hermione/poses/default/clothes/stockings/latex_stockings/outline.webp:458,960,237,240 +characters/hermione/poses/default/clothes/stockings/maid_stockings_1/0.webp:489,1034,193,166 +characters/hermione/poses/default/clothes/stockings/maid_stockings_1/extra.webp:513,1052,89,100 +characters/hermione/poses/default/clothes/stockings/maid_stockings_1/outline.webp:484,1031,198,169 +characters/hermione/poses/default/clothes/stockings/msmarv_stockings/0.webp:457,934,235,266 +characters/hermione/poses/default/clothes/stockings/msmarv_stockings/1.webp:498,999,128,201 +characters/hermione/poses/default/clothes/stockings/msmarv_stockings/outline.webp:455,932,239,268 +characters/hermione/poses/default/clothes/stockings/pantyhose_1/0.webp:457,838,235,362 +characters/hermione/poses/default/clothes/stockings/pantyhose_1/outline.webp:455,836,238,364 +characters/hermione/poses/default/clothes/stockings/pantyhose_2/0.webp:457,838,235,362 +characters/hermione/poses/default/clothes/stockings/pantyhose_2/outline.webp:455,836,238,364 +characters/hermione/poses/default/clothes/stockings/pantyhose_3/0.webp:457,838,235,362 +characters/hermione/poses/default/clothes/stockings/pantyhose_3/outline.webp:455,836,238,364 +characters/hermione/poses/default/clothes/stockings/poker_stockings_1/0.webp:464,983,224,217 +characters/hermione/poses/default/clothes/stockings/poker_stockings_1/1.webp:460,962,228,51 +characters/hermione/poses/default/clothes/stockings/poker_stockings_1/extra.webp:460,962,192,32 +characters/hermione/poses/default/clothes/stockings/poker_stockings_1/outline.webp:458,960,232,240 +characters/hermione/poses/default/clothes/stockings/poker_stockings_1/skin.webp:441,928,80,95 +characters/hermione/poses/default/clothes/stockings/poker_stockings_2/0.webp:464,983,224,217 +characters/hermione/poses/default/clothes/stockings/poker_stockings_2/1.webp:460,962,228,51 +characters/hermione/poses/default/clothes/stockings/poker_stockings_2/extra.webp:460,962,192,32 +characters/hermione/poses/default/clothes/stockings/poker_stockings_2/outline.webp:458,960,232,240 +characters/hermione/poses/default/clothes/stockings/short_meshed/0.webp:496,1030,181,170 +characters/hermione/poses/default/clothes/stockings/short_meshed/1.webp:485,1039,196,53 +characters/hermione/poses/default/clothes/stockings/short_meshed/extra.webp:485,1040,193,52 +characters/hermione/poses/default/clothes/stockings/short_meshed/outline.webp:480,1025,202,175 +characters/hermione/poses/default/clothes/stockings/stockings_1/0.webp:505,1085,164,105 +characters/hermione/poses/default/clothes/stockings/stockings_1/1.webp:488,1049,188,151 +characters/hermione/poses/default/clothes/stockings/stockings_1/extra.webp:517,1063,92,81 +characters/hermione/poses/default/clothes/stockings/stockings_1/outline.webp:487,1047,191,153 +characters/hermione/poses/default/clothes/stockings/stockings_1/skin.webp:488,1047,179,17 +characters/hermione/poses/default/clothes/stockings/stockings_2/0.webp:470,1002,214,198 +characters/hermione/poses/default/clothes/stockings/stockings_2/outline.webp:468,999,219,201 +characters/hermione/poses/default/clothes/stockings/witch_stockings/0.webp:459,954,232,246 +characters/hermione/poses/default/clothes/stockings/witch_stockings/1.webp:447,928,254,272 +characters/hermione/poses/default/clothes/stockings/witch_stockings/outline.webp:445,927,257,273 +characters/hermione/poses/default/clothes/stockings/xmas/0.webp:460,847,226,353 +characters/hermione/poses/default/clothes/stockings/xmas/1.webp:498,1049,176,151 +characters/hermione/poses/default/clothes/stockings/xmas/outline.webp:459,846,228,354 +characters/hermione/poses/default/clothes/stockings/yen_stockings/0.webp:474,1010,214,190 +characters/hermione/poses/default/clothes/stockings/yen_stockings/outline.webp:479,1026,204,174 +characters/hermione/poses/default/clothes/tattoo/10g_tattoo/0.webp:520,843,49,55 +characters/hermione/poses/default/clothes/tattoo/bb_tattoo/0.webp:602,840,71,91 +characters/hermione/poses/default/clothes/tattoo/bb_tattoo/1.webp:620,858,38,28 +characters/hermione/poses/default/clothes/tattoo/bb_tattoo/2.webp:620,875,50,36 +characters/hermione/poses/default/clothes/tattoo/bb_tattoo/extra.webp:619,858,51,54 +characters/hermione/poses/default/clothes/tattoo/bb_tattoo/skin.webp:620,858,51,54 +characters/hermione/poses/default/clothes/tattoo/bunny_tattoo/0.webp:616,874,50,79 +characters/hermione/poses/default/clothes/tattoo/cockhole_tattoo/0.webp:515,847,63,37 +characters/hermione/poses/default/clothes/tattoo/cumhere_tattoo1/0.webp:530,545,130,39 +characters/hermione/poses/default/clothes/tattoo/cumhere_tattoo2/0.webp:515,852,63,43 +characters/hermione/poses/default/clothes/tattoo/cumslut_tattoo/0.webp:514,851,73,40 +characters/hermione/poses/default/clothes/tattoo/cunt_tattoo/0.webp:515,849,66,33 +characters/hermione/poses/default/clothes/tattoo/deatheater_tattoo/0.webp:524,834,35,59 +characters/hermione/poses/default/clothes/tattoo/deposit_tattoo/0.webp:507,844,84,29 +characters/hermione/poses/default/clothes/tattoo/free_tattoo/0.webp:578,865,60,62 +characters/hermione/poses/default/clothes/tattoo/fuckme_tattoo/0.webp:521,846,52,48 +characters/hermione/poses/default/clothes/tattoo/lockhart_tattoo/0.webp:616,918,37,110 +characters/hermione/poses/default/clothes/tattoo/mudblood_tattoo/0.webp:505,846,85,23 +characters/hermione/poses/default/clothes/tattoo/nocondom_tattoo/0.webp:515,850,64,28 +characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/0.webp:531,864,34,31 +characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/1.webp:540,868,15,21 +characters/hermione/poses/default/clothes/tattoo/punkblood_tattoo/outline.webp:530,864,35,32 +characters/hermione/poses/default/clothes/tattoo/twist_tattoo/0.webp:557,619,58,77 +characters/hermione/poses/default/clothes/tattoo/whore_tattoo/0.webp:513,850,70,42 +characters/hermione/poses/default/clothes/tattoo/womb_tattoo/0.webp:516,853,56,57 +characters/hermione/poses/default/clothes/top/ball_dress_1/0.webp:444,597,252,522 +characters/hermione/poses/default/clothes/top/ball_dress_1/1.webp:455,515,298,624 +characters/hermione/poses/default/clothes/top/ball_dress_1/extra.webp:461,626,173,443 +characters/hermione/poses/default/clothes/top/ball_dress_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/ball_dress_1/outline.webp:442,514,312,627 +characters/hermione/poses/default/clothes/top/bioshock_corset/0.webp:447,616,225,296 +characters/hermione/poses/default/clothes/top/bioshock_corset/1.webp:461,618,208,293 +characters/hermione/poses/default/clothes/top/bioshock_corset/2.webp:468,630,194,279 +characters/hermione/poses/default/clothes/top/bioshock_corset/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/bioshock_corset/outline.webp:445,615,228,298 +characters/hermione/poses/default/clothes/top/bioshock_corset/overlay.webp:457,612,204,24 +characters/hermione/poses/default/clothes/top/bunny_top_1/0.webp:435,619,236,315 +characters/hermione/poses/default/clothes/top/bunny_top_1/extra.webp:457,623,154,306 +characters/hermione/poses/default/clothes/top/bunny_top_1/outline.webp:433,617,240,319 +characters/hermione/poses/default/clothes/top/bunny_top_2/0.webp:441,632,194,303 +characters/hermione/poses/default/clothes/top/bunny_top_2/extra.webp:441,633,194,302 +characters/hermione/poses/default/clothes/top/bunny_top_2/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/bunny_top_2/outline.webp:439,630,197,306 +characters/hermione/poses/default/clothes/top/bunny_top_2/skin.webp:452,632,184,281 +characters/hermione/poses/default/clothes/top/bunny_top_3/0.webp:441,632,194,290 +characters/hermione/poses/default/clothes/top/bunny_top_3/extra.webp:441,633,194,278 +characters/hermione/poses/default/clothes/top/bunny_top_3/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/bunny_top_3/outline.webp:439,630,197,303 +characters/hermione/poses/default/clothes/top/bunny_top_3/skin.webp:452,632,184,289 +characters/hermione/poses/default/clothes/top/casual_top_1/0.webp:388,514,377,350 +characters/hermione/poses/default/clothes/top/casual_top_1/1.webp:345,510,440,428 +characters/hermione/poses/default/clothes/top/casual_top_1/extra.webp:520,591,52,203 +characters/hermione/poses/default/clothes/top/casual_top_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/casual_top_1/outline.webp:344,508,443,433 +characters/hermione/poses/default/clothes/top/casual_top_1/skin.webp:346,513,434,424 +characters/hermione/poses/default/clothes/top/casual_top_2/0.webp:388,514,377,350 +characters/hermione/poses/default/clothes/top/casual_top_2/extra.webp:520,591,52,203 +characters/hermione/poses/default/clothes/top/casual_top_2/outline.webp:386,508,381,431 +characters/hermione/poses/default/clothes/top/casual_top_2/skin.webp:391,526,370,337 +characters/hermione/poses/default/clothes/top/cheerleader_top_1/0.webp:437,595,293,148 +characters/hermione/poses/default/clothes/top/cheerleader_top_1/1.webp:479,516,252,258 +characters/hermione/poses/default/clothes/top/cheerleader_top_1/2.webp:488,518,242,247 +characters/hermione/poses/default/clothes/top/cheerleader_top_1/outline.webp:435,513,297,263 +characters/hermione/poses/default/clothes/top/cheerleader_top_1/skin.webp:501,525,228,250 +characters/hermione/poses/default/clothes/top/cheerleader_top_2/0.webp:437,514,294,259 +characters/hermione/poses/default/clothes/top/cheerleader_top_2/1.webp:459,514,272,259 +characters/hermione/poses/default/clothes/top/cheerleader_top_2/outline.webp:435,512,298,262 +characters/hermione/poses/default/clothes/top/cheerleader_top_2/skin.webp:482,525,214,251 +characters/hermione/poses/default/clothes/top/croft_top/0.webp:436,515,250,211 +characters/hermione/poses/default/clothes/top/croft_top/outline.webp:435,513,252,214 +characters/hermione/poses/default/clothes/top/egypt_top/0.webp:437,504,235,278 +characters/hermione/poses/default/clothes/top/egypt_top/outline.webp:436,502,238,282 +characters/hermione/poses/default/clothes/top/fishnet_onepiece/0.webp:348,517,432,416 +characters/hermione/poses/default/clothes/top/fishnet_onepiece/1.webp:350,518,428,414 +characters/hermione/poses/default/clothes/top/fishnet_onepiece/outline.webp:344,514,439,420 +characters/hermione/poses/default/clothes/top/fishnet_top/0.webp:442,520,289,249 +characters/hermione/poses/default/clothes/top/fishnet_top/outline.webp:447,516,285,252 +characters/hermione/poses/default/clothes/top/hslut_top/0.webp:478,517,265,168 +characters/hermione/poses/default/clothes/top/hslut_top/1.webp:503,513,230,193 +characters/hermione/poses/default/clothes/top/hslut_top/extra.webp:502,517,219,168 +characters/hermione/poses/default/clothes/top/hslut_top/outline.webp:475,511,270,196 +characters/hermione/poses/default/clothes/top/latex_dress_1/0.webp:437,476,259,477 +characters/hermione/poses/default/clothes/top/latex_dress_1/1.webp:544,565,39,37 +characters/hermione/poses/default/clothes/top/latex_dress_1/extra.webp:437,491,215,451 +characters/hermione/poses/default/clothes/top/latex_dress_1/outline.webp:435,475,263,480 +characters/hermione/poses/default/clothes/top/latex_top/0.webp:434,604,236,128 +characters/hermione/poses/default/clothes/top/latex_top/extra.webp:433,645,161,48 +characters/hermione/poses/default/clothes/top/latex_top/outline.webp:433,499,238,236 +characters/hermione/poses/default/clothes/top/latex_top/skin.webp:499,553,124,50 +characters/hermione/poses/default/clothes/top/maid_dress_1/0.webp:390,515,371,524 +characters/hermione/poses/default/clothes/top/maid_dress_1/1.webp:402,492,330,495 +characters/hermione/poses/default/clothes/top/maid_dress_1/2.webp:580,663,141,123 +characters/hermione/poses/default/clothes/top/maid_dress_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/maid_dress_1/outline.webp:389,491,374,549 +characters/hermione/poses/default/clothes/top/msmarv_suit/0.webp:436,477,246,456 +characters/hermione/poses/default/clothes/top/msmarv_suit/1.webp:442,492,208,423 +characters/hermione/poses/default/clothes/top/msmarv_suit/2.webp:437,530,235,340 +characters/hermione/poses/default/clothes/top/msmarv_suit/outline.webp:434,475,250,459 +characters/hermione/poses/default/clothes/top/nightie/0.webp:437,512,264,488 +characters/hermione/poses/default/clothes/top/nightie/outline.webp:435,508,268,493 +characters/hermione/poses/default/clothes/top/open_top_1/0.webp:492,462,179,322 +characters/hermione/poses/default/clothes/top/open_top_1/0_front.webp:546,462,114,78 +characters/hermione/poses/default/clothes/top/open_top_1/1.webp:338,480,445,461 +characters/hermione/poses/default/clothes/top/open_top_1/2.webp:507,505,159,141 +characters/hermione/poses/default/clothes/top/open_top_1/3.webp:489,508,171,128 +characters/hermione/poses/default/clothes/top/open_top_1/extra.webp:534,706,25,67 +characters/hermione/poses/default/clothes/top/open_top_1/outline.webp:337,461,447,481 +characters/hermione/poses/default/clothes/top/open_top_1/outline_front.webp:526,461,135,97 +characters/hermione/poses/default/clothes/top/pajama_1/0.webp:330,503,462,447 +characters/hermione/poses/default/clothes/top/pajama_1/extra.webp:330,504,462,446 +characters/hermione/poses/default/clothes/top/pajama_1/outline.webp:328,500,465,451 +characters/hermione/poses/default/clothes/top/pizza_top/0.webp:436,644,194,96 +characters/hermione/poses/default/clothes/top/pizza_top/outline.webp:434,624,210,170 +characters/hermione/poses/default/clothes/top/pizza_top/overlay.webp:435,625,206,167 +characters/hermione/poses/default/clothes/top/pullover_1/0.webp:339,483,445,460 +characters/hermione/poses/default/clothes/top/pullover_1/0_front.webp:550,483,121,63 +characters/hermione/poses/default/clothes/top/pullover_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/pullover_1/outline.webp:337,480,450,466 +characters/hermione/poses/default/clothes/top/pullover_1/outline_front.webp:547,480,125,69 +characters/hermione/poses/default/clothes/top/pullover_2/0.webp:339,483,445,460 +characters/hermione/poses/default/clothes/top/pullover_2/0_front.webp:550,483,121,63 +characters/hermione/poses/default/clothes/top/pullover_2/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/pullover_2/outline.webp:337,480,450,466 +characters/hermione/poses/default/clothes/top/pullover_2/outline_front.webp:547,480,125,69 +characters/hermione/poses/default/clothes/top/pullover_2/skin.webp:516,567,96,89 +characters/hermione/poses/default/clothes/top/pullover_3/0.webp:450,483,241,392 +characters/hermione/poses/default/clothes/top/pullover_3/0_front.webp:550,483,121,63 +characters/hermione/poses/default/clothes/top/pullover_3/outline.webp:437,480,327,396 +characters/hermione/poses/default/clothes/top/pullover_3/outline_front.webp:547,480,125,69 +characters/hermione/poses/default/clothes/top/pullover_3/skin.webp:516,567,96,89 +characters/hermione/poses/default/clothes/top/ruffled_top/0.webp:423,632,327,188 +characters/hermione/poses/default/clothes/top/ruffled_top/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/ruffled_top/outline.webp:422,631,329,192 +characters/hermione/poses/default/clothes/top/swimsuit_top_1/0.webp:436,516,243,419 +characters/hermione/poses/default/clothes/top/swimsuit_top_1/1.webp:486,608,172,269 +characters/hermione/poses/default/clothes/top/swimsuit_top_1/outline.webp:434,515,248,420 +characters/hermione/poses/default/clothes/top/swimsuit_top_1/skin.webp:648,683,21,21 +characters/hermione/poses/default/clothes/top/swimsuit_top_2/0.webp:436,516,243,419 +characters/hermione/poses/default/clothes/top/swimsuit_top_2/1.webp:486,608,172,269 +characters/hermione/poses/default/clothes/top/swimsuit_top_2/outline.webp:434,515,248,420 +characters/hermione/poses/default/clothes/top/swimsuit_top_2/skin.webp:648,683,21,21 +characters/hermione/poses/default/clothes/top/teddy_top/0.webp:455,512,243,347 +characters/hermione/poses/default/clothes/top/teddy_top/1.webp:436,597,265,279 +characters/hermione/poses/default/clothes/top/teddy_top/2.webp:527,683,33,20 +characters/hermione/poses/default/clothes/top/teddy_top/outline.webp:434,508,270,370 +characters/hermione/poses/default/clothes/top/tifa_top/0.webp:436,515,250,220 +characters/hermione/poses/default/clothes/top/tifa_top/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/tifa_top/outline.webp:435,513,254,223 +characters/hermione/poses/default/clothes/top/top_school_1/0.webp:493,462,249,204 +characters/hermione/poses/default/clothes/top/top_school_1/0_front.webp:527,462,130,100 +characters/hermione/poses/default/clothes/top/top_school_1/1.webp:446,510,245,334 +characters/hermione/poses/default/clothes/top/top_school_1/2.webp:479,500,261,356 +characters/hermione/poses/default/clothes/top/top_school_1/3.webp:470,500,269,356 +characters/hermione/poses/default/clothes/top/top_school_1/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/top_school_1/outline.webp:443,461,301,396 +characters/hermione/poses/default/clothes/top/top_school_1/outline_front.webp:522,461,138,116 +characters/hermione/poses/default/clothes/top/top_school_2/0.webp:493,462,249,204 +characters/hermione/poses/default/clothes/top/top_school_2/0_front.webp:527,462,130,109 +characters/hermione/poses/default/clothes/top/top_school_2/1.webp:446,510,245,334 +characters/hermione/poses/default/clothes/top/top_school_2/2.webp:479,500,261,356 +characters/hermione/poses/default/clothes/top/top_school_2/3.webp:470,500,269,356 +characters/hermione/poses/default/clothes/top/top_school_2/extra.webp:545,571,30,41 +characters/hermione/poses/default/clothes/top/top_school_2/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/top_school_2/outline.webp:443,461,301,396 +characters/hermione/poses/default/clothes/top/top_school_2/outline_front.webp:518,461,142,109 +characters/hermione/poses/default/clothes/top/top_school_3/0.webp:445,462,297,337 +characters/hermione/poses/default/clothes/top/top_school_3/0_front.webp:525,462,138,102 +characters/hermione/poses/default/clothes/top/top_school_3/1.webp:500,540,240,227 +characters/hermione/poses/default/clothes/top/top_school_3/2.webp:501,533,238,247 +characters/hermione/poses/default/clothes/top/top_school_3/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/top_school_3/outline.webp:443,461,301,335 +characters/hermione/poses/default/clothes/top/top_school_3/outline_front.webp:518,461,142,105 +characters/hermione/poses/default/clothes/top/top_school_4/0.webp:445,462,297,337 +characters/hermione/poses/default/clothes/top/top_school_4/0_front.webp:525,462,133,104 +characters/hermione/poses/default/clothes/top/top_school_4/1.webp:545,570,195,86 +characters/hermione/poses/default/clothes/top/top_school_4/2.webp:663,623,76,33 +characters/hermione/poses/default/clothes/top/top_school_4/extra.webp:521,508,181,250 +characters/hermione/poses/default/clothes/top/top_school_4/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/top_school_4/outline.webp:443,461,301,335 +characters/hermione/poses/default/clothes/top/top_school_4/outline_front.webp:522,461,137,105 +characters/hermione/poses/default/clothes/top/top_school_5/0.webp:445,462,297,337 +characters/hermione/poses/default/clothes/top/top_school_5/0_front.webp:525,462,133,132 +characters/hermione/poses/default/clothes/top/top_school_5/1.webp:545,576,195,80 +characters/hermione/poses/default/clothes/top/top_school_5/2.webp:663,623,76,33 +characters/hermione/poses/default/clothes/top/top_school_5/extra.webp:521,508,181,250 +characters/hermione/poses/default/clothes/top/top_school_5/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/top_school_5/outline.webp:443,461,301,335 +characters/hermione/poses/default/clothes/top/top_school_5/outline_front.webp:523,461,136,134 +characters/hermione/poses/default/clothes/top/top_school_5/skin.webp:552,541,42,64 +characters/hermione/poses/default/clothes/top/top_school_6/0.webp:446,497,245,347 +characters/hermione/poses/default/clothes/top/top_school_6/1.webp:479,498,218,358 +characters/hermione/poses/default/clothes/top/top_school_6/2.webp:470,500,220,356 +characters/hermione/poses/default/clothes/top/top_school_6/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/top_school_6/outline.webp:443,497,256,360 +characters/hermione/poses/default/clothes/top/top_school_6/skin.webp:532,570,60,52 +characters/hermione/poses/default/clothes/top/top_school_7/0.webp:436,474,315,259 +characters/hermione/poses/default/clothes/top/top_school_7/1.webp:660,619,81,40 +characters/hermione/poses/default/clothes/top/top_school_7/2.webp:661,626,79,27 +characters/hermione/poses/default/clothes/top/top_school_7/mask.webp:0,0,1010,1200 +characters/hermione/poses/default/clothes/top/top_school_7/outline.webp:434,473,310,261 +characters/hermione/poses/default/clothes/top/top_school_7/skin.webp:495,488,231,238 +characters/hermione/poses/default/clothes/top/witch_top/0.webp:435,623,235,312 +characters/hermione/poses/default/clothes/top/witch_top/1.webp:447,612,227,320 +characters/hermione/poses/default/clothes/top/witch_top/extra.webp:447,623,165,312 +characters/hermione/poses/default/clothes/top/witch_top/outline.webp:433,610,243,326 +characters/hermione/poses/default/clothes/top/xmas/0.webp:445,628,293,91 +characters/hermione/poses/default/clothes/top/xmas/1.webp:432,589,314,146 +characters/hermione/poses/default/clothes/top/xmas/2.webp:448,633,134,98 +characters/hermione/poses/default/clothes/top/xmas/extra.webp:445,633,255,99 +characters/hermione/poses/default/clothes/top/xmas/outline.webp:431,589,317,147 +characters/hermione/poses/default/clothes/top/xmas/skin.webp:504,588,226,157 +characters/hermione/poses/default/clothes/top/yen_top/0.webp:343,568,437,368 +characters/hermione/poses/default/clothes/top/yen_top/outline.webp:343,568,437,368 +characters/hermione/poses/default/cum/body/heavy/cum.webp:458,472,255,320 +characters/hermione/poses/default/cum/body/light/cum.webp:532,510,181,282 +characters/hermione/poses/default/cum/breasts/heavy/cum.webp:448,538,194,169 +characters/hermione/poses/default/cum/breasts/light/cum.webp:532,552,89,149 +characters/hermione/poses/default/cum/crotch/heavy/cum.webp:459,769,181,252 +characters/hermione/poses/default/cum/crotch/light/cum.webp:501,769,73,154 +characters/hermione/poses/default/cum/face/heavy/cum.webp:512,382,126,132 +characters/hermione/poses/default/cum/face/light/cum.webp:597,393,33,72 +characters/hermione/poses/default/cum/hair/heavy/default/cum.webp:478,247,190,169 +characters/hermione/poses/default/cum/hair/light/default/cum.webp:496,263,117,100 +characters/hermione/poses/default/cum/legs/heavy/cum.webp:457,860,215,340 +characters/hermione/poses/default/cum/legs/light/cum.webp:510,860,146,191 +characters/hermione/poses/default/cum/pussy/heavy/cum.webp:537,923,21,114 +characters/hermione/poses/default/cum/pussy/light/cum.webp:537,923,20,44 +characters/hermione/poses/default/cum/pussy/squirt/cum.webp:514,921,49,139 +characters/hermione/poses/default/cum/pussy/squirt_post/cum.webp:477,913,91,149 +characters/hermione/poses/default/cum/pussy/squirt_transition/cum.webp:477,913,91,149 +characters/hermione/poses/default/cum/pussy/underwear_heavy/cum.webp:529,918,35,51 +characters/hermione/poses/default/cum/pussy/underwear_light/cum.webp:529,918,35,38 +characters/hermione/poses/default/cum/pussy/vibrator_post/cum.webp:526,895,41,89 +characters/hermione/poses/default/cum/pussy/vibrator_pre/cum.webp:533,920,32,22 +characters/hermione/poses/default/cum/pussy/vibrator_squirt/cum.webp:513,895,54,136 +characters/hermione/poses/default/cum/pussy/vibratorp_heavy/cum.webp:529,911,35,58 +characters/hermione/poses/default/cum/pussy/vibratorp_light/cum.webp:529,918,35,38 +characters/hermione/poses/default/cum/pussy/wet/cum.webp:545,921,17,24 +characters/hermione/poses/default/emote/angry.webp:602,319,45,43 +characters/hermione/poses/default/emote/confused.webp:449,166,129,101 +characters/hermione/poses/default/emote/happy.webp:472,135,131,127 +characters/hermione/poses/default/emote/hearts.webp:428,118,175,146 +characters/hermione/poses/default/emote/shocked.webp:437,140,136,128 +characters/hermione/poses/default/emote/sweat.webp:597,304,42,67 +characters/hermione/poses/default/face/cheeks/blush/expression.webp:515,398,97,26 +characters/hermione/poses/default/face/eyebrows/angry/expression.webp:507,358,114,20 +characters/hermione/poses/default/face/eyebrows/angry/skin.webp:512,358,115,39 +characters/hermione/poses/default/face/eyebrows/annoyed/expression.webp:507,358,114,19 +characters/hermione/poses/default/face/eyebrows/annoyed/skin.webp:512,358,115,39 +characters/hermione/poses/default/face/eyebrows/base/expression.webp:508,354,115,15 +characters/hermione/poses/default/face/eyebrows/base/skin.webp:512,353,119,44 +characters/hermione/poses/default/face/eyebrows/low/expression.webp:508,362,115,16 +characters/hermione/poses/default/face/eyebrows/low/skin.webp:512,355,119,44 +characters/hermione/poses/default/face/eyebrows/worried/expression.webp:510,356,116,18 +characters/hermione/poses/default/face/eyebrows/worried/skin.webp:512,358,115,39 +characters/hermione/poses/default/face/eyes/base/expression.webp:515,369,100,26 +characters/hermione/poses/default/face/eyes/base/eyemask.webp:520,373,86,19 +characters/hermione/poses/default/face/eyes/closed/expression.webp:513,365,109,35 +characters/hermione/poses/default/face/eyes/happy/expression.webp:514,369,104,24 +characters/hermione/poses/default/face/eyes/happy/eyemask.webp:521,373,87,18 +characters/hermione/poses/default/face/eyes/happyCl/expression.webp:513,369,111,22 +characters/hermione/poses/default/face/eyes/narrow/expression.webp:513,367,106,29 +characters/hermione/poses/default/face/eyes/narrow/eyemask.webp:522,379,84,15 +characters/hermione/poses/default/face/eyes/slit/expression.webp:514,370,102,19 +characters/hermione/poses/default/face/eyes/slit/eyemask.webp:519,374,89,13 +characters/hermione/poses/default/face/eyes/squint/expression.webp:515,369,100,24 +characters/hermione/poses/default/face/eyes/squint/eyemask.webp:521,373,86,18 +characters/hermione/poses/default/face/eyes/wide/expression.webp:515,365,102,36 +characters/hermione/poses/default/face/eyes/wide/eyemask.webp:519,369,92,29 +characters/hermione/poses/default/face/eyes/wink/expression.webp:513,369,102,26 +characters/hermione/poses/default/face/eyes/wink/eyemask.webp:573,373,33,19 +characters/hermione/poses/default/face/mouth/angry/expression.webp:539,435,55,26 +characters/hermione/poses/default/face/mouth/annoyed/expression.webp:532,437,35,19 +characters/hermione/poses/default/face/mouth/base/expression.webp:541,439,41,16 +characters/hermione/poses/default/face/mouth/clench/expression.webp:537,431,51,28 +characters/hermione/poses/default/face/mouth/crooked_smile/expression.webp:536,433,55,31 +characters/hermione/poses/default/face/mouth/cum/expression.webp:541,439,35,24 +characters/hermione/poses/default/face/mouth/disgust/expression.webp:540,447,50,20 +characters/hermione/poses/default/face/mouth/full/expression.webp:506,384,132,99 +characters/hermione/poses/default/face/mouth/full_cum/expression.webp:506,384,132,122 +characters/hermione/poses/default/face/mouth/full_panties/expression.webp:506,384,132,99 +characters/hermione/poses/default/face/mouth/grin/expression.webp:537,438,53,26 +characters/hermione/poses/default/face/mouth/mad/expression.webp:539,441,44,22 +characters/hermione/poses/default/face/mouth/normal/expression.webp:541,439,35,16 +characters/hermione/poses/default/face/mouth/open/expression.webp:541,436,32,32 +characters/hermione/poses/default/face/mouth/open_tongue/expression.webp:541,436,32,32 +characters/hermione/poses/default/face/mouth/open_wide_tongue/expression.webp:529,433,91,61 +characters/hermione/poses/default/face/mouth/open_wide_tongue_cum/expression.webp:529,433,91,65 +characters/hermione/poses/default/face/mouth/open_wide_tongue_panties/expression.webp:529,433,91,61 +characters/hermione/poses/default/face/mouth/scream/expression.webp:529,433,91,55 +characters/hermione/poses/default/face/mouth/shock/expression.webp:535,437,43,36 +characters/hermione/poses/default/face/mouth/silly/expression.webp:540,433,46,32 +characters/hermione/poses/default/face/mouth/smile/expression.webp:536,435,57,33 +characters/hermione/poses/default/face/mouth/soft/expression.webp:538,439,36,26 +characters/hermione/poses/default/face/mouth/upset/expression.webp:540,439,35,19 +characters/hermione/poses/default/face/pupils/L/expression.webp:522,372,70,20 +characters/hermione/poses/default/face/pupils/L_soft/expression.webp:522,372,70,20 +characters/hermione/poses/default/face/pupils/R/expression.webp:532,372,74,19 +characters/hermione/poses/default/face/pupils/R_soft/expression.webp:532,372,74,19 +characters/hermione/poses/default/face/pupils/ahegao/expression.webp:529,359,63,22 +characters/hermione/poses/default/face/pupils/dead/expression.webp:525,371,71,19 +characters/hermione/poses/default/face/pupils/down/expression.webp:528,383,68,19 +characters/hermione/poses/default/face/pupils/down_soft/expression.webp:528,383,68,19 +characters/hermione/poses/default/face/pupils/mid/expression.webp:529,370,72,20 +characters/hermione/poses/default/face/pupils/mid_soft/expression.webp:529,370,72,20 +characters/hermione/poses/default/face/pupils/shocked/expression.webp:523,375,75,19 +characters/hermione/poses/default/face/pupils/squint/expression.webp:532,372,59,19 +characters/hermione/poses/default/face/pupils/squint_soft/expression.webp:532,372,59,19 +characters/hermione/poses/default/face/pupils/stare/expression.webp:527,372,68,20 +characters/hermione/poses/default/face/pupils/stare_soft/expression.webp:527,372,68,20 +characters/hermione/poses/default/face/pupils/up/expression.webp:525,367,67,20 +characters/hermione/poses/default/face/pupils/up_soft/expression.webp:525,367,67,20 +characters/hermione/poses/default/face/tears/crying/expression.webp:512,378,104,62 +characters/hermione/poses/default/face/tears/crying_blink/expression.webp:502,378,122,54 +characters/hermione/poses/default/face/tears/mascara/expression.webp:512,378,118,112 +characters/hermione/poses/default/face/tears/mascara_crying/expression.webp:514,378,116,112 +characters/hermione/poses/default/face/tears/mascara_soft/expression.webp:512,376,118,114 +characters/hermione/poses/default/face/tears/mascara_soft_blink/expression.webp:492,378,144,112 +characters/hermione/poses/default/face/tears/messy/expression.webp:512,384,110,94 +characters/hermione/poses/default/face/tears/soft/expression.webp:516,376,94,26 +characters/hermione/poses/default/face/tears/soft_blink/expression.webp:492,380,144,26 +characters/hermione/poses/default/face/tears/sweat/expression.webp:520,380,110,110 +characters/hermione/poses/default/face/tears/tears_crying_side/expression.webp:516,382,106,50 +characters/hermione/poses/default/face/tears/tears_down/expression.webp:512,378,104,62 +characters/hermione/poses/default/face/tears/tears_mascara_crying_blink/expression.webp:502,378,128,112 +characters/hermione/poses/default/face/tears/tears_soft_sweat/expression.webp:516,376,114,114 +characters/hermione/poses/hand_on_breast/bodyparts/frame/default/skin.webp:404,277,426,923 +characters/hermione/poses/hand_on_breast/clothes/hair/base/0.webp:475,236,280,181 +characters/hermione/poses/hand_on_breast/clothes/hair/base/0_back.webp:428,370,408,290 +characters/hermione/poses/hand_on_breast/clothes/hair/base/1.webp:476,243,279,172 +characters/hermione/poses/hand_on_breast/clothes/hair/base/1_back.webp:453,408,368,187 +characters/hermione/poses/hand_on_breast/clothes/hair/base/2.webp:644,285,42,51 +characters/hermione/poses/hand_on_breast/clothes/hair/base/extra.webp:668,285,18,45 +characters/hermione/poses/hand_on_breast/clothes/hair/base/outline.webp:426,235,410,425 +characters/hermione/poses/hand_on_breast/clothes/hair/base/outline_back.webp:426,370,410,290 +characters/hermione/poses/hand_on_breast/clothes/hair/base/skin.webp:510,279,149,115 +characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/0.webp:476,241,289,230 +characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/1.webp:476,265,236,84 +characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/outline.webp:475,240,292,236 +characters/hermione/poses/hand_on_breast/clothes/hair/bio_hair/skin.webp:495,302,137,113 +characters/hermione/poses/hand_on_breast/clothes/hair/updo/0.webp:486,233,256,255 +characters/hermione/poses/hand_on_breast/clothes/hair/updo/0_front.webp:581,471,60,83 +characters/hermione/poses/hand_on_breast/clothes/hair/updo/1.webp:486,233,255,239 +characters/hermione/poses/hand_on_breast/clothes/hair/updo/1_front.webp:582,471,42,82 +characters/hermione/poses/hand_on_breast/clothes/hair/updo/outline.webp:484,232,259,323 +characters/hermione/poses/hand_on_breast/clothes/hair/updo/outline_front.webp:578,471,64,84 +characters/hermione/poses/hand_on_breast/clothes/hair/updo/skin.webp:511,297,139,160 +characters/hermione/poses/hand_on_breast/cum/body/heavy/cum.webp:458,472,255,320 +characters/hermione/poses/hand_on_breast/cum/body/light/cum.webp:532,510,181,282 +characters/hermione/poses/hand_on_breast/cum/breasts/heavy/cum.webp:448,538,194,169 +characters/hermione/poses/hand_on_breast/cum/breasts/light/cum.webp:532,552,89,149 +characters/hermione/poses/hand_on_breast/cum/crotch/heavy/cum.webp:459,769,181,252 +characters/hermione/poses/hand_on_breast/cum/crotch/light/cum.webp:501,769,73,154 +characters/hermione/poses/hand_on_breast/cum/face/heavy/cum.webp:512,382,126,132 +characters/hermione/poses/hand_on_breast/cum/face/light/cum.webp:597,393,33,72 +characters/hermione/poses/hand_on_breast/cum/hair/heavy/cum.webp:478,247,190,169 +characters/hermione/poses/hand_on_breast/cum/hair/light/cum.webp:496,263,117,100 +characters/hermione/poses/hand_on_breast/cum/legs/heavy/cum.webp:457,860,215,340 +characters/hermione/poses/hand_on_breast/cum/legs/light/cum.webp:510,860,146,191 +characters/hermione/poses/hand_on_breast/cum/pussy/heavy/cum.webp:537,923,21,114 +characters/hermione/poses/hand_on_breast/cum/pussy/light/cum.webp:537,923,20,44 +characters/hermione/poses/hand_on_breast/cum/pussy/squirt/cum.webp:514,921,49,139 +characters/hermione/poses/hand_on_breast/cum/pussy/squirt_post/cum.webp:477,913,91,149 +characters/hermione/poses/hand_on_breast/cum/pussy/squirt_transition/cum.webp:477,913,91,149 +characters/hermione/poses/hand_on_breast/cum/pussy/wet/cum.webp:545,921,17,24 +characters/hermione/poses/hand_on_breast/face/cheeks/blush/expression.webp:515,398,97,26 +characters/hermione/poses/hand_on_breast/face/eyebrows/angry/expression.webp:507,358,114,20 +characters/hermione/poses/hand_on_breast/face/eyebrows/angry/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_breast/face/eyebrows/annoyed/expression.webp:507,358,114,19 +characters/hermione/poses/hand_on_breast/face/eyebrows/annoyed/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_breast/face/eyebrows/base/expression.webp:508,354,115,15 +characters/hermione/poses/hand_on_breast/face/eyebrows/base/skin.webp:512,353,119,44 +characters/hermione/poses/hand_on_breast/face/eyebrows/low/expression.webp:508,362,115,16 +characters/hermione/poses/hand_on_breast/face/eyebrows/low/skin.webp:512,355,119,44 +characters/hermione/poses/hand_on_breast/face/eyebrows/worried/expression.webp:510,356,116,18 +characters/hermione/poses/hand_on_breast/face/eyebrows/worried/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_breast/face/eyes/base/expression.webp:515,369,100,26 +characters/hermione/poses/hand_on_breast/face/eyes/base/eyemask.webp:520,373,86,19 +characters/hermione/poses/hand_on_breast/face/eyes/closed/expression.webp:513,365,109,35 +characters/hermione/poses/hand_on_breast/face/eyes/happy/expression.webp:514,369,104,24 +characters/hermione/poses/hand_on_breast/face/eyes/happy/eyemask.webp:521,373,87,18 +characters/hermione/poses/hand_on_breast/face/eyes/happyCl/expression.webp:513,369,111,22 +characters/hermione/poses/hand_on_breast/face/eyes/narrow/expression.webp:513,367,106,29 +characters/hermione/poses/hand_on_breast/face/eyes/narrow/eyemask.webp:522,379,84,15 +characters/hermione/poses/hand_on_breast/face/eyes/slit/expression.webp:514,370,102,19 +characters/hermione/poses/hand_on_breast/face/eyes/slit/eyemask.webp:519,374,89,13 +characters/hermione/poses/hand_on_breast/face/eyes/squint/expression.webp:515,369,100,24 +characters/hermione/poses/hand_on_breast/face/eyes/squint/eyemask.webp:521,373,86,18 +characters/hermione/poses/hand_on_breast/face/eyes/wide/expression.webp:515,365,102,36 +characters/hermione/poses/hand_on_breast/face/eyes/wide/eyemask.webp:519,369,92,29 +characters/hermione/poses/hand_on_breast/face/eyes/wink/expression.webp:513,369,102,26 +characters/hermione/poses/hand_on_breast/face/eyes/wink/eyemask.webp:573,373,33,19 +characters/hermione/poses/hand_on_breast/face/mouth/angry/expression.webp:539,435,55,26 +characters/hermione/poses/hand_on_breast/face/mouth/annoyed/expression.webp:532,437,35,19 +characters/hermione/poses/hand_on_breast/face/mouth/base/expression.webp:541,439,41,16 +characters/hermione/poses/hand_on_breast/face/mouth/clench/expression.webp:537,431,51,28 +characters/hermione/poses/hand_on_breast/face/mouth/crooked_smile/expression.webp:536,433,55,31 +characters/hermione/poses/hand_on_breast/face/mouth/cum/expression.webp:541,439,35,24 +characters/hermione/poses/hand_on_breast/face/mouth/disgust/expression.webp:540,447,50,20 +characters/hermione/poses/hand_on_breast/face/mouth/full/expression.webp:506,384,132,99 +characters/hermione/poses/hand_on_breast/face/mouth/full_cum/expression.webp:506,384,132,122 +characters/hermione/poses/hand_on_breast/face/mouth/full_panties/expression.webp:506,384,132,99 +characters/hermione/poses/hand_on_breast/face/mouth/grin/expression.webp:537,438,53,26 +characters/hermione/poses/hand_on_breast/face/mouth/mad/expression.webp:539,441,44,22 +characters/hermione/poses/hand_on_breast/face/mouth/normal/expression.webp:541,439,35,16 +characters/hermione/poses/hand_on_breast/face/mouth/open/expression.webp:541,436,32,32 +characters/hermione/poses/hand_on_breast/face/mouth/open_tongue/expression.webp:541,436,32,32 +characters/hermione/poses/hand_on_breast/face/mouth/open_wide_tongue/expression.webp:529,433,91,61 +characters/hermione/poses/hand_on_breast/face/mouth/open_wide_tongue_cum/expression.webp:529,433,91,65 +characters/hermione/poses/hand_on_breast/face/mouth/scream/expression.webp:529,433,91,55 +characters/hermione/poses/hand_on_breast/face/mouth/shock/expression.webp:535,437,43,36 +characters/hermione/poses/hand_on_breast/face/mouth/silly/expression.webp:540,433,46,32 +characters/hermione/poses/hand_on_breast/face/mouth/smile/expression.webp:536,435,57,33 +characters/hermione/poses/hand_on_breast/face/mouth/soft/expression.webp:538,439,36,26 +characters/hermione/poses/hand_on_breast/face/mouth/upset/expression.webp:540,439,35,19 +characters/hermione/poses/hand_on_breast/face/pupils/L/expression.webp:522,372,70,20 +characters/hermione/poses/hand_on_breast/face/pupils/L_soft/expression.webp:522,372,70,20 +characters/hermione/poses/hand_on_breast/face/pupils/R/expression.webp:532,372,74,19 +characters/hermione/poses/hand_on_breast/face/pupils/R_soft/expression.webp:532,372,74,19 +characters/hermione/poses/hand_on_breast/face/pupils/ahegao/expression.webp:529,359,63,22 +characters/hermione/poses/hand_on_breast/face/pupils/dead/expression.webp:525,371,71,19 +characters/hermione/poses/hand_on_breast/face/pupils/down/expression.webp:528,383,68,19 +characters/hermione/poses/hand_on_breast/face/pupils/down_soft/expression.webp:528,383,68,19 +characters/hermione/poses/hand_on_breast/face/pupils/mid/expression.webp:529,370,72,20 +characters/hermione/poses/hand_on_breast/face/pupils/mid_soft/expression.webp:529,370,72,20 +characters/hermione/poses/hand_on_breast/face/pupils/shocked/expression.webp:523,375,75,19 +characters/hermione/poses/hand_on_breast/face/pupils/squint/expression.webp:532,372,59,19 +characters/hermione/poses/hand_on_breast/face/pupils/squint_soft/expression.webp:532,372,59,19 +characters/hermione/poses/hand_on_breast/face/pupils/stare/expression.webp:527,372,68,20 +characters/hermione/poses/hand_on_breast/face/pupils/stare_soft/expression.webp:527,372,68,20 +characters/hermione/poses/hand_on_breast/face/pupils/up/expression.webp:525,367,67,20 +characters/hermione/poses/hand_on_breast/face/pupils/up_soft/expression.webp:525,367,67,20 +characters/hermione/poses/hand_on_breast/face/tears/crying/expression.webp:512,378,104,62 +characters/hermione/poses/hand_on_breast/face/tears/crying_blink/expression.webp:502,378,122,54 +characters/hermione/poses/hand_on_breast/face/tears/mascara/expression.webp:512,378,118,112 +characters/hermione/poses/hand_on_breast/face/tears/mascara_crying/expression.webp:514,378,116,112 +characters/hermione/poses/hand_on_breast/face/tears/mascara_soft/expression.webp:512,376,118,114 +characters/hermione/poses/hand_on_breast/face/tears/mascara_soft_blink/expression.webp:492,378,144,112 +characters/hermione/poses/hand_on_breast/face/tears/messy/expression.webp:512,384,110,94 +characters/hermione/poses/hand_on_breast/face/tears/soft/expression.webp:516,376,94,26 +characters/hermione/poses/hand_on_breast/face/tears/soft_blink/expression.webp:492,380,144,26 +characters/hermione/poses/hand_on_breast/face/tears/sweat/expression.webp:520,380,110,110 +characters/hermione/poses/hand_on_breast/face/tears/tears_crying_side/expression.webp:516,382,106,50 +characters/hermione/poses/hand_on_breast/face/tears/tears_down/expression.webp:512,378,104,62 +characters/hermione/poses/hand_on_breast/face/tears/tears_mascara_crying_blink/expression.webp:502,378,128,112 +characters/hermione/poses/hand_on_breast/face/tears/tears_soft_sweat/expression.webp:516,376,114,114 +characters/hermione/poses/hand_on_pussy/bodyparts/frame/default/skin.webp:272,277,461,923 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/0.webp:475,236,280,181 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/0_back.webp:428,370,408,290 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/1.webp:476,243,279,172 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/1_back.webp:453,408,368,187 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/2.webp:644,285,42,51 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/extra.webp:668,285,18,45 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline.webp:426,235,410,425 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/outline_back.webp:426,370,410,290 +characters/hermione/poses/hand_on_pussy/clothes/hair/base/skin.webp:510,279,149,115 +characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/0.webp:476,241,289,230 +characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/1.webp:476,265,236,84 +characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/outline.webp:475,240,292,236 +characters/hermione/poses/hand_on_pussy/clothes/hair/bio_hair/skin.webp:495,302,137,113 +characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0.webp:486,233,256,255 +characters/hermione/poses/hand_on_pussy/clothes/hair/updo/0_front.webp:581,471,60,83 +characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1.webp:486,233,255,239 +characters/hermione/poses/hand_on_pussy/clothes/hair/updo/1_front.webp:582,471,42,82 +characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline.webp:484,232,259,323 +characters/hermione/poses/hand_on_pussy/clothes/hair/updo/outline_front.webp:578,471,64,84 +characters/hermione/poses/hand_on_pussy/clothes/hair/updo/skin.webp:511,297,139,160 +characters/hermione/poses/hand_on_pussy/cum/body/heavy/cum.webp:458,472,255,320 +characters/hermione/poses/hand_on_pussy/cum/body/light/cum.webp:532,510,181,282 +characters/hermione/poses/hand_on_pussy/cum/breasts/heavy/cum.webp:448,538,194,169 +characters/hermione/poses/hand_on_pussy/cum/breasts/light/cum.webp:532,552,89,149 +characters/hermione/poses/hand_on_pussy/cum/crotch/heavy/cum.webp:459,769,181,252 +characters/hermione/poses/hand_on_pussy/cum/crotch/light/cum.webp:501,769,73,154 +characters/hermione/poses/hand_on_pussy/cum/face/heavy/cum.webp:512,382,126,132 +characters/hermione/poses/hand_on_pussy/cum/face/light/cum.webp:597,393,33,72 +characters/hermione/poses/hand_on_pussy/cum/hair/heavy/cum.webp:478,247,190,169 +characters/hermione/poses/hand_on_pussy/cum/hair/light/cum.webp:496,263,117,100 +characters/hermione/poses/hand_on_pussy/cum/legs/heavy/cum.webp:457,860,215,340 +characters/hermione/poses/hand_on_pussy/cum/legs/light/cum.webp:510,860,146,191 +characters/hermione/poses/hand_on_pussy/cum/pussy/heavy/cum.webp:537,923,21,114 +characters/hermione/poses/hand_on_pussy/cum/pussy/light/cum.webp:537,923,20,44 +characters/hermione/poses/hand_on_pussy/cum/pussy/squirt/cum.webp:470,952,93,132 +characters/hermione/poses/hand_on_pussy/cum/pussy/squirt_post/cum.webp:481,956,86,106 +characters/hermione/poses/hand_on_pussy/cum/pussy/squirt_transition/cum.webp:470,956,97,128 +characters/hermione/poses/hand_on_pussy/cum/pussy/wet/cum.webp:540,963,19,17 +characters/hermione/poses/hand_on_pussy/face/cheeks/blush/expression.webp:515,398,97,26 +characters/hermione/poses/hand_on_pussy/face/eyebrows/angry/expression.webp:507,358,114,20 +characters/hermione/poses/hand_on_pussy/face/eyebrows/angry/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_pussy/face/eyebrows/annoyed/expression.webp:507,358,114,19 +characters/hermione/poses/hand_on_pussy/face/eyebrows/annoyed/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_pussy/face/eyebrows/base/expression.webp:508,354,115,15 +characters/hermione/poses/hand_on_pussy/face/eyebrows/base/skin.webp:512,353,119,44 +characters/hermione/poses/hand_on_pussy/face/eyebrows/low/expression.webp:508,362,115,16 +characters/hermione/poses/hand_on_pussy/face/eyebrows/low/skin.webp:512,355,119,44 +characters/hermione/poses/hand_on_pussy/face/eyebrows/worried/expression.webp:510,356,116,18 +characters/hermione/poses/hand_on_pussy/face/eyebrows/worried/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_pussy/face/eyes/base/expression.webp:515,369,100,26 +characters/hermione/poses/hand_on_pussy/face/eyes/base/eyemask.webp:520,373,86,19 +characters/hermione/poses/hand_on_pussy/face/eyes/closed/expression.webp:513,365,109,35 +characters/hermione/poses/hand_on_pussy/face/eyes/happy/expression.webp:514,369,104,24 +characters/hermione/poses/hand_on_pussy/face/eyes/happy/eyemask.webp:521,373,87,18 +characters/hermione/poses/hand_on_pussy/face/eyes/happyCl/expression.webp:513,369,111,22 +characters/hermione/poses/hand_on_pussy/face/eyes/narrow/expression.webp:513,367,106,29 +characters/hermione/poses/hand_on_pussy/face/eyes/narrow/eyemask.webp:522,379,84,15 +characters/hermione/poses/hand_on_pussy/face/eyes/slit/expression.webp:514,370,102,19 +characters/hermione/poses/hand_on_pussy/face/eyes/slit/eyemask.webp:519,374,89,13 +characters/hermione/poses/hand_on_pussy/face/eyes/squint/expression.webp:515,369,100,24 +characters/hermione/poses/hand_on_pussy/face/eyes/squint/eyemask.webp:521,373,86,18 +characters/hermione/poses/hand_on_pussy/face/eyes/wide/expression.webp:515,365,102,36 +characters/hermione/poses/hand_on_pussy/face/eyes/wide/eyemask.webp:519,369,92,29 +characters/hermione/poses/hand_on_pussy/face/eyes/wink/expression.webp:513,369,102,26 +characters/hermione/poses/hand_on_pussy/face/eyes/wink/eyemask.webp:573,373,33,19 +characters/hermione/poses/hand_on_pussy/face/mouth/angry/expression.webp:539,435,55,26 +characters/hermione/poses/hand_on_pussy/face/mouth/annoyed/expression.webp:532,437,35,19 +characters/hermione/poses/hand_on_pussy/face/mouth/base/expression.webp:541,439,41,16 +characters/hermione/poses/hand_on_pussy/face/mouth/clench/expression.webp:537,431,51,28 +characters/hermione/poses/hand_on_pussy/face/mouth/crooked_smile/expression.webp:536,433,55,31 +characters/hermione/poses/hand_on_pussy/face/mouth/cum/expression.webp:541,439,35,24 +characters/hermione/poses/hand_on_pussy/face/mouth/disgust/expression.webp:540,447,50,20 +characters/hermione/poses/hand_on_pussy/face/mouth/full/expression.webp:506,384,132,99 +characters/hermione/poses/hand_on_pussy/face/mouth/full_cum/expression.webp:506,384,132,122 +characters/hermione/poses/hand_on_pussy/face/mouth/full_panties/expression.webp:506,384,132,99 +characters/hermione/poses/hand_on_pussy/face/mouth/grin/expression.webp:537,438,53,26 +characters/hermione/poses/hand_on_pussy/face/mouth/mad/expression.webp:539,441,44,22 +characters/hermione/poses/hand_on_pussy/face/mouth/normal/expression.webp:541,439,35,16 +characters/hermione/poses/hand_on_pussy/face/mouth/open/expression.webp:541,436,32,32 +characters/hermione/poses/hand_on_pussy/face/mouth/open_tongue/expression.webp:541,436,32,32 +characters/hermione/poses/hand_on_pussy/face/mouth/open_wide_tongue/expression.webp:529,433,91,61 +characters/hermione/poses/hand_on_pussy/face/mouth/open_wide_tongue_cum/expression.webp:529,433,91,65 +characters/hermione/poses/hand_on_pussy/face/mouth/scream/expression.webp:529,433,91,55 +characters/hermione/poses/hand_on_pussy/face/mouth/shock/expression.webp:535,437,43,36 +characters/hermione/poses/hand_on_pussy/face/mouth/silly/expression.webp:540,433,46,32 +characters/hermione/poses/hand_on_pussy/face/mouth/smile/expression.webp:536,435,57,33 +characters/hermione/poses/hand_on_pussy/face/mouth/soft/expression.webp:538,439,36,26 +characters/hermione/poses/hand_on_pussy/face/mouth/upset/expression.webp:540,439,35,19 +characters/hermione/poses/hand_on_pussy/face/pupils/L/expression.webp:522,372,70,20 +characters/hermione/poses/hand_on_pussy/face/pupils/L_soft/expression.webp:522,372,70,20 +characters/hermione/poses/hand_on_pussy/face/pupils/R/expression.webp:532,372,74,19 +characters/hermione/poses/hand_on_pussy/face/pupils/R_soft/expression.webp:532,372,74,19 +characters/hermione/poses/hand_on_pussy/face/pupils/ahegao/expression.webp:529,359,63,22 +characters/hermione/poses/hand_on_pussy/face/pupils/dead/expression.webp:525,371,71,19 +characters/hermione/poses/hand_on_pussy/face/pupils/down/expression.webp:528,383,68,19 +characters/hermione/poses/hand_on_pussy/face/pupils/down_soft/expression.webp:528,383,68,19 +characters/hermione/poses/hand_on_pussy/face/pupils/mid/expression.webp:529,370,72,20 +characters/hermione/poses/hand_on_pussy/face/pupils/mid_soft/expression.webp:529,370,72,20 +characters/hermione/poses/hand_on_pussy/face/pupils/shocked/expression.webp:523,375,75,19 +characters/hermione/poses/hand_on_pussy/face/pupils/squint/expression.webp:532,372,59,19 +characters/hermione/poses/hand_on_pussy/face/pupils/squint_soft/expression.webp:532,372,59,19 +characters/hermione/poses/hand_on_pussy/face/pupils/stare/expression.webp:527,372,68,20 +characters/hermione/poses/hand_on_pussy/face/pupils/stare_soft/expression.webp:527,372,68,20 +characters/hermione/poses/hand_on_pussy/face/pupils/up/expression.webp:525,367,67,20 +characters/hermione/poses/hand_on_pussy/face/pupils/up_soft/expression.webp:525,367,67,20 +characters/hermione/poses/hand_on_pussy/face/tears/crying/expression.webp:512,378,104,62 +characters/hermione/poses/hand_on_pussy/face/tears/crying_blink/expression.webp:502,378,122,54 +characters/hermione/poses/hand_on_pussy/face/tears/mascara/expression.webp:512,378,118,112 +characters/hermione/poses/hand_on_pussy/face/tears/mascara_crying/expression.webp:514,378,116,112 +characters/hermione/poses/hand_on_pussy/face/tears/mascara_soft/expression.webp:512,376,118,114 +characters/hermione/poses/hand_on_pussy/face/tears/mascara_soft_blink/expression.webp:492,378,144,112 +characters/hermione/poses/hand_on_pussy/face/tears/messy/expression.webp:512,384,110,94 +characters/hermione/poses/hand_on_pussy/face/tears/soft/expression.webp:516,376,94,26 +characters/hermione/poses/hand_on_pussy/face/tears/soft_blink/expression.webp:492,380,144,26 +characters/hermione/poses/hand_on_pussy/face/tears/sweat/expression.webp:520,380,110,110 +characters/hermione/poses/hand_on_pussy/face/tears/tears_crying_side/expression.webp:516,382,106,50 +characters/hermione/poses/hand_on_pussy/face/tears/tears_down/expression.webp:512,378,104,62 +characters/hermione/poses/hand_on_pussy/face/tears/tears_mascara_crying_blink/expression.webp:502,378,128,112 +characters/hermione/poses/hand_on_pussy/face/tears/tears_soft_sweat/expression.webp:516,376,114,114 +characters/hermione/poses/hand_on_pussy_and_breast/bodyparts/frame/default/skin.webp:404,277,329,923 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0.webp:475,236,280,181 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/0_back.webp:428,370,408,290 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1.webp:476,243,279,172 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/1_back.webp:453,408,368,187 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/2.webp:644,285,42,51 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/extra.webp:668,285,18,45 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline.webp:426,235,410,425 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/outline_back.webp:426,370,410,290 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/base/skin.webp:510,279,149,115 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/0.webp:476,241,289,230 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/1.webp:476,265,236,84 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/outline.webp:475,240,292,236 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/bio_hair/skin.webp:495,302,137,113 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0.webp:486,233,256,255 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/0_front.webp:581,471,60,83 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1.webp:486,233,255,239 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/1_front.webp:582,471,42,82 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline.webp:484,232,259,323 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/outline_front.webp:578,471,64,84 +characters/hermione/poses/hand_on_pussy_and_breast/clothes/hair/updo/skin.webp:511,297,139,160 +characters/hermione/poses/hand_on_pussy_and_breast/cum/body/heavy/cum.webp:458,472,255,320 +characters/hermione/poses/hand_on_pussy_and_breast/cum/body/light/cum.webp:532,510,181,282 +characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/heavy/cum.webp:448,538,194,169 +characters/hermione/poses/hand_on_pussy_and_breast/cum/breasts/light/cum.webp:532,552,89,149 +characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/heavy/cum.webp:459,769,181,252 +characters/hermione/poses/hand_on_pussy_and_breast/cum/crotch/light/cum.webp:501,769,73,154 +characters/hermione/poses/hand_on_pussy_and_breast/cum/face/heavy/cum.webp:512,382,126,132 +characters/hermione/poses/hand_on_pussy_and_breast/cum/face/light/cum.webp:597,393,33,72 +characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/heavy/cum.webp:478,247,190,169 +characters/hermione/poses/hand_on_pussy_and_breast/cum/hair/light/cum.webp:496,263,117,100 +characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/heavy/cum.webp:457,860,215,340 +characters/hermione/poses/hand_on_pussy_and_breast/cum/legs/light/cum.webp:510,860,146,191 +characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/heavy/cum.webp:537,923,21,114 +characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/light/cum.webp:537,923,20,44 +characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt/cum.webp:470,952,93,132 +characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_post/cum.webp:481,956,86,106 +characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/squirt_transition/cum.webp:470,956,97,128 +characters/hermione/poses/hand_on_pussy_and_breast/cum/pussy/wet/cum.webp:540,963,19,17 +characters/hermione/poses/hand_on_pussy_and_breast/face/cheeks/blush/expression.webp:515,398,97,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/expression.webp:507,358,114,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/angry/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/expression.webp:507,358,114,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/expression.webp:508,354,115,15 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/base/skin.webp:512,353,119,44 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/expression.webp:508,362,115,16 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/low/skin.webp:512,355,119,44 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/expression.webp:510,356,116,18 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyebrows/worried/skin.webp:512,358,115,39 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/expression.webp:515,369,100,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/base/eyemask.webp:520,373,86,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/closed/expression.webp:513,365,109,35 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/expression.webp:514,369,104,24 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happy/eyemask.webp:521,373,87,18 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/happyCl/expression.webp:513,369,111,22 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/expression.webp:513,367,106,29 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/narrow/eyemask.webp:522,379,84,15 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/expression.webp:514,370,102,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/slit/eyemask.webp:519,374,89,13 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/expression.webp:515,369,100,24 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/squint/eyemask.webp:521,373,86,18 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/expression.webp:515,365,102,36 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wide/eyemask.webp:519,369,92,29 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/expression.webp:513,369,102,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/eyes/wink/eyemask.webp:573,373,33,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/angry/expression.webp:539,435,55,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/annoyed/expression.webp:532,437,35,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/base/expression.webp:541,439,41,16 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/clench/expression.webp:537,431,51,28 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/crooked_smile/expression.webp:536,433,55,31 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/cum/expression.webp:541,439,35,24 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/disgust/expression.webp:540,447,50,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full/expression.webp:506,384,132,99 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_cum/expression.webp:506,384,132,122 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/full_panties/expression.webp:506,384,132,99 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/grin/expression.webp:537,438,53,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/mad/expression.webp:539,441,44,22 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/normal/expression.webp:541,439,35,16 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open/expression.webp:541,436,32,32 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_tongue/expression.webp:541,436,32,32 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue/expression.webp:529,433,91,61 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue_cum/expression.webp:529,433,91,65 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/scream/expression.webp:529,433,91,55 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/shock/expression.webp:535,437,43,36 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/silly/expression.webp:540,433,46,32 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/smile/expression.webp:536,435,57,33 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/soft/expression.webp:538,439,36,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/mouth/upset/expression.webp:540,439,35,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L/expression.webp:522,372,70,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/L_soft/expression.webp:522,372,70,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R/expression.webp:532,372,74,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/R_soft/expression.webp:532,372,74,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/ahegao/expression.webp:529,359,63,22 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/dead/expression.webp:525,371,71,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down/expression.webp:528,383,68,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/down_soft/expression.webp:528,383,68,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid/expression.webp:529,370,72,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/mid_soft/expression.webp:529,370,72,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/shocked/expression.webp:523,375,75,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint/expression.webp:532,372,59,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/squint_soft/expression.webp:532,372,59,19 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare/expression.webp:527,372,68,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/stare_soft/expression.webp:527,372,68,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up/expression.webp:525,367,67,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/pupils/up_soft/expression.webp:525,367,67,20 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying/expression.webp:512,378,104,62 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/crying_blink/expression.webp:502,378,122,54 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara/expression.webp:512,378,118,112 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_crying/expression.webp:514,378,116,112 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft/expression.webp:512,376,118,114 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/mascara_soft_blink/expression.webp:492,378,144,112 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/messy/expression.webp:512,384,110,94 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft/expression.webp:516,376,94,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/soft_blink/expression.webp:492,380,144,26 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/sweat/expression.webp:520,380,110,110 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_crying_side/expression.webp:516,382,106,50 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_down/expression.webp:512,378,104,62 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_mascara_crying_blink/expression.webp:502,378,128,112 +characters/hermione/poses/hand_on_pussy_and_breast/face/tears/tears_soft_sweat/expression.webp:516,376,114,114 +characters/hermione/poses/hold_book/bodyparts/frame/default/skin.webp:382,277,362,923 characters/hermione/poses/hold_book/clothes/hair/base/0.webp:475,236,280,181 characters/hermione/poses/hold_book/clothes/hair/base/0_back.webp:428,370,408,290 characters/hermione/poses/hold_book/clothes/hair/base/1.webp:476,243,279,172 @@ -3065,307 +3465,161 @@ characters/hermione/poses/hold_book/clothes/hair/base/extra.webp:668,285,18,45 characters/hermione/poses/hold_book/clothes/hair/base/outline.webp:426,235,410,425 characters/hermione/poses/hold_book/clothes/hair/base/outline_back.webp:426,370,410,290 characters/hermione/poses/hold_book/clothes/hair/base/skin.webp:510,279,149,115 -characters/hermione/poses/hold_book/face/cheeks/blush.webp:515,398,97,26 -characters/hermione/poses/hold_book/face/eyebrows/angry.webp:507,358,114,20 -characters/hermione/poses/hold_book/face/eyebrows/angry_skin.webp:512,358,115,39 -characters/hermione/poses/hold_book/face/eyebrows/annoyed.webp:507,358,114,19 -characters/hermione/poses/hold_book/face/eyebrows/annoyed_skin.webp:512,358,115,39 -characters/hermione/poses/hold_book/face/eyebrows/base.webp:508,354,115,15 -characters/hermione/poses/hold_book/face/eyebrows/base_skin.webp:512,353,119,44 -characters/hermione/poses/hold_book/face/eyebrows/low.webp:508,362,115,16 -characters/hermione/poses/hold_book/face/eyebrows/low_skin.webp:512,355,119,44 -characters/hermione/poses/hold_book/face/eyebrows/worried.webp:510,356,116,18 -characters/hermione/poses/hold_book/face/eyebrows/worried_skin.webp:512,358,115,39 -characters/hermione/poses/hold_book/face/eyes/base.webp:515,369,100,26 -characters/hermione/poses/hold_book/face/eyes/base_mask.webp:520,373,86,19 -characters/hermione/poses/hold_book/face/eyes/closed.webp:513,365,109,35 -characters/hermione/poses/hold_book/face/eyes/happy.webp:514,369,104,24 -characters/hermione/poses/hold_book/face/eyes/happyCl.webp:513,369,111,22 -characters/hermione/poses/hold_book/face/eyes/happy_mask.webp:521,373,87,18 -characters/hermione/poses/hold_book/face/eyes/narrow.webp:513,367,106,29 -characters/hermione/poses/hold_book/face/eyes/narrow_mask.webp:522,379,84,15 -characters/hermione/poses/hold_book/face/eyes/slit.webp:514,370,102,19 -characters/hermione/poses/hold_book/face/eyes/slit_mask.webp:519,374,89,13 -characters/hermione/poses/hold_book/face/eyes/squint.webp:515,369,100,24 -characters/hermione/poses/hold_book/face/eyes/squint_mask.webp:521,373,86,18 -characters/hermione/poses/hold_book/face/eyes/wide.webp:515,365,102,36 -characters/hermione/poses/hold_book/face/eyes/wide_mask.webp:519,369,92,29 -characters/hermione/poses/hold_book/face/eyes/wink.webp:513,369,102,26 -characters/hermione/poses/hold_book/face/eyes/wink_mask.webp:573,373,33,19 -characters/hermione/poses/hold_book/face/mouth/angry.webp:539,435,55,26 -characters/hermione/poses/hold_book/face/mouth/annoyed.webp:532,437,35,19 -characters/hermione/poses/hold_book/face/mouth/base.webp:541,439,41,16 -characters/hermione/poses/hold_book/face/mouth/clench.webp:537,431,51,28 -characters/hermione/poses/hold_book/face/mouth/crooked_smile.webp:536,433,55,31 -characters/hermione/poses/hold_book/face/mouth/cum.webp:541,439,35,24 -characters/hermione/poses/hold_book/face/mouth/disgust.webp:540,447,50,20 -characters/hermione/poses/hold_book/face/mouth/full.webp:506,384,132,99 -characters/hermione/poses/hold_book/face/mouth/full_cum.webp:506,384,132,122 -characters/hermione/poses/hold_book/face/mouth/grin.webp:537,438,53,26 -characters/hermione/poses/hold_book/face/mouth/mad.webp:539,441,44,22 -characters/hermione/poses/hold_book/face/mouth/normal.webp:541,439,35,16 -characters/hermione/poses/hold_book/face/mouth/open.webp:541,436,32,32 -characters/hermione/poses/hold_book/face/mouth/open_tongue.webp:541,436,32,32 -characters/hermione/poses/hold_book/face/mouth/open_wide_tongue.webp:529,433,91,61 -characters/hermione/poses/hold_book/face/mouth/open_wide_tongue_cum.webp:529,433,91,65 -characters/hermione/poses/hold_book/face/mouth/scream.webp:529,433,91,55 -characters/hermione/poses/hold_book/face/mouth/shock.webp:535,437,43,36 -characters/hermione/poses/hold_book/face/mouth/silly.webp:540,433,46,32 -characters/hermione/poses/hold_book/face/mouth/smile.webp:536,435,57,33 -characters/hermione/poses/hold_book/face/mouth/soft.webp:538,439,36,26 -characters/hermione/poses/hold_book/face/mouth/upset.webp:540,439,35,19 -characters/hermione/poses/hold_book/face/pupils/L.webp:522,372,70,20 -characters/hermione/poses/hold_book/face/pupils/L_soft.webp:522,372,70,20 -characters/hermione/poses/hold_book/face/pupils/R.webp:532,372,74,19 -characters/hermione/poses/hold_book/face/pupils/R_soft.webp:532,372,74,19 -characters/hermione/poses/hold_book/face/pupils/ahegao.webp:529,359,63,22 -characters/hermione/poses/hold_book/face/pupils/dead.webp:525,371,71,19 -characters/hermione/poses/hold_book/face/pupils/down.webp:528,383,68,19 -characters/hermione/poses/hold_book/face/pupils/down_soft.webp:528,383,68,19 -characters/hermione/poses/hold_book/face/pupils/mid.webp:529,370,72,20 -characters/hermione/poses/hold_book/face/pupils/mid_soft.webp:529,370,72,20 -characters/hermione/poses/hold_book/face/pupils/shocked.webp:523,375,75,19 -characters/hermione/poses/hold_book/face/pupils/squint.webp:532,372,59,19 -characters/hermione/poses/hold_book/face/pupils/squint_soft.webp:532,372,59,19 -characters/hermione/poses/hold_book/face/pupils/stare.webp:527,372,68,20 -characters/hermione/poses/hold_book/face/pupils/stare_soft.webp:527,372,68,20 -characters/hermione/poses/hold_book/face/pupils/up.webp:525,367,67,20 -characters/hermione/poses/hold_book/face/pupils/up_soft.webp:525,367,67,20 -characters/hermione/poses/hold_book/face/tears/crying.webp:512,378,104,62 -characters/hermione/poses/hold_book/face/tears/crying_blink.webp:502,378,122,54 -characters/hermione/poses/hold_book/face/tears/mascara.webp:512,378,118,112 -characters/hermione/poses/hold_book/face/tears/mascara_crying.webp:514,378,116,112 -characters/hermione/poses/hold_book/face/tears/mascara_soft.webp:512,376,118,114 -characters/hermione/poses/hold_book/face/tears/mascara_soft_blink.webp:492,378,144,112 -characters/hermione/poses/hold_book/face/tears/messy.webp:512,384,110,94 -characters/hermione/poses/hold_book/face/tears/soft.webp:516,376,94,26 -characters/hermione/poses/hold_book/face/tears/soft_blink.webp:492,380,144,26 -characters/hermione/poses/hold_book/face/tears/sweat.webp:520,380,110,110 -characters/hermione/poses/hold_book/face/tears/tears_crying_side.webp:516,382,106,50 -characters/hermione/poses/hold_book/face/tears/tears_down.webp:512,378,104,62 -characters/hermione/poses/hold_book/face/tears/tears_mascara_crying_blink.webp:502,378,128,112 -characters/hermione/poses/hold_book/face/tears/tears_soft_sweat.webp:516,376,114,114 -characters/hermione/poses/hold_book/loadable.webp:0,0,1,1 -characters/hermione/poses/masturbate/body/armleft/down.webp:660,521,170,501 -characters/hermione/poses/masturbate/body/armleft/on_pussy.webp:504,522,229,457 -characters/hermione/poses/masturbate/body/armright/down.webp:272,692,231,292 -characters/hermione/poses/masturbate/body/armright/on_tits.webp:404,514,205,227 -characters/hermione/poses/masturbate/body/backside/big1.webp:450,726,246,474 -characters/hermione/poses/masturbate/body/backside/big2.webp:451,726,246,474 -characters/hermione/poses/masturbate/body/backside/big3.webp:450,726,248,474 -characters/hermione/poses/masturbate/body/base/front.webp:454,277,276,923 -characters/hermione/poses/masturbate/body/breasts/big1.webp:431,557,237,180 -characters/hermione/poses/masturbate/body/breasts/big2.webp:430,558,240,187 -characters/hermione/poses/masturbate/body/breasts/big3.webp:425,558,245,198 -characters/hermione/poses/masturbate/body/breasts/big3_backside.webp:425,558,245,198 -characters/hermione/poses/masturbate/body/breasts/normal.webp:435,570,239,157 -characters/hermione/poses/masturbate/clothes/hair/base/0.webp:475,236,280,181 -characters/hermione/poses/masturbate/clothes/hair/base/0_back.webp:428,370,408,290 -characters/hermione/poses/masturbate/clothes/hair/base/1.webp:476,243,279,172 -characters/hermione/poses/masturbate/clothes/hair/base/1_back.webp:453,408,368,187 -characters/hermione/poses/masturbate/clothes/hair/base/2.webp:644,285,42,51 -characters/hermione/poses/masturbate/clothes/hair/base/extra.webp:668,285,18,45 -characters/hermione/poses/masturbate/clothes/hair/base/outline.webp:426,235,410,425 -characters/hermione/poses/masturbate/clothes/hair/base/outline_back.webp:426,370,410,290 -characters/hermione/poses/masturbate/clothes/hair/base/skin.webp:510,279,149,115 -characters/hermione/poses/masturbate/clothes/hair/bio_hair/0.webp:476,241,289,230 -characters/hermione/poses/masturbate/clothes/hair/bio_hair/1.webp:476,265,236,84 -characters/hermione/poses/masturbate/clothes/hair/bio_hair/outline.webp:475,240,292,236 -characters/hermione/poses/masturbate/clothes/hair/bio_hair/skin.webp:495,302,137,113 -characters/hermione/poses/masturbate/clothes/hair/updo/0.webp:486,233,256,255 -characters/hermione/poses/masturbate/clothes/hair/updo/0_front.webp:581,471,60,83 -characters/hermione/poses/masturbate/clothes/hair/updo/1.webp:486,233,255,239 -characters/hermione/poses/masturbate/clothes/hair/updo/1_front.webp:582,471,42,82 -characters/hermione/poses/masturbate/clothes/hair/updo/outline.webp:484,232,259,323 -characters/hermione/poses/masturbate/clothes/hair/updo/outline_front.webp:578,471,64,84 -characters/hermione/poses/masturbate/clothes/hair/updo/skin.webp:511,297,139,160 -characters/hermione/poses/masturbate/cum/body/heavy.webp:458,472,255,320 -characters/hermione/poses/masturbate/cum/body/light.webp:532,510,181,282 -characters/hermione/poses/masturbate/cum/breasts/heavy.webp:448,538,194,169 -characters/hermione/poses/masturbate/cum/breasts/light.webp:532,552,89,149 -characters/hermione/poses/masturbate/cum/crotch/heavy.webp:459,769,181,252 -characters/hermione/poses/masturbate/cum/crotch/light.webp:501,769,73,154 -characters/hermione/poses/masturbate/cum/face/heavy.webp:512,382,126,132 -characters/hermione/poses/masturbate/cum/face/light.webp:597,393,33,72 -characters/hermione/poses/masturbate/cum/hair/heavy.webp:478,247,190,169 -characters/hermione/poses/masturbate/cum/hair/light.webp:496,263,117,100 -characters/hermione/poses/masturbate/cum/legs/heavy.webp:457,860,215,340 -characters/hermione/poses/masturbate/cum/legs/light.webp:510,860,146,191 -characters/hermione/poses/masturbate/cum/pussy/heavy.webp:537,923,21,114 -characters/hermione/poses/masturbate/cum/pussy/light.webp:537,923,20,44 -characters/hermione/poses/masturbate/cum/pussy/squirt.webp:470,952,93,132 -characters/hermione/poses/masturbate/cum/pussy/squirt_post.webp:481,956,86,106 -characters/hermione/poses/masturbate/cum/pussy/squirt_transition.webp:470,956,97,128 -characters/hermione/poses/masturbate/cum/pussy/wet.webp:540,963,19,17 -characters/hermione/poses/masturbate/face/cheeks/blush.webp:515,398,97,26 -characters/hermione/poses/masturbate/face/eyebrows/angry.webp:507,358,114,20 -characters/hermione/poses/masturbate/face/eyebrows/angry_skin.webp:512,358,115,39 -characters/hermione/poses/masturbate/face/eyebrows/annoyed.webp:507,358,114,19 -characters/hermione/poses/masturbate/face/eyebrows/annoyed_skin.webp:512,358,115,39 -characters/hermione/poses/masturbate/face/eyebrows/base.webp:508,354,115,15 -characters/hermione/poses/masturbate/face/eyebrows/base_skin.webp:512,353,119,44 -characters/hermione/poses/masturbate/face/eyebrows/low.webp:508,362,115,16 -characters/hermione/poses/masturbate/face/eyebrows/low_skin.webp:512,355,119,44 -characters/hermione/poses/masturbate/face/eyebrows/worried.webp:510,356,116,18 -characters/hermione/poses/masturbate/face/eyebrows/worried_skin.webp:512,358,115,39 -characters/hermione/poses/masturbate/face/eyes/base.webp:515,369,100,26 -characters/hermione/poses/masturbate/face/eyes/base_mask.webp:520,373,86,19 -characters/hermione/poses/masturbate/face/eyes/closed.webp:513,365,109,35 -characters/hermione/poses/masturbate/face/eyes/happy.webp:514,369,104,24 -characters/hermione/poses/masturbate/face/eyes/happyCl.webp:513,369,111,22 -characters/hermione/poses/masturbate/face/eyes/happy_mask.webp:521,373,87,18 -characters/hermione/poses/masturbate/face/eyes/narrow.webp:513,367,106,29 -characters/hermione/poses/masturbate/face/eyes/narrow_mask.webp:522,379,84,15 -characters/hermione/poses/masturbate/face/eyes/slit.webp:514,370,102,19 -characters/hermione/poses/masturbate/face/eyes/slit_mask.webp:519,374,89,13 -characters/hermione/poses/masturbate/face/eyes/squint.webp:515,369,100,24 -characters/hermione/poses/masturbate/face/eyes/squint_mask.webp:521,373,86,18 -characters/hermione/poses/masturbate/face/eyes/wide.webp:515,365,102,36 -characters/hermione/poses/masturbate/face/eyes/wide_mask.webp:519,369,92,29 -characters/hermione/poses/masturbate/face/eyes/wink.webp:513,369,102,26 -characters/hermione/poses/masturbate/face/eyes/wink_mask.webp:573,373,33,19 -characters/hermione/poses/masturbate/face/mouth/angry.webp:539,435,55,26 -characters/hermione/poses/masturbate/face/mouth/annoyed.webp:532,437,35,19 -characters/hermione/poses/masturbate/face/mouth/base.webp:541,439,41,16 -characters/hermione/poses/masturbate/face/mouth/clench.webp:537,431,51,28 -characters/hermione/poses/masturbate/face/mouth/crooked_smile.webp:536,433,55,31 -characters/hermione/poses/masturbate/face/mouth/cum.webp:541,439,35,24 -characters/hermione/poses/masturbate/face/mouth/disgust.webp:540,447,50,20 -characters/hermione/poses/masturbate/face/mouth/full.webp:506,384,132,99 -characters/hermione/poses/masturbate/face/mouth/full_cum.webp:506,384,132,122 -characters/hermione/poses/masturbate/face/mouth/grin.webp:537,438,53,26 -characters/hermione/poses/masturbate/face/mouth/mad.webp:539,441,44,22 -characters/hermione/poses/masturbate/face/mouth/normal.webp:541,439,35,16 -characters/hermione/poses/masturbate/face/mouth/open.webp:541,436,32,32 -characters/hermione/poses/masturbate/face/mouth/open_tongue.webp:541,436,32,32 -characters/hermione/poses/masturbate/face/mouth/open_wide_tongue.webp:529,433,91,61 -characters/hermione/poses/masturbate/face/mouth/open_wide_tongue_cum.webp:529,433,91,65 -characters/hermione/poses/masturbate/face/mouth/scream.webp:529,433,91,55 -characters/hermione/poses/masturbate/face/mouth/shock.webp:535,437,43,36 -characters/hermione/poses/masturbate/face/mouth/silly.webp:540,433,46,32 -characters/hermione/poses/masturbate/face/mouth/smile.webp:536,435,57,33 -characters/hermione/poses/masturbate/face/mouth/soft.webp:538,439,36,26 -characters/hermione/poses/masturbate/face/mouth/upset.webp:540,439,35,19 -characters/hermione/poses/masturbate/face/pupils/L.webp:522,372,70,20 -characters/hermione/poses/masturbate/face/pupils/L_soft.webp:522,372,70,20 -characters/hermione/poses/masturbate/face/pupils/R.webp:532,372,74,19 -characters/hermione/poses/masturbate/face/pupils/R_soft.webp:532,372,74,19 -characters/hermione/poses/masturbate/face/pupils/ahegao.webp:529,359,63,22 -characters/hermione/poses/masturbate/face/pupils/dead.webp:525,371,71,19 -characters/hermione/poses/masturbate/face/pupils/down.webp:528,383,68,19 -characters/hermione/poses/masturbate/face/pupils/down_soft.webp:528,383,68,19 -characters/hermione/poses/masturbate/face/pupils/mid.webp:529,370,72,20 -characters/hermione/poses/masturbate/face/pupils/mid_soft.webp:529,370,72,20 -characters/hermione/poses/masturbate/face/pupils/shocked.webp:523,375,75,19 -characters/hermione/poses/masturbate/face/pupils/squint.webp:532,372,59,19 -characters/hermione/poses/masturbate/face/pupils/squint_soft.webp:532,372,59,19 -characters/hermione/poses/masturbate/face/pupils/stare.webp:527,372,68,20 -characters/hermione/poses/masturbate/face/pupils/stare_soft.webp:527,372,68,20 -characters/hermione/poses/masturbate/face/pupils/up.webp:525,367,67,20 -characters/hermione/poses/masturbate/face/pupils/up_soft.webp:525,367,67,20 -characters/hermione/poses/masturbate/face/tears/crying.webp:512,378,104,62 -characters/hermione/poses/masturbate/face/tears/crying_blink.webp:502,378,122,54 -characters/hermione/poses/masturbate/face/tears/mascara.webp:512,378,118,112 -characters/hermione/poses/masturbate/face/tears/mascara_crying.webp:514,378,116,112 -characters/hermione/poses/masturbate/face/tears/mascara_soft.webp:512,376,118,114 -characters/hermione/poses/masturbate/face/tears/mascara_soft_blink.webp:492,378,144,112 -characters/hermione/poses/masturbate/face/tears/messy.webp:512,384,110,94 -characters/hermione/poses/masturbate/face/tears/soft.webp:516,376,94,26 -characters/hermione/poses/masturbate/face/tears/soft_blink.webp:492,380,144,26 -characters/hermione/poses/masturbate/face/tears/sweat.webp:520,380,110,110 -characters/hermione/poses/masturbate/face/tears/tears_crying_side.webp:516,382,106,50 -characters/hermione/poses/masturbate/face/tears/tears_down.webp:512,378,104,62 -characters/hermione/poses/masturbate/face/tears/tears_mascara_crying_blink.webp:502,378,128,112 -characters/hermione/poses/masturbate/face/tears/tears_soft_sweat.webp:516,376,114,114 -characters/hermione/poses/masturbate/loadable.webp:0,0,1,1 -characters/hooch/body/base/front.webp:241,261,564,939 -characters/hooch/chibi/stand/0.webp:170,105,255,672 -characters/hooch/chibi/walk/0.webp:170,105,255,662 -characters/hooch/chibi/walk/1.webp:170,107,255,659 -characters/hooch/chibi/walk/2.webp:170,111,270,660 -characters/hooch/chibi/walk/3.webp:170,107,255,663 -characters/hooch/chibi/walk/4.webp:170,105,255,662 -characters/hooch/chibi/walk/5.webp:170,107,255,665 -characters/hooch/chibi/walk/6.webp:170,111,270,666 -characters/hooch/chibi/walk/7.webp:170,107,255,665 -characters/hooch/clothes/accessory/broom/0.webp:642,186,71,1014 -characters/hooch/clothes/accessory/broom/1.webp:644,1178,69,22 -characters/hooch/clothes/accessory/broom/2.webp:637,1072,81,128 -characters/hooch/clothes/accessory/broom/outline.webp:634,184,85,1016 -characters/hooch/clothes/accessory/broom_dildo/0.webp:642,186,71,1014 -characters/hooch/clothes/accessory/broom_dildo/1.webp:644,1178,69,22 -characters/hooch/clothes/accessory/broom_dildo/2.webp:637,1072,81,128 -characters/hooch/clothes/accessory/broom_dildo/outline.webp:634,184,85,1016 -characters/hooch/clothes/accessory/broom_dildo/overlay.webp:581,829,129,117 -characters/hooch/clothes/bottom/sport_trousers/0.webp:350,848,288,352 -characters/hooch/clothes/bottom/sport_trousers/1.webp:590,875,56,325 -characters/hooch/clothes/bottom/sport_trousers/outline.webp:348,847,300,353 -characters/hooch/clothes/bra/sport/0.webp:340,508,268,249 -characters/hooch/clothes/bra/sport/1.webp:382,503,231,278 -characters/hooch/clothes/bra/sport/outline.webp:339,501,276,282 -characters/hooch/clothes/gloves/sport_gloves/0.webp:337,480,412,393 -characters/hooch/clothes/gloves/sport_gloves/0_top.webp:652,480,97,130 -characters/hooch/clothes/gloves/sport_gloves/extra.webp:355,480,393,372 -characters/hooch/clothes/gloves/sport_gloves/extra_top.webp:656,480,92,100 -characters/hooch/clothes/gloves/sport_gloves/outline.webp:336,479,415,396 -characters/hooch/clothes/gloves/sport_gloves/outline_top.webp:651,479,100,132 -characters/hooch/clothes/hair/base/0.webp:402,229,246,211 -characters/hooch/clothes/hair/base/0_back.webp:391,318,200,147 -characters/hooch/clothes/hair/base/outline.webp:397,215,256,228 -characters/hooch/clothes/hair/base/outline_back.webp:390,322,203,147 -characters/hooch/clothes/hair/base/skin.webp:430,303,102,40 -characters/hooch/clothes/headgear/sport_goggles/0.webp:400,248,171,76 -characters/hooch/clothes/headgear/sport_goggles/1.webp:416,265,160,87 -characters/hooch/clothes/headgear/sport_goggles/2.webp:405,253,162,60 -characters/hooch/clothes/headgear/sport_goggles/extra.webp:419,256,119,21 -characters/hooch/clothes/headgear/sport_goggles/outline.webp:400,247,177,106 -characters/hooch/clothes/panties/sport/0.webp:397,888,142,88 -characters/hooch/clothes/panties/sport/1.webp:372,849,236,59 -characters/hooch/clothes/panties/sport/outline.webp:372,848,238,129 -characters/hooch/clothes/robe/sport_robe/0.webp:237,509,559,691 -characters/hooch/clothes/robe/sport_robe/1.webp:408,478,175,519 -characters/hooch/clothes/robe/sport_robe/2.webp:347,870,291,330 -characters/hooch/clothes/robe/sport_robe/extra.webp:421,636,87,564 -characters/hooch/clothes/robe/sport_robe/outline.webp:236,478,562,722 -characters/hooch/clothes/top/sport_shirt/0.webp:283,486,436,474 -characters/hooch/clothes/top/sport_shirt/1.webp:287,486,432,445 -characters/hooch/clothes/top/sport_shirt/outline.webp:281,484,440,478 -characters/hooch/face/cheeks/blush.webp:422,364,124,83 -characters/hooch/face/cheeks/blush_heavy.webp:422,363,125,85 -characters/hooch/face/eyebrows/angry.webp:429,340,95,19 -characters/hooch/face/eyebrows/base.webp:429,338,94,19 -characters/hooch/face/eyebrows/raised.webp:429,335,93,22 -characters/hooch/face/eyebrows/shocked.webp:428,337,95,15 -characters/hooch/face/eyebrows/worried.webp:429,340,94,19 -characters/hooch/face/eyes/base.webp:424,357,95,25 -characters/hooch/face/eyes/base_mask.webp:428,368,84,12 -characters/hooch/face/eyes/closed.webp:423,356,96,26 -characters/hooch/face/eyes/narrow.webp:424,357,95,24 -characters/hooch/face/eyes/narrow_mask.webp:429,369,82,10 -characters/hooch/face/eyes/shocked.webp:423,357,96,26 -characters/hooch/face/eyes/shocked_mask.webp:428,365,85,16 -characters/hooch/face/eyes/wink.webp:423,357,96,25 -characters/hooch/face/eyes/wink_mask.webp:482,370,30,10 -characters/hooch/face/mouth/angry.webp:433,395,58,55 -characters/hooch/face/mouth/base.webp:434,417,45,22 -characters/hooch/face/mouth/grin.webp:433,414,53,33 -characters/hooch/face/mouth/normal.webp:435,417,42,22 -characters/hooch/face/mouth/open.webp:434,415,43,31 -characters/hooch/face/pupils/L.webp:428,364,68,18 -characters/hooch/face/pupils/R.webp:439,365,75,17 -characters/hooch/face/pupils/down.webp:432,367,71,18 -characters/hooch/face/pupils/downL.webp:424,368,69,18 -characters/hooch/face/pupils/downR.webp:437,368,75,17 -characters/hooch/face/pupils/mid.webp:435,364,75,18 -characters/hooch/face/pupils/stare.webp:432,364,71,18 -characters/hooch/face/pupils/up.webp:431,362,70,17 -characters/luna/body/armleft/down.webp:656,522,174,500 -characters/luna/body/armleft/up.webp:656,522,241,270 -characters/luna/body/armright/down.webp:272,687,232,297 -characters/luna/body/armright/up.webp:292,575,217,201 -characters/luna/body/base/front.webp:324,290,503,910 -characters/luna/body/breasts/normal.webp:449,564,220,149 -characters/luna/body/breasts/normal_tight.webp:451,564,218,149 +characters/hermione/poses/hold_book/face/cheeks/blush/expression.webp:515,398,97,26 +characters/hermione/poses/hold_book/face/eyebrows/angry/expression.webp:507,358,114,20 +characters/hermione/poses/hold_book/face/eyebrows/angry/skin.webp:512,358,115,39 +characters/hermione/poses/hold_book/face/eyebrows/annoyed/expression.webp:507,358,114,19 +characters/hermione/poses/hold_book/face/eyebrows/annoyed/skin.webp:512,358,115,39 +characters/hermione/poses/hold_book/face/eyebrows/base/expression.webp:508,354,115,15 +characters/hermione/poses/hold_book/face/eyebrows/base/skin.webp:512,353,119,44 +characters/hermione/poses/hold_book/face/eyebrows/low/expression.webp:508,362,115,16 +characters/hermione/poses/hold_book/face/eyebrows/low/skin.webp:512,355,119,44 +characters/hermione/poses/hold_book/face/eyebrows/worried/expression.webp:510,356,116,18 +characters/hermione/poses/hold_book/face/eyebrows/worried/skin.webp:512,358,115,39 +characters/hermione/poses/hold_book/face/eyes/base/expression.webp:515,369,100,26 +characters/hermione/poses/hold_book/face/eyes/base/eyemask.webp:520,373,86,19 +characters/hermione/poses/hold_book/face/eyes/closed/expression.webp:513,365,109,35 +characters/hermione/poses/hold_book/face/eyes/happy/expression.webp:514,369,104,24 +characters/hermione/poses/hold_book/face/eyes/happy/eyemask.webp:521,373,87,18 +characters/hermione/poses/hold_book/face/eyes/happyCl/expression.webp:513,369,111,22 +characters/hermione/poses/hold_book/face/eyes/narrow/expression.webp:513,367,106,29 +characters/hermione/poses/hold_book/face/eyes/narrow/eyemask.webp:522,379,84,15 +characters/hermione/poses/hold_book/face/eyes/slit/expression.webp:514,370,102,19 +characters/hermione/poses/hold_book/face/eyes/slit/eyemask.webp:519,374,89,13 +characters/hermione/poses/hold_book/face/eyes/squint/expression.webp:515,369,100,24 +characters/hermione/poses/hold_book/face/eyes/squint/eyemask.webp:521,373,86,18 +characters/hermione/poses/hold_book/face/eyes/wide/expression.webp:515,365,102,36 +characters/hermione/poses/hold_book/face/eyes/wide/eyemask.webp:519,369,92,29 +characters/hermione/poses/hold_book/face/eyes/wink/expression.webp:513,369,102,26 +characters/hermione/poses/hold_book/face/eyes/wink/eyemask.webp:573,373,33,19 +characters/hermione/poses/hold_book/face/mouth/angry/expression.webp:539,435,55,26 +characters/hermione/poses/hold_book/face/mouth/annoyed/expression.webp:532,437,35,19 +characters/hermione/poses/hold_book/face/mouth/base/expression.webp:541,439,41,16 +characters/hermione/poses/hold_book/face/mouth/clench/expression.webp:537,431,51,28 +characters/hermione/poses/hold_book/face/mouth/crooked/smile.webp:536,433,55,31 +characters/hermione/poses/hold_book/face/mouth/cum/expression.webp:541,439,35,24 +characters/hermione/poses/hold_book/face/mouth/disgust/expression.webp:540,447,50,20 +characters/hermione/poses/hold_book/face/mouth/full/expression.webp:506,384,132,99 +characters/hermione/poses/hold_book/face/mouth/full_cum/expression.webp:506,384,132,122 +characters/hermione/poses/hold_book/face/mouth/full_panties/expression.webp:506,384,132,99 +characters/hermione/poses/hold_book/face/mouth/grin/expression.webp:537,438,53,26 +characters/hermione/poses/hold_book/face/mouth/mad/expression.webp:539,441,44,22 +characters/hermione/poses/hold_book/face/mouth/normal/expression.webp:541,439,35,16 +characters/hermione/poses/hold_book/face/mouth/open/expression.webp:541,436,32,32 +characters/hermione/poses/hold_book/face/mouth/open_tongue/expression.webp:541,436,32,32 +characters/hermione/poses/hold_book/face/mouth/open_wide_tongue/expression.webp:529,433,91,61 +characters/hermione/poses/hold_book/face/mouth/open_wide_tongue_cum/expression.webp:529,433,91,65 +characters/hermione/poses/hold_book/face/mouth/scream/expression.webp:529,433,91,55 +characters/hermione/poses/hold_book/face/mouth/shock/expression.webp:535,437,43,36 +characters/hermione/poses/hold_book/face/mouth/silly/expression.webp:540,433,46,32 +characters/hermione/poses/hold_book/face/mouth/smile/expression.webp:536,435,57,33 +characters/hermione/poses/hold_book/face/mouth/soft/expression.webp:538,439,36,26 +characters/hermione/poses/hold_book/face/mouth/upset/expression.webp:540,439,35,19 +characters/hermione/poses/hold_book/face/pupils/L/expression.webp:522,372,70,20 +characters/hermione/poses/hold_book/face/pupils/L_soft/expression.webp:522,372,70,20 +characters/hermione/poses/hold_book/face/pupils/R/expression.webp:532,372,74,19 +characters/hermione/poses/hold_book/face/pupils/R_soft/expression.webp:532,372,74,19 +characters/hermione/poses/hold_book/face/pupils/ahegao/expression.webp:529,359,63,22 +characters/hermione/poses/hold_book/face/pupils/dead/expression.webp:525,371,71,19 +characters/hermione/poses/hold_book/face/pupils/down/expression.webp:528,383,68,19 +characters/hermione/poses/hold_book/face/pupils/down_soft/expression.webp:528,383,68,19 +characters/hermione/poses/hold_book/face/pupils/mid/expression.webp:529,370,72,20 +characters/hermione/poses/hold_book/face/pupils/mid_soft/expression.webp:529,370,72,20 +characters/hermione/poses/hold_book/face/pupils/shocked/expression.webp:523,375,75,19 +characters/hermione/poses/hold_book/face/pupils/squint/expression.webp:532,372,59,19 +characters/hermione/poses/hold_book/face/pupils/squint_soft/expression.webp:532,372,59,19 +characters/hermione/poses/hold_book/face/pupils/stare/expression.webp:527,372,68,20 +characters/hermione/poses/hold_book/face/pupils/stare_soft/expression.webp:527,372,68,20 +characters/hermione/poses/hold_book/face/pupils/up/expression.webp:525,367,67,20 +characters/hermione/poses/hold_book/face/pupils/up_soft/expression.webp:525,367,67,20 +characters/hermione/poses/hold_book/face/tears/crying/expression.webp:512,378,104,62 +characters/hermione/poses/hold_book/face/tears/crying_blink/expression.webp:502,378,122,54 +characters/hermione/poses/hold_book/face/tears/mascara/expression.webp:512,378,118,112 +characters/hermione/poses/hold_book/face/tears/mascara_crying/expression.webp:514,378,116,112 +characters/hermione/poses/hold_book/face/tears/mascara_soft/expression.webp:512,376,118,114 +characters/hermione/poses/hold_book/face/tears/mascara_soft_blink/expression.webp:492,378,144,112 +characters/hermione/poses/hold_book/face/tears/messy/expression.webp:512,384,110,94 +characters/hermione/poses/hold_book/face/tears/soft/expression.webp:516,376,94,26 +characters/hermione/poses/hold_book/face/tears/soft_blink/expression.webp:492,380,144,26 +characters/hermione/poses/hold_book/face/tears/sweat/expression.webp:520,380,110,110 +characters/hermione/poses/hold_book/face/tears/tears_crying_side/expression.webp:516,382,106,50 +characters/hermione/poses/hold_book/face/tears/tears_down/expression.webp:512,378,104,62 +characters/hermione/poses/hold_book/face/tears/tears_mascara_crying_blink/expression.webp:502,378,128,112 +characters/hermione/poses/hold_book/face/tears/tears_soft_sweat/expression.webp:516,376,114,114 +characters/hooch/poses/default/bodyparts/frame/default/skin.webp:241,261,564,939 +characters/hooch/poses/default/chibi/stand/bodyparts/frame/default/skin.webp:175,105,255,672 +characters/hooch/poses/default/chibi/walk/bodyparts/frame/default/skin.webp:175,105,2055,1472 +characters/hooch/poses/default/clothes/accessory/broom/0.webp:642,186,71,1014 +characters/hooch/poses/default/clothes/accessory/broom/1.webp:644,1178,69,22 +characters/hooch/poses/default/clothes/accessory/broom/2.webp:637,1072,81,128 +characters/hooch/poses/default/clothes/accessory/broom/outline.webp:634,184,85,1016 +characters/hooch/poses/default/clothes/accessory/broom_dildo/0.webp:642,186,71,1014 +characters/hooch/poses/default/clothes/accessory/broom_dildo/1.webp:644,1178,69,22 +characters/hooch/poses/default/clothes/accessory/broom_dildo/2.webp:637,1072,81,128 +characters/hooch/poses/default/clothes/accessory/broom_dildo/outline.webp:634,184,85,1016 +characters/hooch/poses/default/clothes/accessory/broom_dildo/overlay.webp:581,829,129,117 +characters/hooch/poses/default/clothes/bottom/sport_trousers/0.webp:350,848,288,352 +characters/hooch/poses/default/clothes/bottom/sport_trousers/1.webp:590,875,56,325 +characters/hooch/poses/default/clothes/bottom/sport_trousers/outline.webp:348,847,300,353 +characters/hooch/poses/default/clothes/bra/sport/0.webp:340,508,268,249 +characters/hooch/poses/default/clothes/bra/sport/1.webp:382,503,231,278 +characters/hooch/poses/default/clothes/bra/sport/outline.webp:339,501,276,282 +characters/hooch/poses/default/clothes/gloves/sport_gloves/0.webp:337,480,412,393 +characters/hooch/poses/default/clothes/gloves/sport_gloves/0_top.webp:652,480,97,130 +characters/hooch/poses/default/clothes/gloves/sport_gloves/extra.webp:355,480,393,372 +characters/hooch/poses/default/clothes/gloves/sport_gloves/extra_top.webp:656,480,92,100 +characters/hooch/poses/default/clothes/gloves/sport_gloves/outline.webp:336,479,415,396 +characters/hooch/poses/default/clothes/gloves/sport_gloves/outline_top.webp:651,479,100,132 +characters/hooch/poses/default/clothes/hair/base/0.webp:402,229,246,211 +characters/hooch/poses/default/clothes/hair/base/0_back.webp:391,318,200,147 +characters/hooch/poses/default/clothes/hair/base/outline.webp:397,215,256,228 +characters/hooch/poses/default/clothes/hair/base/outline_back.webp:390,322,203,147 +characters/hooch/poses/default/clothes/hair/base/skin.webp:430,303,102,40 +characters/hooch/poses/default/clothes/headgear/sport_goggles/0.webp:400,248,171,76 +characters/hooch/poses/default/clothes/headgear/sport_goggles/1.webp:416,265,160,87 +characters/hooch/poses/default/clothes/headgear/sport_goggles/2.webp:405,253,162,60 +characters/hooch/poses/default/clothes/headgear/sport_goggles/extra.webp:419,256,119,21 +characters/hooch/poses/default/clothes/headgear/sport_goggles/outline.webp:400,247,177,106 +characters/hooch/poses/default/clothes/panties/sport/0.webp:397,888,142,88 +characters/hooch/poses/default/clothes/panties/sport/1.webp:372,849,236,59 +characters/hooch/poses/default/clothes/panties/sport/outline.webp:372,848,238,129 +characters/hooch/poses/default/clothes/robe/sport_robe/0.webp:237,509,559,691 +characters/hooch/poses/default/clothes/robe/sport_robe/1.webp:408,478,175,519 +characters/hooch/poses/default/clothes/robe/sport_robe/2.webp:347,870,291,330 +characters/hooch/poses/default/clothes/robe/sport_robe/extra.webp:421,636,87,564 +characters/hooch/poses/default/clothes/robe/sport_robe/outline.webp:236,478,562,722 +characters/hooch/poses/default/clothes/top/sport_shirt/0.webp:283,486,436,474 +characters/hooch/poses/default/clothes/top/sport_shirt/1.webp:287,486,432,445 +characters/hooch/poses/default/clothes/top/sport_shirt/outline.webp:281,484,440,478 +characters/hooch/poses/default/face/cheeks/blush/expression.webp:422,364,124,83 +characters/hooch/poses/default/face/cheeks/blush_heavy/expression.webp:422,363,125,85 +characters/hooch/poses/default/face/eyebrows/angry/expression.webp:429,340,95,19 +characters/hooch/poses/default/face/eyebrows/base/expression.webp:429,338,94,19 +characters/hooch/poses/default/face/eyebrows/raised/expression.webp:429,335,93,22 +characters/hooch/poses/default/face/eyebrows/shocked/expression.webp:428,337,95,15 +characters/hooch/poses/default/face/eyebrows/worried/expression.webp:429,340,94,19 +characters/hooch/poses/default/face/eyes/base/expression.webp:424,357,95,25 +characters/hooch/poses/default/face/eyes/base/eyemask.webp:428,368,84,12 +characters/hooch/poses/default/face/eyes/closed/expression.webp:423,356,96,26 +characters/hooch/poses/default/face/eyes/narrow/expression.webp:424,357,95,24 +characters/hooch/poses/default/face/eyes/narrow/eyemask.webp:429,369,82,10 +characters/hooch/poses/default/face/eyes/shocked/expression.webp:423,357,96,26 +characters/hooch/poses/default/face/eyes/shocked/eyemask.webp:428,365,85,16 +characters/hooch/poses/default/face/eyes/wink/expression.webp:423,357,96,25 +characters/hooch/poses/default/face/eyes/wink/eyemask.webp:482,370,30,10 +characters/hooch/poses/default/face/mouth/angry/expression.webp:433,395,58,55 +characters/hooch/poses/default/face/mouth/base/expression.webp:434,417,45,22 +characters/hooch/poses/default/face/mouth/grin/expression.webp:433,414,53,33 +characters/hooch/poses/default/face/mouth/normal/expression.webp:435,417,42,22 +characters/hooch/poses/default/face/mouth/open/expression.webp:434,415,43,31 +characters/hooch/poses/default/face/pupils/L/expression.webp:428,364,68,18 +characters/hooch/poses/default/face/pupils/R/expression.webp:439,365,75,17 +characters/hooch/poses/default/face/pupils/down/expression.webp:432,367,71,18 +characters/hooch/poses/default/face/pupils/downL/expression.webp:424,368,69,18 +characters/hooch/poses/default/face/pupils/downR/expression.webp:437,368,75,17 +characters/hooch/poses/default/face/pupils/mid/expression.webp:435,364,75,18 +characters/hooch/poses/default/face/pupils/stare/expression.webp:432,364,71,18 +characters/hooch/poses/default/face/pupils/up/expression.webp:431,362,70,17 characters/luna/chibis/inspect_body_lean/breast_nude_01.webp:92,54,367,456 characters/luna/chibis/inspect_body_lean/breast_nude_02.webp:92,54,367,456 characters/luna/chibis/inspect_body_lean/breast_nude_03.webp:92,54,367,456 @@ -3423,574 +3677,771 @@ characters/luna/chibis/walk/walk_topless_03.webp:12,2,188,342 characters/luna/chibis/walk/walk_topless_04.webp:20,2,180,342 characters/luna/chibis/walk/walk_topless_05.webp:20,2,180,340 characters/luna/chibis/walk/walk_topless_06.webp:20,2,180,342 -characters/luna/clothes/accessory/bracelets/0.webp:373,611,38,57 -characters/luna/clothes/accessory/bracelets/1.webp:381,648,43,31 -characters/luna/clothes/accessory/bracelets/2.webp:374,636,38,58 -characters/luna/clothes/accessory/bracelets/outline.webp:373,610,51,85 -characters/luna/clothes/accessory/bracelets/skin.webp:385,647,37,48 -characters/luna/clothes/accessory/hair_bug/0.webp:0,0,1,1 -characters/luna/clothes/accessory/hair_bug/outline.webp:688,352,80,77 -characters/luna/clothes/accessory/harley_quinn_strap/0.webp:538,969,127,107 -characters/luna/clothes/accessory/harley_quinn_strap/outline.webp:536,968,129,108 -characters/luna/clothes/accessory/lionhead/0.webp:0,0,0,0 -characters/luna/clothes/accessory/lionhead/outline.webp:324,220,474,975 -characters/luna/clothes/accessory/lionhead/outline_back.webp:448,140,389,681 -characters/luna/clothes/accessory/pin_radish/0.webp:588,606,38,34 -characters/luna/clothes/accessory/pin_radish/1.webp:594,606,32,23 -characters/luna/clothes/accessory/pin_radish/extra.webp:591,622,23,15 -characters/luna/clothes/accessory/pin_radish/outline.webp:588,605,38,36 -characters/luna/clothes/accessory/police_badge/0.webp:693,553,41,81 -characters/luna/clothes/accessory/police_badge/1.webp:688,557,50,57 -characters/luna/clothes/accessory/police_badge/outline.webp:692,552,44,84 -characters/luna/clothes/accessory/police_belt/0.webp:338,776,339,88 -characters/luna/clothes/accessory/police_belt/1.webp:445,780,120,101 -characters/luna/clothes/accessory/police_belt/outline.webp:443,779,236,103 -characters/luna/clothes/accessory/police_belt/skin.webp:446,780,209,104 -characters/luna/clothes/accessory/police_cuffs/0.webp:445,780,69,101 -characters/luna/clothes/accessory/police_cuffs/outline.webp:443,779,72,103 -characters/luna/clothes/accessory/police_cuffs/skin.webp:454,781,65,103 -characters/luna/clothes/accessory/wand_breasts/0.webp:0,0,1,1 -characters/luna/clothes/accessory/wand_breasts/outline.webp:528,495,74,279 -characters/luna/clothes/accessory/wand_hand/0.webp:0,0,1,1 -characters/luna/clothes/accessory/wand_hand/outline.webp:716,580,212,128 -characters/luna/clothes/accessory/wand_mouth/0.webp:0,0,1,1 -characters/luna/clothes/accessory/wand_mouth/outline.webp:482,426,235,54 -characters/luna/clothes/accessory/wand_pussy/0.webp:0,0,1,1 -characters/luna/clothes/accessory/wand_pussy/outline.webp:497,911,236,51 -characters/luna/clothes/bottom/casual_jeans/0.webp:449,798,256,402 -characters/luna/clothes/bottom/casual_jeans/outline.webp:447,795,258,405 -characters/luna/clothes/bottom/muggle_skirt/0.webp:424,821,293,149 -characters/luna/clothes/bottom/muggle_skirt/1.webp:436,847,179,92 -characters/luna/clothes/bottom/muggle_skirt/2.webp:428,834,284,134 -characters/luna/clothes/bottom/muggle_skirt/3.webp:439,821,254,135 -characters/luna/clothes/bottom/muggle_skirt/4.webp:469,840,233,124 -characters/luna/clothes/bottom/muggle_skirt/5.webp:423,847,274,115 -characters/luna/clothes/bottom/muggle_skirt/outline.webp:422,820,296,152 -characters/luna/clothes/bottom/pajama_1/0.webp:450,816,251,384 -characters/luna/clothes/bottom/pajama_1/1.webp:534,606,190,249 -characters/luna/clothes/bottom/pajama_1/outline.webp:449,659,253,541 -characters/luna/clothes/bottom/police_skirt/0.webp:440,789,269,200 -characters/luna/clothes/bottom/police_skirt/outline.webp:437,762,273,230 -characters/luna/clothes/bottom/police_skirt/skin.webp:455,931,224,39 -characters/luna/clothes/bottom/school_skirt_1/0.webp:441,764,279,394 -characters/luna/clothes/bottom/school_skirt_1/1.webp:583,794,13,25 -characters/luna/clothes/bottom/school_skirt_1/lift_skirt/0.webp:391,708,320,238 -characters/luna/clothes/bottom/school_skirt_1/lift_skirt/1.webp:579,792,11,25 -characters/luna/clothes/bottom/school_skirt_1/lift_skirt/outline.webp:388,708,326,240 -characters/luna/clothes/bottom/school_skirt_1/lift_skirt/skin.webp:456,808,227,134 -characters/luna/clothes/bottom/school_skirt_1/mask.webp:0,0,1010,1200 -characters/luna/clothes/bottom/school_skirt_1/outline.webp:440,764,281,398 -characters/luna/clothes/bottom/school_skirt_2/0.webp:436,764,280,262 -characters/luna/clothes/bottom/school_skirt_2/1.webp:583,794,13,25 -characters/luna/clothes/bottom/school_skirt_2/lift_skirt/0.webp:782,1416,640,475 -characters/luna/clothes/bottom/school_skirt_2/lift_skirt/1.webp:1158,1585,22,48 -characters/luna/clothes/bottom/school_skirt_2/lift_skirt/outline.webp:777,1416,651,479 -characters/luna/clothes/bottom/school_skirt_2/lift_skirt/skin.webp:913,1617,452,267 -characters/luna/clothes/bottom/school_skirt_2/mask.webp:0,0,1010,1200 -characters/luna/clothes/bottom/school_skirt_2/outline.webp:434,764,284,264 -characters/luna/clothes/bottom/school_skirt_3/0.webp:441,764,266,188 -characters/luna/clothes/bottom/school_skirt_3/1.webp:583,794,13,25 -characters/luna/clothes/bottom/school_skirt_3/lift_skirt/0.webp:782,1416,640,475 -characters/luna/clothes/bottom/school_skirt_3/lift_skirt/1.webp:1158,1585,22,48 -characters/luna/clothes/bottom/school_skirt_3/lift_skirt/outline.webp:777,1416,651,479 -characters/luna/clothes/bottom/school_skirt_3/lift_skirt/skin.webp:913,1617,452,267 -characters/luna/clothes/bottom/school_skirt_3/mask.webp:0,0,1010,1200 -characters/luna/clothes/bottom/school_skirt_3/outline.webp:438,764,270,189 -characters/luna/clothes/bottom/school_skirt_4/0.webp:447,764,251,168 -characters/luna/clothes/bottom/school_skirt_4/1.webp:583,794,13,25 -characters/luna/clothes/bottom/school_skirt_4/lift_skirt/0.webp:782,1416,640,475 -characters/luna/clothes/bottom/school_skirt_4/lift_skirt/1.webp:1158,1585,22,48 -characters/luna/clothes/bottom/school_skirt_4/lift_skirt/outline.webp:777,1416,651,479 -characters/luna/clothes/bottom/school_skirt_4/lift_skirt/skin.webp:913,1617,452,267 -characters/luna/clothes/bottom/school_skirt_4/mask.webp:0,0,1010,1200 -characters/luna/clothes/bottom/school_skirt_4/outline.webp:445,764,255,159 -characters/luna/clothes/bottom/summer_shorts/0.webp:448,829,255,127 -characters/luna/clothes/bottom/summer_shorts/1.webp:448,914,255,42 -characters/luna/clothes/bottom/summer_shorts/2.webp:532,865,13,11 -characters/luna/clothes/bottom/summer_shorts/outline.webp:447,827,257,131 -characters/luna/clothes/bottom/summer_shorts/skin.webp:456,832,234,126 -characters/luna/clothes/bra/basic_bra_1/0.webp:450,509,225,203 -characters/luna/clothes/bra/basic_bra_1/1.webp:465,603,177,87 -characters/luna/clothes/bra/basic_bra_1/2.webp:519,664,38,35 -characters/luna/clothes/bra/basic_bra_1/extra.webp:451,597,168,90 -characters/luna/clothes/bra/basic_bra_1/outline.webp:448,508,229,205 -characters/luna/clothes/bra/basic_bra_1/skin.webp:491,541,164,175 -characters/luna/clothes/bra/basic_bra_2/0.webp:452,510,223,202 -characters/luna/clothes/bra/basic_bra_2/1.webp:524,671,30,28 -characters/luna/clothes/bra/basic_bra_2/extra.webp:451,602,197,90 -characters/luna/clothes/bra/basic_bra_2/outline.webp:448,508,229,205 -characters/luna/clothes/bra/basic_bra_2/skin.webp:488,541,176,175 -characters/luna/clothes/bra/bikini_bra_3/0.webp:449,620,159,65 -characters/luna/clothes/bra/bikini_bra_3/1.webp:453,613,155,72 -characters/luna/clothes/bra/bikini_bra_3/extra.webp:449,624,146,54 -characters/luna/clothes/bra/bikini_bra_3/outline.webp:448,488,220,198 -characters/luna/clothes/bra/lace_bra_1/0.webp:447,628,225,93 -characters/luna/clothes/bra/lace_bra_1/1.webp:452,628,217,83 -characters/luna/clothes/bra/lace_bra_1/outline.webp:447,626,224,87 -characters/luna/clothes/bra/lace_bra_1/skin.webp:461,612,202,101 -characters/luna/clothes/glasses/spectrespecs/0.webp:493,345,153,66 -characters/luna/clothes/glasses/spectrespecs/1.webp:493,348,152,62 -characters/luna/clothes/glasses/spectrespecs/extra.webp:507,347,125,40 -characters/luna/clothes/glasses/spectrespecs/outline.webp:492,344,155,68 -characters/luna/clothes/glasses/sunglasses_2/0.webp:500,359,129,50 -characters/luna/clothes/glasses/sunglasses_2/1.webp:507,362,116,44 -characters/luna/clothes/glasses/sunglasses_2/extra.webp:499,359,124,44 -characters/luna/clothes/glasses/sunglasses_2/outline.webp:499,358,130,52 -characters/luna/clothes/gloves/harley_quinn/0.webp:292,582,597,81 -characters/luna/clothes/gloves/harley_quinn/extra.webp:293,583,553,53 -characters/luna/clothes/gloves/harley_quinn/outline.webp:292,581,599,82 -characters/luna/clothes/hair/base/0.webp:480,244,255,257 -characters/luna/clothes/hair/base/0_back.webp:459,357,301,445 -characters/luna/clothes/hair/base/1.webp:488,243,246,257 -characters/luna/clothes/hair/base/1_back.webp:461,356,299,445 -characters/luna/clothes/hair/base/2.webp:705,425,18,19 -characters/luna/clothes/hair/base/outline.webp:474,238,265,264 -characters/luna/clothes/hair/base/outline_back.webp:454,351,315,455 -characters/luna/clothes/hair/base/skin.webp:516,305,114,95 -characters/luna/clothes/hair/harley_quinn/0.webp:489,262,262,293 -characters/luna/clothes/hair/harley_quinn/1.webp:494,265,253,289 -characters/luna/clothes/hair/harley_quinn/2.webp:677,288,66,260 -characters/luna/clothes/hair/harley_quinn/3.webp:515,431,55,91 -characters/luna/clothes/hair/harley_quinn/4.webp:665,296,14,30 -characters/luna/clothes/hair/harley_quinn/extra.webp:508,261,239,252 -characters/luna/clothes/hair/harley_quinn/outline.webp:478,260,274,296 -characters/luna/clothes/hair/harley_quinn/skin.webp:528,318,99,77 -characters/luna/clothes/hair/wand/0.webp:480,244,360,260 -characters/luna/clothes/hair/wand/0_back.webp:459,357,301,445 -characters/luna/clothes/hair/wand/1.webp:488,243,352,260 -characters/luna/clothes/hair/wand/1_back.webp:461,356,299,445 -characters/luna/clothes/hair/wand/2.webp:705,425,18,19 -characters/luna/clothes/hair/wand/extra.webp:606,325,210,120 -characters/luna/clothes/hair/wand/outline.webp:474,238,368,272 -characters/luna/clothes/hair/wand/outline_back.webp:454,351,315,455 -characters/luna/clothes/hair/wand/skin.webp:516,305,114,95 -characters/luna/clothes/headgear/flight_attendant/0.webp:565,225,127,74 -characters/luna/clothes/headgear/flight_attendant/outline.webp:564,224,130,76 -characters/luna/clothes/neckwear/cork/0.webp:0,0,1,1 -characters/luna/clothes/neckwear/cork/outline.webp:557,492,387,235 -characters/luna/clothes/neckwear/neckerchief/0.webp:584,483,103,52 -characters/luna/clothes/neckwear/neckerchief/outline.webp:583,481,105,55 -characters/luna/clothes/neckwear/tie/0.webp:515,483,146,280 -characters/luna/clothes/neckwear/tie/1.webp:514,496,144,282 -characters/luna/clothes/neckwear/tie/extra.webp:515,538,71,239 -characters/luna/clothes/neckwear/tie/outline.webp:513,478,151,300 -characters/luna/clothes/neckwear/tie/skin.webp:528,543,102,237 -characters/luna/clothes/panties/basic_panties_1/0.webp:458,827,238,107 -characters/luna/clothes/panties/basic_panties_1/1.webp:458,832,238,82 -characters/luna/clothes/panties/basic_panties_1/2.webp:523,851,35,32 -characters/luna/clothes/panties/basic_panties_1/extra.webp:459,827,237,66 -characters/luna/clothes/panties/basic_panties_1/outline.webp:458,826,239,109 -characters/luna/clothes/panties/basic_panties_1/skin.webp:458,817,238,82 -characters/luna/clothes/panties/basic_panties_2/0.webp:458,827,238,107 -characters/luna/clothes/panties/basic_panties_2/1.webp:526,849,26,27 -characters/luna/clothes/panties/basic_panties_2/extra.webp:459,827,237,57 -characters/luna/clothes/panties/basic_panties_2/outline.webp:458,826,239,109 -characters/luna/clothes/panties/basic_panties_2/skin.webp:458,817,238,82 -characters/luna/clothes/panties/bikini_panties_3/0.webp:531,899,31,37 -characters/luna/clothes/panties/bikini_panties_3/1.webp:469,849,94,82 -characters/luna/clothes/panties/bikini_panties_3/outline.webp:460,833,216,103 -characters/luna/clothes/panties/flight_attendant_thongs_1/0.webp:464,830,221,105 -characters/luna/clothes/panties/flight_attendant_thongs_1/outline.webp:462,825,225,111 -characters/luna/clothes/panties/flight_attendant_thongs_2/0.webp:464,829,222,136 -characters/luna/clothes/panties/flight_attendant_thongs_2/1.webp:533,915,31,28 -characters/luna/clothes/panties/flight_attendant_thongs_2/outline.webp:462,825,225,142 -characters/luna/clothes/panties/flight_attendant_thongs_2/skin.webp:531,920,33,16 -characters/luna/clothes/panties/lace_panties_1/0.webp:454,849,242,87 -characters/luna/clothes/panties/lace_panties_1/1.webp:454,851,243,78 -characters/luna/clothes/panties/lace_panties_1/outline.webp:452,848,247,89 -characters/luna/clothes/panties/lace_panties_1/skin.webp:454,838,243,74 -characters/luna/clothes/panties/lace_panties_2/0.webp:469,825,210,110 -characters/luna/clothes/panties/lace_panties_2/1.webp:508,871,91,62 -characters/luna/clothes/panties/lace_panties_2/2.webp:493,862,113,25 -characters/luna/clothes/panties/lace_panties_2/outline.webp:468,823,212,114 -characters/luna/clothes/pubes/arrow/0.webp:525,872,39,51 -characters/luna/clothes/pubes/arrow/outline.webp:525,874,34,44 -characters/luna/clothes/pubes/beaver/0.webp:514,853,64,88 -characters/luna/clothes/pubes/beaver/outline.webp:516,857,58,87 -characters/luna/clothes/pubes/stuble/0.webp:524,894,49,32 -characters/luna/clothes/pubes/unshaved/0.webp:526,891,42,41 -characters/luna/clothes/robe/harley_quinn/0.webp:397,453,391,349 -characters/luna/clothes/robe/harley_quinn/1.webp:460,452,172,349 -characters/luna/clothes/robe/harley_quinn/2.webp:463,474,196,315 -characters/luna/clothes/robe/harley_quinn/3.webp:602,579,186,205 -characters/luna/clothes/robe/harley_quinn/4.webp:396,514,161,281 -characters/luna/clothes/robe/harley_quinn/outline.webp:395,451,395,352 -characters/luna/clothes/robe/muggle_jacket/0.webp:360,477,461,314 -characters/luna/clothes/robe/muggle_jacket/1.webp:594,563,26,74 -characters/luna/clothes/robe/muggle_jacket/outline.webp:359,476,463,376 -characters/luna/clothes/robe/robe_school_1/0.webp:436,536,360,664 -characters/luna/clothes/robe/robe_school_1/0_back.webp:0,0,0,0 -characters/luna/clothes/robe/robe_school_1/1.webp:491,479,248,404 -characters/luna/clothes/robe/robe_school_1/1_back.webp:444,670,305,213 -characters/luna/clothes/robe/robe_school_1/mask.webp:0,0,1010,1200 -characters/luna/clothes/robe/robe_school_1/outline.webp:434,476,364,724 -characters/luna/clothes/robe/robe_school_1/outline_back.webp:441,665,311,220 -characters/luna/clothes/robe/robe_school_2/0.webp:436,536,360,664 -characters/luna/clothes/robe/robe_school_2/0_back.webp:0,0,0,0 -characters/luna/clothes/robe/robe_school_2/1.webp:491,479,248,404 -characters/luna/clothes/robe/robe_school_2/1_back.webp:444,670,305,530 -characters/luna/clothes/robe/robe_school_2/extra.webp:411,697,284,503 -characters/luna/clothes/robe/robe_school_2/mask.webp:0,0,1010,1200 -characters/luna/clothes/robe/robe_school_2/outline.webp:434,476,364,724 -characters/luna/clothes/robe/robe_school_2/outline_back.webp:441,665,311,535 -characters/luna/clothes/robe/robe_school_3/0.webp:436,536,360,664 -characters/luna/clothes/robe/robe_school_3/0_back.webp:0,0,0,0 -characters/luna/clothes/robe/robe_school_3/1.webp:491,479,248,404 -characters/luna/clothes/robe/robe_school_3/1_back.webp:444,670,305,530 -characters/luna/clothes/robe/robe_school_3/extra.webp:331,640,452,560 -characters/luna/clothes/robe/robe_school_3/mask.webp:0,0,1010,1200 -characters/luna/clothes/robe/robe_school_3/outline.webp:434,476,364,724 -characters/luna/clothes/robe/robe_school_3/outline_back.webp:441,665,311,535 -characters/luna/clothes/robe/robe_school_4/0.webp:453,613,342,587 -characters/luna/clothes/robe/robe_school_4/0_back.webp:394,675,95,525 -characters/luna/clothes/robe/robe_school_4/1.webp:441,568,309,301 -characters/luna/clothes/robe/robe_school_4/1_back.webp:432,653,324,547 -characters/luna/clothes/robe/robe_school_4/mask.webp:0,0,1010,1200 -characters/luna/clothes/robe/robe_school_4/outline.webp:439,565,359,635 -characters/luna/clothes/robe/robe_school_4/outline_back.webp:392,673,366,527 -characters/luna/clothes/stockings/harley_quinn/0.webp:454,770,242,430 -characters/luna/clothes/stockings/harley_quinn/outline.webp:450,767,251,433 -characters/luna/clothes/stockings/muggle_knee_socks/0.webp:490,1058,157,142 -characters/luna/clothes/stockings/muggle_knee_socks/1.webp:479,1037,161,58 -characters/luna/clothes/stockings/muggle_knee_socks/2.webp:469,1006,193,62 -characters/luna/clothes/stockings/muggle_knee_socks/outline.webp:465,1003,201,197 -characters/luna/clothes/stockings/pantyhose_1/0.webp:451,777,251,423 -characters/luna/clothes/stockings/pantyhose_1/extra.webp:455,778,219,422 -characters/luna/clothes/stockings/pantyhose_1/outline.webp:451,771,251,429 -characters/luna/clothes/stockings/pantyhose_meshed/0.webp:451,773,248,427 -characters/luna/clothes/stockings/pantyhose_meshed/outline.webp:451,771,251,429 -characters/luna/clothes/stockings/police_thigh_highs/0.webp:462,981,193,219 -characters/luna/clothes/stockings/police_thigh_highs/1.webp:494,982,75,185 -characters/luna/clothes/stockings/police_thigh_highs/outline.webp:460,981,199,219 -characters/luna/clothes/stockings/short_school_1/0.webp:479,1035,170,165 -characters/luna/clothes/stockings/short_school_1/1.webp:488,1064,140,130 -characters/luna/clothes/stockings/short_school_1/extra.webp:479,1035,152,165 -characters/luna/clothes/stockings/short_school_1/outline.webp:471,1012,187,188 -characters/luna/clothes/stockings/short_school_1/skin.webp:475,1024,154,27 -characters/luna/clothes/stockings/short_school_2/0.webp:479,1035,170,165 -characters/luna/clothes/stockings/short_school_2/extra.webp:479,1035,152,165 -characters/luna/clothes/stockings/short_school_2/outline.webp:471,1012,187,188 -characters/luna/clothes/stockings/short_school_2/skin.webp:475,1024,154,27 -characters/luna/clothes/tattoo/baby_oven/0.webp:509,822,64,48 -characters/luna/clothes/tattoo/baby_oven/1.webp:507,836,76,82 -characters/luna/clothes/tattoo/baby_oven/outline.webp:506,835,78,84 -characters/luna/clothes/tattoo/cumdump/0.webp:618,832,72,78 -characters/luna/clothes/tattoo/lab_rat/0.webp:482,593,149,48 -characters/luna/clothes/tattoo/loony/0.webp:522,885,52,32 -characters/luna/clothes/tattoo/measure/0.webp:529,834,35,86 -characters/luna/clothes/tattoo/measure/1.webp:517,816,49,42 -characters/luna/clothes/tattoo/measure/outline.webp:517,815,50,108 -characters/luna/clothes/tattoo/spurt_here/0.webp:517,864,54,53 -characters/luna/clothes/top/casual_sweater/0.webp:331,487,523,395 -characters/luna/clothes/top/casual_sweater/1.webp:483,607,153,173 -characters/luna/clothes/top/casual_sweater/outline.webp:329,486,526,396 -characters/luna/clothes/top/flight_attendant_1/0.webp:446,598,256,366 -characters/luna/clothes/top/flight_attendant_1/1.webp:517,513,223,395 -characters/luna/clothes/top/flight_attendant_1/outline.webp:446,510,297,451 -characters/luna/clothes/top/flight_attendant_1/skin.webp:456,543,272,427 -characters/luna/clothes/top/flight_attendant_2/0.webp:448,597,254,327 -characters/luna/clothes/top/flight_attendant_2/1.webp:517,513,223,395 -characters/luna/clothes/top/flight_attendant_2/outline.webp:448,510,295,414 -characters/luna/clothes/top/flight_attendant_2/skin.webp:455,543,274,386 -characters/luna/clothes/top/harley_quinn/0.webp:449,476,239,459 -characters/luna/clothes/top/harley_quinn/1.webp:547,495,57,124 -characters/luna/clothes/top/harley_quinn/2.webp:471,560,163,323 -characters/luna/clothes/top/harley_quinn/3.webp:498,538,142,355 -characters/luna/clothes/top/harley_quinn/extra.webp:450,520,200,372 -characters/luna/clothes/top/harley_quinn/outline.webp:449,472,244,465 -characters/luna/clothes/top/muggle_top/0.webp:445,591,226,137 -characters/luna/clothes/top/muggle_top/1.webp:495,588,137,59 -characters/luna/clothes/top/muggle_top/outline.webp:446,513,234,217 -characters/luna/clothes/top/nightie_1/0.webp:446,511,268,461 -characters/luna/clothes/top/nightie_1/extra.webp:447,518,267,426 -characters/luna/clothes/top/nightie_1/outline.webp:445,509,271,464 -characters/luna/clothes/top/nightie_2/0.webp:448,510,254,490 -characters/luna/clothes/top/nightie_2/extra.webp:448,532,254,467 -characters/luna/clothes/top/nightie_2/outline.webp:447,507,256,494 -characters/luna/clothes/top/pajama_1/0.webp:449,462,289,424 -characters/luna/clothes/top/pajama_1/1.webp:525,600,34,251 -characters/luna/clothes/top/pajama_1/extra.webp:449,463,289,423 -characters/luna/clothes/top/pajama_1/outline.webp:448,461,299,426 -characters/luna/clothes/top/pajama_1/skin.webp:461,539,246,351 -characters/luna/clothes/top/party_dress/0.webp:423,508,314,504 -characters/luna/clothes/top/party_dress/1.webp:424,653,312,359 -characters/luna/clothes/top/party_dress/outline.webp:422,507,315,507 -characters/luna/clothes/top/party_dress/skin.webp:468,540,259,469 -characters/luna/clothes/top/police_shirt/0.webp:448,481,285,345 -characters/luna/clothes/top/police_shirt/1.webp:513,633,34,133 -characters/luna/clothes/top/police_shirt/outline.webp:447,480,286,291 -characters/luna/clothes/top/police_shirt/skin.webp:502,531,125,246 -characters/luna/clothes/top/summer_top_1/0.webp:450,512,235,250 -characters/luna/clothes/top/summer_top_1/outline.webp:449,510,237,254 -characters/luna/clothes/top/summer_top_1/skin.webp:500,517,191,251 -characters/luna/clothes/top/summer_top_2/0.webp:452,512,232,159 -characters/luna/clothes/top/summer_top_2/outline.webp:451,511,234,161 -characters/luna/clothes/top/summer_top_2/skin.webp:458,517,233,157 -characters/luna/clothes/top/swimsuit_1/0.webp:448,511,231,423 -characters/luna/clothes/top/swimsuit_1/1.webp:521,511,158,191 -characters/luna/clothes/top/swimsuit_1/extra.webp:447,595,213,338 -characters/luna/clothes/top/swimsuit_1/outline.webp:447,509,233,426 -characters/luna/clothes/top/swimsuit_1/skin.webp:474,525,202,344 -characters/luna/clothes/top/top_school_1/0.webp:501,461,244,205 -characters/luna/clothes/top/top_school_1/0_front.webp:614,461,54,103 -characters/luna/clothes/top/top_school_1/1.webp:447,507,257,348 -characters/luna/clothes/top/top_school_1/2.webp:478,510,265,344 -characters/luna/clothes/top/top_school_1/3.webp:469,503,273,352 -characters/luna/clothes/top/top_school_1/extra.webp:447,527,223,314 -characters/luna/clothes/top/top_school_1/outline.webp:445,460,301,396 -characters/luna/clothes/top/top_school_1/outline_front.webp:616,460,59,105 -characters/luna/clothes/top/top_school_1/skin.webp:648,649,82,200 -characters/luna/clothes/top/top_school_2/0.webp:501,461,244,205 -characters/luna/clothes/top/top_school_2/0_front.webp:614,461,54,103 -characters/luna/clothes/top/top_school_2/1.webp:447,507,257,348 -characters/luna/clothes/top/top_school_2/2.webp:478,510,265,344 -characters/luna/clothes/top/top_school_2/3.webp:469,503,273,352 -characters/luna/clothes/top/top_school_2/extra.webp:447,506,239,335 -characters/luna/clothes/top/top_school_2/outline.webp:445,460,301,396 -characters/luna/clothes/top/top_school_2/outline_front.webp:616,460,59,105 -characters/luna/clothes/top/top_school_2/skin.webp:648,649,82,200 -characters/luna/clothes/top/top_school_3/0.webp:482,474,263,414 -characters/luna/clothes/top/top_school_3/0_front.webp:624,474,42,81 -characters/luna/clothes/top/top_school_3/1.webp:447,507,257,348 -characters/luna/clothes/top/top_school_3/2.webp:478,509,265,345 -characters/luna/clothes/top/top_school_3/3.webp:469,503,273,352 -characters/luna/clothes/top/top_school_3/extra.webp:447,527,223,350 -characters/luna/clothes/top/top_school_3/outline.webp:445,472,301,421 -characters/luna/clothes/top/top_school_3/outline_front.webp:623,472,44,84 -characters/luna/clothes/top/top_school_3/skin.webp:535,535,195,314 -characters/luna/clothes/top/top_school_4/0.webp:449,461,296,332 -characters/luna/clothes/top/top_school_4/0_front.webp:530,461,138,104 -characters/luna/clothes/top/top_school_4/1.webp:492,555,251,220 -characters/luna/clothes/top/top_school_4/2.webp:492,532,250,256 -characters/luna/clothes/top/top_school_4/extra.webp:493,523,193,264 -characters/luna/clothes/top/top_school_4/outline.webp:446,460,300,335 -characters/luna/clothes/top/top_school_4/outline_front.webp:528,460,141,105 -characters/luna/clothes/top/top_school_4/skin.webp:648,648,82,201 -characters/luna/clothes/top/top_school_5/0.webp:449,461,296,332 -characters/luna/clothes/top/top_school_5/0_front.webp:530,461,138,130 -characters/luna/clothes/top/top_school_5/1.webp:664,615,79,40 -characters/luna/clothes/top/top_school_5/2.webp:664,622,78,26 -characters/luna/clothes/top/top_school_5/extra.webp:526,506,160,250 -characters/luna/clothes/top/top_school_5/outline.webp:446,460,300,335 -characters/luna/clothes/top/top_school_5/outline_front.webp:529,460,140,134 -characters/luna/clothes/top/top_school_5/skin.webp:648,648,82,201 -characters/luna/clothes/top/top_school_6/0.webp:449,474,296,319 -characters/luna/clothes/top/top_school_6/0_front.webp:521,474,145,133 -characters/luna/clothes/top/top_school_6/1.webp:664,615,79,40 -characters/luna/clothes/top/top_school_6/2.webp:664,622,78,26 -characters/luna/clothes/top/top_school_6/extra.webp:526,523,160,233 -characters/luna/clothes/top/top_school_6/outline.webp:446,472,300,323 -characters/luna/clothes/top/top_school_6/outline_front.webp:520,472,147,135 -characters/luna/clothes/top/top_school_6/skin.webp:536,535,194,314 -characters/luna/clothes/top/top_school_crop/0.webp:449,474,296,258 -characters/luna/clothes/top/top_school_crop/1.webp:664,615,79,40 -characters/luna/clothes/top/top_school_crop/2.webp:664,622,78,26 -characters/luna/clothes/top/top_school_crop/outline.webp:446,472,300,261 -characters/luna/clothes/top/top_school_crop/skin.webp:490,532,240,317 -characters/luna/clothes/top/top_school_vest/0.webp:447,507,257,348 -characters/luna/clothes/top/top_school_vest/1.webp:478,509,214,345 -characters/luna/clothes/top/top_school_vest/2.webp:469,503,236,352 -characters/luna/clothes/top/top_school_vest/extra.webp:447,527,223,314 -characters/luna/clothes/top/top_school_vest/outline.webp:445,500,262,356 -characters/luna/clothes/top/top_school_vest/skin.webp:534,532,60,140 -characters/luna/cum/body/heavy.webp:458,472,255,320 -characters/luna/cum/body/light.webp:532,510,181,282 -characters/luna/cum/breasts/heavy.webp:448,538,194,169 -characters/luna/cum/breasts/light.webp:532,552,89,149 -characters/luna/cum/crotch/heavy.webp:459,769,181,252 -characters/luna/cum/crotch/light.webp:501,769,73,154 -characters/luna/cum/face/heavy.webp:512,382,126,132 -characters/luna/cum/face/light.webp:597,393,33,72 -characters/luna/cum/hair/heavy.webp:478,247,190,169 -characters/luna/cum/hair/light.webp:496,263,117,100 -characters/luna/cum/legs/heavy.webp:457,860,215,340 -characters/luna/cum/legs/light.webp:510,860,146,191 -characters/luna/cum/pussy/heavy.webp:537,923,21,114 -characters/luna/cum/pussy/light.webp:537,923,20,44 -characters/luna/cum/pussy/squirt.webp:514,921,49,139 -characters/luna/cum/pussy/squirt_post.webp:477,913,91,130 -characters/luna/cum/pussy/wet.webp:545,921,17,24 -characters/luna/emote/angry.webp:602,319,45,43 -characters/luna/emote/confused.webp:449,166,129,101 -characters/luna/emote/happy.webp:472,135,131,127 -characters/luna/emote/hearts.webp:428,118,175,146 -characters/luna/emote/shocked.webp:437,140,136,128 -characters/luna/emote/sweat.webp:597,304,42,67 -characters/luna/face/cheeks/blush.webp:512,377,126,59 -characters/luna/face/eyebrows/angry.webp:514,350,109,23 -characters/luna/face/eyebrows/angry_skin.webp:516,349,111,41 -characters/luna/face/eyebrows/annoyed.webp:515,348,108,19 -characters/luna/face/eyebrows/annoyed_skin.webp:516,349,111,41 -characters/luna/face/eyebrows/base.webp:515,349,108,16 -characters/luna/face/eyebrows/base_skin.webp:516,349,111,41 -characters/luna/face/eyebrows/low.webp:513,356,109,15 -characters/luna/face/eyebrows/low_skin.webp:516,349,111,41 -characters/luna/face/eyebrows/raised.webp:514,341,107,27 -characters/luna/face/eyebrows/raised_skin.webp:516,349,111,41 -characters/luna/face/eyebrows/worried.webp:513,348,111,23 -characters/luna/face/eyebrows/worried_skin.webp:516,349,111,41 -characters/luna/face/eyes/base.webp:517,360,107,36 -characters/luna/face/eyes/base_mask.webp:526,370,88,19 -characters/luna/face/eyes/base_skin.webp:522,378,103,15 -characters/luna/face/eyes/closed.webp:521,361,103,32 -characters/luna/face/eyes/closed_skin.webp:522,378,103,15 -characters/luna/face/eyes/happyCl.webp:517,365,108,23 -characters/luna/face/eyes/happyCl_skin.webp:523,378,98,14 -characters/luna/face/eyes/narrow.webp:519,360,105,36 -characters/luna/face/eyes/narrow_mask.webp:526,371,87,18 -characters/luna/face/eyes/narrow_skin.webp:522,378,103,15 -characters/luna/face/eyes/wide.webp:519,358,107,34 -characters/luna/face/eyes/wide_mask.webp:526,363,92,27 -characters/luna/face/eyes/wide_skin.webp:522,378,103,15 -characters/luna/face/eyes/wink.webp:517,360,107,31 -characters/luna/face/eyes/wink_mask.webp:582,370,32,18 -characters/luna/face/eyes/wink_skin.webp:523,378,102,15 -characters/luna/face/mouth/angry.webp:546,431,45,26 -characters/luna/face/mouth/annoyed.webp:539,432,33,17 -characters/luna/face/mouth/base.webp:546,436,47,17 -characters/luna/face/mouth/clench.webp:543,433,47,28 -characters/luna/face/mouth/crooked_smile.webp:543,432,48,26 -characters/luna/face/mouth/disgust.webp:549,442,48,21 -characters/luna/face/mouth/full.webp:512,397,140,79 -characters/luna/face/mouth/grin.webp:546,430,43,26 -characters/luna/face/mouth/mad.webp:542,431,47,31 -characters/luna/face/mouth/normal.webp:546,436,33,17 -characters/luna/face/mouth/open.webp:550,433,30,30 -characters/luna/face/mouth/open_tongue.webp:550,433,30,30 -characters/luna/face/mouth/open_wide_tongue.webp:543,428,78,58 -characters/luna/face/mouth/scream.webp:543,428,78,58 -characters/luna/face/mouth/shock.webp:537,427,43,42 -characters/luna/face/mouth/silly.webp:541,427,51,36 -characters/luna/face/mouth/smile.webp:541,433,58,31 -characters/luna/face/mouth/soft.webp:548,435,29,24 -characters/luna/face/mouth/upset.webp:546,436,33,17 -characters/luna/face/pupils/L.webp:527,366,73,23 -characters/luna/face/pupils/R.webp:535,367,75,22 -characters/luna/face/pupils/ahegao.webp:535,361,67,24 -characters/luna/face/pupils/dead.webp:532,362,74,23 -characters/luna/face/pupils/down.webp:532,375,72,23 -characters/luna/face/pupils/downL.webp:529,375,72,23 -characters/luna/face/pupils/downR.webp:537,375,74,23 -characters/luna/face/pupils/mid.webp:534,365,74,22 -characters/luna/face/pupils/squint.webp:536,367,64,23 -characters/luna/face/pupils/stare.webp:531,366,74,22 -characters/luna/face/pupils/up.webp:531,363,74,23 -characters/luna/face/tears/crying.webp:528,378,108,50 -characters/luna/face/tears/crying_blink.webp:514,374,122,54 -characters/luna/face/tears/mascara.webp:524,376,116,112 -characters/luna/face/tears/messy.webp:524,380,110,94 -characters/luna/face/tears/soft.webp:524,374,94,26 -characters/luna/poses/masturbate/body/armleft/up.webp:0,0,0,0 -characters/luna/poses/masturbate/body/armright/up.webp:0,0,0,0 -characters/luna/poses/masturbate/body/base/front.webp:324,290,568,910 -characters/luna/poses/masturbate/body/breasts/normal.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/0.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/1.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/bottom/school_skirt_2/outline.webp:424,769,298,217 -characters/luna/poses/masturbate/clothes/hair/base/0.webp:480,244,255,257 -characters/luna/poses/masturbate/clothes/hair/base/0_back.webp:459,357,301,445 -characters/luna/poses/masturbate/clothes/hair/base/1.webp:488,243,246,257 -characters/luna/poses/masturbate/clothes/hair/base/1_back.webp:461,356,299,445 -characters/luna/poses/masturbate/clothes/hair/base/2.webp:705,425,18,19 -characters/luna/poses/masturbate/clothes/hair/base/outline.webp:474,238,265,264 -characters/luna/poses/masturbate/clothes/hair/base/outline_back.webp:454,351,315,455 -characters/luna/poses/masturbate/clothes/hair/base/skin.webp:516,305,114,95 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/0.webp:489,262,262,293 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/1.webp:494,265,253,289 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/2.webp:677,288,66,260 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/3.webp:515,431,55,91 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/4.webp:665,296,14,30 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/extra.webp:508,261,239,252 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/outline.webp:478,260,274,296 -characters/luna/poses/masturbate/clothes/hair/harley_quinn/skin.webp:528,318,99,77 -characters/luna/poses/masturbate/clothes/hair/wand/0.webp:480,244,360,260 -characters/luna/poses/masturbate/clothes/hair/wand/0_back.webp:459,357,301,445 -characters/luna/poses/masturbate/clothes/hair/wand/1.webp:488,243,352,260 -characters/luna/poses/masturbate/clothes/hair/wand/1_back.webp:461,356,299,445 -characters/luna/poses/masturbate/clothes/hair/wand/2.webp:705,425,18,19 -characters/luna/poses/masturbate/clothes/hair/wand/extra.webp:606,325,210,120 -characters/luna/poses/masturbate/clothes/hair/wand/outline.webp:474,238,368,272 -characters/luna/poses/masturbate/clothes/hair/wand/outline_back.webp:454,351,315,455 -characters/luna/poses/masturbate/clothes/hair/wand/skin.webp:516,305,114,95 -characters/luna/poses/masturbate/clothes/stockings/short_school_1/0.webp:479,1035,170,165 -characters/luna/poses/masturbate/clothes/stockings/short_school_1/1.webp:488,1064,140,130 -characters/luna/poses/masturbate/clothes/stockings/short_school_1/extra.webp:479,1035,152,165 -characters/luna/poses/masturbate/clothes/stockings/short_school_1/outline.webp:471,1012,187,188 -characters/luna/poses/masturbate/clothes/stockings/short_school_1/skin.webp:475,1024,154,27 -characters/luna/poses/masturbate/clothes/top/top_school_1/0.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/top/top_school_1/1.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/top/top_school_1/2.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/top/top_school_1/3.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/top/top_school_1/extra.webp:0,0,0,0 -characters/luna/poses/masturbate/clothes/top/top_school_1/outline.webp:388,462,346,490 -characters/luna/poses/masturbate/cum/pussy/squirt.webp:472,930,89,130 -characters/luna/poses/masturbate/cum/pussy/squirt_post.webp:477,930,91,113 -characters/luna/poses/masturbate/cum/pussy/wet.webp:538,939,20,17 -characters/luna/poses/masturbate/face/cheeks/blush.webp:512,377,126,59 -characters/luna/poses/masturbate/face/eyebrows/angry.webp:514,350,109,23 -characters/luna/poses/masturbate/face/eyebrows/angry_skin.webp:516,349,111,41 -characters/luna/poses/masturbate/face/eyebrows/annoyed.webp:515,348,108,19 -characters/luna/poses/masturbate/face/eyebrows/annoyed_skin.webp:516,349,111,41 -characters/luna/poses/masturbate/face/eyebrows/base.webp:515,349,108,16 -characters/luna/poses/masturbate/face/eyebrows/base_skin.webp:516,349,111,41 -characters/luna/poses/masturbate/face/eyebrows/low.webp:513,356,109,15 -characters/luna/poses/masturbate/face/eyebrows/low_skin.webp:516,349,111,41 -characters/luna/poses/masturbate/face/eyebrows/raised.webp:514,341,107,27 -characters/luna/poses/masturbate/face/eyebrows/raised_skin.webp:516,349,111,41 -characters/luna/poses/masturbate/face/eyebrows/worried.webp:513,348,111,23 -characters/luna/poses/masturbate/face/eyebrows/worried_skin.webp:516,349,111,41 -characters/luna/poses/masturbate/face/eyes/base.webp:517,360,107,36 -characters/luna/poses/masturbate/face/eyes/base_mask.webp:526,370,88,19 -characters/luna/poses/masturbate/face/eyes/base_skin.webp:522,378,103,15 -characters/luna/poses/masturbate/face/eyes/closed.webp:521,361,103,32 -characters/luna/poses/masturbate/face/eyes/closed_skin.webp:522,378,103,15 -characters/luna/poses/masturbate/face/eyes/happyCl.webp:517,365,108,23 -characters/luna/poses/masturbate/face/eyes/happyCl_skin.webp:523,378,98,14 -characters/luna/poses/masturbate/face/eyes/narrow.webp:519,360,105,36 -characters/luna/poses/masturbate/face/eyes/narrow_mask.webp:526,371,87,18 -characters/luna/poses/masturbate/face/eyes/narrow_skin.webp:522,378,103,15 -characters/luna/poses/masturbate/face/eyes/wide.webp:519,358,107,34 -characters/luna/poses/masturbate/face/eyes/wide_mask.webp:526,363,92,27 -characters/luna/poses/masturbate/face/eyes/wide_skin.webp:522,378,103,15 -characters/luna/poses/masturbate/face/eyes/wink.webp:517,360,107,31 -characters/luna/poses/masturbate/face/eyes/wink_mask.webp:582,370,32,18 -characters/luna/poses/masturbate/face/eyes/wink_skin.webp:523,378,102,15 -characters/luna/poses/masturbate/face/mouth/angry.webp:546,431,45,26 -characters/luna/poses/masturbate/face/mouth/annoyed.webp:539,432,33,17 -characters/luna/poses/masturbate/face/mouth/base.webp:546,436,47,17 -characters/luna/poses/masturbate/face/mouth/clench.webp:543,433,47,28 -characters/luna/poses/masturbate/face/mouth/crooked_smile.webp:543,432,48,26 -characters/luna/poses/masturbate/face/mouth/disgust.webp:549,442,48,21 -characters/luna/poses/masturbate/face/mouth/full.webp:512,397,140,79 -characters/luna/poses/masturbate/face/mouth/grin.webp:546,430,43,26 -characters/luna/poses/masturbate/face/mouth/mad.webp:542,431,47,31 -characters/luna/poses/masturbate/face/mouth/normal.webp:546,436,33,17 -characters/luna/poses/masturbate/face/mouth/open.webp:550,433,30,30 -characters/luna/poses/masturbate/face/mouth/open_tongue.webp:550,433,30,30 -characters/luna/poses/masturbate/face/mouth/open_wide_tongue.webp:543,428,78,58 -characters/luna/poses/masturbate/face/mouth/scream.webp:543,428,78,58 -characters/luna/poses/masturbate/face/mouth/shock.webp:537,427,43,42 -characters/luna/poses/masturbate/face/mouth/silly.webp:541,427,51,36 -characters/luna/poses/masturbate/face/mouth/smile.webp:541,433,58,31 -characters/luna/poses/masturbate/face/mouth/soft.webp:548,435,29,24 -characters/luna/poses/masturbate/face/mouth/upset.webp:546,436,33,17 -characters/luna/poses/masturbate/face/pupils/L.webp:527,366,73,23 -characters/luna/poses/masturbate/face/pupils/R.webp:535,367,75,22 -characters/luna/poses/masturbate/face/pupils/ahegao.webp:535,361,67,24 -characters/luna/poses/masturbate/face/pupils/dead.webp:532,362,74,23 -characters/luna/poses/masturbate/face/pupils/down.webp:532,375,72,23 -characters/luna/poses/masturbate/face/pupils/downL.webp:529,375,72,23 -characters/luna/poses/masturbate/face/pupils/downR.webp:537,375,74,23 -characters/luna/poses/masturbate/face/pupils/mid.webp:534,365,74,22 -characters/luna/poses/masturbate/face/pupils/squint.webp:536,367,64,23 -characters/luna/poses/masturbate/face/pupils/stare.webp:531,366,74,22 -characters/luna/poses/masturbate/face/pupils/up.webp:531,363,74,23 -characters/luna/poses/masturbate/face/tears/crying.webp:528,378,108,50 -characters/luna/poses/masturbate/face/tears/crying_blink.webp:514,374,122,54 -characters/luna/poses/masturbate/face/tears/mascara.webp:524,376,116,112 -characters/luna/poses/masturbate/face/tears/messy.webp:524,380,110,94 -characters/luna/poses/masturbate/face/tears/soft.webp:524,374,94,26 -characters/luna/poses/masturbate/loadable.webp:0,0,1,1 +characters/luna/poses/default/bodyparts/frame/default/skin.webp:292,289,605,911 +characters/luna/poses/default/clothes/accessory/bracelets/0.webp:373,611,38,57 +characters/luna/poses/default/clothes/accessory/bracelets/1.webp:381,648,43,31 +characters/luna/poses/default/clothes/accessory/bracelets/2.webp:374,636,38,58 +characters/luna/poses/default/clothes/accessory/bracelets/outline.webp:373,610,51,85 +characters/luna/poses/default/clothes/accessory/bracelets/skin.webp:385,647,37,48 +characters/luna/poses/default/clothes/accessory/hair_bug/0.webp:0,0,1010,1010 +characters/luna/poses/default/clothes/accessory/hair_bug/outline.webp:688,352,80,77 +characters/luna/poses/default/clothes/accessory/harley_quinn_strap/0.webp:538,969,127,107 +characters/luna/poses/default/clothes/accessory/harley_quinn_strap/outline.webp:536,968,129,108 +characters/luna/poses/default/clothes/accessory/leash/0.webp:316,482,344,189 +characters/luna/poses/default/clothes/accessory/leash/extra.webp:581,490,28,12 +characters/luna/poses/default/clothes/accessory/leash/outline.webp:314,480,349,194 +characters/luna/poses/default/clothes/accessory/leash/skin.webp:317,481,342,190 +characters/luna/poses/default/clothes/accessory/lionhead/outline_back.webp:448,140,389,681 +characters/luna/poses/default/clothes/accessory/lionhead/outline_zorder_252.webp:324,220,474,975 +characters/luna/poses/default/clothes/accessory/mistletoe/0.webp:515,862,44,37 +characters/luna/poses/default/clothes/accessory/mistletoe/extra.webp:515,874,42,38 +characters/luna/poses/default/clothes/accessory/mistletoe/outline.webp:514,861,46,53 +characters/luna/poses/default/clothes/accessory/onepiece_harness/0.webp:492,476,175,453 +characters/luna/poses/default/clothes/accessory/onepiece_harness/1.webp:492,497,133,354 +characters/luna/poses/default/clothes/accessory/onepiece_harness/outline.webp:491,474,178,463 +characters/luna/poses/default/clothes/accessory/onepiece_harness/skin.webp:491,479,171,455 +characters/luna/poses/default/clothes/accessory/pin_radish/0.webp:588,606,38,34 +characters/luna/poses/default/clothes/accessory/pin_radish/1.webp:594,606,32,23 +characters/luna/poses/default/clothes/accessory/pin_radish/extra.webp:591,622,23,15 +characters/luna/poses/default/clothes/accessory/pin_radish/outline.webp:588,605,38,36 +characters/luna/poses/default/clothes/accessory/police_badge/0.webp:693,553,41,81 +characters/luna/poses/default/clothes/accessory/police_badge/1.webp:688,557,50,57 +characters/luna/poses/default/clothes/accessory/police_badge/outline.webp:692,552,44,84 +characters/luna/poses/default/clothes/accessory/police_belt/0.webp:338,776,339,88 +characters/luna/poses/default/clothes/accessory/police_belt/1.webp:445,780,120,101 +characters/luna/poses/default/clothes/accessory/police_belt/outline.webp:443,779,236,103 +characters/luna/poses/default/clothes/accessory/police_belt/skin.webp:446,780,209,104 +characters/luna/poses/default/clothes/accessory/police_cuffs/0.webp:445,780,69,101 +characters/luna/poses/default/clothes/accessory/police_cuffs/outline.webp:443,779,72,103 +characters/luna/poses/default/clothes/accessory/police_cuffs/skin.webp:454,781,65,103 +characters/luna/poses/default/clothes/accessory/wand_breasts/0.webp:0,0,1010,1010 +characters/luna/poses/default/clothes/accessory/wand_breasts/outline.webp:528,495,74,279 +characters/luna/poses/default/clothes/accessory/wand_hand/0.webp:0,0,1010,1010 +characters/luna/poses/default/clothes/accessory/wand_hand/outline.webp:716,580,212,128 +characters/luna/poses/default/clothes/accessory/wand_mouth/0.webp:0,0,1010,1010 +characters/luna/poses/default/clothes/accessory/wand_mouth/outline.webp:482,426,235,54 +characters/luna/poses/default/clothes/accessory/wand_pussy/0.webp:0,0,1010,1010 +characters/luna/poses/default/clothes/accessory/wand_pussy/outline.webp:497,911,236,51 +characters/luna/poses/default/clothes/bottom/casual_jeans/0.webp:449,798,256,402 +characters/luna/poses/default/clothes/bottom/casual_jeans/outline.webp:447,795,258,405 +characters/luna/poses/default/clothes/bottom/muggle_skirt/0.webp:424,821,293,149 +characters/luna/poses/default/clothes/bottom/muggle_skirt/1.webp:436,847,179,92 +characters/luna/poses/default/clothes/bottom/muggle_skirt/2.webp:428,834,284,134 +characters/luna/poses/default/clothes/bottom/muggle_skirt/3.webp:439,821,254,135 +characters/luna/poses/default/clothes/bottom/muggle_skirt/4.webp:469,840,233,124 +characters/luna/poses/default/clothes/bottom/muggle_skirt/5.webp:423,847,274,115 +characters/luna/poses/default/clothes/bottom/muggle_skirt/outline.webp:422,820,296,152 +characters/luna/poses/default/clothes/bottom/pajama_1/0.webp:450,816,251,384 +characters/luna/poses/default/clothes/bottom/pajama_1/1.webp:534,606,190,249 +characters/luna/poses/default/clothes/bottom/pajama_1/outline.webp:449,659,253,541 +characters/luna/poses/default/clothes/bottom/police_skirt/0.webp:440,789,269,200 +characters/luna/poses/default/clothes/bottom/police_skirt/outline.webp:437,762,273,230 +characters/luna/poses/default/clothes/bottom/police_skirt/skin.webp:455,931,224,39 +characters/luna/poses/default/clothes/bottom/school_skirt_1/0.webp:441,764,279,394 +characters/luna/poses/default/clothes/bottom/school_skirt_1/1.webp:583,794,13,25 +characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/0.webp:391,708,320,238 +characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/1.webp:579,792,11,25 +characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/outline.webp:388,708,326,240 +characters/luna/poses/default/clothes/bottom/school_skirt_1/lift_skirt/skin.webp:456,808,227,134 +characters/luna/poses/default/clothes/bottom/school_skirt_1/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/bottom/school_skirt_1/outline.webp:440,764,281,398 +characters/luna/poses/default/clothes/bottom/school_skirt_2/0.webp:436,764,280,262 +characters/luna/poses/default/clothes/bottom/school_skirt_2/1.webp:583,794,13,25 +characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/0.webp:391,708,320,237 +characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/1.webp:579,792,11,24 +characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/outline.webp:388,708,325,239 +characters/luna/poses/default/clothes/bottom/school_skirt_2/lift_skirt/skin.webp:456,808,226,133 +characters/luna/poses/default/clothes/bottom/school_skirt_2/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/bottom/school_skirt_2/outline.webp:434,764,284,264 +characters/luna/poses/default/clothes/bottom/school_skirt_3/0.webp:441,764,266,188 +characters/luna/poses/default/clothes/bottom/school_skirt_3/1.webp:583,794,13,25 +characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/0.webp:391,708,320,237 +characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/1.webp:579,792,11,24 +characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/outline.webp:388,708,325,239 +characters/luna/poses/default/clothes/bottom/school_skirt_3/lift_skirt/skin.webp:456,808,226,133 +characters/luna/poses/default/clothes/bottom/school_skirt_3/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/bottom/school_skirt_3/outline.webp:438,764,270,189 +characters/luna/poses/default/clothes/bottom/school_skirt_4/0.webp:447,764,251,168 +characters/luna/poses/default/clothes/bottom/school_skirt_4/1.webp:583,794,13,25 +characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/0.webp:391,708,320,237 +characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/1.webp:579,792,11,24 +characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/outline.webp:388,708,325,239 +characters/luna/poses/default/clothes/bottom/school_skirt_4/lift_skirt/skin.webp:456,808,226,133 +characters/luna/poses/default/clothes/bottom/school_skirt_4/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/bottom/school_skirt_4/outline.webp:445,764,255,159 +characters/luna/poses/default/clothes/bottom/shorts/0.webp:447,798,255,164 +characters/luna/poses/default/clothes/bottom/shorts/1.webp:471,822,229,112 +characters/luna/poses/default/clothes/bottom/shorts/2.webp:447,782,256,180 +characters/luna/poses/default/clothes/bottom/shorts/outline.webp:446,781,258,184 +characters/luna/poses/default/clothes/bottom/shorts/skin.webp:455,777,234,195 +characters/luna/poses/default/clothes/bottom/shorts_latex/0.webp:453,784,248,416 +characters/luna/poses/default/clothes/bottom/shorts_latex/1.webp:453,786,220,409 +characters/luna/poses/default/clothes/bottom/shorts_latex/extra.webp:453,786,193,336 +characters/luna/poses/default/clothes/bottom/shorts_latex/outline.webp:450,781,253,419 +characters/luna/poses/default/clothes/bottom/skirt_plaid/0.webp:443,802,270,123 +characters/luna/poses/default/clothes/bottom/skirt_plaid/1.webp:447,803,262,133 +characters/luna/poses/default/clothes/bottom/skirt_plaid/2.webp:483,779,170,44 +characters/luna/poses/default/clothes/bottom/skirt_plaid/3.webp:538,803,12,13 +characters/luna/poses/default/clothes/bottom/skirt_plaid/outline.webp:440,776,275,151 +characters/luna/poses/default/clothes/bottom/skirt_plaid/skin.webp:449,766,270,170 +characters/luna/poses/default/clothes/bottom/summer_shorts/0.webp:448,829,255,127 +characters/luna/poses/default/clothes/bottom/summer_shorts/1.webp:448,914,255,42 +characters/luna/poses/default/clothes/bottom/summer_shorts/2.webp:532,865,13,11 +characters/luna/poses/default/clothes/bottom/summer_shorts/outline.webp:447,827,257,131 +characters/luna/poses/default/clothes/bottom/summer_shorts/skin.webp:456,832,234,126 +characters/luna/poses/default/clothes/bottom/trousers_latex/0.webp:453,784,248,416 +characters/luna/poses/default/clothes/bottom/trousers_latex/1.webp:453,786,209,414 +characters/luna/poses/default/clothes/bottom/trousers_latex/extra.webp:453,786,193,395 +characters/luna/poses/default/clothes/bottom/trousers_latex/outline.webp:450,781,253,419 +characters/luna/poses/default/clothes/bra/basic_bra_1/0.webp:450,509,225,203 +characters/luna/poses/default/clothes/bra/basic_bra_1/1.webp:465,603,177,87 +characters/luna/poses/default/clothes/bra/basic_bra_1/2.webp:519,664,38,35 +characters/luna/poses/default/clothes/bra/basic_bra_1/extra.webp:451,597,168,90 +characters/luna/poses/default/clothes/bra/basic_bra_1/outline.webp:448,508,229,205 +characters/luna/poses/default/clothes/bra/basic_bra_1/skin.webp:491,541,164,175 +characters/luna/poses/default/clothes/bra/basic_bra_2/0.webp:452,510,223,202 +characters/luna/poses/default/clothes/bra/basic_bra_2/1.webp:524,671,30,28 +characters/luna/poses/default/clothes/bra/basic_bra_2/extra.webp:451,602,197,90 +characters/luna/poses/default/clothes/bra/basic_bra_2/outline.webp:448,508,229,205 +characters/luna/poses/default/clothes/bra/basic_bra_2/skin.webp:488,541,176,175 +characters/luna/poses/default/clothes/bra/bikini_bra_3/0.webp:449,620,159,65 +characters/luna/poses/default/clothes/bra/bikini_bra_3/1.webp:453,613,155,72 +characters/luna/poses/default/clothes/bra/bikini_bra_3/extra.webp:449,624,146,54 +characters/luna/poses/default/clothes/bra/bikini_bra_3/outline.webp:448,488,220,198 +characters/luna/poses/default/clothes/bra/lace_bra_1/0.webp:447,628,225,93 +characters/luna/poses/default/clothes/bra/lace_bra_1/1.webp:452,628,217,83 +characters/luna/poses/default/clothes/bra/lace_bra_1/outline.webp:447,626,224,87 +characters/luna/poses/default/clothes/bra/lace_bra_1/skin.webp:461,612,202,101 +characters/luna/poses/default/clothes/earrings/bauble_earring/0.webp:632,429,45,45 +characters/luna/poses/default/clothes/earrings/bauble_earring/extra.webp:632,424,46,50 +characters/luna/poses/default/clothes/earrings/bauble_earring/outline.webp:631,412,47,63 +characters/luna/poses/default/clothes/earrings/ear_studs/0.webp:667,376,6,13 +characters/luna/poses/default/clothes/earrings/ear_studs/extra.webp:667,376,5,12 +characters/luna/poses/default/clothes/earrings/ear_studs/outline.webp:666,375,8,15 +characters/luna/poses/default/clothes/earrings/earring_moon/0.webp:647,434,14,18 +characters/luna/poses/default/clothes/earrings/earring_moon/1.webp:647,436,15,21 +characters/luna/poses/default/clothes/earrings/earring_moon/2.webp:652,412,4,23 +characters/luna/poses/default/clothes/earrings/earring_moon/extra.webp:647,433,10,18 +characters/luna/poses/default/clothes/earrings/earring_moon/outline.webp:646,411,17,47 +characters/luna/poses/default/clothes/glasses/spectrespecs/0.webp:493,345,153,66 +characters/luna/poses/default/clothes/glasses/spectrespecs/1.webp:493,348,152,62 +characters/luna/poses/default/clothes/glasses/spectrespecs/extra.webp:507,347,125,40 +characters/luna/poses/default/clothes/glasses/spectrespecs/outline.webp:492,344,155,68 +characters/luna/poses/default/clothes/glasses/sunglasses_2/0_back.webp:511,371,9,8 +characters/luna/poses/default/clothes/glasses/sunglasses_2/0_zorder_150.webp:511,355,118,50 +characters/luna/poses/default/clothes/glasses/sunglasses_2/1_zorder_150.webp:508,351,172,58 +characters/luna/poses/default/clothes/glasses/sunglasses_2/extra_zorder_150.webp:508,351,144,54 +characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_back.webp:509,368,12,12 +characters/luna/poses/default/clothes/glasses/sunglasses_2/outline_zorder_150.webp:507,351,174,59 +characters/luna/poses/default/clothes/glasses/sunglasses_2/skin.webp:518,354,120,57 +characters/luna/poses/default/clothes/gloves/harley_quinn/0.webp:292,582,597,81 +characters/luna/poses/default/clothes/gloves/harley_quinn/extra.webp:293,583,553,53 +characters/luna/poses/default/clothes/gloves/harley_quinn/outline.webp:292,581,599,82 +characters/luna/poses/default/clothes/hair/base/0.webp:480,244,255,257 +characters/luna/poses/default/clothes/hair/base/0_back.webp:459,357,301,445 +characters/luna/poses/default/clothes/hair/base/1.webp:488,243,246,257 +characters/luna/poses/default/clothes/hair/base/1_back.webp:461,356,299,445 +characters/luna/poses/default/clothes/hair/base/2.webp:705,425,18,19 +characters/luna/poses/default/clothes/hair/base/outline.webp:474,238,265,264 +characters/luna/poses/default/clothes/hair/base/outline_back.webp:454,351,315,455 +characters/luna/poses/default/clothes/hair/base/skin.webp:516,305,114,95 +characters/luna/poses/default/clothes/hair/harley_quinn/0.webp:489,262,262,293 +characters/luna/poses/default/clothes/hair/harley_quinn/1.webp:494,265,253,289 +characters/luna/poses/default/clothes/hair/harley_quinn/2.webp:677,288,66,260 +characters/luna/poses/default/clothes/hair/harley_quinn/3.webp:515,431,55,91 +characters/luna/poses/default/clothes/hair/harley_quinn/4.webp:665,296,14,30 +characters/luna/poses/default/clothes/hair/harley_quinn/extra.webp:508,261,239,252 +characters/luna/poses/default/clothes/hair/harley_quinn/outline.webp:478,260,274,296 +characters/luna/poses/default/clothes/hair/harley_quinn/skin.webp:528,318,99,77 +characters/luna/poses/default/clothes/hair/wand/0.webp:480,244,360,260 +characters/luna/poses/default/clothes/hair/wand/0_back.webp:459,357,301,445 +characters/luna/poses/default/clothes/hair/wand/1.webp:488,243,352,260 +characters/luna/poses/default/clothes/hair/wand/1_back.webp:461,356,299,445 +characters/luna/poses/default/clothes/hair/wand/2.webp:705,425,18,19 +characters/luna/poses/default/clothes/hair/wand/extra.webp:606,325,210,120 +characters/luna/poses/default/clothes/hair/wand/outline.webp:474,238,368,272 +characters/luna/poses/default/clothes/hair/wand/outline_back.webp:454,351,315,455 +characters/luna/poses/default/clothes/hair/wand/skin.webp:516,305,114,95 +characters/luna/poses/default/clothes/headgear/antlers/default/0.webp:500,244,218,85 +characters/luna/poses/default/clothes/headgear/antlers/default/1.webp:511,258,190,60 +characters/luna/poses/default/clothes/headgear/antlers/default/2.webp:490,180,229,188 +characters/luna/poses/default/clothes/headgear/antlers/default/extra.webp:544,220,177,30 +characters/luna/poses/default/clothes/headgear/antlers/default/outline.webp:488,179,234,190 +characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/0.webp:473,144,287,144 +characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/1.webp:458,126,310,165 +characters/luna/poses/default/clothes/headgear/bunny_hat_1/default/outline.webp:456,142,313,160 +characters/luna/poses/default/clothes/headgear/flight_attendant/default/0.webp:565,225,127,74 +characters/luna/poses/default/clothes/headgear/flight_attendant/default/outline.webp:564,224,130,76 +characters/luna/poses/default/clothes/makeup/nail_polish/0.webp:326,583,551,40 +characters/luna/poses/default/clothes/makeup/nail_polish/extra.webp:327,583,550,38 +characters/luna/poses/default/clothes/neckwear/chocolate_frog/0.webp:0,0,1010,1010 +characters/luna/poses/default/clothes/neckwear/chocolate_frog/outline.webp:553,484,106,100 +characters/luna/poses/default/clothes/neckwear/chocolate_frog/skin.webp:557,496,100,90 +characters/luna/poses/default/clothes/neckwear/choker_1/0.webp:585,475,68,24 +characters/luna/poses/default/clothes/neckwear/choker_1/outline.webp:523,474,132,71 +characters/luna/poses/default/clothes/neckwear/collar/0.webp:579,476,88,38 +characters/luna/poses/default/clothes/neckwear/collar/1.webp:612,497,13,5 +characters/luna/poses/default/clothes/neckwear/collar/outline.webp:577,474,92,42 +characters/luna/poses/default/clothes/neckwear/collar_1/0.webp:584,482,76,27 +characters/luna/poses/default/clothes/neckwear/collar_1/extra.webp:581,490,28,12 +characters/luna/poses/default/clothes/neckwear/collar_1/outline.webp:578,480,85,30 +characters/luna/poses/default/clothes/neckwear/collar_1/skin.webp:589,481,70,32 +characters/luna/poses/default/clothes/neckwear/cork/0.webp:554,574,30,37 +characters/luna/poses/default/clothes/neckwear/cork/1.webp:567,497,96,79 +characters/luna/poses/default/clothes/neckwear/cork/outline.webp:552,494,113,119 +characters/luna/poses/default/clothes/neckwear/cork/skin.webp:576,542,59,55 +characters/luna/poses/default/clothes/neckwear/neckerchief/0.webp:584,483,103,52 +characters/luna/poses/default/clothes/neckwear/neckerchief/outline.webp:583,481,105,55 +characters/luna/poses/default/clothes/neckwear/tie/0.webp:515,483,146,280 +characters/luna/poses/default/clothes/neckwear/tie/1.webp:514,496,144,282 +characters/luna/poses/default/clothes/neckwear/tie/extra.webp:515,538,71,239 +characters/luna/poses/default/clothes/neckwear/tie/outline.webp:513,478,151,300 +characters/luna/poses/default/clothes/neckwear/tie/skin.webp:528,543,102,237 +characters/luna/poses/default/clothes/panties/basic_panties_1/0.webp:458,827,238,107 +characters/luna/poses/default/clothes/panties/basic_panties_1/1.webp:458,832,238,82 +characters/luna/poses/default/clothes/panties/basic_panties_1/2.webp:523,851,35,32 +characters/luna/poses/default/clothes/panties/basic_panties_1/extra.webp:459,827,237,66 +characters/luna/poses/default/clothes/panties/basic_panties_1/outline.webp:458,826,239,109 +characters/luna/poses/default/clothes/panties/basic_panties_1/skin.webp:458,817,238,82 +characters/luna/poses/default/clothes/panties/basic_panties_2/0.webp:458,827,238,107 +characters/luna/poses/default/clothes/panties/basic_panties_2/1.webp:526,849,26,27 +characters/luna/poses/default/clothes/panties/basic_panties_2/extra.webp:459,827,237,57 +characters/luna/poses/default/clothes/panties/basic_panties_2/outline.webp:458,826,239,109 +characters/luna/poses/default/clothes/panties/basic_panties_2/skin.webp:458,817,238,82 +characters/luna/poses/default/clothes/panties/bikini_panties_3/0.webp:531,899,31,37 +characters/luna/poses/default/clothes/panties/bikini_panties_3/1.webp:469,849,94,82 +characters/luna/poses/default/clothes/panties/bikini_panties_3/outline.webp:460,833,216,103 +characters/luna/poses/default/clothes/panties/flight_attendant_thongs_1/0.webp:464,830,221,105 +characters/luna/poses/default/clothes/panties/flight_attendant_thongs_1/outline.webp:462,825,225,111 +characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/0.webp:464,829,222,136 +characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/1.webp:533,915,31,28 +characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/outline.webp:462,825,225,142 +characters/luna/poses/default/clothes/panties/flight_attendant_thongs_2/skin.webp:531,920,33,16 +characters/luna/poses/default/clothes/panties/lace_panties_1/0.webp:454,849,242,87 +characters/luna/poses/default/clothes/panties/lace_panties_1/1.webp:454,851,243,78 +characters/luna/poses/default/clothes/panties/lace_panties_1/outline.webp:452,848,247,89 +characters/luna/poses/default/clothes/panties/lace_panties_1/skin.webp:454,838,243,74 +characters/luna/poses/default/clothes/panties/lace_panties_2/0.webp:469,825,210,110 +characters/luna/poses/default/clothes/panties/lace_panties_2/1.webp:508,871,91,62 +characters/luna/poses/default/clothes/panties/lace_panties_2/2.webp:493,862,113,25 +characters/luna/poses/default/clothes/panties/lace_panties_2/outline.webp:468,823,212,114 +characters/luna/poses/default/clothes/panties/panties_cumslut/0.webp:490,772,165,139 +characters/luna/poses/default/clothes/panties/panties_cumslut/1.webp:501,753,130,35 +characters/luna/poses/default/clothes/panties/panties_cumslut/extra.webp:510,827,72,56 +characters/luna/poses/default/clothes/panties/panties_cumslut/outline.webp:487,750,173,186 +characters/luna/poses/default/clothes/panties/panties_cumslut/skin.webp:521,820,126,104 +characters/luna/poses/default/clothes/piercing/clit_stud/0.webp:546,923,5,5 +characters/luna/poses/default/clothes/piercing/clit_stud/extra.webp:547,923,3,4 +characters/luna/poses/default/clothes/piercing/clit_stud/outline.webp:546,922,7,7 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/0.webp:605,350,13,13 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/extra.webp:608,350,6,4 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/angry/outline.webp:605,349,13,14 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/0.webp:605,347,13,13 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/extra.webp:607,348,7,3 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/annoyed/outline.webp:605,346,13,14 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/0.webp:605,348,12,13 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/extra.webp:607,348,7,4 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/base/outline.webp:604,347,14,14 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/0.webp:604,355,13,13 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/extra.webp:606,355,8,5 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/low/outline.webp:604,354,13,14 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/0.webp:605,341,13,14 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/extra.webp:608,342,7,4 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/raised/outline.webp:605,340,13,15 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/0.webp:604,360,13,13 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/extra.webp:607,360,6,4 +characters/luna/poses/default/clothes/piercing/eyebrow_ring/worried/outline.webp:604,359,13,14 +characters/luna/poses/default/clothes/piercing/mouth_stud/angry/0.webp:562,457,7,6 +characters/luna/poses/default/clothes/piercing/mouth_stud/angry/extra.webp:562,457,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/angry/outline.webp:561,456,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/0.webp:547,449,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/extra.webp:548,450,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/annoyed/outline.webp:546,448,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/base/0.webp:557,453,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/base/extra.webp:558,454,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/base/outline.webp:556,452,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/clench/0.webp:561,462,7,6 +characters/luna/poses/default/clothes/piercing/mouth_stud/clench/extra.webp:561,462,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/clench/outline.webp:560,461,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/0.webp:566,458,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/extra.webp:566,459,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/crooked_smile/outline.webp:565,457,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/0.webp:570,463,8,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/extra.webp:571,464,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/disgust/outline.webp:570,462,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/full/0.webp:560,453,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/full/extra.webp:561,454,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/full/outline.webp:559,452,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/grin/0.webp:559,456,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/grin/extra.webp:560,457,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/grin/outline.webp:558,455,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/mad/0.webp:562,463,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/mad/extra.webp:562,464,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/mad/outline.webp:561,462,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/normal/0.webp:557,453,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/normal/extra.webp:558,454,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/normal/outline.webp:556,452,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/open/0.webp:565,463,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/open/extra.webp:566,464,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/open/outline.webp:564,462,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/0.webp:565,463,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/extra.webp:566,464,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/open_tongue/outline.webp:564,462,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/0.webp:567,480,7,6 +characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/extra.webp:568,480,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/open_wide_tongue/outline.webp:566,479,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/scream/0.webp:564,478,8,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/scream/extra.webp:566,479,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/scream/outline.webp:564,477,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/shock/0.webp:563,469,8,6 +characters/luna/poses/default/clothes/piercing/mouth_stud/shock/extra.webp:564,469,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/shock/outline.webp:563,468,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/silly/0.webp:564,462,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/silly/extra.webp:565,463,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/silly/outline.webp:563,461,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/smile/0.webp:567,465,7,6 +characters/luna/poses/default/clothes/piercing/mouth_stud/smile/extra.webp:567,465,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/smile/outline.webp:566,464,8,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/soft/0.webp:559,459,7,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/soft/extra.webp:560,460,4,4 +characters/luna/poses/default/clothes/piercing/mouth_stud/soft/outline.webp:558,458,9,8 +characters/luna/poses/default/clothes/piercing/mouth_stud/upset/0.webp:554,452,8,7 +characters/luna/poses/default/clothes/piercing/mouth_stud/upset/extra.webp:556,453,3,3 +characters/luna/poses/default/clothes/piercing/mouth_stud/upset/outline.webp:554,451,8,8 +characters/luna/poses/default/clothes/piercing/nipple_rings/0.webp:449,642,153,36 +characters/luna/poses/default/clothes/piercing/nipple_rings/extra.webp:451,652,147,28 +characters/luna/poses/default/clothes/piercing/nipple_rings/outline.webp:448,641,155,37 +characters/luna/poses/default/clothes/piercing/nipple_studs/0.webp:455,641,147,25 +characters/luna/poses/default/clothes/piercing/nipple_studs/extra.webp:454,641,146,23 +characters/luna/poses/default/clothes/piercing/nipple_studs/outline.webp:453,640,150,27 +characters/luna/poses/default/clothes/piercing/nose_ring/0.webp:542,419,17,10 +characters/luna/poses/default/clothes/piercing/nose_ring/extra.webp:546,422,9,8 +characters/luna/poses/default/clothes/piercing/nose_ring/outline.webp:542,418,18,12 +characters/luna/poses/default/clothes/pubes/arrow/0.webp:525,872,39,51 +characters/luna/poses/default/clothes/pubes/arrow/outline.webp:525,874,34,44 +characters/luna/poses/default/clothes/pubes/beaver/0.webp:514,853,64,88 +characters/luna/poses/default/clothes/pubes/beaver/outline.webp:516,857,58,87 +characters/luna/poses/default/clothes/pubes/stuble/0.webp:524,894,49,32 +characters/luna/poses/default/clothes/pubes/unshaved/0.webp:526,891,42,41 +characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_142.webp:340,466,367,734 +characters/luna/poses/default/clothes/robe/coat_flasher/0_zorder_152.webp:632,487,207,713 +characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_143.webp:366,691,13,15 +characters/luna/poses/default/clothes/robe/coat_flasher/1_zorder_153.webp:671,606,145,98 +characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_-1.webp:596,714,127,486 +characters/luna/poses/default/clothes/robe/coat_flasher/2_zorder_101.webp:420,654,102,546 +characters/luna/poses/default/clothes/robe/coat_flasher/extra.webp:415,633,311,567 +characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_145.webp:337,465,372,735 +characters/luna/poses/default/clothes/robe/coat_flasher/outline_zorder_155.webp:629,482,212,718 +characters/luna/poses/default/clothes/robe/coat_flasher/skin.webp:453,456,213,227 +characters/luna/poses/default/clothes/robe/harley_quinn/0.webp:397,453,391,349 +characters/luna/poses/default/clothes/robe/harley_quinn/1.webp:460,452,172,349 +characters/luna/poses/default/clothes/robe/harley_quinn/2.webp:463,474,196,315 +characters/luna/poses/default/clothes/robe/harley_quinn/3.webp:602,579,186,205 +characters/luna/poses/default/clothes/robe/harley_quinn/4.webp:396,514,161,281 +characters/luna/poses/default/clothes/robe/harley_quinn/outline.webp:395,451,395,352 +characters/luna/poses/default/clothes/robe/muggle_jacket/0.webp:360,477,461,314 +characters/luna/poses/default/clothes/robe/muggle_jacket/1.webp:594,563,26,74 +characters/luna/poses/default/clothes/robe/muggle_jacket/outline.webp:359,476,463,376 +characters/luna/poses/default/clothes/robe/robe_school_1/0.webp:436,536,360,664 +characters/luna/poses/default/clothes/robe/robe_school_1/0_back.webp:0,0,0,0 +characters/luna/poses/default/clothes/robe/robe_school_1/1.webp:491,479,248,404 +characters/luna/poses/default/clothes/robe/robe_school_1/1_back.webp:444,670,305,213 +characters/luna/poses/default/clothes/robe/robe_school_1/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/robe/robe_school_1/outline.webp:434,476,364,724 +characters/luna/poses/default/clothes/robe/robe_school_1/outline_back.webp:441,665,311,220 +characters/luna/poses/default/clothes/robe/robe_school_2/0.webp:436,536,360,664 +characters/luna/poses/default/clothes/robe/robe_school_2/0_back.webp:0,0,0,0 +characters/luna/poses/default/clothes/robe/robe_school_2/1.webp:491,479,248,404 +characters/luna/poses/default/clothes/robe/robe_school_2/1_back.webp:444,670,305,530 +characters/luna/poses/default/clothes/robe/robe_school_2/extra.webp:411,697,284,503 +characters/luna/poses/default/clothes/robe/robe_school_2/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/robe/robe_school_2/outline.webp:434,476,364,724 +characters/luna/poses/default/clothes/robe/robe_school_2/outline_back.webp:441,665,311,535 +characters/luna/poses/default/clothes/robe/robe_school_3/0.webp:436,536,360,664 +characters/luna/poses/default/clothes/robe/robe_school_3/0_back.webp:0,0,0,0 +characters/luna/poses/default/clothes/robe/robe_school_3/1.webp:491,479,248,404 +characters/luna/poses/default/clothes/robe/robe_school_3/1_back.webp:444,670,305,530 +characters/luna/poses/default/clothes/robe/robe_school_3/extra.webp:331,640,452,560 +characters/luna/poses/default/clothes/robe/robe_school_3/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/robe/robe_school_3/outline.webp:434,476,364,724 +characters/luna/poses/default/clothes/robe/robe_school_3/outline_back.webp:441,665,311,535 +characters/luna/poses/default/clothes/robe/robe_school_4/0.webp:453,613,342,587 +characters/luna/poses/default/clothes/robe/robe_school_4/0_back.webp:394,675,95,525 +characters/luna/poses/default/clothes/robe/robe_school_4/1.webp:441,568,309,301 +characters/luna/poses/default/clothes/robe/robe_school_4/1_back.webp:432,653,324,547 +characters/luna/poses/default/clothes/robe/robe_school_4/mask.webp:0,0,1010,1200 +characters/luna/poses/default/clothes/robe/robe_school_4/outline.webp:439,565,359,635 +characters/luna/poses/default/clothes/robe/robe_school_4/outline_back.webp:392,673,366,527 +characters/luna/poses/default/clothes/stockings/harley_quinn/0.webp:454,770,242,430 +characters/luna/poses/default/clothes/stockings/harley_quinn/outline.webp:450,767,251,433 +characters/luna/poses/default/clothes/stockings/leggings_bimbo/0.webp:462,969,211,87 +characters/luna/poses/default/clothes/stockings/leggings_bimbo/1.webp:473,1013,178,187 +characters/luna/poses/default/clothes/stockings/leggings_bimbo/2.webp:470,1002,183,52 +characters/luna/poses/default/clothes/stockings/leggings_bimbo/3.webp:474,1004,182,52 +characters/luna/poses/default/clothes/stockings/leggings_bimbo/outline.webp:460,966,215,234 +characters/luna/poses/default/clothes/stockings/leggings_bimbo/skin.webp:471,971,191,47 +characters/luna/poses/default/clothes/stockings/muggle_knee_socks/0.webp:490,1058,157,142 +characters/luna/poses/default/clothes/stockings/muggle_knee_socks/1.webp:479,1037,161,58 +characters/luna/poses/default/clothes/stockings/muggle_knee_socks/2.webp:469,1006,193,62 +characters/luna/poses/default/clothes/stockings/muggle_knee_socks/outline.webp:465,1003,201,197 +characters/luna/poses/default/clothes/stockings/pantyhose_1/0.webp:451,777,251,423 +characters/luna/poses/default/clothes/stockings/pantyhose_1/extra.webp:455,778,219,422 +characters/luna/poses/default/clothes/stockings/pantyhose_1/outline.webp:451,771,251,429 +characters/luna/poses/default/clothes/stockings/pantyhose_meshed/0.webp:451,773,248,427 +characters/luna/poses/default/clothes/stockings/pantyhose_meshed/outline.webp:451,771,251,429 +characters/luna/poses/default/clothes/stockings/police_thigh_highs/0.webp:462,981,193,219 +characters/luna/poses/default/clothes/stockings/police_thigh_highs/1.webp:494,982,75,185 +characters/luna/poses/default/clothes/stockings/police_thigh_highs/outline.webp:460,981,199,219 +characters/luna/poses/default/clothes/stockings/short_school_1/0.webp:479,1035,170,165 +characters/luna/poses/default/clothes/stockings/short_school_1/1.webp:488,1064,140,130 +characters/luna/poses/default/clothes/stockings/short_school_1/extra.webp:479,1035,152,165 +characters/luna/poses/default/clothes/stockings/short_school_1/outline.webp:471,1012,187,188 +characters/luna/poses/default/clothes/stockings/short_school_1/skin.webp:475,1024,154,27 +characters/luna/poses/default/clothes/stockings/short_school_2/0.webp:479,1035,170,165 +characters/luna/poses/default/clothes/stockings/short_school_2/extra.webp:479,1035,152,165 +characters/luna/poses/default/clothes/stockings/short_school_2/outline.webp:471,1012,187,188 +characters/luna/poses/default/clothes/stockings/short_school_2/skin.webp:475,1024,154,27 +characters/luna/poses/default/clothes/tattoo/baby_oven/0.webp:509,822,64,48 +characters/luna/poses/default/clothes/tattoo/baby_oven/1.webp:507,836,76,82 +characters/luna/poses/default/clothes/tattoo/baby_oven/outline.webp:506,835,78,84 +characters/luna/poses/default/clothes/tattoo/cumdump/0.webp:618,832,72,78 +characters/luna/poses/default/clothes/tattoo/lab_rat/0.webp:482,593,149,48 +characters/luna/poses/default/clothes/tattoo/loony/0.webp:522,885,52,32 +characters/luna/poses/default/clothes/tattoo/measure/0.webp:529,834,35,86 +characters/luna/poses/default/clothes/tattoo/measure/1.webp:517,816,49,42 +characters/luna/poses/default/clothes/tattoo/measure/outline.webp:517,815,50,108 +characters/luna/poses/default/clothes/tattoo/spurt_here/0.webp:517,864,54,53 +characters/luna/poses/default/clothes/top/bunny_top_1/0.webp:449,627,187,308 +characters/luna/poses/default/clothes/top/bunny_top_1/extra.webp:449,628,188,307 +characters/luna/poses/default/clothes/top/bunny_top_1/outline.webp:448,626,189,310 +characters/luna/poses/default/clothes/top/bunny_top_1/skin.webp:465,630,175,281 +characters/luna/poses/default/clothes/top/bunny_top_2/0.webp:449,627,187,280 +characters/luna/poses/default/clothes/top/bunny_top_2/extra.webp:449,628,188,286 +characters/luna/poses/default/clothes/top/bunny_top_2/outline.webp:448,626,189,303 +characters/luna/poses/default/clothes/top/bunny_top_2/skin.webp:465,630,175,289 +characters/luna/poses/default/clothes/top/casual_sweater/0.webp:331,487,523,395 +characters/luna/poses/default/clothes/top/casual_sweater/1.webp:483,607,153,173 +characters/luna/poses/default/clothes/top/casual_sweater/outline.webp:329,486,526,396 +characters/luna/poses/default/clothes/top/flight_attendant_1/0.webp:446,598,256,366 +characters/luna/poses/default/clothes/top/flight_attendant_1/1.webp:517,513,223,395 +characters/luna/poses/default/clothes/top/flight_attendant_1/outline.webp:446,510,297,451 +characters/luna/poses/default/clothes/top/flight_attendant_1/skin.webp:456,543,272,427 +characters/luna/poses/default/clothes/top/flight_attendant_2/0.webp:448,597,254,327 +characters/luna/poses/default/clothes/top/flight_attendant_2/1.webp:517,513,223,395 +characters/luna/poses/default/clothes/top/flight_attendant_2/outline.webp:448,510,295,414 +characters/luna/poses/default/clothes/top/flight_attendant_2/skin.webp:455,543,274,386 +characters/luna/poses/default/clothes/top/harley_quinn/0.webp:449,476,239,459 +characters/luna/poses/default/clothes/top/harley_quinn/1.webp:547,495,57,124 +characters/luna/poses/default/clothes/top/harley_quinn/2.webp:471,560,163,323 +characters/luna/poses/default/clothes/top/harley_quinn/3.webp:498,538,142,355 +characters/luna/poses/default/clothes/top/harley_quinn/extra.webp:450,520,200,372 +characters/luna/poses/default/clothes/top/harley_quinn/outline.webp:449,472,244,465 +characters/luna/poses/default/clothes/top/muggle_top/0.webp:445,591,226,137 +characters/luna/poses/default/clothes/top/muggle_top/1.webp:495,588,137,59 +characters/luna/poses/default/clothes/top/muggle_top/outline.webp:446,513,234,217 +characters/luna/poses/default/clothes/top/nightie_1/0.webp:446,511,268,461 +characters/luna/poses/default/clothes/top/nightie_1/extra.webp:447,518,267,426 +characters/luna/poses/default/clothes/top/nightie_1/outline.webp:445,509,271,464 +characters/luna/poses/default/clothes/top/nightie_2/0.webp:448,510,254,490 +characters/luna/poses/default/clothes/top/nightie_2/extra.webp:448,532,254,467 +characters/luna/poses/default/clothes/top/nightie_2/outline.webp:447,507,256,494 +characters/luna/poses/default/clothes/top/pajama_1/0.webp:449,462,289,424 +characters/luna/poses/default/clothes/top/pajama_1/1.webp:525,600,34,251 +characters/luna/poses/default/clothes/top/pajama_1/extra.webp:449,463,289,423 +characters/luna/poses/default/clothes/top/pajama_1/outline.webp:448,461,299,426 +characters/luna/poses/default/clothes/top/pajama_1/skin.webp:461,539,246,351 +characters/luna/poses/default/clothes/top/party_dress/0.webp:423,508,314,504 +characters/luna/poses/default/clothes/top/party_dress/1.webp:424,653,312,359 +characters/luna/poses/default/clothes/top/party_dress/outline.webp:422,507,315,507 +characters/luna/poses/default/clothes/top/party_dress/skin.webp:468,540,259,469 +characters/luna/poses/default/clothes/top/police_shirt/0.webp:448,481,285,345 +characters/luna/poses/default/clothes/top/police_shirt/1.webp:513,633,34,133 +characters/luna/poses/default/clothes/top/police_shirt/outline.webp:447,480,286,291 +characters/luna/poses/default/clothes/top/police_shirt/skin.webp:502,531,125,246 +characters/luna/poses/default/clothes/top/short_tanktop/0.webp:449,510,243,238 +characters/luna/poses/default/clothes/top/short_tanktop/1.webp:478,608,151,123 +characters/luna/poses/default/clothes/top/short_tanktop/outline.webp:447,506,249,245 +characters/luna/poses/default/clothes/top/short_tanktop/skin.webp:504,525,189,228 +characters/luna/poses/default/clothes/top/summer_top_1/0.webp:450,512,235,250 +characters/luna/poses/default/clothes/top/summer_top_1/outline.webp:449,510,237,254 +characters/luna/poses/default/clothes/top/summer_top_1/skin.webp:500,517,191,251 +characters/luna/poses/default/clothes/top/summer_top_2/0.webp:452,512,232,159 +characters/luna/poses/default/clothes/top/summer_top_2/outline.webp:451,511,234,161 +characters/luna/poses/default/clothes/top/summer_top_2/skin.webp:458,517,233,157 +characters/luna/poses/default/clothes/top/swimsuit_1/0.webp:448,511,231,423 +characters/luna/poses/default/clothes/top/swimsuit_1/1.webp:521,511,158,191 +characters/luna/poses/default/clothes/top/swimsuit_1/extra.webp:447,595,213,338 +characters/luna/poses/default/clothes/top/swimsuit_1/outline.webp:447,509,233,426 +characters/luna/poses/default/clothes/top/swimsuit_1/skin.webp:474,525,202,344 +characters/luna/poses/default/clothes/top/top_cumslut/0.webp:450,497,300,249 +characters/luna/poses/default/clothes/top/top_cumslut/1.webp:570,497,102,37 +characters/luna/poses/default/clothes/top/top_cumslut/extra.webp:494,580,145,70 +characters/luna/poses/default/clothes/top/top_cumslut/outline.webp:446,494,305,254 +characters/luna/poses/default/clothes/top/top_cumslut/skin.webp:502,524,189,229 +characters/luna/poses/default/clothes/top/top_latex/0.webp:394,484,392,306 +characters/luna/poses/default/clothes/top/top_latex/1.webp:394,502,391,287 +characters/luna/poses/default/clothes/top/top_latex/extra.webp:420,519,328,231 +characters/luna/poses/default/clothes/top/top_latex/outline.webp:392,477,396,316 +characters/luna/poses/default/clothes/top/top_school_1/0.webp:501,461,244,205 +characters/luna/poses/default/clothes/top/top_school_1/0_front.webp:614,461,54,103 +characters/luna/poses/default/clothes/top/top_school_1/1.webp:447,507,257,348 +characters/luna/poses/default/clothes/top/top_school_1/2.webp:478,510,265,344 +characters/luna/poses/default/clothes/top/top_school_1/3.webp:469,503,273,352 +characters/luna/poses/default/clothes/top/top_school_1/extra.webp:447,527,223,314 +characters/luna/poses/default/clothes/top/top_school_1/outline.webp:445,460,301,396 +characters/luna/poses/default/clothes/top/top_school_1/outline_front.webp:616,460,59,105 +characters/luna/poses/default/clothes/top/top_school_1/skin.webp:648,649,82,200 +characters/luna/poses/default/clothes/top/top_school_2/0.webp:501,461,244,205 +characters/luna/poses/default/clothes/top/top_school_2/0_front.webp:614,461,54,103 +characters/luna/poses/default/clothes/top/top_school_2/1.webp:447,507,257,348 +characters/luna/poses/default/clothes/top/top_school_2/2.webp:478,510,265,344 +characters/luna/poses/default/clothes/top/top_school_2/3.webp:469,503,273,352 +characters/luna/poses/default/clothes/top/top_school_2/extra.webp:447,506,239,335 +characters/luna/poses/default/clothes/top/top_school_2/outline.webp:445,460,301,396 +characters/luna/poses/default/clothes/top/top_school_2/outline_front.webp:616,460,59,105 +characters/luna/poses/default/clothes/top/top_school_2/skin.webp:648,649,82,200 +characters/luna/poses/default/clothes/top/top_school_3/0.webp:482,474,263,414 +characters/luna/poses/default/clothes/top/top_school_3/0_front.webp:624,474,42,81 +characters/luna/poses/default/clothes/top/top_school_3/1.webp:447,507,257,348 +characters/luna/poses/default/clothes/top/top_school_3/2.webp:478,509,265,345 +characters/luna/poses/default/clothes/top/top_school_3/3.webp:469,503,273,352 +characters/luna/poses/default/clothes/top/top_school_3/extra.webp:447,527,223,350 +characters/luna/poses/default/clothes/top/top_school_3/outline.webp:445,472,301,421 +characters/luna/poses/default/clothes/top/top_school_3/outline_front.webp:623,472,44,84 +characters/luna/poses/default/clothes/top/top_school_3/skin.webp:535,535,195,314 +characters/luna/poses/default/clothes/top/top_school_4/0.webp:449,461,296,332 +characters/luna/poses/default/clothes/top/top_school_4/0_front.webp:530,461,138,104 +characters/luna/poses/default/clothes/top/top_school_4/1.webp:492,555,251,220 +characters/luna/poses/default/clothes/top/top_school_4/2.webp:492,532,250,256 +characters/luna/poses/default/clothes/top/top_school_4/extra.webp:493,523,193,264 +characters/luna/poses/default/clothes/top/top_school_4/outline.webp:446,460,300,335 +characters/luna/poses/default/clothes/top/top_school_4/outline_front.webp:528,460,141,105 +characters/luna/poses/default/clothes/top/top_school_4/skin.webp:648,648,82,201 +characters/luna/poses/default/clothes/top/top_school_5/0.webp:449,461,296,332 +characters/luna/poses/default/clothes/top/top_school_5/0_front.webp:530,461,138,130 +characters/luna/poses/default/clothes/top/top_school_5/1.webp:664,615,79,40 +characters/luna/poses/default/clothes/top/top_school_5/2.webp:664,622,78,26 +characters/luna/poses/default/clothes/top/top_school_5/extra.webp:526,506,160,250 +characters/luna/poses/default/clothes/top/top_school_5/outline.webp:446,460,300,335 +characters/luna/poses/default/clothes/top/top_school_5/outline_front.webp:529,460,140,134 +characters/luna/poses/default/clothes/top/top_school_5/skin.webp:648,648,82,201 +characters/luna/poses/default/clothes/top/top_school_6/0.webp:449,474,296,319 +characters/luna/poses/default/clothes/top/top_school_6/0_front.webp:521,474,145,133 +characters/luna/poses/default/clothes/top/top_school_6/1.webp:664,615,79,40 +characters/luna/poses/default/clothes/top/top_school_6/2.webp:664,622,78,26 +characters/luna/poses/default/clothes/top/top_school_6/extra.webp:526,523,160,233 +characters/luna/poses/default/clothes/top/top_school_6/outline.webp:446,472,300,323 +characters/luna/poses/default/clothes/top/top_school_6/outline_front.webp:520,472,147,135 +characters/luna/poses/default/clothes/top/top_school_6/skin.webp:536,535,194,314 +characters/luna/poses/default/clothes/top/top_school_crop/0.webp:449,474,296,258 +characters/luna/poses/default/clothes/top/top_school_crop/1.webp:664,615,79,40 +characters/luna/poses/default/clothes/top/top_school_crop/2.webp:664,622,78,26 +characters/luna/poses/default/clothes/top/top_school_crop/outline.webp:446,472,300,261 +characters/luna/poses/default/clothes/top/top_school_crop/skin.webp:490,532,240,317 +characters/luna/poses/default/clothes/top/top_school_vest/0.webp:447,507,257,348 +characters/luna/poses/default/clothes/top/top_school_vest/1.webp:478,509,214,345 +characters/luna/poses/default/clothes/top/top_school_vest/2.webp:469,503,236,352 +characters/luna/poses/default/clothes/top/top_school_vest/extra.webp:447,527,223,314 +characters/luna/poses/default/clothes/top/top_school_vest/outline.webp:445,500,262,356 +characters/luna/poses/default/clothes/top/top_school_vest/skin.webp:534,532,60,140 +characters/luna/poses/default/clothes/top/top_torn/0.webp:432,476,313,317 +characters/luna/poses/default/clothes/top/top_torn/1.webp:474,528,86,164 +characters/luna/poses/default/clothes/top/top_torn/outline.webp:429,470,318,326 +characters/luna/poses/default/clothes/top/top_torn/skin.webp:438,508,304,274 +characters/luna/poses/default/cum/body/heavy/cum.webp:458,472,255,320 +characters/luna/poses/default/cum/body/light/cum.webp:532,510,181,282 +characters/luna/poses/default/cum/breasts/heavy/cum.webp:448,538,194,169 +characters/luna/poses/default/cum/breasts/light/cum.webp:532,552,89,149 +characters/luna/poses/default/cum/crotch/heavy/cum.webp:459,769,181,252 +characters/luna/poses/default/cum/crotch/light/cum.webp:501,769,73,154 +characters/luna/poses/default/cum/face/heavy/cum.webp:512,382,126,132 +characters/luna/poses/default/cum/face/light/cum.webp:597,393,33,72 +characters/luna/poses/default/cum/hair/heavy/cum.webp:478,247,190,169 +characters/luna/poses/default/cum/hair/light/cum.webp:496,263,117,100 +characters/luna/poses/default/cum/legs/heavy/cum.webp:457,860,215,340 +characters/luna/poses/default/cum/legs/light/cum.webp:510,860,146,191 +characters/luna/poses/default/cum/pussy/heavy/cum.webp:537,923,21,114 +characters/luna/poses/default/cum/pussy/light/cum.webp:537,923,20,44 +characters/luna/poses/default/cum/pussy/squirt/cum.webp:514,921,49,139 +characters/luna/poses/default/cum/pussy/squirt_post/cum.webp:477,913,91,130 +characters/luna/poses/default/cum/pussy/wet/cum.webp:545,921,17,24 +characters/luna/poses/default/emote/angry.webp:602,319,45,43 +characters/luna/poses/default/emote/confused.webp:449,166,129,101 +characters/luna/poses/default/emote/happy.webp:472,135,131,127 +characters/luna/poses/default/emote/hearts.webp:428,118,175,146 +characters/luna/poses/default/emote/shocked.webp:437,140,136,128 +characters/luna/poses/default/emote/sweat.webp:597,304,42,67 +characters/luna/poses/default/face/cheeks/blush/expression.webp:512,377,126,59 +characters/luna/poses/default/face/eyebrows/angry/expression.webp:514,350,109,23 +characters/luna/poses/default/face/eyebrows/angry/skin.webp:516,349,111,41 +characters/luna/poses/default/face/eyebrows/annoyed/expression.webp:515,348,108,19 +characters/luna/poses/default/face/eyebrows/annoyed/skin.webp:516,349,111,41 +characters/luna/poses/default/face/eyebrows/base/expression.webp:515,349,108,16 +characters/luna/poses/default/face/eyebrows/base/skin.webp:516,349,111,41 +characters/luna/poses/default/face/eyebrows/low/expression.webp:513,356,109,15 +characters/luna/poses/default/face/eyebrows/low/skin.webp:516,349,111,41 +characters/luna/poses/default/face/eyebrows/raised/expression.webp:514,341,107,27 +characters/luna/poses/default/face/eyebrows/raised/skin.webp:516,349,111,41 +characters/luna/poses/default/face/eyebrows/worried/expression.webp:513,348,111,23 +characters/luna/poses/default/face/eyebrows/worried/skin.webp:516,349,111,41 +characters/luna/poses/default/face/eyes/base/expression.webp:517,360,107,36 +characters/luna/poses/default/face/eyes/base/eyemask.webp:526,370,88,19 +characters/luna/poses/default/face/eyes/base/skin.webp:522,378,103,15 +characters/luna/poses/default/face/eyes/closed/expression.webp:521,361,103,32 +characters/luna/poses/default/face/eyes/closed/skin.webp:522,378,103,15 +characters/luna/poses/default/face/eyes/happyCl/expression.webp:517,365,108,23 +characters/luna/poses/default/face/eyes/happyCl/skin.webp:523,378,98,14 +characters/luna/poses/default/face/eyes/narrow/expression.webp:519,360,105,36 +characters/luna/poses/default/face/eyes/narrow/eyemask.webp:526,371,87,18 +characters/luna/poses/default/face/eyes/narrow/skin.webp:522,378,103,15 +characters/luna/poses/default/face/eyes/wide/expression.webp:519,358,107,34 +characters/luna/poses/default/face/eyes/wide/eyemask.webp:526,363,92,27 +characters/luna/poses/default/face/eyes/wide/skin.webp:522,378,103,15 +characters/luna/poses/default/face/eyes/wink/expression.webp:517,360,107,31 +characters/luna/poses/default/face/eyes/wink/eyemask.webp:582,370,32,18 +characters/luna/poses/default/face/eyes/wink/skin.webp:523,378,102,15 +characters/luna/poses/default/face/mouth/angry/expression.webp:546,431,45,26 +characters/luna/poses/default/face/mouth/annoyed/expression.webp:539,432,33,17 +characters/luna/poses/default/face/mouth/base/expression.webp:546,436,47,17 +characters/luna/poses/default/face/mouth/clench/expression.webp:543,433,47,28 +characters/luna/poses/default/face/mouth/crooked_smile/expression.webp:543,432,48,26 +characters/luna/poses/default/face/mouth/disgust/expression.webp:549,442,48,21 +characters/luna/poses/default/face/mouth/full/expression.webp:512,397,140,79 +characters/luna/poses/default/face/mouth/grin/expression.webp:546,430,43,26 +characters/luna/poses/default/face/mouth/mad/expression.webp:542,431,47,31 +characters/luna/poses/default/face/mouth/normal/expression.webp:546,436,33,17 +characters/luna/poses/default/face/mouth/open/expression.webp:550,433,30,30 +characters/luna/poses/default/face/mouth/open_tongue/expression.webp:550,433,30,30 +characters/luna/poses/default/face/mouth/open_wide_tongue/expression.webp:543,428,78,58 +characters/luna/poses/default/face/mouth/scream/expression.webp:543,428,78,58 +characters/luna/poses/default/face/mouth/shock/expression.webp:537,427,43,42 +characters/luna/poses/default/face/mouth/silly/expression.webp:541,427,51,36 +characters/luna/poses/default/face/mouth/smile/expression.webp:541,433,58,31 +characters/luna/poses/default/face/mouth/soft/expression.webp:548,435,29,24 +characters/luna/poses/default/face/mouth/upset/expression.webp:546,436,33,17 +characters/luna/poses/default/face/pupils/L/expression.webp:527,366,73,23 +characters/luna/poses/default/face/pupils/R/expression.webp:535,367,75,22 +characters/luna/poses/default/face/pupils/ahegao/expression.webp:535,361,67,24 +characters/luna/poses/default/face/pupils/dead/expression.webp:532,362,74,23 +characters/luna/poses/default/face/pupils/down/expression.webp:532,375,72,23 +characters/luna/poses/default/face/pupils/downL/expression.webp:529,375,72,23 +characters/luna/poses/default/face/pupils/downR/expression.webp:537,375,74,23 +characters/luna/poses/default/face/pupils/mid/expression.webp:534,365,74,22 +characters/luna/poses/default/face/pupils/squint/expression.webp:536,367,64,23 +characters/luna/poses/default/face/pupils/stare/expression.webp:531,366,74,22 +characters/luna/poses/default/face/pupils/up/expression.webp:531,363,74,23 +characters/luna/poses/default/face/tears/crying/expression.webp:528,378,108,50 +characters/luna/poses/default/face/tears/crying_blink/expression.webp:514,374,122,54 +characters/luna/poses/default/face/tears/mascara/expression.webp:524,376,116,112 +characters/luna/poses/default/face/tears/messy/expression.webp:524,380,110,94 +characters/luna/poses/default/face/tears/soft/expression.webp:524,374,94,26 +characters/luna/poses/hand_on_pussy_and_breast/bodyparts/frame/default/skin.webp:324,290,568,910 +characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/0.webp:0,0,0,0 +characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/1.webp:0,0,0,0 +characters/luna/poses/hand_on_pussy_and_breast/clothes/bottom/school_skirt_2/outline.webp:424,769,298,217 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/0.webp:480,244,255,257 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/0_back.webp:459,357,301,445 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/1.webp:488,243,246,257 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/1_back.webp:461,356,299,445 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/2.webp:705,425,18,19 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/outline.webp:474,238,265,264 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/outline_back.webp:454,351,315,455 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/base/skin.webp:516,305,114,95 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/0.webp:489,262,262,293 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/1.webp:494,265,253,289 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/2.webp:677,288,66,260 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/3.webp:515,431,55,91 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/4.webp:665,296,14,30 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/extra.webp:508,261,239,252 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/outline.webp:478,260,274,296 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/harley_quinn/skin.webp:528,318,99,77 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/0.webp:480,244,360,260 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/0_back.webp:459,357,301,445 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/1.webp:488,243,352,260 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/1_back.webp:461,356,299,445 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/2.webp:705,425,18,19 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/extra.webp:606,325,210,120 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/outline.webp:474,238,368,272 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/outline_back.webp:454,351,315,455 +characters/luna/poses/hand_on_pussy_and_breast/clothes/hair/wand/skin.webp:516,305,114,95 +characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/0.webp:479,1035,170,165 +characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/1.webp:488,1064,140,130 +characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/extra.webp:479,1035,152,165 +characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/outline.webp:471,1012,187,188 +characters/luna/poses/hand_on_pussy_and_breast/clothes/stockings/short_school_1/skin.webp:475,1024,154,27 +characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/0.webp:0,0,0,0 +characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/1.webp:0,0,0,0 +characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/2.webp:0,0,0,0 +characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/3.webp:0,0,0,0 +characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/extra.webp:0,0,0,0 +characters/luna/poses/hand_on_pussy_and_breast/clothes/top/top_school_1/outline.webp:388,462,346,490 +characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/squirt/cum.webp:472,930,89,130 +characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/squirt_post/cum.webp:477,930,91,113 +characters/luna/poses/hand_on_pussy_and_breast/cum/pussy/wet/cum.webp:538,939,20,17 +characters/luna/poses/hand_on_pussy_and_breast/face/cheeks/blush/expression.webp:512,377,126,59 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/angry/expression.webp:514,350,109,23 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/angry/skin.webp:516,349,111,41 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/expression.webp:515,348,108,19 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/annoyed/skin.webp:516,349,111,41 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/base/expression.webp:515,349,108,16 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/base/skin.webp:516,349,111,41 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/low/expression.webp:513,356,109,15 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/low/skin.webp:516,349,111,41 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/raised/expression.webp:514,341,107,27 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/raised/skin.webp:516,349,111,41 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/worried/expression.webp:513,348,111,23 +characters/luna/poses/hand_on_pussy_and_breast/face/eyebrows/worried/skin.webp:516,349,111,41 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/expression.webp:517,360,107,36 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/eyemask.webp:526,370,88,19 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/base/skin.webp:522,378,103,15 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/closed/expression.webp:521,361,103,32 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/closed/skin.webp:522,378,103,15 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/happyCl/expression.webp:517,365,108,23 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/happyCl/skin.webp:523,378,98,14 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/expression.webp:519,360,105,36 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/eyemask.webp:526,371,87,18 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/narrow/skin.webp:522,378,103,15 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/expression.webp:519,358,107,34 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/eyemask.webp:526,363,92,27 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wide/skin.webp:522,378,103,15 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/expression.webp:517,360,107,31 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/eyemask.webp:582,370,32,18 +characters/luna/poses/hand_on_pussy_and_breast/face/eyes/wink/skin.webp:523,378,102,15 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/angry/expression.webp:546,431,45,26 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/annoyed/expression.webp:539,432,33,17 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/base/expression.webp:546,436,47,17 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/clench/expression.webp:543,433,47,28 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/crooked_smile/expression.webp:543,432,48,26 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/disgust/expression.webp:549,442,48,21 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/full/expression.webp:512,397,140,79 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/grin/expression.webp:546,430,43,26 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/mad/expression.webp:542,431,47,31 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/normal/expression.webp:546,436,33,17 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open/expression.webp:550,433,30,30 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open_tongue/expression.webp:550,433,30,30 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/open_wide_tongue/expression.webp:543,428,78,58 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/scream/expression.webp:543,428,78,58 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/shock/expression.webp:537,427,43,42 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/silly/expression.webp:541,427,51,36 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/smile/expression.webp:541,433,58,31 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/soft/expression.webp:548,435,29,24 +characters/luna/poses/hand_on_pussy_and_breast/face/mouth/upset/expression.webp:546,436,33,17 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/L/expression.webp:527,366,73,23 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/R/expression.webp:535,367,75,22 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/ahegao/expression.webp:535,361,67,24 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/dead/expression.webp:532,362,74,23 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/down/expression.webp:532,375,72,23 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/downL/expression.webp:529,375,72,23 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/downR/expression.webp:537,375,74,23 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/mid/expression.webp:534,365,74,22 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/squint/expression.webp:536,367,64,23 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/stare/expression.webp:531,366,74,22 +characters/luna/poses/hand_on_pussy_and_breast/face/pupils/up/expression.webp:531,363,74,23 +characters/luna/poses/hand_on_pussy_and_breast/face/tears/crying/expression.webp:528,378,108,50 +characters/luna/poses/hand_on_pussy_and_breast/face/tears/crying_blink/expression.webp:514,374,122,54 +characters/luna/poses/hand_on_pussy_and_breast/face/tears/mascara/expression.webp:524,376,116,112 +characters/luna/poses/hand_on_pussy_and_breast/face/tears/messy/expression.webp:524,380,110,94 +characters/luna/poses/hand_on_pussy_and_breast/face/tears/soft/expression.webp:524,374,94,26 characters/misc/dumbledore/dum_1.webp:0,6,454,504 characters/misc/dumbledore/dum_2.webp:0,6,454,504 characters/misc/dumbledore/dum_3.webp:0,6,454,504 @@ -4124,7 +4575,6 @@ characters/snape/main/snape_47.webp:16,34,966,1166 characters/snape/main/snape_clown.webp:168,15,818,1185 characters/snape/main/snape_cum.webp:16,23,966,1177 characters/snape/main/wand.webp:98,13,885,1173 -characters/susan/body/base/front.webp:428,302,308,898 characters/susan/chibis/sb_cloth_robe_h.webp:40,117,119,212 characters/susan/chibis/sb_cloth_shirt_h.webp:47,117,87,100 characters/susan/chibis/sb_cloth_skirt.webp:52,200,82,66 @@ -4139,275 +4589,282 @@ characters/susan/chibis/sb_walk_04.webp:42,17,109,328 characters/susan/chibis/sb_walk_04_shoes.webp:61,292,72,53 characters/susan/chibis/sb_walk_05.webp:42,17,109,326 characters/susan/chibis/sb_walk_05_shoes.webp:47,296,98,47 -characters/susan/clothes/bottom/jeans_1/0.webp:452,825,272,375 -characters/susan/clothes/bottom/jeans_1/1.webp:546,860,13,14 -characters/susan/clothes/bottom/jeans_1/outline.webp:451,823,274,377 -characters/susan/clothes/bottom/school_skirt_1/0.webp:448,821,291,366 -characters/susan/clothes/bottom/school_skirt_1/1.webp:619,858,11,22 -characters/susan/clothes/bottom/school_skirt_1/extra.webp:621,859,5,17 -characters/susan/clothes/bottom/school_skirt_1/outline.webp:448,817,292,372 -characters/susan/clothes/bottom/school_skirt_1/skin.webp:487,829,187,362 -characters/susan/clothes/bottom/school_skirt_2/0.webp:447,821,286,239 -characters/susan/clothes/bottom/school_skirt_2/1.webp:619,858,11,22 -characters/susan/clothes/bottom/school_skirt_2/extra.webp:621,859,5,17 -characters/susan/clothes/bottom/school_skirt_2/outline.webp:447,817,288,245 -characters/susan/clothes/bottom/school_skirt_2/skin.webp:463,829,231,236 -characters/susan/clothes/bottom/school_skirt_3/0.webp:449,821,278,179 -characters/susan/clothes/bottom/school_skirt_3/1.webp:619,858,11,22 -characters/susan/clothes/bottom/school_skirt_3/extra.webp:621,859,5,17 -characters/susan/clothes/bottom/school_skirt_3/outline.webp:447,817,282,185 -characters/susan/clothes/bottom/school_skirt_3/skin.webp:457,829,250,177 -characters/susan/clothes/bottom/school_skirt_4/0.webp:455,821,266,138 -characters/susan/clothes/bottom/school_skirt_4/1.webp:619,858,11,22 -characters/susan/clothes/bottom/school_skirt_4/extra.webp:621,859,5,17 -characters/susan/clothes/bottom/school_skirt_4/outline.webp:452,817,271,145 -characters/susan/clothes/bottom/school_skirt_4/skin.webp:459,829,242,135 -characters/susan/clothes/bra/base/0.webp:0,0,1,1 -characters/susan/clothes/bra/base/mask.webp:0,0,1010,1200 -characters/susan/clothes/bra/base/outline.webp:417,515,281,248 -characters/susan/clothes/bra/base/skin.webp:416,571,284,241 -characters/susan/clothes/bra/basic_bra_1/0.webp:426,636,259,139 -characters/susan/clothes/bra/basic_bra_1/1.webp:453,537,226,245 -characters/susan/clothes/bra/basic_bra_1/2.webp:529,662,39,45 -characters/susan/clothes/bra/basic_bra_1/outline.webp:426,536,256,247 -characters/susan/clothes/bra/basic_bra_1/skin.webp:484,539,190,115 -characters/susan/clothes/bra/lace_bra_1/0.webp:427,537,265,246 -characters/susan/clothes/bra/lace_bra_1/1.webp:441,546,296,171 -characters/susan/clothes/bra/lace_bra_1/outline.webp:426,534,311,249 -characters/susan/clothes/bra/lace_bra_1/skin.webp:516,556,199,102 -characters/susan/clothes/bra/latex_bra_1/0.webp:430,674,246,65 -characters/susan/clothes/bra/latex_bra_1/extra.webp:429,674,239,57 -characters/susan/clothes/bra/latex_bra_1/outline.webp:427,671,251,70 -characters/susan/clothes/bra/latex_bra_1/skin.webp:437,670,242,83 -characters/susan/clothes/bra/latex_bra_2/0.webp:428,573,257,198 -characters/susan/clothes/bra/latex_bra_2/1.webp:523,661,39,92 -characters/susan/clothes/bra/latex_bra_2/extra.webp:428,646,242,98 -characters/susan/clothes/bra/latex_bra_2/mask.webp:0,0,1010,1200 -characters/susan/clothes/bra/latex_bra_2/outline.webp:427,644,254,108 -characters/susan/clothes/bra/latex_bra_2/skin.webp:436,628,239,125 -characters/susan/clothes/bra/muggle_bra_1/0.webp:427,634,255,141 -characters/susan/clothes/bra/muggle_bra_1/1.webp:465,538,218,168 -characters/susan/clothes/bra/muggle_bra_1/outline.webp:426,536,256,241 -characters/susan/clothes/bra/muggle_bra_1/skin.webp:484,539,190,115 -characters/susan/clothes/bra/sport_bra_1/0.webp:426,540,262,236 -characters/susan/clothes/bra/sport_bra_1/1.webp:484,537,200,258 -characters/susan/clothes/bra/sport_bra_1/outline.webp:426,535,259,262 -characters/susan/clothes/bra/sport_bra_1/skin.webp:493,549,187,249 -characters/susan/clothes/garterbelt/garter_belt_1/0.webp:453,779,271,223 -characters/susan/clothes/garterbelt/garter_belt_1/outline.webp:452,778,272,225 -characters/susan/clothes/garterbelt/garter_belt_1/skin.webp:457,796,245,209 -characters/susan/clothes/hair/base/0.webp:475,297,214,231 -characters/susan/clothes/hair/base/1.webp:501,304,125,87 -characters/susan/clothes/hair/base/extra.webp:607,387,19,28 -characters/susan/clothes/hair/base/outline.webp:494,296,197,234 -characters/susan/clothes/hair/base/skin.webp:512,355,125,67 -characters/susan/clothes/panties/basic_panties_1/0.webp:465,848,246,122 -characters/susan/clothes/panties/basic_panties_1/1.webp:459,836,255,120 -characters/susan/clothes/panties/basic_panties_1/2.webp:533,877,29,18 -characters/susan/clothes/panties/basic_panties_1/outline.webp:456,834,260,138 -characters/susan/clothes/panties/basic_panties_1/skin.webp:462,840,236,119 -characters/susan/clothes/panties/lace/0.webp:0,0,1,1 -characters/susan/clothes/panties/lace/outline.webp:448,884,270,172 -characters/susan/clothes/panties/lace_panties_1/0.webp:462,839,253,77 -characters/susan/clothes/panties/lace_panties_1/1.webp:515,889,85,80 -characters/susan/clothes/panties/lace_panties_1/2.webp:488,863,165,40 -characters/susan/clothes/panties/lace_panties_1/outline.webp:461,837,255,133 -characters/susan/clothes/panties/lace_panties_1/skin.webp:465,863,217,44 -characters/susan/clothes/panties/latex_panties_1/0.webp:462,874,249,95 -characters/susan/clothes/panties/latex_panties_1/extra.webp:462,879,225,58 -characters/susan/clothes/panties/latex_panties_1/mask.webp:0,0,1010,1200 -characters/susan/clothes/panties/latex_panties_1/outline.webp:460,871,254,99 -characters/susan/clothes/panties/latex_panties_1/skin.webp:459,864,256,117 -characters/susan/clothes/panties/muggle_panties_1/0.webp:467,857,237,114 -characters/susan/clothes/panties/muggle_panties_1/1.webp:471,849,228,44 -characters/susan/clothes/panties/muggle_panties_1/outline.webp:465,848,241,123 -characters/susan/clothes/panties/sport_panties_1/0.webp:454,866,269,157 -characters/susan/clothes/panties/sport_panties_1/1.webp:454,846,267,183 -characters/susan/clothes/panties/sport_panties_1/outline.webp:452,843,272,187 -characters/susan/clothes/panties/sport_panties_1/skin.webp:458,847,240,184 -characters/susan/clothes/robe/robe_school_1/0.webp:417,555,349,645 -characters/susan/clothes/robe/robe_school_1/1.webp:491,512,218,140 -characters/susan/clothes/robe/robe_school_1/extra.webp:517,648,61,13 -characters/susan/clothes/robe/robe_school_1/outline.webp:416,510,352,690 -characters/susan/clothes/robe/robe_school_1/skin.webp:527,532,130,133 -characters/susan/clothes/robe/robe_school_2/0.webp:417,555,349,645 -characters/susan/clothes/robe/robe_school_2/1.webp:491,512,218,140 -characters/susan/clothes/robe/robe_school_2/extra.webp:406,620,262,580 -characters/susan/clothes/robe/robe_school_2/outline.webp:416,510,352,690 -characters/susan/clothes/robe/robe_school_2/skin.webp:504,532,192,668 -characters/susan/clothes/robe/robe_school_3/0.webp:417,555,349,645 -characters/susan/clothes/robe/robe_school_3/1.webp:491,512,218,140 -characters/susan/clothes/robe/robe_school_3/1_back.webp:487,1165,23,35 -characters/susan/clothes/robe/robe_school_3/2.webp:487,1165,23,35 -characters/susan/clothes/robe/robe_school_3/extra.webp:406,648,262,552 -characters/susan/clothes/robe/robe_school_3/outline.webp:416,510,352,690 -characters/susan/clothes/robe/robe_school_3/skin.webp:492,532,204,668 -characters/susan/clothes/robe/robe_school_4/0.webp:455,747,314,453 -characters/susan/clothes/robe/robe_school_4/1.webp:449,735,292,124 -characters/susan/clothes/robe/robe_school_4/1_back.webp:424,997,87,203 -characters/susan/clothes/robe/robe_school_4/extra.webp:483,815,233,45 -characters/susan/clothes/robe/robe_school_4/outline.webp:447,731,322,469 -characters/susan/clothes/robe/robe_school_4/outline_back.webp:425,918,87,282 -characters/susan/clothes/robe/robe_school_4/skin.webp:452,770,261,430 -characters/susan/clothes/stockings/short_school_1/0.webp:480,1121,222,79 -characters/susan/clothes/stockings/short_school_1/1.webp:469,1078,241,122 -characters/susan/clothes/stockings/short_school_1/extra.webp:505,1101,101,90 -characters/susan/clothes/stockings/short_school_1/outline.webp:466,1076,246,124 -characters/susan/clothes/stockings/short_school_1/skin.webp:471,1076,236,21 -characters/susan/clothes/stockings/short_school_2/0.webp:469,1078,241,122 -characters/susan/clothes/stockings/short_school_2/extra.webp:505,1101,101,90 -characters/susan/clothes/stockings/short_school_2/outline.webp:466,1076,246,124 -characters/susan/clothes/stockings/short_school_2/skin.webp:471,1076,236,21 -characters/susan/clothes/stockings/striped_stockings_1/0.webp:457,1025,260,175 -characters/susan/clothes/stockings/striped_stockings_1/1.webp:459,1040,257,102 -characters/susan/clothes/stockings/striped_stockings_1/outline.webp:455,1022,265,178 -characters/susan/clothes/stockings/striped_stockings_1/skin.webp:459,1022,239,44 -characters/susan/clothes/top/muggle_casual_top_1/0.webp:414,518,329,403 -characters/susan/clothes/top/muggle_casual_top_1/outline.webp:424,515,319,408 -characters/susan/clothes/top/muggle_casual_top_1/skin.webp:465,534,229,393 -characters/susan/clothes/top/top_school_1/0.webp:431,500,308,357 -characters/susan/clothes/top/top_school_1/1.webp:429,541,269,337 -characters/susan/clothes/top/top_school_1/2.webp:477,534,261,360 -characters/susan/clothes/top/top_school_1/3.webp:467,540,272,354 -characters/susan/clothes/top/top_school_1/extra.webp:471,558,237,332 -characters/susan/clothes/top/top_school_1/outline.webp:427,498,314,398 -characters/susan/clothes/top/top_school_1/skin.webp:470,524,241,378 -characters/susan/clothes/top/top_school_2/0.webp:431,500,308,357 -characters/susan/clothes/top/top_school_2/1.webp:429,541,269,337 -characters/susan/clothes/top/top_school_2/2.webp:477,534,261,360 -characters/susan/clothes/top/top_school_2/3.webp:467,540,272,354 -characters/susan/clothes/top/top_school_2/extra.webp:471,558,237,332 -characters/susan/clothes/top/top_school_2/outline.webp:427,498,314,398 -characters/susan/clothes/top/top_school_2/skin.webp:470,524,241,378 -characters/susan/clothes/top/top_school_3/0.webp:431,500,308,357 -characters/susan/clothes/top/top_school_3/1.webp:535,591,40,247 -characters/susan/clothes/top/top_school_3/2.webp:429,541,269,337 -characters/susan/clothes/top/top_school_3/3.webp:477,534,261,360 -characters/susan/clothes/top/top_school_3/4.webp:467,540,272,354 -characters/susan/clothes/top/top_school_3/extra.webp:471,558,237,332 -characters/susan/clothes/top/top_school_3/outline.webp:427,498,314,398 -characters/susan/clothes/top/top_school_3/skin.webp:470,524,241,378 -characters/susan/clothes/top/top_school_4/0.webp:431,500,308,357 -characters/susan/clothes/top/top_school_4/1.webp:535,591,40,247 -characters/susan/clothes/top/top_school_4/2.webp:511,561,227,237 -characters/susan/clothes/top/top_school_4/3.webp:511,565,228,247 -characters/susan/clothes/top/top_school_4/extra.webp:514,569,194,217 -characters/susan/clothes/top/top_school_4/outline.webp:428,498,313,361 -characters/susan/clothes/top/top_school_4/skin.webp:486,524,225,338 -characters/susan/clothes/top/top_school_5/0.webp:431,500,308,357 -characters/susan/clothes/top/top_school_5/1.webp:683,649,55,39 -characters/susan/clothes/top/top_school_5/2.webp:683,656,56,25 -characters/susan/clothes/top/top_school_5/3.webp:535,591,40,247 -characters/susan/clothes/top/top_school_5/extra.webp:697,665,11,19 -characters/susan/clothes/top/top_school_5/outline.webp:428,498,313,361 -characters/susan/clothes/top/top_school_5/skin.webp:486,524,225,338 -characters/susan/clothes/top/top_school_7/0.webp:429,541,269,337 -characters/susan/clothes/top/top_school_7/1.webp:477,534,230,360 -characters/susan/clothes/top/top_school_7/2.webp:467,540,240,354 -characters/susan/clothes/top/top_school_7/extra.webp:471,558,211,332 -characters/susan/clothes/top/top_school_7/outline.webp:427,533,283,363 -characters/susan/clothes/top/top_school_7/skin.webp:470,525,222,377 -characters/susan/cum/body/heavy.webp:509,438,134,417 -characters/susan/cum/body/heavy_skin.webp:514,472,114,384 -characters/susan/cum/body/light.webp:509,552,119,271 -characters/susan/cum/body/light_skin.webp:522,553,106,230 -characters/susan/cum/breasts/heavy.webp:467,611,178,141 -characters/susan/cum/breasts/heavy_skin.webp:489,611,157,143 -characters/susan/cum/breasts/light.webp:455,593,202,126 -characters/susan/cum/breasts/light_skin.webp:462,593,195,127 -characters/susan/cum/crotch/heavy.webp:440,778,215,321 -characters/susan/cum/crotch/heavy_skin.webp:442,779,214,316 -characters/susan/cum/crotch/light.webp:440,780,191,314 -characters/susan/cum/crotch/light_skin.webp:442,780,190,315 -characters/susan/cum/face/heavy.webp:525,373,110,143 -characters/susan/cum/face/heavy_skin.webp:527,396,99,113 -characters/susan/cum/face/light.webp:525,395,110,115 -characters/susan/cum/face/light_skin.webp:527,402,99,96 -characters/susan/cum/hair/heavy.webp:489,265,211,169 -characters/susan/cum/hair/light.webp:488,356,123,72 -characters/susan/cum/legs/heavy.webp:632,1044,90,135 -characters/susan/cum/legs/heavy_skin.webp:634,1044,89,136 -characters/susan/cum/legs/light.webp:632,1044,22,102 -characters/susan/cum/legs/light_skin.webp:634,1044,22,103 -characters/susan/cum/pussy/heavy.webp:539,947,32,98 -characters/susan/cum/pussy/light.webp:541,949,29,55 -characters/susan/emote/angry.webp:578,369,45,43 -characters/susan/emote/confused.webp:405,254,127,99 -characters/susan/emote/happy.webp:419,221,123,146 -characters/susan/emote/hearts.webp:373,206,175,146 -characters/susan/emote/shocked.webp:399,223,136,128 -characters/susan/emote/sweat.webp:574,350,42,67 -characters/susan/face/cheeks/blush.webp:509,418,113,45 -characters/susan/face/eyebrows/angry.webp:512,396,105,19 -characters/susan/face/eyebrows/angry_skin.webp:513,400,104,24 -characters/susan/face/eyebrows/annoyed.webp:512,397,105,16 -characters/susan/face/eyebrows/annoyed_skin.webp:513,400,104,24 -characters/susan/face/eyebrows/base.webp:512,395,105,14 -characters/susan/face/eyebrows/base_skin.webp:513,400,104,32 -characters/susan/face/eyebrows/low.webp:513,399,104,14 -characters/susan/face/eyebrows/low_skin.webp:514,400,103,25 -characters/susan/face/eyebrows/raised.webp:512,391,105,18 -characters/susan/face/eyebrows/raised_skin.webp:514,396,103,29 -characters/susan/face/eyebrows/sad.webp:513,398,103,15 -characters/susan/face/eyebrows/sad_skin.webp:514,402,103,21 -characters/susan/face/eyebrows/shocked.webp:512,393,105,15 -characters/susan/face/eyebrows/shocked_skin.webp:513,398,104,25 -characters/susan/face/eyebrows/worried.webp:513,398,103,16 -characters/susan/face/eyebrows/worried_skin.webp:514,402,103,23 -characters/susan/face/eyes/base.webp:516,408,100,25 -characters/susan/face/eyes/base_mask.webp:521,411,89,21 -characters/susan/face/eyes/base_skin.webp:516,405,96,27 -characters/susan/face/eyes/closed.webp:518,409,93,23 -characters/susan/face/eyes/closed_skin.webp:516,405,96,27 -characters/susan/face/eyes/happy.webp:516,407,101,25 -characters/susan/face/eyes/happyCl.webp:517,408,95,21 -characters/susan/face/eyes/happyCl_skin.webp:516,401,96,31 -characters/susan/face/eyes/happy_mask.webp:521,411,89,20 -characters/susan/face/eyes/happy_skin.webp:516,405,96,27 -characters/susan/face/eyes/narrow.webp:517,408,98,25 -characters/susan/face/eyes/narrow_mask.webp:522,414,87,18 -characters/susan/face/eyes/narrow_skin.webp:516,405,96,27 -characters/susan/face/eyes/wide.webp:516,407,100,27 -characters/susan/face/eyes/wide_mask.webp:521,410,89,22 -characters/susan/face/eyes/wide_skin.webp:516,405,96,27 -characters/susan/face/eyes/wink.webp:517,408,95,25 -characters/susan/face/eyes/wink_mask.webp:522,415,29,17 -characters/susan/face/eyes/wink_skin.webp:516,401,96,31 -characters/susan/face/mouth/ahegao.webp:545,468,40,29 -characters/susan/face/mouth/ahegao_drool.webp:545,468,40,29 -characters/susan/face/mouth/angry.webp:547,469,40,25 -characters/susan/face/mouth/annoyed.webp:546,471,26,19 -characters/susan/face/mouth/base.webp:548,473,37,18 -characters/susan/face/mouth/clench.webp:547,467,40,27 -characters/susan/face/mouth/disgust.webp:549,470,34,20 -characters/susan/face/mouth/grin.webp:546,471,41,22 -characters/susan/face/mouth/horny.webp:548,471,35,22 -characters/susan/face/mouth/normal.webp:548,473,35,18 -characters/susan/face/mouth/open.webp:548,468,36,27 -characters/susan/face/mouth/open_tongue.webp:548,468,36,27 -characters/susan/face/mouth/open_wide.webp:547,468,38,28 -characters/susan/face/mouth/open_wide_tongue.webp:547,468,38,34 -characters/susan/face/mouth/smile.webp:545,472,42,20 -characters/susan/face/mouth/soft.webp:549,470,33,24 -characters/susan/face/mouth/upset.webp:551,473,29,18 -characters/susan/face/pupils/ahegao.webp:531,401,65,19 -characters/susan/face/pupils/down.webp:528,416,72,15 -characters/susan/face/pupils/downL.webp:524,416,71,18 -characters/susan/face/pupils/downR.webp:532,416,75,18 -characters/susan/face/pupils/left.webp:524,411,71,18 -characters/susan/face/pupils/mid.webp:531,411,74,18 -characters/susan/face/pupils/right.webp:532,410,75,19 -characters/susan/face/pupils/stare.webp:528,411,71,18 -characters/susan/face/pupils/unfocused.webp:530,406,74,18 -characters/susan/face/pupils/up.webp:527,405,73,19 -characters/tonks/body/armleft/on_hips.webp:620,538,226,389 -characters/tonks/body/armleft/on_hips_fix.webp:620,837,107,90 -characters/tonks/body/armright/on_hips.webp:395,530,163,362 -characters/tonks/body/armright/on_hips_fix.webp:432,826,43,66 -characters/tonks/body/base/front.webp:432,282,350,918 -characters/tonks/body/breasts/normal.webp:430,571,275,147 -characters/tonks/body/breasts/normal_tight.webp:463,564,227,102 -characters/tonks/body/breasts/ribbon.webp:463,564,228,159 +characters/susan/poses/default/bodyparts/frame/default/skin.webp:428,302,308,898 +characters/susan/poses/default/clothes/bottom/jeans_1/0.webp:452,825,272,375 +characters/susan/poses/default/clothes/bottom/jeans_1/1.webp:546,860,13,14 +characters/susan/poses/default/clothes/bottom/jeans_1/outline.webp:451,823,274,377 +characters/susan/poses/default/clothes/bottom/school_skirt_1/0.webp:448,821,291,366 +characters/susan/poses/default/clothes/bottom/school_skirt_1/1.webp:619,858,11,22 +characters/susan/poses/default/clothes/bottom/school_skirt_1/extra.webp:621,859,5,17 +characters/susan/poses/default/clothes/bottom/school_skirt_1/outline.webp:448,817,292,372 +characters/susan/poses/default/clothes/bottom/school_skirt_1/skin.webp:487,829,187,362 +characters/susan/poses/default/clothes/bottom/school_skirt_2/0.webp:447,821,286,239 +characters/susan/poses/default/clothes/bottom/school_skirt_2/1.webp:619,858,11,22 +characters/susan/poses/default/clothes/bottom/school_skirt_2/extra.webp:621,859,5,17 +characters/susan/poses/default/clothes/bottom/school_skirt_2/outline.webp:447,817,288,245 +characters/susan/poses/default/clothes/bottom/school_skirt_2/skin.webp:463,829,231,236 +characters/susan/poses/default/clothes/bottom/school_skirt_3/0.webp:449,821,278,179 +characters/susan/poses/default/clothes/bottom/school_skirt_3/1.webp:619,858,11,22 +characters/susan/poses/default/clothes/bottom/school_skirt_3/extra.webp:621,859,5,17 +characters/susan/poses/default/clothes/bottom/school_skirt_3/outline.webp:447,817,282,185 +characters/susan/poses/default/clothes/bottom/school_skirt_3/skin.webp:457,829,250,177 +characters/susan/poses/default/clothes/bottom/school_skirt_4/0.webp:455,821,266,138 +characters/susan/poses/default/clothes/bottom/school_skirt_4/1.webp:619,858,11,22 +characters/susan/poses/default/clothes/bottom/school_skirt_4/extra.webp:621,859,5,17 +characters/susan/poses/default/clothes/bottom/school_skirt_4/outline.webp:452,817,271,145 +characters/susan/poses/default/clothes/bottom/school_skirt_4/skin.webp:459,829,242,135 +characters/susan/poses/default/clothes/bra/base/0.webp:0,0,1010,1010 +characters/susan/poses/default/clothes/bra/base/mask.webp:0,0,1010,1200 +characters/susan/poses/default/clothes/bra/base/outline.webp:417,515,281,248 +characters/susan/poses/default/clothes/bra/base/skin.webp:416,571,284,241 +characters/susan/poses/default/clothes/bra/basic_bra_1/0.webp:426,636,259,139 +characters/susan/poses/default/clothes/bra/basic_bra_1/1.webp:453,537,226,245 +characters/susan/poses/default/clothes/bra/basic_bra_1/2.webp:529,662,39,45 +characters/susan/poses/default/clothes/bra/basic_bra_1/outline.webp:426,536,256,247 +characters/susan/poses/default/clothes/bra/basic_bra_1/skin.webp:484,539,190,115 +characters/susan/poses/default/clothes/bra/lace_bra_1/0.webp:427,537,265,246 +characters/susan/poses/default/clothes/bra/lace_bra_1/1.webp:441,546,296,171 +characters/susan/poses/default/clothes/bra/lace_bra_1/outline.webp:426,534,311,249 +characters/susan/poses/default/clothes/bra/lace_bra_1/skin.webp:516,556,199,102 +characters/susan/poses/default/clothes/bra/latex_bra_1/0.webp:430,674,246,65 +characters/susan/poses/default/clothes/bra/latex_bra_1/extra.webp:429,674,239,57 +characters/susan/poses/default/clothes/bra/latex_bra_1/outline.webp:427,671,251,70 +characters/susan/poses/default/clothes/bra/latex_bra_1/skin.webp:437,670,242,83 +characters/susan/poses/default/clothes/bra/latex_bra_2/0.webp:428,573,257,198 +characters/susan/poses/default/clothes/bra/latex_bra_2/1.webp:523,661,39,92 +characters/susan/poses/default/clothes/bra/latex_bra_2/extra.webp:428,646,242,98 +characters/susan/poses/default/clothes/bra/latex_bra_2/mask.webp:0,0,1010,1200 +characters/susan/poses/default/clothes/bra/latex_bra_2/outline.webp:427,644,254,108 +characters/susan/poses/default/clothes/bra/latex_bra_2/skin.webp:436,628,239,125 +characters/susan/poses/default/clothes/bra/muggle_bra_1/0.webp:427,634,255,141 +characters/susan/poses/default/clothes/bra/muggle_bra_1/1.webp:465,538,218,168 +characters/susan/poses/default/clothes/bra/muggle_bra_1/outline.webp:426,536,256,241 +characters/susan/poses/default/clothes/bra/muggle_bra_1/skin.webp:484,539,190,115 +characters/susan/poses/default/clothes/bra/sport_bra_1/0.webp:426,540,262,236 +characters/susan/poses/default/clothes/bra/sport_bra_1/1.webp:484,537,200,258 +characters/susan/poses/default/clothes/bra/sport_bra_1/outline.webp:426,535,259,262 +characters/susan/poses/default/clothes/bra/sport_bra_1/skin.webp:493,549,187,249 +characters/susan/poses/default/clothes/garterbelt/garter_belt_1/0.webp:453,779,271,223 +characters/susan/poses/default/clothes/garterbelt/garter_belt_1/outline.webp:452,778,272,225 +characters/susan/poses/default/clothes/garterbelt/garter_belt_1/skin.webp:457,796,245,209 +characters/susan/poses/default/clothes/hair/base/0.webp:475,297,214,231 +characters/susan/poses/default/clothes/hair/base/1.webp:501,304,125,87 +characters/susan/poses/default/clothes/hair/base/extra.webp:607,387,19,28 +characters/susan/poses/default/clothes/hair/base/outline.webp:494,296,197,234 +characters/susan/poses/default/clothes/hair/base/skin.webp:512,355,125,67 +characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0.webp:498,286,212,276 +characters/susan/poses/default/clothes/headgear/priestess_headdress/default/0_back.webp:522,411,185,138 +characters/susan/poses/default/clothes/headgear/priestess_headdress/default/1.webp:494,313,176,212 +characters/susan/poses/default/clothes/headgear/priestess_headdress/default/mask.webp:0,0,1010,1200 +characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline.webp:492,285,222,281 +characters/susan/poses/default/clothes/headgear/priestess_headdress/default/outline_back.webp:513,444,153,117 +characters/susan/poses/default/clothes/neckwear/hat_necklace/0.webp:528,638,53,36 +characters/susan/poses/default/clothes/neckwear/hat_necklace/extra.webp:534,646,41,24 +characters/susan/poses/default/clothes/neckwear/hat_necklace/outline.webp:549,522,101,119 +characters/susan/poses/default/clothes/panties/basic_panties_1/0.webp:465,848,246,122 +characters/susan/poses/default/clothes/panties/basic_panties_1/1.webp:459,836,255,120 +characters/susan/poses/default/clothes/panties/basic_panties_1/2.webp:533,877,29,18 +characters/susan/poses/default/clothes/panties/basic_panties_1/outline.webp:456,834,260,138 +characters/susan/poses/default/clothes/panties/basic_panties_1/skin.webp:462,840,236,119 +characters/susan/poses/default/clothes/panties/lace/0.webp:0,0,1010,1010 +characters/susan/poses/default/clothes/panties/lace/outline.webp:448,884,270,172 +characters/susan/poses/default/clothes/panties/lace_panties_1/0.webp:462,839,253,77 +characters/susan/poses/default/clothes/panties/lace_panties_1/1.webp:515,889,85,80 +characters/susan/poses/default/clothes/panties/lace_panties_1/2.webp:488,863,165,40 +characters/susan/poses/default/clothes/panties/lace_panties_1/outline.webp:461,837,255,133 +characters/susan/poses/default/clothes/panties/lace_panties_1/skin.webp:465,863,217,44 +characters/susan/poses/default/clothes/panties/latex_panties_1/0.webp:462,874,249,95 +characters/susan/poses/default/clothes/panties/latex_panties_1/extra.webp:462,879,225,58 +characters/susan/poses/default/clothes/panties/latex_panties_1/mask.webp:0,0,1010,1200 +characters/susan/poses/default/clothes/panties/latex_panties_1/outline.webp:460,871,254,99 +characters/susan/poses/default/clothes/panties/latex_panties_1/skin.webp:459,864,256,117 +characters/susan/poses/default/clothes/panties/muggle_panties_1/0.webp:467,857,237,114 +characters/susan/poses/default/clothes/panties/muggle_panties_1/1.webp:471,849,228,44 +characters/susan/poses/default/clothes/panties/muggle_panties_1/outline.webp:465,848,241,123 +characters/susan/poses/default/clothes/panties/sport_panties_1/0.webp:454,866,269,157 +characters/susan/poses/default/clothes/panties/sport_panties_1/1.webp:454,846,267,183 +characters/susan/poses/default/clothes/panties/sport_panties_1/outline.webp:452,843,272,187 +characters/susan/poses/default/clothes/panties/sport_panties_1/skin.webp:458,847,240,184 +characters/susan/poses/default/clothes/robe/robe_school_1/0.webp:417,555,349,645 +characters/susan/poses/default/clothes/robe/robe_school_1/1.webp:491,512,218,140 +characters/susan/poses/default/clothes/robe/robe_school_1/extra.webp:517,648,61,13 +characters/susan/poses/default/clothes/robe/robe_school_1/outline.webp:416,510,352,690 +characters/susan/poses/default/clothes/robe/robe_school_1/skin.webp:527,532,130,133 +characters/susan/poses/default/clothes/robe/robe_school_2/0.webp:417,555,349,645 +characters/susan/poses/default/clothes/robe/robe_school_2/1.webp:491,512,218,140 +characters/susan/poses/default/clothes/robe/robe_school_2/extra.webp:406,620,262,580 +characters/susan/poses/default/clothes/robe/robe_school_2/outline.webp:416,510,352,690 +characters/susan/poses/default/clothes/robe/robe_school_2/skin.webp:504,532,192,668 +characters/susan/poses/default/clothes/robe/robe_school_3/0.webp:417,555,349,645 +characters/susan/poses/default/clothes/robe/robe_school_3/1.webp:491,512,218,140 +characters/susan/poses/default/clothes/robe/robe_school_3/1_back.webp:487,1165,23,35 +characters/susan/poses/default/clothes/robe/robe_school_3/extra.webp:406,648,262,552 +characters/susan/poses/default/clothes/robe/robe_school_3/outline.webp:416,510,352,690 +characters/susan/poses/default/clothes/robe/robe_school_3/skin.webp:492,532,204,668 +characters/susan/poses/default/clothes/robe/robe_school_4/0.webp:455,747,314,453 +characters/susan/poses/default/clothes/robe/robe_school_4/1.webp:449,735,292,124 +characters/susan/poses/default/clothes/robe/robe_school_4/1_back.webp:424,997,87,203 +characters/susan/poses/default/clothes/robe/robe_school_4/extra.webp:483,815,233,45 +characters/susan/poses/default/clothes/robe/robe_school_4/outline.webp:447,731,322,469 +characters/susan/poses/default/clothes/robe/robe_school_4/outline_back.webp:425,918,87,282 +characters/susan/poses/default/clothes/robe/robe_school_4/skin.webp:452,770,261,430 +characters/susan/poses/default/clothes/stockings/lace_stockings_1/0.webp:457,996,263,204 +characters/susan/poses/default/clothes/stockings/lace_stockings_1/outline.webp:455,994,268,206 +characters/susan/poses/default/clothes/stockings/short_school_1/0.webp:480,1121,222,79 +characters/susan/poses/default/clothes/stockings/short_school_1/1.webp:469,1078,241,122 +characters/susan/poses/default/clothes/stockings/short_school_1/extra.webp:505,1101,101,90 +characters/susan/poses/default/clothes/stockings/short_school_1/outline.webp:466,1076,246,124 +characters/susan/poses/default/clothes/stockings/short_school_1/skin.webp:471,1076,236,21 +characters/susan/poses/default/clothes/stockings/short_school_2/0.webp:469,1078,241,122 +characters/susan/poses/default/clothes/stockings/short_school_2/extra.webp:505,1101,101,90 +characters/susan/poses/default/clothes/stockings/short_school_2/outline.webp:466,1076,246,124 +characters/susan/poses/default/clothes/stockings/short_school_2/skin.webp:471,1076,236,21 +characters/susan/poses/default/clothes/stockings/striped_stockings_1/0.webp:457,1025,260,175 +characters/susan/poses/default/clothes/stockings/striped_stockings_1/1.webp:459,1040,257,102 +characters/susan/poses/default/clothes/stockings/striped_stockings_1/outline.webp:455,1022,265,178 +characters/susan/poses/default/clothes/stockings/striped_stockings_1/skin.webp:459,1022,239,44 +characters/susan/poses/default/clothes/top/muggle_casual_top_1/0.webp:414,518,329,403 +characters/susan/poses/default/clothes/top/muggle_casual_top_1/outline.webp:424,515,319,408 +characters/susan/poses/default/clothes/top/muggle_casual_top_1/skin.webp:465,534,229,393 +characters/susan/poses/default/clothes/top/priestess_dress/0.webp:423,550,334,650 +characters/susan/poses/default/clothes/top/priestess_dress/0_back.webp:682,1133,24,67 +characters/susan/poses/default/clothes/top/priestess_dress/1.webp:508,500,206,398 +characters/susan/poses/default/clothes/top/priestess_dress/outline.webp:424,497,336,703 +characters/susan/poses/default/clothes/top/top_school_1/0.webp:431,500,308,357 +characters/susan/poses/default/clothes/top/top_school_1/1.webp:429,541,269,337 +characters/susan/poses/default/clothes/top/top_school_1/2.webp:477,534,261,360 +characters/susan/poses/default/clothes/top/top_school_1/3.webp:467,540,272,354 +characters/susan/poses/default/clothes/top/top_school_1/extra.webp:471,558,237,332 +characters/susan/poses/default/clothes/top/top_school_1/outline.webp:427,498,314,398 +characters/susan/poses/default/clothes/top/top_school_1/skin.webp:470,524,241,378 +characters/susan/poses/default/clothes/top/top_school_2/0.webp:431,500,308,357 +characters/susan/poses/default/clothes/top/top_school_2/1.webp:429,541,269,337 +characters/susan/poses/default/clothes/top/top_school_2/2.webp:477,534,261,360 +characters/susan/poses/default/clothes/top/top_school_2/3.webp:467,540,272,354 +characters/susan/poses/default/clothes/top/top_school_2/extra.webp:471,558,237,332 +characters/susan/poses/default/clothes/top/top_school_2/outline.webp:427,498,314,398 +characters/susan/poses/default/clothes/top/top_school_2/skin.webp:470,524,241,378 +characters/susan/poses/default/clothes/top/top_school_3/0.webp:431,500,308,357 +characters/susan/poses/default/clothes/top/top_school_3/1.webp:535,591,40,247 +characters/susan/poses/default/clothes/top/top_school_3/2.webp:429,541,269,337 +characters/susan/poses/default/clothes/top/top_school_3/3.webp:477,534,261,360 +characters/susan/poses/default/clothes/top/top_school_3/4.webp:467,540,272,354 +characters/susan/poses/default/clothes/top/top_school_3/extra.webp:471,558,237,332 +characters/susan/poses/default/clothes/top/top_school_3/outline.webp:427,498,314,398 +characters/susan/poses/default/clothes/top/top_school_3/skin.webp:470,524,241,378 +characters/susan/poses/default/clothes/top/top_school_4/0.webp:431,500,308,357 +characters/susan/poses/default/clothes/top/top_school_4/1.webp:535,591,40,247 +characters/susan/poses/default/clothes/top/top_school_4/2.webp:511,561,227,237 +characters/susan/poses/default/clothes/top/top_school_4/3.webp:511,565,228,247 +characters/susan/poses/default/clothes/top/top_school_4/extra.webp:514,569,194,217 +characters/susan/poses/default/clothes/top/top_school_4/outline.webp:428,498,313,361 +characters/susan/poses/default/clothes/top/top_school_4/skin.webp:486,524,225,338 +characters/susan/poses/default/clothes/top/top_school_5/0.webp:431,500,308,357 +characters/susan/poses/default/clothes/top/top_school_5/1.webp:683,649,55,39 +characters/susan/poses/default/clothes/top/top_school_5/2.webp:683,656,56,25 +characters/susan/poses/default/clothes/top/top_school_5/3.webp:535,591,40,247 +characters/susan/poses/default/clothes/top/top_school_5/extra.webp:697,665,11,19 +characters/susan/poses/default/clothes/top/top_school_5/outline.webp:428,498,313,361 +characters/susan/poses/default/clothes/top/top_school_5/skin.webp:486,524,225,338 +characters/susan/poses/default/clothes/top/top_school_7/0.webp:429,541,269,337 +characters/susan/poses/default/clothes/top/top_school_7/1.webp:477,534,230,360 +characters/susan/poses/default/clothes/top/top_school_7/2.webp:467,540,240,354 +characters/susan/poses/default/clothes/top/top_school_7/extra.webp:471,558,211,332 +characters/susan/poses/default/clothes/top/top_school_7/outline.webp:427,533,283,363 +characters/susan/poses/default/clothes/top/top_school_7/skin.webp:470,525,222,377 +characters/susan/poses/default/cum/body/heavy.webp:509,438,134,417 +characters/susan/poses/default/cum/body/heavy_skin.webp:514,472,114,384 +characters/susan/poses/default/cum/body/light.webp:509,552,119,271 +characters/susan/poses/default/cum/body/light_skin.webp:522,553,106,230 +characters/susan/poses/default/cum/breasts/heavy.webp:467,611,178,141 +characters/susan/poses/default/cum/breasts/heavy_skin.webp:489,611,157,143 +characters/susan/poses/default/cum/breasts/light.webp:455,593,202,126 +characters/susan/poses/default/cum/breasts/light_skin.webp:462,593,195,127 +characters/susan/poses/default/cum/crotch/heavy.webp:440,778,215,321 +characters/susan/poses/default/cum/crotch/heavy_skin.webp:442,779,214,316 +characters/susan/poses/default/cum/crotch/light.webp:440,780,191,314 +characters/susan/poses/default/cum/crotch/light_skin.webp:442,780,190,315 +characters/susan/poses/default/cum/face/heavy/cum.webp:525,373,110,143 +characters/susan/poses/default/cum/face/heavy/skin.webp:527,396,99,113 +characters/susan/poses/default/cum/face/light/cum.webp:525,395,110,115 +characters/susan/poses/default/cum/face/light/skin.webp:527,402,99,96 +characters/susan/poses/default/cum/hair/heavy.webp:489,265,211,169 +characters/susan/poses/default/cum/hair/light.webp:488,356,123,72 +characters/susan/poses/default/cum/legs/heavy.webp:632,1044,90,135 +characters/susan/poses/default/cum/legs/heavy_skin.webp:634,1044,89,136 +characters/susan/poses/default/cum/legs/light.webp:632,1044,22,102 +characters/susan/poses/default/cum/legs/light_skin.webp:634,1044,22,103 +characters/susan/poses/default/cum/pussy/heavy.webp:539,947,32,98 +characters/susan/poses/default/cum/pussy/light.webp:541,949,29,55 +characters/susan/poses/default/emote/angry.webp:578,369,45,43 +characters/susan/poses/default/emote/confused.webp:405,254,127,99 +characters/susan/poses/default/emote/happy.webp:419,221,123,146 +characters/susan/poses/default/emote/hearts.webp:373,206,175,146 +characters/susan/poses/default/emote/shocked.webp:399,223,136,128 +characters/susan/poses/default/emote/sweat.webp:574,350,42,67 +characters/susan/poses/default/face/cheeks/blush/expression.webp:509,418,113,45 +characters/susan/poses/default/face/eyebrows/angry/expression.webp:512,396,105,19 +characters/susan/poses/default/face/eyebrows/angry/skin.webp:513,400,104,24 +characters/susan/poses/default/face/eyebrows/annoyed/expression.webp:512,397,105,16 +characters/susan/poses/default/face/eyebrows/annoyed/skin.webp:513,400,104,24 +characters/susan/poses/default/face/eyebrows/base/expression.webp:512,395,105,14 +characters/susan/poses/default/face/eyebrows/base/skin.webp:513,400,104,32 +characters/susan/poses/default/face/eyebrows/low/expression.webp:513,399,104,14 +characters/susan/poses/default/face/eyebrows/low/skin.webp:514,400,103,25 +characters/susan/poses/default/face/eyebrows/raised/expression.webp:512,391,105,18 +characters/susan/poses/default/face/eyebrows/raised/skin.webp:514,396,103,29 +characters/susan/poses/default/face/eyebrows/sad/expression.webp:513,398,103,15 +characters/susan/poses/default/face/eyebrows/sad/skin.webp:514,402,103,21 +characters/susan/poses/default/face/eyebrows/shocked/expression.webp:512,393,105,15 +characters/susan/poses/default/face/eyebrows/shocked/skin.webp:513,398,104,25 +characters/susan/poses/default/face/eyebrows/worried/expression.webp:513,398,103,16 +characters/susan/poses/default/face/eyebrows/worried/skin.webp:514,402,103,23 +characters/susan/poses/default/face/eyes/base/expression.webp:516,408,100,25 +characters/susan/poses/default/face/eyes/base/eyemask.webp:521,411,89,21 +characters/susan/poses/default/face/eyes/base/skin.webp:516,405,96,27 +characters/susan/poses/default/face/eyes/closed/expression.webp:518,409,93,23 +characters/susan/poses/default/face/eyes/closed/skin.webp:516,405,96,27 +characters/susan/poses/default/face/eyes/happy/expression.webp:516,407,101,25 +characters/susan/poses/default/face/eyes/happy/eyemask.webp:521,411,89,20 +characters/susan/poses/default/face/eyes/happy/skin.webp:516,405,96,27 +characters/susan/poses/default/face/eyes/happyCl/expression.webp:517,408,95,21 +characters/susan/poses/default/face/eyes/happyCl/skin.webp:516,401,96,31 +characters/susan/poses/default/face/eyes/narrow/expression.webp:517,408,98,25 +characters/susan/poses/default/face/eyes/narrow/eyemask.webp:522,414,87,18 +characters/susan/poses/default/face/eyes/narrow/skin.webp:516,405,96,27 +characters/susan/poses/default/face/eyes/wide/expression.webp:516,407,100,27 +characters/susan/poses/default/face/eyes/wide/eyemask.webp:521,410,89,22 +characters/susan/poses/default/face/eyes/wide/skin.webp:516,405,96,27 +characters/susan/poses/default/face/eyes/wink/expression.webp:517,408,95,25 +characters/susan/poses/default/face/eyes/wink/eyemask.webp:522,415,29,17 +characters/susan/poses/default/face/eyes/wink/skin.webp:516,401,96,31 +characters/susan/poses/default/face/mouth/ahegao/expression.webp:545,468,40,29 +characters/susan/poses/default/face/mouth/ahegao_drool/expression.webp:545,468,40,29 +characters/susan/poses/default/face/mouth/angry/expression.webp:547,469,40,25 +characters/susan/poses/default/face/mouth/annoyed/expression.webp:546,471,26,19 +characters/susan/poses/default/face/mouth/base/expression.webp:548,473,37,18 +characters/susan/poses/default/face/mouth/clench/expression.webp:547,467,40,27 +characters/susan/poses/default/face/mouth/disgust/expression.webp:549,470,34,20 +characters/susan/poses/default/face/mouth/grin/expression.webp:546,471,41,22 +characters/susan/poses/default/face/mouth/horny/expression.webp:548,471,35,22 +characters/susan/poses/default/face/mouth/normal/expression.webp:548,473,35,18 +characters/susan/poses/default/face/mouth/open/expression.webp:548,468,36,27 +characters/susan/poses/default/face/mouth/open_tongue/expression.webp:548,468,36,27 +characters/susan/poses/default/face/mouth/open_wide/expression.webp:547,468,38,28 +characters/susan/poses/default/face/mouth/open_wide_tongue/open_wide_tongue.webp:547,468,38,34 +characters/susan/poses/default/face/mouth/smile/expression.webp:545,472,42,20 +characters/susan/poses/default/face/mouth/soft/expression.webp:549,470,33,24 +characters/susan/poses/default/face/mouth/upset/expression.webp:551,473,29,18 +characters/susan/poses/default/face/pupils/ahegao/expression.webp:531,401,65,19 +characters/susan/poses/default/face/pupils/down/expression.webp:528,416,72,15 +characters/susan/poses/default/face/pupils/downL/expression.webp:524,416,71,18 +characters/susan/poses/default/face/pupils/downR/expression.webp:532,416,75,18 +characters/susan/poses/default/face/pupils/left/expression.webp:524,411,71,18 +characters/susan/poses/default/face/pupils/mid/expression.webp:531,411,74,18 +characters/susan/poses/default/face/pupils/right/expression.webp:532,410,75,19 +characters/susan/poses/default/face/pupils/stare/expression.webp:528,411,71,18 +characters/susan/poses/default/face/pupils/unfocused/expression.webp:530,406,74,18 +characters/susan/poses/default/face/pupils/up/expression.webp:527,405,73,19 characters/tonks/chibis/bj_desk/01.webp:93,54,366,456 characters/tonks/chibis/bj_desk/02.webp:93,54,366,456 characters/tonks/chibis/bj_desk/shocked_01.webp:93,54,445,456 @@ -4455,569 +4912,674 @@ characters/tonks/chibis/nt_walk_04_trousers.webp:61,200,69,134 characters/tonks/chibis/nt_walk_05.webp:30,25,119,320 characters/tonks/chibis/nt_walk_05_shoes.webp:46,302,101,43 characters/tonks/chibis/nt_walk_05_trousers.webp:59,200,82,129 -characters/tonks/clothes/accessory/bells_1/0.webp:409,948,322,72 -characters/tonks/clothes/accessory/bells_1/extra.webp:409,948,322,72 -characters/tonks/clothes/accessory/bells_1/outline.webp:409,947,323,74 -characters/tonks/clothes/accessory/bells_1/skin.webp:441,970,248,52 -characters/tonks/clothes/accessory/belt_1/0.webp:475,777,181,66 -characters/tonks/clothes/accessory/belt_1/1.webp:516,787,48,56 -characters/tonks/clothes/accessory/belt_1/extra.webp:484,786,150,56 -characters/tonks/clothes/accessory/belt_1/outline.webp:475,775,184,70 -characters/tonks/clothes/accessory/flower/0.webp:633,542,73,65 -characters/tonks/clothes/accessory/flower/extra.webp:634,542,72,64 -characters/tonks/clothes/accessory/flower/outline.webp:632,541,75,67 -characters/tonks/clothes/accessory/neck_towel/0.webp:433,497,265,269 -characters/tonks/clothes/accessory/neck_towel/outline.webp:431,494,269,274 -characters/tonks/clothes/accessory/office_pin/0.webp:440,671,46,30 -characters/tonks/clothes/accessory/office_pin/1.webp:451,647,16,27 -characters/tonks/clothes/accessory/office_pin/2.webp:442,671,44,11 -characters/tonks/clothes/accessory/office_pin/extra.webp:441,672,42,25 -characters/tonks/clothes/accessory/office_pin/outline.webp:440,646,47,56 -characters/tonks/clothes/accessory/police_badge/0.webp:609,609,56,52 -characters/tonks/clothes/accessory/police_badge/outline.webp:608,608,58,54 -characters/tonks/clothes/accessory/succubus_tail/0.webp:694,871,142,163 -characters/tonks/clothes/accessory/succubus_tail/1.webp:782,872,55,157 -characters/tonks/clothes/accessory/succubus_tail/outline.webp:691,869,148,168 -characters/tonks/clothes/accessory/succubus_wings/0.webp:362,456,501,411 -characters/tonks/clothes/accessory/succubus_wings/1.webp:362,466,501,319 -characters/tonks/clothes/accessory/succubus_wings/2.webp:416,449,385,417 -characters/tonks/clothes/accessory/succubus_wings/outline.webp:360,446,506,423 -characters/tonks/clothes/bottom/jeans/0.webp:429,870,324,330 -characters/tonks/clothes/bottom/jeans/extra.webp:466,986,267,214 -characters/tonks/clothes/bottom/jeans/outline.webp:428,868,327,332 -characters/tonks/clothes/bottom/latex_leggings/0.webp:434,788,318,412 -characters/tonks/clothes/bottom/latex_leggings/1.webp:434,792,318,408 -characters/tonks/clothes/bottom/latex_leggings/extra.webp:434,791,302,408 -characters/tonks/clothes/bottom/latex_leggings/outline.webp:432,779,323,421 -characters/tonks/clothes/bottom/latex_leggings/skin.webp:492,791,141,34 -characters/tonks/clothes/bottom/leggings/0.webp:433,818,321,382 -characters/tonks/clothes/bottom/leggings/outline.webp:433,815,322,385 -characters/tonks/clothes/bottom/leggings_hole/0.webp:433,818,321,382 -characters/tonks/clothes/bottom/leggings_hole/outline.webp:433,815,322,385 -characters/tonks/clothes/bottom/mechanic_shorts/0.webp:430,857,276,145 -characters/tonks/clothes/bottom/mechanic_shorts/1.webp:436,851,248,86 -characters/tonks/clothes/bottom/mechanic_shorts/2.webp:568,889,35,35 -characters/tonks/clothes/bottom/mechanic_shorts/3.webp:432,945,278,72 -characters/tonks/clothes/bottom/mechanic_shorts/outline.webp:428,848,284,171 -characters/tonks/clothes/bottom/mechanic_shorts/skin.webp:441,889,248,133 -characters/tonks/clothes/bottom/office/0.webp:428,819,332,381 -characters/tonks/clothes/bottom/office/outline.webp:426,817,336,383 -characters/tonks/clothes/bottom/office/skin.webp:488,822,156,32 -characters/tonks/clothes/bottom/police/0.webp:431,823,279,196 -characters/tonks/clothes/bottom/police/1.webp:460,823,211,61 -characters/tonks/clothes/bottom/police/outline.webp:428,821,286,200 -characters/tonks/clothes/bottom/school_skirt_2/0.webp:422,775,305,281 -characters/tonks/clothes/bottom/school_skirt_2/1.webp:587,806,14,27 -characters/tonks/clothes/bottom/school_skirt_2/outline.webp:420,774,309,284 -characters/tonks/clothes/bottom/school_skirt_3/0.webp:425,775,297,214 -characters/tonks/clothes/bottom/school_skirt_3/1.webp:587,806,14,27 -characters/tonks/clothes/bottom/school_skirt_3/outline.webp:422,774,302,204 -characters/tonks/clothes/bottom/school_skirt_4/0.webp:431,775,284,214 -characters/tonks/clothes/bottom/school_skirt_4/1.webp:587,806,14,27 -characters/tonks/clothes/bottom/school_skirt_4/outline.webp:429,774,287,171 -characters/tonks/clothes/bottom/sweatpants/0.webp:429,834,328,366 -characters/tonks/clothes/bottom/sweatpants/1.webp:662,856,96,344 -characters/tonks/clothes/bottom/sweatpants/outline.webp:427,833,332,367 -characters/tonks/clothes/bottom/xmas/0.webp:438,855,254,106 -characters/tonks/clothes/bottom/xmas/1.webp:422,831,285,154 -characters/tonks/clothes/bottom/xmas/extra.webp:439,858,218,97 -characters/tonks/clothes/bottom/xmas/outline.webp:421,830,287,156 -characters/tonks/clothes/bottom/xmas/skin.webp:437,834,227,155 -characters/tonks/clothes/bra/bikini/0.webp:442,522,257,163 -characters/tonks/clothes/bra/bikini/1.webp:437,607,201,72 -characters/tonks/clothes/bra/bikini/outline.webp:435,520,265,166 -characters/tonks/clothes/bra/bikini_bra_1/0.webp:436,520,252,187 -characters/tonks/clothes/bra/bikini_bra_1/1.webp:444,520,245,180 -characters/tonks/clothes/bra/bikini_bra_1/outline.webp:435,518,255,190 -characters/tonks/clothes/bra/bikini_bra_1/skin.webp:487,539,172,146 -characters/tonks/clothes/bra/bikini_bra_1_UK/0.webp:436,520,252,187 -characters/tonks/clothes/bra/bikini_bra_1_UK/1.webp:436,582,221,125 -characters/tonks/clothes/bra/bikini_bra_1_UK/2.webp:454,589,203,117 -characters/tonks/clothes/bra/bikini_bra_1_UK/3.webp:444,520,245,180 -characters/tonks/clothes/bra/bikini_bra_1_UK/outline.webp:435,518,255,190 -characters/tonks/clothes/bra/bikini_bra_1_UK/skin.webp:487,539,172,146 -characters/tonks/clothes/bra/bikini_bra_1_USA/0.webp:436,520,252,187 -characters/tonks/clothes/bra/bikini_bra_1_USA/1.webp:551,582,106,122 -characters/tonks/clothes/bra/bikini_bra_1_USA/2.webp:436,592,82,115 -characters/tonks/clothes/bra/bikini_bra_1_USA/3.webp:443,520,246,185 -characters/tonks/clothes/bra/bikini_bra_1_USA/outline.webp:435,518,255,190 -characters/tonks/clothes/bra/bikini_bra_1_USA/skin.webp:487,539,172,146 -characters/tonks/clothes/bra/bikini_bra_1_striped/0.webp:436,520,252,187 -characters/tonks/clothes/bra/bikini_bra_1_striped/1.webp:436,582,221,125 -characters/tonks/clothes/bra/bikini_bra_1_striped/2.webp:444,520,245,180 -characters/tonks/clothes/bra/bikini_bra_1_striped/outline.webp:435,518,255,190 -characters/tonks/clothes/bra/bikini_bra_1_striped/skin.webp:487,539,172,146 -characters/tonks/clothes/bra/pasties_1/0.webp:436,627,194,48 -characters/tonks/clothes/bra/pasties_1/extra.webp:439,633,168,17 -characters/tonks/clothes/bra/pasties_1/outline.webp:433,627,200,49 -characters/tonks/clothes/bra/pasties_2/0.webp:436,627,194,48 -characters/tonks/clothes/bra/pasties_2/1.webp:433,644,182,32 -characters/tonks/clothes/bra/pasties_2/extra.webp:434,633,177,37 -characters/tonks/clothes/bra/pasties_2/outline.webp:433,627,200,49 -characters/tonks/clothes/bra/ribbon/0.webp:463,619,236,126 -characters/tonks/clothes/bra/ribbon/backupskin.webp:483,626,189,121 -characters/tonks/clothes/bra/ribbon/extra.webp:464,619,195,126 -characters/tonks/clothes/bra/ribbon/mask.webp:0,0,1010,1200 -characters/tonks/clothes/bra/ribbon/outline.webp:461,617,240,129 -characters/tonks/clothes/bra/ribbon/skin.webp:434,564,257,183 -characters/tonks/clothes/earrings/bells/0.webp:637,424,22,36 -characters/tonks/clothes/earrings/bells/extra.webp:638,426,10,30 -characters/tonks/clothes/earrings/bells/outline.webp:637,424,22,36 -characters/tonks/clothes/earrings/cartilege/0.webp:647,419,12,12 -characters/tonks/clothes/earrings/cartilege/extra.webp:649,419,9,10 -characters/tonks/clothes/earrings/cartilege/outline.webp:647,417,13,15 -characters/tonks/clothes/earrings/hoops/0.webp:504,425,158,49 -characters/tonks/clothes/earrings/hoops/extra.webp:504,426,158,47 -characters/tonks/clothes/earrings/hoops/outline.webp:504,424,158,50 -characters/tonks/clothes/earrings/industrial/0.webp:643,379,27,18 -characters/tonks/clothes/earrings/industrial/extra.webp:643,379,26,17 -characters/tonks/clothes/earrings/industrial/outline.webp:642,378,29,20 -characters/tonks/clothes/earrings/pearls/0.webp:637,424,19,19 -characters/tonks/clothes/earrings/pearls/extra.webp:637,424,18,19 -characters/tonks/clothes/earrings/pearls/outline.webp:635,422,23,23 -characters/tonks/clothes/earrings/pearls_2/0.webp:640,425,12,23 -characters/tonks/clothes/earrings/pearls_2/extra.webp:644,426,9,17 -characters/tonks/clothes/earrings/pearls_2/outline.webp:638,424,15,25 -characters/tonks/clothes/garterbelt/long_basic_1/0.webp:449,847,241,161 -characters/tonks/clothes/garterbelt/long_basic_1/outline.webp:448,846,244,163 -characters/tonks/clothes/glasses/police/0.webp:498,389,144,55 -characters/tonks/clothes/glasses/police/1.webp:500,405,127,36 -characters/tonks/clothes/glasses/police/outline.webp:497,385,148,61 -characters/tonks/clothes/glasses/shades/0.webp:498,389,144,56 -characters/tonks/clothes/glasses/shades/1.webp:501,404,126,37 -characters/tonks/clothes/glasses/shades/outline.webp:497,384,149,62 -characters/tonks/clothes/gloves/auror_gloves/0.webp:437,828,293,83 -characters/tonks/clothes/gloves/auror_gloves/0_front.webp:437,828,293,83 -characters/tonks/clothes/gloves/auror_gloves/outline.webp:435,826,297,87 -characters/tonks/clothes/gloves/auror_gloves/outline_front.webp:435,826,297,87 -characters/tonks/clothes/gloves/leather_gloves/0.webp:433,827,295,99 -characters/tonks/clothes/gloves/leather_gloves/0_front.webp:433,827,295,99 -characters/tonks/clothes/gloves/leather_gloves/extra.webp:433,830,291,89 -characters/tonks/clothes/gloves/leather_gloves/outline.webp:432,826,300,101 -characters/tonks/clothes/gloves/leather_gloves/outline_front.webp:432,826,300,101 -characters/tonks/clothes/gloves/mechanic_gloves/0.webp:433,818,298,108 -characters/tonks/clothes/gloves/mechanic_gloves/outline.webp:432,748,519,179 -characters/tonks/clothes/gloves/mechanic_gloves/skin.webp:447,842,216,80 -characters/tonks/clothes/gloves/succubus_gloves/0.webp:396,539,449,387 -characters/tonks/clothes/gloves/succubus_gloves/0_front.webp:396,539,449,387 -characters/tonks/clothes/gloves/succubus_gloves/outline.webp:395,615,451,312 -characters/tonks/clothes/gloves/succubus_gloves/outline_front.webp:395,615,451,312 -characters/tonks/clothes/gloves/xmas/0.webp:438,813,300,63 -characters/tonks/clothes/gloves/xmas/outline.webp:437,811,302,67 -characters/tonks/clothes/hair/base/0.webp:482,220,236,248 -characters/tonks/clothes/hair/base/1.webp:494,235,205,121 -characters/tonks/clothes/hair/base/outline.webp:481,218,239,254 -characters/tonks/clothes/hair/base/skin.webp:519,328,98,61 -characters/tonks/clothes/hair/mechanic_hair/0.webp:473,249,217,247 -characters/tonks/clothes/hair/mechanic_hair/1.webp:482,256,198,123 -characters/tonks/clothes/hair/mechanic_hair/outline.webp:472,248,221,255 -characters/tonks/clothes/hair/mechanic_hair/skin.webp:532,336,91,63 -characters/tonks/clothes/hair/new/0.webp:475,256,245,235 -characters/tonks/clothes/hair/new/0_back.webp:462,399,101,116 -characters/tonks/clothes/hair/new/1.webp:477,263,235,139 -characters/tonks/clothes/hair/new/1_back.webp:477,398,23,23 -characters/tonks/clothes/hair/new/outline.webp:473,254,249,238 -characters/tonks/clothes/hair/new/outline_back.webp:460,398,105,120 -characters/tonks/clothes/hair/new/skin.webp:511,308,112,86 -characters/tonks/clothes/headgear/antlers/0.webp:459,232,248,86 -characters/tonks/clothes/headgear/antlers/outline.webp:458,231,250,88 -characters/tonks/clothes/headgear/bunny/0.webp:483,162,161,141 -characters/tonks/clothes/headgear/bunny/1.webp:493,175,139,117 -characters/tonks/clothes/headgear/bunny/outline.webp:482,161,163,148 -characters/tonks/clothes/headgear/classy_hat/0.webp:0,0,0,0 -characters/tonks/clothes/headgear/classy_hat/0_back.webp:297,245,553,228 -characters/tonks/clothes/headgear/classy_hat/0_front.webp:338,241,465,158 -characters/tonks/clothes/headgear/classy_hat/extra.webp:0,0,0,0 -characters/tonks/clothes/headgear/classy_hat/extra_front.webp:352,241,426,153 -characters/tonks/clothes/headgear/classy_hat/outline.webp:377,266,390,192 -characters/tonks/clothes/headgear/classy_hat/outline_back.webp:295,242,556,235 -characters/tonks/clothes/headgear/classy_hat/outline_front.webp:322,239,502,159 -characters/tonks/clothes/headgear/elf/0.webp:617,201,182,102 -characters/tonks/clothes/headgear/elf/1.webp:596,238,114,91 -characters/tonks/clothes/headgear/elf/extra.webp:617,201,172,92 -characters/tonks/clothes/headgear/elf/outline.webp:594,200,207,131 -characters/tonks/clothes/headgear/horns/0.webp:474,243,220,98 -characters/tonks/clothes/headgear/horns/1.webp:474,243,220,52 -characters/tonks/clothes/headgear/horns/outline.webp:472,242,224,101 -characters/tonks/clothes/headgear/mechanic_cap/0.webp:507,263,171,92 -characters/tonks/clothes/headgear/mechanic_cap/1.webp:484,289,161,97 -characters/tonks/clothes/headgear/mechanic_cap/extra.webp:543,294,25,34 -characters/tonks/clothes/headgear/mechanic_cap/mask.webp:0,0,1010,1200 -characters/tonks/clothes/headgear/mechanic_cap/outline.webp:481,261,199,127 -characters/tonks/clothes/headgear/mechanic_cap/skin.webp:514,368,112,40 -characters/tonks/clothes/headgear/police/0.webp:450,282,218,127 -characters/tonks/clothes/headgear/police/1.webp:469,257,192,74 -characters/tonks/clothes/headgear/police/2.webp:477,298,142,29 -characters/tonks/clothes/headgear/police/mask.webp:0,0,1010,1200 -characters/tonks/clothes/headgear/police/outline.webp:449,256,219,153 -characters/tonks/clothes/headgear/police/skin.webp:525,335,90,51 -characters/tonks/clothes/makeup/elf_ears/0.webp:0,0,1,1 -characters/tonks/clothes/makeup/elf_ears/extra.webp:637,363,54,67 -characters/tonks/clothes/makeup/elf_ears/outline.webp:636,363,56,68 -characters/tonks/clothes/makeup/lipstick/angry.webp:119,177,466,301 -characters/tonks/clothes/makeup/lipstick/annoyed.webp:541,447,35,19 -characters/tonks/clothes/makeup/lipstick/base.webp:541,446,52,21 -characters/tonks/clothes/makeup/lipstick/clench.webp:542,441,56,34 -characters/tonks/clothes/makeup/lipstick/crooked_smile.webp:541,437,54,36 -characters/tonks/clothes/makeup/lipstick/disgust.webp:540,450,48,22 -characters/tonks/clothes/makeup/lipstick/grin.webp:540,443,56,35 -characters/tonks/clothes/makeup/lipstick/horny.webp:543,443,46,30 -characters/tonks/clothes/makeup/lipstick/mad.webp:542,444,48,29 -characters/tonks/clothes/makeup/lipstick/normal.webp:543,446,42,21 -characters/tonks/clothes/makeup/lipstick/open.webp:544,444,36,34 -characters/tonks/clothes/makeup/lipstick/open_wide.webp:542,441,40,53 -characters/tonks/clothes/makeup/lipstick/open_wide_tongue.webp:542,441,40,49 -characters/tonks/clothes/makeup/lipstick/open_wide_tongue2.webp:542,441,40,49 -characters/tonks/clothes/makeup/lipstick/open_wide_tongue2_cum.webp:542,441,40,49 -characters/tonks/clothes/makeup/lipstick/open_wide_tongue_cum.webp:542,441,40,49 -characters/tonks/clothes/makeup/lipstick/scream.webp:540,444,49,35 -characters/tonks/clothes/makeup/lipstick/silly.webp:542,441,47,35 -characters/tonks/clothes/makeup/lipstick/soft.webp:545,446,34,27 -characters/tonks/clothes/makeup/lipstick/upset.webp:545,443,41,24 -characters/tonks/clothes/neckwear/bell_1/0.webp:574,494,73,34 -characters/tonks/clothes/neckwear/bell_1/1.webp:553,509,56,49 -characters/tonks/clothes/neckwear/bell_1/extra.webp:554,501,73,54 -characters/tonks/clothes/neckwear/bell_1/outline.webp:552,492,97,67 -characters/tonks/clothes/neckwear/bunny_bowtie_1/0.webp:556,477,98,90 -characters/tonks/clothes/neckwear/bunny_bowtie_1/1.webp:540,527,80,48 -characters/tonks/clothes/neckwear/bunny_bowtie_1/outline.webp:539,475,118,101 -characters/tonks/clothes/neckwear/bunny_bowtie_1/skin.webp:532,515,93,65 -characters/tonks/clothes/neckwear/choker_1/0.webp:574,494,73,34 -characters/tonks/clothes/neckwear/choker_1/extra.webp:575,501,52,24 -characters/tonks/clothes/neckwear/choker_1/outline.webp:573,492,76,38 -characters/tonks/clothes/neckwear/choker_beads/0.webp:575,496,69,27 -characters/tonks/clothes/neckwear/choker_beads/1.webp:572,498,73,21 -characters/tonks/clothes/neckwear/choker_beads/outline.webp:572,495,73,29 -characters/tonks/clothes/neckwear/pearls_1/0.webp:564,504,90,37 -characters/tonks/clothes/neckwear/pearls_1/extra.webp:564,504,91,38 -characters/tonks/clothes/neckwear/pearls_1/outline.webp:562,501,96,44 -characters/tonks/clothes/neckwear/pearls_2/0.webp:561,518,95,70 -characters/tonks/clothes/neckwear/pearls_2/extra.webp:562,519,92,64 -characters/tonks/clothes/neckwear/pearls_2/outline.webp:560,517,96,71 -characters/tonks/clothes/neckwear/succubus_colar/0.webp:575,501,75,61 -characters/tonks/clothes/neckwear/succubus_colar/outline.webp:575,496,76,68 -characters/tonks/clothes/neckwear/whistle/0.webp:535,509,121,149 -characters/tonks/clothes/neckwear/whistle/1.webp:535,654,27,47 -characters/tonks/clothes/neckwear/whistle/outline.webp:534,507,122,195 -characters/tonks/clothes/panties/base/0.webp:468,816,193,153 -characters/tonks/clothes/panties/base/1.webp:534,946,30,26 -characters/tonks/clothes/panties/base/outline.webp:468,816,194,157 -characters/tonks/clothes/panties/bikini_panties_1/0.webp:475,805,179,165 -characters/tonks/clothes/panties/bikini_panties_1/1.webp:503,876,85,46 -characters/tonks/clothes/panties/bikini_panties_1/outline.webp:475,803,180,168 -characters/tonks/clothes/panties/bikini_panties_1/skin.webp:486,819,154,101 -characters/tonks/clothes/panties/bikini_panties_1_UK/0.webp:475,805,179,165 -characters/tonks/clothes/panties/bikini_panties_1_UK/1.webp:507,908,69,63 -characters/tonks/clothes/panties/bikini_panties_1_UK/2.webp:510,898,74,69 -characters/tonks/clothes/panties/bikini_panties_1_UK/outline.webp:475,803,180,168 -characters/tonks/clothes/panties/bikini_panties_1_UK/skin.webp:486,819,154,101 -characters/tonks/clothes/panties/bikini_panties_1_jock/0.webp:475,805,179,165 -characters/tonks/clothes/panties/bikini_panties_1_jock/outline.webp:475,803,180,168 -characters/tonks/clothes/panties/bikini_panties_1_jock/skin.webp:486,819,154,101 -characters/tonks/clothes/panties/bikini_panties_1_striped/0.webp:475,805,179,165 -characters/tonks/clothes/panties/bikini_panties_1_striped/1.webp:475,805,180,165 -characters/tonks/clothes/panties/bikini_panties_1_striped/outline.webp:475,803,180,168 -characters/tonks/clothes/panties/bikini_panties_1_striped/skin.webp:486,819,154,101 -characters/tonks/clothes/panties/mechanic_bikini/0.webp:460,824,205,147 -characters/tonks/clothes/panties/mechanic_bikini/outline.webp:458,822,210,151 -characters/tonks/clothes/panties/mechanic_bikini/skin.webp:466,832,181,108 -characters/tonks/clothes/panties/ribbon/0.webp:487,869,215,179 -characters/tonks/clothes/panties/ribbon/extra.webp:487,872,175,175 -characters/tonks/clothes/panties/ribbon/outline.webp:485,867,219,181 -characters/tonks/clothes/panties/ribbon/skin.webp:485,871,183,167 -characters/tonks/clothes/panties/succubus_panties/0.webp:455,840,217,129 -characters/tonks/clothes/panties/succubus_panties/1.webp:493,894,103,23 -characters/tonks/clothes/panties/succubus_panties/outline.webp:453,839,221,131 -characters/tonks/clothes/piercing/belly_dick/0.webp:531,808,15,59 -characters/tonks/clothes/piercing/belly_dick/extra.webp:531,810,14,57 -characters/tonks/clothes/piercing/belly_dick/outline.webp:530,808,16,59 -characters/tonks/clothes/piercing/belly_heart/0.webp:532,808,14,48 -characters/tonks/clothes/piercing/belly_heart/extra.webp:531,810,14,45 -characters/tonks/clothes/piercing/belly_heart/outline.webp:531,808,15,48 -characters/tonks/clothes/piercing/belly_stud/0.webp:539,798,7,18 -characters/tonks/clothes/piercing/belly_stud/extra.webp:539,800,6,16 -characters/tonks/clothes/piercing/belly_stud/outline.webp:538,798,8,18 -characters/tonks/clothes/piercing/clit_stud/0.webp:540,947,10,11 -characters/tonks/clothes/piercing/clit_stud/extra.webp:541,947,9,11 -characters/tonks/clothes/piercing/clit_stud/outline.webp:539,946,12,13 -characters/tonks/clothes/piercing/nipple_bells/0.webp:433,644,182,32 -characters/tonks/clothes/piercing/nipple_bells/extra.webp:434,647,177,23 -characters/tonks/clothes/piercing/nipple_bells/outline.webp:433,644,182,32 -characters/tonks/clothes/piercing/nipple_rings/0.webp:438,646,175,18 -characters/tonks/clothes/piercing/nipple_rings/extra.webp:439,646,173,17 -characters/tonks/clothes/piercing/nipple_rings/outline.webp:438,645,176,19 -characters/tonks/clothes/piercing/nipple_rings2/0.webp:438,646,175,18 -characters/tonks/clothes/piercing/nipple_rings2/extra.webp:439,646,173,18 -characters/tonks/clothes/piercing/nipple_rings2/outline.webp:438,645,176,20 -characters/tonks/clothes/piercing/nipple_rings3/0.webp:439,644,176,15 -characters/tonks/clothes/piercing/nipple_rings3/extra.webp:439,647,172,13 -characters/tonks/clothes/piercing/nipple_rings3/outline.webp:439,644,176,16 -characters/tonks/clothes/piercing/nipple_stud/0.webp:447,642,169,11 -characters/tonks/clothes/piercing/nipple_stud/extra.webp:448,643,167,8 -characters/tonks/clothes/piercing/nipple_stud/outline.webp:445,641,172,13 -characters/tonks/clothes/pubes/arrow/0.webp:522,887,39,51 -characters/tonks/clothes/pubes/arrow/outline.webp:522,889,34,44 -characters/tonks/clothes/pubes/beaver/0.webp:515,886,64,88 -characters/tonks/clothes/pubes/beaver/outline.webp:517,890,58,82 -characters/tonks/clothes/pubes/stuble/0.webp:508,909,78,48 -characters/tonks/clothes/pubes/unshaved/0.webp:514,908,63,53 -characters/tonks/clothes/robe/auror_coat/0.webp:396,499,449,701 -characters/tonks/clothes/robe/auror_coat/0_back.webp:454,496,218,704 -characters/tonks/clothes/robe/auror_coat/0_front.webp:694,736,128,148 -characters/tonks/clothes/robe/auror_coat/1.webp:472,608,202,461 -characters/tonks/clothes/robe/auror_coat/outline.webp:394,497,452,703 -characters/tonks/clothes/robe/auror_coat/outline_front.webp:693,736,130,149 -characters/tonks/clothes/robe/auror_coat/skin.webp:526,537,116,107 -characters/tonks/clothes/robe/dressing_gown/0.webp:391,522,465,497 -characters/tonks/clothes/robe/dressing_gown/1.webp:390,522,466,497 -characters/tonks/clothes/robe/dressing_gown/outline.webp:389,519,468,501 -characters/tonks/clothes/robe/dressing_gown/skin.webp:442,533,299,493 -characters/tonks/clothes/robe/office/0.webp:392,522,460,461 -characters/tonks/clothes/robe/office/0_back.webp:695,838,56,94 -characters/tonks/clothes/robe/office/1.webp:469,764,279,100 -characters/tonks/clothes/robe/office/outline.webp:390,521,464,464 -characters/tonks/clothes/robe/office/skin.webp:458,530,158,454 -characters/tonks/clothes/robe/silk_robe/0.webp:393,507,386,693 -characters/tonks/clothes/robe/silk_robe/0_back.webp:563,1016,62,184 -characters/tonks/clothes/robe/silk_robe/outline.webp:388,506,395,694 -characters/tonks/clothes/robe/silk_robe/outline_back.webp:561,1012,68,188 -characters/tonks/clothes/stockings/auror/0.webp:434,818,320,382 -characters/tonks/clothes/stockings/auror/1.webp:467,906,164,21 -characters/tonks/clothes/stockings/auror/outline.webp:433,815,322,385 -characters/tonks/clothes/stockings/bunny_stockings_1/0.webp:433,800,320,400 -characters/tonks/clothes/stockings/bunny_stockings_1/outline.webp:431,797,325,403 -characters/tonks/clothes/stockings/long_basic_1/0.webp:436,968,317,232 -characters/tonks/clothes/stockings/long_basic_1/extra.webp:441,985,291,215 -characters/tonks/clothes/stockings/long_basic_1/outline.webp:432,932,323,268 -characters/tonks/clothes/stockings/long_basic_1/skin.webp:436,944,253,54 -characters/tonks/clothes/stockings/long_basic_2/0.webp:436,968,317,232 -characters/tonks/clothes/stockings/long_basic_2/1.webp:439,973,281,70 -characters/tonks/clothes/stockings/long_basic_2/extra.webp:441,985,291,215 -characters/tonks/clothes/stockings/long_basic_2/outline.webp:432,932,323,268 -characters/tonks/clothes/stockings/long_basic_2/skin.webp:436,944,253,54 -characters/tonks/clothes/stockings/long_meshed/0.webp:436,968,317,232 -characters/tonks/clothes/stockings/long_meshed/1.webp:436,978,316,222 -characters/tonks/clothes/stockings/long_meshed/extra.webp:441,985,291,215 -characters/tonks/clothes/stockings/long_meshed/outline.webp:432,932,323,268 -characters/tonks/clothes/stockings/long_meshed/skin.webp:436,944,253,54 -characters/tonks/clothes/stockings/long_sports/0.webp:436,968,317,232 -characters/tonks/clothes/stockings/long_sports/1.webp:441,998,312,202 -characters/tonks/clothes/stockings/long_sports/extra.webp:441,985,291,215 -characters/tonks/clothes/stockings/long_sports/outline.webp:432,932,323,268 -characters/tonks/clothes/stockings/long_sports/skin.webp:436,944,253,54 -characters/tonks/clothes/stockings/long_striped/0.webp:436,968,317,232 -characters/tonks/clothes/stockings/long_striped/1.webp:441,998,310,202 -characters/tonks/clothes/stockings/long_striped/extra.webp:441,985,291,215 -characters/tonks/clothes/stockings/long_striped/outline.webp:432,932,323,268 -characters/tonks/clothes/stockings/long_striped/skin.webp:436,944,253,54 -characters/tonks/clothes/stockings/mechanic_thigh_socks/0.webp:450,999,303,201 -characters/tonks/clothes/stockings/mechanic_thigh_socks/outline.webp:447,995,308,205 -characters/tonks/clothes/stockings/mechanic_thigh_socks/skin.webp:443,1007,260,61 -characters/tonks/clothes/stockings/xmas/0.webp:449,847,286,247 -characters/tonks/clothes/stockings/xmas/1.webp:456,1054,298,146 -characters/tonks/clothes/stockings/xmas/outline.webp:448,846,307,354 -characters/tonks/clothes/top/auror/0.webp:429,586,278,389 -characters/tonks/clothes/top/auror/1.webp:431,610,274,363 -characters/tonks/clothes/top/auror/outline.webp:427,531,282,445 -characters/tonks/clothes/top/auror/skin.webp:413,596,79,95 -characters/tonks/clothes/top/auror2/0.webp:429,586,278,389 -characters/tonks/clothes/top/auror2/outline.webp:427,531,282,445 -characters/tonks/clothes/top/auror2/skin.webp:413,596,79,95 -characters/tonks/clothes/top/bunnysuit/0.webp:442,616,251,355 -characters/tonks/clothes/top/bunnysuit/extra.webp:457,621,167,37 -characters/tonks/clothes/top/bunnysuit/outline.webp:441,614,253,359 -characters/tonks/clothes/top/bunnysuit/skin.webp:413,616,68,75 -characters/tonks/clothes/top/cavegirl_dress/0.webp:423,528,291,469 -characters/tonks/clothes/top/cavegirl_dress/extra.webp:424,551,237,442 -characters/tonks/clothes/top/cavegirl_dress/outline.webp:422,525,293,474 -characters/tonks/clothes/top/cavegirl_dress/skin.webp:448,539,227,461 -characters/tonks/clothes/top/classy_dress/0.webp:391,529,455,671 -characters/tonks/clothes/top/classy_dress/extra.webp:393,531,451,669 -characters/tonks/clothes/top/classy_dress/outline.webp:392,530,454,670 -characters/tonks/clothes/top/classy_dress/skin.webp:471,534,188,113 -characters/tonks/clothes/top/corset/0.webp:459,621,241,270 -characters/tonks/clothes/top/corset/extra.webp:467,621,203,117 -characters/tonks/clothes/top/corset/mask.webp:0,0,1010,1200 -characters/tonks/clothes/top/corset/outline.webp:457,619,245,274 -characters/tonks/clothes/top/corset/skin.webp:412,564,278,144 -characters/tonks/clothes/top/crop_top/0.webp:436,527,268,233 -characters/tonks/clothes/top/crop_top/outline.webp:435,523,272,237 -characters/tonks/clothes/top/crop_top/skin.webp:487,533,211,232 -characters/tonks/clothes/top/elf_dress/0.webp:423,582,361,416 -characters/tonks/clothes/top/elf_dress/extra.webp:423,613,260,384 -characters/tonks/clothes/top/elf_dress/outline.webp:422,581,363,418 -characters/tonks/clothes/top/elf_dress/skin.webp:447,581,330,418 -characters/tonks/clothes/top/mechanic_vest/0.webp:438,527,277,264 -characters/tonks/clothes/top/mechanic_vest/1.webp:450,525,265,271 -characters/tonks/clothes/top/mechanic_vest/2.webp:498,625,59,108 -characters/tonks/clothes/top/mechanic_vest/outline.webp:435,522,283,276 -characters/tonks/clothes/top/mechanic_vest/skin.webp:493,536,218,271 -characters/tonks/clothes/top/nightie_1/0.webp:431,532,302,523 -characters/tonks/clothes/top/nightie_1/outline.webp:429,530,305,526 -characters/tonks/clothes/top/office/0.webp:394,494,453,450 -characters/tonks/clothes/top/office/0_front.webp:552,494,106,72 -characters/tonks/clothes/top/office/1.webp:540,566,47,315 -characters/tonks/clothes/top/office/outline.webp:392,519,457,428 -characters/tonks/clothes/top/office/outline_front.webp:549,491,112,77 -characters/tonks/clothes/top/office/skin.webp:489,504,237,445 -characters/tonks/clothes/top/police1/0.webp:436,527,275,277 -characters/tonks/clothes/top/police1/1.webp:435,498,361,395 -characters/tonks/clothes/top/police1/2.webp:548,702,13,107 -characters/tonks/clothes/top/police1/outline.webp:435,496,364,399 -characters/tonks/clothes/top/police2/0.webp:435,498,361,395 -characters/tonks/clothes/top/police2/1.webp:548,702,13,107 -characters/tonks/clothes/top/police2/outline.webp:436,496,363,399 -characters/tonks/clothes/top/police3/0.webp:436,527,275,277 -characters/tonks/clothes/top/police3/outline.webp:435,526,278,279 -characters/tonks/clothes/top/ruffled_top/0.webp:405,619,416,219 -characters/tonks/clothes/top/ruffled_top/outline.webp:403,617,420,222 -characters/tonks/clothes/top/silk_dress/0.webp:436,652,336,548 -characters/tonks/clothes/top/silk_dress/1.webp:446,641,171,13 -characters/tonks/clothes/top/silk_dress/outline.webp:431,632,344,568 -characters/tonks/clothes/top/skimpy_dress/0.webp:432,524,272,483 -characters/tonks/clothes/top/skimpy_dress/extra.webp:437,535,227,470 -characters/tonks/clothes/top/skimpy_dress/outline.webp:431,522,282,499 -characters/tonks/clothes/top/skimpy_dress/skin.webp:440,538,256,481 -characters/tonks/clothes/top/skimpy_dress_2/0.webp:432,527,273,480 -characters/tonks/clothes/top/skimpy_dress_2/extra.webp:438,541,257,461 -characters/tonks/clothes/top/skimpy_dress_2/outline.webp:431,525,282,496 -characters/tonks/clothes/top/skimpy_dress_2/skin.webp:440,539,256,480 -characters/tonks/clothes/top/succubus_corset/0.webp:447,666,236,172 -characters/tonks/clothes/top/succubus_corset/1.webp:528,689,33,139 -characters/tonks/clothes/top/succubus_corset/2.webp:529,700,34,102 -characters/tonks/clothes/top/succubus_corset/outline.webp:445,665,240,175 -characters/tonks/clothes/top/succubus_corset_2/0.webp:474,695,204,143 -characters/tonks/clothes/top/succubus_corset_2/1.webp:528,700,33,128 -characters/tonks/clothes/top/succubus_corset_2/2.webp:529,700,34,102 -characters/tonks/clothes/top/succubus_corset_2/outline.webp:472,695,207,145 -characters/tonks/clothes/top/sweatshirt/0.webp:391,521,468,340 -characters/tonks/clothes/top/sweatshirt/outline.webp:390,520,471,341 -characters/tonks/clothes/top/swimsuit_1/0.webp:435,599,197,371 -characters/tonks/clothes/top/swimsuit_1/extra.webp:434,599,197,371 -characters/tonks/clothes/top/swimsuit_1/outline.webp:435,522,223,450 -characters/tonks/clothes/top/swimsuit_1/skin.webp:476,536,184,396 -characters/tonks/clothes/top/swimsuit_1_USA/0.webp:435,599,197,371 -characters/tonks/clothes/top/swimsuit_1_USA/1.webp:436,601,195,378 -characters/tonks/clothes/top/swimsuit_1_USA/2.webp:436,592,97,175 -characters/tonks/clothes/top/swimsuit_1_USA/3.webp:443,598,92,173 -characters/tonks/clothes/top/swimsuit_1_USA/extra.webp:434,599,197,371 -characters/tonks/clothes/top/swimsuit_1_USA/outline.webp:435,522,223,450 -characters/tonks/clothes/top/swimsuit_1_USA/skin.webp:476,536,184,396 -characters/tonks/clothes/top/swimsuit_1_striped/0.webp:435,599,197,371 -characters/tonks/clothes/top/swimsuit_1_striped/1.webp:436,600,195,379 -characters/tonks/clothes/top/swimsuit_1_striped/extra.webp:434,599,197,371 -characters/tonks/clothes/top/swimsuit_1_striped/outline.webp:435,522,223,450 -characters/tonks/clothes/top/swimsuit_1_striped/skin.webp:476,536,184,396 -characters/tonks/clothes/top/tied_top/0.webp:437,490,288,244 -characters/tonks/clothes/top/tied_top/outline.webp:435,489,293,247 -characters/tonks/cum/body/heavy.webp:509,438,134,417 -characters/tonks/cum/body/heavy_skin.webp:514,472,114,384 -characters/tonks/cum/body/light.webp:509,552,119,271 -characters/tonks/cum/body/light_skin.webp:522,553,106,230 -characters/tonks/cum/breasts/heavy.webp:443,579,231,168 -characters/tonks/cum/breasts/heavy_skin.webp:462,580,207,169 -characters/tonks/cum/breasts/light.webp:455,593,202,126 -characters/tonks/cum/breasts/light_skin.webp:462,593,195,127 -characters/tonks/cum/crotch/heavy.webp:440,778,215,321 -characters/tonks/cum/crotch/heavy_skin.webp:442,779,214,316 -characters/tonks/cum/crotch/light.webp:440,780,191,314 -characters/tonks/cum/crotch/light_skin.webp:442,780,190,315 -characters/tonks/cum/face/heavy.webp:514,324,118,170 -characters/tonks/cum/face/heavy_skin.webp:516,327,96,159 -characters/tonks/cum/face/light.webp:514,339,118,147 -characters/tonks/cum/face/light_skin.webp:524,338,88,145 -characters/tonks/cum/hair/heavy.webp:489,265,211,169 -characters/tonks/cum/hair/light.webp:512,282,185,136 -characters/tonks/cum/legs/heavy.webp:632,1044,90,135 -characters/tonks/cum/legs/heavy_skin.webp:634,1044,89,136 -characters/tonks/cum/legs/light.webp:632,1044,22,102 -characters/tonks/cum/legs/light_skin.webp:634,1044,22,103 -characters/tonks/cum/pussy/heavy.webp:539,947,32,98 -characters/tonks/cum/pussy/light.webp:541,949,29,55 -characters/tonks/emote/angry.webp:595,320,45,43 -characters/tonks/emote/confused.webp:422,193,129,101 -characters/tonks/emote/happy.webp:424,173,123,146 -characters/tonks/emote/hearts.webp:390,162,175,146 -characters/tonks/emote/shocked.webp:410,166,136,128 -characters/tonks/emote/sweat.webp:591,306,42,67 -characters/tonks/face/cheeks/blush.webp:516,380,108,61 -characters/tonks/face/cheeks/gloom.webp:600,393,26,49 -characters/tonks/face/cheeks/heavy_blush.webp:516,380,108,61 -characters/tonks/face/eyebrows/angry.webp:513,366,101,27 -characters/tonks/face/eyebrows/angry_skin.webp:515,371,102,31 -characters/tonks/face/eyebrows/annoyed.webp:513,368,102,22 -characters/tonks/face/eyebrows/annoyed_skin.webp:516,373,100,29 -characters/tonks/face/eyebrows/base.webp:512,367,103,21 -characters/tonks/face/eyebrows/base_skin.webp:514,371,102,31 -characters/tonks/face/eyebrows/raised.webp:513,360,101,29 -characters/tonks/face/eyebrows/raised_skin.webp:515,365,102,37 -characters/tonks/face/eyebrows/shocked.webp:513,362,102,25 -characters/tonks/face/eyebrows/shocked_skin.webp:514,369,102,33 -characters/tonks/face/eyebrows/worried.webp:514,367,101,15 -characters/tonks/face/eyebrows/worried_skin.webp:517,373,100,29 -characters/tonks/face/eyes/base.webp:512,380,107,25 -characters/tonks/face/eyes/base_mask.webp:519,387,93,17 -characters/tonks/face/eyes/base_skin.webp:517,395,99,10 -characters/tonks/face/eyes/closed.webp:511,380,106,26 -characters/tonks/face/eyes/closed_skin.webp:517,395,99,10 -characters/tonks/face/eyes/happyCl.webp:514,382,104,20 -characters/tonks/face/eyes/happyCl_skin.webp:517,395,99,9 -characters/tonks/face/eyes/narrow.webp:513,380,106,25 -characters/tonks/face/eyes/narrow_mask.webp:519,390,92,14 -characters/tonks/face/eyes/narrow_skin.webp:517,395,99,10 -characters/tonks/face/eyes/shocked.webp:512,378,105,28 -characters/tonks/face/eyes/shocked_mask.webp:518,383,94,22 -characters/tonks/face/eyes/shocked_skin.webp:517,395,99,10 -characters/tonks/face/eyes/wide.webp:511,380,108,25 -characters/tonks/face/eyes/wide_mask.webp:518,385,94,20 -characters/tonks/face/eyes/wide_skin.webp:517,395,99,10 -characters/tonks/face/eyes/wink.webp:514,380,105,25 -characters/tonks/face/eyes/wink_mask.webp:577,387,35,17 -characters/tonks/face/eyes/wink_skin.webp:517,395,99,10 -characters/tonks/face/mouth/angry.webp:544,447,41,31 -characters/tonks/face/mouth/annoyed.webp:541,447,35,19 -characters/tonks/face/mouth/annoyed_skin.webp:545,460,24,8 -characters/tonks/face/mouth/base.webp:541,446,52,21 -characters/tonks/face/mouth/base_skin.webp:549,452,36,19 -characters/tonks/face/mouth/clench.webp:542,441,56,34 -characters/tonks/face/mouth/clench_skin.webp:550,467,34,10 -characters/tonks/face/mouth/crooked_smile.webp:541,437,54,36 -characters/tonks/face/mouth/crooked_smile_skin.webp:550,459,38,15 -characters/tonks/face/mouth/disgust.webp:540,450,48,22 -characters/tonks/face/mouth/disgust_skin.webp:540,450,48,24 -characters/tonks/face/mouth/grin.webp:540,443,56,35 -characters/tonks/face/mouth/grin_skin.webp:546,467,38,13 -characters/tonks/face/mouth/horny.webp:543,443,46,30 -characters/tonks/face/mouth/horny_skin.webp:553,463,30,12 -characters/tonks/face/mouth/mad.webp:542,444,48,29 -characters/tonks/face/mouth/mad_skin.webp:546,465,32,9 -characters/tonks/face/mouth/normal.webp:543,446,42,21 -characters/tonks/face/mouth/normal_skin.webp:549,452,36,19 -characters/tonks/face/mouth/open.webp:544,444,36,34 -characters/tonks/face/mouth/open_skin.webp:550,466,28,14 -characters/tonks/face/mouth/open_wide.webp:525,441,107,57 -characters/tonks/face/mouth/open_wide_tongue.webp:525,441,107,87 -characters/tonks/face/mouth/open_wide_tongue2.webp:514,441,118,77 -characters/tonks/face/mouth/open_wide_tongue2_cum.webp:514,441,118,77 -characters/tonks/face/mouth/open_wide_tongue_cum.webp:525,441,107,87 -characters/tonks/face/mouth/scream.webp:540,443,49,36 -characters/tonks/face/mouth/scream_skin.webp:549,468,37,13 -characters/tonks/face/mouth/silly.webp:542,441,47,35 -characters/tonks/face/mouth/silly_skin.webp:552,467,31,11 -characters/tonks/face/mouth/soft.webp:545,446,45,27 -characters/tonks/face/mouth/soft_skin.webp:550,461,27,15 -characters/tonks/face/mouth/upset.webp:545,443,41,24 -characters/tonks/face/mouth/upset_skin.webp:545,458,27,11 -characters/tonks/face/pupils/L.webp:521,389,75,15 -characters/tonks/face/pupils/R.webp:531,388,76,17 -characters/tonks/face/pupils/ahegao.webp:531,382,64,17 -characters/tonks/face/pupils/down.webp:525,393,74,16 -characters/tonks/face/pupils/downR.webp:531,391,77,17 -characters/tonks/face/pupils/mid.webp:528,386,75,16 -characters/tonks/face/pupils/stare.webp:525,385,74,17 -characters/tonks/face/pupils/up.webp:525,385,75,16 -characters/tonks/face/tears/tears_mascara.webp:516,380,96,43 -characters/tonks/face/tears/tears_tears.webp:513,384,101,20 +characters/tonks/poses/default/bodyparts/frame/default/skin.webp:395,282,451,918 +characters/tonks/poses/default/clothes/accessory/bells_1/0.webp:409,948,322,72 +characters/tonks/poses/default/clothes/accessory/bells_1/extra.webp:409,948,322,72 +characters/tonks/poses/default/clothes/accessory/bells_1/outline.webp:409,947,323,74 +characters/tonks/poses/default/clothes/accessory/bells_1/skin.webp:441,970,248,52 +characters/tonks/poses/default/clothes/accessory/belt_1/0.webp:475,777,181,66 +characters/tonks/poses/default/clothes/accessory/belt_1/1.webp:516,787,48,56 +characters/tonks/poses/default/clothes/accessory/belt_1/extra.webp:484,786,150,56 +characters/tonks/poses/default/clothes/accessory/belt_1/outline.webp:475,775,184,70 +characters/tonks/poses/default/clothes/accessory/flower/0.webp:633,542,73,65 +characters/tonks/poses/default/clothes/accessory/flower/extra.webp:634,542,72,64 +characters/tonks/poses/default/clothes/accessory/flower/outline.webp:632,541,75,67 +characters/tonks/poses/default/clothes/accessory/neck_towel/0.webp:433,497,265,269 +characters/tonks/poses/default/clothes/accessory/neck_towel/outline.webp:431,494,269,274 +characters/tonks/poses/default/clothes/accessory/office_pin/0.webp:440,671,46,30 +characters/tonks/poses/default/clothes/accessory/office_pin/1.webp:451,647,16,27 +characters/tonks/poses/default/clothes/accessory/office_pin/2.webp:442,671,44,11 +characters/tonks/poses/default/clothes/accessory/office_pin/extra.webp:441,672,42,25 +characters/tonks/poses/default/clothes/accessory/office_pin/outline.webp:440,646,47,56 +characters/tonks/poses/default/clothes/accessory/police_badge/0.webp:609,609,56,52 +characters/tonks/poses/default/clothes/accessory/police_badge/outline.webp:608,608,58,54 +characters/tonks/poses/default/clothes/accessory/succubus_tail/0.webp:694,871,142,163 +characters/tonks/poses/default/clothes/accessory/succubus_tail/1.webp:782,872,55,157 +characters/tonks/poses/default/clothes/accessory/succubus_tail/outline.webp:691,869,148,168 +characters/tonks/poses/default/clothes/accessory/succubus_wings/0.webp:362,456,501,411 +characters/tonks/poses/default/clothes/accessory/succubus_wings/1.webp:362,466,501,319 +characters/tonks/poses/default/clothes/accessory/succubus_wings/2.webp:416,449,385,417 +characters/tonks/poses/default/clothes/accessory/succubus_wings/outline.webp:360,446,506,423 +characters/tonks/poses/default/clothes/bottom/jeans/0.webp:429,870,324,330 +characters/tonks/poses/default/clothes/bottom/jeans/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/jeans/extra.webp:466,986,267,214 +characters/tonks/poses/default/clothes/bottom/jeans/outline.webp:428,868,327,332 +characters/tonks/poses/default/clothes/bottom/latex_leggings/0.webp:434,788,318,412 +characters/tonks/poses/default/clothes/bottom/latex_leggings/1.webp:434,792,318,408 +characters/tonks/poses/default/clothes/bottom/latex_leggings/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/latex_leggings/extra.webp:434,791,302,408 +characters/tonks/poses/default/clothes/bottom/latex_leggings/outline.webp:432,779,323,421 +characters/tonks/poses/default/clothes/bottom/latex_leggings/skin.webp:492,791,141,34 +characters/tonks/poses/default/clothes/bottom/leggings/0.webp:433,818,321,382 +characters/tonks/poses/default/clothes/bottom/leggings/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/leggings/outline.webp:433,815,322,385 +characters/tonks/poses/default/clothes/bottom/leggings_hole/0.webp:433,818,321,382 +characters/tonks/poses/default/clothes/bottom/leggings_hole/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/leggings_hole/outline.webp:433,815,322,385 +characters/tonks/poses/default/clothes/bottom/mechanic_shorts/0.webp:430,857,276,145 +characters/tonks/poses/default/clothes/bottom/mechanic_shorts/1.webp:436,851,248,86 +characters/tonks/poses/default/clothes/bottom/mechanic_shorts/2.webp:568,889,35,35 +characters/tonks/poses/default/clothes/bottom/mechanic_shorts/3.webp:432,945,278,72 +characters/tonks/poses/default/clothes/bottom/mechanic_shorts/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/mechanic_shorts/outline.webp:428,848,284,171 +characters/tonks/poses/default/clothes/bottom/mechanic_shorts/skin.webp:441,889,248,133 +characters/tonks/poses/default/clothes/bottom/office/0.webp:428,819,332,381 +characters/tonks/poses/default/clothes/bottom/office/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/office/outline.webp:426,817,336,383 +characters/tonks/poses/default/clothes/bottom/office/skin.webp:488,822,156,32 +characters/tonks/poses/default/clothes/bottom/police/0.webp:431,823,279,196 +characters/tonks/poses/default/clothes/bottom/police/1.webp:460,823,211,61 +characters/tonks/poses/default/clothes/bottom/police/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/police/outline.webp:428,821,286,200 +characters/tonks/poses/default/clothes/bottom/school_skirt_2/0.webp:422,775,305,281 +characters/tonks/poses/default/clothes/bottom/school_skirt_2/1.webp:587,806,14,27 +characters/tonks/poses/default/clothes/bottom/school_skirt_2/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/school_skirt_2/outline.webp:420,774,309,284 +characters/tonks/poses/default/clothes/bottom/school_skirt_3/0.webp:425,775,297,214 +characters/tonks/poses/default/clothes/bottom/school_skirt_3/1.webp:587,806,14,27 +characters/tonks/poses/default/clothes/bottom/school_skirt_3/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/school_skirt_3/outline.webp:422,774,302,204 +characters/tonks/poses/default/clothes/bottom/school_skirt_4/0.webp:431,775,284,214 +characters/tonks/poses/default/clothes/bottom/school_skirt_4/1.webp:587,806,14,27 +characters/tonks/poses/default/clothes/bottom/school_skirt_4/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/school_skirt_4/outline.webp:429,774,287,171 +characters/tonks/poses/default/clothes/bottom/sweatpants/0.webp:429,834,328,366 +characters/tonks/poses/default/clothes/bottom/sweatpants/1.webp:662,856,96,344 +characters/tonks/poses/default/clothes/bottom/sweatpants/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/sweatpants/outline.webp:427,833,332,367 +characters/tonks/poses/default/clothes/bottom/xmas/0.webp:438,855,254,106 +characters/tonks/poses/default/clothes/bottom/xmas/1.webp:422,831,285,154 +characters/tonks/poses/default/clothes/bottom/xmas/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/bottom/xmas/extra.webp:439,858,218,97 +characters/tonks/poses/default/clothes/bottom/xmas/outline.webp:421,830,287,156 +characters/tonks/poses/default/clothes/bottom/xmas/skin.webp:437,834,227,155 +characters/tonks/poses/default/clothes/bra/bikini/0.webp:442,522,257,163 +characters/tonks/poses/default/clothes/bra/bikini/1.webp:437,607,201,72 +characters/tonks/poses/default/clothes/bra/bikini/outline.webp:435,520,265,166 +characters/tonks/poses/default/clothes/bra/bikini_bra_1/0.webp:436,520,252,187 +characters/tonks/poses/default/clothes/bra/bikini_bra_1/1.webp:444,520,245,180 +characters/tonks/poses/default/clothes/bra/bikini_bra_1/outline.webp:435,518,255,190 +characters/tonks/poses/default/clothes/bra/bikini_bra_1/skin.webp:487,539,172,146 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/0.webp:436,520,252,187 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/1.webp:436,582,221,125 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/2.webp:454,589,203,117 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/3.webp:444,520,245,180 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/outline.webp:435,518,255,190 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_UK/skin.webp:487,539,172,146 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/0.webp:436,520,252,187 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/1.webp:551,582,106,122 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/2.webp:436,592,82,115 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/3.webp:443,520,246,185 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/outline.webp:435,518,255,190 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_USA/skin.webp:487,539,172,146 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/0.webp:436,520,252,187 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/1.webp:436,582,221,125 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/2.webp:444,520,245,180 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/outline.webp:435,518,255,190 +characters/tonks/poses/default/clothes/bra/bikini_bra_1_striped/skin.webp:487,539,172,146 +characters/tonks/poses/default/clothes/bra/pasties_1/0.webp:436,627,194,48 +characters/tonks/poses/default/clothes/bra/pasties_1/extra.webp:439,633,168,17 +characters/tonks/poses/default/clothes/bra/pasties_1/outline.webp:433,627,200,49 +characters/tonks/poses/default/clothes/bra/pasties_2/0.webp:436,627,194,48 +characters/tonks/poses/default/clothes/bra/pasties_2/1.webp:433,644,182,32 +characters/tonks/poses/default/clothes/bra/pasties_2/extra.webp:434,633,177,37 +characters/tonks/poses/default/clothes/bra/pasties_2/outline.webp:433,627,200,49 +characters/tonks/poses/default/clothes/bra/ribbon/0.webp:463,619,236,126 +characters/tonks/poses/default/clothes/bra/ribbon/extra.webp:464,619,195,126 +characters/tonks/poses/default/clothes/bra/ribbon/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/bra/ribbon/outline.webp:461,617,240,129 +characters/tonks/poses/default/clothes/bra/ribbon/skin.webp:434,564,257,183 +characters/tonks/poses/default/clothes/bra/santa_bra/0.webp:438,615,228,102 +characters/tonks/poses/default/clothes/bra/santa_bra/outline.webp:436,529,255,190 +characters/tonks/poses/default/clothes/bra/santa_bra/skin.webp:465,534,225,183 +characters/tonks/poses/default/clothes/earrings/bells/0.webp:637,424,22,36 +characters/tonks/poses/default/clothes/earrings/bells/extra.webp:638,426,10,30 +characters/tonks/poses/default/clothes/earrings/bells/outline.webp:637,424,22,36 +characters/tonks/poses/default/clothes/earrings/cartilege/0.webp:647,419,12,12 +characters/tonks/poses/default/clothes/earrings/cartilege/extra.webp:649,419,9,10 +characters/tonks/poses/default/clothes/earrings/cartilege/outline.webp:647,417,13,15 +characters/tonks/poses/default/clothes/earrings/hoops/0.webp:504,425,158,49 +characters/tonks/poses/default/clothes/earrings/hoops/extra.webp:504,426,158,47 +characters/tonks/poses/default/clothes/earrings/hoops/outline.webp:504,424,158,50 +characters/tonks/poses/default/clothes/earrings/industrial/0.webp:643,379,27,18 +characters/tonks/poses/default/clothes/earrings/industrial/extra.webp:643,379,26,17 +characters/tonks/poses/default/clothes/earrings/industrial/outline.webp:642,378,29,20 +characters/tonks/poses/default/clothes/earrings/pearls/0.webp:637,424,19,19 +characters/tonks/poses/default/clothes/earrings/pearls/extra.webp:637,424,18,19 +characters/tonks/poses/default/clothes/earrings/pearls/outline.webp:635,422,23,23 +characters/tonks/poses/default/clothes/earrings/pearls_2/0.webp:640,425,12,23 +characters/tonks/poses/default/clothes/earrings/pearls_2/extra.webp:644,426,9,17 +characters/tonks/poses/default/clothes/earrings/pearls_2/outline.webp:638,424,15,25 +characters/tonks/poses/default/clothes/garterbelt/long_basic_1/0.webp:449,847,241,161 +characters/tonks/poses/default/clothes/garterbelt/long_basic_1/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/garterbelt/long_basic_1/outline.webp:448,846,244,163 +characters/tonks/poses/default/clothes/glasses/police/0.webp:498,389,144,55 +characters/tonks/poses/default/clothes/glasses/police/1.webp:500,405,127,36 +characters/tonks/poses/default/clothes/glasses/police/outline.webp:497,385,148,61 +characters/tonks/poses/default/clothes/glasses/shades/0.webp:498,389,144,56 +characters/tonks/poses/default/clothes/glasses/shades/1.webp:501,404,126,37 +characters/tonks/poses/default/clothes/glasses/shades/outline.webp:497,384,149,62 +characters/tonks/poses/default/clothes/gloves/auror_gloves/0.webp:437,828,293,83 +characters/tonks/poses/default/clothes/gloves/auror_gloves/0_front.webp:437,828,293,83 +characters/tonks/poses/default/clothes/gloves/auror_gloves/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/gloves/auror_gloves/outline.webp:435,826,297,87 +characters/tonks/poses/default/clothes/gloves/auror_gloves/outline_front.webp:435,826,297,87 +characters/tonks/poses/default/clothes/gloves/leather_gloves/0.webp:433,827,295,99 +characters/tonks/poses/default/clothes/gloves/leather_gloves/0_front.webp:433,827,295,99 +characters/tonks/poses/default/clothes/gloves/leather_gloves/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/gloves/leather_gloves/extra.webp:433,830,291,89 +characters/tonks/poses/default/clothes/gloves/leather_gloves/outline.webp:432,826,300,101 +characters/tonks/poses/default/clothes/gloves/leather_gloves/outline_front.webp:432,826,300,101 +characters/tonks/poses/default/clothes/gloves/mechanic_gloves/0.webp:433,818,298,108 +characters/tonks/poses/default/clothes/gloves/mechanic_gloves/outline.webp:432,748,519,179 +characters/tonks/poses/default/clothes/gloves/mechanic_gloves/skin.webp:447,842,216,80 +characters/tonks/poses/default/clothes/gloves/succubus_gloves/0.webp:396,539,449,387 +characters/tonks/poses/default/clothes/gloves/succubus_gloves/0_front.webp:396,539,449,387 +characters/tonks/poses/default/clothes/gloves/succubus_gloves/outline.webp:395,615,451,312 +characters/tonks/poses/default/clothes/gloves/succubus_gloves/outline_front.webp:395,615,451,312 +characters/tonks/poses/default/clothes/gloves/xmas/0.webp:438,813,300,63 +characters/tonks/poses/default/clothes/gloves/xmas/outline.webp:437,811,302,67 +characters/tonks/poses/default/clothes/hair/base/0.webp:482,220,236,248 +characters/tonks/poses/default/clothes/hair/base/1.webp:494,235,205,121 +characters/tonks/poses/default/clothes/hair/base/outline.webp:481,218,239,254 +characters/tonks/poses/default/clothes/hair/base/skin.webp:519,328,98,61 +characters/tonks/poses/default/clothes/hair/mechanic_hair/0.webp:473,249,217,247 +characters/tonks/poses/default/clothes/hair/mechanic_hair/1.webp:482,256,198,123 +characters/tonks/poses/default/clothes/hair/mechanic_hair/outline.webp:472,248,221,255 +characters/tonks/poses/default/clothes/hair/mechanic_hair/skin.webp:532,336,91,63 +characters/tonks/poses/default/clothes/hair/new/0.webp:475,256,245,235 +characters/tonks/poses/default/clothes/hair/new/0_back.webp:462,399,101,116 +characters/tonks/poses/default/clothes/hair/new/1.webp:477,263,235,139 +characters/tonks/poses/default/clothes/hair/new/1_back.webp:477,398,23,23 +characters/tonks/poses/default/clothes/hair/new/outline.webp:473,254,249,238 +characters/tonks/poses/default/clothes/hair/new/outline_back.webp:460,398,105,120 +characters/tonks/poses/default/clothes/hair/new/skin.webp:511,308,112,86 +characters/tonks/poses/default/clothes/headgear/antlers/base/0.webp:464,228,219,104 +characters/tonks/poses/default/clothes/headgear/antlers/base/outline.webp:463,227,221,107 +characters/tonks/poses/default/clothes/headgear/antlers/default/0.webp:459,232,248,86 +characters/tonks/poses/default/clothes/headgear/antlers/default/outline.webp:458,231,250,88 +characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/0.webp:488,230,222,94 +characters/tonks/poses/default/clothes/headgear/antlers/mechanic_hair/outline.webp:487,230,225,96 +characters/tonks/poses/default/clothes/headgear/bunny/base/0.webp:481,159,180,117 +characters/tonks/poses/default/clothes/headgear/bunny/base/1.webp:491,172,158,100 +characters/tonks/poses/default/clothes/headgear/bunny/base/outline.webp:480,158,184,120 +characters/tonks/poses/default/clothes/headgear/bunny/default/0.webp:483,162,161,141 +characters/tonks/poses/default/clothes/headgear/bunny/default/1.webp:493,175,139,117 +characters/tonks/poses/default/clothes/headgear/bunny/default/outline.webp:482,161,163,148 +characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/0.webp:488,187,164,138 +characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/1.webp:499,200,141,115 +characters/tonks/poses/default/clothes/headgear/bunny/mechanic_hair/outline.webp:486,186,167,145 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/0.webp:0,0,0,0 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/0_front.webp:338,241,465,158 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/0_zorder_-100.webp:297,245,553,228 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/extra.webp:0,0,0,0 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/extra_front.webp:352,241,426,153 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/outline_front.webp:322,239,502,159 +characters/tonks/poses/default/clothes/headgear/classy_hat/default/outline_zorder_-100.webp:295,242,556,235 +characters/tonks/poses/default/clothes/headgear/elf/base/0.webp:616,186,215,128 +characters/tonks/poses/default/clothes/headgear/elf/base/1.webp:591,215,127,141 +characters/tonks/poses/default/clothes/headgear/elf/base/extra.webp:616,187,203,115 +characters/tonks/poses/default/clothes/headgear/elf/base/outline.webp:590,185,244,173 +characters/tonks/poses/default/clothes/headgear/elf/default/0.webp:617,201,182,102 +characters/tonks/poses/default/clothes/headgear/elf/default/1.webp:596,238,114,91 +characters/tonks/poses/default/clothes/headgear/elf/default/extra.webp:617,201,172,92 +characters/tonks/poses/default/clothes/headgear/elf/default/outline.webp:594,200,207,131 +characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/0.webp:578,202,207,108 +characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/1.webp:558,241,127,92 +characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/extra.webp:578,202,195,98 +characters/tonks/poses/default/clothes/headgear/elf/mechanic_hair/outline.webp:556,201,231,134 +characters/tonks/poses/default/clothes/headgear/horns/base/0.webp:479,236,191,100 +characters/tonks/poses/default/clothes/headgear/horns/base/1.webp:480,236,190,65 +characters/tonks/poses/default/clothes/headgear/horns/base/outline.webp:478,234,194,104 +characters/tonks/poses/default/clothes/headgear/horns/default/0.webp:474,243,220,98 +characters/tonks/poses/default/clothes/headgear/horns/default/1.webp:474,243,220,52 +characters/tonks/poses/default/clothes/headgear/horns/default/outline.webp:472,242,224,101 +characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/0.webp:490,239,188,96 +characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/1.webp:490,239,187,81 +characters/tonks/poses/default/clothes/headgear/horns/mechanic_hair/outline.webp:488,237,192,100 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/0.webp:514,253,176,99 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/1.webp:487,278,168,103 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/extra.webp:552,283,26,36 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/outline.webp:484,251,208,132 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/base/skin.webp:512,351,116,43 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/0.webp:507,263,171,92 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/1.webp:484,289,161,97 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/extra.webp:543,294,25,34 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/outline.webp:481,261,199,127 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/default/skin.webp:514,368,112,40 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/0.webp:481,217,217,116 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/1.webp:455,252,202,120 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/extra.webp:523,259,33,42 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/outline.webp:451,215,250,162 +characters/tonks/poses/default/clothes/headgear/mechanic_cap/new/skin.webp:513,352,123,46 +characters/tonks/poses/default/clothes/headgear/police/base/0.webp:444,250,247,149 +characters/tonks/poses/default/clothes/headgear/police/base/1.webp:463,222,221,86 +characters/tonks/poses/default/clothes/headgear/police/base/2.webp:473,271,163,32 +characters/tonks/poses/default/clothes/headgear/police/base/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/headgear/police/base/outline.webp:444,222,247,177 +characters/tonks/poses/default/clothes/headgear/police/base/skin.webp:514,312,131,76 +characters/tonks/poses/default/clothes/headgear/police/default/0.webp:450,282,218,127 +characters/tonks/poses/default/clothes/headgear/police/default/1.webp:469,257,192,74 +characters/tonks/poses/default/clothes/headgear/police/default/2.webp:477,298,142,29 +characters/tonks/poses/default/clothes/headgear/police/default/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/headgear/police/default/outline.webp:449,256,219,153 +characters/tonks/poses/default/clothes/headgear/police/default/skin.webp:525,335,90,51 +characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/0.webp:443,299,229,103 +characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/1.webp:477,258,191,71 +characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/2.webp:482,293,139,46 +characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/outline.webp:442,258,231,144 +characters/tonks/poses/default/clothes/headgear/police/mechanic_hair/skin.webp:521,345,103,45 +characters/tonks/poses/default/clothes/makeup/elf_ears/skin_zorder_253.webp:636,363,56,68 +characters/tonks/poses/default/clothes/makeup/lipstick/angry.webp:119,177,466,301 +characters/tonks/poses/default/clothes/makeup/lipstick/annoyed/0.webp:541,447,35,19 +characters/tonks/poses/default/clothes/makeup/lipstick/base/0.webp:541,446,52,21 +characters/tonks/poses/default/clothes/makeup/lipstick/clench/0.webp:542,441,56,34 +characters/tonks/poses/default/clothes/makeup/lipstick/crooked_smile/0.webp:541,437,54,36 +characters/tonks/poses/default/clothes/makeup/lipstick/disgust/0.webp:540,450,48,22 +characters/tonks/poses/default/clothes/makeup/lipstick/grin/0.webp:540,443,56,35 +characters/tonks/poses/default/clothes/makeup/lipstick/horny/0.webp:543,443,46,30 +characters/tonks/poses/default/clothes/makeup/lipstick/mad/0.webp:542,444,48,29 +characters/tonks/poses/default/clothes/makeup/lipstick/normal/0.webp:543,446,42,21 +characters/tonks/poses/default/clothes/makeup/lipstick/open/0.webp:544,444,36,34 +characters/tonks/poses/default/clothes/makeup/lipstick/open_wide/0.webp:542,441,40,53 +characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue/0.webp:542,441,40,49 +characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue2/0.webp:542,441,40,49 +characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue2_cum/0.webp:542,441,40,49 +characters/tonks/poses/default/clothes/makeup/lipstick/open_wide_tongue_cum/0.webp:542,441,40,49 +characters/tonks/poses/default/clothes/makeup/lipstick/scream/0.webp:540,444,49,35 +characters/tonks/poses/default/clothes/makeup/lipstick/silly/0.webp:542,441,47,35 +characters/tonks/poses/default/clothes/makeup/lipstick/soft/0.webp:545,446,34,27 +characters/tonks/poses/default/clothes/makeup/lipstick/upset/0.webp:545,443,41,24 +characters/tonks/poses/default/clothes/neckwear/bell_1/0.webp:574,494,73,34 +characters/tonks/poses/default/clothes/neckwear/bell_1/1.webp:553,509,56,49 +characters/tonks/poses/default/clothes/neckwear/bell_1/extra.webp:554,501,73,54 +characters/tonks/poses/default/clothes/neckwear/bell_1/outline.webp:552,492,97,67 +characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/0.webp:556,477,98,90 +characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/1.webp:540,527,80,48 +characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/outline.webp:539,475,118,101 +characters/tonks/poses/default/clothes/neckwear/bunny_bowtie_1/skin.webp:532,515,93,65 +characters/tonks/poses/default/clothes/neckwear/choker_1/0.webp:574,494,73,34 +characters/tonks/poses/default/clothes/neckwear/choker_1/extra.webp:575,501,52,24 +characters/tonks/poses/default/clothes/neckwear/choker_1/outline.webp:573,492,76,38 +characters/tonks/poses/default/clothes/neckwear/choker_beads/0.webp:575,496,69,27 +characters/tonks/poses/default/clothes/neckwear/choker_beads/1.webp:572,498,73,21 +characters/tonks/poses/default/clothes/neckwear/choker_beads/outline.webp:572,495,73,29 +characters/tonks/poses/default/clothes/neckwear/pearls_1/0.webp:564,504,90,37 +characters/tonks/poses/default/clothes/neckwear/pearls_1/extra.webp:564,504,91,38 +characters/tonks/poses/default/clothes/neckwear/pearls_1/outline.webp:562,501,96,44 +characters/tonks/poses/default/clothes/neckwear/pearls_2/0.webp:561,518,95,70 +characters/tonks/poses/default/clothes/neckwear/pearls_2/extra.webp:562,519,92,64 +characters/tonks/poses/default/clothes/neckwear/pearls_2/outline.webp:560,517,96,71 +characters/tonks/poses/default/clothes/neckwear/succubus_colar/0.webp:575,501,75,61 +characters/tonks/poses/default/clothes/neckwear/succubus_colar/outline.webp:575,496,76,68 +characters/tonks/poses/default/clothes/neckwear/whistle/0.webp:535,509,121,149 +characters/tonks/poses/default/clothes/neckwear/whistle/1.webp:535,654,27,47 +characters/tonks/poses/default/clothes/neckwear/whistle/outline.webp:534,507,122,195 +characters/tonks/poses/default/clothes/panties/base/0.webp:468,816,193,153 +characters/tonks/poses/default/clothes/panties/base/1.webp:534,946,30,26 +characters/tonks/poses/default/clothes/panties/base/outline.webp:468,816,194,157 +characters/tonks/poses/default/clothes/panties/bikini_panties_1/0.webp:475,805,179,165 +characters/tonks/poses/default/clothes/panties/bikini_panties_1/1.webp:503,876,85,46 +characters/tonks/poses/default/clothes/panties/bikini_panties_1/outline.webp:475,803,180,168 +characters/tonks/poses/default/clothes/panties/bikini_panties_1/skin.webp:486,819,154,101 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/0.webp:475,805,179,165 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/1.webp:507,908,69,63 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/2.webp:510,898,74,69 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/outline.webp:475,803,180,168 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_UK/skin.webp:486,819,154,101 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/0.webp:475,805,179,165 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/outline.webp:475,803,180,168 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_jock/skin.webp:486,819,154,101 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/0.webp:475,805,179,165 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/1.webp:475,805,180,165 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/outline.webp:475,803,180,168 +characters/tonks/poses/default/clothes/panties/bikini_panties_1_striped/skin.webp:486,819,154,101 +characters/tonks/poses/default/clothes/panties/mechanic_bikini/0.webp:460,824,205,147 +characters/tonks/poses/default/clothes/panties/mechanic_bikini/outline.webp:458,822,210,151 +characters/tonks/poses/default/clothes/panties/mechanic_bikini/skin.webp:466,832,181,108 +characters/tonks/poses/default/clothes/panties/ribbon/0.webp:487,869,215,179 +characters/tonks/poses/default/clothes/panties/ribbon/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/panties/ribbon/extra.webp:487,872,175,175 +characters/tonks/poses/default/clothes/panties/ribbon/outline.webp:485,867,219,181 +characters/tonks/poses/default/clothes/panties/ribbon/skin.webp:485,871,183,167 +characters/tonks/poses/default/clothes/panties/santa_panties/0.webp:468,814,192,158 +characters/tonks/poses/default/clothes/panties/santa_panties/outline.webp:466,803,197,170 +characters/tonks/poses/default/clothes/panties/santa_panties/skin.webp:466,816,186,128 +characters/tonks/poses/default/clothes/panties/succubus_panties/0.webp:455,840,217,129 +characters/tonks/poses/default/clothes/panties/succubus_panties/1.webp:493,894,103,23 +characters/tonks/poses/default/clothes/panties/succubus_panties/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/panties/succubus_panties/outline.webp:453,839,221,131 +characters/tonks/poses/default/clothes/piercing/belly_dick/0.webp:531,808,15,59 +characters/tonks/poses/default/clothes/piercing/belly_dick/extra.webp:531,810,14,57 +characters/tonks/poses/default/clothes/piercing/belly_dick/outline.webp:530,808,16,59 +characters/tonks/poses/default/clothes/piercing/belly_heart/0.webp:532,808,14,48 +characters/tonks/poses/default/clothes/piercing/belly_heart/extra.webp:531,810,14,45 +characters/tonks/poses/default/clothes/piercing/belly_heart/outline.webp:531,808,15,48 +characters/tonks/poses/default/clothes/piercing/belly_stud/0.webp:539,798,7,18 +characters/tonks/poses/default/clothes/piercing/belly_stud/extra.webp:539,800,6,16 +characters/tonks/poses/default/clothes/piercing/belly_stud/outline.webp:538,798,8,18 +characters/tonks/poses/default/clothes/piercing/clit_stud/0.webp:540,947,10,11 +characters/tonks/poses/default/clothes/piercing/clit_stud/extra.webp:541,947,9,11 +characters/tonks/poses/default/clothes/piercing/clit_stud/outline.webp:539,946,12,13 +characters/tonks/poses/default/clothes/piercing/nipple_bells/0.webp:433,644,182,32 +characters/tonks/poses/default/clothes/piercing/nipple_bells/extra.webp:434,647,177,23 +characters/tonks/poses/default/clothes/piercing/nipple_bells/outline.webp:433,644,182,32 +characters/tonks/poses/default/clothes/piercing/nipple_rings/0.webp:438,646,175,18 +characters/tonks/poses/default/clothes/piercing/nipple_rings/extra.webp:439,646,173,17 +characters/tonks/poses/default/clothes/piercing/nipple_rings/outline.webp:438,645,176,19 +characters/tonks/poses/default/clothes/piercing/nipple_rings2/0.webp:438,646,175,18 +characters/tonks/poses/default/clothes/piercing/nipple_rings2/extra.webp:439,646,173,18 +characters/tonks/poses/default/clothes/piercing/nipple_rings2/outline.webp:438,645,176,20 +characters/tonks/poses/default/clothes/piercing/nipple_rings3/0.webp:439,644,176,15 +characters/tonks/poses/default/clothes/piercing/nipple_rings3/extra.webp:439,647,172,13 +characters/tonks/poses/default/clothes/piercing/nipple_rings3/outline.webp:439,644,176,16 +characters/tonks/poses/default/clothes/piercing/nipple_stud/0.webp:447,642,169,11 +characters/tonks/poses/default/clothes/piercing/nipple_stud/extra.webp:448,643,167,8 +characters/tonks/poses/default/clothes/piercing/nipple_stud/outline.webp:445,641,172,13 +characters/tonks/poses/default/clothes/pubes/arrow/0.webp:522,887,39,51 +characters/tonks/poses/default/clothes/pubes/arrow/outline.webp:522,889,34,44 +characters/tonks/poses/default/clothes/pubes/beaver/0.webp:515,886,64,88 +characters/tonks/poses/default/clothes/pubes/beaver/outline.webp:517,890,58,82 +characters/tonks/poses/default/clothes/pubes/stuble/0.webp:508,909,78,48 +characters/tonks/poses/default/clothes/pubes/unshaved/0.webp:514,908,63,53 +characters/tonks/poses/default/clothes/robe/auror_coat/0.webp:396,499,449,701 +characters/tonks/poses/default/clothes/robe/auror_coat/0_back.webp:454,496,218,704 +characters/tonks/poses/default/clothes/robe/auror_coat/0_front.webp:694,736,128,148 +characters/tonks/poses/default/clothes/robe/auror_coat/1.webp:472,608,202,461 +characters/tonks/poses/default/clothes/robe/auror_coat/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/robe/auror_coat/outline.webp:394,497,452,703 +characters/tonks/poses/default/clothes/robe/auror_coat/outline_front.webp:693,736,130,149 +characters/tonks/poses/default/clothes/robe/auror_coat/skin.webp:526,537,116,107 +characters/tonks/poses/default/clothes/robe/dressing_gown/0.webp:391,522,465,497 +characters/tonks/poses/default/clothes/robe/dressing_gown/1.webp:390,522,466,497 +characters/tonks/poses/default/clothes/robe/dressing_gown/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/robe/dressing_gown/outline.webp:389,519,468,501 +characters/tonks/poses/default/clothes/robe/dressing_gown/skin.webp:442,533,299,493 +characters/tonks/poses/default/clothes/robe/office/0.webp:392,522,460,461 +characters/tonks/poses/default/clothes/robe/office/0_back.webp:695,838,56,94 +characters/tonks/poses/default/clothes/robe/office/1.webp:469,764,279,100 +characters/tonks/poses/default/clothes/robe/office/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/robe/office/outline.webp:390,521,464,464 +characters/tonks/poses/default/clothes/robe/office/skin.webp:458,530,158,454 +characters/tonks/poses/default/clothes/robe/silk_robe/0.webp:393,507,386,693 +characters/tonks/poses/default/clothes/robe/silk_robe/0_back.webp:563,1016,62,184 +characters/tonks/poses/default/clothes/robe/silk_robe/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/robe/silk_robe/outline.webp:388,506,395,694 +characters/tonks/poses/default/clothes/robe/silk_robe/outline_back.webp:561,1012,68,188 +characters/tonks/poses/default/clothes/stockings/auror/0.webp:434,818,320,382 +characters/tonks/poses/default/clothes/stockings/auror/1.webp:467,906,164,21 +characters/tonks/poses/default/clothes/stockings/auror/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/stockings/auror/outline.webp:433,815,322,385 +characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/0.webp:433,800,320,400 +characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/stockings/bunny_stockings_1/outline.webp:431,797,325,403 +characters/tonks/poses/default/clothes/stockings/long_basic_1/0.webp:436,968,317,232 +characters/tonks/poses/default/clothes/stockings/long_basic_1/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/stockings/long_basic_1/extra.webp:441,985,291,215 +characters/tonks/poses/default/clothes/stockings/long_basic_1/outline.webp:432,932,323,268 +characters/tonks/poses/default/clothes/stockings/long_basic_1/skin.webp:436,944,253,54 +characters/tonks/poses/default/clothes/stockings/long_basic_2/0.webp:436,968,317,232 +characters/tonks/poses/default/clothes/stockings/long_basic_2/1.webp:439,973,281,70 +characters/tonks/poses/default/clothes/stockings/long_basic_2/extra.webp:441,985,291,215 +characters/tonks/poses/default/clothes/stockings/long_basic_2/outline.webp:432,932,323,268 +characters/tonks/poses/default/clothes/stockings/long_basic_2/skin.webp:436,944,253,54 +characters/tonks/poses/default/clothes/stockings/long_meshed/0.webp:436,968,317,232 +characters/tonks/poses/default/clothes/stockings/long_meshed/1.webp:436,978,316,222 +characters/tonks/poses/default/clothes/stockings/long_meshed/extra.webp:441,985,291,215 +characters/tonks/poses/default/clothes/stockings/long_meshed/outline.webp:432,932,323,268 +characters/tonks/poses/default/clothes/stockings/long_meshed/skin.webp:436,944,253,54 +characters/tonks/poses/default/clothes/stockings/long_ribbed/0.webp:436,978,144,222 +characters/tonks/poses/default/clothes/stockings/long_ribbed/1.webp:576,968,178,232 +characters/tonks/poses/default/clothes/stockings/long_ribbed/extra.webp:435,972,319,228 +characters/tonks/poses/default/clothes/stockings/long_ribbed/outline.webp:431,932,324,268 +characters/tonks/poses/default/clothes/stockings/long_sports/0.webp:436,968,317,232 +characters/tonks/poses/default/clothes/stockings/long_sports/1.webp:441,998,312,202 +characters/tonks/poses/default/clothes/stockings/long_sports/extra.webp:441,985,291,215 +characters/tonks/poses/default/clothes/stockings/long_sports/outline.webp:432,932,323,268 +characters/tonks/poses/default/clothes/stockings/long_sports/skin.webp:436,944,253,54 +characters/tonks/poses/default/clothes/stockings/long_striped/0.webp:436,968,317,232 +characters/tonks/poses/default/clothes/stockings/long_striped/1.webp:441,998,310,202 +characters/tonks/poses/default/clothes/stockings/long_striped/extra.webp:441,985,291,215 +characters/tonks/poses/default/clothes/stockings/long_striped/outline.webp:432,932,323,268 +characters/tonks/poses/default/clothes/stockings/long_striped/skin.webp:436,944,253,54 +characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/0.webp:450,999,303,201 +characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/outline.webp:447,995,308,205 +characters/tonks/poses/default/clothes/stockings/mechanic_thigh_socks/skin.webp:443,1007,260,61 +characters/tonks/poses/default/clothes/stockings/xmas/0.webp:449,846,286,250 +characters/tonks/poses/default/clothes/stockings/xmas/1.webp:456,1057,298,143 +characters/tonks/poses/default/clothes/stockings/xmas/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/stockings/xmas/outline.webp:448,845,307,355 +characters/tonks/poses/default/clothes/top/auror/0.webp:429,586,278,389 +characters/tonks/poses/default/clothes/top/auror/1.webp:431,610,274,363 +characters/tonks/poses/default/clothes/top/auror/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/auror/outline.webp:427,531,282,445 +characters/tonks/poses/default/clothes/top/auror/skin.webp:413,596,79,95 +characters/tonks/poses/default/clothes/top/auror2/0.webp:429,586,278,389 +characters/tonks/poses/default/clothes/top/auror2/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/auror2/outline.webp:427,531,282,445 +characters/tonks/poses/default/clothes/top/auror2/skin.webp:413,596,79,95 +characters/tonks/poses/default/clothes/top/bunnysuit/0.webp:442,616,251,355 +characters/tonks/poses/default/clothes/top/bunnysuit/extra.webp:457,621,167,37 +characters/tonks/poses/default/clothes/top/bunnysuit/outline.webp:441,614,253,359 +characters/tonks/poses/default/clothes/top/bunnysuit/skin.webp:413,616,68,75 +characters/tonks/poses/default/clothes/top/cavegirl_dress/0.webp:423,528,291,469 +characters/tonks/poses/default/clothes/top/cavegirl_dress/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/cavegirl_dress/extra.webp:424,551,237,442 +characters/tonks/poses/default/clothes/top/cavegirl_dress/outline.webp:422,525,293,474 +characters/tonks/poses/default/clothes/top/cavegirl_dress/skin.webp:448,539,227,461 +characters/tonks/poses/default/clothes/top/classy_dress/0.webp:391,529,455,671 +characters/tonks/poses/default/clothes/top/classy_dress/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/classy_dress/extra.webp:393,531,451,669 +characters/tonks/poses/default/clothes/top/classy_dress/outline.webp:392,530,454,670 +characters/tonks/poses/default/clothes/top/classy_dress/skin.webp:471,534,188,113 +characters/tonks/poses/default/clothes/top/corset/0.webp:459,621,241,270 +characters/tonks/poses/default/clothes/top/corset/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/corset/extra.webp:467,621,203,117 +characters/tonks/poses/default/clothes/top/corset/mask.webp:0,0,1010,1200 +characters/tonks/poses/default/clothes/top/corset/outline.webp:457,619,245,274 +characters/tonks/poses/default/clothes/top/corset/skin.webp:412,564,278,144 +characters/tonks/poses/default/clothes/top/crop_top/0.webp:436,527,268,233 +characters/tonks/poses/default/clothes/top/crop_top/outline.webp:435,523,272,237 +characters/tonks/poses/default/clothes/top/crop_top/skin.webp:487,533,211,232 +characters/tonks/poses/default/clothes/top/elf_dress/0.webp:423,582,361,416 +characters/tonks/poses/default/clothes/top/elf_dress/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/elf_dress/extra.webp:423,613,260,384 +characters/tonks/poses/default/clothes/top/elf_dress/outline.webp:422,581,363,418 +characters/tonks/poses/default/clothes/top/elf_dress/skin.webp:447,581,330,418 +characters/tonks/poses/default/clothes/top/mechanic_vest/0.webp:438,527,277,264 +characters/tonks/poses/default/clothes/top/mechanic_vest/1.webp:450,525,265,271 +characters/tonks/poses/default/clothes/top/mechanic_vest/2.webp:498,625,59,108 +characters/tonks/poses/default/clothes/top/mechanic_vest/outline.webp:435,522,283,276 +characters/tonks/poses/default/clothes/top/mechanic_vest/skin.webp:493,536,218,271 +characters/tonks/poses/default/clothes/top/nightie_1/0.webp:431,532,302,523 +characters/tonks/poses/default/clothes/top/nightie_1/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/nightie_1/outline.webp:429,530,305,526 +characters/tonks/poses/default/clothes/top/office/0.webp:394,494,453,450 +characters/tonks/poses/default/clothes/top/office/0_front.webp:552,494,106,72 +characters/tonks/poses/default/clothes/top/office/1.webp:540,566,47,315 +characters/tonks/poses/default/clothes/top/office/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/office/outline.webp:392,519,457,428 +characters/tonks/poses/default/clothes/top/office/outline_front.webp:549,491,112,77 +characters/tonks/poses/default/clothes/top/office/skin.webp:489,504,237,445 +characters/tonks/poses/default/clothes/top/police1/0.webp:436,527,275,277 +characters/tonks/poses/default/clothes/top/police1/1.webp:435,498,361,395 +characters/tonks/poses/default/clothes/top/police1/2.webp:548,702,13,107 +characters/tonks/poses/default/clothes/top/police1/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/police1/outline.webp:435,496,364,399 +characters/tonks/poses/default/clothes/top/police2/0.webp:435,498,361,395 +characters/tonks/poses/default/clothes/top/police2/1.webp:548,702,13,107 +characters/tonks/poses/default/clothes/top/police2/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/police2/outline.webp:436,496,363,399 +characters/tonks/poses/default/clothes/top/police3/0.webp:436,527,275,277 +characters/tonks/poses/default/clothes/top/police3/outline.webp:435,526,278,279 +characters/tonks/poses/default/clothes/top/pullover/0.webp:396,466,450,516 +characters/tonks/poses/default/clothes/top/pullover/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/pullover/extra.webp:397,495,448,485 +characters/tonks/poses/default/clothes/top/pullover/outline.webp:394,466,453,516 +characters/tonks/poses/default/clothes/top/pullover/skin.webp:438,954,245,31 +characters/tonks/poses/default/clothes/top/ruffled_top/0.webp:405,619,416,219 +characters/tonks/poses/default/clothes/top/ruffled_top/outline.webp:403,617,420,222 +characters/tonks/poses/default/clothes/top/santa_top/0.webp:465,528,380,258 +characters/tonks/poses/default/clothes/top/santa_top/0_zorder_8.webp:395,590,78,167 +characters/tonks/poses/default/clothes/top/santa_top/1.webp:467,498,333,318 +characters/tonks/poses/default/clothes/top/santa_top/1_zorder_8.webp:407,595,75,197 +characters/tonks/poses/default/clothes/top/santa_top/outline.webp:465,496,382,322 +characters/tonks/poses/default/clothes/top/santa_top/outline_zorder_8.webp:393,588,92,206 +characters/tonks/poses/default/clothes/top/santa_top/skin.webp:425,593,354,217 +characters/tonks/poses/default/clothes/top/silk_dress/0.webp:436,652,336,548 +characters/tonks/poses/default/clothes/top/silk_dress/1.webp:446,641,171,13 +characters/tonks/poses/default/clothes/top/silk_dress/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/silk_dress/outline.webp:431,632,344,568 +characters/tonks/poses/default/clothes/top/skimpy_dress/0.webp:432,524,272,483 +characters/tonks/poses/default/clothes/top/skimpy_dress/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/skimpy_dress/extra.webp:437,535,227,470 +characters/tonks/poses/default/clothes/top/skimpy_dress/outline.webp:431,522,282,499 +characters/tonks/poses/default/clothes/top/skimpy_dress/skin.webp:440,538,256,481 +characters/tonks/poses/default/clothes/top/skimpy_dress_2/0.webp:432,527,273,480 +characters/tonks/poses/default/clothes/top/skimpy_dress_2/armfix.webp:432,826,295,101 +characters/tonks/poses/default/clothes/top/skimpy_dress_2/extra.webp:438,541,257,461 +characters/tonks/poses/default/clothes/top/skimpy_dress_2/outline.webp:431,525,282,496 +characters/tonks/poses/default/clothes/top/skimpy_dress_2/skin.webp:440,539,256,480 +characters/tonks/poses/default/clothes/top/succubus_corset/0.webp:447,666,236,172 +characters/tonks/poses/default/clothes/top/succubus_corset/1.webp:528,689,33,139 +characters/tonks/poses/default/clothes/top/succubus_corset/2.webp:529,700,34,102 +characters/tonks/poses/default/clothes/top/succubus_corset/outline.webp:445,665,240,175 +characters/tonks/poses/default/clothes/top/succubus_corset_2/0.webp:474,695,204,143 +characters/tonks/poses/default/clothes/top/succubus_corset_2/1.webp:528,700,33,128 +characters/tonks/poses/default/clothes/top/succubus_corset_2/2.webp:529,700,34,102 +characters/tonks/poses/default/clothes/top/succubus_corset_2/outline.webp:472,695,207,145 +characters/tonks/poses/default/clothes/top/sweatshirt/0.webp:391,521,468,340 +characters/tonks/poses/default/clothes/top/sweatshirt/outline.webp:390,520,471,341 +characters/tonks/poses/default/clothes/top/swimsuit_1/0.webp:435,599,197,371 +characters/tonks/poses/default/clothes/top/swimsuit_1/extra.webp:434,599,197,371 +characters/tonks/poses/default/clothes/top/swimsuit_1/outline.webp:435,522,223,450 +characters/tonks/poses/default/clothes/top/swimsuit_1/skin.webp:476,536,184,396 +characters/tonks/poses/default/clothes/top/swimsuit_1_USA/0.webp:435,599,197,371 +characters/tonks/poses/default/clothes/top/swimsuit_1_USA/1.webp:436,601,195,378 +characters/tonks/poses/default/clothes/top/swimsuit_1_USA/2.webp:436,592,97,175 +characters/tonks/poses/default/clothes/top/swimsuit_1_USA/3.webp:443,598,92,173 +characters/tonks/poses/default/clothes/top/swimsuit_1_USA/extra.webp:434,599,197,371 +characters/tonks/poses/default/clothes/top/swimsuit_1_USA/outline.webp:435,522,223,450 +characters/tonks/poses/default/clothes/top/swimsuit_1_USA/skin.webp:476,536,184,396 +characters/tonks/poses/default/clothes/top/swimsuit_1_striped/0.webp:435,599,197,371 +characters/tonks/poses/default/clothes/top/swimsuit_1_striped/1.webp:436,600,195,379 +characters/tonks/poses/default/clothes/top/swimsuit_1_striped/extra.webp:434,599,197,371 +characters/tonks/poses/default/clothes/top/swimsuit_1_striped/outline.webp:435,522,223,450 +characters/tonks/poses/default/clothes/top/swimsuit_1_striped/skin.webp:476,536,184,396 +characters/tonks/poses/default/clothes/top/tied_top/0.webp:437,490,288,244 +characters/tonks/poses/default/clothes/top/tied_top/outline.webp:435,489,293,247 +characters/tonks/poses/default/cum/body/heavy/cum.webp:509,438,134,417 +characters/tonks/poses/default/cum/body/heavy/skin.webp:514,472,114,384 +characters/tonks/poses/default/cum/body/light/cum.webp:509,552,119,271 +characters/tonks/poses/default/cum/body/light/skin.webp:522,553,106,230 +characters/tonks/poses/default/cum/breasts/heavy/cum.webp:443,579,231,168 +characters/tonks/poses/default/cum/breasts/heavy/skin.webp:462,580,207,169 +characters/tonks/poses/default/cum/breasts/light/cum.webp:455,593,202,126 +characters/tonks/poses/default/cum/breasts/light/skin.webp:462,593,195,127 +characters/tonks/poses/default/cum/crotch/heavy/cum.webp:440,778,215,321 +characters/tonks/poses/default/cum/crotch/heavy/skin.webp:442,779,214,316 +characters/tonks/poses/default/cum/crotch/light/cum.webp:440,780,191,314 +characters/tonks/poses/default/cum/crotch/light/skin.webp:442,780,190,315 +characters/tonks/poses/default/cum/face/heavy/cum.webp:514,324,118,170 +characters/tonks/poses/default/cum/face/heavy/skin.webp:516,327,96,159 +characters/tonks/poses/default/cum/face/light/cum.webp:514,339,118,147 +characters/tonks/poses/default/cum/face/light/skin.webp:524,338,88,145 +characters/tonks/poses/default/cum/hair/heavy/default/cum.webp:489,265,211,169 +characters/tonks/poses/default/cum/hair/light/default/cum.webp:512,282,185,136 +characters/tonks/poses/default/cum/legs/heavy/cum.webp:632,1044,90,135 +characters/tonks/poses/default/cum/legs/heavy/skin.webp:634,1044,89,136 +characters/tonks/poses/default/cum/legs/light/cum.webp:632,1044,22,102 +characters/tonks/poses/default/cum/legs/light/skin.webp:634,1044,22,103 +characters/tonks/poses/default/cum/pussy/heavy/cum.webp:539,947,32,98 +characters/tonks/poses/default/cum/pussy/light/cum.webp:541,949,29,55 +characters/tonks/poses/default/emote/angry.webp:595,320,45,43 +characters/tonks/poses/default/emote/confused.webp:422,193,129,101 +characters/tonks/poses/default/emote/happy.webp:424,173,123,146 +characters/tonks/poses/default/emote/hearts.webp:390,162,175,146 +characters/tonks/poses/default/emote/shocked.webp:410,166,136,128 +characters/tonks/poses/default/emote/sweat.webp:591,306,42,67 +characters/tonks/poses/default/face/cheeks/blush/skin.webp:516,380,108,61 +characters/tonks/poses/default/face/cheeks/gloom/expression.webp:600,393,26,49 +characters/tonks/poses/default/face/cheeks/heavy_blush/skin.webp:516,380,108,61 +characters/tonks/poses/default/face/eyebrows/angry/expression.webp:513,366,101,27 +characters/tonks/poses/default/face/eyebrows/angry/skin.webp:515,371,102,31 +characters/tonks/poses/default/face/eyebrows/annoyed/expression.webp:513,368,102,22 +characters/tonks/poses/default/face/eyebrows/annoyed/skin.webp:516,373,100,29 +characters/tonks/poses/default/face/eyebrows/base/expression.webp:512,367,103,21 +characters/tonks/poses/default/face/eyebrows/base/skin.webp:514,371,102,31 +characters/tonks/poses/default/face/eyebrows/raised/expression.webp:513,360,101,29 +characters/tonks/poses/default/face/eyebrows/raised/skin.webp:515,365,102,37 +characters/tonks/poses/default/face/eyebrows/shocked/expression.webp:513,362,102,25 +characters/tonks/poses/default/face/eyebrows/shocked/skin.webp:514,369,102,33 +characters/tonks/poses/default/face/eyebrows/worried/expression.webp:514,367,101,15 +characters/tonks/poses/default/face/eyebrows/worried/skin.webp:517,373,100,29 +characters/tonks/poses/default/face/eyes/base/expression.webp:512,380,107,25 +characters/tonks/poses/default/face/eyes/base/eyemask.webp:519,387,93,17 +characters/tonks/poses/default/face/eyes/base/skin.webp:517,395,99,10 +characters/tonks/poses/default/face/eyes/closed/expression.webp:511,380,106,26 +characters/tonks/poses/default/face/eyes/closed/skin.webp:517,395,99,10 +characters/tonks/poses/default/face/eyes/happyCl/expression.webp:514,382,104,20 +characters/tonks/poses/default/face/eyes/happyCl/skin.webp:517,395,99,9 +characters/tonks/poses/default/face/eyes/narrow/expression.webp:513,380,106,25 +characters/tonks/poses/default/face/eyes/narrow/eyemask.webp:519,390,92,14 +characters/tonks/poses/default/face/eyes/narrow/skin.webp:517,395,99,10 +characters/tonks/poses/default/face/eyes/shocked/expression.webp:512,378,105,28 +characters/tonks/poses/default/face/eyes/shocked/eyemask.webp:518,383,94,22 +characters/tonks/poses/default/face/eyes/shocked/skin.webp:517,395,99,10 +characters/tonks/poses/default/face/eyes/wide/expression.webp:511,380,108,25 +characters/tonks/poses/default/face/eyes/wide/eyemask.webp:518,385,94,20 +characters/tonks/poses/default/face/eyes/wide/skin.webp:517,395,99,10 +characters/tonks/poses/default/face/eyes/wink/expression.webp:514,380,105,25 +characters/tonks/poses/default/face/eyes/wink/eyemask.webp:577,387,35,17 +characters/tonks/poses/default/face/eyes/wink/skin.webp:517,395,99,10 +characters/tonks/poses/default/face/mouth/angry/expression.webp:544,447,41,31 +characters/tonks/poses/default/face/mouth/annoyed/expression.webp:541,447,35,19 +characters/tonks/poses/default/face/mouth/annoyed/skin.webp:545,460,24,8 +characters/tonks/poses/default/face/mouth/base/expression.webp:541,446,52,21 +characters/tonks/poses/default/face/mouth/base/skin.webp:549,452,36,19 +characters/tonks/poses/default/face/mouth/clench/expression.webp:542,441,56,34 +characters/tonks/poses/default/face/mouth/clench/skin.webp:550,467,34,10 +characters/tonks/poses/default/face/mouth/crooked_smile/expression.webp:541,437,54,36 +characters/tonks/poses/default/face/mouth/crooked_smile/skin.webp:550,459,38,15 +characters/tonks/poses/default/face/mouth/disgust/expression.webp:540,450,48,22 +characters/tonks/poses/default/face/mouth/disgust/skin.webp:540,450,48,24 +characters/tonks/poses/default/face/mouth/grin/expression.webp:540,443,56,35 +characters/tonks/poses/default/face/mouth/grin/skin.webp:546,467,38,13 +characters/tonks/poses/default/face/mouth/horny/expression.webp:543,443,46,30 +characters/tonks/poses/default/face/mouth/horny/skin.webp:553,463,30,12 +characters/tonks/poses/default/face/mouth/mad/expression.webp:542,444,48,29 +characters/tonks/poses/default/face/mouth/mad/skin.webp:546,465,32,9 +characters/tonks/poses/default/face/mouth/normal/expression.webp:543,446,42,21 +characters/tonks/poses/default/face/mouth/normal/skin.webp:549,452,36,19 +characters/tonks/poses/default/face/mouth/open/expression.webp:544,444,36,34 +characters/tonks/poses/default/face/mouth/open/skin.webp:550,466,28,14 +characters/tonks/poses/default/face/mouth/open_wide/expression.webp:525,441,107,57 +characters/tonks/poses/default/face/mouth/open_wide_tongue/expression_zorder_500.webp:525,441,107,87 +characters/tonks/poses/default/face/mouth/open_wide_tongue2/expression_zorder_500.webp:514,441,118,77 +characters/tonks/poses/default/face/mouth/open_wide_tongue2_cum/expression_zorder_500.webp:514,441,118,77 +characters/tonks/poses/default/face/mouth/open_wide_tongue_cum/expression_zorder_500.webp:525,441,107,87 +characters/tonks/poses/default/face/mouth/scream/expression.webp:540,443,49,36 +characters/tonks/poses/default/face/mouth/scream/skin.webp:549,468,37,13 +characters/tonks/poses/default/face/mouth/silly/expression.webp:542,441,47,35 +characters/tonks/poses/default/face/mouth/silly/skin.webp:552,467,31,11 +characters/tonks/poses/default/face/mouth/soft/expression.webp:545,446,45,27 +characters/tonks/poses/default/face/mouth/soft/skin.webp:550,461,27,15 +characters/tonks/poses/default/face/mouth/upset/expression.webp:545,443,41,24 +characters/tonks/poses/default/face/mouth/upset/skin.webp:545,458,27,11 +characters/tonks/poses/default/face/pupils/L/expression.webp:521,389,75,15 +characters/tonks/poses/default/face/pupils/R/expression.webp:531,388,76,17 +characters/tonks/poses/default/face/pupils/ahegao/expression.webp:531,382,64,17 +characters/tonks/poses/default/face/pupils/down/expression.webp:525,393,74,16 +characters/tonks/poses/default/face/pupils/downR/expression.webp:531,391,77,17 +characters/tonks/poses/default/face/pupils/mid/expression.webp:528,386,75,16 +characters/tonks/poses/default/face/pupils/stare/expression.webp:525,385,74,17 +characters/tonks/poses/default/face/pupils/up/expression.webp:525,385,75,16 +characters/tonks/poses/default/face/tears/mascara/expression.webp:516,380,96,43 +characters/tonks/poses/default/face/tears/tears/expression.webp:513,384,101,20 gui/icon.webp:101,1,430,630 gui/logos/discord.webp:20,13,112,128 gui/logos/patreon.webp:20,22,110,106 @@ -5048,144 +5610,8 @@ gui/main_menu/fire05.webp:0,208,697,709 gui/main_menu/fire06.webp:0,208,697,709 gui/main_menu/fire07.webp:0,208,697,709 gui/main_menu/sparkle.webp:0,0,49,50 -gui/splash/legal.webp:0,0,2160,1200 -images/CG/ball/171.webp:0,0,1080,600 -images/CG/ball/172.webp:221,185,102,189 -images/CG/ball/173.webp:212,170,138,162 -images/CG/ball/174.webp:200,163,149,203 -images/CG/ball/175.webp:213,170,137,162 -images/CG/ball/background.webp:0,0,1080,600 -images/CG/ball/base.webp:0,0,1080,600 -images/CG/ball/bj/background.webp:0,0,1080,600 -images/CG/ball/bj/background2.webp:0,0,1080,600 -images/CG/ball/bj/base.webp:0,0,778,600 -images/CG/ball/bj/base2.webp:0,0,777,600 -images/CG/ball/bj/base3.webp:0,0,1072,600 -images/CG/ball/bj/base3_alt.webp:0,0,1072,600 -images/CG/ball/bj/base4.webp:0,0,776,600 -images/CG/ball/bj/blush.webp:281,202,82,33 -images/CG/ball/bj/blush2.webp:370,186,98,58 -images/CG/ball/bj/blush3.webp:284,203,62,60 -images/CG/ball/bj/blush4.webp:397,211,99,34 -images/CG/ball/bj/brows.webp:280,149,81,50 -images/CG/ball/bj/brows2.webp:367,145,91,42 -images/CG/ball/bj/brows3.webp:329,184,31,57 -images/CG/ball/bj/brows4.webp:403,164,91,39 -images/CG/ball/bj/brows_angry3.webp:327,186,34,56 -images/CG/ball/bj/cheeks3.webp:261,228,81,87 -images/CG/ball/bj/eyes_closed.webp:275,172,94,50 -images/CG/ball/bj/eyes_closed2.webp:361,158,104,51 -images/CG/ball/bj/eyes_closed3.webp:315,196,32,42 -images/CG/ball/bj/eyes_closed4.webp:398,185,104,41 -images/CG/ball/bj/eyes_dead3.webp:313,195,37,44 -images/CG/ball/bj/eyes_down.webp:286,184,70,25 -images/CG/ball/bj/eyes_down2.webp:370,164,94,45 -images/CG/ball/bj/eyes_happycl3.webp:315,196,30,45 -images/CG/ball/bj/eyes_squintdead3.webp:308,195,42,46 -images/CG/ball/bj/eyes_squintup3.webp:308,195,42,46 -images/CG/ball/bj/eyes_stare3.webp:313,195,35,44 -images/CG/ball/bj/eyes_up.webp:285,184,71,25 -images/CG/ball/bj/eyes_up2.webp:379,179,74,39 -images/CG/ball/bj/eyes_up3.webp:313,195,35,44 -images/CG/ball/bj/eyes_up4.webp:411,195,76,25 -images/CG/ball/bj/lashes.webp:279,178,88,22 -images/CG/ball/bj/lashes2.webp:370,164,94,38 -images/CG/ball/bj/lashes4.webp:403,191,89,21 -images/CG/ball/bj/mascara3.webp:289,211,59,110 -images/CG/ball/bj/mouth_grimmace2.webp:409,227,41,40 -images/CG/ball/bj/mouth_happy2.webp:403,228,48,36 -images/CG/ball/bj/mouth_open2.webp:409,226,41,38 -images/CG/ball/bj/mouth_smile2.webp:407,233,28,16 -images/CG/ball/bj/mouth_smile4.webp:432,225,46,62 -images/CG/ball/bj/sperm.webp:281,240,71,75 -images/CG/ball/bj/sperm3.webp:213,195,81,60 -images/CG/ball/bj/sperm4.webp:352,104,71,114 -images/CG/ball/bj/spit_base3.webp:298,226,28,49 -images/CG/ball/bj/spit_eye3.webp:316,206,29,48 -images/CG/ball/bj/spit_forehead3.webp:347,178,32,48 -images/CG/ball/bj/spit_nose3.webp:284,200,32,69 -images/CG/ball/bj/spit_on_eye3.webp:301,57,50,179 -images/CG/ball/bj/sweat.webp:361,155,9,26 -images/CG/ball/bj/sweat2.webp:369,158,9,26 -images/CG/ball/bj/sweat3.webp:281,193,92,159 -images/CG/ball/bj/sweat4.webp:412,143,8,26 -images/CG/ball/bj/tears_base3.webp:321,212,27,30 -images/CG/ball/bj/tears_crying3.webp:280,212,68,113 -images/CG/ball/blank.webp:0,0,0,0 -images/CG/ball/intro/background.webp:0,0,1080,600 -images/CG/ball/intro/bloom.webp:0,124,1080,476 -images/CG/ball/intro/foreground.webp:0,91,1080,509 -images/CG/ball/intro/hermione.webp:412,22,278,578 -images/CG/ball/intro/hermione2.webp:412,22,278,578 -images/CG/ball/intro/overlay.webp:0,0,1080,600 -images/CG/ball/sex/background.webp:0,0,1080,600 -images/CG/ball/sex/background2.webp:0,0,1080,600 -images/CG/ball/sex/base.webp:0,0,652,600 -images/CG/ball/sex/base2.webp:0,0,1055,600 -images/CG/ball/sex/blush.webp:490,181,89,37 -images/CG/ball/sex/blush2.webp:490,183,89,35 -images/CG/ball/sex/brows.webp:490,136,86,38 -images/CG/ball/sex/bukkake.webp:414,82,171,378 -images/CG/ball/sex/cheeks.webp:486,197,100,61 -images/CG/ball/sex/cum_after.webp:536,222,310,181 -images/CG/ball/sex/cum_anal.webp:202,249,86,74 -images/CG/ball/sex/cum_extra.webp:85,266,157,221 -images/CG/ball/sex/cum_nose.webp:535,190,57,65 -images/CG/ball/sex/cum_pussy.webp:155,406,67,182 -images/CG/ball/sex/dude_bj.webp:250,0,808,600 -images/CG/ball/sex/dude_bj2.webp:411,0,561,600 -images/CG/ball/sex/dude_bj3.webp:250,0,808,600 -images/CG/ball/sex/dude_bj_cum.webp:485,193,97,191 -images/CG/ball/sex/dudes.webp:549,0,531,600 -images/CG/ball/sex/dudes2.webp:550,0,530,600 -images/CG/ball/sex/dudes_cum.webp:518,164,265,177 -images/CG/ball/sex/dudes_cum2.webp:511,131,328,210 -images/CG/ball/sex/dudes_cum3.webp:511,131,328,210 -images/CG/ball/sex/dudes_spit.webp:519,70,177,128 -images/CG/ball/sex/dudes_spit_mouth.webp:533,118,174,160 -images/CG/ball/sex/eyes_closed.webp:482,159,103,34 -images/CG/ball/sex/eyes_dead.webp:494,159,84,34 -images/CG/ball/sex/eyes_down.webp:496,164,73,29 -images/CG/ball/sex/eyes_happycl.webp:482,159,103,34 -images/CG/ball/sex/eyes_r.webp:503,164,67,23 -images/CG/ball/sex/eyes_stare.webp:503,164,66,23 -images/CG/ball/sex/eyes_up.webp:500,164,69,23 -images/CG/ball/sex/eyes_wide.webp:494,159,84,34 -images/CG/ball/sex/lashes.webp:490,160,95,27 -images/CG/ball/sex/mascara.webp:487,179,89,75 -images/CG/ball/sex/mouth_open.webp:506,206,66,76 -images/CG/ball/sex/mouth_open_tongue.webp:506,206,65,48 -images/CG/ball/sex/mouth_open_tongue2.webp:506,210,65,43 -images/CG/ball/sex/mouth_smile.webp:506,206,66,76 -images/CG/ball/sex/open_tongue2.webp:513,227,51,39 -images/CG/ball/sex/spank.webp:157,294,87,86 -images/CG/ball/sex/spit.webp:489,236,73,172 -images/CG/ball/sex/spit_on_face.webp:527,156,25,50 -images/CG/ball/sex/tears.webp:494,177,83,17 -images/CG/ball/sex/tears2.webp:487,179,92,84 -images/CG/ball/speech/background.webp:0,0,1080,600 -images/CG/ball/speech/base.webp:357,5,410,595 -images/CG/ball/speech/base2.webp:358,5,696,595 -images/CG/ball/speech/bloom.webp:0,124,1080,476 -images/CG/ball/speech/blush.webp:460,177,150,52 -images/CG/ball/speech/brows.webp:478,124,114,30 -images/CG/ball/speech/cheeks.webp:469,205,123,112 -images/CG/ball/speech/cum0.webp:622,210,14,65 -images/CG/ball/speech/cum1.webp:597,92,71,183 -images/CG/ball/speech/cum2.webp:556,92,112,183 -images/CG/ball/speech/cum3.webp:531,80,137,195 -images/CG/ball/speech/cum4.webp:531,80,137,195 -images/CG/ball/speech/cum5.webp:531,80,137,225 -images/CG/ball/speech/cum6.webp:530,80,138,387 -images/CG/ball/speech/cum_mouth.webp:506,208,35,41 -images/CG/ball/speech/cum_nose.webp:494,208,24,49 -images/CG/ball/speech/cum_nose2.webp:506,208,12,23 -images/CG/ball/speech/eyes_closed.webp:467,141,140,56 -images/CG/ball/speech/eyes_squint.webp:467,140,138,56 -images/CG/ball/speech/mascara.webp:479,173,104,104 -images/CG/ball/speech/mouth_open.webp:488,217,72,41 -images/CG/ball/speech/overlay.webp:0,0,1080,600 -images/CG/ball/speech/sweat.webp:517,115,79,151 +gui/splash/legal.webp:0,0,2133,1200 +gui/splash/rating.webp:1,1,349,588 images/CG/cho_bj/bj/day_overlay.webp:0,0,3840,2160 images/CG/cho_bj/bj/loops/lick.webp:0,0,1920,1080 images/CG/cho_bj/bj/loops/topless/lick.webp:0,0,1920,1080 @@ -5339,9 +5765,269 @@ images/CG/cho_bj_desk/mask.webp:928,0,3392,2400 images/CG/cho_bj_desk/mask_idle.webp:0,0,4320,2400 images/CG/cho_bj_desk/overlay.webp:0,0,4320,2400 images/CG/cho_bj_desk/overlay_idle.webp:0,0,4320,2400 +images/CG/cho_facefuck/cho_facefuck_background.webp:0,0,4320,2400 +images/CG/cho_facefuck/cho_facefuck_cho_arms_deep.webp:1237,1398,2045,710 +images/CG/cho_facefuck/cho_facefuck_cho_arms_down.webp:1210,1344,2093,759 +images/CG/cho_facefuck/cho_facefuck_cho_arms_mid.webp:1199,1334,2096,777 +images/CG/cho_facefuck/cho_facefuck_cho_arms_up.webp:1210,1301,2082,804 +images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_deep.webp:1579,1166,1194,1078 +images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_down.webp:1579,1006,1194,1078 +images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_mid.webp:1573,918,1207,1078 +images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_up.webp:1579,846,1194,1078 +images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_deep.webp:1527,1370,1263,623 +images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_down.webp:1527,1210,1263,623 +images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_mid.webp:1520,1121,1277,623 +images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_up.webp:1527,1050,1263,623 +images/CG/cho_facefuck/cho_facefuck_cho_body_deep.webp:1310,1218,1651,1160 +images/CG/cho_facefuck/cho_facefuck_cho_body_down.webp:1315,1008,1632,1366 +images/CG/cho_facefuck/cho_facefuck_cho_body_mid.webp:1305,988,1658,1359 +images/CG/cho_facefuck/cho_facefuck_cho_body_up.webp:1315,944,1632,1366 +images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_deep.webp:1692,1845,916,292 +images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_down.webp:1692,1685,916,292 +images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_mid.webp:1691,1599,916,292 +images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_up.webp:1689,1517,916,292 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_deep.webp:1654,1271,982,198 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_down.webp:1654,1111,982,198 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_mid.webp:1648,1024,991,197 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_up.webp:1654,951,982,198 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_deep.webp:1653,1351,958,82 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_down.webp:1653,1191,958,82 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_mid.webp:1647,1103,968,82 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_up.webp:1653,1031,958,82 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_deep.webp:1666,1309,947,151 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_down.webp:1666,1149,947,151 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_mid.webp:1661,1060,955,151 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_up.webp:1666,989,947,151 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_deep.webp:1652,1251,983,203 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_down.webp:1652,1091,983,203 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_mid.webp:1646,1004,993,203 +images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_up.webp:1652,931,983,203 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_deep.webp:1685,1442,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_down.webp:1685,1282,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_mid.webp:1679,1194,908,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_up.webp:1685,1122,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_deep.webp:1685,1442,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_down.webp:1685,1282,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_mid.webp:1679,1194,908,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_up.webp:1685,1122,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_deep.webp:1685,1442,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_down.webp:1685,1282,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_mid.webp:1679,1194,908,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_up.webp:1685,1122,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_deep.webp:1685,1464,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_down.webp:1685,1304,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_mid.webp:1679,1215,908,156 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_up.webp:1685,1144,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_deep.webp:1685,1464,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_down.webp:1685,1304,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_mid.webp:1679,1215,908,156 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_up.webp:1685,1144,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_deep.webp:1685,1464,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_down.webp:1685,1304,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_mid.webp:1679,1215,908,156 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_up.webp:1685,1144,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_deep.webp:1685,1464,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_down.webp:1685,1304,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_mid.webp:1679,1215,908,156 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_up.webp:1685,1144,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_deep.webp:1685,1464,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_down.webp:1685,1304,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_mid.webp:1679,1215,908,156 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_up.webp:1685,1144,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_deep.webp:1685,1464,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_down.webp:1685,1304,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_mid.webp:1679,1215,908,156 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_up.webp:1685,1144,898,155 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_deep.webp:1685,1442,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_down.webp:1685,1282,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_mid.webp:1679,1194,908,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_up.webp:1685,1122,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_deep.webp:1669,1462,936,128 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_down.webp:1669,1302,936,128 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_mid.webp:1663,1215,946,127 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_up.webp:1669,1142,936,128 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_deep.webp:1685,1442,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_down.webp:1685,1282,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_mid.webp:1679,1194,908,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_up.webp:1685,1122,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_deep.webp:1685,1442,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_down.webp:1685,1282,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_mid.webp:1679,1194,908,192 +images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_up.webp:1685,1122,898,192 +images/CG/cho_facefuck/cho_facefuck_cho_hair_deep.webp:1162,508,1798,1214 +images/CG/cho_facefuck/cho_facefuck_cho_hair_down.webp:1162,348,1798,1214 +images/CG/cho_facefuck/cho_facefuck_cho_hair_mid.webp:1154,266,1810,1206 +images/CG/cho_facefuck/cho_facefuck_cho_hair_up.webp:1162,188,1798,1214 +images/CG/cho_facefuck/cho_facefuck_cho_head_deep.webp:1460,357,1379,1953 +images/CG/cho_facefuck/cho_facefuck_cho_head_down.webp:1460,197,1379,1953 +images/CG/cho_facefuck/cho_facefuck_cho_head_mid.webp:1456,116,1386,1948 +images/CG/cho_facefuck/cho_facefuck_cho_head_up.webp:1460,37,1379,1953 +images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_deep.webp:1985,1994,274,103 +images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_down.webp:1985,1831,274,103 +images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_mid.webp:1985,1745,274,103 +images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_up.webp:1985,1673,274,103 +images/CG/cho_facefuck/cho_facefuck_cho_shadow_deep.webp:1660,1356,2660,1044 +images/CG/cho_facefuck/cho_facefuck_cho_shadow_down.webp:1660,1249,2660,1151 +images/CG/cho_facefuck/cho_facefuck_cho_shadow_mid.webp:1660,1140,2660,1260 +images/CG/cho_facefuck/cho_facefuck_cho_shadow_up.webp:1660,1027,2660,1373 +images/CG/cho_facefuck/cho_facefuck_cho_shirt_deep.webp:1290,1284,1693,999 +images/CG/cho_facefuck/cho_facefuck_cho_shirt_down.webp:1298,1092,1669,1172 +images/CG/cho_facefuck/cho_facefuck_cho_shirt_mid.webp:1288,1071,1695,1167 +images/CG/cho_facefuck/cho_facefuck_cho_shirt_up.webp:1298,1028,1669,1172 +images/CG/cho_facefuck/cho_facefuck_cho_spit_face_deep.webp:2293,1636,290,299 +images/CG/cho_facefuck/cho_facefuck_cho_spit_face_down.webp:2293,1476,290,299 +images/CG/cho_facefuck/cho_facefuck_cho_spit_face_mid.webp:2295,1388,294,300 +images/CG/cho_facefuck/cho_facefuck_cho_spit_face_up.webp:2293,1316,290,299 +images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_deep.webp:1927,2056,414,190 +images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_down.webp:1927,1896,414,190 +images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_mid.webp:1925,1808,420,191 +images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_up.webp:1927,1736,414,190 +images/CG/cho_facefuck/cho_facefuck_cho_tears_deep.webp:1662,1514,916,395 +images/CG/cho_facefuck/cho_facefuck_cho_tears_down.webp:1664,1355,916,395 +images/CG/cho_facefuck/cho_facefuck_cho_tears_mid.webp:1664,1266,916,395 +images/CG/cho_facefuck/cho_facefuck_cho_tears_up.webp:1666,1195,916,395 +images/CG/cho_facefuck/cho_facefuck_effects_speedlines.webp:918,1660,2412,740 +images/CG/cho_facefuck/cho_facefuck_genie_body_deep.webp:615,1823,3177,577 +images/CG/cho_facefuck/cho_facefuck_genie_body_down.webp:648,1835,3119,565 +images/CG/cho_facefuck/cho_facefuck_genie_body_mid.webp:654,1841,3104,559 +images/CG/cho_facefuck/cho_facefuck_genie_body_up.webp:648,1835,3119,565 +images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot2_deep.webp:1943,1823,378,396 +images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot_deep.webp:1943,1823,378,396 +images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_deep.webp:1930,1823,398,340 +images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_down.webp:1930,1665,398,340 +images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_mid.webp:1930,1575,398,354 +images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_up.webp:1932,1503,393,424 +images/CG/cho_facefuck/cho_facefuck_genie_hands_deep.webp:843,390,2640,784 +images/CG/cho_facefuck/cho_facefuck_genie_hands_down.webp:871,206,2647,788 +images/CG/cho_facefuck/cho_facefuck_genie_hands_mid.webp:871,98,2647,788 +images/CG/cho_facefuck/cho_facefuck_genie_hands_up.webp:871,46,2647,788 +images/CG/cho_facefuck/cho_facefuck_genie_penis_deep.webp:1800,2000,1715,400 +images/CG/cho_facefuck/cho_facefuck_genie_penis_down.webp:1810,1835,1686,565 +images/CG/cho_facefuck/cho_facefuck_genie_penis_mid.webp:1836,1752,724,648 +images/CG/cho_facefuck/cho_facefuck_genie_penis_up.webp:1810,1677,1686,723 +images/CG/cho_handjob/cho_handjob_background.webp:0,0,4320,2400 +images/CG/cho_handjob/cho_handjob_bubble.webp:2041,94,2176,1156 +images/CG/cho_handjob/cho_handjob_bubble_mask.webp:2608,94,1609,1156 +images/CG/cho_handjob/cho_handjob_cho_bending_shirt.webp:1207,997,1846,1185 +images/CG/cho_handjob/cho_handjob_cho_bending_shirt_open.webp:1207,997,1847,1185 +images/CG/cho_handjob/cho_handjob_cho_bending_skirt.webp:2131,1657,1172,743 +images/CG/cho_handjob/cho_handjob_cho_body_bending.webp:0,0,3269,2400 +images/CG/cho_handjob/cho_handjob_cho_body_idle.webp:451,0,2626,2400 +images/CG/cho_handjob/cho_handjob_cho_body_idle2.webp:451,0,2142,2400 +images/CG/cho_handjob/cho_handjob_cho_body_stroke_down.webp:451,0,2138,2400 +images/CG/cho_handjob/cho_handjob_cho_body_stroke_idle.webp:451,0,2169,2400 +images/CG/cho_handjob/cho_handjob_cho_body_stroke_up.webp:451,0,2169,2400 +images/CG/cho_handjob/cho_handjob_cho_hair_fringe.webp:1138,1,953,630 +images/CG/cho_handjob/cho_handjob_cho_hand_wet_stroke_down.webp:1904,2211,321,189 +images/CG/cho_handjob/cho_handjob_cho_idle2_shirt.webp:985,683,1471,1421 +images/CG/cho_handjob/cho_handjob_cho_idle2_shirt_open.webp:985,683,1471,1421 +images/CG/cho_handjob/cho_handjob_cho_idle2_skirt.webp:1561,1645,875,755 +images/CG/cho_handjob/cho_handjob_cho_idle_shirt.webp:985,683,1472,1421 +images/CG/cho_handjob/cho_handjob_cho_idle_shirt_open.webp:985,683,1472,1421 +images/CG/cho_handjob/cho_handjob_cho_idle_skirt.webp:1561,1645,875,755 +images/CG/cho_handjob/cho_handjob_cho_skirt_fix.webp:2101,1645,78,81 +images/CG/cho_handjob/cho_handjob_cho_spit.webp:2195,1704,66,464 +images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt.webp:985,683,1472,1421 +images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt_open.webp:985,683,1472,1421 +images/CG/cho_handjob/cho_handjob_cho_stroke_down_skirt.webp:1561,1645,875,755 +images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt.webp:985,683,1475,1421 +images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt_open.webp:985,683,1475,1421 +images/CG/cho_handjob/cho_handjob_cho_stroke_idle_skirt.webp:1561,1645,875,755 +images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt.webp:985,683,1475,1421 +images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt_open.webp:985,683,1475,1421 +images/CG/cho_handjob/cho_handjob_cho_stroke_up_skirt.webp:1561,1645,875,755 +images/CG/cho_handjob/cho_handjob_cum_after.webp:2343,1546,1277,658 +images/CG/cho_handjob/cho_handjob_cum_cumshot.webp:2341,1384,1077,753 +images/CG/cho_handjob/cho_handjob_cum_precum.webp:2361,2090,30,26 +images/CG/cho_handjob/cho_handjob_effects_spitting.webp:2195,1704,66,464 +images/CG/cho_handjob/cho_handjob_eyebrows_angry.webp:1358,362,405,68 +images/CG/cho_handjob/cho_handjob_eyebrows_base.webp:1362,355,398,84 +images/CG/cho_handjob/cho_handjob_eyebrows_raised.webp:1359,337,408,86 +images/CG/cho_handjob/cho_handjob_eyebrows_sad.webp:1370,376,395,50 +images/CG/cho_handjob/cho_handjob_eyebrows_worried.webp:1364,356,402,74 +images/CG/cho_handjob/cho_handjob_eyes_closed.webp:1397,450,382,60 +images/CG/cho_handjob/cho_handjob_eyes_open_down.webp:1394,419,393,100 +images/CG/cho_handjob/cho_handjob_eyes_open_forward.webp:1394,419,393,100 +images/CG/cho_handjob/cho_handjob_eyes_open_left.webp:1394,419,393,100 +images/CG/cho_handjob/cho_handjob_eyes_open_narrow_down.webp:1394,436,393,75 +images/CG/cho_handjob/cho_handjob_eyes_open_narrow_forward.webp:1394,436,393,75 +images/CG/cho_handjob/cho_handjob_eyes_open_narrow_left.webp:1394,436,393,75 +images/CG/cho_handjob/cho_handjob_eyes_open_narrow_right.webp:1394,436,393,75 +images/CG/cho_handjob/cho_handjob_eyes_open_right.webp:1394,419,393,100 +images/CG/cho_handjob/cho_handjob_eyes_open_wide_down.webp:1394,412,393,117 +images/CG/cho_handjob/cho_handjob_eyes_open_wide_forward.webp:1394,412,393,117 +images/CG/cho_handjob/cho_handjob_eyes_open_wide_left.webp:1394,412,393,117 +images/CG/cho_handjob/cho_handjob_eyes_open_wide_right.webp:1394,412,393,117 +images/CG/cho_handjob/cho_handjob_eyes_shut.webp:1396,443,394,61 +images/CG/cho_handjob/cho_handjob_genie_robed.webp:0,0,2025,2400 +images/CG/cho_handjob/cho_handjob_genie_unrobed.webp:0,0,2025,2400 +images/CG/cho_handjob/cho_handjob_hand_stroke_down.webp:1899,1980,421,420 +images/CG/cho_handjob/cho_handjob_hand_stroke_down_wet.webp:1904,2211,321,189 +images/CG/cho_handjob/cho_handjob_hand_stroke_idle.webp:1969,1985,352,415 +images/CG/cho_handjob/cho_handjob_hand_stroke_idle_wet.webp:1971,2171,308,229 +images/CG/cho_handjob/cho_handjob_hand_stroke_up.webp:1969,1984,372,416 +images/CG/cho_handjob/cho_handjob_hand_stroke_up_wet.webp:1971,2169,195,193 +images/CG/cho_handjob/cho_handjob_mouth_angry.webp:1516,658,158,88 +images/CG/cho_handjob/cho_handjob_mouth_annoyed.webp:1558,646,117,71 +images/CG/cho_handjob/cho_handjob_mouth_base.webp:1516,671,161,63 +images/CG/cho_handjob/cho_handjob_mouth_lipbite.webp:1518,660,140,82 +images/CG/cho_handjob/cho_handjob_mouth_neutral.webp:1517,671,146,63 +images/CG/cho_handjob/cho_handjob_mouth_open.webp:1527,666,133,91 +images/CG/cho_handjob/cho_handjob_mouth_smile.webp:1518,666,160,79 +images/CG/cho_handjob/cho_handjob_mouth_upset.webp:1525,659,153,73 +images/CG/cho_handjob/cho_handjob_penis_hard.webp:1833,2082,552,318 +images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_shaft.webp:1833,2081,552,319 +images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_tip.webp:1833,2076,556,324 +images/CG/cho_handjob/cho_handjob_penis_soft.webp:1833,2223,212,177 +images/CG/cho_handjob/cho_handjob_speedlines_1.webp:1888,2045,381,310 +images/CG/cho_handjob/cho_handjob_speedlines_2.webp:1904,2070,380,307 +images/CG/cho_handjob/cho_handjob_speedlines_3.webp:1876,2023,464,377 images/CG/cho_hufflepuff/background.webp:0,0,4320,2400 images/CG/cho_hufflepuff/cho.webp:410,135,2197,2261 images/CG/cho_hufflepuff/clouds.webp:0,0,4320,2090 +images/CG/cho_masturbate/cho_masturbate_lockers_background.webp:0,0,4320,2400 +images/CG/cho_masturbate/cho_masturbate_lockers_blush_heavy.webp:2566,482,417,175 +images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_down.webp:1025,29,2651,2295 +images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_up.webp:1025,29,2651,2295 +images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_idle.webp:1025,364,2651,1960 +images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_sucking.webp:1025,29,2651,2295 +images/CG/cho_masturbate/cho_masturbate_lockers_cum_cumshot.webp:1333,381,1282,672 +images/CG/cho_masturbate/cho_masturbate_lockers_cum_head.webp:2431,181,423,810 +images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_ahegao.webp:2714,635,68,122 +images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_base.webp:2681,681,114,21 +images/CG/cho_masturbate/cho_masturbate_lockers_cum_stomach.webp:2075,1134,796,422 +images/CG/cho_masturbate/cho_masturbate_lockers_cum_torso.webp:1912,852,911,603 +images/CG/cho_masturbate/cho_masturbate_lockers_effects_hand_move.webp:2272,1524,194,254 +images/CG/cho_masturbate/cho_masturbate_lockers_effects_shaking.webp:1022,49,2825,2351 +images/CG/cho_masturbate/cho_masturbate_lockers_effects_very_wet.webp:2323,1771,68,153 +images/CG/cho_masturbate/cho_masturbate_lockers_effects_wet.webp:2349,1771,21,63 +images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_base.webp:2565,432,304,49 +images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_mad.webp:2562,417,315,69 +images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_raised.webp:2565,407,318,65 +images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_sad.webp:2566,440,303,40 +images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_worried.webp:2564,428,306,52 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_down.webp:2573,479,314,76 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_forward.webp:2573,479,314,76 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_left.webp:2573,479,314,76 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_looking_at_viewer.webp:2573,479,314,76 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_ahegao.webp:2573,492,313,55 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_down.webp:2573,492,313,55 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_forward.webp:2573,492,313,55 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_left.webp:2573,492,313,55 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_looking_at_viewer.webp:2573,492,313,55 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_right.webp:2573,492,313,55 +images/CG/cho_masturbate/cho_masturbate_lockers_eyes_right.webp:2573,479,314,76 +images/CG/cho_masturbate/cho_masturbate_lockers_hair.webp:2391,29,835,727 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_ahegao.webp:2685,653,96,91 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_angry.webp:2678,656,114,69 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_annoyed.webp:2707,647,83,56 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_base.webp:2678,668,117,48 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_lipbite.webp:2678,661,107,63 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_neutral.webp:2679,668,106,48 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_open.webp:2687,664,97,69 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_smile.webp:2679,664,116,61 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_sucking.webp:2692,663,75,84 +images/CG/cho_masturbate/cho_masturbate_lockers_mouth_upset.webp:2684,659,113,54 images/CG/cho_quidditch/background.webp:0,0,3840,2880 images/CG/cho_quidditch/overlay.webp:0,0,3840,2880 images/CG/cho_quidditch/pose1/body.webp:1151,830,1692,1552 @@ -5387,6 +6073,13 @@ images/CG/cho_quidditch2/slide/lines.webp:0,104,1080,390 images/CG/cho_quidditch2/snitch_0.webp:30,19,323,70 images/CG/cho_quidditch2/snitch_1.webp:14,49,323,69 images/CG/cho_quidditch2/squirt.webp:0,0,218,361 +images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_background.webp:0,0,4320,2400 +images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_potion.webp:2540,911,633,484 +images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_background.webp:0,0,4320,2400 +images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_overlay.webp:599,0,2876,2400 +images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_angry.webp:1744,1023,562,588 +images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_smile.webp:1744,1023,562,588 +images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_talk.webp:1744,1023,562,588 images/CG/cho_sex/background.webp:0,0,4320,2400 images/CG/cho_sex/blob.webp:0,0,11,10 images/CG/cho_sex/down/blink.webp:1567,582,1123,1431 @@ -5431,10 +6124,225 @@ images/CG/cho_sex/up_taste/cum_outside_stage3.webp:2037,747,272,999 images/CG/cho_sex/up_taste/genie.webp:632,1492,2998,908 images/CG/cho_sex/up_taste/penis.webp:2126,1534,218,283 images/CG/cho_sex/up_taste/penis_inside.webp:2107,1517,237,300 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_blush_heavy.webp:1468,306,747,310 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_body_idle.webp:1166,269,1643,1634 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_down.webp:1986,414,152,101 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_look_at_tits.webp:1986,414,152,101 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_lip_bite.webp:2053,556,62,41 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_open.webp:2052,562,333,156 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_hands.webp:632,586,2227,1491 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_blush_heavy.webp:881,705,621,353 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_body.webp:0,215,3840,1859 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_eyes_open_mid.webp:0,770,3840,1133 +images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_mouth_smile.webp:1103,1016,224,98 +images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_background.webp:0,0,3840,2160 +images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_post.webp:1514,1231,853,929 +images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_spurt.webp:1702,1203,425,957 +images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_foreground.webp:0,1893,3840,267 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_body.webp:1817,483,1140,1616 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed.webp:2035,912,410,102 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed_happy.webp:2037,912,408,106 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_down.webp:2041,929,1799,970 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_look_at_tonks.webp:2041,929,1799,970 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_mid.webp:2041,929,1799,970 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_angry.webp:2170,1157,157,104 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_base.webp:2165,1185,127,50 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_open.webp:2165,1169,140,99 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_smile.webp:2157,1174,178,77 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_face.webp:1005,965,1450,388 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_hands.webp:778,1870,1998,246 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tits.webp:1156,1594,1636,308 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tongue.webp:1180,1111,111,168 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_hands.webp:632,586,2227,1516 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_blush_heavy.webp:881,705,621,353 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_body.webp:0,215,3840,1859 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_closed.webp:975,750,447,96 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_look_at_cho.webp:0,770,3840,1133 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_mid.webp:0,770,3840,1133 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_base.webp:0,1019,3840,884 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_open.webp:1126,1015,183,98 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_smile.webp:1103,1016,224,98 +images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_tongue_out.webp:921,997,366,266 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_grab_spread.webp:1494,1065,467,286 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_idle.webp:1680,1141,161,107 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_ass_spread.webp:1812,1196,784,706 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_blush_heavy.webp:1468,306,747,310 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab.webp:1166,269,1643,1634 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab_spread.webp:1166,269,1643,1634 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_idle.webp:1166,269,1643,1634 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed.webp:1989,418,154,95 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed_happy.webp:1991,418,150,95 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_down.webp:1986,419,152,96 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tits.webp:1986,419,152,96 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tonks.webp:1986,419,152,96 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_down.webp:1986,414,152,101 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tits.webp:1986,414,152,101 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tonks.webp:1986,414,152,101 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_normal.webp:1949,1196,646,706 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_spread.webp:1812,1196,783,706 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_angry.webp:2042,551,78,62 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_annoyed.webp:2038,564,58,32 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_base.webp:2058,567,63,35 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_lip_bite.webp:2053,556,62,41 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_open.webp:2052,562,333,156 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smile.webp:2042,553,67,49 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smirk.webp:2056,558,58,44 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_normal.webp:2258,1542,12,48 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_spread.webp:2213,1492,50,106 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_ass_spread.webp:1149,1115,676,787 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_assfix.webp:1476,1547,71,185 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_blush_heavy.webp:1468,284,315,189 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab.webp:715,121,1583,1781 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab_spread.webp:715,121,1583,1781 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_idle.webp:715,121,1603,1782 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_closed.webp:1579,299,163,89 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_down.webp:1589,306,151,82 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_cho.webp:1589,306,151,82 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_tits.webp:1589,306,151,82 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_base.webp:1607,433,778,285 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_lip_bite.webp:1609,436,76,46 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_open.webp:1609,439,80,52 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_smile.webp:1609,429,88,55 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_normal.webp:1445,1471,16,46 +images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_spread.webp:1432,1449,54,67 images/CG/common/bg.webp:0,0,2160,1200 images/CG/common/day_overlay.webp:0,0,3840,2160 images/CG/common/mask.webp:0,0,2160,1200 images/CG/common/night_overlay.webp:0,0,3840,2160 +images/CG/her_ball/bj/her_ball_blowjob_background_wall.webp:0,0,1080,600 +images/CG/her_ball/bj/her_ball_blowjob_background_wall2.webp:0,0,1080,600 +images/CG/her_ball/bj/her_ball_blowjob_blush_b1.webp:281,202,82,33 +images/CG/her_ball/bj/her_ball_blowjob_blush_b2.webp:370,186,98,58 +images/CG/her_ball/bj/her_ball_blowjob_blush_b3.webp:284,203,62,60 +images/CG/her_ball/bj/her_ball_blowjob_blush_b4.webp:397,211,99,34 +images/CG/her_ball/bj/her_ball_blowjob_brows_angry3.webp:327,186,34,56 +images/CG/her_ball/bj/her_ball_blowjob_brows_b1.webp:280,149,81,50 +images/CG/her_ball/bj/her_ball_blowjob_brows_b2.webp:367,145,91,42 +images/CG/her_ball/bj/her_ball_blowjob_brows_b3.webp:329,184,31,57 +images/CG/her_ball/bj/her_ball_blowjob_brows_b4.webp:403,164,91,39 +images/CG/her_ball/bj/her_ball_blowjob_eyes_closed1.webp:275,172,94,50 +images/CG/her_ball/bj/her_ball_blowjob_eyes_closed2.webp:361,158,104,51 +images/CG/her_ball/bj/her_ball_blowjob_eyes_closed3.webp:315,196,32,42 +images/CG/her_ball/bj/her_ball_blowjob_eyes_closed4.webp:398,185,104,41 +images/CG/her_ball/bj/her_ball_blowjob_eyes_dead3.webp:313,195,37,44 +images/CG/her_ball/bj/her_ball_blowjob_eyes_down1.webp:286,184,70,25 +images/CG/her_ball/bj/her_ball_blowjob_eyes_down2.webp:370,164,94,45 +images/CG/her_ball/bj/her_ball_blowjob_eyes_happycl3.webp:315,196,30,45 +images/CG/her_ball/bj/her_ball_blowjob_eyes_squintdead3.webp:308,195,42,46 +images/CG/her_ball/bj/her_ball_blowjob_eyes_squintup3.webp:308,195,42,46 +images/CG/her_ball/bj/her_ball_blowjob_eyes_stare3.webp:313,195,35,44 +images/CG/her_ball/bj/her_ball_blowjob_eyes_up1.webp:285,184,71,25 +images/CG/her_ball/bj/her_ball_blowjob_eyes_up2.webp:379,179,74,39 +images/CG/her_ball/bj/her_ball_blowjob_eyes_up3.webp:313,195,35,44 +images/CG/her_ball/bj/her_ball_blowjob_eyes_up4.webp:411,195,76,25 +images/CG/her_ball/bj/her_ball_blowjob_hermione_cheeks3.webp:261,228,81,87 +images/CG/her_ball/bj/her_ball_blowjob_hermione_h1.webp:0,0,778,600 +images/CG/her_ball/bj/her_ball_blowjob_hermione_h2.webp:0,0,777,600 +images/CG/her_ball/bj/her_ball_blowjob_hermione_h3.webp:0,0,1072,600 +images/CG/her_ball/bj/her_ball_blowjob_hermione_h3_alt.webp:0,0,1072,600 +images/CG/her_ball/bj/her_ball_blowjob_hermione_h4.webp:0,0,776,600 +images/CG/her_ball/bj/her_ball_blowjob_lashes_l1.webp:279,178,88,22 +images/CG/her_ball/bj/her_ball_blowjob_lashes_l2.webp:370,164,94,38 +images/CG/her_ball/bj/her_ball_blowjob_lashes_l4.webp:403,191,89,21 +images/CG/her_ball/bj/her_ball_blowjob_mascara_m3.webp:289,211,59,110 +images/CG/her_ball/bj/her_ball_blowjob_mouth_grimmace2.webp:409,227,41,40 +images/CG/her_ball/bj/her_ball_blowjob_mouth_happy2.webp:403,228,48,36 +images/CG/her_ball/bj/her_ball_blowjob_mouth_open2.webp:409,226,41,38 +images/CG/her_ball/bj/her_ball_blowjob_mouth_smile2.webp:407,233,28,16 +images/CG/her_ball/bj/her_ball_blowjob_mouth_smile4.webp:432,225,46,62 +images/CG/her_ball/bj/her_ball_blowjob_sperm_s1.webp:281,240,71,75 +images/CG/her_ball/bj/her_ball_blowjob_sperm_s3.webp:213,195,81,60 +images/CG/her_ball/bj/her_ball_blowjob_sperm_s4.webp:352,104,71,114 +images/CG/her_ball/bj/her_ball_blowjob_spit_base3.webp:298,226,28,49 +images/CG/her_ball/bj/her_ball_blowjob_spit_eye3.webp:316,206,29,48 +images/CG/her_ball/bj/her_ball_blowjob_spit_forehead3.webp:347,178,32,48 +images/CG/her_ball/bj/her_ball_blowjob_spit_nose3.webp:284,200,32,69 +images/CG/her_ball/bj/her_ball_blowjob_spit_on_eye3.webp:301,57,50,179 +images/CG/her_ball/bj/her_ball_blowjob_sweat_s1.webp:361,155,9,26 +images/CG/her_ball/bj/her_ball_blowjob_sweat_s2.webp:369,158,9,26 +images/CG/her_ball/bj/her_ball_blowjob_sweat_s3.webp:281,193,92,159 +images/CG/her_ball/bj/her_ball_blowjob_sweat_s4.webp:412,143,8,26 +images/CG/her_ball/bj/her_ball_blowjob_tears_base3.webp:321,212,27,30 +images/CG/her_ball/bj/her_ball_blowjob_tears_crying3.webp:280,212,68,113 +images/CG/her_ball/entrance/her_ball_entrance_background_hall.webp:0,0,1080,600 +images/CG/her_ball/entrance/her_ball_entrance_background_wall.webp:0,0,1080,600 +images/CG/her_ball/entrance/her_ball_entrance_foreground_crowd.webp:0,91,1080,509 +images/CG/her_ball/entrance/her_ball_entrance_hermione_h1.webp:412,22,278,578 +images/CG/her_ball/entrance/her_ball_entrance_hermione_h2.webp:412,22,278,578 +images/CG/her_ball/entrance/her_ball_entrance_overlay_hall.webp:0,124,1080,476 +images/CG/her_ball/entrance/her_ball_entrance_overlay_wall.webp:0,0,1080,600 +images/CG/her_ball/outskirts/her_ball_outskirts_background.webp:0,0,1080,600 +images/CG/her_ball/outskirts/her_ball_outskirts_effect_m1.webp:212,170,138,162 +images/CG/her_ball/outskirts/her_ball_outskirts_effect_m2.webp:200,163,149,203 +images/CG/her_ball/outskirts/her_ball_outskirts_genie_g1.webp:221,185,102,189 +images/CG/her_ball/sex/her_ball_sex_background_wall.webp:0,0,1080,600 +images/CG/her_ball/sex/her_ball_sex_background_wall2.webp:0,0,1080,600 +images/CG/her_ball/sex/her_ball_sex_blush_b1.webp:490,181,89,37 +images/CG/her_ball/sex/her_ball_sex_blush_b2.webp:490,183,89,35 +images/CG/her_ball/sex/her_ball_sex_brows_b1.webp:490,136,86,38 +images/CG/her_ball/sex/her_ball_sex_eyes_closed.webp:482,159,103,34 +images/CG/her_ball/sex/her_ball_sex_eyes_dead.webp:494,159,84,34 +images/CG/her_ball/sex/her_ball_sex_eyes_down.webp:496,164,73,29 +images/CG/her_ball/sex/her_ball_sex_eyes_happycl.webp:482,159,103,34 +images/CG/her_ball/sex/her_ball_sex_eyes_r.webp:503,164,67,23 +images/CG/her_ball/sex/her_ball_sex_eyes_stare.webp:503,164,66,23 +images/CG/her_ball/sex/her_ball_sex_eyes_up.webp:500,164,69,23 +images/CG/her_ball/sex/her_ball_sex_eyes_wide.webp:494,159,84,34 +images/CG/her_ball/sex/her_ball_sex_guy1_bj1.webp:250,0,808,600 +images/CG/her_ball/sex/her_ball_sex_guy1_bj2.webp:411,0,561,600 +images/CG/her_ball/sex/her_ball_sex_guy1_bj3.webp:250,0,808,600 +images/CG/her_ball/sex/her_ball_sex_guy2_pose1.webp:549,0,531,600 +images/CG/her_ball/sex/her_ball_sex_guy2_pose2.webp:550,0,530,600 +images/CG/her_ball/sex/her_ball_sex_hermione_h1.webp:0,0,652,600 +images/CG/her_ball/sex/her_ball_sex_hermione_h2.webp:0,0,1055,600 +images/CG/her_ball/sex/her_ball_sex_lashes_l1.webp:490,160,95,27 +images/CG/her_ball/sex/her_ball_sex_mascara_m1.webp:487,179,89,75 +images/CG/her_ball/sex/her_ball_sex_mouth_full1.webp:486,197,100,61 +images/CG/her_ball/sex/her_ball_sex_mouth_open1.webp:506,206,66,76 +images/CG/her_ball/sex/her_ball_sex_mouth_open_tongue1.webp:506,206,65,48 +images/CG/her_ball/sex/her_ball_sex_mouth_open_tongue2.webp:506,210,65,43 +images/CG/her_ball/sex/her_ball_sex_mouth_smile1.webp:506,206,66,76 +images/CG/her_ball/sex/her_ball_sex_spank_s1.webp:157,294,87,86 +images/CG/her_ball/sex/her_ball_sex_sperm_bukkake.webp:414,82,171,378 +images/CG/her_ball/sex/her_ball_sex_sperm_cum_after.webp:536,222,310,181 +images/CG/her_ball/sex/her_ball_sex_sperm_cum_anal.webp:202,249,86,74 +images/CG/her_ball/sex/her_ball_sex_sperm_cum_extra.webp:85,266,157,221 +images/CG/her_ball/sex/her_ball_sex_sperm_cum_nose.webp:535,190,57,65 +images/CG/her_ball/sex/her_ball_sex_sperm_cum_pussy.webp:155,406,67,182 +images/CG/her_ball/sex/her_ball_sex_sperm_dude_bj_cum.webp:485,193,97,191 +images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum.webp:518,164,265,177 +images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum2.webp:511,131,328,210 +images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum3.webp:511,131,328,210 +images/CG/her_ball/sex/her_ball_sex_spit_guy_face.webp:519,70,177,128 +images/CG/her_ball/sex/her_ball_sex_spit_guy_mouth.webp:533,118,174,160 +images/CG/her_ball/sex/her_ball_sex_spit_on_body.webp:489,236,73,172 +images/CG/her_ball/sex/her_ball_sex_spit_on_face.webp:527,156,25,50 +images/CG/her_ball/sex/her_ball_sex_tears_t1.webp:494,177,83,17 +images/CG/her_ball/sex/her_ball_sex_tears_t2.webp:487,179,92,84 +images/CG/her_ball/sex/open_tongue2.webp:513,227,51,39 +images/CG/her_ball/speech/her_ball_speech_background_wall.webp:0,0,1080,600 +images/CG/her_ball/speech/her_ball_speech_blush_heavy.webp:460,177,150,52 +images/CG/her_ball/speech/her_ball_speech_brows_down.webp:478,124,114,30 +images/CG/her_ball/speech/her_ball_speech_eyes_closed.webp:467,141,140,56 +images/CG/her_ball/speech/her_ball_speech_eyes_squint.webp:467,140,138,56 +images/CG/her_ball/speech/her_ball_speech_hermione_h1.webp:357,5,410,595 +images/CG/her_ball/speech/her_ball_speech_hermione_h2.webp:358,5,696,595 +images/CG/her_ball/speech/her_ball_speech_mascara_drip.webp:479,173,104,104 +images/CG/her_ball/speech/her_ball_speech_mouth_full.webp:469,205,123,112 +images/CG/her_ball/speech/her_ball_speech_mouth_open.webp:488,217,72,41 +images/CG/her_ball/speech/her_ball_speech_overlay_bloom.webp:0,124,1080,476 +images/CG/her_ball/speech/her_ball_speech_overlay_wall.webp:0,0,1080,600 +images/CG/her_ball/speech/her_ball_speech_sperm_cum0.webp:622,210,14,65 +images/CG/her_ball/speech/her_ball_speech_sperm_cum1.webp:597,92,71,183 +images/CG/her_ball/speech/her_ball_speech_sperm_cum2.webp:556,92,112,183 +images/CG/her_ball/speech/her_ball_speech_sperm_cum3.webp:531,80,137,195 +images/CG/her_ball/speech/her_ball_speech_sperm_cum4.webp:531,80,137,195 +images/CG/her_ball/speech/her_ball_speech_sperm_cum5.webp:531,80,137,225 +images/CG/her_ball/speech/her_ball_speech_sperm_cum6.webp:530,80,138,387 +images/CG/her_ball/speech/her_ball_speech_sperm_cum_mouth.webp:506,208,35,41 +images/CG/her_ball/speech/her_ball_speech_sperm_cum_nose.webp:494,208,24,49 +images/CG/her_ball/speech/her_ball_speech_sperm_cum_nose2.webp:506,208,12,23 +images/CG/her_ball/speech/her_ball_speech_sweat_light.webp:517,115,79,151 images/CG/her_flash/public/her_flash_public_background.webp:0,0,2160,1200 images/CG/her_flash/public/her_flash_public_blush_heavy.webp:1560,239,188,162 images/CG/her_flash/public/her_flash_public_effects_exclamation.webp:844,19,380,394 @@ -5468,38 +6376,353 @@ images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_eyes_forw images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_hand.webp:769,764,887,497 images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_mouth_closed.webp:2051,782,344,204 images/CG/her_flirt/public/flitwick/her_flirt_public_flitwick_hermione_mouth_open.webp:2048,804,341,210 +images/CG/her_forest/bj/her_forest_bj_background.webp:0,0,1080,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h1.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h10.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h11.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h12.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h13.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h14.webp:366,0,714,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h15.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h16.webp:366,0,714,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h17.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h18.webp:366,0,714,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h19.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h2.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h20.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h21.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h22.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h23.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h24.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h25.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h26.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h27.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h28.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h29.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h3.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h30.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h31.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h32.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h33.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h34.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h35.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h36.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h37.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h38.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h39.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h4.webp:366,0,714,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h40.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h41.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h42.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h43.webp:366,0,714,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h44.webp:132,0,948,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h45.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h46.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h47.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h48.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h49.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h5.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h50.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h6.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h7.webp:366,0,714,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h8.webp:366,0,714,600 +images/CG/her_forest/bj/her_forest_bj_hermione_h9.webp:367,0,713,600 +images/CG/her_forest/bj/her_forest_bj_myrtle_m1.webp:121,0,484,600 +images/CG/her_forest/bj/her_forest_bj_myrtle_m2.webp:267,0,484,600 +images/CG/her_forest/bj/her_forest_bj_myrtle_m3.webp:0,0,651,600 +images/CG/her_forest/bj/her_forest_bj_overlay.webp:0,0,1080,600 images/CG/her_intro/bg.webp:0,0,2160,1200 images/CG/her_intro/day_overlay.webp:0,0,3840,2160 images/CG/her_intro/hermione_bendover.webp:1381,333,622,839 images/CG/her_intro/mask.webp:0,0,2160,1200 images/CG/her_intro/night_overlay.webp:0,0,3840,2160 -images/CG/her_potions/ass_expand/classroom_a1.webp:0,0,4320,2400 -images/CG/her_potions/ass_expand/classroom_a2.webp:0,0,4320,2400 -images/CG/her_potions/breast_expand/classroom_a1.webp:0,0,4320,2400 -images/CG/her_potions/breast_expand/classroom_a2.webp:0,0,4320,2400 -images/CG/her_potions/breast_expand/classroom_b1.webp:0,0,4320,2400 -images/CG/her_potions/breast_expand/classroom_b2.webp:0,0,4320,2400 -images/CG/her_potions/breast_expand/corridor_a1.webp:0,0,4320,2400 -images/CG/her_potions/breast_expand/corridor_b1.webp:0,0,4320,2400 -images/CG/her_sex/background.webp:0,0,2500,2550 -images/CG/her_sex/caress_armfix.webp:878,1112,1009,745 -images/CG/her_sex/day_overlay.webp:0,0,2500,2550 -images/CG/her_sex/foreground.webp:1157,1423,741,769 -images/CG/her_sex/genie_after.webp:395,130,1521,1787 -images/CG/her_sex/genie_caress.webp:394,128,1517,1767 -images/CG/her_sex/genie_caress_grin.webp:394,128,1517,1767 -images/CG/her_sex/genie_cum_inside.webp:395,130,1521,1787 -images/CG/her_sex/genie_cum_outside.webp:395,130,1521,1787 -images/CG/her_sex/genie_cum_outside2.webp:395,130,1521,1787 -images/CG/her_sex/genie_grab.webp:395,130,1521,1787 -images/CG/her_sex/genie_grab_grin.webp:395,130,1521,1787 -images/CG/her_sex/genie_hold.webp:394,128,1596,1767 -images/CG/her_sex/genie_hold_grin.webp:394,128,1596,1767 -images/CG/her_sex/grab_armfix.webp:1352,1232,394,562 -images/CG/her_sex/hold_armfix.webp:878,640,1102,1004 -images/CG/her_sex/night_overlay.webp:0,0,2500,2550 -images/CG/her_sex/open_wide_tongue.webp:542,1616,226,176 -images/CG/her_sex/scream.webp:542,1616,226,175 +images/CG/her_potions/public/expand_ass/her_potions_public_expand_ass_a1.webp:0,0,4320,2400 +images/CG/her_potions/public/expand_ass/her_potions_public_expand_ass_a2.webp:0,0,4320,2400 +images/CG/her_potions/public/expand_breasts/her_potion_public_expand_breasts_c1.webp:0,0,4320,2400 +images/CG/her_potions/public/expand_breasts/her_potion_public_expand_breasts_d1.webp:0,0,4320,2400 +images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_a1.webp:0,0,4320,2400 +images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_a2.webp:0,0,4320,2400 +images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_b1.webp:0,0,4320,2400 +images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_b2.webp:0,0,4320,2400 +images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_fix_shirt.webp:208,652,272,168 +images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_shirt.webp:208,599,364,223 +images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_skirt.webp:421,560,258,217 +images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_stockings.webp:550,704,117,57 +images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_heavy.webp:1191,1407,285,239 +images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_light.webp:1228,1410,139,155 +images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_shirt_heavy.webp:1191,1425,181,106 +images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_shirt_light.webp:1243,1425,129,55 +images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_skirt_heavy.webp:1236,1385,165,87 +images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_skirt_light.webp:1272,1385,129,55 +images/CG/her_sex/personal/bent_over/cum/pussy/her_sex_personal_bent_over_cum_pussy_heavy.webp:1335,1749,54,88 +images/CG/her_sex/personal/bent_over/cum/pussy/her_sex_personal_bent_over_cum_pussy_light.webp:1350,1748,38,53 +images/CG/her_sex/personal/bent_over/expressions/cheeks/her_sex_personal_bent_over_cheeks_blush.webp:516,1549,220,166 +images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_angry.webp:507,1522,211,101 +images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_annoyed.webp:507,1516,211,101 +images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_base.webp:508,1516,214,93 +images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_worried.webp:510,1523,212,95 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_ahegao.webp:515,1545,199,92 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_down.webp:515,1545,199,92 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_l.webp:515,1545,199,92 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_mid.webp:515,1545,199,92 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_r.webp:515,1545,199,92 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_stare.webp:515,1545,199,92 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_up.webp:515,1545,199,92 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_closed.webp:516,1543,192,97 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happyCl.webp:511,1542,208,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_ahegao.webp:516,1546,196,87 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_down.webp:516,1546,196,87 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_l.webp:516,1546,196,87 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_mid.webp:516,1546,196,87 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_r.webp:516,1546,196,87 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_stare.webp:516,1546,196,87 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_up.webp:516,1546,196,87 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_ahegao.webp:513,1544,200,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_down.webp:513,1544,200,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_l.webp:513,1544,200,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_mid.webp:513,1544,200,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_r.webp:513,1544,200,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_stare.webp:513,1544,200,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_up.webp:513,1544,200,93 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_ahegao.webp:516,1540,199,102 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_down.webp:516,1540,199,102 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_l.webp:516,1540,199,102 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_mid.webp:516,1540,199,102 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_r.webp:516,1540,199,102 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_stare.webp:516,1540,199,102 +images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_up.webp:516,1540,199,102 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_angry.webp:590,1682,90,60 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_annoyed.webp:584,1685,69,33 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_base.webp:594,1682,80,39 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_clench.webp:592,1679,83,55 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_crooked_smile.webp:587,1679,85,60 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_disgust.webp:587,1692,91,46 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_open_wide_tongue.webp:542,1682,204,110 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_scream.webp:542,1684,203,107 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_grin.webp:587,1681,88,55 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_mad.webp:591,1683,82,50 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_normal.webp:597,1684,70,37 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open.webp:594,1681,66,61 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open_tongue.webp:594,1681,66,66 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open_wide_tongue.webp:542,1614,228,178 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_scream.webp:542,1614,228,177 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_smile.webp:585,1681,84,63 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_soft.webp:593,1689,64,43 +images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_upset.webp:586,1689,68,33 +images/CG/her_sex/personal/bent_over/expressions/tears/her_sex_personal_bent_over_tears_soft.webp:532,1572,169,69 +images/CG/her_sex/personal/bent_over/expressions/tears/her_sex_personal_bent_over_tears_soft_blink.webp:523,1577,182,66 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_after.webp:395,130,1521,1787 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_armfix_caress.webp:878,1112,1009,745 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_armfix_grab.webp:1352,1232,394,562 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_caress.webp:394,128,1517,1767 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_caress_grin.webp:394,128,1517,1767 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_inside.webp:395,130,1521,1787 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_outside.webp:395,130,1521,1787 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_outside2.webp:395,130,1521,1787 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_grab.webp:395,130,1521,1787 +images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_grab_grin.webp:395,130,1521,1787 +images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_armfix.webp:388,1907,153,127 +images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_body.webp:388,1359,1266,777 +images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_normal.webp:378,1306,825,643 +images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_pulled.webp:378,1303,855,646 +images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_shadow.webp:391,1883,1059,256 +images/CG/her_sex/personal/her_sex_personal_background.webp:0,0,2500,2550 +images/CG/her_sex/personal/her_sex_personal_background_clutter.webp:1155,1423,743,774 +images/CG/her_sex/personal/her_sex_personal_overlay_day.webp:0,0,2500,2550 +images/CG/her_sex/personal/her_sex_personal_overlay_night.webp:0,0,2500,2550 +images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_shirt.webp:343,362,254,315 +images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_skirt.webp:395,560,232,199 +images/CG/her_sex/personal/lean_back/expressions/cheeks/her_sex_personal_lean_back_cheeks_blush.webp:1029,703,222,144 +images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_angry.webp:1023,674,189,94 +images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_annoyed.webp:1023,668,189,94 +images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_base.webp:1024,668,192,86 +images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_worried.webp:1025,675,190,88 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_ahegao.webp:1033,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_down.webp:1033,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_l.webp:1033,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_mid.webp:1033,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_r.webp:1033,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_stare.webp:1033,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_up.webp:1033,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_closed.webp:1039,695,156,88 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happyCl.webp:1037,695,174,86 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_ahegao.webp:1034,698,172,82 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_down.webp:1034,698,172,82 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_l.webp:1034,698,172,82 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_mid.webp:1034,698,172,82 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_r.webp:1034,698,172,82 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_stare.webp:1034,698,172,82 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_up.webp:1034,698,172,82 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_ahegao.webp:1032,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_down.webp:1032,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_l.webp:1032,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_mid.webp:1032,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_r.webp:1032,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_stare.webp:1032,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_up.webp:1032,696,174,87 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_ahegao.webp:1032,691,176,97 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_down.webp:1032,691,176,97 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_l.webp:1032,691,176,97 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_mid.webp:1032,691,176,97 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_r.webp:1032,691,176,97 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_stare.webp:1032,691,176,97 +images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_up.webp:1032,691,176,97 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_angry.webp:1086,828,83,56 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_annoyed.webp:1081,831,62,31 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_base.webp:1090,827,73,38 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_clench.webp:1088,825,76,52 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_crooked_smile.webp:1083,825,78,57 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_disgust.webp:1083,837,83,44 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_full.webp:1027,740,203,162 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_grin.webp:1083,827,81,52 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_mad.webp:1087,828,75,49 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_normal.webp:1092,830,64,35 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open.webp:1090,827,60,58 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open_tongue.webp:1090,827,60,62 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open_wide_tongue.webp:1040,799,220,146 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_scream.webp:1040,799,220,146 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_smile.webp:1081,827,77,60 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_soft.webp:1088,835,60,41 +images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_upset.webp:1083,834,62,32 +images/CG/her_sex/personal/lean_back/expressions/tears/her_sex_personal_lean_back_tears_soft.webp:1039,722,162,62 +images/CG/her_sex/personal/lean_back/expressions/tears/her_sex_personal_lean_back_tears_soft_blink.webp:1042,715,159,63 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_after.webp:395,130,1521,1787 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress.webp:878,1112,1009,745 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress_grin.webp:878,1112,1009,745 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_hold.webp:878,640,1102,1004 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_hold_grin.webp:878,640,1102,1004 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress.webp:394,128,1517,1767 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress_grin.webp:394,128,1517,1767 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_hold.webp:394,128,1596,1767 +images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_hold_grin.webp:394,128,1596,1767 +images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix.webp:1330,969,476,838 +images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix2.webp:1412,1376,394,431 +images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_body.webp:848,573,958,1310 +images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_breastfix.webp:828,996,258,463 +images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_normal.webp:819,531,796,715 +images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_pulled.webp:819,470,771,737 +images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_shirt.webp:329,368,236,311 +images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_skirt.webp:397,565,229,194 +images/CG/her_sex/personal/lean_forward/expressions/cheeks/her_sex_personal_lean_forward_cheeks_blush.webp:944,728,222,157 +images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_angry.webp:940,702,182,107 +images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_annoyed.webp:939,696,182,107 +images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_base.webp:939,697,186,98 +images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_worried.webp:941,703,185,100 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_ahegao.webp:950,725,169,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_down.webp:950,725,169,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_l.webp:950,725,169,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_mid.webp:950,725,169,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_r.webp:950,725,169,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_stare.webp:950,725,169,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_up.webp:950,725,169,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_closed.webp:956,725,153,96 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happyCl.webp:954,725,171,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_ahegao.webp:951,726,167,92 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_down.webp:951,726,167,92 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_l.webp:951,726,167,92 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_mid.webp:951,726,167,92 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_r.webp:951,726,167,92 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_stare.webp:951,726,167,92 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_up.webp:951,726,167,92 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_ahegao.webp:949,726,169,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_down.webp:949,726,169,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_l.webp:949,726,169,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_mid.webp:949,726,169,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_r.webp:949,726,169,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_stare.webp:949,726,169,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_up.webp:949,726,169,95 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_ahegao.webp:949,720,171,106 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_down.webp:949,720,171,106 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_l.webp:949,720,171,106 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_mid.webp:949,720,171,106 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_r.webp:949,720,171,106 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_stare.webp:949,720,171,106 +images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_up.webp:949,720,171,106 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_angry.webp:1009,859,83,59 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_annoyed.webp:1004,864,63,31 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_base.webp:1014,857,71,41 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_clench.webp:1012,857,75,54 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_crooked_smile.webp:1007,856,77,59 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_disgust.webp:1007,868,83,46 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_full.webp:950,769,200,168 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_grin.webp:1006,857,81,56 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_mad.webp:1010,860,75,50 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_normal.webp:1016,859,62,39 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open.webp:1013,860,61,58 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open_tongue.webp:1013,860,61,62 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open_wide_tongue.webp:963,821,217,153 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_scream.webp:963,821,217,153 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_smile.webp:1005,857,77,63 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_soft.webp:1012,867,59,41 +images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_upset.webp:1006,867,63,32 +images/CG/her_sex/personal/lean_forward/expressions/tears/her_sex_personal_lean_forward_tears_soft.webp:958,749,157,77 +images/CG/her_sex/personal/lean_forward/expressions/tears/her_sex_personal_lean_forward_tears_soft_blink.webp:960,743,154,78 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_after.webp:395,130,1521,1787 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress.webp:878,1112,1009,745 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress_grin.webp:878,1112,1009,745 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold.webp:878,640,1102,1004 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold_grin.webp:878,640,1102,1004 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress.webp:394,128,1517,1767 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress_grin.webp:394,128,1517,1767 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold.webp:394,128,1596,1767 +images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold_grin.webp:394,128,1596,1767 +images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_armfix.webp:878,1173,493,821 +images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_body.webp:700,600,857,1394 +images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_breastfix.webp:790,1063,221,303 +images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_hair_normal.webp:780,556,787,690 +images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_shadow.webp:743,1857,692,147 +images/CG/her_tentacles/personal/her_tentacles_personal_1.webp:0,0,1080,723 +images/CG/her_tentacles/personal/her_tentacles_personal_2.webp:0,0,1080,723 +images/CG/her_tentacles/personal/her_tentacles_personal_3.webp:0,0,1080,723 +images/CG/her_tentacles/personal/her_tentacles_personal_4.webp:0,0,1080,723 +images/CG/her_tentacles/personal/her_tentacles_personal_5.webp:0,0,1080,723 +images/CG/her_tentacles/personal/her_tentacles_personal_6.webp:0,0,1080,723 +images/CG/her_tentacles/personal/her_tentacles_personal_7.webp:0,0,1080,723 +images/CG/her_tentacles/public/her_tentacles_public_1.webp:0,0,1080,723 +images/CG/her_tentacles/public/her_tentacles_public_2.webp:0,0,1080,723 +images/CG/her_tentacles/public/her_tentacles_public_3.webp:0,0,1080,723 +images/CG/her_tentacles/public/her_tentacles_public_4.webp:0,0,1080,723 +images/CG/her_tentacles/public/her_tentacles_public_5.webp:0,0,1080,723 +images/CG/her_tentacles/public/her_tentacles_public_6.webp:0,0,1080,723 +images/CG/her_tentacles/public/her_tentacles_public_7.webp:0,0,1080,723 +images/CG/her_titjob/personal/her_titjob_personal_background.webp:0,0,1080,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h1.webp:91,0,903,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h10.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h11.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h12.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h13.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h14.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h15.webp:247,0,747,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h16.webp:247,0,747,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h17.webp:247,0,747,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h18.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h19.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h2.webp:91,0,903,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h20.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h21.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h22.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h23.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h24.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h25.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h26.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h27.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h28.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h29.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h3.webp:91,0,903,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h30.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h31.webp:193,0,846,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h32.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h33.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h34.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h35.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h36.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h37.webp:300,0,694,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h4.webp:91,0,903,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h5.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h6.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h7.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h8.webp:284,0,710,600 +images/CG/her_titjob/personal/her_titjob_personal_hermione_h9.webp:284,0,710,600 images/CG/her_vibrators/personal/her_vibrators_personal_background.webp:0,0,2160,1200 images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_blush_heavy.webp:1021,154,143,64 images/CG/her_vibrators/personal/hermione1/her_vibrators_personal_hermione1_body.webp:427,22,1068,1097 @@ -5638,627 +6861,11 @@ images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_upper_egg. images/CG/her_vibrators/public/hermione/her_vibrators_public_vibrator_upper_tape.webp:1022,366,209,124 images/CG/her_vibrators/public/hermione/her_vibrators_public_wetness_legs.webp:1078,732,97,137 images/CG/her_vibrators/public/hermione/her_vibrators_public_wetness_vagina.webp:1104,680,55,78 -images/CG/herm_boob/1.webp:91,0,903,600 -images/CG/herm_boob/10.webp:284,0,710,600 -images/CG/herm_boob/11.webp:284,0,710,600 -images/CG/herm_boob/12.webp:284,0,710,600 -images/CG/herm_boob/13.webp:284,0,710,600 -images/CG/herm_boob/14.webp:284,0,710,600 -images/CG/herm_boob/15.webp:247,0,747,600 -images/CG/herm_boob/16.webp:247,0,747,600 -images/CG/herm_boob/17.webp:247,0,747,600 -images/CG/herm_boob/18.webp:300,0,694,600 -images/CG/herm_boob/19.webp:300,0,694,600 -images/CG/herm_boob/2.webp:91,0,903,600 -images/CG/herm_boob/20.webp:193,0,846,600 -images/CG/herm_boob/21.webp:193,0,846,600 -images/CG/herm_boob/22.webp:193,0,846,600 -images/CG/herm_boob/23.webp:193,0,846,600 -images/CG/herm_boob/24.webp:193,0,846,600 -images/CG/herm_boob/25.webp:193,0,846,600 -images/CG/herm_boob/26.webp:193,0,846,600 -images/CG/herm_boob/27.webp:193,0,846,600 -images/CG/herm_boob/28.webp:300,0,694,600 -images/CG/herm_boob/29.webp:300,0,694,600 -images/CG/herm_boob/3.webp:91,0,903,600 -images/CG/herm_boob/30.webp:193,0,846,600 -images/CG/herm_boob/31.webp:193,0,846,600 -images/CG/herm_boob/32.webp:300,0,694,600 -images/CG/herm_boob/33.webp:300,0,694,600 -images/CG/herm_boob/34.webp:300,0,694,600 -images/CG/herm_boob/35.webp:300,0,694,600 -images/CG/herm_boob/36.webp:300,0,694,600 -images/CG/herm_boob/37.webp:300,0,694,600 -images/CG/herm_boob/4.webp:91,0,903,600 -images/CG/herm_boob/5.webp:284,0,710,600 -images/CG/herm_boob/6.webp:284,0,710,600 -images/CG/herm_boob/7.webp:284,0,710,600 -images/CG/herm_boob/8.webp:284,0,710,600 -images/CG/herm_boob/9.webp:284,0,710,600 -images/CG/herm_boob/base.webp:0,0,1080,600 -images/CG/herm_deep/base.webp:0,0,1080,600 -images/CG/herm_deep/blank.webp:0,0,0,0 -images/CG/herm_deep/body_base.webp:283,50,631,550 -images/CG/herm_deep/c_blush.webp:697,182,134,130 -images/CG/herm_deep/cum.webp:726,168,354,412 -images/CG/herm_deep/cum_2.webp:367,90,403,510 -images/CG/herm_deep/eb_mad.webp:664,155,74,107 -images/CG/herm_deep/eb_raised.webp:666,156,72,108 -images/CG/herm_deep/eb_sad.webp:678,150,55,112 -images/CG/herm_deep/eye_base.webp:697,172,69,86 -images/CG/herm_deep/eye_closed.webp:701,173,75,89 -images/CG/herm_deep/eye_happyCl.webp:704,174,59,88 -images/CG/herm_deep/eye_squeeze.webp:685,174,89,96 -images/CG/herm_deep/eye_squint.webp:697,172,79,90 -images/CG/herm_deep/eye_squint_m.webp:697,172,79,95 -images/CG/herm_deep/eye_white.webp:705,188,50,53 -images/CG/herm_deep/genie.webp:470,0,610,600 -images/CG/herm_deep/hand.webp:357,0,358,310 -images/CG/herm_deep/m_base.webp:0,0,0,0 -images/CG/herm_deep/m_full.webp:712,239,160,174 -images/CG/herm_deep/mascara.webp:699,204,115,220 -images/CG/herm_deep/pup_ahegao.webp:710,188,22,19 -images/CG/herm_deep/pup_left.webp:706,210,22,24 -images/CG/herm_deep/pup_mid.webp:718,195,23,24 -images/CG/herm_deep/pup_right.webp:730,204,23,24 -images/CG/herm_deep/pup_up.webp:709,188,22,21 -images/CG/herm_deep/sweat.webp:647,168,183,319 -images/CG/herm_deep/tears.webp:699,206,134,226 -images/CG/herm_forest/1.webp:367,0,713,600 -images/CG/herm_forest/10.webp:367,0,713,600 -images/CG/herm_forest/11.webp:367,0,713,600 -images/CG/herm_forest/12.webp:367,0,713,600 -images/CG/herm_forest/13.webp:367,0,713,600 -images/CG/herm_forest/14.webp:366,0,714,600 -images/CG/herm_forest/15.webp:367,0,713,600 -images/CG/herm_forest/16.webp:366,0,714,600 -images/CG/herm_forest/17.webp:367,0,713,600 -images/CG/herm_forest/18.webp:366,0,714,600 -images/CG/herm_forest/19.webp:367,0,713,600 -images/CG/herm_forest/2.webp:367,0,713,600 -images/CG/herm_forest/20.webp:367,0,713,600 -images/CG/herm_forest/21.webp:367,0,713,600 -images/CG/herm_forest/22.webp:132,0,948,600 -images/CG/herm_forest/23.webp:132,0,948,600 -images/CG/herm_forest/24.webp:132,0,948,600 -images/CG/herm_forest/25.webp:132,0,948,600 -images/CG/herm_forest/26.webp:132,0,948,600 -images/CG/herm_forest/27.webp:132,0,948,600 -images/CG/herm_forest/28.webp:132,0,948,600 -images/CG/herm_forest/29.webp:132,0,948,600 -images/CG/herm_forest/3.webp:367,0,713,600 -images/CG/herm_forest/30.webp:132,0,948,600 -images/CG/herm_forest/31.webp:132,0,948,600 -images/CG/herm_forest/32.webp:132,0,948,600 -images/CG/herm_forest/33.webp:132,0,948,600 -images/CG/herm_forest/34.webp:132,0,948,600 -images/CG/herm_forest/35.webp:132,0,948,600 -images/CG/herm_forest/36.webp:132,0,948,600 -images/CG/herm_forest/37.webp:132,0,948,600 -images/CG/herm_forest/38.webp:132,0,948,600 -images/CG/herm_forest/39.webp:132,0,948,600 -images/CG/herm_forest/4.webp:366,0,714,600 -images/CG/herm_forest/40.webp:132,0,948,600 -images/CG/herm_forest/41.webp:132,0,948,600 -images/CG/herm_forest/42.webp:132,0,948,600 -images/CG/herm_forest/43.webp:366,0,714,600 -images/CG/herm_forest/44.webp:132,0,948,600 -images/CG/herm_forest/45.webp:367,0,713,600 -images/CG/herm_forest/46.webp:367,0,713,600 -images/CG/herm_forest/47.webp:367,0,713,600 -images/CG/herm_forest/48.webp:367,0,713,600 -images/CG/herm_forest/49.webp:367,0,713,600 -images/CG/herm_forest/5.webp:367,0,713,600 -images/CG/herm_forest/50.webp:367,0,713,600 -images/CG/herm_forest/6.webp:367,0,713,600 -images/CG/herm_forest/7.webp:366,0,714,600 -images/CG/herm_forest/8.webp:366,0,714,600 -images/CG/herm_forest/9.webp:367,0,713,600 -images/CG/herm_forest/base.webp:0,0,1080,600 -images/CG/herm_forest/m1.webp:121,0,484,600 -images/CG/herm_forest/m2.webp:267,0,484,600 -images/CG/herm_forest/m3.webp:0,0,651,600 -images/CG/herm_forest/overlay.webp:0,0,1080,600 -images/CG/herm_sex/1.webp:0,0,1080,600 -images/CG/herm_sex/10.webp:0,0,1080,600 -images/CG/herm_sex/11.webp:0,0,1080,600 -images/CG/herm_sex/12.webp:0,0,1080,600 -images/CG/herm_sex/13.webp:0,0,1080,600 -images/CG/herm_sex/14.webp:0,0,1080,600 -images/CG/herm_sex/15.webp:0,0,1080,600 -images/CG/herm_sex/16.webp:0,0,1080,600 -images/CG/herm_sex/17.webp:0,0,1080,600 -images/CG/herm_sex/18.webp:0,0,1080,600 -images/CG/herm_sex/19.webp:0,0,1080,600 -images/CG/herm_sex/2.webp:0,0,1080,600 -images/CG/herm_sex/20.webp:0,0,1080,600 -images/CG/herm_sex/21.webp:0,0,1080,600 -images/CG/herm_sex/22.webp:0,0,1080,600 -images/CG/herm_sex/23.webp:0,0,1080,600 -images/CG/herm_sex/24.webp:0,0,1080,600 -images/CG/herm_sex/25.webp:0,0,1080,600 -images/CG/herm_sex/26.webp:0,0,1080,600 -images/CG/herm_sex/27.webp:0,0,1080,600 -images/CG/herm_sex/28.webp:0,0,1080,600 -images/CG/herm_sex/29.webp:0,0,1080,600 -images/CG/herm_sex/3.webp:0,0,1080,600 -images/CG/herm_sex/30.webp:0,0,1080,600 -images/CG/herm_sex/31.webp:0,0,1080,600 -images/CG/herm_sex/32.webp:0,0,1080,600 -images/CG/herm_sex/33.webp:0,0,1080,600 -images/CG/herm_sex/34.webp:0,0,1080,600 -images/CG/herm_sex/35.webp:0,0,1080,600 -images/CG/herm_sex/4.webp:0,0,1080,600 -images/CG/herm_sex/5.webp:0,0,1080,600 -images/CG/herm_sex/6.webp:0,0,1080,600 -images/CG/herm_sex/7.webp:0,0,1080,600 -images/CG/herm_sex/8.webp:0,0,1080,600 -images/CG/herm_sex/9.webp:0,0,1080,600 -images/CG/herm_sex/base.webp:0,0,1080,600 -images/CG/herm_sex/blank.webp:0,0,0,0 -images/CG/herm_sex/genie_hand.webp:469,198,98,34 -images/CG/herm_sex/hair.webp:432,246,152,98 -images/CG/herm_sex/p1.webp:290,324,31,61 -images/CG/herm_sex/p2.webp:288,226,212,162 -images/CG/herm_sex/s1.webp:233,360,205,154 -images/CG/herm_sex/s2.webp:193,310,461,210 -images/CG/herm_sex/s3.webp:193,310,461,210 -images/CG/herm_sex/s4.webp:277,226,223,224 -images/CG/herm_sex/s5.webp:237,226,461,230 -images/CG/herm_tentacles/e2.webp:0,0,1080,723 -images/CG/herm_tentacles/e3.webp:0,0,1080,723 -images/CG/herm_tentacles/e4.webp:0,0,1080,723 -images/CG/herm_tentacles/e5.webp:0,0,1080,723 -images/CG/herm_tentacles/e6.webp:0,0,1080,723 -images/CG/herm_tentacles/e7.webp:0,0,1080,723 -images/CG/herm_tentacles/p1.webp:0,0,1080,723 -images/CG/herm_tentacles/p2.webp:0,0,1080,723 -images/CG/herm_tentacles/p3.webp:0,0,1080,723 -images/CG/herm_tentacles/p4.webp:0,0,1080,723 -images/CG/herm_tentacles/p5.webp:0,0,1080,723 -images/CG/herm_tentacles/p6.webp:0,0,1080,723 -images/CG/herm_tentacles/p7.webp:0,0,1080,723 images/CG/lun_intro/bg.webp:0,0,2160,1200 images/CG/lun_intro/day_overlay.webp:0,0,3840,2160 images/CG/lun_intro/luna.webp:917,277,1149,891 images/CG/lun_intro/luna_naked.webp:917,277,1138,892 images/CG/lun_intro/night_overlay.webp:0,0,3840,2160 -images/CG/luna_bedsex/base.webp:0,0,1080,600 -images/CG/luna_bedsex/blank.webp:0,0,0,0 -images/CG/luna_bedsex/c_base.webp:496,107,81,38 -images/CG/luna_bedsex/c_blush.webp:496,109,81,35 -images/CG/luna_bedsex/cum_1.webp:390,417,124,68 -images/CG/luna_bedsex/curly_hair.webp:460,27,280,400 -images/CG/luna_bedsex/curly_hair_top.webp:494,43,246,384 -images/CG/luna_bedsex/eb_angry.webp:502,87,73,19 -images/CG/luna_bedsex/eb_base.webp:503,85,72,43 -images/CG/luna_bedsex/eb_mad.webp:502,86,73,102 -images/CG/luna_bedsex/eb_raised.webp:501,85,84,91 -images/CG/luna_bedsex/eb_sad.webp:503,87,70,19 -images/CG/luna_bedsex/eye_angry.webp:503,91,72,64 -images/CG/luna_bedsex/eye_base.webp:502,93,72,62 -images/CG/luna_bedsex/eye_closed.webp:504,94,66,28 -images/CG/luna_bedsex/eye_excited.webp:503,93,72,23 -images/CG/luna_bedsex/eye_furious.webp:503,91,113,64 -images/CG/luna_bedsex/eye_happyCl.webp:505,96,65,22 -images/CG/luna_bedsex/eye_seductive.webp:506,91,63,55 -images/CG/luna_bedsex/eye_tired.webp:503,91,72,64 -images/CG/luna_bedsex/eye_white.webp:507,97,61,21 -images/CG/luna_bedsex/eye_wide.webp:505,93,67,26 -images/CG/luna_bedsex/eye_wink.webp:506,96,68,59 -images/CG/luna_bedsex/fade.webp:0,0,1080,600 -images/CG/luna_bedsex/glasses.webp:492,85,173,138 -images/CG/luna_bedsex/hand.webp:415,59,107,92 -images/CG/luna_bedsex/luna_base.webp:0,0,1080,600 -images/CG/luna_bedsex/m_base.webp:517,142,26,12 -images/CG/luna_bedsex/m_open.webp:518,140,38,38 -images/CG/luna_bedsex/m_open_tongue.webp:518,140,38,38 -images/CG/luna_bedsex/m_pout.webp:512,141,34,16 -images/CG/luna_bedsex/m_talk.webp:517,142,18,16 -images/CG/luna_bedsex/m_wide.webp:513,137,50,50 -images/CG/luna_bedsex/m_wide_tongue.webp:512,137,51,50 -images/CG/luna_bedsex/overlay.webp:0,0,1080,600 -images/CG/luna_bedsex/playful_hair.webp:460,27,280,400 -images/CG/luna_bedsex/playful_hair_top.webp:494,43,246,384 -images/CG/luna_bedsex/pup_ahegao.webp:514,98,41,13 -images/CG/luna_bedsex/pup_dick.webp:511,104,49,14 -images/CG/luna_bedsex/pup_dl.webp:509,101,49,17 -images/CG/luna_bedsex/pup_dr.webp:516,105,49,13 -images/CG/luna_bedsex/pup_left.webp:508,100,47,17 -images/CG/luna_bedsex/pup_right.webp:516,99,49,17 -images/CG/luna_bedsex/pup_ul.webp:508,97,47,13 -images/CG/luna_bedsex/pup_up.webp:512,97,49,14 -images/CG/luna_bedsex/pup_ur.webp:516,98,49,15 -images/CG/luna_bedsex/short_hair.webp:487,25,262,211 -images/CG/luna_bedsex/short_hair_top.webp:487,25,262,211 -images/CG/luna_bedsex/speed.webp:357,303,253,217 -images/CG/luna_bj/1.webp:104,1,923,599 -images/CG/luna_bj/10.webp:74,0,923,600 -images/CG/luna_bj/11.webp:74,0,923,600 -images/CG/luna_bj/12.webp:26,23,938,577 -images/CG/luna_bj/13.webp:26,23,938,577 -images/CG/luna_bj/14.webp:26,23,938,577 -images/CG/luna_bj/15.webp:26,23,938,577 -images/CG/luna_bj/16.webp:38,48,887,552 -images/CG/luna_bj/17.webp:38,48,887,552 -images/CG/luna_bj/18.webp:38,48,887,552 -images/CG/luna_bj/19.webp:38,48,887,552 -images/CG/luna_bj/2.webp:104,1,923,599 -images/CG/luna_bj/20.webp:28,58,887,542 -images/CG/luna_bj/21.webp:28,58,887,542 -images/CG/luna_bj/22.webp:28,58,887,542 -images/CG/luna_bj/23.webp:28,58,887,542 -images/CG/luna_bj/24.webp:28,58,887,542 -images/CG/luna_bj/25.webp:28,58,887,542 -images/CG/luna_bj/26.webp:28,58,887,542 -images/CG/luna_bj/27.webp:26,23,938,577 -images/CG/luna_bj/28.webp:104,1,923,599 -images/CG/luna_bj/29.webp:104,1,923,599 -images/CG/luna_bj/3.webp:104,1,923,599 -images/CG/luna_bj/30.webp:104,1,923,599 -images/CG/luna_bj/31.webp:38,48,887,552 -images/CG/luna_bj/32.webp:38,48,887,552 -images/CG/luna_bj/33.webp:104,1,923,599 -images/CG/luna_bj/35.webp:104,1,923,599 -images/CG/luna_bj/36.webp:104,1,923,599 -images/CG/luna_bj/37.webp:104,1,923,599 -images/CG/luna_bj/38.webp:104,1,923,599 -images/CG/luna_bj/39.webp:104,1,923,599 -images/CG/luna_bj/4.webp:74,0,923,600 -images/CG/luna_bj/40.webp:104,1,923,599 -images/CG/luna_bj/41.webp:104,1,923,599 -images/CG/luna_bj/42.webp:104,1,923,599 -images/CG/luna_bj/43.webp:104,1,923,599 -images/CG/luna_bj/44.webp:104,1,923,599 -images/CG/luna_bj/45.webp:26,23,938,577 -images/CG/luna_bj/46.webp:104,1,923,599 -images/CG/luna_bj/47.webp:104,1,923,599 -images/CG/luna_bj/48.webp:104,1,923,599 -images/CG/luna_bj/49.webp:104,1,923,599 -images/CG/luna_bj/5.webp:74,0,923,600 -images/CG/luna_bj/50.webp:4,66,1064,534 -images/CG/luna_bj/51.webp:4,66,1064,534 -images/CG/luna_bj/52.webp:38,48,887,552 -images/CG/luna_bj/53.webp:38,48,887,552 -images/CG/luna_bj/54.webp:4,66,1064,534 -images/CG/luna_bj/55.webp:4,66,1064,534 -images/CG/luna_bj/56.webp:4,66,1064,534 -images/CG/luna_bj/57.webp:4,66,1064,534 -images/CG/luna_bj/58.webp:38,48,887,552 -images/CG/luna_bj/59.webp:104,1,923,599 -images/CG/luna_bj/6.webp:74,0,923,600 -images/CG/luna_bj/60.webp:104,1,923,599 -images/CG/luna_bj/61.webp:104,1,923,599 -images/CG/luna_bj/62.webp:104,1,923,599 -images/CG/luna_bj/63.webp:104,1,923,599 -images/CG/luna_bj/64.webp:104,1,923,599 -images/CG/luna_bj/65.webp:104,1,923,599 -images/CG/luna_bj/66.webp:16,1,1011,599 -images/CG/luna_bj/67.webp:16,1,1011,599 -images/CG/luna_bj/7.webp:74,0,923,600 -images/CG/luna_bj/8.webp:74,0,923,600 -images/CG/luna_bj/9.webp:74,0,923,600 -images/CG/luna_bj/base.webp:0,0,1080,600 -images/CG/luna_bj/blank.webp:0,0,0,0 -images/CG/luna_bj/gene.webp:0,0,780,600 -images/CG/luna_bj/herm.webp:538,0,542,600 -images/CG/luna_desk/1.webp:13,67,923,533 -images/CG/luna_desk/10.webp:13,67,923,533 -images/CG/luna_desk/11.webp:13,67,923,533 -images/CG/luna_desk/12.webp:13,67,923,533 -images/CG/luna_desk/13.webp:13,67,923,533 -images/CG/luna_desk/14.webp:13,67,923,533 -images/CG/luna_desk/15.webp:13,67,923,533 -images/CG/luna_desk/16.webp:155,48,887,552 -images/CG/luna_desk/17.webp:155,48,887,552 -images/CG/luna_desk/18.webp:155,48,887,552 -images/CG/luna_desk/19.webp:155,48,887,552 -images/CG/luna_desk/2.webp:13,67,923,533 -images/CG/luna_desk/20.webp:155,48,887,552 -images/CG/luna_desk/21.webp:155,48,887,552 -images/CG/luna_desk/22.webp:3,11,923,589 -images/CG/luna_desk/23.webp:3,11,923,589 -images/CG/luna_desk/24.webp:3,11,923,589 -images/CG/luna_desk/25.webp:3,11,923,589 -images/CG/luna_desk/26.webp:3,11,923,589 -images/CG/luna_desk/27.webp:155,48,887,552 -images/CG/luna_desk/28.webp:155,48,887,552 -images/CG/luna_desk/29.webp:210,66,866,534 -images/CG/luna_desk/3.webp:13,67,923,533 -images/CG/luna_desk/30.webp:155,48,887,552 -images/CG/luna_desk/31.webp:155,48,887,552 -images/CG/luna_desk/32.webp:116,23,938,577 -images/CG/luna_desk/33.webp:116,23,938,577 -images/CG/luna_desk/34.webp:0,45,924,555 -images/CG/luna_desk/35.webp:0,45,924,555 -images/CG/luna_desk/36.webp:0,67,937,533 -images/CG/luna_desk/37.webp:0,67,937,533 -images/CG/luna_desk/38.webp:0,67,937,533 -images/CG/luna_desk/39.webp:0,67,937,533 -images/CG/luna_desk/4.webp:13,67,923,533 -images/CG/luna_desk/40.webp:0,67,937,533 -images/CG/luna_desk/41.webp:0,67,937,533 -images/CG/luna_desk/42.webp:0,67,937,533 -images/CG/luna_desk/43.webp:0,67,937,533 -images/CG/luna_desk/44.webp:0,67,937,533 -images/CG/luna_desk/45.webp:0,67,937,533 -images/CG/luna_desk/46.webp:0,67,937,533 -images/CG/luna_desk/47.webp:0,67,937,533 -images/CG/luna_desk/48.webp:0,67,937,533 -images/CG/luna_desk/49.webp:0,67,937,533 -images/CG/luna_desk/5.webp:13,67,923,533 -images/CG/luna_desk/50.webp:0,67,937,533 -images/CG/luna_desk/51.webp:0,67,937,533 -images/CG/luna_desk/52.webp:0,67,937,533 -images/CG/luna_desk/53.webp:26,55,1028,545 -images/CG/luna_desk/54.webp:0,67,937,533 -images/CG/luna_desk/55.webp:0,67,937,533 -images/CG/luna_desk/56.webp:124,11,923,589 -images/CG/luna_desk/57.webp:163,42,917,558 -images/CG/luna_desk/58.webp:163,42,917,558 -images/CG/luna_desk/6.webp:13,67,923,533 -images/CG/luna_desk/7.webp:13,67,923,533 -images/CG/luna_desk/8.webp:13,67,923,533 -images/CG/luna_desk/9.webp:13,67,923,533 -images/CG/luna_desk/base.webp:0,0,1080,600 -images/CG/luna_desk/blank.webp:0,0,0,0 -images/CG/luna_desk/f44.webp:0,67,937,533 -images/CG/luna_desk/genie.webp:300,0,780,600 -images/CG/luna_desk/l1.webp:155,48,887,552 -images/CG/luna_desk/l10.webp:20,55,1028,545 -images/CG/luna_desk/l2.webp:173,66,887,534 -images/CG/luna_desk/l3.webp:189,79,887,521 -images/CG/luna_desk/l4.webp:9,11,1064,589 -images/CG/luna_desk/l5.webp:30,26,1025,574 -images/CG/luna_desk/l6.webp:160,44,917,556 -images/CG/luna_desk/l7.webp:82,7,973,593 -images/CG/luna_desk/l8.webp:99,19,973,581 -images/CG/luna_desk/l9.webp:2,39,1068,561 -images/CG/luna_desk2/base.webp:0,0,1080,600 -images/CG/luna_desk2/base_2.webp:0,0,814,600 -images/CG/luna_desk2/blank.webp:0,0,0,0 -images/CG/luna_desk2/border.webp:0,0,1120,640 -images/CG/luna_desk2/c_base.webp:483,284,202,98 -images/CG/luna_desk2/c_blush.webp:483,287,202,95 -images/CG/luna_desk2/cum_1.webp:387,162,229,426 -images/CG/luna_desk2/cum_2.webp:367,168,303,432 -images/CG/luna_desk2/cum_3.webp:367,162,303,438 -images/CG/luna_desk2/cum_4.webp:606,353,33,28 -images/CG/luna_desk2/cum_5.webp:582,395,26,13 -images/CG/luna_desk2/curly_hair.webp:56,69,718,531 -images/CG/luna_desk2/curly_hair_top.webp:169,69,573,425 -images/CG/luna_desk2/dick_0.webp:611,391,206,183 -images/CG/luna_desk2/dick_1.webp:611,391,206,183 -images/CG/luna_desk2/dick_10.webp:663,428,155,146 -images/CG/luna_desk2/dick_11.webp:671,435,147,139 -images/CG/luna_desk2/dick_12.webp:676,442,142,132 -images/CG/luna_desk2/dick_13.webp:683,448,135,126 -images/CG/luna_desk2/dick_14.webp:690,452,128,122 -images/CG/luna_desk2/dick_15.webp:695,458,123,116 -images/CG/luna_desk2/dick_16.webp:697,457,121,117 -images/CG/luna_desk2/dick_2.webp:611,391,206,183 -images/CG/luna_desk2/dick_3.webp:613,392,205,182 -images/CG/luna_desk2/dick_4.webp:614,397,204,177 -images/CG/luna_desk2/dick_5.webp:622,405,196,169 -images/CG/luna_desk2/dick_6.webp:630,393,188,181 -images/CG/luna_desk2/dick_7.webp:641,404,177,170 -images/CG/luna_desk2/dick_8.webp:645,416,173,158 -images/CG/luna_desk2/dick_9.webp:656,421,162,153 -images/CG/luna_desk2/down_N.webp:548,279,105,28 -images/CG/luna_desk2/eb_angry.webp:500,242,180,37 -images/CG/luna_desk2/eb_base.webp:502,233,175,106 -images/CG/luna_desk2/eb_mad.webp:497,239,180,244 -images/CG/luna_desk2/eb_raised.webp:453,240,224,229 -images/CG/luna_desk2/eb_sad.webp:503,242,174,34 -images/CG/luna_desk2/eye_angry.webp:382,243,293,161 -images/CG/luna_desk2/eye_base.webp:499,254,178,150 -images/CG/luna_desk2/eye_closed.webp:507,262,163,48 -images/CG/luna_desk2/eye_excited.webp:499,254,178,150 -images/CG/luna_desk2/eye_happyCl.webp:507,262,163,48 -images/CG/luna_desk2/eye_mad.webp:499,243,176,161 -images/CG/luna_desk2/eye_sad.webp:507,243,161,137 -images/CG/luna_desk2/eye_seductive.webp:507,243,164,137 -images/CG/luna_desk2/eye_white.webp:515,264,149,45 -images/CG/luna_desk2/eye_wide.webp:505,258,168,52 -images/CG/luna_desk2/eye_wink.webp:499,258,169,146 -images/CG/luna_desk2/genie.webp:300,0,780,600 -images/CG/luna_desk2/genie_robe.webp:749,0,331,600 -images/CG/luna_desk2/glasses.webp:228,242,488,323 -images/CG/luna_desk2/hand.webp:436,33,260,153 -images/CG/luna_desk2/luna_base.webp:127,149,862,651 -images/CG/luna_desk2/luna_base_2.webp:127,149,862,651 -images/CG/luna_desk2/m_base.webp:564,381,62,25 -images/CG/luna_desk2/m_full.webp:464,319,221,125 -images/CG/luna_desk2/m_open.webp:523,376,100,85 -images/CG/luna_desk2/m_open_tongue.webp:523,376,100,85 -images/CG/luna_desk2/m_pout.webp:570,375,81,31 -images/CG/luna_desk2/m_sucking.webp:464,326,171,156 -images/CG/luna_desk2/m_talk.webp:582,380,44,36 -images/CG/luna_desk2/m_wide.webp:513,368,122,114 -images/CG/luna_desk2/m_wide_tongue.webp:513,368,122,114 -images/CG/luna_desk2/mascara.webp:516,292,146,130 -images/CG/luna_desk2/playful_hair.webp:54,68,721,532 -images/CG/luna_desk2/playful_hair_top.webp:54,68,689,532 -images/CG/luna_desk2/pup_ahegao.webp:547,262,101,34 -images/CG/luna_desk2/pup_base.webp:540,267,117,37 -images/CG/luna_desk2/pup_dick.webp:540,277,117,34 -images/CG/luna_desk2/pup_dl.webp:523,283,117,32 -images/CG/luna_desk2/pup_down.webp:534,280,117,32 -images/CG/luna_desk2/pup_left.webp:529,267,117,37 -images/CG/luna_desk2/pup_right.webp:540,267,117,37 -images/CG/luna_desk2/pup_up.webp:540,259,117,36 -images/CG/luna_desk2/short_hair.webp:54,68,667,532 -images/CG/luna_desk2/short_hair_top.webp:54,68,662,532 -images/CG/luna_desk2/tears.webp:516,292,143,140 -images/CG/luna_desk2/up_N.webp:548,267,105,28 -images/CG/luna_facial/1.webp:43,1,923,599 -images/CG/luna_facial/10.webp:93,21,923,579 -images/CG/luna_facial/11.webp:93,21,923,579 -images/CG/luna_facial/12.webp:93,21,923,579 -images/CG/luna_facial/13.webp:93,21,923,579 -images/CG/luna_facial/14.webp:93,21,923,579 -images/CG/luna_facial/15.webp:93,21,923,579 -images/CG/luna_facial/16.webp:93,21,923,579 -images/CG/luna_facial/17.webp:93,21,923,579 -images/CG/luna_facial/18.webp:93,21,923,579 -images/CG/luna_facial/19.webp:93,21,923,579 -images/CG/luna_facial/2.webp:43,1,923,599 -images/CG/luna_facial/20.webp:93,21,923,579 -images/CG/luna_facial/21.webp:93,21,923,579 -images/CG/luna_facial/22.webp:93,21,923,579 -images/CG/luna_facial/23.webp:93,21,923,579 -images/CG/luna_facial/24.webp:93,21,923,579 -images/CG/luna_facial/25.webp:93,21,923,579 -images/CG/luna_facial/26.webp:93,21,923,579 -images/CG/luna_facial/27.webp:93,21,923,579 -images/CG/luna_facial/28.webp:93,21,923,579 -images/CG/luna_facial/29.webp:93,21,923,579 -images/CG/luna_facial/3.webp:43,1,923,599 -images/CG/luna_facial/30.webp:93,21,923,579 -images/CG/luna_facial/31.webp:93,21,923,579 -images/CG/luna_facial/32.webp:93,21,923,579 -images/CG/luna_facial/33.webp:93,21,923,579 -images/CG/luna_facial/4.webp:43,1,923,599 -images/CG/luna_facial/5.webp:43,1,923,599 -images/CG/luna_facial/6.webp:43,1,923,599 -images/CG/luna_facial/7.webp:43,1,923,599 -images/CG/luna_facial/8.webp:93,21,923,579 -images/CG/luna_facial/9.webp:93,21,923,579 -images/CG/luna_facial/base.webp:0,0,1080,600 -images/CG/luna_facial/blank.webp:0,0,0,0 -images/CG/luna_facial/genie.webp:300,0,780,600 -images/CG/luna_fucking/base.webp:0,0,1080,600 -images/CG/luna_fucking/base_2.webp:0,0,795,600 -images/CG/luna_fucking/blank.webp:0,0,0,0 -images/CG/luna_fucking/c_base.webp:748,191,83,39 -images/CG/luna_fucking/c_blush.webp:748,188,82,42 -images/CG/luna_fucking/cum_1.webp:533,121,223,479 -images/CG/luna_fucking/cum_2.webp:533,121,292,479 -images/CG/luna_fucking/cum_3.webp:533,121,292,479 -images/CG/luna_fucking/cum_4.webp:0,0,0,0 -images/CG/luna_fucking/curly_hair.webp:535,74,384,412 -images/CG/luna_fucking/curly_hair_top.webp:535,74,384,412 -images/CG/luna_fucking/dick_0.webp:0,0,0,0 -images/CG/luna_fucking/eb_angry.webp:757,167,72,28 -images/CG/luna_fucking/eb_base.webp:757,170,72,43 -images/CG/luna_fucking/eb_mad.webp:752,171,77,96 -images/CG/luna_fucking/eb_raised.webp:734,170,95,92 -images/CG/luna_fucking/eb_sad.webp:757,171,72,20 -images/CG/luna_fucking/eye_angry.webp:706,171,122,66 -images/CG/luna_fucking/eye_base.webp:759,177,69,60 -images/CG/luna_fucking/eye_closed.webp:759,179,66,26 -images/CG/luna_fucking/eye_excited.webp:706,177,122,60 -images/CG/luna_fucking/eye_furious.webp:706,171,122,66 -images/CG/luna_fucking/eye_happyCl.webp:759,178,67,26 -images/CG/luna_fucking/eye_mad.webp:706,171,122,66 -images/CG/luna_fucking/eye_seductive.webp:758,171,68,55 -images/CG/luna_fucking/eye_tired.webp:758,171,67,55 -images/CG/luna_fucking/eye_white.webp:762,180,61,23 -images/CG/luna_fucking/eye_wide.webp:758,177,69,27 -images/CG/luna_fucking/eye_wink.webp:759,177,66,60 -images/CG/luna_fucking/fade.webp:0,205,1080,395 -images/CG/luna_fucking/glasses.webp:636,166,209,119 -images/CG/luna_fucking/lake_1.webp:0,0,1080,600 -images/CG/luna_fucking/lake_2.webp:0,0,1080,600 -images/CG/luna_fucking/luna_base.webp:180,0,771,600 -images/CG/luna_fucking/m_base.webp:780,230,26,11 -images/CG/luna_fucking/m_open.webp:762,228,43,31 -images/CG/luna_fucking/m_open_tongue.webp:762,228,43,31 -images/CG/luna_fucking/m_pout.webp:777,230,31,13 -images/CG/luna_fucking/m_wide.webp:759,225,51,36 -images/CG/luna_fucking/m_wide_tongue.webp:759,225,51,38 -images/CG/luna_fucking/mascara.webp:762,191,63,32 -images/CG/luna_fucking/playful_hair.webp:568,86,343,384 -images/CG/luna_fucking/playful_hair_top.webp:743,133,95,144 -images/CG/luna_fucking/pup_ahegao.webp:775,180,42,16 -images/CG/luna_fucking/pup_base.webp:771,182,51,19 -images/CG/luna_fucking/pup_dl.webp:765,187,50,16 -images/CG/luna_fucking/pup_dr.webp:774,187,49,16 -images/CG/luna_fucking/pup_left.webp:764,181,51,19 -images/CG/luna_fucking/pup_right.webp:774,182,49,19 -images/CG/luna_fucking/pup_up.webp:771,180,51,16 -images/CG/luna_fucking/short_hair.webp:549,98,301,196 -images/CG/luna_fucking/short_hair_top.webp:549,98,301,196 -images/CG/luna_fucking/spanking.webp:511,337,88,87 -images/CG/luna_fucking/speed.webp:480,272,148,271 -images/CG/luna_fucking/tears.webp:761,191,63,32 -images/CG/luna_kiss/1.webp:41,0,1039,600 -images/CG/luna_kiss/2.webp:41,0,1039,600 -images/CG/luna_kiss/base.webp:0,0,1080,600 -images/CG/luna_kiss/blank.webp:0,0,0,0 -images/CG/luna_sex/base.webp:0,0,1080,634 -images/CG/luna_sex/blank.webp:0,0,0,0 -images/CG/luna_sex/herm_1.webp:432,0,545,634 -images/CG/luna_sex/herm_10.webp:432,0,545,634 -images/CG/luna_sex/herm_11.webp:432,0,545,634 -images/CG/luna_sex/herm_12.webp:432,0,545,634 -images/CG/luna_sex/herm_13.webp:432,0,545,634 -images/CG/luna_sex/herm_14.webp:432,0,545,634 -images/CG/luna_sex/herm_15.webp:432,0,545,634 -images/CG/luna_sex/herm_16.webp:432,0,545,634 -images/CG/luna_sex/herm_17.webp:432,0,545,634 -images/CG/luna_sex/herm_18.webp:432,0,545,634 -images/CG/luna_sex/herm_19.webp:432,0,545,634 -images/CG/luna_sex/herm_2.webp:432,0,545,634 -images/CG/luna_sex/herm_20.webp:432,0,545,634 -images/CG/luna_sex/herm_21.webp:432,0,545,634 -images/CG/luna_sex/herm_22.webp:432,0,545,634 -images/CG/luna_sex/herm_23.webp:432,0,545,634 -images/CG/luna_sex/herm_24.webp:432,0,545,634 -images/CG/luna_sex/herm_25.webp:432,0,545,634 -images/CG/luna_sex/herm_26.webp:432,0,545,634 -images/CG/luna_sex/herm_27.webp:432,0,545,634 -images/CG/luna_sex/herm_3.webp:432,0,545,634 -images/CG/luna_sex/herm_4.webp:432,0,545,634 -images/CG/luna_sex/herm_5.webp:432,0,545,634 -images/CG/luna_sex/herm_6.webp:432,0,545,634 -images/CG/luna_sex/herm_7.webp:432,0,545,634 -images/CG/luna_sex/herm_8.webp:432,0,545,634 -images/CG/luna_sex/herm_9.webp:432,0,545,634 -images/CG/luna_sex/luna_1.webp:103,0,639,634 -images/CG/luna_sex/luna_10.webp:103,0,639,634 -images/CG/luna_sex/luna_11.webp:103,0,639,634 -images/CG/luna_sex/luna_12.webp:103,0,639,634 -images/CG/luna_sex/luna_13.webp:103,0,639,634 -images/CG/luna_sex/luna_14.webp:103,0,734,634 -images/CG/luna_sex/luna_15.webp:103,0,734,634 -images/CG/luna_sex/luna_16.webp:103,0,734,634 -images/CG/luna_sex/luna_17.webp:103,0,734,634 -images/CG/luna_sex/luna_18.webp:103,0,734,634 -images/CG/luna_sex/luna_19.webp:103,0,734,634 -images/CG/luna_sex/luna_2.webp:103,0,639,634 -images/CG/luna_sex/luna_20.webp:103,0,734,634 -images/CG/luna_sex/luna_21.webp:103,0,734,634 -images/CG/luna_sex/luna_22.webp:103,0,734,634 -images/CG/luna_sex/luna_23.webp:103,0,734,634 -images/CG/luna_sex/luna_24.webp:103,0,734,634 -images/CG/luna_sex/luna_25.webp:103,0,734,634 -images/CG/luna_sex/luna_26.webp:103,0,734,634 -images/CG/luna_sex/luna_27.webp:103,0,734,634 -images/CG/luna_sex/luna_28.webp:103,0,734,634 -images/CG/luna_sex/luna_29.webp:103,0,734,634 -images/CG/luna_sex/luna_3.webp:103,0,639,634 -images/CG/luna_sex/luna_30.webp:103,0,734,634 -images/CG/luna_sex/luna_31.webp:103,0,734,634 -images/CG/luna_sex/luna_32.webp:103,0,734,634 -images/CG/luna_sex/luna_33.webp:103,0,734,634 -images/CG/luna_sex/luna_34.webp:103,0,734,634 -images/CG/luna_sex/luna_35.webp:103,0,734,634 -images/CG/luna_sex/luna_36.webp:103,0,734,634 -images/CG/luna_sex/luna_37.webp:103,0,734,634 -images/CG/luna_sex/luna_38.webp:103,0,734,634 -images/CG/luna_sex/luna_39.webp:103,0,734,634 -images/CG/luna_sex/luna_4.webp:103,0,639,634 -images/CG/luna_sex/luna_40.webp:103,0,639,634 -images/CG/luna_sex/luna_41.webp:103,0,639,634 -images/CG/luna_sex/luna_42.webp:103,0,639,634 -images/CG/luna_sex/luna_43.webp:103,0,639,634 -images/CG/luna_sex/luna_44.webp:103,0,639,634 -images/CG/luna_sex/luna_5.webp:103,0,639,634 -images/CG/luna_sex/luna_6.webp:103,0,639,634 -images/CG/luna_sex/luna_7.webp:103,0,639,634 -images/CG/luna_sex/luna_8.webp:103,0,639,634 -images/CG/luna_sex/luna_9.webp:103,0,639,634 images/animation/00.webp:0,0,0,0 images/animation/23_jerking_off_sperm.webp:28,124,213,131 images/animation/Bouquet0.webp:16,34,72,89 @@ -6717,49 +7324,6 @@ images/rooms/_bg_/main_room_night.webp:0,0,2160,1200 images/rooms/_bg_/quidditch_pitch.webp:0,0,1080,600 images/rooms/_bg_/versus.webp:0,0,1080,600 images/rooms/_bg_/wall_day.webp:0,0,1080,600 -images/rooms/_weather_/blizzard_01.webp:0,0,155,230 -images/rooms/_weather_/blizzard_02.webp:0,0,155,230 -images/rooms/_weather_/blizzard_03.webp:0,0,155,230 -images/rooms/_weather_/blizzard_04.webp:0,0,155,230 -images/rooms/_weather_/blizzard_05.webp:0,0,155,230 -images/rooms/_weather_/blizzard_06.webp:0,0,155,230 -images/rooms/_weather_/blizzard_07.webp:0,0,155,230 -images/rooms/_weather_/blizzard_08.webp:0,0,155,230 -images/rooms/_weather_/blizzard_09.webp:0,0,155,230 -images/rooms/_weather_/blizzard_10.webp:0,0,155,230 -images/rooms/_weather_/cloud_small.webp:4,9,155,30 -images/rooms/_weather_/day_cloud_01.webp:5,9,33,10 -images/rooms/_weather_/day_cloud_02.webp:9,14,74,20 -images/rooms/_weather_/day_cloud_03.webp:6,7,48,12 -images/rooms/_weather_/lightning_01.webp:0,0,0,0 -images/rooms/_weather_/lightning_02.webp:51,14,100,156 -images/rooms/_weather_/lightning_03.webp:26,50,89,145 -images/rooms/_weather_/lightning_04.webp:0,0,155,230 -images/rooms/_weather_/lightning_05.webp:0,0,0,0 -images/rooms/_weather_/lightning_06.webp:0,0,155,230 -images/rooms/_weather_/night_cloud_01.webp:5,9,33,10 -images/rooms/_weather_/night_cloud_02.webp:9,14,74,20 -images/rooms/_weather_/night_cloud_03.webp:6,7,48,12 -images/rooms/_weather_/night_sky.webp:16,18,120,188 -images/rooms/_weather_/night_sky_moon.webp:0,0,155,206 -images/rooms/_weather_/night_sky_moon_cloudy.webp:0,0,155,206 -images/rooms/_weather_/night_sky_moon_overcast.webp:0,0,155,206 -images/rooms/_weather_/night_sky_overcast.webp:0,0,155,206 -images/rooms/_weather_/rain_01.webp:25,0,115,230 -images/rooms/_weather_/rain_02.webp:24,0,118,230 -images/rooms/_weather_/rain_03.webp:24,0,127,230 -images/rooms/_weather_/sky.webp:28,18,100,177 -images/rooms/_weather_/sky_overcast.webp:16,12,123,194 -images/rooms/_weather_/snow_01.webp:0,0,155,230 -images/rooms/_weather_/snow_02.webp:0,0,155,230 -images/rooms/_weather_/snow_03.webp:0,0,155,230 -images/rooms/_weather_/snow_04.webp:0,0,155,230 -images/rooms/_weather_/snow_05.webp:0,0,155,230 -images/rooms/_weather_/snow_06.webp:0,0,155,230 -images/rooms/_weather_/snow_07.webp:0,0,155,230 -images/rooms/_weather_/snow_08.webp:0,1,155,229 -images/rooms/_weather_/snow_09.webp:0,0,155,230 -images/rooms/_weather_/snow_10.webp:0,0,155,230 images/rooms/boxing_ring/bg.webp:0,0,2160,1200 images/rooms/boxing_ring/crowd_back.webp:145,0,1909,715 images/rooms/boxing_ring/crowd_front.webp:24,990,2136,210 @@ -6769,138 +7333,184 @@ images/rooms/boxing_ring/microphone.webp:0,0,47,339 images/rooms/boxing_ring/ring.webp:84,592,1987,608 images/rooms/boxing_ring/stands.webp:0,92,2160,1108 images/rooms/boxing_ring/vignette.webp:0,0,2160,1200 +images/rooms/main_room/bg_day.webp:0,0,2160,1200 +images/rooms/main_room/bg_night.webp:0,0,2160,1200 +images/rooms/main_room/candles/candle.webp:188,200,36,119 +images/rooms/main_room/candles/candleM.webp:190,199,36,120 +images/rooms/main_room/candles/fire_01.webp:27,21,150,152 +images/rooms/main_room/candles/fire_02.webp:27,21,150,152 +images/rooms/main_room/candles/fire_03.webp:27,21,150,152 +images/rooms/main_room/candles/fire_04.webp:27,21,150,152 +images/rooms/main_room/candles/fire_05.webp:27,21,150,152 +images/rooms/main_room/candles/fire_06.webp:27,21,150,152 +images/rooms/main_room/candles/fire_07.webp:27,21,150,152 +images/rooms/main_room/candles/fire_08.webp:31,26,142,143 +images/rooms/main_room/candles/fire_09.webp:27,21,150,152 +images/rooms/main_room/candles/fire_10.webp:27,21,150,152 images/rooms/main_room/chair_left.webp:38,62,222,370 -images/rooms/main_room/chair_left_no_shadow.webp:19,31,98,176 images/rooms/main_room/chair_right.webp:10,62,222,370 +images/rooms/main_room/cupboard/cupboard_open.webp:20,30,392,734 +images/rooms/main_room/cupboard/cupboard_w_shadow.webp:20,30,306,734 +images/rooms/main_room/decorations/agrabah_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/bats_trophy.webp:1,0,769,166 +images/rooms/main_room/decorations/crest_trophy.webp:0,0,146,150 +images/rooms/main_room/decorations/gryffindor_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/halloween_chair.webp:0,0,80,117 +images/rooms/main_room/decorations/halloween_chandelier.webp:90,8,373,311 +images/rooms/main_room/decorations/halloween_cupboard.webp:0,626,171,160 +images/rooms/main_room/decorations/halloween_cupboard2.webp:0,0,130,123 +images/rooms/main_room/decorations/halloween_fireplace.webp:3,385,115,103 +images/rooms/main_room/decorations/halloween_fireplace2.webp:0,1,215,61 +images/rooms/main_room/decorations/halloween_lamp/filament.webp:226,226,40,40 +images/rooms/main_room/decorations/halloween_lamp/glow.webp:17,18,458,457 +images/rooms/main_room/decorations/halloween_lamp/left.webp:1,0,90,130 +images/rooms/main_room/decorations/halloween_lamp/right.webp:1,0,90,129 +images/rooms/main_room/decorations/halloween_monster/0.webp:0,0,27,66 +images/rooms/main_room/decorations/halloween_monster/1.webp:0,0,27,66 +images/rooms/main_room/decorations/halloween_monster/2.webp:0,0,27,66 +images/rooms/main_room/decorations/halloween_monster/3.webp:0,0,27,66 +images/rooms/main_room/decorations/halloween_phoenix.webp:104,47,98,287 +images/rooms/main_room/decorations/halloween_rug.webp:0,0,525,131 +images/rooms/main_room/decorations/harlot_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/hat_fireplace.webp:166,79,75,57 +images/rooms/main_room/decorations/hat_owl.webp:13,12,84,71 +images/rooms/main_room/decorations/hat_phoenix.webp:127,45,79,59 +images/rooms/main_room/decorations/hermione_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/hufflepuff_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/ravenclaw_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/santas_naughty_list.webp:0,7,126,153 +images/rooms/main_room/decorations/slytherin_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/small_owl/idle_0.webp:28,41,115,190 +images/rooms/main_room/decorations/small_owl/idle_1.webp:28,41,115,190 +images/rooms/main_room/decorations/small_owl/idle_2.webp:28,41,115,190 +images/rooms/main_room/decorations/small_owl/letter_0.webp:25,41,129,190 +images/rooms/main_room/decorations/small_owl/letter_1.webp:25,41,129,190 +images/rooms/main_room/decorations/small_owl/letter_2.webp:25,41,129,190 +images/rooms/main_room/decorations/small_owl/letter_hover.webp:25,41,129,190 +images/rooms/main_room/decorations/snow_owl/idle_0.webp:11,0,155,231 +images/rooms/main_room/decorations/snow_owl/idle_1.webp:11,0,155,231 +images/rooms/main_room/decorations/snow_owl/idle_2.webp:11,0,155,231 +images/rooms/main_room/decorations/snow_owl/letter_0.webp:0,0,166,231 +images/rooms/main_room/decorations/snow_owl/letter_1.webp:0,0,166,231 +images/rooms/main_room/decorations/snow_owl/letter_2.webp:0,0,166,231 +images/rooms/main_room/decorations/snow_owl/letter_hover.webp:0,0,166,231 +images/rooms/main_room/decorations/stag_trophy.webp:9,0,96,164 +images/rooms/main_room/decorations/stripper_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/tonks_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/wanted_poster.webp:2,2,123,161 +images/rooms/main_room/decorations/xmas_cupboard.webp:18,120,64,45 +images/rooms/main_room/decorations/xmas_door.webp:52,17,28,37 +images/rooms/main_room/decorations/xmas_fireplace.webp:104,64,148,158 +images/rooms/main_room/decorations/xmas_garland.webp:362,41,1403,217 +images/rooms/main_room/decorations/xmas_giftchair.webp:0,0,100,127 +images/rooms/main_room/decorations/xmas_lights/base.webp:459,61,1250,197 +images/rooms/main_room/decorations/xmas_lights/bulbset_1.webp:489,80,1133,102 +images/rooms/main_room/decorations/xmas_lights/bulbset_2.webp:531,91,1127,93 +images/rooms/main_room/decorations/xmas_lights/glowset_1.webp:456,65,1201,144 +images/rooms/main_room/decorations/xmas_lights/glowset_2.webp:497,67,1194,140 +images/rooms/main_room/decorations/xmas_lights/underlay.webp:489,80,1169,104 +images/rooms/main_room/decorations/xmas_owl.webp:14,16,63,49 +images/rooms/main_room/decorations/xmas_phoenix.webp:106,52,109,274 +images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_base.webp:0,17,90,25 +images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_light.webp:66,3,45,48 +images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_mask.webp:783,283,167,286 +images/rooms/main_room/decorations/xmas_wreaths.webp:0,0,138,146 +images/rooms/main_room/desk/letter.webp:258,303,78,30 +images/rooms/main_room/desk/plant.webp:281,212,49,99 images/rooms/main_room/desk_empty.webp:202,144,257,369 -images/rooms/main_room/desk_no_shadow.webp:23,78,169,174 +images/rooms/main_room/door/door_hover.webp:36,16,252,552 +images/rooms/main_room/door/door_hover_night.webp:36,16,252,552 +images/rooms/main_room/door/door_idle.webp:36,16,252,552 +images/rooms/main_room/door/door_idle_night.webp:36,16,252,552 images/rooms/main_room/dum.webp:0,51,459,461 -images/rooms/objects/candles/candle.webp:188,200,36,119 -images/rooms/objects/candles/candleM.webp:190,199,36,120 -images/rooms/objects/candles/fire_01.webp:27,21,150,152 -images/rooms/objects/candles/fire_02.webp:27,21,150,152 -images/rooms/objects/candles/fire_03.webp:27,21,150,152 -images/rooms/objects/candles/fire_04.webp:27,21,150,152 -images/rooms/objects/candles/fire_05.webp:27,21,150,152 -images/rooms/objects/candles/fire_06.webp:27,21,150,152 -images/rooms/objects/candles/fire_07.webp:27,21,150,152 -images/rooms/objects/candles/fire_08.webp:31,26,142,143 -images/rooms/objects/candles/fire_09.webp:27,21,150,152 -images/rooms/objects/candles/fire_10.webp:27,21,150,152 -images/rooms/objects/cupboard/cupboard_open.webp:20,30,392,734 -images/rooms/objects/cupboard/cupboard_w_shadow.webp:20,30,306,734 -images/rooms/objects/deco/hogwarts_banner.webp:4,0,69,158 -images/rooms/objects/deco/owlbasin.webp:0,0,180,424 -images/rooms/objects/decorations/agrabah_poster.webp:2,2,123,161 -images/rooms/objects/decorations/bats_trophy.webp:1,0,769,166 -images/rooms/objects/decorations/crest_trophy.webp:0,0,146,150 -images/rooms/objects/decorations/gryffindor_poster.webp:2,2,123,161 -images/rooms/objects/decorations/halloween_chair.webp:0,0,80,117 -images/rooms/objects/decorations/halloween_chandelier.webp:90,8,373,311 -images/rooms/objects/decorations/halloween_cupboard.webp:0,626,171,160 -images/rooms/objects/decorations/halloween_cupboard2.webp:0,0,130,123 -images/rooms/objects/decorations/halloween_fireplace.webp:3,385,115,103 -images/rooms/objects/decorations/halloween_fireplace2.webp:0,1,215,61 -images/rooms/objects/decorations/halloween_lamp/filament.webp:226,226,40,40 -images/rooms/objects/decorations/halloween_lamp/glow.webp:17,18,458,457 -images/rooms/objects/decorations/halloween_lamp/left.webp:1,0,90,130 -images/rooms/objects/decorations/halloween_lamp/right.webp:1,0,90,129 -images/rooms/objects/decorations/halloween_monster/0.webp:0,0,27,66 -images/rooms/objects/decorations/halloween_monster/1.webp:0,0,27,66 -images/rooms/objects/decorations/halloween_monster/2.webp:0,0,27,66 -images/rooms/objects/decorations/halloween_monster/3.webp:0,0,27,66 -images/rooms/objects/decorations/halloween_phoenix.webp:104,47,98,287 -images/rooms/objects/decorations/halloween_rug.webp:0,0,525,131 -images/rooms/objects/decorations/harlot_poster.webp:2,2,123,161 -images/rooms/objects/decorations/hat_fireplace.webp:166,79,75,57 -images/rooms/objects/decorations/hat_owl.webp:13,12,84,71 -images/rooms/objects/decorations/hat_phoenix.webp:127,45,79,59 -images/rooms/objects/decorations/hermione_poster.webp:2,2,123,161 -images/rooms/objects/decorations/hufflepuff_poster.webp:2,2,123,161 -images/rooms/objects/decorations/ravenclaw_poster.webp:2,2,123,161 -images/rooms/objects/decorations/slytherin_poster.webp:2,2,123,161 -images/rooms/objects/decorations/small_owl/idle_0.webp:28,41,115,190 -images/rooms/objects/decorations/small_owl/idle_1.webp:28,41,115,190 -images/rooms/objects/decorations/small_owl/idle_2.webp:28,41,115,190 -images/rooms/objects/decorations/small_owl/letter_0.webp:25,41,129,190 -images/rooms/objects/decorations/small_owl/letter_1.webp:25,41,129,190 -images/rooms/objects/decorations/small_owl/letter_2.webp:25,41,129,190 -images/rooms/objects/decorations/small_owl/letter_hover.webp:25,41,129,190 -images/rooms/objects/decorations/snow_owl/idle_0.webp:11,0,155,231 -images/rooms/objects/decorations/snow_owl/idle_1.webp:11,0,155,231 -images/rooms/objects/decorations/snow_owl/idle_2.webp:11,0,155,231 -images/rooms/objects/decorations/snow_owl/letter_0.webp:0,0,166,231 -images/rooms/objects/decorations/snow_owl/letter_1.webp:0,0,166,231 -images/rooms/objects/decorations/snow_owl/letter_2.webp:0,0,166,231 -images/rooms/objects/decorations/snow_owl/letter_hover.webp:0,0,166,231 -images/rooms/objects/decorations/stag_trophy.webp:9,0,96,164 -images/rooms/objects/decorations/stripper_poster.webp:2,2,123,161 -images/rooms/objects/decorations/tonks_poster.webp:2,2,123,161 -images/rooms/objects/decorations/wanted_poster.webp:2,2,123,161 -images/rooms/objects/decorations/xmas_cupboard.webp:18,120,64,45 -images/rooms/objects/decorations/xmas_door.webp:52,17,28,37 -images/rooms/objects/decorations/xmas_fireplace.webp:104,64,148,158 -images/rooms/objects/decorations/xmas_giftchair.webp:0,0,100,127 -images/rooms/objects/decorations/xmas_lights/base.webp:459,61,1250,197 -images/rooms/objects/decorations/xmas_lights/bulbset_1.webp:489,80,1133,102 -images/rooms/objects/decorations/xmas_lights/bulbset_2.webp:531,91,1127,93 -images/rooms/objects/decorations/xmas_lights/glowset_1.webp:456,65,1201,144 -images/rooms/objects/decorations/xmas_lights/glowset_2.webp:497,67,1194,140 -images/rooms/objects/decorations/xmas_lights/underlay.webp:489,80,1169,104 -images/rooms/objects/decorations/xmas_owl.webp:14,16,63,49 -images/rooms/objects/decorations/xmas_phoenix.webp:106,52,109,274 -images/rooms/objects/decorations/xmas_wreaths.webp:0,0,138,146 -images/rooms/objects/desk/letter.webp:258,303,78,30 -images/rooms/objects/desk/plant.webp:281,212,49,99 -images/rooms/objects/doors/door_hover.webp:36,16,252,552 -images/rooms/objects/doors/door_hover_night.webp:36,16,252,552 -images/rooms/objects/doors/door_idle.webp:36,16,252,552 -images/rooms/objects/doors/door_idle_night.webp:36,16,252,552 -images/rooms/objects/fireplace/fireplace_fire_01.webp:0,67,233,239 -images/rooms/objects/fireplace/fireplace_fire_02.webp:0,74,233,229 -images/rooms/objects/fireplace/fireplace_fire_03.webp:0,67,233,239 -images/rooms/objects/fireplace/fireplace_fire_04.webp:0,78,233,225 -images/rooms/objects/fireplace/fireplace_fire_05.webp:0,67,233,239 -images/rooms/objects/fireplace/fireplace_fire_06.webp:0,67,233,239 -images/rooms/objects/fireplace/fireplace_fire_07.webp:0,67,233,239 -images/rooms/objects/fireplace/fireplace_fire_08.webp:0,67,233,239 -images/rooms/objects/fireplace/fireplace_hover.webp:44,38,254,428 -images/rooms/objects/fireplace/fireplace_idle.webp:44,38,254,428 -images/rooms/objects/fireplace/fireplace_w_shadow.webp:42,38,256,434 -images/rooms/objects/fireplace/fireplace_xmas.webp:21,19,128,217 -images/rooms/objects/fireplace/fireplace_xmas_hover.webp:22,19,127,214 -images/rooms/objects/fireplace/fireplace_xmas_idle.webp:22,19,127,214 -images/rooms/objects/mail/owl_01.webp:15,35,81,138 -images/rooms/objects/mail/owl_02.webp:15,35,81,138 -images/rooms/objects/mail/owl_03.webp:15,35,81,138 -images/rooms/objects/mail/owl_hover.webp:15,35,81,138 -images/rooms/objects/mail/owl_idle_01.webp:15,35,81,138 -images/rooms/objects/mail/owl_idle_02.webp:15,35,81,138 -images/rooms/objects/mail/owl_idle_03.webp:15,35,81,138 -images/rooms/objects/parcel/idle.webp:3,17,51,43 -images/rooms/objects/phoenix/feather_ani/pho_01.webp:78,207,15,39 -images/rooms/objects/phoenix/feather_ani/pho_02.webp:74,231,15,39 -images/rooms/objects/phoenix/feather_ani/pho_03.webp:45,261,39,23 -images/rooms/objects/phoenix/feather_ani/pho_04.webp:29,272,38,15 -images/rooms/objects/phoenix/feather_ani/pho_05.webp:30,268,23,38 -images/rooms/objects/phoenix/feather_ani/pho_06.webp:50,300,28,35 -images/rooms/objects/phoenix/feather_ani/pho_07.webp:69,322,35,30 -images/rooms/objects/phoenix/feather_ani/pho_08.webp:92,346,39,21 -images/rooms/objects/phoenix/feather_ani/pho_09.webp:120,361,40,17 -images/rooms/objects/phoenix/feather_ani/pho_10.webp:151,366,39,16 -images/rooms/objects/phoenix/feather_ani/pho_11.webp:157,364,37,19 -images/rooms/objects/phoenix/feather_ani/pho_12.webp:154,375,30,33 -images/rooms/objects/phoenix/feather_ani/pho_13.webp:144,405,21,36 -images/rooms/objects/phoenix/feather_ani/pho_14.webp:123,438,25,34 -images/rooms/objects/phoenix/feather_ani/pho_15.webp:94,470,34,27 -images/rooms/objects/phoenix/feather_ani/pho_16.webp:58,494,39,22 -images/rooms/objects/phoenix/feather_ani/pho_17.webp:52,496,40,16 -images/rooms/objects/phoenix/feather_ani/pho_18.webp:52,496,40,16 -images/rooms/objects/phoenix/food.webp:166,204,42,24 -images/rooms/objects/phoenix/phoenix_01.webp:92,66,123,439 -images/rooms/objects/phoenix/phoenix_02.webp:92,66,123,439 -images/rooms/objects/phoenix/phoenix_03.webp:92,66,123,439 -images/rooms/objects/phoenix/phoenix_hover.webp:92,66,123,439 +images/rooms/main_room/fireplace/fireplace_fire_01.webp:0,67,233,239 +images/rooms/main_room/fireplace/fireplace_fire_02.webp:0,74,233,229 +images/rooms/main_room/fireplace/fireplace_fire_03.webp:0,67,233,239 +images/rooms/main_room/fireplace/fireplace_fire_04.webp:0,78,233,225 +images/rooms/main_room/fireplace/fireplace_fire_05.webp:0,67,233,239 +images/rooms/main_room/fireplace/fireplace_fire_06.webp:0,67,233,239 +images/rooms/main_room/fireplace/fireplace_fire_07.webp:0,67,233,239 +images/rooms/main_room/fireplace/fireplace_fire_08.webp:0,67,233,239 +images/rooms/main_room/fireplace/fireplace_hover.webp:44,38,254,428 +images/rooms/main_room/fireplace/fireplace_idle.webp:44,38,254,428 +images/rooms/main_room/fireplace/fireplace_w_shadow.webp:42,38,256,434 +images/rooms/main_room/fireplace/fireplace_xmas.webp:21,19,128,217 +images/rooms/main_room/fireplace/fireplace_xmas_hover.webp:22,19,127,214 +images/rooms/main_room/fireplace/fireplace_xmas_idle.webp:22,19,127,214 +images/rooms/main_room/mail/owl_01.webp:15,35,81,138 +images/rooms/main_room/mail/owl_02.webp:15,35,81,138 +images/rooms/main_room/mail/owl_03.webp:15,35,81,138 +images/rooms/main_room/mail/owl_hover.webp:15,35,81,138 +images/rooms/main_room/mail/owl_idle_01.webp:15,35,81,138 +images/rooms/main_room/mail/owl_idle_02.webp:15,35,81,138 +images/rooms/main_room/mail/owl_idle_03.webp:15,35,81,138 +images/rooms/main_room/parcel/idle.webp:3,17,51,43 +images/rooms/main_room/phoenix/feather_ani/pho_01.webp:78,207,15,39 +images/rooms/main_room/phoenix/feather_ani/pho_02.webp:74,231,15,39 +images/rooms/main_room/phoenix/feather_ani/pho_03.webp:45,261,39,23 +images/rooms/main_room/phoenix/feather_ani/pho_04.webp:29,272,38,15 +images/rooms/main_room/phoenix/feather_ani/pho_05.webp:30,268,23,38 +images/rooms/main_room/phoenix/feather_ani/pho_06.webp:50,300,28,35 +images/rooms/main_room/phoenix/feather_ani/pho_07.webp:69,322,35,30 +images/rooms/main_room/phoenix/feather_ani/pho_08.webp:92,346,39,21 +images/rooms/main_room/phoenix/feather_ani/pho_09.webp:120,361,40,17 +images/rooms/main_room/phoenix/feather_ani/pho_10.webp:151,366,39,16 +images/rooms/main_room/phoenix/feather_ani/pho_11.webp:157,364,37,19 +images/rooms/main_room/phoenix/feather_ani/pho_12.webp:154,375,30,33 +images/rooms/main_room/phoenix/feather_ani/pho_13.webp:144,405,21,36 +images/rooms/main_room/phoenix/feather_ani/pho_14.webp:123,438,25,34 +images/rooms/main_room/phoenix/feather_ani/pho_15.webp:94,470,34,27 +images/rooms/main_room/phoenix/feather_ani/pho_16.webp:58,494,39,22 +images/rooms/main_room/phoenix/feather_ani/pho_17.webp:52,496,40,16 +images/rooms/main_room/phoenix/feather_ani/pho_18.webp:52,496,40,16 +images/rooms/main_room/phoenix/food.webp:166,204,42,24 +images/rooms/main_room/phoenix/phoenix_01.webp:92,66,123,439 +images/rooms/main_room/phoenix/phoenix_02.webp:92,66,123,439 +images/rooms/main_room/phoenix/phoenix_03.webp:92,66,123,439 +images/rooms/main_room/phoenix/phoenix_hover.webp:92,66,123,439 +images/rooms/main_room/weather/blizzard_01.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_02.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_03.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_04.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_05.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_06.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_07.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_08.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_09.webp:0,0,155,230 +images/rooms/main_room/weather/blizzard_10.webp:0,0,155,230 +images/rooms/main_room/weather/cloud_small.webp:4,9,155,30 +images/rooms/main_room/weather/day_cloud_01.webp:5,9,33,10 +images/rooms/main_room/weather/day_cloud_02.webp:9,14,74,20 +images/rooms/main_room/weather/day_cloud_03.webp:6,7,48,12 +images/rooms/main_room/weather/lightning_01.webp:0,0,0,0 +images/rooms/main_room/weather/lightning_02.webp:51,14,100,156 +images/rooms/main_room/weather/lightning_03.webp:26,50,89,145 +images/rooms/main_room/weather/lightning_04.webp:0,0,155,230 +images/rooms/main_room/weather/lightning_05.webp:0,0,0,0 +images/rooms/main_room/weather/lightning_06.webp:0,0,155,230 +images/rooms/main_room/weather/night_cloud_01.webp:5,9,33,10 +images/rooms/main_room/weather/night_cloud_02.webp:9,14,74,20 +images/rooms/main_room/weather/night_cloud_03.webp:6,7,48,12 +images/rooms/main_room/weather/night_sky.webp:16,18,120,188 +images/rooms/main_room/weather/night_sky_moon.webp:0,0,155,206 +images/rooms/main_room/weather/night_sky_moon_cloudy.webp:0,0,155,206 +images/rooms/main_room/weather/night_sky_moon_overcast.webp:0,0,155,206 +images/rooms/main_room/weather/night_sky_overcast.webp:0,0,155,206 +images/rooms/main_room/weather/rain_01.webp:25,0,115,230 +images/rooms/main_room/weather/rain_02.webp:24,0,118,230 +images/rooms/main_room/weather/rain_03.webp:24,0,127,230 +images/rooms/main_room/weather/sky.webp:28,18,100,177 +images/rooms/main_room/weather/sky_overcast.webp:16,12,123,194 +images/rooms/main_room/weather/snow_01.webp:0,0,155,230 +images/rooms/main_room/weather/snow_02.webp:0,0,155,230 +images/rooms/main_room/weather/snow_03.webp:0,0,155,230 +images/rooms/main_room/weather/snow_04.webp:0,0,155,230 +images/rooms/main_room/weather/snow_05.webp:0,0,155,230 +images/rooms/main_room/weather/snow_06.webp:0,0,155,230 +images/rooms/main_room/weather/snow_07.webp:0,0,155,230 +images/rooms/main_room/weather/snow_08.webp:0,1,155,229 +images/rooms/main_room/weather/snow_09.webp:0,0,155,230 +images/rooms/main_room/weather/snow_10.webp:0,0,155,230 images/rooms/overlays/card.webp:380,60,320,480 images/rooms/overlays/card_sp.webp:0,0,1080,600 images/rooms/overlays/curtains.webp:0,0,1080,600 @@ -6970,10 +7580,11 @@ images/rooms/room_of_requirement/dark_overlay_1.webp:0,0,1080,600 images/rooms/room_of_requirement/dark_overlay_2.webp:0,0,1080,600 images/rooms/room_of_requirement/dark_overlay_3.webp:0,0,1080,600 images/rooms/room_of_requirement/day_to_night.webp:0,0,800,600 +images/rooms/room_of_requirement/door_idle_night.webp:36,16,252,552 images/rooms/room_of_requirement/foreground.webp:0,0,1080,600 images/rooms/room_of_requirement/horns.webp:261,97,72,119 images/rooms/room_of_requirement/mirror_hover.webp:33,1,123,279 -images/rooms/room_of_requirement/paperandmic.webp:68,140,85,37 +images/rooms/room_of_requirement/qmark.webp:0,0,50,50 images/rooms/room_of_requirement/table.webp:23,132,169,120 images/rooms/room_of_requirement/table_hat.webp:120,107,52,41 images/rooms/room_of_requirement/web.webp:7,35,147,98 @@ -7097,6 +7708,8 @@ images/title/fire05.webp:0,208,697,709 images/title/fire06.webp:0,208,697,709 images/title/fire07.webp:0,208,697,709 images/title/sparkle.webp:0,0,49,50 +images/ui/naughty_list/naughty_list scroll.webp:660,65,891,1084 +images/ui/naughty_list/naughty_list spacer.webp:0,0,363,42 images/ui/vibrator_interface/vibrator_interface_background.webp:13,70,845,241 images/ui/vibrator_interface/vibrator_interface_caption_high.webp:546,13,136,58 images/ui/vibrator_interface/vibrator_interface_caption_low.webp:212,8,129,60 @@ -7407,6 +8020,7 @@ interface/icons/head/george.webp:26,1,171,199 interface/icons/head/hat.webp:0,0,200,200 interface/icons/head/hermione.webp:0,0,200,200 interface/icons/head/hermione_locked.webp:0,0,200,200 +interface/icons/head/hooch.webp:7,0,189,200 interface/icons/head/luna.webp:0,0,200,200 interface/icons/head/luna_locked.webp:0,0,200,200 interface/icons/head/mafkin.webp:0,0,200,200 @@ -7446,6 +8060,7 @@ interface/icons/potion_generic.webp:260,73,436,819 interface/icons/pufferfish_eyes.webp:244,188,464,579 interface/icons/puzzle_box.webp:56,86,208,149 interface/icons/ravenclaw_poster.webp:4,5,235,309 +interface/icons/santas_naughty_list.webp:2,16,239,292 interface/icons/science_mag.webp:55,59,233,234 interface/icons/sealed_scroll.webp:1,6,223,122 interface/icons/sexdoll.webp:12,8,308,309 @@ -7499,10 +8114,12 @@ interface/icons/vibrator.webp:63,67,182,198 interface/icons/wanted_poster.webp:4,5,235,309 interface/icons/wine.webp:87,44,173,263 interface/icons/xmas_fireplace.webp:21,19,128,217 +interface/icons/xmas_garland.webp:0,28,189,138 interface/icons/xmas_giftchair.webp:0,0,100,127 interface/icons/xmas_lights.webp:0,29,189,138 interface/icons/xmas_owl.webp:14,16,82,157 interface/icons/xmas_phoenix.webp:92,161,123,344 +interface/icons/xmas_window_santa.webp:0,51,183,77 interface/icons/xmas_wreaths.webp:0,0,138,146 interface/letter.webp:0,6,773,863 interface/map/anim/map_00.webp:18,16,1649,1171 @@ -7588,18 +8205,6 @@ interface/puzzle/9.webp:0,0,94,94 interface/puzzle/background.webp:0,0,425,425 interface/puzzle/grid.webp:22,22,381,382 interface/puzzle/puzzle.webp:0,0,376,376 -interface/room_of_req/astoria_icon.webp:0,2,36,34 -interface/room_of_req/cho_icon.webp:5,0,26,36 -interface/room_of_req/hermione_icon.webp:0,0,36,36 -interface/room_of_req/locked.webp:0,0,71,89 -interface/room_of_req/luna_icon.webp:1,0,34,36 -interface/room_of_req/mirror_event_item.webp:0,0,601,90 -interface/room_of_req/mirror_event_item_hover.webp:0,0,601,90 -interface/room_of_req/mirror_event_menu.webp:0,0,624,544 -interface/room_of_req/quistion_mark.webp:0,0,50,50 -interface/room_of_req/susan_icon.webp:2,0,31,36 -interface/room_of_req/tonks_icon.webp:0,0,36,36 -interface/room_of_req/unlocked.webp:0,0,77,105 interface/stats/gold/bar_empty.webp:0,0,366,21 interface/stats/gold/bar_full.webp:0,0,366,21 interface/stats/gray/bar_empty.webp:0,0,366,21 @@ -7681,6 +8286,7 @@ interface/tutorials/hearts.webp:0,0,482,133 interface/tutorials/inventory.webp:0,0,482,133 interface/tutorials/mail.webp:0,0,482,133 interface/tutorials/map.webp:0,0,482,133 +interface/tutorials/milestones.webp:0,0,482,133 interface/tutorials/moodngifts.webp:0,0,482,133 interface/tutorials/points.webp:0,0,482,133 interface/tutorials/schedule.webp:0,0,482,133 @@ -7784,7 +8390,8 @@ interface/wardrobe/icons/stockings.webp:0,0,90,90 interface/wardrobe/icons/sweaters.webp:3,3,84,86 interface/wardrobe/icons/tattoos.webp:0,8,90,75 interface/wardrobe/icons/trousers.webp:20,0,50,90 -mods/MyMod/characters/hermione/clothes/hair/ponytail/0.webp:489,262,223,248 -mods/MyMod/characters/hermione/clothes/hair/ponytail/1.webp:491,263,221,247 -mods/MyMod/characters/hermione/clothes/hair/ponytail/outline.webp:488,261,226,251 -mods/MyMod/logo.webp:0,0,320,240 +interface/warning.webp:0,0,448,64 +mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/0.webp:489,262,223,248 +mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/1.webp:491,263,221,247 +mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/outline.webp:488,261,226,251 +mods/ExampleMod/logo.webp:0,0,320,240 diff --git a/game/images/CG/.gitignore b/game/images/CG/.gitignore new file mode 100644 index 00000000..598c0299 --- /dev/null +++ b/game/images/CG/.gitignore @@ -0,0 +1,2 @@ +# It is an error to include PNG files for CGs. Use WEBP format instead. +*.png diff --git a/game/images/CG/ball/175.webp b/game/images/CG/ball/175.webp deleted file mode 100644 index 1401d666..00000000 --- a/game/images/CG/ball/175.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b3b817333b6afdef36946773376102daad1173f38a0bf364d19a30d6db342a6 -size 8164 diff --git a/game/images/CG/ball/base.webp b/game/images/CG/ball/base.webp deleted file mode 100644 index 9a173ab9..00000000 --- a/game/images/CG/ball/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d778a68b9aa00b56ff839946576ac3c9a90bbf8042293eacb0a38f23c9cf3f9c -size 66 diff --git a/game/images/CG/ball/blank.webp b/game/images/CG/ball/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/ball/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_background.webp b/game/images/CG/cho_facefuck/cho_facefuck_background.webp new file mode 100644 index 00000000..fdd3dd11 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_background.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1308bacf761ef3c71df1b37c2be9109527af415a45b1b76640f6be5e29cb1cba +size 148508 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_deep.webp new file mode 100644 index 00000000..863ddf2e --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e73b1f56d5d8a9347803c657e76e3503b3e72ceeff64764bc2fe9703915d9a0 +size 56938 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_down.webp new file mode 100644 index 00000000..2975df2a --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70efa529c7d9e6cab2a0974699b5107dec5538c578233f66bdf98ba4ce58eec7 +size 57284 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_mid.webp new file mode 100644 index 00000000..044077e2 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82cf21863b29093fb40b89b62e6dc158a42840aa53af9a25518cdc1456faa40c +size 57628 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_up.webp new file mode 100644 index 00000000..f2d527c4 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_arms_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da946a9b760a9252eb415092daec8949421836dab7cecb9b99d493c1ebabb4d4 +size 54028 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_deep.webp new file mode 100644 index 00000000..32f6d171 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7c09b2b804926473a5fa9fbcb7eec9ad1219447ad71b252cb715feaf7f3f7e9 +size 181676 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_down.webp new file mode 100644 index 00000000..3761de8f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40c1e68b123fc23e74ea02e9bd5c9ff60de8004bf22bfea9b6bdbbd16dfd8f18 +size 181468 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_mid.webp new file mode 100644 index 00000000..22c3e895 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:803dca35156dcc5a5c41aa087fde710ac68d875a4e5d1f315bc690c5c1e58865 +size 176634 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_up.webp new file mode 100644 index 00000000..6b1f0c0d --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_choking_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0086703d5a58682494cc39e088cb177acdb8d468773ed783133d7d0fb5107cac +size 181214 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_deep.webp new file mode 100644 index 00000000..0b0ef989 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27e3af6f2174f96b1b2c30e729f5f0af71260874e0233fddc962ff74007e7781 +size 110054 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_down.webp new file mode 100644 index 00000000..e97080a0 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fb40049c72893091f743f28c39c33785debf4f233c00c3e72882d6f50af83bd +size 110458 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_mid.webp new file mode 100644 index 00000000..4a618dd6 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:849b56e4015e1313bac83607bf288b9a8adb147864eee972f9ac9ab553dbacb1 +size 111684 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_up.webp new file mode 100644 index 00000000..43f11f9b --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_blush_heavy_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2092e4603c78761f024b4bb86b8a78be69bf0209df417170a735f707172536a1 +size 107294 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_body_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_deep.webp new file mode 100644 index 00000000..4937a720 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45ee1db3643ce0ef7d736cc3d8925f1a978fae49751dd9288a2d851b427f2821 +size 82460 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_body_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_down.webp new file mode 100644 index 00000000..43eadb4a --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3af4de379fbdc28cae14a5873f31087911191733932feed5e991f9f73f0f1e20 +size 87836 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_body_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_mid.webp new file mode 100644 index 00000000..f900bf53 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f22cd89be638046ee9cb1dfec0b6eeeb82499c785a153f45bced4cb51b72604 +size 89978 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_body_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_up.webp new file mode 100644 index 00000000..6e0cfa64 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_body_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f2d2acfeaa042c50d361b060d94c0253f2066a4b8185c5d22cd7c6ece1b3e0a +size 87852 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_deep.webp new file mode 100644 index 00000000..b8e32359 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2c81f7750353369e9a34af2bf3b2653a174de2e48a0aa0ea155c3cf59b7cbb1 +size 17138 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_down.webp new file mode 100644 index 00000000..01c40eb0 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:235725900121db7a4700347ae2c136527860da57a2960d6984c54fc982fa6887 +size 17082 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_mid.webp new file mode 100644 index 00000000..e187aa94 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:badd0c8da02a40d0014fe9a0650db2ffa7af27029ec8107df2b5aa50a172b0ed +size 17142 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_up.webp new file mode 100644 index 00000000..d82e30d6 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_cheekbulge_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3738c9e5224221554aa254909a2c2a43a0035902a708732ae6626553284f84e +size 17142 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_deep.webp new file mode 100644 index 00000000..fe69e344 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:335ba80679d1cee10f79dcdcc3ea8a2b18d52125a79ba4783f9a35a5f96f366c +size 19268 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_down.webp new file mode 100644 index 00000000..01fecdaa --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4674bc26857c5509d8f8c73c1a813de6e0bb09c6fef11f625c7e049790703882 +size 19564 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_mid.webp new file mode 100644 index 00000000..902c8932 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90cefbafc87ef196e245134d922cb29b39d59ad0d32d93a8eadc297eaf4edb43 +size 19688 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_up.webp new file mode 100644 index 00000000..61a71e9f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_angry_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e6b9919d2d14168a70baa8929e97553c7380f96aeaeabbba896a27665d5b490 +size 19266 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_deep.webp new file mode 100644 index 00000000..ec4678ab --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b66f46b28d3e14932f429e38eec829682d8a84eaeb7b72cf89a9399f9d168b9b +size 16086 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_down.webp new file mode 100644 index 00000000..f6246e5f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5c45807e8a3aeb5fb5696a0d1882593a0e419a2f81af7b5f7fc4db0f7b641ab +size 16092 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_mid.webp new file mode 100644 index 00000000..bfc190ef --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d4e3abb0dbb35561cc55ce31f47d9cdc8a8b24332dd244e2d7f64214334b389 +size 16468 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_up.webp new file mode 100644 index 00000000..18def9ad --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_low_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e87ad9c029c58f3c5e6612f34dcdb41cb88339ac943b2893f541b1fbcd7e563c +size 16094 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_deep.webp new file mode 100644 index 00000000..90d6a5a0 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5817724ef48930a42608ee525a7b22b283cdc32427f6ba5c3d2c94c93c078add +size 17794 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_down.webp new file mode 100644 index 00000000..92c7a908 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14a0a8df551bcd217fee8a265df1fd9c62f876cfb18e24e3a71a92ae0e18c455 +size 17792 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_mid.webp new file mode 100644 index 00000000..1dc5d0d3 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e905c1863c222943eb1774473dd0817680fb7201fa185fe819c6977d267167ed +size 17860 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_up.webp new file mode 100644 index 00000000..46eebb26 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_raised_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d4baec69669f03ca2034c61286c72e3d5990d8e50927c91796cce5c93e5c0f0 +size 17790 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_deep.webp new file mode 100644 index 00000000..fdb3b6b7 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfc80f47d5c72dde7094b1598d196cffbc36805396f6f0cf12f652bac1a098d5 +size 16500 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_down.webp new file mode 100644 index 00000000..759e6fc2 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83218a962db76c243195b0ef628958d14f5c0c2850e57faca53bc46835bea49b +size 16538 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_mid.webp new file mode 100644 index 00000000..13ae0d04 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e441fcc78020acae03b13a21e3b8c8af1d30ce1ebacbb283674501f2a54a244 +size 16580 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_up.webp new file mode 100644 index 00000000..e456126d --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyebrows_worried_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de84a082fc425b0f4c6f20f8c13fcd2da237f4383c233076f4bc940d21a9d75e +size 16502 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_deep.webp new file mode 100644 index 00000000..d292ef93 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d68d53d5b8b9590babc083bdef4ab3e26ed6ff6840c145e3ca00dff432311a99 +size 30256 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_down.webp new file mode 100644 index 00000000..91d1c968 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d40cd954d86acd15113df0c83b76acd170c23ed08832fffa204a3faf199486ba +size 29880 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_mid.webp new file mode 100644 index 00000000..ada8ccbe --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c27efb2ce92546820a9029d09cc924d0883e934a4d1d0cfa38292c9c7bc7cb3 +size 31652 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_up.webp new file mode 100644 index 00000000..23fe0a28 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_ahegao_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2011a07092ad9dc1f6ddd734a4dbeeb46c9fd0cfda6b10c8777c8dcd089405e8 +size 30226 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_deep.webp new file mode 100644 index 00000000..e9ce05bf --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:164483fca96c6f808faa7892bd45dc707869bd2ee9e04bc61749d7ad8a25c830 +size 32546 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_down.webp new file mode 100644 index 00000000..3886e4b8 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e565e03d6e2c3aff7b777a4cd7ba96ab2d65f9fe534c16a768791afd1a57e976 +size 32380 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_mid.webp new file mode 100644 index 00000000..c1b2897b --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29603235dbf326655eaa65225f094e26d2a8faabf77fcb171683534887095467 +size 34856 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_up.webp new file mode 100644 index 00000000..28896e68 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_down_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4a5505b3a7641f96f7605740b432a29cfd1cf2797de9e52f233e05d53fa03ed +size 32548 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_deep.webp new file mode 100644 index 00000000..e58f7334 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f7a5ec9287e03886474356dcf6fdca73c05429e488c85d8091be777d89780b +size 28292 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_down.webp new file mode 100644 index 00000000..cf7461ce --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b66f7e69f0f4166f233ddb4b1f6511a0d10267572daf0bccaab5a1d848850d0 +size 28352 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_mid.webp new file mode 100644 index 00000000..c79b960f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70d86e608f9ee9b32b17e1f5af980ebc98d8f59ac011ed3e05db4adfb8d0ddff +size 33084 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_up.webp new file mode 100644 index 00000000..2aa7dfd3 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_left_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03c7a44db4af263c1123b18025933a4b024ad7102defa17ff74e67ccb042bcea +size 28276 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_deep.webp new file mode 100644 index 00000000..713ea915 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4abca54d36f78f26cfcce74f92744dfcae8b5d48ef09c0339001e69563f3971c +size 30950 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_down.webp new file mode 100644 index 00000000..67a4e7ff --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:779475e1b923641dcad2a272ec2933a62d6c5ede93746cfcbb90114253c20022 +size 31342 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_mid.webp new file mode 100644 index 00000000..a00e5ed5 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f9a231f5a349c46137503b6f0bbbedec8ba00ec37e7407fc7ebaec8d57175d4 +size 33870 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_up.webp new file mode 100644 index 00000000..8c559460 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_ahegao_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eabd72570ac73707ce8a0a83445bdb770ba21c0767ac2cf559db6cea4f4024b7 +size 30876 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_deep.webp new file mode 100644 index 00000000..95126f36 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:847ed40e0301850ebf16cac22e12056e5fe71afac595525ee09058fcbf50c5d8 +size 32308 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_down.webp new file mode 100644 index 00000000..d9cca1e7 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e182a05a57cb12390c6768772adc04b46c6b1bcabd3532b2155dbf1430717a3 +size 32864 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_mid.webp new file mode 100644 index 00000000..e0b649b2 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47a8046c2cef9a3f01b44626da2625f298192e446ab51a43cadeb577a20f61f1 +size 32088 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_up.webp new file mode 100644 index 00000000..575eb692 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_down_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3f909baefb6b85f099a7f6ce108d679c1ffe2fc94206caa9670489da7379be7 +size 32304 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_deep.webp new file mode 100644 index 00000000..d598a460 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17bd00a1d3e0848de26c332fc9cc1cb67f5c99c037b3e08ec6ae3a67219b0d25 +size 32078 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_down.webp new file mode 100644 index 00000000..5c5d1c3c --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fc73f8cd3aa2671561a97ae52236c9af4086849f2b9fb1a71b2c7be9ab42842 +size 32724 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_mid.webp new file mode 100644 index 00000000..6c820839 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b42f050c543b3b1e61b56b9d59c57de26ecaae6494d7432e2555c66371f8f5 +size 33650 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_up.webp new file mode 100644 index 00000000..f7cb86fa --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_left_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0218e19e16b850fc110054e35b2d40248d59ab60ee2bcfa308907d19c1ff2fb +size 32088 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_deep.webp new file mode 100644 index 00000000..bc8ceae0 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:047cba0c86f6885f548df594ad04304aa7e0f440a3fb83782f9e141e3ff2fa88 +size 32328 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_down.webp new file mode 100644 index 00000000..e1b7c84d --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0abdce9a49dbfe6c167ab43b828eba250971a093c2506d163e238f2214c8ac51 +size 33302 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_mid.webp new file mode 100644 index 00000000..34af843f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba82781ef5614433ac9104c65dd05e5f353e8cd0fb4d0704ec806e2fd70f8816 +size 33516 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_up.webp new file mode 100644 index 00000000..6549778e --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_right_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d99996f8abdb5da12aac18cad029be428839ad594f76b75d905ac483d78c29b2 +size 32306 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_deep.webp new file mode 100644 index 00000000..e0405620 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4971753107da924912e6ef5bd99fba0b1731acc150370187f910ec71e636561 +size 29606 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_down.webp new file mode 100644 index 00000000..e9f42a31 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b20d821828bff15bb760c07108cd1a67cc909a7620c4c1b13ced3786b98bfdc +size 29900 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_mid.webp new file mode 100644 index 00000000..35249ef2 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ead5d408ff8159e879f2f9889bce2ba7e7c11b6e38882520c96fd577f9505d7 +size 31962 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_up.webp new file mode 100644 index 00000000..3a41b436 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_stare_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa7cac938294454beaff300efe2490dfe84563d11fad4bf639f496ee0b5e2922 +size 29606 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_deep.webp new file mode 100644 index 00000000..d8840980 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9d708a4056cd15fbb5b5d3aca44456c64ad57f9e44cef2b55d32f65a7a9c54 +size 30282 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_down.webp new file mode 100644 index 00000000..1e23b68e --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73e5111bcb8f55ed69f2e58a582897add05a1375b857fb5c54fcec0c19bc2ac3 +size 29384 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_mid.webp new file mode 100644 index 00000000..da052347 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e191b080f1faa81593f5f081eae186c95feaa0a1689675dc039e02949dd2084 +size 32596 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_up.webp new file mode 100644 index 00000000..39831a0e --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_narrow_up_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa4d6749f052bbd49baab6ad297a0c5689c7a2f8b6627a81236c1dbfb7398db7 +size 30280 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_deep.webp new file mode 100644 index 00000000..e0eff3ea --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:883ae3e87466fc60fd68728ecdd3b06ec158ab9135c60e2985da6ee8ff91f546 +size 27766 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_down.webp new file mode 100644 index 00000000..3dfd6ea9 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c84900a5f7f1dc202d38f9865d1015269560a74a587484861edcdfc36f784a20 +size 27998 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_mid.webp new file mode 100644 index 00000000..179c0d68 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40a0af7cf811915393c854d9f3ce2a82d6c82467bc28d929425677675d11951c +size 31790 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_up.webp new file mode 100644 index 00000000..48e9ea84 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_right_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee8a4dca32c8d4afa67bfe3863c4f7d009fc615668f111f5e24f9ccea587fc0f +size 27868 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_deep.webp new file mode 100644 index 00000000..5ac6119f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1824d7c5322fef7c71224de98407d8f58295506a7599e03995d4b979a7d50be0 +size 13378 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_down.webp new file mode 100644 index 00000000..38158677 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6433546d61d06507680eebac04a8fcc6d644346d5bd1e85bb339a924ed348884 +size 13382 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_mid.webp new file mode 100644 index 00000000..4f4e2e54 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:891e777f3a99e8aa43e736602af9c92d0d1976b9675f084d5636bf6cec223440 +size 13434 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_up.webp new file mode 100644 index 00000000..e8c52c6f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_shut_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:552267c0f33c9756716fa864fe9ea4e76f304d842a509a368d0402c22f853dc7 +size 13382 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_deep.webp new file mode 100644 index 00000000..fc6f1c25 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25dc517a6cc64758276cb08f9e5e3ca2bb210d7dc5df894c8bc166e9d6836d15 +size 32958 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_down.webp new file mode 100644 index 00000000..06e38301 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:782d8bf96b2a7dc86936c1c06b1e85d0c7cc992edee50e3dbe73e1c4edc40717 +size 33234 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_mid.webp new file mode 100644 index 00000000..430ef8ba --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f173dec841068aca3cd8a7e48afe0ab406718274ac891ef4ffc736c251c366a +size 35032 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_up.webp new file mode 100644 index 00000000..52fa62a5 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_stare_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c42db9d35501bc4c860d82c31c2bf846db5a66f71570c692fd850a7986e8343a +size 32956 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_deep.webp new file mode 100644 index 00000000..5189fa54 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:281b4bac990836c6145272a9ecbf4bf96007441d896ee861c92751fa22f99524 +size 32926 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_down.webp new file mode 100644 index 00000000..1d9ab6c7 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:230817e368f4c16525367ba361c31b89e6f877cde9e49696971ba1ee952724bd +size 31358 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_mid.webp new file mode 100644 index 00000000..e2c6cf73 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0cd0b5e69ec757f01c4cb556297cc92f5adad1d95716f73b7d2cbc7646bc9e +size 34428 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_up.webp new file mode 100644 index 00000000..a87e52b6 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_eyes_up_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2be7f4fd0a1de2a99e1271f75a6d42581c1e188e64844b9e043e09dadf800533 +size 32928 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_deep.webp new file mode 100644 index 00000000..766ce0e4 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ae89acdee81fd4b729fa2eee32c5e225e653b970ada97d8b5bf8466947ce7b9 +size 217300 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_down.webp new file mode 100644 index 00000000..b203e4de --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3656a228e06492dfe282f65f9b442048f5d6c7b7b65b98c704ee515ed9a6887 +size 215984 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_mid.webp new file mode 100644 index 00000000..6a717bb7 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c0bb0b35c26d133d8327bd08c916af62ba344c8418abeb7c35869d9c621b795 +size 218704 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_up.webp new file mode 100644 index 00000000..742600d0 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_hair_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14a928487b3598102462d36075e0692271210082dfbed2c9540fdade73c1ceb9 +size 216908 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_head_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_deep.webp new file mode 100644 index 00000000..ff1ab604 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0826a8f04ba08c6d4c2add0fb63719b9b2ebb43a44b93abe49f6defd435b9f3a +size 163240 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_head_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_down.webp new file mode 100644 index 00000000..485c4523 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ccc801cb6737643e61c943f737e51aa48b926e7afae0f601a1f6c1cd4dbbb30 +size 162506 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_head_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_mid.webp new file mode 100644 index 00000000..3a528a4b --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94381510a8bbb73ddfa3afa1e5b8ed3a9c3f9b0c8949a68c3245d91d459604c1 +size 164822 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_head_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_up.webp new file mode 100644 index 00000000..e36cc4f7 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_head_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e05c4377fa950e5b8271d591fc34b24d2f110d05cef5f523198e560fe5532af8 +size 163808 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_deep.webp new file mode 100644 index 00000000..ba33d560 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24c79ba1c66eb667c4d67ecbb800be9b84cc5df7734258984bb6cfee70f4c965 +size 5484 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_down.webp new file mode 100644 index 00000000..2edc7671 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b06731f02ea98493f769e3afeab43cdec75ac373367fbac7db59a496cf3463fe +size 5492 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_mid.webp new file mode 100644 index 00000000..fafd27b7 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:223c4781c0ee0b2375c7c1a900d665309c20f8c6ca0060ab4ac3b0cdacfeea74 +size 5486 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_up.webp new file mode 100644 index 00000000..fbad9fc3 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_mouth_bubbles_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3b21ec844e1b97cdd35e9d169857edc4b73c74743d23574e6adf65a0ee53ac7 +size 5482 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_deep.webp new file mode 100644 index 00000000..28f573b9 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af64137c700a433c0b2c40246af9ac3f5929aa932bb110c66084168345b4bb1d +size 25586 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_down.webp new file mode 100644 index 00000000..c37163fa --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69b5239c58733173cf2edd4829226bb85830adff983cf5afe375d9b96f3a45f4 +size 27922 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_mid.webp new file mode 100644 index 00000000..bf6dcd67 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:991842fa2decd60ea1196ac50e927d956e173ed6dc6ea7c9df602e53dfab7df2 +size 31542 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_up.webp new file mode 100644 index 00000000..90c77625 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shadow_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2551de374e39f78a412dd4178affae02e98f69e35241fea59a0622cb9da127cd +size 28850 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_deep.webp new file mode 100644 index 00000000..6b11b060 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4218f5c391af8992ecac8faf7fe143b4342c2cce306fc4499ca742c6333aaf8 +size 58636 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_down.webp new file mode 100644 index 00000000..0876465f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edcb7d18def58081c225692fa6077073b6a1330fa2cee593ed3e251e77c506a3 +size 62452 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_mid.webp new file mode 100644 index 00000000..ed9e4df0 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f529814e2cba76c9838b39d72b267213b4f3ed22edad8e5bc7afefd045e5232f +size 62816 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_up.webp new file mode 100644 index 00000000..c4a93360 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_shirt_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b2d23800aa0b20ad3882c6ea9c2ee7b88f9a4f21dfde0ea5c35c4e08a11043c +size 62454 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_deep.webp new file mode 100644 index 00000000..e60b870b --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0ccfe28cdc0d27f2e3a91d05a353c8f6b723e8c7d02afb1ab7014a275985b9f +size 11486 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_down.webp new file mode 100644 index 00000000..7263dacb --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4bf3f5367eab8a004dc89440aefffaed678c19f93f6a797c8371cb519c0997f +size 11426 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_mid.webp new file mode 100644 index 00000000..a79b6afa --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a754bb1f96bc6312ef160707bb7f5598ae9c3846c0445712a467961cce529bd +size 11536 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_up.webp new file mode 100644 index 00000000..24c89416 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_face_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cc19695f87d0af5ff1d13ebded92de2f5f43999e0749e011796c5ad2a7b97c1 +size 11484 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_deep.webp new file mode 100644 index 00000000..4c9612b0 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10b351d38d062b58a1acbb8015c74ad97a226da4fb0f325541554326e5b510ea +size 6446 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_down.webp new file mode 100644 index 00000000..d063f0ac --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af43dcd1b66c91cc9e24d4d20e4a8231e489662a438ea9f1c62e1f0a244e378a +size 6456 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_mid.webp new file mode 100644 index 00000000..8dd82e1f --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eaa91f1ae2479cd823062763acab6510c88849e0bf6c3ff53157aed59370dd5c +size 6478 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_up.webp new file mode 100644 index 00000000..f44c8425 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_spit_mouth_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c2dd3e05a9347c31d18ecaab748e474f9d25d194cd7ca9c65d62e3308664665 +size 6448 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_deep.webp new file mode 100644 index 00000000..5e1c8721 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bf0f570125c8e931c92f8cac8f6bddddec6a1c890ac83ccdb7f5b103ca6b8e5 +size 14458 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_down.webp new file mode 100644 index 00000000..e2278967 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:288677901174337c91ac289a1c9f83943e6974475febd1f0958f1d6d6d7a0066 +size 14452 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_mid.webp new file mode 100644 index 00000000..7e975ef4 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0eeebcf1d9442b465206c0468720e21169118b9063faf13449d10520a26f1a21 +size 14454 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_up.webp new file mode 100644 index 00000000..d1817010 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_cho_tears_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:267af4f25e21b4e274aa639114b69ee1fd248b248d6e72fba14ab1aa86a0b818 +size 14460 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_effects_speedlines.webp b/game/images/CG/cho_facefuck/cho_facefuck_effects_speedlines.webp new file mode 100644 index 00000000..7305eca4 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_effects_speedlines.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:377142a89dc18359942eb1f33c181998ee22fdc061fa59a9ce36e0ad71b5c6d1 +size 39612 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_body_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_deep.webp new file mode 100644 index 00000000..5d91974d --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:662c312b6999f656c064b763183dd78693f50dca8ebb2f8869331c0393f29d22 +size 142032 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_body_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_down.webp new file mode 100644 index 00000000..d62e7759 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7491dff3b08c1da0c58100c51afbf4b877e07bf571b788023c739727b098e499 +size 135276 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_body_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_mid.webp new file mode 100644 index 00000000..d3e1bb18 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f8f3509761d6a531766aa0b2e17c615525af7236c6997015ed8147fb6ca74e0 +size 135648 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_body_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_up.webp new file mode 100644 index 00000000..0665993c --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_body_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36482f1e234b47da0ae96fb8fbb02041ea3b6296bc6444e931fa3fe09229df23 +size 135366 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot2_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot2_deep.webp new file mode 100644 index 00000000..42db7030 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot2_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d071854c2ea5885f1d8769b2fb76836ccd09ac936a37578b78d3da032219bb62 +size 55946 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot_deep.webp new file mode 100644 index 00000000..eb1e1a92 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_cumshot_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da03c62551d91a065c58aea428b4b4ea1b810cd1be81e79d25ce1d041fc148fc +size 41912 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_deep.webp new file mode 100644 index 00000000..63938bb4 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68ecd02f0021aece133f6e11f0220e268bb35ead911054b8cc9be5e17eb7b82d +size 54138 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_down.webp new file mode 100644 index 00000000..086e59ca --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ef3888ef108bae1bee623d52d29f9cb4d85ebcf6cb06611005ff7e9b287769c +size 55448 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_mid.webp new file mode 100644 index 00000000..0e146728 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64ad19151cd5c5cd728b0ee11a5447a298a2c0f7869885ceca053b69cc74a5ab +size 62194 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_up.webp new file mode 100644 index 00000000..dd3feadb --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_cum_throatpie_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc02103ca2acfd589aa977ed947177507f55745fa49e5d456d5dc6554cda8685 +size 64098 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_deep.webp new file mode 100644 index 00000000..63aec259 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14c5a05124b7ef5ff66af5132a6e89e617efd4b1e938bd2f3bd4ed0d58d4c213 +size 92922 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_down.webp new file mode 100644 index 00000000..8595e48c --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f0d3e8de1965f3a9318314354fc7f4cd2cbdb13cf2895dacaf5c49d937359e1 +size 91222 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_mid.webp new file mode 100644 index 00000000..b2da3a87 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:220e4bb300fcce4d6fa0d795fb931a455de90da49f3d1bf1b62a908982e12302 +size 91202 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_up.webp new file mode 100644 index 00000000..aa93c6c9 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_hands_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f2d48b3e4b0d13cc429d0e143a93721faead36deee6e77d700bbbec9bb43c6c +size 90680 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_deep.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_deep.webp new file mode 100644 index 00000000..1af39623 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_deep.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a15f6896549891c75417fdd76e93e7bbeda5fdfd401a21309a93dc8002cc228 +size 79956 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_down.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_down.webp new file mode 100644 index 00000000..4ef31d97 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5610df84644715b5cad82470a2005bfa56a19344f368fead42e21c7f652abb17 +size 93888 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_mid.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_mid.webp new file mode 100644 index 00000000..16347993 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b8c4068beb8c3790a00aa425b31635fb8a9f82d895f9453d0c5e42ac00748c0 +size 94510 diff --git a/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_up.webp b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_up.webp new file mode 100644 index 00000000..be84c7f4 --- /dev/null +++ b/game/images/CG/cho_facefuck/cho_facefuck_genie_penis_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf6f49acb2299ea73b0c45e36a4702a7d1aaf483d0cc0eeedf375d455b75437a +size 105228 diff --git a/game/images/CG/cho_handjob/cho_handjob_background.webp b/game/images/CG/cho_handjob/cho_handjob_background.webp new file mode 100644 index 00000000..740647c6 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_background.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10dc9ef3f6bd2b4ff7baea325419f95e38c17c2ba70ca3c2c44802533e6191f8 +size 334612 diff --git a/game/images/CG/cho_handjob/cho_handjob_bubble.webp b/game/images/CG/cho_handjob/cho_handjob_bubble.webp new file mode 100644 index 00000000..788139c5 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_bubble.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2a1c86ebebfd8ed46c9b54f09ab13db5cd524a16f35e7e53721cb373eb0ae2b +size 75226 diff --git a/game/images/CG/cho_handjob/cho_handjob_bubble_mask.webp b/game/images/CG/cho_handjob/cho_handjob_bubble_mask.webp new file mode 100644 index 00000000..72df56a7 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_bubble_mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:061379521614c1ddff9871eecc5d11ff4e163cd1ed9b27d1bcbc25c3c8e6c8d0 +size 97956 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_bending_shirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_bending_shirt.webp new file mode 100644 index 00000000..73f63d02 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_bending_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af327c9debe32d49727e843994babb8f02713cec5d76f117b41b516768e2b8d4 +size 188384 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_bending_shirt_open.webp b/game/images/CG/cho_handjob/cho_handjob_cho_bending_shirt_open.webp new file mode 100644 index 00000000..b68eafd0 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_bending_shirt_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c87100f5f0d86bb40bd55706fce3d1f118a24a341b15ae43efb51802a42877e +size 165256 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_bending_skirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_bending_skirt.webp new file mode 100644 index 00000000..5095cce1 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_bending_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad7cb8e2af271a6098716fc5a3d925968fcd1921640bdfe12efbb1fb63248fa6 +size 88274 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_body_bending.webp b/game/images/CG/cho_handjob/cho_handjob_cho_body_bending.webp new file mode 100644 index 00000000..d90551d8 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_body_bending.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2375d45ba0a742c72d53762099f84278dfc30bddc3482a330138ee811746357e +size 377598 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_body_idle.webp b/game/images/CG/cho_handjob/cho_handjob_cho_body_idle.webp new file mode 100644 index 00000000..c90095ba --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_body_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:288ede881175b00c7db4295c69b43963e8bd8088107cb39e8d6527a7533b92c5 +size 306372 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_body_idle2.webp b/game/images/CG/cho_handjob/cho_handjob_cho_body_idle2.webp new file mode 100644 index 00000000..0beef738 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_body_idle2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:299cf311091b91a2c538c749ace262733b6b78745fc41e2215b2428d2ece1458 +size 314680 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_down.webp b/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_down.webp new file mode 100644 index 00000000..5882e991 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6db80f641978838c59c15d56c86c077649f9de60f0151d9a8e8c3001dfc44f0e +size 305554 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_idle.webp b/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_idle.webp new file mode 100644 index 00000000..4c057c7b --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f4a8825b7d21ccccb3213f7f26950b103618543624c3d61bd8a3fc4b417d6c7 +size 309376 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_up.webp b/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_up.webp new file mode 100644 index 00000000..f0af326a --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_body_stroke_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61be5f7ec1e76a943780625531e3eb06292b5113fa91529bec354b456abb2e2d +size 309746 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_hair_fringe.webp b/game/images/CG/cho_handjob/cho_handjob_cho_hair_fringe.webp new file mode 100644 index 00000000..f960f718 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_hair_fringe.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06691edd09f91d66e0044a081e6a4652f48464fa7db9c160f52400dc785a5af4 +size 81856 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_hand_wet_stroke_down.webp b/game/images/CG/cho_handjob/cho_handjob_cho_hand_wet_stroke_down.webp new file mode 100644 index 00000000..0a10aef0 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_hand_wet_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f594aa77a9296062864845d24288f12f6c89fdd26d22e880940f163a1c5c9a48 +size 6220 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_idle2_shirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_idle2_shirt.webp new file mode 100644 index 00000000..99f1c323 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_idle2_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1043bf11eb8d981b485ffd43b7d897724ea730dc5e9cdcd1fcdfa9e91fa2a663 +size 176578 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_idle2_shirt_open.webp b/game/images/CG/cho_handjob/cho_handjob_cho_idle2_shirt_open.webp new file mode 100644 index 00000000..09d54e23 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_idle2_shirt_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40ab1331de1148a73d047a6019dbadfd57bce990c24515819752aceaa1fe6eb9 +size 204964 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_idle2_skirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_idle2_skirt.webp new file mode 100644 index 00000000..f2a46043 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_idle2_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3831997deec5de3dc6da162694e440893e8556b238433d7e2dbf86613ca4ff88 +size 73576 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_idle_shirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_idle_shirt.webp new file mode 100644 index 00000000..54753297 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_idle_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f24850b47f633d5a6bc70bc5eda854d4c2aecb0e6b408e21e66e10061134bcbd +size 177648 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_idle_shirt_open.webp b/game/images/CG/cho_handjob/cho_handjob_cho_idle_shirt_open.webp new file mode 100644 index 00000000..f5dfdb3f --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_idle_shirt_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42ad9bd2844a31df308fb555fe8efbe10f34aa9aff7f82c70a562bea2a4a7e7b +size 206462 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_idle_skirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_idle_skirt.webp new file mode 100644 index 00000000..2dc6af20 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_idle_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30278dcfe5d221464112b7e987a89d2b6d5356f1a94abb0aca9deb0ae412142f +size 59534 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_skirt_fix.webp b/game/images/CG/cho_handjob/cho_handjob_cho_skirt_fix.webp new file mode 100644 index 00000000..1bc8d6fb --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_skirt_fix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46fa12d051f535316ef63483ea54502d2644fef570c4c769e6050f0b229b05ef +size 6180 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_spit.webp b/game/images/CG/cho_handjob/cho_handjob_cho_spit.webp new file mode 100644 index 00000000..a20fddfc --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_spit.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e21e3908e01f01a295953261e6c465c219627163305cf974c65e009ece51939d +size 10482 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt.webp new file mode 100644 index 00000000..0ecc7c64 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8d8c40c24b5473ef99631eee0bc8f84a99260b0b25bfc874e84dff60d0fac98 +size 179570 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt_open.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt_open.webp new file mode 100644 index 00000000..8d1479ad --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_shirt_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1c99688cb6cfdfa479a7a8b0b5b4908fabdec205ce055887342fd934fa89ed2 +size 206408 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_skirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_skirt.webp new file mode 100644 index 00000000..860c919f --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_down_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecac3b96d4233d24a2e281a7a3e0c5f6b78c5b4c0262d99a759652ab6bb24617 +size 60688 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt.webp new file mode 100644 index 00000000..d7745442 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb765a2e8ac500dac9a00bab1aedade9ba392619daaf497f4466a17a870145d1 +size 178812 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt_open.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt_open.webp new file mode 100644 index 00000000..43203914 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_shirt_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02d2c8f469870f5f450e4eb9645c0534cd669448b0b327b3b8cf829b7be8ae1e +size 205404 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_skirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_skirt.webp new file mode 100644 index 00000000..d00b2e31 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_idle_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2b81b7574f0cfc9f0aa4a68160be8e26810108df69fef2ba0dd34b014e35948 +size 69734 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt.webp new file mode 100644 index 00000000..5f1aea81 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34504c3f07bde398b1a5d841c0a34d2d71b49412ec8b2d43a1603dc9af9a68bf +size 178432 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt_open.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt_open.webp new file mode 100644 index 00000000..4e5c227e --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_shirt_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8781baf2666ec19798125441f38093b10d409b61fd644af8c6592194c570db01 +size 206148 diff --git a/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_skirt.webp b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_skirt.webp new file mode 100644 index 00000000..f34105d9 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cho_stroke_up_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7c525537659e485e10a7aac4f7565cb182dd5a8d081d182c53721bf3510897 +size 68040 diff --git a/game/images/CG/cho_handjob/cho_handjob_cum_after.webp b/game/images/CG/cho_handjob/cho_handjob_cum_after.webp new file mode 100644 index 00000000..e059306a --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cum_after.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a0ad7edbcd0b6fba54b8ca0285a4ec29ea7fd8ab0a9b9eaddddd402006c18ac +size 50990 diff --git a/game/images/CG/cho_handjob/cho_handjob_cum_cumshot.webp b/game/images/CG/cho_handjob/cho_handjob_cum_cumshot.webp new file mode 100644 index 00000000..55e4bd9a --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cum_cumshot.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:234ef5f76b0aa7e1031e601fc0947387ace7025454bbde18895cf32d8db2c622 +size 63296 diff --git a/game/images/CG/cho_handjob/cho_handjob_cum_precum.webp b/game/images/CG/cho_handjob/cho_handjob_cum_precum.webp new file mode 100644 index 00000000..61069e63 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_cum_precum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5923abc8eacc8dfdc6a066b0d78646ddc6f2ee1c3d875708cc10cba4123b8dc +size 5014 diff --git a/game/images/CG/cho_handjob/cho_handjob_effects_spitting.webp b/game/images/CG/cho_handjob/cho_handjob_effects_spitting.webp new file mode 100644 index 00000000..a20fddfc --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_effects_spitting.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e21e3908e01f01a295953261e6c465c219627163305cf974c65e009ece51939d +size 10482 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyebrows_angry.webp b/game/images/CG/cho_handjob/cho_handjob_eyebrows_angry.webp new file mode 100644 index 00000000..1daff596 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyebrows_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04e19d1188bb3b289b13a2c2ad00d0f663d9c2ab96e1c78422d098ba9c084589 +size 8906 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyebrows_base.webp b/game/images/CG/cho_handjob/cho_handjob_eyebrows_base.webp new file mode 100644 index 00000000..6b619a6c --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyebrows_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd2bf41c2c0c365f34fd26d63363df5cda26da92de30bb89af9a8ac1323a4891 +size 8844 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyebrows_raised.webp b/game/images/CG/cho_handjob/cho_handjob_eyebrows_raised.webp new file mode 100644 index 00000000..63f916bc --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyebrows_raised.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38dd467f47a8ad95516c3993eb67774135f7c80b5aa828b1637a227b23bb29bc +size 9694 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyebrows_sad.webp b/game/images/CG/cho_handjob/cho_handjob_eyebrows_sad.webp new file mode 100644 index 00000000..16c34e87 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyebrows_sad.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a99f9d4bbd7955bf127699a2292002ead136639aca4a1ce32bccfe7849a5bc1 +size 8340 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyebrows_worried.webp b/game/images/CG/cho_handjob/cho_handjob_eyebrows_worried.webp new file mode 100644 index 00000000..4aedfba6 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyebrows_worried.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c363c90fbaccd36327d7d2d7a003ec5d5191fe3b7a993e4e879764f97eb41f73 +size 8908 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_closed.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_closed.webp new file mode 100644 index 00000000..cb556f1f --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfd9d75d1289739cdaf697f37ac19f2e3344c4b8188773787856e15f84dd4128 +size 5658 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_down.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_down.webp new file mode 100644 index 00000000..8eb2f17b --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d91656b1601626953b45c6c6cb2c20a463b3f63ff7dffb12c5cc746f31b5836a +size 16456 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_forward.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_forward.webp new file mode 100644 index 00000000..df10600c --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_forward.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c27c6bd77b71750ec60d961e2465b7c2749ea23b2101459041bc8b94af9351ae +size 16858 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_left.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_left.webp new file mode 100644 index 00000000..668dd3e3 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3daed1eca55fa850ce78ff5f189db556d646f0a91b6f71aacd3f5fdba4975310 +size 15856 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_down.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_down.webp new file mode 100644 index 00000000..9dc012d0 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:504a59bf6b452a5b15c3fd372498dad9790cefcd17aba401011688bf98080a59 +size 14326 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_forward.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_forward.webp new file mode 100644 index 00000000..e040a278 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_forward.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20ffcf13850f57bfa4af2425ad6a4d0f50a1b63ba52ad4de414ae995cc20fb48 +size 15230 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_left.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_left.webp new file mode 100644 index 00000000..7706eb8d --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:588f4723904d98d909d74f8a8def26d50a6de4602c39adecd8d0988338a4123a +size 14352 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_right.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_right.webp new file mode 100644 index 00000000..ea3d2dae --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_narrow_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eacceb630eb3e08c6c77a3d00d5a559626c444819d1be98c5a55ce3008461cf +size 13784 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_right.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_right.webp new file mode 100644 index 00000000..b7b331df --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc13ed25d6949db969addbb2f2383cbc43055c9118891ef79282755883e41f6c +size 14902 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_down.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_down.webp new file mode 100644 index 00000000..b9545786 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e7592cdb46d8a2442bafa17c86e7217694f7e498a1768827bdb8fab9c3df1bc +size 19238 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_forward.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_forward.webp new file mode 100644 index 00000000..340aa798 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_forward.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d37cb4a05d9dfe3320c5f4131c9359ed305514ccac20191761dc4981152f4cb +size 18824 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_left.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_left.webp new file mode 100644 index 00000000..cbc2844d --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30a6f74bd9823a9a120cc566a52d886eab1cb668af6ba098062285e3bdb4ec5e +size 17930 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_right.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_right.webp new file mode 100644 index 00000000..158cb01b --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_open_wide_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6026003858ba422d31218aa4a8cf9a274171190b6fd9f154f7c3058b80a12c1f +size 17408 diff --git a/game/images/CG/cho_handjob/cho_handjob_eyes_shut.webp b/game/images/CG/cho_handjob/cho_handjob_eyes_shut.webp new file mode 100644 index 00000000..ba4dfd43 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_eyes_shut.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf1925f8eae23a447ffe454e030a620f1c7489bcf296c116658e5ca0986155c0 +size 6070 diff --git a/game/images/CG/cho_handjob/cho_handjob_genie_robed.webp b/game/images/CG/cho_handjob/cho_handjob_genie_robed.webp new file mode 100644 index 00000000..82039c31 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_genie_robed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00d3ecdc7e6b0863214933fb95d59dd02685be4537f9ea9b899eb180d22455d3 +size 179368 diff --git a/game/images/CG/cho_handjob/cho_handjob_genie_unrobed.webp b/game/images/CG/cho_handjob/cho_handjob_genie_unrobed.webp new file mode 100644 index 00000000..ba37a53b --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_genie_unrobed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ab7ae518f462276040f0fa127a0782c36dba332973af62c27776f308d0b9889 +size 205710 diff --git a/game/images/CG/cho_handjob/cho_handjob_hand_stroke_down.webp b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_down.webp new file mode 100644 index 00000000..37561808 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffb32ac6f95d8f21d5e1a31040f77094671b946c9c42a10635bd12287abc5809 +size 31734 diff --git a/game/images/CG/cho_handjob/cho_handjob_hand_stroke_down_wet.webp b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_down_wet.webp new file mode 100644 index 00000000..0a10aef0 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_down_wet.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f594aa77a9296062864845d24288f12f6c89fdd26d22e880940f163a1c5c9a48 +size 6220 diff --git a/game/images/CG/cho_handjob/cho_handjob_hand_stroke_idle.webp b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_idle.webp new file mode 100644 index 00000000..9d52460c --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:758ef022b4c90916c47ae2f29efd7676b8460c70786e5ebfe4b0378bc74d238a +size 29652 diff --git a/game/images/CG/cho_handjob/cho_handjob_hand_stroke_idle_wet.webp b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_idle_wet.webp new file mode 100644 index 00000000..ca54239f --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_idle_wet.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e78304ebde7d90fc685f85492ecdb31d15e839588d64f29e66ebc16072e8a2c +size 6646 diff --git a/game/images/CG/cho_handjob/cho_handjob_hand_stroke_up.webp b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_up.webp new file mode 100644 index 00000000..b5ef82c7 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fe29024aa01abe548c775ae3e17c55f65d88fb4e3457863de788fa5c0c0e68c +size 29826 diff --git a/game/images/CG/cho_handjob/cho_handjob_hand_stroke_up_wet.webp b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_up_wet.webp new file mode 100644 index 00000000..11ec853b --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_hand_stroke_up_wet.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23c2c37a382ad0e452803f061ce1d89aa9004c19cb64ccb16cab3f474af0e47d +size 5854 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_angry.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_angry.webp new file mode 100644 index 00000000..8f7066a3 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5158447590fcc6e7426cc8c599a202695e091480f567933d079dd41de60f2311 +size 14080 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_annoyed.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_annoyed.webp new file mode 100644 index 00000000..e60bf90b --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_annoyed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f335c4b25824270a54deb1285a78aaff5786c8340211b15f7f9831e8e02a8865 +size 9026 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_base.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_base.webp new file mode 100644 index 00000000..220e765e --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8599f7b2a9fb799e108da32796474e7d3000e6aa888ecae7c6c26aba8984c87b +size 9602 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_lipbite.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_lipbite.webp new file mode 100644 index 00000000..58d9e65d --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_lipbite.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d0a20e4d06fd7662000315771ab4d223744bd43082085756e19753fa3014fef +size 11352 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_neutral.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_neutral.webp new file mode 100644 index 00000000..53164d8a --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_neutral.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ba91ca106b883e8fd09e7a1840ba2eba945621d01343bfa18ad8da14c34c44a +size 8638 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_open.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_open.webp new file mode 100644 index 00000000..5cc42256 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff8106875aa0aa2e374af1ccf2a32d9a271a1316b6e480729eeccc00f2030f21 +size 13382 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_smile.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_smile.webp new file mode 100644 index 00000000..fa2a5005 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c99e7e57cf7c11fc9af906652d848ba58d25da63cfe5c4bc1e1b46e4b12f13e3 +size 13630 diff --git a/game/images/CG/cho_handjob/cho_handjob_mouth_upset.webp b/game/images/CG/cho_handjob/cho_handjob_mouth_upset.webp new file mode 100644 index 00000000..b83b2ae3 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_mouth_upset.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c94ef443f0c6b2262be0281da5cd4543108fa51a4f4cdc014cd3630c5cfc4f0 +size 9564 diff --git a/game/images/CG/cho_handjob/cho_handjob_penis_hard.webp b/game/images/CG/cho_handjob/cho_handjob_penis_hard.webp new file mode 100644 index 00000000..848b2cdd --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_penis_hard.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b0d23b8f77dcb42f592f29ddefea1d30a7b28c78e54db38bd0d15d99903018b +size 48424 diff --git a/game/images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_shaft.webp b/game/images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_shaft.webp new file mode 100644 index 00000000..d52b312b --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_shaft.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bb44fae015b99698f2046780fd5569177057b5452a4d8776536e54a43a5055c +size 69872 diff --git a/game/images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_tip.webp b/game/images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_tip.webp new file mode 100644 index 00000000..b27ff513 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_penis_hard_spit_on_tip.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8858fda0ec0dd52aa08afd66e58246cf8cf187b51147426aabc7cc36e1d70f1 +size 54278 diff --git a/game/images/CG/cho_handjob/cho_handjob_penis_soft.webp b/game/images/CG/cho_handjob/cho_handjob_penis_soft.webp new file mode 100644 index 00000000..69b64088 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_penis_soft.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12bb4352a42f3c6bd93f5516a162795fde4e980331ded24abfbd74e34e6db383 +size 20326 diff --git a/game/images/CG/cho_handjob/cho_handjob_speedlines_1.webp b/game/images/CG/cho_handjob/cho_handjob_speedlines_1.webp new file mode 100644 index 00000000..8b2870f3 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_speedlines_1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f75c8bd4b5e00d72ee8ec1e774ac2e993642bfb9399bd1cba5098aee9dd9f8ae +size 10020 diff --git a/game/images/CG/cho_handjob/cho_handjob_speedlines_2.webp b/game/images/CG/cho_handjob/cho_handjob_speedlines_2.webp new file mode 100644 index 00000000..42c044b2 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_speedlines_2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee7ccf71861cd8a3104caee73635653f7e68904e114c5500144fc7b4410da0f1 +size 12090 diff --git a/game/images/CG/cho_handjob/cho_handjob_speedlines_3.webp b/game/images/CG/cho_handjob/cho_handjob_speedlines_3.webp new file mode 100644 index 00000000..b08347b2 --- /dev/null +++ b/game/images/CG/cho_handjob/cho_handjob_speedlines_3.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65a71bd526c65d29da879a44cb0c805f206a9fc5cead2aa22c82684942996e85 +size 22974 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_background.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_background.webp new file mode 100644 index 00000000..bb91d971 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_background.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83eea54d75021302b15a947fa3fdf8603f4d4c3e60682c303c847ff24f13156e +size 519812 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_blush_heavy.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_blush_heavy.webp new file mode 100644 index 00000000..69851310 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_blush_heavy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2de4248666989d9d6631949a3e3fbf3e7e5852cb5c13a5ec8c4708aa61487719 +size 37472 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_down.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_down.webp new file mode 100644 index 00000000..57220d5f --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74df995e2cfc42b225b78fd510beba1b8973a1b014e19d32a2aeda8acd74816 +size 349800 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_up.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_up.webp new file mode 100644 index 00000000..9f2f63ee --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_fingering_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4143c482c8989951bbfec98f29327d24841e083bdb370d245f3e765300fc4e0b +size 348746 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_idle.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_idle.webp new file mode 100644 index 00000000..7eba8925 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5f6936b6db4ea825981a37d8c96132de53f31912ce1d70341813adc2bb76e0a +size 314078 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_sucking.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_sucking.webp new file mode 100644 index 00000000..012a45b0 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cho_body_sucking.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60292c33b6f0ba8655c7319b75bc83a49d1636b2432e9b93b4a1589f30fe2390 +size 350528 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_cumshot.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_cumshot.webp new file mode 100644 index 00000000..ae1dc17a --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_cumshot.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b11b8a5ae32e645e7fa38d6f5aa6a240bf29503530047c3714541bb0b10e63f +size 70960 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_head.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_head.webp new file mode 100644 index 00000000..7725ed13 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_head.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f367110b31c741526d67cdb102d56dcf88fe494cd80ebccc4046b7692cb8dc04 +size 125588 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_ahegao.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_ahegao.webp new file mode 100644 index 00000000..72832c3e --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71a58e5d0cf6015555c336865fa8c51983b6e051913eb828b5a8316ee1ff69d0 +size 12892 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_base.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_base.webp new file mode 100644 index 00000000..4b34ab09 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0008183c98b5e5ee1646c8e646ec13f9cff839319f419714904c088213f0c4df +size 5250 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_stomach.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_stomach.webp new file mode 100644 index 00000000..fd42d1a1 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_stomach.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f4515e2743ee495e48e9f7834b510190220ee43b5937b8dff41aa21647b02ef +size 59058 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_torso.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_torso.webp new file mode 100644 index 00000000..033bbe20 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_cum_torso.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49c77526dae83a4da0837b561d2893847580828d58480f7289802395b26cb3d3 +size 92100 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_hand_move.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_hand_move.webp new file mode 100644 index 00000000..2039def9 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_hand_move.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27e4bfccf4547c919a49268b85b43cbb27bddb279cc709802416ea73a22ef090 +size 9378 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_shaking.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_shaking.webp new file mode 100644 index 00000000..f05a9f2c --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_shaking.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99718fada05fbc9cebc116f01fc1a26d4ea0fc7f7efa8e3d3ebed05df9e79a33 +size 27068 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_very_wet.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_very_wet.webp new file mode 100644 index 00000000..4d637a7b --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_very_wet.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6239beb2e22f2f7a9f1909fad24a0a78dd5e8e324f3c68b8011311c1bc70e34 +size 5178 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_wet.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_wet.webp new file mode 100644 index 00000000..274f67d5 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_effects_wet.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bbb737f8be4770965cdf29200fc18dceaaaf02374088858473cf313103e48a7 +size 4082 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_base.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_base.webp new file mode 100644 index 00000000..5eae940a --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e748591d4f4549a45e58a9211620d9ff568b282c55ed22d92576c86b68cbfca +size 7612 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_mad.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_mad.webp new file mode 100644 index 00000000..3ab461b1 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_mad.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87293be15b86bfd4b8c98354023fd27f504e9bd5e8232137a93c1b09142bf22c +size 7988 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_raised.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_raised.webp new file mode 100644 index 00000000..f61b57a5 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_raised.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:937cd999f54d5f7e0e09783fb25a1c23f41d9c4589a8ff06a392fe6397d2729e +size 7946 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_sad.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_sad.webp new file mode 100644 index 00000000..cdd5b355 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_sad.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a123a1ff3ea307004a052bb7abadae31281aafd78c2ca2d23a3cfbc795d8936 +size 7400 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_worried.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_worried.webp new file mode 100644 index 00000000..8525ad63 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyebrows_worried.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15bd0a4ba97c2b0ab067feac484173de8358f713fc0a2c0410b1e230716c0829 +size 7762 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_down.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_down.webp new file mode 100644 index 00000000..a46eac08 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:707aa04aa1752383e6bc06732988d8c94859f5038294937b589c05a9a6103473 +size 14400 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_forward.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_forward.webp new file mode 100644 index 00000000..30936a05 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_forward.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4f57fa77ab20b0c15671ea6996ead783d56f82e34ca033881fde08c9dd6a8d8 +size 14640 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_left.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_left.webp new file mode 100644 index 00000000..2b478d19 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a37c91a14f73e171fdd42e298bf0f9884b300b6a90dafc316263aed53fcad223 +size 13638 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_looking_at_viewer.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_looking_at_viewer.webp new file mode 100644 index 00000000..49a578e4 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_looking_at_viewer.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41cd8e53df3916ab7e07df004d04a111a5ce52118d71862deeaa500cea5ae97c +size 14590 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_ahegao.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_ahegao.webp new file mode 100644 index 00000000..b1ef43ee --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ebd9851e166d752f0932085718da6551343e564cff80678805049189760b3ff +size 11742 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_down.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_down.webp new file mode 100644 index 00000000..246bdac0 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff9ead5982b8bcc7998cf196e56b36459c3074335add1c33f5502e7923a4ad46 +size 12558 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_forward.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_forward.webp new file mode 100644 index 00000000..a4ad5d7d --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_forward.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b549f7fb3d2711422a1945362f708a32ebd5add06564e04a73459e964578d2e7 +size 12756 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_left.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_left.webp new file mode 100644 index 00000000..9a335173 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3706124440a9aa9a013da894797492dbdca539846dad90cd58b64c93cfaa1bac +size 11936 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_looking_at_viewer.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_looking_at_viewer.webp new file mode 100644 index 00000000..3d6e10c6 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_looking_at_viewer.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccf0b979c83cc02d748620dedcb1bdb60e3c4ac1c49e88a5a0f44b6c84990128 +size 12594 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_right.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_right.webp new file mode 100644 index 00000000..457dcbb2 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_narrow_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd3b5101abf65068f9a822aa2e32390448690975e09e0196f9c08cade58c7f7e +size 11430 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_right.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_right.webp new file mode 100644 index 00000000..648c3430 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_eyes_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8272ce79df6359ee7d5a93af46373df29606968da933320fadeab41325a2acd1 +size 13128 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_hair.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_hair.webp new file mode 100644 index 00000000..a90ae347 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_hair.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84742890a3d48e1423e16d8604993a23ddeb4ed06d7d8e93eb2d6edc6a59ffa4 +size 92410 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_ahegao.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_ahegao.webp new file mode 100644 index 00000000..eabea318 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7da2a5fdffb3ab2efb57b6bb602f5061042c38a2db7ad645fd3e00b228599d24 +size 12242 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_angry.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_angry.webp new file mode 100644 index 00000000..d88892d3 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d463f9ac7852c01279366ea816139a67113d2b7abac3c89788a827e33270b05f +size 11676 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_annoyed.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_annoyed.webp new file mode 100644 index 00000000..76c0ca7d --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_annoyed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b820f76208cf88db7dc96732a2699182753c8ce922044dd56088df517f519920 +size 8036 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_base.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_base.webp new file mode 100644 index 00000000..7249adf2 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53a25835d7e337e345e4605a2aa52e9769104a5d1946b1fcd6180dbee2e7e430 +size 8506 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_lipbite.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_lipbite.webp new file mode 100644 index 00000000..143afd49 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_lipbite.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10db9657ed34e969a93512f51df9a8c0a49b143f1bd6d4c8cd1e15925678b576 +size 9824 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_neutral.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_neutral.webp new file mode 100644 index 00000000..d72c1f91 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_neutral.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a20c2bcd09b5138e38575628a9656097d9cd5fa805fd5516599e0a39057ec87 +size 8080 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_open.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_open.webp new file mode 100644 index 00000000..9427beac --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03b4f262e417e6125725b70a7caff90886ed127b607988b0bd8f75c4bbb57cd8 +size 11086 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_smile.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_smile.webp new file mode 100644 index 00000000..38a99e45 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6af1dfb2cab09b9e7e26c7a7aebe2f802b5b7480d404f99200238efa8da4e71 +size 11364 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_sucking.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_sucking.webp new file mode 100644 index 00000000..c0a81e83 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_sucking.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c31a71c186551453b291c7d6bd7551e7be45fbaf1f10124583ddade92794814 +size 7174 diff --git a/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_upset.webp b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_upset.webp new file mode 100644 index 00000000..1fbc3ed9 --- /dev/null +++ b/game/images/CG/cho_masturbate/cho_masturbate_lockers_mouth_upset.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb621617da52b504432930670da77a212fb45822b30c7d207e64788046182ce9 +size 8624 diff --git a/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_background.webp b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_background.webp new file mode 100644 index 00000000..996a4b6f --- /dev/null +++ b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_background.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f8a085d646aedfb0038c26b51bef7cefc27415aa9179b6826f027138c16312d +size 1049190 diff --git a/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_potion.webp b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_potion.webp new file mode 100644 index 00000000..abfb4d9f --- /dev/null +++ b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_bedroom_potion.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d865166000105608e7c7f99a0971a62467518e5796c3cc4ca9df3eee64d0f445 +size 101676 diff --git a/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_background.webp b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_background.webp new file mode 100644 index 00000000..8594e51a --- /dev/null +++ b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_background.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:282b85a7bd7bac80176363fb6f110e4014c08721ff8f004a2b60b180913654d7 +size 967766 diff --git a/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_overlay.webp b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_overlay.webp new file mode 100644 index 00000000..554e85c3 --- /dev/null +++ b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_overlay.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4379076f20381390197c50de38fc3c00c59a5723b03ece8c284476fc4b4d3ccb +size 958500 diff --git a/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_angry.webp b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_angry.webp new file mode 100644 index 00000000..d753f7bd --- /dev/null +++ b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84b95aeca9e1196d6c48695abb5be62d58bd7b179f1b34d19c3155b94036d858 +size 34274 diff --git a/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_smile.webp b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_smile.webp new file mode 100644 index 00000000..824f09bf --- /dev/null +++ b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:593b4dfb0cf2f96c048f05e4bf4bf5753c8a323686d5a3ad237146c022825423 +size 33608 diff --git a/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_talk.webp b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_talk.webp new file mode 100644 index 00000000..04ea3f99 --- /dev/null +++ b/game/images/CG/cho_quidditch_outro/cho_quidditch_outro_pitch_snape_talk.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a372f08bf243c65cf83bab5b0ce3fb8de1a162f68a5935369526a31d7cdcbff +size 36876 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_blush_heavy.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_blush_heavy.webp new file mode 100644 index 00000000..425b7dd8 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_blush_heavy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:117ef8eb1a11fdd1d4314aedcf815e76ad9a4bbb85087838a2c76852abdc5562 +size 28852 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_body_idle.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_body_idle.webp new file mode 100644 index 00000000..fcbcb223 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_body_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24d4d87af17b1f7e9fc5435bf5f025750b6af085292790a81be7e56cffb9eaec +size 192186 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_down.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_down.webp new file mode 100644 index 00000000..74b51855 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:146743529a3700aea69610d4b8f339af8592988cf72f01b1bb1c3f225e186ea4 +size 9228 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_look_at_tits.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_look_at_tits.webp new file mode 100644 index 00000000..9642aed2 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_eyes_wide_look_at_tits.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b2a9bad2dacc9e196b896c8624cba4a2730eb4c8464196e49d89cd00b91ba4a +size 8884 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_lip_bite.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_lip_bite.webp new file mode 100644 index 00000000..0f4e15ea --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_lip_bite.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24aad131b2b77553c78a12cbb3f86a802f0b95b2f914a892216215ad2f1767ef +size 6178 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_open.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_open.webp new file mode 100644 index 00000000..9db5a28d --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_cho_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db42b99d120874b35fd5d359225d582786d60e0c2b9206cb6ffbf64885b7e023 +size 7786 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_hands.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_hands.webp new file mode 100644 index 00000000..82cb1843 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_hands.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b1275f7a1c5e7adeeabc68b39450c5c1a5c2e88c045b4c841a8a5cdb4848b48 +size 89384 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_blush_heavy.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_blush_heavy.webp new file mode 100644 index 00000000..3f372fe5 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_blush_heavy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb64e454fe5d44655cbd8eb6ab41f6b92aa1829b5fee8ddc8aa962a64964adce +size 85940 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_body.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_body.webp new file mode 100644 index 00000000..bc88a1e6 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_body.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bc0c2cdef25d74ed3c5f25cc05efed0421da2c857f1d2b6b70af852dea40a66 +size 387746 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_eyes_open_mid.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_eyes_open_mid.webp new file mode 100644 index 00000000..6648dd8b --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_eyes_open_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:138f83e40f7665f877c293d2a0b952f38b1fb0717a65f3a1aa063741fa6eed5c +size 13948 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_mouth_smile.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_mouth_smile.webp new file mode 100644 index 00000000..325b929f --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_staring/cho_strip_personal_t3_e3_cho_staring_tonks_mouth_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa5f65a9604ccae242d82c47e228e5e16cdfbb2018cbedd894464d99cfd19524 +size 17954 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_background.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_background.webp new file mode 100644 index 00000000..c94e08bf --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_background.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af472b3db87f1b248641cffda4e5b9e1a10c9723eb73e9db269a72410a6f3cd6 +size 374004 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_post.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_post.webp new file mode 100644 index 00000000..53cfc19d --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_post.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:371a4d2580315166527791781a4bf502e4710515a77d51a15dc3d5e4bc569a90 +size 28030 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_spurt.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_spurt.webp new file mode 100644 index 00000000..098f667d --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_desk_cum_spurt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba578d24c10727379b065dd52fd81eeb310beda01b19b2fba825500742b9e72d +size 54568 diff --git a/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_foreground.webp b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_foreground.webp new file mode 100644 index 00000000..3d66664f --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/cho_strip_personal_t3_e3_foreground.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12edc9a81289f51fa19b553db93703221c0109bbf2a144a3dd1328f03d27a71f +size 3678 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_body.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_body.webp new file mode 100644 index 00000000..4be95c4a --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_body.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:970b8f3ad320b17f7bef4562e7e9dda2415e158f04f092873c9f5c842248a232 +size 311834 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed.webp new file mode 100644 index 00000000..4ab36624 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b2836c160a52fdc41ad18dd4d305b334289dfda3bc32f699dbf95a91f84047b +size 8852 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed_happy.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed_happy.webp new file mode 100644 index 00000000..b09e8dd7 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_closed_happy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5554235397fa3e64f4e6d01edd33ab24f66f7431b92a4e15b5662959290c469 +size 12918 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_down.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_down.webp new file mode 100644 index 00000000..30197929 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d7f96aed6aece4ed578ca1291899b4e444cc501715bf5c865e16aa9bdae39cb +size 12978 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_look_at_tonks.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_look_at_tonks.webp new file mode 100644 index 00000000..2a460dd5 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_look_at_tonks.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cf758956f834daccdae2274468a643f8aaa34d5406b8aa80e3cee3a4dbf4ed3 +size 12436 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_mid.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_mid.webp new file mode 100644 index 00000000..e8261b47 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_eyes_open_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5a0fb7d83f778be290a5137c8072470bc0b4c4457d88a254d0bedfc641138af +size 13128 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_angry.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_angry.webp new file mode 100644 index 00000000..2d3a6986 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76e6ac1901c87402c6af573b4aa2a10a835b511d80cf91264350ddda6a1b89f4 +size 13788 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_base.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_base.webp new file mode 100644 index 00000000..f271984f --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47a1156cf812f5e4795e863d94efd518eea66819c7fce633bcde505797bdcbb5 +size 5926 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_open.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_open.webp new file mode 100644 index 00000000..0fa4f0ae --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c2fed4d4fc3652353bab71abfa675ee9f645b0fedafa92ac4d0d9b3e6698633 +size 15610 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_smile.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_smile.webp new file mode 100644 index 00000000..1791d788 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cho_mouth_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8baa23812addf6203df77ca710b45d12af0cc03856e729b1577800df512055ef +size 13146 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_face.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_face.webp new file mode 100644 index 00000000..039f2ed0 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_face.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4de44540eddb78fa966dfe4c79b034fa19e51bc4baee9f952aa7bdf93cc03a4 +size 17756 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_hands.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_hands.webp new file mode 100644 index 00000000..c4527b0b --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_hands.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1d7d73800ce30783eac516f3231a3a8a81d4cb8842790d440402ee9648a8582 +size 47390 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tits.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tits.webp new file mode 100644 index 00000000..29594052 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tits.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88005f7ac730cc2d169cd98c84ec9b82b70ab0779292f6404e932ac9b9efe46f +size 23412 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tongue.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tongue.webp new file mode 100644 index 00000000..d872b852 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_cum_tongue.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42cd524f0ec770698a9a7555cb9b97e2c4840eadd773968ff01536f8600d5498 +size 9504 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_hands.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_hands.webp new file mode 100644 index 00000000..45b95656 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_hands.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c21540d1388f70394d52eb4ee8ea37db676943ce473052ee139d97c06fb42fe2 +size 161920 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_blush_heavy.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_blush_heavy.webp new file mode 100644 index 00000000..3f372fe5 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_blush_heavy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb64e454fe5d44655cbd8eb6ab41f6b92aa1829b5fee8ddc8aa962a64964adce +size 85940 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_body.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_body.webp new file mode 100644 index 00000000..bc88a1e6 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_body.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bc0c2cdef25d74ed3c5f25cc05efed0421da2c857f1d2b6b70af852dea40a66 +size 387746 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_closed.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_closed.webp new file mode 100644 index 00000000..cea576c6 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7979552a74b794a800b2cf442cbbbf932b7674bb8510e9062627068dbc1a36e1 +size 10402 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_look_at_cho.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_look_at_cho.webp new file mode 100644 index 00000000..37173d97 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_look_at_cho.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86c4034ff6addca19da3cc97f1e2264c165ce03441bd60b81ef5a8839e768c27 +size 14230 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_mid.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_mid.webp new file mode 100644 index 00000000..6648dd8b --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_eyes_open_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:138f83e40f7665f877c293d2a0b952f38b1fb0717a65f3a1aa063741fa6eed5c +size 13948 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_base.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_base.webp new file mode 100644 index 00000000..b186c30a --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43ed2b83194d89fef0b8818f3c2f83a70cbb94d500749014d5e9b2364eacc4b2 +size 11188 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_open.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_open.webp new file mode 100644 index 00000000..e08214dd --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f07e8bf4ef92f68cc53aef8e2e532f1298ae692f6820add97390c6980cc75f29 +size 16794 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_smile.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_smile.webp new file mode 100644 index 00000000..325b929f --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa5f65a9604ccae242d82c47e228e5e16cdfbb2018cbedd894464d99cfd19524 +size 17954 diff --git a/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_tongue_out.webp b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_tongue_out.webp new file mode 100644 index 00000000..80487c7b --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/lying/cho_strip_personal_t3_e3_lying_tonks_mouth_tongue_out.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1a86742e0d708b831018c0121cdffa06f7f80055e548191819c4daba6ad97bd +size 31270 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_grab_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_grab_spread.webp new file mode 100644 index 00000000..0b28468a --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_grab_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf1f3432762e473b192b6649366048da7a95bb9c96ee3e40bb9ca4291693801b +size 29188 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_idle.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_idle.webp new file mode 100644 index 00000000..2e06aa93 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_armfix_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd4d0e0c5352f353b6540d44b95c3ebee17bddd4aeb8b4441625f17782f14b57 +size 11298 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_ass_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_ass_spread.webp new file mode 100644 index 00000000..f362ea46 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_ass_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3f3b5f1cafaa96595a45c97b7d6a91fc3a9d157bd9260bd66d33a328f4c8966 +size 51570 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_blush_heavy.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_blush_heavy.webp new file mode 100644 index 00000000..425b7dd8 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_blush_heavy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:117ef8eb1a11fdd1d4314aedcf815e76ad9a4bbb85087838a2c76852abdc5562 +size 28852 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab.webp new file mode 100644 index 00000000..2ca4df0d --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f1b773db02547e7b3955d8ad6181d4ebf958a4ebb057aa18e0c8a91627e11fc +size 204378 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab_spread.webp new file mode 100644 index 00000000..2ca4df0d --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_grab_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f1b773db02547e7b3955d8ad6181d4ebf958a4ebb057aa18e0c8a91627e11fc +size 204378 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_idle.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_idle.webp new file mode 100644 index 00000000..fcbcb223 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_body_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24d4d87af17b1f7e9fc5435bf5f025750b6af085292790a81be7e56cffb9eaec +size 192186 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed.webp new file mode 100644 index 00000000..d505c1e3 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f38de34dc2e175764e4a0687ad789ca8e698bd70bcce5186e5026e722634df7e +size 4172 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed_happy.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed_happy.webp new file mode 100644 index 00000000..d58f4d46 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_closed_happy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b12f6aa84bea384a01ec100d77679ee6b48f7e6555da24d0126c85b20b3adb2e +size 4574 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_down.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_down.webp new file mode 100644 index 00000000..f4864b73 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fc2179d687cece95eeed203f0bad055de10fd49f43c8c196d21e96d01e92685 +size 8172 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tits.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tits.webp new file mode 100644 index 00000000..e98644fb --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tits.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2cbe32cce8c7850eeaec9a4ea5864ebbd0f7d34f072b48183751bae6e815770 +size 7758 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tonks.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tonks.webp new file mode 100644 index 00000000..d48f1b19 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_open_look_at_tonks.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7aa6170efce3831db03c9a4fb3eaee627c8eec0052f33e41653f91b5e5bb586 +size 7558 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_down.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_down.webp new file mode 100644 index 00000000..74b51855 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:146743529a3700aea69610d4b8f339af8592988cf72f01b1bb1c3f225e186ea4 +size 9228 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tits.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tits.webp new file mode 100644 index 00000000..9642aed2 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tits.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b2a9bad2dacc9e196b896c8624cba4a2730eb4c8464196e49d89cd00b91ba4a +size 8884 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tonks.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tonks.webp new file mode 100644 index 00000000..9f3df98e --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_eyes_wide_look_at_tonks.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e23afd135f0e8a5c5232f17d4b72f3e3d5ca3868c6d885a73c29a3e2ebb5d949 +size 8672 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_normal.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_normal.webp new file mode 100644 index 00000000..5ebe46c3 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_normal.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83c8b298623a91e8ae5cb0d79738b576255030b3428de2b87c34cc8ba8e52983 +size 57934 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_spread.webp new file mode 100644 index 00000000..c1310b72 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_handprint_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6a11bcbe2cb7ca79a584b6300d39c417af3af53bb3355be0f794b7e0bfd4175 +size 60514 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_angry.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_angry.webp new file mode 100644 index 00000000..12e44eb0 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:313f034226b2a582d351a9de563905f983f162c43abed96ddb6cc477cb85cd33 +size 7966 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_annoyed.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_annoyed.webp new file mode 100644 index 00000000..eed5c985 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_annoyed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efc776e0135077201fee4c1d1cdae61b508e6280d1749d74e262b726e4c915da +size 4520 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_base.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_base.webp new file mode 100644 index 00000000..d642f968 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:305aa52576ec4f17f863981c85ecaaebb96ffcd11582e06fc85179efce417317 +size 4790 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_lip_bite.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_lip_bite.webp new file mode 100644 index 00000000..0f4e15ea --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_lip_bite.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24aad131b2b77553c78a12cbb3f86a802f0b95b2f914a892216215ad2f1767ef +size 6178 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_open.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_open.webp new file mode 100644 index 00000000..9db5a28d --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db42b99d120874b35fd5d359225d582786d60e0c2b9206cb6ffbf64885b7e023 +size 7786 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smile.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smile.webp new file mode 100644 index 00000000..14ef30aa --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c35e81ca5b180feb6ea56bee6d9f64ff0f965eec1c747b28b4a0dc663a6f89c1 +size 6590 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smirk.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smirk.webp new file mode 100644 index 00000000..d44cac4b --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_mouth_smirk.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ff5e00bdea364a93fc23ae2b518a93d3367811baa7e97c72004ea1ccf6ba487 +size 5052 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_normal.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_normal.webp new file mode 100644 index 00000000..97154c8c --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_normal.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec7b37964c11c9754a8e0145e9e3662bba11cd4490f8a297466781379b6e9af0 +size 2920 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_spread.webp new file mode 100644 index 00000000..99ca6662 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_cho_wetness_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b863d4afddc79f2b6e4101ec8134889ff4f24aa1a67402cc273c88491218571c +size 4302 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_ass_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_ass_spread.webp new file mode 100644 index 00000000..017657ab --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_ass_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:094228a0fbf0e3d967c6033f3ac213a8ac57a5f5665beafa0b855705616eba99 +size 66484 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_assfix.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_assfix.webp new file mode 100644 index 00000000..fc0bdf9c --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_assfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:547c3a2fd65887b9f22db2db8c748c0dc4014d5c90c4d644e4402282562c2294 +size 5112 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_blush_heavy.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_blush_heavy.webp new file mode 100644 index 00000000..ddb5b2bc --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_blush_heavy.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21509e0801789b40d62a78bdf1ca95b2aa74e2c724b5d6d660b7cc0be31070b0 +size 29876 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab.webp new file mode 100644 index 00000000..678a0030 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b48cea2e62ee062202ed0ee6fa50a1b7e80ce150bbce553435f6e756791fdf13 +size 230666 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab_spread.webp new file mode 100644 index 00000000..678a0030 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_grab_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b48cea2e62ee062202ed0ee6fa50a1b7e80ce150bbce553435f6e756791fdf13 +size 230666 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_idle.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_idle.webp new file mode 100644 index 00000000..892b75eb --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_body_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea14102daa09642f515b553eca17856211f7b9eaa84f51e953560f82a872a966 +size 228804 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_closed.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_closed.webp new file mode 100644 index 00000000..0324b5e6 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea4a6373f34070986ca32642ba1a2c9bffaa69810a4cec962207df99edbc7124 +size 7066 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_down.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_down.webp new file mode 100644 index 00000000..113ffd7c --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7476522d8a007c3d764480b081fa89ce4495f3fdf91ffdbcc31455282a145311 +size 7114 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_cho.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_cho.webp new file mode 100644 index 00000000..7ed8075a --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_cho.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98fb318c59ed0b516870d93fb320abbdb4c10df6e224dbc2470d068a3c44d47b +size 6878 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_tits.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_tits.webp new file mode 100644 index 00000000..d23dac30 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_eyes_open_look_at_tits.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9093f54df7291731b76a54d7592b170b72196539eb8d7207c1e10e2cee06704f +size 7128 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_base.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_base.webp new file mode 100644 index 00000000..d42b16b3 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f22af4f5e870e9e9e623f32d5e20bc180f3178bc9e71d93d7893b946e8797c49 +size 6018 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_lip_bite.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_lip_bite.webp new file mode 100644 index 00000000..d863af57 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_lip_bite.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a854b8cedd47b837f27f344d49dfc0b4697cc60762055b759a017fb25d3bf4e3 +size 7036 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_open.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_open.webp new file mode 100644 index 00000000..d9745858 --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b062c9d5db1bf24f7ec61c939dadb78427ee43b42aa3f326b0284eda32cfe0f8 +size 7724 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_smile.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_smile.webp new file mode 100644 index 00000000..11d9c3bd --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_mouth_smile.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1049a92fae80eff46f2807ba979fe84f01885d2b3641ed4a76ef8e044679885f +size 7736 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_normal.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_normal.webp new file mode 100644 index 00000000..cdec83bf --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_normal.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72f53ffea28f4b07973a20bae903d3bd81f9c10a793b692d5317130da4c6d39b +size 2980 diff --git a/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_spread.webp b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_spread.webp new file mode 100644 index 00000000..6f32d54b --- /dev/null +++ b/game/images/CG/cho_strip/personal/t3_e3/on_knees/cho_strip_personal_t3_e3_on_knees_tonks_wetness_spread.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf1f61b4db8268c71339e9b26a8f4091f9c74c0a4eb4d5274682f3cd3a7e4650 +size 4068 diff --git a/game/images/CG/ball/background.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_background_wall.webp similarity index 100% rename from game/images/CG/ball/background.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_background_wall.webp diff --git a/game/images/CG/ball/bj/background2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_background_wall2.webp similarity index 100% rename from game/images/CG/ball/bj/background2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_background_wall2.webp diff --git a/game/images/CG/ball/bj/blush.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_blush_b1.webp similarity index 100% rename from game/images/CG/ball/bj/blush.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_blush_b1.webp diff --git a/game/images/CG/ball/bj/blush2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_blush_b2.webp similarity index 100% rename from game/images/CG/ball/bj/blush2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_blush_b2.webp diff --git a/game/images/CG/ball/bj/blush3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_blush_b3.webp similarity index 100% rename from game/images/CG/ball/bj/blush3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_blush_b3.webp diff --git a/game/images/CG/ball/bj/blush4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_blush_b4.webp similarity index 100% rename from game/images/CG/ball/bj/blush4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_blush_b4.webp diff --git a/game/images/CG/ball/bj/brows_angry3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_brows_angry3.webp similarity index 100% rename from game/images/CG/ball/bj/brows_angry3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_brows_angry3.webp diff --git a/game/images/CG/ball/bj/brows.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_brows_b1.webp similarity index 100% rename from game/images/CG/ball/bj/brows.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_brows_b1.webp diff --git a/game/images/CG/ball/bj/brows2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_brows_b2.webp similarity index 100% rename from game/images/CG/ball/bj/brows2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_brows_b2.webp diff --git a/game/images/CG/ball/bj/brows3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_brows_b3.webp similarity index 100% rename from game/images/CG/ball/bj/brows3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_brows_b3.webp diff --git a/game/images/CG/ball/bj/brows4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_brows_b4.webp similarity index 100% rename from game/images/CG/ball/bj/brows4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_brows_b4.webp diff --git a/game/images/CG/ball/bj/eyes_closed.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed1.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_closed.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed1.webp diff --git a/game/images/CG/ball/bj/eyes_closed2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed2.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_closed2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed2.webp diff --git a/game/images/CG/ball/bj/eyes_closed3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed3.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_closed3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed3.webp diff --git a/game/images/CG/ball/bj/eyes_closed4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed4.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_closed4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_closed4.webp diff --git a/game/images/CG/ball/bj/eyes_dead3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_dead3.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_dead3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_dead3.webp diff --git a/game/images/CG/ball/bj/eyes_down.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_down1.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_down.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_down1.webp diff --git a/game/images/CG/ball/bj/eyes_down2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_down2.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_down2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_down2.webp diff --git a/game/images/CG/ball/bj/eyes_happycl3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_happycl3.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_happycl3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_happycl3.webp diff --git a/game/images/CG/ball/bj/eyes_squintdead3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_squintdead3.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_squintdead3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_squintdead3.webp diff --git a/game/images/CG/ball/bj/eyes_squintup3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_squintup3.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_squintup3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_squintup3.webp diff --git a/game/images/CG/ball/bj/eyes_stare3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_stare3.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_stare3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_stare3.webp diff --git a/game/images/CG/ball/bj/eyes_up.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up1.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_up.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up1.webp diff --git a/game/images/CG/ball/bj/eyes_up2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up2.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_up2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up2.webp diff --git a/game/images/CG/ball/bj/eyes_up3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up3.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_up3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up3.webp diff --git a/game/images/CG/ball/bj/eyes_up4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up4.webp similarity index 100% rename from game/images/CG/ball/bj/eyes_up4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_eyes_up4.webp diff --git a/game/images/CG/ball/bj/cheeks3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_hermione_cheeks3.webp similarity index 100% rename from game/images/CG/ball/bj/cheeks3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_hermione_cheeks3.webp diff --git a/game/images/CG/ball/bj/base.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h1.webp similarity index 100% rename from game/images/CG/ball/bj/base.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h1.webp diff --git a/game/images/CG/ball/bj/base2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h2.webp similarity index 100% rename from game/images/CG/ball/bj/base2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h2.webp diff --git a/game/images/CG/ball/bj/base3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h3.webp similarity index 100% rename from game/images/CG/ball/bj/base3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h3.webp diff --git a/game/images/CG/ball/bj/base3_alt.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h3_alt.webp similarity index 100% rename from game/images/CG/ball/bj/base3_alt.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h3_alt.webp diff --git a/game/images/CG/ball/bj/base4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h4.webp similarity index 100% rename from game/images/CG/ball/bj/base4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_hermione_h4.webp diff --git a/game/images/CG/ball/bj/lashes.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_lashes_l1.webp similarity index 100% rename from game/images/CG/ball/bj/lashes.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_lashes_l1.webp diff --git a/game/images/CG/ball/bj/lashes2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_lashes_l2.webp similarity index 100% rename from game/images/CG/ball/bj/lashes2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_lashes_l2.webp diff --git a/game/images/CG/ball/bj/lashes4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_lashes_l4.webp similarity index 100% rename from game/images/CG/ball/bj/lashes4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_lashes_l4.webp diff --git a/game/images/CG/ball/bj/mascara3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_mascara_m3.webp similarity index 100% rename from game/images/CG/ball/bj/mascara3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_mascara_m3.webp diff --git a/game/images/CG/ball/bj/mouth_grimmace2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_mouth_grimmace2.webp similarity index 100% rename from game/images/CG/ball/bj/mouth_grimmace2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_mouth_grimmace2.webp diff --git a/game/images/CG/ball/bj/mouth_happy2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_mouth_happy2.webp similarity index 100% rename from game/images/CG/ball/bj/mouth_happy2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_mouth_happy2.webp diff --git a/game/images/CG/ball/bj/mouth_open2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_mouth_open2.webp similarity index 100% rename from game/images/CG/ball/bj/mouth_open2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_mouth_open2.webp diff --git a/game/images/CG/ball/bj/mouth_smile2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_mouth_smile2.webp similarity index 100% rename from game/images/CG/ball/bj/mouth_smile2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_mouth_smile2.webp diff --git a/game/images/CG/ball/bj/mouth_smile4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_mouth_smile4.webp similarity index 100% rename from game/images/CG/ball/bj/mouth_smile4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_mouth_smile4.webp diff --git a/game/images/CG/ball/bj/sperm.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_sperm_s1.webp similarity index 100% rename from game/images/CG/ball/bj/sperm.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_sperm_s1.webp diff --git a/game/images/CG/ball/bj/sperm3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_sperm_s3.webp similarity index 100% rename from game/images/CG/ball/bj/sperm3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_sperm_s3.webp diff --git a/game/images/CG/ball/bj/sperm4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_sperm_s4.webp similarity index 100% rename from game/images/CG/ball/bj/sperm4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_sperm_s4.webp diff --git a/game/images/CG/ball/bj/spit_base3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_spit_base3.webp similarity index 100% rename from game/images/CG/ball/bj/spit_base3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_spit_base3.webp diff --git a/game/images/CG/ball/bj/spit_eye3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_spit_eye3.webp similarity index 100% rename from game/images/CG/ball/bj/spit_eye3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_spit_eye3.webp diff --git a/game/images/CG/ball/bj/spit_forehead3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_spit_forehead3.webp similarity index 100% rename from game/images/CG/ball/bj/spit_forehead3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_spit_forehead3.webp diff --git a/game/images/CG/ball/bj/spit_nose3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_spit_nose3.webp similarity index 100% rename from game/images/CG/ball/bj/spit_nose3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_spit_nose3.webp diff --git a/game/images/CG/ball/bj/spit_on_eye3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_spit_on_eye3.webp similarity index 100% rename from game/images/CG/ball/bj/spit_on_eye3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_spit_on_eye3.webp diff --git a/game/images/CG/ball/bj/sweat.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s1.webp similarity index 100% rename from game/images/CG/ball/bj/sweat.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s1.webp diff --git a/game/images/CG/ball/bj/sweat2.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s2.webp similarity index 100% rename from game/images/CG/ball/bj/sweat2.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s2.webp diff --git a/game/images/CG/ball/bj/sweat3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s3.webp similarity index 100% rename from game/images/CG/ball/bj/sweat3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s3.webp diff --git a/game/images/CG/ball/bj/sweat4.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s4.webp similarity index 100% rename from game/images/CG/ball/bj/sweat4.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_sweat_s4.webp diff --git a/game/images/CG/ball/bj/tears_base3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_tears_base3.webp similarity index 100% rename from game/images/CG/ball/bj/tears_base3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_tears_base3.webp diff --git a/game/images/CG/ball/bj/tears_crying3.webp b/game/images/CG/her_ball/bj/her_ball_blowjob_tears_crying3.webp similarity index 100% rename from game/images/CG/ball/bj/tears_crying3.webp rename to game/images/CG/her_ball/bj/her_ball_blowjob_tears_crying3.webp diff --git a/game/images/CG/ball/intro/background.webp b/game/images/CG/her_ball/entrance/her_ball_entrance_background_hall.webp similarity index 100% rename from game/images/CG/ball/intro/background.webp rename to game/images/CG/her_ball/entrance/her_ball_entrance_background_hall.webp diff --git a/game/images/CG/ball/bj/background.webp b/game/images/CG/her_ball/entrance/her_ball_entrance_background_wall.webp similarity index 100% rename from game/images/CG/ball/bj/background.webp rename to game/images/CG/her_ball/entrance/her_ball_entrance_background_wall.webp diff --git a/game/images/CG/ball/intro/foreground.webp b/game/images/CG/her_ball/entrance/her_ball_entrance_foreground_crowd.webp similarity index 100% rename from game/images/CG/ball/intro/foreground.webp rename to game/images/CG/her_ball/entrance/her_ball_entrance_foreground_crowd.webp diff --git a/game/images/CG/ball/intro/hermione.webp b/game/images/CG/her_ball/entrance/her_ball_entrance_hermione_h1.webp similarity index 100% rename from game/images/CG/ball/intro/hermione.webp rename to game/images/CG/her_ball/entrance/her_ball_entrance_hermione_h1.webp diff --git a/game/images/CG/ball/intro/hermione2.webp b/game/images/CG/her_ball/entrance/her_ball_entrance_hermione_h2.webp similarity index 100% rename from game/images/CG/ball/intro/hermione2.webp rename to game/images/CG/her_ball/entrance/her_ball_entrance_hermione_h2.webp diff --git a/game/images/CG/ball/intro/bloom.webp b/game/images/CG/her_ball/entrance/her_ball_entrance_overlay_hall.webp similarity index 100% rename from game/images/CG/ball/intro/bloom.webp rename to game/images/CG/her_ball/entrance/her_ball_entrance_overlay_hall.webp diff --git a/game/images/CG/ball/intro/overlay.webp b/game/images/CG/her_ball/entrance/her_ball_entrance_overlay_wall.webp similarity index 100% rename from game/images/CG/ball/intro/overlay.webp rename to game/images/CG/her_ball/entrance/her_ball_entrance_overlay_wall.webp diff --git a/game/images/CG/ball/171.webp b/game/images/CG/her_ball/outskirts/her_ball_outskirts_background.webp similarity index 100% rename from game/images/CG/ball/171.webp rename to game/images/CG/her_ball/outskirts/her_ball_outskirts_background.webp diff --git a/game/images/CG/ball/173.webp b/game/images/CG/her_ball/outskirts/her_ball_outskirts_effect_m1.webp similarity index 100% rename from game/images/CG/ball/173.webp rename to game/images/CG/her_ball/outskirts/her_ball_outskirts_effect_m1.webp diff --git a/game/images/CG/ball/174.webp b/game/images/CG/her_ball/outskirts/her_ball_outskirts_effect_m2.webp similarity index 100% rename from game/images/CG/ball/174.webp rename to game/images/CG/her_ball/outskirts/her_ball_outskirts_effect_m2.webp diff --git a/game/images/CG/ball/172.webp b/game/images/CG/her_ball/outskirts/her_ball_outskirts_genie_g1.webp similarity index 100% rename from game/images/CG/ball/172.webp rename to game/images/CG/her_ball/outskirts/her_ball_outskirts_genie_g1.webp diff --git a/game/images/CG/ball/sex/background.webp b/game/images/CG/her_ball/sex/her_ball_sex_background_wall.webp similarity index 100% rename from game/images/CG/ball/sex/background.webp rename to game/images/CG/her_ball/sex/her_ball_sex_background_wall.webp diff --git a/game/images/CG/ball/sex/background2.webp b/game/images/CG/her_ball/sex/her_ball_sex_background_wall2.webp similarity index 100% rename from game/images/CG/ball/sex/background2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_background_wall2.webp diff --git a/game/images/CG/ball/sex/blush.webp b/game/images/CG/her_ball/sex/her_ball_sex_blush_b1.webp similarity index 100% rename from game/images/CG/ball/sex/blush.webp rename to game/images/CG/her_ball/sex/her_ball_sex_blush_b1.webp diff --git a/game/images/CG/ball/sex/blush2.webp b/game/images/CG/her_ball/sex/her_ball_sex_blush_b2.webp similarity index 100% rename from game/images/CG/ball/sex/blush2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_blush_b2.webp diff --git a/game/images/CG/ball/sex/brows.webp b/game/images/CG/her_ball/sex/her_ball_sex_brows_b1.webp similarity index 100% rename from game/images/CG/ball/sex/brows.webp rename to game/images/CG/her_ball/sex/her_ball_sex_brows_b1.webp diff --git a/game/images/CG/ball/sex/eyes_closed.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_closed.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_closed.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_closed.webp diff --git a/game/images/CG/ball/sex/eyes_dead.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_dead.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_dead.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_dead.webp diff --git a/game/images/CG/ball/sex/eyes_down.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_down.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_down.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_down.webp diff --git a/game/images/CG/ball/sex/eyes_happycl.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_happycl.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_happycl.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_happycl.webp diff --git a/game/images/CG/ball/sex/eyes_r.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_r.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_r.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_r.webp diff --git a/game/images/CG/ball/sex/eyes_stare.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_stare.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_stare.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_stare.webp diff --git a/game/images/CG/ball/sex/eyes_up.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_up.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_up.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_up.webp diff --git a/game/images/CG/ball/sex/eyes_wide.webp b/game/images/CG/her_ball/sex/her_ball_sex_eyes_wide.webp similarity index 100% rename from game/images/CG/ball/sex/eyes_wide.webp rename to game/images/CG/her_ball/sex/her_ball_sex_eyes_wide.webp diff --git a/game/images/CG/ball/sex/dude_bj.webp b/game/images/CG/her_ball/sex/her_ball_sex_guy1_bj1.webp similarity index 100% rename from game/images/CG/ball/sex/dude_bj.webp rename to game/images/CG/her_ball/sex/her_ball_sex_guy1_bj1.webp diff --git a/game/images/CG/ball/sex/dude_bj2.webp b/game/images/CG/her_ball/sex/her_ball_sex_guy1_bj2.webp similarity index 100% rename from game/images/CG/ball/sex/dude_bj2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_guy1_bj2.webp diff --git a/game/images/CG/ball/sex/dude_bj3.webp b/game/images/CG/her_ball/sex/her_ball_sex_guy1_bj3.webp similarity index 100% rename from game/images/CG/ball/sex/dude_bj3.webp rename to game/images/CG/her_ball/sex/her_ball_sex_guy1_bj3.webp diff --git a/game/images/CG/ball/sex/dudes.webp b/game/images/CG/her_ball/sex/her_ball_sex_guy2_pose1.webp similarity index 100% rename from game/images/CG/ball/sex/dudes.webp rename to game/images/CG/her_ball/sex/her_ball_sex_guy2_pose1.webp diff --git a/game/images/CG/ball/sex/dudes2.webp b/game/images/CG/her_ball/sex/her_ball_sex_guy2_pose2.webp similarity index 100% rename from game/images/CG/ball/sex/dudes2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_guy2_pose2.webp diff --git a/game/images/CG/ball/sex/base.webp b/game/images/CG/her_ball/sex/her_ball_sex_hermione_h1.webp similarity index 100% rename from game/images/CG/ball/sex/base.webp rename to game/images/CG/her_ball/sex/her_ball_sex_hermione_h1.webp diff --git a/game/images/CG/ball/sex/base2.webp b/game/images/CG/her_ball/sex/her_ball_sex_hermione_h2.webp similarity index 100% rename from game/images/CG/ball/sex/base2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_hermione_h2.webp diff --git a/game/images/CG/ball/sex/lashes.webp b/game/images/CG/her_ball/sex/her_ball_sex_lashes_l1.webp similarity index 100% rename from game/images/CG/ball/sex/lashes.webp rename to game/images/CG/her_ball/sex/her_ball_sex_lashes_l1.webp diff --git a/game/images/CG/ball/sex/mascara.webp b/game/images/CG/her_ball/sex/her_ball_sex_mascara_m1.webp similarity index 100% rename from game/images/CG/ball/sex/mascara.webp rename to game/images/CG/her_ball/sex/her_ball_sex_mascara_m1.webp diff --git a/game/images/CG/ball/sex/cheeks.webp b/game/images/CG/her_ball/sex/her_ball_sex_mouth_full1.webp similarity index 100% rename from game/images/CG/ball/sex/cheeks.webp rename to game/images/CG/her_ball/sex/her_ball_sex_mouth_full1.webp diff --git a/game/images/CG/ball/sex/mouth_open.webp b/game/images/CG/her_ball/sex/her_ball_sex_mouth_open1.webp similarity index 100% rename from game/images/CG/ball/sex/mouth_open.webp rename to game/images/CG/her_ball/sex/her_ball_sex_mouth_open1.webp diff --git a/game/images/CG/ball/sex/mouth_open_tongue.webp b/game/images/CG/her_ball/sex/her_ball_sex_mouth_open_tongue1.webp similarity index 100% rename from game/images/CG/ball/sex/mouth_open_tongue.webp rename to game/images/CG/her_ball/sex/her_ball_sex_mouth_open_tongue1.webp diff --git a/game/images/CG/ball/sex/mouth_open_tongue2.webp b/game/images/CG/her_ball/sex/her_ball_sex_mouth_open_tongue2.webp similarity index 100% rename from game/images/CG/ball/sex/mouth_open_tongue2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_mouth_open_tongue2.webp diff --git a/game/images/CG/ball/sex/mouth_smile.webp b/game/images/CG/her_ball/sex/her_ball_sex_mouth_smile1.webp similarity index 100% rename from game/images/CG/ball/sex/mouth_smile.webp rename to game/images/CG/her_ball/sex/her_ball_sex_mouth_smile1.webp diff --git a/game/images/CG/ball/sex/spank.webp b/game/images/CG/her_ball/sex/her_ball_sex_spank_s1.webp similarity index 100% rename from game/images/CG/ball/sex/spank.webp rename to game/images/CG/her_ball/sex/her_ball_sex_spank_s1.webp diff --git a/game/images/CG/ball/sex/bukkake.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_bukkake.webp similarity index 100% rename from game/images/CG/ball/sex/bukkake.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_bukkake.webp diff --git a/game/images/CG/ball/sex/cum_after.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_after.webp similarity index 100% rename from game/images/CG/ball/sex/cum_after.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_after.webp diff --git a/game/images/CG/ball/sex/cum_anal.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_anal.webp similarity index 100% rename from game/images/CG/ball/sex/cum_anal.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_anal.webp diff --git a/game/images/CG/ball/sex/cum_extra.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_extra.webp similarity index 100% rename from game/images/CG/ball/sex/cum_extra.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_extra.webp diff --git a/game/images/CG/ball/sex/cum_nose.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_nose.webp similarity index 100% rename from game/images/CG/ball/sex/cum_nose.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_nose.webp diff --git a/game/images/CG/ball/sex/cum_pussy.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_pussy.webp similarity index 100% rename from game/images/CG/ball/sex/cum_pussy.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_cum_pussy.webp diff --git a/game/images/CG/ball/sex/dude_bj_cum.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_dude_bj_cum.webp similarity index 100% rename from game/images/CG/ball/sex/dude_bj_cum.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_dude_bj_cum.webp diff --git a/game/images/CG/ball/sex/dudes_cum.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum.webp similarity index 100% rename from game/images/CG/ball/sex/dudes_cum.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum.webp diff --git a/game/images/CG/ball/sex/dudes_cum2.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum2.webp similarity index 100% rename from game/images/CG/ball/sex/dudes_cum2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum2.webp diff --git a/game/images/CG/ball/sex/dudes_cum3.webp b/game/images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum3.webp similarity index 100% rename from game/images/CG/ball/sex/dudes_cum3.webp rename to game/images/CG/her_ball/sex/her_ball_sex_sperm_dudes_cum3.webp diff --git a/game/images/CG/ball/sex/dudes_spit.webp b/game/images/CG/her_ball/sex/her_ball_sex_spit_guy_face.webp similarity index 100% rename from game/images/CG/ball/sex/dudes_spit.webp rename to game/images/CG/her_ball/sex/her_ball_sex_spit_guy_face.webp diff --git a/game/images/CG/ball/sex/dudes_spit_mouth.webp b/game/images/CG/her_ball/sex/her_ball_sex_spit_guy_mouth.webp similarity index 100% rename from game/images/CG/ball/sex/dudes_spit_mouth.webp rename to game/images/CG/her_ball/sex/her_ball_sex_spit_guy_mouth.webp diff --git a/game/images/CG/ball/sex/spit.webp b/game/images/CG/her_ball/sex/her_ball_sex_spit_on_body.webp similarity index 100% rename from game/images/CG/ball/sex/spit.webp rename to game/images/CG/her_ball/sex/her_ball_sex_spit_on_body.webp diff --git a/game/images/CG/ball/sex/spit_on_face.webp b/game/images/CG/her_ball/sex/her_ball_sex_spit_on_face.webp similarity index 100% rename from game/images/CG/ball/sex/spit_on_face.webp rename to game/images/CG/her_ball/sex/her_ball_sex_spit_on_face.webp diff --git a/game/images/CG/ball/sex/tears.webp b/game/images/CG/her_ball/sex/her_ball_sex_tears_t1.webp similarity index 100% rename from game/images/CG/ball/sex/tears.webp rename to game/images/CG/her_ball/sex/her_ball_sex_tears_t1.webp diff --git a/game/images/CG/ball/sex/tears2.webp b/game/images/CG/her_ball/sex/her_ball_sex_tears_t2.webp similarity index 100% rename from game/images/CG/ball/sex/tears2.webp rename to game/images/CG/her_ball/sex/her_ball_sex_tears_t2.webp diff --git a/game/images/CG/ball/sex/open_tongue2.webp b/game/images/CG/her_ball/sex/open_tongue2.webp similarity index 100% rename from game/images/CG/ball/sex/open_tongue2.webp rename to game/images/CG/her_ball/sex/open_tongue2.webp diff --git a/game/images/CG/ball/speech/background.webp b/game/images/CG/her_ball/speech/her_ball_speech_background_wall.webp similarity index 100% rename from game/images/CG/ball/speech/background.webp rename to game/images/CG/her_ball/speech/her_ball_speech_background_wall.webp diff --git a/game/images/CG/ball/speech/blush.webp b/game/images/CG/her_ball/speech/her_ball_speech_blush_heavy.webp similarity index 100% rename from game/images/CG/ball/speech/blush.webp rename to game/images/CG/her_ball/speech/her_ball_speech_blush_heavy.webp diff --git a/game/images/CG/ball/speech/brows.webp b/game/images/CG/her_ball/speech/her_ball_speech_brows_down.webp similarity index 100% rename from game/images/CG/ball/speech/brows.webp rename to game/images/CG/her_ball/speech/her_ball_speech_brows_down.webp diff --git a/game/images/CG/ball/speech/eyes_closed.webp b/game/images/CG/her_ball/speech/her_ball_speech_eyes_closed.webp similarity index 100% rename from game/images/CG/ball/speech/eyes_closed.webp rename to game/images/CG/her_ball/speech/her_ball_speech_eyes_closed.webp diff --git a/game/images/CG/ball/speech/eyes_squint.webp b/game/images/CG/her_ball/speech/her_ball_speech_eyes_squint.webp similarity index 100% rename from game/images/CG/ball/speech/eyes_squint.webp rename to game/images/CG/her_ball/speech/her_ball_speech_eyes_squint.webp diff --git a/game/images/CG/ball/speech/base.webp b/game/images/CG/her_ball/speech/her_ball_speech_hermione_h1.webp similarity index 100% rename from game/images/CG/ball/speech/base.webp rename to game/images/CG/her_ball/speech/her_ball_speech_hermione_h1.webp diff --git a/game/images/CG/ball/speech/base2.webp b/game/images/CG/her_ball/speech/her_ball_speech_hermione_h2.webp similarity index 100% rename from game/images/CG/ball/speech/base2.webp rename to game/images/CG/her_ball/speech/her_ball_speech_hermione_h2.webp diff --git a/game/images/CG/ball/speech/mascara.webp b/game/images/CG/her_ball/speech/her_ball_speech_mascara_drip.webp similarity index 100% rename from game/images/CG/ball/speech/mascara.webp rename to game/images/CG/her_ball/speech/her_ball_speech_mascara_drip.webp diff --git a/game/images/CG/ball/speech/cheeks.webp b/game/images/CG/her_ball/speech/her_ball_speech_mouth_full.webp similarity index 100% rename from game/images/CG/ball/speech/cheeks.webp rename to game/images/CG/her_ball/speech/her_ball_speech_mouth_full.webp diff --git a/game/images/CG/ball/speech/mouth_open.webp b/game/images/CG/her_ball/speech/her_ball_speech_mouth_open.webp similarity index 100% rename from game/images/CG/ball/speech/mouth_open.webp rename to game/images/CG/her_ball/speech/her_ball_speech_mouth_open.webp diff --git a/game/images/CG/ball/speech/bloom.webp b/game/images/CG/her_ball/speech/her_ball_speech_overlay_bloom.webp similarity index 100% rename from game/images/CG/ball/speech/bloom.webp rename to game/images/CG/her_ball/speech/her_ball_speech_overlay_bloom.webp diff --git a/game/images/CG/ball/speech/overlay.webp b/game/images/CG/her_ball/speech/her_ball_speech_overlay_wall.webp similarity index 100% rename from game/images/CG/ball/speech/overlay.webp rename to game/images/CG/her_ball/speech/her_ball_speech_overlay_wall.webp diff --git a/game/images/CG/ball/speech/cum0.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum0.webp similarity index 100% rename from game/images/CG/ball/speech/cum0.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum0.webp diff --git a/game/images/CG/ball/speech/cum1.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum1.webp similarity index 100% rename from game/images/CG/ball/speech/cum1.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum1.webp diff --git a/game/images/CG/ball/speech/cum2.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum2.webp similarity index 100% rename from game/images/CG/ball/speech/cum2.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum2.webp diff --git a/game/images/CG/ball/speech/cum3.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum3.webp similarity index 100% rename from game/images/CG/ball/speech/cum3.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum3.webp diff --git a/game/images/CG/ball/speech/cum4.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum4.webp similarity index 100% rename from game/images/CG/ball/speech/cum4.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum4.webp diff --git a/game/images/CG/ball/speech/cum5.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum5.webp similarity index 100% rename from game/images/CG/ball/speech/cum5.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum5.webp diff --git a/game/images/CG/ball/speech/cum6.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum6.webp similarity index 100% rename from game/images/CG/ball/speech/cum6.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum6.webp diff --git a/game/images/CG/ball/speech/cum_mouth.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum_mouth.webp similarity index 100% rename from game/images/CG/ball/speech/cum_mouth.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum_mouth.webp diff --git a/game/images/CG/ball/speech/cum_nose.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum_nose.webp similarity index 100% rename from game/images/CG/ball/speech/cum_nose.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum_nose.webp diff --git a/game/images/CG/ball/speech/cum_nose2.webp b/game/images/CG/her_ball/speech/her_ball_speech_sperm_cum_nose2.webp similarity index 100% rename from game/images/CG/ball/speech/cum_nose2.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sperm_cum_nose2.webp diff --git a/game/images/CG/ball/speech/sweat.webp b/game/images/CG/her_ball/speech/her_ball_speech_sweat_light.webp similarity index 100% rename from game/images/CG/ball/speech/sweat.webp rename to game/images/CG/her_ball/speech/her_ball_speech_sweat_light.webp diff --git a/game/images/CG/herm_forest/base.webp b/game/images/CG/her_forest/bj/her_forest_bj_background.webp similarity index 100% rename from game/images/CG/herm_forest/base.webp rename to game/images/CG/her_forest/bj/her_forest_bj_background.webp diff --git a/game/images/CG/herm_forest/1.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h1.webp similarity index 100% rename from game/images/CG/herm_forest/1.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h1.webp diff --git a/game/images/CG/herm_forest/10.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h10.webp similarity index 100% rename from game/images/CG/herm_forest/10.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h10.webp diff --git a/game/images/CG/herm_forest/11.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h11.webp similarity index 100% rename from game/images/CG/herm_forest/11.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h11.webp diff --git a/game/images/CG/herm_forest/12.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h12.webp similarity index 100% rename from game/images/CG/herm_forest/12.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h12.webp diff --git a/game/images/CG/herm_forest/13.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h13.webp similarity index 100% rename from game/images/CG/herm_forest/13.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h13.webp diff --git a/game/images/CG/herm_forest/14.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h14.webp similarity index 100% rename from game/images/CG/herm_forest/14.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h14.webp diff --git a/game/images/CG/herm_forest/15.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h15.webp similarity index 100% rename from game/images/CG/herm_forest/15.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h15.webp diff --git a/game/images/CG/herm_forest/16.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h16.webp similarity index 100% rename from game/images/CG/herm_forest/16.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h16.webp diff --git a/game/images/CG/herm_forest/17.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h17.webp similarity index 100% rename from game/images/CG/herm_forest/17.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h17.webp diff --git a/game/images/CG/herm_forest/18.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h18.webp similarity index 100% rename from game/images/CG/herm_forest/18.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h18.webp diff --git a/game/images/CG/herm_forest/19.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h19.webp similarity index 100% rename from game/images/CG/herm_forest/19.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h19.webp diff --git a/game/images/CG/herm_forest/2.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h2.webp similarity index 100% rename from game/images/CG/herm_forest/2.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h2.webp diff --git a/game/images/CG/herm_forest/20.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h20.webp similarity index 100% rename from game/images/CG/herm_forest/20.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h20.webp diff --git a/game/images/CG/herm_forest/21.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h21.webp similarity index 100% rename from game/images/CG/herm_forest/21.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h21.webp diff --git a/game/images/CG/herm_forest/22.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h22.webp similarity index 100% rename from game/images/CG/herm_forest/22.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h22.webp diff --git a/game/images/CG/herm_forest/23.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h23.webp similarity index 100% rename from game/images/CG/herm_forest/23.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h23.webp diff --git a/game/images/CG/herm_forest/24.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h24.webp similarity index 100% rename from game/images/CG/herm_forest/24.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h24.webp diff --git a/game/images/CG/herm_forest/25.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h25.webp similarity index 100% rename from game/images/CG/herm_forest/25.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h25.webp diff --git a/game/images/CG/herm_forest/26.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h26.webp similarity index 100% rename from game/images/CG/herm_forest/26.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h26.webp diff --git a/game/images/CG/herm_forest/27.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h27.webp similarity index 100% rename from game/images/CG/herm_forest/27.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h27.webp diff --git a/game/images/CG/herm_forest/28.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h28.webp similarity index 100% rename from game/images/CG/herm_forest/28.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h28.webp diff --git a/game/images/CG/herm_forest/29.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h29.webp similarity index 100% rename from game/images/CG/herm_forest/29.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h29.webp diff --git a/game/images/CG/herm_forest/3.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h3.webp similarity index 100% rename from game/images/CG/herm_forest/3.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h3.webp diff --git a/game/images/CG/herm_forest/30.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h30.webp similarity index 100% rename from game/images/CG/herm_forest/30.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h30.webp diff --git a/game/images/CG/herm_forest/31.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h31.webp similarity index 100% rename from game/images/CG/herm_forest/31.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h31.webp diff --git a/game/images/CG/herm_forest/32.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h32.webp similarity index 100% rename from game/images/CG/herm_forest/32.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h32.webp diff --git a/game/images/CG/herm_forest/33.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h33.webp similarity index 100% rename from game/images/CG/herm_forest/33.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h33.webp diff --git a/game/images/CG/herm_forest/34.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h34.webp similarity index 100% rename from game/images/CG/herm_forest/34.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h34.webp diff --git a/game/images/CG/herm_forest/35.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h35.webp similarity index 100% rename from game/images/CG/herm_forest/35.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h35.webp diff --git a/game/images/CG/herm_forest/36.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h36.webp similarity index 100% rename from game/images/CG/herm_forest/36.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h36.webp diff --git a/game/images/CG/herm_forest/37.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h37.webp similarity index 100% rename from game/images/CG/herm_forest/37.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h37.webp diff --git a/game/images/CG/herm_forest/38.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h38.webp similarity index 100% rename from game/images/CG/herm_forest/38.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h38.webp diff --git a/game/images/CG/herm_forest/39.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h39.webp similarity index 100% rename from game/images/CG/herm_forest/39.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h39.webp diff --git a/game/images/CG/herm_forest/4.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h4.webp similarity index 100% rename from game/images/CG/herm_forest/4.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h4.webp diff --git a/game/images/CG/herm_forest/40.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h40.webp similarity index 100% rename from game/images/CG/herm_forest/40.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h40.webp diff --git a/game/images/CG/herm_forest/41.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h41.webp similarity index 100% rename from game/images/CG/herm_forest/41.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h41.webp diff --git a/game/images/CG/herm_forest/42.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h42.webp similarity index 100% rename from game/images/CG/herm_forest/42.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h42.webp diff --git a/game/images/CG/herm_forest/43.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h43.webp similarity index 100% rename from game/images/CG/herm_forest/43.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h43.webp diff --git a/game/images/CG/herm_forest/44.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h44.webp similarity index 100% rename from game/images/CG/herm_forest/44.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h44.webp diff --git a/game/images/CG/herm_forest/45.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h45.webp similarity index 100% rename from game/images/CG/herm_forest/45.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h45.webp diff --git a/game/images/CG/herm_forest/46.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h46.webp similarity index 100% rename from game/images/CG/herm_forest/46.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h46.webp diff --git a/game/images/CG/herm_forest/47.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h47.webp similarity index 100% rename from game/images/CG/herm_forest/47.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h47.webp diff --git a/game/images/CG/herm_forest/48.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h48.webp similarity index 100% rename from game/images/CG/herm_forest/48.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h48.webp diff --git a/game/images/CG/herm_forest/49.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h49.webp similarity index 100% rename from game/images/CG/herm_forest/49.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h49.webp diff --git a/game/images/CG/herm_forest/5.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h5.webp similarity index 100% rename from game/images/CG/herm_forest/5.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h5.webp diff --git a/game/images/CG/herm_forest/50.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h50.webp similarity index 100% rename from game/images/CG/herm_forest/50.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h50.webp diff --git a/game/images/CG/herm_forest/6.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h6.webp similarity index 100% rename from game/images/CG/herm_forest/6.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h6.webp diff --git a/game/images/CG/herm_forest/7.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h7.webp similarity index 100% rename from game/images/CG/herm_forest/7.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h7.webp diff --git a/game/images/CG/herm_forest/8.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h8.webp similarity index 100% rename from game/images/CG/herm_forest/8.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h8.webp diff --git a/game/images/CG/herm_forest/9.webp b/game/images/CG/her_forest/bj/her_forest_bj_hermione_h9.webp similarity index 100% rename from game/images/CG/herm_forest/9.webp rename to game/images/CG/her_forest/bj/her_forest_bj_hermione_h9.webp diff --git a/game/images/CG/herm_forest/m1.webp b/game/images/CG/her_forest/bj/her_forest_bj_myrtle_m1.webp similarity index 100% rename from game/images/CG/herm_forest/m1.webp rename to game/images/CG/her_forest/bj/her_forest_bj_myrtle_m1.webp diff --git a/game/images/CG/herm_forest/m2.webp b/game/images/CG/her_forest/bj/her_forest_bj_myrtle_m2.webp similarity index 100% rename from game/images/CG/herm_forest/m2.webp rename to game/images/CG/her_forest/bj/her_forest_bj_myrtle_m2.webp diff --git a/game/images/CG/herm_forest/m3.webp b/game/images/CG/her_forest/bj/her_forest_bj_myrtle_m3.webp similarity index 100% rename from game/images/CG/herm_forest/m3.webp rename to game/images/CG/her_forest/bj/her_forest_bj_myrtle_m3.webp diff --git a/game/images/CG/herm_forest/overlay.webp b/game/images/CG/her_forest/bj/her_forest_bj_overlay.webp similarity index 100% rename from game/images/CG/herm_forest/overlay.webp rename to game/images/CG/her_forest/bj/her_forest_bj_overlay.webp diff --git a/game/images/CG/her_potions/ass_expand/classroom_a1.webp b/game/images/CG/her_potions/public/expand_ass/her_potions_public_expand_ass_a1.webp similarity index 100% rename from game/images/CG/her_potions/ass_expand/classroom_a1.webp rename to game/images/CG/her_potions/public/expand_ass/her_potions_public_expand_ass_a1.webp diff --git a/game/images/CG/her_potions/ass_expand/classroom_a2.webp b/game/images/CG/her_potions/public/expand_ass/her_potions_public_expand_ass_a2.webp similarity index 100% rename from game/images/CG/her_potions/ass_expand/classroom_a2.webp rename to game/images/CG/her_potions/public/expand_ass/her_potions_public_expand_ass_a2.webp diff --git a/game/images/CG/her_potions/breast_expand/corridor_b1.webp b/game/images/CG/her_potions/public/expand_breasts/her_potion_public_expand_breasts_c1.webp similarity index 100% rename from game/images/CG/her_potions/breast_expand/corridor_b1.webp rename to game/images/CG/her_potions/public/expand_breasts/her_potion_public_expand_breasts_c1.webp diff --git a/game/images/CG/her_potions/breast_expand/corridor_a1.webp b/game/images/CG/her_potions/public/expand_breasts/her_potion_public_expand_breasts_d1.webp similarity index 100% rename from game/images/CG/her_potions/breast_expand/corridor_a1.webp rename to game/images/CG/her_potions/public/expand_breasts/her_potion_public_expand_breasts_d1.webp diff --git a/game/images/CG/her_potions/breast_expand/classroom_a1.webp b/game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_a1.webp similarity index 100% rename from game/images/CG/her_potions/breast_expand/classroom_a1.webp rename to game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_a1.webp diff --git a/game/images/CG/her_potions/breast_expand/classroom_a2.webp b/game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_a2.webp similarity index 100% rename from game/images/CG/her_potions/breast_expand/classroom_a2.webp rename to game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_a2.webp diff --git a/game/images/CG/her_potions/breast_expand/classroom_b1.webp b/game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_b1.webp similarity index 100% rename from game/images/CG/her_potions/breast_expand/classroom_b1.webp rename to game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_b1.webp diff --git a/game/images/CG/her_potions/breast_expand/classroom_b2.webp b/game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_b2.webp similarity index 100% rename from game/images/CG/her_potions/breast_expand/classroom_b2.webp rename to game/images/CG/her_potions/public/expand_breasts/her_potions_public_expand_breasts_b2.webp diff --git a/game/images/CG/her_sex/foreground.webp b/game/images/CG/her_sex/foreground.webp deleted file mode 100644 index 3639f583..00000000 --- a/game/images/CG/her_sex/foreground.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9997bf3b41fdc9205825f4f154a25e47f182cd1e1fbb3baa2282db30433cdca1 -size 50790 diff --git a/game/images/CG/her_sex/open_wide_tongue.webp b/game/images/CG/her_sex/open_wide_tongue.webp deleted file mode 100644 index 2553ecba..00000000 --- a/game/images/CG/her_sex/open_wide_tongue.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6147048daed7f6e76de9136a2509aa9f49540cef41dfd7917a291651ae45fa2e -size 20102 diff --git a/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_fix_shirt.webp b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_fix_shirt.webp new file mode 100644 index 00000000..fcb1bf03 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_fix_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4077c8ac8107239e5749b68c06d97ec23a799286041dd70261892a0eebf15567 +size 42312 diff --git a/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_shirt.webp b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_shirt.webp new file mode 100644 index 00000000..9f87caee --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d436503ac307828bf17ed936f2ab6f0b1d76ab92ad7db6514978746f8c838fed +size 93378 diff --git a/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_skirt.webp b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_skirt.webp new file mode 100644 index 00000000..8bc7e86b --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb5fdd3c09ca5e49fd699ab8fc9082d7a608d4126c3223e85200780da3fa9dc7 +size 45102 diff --git a/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_stockings.webp b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_stockings.webp new file mode 100644 index 00000000..f1ac4928 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/clothes/her_sex_personal_bent_over_outfit_stockings.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b71018de513c52bd1675e5995f068e9fb0d816280a6e215f14756fbfff98cf4 +size 8010 diff --git a/game/characters/hermione/poses/CG_bent_over/cum/body/heavy.webp b/game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_heavy.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/body/heavy.webp rename to game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_heavy.webp diff --git a/game/characters/hermione/poses/CG_bent_over/cum/body/light.webp b/game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_light.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/body/light.webp rename to game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_light.webp diff --git a/game/characters/hermione/poses/CG_bent_over/cum/body/shirt_heavy.webp b/game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_shirt_heavy.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/body/shirt_heavy.webp rename to game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_shirt_heavy.webp diff --git a/game/characters/hermione/poses/CG_bent_over/cum/body/shirt_light.webp b/game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_shirt_light.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/body/shirt_light.webp rename to game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_shirt_light.webp diff --git a/game/characters/hermione/poses/CG_bent_over/cum/body/skirt_heavy.webp b/game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_skirt_heavy.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/body/skirt_heavy.webp rename to game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_skirt_heavy.webp diff --git a/game/characters/hermione/poses/CG_bent_over/cum/body/skirt_light.webp b/game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_skirt_light.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/body/skirt_light.webp rename to game/images/CG/her_sex/personal/bent_over/cum/ass/her_sex_personal_bent_over_cum_ass_skirt_light.webp diff --git a/game/characters/hermione/poses/CG_bent_over/cum/pussy/heavy.webp b/game/images/CG/her_sex/personal/bent_over/cum/pussy/her_sex_personal_bent_over_cum_pussy_heavy.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/pussy/heavy.webp rename to game/images/CG/her_sex/personal/bent_over/cum/pussy/her_sex_personal_bent_over_cum_pussy_heavy.webp diff --git a/game/characters/hermione/poses/CG_bent_over/cum/pussy/light.webp b/game/images/CG/her_sex/personal/bent_over/cum/pussy/her_sex_personal_bent_over_cum_pussy_light.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/cum/pussy/light.webp rename to game/images/CG/her_sex/personal/bent_over/cum/pussy/her_sex_personal_bent_over_cum_pussy_light.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/cheeks/blush.webp b/game/images/CG/her_sex/personal/bent_over/expressions/cheeks/her_sex_personal_bent_over_cheeks_blush.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/cheeks/blush.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/cheeks/her_sex_personal_bent_over_cheeks_blush.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyebrows/angry.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_angry.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/eyebrows/angry.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_angry.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyebrows/annoyed.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_annoyed.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/eyebrows/annoyed.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_annoyed.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyebrows/base.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_base.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/eyebrows/base.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_base.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyebrows/worried.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_worried.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/eyebrows/worried.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/eyebrows/her_sex_personal_bent_over_eyebrows_worried.webp diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_ahegao.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_ahegao.webp new file mode 100644 index 00000000..9dbf0d45 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26e2ea35378fb8fbdf7adb2dd65a9e8c45433334aec7a41591b856e0a895b529 +size 19296 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_down.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_down.webp new file mode 100644 index 00000000..8881078d --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de9d5a8a705d82190cdb92b2d2359ec781817bd9518b2c1a5caf0ab65a1a411d +size 19766 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_l.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_l.webp new file mode 100644 index 00000000..606c61bf --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df293f6ce9d16de98a4b26358107c3b3e725984ca5f8b05c758e850b9f6829bc +size 19604 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_mid.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_mid.webp new file mode 100644 index 00000000..cb352dda --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90af6fced3126fed4f5f8338882c33a0e126f3ce8a1ab6684f988573b883a558 +size 19876 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_r.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_r.webp new file mode 100644 index 00000000..b3429286 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b98517f5dc1acccba652d1687a8023fa9cff45dc46e99124209ea784c6584c47 +size 19410 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_stare.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_stare.webp new file mode 100644 index 00000000..cb352dda --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90af6fced3126fed4f5f8338882c33a0e126f3ce8a1ab6684f988573b883a558 +size 19876 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_up.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_up.webp new file mode 100644 index 00000000..450e56a8 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffb78f1ddddd6609410fac30c2f0b0e9d19f58844e1a251ee7253ff40508405f +size 19724 diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/closed.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_closed.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/eyes/closed.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_closed.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/eyes/happyCl.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happyCl.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/eyes/happyCl.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happyCl.webp diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_ahegao.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_ahegao.webp new file mode 100644 index 00000000..07ac2496 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa145d01148117df04cdf1e12f908dd39228ce1b9709b382f6b812a264822dc2 +size 19300 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_down.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_down.webp new file mode 100644 index 00000000..ab68b80d --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a97e44bed3eb0155cea802213888eca16fa65cf323dc147970e84af6ba2d9d06 +size 19510 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_l.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_l.webp new file mode 100644 index 00000000..6b694865 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c522651c53398825f6240c46ba3a130a63760ea1fa34d498dfa9bdc21ca4ae7b +size 19478 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_mid.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_mid.webp new file mode 100644 index 00000000..7679b758 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f907cf16473a86ef6071cab17f5e582b23505df89f4e1d8a60addfdc2d0dc3c4 +size 19682 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_r.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_r.webp new file mode 100644 index 00000000..6d7cfadc --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a201d7f7724c426d6cdb341064a7525dfb524c03676f04c185615041009ab63 +size 19316 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_stare.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_stare.webp new file mode 100644 index 00000000..7679b758 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f907cf16473a86ef6071cab17f5e582b23505df89f4e1d8a60addfdc2d0dc3c4 +size 19682 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_up.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_up.webp new file mode 100644 index 00000000..120de947 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_happy_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce66170b23b37602b9725b59c47f2ba136fad782cada2535d42e23464e006488 +size 19728 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_ahegao.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_ahegao.webp new file mode 100644 index 00000000..87134db3 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b670ff1a0855ece14e52794cf8dfbc8bccc9f7176e78ae95d7289a2b601ea79 +size 20054 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_down.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_down.webp new file mode 100644 index 00000000..f9846199 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a4094a62dab9f40a9aa7ec466bf06bb24f334c8f6939834ea1aee23c3002d67 +size 20798 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_l.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_l.webp new file mode 100644 index 00000000..a1e821a4 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82cce803661426d6d5145e67b72027a060632cddfa32f525badc56c78b2acf88 +size 20810 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_mid.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_mid.webp new file mode 100644 index 00000000..c586d1e4 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dada1a894e3b6e21584e814d4dd39d485eadc3eaf784a2766393f335c5b1878 +size 21000 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_r.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_r.webp new file mode 100644 index 00000000..eaeafbbe --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bd0a072682e49f7a148b26a2c15045aa51237d182c299aec3a518ff10e0c08c +size 20536 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_stare.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_stare.webp new file mode 100644 index 00000000..c586d1e4 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dada1a894e3b6e21584e814d4dd39d485eadc3eaf784a2766393f335c5b1878 +size 21000 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_up.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_up.webp new file mode 100644 index 00000000..eacaf331 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_narrow_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73f645fb0acdba5fe880e7e832571f5d668824f98023c5504c122495e27b51eb +size 20656 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_ahegao.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_ahegao.webp new file mode 100644 index 00000000..9e8820b5 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ab0385a8d44e46a8746fe2fa27055921792cf324cf7bad190d6773b531d7059 +size 19944 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_down.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_down.webp new file mode 100644 index 00000000..ec0965ff --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59708bce22e82f9514e90d959c7c8ff8287b2ac62a43185f1ad8d2288696703a +size 20566 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_l.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_l.webp new file mode 100644 index 00000000..a606d8b9 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baf1a36c4c951128cd527b11d792998ffe269c66eabf3f7684f00f6fa41853d9 +size 20276 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_mid.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_mid.webp new file mode 100644 index 00000000..700e14bf --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c84785f9735a15c2919c1fe97844c0a970715f5257a0c8f1506a79d9c69bc35 +size 20580 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_r.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_r.webp new file mode 100644 index 00000000..78b826c5 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:489949541d935b57b5500309899b224229579c050afd78f592f06f01169454e6 +size 20204 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_stare.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_stare.webp new file mode 100644 index 00000000..700e14bf --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c84785f9735a15c2919c1fe97844c0a970715f5257a0c8f1506a79d9c69bc35 +size 20580 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_up.webp b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_up.webp new file mode 100644 index 00000000..a7955400 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/eyes/her_sex_personal_bent_over_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ff44633aec44ddc7210b340dc2173b688e1cdc6335044cd96f8fdad57918082 +size 20314 diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/angry.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_angry.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/angry.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_angry.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/annoyed.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_annoyed.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/annoyed.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_annoyed.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/base.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_base.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/base.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_base.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/clench.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_clench.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/clench.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_clench.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/crooked_smile.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_crooked_smile.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/crooked_smile.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_crooked_smile.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/disgust.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_disgust.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/disgust.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_disgust.webp diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_open_wide_tongue.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_open_wide_tongue.webp new file mode 100644 index 00000000..bd16ee53 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_open_wide_tongue.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a347e860f116fcf29bcdf868b12d15697bc564fb5437ae30ef4a3a6e3ec4897 +size 21934 diff --git a/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_scream.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_scream.webp new file mode 100644 index 00000000..a0bf15c8 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_fix_scream.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5d9027c1373c78c204b638d11b6627a9b649c54997939c4a41ea200ab884741 +size 21706 diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/grin.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_grin.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/grin.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_grin.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/mad.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_mad.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/mad.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_mad.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/normal.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_normal.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/normal.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_normal.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/open.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/open.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/open_tongue.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open_tongue.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/open_tongue.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open_tongue.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/open_wide_tongue.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open_wide_tongue.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/open_wide_tongue.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_open_wide_tongue.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/scream.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_scream.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/scream.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_scream.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/smile.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_smile.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/smile.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_smile.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/soft.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_soft.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/soft.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_soft.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/mouth/upset.webp b/game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_upset.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/mouth/upset.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/mouths/her_sex_personal_bent_over_mouth_upset.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/tears/soft.webp b/game/images/CG/her_sex/personal/bent_over/expressions/tears/her_sex_personal_bent_over_tears_soft.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/tears/soft.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/tears/her_sex_personal_bent_over_tears_soft.webp diff --git a/game/characters/hermione/poses/CG_bent_over/face/tears/soft_blink.webp b/game/images/CG/her_sex/personal/bent_over/expressions/tears/her_sex_personal_bent_over_tears_soft_blink.webp similarity index 100% rename from game/characters/hermione/poses/CG_bent_over/face/tears/soft_blink.webp rename to game/images/CG/her_sex/personal/bent_over/expressions/tears/her_sex_personal_bent_over_tears_soft_blink.webp diff --git a/game/images/CG/her_sex/genie_after.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_after.webp similarity index 100% rename from game/images/CG/her_sex/genie_after.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_after.webp diff --git a/game/images/CG/her_sex/caress_armfix.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_armfix_caress.webp similarity index 100% rename from game/images/CG/her_sex/caress_armfix.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_armfix_caress.webp diff --git a/game/images/CG/her_sex/grab_armfix.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_armfix_grab.webp similarity index 100% rename from game/images/CG/her_sex/grab_armfix.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_armfix_grab.webp diff --git a/game/images/CG/her_sex/genie_caress.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_caress.webp similarity index 100% rename from game/images/CG/her_sex/genie_caress.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_caress.webp diff --git a/game/images/CG/her_sex/genie_caress_grin.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_caress_grin.webp similarity index 100% rename from game/images/CG/her_sex/genie_caress_grin.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_caress_grin.webp diff --git a/game/images/CG/her_sex/genie_cum_inside.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_inside.webp similarity index 100% rename from game/images/CG/her_sex/genie_cum_inside.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_inside.webp diff --git a/game/images/CG/her_sex/genie_cum_outside.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_outside.webp similarity index 100% rename from game/images/CG/her_sex/genie_cum_outside.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_outside.webp diff --git a/game/images/CG/her_sex/genie_cum_outside2.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_outside2.webp similarity index 100% rename from game/images/CG/her_sex/genie_cum_outside2.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_cum_outside2.webp diff --git a/game/images/CG/her_sex/genie_grab.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_grab.webp similarity index 100% rename from game/images/CG/her_sex/genie_grab.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_grab.webp diff --git a/game/images/CG/her_sex/genie_grab_grin.webp b/game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_grab_grin.webp similarity index 100% rename from game/images/CG/her_sex/genie_grab_grin.webp rename to game/images/CG/her_sex/personal/bent_over/genie/her_sex_personal_bent_over_genie_grab_grin.webp diff --git a/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_armfix.webp b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_armfix.webp new file mode 100644 index 00000000..e1d48792 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f0b79f6210f50da15b25ddb48d060f11be9a70579ee2e1e1a6cdd622117e3e6 +size 10856 diff --git a/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_body.webp b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_body.webp new file mode 100644 index 00000000..90c263c2 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_body.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9a7747ba80f507fe9aa483c5096d8f197369fbf5fb7332e163063f214140c15 +size 123808 diff --git a/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_normal.webp b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_normal.webp new file mode 100644 index 00000000..8a0e6298 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_normal.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f820db217123307ca4fb66549ea7b2ed3dedf1de2b4aca31528a5510c71a86a +size 149610 diff --git a/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_pulled.webp b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_pulled.webp new file mode 100644 index 00000000..89bd7fa2 --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_hair_pulled.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:241af666937a89f339cf69c16a66a5ef4e6955b3c9254e1ada759e8be284bcbd +size 155708 diff --git a/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_shadow.webp b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_shadow.webp new file mode 100644 index 00000000..34bfa2cd --- /dev/null +++ b/game/images/CG/her_sex/personal/bent_over/her_sex_personal_bent_over_shadow.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:528a71cf5850261777bd855ec910ad2f118d13792e56d35f90676c5936a988e8 +size 15444 diff --git a/game/images/CG/her_sex/background.webp b/game/images/CG/her_sex/personal/her_sex_personal_background.webp similarity index 100% rename from game/images/CG/her_sex/background.webp rename to game/images/CG/her_sex/personal/her_sex_personal_background.webp diff --git a/game/images/CG/her_sex/personal/her_sex_personal_background_clutter.webp b/game/images/CG/her_sex/personal/her_sex_personal_background_clutter.webp new file mode 100644 index 00000000..75fc737a --- /dev/null +++ b/game/images/CG/her_sex/personal/her_sex_personal_background_clutter.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:450f1162fff4100b64d0824840d6eda9a0c53d37553a4eaf83dabedfde865c89 +size 53974 diff --git a/game/images/CG/her_sex/day_overlay.webp b/game/images/CG/her_sex/personal/her_sex_personal_overlay_day.webp similarity index 100% rename from game/images/CG/her_sex/day_overlay.webp rename to game/images/CG/her_sex/personal/her_sex_personal_overlay_day.webp diff --git a/game/images/CG/her_sex/night_overlay.webp b/game/images/CG/her_sex/personal/her_sex_personal_overlay_night.webp similarity index 100% rename from game/images/CG/her_sex/night_overlay.webp rename to game/images/CG/her_sex/personal/her_sex_personal_overlay_night.webp diff --git a/game/images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_shirt.webp b/game/images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_shirt.webp new file mode 100644 index 00000000..84d6c64b --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de57b67d16a910e4921c11ec90139aa239ad118397a1eae6321e611257f275e7 +size 96500 diff --git a/game/images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_skirt.webp b/game/images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_skirt.webp new file mode 100644 index 00000000..92d7abfc --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/clothes/her_sex_personal_lean_back_outfit_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d58f668c857a3d9be21f370439fe2156951528572b17bc461c3ea00816b06c4a +size 53548 diff --git a/game/characters/hermione/poses/CG_lean_back/face/cheeks/blush.webp b/game/images/CG/her_sex/personal/lean_back/expressions/cheeks/her_sex_personal_lean_back_cheeks_blush.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/cheeks/blush.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/cheeks/her_sex_personal_lean_back_cheeks_blush.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyebrows/angry.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_angry.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/eyebrows/angry.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_angry.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyebrows/annoyed.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_annoyed.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/eyebrows/annoyed.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_annoyed.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyebrows/base.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_base.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/eyebrows/base.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_base.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyebrows/worried.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_worried.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/eyebrows/worried.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/eyebrows/her_sex_personal_lean_back_eyebrows_worried.webp diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_ahegao.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_ahegao.webp new file mode 100644 index 00000000..a2215c24 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d83ef02a63c265ccc53c34a1bd1d18c5ce8e9e110bd3ef3760b8af0f1386d79 +size 17480 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_down.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_down.webp new file mode 100644 index 00000000..5d8e1be0 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41f96ef48973b96c4475edad8440159faf3b3d083c3d802f21bc9d95d558ba33 +size 18126 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_l.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_l.webp new file mode 100644 index 00000000..5c36485a --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01e75710e7038d4c9693b7ec80520ba7f75221f8b899bb0a4566a70d14c9f53d +size 17768 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_mid.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_mid.webp new file mode 100644 index 00000000..dcb903e4 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07cf4baf3d35a41ef99caf9b2077f12f9b98b77df0b147255ba5e3cbd30cc9b3 +size 18064 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_r.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_r.webp new file mode 100644 index 00000000..c6bd7a55 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2a735255e8625803f564fd9987f21896eaa76feceeaa3f1f7f2410a0ccd8f47 +size 17780 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_stare.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_stare.webp new file mode 100644 index 00000000..dcb903e4 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07cf4baf3d35a41ef99caf9b2077f12f9b98b77df0b147255ba5e3cbd30cc9b3 +size 18064 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_up.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_up.webp new file mode 100644 index 00000000..04059037 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:393b314f5b8aa09ff72ab59e9b2ddc3eefc8ddd70f032286af82fd899b1647de +size 17902 diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/closed.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_closed.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/eyes/closed.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_closed.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/eyes/happyCl.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happyCl.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/eyes/happyCl.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happyCl.webp diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_ahegao.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_ahegao.webp new file mode 100644 index 00000000..9ec7679c --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:313627e7313a937edd2e6e0c376b24f2ad6aed1b6962db3f3a171576649522c1 +size 17330 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_down.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_down.webp new file mode 100644 index 00000000..286b06ad --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfe7d88cb69d0905bfd73d819ebea6d5587b1f3e94198082309d95b020f3e400 +size 17716 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_l.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_l.webp new file mode 100644 index 00000000..1b046094 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18def9711de634ef24f2936ae9a98327a1c23194045153f21b4e92d2938f5f62 +size 17558 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_mid.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_mid.webp new file mode 100644 index 00000000..17b7a308 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc15be47780137d3b563c634ef3455e48e6e05325c7f21dee021f92086540f69 +size 17820 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_r.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_r.webp new file mode 100644 index 00000000..28758921 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77f2544a3adbceb2d01b7971b96cf5fce36ddacd64814f61a4f35ef0bced0d32 +size 17520 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_stare.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_stare.webp new file mode 100644 index 00000000..17b7a308 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc15be47780137d3b563c634ef3455e48e6e05325c7f21dee021f92086540f69 +size 17820 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_up.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_up.webp new file mode 100644 index 00000000..01969f09 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_happy_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1bfdbb66f187e30556fcc5121732f391d1d668f433b8add0992a7fb19f53e94 +size 17760 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_ahegao.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_ahegao.webp new file mode 100644 index 00000000..ead1b601 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a90881d52fe7803fac58997644e2412d52571d95e44dcc2f86d7a12fe5d6a9e +size 17384 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_down.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_down.webp new file mode 100644 index 00000000..09bc1610 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9af69704c9d6e86f06e3581373a3cc15f8f2e80f6bded4b1ba7e3f9e76e40cdb +size 18226 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_l.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_l.webp new file mode 100644 index 00000000..919e5d61 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5d7135a884ee416e685ff6f697ab0837f56022d5a8b8834512e3cd7245e8932 +size 18114 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_mid.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_mid.webp new file mode 100644 index 00000000..fd2edbd2 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:164c8ab2515af7344e2cac1515f7de895dadad0f19d309e80dc2c0a06b6276dd +size 18312 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_r.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_r.webp new file mode 100644 index 00000000..70b6b4b3 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb1f9f677c0ea71ea24eb376e06501eb391bccd650820473a54c97d32b2b5a86 +size 17940 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_stare.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_stare.webp new file mode 100644 index 00000000..fd2edbd2 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:164c8ab2515af7344e2cac1515f7de895dadad0f19d309e80dc2c0a06b6276dd +size 18312 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_up.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_up.webp new file mode 100644 index 00000000..24dce425 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_narrow_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62d2c629e55a77b6c1efb6527c0722a02de3e873f878663845d1c61f25753d5a +size 17998 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_ahegao.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_ahegao.webp new file mode 100644 index 00000000..42e3934c --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e108e452947697e4b869a200f1bc457c695ddaa1bd0dc80e4f5dea9783ebdc6 +size 17936 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_down.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_down.webp new file mode 100644 index 00000000..d72136c9 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df2828288b5d255e511d9166b0f262d87d4a690fa98e85f6b5afc306f344af9b +size 18698 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_l.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_l.webp new file mode 100644 index 00000000..e7e32e97 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cc20e65b6ecf179f38388092519591d60da41513f57ed5d6f760104096cda39 +size 18326 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_mid.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_mid.webp new file mode 100644 index 00000000..8bd19faf --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ef76984da956e3e3f3179c11e91ce81b3f1da03dd7170f70e4c96c79959c9e7 +size 18614 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_r.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_r.webp new file mode 100644 index 00000000..5cc5c37c --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046351eea63b79cc6ba3fbc4ef50d64cc4087db2a7f0cd2a0b19f81c6a07af8f +size 18408 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_stare.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_stare.webp new file mode 100644 index 00000000..8bd19faf --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ef76984da956e3e3f3179c11e91ce81b3f1da03dd7170f70e4c96c79959c9e7 +size 18614 diff --git a/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_up.webp b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_up.webp new file mode 100644 index 00000000..ffcb48cf --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/expressions/eyes/her_sex_personal_lean_back_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f21017ff48f4099455da96b2c8e6945819e13e111d0808fa9a577fc884b810d +size 18436 diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/angry.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_angry.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/angry.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_angry.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/annoyed.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_annoyed.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/annoyed.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_annoyed.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/base.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_base.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/base.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_base.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/clench.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_clench.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/clench.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_clench.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/crooked_smile.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_crooked_smile.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/crooked_smile.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_crooked_smile.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/disgust.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_disgust.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/disgust.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_disgust.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/full.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_full.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/full.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_full.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/grin.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_grin.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/grin.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_grin.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/mad.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_mad.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/mad.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_mad.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/normal.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_normal.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/normal.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_normal.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/open.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/open.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/open_tongue.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open_tongue.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/open_tongue.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open_tongue.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/open_wide_tongue.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open_wide_tongue.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/open_wide_tongue.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_open_wide_tongue.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/scream.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_scream.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/scream.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_scream.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/smile.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_smile.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/smile.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_smile.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/soft.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_soft.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/soft.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_soft.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/mouth/upset.webp b/game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_upset.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/mouth/upset.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/mouth/her_sex_personal_lean_back_mouth_upset.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/tears/soft.webp b/game/images/CG/her_sex/personal/lean_back/expressions/tears/her_sex_personal_lean_back_tears_soft.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/tears/soft.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/tears/her_sex_personal_lean_back_tears_soft.webp diff --git a/game/characters/hermione/poses/CG_lean_back/face/tears/soft_blink.webp b/game/images/CG/her_sex/personal/lean_back/expressions/tears/her_sex_personal_lean_back_tears_soft_blink.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/face/tears/soft_blink.webp rename to game/images/CG/her_sex/personal/lean_back/expressions/tears/her_sex_personal_lean_back_tears_soft_blink.webp diff --git a/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_after.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_after.webp new file mode 100644 index 00000000..dab6555d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_after.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1f1218ed15d3e2a04e4f07bb87bef7c2eca13538217d7ac023ae4679f313326 +size 365786 diff --git a/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress.webp new file mode 100644 index 00000000..00baf354 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c57b306e287b1af229f16d94d3797989032cc7a03d4c7bf5ecca451dc919654 +size 63810 diff --git a/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress_grin.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress_grin.webp new file mode 100644 index 00000000..00baf354 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_caress_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c57b306e287b1af229f16d94d3797989032cc7a03d4c7bf5ecca451dc919654 +size 63810 diff --git a/game/images/CG/her_sex/hold_armfix.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_hold.webp similarity index 100% rename from game/images/CG/her_sex/hold_armfix.webp rename to game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_hold.webp diff --git a/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_hold_grin.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_hold_grin.webp new file mode 100644 index 00000000..a26a404d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_armfix_hold_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f063b2da4b17782b7d39d69e2235d2bc6279de4f3ede4398a34f11ae0eb2db6 +size 40678 diff --git a/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress.webp new file mode 100644 index 00000000..a57bd2af --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6923f559c5802e4b3972d8e99b1c2448d8a902059c8f4f862b9360298a465294 +size 350332 diff --git a/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress_grin.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress_grin.webp new file mode 100644 index 00000000..a7d61739 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_caress_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e35196760322419b6d353115c80cf7cace0408b5503e3c6b25f75ae4952801d0 +size 352622 diff --git a/game/images/CG/her_sex/genie_hold.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_hold.webp similarity index 100% rename from game/images/CG/her_sex/genie_hold.webp rename to game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_hold.webp diff --git a/game/images/CG/her_sex/genie_hold_grin.webp b/game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_hold_grin.webp similarity index 100% rename from game/images/CG/her_sex/genie_hold_grin.webp rename to game/images/CG/her_sex/personal/lean_back/genie/her_sex_personal_lean_back_genie_hold_grin.webp diff --git a/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix.webp b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix.webp new file mode 100644 index 00000000..6015df30 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f07e68cab37dbd465dc6eb87eceaa6de9e9b960bff8cda9eccc42e84f408b15c +size 46932 diff --git a/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix2.webp b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix2.webp new file mode 100644 index 00000000..ce17331d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_armfix2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c80cc41187ba2bd589ebb63811cf03792847a4c1961c9b15953d3de9673a3f8 +size 31504 diff --git a/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_body.webp b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_body.webp new file mode 100644 index 00000000..23c5e059 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_body.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6cbc760e35bb7346d2f1a2e2692055b38c8f358396f188687598b04ccfa206d +size 160276 diff --git a/game/characters/hermione/poses/CG_lean_back/body/breasts/normal.webp b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_breastfix.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_back/body/breasts/normal.webp rename to game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_breastfix.webp diff --git a/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_normal.webp b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_normal.webp new file mode 100644 index 00000000..7b262028 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_normal.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba10a933b8e0dcfab777155f5ffee2ede01e94a7e8ed95dff321fe6b10cdc1ae +size 136994 diff --git a/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_pulled.webp b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_pulled.webp new file mode 100644 index 00000000..674b2873 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_back/her_sex_personal_lean_back_hair_pulled.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf887c2d30de3ccbc50425c68b8cc14ea5894acd5ab14ea5a6213f8bc8c3ab7a +size 139326 diff --git a/game/images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_shirt.webp b/game/images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_shirt.webp new file mode 100644 index 00000000..797eeabf --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_shirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e77e073d00a3cb8bc65c4e9664a46e9f26724b9aa50f9b4550a76196f0931c1b +size 90558 diff --git a/game/images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_skirt.webp b/game/images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_skirt.webp new file mode 100644 index 00000000..5fa8003e --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/clothes/her_sex_personal_lean_forward_outfit_skirt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a31f7f622a243402d64b44719d4b77c3f03d3c03a8e54c82f6b2b9ab0f033236 +size 57786 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/cheeks/blush.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/cheeks/her_sex_personal_lean_forward_cheeks_blush.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/cheeks/blush.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/cheeks/her_sex_personal_lean_forward_cheeks_blush.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyebrows/angry.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_angry.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/eyebrows/angry.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_angry.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyebrows/annoyed.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_annoyed.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/eyebrows/annoyed.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_annoyed.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyebrows/base.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_base.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/eyebrows/base.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_base.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyebrows/worried.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_worried.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/eyebrows/worried.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/eyebrows/her_sex_personal_lean_forward_eyebrows_worried.webp diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_ahegao.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_ahegao.webp new file mode 100644 index 00000000..9c6b4b23 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a341d218e32e23ceff175db1dfa9e170a80bca07e7addc978980a57423ef5372 +size 17340 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_down.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_down.webp new file mode 100644 index 00000000..38f2e36d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44bea17d3495b8b868b376c7b1b7d2bcf6c07dcc2172ad146d8647d93b67877b +size 18096 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_l.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_l.webp new file mode 100644 index 00000000..484ffc2f --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af21f9e07b481d2fc28fa8ed56c0e50a6183f07a034ef7976c2ff33ebdd72f22 +size 17818 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_mid.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_mid.webp new file mode 100644 index 00000000..4e5f76d7 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:400dd9fd99869a7a9f41205ed43fd2dc0b27ff1c37c1d9d4be698f60ba4ee85c +size 18100 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_r.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_r.webp new file mode 100644 index 00000000..ff275e9b --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:211bb4ba5d58adba80c89655de4163cc7abfc9aa996d811e4baea8ce0f76716e +size 17772 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_stare.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_stare.webp new file mode 100644 index 00000000..4e5f76d7 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:400dd9fd99869a7a9f41205ed43fd2dc0b27ff1c37c1d9d4be698f60ba4ee85c +size 18100 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_up.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_up.webp new file mode 100644 index 00000000..ec9385c9 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b04b779af9ed70cae3eb2a111bc9690dc3a3bd7a2b23df083a48e6ffcf511bf3 +size 17882 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/closed.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_closed.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/eyes/closed.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_closed.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/eyes/happyCl.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happyCl.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/eyes/happyCl.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happyCl.webp diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_ahegao.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_ahegao.webp new file mode 100644 index 00000000..d20092f3 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28d9b1ae238ccc1ae6894735eadfd2e9c0d245445b68f2b4debb543abe0fa05f +size 17388 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_down.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_down.webp new file mode 100644 index 00000000..943e43f2 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:addcbe4d210f7db157fa684f64743a38ffc444ec63c67e1eec536e3d0f522a3b +size 17924 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_l.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_l.webp new file mode 100644 index 00000000..471f1e67 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0a1b22747e154462088e5b0c758b1fdbc71bc80f53f1dc9ceff965c886a1738 +size 17782 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_mid.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_mid.webp new file mode 100644 index 00000000..e40d5eff --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd8e4476d85330eda52334ca8e88021693737af787bd122486b53bc364e2b407 +size 18016 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_r.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_r.webp new file mode 100644 index 00000000..d16dced6 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8efada8c99062123f12e7fe1efba7617a0c68ddeaa717957818d3bb2b016fb6d +size 17734 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_stare.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_stare.webp new file mode 100644 index 00000000..e40d5eff --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd8e4476d85330eda52334ca8e88021693737af787bd122486b53bc364e2b407 +size 18016 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_up.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_up.webp new file mode 100644 index 00000000..cf97aafb --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_happy_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8ae2a99d54e1799647d3da77f75c6053f0878c830243209047fc06b37ae4f64 +size 17916 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_ahegao.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_ahegao.webp new file mode 100644 index 00000000..ffd88a1d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfd0456f6efcff94a4037eee5e83d66a57b0452cfbbf88ea3e88f8ecd02aa794 +size 17522 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_down.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_down.webp new file mode 100644 index 00000000..193fb615 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0ea43381ff53ea86b14721d5c4a14bdcf42998ebecfac2d5c7b238acd080be8 +size 18452 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_l.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_l.webp new file mode 100644 index 00000000..bc5c39ef --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cebad795cb163a4a215e1e884e30119112d19f64ac2efd50fe8c77aa24c2e433 +size 18268 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_mid.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_mid.webp new file mode 100644 index 00000000..d1f52882 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c398fa5923b81aa0f52272b3db7f8e25df94b2ca37ff2966a57a66c97e0be8b +size 18518 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_r.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_r.webp new file mode 100644 index 00000000..480db77f --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39da0a133b5c28a7da4f1b588ff741ade1d3e80a012536fed3b9a54d245e7ec7 +size 18172 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_stare.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_stare.webp new file mode 100644 index 00000000..d1f52882 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c398fa5923b81aa0f52272b3db7f8e25df94b2ca37ff2966a57a66c97e0be8b +size 18518 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_up.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_up.webp new file mode 100644 index 00000000..35815a62 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_narrow_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b9a90af0c39e60de3a5e18335f76f8178955aa8d554e7fd058192144a20b39e +size 18136 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_ahegao.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_ahegao.webp new file mode 100644 index 00000000..5342f739 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_ahegao.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edad85346c3fe22b2fa72886edefb9a3405848f38614690af1ab243dbc87a583 +size 17866 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_down.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_down.webp new file mode 100644 index 00000000..1fd488f7 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59ba43bd85a9f6984c157011b6531c312c267437abb9f69dde9a5dc971875264 +size 18670 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_l.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_l.webp new file mode 100644 index 00000000..a92bd309 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_l.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3498c4c4fd22695c9bd59078adb6236b881aac1c0b348af77baa961fd0b262c +size 18262 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_mid.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_mid.webp new file mode 100644 index 00000000..aab1091c --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_mid.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ead7e7a2910df0bcd351cf556a59bda85e541f4bf7bbb844f9d79c7d92bbfefd +size 18556 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_r.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_r.webp new file mode 100644 index 00000000..4e4db54b --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_r.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47033b55bd994176b58a856ebbe49a446b39d72b3ae09619cec857e942cdf95b +size 18342 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_stare.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_stare.webp new file mode 100644 index 00000000..aab1091c --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ead7e7a2910df0bcd351cf556a59bda85e541f4bf7bbb844f9d79c7d92bbfefd +size 18556 diff --git a/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_up.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_up.webp new file mode 100644 index 00000000..4d171376 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/expressions/eyes/her_sex_personal_lean_forward_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecabc81c8435b1d62b9ec2b9441f1091f69b9c0018958b058b2a924b2843fad7 +size 18342 diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/angry.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_angry.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/angry.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_angry.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/annoyed.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_annoyed.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/annoyed.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_annoyed.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/base.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_base.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/base.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_base.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/clench.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_clench.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/clench.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_clench.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/crooked_smile.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_crooked_smile.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/crooked_smile.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_crooked_smile.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/disgust.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_disgust.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/disgust.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_disgust.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/full.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_full.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/full.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_full.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/grin.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_grin.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/grin.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_grin.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/mad.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_mad.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/mad.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_mad.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/normal.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_normal.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/normal.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_normal.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/open.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/open.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/open_tongue.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open_tongue.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/open_tongue.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open_tongue.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/open_wide_tongue.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open_wide_tongue.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/open_wide_tongue.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_open_wide_tongue.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/scream.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_scream.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/scream.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_scream.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/smile.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_smile.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/smile.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_smile.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/soft.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_soft.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/soft.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_soft.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/mouth/upset.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_upset.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/mouth/upset.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/mouth/her_sex_personal_lean_forward_mouth_upset.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/tears/soft.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/tears/her_sex_personal_lean_forward_tears_soft.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/tears/soft.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/tears/her_sex_personal_lean_forward_tears_soft.webp diff --git a/game/characters/hermione/poses/CG_lean_forward/face/tears/soft_blink.webp b/game/images/CG/her_sex/personal/lean_forward/expressions/tears/her_sex_personal_lean_forward_tears_soft_blink.webp similarity index 100% rename from game/characters/hermione/poses/CG_lean_forward/face/tears/soft_blink.webp rename to game/images/CG/her_sex/personal/lean_forward/expressions/tears/her_sex_personal_lean_forward_tears_soft_blink.webp diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_after.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_after.webp new file mode 100644 index 00000000..dab6555d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_after.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1f1218ed15d3e2a04e4f07bb87bef7c2eca13538217d7ac023ae4679f313326 +size 365786 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress.webp new file mode 100644 index 00000000..00baf354 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c57b306e287b1af229f16d94d3797989032cc7a03d4c7bf5ecca451dc919654 +size 63810 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress_grin.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress_grin.webp new file mode 100644 index 00000000..00baf354 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_caress_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c57b306e287b1af229f16d94d3797989032cc7a03d4c7bf5ecca451dc919654 +size 63810 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold.webp new file mode 100644 index 00000000..a26a404d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f063b2da4b17782b7d39d69e2235d2bc6279de4f3ede4398a34f11ae0eb2db6 +size 40678 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold_grin.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold_grin.webp new file mode 100644 index 00000000..a26a404d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_armfix_hold_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f063b2da4b17782b7d39d69e2235d2bc6279de4f3ede4398a34f11ae0eb2db6 +size 40678 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress.webp new file mode 100644 index 00000000..a57bd2af --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6923f559c5802e4b3972d8e99b1c2448d8a902059c8f4f862b9360298a465294 +size 350332 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress_grin.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress_grin.webp new file mode 100644 index 00000000..a7d61739 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_caress_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e35196760322419b6d353115c80cf7cace0408b5503e3c6b25f75ae4952801d0 +size 352622 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold.webp new file mode 100644 index 00000000..859ab38d --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40aaac429b51b489973e40d8634d1ca8fa373de6b45cdae4670f446129e09bfe +size 339636 diff --git a/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold_grin.webp b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold_grin.webp new file mode 100644 index 00000000..8e8a0f4b --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/genie/her_sex_personal_lean_forward_genie_hold_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9fa2ad8277a087907fc27f0399f30773f5bc1d97d332505253c91c323c67a6c +size 342284 diff --git a/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_armfix.webp b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_armfix.webp new file mode 100644 index 00000000..5ee11efb --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_armfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7540de28413ea14d4ba9f5b92653b9b85b991aee4873afbb14d3e2ada8ce2471 +size 34640 diff --git a/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_body.webp b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_body.webp new file mode 100644 index 00000000..0a95e144 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_body.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4803d4179b54e356340e83e0caed0e692c627a8ccbb81b330d0b465509832a15 +size 144664 diff --git a/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_breastfix.webp b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_breastfix.webp new file mode 100644 index 00000000..70c1639f --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_breastfix.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:943510734c6f11b255620f51155e4ad3a0c113cfa3b7944d745ebb1db1173602 +size 15376 diff --git a/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_hair_normal.webp b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_hair_normal.webp new file mode 100644 index 00000000..ec303899 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_hair_normal.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4fe4d1f51a2f5de9bcb4b859e826ff38840e9a608501557d2bfd1b64c7c0acf +size 136982 diff --git a/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_shadow.webp b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_shadow.webp new file mode 100644 index 00000000..4b8744d2 --- /dev/null +++ b/game/images/CG/her_sex/personal/lean_forward/her_sex_personal_lean_forward_shadow.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a809fb5fea340001c0f73b5dd31a14ff28dcf9d8e7a4cf9e2b62abea305e081c +size 9740 diff --git a/game/images/CG/her_sex/scream.webp b/game/images/CG/her_sex/scream.webp deleted file mode 100644 index ae6ffb86..00000000 --- a/game/images/CG/her_sex/scream.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a56190aa738401eae7fbacd465f37c947b2d5e15f41d01c348a520e31dfe91c -size 19722 diff --git a/game/images/CG/herm_tentacles/p1.webp b/game/images/CG/her_tentacles/personal/her_tentacles_personal_1.webp similarity index 100% rename from game/images/CG/herm_tentacles/p1.webp rename to game/images/CG/her_tentacles/personal/her_tentacles_personal_1.webp diff --git a/game/images/CG/herm_tentacles/e2.webp b/game/images/CG/her_tentacles/personal/her_tentacles_personal_2.webp similarity index 100% rename from game/images/CG/herm_tentacles/e2.webp rename to game/images/CG/her_tentacles/personal/her_tentacles_personal_2.webp diff --git a/game/images/CG/herm_tentacles/e3.webp b/game/images/CG/her_tentacles/personal/her_tentacles_personal_3.webp similarity index 100% rename from game/images/CG/herm_tentacles/e3.webp rename to game/images/CG/her_tentacles/personal/her_tentacles_personal_3.webp diff --git a/game/images/CG/herm_tentacles/e4.webp b/game/images/CG/her_tentacles/personal/her_tentacles_personal_4.webp similarity index 100% rename from game/images/CG/herm_tentacles/e4.webp rename to game/images/CG/her_tentacles/personal/her_tentacles_personal_4.webp diff --git a/game/images/CG/herm_tentacles/e5.webp b/game/images/CG/her_tentacles/personal/her_tentacles_personal_5.webp similarity index 100% rename from game/images/CG/herm_tentacles/e5.webp rename to game/images/CG/her_tentacles/personal/her_tentacles_personal_5.webp diff --git a/game/images/CG/herm_tentacles/e6.webp b/game/images/CG/her_tentacles/personal/her_tentacles_personal_6.webp similarity index 100% rename from game/images/CG/herm_tentacles/e6.webp rename to game/images/CG/her_tentacles/personal/her_tentacles_personal_6.webp diff --git a/game/images/CG/herm_tentacles/e7.webp b/game/images/CG/her_tentacles/personal/her_tentacles_personal_7.webp similarity index 100% rename from game/images/CG/herm_tentacles/e7.webp rename to game/images/CG/her_tentacles/personal/her_tentacles_personal_7.webp diff --git a/game/images/CG/her_tentacles/public/her_tentacles_public_1.webp b/game/images/CG/her_tentacles/public/her_tentacles_public_1.webp new file mode 100644 index 00000000..20a4677f --- /dev/null +++ b/game/images/CG/her_tentacles/public/her_tentacles_public_1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a5bd94261fd4fcb5f03f5c8109febce09de3f039e7fae681acd58081671e594 +size 960288 diff --git a/game/images/CG/herm_tentacles/p2.webp b/game/images/CG/her_tentacles/public/her_tentacles_public_2.webp similarity index 100% rename from game/images/CG/herm_tentacles/p2.webp rename to game/images/CG/her_tentacles/public/her_tentacles_public_2.webp diff --git a/game/images/CG/herm_tentacles/p3.webp b/game/images/CG/her_tentacles/public/her_tentacles_public_3.webp similarity index 100% rename from game/images/CG/herm_tentacles/p3.webp rename to game/images/CG/her_tentacles/public/her_tentacles_public_3.webp diff --git a/game/images/CG/herm_tentacles/p4.webp b/game/images/CG/her_tentacles/public/her_tentacles_public_4.webp similarity index 100% rename from game/images/CG/herm_tentacles/p4.webp rename to game/images/CG/her_tentacles/public/her_tentacles_public_4.webp diff --git a/game/images/CG/herm_tentacles/p5.webp b/game/images/CG/her_tentacles/public/her_tentacles_public_5.webp similarity index 100% rename from game/images/CG/herm_tentacles/p5.webp rename to game/images/CG/her_tentacles/public/her_tentacles_public_5.webp diff --git a/game/images/CG/herm_tentacles/p6.webp b/game/images/CG/her_tentacles/public/her_tentacles_public_6.webp similarity index 100% rename from game/images/CG/herm_tentacles/p6.webp rename to game/images/CG/her_tentacles/public/her_tentacles_public_6.webp diff --git a/game/images/CG/herm_tentacles/p7.webp b/game/images/CG/her_tentacles/public/her_tentacles_public_7.webp similarity index 100% rename from game/images/CG/herm_tentacles/p7.webp rename to game/images/CG/her_tentacles/public/her_tentacles_public_7.webp diff --git a/game/images/CG/herm_boob/base.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_background.webp similarity index 100% rename from game/images/CG/herm_boob/base.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_background.webp diff --git a/game/images/CG/herm_boob/1.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h1.webp similarity index 100% rename from game/images/CG/herm_boob/1.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h1.webp diff --git a/game/images/CG/herm_boob/10.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h10.webp similarity index 100% rename from game/images/CG/herm_boob/10.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h10.webp diff --git a/game/images/CG/herm_boob/11.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h11.webp similarity index 100% rename from game/images/CG/herm_boob/11.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h11.webp diff --git a/game/images/CG/herm_boob/12.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h12.webp similarity index 100% rename from game/images/CG/herm_boob/12.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h12.webp diff --git a/game/images/CG/herm_boob/13.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h13.webp similarity index 100% rename from game/images/CG/herm_boob/13.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h13.webp diff --git a/game/images/CG/herm_boob/14.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h14.webp similarity index 100% rename from game/images/CG/herm_boob/14.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h14.webp diff --git a/game/images/CG/herm_boob/15.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h15.webp similarity index 100% rename from game/images/CG/herm_boob/15.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h15.webp diff --git a/game/images/CG/herm_boob/16.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h16.webp similarity index 100% rename from game/images/CG/herm_boob/16.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h16.webp diff --git a/game/images/CG/herm_boob/17.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h17.webp similarity index 100% rename from game/images/CG/herm_boob/17.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h17.webp diff --git a/game/images/CG/herm_boob/18.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h18.webp similarity index 100% rename from game/images/CG/herm_boob/18.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h18.webp diff --git a/game/images/CG/herm_boob/19.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h19.webp similarity index 100% rename from game/images/CG/herm_boob/19.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h19.webp diff --git a/game/images/CG/herm_boob/2.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h2.webp similarity index 100% rename from game/images/CG/herm_boob/2.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h2.webp diff --git a/game/images/CG/herm_boob/20.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h20.webp similarity index 100% rename from game/images/CG/herm_boob/20.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h20.webp diff --git a/game/images/CG/herm_boob/21.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h21.webp similarity index 100% rename from game/images/CG/herm_boob/21.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h21.webp diff --git a/game/images/CG/herm_boob/22.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h22.webp similarity index 100% rename from game/images/CG/herm_boob/22.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h22.webp diff --git a/game/images/CG/herm_boob/23.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h23.webp similarity index 100% rename from game/images/CG/herm_boob/23.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h23.webp diff --git a/game/images/CG/herm_boob/24.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h24.webp similarity index 100% rename from game/images/CG/herm_boob/24.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h24.webp diff --git a/game/images/CG/herm_boob/25.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h25.webp similarity index 100% rename from game/images/CG/herm_boob/25.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h25.webp diff --git a/game/images/CG/herm_boob/26.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h26.webp similarity index 100% rename from game/images/CG/herm_boob/26.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h26.webp diff --git a/game/images/CG/herm_boob/27.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h27.webp similarity index 100% rename from game/images/CG/herm_boob/27.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h27.webp diff --git a/game/images/CG/herm_boob/28.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h28.webp similarity index 100% rename from game/images/CG/herm_boob/28.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h28.webp diff --git a/game/images/CG/herm_boob/29.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h29.webp similarity index 100% rename from game/images/CG/herm_boob/29.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h29.webp diff --git a/game/images/CG/herm_boob/3.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h3.webp similarity index 100% rename from game/images/CG/herm_boob/3.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h3.webp diff --git a/game/images/CG/herm_boob/30.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h30.webp similarity index 100% rename from game/images/CG/herm_boob/30.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h30.webp diff --git a/game/images/CG/herm_boob/31.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h31.webp similarity index 100% rename from game/images/CG/herm_boob/31.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h31.webp diff --git a/game/images/CG/herm_boob/32.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h32.webp similarity index 100% rename from game/images/CG/herm_boob/32.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h32.webp diff --git a/game/images/CG/herm_boob/33.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h33.webp similarity index 100% rename from game/images/CG/herm_boob/33.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h33.webp diff --git a/game/images/CG/herm_boob/34.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h34.webp similarity index 100% rename from game/images/CG/herm_boob/34.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h34.webp diff --git a/game/images/CG/herm_boob/35.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h35.webp similarity index 100% rename from game/images/CG/herm_boob/35.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h35.webp diff --git a/game/images/CG/herm_boob/36.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h36.webp similarity index 100% rename from game/images/CG/herm_boob/36.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h36.webp diff --git a/game/images/CG/herm_boob/37.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h37.webp similarity index 100% rename from game/images/CG/herm_boob/37.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h37.webp diff --git a/game/images/CG/herm_boob/4.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h4.webp similarity index 100% rename from game/images/CG/herm_boob/4.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h4.webp diff --git a/game/images/CG/herm_boob/5.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h5.webp similarity index 100% rename from game/images/CG/herm_boob/5.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h5.webp diff --git a/game/images/CG/herm_boob/6.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h6.webp similarity index 100% rename from game/images/CG/herm_boob/6.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h6.webp diff --git a/game/images/CG/herm_boob/7.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h7.webp similarity index 100% rename from game/images/CG/herm_boob/7.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h7.webp diff --git a/game/images/CG/herm_boob/8.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h8.webp similarity index 100% rename from game/images/CG/herm_boob/8.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h8.webp diff --git a/game/images/CG/herm_boob/9.webp b/game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h9.webp similarity index 100% rename from game/images/CG/herm_boob/9.webp rename to game/images/CG/her_titjob/personal/her_titjob_personal_hermione_h9.webp diff --git a/game/images/CG/herm_deep/base.webp b/game/images/CG/herm_deep/base.webp deleted file mode 100644 index 5fdc87ff..00000000 --- a/game/images/CG/herm_deep/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64961fac821a477df15c0c889f86f46d363f39fa3dad27de24a44899e0a10035 -size 225712 diff --git a/game/images/CG/herm_deep/blank.webp b/game/images/CG/herm_deep/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/herm_deep/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/herm_deep/body_base.webp b/game/images/CG/herm_deep/body_base.webp deleted file mode 100644 index 37aba17d..00000000 --- a/game/images/CG/herm_deep/body_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3ba34a7942d7e2f4ffd1f128d6c2051a4a77d4cd2d5c1f1d7a2feb6a9ff0edc -size 119194 diff --git a/game/images/CG/herm_deep/c_blush.webp b/game/images/CG/herm_deep/c_blush.webp deleted file mode 100644 index 358002f1..00000000 --- a/game/images/CG/herm_deep/c_blush.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e47af08ea14a20906703654f4c3250f3a42a4cddb960066b087f36d74b8be681 -size 6586 diff --git a/game/images/CG/herm_deep/cum.webp b/game/images/CG/herm_deep/cum.webp deleted file mode 100644 index 5f976f22..00000000 --- a/game/images/CG/herm_deep/cum.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60b2f240d30f3cf1302f2809363c3c67ee67c6d94d7d6641d18a25ea9ab9deeb -size 50600 diff --git a/game/images/CG/herm_deep/cum_2.webp b/game/images/CG/herm_deep/cum_2.webp deleted file mode 100644 index b8f90c43..00000000 --- a/game/images/CG/herm_deep/cum_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8b35ab989f66753f8b1c19d742df99046664a91e90a30a9ea3c4ef63d77e5a51 -size 26178 diff --git a/game/images/CG/herm_deep/eb_mad.webp b/game/images/CG/herm_deep/eb_mad.webp deleted file mode 100644 index 4b34aedd..00000000 --- a/game/images/CG/herm_deep/eb_mad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:120e25c4b68287bc1e7d9efdd4a4521c3301407bfef9f8c5235b7fb5fb76f78c -size 4608 diff --git a/game/images/CG/herm_deep/eb_raised.webp b/game/images/CG/herm_deep/eb_raised.webp deleted file mode 100644 index a0f37c34..00000000 --- a/game/images/CG/herm_deep/eb_raised.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eab9609c0d1bdb29919c4652632f303d9bfbf8d27f4b5977963e6e1120334575 -size 3368 diff --git a/game/images/CG/herm_deep/eb_sad.webp b/game/images/CG/herm_deep/eb_sad.webp deleted file mode 100644 index 9ec5d26c..00000000 --- a/game/images/CG/herm_deep/eb_sad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9bbb53c5547b3345e5c9fc0ee8ad8dc03e5dcfefed64c714a63c9e2ea00fce9 -size 3734 diff --git a/game/images/CG/herm_deep/eye_base.webp b/game/images/CG/herm_deep/eye_base.webp deleted file mode 100644 index c44e6dc6..00000000 --- a/game/images/CG/herm_deep/eye_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c959c8a2c8dcd66ea8c6f6cad0f8466fc87e9a0eae29b30ae8c20e2a6f13a28 -size 2416 diff --git a/game/images/CG/herm_deep/eye_closed.webp b/game/images/CG/herm_deep/eye_closed.webp deleted file mode 100644 index 1d6f5190..00000000 --- a/game/images/CG/herm_deep/eye_closed.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75408c6bd52a78252111fd27968f1a21d0eaede46e0ddfca9c4b1e4818a9ba8d -size 3286 diff --git a/game/images/CG/herm_deep/eye_happyCl.webp b/game/images/CG/herm_deep/eye_happyCl.webp deleted file mode 100644 index 898d4013..00000000 --- a/game/images/CG/herm_deep/eye_happyCl.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:486f3d6ed44c90025733f94c7aad8626d5d28fb793195fdaf20296ec1d2505e7 -size 3208 diff --git a/game/images/CG/herm_deep/eye_squeeze.webp b/game/images/CG/herm_deep/eye_squeeze.webp deleted file mode 100644 index 538917d1..00000000 --- a/game/images/CG/herm_deep/eye_squeeze.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2de8ea7f1bb9e8598b0c2590fbafd009e0472e5d74720ffb0bde9830afbe563a -size 4636 diff --git a/game/images/CG/herm_deep/eye_squint.webp b/game/images/CG/herm_deep/eye_squint.webp deleted file mode 100644 index 0ca7e0b6..00000000 --- a/game/images/CG/herm_deep/eye_squint.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bf605ab3800eb5ecfa82ba5e1db57af3e21811b3a791de214cb2a1d216bb5491 -size 3070 diff --git a/game/images/CG/herm_deep/eye_squint_m.webp b/game/images/CG/herm_deep/eye_squint_m.webp deleted file mode 100644 index ab937183..00000000 --- a/game/images/CG/herm_deep/eye_squint_m.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0928141275f8259c3520107d59a1722b14072c6c90e428a213007d0690b77cb6 -size 3742 diff --git a/game/images/CG/herm_deep/eye_white.webp b/game/images/CG/herm_deep/eye_white.webp deleted file mode 100644 index 610e77f8..00000000 --- a/game/images/CG/herm_deep/eye_white.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:328e622b602b97e0d79ee3dad3a81be037c7a04f7b23d4493aaa6c91047ffabd -size 1618 diff --git a/game/images/CG/herm_deep/genie.webp b/game/images/CG/herm_deep/genie.webp deleted file mode 100644 index 533ffb9c..00000000 --- a/game/images/CG/herm_deep/genie.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:05b740d4faad0e3668292df5fdbce7a5c4fba119eba60d2811849427ccc9525f -size 71920 diff --git a/game/images/CG/herm_deep/hand.webp b/game/images/CG/herm_deep/hand.webp deleted file mode 100644 index f2c4a75a..00000000 --- a/game/images/CG/herm_deep/hand.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64db01f2bd6177e151096dbde696a377f59c1aa199a1de1d0cd7444c4a82378a -size 34306 diff --git a/game/images/CG/herm_deep/m_base.webp b/game/images/CG/herm_deep/m_base.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/herm_deep/m_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/herm_deep/m_full.webp b/game/images/CG/herm_deep/m_full.webp deleted file mode 100644 index 568b63aa..00000000 --- a/game/images/CG/herm_deep/m_full.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c6154094a3d52d901b368df4616e427331d2198b8fb43854b13c4dce5b53949 -size 6378 diff --git a/game/images/CG/herm_deep/mascara.webp b/game/images/CG/herm_deep/mascara.webp deleted file mode 100644 index 0e98dbec..00000000 --- a/game/images/CG/herm_deep/mascara.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:26f6c4315fe4844f90e1cfd732d4b83e7050e819a07e95180826f5fc05eac9b2 -size 4458 diff --git a/game/images/CG/herm_deep/pup_ahegao.webp b/game/images/CG/herm_deep/pup_ahegao.webp deleted file mode 100644 index ef2d9345..00000000 --- a/game/images/CG/herm_deep/pup_ahegao.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef4d5a8b9fb0153ed245ce75d0f919b29f12808bc58697c3f6f90cb4cbca1226 -size 784 diff --git a/game/images/CG/herm_deep/pup_left.webp b/game/images/CG/herm_deep/pup_left.webp deleted file mode 100644 index 8f9851ee..00000000 --- a/game/images/CG/herm_deep/pup_left.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:699d86e8d6bdbeb52fb33b5eaa1600b57b2fb3c1987c30cc2cfcc7e3ac9d17ce -size 862 diff --git a/game/images/CG/herm_deep/pup_mid.webp b/game/images/CG/herm_deep/pup_mid.webp deleted file mode 100644 index dd4abf3f..00000000 --- a/game/images/CG/herm_deep/pup_mid.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c8e2e5d9abc4fb85d05e999bc3b1f23f45e2a996de5901f3a786433a21fc51ad -size 870 diff --git a/game/images/CG/herm_deep/pup_right.webp b/game/images/CG/herm_deep/pup_right.webp deleted file mode 100644 index 17caa759..00000000 --- a/game/images/CG/herm_deep/pup_right.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aeb4d0a49342d7d932d7f393572ec8ed8778293e48f2171b3582d57a5ea557ea -size 868 diff --git a/game/images/CG/herm_deep/pup_up.webp b/game/images/CG/herm_deep/pup_up.webp deleted file mode 100644 index ef065f04..00000000 --- a/game/images/CG/herm_deep/pup_up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3504b75f0f89e0dc9d04c2d65bc74bb294751a9bfb326c52d141ee4240637a07 -size 814 diff --git a/game/images/CG/herm_deep/sweat.webp b/game/images/CG/herm_deep/sweat.webp deleted file mode 100644 index 809a9c9f..00000000 --- a/game/images/CG/herm_deep/sweat.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6213934c238396e7e95a192349db0fb54e63a125ac87e1a969f386fe2ac3f37f -size 2968 diff --git a/game/images/CG/herm_deep/tears.webp b/game/images/CG/herm_deep/tears.webp deleted file mode 100644 index 6e202283..00000000 --- a/game/images/CG/herm_deep/tears.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3a72d9181a6ec88509600bd2bc7c1565d6fdda54f7077e64cd9f57a98b105e45 -size 5640 diff --git a/game/images/CG/herm_sex/1.webp b/game/images/CG/herm_sex/1.webp deleted file mode 100644 index d6625af0..00000000 --- a/game/images/CG/herm_sex/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d0a6c4ca2c6922ab561c15e622d38d055256520c4684ee2aef229e35b6976b9 -size 343532 diff --git a/game/images/CG/herm_sex/10.webp b/game/images/CG/herm_sex/10.webp deleted file mode 100644 index daf8496c..00000000 --- a/game/images/CG/herm_sex/10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39e17abb2f8416b75c497157c17095ea37b71c26a1322032da82f0df5475d3b3 -size 343520 diff --git a/game/images/CG/herm_sex/11.webp b/game/images/CG/herm_sex/11.webp deleted file mode 100644 index eddb73d0..00000000 --- a/game/images/CG/herm_sex/11.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41247c42294f332c77610ddb9b6d0e82970a257926672a561b7206136d930320 -size 342912 diff --git a/game/images/CG/herm_sex/12.webp b/game/images/CG/herm_sex/12.webp deleted file mode 100644 index 328a7980..00000000 --- a/game/images/CG/herm_sex/12.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7eaf372b1411b95cdf57377f6332d4e2b579c7b989852f6e43e10d9ce51ebe06 -size 344122 diff --git a/game/images/CG/herm_sex/13.webp b/game/images/CG/herm_sex/13.webp deleted file mode 100644 index 88eea286..00000000 --- a/game/images/CG/herm_sex/13.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f711e6556e2ec6c2d4a6afa152a9fcb4017ab6c06146326e78f9e56d66c563c5 -size 343552 diff --git a/game/images/CG/herm_sex/14.webp b/game/images/CG/herm_sex/14.webp deleted file mode 100644 index a41daba5..00000000 --- a/game/images/CG/herm_sex/14.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7716482684e81c55806ede44a7172aa0fa577bcc9dc1907d060597efd60f34bd -size 344032 diff --git a/game/images/CG/herm_sex/15.webp b/game/images/CG/herm_sex/15.webp deleted file mode 100644 index c8d5bc9d..00000000 --- a/game/images/CG/herm_sex/15.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:128a4fe7ece9e58048b9e6149f76f52d36e119ab0b8ba96786c4ce48e3067784 -size 343514 diff --git a/game/images/CG/herm_sex/16.webp b/game/images/CG/herm_sex/16.webp deleted file mode 100644 index 542d37e7..00000000 --- a/game/images/CG/herm_sex/16.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39489f6964c5bae5148cf671d09067ae632656db996febbd00e9fc4611562764 -size 343724 diff --git a/game/images/CG/herm_sex/17.webp b/game/images/CG/herm_sex/17.webp deleted file mode 100644 index 627d5726..00000000 --- a/game/images/CG/herm_sex/17.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6202ecf707035df21976eb5e3576adbf8e23eea626d20878ca44ed3907e16093 -size 344094 diff --git a/game/images/CG/herm_sex/18.webp b/game/images/CG/herm_sex/18.webp deleted file mode 100644 index 363a1fae..00000000 --- a/game/images/CG/herm_sex/18.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fc9cf7c22ee74ec11961a17f4d08aa8e6883adc2bb35c58f0aafbbc1168e563b -size 343928 diff --git a/game/images/CG/herm_sex/19.webp b/game/images/CG/herm_sex/19.webp deleted file mode 100644 index 4e35b52b..00000000 --- a/game/images/CG/herm_sex/19.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c1e5c3fd3481f11a2c2d8442ae14f9e0f3170e539b70ec3fd5bd88bda5fe289 -size 343792 diff --git a/game/images/CG/herm_sex/2.webp b/game/images/CG/herm_sex/2.webp deleted file mode 100644 index 0309b897..00000000 --- a/game/images/CG/herm_sex/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ba0c5697a3e153380a1a37940bf3af532d8813c294ce2eeac62c32fc3715152 -size 343054 diff --git a/game/images/CG/herm_sex/20.webp b/game/images/CG/herm_sex/20.webp deleted file mode 100644 index 9435f51c..00000000 --- a/game/images/CG/herm_sex/20.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a13547ce0d7c0a050a22e955fb0866702ecbd6b31862a29a762dc134ed3f159 -size 344510 diff --git a/game/images/CG/herm_sex/21.webp b/game/images/CG/herm_sex/21.webp deleted file mode 100644 index db223240..00000000 --- a/game/images/CG/herm_sex/21.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3287c30cdffdaf5c82a181ed054bc082350287a5b5d5ab1b0174300f21e66b1 -size 343596 diff --git a/game/images/CG/herm_sex/22.webp b/game/images/CG/herm_sex/22.webp deleted file mode 100644 index 82c8bf06..00000000 --- a/game/images/CG/herm_sex/22.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6bdbf80fad7f80ad3f699759d57dc3154bea9e340eb02344f5f2fec18a3a9f09 -size 343854 diff --git a/game/images/CG/herm_sex/23.webp b/game/images/CG/herm_sex/23.webp deleted file mode 100644 index 8a9a2f55..00000000 --- a/game/images/CG/herm_sex/23.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:da7bdf47b036c1b20154205eb1aaf9c531705e0b9fe7bbf3eaa34a1b08fa1fea -size 344418 diff --git a/game/images/CG/herm_sex/24.webp b/game/images/CG/herm_sex/24.webp deleted file mode 100644 index 053b8eab..00000000 --- a/game/images/CG/herm_sex/24.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3aa7498dbce525b8e7d8e61335efd28923158f0770b4d5169a82675138853ae1 -size 344130 diff --git a/game/images/CG/herm_sex/25.webp b/game/images/CG/herm_sex/25.webp deleted file mode 100644 index 7683161d..00000000 --- a/game/images/CG/herm_sex/25.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cf3f4020368bc860704d4812a8e14c4ea2340c314d61d454ddbaa248d5987d2 -size 343884 diff --git a/game/images/CG/herm_sex/26.webp b/game/images/CG/herm_sex/26.webp deleted file mode 100644 index 07a6795d..00000000 --- a/game/images/CG/herm_sex/26.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e492087fed977accca90bf78b42141a778b6153afc70c4b2b50fa64f5ac7f09 -size 344578 diff --git a/game/images/CG/herm_sex/27.webp b/game/images/CG/herm_sex/27.webp deleted file mode 100644 index a4f125fd..00000000 --- a/game/images/CG/herm_sex/27.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9051f970b33d6b4c1b9a2963d0795e9f82e6d7c02d642bbe2d4c94eb046f1b08 -size 344154 diff --git a/game/images/CG/herm_sex/28.webp b/game/images/CG/herm_sex/28.webp deleted file mode 100644 index fd269a6e..00000000 --- a/game/images/CG/herm_sex/28.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0628b78cccc347424984bc1b435471760a593d186a8a61db014f3e52f020feed -size 343156 diff --git a/game/images/CG/herm_sex/29.webp b/game/images/CG/herm_sex/29.webp deleted file mode 100644 index 20a9f91b..00000000 --- a/game/images/CG/herm_sex/29.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:debc78018999ab9bcd8eb4a482bc77411411b11dafa01da9506189c96147bb0e -size 343942 diff --git a/game/images/CG/herm_sex/3.webp b/game/images/CG/herm_sex/3.webp deleted file mode 100644 index 81e6c6f3..00000000 --- a/game/images/CG/herm_sex/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c5a01ec4288f7586528b996a6f34089b0c0d67508794152a71fe7bca2f5bcd5 -size 344192 diff --git a/game/images/CG/herm_sex/30.webp b/game/images/CG/herm_sex/30.webp deleted file mode 100644 index 367262f7..00000000 --- a/game/images/CG/herm_sex/30.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:71c66db7c59f0cc95824046ba549751307c5b4aeaf8a6012a4a9bcc6fb8cc5a9 -size 343766 diff --git a/game/images/CG/herm_sex/31.webp b/game/images/CG/herm_sex/31.webp deleted file mode 100644 index f04bf7a6..00000000 --- a/game/images/CG/herm_sex/31.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7f0ccd5304d4c3e78d7a448fca56f43236fe1b399a5971c1bcf162288ebeb2b -size 343320 diff --git a/game/images/CG/herm_sex/32.webp b/game/images/CG/herm_sex/32.webp deleted file mode 100644 index 01a451ca..00000000 --- a/game/images/CG/herm_sex/32.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:80a5faee227de309a20a0a438ea216f7781ebf96e9d82774f1abded623a7c7c9 -size 342944 diff --git a/game/images/CG/herm_sex/33.webp b/game/images/CG/herm_sex/33.webp deleted file mode 100644 index db212cf8..00000000 --- a/game/images/CG/herm_sex/33.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba48d23bf73749655658df242036e55cb85604102a606dae4bf51ebd18a4b3f3 -size 343564 diff --git a/game/images/CG/herm_sex/34.webp b/game/images/CG/herm_sex/34.webp deleted file mode 100644 index c4224939..00000000 --- a/game/images/CG/herm_sex/34.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d892473899491ddf6444940329cda18e35c422676ac70740242b78881a9ee3b -size 343290 diff --git a/game/images/CG/herm_sex/35.webp b/game/images/CG/herm_sex/35.webp deleted file mode 100644 index 45ce2fd8..00000000 --- a/game/images/CG/herm_sex/35.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:70575afffcf78b46676d03932e37100b955fbe33469c3d80bfb8cbe4aa15d543 -size 343122 diff --git a/game/images/CG/herm_sex/4.webp b/game/images/CG/herm_sex/4.webp deleted file mode 100644 index bf3fdd84..00000000 --- a/game/images/CG/herm_sex/4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4dbfdba6a8589a29b7f98ead6c28f96ccefabdca289c12d2bdeff806d133947 -size 343002 diff --git a/game/images/CG/herm_sex/5.webp b/game/images/CG/herm_sex/5.webp deleted file mode 100644 index d9ea78f9..00000000 --- a/game/images/CG/herm_sex/5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9352d664b7c57560ac4ebde3038d17d6dba059b4c9e19a1fe9049fd92db8650d -size 343488 diff --git a/game/images/CG/herm_sex/6.webp b/game/images/CG/herm_sex/6.webp deleted file mode 100644 index 3770aaa0..00000000 --- a/game/images/CG/herm_sex/6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4e0e0158996ab85a6a08bd9166e10258ff022832fd9541389c23e683b29c029 -size 343226 diff --git a/game/images/CG/herm_sex/7.webp b/game/images/CG/herm_sex/7.webp deleted file mode 100644 index f19464c2..00000000 --- a/game/images/CG/herm_sex/7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f2a617a2004acc64b6f626d27b5ef91ade2b5ccbb9d4480533131d5449438c24 -size 344350 diff --git a/game/images/CG/herm_sex/8.webp b/game/images/CG/herm_sex/8.webp deleted file mode 100644 index cbedc929..00000000 --- a/game/images/CG/herm_sex/8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c5f05fd76d4bf72f1cad589ca5ed5e275a2a3017044d8ab92dfb61a78123bc3 -size 343938 diff --git a/game/images/CG/herm_sex/9.webp b/game/images/CG/herm_sex/9.webp deleted file mode 100644 index 27964e2f..00000000 --- a/game/images/CG/herm_sex/9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7cb1470fd4f4516cb0f1058b64b6a4619b14ab8b0423d456903b329c963d6cca -size 343566 diff --git a/game/images/CG/herm_sex/base.webp b/game/images/CG/herm_sex/base.webp deleted file mode 100644 index 79962b41..00000000 --- a/game/images/CG/herm_sex/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f877f69af29e3e03a9c9c1135668297f072e668aec23b72de209baceae9ad609 -size 342520 diff --git a/game/images/CG/herm_sex/blank.webp b/game/images/CG/herm_sex/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/herm_sex/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/herm_sex/genie_hand.webp b/game/images/CG/herm_sex/genie_hand.webp deleted file mode 100644 index 9f8bb557..00000000 --- a/game/images/CG/herm_sex/genie_hand.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:98eb8d9e45ac652601aa25fa2986af4d13ea8c317fade790a1fdf8336f038df7 -size 5356 diff --git a/game/images/CG/herm_sex/hair.webp b/game/images/CG/herm_sex/hair.webp deleted file mode 100644 index 4091ec30..00000000 --- a/game/images/CG/herm_sex/hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8cc11f2a14a40d5046f9ad769fc7caa733994ac2266d18f907165bf2edb171b -size 26062 diff --git a/game/images/CG/herm_sex/p1.webp b/game/images/CG/herm_sex/p1.webp deleted file mode 100644 index 2437700e..00000000 --- a/game/images/CG/herm_sex/p1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5328f228869514f78fed947108e79a7a0eccf7aa5d14ef47a7fd5c5ceebf479b -size 2060 diff --git a/game/images/CG/herm_sex/p2.webp b/game/images/CG/herm_sex/p2.webp deleted file mode 100644 index a28d8129..00000000 --- a/game/images/CG/herm_sex/p2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cae7e6426c57ffdbeac99eab1f2681e38b0cdf2947a027c6f3bb163c52452eb -size 5938 diff --git a/game/images/CG/herm_sex/s1.webp b/game/images/CG/herm_sex/s1.webp deleted file mode 100644 index 104b596e..00000000 --- a/game/images/CG/herm_sex/s1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5621aad4acaaecfe1db1f073c66d6fbbe307ae9bd8769680c780be52f69a0782 -size 7898 diff --git a/game/images/CG/herm_sex/s2.webp b/game/images/CG/herm_sex/s2.webp deleted file mode 100644 index 31c8df7c..00000000 --- a/game/images/CG/herm_sex/s2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7f34355d19c40580cae3c6f73393f249ce9efea42cdd8763b9140ea84d6a96e -size 6226 diff --git a/game/images/CG/herm_sex/s3.webp b/game/images/CG/herm_sex/s3.webp deleted file mode 100644 index dcc5f430..00000000 --- a/game/images/CG/herm_sex/s3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3abf86a46494f7d018832561f2e5e591237b3603a9c9e50104dd7cc95a6551e1 -size 13552 diff --git a/game/images/CG/herm_sex/s4.webp b/game/images/CG/herm_sex/s4.webp deleted file mode 100644 index c32b9893..00000000 --- a/game/images/CG/herm_sex/s4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3c5358c028ceb98dcbd44fb6558d562b9bada7852fe4a044365b26efd7119f28 -size 13510 diff --git a/game/images/CG/herm_sex/s5.webp b/game/images/CG/herm_sex/s5.webp deleted file mode 100644 index 3c3f2c65..00000000 --- a/game/images/CG/herm_sex/s5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa876470d196d65d25d160c519ad8555f16f79bf084eec0145062aff25366a97 -size 18924 diff --git a/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_background.webp b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_background.webp new file mode 100644 index 00000000..3548f699 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_background.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48134a051a0fdbb124a4000b38490c9b43d20f45d83c86f80b9a9d376217de73 +size 452440 diff --git a/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_arm_idle.webp b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_arm_idle.webp new file mode 100644 index 00000000..8a902219 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_arm_idle.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ebed13775e904728b8f62ec42a85e6caa2ecd1a106fae56a3380fc9e727924c +size 122134 diff --git a/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_back.webp b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_back.webp new file mode 100644 index 00000000..eb200cf7 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_back.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea782528e9488cb1300b2e72bafd17b5ee2eaeb51373bbfaab1c138020409f6 +size 38428 diff --git a/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_front.webp b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_front.webp new file mode 100644 index 00000000..be308dc4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_front.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a732f0c3df96ccfd3740884887ff8aaa17965a054ccce3b0ad27f4a9ddbe6dea +size 285252 diff --git a/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_trousers.webp b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_trousers.webp new file mode 100644 index 00000000..71cb9e8f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_genie_trousers.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28fafb257d385977039ec6550c0d8dff065eb3edb610ac955936124bdee0958d +size 124870 diff --git a/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_tabletop.webp b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_tabletop.webp new file mode 100644 index 00000000..61b7ae11 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_tabletop.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c79ae4c8a4cd92a55ed9183298074516aa4011c13dccc6dd839cb3ec65e879bb +size 325488 diff --git a/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_vignette.webp b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_vignette.webp new file mode 100644 index 00000000..46dfd56f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/lun_blowjob_personal_vignette.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:360e9e2343d0bdf691fb055160cdc1658bddaad3be1488e39aff697a2153b954 +size 54436 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame0.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame0.webp new file mode 100644 index 00000000..d9f3c76d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5721e8d6b1e59a92d705ad6b41635241de4e2f678848553717d35229e93881fa +size 22690 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame1.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame1.webp new file mode 100644 index 00000000..433491bc --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02b08357fc84e4c3024c5ad18457d8f4a8c9b210877acc544cb6b974feae7905 +size 43666 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame2.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame2.webp new file mode 100644 index 00000000..5d19a36a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame2.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f364417b8aff7011184057b3a42f2d627f28abfe0a5af40394a5f28b1a57891f +size 50454 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame3.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame3.webp new file mode 100644 index 00000000..a344ceb2 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame3.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159baa1f05a434f48128926b11135111827ed7e2ae86ac9948ad17e01522418d +size 86202 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame4.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame4.webp new file mode 100644 index 00000000..f8f18435 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame4.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c4e891091a4dc1a0ed827a47ba188e686e4dc3ea61ee3cc88817a3cbfe870d1 +size 92690 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame4_alt.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame4_alt.webp new file mode 100644 index 00000000..ed0aba55 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_frame4_alt.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98bce07bb5cb44718320f3c86f87e862ea03fa5af9747914d9491dadad6fc67a +size 83204 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_precum.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_precum.webp new file mode 100644 index 00000000..e4e83edb --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_cum_precum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3a1a65018148ddb7d838f7ab1647cf05639c967c9300b16b98ff86edef174e4 +size 4692 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_base.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_base.webp new file mode 100644 index 00000000..ca70e55f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3ec70e89cd09f4f82da3259964cd6b9e1663d72fac3f82d166167cf87aff04a +size 462256 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_cheeks_blush.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_cheeks_blush.webp new file mode 100644 index 00000000..fa9f18f6 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_cheeks_blush.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf4b4745ac1aa594fba642a5c48bd343a89fbe919190172bd5ea40f47378b20c +size 67568 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_angry.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_angry.webp new file mode 100644 index 00000000..6eb18161 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dc395f1cecec31839cf3cbe3184b41649e32670b3fc50504bedc85e0b8353c0 +size 30500 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_base.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_base.webp new file mode 100644 index 00000000..dc528f84 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e769d879b793b320b413050536b8176447c89042061dd340a48ab5d0ff66a9a0 +size 23288 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_raised.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_raised.webp new file mode 100644 index 00000000..a9f86fb0 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_raised.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7d70751b9cb2342347f3634ae974fdbe6836d96ac0fdc1a2d33d56f80b5fb8f +size 24244 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_shocked.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_shocked.webp new file mode 100644 index 00000000..642619ae --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_shocked.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b311ea3fe206fb045324759617b4aa269624665053bf5ce3c5043b5e3393a0d +size 25668 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_worried.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_worried.webp new file mode 100644 index 00000000..65c2d853 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyebrows_worried.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3172fc823579f5e0f263fdf55fd704fff1a2f091258b3e604019b8be8a490f8 +size 28218 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_down.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_down.webp new file mode 100644 index 00000000..72a96dab --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13fc3e79247cb022341d7929e8fe812f356863bdb2b5d30d0b5e908d95245d91 +size 26494 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_down_hearts.webp new file mode 100644 index 00000000..2aebe87d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b94c622b9500a12a14aaf9e8fdd6cabaae9ecc976e5fcf64315bb0bd8e6bf1d +size 28046 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_left.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_left.webp new file mode 100644 index 00000000..9293e92f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e94ae01d5fd925ba8eb4a10fb055c1ec495ad96b943e4fede0b3a655a71781 +size 28134 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_right.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_right.webp new file mode 100644 index 00000000..227a2663 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbf85e9308209df5103afabc672556190697b5e183e15928787caa9d640c8167 +size 28416 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_squint.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_squint.webp new file mode 100644 index 00000000..bf428f96 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fff3d61d83fb7aba72485ed721a8f8e912f17fc0e0a7bf4efb5f9fd8bc28eae7 +size 27334 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_squint_hearts.webp new file mode 100644 index 00000000..517eaefa --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ec89b937d31644b8dfcd7776db2619d4e8ba6ea00e2a9d3f2e34a499db47e6c +size 29030 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_stare.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_stare.webp new file mode 100644 index 00000000..4cf92124 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eedce3033accd6c61412a5378be6d3448aa16def841d699ba5114430a07ce7b +size 28276 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_stare_hearts.webp new file mode 100644 index 00000000..db35300e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7ae96e80536ac2b54c01f1adf6446710b822bae6fe6a0ab06835ebb61ffc364 +size 30330 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_up.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_up.webp new file mode 100644 index 00000000..b58b4b04 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ef54f60867d398aebb656403ea88dd1e43929a2549f55fd729afbfe4be3ffe2 +size 27468 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_up_hearts.webp new file mode 100644 index 00000000..94ab520c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_base_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af1399282b81e2cd43c070a66f59ba21365d42a3b925be300582c8124207380a +size 29424 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_closed.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_closed.webp new file mode 100644 index 00000000..5eedc499 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fb75921133da191ed1aa19bdd72f4f91a0c02fea4ce67571abfebf1c6eac710 +size 20620 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_down.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_down.webp new file mode 100644 index 00000000..35b36d40 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29437b4c77d505c05cb2c1f7c16f173c7f014e87d8a3568cde046d4f243ce591 +size 22550 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_down_hearts.webp new file mode 100644 index 00000000..63cfc769 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:249d39bb77c7932002607841cc429342021ba1ea0096dc7523e8492092e986ad +size 24012 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_left.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_left.webp new file mode 100644 index 00000000..da93a883 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc5dae90492028ef278363e56caf24f208a0946eea1266751250304b113ae9e2 +size 25864 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_right.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_right.webp new file mode 100644 index 00000000..3b2a4f93 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3113b3c1afd3c7c3b730eb9c01bd7accbfb9903f74c124e851c13668f5f9b0f7 +size 23890 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_squint.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_squint.webp new file mode 100644 index 00000000..bcddf0e3 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92aab2c78c968c2ea545231eab58c81fe4f12fc7f07b7aba28490104e8ad9a94 +size 23754 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_squint_hearts.webp new file mode 100644 index 00000000..411b9002 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67f7576a9a6b9f7266c07f4b5820c372b3af16039c47d63913c9aeea22b23321 +size 25320 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_stare.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_stare.webp new file mode 100644 index 00000000..541f9600 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d98925398002af7089dbf5d4bd58d0636c8b8a5752020767036fc07bb04e48b0 +size 25468 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_stare_hearts.webp new file mode 100644 index 00000000..8dc7d6ad --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bbc60cc3f5a1eb0348055557e9cd15284b41fdf94e4fd6cebdf4dd9ac4b3ce3 +size 27446 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_up.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_up.webp new file mode 100644 index 00000000..01c68275 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b973046b761bd39d52118d0a7026b2f3ff26d31c3f264f602452b0a75a0b8e45 +size 25610 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_up_hearts.webp new file mode 100644 index 00000000..7633d195 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_halflid_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c616377fee557ed63dad86f9e25082b298febd22b5a51682fa6a673c828b72ab +size 27708 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_down.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_down.webp new file mode 100644 index 00000000..341f01bb --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc04f069d757e1d1517c4aaab7d98a7434659e49dc15100289537905a45f44bf +size 29006 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_down_hearts.webp new file mode 100644 index 00000000..43c4ebc9 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fc8d11409572565b2758b71ba66bc4c228e17431c25ee3b5dbf831775399a4e +size 30710 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_left.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_left.webp new file mode 100644 index 00000000..14e565c4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b7e8414a086380a5c566f7529cc1ba99ad105b90a71f5b11190566d04e10154 +size 30748 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_right.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_right.webp new file mode 100644 index 00000000..833c5ce0 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7071efb7faa561a4db3ca55f1dac9e879ada31a2f32fd2d49cfebf30b88c4d3 +size 30382 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_squint.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_squint.webp new file mode 100644 index 00000000..6905cc68 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:134da640c7da178c3b8e6725ead2d84cdf249db51b8ecac957532b29261af580 +size 29218 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_squint_hearts.webp new file mode 100644 index 00000000..0cfd1d24 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7dc873dbaade5bb5988ad6795c38871103a33ecbf61cfaad332ee63665ef6f9 +size 30800 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_stare.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_stare.webp new file mode 100644 index 00000000..e27094c4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77b7b226fae3f25c0991cf971cb129fee45e401f13799cd1e3498f2c38e7f1cf +size 30160 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_stare_hearts.webp new file mode 100644 index 00000000..3211527e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb0e4eef749850db1223f424ab03f80b32185c976013b65bc8917f5da2484060 +size 32208 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_up.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_up.webp new file mode 100644 index 00000000..4c9c9d1e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7160b6679b36500fd4612b5febc033a05daf91a3e3dbb52edaa11acd9d9375b +size 29512 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_up_hearts.webp new file mode 100644 index 00000000..394ccf59 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_eyes_wide_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e74cbf2f0bd61b6458f7eb03a193d68270bc0220e05ae76f5ad835e7e7e5fa8e +size 31510 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_hair.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_hair.webp new file mode 100644 index 00000000..a3ec0761 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_hair.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e39c88c61c0b33cedd5ea8991eff07c421d485f30c0421fd667df1700c7bf1c +size 391968 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_annoyed.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_annoyed.webp new file mode 100644 index 00000000..9355ce56 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_annoyed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d258b5656172d569387c25ba5601e350710be903903c6072af7da8053c3d156 +size 10418 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_base.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_base.webp new file mode 100644 index 00000000..4c8d7c6e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7188ffe1329962c4aa7543d5a9ca67769dc4cb0df36124bc445678bd5673a8d7 +size 11228 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_full.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_full.webp new file mode 100644 index 00000000..5f741fba --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_full.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bac5830e8f7b8c8a2f431e96012cc18d95e9c216efdabb46f91ec1b0bbb8db02 +size 32714 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_grin.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_grin.webp new file mode 100644 index 00000000..abe25d70 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_grin.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24468945b698e062e3c0f996eabdfe41ca8e3473174591f4dcba5951976b11b0 +size 19470 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_neutral.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_neutral.webp new file mode 100644 index 00000000..4d85d31b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_neutral.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c401c3d37b779fbee909432a614d5df200836b1e78f3219966d5a94b54e4c9e +size 11306 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open.webp new file mode 100644 index 00000000..43c03175 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4738f2bbc1f7b05747a4ef4f573980da173455802e2993d9e0025a6c5be1530 +size 18788 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_cum.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_cum.webp new file mode 100644 index 00000000..312b7d5e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_cum.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7930756b4c2dd7ac89dd3676e5ed4ba158f7b5433e73bfc75bab632329c9dd7e +size 25480 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_spit.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_spit.webp new file mode 100644 index 00000000..d67eb945 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_spit.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25e14951f090cd2bada2e8c0e8c29a883d67de674ce2ec96a81b0e7f679da2ee +size 19834 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_tongue.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_tongue.webp new file mode 100644 index 00000000..caf6a4ec --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_open_tongue.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6c5372b82a89ff6a472b586c36139131a34298355acfb3cb25d3dd50ffa97c9 +size 22082 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_soft.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_soft.webp new file mode 100644 index 00000000..1c3c823e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_soft.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5f4f76c5137715c29e4129d6c0edf364c6b9b546def78c65534dfd4b7a37870 +size 14536 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_spitting.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_spitting.webp new file mode 100644 index 00000000..7626cca4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_spitting.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bba7d4211d71dd0869c7e83955a56313c88ba4b28f4128de364d33c6aca32a1 +size 19282 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_swallow.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_swallow.webp new file mode 100644 index 00000000..06757e3e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_mouth_swallow.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0244f2c72802ad3e2e2bf31e11005a722a86955aac9927358c22748826788bd6 +size 14858 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down.webp new file mode 100644 index 00000000..4a1ece0f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca0183914608c5a084dcaf7c448c3e0373dc1ece39a2fd4910a629e185785bc6 +size 86234 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down_shadow.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down_shadow.webp new file mode 100644 index 00000000..9801bacb --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down_shadow.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b18330fd2547f83bf21604f4998a0ac42e0e6632ebc35335eb364689b00df08a +size 11106 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down_speedlines.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down_speedlines.webp new file mode 100644 index 00000000..84ff235a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_down_speedlines.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a2003ab2f6dd8cd19f80b5d8e6e05636bccafec8cfa2ee3bf8449692f688b2a +size 30686 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up.webp new file mode 100644 index 00000000..b983b546 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1db4504148d04eb63cea7e16b27625fd87f46efcf800c07fbd90c2ffd5bab64 +size 100762 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up_shadow.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up_shadow.webp new file mode 100644 index 00000000..197b165e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up_shadow.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b57277718e9a2bcb6b95cd13fe754d9085bb9ebff76eb3c9078f9a1d1e348c2d +size 19336 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up_speedlines.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up_speedlines.webp new file mode 100644 index 00000000..4ea02da4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_luna_stroke_up_speedlines.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e8a78bfa1de64d2d552e28b54d8ed4b6e99421580078ee2274c6ef7d41319e2 +size 36370 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis.webp new file mode 100644 index 00000000..4ca90358 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e76eb1e432423e5734ff7f537d9bb4a9d0679dea6ee436c0ead544aea0574c2 +size 56110 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis_shadow.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis_shadow.webp new file mode 100644 index 00000000..1bb711de --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis_shadow.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f0291981f6e29f240d54c6882de8f3dcc545e67e82bf950b910cd1a1ceb026f +size 12810 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis_spit.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis_spit.webp new file mode 100644 index 00000000..65056844 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_penis_spit.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66765976ad5e9e0fbc1ef22b5eac91ea82ce9d2cbd06d80f84660590d480dc7d +size 28612 diff --git a/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_throatpie_frame0.webp b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_throatpie_frame0.webp new file mode 100644 index 00000000..bf950028 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose1/lun_blowjob_personal_pose1_throatpie_frame0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d88ba94adf24ecb3d5e47234b9b9a787cb870f706b2098fe402617a54bd1cd8c +size 112254 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_base.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_base.webp new file mode 100644 index 00000000..1a8cac92 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca91372967b5bf58f40415c054b81d6eb20213554b17563cf5f070662e2d4af6 +size 420492 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_angry.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_angry.webp new file mode 100644 index 00000000..c8f00ede --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aec6872f2c34002cd68c3367aef9d47c614ef0a883082c371b20359d68922096 +size 23800 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_base.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_base.webp new file mode 100644 index 00000000..c269eab2 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76e411fac0895ec44b6811d58774f28818eb184e49ab4a93bafdd17504dca60d +size 24486 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_raised.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_raised.webp new file mode 100644 index 00000000..72c1dc55 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_raised.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa01b929f9779ecfc495abb2edf4f8fcd28d5ad84f57ac3cf25e1ff38e98d0ca +size 24526 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_shocked.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_shocked.webp new file mode 100644 index 00000000..5a695fa7 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_shocked.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3432eeaf2531e93c2d6a568d3128b02e0b1482167a8e9cf23f71779169b2c0a +size 22624 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_worried.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_worried.webp new file mode 100644 index 00000000..c0366681 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyebrows_worried.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b7782793d49888d32c341aba04dfefb10604887c06aaa519be9cd4db653b72 +size 24234 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_down.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_down.webp new file mode 100644 index 00000000..403cda5a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba049baaa712513006e4de2c1adb47eaa44ef6027ec20e6e337ff106419381f9 +size 27878 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_down_hearts.webp new file mode 100644 index 00000000..69e7eb06 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dd348747524b6aae5439c87b64b2d721c1f61ed1f0371775fe01404b27143e4 +size 29788 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_left.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_left.webp new file mode 100644 index 00000000..11e2a8d2 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0754922f748db2a727372bf2be44c066c74011180b356ea7363292346c4304cd +size 27666 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_right.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_right.webp new file mode 100644 index 00000000..bdae95f8 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c5824a20521a7ee9565fb231991165f4e5d79a720d7f664d21b91495df27132 +size 27096 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_squint.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_squint.webp new file mode 100644 index 00000000..6e900f8e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e97b6aa07d044dc44db736e908368c5aadac856f084eef30b3084f77936b3085 +size 27620 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_squint_hearts.webp new file mode 100644 index 00000000..06129ff5 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55862a0cf1525e478d6d1a8d7d29ceeecb5b0d9db883bab35bdb12e178c77081 +size 29752 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_stare.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_stare.webp new file mode 100644 index 00000000..8f23318d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86a6283f4ed407ba4e73fc4768a78b59b3d90bb6afb3993d0c8df0cc8f0a9023 +size 29274 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_stare_hearts.webp new file mode 100644 index 00000000..4513cae2 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97704ae08e96ed0e6f45f429c7ab464698e425acfec7a45cdd23e6032484749b +size 31432 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_up.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_up.webp new file mode 100644 index 00000000..ffe9e3ef --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52c24b5da4cd13f4ef5b47c56c3c96dd3272b646bd1d104b2f9faa34659493d9 +size 28352 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_up_hearts.webp new file mode 100644 index 00000000..3cb76cd2 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_base_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4949e42248fb00f528862857e480c878047603fc25360cf6c662565e9be8bd0d +size 30418 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_closed.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_closed.webp new file mode 100644 index 00000000..d0011b77 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff5b9a0e8fcdfd6e07e9c0eb6ec0cf24dc0c5c86ba27ef9420c6725c0deaf4c7 +size 23408 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_down.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_down.webp new file mode 100644 index 00000000..4371b423 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d3d5053f8186ef03e0587c1babe04a06dda432ba0c7dc9fc21d2ed15e534466 +size 26438 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_down_hearts.webp new file mode 100644 index 00000000..87a0c49c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:331bd8a42573e187ea51fcb39a23c38437db749bd17d424732fec377c20de04f +size 28408 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_left.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_left.webp new file mode 100644 index 00000000..b9f854c4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec1e4a8fd7eff63db7fa96e267f3b3c3e40215cf0814bcc7d55db19a1d824714 +size 25508 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_right.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_right.webp new file mode 100644 index 00000000..58936f42 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ce9984025f5730a1e399b53ebf9e2611720bfc2a1eeae9122e751dbdd664318 +size 25344 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_squint.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_squint.webp new file mode 100644 index 00000000..5cb22e1d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:419c82359e4b1e7d842f542c2e9fbc9fcdf34ab65696094b005e64d039ecb60a +size 25548 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_squint_hearts.webp new file mode 100644 index 00000000..ddfd9802 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e378dc6eb54714278ae4d9ba1f67f7ce63ccb6ecb6c4eaac371d6a5f4a3b65f7 +size 27616 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_stare.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_stare.webp new file mode 100644 index 00000000..800df5fe --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f8bd21e4be0d46f7d5499bc447f1a79f8bfeb4748bd4d98c87a70d6b299d2d2 +size 26918 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_stare_hearts.webp new file mode 100644 index 00000000..34822987 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a26e6bdc7f7c2df4b4bb152ce7320da1e5c5779cf26b977cdc8ab933ff031ab4 +size 29062 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_up.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_up.webp new file mode 100644 index 00000000..0a0befd5 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd0c9bc7e00d88e88d66436d56b4e1b557e514ca0d6560b52700def6d31984a8 +size 26612 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_up_hearts.webp new file mode 100644 index 00000000..db221c52 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_halflid_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5243bcc3908dd94a924b7aee656517ad00e2e2cfb4179710c537c27ad6630698 +size 28662 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_down.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_down.webp new file mode 100644 index 00000000..b408a90e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86b2aaada4f77107cbde46d550dbe39ad7146d2b9064c265c869cb0d0e17714e +size 30804 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_down_hearts.webp new file mode 100644 index 00000000..053f6327 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00da6bb25942c33da9b566a315676bbc53fdc3e2533bbc6c530f6ff998110d65 +size 32942 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_left.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_left.webp new file mode 100644 index 00000000..e4c5211c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55c15b05c8a85b0ae1ee8338b2f640b6f6136f4dade42943082d1136f002c17c +size 30638 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_right.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_right.webp new file mode 100644 index 00000000..9b223e27 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c27bf6118381d5ca381325bf850b6de469379f22ea1872263d54bf0f8362bd06 +size 29868 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_squint.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_squint.webp new file mode 100644 index 00000000..5df53ed0 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0a8e3b6a490b129bc7700394e34b3ee6cc720e800ba1ec86cd0eabbaa4031fe +size 30588 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_squint_hearts.webp new file mode 100644 index 00000000..d21bd782 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92d93aad8646499891f5dd8dc36becac8b81c03e8bb4ff6d7667ace61e1ccd67 +size 32622 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_stare.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_stare.webp new file mode 100644 index 00000000..7a7e76a9 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92bf188f5318d39699c8b5fae51e60313c848543dfdc6ef3f144402e4a7c4213 +size 31938 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_stare_hearts.webp new file mode 100644 index 00000000..23204f29 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:775d05c8b1c1d5cde8ebc2dd62e19e10c76dbefcb790d95ac94f27c34de94517 +size 34176 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_up.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_up.webp new file mode 100644 index 00000000..d0f047f8 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98a71008dc0b207a483745b7255dd46490dd3678af8455d924215baff37c9a33 +size 30620 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_up_hearts.webp new file mode 100644 index 00000000..5c058287 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_eyes_wide_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ceff560a286a1e6a4872f37b2dd052e4958db5c46271a3fd5b399344073a2613 +size 32682 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_hair.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_hair.webp new file mode 100644 index 00000000..370c5dbe --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_hair.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbd82957a32493eda4d31f68fd066adef186fd30156e0a30d58465b7bcfba611 +size 401480 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_mouth_kiss.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_mouth_kiss.webp new file mode 100644 index 00000000..8cfeea5d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_mouth_kiss.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0270695a9c5cfcc105d486901efb7429a2ea12cbcebcac3d2a207a454beca6b9 +size 18692 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_mouth_lick.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_mouth_lick.webp new file mode 100644 index 00000000..c10c1b4a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_mouth_lick.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06dd23ace4326862ff6e0dd3655aad9b8a2cfc116cc4eaf7cb698d9d7e29e6cc +size 16726 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_stroke_down.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_stroke_down.webp new file mode 100644 index 00000000..c506b85e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_luna_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbdc68b989a08e095e069f42225e6a8eba9fc9cf7d4e0a8645e3dfeb873dc508 +size 78696 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_penis.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_penis.webp new file mode 100644 index 00000000..30cdb991 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_penis.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:697c4664ef6cfa5e7c0b569dbf9690eb8a8021d92f1e3eb053d071db432fe41f +size 57576 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_penis_spit.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_penis_spit.webp new file mode 100644 index 00000000..9b6e6b5b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_penis_spit.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12fff6419b82327cb1d9d2f36d4a352af21cb4a570023ccf345bf9c2de1d174e +size 19574 diff --git a/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_throatpie_frame0.webp b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_throatpie_frame0.webp new file mode 100644 index 00000000..c2107408 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose2/lun_blowjob_personal_pose2_throatpie_frame0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7aea2d54bcaa2ee338fab1e93980c920837def8269dce7036bdea24daa028b8e +size 118480 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_genie_arm_petting.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_genie_arm_petting.webp new file mode 100644 index 00000000..f7393a13 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_genie_arm_petting.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bfd5885874703b20c60043bd1715a4ede169251c197fd30afa04202cbddaabf +size 142616 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_base.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_base.webp new file mode 100644 index 00000000..b9bf08d0 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f6f540917e535714a00d4f3fce7233a7de8e9c1124c7306f92c1f34f4dc23dd +size 394348 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_angry.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_angry.webp new file mode 100644 index 00000000..d2f478b4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d975c0b4fd88482f5d872c554984c9ac4489e5e8213e3192cce878ae132d81dd +size 24630 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_base.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_base.webp new file mode 100644 index 00000000..4dba1014 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85eac0e5c110eb453c686a16289858b9d6c10dc9f63b10d1ea8750f7d1295706 +size 24714 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_raised.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_raised.webp new file mode 100644 index 00000000..c4bfd639 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_raised.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39cd4a57a462b1e60af590bfd6f7e354d44c74965b9215bef9647d0aad227005 +size 25134 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_shocked.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_shocked.webp new file mode 100644 index 00000000..274ae568 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_shocked.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fc3a93faed1dcf13e4957cb35f4d5d04d9cb0693dec5da5af467f35a3524a1d +size 23536 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_worried.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_worried.webp new file mode 100644 index 00000000..28cc495d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyebrows_worried.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb5dd13b0ede68ee8a3c7776cc3d704a782e850af502970269b4982b9af61769 +size 24112 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_down.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_down.webp new file mode 100644 index 00000000..5205f281 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e88f81ddc704dbee87520dc425a25ddf2459a7a1432acf7bd24207e425cf56bc +size 29718 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_down_hearts.webp new file mode 100644 index 00000000..be3c8e45 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78763b65bd993f8c2d64caf2f7364a2dcfbbe85aa5d580f45813349711c7e44c +size 31622 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_left.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_left.webp new file mode 100644 index 00000000..005fa8ec --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aef4d9adee809792d49f5a7ac49b791543ac102b35062f4f9729679c51d8bd8 +size 29824 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_right.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_right.webp new file mode 100644 index 00000000..04756886 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a914e616fa83c7aa2b1212a818e0b8ffc89099966982c51685a1e361b8eef394 +size 29466 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_squint.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_squint.webp new file mode 100644 index 00000000..f0846604 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:141b7e78f8b4d016a3b5ba3b3ab34fb6619195c82a2c8c5e98d1a0f902076ab7 +size 29476 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_squint_hearts.webp new file mode 100644 index 00000000..2fbe3d1a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bd3e38c86a28ef3dc5e6fd8661707c966ed2625f085efe5b6bb2ff1324e952b +size 31640 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_stare.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_stare.webp new file mode 100644 index 00000000..1be3bb54 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df9ecfe7263fcc83535ee2f6f3ddc0a2a7bd2024e4e0b6b73e6c4ba67e2de79a +size 31414 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_stare_hearts.webp new file mode 100644 index 00000000..7999c76e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d134dfb02a27639e3bef213d04e091712f4bc135ba120e9d294f9ce6acbf23a4 +size 33666 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_up.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_up.webp new file mode 100644 index 00000000..b82f076b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2157c6b2a8bf296e882c69512a1383afa945343cb3257b52ee814319180a786f +size 30198 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_up_hearts.webp new file mode 100644 index 00000000..e220f5b6 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_base_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8dc6ea1526c128f25002dfb2304da65d73c8c1c659180ed5fe45a92529d1346e +size 32552 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_closed.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_closed.webp new file mode 100644 index 00000000..f1965b70 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db4caf8e74eea33b4ea94f2d6cab51cdf3f42efbb28cd3f5540410139ecb7278 +size 25494 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_down.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_down.webp new file mode 100644 index 00000000..f181627e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71cbff667e09be3d58e1ca4ec99715b89d4a10b75649ed076b987c931cd91e00 +size 27746 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_down_hearts.webp new file mode 100644 index 00000000..7517ac8c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70eeef5183691fb44dc9458e779ac322cde58d33e16f6fa3383d485f2f4641da +size 29696 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_left.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_left.webp new file mode 100644 index 00000000..16a74055 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7554ec9f4cbc6fbbaea6b0497933646e6f9e4efaacc9e10f0f69bd5941544f58 +size 27540 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_right.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_right.webp new file mode 100644 index 00000000..1b6a8c77 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18d1ca191c713cba8d2327142996aa0438eb636160b61368ba89dbcef988c47a +size 26966 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_squint.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_squint.webp new file mode 100644 index 00000000..d98a4e1f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26a156c9dd6fa7b531f26bac3432cc72cc41fa5d1547365ea3d8750982277edc +size 27406 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_squint_hearts.webp new file mode 100644 index 00000000..33e62a59 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2942f4a123744df0f964ee2733f81e5a1bf25dce80167c30cc49ed04c21185f0 +size 29260 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_stare.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_stare.webp new file mode 100644 index 00000000..c9afe97f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97a48cd1320b6a6e072f08817e1e379f42858c3a47797d15fba92218321d86cf +size 28882 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_stare_hearts.webp new file mode 100644 index 00000000..9e051926 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f9107703f55e01ba45eb96b85bb6e2e6daba09977d324e7b59c0a5e2267e1cb +size 30858 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_up.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_up.webp new file mode 100644 index 00000000..bd4a43dc --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:188f062f1f3d6b05d959cef280ff9dd5b17b407b4826d41209c461d1295ff9b6 +size 28076 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_up_hearts.webp new file mode 100644 index 00000000..10e3cc7e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_halflid_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9288d5d083ff0acb477d69cdd382ca21a5529c658a0e5f8387d67db511df104d +size 29920 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_down.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_down.webp new file mode 100644 index 00000000..7b65689f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a3c87137643397f168d809d069b38e7f446749d1ad9eee3bfc430757e5018c2 +size 32610 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_down_hearts.webp new file mode 100644 index 00000000..1f01cd2c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6f7382cae6806d6327974ddeff48ebee95f1b5b03ba7074d4196459fb8b9c82 +size 34862 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_left.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_left.webp new file mode 100644 index 00000000..e7bdfffb --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd08f7482687436698fc7b912b3be511a629a163f0aeafac016344d9021009b7 +size 32494 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_right.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_right.webp new file mode 100644 index 00000000..b29f7273 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b3682141ff8692f7fd8f74587daff0dc512a4194a31f95b0c51e3296da44180 +size 32618 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_squint.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_squint.webp new file mode 100644 index 00000000..5428b203 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98a4beb02a4074e11e42ba9554057dc5aefc3182f639ceab88bb9b09ad095bba +size 32292 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_squint_hearts.webp new file mode 100644 index 00000000..cd4b9c91 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba7d685e8bb7b4462ab4c166e452be59a41763f40ee31d6e1e732331e6f0ad17 +size 34418 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_stare.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_stare.webp new file mode 100644 index 00000000..4f086077 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6cf20c521291de5a1452a40a72affc68f3177dad4a3d17576ec64554512b2b7 +size 34850 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_stare_hearts.webp new file mode 100644 index 00000000..9c859930 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:104a3d84e5534abd582ec3a4482a1a8e9b527e43f71dda2b6ef22453b5651431 +size 37144 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_up.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_up.webp new file mode 100644 index 00000000..6805e19e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:708b9f7b5676235006a507e1f30b80e89d2deccb1bec1fc9df45b759348bc763 +size 33198 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_up_hearts.webp new file mode 100644 index 00000000..5afc8302 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_eyes_wide_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b019590aa68228becc15e2d0a075ab36eaffc3b43f99311a3ee1fec8e966373 +size 35564 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_hair.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_hair.webp new file mode 100644 index 00000000..1a89b45c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_hair.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10122a23bde59a6e43858ee4effc5014b1b2d1ca7dce72b63435a82e2067dadf +size 436584 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_mouth_suck.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_mouth_suck.webp new file mode 100644 index 00000000..b6c12538 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_mouth_suck.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f2a3b230eea8f5a13fe02c295c2b2c7ed131bcfb70d677e85e8969cb491a58c +size 9630 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_stroke_down.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_stroke_down.webp new file mode 100644 index 00000000..6803f279 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_luna_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a11255814bf907b2bd2b57d25b0655fa5b286be26f0423964a43c388941bae9b +size 84400 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_penis.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_penis.webp new file mode 100644 index 00000000..e7ef0252 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_penis.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:337912bab4099475aadc0c6a2e7d45ae6489b9e8bb8acb73f31989455867dc30 +size 45738 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_penis_spit.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_penis_spit.webp new file mode 100644 index 00000000..190f1a8e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_penis_spit.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:275fec304e99f0d0815ef1831da6271390d219a8bae1a37927ba88f2579bd5c8 +size 20578 diff --git a/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_throatpie_frame0.webp b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_throatpie_frame0.webp new file mode 100644 index 00000000..11b34067 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose3/lun_blowjob_personal_pose3_throatpie_frame0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:791a7fac423915d027e325d51083e52d31d092081772f63ba4065fa463bc0d6c +size 88600 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_genie_arm_petting.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_genie_arm_petting.webp new file mode 100644 index 00000000..eb38022a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_genie_arm_petting.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c32206821efc54a6263132dfaa7164a3cd79982c77ee0fbbf80478b7419dee43 +size 137972 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_base.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_base.webp new file mode 100644 index 00000000..485014bd --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b266c675ebafec81247bf990a2d24787c6893699f1de85d003d003d489db294e +size 424186 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_angry.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_angry.webp new file mode 100644 index 00000000..78ad914d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17088bcdb85189fb2a209e28031238680a499ed1ad0d93b87d0d7690018d1ae8 +size 23340 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_base.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_base.webp new file mode 100644 index 00000000..c2c2400b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f62b0feb2ad443b3f2e79040bc11315222463b008471338e5c632741f3fb59c5 +size 23030 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_raised.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_raised.webp new file mode 100644 index 00000000..5aa4d7e6 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_raised.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b2b610233dd933c66f0f4bcc9cf11e9361072807f0810438373179de06b0c87 +size 24340 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_shocked.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_shocked.webp new file mode 100644 index 00000000..9d30c59c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_shocked.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:140edefe776cb81ba0e9bbe36ab5fab792e6861686c4cb68005ceaa5d5c451b1 +size 22576 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_worried.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_worried.webp new file mode 100644 index 00000000..c91dfd8a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyebrows_worried.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:961fa068b7de1a83beed91a62a9f76f67cbb8108a25a726cd7cb7dfb36db96ff +size 21548 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_down.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_down.webp new file mode 100644 index 00000000..97ba3331 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86aa88b0d277a32af4bd292568624925f2a8009a28190f8cf697ea727b3ea5f2 +size 35116 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_down_hearts.webp new file mode 100644 index 00000000..daa27174 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f08ff5f0d0bbb26a6832e1639b5df0c91fb11ed504d25d99327bc424e546dce +size 37248 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_left.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_left.webp new file mode 100644 index 00000000..2e98886a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd06e4c3f00c8beca83d17e42e323dba79e25dc02f83ae8bd8ca15b1ce7b7e5b +size 35150 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_right.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_right.webp new file mode 100644 index 00000000..3bed4185 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7ce44a66749443c923927cf97cca1e67ad6a6fdc0715cb0c0457ecce5bc55e9 +size 34236 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_squint.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_squint.webp new file mode 100644 index 00000000..8c57466e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f16520cefb3ee417ad03e31dd5b2c3858f483bc60327bc9b74f6bd9bc5aaf298 +size 34628 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_squint_hearts.webp new file mode 100644 index 00000000..53506334 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc73efb9f4b13692465d5f1f00b6cec74fc26643ce9c832ac3723e44e0e47698 +size 36764 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_stare.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_stare.webp new file mode 100644 index 00000000..5783498a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ea374a85b889b0474cdeece540a7a248c5d00070b8c4723c83199fea0ba2f1 +size 37082 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_stare_hearts.webp new file mode 100644 index 00000000..06f6c11d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61513f13ef17c989a0b12520850e85836a2c8ba07cf7809167be6f760357cd01 +size 39484 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_up.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_up.webp new file mode 100644 index 00000000..4831733d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33a1267c72fb398491ce0888fc91dad9061d2427b54516edc11ac5e899a30a75 +size 35710 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_up_hearts.webp new file mode 100644 index 00000000..64c1871b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_base_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:291ac500b768ad997974c14256ae6c020f15480a27742c51f1cdbb67520cb712 +size 38196 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_closed.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_closed.webp new file mode 100644 index 00000000..04c0fa61 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89253a5e110a45865424726cb95975bf7d9dc5c180c8e584cdda6fbd9e1db139 +size 29428 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_down.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_down.webp new file mode 100644 index 00000000..e0f4e5a4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16f52e17621263f3e36d656082c78de5e394882489ff7461c2926fca4e7bbc42 +size 32656 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_down_hearts.webp new file mode 100644 index 00000000..32238ebb --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91f16754391e38d07324b823e24f881d4ccbc2f5c5d516713b25835b01fdd08e +size 34784 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_left.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_left.webp new file mode 100644 index 00000000..f51ad5b2 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0afaa5eaa4cb9bf3e88c6199a247a87efc7e193b51ee131e49b6cfbc286bc2e3 +size 32288 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_right.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_right.webp new file mode 100644 index 00000000..6f54c6db --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d030c6cd32154317f63630443b70dc207ac4284308965664cb958b36484355cd +size 31426 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_squint.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_squint.webp new file mode 100644 index 00000000..d8f89f9b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95b3a3b2b8f4e87d785bd817e7a7399594083b9ac56b21b4a39eeadd8a71839b +size 31990 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_squint_hearts.webp new file mode 100644 index 00000000..36dd5d1c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f73347d5a3c413bd63017d542cd92ece257348d71cc094b9448840a01d03eb28 +size 34002 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_stare.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_stare.webp new file mode 100644 index 00000000..375c8495 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff7a7e08a97cf873fd5851304da3bc99c693c28f57a873cdb38bb6919c778007 +size 33716 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_stare_hearts.webp new file mode 100644 index 00000000..7e528c2d --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fee1a29b876afc6007713e16a1e131fe5136e3ed0a64090956880364be8c42f +size 35922 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_up.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_up.webp new file mode 100644 index 00000000..30352f16 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99ce4eea556ca0ff06e4ddb8d3b089164b64056c6d61505ce485375c46a9f5c8 +size 33434 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_up_hearts.webp new file mode 100644 index 00000000..8f9daf22 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_halflid_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75e6bcb9609ed2c233d12ab23863f3481bde49c16cab478e09e22f9fcf299fc2 +size 35462 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_down.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_down.webp new file mode 100644 index 00000000..c6cc4ced --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e95fca9987383a243408e2a4c760ee802062354b865ee8e90766f65052fa55b +size 38358 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_down_hearts.webp new file mode 100644 index 00000000..e0f97ef1 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f33da437360eb3e1369f552ecbf924a24127e4ada45847c11f2e344c49e6eff4 +size 40578 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_left.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_left.webp new file mode 100644 index 00000000..c478187e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e1284221130299352d5c506d58400cede59faf8bd6423f7328f3bb595c2e7aa +size 38230 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_right.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_right.webp new file mode 100644 index 00000000..be655a03 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d01fb371598fa526a62e26c7240dc46ba51f1931cc53fe8fed06be374a8a6e4 +size 38632 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_squint.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_squint.webp new file mode 100644 index 00000000..1ad391da --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:381ac28530e9cf70c2901b712fb3b320b84d8cd59a62de6af66e90544380e4fd +size 38038 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_squint_hearts.webp new file mode 100644 index 00000000..e1d89dbb --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cbdfc78556895e6678ff06d9e1e902d711e848aff356c57ae3de19c5a0297fe +size 40250 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_stare.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_stare.webp new file mode 100644 index 00000000..42913665 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91ec5540cb8b7ea694682842c7e67406a59bae3b8c17779bf9b98a76bfdf31a2 +size 41158 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_stare_hearts.webp new file mode 100644 index 00000000..fe90ea75 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:100a5ff8af68659e4834552b1aece9b2c6d22cbfd462412504fa33cd2efd0a0e +size 43664 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_up.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_up.webp new file mode 100644 index 00000000..93fda65e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32bf91fe0293338d5454c8101e1c63450742099a79814f26ee414e5de6172603 +size 38852 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_up_hearts.webp new file mode 100644 index 00000000..d4dffb82 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_eyes_wide_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0c98860898f0eb92e4ed24188ecde3924633706c6c933c8afbbc42a87d91ce0 +size 41414 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_hair.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_hair.webp new file mode 100644 index 00000000..4dac46a0 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_hair.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ceabe8d5c2e7c5c06de24c64b1d35d7b3e9977c4741fc1b305b78a4bf892682 +size 459186 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_mouth_suck.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_mouth_suck.webp new file mode 100644 index 00000000..10759903 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_mouth_suck.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:604b6b361d5fefb2fb3d19ade48bee7675b21bfe6d388260da07ff3702cf83e9 +size 8368 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_stroke_down.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_stroke_down.webp new file mode 100644 index 00000000..c3b2f84f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_luna_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d023470767a0c664c4cd51b355cd5a26d53137f77c0666b33f6be4ac07aa90a4 +size 77158 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_penis.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_penis.webp new file mode 100644 index 00000000..a28eb0aa --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_penis.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db8ebd2e9efce4f3e7a6e7d0cde871828db8f54226a9c87deaa3c5c6cc9f93f3 +size 42728 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_penis_spit.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_penis_spit.webp new file mode 100644 index 00000000..4577496f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_penis_spit.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:477fa65cf32ddd11b676b4c782ce6c5692a1d2f50cb91b41af31b945e552c351 +size 13622 diff --git a/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_throatpie_frame0.webp b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_throatpie_frame0.webp new file mode 100644 index 00000000..721d075b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose4/lun_blowjob_personal_pose4_throatpie_frame0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5299a3665dfeab4c267b128c40902634cfe556854d532e551fb56638d4e890ff +size 77284 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_genie_arm_petting.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_genie_arm_petting.webp new file mode 100644 index 00000000..b3f69838 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_genie_arm_petting.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4932a81bb6687562ded2f28a92a65d243ba962b8b560c035d5aa16a2ff00a242 +size 135714 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_base.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_base.webp new file mode 100644 index 00000000..7084a55a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a7a8fc9b6e7f410ffe215f715add80043e82f2077124501a3204425eaae72e1 +size 430908 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_angry.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_angry.webp new file mode 100644 index 00000000..a39ef621 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_angry.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30cb8d32be9d429a2d0726512fc2017e5c54721ae1afa17036932ccccdb2d6b1 +size 25560 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_base.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_base.webp new file mode 100644 index 00000000..591c3311 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6a6fad0f881ba9c72e307d5d045581f767e5581d0fb3685a2f24641fe1b515c +size 24976 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_raised.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_raised.webp new file mode 100644 index 00000000..913ee968 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_raised.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32da9f346517db83e5325d1935f20ea055e08344b29bf5fe755581b7299b9aea +size 26200 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_shocked.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_shocked.webp new file mode 100644 index 00000000..7d093176 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_shocked.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a535f44e4e3e9a81770278bdc66e9fe9ea6cd7edfc5857c6377f1ef82d1e206 +size 24508 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_worried.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_worried.webp new file mode 100644 index 00000000..28d15dcc --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyebrows_worried.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea3e8eb4db96bab66553c5cafd3f8a52508dad2bb9d34c9df9f579851c35063e +size 22620 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_down.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_down.webp new file mode 100644 index 00000000..21fa52fe --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a8aaa3e7716052c5b6186be2fda3c99cbc1c091633454569ab27f37959fb0a2 +size 39032 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_down_hearts.webp new file mode 100644 index 00000000..7cb19c21 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3526c9808ac9c2cbcaa065ac33b7e52ac4f672328fb063abd097d8e9188150d +size 33736 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_left.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_left.webp new file mode 100644 index 00000000..87d580f3 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a865734101a79fed7e4b0c5f81646d1a0d0539aa9f684121246bbbe39125e8b8 +size 31696 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_right.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_right.webp new file mode 100644 index 00000000..b0898656 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a618874dd1fb250242bb45ec7531c160d41d3db5bc1c24867b78b92dadf8ded +size 38628 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_squint.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_squint.webp new file mode 100644 index 00000000..84539f99 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6c3fa4f529a175ab6d052368d9fcef79ad488146efa66b552ac63234196c67c +size 38562 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_squint_hearts.webp new file mode 100644 index 00000000..635f554c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c158a5529f1735a69db1e5d94d15130ecf60a127d6f351af63f9600dec930af1 +size 33850 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_stare.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_stare.webp new file mode 100644 index 00000000..708f4bcf --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4226c247824801f1620d6822cadfd2c9d86ddaf85a9499e4e70511e8ce2e9b5b +size 40982 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_stare_hearts.webp new file mode 100644 index 00000000..98727394 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:373aadb7e0cf173329a5b098255bbf5dd3196434e52b66b7497348501be509ea +size 35888 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_up.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_up.webp new file mode 100644 index 00000000..7d8957a8 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee6787a8952f8b81edb60145e0838a9abcf027fd35d09c3d82abf1c5ef8fa67c +size 39164 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_up_hearts.webp new file mode 100644 index 00000000..6bbda9f5 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_base_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6e8759e4faf41c4bcdecbbc5e8fb23478f8a45b39b4540d0defdc9402f13f9f +size 34378 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_closed.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_closed.webp new file mode 100644 index 00000000..c8e2b74f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_closed.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee81fc5120c80ec37127c68ea7db57005dd1bcf6d7652c4abf290134a0f0175d +size 32668 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_down.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_down.webp new file mode 100644 index 00000000..7702b2bf --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93837245c05668c83673604203e90fc42bce3ba09a403f07754020e99f9c0fe9 +size 36188 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_down_hearts.webp new file mode 100644 index 00000000..d3a42040 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:539b8adc9e85a72256ecc81abc741fb50616be1422295707ed268a3f3222165b +size 31784 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_left.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_left.webp new file mode 100644 index 00000000..bc1b9e68 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f37961d7f9f27f87bf69a7e1c1e720eed0ef7d3740233f82f3472ba8c34c641 +size 35788 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_right.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_right.webp new file mode 100644 index 00000000..d9f535de --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf7ab35aac14c69dd5d0b6520b170ce3a59b10ee7e0285ba1b7be8aa310bc395 +size 35212 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_squint.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_squint.webp new file mode 100644 index 00000000..5ace22e4 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7a06a14ad97d5c74b3e37d57a66f3385a439e8538b9ea088b973d24a2d2ee8a +size 35250 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_squint_hearts.webp new file mode 100644 index 00000000..ff04f1cc --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9f7d5d4f68967a1d28d9cd658655fd710ec8d6f894d726bc12688b72525913 +size 37396 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_stare.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_stare.webp new file mode 100644 index 00000000..9c42b62b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5eba9d100cc7e315aa45f6bbd33f22d2f77c8a448af3500c45f235618cab05a +size 37426 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_stare_hearts.webp new file mode 100644 index 00000000..00ab972a --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:844350c039699f754367442220b26c882dcf7eba7c9ffcbe3d9ad01209f9db65 +size 32704 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_up.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_up.webp new file mode 100644 index 00000000..b12253b7 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3c91412863cbb3593c98db57a766004e348d96c06a5b3c1424547f6c519c388 +size 37026 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_up_hearts.webp new file mode 100644 index 00000000..2e00f66f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_halflid_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66154ff09dead32419040bed3b4e1d3915dd5539d8d9d5281fc95dca505accf7 +size 31858 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_down.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_down.webp new file mode 100644 index 00000000..aeaa2128 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9a3c3fe41e134a6a9cbee87eabe932023ed1b12ceff5c98fc4336e927be0fd7 +size 42548 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_down_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_down_hearts.webp new file mode 100644 index 00000000..6cae6d70 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_down_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ed45be4a3f14defa574481dfa71a98564fab4efa3418abd209cb34f53dd495 +size 36752 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_left.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_left.webp new file mode 100644 index 00000000..0c9f4626 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_left.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fda090cebbaec49c472839033237311f4a1803e950f221e4f8e0b52f561295d +size 34390 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_right.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_right.webp new file mode 100644 index 00000000..15de3d43 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_right.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20a6cdd240fa3b2d419754ed9337bf269c4fcf361e2358691e1dc94b28a34424 +size 34972 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_squint.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_squint.webp new file mode 100644 index 00000000..8f2f50c9 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_squint.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:937d65054e99e6dc2c3786caab39828926c479f6e5955a127a4d44b475677180 +size 34644 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_squint_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_squint_hearts.webp new file mode 100644 index 00000000..41efde6e --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_squint_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19b5a62383504743d5989de0c18823599f39326d67b2a346a333caf7fcf3c9b3 +size 36802 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_stare.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_stare.webp new file mode 100644 index 00000000..6eead937 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_stare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f517f6f2b2add49c5e663b470fd161b7f15bf9f3f7caca06f226cf5b31d3cc4c +size 37102 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_stare_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_stare_hearts.webp new file mode 100644 index 00000000..85499849 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_stare_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a502b956c7f54fd11f558461e095cd1374b22cc402b1ca4f5822b1482b81191 +size 39406 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_up.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_up.webp new file mode 100644 index 00000000..2a9ab75f --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_up.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c04da6fd16cb92c03838b0d8e5104673a8d2079c2b74d9f38c8f7235b481b35b +size 42892 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_up_hearts.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_up_hearts.webp new file mode 100644 index 00000000..48b0a15c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_eyes_wide_up_hearts.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:619119e1e3a04fb67f8e0ac63033305e327f1b897cfbbdd7d1c1ead40a8f1685 +size 37202 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_frothing.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_frothing.webp new file mode 100644 index 00000000..b6a9219b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_frothing.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f933546f00a07dccdcd9c7f7bbd3acb03c92cc0bc8db6b998dce0be79b5e9bb +size 7720 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_hair.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_hair.webp new file mode 100644 index 00000000..b1f90584 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_hair.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59ba75574804e27b9e0630bf5c3ea6b83557fc694a0c0f5396679f274ad79304 +size 499670 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_mouth_suck.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_mouth_suck.webp new file mode 100644 index 00000000..5db80880 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_mouth_suck.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a5f241d3fc6e3a53ed011f5db938e187ce75e223d7a1e5a15f55d103be61454 +size 8258 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_stroke_down.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_stroke_down.webp new file mode 100644 index 00000000..41d5548b --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_luna_stroke_down.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:607edaa2ac04af95bb7d38cc749bbb62c329bf94f46d15ec0788d0b2933424f6 +size 52096 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_penis.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_penis.webp new file mode 100644 index 00000000..4916477c --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_penis.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9abdd62d1ab7ded706c9f34654eddc2f47ef7c27f20dea52083b3065042946b +size 24274 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_penis_spit.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_penis_spit.webp new file mode 100644 index 00000000..806e98e8 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_penis_spit.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6d449ce7ce92c2d1e267d5db1723e4303eabeb4f17d47491787bda4a13acb19 +size 8526 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_throatpie_frame0.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_throatpie_frame0.webp new file mode 100644 index 00000000..65d649d8 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_throatpie_frame0.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dadf25a96705abf3761e986626f9dafd0a62665e410ce6d653671864b9860f17 +size 20844 diff --git a/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_throatpie_frame1.webp b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_throatpie_frame1.webp new file mode 100644 index 00000000..2797aa80 --- /dev/null +++ b/game/images/CG/lun_blowjob/personal/pose5/lun_blowjob_personal_pose5_throatpie_frame1.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b0a11435ab87c02b4f1971dcb45fbe5c4b649a4f6bf23b8bfcf97a571fd3d96 +size 49458 diff --git a/game/images/CG/luna_bedsex/base.webp b/game/images/CG/luna_bedsex/base.webp deleted file mode 100644 index 9575af80..00000000 --- a/game/images/CG/luna_bedsex/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12a4840037e0185d7d1b38b57130adc7201b03525028bf690e99347e5dcf9fc0 -size 156348 diff --git a/game/images/CG/luna_bedsex/blank.webp b/game/images/CG/luna_bedsex/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_bedsex/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_bedsex/c_base.webp b/game/images/CG/luna_bedsex/c_base.webp deleted file mode 100644 index da24b9bc..00000000 --- a/game/images/CG/luna_bedsex/c_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d66905db5ecd968c5a54ca538afad0dbc79a14329420f8c39d13775788f62ae -size 4430 diff --git a/game/images/CG/luna_bedsex/c_blush.webp b/game/images/CG/luna_bedsex/c_blush.webp deleted file mode 100644 index 9ef0e137..00000000 --- a/game/images/CG/luna_bedsex/c_blush.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:438897b4c02eae9801251a69fdfd626da1b073811162b022d789fc254618f36c -size 5906 diff --git a/game/images/CG/luna_bedsex/cum_1.webp b/game/images/CG/luna_bedsex/cum_1.webp deleted file mode 100644 index 1633528b..00000000 --- a/game/images/CG/luna_bedsex/cum_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cbe4b4823d150e7859e557422f98e0f78f34fd22ab0d259676907e566a6f727d -size 8468 diff --git a/game/images/CG/luna_bedsex/curly_hair.webp b/game/images/CG/luna_bedsex/curly_hair.webp deleted file mode 100644 index 4bb057c1..00000000 --- a/game/images/CG/luna_bedsex/curly_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:66eb63a2060d7f7eb3295df5419da1a59fa3294f6808eded6a8ce091884d189b -size 63352 diff --git a/game/images/CG/luna_bedsex/curly_hair_top.webp b/game/images/CG/luna_bedsex/curly_hair_top.webp deleted file mode 100644 index 4ca77de0..00000000 --- a/game/images/CG/luna_bedsex/curly_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fc9321a7190b29497bbe9f9c33e1b458827b341e08aa5b3fc06f5279844796b -size 8952 diff --git a/game/images/CG/luna_bedsex/eb_angry.webp b/game/images/CG/luna_bedsex/eb_angry.webp deleted file mode 100644 index 261df744..00000000 --- a/game/images/CG/luna_bedsex/eb_angry.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f566481703926cf5b0cf9bf961900bfd350e8bcca8ee6af7a49bd83d96ba894 -size 1916 diff --git a/game/images/CG/luna_bedsex/eb_base.webp b/game/images/CG/luna_bedsex/eb_base.webp deleted file mode 100644 index dc9f368c..00000000 --- a/game/images/CG/luna_bedsex/eb_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d673d28b4baa446774d8fffe8a23679149a007937c298a6edb7e8f1b3042a761 -size 1426 diff --git a/game/images/CG/luna_bedsex/eb_mad.webp b/game/images/CG/luna_bedsex/eb_mad.webp deleted file mode 100644 index 407b955f..00000000 --- a/game/images/CG/luna_bedsex/eb_mad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d51e32f26d41e5ab11c3fa226fcedcadecdd659809135e62353b8374f0784431 -size 2326 diff --git a/game/images/CG/luna_bedsex/eb_raised.webp b/game/images/CG/luna_bedsex/eb_raised.webp deleted file mode 100644 index 55d22d43..00000000 --- a/game/images/CG/luna_bedsex/eb_raised.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebf0403b40f8df48f1763eb1dd8bd569a285af68433a3695bbde7fc1bc9c651c -size 2220 diff --git a/game/images/CG/luna_bedsex/eb_sad.webp b/game/images/CG/luna_bedsex/eb_sad.webp deleted file mode 100644 index d76e9774..00000000 --- a/game/images/CG/luna_bedsex/eb_sad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:804701a515e89c015eec80e711d6373e26db986fa9fba4f32037afe2dea030c3 -size 1906 diff --git a/game/images/CG/luna_bedsex/eye_angry.webp b/game/images/CG/luna_bedsex/eye_angry.webp deleted file mode 100644 index 057228e7..00000000 --- a/game/images/CG/luna_bedsex/eye_angry.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:05ded51c8a7dfd4c68258e66efe09a3c2e13e21d3d63bde77f3358c7d148bab6 -size 2748 diff --git a/game/images/CG/luna_bedsex/eye_base.webp b/game/images/CG/luna_bedsex/eye_base.webp deleted file mode 100644 index 1191b773..00000000 --- a/game/images/CG/luna_bedsex/eye_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:014df9656054799452e6795f504fb04736ab306470a32e13f51b7155f171b8c3 -size 2586 diff --git a/game/images/CG/luna_bedsex/eye_closed.webp b/game/images/CG/luna_bedsex/eye_closed.webp deleted file mode 100644 index 13f79abd..00000000 --- a/game/images/CG/luna_bedsex/eye_closed.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53702a18670bb9a6b4943cf516ec7d77df3f6801f8a288f8bddbbfcbba65d377 -size 3084 diff --git a/game/images/CG/luna_bedsex/eye_excited.webp b/game/images/CG/luna_bedsex/eye_excited.webp deleted file mode 100644 index eea7515a..00000000 --- a/game/images/CG/luna_bedsex/eye_excited.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9f52db5b2e6441acb45e7b9b2165984a368356002888d1a94163565eaf3d2d3e -size 2560 diff --git a/game/images/CG/luna_bedsex/eye_furious.webp b/game/images/CG/luna_bedsex/eye_furious.webp deleted file mode 100644 index 4d445256..00000000 --- a/game/images/CG/luna_bedsex/eye_furious.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb12889afcf10cc9f90370a039ab90b0dd07fd667f918645a3f9a3cd7c92aa72 -size 2924 diff --git a/game/images/CG/luna_bedsex/eye_happyCl.webp b/game/images/CG/luna_bedsex/eye_happyCl.webp deleted file mode 100644 index 4356859b..00000000 --- a/game/images/CG/luna_bedsex/eye_happyCl.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:393adad12a8cdba80b4f0c40a0810f475ba3bfad9386413e00afbadd177f65a6 -size 2450 diff --git a/game/images/CG/luna_bedsex/eye_seductive.webp b/game/images/CG/luna_bedsex/eye_seductive.webp deleted file mode 100644 index f30c7507..00000000 --- a/game/images/CG/luna_bedsex/eye_seductive.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef949ac3259007efb8dcbd9237914e715ca2d0934521ceed8b2d9a3b02837d98 -size 2488 diff --git a/game/images/CG/luna_bedsex/eye_tired.webp b/game/images/CG/luna_bedsex/eye_tired.webp deleted file mode 100644 index 2b1ed72d..00000000 --- a/game/images/CG/luna_bedsex/eye_tired.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:511b4a4c355ba65b15040723dd751666661c0e39e29b361b12a8bce06221b113 -size 2550 diff --git a/game/images/CG/luna_bedsex/eye_white.webp b/game/images/CG/luna_bedsex/eye_white.webp deleted file mode 100644 index 0de2079a..00000000 --- a/game/images/CG/luna_bedsex/eye_white.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7fde8a67568888474ffa704066b807974c50a7b7edf0db971a674fc5634d9b35 -size 1330 diff --git a/game/images/CG/luna_bedsex/eye_wide.webp b/game/images/CG/luna_bedsex/eye_wide.webp deleted file mode 100644 index f3caa7e6..00000000 --- a/game/images/CG/luna_bedsex/eye_wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8eee1c789aea4d7693dadcf10d416588ddd733e89c83c07bc388076a5b4163fd -size 1610 diff --git a/game/images/CG/luna_bedsex/eye_wink.webp b/game/images/CG/luna_bedsex/eye_wink.webp deleted file mode 100644 index a64d6c87..00000000 --- a/game/images/CG/luna_bedsex/eye_wink.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d5665f0307b60cab8ccc12cd270d3373b42896b683a7d0ed978b36107a9f0fe5 -size 2492 diff --git a/game/images/CG/luna_bedsex/fade.webp b/game/images/CG/luna_bedsex/fade.webp deleted file mode 100644 index a7a66c70..00000000 --- a/game/images/CG/luna_bedsex/fade.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b1b2970c632ca8d9fddf2e21028df96d6f33d3284b573f0eaba999bfb52b9c17 -size 15724 diff --git a/game/images/CG/luna_bedsex/glasses.webp b/game/images/CG/luna_bedsex/glasses.webp deleted file mode 100644 index 9ddc85ef..00000000 --- a/game/images/CG/luna_bedsex/glasses.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cfa6e230d02e0473e16d07a04b96013913b3cd27b66c5fdfa81498aade0a4b27 -size 8926 diff --git a/game/images/CG/luna_bedsex/hand.webp b/game/images/CG/luna_bedsex/hand.webp deleted file mode 100644 index 8a240841..00000000 --- a/game/images/CG/luna_bedsex/hand.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72836a400d360212baedd08ff2eb2fb5fd00e6203f5b88c8ae6484a8098742ea -size 6718 diff --git a/game/images/CG/luna_bedsex/luna_base.webp b/game/images/CG/luna_bedsex/luna_base.webp deleted file mode 100644 index dae93767..00000000 --- a/game/images/CG/luna_bedsex/luna_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4de88da8764dcb077a4b25c8f2dee08571fb1b2113a2be4dc1ba683588d3bdf0 -size 379256 diff --git a/game/images/CG/luna_bedsex/m_base.webp b/game/images/CG/luna_bedsex/m_base.webp deleted file mode 100644 index 00362cb4..00000000 --- a/game/images/CG/luna_bedsex/m_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7169ca40a420f21fea8ed16714fb3ebf1a40c3c207d095df9358eddb8936e4b -size 980 diff --git a/game/images/CG/luna_bedsex/m_open.webp b/game/images/CG/luna_bedsex/m_open.webp deleted file mode 100644 index 10840138..00000000 --- a/game/images/CG/luna_bedsex/m_open.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40634ebe3cf1c23eb0d65f86dcf2bbbe89be45ff891f1737a194f19aa12c8e0c -size 1276 diff --git a/game/images/CG/luna_bedsex/m_open_tongue.webp b/game/images/CG/luna_bedsex/m_open_tongue.webp deleted file mode 100644 index 75937dd1..00000000 --- a/game/images/CG/luna_bedsex/m_open_tongue.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9cccbd2f4b7a8f752a16ce566af40c33d6d0e367b4bc0e3282525ca91938df5f -size 1274 diff --git a/game/images/CG/luna_bedsex/m_pout.webp b/game/images/CG/luna_bedsex/m_pout.webp deleted file mode 100644 index e5f99636..00000000 --- a/game/images/CG/luna_bedsex/m_pout.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f4df7d901894ceb894fac1647aa1e0f82da15a5e1ca2ccdebb96e63a4083719 -size 1100 diff --git a/game/images/CG/luna_bedsex/m_talk.webp b/game/images/CG/luna_bedsex/m_talk.webp deleted file mode 100644 index 56ceb62e..00000000 --- a/game/images/CG/luna_bedsex/m_talk.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:658c3e04961b67a7b88d0fe45a4def9c00c7e7eeb787ef804681b462d602105f -size 1212 diff --git a/game/images/CG/luna_bedsex/m_wide.webp b/game/images/CG/luna_bedsex/m_wide.webp deleted file mode 100644 index f7795fc8..00000000 --- a/game/images/CG/luna_bedsex/m_wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25980ca9d0dd9a5a03bb7b38b151a9cbffe199b3eb1ea195fa1fdfc82c201ae0 -size 2926 diff --git a/game/images/CG/luna_bedsex/m_wide_tongue.webp b/game/images/CG/luna_bedsex/m_wide_tongue.webp deleted file mode 100644 index 1bcc55c3..00000000 --- a/game/images/CG/luna_bedsex/m_wide_tongue.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85ee15ee72ec53b2048887ac8430704c6e2a7b509821f85ee4dd27c1b4444b62 -size 3062 diff --git a/game/images/CG/luna_bedsex/overlay.webp b/game/images/CG/luna_bedsex/overlay.webp deleted file mode 100644 index 37db4bdc..00000000 --- a/game/images/CG/luna_bedsex/overlay.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b0d08d96f7aa0fd450da674d794ce23cc126663dc0ee09f5ab8bfe651c651c76 -size 122096 diff --git a/game/images/CG/luna_bedsex/playful_hair.webp b/game/images/CG/luna_bedsex/playful_hair.webp deleted file mode 100644 index 4bb057c1..00000000 --- a/game/images/CG/luna_bedsex/playful_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:66eb63a2060d7f7eb3295df5419da1a59fa3294f6808eded6a8ce091884d189b -size 63352 diff --git a/game/images/CG/luna_bedsex/playful_hair_top.webp b/game/images/CG/luna_bedsex/playful_hair_top.webp deleted file mode 100644 index 4ca77de0..00000000 --- a/game/images/CG/luna_bedsex/playful_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fc9321a7190b29497bbe9f9c33e1b458827b341e08aa5b3fc06f5279844796b -size 8952 diff --git a/game/images/CG/luna_bedsex/pup_ahegao.webp b/game/images/CG/luna_bedsex/pup_ahegao.webp deleted file mode 100644 index f445d43b..00000000 --- a/game/images/CG/luna_bedsex/pup_ahegao.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a61e6138d9eb7df2c2db0506477ae62dea341862de03024823caa6ac82b64c3 -size 1070 diff --git a/game/images/CG/luna_bedsex/pup_dick.webp b/game/images/CG/luna_bedsex/pup_dick.webp deleted file mode 100644 index c85e3c5f..00000000 --- a/game/images/CG/luna_bedsex/pup_dick.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed1692f463cfe990022e789ef20c4321d062ddd7e8eb13bee04a14a44b5a4a0f -size 1208 diff --git a/game/images/CG/luna_bedsex/pup_dl.webp b/game/images/CG/luna_bedsex/pup_dl.webp deleted file mode 100644 index 8f0aeeff..00000000 --- a/game/images/CG/luna_bedsex/pup_dl.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e4281df9dc9c92eeb3ae8f0d0914d0a32c4b3537ec69d8a56a973a36e004fe7 -size 1434 diff --git a/game/images/CG/luna_bedsex/pup_dr.webp b/game/images/CG/luna_bedsex/pup_dr.webp deleted file mode 100644 index e0972d3b..00000000 --- a/game/images/CG/luna_bedsex/pup_dr.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b1ce1f8a470ee26211e94213657a4b2013425e218e95197125fb84a6689146f7 -size 1002 diff --git a/game/images/CG/luna_bedsex/pup_left.webp b/game/images/CG/luna_bedsex/pup_left.webp deleted file mode 100644 index 60aef464..00000000 --- a/game/images/CG/luna_bedsex/pup_left.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4deedd7edf565a9182eb69d5e8837ba1e4f3646aa13ed01a35bf63c0306a2b3 -size 1270 diff --git a/game/images/CG/luna_bedsex/pup_right.webp b/game/images/CG/luna_bedsex/pup_right.webp deleted file mode 100644 index 9f7600c0..00000000 --- a/game/images/CG/luna_bedsex/pup_right.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:821f8f5591fb3f8654e84df45f749f790e7fb3b45008fd76d035bc7550b75d60 -size 1292 diff --git a/game/images/CG/luna_bedsex/pup_ul.webp b/game/images/CG/luna_bedsex/pup_ul.webp deleted file mode 100644 index 7e4802be..00000000 --- a/game/images/CG/luna_bedsex/pup_ul.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:da1efd0ab3d477370bb4b9404fe6a734b0d8698f768fe6fc38443a98af321083 -size 948 diff --git a/game/images/CG/luna_bedsex/pup_up.webp b/game/images/CG/luna_bedsex/pup_up.webp deleted file mode 100644 index f9ea2b94..00000000 --- a/game/images/CG/luna_bedsex/pup_up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f3e7387064474951ccf4d3b9af3cc293abbe0a019d011dd11440e9034cda74b -size 1198 diff --git a/game/images/CG/luna_bedsex/pup_ur.webp b/game/images/CG/luna_bedsex/pup_ur.webp deleted file mode 100644 index ccb6948f..00000000 --- a/game/images/CG/luna_bedsex/pup_ur.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9b6391a2871b19f05d14ceeae0316feb7d247c298ae13fc86de76500b2770162 -size 1202 diff --git a/game/images/CG/luna_bedsex/short_hair.webp b/game/images/CG/luna_bedsex/short_hair.webp deleted file mode 100644 index dd5bb2ff..00000000 --- a/game/images/CG/luna_bedsex/short_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f44878866e596588480b9cc18bdc7584070dde695b8c10dc884db0e6fbd52472 -size 20774 diff --git a/game/images/CG/luna_bedsex/short_hair_top.webp b/game/images/CG/luna_bedsex/short_hair_top.webp deleted file mode 100644 index d130d483..00000000 --- a/game/images/CG/luna_bedsex/short_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a6dc4d43a4724bec1b9205f64afb020fd04121fdfca4ce8bdb252ce7f7586fa8 -size 20456 diff --git a/game/images/CG/luna_bedsex/speed.webp b/game/images/CG/luna_bedsex/speed.webp deleted file mode 100644 index 2a26c7d9..00000000 --- a/game/images/CG/luna_bedsex/speed.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac008940557f47994ef507b8b8e96a1a153b42f4cb5d29ce8d7bf046ad8d9e30 -size 35836 diff --git a/game/images/CG/luna_bj/1.webp b/game/images/CG/luna_bj/1.webp deleted file mode 100644 index 171f5070..00000000 --- a/game/images/CG/luna_bj/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:61079404f48bca25062e194d3a79da25bca73917162796f98a2ae5054d1a1b47 -size 317456 diff --git a/game/images/CG/luna_bj/10.webp b/game/images/CG/luna_bj/10.webp deleted file mode 100644 index 328bb3e9..00000000 --- a/game/images/CG/luna_bj/10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:611b631a84d19cb5c2af3137c7c87a5fd879596e2ec5e2bd1a3e3499c6aaa9c0 -size 319630 diff --git a/game/images/CG/luna_bj/11.webp b/game/images/CG/luna_bj/11.webp deleted file mode 100644 index e0adb399..00000000 --- a/game/images/CG/luna_bj/11.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f01c786723b66298a24dfdb5aa6f0cbf8ee0139cf4f357c2288eca07fb80085 -size 319066 diff --git a/game/images/CG/luna_bj/12.webp b/game/images/CG/luna_bj/12.webp deleted file mode 100644 index 39c80569..00000000 --- a/game/images/CG/luna_bj/12.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e9ed3e3c15ad0a4f68bbd1d23a43537721c2a3f4ab7f0d909861b5cc0e0ec96 -size 336436 diff --git a/game/images/CG/luna_bj/13.webp b/game/images/CG/luna_bj/13.webp deleted file mode 100644 index 53ec65b4..00000000 --- a/game/images/CG/luna_bj/13.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:94131be25da94fba7969f2004da6b97c83047cbd1de72d6905904b01930f6c0b -size 335958 diff --git a/game/images/CG/luna_bj/14.webp b/game/images/CG/luna_bj/14.webp deleted file mode 100644 index 7b43b1dd..00000000 --- a/game/images/CG/luna_bj/14.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8a883f93f93d7d2de5474639139be9f8a9de05060d3d10670a99f80f27fe9088 -size 335892 diff --git a/game/images/CG/luna_bj/15.webp b/game/images/CG/luna_bj/15.webp deleted file mode 100644 index 414f7b95..00000000 --- a/game/images/CG/luna_bj/15.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14b61668ac229098e24d66f37e239a38f2af391a3f6eaa4db18a095d76cb7ea7 -size 335614 diff --git a/game/images/CG/luna_bj/16.webp b/game/images/CG/luna_bj/16.webp deleted file mode 100644 index b67f8be2..00000000 --- a/game/images/CG/luna_bj/16.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bab4334f40a9e6487c2169060002360be500995b42504079b1b36d41c71934db -size 324134 diff --git a/game/images/CG/luna_bj/17.webp b/game/images/CG/luna_bj/17.webp deleted file mode 100644 index 1c5d5aa6..00000000 --- a/game/images/CG/luna_bj/17.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd50c63ec6389bb679aec7b23ef36d3495cf2a24a2793494d18715b389d7325e -size 323788 diff --git a/game/images/CG/luna_bj/18.webp b/game/images/CG/luna_bj/18.webp deleted file mode 100644 index 43c3cf5a..00000000 --- a/game/images/CG/luna_bj/18.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7b402e86ae5a42e4572c444a621fe0b5790f1797b69ac308e1c99fc5d4259096 -size 323158 diff --git a/game/images/CG/luna_bj/19.webp b/game/images/CG/luna_bj/19.webp deleted file mode 100644 index 81802db7..00000000 --- a/game/images/CG/luna_bj/19.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10794954aabf01084d53c9b639222cbacb479dc826f3b5f752bed67b7d57174a -size 323592 diff --git a/game/images/CG/luna_bj/2.webp b/game/images/CG/luna_bj/2.webp deleted file mode 100644 index fae76dbb..00000000 --- a/game/images/CG/luna_bj/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea6157799ab38232753a14a1c1e8446f100b7ec671eab6b9a861f534befddbf6 -size 316940 diff --git a/game/images/CG/luna_bj/20.webp b/game/images/CG/luna_bj/20.webp deleted file mode 100644 index 9d38a5b6..00000000 --- a/game/images/CG/luna_bj/20.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f63eb189b87f1d3fee120b7aaf4b51104b44a73c8fe00f66404b65103b566f90 -size 318298 diff --git a/game/images/CG/luna_bj/21.webp b/game/images/CG/luna_bj/21.webp deleted file mode 100644 index 3cea83f5..00000000 --- a/game/images/CG/luna_bj/21.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2dc43632206f91a26ae6a9e263c40c57d3e96adb1158966cc94fe5cd8dee6fbe -size 317298 diff --git a/game/images/CG/luna_bj/22.webp b/game/images/CG/luna_bj/22.webp deleted file mode 100644 index 47b52b68..00000000 --- a/game/images/CG/luna_bj/22.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f97c92ab582000c63b418260732b548c459a02d87afd27dce81c6b9dc7606e40 -size 317878 diff --git a/game/images/CG/luna_bj/23.webp b/game/images/CG/luna_bj/23.webp deleted file mode 100644 index 7dd1c995..00000000 --- a/game/images/CG/luna_bj/23.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:589d4f9e9d5342480c2cb7ed11c3354d89e312dfe60f13831a9599d2612388a6 -size 319448 diff --git a/game/images/CG/luna_bj/24.webp b/game/images/CG/luna_bj/24.webp deleted file mode 100644 index 8d3c4c46..00000000 --- a/game/images/CG/luna_bj/24.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b19c93e648b2600a35126d3745c25d02efa6fc0b9989df8887720a1950e538cd -size 318570 diff --git a/game/images/CG/luna_bj/25.webp b/game/images/CG/luna_bj/25.webp deleted file mode 100644 index 87378119..00000000 --- a/game/images/CG/luna_bj/25.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb27421792478e138be6ac114e40c59eb2fb44214e310d59b5d8e6469963937f -size 318340 diff --git a/game/images/CG/luna_bj/26.webp b/game/images/CG/luna_bj/26.webp deleted file mode 100644 index dcc47809..00000000 --- a/game/images/CG/luna_bj/26.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f12157bb2a6538470783496263ed30c69e4742a230d960ff1d660f73747b9950 -size 317844 diff --git a/game/images/CG/luna_bj/27.webp b/game/images/CG/luna_bj/27.webp deleted file mode 100644 index 16ca662c..00000000 --- a/game/images/CG/luna_bj/27.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c5ff17764059303389209d0f62c99b66bf6c43d30ab4197b03b89e7fdadbd8db -size 336954 diff --git a/game/images/CG/luna_bj/28.webp b/game/images/CG/luna_bj/28.webp deleted file mode 100644 index 04cb3af0..00000000 --- a/game/images/CG/luna_bj/28.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d5a9aecc32179e0eba7806ece6e1b19a68431290d2a12a985d8d534ae8ca816 -size 316534 diff --git a/game/images/CG/luna_bj/29.webp b/game/images/CG/luna_bj/29.webp deleted file mode 100644 index 5bfe0834..00000000 --- a/game/images/CG/luna_bj/29.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60c0f765caefd0c349df248795e4a3cf401626339d9a3ad62a2439ba2e63ec0b -size 318070 diff --git a/game/images/CG/luna_bj/3.webp b/game/images/CG/luna_bj/3.webp deleted file mode 100644 index b3b59260..00000000 --- a/game/images/CG/luna_bj/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e77fc458dd64d2160945bf9e1712cf62d36f31495e213001ef0775a67e05ffd -size 317832 diff --git a/game/images/CG/luna_bj/30.webp b/game/images/CG/luna_bj/30.webp deleted file mode 100644 index f887ea20..00000000 --- a/game/images/CG/luna_bj/30.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c35cad78f13bf923548ef9e10bea526bfbb8bcf8188d7a6c1af30dc740ae4e5 -size 317034 diff --git a/game/images/CG/luna_bj/31.webp b/game/images/CG/luna_bj/31.webp deleted file mode 100644 index 45385840..00000000 --- a/game/images/CG/luna_bj/31.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3c60e2a1a89d0f61d5c5ff21c26f204280f8a423a3cc6913e89985720cdba8a -size 324076 diff --git a/game/images/CG/luna_bj/32.webp b/game/images/CG/luna_bj/32.webp deleted file mode 100644 index e527cee6..00000000 --- a/game/images/CG/luna_bj/32.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7735f32205290d8a82da749c60b4638855bd5a9af72940eb26db00d689ff577 -size 324986 diff --git a/game/images/CG/luna_bj/33.webp b/game/images/CG/luna_bj/33.webp deleted file mode 100644 index a5898d86..00000000 --- a/game/images/CG/luna_bj/33.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:189620cbcb15e6c02d18ec244835ffa8eb892387c1586c0a726e5973d6c45355 -size 321662 diff --git a/game/images/CG/luna_bj/35.webp b/game/images/CG/luna_bj/35.webp deleted file mode 100644 index c9e718f9..00000000 --- a/game/images/CG/luna_bj/35.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d051406c199afc8b2ae63de68c1ba0a9e9948be1ea62264f45161161a40c31eb -size 333636 diff --git a/game/images/CG/luna_bj/36.webp b/game/images/CG/luna_bj/36.webp deleted file mode 100644 index 600b3da6..00000000 --- a/game/images/CG/luna_bj/36.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:552126900b33abea979d7e920aa7df03583a0e07750a7c43a7396e4ffb0cb8a8 -size 336006 diff --git a/game/images/CG/luna_bj/37.webp b/game/images/CG/luna_bj/37.webp deleted file mode 100644 index da88fbc7..00000000 --- a/game/images/CG/luna_bj/37.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:78703ad3a8a2fb325829b3ee26bbbc3e5d8618319163d7bf6779c45e9ac8a0ba -size 333484 diff --git a/game/images/CG/luna_bj/38.webp b/game/images/CG/luna_bj/38.webp deleted file mode 100644 index 4f82fe29..00000000 --- a/game/images/CG/luna_bj/38.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4118f1698ac2df7f29910e1af980322948b81b7892b30ce0b139d6bab73b313 -size 332712 diff --git a/game/images/CG/luna_bj/39.webp b/game/images/CG/luna_bj/39.webp deleted file mode 100644 index 6ee25607..00000000 --- a/game/images/CG/luna_bj/39.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b014f9d1394e2d209bba7a3b2e7bccdb8a2b5020da064d3a7a23a6010b0d7d6a -size 332588 diff --git a/game/images/CG/luna_bj/4.webp b/game/images/CG/luna_bj/4.webp deleted file mode 100644 index d517b1c5..00000000 --- a/game/images/CG/luna_bj/4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e2e3362daab378a4841b87365f8366899676259ebc645fe9cfb9d73d3581a23e -size 316742 diff --git a/game/images/CG/luna_bj/40.webp b/game/images/CG/luna_bj/40.webp deleted file mode 100644 index abe47e71..00000000 --- a/game/images/CG/luna_bj/40.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f106063b06e1b47c51c30cc815731145d215676b3b8b5e0153b1e263bb15d920 -size 331908 diff --git a/game/images/CG/luna_bj/41.webp b/game/images/CG/luna_bj/41.webp deleted file mode 100644 index 3e254803..00000000 --- a/game/images/CG/luna_bj/41.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8a7895f386c8e6082f398cb7eb8b3c849ef1e314d4515fb377be63e40e1e490 -size 332802 diff --git a/game/images/CG/luna_bj/42.webp b/game/images/CG/luna_bj/42.webp deleted file mode 100644 index f88c4f17..00000000 --- a/game/images/CG/luna_bj/42.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14d77f101b85f30d7eecf41f2e685ff760bfcf4899eb12ca4395732c9953dac6 -size 332612 diff --git a/game/images/CG/luna_bj/43.webp b/game/images/CG/luna_bj/43.webp deleted file mode 100644 index e3e3c97d..00000000 --- a/game/images/CG/luna_bj/43.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca09f3c0d31985a6b19a8023943dfc657a144f0650571a888a8171e45ca12eaa -size 320210 diff --git a/game/images/CG/luna_bj/44.webp b/game/images/CG/luna_bj/44.webp deleted file mode 100644 index d12e64e6..00000000 --- a/game/images/CG/luna_bj/44.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0b8ecafdc572ae5cd5914c74420be68b9e8666539621b594585d14ae83f05e8 -size 317908 diff --git a/game/images/CG/luna_bj/45.webp b/game/images/CG/luna_bj/45.webp deleted file mode 100644 index 20a08062..00000000 --- a/game/images/CG/luna_bj/45.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d0feecceb5d40397671d73edb596b1b77390fc06767d120943ca97ec8f776ca3 -size 335594 diff --git a/game/images/CG/luna_bj/46.webp b/game/images/CG/luna_bj/46.webp deleted file mode 100644 index c0588c65..00000000 --- a/game/images/CG/luna_bj/46.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecd037697de4a80def1c62ce71c57aaaf7193b804ed570ed2242ebe21b39b73f -size 317448 diff --git a/game/images/CG/luna_bj/47.webp b/game/images/CG/luna_bj/47.webp deleted file mode 100644 index 09bf634e..00000000 --- a/game/images/CG/luna_bj/47.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4d3489eee08735fdc1f99272ec8e33a89103392f7cab80b817dae1ffd5f71823 -size 318162 diff --git a/game/images/CG/luna_bj/48.webp b/game/images/CG/luna_bj/48.webp deleted file mode 100644 index 0389862b..00000000 --- a/game/images/CG/luna_bj/48.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ce7825975193b5bf83c8a1935d0a6440387d8bf5679962917dac037cb4a9c0b -size 318358 diff --git a/game/images/CG/luna_bj/49.webp b/game/images/CG/luna_bj/49.webp deleted file mode 100644 index bc1735a6..00000000 --- a/game/images/CG/luna_bj/49.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e6776b0b71c21bb40efd73c14cb012b9675cb6ce432858b6195bedfe09f7e77 -size 317626 diff --git a/game/images/CG/luna_bj/5.webp b/game/images/CG/luna_bj/5.webp deleted file mode 100644 index 82bf4fac..00000000 --- a/game/images/CG/luna_bj/5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e251eebfb7dda1445e7952745f8527bb3fb6c4f3fd4b946d0d337e1512ee82c -size 318414 diff --git a/game/images/CG/luna_bj/50.webp b/game/images/CG/luna_bj/50.webp deleted file mode 100644 index 26370097..00000000 --- a/game/images/CG/luna_bj/50.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d5efb37dad53d197e68637a45dd71eb74f1bb9d8b0a91f7807176bd649a29e42 -size 311570 diff --git a/game/images/CG/luna_bj/51.webp b/game/images/CG/luna_bj/51.webp deleted file mode 100644 index 714a4aa4..00000000 --- a/game/images/CG/luna_bj/51.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa10be44bcfa5e01b3925d9c2bbb33d9d4648d4352da20ec518196b4a341c658 -size 312388 diff --git a/game/images/CG/luna_bj/52.webp b/game/images/CG/luna_bj/52.webp deleted file mode 100644 index 9d86018e..00000000 --- a/game/images/CG/luna_bj/52.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1cc544eb4015cc61101723ccde8f61e573e6b9e935f033db9a35de9d748a505f -size 325712 diff --git a/game/images/CG/luna_bj/53.webp b/game/images/CG/luna_bj/53.webp deleted file mode 100644 index 9d5d4cf9..00000000 --- a/game/images/CG/luna_bj/53.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04c01d99a61b85bddf094a79d3270fb10fe1008b3491f39294072bc10120700b -size 325844 diff --git a/game/images/CG/luna_bj/54.webp b/game/images/CG/luna_bj/54.webp deleted file mode 100644 index c0f66300..00000000 --- a/game/images/CG/luna_bj/54.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f1810279accee1123efdbbbc64417743657f32208900e6ebae2c220ef78a1a36 -size 312586 diff --git a/game/images/CG/luna_bj/55.webp b/game/images/CG/luna_bj/55.webp deleted file mode 100644 index f32945ca..00000000 --- a/game/images/CG/luna_bj/55.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:15ca5af65bf200fcd9a72707036d893ae99dd60c874f5d6f7ef036c7545c733b -size 312232 diff --git a/game/images/CG/luna_bj/56.webp b/game/images/CG/luna_bj/56.webp deleted file mode 100644 index 9a0380fe..00000000 --- a/game/images/CG/luna_bj/56.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b0ca780d1aaf94698b4bf84128c7d7e556395c092ab19c78c3a889a8a1ea1f9 -size 312648 diff --git a/game/images/CG/luna_bj/57.webp b/game/images/CG/luna_bj/57.webp deleted file mode 100644 index 98336776..00000000 --- a/game/images/CG/luna_bj/57.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e5e0dd61e8e05de9967a333863d96b25ef671b6ebfcd7b86eda2fcd5b6d16263 -size 312054 diff --git a/game/images/CG/luna_bj/58.webp b/game/images/CG/luna_bj/58.webp deleted file mode 100644 index 3b1c0f4f..00000000 --- a/game/images/CG/luna_bj/58.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed0d862c3e142a35cdd9038691558348bcf4d5189d5890cd5eb485559f279082 -size 325192 diff --git a/game/images/CG/luna_bj/59.webp b/game/images/CG/luna_bj/59.webp deleted file mode 100644 index 00b2ccf7..00000000 --- a/game/images/CG/luna_bj/59.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebf2f257ee32f96fe4fabe9facb27ab24f6965fbe0aaa157f38319be88dc3e33 -size 322236 diff --git a/game/images/CG/luna_bj/6.webp b/game/images/CG/luna_bj/6.webp deleted file mode 100644 index 9fd12666..00000000 --- a/game/images/CG/luna_bj/6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a4bad49cfdd24fd07bb3363ab0e7facc2673197a63708d7157ecf20423d4045 -size 316126 diff --git a/game/images/CG/luna_bj/60.webp b/game/images/CG/luna_bj/60.webp deleted file mode 100644 index ca009874..00000000 --- a/game/images/CG/luna_bj/60.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47f06914a846d9455a8be463c064bfb97735c0d8f54f413395ba77ca6c765646 -size 335216 diff --git a/game/images/CG/luna_bj/61.webp b/game/images/CG/luna_bj/61.webp deleted file mode 100644 index 6e60c452..00000000 --- a/game/images/CG/luna_bj/61.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90e06c095fd98db750293b148ddda2b00c957623b768a49d3c0b051e5e4fc3f2 -size 334724 diff --git a/game/images/CG/luna_bj/62.webp b/game/images/CG/luna_bj/62.webp deleted file mode 100644 index f6958e08..00000000 --- a/game/images/CG/luna_bj/62.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eeb5433d9ad94968b696aa7da4f51ec88d437c731038b803951be53313bc96b0 -size 335988 diff --git a/game/images/CG/luna_bj/63.webp b/game/images/CG/luna_bj/63.webp deleted file mode 100644 index 344045d0..00000000 --- a/game/images/CG/luna_bj/63.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3130cf73fdd762285365212b199843edd22c38d98f814d3f1f6f2295b9678e03 -size 336328 diff --git a/game/images/CG/luna_bj/64.webp b/game/images/CG/luna_bj/64.webp deleted file mode 100644 index d22cdeb5..00000000 --- a/game/images/CG/luna_bj/64.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:953f134a97761f389b9a6fc1a6b7233e2595e0adca87823903bda3c61c4f9b85 -size 336070 diff --git a/game/images/CG/luna_bj/65.webp b/game/images/CG/luna_bj/65.webp deleted file mode 100644 index 6ea999f9..00000000 --- a/game/images/CG/luna_bj/65.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6bcba9f5721600703857a3ea2c4f1d77c024ff77ae2168ac92ba465d531237c8 -size 334784 diff --git a/game/images/CG/luna_bj/66.webp b/game/images/CG/luna_bj/66.webp deleted file mode 100644 index 8da86bc8..00000000 --- a/game/images/CG/luna_bj/66.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21882c92a1ec2acce9f4ccdb05e4632dccc6be84c6a6f02ae1e7d345e2fbb4b4 -size 403508 diff --git a/game/images/CG/luna_bj/67.webp b/game/images/CG/luna_bj/67.webp deleted file mode 100644 index 09f45cfd..00000000 --- a/game/images/CG/luna_bj/67.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6319b1770dc276a6934983392e5189de299b261447af9416d1968ade8d78fced -size 403238 diff --git a/game/images/CG/luna_bj/7.webp b/game/images/CG/luna_bj/7.webp deleted file mode 100644 index 054bbb82..00000000 --- a/game/images/CG/luna_bj/7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a314f414b9ce1fcb08f36a1c0b4bda617baa9ce604b254fab486d62572920d11 -size 318532 diff --git a/game/images/CG/luna_bj/8.webp b/game/images/CG/luna_bj/8.webp deleted file mode 100644 index 6a993513..00000000 --- a/game/images/CG/luna_bj/8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c69c5d0f377bd4b72b1c1e40dac1b508ed210d52ec7a37ce5e38a27e73ce791b -size 316650 diff --git a/game/images/CG/luna_bj/9.webp b/game/images/CG/luna_bj/9.webp deleted file mode 100644 index 8dfb7682..00000000 --- a/game/images/CG/luna_bj/9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2af27eb82d1ba46496b5e1b1e6a7605769724506b2f9dff983919cdd52d5159b -size 319352 diff --git a/game/images/CG/luna_bj/base.webp b/game/images/CG/luna_bj/base.webp deleted file mode 100644 index 12824743..00000000 --- a/game/images/CG/luna_bj/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23885f937c68c008b6d78515385bfc9d72ab84ccde678ae1920384574eb2ed31 -size 156480 diff --git a/game/images/CG/luna_bj/blank.webp b/game/images/CG/luna_bj/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_bj/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_bj/gene.webp b/game/images/CG/luna_bj/gene.webp deleted file mode 100644 index 9db77cb8..00000000 --- a/game/images/CG/luna_bj/gene.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:91b322fddeab70be518973c9bf8f6b6a76f143d01c59aa016e1a344820419814 -size 75100 diff --git a/game/images/CG/luna_bj/herm.webp b/game/images/CG/luna_bj/herm.webp deleted file mode 100644 index ab8d1f07..00000000 --- a/game/images/CG/luna_bj/herm.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:87e6ec2ecde3718c807ae2ddcd30ba169babcf678620a30614499c40a438c9c3 -size 86088 diff --git a/game/images/CG/luna_desk/1.webp b/game/images/CG/luna_desk/1.webp deleted file mode 100644 index 7b51d4ce..00000000 --- a/game/images/CG/luna_desk/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9341348405bc3692b78ccb718b69f3e95cb6aadbe346d45cfba68040fa9de414 -size 330414 diff --git a/game/images/CG/luna_desk/10.webp b/game/images/CG/luna_desk/10.webp deleted file mode 100644 index cc002955..00000000 --- a/game/images/CG/luna_desk/10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f9c8c259e6520d88a97fd0362077f02341a886f1a877598a1afd985fe2984de7 -size 331224 diff --git a/game/images/CG/luna_desk/11.webp b/game/images/CG/luna_desk/11.webp deleted file mode 100644 index b8642697..00000000 --- a/game/images/CG/luna_desk/11.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d16c851e3f1b47e8ae3242146c819db5837bb7cb030047e569f55e613e8685cb -size 342862 diff --git a/game/images/CG/luna_desk/12.webp b/game/images/CG/luna_desk/12.webp deleted file mode 100644 index e0a07546..00000000 --- a/game/images/CG/luna_desk/12.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12f008129c2cb416f3fb3d2757f2550517b71d56c75bdacf612c468935a07281 -size 343070 diff --git a/game/images/CG/luna_desk/13.webp b/game/images/CG/luna_desk/13.webp deleted file mode 100644 index 09fa0d73..00000000 --- a/game/images/CG/luna_desk/13.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a2648b7207c931ddc2f89e63c8cb484647b12e8605baaabb010a90cce2a661d4 -size 342076 diff --git a/game/images/CG/luna_desk/14.webp b/game/images/CG/luna_desk/14.webp deleted file mode 100644 index 1929e89a..00000000 --- a/game/images/CG/luna_desk/14.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:68a432806aaf81529be2a1fe895f65ca2de584330dc89315d239c2ae1a857729 -size 342714 diff --git a/game/images/CG/luna_desk/15.webp b/game/images/CG/luna_desk/15.webp deleted file mode 100644 index 5c6bef11..00000000 --- a/game/images/CG/luna_desk/15.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85db9174f5584fb62e6185d74efa3ddb433447aebf6458fa863e5246e02fabcd -size 344528 diff --git a/game/images/CG/luna_desk/16.webp b/game/images/CG/luna_desk/16.webp deleted file mode 100644 index fa34df30..00000000 --- a/game/images/CG/luna_desk/16.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b54a5f0079a7afbb692560e7c3f8f1ad9292fa6e6aad7ba68685ceff7503312a -size 316036 diff --git a/game/images/CG/luna_desk/17.webp b/game/images/CG/luna_desk/17.webp deleted file mode 100644 index dadc44b0..00000000 --- a/game/images/CG/luna_desk/17.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f0d08f8c37e2da57b633159ceb1cc611d711943651eeddfcf45aa0f621e035e5 -size 315976 diff --git a/game/images/CG/luna_desk/18.webp b/game/images/CG/luna_desk/18.webp deleted file mode 100644 index 694daab8..00000000 --- a/game/images/CG/luna_desk/18.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9af48e9afe4a99bd6e79cb5bb0b1bf0fea4bc66a59b4a7783492488bf1869be0 -size 316282 diff --git a/game/images/CG/luna_desk/19.webp b/game/images/CG/luna_desk/19.webp deleted file mode 100644 index 5902b5ec..00000000 --- a/game/images/CG/luna_desk/19.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e5cccf5d9def3c237d4d94bb4421ac87b274bf263a269d9e23ab175676183b56 -size 315648 diff --git a/game/images/CG/luna_desk/2.webp b/game/images/CG/luna_desk/2.webp deleted file mode 100644 index fa2cfeba..00000000 --- a/game/images/CG/luna_desk/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3ffac806976b45cf577ae0bf389cd14a55fdad5dc79dc4439a76a4dc58bbbf6 -size 327564 diff --git a/game/images/CG/luna_desk/20.webp b/game/images/CG/luna_desk/20.webp deleted file mode 100644 index db1503c7..00000000 --- a/game/images/CG/luna_desk/20.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fdc28da381a7030a56d8ac3c65bf955cb37c735e3ecf5051c93f2d97ae9537b5 -size 316048 diff --git a/game/images/CG/luna_desk/21.webp b/game/images/CG/luna_desk/21.webp deleted file mode 100644 index 70da836c..00000000 --- a/game/images/CG/luna_desk/21.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a240f7c4cdefaa9ad29b913a4e73e469e2b416f7dd87906eceadf6da5723aa25 -size 316184 diff --git a/game/images/CG/luna_desk/22.webp b/game/images/CG/luna_desk/22.webp deleted file mode 100644 index ee1330ef..00000000 --- a/game/images/CG/luna_desk/22.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aed4cc77275e47ff1d3e3a08ef07ef0e744d7db77257edff9744666c917cc143 -size 337360 diff --git a/game/images/CG/luna_desk/23.webp b/game/images/CG/luna_desk/23.webp deleted file mode 100644 index 957a820a..00000000 --- a/game/images/CG/luna_desk/23.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a04e8e429df292ac8fa8d9e936a60191a37217c79bdff03e061df86cd263e6f -size 335394 diff --git a/game/images/CG/luna_desk/24.webp b/game/images/CG/luna_desk/24.webp deleted file mode 100644 index cc3dce19..00000000 --- a/game/images/CG/luna_desk/24.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8a22e31051880257fe71c16343c27c97cdb0a51d91d44c197d0d4c7a4028831 -size 335540 diff --git a/game/images/CG/luna_desk/25.webp b/game/images/CG/luna_desk/25.webp deleted file mode 100644 index 3bf4be28..00000000 --- a/game/images/CG/luna_desk/25.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e3266e8c13e1a0710de038941162bee11bec548b5f7835b2b27a1ff7c6eb272f -size 336122 diff --git a/game/images/CG/luna_desk/26.webp b/game/images/CG/luna_desk/26.webp deleted file mode 100644 index 617af21a..00000000 --- a/game/images/CG/luna_desk/26.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:836c87ece35dd0ed6a6e680005fe1584db676ca88af52d7e6d558f6d823a4d08 -size 335454 diff --git a/game/images/CG/luna_desk/27.webp b/game/images/CG/luna_desk/27.webp deleted file mode 100644 index 458415ba..00000000 --- a/game/images/CG/luna_desk/27.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1147a4d5b687f25c34efc9425239eb95a8dfa07b34fb24bf0e5369e30d549091 -size 316112 diff --git a/game/images/CG/luna_desk/28.webp b/game/images/CG/luna_desk/28.webp deleted file mode 100644 index 8fa89137..00000000 --- a/game/images/CG/luna_desk/28.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:576ec32b282e78a5ed3e146b4bf36dd0573290fab19e8565588b8db8a7aeb410 -size 316276 diff --git a/game/images/CG/luna_desk/29.webp b/game/images/CG/luna_desk/29.webp deleted file mode 100644 index 137707e8..00000000 --- a/game/images/CG/luna_desk/29.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8dce4253d1da46dcfa962b0781b717a1dbf9af9f8375a24357417bece2665a1 -size 311800 diff --git a/game/images/CG/luna_desk/3.webp b/game/images/CG/luna_desk/3.webp deleted file mode 100644 index b0ab5672..00000000 --- a/game/images/CG/luna_desk/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ef5dc8cbf8d4fd8caa6eb1aa66bb7fd450c64598f7a9105dba70bc830a17cdd -size 329938 diff --git a/game/images/CG/luna_desk/30.webp b/game/images/CG/luna_desk/30.webp deleted file mode 100644 index 70370f8d..00000000 --- a/game/images/CG/luna_desk/30.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:48c0e87c698c3bf16cade5e9b676d1103711efc7b55b02b122b05dd2f24e1f3e -size 320046 diff --git a/game/images/CG/luna_desk/31.webp b/game/images/CG/luna_desk/31.webp deleted file mode 100644 index 73891bbd..00000000 --- a/game/images/CG/luna_desk/31.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9629a1f2555061cf44e80dbed34f6c3137aabd4d72112d4ef3192fd699fda7c6 -size 319920 diff --git a/game/images/CG/luna_desk/32.webp b/game/images/CG/luna_desk/32.webp deleted file mode 100644 index 95e8c7d1..00000000 --- a/game/images/CG/luna_desk/32.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0cffffb075525097d77f6715f44aa5022f25b215e232fc68ea739ceb415fcd85 -size 336672 diff --git a/game/images/CG/luna_desk/33.webp b/game/images/CG/luna_desk/33.webp deleted file mode 100644 index 4dcd075a..00000000 --- a/game/images/CG/luna_desk/33.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c40c424952c40ff6aaa7ed4fdd4f38a523a64b2f30a09b709b55fff0f610e4f -size 343428 diff --git a/game/images/CG/luna_desk/34.webp b/game/images/CG/luna_desk/34.webp deleted file mode 100644 index 7be53a8a..00000000 --- a/game/images/CG/luna_desk/34.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c9920d7023661457a4aad9c75395cc2d024be78284c223d7c2b30c3b4b8c903 -size 373592 diff --git a/game/images/CG/luna_desk/35.webp b/game/images/CG/luna_desk/35.webp deleted file mode 100644 index 9922d24d..00000000 --- a/game/images/CG/luna_desk/35.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:933e2d2f26ab2d52fc86c2efde4caa5fe368c1c2d813fd4ec7a4b399b60d6d90 -size 371414 diff --git a/game/images/CG/luna_desk/36.webp b/game/images/CG/luna_desk/36.webp deleted file mode 100644 index 278e9ea9..00000000 --- a/game/images/CG/luna_desk/36.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:31444e8c5cdc398b8aad9cbfb83a878f544e61bac0e2d9c09074101a0910ff50 -size 341428 diff --git a/game/images/CG/luna_desk/37.webp b/game/images/CG/luna_desk/37.webp deleted file mode 100644 index 4d06039c..00000000 --- a/game/images/CG/luna_desk/37.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dbd26fbbf76d8be24f17bb72e5ad32e4ef9a02461d0006c34642b4d15364730e -size 340962 diff --git a/game/images/CG/luna_desk/38.webp b/game/images/CG/luna_desk/38.webp deleted file mode 100644 index 9b28bc6a..00000000 --- a/game/images/CG/luna_desk/38.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:44965d56d7369ab4dc36b5c1d06064c3fc2d476de9f8f3849d247d9b35549a6e -size 341266 diff --git a/game/images/CG/luna_desk/39.webp b/game/images/CG/luna_desk/39.webp deleted file mode 100644 index 4fee5742..00000000 --- a/game/images/CG/luna_desk/39.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0d6fe185e3b9582905982633eead2084cf6312068da21e221f0d50ce4de92cc1 -size 340936 diff --git a/game/images/CG/luna_desk/4.webp b/game/images/CG/luna_desk/4.webp deleted file mode 100644 index 2934a70e..00000000 --- a/game/images/CG/luna_desk/4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:263a9402cab0e15c63efb3a66ed7edcc31f24b4e88aafdc81157bf891278c3d9 -size 329200 diff --git a/game/images/CG/luna_desk/40.webp b/game/images/CG/luna_desk/40.webp deleted file mode 100644 index 88621a74..00000000 --- a/game/images/CG/luna_desk/40.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b7b8b12f73a455a4c9004bfecd85643deaaec8133dc08df4df2f063bb88ef787 -size 342304 diff --git a/game/images/CG/luna_desk/41.webp b/game/images/CG/luna_desk/41.webp deleted file mode 100644 index 33d13f12..00000000 --- a/game/images/CG/luna_desk/41.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:32a09e2923d1eb4da143cd4e8df01c0af10e52ae9196d205d3bebd8831db2e9b -size 341026 diff --git a/game/images/CG/luna_desk/42.webp b/game/images/CG/luna_desk/42.webp deleted file mode 100644 index aa2024e8..00000000 --- a/game/images/CG/luna_desk/42.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dfb1415fb323279bd8ea7c1e2a25e4df490ed213d37ab332b3aa42c5f862a81b -size 354088 diff --git a/game/images/CG/luna_desk/43.webp b/game/images/CG/luna_desk/43.webp deleted file mode 100644 index 17e78064..00000000 --- a/game/images/CG/luna_desk/43.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5270f974d8acdd288b2d911755a657c388442936693dff0d413ab07fecf4c581 -size 353426 diff --git a/game/images/CG/luna_desk/44.webp b/game/images/CG/luna_desk/44.webp deleted file mode 100644 index c217bf82..00000000 --- a/game/images/CG/luna_desk/44.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa4b897108d1177c709482d3f0f07549e941766063677bb354170d2be2ea3a64 -size 354028 diff --git a/game/images/CG/luna_desk/45.webp b/game/images/CG/luna_desk/45.webp deleted file mode 100644 index c5ffef17..00000000 --- a/game/images/CG/luna_desk/45.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3f59b866d6efb896c92543c3af1e247943675f2fe614e64bca7dba2f6199d68 -size 358586 diff --git a/game/images/CG/luna_desk/46.webp b/game/images/CG/luna_desk/46.webp deleted file mode 100644 index 349f8c0e..00000000 --- a/game/images/CG/luna_desk/46.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a9b6a9e56588464c17d8ad2aadc42b191107547636c8fe5e53b110cdeabb5698 -size 358780 diff --git a/game/images/CG/luna_desk/47.webp b/game/images/CG/luna_desk/47.webp deleted file mode 100644 index 268ce7d8..00000000 --- a/game/images/CG/luna_desk/47.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a0859b6a8def07d8d8cd8d27da072f04812651d2437d1e65af739f9f780f8428 -size 358948 diff --git a/game/images/CG/luna_desk/48.webp b/game/images/CG/luna_desk/48.webp deleted file mode 100644 index 25cb4753..00000000 --- a/game/images/CG/luna_desk/48.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49d60b74e2a759914c120edf7e8709ed8aa2154ca66acde29219caceb844a843 -size 358420 diff --git a/game/images/CG/luna_desk/49.webp b/game/images/CG/luna_desk/49.webp deleted file mode 100644 index 752b9c56..00000000 --- a/game/images/CG/luna_desk/49.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3da4bafc74c87f1d204de2e24450b4d7d012840f07e170546f7f2a2048c012b4 -size 358888 diff --git a/game/images/CG/luna_desk/5.webp b/game/images/CG/luna_desk/5.webp deleted file mode 100644 index a8c56c7b..00000000 --- a/game/images/CG/luna_desk/5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b88b5e66535d6181eb75c2bcd50f21914dcb170c8e68263e97d4e85129fad95a -size 329456 diff --git a/game/images/CG/luna_desk/50.webp b/game/images/CG/luna_desk/50.webp deleted file mode 100644 index a41e65e8..00000000 --- a/game/images/CG/luna_desk/50.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:36c520f95c1f481f6a7194483a8d5cccf04bd15ba8883f371113f64e9a540f69 -size 362090 diff --git a/game/images/CG/luna_desk/51.webp b/game/images/CG/luna_desk/51.webp deleted file mode 100644 index fa819f3c..00000000 --- a/game/images/CG/luna_desk/51.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c09bb387eaa28d6f04a1bc47e6dc79f169e519ce2c0d97d046838accbcc4cf79 -size 358744 diff --git a/game/images/CG/luna_desk/52.webp b/game/images/CG/luna_desk/52.webp deleted file mode 100644 index 838c0d6c..00000000 --- a/game/images/CG/luna_desk/52.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:540ed2279cdece149345eb498980fd9ad035aeff8d82ca2bfbd8cf5e66248d62 -size 358812 diff --git a/game/images/CG/luna_desk/53.webp b/game/images/CG/luna_desk/53.webp deleted file mode 100644 index ef26451a..00000000 --- a/game/images/CG/luna_desk/53.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c900cbfaaaa7e378ebe8349bb5138f57773f7771855384c172d897676fb2a0d7 -size 287414 diff --git a/game/images/CG/luna_desk/54.webp b/game/images/CG/luna_desk/54.webp deleted file mode 100644 index 4a1a5404..00000000 --- a/game/images/CG/luna_desk/54.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:deb2199b1338cff47e891deaa409e0250ba9834b24446e1f680533aa4dd9985c -size 326548 diff --git a/game/images/CG/luna_desk/55.webp b/game/images/CG/luna_desk/55.webp deleted file mode 100644 index db5a1aa3..00000000 --- a/game/images/CG/luna_desk/55.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff8d1cd21524b9ffc8aee34b50821fbd8fa6ba881a2369352628312accf4e23e -size 326660 diff --git a/game/images/CG/luna_desk/56.webp b/game/images/CG/luna_desk/56.webp deleted file mode 100644 index 34449ed0..00000000 --- a/game/images/CG/luna_desk/56.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1b2d7ee320174b9edd007014e84c51a92a638b93a626ebaee27e2d10b84236ea -size 321068 diff --git a/game/images/CG/luna_desk/57.webp b/game/images/CG/luna_desk/57.webp deleted file mode 100644 index 6c704432..00000000 --- a/game/images/CG/luna_desk/57.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f17ba7761874facf76282ee1188e351da363c2d0291bb9afadb2dfef1bbcc4d8 -size 303608 diff --git a/game/images/CG/luna_desk/58.webp b/game/images/CG/luna_desk/58.webp deleted file mode 100644 index 70943cd6..00000000 --- a/game/images/CG/luna_desk/58.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5576c1aae7cfbd1040fe0e7a3cd6d54cbd465119ba21db4df12f4ecc2d67325 -size 303988 diff --git a/game/images/CG/luna_desk/6.webp b/game/images/CG/luna_desk/6.webp deleted file mode 100644 index b04f3d25..00000000 --- a/game/images/CG/luna_desk/6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:71ac58d9d1851fd45d4f3a2ec93a562bbb3835f0f7d11c9736792e6eace599bd -size 328424 diff --git a/game/images/CG/luna_desk/7.webp b/game/images/CG/luna_desk/7.webp deleted file mode 100644 index f32fa762..00000000 --- a/game/images/CG/luna_desk/7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cee43da7a653bfbc6961975b44d5dd55a9b7ced781c72bdcd592f02e8373d5a0 -size 328068 diff --git a/game/images/CG/luna_desk/8.webp b/game/images/CG/luna_desk/8.webp deleted file mode 100644 index 2568d912..00000000 --- a/game/images/CG/luna_desk/8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d4eec913dbe1a622cb793508aefc4ef4b9fa3273c7c2cd378c694938c7cfb192 -size 328954 diff --git a/game/images/CG/luna_desk/9.webp b/game/images/CG/luna_desk/9.webp deleted file mode 100644 index d58e91a7..00000000 --- a/game/images/CG/luna_desk/9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d5df8cd5a8c00fc17168aaa564ec6d39065737811e1e4b783d7c44f389ec2f9 -size 330682 diff --git a/game/images/CG/luna_desk/base.webp b/game/images/CG/luna_desk/base.webp deleted file mode 100644 index 16a92cb0..00000000 --- a/game/images/CG/luna_desk/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5b3cb5416d8826b1515b604ec259b7eb593502114ddda074c504c05eea069425 -size 53724 diff --git a/game/images/CG/luna_desk/blank.webp b/game/images/CG/luna_desk/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_desk/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_desk/f44.webp b/game/images/CG/luna_desk/f44.webp deleted file mode 100644 index 6c46073c..00000000 --- a/game/images/CG/luna_desk/f44.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b85d5e96696233281f76a5ba84769cd8645fefc805f89fd3c4978a2cc024b88 -size 358822 diff --git a/game/images/CG/luna_desk/genie.webp b/game/images/CG/luna_desk/genie.webp deleted file mode 100644 index 818cb66b..00000000 --- a/game/images/CG/luna_desk/genie.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a1420e076984563603631b1049c3f6d5ae0905195e9c681149ccb0fc96b92a8 -size 75318 diff --git a/game/images/CG/luna_desk/l1.webp b/game/images/CG/luna_desk/l1.webp deleted file mode 100644 index 54686313..00000000 --- a/game/images/CG/luna_desk/l1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3b03b412b2c2cbc8bd080853a60836cec78ba0f5ab1df09d9e82b64689b371e6 -size 329138 diff --git a/game/images/CG/luna_desk/l10.webp b/game/images/CG/luna_desk/l10.webp deleted file mode 100644 index a4a25cc8..00000000 --- a/game/images/CG/luna_desk/l10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e488830e97e116781153f4edec7491c79ca10debd192088ebb903191658cfa8c -size 282280 diff --git a/game/images/CG/luna_desk/l2.webp b/game/images/CG/luna_desk/l2.webp deleted file mode 100644 index a103c0ba..00000000 --- a/game/images/CG/luna_desk/l2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8bfd5a09334e730e2401f0fb3a45236dfedd8f8cfda056eb8e8f7f09417ba13e -size 320062 diff --git a/game/images/CG/luna_desk/l3.webp b/game/images/CG/luna_desk/l3.webp deleted file mode 100644 index 99ae59e9..00000000 --- a/game/images/CG/luna_desk/l3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9cb7e821c85a641c2218b91b9852d20abf864ff4f134db95892a66238798d10 -size 312886 diff --git a/game/images/CG/luna_desk/l4.webp b/game/images/CG/luna_desk/l4.webp deleted file mode 100644 index 3818432f..00000000 --- a/game/images/CG/luna_desk/l4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a16a04a22cc53de5717fd107c2c0f82c9b5ec02ab4229a8f09ae281a41922af6 -size 301450 diff --git a/game/images/CG/luna_desk/l5.webp b/game/images/CG/luna_desk/l5.webp deleted file mode 100644 index d0e6e9bb..00000000 --- a/game/images/CG/luna_desk/l5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c84b9dabf804d21b63683da41fd0320da66270662863460d84529a11585162c1 -size 292392 diff --git a/game/images/CG/luna_desk/l6.webp b/game/images/CG/luna_desk/l6.webp deleted file mode 100644 index 9f91cb98..00000000 --- a/game/images/CG/luna_desk/l6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8dbb59267737ac7470d1f61ed88ba6b1d49722d0d68a984c1a1ca118df7f8d8f -size 319328 diff --git a/game/images/CG/luna_desk/l7.webp b/game/images/CG/luna_desk/l7.webp deleted file mode 100644 index 8a982756..00000000 --- a/game/images/CG/luna_desk/l7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:afda7fa57448686ec34b59129dfb0225f915dbd83e4fa271b6e36acb7b067288 -size 311676 diff --git a/game/images/CG/luna_desk/l8.webp b/game/images/CG/luna_desk/l8.webp deleted file mode 100644 index cbd9c787..00000000 --- a/game/images/CG/luna_desk/l8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8e8ff3c4a7416fcda538b28954eaa193902a4430586e75e29e45b3a9b99fa449 -size 304612 diff --git a/game/images/CG/luna_desk/l9.webp b/game/images/CG/luna_desk/l9.webp deleted file mode 100644 index c1cbf7dc..00000000 --- a/game/images/CG/luna_desk/l9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c7a77ffdeecb5e624d331070f19c3e4e3b5ed7ddf273900e6f719dbe1c7a597 -size 292974 diff --git a/game/images/CG/luna_desk2/base.webp b/game/images/CG/luna_desk2/base.webp deleted file mode 100644 index 16a92cb0..00000000 --- a/game/images/CG/luna_desk2/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5b3cb5416d8826b1515b604ec259b7eb593502114ddda074c504c05eea069425 -size 53724 diff --git a/game/images/CG/luna_desk2/base_2.webp b/game/images/CG/luna_desk2/base_2.webp deleted file mode 100644 index 83732192..00000000 --- a/game/images/CG/luna_desk2/base_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f02e32825cc16e8dfd37569f764ea94d5bb1c9469fa97e6b7a902111235f9b64 -size 34470 diff --git a/game/images/CG/luna_desk2/blank.webp b/game/images/CG/luna_desk2/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_desk2/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_desk2/border.webp b/game/images/CG/luna_desk2/border.webp deleted file mode 100644 index f6079380..00000000 --- a/game/images/CG/luna_desk2/border.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca758742556a61fe755936aca31fd1c62b9145899f40a9972d759ae90f5c9d4d -size 84904 diff --git a/game/images/CG/luna_desk2/c_base.webp b/game/images/CG/luna_desk2/c_base.webp deleted file mode 100644 index 1fe71d96..00000000 --- a/game/images/CG/luna_desk2/c_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a0ca0f97ae50fd8ece32a0de946500cdd95cfe56fa1bde7c8439bb9c95568a8 -size 14706 diff --git a/game/images/CG/luna_desk2/c_blush.webp b/game/images/CG/luna_desk2/c_blush.webp deleted file mode 100644 index 03c3edad..00000000 --- a/game/images/CG/luna_desk2/c_blush.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:171e7149ae944142bc3211c2e297ca95b70d449014cef9eaa3575beb5bb529ad -size 19284 diff --git a/game/images/CG/luna_desk2/cum_1.webp b/game/images/CG/luna_desk2/cum_1.webp deleted file mode 100644 index 480846d3..00000000 --- a/game/images/CG/luna_desk2/cum_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49f7c1e4560cf84a132950e48f98f621da1b264d1e1b18d1e6a6bb39b6ebd6ca -size 16284 diff --git a/game/images/CG/luna_desk2/cum_2.webp b/game/images/CG/luna_desk2/cum_2.webp deleted file mode 100644 index 98d2a1f9..00000000 --- a/game/images/CG/luna_desk2/cum_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10f5cc569e01e2f6e1b1a18189b4935300efe16c8d00545e648ec204a40110ea -size 30026 diff --git a/game/images/CG/luna_desk2/cum_3.webp b/game/images/CG/luna_desk2/cum_3.webp deleted file mode 100644 index 52a2b94a..00000000 --- a/game/images/CG/luna_desk2/cum_3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fefaace738187de1faf42ef6a9bfc857faca9e30704fac6e210f436338faec98 -size 45822 diff --git a/game/images/CG/luna_desk2/cum_4.webp b/game/images/CG/luna_desk2/cum_4.webp deleted file mode 100644 index 7b208ca0..00000000 --- a/game/images/CG/luna_desk2/cum_4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f5715db22b16ccf6daf30ed019f0fd926e0a996ed3d8901f074bbf43ca732ae9 -size 1674 diff --git a/game/images/CG/luna_desk2/cum_5.webp b/game/images/CG/luna_desk2/cum_5.webp deleted file mode 100644 index 2e84e5c8..00000000 --- a/game/images/CG/luna_desk2/cum_5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:337a422669ce4472fd94529305bb9a97b1124bb546834bfe24288960df5a1910 -size 1134 diff --git a/game/images/CG/luna_desk2/curly_hair.webp b/game/images/CG/luna_desk2/curly_hair.webp deleted file mode 100644 index 0a4d4ff3..00000000 --- a/game/images/CG/luna_desk2/curly_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f69661771400832a960c840c490318a64356eb0529d36dfe5afb9d8aa2b694d8 -size 194510 diff --git a/game/images/CG/luna_desk2/curly_hair_top.webp b/game/images/CG/luna_desk2/curly_hair_top.webp deleted file mode 100644 index 1823ff8c..00000000 --- a/game/images/CG/luna_desk2/curly_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bf6a6c264abc345aa99cf34eadaf571747123379205591452ba6fdc75c7b975c -size 116808 diff --git a/game/images/CG/luna_desk2/dick_0.webp b/game/images/CG/luna_desk2/dick_0.webp deleted file mode 100644 index b4bee3ec..00000000 --- a/game/images/CG/luna_desk2/dick_0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8bf4e2c5950b02ea8b66ccd168256c442cabdc1c4f23d29f2d83301077639e1 -size 18498 diff --git a/game/images/CG/luna_desk2/dick_1.webp b/game/images/CG/luna_desk2/dick_1.webp deleted file mode 100644 index b4bee3ec..00000000 --- a/game/images/CG/luna_desk2/dick_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8bf4e2c5950b02ea8b66ccd168256c442cabdc1c4f23d29f2d83301077639e1 -size 18498 diff --git a/game/images/CG/luna_desk2/dick_10.webp b/game/images/CG/luna_desk2/dick_10.webp deleted file mode 100644 index 814c7e51..00000000 --- a/game/images/CG/luna_desk2/dick_10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f55e2caa89767bd61614ca93d34f542b5aea317bec9d826cfaa0a186618e92fc -size 10960 diff --git a/game/images/CG/luna_desk2/dick_11.webp b/game/images/CG/luna_desk2/dick_11.webp deleted file mode 100644 index 66eba048..00000000 --- a/game/images/CG/luna_desk2/dick_11.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24e69b2f4f55ec1240e831e5af46910f7b58bdb6d328d9ca7beb025329177c6c -size 9842 diff --git a/game/images/CG/luna_desk2/dick_12.webp b/game/images/CG/luna_desk2/dick_12.webp deleted file mode 100644 index 4c978eb3..00000000 --- a/game/images/CG/luna_desk2/dick_12.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a610962df577d81ff9f4d494b1222097ae444fef602fc2574c0f8d151bb4193e -size 8494 diff --git a/game/images/CG/luna_desk2/dick_13.webp b/game/images/CG/luna_desk2/dick_13.webp deleted file mode 100644 index 04f029f7..00000000 --- a/game/images/CG/luna_desk2/dick_13.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7f613cf55e0e2f4d90fb4878c7cb8ace0a631852238958c327bf33a2fee21658 -size 7778 diff --git a/game/images/CG/luna_desk2/dick_14.webp b/game/images/CG/luna_desk2/dick_14.webp deleted file mode 100644 index 6ad2e325..00000000 --- a/game/images/CG/luna_desk2/dick_14.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9cb8420be57f9ae80fc354907c00ffe143ffe2f269682324c33db96f9bea2e17 -size 6966 diff --git a/game/images/CG/luna_desk2/dick_15.webp b/game/images/CG/luna_desk2/dick_15.webp deleted file mode 100644 index 23f3c225..00000000 --- a/game/images/CG/luna_desk2/dick_15.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc5e732bcc214eb4313d6c9f704a52753e7936ff717cc58ba565ab542fef6a05 -size 6182 diff --git a/game/images/CG/luna_desk2/dick_16.webp b/game/images/CG/luna_desk2/dick_16.webp deleted file mode 100644 index 46f969f1..00000000 --- a/game/images/CG/luna_desk2/dick_16.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23d99e63fd4263d3600735320207fd3ef2a0c872dcfba9a7c3f12f69670384e1 -size 6098 diff --git a/game/images/CG/luna_desk2/dick_2.webp b/game/images/CG/luna_desk2/dick_2.webp deleted file mode 100644 index b4bee3ec..00000000 --- a/game/images/CG/luna_desk2/dick_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8bf4e2c5950b02ea8b66ccd168256c442cabdc1c4f23d29f2d83301077639e1 -size 18498 diff --git a/game/images/CG/luna_desk2/dick_3.webp b/game/images/CG/luna_desk2/dick_3.webp deleted file mode 100644 index e3fc3aa2..00000000 --- a/game/images/CG/luna_desk2/dick_3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad6d26763b1c39e19c7be1050fc647677b56129ca538f2c8fd239728893e0387 -size 17220 diff --git a/game/images/CG/luna_desk2/dick_4.webp b/game/images/CG/luna_desk2/dick_4.webp deleted file mode 100644 index 2188bccb..00000000 --- a/game/images/CG/luna_desk2/dick_4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1931f6c018865f8c5302a390ee5cb8d9483df292d09205bd1ca9e1b4147a48f -size 19298 diff --git a/game/images/CG/luna_desk2/dick_5.webp b/game/images/CG/luna_desk2/dick_5.webp deleted file mode 100644 index 5b5a55d0..00000000 --- a/game/images/CG/luna_desk2/dick_5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9e5412a9843584af85a212a93b91ca11cbab909f5a72b9fe8c20b9bbbc6b2f5 -size 17780 diff --git a/game/images/CG/luna_desk2/dick_6.webp b/game/images/CG/luna_desk2/dick_6.webp deleted file mode 100644 index 646b4f2d..00000000 --- a/game/images/CG/luna_desk2/dick_6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:637ee9e6b97b5a12d2d3dd66c71539e537feb2d45715c3543a7e74b292170206 -size 16116 diff --git a/game/images/CG/luna_desk2/dick_7.webp b/game/images/CG/luna_desk2/dick_7.webp deleted file mode 100644 index bdf8fa61..00000000 --- a/game/images/CG/luna_desk2/dick_7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:260714963f60665b17ce6a48c5d2f6479990c0943997210bc7fddb909212bd08 -size 14594 diff --git a/game/images/CG/luna_desk2/dick_8.webp b/game/images/CG/luna_desk2/dick_8.webp deleted file mode 100644 index d7c3817d..00000000 --- a/game/images/CG/luna_desk2/dick_8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f2a76790850da99e13a788ead926bea05826e5c7cc9f12f1dab99c4da816872e -size 13124 diff --git a/game/images/CG/luna_desk2/dick_9.webp b/game/images/CG/luna_desk2/dick_9.webp deleted file mode 100644 index 851cff41..00000000 --- a/game/images/CG/luna_desk2/dick_9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d37e4f79b948eb07d958d5e456428760ed60d54326e4ecf2e96200f4d794c19e -size 11910 diff --git a/game/images/CG/luna_desk2/down_N.webp b/game/images/CG/luna_desk2/down_N.webp deleted file mode 100644 index 90df55a3..00000000 --- a/game/images/CG/luna_desk2/down_N.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4916135ad0fbdc73fe3d6de667606166a66946943fc935f91a617dfd73e87416 -size 2290 diff --git a/game/images/CG/luna_desk2/eb_angry.webp b/game/images/CG/luna_desk2/eb_angry.webp deleted file mode 100644 index 4224ce7c..00000000 --- a/game/images/CG/luna_desk2/eb_angry.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65b9567b13f45a0aaa4e3be6740d2e23576a21db114358d012bf1b1b070de5e9 -size 5972 diff --git a/game/images/CG/luna_desk2/eb_base.webp b/game/images/CG/luna_desk2/eb_base.webp deleted file mode 100644 index 7f7c9cb3..00000000 --- a/game/images/CG/luna_desk2/eb_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a50e56359b2bd56816ecd69fb7465e96ec0ebdc298dbb4ec3ffe6e1a39fc24b -size 4314 diff --git a/game/images/CG/luna_desk2/eb_mad.webp b/game/images/CG/luna_desk2/eb_mad.webp deleted file mode 100644 index 17c49c53..00000000 --- a/game/images/CG/luna_desk2/eb_mad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ccbf978bbdc6e52eb08ab73520d89cee83fe6e3518be0b14d5825cb2e38bb3a -size 7424 diff --git a/game/images/CG/luna_desk2/eb_raised.webp b/game/images/CG/luna_desk2/eb_raised.webp deleted file mode 100644 index 205ae417..00000000 --- a/game/images/CG/luna_desk2/eb_raised.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0d164c090360032266c7be9f2b58420167545325e3e270e11ebed02187b4a2ae -size 6382 diff --git a/game/images/CG/luna_desk2/eb_sad.webp b/game/images/CG/luna_desk2/eb_sad.webp deleted file mode 100644 index bc3dc0e4..00000000 --- a/game/images/CG/luna_desk2/eb_sad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:628a3cbbea2a88ec38e7ba262012c0940ffe9d9cc66a767e6bb04bedf433e610 -size 7124 diff --git a/game/images/CG/luna_desk2/eye_angry.webp b/game/images/CG/luna_desk2/eye_angry.webp deleted file mode 100644 index 5761e113..00000000 --- a/game/images/CG/luna_desk2/eye_angry.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10899145371c5d593ae233add5f933831d90e00f81dd06f79ed684277431fab8 -size 9360 diff --git a/game/images/CG/luna_desk2/eye_base.webp b/game/images/CG/luna_desk2/eye_base.webp deleted file mode 100644 index 3af70913..00000000 --- a/game/images/CG/luna_desk2/eye_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8accd2cd7aa2e071b0c636be6a12f60662e0274a3dc1fc40c3597852107168b1 -size 9038 diff --git a/game/images/CG/luna_desk2/eye_closed.webp b/game/images/CG/luna_desk2/eye_closed.webp deleted file mode 100644 index fef67ac8..00000000 --- a/game/images/CG/luna_desk2/eye_closed.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d476704b4a6a7439c0625ca2072ee44f12222329e74eee26a4df61cb7eedaafc -size 8116 diff --git a/game/images/CG/luna_desk2/eye_excited.webp b/game/images/CG/luna_desk2/eye_excited.webp deleted file mode 100644 index 8810be64..00000000 --- a/game/images/CG/luna_desk2/eye_excited.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f6a565b4da3dd7e8b5395ef57cd4d81249b7530b807d9d5232f1f79809f2c94f -size 9654 diff --git a/game/images/CG/luna_desk2/eye_happyCl.webp b/game/images/CG/luna_desk2/eye_happyCl.webp deleted file mode 100644 index fef67ac8..00000000 --- a/game/images/CG/luna_desk2/eye_happyCl.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d476704b4a6a7439c0625ca2072ee44f12222329e74eee26a4df61cb7eedaafc -size 8116 diff --git a/game/images/CG/luna_desk2/eye_mad.webp b/game/images/CG/luna_desk2/eye_mad.webp deleted file mode 100644 index cf6b0716..00000000 --- a/game/images/CG/luna_desk2/eye_mad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dcaece4982f36d19593dad30a16fced3d7197634a765870b59684834b95add99 -size 9476 diff --git a/game/images/CG/luna_desk2/eye_sad.webp b/game/images/CG/luna_desk2/eye_sad.webp deleted file mode 100644 index e5152030..00000000 --- a/game/images/CG/luna_desk2/eye_sad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:869bb7cf79d90b314bcaf7064f47b73d1dc1671adea80dc3d98e4e0de917eb2a -size 8884 diff --git a/game/images/CG/luna_desk2/eye_seductive.webp b/game/images/CG/luna_desk2/eye_seductive.webp deleted file mode 100644 index a746d8a7..00000000 --- a/game/images/CG/luna_desk2/eye_seductive.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:164774e6ef7b026b111c5cbe9bbed676ec74ef2495819ac987c46fe73f687157 -size 8948 diff --git a/game/images/CG/luna_desk2/eye_white.webp b/game/images/CG/luna_desk2/eye_white.webp deleted file mode 100644 index 50911f7a..00000000 --- a/game/images/CG/luna_desk2/eye_white.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9805974d1bc27e3edffc9df9fadc230f0ebcaf762e5c80c9a28200ed13b14994 -size 3208 diff --git a/game/images/CG/luna_desk2/eye_wide.webp b/game/images/CG/luna_desk2/eye_wide.webp deleted file mode 100644 index 10d82640..00000000 --- a/game/images/CG/luna_desk2/eye_wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:99915621a5db5f74cdad24776cbd6a4e20c0da631fb31464bcd0280b360420df -size 4680 diff --git a/game/images/CG/luna_desk2/eye_wink.webp b/game/images/CG/luna_desk2/eye_wink.webp deleted file mode 100644 index e18a4173..00000000 --- a/game/images/CG/luna_desk2/eye_wink.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9addcc73c024d388cd97fcecc03407c56f6ed55004b000ad8b936756db8b686a -size 8644 diff --git a/game/images/CG/luna_desk2/genie.webp b/game/images/CG/luna_desk2/genie.webp deleted file mode 100644 index 818cb66b..00000000 --- a/game/images/CG/luna_desk2/genie.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a1420e076984563603631b1049c3f6d5ae0905195e9c681149ccb0fc96b92a8 -size 75318 diff --git a/game/images/CG/luna_desk2/genie_robe.webp b/game/images/CG/luna_desk2/genie_robe.webp deleted file mode 100644 index 26ef0873..00000000 --- a/game/images/CG/luna_desk2/genie_robe.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1b45564eb2bc7e530067d4fa83c512ee329b10a29dec33c914330a25206e2dd -size 50156 diff --git a/game/images/CG/luna_desk2/glasses.webp b/game/images/CG/luna_desk2/glasses.webp deleted file mode 100644 index a5cf2d0f..00000000 --- a/game/images/CG/luna_desk2/glasses.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e253f9e143294a790c1a1282fb1c16ee39f72ed93d9eba7da3bb8bbb620bed6d -size 43752 diff --git a/game/images/CG/luna_desk2/hand.webp b/game/images/CG/luna_desk2/hand.webp deleted file mode 100644 index e90d6ae8..00000000 --- a/game/images/CG/luna_desk2/hand.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:060cf2f45a0e5e24f17c5d5989eede2a7061888cf257279352762297da5cea33 -size 23052 diff --git a/game/images/CG/luna_desk2/luna_base.webp b/game/images/CG/luna_desk2/luna_base.webp deleted file mode 100644 index db8e92aa..00000000 --- a/game/images/CG/luna_desk2/luna_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c5d1747fddc921c517c75fcf9f967fab42371fdfd3f502547681c47acfacc8b2 -size 105854 diff --git a/game/images/CG/luna_desk2/luna_base_2.webp b/game/images/CG/luna_desk2/luna_base_2.webp deleted file mode 100644 index ea8c478e..00000000 --- a/game/images/CG/luna_desk2/luna_base_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2f997e4dc674679ad2de9689b2830cfa88f2a17c462238f4c3ca39fdc000fa6a -size 81968 diff --git a/game/images/CG/luna_desk2/m_base.webp b/game/images/CG/luna_desk2/m_base.webp deleted file mode 100644 index 8c31ae10..00000000 --- a/game/images/CG/luna_desk2/m_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a5ed76a038261584e5b84bc5269a68619c680acc86ac92debbf69c795954a17 -size 2348 diff --git a/game/images/CG/luna_desk2/m_full.webp b/game/images/CG/luna_desk2/m_full.webp deleted file mode 100644 index e98cdd1a..00000000 --- a/game/images/CG/luna_desk2/m_full.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41b1c0ee0c01820c30daf72246eb46b0cd6a5994631fe29d6b06043b6f08278b -size 11896 diff --git a/game/images/CG/luna_desk2/m_open.webp b/game/images/CG/luna_desk2/m_open.webp deleted file mode 100644 index d3e9edf8..00000000 --- a/game/images/CG/luna_desk2/m_open.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b11a145ea0ab5ab4b6654bbfaeae244949f7f1d8e1259a09ecb4141f22b68830 -size 4086 diff --git a/game/images/CG/luna_desk2/m_open_tongue.webp b/game/images/CG/luna_desk2/m_open_tongue.webp deleted file mode 100644 index bc872ae3..00000000 --- a/game/images/CG/luna_desk2/m_open_tongue.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a956eb46f72d1e18b02843b0440172ccd91c10e0fd9710e2240718712ad0904 -size 4024 diff --git a/game/images/CG/luna_desk2/m_pout.webp b/game/images/CG/luna_desk2/m_pout.webp deleted file mode 100644 index abe5a4c4..00000000 --- a/game/images/CG/luna_desk2/m_pout.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f11ea3ababa6e6169868ace53307a81d431c7f68c92f10d477fd6094c670b93 -size 3080 diff --git a/game/images/CG/luna_desk2/m_sucking.webp b/game/images/CG/luna_desk2/m_sucking.webp deleted file mode 100644 index 8e9d7d56..00000000 --- a/game/images/CG/luna_desk2/m_sucking.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9dcd8a6dc53fd89716540d48e2fd87bd5947457cfec0d41280ec5dd8fec167e8 -size 13530 diff --git a/game/images/CG/luna_desk2/m_talk.webp b/game/images/CG/luna_desk2/m_talk.webp deleted file mode 100644 index b196a999..00000000 --- a/game/images/CG/luna_desk2/m_talk.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c4a075c1ebce66754188aebe8c3e229b85a649376322586d3da5d5c26daf66b -size 3388 diff --git a/game/images/CG/luna_desk2/m_wide.webp b/game/images/CG/luna_desk2/m_wide.webp deleted file mode 100644 index 63e006a6..00000000 --- a/game/images/CG/luna_desk2/m_wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4727d8839b4e79218bb5ee18a098c100d29f5a55fd4b0c7cbc6200a38b3dca3a -size 9986 diff --git a/game/images/CG/luna_desk2/m_wide_tongue.webp b/game/images/CG/luna_desk2/m_wide_tongue.webp deleted file mode 100644 index 15db029e..00000000 --- a/game/images/CG/luna_desk2/m_wide_tongue.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c8c0daf94e83e584d93550512ef979b877b421f0c16895403f0878a29556c509 -size 9510 diff --git a/game/images/CG/luna_desk2/mascara.webp b/game/images/CG/luna_desk2/mascara.webp deleted file mode 100644 index 03cbdc20..00000000 --- a/game/images/CG/luna_desk2/mascara.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65748df0572cf6ff320a682ae5ad966ae0c70d31bd67c42ab511bbdbeaefac63 -size 2290 diff --git a/game/images/CG/luna_desk2/playful_hair.webp b/game/images/CG/luna_desk2/playful_hair.webp deleted file mode 100644 index 2caa38d5..00000000 --- a/game/images/CG/luna_desk2/playful_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f58ecebf537fe82d0669a7c939a0fd4df6d1da93e46fb395965b5960e2946ac7 -size 233144 diff --git a/game/images/CG/luna_desk2/playful_hair_top.webp b/game/images/CG/luna_desk2/playful_hair_top.webp deleted file mode 100644 index e034077d..00000000 --- a/game/images/CG/luna_desk2/playful_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f8c3fe9a01cbeb250d979a9d3ecf2bded250b6669859cad137b05da889e9ae9 -size 86646 diff --git a/game/images/CG/luna_desk2/pup_ahegao.webp b/game/images/CG/luna_desk2/pup_ahegao.webp deleted file mode 100644 index 6584098f..00000000 --- a/game/images/CG/luna_desk2/pup_ahegao.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:83aeab3c260f7d3054a9a78456c997172e30dae3a3a33f0d35695d4147c0db0e -size 4016 diff --git a/game/images/CG/luna_desk2/pup_base.webp b/game/images/CG/luna_desk2/pup_base.webp deleted file mode 100644 index 8ee437a1..00000000 --- a/game/images/CG/luna_desk2/pup_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9bffc3e120248c92232c995041dd278ff07cfd1f78b49a95ec5fa10af2f7985 -size 4336 diff --git a/game/images/CG/luna_desk2/pup_dick.webp b/game/images/CG/luna_desk2/pup_dick.webp deleted file mode 100644 index 8cf07f9b..00000000 --- a/game/images/CG/luna_desk2/pup_dick.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:489583e8815de139486704204e1eb7ab73cb9854a03314195ebc16031c09d4f0 -size 4088 diff --git a/game/images/CG/luna_desk2/pup_dl.webp b/game/images/CG/luna_desk2/pup_dl.webp deleted file mode 100644 index d9b4b2a1..00000000 --- a/game/images/CG/luna_desk2/pup_dl.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8fff79571442cd7da4b67866f10a16d8d71d6f1cc26f469596985289400c0eea -size 3074 diff --git a/game/images/CG/luna_desk2/pup_down.webp b/game/images/CG/luna_desk2/pup_down.webp deleted file mode 100644 index 11406f6d..00000000 --- a/game/images/CG/luna_desk2/pup_down.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d031265c00231def7e2fdb09e433189299071fbfec9a9fa966cf34974f6bd69 -size 3850 diff --git a/game/images/CG/luna_desk2/pup_left.webp b/game/images/CG/luna_desk2/pup_left.webp deleted file mode 100644 index 51dc3e10..00000000 --- a/game/images/CG/luna_desk2/pup_left.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75c81ec33fddb49756a45a64c83afcfdc7b81f3e74d07fbeeae6a3dec957e722 -size 4236 diff --git a/game/images/CG/luna_desk2/pup_right.webp b/game/images/CG/luna_desk2/pup_right.webp deleted file mode 100644 index 8ee437a1..00000000 --- a/game/images/CG/luna_desk2/pup_right.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9bffc3e120248c92232c995041dd278ff07cfd1f78b49a95ec5fa10af2f7985 -size 4336 diff --git a/game/images/CG/luna_desk2/pup_up.webp b/game/images/CG/luna_desk2/pup_up.webp deleted file mode 100644 index 02c531a3..00000000 --- a/game/images/CG/luna_desk2/pup_up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:520f0baf9ed89a8ea0e8bec3443e1fe9fa8b698f59e8af432128c50eb003e6cb -size 4042 diff --git a/game/images/CG/luna_desk2/short_hair.webp b/game/images/CG/luna_desk2/short_hair.webp deleted file mode 100644 index 8ad174fa..00000000 --- a/game/images/CG/luna_desk2/short_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e1719982fd881541baea1c45e9139c3774f40e698d98c56b6d491f5233bff90 -size 83180 diff --git a/game/images/CG/luna_desk2/short_hair_top.webp b/game/images/CG/luna_desk2/short_hair_top.webp deleted file mode 100644 index f304d185..00000000 --- a/game/images/CG/luna_desk2/short_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:039d0b4105f63544b08ce530499ffcc816b197cbb1dfbe71bdcf658506d5b03a -size 74348 diff --git a/game/images/CG/luna_desk2/tears.webp b/game/images/CG/luna_desk2/tears.webp deleted file mode 100644 index fcfe7477..00000000 --- a/game/images/CG/luna_desk2/tears.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29d80ce2441f2d81541518cc33aee08cfa0ec9cccd41845046a7ca89ff1c10c5 -size 2472 diff --git a/game/images/CG/luna_desk2/up_N.webp b/game/images/CG/luna_desk2/up_N.webp deleted file mode 100644 index fdedce1f..00000000 --- a/game/images/CG/luna_desk2/up_N.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1fce416f6348e5ab64ec82d3d49902db5060dcb00ec9006976bbe9bf611601a2 -size 2372 diff --git a/game/images/CG/luna_facial/1.webp b/game/images/CG/luna_facial/1.webp deleted file mode 100644 index 48b70445..00000000 --- a/game/images/CG/luna_facial/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fce000e107dd317545761d4a76e94a6042b3cc6e2afdb649ba105f8e825469e0 -size 331396 diff --git a/game/images/CG/luna_facial/10.webp b/game/images/CG/luna_facial/10.webp deleted file mode 100644 index 385e21d9..00000000 --- a/game/images/CG/luna_facial/10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:02f6b99a65ae04a424ee312b0715a36646def605a4452cf74fea913a06482294 -size 315050 diff --git a/game/images/CG/luna_facial/11.webp b/game/images/CG/luna_facial/11.webp deleted file mode 100644 index c3e8cb3c..00000000 --- a/game/images/CG/luna_facial/11.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f0874800f2163e4e2ab36646b9503234c6685f45ec90e5da7de524e66f6922c0 -size 315828 diff --git a/game/images/CG/luna_facial/12.webp b/game/images/CG/luna_facial/12.webp deleted file mode 100644 index fa54ec0a..00000000 --- a/game/images/CG/luna_facial/12.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4bb96eb26689a92eefc4a1e69b6fec18331767242418d42270b8abfeb8d796b6 -size 314986 diff --git a/game/images/CG/luna_facial/13.webp b/game/images/CG/luna_facial/13.webp deleted file mode 100644 index e474d417..00000000 --- a/game/images/CG/luna_facial/13.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:253cd7d8b26824bd72c09cd604745fc1f1833342ff33b4af29b094bff4d1cefa -size 314982 diff --git a/game/images/CG/luna_facial/14.webp b/game/images/CG/luna_facial/14.webp deleted file mode 100644 index 7def7f65..00000000 --- a/game/images/CG/luna_facial/14.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90e5312f559c9bd35a7c8e784b56b63ade92ee9d7c3494b6941f9e944dc96e1b -size 315222 diff --git a/game/images/CG/luna_facial/15.webp b/game/images/CG/luna_facial/15.webp deleted file mode 100644 index 595d4c90..00000000 --- a/game/images/CG/luna_facial/15.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c727d058d5c99e5e6ab56eb64d85df8a68a5e8ca2f18da2a9bf19476991d98e -size 317366 diff --git a/game/images/CG/luna_facial/16.webp b/game/images/CG/luna_facial/16.webp deleted file mode 100644 index b3f8c97a..00000000 --- a/game/images/CG/luna_facial/16.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ab525710dd12fb82a244387da59b44ba41248a53cbc192c93d0d53b651501ca -size 320468 diff --git a/game/images/CG/luna_facial/17.webp b/game/images/CG/luna_facial/17.webp deleted file mode 100644 index 188cadcb..00000000 --- a/game/images/CG/luna_facial/17.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4909909477988d2c22ac953bb795b22231a36b2e9bf8f46b5bf3a50f52836438 -size 323910 diff --git a/game/images/CG/luna_facial/18.webp b/game/images/CG/luna_facial/18.webp deleted file mode 100644 index 80ce10a5..00000000 --- a/game/images/CG/luna_facial/18.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe6a47cbd73c54cbfe13cfcb92b49a444b25fe2ef9d94aaf4cf2c58a9491dbe9 -size 323650 diff --git a/game/images/CG/luna_facial/19.webp b/game/images/CG/luna_facial/19.webp deleted file mode 100644 index 286c8581..00000000 --- a/game/images/CG/luna_facial/19.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f8457dbe949cc48115591ae760ff4006791db5caed54219dcd57758f86d823b -size 323842 diff --git a/game/images/CG/luna_facial/2.webp b/game/images/CG/luna_facial/2.webp deleted file mode 100644 index 869c2d05..00000000 --- a/game/images/CG/luna_facial/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d51ae512be29d24fe2e170eabe23c82562cfec4f0312117f7880ecafdae4406 -size 332464 diff --git a/game/images/CG/luna_facial/20.webp b/game/images/CG/luna_facial/20.webp deleted file mode 100644 index 69a5aac9..00000000 --- a/game/images/CG/luna_facial/20.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d45be0027499310031d948f2b24eeeee7a87a0775bd0797bf084d3fb251ddce -size 323424 diff --git a/game/images/CG/luna_facial/21.webp b/game/images/CG/luna_facial/21.webp deleted file mode 100644 index 033b9c14..00000000 --- a/game/images/CG/luna_facial/21.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:87cc900825b19bd1eefa7fb88eed70b42e034db96e3c7eb3d8973a3086ed52c7 -size 335968 diff --git a/game/images/CG/luna_facial/22.webp b/game/images/CG/luna_facial/22.webp deleted file mode 100644 index 63a30ff5..00000000 --- a/game/images/CG/luna_facial/22.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad092887aa9aa5a5ae90558f4266d4c8ed7a2620f38122e7a207076ec235e139 -size 337084 diff --git a/game/images/CG/luna_facial/23.webp b/game/images/CG/luna_facial/23.webp deleted file mode 100644 index ea420f1c..00000000 --- a/game/images/CG/luna_facial/23.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5f7c2f46fe77b02732c6c6e507e97dcdfd62ce7f438977fcf506f7da1a997b21 -size 320832 diff --git a/game/images/CG/luna_facial/24.webp b/game/images/CG/luna_facial/24.webp deleted file mode 100644 index 47f94ed0..00000000 --- a/game/images/CG/luna_facial/24.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24c859c467d72262936dbc3c47c6484cddadab99b43496455adc9081e8d7f7a8 -size 319302 diff --git a/game/images/CG/luna_facial/25.webp b/game/images/CG/luna_facial/25.webp deleted file mode 100644 index a2f0d288..00000000 --- a/game/images/CG/luna_facial/25.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0b4b7130c55eabe205974c3fce21dc27899441e1b9bb27072dac5fdceb6e5ec -size 319376 diff --git a/game/images/CG/luna_facial/26.webp b/game/images/CG/luna_facial/26.webp deleted file mode 100644 index 188c5e8a..00000000 --- a/game/images/CG/luna_facial/26.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3edcc1cb825d8cfde6fab41927d54ecfcc2ef0b0c29f7a84871faeae94d3418 -size 319412 diff --git a/game/images/CG/luna_facial/27.webp b/game/images/CG/luna_facial/27.webp deleted file mode 100644 index 584393ae..00000000 --- a/game/images/CG/luna_facial/27.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:03e1ebbe58529f0536dc81cbf88713c804d635d3b79c011552f995185818e379 -size 319122 diff --git a/game/images/CG/luna_facial/28.webp b/game/images/CG/luna_facial/28.webp deleted file mode 100644 index 9b802c1c..00000000 --- a/game/images/CG/luna_facial/28.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7933d800b19e2863bd08c0b1aeac1561b607822fa395506a47ed7d0c6172dfb3 -size 324578 diff --git a/game/images/CG/luna_facial/29.webp b/game/images/CG/luna_facial/29.webp deleted file mode 100644 index 9cb546ca..00000000 --- a/game/images/CG/luna_facial/29.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:410932fea3b477535e8f8f1e0e1a02cbb188b56f3f09abd796986247e139000e -size 324524 diff --git a/game/images/CG/luna_facial/3.webp b/game/images/CG/luna_facial/3.webp deleted file mode 100644 index d763d743..00000000 --- a/game/images/CG/luna_facial/3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:db9942611e88b3dd52ca52c35301397be8c60024e618db7e1605bc552c4cd619 -size 332046 diff --git a/game/images/CG/luna_facial/30.webp b/game/images/CG/luna_facial/30.webp deleted file mode 100644 index b6667712..00000000 --- a/game/images/CG/luna_facial/30.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:811006c91e75ee407126aca6ffb39509419d36a766593c14afb5c5e5848cc249 -size 324774 diff --git a/game/images/CG/luna_facial/31.webp b/game/images/CG/luna_facial/31.webp deleted file mode 100644 index 1b7600d8..00000000 --- a/game/images/CG/luna_facial/31.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:853a3093c630cd71ec243b2d120c10e5a114d7a968ae7182419ef9baf0537a3c -size 325950 diff --git a/game/images/CG/luna_facial/32.webp b/game/images/CG/luna_facial/32.webp deleted file mode 100644 index e970b12a..00000000 --- a/game/images/CG/luna_facial/32.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:183c3f037cdf974677bfdaac0c45220c2d51d6bf2c188e0edba2f05a503547f4 -size 324858 diff --git a/game/images/CG/luna_facial/33.webp b/game/images/CG/luna_facial/33.webp deleted file mode 100644 index ba79602d..00000000 --- a/game/images/CG/luna_facial/33.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:28dad1f58abbbc1894833c85797364aa46e9d28c17e920bfb91de05524fdead3 -size 325138 diff --git a/game/images/CG/luna_facial/4.webp b/game/images/CG/luna_facial/4.webp deleted file mode 100644 index 9c082dd2..00000000 --- a/game/images/CG/luna_facial/4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:594bac80030006916c4c78e07f2f59ec0aab5b330a2f580f30e3e3f43578b2e2 -size 331180 diff --git a/game/images/CG/luna_facial/5.webp b/game/images/CG/luna_facial/5.webp deleted file mode 100644 index f6c5c4ca..00000000 --- a/game/images/CG/luna_facial/5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:200032d0decf42f2c94bf67b5f80cee0f0cac8d813bbecd1082aaa7c00fae97b -size 332008 diff --git a/game/images/CG/luna_facial/6.webp b/game/images/CG/luna_facial/6.webp deleted file mode 100644 index 0175b646..00000000 --- a/game/images/CG/luna_facial/6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa63f88751afe34de7a7145a5e339d2cc8fd4996b28a6504ce45c778c30b41a4 -size 330942 diff --git a/game/images/CG/luna_facial/7.webp b/game/images/CG/luna_facial/7.webp deleted file mode 100644 index 48b70445..00000000 --- a/game/images/CG/luna_facial/7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fce000e107dd317545761d4a76e94a6042b3cc6e2afdb649ba105f8e825469e0 -size 331396 diff --git a/game/images/CG/luna_facial/8.webp b/game/images/CG/luna_facial/8.webp deleted file mode 100644 index 13023ec1..00000000 --- a/game/images/CG/luna_facial/8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:627e371ddb6870bd55b2950055fdc89092f9b8c0184d2cf9bde02f5a7250416c -size 315026 diff --git a/game/images/CG/luna_facial/9.webp b/game/images/CG/luna_facial/9.webp deleted file mode 100644 index f743818c..00000000 --- a/game/images/CG/luna_facial/9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc493c34a983a926009c11bc66d66e12a51327e1f2c7e9d01a6496f4d6d7a848 -size 315876 diff --git a/game/images/CG/luna_facial/base.webp b/game/images/CG/luna_facial/base.webp deleted file mode 100644 index 12824743..00000000 --- a/game/images/CG/luna_facial/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23885f937c68c008b6d78515385bfc9d72ab84ccde678ae1920384574eb2ed31 -size 156480 diff --git a/game/images/CG/luna_facial/blank.webp b/game/images/CG/luna_facial/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_facial/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_facial/genie.webp b/game/images/CG/luna_facial/genie.webp deleted file mode 100644 index 818cb66b..00000000 --- a/game/images/CG/luna_facial/genie.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a1420e076984563603631b1049c3f6d5ae0905195e9c681149ccb0fc96b92a8 -size 75318 diff --git a/game/images/CG/luna_fucking/base.webp b/game/images/CG/luna_fucking/base.webp deleted file mode 100644 index 410a1313..00000000 --- a/game/images/CG/luna_fucking/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e881ee5199d1484e7731108f612c09119a708f0e8c494c916b5348a2661ad8b0 -size 232524 diff --git a/game/images/CG/luna_fucking/base_2.webp b/game/images/CG/luna_fucking/base_2.webp deleted file mode 100644 index 1c496a14..00000000 --- a/game/images/CG/luna_fucking/base_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:451a570ddfcdc4e29a9d23562c189fa58761cdbbb88ef35c3a8138fc2acd0807 -size 180524 diff --git a/game/images/CG/luna_fucking/blank.webp b/game/images/CG/luna_fucking/blank.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_fucking/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_fucking/c_base.webp b/game/images/CG/luna_fucking/c_base.webp deleted file mode 100644 index 89860906..00000000 --- a/game/images/CG/luna_fucking/c_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d1bf0190db487b10bd916c4ac2007f265a9d237e62017ede0a4e9b041d61d9e1 -size 3938 diff --git a/game/images/CG/luna_fucking/c_blush.webp b/game/images/CG/luna_fucking/c_blush.webp deleted file mode 100644 index f06561ac..00000000 --- a/game/images/CG/luna_fucking/c_blush.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2cb1fe4bd2266a2147c7a17d18b7d13e85fc18d82009f933b6bb4e116052f2aa -size 6038 diff --git a/game/images/CG/luna_fucking/cum_1.webp b/game/images/CG/luna_fucking/cum_1.webp deleted file mode 100644 index d446694e..00000000 --- a/game/images/CG/luna_fucking/cum_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:071d4729c8c79295401a4119f0e139e788d64e13da719aaa5045cfd674e1a3a9 -size 7642 diff --git a/game/images/CG/luna_fucking/cum_2.webp b/game/images/CG/luna_fucking/cum_2.webp deleted file mode 100644 index aab97b31..00000000 --- a/game/images/CG/luna_fucking/cum_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d88d4675f88fbc34f3f4de18d9293b9cedf62605818c091513d9f8532da37558 -size 9812 diff --git a/game/images/CG/luna_fucking/cum_3.webp b/game/images/CG/luna_fucking/cum_3.webp deleted file mode 100644 index aab97b31..00000000 --- a/game/images/CG/luna_fucking/cum_3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d88d4675f88fbc34f3f4de18d9293b9cedf62605818c091513d9f8532da37558 -size 9812 diff --git a/game/images/CG/luna_fucking/cum_4.webp b/game/images/CG/luna_fucking/cum_4.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_fucking/cum_4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_fucking/curly_hair.webp b/game/images/CG/luna_fucking/curly_hair.webp deleted file mode 100644 index 4efd6392..00000000 --- a/game/images/CG/luna_fucking/curly_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:593a611bb922096f24f88255c4eab65788d31a3eb5e7abbf93b3cd868845d798 -size 54916 diff --git a/game/images/CG/luna_fucking/curly_hair_top.webp b/game/images/CG/luna_fucking/curly_hair_top.webp deleted file mode 100644 index 09575c45..00000000 --- a/game/images/CG/luna_fucking/curly_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0642c002589fd69722575fa2381453cebbaaad5b11833a3c00a8ab9d36c7b532 -size 23674 diff --git a/game/images/CG/luna_fucking/dick_0.webp b/game/images/CG/luna_fucking/dick_0.webp deleted file mode 100644 index 39a8046c..00000000 --- a/game/images/CG/luna_fucking/dick_0.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd6b6d997a29e8d00977006c9307a31fc7ba89e3652022c1bc96925fac3ee0c3 -size 54 diff --git a/game/images/CG/luna_fucking/eb_angry.webp b/game/images/CG/luna_fucking/eb_angry.webp deleted file mode 100644 index 6ac7f90a..00000000 --- a/game/images/CG/luna_fucking/eb_angry.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e2d5b6286b78a426218ac04d9bb0273da916b18620119476de224413e15b419d -size 2142 diff --git a/game/images/CG/luna_fucking/eb_base.webp b/game/images/CG/luna_fucking/eb_base.webp deleted file mode 100644 index 7fee22fa..00000000 --- a/game/images/CG/luna_fucking/eb_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cba601267df5ff4bb280fe998659e51384c89466fa64d10e2abd6e0915bdbda4 -size 1320 diff --git a/game/images/CG/luna_fucking/eb_mad.webp b/game/images/CG/luna_fucking/eb_mad.webp deleted file mode 100644 index ef39dd0a..00000000 --- a/game/images/CG/luna_fucking/eb_mad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c2b8a08e440cdeb316e4afee9b47d11ef19f1676e86ad78621da9dfd596df380 -size 2140 diff --git a/game/images/CG/luna_fucking/eb_raised.webp b/game/images/CG/luna_fucking/eb_raised.webp deleted file mode 100644 index 2ae1f710..00000000 --- a/game/images/CG/luna_fucking/eb_raised.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5be9f6aaf42a08fcb7b541a869cf2cbc3fd99d149332a4222347af64f342a75d -size 1862 diff --git a/game/images/CG/luna_fucking/eb_sad.webp b/game/images/CG/luna_fucking/eb_sad.webp deleted file mode 100644 index 2e03cf8c..00000000 --- a/game/images/CG/luna_fucking/eb_sad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1db2d86671daa3b46b01eaee2d9dae00108f0a743a3159d19a03a0f653ef2c41 -size 1986 diff --git a/game/images/CG/luna_fucking/eye_angry.webp b/game/images/CG/luna_fucking/eye_angry.webp deleted file mode 100644 index 5f5cf111..00000000 --- a/game/images/CG/luna_fucking/eye_angry.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dbcd25818a5573c0b1c7f5637eea8ccbd27a1ca5ecb9b1cd41255ef2fdd6d2c9 -size 2676 diff --git a/game/images/CG/luna_fucking/eye_base.webp b/game/images/CG/luna_fucking/eye_base.webp deleted file mode 100644 index 055522e7..00000000 --- a/game/images/CG/luna_fucking/eye_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fce86e6a7975158f4b8da8a79d08868a10ba2d2fb065830c603c9b3ca5103690 -size 2290 diff --git a/game/images/CG/luna_fucking/eye_closed.webp b/game/images/CG/luna_fucking/eye_closed.webp deleted file mode 100644 index 57179054..00000000 --- a/game/images/CG/luna_fucking/eye_closed.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9596a65ae59c5a259232742c05af6932d772c39661a1dd5093bc1f96389e4e7 -size 2828 diff --git a/game/images/CG/luna_fucking/eye_excited.webp b/game/images/CG/luna_fucking/eye_excited.webp deleted file mode 100644 index d2a546ff..00000000 --- a/game/images/CG/luna_fucking/eye_excited.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1785f483a52b3461313ffb0a93238590fbc423e82c8f01f244f958bbe50dda17 -size 2642 diff --git a/game/images/CG/luna_fucking/eye_furious.webp b/game/images/CG/luna_fucking/eye_furious.webp deleted file mode 100644 index 9cdafa95..00000000 --- a/game/images/CG/luna_fucking/eye_furious.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:566096c2305c8cc5df903b8895504e8c04d7cca709de324bf2ac9b398d4ecbda -size 2566 diff --git a/game/images/CG/luna_fucking/eye_happyCl.webp b/game/images/CG/luna_fucking/eye_happyCl.webp deleted file mode 100644 index 46fbdf88..00000000 --- a/game/images/CG/luna_fucking/eye_happyCl.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6fe4e262782d449543584c59a8136d7357b731d011e3f3b91d8c4d380f577fd6 -size 2368 diff --git a/game/images/CG/luna_fucking/eye_mad.webp b/game/images/CG/luna_fucking/eye_mad.webp deleted file mode 100644 index f52778b7..00000000 --- a/game/images/CG/luna_fucking/eye_mad.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0294a42c2a2e3d579f25e52f10ee87bccdefdee497ba6c66106bb7fadbc57889 -size 3352 diff --git a/game/images/CG/luna_fucking/eye_seductive.webp b/game/images/CG/luna_fucking/eye_seductive.webp deleted file mode 100644 index 236da739..00000000 --- a/game/images/CG/luna_fucking/eye_seductive.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1148796ba079b123beaee0447eca70666a99f286beb37c84bdd1e9f433b343b8 -size 2400 diff --git a/game/images/CG/luna_fucking/eye_tired.webp b/game/images/CG/luna_fucking/eye_tired.webp deleted file mode 100644 index 3995933f..00000000 --- a/game/images/CG/luna_fucking/eye_tired.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:96256044f80b40fc2b631aca02139b8abf79ee7bf1e44d3bb869538779ad7624 -size 2376 diff --git a/game/images/CG/luna_fucking/eye_white.webp b/game/images/CG/luna_fucking/eye_white.webp deleted file mode 100644 index cc72999f..00000000 --- a/game/images/CG/luna_fucking/eye_white.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c8b32ad89ee67631c41a10681dc3738d96ea2d483b1df8dd56975bedf7e60cc8 -size 1282 diff --git a/game/images/CG/luna_fucking/eye_wide.webp b/game/images/CG/luna_fucking/eye_wide.webp deleted file mode 100644 index 12ec8c91..00000000 --- a/game/images/CG/luna_fucking/eye_wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9f40ccd460d2f117fd48c2bd7d472da6dd84ddda76bf952f4832499117268991 -size 1492 diff --git a/game/images/CG/luna_fucking/eye_wink.webp b/game/images/CG/luna_fucking/eye_wink.webp deleted file mode 100644 index 0b36f6aa..00000000 --- a/game/images/CG/luna_fucking/eye_wink.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a5ff672aada1966c34f6d45321c3bf9f72e50d5f22c301f0e44b7ea37b4253fd -size 2352 diff --git a/game/images/CG/luna_fucking/fade.webp b/game/images/CG/luna_fucking/fade.webp deleted file mode 100644 index 0bf081af..00000000 --- a/game/images/CG/luna_fucking/fade.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:08a3b908e122f2a17a8f9f5efd75b62fb666eae54972284a90fdb34593a590a5 -size 2788 diff --git a/game/images/CG/luna_fucking/glasses.webp b/game/images/CG/luna_fucking/glasses.webp deleted file mode 100644 index 907b38b4..00000000 --- a/game/images/CG/luna_fucking/glasses.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5b2b06ba6a4e4f2d8fa0cb2c6bacd7503bbf0911b87e719d077fa9225ac8a0c3 -size 10214 diff --git a/game/images/CG/luna_fucking/lake_1.webp b/game/images/CG/luna_fucking/lake_1.webp deleted file mode 100644 index 8fa5aabc..00000000 --- a/game/images/CG/luna_fucking/lake_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2053e8cddd51c3ecec2425282f57594a405bd419cf17616549f036cc03ca6960 -size 107632 diff --git a/game/images/CG/luna_fucking/lake_2.webp b/game/images/CG/luna_fucking/lake_2.webp deleted file mode 100644 index cb4f54d1..00000000 --- a/game/images/CG/luna_fucking/lake_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17b6f5844811926f27b247ce6c4fb619c2341fa2e849ae1a24771ae68196e97e -size 89972 diff --git a/game/images/CG/luna_fucking/luna_base.webp b/game/images/CG/luna_fucking/luna_base.webp deleted file mode 100644 index 7779be14..00000000 --- a/game/images/CG/luna_fucking/luna_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f2a5053e9c658af097551b29332a8c4b812b632e008e2dd177a28296b56f681 -size 171170 diff --git a/game/images/CG/luna_fucking/m_base.webp b/game/images/CG/luna_fucking/m_base.webp deleted file mode 100644 index 0dca6ed0..00000000 --- a/game/images/CG/luna_fucking/m_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:35a5ec233f8c271a807c560c57f573450bab2055c8febe370c9d2e24ae289d21 -size 1076 diff --git a/game/images/CG/luna_fucking/m_open.webp b/game/images/CG/luna_fucking/m_open.webp deleted file mode 100644 index 0f5938f0..00000000 --- a/game/images/CG/luna_fucking/m_open.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:622f08cc048ac3c3d87ab83810ec9cf068038ba49fe2ec5f8bda3d7252c4bd4f -size 1226 diff --git a/game/images/CG/luna_fucking/m_open_tongue.webp b/game/images/CG/luna_fucking/m_open_tongue.webp deleted file mode 100644 index 415d426e..00000000 --- a/game/images/CG/luna_fucking/m_open_tongue.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ffcc323f7cb18d68ee5f5c0842381033010b2861f0d6a0351b50c88e1dc7afc -size 1352 diff --git a/game/images/CG/luna_fucking/m_pout.webp b/game/images/CG/luna_fucking/m_pout.webp deleted file mode 100644 index 261030ae..00000000 --- a/game/images/CG/luna_fucking/m_pout.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3d180609098f3dde2ae3cc6895d561f6fe861b42c8aa64eb555cd42cbb05115 -size 1008 diff --git a/game/images/CG/luna_fucking/m_wide.webp b/game/images/CG/luna_fucking/m_wide.webp deleted file mode 100644 index 725851eb..00000000 --- a/game/images/CG/luna_fucking/m_wide.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:968ff330cd7381c17ebfde6c18407444176dab28b9c93cf6d142319fbb133f38 -size 2818 diff --git a/game/images/CG/luna_fucking/m_wide_tongue.webp b/game/images/CG/luna_fucking/m_wide_tongue.webp deleted file mode 100644 index 8fe09781..00000000 --- a/game/images/CG/luna_fucking/m_wide_tongue.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea776808b453abf173fc8c9a353705c4684acdd9645be7a2d73af9bf2dbb5296 -size 2886 diff --git a/game/images/CG/luna_fucking/mascara.webp b/game/images/CG/luna_fucking/mascara.webp deleted file mode 100644 index dabb38af..00000000 --- a/game/images/CG/luna_fucking/mascara.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b49af47740e7a24827f028aa2954ba04e6b6cafbbce48958b5161c25248a7862 -size 908 diff --git a/game/images/CG/luna_fucking/playful_hair.webp b/game/images/CG/luna_fucking/playful_hair.webp deleted file mode 100644 index 95d760bc..00000000 --- a/game/images/CG/luna_fucking/playful_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4abb0c799d2a82dd9e5f2715f17cd57a9a75c20355d3a77856c152f1953e6537 -size 58912 diff --git a/game/images/CG/luna_fucking/playful_hair_top.webp b/game/images/CG/luna_fucking/playful_hair_top.webp deleted file mode 100644 index 5d829a8b..00000000 --- a/game/images/CG/luna_fucking/playful_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9fe02a77559b4651ea7e41a20ebcac7777b7d321ba095b2cd556c10684469d9d -size 11836 diff --git a/game/images/CG/luna_fucking/pup_ahegao.webp b/game/images/CG/luna_fucking/pup_ahegao.webp deleted file mode 100644 index d004d8a5..00000000 --- a/game/images/CG/luna_fucking/pup_ahegao.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7986ecd5b8892c7b1e6ab6551740d0e0b1202b1f588850bce9b2dc3332f8a968 -size 952 diff --git a/game/images/CG/luna_fucking/pup_base.webp b/game/images/CG/luna_fucking/pup_base.webp deleted file mode 100644 index 0218d638..00000000 --- a/game/images/CG/luna_fucking/pup_base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d5965838a80954a5785e2cc2d21e6352260a1822ec65cb4b487ae11282bd728 -size 1320 diff --git a/game/images/CG/luna_fucking/pup_dl.webp b/game/images/CG/luna_fucking/pup_dl.webp deleted file mode 100644 index beea0131..00000000 --- a/game/images/CG/luna_fucking/pup_dl.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd07755d23e2a3bb31f9a19e3e8bea08264e6baab98c2fe70a72b1f2d4633f0c -size 1020 diff --git a/game/images/CG/luna_fucking/pup_dr.webp b/game/images/CG/luna_fucking/pup_dr.webp deleted file mode 100644 index 3de7c826..00000000 --- a/game/images/CG/luna_fucking/pup_dr.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3b8c50eabe07f6eadefddd0c98edda79dd771e182e3fb337426da1f8b8be13c2 -size 1028 diff --git a/game/images/CG/luna_fucking/pup_left.webp b/game/images/CG/luna_fucking/pup_left.webp deleted file mode 100644 index bd4bf62e..00000000 --- a/game/images/CG/luna_fucking/pup_left.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:af6d12539548b46df15905f6031e633eba017f96ce56acf8b87b14a3118ddc66 -size 1242 diff --git a/game/images/CG/luna_fucking/pup_right.webp b/game/images/CG/luna_fucking/pup_right.webp deleted file mode 100644 index f6d44b68..00000000 --- a/game/images/CG/luna_fucking/pup_right.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3a58366561acf640550bda426c1016210f582e6420016f5fccbac64b8553413a -size 1202 diff --git a/game/images/CG/luna_fucking/pup_up.webp b/game/images/CG/luna_fucking/pup_up.webp deleted file mode 100644 index 9ea49af2..00000000 --- a/game/images/CG/luna_fucking/pup_up.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f4863483c6dd2cde4b91b3e5d914e8535aceb79d2b497ad5ca062b7d8c67954b -size 1114 diff --git a/game/images/CG/luna_fucking/short_hair.webp b/game/images/CG/luna_fucking/short_hair.webp deleted file mode 100644 index 7bd7530d..00000000 --- a/game/images/CG/luna_fucking/short_hair.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:30a72227124b7955c9015c95c2e361dab3e205f87844dc61644e3817eb935f6f -size 25294 diff --git a/game/images/CG/luna_fucking/short_hair_top.webp b/game/images/CG/luna_fucking/short_hair_top.webp deleted file mode 100644 index 0735acac..00000000 --- a/game/images/CG/luna_fucking/short_hair_top.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:51b51cb9c593f24678b11aa550ac6ae8d68108b1079d5653047ea94296d7b106 -size 22520 diff --git a/game/images/CG/luna_fucking/spanking.webp b/game/images/CG/luna_fucking/spanking.webp deleted file mode 100644 index 4cdc7046..00000000 --- a/game/images/CG/luna_fucking/spanking.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb24507b9ed6bb8e61f5eda91743d484f0ab0e7c64644c1881ba63fc622424a2 -size 8982 diff --git a/game/images/CG/luna_fucking/speed.webp b/game/images/CG/luna_fucking/speed.webp deleted file mode 100644 index 8c066a74..00000000 --- a/game/images/CG/luna_fucking/speed.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21897dcf4a3118c2542bac4061a99c04b4cab1fbe527695a407dbbecd9a63e3a -size 19286 diff --git a/game/images/CG/luna_fucking/tears.webp b/game/images/CG/luna_fucking/tears.webp deleted file mode 100644 index 3ed7292d..00000000 --- a/game/images/CG/luna_fucking/tears.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1b03b14656232beaba3fddb55c75cc6c95dc63ae5ccde3f2dd02c0200c0c5aa8 -size 1218 diff --git a/game/images/CG/luna_kiss/1.webp b/game/images/CG/luna_kiss/1.webp deleted file mode 100644 index 5eb52072..00000000 --- a/game/images/CG/luna_kiss/1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2118c7e11a9fcc0bbe04273cb857bb0a0fa83f4415b2dd747a5a85b0f3f23ece -size 317572 diff --git a/game/images/CG/luna_kiss/2.webp b/game/images/CG/luna_kiss/2.webp deleted file mode 100644 index 6ad72d3c..00000000 --- a/game/images/CG/luna_kiss/2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dfc66fa27c4588fbc2a8268493510db17260585a09120107fc6c8c779ef5cd19 -size 323122 diff --git a/game/images/CG/luna_kiss/base.webp b/game/images/CG/luna_kiss/base.webp deleted file mode 100644 index 12824743..00000000 --- a/game/images/CG/luna_kiss/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23885f937c68c008b6d78515385bfc9d72ab84ccde678ae1920384574eb2ed31 -size 156480 diff --git a/game/images/CG/luna_kiss/blank.webp b/game/images/CG/luna_kiss/blank.webp deleted file mode 100644 index ea4d6a56..00000000 --- a/game/images/CG/luna_kiss/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b1d894015273b0fcad33efbfa65994bca783d342c288c085e448884c4b7a15b -size 66 diff --git a/game/images/CG/luna_sex/base.webp b/game/images/CG/luna_sex/base.webp deleted file mode 100644 index 61fdd614..00000000 --- a/game/images/CG/luna_sex/base.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac2b402773946866e53901e2ae610423637c6fff5e6d6ff5a5394143e4dfc8ea -size 161090 diff --git a/game/images/CG/luna_sex/blank.webp b/game/images/CG/luna_sex/blank.webp deleted file mode 100644 index ea4d6a56..00000000 --- a/game/images/CG/luna_sex/blank.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b1d894015273b0fcad33efbfa65994bca783d342c288c085e448884c4b7a15b -size 66 diff --git a/game/images/CG/luna_sex/herm_1.webp b/game/images/CG/luna_sex/herm_1.webp deleted file mode 100644 index 928e468d..00000000 --- a/game/images/CG/luna_sex/herm_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49240b2e0de8bbbcaa5d785f929ffdc8d9c1b68f462dc4430eb9222ef9b26dda -size 125402 diff --git a/game/images/CG/luna_sex/herm_10.webp b/game/images/CG/luna_sex/herm_10.webp deleted file mode 100644 index 37adb02f..00000000 --- a/game/images/CG/luna_sex/herm_10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:091f23f6907fb2c03d9fe740a07d0864e99e380459160fec8c94f01aa2c5998b -size 157604 diff --git a/game/images/CG/luna_sex/herm_11.webp b/game/images/CG/luna_sex/herm_11.webp deleted file mode 100644 index 189b0996..00000000 --- a/game/images/CG/luna_sex/herm_11.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e97cc475423ed258eb25049537ba865f59cdc303eb19a2c8d4fa5396f0b4cb21 -size 158652 diff --git a/game/images/CG/luna_sex/herm_12.webp b/game/images/CG/luna_sex/herm_12.webp deleted file mode 100644 index 76d4854c..00000000 --- a/game/images/CG/luna_sex/herm_12.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e087250fd0a13de776355f7ae7286e2ac1d8e63e4d309ed38cb02d1b9f2d03d -size 127830 diff --git a/game/images/CG/luna_sex/herm_13.webp b/game/images/CG/luna_sex/herm_13.webp deleted file mode 100644 index a7cc5724..00000000 --- a/game/images/CG/luna_sex/herm_13.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c490d212ac284176937093f14e56f85660822c200bd1a63ec13541830f890d53 -size 128384 diff --git a/game/images/CG/luna_sex/herm_14.webp b/game/images/CG/luna_sex/herm_14.webp deleted file mode 100644 index ff9e6408..00000000 --- a/game/images/CG/luna_sex/herm_14.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7267a636e41540471f29bce5443586dcbb99f1209ee9cd623ab20967ab32d6ab -size 127824 diff --git a/game/images/CG/luna_sex/herm_15.webp b/game/images/CG/luna_sex/herm_15.webp deleted file mode 100644 index a3e3ee84..00000000 --- a/game/images/CG/luna_sex/herm_15.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:02cd3ce64b1a0e75058d5a64c66cb06f7ee998cfed32b8ed01b4ea322dd8c5c8 -size 127694 diff --git a/game/images/CG/luna_sex/herm_16.webp b/game/images/CG/luna_sex/herm_16.webp deleted file mode 100644 index c42f2289..00000000 --- a/game/images/CG/luna_sex/herm_16.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a94335af70ec5cfe6637c5bdb6a9e451d18c68f45dd6c73402231844aa61e6f -size 131166 diff --git a/game/images/CG/luna_sex/herm_17.webp b/game/images/CG/luna_sex/herm_17.webp deleted file mode 100644 index d7345deb..00000000 --- a/game/images/CG/luna_sex/herm_17.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a84cb78fa8c4b23c8cbfdad8cdae695ac76dde42907bb3f4cfcab2885ebd91dc -size 130532 diff --git a/game/images/CG/luna_sex/herm_18.webp b/game/images/CG/luna_sex/herm_18.webp deleted file mode 100644 index cdb415c1..00000000 --- a/game/images/CG/luna_sex/herm_18.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b8e9c5ffa404d88d5523c2eb0c338b883f029d16618d38f845b5288bc34946d -size 130616 diff --git a/game/images/CG/luna_sex/herm_19.webp b/game/images/CG/luna_sex/herm_19.webp deleted file mode 100644 index b359e07d..00000000 --- a/game/images/CG/luna_sex/herm_19.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:91e62db1963fb3df9b727449e95a0f71069c78cd71c66ae7f93b91b5b5e01e45 -size 130824 diff --git a/game/images/CG/luna_sex/herm_2.webp b/game/images/CG/luna_sex/herm_2.webp deleted file mode 100644 index 58e6de56..00000000 --- a/game/images/CG/luna_sex/herm_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f7eebd387187fd5c0c767aa530ef0461f2be12f876cb78667d91cfc2ed68846d -size 140728 diff --git a/game/images/CG/luna_sex/herm_20.webp b/game/images/CG/luna_sex/herm_20.webp deleted file mode 100644 index 9282459c..00000000 --- a/game/images/CG/luna_sex/herm_20.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:148ba31129861508fed45fa7131efc4c433d81b02aa0ee35cf872c0caca09696 -size 129912 diff --git a/game/images/CG/luna_sex/herm_21.webp b/game/images/CG/luna_sex/herm_21.webp deleted file mode 100644 index c0c0cb50..00000000 --- a/game/images/CG/luna_sex/herm_21.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:43d85e687ce06c4c2c5eca147102c0ae2c67f3a01d210ebaed7a45bbd42be983 -size 131262 diff --git a/game/images/CG/luna_sex/herm_22.webp b/game/images/CG/luna_sex/herm_22.webp deleted file mode 100644 index 8cc9670f..00000000 --- a/game/images/CG/luna_sex/herm_22.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:653aa0deeb4565c5a385f8073b6451e1c3a0228a4efe23e0685cde0df1052a75 -size 131226 diff --git a/game/images/CG/luna_sex/herm_23.webp b/game/images/CG/luna_sex/herm_23.webp deleted file mode 100644 index a3267129..00000000 --- a/game/images/CG/luna_sex/herm_23.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e596ea339177f6b17b6ca9692e2704cd12f988c81ed0f1e84d1c666a59feb5d0 -size 132738 diff --git a/game/images/CG/luna_sex/herm_24.webp b/game/images/CG/luna_sex/herm_24.webp deleted file mode 100644 index 30fcc934..00000000 --- a/game/images/CG/luna_sex/herm_24.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2bf75d206210079ac30c7ffae6255535f70c033c36d52ff6f463d5e865d8bc24 -size 132660 diff --git a/game/images/CG/luna_sex/herm_25.webp b/game/images/CG/luna_sex/herm_25.webp deleted file mode 100644 index 6491c73c..00000000 --- a/game/images/CG/luna_sex/herm_25.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec2c9a0e23902889d3b3d9a017c9df9480ee8b21b012c8021533371ab06f8e1f -size 131910 diff --git a/game/images/CG/luna_sex/herm_26.webp b/game/images/CG/luna_sex/herm_26.webp deleted file mode 100644 index 9671d3d0..00000000 --- a/game/images/CG/luna_sex/herm_26.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff159b7753fd1670e3c87d6aedc13383e355e24bb4374b6ae1b554364bccc99c -size 131856 diff --git a/game/images/CG/luna_sex/herm_27.webp b/game/images/CG/luna_sex/herm_27.webp deleted file mode 100644 index 467f0dd7..00000000 --- a/game/images/CG/luna_sex/herm_27.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea31b8447f23fd082a4027afac419584b8b11817a3dfbadae173f06a20f42fc7 -size 131042 diff --git a/game/images/CG/luna_sex/herm_3.webp b/game/images/CG/luna_sex/herm_3.webp deleted file mode 100644 index b4537144..00000000 --- a/game/images/CG/luna_sex/herm_3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2697221a5a008422305df327e14d17608f33e63237f31011de31947e89197a30 -size 157636 diff --git a/game/images/CG/luna_sex/herm_4.webp b/game/images/CG/luna_sex/herm_4.webp deleted file mode 100644 index b70b416b..00000000 --- a/game/images/CG/luna_sex/herm_4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:622c296f2a073d6da6b195b9356d9a0b6185836db8a61e038b16795da0fe2a89 -size 157504 diff --git a/game/images/CG/luna_sex/herm_5.webp b/game/images/CG/luna_sex/herm_5.webp deleted file mode 100644 index a0cd9f95..00000000 --- a/game/images/CG/luna_sex/herm_5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6923a186e29bd8338f4a22864b0d3e2473b24205146d23b85fd64e6e1c213850 -size 158196 diff --git a/game/images/CG/luna_sex/herm_6.webp b/game/images/CG/luna_sex/herm_6.webp deleted file mode 100644 index 6b2fbdf5..00000000 --- a/game/images/CG/luna_sex/herm_6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60e05795eb9c0f3142b6d5bbdd10acfa314131ed9cea3e88ce205c9787f371cb -size 159438 diff --git a/game/images/CG/luna_sex/herm_7.webp b/game/images/CG/luna_sex/herm_7.webp deleted file mode 100644 index 3bbdd054..00000000 --- a/game/images/CG/luna_sex/herm_7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9751f12eaa187aaed43f6b76d73404b3c7a62ba197f9a5cb1156775021c7e6d6 -size 158746 diff --git a/game/images/CG/luna_sex/herm_8.webp b/game/images/CG/luna_sex/herm_8.webp deleted file mode 100644 index febe55ec..00000000 --- a/game/images/CG/luna_sex/herm_8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:465b65eb05179b41450c0bc64418c63c70c09697208834e75a7b56c3c3fd0b59 -size 157616 diff --git a/game/images/CG/luna_sex/herm_9.webp b/game/images/CG/luna_sex/herm_9.webp deleted file mode 100644 index 3d70457f..00000000 --- a/game/images/CG/luna_sex/herm_9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f34349dd99ff553e07c8d1616435bfbd44788c6695649788d5e256db1938b838 -size 157074 diff --git a/game/images/CG/luna_sex/luna_1.webp b/game/images/CG/luna_sex/luna_1.webp deleted file mode 100644 index de1ac11a..00000000 --- a/game/images/CG/luna_sex/luna_1.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d443e1a35b09e16848cbb2a462e5b5562832701356208bc9abcaaeefee479f5 -size 149758 diff --git a/game/images/CG/luna_sex/luna_10.webp b/game/images/CG/luna_sex/luna_10.webp deleted file mode 100644 index ac4ed5fa..00000000 --- a/game/images/CG/luna_sex/luna_10.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76b2c0828f9bd63209d2e12127c6b04e686f6d57d67b9c55360350abed55a460 -size 174230 diff --git a/game/images/CG/luna_sex/luna_11.webp b/game/images/CG/luna_sex/luna_11.webp deleted file mode 100644 index b890bed9..00000000 --- a/game/images/CG/luna_sex/luna_11.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b69757731f8d42ca738fea0f6808c271b730463d8f7792a7c4d94bc198e22cfa -size 174480 diff --git a/game/images/CG/luna_sex/luna_12.webp b/game/images/CG/luna_sex/luna_12.webp deleted file mode 100644 index 3c621d29..00000000 --- a/game/images/CG/luna_sex/luna_12.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29068d3f012eff2a823447ab6fd8e65b81562719800380196d037385cc07a6e0 -size 174400 diff --git a/game/images/CG/luna_sex/luna_13.webp b/game/images/CG/luna_sex/luna_13.webp deleted file mode 100644 index bb95e7f2..00000000 --- a/game/images/CG/luna_sex/luna_13.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39d85efb6fc47e14d87ec3fcf05ee6c75b8091f56fa806ac12fedaca2d60af8f -size 173318 diff --git a/game/images/CG/luna_sex/luna_14.webp b/game/images/CG/luna_sex/luna_14.webp deleted file mode 100644 index a05af789..00000000 --- a/game/images/CG/luna_sex/luna_14.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ace1e611da6cc8baf5588bca6545ec1dcc9d662c1d21598b35b746146c82d2b5 -size 198610 diff --git a/game/images/CG/luna_sex/luna_15.webp b/game/images/CG/luna_sex/luna_15.webp deleted file mode 100644 index bd954786..00000000 --- a/game/images/CG/luna_sex/luna_15.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fc47ee596ef53f10e7f96f4e764f1a478f65c70ea0eef8446080c2d704cf8aa8 -size 197258 diff --git a/game/images/CG/luna_sex/luna_16.webp b/game/images/CG/luna_sex/luna_16.webp deleted file mode 100644 index 28b35552..00000000 --- a/game/images/CG/luna_sex/luna_16.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad8949e2c103ca3f546c45c43105d9ced9a79f61aeedca414b2415c11a711a51 -size 197810 diff --git a/game/images/CG/luna_sex/luna_17.webp b/game/images/CG/luna_sex/luna_17.webp deleted file mode 100644 index ed874a6b..00000000 --- a/game/images/CG/luna_sex/luna_17.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ae74855da2b97a3a98725dfe57f059ebcaeec0de176e4ce87a9e61c5279f7c1 -size 197260 diff --git a/game/images/CG/luna_sex/luna_18.webp b/game/images/CG/luna_sex/luna_18.webp deleted file mode 100644 index 73f2268f..00000000 --- a/game/images/CG/luna_sex/luna_18.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:af6d9fff11b7e9537d77e4328eca57a299cdf2b71c8b68d522874460e48c87a5 -size 196270 diff --git a/game/images/CG/luna_sex/luna_19.webp b/game/images/CG/luna_sex/luna_19.webp deleted file mode 100644 index 494c01b8..00000000 --- a/game/images/CG/luna_sex/luna_19.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e012a155de826edd616c155566b5b07d2b33a8bf5b06679e48f3fba4f783c56b -size 197490 diff --git a/game/images/CG/luna_sex/luna_2.webp b/game/images/CG/luna_sex/luna_2.webp deleted file mode 100644 index 77bdfad1..00000000 --- a/game/images/CG/luna_sex/luna_2.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a856eaecfe0975beb872d3e2d3e50e1e20f86a3215498f4be818485ad29deca -size 149712 diff --git a/game/images/CG/luna_sex/luna_20.webp b/game/images/CG/luna_sex/luna_20.webp deleted file mode 100644 index 3524b685..00000000 --- a/game/images/CG/luna_sex/luna_20.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:09455c751516ebf28127b04420f0efe22901b3f73dca7057e073bcdcbfe726ac -size 196962 diff --git a/game/images/CG/luna_sex/luna_21.webp b/game/images/CG/luna_sex/luna_21.webp deleted file mode 100644 index 936d6dd3..00000000 --- a/game/images/CG/luna_sex/luna_21.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:59a1e4f91d7b5670b901832675abe37f0f4ff6d3394fd67791c498c1ecfc77b5 -size 197898 diff --git a/game/images/CG/luna_sex/luna_22.webp b/game/images/CG/luna_sex/luna_22.webp deleted file mode 100644 index f91429ce..00000000 --- a/game/images/CG/luna_sex/luna_22.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10b5271ef693a3e2c72d11a401fbbd1fe946d06634fb8db97d4804825a57d90c -size 197294 diff --git a/game/images/CG/luna_sex/luna_23.webp b/game/images/CG/luna_sex/luna_23.webp deleted file mode 100644 index 5ef8bd45..00000000 --- a/game/images/CG/luna_sex/luna_23.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec19706c70dcdacab7f7d6c61c4cb3802b44f6b370f2d5deb40fa2b08df41766 -size 197600 diff --git a/game/images/CG/luna_sex/luna_24.webp b/game/images/CG/luna_sex/luna_24.webp deleted file mode 100644 index f0d5a044..00000000 --- a/game/images/CG/luna_sex/luna_24.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1143075506d16b562d80981819d9e3f95cccf179e415129778753b8e96da7d10 -size 196928 diff --git a/game/images/CG/luna_sex/luna_25.webp b/game/images/CG/luna_sex/luna_25.webp deleted file mode 100644 index f91429ce..00000000 --- a/game/images/CG/luna_sex/luna_25.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10b5271ef693a3e2c72d11a401fbbd1fe946d06634fb8db97d4804825a57d90c -size 197294 diff --git a/game/images/CG/luna_sex/luna_26.webp b/game/images/CG/luna_sex/luna_26.webp deleted file mode 100644 index aa51ec77..00000000 --- a/game/images/CG/luna_sex/luna_26.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ddfb06aff12217264ea74deb16de2dc3b40454c3a5128a7050b6ade5cd81045 -size 197636 diff --git a/game/images/CG/luna_sex/luna_27.webp b/game/images/CG/luna_sex/luna_27.webp deleted file mode 100644 index b29d26c2..00000000 --- a/game/images/CG/luna_sex/luna_27.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7fc594b5f93f5d25574735bb42696285636e7b0aa7b860c9483c2af2b191259 -size 197840 diff --git a/game/images/CG/luna_sex/luna_28.webp b/game/images/CG/luna_sex/luna_28.webp deleted file mode 100644 index a4dfbe30..00000000 --- a/game/images/CG/luna_sex/luna_28.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e5b0e813643334b48127269dbe0abed13b5ee08263eaead1a9b4457c814e63de -size 196304 diff --git a/game/images/CG/luna_sex/luna_29.webp b/game/images/CG/luna_sex/luna_29.webp deleted file mode 100644 index c6474a64..00000000 --- a/game/images/CG/luna_sex/luna_29.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aaff739b1273223157469c87a2cc7713520cf566306593cf18447a79d4d87edc -size 197626 diff --git a/game/images/CG/luna_sex/luna_3.webp b/game/images/CG/luna_sex/luna_3.webp deleted file mode 100644 index c029a222..00000000 --- a/game/images/CG/luna_sex/luna_3.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f6074cffbe53d0d619d4996cf5e405677dd14cee5c2bdc7fd0b2958076b0ec6b -size 149288 diff --git a/game/images/CG/luna_sex/luna_30.webp b/game/images/CG/luna_sex/luna_30.webp deleted file mode 100644 index 00813c8c..00000000 --- a/game/images/CG/luna_sex/luna_30.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c17f4020bb341e28177429bf53b84b47656a13d7ef5a84a98f509394c57f5d5c -size 196868 diff --git a/game/images/CG/luna_sex/luna_31.webp b/game/images/CG/luna_sex/luna_31.webp deleted file mode 100644 index c8aa6128..00000000 --- a/game/images/CG/luna_sex/luna_31.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9b1ecbc3438ee434839daaa9a4ab2eec9a91d15712e67309b849305ade0c9efa -size 197134 diff --git a/game/images/CG/luna_sex/luna_32.webp b/game/images/CG/luna_sex/luna_32.webp deleted file mode 100644 index 7ac3ef82..00000000 --- a/game/images/CG/luna_sex/luna_32.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7254391eba542570e41ba791708a39935ff11465a8abdbfad6be20cef0a0fa2b -size 197480 diff --git a/game/images/CG/luna_sex/luna_33.webp b/game/images/CG/luna_sex/luna_33.webp deleted file mode 100644 index 8b76185f..00000000 --- a/game/images/CG/luna_sex/luna_33.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea46d7cdf239daaac280e5a631cf1ee8f7c6a383f3f9ae2f03ee66bdd28861b9 -size 200120 diff --git a/game/images/CG/luna_sex/luna_34.webp b/game/images/CG/luna_sex/luna_34.webp deleted file mode 100644 index 009d514e..00000000 --- a/game/images/CG/luna_sex/luna_34.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58bbc10b2d7b17ec6fb25ba7173d135ad2cb34630c7b99c7a2a3618943d4f173 -size 196626 diff --git a/game/images/CG/luna_sex/luna_35.webp b/game/images/CG/luna_sex/luna_35.webp deleted file mode 100644 index 33ee38ad..00000000 --- a/game/images/CG/luna_sex/luna_35.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4bba7998dd96c4de1f1f5ff0212730caea83f6da25b12eeda4c603e7baea5754 -size 201774 diff --git a/game/images/CG/luna_sex/luna_36.webp b/game/images/CG/luna_sex/luna_36.webp deleted file mode 100644 index 2631a17d..00000000 --- a/game/images/CG/luna_sex/luna_36.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1bf8e7eed40bb7460ffbe1e7bfe68da6c8a30d94fd2b8b5193321a473979e8e -size 202220 diff --git a/game/images/CG/luna_sex/luna_37.webp b/game/images/CG/luna_sex/luna_37.webp deleted file mode 100644 index 6171d130..00000000 --- a/game/images/CG/luna_sex/luna_37.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4dcdaa26706a153a0be4197a2eff00f14aea00b1e8f50847da1b9a7bcf839472 -size 200472 diff --git a/game/images/CG/luna_sex/luna_38.webp b/game/images/CG/luna_sex/luna_38.webp deleted file mode 100644 index cacd624a..00000000 --- a/game/images/CG/luna_sex/luna_38.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2e6042582fd455bbe59224c07832102949b78c91dd4cb8e3ca4d1c3bd75dc007 -size 201090 diff --git a/game/images/CG/luna_sex/luna_39.webp b/game/images/CG/luna_sex/luna_39.webp deleted file mode 100644 index 16566d1a..00000000 --- a/game/images/CG/luna_sex/luna_39.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:74cb08ddf4deb402d2dae9bf6d0f9399103dc3a895f95f04fd5c521972526c14 -size 197890 diff --git a/game/images/CG/luna_sex/luna_4.webp b/game/images/CG/luna_sex/luna_4.webp deleted file mode 100644 index 2cefdc83..00000000 --- a/game/images/CG/luna_sex/luna_4.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:32840b4f7c9ecd90437840d1f6c72d0d578658923ef36403068feefa3661958a -size 150312 diff --git a/game/images/CG/luna_sex/luna_40.webp b/game/images/CG/luna_sex/luna_40.webp deleted file mode 100644 index f22408a0..00000000 --- a/game/images/CG/luna_sex/luna_40.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b2e5166a3efae1041f8c33a236454603a5cf2fade0b2de1ab6fb4e4d5e96a7d3 -size 182056 diff --git a/game/images/CG/luna_sex/luna_41.webp b/game/images/CG/luna_sex/luna_41.webp deleted file mode 100644 index 31a5fc2b..00000000 --- a/game/images/CG/luna_sex/luna_41.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:072f38d78b766afbf1041f1d749df6213787c0740c7be901ac4b724712237a5a -size 181964 diff --git a/game/images/CG/luna_sex/luna_42.webp b/game/images/CG/luna_sex/luna_42.webp deleted file mode 100644 index 34ea9cd0..00000000 --- a/game/images/CG/luna_sex/luna_42.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8959fcd39a3f487e547da35feb837e7d5bbfd9df2526ece7bceb379373c57e10 -size 182218 diff --git a/game/images/CG/luna_sex/luna_43.webp b/game/images/CG/luna_sex/luna_43.webp deleted file mode 100644 index 8c18d547..00000000 --- a/game/images/CG/luna_sex/luna_43.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb74a70474cbdf8c51af709a5b3eb7a7c0abd118b89b276598100881fab30b07 -size 181872 diff --git a/game/images/CG/luna_sex/luna_44.webp b/game/images/CG/luna_sex/luna_44.webp deleted file mode 100644 index e8622a68..00000000 --- a/game/images/CG/luna_sex/luna_44.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:71078f0ae92f5a296ec4c61b72304ba54ae1c1347e4ceb40094e30ae39ca15d7 -size 182038 diff --git a/game/images/CG/luna_sex/luna_5.webp b/game/images/CG/luna_sex/luna_5.webp deleted file mode 100644 index 66690c09..00000000 --- a/game/images/CG/luna_sex/luna_5.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:56103ab2b7a4e8375794323aa6c81fcd01689aaa66532930f9397690c936d7fb -size 149410 diff --git a/game/images/CG/luna_sex/luna_6.webp b/game/images/CG/luna_sex/luna_6.webp deleted file mode 100644 index 8b75399b..00000000 --- a/game/images/CG/luna_sex/luna_6.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c50ee71ea111149605e4a564d5a2f40ed62276ba0c830812cb1a089d2d47b7f6 -size 148754 diff --git a/game/images/CG/luna_sex/luna_7.webp b/game/images/CG/luna_sex/luna_7.webp deleted file mode 100644 index 6642137b..00000000 --- a/game/images/CG/luna_sex/luna_7.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:55f4f4b536ea8ad0ade340c6bd51d90a3e83b30e53b4588ff40d2a35286ac9a4 -size 149882 diff --git a/game/images/CG/luna_sex/luna_8.webp b/game/images/CG/luna_sex/luna_8.webp deleted file mode 100644 index e5be771d..00000000 --- a/game/images/CG/luna_sex/luna_8.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:42989a8a738e8ef145c02d0ad53d3ae0a28f17cf45237b37701a9f5460d91f3f -size 149862 diff --git a/game/images/CG/luna_sex/luna_9.webp b/game/images/CG/luna_sex/luna_9.webp deleted file mode 100644 index 9bd9e647..00000000 --- a/game/images/CG/luna_sex/luna_9.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:91f0120da2b377c715c94fb4b69c356f0ce0c04dac8c037de30aee490408a60d -size 148562 diff --git a/game/images/rooms/main_room/bg_day.webp b/game/images/rooms/main_room/bg_day.webp new file mode 100644 index 00000000..6d4c60be --- /dev/null +++ b/game/images/rooms/main_room/bg_day.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d24b6d68e23992cd4f6444004f34cae3689265a9d75ae6f39a1e530aac4fdef9 +size 1207198 diff --git a/game/images/rooms/main_room/bg_night.webp b/game/images/rooms/main_room/bg_night.webp new file mode 100644 index 00000000..1eaeb767 --- /dev/null +++ b/game/images/rooms/main_room/bg_night.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f09bf2c7247c91d83bc6ac3c39cf54e7a6cd7bc530e0d7a9ca47df765733df3 +size 932434 diff --git a/game/images/rooms/objects/candles/candle.webp b/game/images/rooms/main_room/candles/candle.webp similarity index 100% rename from game/images/rooms/objects/candles/candle.webp rename to game/images/rooms/main_room/candles/candle.webp diff --git a/game/images/rooms/objects/candles/candleM.webp b/game/images/rooms/main_room/candles/candleM.webp similarity index 100% rename from game/images/rooms/objects/candles/candleM.webp rename to game/images/rooms/main_room/candles/candleM.webp diff --git a/game/images/rooms/objects/candles/fire_01.webp b/game/images/rooms/main_room/candles/fire_01.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_01.webp rename to game/images/rooms/main_room/candles/fire_01.webp diff --git a/game/images/rooms/objects/candles/fire_02.webp b/game/images/rooms/main_room/candles/fire_02.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_02.webp rename to game/images/rooms/main_room/candles/fire_02.webp diff --git a/game/images/rooms/objects/candles/fire_03.webp b/game/images/rooms/main_room/candles/fire_03.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_03.webp rename to game/images/rooms/main_room/candles/fire_03.webp diff --git a/game/images/rooms/objects/candles/fire_04.webp b/game/images/rooms/main_room/candles/fire_04.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_04.webp rename to game/images/rooms/main_room/candles/fire_04.webp diff --git a/game/images/rooms/objects/candles/fire_05.webp b/game/images/rooms/main_room/candles/fire_05.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_05.webp rename to game/images/rooms/main_room/candles/fire_05.webp diff --git a/game/images/rooms/objects/candles/fire_06.webp b/game/images/rooms/main_room/candles/fire_06.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_06.webp rename to game/images/rooms/main_room/candles/fire_06.webp diff --git a/game/images/rooms/objects/candles/fire_07.webp b/game/images/rooms/main_room/candles/fire_07.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_07.webp rename to game/images/rooms/main_room/candles/fire_07.webp diff --git a/game/images/rooms/objects/candles/fire_08.webp b/game/images/rooms/main_room/candles/fire_08.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_08.webp rename to game/images/rooms/main_room/candles/fire_08.webp diff --git a/game/images/rooms/objects/candles/fire_09.webp b/game/images/rooms/main_room/candles/fire_09.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_09.webp rename to game/images/rooms/main_room/candles/fire_09.webp diff --git a/game/images/rooms/objects/candles/fire_10.webp b/game/images/rooms/main_room/candles/fire_10.webp similarity index 100% rename from game/images/rooms/objects/candles/fire_10.webp rename to game/images/rooms/main_room/candles/fire_10.webp diff --git a/game/images/rooms/main_room/chair_left_no_shadow.webp b/game/images/rooms/main_room/chair_left_no_shadow.webp deleted file mode 100644 index a81d86d0..00000000 --- a/game/images/rooms/main_room/chair_left_no_shadow.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:911d0e91420bdd0e043d9037e5ce6ebb1086ba4e0961225c505387073558500a -size 14276 diff --git a/game/images/rooms/objects/cupboard/cupboard_open.webp b/game/images/rooms/main_room/cupboard/cupboard_open.webp similarity index 100% rename from game/images/rooms/objects/cupboard/cupboard_open.webp rename to game/images/rooms/main_room/cupboard/cupboard_open.webp diff --git a/game/images/rooms/objects/cupboard/cupboard_w_shadow.webp b/game/images/rooms/main_room/cupboard/cupboard_w_shadow.webp similarity index 100% rename from game/images/rooms/objects/cupboard/cupboard_w_shadow.webp rename to game/images/rooms/main_room/cupboard/cupboard_w_shadow.webp diff --git a/game/images/rooms/objects/decorations/agrabah_poster.webp b/game/images/rooms/main_room/decorations/agrabah_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/agrabah_poster.webp rename to game/images/rooms/main_room/decorations/agrabah_poster.webp diff --git a/game/images/rooms/objects/decorations/bats_trophy.webp b/game/images/rooms/main_room/decorations/bats_trophy.webp similarity index 100% rename from game/images/rooms/objects/decorations/bats_trophy.webp rename to game/images/rooms/main_room/decorations/bats_trophy.webp diff --git a/game/images/rooms/objects/decorations/crest_trophy.webp b/game/images/rooms/main_room/decorations/crest_trophy.webp similarity index 100% rename from game/images/rooms/objects/decorations/crest_trophy.webp rename to game/images/rooms/main_room/decorations/crest_trophy.webp diff --git a/game/images/rooms/objects/decorations/gryffindor_poster.webp b/game/images/rooms/main_room/decorations/gryffindor_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/gryffindor_poster.webp rename to game/images/rooms/main_room/decorations/gryffindor_poster.webp diff --git a/game/images/rooms/objects/decorations/halloween_chair.webp b/game/images/rooms/main_room/decorations/halloween_chair.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_chair.webp rename to game/images/rooms/main_room/decorations/halloween_chair.webp diff --git a/game/images/rooms/objects/decorations/halloween_chandelier.webp b/game/images/rooms/main_room/decorations/halloween_chandelier.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_chandelier.webp rename to game/images/rooms/main_room/decorations/halloween_chandelier.webp diff --git a/game/images/rooms/objects/decorations/halloween_cupboard.webp b/game/images/rooms/main_room/decorations/halloween_cupboard.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_cupboard.webp rename to game/images/rooms/main_room/decorations/halloween_cupboard.webp diff --git a/game/images/rooms/objects/decorations/halloween_cupboard2.webp b/game/images/rooms/main_room/decorations/halloween_cupboard2.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_cupboard2.webp rename to game/images/rooms/main_room/decorations/halloween_cupboard2.webp diff --git a/game/images/rooms/objects/decorations/halloween_fireplace.webp b/game/images/rooms/main_room/decorations/halloween_fireplace.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_fireplace.webp rename to game/images/rooms/main_room/decorations/halloween_fireplace.webp diff --git a/game/images/rooms/objects/decorations/halloween_fireplace2.webp b/game/images/rooms/main_room/decorations/halloween_fireplace2.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_fireplace2.webp rename to game/images/rooms/main_room/decorations/halloween_fireplace2.webp diff --git a/game/images/rooms/objects/decorations/halloween_lamp/filament.webp b/game/images/rooms/main_room/decorations/halloween_lamp/filament.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_lamp/filament.webp rename to game/images/rooms/main_room/decorations/halloween_lamp/filament.webp diff --git a/game/images/rooms/objects/decorations/halloween_lamp/glow.webp b/game/images/rooms/main_room/decorations/halloween_lamp/glow.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_lamp/glow.webp rename to game/images/rooms/main_room/decorations/halloween_lamp/glow.webp diff --git a/game/images/rooms/objects/decorations/halloween_lamp/left.webp b/game/images/rooms/main_room/decorations/halloween_lamp/left.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_lamp/left.webp rename to game/images/rooms/main_room/decorations/halloween_lamp/left.webp diff --git a/game/images/rooms/objects/decorations/halloween_lamp/right.webp b/game/images/rooms/main_room/decorations/halloween_lamp/right.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_lamp/right.webp rename to game/images/rooms/main_room/decorations/halloween_lamp/right.webp diff --git a/game/images/rooms/objects/decorations/halloween_monster/0.webp b/game/images/rooms/main_room/decorations/halloween_monster/0.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_monster/0.webp rename to game/images/rooms/main_room/decorations/halloween_monster/0.webp diff --git a/game/images/rooms/objects/decorations/halloween_monster/1.webp b/game/images/rooms/main_room/decorations/halloween_monster/1.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_monster/1.webp rename to game/images/rooms/main_room/decorations/halloween_monster/1.webp diff --git a/game/images/rooms/objects/decorations/halloween_monster/2.webp b/game/images/rooms/main_room/decorations/halloween_monster/2.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_monster/2.webp rename to game/images/rooms/main_room/decorations/halloween_monster/2.webp diff --git a/game/images/rooms/objects/decorations/halloween_monster/3.webp b/game/images/rooms/main_room/decorations/halloween_monster/3.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_monster/3.webp rename to game/images/rooms/main_room/decorations/halloween_monster/3.webp diff --git a/game/images/rooms/objects/decorations/halloween_phoenix.webp b/game/images/rooms/main_room/decorations/halloween_phoenix.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_phoenix.webp rename to game/images/rooms/main_room/decorations/halloween_phoenix.webp diff --git a/game/images/rooms/objects/decorations/halloween_rug.webp b/game/images/rooms/main_room/decorations/halloween_rug.webp similarity index 100% rename from game/images/rooms/objects/decorations/halloween_rug.webp rename to game/images/rooms/main_room/decorations/halloween_rug.webp diff --git a/game/images/rooms/objects/decorations/harlot_poster.webp b/game/images/rooms/main_room/decorations/harlot_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/harlot_poster.webp rename to game/images/rooms/main_room/decorations/harlot_poster.webp diff --git a/game/images/rooms/objects/decorations/hat_fireplace.webp b/game/images/rooms/main_room/decorations/hat_fireplace.webp similarity index 100% rename from game/images/rooms/objects/decorations/hat_fireplace.webp rename to game/images/rooms/main_room/decorations/hat_fireplace.webp diff --git a/game/images/rooms/objects/decorations/hat_owl.webp b/game/images/rooms/main_room/decorations/hat_owl.webp similarity index 100% rename from game/images/rooms/objects/decorations/hat_owl.webp rename to game/images/rooms/main_room/decorations/hat_owl.webp diff --git a/game/images/rooms/objects/decorations/hat_phoenix.webp b/game/images/rooms/main_room/decorations/hat_phoenix.webp similarity index 100% rename from game/images/rooms/objects/decorations/hat_phoenix.webp rename to game/images/rooms/main_room/decorations/hat_phoenix.webp diff --git a/game/images/rooms/objects/decorations/hermione_poster.webp b/game/images/rooms/main_room/decorations/hermione_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/hermione_poster.webp rename to game/images/rooms/main_room/decorations/hermione_poster.webp diff --git a/game/images/rooms/objects/decorations/hufflepuff_poster.webp b/game/images/rooms/main_room/decorations/hufflepuff_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/hufflepuff_poster.webp rename to game/images/rooms/main_room/decorations/hufflepuff_poster.webp diff --git a/game/images/rooms/objects/decorations/ravenclaw_poster.webp b/game/images/rooms/main_room/decorations/ravenclaw_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/ravenclaw_poster.webp rename to game/images/rooms/main_room/decorations/ravenclaw_poster.webp diff --git a/game/images/rooms/main_room/decorations/santas_naughty_list.webp b/game/images/rooms/main_room/decorations/santas_naughty_list.webp new file mode 100644 index 00000000..7ac85aac --- /dev/null +++ b/game/images/rooms/main_room/decorations/santas_naughty_list.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de4cf6a132b8785348d4222653898871a1cd332bcc3f1fddd7ccfb1cfd06e00e +size 16630 diff --git a/game/images/rooms/objects/decorations/slytherin_poster.webp b/game/images/rooms/main_room/decorations/slytherin_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/slytherin_poster.webp rename to game/images/rooms/main_room/decorations/slytherin_poster.webp diff --git a/game/images/rooms/objects/decorations/small_owl/idle_0.webp b/game/images/rooms/main_room/decorations/small_owl/idle_0.webp similarity index 100% rename from game/images/rooms/objects/decorations/small_owl/idle_0.webp rename to game/images/rooms/main_room/decorations/small_owl/idle_0.webp diff --git a/game/images/rooms/objects/decorations/small_owl/idle_1.webp b/game/images/rooms/main_room/decorations/small_owl/idle_1.webp similarity index 100% rename from game/images/rooms/objects/decorations/small_owl/idle_1.webp rename to game/images/rooms/main_room/decorations/small_owl/idle_1.webp diff --git a/game/images/rooms/objects/decorations/small_owl/idle_2.webp b/game/images/rooms/main_room/decorations/small_owl/idle_2.webp similarity index 100% rename from game/images/rooms/objects/decorations/small_owl/idle_2.webp rename to game/images/rooms/main_room/decorations/small_owl/idle_2.webp diff --git a/game/images/rooms/objects/decorations/small_owl/letter_0.webp b/game/images/rooms/main_room/decorations/small_owl/letter_0.webp similarity index 100% rename from game/images/rooms/objects/decorations/small_owl/letter_0.webp rename to game/images/rooms/main_room/decorations/small_owl/letter_0.webp diff --git a/game/images/rooms/objects/decorations/small_owl/letter_1.webp b/game/images/rooms/main_room/decorations/small_owl/letter_1.webp similarity index 100% rename from game/images/rooms/objects/decorations/small_owl/letter_1.webp rename to game/images/rooms/main_room/decorations/small_owl/letter_1.webp diff --git a/game/images/rooms/objects/decorations/small_owl/letter_2.webp b/game/images/rooms/main_room/decorations/small_owl/letter_2.webp similarity index 100% rename from game/images/rooms/objects/decorations/small_owl/letter_2.webp rename to game/images/rooms/main_room/decorations/small_owl/letter_2.webp diff --git a/game/images/rooms/objects/decorations/small_owl/letter_hover.webp b/game/images/rooms/main_room/decorations/small_owl/letter_hover.webp similarity index 100% rename from game/images/rooms/objects/decorations/small_owl/letter_hover.webp rename to game/images/rooms/main_room/decorations/small_owl/letter_hover.webp diff --git a/game/images/rooms/objects/decorations/snow_owl/idle_0.webp b/game/images/rooms/main_room/decorations/snow_owl/idle_0.webp similarity index 100% rename from game/images/rooms/objects/decorations/snow_owl/idle_0.webp rename to game/images/rooms/main_room/decorations/snow_owl/idle_0.webp diff --git a/game/images/rooms/objects/decorations/snow_owl/idle_1.webp b/game/images/rooms/main_room/decorations/snow_owl/idle_1.webp similarity index 100% rename from game/images/rooms/objects/decorations/snow_owl/idle_1.webp rename to game/images/rooms/main_room/decorations/snow_owl/idle_1.webp diff --git a/game/images/rooms/objects/decorations/snow_owl/idle_2.webp b/game/images/rooms/main_room/decorations/snow_owl/idle_2.webp similarity index 100% rename from game/images/rooms/objects/decorations/snow_owl/idle_2.webp rename to game/images/rooms/main_room/decorations/snow_owl/idle_2.webp diff --git a/game/images/rooms/objects/decorations/snow_owl/letter_0.webp b/game/images/rooms/main_room/decorations/snow_owl/letter_0.webp similarity index 100% rename from game/images/rooms/objects/decorations/snow_owl/letter_0.webp rename to game/images/rooms/main_room/decorations/snow_owl/letter_0.webp diff --git a/game/images/rooms/objects/decorations/snow_owl/letter_1.webp b/game/images/rooms/main_room/decorations/snow_owl/letter_1.webp similarity index 100% rename from game/images/rooms/objects/decorations/snow_owl/letter_1.webp rename to game/images/rooms/main_room/decorations/snow_owl/letter_1.webp diff --git a/game/images/rooms/objects/decorations/snow_owl/letter_2.webp b/game/images/rooms/main_room/decorations/snow_owl/letter_2.webp similarity index 100% rename from game/images/rooms/objects/decorations/snow_owl/letter_2.webp rename to game/images/rooms/main_room/decorations/snow_owl/letter_2.webp diff --git a/game/images/rooms/objects/decorations/snow_owl/letter_hover.webp b/game/images/rooms/main_room/decorations/snow_owl/letter_hover.webp similarity index 100% rename from game/images/rooms/objects/decorations/snow_owl/letter_hover.webp rename to game/images/rooms/main_room/decorations/snow_owl/letter_hover.webp diff --git a/game/images/rooms/objects/decorations/stag_trophy.webp b/game/images/rooms/main_room/decorations/stag_trophy.webp similarity index 100% rename from game/images/rooms/objects/decorations/stag_trophy.webp rename to game/images/rooms/main_room/decorations/stag_trophy.webp diff --git a/game/images/rooms/objects/decorations/stripper_poster.webp b/game/images/rooms/main_room/decorations/stripper_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/stripper_poster.webp rename to game/images/rooms/main_room/decorations/stripper_poster.webp diff --git a/game/images/rooms/objects/decorations/tonks_poster.webp b/game/images/rooms/main_room/decorations/tonks_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/tonks_poster.webp rename to game/images/rooms/main_room/decorations/tonks_poster.webp diff --git a/game/images/rooms/objects/decorations/wanted_poster.webp b/game/images/rooms/main_room/decorations/wanted_poster.webp similarity index 100% rename from game/images/rooms/objects/decorations/wanted_poster.webp rename to game/images/rooms/main_room/decorations/wanted_poster.webp diff --git a/game/images/rooms/objects/decorations/xmas_cupboard.webp b/game/images/rooms/main_room/decorations/xmas_cupboard.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_cupboard.webp rename to game/images/rooms/main_room/decorations/xmas_cupboard.webp diff --git a/game/images/rooms/objects/decorations/xmas_door.webp b/game/images/rooms/main_room/decorations/xmas_door.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_door.webp rename to game/images/rooms/main_room/decorations/xmas_door.webp diff --git a/game/images/rooms/objects/decorations/xmas_fireplace.webp b/game/images/rooms/main_room/decorations/xmas_fireplace.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_fireplace.webp rename to game/images/rooms/main_room/decorations/xmas_fireplace.webp diff --git a/game/images/rooms/main_room/decorations/xmas_garland.webp b/game/images/rooms/main_room/decorations/xmas_garland.webp new file mode 100644 index 00000000..c34cda20 --- /dev/null +++ b/game/images/rooms/main_room/decorations/xmas_garland.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a088606912fde5ad7728aa8c53eee8693d6787b1e3b454228fe0edd3c9813a4 +size 234868 diff --git a/game/images/rooms/objects/decorations/xmas_giftchair.webp b/game/images/rooms/main_room/decorations/xmas_giftchair.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_giftchair.webp rename to game/images/rooms/main_room/decorations/xmas_giftchair.webp diff --git a/game/images/rooms/objects/decorations/xmas_lights/base.webp b/game/images/rooms/main_room/decorations/xmas_lights/base.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_lights/base.webp rename to game/images/rooms/main_room/decorations/xmas_lights/base.webp diff --git a/game/images/rooms/objects/decorations/xmas_lights/bulbset_1.webp b/game/images/rooms/main_room/decorations/xmas_lights/bulbset_1.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_lights/bulbset_1.webp rename to game/images/rooms/main_room/decorations/xmas_lights/bulbset_1.webp diff --git a/game/images/rooms/objects/decorations/xmas_lights/bulbset_2.webp b/game/images/rooms/main_room/decorations/xmas_lights/bulbset_2.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_lights/bulbset_2.webp rename to game/images/rooms/main_room/decorations/xmas_lights/bulbset_2.webp diff --git a/game/images/rooms/objects/decorations/xmas_lights/glowset_1.webp b/game/images/rooms/main_room/decorations/xmas_lights/glowset_1.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_lights/glowset_1.webp rename to game/images/rooms/main_room/decorations/xmas_lights/glowset_1.webp diff --git a/game/images/rooms/objects/decorations/xmas_lights/glowset_2.webp b/game/images/rooms/main_room/decorations/xmas_lights/glowset_2.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_lights/glowset_2.webp rename to game/images/rooms/main_room/decorations/xmas_lights/glowset_2.webp diff --git a/game/images/rooms/objects/decorations/xmas_lights/underlay.webp b/game/images/rooms/main_room/decorations/xmas_lights/underlay.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_lights/underlay.webp rename to game/images/rooms/main_room/decorations/xmas_lights/underlay.webp diff --git a/game/images/rooms/objects/decorations/xmas_owl.webp b/game/images/rooms/main_room/decorations/xmas_owl.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_owl.webp rename to game/images/rooms/main_room/decorations/xmas_owl.webp diff --git a/game/images/rooms/objects/decorations/xmas_phoenix.webp b/game/images/rooms/main_room/decorations/xmas_phoenix.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_phoenix.webp rename to game/images/rooms/main_room/decorations/xmas_phoenix.webp diff --git a/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_base.webp b/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_base.webp new file mode 100644 index 00000000..440973c4 --- /dev/null +++ b/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_base.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cf3b7a2416ab09c2769c02d9a483a27f7b0aada4cbf3f3ee3d704457087948b +size 1316 diff --git a/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_light.webp b/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_light.webp new file mode 100644 index 00000000..11c0a4cd --- /dev/null +++ b/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_light.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71a73eb190313aad71b1ab452ebea5fb36cd1dea0baa89c2642e854b257a55a0 +size 1980 diff --git a/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_mask.webp b/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_mask.webp new file mode 100644 index 00000000..7c349368 --- /dev/null +++ b/game/images/rooms/main_room/decorations/xmas_window_santa/xmas_window_santa_mask.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d669ec303b8919a09e90086871965f805df65559009ff8c62432a493a162e98 +size 3490 diff --git a/game/images/rooms/objects/decorations/xmas_wreaths.webp b/game/images/rooms/main_room/decorations/xmas_wreaths.webp similarity index 100% rename from game/images/rooms/objects/decorations/xmas_wreaths.webp rename to game/images/rooms/main_room/decorations/xmas_wreaths.webp diff --git a/game/images/rooms/objects/desk/letter.webp b/game/images/rooms/main_room/desk/letter.webp similarity index 100% rename from game/images/rooms/objects/desk/letter.webp rename to game/images/rooms/main_room/desk/letter.webp diff --git a/game/images/rooms/objects/desk/plant.webp b/game/images/rooms/main_room/desk/plant.webp similarity index 100% rename from game/images/rooms/objects/desk/plant.webp rename to game/images/rooms/main_room/desk/plant.webp diff --git a/game/images/rooms/main_room/desk_no_shadow.webp b/game/images/rooms/main_room/desk_no_shadow.webp deleted file mode 100644 index ddaffffa..00000000 --- a/game/images/rooms/main_room/desk_no_shadow.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3276b1dd8437185430b420fe094cce17f341aff398ae49200fb162b2e7dd10ed -size 19246 diff --git a/game/images/rooms/objects/doors/door_hover.webp b/game/images/rooms/main_room/door/door_hover.webp similarity index 100% rename from game/images/rooms/objects/doors/door_hover.webp rename to game/images/rooms/main_room/door/door_hover.webp diff --git a/game/images/rooms/objects/doors/door_hover_night.webp b/game/images/rooms/main_room/door/door_hover_night.webp similarity index 100% rename from game/images/rooms/objects/doors/door_hover_night.webp rename to game/images/rooms/main_room/door/door_hover_night.webp diff --git a/game/images/rooms/objects/doors/door_idle.webp b/game/images/rooms/main_room/door/door_idle.webp similarity index 100% rename from game/images/rooms/objects/doors/door_idle.webp rename to game/images/rooms/main_room/door/door_idle.webp diff --git a/game/images/rooms/objects/doors/door_idle_night.webp b/game/images/rooms/main_room/door/door_idle_night.webp similarity index 100% rename from game/images/rooms/objects/doors/door_idle_night.webp rename to game/images/rooms/main_room/door/door_idle_night.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_01.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_01.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_01.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_01.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_02.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_02.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_02.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_02.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_03.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_03.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_03.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_03.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_04.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_04.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_04.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_04.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_05.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_05.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_05.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_05.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_06.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_06.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_06.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_06.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_07.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_07.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_07.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_07.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_fire_08.webp b/game/images/rooms/main_room/fireplace/fireplace_fire_08.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_fire_08.webp rename to game/images/rooms/main_room/fireplace/fireplace_fire_08.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_hover.webp b/game/images/rooms/main_room/fireplace/fireplace_hover.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_hover.webp rename to game/images/rooms/main_room/fireplace/fireplace_hover.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_idle.webp b/game/images/rooms/main_room/fireplace/fireplace_idle.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_idle.webp rename to game/images/rooms/main_room/fireplace/fireplace_idle.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_w_shadow.webp b/game/images/rooms/main_room/fireplace/fireplace_w_shadow.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_w_shadow.webp rename to game/images/rooms/main_room/fireplace/fireplace_w_shadow.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_xmas.webp b/game/images/rooms/main_room/fireplace/fireplace_xmas.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_xmas.webp rename to game/images/rooms/main_room/fireplace/fireplace_xmas.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_xmas_hover.webp b/game/images/rooms/main_room/fireplace/fireplace_xmas_hover.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_xmas_hover.webp rename to game/images/rooms/main_room/fireplace/fireplace_xmas_hover.webp diff --git a/game/images/rooms/objects/fireplace/fireplace_xmas_idle.webp b/game/images/rooms/main_room/fireplace/fireplace_xmas_idle.webp similarity index 100% rename from game/images/rooms/objects/fireplace/fireplace_xmas_idle.webp rename to game/images/rooms/main_room/fireplace/fireplace_xmas_idle.webp diff --git a/game/images/rooms/objects/mail/owl_01.webp b/game/images/rooms/main_room/mail/owl_01.webp similarity index 100% rename from game/images/rooms/objects/mail/owl_01.webp rename to game/images/rooms/main_room/mail/owl_01.webp diff --git a/game/images/rooms/objects/mail/owl_02.webp b/game/images/rooms/main_room/mail/owl_02.webp similarity index 100% rename from game/images/rooms/objects/mail/owl_02.webp rename to game/images/rooms/main_room/mail/owl_02.webp diff --git a/game/images/rooms/objects/mail/owl_03.webp b/game/images/rooms/main_room/mail/owl_03.webp similarity index 100% rename from game/images/rooms/objects/mail/owl_03.webp rename to game/images/rooms/main_room/mail/owl_03.webp diff --git a/game/images/rooms/objects/mail/owl_hover.webp b/game/images/rooms/main_room/mail/owl_hover.webp similarity index 100% rename from game/images/rooms/objects/mail/owl_hover.webp rename to game/images/rooms/main_room/mail/owl_hover.webp diff --git a/game/images/rooms/objects/mail/owl_idle_01.webp b/game/images/rooms/main_room/mail/owl_idle_01.webp similarity index 100% rename from game/images/rooms/objects/mail/owl_idle_01.webp rename to game/images/rooms/main_room/mail/owl_idle_01.webp diff --git a/game/images/rooms/objects/mail/owl_idle_02.webp b/game/images/rooms/main_room/mail/owl_idle_02.webp similarity index 100% rename from game/images/rooms/objects/mail/owl_idle_02.webp rename to game/images/rooms/main_room/mail/owl_idle_02.webp diff --git a/game/images/rooms/objects/mail/owl_idle_03.webp b/game/images/rooms/main_room/mail/owl_idle_03.webp similarity index 100% rename from game/images/rooms/objects/mail/owl_idle_03.webp rename to game/images/rooms/main_room/mail/owl_idle_03.webp diff --git a/game/images/rooms/objects/parcel/idle.webp b/game/images/rooms/main_room/parcel/idle.webp similarity index 100% rename from game/images/rooms/objects/parcel/idle.webp rename to game/images/rooms/main_room/parcel/idle.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_01.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_01.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_01.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_01.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_02.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_02.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_02.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_02.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_03.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_03.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_03.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_03.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_04.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_04.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_04.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_04.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_05.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_05.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_05.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_05.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_06.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_06.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_06.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_06.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_07.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_07.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_07.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_07.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_08.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_08.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_08.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_08.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_09.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_09.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_09.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_09.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_10.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_10.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_10.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_10.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_11.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_11.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_11.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_11.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_12.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_12.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_12.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_12.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_13.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_13.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_13.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_13.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_14.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_14.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_14.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_14.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_15.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_15.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_15.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_15.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_16.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_16.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_16.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_16.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_17.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_17.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_17.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_17.webp diff --git a/game/images/rooms/objects/phoenix/feather_ani/pho_18.webp b/game/images/rooms/main_room/phoenix/feather_ani/pho_18.webp similarity index 100% rename from game/images/rooms/objects/phoenix/feather_ani/pho_18.webp rename to game/images/rooms/main_room/phoenix/feather_ani/pho_18.webp diff --git a/game/images/rooms/objects/phoenix/food.webp b/game/images/rooms/main_room/phoenix/food.webp similarity index 100% rename from game/images/rooms/objects/phoenix/food.webp rename to game/images/rooms/main_room/phoenix/food.webp diff --git a/game/images/rooms/objects/phoenix/phoenix_01.webp b/game/images/rooms/main_room/phoenix/phoenix_01.webp similarity index 100% rename from game/images/rooms/objects/phoenix/phoenix_01.webp rename to game/images/rooms/main_room/phoenix/phoenix_01.webp diff --git a/game/images/rooms/objects/phoenix/phoenix_02.webp b/game/images/rooms/main_room/phoenix/phoenix_02.webp similarity index 100% rename from game/images/rooms/objects/phoenix/phoenix_02.webp rename to game/images/rooms/main_room/phoenix/phoenix_02.webp diff --git a/game/images/rooms/objects/phoenix/phoenix_03.webp b/game/images/rooms/main_room/phoenix/phoenix_03.webp similarity index 100% rename from game/images/rooms/objects/phoenix/phoenix_03.webp rename to game/images/rooms/main_room/phoenix/phoenix_03.webp diff --git a/game/images/rooms/objects/phoenix/phoenix_hover.webp b/game/images/rooms/main_room/phoenix/phoenix_hover.webp similarity index 100% rename from game/images/rooms/objects/phoenix/phoenix_hover.webp rename to game/images/rooms/main_room/phoenix/phoenix_hover.webp diff --git a/game/images/rooms/_weather_/blizzard_01.webp b/game/images/rooms/main_room/weather/blizzard_01.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_01.webp rename to game/images/rooms/main_room/weather/blizzard_01.webp diff --git a/game/images/rooms/_weather_/blizzard_02.webp b/game/images/rooms/main_room/weather/blizzard_02.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_02.webp rename to game/images/rooms/main_room/weather/blizzard_02.webp diff --git a/game/images/rooms/_weather_/blizzard_03.webp b/game/images/rooms/main_room/weather/blizzard_03.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_03.webp rename to game/images/rooms/main_room/weather/blizzard_03.webp diff --git a/game/images/rooms/_weather_/blizzard_04.webp b/game/images/rooms/main_room/weather/blizzard_04.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_04.webp rename to game/images/rooms/main_room/weather/blizzard_04.webp diff --git a/game/images/rooms/_weather_/blizzard_05.webp b/game/images/rooms/main_room/weather/blizzard_05.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_05.webp rename to game/images/rooms/main_room/weather/blizzard_05.webp diff --git a/game/images/rooms/_weather_/blizzard_06.webp b/game/images/rooms/main_room/weather/blizzard_06.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_06.webp rename to game/images/rooms/main_room/weather/blizzard_06.webp diff --git a/game/images/rooms/_weather_/blizzard_07.webp b/game/images/rooms/main_room/weather/blizzard_07.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_07.webp rename to game/images/rooms/main_room/weather/blizzard_07.webp diff --git a/game/images/rooms/_weather_/blizzard_08.webp b/game/images/rooms/main_room/weather/blizzard_08.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_08.webp rename to game/images/rooms/main_room/weather/blizzard_08.webp diff --git a/game/images/rooms/_weather_/blizzard_09.webp b/game/images/rooms/main_room/weather/blizzard_09.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_09.webp rename to game/images/rooms/main_room/weather/blizzard_09.webp diff --git a/game/images/rooms/_weather_/blizzard_10.webp b/game/images/rooms/main_room/weather/blizzard_10.webp similarity index 100% rename from game/images/rooms/_weather_/blizzard_10.webp rename to game/images/rooms/main_room/weather/blizzard_10.webp diff --git a/game/images/rooms/_weather_/cloud_small.webp b/game/images/rooms/main_room/weather/cloud_small.webp similarity index 100% rename from game/images/rooms/_weather_/cloud_small.webp rename to game/images/rooms/main_room/weather/cloud_small.webp diff --git a/game/images/rooms/_weather_/day_cloud_01.webp b/game/images/rooms/main_room/weather/day_cloud_01.webp similarity index 100% rename from game/images/rooms/_weather_/day_cloud_01.webp rename to game/images/rooms/main_room/weather/day_cloud_01.webp diff --git a/game/images/rooms/_weather_/day_cloud_02.webp b/game/images/rooms/main_room/weather/day_cloud_02.webp similarity index 100% rename from game/images/rooms/_weather_/day_cloud_02.webp rename to game/images/rooms/main_room/weather/day_cloud_02.webp diff --git a/game/images/rooms/_weather_/day_cloud_03.webp b/game/images/rooms/main_room/weather/day_cloud_03.webp similarity index 100% rename from game/images/rooms/_weather_/day_cloud_03.webp rename to game/images/rooms/main_room/weather/day_cloud_03.webp diff --git a/game/images/rooms/_weather_/lightning_01.webp b/game/images/rooms/main_room/weather/lightning_01.webp similarity index 100% rename from game/images/rooms/_weather_/lightning_01.webp rename to game/images/rooms/main_room/weather/lightning_01.webp diff --git a/game/images/rooms/_weather_/lightning_02.webp b/game/images/rooms/main_room/weather/lightning_02.webp similarity index 100% rename from game/images/rooms/_weather_/lightning_02.webp rename to game/images/rooms/main_room/weather/lightning_02.webp diff --git a/game/images/rooms/_weather_/lightning_03.webp b/game/images/rooms/main_room/weather/lightning_03.webp similarity index 100% rename from game/images/rooms/_weather_/lightning_03.webp rename to game/images/rooms/main_room/weather/lightning_03.webp diff --git a/game/images/rooms/_weather_/lightning_04.webp b/game/images/rooms/main_room/weather/lightning_04.webp similarity index 100% rename from game/images/rooms/_weather_/lightning_04.webp rename to game/images/rooms/main_room/weather/lightning_04.webp diff --git a/game/images/rooms/_weather_/lightning_05.webp b/game/images/rooms/main_room/weather/lightning_05.webp similarity index 100% rename from game/images/rooms/_weather_/lightning_05.webp rename to game/images/rooms/main_room/weather/lightning_05.webp diff --git a/game/images/rooms/_weather_/lightning_06.webp b/game/images/rooms/main_room/weather/lightning_06.webp similarity index 100% rename from game/images/rooms/_weather_/lightning_06.webp rename to game/images/rooms/main_room/weather/lightning_06.webp diff --git a/game/images/rooms/_weather_/night_cloud_01.webp b/game/images/rooms/main_room/weather/night_cloud_01.webp similarity index 100% rename from game/images/rooms/_weather_/night_cloud_01.webp rename to game/images/rooms/main_room/weather/night_cloud_01.webp diff --git a/game/images/rooms/_weather_/night_cloud_02.webp b/game/images/rooms/main_room/weather/night_cloud_02.webp similarity index 100% rename from game/images/rooms/_weather_/night_cloud_02.webp rename to game/images/rooms/main_room/weather/night_cloud_02.webp diff --git a/game/images/rooms/_weather_/night_cloud_03.webp b/game/images/rooms/main_room/weather/night_cloud_03.webp similarity index 100% rename from game/images/rooms/_weather_/night_cloud_03.webp rename to game/images/rooms/main_room/weather/night_cloud_03.webp diff --git a/game/images/rooms/_weather_/night_sky.webp b/game/images/rooms/main_room/weather/night_sky.webp similarity index 100% rename from game/images/rooms/_weather_/night_sky.webp rename to game/images/rooms/main_room/weather/night_sky.webp diff --git a/game/images/rooms/_weather_/night_sky_moon.webp b/game/images/rooms/main_room/weather/night_sky_moon.webp similarity index 100% rename from game/images/rooms/_weather_/night_sky_moon.webp rename to game/images/rooms/main_room/weather/night_sky_moon.webp diff --git a/game/images/rooms/_weather_/night_sky_moon_cloudy.webp b/game/images/rooms/main_room/weather/night_sky_moon_cloudy.webp similarity index 100% rename from game/images/rooms/_weather_/night_sky_moon_cloudy.webp rename to game/images/rooms/main_room/weather/night_sky_moon_cloudy.webp diff --git a/game/images/rooms/_weather_/night_sky_moon_overcast.webp b/game/images/rooms/main_room/weather/night_sky_moon_overcast.webp similarity index 100% rename from game/images/rooms/_weather_/night_sky_moon_overcast.webp rename to game/images/rooms/main_room/weather/night_sky_moon_overcast.webp diff --git a/game/images/rooms/_weather_/night_sky_overcast.webp b/game/images/rooms/main_room/weather/night_sky_overcast.webp similarity index 100% rename from game/images/rooms/_weather_/night_sky_overcast.webp rename to game/images/rooms/main_room/weather/night_sky_overcast.webp diff --git a/game/images/rooms/_weather_/rain_01.webp b/game/images/rooms/main_room/weather/rain_01.webp similarity index 100% rename from game/images/rooms/_weather_/rain_01.webp rename to game/images/rooms/main_room/weather/rain_01.webp diff --git a/game/images/rooms/_weather_/rain_02.webp b/game/images/rooms/main_room/weather/rain_02.webp similarity index 100% rename from game/images/rooms/_weather_/rain_02.webp rename to game/images/rooms/main_room/weather/rain_02.webp diff --git a/game/images/rooms/_weather_/rain_03.webp b/game/images/rooms/main_room/weather/rain_03.webp similarity index 100% rename from game/images/rooms/_weather_/rain_03.webp rename to game/images/rooms/main_room/weather/rain_03.webp diff --git a/game/images/rooms/_weather_/sky.webp b/game/images/rooms/main_room/weather/sky.webp similarity index 100% rename from game/images/rooms/_weather_/sky.webp rename to game/images/rooms/main_room/weather/sky.webp diff --git a/game/images/rooms/_weather_/sky_overcast.webp b/game/images/rooms/main_room/weather/sky_overcast.webp similarity index 100% rename from game/images/rooms/_weather_/sky_overcast.webp rename to game/images/rooms/main_room/weather/sky_overcast.webp diff --git a/game/images/rooms/_weather_/snow_01.webp b/game/images/rooms/main_room/weather/snow_01.webp similarity index 100% rename from game/images/rooms/_weather_/snow_01.webp rename to game/images/rooms/main_room/weather/snow_01.webp diff --git a/game/images/rooms/_weather_/snow_02.webp b/game/images/rooms/main_room/weather/snow_02.webp similarity index 100% rename from game/images/rooms/_weather_/snow_02.webp rename to game/images/rooms/main_room/weather/snow_02.webp diff --git a/game/images/rooms/_weather_/snow_03.webp b/game/images/rooms/main_room/weather/snow_03.webp similarity index 100% rename from game/images/rooms/_weather_/snow_03.webp rename to game/images/rooms/main_room/weather/snow_03.webp diff --git a/game/images/rooms/_weather_/snow_04.webp b/game/images/rooms/main_room/weather/snow_04.webp similarity index 100% rename from game/images/rooms/_weather_/snow_04.webp rename to game/images/rooms/main_room/weather/snow_04.webp diff --git a/game/images/rooms/_weather_/snow_05.webp b/game/images/rooms/main_room/weather/snow_05.webp similarity index 100% rename from game/images/rooms/_weather_/snow_05.webp rename to game/images/rooms/main_room/weather/snow_05.webp diff --git a/game/images/rooms/_weather_/snow_06.webp b/game/images/rooms/main_room/weather/snow_06.webp similarity index 100% rename from game/images/rooms/_weather_/snow_06.webp rename to game/images/rooms/main_room/weather/snow_06.webp diff --git a/game/images/rooms/_weather_/snow_07.webp b/game/images/rooms/main_room/weather/snow_07.webp similarity index 100% rename from game/images/rooms/_weather_/snow_07.webp rename to game/images/rooms/main_room/weather/snow_07.webp diff --git a/game/images/rooms/_weather_/snow_08.webp b/game/images/rooms/main_room/weather/snow_08.webp similarity index 100% rename from game/images/rooms/_weather_/snow_08.webp rename to game/images/rooms/main_room/weather/snow_08.webp diff --git a/game/images/rooms/_weather_/snow_09.webp b/game/images/rooms/main_room/weather/snow_09.webp similarity index 100% rename from game/images/rooms/_weather_/snow_09.webp rename to game/images/rooms/main_room/weather/snow_09.webp diff --git a/game/images/rooms/_weather_/snow_10.webp b/game/images/rooms/main_room/weather/snow_10.webp similarity index 100% rename from game/images/rooms/_weather_/snow_10.webp rename to game/images/rooms/main_room/weather/snow_10.webp diff --git a/game/images/rooms/objects/deco/hogwarts_banner.webp b/game/images/rooms/objects/deco/hogwarts_banner.webp deleted file mode 100644 index 12141b0b..00000000 --- a/game/images/rooms/objects/deco/hogwarts_banner.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f54d1faeecdab55abec00b26cb5c9a4142ec9ce81a0df83e4c619bf8168318f -size 7474 diff --git a/game/images/rooms/objects/deco/owlbasin.webp b/game/images/rooms/objects/deco/owlbasin.webp deleted file mode 100644 index d8d30aaf..00000000 --- a/game/images/rooms/objects/deco/owlbasin.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e21797a1fb8f972c4984ebeb6392bc1e34a5e00f9d525dc39dd3cb49a2f921c -size 27834 diff --git a/game/images/rooms/room_of_requirement/door_idle_night.webp b/game/images/rooms/room_of_requirement/door_idle_night.webp new file mode 100644 index 00000000..f6251461 --- /dev/null +++ b/game/images/rooms/room_of_requirement/door_idle_night.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afdf88d8e4e63f2d872e28c8686c6ca59659b92784b579ae68a8e5287c5e4835 +size 86056 diff --git a/game/images/rooms/room_of_requirement/paperandmic.webp b/game/images/rooms/room_of_requirement/paperandmic.webp deleted file mode 100644 index 3d0ae052..00000000 --- a/game/images/rooms/room_of_requirement/paperandmic.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3b7c80d2362d57f6a06fe48f295f2f2158b143a8a7089c7aabf357929443461 -size 1270 diff --git a/game/interface/room_of_req/quistion_mark.webp b/game/images/rooms/room_of_requirement/qmark.webp similarity index 100% rename from game/interface/room_of_req/quistion_mark.webp rename to game/images/rooms/room_of_requirement/qmark.webp diff --git a/game/images/ui/naughty_list/naughty_list scroll.webp b/game/images/ui/naughty_list/naughty_list scroll.webp new file mode 100644 index 00000000..ba8a4c70 --- /dev/null +++ b/game/images/ui/naughty_list/naughty_list scroll.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40a3cae224584730ec302280962317386408539da126638b4426ff466e545a12 +size 186354 diff --git a/game/images/ui/naughty_list/naughty_list spacer.webp b/game/images/ui/naughty_list/naughty_list spacer.webp new file mode 100644 index 00000000..330c6d23 --- /dev/null +++ b/game/images/ui/naughty_list/naughty_list spacer.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:451d3f36568d0c23e5a75b9f9979661c3b35d6e93589a672d3a4fc01c2d55931 +size 1666 diff --git a/game/interface/icons/head/hooch.webp b/game/interface/icons/head/hooch.webp new file mode 100644 index 00000000..beb7cce2 --- /dev/null +++ b/game/interface/icons/head/hooch.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f73c621d20053841e623cb8c047e11007d6231aa76f0414efb6d4772660a92eb +size 24796 diff --git a/game/interface/icons/santas_naughty_list.webp b/game/interface/icons/santas_naughty_list.webp new file mode 100644 index 00000000..b5bd83a8 --- /dev/null +++ b/game/interface/icons/santas_naughty_list.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42f5240e8641f220b53ea7611c9d7c99c18ad7530dc4b951be0d7412ae115304 +size 41554 diff --git a/game/interface/icons/xmas_garland.webp b/game/interface/icons/xmas_garland.webp new file mode 100644 index 00000000..7ff585f9 --- /dev/null +++ b/game/interface/icons/xmas_garland.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0648f1dc6877a63b36d080ecd85df8d0335ed73c128c594f26053ec96c9dace7 +size 24436 diff --git a/game/interface/icons/xmas_window_santa.webp b/game/interface/icons/xmas_window_santa.webp new file mode 100644 index 00000000..c24f09f4 --- /dev/null +++ b/game/interface/icons/xmas_window_santa.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19d376aa067b50b83282067e054d0dbf3406fdf7c67b74f31455e346523a32bb +size 7670 diff --git a/game/interface/room_of_req/astoria_icon.webp b/game/interface/room_of_req/astoria_icon.webp deleted file mode 100644 index 1d5672db..00000000 --- a/game/interface/room_of_req/astoria_icon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8a0ba414a8a6990d8aed4d1d8157136703e9ffa72d7a0ec816d70cfbbf187b30 -size 2360 diff --git a/game/interface/room_of_req/cho_icon.webp b/game/interface/room_of_req/cho_icon.webp deleted file mode 100644 index 8df878a8..00000000 --- a/game/interface/room_of_req/cho_icon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b81d42e0ec4f77061718dc0a935f3f606704b8a5ee09409b04f4baf194fc3a5 -size 2060 diff --git a/game/interface/room_of_req/hermione_icon.webp b/game/interface/room_of_req/hermione_icon.webp deleted file mode 100644 index 0030c623..00000000 --- a/game/interface/room_of_req/hermione_icon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb83763872c3c41dadbc4e053d4ee6e941ec1cdf69fede1d293959b68d07ee12 -size 2950 diff --git a/game/interface/room_of_req/locked.webp b/game/interface/room_of_req/locked.webp deleted file mode 100644 index 68b399ed..00000000 --- a/game/interface/room_of_req/locked.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7dc49b7dc0dc714676dee8ec245562486ba88b97bdcf6b09c193d7f3ecdf078a -size 2472 diff --git a/game/interface/room_of_req/luna_icon.webp b/game/interface/room_of_req/luna_icon.webp deleted file mode 100644 index 796b032b..00000000 --- a/game/interface/room_of_req/luna_icon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8c5404ad88acd0ee23b194cd6a3a88df701837e8cd14665afddbf0556938683 -size 2612 diff --git a/game/interface/room_of_req/mirror_event_item.webp b/game/interface/room_of_req/mirror_event_item.webp deleted file mode 100644 index f2c19198..00000000 --- a/game/interface/room_of_req/mirror_event_item.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19ed96cc73976b2fae329bd45f6d29861fd006387211969dc0537b55046fb995 -size 160 diff --git a/game/interface/room_of_req/mirror_event_item_hover.webp b/game/interface/room_of_req/mirror_event_item_hover.webp deleted file mode 100644 index f4c0d2d1..00000000 --- a/game/interface/room_of_req/mirror_event_item_hover.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9224c45daf315a82ebb9f102944d843ec31f42119c918c52df13015e3c93fe06 -size 160 diff --git a/game/interface/room_of_req/mirror_event_menu.webp b/game/interface/room_of_req/mirror_event_menu.webp deleted file mode 100644 index 18b9319e..00000000 --- a/game/interface/room_of_req/mirror_event_menu.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec37a7cc66177bd00282e7c1ccf74c8a7ff1709ba2d37e7a9f3e69fd5a5d791d -size 36630 diff --git a/game/interface/room_of_req/susan_icon.webp b/game/interface/room_of_req/susan_icon.webp deleted file mode 100644 index 1f3bffc2..00000000 --- a/game/interface/room_of_req/susan_icon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ccf795a78d589b378156f3b9f470859384fbf84d84e3f4ed4a1cd0a319ea4024 -size 2514 diff --git a/game/interface/room_of_req/tonks_icon.webp b/game/interface/room_of_req/tonks_icon.webp deleted file mode 100644 index f507437a..00000000 --- a/game/interface/room_of_req/tonks_icon.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:199a539537d0cf9d437e89d08bfc9dce5999a71a611c1c1957b20e572f6ff2cb -size 2504 diff --git a/game/interface/room_of_req/unlocked.webp b/game/interface/room_of_req/unlocked.webp deleted file mode 100644 index 8b5423f4..00000000 --- a/game/interface/room_of_req/unlocked.webp +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92126948d6c64a9014707e2253bfc5ad9d02feba23019ac1ae8e27c024c364a9 -size 3884 diff --git a/game/interface/tutorials/milestones.webp b/game/interface/tutorials/milestones.webp new file mode 100644 index 00000000..8dcfdc75 --- /dev/null +++ b/game/interface/tutorials/milestones.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b82a1d79272585cd21ba16e668a035cc1011b96e210994ea834c7f22ac971fe7 +size 56078 diff --git a/game/interface/warning.webp b/game/interface/warning.webp new file mode 100644 index 00000000..042c4903 --- /dev/null +++ b/game/interface/warning.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3149df3304349b5bb88e548cac4f65eeee29ba5b2e8af6d53bc461fe5ef3c28 +size 6706 diff --git a/game/mods/.gitignore b/game/mods/.gitignore new file mode 100644 index 00000000..f1bcb3c7 --- /dev/null +++ b/game/mods/.gitignore @@ -0,0 +1,5 @@ +# Ignore everything in this directory +* +# Except this file and ExampleMod +!.gitignore +!ExampleMod/ diff --git a/game/mods/MyMod/characters/hermione/clothes/hair/ponytail/0.webp b/game/mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/0.webp similarity index 100% rename from game/mods/MyMod/characters/hermione/clothes/hair/ponytail/0.webp rename to game/mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/0.webp diff --git a/game/mods/MyMod/characters/hermione/clothes/hair/ponytail/1.webp b/game/mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/1.webp similarity index 100% rename from game/mods/MyMod/characters/hermione/clothes/hair/ponytail/1.webp rename to game/mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/1.webp diff --git a/game/mods/MyMod/characters/hermione/clothes/hair/ponytail/outline.webp b/game/mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/outline.webp similarity index 100% rename from game/mods/MyMod/characters/hermione/clothes/hair/ponytail/outline.webp rename to game/mods/ExampleMod/characters/hermione/poses/default/clothes/hair/ponytail/outline.webp diff --git a/game/mods/MyMod/logo.webp b/game/mods/ExampleMod/logo.webp similarity index 100% rename from game/mods/MyMod/logo.webp rename to game/mods/ExampleMod/logo.webp diff --git a/game/mods/ExampleMod/manifest.json b/game/mods/ExampleMod/manifest.json new file mode 100644 index 00000000..dd5f5c2d --- /dev/null +++ b/game/mods/ExampleMod/manifest.json @@ -0,0 +1,7 @@ +{ + "Name": "ExampleMod", + "Author": "LoafyLemon", + "Version": "1.0.0", + "Description": "Adds ponytail hairstyle for Hermione", + "GameVer": "1.45.2" +} diff --git a/game/mods/ExampleMod/script.rpym b/game/mods/ExampleMod/script.rpym new file mode 100644 index 00000000..14aa1950 --- /dev/null +++ b/game/mods/ExampleMod/script.rpym @@ -0,0 +1,19 @@ +# Add new hairstyle for character as an instance of DollCloth, +# make sure the variable name is unique, preferably starting with mod name. +default ExampleMod_ponytail = DollCloth( + modpath="ExampleMod", # File path; Usually a mod folder name. (case insensitive) + name="hermione", # Character name (case sensitive) + categories=("head","hair"), # Main category and subcategory of the item (case sensitive) + type="hair", # Item type (case sensitive) + id="ponytail", # Item identifier (case sensitive) + unlocked=True, # True=Item is unlocked by default, False=Item is a part of the outfit and requries to be bought + level=0, # Character whoring/friendship level required to wear this cloth. (Optional) + color=["#985930", "#c38959"], # Python list with default colours in one of the formats listed down below. + zorder=None # Item zorder number, or None, if None default zorder for the slot will be used. + ) + +# Example valid colour formats: +# RGB: [(255, 255, 255), (255, 255, 255)] +# RGBA: [(255, 255, 255, 255), (255, 255, 255, 255)] +# HEX: [("#985930", "#c38959")] +# HEXA: [("#985930FF", "#c38959FF")] diff --git a/game/mods/MyMod/manifest.json b/game/mods/MyMod/manifest.json deleted file mode 100644 index 1a5dea2b..00000000 --- a/game/mods/MyMod/manifest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "Name": "MyMod", - "Author": "LoafyLemon", - "Version": "1.0.0", - "Description": "Adds ponytail hairstyle for Hermione", - "GameVer": "1.43" -} diff --git a/game/mods/MyMod/script.rpym b/game/mods/MyMod/script.rpym deleted file mode 100644 index f675194b..00000000 --- a/game/mods/MyMod/script.rpym +++ /dev/null @@ -1,13 +0,0 @@ -# Add new hairstyle for character as an instance of DollCloth, -# make sure the variable name is unique, preferably starting with mod name. -default MyMod_ponytail = DollCloth( - modpath="mods/mymod/", # shortened filepath to this file - name="hermione", # Character name (case sensitive) - categories=("head","hair"), # Main category and subcategory of the item - type="hair", # Item type - id="ponytail", # Item identificator - unlocked=True, # True=Item is unlocked by default, False=Item is a part of the outfit and requries to be bought - level=0, # Character whoring/friendship level required to wear this cloth. (Optional) - armfix=False, # If cloth images intersect with arm layers, set to True. (Optional) - color=[[152, 89, 48, 255], [195, 137, 89, 255]] # Python list with default colours in RGBA format applicable for each colourable file layer - ) diff --git a/game/music/(Orchestral) Playful Tension by Shadow16nh.ogg b/game/music/(Orchestral) Playful Tension by Shadow16nh.ogg index 62013029..f36b65f6 100644 --- a/game/music/(Orchestral) Playful Tension by Shadow16nh.ogg +++ b/game/music/(Orchestral) Playful Tension by Shadow16nh.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2a1e059e75701202ced714d92f43340b4cf79aa53dd4019982df8449ad33de3 -size 693462 +oid sha256:9cf2a7ac10dbde27f19a9bc54b533a586539ab508731a33198aee0c230386402 +size 751073 diff --git a/game/music/Anguish.ogg b/game/music/Anguish.ogg index 579c5144..b3cb5820 100644 --- a/game/music/Anguish.ogg +++ b/game/music/Anguish.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3072716ddde6cedbc772770232ce6153fa9a6881636373ddb469804dedb5d23b -size 3030314 +oid sha256:74efb5790f8b558d462cdf1b07e4df1738da40bb0a6556aeae2df5b49bb9fae1 +size 2892575 diff --git a/game/music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg b/game/music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg index f3ac498b..beb328b4 100644 --- a/game/music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg +++ b/game/music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ab5da62abd7031128120c80d0a9ff587909c6ab637b391368bd957eaebf032f -size 5959840 +oid sha256:a10448ed5a22e842af4df21439e32543c96da47b604cf0cf6c04408144ebb0af +size 5733178 diff --git a/game/music/Brittle Rille.ogg b/game/music/Brittle Rille.ogg index 299ad106..1716219d 100644 --- a/game/music/Brittle Rille.ogg +++ b/game/music/Brittle Rille.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64a25a1cf06498e81f2d4cb2df281e6395f5ead9ad62c1f373045dff3988c720 -size 2926347 +oid sha256:fd918cab58a33f95b34b99c4e332f7f309195de304d58a59d25caf641720d21d +size 2736300 diff --git a/game/music/Chipper Doodle v2.ogg b/game/music/Chipper Doodle v2.ogg index 63cd2b1d..148f062d 100644 --- a/game/music/Chipper Doodle v2.ogg +++ b/game/music/Chipper Doodle v2.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7d83b22a3c7e1d862d709934adca08fc4139c747e08c0f5625640e5ff5e31976 -size 2466111 +oid sha256:637ca0ca57f02a449f13afbe8f22da439405eb7ba2952c5f76998dfe922ef49f +size 2276408 diff --git a/game/music/Dark Fog.ogg b/game/music/Dark Fog.ogg index 5eef21d1..ed91e796 100644 --- a/game/music/Dark Fog.ogg +++ b/game/music/Dark Fog.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad78d3fcc9aa415876b273426b213b3584f5240bc68d4576d2532f0bc94a8323 -size 2902595 +oid sha256:3f536bb69d9933596c9dd2242c3df9334e919ce3cfb0589b89e92735d33be9df +size 2781050 diff --git a/game/music/Despair_by_erenik.ogg b/game/music/Despair_by_erenik.ogg index 6bd2df6a..55851d5d 100644 --- a/game/music/Despair_by_erenik.ogg +++ b/game/music/Despair_by_erenik.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69a7ff2104f7f421f966fd13fe8f3e7c7f88f4086ba4a30aacaf60632e79ac2b -size 1331209 +oid sha256:871375f902058ce7c6feab1b0d112317687b536c5c0029759b2a112821f6b9e5 +size 1252481 diff --git a/game/music/Fanfare.ogg b/game/music/Fanfare.ogg index 8dcd9a9d..6228f71c 100644 --- a/game/music/Fanfare.ogg +++ b/game/music/Fanfare.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5455ff1c1a9d96873310d9eb1584e09bb6253e0dde46748a4ec6053206bd01fa -size 745108 +oid sha256:3c24cb78e738d0cdd52496b20ed3e9d84da0af746fdbf24034530522633ac7dc +size 781283 diff --git a/game/music/GrapeSodaIsFuckingRawbyjrayteam6.ogg b/game/music/GrapeSodaIsFuckingRawbyjrayteam6.ogg index f7701117..cdd2210e 100644 --- a/game/music/GrapeSodaIsFuckingRawbyjrayteam6.ogg +++ b/game/music/GrapeSodaIsFuckingRawbyjrayteam6.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:869c1683f39022cf9d5b42b264dc483df20d02fdd88840c6b17f7fc067f8e503 -size 2511091 +oid sha256:f2f3608dfefbaecb4291f9cb30050f6d3a076b890dd0c382fb3f0b6e0f74f3b0 +size 2414858 diff --git a/game/music/Hitman.ogg b/game/music/Hitman.ogg index f2509e3f..fbf6fcfc 100644 --- a/game/music/Hitman.ogg +++ b/game/music/Hitman.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:31ba78b98167e146d17edd94f86206327a9b925a9721bf1a8e989fe955de129b -size 2844974 +oid sha256:bc39dbb1ac395fe18c0ba204d6e1575b7461cd6f033bef666111448747e63b98 +size 2756808 diff --git a/game/music/Juhani_Junkala.ogg b/game/music/Juhani_Junkala.ogg index 545747f1..bfd90741 100644 --- a/game/music/Juhani_Junkala.ogg +++ b/game/music/Juhani_Junkala.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a054d6b4780388c5f5483e60d760b229dfb18303723eee2caf2eb43f2162e11d -size 1126638 +oid sha256:8ff7df4b958d2f912e4b619c44c459a9b50f7f3c1abe02accdde51c36595565d +size 998616 diff --git a/game/music/KMcL_OpenThoseBrightEyes.ogg b/game/music/KMcL_OpenThoseBrightEyes.ogg index 2c1d712e..1e77be28 100644 --- a/game/music/KMcL_OpenThoseBrightEyes.ogg +++ b/game/music/KMcL_OpenThoseBrightEyes.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e6a5822e022f90f55b5d903bae4ba4d8d7960be44efd7db8be01f4bd5ee84cf -size 1680334 +oid sha256:dc6163185ce563fe2116bcb03b65f792ef3d9d040392578ef60ed1e9e85752b0 +size 1506099 diff --git a/game/music/Music for Manatees.ogg b/game/music/Music for Manatees.ogg index 9993c629..fe251950 100644 --- a/game/music/Music for Manatees.ogg +++ b/game/music/Music for Manatees.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1561ef85d6fb9a5a55f98d2ca433e18c5fb64d72f71d6fa12790ce31ea75d19 -size 12764432 +oid sha256:cd2cf0978da39505b4e91add744e5ae7d4e3d46e221c4beb852ea59633a0655d +size 12293414 diff --git a/game/music/Only 115 (Electro Loop)_125 BPM.ogg b/game/music/Only 115 (Electro Loop)_125 BPM.ogg index f3684d49..78d6435a 100644 --- a/game/music/Only 115 (Electro Loop)_125 BPM.ogg +++ b/game/music/Only 115 (Electro Loop)_125 BPM.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62f82d2594eca5bcb790021fa192adacb88ad7335d2af8ac5029ce8da02ee00d -size 915940 +oid sha256:7bbe1435931219b03bef757385e177d16b89af9821b2fc1721832abd06ddda6c +size 821532 diff --git a/game/music/Plaint.ogg b/game/music/Plaint.ogg index f21ef162..e9676959 100644 --- a/game/music/Plaint.ogg +++ b/game/music/Plaint.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:818b2d338b4fabd75a9ec8e15a23a0701fef51f317baeb7c7bf33cdef2ad119f -size 2415882 +oid sha256:41b22d92e517cca486a9a4cfe857e9e53ea892abeaa10dba2aca7e81c17cb343 +size 2086452 diff --git a/game/music/RoomOfReqIntro.ogg b/game/music/RoomOfReqIntro.ogg index 0ff173f8..5767ebdd 100644 --- a/game/music/RoomOfReqIntro.ogg +++ b/game/music/RoomOfReqIntro.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f7bcaa22d68f2042a933c0a9c271bc5c81bda4857016408d46bc4f2c003d35b -size 457116 +oid sha256:fb47ace206258c435fe6f8f47fdfa3ed540d54bc81a4a887c9e6462ac3ccb46f +size 456655 diff --git a/game/music/Spring_In_My_Step.ogg b/game/music/Spring_In_My_Step.ogg index 16f64c84..2b9ff38c 100644 --- a/game/music/Spring_In_My_Step.ogg +++ b/game/music/Spring_In_My_Step.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0da25a48ffe7d0770a036753ec7e5a89a2f9d4c79002c896b82d9d62ed3f35fb -size 1812941 +oid sha256:5d1ea327c01380573ab0e848e521aacb38120adc2fa7e5c4e1221ccf6e60e25e +size 1687786 diff --git a/game/music/Under-the-Radar by PhobyAk.ogg b/game/music/Under-the-Radar by PhobyAk.ogg index dc1969be..1df13c56 100644 --- a/game/music/Under-the-Radar by PhobyAk.ogg +++ b/game/music/Under-the-Radar by PhobyAk.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb3d3aa9bf2aec925a8671eeddb333f737f9f6b3f3d170567282f4e52ff97985 -size 2601579 +oid sha256:0fb157be1a2e0d8022a78b88d57dc0624d34fa3fe41c4bf4743a51bd928e35db +size 2843235 diff --git a/game/music/Victory1.ogg b/game/music/Victory1.ogg index 3924ed42..fc8763e9 100644 --- a/game/music/Victory1.ogg +++ b/game/music/Victory1.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a34d1d62bf2b477f923db857980e368f31a3857d81afd4a9617a0f14ca4e18f5 -size 747233 +oid sha256:bb9b4a0f60b517d52a3b9242a61cb2903cfb39516a67625a59c768d5b93c14f6 +size 747346 diff --git a/game/music/anticipations-by-tim-kulig-from-filmmusic-io.ogg b/game/music/anticipations-by-tim-kulig-from-filmmusic-io.ogg new file mode 100644 index 00000000..040df79b --- /dev/null +++ b/game/music/anticipations-by-tim-kulig-from-filmmusic-io.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c60f097d0e839be24f38485cee11938ce49c4d4e8607b2372bda39151a6d75a +size 2318989 diff --git a/game/music/aquarium-by-kevin-macleod.ogg b/game/music/aquarium-by-kevin-macleod.ogg index a53ae434..b1ef484e 100644 --- a/game/music/aquarium-by-kevin-macleod.ogg +++ b/game/music/aquarium-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3bb63bd3ab32a34eb06021a4f58956166799c63fd572f3f025232430782583c -size 1986420 +oid sha256:a91145c68713480f123c33203efb40df745295fdeaeac67cbb5bc127120647b8 +size 1783988 diff --git a/game/music/battleThemeB.ogg b/game/music/battleThemeB.ogg index 04edd0bf..985252b2 100644 --- a/game/music/battleThemeB.ogg +++ b/game/music/battleThemeB.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d36b47dd8ec87234614e2e9ec1d16406fc9665165c400daea7a87959251a522c -size 863472 +oid sha256:ec7f191efa6715801cf6f6b767f127fb39336f5dee3fe76a7283142465458195 +size 813562 diff --git a/game/music/boss_battle_#2_metal_loop.ogg b/game/music/boss_battle_#2_metal_loop.ogg index b73ddef5..0c9bff93 100644 --- a/game/music/boss_battle_#2_metal_loop.ogg +++ b/game/music/boss_battle_#2_metal_loop.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f142d16f7b40444933e2557d02b13ea14d46caf44e0521dcc538daad51109e0 -size 512135 +oid sha256:337911762797d015b9c0099db0aaa14da9c728703fbec19ea272f8944c9d4661 +size 488247 diff --git a/game/music/clothing_store.ogg b/game/music/clothing_store.ogg index a9edca80..5e5de2c8 100644 --- a/game/music/clothing_store.ogg +++ b/game/music/clothing_store.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff4e17e7c93ac7acaf714d9fa9cbe5ec5460afb752e648761e00a9c1069c5484 -size 952286 +oid sha256:29f893b67b067dfbcfd71e3285e558804aa3dbb3dd3225c83f9682e02601160e +size 882204 diff --git a/game/music/court-of-the-queen-by-kevin-macleod.ogg b/game/music/court-of-the-queen-by-kevin-macleod.ogg index 172d3505..ce2d40ca 100644 --- a/game/music/court-of-the-queen-by-kevin-macleod.ogg +++ b/game/music/court-of-the-queen-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfbd3b1beeeae041e752c7dc21a586baa13a35270cff0def8c6527ece5ef7261 -size 503275 +oid sha256:1190076ad99601318fff9e2958833de262f8f876243f363a121846a68461f5b6 +size 600046 diff --git a/game/music/dark_trance.ogg b/game/music/dark_trance.ogg new file mode 100644 index 00000000..60d38146 --- /dev/null +++ b/game/music/dark_trance.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b54a1ada93efd439e91aea23a0140b6728e481b163b4ddf5b28b00e43d8f1ba +size 772535 diff --git a/game/music/deadly-roulette-by-kevin-macleod.ogg b/game/music/deadly-roulette-by-kevin-macleod.ogg index 91ec6bd9..55535a05 100644 --- a/game/music/deadly-roulette-by-kevin-macleod.ogg +++ b/game/music/deadly-roulette-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:463c31a0ca0192f452cea19dcaae025410913d73fd76f0adae5bb0e357f75734 -size 1963890 +oid sha256:0d47cc49e4ee4b1d2f8d011716df407655d821aa453805c9a7fa9dd1bb0c8e94 +size 1912769 diff --git a/game/music/determined_pursuit_loop.ogg b/game/music/determined_pursuit_loop.ogg index f1061362..6d546d90 100644 --- a/game/music/determined_pursuit_loop.ogg +++ b/game/music/determined_pursuit_loop.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:542bbb1b60a0183bb3b653b12e11486e634fa40a396fb9a4ff80b407b3c88ab6 -size 1534284 +oid sha256:e80ad921f873d7b8467e08df1bb2f75c2ecbc816706b8ebf2249f4091b264af4 +size 1541008 diff --git a/game/music/epic-unease-by-kevin-macleod.ogg b/game/music/epic-unease-by-kevin-macleod.ogg index f2104bd5..5b0fe2f3 100644 --- a/game/music/epic-unease-by-kevin-macleod.ogg +++ b/game/music/epic-unease-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96ca0f83cf0989b6bec33e102dc9bf9617ec5c561ed9ea02f4dbc9b4570adc72 -size 442432 +oid sha256:0cfcfdc822a59204890638d1b19a07bb184d45fda92a1a87f23a687a9d71be14 +size 454834 diff --git a/game/music/firebrand-by-kevin-macleod.ogg b/game/music/firebrand-by-kevin-macleod.ogg index 9821e1a5..c8d1449b 100644 --- a/game/music/firebrand-by-kevin-macleod.ogg +++ b/game/music/firebrand-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f58377c5362d3de09a3461d4263d141e51605373bac1ba190eeb2d03516d0ad -size 5259253 +oid sha256:60f84ab97618035d21c04ea9b0bdd0a231daefd628503297cc7909cbf667605a +size 5064361 diff --git a/game/music/fluffing-a-duck-by-kevin-macleod.ogg b/game/music/fluffing-a-duck-by-kevin-macleod.ogg index dfe9703b..a59aa6da 100644 --- a/game/music/fluffing-a-duck-by-kevin-macleod.ogg +++ b/game/music/fluffing-a-duck-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61b9be56609096fb001ab5045422b4fa80f37a41888bfee13d76d85504f930ba -size 792632 +oid sha256:02feefa1d628140fefee04d5fa94c645ee92e6cb2696420769512ed86362c0ea +size 889198 diff --git a/game/music/fuzzball-parade-by-kevin-macleod.ogg b/game/music/fuzzball-parade-by-kevin-macleod.ogg index f1d5a398..7323b011 100644 --- a/game/music/fuzzball-parade-by-kevin-macleod.ogg +++ b/game/music/fuzzball-parade-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d60cee01d547f43a7c6ebba2112bedb70226c33e9e2adca9f7d66039f70ea533 -size 3990534 +oid sha256:fe838a2e6191eaf8d57207f5eba88c8aa081f441f326bddf1ba5b420cb6b20f2 +size 4060750 diff --git a/game/music/hidden-agenda-by-kevin-macleod.ogg b/game/music/hidden-agenda-by-kevin-macleod.ogg index 3daceb79..788f935e 100644 --- a/game/music/hidden-agenda-by-kevin-macleod.ogg +++ b/game/music/hidden-agenda-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb9a3f1e6d7a04bdc21df30ee175111813348b66d8bce2c4cc8a5e055274640f -size 1750137 +oid sha256:01eac6fecacec3fb0968b45887c490452c5491d3618390c494c16d9aaed7a0d1 +size 1972076 diff --git a/game/music/jazz take 2.ogg b/game/music/jazz take 2.ogg new file mode 100644 index 00000000..4b74fad6 --- /dev/null +++ b/game/music/jazz take 2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e142e479033a8e74de4defb0cc9264748d319ec2c0fe487402ac367f0baf3a43 +size 1899543 diff --git a/game/music/machinations-by-kevin-macleod.ogg b/game/music/machinations-by-kevin-macleod.ogg index bc422ed0..3e5448f0 100644 --- a/game/music/machinations-by-kevin-macleod.ogg +++ b/game/music/machinations-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f8c646f69b672a1ce80f991fe36a2856ee6550be75f099afe005271d0a43e7ab -size 1307929 +oid sha256:63addf365e97a16432fbbcf659bd0a0aacbb0054b6900a6ca52fca7394363a7b +size 1360007 diff --git a/game/music/march-of-the-spoons-by-kevin-macleod-from-filmmusic-io.ogg b/game/music/march-of-the-spoons-by-kevin-macleod-from-filmmusic-io.ogg index b7196de4..5ef282b8 100644 --- a/game/music/march-of-the-spoons-by-kevin-macleod-from-filmmusic-io.ogg +++ b/game/music/march-of-the-spoons-by-kevin-macleod-from-filmmusic-io.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68731a76b2ad8335047bb6d784b8460b1b1068a53dec3f9b7f1b7ec05347e8fa -size 2387720 +oid sha256:ca35b3aeebfd1a35553a041db350a1501522eaf1fee71b1001c104d5250a503a +size 2358095 diff --git a/game/music/marty-gots-a-plan-by-kevin-macleod.ogg b/game/music/marty-gots-a-plan-by-kevin-macleod.ogg index e2fde53c..3fe53840 100644 --- a/game/music/marty-gots-a-plan-by-kevin-macleod.ogg +++ b/game/music/marty-gots-a-plan-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b11d0ce944b489992438c5a97e620c0c2cf5f72e1be3d5d282bedee101f53a2b -size 2229235 +oid sha256:660c175729d9414f951e0c1b10219c7a0fcdf6d390d9cba8a5e0102f7cc269ba +size 2217518 diff --git a/game/music/ominous_music.ogg b/game/music/ominous_music.ogg index 179a02cb..7c07db57 100644 --- a/game/music/ominous_music.ogg +++ b/game/music/ominous_music.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b837331d8fcb2a1da2272543a8b29f021ea6a43db2ac7e6177d2fe8d6d782ac2 -size 1210205 +oid sha256:fca4e941106786c09a0be4e323b9011b141a872d21e0532f2593e143a0b0dd21 +size 1160413 diff --git a/game/music/pirate.ogg b/game/music/pirate.ogg index 9913c318..e4203ecb 100644 --- a/game/music/pirate.ogg +++ b/game/music/pirate.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e1511aa161fa44cda4a6c4cd55f8e80768d2050289599ee4eb8d7c2cb13f896 -size 885096 +oid sha256:44ab0dbf85a561507dd4984b9cb0aae1a0e279c22cd21f06242e8beec8de95ea +size 759289 diff --git a/game/music/scheming-weasel-slower-version-by-kevin-macleod.ogg b/game/music/scheming-weasel-slower-version-by-kevin-macleod.ogg index 31db433f..e49226bb 100644 --- a/game/music/scheming-weasel-slower-version-by-kevin-macleod.ogg +++ b/game/music/scheming-weasel-slower-version-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:726b6c44b2cba731fac76fcb015295a3f05d36eb085aaa53eaf48a7c282b0806 -size 1222359 +oid sha256:76f76d07bfebb3a08c83dcf6c8c57185447a451ce0629a7793eeac3306416091 +size 1179749 diff --git a/game/music/silly_fun_loop.ogg b/game/music/silly_fun_loop.ogg index 166e020b..097adfcc 100644 --- a/game/music/silly_fun_loop.ogg +++ b/game/music/silly_fun_loop.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c47e560e683e0bb1204456d39c7a773190dd62de83bd096c78ff7fe346e00199 -size 435276 +oid sha256:05f0049562d940cac2e54f6c5444e80b37b32e6cab86104674f9910d6002acbd +size 389584 diff --git a/game/music/song18.ogg b/game/music/song18.ogg index fd03d0bf..a5aa294a 100644 --- a/game/music/song18.ogg +++ b/game/music/song18.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39b8d431f41698d8b454261fc38cf3f6e76b3d6400d8604b8cb48cffdbb52afc -size 436621 +oid sha256:1770fdf263025a490de97506792aed592a71241cf6f64ffef0d86a3a130ddad7 +size 492554 diff --git a/game/music/teddy-bear-waltz-by-kevin-macleod.ogg b/game/music/teddy-bear-waltz-by-kevin-macleod.ogg index fad77f70..92a6390f 100644 --- a/game/music/teddy-bear-waltz-by-kevin-macleod.ogg +++ b/game/music/teddy-bear-waltz-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:744366db352fadd105d44c79767f3d2ae27d3d79cc64c9686bf4f47dca9c6edd -size 2527938 +oid sha256:87c76feaa505b9d230e0be5416521a9dc8c192f33f8c416d681523cf72a2cbcd +size 2286184 diff --git a/game/music/the-chamber-by-kevin-macleod.ogg b/game/music/the-chamber-by-kevin-macleod.ogg index 1de324d8..cb12360c 100644 --- a/game/music/the-chamber-by-kevin-macleod.ogg +++ b/game/music/the-chamber-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a48fac0412b78d2e24e21646d30c7f3b61dddde7d6085134b4cd454d5a7329fb -size 1332982 +oid sha256:0baea53dba38723b59f19db93c43898848b36e26c7c651e486b6a854f42de7f1 +size 1435665 diff --git a/game/music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg b/game/music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg index b0ebcd3b..c6bde793 100644 --- a/game/music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg +++ b/game/music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70a2b2184b8c6410e247dbf5f69e973e4f2ac4336094ab61f4001b654f9672cc -size 2197773 +oid sha256:f67cc8ffc0aabc9b3a08aa495eb7c1c22dab2c7fc15b57962cc37f3ff84f6b32 +size 2554077 diff --git a/game/music/vs_hermione.ogg b/game/music/vs_hermione.ogg index 6072ae82..ff87a46a 100644 --- a/game/music/vs_hermione.ogg +++ b/game/music/vs_hermione.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc6de9f215e567edd7307dab23aea6bb55ac911eaed897e84c488636cb3761b3 -size 197534 +oid sha256:4c229ca8f872fc33bce9fb5fd606e7f925720d1733dbab86f90f6dce81c813f7 +size 166808 diff --git a/game/music/vs_twins.ogg b/game/music/vs_twins.ogg index 57331a88..ae744186 100644 --- a/game/music/vs_twins.ogg +++ b/game/music/vs_twins.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:949d1ebab35cb193f024cc7cc02b04a494a44cfd8444ac91e9c98895bf2dbb6c -size 1333115 +oid sha256:e0e750c7d8a166e1dfc7f36804bc564f8ba65616f8370ae3f98df4d352cae9ec +size 1121572 diff --git a/game/music/wallpaper-by-kevin-macleod.ogg b/game/music/wallpaper-by-kevin-macleod.ogg index 0321e09a..21dff76c 100644 --- a/game/music/wallpaper-by-kevin-macleod.ogg +++ b/game/music/wallpaper-by-kevin-macleod.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfcc7b60d886b270eb439a58f9ccc41ca8adf4c2b80f0c2c9ec91d84b46f8178 -size 2959846 +oid sha256:f671545d4d33a5e3373f01b04a54716962e8b421fabbeb2d1629ca7cfd4d555f +size 2680447 diff --git a/game/music/weasley_store.ogg b/game/music/weasley_store.ogg index b3f115bb..ad12475b 100644 --- a/game/music/weasley_store.ogg +++ b/game/music/weasley_store.ogg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f3d8e8e740de6c27a399d04106dfb5021085c403c49ff18088f8058fd47bdd1 -size 569105 +oid sha256:149060dd95c923234851f7d5a44b7922467d8c9b33e5934a536ca266e9c1c883 +size 521502 diff --git a/game/scripts/animations/ani_hermione_favours.rpy b/game/scripts/animations/ani_hermione_favours.rpy index ce76bad7..936f3090 100644 --- a/game/scripts/animations/ani_hermione_favours.rpy +++ b/game/scripts/animations/ani_hermione_favours.rpy @@ -1250,7 +1250,7 @@ image grope_tits_jerk_off_bottomless: pause.2 repeat -image grope tits_jerk_off_bottomless_lift_top: +image grope_tits_jerk_off_bottomless_lift_top: zoom 0.5 "characters/hermione/chibis/grope_breasts/masturbate_bottomless_lift_top_01.webp" @@ -1263,7 +1263,7 @@ image grope tits_jerk_off_bottomless_lift_top: pause.2 repeat -image grope tits_jerk_off_naked: +image grope_tits_jerk_off_naked: zoom 0.5 "characters/hermione/chibis/grope_breasts/masturbate_naked_01.webp" diff --git a/game/scripts/animations/common.rpy b/game/scripts/animations/common.rpy index f1f0cb96..2e5d1cf4 100644 --- a/game/scripts/animations/common.rpy +++ b/game/scripts/animations/common.rpy @@ -267,6 +267,7 @@ image sur: # Main title background animation image title_ani: contains: + animation zoom 0.5 "images/title/00.webp" pause 3 @@ -318,6 +319,7 @@ image title_ani: "candle_fire_01" contains: + animation xpos -255 ypos 100 zoom 0.8 @@ -341,6 +343,7 @@ image title_ani: #sparkle contains: + animation xpos 798 ypos 200 xanchor 0.5 @@ -354,6 +357,7 @@ image title_ani: #shine silver (synchronized) contains: + animation xpos 848 ypos 230 xanchor 0.5 @@ -395,36 +399,3 @@ image menu_ani: contains: alpha 0.8 "#000" - -# Transitions -init offset = -1 - -define d1 = Dissolve(0.1) -define d2 = Dissolve(0.2) -define d3 = Dissolve(0.3) -define d4 = Dissolve(0.4) -define d5 = Dissolve(0.5) -define d6 = Dissolve(0.6) -define d7 = Dissolve(0.7) -define d8 = Dissolve(0.8) -define d9 = Dissolve(0.9) - -define f1 = Fade(0.1, 0.0, 0.1) -define f2 = Fade(0.2, 0.0, 0.2) -define f3 = Fade(0.3, 0.0, 0.3) - -define flash = Fade(0.1, 0.0, 0.5, color="#fff") -define flashbulb = Fade(0.2, 0.0, 0.8, color='#fff') -define flashbb = Fade(0.2, 0.0, 0.8, color='#000') -define flashblood = Fade(0.2, 0.0, 0.8, color='#f02424') -define kissiris = Fade(0.2, 0.0, 0.8, color='#fb8dc8') -define black_magic = Fade(0.2, 0.0, 0.5, color='#7f3590') -define blackfade = Fade(0.9, 0.5, 1, color='#000000') - -define morph = ComposeTransition(Dissolve(0.9), before=Fade(0.1, 0.5, 0.5, color="#fff"), after=Dissolve(0.5)) -define teleport = ImageDissolve("id_teleport.webp", 1.0, 0) - -define vpunch_repeat = Move((0, 10), (0, -10), .5, bounce=True, repeat=True, delay=4.5) - -define faderight = ImageDissolve("interface/transitions/faderight.webp", 1.0) -define fadeleft = ImageDissolve("interface/transitions/faderight.webp", 1.0, reverse=True) diff --git a/game/scripts/animations/generator.rpy b/game/scripts/animations/generator.rpy index de1da27d..86fb775e 100644 --- a/game/scripts/animations/generator.rpy +++ b/game/scripts/animations/generator.rpy @@ -64,7 +64,7 @@ transform OBJcloud(start=(random.randint(270, 800), random.randint(60, 130)), sp parallel: zoom random.uniform(0.6, 1.0) pos start - "images/rooms/_weather_/cloud_small.webp" + "images/rooms/main_room/weather/cloud_small.webp" linear speed xpos 800 xpos 270 linear speed xpos start[0] diff --git a/game/scripts/animations/transforms.rpy b/game/scripts/animations/transforms.rpy index f5c1d2d3..20fc2e3e 100644 --- a/game/scripts/animations/transforms.rpy +++ b/game/scripts/animations/transforms.rpy @@ -1,8 +1,5 @@ -transform sepia(): - matrixcolor SepiaMatrix() - -transform uvlight(): - matrixcolor SepiaMatrix("#590098", desat=(1.0, 1.5, 1.0)) +transform sepia(strength=1.0, tint='#ffeec2', desat=(0.2126, 0.7152, 0.0722), brightness=0.0): + matrixcolor TintMatrix(tint) * SaturationMatrix(1.0-strength, desat) * BrightnessMatrix(brightness) transform move_in(x, t): xpos x @@ -104,11 +101,14 @@ transform main_sprite_position(x, y, flip, scale): transform random_rotation(a=-45, b=45): rotate random.randint(a, b) -transform pulse_hover(t=1.0, strength=0.2, pause=0.0): - linear t matrixcolor BrightnessMatrix(value=strength) - linear t matrixcolor BrightnessMatrix(value=0.0) - pause pause - repeat +transform pulse_hover(t=2.0, strength=0.2, pause=0.0): + matrixcolor BrightnessMatrix(value=0.0) + + on start: + linear t/2 matrixcolor BrightnessMatrix(value=strength) + linear t/2 matrixcolor BrightnessMatrix(value=0.0) + pause pause + repeat transform gui_animation: nearest True diff --git a/game/scripts/cds.rpy b/game/scripts/cds.rpy new file mode 100644 index 00000000..fe6458ec --- /dev/null +++ b/game/scripts/cds.rpy @@ -0,0 +1,93 @@ +python early: + def parse_chibi(l): + who = l.simple_expression() + action = l.simple_expression() + + return (who, action) + + def execute_chibi(p): + print(f"{p}") + who, action = p + func = eval(f"{who}_chibi.{action}") + + # print(f"Execution: {who} {action}") + + def lint_chibi(p): + who, action = p + try: + chibi = eval(f"{who}_chibi") + except Exception: + renpy.error(f"Character chibi not defined: {who}") + + def predict_chibi(p): + who, action = p + + chibi = eval(f"{who}_chibi") + doll = eval(f"{who}") + + layers = ( + l[0] for pose in chibi.poses.keys() + for k in doll.states.values() if k[0] and k[2] + for l in k[0].get_layers(k[0]._hash, subpath=posixpath.join("chibi", pose)).values() + ) + + return layers + + renpy.register_statement( + name="chibi", + parse=parse_chibi, + execute=execute_chibi, + lint=lint_chibi, + predict=predict_chibi, + ) + + def parse_random(l): + l.require(":") + l.expect_eol() + + ll = l.subblock_lexer() + blocks = [] + + while ll.advance(): + with ll.catch_error(): + weight = 1.0 + condition = "True" + + if ll.keyword("block"): + ll.expect_block("block") + + block = ll.subblock_lexer().renpy_block() + + if ll.keyword("weight"): + weight = float(ll.require(ll.float)) + + if ll.keyword("if"): + ll.expect_block("if block") + condition = ll.require(ll.python_expression) + else: + block = ll.renpy_statement() + + blocks.append((block, weight, condition)) + + return {"blocks": blocks} + + def next_random(p): + blocks = [(block, weight, condition) for block, weight, condition in p["blocks"] if eval(condition)] + total_weight = sum(weight for _, weight, _ in blocks) + n = renpy.random.random() * total_weight + + for block, weight, _ in blocks: + if n <= weight: + break + else: + n -= weight + + return block + + renpy.register_statement( + name="random", + block=True, + predict_all=True, + parse=parse_random, + next=next_random, + ) diff --git a/game/scripts/cg/camera.rpy b/game/scripts/cg/camera.rpy index 309014e4..5034c65a 100644 --- a/game/scripts/cg/camera.rpy +++ b/game/scripts/cg/camera.rpy @@ -43,13 +43,19 @@ init python: self.child = None def set_imagepath(self, path): - self.imagepath = "images/CG/{}/".format(path) + self.imagepath = f"images/CG/{path}/".replace("//", "/") def set_image(self, img, trans=d1): p = max(0, self.get_pause()) self.last_image = self.image - self.image = img + + if isinstance( (vid := renpy.get_registered_image(img)), Movie ): + self.image = vid + elif isinstance(img, str) and self.imagepath: + self.image = f"{self.imagepath}{img}.webp" + else: + self.image = img # Reset last variables to new variables to not redraw the transform. self.last_zoom = self.zoom @@ -66,7 +72,13 @@ init python: renpy.with_statement(trans) def set_overlay(self, overlay): - self.overlay = overlay + if (img := renpy.get_registered_image(overlay)): + self.overlay = img + elif self.imagepath and isinstance(img, str): + self.overlay = f"{self.imagepath}{overlay}.webp" + else: + self.overlay = img + self.redraw(0) def set_zoom(self, n): @@ -112,17 +124,9 @@ init python: renpy.pause(t) def redraw(self, t): - if self.image is None: + if (d := self.image) is None: return - if isinstance(self.image, basestring): - d = renpy.get_registered_image(self.image) - else: - d = self.image - - if d is None and self.imagepath: - d = Image("{}{}.webp".format(self.imagepath, self.image)) - if isinstance(d, Movie): self.scale = 2.0 self.last_type = self.type @@ -133,7 +137,7 @@ init python: self.type = 0 if self.overlay: - overlay = Transform("{}{}.webp".format(self.imagepath, self.overlay), zoom=1.0/self.scale) + overlay = Transform(self.overlay, zoom=1.0/self.scale) d = Fixed(d, overlay, fit_first=True) last_zoom = self.last_zoom * self.scale @@ -145,10 +149,11 @@ init python: return self.child def get_pause(self): - if self.image is None: + d = self.image + + if d is None: return 0 - d = renpy.get_registered_image(self.image) if isinstance(d, Movie) and renpy.music.is_playing(d.channel): p = renpy.music.get_pos(d.channel) or 0.0 t = renpy.music.get_duration(d.channel) diff --git a/game/scripts/cg/cho.rpy b/game/scripts/cg/cho.rpy index cc42c02c..8d78cbd6 100644 --- a/game/scripts/cg/cho.rpy +++ b/game/scripts/cg/cho.rpy @@ -323,6 +323,8 @@ image cho_under_desk_blowjob_fast = Xray("cho_bj_desk_bj", "cho_bj_desk_bj_overl image cho_under_desk_idle_snape_no_spit = Xray("cho_bj_desk_idle_snape_no_spit", "cho_bj_desk_bj_overlay", "cho_bj_desk_bj_mask") transform softblink: + animation + choice: linear 1.0 alpha 0.0 linear 1.0 alpha 1.0 @@ -339,15 +341,13 @@ image dustparticles_big = SnowBlossom(At("images/CG/cho_sex/blob.webp", softblin image dustparticles_medium = SnowBlossom(At(Transform("images/CG/cho_sex/blob.webp", zoom=0.5), softblink), start=0.0075, border=75, count=50, fast=True, yspeed=(-25, -20), xspeed=(-50,50), horizontal=True) image dustparticles_small = SnowBlossom(At(Transform("images/CG/cho_sex/blob.webp", zoom=0.25), softblink), start=0.005, border=100, count=75, fast=True, yspeed=(-12, -10), xspeed=(-25,25), horizontal=True) -image dustfloating: - contains: - "dustparticles_big" +layeredimage dustfloating: + fit "contain" + fit_first True - contains: - "dustparticles_medium" - - contains: - "dustparticles_small" + always "dustparticles_big" + always "dustparticles_medium" + always "dustparticles_small" image cho_sex idle: @@ -1825,3 +1825,326 @@ image cho_sex idle cum inside: linear 2.0 yzoom 1.05 xzoom 0.99 yoffset absolute(-6.8) linear 2.0 yzoom 1.0 xzoom 1.0 yoffset absolute(0) repeat + +layeredimage cho_strip_personal_t3_e3_lying: + fit "cover" + fit_first True + + always "cho_strip_personal_t3_e3_background" + + attribute tonks_body default + group tonks_blush auto prefix "tonks_blush": + attribute neutral null default + group tonks_eyes auto prefix "tonks_eyes": + attribute open_look_at_cho default + group tonks_mouth auto prefix "tonks_mouth": + attribute base default + + attribute cho_body default + group cho_blush auto prefix "cho_blush": + attribute neutral null default + group cho_eyes auto prefix "cho_eyes": + attribute open_look_at_tonks default + group cho_mouth auto prefix "cho_mouth": + attribute base default + + always "cho_strip_personal_t3_e3_foreground" + always "cho_strip_personal_t3_e3_lying_hands" + + group cum multiple auto prefix "cum" + + group desk_cum multiple prefix "desk_cum": + attribute spurt "cho_strip_personal_t3_e3_desk_cum_spurt" + attribute post "cho_strip_personal_t3_e3_desk_cum_post" + +transform desk_cum_spurt_fly: + on start: + ypos 1200 + easeout 0.75 ypos 0 + +layeredimage cho_strip_personal_t3_e3_on_knees: + fit "cover" + fit_first True + + always "cho_strip_personal_t3_e3_background" + + group cho_body auto prefix "cho_body": + attribute idle default + attribute grab_spread + attribute cho_ass_spread default if_all ["tonks_body_grab_spread"] + + attribute cho_handprint null + attribute cho_handprint_normal default if_all ["cho_handprint"] if_any ["tonks_body_idle", "tonks_body_grab"] + attribute cho_handprint_spread default if_all ["cho_handprint", "tonks_body_grab_spread"] + + attribute cho_wetness null + attribute cho_wetness_normal default if_all ["cho_wetness"] if_any ["tonks_body_idle", "tonks_body_grab"] + attribute cho_wetness_spread default if_all ["cho_wetness", "tonks_body_grab_spread"] + + group cho_blush auto prefix "cho_blush": + attribute neutral null default + group cho_eyes auto prefix "cho_eyes": + attribute open_look_at_tonks default + group cho_mouth auto prefix "cho_mouth": + attribute base default + + group tonks_body auto prefix "tonks_body": + attribute idle default + attribute tonks_assfix default if_all ["cho_body_grab_spread"] + attribute tonks_ass_spread default if_all ["cho_body_grab_spread"] + + attribute tonks_wetness null + attribute tonks_wetness_normal default if_all ["tonks_wetness"] if_not ["cho_body_grab_spread"] + attribute tonks_wetness_spread default if_all ["tonks_wetness", "cho_body_grab_spread"] + + group tonks_blush auto prefix "tonks_blush": + attribute neutral null default + group tonks_eyes auto prefix "tonks_eyes": + attribute open_look_at_cho default + group tonks_mouth auto prefix "tonks_mouth": + attribute base default + + attribute cho_armfix_grab_spread default if_any ["cho_body_grab", "cho_body_grab_spread"] + attribute cho_armfix_idle default if_all ["cho_body_idle"] + + always "cho_strip_personal_t3_e3_foreground" + + group desk_cum prefix "desk_cum": + attribute spurt "cho_strip_personal_t3_e3_desk_cum_spurt" at desk_cum_spurt_fly + attribute post "cho_strip_personal_t3_e3_desk_cum_post" + +layeredimage cho_strip_personal_t3_e3_cho_staring: + fit "cover" + fit_first True + + always "cho_strip_personal_t3_e3_background" + + group cho_body auto prefix "cho_body": + attribute idle default + + group cho_blush auto prefix "cho_blush": + attribute neutral null default + group cho_eyes auto prefix "cho_eyes": + attribute wide_look_at_tits default + group cho_mouth auto prefix "cho_mouth": + attribute open default + + attribute tonks_body default + group tonks_blush auto prefix "tonks_blush": + attribute neutral null default + group tonks_eyes auto prefix "tonks_eyes": + attribute open_mid default + group tonks_mouth auto prefix "tonks_mouth": + attribute smile default + + always "cho_strip_personal_t3_e3_foreground" + always "cho_strip_personal_t3_e3_cho_staring_hands" + +layeredimage cho_handjob: + fit "cover" + fit_first True + + always "cho_handjob_background" + + group cho_body auto prefix "cho_body": + attribute bending default + # attribute stroke_down + # attribute stroke_up + # attribute stroke_idle + # attribute idle + # attribute idle2 + attribute none null + + group skirt: + attribute skirt null default + attribute no_skirt null + + attribute cho_bending_skirt default if_all ["cho_body_bending", "skirt"] + attribute cho_stroke_down_skirt default if_all ["cho_body_stroke_down", "skirt"] + attribute cho_stroke_up_skirt default if_all ["cho_body_stroke_up", "skirt"] + attribute cho_stroke_idle_skirt default if_all ["cho_body_stroke_idle", "skirt"] + attribute cho_idle_skirt default if_all ["cho_body_idle", "skirt"] + attribute cho_idle2_skirt default if_all ["cho_body_idle2", "skirt"] + + group shirt: + attribute shirt null default + attribute shirt_open null + attribute no_shirt null + + attribute cho_bending_shirt default if_all ["cho_body_bending", "shirt"] + attribute cho_bending_shirt_open default if_all ["cho_body_bending", "shirt_open"] + + attribute cho_stroke_down_shirt default if_all ["cho_body_stroke_down", "shirt"] + attribute cho_stroke_up_shirt default if_all ["cho_body_stroke_up", "shirt"] + attribute cho_stroke_idle_shirt default if_all ["cho_body_stroke_idle", "shirt"] + attribute cho_idle_shirt default if_all ["cho_body_idle", "shirt"] + attribute cho_idle2_shirt default if_all ["cho_body_idle2", "shirt"] + + attribute cho_stroke_down_shirt_open default if_all ["cho_body_stroke_down", "shirt_open"] + attribute cho_stroke_up_shirt_open default if_all ["cho_body_stroke_up", "shirt_open"] + attribute cho_stroke_idle_shirt_open default if_all ["cho_body_stroke_idle", "shirt_open"] + attribute cho_idle_shirt_open default if_all ["cho_body_idle", "shirt_open"] + attribute cho_idle2_shirt_open default if_all ["cho_body_idle2", "shirt_open"] + + attribute cho_skirt_fix default if_all ["no_shirt", "skirt"] + + group eyes auto prefix "eyes" if_not ["cho_body_bending"]: + attribute open_forward default + + group mouth auto prefix "mouth" if_not ["cho_body_bending"]: + attribute base default + + group eyebrows auto prefix "eyebrows" if_not ["cho_body_bending"]: + attribute base default + + attribute cho_hair_fringe default if_any ["cho_body_stand", "cho_body_idle", "cho_body_idle2", "cho_body_stroke_idle", "cho_body_stroke_down", "cho_body_stroke_up"] + + group penis auto prefix "penis": + attribute soft default + attribute none null + + attribute hand_stroke_down default if_all ["cho_body_stroke_down"] + attribute hand_stroke_up default if_all ["cho_body_stroke_up"] + attribute hand_stroke_idle default if_all ["cho_body_stroke_idle"] + attribute hand_stroke_down_wet default if_all ["cho_body_stroke_down", "penis_hard_spit_on_shaft"] + attribute hand_stroke_up_wet default if_all ["cho_body_stroke_up", "penis_hard_spit_on_shaft"] + attribute hand_stroke_idle_wet default if_all ["cho_body_stroke_idle", "penis_hard_spit_on_shaft"] + + group genie prefix "genie": + attribute robed default + attribute unrobed + + group effects multiple auto prefix "effects" + + group speedlines auto prefix "speedlines" + + group cum auto prefix "cum" + +layeredimage cho_masturbate_lockers: + fit "cover" + fit_first True + + always "cho_masturbate_lockers_background" + + group cho_body auto prefix "cho_body": + attribute idle default + + group eyes auto prefix "eyes": + attribute forward default + + group mouth auto prefix "mouth": + attribute base default + + group eyebrows auto prefix "eyebrows": + attribute base default + + group blush auto prefix "blush" + + group effects auto prefix "effects" multiple + + always "cho_masturbate_lockers_hair" + + group cum auto prefix "cum" multiple + +layeredimage cho_facefuck: + fit "cover" + fit_first True + + always "cho_facefuck_background" + + group cum: + attribute throatpie null + attribute cumshot null + attribute cumshot2 null + + group spit multiple: + attribute spit_on_face null + attribute spit_on_mouth null + + group eyebrows prefix "eyebrows": + attribute raised null + attribute low null + attribute angry null + attribute worried null default + + group eyes prefix "eyes": + attribute shut null + attribute right null + attribute left null + attribute down null + attribute up null default + attribute ahegao null + attribute stare null + attribute narrow_right null + attribute narrow_left null + attribute narrow_down null + attribute narrow_up null + attribute narrow_ahegao null + attribute narrow_stare null + + attribute no_shirt null + attribute tears null + attribute cheekbulge null + attribute mouth_bubbles null + + group blush multiple prefix "blush": + attribute heavy null + attribute choking null + + + group cho auto variant "shadow" + group cho auto variant "arms" + group genie auto variant "body" + group cho auto variant "body" + group cho auto variant "shirt" if_not ["no_shirt"] + group cho auto variant "head" + group genie auto variant "penis" + group cho auto variant "tears" if_all ["tears"] + group cho auto variant "cheekbulge" if_all ["cheekbulge"] + group cho auto variant "blush_heavy" if_all ["blush_heavy"] + group cho auto variant "blush_choking" if_all ["blush_choking"] + group cho auto variant "eyebrows_raised" if_all ["eyebrows_raised"] + group cho auto variant "eyebrows_low" if_all ["eyebrows_low"] + group cho auto variant "eyebrows_angry" if_all ["eyebrows_angry"] + group cho auto variant "eyebrows_worried" if_all ["eyebrows_worried"] + group cho auto variant "eyes_shut" if_all ["eyes_shut"] + group cho auto variant "eyes_right" if_all ["eyes_right"] + group cho auto variant "eyes_left" if_all ["eyes_left"] + group cho auto variant "eyes_down" if_all ["eyes_down"] + group cho auto variant "eyes_up" if_all ["eyes_up"] + group cho auto variant "eyes_ahegao" if_all ["eyes_ahegao"] + group cho auto variant "eyes_stare" if_all ["eyes_stare"] + group cho auto variant "eyes_narrow_right" if_all ["eyes_narrow_right"] + group cho auto variant "eyes_narrow_left" if_all ["eyes_narrow_left"] + group cho auto variant "eyes_narrow_down" if_all ["eyes_narrow_down"] + group cho auto variant "eyes_narrow_up" if_all ["eyes_narrow_up"] + group cho auto variant "eyes_narrow_ahegao" if_all ["eyes_narrow_ahegao"] + group cho auto variant "eyes_narrow_stare" if_all ["eyes_narrow_stare"] + group cho auto variant "spit_mouth" if_all ["spit_on_mouth"] + group cho auto variant "spit_face" if_all ["spit_on_face"] + group cho auto variant "mouth_bubbles" if_all ["mouth_bubbles"] + group genie auto variant "cum_throatpie" if_all ["throatpie"] + group genie auto variant "cum_cumshot" if_all ["cumshot"] + group genie auto variant "cum_cumshot2" if_all ["cumshot2"] + group cho auto variant "hair" + group genie auto variant "hands" + group effects auto prefix "effects" multiple + + +layeredimage cho_quidditch_outro bedroom: + fit "cover" + fit_first True + + always "cho_quidditch_outro_bedroom_background" + + attribute potion + +layeredimage cho_quidditch_outro pitch: + fit "cover" + fit_first True + + always "cho_quidditch_outro_pitch_background" + + group snape auto prefix "snape" + + always "cho_quidditch_outro_pitch_overlay" diff --git a/game/scripts/cg/common.rpy b/game/scripts/cg/common.rpy index 275e1a90..763d6243 100644 --- a/game/scripts/cg/common.rpy +++ b/game/scripts/cg/common.rpy @@ -1,22 +1,22 @@ init 5 python: def her_cg_doll(st, at): - return hermione.get_image(), None + return hermione.image, None def lun_cg_doll(st, at): - return luna.get_image(), None + return luna.image, None def ton_cg_doll(st, at): - return tonks.get_image(), None + return tonks.image, None def cho_cg_doll(st, at): - return cho.get_image(), None + return cho.image, None def ast_cg_doll(st, at): - return astoria.get_image(), None + return astoria.image, None def sus_cg_doll(st, at): - return susan.get_image(), None + return susan.image, None image CG her_doll = DynamicDisplayable(her_cg_doll) image CG lun_doll = DynamicDisplayable(lun_cg_doll) @@ -55,39 +55,6 @@ image CG susan = Fixed( AlphaMask(Composite((2160, 1200), (880, -180), Transform("CG sus_doll", zoom=1.2)), "images/CG/common/mask.webp"), ) -# TODO: Review the code below. - - - - - - - - - - -# Miscellaneous CG code - -label cg_scene(layer=None, folder=None, trans=d5): - hide screen cg - - if folder != None: - $ cg_path = "images/CG/"+folder+"/" - - if layer != None: - $ cg_image = cg_path+layer+".webp" - - show screen cg - with trans - return - -screen cg(): - # Used by label cg_scene - tag cg_screen - zorder 14 - - add cg_image xpos 540 xanchor 0.5 ypos 0 # At Screen Center - # Snape CG screen snape_groping(): add "images/CG/scene_01.webp" zoom 0.5 @@ -104,18 +71,3 @@ screen snape_sex(): screen dual_hand_job(): add "images/CG/scene_02.webp" zoom 0.5 zorder 14 - -init python: - def dynamic_cg(folder, *args): - d = tuple("images/CG/{}/{}.webp".format(folder, file) for file in args) - - renpy.show_screen("dynamic_cg", d) - renpy.with_statement(d5) - return - -screen dynamic_cg(d): - tag cg_screen - zorder 14 - - for img in d: - add img diff --git a/game/scripts/cg/hermione.rpy b/game/scripts/cg/hermione.rpy index 62e5bdbb..47df4cca 100644 --- a/game/scripts/cg/hermione.rpy +++ b/game/scripts/cg/hermione.rpy @@ -1,36 +1,3 @@ -init 5 python: - - def her_cg_doll_fix(st, at): - """Used to fix the jaw issues on bent-over pose""" - - face = hermione.get_face() - mouth = face["mouth"] - - if hermione.pose == "CG_bent_over" and mouth in ("scream", "open_wide_tongue"): - return Image("images/CG/her_sex/{}.webp".format(mouth)), None - return Null(), None - - def gen_cg_doll(st, at): - d = Image("{}genie_{}.webp".format(genie_doll_path, genie_doll)) - return d, None - -default genie_doll_path = "images/CG/her_sex/" -default genie_doll = "hold" -default genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - -image CG genie_armfix = DynamicImage("[genie_doll_armfix]") - -image CG her_doll_fix = DynamicDisplayable(her_cg_doll_fix) -image CG gen_doll = DynamicDisplayable(gen_cg_doll) - -image CG her_sex = Fixed( - "images/CG/her_sex/background.webp", - "CG gen_doll", - "CG her_doll", - "CG her_doll_fix", - "images/CG/her_sex/foreground.webp", - "CG genie_armfix", - ) image CG her_intro hermione = Fixed( "images/CG/her_intro/bg.webp", @@ -42,30 +9,6 @@ image CG her_intro hermione bendover = Fixed( "images/CG/her_intro/hermione_bendover.webp", ) -image CG breast expand corridor A1: - "images/CG/her_potions/breast_expand/corridor_a1.webp" - -image CG breast expand corridor B1: - "images/CG/her_potions/breast_expand/corridor_b1.webp" - -image CG breast expand classroom A1: - "images/CG/her_potions/breast_expand/classroom_a1.webp" - -image CG breast expand classroom A2: - "images/CG/her_potions/breast_expand/classroom_a2.webp" - -image CG breast expand classroom B1: - "images/CG/her_potions/breast_expand/classroom_b1.webp" - -image CG breast expand classroom B2: - "images/CG/her_potions/breast_expand/classroom_b2.webp" - -image CG ass expand classroom A1: - "images/CG/her_potions/ass_expand/classroom_a1.webp" - -image CG ass expand classroom A2: - "images/CG/her_potions/ass_expand/classroom_a2.webp" - layeredimage her_vibrators_public: fit "cover" fit_first True @@ -95,7 +38,7 @@ layeredimage her_vibrators_public: attribute neutral default attribute hair default if_not "no_hermione" - group wetness auto prefix "wetness" if_not "no_hermione" + group wetness multiple auto prefix "wetness" if_not "no_hermione" group vibrator_upper variant "vibrator_upper" multiple if_not "no_hermione": attribute base default @@ -271,3 +214,308 @@ layeredimage her_flirt_public_flitwick: attribute closed default ypan 180 + +layeredimage her_sex_personal bent_over: + pos (0, 0) + fit_first True + + always "her_sex_personal_background" + + group genie auto: + attribute caress default + + attribute shadow default + attribute body default + group cheeks auto prefix "cheeks": + attribute neutral null default + group eyes auto prefix "eyes": + attribute base default + group tears auto prefix "tears": + attribute none null default + group eyebrows auto prefix "eyebrows": + attribute base default + + group cum_pussy auto prefix "cum_pussy": + attribute none null default + + group outfit multiple variant "outfit": + attribute stockings default + attribute skirt + attribute shirt + + group mouth auto prefix "mouth": + attribute base default + + group hair auto prefix "hair": + attribute normal default + + attribute armfix default + + group outfit multiple variant "outfit_fix": + attribute shirt + + group mouth prefix "mouth" variant "fix": + attribute open_wide_tongue + attribute scream + + group cum_ass auto prefix "cum_ass": + attribute none null default + + group genie auto variant "armfix": + attribute caress default + + always "her_sex_personal_background_clutter" + + if game.daytime: + "her_sex_personal_overlay_day" + else: + "her_sex_personal_overlay_night" + +layeredimage her_sex_personal lean_back: + pos (0, 0) + fit_first True + + always "her_sex_personal_background" + + group genie auto: + attribute caress default + + attribute body default + group cheeks auto prefix "cheeks": + attribute neutral null default + group eyes auto prefix "eyes": + attribute base default + group tears auto prefix "tears": + attribute none null default + group eyebrows auto prefix "eyebrows": + attribute base default + + group hair auto prefix "hair": + attribute normal default + + attribute armfix default + + group outfit multiple variant "outfit": + attribute skirt + attribute shirt + + attribute armfix2 default if_any ["skirt"] + + attribute breastfix default if_not "shirt" + + group mouth auto prefix "mouth": + attribute base default + + group genie auto variant "armfix" + + always "her_sex_personal_background_clutter" + + if game.daytime: + "her_sex_personal_overlay_day" + else: + "her_sex_personal_overlay_night" + +layeredimage her_sex_personal lean_forward: + pos (0, 0) + fit_first True + + always "her_sex_personal_background" + + group genie auto: + attribute caress default + + attribute body default + group cheeks auto prefix "cheeks": + attribute neutral null default + group eyes auto prefix "eyes": + attribute base default + group tears auto prefix "tears": + attribute none null default + group eyebrows auto prefix "eyebrows": + attribute base default + + group hair auto prefix "hair": + attribute normal default + + group outfit multiple variant "outfit": + attribute skirt + attribute shirt + + attribute armfix default if_any ["shirt", "skirt"] + attribute breastfix default if_not "shirt" + + group mouth auto prefix "mouth": + attribute base default + + group genie auto variant "armfix": + attribute caress default + + always "her_sex_personal_background_clutter" + + if game.daytime: + "her_sex_personal_overlay_day" + else: + "her_sex_personal_overlay_night" + +layeredimage her_forest bj: + + always "her_forest_bj_background" + + group myrtle auto: + attribute none null default + + group hermione auto: + attribute none null default + + always "her_forest_bj_overlay" + +layeredimage her_titjob_personal: + + always "her_titjob_personal_background" + + group hermione auto: + attribute none null default + +layeredimage her_ball outskirts: + always "her_ball_outskirts_background" + + group genie auto: + attribute none null default + + group effect auto: + attribute none null default + +layeredimage her_ball entrance: + + group background auto: + attribute wall default + + group hermione auto: + attribute none null default + + group foreground auto: + attribute none null default + + group background: + attribute hall "her_ball_entrance_overlay_hall" + attribute wall "her_ball_entrance_overlay_wall" + +layeredimage her_ball blowjob: + + group background auto: + attribute wall default + + group hermione auto: + attribute none null default + + group mouth auto prefix "mouth": + attribute none null default + + group blush auto prefix "blush": + attribute none null default + + group eyes auto prefix "eyes": + attribute none null default + + group lashes auto prefix "lashes": + attribute none null default + + group brows auto prefix "brows": + attribute none null default + + group mascara auto prefix "mascara": + attribute none null default + + group tears auto prefix "tears": + attribute none null default + + group sweat auto prefix "sweat": + attribute none null default + + group sperm auto prefix "sperm": + attribute none null default + + group spit auto prefix "spit" multiple: + attribute none null default + + always "her_ball_entrance_overlay_wall" + +layeredimage her_ball speech: + + always "her_ball_speech_background_wall" + + group hermione auto: + attribute none null default + + group mouth auto prefix "mouth": + attribute none null default + + group blush auto prefix "blush": + attribute none null default + + group eyes auto prefix "eyes": + attribute none null default + + group brows auto prefix "brows": + attribute none null default + + group mascara auto prefix "mascara": + attribute none null default + + group sweat auto prefix "sweat": + attribute none null default + + group sperm auto prefix "sperm": + attribute none null default + + group foreground auto: + attribute none null default + + always "her_ball_speech_overlay_bloom" + always "her_ball_speech_overlay_wall" + +layeredimage her_ball sex: + + group background auto: + attribute wall default + + group hermione auto: + attribute none null default + + group spank auto prefix "spank": + attribute none null default + + group guy2 auto prefix "guy2": + attribute none null default + + group guy1 auto prefix "guy1": + attribute none null default + + group mouth auto prefix "mouth": + attribute none null default + + group blush auto prefix "blush": + attribute none null default + + group eyes auto prefix "eyes": + attribute none null default + + group brows auto prefix "brows": + attribute none null default + + group mascara auto prefix "mascara": + attribute none null default + + group lashes auto prefix "lashes": + attribute none null default + + group tears auto prefix "tears": + attribute none null default + + group sperm auto prefix "sperm" multiple: + attribute none null default + + group spit auto prefix "spit" multiple: + attribute none null default + + always "her_ball_entrance_overlay_wall" diff --git a/game/scripts/cg/luna.rpy b/game/scripts/cg/luna.rpy index fff8f1ea..e173c392 100644 --- a/game/scripts/cg/luna.rpy +++ b/game/scripts/cg/luna.rpy @@ -8,3 +8,328 @@ image CG lun_intro luna bendover naked = Fixed( "images/CG/lun_intro/bg.webp", "images/CG/lun_intro/luna_naked.webp", ) + +layeredimage lun_blowjob_personal_pose1: + fit "cover" + fit_first True + + always "lun_blowjob_personal_background" + + always "lun_blowjob_personal_pose1_luna_base" + always "lun_blowjob_personal_genie_back" + + group luna_cheeks auto prefix "cheeks": + attribute none null default + + group luna_mouth auto prefix "mouth": + attribute base default + + group luna_eyes auto prefix "eyes": + attribute base_stare default + + group luna_eyebrows auto prefix "eyebrows": + attribute base default + + always "lun_blowjob_personal_pose1_luna_hair" + + attribute penis default if_not ["trousers"] + attribute penis_shadow default if_not ["trousers"] + attribute penis_spit + + group throatpie auto prefix "throatpie" + + group handjob prefix "handjob" if_not ["trousers"]: + attribute idle Fixed("lun_blowjob_personal_pose1_luna_stroke_down_shadow", "lun_blowjob_personal_pose1_luna_stroke_down") default + attribute slow + attribute moderate + attribute fast + + always "lun_blowjob_personal_tabletop" + + group genie_arm auto prefix "genie_arm": + attribute idle "lun_blowjob_personal_genie_arm_idle" + attribute down null default + + always "lun_blowjob_personal_genie_front" + + group genie: + attribute trousers "lun_blowjob_personal_genie_trousers" default + attribute no_trousers null + + group cum auto prefix "cum" if_not ["trousers"]: + attribute precum default + + always "lun_blowjob_personal_vignette" + +layeredimage lun_blowjob_personal_pose2: + fit "cover" + fit_first True + + always "lun_blowjob_personal_background" + always "lun_blowjob_personal_pose2_luna_base" + always "lun_blowjob_personal_genie_back" + + group luna_cheeks auto prefix "cheeks": + attribute none null default + + group luna_mouth auto prefix "mouth": + attribute lick default + + group luna_eyes auto prefix "eyes": + attribute base_stare default + + group luna_eyebrows auto prefix "eyebrows": + attribute base default + + always "lun_blowjob_personal_pose2_luna_hair" + + attribute penis default + attribute penis_spit + + group throatpie auto prefix "throatpie" + + attribute idle "lun_blowjob_personal_pose2_luna_stroke_down" default + + always "lun_blowjob_personal_tabletop" + + group genie_arm auto prefix "genie_arm": + attribute idle "lun_blowjob_personal_genie_arm_idle" + attribute down null default + + always "lun_blowjob_personal_genie_front" + + group genie: + attribute no_trousers null default + + # group cum auto prefix "cum" if_not ["trousers"]: + # attribute precum default + + always "lun_blowjob_personal_vignette" + +layeredimage lun_blowjob_personal_pose3: + fit "cover" + fit_first True + + always "lun_blowjob_personal_background" + always "lun_blowjob_personal_pose3_luna_base" + always "lun_blowjob_personal_genie_back" + + group luna_cheeks auto prefix "cheeks": + attribute none null default + + group luna_eyes auto prefix "eyes": + attribute base_stare default + + group luna_eyebrows auto prefix "eyebrows": + attribute base default + + always "lun_blowjob_personal_pose3_luna_hair" + + attribute penis default + + group luna_mouth auto prefix "mouth": + attribute suck default + + attribute penis_spit + + group throatpie auto prefix "throatpie" + + attribute idle "lun_blowjob_personal_pose3_luna_stroke_down" default + + always "lun_blowjob_personal_tabletop" + + group genie_arm auto prefix "genie_arm": + attribute idle "lun_blowjob_personal_genie_arm_idle" + attribute down null default + + always "lun_blowjob_personal_genie_front" + + group genie: + attribute no_trousers null default + + # group cum auto prefix "cum" if_not ["trousers"]: + # attribute precum default + + always "lun_blowjob_personal_vignette" + +layeredimage lun_blowjob_personal_pose4: + fit "cover" + fit_first True + + always "lun_blowjob_personal_background" + always "lun_blowjob_personal_genie_back" + always "lun_blowjob_personal_pose4_luna_base" + + group luna_cheeks auto prefix "cheeks": + attribute none null default + + group luna_eyes auto prefix "eyes": + attribute base_stare default + + group luna_eyebrows auto prefix "eyebrows": + attribute base default + + always "lun_blowjob_personal_pose4_luna_hair" + + attribute penis default + + group luna_mouth auto prefix "mouth": + attribute suck default + + attribute penis_spit + + group throatpie auto prefix "throatpie" + + attribute idle "lun_blowjob_personal_pose4_luna_stroke_down" default + + always "lun_blowjob_personal_tabletop" + + group genie_arm auto prefix "genie_arm": + attribute idle "lun_blowjob_personal_genie_arm_idle" + attribute down null default + + always "lun_blowjob_personal_genie_front" + + group genie: + attribute no_trousers null default + + # group cum auto prefix "cum" if_not ["trousers"]: + # attribute precum default + + always "lun_blowjob_personal_vignette" + +layeredimage lun_blowjob_personal_pose5: + fit "cover" + fit_first True + + always "lun_blowjob_personal_background" + always "lun_blowjob_personal_genie_back" + always "lun_blowjob_personal_pose5_luna_base" + + group luna_cheeks auto prefix "cheeks": + attribute none null default + + group luna_eyes auto prefix "eyes": + attribute base_stare default + + group luna_eyebrows auto prefix "eyebrows": + attribute base default + + always "lun_blowjob_personal_pose5_luna_hair" + + attribute penis default + + group luna_mouth auto prefix "mouth": + attribute suck default + + attribute penis_spit + attribute luna_frothing + + group throatpie auto prefix "throatpie" + + attribute idle "lun_blowjob_personal_pose5_luna_stroke_down" default + + always "lun_blowjob_personal_tabletop" + + group genie_arm auto prefix "genie_arm": + attribute idle "lun_blowjob_personal_genie_arm_idle" + attribute down null default + + always "lun_blowjob_personal_genie_front" + + group genie: + attribute no_trousers null default + + always "lun_blowjob_personal_vignette" + +image lun_blowjob_personal_loop: + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare" with d1 + pause 0.35 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_up" with d1 + pause 0.25 + "lun_blowjob_personal_pose5 penis_spit eyebrows_angry eyes_halflid_up" with d1 + pause 0.45 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_stare" with d1 + pause 0.25 + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare" with d1 + pause 0.25 + repeat + +image lun_blowjob_personal_loop_ahegao: + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare_hearts" with d1 + pause 0.35 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_up_hearts" with d1 + pause 0.15 + "lun_blowjob_personal_pose5 penis_spit eyebrows_worried eyes_halflid_up_hearts" with d1 + pause 0.45 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried eyes_halflid_stare_hearts" with d1 + pause 0.15 + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried eyes_halflid_stare_hearts" with d1 + pause 0.15 + repeat + +image lun_blowjob_personal_loop_ahegao_hold: + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 + pause 0.2 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_down_hearts" with d1 + pause 0.10 + "lun_blowjob_personal_pose5 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_stare_hearts" with d1 + pause 0.2 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 + pause 0.10 + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 + pause 0.10 + repeat + +image lun_blowjob_personal_loop_ahegao_hold_down: + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 + pause 0.2 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_down_hearts" with d1 + pause 0.10 + "lun_blowjob_personal_pose5 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_stare_hearts" with d1 + pause 0.6 + "lun_blowjob_personal_pose4 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 + pause 0.10 + "lun_blowjob_personal_pose3 penis_spit eyebrows_worried genie_arm_petting eyes_halflid_up_hearts" with d1 + pause 0.10 + repeat + + + +image lun_blowjob_personal_pose1_handjob_slow: + Fixed( + "lun_blowjob_personal_pose1_luna_stroke_down_shadow", + "lun_blowjob_personal_pose1_luna_stroke_down") + pause 0.5 + Fixed( + "lun_blowjob_personal_pose1_luna_stroke_up_shadow", + "lun_blowjob_personal_pose1_luna_stroke_up") + pause 0.5 + repeat + +image lun_blowjob_personal_pose1_handjob_moderate: + Fixed( + "lun_blowjob_personal_pose1_luna_stroke_down_shadow", + "lun_blowjob_personal_pose1_luna_stroke_down") + pause 0.35 + Fixed( + "lun_blowjob_personal_pose1_luna_stroke_up_shadow", + "lun_blowjob_personal_pose1_luna_stroke_up") + pause 0.35 + repeat + +image lun_blowjob_personal_pose1_handjob_fast: + Fixed( + "lun_blowjob_personal_pose1_luna_stroke_down_shadow", + "lun_blowjob_personal_pose1_luna_stroke_down", + "lun_blowjob_personal_pose1_luna_stroke_down_speedlines") + + pause 0.2 + + Fixed( + "lun_blowjob_personal_pose1_luna_stroke_up_shadow", + "lun_blowjob_personal_pose1_luna_stroke_up", + "lun_blowjob_personal_pose1_luna_stroke_up_speedlines") + + pause 0.2 + repeat diff --git a/game/scripts/cg/pov.rpy b/game/scripts/cg/pov.rpy new file mode 100644 index 00000000..54e31557 --- /dev/null +++ b/game/scripts/cg/pov.rpy @@ -0,0 +1,38 @@ + +init python: + def cg_pov_switch(tag1="cg", tag2="cg2", layer=None, controller="cho_dual_cg"): + layer = layer or config.default_tag_layer + zpairs = renpy.get_zorder_list(layer) + zdict = {key: value for key, value in zpairs} + + z1 = zdict.get(tag1, None) + z2 = zdict.get(tag2, None) + + if None in (z1, z2): + return + + renpy.change_zorder(layer, tag1, z2) + renpy.change_zorder(layer, tag2, z1) + + focused = tag1 if z1 > z2 else tag2 + + renpy.show_screen(controller, focused) + +screen cho_dual_cg(focused, _layer="screens", bubble="cho_handjob_bubble", mask="cho_handjob_bubble_mask"): + tag switcher + zorder 300 + + $ d = renpy.display.core.displayable_by_tag(_layer, focused) # Updates once per interaction + $ flip = (-1 if focused == "cg" else 1) + + if d: + $ btn = AlphaMask(Fixed(Transform(d, align=( (1.0, 0.05) if flip else (0.0, 0.05) ), zoom=0.5, xzoom=flip)), Transform(mask, zoom=0.25)) + $ btn = Fixed(Transform(bubble, zoom=0.25), btn) + + imagebutton: + idle Transform(btn, alpha=0.75) + hover Transform(btn, alpha=1.0) + action Function(cg_pov_switch, layer=_layer) + focus_mask True + at transform: + xzoom flip \ No newline at end of file diff --git a/game/scripts/cg/xray.rpy b/game/scripts/cg/xray.rpy index 507565db..fd620e74 100644 --- a/game/scripts/cg/xray.rpy +++ b/game/scripts/cg/xray.rpy @@ -43,9 +43,9 @@ init python: self._overlay = overlay self._mask = mask - self.child = ImageReference(child) if isinstance(child, basestring) else child - self.overlay = ImageReference(overlay) if isinstance(overlay, basestring) else overlay - self.mask = ImageReference(mask) if isinstance(mask, basestring) else mask + self.child = ImageReference(child) if isinstance(child, str) else child + self.overlay = ImageReference(overlay) if isinstance(overlay, str) else overlay + self.mask = ImageReference(mask) if isinstance(mask, str) else mask self.radius = radius self.tag_prefix = tag_prefix self.target = (0, 0) diff --git a/game/scripts/characters.rpy b/game/scripts/characters.rpy index 8dbea8ab..3e0f1760 100644 --- a/game/scripts/characters.rpy +++ b/game/scripts/characters.rpy @@ -1,20 +1,4 @@ -# Narrator (not the same as 'nar' character) -label nar(text="", action=""): - - if action != "end": #Narration ended, blktone was already active. - show screen blktone - with d3 - - if text != "": - "[text]" - - if action != "start": #Narration just started, blktone won't get hidden. - hide screen blktone - with d3 - - return - -init -1401 python: +init -999 python: # Remove style overrides adv.who_args.pop("style", None) adv.what_args.pop("style", None) @@ -23,6 +7,13 @@ init -1401 python: # Default icon adv.show_args["icon"] = "narrator" + def narrator_fade(ev, interact=True, **kwargs): + if ev == "begin": + behind = [f"{i}_main" for i in states.dolls] + ["snape_main", "genie_main", "cg"] + renpy.show("fade", zorder=15, behind=behind) + elif ev == "end": + renpy.hide("fade") + # Characters define m = Character(None, show_side_image=Image("characters/genie/mage.webp", xpos=20), show_icon="genie") define g2 = Character(None, show_side_image=Image("characters/genie/mage2.webp", xpos=20), show_icon="genie") @@ -57,8 +48,8 @@ define cra = Character("Crabbe") define goy = Character("Goyle") define maf = Character("Madam Mafkin", show_side_image=Image("characters/misc/mafkin.webp", xalign=1.0)) define myr = Character("Moaning Myrtle") -define faw = Character('Fawkes', show_icon="fawkes") -define abe = Character('Aberforth') +define faw = Character("Fawkes", show_icon="fawkes") +define abe = Character("Aberforth") # Non-important characters define fem = Character("Female Student") @@ -70,21 +61,13 @@ define sly2 = Character("Another Slytherin student") define qcr = Character("Quidditch Crowd") # Special -define nar = Character("Narrator", show_side_image=Image("characters/misc/narrator.webp")) +define nar = Character("", what_prefix=">", show_icon="narrator", callback=narrator_fade) +define narrator = nar # Note: Without this definition, anonymous narrator style will be overridden by Renpy. define anon = Character("???") # Dumbledore -define dum1 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_1.webp"), show_icon="dumbledore") -define dum2 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_2.webp"), show_icon="dumbledore") -define dum3 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_3.webp"), show_icon="dumbledore") -define dum4 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_4.webp"), show_icon="dumbledore") -define dum5 = Character("[dumbledore_name]", show_side_image=Image("characters/misc/dumbledore/dum_5.webp"), show_icon="dumbledore") - -# Santa -define san1 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_1.webp"), show_icon="santa") -define san2 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_2.webp"), show_icon="santa") -define san3 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_3.webp"), show_icon="santa") -define san4 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_4.webp"), show_icon="santa") -define san5 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_5.webp"), show_icon="santa") -define san6 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_6.webp"), show_icon="santa") -define san7 = Character("Santa", show_side_image=Image("characters/misc/santa/santa_7.webp"), show_icon="santa") +define dum1 = Character("name_dumbledore_genie", show_side_image=Image("characters/misc/dumbledore/dum_1.webp"), show_icon="dumbledore", dynamic=True) +define dum2 = Character("name_dumbledore_genie", show_side_image=Image("characters/misc/dumbledore/dum_2.webp"), show_icon="dumbledore", dynamic=True) +define dum3 = Character("name_dumbledore_genie", show_side_image=Image("characters/misc/dumbledore/dum_3.webp"), show_icon="dumbledore", dynamic=True) +define dum4 = Character("name_dumbledore_genie", show_side_image=Image("characters/misc/dumbledore/dum_4.webp"), show_icon="dumbledore", dynamic=True) +define dum5 = Character("name_dumbledore_genie", show_side_image=Image("characters/misc/dumbledore/dum_5.webp"), show_icon="dumbledore", dynamic=True) diff --git a/game/scripts/characters/astoria/chibi.rpy b/game/scripts/characters/astoria/chibi.rpy index da58ac5e..998d3804 100644 --- a/game/scripts/characters/astoria/chibi.rpy +++ b/game/scripts/characters/astoria/chibi.rpy @@ -8,7 +8,7 @@ label ast_chibi(action=None, xpos=None, ypos=None, flip=False): hide astoria_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ astoria_chibi.hide() with d3 pause .5 @@ -28,7 +28,7 @@ label ast_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call ast_chibi(None, "door", "base", flip) with d3 if xpos or ypos: @@ -36,7 +36,7 @@ label ast_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ astoria_chibi.show() $ astoria_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ astoria_chibi.hide() with d3 pause .5 diff --git a/game/scripts/characters/astoria/chitchats.rpy b/game/scripts/characters/astoria/chitchats.rpy index 8b60ee64..a0a2a7a6 100644 --- a/game/scripts/characters/astoria/chitchats.rpy +++ b/game/scripts/characters/astoria/chitchats.rpy @@ -1,10 +1,10 @@ label astoria_chitchat: - if astoria_chatted: + if states.ast.chatted: return - $ astoria_chatted = True + $ states.ast.chatted = True # Story related chitchats (marked out as they are meant to be added into randomized set of chats when counter is met) @@ -15,7 +15,7 @@ label astoria_chitchat: # # elif ag_st_imperio.counter == 2: # ast "I've heard about some students taking private tutoring from other teachers..." ("open", "base", "base", "mid") - # ast "When Professor Tonks asked me to let her tutor me I didn't think it was going to be so...{w=0.5} hands on..." ("annoyed", "narrow", "angry", "R") + # ast "When Professor Tonks asked me to let her tutor me, I didn't think it was going to be so...{w=0.5} hands on..." ("annoyed", "narrow", "angry", "R") # # elif ag_st_imperio.counter == 3: # ast "This spell training thing is so easy, Tonks doesn't seem to be able to resist me at all." ("smile", "narrow", "base", "R") @@ -32,86 +32,70 @@ label astoria_chitchat: # Note: Astoria does not have Tiers yet. - # if ast_tier == 1: - # # $ random_number = renpy.random.randint(MIN, MAX) + random: + block: + ast "Why do we have to do potions with the Gryffindors?" ("base", "narrow", "worried", "R") + ast "They have no talent whatsoever, they might as well be Hufflepuffs." ("annoyed", "narrow", "base", "mid") + ast "You can clearly tell none of them has brewed a Draught of Living Death before." ("annoyed", "base", "base", "mid") - # pass - # elif ast_tier == 2: - # # $ random_number = renpy.random.randint(MIN, MAX) + block: + ast "Why do we even have muggle studies at Hogwarts?" ("open", "narrow", "angry", "L") + ast "One of my classmates was forced to take it by her parents, and she's one of the few Slytherins in our year taking it." ("annoyed", "base", "base", "L") + ast "It's one of the few classes my parents aren't making me take." ("open", "closed", "base", "mid") - # pass - # elif ast_tier == 3: - # # $ random_number = renpy.random.randint(MIN, MAX) + block: + ast "Divination is one of the worst subjects at this school." ("open", "narrow", "base", "mid") + ast "We literally sat the entire lesson yesterday staring a tea leaves." ("base", "base", "angry", "R") + ast "Although that wasn't the worst bit. It was that I had to drink the tea without any sugar whatsoever." ("clench", "base", "base", "mid") - # pass - # elif ast_tier == 4: - # $ random_number = renpy.random.randint(1, 11) + block: + ast "Why can't we learn something more useful, like how to make stink pellets or Dung bombs?" ("upset", "narrow", "base", "R") + ast "When am I ever going to use something as stupid as a Hiccoughing Potion!?" ("annoyed", "base", "base", "mid") + ast "*Hick*...{w=0.8}...{w=0.8} *Hick!*{w=0.6} Damnit..." ("open", "narrow", "worried", "down") - $ random_number = renpy.random.randint(1, 15) + block: + ast "I found the perfect use for the Wingardium leviosa charm today..." ("smile", "base", "base", "mid") + ast "Granger was being especially annoying, prancing around one of the corridors, so I used it to lift her skirt up!" ("open", "base", "angry", "down") + ast @ cheeks blush "But she didn't even see that I did it! She just punched that Weasley boy on the arm." ("angry", "narrow", "base", "down") + ast "Snap-- {i}Professor{/i} Snape saw it, though. I thought I was in trouble for a moment, but he just corrected me on my pronunciation." ("grin", "narrow", "base", "mid") - if random_number == 1: - ast "Why do we have to do potions with the Gryffindors?" ("base", "narrow", "worried", "R") - ast "They have no talent whatsoever, they might as well be Hufflepuffs." ("annoyed", "narrow", "base", "mid") - ast "You can clearly tell none of them has brewed a Draught of Living Death before." ("annoyed", "base", "base", "mid") + block: + ast "I've still not been able to cast spells properly without saying the words." ("open", "base", "base", "mid") + ast "Some bullshit about focus..." ("base", "base", "angry", "mid") - elif random_number == 2: - ast "Why do we even have muggle studies at Hogwarts?" ("open", "narrow", "angry", "L") - ast "One of my classmates was forced to take it by her parents, and she's one of the few Slytherins in our year taking it." ("annoyed", "base", "base", "L") - ast "It's one of the few classes my parents aren't making me take." ("open", "closed", "base", "mid") + block: + ast "When are we going to learn the Serpensortia spell?" ("open", "base", "worried", "mid") + ast "I already asked Professor McGonagall, but she didn't want to teach it to us for some reason..." ("annoyed", "base", "angry", "mid") - elif random_number == 3: - ast "Divination is one of the worst subjects at this school." ("open", "narrow", "base", "mid") - ast "We literally sat the entire lesson yesterday staring a tea leaves." ("base", "base", "angry", "R") - ast "Although that wasn't the worst bit. It was that I had to drink the tea without any sugar whatsoever." ("clench", "base", "base", "mid") + block: + ast "I used a switching spell to swap one of the clothes of a female Hufflepuff student with one of the Gryffindor boy's." ("smile", "base", "angry", "mid") + ast "You should've seen the confusion and horror on their faces..." ("grin", "narrow", "base", "L") - elif random_number == 4: - ast "Why can't we learn something more useful, like how to make stink pellets or Dung bombs?" ("upset", "narrow", "base", "R") - ast "When am I ever going to use something as stupid as a Hiccoughing Potion!?" ("annoyed", "base", "base", "mid") - ast "*Hick*...{w=0.8}...{w=0.8} *Hick!*{w=0.6} Damnit..." ("open", "narrow", "worried", "down") + block: + ast "I just came back with a great haul from the last Hogsmeade trip." ("smile", "narrow", "base", "mid") + ast "My best purchase was probably the nose biting tea-cup I bought at Zonko's." ("smile", "base", "base", "mid") - elif random_number == 5: - ast "I found the perfect use for the Wingardium leviosa charm today..." ("smile", "base", "base", "mid") - ast "Granger was being especially annoying, prancing around one of the corridors, so I used it to lift her skirt up!" ("open", "base", "angry", "down") - ast "But she didn't even see that I did it! she just punched that Weasley boy on the arm." ("angry", "narrow", "base", "down", cheeks="blush") - ast "Snap-- {i}Professor{/i} Snape saw it though. I thought I was in trouble for a moment, but he just corrected me on my pronunciation." ("grin", "narrow", "base", "mid") + block: + ast "Could you give me access to the restricted section of the library?" ("open", "base", "base", "mid") + ast "Miss Pince says I need a note from a teacher to have her fetch a book and that I'm not allowed to actually go in there..." ("annoyed", "base", "base", "mid") - elif random_number == 6: - ast "I've still not been able to cast spells properly without saying the words." ("open", "base", "base", "mid") - ast "Some bullshit about focus..." ("base", "base", "angry", "mid") + block: + ast "Rules are meant to be broken. We break the laws of physics all the time so how come most teachers are so strict?" ("annoyed", "base", "angry", "mid") - elif random_number == 7: - ast "When are we going to learn the Serpensortia spell?" ("open", "base", "worried", "mid") - ast "I already asked Professor McGonagall, but she didn't want to teach it to us for some reason..." ("annoyed", "narrow", "angry", "mid") + block: + ast "I was bored during class and doodled a bit on one of the books I brought from the library, and it started smacking me on the head." ("upset", "narrow", "angry", "mid") + ast "Why is Miss Pince allowed to jinx books when I get in trouble for making somebody's quill turn into a worm when touched?" ("base", "base", "base", "mid") - elif random_number == 8: - ast "I used a switching spell to swap one of the female Hufflepuff student clothes with one of the Gryffindor boys." ("smile", "base", "angry", "mid") - ast "You should've seen the confusion and horror on their faces..." ("grin", "narrow", "base", "L") + block: + ast "Flying is probably one of my favourite subjects..." ("open", "base", "base", "mid") + ast "But some of the fun was taken out of it once the other students stopped smashing into things." ("annoyed", "base", "base", "R") - elif random_number == 9: - ast "I just came back with a great haul from the last Hogsmeade trip." ("smile", "narrow", "base", "mid") - ast "My best purchase was probably the nose biting tea-cup I bought at Zonko's." ("smile", "base", "base", "mid") + block: + ast "History of magic is so dull. Who wants to sit in front of a literal ghost and listen to boring facts for hours on end?" ("clench", "closed", "base", "mid") + ast "I can't wait to drop the subject once I finish my {i}O.W.L.{/i}s." ("base", "narrow", "base", "down") - elif random_number == 10: - ast "Could you give me access to the restricted section of the library?" ("open", "base", "base", "mid") - ast "Miss Pince says I need a note from a teacher to have her fetch a book and that I'm not allowed to actually go in there..." ("annoyed", "base", "base", "mid") - - elif random_number == 11: - ast "Rules are meant to be broken. We break the laws of physics all the time so how come most teachers are so strict?" ("annoyed", "base", "angry", "mid") - - elif random_number == 12: - ast "I was bored during class and doodled a bit on one of the books I brought from the library and it started smacking me on the head." ("upset", "narrow", "angry", "mid") - ast "Why is Miss Pince allowed to jinx books when I get in trouble for making somebody's quill turn into a worm when touched?" ("base", "base", "base", "mid") - - elif random_number == 13: - ast "Flying is probably one of my favourite subjects..." ("open", "base", "base", "mid") - ast "But some of the fun was taken out of it once the other students stopped smashing into things." ("annoyed", "base", "base", "R") - - elif random_number == 14: - ast "History of magic is so dull. Who wants to sit in front of a literal ghost and listen to boring facts for hours on end?" ("clench", "closed", "base", "mid") - ast "I can't wait to drop the subject once I finish my {i}O.W.L.{/i}s." ("base", "narrow", "base", "down") - - elif random_number == 15: - ast "Professor Snape always seem to look at me whenever something goes wrong during his class... as if it's always going to be me who did it." ("annoyed", "narrow", "angry", "R") - ast "I mean, I might have but you can't prove anything..." ("upset", "narrow", "base", "down") + block: + ast "Professor Snape always seems to look at me whenever something goes wrong during his class... As if it's always going to be me who did it." ("annoyed", "narrow", "angry", "R") + ast "I mean, I might have, but you can't prove anything..." ("upset", "narrow", "base", "down") return diff --git a/game/scripts/characters/astoria/common.rpy b/game/scripts/characters/astoria/common.rpy index cc3592de..7165e474 100644 --- a/game/scripts/characters/astoria/common.rpy +++ b/game/scripts/characters/astoria/common.rpy @@ -1,54 +1,9 @@ -define ast_face = { - "mouth": { - "neutral": ["annoyed", "base"], - "happy": ["smile", "grin"], - "naughty": ["grin", "horny"], - "horny": ["grin", "horny"], - "annoyed": ["annoyed"], - "disgusted": ["clench", "annoyed"], - "angry": ["clench","angry"] - }, - - "eyes": { - "neutral": ["base"], - "happy": ["base"], - "naughty": ["narrow", "base"], - "horny": ["narrow", "base"], - "annoyed": ["narrow"], - "disgusted": ["narrow"], - "angry": ["narrow", "base"] - }, - - "eyebrows": { - "neutral": ["base"], - "happy": ["base"], - "naughty": ["base"], - "horny": ["base"], - "annoyed": ["worried"], - "disgusted": ["base", "angry"], - "angry": ["angry"] - }, - - "pupils": { - "neutral": ["mid","L","R"], - "happy": ["mid","L","R"], - "naughty": ["mid","L","R","down"], - "horny": ["mid","L","R","down"], - "annoyed": ["mid","R"], - "disgusted": ["down"], - "angry": ["L"] - } -} label update_astoria: - $ random_number = renpy.random.randint(0, 5) - if random_number in [1,5]: - $ ast_susan_name = renpy.random.choice([_("Suzy"), _("Cow"), _("Cow Tits"), _("Milk Bag"), _("Slut"), _("Whore"), _("Piggy"), _("Pig"), _("Bessie"), _("Moo Moo")]) - if random_number in [2,5]: - $ ast_tonks_name = renpy.random.choice([_("Hag"), _("Old Hag"), _("Punk"), _("Dyke"), _("Lesbo")]) - if random_number in [3,5]: - $ ton_astoria_name = renpy.random.choice([_("Cutie"), _("Kitty"), _("Princess"), _("Cupcake"), _("Honey")]) + $ name_susan_astoria = renpy.random.choice(["Suzy","Cow","Cow Tits","Milk Bag","Slut","Whore","Piggy","Pig","Bessie","Moo Moo"]) + $ name_tonks_astoria = renpy.random.choice(["Hag","Old Hag","Punk","Dyke","Lesbo"]) + $ name_astoria_tonks = renpy.random.choice(["Cutie","Kitty","Princess","Cupcake","Honey"]) # Chibi Update $ astoria_chibi.update() @@ -66,37 +21,56 @@ label end_astoria_event: call update_astoria - $ active_girl = None - $ astoria_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.ast.busy = True $ astoria.wear("all") + $ astoria.set_cum(None) + $ astoria.set_face(tears=False, cheeks=False) call music_block jump main_room_menu -define character.astoria_say = Character("astoria_name", show_icon="astoria", dynamic=True) +define character.astoria_say = Character("name_astoria_genie", show_icon="astoria", dynamic=True) init python: - def ast(what, mouth=False, eyes=False, eyebrows=False, pupils=False, cheeks=None, tears=None, - emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def ast(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None, + emote=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def show(): + astoria.show(force=True) + + if not renpy.in_rollback(): + renpy.with_statement(trans or d2) + + face = {"mouth": mouth, "eyes": eyes, "eyebrows": eyebrows, "pupils": pupils, "cheeks": cheeks, "tears": tears} + temp_face = renpy.game.context().temporary_attributes redraw = False tag = astoria.tag layer = astoria.layer - #showing = renpy.showing(name=tag, layer=layer) - if xpos != None or ypos != None: - xpos = astoria.pos[0] if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = astoria.pos[1] if ypos == None else sprite_pos.get("y").get(ypos, ypos) + if xpos is not None or ypos is not None: + xpos = astoria.pos[0] if xpos is None else sprite_pos.get("x").get(xpos, xpos) + ypos = astoria.pos[1] if ypos is None else sprite_pos.get("y").get(ypos, ypos) astoria.pos = (xpos, ypos) redraw = True head_only = astoria.pos[1] == sprite_pos.get("y").get("head") - if any((mouth, eyes, eyebrows, pupils, cheeks, tears)): - astoria.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears) + if any(face.values()): + astoria.set_face(**face) redraw = True - astoria.set_emote(emote) + if temp_face: + last_face = astoria.get_face() + + d = dict(zip(temp_face[::2], temp_face[1::2])) + astoria.set_face(**d) + redraw = True + + if emote: + astoria.set_emote(emote) + redraw = True if animation != False: astoria.animation = animation @@ -107,16 +81,13 @@ init python: redraw = True if redraw: - astoria.show() - - if not renpy.in_rollback(): - if trans: - renpy.with_statement(trans) - else: - renpy.with_statement(d2) + show() if what: character.astoria_say(what, **kwargs) + if temp_face: + astoria.set_face(**last_face) + if head_only: astoria.hide() diff --git a/game/scripts/characters/astoria/events/clothing.rpy b/game/scripts/characters/astoria/events/clothing.rpy index 2ff936b9..41eb293f 100644 --- a/game/scripts/characters/astoria/events/clothing.rpy +++ b/game/scripts/characters/astoria/events/clothing.rpy @@ -9,38 +9,38 @@ label astoria_summon_setup: $ astoria.set_cum(None) $ astoria.animation = None - if astoria_outfits_schedule: + if states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() - call play_sound("door") + play sound "sounds/door.ogg" call ast_chibi("stand","mid","base") with d3 #Astoria greeting. - call play_music("astoria") + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed - if ast_mood > 0: - if 5 > ast_mood >= 1: - ast "[ast_genie_name]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 10 > ast_mood >= 5: + if states.ast.mood > 0: + if 5 > states.ast.mood >= 1: + ast "[name_genie_astoria]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + elif 10 > states.ast.mood >= 5: ast "What now?" ("annoyed", "base", "worried", "mid", xpos="base", ypos="base", trans=d3) - elif 20 > ast_mood >= 10: - ast "What is it, [ast_genie_name]?" ("annoyed", "base", "angry", "R", xpos="base", ypos="base", trans=d3) - elif 30 > ast_mood >= 20: - ast "What do you want, [ast_genie_name]?" ("angry", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif 40 > ast_mood >= 30: + elif 20 > states.ast.mood >= 10: + ast "What is it, [name_genie_astoria]?" ("annoyed", "base", "angry", "R", xpos="base", ypos="base", trans=d3) + elif 30 > states.ast.mood >= 20: + ast "What do you want, [name_genie_astoria]?" ("angry", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) + elif 40 > states.ast.mood >= 30: ast "*Hmph*..." ("annoyed", "narrow", "worried", "L", xpos="base", ypos="base", trans=d3) - elif 50 > ast_mood >= 40: + elif 50 > states.ast.mood >= 40: ast "*Tsk*" ("angry", "narrow", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif ast_mood >= 50: + elif states.ast.mood >= 50: ast "What?!" ("scream", "narrow", "angry", "mid", xpos="base", ypos="base", trans=d3) ast "" ("angry", "narrow", "angry", "mid") - call describe_mood(_("Astoria"), ast_mood) + call describe_mood("Astoria", states.ast.mood) call tutorial("moodngifts") else: if game.daytime: - ast "Mornin', [ast_genie_name]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + ast "Mornin', [name_genie_astoria]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) else: - ast "Evenin', [ast_genie_name]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + ast "Evenin', [name_genie_astoria]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) return diff --git a/game/scripts/characters/astoria/events/imperio_practice.rpy b/game/scripts/characters/astoria/events/imperio_practice.rpy deleted file mode 100644 index 7ee0862e..00000000 --- a/game/scripts/characters/astoria/events/imperio_practice.rpy +++ /dev/null @@ -1,1032 +0,0 @@ - - -### Susan Imperio Events ### - -label ag_se_imperio_sb: # Move label - - hide astoria_main - with d3 - - menu: - gen "{size=-4}(Should I ask her to cast Imperio on Miss Bones?){/size}" ("base", xpos="far_left", ypos="head") - - "\"(Yes, let's do it!)\"": - pass - "\"(Not right now.)\"": - jump astoria_spells - # Setup - $ sus_outfit_last.save() # Store current outfit. - $ ast_outfit_last.save() # Store current outfit. - - $ susan.equip(sus_outfit_default) - $ astoria.equip(ast_outfit_default) - - $ astoria_chibi.zorder = 4 # In front of Susan. - - call ast_chibi("stand",530,"base") #Align with spell casting chibi - - $ ag_se_imperio_sb.start() - -label end_ag_se_imperio_sb: - - # Reset - $ astoria_chibi.zorder = 3 # Default - - $ susan.equip(sus_outfit_last) # Equip player outfit. - $ astoria.equip(ast_outfit_last) # Equip player outfit. - - $ astoria_busy = True - $ susan_busy = True - - call music_block - jump main_room_menu - - - -label ag_se_imperio_sb_E1: - - gen "I think it's time for you to try that spell on another person." ("base", xpos="far_left", ypos="head") - ast "Another person?" ("open", "narrow", "base", "mid", xpos="base", ypos="base", trans=dissolve) - ast "But I thought professor Tonks--" ("annoyed", "narrow", "worried", "mid") - gen "I've already spoken to your teacher and we both think it'd be best if I took over the lessons for now." ("base", xpos="far_left", ypos="head") - ast "Really?" ("open", "narrow", "worried", "mid") - gen "*Err*...{w=0.4} Yes." ("base", xpos="far_left", ypos="head") - ast "*Hmm*... Well you're the headmaster so whatever you say..." ("base", "narrow", "base", "mid") - gen "Good!" ("grin", xpos="far_left", ypos="head") - gen "Then Let's have you try it on that Susan girl again..." ("base", xpos="far_left", ypos="head") - ast "You want me to... What?!" ("open", "base", "base", "mid") - ast "But I thought--" ("angry", "narrow", "worried", "mid") - gen "Don't tell me you wouldn't have given in to the temptation anyway." ("base", xpos="far_left", ypos="head") - ast "...{w} I mean..." ("annoyed", "narrow", "base", "down") - gen "You got lucky last time, if you were to be caught again then I don't think even I would be able to save you..." ("base", xpos="far_left", ypos="head") - gen "This way, you'll get that anger of yours out of your system and we can both move on with our lives." ("base", xpos="far_left", ypos="head") - ast "No thanks!" ("base", "closed", "angry", "mid") - gen "What? How could you say no to this?" ("angry", xpos="far_left", ypos="head") - ast "If I can't use it to embarrass her in front of the other students then what's the point?" ("angry", "narrow", "base", "mid") - gen "You don't think she'd be more embarrassed if you got her to do something in front of her headmaster?" ("base", xpos="far_left", ypos="head") - ast "I suppose..." ("annoyed", "narrow", "worried", "R") - ast "But don't you think she'll figure out you're in on it? Surely she'd just report--" ("angry", "narrow", "worried", "mid") - gen "We'll just wipe her memory." ("base", xpos="far_left", ypos="head") - gen "That should let you cast it on her as many times as you like..." ("base", xpos="far_left", ypos="head") - ast "You can do that?" ("open", "narrow", "base", "mid") - gen "Apparent--{w=0.4} Yes!" ("base", xpos="far_left", ypos="head") - gen "They haven't taught you that one?" ("base", xpos="far_left", ypos="head") - ast "You're the one in charge here...{w=0.4} It's the first time I've heard of it." ("annoyed", "narrow", "base", "mid") - gen "(Maybe there's a good reason for it...)" ("base", xpos="far_left", ypos="head") - ast "..." ("annoyed", "narrow", "base", "down") - gen "So, what do you say?" ("grin", xpos="far_left", ypos="head") - ast "..." ("annoyed", "closed", "base", "mid") - ast "...{fast} Heck yes!" ("smile", "narrow", "base", "mid") - gen "Great! Then let me just bring her up here..." ("grin", xpos="far_left", ypos="head") - - - call play_music("stop") - hide astoria_main - with d3 - pause .8 - - call nar(">You summon Susan to your office.") - - call play_sound("knocking") - call bld - "*knock-knock-knock*" - sus "*Uhm*... Professor Dumbledore, you wanted to see me?" - gen "Yes Miss Bones, and that would require you to come in here..." ("base", xpos="far_left", ypos="head") - sus "Oh... Right..." - - call sus_walk(action="enter") - - - call play_music("astoria") - ast "Hey [ast_susan_name]!" ("grin", "narrow", "base", "L", xpos="right", ypos="base") - sus "Astoria? What are you doing here?" ("angry", "wide", "shocked", "left", xpos="base", ypos="base") - ast "Oh, don't mind me..." ("base", "base", "base", "R") - - gen "Come up here for a moment, Miss Bones..." ("base", xpos="far_left", ypos="head") - sus "Oh... Okay sir." ("soft", "base", "base", "mid") - - call sus_walk("desk") - pause.2 - - gen "Alright, so the reason--" ("base", xpos="far_left", ypos="head") - - call ast_chibi("wand",530,"base") - ast "Is so that I could put a curse on you!" ("grin", "narrow", "angry", "mid", xpos="base", ypos="base") - sus "P-Put a curse on me?!!" ("open", "wide", "shocked", "stare", xpos="right", ypos="base") - - call ast_chibi("wand_casting",530,"base") - sus "No! Professor, do someth--" ("angry", "base", "base", "mid") - - # Astoria casts imperio. - stop music fadeout 2.0 - hide susan_main - ast "IMPERIO!" ("scream", "base", "angry", "mid") - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - sus "W-what{w=0.3} are{w=0.3} y{w=0.1}o{w=0.1}u--" ("soft", "base", "base", "stare") - call nar(">Susan's eyes flicker and a blank expression spreads across her face.") - sus "..." ("soft", "narrow", "base", "stare") - - call ast_chibi("wand",530,"base") - - ast "Finally..." ("grin", "base", "angry", "mid") - ast "So what should we do now?" ("open", "base", "base", "R") - ast "We could do whatever we want [ast_genie_name]!" ("open", "base", "base", "R") - gen "How about we have her take her clothes off?" ("base", xpos="far_left", ypos="head") - ast "All of them?!" ("clench", "base", "worried", "mid") - gen "What? Didn't that work last time?" ("base", xpos="far_left", ypos="head") - gen "Let's find out if she really is a secret exhibitionist!" ("grin", xpos="far_left", ypos="head") - ast "I only made her take her top off." ("open", "base", "base", "mid") - gen "Then there you go!" ("grin", xpos="far_left", ypos="head") - ast "Okay then..." ("smile", "base", "base", "L") - ast "Susan, are you listening?" ("open", "closed", "base", "mid") - sus "Yes..." ("normal", "narrow", "base", "stare") - ast "Good, I want you to pay attention..." ("open", "base", "base", "L") - sus "..." ("soft", "narrow", "base", "stare") - ast "I want you to...{w} to..." ("open", "base", "base", "L") - gen "Tell her to take off her top!" ("base", xpos="far_left", ypos="head") - ast "Very well, [ast_genie_name]..." ("clench", "base", "base", "L") - ast "Susan, I want you to take off your...{w} your...{w} Take your top off!" ("clench", "base", "base", "L") - sus "..." ("soft", "wide", "shocked", "stare", cheeks="blush") - - sus "..." ("soft", "narrow", "low", "stare", cheeks="blush") - - call play_sound("gulp") - gen "*Gulp!*" ("angry", xpos="far_left", ypos="head") - - hide susan_main - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.strip("top") - sus "" ("angry", "narrow", "base", "stare") - pause.5 - - gen "Oh no, Miss Bones!" ("base", xpos="far_left", ypos="head") - gen "What are you doing?!" ("grin", xpos="far_left", ypos="head") - hide screen bld1 - with d3 - pause.8 - - call gen_chibi("jerk_off_behind_desk") - pause.5 - - sus "..." ("angry", "wide", "sad", "stare", cheeks="blush") - ast "Speak, [ast_susan_name]!" ("annoyed", "narrow", "base", "mid") - sus "I-I-I'm sorry, Professor Dumbledore, I don't know what's come over me..." ("open", "wide", "sad", "stare", cheeks="blush") - sus "I'm Sorry you have to see this..." ("angry", "narrow", "sad", "stare", cheeks="blush") - ast "See what Suzy?" ("grin", "narrow", "angry", "mid") - sus "My gross boobs..." ("open", "happy", "worried", "stare", cheeks="blush") - ast "(I knew they were gross!)" ("grin", "base", "angry", "L") - sus "Please Sir--" ("open", "narrow", "worried", "stare", cheeks="blush") - sus "Don't think less of me..." ("soft", "narrow", "worried", "stare", cheeks="blush") - ast "Now take them out!" ("angry", "narrow", "base", "L") - sus "" ("soft", "narrow", "base", "stare", cheeks="blush") - pause .8 - - hide susan_main - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.strip("bra") - sus "" ("soft", "narrow", "low", "stare", cheeks="blush") - - gen "{size=+10}Nice!{/size}" ("angry", xpos="far_left", ypos="head") - ast "Sir!" ("base", "narrow", "angry", "mid") - gen "What? You can't blame me for this!" ("base", xpos="far_left", ypos="head") - ast "We're doing this so I can cast the spell more successfully." ("clench", "narrow", "angry", "mid") - ast "(Please...)" ("annoyed", "narrow", "angry", "R",cheeks="blush") - gen "Don't you think her breasts are pretty?" ("base", xpos="far_left", ypos="head") - ast "{b}No!{/b} they're huge and soft and squishy and, and, and... gross!" ("clench", "closed", "angry", "mid") - gen "Well, you've got two out of three..." ("grin", xpos="far_left", ypos="head") - gen "You're right about them being huge and soft." ("grin", xpos="far_left", ypos="head") - ast "Sir!" ("clench", "narrow", "angry", "mid") - sus "Did I do something wrong?" ("angry", "happy", "worried", "stare", cheeks="blush") - ast "Your ugly tits are all wrong, they belong on a cow!" ("scream", "base", "angry", "L") - sus "Cow!? W-why are you always being so mean to me?" ("angry", "wide", "sad", "stare", cheeks="blush") - ast "*Pfft*... you know..." ("annoyed", "narrow", "angry", "R") - sus "A-{w=0.3}Are you just going to let her say that, s-sir?" ("soft", "happy", "worried", "stare", cheeks="blush") - ast "Shut up cow!" ("angry", "narrow", "angry", "R") - sus "" ("upset", "happy", "sad", "stare", cheeks="blush") - pause .8 - - call nar(">You keep stroking your rock-hard cock whilst marvelling at Susan's heaving chest.") - gen "(So big...{w=0.4} Soft...{w=0.4} And squishy...)" ("angry", xpos="far_left", ypos="head") - sus "..." ("upset", "happy", "sad", "stare", cheeks="blush") - ast "Alright, I think you're enjoying this a little too much!" ("clench", "base", "angry", "mid") - gen "Just give me a minute..." ("base", xpos="far_left", ypos="head") - pause.2 - - call play_music("stop") - call hide_characters - call ast_chibi("reset",530,"base") - hide screen bld1 - with fade - pause.8 - - ast "" ("annoyed", "base", "angry", "R") - sus "W--{w=0.2} what..." ("angry", "narrow", "base", "stare") - - call nar(">Susan's eyes flicker once more as the spell lessens its hold.") - - call gen_chibi("sit_behind_desk") - with d3 - pause.1 - - call play_music("astoria") - gen "(Damn it! Why did she do that?)" ("angry", xpos="far_left", ypos="head") - sus "..." ("soft", "narrow", "base", "stare") - ast "Put your clothes on, Suzy." ("smile", "base", "base", "mid") - sus "..." ("normal", "narrow", "base", "stare") - - hide susan_main - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.wear("bra", "top") - sus "" ("soft", "narrow", "base", "stare") - pause.5 - - - hide susan_main - sus "" ("soft", "narrow", "base", "stare") - pause.5 - call nar(">Susan dresses herself... Her eyes still looking quite unfocused and seemingly struggling to properly take in her surroundings.") - - gen "*Aww*...{w=0.4} Why would you do that?" ("base", xpos="far_left", ypos="head") - ast "You were getting too excited, old man." ("clench", "base", "angry", "mid") - gen "So what?" ("base", xpos="far_left", ypos="head") - ast "How am I going to get any better if you keep distracting me?" ("annoyed", "narrow", "angry", "R") - gen "Couldn't you have made her dance or something at least..." ("base", xpos="far_left", ypos="head") - ast "We could do that..." ("annoyed", "base", "base", "L") - gen "Then why don't we?" ("base", xpos="far_left", ypos="head") - ast "Because it's boring!" ("annoyed", "narrow", "base", "ahegao") - ast "I want to do something fun!" ("open", "closed", "base", "mid") - gen "*Ugh*... fine..." ("base", xpos="far_left", ypos="head") - ast "But not today..." ("annoyed", "base", "base", "mid") - ast "I should put Bessy here back in her barn before people start to notice." ("grin", "base", "angry", "L") - sus "(*Hmm*...)" ("soft", "narrow", "base", "stare") - gen "Alright..." ("base", xpos="far_left", ypos="head") - ast "Just call me for the next practice session!" ("smile", "narrow", "base", "mid") - gen "Will do." ("base", xpos="far_left", ypos="head") - gen "Oh, please escort Miss Bones to professor Tonks to be obliterated..." ("base", xpos="far_left", ypos="head") - ast "Obliviated?" ("base", "base", "worried", "mid") - gen "Yeah, that!" ("base", xpos="far_left", ypos="head") - ast "Can't you do it?" ("annoyed", "base", "base", "mid") - call nar(">Susan's eyes shift and become a bit more focused as she begins to recognize where she is...") - sus "Wait, where...{w=0.4} am..." ("soft", "narrow", "base", "downL") - gen "My wand casting hand is a bit tired for some reason..." ("base", xpos="far_left", ypos="head") - ast "Fine..." ("annoyed", "base", "worried", "R") - gen "And hurry up will you?" ("base", xpos="far_left", ypos="head") - ast "Yeah, yeah..." ("annoyed", "narrow", "base", "mid") - - call ast_walk("door","base") - pause.2 - call ast_chibi("stand","door","base", flip=False) - with d3 - pause.5 - - ast "Come on Suzy, time to give professor Tonks a visit." ("open", "base", "base", "mid") - sus "Professor...{w=0.4} Tonks?" ("soft", "narrow", "shocked", "downL") - - call sus_walk(680, "base") - call sus_chibi("leave") - - - call hide_characters - call ast_chibi("stand","door","base", flip=True) - pause .3 - call ast_chibi("leave") - hide screen bld1 - with d3 - pause.5 - - call bld - gen "(*Hmm*... Looks like Miss Bones had more of a lingering effect than Tonks...)" ("base", xpos="far_left", ypos="head") - gen "(Maybe leaving Tonks out of this was a bad idea...)" ("base", xpos="far_left", ypos="head") - gen "(Nah...{w=0.3} She's had her fun...)" ("base", xpos="far_left", ypos="head") - - # Increase affection once (this is the first event) - if ag_se_imperio_sb.counter == 1: - $ ast_whoring += 1 - - jump end_ag_se_imperio_sb - - -label ag_se_imperio_sb_E2: - - ast "Let's try something else this time!" ("grin", "narrow", "base", "mid", xpos="close", ypos="base", trans=fade) - gen "Of course!" ("grin", xpos="far_left", ypos="head") - ast "Great, I can't wait to see the look on Susan's dumb face..." ("grin", "closed", "base", "mid") - gen "Let me just bring her up here." ("base", xpos="far_left", ypos="head") - - call play_music("stop") - gen "..." ("base", xpos="far_left", ypos="head") - ast "..." ("annoyed", "base", "base", "R") - - call hide_characters - hide screen bld1 - with d3 - call sus_walk(action="enter") - pause.2 - - sus "You wanted to see me, sir?" ("soft", "base", "base", "mid", xpos="base", ypos="base") - sus "Astoria? Why are you here?" ("angry", "wide", "base", "left") - - call play_music("astoria") - ast "Oh... no reason..." ("annoyed", "base", "base", "down", xpos="right", ypos="base") - gen "Come up here for a moment Miss Bones..." ("base", xpos="far_left", ypos="head") - sus "Okay..." ("open", "base", "base", "mid") - - call hide_characters - with d3 - - call sus_walk("desk") - pause.2 - - sus "Is there something wrong, Professor?" ("open", "happy", "base", "left", xpos="right", ypos="base") - gen "As a matter of fact there is..." ("base", xpos="far_left", ypos="head") - sus "R-really? Is this about me returning my books to the library a day late?" ("angry", "happy", "base", "mid") - sus "I swear it won't happen again!" ("angry", "happy", "worried", "mid") - gen "What? No, I'm afraid there's an issue with your uniform..." ("base", xpos="far_left", ypos="head") - sus "Oh... Is it because I'm not wearing the school robe?" ("soft", "happy", "base", "mid") - sus "I can wear it from now on if you like!" ("soft", "wide", "sad", "mid") - gen "Actually, Wearing too many clothes is the problem." ("base", xpos="far_left", ypos="head") - sus "W-w-what???" ("angry", "wide", "base", "mid") - sus "You can't be serious sir!" ("clench", "wide", "base", "mid") - gen "I am, Miss Bones..." ("base", xpos="far_left", ypos="head") - gen "Hiding away those glorious milk duds of yours is a serious offence!" ("grin", xpos="far_left", ypos="head") - ast "(*Pffft*, gloriously gross...)" ("annoyed", "base", "angry", "R", xpos="base", ypos="base") - sus "P-professor Dumbledore! Why would you want me to do s-something like that!" ("angry", "wide", "sad", "stare", cheeks="blush", trans=hpunch) #Perhaps she should be a bit intrigued =Blush - - call ast_chibi("wand",530,"base") - sus "I think I better go..." ("disgust", "base", "sad", "right", cheeks="blush") - call ast_chibi("wand_casting",530,"base") - ast "" ("grin", "base", "angry", "L") - pause.5 - - # Astoria casts imperio. - stop music fadeout 2.0 - hide susan_main - ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - sus "..." ("soft", "happy", "shocked", "stare") - ast "*ha-ha-ha-ha!*" ("grin", "closed", "base", "mid") - ast "Her face was priceless when you said milk duds..." ("grin", "base", "base", "L") - gen "You liked that?" ("base", xpos="far_left", ypos="head") - ast "Of course! Anything to bring Bessy here down a peg." ("smile", "base", "base", "L") - - call ast_chibi("wand",530,"base") - ast "So what should we make her do today, [ast_genie_name]?" ("smile", "base", "base", "mid") - gen "Something fun, perhaps?" ("base", xpos="far_left", ypos="head") - ast "*Hmm*..." ("annoyed", "narrow", "base", "R") - gen "Maybe something a little more... adventurous?" ("base", xpos="far_left", ypos="head") - ast "You mean like making her show you her milk duds?" ("upset", "narrow", "base", "mid") - gen "Well if you insist..." ("base", xpos="far_left", ypos="head") - ast "*ugh*... you're such a filthy pervert!" ("clench", "narrow", "angry", "mid") - gen "We can do something else if you--" ("base", xpos="far_left", ypos="head") - ast "I didn't say no..." ("upset", "closed", "base", "mid") - gen "Oh... well how about you make it so--" ("base", xpos="far_left", ypos="head") - ast "I get to choose, [ast_genie_name]!" ("scream", "closed", "angry", "mid") - gen "What? Why?" ("base", xpos="far_left", ypos="head") - ast "Because it's my spell and my wand!" ("open", "narrow", "angry", "mid") - ast "Not to mention you'd probably do something over the top and gross..." ("open", "narrow", "angry", "R") - gen "Probably..." ("base", xpos="far_left", ypos="head") - gen "So what's your plan?" ("base", xpos="far_left", ypos="head") - ast "Just wait and see old man!" ("clench", "narrow", "angry", "mid") - ast "Susan, can you hear me?" ("open", "closed", "base", "L") - sus "Yes..." ("open", "happy", "base", "stare") - ast "You now have an uncontrollable urge to take your top off, okay?" ("open", "closed", "base", "mid") - sus "Okay..." ("soft", "happy", "base", "stare") - ast "Awesome! Now act like you normally would, [ast_susan_name]!" ("grin", "base", "angry", "L") - sus "..." ("normal", "base", "base", "stare") - - call nar(">The blank expression slowly fades from Susan's eyes...") - sus "ugh..." ("angry", "narrow", "low", "down") - sus "What happened?" ("angry", "narrow", "base", "mid") - ast "Nothing Suzy, Dumbledore was just explaining how your uniform wasn't up to scratch." ("grin", "base", "base", "mid") - sus "My uniform... You're right... Too many clothes..." ("disgust", "happy", "sad", "downL") - sus "I need to take off my top..." ("soft", "narrow", "low", "down") - ast "*Mhmm*, that's right, Suzy... Why don't you show the old man here your gross boobs... Don't you think he's old?" ("grin", "base", "angry", "mid") - sus "I... I suppose..." ("open", "happy", "low", "downL") - ast "That's right... Only a nasty slut would show her boobs to such a wrinkly old man..." ("grin", "narrow", "angry", "L") - gen "Hey!" ("base", xpos="far_left", ypos="head") - ast "Quiet sir... don't ruin my fun!" ("clench", "narrow", "angry", "mid") - gen "Fine..." ("base", xpos="far_left", ypos="head") - sus "I-I'm not a slut..." ("angry", "happyCl", "base", "down") - ast "Well I'm sure you'll be able to keep your top on then, [ast_susan_name]." ("open", "closed", "base", "mid") - sus "I... There's something wrong sir!" ("angry", "happyCl", "low", "mid", cheeks="blush") - sus "I can't help it..." ("angry", "happy", "worried", "down", cheeks="blush") - ast "" ("grin", "base", "angry", "L") - pause.2 - - hide susan_main - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.strip("top", "bra") - sus "" ("angry", "wide", "shocked", "down", cheeks="blush") - call ctc - - gen "Nice!" ("angry", xpos="far_left", ypos="head") - hide screen bld1 - with d3 - pause.1 - call gen_chibi("jerk_off_behind_desk") - pause.8 - - ast "[ast_genie_name]! Are you touching yourself?" ("scream", "base", "base", "mid") - gen "*Ugh*... can you blame me?" ("base", xpos="far_left", ypos="head") - gen "It's not every day you get to see a rack like this..." ("angry", xpos="far_left", ypos="head") - ast "Well stop it! It's gross!" ("clench", "narrow", "angry", "mid") - gen "Alri--" ("base", xpos="far_left", ypos="head") - sus "Please sir... it's too much!" ("angry", "happy", "worried", "downR", cheeks="blush") - sus "It's bad enough that I can't help showing you my breasts..." ("disgust", "happyCl", "worried", "mid", cheeks="blush") - ast "Wait..." ("smile", "base", "base", "mid") - ast "Keep going, sir!" ("clench", "narrow", "angry", "mid") - gen "What?" ("base", xpos="far_left", ypos="head") - sus "What?" ("angry", "wide", "sad", "right", cheeks="blush") - ast "Well if Bessy here hates it... Then I love it!" ("clench", "narrow", "angry", "L") - ast "Besides, it's not like I can see anything under the desk." ("open", "closed", "base", "mid") - sus "(...)" ("annoyed", "happy", "sad", "right", cheeks="blush") - gen "So you're okay with this?" ("base", xpos="far_left", ypos="head") - ast "*Mhmm*... just don't expect me to touch it old man!" ("upset", "narrow", "angry", "mid") - sus "W-why is this happening!" ("angry", "closed", "worried", "mid", cheeks="blush") - ast "No one asked you, slut!" ("clench", "narrow", "angry", "L") - sus "I am not a slut!" ("angry", "happy", "low", "stare", cheeks="blush") - ast "Ha! You're standing here, letting old man dumbledore ogle your fat tits while he jerks his wrinkly old cock!" ("open", "closed", "base", "mid") - ast "If that's not a slut then I don't know what is!" ("clench", "narrow", "angry", "L") - gen "(There's no way Tonks would allow this, perhaps this was a good idea after all...)" ("base", xpos="far_left", ypos="head") - sus "I-- don't know why I'm doing this..." ("angry", "narrow", "base", "down", cheeks="blush") - sus "You probably cursed me!" ("angry", "base", "sad", "downR", cheeks="blush") - ast "Duh!" ("grin", "narrow", "angry", "L") - sus "Well stop it!" ("angry", "narrow", "base", "right", cheeks="blush") - ast "*Nuh-uh*!" ("open", "closed", "base", "mid") - sus "Please Astoria..." ("angry", "narrow", "shocked", "right", cheeks="blush") - - call nar(">You start to zone out as the two girls argue, focusing on Susan's heaving bosom.") - gen "Yeah... that's it..." ("angry", xpos="far_left", ypos="head") - ast "You can leave once Dumbledore here's done." ("open", "closed", "base", "mid") - sus "What? you mean I have to wait until he..." ("angry", "wide", "worried", "mid", cheeks="blush") - sus "This is unbelievable!" ("angry", "wide", "sad", "mid", cheeks="blush") - sus "I'm going to report both of you to the ministry of magic!" ("upset", "happyCl", "annoyed", "mid", cheeks="blush") - sus "My aunt is the head of the department of magical law enforcement I'll have you know!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") - ast "yeah... I've met your creepy old aunt." ("annoyed", "narrow", "base", "L") - sus "What? Did you curse her too, you evil little witch?" ("open", "base", "angry", "right", cheeks="blush") - ast "I wish..." ("base", "narrow", "base", "R") - sus "Well she's going to lock both of you away in Azkaban!" ("annoyed", "closed", "angry", "mid", cheeks="blush") - sus "You'll never see me or anyone else again..." ("base", "closed", "annoyed", "mid", cheeks="blush") - ast "Yeah, sure!" ("grin", "base", "angry", "L") - sus "*Ugh*! You're both sick!" ("disgust", "narrow", "annoyed", "stare", cheeks="blush") - ast "Says the slut baring her chest for the headmaster." ("smile", "base", "base", "L") - gen "*Mmmm*... Keep shaking those tits of yours..." ("angry", xpos="far_left", ypos="head") - sus "I am not a {size=+10}slut!{/size}" ("angry", "base", "angry", "stare", cheeks="blush") - call nar(">As Susan yells at the top of her voice, the effort causes her gigantic tits to rise and slap back together.") - - gen "{size=+10}HERE IT COMES!{/size}" ("angry", xpos="far_left", ypos="head") - sus "" ("clench", "wide", "shocked", "stare", cheeks="blush") - hide screen bld1 - with d3 - pause.1 - call gen_chibi("cum_behind_desk") - call cum_block - gen "{size=+10}AHHH... YESS!!!!{/size}" ("angry", xpos="far_left", ypos="head") - call gen_chibi("cum_behind_desk_done") - pause.5 - ast "Woah... I didn't think you'd have that much in you, sir..." ("clench", "base", "base", "mid") - - sus "{size=+10}*Hmph*! I hope you Enjoy Azkaban, perverts!{/size}" ("angry", "base", "angry", "mid", cheeks="blush") - - ast "" ("annoyed", "narrow", "base", "R") - - call nar(">As you finish shooting your massive load Susan's leg twitches slightly...") - - ast "Can't have that can we... Let's delve deeper." ("grin", "narrow", "angry", "L") - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - sus "" ("soft", "happy", "shocked", "stare") - gen "W-what?" ("base", xpos="far_left", ypos="head") - call nar(">You watch as a colourfull mist spreads from the tip of Astoria's wand and seeps into Susan's Nostrills...") - ast "Suzy, you can still hear me right?" ("open", "base", "base", "L") - sus "Yes..." ("open", "happy", "base", "stare") - - call ast_chibi("wand",530,"base") - ast "She's just so easy to put under the spell..." ("base", "narrow", "worried") - ast "Nothing like Tonks, there's something wrong here..." (eyes="base", pupils="R") - gen "W-what do you mean?" ("base", xpos="far_left", ypos="head") - ast "Quiet!" ("clench", "base", "base", "mid") - gen "..." ("angry", xpos="far_left", ypos="head") - ast "Suzy, I want you to speak the truth and nothing but the truth, okay?" ("open", "base", "base", "L") - sus "Okay..." ("soft", "narrow", "base", "stare") - gen "What are you--" ("base", xpos="far_left", ypos="head") - ast "..." ("upset", "base", "base", "mid") # Stares at you - gen "..." ("angry", xpos="far_left", ypos="head") - ast "Suzy, do you like baring your chest to the headmaster?" ("open", "base", "base", "L") - ast "Just like all those other closeted sluts?" ("clench", "narrow") - gen "(Oh shit...)" ("base", xpos="far_left", ypos="head") - sus "I... I..." ("angry", "narrow", "base", "stare", cheeks="blush") - ast "Tell me!" ("scream") - ast "" ("clench") - sus "I...{w=0.8} I do!" ("smile", "wink", "worried", "stare", cheeks="blush") - ast "I knew it!" ("scream", "narrow", "angry") # Angry - sus "" ("base", "narrow", "worried", "stare", cheeks="blush") - ast "Where's the fun if she's enjoying it!" ("clench", pupils="mid") - gen "*Errr-*" ("base", xpos="far_left", ypos="head") - ast "I want to humiliate this cow, but she's just another slut!" ("scream") - gen "A closeted slut..." ("base", xpos="far_left", ypos="head") - ast "Excuse me?" (mouth="open", eyebrows="worried") - ast "" (mouth="upset") - gen "Miss Greengrass... is there any other Hufflepuff students you know of selling favours?" ("base", xpos="far_left", ypos="head") - ast "Why would I know or care what Hufflepuffs are doing?" (mouth="clench") - gen "Just because she enjoys it doesn't mean it's not humiliating for her..." ("base", xpos="far_left", ypos="head") - gen "What would the other Hufflepuffs think of her if she knew what you have her do?" ("base", xpos="far_left", ypos="head") - ast "What do you mean?" ("upset", "base", "base") - gen "Ask her the right questions..." ("base", xpos="far_left", ypos="head") - ast "..." (eyes="closed") - ast "Suzy!" ("open", "narrow", "base", "L") - ast "" ("base") - sus "..." ("normal", "narrow", "raised", "stare", cheeks="blush") - ast "Are you ashamed of what you've done?" ("open", "base") - ast "" ("base") - sus "...{w=0.4} Yes." ("soft", "narrow", "worried", "stare", cheeks="blush") - ast "Would your house think less of you if they knew what you're doing here?" ("grin") - sus "They would..." ("open", "narrow", "worried", "stare", cheeks="blush") - gen "Well, there you go!" ("base", xpos="far_left", ypos="head") - ast "*ha-ha-ha!*" ("smile") - gen "(Nailed it...)" ("base", xpos="far_left", ypos="head") - gen "So, are we continuing with the training?" ("base", xpos="far_left", ypos="head") - ast "Of course we are!" ("smile", "base", "base", "L") - gen "Great!" ("base", xpos="far_left", ypos="head") - - - ast "Suzy, put your clothes back on." ("grin", "base", "base", "L") - - sus "" ("normal", "narrow", "sad", "down") - pause.5 - call nar(">Susan begins dressing herself in silence...") - - hide susan_main - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.wear("top", "bra") - pause 1 - - call play_music("stop") - call hide_characters - call ast_chibi("reset",530,"base") - pause .5 - call ast_walk("door","base") - pause.2 - call ast_chibi("stand","door","base", flip=False) - with d3 - pause.5 - - call play_music("astoria") - ast "Come on Suzy, time to give professor Tonks another visit." ("open", "base", "base", "L") - sus "*Hmm*... Another visit..." ("soft", "narrow", "sad", "downL") - - call sus_walk(action="leave") - - if game.daytime: - ast "See you, [ast_genie_name]!" ("grin", "closed", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - else: - ast "Smell yah later, [ast_genie_name]!" ("grin", "closed", "base", "mid") - gen "Good night." ("base", xpos="far_left", ypos="head") - - call play_sound("door") - call hide_characters - call ast_chibi("hide") - call gen_chibi("sit_behind_desk") - hide screen bld1 - with d3 - pause.5 - - - # Increase affection once (this is the second event) - if ag_se_imperio_sb.counter == 2: - $ ast_whoring += 1 - - jump end_ag_se_imperio_sb - - -label ag_se_imperio_sb_E3: - - ast "" ("smile", "base", "base", "mid",xpos="close",ypos="base",trans=fade) - gen "Ready for another go with the curse?" ("base", xpos="far_left", ypos="head") - ast "You bet [ast_genie_name]! I can't wait to see the look on Suzy's stupid face!" ("grin", "narrow", "angry", "down") - gen "Shall I bring her up here?" ("base", xpos="far_left", ypos="head") - ast "Do you even need to ask?" ("smile", "narrow", "base", "mid") - gen "I suppose not..." ("base", xpos="far_left", ypos="head") - - call play_music("stop") - - call hide_characters - with d3 - call sus_walk(action="enter") - pause.2 - - sus "You wanted to see me sir?" ("base", "base", "base", "mid", xpos="base", ypos="base") - sus "Astoria?" ("angry", "wide", "shocked", "left") - sus "What are you doing here?" ("open", "base", "sad", "left") - - gen "Come up here for a moment, Miss Bones..." ("base", xpos="far_left", ypos="head") - sus "Okay..." ("soft", "happy", "low", "mid") - - call sus_walk("desk") - pause.2 - - gen "..." ("base", xpos="far_left", ypos="head") - sus "*Ehm... Can I help you with--" ("soft", "narrow", "base", "downL", xpos="right", ypos="base") - - call play_music("astoria") - call ast_chibi("wand",530,"base") - ast "Blah, blah, blah..." ("open", "base", "base", "R", xpos="base", ypos="base") - - call ast_chibi("wand_casting",530,"base") - sus "I'm not in trouble for anything am--" ("angry", "happy", "base", "mid", xpos="right", ypos="base") - - # Astoria casts imperio. - stop music fadeout 2.0 - hide susan_main - ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - sus "Wait, what--" ("soft", "base", "base", "stare") - sus "" ("soft", "narrow", "base", "stare") - gen "Couldn't even wait this time?" ("base", xpos="far_left", ypos="head") - ast "Quiet old man." ("open", "narrow", "angry", "mid") - call ast_chibi("wand",530,"base") - ast "Susan, I want you to keep listening to my commands and act as if nothing out of the ordinary is happening." ("open", "narrow", "base", "L") - ast "Is that clear?" ("smile", "narrow", "angry", "L") - sus "Yes..." ("open", "narrow", "base", "stare") - ast "Great!{w} Now take your top off!" ("grin", "base", "angry", "L") - gen "!!!" ("angry", xpos="far_left", ypos="head") - pause .8 - - hide susan_main - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.strip("top") - sus "" ("base", "base", "base", "mid") - pause.5 - - call nar(">Susan's arms now seemingly with a mind of their own, removes her top as she resumes speaking where she left off.") - sus "Was this about the l-library books that I returned a day late s-sir?" ("open", "happy", "sad", "mid") - sus "I promise it won't happen again..." ("soft", "closed", "sad", "mid") - gen "Don't you worry about the books, Ms Bones!" ("grin", xpos="far_left", ypos="head") - sus "I--{w=0.4} I'm a bit confused sir, for what reason have you--" ("soft", "base", "low", "mid") - ast "Get those milk bags out Suzy!" ("clench", "narrow", "angry", "L") - sus "Of course..." ("open", "base", "low", "mid") - pause .8 - - hide susan_main - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.strip("bra") - sus "" ("base", "base", "base", "mid") - pause.5 - - gen "Miss Bones!" ("angry", xpos="far_left", ypos="head") - sus "Sir?" ("soft", "base", "raised", "mid") - sus "Have I done something wrong?" ("open", "base", "raised", "mid") - ast "Maybe it's because of you showing off your gross boobs?" ("grin", "base", "angry", "L") - sus "Astoria! H-how can you say something so rude! I'd never..." ("soft", "happy", "annoyed", "right") - ast "Oh yeah?{w} Susan, I want you to look down and take in what you've been doing this whole time." ("open", "base", "angry", "L") - sus "" ("soft", "base", "base", "downL") - pause.8 - - call nar(">Susan's eyes drift down to her exposed chest.") - sus "WHAT?!?!?" ("angry", "wide", "shocked", "down", trans=hpunch) - sus "I'm so sorry, professor Dumbledore!" ("open", "wide", "worried", "stare", cheeks="blush") - sus "I don't know what's come over me!" ("angry", "happyCl", "sad", "mid", cheeks="blush") - ast "Maybe it's just because you're a nasty slut!" ("annoyed", "base", "base", "L") - sus "I am not a {size=+10}slut{/size}, Astoria!" ("angry", "happyCl", "annoyed", "mid", cheeks="blush") - ast "*Pfft*... We both know that's not true... You love showing your headmaster those oversized bean bags of yours." ("annoyed", "base", "base", "R") - sus "I-- don't know why this is happening..." ("open", "happyCl", "annoyed", "down", cheeks="blush") - sus "You must have cursed me!" ("angry", "happy", "shocked", "stare", cheeks="blush") - ast "Bingo!" ("grin", "base", "angry", "L") - sus "Professor! You h-have to stop her!" ("open", "happy", "sad", "left", cheeks="blush") - gen "*Ugh*...{w=0.3} I'm afraid I can't do that Miss Bones..." ("base", xpos="far_left", ypos="head") - ast "" ("grin", "narrow", "angry", "L") - sus "WHAT?!" ("angry", "wide", "low", "mid", cheeks="blush") - sus "W-w-w-well my aunt will just send you--" ("angry", "happyCl", "annoyed", "mid", cheeks="blush") - - ast "Quiet!" ("scream", "base", "angry", "L") - call nar(">Astoria strengthens her grip on her wand and focuses on maintaining the spell, increasing the effect it has on Susan.") - - sus "To...{w=0.5} Azkaban..." ("soft", "narrow", "annoyed", "stare") - sus "..." ("soft", "narrow", "base", "stare") - ast "Alright... that'll shut her up...{w} what should we make her do this time, [ast_genie_name]?" ("open", "closed", "base", "mid") - gen "*Hmm*... Are you actually going to let me choose this time or are you just asking to be annoying?" ("base", xpos="far_left", ypos="head") - ast "Hey! I am not annoying!" ("scream", "narrow", "angry", "mid", trans=vpunch) - gen "So, are you going to let me pick then?" ("base", xpos="far_left", ypos="head") - ast "Fine... Just nothing too disgusting!" ("clench", "narrow", "base", "mid") - ast "Or boring... that'd be even worse!" ("upset", "narrow", "angry", "mid") - - gen "Alright well, first things first..." ("base", xpos="far_left", ypos="head") #I'll add a menu here with more options once art assets are drawn for them - - pause.1 - call gen_chibi("jerk_off_behind_desk") - pause.8 - - call nar(">Your hands sneak under your desk and around your engorged cock.") - gen "That's better..." ("grin", xpos="far_left", ypos="head") - ast "(...)" ("annoyed", "narrow", "angry", "R") - gen "What?" ("base", xpos="far_left", ypos="head") - ast "I told you not to be boring! We already did this last time!" ("open", "closed", "base", "mid") - gen "If this is too boring, why don't you get her to suck me off?" ("grin", xpos="far_left", ypos="head") - ast "Sir! I said it shouldn't be something disgusting..." ("clench", "base", "base", "mid") - ast "I don't wanna have to see your nasty old cock!" ("clench", "narrow", "angry", "R") - gen "*Ugh*... Fine... What do you want to do then?" ("base", xpos="far_left", ypos="head") - ast "Well seeing as how you asked..." ("open", "closed", "base", "mid") - ast "Suzy, are you listening?" ("open", "narrow", "base", "L") - - sus "yes..." ("soft", "narrow", "base", "stare") - ast "I want you to crawl under the headmaster's desk." ("grin", "base", "base", "L") - gen "I thought you didn't want her to suck me off?" ("base", xpos="far_left", ypos="head") - ast "Shut it, and stop being so disgusting!" ("scream", "closed", "angry", "mid") - sus "..." ("base", "base", "base", "mid") - ast "Now go, [ast_susan_name]!" ("grin", "narrow", "angry", "mid") - - call hide_characters - call sus_chibi("hide") - show screen blkfade - with d3 - - call nar(">Susan slowly makes her way around your desk before obediently crawling under.") - pause.5 - hide screen blkfade - with d3 - - ast "" ("smile", "base", "base", "down",xpos="mid",ypos="base",trans=fade) - hide screen bld1 - call ctc - - ast "And you're not allowed to come out until I say so." ("open", "closed", "base", "mid") - sus "yes..." - ast "And if you actually are just a slut then I want you to let that slut out! Show us that you really love it!" ("clench", "narrow", "base", "down") - sus "...{w=0.4} Love it?" - sus "I love it..." - ast "Good!" ("clench", "base", "angry", "L") - gen "Isn't that a little much?" ("base", xpos="far_left", ypos="head") - ast "*Pfft*! That's rich coming from you sir!" ("annoyed", "narrow", "base", "mid") - ast "If it was up to me she'd be clucking like a chicken right now!" ("annoyed", "narrow", "angry", "R") - ast "Not doing nasties with her mouth!" ("clench", "narrow", "base", "down") - gen "Fair enough..." ("base", xpos="far_left", ypos="head") - gen "Although it sounds to me as if you're enjoying this as--" ("base", xpos="far_left", ypos="head") - ast "But you've helped me so take this as a reward..." ("open", "closed", "base", "mid") - ast "Now, make sure to give Susan a reward for being so obedient as well..." ("smile", "base", "angry", "mid") - gen "You don't have to tell me twice!" ("base", xpos="far_left", ypos="head") - call nar(">You renew your efforts, encouraged by the image of the well-endowed redhead hidden under your desk.") - ast "And Suzy..." ("open", "narrow", "base", "down") - sus "Yes..." - ast "Time for you to wake up..." ("grin", "narrow", "angry", "down") - sus "..." - - call play_music("susan") - hide screen blktone - hide screen bld1 - with d3 - pause.5 - show screen bld1 - with hpunch - sus "W-w-what's happening?" - call play_sound("kick") - with vpunch - pause.2 - sus "Ouch..." - pause.5 - sus "Where am I?" - ast "Don't you remember crawling under your headmaster's desk, begging him to jerk his nasty old cock for you?" ("open", "closed", "base", "mid") - with hpunch - sus "WHAT?" - sus "I'd never do something like that!" - ast "Really? Because it sure looks like you did..." ("grin", "base", "base", "R") - sus "I--{w} I don't know why..." - ast "If you don't like it down there, why don't you just hop out then?" ("annoyed", "base", "base", "R") - sus "I can't!" - ast "Really? why's that, Suzy?" ("grin", "narrow", "base", "down") - sus "I don't know... I just can't!" - ast "*Hmm*... it must be because you're such a nasty little slut then..." ("open", "closed", "base", "mid") - with hpunch - sus "I-- I am not!" - ast "Are you sure?" ("grin", "base", "angry", "down") - sus "I... Y-yes..." - ast "because it sure doesn't look like that..." ("open", "narrow", "base", "down") - ast "In fact, it looks like you're the nastiest little slut this school has ever seen!" ("grin", "closed", "base", "mid") - gen "That's it, Astoria..." ("angry", xpos="far_left", ypos="head") - sus "Professor... {b}please...{/b}" - ast "Please what, Susan?" ("open", "closed", "base", "mid") - ast "Please stop?" ("open", "narrow", "base", "down") - ast "Or please coat me in cum?" ("clench", "narrow", "angry", "down") - with hpunch - sus "ASTORIA!" - ast "Answer the question, Suzy..." ("open", "base", "base", "mid") - sus "..." - sus "Please sir..." - sus "{size=-3}Coat{/size} {size=-3}me{/size} {size=-3}in{/size} {size=-3}your{/size} {size=-3}cum...{/size}" - ast "I knew it!" ("scream", "base", "angry", "L") - ast "You're a dirty little slut after all aren't you!" ("clench", "narrow", "angry", "down") - sus "I am not! I don't know why I'm down here!" - ast "Alright then... if you're such a good girl..." ("open", "closed", "base", "mid") - ast "Why don't you tell me what it's like down there?" ("smile", "narrow", "base", "down") - sus "Down here?" - sus "Under professor Dumbledore's desk?" - ast "*Mhmm*... I bet it's nasty down there..." ("clench", "narrow", "angry", "down") - ast "It probably smells gross with all the yucky cum he shoots against that desk of his..." ("open", "base", "base", "R") - ast "Not to mention his big, smelly old cock..." ("annoyed", "narrow", "base", "ahegao") - gen "*Ahem*..." ("base", xpos="far_left", ypos="head") - ast "Quiet, sir!" ("clench", "narrow", "angry", "mid") - ast "So go on, Suzy... tell me what it's like..." ("open", "closed", "base", "mid") - - sus "It... It's--" - call nar(">you hear Susan take a deep breath before she begins to speak.") - sus "{size=+10}It's incredible!{/size}" - ast "" ("grin", "narrow", "angry", "mid") - sus "Everything about it is fantastic!" - ast "" ("smile", "base", "base", "mid") - sus "The cum stains on the back of the desk..." - ast "" ("clench", "narrow", "base", "mid") - sus "The thick smell of semen in the air..." - ast "" ("clench", "narrow", "base", "R") - sus "The way Dumbledore's stroking his {b}cock{/b}..." - ast "" ("smile", "narrow", "angry", "R") - sus "That cock... that's the best part..." - sus "I just want to--" - ast "(*Eeeegh*...)" ("scream", "closed", "angry", "mid",trans=hpunch) - - sus "..." - call nar(">You hear Susan's words trail off into nothingness, as she takes another breath...") - sus "I wish I could live down here! Is that what you wanted to hear you evil witch?!" - ast "Almost..." ("grin", "narrow", "base", "down") - ast "I want you to tell me the truth... say you're a slut..." ("grin", "base", "angry", "mid") - ast "Then I'll let you go..." ("open", "closed", "base", "mid") - sus "Really?" - sus "Alright..." - sus "{size=-5}I'm a...{/size} {size=-3}slut...{/size}" - ast "*Hmm*... I'm not sure I heard anything. What about you, sir?" ("annoyed", "base", "base", "R") - gen "*Ah*...{w=0.3} almost..." ("base", xpos="far_left", ypos="head") - ast "Go on Suzy... one more time..." ("smile", "narrow", "base", "down") - with hpunch - sus "I'm a slut, OK!" - gen "*Ah*... YES..." ("angry", xpos="far_left", ypos="head") - sus "I'm a nasty slut who crawled under her headmaster's desk and--" - - gen "HERE IT COMES SLUT!" ("angry", xpos="far_left", ypos="head") - hide screen bld1 - call gen_chibi("cum_behind_desk") - call cum_block - sus "No wait! Astoria, you said I could go--" - call cum_block - gen "*ARGHHHH*!!!" ("angry", xpos="far_left", ypos="head") - call nar(">Susan's sudden yelps prove too much for you as your cock begins to fire off an immense load onto Susan's face...") - gen "HERE IT IS SLUT!!!" ("angry", xpos="far_left", ypos="head") - call cum_block - sus "..." - - ast "That's it, [ast_genie_name]! Make sure you get it all out..." ("grin", "narrow", "angry", "mid") - gen "*Ahhh*... don't worry about that..." ("angry", xpos="far_left", ypos="head") - call nar(">You give your cock a few final pumps, working out the last of your load onto Susan's waiting face...") - - call gen_chibi("cum_behind_desk_done") - pause.5 - gen "There we go..." ("angry", xpos="far_left", ypos="head") - ast "Nice work, [ast_genie_name]..." ("open", "closed", "base", "mid") - ast "You can come out now, Suzy..." ("smile", "narrow", "base", "down") - sus "..." - - call play_music("stop") - hide astoria_main - show screen blkfade - with d3 - - call nar(">Susan slowly crawls out from under your desk...") - - call sus_chibi("stand","desk","base") - $ susan.set_cum(face="heavy") - hide screen blkfade - with d5 - - sus "..." ("soft", "narrow", "low", "mid", cheeks="blush", xpos="right", ypos="base", trans=fade) - - call play_music("astoria") - ast "Oh my god! He absolutely covered you!" ("scream", "base", "base", "mid",xpos="base",ypos="base") - sus "..." ("annoyed", "closed", "annoyed", "right", cheeks="blush") - ast "I didn't know you had it in you, sir!" ("clench", "base", "base", "mid") - ast "Nice work!" ("smile", "base", "base", "mid") - gen "Thanks..." ("base", xpos="far_left", ypos="head") - ast "And Suzy... that look suits you." ("grin", "narrow", "angry", "L") - sus "Are you done, Astoria?" ("soft", "narrow", "annoyed", "right", cheeks="blush") - ast "Yes, you can get dressed." ("smile", "narrow", "base", "L") - - show screen blkfade - with d3 - - call nar(">Susan slowly wipes the cum from her face as she begins getting dressed.") - - hide susan_main - $ susan.set_cum(None) - sus "I hope you two are happy..." ("soft", "happy", "annoyed", "down", cheeks="blush") - - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ susan.wear("top", "bra") - hide screen blkfade - with d5 - pause .8 - - sus "Now, if you'll excuse me, I've got--" ("open", "closed", "annoyed", "right", cheeks="blush") - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call nar(">You watch as a colourfull mist spreads from the tip of Astoria's wand and seeps into Susan's Nostrills once again...") - ast "I don't think so..." ("smile", "narrow", "base", "L") - - - call ast_chibi("reset",530,"base") - sus "..." ("soft", "narrow", "base", "stare") - gen "..." ("base", xpos="far_left", ypos="head") - - if game.daytime: - ast "We're going to be late for classes, Suzy!" ("annoyed", "narrow", "base", "R") - ast "Let's head to Tonks' study, shall we." ("smile", "narrow", "base", "R") - sus "Yes..." ("open", "narrow", "base", "stare") - gen "..." ("base", xpos="far_left", ypos="head") - ast "Until next time, [ast_genie_name]!" ("grin", "closed", "base", "mid") - else: - ast "It's getting a bit late Suzy, let's head to Tonks' study..." ("annoyed", "narrow", "base", "R") - sus "Yes..." ("open", "narrow", "base", "stare") - gen "..." ("base", xpos="far_left", ypos="head") - ast "Good night, [ast_genie_name]!" ("grin", "closed", "base", "mid") - - - call play_music("stop") - call hide_characters - pause .5 - call ast_walk("door","base") - pause.2 - call ast_chibi("stand","door","base", flip=False) - with d3 - pause.5 - - ast "Come on then..." ("angry", "narrow", "base", "R") - sus "Okay..." ("open", "narrow", "base", "stare") - - call sus_walk(action="leave") - - call hide_characters - call ast_chibi("leave") - hide screen bld1 - with d3 - pause.5 - - call gen_chibi("sit_behind_desk") - - call bld - gen "(*Hmm*... Miss Bones still seemed affected even after she lessened her hold of the spell...)" ("base", xpos="far_left", ypos="head") - gen "(...)" ("base", xpos="far_left", ypos="head") - - if ast_whoring < 24: - $ ast_whoring = 24 - $ sus_whoring = 24 - $ susan_wardrobe_unlocked = True - - call end_of_content - - # Increase affection once (this is the third event) - #if ag_se_imperio_sb.counter == 3: - # $ ast_whoring += 1 - - jump end_ag_se_imperio_sb diff --git a/game/scripts/characters/astoria/events/imperio_training.rpy b/game/scripts/characters/astoria/events/imperio_training.rpy deleted file mode 100644 index 288d3397..00000000 --- a/game/scripts/characters/astoria/events/imperio_training.rpy +++ /dev/null @@ -1,1809 +0,0 @@ - - -### Spell Training ### - -### Astoria Imperio Training ### - -label ag_st_imperio: - - if ag_st_imperio.points == 0: # Intro for 1st event. - ast "" (face="neutral", xpos="right", ypos="base", trans=fade) - gen "Ready for your first day of detention?" ("base", xpos="far_left", ypos="head") - ast "No..." ("annoyed", "base", "base", "R") - ast "Do I really have to go there?" ("clench", "base", "base", "mid") - gen "I could have you scrub the toilets instead..." ("grin", xpos="far_left", ypos="head") - ast "Please don't, Sir!" ("clench", "base", "worried", "mid") - gen "Tonks has some interesting lessons planned for you!{w=0.8} I'm sure you'll enjoy it." ("base", xpos="far_left", ypos="head") - ast "Oh yeah?" ("open", "base", "base", "mid") - ast "Well, I doubt it..." ("annoyed", "narrow", "angry", "R") - ast "At least it's not gonna be boring with her." ("open", "closed", "base", "mid") - ast "I once had to spend a whole day listening to McGonagall prattle on about the importance of a transfiguration spell." ("annoyed", "narrow", "angry", "R") - ast "When all it did was turn a stupid rat yellow!" ("annoyed", "base", "base", "ahegao") - ast "I wanna learn something that's actually fun!" ("annoyed", "narrow", "base", "down") - gen "Like an unforgivable curse?" ("base", xpos="far_left", ypos="head") - ast "Yes." ("annoyed", "base", "base", "mid") - gen "Good. Because your teacher has offered to teach one of them to you, properly." ("base", xpos="far_left", ypos="head") - ast "She offered to do...{w=0.8} what?" ("clench", "base", "base", "mid") - gen "That's what I said!" ("base", xpos="far_left", ypos="head") - ast "I thought this was meant to be a punishment?" ("smile", "base", "base", "L") - ast "That's wicked!" ("smile", "narrow", "angry", "down") - gen "Off you go then. She's waiting for you..." ("base", xpos="far_left", ypos="head") - gen "Return with professor Tonks to my office for a progress report once you're done." ("base", xpos="far_left", ypos="head") - ast "Of course!" ("smile", "closed", "base", "mid") - ast "See ya later!" ("smile", "base", "base", "mid") #smell ya later newbie! - gary oak - - elif ag_st_imperio.points == 3: # Intro for 4th event. - ast "" (face="annoyed", xpos="right", ypos="base", trans=fade) - gen "Time for another lesson, don't you think?" ("base", xpos="far_left", ypos="head") - ast "Do I really have to go there again?" ("open", "narrow", "base", "R") - ast "I don't want to be yelled at by her..." ("annoyed", "narrow", "base", "down") - gen "Nobody's gonna yell at you." ("base", xpos="far_left", ypos="head") - ast "If you say so, Professor." ("annoyed", "base", "base", "mid") - gen "Return here after your lesson." ("base", xpos="far_left", ypos="head") - ast "..." ("annoyed", "base", "base", "R") - - else: - ast "" (face="happy", xpos="right", ypos="base", trans=fade) - gen "Ready for another curse lesson?" ("base", xpos="far_left", ypos="head") - ast "Yes, Professor." ("smile", "base", "base", "mid") - gen "I'm eager to see another demonstration of your progress!" ("grin", xpos="far_left", ypos="head") - gen "Return to my office with your teacher afterwards." ("base", xpos="far_left", ypos="head") - ast "Until then, Professor!" ("smile", "base", "base", "R") - - call play_sound("door") - call hide_characters - call ast_chibi("hide") - hide screen bld1 - with d3 - - # Setup - $ ton_outfit_last.save() # Store current outfit. - $ ast_outfit_last.save() # Store current outfit. - - $ tonks.equip(ton_outfit_default) - $ astoria.equip(ast_outfit_default) - - $ ag_st_imperio.inProgress = True - - $ astoria_busy = True - $ tonks_busy = True - - call music_block - jump main_room_menu - - -label end_ag_st_imperio: - call hide_characters - hide screen bld1 - with d3 - - $ tonks.equip(ton_outfit_last) # Equip player outfit. - $ astoria.equip(ast_outfit_last) # Equip player outfit. - - $ tonks_busy = True - $ astoria_busy = True - - call music_block - jump main_room_menu - - -label ag_st_imperio_E1: - stop music fadeout 1.0 - call play_sound("door") - call ton_chibi("stand","desk","base") - call ast_chibi("stand",530,"base") # Make sure it's slightly to the left of Tonks' chibi. - with d3 - pause.8 - - call play_music("tonks") - ast "" ("annoyed", "base", "base", "mid", xpos="base", ypos="base") - ton "Good evening, Professor." ("base", "happyCl", "base", "mid", xpos="right", ypos="base") - gen "Finally, you're back." ("base", xpos="far_left", ypos="head") - ton "Yes we are." ("base", "wink", "base", "mid") - ton "" ("soft", "base", "base", "mid") - ast "......................" ("annoyed", "narrow", "base", "L") # embarrassed - gen "Astoria!{w} How was your training? *Err*... I mean detention!" ("grin", xpos="far_left", ypos="head") - ast "................................" ("annoyed", "narrow", "base", "R") - ton "It went very well, I'd say." ("crooked_smile", "happyCl", "base", "mid") - ton "I instructed her on how to cast the curse - properly." ("base", "closed", "base", "mid") - ton "The right wand movement... The correct pronunciation..." ("open", "wide", "base", "R") - ton "There's a lot to it!" ("grin", "wide", "base", "mid") - ton "One mishap with those - and the curse might backfire!" ("normal", "shocked", "shocked", "mid") - ton "Sending you straight to St. Mungo's hospital - quacking like a duck!" ("annoyed", "shocked", "base", "mid") - gen "..........." ("base", xpos="far_left", ypos="head") - ton "I'd say she was very lucky using it on Susan..." ("mad", "base", "base", "mid") - ast "I knew exactly what I was doing..." ("base", "closed", "angry", "mid") - ast "" ("clench", "narrow", "base", "mid") - ton "Of course you did, princess." ("soft", "narrow", "base", "L") # Happy - ast "................................." ("annoyed", "narrow", "angry", "R") # annoyed - - ton "Now, shall we get started?" ("soft", "base", "base", "mid") - ast "Get started - with what?" ("open", "narrow", "base", "R") - ton "The next step of your training, of course!" ("soft", "base", "base", "R") - ton "I'd like you to cast the Imperius curse now... On another person." ("base", "base", "angry", "L") - ast "Wait, what?" ("angry", "base", "base", "mid") - ast "I thought I wasn't allowed to ever use it again?" ("annoyed", "base", "worried", "L") - ton "You aren't... That is correct." ("open", "closed", "base", "mid") - ton "However, you are hereby given special permission!" ("grin", "base", "base", "R") - ast "Really?" ("smile", "narrow", "base", "down") # happy - ton "Yes, dear!" ("base", "base", "base", "R") - ton "I believe our Professor would have no objection to that..." ("open", "closed", "base", "mid") - ton "Would you, Professor?" ("base", "base", "angry", "mid") - ast "Please, Professor!" ("smile", "base", "base", "mid") - gen "*Uhm*...{w=0.4} Sure...{w=0.6} Go ahead." ("base", xpos="far_left", ypos="head") - ton "Splendid!" ("silly", "happyCl", "base", "mid") - ast "Yes!" ("smile", "base", "angry", "L") - - ton "You can cast it, as long as it's under the supervision of a teacher..." ("open", "base", "raised", "down") - ton "And only within the walls of this room!" ("normal", "base", "base", "downR") # stern - ast "Right here? In front of Professor Dumbledore?" ("open", "base", "base", "mid") - ton "Naturally!" ("base", "closed", "base", "mid") - ast "But who do I cast it on? Susan?" ("smile", "base", "base", "R") - ton "Not this time, sweetheart." ("upset", "narrow", "base", "down", cheeks="blush") - ton "Today, I'd like you to cast it on me, if you don't mind..." ("open", "closed", "base", "mid", cheeks="blush") - ast "Wicked!" ("grin", "narrow", "worried", "down") - ton "Let's give this old man a quick demonstration of your talents, shall we..." ("grin", "base", "shocked", "mid") - - call ast_chibi("wand",530,"base") - with d3 - - ast "" ("grin", "narrow", "base", "mid") - gen ".............................." ("base", xpos="far_left", ypos="head") - ton "Just like we practised..." ("open", "closed", "base", "mid") - ton "Do the movement with your wand, and then you say--" ("open", "base", "base", "R") - ast "Imperio!" ("angry", "narrow", "angry", "mid") # angry scream - ast "" ("clench", "narrow", "angry", "mid") - pause .8 - - call ast_chibi("wand_casting",530,"base") - with d3 - - ton "Yes..." ("mad", "narrow", "base", "mid") - ton "...................." ("annoyed", "narrow", "shocked", "stare") - ton "You don't have to scream the words, darling." ("open", "closed", "raised", "L") - ton "What's crucial is that your mind is focused and--" ("normal", "closed", "base", "mid") - - # Astoria casts imperio. - stop music fadeout 2.0 - ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - ast "" ("clench", "base", "angry", "L", xpos="base", ypos="base") - ton "........................." ("mad", "wide", "shocked", "ahegao", hair="scared", xpos="right", ypos="base") # shock - ton "*Aaaaaah*..." ("horny", "base", "base", "ahegao", hair="horny") # inhales - ast "......................" ("clench", "base", "worried", "L") # clenched teeth - gen "What's happening to her?" ("base", xpos="far_left", ypos="head") - ast "I just cast the spell on her..." ("open", "closed", "base", "mid") - ast "Now she's under my command!" ("smile", "base", "base", "mid") - gen "You don't say?" ("grin", xpos="far_left", ypos="head") - gen "I love magic!" ("grin", xpos="far_left", ypos="head") - call ast_chibi("wand",530,"base") - with d3 - ast "What shall I do now, Professor?" ("clench", "base", "base", "L") - gen "I don't know...{w=0.4} Why are you asking me?" ("base", xpos="far_left", ypos="head") - gen "Did you two not discuss this beforehand?" ("base", xpos="far_left", ypos="head") - ast "No. All we did was some theoretical practice of the spell..." ("open", "base", "base", "down") - ast "I need to tell her to do something... or..." ("open", "base", "worried", "mid") - ast "I don't know... Maybe say something?" ("clench", "base", "base", "L") - ton "*Hmm*... Something..." ("base", "base", "worried", "up") - ast "!!!" ("smile", "base", "base", "L") - gen "What?" ("base", xpos="far_left", ypos="head") - ast "She did it!" ("smile", "base", "base", "L") - gen "Something what?" ("angry", xpos="far_left", ypos="head") - ast "No, she just said what I asked her to say!" ("smile", "base", "base", "mid") - gen "Oh..." ("base", xpos="far_left", ypos="head") - ast "I believe it's working!" ("smile", "closed", "base", "mid") - - ast "*Uhm*... Professor Tonks, you can now speak freely!" ("horny", "base", "base", "L") - ton "............................" ("base", "closed", "base", "stare") - ton "Oh... can I?..." ("open", "base", "base", "stare") - ton "Thank you..." ("soft", "wide", "base", "stare") - ast "She can hear me!" ("smile", "base", "base", "mid") - ton "You have a really cute voice..." ("horny", "wide", "shocked", "stare") - ast "................" ("annoyed", "base", "worried", "R") - gen "Try something else now." ("base", xpos="far_left", ypos="head") - ast "" ("annoyed", "base", "base", "L") - ton "I feel so good!" ("soft", "wide", "shocked", "stare", hair="horny") - ton "What is happening to me?" ("mad", "base", "raised", "stare", cheeks="blush") - ton "Are you playing with me?" ("open", "base", "worried", "stare", cheeks="blush") - ton "I want you to play with me!" ("open_wide_tongue", "narrow", "shocked", "stare") # horny - gen "I think she's tripping..." ("base", xpos="far_left", ypos="head") - ast "No!{w=0.6} Keep{w=0.4} - standing{w=0.4} - still!" ("clench", "closed", "worried", "mid") - ton "Okay........." ("soft", "base", "base", "stare") - gen "This is quite funny to watch!" ("grin", xpos="far_left", ypos="head") - gen "Can you make her *oink*?" ("grin", xpos="far_left", ypos="head") - ast "*oink*?" ("open", "wink", "base", "mid") - gen "You know, like a pig..." ("base", xpos="far_left", ypos="head") - ast "Yes, we can try that!" ("clench", "base", "base", "mid") - ast "Professor Tonks, I demand that you *oink*!" ("open", "base", "base", "L") - ton "*Huh*?..." ("open", "wide", "base", "stare") - ast "*oink*!" ("open", "base", "angry", "L") - ton "..................." ("normal", "wide", "base", "stare", cheeks="blush") - ast "Do it already!" ("angry", "base", "angry", "L") - ast "*oink!*{w=0.8}-*oink*!{w=0.8}-*oink*!" ("clench", "closed", "angry", "mid") # Angry - gen "*he-he-he!*" ("grin", xpos="far_left", ypos="head") - ast "*oink*...{w=0.8} you pig!" ("scream", "base", "angry", "L", trans=hpunch) # Screaming - ast "" ("clench", "narrow", "angry", "L") - gen "I don't believe she's going to do it..." ("base", xpos="far_left", ypos="head") - ast "But!" ("clench", "closed", "base", "mid") - gen "It's pointless, girl..." ("base", xpos="far_left", ypos="head") - gen "You can stop now..." ("base", xpos="far_left", ypos="head") - ast "Fine..." ("annoyed", "base", "angry", "down") - - # Tonks reverts back. - pause.2 - call hide_characters - call ast_chibi("reset",530,"base") - hide screen bld1 - with fade - pause.8 - - call play_music("tonks") - ton "" ("soft", "base", "worried", "down", cheeks="blush", xpos="right", ypos="base", trans=dissolve) - ast "" ("annoyed", "base", "angry", "mid", xpos="base", ypos="base", trans=dissolve) - ton "Oh my..." ("soft", "base", "worried", "down", cheeks="blush", xpos="right", ypos="base") - ton "Well that was fun!" ("base", "happyCl", "base", "down", cheeks="blush") # Happy - ast "No it wasn't!" ("clench", "narrow", "angry", "mid") - ast "Why weren't you doing pig noises!?" ("scream", "closed", "angry", "mid", trans=hpunch) - ast "You refused to do what I demanded!" ("annoyed", "narrow", "angry", "R") - ton "Yes I did!" ("soft", "base", "base", "R") - ton "It was quite easy, actually." ("normal", "base", "raised", "down") - ast "*Hnghhh*!" ("clench", "narrow", "angry", "down") - ton "Don't worry. You'll have better luck next time..." ("base", "base", "shocked", "R") - ton "Just try a bit harder." ("base", "wink", "base", "mid") - ton "" ("soft", "base", "base", "mid") - ast "..................................." ("annoyed", "narrow", "angry", "down") - ton "Thank you for your assistance, Professor." ("open", "base", "base", "mid") - ton "Let Astoria know when to visit me again for our next training session..." ("base", "base", "base", "mid") - gen "Very well." ("base", xpos="far_left", ypos="head") - ast "........................" ("annoyed", "base", "angry", "R") - ton "Have a good night, Professor." ("base", "wink", "base", "mid") - - call ton_walk("door", "base") - call ton_chibi("stand","door","base", flip=False) - with d3 - pause.2 - - ton "Come on, Astoria. I shall escort you back to your dormitory..." ("soft", "base", "base", "L", ypos="head") - ast "................................................." ("annoyed", "base", "base", "down", ypos="head") - - # They both leave. - call ast_walk(680, "base") - - call play_sound("door") - call ast_chibi("hide") - call ton_chibi("hide") - with d3 - - # Increase affection once (this is the first event) - if ag_st_imperio.counter == 1: - $ ast_whoring += 1 - - jump end_ag_st_imperio - - -label ag_st_imperio_E2: - stop music fadeout 1.0 - call play_sound("door") - call ton_chibi("stand","desk","base") - call ast_chibi("stand",530,"base") # Make sure it's slightly to the left of Tonks' chibi. - with d3 - pause.8 - - call play_music("tonks") - ast "" ("upset", "base", "base", "mid", xpos="base", ypos="base") - ton "Hello, Professor." ("base", "happyCl", "base", "mid", xpos="right", ypos="base") - ast "........................." ("upset", "base", "base", "L") - gen "Back already?" ("base", xpos="far_left", ypos="head") - ton "Yes, I gave Astoria a couple more pointers on how to improve the persuasiveness of the curse..." ("open", "wide", "base", "L") - ton "The trick is to not lose your temper after casting it!" ("soft", "closed", "base", "mid") - call ast_chibi("wand",530,"base") - ast "........................." ("annoyed", "base", "base", "down") - ton "This should be fun!" ("grin", "happyCl", "base", "mid") - gen "Very good." ("base", xpos="far_left", ypos="head") - - ton "Now, Astoria, just as last time - you will cast the Imperius curse on me..." ("soft", "base", "base", "L") - ton "And I'll do my best to resist--" ("open", "closed", "base", "mid") - - # Astoria casts imperio. - stop music fadeout 2.0 - ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - ast "" ("clench", "base", "angry", "L") - ton "........................." ("mad", "wide", "shocked", "ahegao") # shock - - gen "Damn it, girl!" ("grin", xpos="far_left", ypos="head") - gen "Give me a warning next time. You scared the crap out of me..." ("base", xpos="far_left", ypos="head") - ast "Sorry Professor!" ("smile", "base", "base", "mid") # Cute face - - ton ".........................." ("normal", "wide", "base", "stare") - ton "*uhhhh*... I looooooove this!" ("soft", "base", "base", "stare") - ton "It's like - I'm floating..." ("open", "wide", "shocked", "stare") - ton "It feels... sooooooooooooo... goooooooooooood!" ("open_wide_tongue", "base", "base", "ahegao") - ton "" ("mad", "base", "base", "ahegao") - call ast_chibi("wand",530,"base") - gen "(Is she getting off on this?)" ("base", xpos="far_left", ypos="head") - - ast "What shall I have her do, Professor?" ("clench", "wink", "base", "mid") - - menu: - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - - "-Have her turn around-": - ast "Yes, that's a good idea!" ("smile", "base", "base", "mid") - ton "................................" ("normal", "wide", "base", "stare") - ast "Professor Tonks, I command you to turn around." ("open", "base", "base", "L") - ton "*Huh*?" ("open", "wide", "raised", "stare") - ast "Turn around!" ("clench", "base", "angry", "L") - gen "Remember what she said about your temper, Astoria..." ("base", xpos="far_left", ypos="head") - ast "Oh... yes Sir! Of course..." ("smile", "closed", "base", "mid") - ast "Turn around." ("open", "narrow", "base", "L") - ton "......................" ("soft", "wide", "base", "stare") - - # Tonks turns around. (mirror sprite) - call ton_chibi("stand","desk","base", flip=True) - ton "" ("normal", "base", "base", "stare", flip=True, trans=dissolve) - pause.8 - - "-Ask her to remove her coat-": - ast "Yes, that should be easy." ("smile", "base", "base", "mid") - ton "................................" ("normal", "wide", "base", "stare") - ast "Tonks, I command you to remove your coat." ("open", "closed", "base", "mid") - ton "*Huh*?" ("open", "wide", "raised", "stare") - ast "Come on, do it!" ("annoyed", "base", "angry", "L") - gen "Try saying the magic word..." ("base", xpos="far_left", ypos="head") - ast "Imperio? But I already did--" ("open", "wink", "base", "mid") - gen "No... Ask her politely..." ("base", xpos="far_left", ypos="head") - ast "Oh! I got it!" ("smile", "closed", "base", "mid") - ast "Professor Tonks, please remove your coat for me..." ("open", "base", "base", "L") - ton "*Hmm*... okay..." ("soft", "wide", "base", "stare") - - # Tonks removes her coat. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("robe") - - call ctc - - ton "" ("normal", "wide", "base", "stare", cheeks="blush", flip=False) - pause.8 - - - ast "Yes, she did it!" ("smile", "base", "base", "L") - ast "What shall I have her do next?" ("base", "base", "base", "mid") - gen "*Hmm*................." ("base", xpos="far_left", ypos="head") - - $ d_flag_01 = False - - label ag_st_imperio_E2_choices: - - menu: - gen "Make her..." ("base", xpos="far_left", ypos="head") - "\"Do pig noises again!\"" if d_flag_01 == False: # Jumps back to choices. - $ d_flag_01 = True - - ast "Do a pig noise?" ("open", "base", "worried", "mid") - ton "*oink*!" ("open_wide", "happyCl", "base", "stare") - ast "She did it!" ("smile", "closed", "base", "mid") - ton "" ("normal", "happyCl", "base", "mid") - gen "Well done!" ("grin", xpos="far_left", ypos="head") - ast "Do it again!" ("smile", "base", "angry", "L") - ton "*oink*!" ("open_wide", "shocked", "worried", "stare", cheeks="blush") - ast "*hi-hi-hi-hi*!" ("smile", "closed", "base", "mid") - ton "" ("normal", "wide", "worried", "stare", cheeks="blush") - gen "I believe that's enough--" ("base", xpos="far_left", ypos="head") - ast "Do it again piggy! Ten times!" ("clench", "narrow", "angry", "L") # Angry - ton "*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*!" ("open_wide_tongue", "wide", "base", "ahegao", cheeks="blush") - gen "......................." ("base", xpos="far_left", ypos="head") - ast "Agai--" ("scream", "closed", "angry", "mid", trans=hpunch) - gen "That's enough, Astoria!" ("angry", xpos="far_left", ypos="head") - ast "Fine..." ("annoyed", "narrow", "angry", "R") - - # Tonks returns to normal - call hide_characters - call ton_chibi("stand","desk","base", flip=False) - call ast_chibi("reset",530,"base") - with fade - pause.8 - - call play_music("astoria") - ast "" ("open", "base", "base", "down") - ton "Oh wow..." ("mad", "base", "shocked", "down", cheeks="blush", flip=False) - ton "You made me squeal like a pig!" ("mad", "happyCl", "base", "mid", cheeks="blush") - ton "You've made quite some progress, well done Astoria!" ("grin", "narrow", "shocked", "R") - ast "Thank you!" ("smile", "base", "base", "L") - gen "..." ("base", xpos="far_left", ypos="head") - gen "I have to say, I'm not that impressed..." ("base", xpos="far_left", ypos="head") - ton "You aren't?" ("open", "wide", "shocked", "mid") - ast "But, Professor!" ("clench", "base", "worried", "mid") - gen "Tonks, would you please do the noise again..." ("base", xpos="far_left", ypos="head") - ton "The noise, Professor?" ("soft", "base", "raised", "mid") - gen "Yes. Squeal for me." ("base", xpos="far_left", ypos="head") - ton "Very well..." ("open", "narrow", "shocked", "down") - ton "*oink*-*oink*!" ("open", "happyCl", "base", "mid") - gen "See, I don't even have to use magic to make her do it!" ("grin", xpos="far_left", ypos="head") - ton "Very funny, Sir..." ("soft", "narrow", "base", "downR") - gen "I'd like us to try this again..." ("base", xpos="far_left", ypos="head") - ton "Right now? Are you sure?" ("soft", "wide", "raised", "mid") - gen "(I want to see some tits - damn it! Or hear her talk dirty...)" ("angry", xpos="far_left", ypos="head") - gen "Yes, cast that spell again, Astoria..." ("base", xpos="far_left", ypos="head") - call ast_chibi("wand",530,"base") - ast "Very well, Sir..." ("smile", "closed", "base", "mid") - - # Astoria casts imperio. - stop music fadeout 2.0 - ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - ast "" ("clench", "base", "angry", "L") - ton "*Hmm*............." ("base", "base", "base", "ahegao") - call ast_chibi("wand",530,"base") - ast "And now?" ("open", "base", "base", "mid") - - jump ag_st_imperio_E2_choices - - "\"Say something naughty!\"": # Fails - ast "*Huh*?..." ("open", "base", "worried", "mid") - gen "Wouldn't you like to hear your teacher say something shameful?" ("grin", xpos="far_left", ypos="head") - ast "Yes!" ("smile", "base", "angry", "L") - ast "And what exactly?" ("clench", "base", "base", "mid") - gen "I don't know... You should think of something..." ("base", xpos="far_left", ypos="head") - gen "You're the one with the magic stick, after all..." ("base", xpos="far_left", ypos="head") - ton "......................." ("normal", "wide", "base", "stare") - ast "Okay... Professor Tonks..." ("open", "base", "worried", "L") - ast "I want you to repeat after me..." ("open", "closed", "base", "mid") - ton "..................................." ("horny", "wide", "base", "stare") - ast "I... am... a..." ("open", "base", "worried", "L") - ton "I am a--" ("soft", "wide", "base", "stare") - ast "dirty!{w} filthy!{w} pig!" ("open", "narrow", "base", "L") - ton "..................................." ("soft", "base", "base", "stare", cheeks="blush") - ast "Go on, say it!" ("clench", "narrow", "base", "L") - ast "I'm a dirty... filthy... pig!" ("open", "closed", "base", "mid") - ton "*hi-hi*!..." ("base", "happyCl", "shocked", "mid", cheeks="blush") - ast "SAY IT!" ("scream", "base", "angry", "L") # Scream - gen "Time-out!" ("angry", xpos="far_left", ypos="head") - ast "No! She has to do what she's told!" ("clench", "narrow", "angry", "mid") - gen "She clearly isn't going to..." ("base", xpos="far_left", ypos="head") - gen "We should take a break here..." ("base", xpos="far_left", ypos="head") - ast "......................." ("annoyed", "narrow", "angry", "mid") - - # Tonks returns to normal. - pause.2 - call hide_characters - call ton_chibi("stand","desk","base", flip=False) - call ast_chibi("reset",530,"base") - hide screen bld1 - with fade - pause.8 - - call play_music("tonks") - ast "" ("annoyed", "base", "angry", "mid") - ton "*huh*..." ("disgust", "base", "base", "down", flip=False) - ton "Well that was something, wasn't it?" ("soft", "closed", "base", "mid") - ast ".................................." ("annoyed", "narrow", "angry", "L") - gen "You resisted her curse again." ("base", xpos="far_left", ypos="head") - ton "Yes..." ("upset", "base", "base", "L") - ton "I'm sorry, honey!" ("annoyed", "narrow", "worried", "R") - ast ".................................." ("annoyed", "narrow", "angry", "down") - ton "You can't expect to succeed right away now, can you?" ("normal", "closed", "raised", "mid") - ton "To master a spell it takes time - and regular practising..." ("normal", "narrow", "base", "R") - ton "Or else anyone could do it." ("open", "closed", "shocked", "mid") - ton "We'll try again next time..." ("base", "narrow", "raised", "R") - ast "............................" ("upset", "narrow", "base", "down") - ton "Have a good night, Professor." ("soft", "base", "base", "mid") - - call ton_walk("door", "base") - call ton_chibi("stand","door","base", flip=False) - with d3 - pause.2 - - ton "After you, Astoria." ("open", "base", "base", "L", ypos="head") - ast "..........................." ("upset", "base", "base", "L", ypos="head") - - # They both leave. - call ast_walk(680, "base") - - call play_sound("door") - call ast_chibi("hide") - call ton_chibi("hide") - with d3 - - $ ast_mood += 12 - - # Event fails. - $ ag_st_imperio.fail() - - call bld - gen "I don't think we made much progress here..." ("base", xpos="far_left", ypos="head") - - $ tonks.equip(ton_outfit_last) # Equip player outfit. - $ astoria.equip(ast_outfit_last) # Equip player outfit. - - call music_block - jump main_room_menu - - "\"Show us those tits!\"": # Succeeds - ast "What?" ("clench", "base", "base", "mid") - gen "Have her show us her breasts!" ("grin", xpos="far_left", ypos="head") - ast "Professor?!" ("open", "closed", "worried", "mid") - gen "You did the same to Susan, didn't you?" ("base", xpos="far_left", ypos="head") - ast "Yes, but..." ("open", "narrow", "worried", "mid") - ast "I doubt Professor Tonks would be ok with that, she'll just refuse like she did before!" ("clench", "narrow", "base", "L") - gen "Did you have those concerns with Susan as well?" ("base", xpos="far_left", ypos="head") - ast "Susan didn't require much convincing, her boobs were already falling out of her--" ("clench", "narrow", "base", "L") - gen "Just try it." ("base", xpos="far_left", ypos="head") - gen "She can refuse to do it if she really doesn't want to..." ("base", xpos="far_left", ypos="head") - ast "Fine... But it's a waste of time." ("annoyed", "base", "base", "L") - ast "Professor Tonks, I'd like you to show us your..." ("open", "base", "base", "mid") - ast "*Uhm*..." ("upset", "base", "base", "down") - ast "Your breasts!" ("clench", "closed", "base", "mid") # embarrassed - ton "Oh..." ("open", "wide", "shocked", "up") - ton "............................" ("soft", "wide", "worried", "stare") - gen "(Fingers crossed!)" ("angry", xpos="far_left", ypos="head") - ton "............................" ("clench", "narrow", "base", "stare") # Clenched teeth - ast "What the--{w=0.4} I think she's struggling!" ("smile", "base", "base", "L") - gen "Very good, girl!" ("angry", xpos="far_left", ypos="head") - gen "Pressure her more! I want to see those puppies!" ("angry", xpos="far_left", ypos="head") - ast "Professor Tonks, show us your breasts! Now!" ("open", "base", "angry", "L") - gen "(It was easier for her to resist doing pig noises...)" ("base", xpos="far_left", ypos="head") - gen "(Could it be that she {b}wants{/b} to show them to us?{w} And is resisting that inner urge?)" ("base", xpos="far_left", ypos="head") - ton "................................" ("mad", "wide", "worried", "stare", hair="horny") # Really struggling! - gen "(What a slut!)" ("angry", xpos="far_left", ypos="head") # Small text - ast "Come on, do it!" ("clench", "narrow", "angry", "L") - ton "*Hnnnngh*!..." ("mad", "wide", "worried", "ahegao", hair="horny") - call cum_block - ton "*Aaaaahhh*..." ("open_wide_tongue", "base", "worried", "ahegao", cheeks="blush") # Relieved - gen "(Did she just--)" ("angry", xpos="far_left", ypos="head") - ton "" ("open", "narrow", "worried", "stare", cheeks="blush") - gen "..." ("base", xpos="far_left", ypos="head") - gen "Girl, I think your teacher is done for..." ("base", xpos="far_left", ypos="head") - ast "What?" ("clench", "base", "worried", "mid") - ton "" ("normal", "closed", "worried", "stare", cheeks="blush") - gen "She \"broke the curse.\" You can stop now..." ("base", xpos="far_left", ypos="head") - ast "*Aww*..." ("upset", "narrow", "base", "down") - ast "If you say so, Professor..." ("annoyed", "base", "base", "mid") - - # Tonks returns to normal. - pause.2 - call hide_characters - call ast_chibi("reset",530,"base") - hide screen bld1 - with fade - pause.8 - - call play_music("astoria") - ast "" ("annoyed", "base", "base", "mid") - ton "*Ouch*... That was painful!" ("mad", "closed", "base", "mid", cheeks="blush", flip=False) - ton "You nearly got me there." ("disgust", "base", "shocked", "R", cheeks="blush") - ast "Did I really?" ("smile", "base", "base", "mid") - ton "Yes, well done, Astoria!" ("open", "base", "base", "down", cheeks="blush") - ast "Thank you!" ("smile", "closed", "base", "mid") - gen "Was it really such a struggle for you to not get your breasts out?" ("base", xpos="far_left", ypos="head") - ton "*Uhm*..." ("mad", "base", "base", "down", cheeks="heavy_blush") - gen "*He-he-he*!" ("grin", xpos="far_left", ypos="head") - ton "Shall we wrap it up for today?" ("upset", "base", "shocked", "downR", cheeks="blush") - ton "I'm sure you'll do even better next time, Astoria." ("soft", "base", "shocked", "R") - ast "{size=-4}Yes... Finally I shall release my unlimited power...{/size}" ("smile", "narrow", "base", "L") - - $ renpy.sound.play("sounds/thunder_2.ogg") - - if game.weather in {"clear", "cloudy"}: - gen "Where the hell did that thunder come from?" ("base", xpos="far_left", ypos="head") - else: - gen "What the--" ("base", xpos="far_left", ypos="head") - - #Astoria walks to door but waits for Tonks. - call ast_walk(680, "base") - call ast_chibi("stand", 680, "base", flip=False) - with d3 - - ton "Have a good night, Professor!" ("base", "happyCl", "base", "mid") - gen "Until next time..." ("base", xpos="far_left", ypos="head") - - # Tonks walks to door and they both leave - call ton_walk("door", "base") - - - hide tonks_main - call ton_chibi("leave") - hide astoria_main - call ast_chibi("stand", 680, "base", flip=True) - pause .3 - call ast_chibi("leave") - with d3 - - call bld - gen "And they say I'm the big, bad pervert..." ("base", xpos="far_left", ypos="head") - - # Increase affection once (this is the second event) - if ag_st_imperio.counter == 2: - $ ast_whoring += 1 - - jump end_ag_st_imperio - - -label ag_st_imperio_E3: - stop music fadeout 1.0 - call play_sound("door") - call ton_chibi("stand","desk","base") - call ast_chibi("stand",500,"base") # Make sure it's slightly to the left of Tonks' chibi. - with d3 - pause.8 - - call play_music("tonks") - ast "" ("annoyed", "base", "base", "mid", xpos="base", ypos="base") - ton "Well, Professor." ("open", "closed", "base", "mid", xpos="right", ypos="base") - ton "We're back..." ("soft", "wink", "base", "mid") - ast "..." ("annoyed", "base", "base", "L") - gen "Did you make any progress today?" ("base", xpos="far_left", ypos="head") - ton "Of course we did!" ("base", "wide", "base", "mid") - ton "Professor, you aren't questioning my abilities as a teacher, are you?" ("base", "closed", "annoyed", "mid") - gen "Of course not..." ("base", xpos="far_left", ypos="head") - gen "You're very skilled at what you do!" ("grin", xpos="far_left", ypos="head") - gen "You've shown me many times." ("grin", xpos="far_left", ypos="head") - ton "Thank you! {heart}" ("base", "narrow", "base", "mid") - ast "*Ugh*..." ("clench", "narrow", "base", "down") # Disgusted from the flirting? - - call ast_chibi("wand",530,"base") - with d3 - ton "I could teach you a thing or two as well, Professor." ("base", "base", "shocked", "down") - - call ast_chibi("wand_casting",530,"base") - with d3 - ton "Even the great Albus Dumbledore doesn't know everything about--" ("soft", "closed", "angry", "mid") - - # Astoria casts imperio. - stop music fadeout 2.0 - ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - ast "" ("clench", "base", "angry", "L") - ton "*Hngh*!..." ("mad", "wide", "shocked", "ahegao") # shock - ton "*Hmm*..." ("base", "base", "base", "ahegao", hair="horny") - - call ast_chibi("wand",530,"base") - with d3 - ast "Sir, I'm not here to listen to you two banter..." ("angry", "closed", "angry", "mid") - gen "That's fair." ("base", xpos="far_left", ypos="head") - gen "Time is precious, after all..." ("base", xpos="far_left", ypos="head") - ton "..." ("normal", "wide", "base", "stare") - ast "I've spent enough time today getting lectured by her..." ("annoyed", "base", "angry", "L") - gen "Isn't she supposed to do that? Teach you?" ("base", xpos="far_left", ypos="head") - ast "I don't need to be taught!" ("annoyed", "narrow", "angry", "mid") - ast "I already know how to cast the spell." ("clench", "base", "angry", "mid") - gen "Surely there is some room for you to improve." ("base", xpos="far_left", ypos="head") - - ast "Professor Tonks, take off that coat!" ("open", "closed", "base", "mid") - ton "..." ("soft", "wide", "worried", "stare") - ton "...{fast}..." ("base", "wide", "worried", "stare") - - # Remove coat. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("robe") - - call ctc - - ton "" ("base", "base", "base", "stare", cheeks="blush") - pause.8 - - ast "See, I told you I could do it!" ("smile", "narrow", "base", "mid") - gen "Great... Don't get cocky..." ("base", xpos="far_left", ypos="head") - ast "Don't you see, Professor?" ("annoyed", "narrow", "base", "mid") - ast "I can make her do whatever I want!" ("smile", "narrow", "base", "mid") - ast "I'm the greatest witch of all time!" ("clench", "base", "angry", "L") - ton "..." ("normal", "base", "raised", "stare") - ast "If I can pull off the Imperius curse on Professor Tonks..." ("open", "closed", "base", "mid") - ast "Any of the other girls will be easy game for me!" ("smile", "narrow", "angry", "down") # Game as in "prey". - ast "I'll make them rue the day they ever made fun of me!" ("clench", "closed", "angry", "mid") - ton "..................................................." ("annoyed", "wide", "shocked", "stare", hair="annoyed") # Angry at Astoria - gen "......................." ("base", xpos="far_left", ypos="head") - ast "Tomorrow, I shall have Susan walk through school - parading those ridiculous udders of hers for all to see! That'll show her!" ("angry", "narrow", "angry", "R") - ton "!!!" ("upset", "wide", "shocked", "stare", hair="angry") # Very angry - ast "And then shove her into our common room - and all the boys will laugh at her cow udders!" ("smile", "closed", "angry", "R") - gen "And she'll love every second of it!" ("grin", xpos="far_left", ypos="head") - ast "And she'll--" ("smile", "closed", "angry", "R") - ton "*Tzzzzz*!..." ("upset", "closed", "annoyed", "mid", hair="angry", emote="angry") - ton "That's enough!" ("scream", "base", "angry", "R", trans=hpunch) - - # Tonks returns to normal, and puts her clothes back on. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.wear("all") - ton "" ("mad", "base", "angry", "down") - pause.8 - - call ast_chibi("reset",530,"base") - ast "What?" ("clench", "base", "worried", "L") - ton "Astoria, you are dismissed!" ("open", "closed", "angry", "mid") - ast "No! I still wanted to--" ("angry", "base", "angry", "mid") - ton "Dismissed!" ("normal", "closed", "angry", "mid") - ast "........................" ("annoyed", "narrow", "angry", "R") - ast "*Tzzz!*..." ("clench", "base", "angry", "mid") - - # Astoria leaves. - call ast_walk(action="leave") - - ton "The nerve on that girl, I can't believe it!" ("open", "base", "angry", "R", hair="angry", xpos="mid", ypos="base") - ton "I'm beginning to think teaching her an \"unforgivable curse\" might've been a bad idea after all..." ("normal", "closed", "annoyed", "mid") - gen "How so?" ("base", xpos="far_left", ypos="head") - ton "Didn't you hear her?" ("open", "base", "angry", "mid") - ton "She's disregarding all of our advice!... Or at least planning to..." ("mad", "base", "angry", "R") - ton "She's been ignoring my instructions all day!" ("annoyed", "closed", "base", "mid") - ton "She's such a cute and stubborn girl..." ("soft", "closed", "angry", "mid") - ton "We can't have her roaming the school - cursing people as she pleases!" ("annoyed", "base", "annoyed", "mid") - - gen "So, should we stop?" ("base", xpos="far_left", ypos="head") - ton ".................." ("annoyed", "closed", "annoyed", "mid", hair="neutral") - ton "Only if she refuses to follow our rules..." ("open", "narrow", "annoyed", "downR") - ton "As long as what we're doing stays within these walls, it shouldn't be too bad." ("normal", "base", "annoyed", "R") - ton "And besides, Imperio isn't the worst curse you could be a target of, all things considered..." ("upset", "base", "annoyed", "down") - gen "I thought it was dangerous?" ("base", xpos="far_left", ypos="head") - ton "Only if you use the right commands." ("open", "narrow", "annoyed", "down") - gen "Such as asking one of their horny teachers to--" ("base", xpos="far_left", ypos="head") - ton "The curse itself is quite harmless." ("annoyed", "closed", "base", "mid") - ton "And it feels really good when you're under its effect..." ("soft", "base", "base", "R") - gen "It does?" ("base", xpos="far_left", ypos="head") - ton "*Mhmm*... yeah..." ("horny", "base", "annoyed", "up", hair="horny") - ton "It's so goood! {heart}" ("soft", "narrow", "worried", "ahegao") - gen "I think you're enjoying this a bit too much!" ("grin", xpos="far_left", ypos="head") - gen "Just what would your students think if they knew their teacher gets off on being mind controlled?" ("grin", xpos="far_left", ypos="head") - ton "Oh - be quiet you..." ("annoyed", "wide", "annoyed", "up") - ton "................................" ("upset", "wide", "worried", "stare") - ton "Is it that obvious?" ("disgust", "base", "worried", "L") - gen "Can't fool a genie..." ("grin", xpos="far_left", ypos="head") - gen "I'm a genius, it's in the name." ("base", xpos="far_left", ypos="head") - gen "G{w=0.3} E{w=0.3} N{w=0.5} I{w=0.5} U...{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") - gen "G E N I U...{fast} hold on a second..." ("angry", xpos="far_left", ypos="head") #This makes the line change expression mid sentence - ton "Anyway..." ("normal", "base", "base", "down") - ton "I'll have to talk some sense into that girl before we can continue, that's for certain..." ("annoyed", "wide", "annoyed", "downR") - gen "Of course..." ("base", xpos="far_left", ypos="head") - - ton "I'm sorry I let this situation get out of hand..." ("open", "closed", "worried", "mid") - ton "It won't happen again, I promise." ("disgust", "base", "worried", "mid") - gen "You did great..." ("base", xpos="far_left", ypos="head") - gen "But next time I'd like to see some tits!" ("grin", xpos="far_left", ypos="head") - ton "Of course you would." ("base", "base", "annoyed", "R") - ton "You love 'em - don't you?" ("base", "wide", "annoyed", "mid") - gen "That I do!" ("grin", xpos="far_left", ypos="head") - ton "I should get going. It's getting late..." ("normal", "base", "shocked", "down") - gen "Until next time..." ("base", xpos="far_left", ypos="head") - ton "Have a good night, [ton_genie_name]." ("soft", "base", "base", "mid") - - # Tonks leaves. - call ton_walk(action="leave") - - call bld - gen "..." ("base", xpos="far_left", ypos="head") - gen "G{w=0.3} E{w=0.3} N{w=0.5} I--" ("angry", xpos="far_left", ypos="head") - gen "Fuck it..." ("base", xpos="far_left", ypos="head") - - $ ast_mood += 12 - - # Increase affection once (this is the third event) - if ag_st_imperio.counter == 3: - $ ast_whoring += 1 - - jump end_ag_st_imperio - - -label ag_st_imperio_E4: - stop music fadeout 1.0 - - call ton_walk(action="enter",xpos="desk",ypos="base") - pause.5 - - call ton_chibi("stand","desk","base", flip=True) - with d3 - pause.1 - - ton "Astoria, would you come in here please..." ("open", "closed", "base", "mid", ypos="head") - ast "Do I have to?" - ton "Yes, we already talked about this..." ("open", "base", "base", "R") - ast "Fine, whatever..." - hide screen bld1 - with d3 - pause.1 - - #Astoria enters - call ast_walk(action="enter",xpos=530,ypos="base") # Make sure it's slightly to the left of Tonks' chibi. - pause.1 - - call ton_chibi("stand","desk","base", flip=False) - with d3 - pause.5 - - call play_music("tonks") - ton "" ("base", "base", "base", "L", xpos="right", ypos="base") - ast "..." ("annoyed", "narrow", "base", "down", xpos="base", ypos="base") - - ton "Astoria... isn't there something you'd like to say to our Headmaster?" ("soft", "base", "shocked", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - ast "Yes..." ("open", "narrow", "base", "down") - ton "" ("base", "base", "base", "R") - ast "Sir, I'm sorry about my behaviour during our last training session." ("annoyed", "base", "base", "L") - gen "Sure, no big deal--" ("base", xpos="far_left", ypos="head") - ast "It was wrong of me to scream at Professor Tonks like that, or scream at you..." ("open", "narrow", "base", "L") - gen "Fine. Let's just get to--" ("base", xpos="far_left", ypos="head") - ton "And what else?" ("open", "closed", "base", "mid") - ton "" ("base", "base", "base", "L") - ast "I was disrespectful, selfish, and mean." ("open", "closed", "base", "mid") - ast "And I should be thankful that you are granting me this opportunity." ("open", "base", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - ast "I'm well aware of what is at stake here, and I shall follow the rules from now on." ("clench", "narrow", "base", "down") - ast "..." ("annoyed", "narrow", "base", "down") # Looks away - gen "*Ahem* Could we please just get started?" ("base", xpos="far_left", ypos="head") - gen "(I'm dying to see some tits!)" ("angry", xpos="far_left", ypos="head") - ast "........................" ("annoyed", "base", "base", "R") - ton "Very good, Astoria." ("base", "happyCl", "base", "mid") - ton "I'm proud of you. {heart}" ("grin", "base", "base", "R") - ast "........................." ("annoyed", "base", "base", "down") # embarrassed - gen "......................." ("base", xpos="far_left", ypos="head") - - ton "So, let's begin..." ("base", "wide", "base", "mid") - call ast_chibi("wand",530,"base") - with d3 - ton "Astoria, try and focus on what we went through today..." ("open", "base", "base", "down") - ton "Keep good track of your emotions after channelling the spell..." ("open", "closed", "base", "mid") - ton "Anger and rage will cause you to lose control - and eventually break the connection with the target..." ("normal", "base", "annoyed", "L") - ton "Do your best to be as thoughtful, nice, and endearing as you possibly can towards your target..." ("base", "base", "base", "L") - ast "" ("annoyed", "base", "base", "R") - ton "The stronger the emotional bond - the better." ("open", "closed", "base", "mid") - ton "So try to charm them a bit while you're at it!" ("soft", "base", "base", "L") - ton "It is called a charm for a reason, after all!" ("base", "happyCl", "base", "mid") - ast "....................." ("annoyed", "base", "worried", "down") - gen "...................." ("base", xpos="far_left", ypos="head") - ton "Not a very good joke - I gather..." ("annoyed", "wide", "raised", "mid") - gen "I'm sorry. I was only half paying attention..." ("base", xpos="far_left", ypos="head") - ton "Very well..." ("upset", "base", "shocked", "L") - - ton "Now then, let's get on with it, shall we?" ("base", "wink", "annoyed", "mid") - ast "..." ("annoyed", "base", "base", "mid") - call ast_chibi("wand_casting",530,"base") - with d3 - ton "Astoria, as soon as I'm ready, I'd like you to--" ("open", "closed", "base", "mid") - - # Astoria casts imperio. - stop music fadeout 2.0 - ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call play_sound("spell") - call ast_chibi("wand_imperio",530,"base") - with hpunch - pause.8 - - call play_music("trance") - ast "" ("annoyed", "base", "base", "L") - ton "........................." ("mad", "wide", "shocked", "ahegao", hair="horny") # shock - - gen "......................" ("base", xpos="far_left", ypos="head") - ton "*Aaaaah*..." ("open", "base", "shocked", "ahegao", hair="horny", cheeks="blush") - call ast_chibi("wand",530,"base") - with d3 - ast "I'm getting really good at this!" ("smile", "base", "angry", "L") - ton "......................." ("normal", "wide", "base", "stare") - ast "What shall I have her do, Professor?" ("smile", "base", "base", "mid") - - gen "*Hmm*... How about..." ("base", xpos="far_left", ypos="head") - menu: - "\"Make her turn around!\"": # She's facing Astoria - ast "Very well, Sir." ("base", "base", "worried", "mid") - ast "Professor, please turn around for me..." ("open", "base", "base", "L") - ton "*Hmm*... Yes!" ("base", "base", "worried", "stare") - - # Tonks turns around - call hide_characters - hide screen bld1 - with d3 - pause.1 - - call ton_chibi("stand","desk","base", flip=True) - with d3 - pause.5 - - ast "" ("clench", "wink", "worried", "mid") - ton "" ("base", "base", "base", "L", flip=True) - pause.8 - - ton "........................" ("horny", "wide", "base", "stare") - ast "*Uhm*..." ("clench", "narrow", "worried", "R") # Astoria is uncomfortable - - "\"Let her face me!\"": - ast "Very well..." ("open", "base", "base", "mid") - - ast "And now?" ("base", "base", "base", "mid") - gen "Her coat! Tell her to take it off!" ("grin", xpos="far_left", ypos="head") - ast "Professor Tonks, please remove your coat for me." ("open", "base", "worried", "L") - ton "..." ("base", "base", "base", "stare") - - # Remove coat. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("robe") - ton "" ("base", "base", "base", "ahegao") - pause.8 - - gen "You're doing great, Astoria!" ("grin", xpos="far_left", ypos="head") - gen "It's like watching you teach a puppy new tricks..." ("grin", xpos="far_left", ypos="head") - ton ".........................." ("soft", "narrow", "base", "ahegao") # ahegao - ast "If you say so, Sir." ("clench", "base", "base", "down") - gen "Let's move on to the next trick, shall we?" ("base", xpos="far_left", ypos="head") - gen "Ask her to get those tits out!" ("grin", xpos="far_left", ypos="head") - ast "Her what?!" ("clench", "base", "base", "mid") - gen "Her breasts, girl..." ("base", xpos="far_left", ypos="head") - gen "Tell her to remove her top." ("base", xpos="far_left", ypos="head") - ast "Right now?" ("open", "wink", "base", "mid") - ast "But..." ("clench", "base", "base", "mid") - - if tonks.xzoom == -1: # Facing Astoria - ast "Can I at least tell her to turn around again?" ("clench", "base", "worried", "R") - gen "Why? Scared of your teacher's enormous rack?" ("base", xpos="far_left", ypos="head") - ast "What?{w} As if!" ("annoyed", "narrow", "angry", "R") - gen "I doubt she'd like to show them to you anyway..." ("grin", xpos="far_left", ypos="head") - ton "......................" ("soft", "base", "base", "ahegao", hair="horny") # Ahegao - ast "............" ("annoyed", "base", "worried", "mid") - gen "Go on..." ("base", xpos="far_left", ypos="head") - - else: # Facing Genie - ast "I'm not sure if she'd be okay with that." ("open", "base", "worried", "mid") - gen "This again?" ("base", xpos="far_left", ypos="head") - ast "You'd have to close your eyes first, Professor!" ("open", "closed", "base", "mid") - gen "What?" ("base", xpos="far_left", ypos="head") - gen "Are you giving orders to me now as well, girl?" ("base", xpos="far_left", ypos="head") - ast "Close your eyes!" ("angry", "narrow", "angry", "mid") - gen "Not a chance!" ("base", xpos="far_left", ypos="head") - ast "......................." ("annoyed", "base", "angry", "R") - ast "It won't be my fault if she gets mad at you later!" ("open", "narrow", "base", "down") - gen "Sure, whatever..." ("base", xpos="far_left", ypos="head") - gen "Go on already!" ("base", xpos="far_left", ypos="head") - - gen "Let's get those tits out!" ("grin", xpos="far_left", ypos="head") - ast "Professor Tonks, I need you to remove your..." ("open", "base", "worried", "R") - ast "Your shirt..." ("clench", "base", "base", "down") - ton "................" ("normal", "base", "shocked", "stare") - gen "!!!" ("grin", xpos="far_left", ypos="head") - - # Remove top. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("top") - if tonks.is_worn("bra"): # Remove bra if True - ast "and your bra..." ("clench", "base", "base", "down") - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("bra") - ton "" ("base", "wide", "shocked", "ahegao", cheeks="blush") - ast "" ("annoyed", "closed", "base", "mid") - call ctc - - if tonks.xzoom == -1: # Facing Astoria - ast "Is she... is she doing it?" ("clench", "closed", "worried", "mid") # closed eyes - ton "............." ("grin", "wink", "base", "mid", cheeks="blush") # horny - gen "Why don't you see for yourself?" ("grin", xpos="far_left", ypos="head") - gen "Open your eyes, girl!" ("grin", xpos="far_left", ypos="head") - ast "I don't want to..." ("open", "closed", "worried", "mid") - gen "Why not?" ("base", xpos="far_left", ypos="head") - ast "Why would I want to look at her--" ("open", "closed", "worried", "mid") - gen "Now, now... Don't be rude to your teacher..." ("base", xpos="far_left", ypos="head") - gen "It seems to me like she would really like to show you!" ("grin", xpos="far_left", ypos="head") - ast "...................." ("clench", "closed", "base", "mid") # eyes still closed - ton "" ("base", "wide", "base", "stare", cheeks="blush") - ast "..." ("clench", "wink", "base", "mid") - ast "...................." ("annoyed", "narrow", "worried", "R") - gen "That wasn't too bad now, was it?" ("grin", xpos="far_left", ypos="head") - ton "......................." ("base", "base", "base", "ahegao", hair="horny", cheeks="blush") # ahegao - - else: - gen "Now would you look at that!" ("grin", xpos="far_left", ypos="head") - ton "................" ("soft", "wide", "shocked", "stare") # horny - gen "Those are some great breasts your teacher has there!" ("base", xpos="far_left", ypos="head") - ton "................" ("soft", "wide", "base", "stare", hair="horny") # ahegao - ast "I asked you not to look, Professor!" ("open", "closed", "angry", "mid") - gen "I don't believe she minds, does she?" ("grin", xpos="far_left", ypos="head") - ast "" ("clench", "narrow", "worried", "R") - ton "................" ("horny", "wide", "base", "stare", cheeks="blush") # ahegao - - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "We might be able to push her even further!" ("base", xpos="far_left", ypos="head") - ast "Further, Sir? How?" ("annoyed", "wink", "base", "mid") - gen "By getting her to remove the rest of her clothing, of course!" ("grin", xpos="far_left", ypos="head") - ton ".............." ("horny", "base", "shocked", "ahegao", hair="horny", cheeks="heavy_blush") # angry/horny expression - gen "What do you think? Want to give it a try?" ("grin", xpos="far_left", ypos="head") - ast "Would that really be necessary, Sir?" ("open", "base", "base", "R") - gen "Yes.{w=0.3} it.{w=0.3} would." ("base", xpos="far_left", ypos="head") - ast "We--{w=0.5} we could try again next time, Professor..." ("clench", "narrow", "base", "down") - gen "Next time?" ("base", xpos="far_left", ypos="head") - gen "Where did your enthusiasm go all of a sudden?" ("base", xpos="far_left", ypos="head") - gen "Weren't you so eager to practise this spell?" ("base", xpos="far_left", ypos="head") - ast "Yes, but..." ("annoyed", "narrow", "base", "down") - gen "Yes?" ("base", xpos="far_left", ypos="head") - ast "I don't have to explain myself to you!" ("annoyed", "narrow", "angry", "down") - ton "" ("annoyed", "wide", "shocked", "ahegao", cheeks="blush") - ast "..." ("annoyed", "narrow", "angry", "R") - - stop music fadeout 2.0 - gen "..." ("base", xpos="far_left", ypos="head") - ast "I should go to bed..." ("open", "narrow", "base", "R") - gen "Is that so..." ("base", xpos="far_left", ypos="head") - ast "I-- *Uhm*...{w=0.5} I'm tired, Sir." ("open", "narrow", "base", "mid") - ast "*yaaaaawn*!..." ("open", "closed", "worried", "mid") - ast "See?" ("annoyed", "base", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - gen "Very well..." ("base", xpos="far_left", ypos="head") - gen "You are dismissed." ("base", xpos="far_left", ypos="head") - ast "..." ("clench", "narrow", "worried", "down") #embarrased - - # Astoria leaves and spell fades - call hide_characters - hide screen bld1 - with d3 - pause.5 - - call ast_chibi("reset",530,"base", flip=True) - with d3 - pause.2 - - call ast_walk(action="leave") - pause.5 - - call ton_chibi("stand","desk","base", flip=False) - with d3 - pause.8 - - call play_music("tonks") - ton "Well, that was interesting..." ("annoyed", "wide", "base", "downR", hair="neutral", xpos="mid", ypos="base", flip=False, trans=dissolve) - gen "Do you have any idea why she wanted to leave so abruptly?" ("base", xpos="far_left", ypos="head") - ton "I have a couple of theories, actually..." ("soft", "closed", "base", "mid") - gen "*Mhmm*... That curse thing is it?" ("base", xpos="far_left", ypos="head") - ton ".................." ("soft", "wide", "base", "down", hair="horny") # horny stare - ton "Would you like me to put my clothes back on?" ("grin", "narrow", "raised", "mid") - gen "Don't feel pressured!" ("grin", xpos="far_left", ypos="head") - ton "Very well, then..." ("base", "narrow", "base", "mid") - - # screenshake - with hpunch - call nar(">Tonks gives her breasts a quick shake for you.") - - gen "Sweet!" ("grin", xpos="far_left", ypos="head") - ton "..............." ("horny", "wink", "base", "L") - ton "She made some good progress today, unlike last time..." ("base", "base", "shocked", "L") - ton "And she was very polite!" ("base", "happyCl", "base", "mid") - ton "But she isn't quite there yet..." ("upset", "base", "shocked", "down") - - gen "Does she require more training?" ("base", xpos="far_left", ypos="head") - ton "Yes, actually..." ("soft", "narrow", "shocked", "downR") - ton "She'll need a lot more training to pull off the Imperius curse properly..." ("open", "closed", "base", "R") - ton "And, as you could see... It doesn't have much of an effect on me." ("soft", "base", "shocked", "down") - ton "I could have easily avoided doing everything she's told me today, if I wanted to..." ("open", "closed", "base", "mid") - gen "But you didn't!" ("grin", xpos="far_left", ypos="head") - ton "It wasn't my intention to break her spirit again... She was really trying!" ("upset", "closed", "worried", "R") - ton "Now, as you know, I'm a trained Auror..." ("normal", "wide", "shocked", "mid") - gen "A very \"talented\" one at that!" ("base", xpos="far_left", ypos="head") - ton "Are you just praising my tits, Sir?" ("soft", "narrow", "annoyed", "mid") - gen "Every part of your body is worthy of praise!" ("grin", xpos="far_left", ypos="head") - ton "Well... thank you, [ton_genie_name]." ("base", "happyCl", "shocked", "mid") - - # Screenshake - with hpunch - ton "" ("horny", "narrow", "shocked", "mid") - call nar(">Tonks gives her breasts another quick shake for you.") - - call ctc - - ton "I suggest we do one more training session, and then call it from there..." ("base", "wide", "base", "mid") - gen "Sounds good to me..." ("base", xpos="far_left", ypos="head") - ton "Believe me, it's gonna be a great one!" ("soft", "wink", "base", "mid") - gen "Are we going to see more of your... talents?" ("grin", xpos="far_left", ypos="head") - ton "How would you like to see {b}all{/b} this Auror has to offer?" ("horny", "closed", "annoyed", "mid") # horny - gen "Looking forward to it!" ("grin", xpos="far_left", ypos="head") - ton "Have a good night, [ton_genie_name]!" ("base", "base", "angry", "mid") - - # Tonks leaves. - call ton_walk(action="leave") - - call bld - gen "I hope she's planned something big!" ("grin", xpos="far_left", ypos="head") - - # Increase affection once (this is the fourth event) - if ag_st_imperio.counter == 4: - $ ast_whoring += 1 - - jump end_ag_st_imperio - - -label ag_st_imperio_E5: - stop music fadeout 1.0 - call play_sound("door") - call ton_chibi("stand","desk","base") - call ast_chibi("stand",530,"base") # Make sure it's slightly to the left of Tonks' chibi. - with d3 - pause.8 - - call play_music("astoria") - ast "" ("smile", "base", "base", "mid", xpos="base", ypos="base") - ton "Hi, Professor!" ("base", "wide", "base", "mid", xpos="right", ypos="base") - - ast "Hello!" ("smile", "closed", "base", "mid", emote="happy") # Happy - gen "All cheered up today, Astoria?" ("base", xpos="far_left", ypos="head") - ast "Yes, Sir." ("grin", "base", "base", "mid") - ton "She should be. We made some real progress today." ("grin", "narrow", "base", "R") - ton "I'm very impressed with her, I've got to say!" ("base", "base", "base", "mid") - ton "She's very close to mastering it!" ("base", "happyCl", "base", "mid") - ast "Really?!" ("smile", "base", "base", "R") - gen "Is that so?" ("grin", xpos="far_left", ypos="head") - gen "Care for a demonstration?" ("grin", xpos="far_left", ypos="head") - ast "" ("smile", "base", "base", "mid") - ton "Of course." ("base", "base", "base", "mid") - ton "I'm confident she'll be able to make me do {b}anything{/b} you want today." ("horny", "base", "base", "R", hair="horny") # Horny stare - gen "Counting on it!" ("grin", xpos="far_left", ypos="head") - ton "Make sure to give her some good suggestions, Professor!" ("open", "base", "angry", "mid") - gen "Absolutely!" ("grin", xpos="far_left", ypos="head") - ton "And Astoria..." ("open", "base", "raised", "L") - ton "Today we are going to try to push me to the limit." ("base", "base", "base", "L") - ton "You will have me do whatever Professor Dumbledore commands, without question!" ("soft", "wide", "annoyed", "L") - ast "I suppose..." ("annoyed", "base", "base", "down") - ton "We will only stop with today's training once I'm able to... resist, am I clear?" ("open", "closed", "base", "L") - ast "Okay, Professor..." ("annoyed", "base", "base", "R") - - ton "You may start now, Astoria..." ("base", "narrow", "base", "L") - call ast_chibi("wand",530,"base") - with d3 - ton "..................." ("base", "closed", "base", "mid") - call ast_chibi("wand_casting",530,"base") - with d3 - ast "..................." ("annoyed", "base", "base", "down") - ton "Astoria? Would you cast the curse - please?" ("open", "base", "base", "L") - ast "..................." ("clench", "base", "base", "down") - - # Astoria casts imperio. - stop music fadeout 2.0 - ast "Imperio...{w=0.8}{nw}" ("open", "closed", "base", "mid") - - call hide_characters - hide screen bld1 - with d3 - pause.2 - - # chibi spell animation. - call ast_chibi("wand_imperio",530,"base") - call play_sound("spell") - with hpunch - pause.8 - - call play_music("trance") - ast "" ("base", "base", "base", "L") - ton "*Hmm*............" ("soft", "base", "worried", "ahegao", hair="horny") - - gen "(Here we go!)" ("grin", xpos="far_left", ypos="head") - ast ".............." ("grin", "base", "base", "L") - call ast_chibi("wand",530,"base") - with d3 - ast "What should we start with, Professor?" ("open", "base", "worried", "mid") - gen "Let's just try the same things as last time..." ("base", xpos="far_left", ypos="head") - gen "Ask her to take that coat off first." ("base", xpos="far_left", ypos="head") - ast "Very well..." ("base", "base", "base", "mid") - ast "Professor, would you please take off your coat?" ("open", "base", "base", "L") - ton "*Hmm*... My coat?..." ("open", "base", "worried", "stare") - ton "..............." ("normal", "wide", "base", "stare") - ton "Sure {heart}" ("silly", "happyCl", "base", "mid") - - # Remove coat. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("robe") - ton "" ("base", "base", "base", "ahegao") - pause.8 - - ast "Yay!" ("smile", "narrow", "base", "mid") - ast "Her shirt was next, right?" ("base", "base", "angry", "mid") - gen "That is correct." ("base", xpos="far_left", ypos="head") - ast "Yes! Take off your shirt, Professor!" ("clench", "base", "angry", "L") # menacing - ton "*Ahhh*................" ("soft", "base", "base", "ahegao", cheeks="blush") - - # Remove top. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("top") - $ tonks.strip("bra") - ton "" ("base", "base", "base", "ahegao", cheeks="blush") - pause.8 - - ast "She did it!" ("smile", "base", "base", "mid", cheeks="blush") - gen "Well{w=0.5} {i}fucking{/i}{w=0.7} done!" ("grin", xpos="far_left", ypos="head") - gen "Next, I'd like you to--" ("base", xpos="far_left", ypos="head") - ast "Ask her to take off her trousers!" ("grin", "base", "angry", "L") - gen "Yes please!" ("grin", xpos="far_left", ypos="head") - ast "Professor, please take off your trousers..." ("open", "closed", "base", "mid") - ton "*hngh*..." ("mad", "closed", "base", "ahegao", cheeks="blush") - - # Remove bottom. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("bottom") - $ tonks.strip("panties") - ton "" ("base", "base", "worried", "ahegao") - pause.5 - ast "" ("annoyed", "narrow", "angry", "down") - pause.8 - ton "" ("horny", "wide", "shocked", "ahegao", cheeks="blush") - call ctc - - ast "Oh wow..." ("angry", "base", "base", "down") - ton "..................." ("horny", "base", "base", "ahegao", cheeks="blush") - ast "Professor, how can it be that you're not wearing any underwear?!" ("angry", "base", "worried", "down") # angry embarrassed - gen "Yes, Miss Tonks." ("base", xpos="far_left", ypos="head") - gen "Explain yourself!" ("grin", xpos="far_left", ypos="head") - ton "*Hmm*......." ("normal", "base", "worried", "stare", cheeks="blush") - ast "Answer us!" ("clench", "closed", "angry", "mid") - ton "I don't like to wear them..." ("open", "wide", "worried", "stare", hair="sad", cheeks="blush") - ast "Why?!" ("open", "narrow", "angry", "L") # angry - ton "I feel so much better without a bra on... or panties..." ("soft", "wide", "base", "stare", hair="horny") - ast "You're a teacher! This is disgusting!" ("clench", "closed", "angry", "mid", emote="angry") - gen "Dis-{w=0.8}gusting!" ("angry", xpos="far_left", ypos="head") - - with hpunch - ton "{heart} {heart} {heart}" ("soft", "happyCl", "worried", "ahegao", cheeks="blush") - ast "I can't believe my teacher is such a slut!" ("angry", "narrow", "angry", "L") - gen "Des-{w=0.8}picable!" ("angry", xpos="far_left", ypos="head") - ast "Are you a slut, Professor?" ("open", "narrow", "angry", "L") - ton "..............." ("normal", "shocked", "worried", "stare", cheeks="blush") # ahegao - ast "Are you?!" ("clench", "base", "angry", "L") - ton "I am! {heart}" ("soft", "base", "worried", "ahegao", hair="horny", cheeks="blush") - ast "I knew it!" ("smile", "narrow", "angry", "L") - ast "That's why she has such difficulty resisting our commands!" ("open", "base", "worried", "mid") - gen "Yes. She's clearly trying her hardest..." ("base", xpos="far_left", ypos="head") - - ton "" ("normal", "base", "shocked", "ahegao", hair="horny", cheeks="blush") - ast "Professor Dumbledore, you knew exactly what her weakness would be!" ("smile", "base", "base", "mid") - gen "I did?" ("base", xpos="far_left", ypos="head") - gen "*Ahem*... I mean, of course I did!" ("base", xpos="far_left", ypos="head") - ast "We're taking off her clothes, because that's what she enjoys! But could never do in school!" ("angry", "narrow", "angry", "L") - ast "Which makes it easier for me to channel the Imperius curse..." ("grin", "base", "angry", "mid") - ast "Because she's nothing but a weak-minded slut!" ("open", "narrow", "angry", "L") # angry - ton "................" ("soft", "narrow", "shocked", "ahegao", hair="horny", cheeks="blush") # ahegao - gen "You're on point!" ("base", xpos="far_left", ypos="head") - - ast "Take off the rest of your clothes!" ("clench", "base", "angry", "L") # angry - gen "Yes!" ("grin", xpos="far_left", ypos="head") - ast "Take them off, you slut!" ("scream", "closed", "angry", "mid", trans=hpunch) # scream - ton "........{heart}" ("normal", "wide", "shocked", "stare", cheeks="blush") - - # Strip naked. Removes clothes and stockings. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("all") - ton "" ("grin", "base", "base", "ahegao", hair="horny", cheeks="blush") - ast "(She did it...)" ("horny", "narrow", "angry", "L") - call ctc - - ast "Look, Professor!" ("smile", "narrow", "angry", "L") - ast "I got her to be completely naked!" ("smile", "base", "angry", "mid") - gen "Excellent work, [astoria_name]!" ("grin", xpos="far_left", ypos="head") - ast "Thank you, Sir!" ("smile", "closed", "base", "mid") - ton "............." ("silly", "happyCl", "base", "stare", cheeks="blush") - - #screenshake - with hpunch - call nar(">Tonks gives her tits a little sway...") - - gen "*Argh*! (I can't take it anymore!)" ("angry", xpos="far_left", ypos="head") - - gen "..." ("angry", xpos="far_left", ypos="head") - menu: - "-Start masturbating!-": - $ genie_masturbating = True - call hide_characters - hide screen bld1 - with d3 - pause.2 - - call gen_chibi("jerk_off_behind_desk") - with d5 - pause.8 - - show screen bld1 - call nar(">You take out your cock and start jacking off.") - - ton "" ("horny", "narrow", "raised", "L", cheeks="blush") - ast "What shall I have her do now?" ("open", "base", "base", "L") - "*fap-fap-fap*" - ton "" ("soft", "narrow", "shocked", "L", hair="horny", cheeks="blush") - ast "Professor?" ("annoyed", "narrow", "angry", "mid") - gen "What?" ("base", xpos="far_left", ypos="head") - gen "Oh..." ("base", xpos="far_left", ypos="head") - gen "Get her to climb my desk!" ("grin", xpos="far_left", ypos="head") - gen "Have her do a little dance for us." ("grin", xpos="far_left", ypos="head") - ast "Did you hear him, Professor?" ("smile", "closed", "base", "mid") - ast "Get on that desk, and start dancing!" ("open", "narrow", "angry", "L") - ton "Yes...{heart}" ("grin", "wink", "base", "mid", hair="horny") - - # Climb desk and dance. - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - - call play_sound("climb_desk") - pause 2 - - call nar(">After giving you a playful wink, Tonks suggestively climbs on top of your desk, getting a good glimpse of your rock-hard cock...") - pause 1 - - call ast_chibi("wand","desk","base") # Still in wand pose. - call ton_chibi("stand","on_desk","on_desk") - hide screen blkfade - with d5 - call ctc - - call bld - gen "This is getting better and better..." ("grin", xpos="far_left", ypos="head") - "*fap-fap-fap*" - ton "" ("horny", "base", "raised", "down", xpos="mid", ypos="base") - - ast "Move your hips!" ("open", "narrow", "base", "L") - call hide_characters - hide screen bld1 - with d3 - pause.1 - - # Tonks dances. - call ton_chibi("stand","on_desk","on_desk", flip=True) - with d3 - pause.8 - call ton_chibi("stand","on_desk","on_desk", flip=False) - with d3 - pause.5 - - ast "" ("horny", "base", "angry", "L") - ton "............" ("grin", "base", "base", "mid") - ast "She's really doing everything I tell her!" ("smile", "base", "angry", "mid") - ast "Look how easy it is, Professor!" ("smile", "closed", "base", "mid", emote="hearts",trans=hpunch) - - call nar(">Astoria joyfully jumps up and down on the spot, making a happy squeal...") - call hide_characters - hide screen bld1 - with d3 - pause.1 - - show screen astoria_wand_drop - call ast_chibi("reset","desk","base") # No wand pose. - pause.355 - $ renpy.play('sounds/wand_drop.ogg') - pause.5 - - show screen bld1 - call nar(">Unknowingly dropping her wand...") - - ton "" ("upset", "base", "base", "R") - gen "*Uhm*..." ("base", xpos="far_left", ypos="head") - ast "What's next, Professor?" ("smile", "narrow", "angry", "mid") - gen "Next?" ("base", xpos="far_left", ypos="head") - ast "Yes, just look at her... She's loving this!" ("clench", "narrow", "angry", "L") - ast "Can I walk her around school like this?" ("grin", "narrow", "worried", "L") - gen "What?" ("base", xpos="far_left", ypos="head") - gen "Are you serious?" ("base", xpos="far_left", ypos="head") - ast "Please!" ("upset", "base", "base", "mid") - ton ".............." ("soft", "base", "raised", "down") - gen "(That might be a good idea for another time...)" ("base", xpos="far_left", ypos="head") - gen "Not today, I'm afraid..." ("base", xpos="far_left", ypos="head") - ton "" ("annoyed", "closed", "base", "mid") - ast "*Aww*..." ("annoyed", "narrow", "base", "down") - gen "Don't worry, I have an even better idea!" ("grin", xpos="far_left", ypos="head") - gen "Could you ask her to get under my table?" ("grin", xpos="far_left", ypos="head") - ast "*Huh*?... To do what?" ("open", "base", "worried", "mid") - ton "To give him a blowjob..." ("open", "closed", "shocked", "mid") # Tonks answers for Genie - ast "Professor Tonks!{w} Are you serious?" ("scream", "base", "base", "L") # shocked - ast "Why would she want to do that? That's disgusting!!!" ("clench", "base", "worried", "mid") - gen "That-- *Uhm*..." ("base", xpos="far_left", ypos="head") - gen "That wasn't what I would have suggested, but..." ("base", xpos="far_left", ypos="head") - gen "I'm willing to give her a chance to try..." ("base", xpos="far_left", ypos="head") - gen "Try to resist that urge, I mean..." ("base", xpos="far_left", ypos="head") - ast "Are you sure it's okay...{w=0.4} I mean, As long as I don't have to look at it!" ("angry", "narrow", "base", "R") - ast "Professor Tonks, you can get under Professor Dumbledore's desk... and..." ("open", "closed", "base", "mid") - ast "Do \"that\" thing..." ("angry", "base", "worried", "R") - ast "..." ("horny", "base", "worried", "mid") - ton "............." ("base", "base", "shocked", "down", emote="hearts") - - call hide_characters - hide screen bld1 - with d3 - #show screen blkfade - #with d5 - pause.2 - - call play_sound("door") - pause.8 - - call sna_chibi("stand","door","base") - - hide screen blkfade - with d5 - - # Snape enters... - sna "Genie, I was wondering if you could help me with--" ("snape_35", ypos="head") - stop music fadeout 2.0 - call play_sound("scratch") - sna "!!!" ("snape_11", ypos="head") - hide screen bld1 - with d3 - pause.1 - call ton_chibi("stand","on_desk","on_desk", flip=True) - with d3 - pause.5 - - ton "Shit!" ("mad", "base", "angry", "L", hair="annoyed", xpos="left", flip=True) - hide tonks_main - hide screen bld1 - with d3 - pause.1 - call ast_chibi("stand","desk","base", flip=True) - with d3 - pause.5 - - ast "*Huh*?!" ("annoyed", "narrow", "worried", "L", xpos="mid", flip=True) - ast "*Aaaaaaaaaah!!!*......................." ("scream", "base", "base", "L", emote="shocked", trans=hpunch) # Screams - hide astoria_main - hide screen bld1 - with d3 - pause.1 - - call play_sound("running") - call ast_chibi("hide") - call teleport("astoria", effect=False) - call ast_chibi("stand",210,275+180, flip=True) # Next to Genie's chair. - hide screen bld1 - with d3 - pause.1 - - call gen_chibi("sit_behind_desk") - with d3 - pause.5 - - call bld - call nar(">You quickly put away your priorly liberated cock.") - gen "What's going on?" ("angry", xpos="far_left", ypos="head") - sna "Yes! I'd like to know that as well!" ("snape_43") - gen "Snape?!" ("angry", xpos="far_left", ypos="head") - if hg_strip.trigger == True: # Snape saw Hermione strip - gen "Damn it, not you again!" ("angry", xpos="far_left", ypos="head") - gen "(You walking cock-block!)" ("angry", xpos="far_left", ypos="head") - - else: - gen "Damn it, what are you doing here?" ("angry", xpos="far_left", ypos="head") - - call sna_walk(620,"base") - pause.2 - - call play_music("snape") - sna "What on Earth is going on here?!" ("snape_08", xpos=580 ,ypos="base") - sna "You two better explain to me what I just witnessed!" ("snape_32") - ton "Stop being such a wuss, Severus!" ("mad", "base", "angry", "L", hair="angry", xpos="mid", flip=True) - ton "We were just practising some spells with Miss Greengrass." ("annoyed", "base", "base", "R", hair="upset") - sna "And that required you to be undressed? In front of a student?" ("snape_10") - ton "Well... she was the cause of it..." ("clench", "base", "base", "down", cheeks="blush") - sna "Caused you to strip?" ("snape_34") - sna "Which spells are you teaching that girl?!" ("snape_25") - sna "Don't tell me you--" ("snape_36") # Shocked - ton "The Imperius Curse." ("soft", "closed", "base", "mid", cheeks="blush") - sna "I can't believe you two..." ("snape_08") - ast "Am I in trouble now, Professor?" ("annoyed", "base", "base", "L", xpos=10) # Asking Snape - sna "Keep quiet, girl!" ("snape_34") - sna "............" ("snape_04") # Snape sees the wand. - - sna "Is that your wand lying on the ground there?" ("snape_03") - ast "My wand?" ("annoyed", "base", "base", "down") - ast "Oh no, I must have dropped it when you came in, Sir." ("clench", "closed", "worried", "mid") - sna "Well, pick it back up!" ("snape_32") - sna "A Slytherin takes better care of her equipment..." ("snape_10") - ast "Yes. I'm sorry, Professor." ("clench", "closed", "angry", "mid", emote="sweat") - - call ast_walk(path=[(270, 290+180), (370,290+180), ("desk","base")]) - call ast_chibi("stand","desk","base", flip=False) - with d3 - pause.1 - call play_sound("lock") - hide screen astoria_wand_drop - pause.5 - - sna "You may leave, Astoria." ("snape_09", ypos="head") - ast "..." ("clench", "base", "base", "down", ypos="head", flip=True) - sna "Miss Greengrass..." ("snape_04") - ast "Yes sir." ("annoyed", "base", "base", "down") - - #astoria leaves - $ snape_chibi.zorder = 3 - $ astoria_chibi.zorder = 2 - - call sna_chibi("stand",620,"base") # Updates Zorder. - call ast_walk(action="leave") - - $ snape_chibi.zorder = 2 # Reset to default. - - # Tonks hops off your desk and walks closer to Snape. - call play_sound("climb_desk") - show screen blkfade - with d5 - pause 1 - - call ton_chibi("stand","desk","base", flip=True) - hide screen blkfade - with d5 - pause.5 - - call ton_walk(550,"base") - pause.8 - - ton "" ("annoyed", "base", "annoyed", "L", xpos=275, ypos="base", flip=True) - sna "........................." ("snape_05", xpos=580 ,ypos="base") - - call play_music("tonks") - ton "Like what you see?" ("upset", "base", "raised", "L", hair="horny") # Bit flirty, maybe just to calm Snape down. - sna "............................." ("snape_12") # blushing - gen "You couldn't have picked a worse time to burst in here..." ("angry", xpos="far_left", ypos="head") - sna "I can imagine that..." ("snape_18") - - sna "So, Nymphadora..." ("snape_04") - ton "*Tzzzzs*!......" ("annoyed", "closed", "annoyed", "mid", hair="angry") - sna "Would you mind explaining to me why you were naked in the headmaster's office - with a student present?" ("snape_03") - sna "One of my students - at that." ("snape_10") - ton "Are you jealous?" ("soft", "narrow", "base", "L", hair="horny") - sna "............" ("snape_14") - - sna "The question..." ("snape_18") - ton "It's this Astoria girl..." ("soft", "base", "annoyed", "R", cheeks="blush") - ton "There's something wrong with her..." ("open", "narrow", "base", "down") - ton "She's cursed you see!" ("open", "wide", "worried", "L") - ton "A blood curse... very unfortunate." ("mad", "base", "worried", "down") - sna "A blood curse you say?" ("snape_09") #incredulous - sna "Now that sounds serious..." ("snape_05") - ton "Yes, very serious!" ("clench", "wide", "worried", "down") - ton "Been in her family for generations even." ("disgust", "wide", "base", "mid") - sna "And what are the effects of this \"Blood curse\" exactly?" ("snape_04") - ton "Well... I believe that this curse has rendered her practically asexual!" ("clench", "base", "worried", "L") - sna "What nonsense..." ("snape_07") - gen "........................." ("base", xpos="far_left", ypos="head") - ton "How dare you!" ("mad", "closed", "angry", "L") - ton "I can recognise someone that's under a curse!" ("open", "narrow", "angry", "down") - ton "I've been an auror for three years now, I'll have you know!" ("mad", "base", "angry", "R") - sna "Working at that precious ministry of yours has really rubbed off on you, hasn't it?" ("snape_02") - gen "That's enough, Severus." ("base", xpos="far_left", ypos="head") - sna "..." ("snape_35") - gen "What business is conducted in this office is none of your concern." ("base", xpos="far_left", ypos="head") - gen "You're excused..." ("base", xpos="far_left", ypos="head") - sna ".................." ("snape_04") - sna "Very well..." ("snape_03") - sna "Genie...{w} Nymphadora..." ("snape_09") - ton ".................." ("mad", "base", "angry", "L", hair="angry") # Angry stare - - #Snape leaves - call sna_walk(action="leave") - - call ton_chibi("stand","mid","base", flip=False) - with d3 - pause.2 - call ton_walk("desk","base") - pause.5 - - ton "Thank you..." ("normal", "base", "worried", "mid", hair="neutral", xpos="mid", ypos="base", flip=False) - gen "..." ("base", xpos="far_left", ypos="head") - gen "Now..." ("base", xpos="far_left", ypos="head") - - menu: - "-Prompt her to be honest with herself-": - call bld - gen "I think it's time for some honesty." ("base", xpos="far_left", ypos="head") - ton "Regarding?" ("soft", "base", "shocked", "downR") - gen "Everything that we've been doing with the Astoria girl." ("base", xpos="far_left", ypos="head") - ton "Oh..." ("upset", "base", "worried", "down") - ton "Well, we've been helping her haven't we?" ("open", "base", "shocked", "down", cheeks="blush") - ton "She's such an uptight and oppressed cute little...{w=0.4} girl." ("upset", "closed", "raised", "down", cheeks="blush") - ton "..." ("mad", "narrow", "base", "downR", cheeks="blush") - ton "How can I not help her, even if she's a Slytherin." ("upset", "closed", "base", "mid", cheeks="blush") - gen "[tonks_name]... You aren't convincing anyone." ("base", xpos="far_left", ypos="head") - ton "To think such an innocent girl could be the victim of such an--" ("open", "closed", "base", "down", cheeks="blush") - gen "Tonks!" ("base", xpos="far_left", ypos="head") - ton "Alright..." ("annoyed", "base", "annoyed", "down") #exasperated - ton "The blood curse may have been a little white lie on my part." ("annoyed", "narrow", "base", "down") - gen "And?" ("base", xpos="far_left", ypos="head") - ton "And the imperio training with Astoria may have been for my own benefit." ("soft", "narrow", "annoyed", "downR") - gen "..." ("base", xpos="far_left", ypos="head") - ton "Having her cast it on me was exclusively for my own personal enjoyment." ("annoyed", "base", "base", "down", cheeks="blush") - gen "(What a surprise...)" ("base", xpos="far_left", ypos="head") - gen "Why weren't you honest with me?" ("base", xpos="far_left", ypos="head") - ton "*Sigh*..." ("open", "narrow", "base", "R") - ton "Perhaps I've been taking this favour business... thing a bit too lightly." ("open", "narrow", "raised", "down", cheeks="blush") - ton "I've been telling myself that it's as much for the students benefit as it is my own." ("upset", "closed", "worried", "mid") - ton "\"I'll help them explore their sexuality\"." ("annoyed", "closed", "base", "mid") - ton "\"It'll do them good\"." ("annoyed", "closed", "base", "mid") - gen "We both know that is not the reason why we're doing this." ("base", xpos="far_left", ypos="head") - ton "Yes..." ("upset", "base", "base", "down") - ton "A small voice in my head knows it..." ("annoyed", "base", "base", "mid") - ton "And I can't help that I'm just so god...{w=0.4} damn...{w=0.3} horny!" ("open_wide", "closed", "angry", "mid", hair="angry") - ton "All the bloody time!" ("open_wide_tongue", "base", "base", "ahegao", hair="horny") - ton "See!" ("annoyed", "base", "annoyed", "up", hair="horny") - call nar(">You notice the bright pink colour of her hair - once again...") - gen "You should stop lying to yourself, it's not healthy..." ("base", xpos="far_left", ypos="head") - gen "I'm immortal - and even I know that!" ("base", xpos="far_left", ypos="head") - gen "Embrace why you chose to be a part of this, you've got a pretty good gig here." ("base", xpos="far_left", ypos="head") - ton "Yes, you're right." ("soft", "narrow", "base", "L") - gen "You're doing this for yourself, it's okay to be selfish." ("base", xpos="far_left", ypos="head") - gen "Think about how much you've endured at that ministry." ("angry", xpos="far_left", ypos="head") - ton "..." ("upset", "closed", "annoyed", "ahegao") - gen "Think of it as your reward! The students should be happy to have such a loving teacher as you." ("grin", xpos="far_left", ypos="head") - ton "Thank you... sir." ("soft", "closed", "base", "mid") - - "-Call her out on her bullshit-": - call bld - gen "I think there's someone who hasn't been very honest here..." ("base", xpos="far_left", ypos="head") - ton "Sorry?" ("upset", "base", "worried", "mid") - - #Music changes and darker overlay on screen - call play_music("playful_tension") - show screen blktone - with d3 - - gen "You seem to think you're above what we're doing here." ("base", xpos="far_left", ypos="head") - gen "That you're doing the students a favour rather than accepting it's for your benefit." ("base", xpos="far_left", ypos="head") - gen "Do you know what I think?" ("base", xpos="far_left", ypos="head") - ton "N-no..." ("upset", "wide", "worried", "R") - gen "I think that you've been fabricating this curse, to get what you really wanted - all along." ("base", xpos="far_left", ypos="head") - gen "Not for the good of Miss Greengrass..." ("base", xpos="far_left", ypos="head") - ton "..." ("mad", "base", "worried", "R", hair="upset") - gen "Someone's been a naughty girl... Acting all innocent with the ones that welcomed her into their scheme..." ("angry", xpos="far_left", ypos="head") - gen "Or perhaps you've been trying to justify your actions... to yourself?" ("base", xpos="far_left", ypos="head") - gen "Is that right?" ("base", xpos="far_left", ypos="head") - ton "That's..." ("upset", "closed", "worried", "mid", hair="scared") - gen "I think we both know what this means, don't we?" ("base", xpos="far_left", ypos="head") - gen "Miss Tonks..." ("base", xpos="far_left", ypos="head") - gen "What this means is that you're no different than Snape and I." ("base", xpos="far_left", ypos="head") - gen "But you have yet to accept it..." ("base", xpos="far_left", ypos="head") - gen "And if you're unable to, well in that case..." ("base", xpos="far_left", ypos="head") - ton "I can! I have!" ("open_wide", "closed", "worried", "mid") - gen "Are you sure? Because if you're not in on this one hundred percent. Perhaps this may have been a mistake." ("base", xpos="far_left", ypos="head") - ton "I..." ("open", "base", "worried", "down") - gen "Say it!" ("angry", xpos="far_left", ypos="head") - - $ menu_y = 0.7 - menu: - "\"You're a selfish slut!\"": - ton "Yes!" ("mad", "wide", "shocked", "stare", hair="horny") - ton "I'm a selfish slut!" ("open_wide_tongue", "closed", "worried", "mid", hair="horny") - "\"You're a filthy pervert!\"": - ton "Yes!" ("mad", "base", "worried", "mid", hair="horny") - ton "I'm a filthy,{w=0.6} {b}fucking{/b}{w=0.4} pervert!" ("open_wide_tongue", "closed", "worried", "mid", hair="horny") - "\"You're nothing more than a whore!\"": - ton "Yes!" ("mad", "base", "worried", "mid", hair="horny") - ton "I'm nothing but a cheap,{w=0.6} {b}fucking{/b}{w=0.4} whore!" ("open_wide_tongue", "closed", "worried", "mid", hair="horny") - call reset_menu_position - - ton "... {w}This is what I want!" ("mad", "wide", "annoyed", "down") - gen "Good, you're doing this for yourself, and nobody else..." ("base", xpos="far_left", ypos="head") - gen "You'd do good to remember that." ("base", xpos="far_left", ypos="head") - ton "Yes, Sir." ("base", "happyCl", "shocked", "mid", cheeks="blush") - - #Overlay goes away and music returns to normal - call play_music("tonks") - hide screen blktone - with d3 - - ton "So... *Ehm*... How long did you know?" ("open", "narrow", "annoyed", "R") - gen "From the very start." ("base", xpos="far_left", ypos="head") - ton "Really?!" ("clench", "base", "base", "mid") - gen "Yes... The way she was looking at you just now merely confirmed it..." ("base", xpos="far_left", ypos="head") - ton "Was it that obvious..." ("annoyed", "narrow", "base", "down") - gen "Now, with that out of the way..." ("base", xpos="far_left", ypos="head") - gen "Are you ready to take this to the next step?" ("base", xpos="far_left", ypos="head") - gen "Have you considered letting miss Greengrass cast the curse on a more susceptible target?" ("base", xpos="far_left", ypos="head") - ton "..." ("annoyed", "wide", "base", "R") - gen "Miss Tonks..." ("base", xpos="far_left", ypos="head") - ton "Fine, let's do it!" ("mad", "closed", "annoyed", "down") - gen "Good." ("grin", xpos="far_left", ypos="head") - gen "Do you have a student in mind... Someone with similar... Inhibitions, perhaps?" ("base", xpos="far_left", ypos="head") - gen "That Susan girl... How about her?" ("grin", xpos="far_left", ypos="head") - - ton "Susan Bones?" ("open", "wide", "shocked", "stare") - ton "But, she's a Hufflepuff...{w=0.8} I used to be..." ("open", "base", "worried", "up", hair="sad") # Tonks looks concerned (Blue) - gen "I don't see how that makes any difference..." ("base", xpos="far_left", ypos="head") - gen "Remember why we're doing this, you want Miss Greengrass to be able to curse you properly, correct?" ("base", xpos="far_left", ypos="head") - ton "Yes..." ("soft", "base", "worried", "downR", cheeks="blush") - gen "This Susan girl sounds like the perfect target then." ("base", xpos="far_left", ypos="head") - gen "Maybe we could even hit two birds with one stone." ("base", xpos="far_left", ypos="head") - ton "*Huh*?" ("soft", "base", "worried", "mid", cheeks="blush") - gen "Perhaps I could learn a thing or two about this Susan girl is what I meant..." ("base", xpos="far_left", ypos="head") - ton "Right." ("open", "base", "worried", "mid", cheeks="blush") - gen "Any objections?" ("base", xpos="far_left", ypos="head") - ton "No sir..." ("open", "base", "base", "down", hair="neutral", cheeks="blush") - gen "But for now... Just make sure to obliterate her afterwards." ("base", xpos="far_left", ypos="head") - ton "Erase her memory?" ("open", "base", "base", "mid") - gen "That's what I said." ("base", xpos="far_left", ypos="head") - gen "Well then, I believe we're done here..." ("base", xpos="far_left", ypos="head") - ton "Alright..." ("annoyed", "base", "base", "down") - ton "I'm gonna need some \"me\" time now..." ("open", "closed", "base", "ahegao", hair="horny") - ton "If you know what I mean..." ("grin", "narrow", "raised", "down", hair="horny") - ton "I suppose I should wish you good luck with the training..." ("soft", "base", "shocked", "L") - gen "Have a good night." ("grin", xpos="far_left", ypos="head") - ton "Oh - I will, [ton_genie_name]!" ("base", "base", "raised", "R") - ton "I sure will!" ("horny", "base", "raised", "downR") - - call ton_walk(action="leave") - - call bld - gen "..." ("base", xpos="far_left", ypos="head") - gen "Snape..." ("base", xpos="far_left", ypos="head") - gen "That guy deprived me of a blowjob..." ("base", xpos="far_left", ypos="head") - gen "He owes me one!" ("angry", xpos="far_left", ypos="head") - - call nar(">Astoria has \"mastered\" the imperio curse!") - - $ snape_busy = True - $ tonks_busy = True - $ astoria_busy = True - - $ tonks.wear("all") # Wear all stripped clothing - - # Increase affection once (this is the fifth event) - if ag_st_imperio.counter == 5: - $ ast_whoring += 1 - - jump end_ag_st_imperio - -# astoria wand drop animation screen -screen astoria_wand_drop(): - tag wand - zorder 2 - - add "characters/astoria/chibis/wand.webp": - at transform: - zoom 0.35 - rotate -25 - xanchor 0 - yoffset -60 - xpos 530-90 - ypos 400 - - easeout_cubic 0.5 yoffset 0 rotate 0 - linear 0.15 rotate 5 yoffset -5 - linear 0.15 rotate 10 yoffset 10 - linear 0.15 rotate 15 yoffset 5 - linear 0.15 rotate 25 yoffset 15 diff --git a/game/scripts/characters/astoria/events/intro.rpy b/game/scripts/characters/astoria/events/intro.rpy index 2eadaecd..46600cf0 100644 --- a/game/scripts/characters/astoria/events/intro.rpy +++ b/game/scripts/characters/astoria/events/intro.rpy @@ -7,15 +7,11 @@ # You need to ask Snape and Hermione to help find the student. label astoria_intro_E1: - if "poster_1_store" not in tonks_mail_list: - $ tonks_mail_list.append("poster_1_store") - stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*knock-knock-knock*" - ton "[ton_genie_name], may I come in?" - ton "We have to talk about some recent events that happened..." + ton "[name_genie_tonks], may I come in?" ton "It's quite urgent..." menu: @@ -24,28 +20,29 @@ label astoria_intro_E1: ton "Thank you..." "\"Not now!\"": - ton "I'm sorry Sir, but I'm afraid this can't wait." + ton "I'm sorry [name_genie_tonks], but I'm afraid this can't wait." + gen "(Then why even ask?)" ("base", xpos="far_left", ypos="head") ton "I'm coming in..." # Tonks walks in. call ton_walk(action="enter", xpos="desk", ypos="base") - call play_music("tonks") - ton "Good evening, [ton_genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base") - gen "[tonks_name]..." ("base", xpos="far_left", ypos="head") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton "Good evening, [name_genie_tonks]." ("base", "base", "base", "mid", xpos="mid", ypos="base") + gen "[name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "I'm terribly sorry for bursting in like this!" ("open", "base", "raised", "R") gen "What in the world got you so flustered?" ("base", xpos="far_left", ypos="head") - ton "We might be in big trouble, [ton_genie_name]!" ("open", "base", "worried", "mid") + ton "We might be in big trouble, [name_genie_tonks]!" ("open", "base", "worried", "mid") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed gen "Miss Tonks... Have you been a bad girl?" ("grin", xpos="far_left", ypos="head") - ton "I'm not joking, [ton_genie_name]!" ("soft", "base", "annoyed", "mid") + ton "I'm not joking, [name_genie_tonks]!" ("soft", "base", "annoyed", "mid") ton "Something terrible has happened at school today!" ("open", "closed", "annoyed", "R") ton "I believe one of our students has conducted some highly illegal activities against another student!" ("normal", "base", "annoyed", "downR") ton "We have to take action!{w=0.6} The last thing we need is for this to reach the Ministry's attention!" ("open", "base", "angry", "mid") gen "So? Isn't it your task to cover up that sort of stuff?" ("base", xpos="far_left", ypos="head") ton "Yes, but..." ("upset", "base", "worried", "down") - ton "Please, [ton_genie_name]! I can't cover this up all on my own!" ("open", "base", "worried", "mid") + ton "Please, [name_genie_tonks]! I can't cover this up all on my own!" ("open", "base", "worried", "mid") ton "I require your help..." ("upset", "base", "worried", "mid") gen "My help, you say?" ("base", xpos="far_left", ypos="head") ton "Yes..." ("base", "base", "worried", "down") @@ -58,7 +55,7 @@ label astoria_intro_E1: "\"I'm busy right now...\"": ton "Busy with what exactly?" ("open", "base", "raised", "mid") gen "...................." ("base", xpos="far_left", ypos="head") - ton "[ton_genie_name]?" ("mad", "base", "angry", "mid") + ton "[name_genie_tonks]?" ("mad", "base", "angry", "mid") gen "Please give me a minute... I'm still thinking..." ("base", xpos="far_left", ypos="head") ton "We don't have time for this!" ("normal", "base", "angry", "mid") gen "I have all the time in the world, darling..." ("base", xpos="far_left", ypos="head") @@ -67,7 +64,7 @@ label astoria_intro_E1: "\"What's in it for me?\"": ton "Are you seriously asking me that?" ("clench", "shocked", "shocked", "stare") - ton "If this doesn't get dealt with immediately they'll have us both locked up in a cell in Azkaban, do you hear me?!" ("mad", "base", "angry", "mid") + ton "If this doesn't get dealt with immediately, they'll have us both locked up in a cell in Azkaban, do you hear me?!" ("mad", "base", "angry", "mid") gen "Loud and clear..." ("base", xpos="far_left", ypos="head") gen "I'll be locked up in a cell - together with you..." ("base", xpos="far_left", ypos="head") gen "I can think of many fates worse than that, if I'm honest." ("grin", xpos="far_left", ypos="head") @@ -125,12 +122,10 @@ label astoria_intro_E1: ton "Are we done here?" ("open", "closed", "base", "mid") gen "Want to give it one more try?" ("base", xpos="far_left", ypos="head") ton "I think not..." ("open", "base", "annoyed", "R") - ton "I expected a bit more from a Genie... A magic trick, perhaps?" ("upset", "base", "annoyed", "down") - gen "I've told you, I can't do magic anymore..." ("base", xpos="far_left", ypos="head") + ton "I expected a bit more from a Genie..." ("upset", "base", "annoyed", "down") ton "How very disappointing..." ("open", "closed", "base", "mid") - ton "I'm starting to have my doubts that you ever were a Genie..." ("mad", "base", "base", "R") gen "Sorry about that..." ("base", xpos="far_left", ypos="head") - gen "Can I ask you for something else?" ("base", xpos="far_left", ypos="head") + gen "May I ask you for something else?" ("base", xpos="far_left", ypos="head") ton "Still? Even after disappointing me like this?" ("upset", "base", "annoyed", "mid") gen "Please?" ("base", xpos="far_left", ypos="head") ton "*Ugh*... Fine..." ("upset", "narrow", "annoyed", "R") @@ -161,120 +156,108 @@ label astoria_intro_E1: # Genie and Tonks stand behind the desk. # Genie has his dick in hand, jerking off. - # call nar(">To your surprise, Tonks \"blows\" a gust of wind over \"your cock\"...") + # nar "To your surprise, Tonks \"blows\" a gust of wind over \"your cock\"..." # ton "There, all done." ("base", "base", "base", "mid") # gen ".............." ("base", xpos="far_left", ypos="head") # ton "What? I did what you asked for... I blew your cock..." ("base", "base", "base", "mid") # gen "......................" ("base", xpos="far_left", ypos="head") - # ton "Now, could we get back to discuss what I came here for in the first place?" ("base", "base", "base", "mid") + # ton "Now, could we get back to discussing what I came here for in the first place?" ("base", "base", "base", "mid") # gen "Fine. I know when I'm outwitted..." ("base", xpos="far_left", ypos="head") - # ton "I will suck your delicious cock some other time, [ton_genie_name]... I promise!" ("base", "base", "base", "mid") - # ton "But right now we simply don't have time to fool around I'm afraid..." ("base", "base", "base", "mid") + # ton "I will suck your delicious cock some other time, [name_genie_tonks]... I promise!" ("base", "base", "base", "mid") + # ton "But right now, we simply don't have time to fool around, I'm afraid..." ("base", "base", "base", "mid") "\"Send Nudes.\"": - ton "Nudes, [ton_genie_name]?" ("annoyed", "base", "raised", "mid") + $ letter_nt_1.send() + + ton "Nudes, [name_genie_tonks]?" ("annoyed", "base", "raised", "mid") gen "Yes! Send me some nude pictures of yourself!" ("grin", xpos="far_left", ypos="head") gen "A poster, maybe?" ("grin", xpos="far_left", ypos="head") ton "Oh..." ("upset", "base", "base", "down") ton "A poster, you say?..." ("horny", "base", "base", "mid") - ton "What are you gonna do with it? Put it on your wall and jerk off to it?" ("horny", "base", "angry", "mid") + ton "What are you going to do with it? Put it on your wall and jerk off to it?" ("horny", "base", "angry", "mid") gen "You can count on that!" ("grin", xpos="far_left", ypos="head") ton "Hold on!{w} Are you going to hang it up here? In your office?!" ("open", "wide", "shocked", "stare") gen "Sure... It's not like there are that many other rooms I can go to..." ("base", xpos="far_left", ypos="head") - ton "Oh my... I'll have to put a concealment charm on it then..." ("upset", "base", "worried", "R", hair="horny") + ton @ hair horny "Oh my... I'll have to put a concealment charm on it then..." ("upset", "base", "worried", "R") gen "A what charm?" ("base", xpos="far_left", ypos="head") - ton "(Only you will be able to see it's true form, everyone else...)" ("open", "base", "base", "mid") - ton "(Well they'll just see some dull landscape or another...)" ("normal", "base", "base", "downR") + ton "Only you will be able to see its true form... Everyone else..." ("open", "base", "base", "mid") + ton "Well they'll just see some dull landscape or another..." ("normal", "base", "base", "downR") gen "So, I've got this wart on my--" ("base", xpos="far_left", ypos="head") - ton "I shall send you an owl with it tomorrow morning, [ton_genie_name]." ("base", "base", "base", "mid") + ton "I shall send you an owl with it tomorrow morning, [name_genie_tonks]." ("base", "base", "base", "mid") gen "Sweet!" ("grin", xpos="far_left", ypos="head") ton "Now, here is what I'll require your help with..." ("open", "closed", "base", "mid") - if "poster_1_gift" not in tonks_mail_list: - $ tonks_mail_list.append("poster_1_gift") - $ tonks_mail_list.remove("poster_1_store") - ton "This girl I've told you about, Susan Bones?" ("soft", "base", "shocked", "mid") ton "The one with--" ("base", "base", "base", "R") gen "With the giant tits!" ("grin", xpos="far_left", ypos="head") ton "... The one with the unfortunate luck of being a constant target of bullying and harassment!" ("mad", "closed", "base", "mid") # Annoyed gen "Yes, that too..." ("base", xpos="far_left", ypos="head") - ton "That poor girl! She cried the entire time when she told me about what happened..." ("open", "base", "worried", "down") - ton "I can't believe she got hit by a curse!" ("mad", "base", "angry", "down") # Angry - gen "At least she isn't dead..." ("base", xpos="far_left", ypos="head") - ton "No, of course not!" ("open", "base", "angry", "mid") - gen "Or Injured?" ("base", xpos="far_left", ypos="head") + gen "Well, it's not the first time I've had to cover up a murder..." ("base", xpos="far_left", ypos="head") + ton "She's not dead!" ("open", "base", "angry", "mid") + gen "Injured?" ("base", xpos="far_left", ypos="head") ton "Thankfully not..." ("upset", "base", "base", "R") - gen "And nobody tried to shrink her tits?" ("base", xpos="far_left", ypos="head") + gen "And most importantly... Her tits haven't been shrunk?" ("base", xpos="far_left", ypos="head") ton "Don't be silly..." ("open", "closed", "base", "mid") - gen "Then what are you concerned about exactly?" ("base", xpos="far_left", ypos="head") - - ton "This is something quite serious!" ("mad", "base", "worried", "mid") - ton "If we don't find the culprit of this, and find them quickly, the Ministry will be on our toes by tomorrow!" ("open", "base", "angry", "mid") - gen "That bad, *huh*?" ("base", xpos="far_left", ypos="head") - ton "Yes, I'm afraid..." ("upset", "base", "worried", "down") - ton "She was the target of an \"unforgivable curse\"!" ("open", "base", "worried", "mid") + gen "Then how bad could it be?" ("base", xpos="far_left", ypos="head") + ton "She's been a target of an \"unforgivable curse\"!" ("open", "base", "worried", "mid") gen "A curse?..." ("base", xpos="far_left", ypos="head") gen "Like...{w=0.5} The c-word?" ("base", xpos="far_left", ypos="head") - ton "No! A magical curse!{w} not an insult..." ("mad", "closed", "annoyed", "mid") - ton "Those curses are a major transgression of Ministry laws!" ("open", "base", "angry", "mid") - ton "If you are caught having cast even one of them they will put you in Azkaban for the rest of your life!" ("open", "shocked", "worried", "mid") - ton "Sharing a room with a whole bunch of Dementors!" ("upset", "base", "angry", "mid") + ton "No! A magical curse!{w} Not an insult..." ("mad", "closed", "annoyed", "mid") + ton "If you are caught having cast any of the unforgivable curses, then you'll be sent straight to Azkaban!" ("open", "shocked", "worried", "mid") + ton "Where you'll spend the rest of your days, sharing a room with a whole bunch of Dementors!" ("upset", "base", "angry", "mid") gen "Dement-{w=0.6}ors?" ("base", xpos="far_left", ypos="head") - gen "Is it like a nursing home or something?" ("base", xpos="far_left", ypos="head") + gen "So it's like a nursing home?" ("base", xpos="far_left", ypos="head") ton "No, I've told you before!" ("mad", "closed", "angry", "mid") ton "Azkaban is a prison! With Dementors roaming all over it..." ("open", "narrow", "annoyed", "mid") - ton "Believe me, you wouldn't want to be around them, I tell you that much..." ("open", "base", "angry", "R") + ton "Believe me, you wouldn't want to be around them, I'll tell you that much..." ("open", "base", "angry", "R") gen "(Does she hate old people as well now?)" ("base", xpos="far_left", ypos="head") - - ton "Should the Ministry find out about what happened to... Miss Bones." ("upset", "shocked", "worried", "R") - gen "*He-he-he!*..." ("grin", xpos="far_left", ypos="head") - ton "Which they most certainly will, as her aunt is head of the Ministry's department for \"Magical Law Enforcement\"..." ("open", "closed", "worried", "down") - ton "Our whole operation would be busted! And we'd get locked up once and for all!" ("upset", "base", "worried", "mid") - + ton "Should the ministry find out about what has happened to... Miss Bones." ("upset", "shocked", "worried", "R") + gen "*He-he-he*..." ("grin", xpos="far_left", ypos="head") + ton "Which they most certainly will, as her aunt is head of The ministry's department for \"Magical Law Enforcement\"..." ("open", "closed", "worried", "down") gen "So, are we in trouble?" ("base", xpos="far_left", ypos="head") ton "Not yet..." ("open", "closed", "worried", "mid") - ton "Luckily I was able to erase Susan's memory of the ordeal with the obliviate spell." ("mad", "base", "worried", "downR") + ton "Luckily, I was able to erase Susan's memory of the whole ordeal, using the \"obliviate\" charm." ("mad", "base", "worried", "downR") gen "You can do that? Neat..." ("base", xpos="far_left", ypos="head") ton "But, if this should happen to her again, I doubt there is much I could do to prevent her from telling her aunt right away..." ("open", "base", "worried", "R") + gen "So what do you suggest we do?" ("base", xpos="far_left", ypos="head") ton "Find the student who cursed her, and then talk some sense into her so that she never does it again..." ("open", "closed", "base", "mid") gen "Find{w=0.2}.{w=0.2}.{w=0.2}.{w=0.8} her?" ("base", xpos="far_left", ypos="head") - ton "Yes! She heard a girl's voice in her head - while she was under the influence of the imperius curse..." ("open", "base", "angry", "mid") - ton "Who told her{w=0.2}.{w=0.2}.{w=0.2}.{w=0.8} to lift up her top." ("upset", "base", "worried", "R") - gen "Oh yes?" ("grin", xpos="far_left", ypos="head") - ton "The imperius curse can make people do {b}unspeakable things{/b}!" ("open", "closed", "angry", "mid") + ton "Yes! Susan said she heard a girl's voice in her head - while she was under the influence of the \"imperius\" curse..." ("open", "base", "angry", "mid") + gen "In her head?" ("base", xpos="far_left", ypos="head") + ton "Yes, and the voice instructed her{w=0.2}.{w=0.2}.{w=0.2}.{w=0.8} to lift up her top." ("upset", "base", "worried", "R") + gen "Now that's my kind of curse!" ("grin", xpos="far_left", ypos="head") + gen "Why haven't anybody told me about this tit revealing curse before?" ("grin", xpos="far_left", ypos="head") + ton "That isn't the only--{w=0.4} The imperius curse can make people do so many other {b}unspeakable things{/b}!" ("open", "closed", "angry", "mid") ton "I have no doubt that someone as sweet and good-hearted as Susan wouldn't know how to defend herself against it..." ("open", "base", "worried", "mid") - ton "So... She showed her breasts to a bunch of other students...{w=1.4} unfortunately..." ("upset", "base", "worried", "R") + ton "So... She showed her breasts to a bunch of other students...{w=0.4} Unfortunately..." ("upset", "base", "worried", "R") gen "I wish I could have been there to stop it!" ("base", xpos="far_left", ypos="head") ton "Of course you do..." ("open", "closed", "base", "mid") ton "That's sadly all the information I can share..." ("annoyed", "base", "annoyed", "down") ton "Nobody there saw who might have cursed her..." ("open", "base", "worried", "mid") - gen "Should we get some help finding her?" # "her" ("base", xpos="far_left", ypos="head") because they know it's a girl - ton "*Hmmm*... Good idea." ("normal", "base", "base", "R") - gen "Shall I ask Snape? Maybe even Miss Granger?" ("base", xpos="far_left", ypos="head") - ton "Yes. Professor Snape might prove himself useful for once..." ("open", "base", "base", "down") - ton "I don't know about Granger... She'd need to keep quiet at all costs!" ("normal", "base", "raised", "down") - ton "The Ministry can't know about this!" ("open", "base", "angry", "mid") - gen "Yes. Yes..." ("base", xpos="far_left", ypos="head") - ton "Well, I should get going... there are a couple of students I'd like to question." ("open", "base", "worried", "R") - gen "Good luck, then." ("base", xpos="far_left", ypos="head") - ton "Talk to you soon, [ton_genie_name]." ("normal", "base", "base", "mid") + gen "So, my role in this would be to interrogate every female in this school... Yes, that sounds like a good plan." ("base", xpos="far_left", ypos="head") + ton "Please, leave interrogations to me..." ("disgust", "base", "base", "mid") + gen "Then I'll assemble a search party!" ("base", xpos="far_left", ypos="head") + gen "I'll ask Snape, I'm sure he wouldn't mind... And how about Miss Granger?" ("base", xpos="far_left", ypos="head") + ton "*Hmm*... Yes, perhaps Snape could prove himself useful for once..." ("open", "base", "base", "down") + ton "I don't know about Miss Granger... If you ask her, then you'd have to ensure that she keeps quiet at all costs!" ("normal", "base", "raised", "down") + ton "The ministry can't know about this!" ("open", "base", "angry", "mid") + gen "Yes, Yes..." ("base", xpos="far_left", ypos="head") + ton "I should get going... There are a couple of students I'd like to question." ("open", "base", "worried", "R") + gen "Good luck." ("base", xpos="far_left", ypos="head") + ton "Talk to you soon, [name_genie_tonks]." ("normal", "base", "base", "mid") # Tonks leaves. call ton_walk(action="leave") - call bld - gen "I should definitely get Snape on this..." ("base", xpos="far_left", ypos="head") - gen "And Granger..." ("base", xpos="far_left", ypos="head") - gen "Or I could jerk off instead!" ("grin", xpos="far_left", ypos="head") # Achievement if you do, maybe? - gen "Yes that seems like a good idea right now!" ("grin", xpos="far_left", ypos="head") + gen "(I should definitely get Snape on this...)" ("base", xpos="far_left", ypos="head") + gen "(And Granger...)" ("base", xpos="far_left", ypos="head") + gen "(Or I could jerk off instead!)" ("grin", xpos="far_left", ypos="head") + gen "(Yes, that seems like a good idea right now!)" ("grin", xpos="far_left", ypos="head") - # TODO: Add hidden achievement called "Follow the script!" and unlock it if you jerk off after this scene. Maybe add some Susan smut writing for the jerk-off session? - - $ tonks_busy = True - $ astoria_intro.E1_complete = True + $ states.ton.busy = True + $ states.ast.ev.intro.e1_complete = True call music_block jump main_room_menu @@ -298,14 +281,14 @@ label astoria_intro_E2_hermione: gen "Expelled?" ("base", xpos="far_left", ypos="head") her "Exploited!" ("angry", "squint", "worried", "mid") gen "really?" ("base", xpos="far_left", ypos="head") - her "Those are the only things that can happen with an unforgivable curse, [genie_name]!" ("open", "base", "worried", "mid") + her "Those are the only things that can happen with an unforgivable curse, [name_genie_hermione]!" ("open", "base", "worried", "mid") gen "Of course... I'm just making sure you were aware of them..." ("base", xpos="far_left", ypos="head") gen "So, how does it work exactly?" ("base", xpos="far_left", ypos="head") her "You're asking me?" ("open", "base", "base", "mid") gen "Yes... I need to make sure you've done your studies." ("base", xpos="far_left", ypos="head") her "Sir, It's one of the first lessons we ever received in defence against the dark arts." ("open", "closed", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - her "*Sigh*... The curse lowers the targets inhibitions, making them more prone to follow the command depending on the skill of the user casting it or their own mental resolve not to abide by the command." ("open", "closed", "base", "mid") + her "*Sigh*... The curse lowers the target's inhibitions, making them more prone to follow the command, depending on the skill of the user casting it or their own mental resolve not to abide by the command." ("open", "closed", "base", "mid") gen "You could've just said it's like a suggestion spell." ("base", xpos="far_left", ypos="head") her "Sorry?" gen "Never played D&D?" ("base", xpos="far_left", ypos="head") @@ -315,62 +298,51 @@ label astoria_intro_E2_hermione: gen "And I need your help finding out who did it..." ("base", xpos="far_left", ypos="head") her "Why do you need my help?" ("open", "base", "worried", "mid") her "Surely you're able to detect them?" ("annoyed", "base", "base", "mid") - gen "Unfortunately not... I must have been... asleep... when the thing happened..." ("base", xpos="far_left", ypos="head") + gen "Unfortunately not... I must have been... Asleep... When the thing happened..." ("base", xpos="far_left", ypos="head") gen "I missed my chance, so to speak..." ("base", xpos="far_left", ypos="head") - her "So how do you expect me to find out who did it?" ("soft", "base", "base", "R") + her "So, how do you expect me to find out who did it?" ("soft", "base", "base", "R") gen "I'm certain that it's the work of another student..." ("base", xpos="far_left", ypos="head") gen "(or Snape has finally snapped...)" ("base", xpos="far_left", ypos="head") - gen "so I'll need you to go undercover to find out who." ("base", xpos="far_left", ypos="head") - her "Really? You're depending on me to find a criminal within our school?" ("soft", "narrow", "base", "down",cheeks="blush") + gen "so I'll need you to go undercover to find out who cast it." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Really? You're depending on me to find a criminal within our school?" ("soft", "narrow", "base", "down") gen "If it's not too much troub--" ("base", xpos="far_left", ypos="head") - her "I'd be honoured, [genie_name]!" ("scream", "closed", "base", "mid") + her "I'd be honoured, [name_genie_hermione]!" ("scream", "closed", "base", "mid") her "It's no doubt the work of one of those despicable Slytherins..." ("open", "closed", "angry", "mid") gen "I'm sure she--" ("base", xpos="far_left", ypos="head") - her "She? So it's one of those Slytherin sluts?" ("open", "base", "angry", "mid") + her "She? So, it's one of those Slytherin sluts?" ("open", "base", "angry", "mid") gen "Well... From what I heard, it was cast by a female--" ("base", xpos="far_left", ypos="head") her "I knew it!" ("scream", "closed", "angry", "mid") her "Nothing would give me greater pleasure than to see scum like that sent to Azkaban..." ("angry", "narrow", "angry", "R") - # Genie already knows about Azkaban. - #gen "And what's Azkaban?" ("base", xpos="far_left", ypos="head") - #her "... Is this another test sir?" ("open", "wink", "base", "mid") - #gen "Sure..." ("base", xpos="far_left", ypos="head") - #her "Of course! I know everything about it!" ("smile", "happy", "base", "mid_soft") - #her "It's the prison of the damned... An impenetrable rocky outcrop surrounded by the harsh North Sea..." ("open", "happyCl", "base", "mid") - #her "the guards are the deathly eaters of all happy thoughts and emotions known as dementors..." ("open", "narrow", "angry", "R") - #her "They endlessly patrol the prison, devouring all hope from the prisoners, driving them mad within a few days..." ("open", "base", "angry", "mid") - #her "Tormenting them relentlessly for the rest of their miserable lives..." ("grin", "happyCl", "base", "mid") - #her "And the perfect place to house all those dirty slytherins!" ("angry", "base", "angry", "mid") - menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"Just find her...\"": her "Very well, Sir..." ("soft", "base", "base", "R") "\"No one's getting sent to Azkaban...\"": - gen "By the gods, [hermione_name], what's wrong with you?" ("base", xpos="far_left", ypos="head") - her "What are you talking about, [genie_name]?" ("open", "base", "base", "R",cheeks="blush") + gen "By the gods, [name_hermione_genie], what's wrong with you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What are you talking about, [name_genie_hermione]?" ("open", "base", "base", "R") her "Everyone knows that life in Azkaban is the punishment for casting an unforgivable curse..." ("open", "closed", "base", "mid") gen "I've been given special permission to punish them as I see fit." ("base", xpos="far_left", ypos="head") her "Oh..." ("annoyed", "base", "base", "mid") her "So no Azkaban?" ("soft", "base", "base", "R") gen "Not unless they've killed someone..." ("base", xpos="far_left", ypos="head") - her "Really? So there's still a chance?" ("base", "narrow", "base", "mid_soft") + her "Really? So, there's still a chance?" ("base", "narrow", "base", "mid_soft") gen "Only if you find a body..." ("base", xpos="far_left", ypos="head") her "Yay!" ("smile", "happyCl", "base", "mid") - her "Consider it done, [genie_name]!" ("open", "closed", "base", "mid") + her "Consider it done, [name_genie_hermione]!" ("open", "closed", "base", "mid") call her_walk(action="leave") call bld - if astoria_intro.E2_snape: + if states.ast.ev.intro.e2_ask_snape: gen "I wonder if she'll find her before Snape..." ("base", xpos="far_left", ypos="head") else: gen "I should probably tell Snape as well..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True - $ astoria_intro.E2_hermione = True + $ states.her.busy = True + $ states.ast.ev.intro.e2_ask_hermione = True call music_block jump main_room_menu @@ -380,11 +352,12 @@ label astoria_intro_E2_hermione: # You ask Snape to find the student. label astoria_intro_E2_snape: - gen "Tonks came by earlier and informed me about one of your students causing trouble." ("base", xpos="far_left", ypos="head") + gen "Tonks came by earlier and informed me about one of the students causing trouble." ("base", xpos="far_left", ypos="head") sna "Really?" ("snape_03") #No xpos change. sna "Why are you telling me?" ("snape_04") gen "Apparently somebody got hit by something called an \"unforgivable\" curse at the school..." ("base", xpos="far_left", ypos="head") - call play_sound("scratch") + + play sound "sounds/scratch.ogg" sna "" ("snape_11") with hpunch call ctc @@ -396,9 +369,9 @@ label astoria_intro_E2_snape: sna "If they send an auror here they might find out what we've been doing!" ("snape_10") gen "Didn't they already do that?" ("base", xpos="far_left", ypos="head") - sna "We got lucky with Tonks, but if they were to send another Auror investigating the curses." ("snape_03") - sna "They might get wind of all the favour trading that we've been doing as well." ("snape_10") - sna "Fucking our students isn't something teachers are supposed to do genie!" ("snape_25") + sna "We got lucky with Tonks, but if they were to send another Auror to investigate..." ("snape_03") + sna "Then they might get wind of all the favour trading that we've been doing as well." ("snape_10") + sna "Fucking our students isn't something teachers are supposed to do, genie!" ("snape_25") sna "We can't risk receiving any more attention on the matter." sna "If an auror finds out what's going on here, then we're both going to Azkaban!" ("snape_16") gen "All three of us, you mean." ("base", xpos="far_left", ypos="head") @@ -406,37 +379,38 @@ label astoria_intro_E2_snape: sna "We'll just have to make sure that no more curses are cast..." ("snape_01") gen "How would we manage to do that?" ("base", xpos="far_left", ypos="head") gen "There's not some kind of spell history stored in a wand is there?" ("base", xpos="far_left", ypos="head") - sna "Of course not... If that was the case I would've snapped mine a long time ago." ("snape_24") + sna "Of course not... If that was the case, I would've snapped mine a long time ago." ("snape_24") sna "We have to find out who's been casting them." ("snape_24") sna "Normally the real Dumbledore would be able to detect who had cast them, but seeing as how you're here instead..." ("snape_06") sna "We'll have to find them the old-fashioned way." ("snape_10") gen "So you want me to launch a manhunt?" ("base", xpos="far_left", ypos="head") sna "Are you crazy? We can't let anyone know what's happened. All the students will panic, thinking someone's been murdered..." ("snape_16") - sna "It's probably just an imperio or crucio that's been cast." ("snape_24") + sna "Although it's more likely that it's just imperio or crucio that's been cast." ("snape_24") + gen "Impervius! That's the one!" ("base", xpos="far_left", ypos="head") + sna "Figured..." ("snape_01") sna "I'll start the search immediately. In the meantime, just stay here and keep yourself busy." ("snape_10") gen "You don't want my help?" ("base", xpos="far_left", ypos="head") - sna "Not really... Tonks and I will get this situation under control." ("snape_02") - if astoria_intro.E2_hermione: - gen "And Granger..." ("base", xpos="far_left", ypos="head") + sna "Not really... I'll get this situation under control on my own." ("snape_02") + if states.ast.ev.intro.e2_ask_hermione: + gen "And with Miss Granger's help..." ("base", xpos="far_left", ypos="head") sna "Have you told her about this?!" ("snape_03") gen "Sure... She seemed eager to help." ("base", xpos="far_left", ypos="head") sna "Of course she did..." ("snape_06") sna "(You bloody fool...)" ("snape_35") - - sna "Don't worry, I'll find that student in no time. You shall see..." ("snape_02") + gen "(Such a drama queen...)" ("base", xpos="far_left", ypos="head") + else: + gen "Right..." ("base", xpos="far_left", ypos="head") + sna "Don't you worry, I'll find that student in no time. You shall see..." ("snape_02") call sna_walk(action="leave") - call bld - gen "What a drama queen..." ("base", xpos="far_left", ypos="head") - - if astoria_intro.E2_hermione: - gen "I wonder if he'll find her before Miss Granger..." ("base", xpos="far_left", ypos="head") + if states.ast.ev.intro.e2_ask_hermione: + gen "(I wonder if he'll find her before Miss Granger...)" ("base", xpos="far_left", ypos="head") else: - gen "I should probably ask Miss Granger as well..." ("base", xpos="far_left", ypos="head") + gen "(I should probably ask Miss Granger as well...)" ("base", xpos="far_left", ypos="head") - $ snape_busy = True - $ astoria_intro.E2_snape = True + $ states.sna.busy = True + $ states.ast.ev.intro.e2_ask_snape = True call music_block jump main_room_menu @@ -448,12 +422,12 @@ label astoria_intro_E2_snape: label astoria_intro_E3: stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" gen "(...)" ("base", xpos="far_left", ypos="head") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" menu: @@ -467,9 +441,9 @@ label astoria_intro_E3: femv "Stop pulling me!" her "Shut it already!" femv "Why did you drag me here?" - her "You know very well why I brought you!" + her "You know very well why, you--" femv "Let me go you filthy mudblo--" - call play_sound("thump") + play sound "sounds/kick.ogg" gen "Who's there?" ("base", xpos="far_left", ypos="head") her "*Shhhhh*- now!" @@ -480,7 +454,7 @@ label astoria_intro_E3: call her_walk(action="enter", xpos="500", ypos="base") - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "Hello sir." ("normal", "happy", "base", "mid", xpos="mid", ypos="base") gen "I thought you said you weren't alone?" ("base", xpos="far_left", ypos="head") her "I'm not." ("annoyed", "narrow", "base", "R_soft") @@ -492,9 +466,9 @@ label astoria_intro_E3: call her_chibi("stand", 500, "base", flip=True) pause.5 - her "Get in here, Astoria!" ("annoyed", "narrow", "angry", "R", xpos="far_right", ypos="head", flip=True) + her "Get in here, Astoria!" ("annoyed", "narrow", "angry", "R", flip=True) ast "{size=+2}{b}No!{/b}{/size}" - her "Do you want to make this worse?" ("scream", "closed", "base", "mid", xpos="mid", ypos="base", trans=hpunch) + her "Do you want to make this worse?" ("scream", "closed", "base", "mid", trans=hpunch) ast "No..." hide hermione_main hide screen bld1 @@ -504,7 +478,7 @@ label astoria_intro_E3: call her_chibi("stand", 500, "base", flip=False) pause.2 - call play_sound("door") + play sound "sounds/door.ogg" call ast_chibi("stand","door","base") with d3 pause.8 @@ -512,25 +486,20 @@ label astoria_intro_E3: # Astoria enters. call ast_walk("desk", "base") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed $ astoria.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") $ hermione.set_face(mouth="normal", eyes="closed", eyebrows="base", pupils="mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG ast_intro astoria hermione") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - show screen animatedCG + + show CG ast_intro astoria hermione as cg zorder 17: + zoom 0.5 with fade ast "..." ("annoyed", "base", "worried", "R", xpos="right", ypos="base") gen "..." gen "And who's this?" - her "Astoria Greengrass, Sir." ("open", "narrow", "annoyed", "mid") + her "Astoria Greengrass, Sir." ("open", "narrow", "annoyed", "mid", flip=False, xpos="base", ypos="base") her "You asked me to bring you the person who cast the unforgivable curse, Sir." ("soft", "narrow", "annoyed", "R") her "And here she is." ("grin", "base", "angry", "mid") gen "I thought it would be some angsty girl who listens to death metal - or something..." @@ -566,10 +535,9 @@ label astoria_intro_E3: $ d_flag_01 = True pass - hide screen animatedCG + hide cg with fade - - her "But Sir, I'd really like to know what her punishment is going to be!" ("angry", "base", "base", "mid", flip=False, xpos="base", ypos="base", trans=dissolve) + her "But Sir, I'd really like to know what her punishment is going to be!" ("angry", "base", "base", "mid") gen "That's none of your concern." ("base", xpos="far_left", ypos="head") her "Yes it is! And I demand to be rewarded!" ("angry", "closed", "angry", "mid") @@ -584,9 +552,9 @@ label astoria_intro_E3: gen "No butts..." ("base", xpos="far_left", ypos="head") # deliberate. her "*Hmph*" ("annoyed", "narrow", "angry", "R") her "Fine..." ("open", "closed", "angry", "mid") - $ her_mood += 12 + $ states.her.mood += 12 - "\"How about some house points instead?\"": + "\"How about some house points?\"": her "*Hmm*..." ("annoyed", "narrow", "angry", "R") her "How many house points?" ("soft", "base", "angry", "mid") @@ -598,16 +566,16 @@ label astoria_intro_E3: gen "Take 'em or leave 'em..." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "angry", "R") her "Very well..." ("open", "closed", "base", "mid") - $ her_mood += 6 + $ states.her.mood += 6 $ gryffindor += 10 "\"You'll get twenty.\"": her "..." ("annoyed", "base", "base", "R") her "I suppose that's fair." ("open", "closed", "base", "mid") - $ her_mood = 0 + $ states.her.mood = 0 $ gryffindor += 20 - her "In a few days everyone at Hogwarts will know what happened to her..." ("grin", "base", "angry", "mid") + her "In a few days, everyone at Hogwarts will know what happened to her..." ("grin", "base", "angry", "mid") her "When she's sent to Azkaban!" ("soft", "squint", "angry", "mid") gen "Nobody's going anywhere, except for you, Miss Granger..." ("base", xpos="far_left", ypos="head") @@ -644,7 +612,7 @@ label astoria_intro_E3: $ snape_chibi.zorder = 4 # In front of Astoria call sna_walk(action="enter", xpos="mid", ypos="base") - call play_music("snape") + play music "music/Dark Fog.ogg" fadein 1 if_changed ast "" ("annoyed", "base", "worried", "R") sna "You wanted to see me?" ("snape_09", xpos=600, ypos="base") ast "..." ("annoyed", "narrow", "worried", "L") @@ -654,11 +622,11 @@ label astoria_intro_E3: sna "Really? Then what's she doing here?" ("snape_01") gen "She's the one who cast that curse." ("base", xpos="far_left", ypos="head") sna "Truthfully? A Slytherin?" ("snape_05") - sna "I expect better than this from my students, Miss Greengrass..." ("snape_10") + sna "I expect better than this from my students, Miss Greengrass..." ("snape_10") - sna "The very first lesson I give you is don't--" ("snape_08") - sna "get--" ("snape_08", trans=hpunch) - sna "caught!" ("snape_15", trans=hpunch) + sna "The very first lesson I give you is...{w=0.4} Don't--" ("snape_08") + sna "Get--" ("snape_08", trans=hpunch) + sna "Caught!" ("snape_15", trans=hpunch) pause.5 sna "Do you have anything to say for yourself?" ("snape_10") @@ -675,7 +643,7 @@ label astoria_intro_E3: sna "We have to make sure this stays under wraps." ("snape_34") sna "Miss Greengrass, you will not mention this incident to any other student or teacher, am I clear?" ("snape_35") ast "Yes Sir, I promise..." ("annoyed", "narrow", "worried", "down") - sna "You should count yourself lucky the ministry hasn't been notified..." ("snape_31") + sna "You should count yourself lucky that the ministry hasn't been notified..." ("snape_31") sna "Miss Tonks has been kind enough to wipe the co--" ("snape_01") sna "Susan's memory of the event." ("snape_03") sna "You owe her big time..." ("snape_25") @@ -691,14 +659,14 @@ label astoria_intro_E3: sna "..." ("snape_04") # Snape leaves and runs into Tonks. - call play_music("stop") + stop music fadeout 1 call sna_walk(660,"base") # Equip Tonks default clothing. $ ton_outfit_last.save() # Store current outfit. $ tonks.equip(ton_outfit_default) - call play_sound("door") + play sound "sounds/door.ogg" call ton_chibi("stand",780,"base") with d3 pause.2 @@ -706,10 +674,10 @@ label astoria_intro_E3: call ast_chibi("stand","desk","base", flip=True) with d3 - ton "Snape. How good to see you!" ("soft", "shocked", "base", "mid", hair="neutral", xpos="far_right", ypos="head") + ton @ hair neutral "Snape. How good to see you!" ("soft", "shocked", "base", "mid", xpos="far_right", ypos="head") sna "Save your compliments for someone else... I'm in a bit of a hurry." ("snape_03", xpos="far_right", ypos="head") ton "Still mad at me for taking your post?" ("base", "base", "angry", "mid") - ton "I'd be willing to compensate you for it, you know..." ("horny", "base", "base", "mid", hair="horny") + ton @ hair horny "I'd be willing to compensate you for it, you know..." ("horny", "base", "base", "mid") sna "..." ("snape_12") gen "*Ahem*..." ("base", xpos="far_left", ypos="head") sna "Would you mind?" ("snape_12") @@ -725,18 +693,18 @@ label astoria_intro_E3: call ast_chibi("stand","desk","base", flip=False) with d3 - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed pause.1 ast "" ("annoyed", "base", "base", "mid", trans=dissolve) - ton "Hello, Professor." ("base", "base", "base", "mid", hair="neutral", xpos="base", ypos="base", trans=dissolve) + ton @ hair neutral "Hello, Professor." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=dissolve) ton "Astoria? What are you doing here?" ("upset", "base", "worried", "L") ton "You didn't cause any mischief, I hope." ("open", "narrow", "base", "L") ast "Of course not." ("annoyed", "base", "worried", "down") - ton "Wait. Is she the one who cursed Susan?" ("clench", "wide", "shocked", "stare") + ton "Wait. Is she the one who cursed Miss Bones?" ("clench", "wide", "shocked", "stare") ton "" ("upset", "base", "worried", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") - ton "(Oh shit!)" ("horny", "base", "raised", "L", hair="horny") + ton @ hair horny "(Oh shit!)" ("horny", "base", "raised", "L") ast "I'm really sorry! I promise I won't ever cast it again!" ("open", "narrow", "base", "R") ton "Really? It was you who cast the spell?" ("grin", "base", "raised", "L") @@ -757,10 +725,10 @@ label astoria_intro_E3: ton "So, you had some fun with Susan, I gather?" ("base", "narrow", "base", "L") ton "Want to tell me what you made her do?" ("horny", "base", "angry", "L") gen "(Doesn't she already know that?)" ("base", xpos="far_left", ypos="head") - ast "I might have made her show her boobs to some second years..." ("annoyed", "narrow", "base", "R") - ton "*ha-ha-ha-ha!*" ("silly", "happyCl", "base", "mid", trans=hpunch) - ast "Just for a second!" ("clench", "base", "base", "mid") - gen "(what's going on here?)" ("base", xpos="far_left", ypos="head") + ast "I might have made her show her boobs to some students..." ("annoyed", "narrow", "base", "R") + ton "*Ha-ha-ha-ha*!" ("silly", "happyCl", "base", "mid", trans=hpunch) + ast "Only for a second!" ("clench", "base", "base", "mid") + gen "(What's going on here?)" ("base", xpos="far_left", ypos="head") ton "Is that all?" ("open", "base", "raised", "L") ton "You probably did Susan some good then..." ("crooked_smile", "base", "raised", "mid") ton "She sure needs to loosen up a bit." ("soft", "base", "base", "R") @@ -799,7 +767,7 @@ label astoria_intro_E3: ton "Wonderful." ("base", "happyCl", "base", "mid") $ slytherin += 50 - ton "That should be all for now, Astoria." ("open", "base", "base", "L") + ton "That should be all for now, Miss Greengrass." ("open", "base", "base", "L") ast "..." ("annoyed", "base", "base", "down") if game.daytime: ton "Have a great day, cutie." ("base", "happyCl", "base", "mid") @@ -809,7 +777,7 @@ label astoria_intro_E3: ast "*Uhm*...{w=0.3} Good night then." ("open", "base", "base", "mid") # Astoria leaves. - call play_music("stop") + stop music fadeout 1 call hide_characters call ast_chibi("stand","desk","base", flip=True) hide screen bld1 @@ -821,7 +789,7 @@ label astoria_intro_E3: call ton_walk("desk","base") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed ton "She's {size=+5}so cute!{/size} Isn't she? {heart}" ("base", "base", "raised", "R", xpos="mid", ypos="base") if d_flag_01: @@ -829,7 +797,7 @@ label astoria_intro_E3: gen "For what you previously described as a serious crime?" ("angry", xpos="far_left", ypos="head") ton "I know! I shouldn't have rewarded her, but..." ("upset", "closed", "worried", "mid") ton "Did you see how her face lit up!" ("grin", "narrow", "raised", "mid") - ton "I thought we were supposed to encourage our students, [ton_genie_name]." ("upset", "base", "shocked", "down") + ton "I thought we were supposed to encourage our students, [name_genie_tonks]." ("upset", "base", "shocked", "down") gen "Don't put this on me..." ("base", xpos="far_left", ypos="head") ton "Fine, maybe I got a bit too excited..." ("mad", "base", "worried", "mid") @@ -841,14 +809,14 @@ label astoria_intro_E3: gen "I'm not even supposed to be here..." ("base", xpos="far_left", ypos="head") ton "Fair enough..." ("normal", "base", "raised", "R") - gen "We should have a chat about Astoria again..." ("base", xpos="far_left", ypos="head") + gen "We should have a chat about this Astoria girl..." ("base", xpos="far_left", ypos="head") gen "Discuss the severity of her... \"detention\"." ("base", xpos="far_left", ypos="head") - ton "Of course, [ton_genie_name]." ("annoyed", "base", "raised", "downR") + ton "Of course, [name_genie_tonks]." ("annoyed", "base", "raised", "downR") ton "Let's discuss it over a drink...{heart}" ("grin", "closed", "base", "mid") gen "Naturally..." ("base", xpos="far_left", ypos="head") - gen "Until next time, [tonks_name]." ("base", xpos="far_left", ypos="head") + gen "Until next time, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") ton "Until next time!{heart}" ("base", "happyCl", "base", "mid") - call play_music("stop") + stop music fadeout 1 call ton_walk(action="leave") @@ -860,11 +828,11 @@ label astoria_intro_E3: # Reset Tonks. $ tonks.equip(ton_outfit_last) - $ hermione_busy = True - $ snape_busy = True - $ tonks_busy = True + $ states.her.busy = True + $ states.sna.busy = True + $ states.ton.busy = True - $ astoria_intro.E3_complete = True + $ states.ast.ev.intro.e3_complete = True call music_block jump main_room_menu @@ -879,34 +847,34 @@ label nt_he_astoria_E1: ton "Astoria Greengrass." ("open", "wide", "base", "mid") gen "Ah yes, the hot-headed one." ("base", xpos="far_left", ypos="head") ton "Yes, she's pretty cute isn't she..." ("base", "happyCl", "base", "mid") - ton "I wouldn't mind giving her a thorough robe inspection - if you know what I'm saying." ("horny", "base", "raised", "mid", hair="horny") - ton "This girl...{w=0.5} she's special...{w=0.8} different..." ("open", "base", "base", "R", hair="neutral") + ton @ hair horny "I wouldn't mind giving her a thorough robe inspection - if you know what I'm saying." ("horny", "base", "raised", "mid") + ton @ hair neutral "This girl...{w=0.5} she's special...{w=0.8} different..." ("open", "base", "base", "R") gen "You've got the hots for this girl?" ("base", xpos="far_left", ypos="head") ton "She's a Slytherin!" ("mad", "base", "raised", "mid") - gen "People keep saying that as if I'd know what the problem is." ("base", xpos="far_left", ypos="head") + gen "People keep saying that, as if I'd know what the problem is." ("base", xpos="far_left", ypos="head") ton "Oh yes... I guess I'm a teacher now - so I should be more impartial..." ("upset", "base", "raised", "down") ton "Old habits, I suppose." ("soft", "base", "base", "R") ton "But no, it's not that." ("open", "base", "base", "mid") - ton "This girl you see, she's cursed... and it's quite a hefty curse at that!" ("open", "narrow", "worried", "R") + ton "This girl, you see... She's cursed... And it's quite a hefty curse at that!" ("open", "narrow", "worried", "R") gen "You don't say..." ("base", xpos="far_left", ypos="head") #ton "This girl is cursed... and it's quite a problem." ("base", "base", "base", "mid") #gen "Don't you mean this cursed girl {i}is{/i} a problem?" ("base", xpos="far_left", ypos="head") #ton "No, she's cursed. Quite a hefty curse at that!" ("base", "base", "base", "mid") #gen "..." ("base", xpos="far_left", ypos="head") ton "Her family - the Greengrass family - is quite infamous in the wizarding world." ("open", "base", "base", "L") - ton "They're known for being a very high class family of witches and wizards..." ("open", "base", "raised", "R") + ton "They're known for being a very high-class family of witches and wizards..." ("open", "base", "raised", "R") ton "Some of them are very stuck-up and spoiled, for that reason." ("upset", "base", "base", "R") ton "It's quite the norm for most pure-blood families, actually." ("open", "closed", "base", "mid") gen "Get to the point..." ("base", xpos="far_left", ypos="head") ton "*Sigh*" ("disgust", "base", "base", "down") - ton "One of the Greengrass ancestors was put under a blood curse, and I fear that parts of this curse have trickled down through the generations and surfaced in Astoria." ("upset", "base", "worried", "mid") + ton "One of the Greengrass' ancestors was put under a blood curse, and I fear that parts of this curse have trickled down through the generations and surfaced in Astoria." ("upset", "base", "worried", "mid") ton "Its original purpose was to bring down the family and make them appear weak in the eyes of the wizarding community." ("normal", "base", "base", "R") ton "Every now and then one of the family members would become frail and live a short life." ("normal", "closed", "worried", "mid") gen "Oh shit..." ("base", xpos="far_left", ypos="head") ton "Yeah..." ("upset", "base", "worried", "down") gen "Hey, at least it's not the other way round, am I right..." ("base", xpos="far_left", ypos="head") - gen "Immortality can be quite the curse too you know..." ("base", xpos="far_left", ypos="head") + gen "Immortality can be quite the curse too, you know..." ("base", xpos="far_left", ypos="head") ton "Yes, I can see how much you're hurting inside..." ("normal", "base", "base", "R") ton "The opportunity to have sex with some of the most attractive women in all of history must really suck." ("soft", "base", "raised", "mid") gen "I'll live with it..." ("base", xpos="far_left", ypos="head") @@ -927,13 +895,12 @@ label nt_he_astoria_E1: gen "..." ("base", xpos="far_left", ypos="head") gen "Mind explaining to me what asexual's supposed to mean?" ("base", xpos="far_left", ypos="head") ton "You don't know?" ("open", "shocked", "raised", "mid") - ton "Well that's not too surprising - all things considered..." ("normal", "narrow", "base", "L") + ton "Well, that's not too surprising... All things considered." ("normal", "narrow", "base", "L") ton "It means she experiences no sexual desires or attractions. To anything!" ("annoyed", "narrow", "shocked", "mid") - gen "WHAT?!" ("angry", xpos="far_left", ypos="head") + gen "What?!" ("angry", xpos="far_left", ypos="head") ton "I know!" ("mad", "base", "worried", "mid") gen "By the great desert sands... That's a curse worse than death." ("base", xpos="far_left", ypos="head") ton "The curse has seemingly gone from killing off random members of their family to preventing new members from being born." ("upset", "base", "base", "R") - #gen "Wait, since when can spells change their outcome like that?" ("base", xpos="far_left", ypos="head") gen "Magic doesn't make any fucking sense in this universe..." ("base", xpos="far_left", ypos="head") ton "Hey, it makes perfect sense!" ("open", "base", "angry", "mid") ton "..." ("upset", "base", "worried", "R") @@ -954,20 +921,20 @@ label nt_he_astoria_E1: ton "It's not contagious, you numpty!" ("open", "base", "annoyed", "mid") ton "Have you not been paying attention? It's a family curse!" ("mad", "base", "angry", "mid") gen "..." ("base", xpos="far_left", ypos="head") - ton "That being said, I'd rather have her do it with me..." ("base", "base", "raised", "R", hair="horny") - gen "Are we still talking about the \"Imperio\" thingy?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "That being said, I'd rather have her do it with me..." ("base", "base", "raised", "R") + gen "Are we still talking about the im-pervio thingy?" ("base", xpos="far_left", ypos="head") ton "Yes..." ("soft", "narrow", "raised", "downR") gen "So your goal is to get rid of this curse she's inherited by somehow awakening her sexuality?" ("base", xpos="far_left", ypos="head") ton "It might not be that easy, but I think it would be a good start." ("open", "base", "base", "L") ton "I must at least know if my theory is correct..." ("normal", "base", "base", "R") - gen "I don't see how this \"Imperio\" thing plays into it, but if you say so..." ("base", xpos="far_left", ypos="head") + gen "I don't see how this im-pervio thing plays into it, but if you say so..." ("base", xpos="far_left", ypos="head") ton "I'll speak to Miss Greengrass." ("open", "base", "base", "mid") ton "I doubt she'll have many objections..." ("base", "happyCl", "base", "mid") - ">You ask Tonks to explain asexuality to you some more..." - ">You still can't wrap your mind around the fact that such a horrible thing exists..." + nar "You ask Tonks to explain asexuality to you some more..." + nar "You still can't wrap your mind around the fact that such a horrible thing exists..." - $ nt_he.astoria_E1 = True + $ states.ton.ev.hangouts.astoria_e1 = True call music_block jump end_tonks_hangout_points @@ -975,16 +942,16 @@ label nt_he_astoria_E1: ### Event 4 ### # Astoria summon unlock. -# If you pick the wrong choice Astoria won't return for a week and ignores you. +# If you pick the wrong choice, Astoria won't return for a week and ignores you. label astoria_intro_E4: stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" gen "(...)" ("base", xpos="far_left", ypos="head") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" menu: @@ -1012,14 +979,14 @@ label astoria_intro_E4: gen "..." ("base", xpos="far_left", ypos="head") $ ag_event_pause += 1 - $ astoria_busy = True + $ states.ast.busy = True jump main_room_menu call ast_walk("desk","base") pause.2 - call play_music("astoria") + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed ast "Hello, Professor." ("smile", "base", "base", "mid", xpos="mid", ypos="base") ast "Professor Tonks told me to talk to you, Sir." ("open", "base", "base", "R") gen "....................." ("base", xpos="far_left", ypos="head") @@ -1028,7 +995,7 @@ label astoria_intro_E4: gen "(Shit, was I supposed to do something with her?)" ("base", xpos="far_left", ypos="head") ast "...................." ("annoyed", "base", "base", "R") gen "(Oh that's right. Freeing her from her curse...)" ("base", xpos="far_left", ypos="head") - ast "Sir, If there's nothing you need of me then I'd like to leave..." ("open", "narrow", "base", "mid") + ast "Sir, If there's nothing you need of me, then I'd like to leave..." ("open", "narrow", "base", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") @@ -1051,9 +1018,9 @@ label astoria_intro_E4: # Astoria leaves. call ast_walk(action="leave") - call bld - gen "I'd better not mention this to Tonks..." ("base", xpos="far_left", ypos="head") - gen "I'm sure she'll come back for her punishment." ("base", xpos="far_left", ypos="head") + gen "(Oh, wait! Her punishment!)" ("angry", xpos="far_left", ypos="head") + gen "(I'd better not mention this to Tonks...)" ("base", xpos="far_left", ypos="head") + gen "(I'm sure Astoria will come back for her punishment eventually...)" ("base", xpos="far_left", ypos="head") $ ag_event_pause += 7 # Returns a week later. @@ -1076,19 +1043,18 @@ label astoria_intro_E4: # Astoria leaves. call ast_walk(action="leave") - call bld - gen "..." ("base", xpos="far_left", ypos="head") + gen "(...)" ("base", xpos="far_left", ypos="head") gen "(I am way too good to my students.)" ("base", xpos="far_left", ypos="head") gen "(Who wouldn't want to be in detention with that nympho?)" ("grin", xpos="far_left", ypos="head") gen "(That girl should consider herself lucky...)" ("base", xpos="far_left", ypos="head") - $ astoria_busy = True + $ states.ast.busy = True - $ astoria_unlocked = True - $ astoria_wardrobe_unlocked = True # TODO: Move to a proper event once they've been added. + $ states.ast.unlocked = True + $ states.ast.wardrobe_unlocked = True # TODO: Move to a proper event once they've been added. $ achievements.unlock("unlockast", True) call popup("{size=-4}You can now summon Astoria into your office.{/size}", "Character unlocked!", "interface/icons/head/astoria.webp") - $ astoria_intro.E4_complete = True + $ states.ast.ev.intro.e4_complete = True jump main_room_menu diff --git a/game/scripts/characters/astoria/events/spells/imperio_susan.rpy b/game/scripts/characters/astoria/events/spells/imperio_susan.rpy new file mode 100644 index 00000000..005f6d23 --- /dev/null +++ b/game/scripts/characters/astoria/events/spells/imperio_susan.rpy @@ -0,0 +1,1026 @@ + + +### Susan Imperio Events ### + +label ag_se_imperio_sb: + + if not _events_completed_any: + menu: + gen "{size=-4}(Should I ask her to cast Imperio on Miss Bones?){/size}" ("base", xpos="far_left", ypos="head") + + "\"(Yes, let's do it!)\"": + pass + "\"(Not right now.)\"": + $ _event.cancel() + jump astoria_favor_menu + + if states.sus.busy: + gen "(Something tells me Susan is not available right now, perhaps I should try later...)" ("base", xpos="far_left", ypos="head") + $ _event.cancel() + jump astoria_favor_menu + + # Setup + $ sus_outfit_last.save() # Store current outfit. + $ ast_outfit_last.save() # Store current outfit. + + $ susan.equip(sus_outfit_default) + $ astoria.equip(ast_outfit_default) + + $ astoria_chibi.zorder = 4 # In front of Susan. + + call ast_chibi("stand",530,"base") #Align with spell casting chibi + + return + +label end_ag_se_imperio_sb: + + # Reset + $ astoria_chibi.zorder = 3 # Default + + $ susan.equip(sus_outfit_last) # Equip player outfit. + $ astoria.equip(ast_outfit_last) # Equip player outfit. + + $ states.ast.busy = True + $ states.sus.busy = True + + # Increase level + if not _events_filtered_completed_all: + $ states.ast.level += 1 + + $ states.ast.ev.imperio_with_susan.completed_once = True + + jump end_astoria_event + +label ag_se_imperio_sb_E1: + + call ag_se_imperio_sb + + gen "I think it's time for you to try that spell on another person." ("base", xpos="far_left", ypos="head") + ast "Another person?" ("open", "narrow", "base", "mid", xpos="base", ypos="base", trans=dissolve) + ast "But I thought professor Tonks--" ("annoyed", "narrow", "worried", "mid") + gen "I've already spoken to your teacher, and we both think it'd be best if I took over the lessons for now." ("base", xpos="far_left", ypos="head") + ast "Really?" ("open", "narrow", "worried", "mid") + gen "*Err*...{w=0.4} Yes." ("base", xpos="far_left", ypos="head") + ast "*Hmm*... Well, you're the headmaster so whatever you say..." ("base", "narrow", "base", "mid") + gen "Good!" ("grin", xpos="far_left", ypos="head") + gen "Then Let's have you try it on that Susan girl again..." ("base", xpos="far_left", ypos="head") + ast "You want me to... What?!" ("open", "base", "base", "mid") + ast "But I thought--" ("angry", "narrow", "worried", "mid") + gen "Don't tell me you wouldn't have given in to the temptation anyway." ("base", xpos="far_left", ypos="head") + ast "...{w} I mean..." ("annoyed", "narrow", "base", "down") + gen "You got lucky last time, if you were to be caught again, then I don't think even I would be able to save you..." ("base", xpos="far_left", ypos="head") + gen "This way, you'll get that anger of yours out of your system, and we can both move on with our lives." ("base", xpos="far_left", ypos="head") + ast "No, thanks!" ("base", "closed", "angry", "mid") + gen "What? How could you say no to this?" ("angry", xpos="far_left", ypos="head") + ast "If I can't use it to embarrass her in front of the other students, then what's the point?" ("angry", "narrow", "base", "mid") + gen "You don't think she'd be more embarrassed if you got her to do something in front of her headmaster?" ("base", xpos="far_left", ypos="head") + ast "I suppose..." ("annoyed", "narrow", "worried", "R") + ast "But don't you think she'll figure out that you're in on it? Surely, she'd just report--" ("angry", "narrow", "worried", "mid") + gen "We'll just wipe her memory." ("base", xpos="far_left", ypos="head") + gen "That should let you cast it on her as many times as you like..." ("base", xpos="far_left", ypos="head") + ast "You can do that?" ("open", "narrow", "base", "mid") + gen "Apparent--{w=0.4} Yes!" ("base", xpos="far_left", ypos="head") + gen "They haven't taught you that one?" ("base", xpos="far_left", ypos="head") + ast "You're the one in charge here...{w=0.4} It's the first time I've heard of it." ("annoyed", "narrow", "base", "mid") + gen "(Maybe there's a good reason for it...)" ("base", xpos="far_left", ypos="head") + ast "..." ("annoyed", "narrow", "base", "down") + gen "So, what do you say?" ("grin", xpos="far_left", ypos="head") + ast "..." ("annoyed", "closed", "base", "mid") + ast "...{fast} Heck yes!" ("smile", "narrow", "base", "mid") + gen "Great! Then let me just bring her up here..." ("grin", xpos="far_left", ypos="head") + + stop music fadeout 1 + hide astoria_main + with d3 + pause .8 + + nar "You summon Susan to your office." + + play sound "sounds/knocking.ogg" + "*knock-knock-knock*" + sus "*Uhm*... Professor Dumbledore, you wanted to see me?" + gen "Yes Miss Bones, and that would require you to come in here..." ("base", xpos="far_left", ypos="head") + sus "Oh... Right..." + + call sus_walk(action="enter") + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + ast "Hey [name_susan_astoria]!" ("grin", "narrow", "base", "L", xpos="right", ypos="base") + sus "Astoria? What are you doing here?" ("angry", "wide", "shocked", "left", xpos="base", ypos="base") + ast "Oh, don't mind me..." ("base", "base", "base", "R") + + gen "Come up here for a moment, Miss Bones..." ("base", xpos="far_left", ypos="head") + sus "Oh... Okay sir." ("soft", "base", "base", "mid") + + call sus_walk("desk") + pause.2 + + gen "Alright, so the reason--" ("base", xpos="far_left", ypos="head") + + call ast_chibi("wand",530,"base") + ast "Is so that I could put a curse on you!" ("grin", "narrow", "angry", "mid", xpos="base", ypos="base") + sus "P-Put a curse on me?!!" ("open", "wide", "shocked", "stare", xpos="right", ypos="base") + + call ast_chibi("wand_casting",530,"base") + sus "No! Professor, do someth--" ("angry", "base", "base", "mid") + + # Astoria casts imperio. + stop music fadeout 2.0 + hide susan_main + ast "IMPERIO!" ("scream", "base", "angry", "mid") + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + sus "W-what{w=0.3} are{w=0.3} y{w=0.1}o{w=0.1}u--" ("soft", "base", "base", "stare") + nar "Susan's eyes flicker and a blank expression spreads across her face." + sus "..." ("soft", "narrow", "base", "stare") + + call ast_chibi("wand",530,"base") + + ast "Finally..." ("grin", "base", "angry", "mid") + ast "So, what should we do now?" ("open", "base", "base", "R") + ast "We could do whatever we want [name_genie_astoria]!" ("open", "base", "base", "R") + gen "How about we have her take her clothes off?" ("base", xpos="far_left", ypos="head") + ast "All of them?!" ("clench", "base", "worried", "mid") + gen "What? Didn't that work last time?" ("base", xpos="far_left", ypos="head") + gen "Let's find out if she really is a secret exhibitionist!" ("grin", xpos="far_left", ypos="head") + ast "I only made her take her top off." ("open", "base", "base", "mid") + gen "Then there you go!" ("grin", xpos="far_left", ypos="head") + ast "Okay then..." ("smile", "base", "base", "L") + ast "Susan, are you listening?" ("open", "closed", "base", "mid") + sus "Yes..." ("normal", "narrow", "base", "stare") + ast "Good, I want you to pay attention..." ("open", "base", "base", "L") + sus "..." ("soft", "narrow", "base", "stare") + ast "I want you to...{w} to..." ("open", "base", "base", "L") + gen "Tell her to take off her top!" ("base", xpos="far_left", ypos="head") + ast "Very well, [name_genie_astoria]..." ("clench", "base", "base", "L") + ast "Susan, I want you to take off your...{w} your...{w} Take your top off!" ("clench", "base", "base", "L") + sus @ cheeks blush "..." ("soft", "wide", "shocked", "stare") + + sus @ cheeks blush "..." ("soft", "narrow", "low", "stare") + + play sound "sounds/gulp.ogg" + gen "*Gulp!*" ("angry", xpos="far_left", ypos="head") + + hide susan_main + play sound "sounds/cloth_sound3.ogg" + $ susan.strip("top") + sus "" ("angry", "narrow", "base", "stare") + pause.5 + + gen "Oh no, Miss Bones!" ("base", xpos="far_left", ypos="head") + gen "What are you doing?!" ("grin", xpos="far_left", ypos="head") + hide screen bld1 + with d3 + pause.8 + + call gen_chibi("jerk_off_behind_desk") + pause.5 + + sus @ cheeks blush "..." ("angry", "wide", "sad", "stare") + ast "Speak, [name_susan_astoria]!" ("annoyed", "narrow", "base", "mid") + sus @ cheeks blush "I-I-I'm sorry, Professor Dumbledore, I don't know what's come over me..." ("open", "wide", "sad", "stare") + sus @ cheeks blush "I'm Sorry you have to see this..." ("angry", "narrow", "sad", "stare") + ast "See what Suzy?" ("grin", "narrow", "angry", "mid") + sus @ cheeks blush "My gross boobs..." ("open", "happy", "worried", "stare") + ast "(I knew they were gross!)" ("grin", "base", "angry", "L") + sus @ cheeks blush "Please Sir--" ("open", "narrow", "worried", "stare") + sus @ cheeks blush "Don't think less of me..." ("soft", "narrow", "worried", "stare") + ast "Now take them out!" ("angry", "narrow", "base", "L") + sus @ cheeks blush "" ("soft", "narrow", "base", "stare") + pause .8 + + hide susan_main + play sound "sounds/cloth_sound3.ogg" + $ susan.strip("bra") + sus @ cheeks blush "" ("soft", "narrow", "low", "stare") + + gen "{size=+10}Nice!{/size}" ("angry", xpos="far_left", ypos="head") + ast "Sir!" ("base", "narrow", "angry", "mid") + gen "What? You can't blame me for this!" ("base", xpos="far_left", ypos="head") + ast "We're doing this, so I can cast the spell more successfully." ("clench", "narrow", "angry", "mid") + gen "Don't you think her breasts are pretty?" ("base", xpos="far_left", ypos="head") + ast "{b}No!{/b} they're huge and soft and squishy and, and, and... gross!" ("clench", "closed", "angry", "mid") + gen "Well, you've got two out of three..." ("grin", xpos="far_left", ypos="head") + gen "You're right about them being huge and soft." ("grin", xpos="far_left", ypos="head") + ast "Sir!" ("clench", "narrow", "angry", "mid") + sus @ cheeks blush "Did I do something wrong?" ("angry", "happy", "worried", "stare") + ast "Your ugly tits are all wrong, they belong on a cow!" ("scream", "base", "angry", "L") + sus @ cheeks blush "Cow!? W-why are you always being so mean to me?" ("angry", "wide", "sad", "stare") + ast "*Pfft*... you know..." ("annoyed", "narrow", "angry", "R") + sus @ cheeks blush "A-{w=0.3}Are you just going to let her say that, s-sir?" ("soft", "happy", "worried", "stare") + ast "Shut up cow!" ("angry", "narrow", "angry", "R") + sus @ cheeks blush "" ("upset", "happy", "sad", "stare") + pause .8 + + nar "You keep stroking your rock-hard cock whilst marvelling at Susan's heaving chest." + gen "(So big...{w=0.4} Soft...{w=0.4} And squishy...)" ("angry", xpos="far_left", ypos="head") + sus @ cheeks blush "..." ("upset", "happy", "sad", "stare") + ast "Alright, I think you're enjoying this a little too much!" ("clench", "base", "angry", "mid") + gen "Just give me a minute..." ("base", xpos="far_left", ypos="head") + pause.2 + + stop music fadeout 1 + call hide_characters + call ast_chibi("reset",530,"base") + hide screen bld1 + with fade + pause.8 + + ast "" ("annoyed", "base", "angry", "R") + sus "W--{w=0.2} what..." ("angry", "narrow", "base", "stare") + + nar "Susan's eyes flicker once more as the spell lessens its hold." + + call gen_chibi("sit_behind_desk") + with d3 + pause.1 + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + gen "(Damn it! Why did she do that?)" ("angry", xpos="far_left", ypos="head") + sus "..." ("soft", "narrow", "base", "stare") + ast "Put your clothes on, Suzy." ("smile", "base", "base", "mid") + sus "..." ("normal", "narrow", "base", "stare") + + hide susan_main + play sound "sounds/cloth_sound3.ogg" + $ susan.wear("bra", "top") + sus "" ("soft", "narrow", "base", "stare") + pause.5 + + + hide susan_main + sus "" ("soft", "narrow", "base", "stare") + pause.5 + nar "Susan dresses herself... Her eyes still looking quite unfocused and seemingly struggling to properly take in her surroundings." + + gen "*Aww*...{w=0.4} Why would you do that?" ("base", xpos="far_left", ypos="head") + ast "You were getting too excited, old man." ("clench", "base", "angry", "mid") + gen "So what?" ("base", xpos="far_left", ypos="head") + ast "How am I going to get any better if you keep distracting me?" ("annoyed", "narrow", "angry", "R") + gen "Couldn't you have made her dance, or something at least..." ("base", xpos="far_left", ypos="head") + ast "I could have..." ("annoyed", "base", "base", "L") + gen "Then why don't we?" ("base", xpos="far_left", ypos="head") + ast "Because it's boring!" ("annoyed", "narrow", "base", "ahegao") + ast "I want to do something fun!" ("open", "closed", "base", "mid") + gen "*Ugh*... fine..." ("base", xpos="far_left", ypos="head") + ast "But not today..." ("annoyed", "base", "base", "mid") + ast "I should put Bessy here back in her barn before people start to notice." ("grin", "base", "angry", "L") + sus "(*Hmm*...)" ("soft", "narrow", "base", "stare") + gen "Alright..." ("base", xpos="far_left", ypos="head") + ast "Just call me for the next practice session!" ("smile", "narrow", "base", "mid") + gen "Will do." ("base", xpos="far_left", ypos="head") + gen "Oh, please escort Miss Bones to professor Tonks to be obliterated..." ("base", xpos="far_left", ypos="head") + ast "Obliviated?" ("base", "base", "worried", "mid") + gen "Yeah, that!" ("base", xpos="far_left", ypos="head") + ast "Can't you do it?" ("annoyed", "base", "base", "mid") + nar "Susan's eyes shift and become a bit more focused as she begins to recognize where she is..." + sus "Wait, where...{w=0.4} am..." ("soft", "narrow", "base", "downL") + gen "My wand casting hand is a bit tired for some reason..." ("base", xpos="far_left", ypos="head") + ast "Fine..." ("annoyed", "base", "worried", "R") + gen "And hurry up will you?" ("base", xpos="far_left", ypos="head") + ast "Yeah, yeah..." ("annoyed", "narrow", "base", "mid") + + call ast_walk("door","base") + pause.2 + call ast_chibi("stand","door","base", flip=False) + with d3 + pause.5 + + ast "Come on Suzy, time to give professor Tonks a visit." ("open", "base", "base", "mid") + sus "Professor...{w=0.4} Tonks?" ("soft", "narrow", "shocked", "downL") + + call sus_walk(680, "base") + call sus_chibi("leave") + + + call hide_characters + call ast_chibi("stand","door","base", flip=True) + pause .3 + call ast_chibi("leave") + hide screen bld1 + with d3 + pause.5 + + call bld + gen "(*Hmm*... Looks like Miss Bones had more of a lingering effect than Tonks...)" ("base", xpos="far_left", ypos="head") + gen "(Maybe leaving Tonks out of this was a bad idea...)" ("base", xpos="far_left", ypos="head") + gen "(Nah...{w=0.3} She's had her fun...)" ("base", xpos="far_left", ypos="head") + + jump end_ag_se_imperio_sb + +label ag_se_imperio_sb_E2: + + call ag_se_imperio_sb + + ast "Let's try something else this time!" ("grin", "narrow", "base", "mid", xpos="close", ypos="base", trans=fade) + gen "Of course!" ("grin", xpos="far_left", ypos="head") + ast "Great, I can't wait to see the look on Susan's dumb face..." ("grin", "closed", "base", "mid") + gen "Let me just bring her up here." ("base", xpos="far_left", ypos="head") + + stop music fadeout 1 + gen "..." ("base", xpos="far_left", ypos="head") + ast "..." ("annoyed", "base", "base", "R") + + call hide_characters + hide screen bld1 + with d3 + call sus_walk(action="enter") + pause.2 + + sus "You wanted to see me, sir?" ("soft", "base", "base", "mid", xpos="base", ypos="base") + sus "Astoria? Why are you here?" ("angry", "wide", "base", "left") + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + ast "Oh... no reason..." ("annoyed", "base", "base", "down", xpos="right", ypos="base") + gen "Come up here for a moment Miss Bones..." ("base", xpos="far_left", ypos="head") + sus "Okay..." ("open", "base", "base", "mid") + + call hide_characters + with d3 + + call sus_walk("desk") + pause.2 + + sus "Is there something wrong, Professor?" ("open", "happy", "base", "left", xpos="right", ypos="base") + gen "As a matter of fact there is..." ("base", xpos="far_left", ypos="head") + sus "R-really? Is this about me returning my books to the library a day late?" ("angry", "happy", "base", "mid") + sus "I swear it won't happen again!" ("angry", "happy", "worried", "mid") + gen "What? No, I'm afraid there's an issue with your uniform..." ("base", xpos="far_left", ypos="head") + sus "Oh... Is it because I'm not wearing the school robe?" ("soft", "happy", "base", "mid") + sus "I can wear it from now on if you like!" ("soft", "wide", "sad", "mid") + gen "Actually, Wearing too many clothes is the problem." ("base", xpos="far_left", ypos="head") + sus "W-w-what???" ("angry", "wide", "base", "mid") + sus "You can't be serious, sir!" ("clench", "wide", "base", "mid") + gen "I am, Miss Bones..." ("base", xpos="far_left", ypos="head") + gen "Hiding away those glorious milk duds of yours is a serious offence!" ("grin", xpos="far_left", ypos="head") + ast "(*Pffft*, gloriously gross...)" ("annoyed", "base", "angry", "R", xpos="base", ypos="base") + sus @ cheeks blush "P-professor Dumbledore! Why would you say s-something like that!" ("angry", "wide", "sad", "stare", trans=hpunch) #Perhaps she should be a bit intrigued =Blush + + call ast_chibi("wand",530,"base") + sus @ cheeks blush "I think I better go..." ("disgust", "base", "sad", "right") + call ast_chibi("wand_casting",530,"base") + ast "" ("grin", "base", "angry", "L") + pause.5 + + # Astoria casts imperio. + stop music fadeout 2.0 + hide susan_main + ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + sus "..." ("soft", "happy", "shocked", "stare") + ast "*ha-ha-ha-ha!*" ("grin", "closed", "base", "mid") + ast "Her face was priceless when you said milk duds..." ("grin", "base", "base", "L") + gen "You liked that?" ("base", xpos="far_left", ypos="head") + ast "Of course! Anything to bring Bessy here down a peg." ("smile", "base", "base", "L") + + call ast_chibi("wand",530,"base") + ast "So what should we make her do today, [name_genie_astoria]?" ("smile", "base", "base", "mid") + gen "Something fun, perhaps?" ("base", xpos="far_left", ypos="head") + ast "*Hmm*..." ("annoyed", "narrow", "base", "R") + gen "Maybe something a little more... adventurous?" ("base", xpos="far_left", ypos="head") + ast "You mean like making her show you her milk duds?" ("upset", "narrow", "base", "mid") + gen "Well, if you insist..." ("base", xpos="far_left", ypos="head") + ast "*Ugh*... You're such a filthy pervert!" ("clench", "narrow", "angry", "mid") + gen "We can do something else if you--" ("base", xpos="far_left", ypos="head") + ast "I didn't say no..." ("upset", "closed", "base", "mid") + gen "Oh... Then how about you make it so--" ("base", xpos="far_left", ypos="head") + ast "I get to choose, [name_genie_astoria]!" ("scream", "closed", "angry", "mid") + gen "What? Why?" ("base", xpos="far_left", ypos="head") + ast "Because it's my spell and my wand!" ("open", "narrow", "angry", "mid") + ast "Not to mention, you'd probably do something over the top and gross..." ("open", "narrow", "angry", "R") + gen "Probably..." ("base", xpos="far_left", ypos="head") + gen "So, what's your plan?" ("base", xpos="far_left", ypos="head") + ast "Just wait and see, old man!" ("clench", "narrow", "angry", "mid") + ast "Susan, can you hear me?" ("open", "closed", "base", "L") + sus "Yes..." ("open", "happy", "base", "stare") + ast "You now have an uncontrollable urge to take your top off, okay?" ("open", "closed", "base", "mid") + sus "Okay..." ("soft", "happy", "base", "stare") + ast "Awesome! Now act like you normally would, [name_susan_astoria]!" ("grin", "base", "angry", "L") + sus "..." ("normal", "base", "base", "stare") + + nar "The blank expression slowly fades from Susan's eyes..." + sus "*Ugh*..." ("angry", "narrow", "low", "down") + sus "What happened?" ("angry", "narrow", "base", "mid") + ast "Nothing, Suzy... Dumbledore was just explaining how your uniform wasn't up to scratch." ("grin", "base", "base", "mid") + sus "My uniform... You're right... Too many clothes..." ("disgust", "happy", "sad", "downL") + sus "I need to take off my top..." ("soft", "narrow", "low", "down") + ast "*Mhmm*, that's right, Suzy... Why don't you show the old man here your gross boobs... Don't you think he's old?" ("grin", "base", "angry", "mid") + sus "I... I suppose..." ("open", "happy", "low", "downL") + ast "That's right... Only a nasty slut would show her boobs to such a wrinkly old man..." ("grin", "narrow", "angry", "L") + gen "Hey!" ("base", xpos="far_left", ypos="head") + ast "Quiet sir... don't ruin my fun!" ("clench", "narrow", "angry", "mid") + gen "Fine..." ("base", xpos="far_left", ypos="head") + sus "I-I'm not a slut..." ("angry", "happyCl", "base", "down") + ast "Well, I'm sure you'll be able to keep your top on then, [name_susan_astoria]." ("open", "closed", "base", "mid") + sus @ cheeks blush "I... There's something wrong, sir!" ("angry", "happyCl", "low", "mid") + sus @ cheeks blush "I can't help it..." ("angry", "happy", "worried", "down") + ast "" ("grin", "base", "angry", "L") + pause.2 + + hide susan_main + play sound "sounds/cloth_sound3.ogg" + $ susan.strip("top", "bra") + sus @ cheeks blush "" ("angry", "wide", "shocked", "down") + call ctc + + gen "Nice!" ("angry", xpos="far_left", ypos="head") + hide screen bld1 + with d3 + pause.1 + call gen_chibi("jerk_off_behind_desk") + pause.8 + + ast "[name_genie_astoria]! Are you touching yourself?" ("scream", "base", "base", "mid") + gen "*Ugh*... can you blame me?" ("base", xpos="far_left", ypos="head") + gen "It's not every day you get to see a rack like this..." ("angry", xpos="far_left", ypos="head") + ast "Well, stop it! It's gross!" ("clench", "narrow", "angry", "mid") + gen "Alri--" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "Please sir... it's too much!" ("angry", "happy", "worried", "downR") + sus @ cheeks blush "It's bad enough that I can't help showing you my breasts..." ("disgust", "happyCl", "worried", "mid") + ast "Wait..." ("smile", "base", "base", "mid") + ast "Keep going, sir!" ("clench", "narrow", "angry", "mid") + gen "What?" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "What?" ("angry", "wide", "sad", "right") + ast "Well if Bessy here hates it... Then I love it!" ("clench", "narrow", "angry", "L") + ast "Besides, it's not like I can see through the desk." ("open", "closed", "base", "mid") + sus @ cheeks blush "(...)" ("annoyed", "happy", "sad", "right") + gen "So you're okay with this?" ("base", xpos="far_left", ypos="head") + ast "*Mhmm*... Just don't expect me to touch it, old man!" ("upset", "narrow", "angry", "mid") + sus @ cheeks blush "W-why is this happening!" ("angry", "closed", "worried", "mid") + ast "No one asked you, slut!" ("clench", "narrow", "angry", "L") + sus @ cheeks blush "I am not a slut!" ("angry", "happy", "low", "stare") + ast "Ha! You're standing here, letting old man dumbledore ogle your fat tits while he jerks his wrinkly old cock!" ("open", "closed", "base", "mid") + ast "If that's not a slut, then I don't know what is!" ("clench", "narrow", "angry", "L") + gen "(There's no way Tonks would allow this, perhaps this was a good idea after all...)" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "I-- don't know why I'm doing this..." ("angry", "narrow", "base", "down") + sus @ cheeks blush "You probably cursed me!" ("angry", "base", "sad", "downR") + ast "Duh!" ("grin", "narrow", "angry", "L") + sus @ cheeks blush "Well stop it!" ("angry", "narrow", "base", "right") + ast "*Nuh-uh*!" ("open", "closed", "base", "mid") + sus @ cheeks blush "Please Astoria..." ("angry", "narrow", "shocked", "right") + + nar "You start to zone out as the two girls argue, focusing on Susan's heaving bosom." + gen "Yeah... that's it..." ("angry", xpos="far_left", ypos="head") + ast "You can leave once Dumbledore here's done." ("open", "closed", "base", "mid") + sus @ cheeks blush "What? you mean I have to wait until he..." ("angry", "wide", "worried", "mid") + sus @ cheeks blush "This is unbelievable!" ("angry", "wide", "sad", "mid") + sus @ cheeks blush "I'm going to report both of you to the ministry of magic!" ("upset", "happyCl", "annoyed", "mid") + sus @ cheeks blush "My aunt is the head of the department of magical law enforcement, I'll have you know!" ("angry", "narrow", "annoyed", "mid") + ast "yeah... I've met your creepy old aunt." ("annoyed", "narrow", "base", "L") + sus @ cheeks blush "What? Did you curse her too, you evil little witch?" ("open", "base", "angry", "right") + ast "I wish..." ("base", "narrow", "base", "R") + sus @ cheeks blush "Well, she's going to lock both of you away in Azkaban!" ("annoyed", "closed", "angry", "mid") + sus @ cheeks blush "You'll never see me or anyone else again..." ("base", "closed", "annoyed", "mid") + ast "Yeah, sure!" ("grin", "base", "angry", "L") + sus @ cheeks blush "*Ugh*! You're both sick!" ("disgust", "narrow", "annoyed", "stare") + ast "Says the slut baring her chest for the headmaster." ("smile", "base", "base", "L") + gen "*Mmmm*... Keep shaking those tits of yours..." ("angry", xpos="far_left", ypos="head") + sus @ cheeks blush "I am not a {size=+10}slut!{/size}" ("angry", "base", "angry", "stare") + nar "As Susan yells at the top of her voice, the effort causes her gigantic tits to rise and slap back together." + + gen "{size=+10}HERE IT COMES!{/size}" ("angry", xpos="far_left", ypos="head") + sus @ cheeks blush "" ("clench", "wide", "shocked", "stare") + hide screen bld1 + with d3 + pause.1 + call gen_chibi("cum_behind_desk") + call cum_block + gen "{size=+10}AHHH... YESS!!!!{/size}" ("angry", xpos="far_left", ypos="head") + call gen_chibi("cum_behind_desk_done") + pause.5 + ast "Woah... I didn't think you'd have that much in you, sir..." ("clench", "base", "base", "mid") + + sus @ cheeks blush "{size=+10}*Hmph*! I hope you Enjoy Azkaban, perverts!{/size}" ("angry", "base", "angry", "mid") + + ast "" ("annoyed", "narrow", "base", "R") + + nar "As you finish shooting your massive load, Susan's leg twitches slightly..." + + ast "Can't have that, can we... Let's delve deeper." ("grin", "narrow", "angry", "L") + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + sus "" ("soft", "happy", "shocked", "stare") + gen "W-what?" ("base", xpos="far_left", ypos="head") + nar "You watch as a colourful mist spreads from the tip of Astoria's wand and seeps into Susan's nostrils..." + ast "Suzy, you can still hear me, right?" ("open", "base", "base", "L") + sus "Yes..." ("open", "happy", "base", "stare") + + call ast_chibi("wand",530,"base") + ast "She's just so easy to put under the spell..." ("base", "narrow", "worried") + ast "Nothing like Tonks, there's something wrong here..." (eyes="base", pupils="R") + gen "W-what do you mean?" ("base", xpos="far_left", ypos="head") + ast "Quiet!" ("clench", "base", "base", "mid") + gen "..." ("angry", xpos="far_left", ypos="head") + ast "Suzy, I want you to speak the truth and nothing but the truth, okay?" ("open", "base", "base", "L") + sus "Okay..." ("soft", "narrow", "base", "stare") + gen "What are you--" ("base", xpos="far_left", ypos="head") + ast "..." ("upset", "base", "base", "mid") # Stares at you + gen "..." ("angry", xpos="far_left", ypos="head") + ast "Suzy, do you like baring your chest to the headmaster?" ("open", "base", "base", "L") + ast "Just like all those other closeted sluts?" ("clench", "narrow") + gen "(Oh shit...)" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "I... I..." ("angry", "narrow", "base", "stare") + ast "Tell me!" ("scream") + ast "" ("clench") + sus @ cheeks blush "I...{w=0.8} I do!" ("smile", "wink", "worried", "stare") + ast "I knew it!" ("scream", "narrow", "angry") # Angry + sus @ cheeks blush "" ("base", "narrow", "worried", "stare") + ast "Where's the fun if she's enjoying it!" ("clench", pupils="mid") + gen "*Errr-*" ("base", xpos="far_left", ypos="head") + ast "I want to humiliate this cow, but she's just another slut!" ("scream") + gen "A closeted slut..." ("base", xpos="far_left", ypos="head") + ast "Excuse me?" (mouth="open", eyebrows="worried") + ast "" (mouth="upset") + gen "Miss Greengrass... Are there any other Hufflepuff students you know of selling favours?" ("base", xpos="far_left", ypos="head") + ast "Why would I know or care what the Hufflepuffs are doing?" (mouth="clench") + gen "Just because she enjoys it doesn't mean it's not humiliating for her..." ("base", xpos="far_left", ypos="head") + gen "What would the other Hufflepuffs think of her if she knew what you have her do?" ("base", xpos="far_left", ypos="head") + ast "What do you mean?" ("upset", "base", "base") + gen "Ask her the right questions..." ("base", xpos="far_left", ypos="head") + ast "..." (eyes="closed") + ast "Suzy!" ("open", "narrow", "base", "L") + ast "" ("base") + sus @ cheeks blush "..." ("normal", "narrow", "raised", "stare") + ast "Are you ashamed of what you've done?" ("open", "base") + ast "" ("base") + sus @ cheeks blush "...{w=0.4} Yes." ("soft", "narrow", "worried", "stare") + ast "Would your house think less of you if they knew what you're doing here?" ("grin") + sus @ cheeks blush "They would..." ("open", "narrow", "worried", "stare") + gen "Well, there you go!" ("base", xpos="far_left", ypos="head") + ast "*Ha-ha-ha*!" ("smile") + gen "(Nailed it...)" ("base", xpos="far_left", ypos="head") + gen "So, are we continuing with the training?" ("base", xpos="far_left", ypos="head") + ast "Of course we are!" ("smile", "base", "base", "L") + gen "Great!" ("base", xpos="far_left", ypos="head") + + + ast "Suzy, put your clothes back on." ("grin", "base", "base", "L") + + sus "" ("normal", "narrow", "sad", "down") + pause.5 + nar "Susan begins dressing herself in silence..." + + hide susan_main + play sound "sounds/cloth_sound3.ogg" + $ susan.wear("top", "bra") + pause 1 + + stop music fadeout 1 + call hide_characters + call ast_chibi("reset",530,"base") + pause .5 + call ast_walk("door","base") + pause.2 + call ast_chibi("stand","door","base", flip=False) + with d3 + pause.5 + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + ast "Come on Suzy, time to give professor Tonks another visit." ("open", "base", "base", "L") + sus "*Hmm*... Another visit..." ("soft", "narrow", "sad", "downL") + + call sus_walk(action="leave") + + if game.daytime: + ast "See you, [name_genie_astoria]!" ("grin", "closed", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + else: + ast "Smell yah later, [name_genie_astoria]!" ("grin", "closed", "base", "mid") + gen "Good night." ("base", xpos="far_left", ypos="head") + + play sound "sounds/door.ogg" + call hide_characters + call ast_chibi("hide") + call gen_chibi("sit_behind_desk") + hide screen bld1 + with d3 + pause.5 + + jump end_ag_se_imperio_sb + +label ag_se_imperio_sb_E3: + + call ag_se_imperio_sb + + ast "" ("smile", "base", "base", "mid",xpos="close",ypos="base",trans=fade) + gen "Ready for another go with the curse?" ("base", xpos="far_left", ypos="head") + ast "You bet [name_genie_astoria]! I can't wait to see the look on Suzy's stupid face!" ("grin", "narrow", "angry", "down") + gen "Shall I bring her up here?" ("base", xpos="far_left", ypos="head") + ast "Do you even need to ask?" ("smile", "narrow", "base", "mid") + gen "I suppose not..." ("base", xpos="far_left", ypos="head") + + stop music fadeout 1 + + call hide_characters + with d3 + call sus_walk(action="enter") + pause.2 + + sus "You wanted to see me sir?" ("base", "base", "base", "mid", xpos="base", ypos="base") + sus "Astoria?" ("angry", "wide", "shocked", "left") + sus "What are you doing here?" ("open", "base", "sad", "left") + + gen "Come up here for a moment, Miss Bones..." ("base", xpos="far_left", ypos="head") + sus "Okay..." ("soft", "happy", "low", "mid") + + call sus_walk("desk") + pause.2 + + gen "..." ("base", xpos="far_left", ypos="head") + sus "*Ehm*... Can I help you with--" ("soft", "narrow", "base", "downL", xpos="right", ypos="base") + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + call ast_chibi("wand",530,"base") + ast "Blah, blah, blah..." ("open", "base", "base", "R", xpos="base", ypos="base") + + call ast_chibi("wand_casting",530,"base") + sus "I'm not in trouble for anything am--" ("angry", "happy", "base", "mid", xpos="right", ypos="base") + + # Astoria casts imperio. + stop music fadeout 2.0 + hide susan_main + ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + sus "Wait, what--" ("soft", "base", "base", "stare") + sus "" ("soft", "narrow", "base", "stare") + gen "Couldn't even wait this time?" ("base", xpos="far_left", ypos="head") + ast "Quiet old man." ("open", "narrow", "angry", "mid") + call ast_chibi("wand",530,"base") + ast "Susan, I want you to keep listening to my commands and act as if nothing out of the ordinary is happening." ("open", "narrow", "base", "L") + ast "Is that clear?" ("smile", "narrow", "angry", "L") + sus "Yes..." ("open", "narrow", "base", "stare") + ast "Great!{w} Now take your top off!" ("grin", "base", "angry", "L") + gen "!!!" ("angry", xpos="far_left", ypos="head") + pause .8 + + hide susan_main + play sound "sounds/cloth_sound3.ogg" + $ susan.strip("top") + sus "" ("base", "base", "base", "mid") + pause.5 + + nar "Susan's arms, now seemingly with a mind of their own, removes her top as she resumes speaking where she left off." + sus "Was this about the l-library books that I returned a day late s-sir?" ("open", "happy", "sad", "mid") + sus "I promise it won't happen again..." ("soft", "closed", "sad", "mid") + gen "Don't you worry about the books, Ms Bones!" ("grin", xpos="far_left", ypos="head") + sus "I--{w=0.4} I'm a bit confused sir, for what reason have you--" ("soft", "base", "low", "mid") + ast "Get those milk bags out Suzy!" ("clench", "narrow", "angry", "L") + sus "Of course..." ("open", "base", "low", "mid") + pause .8 + + hide susan_main + play sound "sounds/cloth_sound3.ogg" + $ susan.strip("bra") + sus "" ("base", "base", "base", "mid") + pause.5 + + gen "Miss Bones!" ("angry", xpos="far_left", ypos="head") + sus "Sir?" ("soft", "base", "raised", "mid") + sus "Have I done something wrong?" ("open", "base", "raised", "mid") + ast "Maybe it's because of you, showing off your gross boobs?" ("grin", "base", "angry", "L") + sus "Astoria! H-how can you say something so rude! I'd never..." ("soft", "happy", "annoyed", "right") + ast "Oh yeah?{w} Susan, I want you to look down and take in what you've been doing this whole time." ("open", "base", "angry", "L") + sus "" ("soft", "base", "base", "downL") + pause.8 + + nar "Susan's eyes drift down to her exposed chest." + sus "WHAT?!?!?" ("angry", "wide", "shocked", "down", trans=hpunch) + sus @ cheeks blush "I'm so sorry, professor Dumbledore!" ("open", "wide", "worried", "stare") + sus @ cheeks blush "I don't know what's come over me!" ("angry", "happyCl", "sad", "mid") + ast "Maybe it's just because you're a nasty slut!" ("annoyed", "base", "base", "L") + sus @ cheeks blush "I am not a {size=+10}slut{/size}, Astoria!" ("angry", "happyCl", "annoyed", "mid") + ast "*Pfft*... We both know that's not true... You love showing your headmaster those oversized bean bags of yours." ("annoyed", "base", "base", "R") + sus @ cheeks blush "I-- don't know why this is happening..." ("open", "happyCl", "annoyed", "down") + sus @ cheeks blush "You must have cursed me!" ("angry", "happy", "shocked", "stare") + ast "Bingo!" ("grin", "base", "angry", "L") + sus @ cheeks blush "Professor! You h-have to stop her!" ("open", "happy", "sad", "left") + gen "*Ugh*...{w=0.3} I'm afraid I can't do that, Miss Bones..." ("base", xpos="far_left", ypos="head") + ast "" ("grin", "narrow", "angry", "L") + sus @ cheeks blush "WHAT?!" ("angry", "wide", "low", "mid") + sus @ cheeks blush "W-w-w-well, my aunt will just send you--" ("angry", "happyCl", "annoyed", "mid") + + ast "Quiet!" ("scream", "base", "angry", "L") + nar "Astoria strengthens her grip on her wand, and focuses on maintaining the spell, increasing its effect on Susan." + + sus "To...{w=0.5} Azkaban..." ("soft", "narrow", "annoyed", "stare") + sus "..." ("soft", "narrow", "base", "stare") + ast "Alright... that'll shut her up...{w} what should we make her do this time, [name_genie_astoria]?" ("open", "closed", "base", "mid") + gen "*Hmm*... Are you actually going to let me choose this time, or are you just asking to be annoying?" ("base", xpos="far_left", ypos="head") + ast "Hey! I am not annoying!" ("scream", "narrow", "angry", "mid", trans=vpunch) + gen "So, are you going to let me pick then?" ("base", xpos="far_left", ypos="head") + ast "Fine... Just nothing too disgusting!" ("clench", "narrow", "base", "mid") + ast "Or boring... that'd be even worse!" ("upset", "narrow", "angry", "mid") + + gen "Alright... Well, first things first..." ("base", xpos="far_left", ypos="head") #I'll add a menu here with more options once art assets are drawn for them + + pause.1 + call gen_chibi("jerk_off_behind_desk") + pause.8 + + nar "Your hands sneak under your desk and around your engorged cock." + gen "That's better..." ("grin", xpos="far_left", ypos="head") + ast "(...)" ("annoyed", "narrow", "angry", "R") + gen "What?" ("base", xpos="far_left", ypos="head") + ast "I told you not to be boring! We already did this last time!" ("open", "closed", "base", "mid") + gen "If this is too boring, why don't you get her to suck me off?" ("grin", xpos="far_left", ypos="head") + ast "Sir! I said it shouldn't be something disgusting..." ("clench", "base", "base", "mid") + ast "I don't wanna have to see your nasty old cock!" ("clench", "narrow", "angry", "R") + gen "*Ugh*... Fine... What do you want to do then?" ("base", xpos="far_left", ypos="head") + ast "Well seeing as how you asked..." ("open", "closed", "base", "mid") + ast "Suzy, are you listening?" ("open", "narrow", "base", "L") + + sus "yes..." ("soft", "narrow", "base", "stare") + ast "I want you to crawl under the headmaster's desk." ("grin", "base", "base", "L") + gen "I thought you didn't want her to suck me off?" ("base", xpos="far_left", ypos="head") + ast "Shut it, and stop being so disgusting!" ("scream", "closed", "angry", "mid") + sus "..." ("base", "base", "base", "mid") + ast "Now go, [name_susan_astoria]!" ("grin", "narrow", "angry", "mid") + + call hide_characters + call sus_chibi("hide") + show screen blkfade + with d3 + + nar "Susan slowly makes her way around your desk before obediently crawling under." + pause.5 + hide screen blkfade + with d3 + + ast "" ("smile", "base", "base", "down",xpos="mid",ypos="base",trans=fade) + hide screen bld1 + call ctc + + ast "And you're not allowed to come out until I say so." ("open", "closed", "base", "mid") + sus "yes..." + ast "And if you actually are just a slut, then I want you to let that slut out! Show us that you really love it!" ("clench", "narrow", "base", "down") + sus "...{w=0.4} Love it?" + sus "I love it..." + ast "Good!" ("clench", "base", "angry", "L") + gen "Isn't that a little much?" ("base", xpos="far_left", ypos="head") + ast "*Pfft*! That's rich coming from you, sir!" ("annoyed", "narrow", "base", "mid") + ast "If it was up to me, she'd be clucking like a chicken right now!" ("annoyed", "narrow", "angry", "R") + ast "Not doing nasties with her mouth!" ("clench", "narrow", "base", "down") + gen "Fair enough..." ("base", xpos="far_left", ypos="head") + gen "Although it sounds to me as if you're enjoying this as--" ("base", xpos="far_left", ypos="head") + ast "But you've helped me, so take this as a reward..." ("open", "closed", "base", "mid") + ast "Now, make sure to give Susan a reward for being so obedient as well..." ("smile", "base", "angry", "mid") + gen "You don't have to tell me twice!" ("base", xpos="far_left", ypos="head") + nar "You renew your efforts, encouraged by the image of the well-endowed redhead hidden under your desk." + ast "And Suzy..." ("open", "narrow", "base", "down") + sus "Yes..." + ast "Time for you to wake up..." ("grin", "narrow", "angry", "down") + sus "..." + + play music "music/teddy-bear-waltz-by-kevin-macleod.ogg" fadein 1 if_changed + hide screen blktone + hide screen bld1 + with d3 + pause.5 + show screen bld1 + with hpunch + sus "W-w-what's happening?" + play sound "sounds/kick.ogg" + with vpunch + pause.2 + sus "Ouch..." + pause.5 + sus "Where am I?" + ast "Don't you remember crawling under your headmaster's desk, begging him to jerk his nasty old cock for you?" ("open", "closed", "base", "mid") + with hpunch + sus "WHAT?" + sus "I'd never do something like that!" + ast "Really? Because it sure looks like you did..." ("grin", "base", "base", "R") + sus "I--{w} I don't know why..." + ast "If you don't like it down there, why don't you just hop out then?" ("annoyed", "base", "base", "R") + sus "I can't!" + ast "Really? why's that, Suzy?" ("grin", "narrow", "base", "down") + sus "I don't know... I just can't!" + ast "*Hmm*... it must be because you're such a nasty little slut then..." ("open", "closed", "base", "mid") + with hpunch + sus "I-- I am not!" + ast "Are you sure?" ("grin", "base", "angry", "down") + sus "I... Y-yes..." + ast "because it sure doesn't look like that..." ("open", "narrow", "base", "down") + ast "In fact, it looks like you're the nastiest little slut this school has ever seen!" ("grin", "closed", "base", "mid") + gen "That's it, Astoria..." ("angry", xpos="far_left", ypos="head") + sus "Professor... {b}please...{/b}" + ast "Please what, Susan?" ("open", "closed", "base", "mid") + ast "Please stop?" ("open", "narrow", "base", "down") + ast "Or please coat me in cum?" ("clench", "narrow", "angry", "down") + with hpunch + sus "ASTORIA!" + ast "Answer the question, Suzy..." ("open", "base", "base", "mid") + sus "..." + sus "Please sir..." + sus "{size=-3}Coat{/size} {size=-3}me{/size} {size=-3}in{/size} {size=-3}your{/size} {size=-3}cum...{/size}" + ast "I knew it!" ("scream", "base", "angry", "L") + ast "You're a dirty little slut after all, aren't you!" ("clench", "narrow", "angry", "down") + sus "I am not! I don't know why I'm down here!" + ast "Alright then... if you're such a good girl..." ("open", "closed", "base", "mid") + ast "Why don't you tell me what it's like down there?" ("smile", "narrow", "base", "down") + sus "Down here?" + sus "Under professor Dumbledore's desk?" + ast "*Mhmm*... I bet it's nasty down there..." ("clench", "narrow", "angry", "down") + ast "It probably smells gross with all the yucky cum he shoots against that desk of his..." ("open", "base", "base", "R") + ast "Not to mention his big, smelly old cock..." ("annoyed", "narrow", "base", "ahegao") + gen "*Ahem*..." ("base", xpos="far_left", ypos="head") + ast "Quiet, sir!" ("clench", "narrow", "angry", "mid") + ast "So go on, Suzy... tell me what it's like..." ("open", "closed", "base", "mid") + + sus "It... It's--" + nar "you hear Susan take a deep breath before she begins to speak." + sus "{size=+10}It's incredible!{/size}" + ast "" ("grin", "narrow", "angry", "mid") + sus "Everything about it is fantastic!" + ast "" ("smile", "base", "base", "mid") + sus "The cum stains on the back of the desk..." + ast "" ("clench", "narrow", "base", "mid") + sus "The thick smell of semen in the air..." + ast "" ("clench", "narrow", "base", "R") + sus "The way Professor Dumbledore's stroking his {b}cock{/b}..." + ast "" ("smile", "narrow", "angry", "R") + sus "I just want to--" + ast "(*Eeeegh*...)" ("scream", "closed", "angry", "mid",trans=hpunch) + + sus "..." + nar "You hear Susan's words trail off into nothingness, as she takes another breath..." + sus "I wish I could live down here! Is that what you wanted to hear, you evil witch?!" + ast "Almost..." ("grin", "narrow", "base", "down") + ast "I want you to tell me the truth... say you're a slut..." ("grin", "base", "angry", "mid") + ast "Then I'll let you go..." ("open", "closed", "base", "mid") + sus "Really?" + sus "Alright..." + sus "{size=-5}I'm a...{/size} {size=-3}slut...{/size}" + ast "*Hmm*... I'm not sure I heard anything. What about you, sir?" ("annoyed", "base", "base", "R") + gen "*Ah*...{w=0.3} almost..." ("base", xpos="far_left", ypos="head") + ast "Go on Suzy... one more time..." ("smile", "narrow", "base", "down") + with hpunch + sus "I'm a slut, OK!" + gen "*Ah*... YES..." ("angry", xpos="far_left", ypos="head") + sus "I'm a nasty slut who crawled under her headmaster's desk and--" + + gen "HERE IT COMES SLUT!" ("angry", xpos="far_left", ypos="head") + hide screen bld1 + call gen_chibi("cum_behind_desk") + call cum_block + sus "No wait! Astoria, you said I could go--" + call cum_block + gen "*ARGHHHH*!!!" ("angry", xpos="far_left", ypos="head") + nar "Susan's sudden yelps prove too much for you as your cock begins to fire off an immense load onto Susan's face..." + gen "HERE IT IS SLUT!!!" ("angry", xpos="far_left", ypos="head") + call cum_block + sus "..." + + ast "That's it, [name_genie_astoria]! Make sure you get it all out..." ("grin", "narrow", "angry", "mid") + gen "*Ahhh*... don't worry about that..." ("angry", xpos="far_left", ypos="head") + nar "You give your cock a few final pumps, working out the last of your load onto Susan's waiting face..." + + call gen_chibi("cum_behind_desk_done") + pause.5 + gen "There we go..." ("angry", xpos="far_left", ypos="head") + ast "Nice work, [name_genie_astoria]..." ("open", "closed", "base", "mid") + ast "You can come out now, Suzy..." ("smile", "narrow", "base", "down") + sus "..." + + stop music fadeout 1 + hide astoria_main + show screen blkfade + with d3 + + nar "Susan slowly crawls out from under your desk..." + + call sus_chibi("stand","desk","base") + $ susan.set_cum(face="heavy") + hide screen blkfade + with d5 + + sus @ cheeks blush "..." ("soft", "narrow", "low", "mid", xpos="right", ypos="base", trans=fade) + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + ast "Oh my god! He absolutely covered you!" ("scream", "base", "base", "mid",xpos="base",ypos="base") + sus @ cheeks blush "..." ("annoyed", "closed", "annoyed", "right") + ast "I didn't know you had it in you, sir!" ("clench", "base", "base", "mid") + ast "Nice work!" ("smile", "base", "base", "mid") + gen "Thanks..." ("base", xpos="far_left", ypos="head") + ast "And Suzy... that look suits you." ("grin", "narrow", "angry", "L") + sus @ cheeks blush "Are you done, Astoria?" ("soft", "narrow", "annoyed", "right") + ast "Yes, you can get dressed." ("smile", "narrow", "base", "L") + + show screen blkfade + with d3 + + nar "Susan slowly wipes the cum from her face as she begins getting dressed." + + hide susan_main + $ susan.set_cum(None) + sus @ cheeks blush "I hope you two are happy..." ("soft", "happy", "annoyed", "down") + + play sound "sounds/cloth_sound3.ogg" + $ susan.wear("top", "bra") + hide screen blkfade + with d5 + pause .8 + + sus @ cheeks blush "Now, if you'll excuse me, I've got--" ("open", "closed", "annoyed", "right") + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + nar "You watch as a colourful mist spreads from the tip of Astoria's wand and seeps into Susan's nostrils once again..." + ast "I don't think so..." ("smile", "narrow", "base", "L") + + + call ast_chibi("reset",530,"base") + sus "..." ("soft", "narrow", "base", "stare") + gen "..." ("base", xpos="far_left", ypos="head") + + if game.daytime: + ast "We're going to be late for classes, Suzy!" ("annoyed", "narrow", "base", "R") + ast "Let's head to Tonks' study, shall we." ("smile", "narrow", "base", "R") + sus "Yes..." ("open", "narrow", "base", "stare") + gen "..." ("base", xpos="far_left", ypos="head") + ast "Until next time, [name_genie_astoria]!" ("grin", "closed", "base", "mid") + else: + ast "It's getting a bit late Suzy, let's head to Tonks' study..." ("annoyed", "narrow", "base", "R") + sus "Yes..." ("open", "narrow", "base", "stare") + gen "..." ("base", xpos="far_left", ypos="head") + ast "Good night, [name_genie_astoria]!" ("grin", "closed", "base", "mid") + + + stop music fadeout 1 + call hide_characters + pause .5 + call ast_walk("door","base") + pause.2 + call ast_chibi("stand","door","base", flip=False) + with d3 + pause.5 + + ast "Come on then..." ("angry", "narrow", "base", "R") + sus "Okay..." ("open", "narrow", "base", "stare") + + call sus_walk(action="leave") + + call hide_characters + call ast_chibi("leave") + hide screen bld1 + with d3 + pause.5 + + call gen_chibi("sit_behind_desk") + + call bld + gen "(*Hmm*... Miss Bones still seemed affected even after she lessened her hold of the spell...)" ("base", xpos="far_left", ypos="head") + gen "(...)" ("base", xpos="far_left", ypos="head") + + if states.ast.level < 24: + $ states.ast.level = 24 + $ states.sus.level = 24 + $ states.sus.wardrobe_unlocked = True + + call end_of_content + + jump end_ag_se_imperio_sb diff --git a/game/scripts/characters/astoria/events/spells/imperio_tonks.rpy b/game/scripts/characters/astoria/events/spells/imperio_tonks.rpy new file mode 100644 index 00000000..86184163 --- /dev/null +++ b/game/scripts/characters/astoria/events/spells/imperio_tonks.rpy @@ -0,0 +1,1809 @@ + + +### Spell Training ### + +### Astoria Imperio Training ### + +label ag_st_imperio: + + if not _events_completed_any: + menu: + gen "{size=-4}(Should I ask her to cast Imperio on Tonks?){/size}" ("base", xpos="far_left", ypos="head") + + "\"(Yes, let's do it!)\"": + pass + + "\"(Not right now.)\"": + $ _event.cancel() + jump astoria_favor_menu + + if states.ton.busy: + gen "(Something tells me Tonks is not available right now, perhaps I should try later...)" ("base", xpos="far_left", ypos="head") + $ _event.cancel() + jump astoria_favor_menu + + if not _events_completed_any: # Intro for 1st event. + ast "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) + gen "Ready for your first day of detention?" ("base", xpos="far_left", ypos="head") + ast "No..." ("annoyed", "base", "base", "R") + ast "Do I really have to go?" ("clench", "base", "base", "mid") + gen "I could have you scrub the toilets instead..." ("grin", xpos="far_left", ypos="head") + ast "Please don't, [name_genie_astoria]!" ("clench", "base", "worried", "mid") + gen "Professor Tonks has some interesting lessons planned for you!{w=0.8} I'm sure you'll enjoy them." ("base", xpos="far_left", ypos="head") + ast "Oh yeah?" ("open", "base", "base", "mid") + ast "Well, I doubt it..." ("annoyed", "narrow", "angry", "R") + ast "At least it's not gonna be boring, if it's her." ("open", "closed", "base", "mid") + ast "I once had to spend an entire day, listening to McGonagall prattle on about the importance of some transfiguration spell." ("annoyed", "narrow", "angry", "R") + ast "When all it did was turn a stupid rat yellow!" ("annoyed", "base", "base", "ahegao") + ast "I wanna learn something that's actually fun!" ("annoyed", "narrow", "base", "down") + gen "Like an unforgivable curse?" ("base", xpos="far_left", ypos="head") + ast "Yes." ("annoyed", "base", "base", "mid") + gen "Good. Because your teacher has offered to teach one of them to you, properly." ("base", xpos="far_left", ypos="head") + ast "She offered to--{w=0.2} What?" ("clench", "base", "base", "mid") + gen "That's what I said!" ("base", xpos="far_left", ypos="head") + ast "I thought this was meant to be a punishment?" ("smile", "base", "base", "L") + ast "That's wicked!" ("smile", "narrow", "angry", "down") + gen "Off you go then. She's waiting for you..." ("base", xpos="far_left", ypos="head") + gen "Return here with Professor Tonks for a progress report once you're done for the day." ("base", xpos="far_left", ypos="head") + ast "Of course!" ("smile", "closed", "base", "mid") + ast "See ya later!" ("smile", "base", "base", "mid") #smell ya later newbie! - gary oak + + # TODO: This is problematic to implement, perhaps it could be done differently once we got to workinbg on Astoria's storyline. + # elif ag_st_imperio.points == 3: # Intro for 4th event. + # ast "" ("annoyed", "base", "base", "mid", xpos="right", ypos="base", trans=fade) + # gen "Time for another lesson, don't you think?" ("base", xpos="far_left", ypos="head") + # ast "Do I really have to?" ("open", "narrow", "base", "R") + # ast "I'd rather not spend the day, getting yelled at..." ("annoyed", "narrow", "base", "down") + # gen "Nobody's gonna yell at you." ("base", xpos="far_left", ypos="head") + # ast "If you say so, [name_genie_astoria]." ("annoyed", "base", "base", "mid") + # gen "Return here after your lesson." ("base", xpos="far_left", ypos="head") + # ast "..." ("annoyed", "base", "base", "R") + + else: + ast "" ("grin", "base", "base", "mid", xpos="right", ypos="base", trans=fade) + random: + gen "Ready for another lesson-- I mean detention?" ("base", xpos="far_left", ypos="head") + gen "Looking forward to curse your teacher again?" ("base", xpos="far_left", ypos="head") + gen "Ready to go see Professor Tonks?" ("base", xpos="far_left", ypos="head") + ast "Yes, [name_genie_astoria]." ("smile", "base", "base", "mid") + gen "I'm eager to see another demonstration of your progress!" ("grin", xpos="far_left", ypos="head") + gen "Return to my office with your teacher afterwards." ("base", xpos="far_left", ypos="head") + ast "Until then, [name_genie_astoria]!" ("smile", "base", "base", "R") + + play sound "sounds/door.ogg" + call hide_characters + call ast_walk(action="leave") + hide screen bld1 + with d3 + + # Setup + $ ton_outfit_last.save() # Store current outfit. + $ ast_outfit_last.save() # Store current outfit. + + $ tonks.equip(ton_outfit_default) + $ astoria.equip(ast_outfit_default) + + $ states.ast.busy = True + $ states.ton.busy = True + + jump end_astoria_event + +label end_ag_st_imperio: + call hide_characters + hide screen bld1 + with d3 + + $ tonks.equip(ton_outfit_last) # Equip player outfit. + $ astoria.equip(ast_outfit_last) # Equip player outfit. + + # Increase level + if not _events_filtered_completed_all: + $ states.ast.level += 1 + + $ states.ast.ev.imperio_with_tonks.completed_once = True + + jump end_astoria_event + +label ag_st_imperio_E1: + $ tonks.equip(ton_outfit_default) + $ astoria.equip(ast_outfit_default) + stop music fadeout 1.0 + play sound "sounds/door.ogg" + call ton_chibi("stand","desk","base") + call ast_chibi("stand",530,"base") # Make sure it's slightly to the left of Tonks' chibi. + with fade + pause.8 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ast "" ("annoyed", "base", "base", "mid", xpos="base", ypos="base") + ton "Good evening, Professor." ("base", "happyCl", "base", "mid", xpos="right", ypos="base") + gen "Finally, you're back." ("base", xpos="far_left", ypos="head") + ton "Yes we are." ("base", "wink", "base", "mid") + ton "" ("soft", "base", "base", "mid") + ast "......................" ("annoyed", "narrow", "base", "L") # embarrassed + gen "Astoria!{w} How was your training? *Err*... I mean detention!" ("grin", xpos="far_left", ypos="head") + ast "................................" ("annoyed", "narrow", "base", "R") + ton "It went very well, I'd say." ("crooked_smile", "happyCl", "base", "mid") + ton "I instructed her on how to cast the curse - properly." ("base", "closed", "base", "mid") + ton "The proper wand movement... The correct pronunciation..." ("open", "wide", "base", "R") + ton "There's a lot to it!" ("grin", "wide", "base", "mid") + ton "One mishap with those - and the curse might backfire!" ("normal", "shocked", "shocked", "mid") + ton "Sending you straight to St. Mungo's hospital - quacking like a duck!" ("annoyed", "shocked", "base", "mid") + gen "..........." ("base", xpos="far_left", ypos="head") + ton "I'd say she was very lucky, when using it on Miss Bones..." ("mad", "base", "base", "mid") + ast "I knew what I was doing..." ("base", "closed", "angry", "mid") + ast "" ("clench", "narrow", "base", "mid") + ton "Of course you did, princess." ("soft", "narrow", "base", "L") # Happy + ast "................................." ("annoyed", "narrow", "angry", "R") # annoyed + + ton "Now, shall we get started?" ("soft", "base", "base", "mid") + ast "Get started - with what?" ("open", "narrow", "base", "R") + ton "The next step of your training, of course!" ("soft", "base", "base", "R") + ton "I'd like you to cast the Imperius curse now... On another person." ("base", "base", "angry", "L") + ast "Wait, what?" ("angry", "base", "base", "mid") + ast "I thought I wasn't allowed to ever use it again?" ("annoyed", "base", "worried", "L") + ton "You aren't... That is correct." ("open", "closed", "base", "mid") + ton "However, you are hereby given special permission!" ("grin", "base", "base", "R") + ast "Really?" ("smile", "narrow", "base", "down") # happy + ton "Yes, dear!" ("base", "base", "base", "R") + ton "I believe our Professor would have no objection to that..." ("open", "closed", "base", "mid") + ton "Would you, Professor?" ("base", "base", "angry", "mid") + ast "Please, Professor!" ("smile", "base", "base", "mid") + gen "*Uhm*...{w=0.4} Sure...{w=0.6} Go ahead." ("base", xpos="far_left", ypos="head") + ton "Splendid!" ("silly", "happyCl", "base", "mid") + ast "Yes!" ("smile", "base", "angry", "L") + + ton "You can cast it, as long as it's under the supervision of a teacher..." ("open", "base", "raised", "down") + ton "And only within the walls of this room!" ("normal", "base", "base", "downR") # stern + ast "Right here? In front of Professor Dumbledore?" ("open", "base", "base", "mid") + ton "Naturally!" ("base", "closed", "base", "mid") + ast "But who do I cast it on? Susan?" ("smile", "base", "base", "R") + ton @ cheeks blush "Not this time, sweetheart." ("upset", "narrow", "base", "down") + ton @ cheeks blush "Today, I'd like you to cast it on me, if you don't mind..." ("open", "closed", "base", "mid") + ast "Wicked!" ("grin", "narrow", "worried", "down") + ton "Let's give this old man a quick demonstration of your talents, shall we..." ("grin", "base", "shocked", "mid") + + call ast_chibi("wand",530,"base") + with d3 + + ast "" ("grin", "narrow", "base", "mid") + gen ".............................." ("base", xpos="far_left", ypos="head") + ton "Just like we practised..." ("open", "closed", "base", "mid") + ton "Do the movement with your wand, and then you say--" ("open", "base", "base", "R") + ast "Imperio!" ("angry", "narrow", "angry", "mid") # angry scream + ast "" ("clench", "narrow", "angry", "mid") + pause .8 + + call ast_chibi("wand_casting",530,"base") + with d3 + + ton "Yes..." ("mad", "narrow", "base", "mid") + ton "...................." ("annoyed", "narrow", "shocked", "stare") + ton "You don't have to scream the words, darling." ("open", "closed", "raised", "L") + ton "What's crucial is that your mind is focused and--" ("normal", "closed", "base", "mid") + + # Astoria casts imperio. + stop music fadeout 2.0 + ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + ast "" ("clench", "base", "angry", "L", xpos="base", ypos="base") + ton @ hair scared "........................." ("mad", "wide", "shocked", "ahegao", xpos="right", ypos="base") # shock + ton @ hair horny "*Aaaaaah*..." ("horny", "base", "base", "ahegao") # inhales + ast "......................" ("clench", "base", "worried", "L") # clenched teeth + gen "What's happening to her?" ("base", xpos="far_left", ypos="head") + ast "I just cast the spell on her..." ("open", "closed", "base", "mid") + ast "Now she's under my command!" ("smile", "base", "base", "mid") + gen "You don't say?" ("grin", xpos="far_left", ypos="head") + gen "I love magic!" ("grin", xpos="far_left", ypos="head") + call ast_chibi("wand",530,"base") + with d3 + ast "What shall I do now, Professor?" ("clench", "base", "base", "L") + gen "I don't know...{w=0.4} Why are you asking me?" ("base", xpos="far_left", ypos="head") + gen "Did you two not discuss it beforehand?" ("base", xpos="far_left", ypos="head") + ast "No. All we did was some theoretical practice of the spell..." ("open", "base", "base", "down") + ast "I need to tell her to do something... or..." ("open", "base", "worried", "mid") + ast "I don't know... Maybe say something?" ("clench", "base", "base", "L") + ton "*Hmm*... Something..." ("base", "base", "worried", "up") + ast "!!!" ("smile", "base", "base", "L") + gen "What?" ("base", xpos="far_left", ypos="head") + ast "She did it!" ("smile", "base", "base", "L") + gen "Something what?" ("angry", xpos="far_left", ypos="head") + ast "No, she just said what I asked her to say!" ("smile", "base", "base", "mid") + gen "Oh..." ("base", xpos="far_left", ypos="head") + ast "I believe it's working!" ("smile", "closed", "base", "mid") + + ast "*Uhm*... Professor Tonks, you can now speak freely!" ("horny", "base", "base", "L") + ton "............................" ("base", "closed", "base", "stare") + ton "Oh... Can I?..." ("open", "base", "base", "stare") + ton "Thank you..." ("soft", "wide", "base", "stare") + ast "She can hear me!" ("smile", "base", "base", "mid") + ton "You have a really cute voice..." ("horny", "wide", "shocked", "stare") + ast "................" ("annoyed", "base", "worried", "R") + gen "Try something else now." ("base", xpos="far_left", ypos="head") + ast "" ("annoyed", "base", "base", "L") + ton @ hair horny "I feel so good!" ("soft", "wide", "shocked", "stare") + ton @ cheeks blush "What is happening to me?" ("mad", "base", "raised", "stare") + ton @ cheeks blush "Are you playing with me?" ("open", "base", "worried", "stare") + ton "I want you to play with me!" ("open_wide_tongue", "narrow", "shocked", "stare") # horny + gen "I think she's tripping..." ("base", xpos="far_left", ypos="head") + ast "No!{w=0.6} Keep{w=0.4} - standing{w=0.4} - still!" ("clench", "closed", "worried", "mid") + ton "Okay........." ("soft", "base", "base", "stare") + gen "This is quite funny to watch!" ("grin", xpos="far_left", ypos="head") + gen "Can you make her *oink*?" ("grin", xpos="far_left", ypos="head") + ast "*Oink*?" ("open", "wink", "base", "mid") + gen "You know, like a pig..." ("base", xpos="far_left", ypos="head") + ast "Yes, we can try that!" ("clench", "base", "base", "mid") + ast "Professor Tonks, I demand that you *oink*!" ("open", "base", "base", "L") + ton "*Huh*?..." ("open", "wide", "base", "stare") + ast "*Oink*!" ("open", "base", "angry", "L") + ton @ cheeks blush "..................." ("normal", "wide", "base", "stare") + ast "Do it already!" ("angry", "base", "angry", "L") + ast "*Oink!*{w=0.8}-*oink*!{w=0.8}-*oink*!" ("clench", "closed", "angry", "mid") # Angry + gen "*He-he-he!*" ("grin", xpos="far_left", ypos="head") + ast "*Oink*...{w=0.8} you pig!" ("scream", "base", "angry", "L", trans=hpunch) # Screaming + ast "" ("clench", "narrow", "angry", "L") + gen "I don't believe she's going to do it..." ("base", xpos="far_left", ypos="head") + ast "But!" ("clench", "closed", "base", "mid") + gen "It's pointless, girl..." ("base", xpos="far_left", ypos="head") + gen "You can stop now..." ("base", xpos="far_left", ypos="head") + ast "Fine..." ("annoyed", "base", "angry", "down") + + # Tonks reverts back. + pause.2 + call hide_characters + call ast_chibi("reset",530,"base") + hide screen bld1 + with fade + pause.8 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton @ cheeks blush "" ("soft", "base", "worried", "down", xpos="right", ypos="base", trans=dissolve) + ast "" ("annoyed", "base", "angry", "mid", xpos="base", ypos="base", trans=dissolve) + ton @ cheeks blush "Oh my..." ("soft", "base", "worried", "down", xpos="right", ypos="base") + ton @ cheeks blush "Well that was fun!" ("base", "happyCl", "base", "down") # Happy + ast "No it wasn't!" ("clench", "narrow", "angry", "mid") + ast "Why weren't you doing pig noises!?" ("scream", "closed", "angry", "mid", trans=hpunch) + ast "You refused to do what I demanded!" ("annoyed", "narrow", "angry", "R") + ton "Yes I did!" ("soft", "base", "base", "R") + ton "It was quite easy, actually." ("normal", "base", "raised", "down") + ast "*Hnghhh*!" ("clench", "narrow", "angry", "down") + ton "Don't worry. You'll have better luck next time..." ("base", "base", "shocked", "R") + ton "Just try a bit harder." ("base", "wink", "base", "mid") + ton "" ("soft", "base", "base", "mid") + ast "..................................." ("annoyed", "narrow", "angry", "down") + ton "Thank you for your assistance, Professor." ("open", "base", "base", "mid") + ton "Let Astoria know when to visit me again for our next training session..." ("base", "base", "base", "mid") + gen "Very well." ("base", xpos="far_left", ypos="head") + ast "........................" ("annoyed", "base", "angry", "R") + ton "Have a good night, Professor." ("base", "wink", "base", "mid") + + call ton_walk("door", "base") + call ton_chibi("stand","door","base", flip=False) + with d3 + pause.2 + + ton "Come on, Astoria. I shall escort you back to your dormitory..." ("soft", "base", "base", "L", ypos="head") + ast "................................................." ("annoyed", "base", "base", "down", ypos="head") + + # They both leave. + call ast_walk(680, "base") + + play sound "sounds/door.ogg" + call ast_chibi("hide") + call ton_chibi("hide") + with d3 + + jump end_ag_st_imperio + +label ag_st_imperio_E2: + $ tonks.equip(ton_outfit_default) + $ astoria.equip(ast_outfit_default) + stop music fadeout 1.0 + play sound "sounds/door.ogg" + call ton_chibi("stand","desk","base") + call ast_chibi("stand",530,"base") # Make sure it's slightly to the left of Tonks' chibi. + with fade + pause.8 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ast "" ("upset", "base", "base", "mid", xpos="base", ypos="base") + ton "Hello, Professor." ("base", "happyCl", "base", "mid", xpos="right", ypos="base") + ast "........................." ("upset", "base", "base", "L") + gen "Back already?" ("base", xpos="far_left", ypos="head") + ton "Yes, I gave Astoria a couple more pointers on how to improve the persuasiveness of the curse..." ("open", "wide", "base", "L") + ton "The trick is to not lose your temper after casting it!" ("soft", "closed", "base", "mid") + call ast_chibi("wand",530,"base") + ast "........................." ("annoyed", "base", "base", "down") + ton "This should be fun!" ("grin", "happyCl", "base", "mid") + gen "Very good." ("base", xpos="far_left", ypos="head") + + ton "Now, Astoria, just as last time - you will cast the Imperius curse on me..." ("soft", "base", "base", "L") + ton "And I'll do my best to resist--" ("open", "closed", "base", "mid") + + # Astoria casts imperio. + stop music fadeout 2.0 + ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + ast "" ("clench", "base", "angry", "L") + ton "........................." ("mad", "wide", "shocked", "ahegao") # shock + + gen "Damn it, girl!" ("grin", xpos="far_left", ypos="head") + gen "Give me a warning next time. You scared the crap out of me..." ("base", xpos="far_left", ypos="head") + ast "Sorry Professor!" ("smile", "base", "base", "mid") # Cute face + + ton ".........................." ("normal", "wide", "base", "stare") + ton "*uhhhh*... I looooooove this!" ("soft", "base", "base", "stare") + ton "It's like - I'm floating..." ("open", "wide", "shocked", "stare") + ton "It feels... sooooooooooooo... goooooooooooood!" ("open_wide_tongue", "base", "base", "ahegao") + ton "" ("mad", "base", "base", "ahegao") + call ast_chibi("wand",530,"base") + gen "(Is she getting off on this?)" ("base", xpos="far_left", ypos="head") + + ast "What shall I have her do, Professor?" ("clench", "wink", "base", "mid") + + menu: + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + + "-Have her turn around-": + ast "Yes, that's a good idea!" ("smile", "base", "base", "mid") + ton "................................" ("normal", "wide", "base", "stare") + ast "Professor Tonks, I command you to turn around." ("open", "base", "base", "L") + ton "*Huh*?" ("open", "wide", "raised", "stare") + ast "Turn around!" ("clench", "base", "angry", "L") + gen "Remember what she said about your temper, Astoria..." ("base", xpos="far_left", ypos="head") + ast "Oh... yes Sir! Of course..." ("smile", "closed", "base", "mid") + ast "Turn around." ("open", "narrow", "base", "L") + ton "......................" ("soft", "wide", "base", "stare") + + # Tonks turns around. (mirror sprite) + call ton_chibi("stand","desk","base", flip=True) + ton "" ("normal", "base", "base", "stare", flip=True, trans=dissolve) + pause.8 + + "-Ask her to remove her coat-": + ast "Yes, that should be easy." ("smile", "base", "base", "mid") + ton "................................" ("normal", "wide", "base", "stare") + ast "Tonks, I command you to remove your coat." ("open", "closed", "base", "mid") + ton "*Huh*?" ("open", "wide", "raised", "stare") + ast "Come on, do it!" ("annoyed", "base", "angry", "L") + gen "Try saying the magic word..." ("base", xpos="far_left", ypos="head") + ast "Imperio? But I already did--" ("open", "wink", "base", "mid") + gen "No... Ask her politely..." ("base", xpos="far_left", ypos="head") + ast "Oh! I got it!" ("smile", "closed", "base", "mid") + ast "Professor Tonks, please remove your coat for me..." ("open", "base", "base", "L") + ton "*Hmm*... okay..." ("soft", "wide", "base", "stare") + + # Tonks removes her coat. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("robe") + + call ctc + + ton @ cheeks blush "" ("normal", "wide", "base", "stare", flip=False) + pause.8 + + ast "Yes, she did it!" ("smile", "base", "base", "L") + ast "What shall I have her do next?" ("base", "base", "base", "mid") + gen "*Hmm*................." ("base", xpos="far_left", ypos="head") + + $ d_flag_01 = False + + label .choices: + + menu: + gen "Make her..." ("base", xpos="far_left", ypos="head") + + "\"Do pig noises again!\"" if d_flag_01 == False: # Jumps back to choices. + $ d_flag_01 = True + + ast "Do a pig noise?" ("open", "base", "worried", "mid") + ton "*oink*!" ("open_wide", "happyCl", "base", "stare") + ast "She did it!" ("smile", "closed", "base", "mid") + ton "" ("normal", "happyCl", "base", "mid") + gen "Well done!" ("grin", xpos="far_left", ypos="head") + ast "Do it again!" ("smile", "base", "angry", "L") + ton @ cheeks blush "*oink*!" ("open_wide", "shocked", "worried", "stare") + ast "*hi-hi-hi-hi*!" ("smile", "closed", "base", "mid") + ton @ cheeks blush "" ("normal", "wide", "worried", "stare") + gen "I believe that's enough--" ("base", xpos="far_left", ypos="head") + ast "Do it again piggy! Ten times!" ("clench", "narrow", "angry", "L") # Angry + ton @ cheeks blush "*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*{w=0.2}-*oink*!" ("open_wide_tongue", "wide", "base", "ahegao") + gen "......................." ("base", xpos="far_left", ypos="head") + ast "Agai--" ("scream", "closed", "angry", "mid", trans=hpunch) + gen "That's enough, Astoria!" ("angry", xpos="far_left", ypos="head") + ast "Fine..." ("annoyed", "narrow", "angry", "R") + + # Tonks returns to normal + call hide_characters + call ton_chibi("stand","desk","base", flip=False) + call ast_chibi("reset",530,"base") + with fade + pause.8 + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + ast "" ("open", "base", "base", "down") + ton @ cheeks blush "Oh wow..." ("mad", "base", "shocked", "down", flip=False) + ton @ cheeks blush "You made me squeal like a pig!" ("mad", "happyCl", "base", "mid") + ton "You've made quite some progress, well done Astoria!" ("grin", "narrow", "shocked", "R") + ast "Thank you!" ("smile", "base", "base", "L") + gen "..." ("base", xpos="far_left", ypos="head") + gen "I have to say, I'm not that impressed..." ("base", xpos="far_left", ypos="head") + ton "You aren't?" ("open", "wide", "shocked", "mid") + ast "But, Professor!" ("clench", "base", "worried", "mid") + gen "Tonks, would you please make the noise again..." ("base", xpos="far_left", ypos="head") + ton "The noise, Professor?" ("soft", "base", "raised", "mid") + gen "Yes. Squeal for me." ("base", xpos="far_left", ypos="head") + ton "Very well..." ("open", "narrow", "shocked", "down") + ton "*Oink*-*oink*!" ("open", "happyCl", "base", "mid") + gen "See, I don't even have to use magic to make her do it!" ("grin", xpos="far_left", ypos="head") + ton "Very funny, Sir..." ("soft", "narrow", "base", "downR") + gen "I'd like us to try this again..." ("base", xpos="far_left", ypos="head") + ton "Right now? Are you sure?" ("soft", "wide", "raised", "mid") + gen "(I want to see some tits - damn it! Or hear her talk dirty...)" ("angry", xpos="far_left", ypos="head") + gen "Yes, cast that spell again, Astoria..." ("base", xpos="far_left", ypos="head") + call ast_chibi("wand",530,"base") + ast "Very well, Sir..." ("smile", "closed", "base", "mid") + + # Astoria casts imperio. + stop music fadeout 2.0 + ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + ast "" ("clench", "base", "angry", "L") + ton "*Hmm*............." ("base", "base", "base", "ahegao") + call ast_chibi("wand",530,"base") + ast "And now?" ("open", "base", "base", "mid") + + jump .choices + + "\"Say something naughty!\"": # Fails + ast "*Huh*?..." ("open", "base", "worried", "mid") + gen "Wouldn't you like to hear your teacher say something shameful?" ("grin", xpos="far_left", ypos="head") + ast "Yes!" ("smile", "base", "angry", "L") + ast "And what exactly?" ("clench", "base", "base", "mid") + gen "I don't know... You should think of something..." ("base", xpos="far_left", ypos="head") + gen "You're the one with the magic stick, after all..." ("base", xpos="far_left", ypos="head") + ton "......................." ("normal", "wide", "base", "stare") + ast "Okay... Professor Tonks..." ("open", "base", "worried", "L") + ast "I want you to repeat after me..." ("open", "closed", "base", "mid") + ton "..................................." ("horny", "wide", "base", "stare") + ast "I... am... a..." ("open", "base", "worried", "L") + ton "I am a--" ("soft", "wide", "base", "stare") + ast "dirty!{w} filthy!{w} pig!" ("open", "narrow", "base", "L") + ton @ cheeks blush "..................................." ("soft", "base", "base", "stare") + ast "Go on, say it!" ("clench", "narrow", "base", "L") + ast "I'm a dirty... Filthy... Pig!" ("open", "closed", "base", "mid") + ton @ cheeks blush "*Hi-hi*!..." ("base", "happyCl", "shocked", "mid") + ast "SAY IT!" ("scream", "base", "angry", "L") # Scream + gen "Time-out!" ("angry", xpos="far_left", ypos="head") + ast "No! She has to do what she's told!" ("clench", "narrow", "angry", "mid") + gen "She clearly isn't going to..." ("base", xpos="far_left", ypos="head") + gen "We should take a break here..." ("base", xpos="far_left", ypos="head") + ast "......................." ("annoyed", "narrow", "angry", "mid") + + # Tonks returns to normal. + pause.2 + call hide_characters + call ton_chibi("stand","desk","base", flip=False) + call ast_chibi("reset",530,"base") + hide screen bld1 + with fade + pause.8 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ast "" ("annoyed", "base", "angry", "mid") + ton "*huh*..." ("disgust", "base", "base", "down", flip=False) + ton "Well that was something, wasn't it?" ("soft", "closed", "base", "mid") + ast ".................................." ("annoyed", "narrow", "angry", "L") + gen "You resisted her curse again." ("base", xpos="far_left", ypos="head") + ton "Yes..." ("upset", "base", "base", "L") + ton "I'm sorry, honey!" ("annoyed", "narrow", "worried", "R") + ast ".................................." ("annoyed", "narrow", "angry", "down") + ton "You can't expect to succeed right away now, can you?" ("normal", "closed", "raised", "mid") + ton "To master a spell it takes time - and regular practising..." ("normal", "narrow", "base", "R") + ton "Or else anyone could do it." ("open", "closed", "shocked", "mid") + ton "We'll try again next time..." ("base", "narrow", "raised", "R") + ast "............................" ("upset", "narrow", "base", "down") + ton "Have a good night, Professor." ("soft", "base", "base", "mid") + + call ton_walk("door", "base") + call ton_chibi("stand","door","base", flip=False) + with d3 + pause.2 + + ton "After you, Astoria." ("open", "base", "base", "L", ypos="head") + ast "..........................." ("upset", "base", "base", "L", ypos="head") + + # They both leave. + call ast_walk(680, "base") + + play sound "sounds/door.ogg" + call ast_chibi("hide") + call ton_chibi("hide") + with d3 + + $ states.ast.mood += 12 + + # Event fails. + + gen "(I don't think we made much progress here...)" ("base", xpos="far_left", ypos="head") + + $ tonks.equip(ton_outfit_last) # Equip player outfit. + $ astoria.equip(ast_outfit_last) # Equip player outfit. + + call music_block + + # Event resets. (No progress) + $ _event.cancel() + + jump main_room_menu + + "\"Show us those tits!\"": # Succeeds + pass + + ast "What?" ("clench", "base", "base", "mid") + gen "Have her show us her breasts!" ("grin", xpos="far_left", ypos="head") + ast "Professor?!" ("open", "closed", "worried", "mid") + gen "You did the same to Miss bones, did you not?" ("base", xpos="far_left", ypos="head") + ast "Yes, but..." ("open", "narrow", "worried", "mid") + ast "I doubt Professor Tonks would be okay with that, she'll just refuse like she did before!" ("clench", "narrow", "base", "L") + gen "Did you have those concerns with Susan as well?" ("base", xpos="far_left", ypos="head") + ast "Susan didn't require much convincing, her boobs were already falling out of her--" ("clench", "narrow", "base", "L") + gen "Just try it." ("base", xpos="far_left", ypos="head") + gen "She can refuse to do it if she really doesn't want to..." ("base", xpos="far_left", ypos="head") + ast "Fine... But it's a waste of time." ("annoyed", "base", "base", "L") + ast "Professor Tonks, I'd like you to show us your..." ("open", "base", "base", "mid") + ast "*Uhm*..." ("upset", "base", "base", "down") + ast "Your breasts!" ("clench", "closed", "base", "mid") # embarrassed + ton "Oh..." ("open", "wide", "shocked", "up") + ton "............................" ("soft", "wide", "worried", "stare") + gen "(Fingers crossed!)" ("angry", xpos="far_left", ypos="head") + ton "............................" ("clench", "narrow", "base", "stare") # Clenched teeth + ast "What the--{w=0.4} I think she's struggling!" ("smile", "base", "base", "L") + gen "Very good, girl!" ("angry", xpos="far_left", ypos="head") + gen "Pressure her more! I want to see those puppies!" ("angry", xpos="far_left", ypos="head") + ast "Professor Tonks, show us your breasts! Now!" ("open", "base", "angry", "L") + gen "(It was easier for her to resist doing pig noises...)" ("base", xpos="far_left", ypos="head") + gen "(Could it be that she {b}wants{/b} to show them to us?{w} And is resisting that inner urge?)" ("base", xpos="far_left", ypos="head") + ton @ hair horny "................................" ("mad", "wide", "worried", "stare") # Really struggling! + gen "(What a slut!)" ("angry", xpos="far_left", ypos="head") # Small text + ast "Come on, do it!" ("clench", "narrow", "angry", "L") + ton @ hair horny "*Hnnnngh*!..." ("mad", "wide", "worried", "ahegao") + call cum_block + ton @ cheeks blush "*Aaaaahhh*..." ("open_wide_tongue", "base", "worried", "ahegao") # Relieved + gen "(Did she just--)" ("angry", xpos="far_left", ypos="head") + ton @ cheeks blush "" ("open", "narrow", "worried", "stare") + gen "..." ("base", xpos="far_left", ypos="head") + gen "Girl, I think your teacher is done for..." ("base", xpos="far_left", ypos="head") + ast "What?" ("clench", "base", "worried", "mid") + ton @ cheeks blush "" ("normal", "closed", "worried", "stare") + gen "She \"broke the curse.\" You can stop now..." ("base", xpos="far_left", ypos="head") + ast "*Aww*..." ("upset", "narrow", "base", "down") + ast "If you say so, Professor..." ("annoyed", "base", "base", "mid") + + # Tonks returns to normal. + pause.2 + call hide_characters + call ast_chibi("reset",530,"base") + hide screen bld1 + with fade + pause.8 + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + ast "" ("annoyed", "base", "base", "mid") + ton @ cheeks blush "*Ouch*... That was painful!" ("mad", "closed", "base", "mid", flip=False) + ton @ cheeks blush "You nearly got me there." ("disgust", "base", "shocked", "R") + ast "Did I really?" ("smile", "base", "base", "mid") + ton @ cheeks blush "Yes, well done, Astoria!" ("open", "base", "base", "down") + ast "Thank you!" ("smile", "closed", "base", "mid") + gen "Was it really such a struggle for you to not get your breasts out?" ("base", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush "*Uhm*..." ("mad", "base", "base", "down") + gen "*He-he-he*!" ("grin", xpos="far_left", ypos="head") + ton @ cheeks blush "Shall we wrap it up for today?" ("upset", "base", "shocked", "downR") + ton "I'm sure you'll do even better next time, Astoria." ("soft", "base", "shocked", "R") + ast "{size=-4}Yes... Finally I shall release my unlimited power...{/size}" ("smile", "narrow", "base", "L") + + play sound "sounds/thunder_2.ogg" + pause .5 + + if game.weather in {"clear", "cloudy"}: + gen "Where the hell did that thunder come from?" ("base", xpos="far_left", ypos="head") + else: + gen "What the--" ("base", xpos="far_left", ypos="head") + + #Astoria walks to door but waits for Tonks. + call ast_walk(680, "base") + call ast_chibi("stand", 680, "base", flip=False) + with d3 + + ton "Have a good night, Professor!" ("base", "happyCl", "base", "mid") + gen "Until next time..." ("base", xpos="far_left", ypos="head") + + # Tonks walks to door and they both leave + call ton_walk("door", "base") + + hide tonks_main + call ton_chibi("leave") + hide astoria_main + call ast_chibi("stand", 680, "base", flip=True) + pause .3 + call ast_chibi("leave") + with d3 + + gen "(And they say I'm the big, bad pervert...)" ("base", xpos="far_left", ypos="head") + + jump end_ag_st_imperio + +label ag_st_imperio_E3: + $ tonks.equip(ton_outfit_default) + $ astoria.equip(ast_outfit_default) + stop music fadeout 1.0 + play sound "sounds/door.ogg" + call ton_chibi("stand","desk","base") + call ast_chibi("stand",500,"base") # Make sure it's slightly to the left of Tonks' chibi. + with fade + pause.8 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ast "" ("annoyed", "base", "base", "mid", xpos="base", ypos="base") + ton "Well, Professor." ("open", "closed", "base", "mid", xpos="right", ypos="base") + ton "We're back..." ("soft", "wink", "base", "mid") + ast "..." ("annoyed", "base", "base", "L") + gen "Did you make any progress today?" ("base", xpos="far_left", ypos="head") + ton "Most certainly!" ("base", "wide", "base", "mid") + ton "Professor, you aren't questioning my abilities as a teacher, are you?" ("base", "closed", "annoyed", "mid") + gen "Of course not..." ("base", xpos="far_left", ypos="head") + gen "You're very skilled at what you do!" ("grin", xpos="far_left", ypos="head") + gen "You've shown me, many times." ("grin", xpos="far_left", ypos="head") + ton "Thank you! {heart}" ("base", "narrow", "base", "mid") + ast "*Ugh*..." ("clench", "narrow", "base", "down") # Disgusted from the flirting? + + call ast_chibi("wand",530,"base") + with d3 + ton "I could teach you a thing or two as well, Professor." ("base", "base", "shocked", "down") + + call ast_chibi("wand_casting",530,"base") + with d3 + ton "Even the great Albus Dumbledore doesn't know everything about--" ("soft", "closed", "angry", "mid") + + # Astoria casts imperio. + stop music fadeout 2.0 + ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + ast "" ("clench", "base", "angry", "L") + ton "*Hngh*!..." ("mad", "wide", "shocked", "ahegao") # shock + ton @ hair horny "*Hmm*..." ("base", "base", "base", "ahegao") + + call ast_chibi("wand",530,"base") + with d3 + ast "Sir, I'm not here to listen to you two banter..." ("angry", "closed", "angry", "mid") + gen "That's fair." ("base", xpos="far_left", ypos="head") + gen "Time is precious, after all..." ("base", xpos="far_left", ypos="head") + ton "..." ("normal", "wide", "base", "stare") + ast "I've spent enough of my time today, getting lectured..." ("annoyed", "base", "angry", "L") + gen "Isn't she supposed to do that? Lecture you?" ("base", xpos="far_left", ypos="head") + ast "I don't need to be taught!" ("annoyed", "narrow", "angry", "mid") + ast "I clearly already know how to cast the spell." ("clench", "base", "angry", "mid") + gen "Surely there's always room for improvement." ("base", xpos="far_left", ypos="head") + + ast "Professor Tonks, take off that coat!" ("open", "closed", "base", "mid") + ton "..." ("soft", "wide", "worried", "stare") + ton "...{fast}..." ("base", "wide", "worried", "stare") + + # Remove coat. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("robe") + + call ctc + + ton @ cheeks blush "" ("base", "base", "base", "stare") + pause.8 + + ast "See, I told you I could do it!" ("smile", "narrow", "base", "mid") + gen "Great... Don't get cocky..." ("base", xpos="far_left", ypos="head") + ast "Don't you see, Professor?" ("annoyed", "narrow", "base", "mid") + ast "I can make her do whatever I want!" ("smile", "narrow", "base", "mid") + ast "I'm the greatest witch of all time!" ("clench", "base", "angry", "L") + ton "..." ("normal", "base", "raised", "stare") + ast "If I can pull off the Imperius curse on Professor Tonks..." ("open", "closed", "base", "mid") + ast "Any of the other girls will be easy game for me!" ("smile", "narrow", "angry", "down") # Game as in "prey". + ast "I'll make them rue the day they ever made fun of me!" ("clench", "closed", "angry", "mid") + ton @ hair upset "..................................................." ("annoyed", "wide", "shocked", "stare") # Angry at Astoria + gen "......................." ("base", xpos="far_left", ypos="head") + ast "Tomorrow, I shall have Susan walk through school - parading those ridiculous udders of hers for all to see! That'll show her!" ("angry", "narrow", "angry", "R") + ton @ hair angry "!!!" ("upset", "wide", "shocked", "stare") # Very angry + ast "And then shove her into our common room - and all the boys will laugh at her cow udders!" ("smile", "closed", "angry", "R") + gen "And she'll love every second of it!" ("grin", xpos="far_left", ypos="head") + ast "And she'll--" ("smile", "closed", "angry", "R") + ton @ hair angry "*Tzzzzz*!..." ("upset", "closed", "annoyed", "mid", emote="angry") + ton "That's enough!" ("scream", "base", "angry", "R", trans=hpunch) + + # Tonks returns to normal, and puts her clothes back on. + play sound "sounds/cloth_sound3.ogg" + $ tonks.wear("all") + ton "" ("mad", "base", "angry", "down") + pause.8 + + call ast_chibi("reset",530,"base") + ast "What?" ("clench", "base", "worried", "L") + ton "Astoria, you are dismissed!" ("open", "closed", "angry", "mid") + ast "No! I still wanted to--" ("angry", "base", "angry", "mid") + ton "Dismissed!" ("normal", "closed", "angry", "mid") + ast "........................" ("annoyed", "narrow", "angry", "R") + ast "*Tzzz!*..." ("clench", "base", "angry", "mid") + + # Astoria leaves. + call ast_walk(action="leave") + + ton @ hair angry "The nerve of that girl, I can't believe it!" ("open", "base", "angry", "R", xpos="mid", ypos="base") + ton "I'm beginning to think teaching her an \"unforgivable curse\" might've been a bad idea after all..." ("normal", "closed", "annoyed", "mid") + gen "How so?" ("base", xpos="far_left", ypos="head") + ton "Didn't you hear her?" ("open", "base", "angry", "mid") + ton "She's disregarding all of our advice!... Or at least planning to..." ("mad", "base", "angry", "R") + ton "She's been ignoring my instructions all day!" ("annoyed", "closed", "base", "mid") + ton "She's such a cute and stubborn girl..." ("soft", "closed", "angry", "mid") + ton "We can't have her roaming the school - cursing people as she pleases!" ("annoyed", "base", "annoyed", "mid") + + gen "So, should we stop?" ("base", xpos="far_left", ypos="head") + ton @ hair neutral ".................." ("annoyed", "closed", "annoyed", "mid") + ton "Only if she refuses to follow our rules..." ("open", "narrow", "annoyed", "downR") + ton "As long as what we're doing stays within these walls, it shouldn't be too bad." ("normal", "base", "annoyed", "R") + ton "And besides, Imperio isn't the worst curse you could be a target of, all things considered..." ("upset", "base", "annoyed", "down") + gen "I thought it was dangerous?" ("base", xpos="far_left", ypos="head") + ton "Only if you use the right commands." ("open", "narrow", "annoyed", "down") + gen "Such as asking one of their horny teachers to--" ("base", xpos="far_left", ypos="head") + ton "The curse itself is quite harmless." ("annoyed", "closed", "base", "mid") + ton "And it feels really good when you're under its effect..." ("soft", "base", "base", "R") + gen "It does?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "*Mhmm*... yeah..." ("horny", "base", "annoyed", "up") + ton "It's so goood! {heart}" ("soft", "narrow", "worried", "ahegao") + gen "I think you're enjoying this a bit too much!" ("grin", xpos="far_left", ypos="head") + gen "What would your students think if they knew their teacher gets off on being mind controlled?" ("grin", xpos="far_left", ypos="head") + ton "It's not mind control..." ("annoyed", "wide", "annoyed", "up") + gen "Suggestion... Mind control, same thing... Doesn't change the fact that you're getting off from it." ("grin", xpos="far_left", ypos="head") + ton "................................" ("upset", "wide", "worried", "stare") + ton "Is it that obvious?" ("disgust", "base", "worried", "L") + gen "Can't fool a genie..." ("grin", xpos="far_left", ypos="head") + gen "I'm a genius, it's in the name." ("base", xpos="far_left", ypos="head") + gen "G{w=0.3} E{w=0.3} N{w=0.5} I{w=0.5} U...{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") + gen "G E N I U...{fast} hold on a second..." ("angry", xpos="far_left", ypos="head") #This makes the line change expression mid sentence + ton "Anyway..." ("normal", "base", "base", "down") + ton "I'll have to talk some sense into that girl before we can continue, that's for certain..." ("annoyed", "wide", "annoyed", "downR") + gen "Of course..." ("base", xpos="far_left", ypos="head") + + ton "I'm sorry I let this situation get out of hand..." ("open", "closed", "worried", "mid") + ton "It won't happen again, I promise." ("disgust", "base", "worried", "mid") + gen "You did great..." ("base", xpos="far_left", ypos="head") + gen "But next time, I'd like to see some tits!" ("grin", xpos="far_left", ypos="head") + ton "Of course you would." ("base", "base", "annoyed", "R") + ton "You love 'em - don't you?" ("base", "wide", "annoyed", "mid") + gen "That I do!" ("grin", xpos="far_left", ypos="head") + ton "I should get going. It's getting late..." ("normal", "base", "shocked", "down") + gen "Until next time..." ("base", xpos="far_left", ypos="head") + ton "Have a good night, [name_genie_tonks]." ("soft", "base", "base", "mid") + + # Tonks leaves. + call ton_walk(action="leave") + + gen "(...)" ("base", xpos="far_left", ypos="head") + gen "(G{w=0.3} E{w=0.3} N{w=0.5} I--)" ("angry", xpos="far_left", ypos="head") + gen "(Fuck it...)" ("base", xpos="far_left", ypos="head") + + $ states.ast.mood += 12 + + jump end_ag_st_imperio + +label ag_st_imperio_E4: + $ tonks.equip(ton_outfit_default) + $ astoria.equip(ast_outfit_default) + stop music fadeout 1.0 + + call ton_walk(action="enter",xpos="desk",ypos="base") + pause.5 + + call ton_chibi("stand","desk","base", flip=True) + with d3 + pause.1 + + ton "Astoria, would you come in here please..." ("open", "closed", "base", "mid", ypos="head") + ast "Do I have to?" + ton "Yes, we already talked about this..." ("open", "base", "base", "R") + ast "Fine, whatever..." + hide screen bld1 + with d3 + pause.1 + + #Astoria enters + call ast_walk(action="enter",xpos=530,ypos="base") # Make sure it's slightly to the left of Tonks' chibi. + pause.1 + + call ton_chibi("stand","desk","base", flip=False) + with d3 + pause.5 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton "" ("base", "base", "base", "L", xpos="right", ypos="base") + ast "..." ("annoyed", "narrow", "base", "down", xpos="base", ypos="base") + + ton "Astoria... isn't there something you'd like to say to our Headmaster?" ("soft", "base", "shocked", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + ast "Yes..." ("open", "narrow", "base", "down") + ton "" ("base", "base", "base", "R") + ast "Sir, I'm sorry about my behaviour during our last training session." ("annoyed", "base", "base", "L") + gen "Sure, no big deal--" ("base", xpos="far_left", ypos="head") + ast "It was wrong of me to scream at Professor Tonks like that, or scream at you..." ("open", "narrow", "base", "L") + gen "Fine. Let's just get to--" ("base", xpos="far_left", ypos="head") + ton "And what else?" ("open", "closed", "base", "mid") + ton "" ("base", "base", "base", "L") + ast "I was disrespectful, selfish, and mean." ("open", "closed", "base", "mid") + ast "And I should be thankful that you are granting me this opportunity." ("open", "base", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + ast "I'm well aware of what is at stake here, and I shall follow the rules from now on." ("clench", "narrow", "base", "down") + ast "..." ("annoyed", "narrow", "base", "down") # Looks away + gen "*Ahem* Could we please just get started?" ("base", xpos="far_left", ypos="head") + gen "(I'm dying to see some tits!)" ("angry", xpos="far_left", ypos="head") + ast "........................" ("annoyed", "base", "base", "R") + ton "Very good, Astoria." ("base", "happyCl", "base", "mid") + ton "I'm proud of you. {heart}" ("grin", "base", "base", "R") + ast "........................." ("annoyed", "base", "base", "down") # embarrassed + gen "......................." ("base", xpos="far_left", ypos="head") + + ton "So, let's begin..." ("base", "wide", "base", "mid") + call ast_chibi("wand",530,"base") + with d3 + ton "Astoria, try and focus on what we went through today..." ("open", "base", "base", "down") + ton "Keep good track of your emotions after channelling the spell..." ("open", "closed", "base", "mid") + ton "Anger and rage will cause you to lose control - and eventually break the connection with the target..." ("normal", "base", "annoyed", "L") + ton "Do your best to be as thoughtful, nice, and endearing as you possibly can towards your target..." ("base", "base", "base", "L") + ast "" ("annoyed", "base", "base", "R") + ton "The stronger the emotional bond - the better." ("open", "closed", "base", "mid") + ton "So try to charm them a bit while you're at it!" ("soft", "base", "base", "L") + ton "It is called a charm for a reason, after all!" ("base", "happyCl", "base", "mid") + ast "....................." ("annoyed", "base", "worried", "down") + gen "...................." ("base", xpos="far_left", ypos="head") + ton "Not a very good joke - I gather..." ("annoyed", "wide", "raised", "mid") + gen "I'm sorry. I was only half paying attention..." ("base", xpos="far_left", ypos="head") + ton "Very well..." ("upset", "base", "shocked", "L") + + ton "Now then, let's get on with it, shall we?" ("base", "wink", "annoyed", "mid") + ast "..." ("annoyed", "base", "base", "mid") + call ast_chibi("wand_casting",530,"base") + with d3 + ton "Astoria, as soon as I'm ready, I'd like you to--" ("open", "closed", "base", "mid") + + # Astoria casts imperio. + stop music fadeout 2.0 + ast "IMPERIO!{w=0.8}{nw}" ("scream", "base", "angry", "mid", trans=hpunch) # Screams it even louder + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + play sound "sounds/magic2.ogg" + call ast_chibi("wand_imperio",530,"base") + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + ast "" ("annoyed", "base", "base", "L") + ton @ hair horny "........................." ("mad", "wide", "shocked", "ahegao") # shock + + gen "......................" ("base", xpos="far_left", ypos="head") + ton @ cheeks blush hair horny "*Aaaaah*..." ("open", "base", "shocked", "ahegao") + call ast_chibi("wand",530,"base") + with d3 + ast "I'm getting really good at this!" ("smile", "base", "angry", "L") + ton "......................." ("normal", "wide", "base", "stare") + ast "What shall I have her do, Professor?" ("smile", "base", "base", "mid") + + gen "*Hmm*... How about..." ("base", xpos="far_left", ypos="head") + menu: + "\"Make her turn around!\"": # She's facing Astoria + ast "Very well, Sir." ("base", "base", "worried", "mid") + ast "Professor, please turn around for me..." ("open", "base", "base", "L") + ton "*Hmm*... Yes!" ("base", "base", "worried", "stare") + + # Tonks turns around + call hide_characters + hide screen bld1 + with d3 + pause.1 + + call ton_chibi("stand","desk","base", flip=True) + with d3 + pause.5 + + ast "" ("clench", "wink", "worried", "mid") + ton "" ("base", "base", "base", "L", flip=True) + pause.8 + + ton "........................" ("horny", "wide", "base", "stare") + ast "*Uhm*..." ("clench", "narrow", "worried", "R") # Astoria is uncomfortable + + "\"Let her face me!\"": + ast "Very well..." ("open", "base", "base", "mid") + + ast "And now?" ("base", "base", "base", "mid") + gen "Her coat! Tell her to take it off!" ("grin", xpos="far_left", ypos="head") + ast "Professor Tonks, please remove your coat for me." ("open", "base", "worried", "L") + ton "..." ("base", "base", "base", "stare") + + # Remove coat. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("robe") + ton "" ("base", "base", "base", "ahegao") + pause.8 + + gen "You're doing great, Astoria!" ("grin", xpos="far_left", ypos="head") + gen "It's like watching you teach a puppy new tricks..." ("grin", xpos="far_left", ypos="head") + ton ".........................." ("soft", "narrow", "base", "ahegao") # ahegao + ast "If you say so, Sir." ("clench", "base", "base", "down") + gen "Let's move on to the next trick, shall we?" ("base", xpos="far_left", ypos="head") + gen "Ask her to get those tits out!" ("grin", xpos="far_left", ypos="head") + ast "Her what?!" ("clench", "base", "base", "mid") + gen "Her breasts, girl..." ("base", xpos="far_left", ypos="head") + gen "Tell her to remove her top." ("base", xpos="far_left", ypos="head") + ast "Right now?" ("open", "wink", "base", "mid") + ast "But..." ("clench", "base", "base", "mid") + + if tonks.xzoom == -1: # Facing Astoria + ast "Can I at least tell her to turn around again?" ("clench", "base", "worried", "R") + gen "Why? Scared of your teacher's enormous rack?" ("base", xpos="far_left", ypos="head") + ast "What?{w} As if!" ("annoyed", "narrow", "angry", "R") + gen "I doubt she'd like to show them to you anyway..." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "......................" ("soft", "base", "base", "ahegao") # Ahegao + ast "............" ("annoyed", "base", "worried", "mid") + gen "Go on..." ("base", xpos="far_left", ypos="head") + + else: # Facing Genie + ast "I'm not sure if she'd be okay with that." ("open", "base", "worried", "mid") + gen "This again?" ("base", xpos="far_left", ypos="head") + ast "You'd have to close your eyes first, Professor!" ("open", "closed", "base", "mid") + gen "What?" ("base", xpos="far_left", ypos="head") + gen "Are you giving orders to me now as well, girl?" ("base", xpos="far_left", ypos="head") + ast "Close your eyes!" ("angry", "narrow", "angry", "mid") + gen "Not a chance!" ("base", xpos="far_left", ypos="head") + ast "......................." ("annoyed", "base", "angry", "R") + ast "It won't be my fault if she gets mad at you later!" ("open", "narrow", "base", "down") + gen "Sure, whatever..." ("base", xpos="far_left", ypos="head") + gen "Go on already!" ("base", xpos="far_left", ypos="head") + + gen "Let's get those tits out!" ("grin", xpos="far_left", ypos="head") + ast "Professor Tonks, I need you to remove your..." ("open", "base", "worried", "R") + ast "Your shirt..." ("clench", "base", "base", "down") + ton "................" ("normal", "base", "shocked", "stare") + gen "!!!" ("grin", xpos="far_left", ypos="head") + + # Remove top. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("top") + if tonks.is_worn("bra"): # Remove bra if True + ast "and your bra..." ("clench", "base", "base", "down") + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("bra") + ton @ cheeks blush "" ("base", "wide", "shocked", "ahegao") + ast "" ("annoyed", "closed", "base", "mid") + call ctc + + if tonks.xzoom == -1: # Facing Astoria + ast "Is she... is she doing it?" ("clench", "closed", "worried", "mid") # closed eyes + ton @ cheeks blush "............." ("grin", "wink", "base", "mid") # horny + gen "Why don't you see for yourself?" ("grin", xpos="far_left", ypos="head") + gen "Open your eyes, girl!" ("grin", xpos="far_left", ypos="head") + ast "I don't want to..." ("open", "closed", "worried", "mid") + gen "Why not?" ("base", xpos="far_left", ypos="head") + ast "Why would I want to look at her--" ("open", "closed", "worried", "mid") + gen "Now, now... Don't be rude to your teacher..." ("base", xpos="far_left", ypos="head") + gen "It seems to me like she would really like to show you!" ("grin", xpos="far_left", ypos="head") + ast "...................." ("clench", "closed", "base", "mid") # eyes still closed + ton @ cheeks blush "" ("base", "wide", "base", "stare") + ast "..." ("clench", "wink", "base", "mid") + ast "...................." ("annoyed", "narrow", "worried", "R") + gen "That wasn't too bad now, was it?" ("grin", xpos="far_left", ypos="head") + ton @ cheeks blush hair horny "......................." ("base", "base", "base", "ahegao") # ahegao + + else: + gen "Now would you look at that!" ("grin", xpos="far_left", ypos="head") + ton "................" ("soft", "wide", "shocked", "stare") # horny + gen "Those are some great breasts your teacher has there!" ("base", xpos="far_left", ypos="head") + ton @ hair horny "................" ("soft", "wide", "base", "stare") # ahegao + ast "I asked you not to look, Professor!" ("open", "closed", "angry", "mid") + gen "I don't believe she minds, does she?" ("grin", xpos="far_left", ypos="head") + ast "" ("clench", "narrow", "worried", "R") + ton @ cheeks blush "................" ("horny", "wide", "base", "stare") # ahegao + + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + gen "We might be able to push her even further!" ("base", xpos="far_left", ypos="head") + ast "Further, Sir? How?" ("annoyed", "wink", "base", "mid") + gen "By getting her to remove the rest of her clothing, of course!" ("grin", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair horny ".............." ("horny", "base", "shocked", "ahegao") # angry/horny expression + gen "What do you think? Want to give it a try?" ("grin", xpos="far_left", ypos="head") + ast "Would that really be necessary, Sir?" ("open", "base", "base", "R") + gen "Yes.{w=0.3} it.{w=0.3} would." ("base", xpos="far_left", ypos="head") + ast "We--{w=0.5} we could try again next time, Professor..." ("clench", "narrow", "base", "down") + gen "Next time?" ("base", xpos="far_left", ypos="head") + gen "Where did your enthusiasm go all of a sudden?" ("base", xpos="far_left", ypos="head") + gen "Weren't you so eager to practise this spell?" ("base", xpos="far_left", ypos="head") + ast "Yes, but..." ("annoyed", "narrow", "base", "down") + gen "Yes?" ("base", xpos="far_left", ypos="head") + ast "I don't have to explain myself to you!" ("annoyed", "narrow", "angry", "down") + ton @ cheeks blush "" ("annoyed", "wide", "shocked", "ahegao") + ast "..." ("annoyed", "narrow", "angry", "R") + + stop music fadeout 2.0 + gen "..." ("base", xpos="far_left", ypos="head") + ast "I should go to bed..." ("open", "narrow", "base", "R") + gen "Is that so..." ("base", xpos="far_left", ypos="head") + ast "I-- *Uhm*...{w=0.5} I'm tired, Sir." ("open", "narrow", "base", "mid") + ast "*Yaaaaawn*!..." ("open", "closed", "worried", "mid") + ast "See?" ("annoyed", "base", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + gen "Very well..." ("base", xpos="far_left", ypos="head") + gen "You are dismissed." ("base", xpos="far_left", ypos="head") + ast "..." ("clench", "narrow", "worried", "down") #embarrased + + # Astoria leaves and spell fades + call hide_characters + hide screen bld1 + with d3 + pause.5 + + call ast_chibi("reset",530,"base", flip=True) + with d3 + pause.2 + + call ast_walk(action="leave") + pause.5 + + call ton_chibi("stand","desk","base", flip=False) + with d3 + pause.8 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton @ hair neutral "Well, that was interesting..." ("annoyed", "wide", "base", "downR", xpos="mid", ypos="base", flip=False, trans=dissolve) + gen "Do you have any idea why she wanted to leave so abruptly?" ("base", xpos="far_left", ypos="head") + ton "I have a couple of theories, actually..." ("soft", "closed", "base", "mid") + gen "*Mhmm*... That curse thing, is it?" ("base", xpos="far_left", ypos="head") + ton @ hair horny ".................." ("soft", "wide", "base", "down") # horny stare + ton "Would you like me to put my clothes back on?" ("grin", "narrow", "raised", "mid") + gen "Don't feel pressured!" ("grin", xpos="far_left", ypos="head") + ton "Very well, then..." ("base", "narrow", "base", "mid") + + # screenshake + with hpunch + nar "Tonks gives her breasts a quick shake for you." + + gen "Sweet!" ("grin", xpos="far_left", ypos="head") + ton "..............." ("horny", "wink", "base", "L") + ton "She made some good progress today, unlike last time..." ("base", "base", "shocked", "L") + ton "And she was very polite!" ("base", "happyCl", "base", "mid") + ton "But she isn't quite there yet..." ("upset", "base", "shocked", "down") + + gen "Does she require more training?" ("base", xpos="far_left", ypos="head") + ton "Yes, actually..." ("soft", "narrow", "shocked", "downR") + ton "She'll need a lot more training to pull off the Imperius curse properly..." ("open", "closed", "base", "R") + ton "And, as you could see... It doesn't have much of an effect on me." ("soft", "base", "shocked", "down") + ton "I could have easily avoided doing everything she's told me today, if I wanted to..." ("open", "closed", "base", "mid") + gen "But you didn't!" ("grin", xpos="far_left", ypos="head") + ton "It wasn't my intention to break her spirit again... She was really trying!" ("upset", "closed", "worried", "R") + ton "Now, as you know, I'm a trained Auror..." ("normal", "wide", "shocked", "mid") + gen "A very \"talented\" one at that!" ("base", xpos="far_left", ypos="head") + ton "Are you just praising my tits, Sir?" ("soft", "narrow", "annoyed", "mid") + gen "Every part of your body is worthy of praise!" ("grin", xpos="far_left", ypos="head") + ton "Well... thank you, [name_genie_tonks]." ("base", "happyCl", "shocked", "mid") + + # Screenshake + with hpunch + ton "" ("horny", "narrow", "shocked", "mid") + nar "Tonks gives her breasts another quick shake for you." + + call ctc + + ton "I suggest we do one more training session, and then call it from there..." ("base", "wide", "base", "mid") + gen "Sounds good to me..." ("base", xpos="far_left", ypos="head") + ton "Believe me, it's gonna be a great one!" ("soft", "wink", "base", "mid") + gen "Are we going to see more of your... talents?" ("grin", xpos="far_left", ypos="head") + ton "How would you like to see {b}all{/b} this Auror has to offer?" ("horny", "closed", "annoyed", "mid") # horny + gen "Looking forward to it!" ("grin", xpos="far_left", ypos="head") + ton "Have a good night, [name_genie_tonks]!" ("base", "base", "angry", "mid") + + # Tonks leaves. + call ton_walk(action="leave") + + gen "(I hope she's planned something big!)" ("grin", xpos="far_left", ypos="head") + + jump end_ag_st_imperio + +label ag_st_imperio_E5: + $ tonks.equip(ton_outfit_default) + $ astoria.equip(ast_outfit_default) + stop music fadeout 1.0 + play sound "sounds/door.ogg" + call ton_chibi("stand","desk","base") + call ast_chibi("stand",530,"base") # Make sure it's slightly to the left of Tonks' chibi. + with fade + pause.8 + + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed + ast "" ("smile", "base", "base", "mid", xpos="base", ypos="base") + ton "Hi, Professor!" ("base", "wide", "base", "mid", xpos="right", ypos="base") + + ast "Hello!" ("smile", "closed", "base", "mid", emote="happy") # Happy + gen "All cheered up today, Astoria?" ("base", xpos="far_left", ypos="head") + ast "Yes, Sir." ("grin", "base", "base", "mid") + ton "She should be. We made some real progress today." ("grin", "narrow", "base", "R") + ton "I'm very impressed with her, I've got to say!" ("base", "base", "base", "mid") + ton "She's very close to mastering it!" ("base", "happyCl", "base", "mid") + ast "Really?!" ("smile", "base", "base", "R") + gen "Is that so?" ("grin", xpos="far_left", ypos="head") + gen "Care for a demonstration?" ("grin", xpos="far_left", ypos="head") + ast "" ("smile", "base", "base", "mid") + ton "Of course." ("base", "base", "base", "mid") + ton @ hair horny "I'm confident she'll be able to make me do {b}anything{/b} you want today." ("horny", "base", "base", "R") # Horny stare + gen "Counting on it!" ("grin", xpos="far_left", ypos="head") + ton "Make sure to give her some good suggestions, Professor!" ("open", "base", "angry", "mid") + gen "Absolutely!" ("grin", xpos="far_left", ypos="head") + ton "And Astoria..." ("open", "base", "raised", "L") + ton "Today we are going to try to push me to the limit." ("base", "base", "base", "L") + ton "You will have me do whatever Professor Dumbledore commands, without question!" ("soft", "wide", "annoyed", "L") + ton "We will only stop with today's training once I'm able to... resist, am I clear?" ("open", "closed", "base", "L") + ast "I suppose..." ("annoyed", "base", "base", "down") + ton "What was that?" ("soft", "base", "base", "R") + ast "Yes, Professor..." ("annoyed", "base", "base", "R") + + ton "Great, then you may start, Astoria..." ("base", "narrow", "base", "L") + call ast_chibi("wand",530,"base") + with d3 + ton "..................." ("base", "closed", "base", "mid") + call ast_chibi("wand_casting",530,"base") + with d3 + ast "..................." ("annoyed", "base", "base", "down") + ton "Astoria? Would you cast the curse - please?" ("open", "base", "base", "L") + ast "..................." ("clench", "base", "base", "down") + + # Astoria casts imperio. + stop music fadeout 2.0 + ast "Imperio...{w=0.8}{nw}" ("open", "closed", "base", "mid") + + call hide_characters + hide screen bld1 + with d3 + pause.2 + + # chibi spell animation. + call ast_chibi("wand_imperio",530,"base") + play sound "sounds/magic2.ogg" + with hpunch + pause.8 + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + ast "" ("base", "base", "base", "L") + ton @ hair horny "*Hmm*............" ("soft", "base", "worried", "ahegao") + + gen "(Here we go!)" ("grin", xpos="far_left", ypos="head") + ast ".............." ("grin", "base", "base", "L") + call ast_chibi("wand",530,"base") + with d3 + ast "What should we start with, Professor?" ("open", "base", "worried", "mid") + gen "Let's just try the same things as last time..." ("base", xpos="far_left", ypos="head") + gen "Ask her to take that coat off first." ("base", xpos="far_left", ypos="head") + ast "Very well..." ("base", "base", "base", "mid") + ast "Professor, would you please take off your coat?" ("open", "base", "base", "L") + ton "*Hmm*... My coat?..." ("open", "base", "worried", "stare") + ton "..............." ("normal", "wide", "base", "stare") + ton "Sure...{heart}" ("silly", "happyCl", "base", "mid") + + # Remove coat. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("robe") + ton "" ("base", "base", "base", "ahegao") + pause.8 + + ast "Yay!" ("smile", "narrow", "base", "mid") + ast "Her shirt was next, right?" ("base", "base", "angry", "mid") + gen "That is correct." ("base", xpos="far_left", ypos="head") + ast "Yes! Take off your shirt, Professor!" ("clench", "base", "angry", "L") # menacing + ton @ cheeks blush "*Ahhh*................" ("soft", "base", "base", "ahegao") + + # Remove top. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("top") + $ tonks.strip("bra") + ton @ cheeks blush "" ("base", "base", "base", "ahegao") + pause.8 + + ast @ cheeks blush "She did it!" ("smile", "base", "base", "mid") + gen "Well{w=0.5} {i}fucking{/i}{w=0.7} done!" ("grin", xpos="far_left", ypos="head") + gen "Next, I'd like you to--" ("base", xpos="far_left", ypos="head") + ast "Ask her to take off her trousers!" ("grin", "base", "angry", "L") + gen "Yes please!" ("grin", xpos="far_left", ypos="head") + ast "Professor, please take off your trousers..." ("open", "closed", "base", "mid") + ton @ cheeks blush "*hngh*..." ("mad", "closed", "base", "ahegao") + + # Remove bottom. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("bottom") + $ tonks.strip("panties") + ton "" ("base", "base", "worried", "ahegao") + pause.5 + ast "" ("annoyed", "narrow", "angry", "down") + pause.8 + ton @ cheeks blush "" ("horny", "wide", "shocked", "ahegao") + call ctc + + ast "Oh wow..." ("angry", "base", "base", "down") + ton @ cheeks blush "..................." ("horny", "base", "base", "ahegao") + ast "Professor, how can it be that you're not wearing any underwear?!" ("angry", "base", "worried", "down") # angry embarrassed + gen "Yes, Miss Tonks." ("base", xpos="far_left", ypos="head") + gen "Explain yourself!" ("grin", xpos="far_left", ypos="head") + ton @ cheeks blush "*Hmm*......." ("normal", "base", "worried", "stare") + ast "Answer us!" ("clench", "closed", "angry", "mid") + ton @ cheeks blush hair sad "I don't like to wear them..." ("open", "wide", "worried", "stare") + ast "Why?!" ("open", "narrow", "angry", "L") # angry + ton @ hair horny "I feel so much better without a bra on... or panties..." ("soft", "wide", "base", "stare") + ast "You're a teacher! This is disgusting!" ("clench", "closed", "angry", "mid", emote="angry") + gen "Dis-{w=0.8}gusting!" ("angry", xpos="far_left", ypos="head") + + with hpunch + ton @ cheeks blush "{heart} {heart} {heart}" ("soft", "happyCl", "worried", "ahegao") + ast "I can't believe my teacher is such a slut!" ("angry", "narrow", "angry", "L") + gen "Des-{w=0.8}picable!" ("angry", xpos="far_left", ypos="head") + ast "Are you a slut, Professor?" ("open", "narrow", "angry", "L") + ton @ cheeks blush "..............." ("normal", "shocked", "worried", "stare") # ahegao + ast "Are you?!" ("clench", "base", "angry", "L") + ton @ cheeks blush hair horny "I am! {heart}" ("soft", "base", "worried", "ahegao") + ast "I knew it!" ("smile", "narrow", "angry", "L") + ast "That's why she has such difficulty resisting our commands!" ("open", "base", "worried", "mid") + gen "Yes. She's clearly trying her hardest..." ("base", xpos="far_left", ypos="head") + + ton @ cheeks blush hair horny "" ("normal", "base", "shocked", "ahegao") + ast "Professor Dumbledore, you knew exactly what her weakness would be!" ("smile", "base", "base", "mid") + gen "I did?" ("base", xpos="far_left", ypos="head") + gen "*Ahem*... I mean, of course I did!" ("base", xpos="far_left", ypos="head") + ast "We're taking off her clothes, because that's what she enjoys! But could never do in school!" ("angry", "narrow", "angry", "L") + ast "Which makes it easier for me to channel the Imperius curse..." ("grin", "base", "angry", "mid") + ast "Because she's nothing but a weak-minded slut!" ("open", "narrow", "angry", "L") # angry + ton @ cheeks blush hair horny "................" ("soft", "narrow", "shocked", "ahegao") # ahegao + gen "You're on point!" ("base", xpos="far_left", ypos="head") + + ast "Take off the rest of your clothes!" ("clench", "base", "angry", "L") # angry + gen "Yes!" ("grin", xpos="far_left", ypos="head") + ast "Take them off, you slut!" ("scream", "closed", "angry", "mid", trans=hpunch) # scream + ton @ cheeks blush "........{heart}" ("normal", "wide", "shocked", "stare") + + # Strip naked. Removes clothes and stockings. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("clothes") + ton @ cheeks blush hair horny "" ("grin", "base", "base", "ahegao") + ast "(She did it...)" ("horny", "narrow", "angry", "L") + call ctc + + ast "Look, Professor!" ("smile", "narrow", "angry", "L") + ast "I got her to be completely naked!" ("smile", "base", "angry", "mid") + gen "Excellent work, [name_astoria_genie]!" ("grin", xpos="far_left", ypos="head") + ast "Thank you, Sir!" ("smile", "closed", "base", "mid") + ton @ cheeks blush "............." ("silly", "happyCl", "base", "stare") + + #screenshake + with hpunch + nar "Tonks gives her tits a little sway..." + + gen "*Argh*! (I can't take it anymore!)" ("angry", xpos="far_left", ypos="head") + + gen "..." ("angry", xpos="far_left", ypos="head") + menu: + "-Start masturbating!-": + $ states.gen.masturbating = True + call hide_characters + hide screen bld1 + with d3 + pause.2 + + call gen_chibi("jerk_off_behind_desk") + with d5 + pause.8 + + nar "You take out your cock and start jacking off." + + ton @ cheeks blush "" ("horny", "narrow", "raised", "L") + ast "What shall I have her do now?" ("open", "base", "base", "L") + "*fap-fap-fap*" + ton @ cheeks blush hair horny "" ("soft", "narrow", "shocked", "L") + ast "Professor?" ("annoyed", "narrow", "angry", "mid") + gen "What?" ("base", xpos="far_left", ypos="head") + gen "Oh..." ("base", xpos="far_left", ypos="head") + gen "Get her to climb my desk!" ("grin", xpos="far_left", ypos="head") + gen "Have her do a little dance for us." ("grin", xpos="far_left", ypos="head") + ast "Did you hear him, Professor?" ("smile", "closed", "base", "mid") + ast "Get on that desk, and start dancing!" ("open", "narrow", "angry", "L") + ton @ hair horny "Yes...{heart}" ("grin", "wink", "base", "mid") + + # Climb desk and dance. + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + nar "After giving you a playful wink, Tonks suggestively climbs on top of your desk, getting a good glimpse of your rock-hard cock..." + pause 1 + + call ast_chibi("wand","desk","base") # Still in wand pose. + call ton_chibi("stand","on_desk","on_desk") + hide screen blkfade + with d5 + call ctc + + gen "(This is getting better and better...)" ("grin", xpos="far_left", ypos="head") + "*fap-fap-fap*" + ton "" ("horny", "base", "raised", "down", xpos="mid", ypos="base") + + ast "Move your hips!" ("open", "narrow", "base", "L") + call hide_characters + hide screen bld1 + with d3 + pause.1 + + # Tonks dances. + call ton_chibi("stand","on_desk","on_desk", flip=True) + with d3 + pause.8 + call ton_chibi("stand","on_desk","on_desk", flip=False) + with d3 + pause.5 + + ast "" ("horny", "base", "angry", "L") + ton "............" ("grin", "base", "base", "mid") + ast "She's really doing everything I tell her!" ("smile", "base", "angry", "mid") + ast "Look how easy it is, Professor!" ("smile", "closed", "base", "mid", emote="hearts",trans=hpunch) + + nar "Astoria joyfully jumps up and down on the spot, making a happy squeal..." + call hide_characters + hide screen bld1 + with d3 + pause.1 + + show screen astoria_wand_drop + call ast_chibi("reset","desk","base") # No wand pose. + pause.355 + play sound "sounds/wand_drop.ogg" + pause.5 + + show screen bld1 + nar "Unknowingly dropping her wand..." + + ton "" ("upset", "base", "base", "R") + gen "*Uhm*..." ("base", xpos="far_left", ypos="head") + ast "What's next, Professor?" ("smile", "narrow", "angry", "mid") + gen "Next?" ("base", xpos="far_left", ypos="head") + ast "Yes, just look at her... She's loving this!" ("clench", "narrow", "angry", "L") + ast "Can I walk her around school like this?" ("grin", "narrow", "worried", "L") + gen "What?" ("base", xpos="far_left", ypos="head") + gen "Are you serious?" ("base", xpos="far_left", ypos="head") + ast "Please!" ("upset", "base", "base", "mid") + ton ".............." ("soft", "base", "raised", "down") + gen "(That might be a good idea for another time...)" ("base", xpos="far_left", ypos="head") + gen "Not today, I'm afraid..." ("base", xpos="far_left", ypos="head") + ton "" ("annoyed", "closed", "base", "mid") + ast "*Aww*..." ("annoyed", "narrow", "base", "down") + gen "Don't worry, I have an even better idea!" ("grin", xpos="far_left", ypos="head") + gen "Could you ask her to get under my table?" ("grin", xpos="far_left", ypos="head") + ast "*Huh*?... To do what?" ("open", "base", "worried", "mid") + ton "To give him a blowjob..." ("open", "closed", "shocked", "mid") # Tonks answers for Genie + ast "Professor Tonks!{w} Are you serious?" ("scream", "base", "base", "L") # shocked + ast "Why would she want to do that? That's disgusting!!!" ("clench", "base", "worried", "mid") + gen "That-- *Uhm*..." ("base", xpos="far_left", ypos="head") + gen "That wasn't what I would have suggested, but..." ("base", xpos="far_left", ypos="head") + gen "I'm willing to give her a chance to try..." ("base", xpos="far_left", ypos="head") + gen "Try to resist that urge, I mean..." ("base", xpos="far_left", ypos="head") + ast "Are you sure it's okay...{w=0.4} I mean, As long as I don't have to look at it!" ("angry", "narrow", "base", "R") + ast "Professor Tonks, you can get under Professor Dumbledore's desk... and..." ("open", "closed", "base", "mid") + ast "Do \"that\" thing..." ("angry", "base", "worried", "R") + ast "..." ("horny", "base", "worried", "mid") + ton "............." ("base", "base", "shocked", "down", emote="hearts") + + call hide_characters + hide screen bld1 + with d3 + #show screen blkfade + #with d5 + pause.2 + + play sound "sounds/door.ogg" + pause.8 + + call sna_chibi("stand","door","base") + + hide screen blkfade + with d5 + + # Snape enters... + sna "Genie, I was wondering if you could help me with--" ("snape_35", ypos="head") + stop music fadeout 2.0 + play sound "sounds/scratch.ogg" + sna "!!!" ("snape_11", ypos="head") + hide screen bld1 + with d3 + pause.1 + call ton_chibi("stand","on_desk","on_desk", flip=True) + with d3 + pause.5 + + ton @ hair upset "Shit!" ("mad", "base", "angry", "L", xpos="left", flip=True) + hide tonks_main + hide screen bld1 + with d3 + pause.1 + call ast_chibi("stand","desk","base", flip=True) + with d3 + pause.5 + + ast "*Huh*?!" ("annoyed", "narrow", "worried", "L", xpos="mid", flip=True) + ast "*Aaaaaaaaaah*!!!......................." ("scream", "base", "base", "L", emote="shocked", trans=hpunch) # Screams + hide astoria_main + hide screen bld1 + with d3 + pause.1 + + play sound "sounds/run_03.ogg" + call ast_chibi("hide") + call teleport("astoria", effect=False) + call ast_chibi("stand",210,275+180, flip=True) # Next to Genie's chair. + hide screen bld1 + with d3 + pause.1 + + call gen_chibi("sit_behind_desk") + with d3 + pause.5 + + nar "You quickly put away your priorly liberated cock." + gen "What's going on?" ("angry", xpos="far_left", ypos="head") + sna "Yes! I'd like to know that as well!" ("snape_43") + gen "Snape?!" ("angry", xpos="far_left", ypos="head") + if states.her.status.stripping == True: # Snape saw Hermione strip + gen "Damn it, not you again!" ("angry", xpos="far_left", ypos="head") + gen "(You walking cock-block!)" ("angry", xpos="far_left", ypos="head") + + else: + gen "Damn it, what are you doing here?" ("angry", xpos="far_left", ypos="head") + + call sna_walk(620,"base") + pause.2 + + play music "music/Dark Fog.ogg" fadein 1 if_changed + sna "What on Earth is going on here?!" ("snape_08", xpos=580 ,ypos="base") + sna "You two better explain to me what I just witnessed!" ("snape_32") + ton @ hair angry "Stop being such a wuss, Severus!" ("mad", "base", "angry", "L", xpos="mid", flip=True) + ton @ hair upset "We were just practising some spells with Miss Greengrass." ("annoyed", "base", "base", "R") + sna "And that required you to be undressed? In front of a student?" ("snape_10") + ton @ cheeks blush "Well... she was the cause of it..." ("clench", "base", "base", "down") + sna "Caused you to strip?" ("snape_34") + sna "Which spells are you teaching that girl?!" ("snape_25") + sna "Don't tell me you--" ("snape_36") # Shocked + ton @ cheeks blush "The Imperius Curse." ("soft", "closed", "base", "mid") + sna "I can't believe you two..." ("snape_08") + ast "Am I in trouble now, Professor?" ("annoyed", "base", "base", "L", xpos=10) # Asking Snape + sna "Keep quiet, girl!" ("snape_34") + sna "............" ("snape_04") # Snape sees the wand. + + sna "Is that your wand lying on the ground, Miss Greengrass?" ("snape_03") + ast "My wand?" ("annoyed", "base", "base", "down") + ast "Oh no, I must have dropped it when you came in, Sir." ("clench", "closed", "worried", "mid") + sna "Well, pick it back up!" ("snape_32") + sna "A Slytherin takes better care of her equipment..." ("snape_10") + ast "Yes. I'm sorry, Professor." ("clench", "closed", "angry", "mid", emote="sweat") + + call ast_walk(path=[(270, 290+180), (370,290+180), ("desk","base")]) + call ast_chibi("stand","desk","base", flip=False) + with d3 + pause.1 + play sound "sounds/09_lock.ogg" + hide screen astoria_wand_drop + pause.5 + + sna "You may leave, Astoria." ("snape_09", ypos="head") + ast "..." ("clench", "base", "base", "down", ypos="head", flip=True) + sna "Miss Greengrass..." ("snape_04") + ast "Yes sir." ("annoyed", "base", "base", "down") + + #astoria leaves + $ snape_chibi.zorder = 3 + $ astoria_chibi.zorder = 2 + + call sna_chibi("stand",620,"base") # Updates Zorder. + call ast_walk(action="leave") + + $ snape_chibi.zorder = 2 # Reset to default. + + # Tonks hops off your desk and walks closer to Snape. + play sound "sounds/08_hop_on_desk.ogg" + show screen blkfade + with d5 + pause 1 + + call ton_chibi("stand","desk","base", flip=True) + hide screen blkfade + with d5 + pause.5 + + call ton_walk(550,"base") + pause.8 + + ton "" ("annoyed", "base", "annoyed", "L", xpos=275, ypos="base", flip=True) + sna "........................." ("snape_05", xpos=580 ,ypos="base") + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton @ hair horny "Like what you see?" ("upset", "base", "raised", "L") # Bit flirty, maybe just to calm Snape down. + sna "............................." ("snape_12") # blushing + gen "You couldn't have picked a worse time to burst in here..." ("angry", xpos="far_left", ypos="head") + sna "I can imagine that..." ("snape_18") + + sna "So, Nymphadora..." ("snape_04") + ton @ hair angry "*Tzzzzs*!......" ("annoyed", "closed", "annoyed", "mid") + sna "Would you mind explaining to me why you were naked in the headmaster's office - with a student present?" ("snape_03") + sna "One of my students - at that." ("snape_10") + ton @ hair horny "Are you jealous?" ("soft", "narrow", "base", "L") + sna "............" ("snape_14") + + sna "The question..." ("snape_18") + ton @ cheeks blush "It's this Astoria girl..." ("soft", "base", "annoyed", "R") + ton "There's something wrong with her..." ("open", "narrow", "base", "down") + ton "She's cursed you see!" ("open", "wide", "worried", "L") + ton "A blood curse... very unfortunate." ("mad", "base", "worried", "down") + sna "A blood curse you say?" ("snape_09") #incredulous + sna "Now that sounds serious..." ("snape_05") + ton "Yes, very serious!" ("clench", "wide", "worried", "down") + ton "Been in her family for generations even." ("disgust", "wide", "base", "mid") + sna "And what are the effects of this \"Blood curse\" exactly?" ("snape_04") + ton "Well... I believe that this curse has rendered her practically asexual!" ("clench", "base", "worried", "L") + sna "What nonsense..." ("snape_07") + gen "........................." ("base", xpos="far_left", ypos="head") + ton "How dare you!" ("mad", "closed", "angry", "L") + ton "I can recognise someone that's under a curse!" ("open", "narrow", "angry", "down") + ton "I've been an auror for three years now, I'll have you know!" ("mad", "base", "angry", "R") + sna "Working at that precious ministry of yours has really rubbed off on you, hasn't it?" ("snape_02") + gen "That's enough, Severus." ("base", xpos="far_left", ypos="head") + sna "..." ("snape_35") + gen "What business is conducted in this office is none of your concern." ("base", xpos="far_left", ypos="head") + gen "You're excused..." ("base", xpos="far_left", ypos="head") + sna ".................." ("snape_04") + sna "Very well..." ("snape_03") + sna "Genie...{w} Nymphadora..." ("snape_09") + ton @ hair angry ".................." ("mad", "base", "angry", "L") # Angry stare + + #Snape leaves + call sna_walk(action="leave") + + call ton_chibi("stand","mid","base", flip=False) + with d3 + pause.2 + call ton_walk("desk","base") + pause.5 + + ton @ hair neutral "Thank you..." ("normal", "base", "worried", "mid", xpos="mid", ypos="base", flip=False) + gen "..." ("base", xpos="far_left", ypos="head") + gen "Now..." ("base", xpos="far_left", ypos="head") + + menu: + "-Prompt her to be honest with herself-": + gen "I think it's time for some honesty." ("base", xpos="far_left", ypos="head") + ton "Regarding?" ("soft", "base", "shocked", "downR") + gen "Everything that we've been doing with the Astoria girl." ("base", xpos="far_left", ypos="head") + ton "Oh..." ("upset", "base", "worried", "down") + ton @ cheeks blush "Well, we've been helping her haven't we?" ("open", "base", "shocked", "down") + ton @ cheeks blush "She's such an uptight and oppressed cute little...{w=0.4} girl." ("upset", "closed", "raised", "down") + ton @ cheeks blush "..." ("mad", "narrow", "base", "downR") + ton @ cheeks blush "How can I not help her, even if she's a Slytherin." ("upset", "closed", "base", "mid") + gen "[name_tonks_genie]... You aren't convincing anyone." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "To think such an innocent girl could be the victim of such an--" ("open", "closed", "base", "down") + gen "Tonks!" ("base", xpos="far_left", ypos="head") + ton "Alright..." ("annoyed", "base", "annoyed", "down") #exasperated + ton "The blood curse may have been a little white lie on my part." ("annoyed", "narrow", "base", "down") + gen "And?" ("base", xpos="far_left", ypos="head") + ton "And the imperio training with Astoria may have been for my own benefit." ("soft", "narrow", "annoyed", "downR") + gen "..." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "Having her cast it on me was exclusively for my own personal enjoyment." ("annoyed", "base", "base", "down") + gen "(What a surprise...)" ("base", xpos="far_left", ypos="head") + gen "Why weren't you honest with me?" ("base", xpos="far_left", ypos="head") + ton "*Sigh*..." ("open", "narrow", "base", "R") + ton @ cheeks blush "Perhaps I've been taking this favour business... thing a bit too lightly." ("open", "narrow", "raised", "down") + ton "I've been telling myself that it's as much for the students' benefit as it is my own." ("upset", "closed", "worried", "mid") + ton "\"I'll help them explore their sexuality\"." ("annoyed", "closed", "base", "mid") + ton "\"It'll do them good\"." ("annoyed", "closed", "base", "mid") + gen "We both know that is not the reason why we're doing this." ("base", xpos="far_left", ypos="head") + ton "Yes..." ("upset", "base", "base", "down") + ton "A small voice in my head knows it..." ("annoyed", "base", "base", "mid") + ton @ hair angry "And I can't help that I'm just so god...{w=0.4} damn...{w=0.3} horny!" ("open_wide", "closed", "angry", "mid") + ton @ hair horny "All the bloody time!" ("open_wide_tongue", "base", "base", "ahegao") + ton @ hair horny "See!" ("annoyed", "base", "annoyed", "up") + nar "You notice the bright pink colour of her hair - once again..." + gen "You should stop lying to yourself, it's not healthy..." ("base", xpos="far_left", ypos="head") + gen "I'm immortal - and even I know that!" ("base", xpos="far_left", ypos="head") + gen "Embrace why you chose to be a part of this, you've got a pretty good gig here." ("base", xpos="far_left", ypos="head") + ton "Yes, you're right." ("soft", "narrow", "base", "L") + gen "You're doing this for yourself, it's okay to be selfish." ("base", xpos="far_left", ypos="head") + gen "Think about how much you've endured at that ministry." ("angry", xpos="far_left", ypos="head") + ton "..." ("upset", "closed", "annoyed", "ahegao") + gen "Think of it as your reward! The students should be happy to have such a loving teacher as you." ("grin", xpos="far_left", ypos="head") + ton "Thank you... sir." ("soft", "closed", "base", "mid") + + "-Call her out on her bullshit-": + gen "I think there's someone who hasn't been very honest here..." ("base", xpos="far_left", ypos="head") + ton "Sorry?" ("upset", "base", "worried", "mid") + + #Music changes and darker overlay on screen + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + show screen blktone + with d3 + + gen "You seem to think you're above what we're doing here." ("base", xpos="far_left", ypos="head") + gen "That you're doing the students a favour rather than accepting it's for your benefit." ("base", xpos="far_left", ypos="head") + gen "Do you know what I think?" ("base", xpos="far_left", ypos="head") + ton "N-no..." ("upset", "wide", "worried", "R") + gen "I think that you've been fabricating this curse, to get what you really wanted - all along." ("base", xpos="far_left", ypos="head") + gen "Not for the good of Miss Greengrass..." ("base", xpos="far_left", ypos="head") + ton @ hair upset "..." ("mad", "base", "worried", "R") + gen "Someone's been a naughty girl... Acting all innocent with the ones that welcomed her into their scheme..." ("angry", xpos="far_left", ypos="head") + gen "Or perhaps you've been trying to justify your actions... to yourself?" ("base", xpos="far_left", ypos="head") + gen "Is that right?" ("base", xpos="far_left", ypos="head") + ton @ hair scared "That's..." ("upset", "closed", "worried", "mid") + gen "I think we both know what this means, don't we?" ("base", xpos="far_left", ypos="head") + gen "Miss Tonks..." ("base", xpos="far_left", ypos="head") + gen "What this means is that you're no different than Snape and I." ("base", xpos="far_left", ypos="head") + gen "But you have yet to accept it..." ("base", xpos="far_left", ypos="head") + gen "And if you're unable to... Well, in that case..." ("base", xpos="far_left", ypos="head") + ton "I can! I have!" ("open_wide", "closed", "worried", "mid") + gen "Are you sure? Because if you're not in on this one hundred percent. Perhaps this may have been a mistake." ("base", xpos="far_left", ypos="head") + ton "I..." ("open", "base", "worried", "down") + gen "Say it!" ("angry", xpos="far_left", ypos="head") + + $ menu_y = 0.7 + menu: + "\"You're a selfish slut!\"": + ton @ hair horny "Yes!" ("mad", "wide", "shocked", "stare") + ton @ hair horny "I'm a selfish slut!" ("open_wide_tongue", "closed", "worried", "mid") + "\"You're a filthy pervert!\"": + ton @ hair horny "Yes!" ("mad", "base", "worried", "mid") + ton @ hair horny "I'm a filthy,{w=0.6} {b}fucking{/b}{w=0.4} pervert!" ("open_wide_tongue", "closed", "worried", "mid") + "\"You're nothing more than a whore!\"": + ton @ hair horny "Yes!" ("mad", "base", "worried", "mid") + ton @ hair horny "I'm nothing but a cheap,{w=0.6} {b}fucking{/b}{w=0.4} whore!" ("open_wide_tongue", "closed", "worried", "mid") + call reset_menu_position + + ton "... {w}This is what I want!" ("mad", "wide", "annoyed", "down") + gen "Good, you're doing this for yourself, and nobody else..." ("base", xpos="far_left", ypos="head") + gen "You'd do good to remember that." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "Yes, Sir." ("base", "happyCl", "shocked", "mid") + + #Overlay goes away and music returns to normal + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + hide screen blktone + with d3 + + ton "So... *Ehm*... How long did you know?" ("open", "narrow", "annoyed", "R") + gen "From the very start." ("base", xpos="far_left", ypos="head") + ton "Really?!" ("clench", "base", "base", "mid") + gen "Yes... The way she was looking at you just now merely confirmed it..." ("base", xpos="far_left", ypos="head") + ton "Was it that obvious..." ("annoyed", "narrow", "base", "down") + gen "Now, with that out of the way..." ("base", xpos="far_left", ypos="head") + gen "Are you ready to take this to the next step?" ("base", xpos="far_left", ypos="head") + gen "Have you considered letting miss Greengrass cast the curse on a more susceptible target?" ("base", xpos="far_left", ypos="head") + ton "..." ("annoyed", "wide", "base", "R") + gen "Miss Tonks..." ("base", xpos="far_left", ypos="head") + ton "Fine, let's do it!" ("mad", "closed", "annoyed", "down") + gen "Good." ("grin", xpos="far_left", ypos="head") + gen "Do you have a student in mind... Someone with similar... Inhibitions, perhaps?" ("base", xpos="far_left", ypos="head") + gen "That Susan girl... How about her?" ("grin", xpos="far_left", ypos="head") + + ton "Susan Bones?" ("open", "wide", "shocked", "stare") + ton @ hair sad "But, she's a Hufflepuff...{w=0.8} I used to be..." ("open", "base", "worried", "up") # Tonks looks concerned (Blue) + gen "I don't see how that makes any difference..." ("base", xpos="far_left", ypos="head") + gen "Remember why we're doing this, you want Miss Greengrass to be able to curse you properly, correct?" ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "Yes..." ("soft", "base", "worried", "downR") + gen "This Susan girl sounds like the perfect target then." ("base", xpos="far_left", ypos="head") + gen "Maybe we could even hit two birds with one stone." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "*Huh*?" ("soft", "base", "worried", "mid") + gen "Perhaps I could learn a thing or two about this Susan girl is what I meant..." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "Right." ("open", "base", "worried", "mid") + gen "Any objections?" ("base", xpos="far_left", ypos="head") + ton @ cheeks blush hair neutral "No sir..." ("open", "base", "base", "down") + gen "But for now... Just make sure to obliterate her afterwards." ("base", xpos="far_left", ypos="head") + ton "Erase her memory?" ("open", "base", "base", "mid") + gen "That's what I said." ("base", xpos="far_left", ypos="head") + gen "Well then, I believe we're done here..." ("base", xpos="far_left", ypos="head") + ton "Alright..." ("annoyed", "base", "base", "down") + ton @ hair horny "I'm going to require some \"me\" time now..." ("open", "closed", "base", "ahegao") + ton @ hair horny "If you know what I mean..." ("grin", "narrow", "raised", "down") + ton "I suppose I should wish you good luck with the training..." ("soft", "base", "shocked", "L") + gen "Have a good night." ("grin", xpos="far_left", ypos="head") + ton "Oh - I will, [name_genie_tonks]!" ("base", "base", "raised", "R") + ton "I sure will!" ("horny", "base", "raised", "downR") + + call ton_walk(action="leave") + + gen "(...)" ("base", xpos="far_left", ypos="head") + gen "(Snape...)" ("base", xpos="far_left", ypos="head") + gen "(That guy deprived me of a blowjob...)" ("base", xpos="far_left", ypos="head") + gen "(He owes me one!)" ("angry", xpos="far_left", ypos="head") + + nar "Astoria has \"mastered\" the imperio curse!" + + $ states.sna.busy = True + $ states.ton.busy = True + $ states.ast.busy = True + + $ tonks.wear("all") # Wear all stripped clothing + + jump end_ag_st_imperio + +# astoria wand drop animation screen +screen astoria_wand_drop(): + tag wand + zorder 2 + + add "characters/astoria/chibis/wand.webp": + at transform: + zoom 0.35 + rotate -25 + xanchor 0 + yoffset -60 + xpos 530-90 + ypos 400 + + easeout_cubic 0.5 yoffset 0 rotate 0 + linear 0.15 rotate 5 yoffset -5 + linear 0.15 rotate 10 yoffset 10 + linear 0.15 rotate 15 yoffset 5 + linear 0.15 rotate 25 yoffset 15 diff --git a/game/scripts/characters/astoria/favors.rpy b/game/scripts/characters/astoria/favors.rpy deleted file mode 100644 index 5c55cbeb..00000000 --- a/game/scripts/characters/astoria/favors.rpy +++ /dev/null @@ -1,40 +0,0 @@ -# Imperius Curse -default ag_st_imperio = event_class( - title = _("Imperio Training"), start_label = "ag_st_imperio", start_tier = 1, - events = [ - [ - ["ag_st_imperio_E1"], - ["ag_st_imperio_E2"], - ["ag_st_imperio_E3"], - ["ag_st_imperio_E4"], - ["ag_st_imperio_E5"] - ] - ], - icons = [None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"]], - complete = False -) - -default ag_se_imperio_sb = event_class( - title = _("Cast Imperio on Susan"), start_label = "ag_se_imperio_sb", start_tier = 1, - events = [ - [ - ["ag_se_imperio_sb_E1"], - ["ag_se_imperio_sb_E2"], - ["ag_se_imperio_sb_E3"] - ] - ], - icons = [None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_red"]], - complete = True -) - -default ag_spell_list = [] - -label update_astoria_spells: - $ del ag_spell_list[:] # Clear list - if not ag_st_imperio.is_complete(): - $ ag_spell_list.append(ag_st_imperio) - else: - $ ag_spell_list.append(ag_se_imperio_sb) # Susan - return diff --git a/game/scripts/characters/astoria/gifts.rpy b/game/scripts/characters/astoria/gifts.rpy index 19811ec8..894983f2 100644 --- a/game/scripts/characters/astoria/gifts.rpy +++ b/game/scripts/characters/astoria/gifts.rpy @@ -1,510 +1,510 @@ # Astoria Gift Responses label give_ast_gift(gift_item): - $ gave_astoria_gift = True + $ states.ast.gifted = True hide astoria_main with d5 ast "" (xpos="mid", ypos="base", trans=d5) if gift_item == lollipop_ITEM: - if ast_whoring < 6: - ast "A lollipop?" (mouth="open", face="neutral") - ast "Why are you giving me sweets, I'm not a kid!" (face="angry") + if states.ast.level < 6: + ast "A lollipop?" ("horny", "narrow", "base", "mid") + ast "Why are you giving me sweets, I'm not a kid!" ("upset", "base", "angry", "mid") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "A lollipop?" (mouth="open", face="neutral") - call give_gift(_(">You give the lollipop to Astoria..."), gift_item) - ast "why are you being so nice to me..." (face="angry") - ast "Although... the other students haven't had any left since the last Hogsmeade trip." (mouth="open", face="neutral") - ast "They'll be so jealous!" (mouth="grin", face="happy") + elif states.ast.level > 5 and states.ast.level < 12: + ast "A lollipop?" ("open", "narrow", "base", "mid") + call give_gift("You give the lollipop to Astoria...", gift_item) + ast "why are you being so nice to me..." ("upset", "base", "angry", "mid") + ast "Although... the other students haven't had any left since the last Hogsmeade trip." ("open", "narrow", "base", "mid") + ast "They'll be so jealous!" ("grin", "narrow", "base", "mid") call ast_mood(-1) else: - ast "A lollipop?" (mouth="open", face="neutral") - call give_gift(_(">You give the lollipop to Astoria..."), gift_item) + ast "A lollipop?" ("open", "narrow", "base", "mid") + call give_gift("You give the lollipop to Astoria...", gift_item) ast "That's going to take all day to suck on..." ast "I guess my mouth will be too busy to do anything else for the entire day!" call ast_mood(-2) elif gift_item == chocolate_ITEM: - if ast_whoring < 6: - ast "Some chocolate?" (mouth="open", face="neutral") + if states.ast.level < 6: + ast "Some chocolate?" ("open", "narrow", "base", "mid") ast "Don't you have any dung-bombs?" ast "They're way more fun!" call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Some chocolate?" (mouth="open", face="neutral") - call give_gift(_(">You give the chocolate to Astoria..."), gift_item) - ast "Thank you, [ast_genie_name]." (mouth="open", face="neutral") - ast "I don't know what I did to deserve it." (mouth="annoyed", pupils="R", face="neutral") - ast "But I'm not going to say no..." (face="happy") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Some chocolate?" ("open", "narrow", "base", "mid") + call give_gift("You give the chocolate to Astoria...", gift_item) + ast "Thank you, [name_genie_astoria]." ("open", "narrow", "base", "mid") + ast "I don't know what I did to deserve it." ("annoyed", "narrow", "base", "R") + ast "But I'm not going to say no..." ("smile", "narrow", "base", "mid") call ast_mood(-1) else: - ast "Some chocolate?" (mouth="open", face="neutral") - call give_gift(_(">You give the chocolate to Astoria..."), gift_item) + ast "Some chocolate?" ("open", "narrow", "base", "mid") + call give_gift("You give the chocolate to Astoria...", gift_item) ast "Did you hear chocolate is supposed to be an aphrodisiac?" - ast "Although it was a muggle that came up with that one so I doubt there's any truth to it." + ast "Although it was a muggle that came up with that one, so I doubt there's any truth to it." ast "Oh well, that sucks doesn't it?" call ast_mood(-2) elif gift_item == plush_owl_ITEM: - if ast_whoring < 6: - ast "An owl plushie?" (mouth="open", face="neutral") + if states.ast.level < 6: + ast "An owl plushie?" ("open", "narrow", "base", "mid") ast "Why are you giving me this?" ast "Toys are for children..." call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "An owl plushie?" (mouth="open", face="neutral") - call give_gift(_(">You give the stuffed toy to Astoria..."), gift_item) - ast "I don't use stuffed toys..." (mouth="open", face="annoyed") - ast "I know someone that hates owls though... I'll put this in front of her face when she's waking up..." (mouth="annoyed", pupils="R", face="neutral") + elif states.ast.level > 5 and states.ast.level < 12: + ast "An owl plushie?" ("open", "narrow", "base", "mid") + call give_gift("You give the stuffed toy to Astoria...", gift_item) + ast "I don't use stuffed toys..." ("open", "narrow", "base", "mid") + ast "I know someone that hates owls though... I'll put this in front of her face when she's waking up..." ("annoyed", "narrow", "base", "R") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "An owl plushie?" (mouth="open", face="neutral") - call give_gift(_(">You give the stuffed toy to Astoria..."), gift_item) + elif states.ast.level > 11 and states.ast.level < 18: + ast "An owl plushie?" ("open", "narrow", "base", "mid") + call give_gift("You give the stuffed toy to Astoria...", gift_item) ast "Do I look like a girl that plays with toys?" ast "Actually, don't answer that..." ast "Guess it'd be rude not to take it..." call ast_mood(-1) else: - ast "An owl plushie?" (mouth="open", face="neutral") - call give_gift(_(">You give the stuffed toy to Astoria..."), gift_item) - ast "If you want to give me toys you better be prepared for me to call you daddy..." + ast "An owl plushie?" ("open", "narrow", "base", "mid") + call give_gift("You give the stuffed toy to Astoria...", gift_item) + ast "If you want to give me toys, you better be prepared for me to call you daddy..." ast "So, thank you..." ast "Daddy..." call ast_mood(-3) elif gift_item == butterbeer_ITEM: - if ast_whoring < 6: - ast "Butterbeer?" (mouth="smile", face="happy") - call give_gift(_(">You give the bottle to Astoria..."), gift_item) - ast "Time to get smashed!" (face="happy") - ast "The other students will be so jealous I got beer into the school..." (mouth="annoyed", face="angry") + if states.ast.level < 6: + ast "Butterbeer?" ("smile", "narrow", "base", "mid") + call give_gift("You give the bottle to Astoria...", gift_item) + ast "Time to get smashed!" ("smile", "narrow", "base", "mid") + ast "The other students will be so jealous I got beer into the school..." ("annoyed", "base", "angry", "mid") call ast_mood(-2) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Butterbeer?" (mouth="smile", face="happy") - call give_gift(_(">You give the bottle to Astoria..."), gift_item) - ast "Don't you have something stronger?" (pupils="mid", face="annoyed") - ast "Like something you can't get in the school usually?" (pupils="R", face="annoyed") - ast "Fine, I'll take it!" (mouth="smile", face="happy") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Butterbeer?" ("smile", "narrow", "base", "mid") + call give_gift("You give the bottle to Astoria...", gift_item) + ast "Don't you have something stronger?" ("annoyed", "narrow", "base", "mid") + ast "Like something you can't get in the school usually?" ("annoyed", "narrow", "base", "R") + ast "Fine, I'll take it!" ("smile", "narrow", "base", "mid") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "Butterbeer?" (face="annoyed") - call give_gift(_(">You give the bottle to Astoria..."), gift_item) + elif states.ast.level > 11 and states.ast.level < 18: + ast "Butterbeer?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give the bottle to Astoria...", gift_item) ast "This watered down piss-water can barely get a house elf tipsy." ast "Actually, that gives me an idea..." call ast_mood(-1) else: - ast "Butterbeer?" (mouth="open", face="neutral") - call give_gift(_(">You give the bottle to Astoria..."), gift_item) - ast "It's more of a cider really isn't it?" (face="neutral") - ast "Thanks!" (mouth="smile", face="happy") + ast "Butterbeer?" ("open", "narrow", "base", "mid") + call give_gift("You give the bottle to Astoria...", gift_item) + ast "It's more of a cider really, isn't it?" ("base", "base", "base", "mid") + ast "Thanks!" ("smile", "narrow", "base", "mid") call ast_mood(-2) elif gift_item == science_mag_ITEM: - if ast_whoring < 6: - ast "(...)" (pupils="down", face="annoyed") - ast "Creating your own itch powder using household ingredients?" (mouth="open", pupils="down", face="annoyed") - ast "Is the kitchen even open to students?" (pupils="down", face="annoyed") - ast "What am I supposed to do with this, [ast_genie_name]?" (face="annoyed") + if states.ast.level < 6: + ast "(...)" ("annoyed", "narrow", "base", "down") + ast "Creating your own itch powder using household ingredients?" ("open", "narrow", "base", "down") + ast "Is the kitchen even open to students?" ("annoyed", "narrow", "base", "down") + ast "What am I supposed to do with this, [name_genie_astoria]?" ("annoyed", "narrow", "base", "mid") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Magazines?" (mouth="open", face="annoyed") - call give_gift(_(">You give an assortment of educational magazines to Astoria..."), gift_item) - ast "Making your own stink bombs..." (face="annoyed") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Magazines?" ("open", "narrow", "base", "mid") + call give_gift("You give an assortment of educational magazines to Astoria...", gift_item) + ast "Making your own stink bombs..." ("annoyed", "narrow", "base", "mid") ast "Looks like I might be able to make these in potions class..." - ast "If Snape doesn't catch me doing it." (mouth="clench", face="annoyed") + ast "If Snape doesn't catch me doing it." ("clench", "narrow", "base", "mid") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "Magazines?" (mouth="angry", face="angry") - ast "You want me to do more school work?" (mouth="annoyed", face="angry") + elif states.ast.level > 11 and states.ast.level < 18: + ast "Magazines?" ("upset", "base", "angry", "mid") + ast "You want me to do more school work?" ("annoyed", "base", "angry", "mid") call ast_mood(1) else: - ast "magazines?" (mouth="open", face="annoyed") - call give_gift(_(">You give an assortment of educational magazines to Astoria..."), gift_item) - ast "I was hoping for something a bit more risqué..." (face="annoyed") + ast "magazines?" ("open", "narrow", "base", "mid") + call give_gift("You give an assortment of educational magazines to Astoria...", gift_item) + ast "I was hoping for something a bit more risqué..." ("annoyed", "narrow", "base", "mid") call ast_mood(0) elif gift_item == girls_mag_ITEM: - if ast_whoring < 6: - ast "Girl magazines?" (mouth="open", face="annoyed") - ast "This is that trash my sister reads." (mouth="clench", pupils="down", face="annoyed") - ast "Such a massive waste of time..." (face="annoyed") + if states.ast.level < 6: + ast "Girl magazines?" ("open", "narrow", "base", "mid") + ast "This is that trash my sister reads." ("clench", "narrow", "base", "down") + ast "Such a massive waste of time..." ("annoyed", "narrow", "base", "mid") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Girl magazines?" (face="disgusted") - call give_gift(_(">You give an assortment of rather girly magazines to Astoria..."), gift_item) - ast "I'll take it for the free mascara sample. I once drew a uni-brow on someone with it." (face="happy") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Girl magazines?" ("base", "narrow", "angry", "mid") + call give_gift("You give an assortment of rather girly magazines to Astoria...", gift_item) + ast "I'll take it for the free mascara sample. I once drew a unibrow on someone with it." ("smile", "narrow", "base", "mid") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "Girl magazines?" (face="annoyed") - call give_gift(_(">You give an assortment of rather girly magazines to Astoria..."), gift_item) - ast "Well, I am a girl so of course I'd want it!" (face="annoyed") + elif states.ast.level > 11 and states.ast.level < 18: + ast "Girl magazines?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give an assortment of rather girly magazines to Astoria...", gift_item) + ast "Well, I am a girl, so of course I'd want it!" ("annoyed", "narrow", "base", "mid") call ast_mood(-1) else: - ast "Girl magazines?" (face="annoyed") - call give_gift(_(">You give an assortment of rather girly magazines to Astoria..."), gift_item) - ast "Don't I look hot enough for you [ast_genie_name]?" (mouth="open", eyes="closed", face="annoyed") - ast "I'm just teasing you, I'll have it." (face="happy") + ast "Girl magazines?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give an assortment of rather girly magazines to Astoria...", gift_item) + ast "Don't I look hot enough for you [name_genie_astoria]?" ("open", "closed", "base", "mid") + ast "I'm just teasing you, I'll have it." ("smile", "narrow", "base", "mid") call ast_mood(-1) elif gift_item == adult_mag_ITEM: - if ast_whoring < 6: - ast "Adult magazines?" (mouth="clench", face="disgusted") - ast "I'm good thanks." (face="disgusted") + if states.ast.level < 6: + ast "Adult magazines?" ("clench", "narrow", "angry", "mid") + ast "I'm good, thanks." ("base", "narrow", "angry", "mid") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Adult magazines?" (face="annoyed") - call give_gift(_(">You give an assortment of adult magazines to Astoria..."), gift_item) - ast "Of course I read them. I'm an adult after all, it's in the name." (mouth="annoyed", pupils="R", face="angry") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Adult magazines?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give an assortment of adult magazines to Astoria...", gift_item) + ast "Of course I read them. I'm an adult, after all... It's in the name." ("upset", "base", "angry", "mid") call ast_mood(-1) else: - ast "Adult magazines?" (face="annoyed") - call give_gift(_(">You give an assortment of adult magazines to Astoria..."), gift_item) - ast "This is that magazine Tonks was reading during our writing test..." (pupils="down", face="annoyed") - ast "Perhaps I'll wave it at her so she thinks I stole it..." (mouth="smile", pupils="mid", face="angry") + ast "Adult magazines?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give an assortment of adult magazines to Astoria...", gift_item) + ast "This is that magazine Tonks was reading during our writing test..." ("annoyed", "narrow", "base", "down") + ast "Perhaps I'll wave it at her, so she thinks I stole it..." ("smile", "base", "angry", "mid") call ast_mood(-1) elif gift_item == porn_mag_ITEM: - if ast_whoring < 6: - ast "Porn magazines?" (face="disgusted") - call give_gift(_(">You give an assortment of pornographic magazines to Astoria..."), gift_item) - ast "I'll take it!" (mouth="grin", face="happy") - ast "I'll put one in Susan's bag when she's not looking. Can't wait to see that cows face when her friends notice." (mouth="open", face="angry") - ast "Thank you, [ast_genie_name]." (face="happy") + if states.ast.level < 6: + ast "Porn magazines?" ("base", "narrow", "angry", "mid") + call give_gift("You give an assortment of pornographic magazines to Astoria...", gift_item) + ast "I'll take it!" ("grin", "narrow", "base", "mid") + ast "I'll put one in Susan's bag when she's not looking. Can't wait to see that cows face when her friends notice." ("open", "base", "angry", "mid") + ast "Thank you, [name_genie_astoria]." ("smile", "narrow", "base", "mid") call ast_mood(-1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Porn magazines?" (face="annoyed") - ast "Why do you have these?" (face="annoyed") - ast "Give them to Susan..." (pupils="R", face="annoyed") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Porn magazines?" ("annoyed", "narrow", "base", "mid") + ast "Why do you have these?" ("annoyed", "narrow", "base", "mid") + ast "Give them to Susan..." ("annoyed", "narrow", "base", "R") call ast_mood(0) - elif ast_whoring > 11 and ast_whoring < 18: - ast "Porn magazines?" (face="annoyed") - call give_gift(_(">You give an assortment of pornographic magazines to Astoria..."), gift_item) - ast "That's some extreme stuff you got there..." (face="disgusted") - ast "BDSM, what does that stand for..." (pupils="down", face="disgusted") + elif states.ast.level > 11 and states.ast.level < 18: + ast "Porn magazines?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give an assortment of pornographic magazines to Astoria...", gift_item) + ast "That's some extreme stuff you got there..." ("base", "narrow", "angry", "mid") + ast "BDSM, what does that stand for..." ("clench", "base", "angry", "mid") ast "She looks like she's enjoying it. That's not fun..." ast "Although..." call ast_mood(-1) else: - ast "Porn magazines?" (face="happy") - call give_gift(_(">You give an assortment of pornographic magazines to Astoria..."), gift_item) - ast "Is this where you get your ideas from?" (face="angry") - ast "A swing? Why would you have that in a porn ma... oh there's the next page." (pupils="down", face="disgusted") - ast "Yeah fuck it, give it here..." (mouth="grin", face="angry") + ast "Porn magazines?" ("smile", "narrow", "base", "mid") + call give_gift("You give an assortment of pornographic magazines to Astoria...", gift_item) + ast "Is this where you get your ideas from?" ("upset", "base", "angry", "mid") + ast "A swing? Why would you have that in a porn ma... oh there's the next page." ("clench", "base", "angry", "mid") + ast "Yeah fuck it, give it here..." ("grin", "base", "angry", "mid") call ast_mood(-2) elif gift_item == krum_poster_ITEM: - if ast_whoring < 6: - ast "Viktor Krum?" (face="annoyed") - ast "Is that the Quidditch player everyone seems to fancy?" (mouth="open", pupils="mid", face="annoyed") - call give_gift(_(">You give the poster to Astoria..."), gift_item) - ast "*Hmph*, I guess I'll take it if he's that popular..." (mouth="annoyed", pupils="R", face="neutral") + if states.ast.level < 6: + ast "Viktor Krum?" ("annoyed", "narrow", "base", "mid") + ast "Is that the Quidditch player everyone seems to fancy?" ("open", "base", "base", "mid") + call give_gift("You give the poster to Astoria...", gift_item) + ast "*Hmph*, I guess I'll take it if he's that popular..." ("annoyed", "narrow", "base", "R") call ast_mood(0) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Viktor Krum?" (face="annoyed") - ast "Bet he could crush m... someone with his bare hands." (face="disgusted") - ast "Give it here..." (face="happy") - call give_gift(_(">You give the poster to Astoria..."), gift_item) + elif states.ast.level > 5 and states.ast.level < 12: + ast "Viktor Krum?" ("annoyed", "narrow", "base", "mid") + ast "Bet he could crush m... someone with his bare hands." ("base", "narrow", "angry", "mid") + ast "Give it here..." ("smile", "narrow", "base", "mid") + call give_gift("You give the poster to Astoria...", gift_item) call ast_mood(-1) else: - ast "Viktor Krum?" (face="happy") - ast "His trousers aren't even off. What's the point..." (face="angry") + ast "Viktor Krum?" ("smile", "narrow", "base", "mid") + ast "His trousers aren't even off. What's the point..." ("upset", "base", "angry", "mid") call ast_mood(1) elif gift_item == sexy_lingerie_ITEM: - if ast_whoring < 6: - ast "Lingerie?" (face="disgusted") + if states.ast.level < 6: + ast "Lingerie?" ("base", "narrow", "angry", "mid") ast "Sexy Lingerie?!?" - ast "Why do you care so much about what I wear? Isn't this shitty school uniform enough for you?" (face="angry") + ast "Why do you care so much about what I wear? Isn't this shitty school uniform enough for you?" ("upset", "base", "angry", "mid") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Lingerie?" (mouth="open", face="neutral") - ast "I... No, I'd just end up looking like a tramp!" (face="angry") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Lingerie?" ("open", "narrow", "base", "mid") + ast "I... No, I'd just end up looking like a tramp!" ("upset", "base", "angry", "mid") call ast_mood(0) - elif ast_whoring > 11 and ast_whoring < 18: - ast "Lingerie?" (face="annoyed") - ast "Sexy..." (pupils="down", face="annoyed") - ast "Why not, I don't know if you could tell but I'm a bit of a rebel. Might even wear these in class." (mouth="grin", face="angry") - call give_gift(_(">You give the sexy lingerie to Astoria..."), gift_item) + elif states.ast.level > 11 and states.ast.level < 18: + ast "Lingerie?" ("annoyed", "narrow", "base", "mid") + ast "Sexy..." ("annoyed", "narrow", "base", "down") + ast "Why not, I don't know if you could tell, but I'm a bit of a rebel. Might even wear these in class." ("grin", "base", "angry", "mid") + call give_gift("You give the sexy lingerie to Astoria...", gift_item) call ast_mood(-1) else: - ast "Lingerie?" (face="annoyed") - call give_gift(_(">You give the sexy lingerie to Astoria..."), gift_item) - ast "Is this is the kind of clothes you want your students to dress in from now on?" (face="annoyed") - ast "*Heh*- I don't blame you, the school uniform is the most basic piece of trash ever without some spice..." (face="annoyed") + ast "Lingerie?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give the sexy lingerie to Astoria...", gift_item) + ast "Is this is the kind of clothing you want your students to dress up in from now on?" ("annoyed", "narrow", "base", "mid") + ast "*Heh*- I don't blame you, the school uniform is the most basic piece of trash ever without some spice..." ("annoyed", "narrow", "base", "mid") call ast_mood(-1) elif gift_item == sexy_stockings_ITEM : - if ast_whoring < 6: - ast "Stockings?" (face="disgusted") + if states.ast.level < 6: + ast "Stockings?" ("base", "narrow", "angry", "mid") ast "What happened to the dress code at this place?" - ast "What next, shorter skirts?" (face="angry") + ast "What next, shorter skirts?" ("upset", "base", "angry", "mid") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Stockings?" (mouth="open", face="neutral") - call give_gift(_(">You give the stockings to Astoria..."), gift_item) - ast "Seems pretty elastic... I could totally lob some stink bombs with these." (mouth="grin", face="angry") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Stockings?" ("open", "narrow", "base", "mid") + call give_gift("You give the stockings to Astoria...", gift_item) + ast "Seems pretty elastic... I could totally lob some stink bombs with these." ("grin", "base", "angry", "mid") call ast_mood(-1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "Stockings?" (face="annoyed") - ast "Hah, you fool! With these you wont be able to stare at my legs anymore!" (mouth="grin", face="angry") - call give_gift(_(">You give the stockings to Astoria..."), gift_item) + elif states.ast.level > 11 and states.ast.level < 18: + ast "Stockings?" ("annoyed", "narrow", "base", "mid") + ast "Hah, you fool! With these, you won't be able to stare at my legs any more!" ("grin", "base", "angry", "mid") + call give_gift("You give the stockings to Astoria...", gift_item) call ast_mood(-2) else: - ast "Stockings?" (face="annoyed") - ast "These are almost as see-through as your wicked intentions..." (mouth="grin", face="angry") - call give_gift(_(">You give the stockings to Astoria..."), gift_item) - ast "Disgusting..." (face="angry") + ast "Stockings?" ("annoyed", "narrow", "base", "mid") + ast "These are almost as see-through as your wicked intentions..." ("grin", "base", "angry", "mid") + call give_gift("You give the stockings to Astoria...", gift_item) + ast "Disgusting..." ("upset", "base", "angry", "mid") call ast_mood(-1) elif gift_item == pink_condoms_ITEM: - if ast_whoring < 6: - ast "Condoms?" (face="disgusted") - ast "Yeah, no... I'll take them but there's not going to be any dick going near these bad boys..." (face="annoyed") - ast "These will be the perfect thing to fill with water and drop down the staircase..." (mouth="smile", face="angry") - call give_gift(_(">You give the pack of Condoms to Astoria..."), gift_item) - ast "Cheers for the ammo, [ast_genie_name]." (face="happy") + if states.ast.level < 6: + ast "Condoms?" ("base", "narrow", "angry", "mid") + ast "Yeah, no... I'll take them, but there's not going to be any dick going near these bad boys..." ("annoyed", "narrow", "base", "mid") + ast "These will be the perfect thing to fill with water and drop down the staircase..." ("smile", "base", "angry", "mid") + call give_gift("You give the pack of Condoms to Astoria...", gift_item) + ast "Cheers for the ammo, [name_genie_astoria]." ("smile", "narrow", "base", "mid") call ast_mood(-2) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Condoms?" (face="neutral") - ast "Oh, thank you so much! I'll prick some holes in these and hand them out at once!" (mouth="grin", face="angry") - ast "What?" (face="annoyed") - ast "I see your concern... They probably would be able to trace it back to me." (face="annoyed") - ast "Oh well, a gift is a gift." (face="neutral") - call give_gift(_(">You give the pack of Condoms to Astoria..."), gift_item) + elif states.ast.level > 5 and states.ast.level < 12: + ast "Condoms?" ("base", "base", "base", "mid") + ast "Oh, thank you so much! I'll prick some holes in these and hand them out at once!" ("grin", "base", "angry", "mid") + ast "What?" ("annoyed", "narrow", "base", "mid") + ast "I see your concern... They probably would be able to trace it back to me." ("annoyed", "narrow", "base", "mid") + ast "Oh well, a gift is a gift." ("base", "base", "base", "mid") + call give_gift("You give the pack of Condoms to Astoria...", gift_item) call ast_mood(0) else: - ast "Condoms?" (face="annoyed") - ast "Why would I need condoms when I could just go in raw?" (mouth="grin", face="angry") - ast "*Ha-Ha-Hah* The look on your face, now that's something money can't buy." (face="happy") - call give_gift(_(">You sheepishly give the pack of Condoms to Astoria..."), gift_item) - ast "*Hmm*.... yeah why not." (face="neutral") + ast "Condoms?" ("annoyed", "narrow", "base", "mid") + ast "Why would I need condoms when I could just go in raw?" ("grin", "base", "angry", "mid") + ast "*Ha-Ha-Hah* The look on your face, now that's something money can't buy." ("smile", "narrow", "base", "mid") + call give_gift("You sheepishly give the pack of Condoms to Astoria...", gift_item) + ast "*Hmm*.... Yeah, why not." ("base", "base", "base", "mid") call ast_mood(-1) elif gift_item == vibrator_ITEM: - if ast_whoring < 6: - ast "A vibrator?" (face="disgusted") - ast "Gross, where did you even get that from?" (face="angry") + if states.ast.level < 6: + ast "A vibrator?" ("base", "narrow", "angry", "mid") + ast "Gross, where did you even get that from?" ("upset", "base", "angry", "mid") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: - ast "A vibrator?" (face="disgusted") - ast "Get the fuck out..." (face="angry") - ast "Oh right, I'm in your office... yeah that's going to be solid no on that one." (face="annoyed") + elif states.ast.level > 5 and states.ast.level < 12: + ast "A vibrator?" ("base", "narrow", "angry", "mid") + ast "Get the fuck out..." ("upset", "base", "angry", "mid") + ast "Oh right, I'm in your office... Yeah, that's going to be a solid no on that one." ("annoyed", "narrow", "base", "mid") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "A vibrator?" (face="disgusted") - ast "Hold on a second, that's the noise I've been hearing in the girls chambers!" (face="happy") - ast "Do they work?" (face="happy") - ast "I mean, I'll take it I guess." (face="neutral") - call give_gift(_(">You give the vibrator to Astoria..."),gift_item) + elif states.ast.level > 11 and states.ast.level < 18: + ast "A vibrator?" ("base", "narrow", "angry", "mid") + ast "Hold on a second, that's the noise I've been hearing in the girls chambers!" ("smile", "narrow", "base", "mid") + ast "Do they work?" ("smile", "narrow", "base", "mid") + ast "I mean, I'll take it, I guess." ("base", "base", "base", "mid") + call give_gift("You give the vibrator to Astoria...",gift_item) call ast_mood(-1) else: - ast "A vibrator?" (face="neutral") - call give_gift(_(">You give the vibrator to Astoria..."),gift_item) - ast "That's disgusting! What a disgusting old man you are. Well aren't you being disgusting..." (face="angry") - ast "Disgusting..." (face="angry") - ast "Give it here." (face="happy") + ast "A vibrator?" ("base", "base", "base", "mid") + call give_gift("You give the vibrator to Astoria...",gift_item) + ast "That's disgusting! What a disgusting old man you are. Well, aren't you being disgusting..." ("upset", "base", "angry", "mid") + ast "Disgusting..." ("upset", "base", "angry", "mid") + ast "Give it here." ("smile", "narrow", "base", "mid") call ast_mood(-2) elif gift_item == anal_lube_ITEM: - if ast_whoring < 6: - ast "Lube?" (mouth="open", face="neutral") - ast "I know the perfect staircase for this!" (face="happy") - call give_gift(_(">You give the jar of lube to Astoria..."), gift_item) - ast "Thank you, [ast_genie_name]." (face="happy") + if states.ast.level < 6: + ast "Lube?" ("open", "narrow", "base", "mid") + ast "I know the perfect staircase for this!" ("smile", "narrow", "base", "mid") + call give_gift("You give the jar of lube to Astoria...", gift_item) + ast "Thank you, [name_genie_astoria]." ("smile", "narrow", "base", "mid") call ast_mood(-1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Anal Lube?" (mouth="smile", face="happy") - ast "Swiggity swooty I'm coming for that booty!" (mouth="smile", face="angry") - ast "Come on now, what's with that dry humour. Maybe you could use some of that lube?" (face="annoyed") - call give_gift(_(">You cautiously give the jar of lube to Astoria..."), gift_item) - ast "Boo!" (face="annoyed") - ast "*ha-ha-ha*!" (face="happy") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Anal Lube?" ("smile", "narrow", "base", "mid") + ast "Swiggity swooty I'm coming for that booty!" ("smile", "base", "angry", "mid") + ast "Come on now, what's with that dry humour. Maybe you could use some of that lube?" ("annoyed", "narrow", "base", "mid") + call give_gift("You cautiously give the jar of lube to Astoria...", gift_item) + ast "Boo!" ("annoyed", "narrow", "base", "mid") + ast "*ha-ha-ha*!" ("smile", "narrow", "base", "mid") call ast_mood(-2) else: - ast "Anal Lube?" (face="happy") - call give_gift(_(">You give the jar of lube to Astoria..."), gift_item) - ast "Why would I need this, surely the initial pain is the best part..." (face="angry") - ast "Oh, for me? Duh!" (face="annoyed") - ast "Yeah, actually I'll take it..." (face="happy") + ast "Anal Lube?" ("smile", "narrow", "base", "mid") + call give_gift("You give the jar of lube to Astoria...", gift_item) + ast "Why would I need this, surely the initial pain is the best part..." ("upset", "base", "angry", "mid") + ast "Oh, for me? Duh!" ("annoyed", "narrow", "base", "mid") + ast "Yeah, actually I'll take it..." ("smile", "narrow", "base", "mid") call ast_mood(-2) elif gift_item == ballgag_and_cuffs_ITEM: - if ast_whoring < 6: - ast "Handcuffs? And what.... a ball gag?" (face="disgusted") - ast "I don't know what you're trying to insinuate." (face="angry") - ast "The cuffs could be useful but why the ball gag?" (face="disgusted") - ast "I'd rather not." (face="annoyed") + if states.ast.level < 6: + ast "Handcuffs? And what.... a ball gag?" ("base", "narrow", "angry", "mid") + ast "I don't know what you're trying to insinuate." ("upset", "base", "angry", "mid") + ast "The cuffs could be useful but why the ball gag?" ("base", "narrow", "angry", "mid") + ast "I'd rather not." ("annoyed", "narrow", "base", "mid") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Handcuffs? And a Ball gag?" (face="annoyed") - call give_gift(_(">You give the handcuffs to Astoria..."), gift_item) - ast "I can break these cuffs!" (face="angry") - ast "*HNNNNNGH!" (face="angry") - ast "I can't break those cuffs..." (face="annoyed") - ast "Do you have a key?" (face="annoyed") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Handcuffs? And a Ball gag?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give the handcuffs to Astoria...", gift_item) + ast "I can break these cuffs!" ("upset", "base", "angry", "mid") + ast "*HNNNNNGH!" ("upset", "base", "angry", "mid") + ast "I can't break those cuffs..." ("annoyed", "narrow", "base", "mid") + ast "Do you have a key?" ("annoyed", "narrow", "base", "mid") call ast_mood(0) else: - ast "Handcuffs? And a Ball gag?" (face="happy") - call give_gift(_(">You give the handcuffs to Astoria..."), gift_item) - ast "So I guess these are one of those BDSM items?" (face="neutral") - ast "Colour me intrigued..." (face="happy") + ast "Handcuffs? And a Ball gag?" ("smile", "narrow", "base", "mid") + call give_gift("You give the handcuffs to Astoria...", gift_item) + ast "So I guess these are one of those BDSM items?" ("base", "base", "base", "mid") + ast "Colour me intrigued..." ("smile", "narrow", "base", "mid") call ast_mood(-1) elif gift_item == anal_plugs_ITEM: - if ast_whoring < 6: - ast "anal plugs?" (face="disgusted") - ast "Yuck, what the hell is wrong with you... do you know where these go?" (face="angry") - ast "Of course you do... you detestable dingbat." (face="angry") + if states.ast.level < 6: + ast "anal plugs?" ("base", "narrow", "angry", "mid") + ast "Yuck, what the hell is wrong with you... do you know where these go?" ("upset", "base", "angry", "mid") + ast "Of course you do... you detestable dingbat." ("upset", "base", "angry", "mid") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: - ast "anal plugs?" (face="disgusted") - ast "Why don't you try and sit on one yourself..." (face="angry") + elif states.ast.level > 5 and states.ast.level < 12: + ast "anal plugs?" ("base", "narrow", "angry", "mid") + ast "Why don't you try and sit on one yourself..." ("upset", "base", "angry", "mid") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "anal plugs?" (face="disgusted") - call give_gift(_(">You give the anal plugs to Astoria..."), gift_item) - ast "Why are you giving me this?" (face="annoyed") - ast "I'll take it I guess..." (face="annoyed") + elif states.ast.level > 11 and states.ast.level < 18: + ast "anal plugs?" ("base", "narrow", "angry", "mid") + call give_gift("You give the anal plugs to Astoria...", gift_item) + ast "Why are you giving me this?" ("annoyed", "narrow", "base", "mid") + ast "I'll take it I guess..." ("annoyed", "narrow", "base", "mid") call ast_mood(0) else: - ast "anal plugs?" (face="neutral") - call give_gift(_(">You give the anal plugs to Astoria..."), gift_item) - ast "You do know these hurts a bit if you're not used to them?" (face="annoyed") - call nar(">Astoria absent-mindedly pockets the anal plug.") - ast "Don't see why you'd give these out as if they were sweets..." (mouth="annoyed", face="neutral") + ast "anal plugs?" ("base", "base", "base", "mid") + call give_gift("You give the anal plugs to Astoria...", gift_item) + ast "You do know these hurts a bit if you're not used to them?" ("annoyed", "narrow", "base", "mid") + nar "Astoria absent-mindedly pockets the anal plug." + ast "Don't see why you'd give these out as if they were sweets..." ("annoyed", "base", "base", "mid") call ast_mood(-1) elif gift_item == testral_strapon_ITEM: - if ast_whoring < 6: - ast "A strap-on?" (face="disgusted") - ast "Why would you give me this... it's so ribbed..." (face="angry") - ast "As if anyone would want something like that!" (face="angry") + if states.ast.level < 6: + ast "A strap-on?" ("base", "narrow", "angry", "mid") + ast "Why would you give me this... it's so ribbed..." ("upset", "base", "angry", "mid") + ast "As if anyone would want something like that!" ("upset", "base", "angry", "mid") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "A strap-on?" (face="disgusted") - ast "What do you want me to do with this?" (face="annoyed") - ast "Well I know what you want me to do with it." (face="annoyed") - ast "It's not happening..." (face="angry") + elif states.ast.level > 5 and states.ast.level < 12: + ast "A strap-on?" ("base", "narrow", "angry", "mid") + ast "What do you want me to do with this?" ("annoyed", "narrow", "base", "mid") + ast "Well, I know what you want me to do with it." ("annoyed", "narrow", "base", "mid") + ast "It's not happening..." ("upset", "base", "angry", "mid") call ast_mood(0) - elif ast_whoring > 11 and ast_whoring < 18: - ast "A strap-on?" (face="angry") - call give_gift(_(">You give the strap-on to Astoria..."), gift_item) - ast "I'll strap it on your forehead and make you into a sex unicorn!" (mouth="grin", face="angry") - ast "I read about people having sex on top of a unicorn..." (face="disgusted") - ast "Bit of an odd segment that one was..." (face="annoyed") + elif states.ast.level > 11 and states.ast.level < 18: + ast "A strap-on?" ("upset", "base", "angry", "mid") + call give_gift("You give the strap-on to Astoria...", gift_item) + ast "I'll strap it on your forehead and make you into a sex unicorn!" ("grin", "base", "angry", "mid") + ast "I read about people having sex on top of a unicorn..." ("base", "narrow", "angry", "mid") + ast "Bit of an odd segment that one was..." ("annoyed", "narrow", "base", "mid") call ast_mood(-1) else: - ast "A strap-on?" (face="annoyed") - call give_gift(_(">You give the strap-on to Astoria..."), gift_item) - ast "It says Thestral on the side..." (face="annoyed") - ast "Isn't' that the creature only people that has seen someone die can see?" - ast "That makes the person who made he mould kinda fucked up if you think about it..." (face="disgusted") - ast "I like it..." (face="happy") + ast "A strap-on?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give the strap-on to Astoria...", gift_item) + ast "It says Thestral on the side..." ("annoyed", "narrow", "base", "mid") + ast "Isn't' that the creature where only people that have witnessed someone die can see?" ("annoyed", "narrow", "base", "mid") + ast "That makes the person who made he mould kinda fucked up if you think about it..." ("base", "narrow", "angry", "mid") + ast "I like it..." ("smile", "narrow", "base", "mid") call ast_mood(-2) elif gift_item == broom_2000_ITEM: - if ast_whoring < 6: - ast "A broom?" (face="neutral") - ast "What's that sticking out on the top? That's not going to help me fly!" (face="annoyed") + if states.ast.level < 6: + ast "A broom?" ("base", "base", "base", "mid") + ast "What's that sticking out on the top? That's not going to help me fly!" ("annoyed", "narrow", "base", "mid") call ast_mood(1) - elif ast_whoring > 5 and ast_whoring < 12: - ast "A broom?" (face="neutral") - call give_gift(_(">You give the broom to Astoria..."), gift_item) - ast "Now if anything will motivate you to fly, that will..." (mouth="grin", face="angry") - ast "Bit awkward during broom care though..." (face="annoyed") + elif states.ast.level > 5 and states.ast.level < 12: + ast "A broom?" ("base", "base", "base", "mid") + call give_gift("You give the broom to Astoria...", gift_item) + ast "Now if anything would motivate you enough to fly, that would..." ("grin", "base", "angry", "mid") + ast "Bit awkward during broom care though..." ("annoyed", "narrow", "base", "mid") call ast_mood(0) else: - ast "A broom?" (face="happy") - call give_gift(_(">You give the broom to Astoria..."), gift_item) - ast "Now that will keep you sturdy." (mouth="grin", face="angry") - ast "What a depraved little invention..." (mouth="smile", face="angry") + ast "A broom?" ("smile", "narrow", "base", "mid") + call give_gift("You give the broom to Astoria...", gift_item) + ast "Now that will keep you sturdy." ("grin", "base", "angry", "mid") + ast "What a depraved little invention..." ("smile", "base", "angry", "mid") ast "Totally something I'd come up with!" - ast "You look sceptical..." (face="annoyed") + ast "You look sceptical..." ("annoyed", "narrow", "base", "mid") call ast_mood(-1) elif gift_item == sexdoll_ITEM: - if ast_whoring < 6: - ast "A sex doll?" (face="disgusted") - ast "That's gross [ast_genie_name]!" (face="angry") - ast "Yuck, it smells gross too!" (face="angry") + if states.ast.level < 6: + ast "A sex doll?" ("base", "narrow", "angry", "mid") + ast "That's gross [name_genie_astoria]!" ("upset", "base", "angry", "mid") + ast "Yuck, it smells gross too!" ("upset", "base", "angry", "mid") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: - ast "A sex doll?" (face="disgusted") - ast "This is literally worthless to me, why would you even consider this a good gift?" (face="angry") + elif states.ast.level > 5 and states.ast.level < 12: + ast "A sex doll?" ("base", "narrow", "angry", "mid") + ast "This is literally worthless to me, why would you even consider this a good gift?" ("upset", "base", "angry", "mid") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "A sex doll?" (face="angry") - call give_gift(_(">You give the doll to Astoria..."), gift_item) - ast "I hope you got this for cheap. It looks awful..." (face="annoyed") - ast "I mean... why thank you, I shall cherish this forever!" (face="annoyed") + elif states.ast.level > 11 and states.ast.level < 18: + ast "A sex doll?" ("upset", "base", "angry", "mid") + call give_gift("You give the doll to Astoria...", gift_item) + ast "I hope you got this for cheap. It looks awful..." ("annoyed", "narrow", "base", "mid") + ast "I mean... why thank you, I shall cherish this forever!" ("annoyed", "narrow", "base", "mid") call ast_mood(0) else: - ast "A sex doll?" (face="disgusted") - call give_gift(_(">You give the doll to Astoria..."), gift_item) - ast "But I'm a girl..." (face="annoyed") - ast "I'll leave it in the Slytherin common room to see if anyone has balls enough to takes it..." (mouth="grin", face="angry") + ast "A sex doll?" ("base", "narrow", "angry", "mid") + call give_gift("You give the doll to Astoria...", gift_item) + ast "But I'm a girl..." ("annoyed", "narrow", "base", "mid") + ast "I'll leave it in the Slytherin common room to see if anyone has balls, big enough to take it..." ("grin", "base", "angry", "mid") call ast_mood(-1) elif gift_item == anal_beads_ITEM: - if ast_whoring < 6: - ast "Anal beads?" (face="disgusted") - ast "Like, ones that you putt in your ass?" (face="angry") - ast "What... the hell!" (face="angry") + if states.ast.level < 6: + ast "Anal beads?" ("base", "narrow", "angry", "mid") + ast "Like, ones that you putt in your ass?" ("upset", "base", "angry", "mid") + ast "What... the hell!" ("upset", "base", "angry", "mid") call ast_mood(2) - elif ast_whoring > 5 and ast_whoring < 12: - ast "Anal beads?" (face="disgusted") - ast "Put it up your own ass and I'll let er rip!" (face="angry") + elif states.ast.level > 5 and states.ast.level < 12: + ast "Anal beads?" ("base", "narrow", "angry", "mid") + ast "Put it up your own ass, and I'll let er rip!" ("upset", "base", "angry", "mid") call ast_mood(1) - elif ast_whoring > 11 and ast_whoring < 18: - ast "Anal beads?" (face="disgusted") - ast "Why would I need these?" (face="annoyed") - ast "I'll pass..." (face="annoyed") + elif states.ast.level > 11 and states.ast.level < 18: + ast "Anal beads?" ("base", "narrow", "angry", "mid") + ast "Why would I need these?" ("annoyed", "narrow", "base", "mid") + ast "I'll pass..." ("annoyed", "narrow", "base", "mid") call ast_mood(0) else: - ast "Anal beads?" (face="neutral") - ast "Looks painful." (face="annoyed") - call give_gift(_(">You give the anal beads to Astoria..."), gift_item) - ast "And they're green... Did you get these made just for me?" (mouth="annoyed", face="neutral") + ast "Anal beads?" ("base", "base", "base", "mid") + ast "Looks painful." ("annoyed", "narrow", "base", "mid") + call give_gift("You give the anal beads to Astoria...", gift_item) + ast "And they're green... Did you get these made just for me?" ("annoyed", "base", "base", "mid") call ast_mood(-1) elif gift_item == wine_ITEM: - if ast_whoring < 6: - ast "Wine?" (face="disgusted") - call give_gift(_(">You give the wine to Astoria..."), gift_item) - ast "You're joking right?" (face="annoyed") - ast "Snape would murder me if he saw me bringing alcohol into the common room." (face="angry") - ast "I can't make you shut up after hours even without alcohol in your system..." (face="annoyed") - ast "Such a slimy slithering killjoy..." (face="annoyed") + if states.ast.level < 6: + ast "Wine?" ("base", "narrow", "angry", "mid") + call give_gift("You give the wine to Astoria...", gift_item) + ast "You're joking, right?" ("annoyed", "narrow", "base", "mid") + ast "Professor Snape would murder me if he saw me bringing alcohol into the common room." ("upset", "base", "angry", "mid") + ast "I can't make you shut up after hours even without alcohol in your system..." ("annoyed", "narrow", "base", "mid") + ast "Such a slimy slithering killjoy..." ("annoyed", "narrow", "base", "mid") call ast_mood(0) else: - ast "Wine?" (face="happy") - ast "Well aren't we fancy?" (face="neutral") - call give_gift(_(">You give the wine to Astoria..."), gift_item) - ast "This is the real shit. Look at the date on that." (face="neutral") - ast "You really are ancient if you bought it new..." (face="happy") + ast "Wine?" ("smile", "narrow", "base", "mid") + ast "Well aren't we fancy?" ("base", "base", "base", "mid") + call give_gift("You give the wine to Astoria...", gift_item) + ast "This is the real shit. Look at the date on that." ("base", "base", "base", "mid") + ast "You really are ancient if you bought it new..." ("smile", "narrow", "base", "mid") call ast_mood(-1) elif gift_item == firewhisky_ITEM: - if ast_whoring < 6: - ast "Firewhisky?" (face="neutral") - ast "That's the stuff Tonks always reeks off." (face="disgusted") - ast "I'm not gonna drink whatever she does." (face="annoyed") - ast "It'd be like wearing old peoples perfume!" (face="annoyed") + if states.ast.level < 6: + ast "Firewhisky?" ("base", "base", "base", "mid") + ast "That's the stuff Tonks always reeks off." ("base", "narrow", "angry", "mid") + ast "I'm not gonna drink whatever she does." ("annoyed", "narrow", "base", "mid") + ast "It'd be like wearing old people's perfume!" ("annoyed", "narrow", "base", "mid") call ast_mood(0) else: - ast "Firewhisky?" (face="happy") - ast "Fine, I'll give in. If Tonks likes it so much it can't be that bad..." (face="happy") - call give_gift(_(">You give the firewhisky to Astoria..."), gift_item) - ast "*Hmm*... not made using real fire.. well that's bloody obvious..." (face="neutral") - ast "Might experience a slight pain and burning sensation when consuming..." (face="disgusted") - ast "Why didn't you say so before!" (face="angry") - ast "I might even take a sip or two myself..." (face="happy") + ast "Firewhisky?" ("smile", "narrow", "base", "mid") + ast "Fine, I'll give in. If Tonks likes it so much, it can't be that bad..." ("smile", "narrow", "base", "mid") + call give_gift("You give the firewhisky to Astoria...", gift_item) + ast "*Hmm*... not made using real fire... Well, that's bloody obvious..." ("base", "base", "base", "mid") + ast "Might experience a slight pain and burning sensation when consuming..." ("base", "narrow", "angry", "mid") + ast "Why didn't you say so before!" ("upset", "base", "angry", "mid") + ast "I might even take a sip or two myself..." ("smile", "narrow", "base", "mid") call ast_mood(-1) ast "" (xpos="base",ypos="base") @@ -515,8 +515,6 @@ label give_ast_gift(gift_item): label ast_mood(value=0): - show screen blktone - with d3 if value > 0: if value == 1: @@ -531,10 +529,9 @@ label ast_mood(value=0): else: "Astoria's mood hasn't changed." - $ was_negative = ast_mood > 0 - $ ast_mood = max(min(ast_mood+value, 100), 0) + $ was_negative = states.ast.mood > 0 + $ states.ast.mood = max(min(states.ast.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, ast_mood, value) + call describe_mood_after_gift(was_negative, states.ast.mood, value) - hide screen blktone return diff --git a/game/scripts/characters/astoria/spells.rpy b/game/scripts/characters/astoria/spells.rpy new file mode 100644 index 00000000..053fc4cb --- /dev/null +++ b/game/scripts/characters/astoria/spells.rpy @@ -0,0 +1,22 @@ +# Imperius Curse + +default ast_ev_imperio_training_t1_e1 = Event(id="ast_ev_imperio_training_t1_e1", label="ag_st_imperio_E1", req="game.daytime==False") +default ast_ev_imperio_training_t1_e2 = Event(id="ast_ev_imperio_training_t1_e2", label="ag_st_imperio_E2", req="game.daytime==False") +default ast_ev_imperio_training_t1_e3 = Event(id="ast_ev_imperio_training_t1_e3", label="ag_st_imperio_E3", req="game.daytime==False") +default ast_ev_imperio_training_t1_e4 = Event(id="ast_ev_imperio_training_t1_e4", label="ag_st_imperio_E4", req="game.daytime==False") +default ast_ev_imperio_training_t1_e5 = Event(id="ast_ev_imperio_training_t1_e5", label="ag_st_imperio_E5", req="game.daytime==False") + +default ast_ev_imperio_training_t1_e1_hub = Event(id="ast_ev_imperio_training_t1_e1_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e1"]) +default ast_ev_imperio_training_t1_e2_hub = Event(id="ast_ev_imperio_training_t1_e2_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e2"]) +default ast_ev_imperio_training_t1_e3_hub = Event(id="ast_ev_imperio_training_t1_e3_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e3"]) +default ast_ev_imperio_training_t1_e4_hub = Event(id="ast_ev_imperio_training_t1_e4_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e4"]) +default ast_ev_imperio_training_t1_e5_hub = Event(id="ast_ev_imperio_training_t1_e5_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e5"]) + +default ast_ev_imperio_training_susan_t1_e1 = Event(id="ast_ev_imperio_training_susan_t1_e1", label="ag_se_imperio_sb_E1", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_susan", autoenqueue=True, autodequeue=False) +default ast_ev_imperio_training_susan_t1_e2 = Event(id="ast_ev_imperio_training_susan_t1_e2", label="ag_se_imperio_sb_E2", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_susan", autoenqueue=True, autodequeue=False) +default ast_ev_imperio_training_susan_t1_e3 = Event(id="ast_ev_imperio_training_susan_t1_e3", label="ag_se_imperio_sb_E3", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_susan", autoenqueue=True, autodequeue=False) + +define astoria_spells = [ + ("ast_eventqueue_imperio_training_tonks", "Im-perv-ious with Tonks!"), + ("ast_eventqueue_imperio_training_susan", "Im-perv-ious with Susan!"), +] \ No newline at end of file diff --git a/game/scripts/characters/astoria/summon.rpy b/game/scripts/characters/astoria/summon.rpy index 197d2c9e..a2e76321 100644 --- a/game/scripts/characters/astoria/summon.rpy +++ b/game/scripts/characters/astoria/summon.rpy @@ -1,12 +1,10 @@ label summon_astoria: - $ active_girl = "astoria" - $ last_character = "astoria" + $ states.active_girl = "astoria" + $ states.ast.busy = True - $ astoria_busy = True - - #call update_ast_tier + #call update_states.ast.tier call update_astoria $ renpy.checkpoint(hard=True) @@ -21,36 +19,32 @@ label summon_astoria: ast "" (xpos="base",ypos="base") menu: - # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if ast_mood > 0: + if states.ast.mood > 0: ast "I have nothing to say." ("annoyed", "narrow", "base", "R") jump astoria_requests call astoria_chitchat jump astoria_talk - # Spells - "-Spells-" (icon="interface/icons/small/spell.webp"): - if ast_mood != 0: + "-Sexual favours-" (icon="interface/icons/small/condom.webp"): # TODO: add 'if states.ast.favors_unlocked' once her story is looked over again + if states.ast.mood != 0: ast "I don't want to today..." ("annoyed", "narrow", "base", "R") - jump astoria_requests - else: - jump astoria_spells + nar "Astoria is upset with you." - "-Sexual favours-" (icon="interface/icons/small/condom.webp", style="disabled") if cho_favors_unlocked: - $ TBA_message() - jump astoria_requests + jump astoria_requests + + jump astoria_favor_menu # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if astoria_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.ast.wardrobe_unlocked: hide astoria_main with d1 call wardrobe jump astoria_requests - "-Hidden-" (style="disabled") if not astoria_wardrobe_unlocked: - call nar(">You haven't unlocked this feature yet.") + "-Wardrobe-" (style="disabled") if not states.ast.wardrobe_unlocked: + nar "You haven't unlocked this feature yet." jump astoria_requests "-Give Item-" (icon="interface/icons/small/gift.webp"): @@ -63,89 +57,33 @@ label summon_astoria: stop music fadeout 3.0 if game.daytime: - ast "I will go back to classes then, [ast_genie_name]." ( face="neutral") + ast "I will go back to classes then, [name_genie_astoria]." ("base", "base", "base", "mid") else: - ast "Oh, alright. Good night, [ast_genie_name]." ( face="neutral") + ast "Oh, alright. Good night, [name_genie_astoria]." ("base", "base", "base", "mid") - call play_sound("door") + play sound "sounds/door.ogg" jump end_astoria_event - - -label astoria_spells: - call update_astoria_spells - - python: - spell_menu = [] - - for i in ag_spell_list: - if not i.is_complete(): # Not trained yet. - if game.daytime and not tonks_busy: - spell_menu.append(i.get_menu_item()) - else: - spell_menu.append(i.get_menu_item(disabled=True)) - - else: # Spell trained and unlocked. - spell_menu.append(i.get_menu_item()) - - spell_menu.append((_("-Never mind-"), "nvm")) - - result = renpy.display_menu(spell_menu) - - if result == "nvm": - jump astoria_requests - elif result == "block": - call block_spell_training - jump astoria_spells - elif result == "vague": - call spell_not_known - jump astoria_spells - elif result == "busy": - call person_is_busy - jump astoria_spells - else: - $ renpy.jump(result) - - -label block_spell_training: - if not game.daytime: - gen "It's too late for that..." ("base", xpos="far_left", ypos="head") - elif tonks_busy: - gen "I don't think Tonks has time for that right now..." ("base", xpos="far_left", ypos="head") - return - -label person_is_busy: - if game.daytime: - gen "Looks like she's taking classes right now." ("base", xpos="far_left", ypos="head") - else: - gen "Seems like she's already asleep." ("base", xpos="far_left", ypos="head") - return - -label spell_not_known: - call nar(">You haven't unlocked this spell yet.") - return - label astoria_talk: menu: - "-Ask about Slytherin Quidditch Team-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.lock_practice and cho_quid.E6_complete and not cho_quid.E8_complete: - # TODO: Posing + "-Ask about Slytherin Quidditch Team-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.lock_practice and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete: gen "Could you help me with something?" ("base", xpos="far_left", ypos="head") ast "Depends what it is." ("annoyed", "narrow", "base", "mid") ast "And what's in it for me..." ("smile", "closed", "angry", "mid") - gen "Well, the Slytherin Quidditch team refuses to practise against the Ravenclaws." ("base", xpos="far_left", ypos="head") + gen "Well, the Slytherin Quidditch team refuses to practise against Ravenclaw." ("base", xpos="far_left", ypos="head") ast "And?" ("base", "base", "base", "mid") gen "I was wondering if there's something you could do about it." ("base", xpos="far_left", ypos="head") ast "Like what?" ("open", "base", "worried", "mid") - gen "I don't know... ask them nicely?" ("base", xpos="far_left", ypos="head") + gen "I don't know... Ask them nicely?" ("base", xpos="far_left", ypos="head") ast "Yeah right, those guys would never listen to me..." ("base", "narrow", "base", "R") ast "And can't you do something about it? You're the headmaster!" ("annoyed", "base", "worried", "mid") - gen "Well, I can't technically force them to do anything. If I could then that would make things way easier..." ("base", xpos="far_left", ypos="head") - ast "Ask Snape then, he's the head of Slytherin... If they'd listen to anyone it'd be him." ("base", "base", "base", "mid") - if cho_quid.E9_complete: - gen "I already did..." ("base", xpos="far_left", ypos="head") + gen "Well, I can't technically force them to do anything. If I could, then that would make things a lot easier..." ("base", xpos="far_left", ypos="head") + ast "Ask Snape then, he's the head of Slytherin... If they'd listen to anyone, it'd be him." ("base", "base", "base", "mid") + if states.cho.ev.quidditch.e9_complete: + gen "(If only he'd listen to me...)" ("base", xpos="far_left", ypos="head") else: - gen "I could..." ("base", xpos="far_left", ypos="head") + gen "(I suppose, if there's no other option...)" ("base", xpos="far_left", ypos="head") gen "Well, I'll try and think of something..." ("base", xpos="far_left", ypos="head") ast "You do that." ("open", "base", "base", "mid") @@ -155,164 +93,224 @@ label astoria_talk: menu: "-Sir-": label .sir: - $ ast_genie_name = _("Sir") - ast "Very well, [ast_genie_name]." ( face="neutral") + $ name_genie_astoria = "Sir" + ast "Very well, [name_genie_astoria]." ("base", "base", "base", "mid") jump astoria_talk "-Dumbledore-": label .dumbledore: - $ ast_genie_name = _("Dumbledore") - ast "Of course, [ast_genie_name]." ( face="neutral") + $ name_genie_astoria = "Dumbledore" + ast "Of course, [name_genie_astoria]." ("base", "base", "base", "mid") jump astoria_talk "-Professor-": label .professor: - $ ast_genie_name = _("Professor") - ast "Of course, [ast_genie_name]." ( face="neutral") + $ name_genie_astoria = "Professor" + ast "Of course, [name_genie_astoria]." ("base", "base", "base", "mid") jump astoria_talk "-Old man-": label .old_man: - $ ast_genie_name = _("Old man") - ast "Alrighty, [ast_genie_name]." ( face="neutral") + $ name_genie_astoria = "Old man" + ast "Alrighty, [name_genie_astoria]." ("base", "base", "base", "mid") jump astoria_talk "-Genie-": label .genie: - $ ast_genie_name = _("Genie") - ast "What?! You are a genie? For real?" ( face="happy") - ast "That's so cool!" ( face="happy") + $ name_genie_astoria = "Genie" + ast "What?! You are a genie? For real?" ("grin", "base", "base", "mid") + ast "That's so cool!" ("grin", "base", "base", "mid") gen "(Oh right. Nobody is supposed to know that.)" ("base", xpos="far_left", ypos="head") - gen "It's just my name, [astoria_name]..." ("base", xpos="far_left", ypos="head") - ast "Oh... okay, [ast_genie_name]." ( face="neutral") + gen "It's just my name, [name_astoria_genie]..." ("base", xpos="far_left", ypos="head") + ast "Oh... Okay, [name_genie_astoria]." ("base", "base", "base", "mid") jump astoria_talk "-Lord Voldemort-": label .lord_voldemort: - $ ast_genie_name = _("Lord Voldemort") - ast "Voldemort? Like that mean, evil wizard?" ( face="disgusted") - ast "You aren't him, are you?" ( face="disgusted") + $ name_genie_astoria = "Lord Voldemort" + ast "Voldemort? Like that mean, evil wizard?" ("clench", "narrow", "angry", "mid") + ast "You aren't him, are you?" ("clench", "narrow", "angry", "mid") gen "No, just role-playing..." ("base", xpos="far_left", ypos="head") - ast "Oh, alrighty then!" ( face="happy") - ast "[ast_genie_name]." ( face="happy") + ast "Oh, alrighty then!" ("grin", "base", "base", "mid") + ast "[name_genie_astoria]." ("grin", "base", "base", "mid") jump astoria_talk "-Daddy-": label .daddy: - $ ast_genie_name = _("Daddy") - ast "Daddy? Don't you think that's a little weird?" ( face="disgusted") + $ name_genie_astoria = "Daddy" + ast "Daddy? Don't you think that's a little weird?" ("clench", "narrow", "angry", "mid") gen "Not at all!" ("base", xpos="far_left", ypos="head") - ast "*Hmph*..." ( face="angry") - ast "Alright, why not. Nobody knows about it anyways." ( face="neutral") + ast "*Hmph*..." ("upset", "narrow", "angry", "mid") + ast "Alright, why not... Nobody knows about it anyway." ("base", "base", "base", "mid") jump astoria_talk - "-Master-" (style="disabled") if ast_whoring < 18: + "-Master-" (style="disabled") if states.ast.level < 18: label .master_fail: - $ ast_genie_name = _("Dumby") # Tricked - ast "*Ha-ha-ha-ha*-- you want me to call you master?" ( face="happy") - ast "That's so dumb!" ( face="happy") - ast "Oh I know!" ( face="happy") - ast "How about I'll call you \"Dumby\" instead? It fits you really well." ( face="happy") + $ name_genie_astoria = "Dumby" # Tricked + ast "*Ha-ha-ha-ha*-- you want me to call you master?" ("grin", "base", "base", "mid") + ast "That's so dumb!" ("grin", "base", "base", "mid") + ast "Oh I know!" ("grin", "base", "base", "mid") + ast "How about I'll call you \"Dumby\" instead? It fits you really well." ("grin", "base", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - ast "*Ha-ha-ha-ha*--" ( face="happy") + ast "*Ha-ha-ha-ha*--" ("grin", "base", "base", "mid") gen "Are you done now?" ("base", xpos="far_left", ypos="head") - ast "Yes... I'm sorry... {w=1.0}Dumby..." ( face="happy") + ast "Yes... I'm sorry... {w=1.0}Dumby..." ("grin", "base", "base", "mid") gen "(Damn brat! We'll see who will be laughing later.)" ("angry", xpos="far_left", ypos="head") jump astoria_talk - "-Master-" if ast_whoring >= 18: + "-Master-" if states.ast.level >= 18: label .master: - $ ast_genie_name = _("Master") - ast "*Ha-ha-ha-ha*-- you want me to call you master?" ( face="happy") - ast "That's so silly!" ( face="happy") + $ name_genie_astoria = "Master" + ast "*Ha-ha-ha-ha*-- You want me to call you master?" ("grin", "base", "base", "mid") + ast "That's so silly!" ("grin", "base", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - ast "Well alright... M-master--" ( face="happy") - ast "*Ha-ha-ha-ha*--{w=1.0}{nw}" ( face="happy") + ast "Well alright... M-master--" ("grin", "base", "base", "mid") + ast "*Ha-ha-ha-ha*--{w=1.0}{nw}" ("grin", "base", "base", "mid") with hpunch - gen "Shut it... or there will be consequences!" ("angry", xpos="far_left", ypos="head") - ast "I'm sorry... It won't happen again, master..." ( face="neutral") + gen "Shut it... Or there will be consequences!" ("angry", xpos="far_left", ypos="head") + ast "I'm sorry... It won't happen again, master..." ("base", "base", "base", "mid") jump astoria_talk - "-Custom Input-" (style="disabled") if ast_whoring < 18: + "-Custom Input-" (style="disabled") if states.ast.level < 18: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") jump astoria_talk - "-Custom Input-" if ast_whoring >= 18: - $ temp_name = renpy.input("(Please enter the name.)", ast_genie_name, ALLOWED_CHARACTERS, length=14) + "-Custom Input-" if states.ast.level >= 18: + $ temp_name = renpy.input("(Please enter the name.)", name_genie_astoria, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("sir", "dumbledore", "professor", "old man", "genie", "lord voldemort", "daddy", "master"): - if temp_name.lower() == "master" and ast_whoring < 18: + if temp_name.lower() == "master" and states.ast.level < 18: jump astoria_talk.master_fail $ renpy.jump("astoria_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label elif temp_name == "": jump astoria_talk else: - $ ast_genie_name = temp_name - ast "*Uhm*... ok. I will call you [ast_genie_name]." ( face="neutral") + $ name_genie_astoria = temp_name + ast "*Uhm*... Okay... I will call you [name_genie_astoria]." ("base", "base", "base", "mid") jump astoria_talk "-Never mind-": jump astoria_talk - "-From now on I will refer to you as-": + "-From now on, I will refer to you as-": menu: "-Miss Greengrass-": label .miss_greengrass: - $ astoria_name = _("Miss Greengrass") - ast "Sure, [ast_genie_name]." ( face="happy") + $ name_astoria_genie = "Miss Greengrass" + ast "Sure, [name_genie_astoria]." ("grin", "base", "base", "mid") jump astoria_talk "-Astoria-": label .Astoria: - $ astoria_name = _("Astoria") - ast "Finally getting rid of this formal bullshit? I approve!" ( face="happy") + $ name_astoria_genie = "Astoria" + ast "Finally getting rid of this formal bullshit? I approve!" ("grin", "base", "base", "mid") jump astoria_talk "-Girl-": label .girl: - $ astoria_name = _("Girl") - ast "Okay, [ast_genie_name]." ( face="neutral") + $ name_astoria_genie = "Girl" + ast "Okay, [name_genie_astoria]." ("base", "base", "base", "mid") jump astoria_talk "-Princess-": label .princess: - $ astoria_name = _("Princess") - ast "I really do feel like a princess!" ( face="happy") - ast "After all, I can do whatever I want!" ( face="angry") + $ name_astoria_genie = "Princess" + ast "I really do feel like a princess!" ("grin", "base", "base", "mid") + ast "After all, I can do whatever I want!" ("upset", "narrow", "angry", "mid") jump astoria_talk "-Cutie-": label .cutie: - $ astoria_name = _("Cutie") - ast "Fine... If you really have to, [ast_genie_name]." ( face="disgusted") + $ name_astoria_genie = "Cutie" + ast "Fine... If you really have to, [name_genie_astoria]." ("clench", "narrow", "angry", "mid") jump astoria_talk - "-Slave-" (style="disabled") if ast_whoring < 18: + "-Slave-" (style="disabled") if states.ast.level < 18: label .slave_fail: - ast "I'm not your slave, [ast_genie_name]!" ( face="angry") + ast "I'm not your slave, [name_genie_astoria]!" ("upset", "narrow", "angry", "mid") gen "Of course you aren't! We are just playing a game, that's all..." ("base", xpos="far_left", ypos="head") - ast "Well, I don't like your games!" ( face="angry") - ast "Forget it!" ( face="angry") + ast "Well, I don't like your games!" ("upset", "narrow", "angry", "mid") + ast "Forget it!" ("upset", "narrow", "angry", "mid") jump astoria_talk - "-Slave-" if ast_whoring >= 18: + "-Slave-" if states.ast.level >= 18: label .slave: - $ astoria_name = _("Slave") - ast "I'm not your slave, [ast_genie_name]!" ( face="angry") + $ name_astoria_genie = "Slave" + ast "I'm not your slave, [name_genie_astoria]!" ("upset", "narrow", "angry", "mid") gen "Of course you aren't! We are just playing a game, that's all..." ("base", xpos="far_left", ypos="head") - ast "Oh I like games!" ( face="happy") - ast "Alrighty then!" ( face="happy") + ast "I like games!" ("grin", "base", "base", "mid") + ast "Alrighty then!" ("grin", "base", "base", "mid") jump astoria_talk - "-Custom Input-" (style="disabled") if ast_whoring < 18: + "-Custom Input-" (style="disabled") if states.ast.level < 18: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") jump astoria_talk - "-Custom Input-" if ast_whoring >= 18: - $ temp_name = renpy.input("(Please enter the name.)", astoria_name, ALLOWED_CHARACTERS, length=14) + "-Custom Input-" if states.ast.level >= 18: + $ temp_name = renpy.input("(Please enter the name.)", name_astoria_genie, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("miss greengrass", "girl", "princess", "cutie", "slave"): - if temp_name.lower() == "slave" and ast_whoring < 18: + if temp_name.lower() == "slave" and states.ast.level < 18: jump astoria_talk.slave_fail $ renpy.jump("astoria_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label elif temp_name == "": jump astoria_talk else: - $ astoria_name = temp_name - ast "That's a bit much, don't you think, [ast_genie_name]?" ( face="disgusted") + $ name_astoria_genie = temp_name + ast "That's a bit much, don't you think, [name_genie_astoria]?" ("clench", "narrow", "angry", "mid") gen "Not at all!" ("base", xpos="far_left", ypos="head") - gen "I will only call you that when we are alone, promised!" ("base", xpos="far_left", ypos="head") - ast "Well... Okay then..." ( face="neutral") + gen "I will only call you that when we are alone!" ("base", xpos="far_left", ypos="head") + ast "Well... Okay then..." ("base", "base", "base", "mid") jump astoria_talk "-Never mind-": jump astoria_talk "-Never mind-": jump astoria_requests + +label astoria_favor_menu: + menu: + # "-Level Up-" (icon="interface/icons/small/levelup.webp") if ast_level_up != None: + # call luna_level_up(tier=ast_level_up) + # jump luna_favor_menu + + "-Personal Favours-" (icon="interface/icons/small/heart_red.webp", style="disabled"): + # call tutorial("hearts") + + label .personal: + + call not_available + + # $ result = show_events_menu(astoria_favors) + + # if result in ("disabled", "noncompliant"): + # "You haven't unlocked this favour opportunity yet." + # jump .personal + # elif result == "exit": + # jump astoria_favor_menu + # else: + # $ result.start() + + jump astoria_favor_menu + + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled"): + label .requests: + + call not_available + + # $ result = show_events_menu(hermione_requests) + + # if result in ("disabled", "noncompliant"): + # "You haven't unlocked this request opportunity yet." + # jump .requests + # elif result == "exit": + # jump .skip_points_check + # else: + # $ result.start() + + jump astoria_favor_menu + + "-Spell Training-" (icon="interface/icons/small/spell.webp"): + call tutorial("hearts") + + label .spells: + + $ result = show_events_menu(astoria_spells) + + if result in ("disabled", "noncompliant"): + "You haven't unlocked this spell training opportunity yet." + jump .spells + elif result == "exit": + jump astoria_favor_menu + else: + $ result.start() + + "-Never mind-": + jump astoria_requests \ No newline at end of file diff --git a/game/scripts/characters/astoria/vars.rpy b/game/scripts/characters/astoria/vars.rpy index 97699f6f..8c079d9d 100644 --- a/game/scripts/characters/astoria/vars.rpy +++ b/game/scripts/characters/astoria/vars.rpy @@ -1,19 +1,43 @@ -# Flags -default astoria_busy = False -default astoria_unlocked = False -default astoria_wardrobe_unlocked = False -default astoria_chatted = False -default astoria_outfits_schedule = True +# General states + +default states.ast.tier = 1 +default states.ast.level = 0 +default states.ast.public_tier = 0 +default states.ast.public_level = 0 +default states.ast.mood = 0 +default states.ast.unlocked = False +default states.ast.busy = False +default states.ast.gifted = False +default states.ast.favors_unlocked = False # TODO: Not in use. +default states.ast.wardrobe_unlocked = False +default states.ast.wardrobe_scheduling = True +default states.ast.chatted = False +default states.ast.map_location = "room_s" + +# Sexual activity states + +default states.ast.status.kissing = False +default states.ast.status.stripping = False +default states.ast.status.handjob = False +default states.ast.status.masturbating = False +default states.ast.status.sex = False +default states.ast.status.anal = False + +# Event flags + +default states.ast.ev.intro.e1_complete = False # Tonks visits. +default states.ast.ev.intro.e2_ask_hermione = False # Tell Hermione to look for her. +default states.ast.ev.intro.e2_ask_snape = False # Tell Snape to look for her. He fails. +default states.ast.ev.intro.e2_complete = False # Asked both. +default states.ast.ev.intro.e3_complete = False # Hermione finds her. +default states.ast.ev.intro.e4_complete = False # Astoria unlocked. +default states.ast.ev.imperio_with_tonks.completed_once = False +default states.ast.ev.imperio_with_susan.completed_once = False # Names -default astoria_name = _("Astoria") -default ast_genie_name = _("Sir") -default ast_susan_name = _("Cow") -default ast_tonks_name = _("Old Hag") -# Stats -default ast_whoring = 0 # Affection level -default ast_mood = 0 - -default gave_astoria_gift = False +default name_astoria_genie = "Astoria" +default name_genie_astoria = "Sir" +default name_susan_astoria = "Cow" +default name_tonks_astoria = "Old Hag" diff --git a/game/scripts/characters/astoria/wardrobe.rpy b/game/scripts/characters/astoria/wardrobe.rpy index 20fbda84..c64bccb4 100644 --- a/game/scripts/characters/astoria/wardrobe.rpy +++ b/game/scripts/characters/astoria/wardrobe.rpy @@ -2,76 +2,38 @@ ## Character ## ############### -default astoria = Doll(name="astoria", - clothes={"headgear": [None, 15, True], - "hair": [None, 4, True], - "glasses": [None, 12, True], - "earrings": [None, 14, True], - "neckwear": [None, 11, True], - "robe": [None, 28, True], - "gloves": [None, 21, True], - "top": [None, 15, True], - "bra": [None, 9, True], - "bottom": [None, 8, True], - "garterbelt": [None, 7, True], - "panties": [None, 6, True], - "stockings": [None, 5, True], - "buttplug": [None, -1, True], - "pubes": [None, 3, True], - "tattoo0": [None, 1, True], - "tattoo1": [None, 1, True], - "tattoo2": [None, 1, True], - "tattoo3": [None, 1, True], - "tattoo4": [None, 1, True], - "piercing0": [None, 2, True], - "piercing1": [None, 2, True], - "piercing2": [None, 2, True], - "piercing3": [None, 2, True], - "piercing4": [None, 2, True], - "accessory0": [None, 12, True], - "accessory1": [None, 12, True], - "accessory2": [None, 12, True], - "accessory3": [None, 12, True], - "accessory4": [None, 12, True], - "makeup0": [None, 3, True], - "makeup1": [None, 3, True], - "makeup2": [None, 3, True], - "makeup3": [None, 3, True], - "makeup4": [None, 3, True]}, - face={"tears": [None, 12, True], - "cheeks": [None, 7, True], - "eyebrows": ["base", 11, True], - "eyes": ["base", 8, True], - "pupils": ["mid", 9, True], - "mouth": ["base", 13, True]}, - body={"armleft": ["on_hips", 3], - "armright":["on_hips", 1], - "base": ["front", 0], - "breasts": ["normal", 2]}) +default astoria = Doll(name="astoria") + +default ast_frame_default = DollBodypart("astoria", ("hidden", "frame"), "frame", "default") +default ast_body_default = DollOutfit([ast_frame_default], hidden=True) + +########## +## Hair ## +########## + +default ast_hair_base = DollCloth("astoria", ("head", "hair"), "hair", "base", ["#e5c681ff", "#a37d50ff"], unlocked=True, zorder=205) +default ast_hair_short = DollCloth("astoria", ("head", "hair"), "hair", "short", ["#e5c681ff", "#a37d50ff"], unlocked=True) ####################### ## Schoolgirl Outfit ## ####################### -default ast_hair_base = DollCloth("astoria", ("head", "hair"), "hair", "base", [[229, 198, 129, 255], [163, 125, 80, 255]], unlocked=True) -default ast_hair_short = DollCloth("astoria", ("head", "hair"), "hair", "short", [[229, 198, 129, 255], [163, 125, 80, 255]], unlocked=True) +default ast_top_school1 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_1", ["#b7b7b8ff", "#6d6979ff", "#3a734bff", "#cdcdceff"], unlocked=True) +default ast_top_school2 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_2", ["#b7b7b8ff", "#6d6979ff", "#3a734bff", "#cdcdceff"], level=4, unlocked=True) +default ast_top_school3 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_3", ["#b7b7b8ff", "#3a734bff", "#cdcdceff"], level=8, unlocked=True) +default ast_top_school4 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_4", ["#b7b7b8ff", "#3a734bff", "#cdcdceff"], level=8, unlocked=True) +default ast_top_school5 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_5", ["#b7b7b8ff", "#3a734bff", "#cdcdceff"], level=12, unlocked=True) +default ast_top_school6 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_6", ["#6d6979ff", "#3a734bff", "#cdcdceff"], level=12, unlocked=True) -default ast_top_school1 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_1", [[183, 183, 184, 255], [109, 105, 121, 255], [58, 115, 75, 255], [205, 205, 206, 255]], armfix=True, unlocked=True) -default ast_top_school2 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_2", [[183, 183, 184, 255], [109, 105, 121, 255], [58, 115, 75, 255], [205, 205, 206, 255]], level=4, armfix=True, unlocked=True) -default ast_top_school3 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_3", [[183, 183, 184, 255], [58, 115, 75, 255], [205, 205, 206, 255]], level=8, armfix=True, unlocked=True) -default ast_top_school4 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_4", [[183, 183, 184, 255], [58, 115, 75, 255], [205, 205, 206, 255]], level=8, armfix=True, unlocked=True) -default ast_top_school5 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_5", [[183, 183, 184, 255], [58, 115, 75, 255], [205, 205, 206, 255]], level=12, armfix=True, unlocked=True) -default ast_top_school6 = DollCloth("astoria", ("upper body", "shirts"), "top", "top_school_6", [[109, 105, 121, 255], [58, 115, 75, 255], [205, 205, 206, 255]], level=12, armfix=True, unlocked=True) +default ast_bottom_skirt1 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_1", ["#675a6cff", "#e8b10dff"], unlocked=True) +default ast_bottom_skirt2 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_2", ["#675a6cff", "#e8b10dff"], level=4, unlocked=True) +default ast_bottom_skirt3 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_3", ["#675a6cff", "#e8b10dff"], level=8, unlocked=True) +default ast_bottom_skirt4 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_4", ["#675a6cff", "#e8b10dff"], level=12, unlocked=True) -default ast_bottom_skirt1 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_1", [[103, 90, 108, 255], [232, 177, 13, 255]], armfix=True, unlocked=True) -default ast_bottom_skirt2 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_2", [[103, 90, 108, 255], [232, 177, 13, 255]], level=4, armfix=True, unlocked=True) -default ast_bottom_skirt3 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_3", [[103, 90, 108, 255], [232, 177, 13, 255]], level=8, armfix=True, unlocked=True) -default ast_bottom_skirt4 = DollCloth("astoria", ("lower body", "skirts"), "bottom", "school_skirt_4", [[103, 90, 108, 255], [232, 177, 13, 255]], level=12, armfix=True, unlocked=True) - -default ast_bra_basic1 = DollCloth("astoria", ("upper undergarment", "bras"), "bra", "basic_bra_1", [[213, 62, 65, 255], [234, 236, 234, 255]], unlocked=True) -default ast_bra_basic2 = DollCloth("astoria", ("upper undergarment", "bras"), "bra", "basic_bra_2", [[213, 62, 65, 255]], unlocked=True) -default ast_panties_basic1 = DollCloth("astoria", ("lower undergarment", "panties"), "panties", "basic_panties_1", [[213, 62, 65, 255], [234, 236, 234, 255]], armfix=True, unlocked=True) -default ast_panties_basic2 = DollCloth("astoria", ("lower undergarment", "panties"), "panties", "basic_panties_2", [[213, 62, 65, 255]], armfix=True, unlocked=True) +default ast_bra_basic1 = DollCloth("astoria", ("upper undergarment", "bras"), "bra", "basic_bra_1", ["#d53e41ff", "#eaeceaff"], unlocked=True) +default ast_bra_basic2 = DollCloth("astoria", ("upper undergarment", "bras"), "bra", "basic_bra_2", ["#d53e41ff"], unlocked=True) +default ast_panties_basic1 = DollCloth("astoria", ("lower undergarment", "panties"), "panties", "basic_panties_1", ["#d53e41ff", "#eaeceaff"], unlocked=True) +default ast_panties_basic2 = DollCloth("astoria", ("lower undergarment", "panties"), "panties", "basic_panties_2", ["#d53e41ff"], unlocked=True) default ast_outfit_default = DollOutfit([ast_hair_base, ast_top_school1, ast_bottom_skirt1, ast_bra_basic1, ast_panties_basic1], unlocked=True) default ast_outfit_last = DollOutfit([ast_hair_base], hidden=True) @@ -80,31 +42,31 @@ default ast_outfit_last = DollOutfit([ast_hair_base], hidden=True) ## Ann Outfit ## ################ -default ast_hair_ann = DollCloth("astoria", ("head", "hair"), "hair", "ann_takamaki", [[229, 198, 129, 255], [163, 125, 80, 255], [255, 209, 105, 255]]) -default ast_hat_ann = DollCloth("astoria", ("head", "headgear"), "headgear", "ann_takamaki", [[173, 18, 18, 255], [238, 188, 187, 255]], level=14) -default ast_top_ann = DollCloth("astoria", ("upper body", "other"), "top", "ann_takamaki", [[173, 18, 18, 255], [232, 232, 232, 255], [238, 188, 187, 255]], level=14, blacklist=("bottom", "bra", "garterbelt"), armfix=True) -default ast_stockings_ann = DollCloth("astoria", ("legwear", "stockings"), "stockings", "ann_takamaki", [[99, 42, 42, 255], [181, 135, 135, 255]], level=14, blacklist=["bottom"], armfix=True) -default ast_gloves_ann = DollCloth("astoria", ("upper body", "gloves"), "gloves", "ann_takamaki", [[249, 139, 225, 255]]) -default ast_buttplug_ann = DollCloth("astoria", ("misc", "accessory"), "accessory0", "ann_takamaki", [[99, 42, 42, 255], [181, 135, 135, 255]], level=14, zorder=-1) +default ast_hair_ann = DollCloth("astoria", ("head", "hair"), "hair", "ann_takamaki", ["#e5c681ff", "#a37d50ff", "#ffd169ff"]) +default ast_hat_ann = DollClothDynamic("astoria", ("head", "headgear"), "headgear", "ann_takamaki", ["#ad1212ff", "#eebcbbff"], level=14, tracking="?hair") +default ast_top_ann = DollCloth("astoria", ("upper body", "other"), "top", "ann_takamaki", ["#ad1212ff", "#e8e8e8ff", "#eebcbbff"], level=14, blacklist=("bottom", "bra", "garterbelt")) +default ast_stockings_ann = DollCloth("astoria", ("legwear", "stockings"), "stockings", "ann_takamaki", ["#632a2aff", "#b58787ff"], level=14, blacklist=["bottom"]) +default ast_gloves_ann = DollCloth("astoria", ("upper body", "gloves"), "gloves", "ann_takamaki", ["#f98be1ff"]) +default ast_buttplug_ann = DollCloth("astoria", ("misc", "accessory"), "accessory", "ann_takamaki", ["#632a2aff", "#b58787ff"], level=14, zorder=-1) default ast_outfit_ann = DollOutfit([ast_hair_ann, ast_hat_ann, ast_top_ann, ast_stockings_ann, ast_gloves_ann, ast_buttplug_ann, ast_panties_basic1], price=500, name="Ann Costume", desc="Wearing this will make you look like a different persona.") -########## -## Misc ## -########## - -default ast_cloth_pants1 = DollCloth("astoria", ("lower body", "trousers"), "bottom", "pants_1", [[180, 180, 180, 255], [213, 161, 13, 255]], armfix=True, unlocked=True) -default ast_cloth_shorts1 = DollCloth("astoria", ("lower body", "shorts"), "bottom", "pants_1_short", [[180, 180, 180, 255], [213, 161, 13, 255]], level=8, armfix=True, unlocked=True) -default ast_cloth_pantyhose1 = DollCloth("astoria", ("legwear", "pantyhose"), "stockings", "pantyhose", [[190, 146, 129, 255]], armfix=True, unlocked=True) - ################ ## Pubic Hair ## ################ -default ast_pubes_arrow = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "arrow", [[229, 198, 129, 255]], unlocked=True) -default ast_pubes_beaver = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "beaver", [[229, 198, 129, 255]], unlocked=True) -default ast_pubes_stuble = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "stuble", [[139, 107, 69, 255]], unlocked=True) -default ast_pubes_unshaved = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "unshaved", [[139, 107, 69, 255]], unlocked=True) +default ast_pubes_arrow = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "arrow", ["#e5c681ff"], unlocked=True) +default ast_pubes_beaver = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "beaver", ["#e5c681ff"], unlocked=True) +default ast_pubes_stuble = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "stuble", ["#8b6b45ff"], unlocked=True) +default ast_pubes_unshaved = DollCloth("astoria", ("lower undergarment", "pubes"), "pubes", "unshaved", ["#8b6b45ff"], unlocked=True) -# Lipstick (DollLipstick) -default ast_makeup4_lipstick = DollLipstick("astoria", ("head", "makeup"), "makeup4", "lipstick", [[255, 70, 70, 255]], unlocked=True) +# Lipstick +default ast_makeup_lipstick = DollMakeup("astoria", ("head", "makeup"), "makeup", "lipstick", ["#ff4646ff"], unlocked=True, tracking="mouth") + +########## +## Misc ## +########## + +default ast_cloth_pants1 = DollCloth("astoria", ("lower body", "trousers"), "bottom", "pants_1", ["#b4b4b4ff", "#d5a10dff"], unlocked=True) +default ast_cloth_shorts1 = DollCloth("astoria", ("lower body", "shorts"), "bottom", "pants_1_short", ["#b4b4b4ff", "#d5a10dff"], level=8, unlocked=True) +default ast_cloth_pantyhose1 = DollCloth("astoria", ("legwear", "pantyhose"), "stockings", "pantyhose", ["#be9281ff"], unlocked=True) diff --git a/game/scripts/characters/astoria/wardrobe_reactions.rpy b/game/scripts/characters/astoria/wardrobe_reactions.rpy index 3273e399..a6202612 100644 --- a/game/scripts/characters/astoria/wardrobe_reactions.rpy +++ b/game/scripts/characters/astoria/wardrobe_reactions.rpy @@ -32,10 +32,10 @@ label ast_reaction_category_fail(category): gen "..." ("base", xpos="far_left", ypos="head") elif category == "lower undergarment": ast "Why would I do that?" ("base", "narrow", "angry", "R") - gen "I don't know, why wouldn't you do it?" ("base", xpos="far_left", ypos="head") + gen "I don't know... Why wouldn't you do it?" ("base", xpos="far_left", ypos="head") ast "..." ("base", "narrow", "base", "down") elif category == "piercings & tattoos": - ast "Sounds awesome but you'll just make it something stupid." ("angry", "narrow", "base", "R") + ast "Sounds awesome, but you'll just pick something stupid." ("angry", "narrow", "base", "R") gen "I'd never..." ("base", xpos="far_left", ypos="head") ast "Lies..." ("clench", "base", "base", "mid") return @@ -43,114 +43,114 @@ label ast_reaction_category_fail(category): label ast_reaction_touch(what): if what == "head": $ mouse_headpat() - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - ast "Whatever..." ("base", "base", "base", "down") - elif random_number == 2: - ast "I'm only letting you do this cause you didn't snitch on me..." ("open", "closed", "base", "mid") - gen "Sure..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - ast "What's this obsession with petting coming from?" ("open", "narrow", "base", "L") - gen "*Err*..." ("base", xpos="far_left", ypos="head") - ast "When people called you eccentric I didn't think they meant bonkers mad..." ("clench", "closed", "base", "down") + random: + block: + ast "Whatever..." ("base", "base", "base", "down") + block: + ast "I'm only letting you do this because you didn't snitch on me..." ("open", "closed", "base", "mid") + gen "Sure..." ("base", xpos="far_left", ypos="head") + block: + ast "What's this obsession with petting coming from?" ("open", "narrow", "base", "L") + gen "*Err*..." ("base", xpos="far_left", ypos="head") + ast "When people called you eccentric I didn't think they meant bonkers mad..." ("clench", "closed", "base", "down") elif what == "breasts": $ mouse_heart() - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - ast "You're really enjoying that aren't you?" ("base", "narrow", "base", "mid") - ast "Well I guess you're just a man after all..." ("open", "closed", "base", "mid") - elif random_number == 2: - ast "Hey!" ("clench", "base", "base", "mid") - gen "What?" ("base", xpos="far_left", ypos="head") - ast "..." ("grin", "narrow", "base", "L") - elif random_number == 3: - ast "Gross..." ("annoyed", "narrow", "base", "mid") + random: + block: + ast "You're really enjoying that, aren't you?" ("base", "narrow", "base", "mid") + ast "Well I guess you're just a man after all..." ("open", "closed", "base", "mid") + block: + ast "Hey!" ("clench", "base", "base", "mid") + gen "What?" ("base", xpos="far_left", ypos="head") + ast "..." ("grin", "narrow", "base", "L") + block: + ast "Gross..." ("annoyed", "narrow", "base", "mid") elif what == "vagina": $ mouse_heart() - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - ast "What do you think you're doing?" ("clench", "base", "base", "mid", cheeks="blush") - gen "Kissing you?" ("base", xpos="far_left", ypos="head") - ast "Surely that's against some rule..." ("annoyed", "base", "base", "R") - gen "Worried about rule breaking all of a sudden are we?" ("base", xpos="far_left", ypos="head") - ast "No..." ("base", "narrow", "base", "mid") - elif random_number == 2: - ast "Aren't you a bold one..." ("base", "narrow", "base", "mid") - elif random_number == 3: - ast "Thought you could slip past my wards did you?" ("clench", "base", "base", "mid") - ast "I'll have you know I felt none of that!" ("open", "closed", "base", "mid", cheeks="blush") + random: + block: + ast @ cheeks blush "What do you think you're doing?" ("clench", "base", "base", "mid") + gen "Kissing you?" ("base", xpos="far_left", ypos="head") + ast "Surely that's against some rule..." ("annoyed", "base", "base", "R") + gen "Worried about rule breaking all of a sudden, are we?" ("base", xpos="far_left", ypos="head") + ast "No..." ("base", "narrow", "base", "mid") + block: + ast "Aren't you a bold one..." ("base", "narrow", "base", "mid") + block: + ast "Thought you could slip past my wards, did you?" ("clench", "base", "base", "mid") + ast @ cheeks blush "I'll have you know I felt none of that!" ("open", "closed", "base", "mid") return label ast_reaction_touch_fail(what): if what == "head": - $ random_number = renpy.random.randint(1, 6) $ mouse_slap() - if random_number == 1: - ast "Hey!" ("annoyed", "base", "angry", "mid") - elif random_number == 2: - ast "I'm not your pet, [ast_genie_name]..." ("clench", "base", "base", "mid") - elif random_number == 3: - ast "Oh sorry, my hand slipped." ("annoyed", "closed", "angry", "mid") - elif random_number == 4: - ast "Do that again and you'll regret it..." ("base", "base", "base", "mid") - elif random_number == 5: - ast "Stop..." ("base", "base", "base", "mid") - elif random_number == 6: - ast "Don't!" ("clench", "base", "base", "mid") - $ mouse_slap() - ast "Don't!{fast} Do!" ("clench", "narrow", "base", "mid") - $ mouse_slap() - ast "Don't! Do!{fast} That!" ("scream", "narrow", "angry", "mid") - $ mouse_slap() - ast "Don't! Do! That!{fast} Again!" ("scream", "closed", "angry", "mid") - $ mouse_slap() - call play_sound("kick") - with hpunch - pause 1.0 - gen "(Ouch, that hurt!)" ("angry", xpos="far_left", ypos="head") + random: + block: + ast "Hey!" ("annoyed", "base", "angry", "mid") + block: + ast "I'm not your pet, [name_genie_astoria]..." ("clench", "base", "base", "mid") + block: + ast "Oh sorry, my hand slipped." ("annoyed", "closed", "angry", "mid") + block: + ast "Do that again, and you'll regret it..." ("base", "base", "base", "mid") + block: + ast "Stop..." ("base", "base", "base", "mid") + block: + ast "Don't!" ("clench", "base", "base", "mid") + $ mouse_slap() + ast "Don't!{fast} Do!" ("clench", "narrow", "base", "mid") + $ mouse_slap() + ast "Don't! Do!{fast} That!" ("scream", "narrow", "angry", "mid") + $ mouse_slap() + ast "Don't! Do! That!{fast} Again!" ("scream", "closed", "angry", "mid") + $ mouse_slap() + play sound "sounds/kick.ogg" + with hpunch + pause 1.0 + gen "(Ouch, that hurt!)" ("angry", xpos="far_left", ypos="head") elif what == "breasts": - $ random_number = renpy.random.randint(1, 7) $ mouse_slap() - if random_number == 1: - ast "Hey, cut that out!" ("angry", "narrow", "base", "mid") - elif random_number == 2: - ast "Ouch, that hurts..." ("base", "base", "angry", "mid") - elif random_number == 3: - ast "Hey, no nipple twisters..." ("clench", "base", "base", "mid") - elif random_number == 4: - ast "Bad Touch!" ("upset", "closed", "base", "mid") - elif random_number == 5: - ast "*EEEH* Don't you have better things to do?" ("scream", "closed", "angry", "mid") - elif random_number == 6: - ast "{size=+5}What are you doing?{/size}" ("scream", "narrow", "angry", "L") - elif random_number == 7: - ast "Stop that!" ("upset", "narrow", "base", "mid") + random: + block: + ast "Hey, cut that out!" ("angry", "narrow", "base", "mid") + block: + ast "Ouch, that hurts..." ("base", "base", "angry", "mid") + block: + ast "Hey, no nipple twisters..." ("clench", "base", "base", "mid") + block: + ast "Bad Touch!" ("upset", "closed", "base", "mid") + block: + ast "*EEEH* Don't you have better things to do?" ("scream", "closed", "angry", "mid") + block: + ast "{size=+5}What are you doing?{/size}" ("scream", "narrow", "angry", "L") + block: + ast "Stop that!" ("upset", "narrow", "base", "mid") elif what == "vagina": - $ random_number = renpy.random.randint(1, 7) $ mouse_slap() - if random_number == 1: - ast "Hey, that's private property." ("base", "narrow", "angry", "down") - elif random_number == 2: - ast "Get your filthy hands off me, [ast_genie_name]." ("upset", "narrow", "base", "mid") - elif random_number == 3: - ast "Stop it, you creep." ("annoyed", "narrow", "angry", "R") - elif random_number == 4: - ast "Why would you do that... nasty old man..." ("clench", "narrow", "base", "L") - elif random_number == 5: - ast "Don't touch me..." ("clench", "base", "base", "mid") - elif random_number == 6: - ast "Don't be gross, [ast_genie_name]." ("base", "base", "base", "mid") - elif random_number == 7: - ast "..." ("clench", "closed", "base", "mid") + random: + block: + ast "Hey, that's private property." ("base", "narrow", "angry", "down") + block: + ast "Get your filthy hands off me, [name_genie_astoria]." ("upset", "narrow", "base", "mid") + block: + ast "Stop it, you creep." ("annoyed", "narrow", "angry", "R") + block: + ast "Why would you do that... nasty old man..." ("clench", "narrow", "base", "L") + block: + ast "Don't touch me..." ("clench", "base", "base", "mid") + block: + ast "Don't be gross, [name_genie_astoria]." ("base", "base", "base", "mid") + block: + ast "..." ("clench", "closed", "base", "mid") return label ast_reaction_equip(item): @@ -166,38 +166,35 @@ label ast_reaction_equip_fail(item): # else: # - $ random_number = renpy.random.randint(1, 3) - - if random_number == 1: - ast "*Nuh-uh*, I'm not putting that on." ("clench", "closed", "base", "mid") - elif random_number == 2: - ast "*Pfff* You want me to wear that? In your dreams old man..." ("annoyed", "narrow", "angry", "R") - else: - ast "Don't be such a creep, thanks but no thanks." ("upset", "narrow", "base", "mid") + random: + block: + ast "*Nuh-uh*, I'm not putting that on." ("clench", "closed", "base", "mid") + block: + ast "*Pfff* You want me to wear that? In your dreams, old man..." ("annoyed", "narrow", "angry", "R") + block: + ast "Don't be such a creep, thanks but no, thanks." ("upset", "narrow", "base", "mid") return label ast_reaction_unequip(item): ### Example # if item.type == "panties": - # if ast_whoring > 15: + # if states.ast.level > 15: # ast "You want to see my snatch?" - # ast "You got it [genie_name]!" + # ast "You got it [name_genie_hermione]!" # return label ast_reaction_unequip_fail(item): if item.type == "panties": - $ random_number = renpy.random.randint(1, 3) - - ast "Like hell! Take off your own panties old man..." ("clench", "closed", "base", "mid") + ast "Like hell I would! Take off your own panties, old man..." ("clench", "closed", "base", "mid") show screen blkfade with d5 - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" ast "W-What are you doing?!" ("scream", "narrow", "angry", "L") - call play_sound("thump") + play sound "sounds/kick.ogg" with hpunch pause 0.5 ast "Oh my god-- is that...?!" ("upset", "narrow", "base", "mid") @@ -215,10 +212,10 @@ label ast_reaction_unequip_fail(item): ast "Why would you even suggest that?" ("clench", "closed", "base", "mid") elif item.type == "top": - ast "Ha! Keep dreaming old man!" ("smile", "narrow", "base", "mid") + ast "Ha! Keep dreaming, old man!" ("smile", "narrow", "base", "mid") elif item.type == "bottom": - ast "My bottoms stay where they are and that's final!" ("annoyed", "narrow", "angry", "R") + ast "My bottoms stay where they are, and that's final!" ("annoyed", "narrow", "angry", "R") return label ast_reaction_equip_outfit(item): @@ -238,14 +235,14 @@ label ast_reaction_equip_outfit_fail(item): ast "That's way beyond what I would consider dignified." ("annoyed", "narrow", "angry", "R") - if susan_unlocked: + if states.sus.unlocked: ast "Consider asking Susan instead." ("base", "narrow", "base", "mid") ast "I'm sure she'd enjoy wearing it for you, that cow." ("smile", "narrow", "base", "R") return label ast_reaction_blacklist(item): - ast "Aren't you demanding too much, [ast_genie_name]?" ("annoyed", "narrow", "base", "R") + ast "Aren't you demanding too much, [name_genie_astoria]?" ("annoyed", "narrow", "base", "R") if "top" in item.blacklist and astoria.is_worn("top"): ast "My topmost garment won't work with that." ("upset", "base", "base", "mid") @@ -261,7 +258,7 @@ label ast_reaction_blacklist(item): ast "This is stupid..." ("base", "base", "base", "mid") - if susan_unlocked: + if states.sus.unlocked: gen "Perhaps I'll ask Susan instead--" ("base", xpos="far_left", ypos="head") ast "J-Just give me that!" ("annoyed", "base", "base", "L") @@ -269,16 +266,16 @@ label ast_reaction_blacklist(item): return label ast_reaction_fallback(item): - if ast_whoring < get_character_requirement("astoria", "unequip top") and not "top" in astoria.blacklist and not item.type == "top": + if states.ast.level < get_character_requirement("astoria", "unequip top") and not "top" in astoria.blacklist and not item.type == "top": $ astoria.equip(ast_top_school1) - if ast_whoring < get_character_requirement("astoria", "unequip bottom") and not "bottom" in astoria.blacklist and not item.type == "bottom": + if states.ast.level < get_character_requirement("astoria", "unequip bottom") and not "bottom" in astoria.blacklist and not item.type == "bottom": $ astoria.equip(ast_bottom_skirt1) - if ast_whoring < get_character_requirement("astoria", "unequip bra") and not "bra" in astoria.blacklist and not item.type == "bra": + if states.ast.level < get_character_requirement("astoria", "unequip bra") and not "bra" in astoria.blacklist and not item.type == "bra": $ astoria.equip(ast_bra_basic1) - if ast_whoring < get_character_requirement("astoria", "unequip panties") and not "panties" in astoria.blacklist and not item.type == "panties": + if states.ast.level < get_character_requirement("astoria", "unequip panties") and not "panties" in astoria.blacklist and not item.type == "panties": $ astoria.equip(ast_panties_basic1) ast "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/cho/chibi.rpy b/game/scripts/characters/cho/chibi.rpy index 4dc78c53..95f68bab 100644 --- a/game/scripts/characters/cho/chibi.rpy +++ b/game/scripts/characters/cho/chibi.rpy @@ -8,7 +8,7 @@ label cho_chibi(action=None, xpos=None, ypos=None, flip=False): hide cho_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ cho_chibi.hide() with d3 pause .5 @@ -28,7 +28,7 @@ label cho_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call cho_chibi(None, "door", "base", flip) with d3 if xpos or ypos: @@ -36,7 +36,7 @@ label cho_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ cho_chibi.show() $ cho_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ cho_chibi.hide() with d3 pause .5 diff --git a/game/scripts/characters/cho/chitchats.rpy b/game/scripts/characters/cho/chitchats.rpy index aee8704b..7da66e4e 100644 --- a/game/scripts/characters/cho/chitchats.rpy +++ b/game/scripts/characters/cho/chitchats.rpy @@ -1,207 +1,199 @@ label cho_chitchat: - if cho_chatted: + if states.cho.chatted: return - $ cho_chatted = True + $ states.cho.chatted = True - if cho_tier == 1: #Pre Hufflepuff - $ random_number = renpy.random.randint(1, 11) + if states.cho.tier == 1: #Pre Hufflepuff - if random_number == 1: - cho "Of course I nailed my first flying lesson, I was practically born with a broom between my legs." ("smile", "closed", "base", "mid") - cho "" ("smile", "base", "base", "mid") + random: + block: + cho "Of course I nailed my first flying lesson, I was practically born with a broom between my legs." ("smile", "closed", "base", "mid") + cho "" ("smile", "base", "base", "mid") - elif random_number == 2: - cho "I've been an avid fan of Quidditch ever since the age of six." ("smile", "base", "base", "mid") - cho "The Tutshill Tornadoes is my favourite team, and I hope I'll get to where they are one day..." ("base", "base", "base", "mid") + block: + cho "I've been an avid fan of Quidditch ever since the age of six." ("smile", "base", "base", "mid") + cho "The Tutshill Tornadoes is my favourite team, and I hope I'll get to where they are one day..." ("base", "base", "base", "mid") - elif random_number == 3: - cho "I couldn't believe it when they appointed me as a seeker for the Ravenclaw try outs." ("smile", "narrow", "base", "down") - cho "It's the most important role in Quidditch! Without a good seeker the game literally wont end." ("grin", "narrow", "base", "mid") - cho "" ("base", "base", "base", "mid") + block: + cho "I couldn't believe it when they appointed me as a seeker for the Ravenclaw try-outs." ("smile", "narrow", "base", "down") + cho "It's the most important role in Quidditch! Without a good seeker, the game literally won't end." ("grin", "narrow", "base", "mid") + cho "" ("base", "base", "base", "mid") - elif random_number == 4: - cho "I hope I'll be as good a seeker as Roderick Plumpton one day..." ("open", "narrow", "base", "down") - cho "Managing to catch the snitch in only three and a half seconds is a legendary feat." ("smile", "base", "base", "mid") - cho "Although I doubt the audience was too happy about paying the full ticket price for that game." ("smile", "narrow", "base", "R") + block: + cho "I hope I'll be as good a seeker as Roderick Plumpton one day..." ("open", "narrow", "base", "down") + cho "Managing to catch the snitch in only three and a half seconds is a legendary feat." ("smile", "base", "base", "mid") + cho "Although I doubt the audience was too happy about paying the full ticket price for that game." ("smile", "narrow", "base", "R") - elif random_number == 5: - cho "Most students complain about all the walking they have to do to get to their classes." ("open", "base", "base", "mid") - cho "Lazy is what they are... I've already been up for hours before they even manage roll out of bed." ("open", "closed", "base", "mid") - cho "" ("base", "base", "base", "mid") + block: + cho "Most students complain about all the walking they have to do to get to their classes." ("open", "base", "base", "mid") + cho "Lazy is what they are... I've already been up for hours before they even manage to roll out of bed." ("open", "closed", "base", "mid") + cho "" ("base", "base", "base", "mid") - elif random_number == 6: - cho "I wish I would've been born when the Tutshill Tornadoes won the British and Irish league five times in a row." ("soft", "narrow", "base", "down") - cho "Hold on, you were alive when--" ("angry", "base", "base", "down") - cho "[cho_genie_name], please tell me all you know about it!" ("smile", "wide", "base", "mid") - cho "" ("base", "base", "base", "mid") + block: + cho "I wish I would've been born when the Tutshill Tornadoes won the British and Irish league five times in a row." ("soft", "narrow", "base", "down") + cho "Hold on, you were alive when--" ("angry", "base", "base", "down") + cho "[name_genie_cho], please tell me all you know about it!" ("smile", "wide", "base", "mid") + cho "" ("base", "base", "base", "mid") - elif random_number == 7: - cho "[cho_genie_name], could you please have a talk with Professor McGonagall." ("annoyed", "base", "base", "mid") - cho "She took ten points off Ravenclaw when I arrived late to her class after practice the other day." ("disgust", "base", "base", "R") - cho "But she's never taken any points off Gryffindor even though some of their team members have arrived late multiple times." ("annoyed", "narrow", "base", "mid") + block: + cho "[name_genie_cho], could you please have a talk with Professor McGonagall." ("annoyed", "base", "base", "mid") + cho "She took ten points off Ravenclaw when I arrived late to her class after practice the other day." ("disgust", "base", "base", "R") + cho "But she's never taken any points off Gryffindor even though some of their team members have arrived late multiple times." ("annoyed", "narrow", "base", "mid") - elif random_number == 8: - cho "Why don't we learn much about history of Quidditch in this school?" ("angry", "closed", "base", "mid") - cho "Although I suppose it wouldn't be history of magic if we focused on something that students actually care about." ("soft", "narrow", "base", "R") + block: + cho "Why don't we learn much about the history of Quidditch in this school?" ("angry", "closed", "base", "mid") + cho "Although I suppose it wouldn't be history of magic if we focused on something that students actually care about." ("soft", "narrow", "base", "R") - elif random_number == 9: - cho "I don't want to ask for too much, but..." ("soft", "base", "base", "downR") - cho "Would you consider installing a landing pad on the Ravenclaw Tower?" ("soft", "wink", "base", "mid") - cho "And how about making owning a broom mandatory to attend Hogwarts?" ("smile", "base", "base", "mid") + block: + cho "I don't want to ask for too much, but..." ("soft", "base", "base", "downR") + cho "Would you consider installing a landing pad on the Ravenclaw Tower?" ("soft", "wink", "base", "mid") + cho "And how about making owning a broom mandatory to attend Hogwarts?" ("smile", "base", "base", "mid") - elif random_number == 10: - cho "As a seeker, it is very important that I keep in shape." ("open", "closed", "base", "mid") - cho "Even though I spend most of the game searching for the snitch, the required effort to catch that thing is way higher than anything the other players has to endure." ("open", "closed", "base", "mid") - cho "" ("base", "base", "base", "mid") + block: + cho "As a seeker, it is very important that I keep in shape." ("open", "closed", "base", "mid") + cho "Even though I spend most of the game searching for the snitch, the required effort to catch that thing is way higher than anything the other players have to endure." ("open", "closed", "base", "mid") + cho "" ("base", "base", "base", "mid") - elif random_number == 11: - cho "It's a shame Brooms are so easy to spot... Even flying close to smaller muggle villages is a risk." ("open", "base", "base", "R") + block: + cho "It's a shame Brooms are so easy to spot... Even flying close to smaller muggle villages is a risk." ("open", "base", "base", "R") - pass - elif cho_tier == 2: #Pre Slytherin - $ random_number = renpy.random.randint(1, 10) + elif states.cho.tier == 2: #Pre Slytherin - if random_number == 1: - cho "I've got a bunch of admirers now since my win against Hufflepuff." ("smile", "base", "base", "mid") - cho "But I can't let that distract me from my training." ("base", "base", "base", "mid") + random: + block: + cho "I've got a bunch of admirers now since my win against Hufflepuff." ("smile", "base", "base", "mid") + cho "But I can't let that distract me from my training." ("base", "base", "base", "mid") - elif random_number == 2: - cho "I've had a pair of panties go missing after a recent practice game..." ("open", "narrow", "base", "R") - cho "Not my lucky pair though fortunately... I only wear those during the official matches." ("soft", "base", "base", "R") + block: + cho "I've had a pair of panties go missing after a recent practice game..." ("open", "narrow", "base", "R") + cho "Not my lucky pair though, fortunately... I only wear those during the official matches." ("soft", "base", "base", "R") - elif random_number == 3: - cho "I sent an owl telling my parents about our win against Hufflepuff, they couldn't believe it!" ("smile", "happyCl", "base", "mid") - cho "Although perhaps they would if they knew what I did to beat Cedric..." ("smile", "narrow", "base", "R") - cho "From what I've heard from my mother, his obsession with panties runs in the family." ("base", "narrow", "base", "R") + block: + cho "I sent an owl telling my parents about our win against Hufflepuff, they couldn't believe it!" ("smile", "happyCl", "base", "mid") + cho "Although perhaps they would if they knew what I did to beat Cedric..." ("smile", "narrow", "base", "R") + cho "From what I've heard from my mother, his obsession with panties runs in the family." ("base", "narrow", "base", "R") - elif random_number == 4: - cho "There's nothing quite like the feeling of the rush of air running through your hair when up on that broom." ("smile", "closed", "base", "mid") - cho "It's very freeing." ("base", "narrow", "base", "mid") + block: + cho "There's nothing quite like the feeling of the rush of air running through your hair when up on that broom." ("smile", "closed", "base", "mid") + cho "It's very freeing." ("base", "narrow", "base", "mid") - elif random_number == 5: - cho "I thought wearing a skirt on a broom would've been terrible, but it wasn't as bad as I had imagined..." ("soft", "narrow", "base", "R") + block: + cho "I thought wearing a skirt on a broom would've been terrible, but it wasn't as bad as I had imagined..." ("soft", "narrow", "base", "R") - elif random_number == 6: - cho "I was quite surprised when you showed so much interest about getting involved with quidditch..." ("soft", "base", "base", "mid") - cho "I don't think even our team captain shows as much enthusiasm." ("smile", "narrow", "base", "mid") + block: + cho "I was quite surprised when you showed so much interest in getting involved with quidditch..." ("soft", "base", "base", "mid") + cho "I don't think even our team captain shows as much enthusiasm." ("smile", "narrow", "base", "mid") - elif random_number == 7: - cho "I can't believe your tactical methods were enough to have such an effect on Cedric." ("open", "narrow", "base", "down") - cho "Boys will be boys I suppose..." ("base", "narrow", "base", "down") + block: + cho "I can't believe your tactical methods were enough to have such an effect on Cedric." ("open", "narrow", "base", "down") + cho "Boys will be boys I suppose..." ("base", "narrow", "base", "down") - elif random_number == 8: - cho "I can't believe I thought the Quidditch robes would be enough for the crowd not to notice me wearing a skirt during the last game." ("angry", "narrow", "base", "down") - cho "I wonder how many people saw it before Granger pointed it out..." ("soft", "narrow", "base", "down", cheeks="blush") + block: + cho "I can't believe I thought the Quidditch robes would be enough for the crowd not to notice me wearing a skirt during the last game." ("angry", "narrow", "base", "down") + cho @ cheeks blush "I wonder how many people saw it before Granger pointed it out..." ("soft", "narrow", "base", "down") - elif random_number == 9: - cho "People skirting the rules in Quidditch is more common than most people think." ("open", "closed", "base", "mid") - cho "Illegal broom tampering... Jinxing off the other teams robes..." ("open", "narrow", "base", "downR") - cho "I'm surprised that you found there's nothing rule breaking about adjustments to your own clothing." ("smile", "narrow", "base", "mid") + block: + cho "People skirting the rules in Quidditch is more common than most people think." ("open", "closed", "base", "mid") + cho "Illegal broom tampering... Jinxing off the other team's robes..." ("open", "narrow", "base", "downR") + cho "I'm surprised that you found there's nothing rule breaking about adjustments to your own clothing." ("smile", "narrow", "base", "mid") - elif random_number == 10: - cho "I can't help but think about what would've happened if it had rained during the game against Hufflepuff." ("angry", "narrow", "base", "R") - cho "It would probably have weighted down my robes too much to be able to distract Cedric." ("mad", "narrow", "base", "downR") + block: + cho "I can't help but think about what would've happened if it had rained during the game against Hufflepuff." ("angry", "narrow", "base", "R") + cho "It would probably have weighted down my robes too much to be able to distract Cedric." ("mad", "narrow", "base", "downR") + elif states.cho.tier == 3: #Pre Gryffindor + random: + block: + cho "I've been getting some odd looks from other students lately." ("soft", "narrow", "base", "R") + cho @ cheeks blush "*Hmph*... Jealousy, no doubt." ("open", "closed", "base", "mid") - pass - elif cho_tier == 3: #Pre Gryffindor - $ random_number = renpy.random.randint(1, 10) + block: + cho "[name_genie_cho], can you do anything about those Slytherins?" ("angry", "closed", "base", "mid") + cho "Ever since my match against them, they don't seem to be able to take their eyes off my ass!" ("disgust", "narrow", "base", "mid") - if random_number == 1: - cho "I've been getting some odd looks from other students lately." ("soft", "narrow", "base", "R") - cho "*Hmph*... Jealousy, no doubt." ("open", "closed", "base", "mid", cheeks="blush") + block: + cho "I've been asked a lot about my exercise routines lately." ("soft", "narrow", "base", "R") + cho "Stretching in particular..." ("open", "narrow", "base", "R") + cho "No doubt trying to fish for a demonstration." ("base", "narrow", "base", "downR") - elif random_number == 2: - cho "[cho_genie_name], can you do anything about those Slytherins?" ("angry", "closed", "base", "mid") - cho "Ever since my match against them they don't seem to be able to take their eyes off my ass!" ("disgust", "narrow", "base", "mid") + block: + cho "I've heard a lot more Ravenclaw quidditch chants in school lately. I'm so happy people are getting behind the team!" ("smile", "narrow", "base", "mid") + cho "Though, a lot of the chants do seem to involve my ass..." ("soft", "narrow", "base", "R") - elif random_number == 3: - cho "I've been asked a lot about my exercise routines lately." ("soft", "narrow", "base", "R") - cho "Stretching in particular..." ("open", "narrow", "base", "R") - cho "No doubt trying to fish for a demonstration." ("base", "narrow", "base", "downR") + block: + cho @ cheeks blush "If it helps the team win, I don't mind debasing myself." ("open", "closed", "base", "mid") + cho @ cheeks blush "All the greatest sportspeople in history made sacrifices!" ("open", "closed", "base", "mid") + cho @ cheeks blush "Y-- yeah, that's what I'll tell them..." ("soft", "narrow", "base", "downR") - elif random_number == 4: - cho "I've heard a lot more Ravenclaw quidditch chants in school lately. I'm so happy people are getting behind the team!" ("smile", "narrow", "base", "mid") - cho "Though, a lot of the chants do seem to involve my ass..." ("soft", "narrow", "base", "R") + block: + cho "You know, I have this weird feeling that this Quidditch season is revolving all around me. Like I'm some sort of protagonist in a book." ("disgust", "narrow", "base", "L") - elif random_number == 5: - cho "If it helps the team win, I don't mind debasing myself." ("open", "closed", "base", "mid", cheeks="blush") - cho "All the greatest sportspeople in history made sacrifices!" ("open", "closed", "base", "mid", cheeks="blush") - cho "Y-- yeah, that's what I'll tell them..." ("soft", "narrow", "base", "downR", cheeks="blush") + block: + cho "Quite a few teachers started giving me weird looks." ("soft", "base", "base", "R") + cho "Although professor Snape still gives me the same look of contempt as usual..." ("soft", "narrow", "base", "R") - elif random_number == 6: - cho "You know, I have this weird feeling that this Quidditch season is revolving all around me. Like I'm some sort of protagonist in a book." ("disgust", "narrow", "base", "L") + block: + cho "I'm glad our dormitory isn't in the basement like Hufflepuff and Slytherin." ("base", "closed", "base", "mid") + cho "Means I can take my broom for a midnight flight whenever I like." ("smile", "wink", "base", "mid") + cho "*Err*... I mean... I could do that if it's okay with you..." ("disgust", "narrow", "base", "mid") - elif random_number == 7: - cho "Quite a few teachers started giving me weird looks." ("soft", "base", "base", "R") - cho "Although professor Snape still gives me the same look of contempt as usual..." ("soft", "narrow", "base", "R") + block: + cho "You know, I think I look quite good wearing tight trousers." ("smile", "base", "base", "mid") + cho "No wonder those muscle obsessed Slytherins like it so much." ("smile", "narrow", "base", "R") - elif random_number == 8: - cho "I'm glad our dormitory isn't in the basement like Hufflepuff and Slytherin." ("base", "closed", "base", "mid") - cho "Means I can take my broom for a midnight flight whenever I like." ("smile", "wink", "base", "mid") - cho "*Err*... I mean... I could do that if it's okay with you..." ("disgust", "narrow", "base", "mid") + block: + cho "I always appreciate when you call me up to your office..." ("base", "narrow", "base", "mid") + cho "Although could you do it when we've got potions class next time?" ("smile", "wink", "base", "mid") + cho "" ("base", "base", "base", "mid") - elif random_number == 9: - cho "You know, I think I look quite good wearing tight trousers." ("smile", "base", "base", "mid") - cho "No wonder those muscle obsessed Slytherins like it so much." ("smile", "narrow", "base", "R") + elif states.cho.tier == 4: #After Quidditch Finals + random: + block: + cho "I wake up earlier than my fellow teammates so that I can be naked when I do my stretching at the pitch." ("smile", "narrow", "base", "R") + cho "Of course Madam Hooch is there, setting things up for the day, but she doesn't mind." ("base", "narrow", "base", "R") - elif random_number == 10: - cho "I always appreciate when you call me up to your office..." ("base", "narrow", "base", "mid") - cho "Although could you do it when we've got potions class next time?" ("smile", "wink", "base", "mid") - cho "" ("base", "base", "base", "mid") + block: + cho @ cheeks blush "I wonder how many others have adopted Hooch's flying techniques after that last match." ("soft", "narrow", "base", "R") + cho @ cheeks blush "Hopefully they won't ban it... It is quite literally a game changer..." ("grin", "narrow", "base", "mid") - pass - elif cho_tier == 4: #After Quidditch Finals - $ random_number = renpy.random.randint(1, 11) + block: + cho "Madam Hooch let me keep her broom, which I'm very thankful for." ("smile", "base", "base", "mid") + cho @ cheeks blush "Although perhaps it's time I do some personal adjustments..." ("base", "narrow", "base", "R") - if random_number == 1: - cho "I wake up earlier than my fellow teammates so that I can be naked when I do my stretching at the pitch." ("smile", "narrow", "base", "R") - cho "Of course Madam Hooch is there setting things up for the day but she doesn't mind." ("base", "narrow", "base", "R") + block: + cho "People are still talking about the Ravenclaw versus Gryffindor game." ("smile", "wink", "base", "mid") + cho "Not so much the game itself, though..." ("smile", "narrow", "base", "mid") - elif random_number == 2: - cho "I wonder how many others have adopted Hooch's flying techniques after that last match." ("soft", "narrow", "base", "R", cheeks="blush") - cho "Hopefully they won't ban it... It is quite literally a game changer..." ("grin", "narrow", "base", "mid", cheeks="blush") + block: + cho "Don't tell anyone... But I've always thought that one of the best parts of flying is the vibrations that come from the broom." ("smile", "narrow", "base", "R") - elif random_number == 3: - cho "Madam Hooch let me keep her broom which I'm very thankful for." ("smile", "base", "base", "mid") - cho "Although perhaps it's time I do some personal adjustments..." ("base", "narrow", "base", "R", cheeks="blush") + block: + cho "Does your bird always have such a blank look on its face?" ("soft", "narrow", "base", "L") + cho "I suppose when you're constantly reborn, you must've seen anything and everything there ever is to see." ("soft", "narrow", "base", "L") - elif random_number == 4: - cho "People are still talking about the Ravenclaw versus Gryffindor game." ("smile", "wink", "base", "mid") - cho "Not so much the game itself, though..." ("smile", "narrow", "base", "mid") + block: + cho "Robes sure are useful, don't you think?" ("smile", "narrow", "base", "mid") + cho @ cheeks blush "As long as I keep them closed I could be wearing nothing underneath and nobody would ever know..." ("smile", "narrow", "base", "R") - elif random_number == 5: - cho "Don't tell anyone... But I've always thought that one of the best parts of flying is the vibrations that come from the broom." ("smile", "narrow", "base", "R") + block: + cho "The Slytherin students have been a lot nicer to me lately." ("soft", "base", "base", "mid") + cho "I suppose since they didn't make the finals, they were at least happy seeing Gryffindor lose." ("smile", "narrow", "base", "mid") - elif random_number == 6: - cho "Does your bird always have such a blank look on its face?" ("soft", "narrow", "base", "L") - cho "I suppose when you're constantly reborn you must've seen anything and everything there ever is to see." ("soft", "narrow", "base", "L") - - elif random_number == 7: - cho "Robes sure are useful don't you think?" ("smile", "narrow", "base", "mid") - cho "As long as I keep them closed I could be wearing nothing underneath and nobody would ever know..." ("smile", "narrow", "base", "R", cheeks="blush") - - elif random_number == 8: - cho "The Slytherin students have been a lot nicer to me lately." ("soft", "base", "base", "mid") - cho "I suppose since they didn't make the finals, they were at least happy seeing Gryffindor lose." ("smile", "narrow", "base", "mid") - - elif random_number == 9: - cho "The one who was the most mad about Gryffindor loosing the Quidditch cup was probably Hermione." ("smile", "narrow", "base", "R") - cho "The girls on the Gryffindor Quidditch team were more interested in borrowing my broom than holding any sort of grudge." ("base", "narrow", "base", "mid") - - elif random_number == 10: - cho "So... How about we make this office a clothes free zone?" ("base", "narrow", "base", "mid") - cho "Like enchant the door so you can't enter if you got clothes on, or something." ("smile", "base", "base", "R") - cho "I'm sure some bitter old witch or wizard must've invented a spell like that so people wouldn't wander into their house with their shoes on..." ("base", "narrow", "base", "R") - - elif random_number == 11: - cho "I read somewhere that ejaculate is a good source of protein." ("open", "narrow", "base", "R") - cho "There's even a cook book!" ("smile", "wide", "base", "mid") - cho "The things you find hidden in the library..." ("grin", "narrow", "base", "R") + block: + cho "The one who was the maddest about Gryffindor losing the Quidditch cup was probably Hermione." ("smile", "narrow", "base", "R") + cho "The girls on the Gryffindor Quidditch team were more interested in borrowing my broom than holding any sort of grudge." ("base", "narrow", "base", "mid") + block: + cho "So... How about we make this office a clothes free zone?" ("base", "narrow", "base", "mid") + cho "Like enchant the door, so you can't enter if you got clothes on, or something." ("smile", "base", "base", "R") + cho "I'm sure some bitter old witch or wizard must've invented a spell like that, so people wouldn't wander into their house with their shoes on..." ("base", "narrow", "base", "R") + block: + cho "I read somewhere that ejaculate is a good source of protein." ("open", "narrow", "base", "R") + cho "There's even a cookbook!" ("smile", "wide", "base", "mid") + cho "The things you find hidden in the library..." ("grin", "narrow", "base", "R") return diff --git a/game/scripts/characters/cho/common.rpy b/game/scripts/characters/cho/common.rpy index 3cf453d0..a77e10a9 100644 --- a/game/scripts/characters/cho/common.rpy +++ b/game/scripts/characters/cho/common.rpy @@ -1,44 +1,3 @@ -define cho_face = { - "mouth": { - "neutral": ["base","normal","annoyed"], - "happy": ["base", "smile"], - "naughty": ["base","quiver","horny","soft"], - "horny": ["horny","soft"], - "annoyed": ["annoyed"], - "disgusted": ["disgust","upset"], - "angry": ["angry","clench","mad","upset"] - }, - - "eyes": { - "neutral": ["base","base","closed"], - "happy": ["base","base","happyCl"], - "naughty": ["narrow"], - "horny": ["narrow"], - "annoyed": ["narrow","narrow","closed"], - "disgusted": ["base","narrow"], - "angry": ["narrow"] - }, - - "eyebrows": { - "neutral": ["base"], - "happy": ["base"], - "naughty": ["base","raised","worried"], - "horny": ["base","raised"], - "annoyed": ["angry"], - "disgusted": ["base","raised","worried"], - "angry": ["angry"] - }, - - "pupils": { - "neutral": ["mid","L","R"], - "happy": ["mid","L","R"], - "naughty": ["mid","L","R","down","up"], - "horny": ["mid","L","R","down","up"], - "annoyed": ["mid","L","R","downR"], - "disgusted": ["mid","down"], - "angry": ["mid"] - } -} label update_cho: @@ -58,43 +17,58 @@ label end_cho_event: call update_cho - $ active_girl = None - $ cho_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.cho.busy = True $ cho.wear("all") $ cho.set_cum(None) - - $ renpy.stop_predict(cho.get_image()) - $ renpy.stop_predict("characters/cho/face/*.webp") + $ cho.set_face(tears=False, cheeks=False) call music_block jump main_room_menu -define character.cho_say = Character("cho_name", show_icon="cho", dynamic=True) +define character.cho_say = Character("name_cho_genie", show_icon="cho", dynamic=True) init python in character: # Cho's name is short, therefore it needs to be initialised in character scope, # otherwise we won't be able to use the same name for both Doll and Character calls. - def cho(what, mouth=False, eyes=False, eyebrows=False, pupils=False, cheeks=None, tears=None, + def cho(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None, emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def show(): + renpy.store.cho.show(force=True) + + if not renpy.in_rollback(): + renpy.with_statement(trans or renpy.store.d2) + + face = {"mouth": mouth, "eyes": eyes, "eyebrows": eyebrows, "pupils": pupils, "cheeks": cheeks, "tears": tears} + temp_face = renpy.game.context().temporary_attributes redraw = False tag = renpy.store.cho.tag layer = renpy.store.cho.layer - #showing = renpy.showing(name=tag, layer=layer) - if xpos != None or ypos != None: - xpos = renpy.store.cho.pos[0] if xpos == None else renpy.store.sprite_pos.get("x").get(xpos, xpos) - ypos = renpy.store.cho.pos[1] if ypos == None else renpy.store.sprite_pos.get("y").get(ypos, ypos) + if xpos is not None or ypos is not None: + xpos = renpy.store.cho.pos[0] if xpos is None else renpy.store.sprite_pos.get("x").get(xpos, xpos) + ypos = renpy.store.cho.pos[1] if ypos is None else renpy.store.sprite_pos.get("y").get(ypos, ypos) renpy.store.cho.pos = (xpos, ypos) redraw = True head_only = renpy.store.cho.pos[1] == renpy.store.sprite_pos.get("y").get("head") - if any((mouth, eyes, eyebrows, pupils, cheeks, tears)): - renpy.store.cho.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears) + if any(face.values()): + renpy.store.cho.set_face(**face) redraw = True - renpy.store.cho.set_emote(emote) + if temp_face: + last_face = renpy.store.cho.get_face() + + d = dict(zip(temp_face[::2], temp_face[1::2])) + renpy.store.cho.set_face(**d) + redraw = True + + if emote: + renpy.store.cho.set_emote(emote) + redraw = True if animation != False: renpy.store.cho.animation = animation @@ -105,16 +79,13 @@ init python in character: redraw = True if redraw: - renpy.store.cho.show() - - if not renpy.in_rollback(): - if trans: - renpy.with_statement(trans) - else: - renpy.with_statement(renpy.store.d2) + show() if what: cho_say(what, **kwargs) + if temp_face: + renpy.store.cho.set_face(**last_face) + if head_only: renpy.store.cho.hide() diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body.rpy deleted file mode 100644 index 517e6ad9..00000000 --- a/game/scripts/characters/cho/events/favors/inspect_her_body.rpy +++ /dev/null @@ -1,3374 +0,0 @@ - - -### Cho Strip ### - -label cc_pf_strip: - - # Start Event - $ cc_pf_strip.start() - - # End Event Jump - label end_cho_strip_event: - - if cho_tier == 2 and cho_whoring < 9: # Points til 9 - $ cho_whoring += 1 - - if cho_tier == 3 and cho_whoring < 15: # Points til 15 - $ cho_whoring += 1 - - $ cho.wear("all") # Reset clothes - jump end_cho_event - -# TODO: Add Fail events as Tier 1, currently named Tier 1 events become Tier 2. - -### Tier 1 (pre Slytherin) ### - -label cc_pf_strip_T2_intro_E1: - gen "It's time for your next favour, [cho_name]." ("base", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]." ("base", "base", "base", "mid") - cho "What would you like me to do?" ("soft", "base", "base", "mid") - gen "First, come a bit closer..." ("base", xpos="far_left", ypos="head") - cho "Very well, Sir." ("base", "base", "base", "mid") - - call cho_walk("desk", "base") - - cho "" (xpos="mid", ypos="base", trans=fade) - call ctc - - gen "How often do you typically exercise, Miss Chang?" ("base", xpos="far_left", ypos="head") - cho "As often as I can, [cho_genie_name]!" ("soft", "base", "base", "mid") - gen "Which is... how often, exactly? Twice a week?" ("base", xpos="far_left", ypos="head") - cho "Three times a day, Sir!" ("base", "narrow", "base", "mid") - with hpunch - gen "What?!" ("angry", xpos="far_left", ypos="head") - gen "(I don't even jerk off that often!)" ("angry", xpos="far_left", ypos="head") - gen "I find that a bit hard to believe... You're not embellishing the truth, are you?" ("base", xpos="far_left", ypos="head") - cho "I'm not, Sir! It's necessary for someone in my position!" ("open", "closed", "angry", "mid") - cho "I wake up every morning before dawn, then run around the Quidditch pitch until the sun rises!" ("open", "narrow", "angry", "mid") - cho "My body's at the absolute peak of human condition!" ("open", "narrow", "angry", "R") - gen "It is quite impressive..." ("angry", xpos="far_left", ypos="head") - cho "Glad to hear it, [cho_genie_name]." ("base", "happyCl", "base", "mid") - gen "I assume you get complimented often?" ("base", xpos="far_left", ypos="head") - cho "Sometimes..." ("soft", "base", "base", "R") - gen "And I suspect you have many admirers?" ("grin", xpos="far_left", ypos="head") - cho "Oh, *umm*... maybe?" ("annoyed", "base", "base", "mid") - cho "But that's {b}not{/b} why I take such great care of my body, Sir!" ("open", "narrow", "angry", "mid") - gen "Of course not..." ("base", xpos="far_left", ypos="head") - cho "Quidditch is a hard game for anyone, as I'm sure you know..." ("open", "closed", "base", "mid") - cho "But that goes double for girls!{w=0.6} I have to train twice as hard as the boys if I want to stand a chance!" ("open", "narrow", "angry", "mid") - gen "That's very commendable of you..." ("base", xpos="far_left", ypos="head") - cho "Thank you, Sir." ("base", "base", "base", "mid") - - # Ask her to strip. - gen "So, Why don't you show me what you are made of?{w=1.0} Let me have a proper look at you!" ("grin", xpos="far_left", ypos="head") - cho "Sir?" ("soft", "wink", "raised", "mid") - gen "I need you to remove your clothes." ("base", xpos="far_left", ypos="head") - call play_music("stop") - cho "!!!" ("soft", "wide", "base", "mid", cheeks="blush") - call play_music("cho") - gen "Go on, girl. Start with the top..." ("base", xpos="far_left", ypos="head") - cho "No!" ("scream", "happyCl", "angry", "mid", cheeks="blush", trans=hpunch) - cho "Why are you even asking me to do such a thing?!" ("angry", "narrow", "angry", "mid") - #gen "Didn't you take your skirt off for me after the Hufflepuff match?" ("base", xpos="far_left", ypos="head") - #cho "{size=-4}Well, I probably shouldn't have done that..{/size}" ("annoyed", "base", "worried", "R") - #gen "Sorry?" ("base", xpos="far_left", ypos="head") - gen "Have you already forgotten that I'm here to train you?" ("base", xpos="far_left", ypos="head") - cho "And I'm very thankful for that sir, but..." ("open", "closed", "base", "mid") - gen "Am I not your trusted mentor?" ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid") - gen "Your strong advisor..." ("base", xpos="far_left", ypos="head") - gen "Your guardian angel!" ("grin", xpos="far_left", ypos="head") - cho "I don't think taking off my clothes will be necessary for our training, [cho_genie_name]." ("annoyed", "narrow", "angry", "R") - gen "I'm very disappointed I've got to say..." ("base", xpos="far_left", ypos="head") - gen "You aren't this shy about undressing in front of your team, are you?" ("base", xpos="far_left", ypos="head") - cho "That's entirely different!" ("soft", "narrow", "angry", "mid") - gen "How so?" ("base", xpos="far_left", ypos="head") - cho "I'm just not comfortable doing this in front of you, Sir!" ("soft", "closed", "worried", "mid") - cho "You're really old..." ("soft", "narrow", "worried", "downR", cheeks="blush") - gen "Pardon me?" ("base", xpos="far_left", ypos="head") - cho "I meant... you're our headmaster! It just feels wrong to me!" ("soft", "narrow", "worried", "mid") - #gen "It didn't bother you the last time you barged into my office..." ("base", xpos="far_left", ypos="head") - #cho "Well, we had just won the game and all that... Maybe my judgement..." ("annoyed", "closed", "worried", "R") - gen "Are you one of those shy girls, Miss Chang?" ("base", xpos="far_left", ypos="head") - cho "No, Sir. I wouldn't say I'm shy, but..." ("soft", "narrow", "worried", "downR") - gen "Well then prove me you aren't, girl!" ("base", xpos="far_left", ypos="head") - gen "Let me see it!" ("grin", xpos="far_left", ypos="head") - - # Cho stays reluctant. - cho "Is there no other way I could repay the favour?" ("annoyed", "narrow", "worried", "mid") - gen "Well, yes.{w=0.3} Several.{w} But we'll get to those later..." ("base", xpos="far_left", ypos="head") - cho "Later, Sir?" ("soft", "base", "raised", "mid") - gen "Girl, I wouldn't be asking you this if it wasn't absolutely necessary for your training!" ("angry", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]." ("annoyed", "base", "base", "down") - gen "All that's required of you is to co-operate..." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "base", "worried", "mid", cheeks="blush") - gen "Now take off your top..." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - cho "Only my top?" ("soft", "narrow", "worried", "mid") - gen "Would you like to take off {b}more?{/b}" ("grin", xpos="far_left", ypos="head") - cho "I didn't mean it like that!" ("angry", "narrow", "angry", "mid") - gen "[cho_name], it's only the two of us in here. No need to worry." ("base", xpos="far_left", ypos="head") - cho "I'm not worried about others, [cho_genie_name]!" ("annoyed", "narrow", "angry", "mid") - cho "For as long as nobody else will find out...{w} You have to promise me that, Sir!" ("soft", "narrow", "angry", "R") - gen "Promised! Now take it off!" ("grin", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid") - gen "*Ahem*{w=0.5} Slowly..." ("base", xpos="far_left", ypos="head") - pause .5 - cho "" ("quiver", "happyCl", "worried", "mid", cheeks="blush") - pause .8 - - # Remove top. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe", "top") - with d3 - pause .5 - - cho "" ("quiver", "narrow", "worried", "mid", cheeks="blush") - call ctc - - menu: - "\"Your posture is remarkable!\"": - cho "Oh... Glad you noticed!" ("smile", "base", "base", "down") # Happy - cho "I'm relieved you actually show interest in my body status, Sir!" ("base", "base", "base", "mid") - gen "(Oh, You have no idea, girl!)" ("base", xpos="far_left", ypos="head") - cho "I thought you just wanted to gush at my body like all the other teachers..." ("soft", "narrow", "worried", "mid", cheeks="blush") - gen "Who?{w} Which other teachers are you talking about?{w} Snape?!" ("base", xpos="far_left", ypos="head") - cho "No, not Snape..." ("annoyed", "narrow", "angry", "R") - cho "(...)" ("annoyed", "base", "worried", "downR", cheeks="blush") - cho "Promise me you won't tell her!" ("quiver", "narrow", "worried", "mid", cheeks="blush") - gen "Her?!" ("base", xpos="far_left", ypos="head") - cho "Madame Hooch, Sir." ("soft", "narrow", "worried", "mid", cheeks="blush") - gen "Ah, the old, grey haired lady..." ("base", xpos="far_left", ypos="head") - cho "Yes, she's been eyeing me a lot lately..." ("annoyed", "base", "worried", "downR", cheeks="blush") - cho "Even more so after our recent game against Hufflepuff..." ("mad", "narrow", "worried", "R", cheeks="blush") - gen "I can't blame her... Your body is very pleasant to look at!" ("grin", xpos="far_left", ypos="head") - cho "Thank you, Sir." ("base", "base", "base", "mid", cheeks="blush") - - "\"You have marvellous abs!\"": - gen "Magnificent." ("angry", xpos="far_left", ypos="head") - gen "Simply...{w} magnificent..." ("angry", xpos="far_left", ypos="head") - cho "*Ehm*..." ("annoyed", "narrow", "worried", "R", cheeks="blush") # Embarrassed - gen "As if Michelangelo himself carved them onto your flesh..." ("angry", xpos="far_left", ypos="head") - gen "I must say I'm very impressed!" ("base", xpos="far_left", ypos="head") - cho "Thank you, Sir." ("soft", "narrow", "worried", "downR", cheeks="blush") - - "\"*Eh*, I've seen better, but that'll do.\"": - $ cho_mood += 3 - cho "What?!" ("mad", "base", "angry", "mid") # Upset - gen "(Crap!)" ("angry", xpos="far_left", ypos="head") - gen "What I meant to say is, you're in great shape but I still see room for improvements." ("base", xpos="far_left", ypos="head") - gen "I'm impressed nonetheless!" ("base", xpos="far_left", ypos="head") - cho "Thank you, I guess..." ("annoyed", "narrow", "angry", "downR", cheeks="blush") - - gen "None of the other girls I get to see here has such fine...{w=1.0} contours." ("base", xpos="far_left", ypos="head") - cho "Other girls?" ("soft", "wide", "base", "mid") - cho "[cho_genie_name], you aren't training anybody else in Quidditch besides me, are you?" ("soft", "narrow", "angry", "mid") - gen "What? Of course not..." ("base", xpos="far_left", ypos="head") - cho "Then which other girls are you talking about?" ("annoyed", "narrow", "angry", "mid") - gen "(Shit! I better just tell her the truth.)" ("angry", xpos="far_left", ypos="head") - gen "Just...{w=1.0} Granger..." ("base", xpos="far_left", ypos="head") - cho "*Phewww*{w=1.0} You scared me there for a second, Sir..." ("smile", "narrow", "worried", "mid") - gen "You... don't mind?" ("base", xpos="far_left", ypos="head") - cho "Please. Why should I care what Granger does for you in here?" ("soft", "narrow", "angry", "R") - cho "All she seems to care about is winning the house cup." ("open", "narrow", "angry", "R") - cho "As long as you don't help any Gryffindor or Slytherin sluts win the Quidditch cup, everything will be fine." ("base", "narrow", "base", "mid") - gen "No worries, [cho_name]. I don't have plans to train other {i}sluts{/i} in quidditch." ("grin", xpos="far_left", ypos="head") - - cho "That's a relief..." ("open", "closed", "base", "mid") - cho "Besides, she clearly doesn't hold a candle against me!" ("open", "narrow", "base", "R") - cho "All she does is sit on her arse all day, studying in the library..." ("soft", "narrow", "angry", "mid") - gen "(...)" ("base", xpos="far_left", ypos="head") - cho "You can't expect somebody who's as lazy as her to look as great as I do!" ("soft", "closed", "base", "mid") - - menu: - "\"Yeah, she's gross.\"": - $ cho_mood = 0 - gen "Miss Granger's body is nothing compared to yours." ("base", xpos="far_left", ypos="head") - cho "I wholeheartedly agree, Sir!" ("base", "narrow", "angry", "mid") - gen "Her tits sag too much, and her fat hips are disgusting..." ("base", xpos="far_left", ypos="head") - hide cho_main - call blktone - gen "(Something deep inside me just died saying this...)" ("angry", xpos="far_left", ypos="head") - call hide_blktone - cho "She really is a..." ("open", "closed", "raised", "mid") - cho "... stupid..." ("angry", "closed", "angry", "mid") - cho "... fat..." ("clench", "narrow", "angry", "mid") - cho "... cow, isn't she?" ("quiver", "narrow", "angry", "mid", cheeks="blush") - gen "Speaking of Hermione..." ("base", xpos="far_left", ypos="head") - gen "Why don't you show me \"your\"{w} very much \"superior\"{w} hips?" ("grin", xpos="far_left", ypos="head") - cho "Are you asking me to take off my bottoms?" ("soft", "wink", "raised", "mid", cheeks="blush") - gen "Yes, my dear." ("base", xpos="far_left", ypos="head") - - "\"Nope, you lose\"": - $ cho_mood += 6 - - cho "What?!" ("scream", "wide", "angry", "mid", trans=hpunch) - cho "" ("angry", "narrow", "angry", "mid") - gen "I'm afraid, Miss Granger is simply...{w} how shall I put it...{w} sexier!" ("base", xpos="far_left", ypos="head") - cho "But she doesn't even do workouts!" ("clench", "narrow", "angry", "mid") - gen "Let's just forget about her, shall we?" ("base", xpos="far_left", ypos="head") - gen "And continue where we left off..." ("base", xpos="far_left", ypos="head") - cho "And where would that be?" ("annoyed", "narrow", "angry", "mid") - gen "Your Quidditch training, Miss Chang." ("base", xpos="far_left", ypos="head") - cho "I'm not sure I want to -- after what you've just said..." ("annoyed", "narrow", "angry", "R") - gen "Why? What did I say?" ("base", xpos="far_left", ypos="head") - cho "That Granger's body is better?! We both know that isn't true." ("mad", "narrow", "angry", "mid") - gen "Do you expect me to apologise?" ("base", xpos="far_left", ypos="head") - cho "Yes!{w} Admit that I'm sexier!" ("annoyed", "closed", "angry", "mid", cheeks="blush") # Snobby - gen "You are indeed, {b}very sexy{/b}, Miss Chang!" ("grin", xpos="far_left", ypos="head") - cho "Thank you, Sir." ("base", "narrow", "base", "mid") - gen "Now take your bottoms off, would you..." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid") - - - cho "Please don't tell anybody about what I'm doing in here, Sir." ("quiver", "narrow", "worried", "mid", cheeks="blush") - cho "It could really tarnish my reputation." ("soft", "narrow", "worried", "R", cheeks="blush") - gen "I'd never think of it..." ("base", xpos="far_left", ypos="head") - cho "I will take off my bottoms now!" ("scream", "happyCl", "angry", "mid") # Scream - cho "" ("horny", "narrow", "worried", "R", cheeks="blush") - gen "(!!!)" ("grin", xpos="far_left", ypos="head") - pause .4 - - # Remove bottoms. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - hide cho_main - $ cho.strip("bottom") - pause 1.2 - $ renpy.sound.play("sounds/cloth_sound4.ogg") - show screen cho_cloth_pile - pause .4 - cho "" (trans=d3) - pause .5 - - cho "" ("horny", "narrow", "base", "mid", cheeks="blush") - call ctc - - gen "YES!" ("angry", xpos="far_left", ypos="head") - gen "Look at those thighs!" ("angry", xpos="far_left", ypos="head") - gen "Those tree trunks!" ("angry", xpos="far_left", ypos="head") - gen "Even the great \"Chun-Li\" would be jealous of those!" ("grin", xpos="far_left", ypos="head") - cho "I'm sorry Sir, who's that?" ("soft", "wink", "raised", "mid") - - menu: - gen "(...)" ("base", xpos="far_left", ypos="head") - - "\"Never seen City Hunter?\"": - cho "\"City Hunter?\"{w=0.3} Can't say that I have." ("soft", "base", "raised", "mid") - gen "What about \"Police Story\"?" ("base", xpos="far_left", ypos="head") - cho "No?" ("soft", "wink", "raised", "mid") - gen "\"Drunken Master\"?" ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "base", "base", "R") - gen "Please tell me you've at the very least seen \"Rush Hour\"?" ("angry", xpos="far_left", ypos="head") - cho "No, Sir." ("annoyed", "closed", "base", "mid") - gen "I'm in shock, over how little you care about your culture..." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid") - gen "Not every man can pull off a cosplay like that!" ("angry", xpos="far_left", ypos="head") - cho "I'm not following, Sir." ("annoyed", "narrow", "angry", "R") - - "\"She's my main...\"": - gen "I simply love playing with her..." ("grin", xpos="far_left", ypos="head") - gen "Seeing that leg rise up when I press the right buttons..." ("base", xpos="far_left", ypos="head") - cho "What?!" ("open", "narrow", "raised", "mid") # confused - - gen "Speaking of which!{w} I don't believe we are done here just yet." ("grin", xpos="far_left", ypos="head") - cho "We aren't? But I did exactly what you wanted!" ("open", "base", "worried", "mid") - gen "You've still got some clothes on..." ("grin", xpos="far_left", ypos="head") - cho "Sir, is this why you are helping me?" ("open", "closed", "angry", "mid") - cho "Might this be all just part of a sick scheme to get to see me naked?" ("annoyed", "narrow", "angry", "mid") - gen "(...)" ("base", xpos="far_left", ypos="head") - - menu: - "\"It absolutely is!\"": - $ cho_mood += 20 - $ cho_mad_about_stripping = True # Flag that enables different dialogue that is a bit more "lewd" in the next favour repeat. - cho "" ("angry", "wide", "base", "mid") # Shock - gen "Now take off that bra of yours and show me those titties!" ("grin", xpos="far_left", ypos="head") - cho "[cho_genie_name], how can you talk to me like that!" ("scream", "closed", "angry", "mid", trans=hpunch) - cho "I'm your student!" ("clench", "narrow", "angry", "mid") - gen "And a very pretty one at that!" ("grin", xpos="far_left", ypos="head") - cho "You disgust me, sir..." ("soft", "narrow", "angry", "mid") - - "\"Of course not...\"": - $ cho_mood += 6 - $ cho_mad_about_stripping = False - cho "Aye right..." ("soft", "narrow", "raised", "mid") # Expression of disbelieve... - cho "And I'm supposed to believe that." ("open", "narrow", "base", "R") - cho "You're practically foaming out of your mouth just looking at me, Sir..." ("soft", "narrow", "angry", "mid") - gen "I'm not...{w} that's just..." ("angry", xpos="far_left", ypos="head") - #if butterbeer_ITEM.owned > 0: - gen "Butterbeer..." ("angry", xpos="far_left", ypos="head") - cho "This is as far as I will go, Sir!" ("annoyed", "narrow", "angry", "mid") - - cho "If you want a bimbo to strip for you, I suggest you call Hermione instead..." ("annoyed", "narrow", "angry", "mid") - pause .5 - - call play_sound("equip") - hide cho_main - $ cho.wear("all") - hide screen cho_cloth_pile - cho "" ("angry", "narrow", "angry", "mid") - pause .8 - - cho "We are done here!" ("angry", "narrow", "angry", "mid") - - # Cho leaves. - call cho_walk(action="leave") - - call bld - gen "She'll do it next time, I'm sure..." ("base", xpos="far_left", ypos="head") - - jump end_cho_strip_event - - -label cc_pf_strip_T2_intro_E2: - cho "" ("upset", "base", "base", "R") - gen "[cho_name], to continue your training where we left off..." ("base", xpos="far_left", ypos="head") - gen "I'd like you to, once again, undress!" ("grin", xpos="far_left", ypos="head") - cho "Of course, Sir." ("annoyed", "base", "angry", "downR") - - call cho_walk("desk", "base") - - cho "Down to my undergarments, [cho_genie_name]?" ("soft", "closed", "base", "mid", xpos="mid", ypos="base", trans=fade) - cho "Or would you like me to take off all of it?" ("soft", "narrow", "base", "mid") - gen "*Ehm*... All of it?" ("base", xpos="far_left", ypos="head") - cho "Very well, Sir." ("soft", "closed", "base", "mid") - gen "(Please don't let this be a trick question.)" ("angry", xpos="far_left", ypos="head") - cho "" ("upset", "narrow", "base", "mid") - pause .4 - - if cho.is_worn("robe"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe") - # Remove top. - if cho.is_worn("top"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe", "top") - with d3 - pause .5 - - cho "" ("upset", "narrow", "angry", "mid") - call ctc - - cho "I'm a very good trainee, [cho_genie_name]!" ("soft", "narrow", "angry", "mid") - gen "Yes you are!" ("grin", xpos="far_left", ypos="head") - cho "If my trainer requires me to take off my clothing and strip for him..." ("soft", "closed", "base", "mid") - cho "Then I have no other choice but to indulge..." ("soft", "narrow", "base", "R") - cho "I see nothing wrong with that..." ("annoyed", "narrow", "angry", "mid") - pause .4 - - # Remove bottoms. - if cho.is_worn("bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bottom") - with d3 - pause .5 - - cho "" ("annoyed", "narrow", "base", "mid") - call ctc - - cho "Would you perhaps like me to climb on top of your desk?" ("soft", "narrow", "raised", "mid") - cho "And dance for you like some common harlot?" ("soft", "narrow", "base", "R") - - # You saw Hermione strip before. - if hg_strip.trigger: - gen "If it's not too much trouble..." ("base", xpos="far_left", ypos="head") - cho "Of course not, [cho_genie_name]." ("soft", "closed", "base", "mid") - gen "(I'm having a bit of a deja vu!)" ("angry", xpos="far_left", ypos="head") # In-game font doesn't support special characters. déjà vu! - else: - gen "Yes please!" ("grin", xpos="far_left", ypos="head") - cho "Whatever you say, Sir!" ("soft", "closed", "base", "mid") - cho "Like I said, I'd go to any lengths just to please my trainer..." ("soft", "narrow", "base", "mid") - - # Climbs desk. - call hide_characters - show screen blkfade - with d5 - call play_sound("climb_desk") - pause 1 - - "To your surprise, the athletic petite girl rather playfully climbs on top of your desk." - pause .5 - gen "Nice!" ("grin", xpos="far_left", ypos="head") - pause .2 - - call cho_chibi("stand", "on_desk", "on_desk", flip=False) - hide screen bld1 - hide screen blkfade - with d5 - call ctc - - cho "After all, I promised I'd do anything to win that Quidditch cup..." ("soft", "narrow", "angry", "mid") - cho "If stripping for you is what it takes, then..." ("soft", "base", "angry", "down") - call play_music("sad") - cho "Then..." ("angry", "base", "worried", "down") - cho "I-I'll do it..." ("soft", "narrow", "worried", "down", cheeks="blush") - gen "(Shit. Is she crying?)" ("base", xpos="far_left", ypos="head") - gen "(Can she even cry?)" ("base", xpos="far_left", ypos="head") - gen "Are you alright, girl?" ("base", xpos="far_left", ypos="head") - cho "No.{w} I'm already regretting climbing up here!!!" ("mad", "closed", "worried", "mid") - cho "(What were you thinking, Cho?!)" ("angry", "narrow", "worried", "down", cheeks="blush") - gen "You can come back down if it's too much for yo--" ("base", xpos="far_left", ypos="head") - cho "Shut up!" ("scream", "closed", "angry", "mid", trans=hpunch) # Scream - cho "Can't you see what I'm trying to do here?" ("angry", "narrow", "angry", "mid") - gen "Not really, no." ("base", xpos="far_left", ypos="head") - cho "I-I'm... testing my limits, Sir." ("angry", "narrow", "worried", "down", cheeks="blush") - cho "And I believe I've reached them!" ("mad", "happyCl", "worried", "mid", cheeks="blush") - gen "For real? You are still wearing clothes..." ("base", xpos="far_left", ypos="head") - cho "I thought{w=0.2}, if I could go as far as embarrassing myself in front of my headmaster..." ("soft", "narrow", "worried", "down", cheeks="blush") - cho "Doing the same in front of the school won't feel as bad in comparison." ("annoyed", "narrow", "worried", "down", cheeks="blush") - cho "Sir, I don't think I can do this after all." ("soft", "narrow", "worried", "mid") - cho "Could I get your permission to leave and never come back?" ("angry", "narrow", "worried", "mid") - - menu: - "\"Yes, but take off those clothes first...\"": - call play_music("stop") - cho "Yes! Thank you, Sir!" ("soft", "closed", "worried", "mid", cheeks="blush") - cho "Even after I've given up -- you're still believing in me!" ("soft", "narrow", "worried", "mid", cheeks="blush") - gen "What?{w=0.2} *Ahem* I mean..." ("base", xpos="far_left", ypos="head") - gen "Of course!{w=0.2} I always did!" ("grin", xpos="far_left", ypos="head") - cho "I may not like it. But this is all just part of my training..." ("soft", "base", "worried", "R", cheeks="blush") - gen "*Uhhhh*... Sure..." ("base", xpos="far_left", ypos="head") - call play_music("cho") - cho "It's one of many challenges I have to face before I can call myself a Quidditch champion!" ("soft", "closed", "angry", "mid") - cho "This is just about facing my inner demons, isn't it?" ("soft", "narrow", "angry", "mid") - cho "Overcoming my fears..." ("soft", "narrow", "angry", "R") - cho "Failure, and embarrassment..." ("soft", "closed", "base", "mid") - cho "(Come on Cho, you can do it!!!)" ("horny", "happyCl", "worried", "mid", cheeks="blush") - cho "*Ehm*..." ("horny", "narrow", "worried", "down", cheeks="blush") - cho "What would you like me to do first, [cho_genie_name]?" ("soft", "narrow", "worried", "mid", cheeks="blush") - cho "Remove my bra..." ("soft", "narrow", "base", "mid", cheeks="blush") - cho "Or take off my panties?" ("horny", "narrow", "worried", "down", cheeks="blush") - - "\"Yes, you are dismissed...\"": - $ cho_mood += 6 - call play_music("stop") - cho "What?!" ("soft", "wide", "base", "mid") - cho "But Sir!" ("soft", "base", "worried", "mid") - gen "You can go now..." ("base", xpos="far_left", ypos="head") - cho "You can't do that!" ("scream", "narrow", "angry", "mid", trans=hpunch) - cho "" ("angry", "narrow", "angry", "mid") - gen "Didn't you just beg me to do just that?" ("angry", xpos="far_left", ypos="head") - call play_music("sad") - cho "I begged you to help me win the Quidditch cup!" ("clench", "narrow", "angry", "mid") - cho "And to be my trainer!{w} To be a {b}good{/b} trainer!" ("soft", "narrow", "angry", "mid") - cho "How can I overcome my fear of losing if I can't even do... this!" ("annoyed", "base", "worried", "down", cheeks="blush") - cho "You're supposed to encourage me!{w=0.6} Get me through any challenges I'm confronted with." ("soft", "narrow", "angry", "mid") - gen "Including stripping?" ("base", xpos="far_left", ypos="head") - cho "Including bloody stripping!" ("scream", "closed", "angry", "mid", trans=hpunch) - cho "" ("annoyed", "narrow", "angry", "mid") - gen "To my defence. I got some mixed messages from you earlier..." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "R") # Annoyed - call play_music("stop") - gen "Very well then..." ("base", xpos="far_left", ypos="head") - gen "Take off your clothes, [cho_name]." ("base", xpos="far_left", ypos="head") - cho "Yes, Sir!" ("soft", "closed", "base", "mid") - cho "Would you like me to take off my bra first?" ("soft", "narrow", "angry", "mid") - cho "Or pull down my panties so you can get a nice look at my lower half?" ("soft", "narrow", "base", "mid") - - menu: - gen "First, I'd like you to..." ("base", xpos="far_left", ypos="head") - "\"Show me those big, juicy \"Quaffles\" of yours!\"": - call play_music("cho") - cho "*uhhh*..." ("upset", "wide", "base", "mid", cheeks="blush") - gen "Those two mean, hearty \"bludgers\"!" ("grin", xpos="far_left", ypos="head") - cho "Sir? Could it be that you are talking about my breasts?" ("soft", "narrow", "worried", "mid", cheeks="heavy_blush") - gen "Yes indeed! Very good." ("base", xpos="far_left", ypos="head") - gen "I was hoping you would eventually catch on." ("base", xpos="far_left", ypos="head") - gen "Also because I ran out of balls to compare them to..." ("base", xpos="far_left", ypos="head") - cho "Promise me that you won't laugh when I show you my..." ("soft", "narrow", "worried", "R", cheeks="blush") - cho "\"Bludgers\"!" ("mad", "happyCl", "worried", "mid", cheeks="heavy_blush") - gen "Why would I ever laugh at a pretty girl like you, Miss Chang?" ("base", xpos="far_left", ypos="head") - cho "Because they...{w} aren't as big as Hermione's..." ("soft", "narrow", "worried", "downR", cheeks="blush") - cho "Hers are more closer to {i}Quaffles{/i} than mine..." ("soft", "base", "worried", "mid", cheeks="blush") - gen "And there will always be a pair of \"Beaters\" that prefer to play with your...{w} balls." ("base", xpos="far_left", ypos="head") - cho "Only two?..." ("upset", "base", "worried", "downR", cheeks="blush") - gen "Don't forget to count those lucky enough to get hit by those \"bludgers\"!" ("grin", xpos="far_left", ypos="head") - cho "" ("upset", "base", "raised", "mid") - gen "Speaking of which..." ("base", xpos="far_left", ypos="head") - cho "Yes?" ("soft", "base", "worried", "mid", cheeks="blush") - gen "I'd like you to hit me with them!" ("angry", xpos="far_left", ypos="head") - cho "With my breasts?" ("open", "wide", "base", "mid", cheeks="blush") - gen "Yes! Hit me full force!{w} Take off that bra!" ("grin", xpos="far_left", ypos="head") - cho "*Ugh!*..." ("mad", "narrow", "base", "down", cheeks="blush") - cho "{size=-4}I can't believe I'm actually going to do this!{/size}" ("mad", "happyCl", "worried", "mid", cheeks="blush") - cho "" ("soft", "narrow", "worried", "mid", cheeks="blush") - pause .4 - - # Remove bra. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bra") - with d3 - pause .8 - - cho "" ("horny", "narrow", "worried", "mid", cheeks="heavy_blush") - call ctc - - gen "Simply wonderful, Miss Chang." ("angry", xpos="far_left", ypos="head") - gen "Those are some stellar breasts you got there." ("base", xpos="far_left", ypos="head") - cho "(...)" ("base", "narrow", "worried", "downR", cheeks="blush") - gen "Some \"outstanding\" boobies!" ("angry", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "base", "mid", cheeks="blush") - gen "Would you mind if I smack them?" ("base", xpos="far_left", ypos="head") - cho "What?! Of course I would mind!" ("soft", "wide", "base", "mid", cheeks="heavy_blush") - gen "I just want to beat them around a bit..." ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - gen "After all, they are two soft, meaty \"bludgers\"!" ("grin", xpos="far_left", ypos="head") - gen "And I'm a \"beater\"!" ("grin", xpos="far_left", ypos="head") - - $ genie_quid_position = "beater" - - cho "You are childish.{w} That's what you are..." ("soft", "narrow", "angry", "mid") - gen "You're the one playing games." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid") - cho "Fine...{w} But Only once!" ("soft", "narrow", "angry", "R") - cho "Twice...{w} maybe..." ("mad", "narrow", "worried", "downR", cheeks="blush") - gen "That's a hundred percent more than I had hoped for!" ("grin", xpos="far_left", ypos="head") - - call slap_her - cho "*Ouch!*" ("angry", "wide", "base", "mid", cheeks="blush") - call slap_her - call slap_her - call slap_her - cho "Stop it!" ("scream", "happyCl", "worried", "mid", cheeks="blush") - cho "That was more than twice!" ("soft", "narrow", "angry", "mid", cheeks="blush") - gen "I stopped counting halfway through..." ("base", xpos="far_left", ypos="head") - - "\"Let me catch sight of that 'Snitch!'\"": - call play_music("cho") - cho "Don't you mean \"Snatch,\" Sir?" ("annoyed", "narrow", "angry", "mid") - gen "Potato, Potato!" ("grin", xpos="far_left", ypos="head") - cho "Your motives were nothing but for your own perverted gains, weren't they? From the very start." ("soft", "narrow", "base", "mid") # Annoyed - gen "More or less..." ("base", xpos="far_left", ypos="head") - gen "However, I never lied about wanting to help you win the Quidditch cup!" ("base", xpos="far_left", ypos="head") - gen "(Since I've bet a fortune on it...)" ("angry", xpos="far_left", ypos="head") - gen "And I wouldn't be able to call myself a man if I was lying!" ("base", xpos="far_left", ypos="head") - cho "And you'd be called a dead man, if you try to trick me!" ("clench", "narrow", "angry", "mid") - gen "Well technically I'm a geni--" ("base", xpos="far_left", ypos="head") - call play_sound("kick") - cho "" ("annoyed", "narrow", "angry", "mid", trans=vpunch) - gen "*Aaaaah*!" ("angry", xpos="far_left", ypos="head") - call nar(">Cho does a daunting stomp on your desk...") - cho "Don't think for a second I wouldn't do it! After all of this!" ("scream", "narrow", "angry", "mid") - cho "" ("angry", "narrow", "angry", "mid") - call play_sound("gulp") - gen "*Gulp*" ("angry", xpos="far_left", ypos="head") - gen "Yes, Ma'am." ("base", xpos="far_left", ypos="head") - cho "(...)" ("upset", "closed", "base", "mid") - cho "" ("upset", "narrow", "worried", "down", cheeks="blush") - pause .4 - - # Remove panties. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("panties") - with d3 - pause .5 - - cho "" ("horny", "narrow", "worried", "mid", cheeks="heavy_blush") - call ctc - - cho "Happy, Sir?" ("soft", "narrow", "worried", "mid", cheeks="blush") - gen "Very." ("base", xpos="far_left", ypos="head") - gen "Finally I get the appeal of Quidditch." ("grin", xpos="far_left", ypos="head") - cho "Really?" ("soft", "base", "raised", "mid") - gen "Yes..." ("base", xpos="far_left", ypos="head") - gen "You see, I think I've become quite a bit of a seeker myself!" ("grin", xpos="far_left", ypos="head") - - $ genie_quid_position = "seeker" - - cho "(...)" ("annoyed", "base", "base", "mid") - gen "And I believe I've just found my very own golden snatch!" ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - gen "You should consider yourself lucky, Miss Chang." ("base", xpos="far_left", ypos="head") - cho "Why?..." ("soft", "narrow", "raised", "mid") - gen "It's very pretty." ("grin", xpos="far_left", ypos="head") - cho "*Ugh*..." ("mad", "narrow", "base", "down", cheeks="heavy_blush") - - - cho "Sir, will that be all then?" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - cho "May I go now?" ("soft", "narrow", "angry", "R") - gen "Haven't you forgotten something?" ("base", xpos="far_left", ypos="head") - cho "Didn't I do enough for you already?" ("angry", "narrow", "angry", "mid") - gen "For me, you did more than enough!{w=0.6} I'm more than pleased with what you've shown me..." ("grin", xpos="far_left", ypos="head") - cho "*Ugh*..." ("disgust", "narrow", "base", "down", cheeks="blush") # Disgusted - gen "But, wasn't your goal earlier to undress entirely?" ("base", xpos="far_left", ypos="head") - gen "To prove to yourself that you {b}could{/b} do it?" ("base", xpos="far_left", ypos="head") - cho "{size=-4}I hoped you'd just forget about that...{/size}" ("mad", "narrow", "worried", "down", cheeks="blush") # Small text. - gen "Well, I didn't!" ("grin", xpos="far_left", ypos="head") - gen "I'm here to help you mature -- and boost your confidence." ("base", xpos="far_left", ypos="head") - gen "A body like yours is nothing you need to hide away!" ("base", xpos="far_left", ypos="head") - cho "" ("base", "narrow", "worried", "mid", cheeks="blush") - gen "Don't you think so too?{w} After all the work you put into it?" ("base", xpos="far_left", ypos="head") - gen "It should be celebrated! And seen by everyone!" ("angry", xpos="far_left", ypos="head") - cho "You're making me blush, [cho_genie_name]..." ("horny", "narrow", "worried", "downR", cheeks="heavy_blush") - gen "You can do it, [cho_name]! Show me the goods!" ("grin", xpos="far_left", ypos="head") - cho "Yes, Sir!" ("angry", "closed", "worried", "mid", cheeks="blush") - cho "" ("base", "narrow", "worried", "mid", cheeks="blush") - pause .4 - - # Cho strips completely. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - hide cho_main - $ cho.strip("all") - pause 1.2 - call cho_chibi("stand", "on_desk", "on_desk", flip=True) - pause .4 - $ renpy.sound.play("sounds/cloth_sound4.ogg") - show screen cho_cloth_pile - pause .6 - call cho_chibi("stand", "on_desk", "on_desk", flip=False) - cho "" (trans=d3) - pause .5 - - cho "" ("horny", "narrow", "worried", "mid", cheeks="heavy_blush") - call ctc - - gen "See, that wasn't very hard was it?" ("base", xpos="far_left", ypos="head") - cho "No..." ("soft", "narrow", "base", "down", cheeks="blush") - cho "No! You're right!" ("smile", "base", "base", "mid") - gen "And you have a very beautiful body -- if I might add." ("base", xpos="far_left", ypos="head") - cho "Thank you, Sir." ("soft", "narrow", "worried", "mid") - gen "I can see why Hermione is so jealous." ("base", xpos="far_left", ypos="head") - cho "" ("upset", "base", "base", "mid", cheeks="blush") - pause .8 - cho "She is?" ("scream", "wide", "base", "mid", cheeks="blush", trans=vpunch) - cho "" ("horny", "base", "base", "down", cheeks="heavy_blush") - gen "Look who perked up all of a sudden." ("base", xpos="far_left", ypos="head") - cho "She should be jealous!{w=0.6} These thighs could snap a broom in half if I tried hard enough." ("smile", "narrow", "angry", "mid", cheeks="blush") - call ctc - - call play_sound("gulp") - gen "*Gulp!*" ("angry", xpos="far_left", ypos="head") - gen "I don't doubt it." ("base", xpos="far_left", ypos="head") - - cho "Thank you, [cho_genie_name]." ("base", "closed", "base", "mid") - gen "For what?" ("base", xpos="far_left", ypos="head") - cho "For teaching me." ("soft", "narrow", "worried", "downR") - cho "I couldn't have imagined showing myself off like this before... but." ("horny", "narrow", "worried", "downR", cheeks="blush") - gen "Yes?" ("base", xpos="far_left", ypos="head") - cho "Well, your methods have clearly worked so far..." ("soft", "narrow", "base", "R") - cho "And I feel more confident than ever!" ("soft", "wide", "base", "mid") - gen "That's great news, and hey..." ("base", xpos="far_left", ypos="head") - gen "If distracting doesn't work, you could just crush your opponents with those thighs of yours." ("base", xpos="far_left", ypos="head") - cho "That's true..." ("smile", "narrow", "base", "mid") - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - - call play_sound("climb_desk") - call cho_chibi("stand", "desk", "base", flip=False) - - pause 1 - - hide screen blkfade - with d5 - pause .2 - - cho "Will this be all then, Sir?" ("soft", "base", "base", "R") - gen "Yes Miss Chang, great work today..." ("base", xpos="far_left", ypos="head") - gen "I doubt you'll have any problems distracting anyone with a body like that." ("base", xpos="far_left", ypos="head") - gen "You're dismissed." ("base", xpos="far_left", ypos="head") - cho "Thank you, [cho_genie_name]." ("base", "happyCl", "base", "mid") - call hide_characters - hide screen bld1 - with d3 - pause .1 - - call cho_walk("door", "base") - - call bld - gen "Miss Chang." ("base", xpos="far_left", ypos="head") - hide screen bld1 - with d3 - pause .3 - - call cho_chibi("stand", "door", "base", flip=False) - with d3 - pause .2 - - cho "Yes?" ("soft", "base", "raised", "mid", ypos="head", flip=False) - gen "Aren't you forgetting about something?" ("base", xpos="far_left", ypos="head") - cho "Sir?" ("soft", "narrow", "base", "mid") - gen "You're still naked...{w} I wouldn't go out there if I were you..." ("base", xpos="far_left", ypos="head") - cho "Oh, yes of course!" ("soft", "wide", "base", "mid", cheeks="blush", trans=hpunch) - - call cho_walk("desk", "base") - pause .5 - call chibi_emote("thought", "cho") - pause .8 - - # Cho puts clothes back on. - call play_sound("equip") - hide cho_main - $ cho.wear("all") - hide screen cho_cloth_pile - pause .8 - - cho "(...)" ("disgust", "narrow", "worried", "down", cheeks="blush", xpos="right", ypos="base") - cho "*Uhm*..." ("soft", "narrow", "worried", "mid", cheeks="blush") - if game.daytime: - cho "Have a good day..." ("soft", "base", "base", "R", cheeks="blush") - else: - cho "Have a good night..." ("soft", "base", "base", "R", cheeks="blush") - - # Cho leaves. - call cho_walk(action="leave") - - call bld - gen "She's so cute..." ("base", xpos="far_left", ypos="head") - gen "And sexy!" ("grin", xpos="far_left", ypos="head") - gen "But also a bit intimidating..." ("base", xpos="far_left", ypos="head") - - jump end_cho_strip_event - - -label cc_pf_strip_T2_intro_E3: - gen "[cho_name], how would you like to do another striptease for me?" ("grin", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid") - gen "You did such a phenomenal job last time!" ("grin", xpos="far_left", ypos="head") - cho "Another strip show?" ("soft", "narrow", "angry", "R") - gen "Yes Indeed! Come a bit closer..." ("grin", xpos="far_left", ypos="head") - cho "(...)" ("angry", "narrow", "base", "down") - - call cho_walk("desk", "base") - - cho "Sir, Those favours were never about my training, were they?" ("soft", "narrow", "angry", "mid", xpos="mid", ypos="base", trans=fade) - gen "I never said they were!" ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid") - pause .8 - gen "You keep me happy by doing favours for me, and in return, I will train you..." ("base", xpos="far_left", ypos="head") - gen "That was the deal." ("base", xpos="far_left", ypos="head") - cho "I never expected that they would require me to do...{w} this!" ("annoyed", "base", "worried", "down") - gen "But you did it anyway! Commendable!" ("grin", xpos="far_left", ypos="head") - cho "Please stop it with your compliments, Sir!" ("open", "closed", "angry", "mid") - cho "And explain to me why those favours have to be so..." ("annoyed", "narrow", "worried", "downR") - cho "{size=-4}perverted?{/size}" ("soft", "narrow", "angry", "R", cheeks="blush") # Small text - gen "You see..." ("base", xpos="far_left", ypos="head") - gen "It can get pretty lonely in this room." ("base", xpos="far_left", ypos="head") - gen "There's not even a television set up here..." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "mid") - pause .8 - - # Remove top. - if cho.is_worn("top"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe", "top") - with d3 - pause .5 - - cho "" ("quiver", "narrow", "worried", "R", cheeks="blush") - call ctc - - cho "Does Granger do these sorts of things for you too?" ("soft", "base", "worried", "mid", cheeks="blush") - gen "She does a lot of things for me. You need to be more specific!" ("grin", xpos="far_left", ypos="head") - cho "I meant buying \"sexual favours.\"{w} Doing tasks that are, let's say, a little audacious..." ("soft", "narrow", "worried", "downR", cheeks="blush") - gen "Are you talking about stripping, girl?" ("base", xpos="far_left", ypos="head") - cho "Yes, Sir." ("quiver", "narrow", "worried", "downR", cheeks="blush") - pause .4 - - - # Check if Hermione has already stripped for you. - if not hg_strip.trigger: # Triggers in hg_pf_strip_T3_intro_E2. This check needs to always be no earlier here to make sure Luna is also unlocked. - - # Cho demands that you get Hermione to strip, so Cho has something to blackmail her should anything happen. - # Cho gets dressed again and storms off. - # Remove skirt. - - if cho.is_worn("bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - hide cho_main - $ cho.strip("bottom") - pause 1.2 - $ renpy.sound.play("sounds/cloth_sound4.ogg") - show screen cho_cloth_pile - pause .4 - cho "" (trans=d3) - pause .5 - - cho "" ("horny", "base", "worried", "mid", cheeks="heavy_blush") - call ctc - - gen "Actually, she doesn't..." ("base", xpos="far_left", ypos="head") - cho "What? But I thought she'd--" ("soft", "wide", "base", "mid") - cho "Why do you ask me to do these favours, and not Granger?" ("open", "narrow", "angry", "mid", trans=hpunch) - gen "Let's just say, she isn't as progressive as you...{w} yet." ("base", xpos="far_left", ypos="head") - cho "You haven't even seen her naked?" ("angry", "base", "base", "mid") - cho "What favours are you even buying from her?" ("open", "base", "angry", "mid") - gen "Just chit-chats, mostly..." ("base", xpos="far_left", ypos="head") - cho "Make her strip too!" ("clench", "narrow", "angry", "mid") - gen "It's not that easy, girl!" ("angry", xpos="far_left", ypos="head") - cho "Well then get on with it!" ("angry", "closed", "angry", "mid") - cho "What's the worst that could happen?" ("soft", "narrow", "angry", "R") - gen "She could report me, and I'd get kicked out of this school most likely." ("base", xpos="far_left", ypos="head") - gen "She's reported me to that ministry before..." ("base", xpos="far_left", ypos="head") - cho "The \"Ministry of Magic\"?" ("open", "base", "raised", "mid") - cho "If they were to regulate the school rules more strictly, my chance of winning the Quidditch cup would be back down to zero!" ("angry", "wide", "worried", "mid", cheeks="blush") - cho "And if Granger ever was to find out about me stripping for our headmaster, it would mean the end of my Quidditch career for sure!" ("mad", "base", "worried", "downR", cheeks="blush") - gen "So? What do you suggest we do?" ("base", xpos="far_left", ypos="head") - cho "Isn't it obvious?! Ask her to do more advanced favours!" ("soft", "narrow", "angry", "mid") - cho "If I could get a hold of something to blackmail her with, she'd never dare to report to the ministry!" ("clench", "narrow", "angry", "R") - gen "That doesn't sound too bad of an idea..." ("base", xpos="far_left", ypos="head") - cho "Until then, don't expect me to undress for you..." ("soft", "narrow", "angry", "mid") - gen "(Bollocks...)" ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "closed", "angry", "mid") - pause .5 - - # call play_sound("equip") #The player could technically have taken her top and bottoms off in wardrobe (Unless we change things) - $ cho.wear("all") - hide screen cho_cloth_pile - cho "" ("annoyed", "narrow", "angry", "mid") - pause .8 - - cho "Good day, Sir!" ("soft", "narrow", "angry", "mid") - - # Cho leaves. - call cho_walk(action="leave") - - # Event failed, no progress. - $ cc_pf_strip.fail() - jump end_cho_event - - - # After you got Hermione to strip. - - # Remove skirt. - if cho.is_worn("bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - hide cho_main - $ cho.strip("bottom") - cho "" (trans=d3) - pause .5 - - cho "" ("horny", "base", "worried", "mid", cheeks="heavy_blush") - call ctc - - gen "She does indeed." ("base", xpos="far_left", ypos="head") - cho "Really?!{w} You got that cow to take off her clothes?" ("soft", "wide", "base", "mid") - cho "Did you get any proof?" ("soft", "base", "worried", "mid") - gen "What?{w} Why would I--" ("base", xpos="far_left", ypos="head") - cho "To blackmail her!{w} To prove that she's in on this whole \"favour trading\" business too..." ("open", "narrow", "angry", "mid") - gen "We had an eye witness, for what it's worth..." ("base", xpos="far_left", ypos="head") - cho "Seriously?! Who was it?" ("smile", "base", "base", "mid") - gen "Snape..." ("base", xpos="far_left", ypos="head") - cho "What?! Professor Snape?" ("scream", "wide", "base", "mid", trans=hpunch) - cho "" ("smile", "wide", "base", "mid") - gen "He sort of just walked in on the action.{w} After all, the door wasn't locked..." ("base", xpos="far_left", ypos="head") - cho "That's too funny! I wish I could have been there!" ("smile", "base", "base", "R") - gen "She was dancing on my desk, right here, butt naked!" ("grin", xpos="far_left", ypos="head") - cho "That sounds sooo embarrassing!" ("soft", "narrow", "worried", "up", cheeks="blush") - gen "As far as I know, that door isn't locked right now either..." ("base", xpos="far_left", ypos="head") - gen "Aren't you scared that Snape might walk in on you too?" ("base", xpos="far_left", ypos="head") - cho "*Hmm*.." ("annoyed", "base", "base", "R") - - call hide_characters - show screen blkfade - with d3 - call play_sound("desk") - pause 3 - - ">You watch as Cho slowly climbs onto your desk..." - - call cho_chibi("stand", "on_desk", "on_desk") - hide screen bld1 - hide screen blkfade - with d3 - pause .8 - - cho "I'm not scared at all, Sir!" ("smile", "narrow", "angry", "mid") - cho "" ("horny", "narrow", "angry", "mid") - pause .4 - - # Remove bra. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bra") - with d3 - pause .5 - - cho "" ("horny", "narrow", "angry", "mid") - call ctc - - cho "It's just Professor Snape, after all..." ("soft", "narrow", "base", "R") - cho "Everybody knows that he's a creep! Nobody would believe a word he says." ("open", "base", "angry", "down") - gen "So...{w} what if it's not Snape, but some other teacher that makes their way in here?" ("base", xpos="far_left", ypos="head") - cho "*Huh*?{w=0.5} Oh no!" ("soft", "wide", "base", "mid") - cho "For a second I forgot we even had other teachers at this school!" ("open", "wide", "worried", "L", cheeks="blush") - cho "What if Professor McGonagall stumbles in here while...{w} while I--" ("angry", "happyCl", "worried", "mid", cheeks="heavy_blush") - - - call hide_characters - show screen blkfade - with d3 - pause 1.0 - - $ renpy.sound.play("sounds/jump_shoes.ogg") - call cho_chibi("stand", "desk", "base", flip=True) - hide screen bld1 - hide screen blkfade - with d3 - call teleport(position="cho", effect=False) - pause .5 - - call bld - gen "Don't worry. That won't happen." ("base", xpos="far_left", ypos="head") - call cho_chibi("stand", "desk", "base") - with d3 - pause .5 - - cho "Are you sure, Sir?" ("soft", "narrow", "worried", "mid", cheeks="blush") - gen "You have my word..." ("base", xpos="far_left", ypos="head") - cho "O-{w=0.2}okay..." ("soft", "narrow", "worried", "R", cheeks="blush") - gen "Now then, Miss Chang!{w} It's time for the grand finale..." ("base", xpos="far_left", ypos="head") - gen "Take it all off!" ("grin", xpos="far_left", ypos="head") - gen "I want to see you naked..." ("grin", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "base", "worried", "down", cheeks="blush") - cho "Very well, Sir." ("base", "base", "base", "mid") - pause .4 - - # Remove panties + everything else. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - hide cho_main - $ cho.strip("all") - pause 1.2 - $ renpy.sound.play("sounds/cloth_sound4.ogg") - show screen cho_cloth_pile - pause .6 - - cho "" ("horny", "narrow", "base", "down", cheeks="blush") - call ctc - - gen "I've got to say, once again I'm very impressed by you!" ("angry", xpos="far_left", ypos="head") - cho "Glad to hear it, [cho_genie_name]." ("smile", "narrow", "base", "mid") - cho "Catch!" ("base", "base", "base", "L") - call nar(">Cho throws her panties onto your desk.") - cho "You can keep them, for now..." ("soft", "narrow", "base", "R") - gen "I appreciate the notion!" ("grin", xpos="far_left", ypos="head") - cho "" ("base", "narrow", "base", "mid") - pause .8 - - # Panties acquired message! - call give_reward(_(">You have acquired Cho's panties!"), "interface/icons/panties.webp") - $ has_cho_panties = True - - gen "Well then, Miss Chang..." ("base", xpos="far_left", ypos="head") - gen "You may leave now.{w} Dismissed." ("base", xpos="far_left", ypos="head") - cho "Wait Sir!{w} I can't leave just yet!" ("open", "wide", "base", "mid") - gen "Why not? Don't tell me you want points now after all..." ("base", xpos="far_left", ypos="head") - cho "No Sir, but...{w} I don't believe we are done here..." ("mad", "base", "worried", "downR", cheeks="blush") - gen "We aren't?" ("grin", xpos="far_left", ypos="head") - cho "May I request something of you, Sir?" ("soft", "narrow", "worried", "mid", cheeks="blush") - gen "Yes?{w} What is it?" ("base", xpos="far_left", ypos="head") - - # Cho asks you to summon Hermione. - cho "Could you please..." ("soft", "base", "worried", "downR", cheeks="blush") - cho "*Ehm*..." ("quiver", "narrow", "worried", "downR", cheeks="heavy_blush") - cho "Could you please summon Hermione?" ("soft", "narrow", "worried", "mid", cheeks="heavy_blush") - - with hpunch - gen "What?" ("angry", xpos="far_left", ypos="head") - cho "It's time someone throws \"high and mighty\" Granger off her high horse!" ("open", "narrow", "angry", "mid") - cho "She's been a pain in my butt for years now..." ("angry", "narrow", "angry", "downR") - cho "This is going to be my revenge!" ("soft", "narrow", "angry", "mid") - gen "Are you sure that this is such a good idea? Aren't you scared she'll tattle about it?" ("base", xpos="far_left", ypos="head") - cho "No.{w} Granger is clever..." ("soft", "closed", "base", "mid") - cho "She could destroy my reputation, sure..." ("soft", "base", "base", "R") - cho "But, should that happen, I now have the means to take her down with me!" ("base", "narrow", "angry", "mid") - cho "I'm not the only one stripping for you, after all." ("soft", "narrow", "base", "mid") - gen "I suppose you're right..." ("base", xpos="far_left", ypos="head") - cho "I can't believe how depraved Granger actually is..." ("horny", "narrow", "angry", "down", cheeks="blush") - cho "Stripping for her headmaster.{w=0.6} What a slut..." ("soft", "narrow", "angry", "mid", cheeks="blush") - gen "Aren't you doing exactly the same?" ("base", xpos="far_left", ypos="head") - cho "Yes, but I'm not a whore stripping for points, unlike her!" ("open", "closed", "base", "mid") - gen "Still makes you a slut..." ("base", xpos="far_left", ypos="head") - cho "I'm untouchable! I'll show that {b}bitch{/b} she can't mess with me!" ("angry", "narrow", "angry", "R") - cho "This is gonna be so much fun!" ("smile", "narrow", "angry", "mid") - - stop music fadeout 3.0 - call cho_walk(570, "base") - pause 2.0 - - cho "Call her already!" ("annoyed", "narrow", "angry", "R", flip=True, trans=d5) - gen "I'm on it..." ("base", xpos="far_left", ypos="head") - - hide screen bld1 - show screen blkfade - with d3 - hide cho_main - pause 1.0 - hide screen blkfade - with d3 - - # Equip Hermione default clothing. - $ her_outfit_last.save() # Store current outfit. - $ hermione.equip(her_outfit_default) #Equip Hermione default clothing. - - # Summon Hermione. - call play_sound("door") - call her_chibi("stand", "door", "base") - with d3 - pause .5 - - her "You wanted to see me, Sir?" ("soft", "closed", "base", "mid", xpos="base", ypos="base", flip=False, trans=d3) - - her "...{w=0.4}{nw}" ("soft", "base", "worried", "L") - her "...{fast}Cho?!" ("clench", "wide", "worried", "shocked") - - play music "music/deadly-roulette-by-kevin-macleod.ogg" fadein 1 fadeout 1 - - cho "Hey there, Granger!" ("horny", "narrow", "angry", "mid") # Grinning - her "What? Why are you--" ("disgust", "wide", "worried", "shocked") - - call her_walk(660, "base") - - cho "" ("smile", "narrow", "angry", "L", xpos="mid", ypos="base", flip=True) - her "What the bloody hell is going on here?!" ("scream", "closed", "base", "mid", xpos="right", ypos="base", trans=hpunch) # Scream - her "" ("angry", "base", "angry", "mid") - - cho "You know, just the usual..." ("soft", "base", "base", "L") - cho "Like stripping for our dear headmaster!" ("smile", "narrow", "angry", "L") - cho "I trust that you're more than familiar with it..." ("soft", "closed", "base", "L") - her "You've told her?" ("clench", "base", "angry", "mid") - cho "So you really {b}did{/b} do it!" ("open", "wide", "base", "L") - her "It's none of your business what I do at this school! You slut!" ("angry", "narrow", "angry", "R") - cho "Are you sure about that?{w=0.6} I believe there are some people that would think otherwise..." ("grin", "narrow", "base", "mid") - cho "Your friends...{w} the other students...{w} our teachers..." ("soft", "narrow", "angry", "L") - cho "Maybe even the ministry?" ("smile", "narrow", "angry", "L") - her "You wouldn't dare!!!" ("upset", "happy", "base", "mid") - cho "Indeed, I wouldn't." ("soft", "closed", "base", "mid") - cho "And neither would you!" ("smile", "narrow", "angry", "L") - cho "Which is why we brought you here..." ("open", "base", "base", "mid") - cho "To have some fun!" ("base", "narrow", "angry", "mid") - - her "Sir, I demand that you stop this nonsense!" ("open", "base", "angry", "mid") - cho "I don't think that's very likely to happen, Granger..." ("soft", "narrow", "angry", "mid") - cho "We both know what he would prefer..." ("soft", "closed", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - cho "And who he prefers..." ("smile", "narrow", "angry", "mid") - her "You think that he prefers you over me?{w} Please..." ("soft", "narrow", "angry", "R") - cho "Why don't we just ask him?" ("base", "narrow", "base", "mid") - cho "Tell us, sir..." ("soft", "narrow", "base", "R") - cho "How do you like the athletic, immaculate, nude body of your favourite student?" ("smile", "narrow", "angry", "mid") - cho "It's so much better than Miss Granger's, isn't it?" ("base", "narrow", "angry", "mid") - call ctc - - $ cho_strip_complete = True # Enables wardrobe strip functions. - $ d_flag_01 = False # Cho not on desk - call cc_pf_strip_T2_hermione - - jump end_cho_strip_event - - -label cc_pf_strip_T2_E3: # Repeats - gen "[cho_name], why don't you come a bit closer?" ("base", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]..." ("base", "narrow", "base", "mid") - - call cho_walk("desk", "base") - - cho "" ("base", "base", "base", "R", xpos="mid", ypos="base", trans=fade) - call ctc - - gen "I'm in the mood for another striptease!" ("grin", xpos="far_left", ypos="head") - cho "You are, are you?" ("soft", "base", "raised", "downR") - - # Remove robe. - if cho.is_worn("robe"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe") - with d3 - pause .5 - - cho "Good, because so am I!" ("base", "narrow", "angry", "mid") - cho "" ("base", "narrow", "angry", "mid") - - #Remove top. - if cho.is_worn("top"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("top") - cho "*Hmm*... You better be enjoying this, Sir." ("soft", "closed", "base", "mid") - with d3 - pause .5 - - #Remove bottoms. - if cho.is_worn("bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bottom") - with d3 - pause .5 - gen "*Argh!* You little minx!" ("angry", xpos="far_left", ypos="head") - - cho "Are we going to invite Granger again?" ("soft", "narrow", "raised", "down") - cho "I would like to have some fun with her..." ("smile", "narrow", "angry", "mid") - pause .4 - - # Remove bra. (she is wearing underwear at this level in any case) - if cho.is_worn("bra"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bra") - with d3 - pause .5 - - gen "The more, the merrier!" ("grin", xpos="far_left", ypos="head") - cho "" ("base", "narrow", "angry", "mid") - pause .4 - - # Remove panties + all else. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("all") - hide cho_main - $ cho.strip("all") - pause 1.2 - $ renpy.sound.play("sounds/cloth_sound4.ogg") - show screen cho_cloth_pile - pause .6 - cho "" (trans=d3) - call ctc - - cho "Catch, [cho_genie_name]!" ("soft", "base", "base", "mid") - call nar(">Cho throws her panties at you.") - - # Panties acquired message! - call give_reward(_(">You have acquired Cho's panties!"), "interface/icons/panties.webp") - $ has_cho_panties = True - - gen "Nice!" ("grin", xpos="far_left", ypos="head") - cho "I'd like to have them back after this, mind you." ("soft", "base", "raised", "R") - gen "Of course..." ("base", xpos="far_left", ypos="head") - cho "Anything else you'd like, Sir?" ("base", "base", "base", "mid") - - $ d_flag_01 = False # Cho on desk flag for this event - menu: - "\"Hop on my desk!\"": - $ d_flag_01 = True - cho "Good idea, [cho_genie_name]!" ("base", "happyCl", "base", "mid") - call hide_characters - show screen blkfade - with d3 - call play_sound("desk") - pause 2 - - call cho_chibi("stand", "on_desk", "on_desk", flip=False) - hide screen bld1 - hide screen blkfade - with d3 - pause 1 - - cho "How is the view down there, Sir?" ("base", "narrow", "base", "down") - gen "Couldn't be any better!" ("grin", xpos="far_left", ypos="head") - - call hide_characters - hide screen bld1 - with d3 - pause .2 - - call cho_chibi("stand", "on_desk", "on_desk", flip=True) # Facing the door. - with d3 - pause .8 - cho "Now, if you don't mind, Sir..." ("soft", "base", "base", "R", xpos="mid", ypos="base", flip=True) - cho "I'd like you to call that Gryffindor slut to your office!" ("soft", "base", "base", "L") - - "\"Let Granger have a good look at you!\"": - cho "I'll make sure of it, Sir!" ("soft", "narrow", "angry", "mid") - - call cho_walk(570, "base") - cho "Alright, you can call her now." ("soft", "base", "base", "R", xpos="mid", ypos="base", flip=True) - - - gen "On it!" ("grin", xpos="far_left", ypos="head") - pause .8 - cho "(...)" ("annoyed", "narrow", "angry", "L") - gen "(...)" ("base", xpos="far_left", ypos="head") - - call hide_characters - hide screen bld1 - with d3 - pause .5 - - # Equip Hermione default clothing. - $ her_outfit_last.save() # Store current outfit. - $ hermione.equip(her_outfit_default) #Equip Hermione default clothing. - - # Hermione enters. - call play_sound("door") - call her_chibi("stand", "door", "base") - with d3 - pause .5 - - call chibi_emote("thought", "hermione") - pause .8 - - call her_walk(660, "base") - - cho "" ("horny", "narrow", "angry", "L", xpos="mid", ypos="base", flip=True) - her "You wanted to see me, Professor?" ("soft", "closed", "base", "mid", xpos="base", ypos="base") - gen "Yes, but I wasn't the only one." ("grin", xpos="far_left", ypos="head") - her "(...)" ("annoyed", "narrow", "angry", "R") - cho "Hi, Granger!" ("smile", "narrow", "angry", "L") - her "Let me guess, we are here to marvel at your insecurity again?" ("soft", "closed", "base", "mid") - cho "Granger, instead of spitting out insults, why don't you join me and have some fun for once?" ("soft", "base", "raised", "L") - cho "Strip down for your headmaster as well, like you usually do..." ("smile", "narrow", "angry", "L") - cho "Or would it bother you too much, now that I'm here?" ("horny", "narrow", "base", "L") - her "*glare*" ("angry", "base", "angry", "mid") - cho "Maybe then you'd have a chance to win against me!{w} And earn some useless Gryffindor points while you're at it." ("soft", "base", "base", "L") - her "I don't think that will be necessary..." ("soft", "closed", "base", "mid") - cho "Well, we all already know how this is going to turn out don't we, [cho_genie_name]?" ("soft", "base", "base", "mid") - cho "My body is still better than Miss Granger's, isn't it?" ("smile", "narrow", "angry", "L") - her "" ("annoyed", "base", "angry", "mid") - call ctc - - call cc_pf_strip_T2_hermione - - jump end_cho_strip_event - - -label cc_pf_strip_T2_hermione: - - menu: - "\"Definitely!\"": - $ her_mood += 10 - her "What?!" ("open", "wide", "base", "stare") - cho "See, I told you!{w=0.6} How could he pick a walking bush on legs over this!" ("smile", "narrow", "angry", "L") - her "" ("angry", "base", "angry", "mid") - cho "Now tell her. Tell her why my body is superior compared to hers." ("soft", "closed", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - gen "Well, you're more flexible for one..." ("base", xpos="far_left", ypos="head") - cho "That's right, I am!" ("soft", "wide", "base", "mid") - her "*Humph*..." ("annoyed", "narrow", "angry", "R") - cho "And? What else?" ("smile", "narrow", "base", "L") - gen "And Cho's thighs are probably the most impressive ones I've seen in the last hund-- decade or more!" ("angry", xpos="far_left", ypos="head") - her "Well in that case..." ("soft", "closed", "base", "mid") - her "In that case I'll give you a great opportunity to stare at them indefinitely." ("angry", "base", "angry", "mid") - cho "What are you talking about, Granger?" ("soft", "narrow", "raised", "L") - - # Hermione walks towards the desk to pick up Cho's clothing. - call her_walk("desk", "base", speed=1.5) - pause .2 - if not d_flag_01: # Cho not on desk - call cho_chibi("stand",570,"base", flip=False) # Facing the desk. - with d3 - pause .6 - - cho "What are you doing?" ("soft", "narrow", "base", "L", ypos="head", flip=False) - - # Hermione picks them up and runs off. - call bld("hide") - pause .2 - call play_sound("equip") - hide screen cho_cloth_pile - pause .5 - - cho "My clothes!" ("open", "wide", "base", "L") - - call play_sound("running") - call her_walk("door", "base", speed=2) - call her_chibi(flip=False) - with d3 - pause .1 - call cho_chibi(flip=True) - with d3 - - her "Hey seeker, looks like someone will have to seek their way to their dorm without any clothes tonight." ("open", "base", "angry", "mid", ypos="head", flip=False) - cho "Hey!" ("clench", "narrow", "angry", "L", ypos="head", flip=True) - - # Hermione leaves out of the door. - hide screen bld1 - call her_chibi("stand", "door", "base", flip=True) - with d3 - pause .2 - - call her_chibi("leave") - - # Cho runs out the door. - if d_flag_01: # On desk - call play_sound("climb_desk") - show screen blkfade - with d3 - pause 1 - - hide screen bld1 - hide screen blkfade - call cho_chibi("stand", "desk", "base", flip=True) - with d3 - - else: - hide screen bld1 - call cho_chibi("stand",570,"base", flip=True) # Facing the door. - with d3 - - pause .2 - - cho "{size=+4}Give them back, you bitch!{/size}" ("scream", "narrow", "angry", "L", ypos="head", flip=True, trans=hpunch) - - call play_sound("running") - call cho_walk(action="leave", speed=2) - - call bld - gen "Did she just?" ("base", xpos="far_left", ypos="head") - gen "(...)" ("base", xpos="far_left", ypos="head") - gen "I don't think she's coming back..." ("base", xpos="far_left", ypos="head") - - "\"Not even close.\"": - $ cho_mood += 15 - cho "Not even clo--" ("soft", "wide", "base", "mid") - her "" ("smile", "base", "base", "R") - cho "Sir, could you please repeat that for me?" ("clench", "closed", "angry", "mid") - gen "Hermione's body is superior." ("base", xpos="far_left", ypos="head") - her "No surprise there..." ("base", "base", "base", "R") - cho "No!{w} It clearly isn't!" ("scream", "narrow", "angry", "mid", trans=hpunch) - cho "Are you mad, old man?" ("angry", "narrow", "angry", "mid") - her "Don't use that tone with the headmaster..." ("soft", "closed", "base", "mid") - cho "Nobody asked you!" ("mad", "narrow", "angry", "L") - her "He's the wisest wizard at our school...{w} Surely his word should be final..." ("smile", "narrow", "base", "mid_soft") - gen "I'd use the word astute but I'll take wise..." ("base", xpos="far_left", ypos="head") - cho "Why are you siding with her all of a sudden?" ("annoyed", "narrow", "angry", "mid") - gen "Good question." ("base", xpos="far_left", ypos="head") - gen "Miss Granger, why don't you show Miss Chang why your body is superior to hers..." ("base", xpos="far_left", ypos="head") - gen "Share with us your two most compelling arguments..." ("grin", xpos="far_left", ypos="head") - her "Sir?" ("soft", "wink", "base", "mid") - cho "He's talking about your {b}tits,{/b} you dimwit!" ("angry", "closed", "angry", "mid", cheeks="blush") - her "(...)" ("clench", "narrow", "base", "down", cheeks="blush") # Embarrassed - cho "" ("annoyed", "narrow", "angry", "mid") - gen "Yes Miss Granger!{w=0.5} Your very round{w=0.5}, handsomely spheroid{w=0.5}, perfectly sized{w=0.5}, very voluptuous and--" ("grin", xpos="far_left", ypos="head") - her "I got it, Professor!" ("clench", "happyCl", "worried", "mid", cheeks="blush") - cho "(Cow tits...)" ("annoyed", "narrow", "angry", "R", cheeks="blush") - $ hermione.strip("robe", "accessory") - her "Here..." ("base", "narrow", "base", "mid_soft") - - # Hermione shows her breasts. - # $ renpy.sound.play("sounds/boing02.ogg") - $ hermione.strip("top", "bra") - with d3 - pause .5 - - her "" ("base", "narrow", "base", "mid_soft", cheeks="blush") - call ctc - - her "Have a good look." ("soft", "narrow", "base", "mid_soft") - cho "(...)" ("annoyed", "narrow", "angry", "downR", cheeks="blush") # Tries to look away. - her "And you'd better take in what a {b}real pair{/b} looks like, slut." ("smile", "narrow", "angry", "R") - cho "I'd rather not, or I might barf..." ("soft", "narrow", "angry", "R") # - gen "Very nice, Miss Granger!" ("grin", xpos="far_left", ypos="head") - - menu: - "\"Ten points to Gryffindor!\"": - $ gryffindor += 10 - cho "(...)" ("annoyed", "narrow", "angry", "mid") - her "Thank you." ("soft", "narrow", "base", "mid_soft") - - "\"Fifty points to Gryffindor!\"": - $ cho_mood += 10 - $ gryffindor += 50 - cho "(Fifty?!)" ("soft", "wide", "base", "mid") # Shocked - her "Thank you." ("soft", "narrow", "base", "mid_soft") - cho "" ("clench", "closed", "angry", "mid", cheeks="heavy_blush") - - gen "For exposing those magnificent breasts." ("grin", xpos="far_left", ypos="head") - - # $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.wear("all") - with d3 - pause .5 - - her "Any time, Professor." ("soft", "narrow", "base", "mid_soft") - cho "(I bloody hate her!)" ("angry", "narrow", "angry", "L", cheeks="heavy_blush") - - her "If you don't mind, Sir." ("open", "base", "base", "R") - her "I'd like to leave now." ("soft", "base", "base", "mid") - cho "By all means, just go already." ("soft", "narrow", "angry", "R") - her "Did something not go as you expected?" ("smile", "base", "base", "R") - her "Did you think having me here when you exposed yourself would make me jealous..." ("soft", "closed", "base", "mid") - cho "(...)" ("annoyed", "narrow", "angry", "L", cheeks="blush") - her "Thank you for inviting me, Professor." ("soft", "narrow", "base", "mid_soft") - her "I {b}did{/b} enjoy this little obscene \"freak-show\" you arranged for me..." ("grin", "narrow", "base", "mid_soft") - cho "You'll regret this, Granger!" ("clench", "narrow", "angry", "L", cheeks="heavy_blush") - - if game.daytime: - her "Have a nice day, Professor." ("soft", "closed", "base", "mid") - else: - her "Have a good night, Professor." ("soft", "closed", "base", "mid") - - gen "(...)" ("base", xpos="far_left", ypos="head") - her "See you in class Chang!" ("grin", "narrow", "base", "R_soft") - cho "*Tzzzz*!" ("angry", "closed", "angry", "mid", cheeks="blush") - cho "Cow..." ("annoyed", "narrow", "angry", "R", cheeks="heavy_blush") - - # Hermione leaves. - call her_walk(action="leave") - - # Cho stands close to your desk. - call hide_characters - show screen blkfade - call cho_chibi("stand", "desk", "base", flip=True) - with d3 - - pause .5 - hide screen blkfade - with d3 - - pause .8 - call cho_chibi("stand", "desk", "base", flip=False) - - cho "I thought you were on my side, Sir!" ("soft", "narrow", "angry", "mid", xpos="mid", ypos="base", flip=False) - gen "I'm on nobody's side, because nobody is on my side..." ("base", xpos="far_left", ypos="head") - cho "You were supposed to have my back! Not Granger's!" ("angry", "closed", "angry", "mid") - cho "That {b}whore{/b} doesn't deserve your praise!" ("soft", "narrow", "angry", "mid") - gen "She made some good arguments..." ("base", xpos="far_left", ypos="head") - gen "\"A couple\" of good arguments, to be precise!" ("grin", xpos="far_left", ypos="head") - cho "They're barely larger than mine..." ("annoyed", "narrow", "base", "downR", cheeks="blush") - cho "You'll see, Sir.{w} I'm better than her.{w} And I'll prove it to you..." ("soft", "narrow", "angry", "mid") - gen "Well, that is yet to be seen." ("grin", xpos="far_left", ypos="head") - - # Cho gets dressed. - call play_sound("equip") - show screen blkfade - with d5 - $ cho.wear("all") - hide screen cho_cloth_pile - hide screen blkfade - - cho "Sir, my *Ehm*...{w} my panties..." ("open", "narrow", "angry", "R", cheeks="blush", xpos="mid", ypos="base", trans=fade) - gen "Oh, of course..." ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - pause .5 - gen "Give me just a moment..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/sniff.ogg") - call nar(">You give Cho's panties one last sniff before handing them back to the girl.") - gen "There." ("angry", xpos="far_left", ypos="head") - cho "(Pervert...)" ("annoyed", "narrow", "angry", "R", cheeks="blush") - cho "I think it's time for me to go now." ("soft", "closed", "angry", "mid") - cho "Until next time, [cho_genie_name]." ("soft", "narrow", "angry", "mid") - - # Cho leaves. - call cho_walk(action="leave") - - call bld - gen "Damn!" ("angry", xpos="far_left", ypos="head") - gen "For somebody that does a lot of exercising, she smells really nice!" ("grin", xpos="far_left", ypos="head") - gen "Maybe I should be a bit nicer to her next time..." ("base", xpos="far_left", ypos="head") - - $ has_cho_panties = False - - - "\"Let Hermione assess you, Cho.\"": - $ her_mood += 6 - cho "Her?" ("soft", "wide", "base", "mid") - her "I couldn't care less about the way she looks!" ("soft", "base", "angry", "mid") - cho "(...)" ("annoyed", "narrow", "angry", "L") - gen "Are you sure about that? I've seen you staring..." ("base", xpos="far_left", ypos="head") - cho "" ("base", "narrow", "angry", "L") - her "Because she just so happens to be standing there, butt naked!{w} In your office!" ("angry", "closed", "angry", "mid") - gen "I'd like you to rate Miss Chang's figure, truthfully, and to the best of your ability." ("base", xpos="far_left", ypos="head") - her "Really? Do I have to?" ("annoyed", "base", "base", "mid") - gen "You do! I'd really like to hear your opinion on Miss Chang's shamelessly exposed body!" ("grin", xpos="far_left", ypos="head") - cho "*Mhmm*" ("base", "closed", "base", "mid") # Self assured. - her "Fine..." ("soft", "narrow", "angry", "R") - her "\"Poor,\" I'd say..." ("soft", "closed", "base", "mid") - cho "How dare you!{w=0.6} You snobby skunk!" ("scream", "narrow", "angry", "L", trans=hpunch) - her "" ("base", "base", "base", "R") - gen "(Is that better or worse than \"troll?\")" ("base", xpos="far_left", ypos="head") # Snape explained school ratings during the match. - cho "Our Professor asked you to rate my body truthfully!" ("mad", "narrow", "angry", "L") - her "Which I did!{w} And it's at \"dreadful\" now!" ("soft", "closed", "base", "mid") - cho "\"Dreadful\"?!" ("soft", "wide", "base", "mid") - cho "You're a {b}lying bitch,{/b} Granger!" ("angry", "closed", "angry", "mid", cheeks="blush") - her "Sir, you can't let her talk to me like that!" ("angry", "base", "angry", "mid") - gen "Bitch isn't even a proper curse word." ("base", xpos="far_left", ypos="head") - gen "You can say that on TV..." ("base", xpos="far_left", ypos="head") - cho "Granger, why don't you tell us which part of my immaculate body deserves such a poor rating?" ("soft", "narrow", "angry", "L") - her "Very well..." ("soft", "closed", "base", "mid") - her "For one, you are a {b}narcissistic bitch!{/b}{w} That makes the presumption her body is superior to all others..." ("open", "base", "angry", "L") - cho "Because it is." ("smile", "narrow", "angry", "mid") - her "Not to mention that you have even fewer curves than some of the boys I know..." ("grin", "base", "angry", "mid") - cho "" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - her "Maybe once your Quidditch endeavours all fail, you can apply for a profession to model male underwear..." ("soft", "closed", "base", "mid") - cho "I wonder where you're getting {b}your{/b} undergarments from..." ("soft", "closed", "base", "mid") - cho "Stealing them from Madam Pomfrey, are you?" ("smile", "narrow", "angry", "mid") - her "I do not!!!" ("open", "wide", "base", "stare") - gen "Girls, we all know what really counts is how we appear on the inside." ("base", xpos="far_left", ypos="head") - her "" ("angry", "closed", "angry", "mid") - cho "Oh shut up!" ("angry", "narrow", "angry", "mid") - her "Professor, you're the one who continuously asks us to expose ourselves!" ("soft", "base", "angry", "mid") - gen "Well yes. I also never claimed that {b}I{/b} was pretty on the inside." ("base", xpos="far_left", ypos="head") - gen "You of all people should know better by now..." ("base", xpos="far_left", ypos="head") - her "Despicable..." ("angry", "narrow", "angry", "R") - cho "Don't worry, Granger!" ("soft", "narrow", "angry", "L") - cho "If you were to start doing hourly exercises, our Professor might even be attracted to you by the end of the year..." ("soft", "closed", "raised", "mid") - her "Hourly exercises?" ("soft", "wide", "base", "stare") # Shocked - cho "But I wouldn't say all hope is lost!" ("smile", "narrow", "angry", "L") - cho "While your figure might be a bit repulsive to the eyes..." ("soft", "closed", "base", "mid") - cho "I don't mind looking at those {b}huge melons{/b} of yours." ("soft", "narrow", "base", "L", cheeks="blush") - her "How dare you talk of them like that!" ("angry", "narrow", "angry", "R") - gen "*Heh*... melons..." ("grin", xpos="far_left", ypos="head") - her "Sir, I'd like to leave now." ("open", "base", "angry", "mid") - - cho "Already missing your books, are you?" ("annoyed", "narrow", "base", "L") - her "I am not.{w} And I don't appreciate being made fun of!" ("angry", "closed", "angry", "mid") - - if game.daytime: - her "Good day, Sir." ("soft", "base", "angry", "mid") - cho "See ya around, Granger..." ("smile", "narrow", "angry", "L") - her "*Hmpf*" ("annoyed", "narrow", "angry", "R") - - else: - her "Good night, Sir." ("soft", "base", "angry", "mid") - cho "Nighty-night, Granger..." ("soft", "narrow", "angry", "L") - her "*Tzzzzzh*!" ("annoyed", "narrow", "angry", "R") - - # Hermione leaves. - call her_walk(action="leave") - - show screen blkfade - call cho_chibi("stand", "desk", "base", flip=False) - with d3 - - hide screen blkfade - cho "I have to say, [cho_genie_name], doing these favours is fun!" ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", flip=False, trans=fade) - gen "I'm glad you're enjoying yourself." ("base", xpos="far_left", ypos="head") - cho "Believe me, Sir. I am." ("smile", "narrow", "angry", "mid") - cho "" ("horny", "narrow", "angry", "mid") - pause .4 - - # Cho gets dressed. - call play_sound("equip") - $ cho.wear("all") - hide screen cho_cloth_pile - with d3 - pause .5 - - cho "Now, if you excuse me..." ("soft", "base", "base", "mid") - - if game.daytime: - cho "I have to head back to classes." ("soft", "base", "base", "R") - gen "I still got your--" ("base", xpos="far_left", ypos="head") - cho "See ya next time, [cho_genie_name]!" ("smile", "narrow", "angry", "mid") - else: - cho "I have to head back to my dorms." ("soft", "base", "base", "R") - gen "Don't you want your--" ("base", xpos="far_left", ypos="head") - cho "Sweet dreams, [cho_genie_name]!" ("smile", "narrow", "angry", "mid") - - call cho_walk(action="leave") - - call bld - gen "Nice, I still got her panties!" ("grin", xpos="far_left", ypos="head") - - call give_reward(_(">You have acquired Cho's panties!"), "interface/icons/panties.webp") - $ has_cho_panties = True - - # Reset Hermione clothing. - $ hermione.equip(her_outfit_last) - return - - -############## -### Tier 3 ### -############## - - -## Tier 3 - Event 1 ## - -# Cho hops on your desk and she strips for you. -# You talk about the last match and Tonks' role in it. -# You tell Cho about Tonks' ability, and what she did to help winning the game. -# Notes: Cho could be naked at this point so some sounds/effects like cloth pile has been moved. - -label cc_pf_strip_T3_intro_E1: - gen "Come closer, [cho_name]." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]..." ("base", "narrow", "base", "mid") - - call cho_chibi("stand", "desk", "base") - - cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - - gen "Would you like to hop on my desk and give me another show?" ("grin", xpos="far_left", ypos="head") - cho "You want to look at my body again?" ("soft", "narrow", "raised", "mid") - cho "Naturally you'd like to see if I've been keeping up with my workout? Staying in shape and all that..." ("soft", "narrow", "angry", "mid") - - menu: - "\"Of course...\"": - cho "[cho_genie_name], no need to continue the pretence..." ("open", "closed", "base", "mid") - cho "We both know you don't really care about that stuff." ("open", "narrow", "base", "mid") - cho "All you want to do is ogle at my naked body." ("soft", "narrow", "angry", "mid") - cho "You're just like all the other teachers..." ("annoyed", "narrow", "base", "R") - gen "You are one to say, you little slut!" ("base", xpos="far_left", ypos="head") - gen "You went through quite the effort to show the whole school your ass on that broom..." ("base", xpos="far_left", ypos="head") - cho "I only did that so we'd win!" ("normal", "narrow", "angry", "mid") - gen "Keep telling yourself that, you little show-off!" ("grin", xpos="far_left", ypos="head") - gen "Come here and hop on my desk already!" ("grin", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "angry", "mid") - - "\"No, I just want to see your naked body up close.\"": - gen "Let me see that ass of yours bounce, baby!" ("grin", xpos="far_left", ypos="head") - cho "At least you are honest with me..." ("open", "closed", "base", "mid") - cho "I can't really blame you, you're just a man, after all..." ("soft", "narrow", "base", "L") - cho "And I'm simply irresistible." ("smile", "narrow", "angry", "mid") - gen "That you are, you little slut!" ("grin", xpos="far_left", ypos="head") - gen "Now hop onto my desk so I can have a good look at you." ("grin", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("base", "narrow", "angry", "mid") - - - # Cho hops on your desk. - call hide_characters - show screen blkfade - with d5 - call play_sound("climb_desk") - pause 2 - - call cho_chibi("stand", "on_desk", "on_desk", flip=False) - hide screen bld1 - hide screen blkfade - with d5 - call ctc - - cho "" ("base", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - call ctc - - gen "Yes! Show me what you got, you naughty girl!" ("grin", xpos="far_left", ypos="head") - pause .2 - - #Remove robes. - if cho.is_worn("robe"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe") - with d3 - pause .5 - - cho "Let's just get rid of this thing to start with..." ("horny", "narrow", "base", "down") - - # Remove top. - if cho.is_worn("top"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("top") - with d3 - pause .5 - - cho "" ("horny", "narrow", "angry", "mid", cheeks="blush") - call ctc - - gen "Marvellous as always." ("grin", xpos="far_left", ypos="head") - cho "I'm glad you're enjoying yourself, [cho_genie_name]..." ("base", "narrow", "angry", "down") - gen "That I do!" ("grin", xpos="far_left", ypos="head") - pause .2 - - # Remove bottoms. - if cho.is_worn("bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bottom") - with d3 - pause .5 - - gen "Such a tease, just take it all off already!" ("base", xpos="far_left", ypos="head") - cho "Patience, [cho_genie_name]..." ("base", "narrow", "base", "mid") - - # Remove bra. - if cho.is_worn("bra"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bra") - with d3 - pause .5 - - gen "There they are... My favourite pair of Quaffles." ("base", xpos="far_left", ypos="head") - cho "..." ("base", "narrow", "base", "downR", cheeks="blush") - - # Remove panties + everything else. - if cho.is_equipped("panties"): - - gen "And now your panties!" ("grin", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]..." ("smile", "narrow", "base", "mid") - pause .2 - - $ renpy.sound.play("sounds/cloth_sound3.ogg") - hide cho_main - $ cho.strip("all") - pause 1.2 - call cho_chibi("stand", "on_desk", "on_desk", flip=True) - pause .4 - $ renpy.sound.play("sounds/cloth_sound4.ogg") - show screen cho_cloth_pile - pause .6 - call cho_chibi("stand", "on_desk", "on_desk", flip=False) - cho "" (trans=d3) - pause .5 - - cho "..." ("soft", "narrow", "base", "downR", cheeks="blush") - cho "Here, [cho_genie_name]... You can have them." ("horny", "narrow", "angry", "mid", cheeks="blush") - pause .5 - - # Panties acquired message! - call give_reward(_(">You have acquired Cho's panties!"), "interface/icons/panties.webp") - $ has_cho_panties = True - - else: - pause .8 - - #Remove any remaining items (no sound since she might be naked) - $ cho.strip("all") - with d3 - pause .5 - - cho "" ("horny", "narrow", "base", "mid", cheeks="blush") - call ctc - - cho "Do you like watching me, [cho_genie_name]?" ("soft", "narrow", "base", "mid") - cho "You should know, Sir, I'm {b}incredibly{/b} thankful for your help." ("open", "closed", "base", "mid") - cho "Thanks to you, I get to do what I love..." ("smile", "narrow", "base", "mid") - gen "Showing yourself off?" ("base", xpos="far_left", ypos="head") - cho "No. Quidditch!" ("annoyed", "narrow", "angry", "mid") - cho "Winning, to be precise..." ("soft", "narrow", "base", "mid") - gen "Yes. I feel like a winner as well!" ("grin", xpos="far_left", ypos="head") - cho "Although, to tell you a secret..." ("soft", "closed", "base", "mid") - - # mirror sprite - call hide_characters - hide screen bld1 - with d3 - pause .2 - - call cho_chibi(flip=True) - with d3 - pause .8 - - cho "" ("smile", "narrow", "angry", "R", xpos=360, ypos="base", flip=True) - pause .8 - - cho "I am starting to love doing {b}this{/b} as well." ("soft", "narrow", "base", "R", cheeks="blush") - gen "Yes, you little slut! Shake that ass for me!" ("grin", xpos="far_left", ypos="head") - cho "I love the reaction I get from people..." ("base", "base", "base", "up") - cho "From you... From Hermione..." ("soft", "narrow", "base", "downR") - cho "Why don't we summon her? Maybe she'll join me this time..." ("base", "narrow", "base", "downR") - cho "I think that could be fun." ("crooked_smile", "closed", "base", "mid") - gen "Miss Granger, you say?" ("base", xpos="far_left", ypos="head") - gen "How about we invite somebody else in her stead?" ("grin", xpos="far_left", ypos="head") - pause .2 - - # mirror sprite - call hide_characters - hide screen bld1 - with d3 - pause .2 - - call cho_chibi(flip=False) - with d3 - pause .5 - - cho "Somebody else?" ("upset", "base", "raised", "mid", xpos="mid", ypos="base", flip=False) - gen "Yes, to keep things interesting." ("grin", xpos="far_left", ypos="head") - cho "*Hmm*..." ("annoyed", "base", "raised", "mid") - cho "I suppose..." ("soft", "base", "base", "R") - gen "Or are you only prepared to do it if you get to tease Miss Granger at the same time?" ("base", xpos="far_left", ypos="head") - cho "*Hmm*...{w=0.3} Alright, what's one student over another." ("soft", "narrow", "base", "R") - gen "It's not a student I'm thinking of." ("base", xpos="far_left", ypos="head") - cho "What do you mean, Sir?" ("open", "base", "base", "mid") - gen "I want you to strip for one of your teachers!" ("base", xpos="far_left", ypos="head") - cho "A teacher?" ("disgust", "wide", "base", "mid", cheeks="blush") # shocked - cho "No way I could do that!" ("clench", "wide", "base", "mid", cheeks="blush") - gen "Look at it as just another challenge." ("grin", xpos="far_left", ypos="head") - cho "" ("annoyed", "base", "base", "mid") - gen "The teachers already got a good look at your assets during the last couple of games." ("base", xpos="far_left", ypos="head") - gen "And I know for a fact that a couple of them are quite interested in a closer look." ("base", xpos="far_left", ypos="head") - cho "Oh, yeah?" ("soft", "base", "base", "down", cheeks="blush") - cho "Then who is it that you have in mind?" ("open", "base", "base", "R", cheeks="blush") - - $ cc_strip_no_snape = False # throwaway var used only in the next event. - - label .choice: - - menu: - "\"Tonks\"": - pass - - "\"Snape\"" if cc_strip_no_snape == False: - $ cc_strip_no_snape = True # throwaway var used only in the next event. - cho "What?!" ("clench", "wide", "base", "mid", cheeks="blush") - cho "You can't be serious!" ("angry", "base", "angry", "mid") # angry - cho "[cho_genie_name], thanks to him we almost lost the match!" ("open", "narrow", "angry", "mid") - cho "He gave those idiots a luck potion, remember?" ("open", "closed", "angry", "mid") - cho "You should have thrown him out for that!" ("clench", "narrow", "angry", "mid") - gen "All I care about is that he and his band of greenhorns lost the match against us..." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "angry", "mid") - cho "There is no way I'd ever strip for that greasy old bastard!" ("open", "narrow", "angry", "mid") - cho "I'm not giving him the satisfaction." ("annoyed", "narrow", "angry", "R") - gen "Very well, forget about Snape." ("base", xpos="far_left", ypos="head") - gen "But what about..." ("base", xpos="far_left", ypos="head") - jump cc_pf_strip_T3_intro_E1.choice - - - cho "Professor Tonks?" ("quiver", "base", "base", "mid") - gen "You have yet to show her your gratitude for the help she provided..." ("base", xpos="far_left", ypos="head") - gen "She was such an important player during that last match, and greatly helped us secure that win." ("base", xpos="far_left", ypos="head") - cho "She did?" ("upset", "base", "raised", "mid") - cho "I mean, she did get the Slytherins to join practice, but..." ("annoyed", "base", "raised", "R") - cho "She wasn't even present for most of the actual game." ("soft", "base", "base", "R") - gen "Are you sure about that?" ("grin", xpos="far_left", ypos="head") - gen "Well, you would have hardly been able to recognize her..." ("base", xpos="far_left", ypos="head") - cho "*Hmm*...?" ("annoyed", "base", "raised", "mid") - gen "Curly long hair, and tits as big as honeydews." ("grin", xpos="far_left", ypos="head") - - gen "Didn't the way Miss Granger act, how she flirted with those Slytherin players, struck you as a bit odd?" ("base", xpos="far_left", ypos="head") - gen "You might even say... familiar?" ("grin", xpos="far_left", ypos="head") - cho "Are you suggesting that Professor Tonks..." ("mad", "base", "base", "mid") - cho "But how?" ("clench", "base", "raised", "mid") - gen "Magic...{w=0.8} duh!" ("base", xpos="far_left", ypos="head") - gen "How about we call her on your next visit, then you can ask her yourself..." ("base", xpos="far_left", ypos="head") - cho "I suppose we could do that..." ("normal", "base", "base", "downR", cheeks="blush") - gen "Splendid!" ("grin", xpos="far_left", ypos="head") - gen "That should be all for today, [cho_name]." ("base", xpos="far_left", ypos="head") - gen "You're dismissed..." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("base", "happyCl", "base", "mid") - - # Cho hops off your desk. - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - - call play_sound("climb_desk") - call cho_chibi("stand", "desk", "base", flip=False) - - # Cho puts her clothes back on. (No sounds in case she never took any off) - $ cho.wear("all") - hide screen cho_cloth_pile - with d3 - pause 1.5 - - hide screen blkfade - cho "" ("base", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - pause .5 - - if game.daytime: - cho "I'll head back to classes, then." ("soft", "narrow", "base", "mid") - else: - cho "I'll head back to our dorms, then." ("soft", "narrow", "base", "mid") - - cho "Until next time, [cho_genie_name]." ("base", "narrow", "base", "mid", cheeks="blush") - - # Cho leaves. - call cho_walk(action="leave") - - jump end_cho_strip_event - - -### Tier 3 - Event 2 ### - -# Cho prompts genie to summon Tonks as she wants to know how she turned into Hermione -# Tonks enters and is immediately enticed by cho, she flirts with her a bit before cho starts asking questions. - -label cc_pf_strip_T3_intro_E2: - gen "Alright, let's do this again." ("base", xpos="far_left", ypos="head") - gen "We're gonna get your teacher up here -- and you'll strip for us, understood?" ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("smile", "base", "base", "mid") - gen "You might want to change into your school clothing before she gets here..." ("base", xpos="far_left", ypos="head") - cho "Of course." ("base", "happyCl", "base", "mid") - - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - pause 1 - - # Equip Cho & Tonks default clothing. - $ cho_outfit_last.save() # Store current outfit. - $ ton_outfit_last.save() # Store current outfit. - $ cho.equip(cho_outfit_default) - $ tonks.equip(ton_outfit_default) - - call cho_chibi("stand", "desk", "base") - - hide screen blkfade - cho "*Ehm*..." ("quiver", "narrow", "base", "downR", xpos="mid", ypos="base", trans=fade) - cho "The teacher you're about to summon, [cho_genie_name]..." ("open", "narrow", "base", "mid") - cho "You're talking about Professor Tonks, right?" ("soft", "narrow", "base", "mid") # suspicious - gen "Oh... of course." ("base", xpos="far_left", ypos="head") - cho "Well then, I'm ready." ("base", "base", "base", "mid") - gen "Ready to strip for your teacher?" ("grin", xpos="far_left", ypos="head") - cho "I'm well aware of what I'm about to do, [cho_genie_name], and I'm not going to falter." ("annoyed", "narrow", "angry", "mid") - cho "Besides, it's not like I have any bits that she doesn't..." ("open", "closed", "base", "mid") - gen "Not even trying to play coy anymore, are you?" ("base", xpos="far_left", ypos="head") - cho "Why should I? It's good practice." ("open", "narrow", "raised", "down") # confident - gen "Great positive thinking, [cho_name].{w=0.8} You'll make it far with that mindset." ("grin", xpos="far_left", ypos="head") - cho "It's no big deal for me, [cho_genie_name]." ("base", "narrow", "base", "mid") - cho "I'm not as prude and buttoned up as Hermione, you know..." ("soft", "narrow", "base", "mid") - cho "And I'll finally get to know how Professor Tonks helped us during the Slytherin match!" ("base", "happyCl", "base", "mid") - gen "Oh boy, you're in for a treat!" ("grin", xpos="far_left", ypos="head") - gen "Just wait here at my desk while I summon her..." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("base", "narrow", "base", "mid") - call play_music("stop") - - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - pause 1 - - call cho_chibi(flip=True) - - # end blkfade - hide screen blkfade - with d5 - pause .8 - - # Tonks enters. - call play_sound("door") - call ton_chibi("stand", "door", "base") - with d3 - pause .5 - - # thought emote - call chibi_emote("thought", "tonks") - pause .8 - - # Tonks walks next to Cho. - call ton_walk(540, "base") - - call play_music("tonks") - cho "" ("soft", "narrow", "worried", "L", cheeks="blush", xpos="left", ypos="base", flip=True) - if game.daytime: - ton "Hello, Professor." ("base", "base", "base", "mid", xpos="right", ypos="base") - else: - ton "Good evening, Professor." ("base", "base", "base", "mid", xpos="right", ypos="base") - - ton "Miss Chang. Didn't expect to see you here..." ("base", "narrow", "base", "L") - ton "What a nice surprise." ("horny", "narrow", "base", "mid") # horny tongue - cho "..." ("quiver", "narrow", "worried", "downR", cheeks="blush") # nervous - cho "*Ehm*..." ("soft", "narrow", "worried", "down", cheeks="blush") - gen "Go on, Cho. She's not going to bite you..." ("base", xpos="far_left", ypos="head") - ton "*Hmm*?" ("base", "base", "raised", "mid") - gen "Miss Chang was hoping she could repay you with a favour. For the help you provided against Slytherin." ("grin", xpos="far_left", ypos="head") - ton "A favour, you say..." ("crooked_smile", "narrow", "base", "mid") - cho "Y-yes, if that's okay with you, professor..." ("horny", "narrow", "worried", "L", cheeks="blush") # blushing, still nervous - ton "Oh, anything for you, darling." ("base", "narrow", "base", "L") - ton "So, what will it be then?" ("open", "base", "base", "mid") - ton "I presume you didn't invite me for a cup of tea, did you?" ("base", "narrow", "base", "mid") # why remove? - - menu: - "\"We need a second opinion on the girl's physique.\"": - ton "*Mhmm*?" ("base", "base", "base", "mid") - ton "So naturally you thought of me to provide this... opinion?" ("open", "narrow", "raised", "mid") - gen "You're quite the athletic witch yourself, are you not?" ("base", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "base", "mid") - gen "I'm certain there's no one better suited to judge the girl's body than yourself." ("grin", xpos="far_left", ypos="head") - ton "Very well, professor..." ("base", "base", "base", "mid") - ton "I'm not the one to question the headmaster's judgement." ("base", "narrow", "base", "mid") - gen "Great, then I'll look forward to hearing your assessment -- from head to toe please -- let us know if there's anything she could improve." ("grin", xpos="far_left", ypos="head") - cho "" ("normal", "happyCl", "worried", "mid", cheeks="blush") - ton "Oh, I doubt I'll find anything to improve on this one..." ("horny", "narrow", "base", "L", hair="horny") # horny - gen "Okay then..." ("base", xpos="far_left", ypos="head") - gen "Girl, You may start with the show." ("base", xpos="far_left", ypos="head") - ton "The show?!" ("soft", "base", "raised", "mid") - gen "She'll have to take her clothes off, obviously!" ("grin", xpos="far_left", ypos="head") - ton "Oh my!" ("grin", "base", "shocked", "mid", hair="horny") # lip bite? - gen "Let's get started then, shall we." ("base", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "base", "L", hair="horny") - gen "Get on that desk, Miss Chang!" ("grin", xpos="far_left", ypos="head") - cho "Okay." ("soft", "narrow", "worried", "downR", cheeks="blush") - - "\"She's going to strip for us...\"": - cho "" ("normal", "happyCl", "worried", "mid", cheeks="heavy_blush") - ton "Really?" ("crooked_smile", "base", "shocked", "mid", hair="horny") - cho "..." ("mad", "narrow", "worried", "downR", cheeks="blush") # embarrassed - gen "It's all just part of the girl's training..." ("base", xpos="far_left", ypos="head") - gen "To improve her confidence, and all that. And not shy away from a bit of nudity." ("grin", xpos="far_left", ypos="head") - ton "I see... so this is why you've been such a daredevil on the pitch lately..." ("horny", "narrow", "base", "L", hair="horny") - cho "..." ("normal", "happyCl", "worried", "mid", cheeks="blush") #Blushes - ton "Well, if you think I can be of assistance, then you have my full support." ("base", "base", "base", "L") - cho "Thank you, Professor." ("soft", "narrow", "worried", "L", cheeks="blush") - gen "Great! Then get on that desk, Cho!" ("grin", xpos="far_left", ypos="head") - cho "Okay." ("soft", "narrow", "worried", "down", cheeks="blush") - - - # Cho starts stripping. - call play_music("stop") - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - call play_sound("climb_desk") - pause 1 - - call cho_chibi("stand", 330, 360) - call ton_chibi("stand", 410, "base") - - hide screen blkfade - with d5 - pause .8 - - call bld - gen "Excellent..." ("base", xpos="far_left", ypos="head") - gen "Now, what would you say are Miss Chang's best assets, Professor?" ("base", xpos="far_left", ypos="head") - call bld("hide") - pause .2 - - # Cho turns around. - call cho_chibi(flip=True) - with d3 - pause .3 - - call play_music("cho") - cho "" ("quiver", "narrow", "worried", "L", cheeks="blush", xpos=330, ypos="base", flip=True) - ton "" ("base", "narrow", "base", "L", xpos=460, ypos="base") - gen "Are you more into the girl's tits... or her ass?" ("grin", xpos="far_left", ypos="head") - ton "*Hmm*--" ("base", "narrow", "annoyed", "L", hair="horny") - cho "Sir!" ("soft", "happyCl", "worried", "mid", cheeks="heavy_blush") - gen "It's a fair question..." ("base", xpos="far_left", ypos="head") - cho "..." ("soft", "narrow", "worried", "L", cheeks="blush") - ton "If you're not comfortable with this, Miss Chang, then I'm not going to--" ("open", "base", "base", "L") - cho "No!" ("clench", "happyCl", "worried", "mid", cheeks="blush") - ton "*Hmm*?" ("base", "narrow", "raised", "L") - cho "I mean...{w=0.5} It's fine..." ("open", "narrow", "worried", "down", cheeks="blush") - cho "Feel free to answer him, Professor..." ("soft", "narrow", "worried", "L", cheeks="blush") - call play_sound("giggle") - ton "*giggles*" ("base", "happyCl", "base", "mid") - ton "She's so cute when she's all flustered, isn't she?" ("crooked_smile", "base", "base", "mid") - cho "..." ("quiver", "happyCl", "base", "mid", cheeks="blush") #Heavy blush - gen "..." ("base", xpos="far_left", ypos="head") - gen "So, what's your opinion?" ("base", xpos="far_left", ypos="head") - gen "I'm sure Miss Cho is dying to know..." ("grin", xpos="far_left", ypos="head") - ton "I don't know how I could possibly answer such a difficult question, Professor." ("soft", "narrow", "base", "mid") - gen "Then let me help you with your decision..." ("base", xpos="far_left", ypos="head") - - gen "Cho, do your thing." ("grin", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "base", "L") - cho "Of course, Sir..." ("open", "narrow", "worried", "mid", cheeks="blush") - cho "..." ("angry", "narrow", "base", "down", cheeks="blush") - pause .2 - - # Remove top. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe", "top") - with d3 - pause .5 - - cho "" ("horny", "happyCl", "worried", "mid", cheeks="blush") - call ctc - - ton "*Hmm*... Very promising." ("base", "narrow", "base", "L") - cho "..." ("horny", "narrow", "worried", "down", cheeks="blush") - pause .2 - - # Remove bra. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bra") - with d3 - pause .5 - - ton "" ("base", "narrow", "raised", "L", hair="horny") - cho "" ("quiver", "narrow", "base", "downR", cheeks="heavy_blush") - call ctc - - ton "Merlin's burly bosom!" ("grin", "narrow", "annoyed", "L", hair="horny") - cho "" ("upset", "happyCl", "worried", "mid", cheeks="heavy_blush") - gen "How about now?" ("grin", xpos="far_left", ypos="head") - gen "Ever seen such a perfectly shaped pair of quaffles before?" ("base", xpos="far_left", ypos="head") - ton "Did you just call them quaffles?" ("soft", "narrow", "raised", "mid", hair="horny") - cho "..." ("mad", "narrow", "worried", "downR", cheeks="blush") - gen "So, what's your opinion?" ("base", xpos="far_left", ypos="head") - ton "What would you like me to say, Professor?" ("base", "narrow", "base", "mid", hair="horny") - ton "That I'd like to run my mouth all over those perky nipples of hers?" ("horny", "narrow", "angry", "L", hair="horny") - cho "Professor!" ("open", "happyCl", "worried", "mid", cheeks="heavy_blush") # closed eyes, worried, embarrassed. - ton "Sorry sweetie, but Professor Dumbledore wanted my honest opinion." ("open", "closed", "raised", "mid", hair="horny") - ton "Your breasts are quite perfect, Miss Chang." ("base", "narrow", "base", "L", hair="horny") - cho "..." ("normal", "narrow", "worried", "L", cheeks="blush") - cho "I don't think they're big enough." ("open", "narrow", "worried", "downR", cheeks="heavy_blush") # sad - cho "" ("normal", "narrow", "worried", "down", cheeks="heavy_blush") - ton "Big enough for what? Impress some idiot?" ("open", "narrow", "annoyed", "L", hair="angry") - ton "No offense, Professor." ("soft", "narrow", "base", "mid") - gen "None taken..." ("base", xpos="far_left", ypos="head") - ton "You don't need large breasts. Especially not if you want to have a career in Quidditch." ("open", "base", "base", "L") - cho "" ("annoyed", "narrow", "base", "L", cheeks="blush") - ton "Just have a look at mine... They're bothersome to fly with even at my size..." ("soft", "base", "shocked", "down") - call play_music("stop") - pause .2 - - # Tonks starts stripping. - - # Remove robe. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("robe") - with d3 - pause .5 - - cho "" ("disgust", "base", "raised", "L", cheeks="blush") - ton "" ("base", "happyCl", "base", "mid") - call ctc - - cho "Professor, you don't have to--" ("mad", "base", "raised", "L", cheeks="blush") #blush - pause .2 - - # Remove top and bra. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("top", "bra") - with d3 - pause .5 - - ton "" ("horny", "narrow", "annoyed", "L", hair="horny") - call ctc - - cho "P-{w=0.3}Professor!" ("silly", "happyCl", "worried", "mid", cheeks="heavy_blush") #lip bite "glances away from Tonks #Heavy blush - gen "*He-he-he!*" ("grin", xpos="far_left", ypos="head") - ton "No need to be shy, Miss Chang." ("base", "narrow", "base", "L", hair="horny") - gen "Yes, it's not like she has any bits you haven't seen before... is that not what you said, Cho?" ("grin", xpos="far_left", ypos="head") - cho "R-Right." ("angry", "happyCl", "worried", "mid", cheeks="heavy_blush") - cho "" ("horny", "narrow", "worried", "L", cheeks="blush") - gen "So... what would you like to see next, Miss Tonks?" ("base", xpos="far_left", ypos="head") - ton "Her ass cheeks sure looked great on top of that broom..." ("soft", "narrow", "base", "mid", hair="horny") - ton "I'd love to see them up close..." ("base", "narrow", "base", "L", hair="horny") - gen "Couldn't agree more!" ("grin", xpos="far_left", ypos="head") - gen "Cho, you heard your teacher's request." ("base", xpos="far_left", ypos="head") - cho "" ("horny", "narrow", "worried", "mid", cheeks="blush") - gen "Turn around, and take off your skirt." ("base", xpos="far_left", ypos="head") - cho "Yes, Sir." ("clench", "narrow", "worried", "mid", cheeks="blush") - pause .2 - - # Cho faces Genie. - hide cho_main - with d5 - call cho_chibi(flip=False) - cho "" ("quiver", "narrow", "worried", "down", cheeks="blush", xpos=260, ypos="base", flip=False, trans=d5) - pause .8 - ton "" ("base", "narrow", "base", "down", hair="horny") - gen "Slowly..." ("base", xpos="far_left", ypos="head") - pause .5 - - # Remove bottom. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bottom") - with d5 - pause .5 - - cho "" ("normal", "happyCl", "base", "mid", cheeks="blush") - call ctc - - gen "And now the rest, Miss Chang." ("base", xpos="far_left", ypos="head") - ton "..." ("horny", "narrow", "base", "down", hair="horny") # horny - pause .2 - - # Remove all. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - hide cho_main - $ cho.strip("all") - pause 1.2 - $ renpy.sound.play("sounds/cloth_sound4.ogg") - show screen cho_cloth_pile - pause .6 - - cho "" ("horny", "narrow", "raised", "R", cheeks="heavy_blush") - call ctc - - call play_music("cho") - gen "Quite firm, aren't they?" ("grin", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*" ("base", "happyCl", "base", "mid", hair="horny") - ton "Yes, Indeed..." ("grin", "narrow", "base", "mid", hair="horny") - ton "No wonder she's so steady on that broomstick." ("horny", "narrow", "angry", "down", hair="horny") - cho "..." ("horny", "narrow", "base", "mid", cheeks="blush") # blushing - ton "Can't see anyone beating that, that's for sure." ("open", "narrow", "raised", "down", hair="horny") - # ton "Although, maybe in a physical--" - - gen "So... what's your opinion, what do you prefer?" ("base", xpos="far_left", ypos="head") - gen "Her tits, or her ass?" ("base", xpos="far_left", ypos="head") - ton "*Hmm*..." ("base", "narrow", "base", "down", hair="horny") - ton "You're not holding out on me, are you, Miss Chang?" ("open", "narrow", "base", "L", hair="horny") - cho "What do you--" ("angry", "narrow", "worried", "R", cheeks="blush") - ton "There's something missing...{w=0.5} I haven't seen everything yet, have I?" ("crooked_smile", "narrow", "raised", "mid", hair="horny") - gen "But of course!" ("grin", xpos="far_left", ypos="head") - ton "If I were to do any sort of judgement, I'd first need to see that cute little Snitch of yours." ("soft", "narrow", "base", "down", cheeks="blush", hair="horny") - cho "!!!" ("clench", "wide", "base", "mid", cheeks="heavy_blush") # shock - gen "Miss Chang, why don't you turn around so Professor Tonks can give you a proper assessment." ("grin", xpos="far_left", ypos="head") - cho "..." ("clench", "happyCl", "worried", "mid", cheeks="heavy_blush") # blush - pause .2 - - # Cho faces Tonks. - hide cho_main - with d5 - call cho_chibi(flip=True) - cho "" ("normal", "happyCl", "worried", "mid", cheeks="heavy_blush", xpos=330, ypos="base", flip=True, trans=d5) - pause .8 - - ton "*Hmm*... Will you look at that..." ("base", "narrow", "base", "down", hair="horny") - cho "..." ("horny", "narrow", "worried", "L", cheeks="heavy_blush") - ton "Now, this is a level of confidence I haven't seen in a student before..." ("horny", "narrow", "base", "mid", hair="horny") - gen "Yes, she's quite something, isn't she?" ("grin", xpos="far_left", ypos="head") - cho "..." ("base", "closed", "base", "mid", cheeks="blush") # blushing but faking confidence - ton "Although..." ("base", "narrow", "base", "L", hair="horny") - ton "Does this snitch get frightened and dart away, once you try and get up close to it?" ("grin", "narrow", "raised", "mid", hair="horny") - cho ".........." ("base", "closed", "base", "mid", cheeks="blush") #not paying much attention/didn't know she was being addressed - ton "Miss Chang?" ("open", "narrow", "raised", "L", hair="horny") - cho "Oh, sorry!" ("crooked_smile", "happyCl", "worried", "mid", cheeks="heavy_blush") - cho "Of course not, Professor -- I don't dart away from anything!" ("soft", "narrow", "worried", "downR", cheeks="blush") - - ## Tonks wants to strip too. ## - ton "Excellent, since that question has been answered..." ("base", "happyCl", "base", "mid", hair="horny") - ton "I assume you don't mind if I joined you on that desk, do you?" ("horny", "narrow", "angry", "L", hair="horny") - - call play_music("stop") - cho "What?!" ("soft", "wide", "raised", "mid", cheeks="blush") # blushing - gen "!!!" ("grin", xpos="far_left", ypos="head") - ton "*Hmm*... Or is that snitch of yours going to dart off after all?" ("soft", "narrow", "base", "down", hair="horny") - cho "" ("angry", "happyCl", "worried", "mid", cheeks="blush") - show screen blktone - with d3 - gen "(I sure hope the desk is sturdy enough...)" ("base", xpos="far_left", ypos="head") - call hide_characters - hide screen bld1 - hide screen blktone - show screen blkfade - with d5 - - # Tonks chibi on desk next to Cho's. # Tonks is facing left - - call cho_chibi("stand", 314, 366, flip=True) - call ton_chibi("stand", 370, 360, flip=False) - - call play_sound("climb_desk") - pause 2 - - hide screen blkfade - with d5 - pause .8 - - $ cho.zorder = 16 # in front of Tonks. 15 is default. - call play_music("tonks") - ton "" ("base", "narrow", "base", "L", hair="horny", xpos=345, ypos="base") - cho "T-Tonks!" ("clench", "happyCl", "raised", "L", cheeks="heavy_blush", xpos=280, ypos="base", flip=True) #Closed eyes, embarrassed - ton "That's {b}Professor Tonks{/b} to you, Miss Chang." ("open", "narrow", "angry", "L", hair="angry") # stern look - cho "Sorry!" ("clench", "happyCl", "worried", "mid", cheeks="heavy_blush") - call play_sound("giggle") - ton "*giggles*" ("base", "happyCl", "base", "mid", hair="horny") - ton "I'm just kidding, you can call me whatever you like, sweetie..." ("soft", "narrow", "base", "L", hair="horny") - ton "Catch that Snitch for me, will you..." ("horny", "narrow", "base", "L", hair="horny") - cho "Snitch? What Snitch?" ("soft", "narrow", "base", "L", cheeks="blush") - ton "Down here." ("grin", "narrow", "base", "down", hair="horny") - cho "" ("annoyed", "narrow", "base", "down", cheeks="blush") - pause .2 - - # Remove bottom. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("bottom","panties") - with d3 - pause .5 - - ton "" ("horny", "narrow", "base", "down", hair="horny") - pause .8 - - cho "!!!" ("normal", "wide", "raised", "down", cheeks="blush") - gen "Now that's what I'm talking about!" ("grin", xpos="far_left", ypos="head") - cho "Professor!" ("clench", "wide", "raised", "down", cheeks="heavy_blush") - ton "Believe me, I'm just getting started..." ("base", "narrow", "base", "mid", hair="horny") - pause .5 - - # Remove other clothes. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("all") - with d3 - pause .5 - - ton "" ("horny", "narrow", "base", "L", hair="horny") - cho "" ("base", "narrow", "worried", "down", cheeks="heavy_blush") - call ctc - - cho "..." ("angry", "narrow", "worried", "downR", cheeks="heavy_blush") # heavy blush - gen "Don't be shy, Miss Chang." ("grin", xpos="far_left", ypos="head") - ton "*Hmm*... Yes, don't be shy." ("crooked_smile", "narrow", "base", "L", hair="horny") - ton "I've yet to give you my verdict." ("soft", "narrow", "raised", "down", hair="horny") - cho "..." ("normal", "happyCl", "worried", "mid", cheeks="heavy_blush") - ton "Now, up this close, it's obvious what your best feature is, Miss Chang..." ("open", "narrow", "base", "down", hair="horny") - ton "I must say I simply love your--" ("horny", "narrow", "base", "down", hair="horny") - - # Snape enters. - call play_music("stop") - call hide_characters - hide screen bld1 - with d3 - - call play_sound("door") - call sna_chibi("stand", "door", "base") - with d3 - pause .1 - - call bld - gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - with hpunch - gen "{b}Balls!{/b}" ("angry", xpos="far_left", ypos="head") - sna "..." ("snape_47", ypos="head") #smirk - ton "What? No I was talking about her--" ("soft", "narrow", "base", "mid", ypos="head", flip=False) - with hpunch - cho "Professor Snape?!" ("open", "wide", "raised", "L", ypos="head", flip=True) # shock - sna "Oh-- now what do we have here?..." ("snape_13", ypos="head") - call bld("hide") - pause .2 - - # Tonks turns around. - call ton_chibi(xpos=360, ypos=360, flip=True) - with d3 - - # Snape walks closer to the middle. - call sna_walk(xpos="mid", ypos="base") - pause .8 - - # Position Cho's sprite behind Tonks. - $ cho.zorder = 15 # reset to default. - $ tonks.zorder = 16 # in front of Cho. 15 is default. - call play_music("snape") - sna "" ("snape_40", xpos=560, ypos="base") - cho "" ("normal", "wide", "base", "L", xpos=275, ypos="base", flip=True) - ton "" ("annoyed", "narrow", "annoyed", "L", xpos=390, ypos="base", flip=True) - - ton "Severus?" ("mad", "base", "base", "L", trans=d5) - ton "{size=-4}Get behind me, Cho...{/size}" ("open", "narrow", "base", "R") #small text - - $ cho_chibi.zorder = 2 # default is 3 - call cho_chibi("stand", 320, 366, flip=True) - cho "{size=-4}Yes-- Thank you.{/size}" ("disgust", "happyCl", "worried", "mid", cheeks="heavy_blush", xpos=295, ypos=17, flip=True, trans=d3) # Sprite is slightly lowered. - - ton "What are you doing here?" ("annoyed", "base", "angry", "stare") - ton "Have you been spying on us behind that door?" ("soft", "narrow", "base", "up", hair="horny") - sna "Of course not..." ("snape_46") - cho "P-{w=0.3}Professor..." ("open", "happyCl", "worried", "mid", cheeks="heavy_blush") - ton "" ("base", "narrow", "base", "downR", hair="horny") - - sna "Ah, Miss Chang... Hiding behind Professor Tonks, are we?" ("snape_02") - sna "I take it you're here to repay our headmaster for his help with your sudden Quidditch success?" ("snape_37") - #sna "But how come Professor Tonks--" ("snape_01") - ton "Well, what if she is,{w=0.5} Snivellus?" ("soft", "narrow", "annoyed", "R", hair="horny") - sna "" ("snape_38") - ton "She isn't doing anything wrong... at least not by your standards." ("grin", "closed", "shocked", "mid", hair="horny") - sna "Did I accuse her of doing anything wrong?" ("snape_09") - sna "On the contrary..." ("snape_02") - ton "" ("annoyed", "narrow", "raised", "up") - sna "As head of the slytherin house, I'd like to personally congratulate her on her fair play." ("snape_37") - sna "Your performance was quite remarkable, Miss Chang." ("snape_13") - sna "Putting your best {b}ass{/b}ets on display for everyone was quite the sight." ("snape_46") - cho "..." ("angry", "narrow", "worried", "downR", cheeks="heavy_blush") # embarrassed - sna "How very -- {b}ass{/b}piring of you..." ("snape_41") - cho "{size=-4}Please do something, sir.{/size}" ("soft", "base", "angry", "mid", cheeks="heavy_blush") #small text - gen "What?" ("base", xpos="far_left", ypos="head") - gen "(Oh, right... I should probably do something about this...)" ("base", xpos="far_left", ypos="head") - - menu: - gen "(...)" ("base", xpos="far_left", ypos="head") - "\"Severus, I think you should leave.\"": - cho "" ("normal", "base", "angry", "L", cheeks="blush") - sna "Already? But I just got here..." ("snape_05") - ton "I can't recall us inviting you, Severus." ("soft", "narrow", "shocked", "L") - sna "Do I require some kind of appointment to see the headmaster?" ("snape_09") - sna "If there's a schedule I could look at, then perhaps I could plan my visits for when Miss Chang is not busy working on her insecurities..." ("snape_03") - #sna "If there's a schedule I could look at, then perhaps I could plan my visits for when you two aren't taking advantage of Miss Chang's insecurities..." ("snape_03") # Alternative line instead of the one above? - cho "..." ("angry", "narrow", "angry", "L", cheeks="blush") #Blush #closed eyes #embarrassed - #gen "How did you--" ("base", xpos="far_left", ypos="head") - ton "What do you want, Snape?" ("upset", "narrow", "annoyed", "L") - pass - - "\"Severus! Please, stay and watch.\"": - if cc_strip_no_snape: # Cho clearly told you she won't strip for Snape. - $ cho_mood += 30 - cho "Are you mad?!" ("clench", "base", "angry", "mid", trans=hpunch) - cho "Sir, I clearly told you before, I won't do this in front of Professor Snape!" ("open", "base", "angry", "mid") - sna "So you actually considered inviting me..." ("snape_20") - cho "" ("normal", "base", "angry", "L", cheeks="blush") - sna "That's surprising, considering our current bet..." ("snape_21") - sna "I must say though, I appreciate the gesture, Albus." ("snape_22") - gen "Bros before--" ("grin", xpos="far_left", ypos="head") - ton "Quiet! Both of you!" ("open", "closed", "base", "mid") - sna "*Tssz*..." ("snape_46") - sna "Well, I can read the room..." ("snape_09") - ton "Clearly..." ("upset", "narrow", "raised", "L") - sna "As it happens, I can't stay for too much longer anyway." ("snape_03") - pass - - else: - $ cho_mood += 12 - cho "Sir, you can't be serious!" ("angry", "wide", "raised", "mid", cheeks="heavy_blush") - gen "Calm yourself, girl." ("base", xpos="far_left", ypos="head") - gen "There's no touching allowed anyway... Those are the rules." ("base", xpos="far_left", ypos="head") - ton "Really? You never told me--" ("annoyed", "narrow", "raised", "mid", hair="horny") #pout - cho "Send him away!" ("clench", "base", "angry", "mid", cheeks="heavy_blush") - gen "Whatever... no need to get all indignant about this." ("angry", xpos="far_left", ypos="head") - sna "..." ("snape_09") - gen "You more than happily strip for all your other teachers... so why not Snape?" ("base", xpos="far_left", ypos="head") - cho "All my other teachers? It was only you and Tonks that I agreed to do this for!" ("clench", "wide", "raised", "mid") - pass - - sna "As much as I'd like to watch you make a fool of yourself for us, Miss Chang, I have more important things to do." ("snape_13") - show screen blktone - gen "(More important than this?...)" ("base", xpos="far_left", ypos="head") - hide screen blktone - sna "I merely came here to discuss a private matter with our headmaster." ("snape_24") - sna "About this... Misunderstanding that occurred during the last Quidditch game." ("snape_09") - - cho "There is nothing more to discuss." ("open", "closed", "angry", "R") - cho "We won against you, fair and square, you cheat..." ("clench", "narrow", "angry", "L") - sna "Hold your tongue, Miss Chang, or I'll have to dock some points from your house..." ("snape_03") - sna "Or worse..." ("snape_20") #smirks - cho "*Pfff*... only first years care about house points..." ("annoyed", "narrow", "base", "R") # small text - gen "Not taking that loss easy, are you? Disappointed that we won -- against all odds?" ("grin", xpos="far_left", ypos="head") - sna "*Tzzzs*... by sheer luck you did." ("snape_32") - cho "Says the one who literally gave his team liquid luck!" ("disgust", "narrow", "angry", "L", cheeks="blush") - sna "Ten points from Ravenclaw!" ("snape_31") - $ ravenclaw -= 10 - cho "{size=-4}Like I care...{/size}" ("annoyed", "narrow", "angry", "down", cheeks="blush") - ton "Let the girl speak her mind, Severus!" ("open", "closed", "shocked", "mid") - ton "Or shall I remind you that you were the one who barged in here uninvited..." ("open", "narrow", "base", "L") - sna "*Hmph*..." ("snape_35") - sna "Can't let her spew such lies in the headmaster's presence, can I?" ("snape_03") - gen "The hell is that supposed to mean?" ("base", xpos="far_left", ypos="head") - sna "I merely gave those boys some encouragement." ("snape_04") - sna "There was no need to involve something as valuable as a luck potion..." ("snape_09") - cho "What?!" ("angry", "happyCl", "angry", "mid", cheeks="blush") - - # Cho stops hiding behind Tonks. - call play_music("stop") - $ cho_chibi.zorder = 3 # Reset to default. - call cho_chibi("stand", 314, 366, flip=True) - ton "" ("annoyed", "narrow", "raised", "downR") - cho "But the entire Slytherin team drank some! They were even bragging about it!" ("clench", "narrow", "angry", "L", xpos=275, ypos="base", flip=True, trans=hpunch) - - sna "I suppose if that's what they said then who am I to refute it..." ("snape_37") #smirk - sna "Now, if you'll excuse me..." ("snape_09") - sna "I'll leave you three to indulge further in your...{w=0.8} debaucheries..." ("snape_47") - cho "No! You stay where you are!" ("scream", "base", "angry", "L") - call hide_characters - hide screen bld1 - with d3 - pause .2 - - # Cho moves in front of Tonks. - hide screen cho_chibi - hide screen tonks_chibi - with d3 - $ cho_chibi.zorder = 2 # Behind Tonks, so her ponytail doesn't cover her head. - call ton_chibi("stand", 322, 360, flip=True) - call cho_chibi("stand", 360, 360, flip=True) - with d3 - pause .5 - - $ tonks.zorder = 15 # Reset to default. - $ cho.zorder = 16 # In front of Tonks. Default is 15. - call play_music("cho") - sna "" ("snape_13") - ton "" ("annoyed", "shocked", "raised", "stare", hair="horny", xpos=310, ypos="base", flip=True) - cho "First you're going to explain yourself!" ("clench", "base", "angry", "L", xpos=415, ypos="base", flip=True, trans=hpunch) - ton "" ("clench", "wide", "shocked", "L", hair="horny", cheeks="blush") - cho "You somehow tricked them! They played far better than usual." ("mad", "base", "angry", "L") - ton "" ("horny", "narrow", "worried", "down", hair="horny", cheeks="heavy_blush") - sna "*Hmm*... Very well, Miss Chang." ("snape_20") - - # Space Jam - sna "You truly believe I'd waste such a valuable potion on those blokes?" ("snape_18") - cho "" ("annoyed", "base", "angry", "L") - sna "It takes three months to brew and distil only a tiny vial of Felix Felicis... and it's quite the tedious endeavour to do so." ("snape_12") - sna "That prize money would barely cover half of the materials..." ("snape_03") - cho "Prize money? What prize money?!" ("open", "base", "angry", "mid") - gen "Don't interrupt your teacher." ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "worried", "L", hair="horny", cheeks="heavy_blush") - cho "" ("annoyed", "narrow", "angry", "L") - sna "All I did was give them a vial of pumpkin juice..." ("snape_41") - sna "Then I told them I mixed in some liquid luck." ("snape_13") - cho "What stupid kind of tactic is that?" ("soft", "narrow", "angry", "mid") - sna "" ("snape_39") - ton "" ("base", "narrow", "base", "mid", hair="horny", cheeks="blush") - gen "Hold on a minute..." ("angry", xpos="far_left", ypos="head") - gen "Are you seriously telling me you gave them pumpkin juice... and pretended it was \"{b}Michael's secret stuff{/b}\"?" ("base", xpos="far_left", ypos="head") - sna "Michael's...{w=0.3} what?" ("snape_38") - gen "You ripped off {b}Space Jam{/b}!" ("angry", xpos="far_left", ypos="head") - sna "I'm sorry?" ("snape_25") # confused - gen "You ripped off the plot of Space Jam!" ("angry", xpos="far_left", ypos="head") - sna "I have no idea what you're talking about..." ("snape_44") - ton "Neither do I." ("annoyed", "base", "raised", "mid", hair="horny") - cho "Sir, is this about that basketball thing again?" ("disgust", "narrow", "angry", "mid") - #gen "Well you clearly didn't watch the outcome, did you?" ("base", xpos="far_left", ypos="head") - gen "Even Bugs Bunny couldn't help him win. Serves you right!" ("grin", xpos="far_left", ypos="head") - ton "Who's Bugs Bunny?" ("soft", "narrow", "raised", "mid", hair="horny") - gen "Oh boy, let me tell you--" ("grin", xpos="far_left", ypos="head") - sna "Anyway." ("snape_31") - cho "" ("annoyed", "narrow", "angry", "L") - sna "Miss Chang, I wish you the very best of luck on your next match." ("snape_45") - ton "" ("normal", "narrow", "base", "L", hair="horny") - sna "You lot look like you're going to need it..." ("snape_42") - cho "*Hmph*..." ("annoyed", "base", "angry", "L") - gen "(...)" ("base", xpos="far_left", ypos="head") - call play_music("stop") - call hide_characters - hide screen bld1 - with d3 - pause .1 - - # Snape walks to the door. - call sna_walk("door", "base") - pause .2 - - call sna_chibi("stand", "door", "base", flip=False) - with d3 - pause .5 - - sna "Until then, Albus... Miss Chang..." ("snape_20", xpos="base", ypos="head") - sna "{cps=7}Nymphadora...{/cps}" ("snape_41", xpos="base", ypos="head") - ton "Stop calling me--" ("clench", "closed", "angry", "mid", hair="angry", ypos="head", flip=True) - - # Snape leaves. - call sna_chibi("stand", "door", "base", flip=True) - with d3 - call sna_chibi("leave") - pause .5 - - call bld - gen "Fucking guy..." ("base", xpos="far_left", ypos="head") - gen "Who does he think he is?" ("base", xpos="far_left", ypos="head") - gen "Besmirching a classic such as Space Jam, like it was nothing..." ("base", xpos="far_left", ypos="head") - - # The girls face Genie. - hide screen cho_chibi - hide screen tonks_chibi - $ cho_chibi.zorder = 2 - call cho_chibi("stand", 330, 364, flip=False) - call ton_chibi("stand", 370, 360, flip=False) - with d3 - - cho "" ("annoyed", "narrow", "base", "mid", xpos=190, ypos="base", flip=False) - ton "Well, that was a bit uncalled for... even for him." ("open", "narrow", "annoyed", "R", xpos=350, ypos="base", flip=False, trans=d5) - - ton "When did I step on his toes?" ("upset", "base", "base", "mid") - gen "Maybe when you called him Snivellus--" ("base", xpos="far_left", ypos="head") - ton "I'm not even part of your silly bet..." ("upset", "base", "shocked", "downR") - cho "Bet?" ("angry", "narrow", "raised", "mid") - gen "Let's not concern ourselves with Snape. He's out of the picture anyway." ("base", xpos="far_left", ypos="head") - cho "What bet?" ("open", "narrow", "angry", "mid") - ton "So, shall we wrap things up, Professor?" ("base", "happyCl", "base", "mid") - gen "Yes please." ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid") - - if game.daytime: - ton "Let me escort you back to class, Miss Chang." ("soft", "base", "base", "L", hair="horny") - else: - ton "Let me escort you back to your common room. It's getting late." ("soft", "base", "base", "L", hair="horny") - - # Fade to black. - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - - # The girls get dressed and wait at the door. - $ cho.wear("all") - $ tonks.wear("all") - - # Reset zorder. - $ cho.zorder = 15 # reset to default. - $ tonks.zorder = 15 # reset to default. - $ cho_chibi.zorder = 3 # reset to default. - $ tonks_chibi.zorder = 3 # reset to default. - hide screen cho_cloth_pile - - call cho_chibi("stand", 690, "base", flip=False) - call ton_chibi("stand", "door", "base", flip=False) - - call play_sound("climb_desk") - pause 2 - - hide screen blkfade - with d5 - pause .5 - - ton "Thank you for your time, Professor." ("base", "base", "base", "mid", ypos="head", flip=False) - if game.daytime: - cho "Good day, Sir." ("base", "base", "base", "mid", ypos="head", flip=False) - else: - cho "Good night, Sir." ("base", "base", "base", "mid", ypos="head", flip=False) - gen "Until next time." ("grin", xpos="far_left", ypos="head") - call bld("hide") - pause .1 - - # They both leave. - call cho_chibi(flip=True) - pause .3 - call ton_chibi(flip=True) - with d3 - pause .2 - - call play_sound("door") - hide screen cho_chibi - hide screen tonks_chibi - with d3 - pause .5 - - - # Reset clothing. - $ cho.equip(cho_outfit_last) - $ tonks.equip(ton_outfit_last) - - $ tonks_busy = True - $ snape_busy = True - - # End event. - jump end_cho_strip_event - - -### Tier 3 - Event 3 ### - -# Cho and Tonks strip on your desk again. -# Tonks gives Cho a demonstration of her Metamorphmagi ability. - -label cc_pf_strip_T3_intro_E3: - gen "[cho_name], why don't we summon your teacher again?" ("base", xpos="far_left", ypos="head") - cho "So we can give you another show, [cho_genie_name]?" ("soft", "narrow", "angry", "mid") # annoyed - gen "Well, if you insist on it..." ("grin", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - gen "Surely you haven't forgotten the actual reason we summoned her..." ("base", xpos="far_left", ypos="head") - cho "Of course not..." ("open", "closed", "base", "mid") - cho "I wanted to ask her about what she did during the Slytherin match..." ("annoyed", "narrow", "base", "mid") - cho "But then Professor Snape busted in before I got a chance to." ("angry", "narrow", "angry", "R", cheeks="blush") - gen "Right... let's give it another go then, shall we?" ("base", xpos="far_left", ypos="head") - cho "But no Snape this time!" ("soft", "narrow", "angry", "mid", cheeks="blush") - cho "If you expect me to expose myself to Professor Snape again, then you're sadly mistaken!" ("clench", "base", "angry", "mid", cheeks="blush") - gen "No more Snivellus... got it..." ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "angry", "mid") - gen "Wait here at my desk while I summon your Teacher." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("soft", "narrow", "worried", "R", cheeks="blush") - - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - pause 1 - - # (Cho's outfit doesn't change this time.) - #$ cho_outfit_last.save() # Store current outfit. - $ ton_outfit_last.save() # Store current outfit. - $ her_outfit_last.save() # Store current outfit. - #$ cho.equip(cho_outfit_default) - $ tonks.equip(ton_outfit_default) # Equip Tonks default clothing. - $ hermione.equip(her_outfit_default) #Equip Hermione default clothing. - $ cho.strip("robe") # removes school robe. - - call cho_chibi("stand", "desk", "base", flip=True) - - call play_music("stop") - hide screen blkfade - with d5 - pause .8 - - call nar(">You attempt to summon Tonks to your office.") - pause .2 - - call bld - gen "..." ("base", xpos="far_left", ypos="head") - cho "..." ("quiver", "narrow", "base", "L", ypos="head", flip=True) - - - # Fireplace turns on. - if not fire_in_fireplace: - pause .2 - $ fire_in_fireplace = True - $ fireplace_OBJ.foreground = "fireplace_fire" - with d5 - pause .8 - - gen "..................?" ("base", xpos="far_left", ypos="head") - call bld("hide") - pause .5 - - # Fire flashes green. # Tonks appears in the fireplace. - $ renpy.sound.play("sounds/fire_woosh.ogg") - $ fire_in_fireplace = True - show screen gfx_effect(690, 330, img="smoke", zoom=0.5) - pause .1 - $ fireplace_OBJ.foreground = "fireplace_greenfire" - call ton_chibi("stand", 642, 392, flip=False) # In fireplace - with d5 - - # Tonks walks next to Cho. - call ton_walk(540, "base") - pause .8 - - # Fireplace turns off. - stop bg_sounds #Stops playing the fire SFX. - $ fire_in_fireplace = False - $ fireplace_OBJ.foreground = None - with d5 - pause .2 - - call play_music("tonks") - cho "" ("base", "narrow", "worried", "L", cheeks="blush", xpos="left", ypos="base", flip=True) - ton "You called?" ("base", "narrow", "base", "mid", xpos="right", ypos="base") - - cho "Hello, Professor." ("soft", "narrow", "worried", "L", cheeks="blush") - gen "What{w=0.3} {b}the fuck{/b} just happened?" ("angry", xpos="far_left", ypos="head") - ton "Oh, my apologies... I forgot we don't usually use the school's floo powder network." ("grin", "base", "base", "mid") - gen "Network? Do I need to set a password on my fireplace now?" ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "base", "mid") - gen "Could anyone just poof in here as they please?" ("base", xpos="far_left", ypos="head") - ton "At the moment, yes." ("silly", "happyCl", "base", "mid") - gen "(So much for privacy in this place...)" ("base", xpos="far_left", ypos="head") - ton "You might want to renew the protective enchantments that were cast on it. It's quite the security flaw." ("upset", "base", "raised", "mid") - gen "I'll have the {b}IT{/b} guy sort it out... A simple firewall should do it..." ("base", xpos="far_left", ypos="head") - ton "Anyhow, I thought it'd be faster than walking those dreadful stairs." ("base", "base", "base", "mid") - ton "Even if it's a bit of a waste of powder..." ("upset", "base", "shocked", "down") - cho "They are by no means dreadful, Professor Tonks." ("open", "narrow", "base", "L") - ton "" ("base", "base", "raised", "L") - cho "Without a gym, there's only a limited number of ways to do any exercises here at school." ("open", "closed", "base", "mid") - - menu: # change - gen "(...)" ("base", xpos="far_left", ypos="head") - "\".............\"": # Genie lets them speak - cho "I take divination lessons solely as an opportunity to climb the north tower once a week." ("base", "happyCl", "base", "mid") - ton "Of course you do..." ("base", "base", "base", "L") - ton "(Those thick legs have to come from somewhere.)" ("grin", "narrow", "base", "mid", hair="horny") - ton "I had a hunch that something special was in store for me today." ("horny", "narrow", "raised", "mid", hair="horny") - - "\"You could exercise with me!\"": - gen "I can give you a workout of the likes you've never seen!" ("grin", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "annoyed", "mid", hair="horny") - cho "*Hmm*?" ("soft", "base", "raised", "mid") - gen "I'll wear you out until your muscles are sorer than ever!" ("angry", xpos="far_left", ypos="head") - cho "Really!?" ("crooked_smile", "base", "base", "mid") # happy - ton "Now-now, Professor. Don't make promises you can't keep..." ("soft", "narrow", "base", "mid", hair="horny") - cho "Why haven't you shown me any of these workouts, sir?" ("open", "base", "angry", "mid") - gen "We'll get to it at some point I'm sure." ("base", xpos="far_left", ypos="head") - ton "I sure wouldn't mind seeing you try out his techniques as well." ("grin", "narrow", "base", "L", hair="horny") - gen "No objections here!" ("grin", xpos="far_left", ypos="head") - cho "Wicked!" ("grin", "happyCl", "base", "mid") - - ton "Come on, Miss Chang..." ("open", "narrow", "base", "L", hair="horny") - cho "" ("annoyed", "base", "base", "L") - ton "Let's give our headmaster a good show!" ("crooked_smile", "narrow", "base", "mid", hair="horny") - cho "Alright." ("open", "happyCl", "base", "mid") - ton "Now, after you..." ("horny", "narrow", "base", "L", hair="horny") - - # Cho and Tonks hop onto the desk. - call hide_characters - hide screen bld1 - with d3 - pause .2 - - call cho_chibi(flip=False) - with d3 - pause .1 - - show screen blkfade - with d5 - - - # Tonks chibi on desk next to Cho's. # Tonks is facing left - - call cho_chibi("stand", 314, 366, flip=True) - call ton_chibi("stand", 370, 360, flip=False) - - call play_sound("climb_desk") - pause 2 - - call play_music("cho") - hide screen blkfade - with d5 - pause .8 - - $ cho.zorder = 16 # in front of Tonks. 15 is default. - cho "" ("base", "narrow", "base", "L", cheeks="heavy_blush", xpos=280, ypos="base", flip=True) - ton "..." ("base", "narrow", "raised", "L", hair="horny", xpos=345, ypos="base") - ton "Are you watching closely, Professor?" ("open", "narrow", "base", "mid", hair="horny") - gen "You bet!" ("grin", xpos="far_left", ypos="head") - ton "I wouldn't want you to miss what's about to happen..." ("base", "narrow", "base", "mid", hair="horny") - - # Cho and Tonks undress. - $ temp_var = False - if cho.is_any_worn("robe", "top", "bottom"): - $ temp_var = True - ton "Let me help you with that, Miss Chang." ("soft", "narrow", "base", "L", hair="horny") - ton "" ("base", "narrow", "base", "L", hair="horny") - - # Remove Cho's robe. #TODO are they not already removed near the start of the event? - if cho.is_worn("robe"): - pause .2 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe") - with d3 - pause .5 - cho "" ("base", "narrow", "base", "R", cheeks="blush") - pause .8 - - # Remove Cho's top. - if cho.is_worn("top"): - pause .2 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("top") - with d3 - pause .5 - cho "" ("horny", "narrow", "raised", "R", cheeks="heavy_blush") - pause .8 - - call nar(">Tonks swiftly pulls the girl's top over her chiselled frame.") - - # Remove Cho's bottom. - if cho.is_worn("bottom"): - cho "..." ("horny", "narrow", "base", "mid", cheeks="heavy_blush") # embarrassed - pause .2 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bottom") - show screen cho_cloth_pile - with d3 - pause .5 - cho "" ("horny", "narrow", "raised", "R", cheeks="heavy_blush") - pause .8 - - call nar(">A quick tug by her teacher, and Cho's bottom clothing slips down her muscular things.") - - if temp_var == True: - cho "Please, Professor...{w=0.4} not so fast." ("clench", "happyCl", "base", "mid", cheeks="heavy_blush") # embarrassed? - gen "..." ("grin", xpos="far_left", ypos="head") - ton "*Hmm*... Okay then." ("base", "narrow", "raised", "mid", hair="horny") - ton "I'll go next, shall I?" ("grin", "narrow", "base", "mid", hair="horny") - else: # Cho was already in underwear or nude. - ton "Couldn't you have waited for me, Miss Chang?" ("soft", "narrow", "base", "L", hair="horny") - ton "I would have loved to help you undress..." ("base", "narrow", "base", "L", hair="horny") - gen "No, that's just the girl's regular dress code around my office." ("base", xpos="far_left", ypos="head") - cho "" ("clench", "narrow", "base", "downR", cheeks="heavy_blush") - ton "Is that so..." ("soft", "narrow", "raised", "mid", hair="horny") - ton "*Hmm*... I suppose I should follow suit, then?" ("base", "narrow", "base", "mid", hair="horny") - cho "..." ("horny", "narrow", "base", "R", cheeks="blush") # embarrassed - - gen "Go right ahead!" ("grin", xpos="far_left", ypos="head") - ton "I've been dying to get out of this stuffy coat." ("open", "base", "shocked", "down") - call play_music("tonks") - ton "" ("base", "base", "base", "down") - pause .2 - - # Tonks removes her coat. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("robe") - with d3 - pause .8 - - ton "There... much better, don't you think?" ("base", "narrow", "base", "mid") - cho "..." ("base", "narrow", "worried", "downR", cheeks="heavy_blush") #embarrassed - ton "Miss Chang, could you switch places with me, please." ("open", "base", "shocked", "L") - cho "*Ehm*... Y-Yes. Of course..." ("soft", "narrow", "worried", "L", cheeks="heavy_blush") - - # Tonks' sprite moves in front of Cho, both are facing Genie. - call hide_characters - hide screen bld1 - with d3 - pause .5 - - $ tonks_chibi.zorder = 2 # default is 3 - call cho_chibi("stand", 370, 360, flip=False) - call ton_chibi("stand", 320, 360, flip=False) - with d3 - pause .5 - - $ cho.zorder = 15 # reset to default. - $ tonks.zorder = 16 # in front of Cho # Default is 15. - cho "" ("horny", "narrow", "base", "mid", cheeks="heavy_blush", xpos=345, ypos="base", flip=False) - ton "..." ("crooked_smile", "narrow", "base", "mid", hair="horny", xpos=215, ypos="base", flip=False) - - ton "Miss Chang, would you be so kind and assist me with my shirt?" ("soft", "base", "shocked", "down", hair="horny") - cho "Yes, Professor..." ("smile", "narrow", "base", "down", cheeks="heavy_blush") - pause .2 - cho "" ("base", "narrow", "raised", "down", cheeks="heavy_blush", xpos=315, ypos="base", flip=False, trans=d5) # moves closer to Tonks. - pause .8 - cho "" ("horny", "narrow", "base", "down", cheeks="heavy_blush") - pause .2 - - # Remove Tonks top. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("top") - with d3 - pause .5 - - ton "" ("horny", "narrow", "base", "mid", hair="horny") - pause .8 - - call nar(">With some effort, Cho manages to remove her teacher's shirt.") - ton "Thank you, sweetie." ("soft", "narrow", "raised", "downR", hair="horny") - cho "" ("base", "narrow", "base", "mid", cheeks="heavy_blush") - ton "*Hmm*..." ("annoyed", "base", "raised", "down", hair="horny") - ton "I guess my tight trousers are next..." ("base", "narrow", "base", "mid", hair="horny") - cho "..." ("horny", "narrow", "base", "down", cheeks="heavy_blush") # blush - ton "I'll take it from here..." ("soft", "narrow", "shocked", "downR", hair="horny") - pause .2 - - # Tonks turns around facing Cho. - call ton_chibi(flip=True) - #$ tonks.zorder = 15 # Reset to default. - #$ cho.zorder = 16 # in front of Tonks # Default is 15. - #cho "" ("base", "narrow", "raised", "L", cheeks="heavy_blush", xpos=345, ypos="base", flip=False) - ton "Let me show you how it's done. {heart}" ("crooked_smile", "narrow", "base", "down", hair="horny", xpos=280, ypos="base", flip=True, trans=d5) - - cho "..." ("horny", "narrow", "worried", "down", cheeks="heavy_blush") # lip bite - ton "With trousers like these, you should start slowly... that's how the headmaster likes it. {heart}" ("horny", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") - - call nar(">Tonks carefully tugs at the thin fabric of her leggings, and slowly pulls them past her cheeks...", "start") - call nar(">As the fabric bundles up between her fingers, reaching lower and lower past her thighs, she pulls them off in one swift motion.", "end") - - # Remove Tonks bottom. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("bottom") - with hpunch - pause .5 - - ton "" ("horny", "narrow", "raised", "mid", hair="horny", cheeks="blush") - pause .8 - - gen "Not wearing any underwear, I see..." ("base", xpos="far_left", ypos="head") - ton "I avoid it when I can..." ("crooked_smile", "narrow", "base", "mid", hair="horny") - ton "Even while I'm in uniform. {heart}" ("grin", "wink", "raised", "mid", hair="horny") #wink - ton "" ("base", "narrow", "base", "mid", hair="horny") - gen "Anything you'd like to say, Miss Chang?" ("base", xpos="far_left", ypos="head") - gen "It's not every day you get to see such a gorgeous woman strip for you..." ("grin", xpos="far_left", ypos="head") - gen "(...)" ("base", xpos="far_left", ypos="head") - pause .5 - - # Slap Tonks' ass! - call slap_her - cho "" ("open", "wide", "base", "mid", cheeks="heavy_blush") - ton "!!!" ("clench", "shocked", "base", "stare", hair="scared", cheeks="heavy_blush") # shocked - call nar(">You give Tonks a hard slap on her ass.") - cho "" ("horny", "base", "base", "down", cheeks="heavy_blush") - ton "Ouch...{w=0.4} Professor!" ("crooked_smile", "narrow", "annoyed", "mid", hair="horny", cheeks="heavy_blush") - gen "Right, should've warned you, shouldn't I..." ("base", xpos="far_left", ypos="head") - - menu: - "-Slap it one more time!-": - call slap_her - ton "..." ("clench", "base", "shocked", "ahegao", hair="horny", cheeks="blush") #pout #blush - gen "Want another?" ("grin", xpos="far_left", ypos="head") - ton "Yes, please. {heart}" ("crooked_smile", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") - - menu: - "-Slap it again!-": - call slap_her - ton "*Mmm*... Spank me, Sir!" ("horny", "narrow", "angry", "mid", hair="horny", cheeks="heavy_blush") - - menu: - "-Again!-": - pass - call slap_her - ton "More...{w=0.3} Harder!" ("clench", "base", "angry", "mid", hair="angry", cheeks="heavy_blush") - cho "..." ("disgust", "happyCl", "worried", "mid", cheeks="heavy_blush") # blushing #lip bite #looking away - - menu: - "-Slap it hard!-": - pass - call slap_her - ton "" ("clench", "base", "shocked", "ahegao", hair="scared", cheeks="heavy_blush") - pause .5 - call slap_her - pause .3 - call slap_her - pause .3 - call slap_her - cho "" ("horny", "narrow", "worried", "mid", cheeks="heavy_blush") - ton "*Hngh*..." ("upset", "narrow", "base", "ahegao", hair="horny", cheeks="heavy_blush") - ton "Thank you, Professor. {heart}{heart}{heart}" ("crooked_smile", "narrow", "worried", "mid", hair="horny", cheeks="heavy_blush") - gen "You're welcome." ("grin", xpos="far_left", ypos="head") - cho "..." ("horny", "narrow", "base", "downR", cheeks="heavy_blush") - - "\"Cho, you do the honours!\"": - cho "What?! I can't--" ("open", "wide", "base", "mid", cheeks="heavy_blush") - pause .2 - - # Tonks turns around. - call ton_chibi(flip=False) - ton "" ("base", "base", "base", "mid", hair="horny", cheeks="blush", xpos=215, ypos="base", flip=False, trans=d5) - pause .5 - - ton "It's fine, Cho. Just give it a little slap." ("soft", "narrow", "base", "downR", hair="horny", cheeks="blush") - cho "..." ("angry", "base", "raised", "down", cheeks="heavy_blush") - call slap_her - ton "That's it! Try a little harder..." ("horny", "narrow", "base", "downR", hair="horny", cheeks="blush") - call slap_her - ton "One more time..." ("soft", "narrow", "shocked", "up", cheeks="blush") - call slap_her - ton "*Hngh*..." ("upset", "narrow", "shocked", "ahegao", hair="horny", cheeks="heavy_blush") - pause .2 - - # Tonks turns around. - call ton_chibi(flip=True) - ton "" ("base", "base", "base", "mid", xpos=280, ypos="base", flip=True, trans=d5) - pause .8 - - ton "Thank you, sweetie." ("crooked_smile", "narrow", "base", "L", cheeks="heavy_blush") - cho "..." ("quiver", "narrow", "worried", "down", cheeks="heavy_blush") - - "-Stop here...-": - pass - - gen "Tell me, Cho...{w=0.3} do you like your teacher's body?" ("base", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") - cho "Of course I do." ("open", "narrow", "base", "down", cheeks="heavy_blush") - ton "" ("base", "narrow", "base", "down", hair="horny", cheeks="blush") - cho "She's very fit and athletic and pretty, just like me." ("crooked_smile", "happyCl", "base", "mid", cheeks="blush") - gen "That's not what I meant..." ("base", xpos="far_left", ypos="head") - gen "Does her body turn you on?" ("grin", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "annoyed", "mid", hair="horny", cheeks="blush") # eager look at Cho. - cho "Sir!" ("clench", "wide", "base", "mid", cheeks="heavy_blush") - gen "It's a simple question..." ("base", xpos="far_left", ypos="head") - cho "Do I really need to answer?" ("clench", "happyCl", "worried", "mid", cheeks="heavy_blush") - ton "Please, Miss Chang..." ("open", "narrow", "base", "L", hair="horny", cheeks="blush") - ton "I'm quite curious about your thoughts as well. {heart}" ("base", "narrow", "base", "L", hair="horny", cheeks="blush") - ton "We'll keep it our little secret, I promise..." ("crooked_smile", "narrow", "annoyed", "down", hair="horny", cheeks="blush") - cho "*Hmm*..." ("mad", "narrow", "worried", "down", cheeks="heavy_blush") - cho "Fine...{w=0.3} I do think you're quite attractive, Professor." ("soft", "narrow", "worried", "downR", cheeks="heavy_blush") - #gen "Thanks." ("grin", xpos="far_left", ypos="head") - #cho "" ("annoyed", "narrow", "base", "mid") - #ton "Very funny, Professor Dumbledore... But I believe she was talking to me." ("open", "narrow", "raised", "mid", hair="horny") - ton "..." ("base", "narrow", "annoyed", "mid", hair="horny", cheeks="blush") # sharp look at Genie - cho "Especially for a teacher." ("clench", "narrow", "raised", "down", cheeks="heavy_blush") - ton "For a teacher?" ("horny", "narrow", "base", "L", hair="horny") - cho "I mean--" ("soft", "happyCl", "worried", "mid", cheeks="heavy_blush") #clench #worried - ton "*Ha-ha*... I'll have to add that to my resume." ("grin", "narrow", "base", "mid", hair="horny") - cho "" ("base", "narrow", "worried", "down", cheeks="heavy_blush") - - ton "Although, teachers shouldn't be employed for their looks, but for their competence, isn't that right?" ("open", "narrow", "annoyed", "mid", hair="horny", cheeks="blush") - gen "What?" ("base", xpos="far_left", ypos="head") - gen "Oh-- I mean yes...{w=0.3} of course..." ("angry", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*..." ("base", "happyCl", "base", "mid", hair="horny", cheeks="blush") - ton "Enough with the small talk -- let's get these clothes off!" ("soft", "base", "annoyed", "mid", hair="horny", cheeks="blush") - - call play_music("stop") - ton "" ("horny", "narrow", "base", "mid", hair="horny") - pause .1 - - # Tonks removes the rest of her clothes. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("all") - with hpunch - pause .2 - - cho "" ("clench", "narrow", "worried", "mid", cheeks="heavy_blush") - pause .5 - - call nar(">Within a blink of an eye, Tonks has removed all of her remaining clothing.") - # nar "One minute her clothes were there, and then they were gone! It was like magic!" - cho "..." ("clench", "narrow", "worried", "downR", cheeks="heavy_blush") - ton "Get in front of me, Miss Chang." ("open", "narrow", "base", "L", hair="horny") - - call play_music("cho") - if cho.is_worn("bra"): - ton "It's time you show your headmaster your cute little breasts as well." ("soft", "narrow", "base", "mid", hair="horny") - else: - ton "Let's show your headmaster these cute little breasts of yours." ("soft", "narrow", "base", "mid", hair="horny") - - cho "They aren't that little..." ("annoyed", "narrow", "worried", "down", cheeks="heavy_blush") # annoyed - ton "No, you're right, sweetie..." ("soft", "narrow", "base", "down", hair="horny") - ton "They're just about perfect." ("horny", "narrow", "raised", "down", hair="horny") - ton "Now stand here so the Headmaster can see your tits." ("crooked_smile", "narrow", "base", "mid", hair="horny", cheeks="blush") - cho "..." ("annoyed", "happyCl", "base", "mid", cheeks="heavy_blush") - pause .2 - - # Cho moves in front. - $ cho.zorder = 16 # in front of Tonks # Default is 15. - $ tonks.zorder = 15 # reset to default. - cho "" ("angry", "narrow", "base", "down", cheeks="heavy_blush", xpos=300, ypos="base", trans=d5) - pause .8 - - # Remove Cho's bra. - if cho.is_worn("bra"): - - ton "Let me help you with that, Miss Chang." ("base", "narrow", "raised", "down", hair="horny") - pause .2 - - # Remove Cho top. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bra") - with d3 - pause .5 - - cho "" ("base", "happyCl", "worried", "mid", cheeks="heavy_blush") - pause .8 - - call nar(">The lust filled teacher effortlessly removes the bra of her student.") - - cho "..." ("crooked_smile", "narrow", "worried", "mid", cheeks="heavy_blush") - ton "Fucking perfect {heart} aren't they, Professor?..." ("horny", "narrow", "base", "mid", hair="horny") - ton "Move next to me, Cho. I need you to stand -- right here {heart}{heart}{heart}" ("open", "base", "base", "downR", hair="horny") - cho "*Ehm*... yes, Professor." ("soft", "narrow", "worried", "L", cheeks="heavy_blush") - call hide_characters - hide screen bld1 - with d3 - pause .5 - - # Cho turns around, facing Tonks. - call cho_chibi("stand", 314, 366, flip=True) - call ton_chibi("stand", 370, 360, flip=False) - with d3 - pause .5 - - cho "" ("base", "narrow", "base", "mid", cheeks="heavy_blush", xpos=280, ypos="base", flip=True) - ton "..." ("grin", "narrow", "base", "L", hair="horny", xpos=345, ypos="base", flip=False, trans=d5) - - call play_sound("giggle") - ton "*giggles*..." ("grin", "narrow", "shocked", "mid", hair="horny") - ton "This is so much fun!" ("base", "narrow", "base", "up", hair="horny", cheeks="blush") - - if cho.is_worn("panties"): - cho "..." ("horny", "narrow", "worried", "L", cheeks="heavy_blush") - ton "Lets unveil this magnificent thing, next!" ("crooked_smile", "narrow", "base", "down", hair="horny") - - call nar(">Tonks eyes up Cho's panties and before you can blink, she undresses her completely.") - cho "Professor, not so fast--" ("horny", "narrow", "worried", "down", cheeks="heavy_blush") - pause .2 - - # Remove Cho Panties + Everything else. - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("all") - with vpunch - pause .5 - - cho "" ("horny", "narrow", "raised", "down", cheeks="heavy_blush") - pause .8 - - cho "Ah!" ("mad", "happyCl", "worried", "mid", cheeks="heavy_blush") # startled? - - else: - cho "Glad you're enjoying it, Professor..." ("horny", "narrow", "worried", "L", cheeks="heavy_blush") - - #Remove any remaining items (no sound since she might be naked) - $ cho.strip("all") - with d3 - pause .5 - - cho "" ("horny", "narrow", "base", "down", cheeks="blush") - gen "She's not the only one!" ("grin", xpos="far_left", ypos="head") - cho "" ("horny", "narrow", "base", "mid", cheeks="blush") - call ctc - - - ton "*Hmm*... I can't decide which teacher has the best view now..." ("horny", "narrow", "base", "mid", hair="horny", cheeks="blush") - gen "Looking pretty good from where I'm sitting..." ("grin", xpos="far_left", ypos="head") - cho "..." ("smile", "narrow", "worried", "mid", cheeks="heavy_blush") - call play_music("stop") - - - ## Transformation Section ## - gen "Now then, Miss Chang..." ("base", xpos="far_left", ypos="head") - gen "I think this would be the perfect time to ask Professor Tonks your question." ("grin", xpos="far_left", ypos="head") - cho "W-what...{w=0.4} Oh, yes!" ("soft", "base", "raised", "mid", cheeks="heavy_blush") - ton "*Hmm*?" ("base", "base", "raised", "L", hair="horny") - cho "Professor Dumbledore told me about how you helped me during the Slytherin game." ("open", "base", "base", "L", cheeks="blush") - ton "What? You told her I'm a Metamorphmagi?" ("clench", "wide", "worried", "mid", hair="horny") - cho "You are?!?" ("open", "wide", "raised", "L", cheeks="blush") - cho "That's so cool!" ("grin", "happyCl", "base", "mid", cheeks="heavy_blush") - ton "Did I just spoil the surprise myself?{w=0.5} Whoopsie!" ("mad", "narrow", "worried", "downR", hair="horny", cheeks="heavy_blush") - gen "Well... I didn't exactly tell her that much." ("base", xpos="far_left", ypos="head") - ton "Well, what's done is done..." ("upset", "narrow", "worried", "downR", hair="horny", cheeks="blush") - - call play_music("trance") - #ton "Can I have your word that you won't tell anyone, Cho?" ("base", "base", "base", "mid") - #cho "Yes, you have my word! I promise I won't tell anyone!" ("base", "base", "base", "mid") - #ton "*Hmm*... Well, seeing the circumstances I guess that's good--" ("base", "base", "base", "mid") - gen "Show the girl your \"meta thing\" already!" ("grin", xpos="far_left", ypos="head") - ton "My \"metamorphmagi\" ability." ("soft", "narrow", "base", "mid") - cho "So, is this what you showed us in class before, professor?" ("crooked_smile", "base", "base", "mid", cheeks="blush") - cho "You were changing your nose into that of a pig, and then a duck, and then--" ("silly", "happyCl", "base", "mid", cheeks="blush") - ton "Yes... Well, that's usually about as much as I show people." ("crooked_smile", "narrow", "raised", "L") - ton "Most aren't aware of what else I can do. It's far more beneficial to me if people are unaware..." ("grin", "narrow", "shocked", "mid") - ton "You see, I can do far more than just change my nose, or the colour of my hair..." ("soft", "narrow", "raised", "L") - cho "Wicked!... What else can you do?" ("grin", "base", "base", "L", cheeks="blush") - gen "How about a busty, stuck-up Gryffindor slut!" ("grin", xpos="far_left", ypos="head") - ton "Gladly." ("grin", "narrow", "base", "mid") - stop music - pause .8 - - # Transforms into Hermione - call play_sound("magic") - hide tonks_main - $ hermione.strip("all") - $ cho_chibi.zorder = 3 # Reset to default. - $ hermione_chibi.zorder = 2 # behind Cho. Default is 3. - call ton_chibi("hide") - call her_chibi("stand", 370, 360, flip=False) - her "" ("crooked_smile", "narrow", "base", "mid", xpos=345, ypos="base", flip=False, trans=morph) - pause .2 - - cho "" ("open", "wide", "raised", "L", cheeks="heavy_blush") - call ctc - - call play_music("trance") - cho "{b}Holy shit!{/b}" ("open", "wide", "raised", "L", cheeks="heavy_blush") - gen "Watch your language, girl..." ("base", xpos="far_left", ypos="head") - her "" ("soft", "narrow", "angry", "L") - ton "Yes. Watch your foul mouth, Chang!" - cho "I-I'm sorry..." ("clench", "happyCl", "worried", "mid", cheeks="heavy_blush") - gen "I'm just kidding... Swear as much as you want -- It's not going to bring up the age-ratings..." ("base", xpos="far_left", ypos="head") - her "" ("annoyed", "narrow", "base", "down") - ton "*Hmm*..." - her "" ("soft", "narrow", "annoyed", "down") - ton "I forgot Miss Granger is a bit heavier in the bosom area than I'm used to..." - her "" ("grin", "narrow", "angry", "L") - ton "What do you think, Miss Chang... Do they look that much larger than my own?" - cho "I..." ("clench", "narrow", "worried", "down", cheeks="heavy_blush") - cho "I'm sorry, this is so weird!" ("open", "happyCl", "worried", "mid", cheeks="heavy_blush") - her "" ("grin", "narrow", "base", "down") - ton "*Hmm*? I thought you'd like them..." - her "" ("crooked_smile", "narrow", "angry", "L") - ton "I've heard rumours that you're quite fond of these tits, Miss Chang." - cho "Sorry! It's not that... It's just... you look exactly like her!" ("disgust", "narrow", "worried", "down", cheeks="heavy_blush") - cho "You even sound like her!" ("soft", "narrow", "worried", "L", cheeks="heavy_blush") - - $ hermione.get_equipped("hair").set_color([[255, 87, 171, 255], [255, 210, 227, 255], [230, 141, 32, 255]]) - # Original: [[255, 105, 180, 255], [251, 205, 222, 255], [230, 141, 32, 255]] - # Brown: [[152, 89, 48, 255], [195, 137, 89, 255], [230, 141, 32, 255]] - her "" ("crooked_smile", "happyCl", "base", "mid", cheeks="blush") - call play_sound("giggle") - ton "*giggles*..." - - $ hermione.get_equipped("hair").set_color([[152, 89, 48, 255], [195, 137, 89, 255], [230, 141, 32, 255]]) - her "" ("base", "narrow", "base", "R") - ton "Naturally... That's the intended effect." - cho "If I didn't know any better, I'd think you were her!" ("horny", "narrow", "raised", "down", cheeks="heavy_blush") - her "" ("crooked_smile", "closed", "angry", "mid") - ton "*Mhmm*... Last time I looked like this in front of you, you couldn't tell either." - cho "What?! When was that?" ("soft", "base", "worried", "L", cheeks="heavy_blush") - gen "Right after the last game, if I remember correctly." ("base", xpos="far_left", ypos="head") - her "" ("base", "narrow", "base", "mid") - ton "Oh, that wasn't the only time, Professor." - gen "It wasn't?" ("base", xpos="far_left", ypos="head") - her "" ("grin", "narrow", "base", "mid") - ton "I sometimes stroll around the school grounds, disguised as one of the girls... wearing nothing but a school robe..." - - if hg_pr_flash.counter > 1: - her "" ("crooked_smile", "narrow", "base", "down") - ton "And If you ever had a boy say he got some tits flashed at him by Miss Granger... then it was most likely me." - cho "That's awesome!" ("grin", "base", "base", "L", cheeks="blush") - gen "Well, I did tell Hermione to do it herself before." ("base", xpos="far_left", ypos="head") - her "" ("open", "wide", "base", "stare", cheeks="blush") - ton "Seriously? I had no idea!" - cho "Me neither!" ("soft", "wide", "raised", "mid", cheeks="blush") - her "" ("base", "narrow", "base", "down") - ton "I guess that's one less thing to worry about while I do it..." - - cho "I hope you didn't do that kind of stuff while you looked like me, Professor!" ("open", "narrow", "angry", "L", cheeks="blush") - her "" ("annoyed", "base", "base", "R") - ton "*Ehm*..." - cho "If I find out you've shown some boys my breasts, then--" ("open", "closed", "angry", "mid", cheeks="blush") - her "" ("smile", "happyCl", "worried", "mid", cheeks="blush") - ton "Of course not, sweetie." - cho "..." ("annoyed", "narrow", "angry", "L", cheeks="blush") - her "" ("grin", "base", "base", "R", cheeks="blush") # small text - ton "It was your ass that I showed them..." - cho "W-What?!" ("clench", "wide", "angry", "L", cheeks="heavy_blush") - gen "*He-he-he-he*!" ("grin", xpos="far_left", ypos="head") - cho "" ("clench", "base", "angry", "L", cheeks="heavy_blush") - her "" ("soft", "closed", "base", "mid") - ton "It's not like you haven't done that yourself already..." - her "" ("base", "narrow", "base", "L") - ton "In front of the entire school, no less..." - cho "..." ("annoyed", "narrow", "angry", "L", cheeks="heavy_blush") # blush - her "" ("open", "closed", "base", "mid") - ton "Well, that's enough fun for today." - - # Tonks transforms back. - call play_sound("magic") - hide hermione_main - call her_chibi("hide") - $ cho_chibi.zorder = 3 # Reset to default. - $ tonks_chibi.zorder = 2 # behind Cho. Default is 3. - call ton_chibi("stand", 370, 360, flip=False) - ton "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", hair="neutral", flip=False, trans=morph) # Hermione brown - pause .2 - - cho "" ("clench", "base", "raised", "down", cheeks="heavy_blush") - call ctc - - ton "Let's do this again some other time, shall we." ("horny", "narrow", "raised", "mid", hair="horny") - gen "Gladly." ("grin", xpos="far_left", ypos="head") - ton "And, Miss Chang... if you ever want to have some quiet time with Miss Granger... my office door is always open." ("grin", "narrow", "base", "L", hair="horny", cheeks="heavy_blush") - cho "I-- *Ehm*..." ("soft", "narrow", "worried", "downR", cheeks="heavy_blush") # super embarrassed - gen "Maybe you could wait with that until Quidditch is over." ("base", xpos="far_left", ypos="head") - gen "She has to stay focused, you know..." ("base", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "worried", "down", cheeks="heavy_blush") - ton "*Sigh*... Alright..." ("open", "closed", "shocked", "mid", hair="horny") - - # Fade to black. - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - - # The girls get dressed and wait at the door. - $ cho.wear("all") - $ tonks.wear("all") - $ hermione.wear("all") - - # Reset zorder. - $ cho.zorder = 15 # reset to default. - $ tonks.zorder = 15 # reset to default. - $ hermione.zorder = 15 # reset to default. - $ cho_chibi.zorder = 3 # reset to default. - $ tonks_chibi.zorder = 3 # reset to default. - $ hermione_chibi.zorder = 3 # reset to default. - hide screen cho_cloth_pile - - call cho_chibi("stand", 690, "base", flip=False) - call ton_chibi("stand", "door", "base", flip=False) - - call play_sound("climb_desk") - pause 2 - - call play_music("stop") - hide screen blkfade - with d5 - pause .5 - - call bld - gen "And Tonks, next time we do this, wear the clothes I usually ask you to wear around my office." ("grin", xpos="far_left", ypos="head") - ton "With pleasure." ("base", "narrow", "base", "mid", hair="horny", ypos="head", flip=False) - - if game.daytime: - ton "I'll escort you back to classes, Miss Chang." ("open", "narrow", "base", "L", hair="horny") - ton "Have a good day, Professor." ("base", "narrow", "base", "mid", hair="horny") - else: - ton "I'll escort you back to your dormitories, Miss Chang." ("open", "narrow", "base", "L", hair="horny") - ton "Have a good night, Professor." ("base", "narrow", "base", "mid", hair="horny") - - gen "Until next time." ("grin", xpos="far_left", ypos="head") - cho "..." ("upset", "happyCl", "worried", "mid", cheeks="heavy_blush", ypos="head", flip=False) - call bld("hide") - pause .1 - - # They both leave. - call cho_chibi(flip=True) - pause .3 - call ton_chibi(flip=True) - with d3 - pause .2 - - call play_sound("door") - hide screen cho_chibi - hide screen tonks_chibi - with d3 - pause .5 - - - # Reset clothing. - #$ cho.equip(cho_outfit_last) - $ tonks.equip(ton_outfit_last) - $ hermione.equip(her_outfit_last) - - $ tonks_busy = True - - # End event. - jump end_cho_strip_event - - -label cc_pf_strip_T3_repeat: - gen "I'm in the mood for another strip-show, [cho_name]." ("base", xpos="far_left", ypos="head") - cho "Of course you are, [cho_genie_name]." ("base", "narrow", "raised", "mid") - cho "Who's going to watch me this time?" ("soft", "narrow", "base", "mid") - gen "*Hmm*... how about--" ("base", xpos="far_left", ypos="head") - - menu: - #"\"Miss Granger\"": - # jump cc_pf_strip_T3_hermione - - "\"Miss Tonks\"": - cho "Alright then..." ("grin", "narrow", "base", "mid") - jump cc_pf_strip_T3_tonks - - - ## Chibi Pos - for multiple people ## - - #call ton_chibi("stand", flip=False, 380, 360) - #call cho_chibi("stand", flip=True, 322, 360) - - #call cho_chibi("stand", flip=True, 320, 370) - - #call cho_chibi("stand", 314, 366, flip=True) - #call cho_chibi("stand", 370, 360, flip=False) diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy new file mode 100644 index 00000000..aa0b5ab1 --- /dev/null +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2.rpy @@ -0,0 +1,1242 @@ + + +### Cho Strip ### + +label cc_pf_strip: + + if not _events_completed_any: + gen "{size=-4}(Should I ask her to let me inspect her?){/size}" ("base", xpos="far_left", ypos="head") + + menu: + "\"(Yes, let's do it!)\"": + pass + + "\"(Not right now.)\"": + $ _event.cancel() + jump cho_favor_menu + + return + + # End Event Jump +label end_cho_strip_event: + + if states.cho.tier == 2 and states.cho.level < 9: # Points til 9 + $ states.cho.level += 1 + + if states.cho.tier == 3 and states.cho.level < 15: # Points til 15 + $ states.cho.level += 1 + + $ cho.wear("all") # Reset clothes + jump end_cho_event + +### Tier 2 (pre Slytherin) ### + +label cc_pf_strip_T2_intro_E1: + + call cc_pf_strip + + gen "It's time for your next favour, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho "Of course, [name_genie_cho]." ("base", "base", "base", "mid") + cho "What would you like me to do?" ("soft", "base", "base", "mid") + gen "First, come a bit closer..." ("base", xpos="far_left", ypos="head") + cho "Very well, Sir." ("base", "base", "base", "mid") + + call cho_walk("desk", "base") + + cho "" (xpos="mid", ypos="base", trans=fade) + call ctc + + gen "How often do you typically exercise, Miss Chang?" ("base", xpos="far_left", ypos="head") + cho "As often as I can, [name_genie_cho]!" ("soft", "base", "base", "mid") + gen "Which is... how often, exactly? Twice a week?" ("base", xpos="far_left", ypos="head") + cho "Three times a day, Sir!" ("base", "narrow", "base", "mid") + with hpunch + gen "What?!" ("angry", xpos="far_left", ypos="head") + gen "(I don't even jerk off that often!)" ("angry", xpos="far_left", ypos="head") + gen "I find that a bit hard to believe... You're not embellishing the truth, are you?" ("base", xpos="far_left", ypos="head") + cho "I'm not, Sir! It's necessary for someone in my position!" ("open", "closed", "angry", "mid") + cho "I wake up every morning before dawn, then run around the Quidditch pitch until the sun rises!" ("open", "narrow", "angry", "mid") + cho "My body's at the absolute peak of human condition!" ("open", "narrow", "angry", "R") + gen "It is quite impressive..." ("angry", xpos="far_left", ypos="head") + cho "Glad to hear it, [name_genie_cho]." ("base", "happyCl", "base", "mid") + gen "I assume you get complimented often?" ("base", xpos="far_left", ypos="head") + cho "Sometimes..." ("soft", "base", "base", "R") + gen "And I suspect you have many admirers?" ("grin", xpos="far_left", ypos="head") + cho "Oh, *umm*... maybe?" ("annoyed", "base", "base", "mid") + cho "But that's {b}not{/b} why I take such great care of my body, Sir!" ("open", "narrow", "angry", "mid") + gen "Of course not..." ("base", xpos="far_left", ypos="head") + cho "Quidditch is a hard game for anyone, as I'm sure you know..." ("open", "closed", "base", "mid") + cho "But that goes double for girls!{w=0.6} I have to train twice as hard as the boys if I want to stand a chance!" ("open", "narrow", "angry", "mid") + gen "That's very commendable of you..." ("base", xpos="far_left", ypos="head") + cho "Thank you, Sir." ("base", "base", "base", "mid") + + label .introspection: + + if _in_replay: + show screen blkfade + with d5 + + + $ cho.equip(cho_outfit_default) + $ cho.set_pose("default") + $ cho.animation = None + $ game.gold = 1984 + $ game.day = 123 + call room("main_room") + + call cho_chibi("stand", "desk", "base", flip=False) + call gen_chibi("sit_behind_desk") + + cho "" (xpos="mid", ypos="base", flip=False) + hide screen blkfade + with d5 + + # Ask her to strip. + gen "So, Why don't you show me what you are made of?{w=1.0} Let me have a proper look at you!" ("grin", xpos="far_left", ypos="head") + cho "Sir?" ("soft", "wink", "raised", "mid") + gen "I need you to remove your clothes." ("base", xpos="far_left", ypos="head") + + if _in_replay: + show screen blkfade + with d5 + return + + stop music fadeout 1 + cho @ cheeks blush "!!!" ("soft", "wide", "base", "mid") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + gen "Go on, girl. Start with the top..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "No!" ("scream", "happyCl", "angry", "mid", trans=hpunch) + cho "Why are you even asking me to do such a thing?!" ("angry", "narrow", "angry", "mid") + gen "Have you already forgotten that I'm here to train you?" ("base", xpos="far_left", ypos="head") + cho "And I'm very thankful for that sir, but..." ("open", "closed", "base", "mid") + gen "Am I not your trusted mentor?" ("base", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "narrow", "angry", "mid") + gen "Your strong advisor..." ("base", xpos="far_left", ypos="head") + gen "Your guardian angel!" ("grin", xpos="far_left", ypos="head") + cho "I don't think taking off my clothes will be necessary for our training, [name_genie_cho]." ("annoyed", "narrow", "angry", "R") + gen "I'm very disappointed, I've got to say..." ("base", xpos="far_left", ypos="head") + gen "You aren't this shy about undressing in front of your team, are you?" ("base", xpos="far_left", ypos="head") + cho "That's entirely different!" ("soft", "narrow", "angry", "mid") + gen "How so?" ("base", xpos="far_left", ypos="head") + cho "I'm just not comfortable doing this in front of you, Sir!" ("soft", "closed", "worried", "mid") + cho @ cheeks blush "You're really old..." ("soft", "narrow", "worried", "downR") + gen "Pardon me?" ("base", xpos="far_left", ypos="head") + cho "I meant... You're our headmaster! It just feels wrong to me!" ("soft", "narrow", "worried", "mid") + gen "Are you one of those shy girls, Miss Chang?" ("base", xpos="far_left", ypos="head") + cho "No, Sir. I wouldn't say I'm shy, but..." ("soft", "narrow", "worried", "downR") + gen "Well then prove to me that you aren't, girl!" ("base", xpos="far_left", ypos="head") + gen "Let me see it!" ("grin", xpos="far_left", ypos="head") + + # Cho stays reluctant. + cho "Is there no other way to prove it?" ("annoyed", "narrow", "worried", "mid") + gen "Well, yes.{w=0.3} Several.{w} But we'll get to those later..." ("base", xpos="far_left", ypos="head") + cho "Later, Sir?" ("soft", "base", "raised", "mid") + gen "Girl, I wouldn't be asking you this if it wasn't absolutely necessary for your training!" ("angry", xpos="far_left", ypos="head") + cho "Of course, [name_genie_cho]." ("annoyed", "base", "base", "down") + gen "All that's required of you is to co-operate..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "(...)" ("annoyed", "base", "worried", "mid") + gen "Now take off your top..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "(...)" ("annoyed", "narrow", "angry", "mid") + cho "Only my top?" ("soft", "narrow", "worried", "mid") + gen "Would you like to take off {b}more?{/b}" ("grin", xpos="far_left", ypos="head") + cho "I didn't mean it like that!" ("angry", "narrow", "angry", "mid") + gen "[name_cho_genie], it's only the two of us in here. No need to worry." ("base", xpos="far_left", ypos="head") + cho "I'm not worried about others, [name_genie_cho]!" ("annoyed", "narrow", "angry", "mid") + cho "For as long as nobody else will find out...{w} You have to promise me that, Sir!" ("soft", "narrow", "angry", "R") + gen "Promised! Now take it off!" ("grin", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "narrow", "angry", "mid") + gen "*Ahem*{w=0.5} Slowly..." ("base", xpos="far_left", ypos="head") + pause .5 + cho @ cheeks blush "" ("quiver", "happyCl", "worried", "mid") + pause .8 + + # Remove top. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe", "top") + with d3 + pause .5 + + $ states.cho.status.show_bra = True + + cho @ cheeks blush "" ("quiver", "narrow", "worried", "mid") + call ctc + + menu: + "\"Your posture is remarkable!\"": + cho "Oh... Glad you noticed!" ("smile", "base", "base", "down") # Happy + cho "I'm relieved you actually show interest in my body status, Sir!" ("base", "base", "base", "mid") + gen "(Oh, You have no idea, girl!)" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I thought you just wanted to gush at my body like all the other teachers..." ("soft", "narrow", "worried", "mid") + gen "Who?{w} Which other teachers are you talking about?{w} Snape?!" ("base", xpos="far_left", ypos="head") + cho "No, not Snape..." ("annoyed", "narrow", "angry", "R") + cho @ cheeks blush "(...)" ("annoyed", "base", "worried", "downR") + cho @ cheeks blush "Promise me you won't tell her!" ("quiver", "narrow", "worried", "mid") + gen "Her?!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Madam Hooch, Sir." ("soft", "narrow", "worried", "mid") + gen "Ah, that fit lady..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes, she's been eyeing me a lot lately..." ("annoyed", "base", "worried", "downR") + cho @ cheeks blush "Even more so after our recent game against Hufflepuff..." ("mad", "narrow", "worried", "R") + gen "I can't blame her... Your body is very pleasant to look at!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Thank you, Sir." ("base", "base", "base", "mid") + + "\"You have marvellous abs!\"": + gen "Magnificent." ("angry", xpos="far_left", ypos="head") + gen "Simply...{w} magnificent..." ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "*Ehm*..." ("annoyed", "narrow", "worried", "R") # Embarrassed + gen "As if Michelangelo himself carved them onto your flesh..." ("angry", xpos="far_left", ypos="head") + gen "I must say I'm very impressed!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Thank you, Sir." ("soft", "narrow", "worried", "downR") + + "\"*Eh*, I've seen better, but that'll do.\"": + $ states.cho.mood += 3 + cho "What?!" ("mad", "base", "angry", "mid") # Upset + gen "(Crap!)" ("angry", xpos="far_left", ypos="head") + gen "What I meant to say is, you're in great shape, but I still see room for improvements." ("base", xpos="far_left", ypos="head") + gen "I'm impressed nonetheless!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Thank you, I guess..." ("annoyed", "narrow", "angry", "downR") + + gen "None of the other girls I get to see here have such fine...{w=1.0} contours." ("base", xpos="far_left", ypos="head") + cho "Other girls?" ("soft", "wide", "base", "mid") + cho "[name_genie_cho], you aren't training anybody else in Quidditch besides me, are you?" ("soft", "narrow", "angry", "mid") + gen "What? Of course not..." ("base", xpos="far_left", ypos="head") + cho "Then which other girls are you talking about?" ("annoyed", "narrow", "angry", "mid") + gen "(Shit! I better just tell her the truth.)" ("angry", xpos="far_left", ypos="head") + gen "Just...{w=1.0} Granger..." ("base", xpos="far_left", ypos="head") + cho "*Phewww*{w=1.0} You scared me there for a second, Sir..." ("smile", "narrow", "worried", "mid") + gen "You... don't mind?" ("base", xpos="far_left", ypos="head") + cho "Please. Why should I care what Granger does for you in here?" ("soft", "narrow", "angry", "R") + cho "All she seems to care about is winning the house cup." ("open", "narrow", "angry", "R") + cho "As long as you don't help any Gryffindor or Slytherin sluts win the Quidditch cup, everything will be fine." ("base", "narrow", "base", "mid") + gen "No worries, [name_cho_genie]. I don't have plans to train other {i}sluts{/i} in quidditch." ("grin", xpos="far_left", ypos="head") + + cho "That's a relief..." ("open", "closed", "base", "mid") + cho "Besides, she clearly doesn't hold a candle against me!" ("open", "narrow", "base", "R") + cho "All she does is sit on her arse all day, studying in the library..." ("soft", "narrow", "angry", "mid") + gen "(...)" ("base", xpos="far_left", ypos="head") + cho "You can't expect somebody who's as lazy as her to look as great as I do!" ("soft", "closed", "base", "mid") + + menu: + "\"Yeah, she's gross.\"": + $ states.cho.mood = 0 + gen "Miss Granger's body is nothing compared to yours." ("base", xpos="far_left", ypos="head") + cho "I wholeheartedly agree, Sir!" ("base", "narrow", "angry", "mid") + gen "Her tits sag too much, and her fat hips are disgusting..." ("base", xpos="far_left", ypos="head") + hide cho_main + gen "(Something deep inside me just died saying this...)" ("angry", xpos="far_left", ypos="head") + cho "She really is a..." ("open", "closed", "raised", "mid") + cho "... stupid..." ("angry", "closed", "angry", "mid") + cho "... fat..." ("clench", "narrow", "angry", "mid") + cho @ cheeks blush "... cow, isn't she?" ("quiver", "narrow", "angry", "mid") + gen "Speaking of Hermione..." ("base", xpos="far_left", ypos="head") + gen "Why don't you show me \"your\"{w} very much \"superior\"{w} hips?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Are you asking me to take off my bottoms?" ("soft", "wink", "raised", "mid") + gen "Yes, my dear." ("base", xpos="far_left", ypos="head") + + "\"Nope, you lose\"": + $ states.cho.mood += 6 + + cho "What?!" ("scream", "wide", "angry", "mid", trans=hpunch) + cho "" ("angry", "narrow", "angry", "mid") + gen "I'm afraid, Miss Granger is simply...{w} how shall I put it...{w} sexier!" ("base", xpos="far_left", ypos="head") + cho "But she doesn't even do workouts!" ("clench", "narrow", "angry", "mid") + gen "Let's just forget about her, shall we?" ("base", xpos="far_left", ypos="head") + gen "And continue where we left off..." ("base", xpos="far_left", ypos="head") + cho "And where would that be?" ("annoyed", "narrow", "angry", "mid") + gen "Your Quidditch training, Miss Chang." ("base", xpos="far_left", ypos="head") + cho "I'm not sure I want to -- after what you've just said..." ("annoyed", "narrow", "angry", "R") + gen "Why? What did I say?" ("base", xpos="far_left", ypos="head") + cho "That Granger's body is better?! We both know that isn't true." ("mad", "narrow", "angry", "mid") + gen "Do you expect me to apologise?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes!{w} Admit that I'm sexier!" ("annoyed", "closed", "angry", "mid") # Snobby + gen "You are indeed, {b}very sexy{/b}, Miss Chang!" ("grin", xpos="far_left", ypos="head") + cho "Thank you, Sir." ("base", "narrow", "base", "mid") + gen "Now take your bottoms off, would you..." ("base", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "narrow", "angry", "mid") + + + cho @ cheeks blush "Please don't tell anybody about what I'm doing in here, Sir." ("quiver", "narrow", "worried", "mid") + cho @ cheeks blush "It could really tarnish my reputation." ("soft", "narrow", "worried", "R") + gen "I'd never think of it..." ("base", xpos="far_left", ypos="head") + cho "I will take off my bottoms now!" ("scream", "happyCl", "angry", "mid") # Scream + cho @ cheeks blush "" ("horny", "narrow", "worried", "R") + gen "(!!!)" ("grin", xpos="far_left", ypos="head") + pause .4 + + # Remove bottoms. + play sound "sounds/cloth_sound3.ogg" + hide cho_main + $ cho.strip("bottom") + pause 1.2 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .4 + cho "" (trans=d3) + pause .5 + + $ states.cho.status.show_panties = True + + cho @ cheeks blush "" ("horny", "narrow", "base", "mid") + call ctc + + gen "YES!" ("angry", xpos="far_left", ypos="head") + gen "Look at those thighs!" ("angry", xpos="far_left", ypos="head") + gen "Those tree trunks!" ("angry", xpos="far_left", ypos="head") + gen "Even the great \"Chun-Li\" would be jealous of those!" ("grin", xpos="far_left", ypos="head") + cho "I'm sorry Sir, who's that?" ("soft", "wink", "raised", "mid") + + menu: + gen "(...)" ("base", xpos="far_left", ypos="head") + + "\"Never seen City Hunter?\"": + cho "\"City Hunter?\"{w=0.3} Can't say that I have." ("soft", "base", "raised", "mid") + gen "What about \"Police Story\"?" ("base", xpos="far_left", ypos="head") + cho "No?" ("soft", "wink", "raised", "mid") + gen "\"Drunken Master\"?" ("base", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "base", "base", "R") + gen "Please tell me you've at the very least seen \"Rush Hour\"?" ("angry", xpos="far_left", ypos="head") + cho "No, Sir." ("annoyed", "closed", "base", "mid") + gen "I'm in shock, over how little you care about your culture..." ("base", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "narrow", "angry", "mid") + gen "Not every man can pull off a cosplay like that!" ("angry", xpos="far_left", ypos="head") + cho "I'm not following, Sir." ("annoyed", "narrow", "angry", "R") + + "\"She's my main...\"": + gen "I simply love playing with her..." ("grin", xpos="far_left", ypos="head") + gen "Seeing that leg rise up when I press the right buttons..." ("base", xpos="far_left", ypos="head") + cho "What?!" ("open", "narrow", "raised", "mid") # confused + + gen "Speaking of which!{w} I don't believe we are done here just yet." ("grin", xpos="far_left", ypos="head") + cho "We aren't? But I did exactly what you wanted!" ("open", "base", "worried", "mid") + gen "You've still got some clothes on..." ("grin", xpos="far_left", ypos="head") + cho "Sir, is this why you are helping me?" ("open", "closed", "angry", "mid") + cho "Might this be all just part of a sick scheme to get to see me naked?" ("annoyed", "narrow", "angry", "mid") + gen "(...)" ("base", xpos="far_left", ypos="head") + + menu: + "\"It absolutely is!\"": + $ states.cho.mood += 20 + $ cho_mad_about_stripping = True # Flag that enables different dialogue that is a bit more "lewd" in the next favour repeat. + cho "" ("angry", "wide", "base", "mid") # Shock + gen "Now take off that bra of yours and show me those titties!" ("grin", xpos="far_left", ypos="head") + cho "[name_genie_cho], how can you talk to me like that!" ("scream", "closed", "angry", "mid", trans=hpunch) + cho "I'm your student!" ("clench", "narrow", "angry", "mid") + gen "And a very pretty one at that!" ("grin", xpos="far_left", ypos="head") + cho "You disgust me, sir..." ("soft", "narrow", "angry", "mid") + + "\"Of course not...\"": + $ states.cho.mood += 6 + $ cho_mad_about_stripping = False + cho "Aye right..." ("soft", "narrow", "raised", "mid") # Expression of disbelieve... + cho "And I'm supposed to believe that." ("open", "narrow", "base", "R") + cho "You're practically foaming out of your mouth just looking at me, Sir..." ("soft", "narrow", "angry", "mid") + gen "I'm not...{w} that's just..." ("angry", xpos="far_left", ypos="head") + #if butterbeer_ITEM.owned > 0: + gen "Butterbeer..." ("angry", xpos="far_left", ypos="head") + cho "This is as far as I will go, Sir!" ("annoyed", "narrow", "angry", "mid") + + cho "If you want a bimbo to strip for you, I suggest you call Hermione instead..." ("annoyed", "narrow", "angry", "mid") + pause .5 + + play sound "sounds/cloth_sound.ogg" + hide cho_main + $ cho.wear("all") + hide screen cho_cloth_pile + cho "" ("angry", "narrow", "angry", "mid") + pause .8 + + cho "We are done here!" ("angry", "narrow", "angry", "mid") + + # Cho leaves. + call cho_walk(action="leave") + + gen "(She'll do it next time, I'm sure...)" ("base", xpos="far_left", ypos="head") + + jump end_cho_strip_event + + +label cc_pf_strip_T2_intro_E2: + + call cc_pf_strip + + cho "" ("upset", "base", "base", "R") + gen "[name_cho_genie], to continue your training where we left off..." ("base", xpos="far_left", ypos="head") + gen "I'd like you to, once again, undress!" ("grin", xpos="far_left", ypos="head") + cho "Of course, Sir." ("annoyed", "base", "angry", "downR") + + call cho_walk("desk", "base") + + cho "Down to my undergarments, [name_genie_cho]?" ("soft", "closed", "base", "mid", xpos="mid", ypos="base", trans=fade) + cho "Or would you like me to take off all of it?" ("soft", "narrow", "base", "mid") + gen "*Ehm*... All of it?" ("base", xpos="far_left", ypos="head") + cho "Very well, Sir." ("soft", "closed", "base", "mid") + gen "(Please don't let this be a trick question.)" ("angry", xpos="far_left", ypos="head") + cho "" ("upset", "narrow", "base", "mid") + pause .4 + + if cho.is_worn("robe"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe") + # Remove top. + if cho.is_worn("top"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe", "top") + with d3 + pause .5 + + cho "" ("upset", "narrow", "angry", "mid") + call ctc + + cho "I'm a very good trainee, [name_genie_cho]!" ("soft", "narrow", "angry", "mid") + gen "Yes you are!" ("grin", xpos="far_left", ypos="head") + cho "If my trainer requires me to take off my clothing and strip for him..." ("soft", "closed", "base", "mid") + cho "Then I have no other choice but to indulge..." ("soft", "narrow", "base", "R") + cho "I see nothing wrong with that..." ("annoyed", "narrow", "angry", "mid") + pause .4 + + # Remove bottoms. + if cho.is_worn("bottom"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bottom") + with d3 + pause .5 + + cho "" ("annoyed", "narrow", "base", "mid") + call ctc + + cho "Would you perhaps like me to climb on top of your desk?" ("soft", "narrow", "raised", "mid") + cho "And dance for you like some common harlot?" ("soft", "narrow", "base", "R") + + # You saw Hermione strip before. + if states.her.status.stripping: + gen "If it's not too much trouble..." ("base", xpos="far_left", ypos="head") + cho "Of course not, [name_genie_cho]." ("soft", "closed", "base", "mid") + gen "(I'm having a bit of a déjà vu!)" ("angry", xpos="far_left", ypos="head") # In-game font doesn't support special characters. déjà vu! + else: + gen "Yes please!" ("grin", xpos="far_left", ypos="head") + cho "Whatever you say, Sir!" ("soft", "closed", "base", "mid") + cho "Like I said, I'd go to any lengths just to please my trainer..." ("soft", "narrow", "base", "mid") + + # Climbs desk. + call hide_characters + show screen blkfade + with d5 + play sound "sounds/08_hop_on_desk.ogg" + pause 1 + + nar "To your surprise, the athletic, petite girl rather playfully climbs on top of your desk." + pause .5 + gen "Nice!" ("grin", xpos="far_left", ypos="head") + pause .2 + + call cho_chibi("stand", "on_desk", "on_desk", flip=False) + hide screen bld1 + hide screen blkfade + with d5 + call ctc + + cho "After all, I promised I'd do anything to win that Quidditch cup..." ("soft", "narrow", "angry", "mid") + cho "If stripping for you is what it takes, then..." ("soft", "base", "angry", "down") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed + cho "Then..." ("angry", "base", "worried", "down") + cho @ cheeks blush "I-I'll do it..." ("soft", "narrow", "worried", "down") + gen "(Shit... Is she crying?)" ("base", xpos="far_left", ypos="head") + gen "(Can she even cry?)" ("base", xpos="far_left", ypos="head") + gen "Are you alright, girl?" ("base", xpos="far_left", ypos="head") + cho "No.{w} I'm already regretting climbing up here!!!" ("mad", "closed", "worried", "mid") + cho @ cheeks blush "(What were you thinking, Cho?!)" ("angry", "narrow", "worried", "down") + gen "You can come back down if it's too much for yo--" ("base", xpos="far_left", ypos="head") + cho "Shut up!" ("scream", "closed", "angry", "mid", trans=hpunch) # Scream + cho "Can't you see what I'm trying to do here?" ("angry", "narrow", "angry", "mid") + gen "Not really, no." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I-I'm... testing my limits, Sir." ("angry", "narrow", "worried", "down") + cho @ cheeks blush "And I believe I've reached them!" ("mad", "happyCl", "worried", "mid") + gen "For real? You are still wearing clothes..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I thought{w=0.2}, if I could go as far as embarrassing myself in front of my headmaster..." ("soft", "narrow", "worried", "down") + cho @ cheeks blush "Doing the same in front of the school won't feel as bad in comparison." ("annoyed", "narrow", "worried", "down") + cho "Sir, I don't think I can do this after all." ("soft", "narrow", "worried", "mid") + cho "Could I get your permission to leave and never come back?" ("angry", "narrow", "worried", "mid") + + menu: + "\"Yes, but take off those clothes first...\"": + stop music fadeout 1 + cho @ cheeks blush "Yes! Thank you, Sir!" ("soft", "closed", "worried", "mid") + cho @ cheeks blush "Even after I've given up -- You're still believing in me!" ("soft", "narrow", "worried", "mid") + gen "What?{w=0.2} *Ahem*...{w=0.2} I mean..." ("base", xpos="far_left", ypos="head") + gen "Of course!{w=0.2} I always did!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "I may not like it. But this is all just part of my training..." ("soft", "base", "worried", "R") + gen "*Uhhhh*... Sure..." ("base", xpos="far_left", ypos="head") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho "It's one of many challenges I have to face before I can call myself a Quidditch champion!" ("soft", "closed", "angry", "mid") + cho "This is just about facing my inner demons, isn't it?" ("soft", "narrow", "angry", "mid") + cho "Overcoming my fears..." ("soft", "narrow", "angry", "R") + cho "Failure, and embarrassment..." ("soft", "closed", "base", "mid") + cho @ cheeks blush "(Come on, Cho... You can do it!!!)" ("horny", "happyCl", "worried", "mid") + cho @ cheeks blush "*Ehm*..." ("horny", "narrow", "worried", "down") + cho @ cheeks blush "What would you like me to do first, [name_genie_cho]?" ("soft", "narrow", "worried", "mid") + cho @ cheeks blush "Remove my bra..." ("soft", "narrow", "base", "mid") + cho @ cheeks blush "Or take off my panties?" ("horny", "narrow", "worried", "down") + + "\"Yes, you are dismissed...\"": + $ states.cho.mood += 6 + stop music fadeout 1 + cho "What?!" ("soft", "wide", "base", "mid") + cho "But Sir!" ("soft", "base", "worried", "mid") + gen "You can go now..." ("base", xpos="far_left", ypos="head") + cho "You can't do that!" ("scream", "narrow", "angry", "mid", trans=hpunch) + cho "" ("angry", "narrow", "angry", "mid") + gen "Didn't you just beg me to do just that?" ("angry", xpos="far_left", ypos="head") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed + cho "I begged you to help me win the Quidditch cup!" ("clench", "narrow", "angry", "mid") + cho "And to be my trainer!{w} To be a {b}good{/b} trainer!" ("soft", "narrow", "angry", "mid") + cho @ cheeks blush "How can I overcome my fear of losing if I can't even do... this!" ("annoyed", "base", "worried", "down") + cho "You're supposed to encourage me!{w=0.6} Get me through any challenges I'm confronted with." ("soft", "narrow", "angry", "mid") + gen "Including stripping?" ("base", xpos="far_left", ypos="head") + cho "Including bloody stripping!" ("scream", "closed", "angry", "mid", trans=hpunch) + cho "" ("annoyed", "narrow", "angry", "mid") + gen "To my defence. I got some mixed messages from you earlier..." ("base", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "narrow", "angry", "R") # Annoyed + stop music fadeout 1 + gen "Very well then..." ("base", xpos="far_left", ypos="head") + gen "Take off your clothes, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho "Yes, Sir!" ("soft", "closed", "base", "mid") + cho "Would you like me to take off my bra first?" ("soft", "narrow", "angry", "mid") + cho "Or pull down my panties, so you can get a nice look at my lower half?" ("soft", "narrow", "base", "mid") + + menu: + gen "First, I'd like you to..." ("base", xpos="far_left", ypos="head") + "\"Show me those big, juicy \"Quaffles\" of yours!\"": + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho @ cheeks blush "*Uhhh*..." ("upset", "wide", "base", "mid") + gen "Those two mean, hearty \"bludgers\"!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Sir? Could it be that you are talking about my breasts?" ("soft", "narrow", "worried", "mid") + gen "Yes indeed! Very good." ("base", xpos="far_left", ypos="head") + gen "I was hoping you would eventually catch on." ("base", xpos="far_left", ypos="head") + gen "Also because I ran out of balls to compare them to..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Promise me that you won't laugh when I show you my..." ("soft", "narrow", "worried", "R") + cho @ cheeks heavy_blush "\"Bludgers\"!" ("mad", "happyCl", "worried", "mid") + gen "Why would I ever laugh at a pretty girl like you, Miss Chang?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Because they...{w} aren't as big as Hermione's..." ("soft", "narrow", "worried", "downR") + cho @ cheeks blush "Hers are much closer to {i}Quaffles{/i} than mine..." ("soft", "base", "worried", "mid") + gen "And there will always be a pair of \"Beaters\" that prefer to play with your...{w} balls." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Only two?..." ("upset", "base", "worried", "downR") + gen "Don't forget to count those lucky enough to get hit by those \"bludgers\"!" ("grin", xpos="far_left", ypos="head") + cho "" ("upset", "base", "raised", "mid") + gen "Speaking of which..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes?" ("soft", "base", "worried", "mid") + gen "I'd like you to hit me with them!" ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "With my breasts?" ("open", "wide", "base", "mid") + gen "Yes! Hit me full force!{w} Take off that bra!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "*Ugh!*..." ("mad", "narrow", "base", "down") + cho @ cheeks blush "{size=-4}I can't believe I'm actually going to do this!{/size}" ("mad", "happyCl", "worried", "mid") + cho @ cheeks blush "" ("soft", "narrow", "worried", "mid") + pause .4 + + # Remove bra. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bra") + with d3 + pause .8 + + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "mid") + call ctc + + gen "Simply wonderful, Miss Chang." ("angry", xpos="far_left", ypos="head") + gen "Those are some stellar breasts you got there." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "(...)" ("base", "narrow", "worried", "downR") + gen "Some \"outstanding\" boobies!" ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("annoyed", "narrow", "base", "mid") + gen "Would you mind if I smack them?" ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "What?! Of course I would mind!" ("soft", "wide", "base", "mid") + gen "I just want to beat them around a bit..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("annoyed", "narrow", "angry", "mid") + gen "After all, they are two soft, meaty \"bludgers\"!" ("grin", xpos="far_left", ypos="head") + gen "And I'm a \"beater\"!" ("grin", xpos="far_left", ypos="head") + + $ states.gen.stats.quidditch_position = "beater" + + cho "You are childish.{w} That's what you are..." ("soft", "narrow", "angry", "mid") + gen "You're the one playing games." ("base", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "narrow", "angry", "mid") + cho "Fine...{w} But Only once!" ("soft", "narrow", "angry", "R") + cho @ cheeks blush "Twice...{w} maybe..." ("mad", "narrow", "worried", "downR") + gen "That's a hundred percent more than I had hoped for!" ("grin", xpos="far_left", ypos="head") + + call slap_her + cho @ cheeks blush "*Ouch!*" ("angry", "wide", "base", "mid") + call slap_her + call slap_her + call slap_her + cho @ cheeks blush "Stop it!" ("scream", "happyCl", "worried", "mid") + cho @ cheeks blush "That was more than twice!" ("soft", "narrow", "angry", "mid") + gen "I stopped counting halfway through..." ("base", xpos="far_left", ypos="head") + + "\"Let me catch sight of that 'Snitch!'\"": + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho "Don't you mean \"Snatch\", Sir?" ("annoyed", "narrow", "angry", "mid") + gen "Potato, Potato!" ("grin", xpos="far_left", ypos="head") + cho "Your motives were nothing but for your own perverted gains, weren't they? From the very start." ("soft", "narrow", "base", "mid") # Annoyed + gen "More or less..." ("base", xpos="far_left", ypos="head") + gen "However, I never lied about wanting to help you win the Quidditch cup!" ("base", xpos="far_left", ypos="head") + gen "(Since I've bet a fortune on it...)" ("angry", xpos="far_left", ypos="head") + gen "And I wouldn't be able to call myself a man if I was lying!" ("base", xpos="far_left", ypos="head") + cho "And you'd be called a dead man, if you try to trick me!" ("clench", "narrow", "angry", "mid") + gen "Well technically I'm a geni--" ("base", xpos="far_left", ypos="head") + play sound "sounds/kick.ogg" + cho "" ("annoyed", "narrow", "angry", "mid", trans=vpunch) + gen "*Aaaaah*!" ("angry", xpos="far_left", ypos="head") + nar "Cho does a daunting stomp on your desk..." + cho "Don't think for a second I wouldn't do it! After all of this!" ("scream", "narrow", "angry", "mid") + cho "" ("angry", "narrow", "angry", "mid") + play sound "sounds/gulp.ogg" + gen "*Gulp*" ("angry", xpos="far_left", ypos="head") + gen "Yes, Ma'am." ("base", xpos="far_left", ypos="head") + cho "(...)" ("upset", "closed", "base", "mid") + cho @ cheeks blush "" ("upset", "narrow", "worried", "down") + pause .4 + + # Remove panties. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("panties") + with d3 + pause .5 + + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "mid") + call ctc + + cho @ cheeks blush "Happy, Sir?" ("soft", "narrow", "worried", "mid") + gen "Very." ("base", xpos="far_left", ypos="head") + gen "Finally I get the appeal of Quidditch." ("grin", xpos="far_left", ypos="head") + cho "Really?" ("soft", "base", "raised", "mid") + gen "Yes..." ("base", xpos="far_left", ypos="head") + gen "You see, I think I've become quite a bit of a seeker myself!" ("grin", xpos="far_left", ypos="head") + + $ states.gen.stats.quidditch_position = "seeker" + + cho "(...)" ("annoyed", "base", "base", "mid") + gen "And I believe I've just found my very own golden snatch!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("annoyed", "narrow", "angry", "mid") + gen "You should consider yourself lucky, Miss Chang." ("base", xpos="far_left", ypos="head") + cho "Why?..." ("soft", "narrow", "raised", "mid") + gen "It's very pretty." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "*Ugh*..." ("mad", "narrow", "base", "down") + + + cho @ cheeks blush "Sir, will that be all then?" ("annoyed", "narrow", "angry", "mid") + cho "May I go now?" ("soft", "narrow", "angry", "R") + gen "Haven't you forgotten something?" ("base", xpos="far_left", ypos="head") + cho "Didn't I do enough for you already?" ("angry", "narrow", "angry", "mid") + gen "For me, you did more than enough!{w=0.6} I'm more than pleased with what you've shown me..." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "*Ugh*..." ("disgust", "narrow", "base", "down") # Disgusted + gen "But, wasn't your goal earlier to undress entirely?" ("base", xpos="far_left", ypos="head") + gen "To prove to yourself that you {b}could{/b} do it?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "{size=-4}I hoped you'd just forget about that...{/size}" ("mad", "narrow", "worried", "down") # Small text. + gen "Well, I didn't!" ("grin", xpos="far_left", ypos="head") + gen "I'm here to help you mature -- and boost your confidence." ("base", xpos="far_left", ypos="head") + gen "A body like yours is nothing you need to hide away!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("base", "narrow", "worried", "mid") + gen "Don't you think so too?{w} After all the work you put into it?" ("base", xpos="far_left", ypos="head") + gen "It should be celebrated! And seen by everyone!" ("angry", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "You're making me blush, [name_genie_cho]..." ("horny", "narrow", "worried", "downR") + gen "You can do it, [name_cho_genie]! Show me the goods!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes, Sir!" ("angry", "closed", "worried", "mid") + cho @ cheeks blush "" ("base", "narrow", "worried", "mid") + pause .4 + + # Cho strips completely. + play sound "sounds/cloth_sound3.ogg" + hide cho_main + $ cho.strip("clothes") + pause 1.2 + call cho_chibi("stand", "on_desk", "on_desk", flip=True) + pause .4 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .6 + call cho_chibi("stand", "on_desk", "on_desk", flip=False) + cho "" (trans=d3) + pause .5 + + $ states.cho.status.stripping = True + $ states.cho.status.show_tits = True + $ states.cho.status.show_pussy = True + + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "mid") + call ctc + + gen "See, that wasn't very hard, was it?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "No..." ("soft", "narrow", "base", "down") + cho "No! You're right!" ("smile", "base", "base", "mid") + gen "And you have a very beautiful body -- if I might add." ("base", xpos="far_left", ypos="head") + cho "Thank you, Sir." ("soft", "narrow", "worried", "mid") + gen "I can see why Hermione is so jealous." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("upset", "base", "base", "mid") + pause .8 + cho @ cheeks blush "She is?" ("scream", "wide", "base", "mid", trans=vpunch) + cho @ cheeks heavy_blush "" ("horny", "base", "base", "down") + gen "Look who perked up all of a sudden." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "She should be jealous!{w=0.6} These thighs could snap a broom in half if I tried hard enough." ("smile", "narrow", "angry", "mid") + call ctc + + play sound "sounds/gulp.ogg" + gen "*Gulp!*" ("angry", xpos="far_left", ypos="head") + gen "I don't doubt it." ("base", xpos="far_left", ypos="head") + + cho "Thank you, [name_genie_cho]." ("base", "closed", "base", "mid") + gen "For what?" ("base", xpos="far_left", ypos="head") + cho "For teaching me." ("soft", "narrow", "worried", "downR") + cho @ cheeks blush "I couldn't have imagined showing myself off like this before... but." ("horny", "narrow", "worried", "downR") + gen "Yes?" ("base", xpos="far_left", ypos="head") + cho "Well, your methods have clearly worked so far..." ("soft", "narrow", "base", "R") + cho "And I feel more confident than ever!" ("soft", "wide", "base", "mid") + gen "That's great news, and hey..." ("base", xpos="far_left", ypos="head") + gen "If distracting doesn't work, you could just crush your opponents with those thighs of yours." ("base", xpos="far_left", ypos="head") + cho "That's true..." ("smile", "narrow", "base", "mid") + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + + play sound "sounds/08_hop_on_desk.ogg" + call cho_chibi("stand", "desk", "base", flip=False) + + pause 1 + + hide screen blkfade + with d5 + pause .2 + + cho "Will this be all then, Sir?" ("soft", "base", "base", "R") + gen "Yes Miss Chang, great work today..." ("base", xpos="far_left", ypos="head") + gen "I doubt you'll have any problems distracting anyone with a body like that." ("base", xpos="far_left", ypos="head") + gen "You're dismissed." ("base", xpos="far_left", ypos="head") + cho "Thank you, [name_genie_cho]." ("base", "happyCl", "base", "mid") + call hide_characters + hide screen bld1 + with d3 + pause .1 + + call cho_walk("door", "base") + + gen "Miss Chang." ("base", xpos="far_left", ypos="head") + hide screen bld1 + with d3 + pause .3 + + call cho_chibi("stand", "door", "base", flip=False) + with d3 + pause .2 + + cho "Yes?" ("soft", "base", "raised", "mid", xpos="base", flip=False) + gen "Aren't you forgetting about something?" ("base", xpos="far_left", ypos="head") + cho "Sir?" ("soft", "narrow", "base", "mid") + gen "You're still naked...{w} I wouldn't go out there if I were you..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh, of course!" ("soft", "wide", "base", "mid", trans=hpunch) + + call cho_walk("desk", "base") + pause .5 + call chibi_emote("thought", "cho") + pause .8 + + # Cho puts clothes back on. + play sound "sounds/cloth_sound.ogg" + hide cho_main + $ cho.wear("all") + hide screen cho_cloth_pile + pause .8 + + cho @ cheeks blush "(...)" ("disgust", "narrow", "worried", "down", xpos="right", ypos="base") + cho @ cheeks blush "*Uhm*..." ("soft", "narrow", "worried", "mid") + if game.daytime: + cho @ cheeks blush "Have a good day..." ("soft", "base", "base", "R") + else: + cho @ cheeks blush "Have a good night..." ("soft", "base", "base", "R") + + # Cho leaves. + call cho_walk(action="leave") + + gen "(She's so cute...)" ("base", xpos="far_left", ypos="head") + gen "(And sexy!)" ("grin", xpos="far_left", ypos="head") + gen "(But also a bit intimidating...)" ("base", xpos="far_left", ypos="head") + + jump end_cho_strip_event + +label cc_pf_strip_T2_intro_E3: + + call cc_pf_strip + + gen "[name_cho_genie], how would you like to do another striptease for me?" ("grin", xpos="far_left", ypos="head") + cho "(...)" ("annoyed", "narrow", "angry", "mid") + gen "You did such a phenomenal job last time!" ("grin", xpos="far_left", ypos="head") + cho "Another strip show?" ("soft", "narrow", "angry", "R") + gen "Yes Indeed! Come a bit closer..." ("grin", xpos="far_left", ypos="head") + cho "(...)" ("angry", "narrow", "base", "down") + + call cho_walk("desk", "base") + + cho "Sir, these favours... You said before that they're a part of my training..." ("soft", "narrow", "angry", "mid", xpos="mid", ypos="base", trans=fade) + gen "Yes indeed, a very integral part in fact." ("base", xpos="far_left", ypos="head") + cho "But, they're not the only type of training I'll be receiving, right?" ("annoyed", "narrow", "angry", "mid") + gen "Expecting me to blow on a whistle and watch you run laps around the pitch all day?" ("base", xpos="far_left", ypos="head") + gen "You're already a good athlete, if you want to get an edge, then what is required is approaching it differently." ("base", xpos="far_left", ypos="head") + gen "My job is to figure out every possible angle, and which would result in you winning." ("base", xpos="far_left", ypos="head") + cho "And seeing me strip is part of that?" ("annoyed", "narrow", "angry", "mid") + gen "Your sexy and muscular physique is indeed a very useful asset in boosting your chance of success, yes." ("base", xpos="far_left", ypos="head") + cho "So, the purpose of these favours were never about me repaying you for training me? It's about me learning how to whore myself out?" ("annoyed", "narrow", "angry", "mid") + gen "Can't it be both?" ("base", xpos="far_left", ypos="head") + gen "I get to partake in that hot bod of yours and in return, I teach you how to successfully use it on the pitch." ("base", xpos="far_left", ypos="head") + gen "You've already seen how effective it's been. That Hufflepuffer could barely fly once the broom wasn't the only hard thing between--" ("base", xpos="far_left", ypos="head") + cho "I get the point." ("open", "narrow", "angry", "mid") + cho "But what I don't get is why you didn't just tell me this was the goal from the start, I never imagined that my training would involve...{w} this!" ("annoyed", "base", "worried", "down") + gen "And not give you the opportunity to figure it out for yourself?!" ("base", xpos="far_left", ypos="head") + gen "If I had told you, you would've never accepted my help to begin with, and you'd be sulking in your dorm and be out of the running for the cup by now." ("base", xpos="far_left", ypos="head") + cho "You don't know that!" ("annoyed", "narrow", "worried", "downR") + gen "Or punch a pillow, whatever it is you do when you're mad." ("base", xpos="far_left", ypos="head") + cho "..." ("annoyed", "narrow", "worried", "mid") + gen "Now, unless there are any more objections, it's time we get back to your training." ("base", xpos="far_left", ypos="head") + cho "*Hmph*... I can't believe this could even be considered \"training\"." ("annoyed", "narrow", "angry", "mid") + gen "Well, it is a \"trainer\" after all..." ("base", xpos="far_left", ypos="head") + cho "What?" ("annoyed", "narrow", "angry", "mid") + gen "I'll consider incorporating some more physical training for you in the future." ("base", xpos="far_left", ypos="head") + gen "Now, less talking, more stripping." ("base", xpos="far_left", ypos="head") + cho "..." ("annoyed", "narrow", "angry", "mid") + pause .8 + + # Remove top. + if cho.is_worn("top"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe", "top") + with d3 + pause .5 + + cho @ cheeks blush "" ("quiver", "narrow", "worried", "R") + call ctc + + cho @ cheeks blush "Does Granger do these sorts of things for you too?" ("soft", "base", "worried", "mid") + + # Remove skirt. + if cho.is_worn("bottom"): + play sound "sounds/cloth_sound3.ogg" + hide cho_main + $ cho.strip("bottom") + pause 1.2 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .4 + cho "" (trans=d3) + pause .5 + cho @ cheeks heavy_blush "" ("horny", "base", "worried", "mid") + call ctc + + gen "She does a lot of things for me. You need to be more specific!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "I meant buying \"sexual favours.\"{w} Doing tasks that are, let's say, a little audacious..." ("soft", "narrow", "worried", "downR") + gen "Are you talking about stripping, girl?" ("base", xpos="far_left", ypos="head") + + cho @ cheeks blush "Yes, Sir..." ("quiver", "narrow", "worried", "downR") + pause .4 + + # Check if Hermione has already stripped for you. + if not states.her.status.stripping: # Triggers in hg_pf_strip_T3_intro_E2. This check needs to always be no earlier here to make sure Luna is also unlocked. + if states.cho.ev.inspect_her_body.T2_E3_failed: + $ _event.cancel() + jump cc_pf_strip_T2_E3_fail_repeat + else: + $ _event.cancel() + jump cc_pf_strip_T2_E3_fail + + # After you got Hermione to strip. + + $ states.cho.ev.inspect_her_body.T2_E3_complete = True + + gen "She does indeed." ("base", xpos="far_left", ypos="head") + cho "Really?!{w} You got that cow to take off her clothes?" ("soft", "wide", "base", "mid") + cho "Did you get any proof?" ("soft", "base", "worried", "mid") + gen "What?{w} Why would I--" ("base", xpos="far_left", ypos="head") + cho "To blackmail her!{w} To prove that she's in on this whole \"favour trading\" business too..." ("open", "narrow", "angry", "mid") + gen "We had an eyewitness, for what it's worth..." ("base", xpos="far_left", ypos="head") + cho "Seriously?! Who was it?" ("smile", "base", "base", "mid") + gen "Snape..." ("base", xpos="far_left", ypos="head") + cho "What?! Professor Snape?" ("scream", "wide", "base", "mid", trans=hpunch) + cho "" ("smile", "wide", "base", "mid") + gen "He sort of just walked in on the action.{w} After all, the door wasn't locked..." ("base", xpos="far_left", ypos="head") + cho "That's too funny! I wish I could have been there!" ("smile", "base", "base", "R") + gen "She was dancing on my desk, right here, butt naked!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "That sounds sooo embarrassing!" ("soft", "narrow", "worried", "up") + gen "As far as I know... That door isn't locked right now either..." ("base", xpos="far_left", ypos="head") + gen "Aren't you scared that Snape might walk in on you too?" ("base", xpos="far_left", ypos="head") + cho "*Hmm*..." ("annoyed", "base", "base", "R") + + call hide_characters + show screen blkfade + with d3 + play sound "sounds/08_hop_on_desk.ogg" + pause 3 + + nar "You watch as Cho slowly climbs onto your desk..." + + call cho_chibi("stand", "on_desk", "on_desk") + hide screen bld1 + hide screen blkfade + with d3 + pause .8 + + cho "I'm not scared at all, Sir!" ("smile", "narrow", "angry", "mid") + cho "" ("horny", "narrow", "angry", "mid") + pause .4 + + # Remove bra. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bra") + with d3 + pause .5 + + cho "" ("horny", "narrow", "angry", "mid") + call ctc + + cho "It's just Professor Snape, after all..." ("soft", "narrow", "base", "R") + cho "Everybody knows that he's a creep! Nobody would believe a word he says." ("open", "base", "angry", "down") + gen "So...{w} what if it's not Snape, but some other teacher who makes their way in here?" ("base", xpos="far_left", ypos="head") + cho "*Huh*?{w=0.5} Oh no!" ("soft", "wide", "base", "mid") + cho @ cheeks blush "For a second I forgot we even had other teachers at this school!" ("open", "wide", "worried", "L") + cho @ cheeks heavy_blush "What if Professor McGonagall stumbles in here while...{w} while I--" ("angry", "happyCl", "worried", "mid") + + + call hide_characters + show screen blkfade + with d3 + pause 1.0 + + play sound "sounds/jump_shoes.ogg" + call cho_chibi("stand", "desk", "base", flip=True) + hide screen bld1 + hide screen blkfade + with d3 + call teleport(position="cho", effect=False) + pause .5 + + call bld + gen "Don't worry. That won't happen." ("base", xpos="far_left", ypos="head") + call cho_chibi("stand", "desk", "base") + with d3 + pause .5 + + cho @ cheeks blush "Are you sure, Sir?" ("soft", "narrow", "worried", "mid") + gen "You have my word..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "O-{w=0.2}okay..." ("soft", "narrow", "worried", "R") + gen "Now then, Miss Chang!{w} It's time for the grand finale..." ("base", xpos="far_left", ypos="head") + gen "Take it all off!" ("grin", xpos="far_left", ypos="head") + gen "I want to see you naked..." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "(...)" ("annoyed", "base", "worried", "down") + cho "Very well, Sir." ("base", "base", "base", "mid") + pause .4 + + # Remove panties + everything else. + play sound "sounds/cloth_sound3.ogg" + hide cho_main + $ cho.strip("clothes") + pause 1.2 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .6 + + cho @ cheeks blush "" ("horny", "narrow", "base", "down") + call ctc + + gen "I've got to say, once again... I'm very impressed by you!" ("angry", xpos="far_left", ypos="head") + cho "Glad to hear it, [name_genie_cho]." ("smile", "narrow", "base", "mid") + cho "Catch!" ("base", "base", "base", "L") + nar "Cho throws her panties onto your desk." + cho "You can keep them, for now..." ("soft", "narrow", "base", "R") + gen "I appreciate the notion!" ("grin", xpos="far_left", ypos="head") + cho "" ("base", "narrow", "base", "mid") + pause .8 + + # Panties Acquired + $ states.cho.ev.panty_thief.acquired = True + + gen "Well then, Miss Chang..." ("base", xpos="far_left", ypos="head") + gen "You may leave now.{w} Dismissed." ("base", xpos="far_left", ypos="head") + cho "Wait, Sir!{w} I can't leave just yet!" ("open", "wide", "base", "mid") + gen "Why not? Don't tell me you want points now after all..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "No Sir, but...{w} I don't believe we are done here..." ("mad", "base", "worried", "downR") + gen "We aren't?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "May I request something of you, Sir?" ("soft", "narrow", "worried", "mid") + gen "Yes?{w} What is it?" ("base", xpos="far_left", ypos="head") + + # Cho asks you to summon Hermione. + cho @ cheeks blush "Could you please..." ("soft", "base", "worried", "downR") + cho @ cheeks heavy_blush "*Ehm*..." ("quiver", "narrow", "worried", "downR") + cho @ cheeks heavy_blush "Could you please summon Hermione?" ("soft", "narrow", "worried", "mid") + + with hpunch + gen "What?" ("angry", xpos="far_left", ypos="head") + cho "It's time someone throws \"high and mighty\" Granger off her high horse!" ("open", "narrow", "angry", "mid") + cho "She's been a pain in my butt for years now..." ("angry", "narrow", "angry", "downR") + cho "This is going to be my revenge!" ("soft", "narrow", "angry", "mid") + gen "Are you sure that this is such a good idea? Aren't you scared she'll tattle about it?" ("base", xpos="far_left", ypos="head") + cho "No.{w} Granger is clever..." ("soft", "closed", "base", "mid") + cho "She could destroy my reputation, sure..." ("soft", "base", "base", "R") + cho "But, should that happen, I now have the means to take her down with me!" ("base", "narrow", "angry", "mid") + cho "I'm not the only one stripping for you, after all." ("soft", "narrow", "base", "mid") + gen "I suppose you're right..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I can't believe how depraved Granger actually is..." ("horny", "narrow", "angry", "down") + cho @ cheeks blush "Stripping for her headmaster.{w=0.6} What a slut..." ("soft", "narrow", "angry", "mid") + gen "Aren't you doing exactly the same?" ("base", xpos="far_left", ypos="head") + cho "Yes, but I'm not a whore stripping for points, unlike her!" ("open", "closed", "base", "mid") + gen "Still makes you a slut..." ("base", xpos="far_left", ypos="head") + cho "I'm untouchable! I'll show that {b}bitch{/b} she can't mess with me!" ("angry", "narrow", "angry", "R") + cho "This is gonna be so much fun!" ("smile", "narrow", "angry", "mid") + + stop music fadeout 3.0 + call cho_walk(570, "base") + pause 2.0 + + cho "Call her already!" ("annoyed", "narrow", "angry", "R", flip=True, trans=d5) + gen "I'm on it..." ("base", xpos="far_left", ypos="head") + + hide screen bld1 + show screen blkfade + with d3 + hide cho_main + pause 1.0 + hide screen blkfade + with d3 + + call cc_pf_strip_T2_E3_hermione + + jump end_cho_strip_event + +label cc_pf_strip_T2_E3_repeat: + + call cc_pf_strip + + gen "[name_cho_genie], why don't you come a bit closer?" ("base", xpos="far_left", ypos="head") + cho "Of course, [name_genie_cho]..." ("base", "narrow", "base", "mid") + + call cho_walk("desk", "base") + + cho "" ("base", "base", "base", "R", xpos="mid", ypos="base", trans=fade) + call ctc + + gen "I'm in the mood for another striptease!" ("grin", xpos="far_left", ypos="head") + cho "You are, are you?" ("soft", "base", "raised", "downR") + + # Remove robe. + if cho.is_worn("robe"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe") + with d3 + pause .5 + + cho "Good, because so am I!" ("base", "narrow", "angry", "mid") + cho "" ("base", "narrow", "angry", "mid") + + #Remove top. + if cho.is_worn("top"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("top") + cho "*Hmm*... You better be enjoying this, Sir." ("soft", "closed", "base", "mid") + with d3 + pause .5 + + #Remove bottoms. + if cho.is_worn("bottom"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bottom") + with d3 + pause .5 + gen "*Argh!* You little minx!" ("angry", xpos="far_left", ypos="head") + + cho "Are we going to invite Granger again?" ("soft", "narrow", "raised", "down") + cho "I would like to have some fun with her..." ("smile", "narrow", "angry", "mid") + pause .4 + + # Remove bra. (she is wearing underwear at this level in any case) + if cho.is_worn("bra"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bra") + with d3 + pause .5 + + gen "The more, the merrier!" ("grin", xpos="far_left", ypos="head") + cho "" ("base", "narrow", "angry", "mid") + pause .4 + + # Remove panties + all else. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("clothes") + hide cho_main + $ cho.strip("clothes") + pause 1.2 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .6 + cho "" (trans=d3) + call ctc + + cho "Catch, [name_genie_cho]!" ("soft", "base", "base", "mid") + nar "Cho throws her panties at you." + + # Panties Acquired + $ states.cho.ev.panty_thief.acquired = True + + gen "Nice!" ("grin", xpos="far_left", ypos="head") + cho "I'd like to have them back after this, mind you." ("soft", "base", "raised", "R") + gen "Of course..." ("base", xpos="far_left", ypos="head") + cho "Anything else you'd like, Sir?" ("base", "base", "base", "mid") + + $ d_flag_01 = False # Cho on desk flag for this event + + menu: + "\"Hop on my desk!\"": + $ d_flag_01 = True + + cho "Good idea, [name_genie_cho]!" ("base", "happyCl", "base", "mid") + call hide_characters + show screen blkfade + with d3 + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + call cho_chibi("stand", "on_desk", "on_desk", flip=False) + hide screen bld1 + hide screen blkfade + with d3 + pause 1 + + cho "How is the view down there, Sir?" ("base", "narrow", "base", "down") + gen "Couldn't be any better!" ("grin", xpos="far_left", ypos="head") + + call hide_characters + hide screen bld1 + with d3 + pause .2 + + call cho_chibi("stand", "on_desk", "on_desk", flip=True) # Facing the door. + with d3 + pause .8 + cho "Now, if you don't mind, Sir..." ("soft", "base", "base", "R", xpos="mid", ypos="base", flip=True) + cho "I'd like you to call that Gryffindor slut to your office!" ("soft", "base", "base", "L") + + "\"Let Granger have a good look at you!\"": + cho "I'll make sure of it, Sir!" ("soft", "narrow", "angry", "mid") + + call cho_walk(570, "base") + cho "Alright, you can call her now." ("soft", "base", "base", "R", xpos="mid", ypos="base", flip=True) + + + gen "On it!" ("grin", xpos="far_left", ypos="head") + pause .8 + cho "(...)" ("annoyed", "narrow", "angry", "L") + gen "(...)" ("base", xpos="far_left", ypos="head") + + call hide_characters + hide screen bld1 + with d3 + pause .5 + + call cc_pf_strip_T2_E3_hermione_repeat + + jump end_cho_strip_event + +label cc_pf_strip_T2_E3_fail: + # Cho demands that you get Hermione to strip, so Cho has something to blackmail her should anything happen. + # Cho gets dressed again and storms off. + + $ states.cho.ev.inspect_her_body.T2_E3_failed = True + + gen "Actually, she doesn't..." ("base", xpos="far_left", ypos="head") + cho "What? But I thought she'd--" ("soft", "wide", "base", "mid") + cho "Why do you ask me to do these favours, and not Granger?" ("open", "narrow", "angry", "mid", trans=hpunch) + gen "Let's just say, she isn't as progressive as you...{w} yet." ("base", xpos="far_left", ypos="head") + cho "You haven't even seen her naked?" ("angry", "base", "base", "mid") + cho "What favours are you even buying from her?" ("open", "base", "angry", "mid") + gen "Just chit-chats, mostly..." ("base", xpos="far_left", ypos="head") + cho "Make her strip too!" ("clench", "narrow", "angry", "mid") + gen "It's not that easy, girl!" ("angry", xpos="far_left", ypos="head") + cho "Then get on with it!" ("angry", "closed", "angry", "mid") + cho "What's the worst that could happen?" ("soft", "narrow", "angry", "R") + gen "She could report me, and I'd get kicked out of this school, most likely." ("base", xpos="far_left", ypos="head") + gen "She's reported me to that ministry before..." ("base", xpos="far_left", ypos="head") + cho "The \"Ministry of Magic\"?" ("open", "base", "raised", "mid") + cho @ cheeks blush "If they were to regulate the school rules more strictly, my chance of winning the Quidditch cup would be back down to zero!" ("angry", "wide", "worried", "mid") + cho @ cheeks blush "And if Granger ever was to find out about me stripping for our headmaster, it would mean the end of my Quidditch career for sure!" ("mad", "base", "worried", "downR") + gen "So? What do you suggest we do?" ("base", xpos="far_left", ypos="head") + cho "Isn't it obvious?! Ask her to do more advanced favours!" ("soft", "narrow", "angry", "mid") + cho "If I could get a hold of something to blackmail her with, she'd never dare to report to the ministry!" ("clench", "narrow", "angry", "R") + gen "That doesn't sound too bad of an idea..." ("base", xpos="far_left", ypos="head") + cho "Until then, don't expect me to undress for you..." ("soft", "narrow", "angry", "mid") + gen "(Bollocks...)" ("base", xpos="far_left", ypos="head") + cho "" ("annoyed", "closed", "angry", "mid") + pause .5 + + # play sound "sounds/cloth_sound.ogg" #The player could technically have taken her top and bottoms off in wardrobe (Unless we change things) + $ cho.wear("all") + hide screen cho_cloth_pile + cho "" ("annoyed", "narrow", "angry", "mid") + pause .8 + + cho "Good day, Sir!" ("soft", "narrow", "angry", "mid") + + # Cho leaves. + call cho_walk(action="leave") + + jump end_cho_event + +label cc_pf_strip_T2_E3_fail_repeat: + gen "So, how about that striptease then?" ("base", xpos="far_left", ypos="head") + cho "Oh, already?" ("open", "base", "base", "mid") + cho "I didn't think you'd get her to do it so soon." ("smile", "narrow", "base", "R") + + call cho_walk("desk", "base") + + # Remove top. + if cho.is_worn("top", "robe"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe", "top") + with d3 + pause .5 + + gen "Her to do--{w=0.2} I mean, of course, Work smart, not when you're hard and all that..." ("base", xpos="far_left", ypos="head") + + # Remove skirt. + if cho.is_worn("bottom"): + play sound "sounds/cloth_sound3.ogg" + hide cho_main + $ cho.strip("bottom") + pause 1.2 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .4 + cho "" (trans=d3) + pause .5 + cho @ cheeks heavy_blush "" ("horny", "base", "worried", "mid") + call ctc + + cho "I knew she was just putting up a front..." ("smile", "base", "base", "R") + cho "I bet she shaves down there, just like everyone else..." ("open", "closed", "base", "mid") + gen "Yeah, probably." ("base", xpos="far_left", ypos="head") + cho "Wait, what do you mean \"probably\", did Granger strip for you or not?!" ("open", "narrow", "angry", "mid") + gen "About that..." ("base", xpos="far_left", ypos="head") + cho "Wait, she didn't?!" ("clench", "narrow", "angry", "mid") + cho "Then why are you asking me to do this again?" ("angry", "narrow", "angry", "mid") + gen "Come on, just pop out a titty or something!" ("base", xpos="far_left", ypos="head") + cho "No!" + + # play sound "sounds/cloth_sound.ogg" #The player could technically have taken her top and bottoms off in wardrobe (Unless we change things) + $ cho.wear("all") + hide screen cho_cloth_pile + cho "" ("annoyed", "narrow", "angry", "mid") + pause .8 + + $ renpy.choice_for_skipping() + + cho "I don't want Granger to report me to the stupid ministry, so unless you get her to take her clothes off--" ("soft", "narrow", "angry", "R") + cho "I won't be \"poppin\" any titties." ("open", "narrow", "angry", "mid") + + gen "(Maybe if I get Hermione to {b}strip for me{/b}, she won't have the leverage over Cho... )" ("base", xpos="far_left", ypos="head") + + # Cho leaves. + call cho_walk(action="leave") + + jump end_cho_event + diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier2_hermione.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2_hermione.rpy new file mode 100644 index 00000000..05996504 --- /dev/null +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier2_hermione.rpy @@ -0,0 +1,441 @@ + +label cc_pf_strip_T2_E3_hermione: + + # Equip Hermione default clothing. + $ her_outfit_last.save() # Store current outfit. + $ hermione.equip(her_outfit_default) #Equip Hermione default clothing. + + # Summon Hermione. + play sound "sounds/door.ogg" + call her_chibi("stand", "door", "base") + with d3 + pause .5 + + her "You wanted to see me, Sir?" ("soft", "closed", "base", "mid", xpos="base", ypos="base", flip=False, trans=d3) + + her "...{w=0.4}{nw}" ("soft", "base", "worried", "L") + her "...{fast}Cho?!" ("clench", "wide", "worried", "shocked") + + play music "music/deadly-roulette-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + + cho "Hey there, Granger!" ("horny", "narrow", "angry", "mid") # Grinning + her "What? Why are you--" ("disgust", "wide", "worried", "shocked") + + call her_walk(660, "base") + + cho "" ("smile", "narrow", "angry", "L", xpos="mid", ypos="base", flip=True) + her "What the bloody hell is going on here?!" ("scream", "closed", "base", "mid", xpos="right", ypos="base", trans=hpunch) # Scream + her "" ("angry", "base", "angry", "mid") + + cho "You know, just the usual..." ("soft", "base", "base", "L") + cho "Like stripping for our dear headmaster!" ("smile", "narrow", "angry", "L") + cho "I trust that you're more than familiar with it..." ("soft", "closed", "base", "L") + her "You've told her?" ("clench", "base", "angry", "mid") + cho "So you really {b}did{/b} do it!" ("open", "wide", "base", "L") + her "It's none of your business what I do at this school! You slut!" ("angry", "narrow", "angry", "R") + cho "Are you sure about that?{w=0.6} I believe there are some people that would think otherwise..." ("grin", "narrow", "base", "mid") + cho "Your friends...{w} the other students...{w} our teachers..." ("soft", "narrow", "angry", "L") + cho "Maybe even the ministry?" ("smile", "narrow", "angry", "L") + her "You wouldn't dare!!!" ("upset", "happy", "base", "mid") + cho "Indeed, I wouldn't." ("soft", "closed", "base", "mid") + cho "And neither would you!" ("smile", "narrow", "angry", "L") + cho "Which is why we brought you here..." ("open", "base", "base", "mid") + cho "To have some fun!" ("base", "narrow", "angry", "mid") + + her "Sir, I demand that you stop this nonsense!" ("open", "base", "angry", "mid") + cho "I don't think that's very likely to happen, Granger..." ("soft", "narrow", "angry", "mid") + cho "We both know what he would prefer..." ("soft", "closed", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + cho "And who he prefers..." ("smile", "narrow", "angry", "mid") + her "You think that he prefers you over me?{w} Please..." ("soft", "narrow", "angry", "R") + cho "Why don't we just ask him?" ("base", "narrow", "base", "mid") + cho "Tell us, sir..." ("soft", "narrow", "base", "R") + cho "How do you like the athletic, immaculate, nude body of your favourite student?" ("smile", "narrow", "angry", "mid") + cho "It's so much better than Miss Granger's, isn't it?" ("base", "narrow", "angry", "mid") + call ctc + + $ d_flag_01 = False # Cho not on desk + + call cc_pf_strip_T2_E3_hermione_choices + + return + +label cc_pf_strip_T2_E3_hermione_choices: + + menu: + "\"Definitely!\"": + $ states.her.mood += 10 + her "What?!" ("open", "wide", "base", "stare") + cho "See, I told you!{w=0.6} How could he pick a walking bush on legs over this!" ("smile", "narrow", "angry", "L") + her "" ("angry", "base", "angry", "mid") + cho "Now tell her. Tell her why my body is superior compared to hers." ("soft", "closed", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + gen "Well, you're more flexible for one..." ("base", xpos="far_left", ypos="head") + cho "That's right, I am!" ("soft", "wide", "base", "mid") + her "*Humph*..." ("annoyed", "narrow", "angry", "R") + cho "And? What else?" ("smile", "narrow", "base", "L") + gen "And Cho's thighs are probably the most impressive ones I've seen in the last hund-- decade or more!" ("angry", xpos="far_left", ypos="head") + her "Well, in that case..." ("soft", "closed", "base", "mid") + her "In that case, I'll give you a great opportunity to stare at them indefinitely." ("angry", "base", "angry", "mid") + cho "What are you talking about, Granger?" ("soft", "narrow", "raised", "L") + + # Hermione walks towards the desk to pick up Cho's clothing. + call her_walk("desk", "base", speed=1.5) + pause .2 + if not d_flag_01: # Cho not on desk + call cho_chibi("stand",570,"base", flip=False) # Facing the desk. + with d3 + pause .6 + + cho "What are you doing?" ("soft", "narrow", "base", "L", ypos="head", flip=False) + + # Hermione picks them up and runs off. + call bld("hide") + pause .2 + play sound "sounds/cloth_sound.ogg" + hide screen cho_cloth_pile + pause .5 + + cho "My clothes!" ("open", "wide", "base", "L") + + play sound "sounds/run_03.ogg" + call her_walk("door", "base", speed=2) + call her_chibi(flip=False) + with d3 + pause .1 + call cho_chibi(flip=True) + with d3 + + her "Hey seeker, looks like someone will have to seek their way to their dorm without any clothes tonight." ("open", "base", "angry", "mid", ypos="head", flip=False) + cho "Hey!" ("clench", "narrow", "angry", "L", ypos="head", flip=True) + + # Hermione leaves out of the door. + hide screen bld1 + call her_chibi("stand", "door", "base", flip=True) + with d3 + pause .2 + + call her_chibi("leave") + + # Cho runs out the door. + if d_flag_01: # On desk + play sound "sounds/08_hop_on_desk.ogg" + show screen blkfade + with d3 + pause 1 + + hide screen bld1 + hide screen blkfade + call cho_chibi("stand", "desk", "base", flip=True) + with d3 + + else: + hide screen bld1 + call cho_chibi("stand",570,"base", flip=True) # Facing the door. + with d3 + + pause .2 + + cho "{size=+4}Give them back, you bitch!{/size}" ("scream", "narrow", "angry", "L", ypos="head", flip=True, trans=hpunch) + + play sound "sounds/run_03.ogg" + call cho_walk(action="leave", speed=2) + + call bld + gen "Did she just?" ("base", xpos="far_left", ypos="head") + gen "(...)" ("base", xpos="far_left", ypos="head") + gen "I don't think she's coming back..." ("base", xpos="far_left", ypos="head") + + call bld + gen "Nice, I still got her panties!" ("grin", xpos="far_left", ypos="head") + + # Panties acquired message! + call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp") + + "\"Not even close.\"": + $ states.cho.mood += 15 + cho "Not even clo--" ("soft", "wide", "base", "mid") + her "" ("smile", "base", "base", "R") + cho "Sir, could you please repeat that for me?" ("clench", "closed", "angry", "mid") + gen "Hermione's body is superior." ("base", xpos="far_left", ypos="head") + her "No surprise there..." ("base", "base", "base", "R") + cho "No!{w} It clearly isn't!" ("scream", "narrow", "angry", "mid", trans=hpunch) + cho "Are you mad, old man?" ("angry", "narrow", "angry", "mid") + her "Don't use that tone with the headmaster..." ("soft", "closed", "base", "mid") + cho "Nobody asked you!" ("mad", "narrow", "angry", "L") + her "He's the wisest wizard at our school...{w} Surely his word should be final..." ("smile", "narrow", "base", "mid_soft") + gen "I'd use the word astute, but I'll take wise..." ("base", xpos="far_left", ypos="head") + cho "Why are you siding with her all of a sudden?" ("annoyed", "narrow", "angry", "mid") + gen "Good question." ("base", xpos="far_left", ypos="head") + gen "Miss Granger, why don't you show Miss Chang why your body is superior to hers..." ("base", xpos="far_left", ypos="head") + gen "Share with us your two most compelling arguments..." ("grin", xpos="far_left", ypos="head") + her "Sir?" ("soft", "wink", "base", "mid") + cho @ cheeks blush "He's talking about your {b}tits,{/b} you dimwit!" ("angry", "closed", "angry", "mid") + her @ cheeks blush "(...)" ("clench", "narrow", "base", "down") # Embarrassed + cho "" ("annoyed", "narrow", "angry", "mid") + gen "Yes Miss Granger!{w=0.5} Your very round{w=0.5}, handsomely spheroid{w=0.5}, perfectly sized{w=0.5}, very voluptuous and--" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I got it, Professor!" ("clench", "happyCl", "worried", "mid") + cho @ cheeks blush "(Cow tits...)" ("annoyed", "narrow", "angry", "R") + $ hermione.strip("robe", "accessory") + her "Here..." ("base", "narrow", "base", "mid_soft") + + # Hermione shows her breasts. + # play sound "sounds/boing02.ogg" + $ hermione.strip("top", "bra") + with d3 + pause .5 + + her @ cheeks blush "" ("base", "narrow", "base", "mid_soft") + call ctc + + her "Have a good look." ("soft", "narrow", "base", "mid_soft") + cho @ cheeks blush "(...)" ("annoyed", "narrow", "angry", "downR") # Tries to look away. + her "And you'd better take in what a {b}real pair{/b} looks like, slut." ("smile", "narrow", "angry", "R") + cho "I'd rather not, or I might barf..." ("soft", "narrow", "angry", "R") # + gen "Very nice, Miss Granger!" ("grin", xpos="far_left", ypos="head") + + menu: + "\"Ten points to Gryffindor!\"": + $ gryffindor += 10 + cho "(...)" ("annoyed", "narrow", "angry", "mid") + her "Thank you." ("soft", "narrow", "base", "mid_soft") + + "\"Fifty points to Gryffindor!\"": + $ states.cho.mood += 10 + $ gryffindor += 50 + cho "(Fifty?!)" ("soft", "wide", "base", "mid") # Shocked + her "Thank you." ("soft", "narrow", "base", "mid_soft") + cho @ cheeks heavy_blush "" ("clench", "closed", "angry", "mid") + + gen "For exposing those magnificent breasts." ("grin", xpos="far_left", ypos="head") + + # play sound "sounds/cloth_sound3.ogg" + $ hermione.wear("all") + with d3 + pause .5 + + her "Any time, Professor." ("soft", "narrow", "base", "mid_soft") + cho @ cheeks heavy_blush "(I bloody hate her!)" ("angry", "narrow", "angry", "L") + + her "If you don't mind, Sir." ("open", "base", "base", "R") + her "I'd like to leave now." ("soft", "base", "base", "mid") + cho "By all means, just go already." ("soft", "narrow", "angry", "R") + her "Did something not go as you expected?" ("smile", "base", "base", "R") + her "Did you think having me here when you exposed yourself would make me jealous..." ("soft", "closed", "base", "mid") + cho @ cheeks blush "(...)" ("annoyed", "narrow", "angry", "L") + her "Thank you for inviting me, Professor." ("soft", "narrow", "base", "mid_soft") + her "I {b}did{/b} enjoy this little obscene \"freak-show\" you arranged for me..." ("grin", "narrow", "base", "mid_soft") + cho @ cheeks heavy_blush "You'll regret this, Granger!" ("clench", "narrow", "angry", "L") + + if game.daytime: + her "Have a nice day, Professor." ("soft", "closed", "base", "mid") + else: + her "Have a good night, Professor." ("soft", "closed", "base", "mid") + + gen "(...)" ("base", xpos="far_left", ypos="head") + her "See you in class, Chang!" ("grin", "narrow", "base", "R_soft") + cho @ cheeks blush "*Tzzzz*!" ("angry", "closed", "angry", "mid") + cho @ cheeks heavy_blush "Cow..." ("annoyed", "narrow", "angry", "R") + + # Hermione leaves. + call her_walk(action="leave") + + # Cho stands close to your desk. + call hide_characters + show screen blkfade + call cho_chibi("stand", "desk", "base", flip=True) + with d3 + + pause .5 + hide screen blkfade + with d3 + + pause .8 + call cho_chibi("stand", "desk", "base", flip=False) + + cho "I thought you were on my side, Sir!" ("soft", "narrow", "angry", "mid", xpos="mid", ypos="base", flip=False) + gen "I'm on nobody's side, because nobody is on my side..." ("base", xpos="far_left", ypos="head") + cho "You were supposed to have my back! Not Granger's!" ("angry", "closed", "angry", "mid") + cho "That {b}whore{/b} doesn't deserve your praise!" ("soft", "narrow", "angry", "mid") + gen "She made some good arguments..." ("base", xpos="far_left", ypos="head") + gen "\"A couple\" of good arguments, to be precise!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "They're barely larger than mine..." ("annoyed", "narrow", "base", "downR") + cho "You'll see, Sir.{w} I'm better than her.{w} And I'll prove it to you..." ("soft", "narrow", "angry", "mid") + gen "Well, that is yet to be seen." ("grin", xpos="far_left", ypos="head") + + # Cho gets dressed. + play sound "sounds/cloth_sound.ogg" + show screen blkfade + with d5 + $ cho.wear("all") + hide screen cho_cloth_pile + hide screen blkfade + + cho @ cheeks blush "Sir, my *Ehm*...{w} my panties..." ("open", "narrow", "angry", "R", xpos="mid", ypos="base", trans=fade) + gen "Oh, of course..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("annoyed", "narrow", "angry", "mid") + pause .5 + gen "Give me just a moment..." ("base", xpos="far_left", ypos="head") + play sound "sounds/sniff.ogg" + nar "You give Cho's panties one last sniff before handing them back to the girl." + gen "There." ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "(Pervert...)" ("annoyed", "narrow", "angry", "R") + cho "I think it's time for me to go now." ("soft", "closed", "angry", "mid") + cho "Until next time, [name_genie_cho]." ("soft", "narrow", "angry", "mid") + + # Cho leaves. + call cho_walk(action="leave") + + call bld + gen "Damn!" ("angry", xpos="far_left", ypos="head") + gen "For somebody who does a lot of exercising, she smells really nice!" ("grin", xpos="far_left", ypos="head") + gen "Maybe I should be a bit nicer to her next time..." ("base", xpos="far_left", ypos="head") + + $ states.cho.ev.panty_thief.acquired = False + + + "\"Let Hermione assess you, Cho.\"": + $ states.her.mood += 6 + cho "Her?" ("soft", "wide", "base", "mid") + her "I couldn't care less about the way she looks!" ("soft", "base", "angry", "mid") + cho "(...)" ("annoyed", "narrow", "angry", "L") + gen "Are you sure about that? I've seen you staring..." ("base", xpos="far_left", ypos="head") + cho "" ("base", "narrow", "angry", "L") + her "Because she just so happens to be standing there, butt naked!{w} In your office!" ("angry", "closed", "angry", "mid") + gen "I'd like you to rate Miss Chang's figure, truthfully, and to the best of your ability." ("base", xpos="far_left", ypos="head") + her "Really? Do I have to?" ("annoyed", "base", "base", "mid") + gen "You do! I'd really like to hear your opinion on Miss Chang's shamelessly exposed body!" ("grin", xpos="far_left", ypos="head") + cho "*Mhmm*" ("base", "closed", "base", "mid") # Self assured. + her "Fine..." ("soft", "narrow", "angry", "R") + her "\"Poor\", I'd say..." ("soft", "closed", "base", "mid") + cho "How dare you!{w=0.6} You snobby skunk!" ("scream", "narrow", "angry", "L", trans=hpunch) + her "" ("base", "base", "base", "R") + gen "(Is that better or worse than \"troll?\")" ("base", xpos="far_left", ypos="head") # Snape explained school ratings during the match. + cho "Our Professor asked you to rate my body truthfully!" ("mad", "narrow", "angry", "L") + her "Which I did!{w} And it's at \"dreadful\" now!" ("soft", "closed", "base", "mid") + cho "\"Dreadful\"?!" ("soft", "wide", "base", "mid") + cho @ cheeks blush "You're a {b}lying bitch,{/b} Granger!" ("angry", "closed", "angry", "mid") + her "Sir, you can't let her talk to me like that!" ("angry", "base", "angry", "mid") + gen "Bitch isn't even a proper curse word." ("base", xpos="far_left", ypos="head") + gen "You can say that on TV..." ("base", xpos="far_left", ypos="head") + cho "Granger, why don't you tell us which part of my immaculate body deserves such a poor rating?" ("soft", "narrow", "angry", "L") + her "Very well..." ("soft", "closed", "base", "mid") + her "For one, you are a {b}narcissistic bitch!{/b}{w} That makes the presumption her body is superior to all others..." ("open", "base", "angry", "L") + cho "Because it is." ("smile", "narrow", "angry", "mid") + her "Not to mention that you have even fewer curves than some of the boys I know..." ("grin", "base", "angry", "mid") + cho @ cheeks blush "" ("annoyed", "narrow", "angry", "mid") + her "Maybe once your Quidditch endeavours all fail, you can apply for a profession to model male underwear..." ("soft", "closed", "base", "mid") + cho "I wonder where you're getting {b}your{/b} undergarments from..." ("soft", "closed", "base", "mid") + cho "Stealing them from Madam Pomfrey, are you?" ("smile", "narrow", "angry", "mid") + her "I do not!!!" ("open", "wide", "base", "stare") + gen "Girls, we all know what really counts is how we appear on the inside." ("base", xpos="far_left", ypos="head") + her "" ("angry", "closed", "angry", "mid") + cho "Oh, shut up!" ("angry", "narrow", "angry", "mid") + her "Professor, you're the one who continuously asks us to expose ourselves!" ("soft", "base", "angry", "mid") + gen "Well yes. I also never claimed that {b}I{/b} was pretty on the inside." ("base", xpos="far_left", ypos="head") + gen "You of all people should know better by now..." ("base", xpos="far_left", ypos="head") + her "Despicable..." ("angry", "narrow", "angry", "R") + cho "Don't worry, Granger!" ("soft", "narrow", "angry", "L") + cho "If you were to start doing hourly exercises, our Professor might even be attracted to you by the end of the year..." ("soft", "closed", "raised", "mid") + her "Hourly exercises?" ("soft", "wide", "base", "stare") # Shocked + cho "But I wouldn't say all hope is lost!" ("smile", "narrow", "angry", "L") + cho "While your figure might be a bit repulsive to the eyes..." ("soft", "closed", "base", "mid") + cho @ cheeks blush "I don't mind looking at those {b}huge melons{/b} of yours." ("soft", "narrow", "base", "L") + her "How dare you speak of them like that!" ("angry", "narrow", "angry", "R") + gen "*Heh*... Melons..." ("grin", xpos="far_left", ypos="head") + her "Sir, I'd like to leave now." ("open", "base", "angry", "mid") + + cho "Already missing your books, are you?" ("annoyed", "narrow", "base", "L") + her "I am not.{w} And I don't appreciate being made fun of!" ("angry", "closed", "angry", "mid") + + if game.daytime: + her "Good day, Sir." ("soft", "base", "angry", "mid") + cho "See ya around, Granger..." ("smile", "narrow", "angry", "L") + her "*Hmpf*" ("annoyed", "narrow", "angry", "R") + + else: + her "Good night, Sir." ("soft", "base", "angry", "mid") + cho "Nighty-night, Granger..." ("soft", "narrow", "angry", "L") + her "*Tzzzzzh*!" ("annoyed", "narrow", "angry", "R") + + # Hermione leaves. + call her_walk(action="leave") + + show screen blkfade + call cho_chibi("stand", "desk", "base", flip=False) + with d3 + + hide screen blkfade + cho "I have to say, [name_genie_cho], doing these favours is fun!" ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", flip=False, trans=fade) + gen "I'm glad you're enjoying yourself." ("base", xpos="far_left", ypos="head") + cho "Believe me, Sir. I am." ("smile", "narrow", "angry", "mid") + cho "" ("horny", "narrow", "angry", "mid") + pause .4 + + # Cho gets dressed. + play sound "sounds/cloth_sound.ogg" + $ cho.wear("all") + hide screen cho_cloth_pile + with d3 + pause .5 + + cho "Now, if you excuse me..." ("soft", "base", "base", "mid") + + if game.daytime: + cho "I have to head back to classes." ("soft", "base", "base", "R") + gen "I still got your--" ("base", xpos="far_left", ypos="head") + cho "See ya next time, [name_genie_cho]!" ("smile", "narrow", "angry", "mid") + else: + cho "I have to head back to my dorms." ("soft", "base", "base", "R") + gen "Don't you want your--" ("base", xpos="far_left", ypos="head") + cho "Sweet dreams, [name_genie_cho]!" ("smile", "narrow", "angry", "mid") + + call cho_walk(action="leave") + + call bld + gen "Nice, I still got her panties!" ("grin", xpos="far_left", ypos="head") + + call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp") + $ states.cho.ev.panty_thief.acquired = True + + # Reset Hermione clothing. + $ hermione.equip(her_outfit_last) + + return + +label cc_pf_strip_T2_E3_hermione_repeat: + # Equip Hermione default clothing. + $ her_outfit_last.save() # Store current outfit. + $ hermione.equip(her_outfit_default) #Equip Hermione default clothing. + + # Hermione enters. + play sound "sounds/door.ogg" + call her_chibi("stand", "door", "base") + with d3 + pause .5 + + call chibi_emote("thought", "hermione") + pause .8 + + call her_walk(660, "base") + + cho "" ("horny", "narrow", "angry", "L", xpos="mid", ypos="base", flip=True) + her "You wanted to see me, Professor?" ("soft", "closed", "base", "mid", xpos="base", ypos="base") + gen "Yes, but I wasn't the only one." ("grin", xpos="far_left", ypos="head") + her "(...)" ("annoyed", "narrow", "angry", "R") + cho "Hi, Granger!" ("smile", "narrow", "angry", "L") + her "Let me guess, we are here to marvel at your insecurity again?" ("soft", "closed", "base", "mid") + cho "Granger, instead of spitting out insults, why don't you join me and have some fun for once?" ("soft", "base", "raised", "L") + cho "Strip down for your headmaster as well, like you usually do..." ("smile", "narrow", "angry", "L") + cho "Or would it bother you too much, now that I'm here?" ("horny", "narrow", "base", "L") + her "*glare*" ("angry", "base", "angry", "mid") + cho "Maybe then you'd have a chance to win against me!{w} And earn some useless Gryffindor points while you're at it." ("soft", "base", "base", "L") + her "I don't think that will be necessary..." ("soft", "closed", "base", "mid") + cho "Well, we all already know how this is going to turn out don't we, [name_genie_cho]?" ("soft", "base", "base", "mid") + cho "My body is still better than Miss Granger's, isn't it?" ("smile", "narrow", "angry", "L") + her "" ("annoyed", "base", "angry", "mid") + call ctc + + call cc_pf_strip_T2_E3_hermione_choices + + return diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier3.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3.rpy new file mode 100644 index 00000000..bd591b34 --- /dev/null +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3.rpy @@ -0,0 +1,3094 @@ + +## Tier 3 - Event 1 ## + +# Cho hops on your desk and she strips for you. +# You talk about the last match and Tonks' role in it. +# You tell Cho about Tonks' ability, and what she did to help winning the game. +# Notes: Cho could be naked at this point so some sounds/effects like cloth pile has been moved. + +label cc_pf_strip_T3_intro_E1: + + call cc_pf_strip + + gen "Come closer, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]..." ("base", "narrow", "base", "mid") + + call cho_chibi("stand", "desk", "base") + + cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + + gen "Would you like to hop on my desk and give me another show?" ("grin", xpos="far_left", ypos="head") + cho "You want to look at my body again?" ("soft", "narrow", "raised", "mid") + cho "Naturally you'd like to see if I've been keeping up with my workout? Staying in shape and all that..." ("soft", "narrow", "angry", "mid") + + menu: + "\"Of course...\"": + cho "[name_genie_cho], no need to continue the pretence..." ("open", "closed", "base", "mid") + cho "We both know you don't really care about that stuff." ("open", "narrow", "base", "mid") + cho "All you want to do is ogle at my naked body." ("soft", "narrow", "angry", "mid") + cho "You're just like all the other teachers..." ("annoyed", "narrow", "base", "R") + gen "You are one to say, you little slut!" ("base", xpos="far_left", ypos="head") + gen "You went through quite the effort to show the whole school your ass on that broom..." ("base", xpos="far_left", ypos="head") + cho "I only did that, so we'd win!" ("normal", "narrow", "angry", "mid") + gen "Keep telling yourself that, you little show-off!" ("grin", xpos="far_left", ypos="head") + gen "Come here and hop on my desk already!" ("grin", xpos="far_left", ypos="head") + cho "..." ("annoyed", "narrow", "angry", "mid") + + "\"No, I just want to see your naked body up close.\"": + gen "Let me see that ass of yours bounce, baby!" ("grin", xpos="far_left", ypos="head") + cho "At least you are honest with me..." ("open", "closed", "base", "mid") + cho "I can't really blame you, you're just a man, after all..." ("soft", "narrow", "base", "L") + cho "And I'm simply irresistible." ("smile", "narrow", "angry", "mid") + gen "That you are, you little slut!" ("grin", xpos="far_left", ypos="head") + gen "Now hop onto my desk, so I can have a good look at you." ("grin", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]." ("base", "narrow", "angry", "mid") + + + # Cho hops on your desk. + call hide_characters + show screen blkfade + with d5 + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + call cho_chibi("stand", "on_desk", "on_desk", flip=False) + hide screen bld1 + hide screen blkfade + with d5 + call ctc + + cho "" ("base", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) + call ctc + + gen "Yes! Show me what you got, you naughty girl!" ("grin", xpos="far_left", ypos="head") + pause .2 + + #Remove robes. + if cho.is_worn("robe"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe") + with d3 + pause .5 + + cho "Let's just get rid of this thing to start with..." ("horny", "narrow", "base", "down") + + # Remove top. + if cho.is_worn("top"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("top") + with d3 + pause .5 + + cho @ cheeks blush "" ("horny", "narrow", "angry", "mid") + call ctc + + gen "Marvellous as always." ("grin", xpos="far_left", ypos="head") + cho "I'm glad you're enjoying yourself, [name_genie_cho]..." ("base", "narrow", "angry", "down") + gen "That I do!" ("grin", xpos="far_left", ypos="head") + pause .2 + + # Remove bottoms. + if cho.is_worn("bottom"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bottom") + with d3 + pause .5 + + gen "Such a tease, just take it all off already!" ("base", xpos="far_left", ypos="head") + cho "Patience, [name_genie_cho]..." ("base", "narrow", "base", "mid") + + # Remove bra. + if cho.is_worn("bra"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bra") + with d3 + pause .5 + + gen "There they are... My favourite pair of Quaffles." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("base", "narrow", "base", "downR") + + # Remove panties + everything else. + if cho.is_equipped("panties"): + + gen "And now your panties!" ("grin", xpos="far_left", ypos="head") + cho "Of course, [name_genie_cho]..." ("smile", "narrow", "base", "mid") + pause .2 + + play sound "sounds/cloth_sound3.ogg" + hide cho_main + $ cho.strip("clothes") + pause 1.2 + call cho_chibi("stand", "on_desk", "on_desk", flip=True) + pause .4 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .6 + call cho_chibi("stand", "on_desk", "on_desk", flip=False) + cho "" (trans=d3) + pause .5 + + cho @ cheeks blush "..." ("soft", "narrow", "base", "downR") + cho @ cheeks blush "Here, [name_genie_cho]... You can have them." ("horny", "narrow", "angry", "mid") + pause .5 + + # Panties acquired message! + call give_reward("You have acquired Cho's panties!", "interface/icons/panties.webp") + $ states.cho.ev.panty_thief.acquired = True + + else: + pause .8 + + #Remove any remaining items (no sound since she might be naked) + $ cho.strip("clothes") + with d3 + pause .5 + + cho @ cheeks blush "" ("horny", "narrow", "base", "mid") + call ctc + + cho "Do you like watching me, [name_genie_cho]?" ("soft", "narrow", "base", "mid") + cho "You should know, Sir, I'm {b}incredibly{/b} thankful for your help." ("open", "closed", "base", "mid") + cho "Thanks to you, I get to do what I love..." ("smile", "narrow", "base", "mid") + gen "Showing yourself off?" ("base", xpos="far_left", ypos="head") + cho "No. Quidditch!" ("annoyed", "narrow", "angry", "mid") + cho "Winning, to be precise..." ("soft", "narrow", "base", "mid") + gen "Yes. I feel like a winner as well!" ("grin", xpos="far_left", ypos="head") + cho "Although, to tell you a secret..." ("soft", "closed", "base", "mid") + + # mirror sprite + call hide_characters + hide screen bld1 + with d3 + pause .2 + + call cho_chibi(flip=True) + with d3 + pause .8 + + cho "" ("smile", "narrow", "angry", "R", xpos=360, ypos="base", flip=True) + pause .8 + + cho @ cheeks blush "I am starting to love doing {b}this{/b} as well." ("soft", "narrow", "base", "R") + gen "Yes, you little slut! Shake that ass for me!" ("grin", xpos="far_left", ypos="head") + cho "I love the reaction I get from people..." ("base", "base", "base", "up") + cho "From you... From Hermione..." ("soft", "narrow", "base", "downR") + cho "Why don't we summon her? Maybe she'll join me this time..." ("base", "narrow", "base", "downR") + cho "I think that could be fun." ("crooked_smile", "closed", "base", "mid") + gen "Miss Granger, you say?" ("base", xpos="far_left", ypos="head") + gen "How about we invite somebody else in her stead?" ("grin", xpos="far_left", ypos="head") + pause .2 + + # mirror sprite + call hide_characters + hide screen bld1 + with d3 + pause .2 + + call cho_chibi(flip=False) + with d3 + pause .5 + + cho "Somebody else?" ("upset", "base", "raised", "mid", xpos="mid", ypos="base", flip=False) + gen "Yes, to keep things interesting." ("grin", xpos="far_left", ypos="head") + cho "*Hmm*..." ("annoyed", "base", "raised", "mid") + cho "I suppose..." ("soft", "base", "base", "R") + gen "Or are you only prepared to do it if you get to tease Miss Granger at the same time?" ("base", xpos="far_left", ypos="head") + cho "*Hmm*...{w=0.3} Alright, what's one student over another." ("soft", "narrow", "base", "R") + gen "It's not a student I'm thinking of." ("base", xpos="far_left", ypos="head") + cho "What do you mean, Sir?" ("open", "base", "base", "mid") + gen "I want you to strip for one of your teachers!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "A teacher?" ("disgust", "wide", "base", "mid") # shocked + cho @ cheeks blush "No way I could do that!" ("clench", "wide", "base", "mid") + gen "Look at it as just another challenge." ("grin", xpos="far_left", ypos="head") + cho "" ("annoyed", "base", "base", "mid") + gen "The teachers already got a good look at your assets during the last couple of games." ("base", xpos="far_left", ypos="head") + gen "And I know for a fact that a couple of them are quite interested in a closer look." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh, yeah?" ("soft", "base", "base", "down") + cho @ cheeks blush "Then who is it that you have in mind?" ("open", "base", "base", "R") + + $ cc_strip_no_snape = False # throwaway var used only in the next event. + + label .choice: + + menu: + "\"Tonks\"": + pass + + "\"Snape\"" if cc_strip_no_snape == False: + $ cc_strip_no_snape = True # throwaway var used only in the next event. + cho @ cheeks blush "What?!" ("clench", "wide", "base", "mid") + cho "You can't be serious!" ("angry", "base", "angry", "mid") # angry + cho "[name_genie_cho], thanks to him, we almost lost the match!" ("open", "narrow", "angry", "mid") + cho "He gave those idiots a luck potion, remember?" ("open", "closed", "angry", "mid") + cho "You should have thrown him out for that!" ("clench", "narrow", "angry", "mid") + gen "All I care about is that he and his band of greenhorns lost the match against us..." ("base", xpos="far_left", ypos="head") + cho "..." ("annoyed", "narrow", "angry", "mid") + cho "There is no way I'd ever strip for that greasy old bastard!" ("open", "narrow", "angry", "mid") + cho "I'm not giving him the satisfaction." ("annoyed", "narrow", "angry", "R") + gen "Very well, forget about Snape." ("base", xpos="far_left", ypos="head") + gen "But what about..." ("base", xpos="far_left", ypos="head") + jump .choice + + + cho "Professor Tonks?" ("quiver", "base", "base", "mid") + gen "You have yet to show her your gratitude for the help she provided..." ("base", xpos="far_left", ypos="head") + gen "She was such an important player during that last match, and greatly helped us secure that win." ("base", xpos="far_left", ypos="head") + cho "She did?" ("upset", "base", "raised", "mid") + cho "I mean, she did get the Slytherins to join practice, but..." ("annoyed", "base", "raised", "R") + cho "She wasn't even present for most of the actual game." ("soft", "base", "base", "R") + gen "Are you sure about that?" ("grin", xpos="far_left", ypos="head") + gen "Well, you would have hardly been able to recognize her..." ("base", xpos="far_left", ypos="head") + cho "*Hmm*...?" ("annoyed", "base", "raised", "mid") + gen "Curly long hair, and tits as big as honeydews." ("grin", xpos="far_left", ypos="head") + + gen "Did you not find Miss Granger's flirtatious behaviour with the Slytherin players a bit odd?" ("base", xpos="far_left", ypos="head") + gen "You might even say... Familiar?" ("grin", xpos="far_left", ypos="head") + cho "Are you suggesting that Professor Tonks..." ("mad", "base", "base", "mid") + cho "But how?" ("clench", "base", "raised", "mid") + gen "Magic...{w=0.8} Duh!" ("base", xpos="far_left", ypos="head") + gen "How about we call her on your next visit, then you can ask her yourself..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I suppose we could do that..." ("normal", "base", "base", "downR") + gen "Splendid!" ("grin", xpos="far_left", ypos="head") + gen "That should be all for today, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + gen "You're dismissed..." ("base", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]." ("base", "happyCl", "base", "mid") + + # Cho hops off your desk. + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + + play sound "sounds/08_hop_on_desk.ogg" + call cho_chibi("stand", "desk", "base", flip=False) + + # Cho puts her clothes back on. (No sounds in case she never took any off) + $ cho.wear("all") + hide screen cho_cloth_pile + with d3 + pause 1.5 + + hide screen blkfade + cho "" ("base", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) + pause .5 + + if game.daytime: + cho "I'll head back to classes, then." ("soft", "narrow", "base", "mid") + else: + cho "I'll head back to our dorms, then." ("soft", "narrow", "base", "mid") + + cho @ cheeks blush "Until next time, [name_genie_cho]." ("base", "narrow", "base", "mid") + + # Cho leaves. + call cho_walk(action="leave") + + jump end_cho_strip_event + + +### Tier 3 - Event 2 ### + +# Cho prompts genie to summon Tonks as she wants to know how she turned into Hermione +# Tonks enters and is immediately enticed by cho, she flirts with her a bit before cho starts asking questions. + +label cc_pf_strip_T3_intro_E2: + + call cc_pf_strip + + gen "Alright, let's do this again." ("base", xpos="far_left", ypos="head") + gen "We're gonna get your teacher up here -- and you'll strip for us, understood?" ("base", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]." ("smile", "base", "base", "mid") + gen "You might want to change into your school clothing before she gets here..." ("base", xpos="far_left", ypos="head") + cho "Of course." ("base", "happyCl", "base", "mid") + + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + pause 1 + + # Equip Cho & Tonks default clothing. + $ cho_outfit_last.save() # Store current outfit. + $ ton_outfit_last.save() # Store current outfit. + $ cho.equip(cho_outfit_default) + $ tonks.equip(ton_outfit_default) + + call cho_chibi("stand", "desk", "base") + + hide screen blkfade + cho "*Ehm*..." ("quiver", "narrow", "base", "downR", xpos="mid", ypos="base", trans=fade) + cho "The teacher you're about to summon, [name_genie_cho]..." ("open", "narrow", "base", "mid") + cho "You're talking about Professor Tonks, right?" ("soft", "narrow", "base", "mid") # suspicious + gen "Oh... of course." ("base", xpos="far_left", ypos="head") + cho "Well then, I'm ready." ("base", "base", "base", "mid") + gen "Ready to strip for your teacher?" ("grin", xpos="far_left", ypos="head") + cho "I'm well aware of what I'm about to do, [name_genie_cho], and I'm not going to falter." ("annoyed", "narrow", "angry", "mid") + cho "Besides, it's not like I have any bits that she doesn't..." ("open", "closed", "base", "mid") + gen "Not even trying to play coy anymore, are you?" ("base", xpos="far_left", ypos="head") + cho "Why should I? It's good practice." ("open", "narrow", "raised", "down") # confident + gen "Great positive thinking, [name_cho_genie].{w=0.8} You'll make it far with that mindset." ("grin", xpos="far_left", ypos="head") + cho "It's no big deal for me, [name_genie_cho]." ("base", "narrow", "base", "mid") + cho "I'm not as prude and buttoned up as Hermione, you know..." ("soft", "narrow", "base", "mid") + cho "And I'll finally get to know how Professor Tonks helped us during the Slytherin match!" ("base", "happyCl", "base", "mid") + gen "Oh boy, you're in for a treat!" ("grin", xpos="far_left", ypos="head") + gen "Just wait here at my desk while I summon her..." ("base", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]." ("base", "narrow", "base", "mid") + stop music fadeout 1 + + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + pause 1 + + call cho_chibi(flip=True) + + # end blkfade + hide screen blkfade + with d5 + pause .8 + + # Tonks enters. + play sound "sounds/door.ogg" + call ton_chibi("stand", "door", "base") + with d3 + pause .5 + + # thought emote + call chibi_emote("thought", "tonks") + pause .8 + + # Tonks walks next to Cho. + call ton_walk(540, "base") + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + cho @ cheeks blush "" ("soft", "narrow", "worried", "L", xpos="left", ypos="base", flip=True) + if game.daytime: + ton "Hello, Professor." ("base", "base", "base", "mid", xpos="right", ypos="base") + else: + ton "Good evening, Professor." ("base", "base", "base", "mid", xpos="right", ypos="base") + + ton "Miss Chang. Didn't expect to see you here..." ("base", "narrow", "base", "L") + ton "What a nice surprise." ("horny", "narrow", "base", "mid") # horny tongue + cho @ cheeks blush "..." ("quiver", "narrow", "worried", "downR") # nervous + cho @ cheeks blush "*Ehm*..." ("soft", "narrow", "worried", "down") + gen "Go on, Cho. She's not going to bite you..." ("base", xpos="far_left", ypos="head") + ton "*Hmm*?" ("base", "base", "raised", "mid") + gen "Miss Chang was hoping she could repay you with a favour. For the help you provided against Slytherin." ("grin", xpos="far_left", ypos="head") + ton "A favour, you say..." ("crooked_smile", "narrow", "base", "mid") + cho @ cheeks blush "Y-yes, if that's okay with you, professor..." ("horny", "narrow", "worried", "L") # blushing, still nervous + ton "Oh, anything for you, darling." ("base", "narrow", "base", "L") + ton "So, what will it be then?" ("open", "base", "base", "mid") + ton "I presume you didn't invite me for a cup of tea, did you?" ("base", "narrow", "base", "mid") # why remove? + + menu: + "\"We need a second opinion on the girl's physique.\"": + ton "*Mhmm*?" ("base", "base", "base", "mid") + ton "So, naturally you thought of me to provide this... opinion?" ("open", "narrow", "raised", "mid") + gen "You're quite the athletic witch yourself, are you not?" ("base", xpos="far_left", ypos="head") + ton "" ("base", "narrow", "base", "mid") + gen "I'm certain there's no one better suited to judge the girl's body than yourself." ("grin", xpos="far_left", ypos="head") + ton "Very well, professor..." ("base", "base", "base", "mid") + ton "I'm not the one to question the headmaster's judgement." ("base", "narrow", "base", "mid") + gen "Great, then I'll look forward to hearing your assessment -- from head to toe please -- let us know if there's anything she could improve." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("normal", "happyCl", "worried", "mid") + ton @ hair horny "Oh, I doubt I'll find anything to improve on this one..." ("horny", "narrow", "base", "L") # horny + gen "Okay then..." ("base", xpos="far_left", ypos="head") + gen "Girl, You may start with the show." ("base", xpos="far_left", ypos="head") + ton "The show?!" ("soft", "base", "raised", "mid") + gen "She'll have to take her clothes off, obviously!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Oh my!" ("grin", "base", "shocked", "mid") # lip bite? + gen "Let's get started then, shall we." ("base", xpos="far_left", ypos="head") + ton @ hair horny "" ("base", "narrow", "base", "L") + gen "Get on that desk, Miss Chang!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Okay." ("soft", "narrow", "worried", "downR") + + "\"She's going to strip for us...\"": + cho @ cheeks heavy_blush "" ("normal", "happyCl", "worried", "mid") + ton @ hair horny "Really?" ("crooked_smile", "base", "shocked", "mid") + cho @ cheeks blush "..." ("mad", "narrow", "worried", "downR") # embarrassed + gen "It's all just part of the girl's training..." ("base", xpos="far_left", ypos="head") + gen "To improve her confidence, and all that. And not shy away from a bit of nudity." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "I see... so this is why you've been such a daredevil on the pitch lately..." ("horny", "narrow", "base", "L") + cho @ cheeks blush "..." ("normal", "happyCl", "worried", "mid") #Blushes + ton "Well, if you think I can be of assistance, then you have my full support." ("base", "base", "base", "L") + cho @ cheeks blush "Thank you, Professor." ("soft", "narrow", "worried", "L") + gen "Great! Then get on that desk, Cho!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Okay." ("soft", "narrow", "worried", "down") + + + # Cho starts stripping. + stop music fadeout 1 + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + play sound "sounds/08_hop_on_desk.ogg" + pause 1 + + call cho_chibi("stand", 330, 360) + call ton_chibi("stand", 410, "base") + + hide screen blkfade + with d5 + pause .8 + + call bld + gen "Excellent..." ("base", xpos="far_left", ypos="head") + gen "Now, what would you say are Miss Chang's best assets, Professor?" ("base", xpos="far_left", ypos="head") + call bld("hide") + pause .2 + + # Cho turns around. + call cho_chibi(flip=True) + with d3 + pause .3 + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho @ cheeks blush "" ("quiver", "narrow", "worried", "L", xpos=330, ypos="base", flip=True) + ton "" ("base", "narrow", "base", "L", xpos=460, ypos="base") + gen "Are you more into the girl's tits... or her ass?" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*--" ("base", "narrow", "annoyed", "L") + cho @ cheeks heavy_blush "Sir!" ("soft", "happyCl", "worried", "mid") + gen "It's a fair question..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("soft", "narrow", "worried", "L") + ton "If you're not comfortable with this, Miss Chang, then I'm not going to--" ("open", "base", "base", "L") + cho @ cheeks blush "No!" ("clench", "happyCl", "worried", "mid") + ton "*Hmm*?" ("base", "narrow", "raised", "L") + cho @ cheeks blush "I mean...{w=0.5} It's fine..." ("open", "narrow", "worried", "down") + cho @ cheeks blush "Feel free to answer him, Professor..." ("soft", "narrow", "worried", "L") + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" ("base", "happyCl", "base", "mid") + ton "She's so cute when she's all flustered, isn't she?" ("crooked_smile", "base", "base", "mid") + cho @ cheeks blush "..." ("quiver", "happyCl", "base", "mid") #Heavy blush + gen "..." ("base", xpos="far_left", ypos="head") + gen "So, what's your opinion?" ("base", xpos="far_left", ypos="head") + gen "I'm sure Miss Chang is dying to know..." ("grin", xpos="far_left", ypos="head") + ton "I don't know how I could possibly answer such a difficult question, Professor." ("soft", "narrow", "base", "mid") + gen "Then let me help you with your decision..." ("base", xpos="far_left", ypos="head") + + gen "Cho, do your thing." ("grin", xpos="far_left", ypos="head") + ton "" ("base", "narrow", "base", "L") + cho @ cheeks blush "Of course, Sir..." ("open", "narrow", "worried", "mid") + cho @ cheeks blush "..." ("angry", "narrow", "base", "down") + pause .2 + + # Remove top. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe", "top") + with d3 + pause .5 + + cho @ cheeks blush "" ("horny", "happyCl", "worried", "mid") + call ctc + + ton "*Hmm*... Very promising." ("base", "narrow", "base", "L") + cho @ cheeks blush "..." ("horny", "narrow", "worried", "down") + pause .2 + + # Remove bra. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bra") + with d3 + pause .5 + + ton @ hair horny "" ("base", "narrow", "raised", "L") + cho @ cheeks heavy_blush "" ("quiver", "narrow", "base", "downR") + call ctc + + ton @ hair horny "Merlin's burly bosom!" ("grin", "narrow", "annoyed", "L") + cho @ cheeks heavy_blush "" ("upset", "happyCl", "worried", "mid") + gen "How about now?" ("grin", xpos="far_left", ypos="head") + gen "Ever seen such a perfectly shaped pair of quaffles before?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "Did you just call them quaffles?" ("soft", "narrow", "raised", "mid") + cho @ cheeks blush "..." ("mad", "narrow", "worried", "downR") + gen "So, what's your opinion?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "What would you like me to say, Professor?" ("base", "narrow", "base", "mid") + ton @ hair horny "That I'd like to run my mouth all over those perky nipples of hers?" ("horny", "narrow", "angry", "L") + cho @ cheeks heavy_blush "Professor!" ("open", "happyCl", "worried", "mid") # closed eyes, worried, embarrassed. + ton @ hair horny "Sorry sweetie, but Professor Dumbledore wanted my honest opinion." ("open", "closed", "raised", "mid") + ton @ hair horny "Your breasts are quite perfect, Miss Chang." ("base", "narrow", "base", "L") + cho @ cheeks blush "..." ("normal", "narrow", "worried", "L") + cho @ cheeks heavy_blush "I don't think they're big enough." ("open", "narrow", "worried", "downR") # sad + cho @ cheeks heavy_blush "" ("normal", "narrow", "worried", "down") + ton @ hair angry "Big enough for what? Impressing some idiot?" ("open", "narrow", "annoyed", "L") + ton "No offence, Professor." ("soft", "narrow", "base", "mid") + gen "None taken..." ("base", xpos="far_left", ypos="head") + ton "You don't need large breasts. Especially not if you want to have a career in Quidditch." ("open", "base", "base", "L") + cho @ cheeks blush "" ("annoyed", "narrow", "base", "L") + ton "Just have a look at mine... They're bothersome to fly with, even at my size..." ("soft", "base", "shocked", "down") + stop music fadeout 1 + pause .2 + + # Tonks starts stripping. + + # Remove robe. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("robe") + with d3 + pause .5 + + cho @ cheeks blush "" ("disgust", "base", "raised", "L") + ton "" ("base", "happyCl", "base", "mid") + call ctc + + cho @ cheeks blush "Professor, you don't have to--" ("mad", "base", "raised", "L") #blush + pause .2 + + # Remove top and bra. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("top", "bra") + with d3 + pause .5 + + ton @ hair horny "" ("horny", "narrow", "annoyed", "L") + call ctc + + cho @ cheeks heavy_blush "P-{w=0.3}Professor!" ("silly", "happyCl", "worried", "mid") #lip bite "glances away from Tonks #Heavy blush + gen "*He-he-he!*" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "No need to be shy, Miss Chang." ("base", "narrow", "base", "L") + gen "Yes, it's not like she has any bits you haven't seen before... is that not what you said, Cho?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "R-Right." ("angry", "happyCl", "worried", "mid") + cho @ cheeks blush "" ("horny", "narrow", "worried", "L") + gen "So... what would you like to see next, Miss Tonks?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "Her ass cheeks sure looked great on top of that broom..." ("soft", "narrow", "base", "mid") + ton @ hair horny "I'd love to see them up close..." ("base", "narrow", "base", "L") + gen "Couldn't agree more!" ("grin", xpos="far_left", ypos="head") + gen "Cho, you heard your teacher's request." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("horny", "narrow", "worried", "mid") + gen "Turn around, and take off your skirt." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes, Sir." ("clench", "narrow", "worried", "mid") + pause .2 + + # Cho faces Genie. + hide cho_main + with d5 + call cho_chibi(flip=False) + cho @ cheeks blush "" ("quiver", "narrow", "worried", "down", xpos=260, ypos="base", flip=False, trans=d5) + pause .8 + ton @ hair horny "" ("base", "narrow", "base", "down") + gen "Slowly..." ("base", xpos="far_left", ypos="head") + pause .5 + + # Remove bottom. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bottom") + with d5 + pause .5 + + cho @ cheeks blush "" ("normal", "happyCl", "base", "mid") + call ctc + + gen "And now the rest, Miss Chang." ("base", xpos="far_left", ypos="head") + ton @ hair horny "..." ("horny", "narrow", "base", "down") # horny + pause .2 + + # Remove all. + play sound "sounds/cloth_sound3.ogg" + hide cho_main + $ cho.strip("clothes") + pause 1.2 + play sound "sounds/cloth_sound4.ogg" + show screen cho_cloth_pile + pause .6 + + cho @ cheeks heavy_blush "" ("horny", "narrow", "raised", "R") + call ctc + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + gen "Quite firm, aren't they?" ("grin", xpos="far_left", ypos="head") + play sound "sounds/giggle2_loud.ogg" + ton @ hair horny "*Giggles*" ("base", "happyCl", "base", "mid") + ton @ hair horny "Yes, Indeed..." ("grin", "narrow", "base", "mid") + ton @ hair horny "No wonder she's so steady on that broomstick." ("horny", "narrow", "angry", "down") + cho @ cheeks blush "..." ("horny", "narrow", "base", "mid") # blushing + ton @ hair horny "Can't see anyone beating that, that's for sure." ("open", "narrow", "raised", "down") + # ton "Although, maybe in a physical--" + + gen "So... what's your opinion, what do you prefer?" ("base", xpos="far_left", ypos="head") + gen "Her tits, or her ass?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*..." ("base", "narrow", "base", "down") + ton @ hair horny "You're not holding out on me, are you, Miss Chang?" ("open", "narrow", "base", "L") + cho @ cheeks blush "What do you--" ("angry", "narrow", "worried", "R") + ton @ hair horny "There's something missing...{w=0.5} I haven't seen everything yet, have I?" ("crooked_smile", "narrow", "raised", "mid") + gen "But of course!" ("grin", xpos="far_left", ypos="head") + ton @ cheeks blush hair horny "If I were to do any sort of judgement, I'd first need to see that cute little Snitch of yours." ("soft", "narrow", "base", "down") + cho @ cheeks heavy_blush "!!!" ("clench", "wide", "base", "mid") # shock + gen "Miss Chang, why don't you turn around so Professor Tonks can give you a proper assessment." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("clench", "happyCl", "worried", "mid") # blush + pause .2 + + # Cho faces Tonks. + hide cho_main + with d5 + call cho_chibi(flip=True) + cho @ cheeks heavy_blush "" ("normal", "happyCl", "worried", "mid", xpos=330, ypos="base", flip=True, trans=d5) + pause .8 + + ton @ hair horny "*Hmm*... Will you look at that..." ("base", "narrow", "base", "down") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "worried", "L") + ton @ hair horny "Now, this is a level of confidence I haven't seen in a student before..." ("horny", "narrow", "base", "mid") + gen "Yes, she's quite something, isn't she?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("base", "closed", "base", "mid") # blushing but faking confidence + ton @ hair horny "Although..." ("base", "narrow", "base", "L") + ton @ hair horny "Does this snitch get frightened and dart away, once you try and get up close to it?" ("grin", "narrow", "raised", "mid") + cho @ cheeks blush ".........." ("base", "closed", "base", "mid") #not paying much attention/didn't know she was being addressed + ton @ hair horny "Miss Chang?" ("open", "narrow", "raised", "L") + cho @ cheeks heavy_blush "Oh, sorry!" ("crooked_smile", "happyCl", "worried", "mid") + cho @ cheeks blush "Of course not, Professor -- I don't dart away from anything!" ("soft", "narrow", "worried", "downR") + + ## Tonks wants to strip too. ## + ton @ hair horny "Excellent, since that question has been answered..." ("base", "happyCl", "base", "mid") + ton @ hair horny "I assume you don't mind if I joined you on that desk, do you?" ("horny", "narrow", "angry", "L") + + stop music fadeout 1 + cho @ cheeks blush "What?!" ("soft", "wide", "raised", "mid") # blushing + gen "!!!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*... Or is that snitch of yours going to dart off after all?" ("soft", "narrow", "base", "down") + cho @ cheeks blush "" ("angry", "happyCl", "worried", "mid") + gen "(I sure hope the desk is sturdy enough...)" ("base", xpos="far_left", ypos="head") + call hide_characters + show screen blkfade + with d5 + + # Tonks chibi on desk next to Cho's. # Tonks is facing left + + call cho_chibi("stand", 314, 366, flip=True) + call ton_chibi("stand", 370, 360, flip=False) + + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + hide screen blkfade + with d5 + pause .8 + + $ cho.zorder = 16 # in front of Tonks. 15 is default. + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton @ hair horny "" ("base", "narrow", "base", "L", xpos=345, ypos="base") + cho @ cheeks heavy_blush "T-Tonks!" ("clench", "happyCl", "raised", "L", xpos=280, ypos="base", flip=True) #Closed eyes, embarrassed + ton @ hair angry "That's {b}Professor Tonks{/b} to you, Miss Chang." ("open", "narrow", "angry", "L") # stern look + cho @ cheeks heavy_blush "Sorry!" ("clench", "happyCl", "worried", "mid") + play sound "sounds/giggle2_loud.ogg" + ton @ hair horny "*Giggles*" ("base", "happyCl", "base", "mid") + ton @ hair horny "I'm just kidding, you can call me whatever you like, sweetie..." ("soft", "narrow", "base", "L") + ton @ hair horny "Catch that Snitch for me, will you..." ("horny", "narrow", "base", "L") + cho @ cheeks blush "Snitch? What Snitch?" ("soft", "narrow", "base", "L") + ton @ hair horny "Down here." ("grin", "narrow", "base", "down") + cho @ cheeks blush "" ("annoyed", "narrow", "base", "down") + pause .2 + + # Remove bottom. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("bottom","panties") + with d3 + pause .5 + + ton @ hair horny "" ("horny", "narrow", "base", "down") + pause .8 + + cho @ cheeks blush "!!!" ("normal", "wide", "raised", "down") + gen "Now that's what I'm talking about!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Professor!" ("clench", "wide", "raised", "down") + ton @ hair horny "Believe me, I'm just getting started..." ("base", "narrow", "base", "mid") + pause .5 + + # Remove other clothes. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("clothes") + with d3 + pause .5 + + ton @ hair horny "" ("horny", "narrow", "base", "L") + cho @ cheeks heavy_blush "" ("base", "narrow", "worried", "down") + call ctc + + cho @ cheeks heavy_blush "..." ("angry", "narrow", "worried", "downR") # heavy blush + gen "Don't be shy, Miss Chang." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*... Yes, don't be shy." ("crooked_smile", "narrow", "base", "L") + ton @ hair horny "I've yet to give you my verdict." ("soft", "narrow", "raised", "down") + cho @ cheeks heavy_blush "..." ("normal", "happyCl", "worried", "mid") + ton @ hair horny "Now, up this close, it's obvious what your best feature is, Miss Chang..." ("open", "narrow", "base", "down") + ton @ hair horny "I must say I simply love your--" ("horny", "narrow", "base", "down") + + # Snape enters. + stop music fadeout 1 + call hide_characters + hide screen bld1 + with d3 + + play sound "sounds/door.ogg" + call sna_chibi("stand", "door", "base") + with d3 + pause .1 + + call bld + gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") + with hpunch + gen "{b}Balls!{/b}" ("angry", xpos="far_left", ypos="head") + sna "..." ("snape_47", ypos="head") #smirk + ton "What? No, I was talking about her--" ("soft", "narrow", "base", "mid", ypos="head", flip=False) + with hpunch + cho "Professor Snape?!" ("open", "wide", "raised", "L", ypos="head", flip=True) # shock + sna "Oh-- now what do we have here?..." ("snape_13", ypos="head") + call bld("hide") + pause .2 + + # Tonks turns around. + call ton_chibi(xpos=360, ypos=360, flip=True) + with d3 + + # Snape walks closer to the middle. + call sna_walk(xpos="mid", ypos="base") + pause .8 + + # Position Cho's sprite behind Tonks. + $ cho.zorder = 15 # reset to default. + $ tonks.zorder = 16 # in front of Cho. 15 is default. + play music "music/Dark Fog.ogg" fadein 1 if_changed + sna "" ("snape_40", xpos=560, ypos="base") + cho "" ("normal", "wide", "base", "L", xpos=275, ypos="base", flip=True) + ton "" ("annoyed", "narrow", "annoyed", "L", xpos=390, ypos="base", flip=True) + + ton "Severus?" ("mad", "base", "base", "L", trans=d5) + ton "{size=-4}Get behind me, Cho...{/size}" ("open", "narrow", "base", "R") #small text + + $ cho_chibi.zorder = 2 # default is 3 + call cho_chibi("stand", 320, 366, flip=True) + cho @ cheeks heavy_blush "{size=-4}Yes-- Thank you.{/size}" ("disgust", "happyCl", "worried", "mid", xpos=295, ypos=17, flip=True, trans=d3) # Sprite is slightly lowered. + + ton "What are you doing here?" ("annoyed", "base", "angry", "stare") + ton @ hair horny "Have you been spying on us behind that door?" ("soft", "narrow", "base", "up") + sna "Of course not..." ("snape_46") + cho @ cheeks heavy_blush "P-{w=0.3}Professor..." ("open", "happyCl", "worried", "mid") + ton @ hair horny "" ("base", "narrow", "base", "downR") + + sna "Ah, Miss Chang... Hiding behind Professor Tonks, are we?" ("snape_02") + sna "I take it you're here to repay our headmaster for his help with your sudden Quidditch success?" ("snape_37") + #sna "But how come Professor Tonks--" ("snape_01") + ton @ hair horny "Well, what if she is,{w=0.5} Snivellus?" ("soft", "narrow", "annoyed", "R") + sna "" ("snape_38") + ton @ hair horny "She isn't doing anything wrong... at least not by your standards." ("grin", "closed", "shocked", "mid") + sna "Did I accuse her of doing anything wrong?" ("snape_09") + sna "On the contrary..." ("snape_02") + ton "" ("annoyed", "narrow", "raised", "up") + sna "As head of the slytherin house, I'd like to personally congratulate her on her fair play." ("snape_37") + sna "Your performance was quite remarkable, Miss Chang." ("snape_13") + sna "Putting your best {b}ass{/b}ets on display for everyone was quite the sight." ("snape_46") + cho @ cheeks heavy_blush "..." ("angry", "narrow", "worried", "downR") # embarrassed + sna "How very -- {b}ass{/b}piring of you..." ("snape_41") + cho @ cheeks heavy_blush "{size=-4}Please do something, sir.{/size}" ("soft", "base", "angry", "mid") #small text + gen "What?" ("base", xpos="far_left", ypos="head") + gen "(Oh, right... I should probably do something about this...)" ("base", xpos="far_left", ypos="head") + + menu: + gen "(...)" ("base", xpos="far_left", ypos="head") + "\"Severus, I think you should leave.\"": + cho @ cheeks blush "" ("normal", "base", "angry", "L") + sna "Already? But I just got here..." ("snape_05") + ton "I can't recall us inviting you, Severus." ("soft", "narrow", "shocked", "L") + sna "Do I require some kind of appointment to see the headmaster?" ("snape_09") + sna "If there's a schedule I could look at, then perhaps I could plan my visits for when Miss Chang is not busy working on her insecurities..." ("snape_03") + #sna "If there's a schedule I could look at, then perhaps I could plan my visits for when you two aren't taking advantage of Miss Chang's insecurities..." ("snape_03") # Alternative line instead of the one above? + cho @ cheeks blush "..." ("angry", "narrow", "angry", "L") #Blush #closed eyes #embarrassed + #gen "How did you--" ("base", xpos="far_left", ypos="head") + ton "What do you want, Snape?" ("upset", "narrow", "annoyed", "L") + + "\"Severus! Please, stay and watch.\"": + if cc_strip_no_snape: # Cho clearly told you she won't strip for Snape. + $ states.cho.mood += 30 + cho "Are you mad?!" ("clench", "base", "angry", "mid", trans=hpunch) + cho "Sir, I clearly told you before, I won't do this in front of Professor Snape!" ("open", "base", "angry", "mid") + sna "So you actually considered inviting me..." ("snape_20") + cho @ cheeks blush "" ("normal", "base", "angry", "L") + sna "That's surprising, considering our current bet..." ("snape_21") + sna "I must admit, however, that I appreciate the gesture, Albus." ("snape_22") + gen "Bros before--" ("grin", xpos="far_left", ypos="head") + ton "Quiet! Both of you!" ("open", "closed", "base", "mid") + sna "*Tssz*..." ("snape_46") + sna "Well, I can read the room..." ("snape_09") + ton "Clearly..." ("upset", "narrow", "raised", "L") + sna "As it happens, I can't stay for too much longer anyway." ("snape_03") + + else: + $ states.cho.mood += 12 + cho @ cheeks heavy_blush "Sir, you can't be serious!" ("angry", "wide", "raised", "mid") + gen "Calm yourself, girl." ("base", xpos="far_left", ypos="head") + gen "There's no touching allowed anyway... Those are the rules." ("base", xpos="far_left", ypos="head") + ton @ hair horny "Really? You never told me--" ("annoyed", "narrow", "raised", "mid") #pout + cho @ cheeks heavy_blush "Send him away!" ("clench", "base", "angry", "mid") + gen "Whatever... no need to get all indignant about this." ("angry", xpos="far_left", ypos="head") + sna "..." ("snape_09") + gen "You more than happily strip for all your other teachers... so why not Snape?" ("base", xpos="far_left", ypos="head") + cho "All my other teachers? It was only you and Tonks that I agreed to do this for!" ("clench", "wide", "raised", "mid") + + sna "As much as I'd like to watch you make a fool of yourself for us, Miss Chang, I have more important things to do." ("snape_13") + gen "(More important than this?...)" ("base", xpos="far_left", ypos="head") + sna "I merely came here to discuss a private matter with our headmaster." ("snape_24") + sna "About this... misunderstanding that occurred during the last Quidditch game." ("snape_09") + + cho "There is nothing more to discuss." ("open", "closed", "angry", "R") + cho "We won against you, fair and square, you cheat..." ("clench", "narrow", "angry", "L") + sna "Hold your tongue, Miss Chang, or I'll have to dock some points from your house..." ("snape_03") + sna "Or worse..." ("snape_20") #smirks + cho "*Pfff*... only first years care about house points..." ("annoyed", "narrow", "base", "R") # small text + gen "Not taking that loss easy, are you? Disappointed that we won -- against all odds?" ("grin", xpos="far_left", ypos="head") + sna "*Tzzzs*... by sheer luck you did." ("snape_32") + cho @ cheeks blush "Says the one who literally gave his team liquid luck!" ("disgust", "narrow", "angry", "L") + sna "Ten points from Ravenclaw!" ("snape_31") + $ ravenclaw -= 10 + cho @ cheeks blush "{size=-4}Like I care...{/size}" ("annoyed", "narrow", "angry", "down") + ton "Let the girl speak her mind, Severus!" ("open", "closed", "shocked", "mid") + ton "Or shall I remind you that you were the one who barged in here uninvited..." ("open", "narrow", "base", "L") + sna "*Hmph*..." ("snape_35") + sna "Can't let her spew such lies in the headmaster's presence, can I?" ("snape_03") + gen "The hell is that supposed to mean?" ("base", xpos="far_left", ypos="head") + sna "I merely gave those boys some encouragement." ("snape_04") + sna "There was no need to involve something as valuable as a luck potion..." ("snape_09") + cho @ cheeks blush "What?!" ("angry", "happyCl", "angry", "mid") + + # Cho stops hiding behind Tonks. + stop music fadeout 1 + $ cho_chibi.zorder = 3 # Reset to default. + call cho_chibi("stand", 314, 366, flip=True) + ton "" ("annoyed", "narrow", "raised", "downR") + cho "But the entire Slytherin team drank some! They were even bragging about it!" ("clench", "narrow", "angry", "L", xpos=275, ypos="base", flip=True, trans=hpunch) + + sna "I suppose if that's what they said, then who am I to refute it..." ("snape_37") #smirk + sna "Now, if you'll excuse me..." ("snape_09") + sna "I'll leave you three to indulge further in your...{w=0.8} debaucheries..." ("snape_47") + cho "No! You stay where you are!" ("scream", "base", "angry", "L") + call hide_characters + hide screen bld1 + with d3 + pause .2 + + # Cho moves in front of Tonks. + hide screen cho_chibi + hide screen tonks_chibi + with d3 + $ cho_chibi.zorder = 2 # Behind Tonks, so her ponytail doesn't cover her head. + call ton_chibi("stand", 322, 360, flip=True) + call cho_chibi("stand", 360, 360, flip=True) + with d3 + pause .5 + + $ tonks.zorder = 15 # Reset to default. + $ cho.zorder = 16 # In front of Tonks. Default is 15. + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + sna "" ("snape_13") + ton @ hair horny "" ("annoyed", "shocked", "raised", "stare", xpos=310, ypos="base", flip=True) + cho "First you're going to explain yourself!" ("clench", "base", "angry", "L", xpos=415, ypos="base", flip=True, trans=hpunch) + ton @ cheeks blush hair horny "" ("clench", "wide", "shocked", "L") + cho "You somehow tricked them! They played far better than usual." ("mad", "base", "angry", "L") + ton @ cheeks heavy_blush hair horny "" ("horny", "narrow", "worried", "down") + sna "*Hmm*... Very well, Miss Chang." ("snape_20") + + # Space Jam + sna "You truly believe I'd waste such a valuable potion on those blokes?" ("snape_18") + cho "" ("annoyed", "base", "angry", "L") + sna "It takes three months to brew and distil only a tiny vial of Felix Felicis... and it's quite the tedious endeavour to do so." ("snape_12") + sna "That prize money would barely cover half of the materials..." ("snape_03") + cho "Prize money? What prize money?!" ("open", "base", "angry", "mid") + gen "Don't interrupt your teacher." ("base", xpos="far_left", ypos="head") + cho "" ("annoyed", "narrow", "angry", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair horny "" ("base", "narrow", "worried", "L") + cho "" ("annoyed", "narrow", "angry", "L") + sna "I merely provided them with a vial of pumpkin juice..." ("snape_41") + sna "Then I told them I mixed in some liquid luck." ("snape_13") + cho "What stupid kind of tactic is that?" ("soft", "narrow", "angry", "mid") + sna "" ("snape_39") + ton @ cheeks blush hair horny "" ("base", "narrow", "base", "mid") + gen "Hold on a minute..." ("angry", xpos="far_left", ypos="head") + gen "Are you seriously telling me you gave them pumpkin juice... and pretended it was \"{b}Michael's secret stuff{/b}\"?" ("base", xpos="far_left", ypos="head") + sna "Michael's...{w=0.3} what?" ("snape_38") + gen "You ripped off {b}Space Jam{/b}!" ("angry", xpos="far_left", ypos="head") + sna "I'm sorry?" ("snape_25") # confused + gen "You ripped off the plot of Space Jam!" ("angry", xpos="far_left", ypos="head") + sna "I have no idea what you're talking about..." ("snape_44") + ton @ hair horny "Neither do I." ("annoyed", "base", "raised", "mid") + cho "Sir, is this about that basketball thing again?" ("disgust", "narrow", "angry", "mid") + gen "Even Bugs Bunny couldn't help him win. Serves you right!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Who's Bugs Bunny?" ("soft", "narrow", "raised", "mid") + gen "Oh boy, let me tell you--" ("grin", xpos="far_left", ypos="head") + sna "Anyway." ("snape_31") + cho "" ("annoyed", "narrow", "angry", "L") + sna "Miss Chang, I wish you the very best of luck on your next match." ("snape_45") + ton @ hair horny "" ("normal", "narrow", "base", "L") + sna "You lot look like you're going to need it..." ("snape_42") + cho "*Hmph*..." ("annoyed", "base", "angry", "L") + gen "(...)" ("base", xpos="far_left", ypos="head") + stop music fadeout 1 + call hide_characters + hide screen bld1 + with d3 + pause .1 + + # Snape walks to the door. + call sna_walk("door", "base") + pause .2 + + call sna_chibi("stand", "door", "base", flip=False) + with d3 + pause .5 + + sna "Until then, Albus... Miss Chang..." ("snape_20", xpos="base", ypos="head") + sna "{cps=7}Nymphadora...{/cps}" ("snape_41", xpos="base", ypos="head") + ton @ hair angry "Stop calling me--" ("clench", "closed", "angry", "mid", ypos="head", flip=True) + + # Snape leaves. + call sna_chibi("stand", "door", "base", flip=True) + with d3 + call sna_chibi("leave") + pause .5 + + call bld + gen "Fucking guy..." ("base", xpos="far_left", ypos="head") + gen "Who does he think he is?" ("base", xpos="far_left", ypos="head") + gen "Besmirching a classic such as Space Jam, like it was nothing..." ("base", xpos="far_left", ypos="head") + + # The girls face Genie. + hide screen cho_chibi + hide screen tonks_chibi + $ cho_chibi.zorder = 2 + call cho_chibi("stand", 330, 364, flip=False) + call ton_chibi("stand", 370, 360, flip=False) + with d3 + + cho "" ("annoyed", "narrow", "base", "mid", xpos=190, ypos="base", flip=False) + ton "Well, that was a bit uncalled-for... even for him." ("open", "narrow", "annoyed", "R", xpos=350, ypos="base", flip=False, trans=d5) + + ton "When did I step on his toes?" ("upset", "base", "base", "mid") + gen "Maybe when you called him Snivellus--" ("base", xpos="far_left", ypos="head") + ton "I'm not even part of your silly bet..." ("upset", "base", "shocked", "downR") + cho "Bet?" ("angry", "narrow", "raised", "mid") + gen "Let's not concern ourselves with Snape. He's out of the picture anyway." ("base", xpos="far_left", ypos="head") + cho "What bet?" ("open", "narrow", "angry", "mid") + ton "So, shall we wrap things up, Professor?" ("base", "happyCl", "base", "mid") + gen "Yes please." ("base", xpos="far_left", ypos="head") + cho "" ("annoyed", "narrow", "angry", "mid") + + if game.daytime: + ton @ hair horny "Let me escort you back to class, Miss Chang." ("soft", "base", "base", "L") + else: + ton @ hair horny "Let me escort you back to your common room. It's getting late." ("soft", "base", "base", "L") + + # Fade to black. + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + + # The girls get dressed and wait at the door. + $ cho.wear("all") + $ tonks.wear("all") + + # Reset zorder. + $ cho.zorder = 15 # reset to default. + $ tonks.zorder = 15 # reset to default. + $ cho_chibi.zorder = 3 # reset to default. + $ tonks_chibi.zorder = 3 # reset to default. + hide screen cho_cloth_pile + + call cho_chibi("stand", 690, "base", flip=False) + call ton_chibi("stand", "door", "base", flip=False) + + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + hide screen blkfade + with d5 + pause .5 + + ton "Thank you for your time, Professor." ("base", "base", "base", "mid", ypos="head", flip=False) + if game.daytime: + cho "Good day, Sir." ("base", "base", "base", "mid", ypos="head", flip=False) + else: + cho "Good night, Sir." ("base", "base", "base", "mid", ypos="head", flip=False) + gen "Until next time." ("grin", xpos="far_left", ypos="head") + call bld("hide") + pause .1 + + # They both leave. + call cho_chibi(flip=True) + pause .3 + call ton_chibi(flip=True) + with d3 + pause .2 + + play sound "sounds/door.ogg" + hide screen cho_chibi + hide screen tonks_chibi + with d3 + pause .5 + + + # Reset clothing. + $ cho.equip(cho_outfit_last) + $ tonks.equip(ton_outfit_last) + + $ states.ton.busy = True + $ states.sna.busy = True + + # End event. + jump end_cho_strip_event + + +### Tier 3 - Event 3 ### + +# Cho and Tonks strip on your desk again. +# CG: Tonks spreading and spanking Cho's ass. +# Tonks gives Cho a demonstration of her Metamorphmagi ability. + +label cc_pf_strip_T3_intro_E3: + gen "[name_cho_genie], why don't we summon your teacher again?" ("base", xpos="far_left", ypos="head") + cho "So we can give you another show, [name_genie_cho]?" ("soft", "narrow", "angry", "mid") # annoyed + gen "Well, if you insist on it..." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("annoyed", "narrow", "angry", "mid") + gen "Surely you haven't forgotten the actual reason we summoned her..." ("base", xpos="far_left", ypos="head") + cho "Of course not..." ("open", "closed", "base", "mid") + cho "I wanted to ask her about what she did during the Slytherin match..." ("annoyed", "narrow", "base", "mid") + cho @ cheeks blush "But then Professor Snape busted in before I got a chance to." ("angry", "narrow", "angry", "R") + gen "Right... let's give it another go then, shall we?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "But no Snape this time!" ("soft", "narrow", "angry", "mid") + cho @ cheeks blush "If you expect me to expose myself to Professor Snape again, then you're sadly mistaken!" ("clench", "base", "angry", "mid") + gen "No more Snivellus... got it..." ("base", xpos="far_left", ypos="head") + cho "" ("annoyed", "narrow", "angry", "mid") + gen "Wait here at my desk while I summon your Teacher." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes, [name_genie_cho]." ("soft", "narrow", "worried", "R") + + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + pause 1 + + # (Cho's outfit doesn't change this time.) + #$ cho_outfit_last.save() # Store current outfit. + $ ton_outfit_last.save() # Store current outfit. + $ her_outfit_last.save() # Store current outfit. + #$ cho.equip(cho_outfit_default) + $ tonks.equip(ton_outfit_default) # Equip Tonks default clothing. + $ hermione.equip(her_outfit_default) #Equip Hermione default clothing. + $ cho.strip("robe") # removes school robe. + + call cho_chibi("stand", "desk", "base", flip=True) + + stop music fadeout 1 + hide screen blkfade + with d5 + pause .8 + + nar "You attempt to summon Tonks to your office." + pause .2 + + call bld + gen "..." ("base", xpos="far_left", ypos="head") + cho "..." ("quiver", "narrow", "base", "L", ypos="base", flip=True) + + + # Fireplace turns on. + if not states.fireplace_started: + pause .2 + $ states.fireplace_started = True + $ fireplace_OBJ.foreground = "fireplace_fire" + with d5 + pause .8 + + gen "..................?" ("base", xpos="far_left", ypos="head") + call bld("hide") + pause .5 + + # Fire flashes green. # Tonks appears in the fireplace. + play sound "sounds/fire_woosh.ogg" + $ states.fireplace_started = True + show screen gfx_effect(690, 330, img="smoke", zoom=0.5) + pause .1 + $ fireplace_OBJ.foreground = "fireplace_greenfire" + call ton_chibi("stand", 642, 392, flip=False) # In fireplace + with d5 + + # Tonks walks next to Cho. + call ton_walk(540, "base") + pause .8 + + # Fireplace turns off. + stop background #Stops playing the fire SFX. + $ states.fireplace_started = False + $ fireplace_OBJ.foreground = None + with d5 + pause .2 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + cho @ cheeks blush "" ("base", "narrow", "worried", "L", xpos="left", ypos="base", flip=True) + ton "You called?" ("base", "narrow", "base", "mid", xpos="right", ypos="base") + + cho @ cheeks blush "Hello, Professor." ("soft", "narrow", "worried", "L") + gen "What{w=0.3} {b}the fuck{/b} just happened?" ("angry", xpos="far_left", ypos="head") + ton "Oh, my apologies... I forgot we don't usually use the school's floo powder network." ("grin", "base", "base", "mid") + gen "Network? Do I need to set a password on my fireplace now?" ("base", xpos="far_left", ypos="head") + cho "" ("annoyed", "narrow", "base", "mid") + gen "Could anyone just poof in here as they please?" ("base", xpos="far_left", ypos="head") + ton "At the moment, yes." ("silly", "happyCl", "base", "mid") + gen "(So much for privacy in this place...)" ("base", xpos="far_left", ypos="head") + ton "You might want to renew the protective enchantments that were cast on it. It's quite the security flaw." ("upset", "base", "raised", "mid") + gen "I'll have the {b}IT{/b} guy sort it out... A simple firewall should do it..." ("base", xpos="far_left", ypos="head") + ton "Anyhow, I thought it'd be faster than walking those dreadful stairs." ("base", "base", "base", "mid") + ton "Even if it's a bit of a waste of powder..." ("upset", "base", "shocked", "down") + cho "They are by no means dreadful, Professor Tonks." ("open", "narrow", "base", "L") + ton "" ("base", "base", "raised", "L") + cho "Without a gym, there's only a limited number of ways to do any exercises here at school." ("open", "closed", "base", "mid") + + menu: # change + gen "(...)" ("base", xpos="far_left", ypos="head") + "\".............\"": # Genie lets them speak + cho "I take divination lessons solely as an opportunity to climb the north tower once a week." ("base", "happyCl", "base", "mid") + ton "Of course you do..." ("base", "base", "base", "L") + ton @ hair horny "(Those thick legs have to come from somewhere.)" ("grin", "narrow", "base", "mid") + ton @ hair horny "I had a hunch that something special was in store for me today." ("horny", "narrow", "raised", "mid") + + "\"You could exercise with me!\"": + gen "I can give you a workout of the likes you've never seen!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "" ("base", "narrow", "annoyed", "mid") + cho "*Hmm*?" ("soft", "base", "raised", "mid") + gen "I'll wear you out until your muscles are sorer than ever!" ("angry", xpos="far_left", ypos="head") + cho "Really!?" ("crooked_smile", "base", "base", "mid") # happy + ton @ hair horny "Now-now, Professor. Don't make promises you can't keep..." ("soft", "narrow", "base", "mid") + cho "Why haven't you shown me any of these workouts, sir?" ("open", "base", "angry", "mid") + gen "We'll get to it at some point, I'm sure." ("base", xpos="far_left", ypos="head") + ton @ hair horny "I sure wouldn't mind seeing you try out his techniques as well." ("grin", "narrow", "base", "L") + gen "No objections here!" ("grin", xpos="far_left", ypos="head") + cho "Wicked!" ("grin", "happyCl", "base", "mid") + + ton @ hair horny "Come on, Miss Chang..." ("open", "narrow", "base", "L") + cho "" ("annoyed", "base", "base", "L") + ton @ hair horny "Let's give our headmaster a good show!" ("crooked_smile", "narrow", "base", "mid") + cho "Alright." ("open", "happyCl", "base", "mid") + ton @ hair horny "Now, after you..." ("horny", "narrow", "base", "L") + + # Cho and Tonks hop onto the desk. + call hide_characters + hide screen bld1 + with d3 + pause .2 + + call cho_chibi(flip=False) + with d3 + pause .1 + + show screen blkfade + with d5 + + + # Tonks chibi on desk next to Cho's. # Tonks is facing left + + call cho_chibi("stand", 314, 366, flip=True) + call ton_chibi("stand", 370, 360, flip=False) + + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + hide screen blkfade + with d5 + pause .8 + + $ cho.zorder = 16 # in front of Tonks. 15 is default. + cho @ cheeks heavy_blush "" ("base", "narrow", "base", "L", xpos=280, ypos="base", flip=True) + ton @ hair horny "..." ("base", "narrow", "raised", "L", xpos=345, ypos="base") + ton @ hair horny "Are you watching closely, Professor?" ("open", "narrow", "base", "mid") + gen "You bet!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "I wouldn't want you to miss what's about to happen..." ("base", "narrow", "base", "mid") + + # Cho and Tonks undress. + $ temp_var = False + if cho.is_any_worn("robe", "top", "bottom"): + $ temp_var = True + ton @ hair horny "Let me help you with that, Miss Chang." ("soft", "narrow", "base", "L") + ton @ hair horny "" ("base", "narrow", "base", "L") + + # Remove Cho's robe. #TODO are they not already removed near the start of the event? + if cho.is_worn("robe"): + pause .2 + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe") + with d3 + pause .5 + cho @ cheeks blush "" ("base", "narrow", "base", "R") + pause .8 + + # Remove Cho's top. + if cho.is_worn("top"): + pause .2 + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("top") + with d3 + pause .5 + cho @ cheeks heavy_blush "" ("horny", "narrow", "raised", "R") + pause .8 + + nar "Tonks swiftly pulls the girl's top over her chiselled frame." + + # Remove Cho's bottom. + if cho.is_worn("bottom"): + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "mid") # embarrassed + pause .2 + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bottom") + show screen cho_cloth_pile + with d3 + pause .5 + cho @ cheeks heavy_blush "" ("horny", "narrow", "raised", "R") + pause .8 + + nar "A quick tug by her teacher, and Cho's bottom clothing slips down her muscular things." + + if temp_var == True: + cho @ cheeks heavy_blush "Please, Professor...{w=0.4} not so fast." ("clench", "happyCl", "base", "mid") # embarrassed? + gen "..." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*... Okay then." ("base", "narrow", "raised", "mid") + ton @ hair horny "I'll go next, shall I?" ("grin", "narrow", "base", "mid") + else: # Cho was already in underwear or nude. + ton @ hair horny "Couldn't you have waited for me, Miss Chang?" ("soft", "narrow", "base", "L") + ton @ hair horny "I would have loved to help you undress..." ("base", "narrow", "base", "L") + gen "No, that's just the girl's regular dress code around my office." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "" ("clench", "narrow", "base", "downR") + ton @ hair horny "Is that so..." ("soft", "narrow", "raised", "mid") + ton @ hair horny "*Hmm*... I suppose I should follow suit, then?" ("base", "narrow", "base", "mid") + cho @ cheeks blush "..." ("horny", "narrow", "base", "R") # embarrassed + + gen "Go right ahead!" ("grin", xpos="far_left", ypos="head") + ton "I've been dying to get out of this stuffy coat." ("open", "base", "shocked", "down") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton "" ("base", "base", "base", "down") + pause .2 + + # Tonks removes her coat. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("robe") + with d3 + pause .8 + + ton "There... much better, don't you think?" ("base", "narrow", "base", "mid") + cho @ cheeks heavy_blush "..." ("base", "narrow", "worried", "downR") #embarrassed + ton "Miss Chang, could you switch places with me, please?" ("open", "base", "shocked", "L") + cho @ cheeks heavy_blush "*Ehm*... Y-Yes. Of course..." ("soft", "narrow", "worried", "L") + + # Tonks' sprite moves in front of Cho, both are facing Genie. + call hide_characters + hide screen bld1 + with d3 + pause .5 + + $ tonks_chibi.zorder = 2 # default is 3 + call cho_chibi("stand", 370, 360, flip=False) + call ton_chibi("stand", 320, 360, flip=False) + with d3 + pause .5 + + $ cho.zorder = 15 # reset to default. + $ tonks.zorder = 16 # in front of Cho # Default is 15. + cho @ cheeks heavy_blush "" ("horny", "narrow", "base", "mid", xpos=345, ypos="base", flip=False) + ton @ hair horny "..." ("crooked_smile", "narrow", "base", "mid", xpos=215, ypos="base", flip=False) + + ton @ hair horny "Miss Chang, would you be so kind and assist me with my shirt?" ("soft", "base", "shocked", "down") + cho @ cheeks heavy_blush "Yes, Professor..." ("smile", "narrow", "base", "down") + pause .2 + cho @ cheeks heavy_blush "" ("base", "narrow", "raised", "down", xpos=315, ypos="base", flip=False, trans=d5) # moves closer to Tonks. + pause .8 + cho @ cheeks heavy_blush "" ("horny", "narrow", "base", "down") + pause .2 + + # Remove Tonks top. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("top") + with d3 + pause .5 + + ton @ hair horny "" ("horny", "narrow", "base", "mid") + pause .8 + + nar "With some effort, Cho manages to remove her teacher's shirt." + ton @ hair horny "Thank you, sweetie." ("soft", "narrow", "raised", "downR") + cho @ cheeks heavy_blush "" ("base", "narrow", "base", "mid") + ton @ hair horny "*Hmm*..." ("annoyed", "base", "raised", "down") + ton @ hair horny "I guess my tight trousers are next..." ("base", "narrow", "base", "mid") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "down") # blush + ton @ hair horny "I'll take it from here..." ("soft", "narrow", "shocked", "downR") + pause .2 + + # Tonks turns around facing Cho. + call ton_chibi(flip=True) + #$ tonks.zorder = 15 # Reset to default. + #$ cho.zorder = 16 # in front of Tonks # Default is 15. + #cho @ cheeks heavy_blush "" ("base", "narrow", "raised", "L", xpos=345, ypos="base", flip=False) + ton @ hair horny "Let me show you how it's done. {heart}" ("crooked_smile", "narrow", "base", "down", xpos=280, ypos="base", flip=True, trans=d5) + + cho @ cheeks heavy_blush "..." ("horny", "narrow", "worried", "down") # lip bite + ton @ cheeks heavy_blush hair horny "With trousers like these, you should start slowly... that's how the headmaster likes it. {heart}" ("horny", "narrow", "base", "mid") + + nar "Tonks carefully tugs at the thin fabric of her leggings, and slowly pulls them past her cheeks..." + nar "As the fabric bundles up between her fingers, reaching lower and lower past her thighs, she pulls them off in one swift motion." + + # Remove Tonks bottom. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("bottom") + with hpunch + pause .5 + + ton @ cheeks blush hair horny "" ("horny", "narrow", "raised", "mid") + pause .8 + + gen "Not wearing any underwear, I see..." ("base", xpos="far_left", ypos="head") + ton @ hair horny "I avoid it when I can..." ("crooked_smile", "narrow", "base", "mid") + ton @ hair horny "Even while I'm in uniform. {heart}" ("grin", "wink", "raised", "mid") #wink + ton @ hair horny "" ("base", "narrow", "base", "mid") + gen "Anything you'd like to say, Miss Chang?" ("base", xpos="far_left", ypos="head") + gen "It's not every day you get to see such a gorgeous woman strip for you..." ("grin", xpos="far_left", ypos="head") + gen "(...)" ("base", xpos="far_left", ypos="head") + pause .5 + + # Slap Tonks' ass! + call slap_her + cho @ cheeks heavy_blush "" ("open", "wide", "base", "mid") + ton @ cheeks heavy_blush hair scared "!!!" ("clench", "shocked", "base", "stare") # shocked + nar "You give Tonks a hard slap on her ass." + cho @ cheeks heavy_blush "" ("horny", "base", "base", "down") + ton @ cheeks heavy_blush hair horny "Ouch...{w=0.4} Professor!" ("crooked_smile", "narrow", "annoyed", "mid") + gen "Right, should've warned you, shouldn't I..." ("base", xpos="far_left", ypos="head") + + menu: + "-Slap it one more time!-": + call slap_her + ton @ cheeks blush hair horny "..." ("clench", "base", "shocked", "ahegao") #pout #blush + gen "Want another?" ("grin", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair horny "Yes, please. {heart}" ("crooked_smile", "narrow", "base", "mid") + + menu: + "-Slap it again!-": + call slap_her + ton @ cheeks heavy_blush hair horny "*Mmm*... Spank me, Sir!" ("horny", "narrow", "angry", "mid") + + menu: + "-Again!-": + pass + call slap_her + ton @ cheeks heavy_blush hair angry "More...{w=0.3} Harder!" ("clench", "base", "angry", "mid") + cho @ cheeks heavy_blush "..." ("disgust", "happyCl", "worried", "mid") # blushing #lip bite #looking away + + menu: + "-Slap it hard!-": + pass + call slap_her + ton @ cheeks heavy_blush hair scared "" ("clench", "base", "shocked", "ahegao") + pause .5 + call slap_her + pause .3 + call slap_her + pause .3 + call slap_her + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "mid") + ton @ cheeks heavy_blush hair horny "*Hngh*..." ("upset", "narrow", "base", "ahegao") + ton @ cheeks heavy_blush hair horny "Thank you, Professor. {heart}{heart}{heart}" ("crooked_smile", "narrow", "worried", "mid") + gen "You're welcome." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "downR") + + "\"Cho, you do the honours!\"": + cho @ cheeks heavy_blush "What?! I can't--" ("open", "wide", "base", "mid") + pause .2 + + # Tonks turns around. + call ton_chibi(flip=False) + ton @ cheeks blush hair horny "" ("base", "base", "base", "mid", xpos=215, ypos="base", flip=False, trans=d5) + pause .5 + + ton @ cheeks blush hair horny "It's fine, Cho. Just give it a little slap." ("soft", "narrow", "base", "downR") + cho @ cheeks heavy_blush "..." ("angry", "base", "raised", "down") + call slap_her + ton @ cheeks blush hair horny "That's it! Try a little harder..." ("horny", "narrow", "base", "downR") + call slap_her + ton @ cheeks blush "One more time..." ("soft", "narrow", "shocked", "up") + call slap_her + ton @ cheeks heavy_blush hair horny "*Hngh*..." ("upset", "narrow", "shocked", "ahegao") + pause .2 + + # Tonks turns around. + call ton_chibi(flip=True) + ton "" ("base", "base", "base", "mid", xpos=280, ypos="base", flip=True, trans=d5) + pause .8 + + ton @ cheeks heavy_blush "Thank you, sweetie." ("crooked_smile", "narrow", "base", "L") + cho @ cheeks heavy_blush "..." ("quiver", "narrow", "worried", "down") + + "-Stop here...-": + pass + + gen "Tell me, Cho...{w=0.3} do you like your teacher's body?" ("base", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair horny "" ("base", "narrow", "base", "mid") + cho @ cheeks heavy_blush "Of course I do." ("open", "narrow", "base", "down") + ton @ cheeks blush hair horny "" ("base", "narrow", "base", "down") + cho @ cheeks blush "She's very fit and athletic and pretty, just like me." ("crooked_smile", "happyCl", "base", "mid") + gen "That's not what I meant..." ("base", xpos="far_left", ypos="head") + gen "Does her body turn you on?" ("grin", xpos="far_left", ypos="head") + ton @ cheeks blush hair horny "" ("base", "narrow", "annoyed", "mid") # eager look at Cho. + cho @ cheeks heavy_blush "Sir!" ("clench", "wide", "base", "mid") + gen "It's a simple question..." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Do I really need to answer?" ("clench", "happyCl", "worried", "mid") + ton @ cheeks blush hair horny "Please, Miss Chang..." ("open", "narrow", "base", "L") + ton @ cheeks blush hair horny "I'm quite curious about your thoughts as well. {heart}" ("base", "narrow", "base", "L") + ton @ cheeks blush hair horny "We'll keep it our little secret, I promise..." ("crooked_smile", "narrow", "annoyed", "down") + cho @ cheeks heavy_blush "*Hmm*..." ("mad", "narrow", "worried", "down") + cho @ cheeks heavy_blush "Fine...{w=0.3} I do think you're quite attractive, Professor." ("soft", "narrow", "worried", "downR") + #gen "Thanks." ("grin", xpos="far_left", ypos="head") + #cho "" ("annoyed", "narrow", "base", "mid") + #ton @ hair horny "Very funny, Professor Dumbledore... But I believe she was talking to me." ("open", "narrow", "raised", "mid") + ton @ cheeks blush hair horny "..." ("base", "narrow", "annoyed", "mid") # sharp look at Genie + cho @ cheeks heavy_blush "Especially for a teacher." ("clench", "narrow", "raised", "down") + ton @ hair horny "For a teacher?" ("horny", "narrow", "base", "L") + cho @ cheeks heavy_blush "I mean--" ("soft", "happyCl", "worried", "mid") #clench #worried + ton @ hair horny "*Ha-ha*... I'll have to add that to my resume." ("grin", "narrow", "base", "mid") + cho @ cheeks heavy_blush "" ("base", "narrow", "worried", "down") + + ton @ cheeks blush hair horny "Although, teachers shouldn't be employed for their looks, but for their competence, isn't that right?" ("open", "narrow", "annoyed", "mid") + gen "What?" ("base", xpos="far_left", ypos="head") + gen "Oh-- I mean yes...{w=0.3} of course..." ("angry", xpos="far_left", ypos="head") + play sound "sounds/giggle2_loud.ogg" + ton @ cheeks blush hair horny "*Giggles*..." ("base", "happyCl", "base", "mid") + ton @ cheeks blush hair horny "Enough with the small talk -- let's get these clothes off!" ("soft", "base", "annoyed", "mid") + + stop music fadeout 1 + ton @ hair horny "" ("horny", "narrow", "base", "mid") + pause .1 + + # Tonks removes the rest of her clothes. + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("clothes") + with hpunch + pause .2 + + cho @ cheeks heavy_blush "" ("clench", "narrow", "worried", "mid") + pause .5 + + nar "Within a blink of an eye, Tonks has removed all of her remaining clothing." + # nar "One minute her clothes were there, and then they were gone! It was like magic!" + cho @ cheeks heavy_blush "..." ("clench", "narrow", "worried", "downR") + ton @ hair horny "Get in front of me, Miss Chang." ("open", "narrow", "base", "L") + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + if cho.is_worn("bra"): + ton @ hair horny "It's time you show your headmaster your cute little breasts as well." ("soft", "narrow", "base", "mid") + else: + ton @ hair horny "Let's show your headmaster these cute little breasts of yours." ("soft", "narrow", "base", "mid") + + cho @ cheeks heavy_blush "They aren't that little..." ("annoyed", "narrow", "worried", "down") # annoyed + ton @ hair horny "No, you're right, sweetie..." ("soft", "narrow", "base", "down") + ton @ hair horny "They're just about perfect." ("horny", "narrow", "raised", "down") + ton @ cheeks blush hair horny "Now stand here, so the headmaster can see your tits." ("crooked_smile", "narrow", "base", "mid") + cho @ cheeks heavy_blush "..." ("annoyed", "happyCl", "base", "mid") + pause .2 + + # Cho moves in front. + $ cho.zorder = 16 # in front of Tonks # Default is 15. + $ tonks.zorder = 15 # reset to default. + cho @ cheeks heavy_blush "" ("angry", "narrow", "base", "down", xpos=300, ypos="base", trans=d5) + pause .8 + + # Remove Cho's bra. + if cho.is_worn("bra"): + + ton @ hair horny "Let me help you with that, Miss Chang." ("base", "narrow", "raised", "down") + pause .2 + + # Remove Cho top. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bra") + with d3 + pause .5 + + cho @ cheeks heavy_blush "" ("base", "happyCl", "worried", "mid") + pause .8 + + nar "The lust-filled teacher effortlessly removes the bra of her student." + + cho @ cheeks heavy_blush "..." ("crooked_smile", "narrow", "worried", "mid") + ton @ hair horny "Fucking perfect {heart} aren't they, Professor?..." ("horny", "narrow", "base", "mid") + ton @ hair horny "Move next to me, Cho. I need you to stand -- right here {heart}{heart}{heart}" ("open", "base", "base", "downR") + cho @ cheeks heavy_blush "*Ehm*... yes, Professor." ("soft", "narrow", "worried", "L") + call hide_characters + hide screen bld1 + with d3 + pause .5 + + # Cho turns around, facing Tonks. + call cho_chibi("stand", 314, 366, flip=True) + call ton_chibi("stand", 370, 360, flip=False) + with d3 + pause .5 + + cho @ cheeks heavy_blush "" ("base", "narrow", "base", "mid", xpos=280, ypos="base", flip=True) + ton @ hair horny "..." ("grin", "narrow", "base", "L", xpos=345, ypos="base", flip=False, trans=d5) + + play sound "sounds/giggle2_loud.ogg" + ton @ hair horny "*Giggles*..." ("grin", "narrow", "shocked", "mid") + ton @ cheeks blush hair horny "This is so much fun!" ("base", "narrow", "base", "up") + + if cho.is_worn("panties"): + cho @ cheeks heavy_blush "..." ("horny", "narrow", "worried", "L") + ton @ hair horny "Let's unveil this magnificent thing, next!" ("crooked_smile", "narrow", "base", "down") + + nar "Tonks eyes up Cho's panties, and before you can blink, she undresses her completely." + cho @ cheeks heavy_blush "Professor, not so fast--" ("horny", "narrow", "worried", "down") + pause .2 + + # Remove Cho Panties + Everything else. + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("clothes") + with vpunch + pause .5 + + cho @ cheeks heavy_blush "" ("horny", "narrow", "raised", "down") + pause .8 + + cho @ cheeks heavy_blush "Ah!" ("mad", "happyCl", "worried", "mid") # startled? + + else: + cho @ cheeks heavy_blush "Glad you're enjoying it, Professor..." ("horny", "narrow", "worried", "L") + + #Remove any remaining items (no sound since she might be naked) + $ cho.strip("clothes") + with d3 + pause .5 + + cho @ cheeks blush "" ("horny", "narrow", "base", "down") + gen "She's not the only one!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("horny", "narrow", "base", "mid") + call ctc + + + ton @ cheeks blush hair horny "*Hmm*... I can't decide which teacher has the best view now..." ("horny", "narrow", "base", "down") + gen "Looking pretty good from where I'm sitting..." ("grin", xpos="far_left", ypos="head") + + play sound "sounds/giggle2_loud.ogg" + cho @ cheeks blush "" ("horny", "narrow", "base", "mid") + ton @ cheeks blush hair horny "*Giggles*" ("grin", "base", "base", "mid") + + ton @ cheeks blush hair horny "Well, we still have the best saved for last." ("grin", "narrow", "base", "down") + ton @ cheeks blush hair horny "Let's give Professor Dumbledore a proper view of what a real athlete can achieve..." ("grin", "base", "base", "L") + cho @ cheeks blush "*Ehm*..." ("disgust", "narrow", "base", "L") + ton @ cheeks blush hair horny "Your buns, hun." ("crooked_smile", "narrow", "base", "L") + + stop music fadeout 1.0 + + cho @ cheeks blush "Oh... Alright..." ("angry", "narrow", "base", "downR") + + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + + #Cho and Tonks on Desk CG + + show dustfloating as cg_effects zorder 18 + + if game.daytime: + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg zorder 17 + else: + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg zorder 17 at color_temperature(1.0) + + with fade + + ton "There you go, professor..." + ton "The magnificent ass of a Quidditch player." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open as cg + with d3 + + cho "Professor!" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_annoyed cho_eyes_open_down as cg + with d3 + + gen "*Heh-Heh*..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + ton "Someone had to say it." + ton "I must say, gripping that broom has done wonders for your thighs and butt, Miss Chang." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_annoyed cho_eyes_open_look_at_tonks as cg + with d3 + + cho "...{w=0.4} Thank you, I suppose." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg + with d3 + + ton "No, really Miss Chang...{w=0.4} Have a feel of mine, and I'm sure you'll notice the difference." + + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tits cho_mouth_lip_bite as cg + with d3 + + cho "You--{w=0.2} You want me to..." + ton "Don't be shy now." + + #Cho grabs Tonks ass + show cho_strip_personal_t3_e3_on_knees cho_body_grab as cg + with d3 + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base tonks_eyes_open_down as cg + with d3 + + cho "..." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg + with d3 + + ton "So?" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_smirk as cg + with d3 + + cho "It's...{w=0.4} Nice." + + play sound "sounds/giggle2_loud.ogg" + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile tonks_eyes_open_look_at_cho as cg + with d3 + ton "*Giggles*... I was asking if you could feel the difference, not for a review, Miss Chang." + + #Base Pose + show cho_strip_personal_t3_e3_on_knees -cho_body_grab cho_mouth_open cho_eyes_wide_look_at_tonks cho_blush_heavy as cg + with d3 + + cho "Oh, I'm so sorry, Professor!" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_tits cho_eyes_open_down tonks_mouth_base cho_mouth_base as cg + with d3 + + ton "Don't worry, Miss Chang... Your honesty is greatly appreciated." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + ton "So, what do you say? Quite a fair bit softer than your own, wouldn't you say?" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed cho_mouth_open as cg + with d3 + + cho "I...{w=0.4} Suppose...{w=0.4} Maybe just a little bit." + ton "No need to be modest, Miss Chang... Your grip on that broom is unmatched." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_smirk as cg + with d3 + + cho "..." + gen "You know..." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_down tonks_eyes_open_down cho_mouth_smirk as cg + with d3 + + gen "There's a simple way if you'd like to measure the difference." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_tits as cg + with d3 + + ton "I was thinking the same thing." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_look_at_tonks tonks_eyes_open_look_at_cho tonks_mouth_open as cg + with d3 + + ton "Miss Chang...{w=0.4} If I may?" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks cho_mouth_lip_bite as cg + with d3 + + cho "*Ah*--{w=0.2} Alright..." + + #Tonks grabs Cho's cheeks, spreading them + + show cho_strip_personal_t3_e3_on_knees tonks_body_grab_spread tonks_eyes_open_look_at_tits cho_eyes_closed tonks_mouth_lip_bite cho_mouth_open as cg + with d3 + + cho "*Ah*..." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_lip_bite as cg + with d3 + + cho "..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base as cg + with d3 + + ton "*Mmm*...{w=0.4} As suspected...{w=0.4} A lot firmer than mine." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_base as cg + with d3 + + cho "Oh..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + ton "That's not a bad thing, Miss Chang... A tight butt has its advantages, not only for Quidditch..." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down as cg + with d3 + + ton "So, what do you think, professor?" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_down cho_mouth_smirk as cg + with d3 + + gen "I like both." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base as cg + with d3 + + ton "I'm talking about her training." + gen "Oh...{w=0.4} She's done very well." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open tonks_eyes_open_look_at_tits as cg + with d3 + + ton "Very well indeed..." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down tonks_mouth_base cho_mouth_base cho_eyes_open_down as cg + with d3 + + gen "Is that jealousy I'm hearing in your voice?" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_look_at_tonks cho_mouth_smile as cg + with d3 + + gen "If you're looking for a workout, I'm sure I could sort something out." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_lip_bite as cg + with d3 + + ton "*Mmm*..." + ton "Perhaps it's time I bring out the old comet..." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open cho_eyes_open_look_at_tonks as cg + with d3 + + cho "Professor?" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho tonks_mouth_smile as cg + with d3 + + ton "Yes, sweetie?" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_lip_bite as cg + with d3 + + cho "You're squeezing my butt still." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open tonks_eyes_open_look_at_tits as cg + with d3 + + ton "Oh... So I am..." + + #Base pose + show cho_strip_personal_t3_e3_on_knees -tonks_body_grab_spread tonks_eyes_open_look_at_cho as cg + with d3 + + ton "Sorry, Miss Chang... I got lost appreciating your butt, I forgot what we were doing for a second." + + #Tonks looks at genie + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down as cg + with d3 + + ton "*Hmm*... It appears I'm not the only one..." + + #Cho looks at genie who has a boner (off screen) + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_down cho_mouth_annoyed as cg + with d3 + + pause .8 + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_down cho_mouth_angry as cg + with d3 + + cho "Sir! Not when Tonks-- I mean--" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_base tonks_mouth_smile as cg + with d3 + + ton "No, I think he's got the right idea." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_angry cho_eyes_wide_look_at_tonks as cg + with d3 + + cho "What?!" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_eyes_wide_down as cg + with d3 + + ton "Go on, professor... Whip it out." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open cho_eyes_wide_look_at_tonks as cg + with d3 + + cho "Professor Tonks!" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_annoyed tonks_eyes_open_look_at_cho as cg + with d3 + + ton "Now-now, Miss Chang... This is a necessary part of your training." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open cho_eyes_open_look_at_tonks as cg + with d3 + + cho "But, professor!" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile cho_mouth_annoyed as cg + with d3 + + ton "It's inevitable with how your matches have been going recently, that at least a couple of boys would end up whipping it out during the finals." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open as cg + with d3 + + ton "You wouldn't want to get distracted by such a sight during Quidditch now, would you?" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_mouth_lip_bite cho_eyes_open_down as cg + with d3 + + if states.cho.status.dick_seen: + cho "But I've already seen--{w=0.2} I mean..." + else: + cho "..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile tonks_eyes_open_down as cg + with d3 + + ton "I'm sure your professor... Or should I say coach... Would agree." + gen "I'll agree to--{w=0.2} *Ngh*...{w=0.4} anything at this point." + + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down cho_mouth_base as cg + with d3 + + ton "I'll remember that next time we discuss my salary." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho cho_eyes_open_look_at_tonks as cg + with d3 + + ton "So, what do you say Miss Chang?" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_lip_bite as cg + with d3 + + cho "{size=-4}Alright...{/size}" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + ton "Marvellous." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down tonks_mouth_base cho_eyes_open_down as cg + with d3 + + ton "Please, help yourself professor." + gen "(Finally!)" + + # TODO: cloth sounds + + #Cho wide eyed looking at dick + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile cho_eyes_wide_down cho_mouth_open as cg + with d3 + pause .8 + #Cho clenched eyes + show cho_strip_personal_t3_e3_on_knees cho_mouth_lip_bite cho_eyes_closed_happy as cg + with d3 + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open as cg + with d3 + + ton "Wow, look at him go!" + + #Tonks looking at Cho + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho tonks_mouth_base as cg + with d3 + + ton "...{w=0.4} Miss Chang, I urge you to take advantage of this opportunity." + ton "Closing your eyes won't be an option during Quidditch." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_annoyed as cg + with d3 + + cho "..." #Eyes still closed + + menu: + "-Motion Tonks to spank Cho's ass-": #Tonks spanks Cho's ass, Tonks gets wet + + # tonks smile + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open tonks_eyes_open_down as cg + with d3 + + ton "...?" # Doesn't get it at first + pause 0.8 + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + nar "Tonks nods, grinning mischievously, letting you know she's on-board with your plan." + + play sound "sounds/slap_02.ogg" + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho cho_handprint cho_eyes_wide_down cho_mouth_open as cg + with flash + + cho "{heart}*Ah*!{heart}" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_angry as cg + with d3 + + cho "..." + ton "There you go...{w=0.4} That wasn't so hard was it?" + + #Tonks wet down legs + show cho_strip_personal_t3_e3_on_knees tonks_wetness cho_eyes_open_look_at_tonks cho_mouth_lip_bite as cg + with d3 + + cho "..." + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_closed tonks_mouth_base as cg + with d3 + + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down cho_eyes_open_down as cg + with d3 + + ton "Looks like that really got him going." + gen "You're the one to talk." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open as cg + with d3 + + ton "Shush now..." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho cho_eyes_open_look_at_tonks tonks_mouth_base cho_mouth_base as cg + with d3 + + cho "Professor, what is he talking--" + + call slap_her + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_down cho_mouth_open as cg + + cho "{heart}*Ah*!{heart}" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed_happy cho_mouth_lip_bite tonks_mouth_smile tonks_eyes_open_look_at_tits as cg + with d3 + + ton "Oh yes, I'm sure a broomstick would slide quite nicely between these cheeks!" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_down cho_mouth_annoyed as cg + with d3 + + cho "...{w=0.4} Slide?" + + nar "*Fap* *Fap* *Fap*" + + gen "(*Ngh*... This isn't good, If they keep going like this, I'll paint their asses white!)" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down tonks_mouth_base as cg + with d3 + + ton "*Hmm*... Already?" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks cho_mouth_base as cg + with d3 + + cho "Professor?" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho tonks_mouth_smile as cg + with d3 + + ton "I believe coach is almost ready to show his appreciation for your hard work." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_down cho_mouth_open as cg + with d3 + + cho "Wait, you don't mean--" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho tonks_mouth_open cho_mouth_lip_bite as cg + with d3 + + ton "Oh?{w=0.6} Is that not what we're doing?" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks as cg + with d3 + + ton "My apologies." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_tits tonks_mouth_smile tonks_body_grab as cg + with d3 + + ton "I was under the impression that seduction was part of your winning strategy..." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_look_at_tonks cho_mouth_open as cg + with d3 + + cho "How did you--" + + show cho_strip_personal_t3_e3_on_knees -tonks_body_grab tonks_mouth_base tonks_eyes_open_look_at_cho as cg + with d3 + + ton "Sweetie... You're speaking to an expert..." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_base as cg + with d3 + + cho "Professor?" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_closed as cg + with d3 + + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho tonks_mouth_smile as cg + with d3 + + ton "You thought that I got to where I am by working hard?" + ton "Please... When you've got a body like mine, the only thing you need is the knowledge of how to use it..." + ton "For example, if you're ever looking to get a raise, just show some skin and any man is sure to just nod and agree to anything you say." + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open tonks_eyes_open_down as cg + with d3 + + ton "Observe..." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_down tonks_mouth_smile as cg + with d3 + + ton "So, how about that raise, Professor?" + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open as cg + with d3 + + ton "Professor?" + + gen "Huh?" + gen "Oh...{w=0.2} *Err*...{w=0.2} Sure!{w=0.4} Whatever you say." + + #Tonks looks at Cho + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base tonks_eyes_open_look_at_cho cho_eyes_open_look_at_tonks as cg + with d3 + + ton "See?" + ton "Of course, even though I got what I wanted, you should finish what you started, or they'll know something's up..." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_lip_bite as cg + with d3 + + cho "..." + ton "So... Do you have what it takes?" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open as cg + with d3 + + if states.cho.status.blowjob: + cho "*Ehm*... Haven't I already proved--" + else: + cho "But he's my--{w=0.2} And you--{w=0.2} Surely I can't just--" + + call slap_her + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed_happy as cg + + cho "{heart}*Ah*!{heart}" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks as cg + with d3 + + ton "You can do it." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_lip_bite as cg + with d3 + + cho "*Ah*...{w=0.4} Okay then..." + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile tonks_eyes_open_down cho_eyes_open_down as cg + with d3 + + ton "Oh, looks like the moment has arrived!" + + "-Multitasking is too hard, keep beating it-": #Tonks spreads Cho's ass, Cho's wet, Cho then spreads Tonks' ass at the same time. + + #Cho opens eyes and looks at genie + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open cho_eyes_open_down as cg + with d3 + + ton "Very good..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + ton "Now, I think it would be a good idea to give him something to look at as well." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_angry cho_eyes_wide_look_at_tonks as cg + with d3 + + cho "No, wait!" + + #Tonks spreads Cho's ass and she's wet + show cho_strip_personal_t3_e3_on_knees tonks_body_grab_spread cho_wetness cho_mouth_open cho_eyes_wide_down as cg + with d3 + + pause 1 + + gen "Whoa!" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open cho_eyes_wide_look_at_tonks as cg + with d3 + + ton "*Hmm*? What's wrong, sweetie?" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_eyes_wide_down as cg + with d3 + + gen "She's--" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_look_at_tonks cho_mouth_angry as cg + with d3 + + cho "Nothing!" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed_happy as cg + with d3 + + cho "I'm fine!" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_base as cg + with d3 + + nar "*Fap* *Fap* *Fap*" + gen "Very fine indeed!" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_base cho_eyes_open_look_at_tonks as cg + with d3 + + ton "*Mmm*... You almost had me worried for a second..." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open as cg + with d3 + + cho "*Ehm*... How long do I have to stay like this?" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open cho_mouth_base as cg + with d3 + + ton "Until he finishes, of course." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_look_at_tonks tonks_mouth_base cho_mouth_angry as cg + with d3 + + cho "Until--{w=0.2} But professor!" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks tonks_mouth_open cho_mouth_annoyed as cg + with d3 + + ton "Or is that not what we're doing?" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_closed as cg + with d3 + + ton "I thought that seduction was a big part of your winning strategy..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base tonks_eyes_open_look_at_tits cho_mouth_open cho_eyes_wide_look_at_tonks as cg + with d3 + + cho "How did you--" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open tonks_eyes_open_look_at_cho cho_eyes_open_look_at_tonks as cg + with d3 + + ton "Please, Miss Chang...{w=0.4} You're talking to an expert..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base as cg + with d3 + + ton "And as an expert, let me tell you, if you don't fully commit, you won't achieve your goals." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_mouth_lip_bite cho_eyes_open_down as cg + with d3 + + cho "But I--{w=0.2} He can see my--" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open cho_eyes_open_look_at_tonks as cg + with d3 + + ton "Endurance, Miss Chang." + ton "As a Quidditch player, I'm sure you know the importance of endurance." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_eyes_wide_down cho_mouth_annoyed as cg + with d3 + + cho "That's not the problem!" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open cho_mouth_annoyed cho_eyes_open_look_at_tonks as cg + with d3 + + ton "Very well, Miss Chang..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_lip_bite cho_mouth_base cho_eyes_open_look_at_tonks as cg + with d3 + + ton "You may help yourself to my buttocks." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open cho_eyes_wide_look_at_tonks as cg + with d3 + + cho "Your--" + gen "Yes please!" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_lip_bite cho_eyes_open_look_at_tits as cg + with d3 + + cho "..." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_base tonks_mouth_base as cg + with d3 + + ton "Go on then." + + #Cho spreads Tonks' Ass Tonks wet pussy + show cho_strip_personal_t3_e3_on_knees cho_body_grab_spread tonks_wetness tonks_mouth_base as cg + with d3 + + pause.5 + + gen "Whoa, you're--" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_down tonks_mouth_lip_bite tonks_blush_heavy as cg + with d3 + + ton "Shush!" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks cho_mouth_lip_bite as cg + with d3 + + cho "Professor?" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg + with d3 + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_closed tonks_mouth_open as cg + with d3 + + ton "*Ahem*...{w=0.4} Why don't you keep your eyes on what Professor Dumbledore is doing, Miss Chang." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_closed tonks_mouth_base cho_mouth_annoyed as cg + with d3 + + cho "But--" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open as cg + with d3 + + ton "Be a good girl and listen to your teacher." + + #Tonks wet down legs, Closed eyes horny + #Cho looks at genie, Tonks steals glances at Cho + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_tits cho_eyes_open_down cho_mouth_lip_bite tonks_mouth_base as cg + with d3 + + pause .8 + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_lip_bite as cg + with d3 + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_down as cg + with d3 + + gen "*Ah*..." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks as cg + with d3 + + cho "Professor..." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg + with d3 + + ton "Huh? I wasn't--{w=0.4} Didn't I just tell you to--" + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_base cho_mouth_open as cg + with d3 + + cho "But Professor, I think he's about to-- *Ehm*..." + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_open tonks_eyes_open_down cho_mouth_lip_bite cho_eyes_open_down as cg + with d3 + + ton "*Huh*?" #looks at genie + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + ton "Oh, I see!" + + $ _temp_facial = False + + menu: + "-Keep going and finish like this-": #Genie cums on desk + + #Base pose + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile as cg + with d3 + + ton "Go on coach, cum for us!" + ton "Claim your pupil, claim your slut, shake that cock, cum on butt!" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open cho_eyes_open_look_at_tonks as cg + with d3 + + cho "Professor!" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_closed as cg + with d3 + + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg + with d3 + + ton "You tell him, Miss Chang!" + + show cho_strip_personal_t3_e3_on_knees cho_mouth_angry as cg + with d3 + + cho "I--" + ton "Tell him to paint his slutty little Quidditch player in cum!" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_down tonks_eyes_open_down cho_mouth_lip_bite as cg + with d3 + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed as cg + with d3 + + cho "..." + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tits tonks_eyes_open_look_at_cho as cg + with d3 + + pause .5 + + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_down cho_mouth_open as cg + with d3 + + cho "P-- Please, do it, sir!" + + show cho_strip_personal_t3_e3_on_knees tonks_body_idle tonks_eyes_open_look_at_cho cho_eyes_wide_look_at_tonks as cg + with d3 + + pause .5 + + play sound "sounds/slap_02.ogg" + show cho_strip_personal_t3_e3_on_knees cho_handprint cho_eyes_closed_happy cho_mouth_lip_bite as cg + with flash + + cho "*Ah*!!" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg + with d3 + + ton "More conviction!" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_look_at_tonks tonks_eyes_open_look_at_tits as cg + with d3 + + cho "Conv--" + + play sound "sounds/slap_02.ogg" + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed_happy cho_mouth_open as cg + with flash + + cho "{heart}*Ah*!!{heart}" + + #Tonks spreads cho's ass (cho is wet) + show cho_strip_personal_t3_e3_on_knees cho_eyes_open_look_at_tonks cho_mouth_lip_bite cho_wetness as cg + with d3 + + pause .5 + + show cho_strip_personal_t3_e3_on_knees tonks_body_grab_spread tonks_eyes_open_look_at_cho as cg + with d3 + + ton "Say it!" + + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed tonks_eyes_open_down as cg + with d3 + + pause .8 + + show cho_strip_personal_t3_e3_on_knees cho_eyes_closed tonks_eyes_open_down cho_mouth_smirk as cg + with d3 + + pause .5 + + show cho_strip_personal_t3_e3_on_knees cho_eyes_wide_down cho_mouth_open as cg + with d3 + + cho "C-cum for me, [name_genie_cho]!" # Deliberate; Tonks will mention Cho's choice of calling him by nickname later + + gen "Aaargh!!" + + #Cho closed eyes + show cho_strip_personal_t3_e3_on_knees -cho_body_grab_spread cho_eyes_closed_happy as cg + with d3 + + cho "*Eeek*!" + + # Cumblock -- Genie cum flying through the air. + call cum_block + show cho_strip_personal_t3_e3_on_knees desk_cum_spurt as cg + play sound "sounds/slick_02.ogg" + + #fade to black + pause 0.6 + + show screen blkfade + with d3 + + ton "..." + gen "*Ah*..." + cho "Did--{w=0.2} Did he finish?" + ton "*chuckles*" + ton "Oh, he did finish alright..." + cho "..." + + #Fade back to CG, cum on side of desk (none on Tonks or Cho) + + show cho_strip_personal_t3_e3_on_knees desk_cum_post cho_eyes_open_down cho_mouth_lip_bite as cg + hide screen blkfade + with d5 + + pause 1 + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open as cg + with d3 + + cho "(He--{w=0.4} He missed...)" + + show cho_strip_personal_t3_e3_on_knees -tonks_body_grab_spread tonks_mouth_base cho_mouth_lip_bite as cg + with d3 + + gen "Fuck, I missed..." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho cho_eyes_closed cho_mouth_smirk as cg + with d3 + + cho "*Phew*..." + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho tonks_mouth_smile as cg + with d3 + + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" + + "-Give Tonks a sign to get closer-": #Tonks and Cho lay down and genie cums on their faces + + $ _temp_facial = True + + show cho_strip_personal_t3_e3_on_knees tonks_mouth_smile cho_eyes_open_look_at_tonks as cg + with d3 + + ton "*Mmm*... You naughty boy..." + + show cho_strip_personal_t3_e3_on_knees cho_mouth_open as cg + with d3 + + cho "Professor?" + + show cho_strip_personal_t3_e3_on_knees tonks_eyes_open_look_at_cho as cg + with d3 + + ton "Follow my lead, Miss Chang." + + show screen blkfade + with d3 + + play sound "sounds/08_hop_on_desk.ogg" + pause .8 + show cho_strip_personal_t3_e3_cho_staring tonks_body cho_eyes_wide_look_at_tits cho_mouth_open tonks_eyes_open_mid tonks_mouth_smile as cg + hide screen blkfade + with d5 + + + cho "Professor!" + + show cho_strip_personal_t3_e3_cho_staring cho_eyes_wide_down as cg + with d3 + + ton "Hurry up Miss Chang, don't leave your coach hanging." + + show cho_strip_personal_t3_e3_cho_staring cho_mouth_lip_bite as cg + with d3 + + ton "Lay down next to me, just like this." + show cho_strip_personal_t3_e3_cho_staring cho_eyes_wide_look_at_tits as cg + with d3 + + cho "..." + + show screen blkfade + with d3 + + play sound "sounds/08_hop_on_desk.ogg" + pause .8 + show cho_strip_personal_t3_e3_lying as cg + hide screen blkfade + with d5 + + cho "Like this?" + + show cho_strip_personal_t3_e3_lying cho_mouth_base tonks_mouth_open as cg + with d3 + + ton "Yes, Very good Miss Chang..." + + show cho_strip_personal_t3_e3_lying cho_eyes_open_down cho_mouth_open tonks_mouth_base as cg + with d3 + + cho "But, why with our hands out?" + + show cho_strip_personal_t3_e3_lying cho_eyes_open_look_at_tonks tonks_mouth_smile cho_mouth_base as cg + with d3 + + ton "Oh... I think you already know the answer to that question..." + nar "*Fap* *Fap* *Fap*" + + #Cho angry mouth + show cho_strip_personal_t3_e3_lying cho_eyes_open_down tonks_mouth_smile cho_mouth_angry as cg + with d3 + + pause .5 + + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" + + show cho_strip_personal_t3_e3_lying tonks_mouth_open as cg + with d3 + + ton "You're not going to chicken out on me now, are you, Miss Chang?" + + show cho_strip_personal_t3_e3_lying tonks_mouth_base cho_mouth_open as cg + with d3 + + cho "I--" + + #Cho looks at genie + show cho_strip_personal_t3_e3_lying cho_mouth_base cho_eyes_open_mid as cg + with d3 + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_lying cho_eyes_closed cho_mouth_open as cg + with d3 + + cho "I won't." + + show cho_strip_personal_t3_e3_lying cho_mouth_base tonks_mouth_smile as cg + with d3 + + ton "Good..." + + show cho_strip_personal_t3_e3_lying cho_eyes_open_down tonks_mouth_open as cg + with d3 + + ton "Then give your Coach your biggest smile and repeat after me..." + + show cho_strip_personal_t3_e3_lying cho_eyes_open_look_at_tonks tonks_mouth_base cho_mouth_angry as cg + with d3 + + cho "You want me to--" + + show cho_strip_personal_t3_e3_lying tonks_mouth_smile cho_mouth_angry as cg + with d3 + + ton "Smile, Miss Chang..." + cho "...{w=0.8}{nw}" + + #Cho smiles + show cho_strip_personal_t3_e3_lying cho_mouth_smile as cg + with d3 + + pause .8 + + ton "There you go... And such a pretty smile as well..." + cho "Thank you..." + + nar "*Fap* *Fap* *Fap*" + gen "*Ah*... Ladies..." + + #Tonks and Cho looks at genie + show cho_strip_personal_t3_e3_lying tonks_eyes_open_mid cho_eyes_open_mid as cg + with d3 + + ton "Oh, of course, sir..." + ton "Now, Miss Chang, keep your eyes on your coach and repeat after me..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_open cho_mouth_smile as cg + with d3 + + ton "\"Thank you coach, for being such a good mentor\"..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_base cho_mouth_open as cg + with d3 + + cho "Thank you coach... For being such a good mentor..." + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_lying tonks_mouth_open cho_mouth_smile as cg + with d3 + + ton "\"I'll always be in your debt after everything that you've done for me\"..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_base cho_mouth_open as cg + with d3 + + cho "I'll always be in your debt... After everything that you've done for me..." + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_lying tonks_mouth_open cho_mouth_smile as cg + with d3 + + ton "\"But I hope to be able to repay you some day\"..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_base cho_mouth_open as cg + with d3 + + ton "But I hope to be able to repay you some day..." + + nar "*Fap* *Fap* *Fap*" + + show cho_strip_personal_t3_e3_lying tonks_mouth_open cho_mouth_smile as cg + with d3 + + ton "\"With\"..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_base cho_mouth_open as cg + with d3 + + cho "With..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_open cho_mouth_smile as cg + with d3 + + ton "\"My\"..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_base cho_mouth_open as cg + with d3 + + cho "My..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_open cho_mouth_smile as cg + with d3 + + ton "\"Body\"..." + + show cho_strip_personal_t3_e3_lying tonks_mouth_smile cho_mouth_open as cg + with d3 + + cho "Body--" + + show cho_strip_personal_t3_e3_lying cho_mouth_smile as cg + with d3 + + pause .5 + + #Cho looks at Tonks, angry mouth + show cho_strip_personal_t3_e3_lying cho_eyes_open_look_at_tonks cho_mouth_angry as cg + with d3 + + cho "Wait, what?!" + + gen "*Aaargh*!!" + + show cho_strip_personal_t3_e3_lying tonks_mouth_tongue_out cho_mouth_open as cg + with d3 + + ton "Open wide, Cho!" + + #Tonks tongue out + #Cho clenched eyes + show cho_strip_personal_t3_e3_lying cho_eyes_open_mid cho_mouth_angry as cg + with d3 + + cho "Wait!" + + #Genie cums on their faces, and in tonks mouth. + + call cum_block + show cho_strip_personal_t3_e3_lying cum_tongue cho_mouth_open cho_eyes_closed_happy as cg + with flash + + cho "*Aaaah*!" + + gen "Yeeeees!! Take that, you sluts!" + call cum_block + + show cho_strip_personal_t3_e3_lying cum_face tonks_eyes_closed as cg + with flash + show cho_strip_personal_t3_e3_lying cum_tits as cg + with flash + show cho_strip_personal_t3_e3_lying tonks_eyes_open_mid cum_hands as cg + with flash + + + cho "It's--{w=0.4} I can feel it on my hands!" + cho "It's... So warm..." + + #Cho looks at tonks + show cho_strip_personal_t3_e3_lying cho_eyes_open_look_at_tonks as cg + cho "Professor--" + + #Tonks swallows + sound + play sound "sounds/gulp.ogg" + show cho_strip_personal_t3_e3_lying tonks_eyes_closed tonks_mouth_smile -cum_tongue as cg + with d3 + + ton "*Mmm*... Tasty..." + cho "Whoa..." + + show cho_strip_personal_t3_e3_lying tonks_eyes_open_look_at_cho as cg + with d3 + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" + + cho "You--{w=0.2} His--" + ton "*Mmm*... I hope you're not ticklish, Miss Chang..." + cho "What do you--" + + #fade to black + play sound "sounds/08_hop_on_desk.ogg" + show screen blkfade + with d3 + + cho "Oooh!!" + ton "*slurp* *lick* *slurp*" + cho "Professor!" + + play sound "sounds/giggle2_loud.ogg" + ton "*giggles*..." + + $ states.cho.status.cumshot = True + + stop music fadeout 1.0 + show screen blkfade + with d5 + hide cg + hide cg_effects + + cho @ cheeks blush "" ("soft", "narrow", "base", "downR") + ton @ cheeks blush "" ("grin", "base", "base", "L") + + hide screen blkfade + with d5 + #Hide CG + ## Transformation Section ## + + + ton @ cheeks blush "Great job Miss Chang... I'm sure no man will be able to resist you now...{nw}" ("grin", "narrow", "base", "L") + ton @ cheeks blush "Great job Miss Chang... I'm sure no man will be able to resist you now...{fast} Wouldn't you agree, professor?" ("grin", "narrow", "base", "mid") + gen "What? Oh yes, sure! Nice job!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Thanks, [name_genie_cho]..." ("base", "narrow", "base", "down") + + if name_genie_cho in ("Sir", "Professor"): #Acceptable names that she should be using + ton @ cheeks blush hair neutral "If you ever have any questions about men, you know where my door is..." ("base", "narrow", "base", "L") + gen "Got it." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "I was referring to Miss Chang." ("soft", "narrow", "base", "mid") + gen "Oh... Yeah, me too." ("base", xpos="far_left", ypos="head") + elif name_genie_cho == "Dumbledore": + ton @ cheeks blush "Using first names already, I see..." ("soft", "base", "raised", "L") + cho @ cheeks heavy_blush "I mean, Sir!" ("angry", "base", "base", "stare") + ton @ cheeks blush "Don't worry Miss Chang, if that's what he would like you to call him, then I won't tell anyone." ("base", "wink", "base", "L") + ton @ cheeks blush "" ("base", "base", "base", "L") + cho @ cheeks heavy_blush "*Ehm*... Thank you, Professor." ("disgust", "narrow", "base", "down") + elif name_genie_cho == "Coach": + ton @ cheeks blush "So you do call him coach!" ("grin", "narrow", "shocked", "L") + cho @ cheeks heavy_blush "Oh, *Ehm*... Well..." ("angry", "narrow", "base", "L") + ton @ cheeks blush "Well, seeing that he's helping you, it's only appropriate." ("base", "narrow", "base", "L") + gen "That's what I said." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("base", "narrow", "base", "down") + else: + gen "*Cough*..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I mean--{w=0.2} Thank you, Sir..." ("angry", "base", "base", "mid") + ton @ cheeks blush "*chuckles* So, this is what he has you call him... Well, nothing wrong with that..." ("soft", "base", "base", "mid") + cho @ cheeks heavy_blush "..." ("base", "narrow", "base", "down") + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + + if _temp_facial: + cho @ cheeks blush "*Ehm*...{w=0.4} Professor..." ("soft", "narrow", "base", "L") + ton @ cheeks blush "Yes, Miss Chang?" ("base", "narrow", "raised", "L") + cho @ cheeks heavy_blush "What did you mean when you said...{w=0.4} Repay him with my body?" ("open", "narrow", "base", "L") + ton @ cheeks blush "*Hmm*?" ("base", "base", "raised", "mid") + ton @ cheeks blush "You're selling favours to Professor Dumbledore, are you not?" ("base", "narrow", "base", "L") + cho @ cheeks heavy_blush "I--{w=0.2} Yes, but that's not--{w=0.2} I mean...{w=0.2} They're meant to help me with Quidditch, I swear!" ("mad", "narrow", "base", "L") + else: + ton @ cheeks blush "*Mmm*... Your coach is very lucky to have the opportunity to buy favours from you." ("base", "base", "base", "mid") + cho @ cheeks heavy_blush "He's--{w=0.2} They're meant to help me with Quidditch, I swear!" ("mad", "narrow", "base", "L") + + play sound "sounds/giggle2_loud.ogg" + ton @ cheeks blush "*giggles*" ("crooked_smile", "closed", "base", "mid") + + ton @ cheeks blush "Your reasons for selling favours does not concern me, Miss Chang..." ("base", "narrow", "base", "L") + cho @ cheeks blush "Oh..." ("disgust", "narrow", "base", "down") + ton @ cheeks blush "As long as both ends of the bargain is met at a satisfactory level." ("soft", "narrow", "base", "mid") + ton @ cheeks blush "They are, I presume?" ("normal", "narrow", "raised", "L") + cho @ cheeks blush "Yes..." ("angry", "narrow", "base", "down") + gen "I mean..." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "Then that is everything I need to know." ("grin", "closed", "base", "mid") + ton @ cheeks blush "Now... If that's everything... I think I'll better be off." ("soft", "base", "base", "R") + cho @ cheeks blush "Oh... Okay then!" ("angry", "narrow", "base", "L") + gen "*Ahem*... Miss Chang." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes, professor?" ("angry", "base", "base", "mid") + gen "I think this would be the perfect time to ask Professor Tonks your question." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "W-what...{w=0.4} Oh, yes!" ("soft", "base", "raised", "mid") + ton @ hair horny "*Hmm*?" ("base", "base", "raised", "L") + cho @ cheeks blush "Professor Dumbledore told me about how you helped me during the Slytherin game." ("open", "base", "base", "L") + ton @ hair neutral "What? You told her I'm a Metamorphmagi?" ("mad", "wide", "shocked", "mid") + cho @ cheeks blush "You are?!?" ("open", "wide", "raised", "L") + cho @ cheeks heavy_blush "That's so cool!" ("grin", "happyCl", "base", "mid") + ton @ cheeks heavy_blush hair horny "Did I just spoil the surprise myself?{w=0.5} Whoopsie!" ("mad", "narrow", "worried", "downR") + gen "Well... I didn't exactly tell her that much." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush hair horny "Well, what's done is done..." ("upset", "narrow", "worried", "downR") + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + + gen "Show the girl your \"meta thing\" already!" ("grin", xpos="far_left", ypos="head") + ton "My \"metamorphmagi\" ability." ("soft", "narrow", "base", "mid") + cho @ cheeks blush "So, is this what you showed us in class before, professor?" ("crooked_smile", "base", "base", "mid") + cho @ cheeks blush "You were changing your nose into that of a pig, and then a duck, and then--" ("silly", "happyCl", "base", "mid") + ton "Yes... Well, that's usually about as much as I show people." ("crooked_smile", "narrow", "raised", "L") + ton "Most aren't aware of what else I can do. It's far more beneficial to me if people are unaware..." ("grin", "narrow", "shocked", "mid") + ton "You see, I can do far more than just change my nose, or the colour of my hair..." ("soft", "narrow", "raised", "L") + cho @ cheeks blush "Wicked!... What else can you do?" ("grin", "base", "base", "L") + gen "How about a busty, stuck-up Gryffindor slut!" ("grin", xpos="far_left", ypos="head") + ton "Gladly." ("grin", "narrow", "base", "mid") + stop music + pause .8 + + # Transforms into Hermione + play sound "sounds/magic4.ogg" + hide tonks_main + $ hermione.strip("clothes") + $ cho_chibi.zorder = 3 # Reset to default. + $ hermione_chibi.zorder = 2 # behind Cho. Default is 3. + call ton_chibi("hide") + call her_chibi("stand", 370, 360, flip=False) + her "" ("crooked_smile", "narrow", "base", "mid", xpos=345, ypos="base", flip=False, trans=morph) + pause .2 + + cho @ cheeks heavy_blush "" ("open", "wide", "raised", "L") + call ctc + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + cho @ cheeks heavy_blush "{b}Holy shit!{/b}" ("open", "wide", "raised", "L") + gen "Watch your language, girl..." ("base", xpos="far_left", ypos="head") + her "" ("soft", "narrow", "angry", "L") + ton "Yes. Watch your foul mouth, Chang!" + cho @ cheeks heavy_blush "I-I'm sorry..." ("clench", "happyCl", "worried", "mid") + gen "I'm just kidding... Swear as much as you want -- It's not going to bring up the age-ratings..." ("base", xpos="far_left", ypos="head") + her "" ("annoyed", "narrow", "base", "down") + ton "*Hmm*..." + her "" ("soft", "narrow", "annoyed", "down") + ton "I forgot Miss Granger is a bit heavier in the bosom area than I'm used to..." + her "" ("grin", "narrow", "angry", "L") + ton "What do you think, Miss Chang... Do they look that much larger than my own?" + cho @ cheeks heavy_blush "I..." ("clench", "narrow", "worried", "down") + cho @ cheeks heavy_blush "I'm sorry, this is so weird!" ("open", "happyCl", "worried", "mid") + her "" ("grin", "narrow", "base", "down") + ton "*Hmm*? I thought you'd like them..." + her "" ("crooked_smile", "narrow", "angry", "L") + ton "I've heard rumours that you're quite fond of these tits, Miss Chang." + cho @ cheeks heavy_blush "Sorry! It's not that... It's just... you look exactly like her!" ("disgust", "narrow", "worried", "down") + cho @ cheeks heavy_blush "You even sound like her!" ("soft", "narrow", "worried", "L") + + $ hermione.get_equipped("hair").set_color([[255, 87, 171, 255], [255, 210, 227, 255], [230, 141, 32, 255]]) + # Original: [[255, 105, 180, 255], [251, 205, 222, 255], [230, 141, 32, 255]] + # Brown: [[152, 89, 48, 255], [195, 137, 89, 255], [230, 141, 32, 255]] + her @ cheeks blush "" ("crooked_smile", "happyCl", "base", "mid") + play sound "sounds/giggle2_loud.ogg" + ton "*giggles*..." + + $ hermione.get_equipped("hair").set_color([[152, 89, 48, 255], [195, 137, 89, 255], [230, 141, 32, 255]]) + her "" ("base", "narrow", "base", "R") + ton "Naturally... That's the intended effect." + cho @ cheeks heavy_blush "If I didn't know any better, I'd think you were her!" ("horny", "narrow", "raised", "down") + her "" ("crooked_smile", "closed", "angry", "mid") + ton "*Mhmm*... Last time I looked like this in front of you, you couldn't tell either." + cho @ cheeks heavy_blush "What?! When was that?" ("soft", "base", "worried", "L") + gen "Right after the last game, if I recall correctly." ("base", xpos="far_left", ypos="head") + her "" ("base", "narrow", "base", "mid") + ton "Oh, that wasn't the only time, Professor." + gen "It wasn't?" ("base", xpos="far_left", ypos="head") + her "" ("grin", "narrow", "base", "mid") + ton "I sometimes stroll around the school grounds, disguised as one of the girls... Wearing nothing but a school robe..." + + if states.her.status.public_stripping: + her "" ("crooked_smile", "narrow", "base", "down") + ton "And If you ever had a boy say he got some tits flashed at him by Miss Granger... Then it was most likely me." + cho @ cheeks blush "That's awesome!" ("grin", "base", "base", "L") + gen "Well, I did tell Hermione to do it herself before." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "" ("open", "wide", "base", "stare") + ton "Seriously? I had no idea!" + cho @ cheeks blush "Me neither!" ("soft", "wide", "raised", "mid") + her "" ("base", "narrow", "base", "down") + ton "I guess that's one less thing to worry about while I do it..." + + cho @ cheeks blush "I hope you didn't do that kind of stuff while you looked like me, Professor!" ("open", "narrow", "angry", "L") + her "" ("annoyed", "base", "base", "R") + ton "*Ehm*..." + cho @ cheeks blush "If I find out you've shown some boys my breasts, then--" ("open", "closed", "angry", "mid") + her @ cheeks blush "" ("smile", "happyCl", "worried", "mid") + ton "Of course not, sweetie." + cho @ cheeks blush "..." ("annoyed", "narrow", "angry", "L") + her @ cheeks blush "" ("grin", "base", "base", "R") # small text + ton "It was your ass that I showed them..." + cho @ cheeks heavy_blush "W-What?!" ("clench", "wide", "angry", "L") + gen "*He-he-he-he*!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "" ("clench", "base", "angry", "L") + her "" ("soft", "closed", "base", "mid") + ton "It's not like you haven't done that yourself already..." + her "" ("base", "narrow", "base", "L") + ton "In front of the entire school, no less..." + cho @ cheeks heavy_blush "..." ("annoyed", "narrow", "angry", "L") # blush + her "" ("open", "closed", "base", "mid") + ton "Well, that's enough fun for today." + + # Tonks transforms back. + play sound "sounds/magic4.ogg" + hide hermione_main + call her_chibi("hide") + $ cho_chibi.zorder = 3 # Reset to default. + $ tonks_chibi.zorder = 2 # behind Cho. Default is 3. + call ton_chibi("stand", 370, 360, flip=False) + ton @ hair neutral "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False, trans=morph) + pause .2 + + cho @ cheeks heavy_blush "" ("clench", "base", "raised", "down") + call ctc + + ton @ hair horny "Let's do this again some other time, shall we." ("horny", "narrow", "raised", "mid") + gen "Gladly." ("grin", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair horny "And, Miss Chang... if you ever want to have some quiet time with Miss Granger... my office door is always open." ("grin", "narrow", "base", "L") + cho @ cheeks heavy_blush "I-- *Ehm*..." ("soft", "narrow", "worried", "downR") # super embarrassed + gen "Maybe you could wait with that until Quidditch is over." ("base", xpos="far_left", ypos="head") + gen "She has to stay focused, you know..." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("disgust", "narrow", "worried", "down") + ton @ hair horny "*Sigh*... Alright..." ("open", "closed", "shocked", "mid") + + # Fade to black. + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + + # The girls get dressed and wait at the door. + $ cho.wear("all") + $ tonks.wear("all") + $ hermione.wear("all") + + # Reset zorder. + $ cho.zorder = 15 # reset to default. + $ tonks.zorder = 15 # reset to default. + $ hermione.zorder = 15 # reset to default. + $ cho_chibi.zorder = 3 # reset to default. + $ tonks_chibi.zorder = 3 # reset to default. + $ hermione_chibi.zorder = 3 # reset to default. + hide screen cho_cloth_pile + + call cho_chibi("stand", 690, "base", flip=False) + call ton_chibi("stand", "door", "base", flip=False) + + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + stop music fadeout 1 + hide screen blkfade + with d5 + pause .5 + + gen "And Tonks... Next time we do this, wear the clothes I usually ask you to wear around my office." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "With pleasure." ("base", "narrow", "base", "mid", ypos="head", flip=False) + + if game.daytime: + ton @ hair horny "I'll escort you back to classes, Miss Chang." ("open", "narrow", "base", "L") + ton @ hair horny "Have a good day, Professor." ("base", "narrow", "base", "mid") + else: + ton @ hair horny "I'll escort you back to your dormitories, Miss Chang." ("open", "narrow", "base", "L") + ton @ hair horny "Have a good night, Professor." ("base", "narrow", "base", "mid") + + gen "Until next time." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("upset", "happyCl", "worried", "mid", ypos="head", flip=False) + call bld("hide") + pause .1 + + # They both leave. + call cho_chibi(flip=True) + pause .3 + call ton_chibi(flip=True) + with d3 + pause .2 + + play sound "sounds/door.ogg" + hide screen cho_chibi + hide screen tonks_chibi + with d3 + pause .5 + + + # Reset clothing. + #$ cho.equip(cho_outfit_last) + $ tonks.equip(ton_outfit_last) + $ hermione.equip(her_outfit_last) + + $ states.ton.busy = True + $ states.cho.status.dick_seen = True + $ states.cho.ev.inspect_her_body.T3_E3_complete = True + + # End event. + jump end_cho_strip_event + +label cc_pf_strip_T3_repeat: + + call cc_pf_strip + + gen "I'm in the mood for another strip-show, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho "Of course you are, [name_genie_cho]." ("base", "narrow", "raised", "mid") + cho "Who's going to watch me this time?" ("soft", "narrow", "base", "mid") + gen "*Hmm*... how about--" ("base", xpos="far_left", ypos="head") + + menu: + #"\"Miss Granger\"": + # jump cc_pf_strip_T3_hermione + + "\"Miss Tonks\"": + cho "Alright then..." ("grin", "narrow", "base", "mid") + jump cc_pf_strip_T3_tonks diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier3_tonks.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3_tonks.rpy new file mode 100644 index 00000000..b3b6a0a7 --- /dev/null +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier3_tonks.rpy @@ -0,0 +1,1453 @@ + +## Tier 3 - Summon Tonks ## + +label cc_pf_strip_T3_tonks: + + # Setup + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + pause 1 + + $ name_cho_tonks = renpy.random.choice( ("Sweetie", "babe", "Honey") ) + # All character's clothes get saved in case we need to change any. + # Cho and Tonks won't change their clothes. + + $ cho_outfit_last.save() # Store current outfit. + $ ton_outfit_last.save() # Store current outfit. + $ her_outfit_last.save() # Store current outfit. + + #$ cho.equip(cho_outfit_default) + #$ tonks.equip(ton_outfit_default) + $ hermione.equip(her_outfit_default) + + call cho_chibi("stand", "desk", "base", flip=False) + + hide screen blkfade + cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=fade) + + # Intro + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False and states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # First time only. + gen "About your teacher, Professor Tonks..." ("base", xpos="far_left", ypos="head") + gen "That ability she has, it's quite... interesting, don't you think?" ("base", xpos="far_left", ypos="head") + cho "It is! And exceptionally rare as well!" ("grin", "happyCl", "base", "mid") + cho "I only ever heard about this type of transfiguration ability once -- during one of Professor McGonagall's lessons..." ("open", "base", "raised", "mid") + cho "She seemed kind of annoyed by the fact that there are people with natural abilities to change their appearance like that." ("annoyed", "base", "base", "R") + gen "Well, not everyone can be as naturally handsome as me." ("grin", xpos="far_left", ypos="head") + cho "That... is not what I meant." ("open", "closed", "angry", "mid") + gen "I wonder if she's the only person here who has this \"Metamorphic\" ability..." ("base", xpos="far_left", ypos="head") + cho "I hope so..." ("annoyed", "base", "base", "mid") + gen "You do?" ("base", xpos="far_left", ypos="head") + cho "You've seen the kind of thing she uses her ability for, haven't you?" ("open", "narrow", "base", "mid") + cho "Surely when you decided to tell me her secret -- you considered what could happen if I told the other students about it?" ("open", "closed", "base", "mid") + gen "I...{w=0.2} Of course!" ("angry", xpos="far_left", ypos="head") + cho "Don't worry, I won't tell anyone..." ("open", "narrow", "base", "mid") + cho "Though I'd suggest keeping it a secret from Granger at all cost!" ("mad", "narrow", "angry", "mid") + cho "I'm confident she'd come up with some annoying rule to try and keep her teacher in check..." ("annoyed", "narrow", "angry", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + cho "Well, I'm glad to know that you trust me with something like this, [name_genie_cho]." ("smile", "happyCl", "base", "mid") + cho "It'd be quite difficult for her to pretend to be someone else, if everybody knew about it." ("annoyed", "base", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + cho "I sure am glad there isn't another student with her abilities..." ("annoyed", "narrow", "base", "R") + gen "*Ha-ha*, yeah..." ("grin", xpos="far_left", ypos="head") + gen "Another student -- preferably female -- with her abilities...{w=0.5} That would be horrible..." ("base", xpos="far_left", ypos="head") + gen "(Not...)" ("grin", xpos="far_left", ypos="head") + cho "Yes... If they somehow found out about Tonks, she'd surely receive all the blame." ("angry", "narrow", "raised", "mid") + gen "..." ("angry", xpos="far_left", ypos="head") + cho "..." ("annoyed", "narrow", "base", "mid") + gen "Let's just call her up here for now..." ("base", xpos="far_left", ypos="head") + gen "I'm sure she'll make it well worth it for you to continue keeping her secret safe." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes, [name_genie_cho]..." ("smile", "narrow", "base", "mid") #glancing away #blush + + # Repeat + else: + gen "Let me summon her real quick." ("base", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]." ("base", "base", "base", "mid") + + stop music fadeout 1 + call hide_characters + hide screen bld1 + with d3 + pause .2 + + # You summon Tonks. + call cho_chibi("stand", "desk", "base", flip=True) + with d3 + pause .8 + + # Tonks enters. + play sound "sounds/door.ogg" + call ton_chibi("stand", "door", "base") + with d3 + pause .5 + + # Tonks walks next to Cho. + call ton_walk(540, "base") + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + cho @ cheeks blush "" ("base", "narrow", "worried", "L", xpos="left", ypos="base", flip=True) + ton "Hello, Professor." ("soft", "narrow", "base", "mid", xpos="right", ypos="base", flip=False) + ton "Miss Chang." ("base", "narrow", "raised", "L") + + # Intro + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False and states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # First time only. + gen "Didn't fancy taking the fireplace this time?" ("base", xpos="far_left", ypos="head") + ton "Not today... I only use floo powder when I'm in a hurry." ("open", "base", "base", "mid") + + + ## Tonks and Cho strip for you ## + ton "So...{w=0.3} What do you have planned for us today, Professor?" ("base", "narrow", "base", "mid") + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + gen "Why don't you tell her what we're doing, Miss Chang?" ("grin", xpos="far_left", ypos="head") + cho "You want me to--" ("open", "narrow", "base", "mid") + gen "Don't see why not..." ("grin", xpos="far_left", ypos="head") + cho "Of course, Sir." ("soft", "narrow", "base", "downR") + + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False and states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: # First time only. + cho @ cheeks blush "..." ("annoyed", "narrow", "worried", "down") # Embarrassed look down. + cho @ cheeks blush "The headmaster wanted to see us strip for him again..." ("open", "narrow", "worried", "L") + if cho.is_worn("robe") or ( cho.is_worn("top") and cho.is_worn("bottom") ): + pass + else: # Cho is in her underwear or naked. + gen "Well... A bit of a show should do, seeing what your current state of undress is like..." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "You're the one that requested it..." ("annoyed", "narrow", "angry", "down") # small text + + if tonks.is_worn("robe") or ( tonks.is_worn("top") and tonks.is_worn("bottom") ): + pass + else: #Tonks is in her underwear or naked. + ton @ hair horny "*Hmm*...{w=0.3} Who needs clothing anyway?" ("horny", "narrow", "base", "L") + ton @ hair horny "But I'll give you a show if that's what you want...{heart}" ("horny", "narrow", "base", "mid") + gen "..." ("grin", xpos="far_left", ypos="head") + + else: # repeat + cho @ cheeks blush "The headmaster wants us to strip for him again." ("base", "narrow", "base", "mid") + ton @ hair horny "Does he now?" ("horny", "narrow", "base", "L") + if cho.is_worn("robe") or ( cho.is_worn("top") and cho.is_worn("bottom") ): + pass + else: + gen "Well, since you're not wearing much... I'd at least like a show..." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Very well..." ("annoyed", "narrow", "angry", "down") # small text + + if tonks.is_worn("robe") or ( tonks.is_worn("top") and tonks.is_worn("bottom") ): + pass + else: #Tonks in in her underwear or naked. + ton @ hair horny "Stripping's out of the question for me that's for sure..." ("horny", "narrow", "base", "L") + ton @ hair horny "But I'll give you a good view at the very least...{heart}" ("horny", "narrow", "base", "mid") + + ton @ hair horny "Well, in that case we shouldn't keep him waiting, should we?" ("horny", "narrow", "base", "L") + ton @ hair horny "After you, [name_cho_tonks]." ("horny", "narrow", "base", "L") + stop music fadeout 1 + + # Cho and Tonks hop onto the desk. + call hide_characters + hide screen bld1 + with d3 + pause .2 + + call cho_chibi(flip=False) + with d3 + pause .1 + + show screen blkfade + with d5 + + + # Tonks chibi on desk next to Cho's. # Tonks is facing left + call cho_chibi("stand", 314, 366, flip=True) + call ton_chibi("stand", 370, 360, flip=False) + + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + hide screen blkfade + with d5 + pause .8 + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + $ cho.zorder = 16 # in front of Tonks # Default is 15. + $ tonks.zorder = 15 # reset to default. + cho @ cheeks heavy_blush "" ("base", "narrow", "base", "L", xpos=280, ypos="base", flip=True) + ton @ hair horny "..." ("base", "narrow", "raised", "L", xpos=345, ypos="base") + + ton @ hair horny "This feels quite familiar, doesn't it, Miss Chang?" ("crooked_smile", "narrow", "raised", "L") + cho @ cheeks blush "..." ("horny", "narrow", "base", "mid") + ton @ hair horny "Let's not waste any more time..." ("horny", "narrow", "base", "L") + + ton @ hair horny "Who of us would you like to start, Professor?" ("base", "narrow", "base", "mid") + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + + menu: + "\"Miss Chang will go first.\"": + cho @ cheeks blush "..." ("horny", "narrow", "base", "down") + $ cho_position = 1 # Cho's current positon is in the middle. + + jump cc_pf_strip_T3_tonks.strip_cho + + "\"You go first, Miss Tonks!\"": + ton @ hair horny "*Hmm*..." ("base", "narrow", "base", "L") + ton @ hair horny "Saving the best for last, are we?" ("base", "narrow", "raised", "mid") + cho @ cheeks blush "..." ("horny", "narrow", "base", "downR") + $ cho_position = 1 # Cho's current position is in the middle. + + jump cc_pf_strip_T3_tonks.strip_tonks + + #"\"How about Miss Granger?\"" if states.cho.ev.inspect_her_body.tonks_doppler_encounter == True and states.cho.ev.inspect_her_body.tonks_succubus_encounter == True: + #jump cc_pf_strip_T3_tonks.strip_hermione + + + +## Cho Strips ## +label .strip_cho: + + # Check their positions. If Cho stands to the right, she'll get moved to the middle. + if cho_position == 2: # to the right. + ton @ hair horny "Move between us, Cho." ("soft", "narrow", "shocked", "L") + ton @ hair horny "That way the headmaster can see you better." ("base", "narrow", "base", "mid") + cho @ cheeks blush "Yes, Professor." ("smile", "narrow", "base", "L") + call hide_characters + hide screen bld1 + with d5 + pause .2 + + # Cho stands in the middle, between Genie and Tonks. + $ cho_position = 1 # middle. + $ cho.zorder = 16 # in front of Tonks # Default is 15. + $ tonks.zorder = 15 # reset to default. + call cho_chibi("stand", 314, 366, flip=True) + call ton_chibi("stand", 370, 360, flip=False) + cho @ cheeks blush "" ("base", "narrow", "base", "mid", xpos=280, ypos="base", flip=True) + ton @ hair horny "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False) + with d5 + call ctc + + + # Cho is wearing at least one clothing piece: + if cho.is_any_worn("robe", "top", "bottom", "bra", "panties"): + pass + else: # Cho is already naked. + ton @ hair horny "Well, since you're not really wearing much already..." ("soft", "narrow", "base", "L") + ton @ hair horny "There isn't that much more for me to help her take off, is there?" ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "..." ("base", "narrow", "base", "downR") + pause .2 + $ cho.strip("clothes") + with d3 + + call cc_pf_strip_T3_tonks.spank_cho + + jump cc_pf_strip_T3_tonks.strip_check # label checks if both are nude. + + # Remove Top and Bottom. + if cho.is_any_worn("robe", "top", "bottom"): + ton @ hair horny "Let me help you get out of these clothes, Miss Chang." ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "Yes, Professor." ("base", "narrow", "base", "down") + ton @ hair horny "" ("base", "narrow", "base", "down", xpos=300, ypos="base", flip=False, trans=d5) # moves closer to Cho. + pause .2 + + if cho.is_worn("robe"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("robe") + with d3 + pause .5 + cho @ cheeks blush "" ("horny", "narrow", "raised", "down") + call ctc + if cho.is_worn("top"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("top") + with d3 + pause .5 + cho @ cheeks blush "" ("horny", "narrow", "raised", "mid") + pause .8 + nar "Tonks swiftly pulls the girl's top over her chiselled frame." + pause .2 + if cho.is_worn("bottom"): + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bottom") + with d3 + pause .5 + cho @ cheeks blush "" ("horny", "narrow", "base", "down") + pause .8 + nar "A quick tug by her teacher, and Cho's bottoms slips down her muscular thighs." + call ctc + + # Remove Bra and Panties. + if cho.is_any_worn("bra", "panties"): + ton @ hair horny "I like your underwear Miss Chang... Very cute!" ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "" ("horny", "narrow", "base", "downR") + ton @ hair horny "" ("soft", "narrow", "base", "L", xpos=300, ypos="base", flip=False, trans=d5) # moves closer to Cho. + + if cho.is_worn("bra"): + ton @ hair horny "But...{w=0.3} That bra definitely has to come off." ("soft", "narrow", "angry", "down") + pause .5 + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("bra") + with d3 + pause .5 + cho @ cheeks blush "" ("base", "narrow", "raised", "L") + pause .8 + nar "Tonks effortlessly removes the bra of her student." + pause .2 + if cho.is_worn("panties"): + cho @ cheeks blush "..." ("mad", "narrow", "base", "down") + ton @ hair horny "Wearing panties is so silly, let's take those off... {heart}" ("crooked_smile", "narrow", "angry", "down") + pause .5 + play sound "sounds/cloth_sound3.ogg" + $ cho.strip("panties") + with d3 + pause .5 + cho @ cheeks heavy_blush "" ("horny", "narrow", "base", "down") + pause .8 + nar "Eyes fixated onto Cho's lovely Snitch, Tonks slowly pulls the girl's panties down her thighs." + pause .2 + + + # Remove all Cho clothes. + $ cho.strip("clothes") + with d3 + cho @ cheeks heavy_blush "" ("base", "narrow", "base", "mid") + call ctc + + ton @ hair horny "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False) # Tonks moves to her original position. + with d5 + + random: + block: + ton @ hair horny "Look at all these muscles!" ("horny", "narrow", "raised", "down") + ton @ hair horny "I mean... I could easily get some muscles as well, but not without cheating..." ("open", "closed", "base", "mid") + ton @ hair horny "I'm quite impressed, Miss Chang." ("base", "narrow", "base", "L") + cho @ cheeks blush "Thank you." ("soft", "narrow", "base", "L") + block: + ton @ hair horny "You look quite tasty, Miss Chang." ("horny", "narrow", "raised", "down") + cho @ cheeks heavy_blush "*Ehm*..." ("clench", "narrow", "worried", "down") + cho @ cheeks heavy_blush "Thanks?" ("soft", "narrow", "worried", "L") + block: + ton @ hair horny "Looks like we're done here, Professor." ("horny", "narrow", "raised", "mid") + gen "Excellent!" ("base", xpos="far_left", ypos="head") + gen "I do love watching you two." ("grin", xpos="far_left", ypos="head") + + call cc_pf_strip_T3_tonks.spank_cho + + jump cc_pf_strip_T3_tonks.strip_check + + +## Spank Cho ## +label .spank_cho: + # Cho should stand next to Genie for this. + menu: + gen "(...)" ("base", xpos="far_left", ypos="head") + "-Spank her!-": + pass + "-Don't spank her...-": + return + + call slap_her + ton @ hair horny "" ("crooked_smile", "narrow", "raised", "L") + cho @ cheeks heavy_blush "!!!" ("clench", "wide", "base", "mid") # shocked + cho @ cheeks heavy_blush "Ouch... Professor!" ("silly", "happyCl", "worried", "mid") + play sound "sounds/giggle2_loud.ogg" + ton @ cheeks blush hair horny "*Giggles*... {heart}{heart}{heart}" ("silly", "happyCl", "base", "mid") + ton @ hair horny "..." ("base", "narrow", "base", "mid") + + menu: + gen "(...)" ("base", xpos="far_left", ypos="head") + "-Spank her again!-": + call slap_her + ton @ hair horny "" ("crooked_smile", "narrow", "base", "mid") + cho @ cheeks heavy_blush "Professor!" ("clench", "wide", "raised", "mid") + gen "What? I know you like it." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "I do not..." ("annoyed", "narrow", "angry", "mid") + + menu: + "-Again!-": + pass + call slap_her + cho @ cheeks heavy_blush "Sir!" ("clench", "wide", "base", "mid") + gen "I need to get these cushions ready for your next flight!" ("grin", xpos="far_left", ypos="head") + gen "Spank them tender, so you're more comfortable on your broom-stick!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "I don't think that will be necessary." ("open", "happyCl", "angry", "mid") + + menu: + "-Slap it hard!-": + pass + call slap_her + cho @ cheeks heavy_blush "" ("clench", "wide", "raised", "mid") + ton @ cheeks blush hair horny "" ("grin", "narrow", "base", "mid") + pause .5 + call slap_her + pause .3 + call slap_her + pause .3 + call slap_her + cho @ cheeks heavy_blush "*Owww*..." ("clench", "happyCl", "worried", "mid") + cho @ cheeks blush "That's enough..." ("annoyed", "narrow", "angry", "mid") + gen "You'd probably enjoy it more if your teacher were to spank you, wouldn't you?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("annoyed", "narrow", "base", "L") + ton @ hair horny "" ("base", "narrow", "base", "L") + cho @ cheeks heavy_blush "*Ehm*..." ("annoyed", "narrow", "raised", "mid") + play sound "sounds/giggle2_loud.ogg" + ton @ cheeks heavy_blush hair horny "*Giggles*... {heart}{heart}{heart}" ("base", "happyCl", "base", "mid") + ton @ hair horny "I won't be gentle on you either, Miss Chang." ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "worried", "down") + + return + + "-Ask Tonks to spank her.-": + gen "Miss Tonks, If you may..." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "With pleasure!" ("grin", "narrow", "angry", "mid") + cho @ cheeks heavy_blush "But-- Professor Tonks!" ("clench", "base", "worried", "L") + ton @ hair horny "Don't worry, [name_cho_tonks]. You'll learn to love it! {heart}" ("horny", "narrow", "base", "L") + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "mid") + ton @ hair horny "Now, turn around for me, please." ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "..." ("clench", "narrow", "worried", "down") + pause .2 + + # Cho turns around. + call cho_chibi("stand", 325, 366, flip=False) + call ton_chibi("stand", 360, 360, flip=False) + ton @ hair horny "" ("base", "narrow", "base", "down", xpos=325, ypos="base", flip=False) + cho @ cheeks blush "" ("disgust", "narrow", "worried", "down", xpos=235, ypos="base", flip=False, trans=d5) + pause .5 + + call slap_her + cho @ cheeks blush "" ("normal", "happyCl", "worried", "mid") + ton @ hair horny "Such a firm ass you have, Miss Chang!" ("horny", "narrow", "raised", "down") + cho @ cheeks blush "" ("mad", "narrow", "worried", "downR") + call ctc + + gen "..." ("base", xpos="far_left", ypos="head") + ton @ hair horny "Lovely indeed... {heart}" ("grin", "narrow", "base", "down") + gen ".........." ("base", xpos="far_left", ypos="head") + gen "I don't hear any spanking." ("base", xpos="far_left", ypos="head") + ton @ hair horny "Don't worry, Sir. I'll get to that eventually... {heart}" ("open", "narrow", "annoyed", "mid") + gen "Building up the suspense are--" ("base", xpos="far_left", ypos="head") + call slap_her + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "downR") + ton @ hair horny "You should get a good feel of it first, before you--" ("crooked_smile", "narrow", "annoyed", "down") + call slap_her + cho @ cheeks heavy_blush "" ("mad", "wide", "base", "mid") + ton @ hair angry "" ("horny", "narrow", "angry", "down") + pause .6 + call slap_her + pause .3 + call slap_her + pause .4 + ton @ hair horny "" ("horny", "narrow", "angry", "down") + cho @ cheeks heavy_blush "Please!" ("clench", "happyCl", "base", "mid") + ton @ hair horny "What's wrong, Miss Chang?" ("open", "narrow", "angry", "mid") + ton @ hair horny "You never get this flustered when you get hit by a bludger..." ("open", "narrow", "angry", "down") + call slap_her + ton @ hair horny "Surely a bit of a spanking isn't enough for you to..." ("horny", "narrow", "base", "mid") + cho @ cheeks blush "..." ("clench", "narrow", "worried", "down") + ton @ hair horny "Ask me nicely, and I'll do it again, [name_cho_tonks]." ("crooked_smile", "narrow", "base", "mid") + gen "Go on, Cho... Ask your teacher to spank you." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("disgust", "narrow", "worried", "downR") + cho @ cheeks heavy_blush "Please spank me again, Professor." ("soft", "narrow", "worried", "R") + ton @ hair horny "Of course sweetie...{w=0.4} Since you're asking so nicely." ("base", "narrow", "base", "L") + ton @ hair horny "" ("base", "narrow", "base", "down") + call slap_her + cho @ cheeks heavy_blush "" ("angry", "narrow", "worried", "up") + pause .5 + call slap_her + pause .4 + call slap_her + cho @ cheeks heavy_blush "" ("horny", "happyCl", "worried", "mid") + call ctc + + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "R") + ton @ hair horny "*Hmm*..." ("annoyed", "narrow", "shocked", "down") + ton @ hair horny "A well-behaved girl like you should be rewarded. {heart}" ("crooked_smile", "narrow", "raised", "L") + ton @ hair horny "Ten points for Ravenclaw, Miss Chang." ("soft", "narrow", "base", "L") + $ ravenclaw += 10 + cho @ cheeks heavy_blush "Thank you I guess--" ("crooked_smile", "narrow", "worried", "R") + ton @ hair horny "" ("horny", "narrow", "angry", "down") + call slap_her + cho @ cheeks heavy_blush "!!!" ("clench", "wide", "base", "mid") + cho @ cheeks heavy_blush "Ouch..." ("horny", "narrow", "worried", "R") + pause .2 + + # Cho turns around. + call cho_chibi("stand", 314, 366, flip=True) + call ton_chibi("stand", 370, 360, flip=False) + ton @ hair horny "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False) + cho @ cheeks blush "" ("annoyed", "narrow", "base", "mid", xpos=280, ypos="base", flip=True, trans=d5) + pause .8 + + return + + return + + + +## Tonks Strips ## +label .strip_tonks: + + # Check their positions. If Tonks stands to the right, she'll get moved to the middle. + if cho_position == 1: # middle. + ton @ hair horny "Cho, would you mind if I stood between you two?" ("open", "narrow", "base", "L") + ton @ hair horny "I'd like to give the headmaster a better view of my body." ("base", "narrow", "base", "mid") + cho @ cheeks blush "Not at all, Professor." ("smile", "narrow", "base", "L") + ton @ hair horny "Thank you, [name_cho_tonks]." ("soft", "narrow", "shocked", "L") + call hide_characters + hide screen bld1 + with d5 + pause .2 + + # Tonks stands in the middle, between Genie and Cho. + $ cho_position = 2 # to the right. + $ tonks_chibi.zorder = 2 # default is 3 + $ cho.zorder = 15 # reset to default. + $ tonks.zorder = 16 # in front of Cho # Default is 15. + call cho_chibi("stand", 370, 360, flip=False) + call ton_chibi("stand", 320, 360, flip=True) + with d3 + pause .5 + + cho @ cheeks blush "" ("base", "narrow", "base", "mid", xpos=315, ypos="base", flip=False) + ton @ hair horny "" ("base", "narrow", "base", "mid", xpos=280, ypos="base", flip=True) + with d5 + call ctc + + + # Tonks is wearing at least one clothing piece: + if tonks.is_worn("robe") or tonks.is_worn("top") or tonks.is_worn("bottom") or tonks.is_worn("bra") or tonks.is_worn("panties"): + cho @ cheeks blush "..." ("horny", "narrow", "base", "L") + if tonks.is_worn("top"): + ton @ hair horny "You don't mind if Miss Chang helps me undress, do you, Professor?" ("horny", "wink", "base", "mid") + gen "Of course not!" ("grin", xpos="far_left", ypos="head") + else: + ton @ hair horny "Just enjoy the show, Professor..." ("horny", "wink", "base", "mid") + pass + else: # Tonks is already naked. + ton @ hair horny "Professor... It seems like I'm not wearing much..." ("soft", "narrow", "base", "L") + ton @ hair horny "How shameful of me... Am I to get detention now?" ("horny", "narrow", "base", "mid") + gen "Damn right you are!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("base", "narrow", "base", "downR") + pause .2 + $ tonks.strip("clothes") + with d3 + + call cc_pf_strip_T3_tonks.spank_tonks + + jump cc_pf_strip_T3_tonks.strip_check # label checks if both are nude. + + # Remove Top and Bottom. + if tonks.is_worn("robe") or tonks.is_worn("top") or tonks.is_worn("bottom"): + ton @ hair horny "Help me get out of these clothes, Miss Chang." ("soft", "narrow", "base", "L") + cho @ cheeks blush "Yes, Professor." ("soft", "narrow", "base", "down") + cho @ cheeks blush "" ("horny", "narrow", "base", "down", xpos=315, ypos="base", flip=False, trans=d5) # Cho moves closer to Tonks. + pause .2 + + if tonks.is_worn("robe"): + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("robe") + with d3 + pause .5 + ton @ hair horny "" ("horny", "narrow", "raised", "down") + call ctc + if tonks.is_worn("top"): + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("top") + with d3 + pause .5 + ton @ hair horny "" ("horny", "narrow", "raised", "mid") + pause .8 + nar "Cho eagerly helps her teacher take off her top." + pause .2 + if tonks.is_worn("bottom"): + ton @ hair horny "Remember... Always take your time when undressing in front of somebody." ("soft", "narrow", "base", "L") + ton @ hair horny "" ("base", "narrow", "base", "mid") + nar "Slowly, and with gracile movements, Tonks takes off her bottom piece of clothing." + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("bottom") + with hpunch + pause .5 + ton @ cheeks blush hair horny "" ("horny", "narrow", "raised", "mid") + pause .8 + nar "And then flicks it out of sight with one swift motion." + call ctc + + # Remove Bra and Panties. + if tonks.is_worn("bra") or tonks.is_worn("panties"): + ton @ hair horny "*Hmm*... It's been a while since I had to remove underwear." ("annoyed", "narrow", "base", "down") + ton @ hair horny "Help me take them off, [name_cho_tonks]." ("base", "narrow", "base", "down") + cho @ cheeks blush "Of course..." ("smile", "narrow", "base", "down") + cho @ cheeks blush "" ("horny", "narrow", "base", "down", xpos=315, ypos="base", flip=False, trans=d5) # Cho moves closer to Tonks. + + if tonks.is_worn("bra"): + ton @ hair horny "Let's get these tits out already!" ("base", "narrow", "angry", "mid") + pause .5 + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("bra") + with d3 + pause .5 + ton @ hair horny "" ("base", "narrow", "base", "mid") + pause .8 + nar "Tonks bares her impressive bosom for you both." + pause .2 + if tonks.is_worn("panties"): + ton @ hair horny "Oh my... what happened to my panties..." ("soft", "narrow", "base", "down") + ton @ hair horny "I can't believe how wet they got!" ("clench", "narrow", "shocked", "down") + pause .5 + play sound "sounds/cloth_sound3.ogg" + $ tonks.strip("panties") + with d3 + pause .5 + ton @ hair horny "" ("horny", "narrow", "angry", "mid") + pause .8 + nar "Without much hesitation, Tonks panties are swiftly flung out of sight and out of mind." + pause .2 + + # Remove all Cho clothes. + ton @ hair horny "" ("base", "narrow", "base", "mid") + $ tonks.strip("clothes") + with d3 + call ctc + + cho @ cheeks blush "" ("base", "narrow", "base", "mid", xpos=315, ypos="base", flip=False) # Cho moves to her original position. + with d5 + + random: + block: + ton @ hair horny "How immoral for a teacher to do this sort of thing in front of a student..." ("open", "closed", "annoyed", "mid") + ton @ hair horny "You aren't going to report me for my wanton behaviour, are you, Miss Chang?" ("soft", "narrow", "annoyed", "L") + cho @ cheeks heavy_blush "No. Of course not, Professor." ("base", "narrow", "base", "L") + ton @ hair horny "Good girl." ("horny", "narrow", "base", "L") + cho @ cheeks blush "..." ("angry", "narrow", "base", "down") + block: + ton @ hair horny "Are you enjoying yourself, Professor?" ("open", "narrow", "raised", "mid") + gen "With those tits in front of me? Always!" ("grin", xpos="far_left", ypos="head") + block: + ton @ hair horny "Did you like that, Professor?" ("horny", "narrow", "raised", "mid") + gen "I bloody love it!" ("grin", xpos="far_left", ypos="head") + + call cc_pf_strip_T3_tonks.spank_tonks + + jump cc_pf_strip_T3_tonks.strip_check + + +label .spank_tonks: + # Tonks should stand next to Genie for this. + menu: + gen "(...)" ("base", xpos="far_left", ypos="head") + "-Spank her!-": + pass + "-Don't spank her...-": + return + + call slap_her + ton @ cheeks heavy_blush hair scared "!!!" ("clench", "shocked", "base", "stare") # shocked + ton @ cheeks blush hair horny "*Mmm*... You're so naughty, Professor!" ("silly", "narrow", "angry", "mid") + ton @ cheeks blush hair horny "Right in front of a student and everything..." ("base", "narrow", "base", "mid") + call slap_her + ton @ cheeks blush hair horny "Ouch... {heart}{heart}{heart}" ("silly", "happyCl", "base", "mid") + cho @ cheeks blush "..." ("grin", "narrow", "base", "mid") + + menu: + gen "(...)" ("base", xpos="far_left", ypos="head") + "-Spank her again!-": + call slap_her + ton @ cheeks heavy_blush hair horny "*Mmm*... Spank me, Professor!" ("horny", "narrow", "angry", "mid") + + menu: + "-Again!-": + pass + call slap_her + ton @ cheeks heavy_blush hair horny "Not so rough, Sir! {heart}" ("soft", "narrow", "base", "mid") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "down") # blushing #lip bite #looking away + + menu: + "-Slap it hard!-": + pass + call slap_her + ton @ cheeks heavy_blush hair scared "" ("clench", "base", "shocked", "ahegao") + pause .5 + call slap_her + pause .3 + call slap_her + pause .3 + call slap_her + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "mid") + ton @ cheeks heavy_blush hair horny "*Hngh*..." ("upset", "narrow", "base", "ahegao") + ton @ cheeks heavy_blush hair horny "Thank you, Professor. {heart}{heart}{heart}" ("soft", "narrow", "worried", "mid") + gen "You're welcome." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "downR") + + return + + "-Ask Cho to spank her.-": + gen "Miss Chang, would you be so kind and slap your teacher's ass for me?" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "" ("base", "narrow", "base", "mid") + cho @ cheeks blush "Yes, Sir." ("open", "narrow", "angry", "mid") + ton @ hair horny "Do it, [name_cho_tonks]!" ("base", "narrow", "base", "L") + pause .2 + + # Tonks turns around. + call ton_chibi(flip=False) + ton @ cheeks blush hair horny "" ("base", "base", "base", "mid", xpos=215, ypos="base", flip=False, trans=d5) + pause .5 + + ton @ cheeks blush hair horny "Slap this naughty teacher's ass!" ("crooked_smile", "narrow", "angry", "R") + cho @ cheeks blush "..." ("base", "narrow", "angry", "down") + call slap_her + ton @ hair horny "Surely you can do better than that, Cho." ("soft", "narrow", "base", "downR") + cho @ cheeks blush "" ("annoyed", "narrow", "angry", "down") + call slap_her + ton @ cheeks blush hair horny "*Hngh*..." ("crooked_smile", "narrow", "base", "mid") + ton @ hair angry "Do I have to fetch a beaters bat, so you can hit it properly, Miss Chang?" ("open", "narrow", "annoyed", "downR") + ton @ hair angry "I thought I asked you to slap it harder!" ("scream", "narrow", "angry", "downR") + cho @ cheeks blush "" ("clench", "narrow", "angry", "down") + call slap_her + ton @ hair scared "" ("mad", "wide", "shocked", "stare") + pause .5 + call slap_her + pause .3 + call slap_her + pause .2 + call slap_her + ton @ cheeks heavy_blush hair horny "!!!" ("clench", "narrow", "base", "ahegao") + cho @ cheeks blush "Good enough for you, Professor?" ("open", "narrow", "angry", "L") + ton @ hair horny "*Ah*...{w=0.4} Yes, [name_cho_tonks]... I'd say that was quite--" ("open", "narrow", "worried", "R") + cho @ cheeks blush "" ("annoyed", "narrow", "angry", "down") + call slap_her + ton @ hair scared "" ("clench", "narrow", "base", "ahegao") + pause .5 + call slap_her + pause .3 + call slap_her + pause .2 + call slap_her + ton @ cheeks heavy_blush hair horny "" ("horny", "narrow", "base", "ahegao") + call ctc + + gen "That's enough." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh wow, it's really red now..." ("grin", "narrow", "base", "down") + ton @ cheeks heavy_blush hair horny "Very good, Miss Chang. {heart}" ("horny", "narrow", "worried", "R") + pause .2 + + # Tonks turns around. + call ton_chibi(flip=True) + ton @ cheeks heavy_blush hair horny "" ("base", "base", "base", "mid", xpos=280, ypos="base", flip=True, trans=dissolve) + pause .8 + + ton @ cheeks heavy_blush hair horny "Ten points for Ravenclaw." ("soft", "narrow", "base", "L") + $ ravenclaw += 10 + ton @ cheeks heavy_blush hair horny "For this thorough ass spanking!" ("horny", "narrow", "base", "mid") + cho "Thank you, Professor Tonks." ("crooked_smile", "narrow", "base", "down") + + return + + +# Check if Tonks and Cho are naked. Proceed to transformation section if they are. +label .strip_check: + # Cho is wearing at least one clothing piece: + if cho.is_any_worn("robe", "top", "bottom", "bra", "panties"): + jump cc_pf_strip_T3_tonks.strip_cho + # Tonks is wearing at least one clothing piece: + elif tonks.is_any_worn("robe", "top", "bottom", "bra", "panties"): + jump cc_pf_strip_T3_tonks.strip_tonks + # Both are naked; Proceed with event. + else: + jump cc_pf_strip_T3_tonks.transformations + + + +## Transformations ## +label .transformations: + # Intro Event 1 - Doppler or Succubus choice. + # Intro Event 2 - Doppler or Succubus choice. + # Repeatable Event - Transformations. + + $ cho.zorder = 16 # in front of Tonks # Default is 15. + $ tonks.zorder = 15 # reset to default. + call cho_chibi("stand", 314, 366, flip=True) + call ton_chibi("stand", 370, 360, flip=False) + ton @ hair horny "" ("base", "narrow", "base", "L", xpos=345, ypos="base", flip=False) + cho @ cheeks blush "" ("grin", "base", "base", "L", xpos=280, ypos="base", flip=True) + with d5 + + ## Intro Events 1 and 2: + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False or states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: + + # Ask Tonks if she's a Doppler or a Succubus. + # After asking her both questions, the next time you do the event she'll do some tranformations. + + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == True or states.cho.ev.inspect_her_body.tonks_succubus_encounter == True: # You have asked her if she was one of these before. + ton "You're getting quite good at this, Miss Chang." ("base", "narrow", "base", "L") + cho @ cheeks blush "Thank you, Professor." ("base", "narrow", "base", "L") + gen "She's learning from the best." ("base", xpos="far_left", ypos="head") + if states.cho.ev.inspect_her_body.tonks_succubus_encounter : + gen "Who'd be better suited to teach her how to entice a man than a semen stealing she-devil!" ("base", xpos="far_left", ypos="head") + ton "Please, Professor. I've already told you I'm not a Succubus..." ("open", "closed", "annoyed", "mid") + else: # states.cho.ev.inspect_her_body.tonks_succubus_encounter + gen "Who'd be better suited to teach her how to entice a man than a shapeshifter!" ("base", xpos="far_left", ypos="head") + ton "Please, Professor. I've already told you I'm not this... doppler creature you spoke of." ("open", "closed", "annoyed", "mid") + ton "" ("annoyed", "narrow", "annoyed", "mid") + gen "You can never be a hundred percent sure..." ("base", xpos="far_left", ypos="head") + cho "..." ("quiver", "narrow", "raised", "mid") + gen "My theories have yet to be completely debunked!" ("grin", xpos="far_left", ypos="head") + ton "Seriously?!" ("upset", "base", "raised", "mid") + ton "Alright then... What do you want me to do to convince you this time?" ("soft", "narrow", "base", "mid") + gen "Prove to me that you're not--" ("base", xpos="far_left", ypos="head") + pass + + else: + ton "*Hmm*... not so nervous around me anymore, are you, Cho?" ("crooked_smile", "narrow", "base", "L") + cho @ cheeks blush "Oh, I guess not. It seems like I got used to it..." ("crooked_smile", "narrow", "worried", "R") + cho @ cheeks blush "It's fun doing this sort of thing at school... I'm quite enjoying it." ("smile", "narrow", "base", "downR") + ton @ hair horny "Well, there's somebody who enjoys it even more than we do, isn't that right, Professor?" ("horny", "base", "raised", "mid") + gen "(...)" ("base", xpos="far_left", ypos="head") + ton "Professor?" ("soft", "narrow", "base", "mid") + cho @ cheeks blush "" ("annoyed", "narrow", "base", "mid") + ton "Something on your mind?" ("annoyed", "base", "raised", "mid") + gen "Actually, there is..." ("base", xpos="far_left", ypos="head") + gen "Since your abilities are so rare... Can we be certain that you are, in fact, human?" ("base", xpos="far_left", ypos="head") + ton "Don't be silly..." ("clench", "base", "shocked", "mid") + gen "You {b}are{/b} human, are you?" ("base", xpos="far_left", ypos="head") + ton "Of course I am, Professor!" ("open", "closed", "annoyed", "mid") + ton "What else am I supposed to be?" ("open", "narrow", "raised", "mid") + pass + + menu: + gen "(...)" ("base", xpos="far_left", ypos="head") + "\"A Doppler!\"" if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False: + jump .doppler_E1 + "\"A Succubus!\"" if states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: + jump .succubus_E1 + + + ## Repeatable ## + else: + pass + + call ctc + + gen "Tonks, would you mind showing us your little trick again?" ("grin", xpos="far_left", ypos="head") + ton "Of course. What's it gonna be, Professor?" ("grin", "base", "base", "mid") + ton "Remember, I can transform into anything... Or anyone." ("soft", "narrow", "base", "mid") # suggestive + cho @ cheeks blush "..." ("horny", "narrow", "base", "down") + gen "*Hmm*... Who do I want you to turn into... Let me think." ("base", xpos="far_left", ypos="head") + + menu: + gen "Yes, I want you to shapeshift into--" ("grin", xpos="far_left", ypos="head") + "\"Hermione!\"": + jump cc_pf_strip_T3_tonks.hermione_E1 + "\"A Succubus!\"": + jump cc_pf_strip_T3_tonks.succubus_E2 + + + +## Doppler Event 1 ## +label cc_pf_strip_T3_tonks.doppler_E1: + if states.cho.ev.inspect_her_body.tonks_doppler_encounter == False: + # Intro + ton "*Hmmm?*... What's a \"doppler\"?" ("upset", "base", "base", "mid") + gen "What do you mean, what's a doppler?!" ("base", xpos="far_left", ypos="head") + gen "Aren't you part of the magical animal control... or whatever." ("angry", xpos="far_left", ypos="head") + ton "The Auror division does a lot more than \"animal control\"..." ("open", "narrow", "base", "mid") + gen "But you're incapable of identifying a doppler?" ("angry", xpos="far_left", ypos="head") + ton "I guess... This is the first time I'm hearing of such a creature." ("annoyed", "base", "raised", "mid") + cho "I haven't heard of them either, Sir." ("soft", "narrow", "base", "mid") + gen "What sort of magic school are we running here? Aren't you getting taught any Witcher lore?" ("base", xpos="far_left", ypos="head") + cho "..." ("annoyed", "base", "base", "mid") + ton "Very well, Professor. Why don't you tell us about them?" ("upset", "narrow", "base", "mid") + gen "Oh, there's nobody better suited to do that than me, I'll have you know!" ("grin", xpos="far_left", ypos="head") + gen "After all, I know a lot about the Witcher just from playing the games alone!" ("grin", xpos="far_left", ypos="head") + gen "(Truth be told, I skipped the first two, but they don't need to know that...)" ("base", xpos="far_left", ypos="head") + cho "What kind of \"games\" is he talking about, Professor?" ("soft", "base", "worried", "L") # looking at Tonks. Small text + ton "I haven't the foggiest..." ("mad", "base", "raised", "L") # looking back. Small text + + $ states.cho.ev.inspect_her_body.tonks_doppler_encounter = True + gen "Dopplers are hideous creatures, you see... Both in character, and in appearance." ("angry", xpos="far_left", ypos="head") + cho "" ("annoyed", "base", "base", "mid") + ton "" ("upset", "narrow", "base", "mid") + gen "They often abuse their ability for selfish gains, and manipulate people into thinking they're somebody else entirely." ("base", xpos="far_left", ypos="head") + cho "That does sound quite suspicious, Professor..." ("open", "narrow", "angry", "mid") + cho @ cheeks blush "After all, she's been abusing her powers to flaunt my bum at people!" ("annoyed", "narrow", "angry", "mid") + gen "That's true!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Surely you can't blame me for that... As I said, it wasn't anything they hadn't seen before." ("soft", "base", "base", "R") + cho @ cheeks heavy_blush "But-- Professor!" ("annoyed", "narrow", "angry", "L") + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush hair horny "I'm not doing anything harmful, I promise." ("upset", "happyCl", "worried", "mid") + cho @ cheeks blush "..." ("annoyed", "narrow", "angry", "mid") # annoyed + + ton @ hair horny "So, what other \"Evidence\" do you have to further prove this theory?" ("soft", "narrow", "base", "mid") #Amused + gen "Well, there's a big reason why Dopplers indulge themselves when they get the chance to." ("base", xpos="far_left", ypos="head") + gen "Since they're incredibly ugly creatures, it wouldn't surprise me in the slightest that they'd change their appearance into a highly attractive woman when given the chance." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("annoyed", "base", "base", "L") + ton @ hair horny "" ("annoyed", "base", "base", "mid") + gen "Miss Tonks, your appearance, it's almost too perfect..." ("base", xpos="far_left", ypos="head") + gen "You didn't find some smoking hot woman in a magazine, did you?" ("base", xpos="far_left", ypos="head") + gen "We all know those are highly edited..." ("base", xpos="far_left", ypos="head") + ton @ hair horny "So I'm smoking hot, huh?" ("horny", "narrow", "base", "mid") + ton @ hair horny "You flatter me, but no... I've always looked like this." ("base", "happyCl", "base", "mid") + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("annoyed", "base", "base", "mid") # blushing + + gen "You can count yourself lucky that I haven't seen any bounties for a Doppler..." ("base", xpos="far_left", ypos="head") + gen "So, doppler or not..." ("base", xpos="far_left", ypos="head") + gen "You're off the hook for now." ("base", xpos="far_left", ypos="head") + ton "Well, I'm glad we cleared that up..." ("base", "narrow", "base", "mid") + cho @ cheeks blush "" ("annoyed", "base", "base", "mid") + ton "My ability is perfectly harmless, Professor." ("crooked_smile", "base", "base", "mid") + gen "You may say that, but we all know shape-shifting is the source of all kinds of evil sorcery!" ("angry", xpos="far_left", ypos="head") + ton "No it's not..." ("open", "closed", "annoyed", "mid") + gen "The last thing we need at this school is a rogue shapeshifter -- abusive of its powers..." ("angry", xpos="far_left", ypos="head") + ton @ hair horny "..." ("upset", "base", "base", "mid") + + gen "Anyway... Promise me you won't start murdering people and steal their identities." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("angry", "base", "raised", "mid") + ton @ hair scared "What?! How could you even suggest that I would--" ("clench", "shocked", "shocked", "mid") # shocked + gen "Identity theft is not a joke, Tonks! Millions of families suffer every year!" ("angry", xpos="far_left", ypos="head") + ton "Yikes! Of course I won't do that, Professor!" ("clench", "happyCl", "base", "mid") + gen "Good." ("base", xpos="far_left", ypos="head") + ton "..." ("upset", "base", "worried", "mid") + cho "" ("annoyed", "base", "base", "mid") + gen "How come you're the only one that can shapeshift?" ("base", xpos="far_left", ypos="head") + ton "It's just very uncommon." ("open", "narrow", "raised", "down") + ton "You can't fault me for having it... I was born with it." ("annoyed", "base", "base", "mid") + gen "Very well then, I shall believe that you're not a doppler..." ("base", xpos="far_left", ypos="head") + gen "(For now...)" ("base", xpos="far_left", ypos="head") + ton "Glad to hear it." ("mad", "base", "base", "mid") + cho "..." ("soft", "narrow", "worried", "L") + ton "Anyhow, it's getting quite late, Professor." ("soft", "narrow", "base", "L") + + # End Event. + jump cc_pf_strip_T3_tonks.end_event + + +## Succubus Event 1 ## +label cc_pf_strip_T3_tonks.succubus_E1: + if states.cho.ev.inspect_her_body.tonks_succubus_encounter == False: + # Intro + ton "*snort!*... For real?" ("crooked_smile", "happyCl", "shocked", "mid") + cho "Oh, I've heard of those, Professor!" ("grin", "happyCl", "base", "mid") + cho "They're demons in female form, that can visit you in your dreams and murder you!" ("soft", "narrow", "angry", "mid") + ton "Very good, Miss Chang..." ("crooked_smile", "base", "base", "L") + ton "Ten points for Ravenclaw!" ("soft", "narrow", "base", "L") + $ ravenclaw += 10 + cho @ cheeks blush "Thank you." ("smile", "narrow", "base", "downR") # happy + + $ states.cho.ev.inspect_her_body.tonks_succubus_encounter = True + ton "I mean... I'm quite flattered, Professor..." ("open", "narrow", "raised", "mid") + ton @ hair horny "Who doesn't want to be compared to a demonic, sex-driven temptress!" ("soft", "narrow", "base", "mid") + cho @ cheeks blush "" ("annoyed", "base", "base", "mid") + gen "I knew it! You're a Succubus!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("annoyed", "base", "raised", "L") + ton "No I'm not, silly!" ("open", "closed", "base", "mid") + ton @ hair horny "..." ("annoyed", "base", "shocked", "L") # thinks + ton @ hair horny "Well, I do have similar shapeshifting abilities, that's true..." ("soft", "base", "base", "down") + ton @ hair horny "And share some of their more raunchy characteristics..." ("crooked_smile", "happyCl", "base", "mid") + gen "Not to mention a banger body!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Obviously." ("soft", "narrow", "base", "mid") + cho @ cheeks blush "..." ("horny", "narrow", "base", "L") # blushing + ton @ hair horny "I may also act like one on the occasion..." ("open", "base", "base", "R") + + # TODO: v v v Added this bit of writing. Needs review + gen "But you're still denying that you're an alluring sex-demon, even after that last demonstration?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "I might have some unusual talents, that's all..." ("open", "base", "base", "R") + ton @ hair horny "Why are you so scared of them anyway?" ("open", "narrow", "base", "mid") + ton @ hair horny "What's the worst a succubus could do to you?" ("horny", "narrow", "base", "mid") + gen "Do I really have to tell the two of you of what they do?" ("angry", xpos="far_left", ypos="head") + gen "I won't let any demon suck the life-blood out of my penis!" ("angry", xpos="far_left", ypos="head") + ton @ hair horny "" ("normal", "base", "base", "mid") + cho "What?!" ("clench", "base", "base", "mid") # bit shocked. + ton @ hair horny "Well, if I was one, I promise you I wouldn't do that..." ("mad", "narrow", "base", "mid") + ton @ hair horny "Not as long as there's plenty of other essence to be gathered." ("horny", "narrow", "angry", "mid") + cho "Professors?!" ("mad", "narrow", "base", "downR") # uncomfortable + gen "Then I better not run out of essence!" ("grin", xpos="far_left", ypos="head") + cho "..." ("disgust", "narrow", "base", "mid") + gen "Thought you could trick me, you semen loving sex-demon!" ("grin", xpos="far_left", ypos="head") + # TODO: ^ ^ ^ Added this bit of writing. Needs review + + ton @ hair horny "I'm still human, and not a sex-demon...{w=0.5} Believe it or not." ("open", "narrow", "raised", "mid") + gen "If you say so..." ("base", xpos="far_left", ypos="head") + ton @ hair horny "If you'd met one before, you'd know the difference between me and a succubus right away..." ("base", "narrow", "base", "mid") + ton @ hair horny "They are quite relentless when it comes to sex, you know. -- Even more so than I am!" ("horny", "narrow", "annoyed", "mid") + cho "You have met a Succubus, Professor? But I thought they're extremely dangerous." ("mad", "base", "base", "mid") + ton @ hair horny "Oh yes! You have to be extremely cautious around them..." ("soft", "base", "base", "L") + gen "Don't tell me you--" ("base", xpos="far_left", ypos="head") + ton @ hair horny "Who do you think you're talking to, Professor.{w=0.5} Of course I did." ("base", "narrow", "base", "mid") # horny, confident + cho @ cheeks heavy_blush "No way!" ("horny", "base", "base", "L") + ton @ hair horny "It was part of an auror job, obviously. Maybe I'll tell you about it some time." ("crooked_smile", "base", "base", "mid") + cho "Yes! I want to hear it!" ("grin", "base", "base", "mid") + ton @ hair horny "Are you sure you'd want that, honey?" ("soft", "narrow", "base", "L") + ton @ hair horny "It's quite the filthy story... You don't walk away from a Succubus unscarred unless you can impress her!" ("horny", "narrow", "raised", "mid") # horny + cho @ cheeks heavy_blush "*Uhm*..." ("disgust", "narrow", "worried", "downR") + play sound "sounds/gulp.ogg" + gen "*gulp*..." ("angry", xpos="far_left", ypos="head") # sound + ton @ hair horny "Of course I could tone it down for you guys." ("base", "happyCl", "base", "mid") + gen "No, please. We'd love to hear the full story!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("horny", "narrow", "base", "mid") + ton "Next time. I promise." ("base", "narrow", "base", "mid") + ton "Anyhow, it's getting quite late, Professor." ("soft", "narrow", "base", "L") + + # End Event. + jump cc_pf_strip_T3_tonks.end_event + + +## Succubus Event 2 ## +label .succubus_E2: + ton "You want me to shape-shift into a Succubus?" ("base", "narrow", "base", "mid") + cho "" ("horny", "narrow", "base", "L") + gen "Hell yeah! I do love me some cosplay!" ("grin", xpos="far_left", ypos="head") + ton "It's not..." ("open", "base", "shocked", "R") + ton "Very well then..." ("open", "closed", "base", "mid") + + # Tonks transforms into a Succubus + stop music fadeout 0.5 + cho "" ("mad", "narrow", "base", "down", xpos=265, ypos="base", flip=True) # bit more to the left + ton "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False) # bit more to the right + with fade + pause .5 + + play sound "sounds/magic3.ogg" + $ tonks.equip(ton_outfit_succubus) + ton "" ("horny", "narrow", "base", "mid", trans=flash) + call ctc + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + ton "{heart}{heart}{heart}" + gen "Marvellous!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("horny", "narrow", "raised", "down") # blush + ton @ hair horny "*Giggles*" ("horny", "narrow", "raised", "L") #sound + ton @ hair horny "What do you think?" ("grin", "narrow", "base", "mid") + ton @ hair horny "Do you like it?" ("horny", "narrow", "annoyed", "down") + cho @ cheeks blush "..." ("horny", "narrow", "worried", "down") + pause .8 + ton @ hair horny "Miss Chang?" ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "Oh! Yes... Very impressive, Professor!" ("soft", "narrow", "worried", "L") + ton @ hair horny "I don't think my skin tone is quite right... I believe they're usually more devilish looking." ("upset", "narrow", "base", "down") + gen "I can already feel my balls retract by fear." ("angry", xpos="far_left", ypos="head") + ton @ hair horny "" ("base", "narrow", "base", "mid") + cho "Your... What, Sir?" ("clench", "wide", "base", "mid") #wide eyed + ton @ hair horny "Don't worry, Miss Chang... Unless you're in a state of high arousal then you have nothing to worry about." ("crooked_smile", "narrow", "base", "L") + cho @ cheeks blush "*Ehm*... If you say so, Professor." ("normal", "happyCl", "worried", "mid") + ton @ hair angry "Now the Professor on the other hand..." ("mad", "narrow", "angry", "mid") + cho @ cheeks blush "" ("mad", "base", "raised", "mid") + ton @ hair angry "He can call himself very lucky that I'm not a real Succubus." ("soft", "narrow", "base", "mid") + gen "I'm not ruling out the possibility..." ("base", xpos="far_left", ypos="head") + ton @ hair angry "*Tsk*..." ("upset", "narrow", "base", "mid") + gen "Though I must say you're much more attractive than the last demon who visited me..." ("base", xpos="far_left", ypos="head") + ton @ hair angry "" ("annoyed", "narrow", "raised", "mid") + cho "You were visited by a demon, Professor?" ("soft", "narrow", "base", "mid") + gen "Yes... Although, it was just your regular sleep paralysis demon." ("base", xpos="far_left", ypos="head") + ton @ hair angry "" ("base", "narrow", "base", "mid") + cho "Oh..." ("disgust", "narrow", "base", "down") + gen "A rather horrifying looking one at that... Not sexy in the slightest!" ("angry", xpos="far_left", ypos="head") + gen "Mating with it proved itself to be quite difficult..." ("grin", xpos="far_left", ypos="head") + ton @ hair angry "Of course you did..." ("horny", "narrow", "angry", "mid") + cho "You... Wait, did you say {b}it{/b}, Sir?" ("open", "base", "base", "mid") #wide eyed + gen "*Ahem*... So, how does one summon a Succubus anyway?" ("base", xpos="far_left", ypos="head") + gen "I'm sure you're an expert in the subject, Miss Tonks." ("grin", xpos="far_left", ypos="head") + cho "{b}It{/b}, sir?!" ("mad", "narrow", "raised", "mid") + ton "*Hmm*... I wouldn't call myself an expert..." ("base", "narrow", "base", "mid") + cho "But what about your Auror Training professor?" ("annoyed", "narrow", "base", "L") #annoyed pout + ton "" ("base", "narrow", "base", "L") #Glances at Cho + cho @ cheeks blush "..." ("base", "narrow", "base", "L") #embarrased + ton "Now I know I'm your Teacher, Miss Chang, but that doesn't mean I'm at an expert level of every subject before doing proper research..." ("open", "narrow", "raised", "L") + cho @ cheeks blush "Oh... Of course, Professor... I didn't mean to--" ("mad", "narrow", "worried", "down") + ton "Whilst we did cover Succubi during our training, the subject of summoning wasn't very in depth..." ("soft", "narrow", "raised", "L") + cho @ cheeks blush "" ("base", "narrow", "worried", "L") + ton "We mostly learned how to easily recognize and how to... Deal with various magical beings." ("open", "closed", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + ton "That said..." ("grin", "narrow", "base", "mid") + ton "What I do know is that they usually come off as quite erratic and spontaneous." ("soft", "narrow", "shocked", "mid") + ton "In most cases you'd only encounter them if {b}they{/b} want you to..." ("base", "narrow", "base", "mid") + ton "So summoning one would be quite difficult." ("base", "narrow", "base", "L") + gen "Well... Luckily, I have the ability to summon you any time I want!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "*Hmmm*... Be careful what you wish for, Professor..." ("horny", "narrow", "base", "mid") + ton @ hair angry "I can be just as dangerous and seductive... {heart}" ("horny", "narrow", "angry", "mid") + cho @ cheeks blush "" ("horny", "narrow", "worried", "mid") + gen "See that hungry look in her eyes, Cho?" ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("horny", "narrow", "worried", "L") + gen "This Succubus is out to steal all my semen!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Oh, don't tempt me, Professor..." ("crooked_smile", "narrow", "angry", "mid") + cho @ cheeks blush "..." ("base", "narrow", "worried", "down") # embarrassed + + #Tonks succubus encounter story + cho @ cheeks blush "*Ehm*...{w=0.5} So, did you actually confront a real Succubus, Professor?" ("soft", "narrow", "base", "L") + ton @ hair horny "Oh, Yes indeed, Miss Chang!" ("base", "happyCl", "base", "mid") + ton "It happened during my first year of Auror training, when I was still a complete novice." ("open", "narrow", "raised", "L") + ton "We were tracked down by one during a scouting mission... Unbeknownst to us, of course." ("crooked_smile", "narrow", "base", "mid") + cho @ cheeks blush "She tracked you down?" ("mad", "base", "raised", "L") + ton "Yes... They can sense the arousal of humans from miles away... Even further, if they haven't had any relief for some time." ("base", "narrow", "base", "L") + gen "Well, who can blame your partner with you around?" ("base", xpos="far_left", ypos="head") + ton @ hair horny "*Giggles*" ("base", "happyCl", "base", "mid") #sound + ton @ hair horny "Oh silly... She was after me, of course!" ("soft", "narrow", "base", "mid") + cho @ cheeks blush "No way!?" ("horny", "narrow", "raised", "L") + ton @ hair horny "I know what you're going to say, Professor... And yes... They don't usually go after females." ("open", "closed", "base", "mid") + cho @ cheeks blush "But she still came after you?" ("soft", "narrow", "raised", "L") + cho @ cheeks blush "When did you and your partner notice her?" ("mad", "narrow", "base", "L") + ton @ hair horny "Well... My partner didn't notice her exactly... I might've wandered a bit further away from our camp than I should have..." ("soft", "narrow", "base", "downR") + ton @ cheeks blush hair horny "You know... To get some privacy." ("crooked_smile", "narrow", "base", "mid") + ton @ hair horny "She must've taken some great caution to be able to sneak up on me, but after a while of... *Ehm*..." ("clench", "narrow", "base", "L") + ton @ hair horny "After some time, I noticed her movements among the bushes." ("open", "closed", "base", "mid") + ton @ hair horny "Once I noticed her presence, there was no doubt in my mind why she had sneaked up on me..." ("grin", "narrow", "base", "mid") + gen "Let me guess... She was--" ("base", xpos="far_left", ypos="head") + ton @ hair horny "She was going full force, pleasuring herself... Not even noticing that I had stopped and spotted her!" ("grin", "narrow", "angry", "mid") + cho "Stopped what?" ("annoyed", "base", "raised", "mid") + gen "Shush, Miss Chang... Don't interrupt the story!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Of course I had to be a hundred percent sure what creature she was, so I went to take out my wand to make some light, but..." ("base", "narrow", "base", "L") + ton @ hair angry "Before I knew it, she had flown right up next to me, grabbing my wrists." ("open", "narrow", "angry", "mid") + cho "And then you used your auror training to fight her!" ("grin", "narrow", "angry", "L") + play sound "sounds/giggle2_loud.ogg" + ton @ hair horny "*Giggles*...{w=0.4} No, we made out instead." ("horny", "narrow", "raised", "L") #sound + cho "You...{w} Made out with her!?" ("clench", "wide", "base", "L") + ton @ hair horny "Of course! She couldn't get enough of me!" ("grin", "happyCl", "base", "mid") + ton @ hair horny "After all... I'm quite skilled with my tongue." ("horny", "narrow", "base", "mid") + cho @ cheeks blush "Your--" ("soft", "narrow", "worried", "L") + gen "Tongue!" ("grin", xpos="far_left", ypos="head") + play sound "sounds/giggle2_loud.ogg" + ton @ hair horny "*Giggles*" ("base", "happyCl", "base", "mid") + ton @ hair horny "Yes indeed... Would you like a demonstration?" ("crooked_smile", "narrow", "base", "mid") + + menu: + gen "!!!" ("grin", xpos="far_left", ypos="head") + "\"Yes please!\"": + ton @ hair horny "Yeah, I bet you'd like that, Professor. {heart}" ("horny", "narrow", "base", "mid") + ton @ hair horny "Maybe some other time." ("soft", "narrow", "base", "mid") + cho @ cheeks blush "..." ("clench", "narrow", "worried", "down") # curious look + + "\"What do you say, Miss Chang?\"": + cho @ cheeks heavy_blush "With m-me?" ("clench", "wide", "raised", "mid") + ton @ hair horny "No, silly... Well, not today at least. {heart}" ("soft", "narrow", "base", "L") + cho @ cheeks blush "..." ("clench", "narrow", "worried", "down") # blushing + + # Tonks shows her tongue. + ton @ hair horny "You'll have to settle for a peek for now..." ("horny", "narrow", "base", "mid") + cho @ cheeks blush "..." ("horny", "narrow", "base", "L") #blush + gen "*Hmm?*..." ("base", xpos="far_left", ypos="head") + ton @ hair horny "*Ahh*..." ("open_wide", "narrow", "base", "down") + cho @ cheeks blush "" ("horny", "base", "raised", "L") + ton @ hair horny "*Ahhhhhhh*........." ("open_wide_tongue", "narrow", "angry", "down") # Tonks shows her tongue. + cho @ cheeks blush "Wow!" ("open", "base", "raised", "L") + gen "..." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Ae I chahn mhehk i ash ong ashh I whan..." ("open_wide_tongue", "narrow", "angry", "mid") + ton @ hair horny "... shee!" ("open_wide_tongue2", "narrow", "angry", "down") # Tongue all the way out. + cho @ cheeks heavy_blush "By Merlin's beard!" ("clench", "narrow", "worried", "L") #blush + gen "Nice..." ("grin", xpos="far_left", ypos="head") + gen "Although with a succubus, I highly doubt there was just kissing going on..." ("grin", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*... Yesh, thaht little devil..." ("open_wide_tongue", "narrow", "angry", "mid") + ton @ hair horny "She was very quick to lock my head in place between her thighs, and then impaled herself on my tongue." ("open_wide_tongue", "narrow", "raised", "mid") + ton @ hair horny "Rode my tongue for a good hour, that freak..." ("horny", "narrow", "angry", "mid") + + #gen "You're calling her a freak? Your tongue is longer than my dick!" ("angry", xpos="far_left", ypos="head") + #cho "Professor?" + #ton "Oh, sweetie... My dick could be longer than your dick..." + #cho "What?!" + #ton "Not that I have one currently..." + #ton "But I could make it as long as I wanted!" + #cho "..." #looking at the floor + #gen "What else? Does it vibrate too? How are you even supposed to compete with that?" ("angry", xpos="far_left", ypos="head") + #ton "*Giggles*" #sound + #ton "I haven't tried that, actually... That's not a bad idea." + #cho "" #blush + #gen "..." ("base", xpos="far_left", ypos="head") + #ton "Don't you worry professor... There's always the need for that masculine touch..." + + gen "(Like you didn't enjoy every minute of it...)" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Pleasuring her was quite exhausting to say the least..." ("soft", "narrow", "base", "L") + ton @ hair angry "I licked her inside out until my whole face was covered in her devilish love-juices... {heart}" ("horny", "narrow", "angry", "mid") + cho @ cheeks heavy_blush "" ("clench", "narrow", "worried", "down") #Horny #looks at tonks + call ctc + + ton @ hair horny "Although... I did almost drown..." ("upset", "base", "raised", "up") # thinking back + ton @ hair horny "Her thighs, practically glued to my cheeks meant there was no other way for her juices to flow than into my mouth..." ("open", "narrow", "annoyed", "mid") + ton @ hair horny "Her essence becoming too much for me to handle as it eventually ran up my nose." ("horny", "narrow", "base", "down") + gen "Holy shit." ("base", xpos="far_left", ypos="head") + ton @ hair horny "I had no other choice but to swallow all of it..." ("grin", "narrow", "base", "mid") + cho @ cheeks heavy_blush "" ("normal", "happyCl", "worried", "mid") + play sound "sounds/gulp.ogg" + gen "*gulp*" ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("horny", "narrow", "worried", "L") + ton @ hair horny "That little demon must've come at least twenty times that night. {heart}" ("open_wide_tongue", "narrow", "raised", "L") + ton @ cheeks heavy_blush hair horny "I could give you a ride on this as well if you'd like, Miss Chang." ("open_wide_tongue2", "narrow", "angry", "L") # tongue out + cho @ cheeks heavy_blush "Professor--" ("soft", "narrow", "worried", "mid") # embarrassed #looks at you + gen "Tonks, not before--" ("base", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair angry "Yes, yes... Not before you win that silly Quidditch cup." ("mad", "closed", "angry", "mid") + cho @ cheeks blush "It's not silly!" ("annoyed", "narrow", "angry", "L") + ton @ cheeks heavy_blush hair horny "Winning that cup won't feel as good as having my tongue inside you, Miss Chang... I can promise you that much." ("annoyed", "narrow", "angry", "L") + cho @ cheeks heavy_blush "..." ("clench", "happyCl", "worried", "mid") #Pout #blush + ton @ hair horny "Well then... I hope you two liked my little story. {heart}" ("open", "closed", "base", "mid") + ton @ hair horny "And my new outfit, of course..." ("crooked_smile", "narrow", "base", "down") + + # Unlock outfit message. Should only appear once. + if not ton_outfit_succubus.unlocked: + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_succubus) + + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "L") + ton @ hair horny "Maybe I could dress as a Succubus for Halloween. I'm sure the boys would love it..." ("base", "narrow", "base", "mid") + gen "With or without the tits out?" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*... Haven't decided yet." ("upset", "narrow", "raised", "down") + cho @ cheeks blush "..." ("clench", "narrow", "worried", "mid") + ton @ hair horny "Well then... Off we go Miss Chang..." ("soft", "narrow", "base", "L") + + # End Event. + jump cc_pf_strip_T3_tonks.end_event + + + +## Hermione Transformation ## +label .hermione_E1: + # Pink Hair: $ hermione.get_equipped("hair").set_color([[255, 87, 171, 255], [255, 210, 227, 255], [230, 141, 32, 255]]) + # Brown Hair: $ hermione.get_equipped("hair").set_color([[152, 89, 48, 255], [195, 137, 89, 255], [230, 141, 32, 255]]) + ton "Hermione again, *Hmm*?" ("base", "base", "base", "mid") + ton "Seems to me like she's a bit of a favourite, isn't she?" ("soft", "narrow", "raised", "mid") + gen "What can I say, she's got the best tits in the house!" ("grin", xpos="far_left", ypos="head") + cho "Hey! That's not true!" ("annoyed", "narrow", "base", "mid") + gen "It isn't? Then whose tits are better, Miss Chang?" ("base", xpos="far_left", ypos="head") + gen "Do tell me, I'd love to know!" ("grin", xpos="far_left", ypos="head") + cho "Just forget I said anything..." ("annoyed", "narrow", "base", "L") + ton "Well... I, for one, am not going to disagree with you, Professor." ("crooked_smile", "narrow", "base", "mid") + ton @ hair horny "Miss Granger's tits are quite nice indeed..." ("horny", "narrow", "angry", "mid") + cho "..." ("normal", "narrow", "base", "up") + ton "I mean we could do something else if you'd like, Miss--" ("open", "base", "base", "L") + gen "No, No-- Do the thing!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("annoyed", "narrow", "base", "L") + ton "Certainly... With pleasure." ("base", "happyCl", "base", "mid") + stop music + pause .8 + + # Save custom Hermione name + $ temp_name = name_hermione_genie + $ name_hermione_genie = "Tonks" + + # Transforms into Hermione + play sound "sounds/magic4.ogg" + hide tonks_main + $ hermione.strip("clothes") + $ cho_chibi.zorder = 3 # Reset to default. + $ hermione_chibi.zorder = 2 # behind Cho. Default is 3. + call ton_chibi("hide") + call her_chibi("stand", 370, 360, flip=False) + her "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False, trans=morph) + pause .2 + + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "L") + call ctc + + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 if_changed + her "Well then, here she is..." ("smile", "narrow", "angry", "mid") + her "Feel free to touch me, Cho." ("base", "narrow", "annoyed", "R") + her "Unlike Hermione, I won't bite you... Probably. {heart}" ("smile", "narrow", "annoyed", "down") + cho @ cheeks blush "..." ("mad", "narrow", "worried", "down") # blush + her "I simply love getting groped..." ("soft", "narrow", "angry", "up") + cho @ cheeks blush "" ("horny", "narrow", "worried", "L") + gen "That reminds me... Let's talk about how well you did during the last quidditch match..." ("grin", xpos="far_left", ypos="head") + gen "You did quite a good job pretending to be Hermione." ("base", xpos="far_left", ypos="head") + gen "Wouldn't you say she did a good job commentating, Miss Chang?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh... Well, I wouldn't know since I was more focused on playing, Sir..." ("soft", "base", "base", "mid") + cho @ cheeks heavy_blush "But from what I could gather, you did quite well, *uhm*... Professor." ("silly", "narrow", "worried", "L") + gen "Yes... She put so much effort into it... you must have been completely exhausted by the end..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("horny", "narrow", "worried", "L") + her @ cheeks blush "... {heart}" ("base", "happy", "base", "mid_soft") # blushing + cho @ cheeks blush "You were?" ("smile", "narrow", "base", "L") + gen "Indeed... Addressing the entire school is no easy task, Miss Chang..." ("base", xpos="far_left", ypos="head") + her "..." ("crooked_smile", "happyCl", "base", "mid") #Horny #Starts touching breasts (If Cho isn't looking) + + show screen blkfade + with d5 + play sound "sounds/slick_02.ogg" + with hpunch + with kissiris + $ hermione.set_pose("hand_on_pussy") + her "" ("base", "narrow", "worried", "stare") + hide screen blkfade + with d5 + + gen "You have to stay completely focused when you're tasked with commentating on everything that's happening." ("base", xpos="far_left", ypos="head") + cho "Surely commentating doesn't even come close to the amount of focus you need to spot the snitch..." ("soft", "narrow", "raised", "mid") + cho "Or how would Granger be able to do it?" ("annoyed", "narrow", "base", "R") + gen "Depends on how easily you get distracted, I suppose..." ("base", xpos="far_left", ypos="head") + gen "Would you say that you're easily distracted... Miss Granger?" ("base", xpos="far_left", ypos="head") + her "*Mmm*..." ("base", "narrow", "base", "stare_soft") + gen "Miss Granger?" ("base", xpos="far_left", ypos="head") + cho "..." ("annoyed", "narrow", "base", "L") #annoyed + her "*Mmm*... Just thinking about it gets me all riled up again..." ("open", "narrow", "worried", "mid") + cho @ cheeks blush "Professor, what are you..." ("disgust", "narrow", "base", "L") #Looks at Tonks/Hermione + her "*Hmm*... Sorry, what did you say?" ("open_tongue", "narrow", "base", "L") + cho @ cheeks blush "What are you doing?" ("mad", "happyCl", "base", "mid") + play sound "sounds/giggle2_loud.ogg" + her @ cheeks blush "*Giggles*" ("base", "narrow", "base", "mid") #sound + her "What does it look like?" ("grin", "narrow", "base", "L") + cho @ cheeks blush "You're touching your... Her--" ("clench", "narrow", "raised", "down") + her "Yes... How could I not?" ("base", "narrow", "base", "mid") + her "These breasts are just so..." ("soft", "narrow", "base", "down") + + # Hands on pussy, breast + $ hermione.set_pose("hand_on_pussy_and_breast") + play background "sounds/slickloop.ogg" fadein 2 + + her "*Mmmh*... So soft..." ("base", "closed", "base", "mid") + her "And her nipples..." ("soft", "narrow", "base", "down") + her "*Ah*..." ("open_tongue", "narrow", "base", "stare_soft") + her "So sensitive..." ("base", "narrow", "base", "up") + cho @ cheeks heavy_blush "*Ehm*..." ("horny", "narrow", "worried", "down") + her "*Mhmm*... And I bet her nipples aren't the only--" ("open", "narrow", "base", "down") + her "" ("grin", "closed", "worried", "mid") #Hand in front of pussy + pause .8 + play sound "sounds/slick_02.ogg" + her "*Ah*..." ("open_tongue", "narrow", "base", "up") #Hand on pussy + cho @ cheeks heavy_blush "Tonks!" ("mad", "narrow", "worried", "R") + + play background "sounds/slickloop.ogg" fadein 2 #Continuous masturbate loop + her "*Mmmm*..." ("base", "narrow", "base", "up") + pause 1 + her "*Hmm?*... Not even a peek?" ("soft", "narrow", "base", "L") + her @ cheeks blush "Don't you want to see what Hermione looks like when--{w=0.2} *Ah*...{w=0.4} She masturbates?" ("grin", "narrow", "worried", "down") + her @ cheeks blush "Are you sure you--{w=0.2} *Ah*...{w=0.4} want to miss this?" ("open", "closed", "base", "mid") + cho @ cheeks heavy_blush "..." ("clench", "narrow", "worried", "down") #glances at her + her "*Ah*...{w=0.3} That's it, Cho..." ("smile", "narrow", "base", "L") + her "I knew you couldn't resist..." ("soft", "narrow", "base", "up") + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "down") #Horny + call ctc + + her @ cheeks blush "*Ah*...{w=0.3} Look at me as I rub Granger's cute little slit." ("open_wide_tongue", "narrow", "angry", "up") + her @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("open_wide_tongue", "narrow", "worried", "up") + cho @ cheeks heavy_blush "" ("horny", "narrow", "worried", "downR") #looks away + call ctc + + her "No! Keep watching me!" ("annoyed", "narrow", "angry", "L") + play background "sounds/slickloopfast.ogg" + $ hermione.set_cum(pussy="wet") + her @ cheeks blush "*Ah*...{w=0.3} I'm getting close!" ("soft", "narrow", "base", "up") + play background "sounds/slickloopveryfast.ogg" + cho @ cheeks heavy_blush "" ("mad", "narrow", "base", "down") #still looking away + her @ cheeks blush "Watch me!" ("open_wide_tongue", "narrow", "angry", "up") + cho @ cheeks heavy_blush "" ("horny", "narrow", "raised", "down") #still looking away + her @ cheeks blush "Watch as Hermione cums for you!" ("angry", "narrow", "base", "up") + cho @ cheeks heavy_blush "" ("smile", "narrow", "base", "down") #embarrased #Looks at Tonks + play sound "sounds/slick_01.ogg" + her @ cheeks blush "*Nngh*...{w=0.4} *Aaah*!!!" ("clench", "happy", "base", "ahegao") + + with kissiris + with hpunch + play sound "sounds/slick_01.ogg" + $ hermione.set_cum(pussy="squirt") + pause .8 + + $ hermione.set_cum(pussy="squirt_post") + + cho @ cheeks heavy_blush "" ("horny", "base", "raised", "down") #wide eyed + + her @ cheeks blush "*Ah*!" ("open_wide_tongue", "happy", "angry", "ahegao") + + with kissiris + with hpunch + play sound "sounds/slick_01.ogg" + $ hermione.set_cum(pussy="squirt_transition") + pause .8 + + $ hermione.set_cum(pussy="squirt_post") + + stop background fadeout 2 + stop music fadeout 1 + her @ cheeks blush "*Mmmh*..." ("clench", "narrow", "base", "squint") + cho @ cheeks heavy_blush "..." ("smile", "narrow", "base", "L") + her @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.5} *Ah*...{w=0.6} Good...{w=0.3} Good girl..." ("open_tongue", "narrow", "base", "up") + + # Reset pose + $ hermione.set_pose(None) + $ hermione.strip("clothes") + with d5 + + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + her "*Mmmh*... How I love masturbating in a body that I'm not quite familiar with..." ("smile", "happyCl", "base", "mid") + her "It's like flying a new broom... There's nothing quite like the first test ride..." ("base", "narrow", "base", "mid") + cho @ cheeks heavy_blush "..." ("grin", "narrow", "base", "downR") + play sound "sounds/giggle2_loud.ogg" + her @ cheeks blush "*Giggles*" ("base", "happyCl", "base", "mid") #Looks at cho + + # Tonks transforms back. + play sound "sounds/magic4.ogg" + hide hermione_main + $ hermione.set_cum(None) + call her_chibi("hide") + $ cho_chibi.zorder = 3 # Reset to default. + $ tonks_chibi.zorder = 2 # behind Cho. Default is 3. + call ton_chibi("stand", 370, 360, flip=False) + ton "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False, trans=morph) + pause .2 + + cho @ cheeks heavy_blush "" ("horny", "base", "base", "L") + call ctc + + ton "Miss Granger's clit is quite sensitive... Who could have guessed?" ("grin", "narrow", "raised", "mid") + gen "Noted." ("grin", xpos="far_left", ypos="head") + ton "You'll do good to memorize this as well, Miss Chang. That knowledge might come in handy in the future." ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "..." ("smile", "narrow", "base", "down") # blushing + ton "Well then... this should be enough to last me for the day... Hopefully..." ("grin", "narrow", "base", "mid") + + # Reset + $ name_hermione_genie = temp_name + + # End Event. + jump cc_pf_strip_T3_tonks.end_event + +## End Event ## +label .end_event: + + # Fade to black. + stop music fadeout 1 + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + + # The girls get dressed and wait at the door. + $ cho.wear("all") + $ tonks.wear("all") + $ hermione.wear("all") + + # Reset zorder. + $ cho.zorder = 15 # reset to default. + $ tonks.zorder = 15 # reset to default. + $ hermione.zorder = 15 # reset to default. + $ cho_chibi.zorder = 3 # reset to default. + $ tonks_chibi.zorder = 3 # reset to default. + $ hermione_chibi.zorder = 3 # reset to default. + hide screen cho_cloth_pile + + call cho_chibi("stand", 690, "base", flip=False) + call ton_chibi("stand", "door", "base", flip=False) + + play sound "sounds/08_hop_on_desk.ogg" + pause 2 + + hide screen blkfade + with d5 + pause .5 + + call bld + if game.daytime: + ton "We should get going, Miss Chang. Classes are about to start..." ("open", "base", "base", "L", ypos="head", flip=False) + cho "Until next time, Professor." ("grin", "base", "base", "mid", ypos="head", flip=False) + else: + ton "Let me escort you back to your dormitories, Miss Chang." ("open", "base", "base", "L", ypos="head", flip=False) + cho "Good night, Professor." ("grin", "base", "base", "mid", ypos="head", flip=False) + + call bld("hide") + pause .1 + + # They both leave. + call cho_chibi(flip=True) + pause .3 + call ton_chibi(flip=True) + with d3 + pause .2 + + play sound "sounds/door.ogg" + hide screen cho_chibi + hide screen tonks_chibi + with d3 + pause .5 + + # Reset clothing. + $ cho.equip(cho_outfit_last) + $ tonks.equip(ton_outfit_last) + $ hermione.equip(her_outfit_last) + + $ states.ton.busy = True + + # End event. + jump end_cho_strip_event diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tier4_tonks_INCOMPLETE.txt b/game/scripts/characters/cho/events/favors/inspect_her_body_tier4_tonks_INCOMPLETE.txt new file mode 100644 index 00000000..039f396e --- /dev/null +++ b/game/scripts/characters/cho/events/favors/inspect_her_body_tier4_tonks_INCOMPLETE.txt @@ -0,0 +1,97 @@ +############## +### Tier 4 ### +############## + +## Tier 4 - Summon Tonks ## + + +## Transformations ## + +## Succubus - Tier 4 ## +#label cc_pf_strip_T4_tonks.succubus_E1: +# gen "Tell me, Miss Tonks." ("base", xpos="far_left", ypos="head") +# gen "Are you one of these Succubbi that like to hunt virgins?" ("grin", xpos="far_left", ypos="head") +# ton "*Ha-ha-ha*... Where did you hear that?" # cracks up. +# gen "I've read it in a-- *uhm*...{w=0.5} in a book." ("base", xpos="far_left", ypos="head") +# gen "If you're a virgin by the age of forty and one visits you, you might end up lucky!" ("base", xpos="far_left", ypos="head") +# cho "Lucky... how?" +# ton "I don't know... I'd have to do some research on that..." +# ton "I was sure I knew everything there was to know about succubi..." +# gen "I suppose you might not be sophisticated enough to appreciate fine arts..." ("base", xpos="far_left", ypos="head") +# ton "*Hmm*... Then perhaps It'd be worth covering during one of my lesson." #looking at cho +# ton "Although I'd have to borrow that book of yours." + +## Hermione - Tier 4 ## +#label cc_pf_strip_T4_tonks.hermione_E1: + # ton "Move aside, Chang!" # angry + # ton "The headmaster wants me to strip for him." + # gen "That's right, Miss Granger." ("grin", xpos="far_left", ypos="head") + # cho "..." + +# gen "Seeing that she was being groped for the better part of it." ("grin", xpos="far_left", ypos="head") +# cho "Groped?-- What?" # confused +# gen "I her while she had to announce those points. It was quite funny!" ("grin", xpos="far_left", ypos="head") +# cho "You were molesting her, in front of everybody?" +# gen "I molested her -- with her consent!...{w} {size=-6}more or less.{/size}{w=0.3}{nw}" ("angry", xpos="far_left", ypos="head") +# gen "She practicly begged me to continue." ("base", xpos="far_left", ypos="head") +# ton "Was it that obvious, Professor?" +# ton "I loved the way you fingered my pussy in front of everybody. {heart}" +# cho "Merlin's beard, you're such a slut..." # judgemental + + + # Hermione stands in the middle, between Genie and Cho. + + # ton "Professor, how many house points may I get for this shameless act you're asking me to do?" + # gen "You're requesting house points for this, Miss Granger?" ("grin", xpos="far_left", ypos="head") + # ton "Naturally." + # gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + + # menu: + # "You shall receive five points.": + # ton "Only so little, Professor?" + # ton "Surely revealing my tits must be worth a lot more to you than that..." + # gen "Five points, Miss Granger. And I demand to see a lot more than just your tits!" ("grin", xpos="far_left", ypos="head") + # cho "..." ("smile", "narrow", "base", "mid", cheeks="blush") + # ton "So be it then..." + # ton "I'll do anything for my precious Gryffindor house!" + # gen "Five points for Gryffindor, Miss Granger!" ("grin", xpos="far_left", ypos="head") + # $ gryffindor += 5 + # gen "Now strip for us, you little slut." ("angry", xpos="far_left", ypos="head") + + # "You shall receive one hundred points!": + # ton "Seriously?" + # cho "Professor, what are you doing?" ("base", "narrow", "base", "mid") + # ton "Well, one hundred points seem to be sufficient, Professor..." + # cho "..." ("base", "narrow", "base", "mid") + # ton "I'd gladly bare my tits for that amount." + # gen "Not just your tits, Miss Granger!" ("grin", xpos="far_left", ypos="head") + # ton "Anything for you, Sir." + # cho "I don't want Granger to get points from this! She isn't even here..." ("base", "narrow", "base", "mid") + # gen "Didn't you say you don't give a flying fuck about the house cup?" ("base", xpos="far_left", ypos="head") + # ton "*snort*... You said what?" + # cho "I didn't say it like that!" ("base", "narrow", "base", "mid") + # ton "*shsss*, Professor.{w=0.5} Just mumble a bit when giving out those points..." + # gen "Very well, then..." ("base", xpos="far_left", ypos="head") + # gen "One hundret points for this Gryffin-whore!" ("grin", xpos="far_left", ypos="head") + # cho "*Ha-ha*!" ("base", "narrow", "base", "mid") + # ton "Thank you, Sir." + # ton "I know I deserve those Gryffin-whore points more than anyone!" + # ton "I'm the biggest slut in all of Hogwarts!" + + # "No points for you, Granger.": + # ton "What? But Professor!" + # ton "You're asking me to expose myself for you, without getting any of those precious house points?" + # ton "How outragious!" + # gen "Cho isn't asking for points either, Miss Granger. I'd say it's quite fair if you receive none as well..." ("base", xpos="far_left", ypos="head") + # ton "Well, I'm not a slag like Miss Chang here... Who loves stripping for her headmaster!" + # cho "Hey!" ("annoyed", "narrow", "angry", "L") + # ton "What? It's the truth, isn't it... You slut!" + # cho "..." ("annoyed", "narrow", "base", "mid") + # cho "Sir, could you ask her to turn back again? She's starting to get on my nerves..." ("open", "narrow", "base", "mid") + # gen "Not a chance. She's doing great!" ("grin", xpos="far_left", ypos="head") + # cho "A bit too convincing for my likeing..." ("annoyed", "narrow", "base", "L") + # ton "..." + # ton "Very well, then. I shall undress for you, Professor." + # ton "My friends will be so disappointed when they hear I'm doing this for free..." + # ton "But I simply can't help it, can I?" + # ton "I want to be the biggest slut in all of Hogwarts!" diff --git a/game/scripts/characters/cho/events/favors/inspect_her_body_tonks.rpy b/game/scripts/characters/cho/events/favors/inspect_her_body_tonks.rpy deleted file mode 100644 index 831d345c..00000000 --- a/game/scripts/characters/cho/events/favors/inspect_her_body_tonks.rpy +++ /dev/null @@ -1,1554 +0,0 @@ - -############## -### Tier 3 ### -############## - -## Tier 3 - Summon Tonks ## - -label cc_pf_strip_T3_tonks: - - # Setup - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - pause 1 - - $ tonks_cho_name = renpy.random.choice( ("Sweetie", "babe", "Honey") ) - # All character's clothes get saved in case we need to change any. - # Cho and Tonks won't change their clothes. - - $ cho_outfit_last.save() # Store current outfit. - $ ton_outfit_last.save() # Store current outfit. - $ her_outfit_last.save() # Store current outfit. - - #$ cho.equip(cho_outfit_default) - #$ tonks.equip(ton_outfit_default) - $ hermione.equip(her_outfit_default) - - call cho_chibi("stand", "desk", "base", flip=False) - - hide screen blkfade - cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=fade) - - # Intro - if doppler_done == False and succubus_done == False: # First time only. - gen "About your teacher, Professor Tonks..." ("base", xpos="far_left", ypos="head") - gen "That ability she has, it's quite... interesting, don't you think?" ("base", xpos="far_left", ypos="head") - cho "It is! And exceptionally rare as well!" ("grin", "happyCl", "base", "mid") - cho "I only ever heard about this type of transfiguration ability once -- during one of Professor McGonagall's lessons..." ("open", "base", "raised", "mid") - cho "She seemed kind of annoyed by the fact that there are people with natural abilities to change their appearance like that." ("annoyed", "base", "base", "R") - gen "Well, not everyone can be as naturally handsome as me." ("grin", xpos="far_left", ypos="head") - cho "That... Is not what I meant." ("open", "closed", "angry", "mid") - gen "I wonder if she's the only person here who has this \"Metamorphic\" ability..." ("base", xpos="far_left", ypos="head") - cho "I hope so..." ("annoyed", "base", "base", "mid") - gen "You do?" ("base", xpos="far_left", ypos="head") - cho "You've seen the kind of thing she uses her ability for, haven't you?" ("open", "narrow", "base", "mid") - cho "Surely when you decided to tell me her secret -- you considered what could happen if I told the other students about it?" ("open", "closed", "base", "mid") - gen "I...{w=0.2} Of course!" ("angry", xpos="far_left", ypos="head") - cho "Don't worry, I won't tell anyone..." ("open", "narrow", "base", "mid") - cho "Though I'd suggest to keep it a secret from Granger at all cost!" ("mad", "narrow", "angry", "mid") - cho "I'm confident she'd come up with some annoying rule to try and keep her teacher in check..." ("annoyed", "narrow", "angry", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - cho "Well, I'm glad to know that you trust me with something like this, [cho_genie_name]." ("smile", "happyCl", "base", "mid") - cho "It'd be quite difficult for her to pretend to be someone else, if everybody knew about it." ("annoyed", "base", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - cho "I sure am glad there isn't another student with her abilities..." ("annoyed", "narrow", "base", "R") - gen "*Ha-ha*, yeah..." ("grin", xpos="far_left", ypos="head") - gen "Another student -- preferably female -- with her abilities...{w=0.5} That would be horrible..." ("base", xpos="far_left", ypos="head") - gen "(Not...)" ("grin", xpos="far_left", ypos="head") - cho "Yes... If they somehow found out about Tonks, she'd surely receive all the blame." ("angry", "narrow", "raised", "mid") - gen "..." ("angry", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "base", "mid") - gen "Let's just call her up here for now..." ("base", xpos="far_left", ypos="head") - gen "I'm sure she'll make it well worth it for you to continue keeping her secret safe." ("grin", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]..." ("smile", "narrow", "base", "mid", cheeks="blush") #glancing away #blush - - # Repeat - else: - gen "Let me summon her real quick." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("base", "base", "base", "mid") - - call play_music("stop") - call hide_characters - hide screen bld1 - with d3 - pause .2 - - # You summon Tonks. - call cho_chibi("stand", "desk", "base", flip=True) - with d3 - pause .8 - - # Tonks enters. - call play_sound("door") - call ton_chibi("stand", "door", "base") - with d3 - pause .5 - - # Tonks walks next to Cho. - call ton_walk(540, "base") - - call play_music("tonks") - cho "" ("base", "narrow", "worried", "L", cheeks="blush", xpos="left", ypos="base", flip=True) - ton "Hello, Professor." ("soft", "narrow", "base", "mid", xpos="right", ypos="base", flip=False) - ton "Miss Chang." ("base", "narrow", "raised", "L") - - # Intro - if doppler_done == False and succubus_done == False: # First time only. - gen "Didn't fancy taking the fireplace this time?" ("base", xpos="far_left", ypos="head") - ton "Not today... I only use floo powder when I'm in a hurry." ("open", "base", "base", "mid") - - - ## Tonks and Cho strip for you ## - ton "So...{w=0.3} What do you have planned for us today, Professor?" ("base", "narrow", "base", "mid") - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "Why don't you tell her what we're doing, Miss Chang?" ("grin", xpos="far_left", ypos="head") - cho "You want me to--" ("open", "narrow", "base", "mid") - gen "Don't see why not..." ("grin", xpos="far_left", ypos="head") - cho "Of course, Sir." ("soft", "narrow", "base", "downR") - - if doppler_done == False and succubus_done == False: # First time only. - cho "..." ("annoyed", "narrow", "worried", "down", cheeks="blush") # Embarrassed look down. - cho "The headmaster wanted to see us strip for him again..." ("open", "narrow", "worried", "L", cheeks="blush") - if cho.is_worn("robe") or ( cho.is_worn("top") and cho.is_worn("bottom") ): - pass - else: # Cho is in her underwear or naked. - gen "Well... A bit of a show should do, seeing what your current state of undress is like..." ("base", xpos="far_left", ypos="head") - cho "You're the one that requested it..." ("annoyed", "narrow", "angry", "down", cheeks="heavy_blush") # small text - - if tonks.is_worn("robe") or ( tonks.is_worn("top") and tonks.is_worn("bottom") ): - pass - else: #Tonks in in her underwear or naked. - ton "*Hmm*...{w=0.3} Who needs clothing anyway?" ("horny", "narrow", "base", "L", hair="horny") - ton "But I'll give you a show if that's what you want...{heart}" ("horny", "narrow", "base", "mid", hair="horny") - gen "..." ("grin", xpos="far_left", ypos="head") - - else: # repeat - cho "The headmaster wants us to strip for him again." ("base", "narrow", "base", "mid", cheeks="blush") - ton "Does he now?" ("horny", "narrow", "base", "L", hair="horny") - if cho.is_worn("robe") or ( cho.is_worn("top") and cho.is_worn("bottom") ): - pass - else: - gen "Well, since you're not wearing much... I'd at least like a show..." ("base", xpos="far_left", ypos="head") - cho "Very well..." ("annoyed", "narrow", "angry", "down", cheeks="heavy_blush") # small text - - if tonks.is_worn("robe") or ( tonks.is_worn("top") and tonks.is_worn("bottom") ): - pass - else: #Tonks in in her underwear or naked. - ton "Stripping's out of the question for me that's for sure..." ("horny", "narrow", "base", "L", hair="horny") - ton "But I'll give you a good view at the very least...{heart}" ("horny", "narrow", "base", "mid", hair="horny") - - ton "Well in that case we shouldn't keep him waiting, should we?" ("horny", "narrow", "base", "L", hair="horny") - ton "After you, [tonks_cho_name]." ("horny", "narrow", "base", "L", hair="horny") - call play_music("stop") - - # Cho and Tonks hop onto the desk. - call hide_characters - hide screen bld1 - with d3 - pause .2 - - call cho_chibi(flip=False) - with d3 - pause .1 - - show screen blkfade - with d5 - - - # Tonks chibi on desk next to Cho's. # Tonks is facing left - call cho_chibi("stand", 314, 366, flip=True) - call ton_chibi("stand", 370, 360, flip=False) - - call play_sound("climb_desk") - pause 2 - - hide screen blkfade - with d5 - pause .8 - - call play_music("cho") - $ cho.zorder = 16 # in front of Tonks # Default is 15. - $ tonks.zorder = 15 # reset to default. - cho "" ("base", "narrow", "base", "L", cheeks="heavy_blush", xpos=280, ypos="base", flip=True) - ton "..." ("base", "narrow", "raised", "L", hair="horny", xpos=345, ypos="base") - - ton "This feels quite familiar, doesn't it, Miss Chang?" ("crooked_smile", "narrow", "raised", "L", hair="horny") - cho "..." ("horny", "narrow", "base", "mid", cheeks="blush") - ton "Let's not waste any more time..." ("horny", "narrow", "base", "L", hair="horny") - - ton "Who of us would you like to start, Professor?" ("base", "narrow", "base", "mid", hair="horny") - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - - menu: - "\"Miss Chang will go first.\"": - cho "..." ("horny", "narrow", "base", "down", cheeks="blush") - $ cho_position = 1 # Cho's current positon is in the middle. - - jump cc_pf_strip_T3_tonks.strip_cho - - "\"You go first, Miss Tonks!\"": - ton "*Hmm*..." ("base", "narrow", "base", "L", hair="horny") - ton "Saving the best for last, are we?" ("base", "narrow", "raised", "mid", hair="horny") - cho "..." ("horny", "narrow", "base", "downR", cheeks="blush") - $ cho_position = 1 # Cho's current position is in the middle. - - jump cc_pf_strip_T3_tonks.strip_tonks - - #"\"How about Miss Granger?\"" if doppler_done == True and succubus_done == True: - #jump cc_pf_strip_T3_tonks.strip_hermione - - - -## Cho Strips ## -label .strip_cho: - - # Check their positions. If Cho stands to the right she'll get moved to the middle. - if cho_position == 2: # to the right. - ton "Move between us, Cho." ("soft", "narrow", "shocked", "L", hair="horny") - ton "That way the headmaster can see you better." ("base", "narrow", "base", "mid", hair="horny") - cho "Yes, Professor." ("smile", "narrow", "base", "L", cheeks="blush") - call hide_characters - hide screen bld1 - with d5 - pause .2 - - # Cho stands in the middle, between Genie and Tonks. - $ cho_position = 1 # middle. - $ cho.zorder = 16 # in front of Tonks # Default is 15. - $ tonks.zorder = 15 # reset to default. - call cho_chibi("stand", 314, 366, flip=True) - call ton_chibi("stand", 370, 360, flip=False) - cho "" ("base", "narrow", "base", "mid", cheeks="blush", xpos=280, ypos="base", flip=True) - ton "" ("base", "narrow", "base", "mid", hair="horny", xpos=345, ypos="base", flip=False) - with d5 - call ctc - - - # Cho is wearing at least one clothing piece: - if cho.is_any_worn("robe", "top", "bottom", "bra", "panties"): - pass - else: # Cho is already naked. - ton "Well, since you're not really wearing much already..." ("soft", "narrow", "base", "L", hair="horny") - ton "There isn't that much more for me to help her take off, is there?" ("soft", "narrow", "base", "L", hair="horny") - cho "..." ("base", "narrow", "base", "downR", cheeks="heavy_blush") - pause .2 - $ cho.strip("all") - with d3 - - call cc_pf_strip_T3_tonks.spank_cho - - jump cc_pf_strip_T3_tonks.strip_check # label checks if both are nude. - - # Remove Top and Bottom. - if cho.is_any_worn("robe", "top", "bottom"): - ton "Let me help you get out of these clothes, Miss Chang." ("soft", "narrow", "base", "L", hair="horny") - cho "Yes, Professor." ("base", "narrow", "base", "down", cheeks="heavy_blush") - ton "" ("base", "narrow", "base", "down", hair="horny", xpos=300, ypos="base", flip=False, trans=d5) # moves closer to Cho. - pause .2 - - if cho.is_worn("robe"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("robe") - with d3 - pause .5 - cho "" ("horny", "narrow", "raised", "down", cheeks="blush") - call ctc - if cho.is_worn("top"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("top") - with d3 - pause .5 - cho "" ("horny", "narrow", "raised", "mid", cheeks="blush") - pause .8 - call nar(">Tonks swiftly pulls the girl's top over her chiselled frame.") - pause .2 - if cho.is_worn("bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bottom") - with d3 - pause .5 - cho "" ("horny", "narrow", "base", "down", cheeks="blush") - pause .8 - call nar(">A quick tug by her teacher, and Cho's bottoms slips down her muscular thighs.") - call ctc - - # Remove Bra and Panties. - if cho.is_any_worn("bra", "panties"): - ton "I like your underwear Miss Chang... Very cute!" ("soft", "narrow", "base", "L", hair="horny") - cho "" ("horny", "narrow", "base", "downR", cheeks="heavy_blush") - ton "" ("soft", "narrow", "base", "L", hair="horny", xpos=300, ypos="base", flip=False, trans=d5) # moves closer to Cho. - - if cho.is_worn("bra"): - ton "But...{w=0.3} That bra definitely has to come off." ("soft", "narrow", "angry", "down", hair="horny") - pause .5 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("bra") - with d3 - pause .5 - cho "" ("base", "narrow", "raised", "L", cheeks="blush") - pause .8 - call nar(">Tonks effortlessly removes the bra of her student.") - pause .2 - if cho.is_worn("panties"): - cho "..." ("mad", "narrow", "base", "down", cheeks="blush") - ton "Wearing panties is so silly, let's take those off... {heart}" ("crooked_smile", "narrow", "angry", "down", hair="horny") - pause .5 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ cho.strip("panties") - with d3 - pause .5 - cho "" ("horny", "narrow", "base", "down", cheeks="heavy_blush") - pause .8 - call nar(">Eyes fixated onto Cho's lovely Snitch, Tonks slowly pulls the girl's panties down her thighs.") - pause .2 - - - # Remove all Cho clothes. - $ cho.strip("all") - with d3 - cho "" ("base", "narrow", "base", "mid", cheeks="heavy_blush") - call ctc - - ton "" ("base", "narrow", "base", "mid", hair="horny", xpos=345, ypos="base", flip=False) # Tonks moves to her original position. - with d5 - - $ random_number = renpy.random.randint(1, 3) - - if random_number == 1: - ton "Look at all these muscles!" ("horny", "narrow", "raised", "down", hair="horny") - ton "I mean... I could easily get some muscles as well, but not without cheating..." ("open", "closed", "base", "mid", hair="horny") - ton "I'm quite impressed, Miss Chang." ("base", "narrow", "base", "L", hair="horny") - cho "Thank you." ("soft", "narrow", "base", "L", cheeks="blush") - elif random_number == 2: - ton "You look quite tasty, Miss Chang." ("horny", "narrow", "raised", "down", hair="horny") - cho "*Ehm*..." ("clench", "narrow", "worried", "down", cheeks="heavy_blush") - cho "Thanks?" ("soft", "narrow", "worried", "L", cheeks="heavy_blush") - else: - ton "Looks like we're done here, Professor." ("horny", "narrow", "raised", "mid", hair="horny") - gen "Excellent!" ("base", xpos="far_left", ypos="head") - gen "I do love watching you two." ("grin", xpos="far_left", ypos="head") - - call cc_pf_strip_T3_tonks.spank_cho - - jump cc_pf_strip_T3_tonks.strip_check - - -## Spank Cho ## -label .spank_cho: - # Cho should stand next to Genie for this. - menu: - gen "(...)" ("base", xpos="far_left", ypos="head") - "-Spank her!-": - pass - "-Don't spank her...-": - return - - call slap_her - ton "" ("crooked_smile", "narrow", "raised", "L", hair="horny") - cho "!!!" ("clench", "wide", "base", "mid", cheeks="heavy_blush") # shocked - cho "Ouch... Professor!" ("silly", "happyCl", "worried", "mid", cheeks="heavy_blush") - call play_sound("giggle") - ton "*Giggles*... {heart}{heart}{heart}" ("silly", "happyCl", "base", "mid", hair="horny", cheeks="blush") - ton "..." ("base", "narrow", "base", "mid", hair="horny") - - menu: - gen "(...)" ("base", xpos="far_left", ypos="head") - "-Spank her again!-": - call slap_her - ton "" ("crooked_smile", "narrow", "base", "mid", hair="horny") - cho "Professor!" ("clench", "wide", "raised", "mid", cheeks="heavy_blush") - gen "What? I know you like it." ("grin", xpos="far_left", ypos="head") - cho "I do not..." ("annoyed", "narrow", "angry", "mid", cheeks="heavy_blush") - - menu: - "-Again!-": - pass - call slap_her - cho "Sir!" ("clench", "wide", "base", "mid", cheeks="heavy_blush") - gen "I need to get these cushions ready for your next flight!" ("grin", xpos="far_left", ypos="head") - gen "Spank them tender so you're more comfortable on your broom-stick!" ("grin", xpos="far_left", ypos="head") - cho "I don't think that will be necessary." ("open", "happyCl", "angry", "mid", cheeks="blush") - - menu: - "-Slap it hard!-": - pass - call slap_her - cho "" ("clench", "wide", "raised", "mid", cheeks="heavy_blush") - ton "" ("grin", "narrow", "base", "mid", hair="horny", cheeks="blush") - pause .5 - call slap_her - pause .3 - call slap_her - pause .3 - call slap_her - cho "*Owww*..." ("clench", "happyCl", "worried", "mid", cheeks="heavy_blush") - cho "That's enough..." ("annoyed", "narrow", "angry", "mid", cheeks="blush") - gen "You'd probably enjoy it more if your teacher were to spank you, wouldn't you?" ("grin", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "base", "L", cheeks="blush") - ton "" ("base", "narrow", "base", "L", hair="horny") - cho "*Ehm*..." ("annoyed", "narrow", "raised", "mid", cheeks="heavy_blush") - call play_sound("giggle") - ton "*Giggles*... {heart}{heart}{heart}" ("base", "happyCl", "base", "mid", hair="horny", cheeks="heavy_blush") - ton "I won't be gentle on you either, Miss Chang." ("soft", "narrow", "base", "L", hair="horny") - cho "..." ("horny", "narrow", "worried", "down", cheeks="heavy_blush") - - return - - "-Ask Tonks to spank her.-": - gen "Miss Tonks, If you may..." ("grin", xpos="far_left", ypos="head") - ton "With pleasure!" ("grin", "narrow", "angry", "mid", hair="horny") - cho "But-- Professor Tonks!" ("clench", "base", "worried", "L", cheeks="heavy_blush") - ton "Don't worry, [tonks_cho_name]. You'll learn to love it! {heart}" ("horny", "narrow", "base", "L", hair="horny") - cho "" ("horny", "narrow", "worried", "mid", cheeks="heavy_blush") - ton "Now, turn around for me, please." ("soft", "narrow", "base", "L", hair="horny") - cho "..." ("clench", "narrow", "worried", "down", cheeks="heavy_blush") - pause .2 - - # Cho turns around. - call cho_chibi("stand", 325, 366, flip=False) - call ton_chibi("stand", 360, 360, flip=False) - ton "" ("base", "narrow", "base", "down", hair="horny", xpos=325, ypos="base", flip=False) - cho "" ("disgust", "narrow", "worried", "down", cheeks="blush", xpos=235, ypos="base", flip=False, trans=d5) - pause .5 - - call slap_her - cho "" ("normal", "happyCl", "worried", "mid", cheeks="blush") - ton "Such a firm ass you have, Miss Chang!" ("horny", "narrow", "raised", "down", hair="horny") - cho "" ("mad", "narrow", "worried", "downR", cheeks="blush") - call ctc - - gen "..." ("base", xpos="far_left", ypos="head") - ton "Lovely indeed... {heart}" ("grin", "narrow", "base", "down", hair="horny") - gen ".........." ("base", xpos="far_left", ypos="head") - gen "I don't hear any spanking." ("base", xpos="far_left", ypos="head") - ton "Don't worry, Sir. I'll get to that eventually... {heart}" ("open", "narrow", "annoyed", "mid", hair="horny") - gen "Building up the suspense are--" ("base", xpos="far_left", ypos="head") - call slap_her - cho "" ("horny", "narrow", "worried", "downR", cheeks="heavy_blush") - ton "You should get a good feel of it first, before you--" ("crooked_smile", "narrow", "annoyed", "down", hair="horny") - call slap_her - cho "" ("mad", "wide", "base", "mid", cheeks="heavy_blush") - ton "" ("horny", "narrow", "angry", "down", hair="angry") - pause .6 - call slap_her - pause .3 - call slap_her - pause .4 - ton "" ("horny", "narrow", "angry", "down", hair="horny") - cho "Please!" ("clench", "happyCl", "base", "mid", cheeks="heavy_blush") - ton "What's wrong, Miss Chang?" ("open", "narrow", "angry", "mid", hair="horny") - ton "You never get this flustered when you get hit by a bludger..." ("open", "narrow", "angry", "down", hair="horny") - call slap_her - ton "Surely a bit of a spanking isn't enough for you to..." ("horny", "narrow", "base", "mid", hair="horny") - cho "..." ("clench", "narrow", "worried", "down", cheeks="blush") - ton "Ask me nicely and I'll do it again, [tonks_cho_name]." ("crooked_smile", "narrow", "base", "mid", hair="horny") - gen "Go on, Cho... Ask your teacher to spank you." ("grin", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "worried", "downR", cheeks="heavy_blush") - cho "Please spank me again, Professor." ("soft", "narrow", "worried", "R", cheeks="heavy_blush") - ton "Of course sweetie...{w=0.4} Since you're asking so nicely." ("base", "narrow", "base", "L", hair="horny") - ton "" ("base", "narrow", "base", "down", hair="horny") - call slap_her - cho "" ("angry", "narrow", "worried", "up", cheeks="heavy_blush") - pause .5 - call slap_her - pause .4 - call slap_her - cho "" ("horny", "happyCl", "worried", "mid", cheeks="heavy_blush") - call ctc - - cho "..." ("horny", "narrow", "base", "R", cheeks="heavy_blush") - ton "*Hmm*..." ("annoyed", "narrow", "shocked", "down", hair="horny") - ton "A well behaved girl like you should be rewarded. {heart}" ("crooked_smile", "narrow", "raised", "L", hair="horny") - ton "Ten points for Ravenclaw, Miss Chang." ("soft", "narrow", "base", "L", hair="horny") - $ ravenclaw += 10 - cho "Thank you I guess--" ("crooked_smile", "narrow", "worried", "R", cheeks="heavy_blush") - ton "" ("horny", "narrow", "angry", "down", hair="horny") - call slap_her - cho "!!!" ("clench", "wide", "base", "mid", cheeks="heavy_blush") - cho "Ouch..." ("horny", "narrow", "worried", "R", cheeks="heavy_blush") - pause .2 - - # Cho turns around. - call cho_chibi("stand", 314, 366, flip=True) - call ton_chibi("stand", 370, 360, flip=False) - ton "" ("base", "narrow", "base", "mid", hair="horny", xpos=345, ypos="base", flip=False) - cho "" ("annoyed", "narrow", "base", "mid", cheeks="blush", xpos=280, ypos="base", flip=True, trans=d5) - pause .8 - - return - - return - - - -## Tonks Strips ## -label .strip_tonks: - - # Check their positions. If Tonks stands to the right she'll get moved to the middle. - if cho_position == 1: # middle. - ton "Cho, would you mind if I stood between you two?" ("open", "narrow", "base", "L", hair="horny") - ton "I'd like to give the headmaster a better view of my body." ("base", "narrow", "base", "mid", hair="horny") - cho "Not at all, Professor." ("smile", "narrow", "base", "L", cheeks="blush") - ton "Thank you, [tonks_cho_name]." ("soft", "narrow", "shocked", "L", hair="horny") - call hide_characters - hide screen bld1 - with d5 - pause .2 - - # Tonks stands in the middle, between Genie and Cho. - $ cho_position = 2 # to the right. - $ tonks_chibi.zorder = 2 # default is 3 - $ cho.zorder = 15 # reset to default. - $ tonks.zorder = 16 # in front of Cho # Default is 15. - call cho_chibi("stand", 370, 360, flip=False) - call ton_chibi("stand", 320, 360, flip=True) - with d3 - pause .5 - - cho "" ("base", "narrow", "base", "mid", cheeks="blush", xpos=315, ypos="base", flip=False) - ton "" ("base", "narrow", "base", "mid", hair="horny", xpos=280, ypos="base", flip=True) - with d5 - call ctc - - - # Tonks is wearing at least one clothing piece: - if tonks.is_worn("robe") or tonks.is_worn("top") or tonks.is_worn("bottom") or tonks.is_worn("bra") or tonks.is_worn("panties"): - cho "..." ("horny", "narrow", "base", "L", cheeks="blush") - if tonks.is_worn("top"): - ton "You don't mind if Miss Chang helps me undress, do you, Professor?" ("horny", "wink", "base", "mid", hair="horny") - gen "Of course not!" ("grin", xpos="far_left", ypos="head") - else: - ton "Just enjoy the show, Professor..." ("horny", "wink", "base", "mid", hair="horny") - pass - else: # Tonks is already naked. - ton "Professor... It seems like I'm not wearing much..." ("soft", "narrow", "base", "L", hair="horny") - ton "How shameful of me... Am I to get detention now?" ("horny", "narrow", "base", "mid", hair="horny") - gen "Damn right you are!" ("grin", xpos="far_left", ypos="head") - cho "..." ("base", "narrow", "base", "downR", cheeks="heavy_blush") - pause .2 - $ tonks.strip("all") - with d3 - - call cc_pf_strip_T3_tonks.spank_tonks - - jump cc_pf_strip_T3_tonks.strip_check # label checks if both are nude. - - # Remove Top and Bottom. - if tonks.is_worn("robe") or tonks.is_worn("top") or tonks.is_worn("bottom"): - ton "Help me get out of these clothes, Miss Chang." ("soft", "narrow", "base", "L", hair="horny") - cho "Yes, Professor." ("soft", "narrow", "base", "down", cheeks="blush") - cho "" ("horny", "narrow", "base", "down", cheeks="blush", xpos=315, ypos="base", flip=False, trans=d5) # Cho moves closer to Tonks. - pause .2 - - if tonks.is_worn("robe"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("robe") - with d3 - pause .5 - ton "" ("horny", "narrow", "raised", "down", hair="horny") - call ctc - if tonks.is_worn("top"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("top") - with d3 - pause .5 - ton "" ("horny", "narrow", "raised", "mid", hair="horny") - pause .8 - call nar(">Cho eagerly helps her teacher take off her top.") - pause .2 - if tonks.is_worn("bottom"): - ton "Remember... Always take your time when undressing in front of somebody." ("soft", "narrow", "base", "L", hair="horny") - ton "" ("base", "narrow", "base", "mid", hair="horny") - call nar(">Slowly, and with gracile movements, Tonks takes off her bottom piece of clothing.") - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("bottom") - with hpunch - pause .5 - ton "" ("horny", "narrow", "raised", "mid", hair="horny", cheeks="blush") - pause .8 - call nar(">And then flicks it out of sigh with one swift motion.") - call ctc - - # Remove Bra and Panties. - if tonks.is_worn("bra") or tonks.is_worn("panties"): - ton "*Hmm*... It's been a while since I had to remove underwear." ("annoyed", "narrow", "base", "down", hair="horny") - ton "Help me take them off, [tonks_cho_name]." ("base", "narrow", "base", "down", hair="horny") - cho "Of course..." ("smile", "narrow", "base", "down", cheeks="blush") - cho "" ("horny", "narrow", "base", "down", cheeks="blush", xpos=315, ypos="base", flip=False, trans=d5) # Cho moves closer to Tonks. - - if tonks.is_worn("bra"): - ton "Let's get these tits out already!" ("base", "narrow", "angry", "mid", hair="horny") - pause .5 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("bra") - with d3 - pause .5 - ton "" ("base", "narrow", "base", "mid", hair="horny") - pause .8 - call nar(">Tonks bares her impressive bosom for you both.") - pause .2 - if tonks.is_worn("panties"): - ton "Oh my... what happened to my panties..." ("soft", "narrow", "base", "down", hair="horny") - ton "I can't believe how wet they got!" ("clench", "narrow", "shocked", "down", hair="horny") - pause .5 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ tonks.strip("panties") - with d3 - pause .5 - ton "" ("horny", "narrow", "angry", "mid", hair="horny") - pause .8 - call nar(">Without much hesitation, Tonks panties are swiftly flung out of sight and out of mind.") - pause .2 - - # Remove all Cho clothes. - ton "" ("base", "narrow", "base", "mid", hair="horny") - $ tonks.strip("all") - with d3 - call ctc - - cho "" ("base", "narrow", "base", "mid", cheeks="blush", xpos=315, ypos="base", flip=False) # Cho moves to her original position. - with d5 - - $ random_number = renpy.random.randint(1, 3) - - if random_number == 1: - ton "How immoral for a teacher to do this sort of thing in front of a student..." ("open", "closed", "annoyed", "mid", hair="horny") - ton "You aren't going to report me for my wanton behaviour, are you, Miss Chang?" ("soft", "narrow", "annoyed", "L", hair="horny") - cho "No. Of course not, Professor." ("base", "narrow", "base", "L", cheeks="heavy_blush") - ton "Good girl." ("horny", "narrow", "base", "L", hair="horny") - cho "..." ("angry", "narrow", "base", "down", cheeks="blush") - elif random_number == 2: - ton "Are you enjoying yourself, Professor?" ("open", "narrow", "raised", "mid", hair="horny") - gen "With those tits in front of me? Always!" ("grin", xpos="far_left", ypos="head") - else: - ton "Did you like that, Professor?" ("horny", "narrow", "raised", "mid", hair="horny") - gen "I bloody love it!" ("grin", xpos="far_left", ypos="head") - - call cc_pf_strip_T3_tonks.spank_tonks - - jump cc_pf_strip_T3_tonks.strip_check - - -label .spank_tonks: - # Tonks should stand next to Genie for this. - menu: - gen "(...)" ("base", xpos="far_left", ypos="head") - "-Spank her!-": - pass - "-Don't spank her...-": - return - - call slap_her - ton "!!!" ("clench", "shocked", "base", "stare", hair="scared", cheeks="heavy_blush") # shocked - ton "*Mmm*... You're so naughty, Professor!" ("silly", "narrow", "angry", "mid", hair="horny", cheeks="blush") - ton "Right in front of a student and everything..." ("base", "narrow", "base", "mid", hair="horny", cheeks="blush") - call slap_her - ton "Ouch... {heart}{heart}{heart}" ("silly", "happyCl", "base", "mid", hair="horny", cheeks="blush") - cho "..." ("grin", "narrow", "base", "mid", cheeks="blush") - - menu: - gen "(...)" ("base", xpos="far_left", ypos="head") - "-Spank her again!-": - call slap_her - ton "*Mmm*... Spank me, Professor!" ("horny", "narrow", "angry", "mid", hair="horny", cheeks="heavy_blush") - - menu: - "-Again!-": - pass - call slap_her - ton "Not so rough, Sir! {heart}" ("soft", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") - cho "..." ("horny", "narrow", "base", "down", cheeks="heavy_blush") # blushing #lip bite #looking away - - menu: - "-Slap it hard!-": - pass - call slap_her - ton "" ("clench", "base", "shocked", "ahegao", hair="scared", cheeks="heavy_blush") - pause .5 - call slap_her - pause .3 - call slap_her - pause .3 - call slap_her - cho "" ("horny", "narrow", "worried", "mid", cheeks="heavy_blush") - ton "*Hngh*..." ("upset", "narrow", "base", "ahegao", hair="horny", cheeks="heavy_blush") - ton "Thank you, Professor. {heart}{heart}{heart}" ("soft", "narrow", "worried", "mid", hair="horny", cheeks="heavy_blush") - gen "You're welcome." ("grin", xpos="far_left", ypos="head") - cho "..." ("horny", "narrow", "base", "downR", cheeks="heavy_blush") - - return - - "-Ask Cho to spank her.-": - gen "Miss Chang, would you be so kind and slap your teacher's ass for me?" ("grin", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "base", "mid", hair="horny") - cho "Yes, Sir." ("open", "narrow", "angry", "mid", cheeks="blush") - ton "Do it, [tonks_cho_name]!" ("base", "narrow", "base", "L", hair="horny") - pause .2 - - # Tonks turns around. - call ton_chibi(flip=False) - ton "" ("base", "base", "base", "mid", hair="horny", cheeks="blush", xpos=215, ypos="base", flip=False, trans=d5) - pause .5 - - ton "Slap this naughty teacher's ass!" ("crooked_smile", "narrow", "angry", "R", hair="horny", cheeks="blush") - cho "..." ("base", "narrow", "angry", "down", cheeks="blush") - call slap_her - ton "Surely you can do better than that, Cho." ("soft", "narrow", "base", "downR", hair="horny") - cho "" ("annoyed", "narrow", "angry", "down", cheeks="blush") - call slap_her - ton "*Hngh*..." ("crooked_smile", "narrow", "base", "mid", hair="horny", cheeks="blush") - ton "Do I have to fetch a beaters bat so you can hit it properly, Miss Chang?" ("open", "narrow", "annoyed", "downR", hair="angry") - ton "I thought I asked you to slap it harder!" ("scream", "narrow", "angry", "downR", hair="angry") - cho "" ("clench", "narrow", "angry", "down", cheeks="blush") - call slap_her - ton "" ("mad", "wide", "shocked", "stare", hair="scared") - pause .5 - call slap_her - pause .3 - call slap_her - pause .2 - call slap_her - ton "!!!" ("clench", "narrow", "base", "ahegao", hair="horny", cheeks="heavy_blush") - cho "Good enough for you, Professor?" ("open", "narrow", "angry", "L", cheeks="blush") - ton "*Ah*...{w=0.4} Yes, [tonks_cho_name]... I'd say that was quite--" ("open", "narrow", "worried", "R", hair="horny") - cho "" ("annoyed", "narrow", "angry", "down", cheeks="blush") - call slap_her - ton "" ("clench", "narrow", "base", "ahegao", hair="scared") - pause .5 - call slap_her - pause .3 - call slap_her - pause .2 - call slap_her - ton "" ("horny", "narrow", "base", "ahegao", hair="horny", cheeks="heavy_blush") - call ctc - - gen "That's enough." ("base", xpos="far_left", ypos="head") - cho "Oh wow, it's really red now..." ("grin", "narrow", "base", "down", cheeks="blush") - ton "Very good, Miss Chang. {heart}" ("horny", "narrow", "worried", "R", hair="horny", cheeks="heavy_blush") - pause .2 - - # Tonks turns around. - call ton_chibi(flip=True) - ton "" ("base", "base", "base", "mid", hair="horny", cheeks="heavy_blush", xpos=280, ypos="base", flip=True, trans=dissolve) - pause .8 - - ton "Ten points for Ravenclaw." ("soft", "narrow", "base", "L", hair="horny", cheeks="heavy_blush") - $ ravenclaw += 10 - ton "For this thorough ass spanking!" ("horny", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") - cho "Thank you, Professor Tonks." ("crooked_smile", "narrow", "base", "down") - - return - - -# Check if Tonks and Cho are naked. Proceed to transformation section if they are. -label .strip_check: - # Cho is wearing at least one clothing piece: - if cho.is_any_worn("robe", "top", "bottom", "bra", "panties"): - jump cc_pf_strip_T3_tonks.strip_cho - # Tonks is wearing at least one clothing piece: - elif tonks.is_any_worn("robe", "top", "bottom", "bra", "panties"): - jump cc_pf_strip_T3_tonks.strip_tonks - # Both are naked; Proceed with event. - else: - jump cc_pf_strip_T3_tonks.transformations - - - -## Transformations ## -label .transformations: - # Intro Event 1 - Doppler or Succubus choice. - # Intro Event 2 - Doppler or Succubus choice. - # Repeatable Event - Transformations. - - $ cho.zorder = 16 # in front of Tonks # Default is 15. - $ tonks.zorder = 15 # reset to default. - call cho_chibi("stand", 314, 366, flip=True) - call ton_chibi("stand", 370, 360, flip=False) - ton "" ("base", "narrow", "base", "L", hair="horny", xpos=345, ypos="base", flip=False) - cho "" ("grin", "base", "base", "L", cheeks="blush", xpos=280, ypos="base", flip=True) - with d5 - - ## Intro Events 1 and 2: - if doppler_done == False or succubus_done == False: - - # Ask Tonks if she's a Doppler or a Succubus. - # After asking her both questions, the next time you do the event she'll do some tranformations. - - if doppler_done == True or succubus_done == True: # You have asked her if she was one of these before. - ton "You're getting quite good at this, Miss Chang." ("base", "narrow", "base", "L") - cho "Thank you, Professor." ("base", "narrow", "base", "L", cheeks="blush") - gen "She's learning from the best." ("base", xpos="far_left", ypos="head") - if succubus_done: - gen "Who'd be better suited to teach her how to entice a man than a semen stealing she-devil!" ("base", xpos="far_left", ypos="head") - ton "Please, Professor. I've already told you I'm not a Succubus..." ("open", "closed", "annoyed", "mid") - else: # doppler_done - gen "Who'd be better suited to teach her how to entice a man than a shapeshifter!" ("base", xpos="far_left", ypos="head") - ton "Please, Professor. I've already told you I'm not this... doppler creature you spoke of." ("open", "closed", "annoyed", "mid") - ton "" ("annoyed", "narrow", "annoyed", "mid") - gen "You can never be a hundred percent sure..." ("base", xpos="far_left", ypos="head") - cho "..." ("quiver", "narrow", "raised", "mid") - gen "My theories have yet to be completely debunked!" ("grin", xpos="far_left", ypos="head") - ton "Seriously?!" ("upset", "base", "raised", "mid") - ton "Alright then... What do you want me to do to convince you this time?" ("soft", "narrow", "base", "mid") - gen "Prove to me that you're not--" ("base", xpos="far_left", ypos="head") - pass - - else: - ton "*Hmm*... not so nervous around me anymore, are you, Cho?" ("crooked_smile", "narrow", "base", "L") - cho "Oh, I guess not. It seems like I got used to it..." ("crooked_smile", "narrow", "worried", "R", cheeks="blush") - cho "It's fun doing this sort of thing at school... I'm quite enjoying it." ("smile", "narrow", "base", "downR", cheeks="blush") - ton "Well, there's somebody who enjoys it even more than we do, isn't that right, Professor?" ("horny", "base", "raised", "mid", hair="horny") - gen "(...)" ("base", xpos="far_left", ypos="head") - ton "Professor?" ("soft", "narrow", "base", "mid") - cho "" ("annoyed", "narrow", "base", "mid", cheeks="blush") - ton "Something on your mind?" ("annoyed", "base", "raised", "mid") - gen "Actually, there is..." ("base", xpos="far_left", ypos="head") - gen "Since your abilities are so rare... Can we be certain that you are in fact human?" ("base", xpos="far_left", ypos="head") - ton "Don't be silly..." ("clench", "base", "shocked", "mid") - gen "You {b}are{/b} human, are you?" ("base", xpos="far_left", ypos="head") - ton "Of course I am, Professor!" ("open", "closed", "annoyed", "mid") - ton "What else am I suppose to be?" ("open", "narrow", "raised", "mid") - pass - - menu: - gen "(...)" ("base", xpos="far_left", ypos="head") - "\"A Doppler!\"" if doppler_done == False: - jump .doppler_E1 - "\"A Succubus!\"" if succubus_done == False: - jump .succubus_E1 - - - ## Repeatable ## - else: - pass - - call ctc - - gen "Tonks, would you mind showing us your little trick again?" ("grin", xpos="far_left", ypos="head") - ton "Of course. What's it gonna be, Professor?" ("grin", "base", "base", "mid") - ton "Remember I can transform into anything... or anyone." ("soft", "narrow", "base", "mid") # suggestive - cho "..." ("horny", "narrow", "base", "down", cheeks="blush") - gen "*Hmm*... who do I want you to turn into... Let me think." ("base", xpos="far_left", ypos="head") - - menu: - gen "Yes, I want you to shapeshift into--" ("grin", xpos="far_left", ypos="head") - "\"Hermione!\"": - jump cc_pf_strip_T3_tonks.hermione_E1 - "\"A Succubus!\"": - jump cc_pf_strip_T3_tonks.succubus_E2 - - - -## Doppler Event 1 ## -label cc_pf_strip_T3_tonks.doppler_E1: - if doppler_done == False: - # Intro - ton "*Hmmm?*... What's a \"doppler\"?" ("upset", "base", "base", "mid") - gen "What do you mean, what's a doppler?!" ("base", xpos="far_left", ypos="head") - gen "Aren't you part of the magical animal control... or whatever." ("angry", xpos="far_left", ypos="head") - ton "The Auror division does a lot more than \"animal control\"..." ("open", "narrow", "base", "mid") - gen "But you're incapable of identifying a doppler?" ("angry", xpos="far_left", ypos="head") - ton "I guess... This is the first time I'm hearing of such a creature." ("annoyed", "base", "raised", "mid") - cho "I haven't heard of them either, Sir." ("soft", "narrow", "base", "mid") - gen "What sort of magic school are we running here? Aren't you getting taught any Witcher lore?" ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "base", "base", "mid") - ton "Very well, Professor. Why don't you tell us about them?" ("upset", "narrow", "base", "mid") - gen "Oh, there's nobody better suited to do that than me, I'll have you know!" ("grin", xpos="far_left", ypos="head") - gen "After all, I know a lot about the Witcher just from playing the games alone!" ("grin", xpos="far_left", ypos="head") - gen "(Truth be told I skipped the first two, but they don't need to know that...)" ("base", xpos="far_left", ypos="head") - cho "What kind of \"games\" is he talking about, Professor?" ("soft", "base", "worried", "L") # looking at Tonks. Small text - ton "I haven't the foggiest..." ("mad", "base", "raised", "L") # looking back. Small text - - $ doppler_done = True - gen "Dopplers are hideous creatures, you see... Both in character, and in appearance." ("angry", xpos="far_left", ypos="head") - cho "" ("annoyed", "base", "base", "mid") - ton "" ("upset", "narrow", "base", "mid") - gen "They often abuse their ability for selfish gains, and manipulate people into thinking they're somebody else entirely." ("base", xpos="far_left", ypos="head") - cho "That does sound quite suspicious, Professor..." ("open", "narrow", "angry", "mid") - cho "After all, she's been abusing her powers to flaunt my bum at people!" ("annoyed", "narrow", "angry", "mid", cheeks="blush") - gen "That's true!" ("grin", xpos="far_left", ypos="head") - ton "Surely you can't blame me for that... As I said, it wasn't anything they hadn't seen before." ("soft", "base", "base", "R", hair="horny") - cho "But-- Professor!" ("annoyed", "narrow", "angry", "L", cheeks="heavy_blush") - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - ton "I'm not doing anything harmful, I promise." ("upset", "happyCl", "worried", "mid", hair="horny", cheeks="blush") - cho "..." ("annoyed", "narrow", "angry", "mid", cheeks="blush") # annoyed - - ton "So, what other \"Evidence\" do you have to further prove this theory?" ("soft", "narrow", "base", "mid", hair="horny") #Amused - gen "Well, there's a big reason why Dopplers indulge themselves when they get the chance to." ("base", xpos="far_left", ypos="head") - gen "Since they're incredibly ugly creatures, it wouldn't surprise me in the slightest that they'd change their appearance into a highly attractive woman when given the chance." ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "base", "base", "L", cheeks="blush") - ton "" ("annoyed", "base", "base", "mid", hair="horny") - gen "Miss Tonks, your appearance, it's almost too perfect..." ("base", xpos="far_left", ypos="head") - gen "You didn't find some smoking hot woman in a magazine did you?" ("base", xpos="far_left", ypos="head") - gen "We all know those are highly edited..." ("base", xpos="far_left", ypos="head") - ton "So I'm smoking hot, huh?" ("horny", "narrow", "base", "mid", hair="horny") - ton "You flatter me, but no... I've always looked like this." ("base", "happyCl", "base", "mid", hair="horny") - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "base", "base", "mid", cheeks="blush") # blushing - - gen "You can count yourself lucky that I haven't seen any bounties for a Doppler..." ("base", xpos="far_left", ypos="head") - gen "So, doppler or not..." ("base", xpos="far_left", ypos="head") - gen "You're off the hook for now." ("base", xpos="far_left", ypos="head") - ton "Well, I'm glad we cleared that up..." ("base", "narrow", "base", "mid") - cho "" ("annoyed", "base", "base", "mid", cheeks="blush") - ton "My ability is perfectly harmless, Professor." ("crooked_smile", "base", "base", "mid") - gen "You may say that, but we all know shape-shifting is the source of all kinds of evil sorcery!" ("angry", xpos="far_left", ypos="head") - ton "No it's not..." ("open", "closed", "annoyed", "mid") - gen "The last thing we need at this school is a rogue shapeshifter -- abusive of its powers..." ("angry", xpos="far_left", ypos="head") - ton "..." ("upset", "base", "base", "mid", hair="horny") - - gen "Anyway... Promise me you won't start murdering people and steal their identities." ("base", xpos="far_left", ypos="head") - cho "" ("angry", "base", "raised", "mid", cheeks="blush") - ton "What?! How could you even suggest that I would--" ("clench", "shocked", "shocked", "mid", hair="scared") # shocked - gen "Identity theft is not a joke, Tonks! Millions of families suffer every year!" ("angry", xpos="far_left", ypos="head") - ton "Yikes! Of course I won't do that, Professor!" ("clench", "happyCl", "base", "mid") - gen "Good." ("base", xpos="far_left", ypos="head") - ton "..." ("upset", "base", "worried", "mid") - cho "" ("annoyed", "base", "base", "mid") - gen "How come you're the only one that can shapeshift?" ("base", xpos="far_left", ypos="head") - ton "It's just very uncommon." ("open", "narrow", "raised", "down") - ton "You can't fault me for having it... I was born with it." ("annoyed", "base", "base", "mid") - gen "Very well then, I shall believe that you're not a doppler..." ("base", xpos="far_left", ypos="head") - gen "(For now...)" ("base", xpos="far_left", ypos="head") - ton "Glad to hear it." ("mad", "base", "base", "mid") - cho "..." ("soft", "narrow", "worried", "L") - ton "Anyhow, it's getting quite late, Professor." ("soft", "narrow", "base", "L") - - # End Event. - jump cc_pf_strip_T3_tonks.end_event - - -## Succubus Event 1 ## -label cc_pf_strip_T3_tonks.succubus_E1: - if succubus_done == False: - # Intro - ton "*snort!*... For real?" ("crooked_smile", "happyCl", "shocked", "mid") - cho "Oh, I've heard of those, Professor!" ("grin", "happyCl", "base", "mid") - cho "They're demons in female form, that can visit you in your dreams and murder you!" ("soft", "narrow", "angry", "mid") - ton "Very good, Miss Chang..." ("crooked_smile", "base", "base", "L") - ton "Ten points for Ravenclaw!" ("soft", "narrow", "base", "L") - $ ravenclaw += 10 - cho "Thank you." ("smile", "narrow", "base", "downR", cheeks="blush") # happy - - $ succubus_done = True - ton "I mean... I'm quite flattered, Professor..." ("open", "narrow", "raised", "mid") - ton "Who doesn't want to be compared to a demonic, sex-driven temptress!" ("soft", "narrow", "base", "mid", hair="horny") - cho "" ("annoyed", "base", "base", "mid", cheeks="blush") - gen "I knew it! You're a Succubus!" ("grin", xpos="far_left", ypos="head") - cho "" ("annoyed", "base", "raised", "L", cheeks="blush") - ton "No I'm not, silly!" ("open", "closed", "base", "mid") - ton "..." ("annoyed", "base", "shocked", "L", hair="horny") # thinks - ton "Well, I do have similar shapeshifting abilities, that's true..." ("soft", "base", "base", "down", hair="horny") - ton "And share some of their more raunchy characteristics..." ("crooked_smile", "happyCl", "base", "mid", hair="horny") - gen "Not to mention a banger body!" ("grin", xpos="far_left", ypos="head") - ton "Obviously." ("soft", "narrow", "base", "mid", hair="horny") - cho "..." ("horny", "narrow", "base", "L", cheeks="blush") # blushing - ton "I may also act like one on the occasion..." ("open", "base", "base", "R", hair="horny") - - # TODO: v v v Added this bit of writing. Needs review - gen "But you're still denying that you're an alluring sex-demon, even after that last demonstration?" ("base", xpos="far_left", ypos="head") - ton "I might have some unusual talents, that's all..." ("open", "base", "base", "R", hair="horny") - ton "Why are you so scared of them anyway?" ("open", "narrow", "base", "mid", hair="horny") - ton "What's the worst a succubus could do to you?" ("horny", "narrow", "base", "mid", hair="horny") - gen "Do I really have to tell the two of you of what they do?" ("angry", xpos="far_left", ypos="head") - gen "I won't let any demon suck the life-blood out of my penis!" ("angry", xpos="far_left", ypos="head") - ton "" ("normal", "base", "base", "mid", hair="horny") - cho "What?!" ("clench", "base", "base", "mid") # bit shocked. - ton "Well, if I was one, I promise you I wouldn't do that..." ("mad", "narrow", "base", "mid", hair="horny") - ton "Not as long as there's plenty of other essence to be gathered." ("horny", "narrow", "angry", "mid", hair="horny") - cho "Professors?!" ("mad", "narrow", "base", "downR") # uncomfortable - gen "Then I better not run out of essence!" ("grin", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "base", "mid") - gen "Thought you could trick me, you semen loving sex-demon!" ("grin", xpos="far_left", ypos="head") - # TODO: ^ ^ ^ Added this bit of writing. Needs review - - ton "I'm still human, and not a sex-demon...{w=0.5} Believe it or not." ("open", "narrow", "raised", "mid", hair="horny") - gen "If you say so..." ("base", xpos="far_left", ypos="head") - ton "If you'd met one before, you'd know the difference between me and a succubus right away..." ("base", "narrow", "base", "mid", hair="horny") - ton "They are quite relentless when it comes to sex, you know. -- Even more so than I am!" ("horny", "narrow", "annoyed", "mid", hair="horny") - cho "You have met a Succubus, Professor? But I thought they're extremely dangerous." ("mad", "base", "base", "mid") - ton "Oh yes! You have to be extremely careful around them..." ("soft", "base", "base", "L", hair="horny") - gen "Don't tell me you--" ("base", xpos="far_left", ypos="head") - ton "Who do you think you're talking to, Professor.{w=0.5} Of course I did." ("base", "narrow", "base", "mid", hair="horny") # horny, confident - cho "No way!" ("horny", "base", "base", "L", cheeks="heavy_blush") - ton "It was part of an auror job, obviously. Maybe I'll tell you about it some time." ("crooked_smile", "base", "base", "mid", hair="horny") - cho "Yes! I want to hear it!" ("grin", "base", "base", "mid") - ton "Are you sure you'd want that, honey?" ("soft", "narrow", "base", "L", hair="horny") - ton "It's quite the filthy story... You don't walk away from a Succubus unscarred unless you can impress her!" ("horny", "narrow", "raised", "mid", hair="horny") # horny - cho "*Uhm*..." ("disgust", "narrow", "worried", "downR", cheeks="heavy_blush") - call play_sound("gulp") - gen "*gulp*..." ("angry", xpos="far_left", ypos="head") # sound - ton "Of course I could tone it down for you guys." ("base", "happyCl", "base", "mid", hair="horny") - gen "No, please. We'd love to hear the full story!" ("grin", xpos="far_left", ypos="head") - cho "..." ("horny", "narrow", "base", "mid", cheeks="blush") - ton "Next time. I promise." ("base", "narrow", "base", "mid") - ton "Anyhow, it's getting quite late, Professor." ("soft", "narrow", "base", "L") - - # End Event. - jump cc_pf_strip_T3_tonks.end_event - - -## Succubus Event 2 ## -label .succubus_E2: - ton "You want me to shapeshift into a Succubus?" ("base", "narrow", "base", "mid") - cho "" ("horny", "narrow", "base", "L") - gen "Hell yeah! I do love me some cosplay!" ("grin", xpos="far_left", ypos="head") - ton "It's not..." ("open", "base", "shocked", "R") - ton "Very well then..." ("open", "closed", "base", "mid") - - # Tonks transforms into a Succubus - stop music fadeout 0.5 - cho "" ("mad", "narrow", "base", "down", xpos=265, ypos="base", flip=True) # bit more to the left - ton "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False) # bit more to the right - with fade - pause .5 - - $ renpy.sound.play("sounds/magic3.ogg") - $ tonks.equip(ton_outfit_succubus) - ton "" ("horny", "narrow", "base", "mid", trans=flash) - call ctc - - call play_music("trance") - ton "{heart}{heart}{heart}" - gen "Marvellous!" ("grin", xpos="far_left", ypos="head") - cho "..." ("horny", "narrow", "raised", "down", cheeks="blush") # blush - ton "*Giggles*" ("horny", "narrow", "raised", "L", hair="horny") #sound - ton "What do you think?" ("grin", "narrow", "base", "mid", hair="horny") - ton "Do you like it?" ("horny", "narrow", "annoyed", "down", hair="horny") - cho "..." ("horny", "narrow", "worried", "down", cheeks="blush") - pause .8 - ton "Miss Chang?" ("soft", "narrow", "base", "L", hair="horny") - cho "Oh! Yes... Very impressive, Professor!" ("soft", "narrow", "worried", "L", cheeks="heavy_blush") - ton "I don't think my skin tone is quite right... I believe they're usually more devilish looking." ("upset", "narrow", "base", "down", hair="horny") - gen "I can already feel my balls retract by fear." ("angry", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "base", "mid", hair="horny") - cho "Your... What, Sir?" ("clench", "wide", "base", "mid") #wide eyed - ton "Don't worry, Miss Chang... Unless you're in a state of high arousal then you have nothing to worry about." ("crooked_smile", "narrow", "base", "L", hair="horny") - cho "*Ehm*... If you say so, Professor." ("normal", "happyCl", "worried", "mid", cheeks="blush") - ton "Now the Professor on the other hand..." ("mad", "narrow", "angry", "mid", hair="angry") - cho "" ("mad", "base", "raised", "mid", cheeks="blush") - ton "He can call himself very lucky that I'm not a real Succubus." ("soft", "narrow", "base", "mid", hair="angry") - gen "I'm not ruling out the possibility..." ("base", xpos="far_left", ypos="head") - ton "*Tsk*..." ("upset", "narrow", "base", "mid", hair="angry") - gen "Though I must say you're much more attractive than the last demon who visited me..." ("base", xpos="far_left", ypos="head") - ton "" ("annoyed", "narrow", "raised", "mid", hair="angry") - cho "You were visited by a demon, Professor?" ("soft", "narrow", "base", "mid") - gen "Yes... Although it was just your regular sleep paralysis demon." ("base", xpos="far_left", ypos="head") - ton "" ("base", "narrow", "base", "mid", hair="angry") - cho "Oh..." ("disgust", "narrow", "base", "down") - gen "A rather horrifying looking one at that... Not sexy in the slightest!" ("angry", xpos="far_left", ypos="head") - gen "Mating with it proved itself to be quite difficult..." ("grin", xpos="far_left", ypos="head") - ton "Of course you did..." ("horny", "narrow", "angry", "mid", hair="angry") - cho "You... Wait, did you say {b}it{/b}, Sir?" ("open", "base", "base", "mid") #wide eyed - gen "*Ahem*... So, how does one summon a Succubus anyway?" ("base", xpos="far_left", ypos="head") - gen "I'm sure you're an expert in the subject, Miss Tonks." ("grin", xpos="far_left", ypos="head") - cho "{b}It{/b}, sir?!" ("mad", "narrow", "raised", "mid") - ton "*Hmm*... I wouldn't call myself an expert..." ("base", "narrow", "base", "mid") - cho "But what about your Auror Training professor?" ("annoyed", "narrow", "base", "L") #annoyed pout - ton "" ("base", "narrow", "base", "L") #Glances at Cho - cho "..." ("base", "narrow", "base", "L", cheeks="blush") #embarrased - ton "Now I know I'm your Teacher, Miss Chang, but that doesn't mean I'm at an expert level of every subject before doing proper research..." ("open", "narrow", "raised", "L") - cho "Oh... Of course, Professor... I didn't mean to--" ("mad", "narrow", "worried", "down", cheeks="blush") - ton "Whilst we did cover Succubi during our training, the subject of summoning wasn't very in depth..." ("soft", "narrow", "raised", "L") - cho "" ("base", "narrow", "worried", "L", cheeks="blush") - ton "We mostly learned how to easily recognize and how to... Deal with various magical beings." ("open", "closed", "base", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - ton "That said..." ("grin", "narrow", "base", "mid") - ton "What I do know is that they usually come off as quite erratic and spontaneous." ("soft", "narrow", "shocked", "mid") - ton "In most cases you'd only encounter them if {b}they{/b} want you to..." ("base", "narrow", "base", "mid") - ton "So summoning one would be quite difficult." ("base", "narrow", "base", "L") - gen "Well... Luckily I have the ability to summon you any time I want!" ("grin", xpos="far_left", ypos="head") - ton "*Hmmm*... Be careful what you wish for, Professor..." ("horny", "narrow", "base", "mid", hair="horny") - ton "I can be just as dangerous and seductive... {heart}" ("horny", "narrow", "angry", "mid", hair="angry") - cho "" ("horny", "narrow", "worried", "mid", cheeks="blush") - gen "See that hungry look in her eyes, Cho?" ("angry", xpos="far_left", ypos="head") - cho "" ("horny", "narrow", "worried", "L", cheeks="blush") - gen "This Succubus is out to steal all my semen!" ("grin", xpos="far_left", ypos="head") - ton "Oh, don't tempt me, Professor..." ("crooked_smile", "narrow", "angry", "mid", hair="horny") - cho "..." ("base", "narrow", "worried", "down", cheeks="blush") # embarrassed - - #Tonks succubus encounter story - cho "*Ehm*...{w=0.5} So, did you actually confront a real Succubus, Professor?" ("soft", "narrow", "base", "L", cheeks="blush") - ton "Oh, Yes indeed, Miss Chang!" ("base", "happyCl", "base", "mid", hair="horny") - ton "It happened during my first year of Auror training, when I was still a complete novice." ("open", "narrow", "raised", "L") - ton "We were tracked down by one during a scouting mission... Unbeknownst to us, of course." ("crooked_smile", "narrow", "base", "mid") - cho "She tracked you down?" ("mad", "base", "raised", "L", cheeks="blush") - ton "Yes... They can sense the arousal of humans from miles away... Even further if they haven't had any relief for some time." ("base", "narrow", "base", "L") - gen "Well, who can blame your partner with you around?" ("base", xpos="far_left", ypos="head") - ton "*giggles*" ("base", "happyCl", "base", "mid", hair="horny") #sound - ton "Oh silly... She was after me, of course!" ("soft", "narrow", "base", "mid", hair="horny") - cho "No way!?" ("horny", "narrow", "raised", "L", cheeks="blush") - ton "I know what you're going to say, Professor... And yes... They don't usually go after females." ("open", "closed", "base", "mid", hair="horny") - cho "But she still came after you?" ("soft", "narrow", "raised", "L", cheeks="blush") - cho "When did you and your partner notice her?" ("mad", "narrow", "base", "L", cheeks="blush") - ton "Well... My partner didn't notice her exactly... I might've wandered a bit further away from our camp than I should have..." ("soft", "narrow", "base", "downR", hair="horny") - ton "You know... To get some privacy." ("crooked_smile", "narrow", "base", "mid", hair="horny", cheeks="blush") - ton "She must've taken some great caution to be able to sneak up on me, but after a while of... *Ehm*..." ("clench", "narrow", "base", "L", hair="horny") - ton "After some time I noticed her movements among the bushes." ("open", "closed", "base", "mid", hair="horny") - ton "Once I noticed her presence there was no doubt in my mind why she had snuck up on me..." ("grin", "narrow", "base", "mid", hair="horny") - gen "Let me guess... She was--" ("base", xpos="far_left", ypos="head") - ton "She was going full force, pleasuring herself... Not even noticing that I had stopped and spotted her!" ("grin", "narrow", "angry", "mid", hair="horny") - cho "Stopped what?" ("annoyed", "base", "raised", "mid") - gen "Shush, Miss Chang... Don't interrupt the story!" ("grin", xpos="far_left", ypos="head") - ton "Of course I had to be a hundred percent sure what creature she was, so I went to take out my wand to make some light, but..." ("base", "narrow", "base", "L", hair="horny") - ton "Before I knew it she had flown right up next to me, grabbing my wrists." ("open", "narrow", "angry", "mid", hair="angry") - cho "And then you used your auror training to fight her!" ("grin", "narrow", "angry", "L") - call play_sound("giggle") - ton "*Giggles*...{w=0.4} No, we made out instead." ("horny", "narrow", "raised", "L", hair="horny") #sound - cho "You...{w} Made out with her!?" ("clench", "wide", "base", "L") - ton "Of course! She couldn't get enough of me!" ("grin", "happyCl", "base", "mid", hair="horny") - ton "After all... I'm quite skilled with my tongue." ("horny", "narrow", "base", "mid", hair="horny") - cho "Your--" ("soft", "narrow", "worried", "L", cheeks="blush") - gen "Tongue!" ("grin", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*" ("base", "happyCl", "base", "mid", hair="horny") - ton "Yes indeed... Would you like a demonstration?" ("crooked_smile", "narrow", "base", "mid", hair="horny") - - menu: - gen "!!!" ("grin", xpos="far_left", ypos="head") - "\"Yes please!\"": - ton "Yeah, I bet you'd like that, Professor. {heart}" ("horny", "narrow", "base", "mid", hair="horny") - ton "Maybe some other time." ("soft", "narrow", "base", "mid", hair="horny") - cho "..." ("clench", "narrow", "worried", "down", cheeks="blush") # curious look - - "\"What do you say, Miss Chang?\"": - cho "With m-me?" ("clench", "wide", "raised", "mid", cheeks="heavy_blush") - ton "No, silly... Well not today at least. {heart}" ("soft", "narrow", "base", "L", hair="horny") - cho "..." ("clench", "narrow", "worried", "down", cheeks="blush") # blushing - - # Tonks shows her tongue. - ton "You'll have to settle for a peek for now..." ("horny", "narrow", "base", "mid", hair="horny") - cho "..." ("horny", "narrow", "base", "L", cheeks="blush") #blush - gen "*Hmm?*..." ("base", xpos="far_left", ypos="head") - ton "*Ahh*..." ("open_wide", "narrow", "base", "down", hair="horny") - cho "" ("horny", "base", "raised", "L", cheeks="blush") - ton "*Ahhhhhhh*........." ("open_wide_tongue", "narrow", "angry", "down", hair="horny") # Tonks shows her tongue. - cho "Wow!" ("open", "base", "raised", "L", cheeks="blush") - gen "..." ("grin", xpos="far_left", ypos="head") - ton "Ae I chahn mhehk i ash ong ashh I whan..." ("open_wide_tongue", "narrow", "angry", "mid", hair="horny") - ton "... shee!" ("open_wide_tongue2", "narrow", "angry", "down", hair="horny") # Tongue all the way out. - cho "By Merlin's beard!" ("clench", "narrow", "worried", "L", cheeks="heavy_blush") #blush - gen "Nice..." ("grin", xpos="far_left", ypos="head") - gen "Although with a succubus I highly doubt there was just kissing going on..." ("grin", xpos="far_left", ypos="head") - ton "*Hmm*... Yesh, thaht little devil..." ("open_wide_tongue", "narrow", "angry", "mid", hair="horny") - ton "She was very quick to lock my head in place between her thighs, and then impaled herself on my tongue." ("open_wide_tongue", "narrow", "raised", "mid", hair="horny") - ton "Rode my tongue for a good hour, that freak..." ("horny", "narrow", "angry", "mid", hair="horny") - - #gen "You're calling her a freak? Your tongue is longer than my dick!" ("angry", xpos="far_left", ypos="head") - #cho "Professor?" - #ton "Oh, sweetie... My dick could be longer than your dick..." - #cho "What?!" - #ton "Not that I have one currently..." - #ton "But I could make it as long as I want!" - #cho "..." #looking at floor - #gen "What else? Does it vibrate too? How are you even supposed to compete with that?" ("angry", xpos="far_left", ypos="head") - #ton "*giggles*" #sound - #ton "I haven't tried that actually... That's not a bad idea." - #cho "" #blush - #gen "..." ("base", xpos="far_left", ypos="head") - #ton "Don't you worry professor... There's always the need for that masculine touch..." - - gen "(Like you didn't enjoy every minute of it...)" ("grin", xpos="far_left", ypos="head") - ton "Pleasuring her was quite exhausting to say the least..." ("soft", "narrow", "base", "L", hair="horny") - ton "I licked her inside out until my whole face was covered in her devilish love-juices... {heart}" ("horny", "narrow", "angry", "mid", hair="angry") - cho "" ("clench", "narrow", "worried", "down", cheeks="heavy_blush") #Horny #looks at tonks - call ctc - - ton "Although... I did almost drown..." ("upset", "base", "raised", "up", hair="horny") # thinking back - ton "Her thighs, practically glued to my cheeks meant there was no other way for her juices to flow than into my mouth..." ("open", "narrow", "annoyed", "mid", hair="horny") - ton "Her essence becoming too much for me to handle as it eventually ran up my nose." ("horny", "narrow", "base", "down", hair="horny") - gen "Holy shit." ("base", xpos="far_left", ypos="head") - ton "I had no other choice but to swallow all of it..." ("grin", "narrow", "base", "mid", hair="horny") - cho "" ("normal", "happyCl", "worried", "mid", cheeks="heavy_blush") - call play_sound("gulp") - gen "*gulp*" ("angry", xpos="far_left", ypos="head") - cho "" ("horny", "narrow", "worried", "L", cheeks="blush") - ton "That little demon must've come at least twenty times that night. {heart}" ("open_wide_tongue", "narrow", "raised", "L", hair="horny") - ton "I could give you a ride on this as well if you'd like, Miss Chang." ("open_wide_tongue2", "narrow", "angry", "L", hair="horny", cheeks="heavy_blush") # tongue out - cho "Professor--" ("soft", "narrow", "worried", "mid", cheeks="heavy_blush") # embarrassed #looks at you - gen "Tonks, not before--" ("base", xpos="far_left", ypos="head") - ton "Yes, yes... Not before you win that silly Quidditch cup." ("mad", "closed", "angry", "mid", hair="angry", cheeks="heavy_blush") - cho "It's not silly!" ("annoyed", "narrow", "angry", "L", cheeks="blush") - ton "Winning that cup won't feel as good as having my tongue inside you, Miss Chang... I can promise you that much." ("annoyed", "narrow", "angry", "L", hair="horny", cheeks="heavy_blush") - cho "..." ("clench", "happyCl", "worried", "mid", cheeks="heavy_blush") #Pout #blush - ton "Well then... I hope you two liked my little story. {heart}" ("open", "closed", "base", "mid", hair="horny") - ton "And my new outfit of course..." ("crooked_smile", "narrow", "base", "down", hair="horny") - - # Unlock outfit message. Should only appear once. - if not ton_outfit_succubus.unlocked: - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_succubus) - - cho "" ("horny", "narrow", "worried", "L", cheeks="heavy_blush") - ton "Maybe I could dress as a Succubus for Halloween. I'm sure the boys would love it..." ("base", "narrow", "base", "mid", hair="horny") - gen "With or without the tits out?" ("grin", xpos="far_left", ypos="head") - ton "*Hmm*... Haven't decided yet." ("upset", "narrow", "raised", "down", hair="horny") - cho "..." ("clench", "narrow", "worried", "mid", cheeks="blush") - ton "Well then... Off we go Miss Chang..." ("soft", "narrow", "base", "L", hair="horny") - - # End Event. - jump cc_pf_strip_T3_tonks.end_event - - - -## Hermione Transformation ## -label .hermione_E1: - # Pink Hair: $ hermione.get_equipped("hair").set_color([[255, 87, 171, 255], [255, 210, 227, 255], [230, 141, 32, 255]]) - # Brown Hair: $ hermione.get_equipped("hair").set_color([[152, 89, 48, 255], [195, 137, 89, 255], [230, 141, 32, 255]]) - ton "Hermione again, *Hmm*?" ("base", "base", "base", "mid") - ton "Seems to me like she's a bit of a favourite, isn't she?" ("soft", "narrow", "raised", "mid") - gen "What can I say, she's got the best tits in the house!" ("grin", xpos="far_left", ypos="head") - cho "Hey! That's not true!" ("annoyed", "narrow", "base", "mid") - gen "It isn't? Then who's tits are better, Miss Chang?" ("base", xpos="far_left", ypos="head") - gen "Do tell me, I'd love to know!" ("grin", xpos="far_left", ypos="head") - cho "Just forget I said anything..." ("annoyed", "narrow", "base", "L") - ton "Well, I for one am not going to disagree with you, Professor." ("crooked_smile", "narrow", "base", "mid") - ton "Miss Granger's tits are quite nice indeed..." ("horny", "narrow", "angry", "mid", hair="horny") - cho "..." ("normal", "narrow", "base", "up") - ton "I mean we could do something else if you'd like, Miss--" ("open", "base", "base", "L") - gen "No, No-- Do the thing!" ("grin", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "base", "L", cheeks="blush") - ton "Certainly... With pleasure." ("base", "happyCl", "base", "mid") - stop music - pause .8 - - # Save custom Hermione name - $ temp_name = hermione_name - $ hermione_name = "Tonks" - - # Transforms into Hermione - call play_sound("magic") - hide tonks_main - $ hermione.strip("all") - $ cho_chibi.zorder = 3 # Reset to default. - $ hermione_chibi.zorder = 2 # behind Cho. Default is 3. - call ton_chibi("hide") - call her_chibi("stand", 370, 360, flip=False) - her "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False, trans=morph) - pause .2 - - cho "" ("horny", "narrow", "worried", "L", cheeks="heavy_blush") - call ctc - - call play_music("trance") - her "Well then, here she is..." ("smile", "narrow", "angry", "mid") - her "Feel free to touch me, Cho." ("base", "narrow", "annoyed", "R") - her "Unlike Hermione I won't bite you... Probably. {heart}" ("smile", "narrow", "annoyed", "down") - cho "..." ("mad", "narrow", "worried", "down", cheeks="blush") # blush - her "I simply love getting groped..." ("soft", "narrow", "angry", "up") - cho "" ("horny", "narrow", "worried", "L", cheeks="blush") - gen "That reminds me... Let's talk about how well you did during the last quidditch match..." ("grin", xpos="far_left", ypos="head") - gen "You did quite a good job pretending to be Hermione." ("base", xpos="far_left", ypos="head") - gen "Wouldn't you say she did a good job commentating, Miss Chang?" ("grin", xpos="far_left", ypos="head") - cho "Oh... Well I wouldn't know since I was more focused on playing, Sir..." ("soft", "base", "base", "mid", cheeks="blush") - cho "But from what I could gather you did quite well, *uhm*... Professor." ("silly", "narrow", "worried", "L", cheeks="heavy_blush") - gen "Yes... She put so much effort into it... you must have been completely exhausted by the end..." ("base", xpos="far_left", ypos="head") - cho "" ("horny", "narrow", "worried", "L", cheeks="blush") - her "... {heart}" ("base", "happy", "base", "mid_soft", cheeks="blush") # blushing - cho "You were?" ("smile", "narrow", "base", "L", cheeks="blush") - gen "Indeed... Addressing the entire school is no easy task, Miss Chang..." ("base", xpos="far_left", ypos="head") - her "..." ("crooked_smile", "happyCl", "base", "mid") #Horny #Starts touching breasts (If Cho isn't looking) - - show screen blkfade - with d5 - $ renpy.play("sounds/slick_02.ogg") - with hpunch - with kissiris - $ hermione.set_pose("masturbate") - $ hermione.set_body(armleft="on_pussy") - her "" ("base", "narrow", "worried", "stare") - hide screen blkfade - with d5 - - gen "You have to Stay completely focused when you're tasked with commentating on everything that's happening." ("base", xpos="far_left", ypos="head") - cho "Surely commentating doesn't even come close to the amount of focus you need to spot the snitch..." ("soft", "narrow", "raised", "mid") - cho "Or how would Granger be able to do it?" ("annoyed", "narrow", "base", "R") - gen "Depends how easily you get distracted, I suppose..." ("base", xpos="far_left", ypos="head") - gen "Would you say that you're easily distracted... Miss Granger?" ("base", xpos="far_left", ypos="head") - her "*Mmm*..." ("base", "narrow", "base", "stare_soft") - gen "Miss Granger?" ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "base", "L") #annoyed - her "*Mmm*... Just thinking about it gets me all riled up again..." ("open", "narrow", "worried", "mid") - cho "Professor, what are you..." ("disgust", "narrow", "base", "L", cheeks="blush") #Looks at Tonks/Hermione - her "*Hmm*... Sorry, what did you say?" ("open_tongue", "narrow", "base", "L") - cho "What are you doing?" ("mad", "happyCl", "base", "mid", cheeks="blush") - call play_sound("giggle") - her "*giggles*" ("base", "narrow", "base", "mid", cheeks="blush") #sound - her "What does it look like?" ("grin", "narrow", "base", "L") - cho "You're touching your... Her--" ("clench", "narrow", "raised", "down", cheeks="blush") - her "Yes... How could I not?" ("base", "narrow", "base", "mid") - her "These breasts are just so..." ("soft", "narrow", "base", "down") - - #pinch nipples. - - - # Hands on pussy, tits - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy", armright="on_tits") - play bg_sounds "sounds/slickloop.ogg" fadein 2 - - her "*Mmmh*... So soft..." ("base", "closed", "base", "mid") - her "And her nipples..." ("soft", "narrow", "base", "down") - her "*Ah*..." ("open_tongue", "narrow", "base", "stare_soft") - her "So sensitive..." ("base", "narrow", "base", "up") - cho "*Ehm*..." ("horny", "narrow", "worried", "down", cheeks="heavy_blush") - her "*Mhmm*... And I bet her nipples aren't the only--" ("open", "narrow", "base", "down") - her "" ("grin", "closed", "worried", "mid") #Hand in front of pussy - pause .8 - $ renpy.play("sounds/slick_02.ogg") - her "*Ah*..." ("open_tongue", "narrow", "base", "up") #Hand on pussy - cho "Tonks!" ("mad", "narrow", "worried", "R", cheeks="heavy_blush") - - play bg_sounds "sounds/slickloop.ogg" fadein 2 #Continuous masturbate loop - her "*Mmmm*..." ("base", "narrow", "base", "up") - pause 1 - her "*Hmm?*... Not even a peek?" ("soft", "narrow", "base", "L") - her "Don't you want to see what Hermione looks like when... *Ah*... She masturbates?" ("grin", "narrow", "worried", "down", cheeks="blush") - her "Are you sure you... *Ah*...{w=0.4} Want to miss this?" ("open", "closed", "base", "mid", cheeks="blush") - cho "..." ("clench", "narrow", "worried", "down", cheeks="heavy_blush") #glances at her - her "*Ah*...{w=0.3} That's it, Cho..." ("smile", "narrow", "base", "L") - her "I knew you couldn't resist..." ("soft", "narrow", "base", "up") - cho "" ("horny", "narrow", "worried", "down", cheeks="heavy_blush") #Horny - call ctc - - her "*Ah*...{w=0.3} Look at me as I rub Granger's cute little slit." ("open_wide_tongue", "narrow", "angry", "up", cheeks="blush") - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("open_wide_tongue", "narrow", "worried", "up", cheeks="blush") - cho "" ("horny", "narrow", "worried", "downR", cheeks="heavy_blush") #looks away - call ctc - - her "No! Keep watching me!" ("annoyed", "narrow", "angry", "L") - play bg_sounds "sounds/slickloopfast.ogg" - her "*Ah*...{w=0.3} I'm getting close!" ("soft", "narrow", "base", "up", cheeks="blush") - play bg_sounds "sounds/slickloopveryfast.ogg" - cho "" ("mad", "narrow", "base", "down", cheeks="heavy_blush") #still looking away - her "Watch me!" ("open_wide_tongue", "narrow", "angry", "up", cheeks="blush") - cho "" ("horny", "narrow", "raised", "down", cheeks="heavy_blush") #still looking away - her "Watch as Hermione cums for you!" ("angry", "narrow", "base", "up", cheeks="blush") - cho "" ("smile", "narrow", "base", "down", cheeks="heavy_blush") #embarrased #Looks at Tonks - $ renpy.sound.play("sounds/slick_01.ogg") - her "*Nngh*...{w=0.4} *Aaah*!!!" ("clench", "happy", "base", "ahegao", cheeks="blush") - stop bg_sounds - with kissiris - cho "" ("horny", "base", "raised", "down", cheeks="heavy_blush") #wide eyed - with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") - her "*Ah*!" ("open_wide_tongue", "happy", "angry", "ahegao", cheeks="blush") - stop bg_sounds fadeout 2 - call play_music("stop") - her "*Mmmh*..." ("clench", "narrow", "base", "squint", cheeks="blush") - cho "..." ("smile", "narrow", "base", "L", cheeks="heavy_blush") - her "*Ah*...{w=0.3} *Ah*...{w=0.5} *Ah*...{w=0.6} Good...{w=0.3} Good girl..." ("open_tongue", "narrow", "base", "up", cheeks="blush") - - # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") - $ hermione.set_pose(None) - $ hermione.strip("all") - with d5 - - call play_music("tonks") - her "*Mmmh*... How I love masturbating in a body that I'm not quite familiar with..." ("smile", "happyCl", "base", "mid") - her "It's like flying a new broom... There's nothing quite like the first test ride..." ("base", "narrow", "base", "mid") - cho "..." ("grin", "narrow", "base", "downR", cheeks="heavy_blush") - call play_sound("giggle") - her "*giggles*" ("base", "happyCl", "base", "mid", cheeks="blush") #Looks at cho - - # Tonks transforms back. - call play_sound("magic") - hide hermione_main - call her_chibi("hide") - $ cho_chibi.zorder = 3 # Reset to default. - $ tonks_chibi.zorder = 2 # behind Cho. Default is 3. - call ton_chibi("stand", 370, 360, flip=False) - ton "" ("base", "narrow", "base", "mid", xpos=345, ypos="base", flip=False, trans=morph) - pause .2 - - cho "" ("horny", "base", "base", "L", cheeks="heavy_blush") - call ctc - - ton "Miss Granger's clit is quite sensitive... Who could have guessed?" ("grin", "narrow", "raised", "mid") - gen "Noted." ("grin", xpos="far_left", ypos="head") - ton "You'll do good to memorize this as well, Miss Chang. That knowledge might come in handy in the future." ("soft", "narrow", "base", "L") - cho "..." ("smile", "narrow", "base", "down", cheeks="heavy_blush") # blushing - ton "Well then... this should be enough to last me for the day... Hopefully..." ("grin", "narrow", "base", "mid") - - # Reset - $ hermione_name = temp_name - - # End Event. - jump cc_pf_strip_T3_tonks.end_event - - - -## End Event ## -label .end_event: - - # Fade to black. - call play_music("stop") - call hide_characters - hide screen bld1 - show screen blkfade - with d5 - - # The girls get dressed and wait at the door. - $ cho.wear("all") - $ tonks.wear("all") - $ hermione.wear("all") - - # Reset zorder. - $ cho.zorder = 15 # reset to default. - $ tonks.zorder = 15 # reset to default. - $ hermione.zorder = 15 # reset to default. - $ cho_chibi.zorder = 3 # reset to default. - $ tonks_chibi.zorder = 3 # reset to default. - $ hermione_chibi.zorder = 3 # reset to default. - hide screen cho_cloth_pile - - call cho_chibi("stand", 690, "base", flip=False) - call ton_chibi("stand", "door", "base", flip=False) - - call play_sound("climb_desk") - pause 2 - - hide screen blkfade - with d5 - pause .5 - - call bld - if game.daytime: - ton "We should get going, Miss Chang. Classes are about to start..." ("open", "base", "base", "L", ypos="head", flip=False) - cho "Until next time, Professor." ("grin", "base", "base", "mid", ypos="head", flip=False) - else: - ton "Let me escort you back to your dormitories, Miss Chang." ("open", "base", "base", "L", ypos="head", flip=False) - cho "Good night, Professor." ("grin", "base", "base", "mid", ypos="head", flip=False) - - call bld("hide") - pause .1 - - # They both leave. - call cho_chibi(flip=True) - pause .3 - call ton_chibi(flip=True) - with d3 - pause .2 - - call play_sound("door") - hide screen cho_chibi - hide screen tonks_chibi - with d3 - pause .5 - - # Reset clothing. - $ cho.equip(cho_outfit_last) - $ tonks.equip(ton_outfit_last) - $ hermione.equip(her_outfit_last) - - $ tonks_busy = True - - # End event. - jump end_cho_strip_event - - - - - - -############## -### Tier 4 ### -############## - -## Tier 4 - Summon Tonks ## - - -## Transformations ## - -## Succubus - Tier 4 ## -#label cc_pf_strip_T4_tonks.succubus_E1: -# gen "Tell me, Miss Tonks." ("base", xpos="far_left", ypos="head") -# gen "Are you one of these Succubbi that like to hunt virgins?" ("grin", xpos="far_left", ypos="head") -# ton "*Ha-ha-ha*... Where did you hear that?" # cracks up. -# gen "I've read it in a-- *uhm*...{w=0.5} in a book." ("base", xpos="far_left", ypos="head") -# gen "If you're a virgin by the age of forty and one visits you, you might end up lucky!" ("base", xpos="far_left", ypos="head") -# cho "Lucky... how?" -# ton "I don't know... I'd have to do some research on that..." -# ton "I was sure I knew everything there was to know about succubi..." -# gen "I suppose you might not be sophisticated enough to appreciate fine arts..." ("base", xpos="far_left", ypos="head") -# ton "*Hmm*... Then perhaps It'd be worth covering during one of my lesson." #looking at cho -# ton "Although I'd have to borrow that book of yours." - -## Hermione - Tier 4 ## -#label cc_pf_strip_T4_tonks.hermione_E1: - ton "Move aside, Chang!" # angry - ton "The headmaster wants me to strip for him." - gen "That's right, Miss Granger." ("grin", xpos="far_left", ypos="head") - cho "..." - -# gen "Seeing that she was being groped for the better part of it." ("grin", xpos="far_left", ypos="head") -# cho "Groped?-- What?" # confused -# gen "I her while she had to announce those points. It was quite funny!" ("grin", xpos="far_left", ypos="head") -# cho "You were molesting her, in front of everybody?" -# gen "I molested her -- with her consent!...{w} {size=-6}more or less.{/size}{w=0.3}{nw}" ("angry", xpos="far_left", ypos="head") -# gen "She practicly begged me to continue." ("base", xpos="far_left", ypos="head") -# ton "Was it that obvious, Professor?" -# ton "I loved the way you fingered my pussy in front of everybody. {heart}" -# cho "Merlin's beard, you're such a slut..." # judgemental - - - # Hermione stands in the middle, between Genie and Cho. - - ton "Professor, how many house points may I get for this shameless act you're asking me to do?" - gen "You're requesting house points for this, Miss Granger?" ("grin", xpos="far_left", ypos="head") - ton "Naturally." - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - - menu: - "You shall receive five points.": - ton "Only so little, Professor?" - ton "Surely revealing my tits must be worth a lot more to you than that..." - gen "Five points, Miss Granger. And I demand to see a lot more than just your tits!" ("grin", xpos="far_left", ypos="head") - cho "..." ("smile", "narrow", "base", "mid", cheeks="blush") - ton "So be it then..." - ton "I'll do anything for my precious Gryffindor house!" - gen "Five points for Gryffindor, Miss Granger!" ("grin", xpos="far_left", ypos="head") - $ gryffindor += 5 - gen "Now strip for us, you little slut." ("angry", xpos="far_left", ypos="head") - - "You shall receive one hundred points!": - ton "Seriously?" - cho "Professor, what are you doing?" ("base", "narrow", "base", "mid") - ton "Well, one hundred points seem to be sufficient, Professor..." - cho "..." ("base", "narrow", "base", "mid") - ton "I'd gladly bare my tits for that amount." - gen "Not just your tits, Miss Granger!" ("grin", xpos="far_left", ypos="head") - ton "Anything for you, Sir." - cho "I don't want Granger to get points from this! She isn't even here..." ("base", "narrow", "base", "mid") - gen "Didn't you say you don't give a flying fuck about the house cup?" ("base", xpos="far_left", ypos="head") - ton "*snort*... You said what?" - cho "I didn't say it like that!" ("base", "narrow", "base", "mid") - ton "*shsss*, Professor.{w=0.5} Just mumble a bit when giving out those points..." - gen "Very well, then..." ("base", xpos="far_left", ypos="head") - gen "One hundret points for this Gryffin-whore!" ("grin", xpos="far_left", ypos="head") - cho "*Ha-ha*!" ("base", "narrow", "base", "mid") - ton "Thank you, Sir." - ton "I know I deserve those Gryffin-whore points more than anyone!" - ton "I'm the biggest slut in all of Hogwarts!" - - "No points for you, Granger.": - ton "What? But Professor!" - ton "You're asking me to expose myself for you, without getting any of those precious house points?" - ton "How outragious!" - gen "Cho isn't asking for points either, Miss Granger. I'd say it's quite fair if you receive none as well..." ("base", xpos="far_left", ypos="head") - ton "Well, I'm not a slag like Miss Chang here... Who loves stripping for her headmaster!" - cho "Hey!" ("annoyed", "narrow", "angry", "L") - ton "What? It's the truth, isn't it... You slut!" - cho "..." ("annoyed", "narrow", "base", "mid") - cho "Sir, could you ask her to turn back again? She's starting to get on my nerves..." ("open", "narrow", "base", "mid") - gen "Not a chance. She's doing great!" ("grin", xpos="far_left", ypos="head") - cho "A bit too convincing for my likeing..." ("annoyed", "narrow", "base", "L") - ton "..." - ton "Very well, then. I shall undress for you, Professor." - ton "My friends will be so disappointed when they hear I'm doing this for free..." - ton "But I simply can't help it, can I?" - ton "I want to be the biggest slut in all of Hogwarts!" diff --git a/game/scripts/characters/cho/events/favors/suck_it.rpy b/game/scripts/characters/cho/events/favors/suck_it.rpy index caece1d7..17a52861 100644 --- a/game/scripts/characters/cho/events/favors/suck_it.rpy +++ b/game/scripts/characters/cho/events/favors/suck_it.rpy @@ -4,74 +4,103 @@ label cc_pf_blowjob: - if cc_pf_blowjob.counter == 0: + if not _events_completed_any: gen "{size=-4}(Should I ask her for a blowjob?){/size}" ("base", xpos="far_left", ypos="head") - else: - gen "{size=-4}(I should ask her for another blowjob.){/size}" ("base", xpos="far_left", ypos="head") - if cc_pf_blowjob.counter < 1: menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": - jump cho_favor_menu.personal + $ _event.cancel() + jump cho_favor_menu.favors # Setup $ warned_her = False - $ cc_pf_blowjob.start() + return - # End Event Jump - label end_cc_pf_blowjob: +label end_cc_pf_blowjob: + $ states.cho.status.blowjob = True $ cho.set_cum(None) - if cho_tier == 3: - if cho_whoring < 15: # Points till 15 - $ cho_whoring += 1 + if states.cho.tier == 3: + if states.cho.level < 15: # Points till 15 + $ states.cho.level += 1 jump end_cho_event label cc_pf_blowjob_T3_intro_E1: - if cho_bj_choice == None: - gen "[cho_name], ready to reward your coach for a job well done?" ("base", xpos="far_left", ypos="head") - cho "Of course... a deal's a deal." ("open", "narrow", "base", "mid") + call cc_pf_blowjob + + if states.cho.ev.suck_it.variant == None: + gen "[name_cho_genie], ready to reward your coach for a job well done?" ("base", xpos="far_left", ypos="head") + cho "Of course... A deal's a deal." ("open", "narrow", "base", "mid") gen "Great, in that case I think a blowjob is in order!" ("base", xpos="far_left", ypos="head") cho "A blowjob?!!" ("disgust", "wide", "base", "mid") gen "And some hand action as well of course!" ("base", xpos="far_left", ypos="head") cho "Sir, I didn't think it'd come to this... I already showed you my naked body and everything..." ("clench", "narrow", "base", "down") - gen "There are other tactics you could use that aren't just about showing off your body in public you know..." ("base", xpos="far_left", ypos="head") + gen "There are other tactics you could use that aren't just about showing off your body in public, you know..." ("base", xpos="far_left", ypos="head") cho "Oh, yeah? Like what?" ("angry", "narrow", "raised", "mid") - gen "Your dream is to become a professional is it not?" ("base", xpos="far_left", ypos="head") - cho "I... yes... I suppose it is." ("soft", "narrow", "base", "R") + gen "Your dream is to become a professional, is it not?" ("base", xpos="far_left", ypos="head") + cho "I... Yes... I suppose it is." ("soft", "narrow", "base", "R") gen "Then we should do our best to prepare you for what's out there!" ("base", xpos="far_left", ypos="head") + + label .introspection: + + if _in_replay: + show screen blkfade + with d5 + + $ cho.equip(cho_outfit_default) + $ cho.set_pose("default") + $ cho.animation = None + $ game.gold = 1984 + $ game.day = 124 + call room("main_room") + + call cho_chibi("stand", "desk", "base", flip=False) + call gen_chibi("sit_behind_desk") + + cho "" ("soft", "narrow", "base", "R") + + hide screen blkfade + with d5 + gen "I won't be your coach forever... Once you're looking for a proper team, you'll be in fierce competition with the other women athletes." ("base", xpos="far_left", ypos="head") gen "Women that will stop at nothing to get what they want." ("base", xpos="far_left", ypos="head") + + if _in_replay: + show screen blkfade + with d5 + return + gen "So, as your coach, it's my responsibility to prepare you!" ("base", xpos="far_left", ypos="head") cho "And a blowjob is necessary for this?" ("angry", "narrow", "raised", "mid") - if cc_pr_spy_girls.is_event_complete(3, 1): - gen "You've seen the girls on the Gryffindor team... you think they would hesitate with something as simple as a blowjob?" ("base", xpos="far_left", ypos="head") - cho "..." ("disgust", "closed", "base", "down", cheeks="blush") #Pout + if states.cho.ev.spy_on_girls.t3_e1_complete: + gen "You've seen the girls on the Gryffindor team... You think they would hesitate with something as simple as a blowjob?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("disgust", "closed", "base", "down") #Pout gen "I see how it is..." ("base", xpos="far_left", ypos="head") gen "I sure didn't think a simple blowjob would dissuade you from pursuing your dreams." ("base", xpos="far_left", ypos="head") else: - gen "Well... I can tell you this much. A woman looking to make it professionally should have enough confidence not to get stopped by something as simple as a blowjob." ("base", xpos="far_left", ypos="head") + gen "Well, I can tell you this much... A woman looking to make it professionally should have enough confidence not to get stopped by something as simple as a blowjob." ("base", xpos="far_left", ypos="head") - cho "..." ("normal", "narrow", "base", "downR", cheeks="blush") # angry - cho "Alright, I'll do it..." ("open", "happyCl", "angry", "downR", cheeks="blush") + cho @ cheeks blush "..." ("normal", "narrow", "base", "downR") # angry + cho @ cheeks blush "Alright, I'll do it..." ("open", "happyCl", "angry", "downR") gen "That's more like it!" ("grin", xpos="far_left", ypos="head") - cho "Don't get me wrong sir... I don't believe a word of what you just said is even remotely true." ("upset", "base", "base", "mid", cheeks="blush") - cho "But you've helped me get this far..." ("annoyed", "narrow", "base", "down", cheeks="blush") - cho "So if a blowjob is what it takes, then so be it..." ("soft", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "Don't get me wrong sir... I don't believe a word of what you just said is even remotely true." ("upset", "base", "base", "mid") + cho @ cheeks blush "But you've helped me get this far..." ("annoyed", "narrow", "base", "down") + cho @ cheeks blush "So if a blowjob is what it takes, then so be it..." ("soft", "base", "base", "downR") gen "That's the kind of determination I've been looking for..." ("grin", xpos="far_left", ypos="head") gen "Let's find out how a skilled Quidditch player handles this type of wood..." ("grin", xpos="far_left", ypos="head") cho "..." ("disgust", "narrow", "base", "mid") #smile #looks away - cho "Okay, then... I'm ready." ("angry", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Okay, then... I'm ready." ("angry", "narrow", "base", "mid") gen "(At last!)" ("angry", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" hide screen bld1 hide cho_main call gen_chibi("jerk_off_behind_desk") @@ -101,11 +130,17 @@ label cc_pf_blowjob_T3_intro_E1: pause 0.5 $ camera.set(pos=(0, -750), t=3.5, pause=True) $ camera.set(pos=(150, 400), t=2) - cho "By Merlin's beard!" #Wide eyed looking at dick #open mouth - gen "Something wrong?" - $ camera.set_image("mid_surprised") - cho "N-No...{w=0.4} It's just...{w=0.4} this close...{w=0.4} it's so much larger than--" #Looking at dick - gen "Good, then stop staring and put your hand on it..." + + if not states.cho.status.dick_seen: + cho "By Merlin's beard!" #Wide eyed looking at dick #open mouth + gen "Something wrong?" + $ camera.set_image("mid_surprised") + cho "N-No...{w=0.4} It's just...{w=0.4} This close...{w=0.4} It's so much larger than--" #Looking at dick + gen "Good, then stop staring and put your hand on it..." + else: + cho "..." #Wide eyed looking at dick #open mouth + gen "Go on... Stop staring, and put your hand on it." + $ camera.set_image("mid_surprised_blush") cho "Okay..." #Blush #Normal mouth $ camera.set_imagepath("cho_bj/hj/") @@ -128,13 +163,13 @@ label cc_pf_blowjob_T3_intro_E1: call ctc - gen "Yes, that's it...{w=0.4} stroke that cock you little Ravenclaw slut..." + gen "Yes, that's it...{w=0.4} Stroke that cock, you little Ravenclaw slut..." $ camera.set_image("up_annoyed") - cho "[cho_genie_name]!"# Stops moving hand #Annoyed #Looks up at genie + cho "[name_genie_cho]!"# Stops moving hand #Annoyed #Looks up at genie gen "What?" - gen "You're doing a great job [cho_name], keep it going just like that..." + gen "You're doing a great job [name_cho_genie], keep it going just like that..." $ camera.set_image("mid_annoyed") @@ -154,7 +189,7 @@ label cc_pf_blowjob_T3_intro_E1: $ camera.set_image("cho_hj mid annoyed") - cho "*tsk*..." #Annoyed + cho "*Tsk*..." #Annoyed call ctc @@ -168,16 +203,22 @@ label cc_pf_blowjob_T3_intro_E1: cho "Can't I just keep jerking you off?" gen "You agreed to a blowjob did you not?" $ camera.set_image("mid_worried") - cho "I...{w=0.4} well that was before you showed me your..." #Looks back down + if not states.cho.status.dick_seen: + cho "I...{w=0.4} Well, that was before you showed me your..." #Looks back down + else: + cho "Well, now that I'm seeing it again... I'm not so sure..." #Looks back down $ camera.set_image("away_blush") cho "How is this even..." #Cuts to dialog Menu choice + + $ states.cho.status.handjob = True + $ states.cho.status.dick_seen = True else: # Alternate intro if first event has failed gen "Ready to continue with your training?" ("base", xpos="far_left", ypos="head") cho "Of course!" ("open", "base", "base", "mid") gen "Then you know what is required..." ("base", xpos="far_left", ypos="head") - cho "You want me to touch your..." ("soft", "base", "base", "downR", cheeks="blush") - cho "..." ("horny", "closed", "base", "mid", cheeks="blush") - cho "Fine... I'll do it." ("angry", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "You want me to touch your..." ("soft", "base", "base", "downR") + cho @ cheeks blush "..." ("horny", "closed", "base", "mid") + cho @ cheeks blush "Fine... I'll do it." ("angry", "base", "base", "mid") hide cho_main with d3 @@ -203,13 +244,13 @@ label cc_pf_blowjob_T3_intro_E1: $ camera.set_imagepath("cho_bj/hj/") $ camera.set_image("mid_annoyed") cho "..." #annoyed - gen "There you go... much easier the second time, isn't it?" + gen "There you go... Much easier the second time, isn't it?" gen "Now, get those muscles moving..." $ camera.set_image("cho_hj mid") call ctc - gen "That's it... you keep stroking, slut..." + gen "That's it... You keep stroking, slut..." $ camera.set_image("cho_hj mid annoyed") cho "*Hmph*..." #Annoyed @@ -231,7 +272,7 @@ label cc_pf_blowjob_T3_intro_E1: $ camera.set_image("up_shock") cho "Already?" - gen "No, tomorrow... yes of course now!" + gen "No, tomorrow... Yes, of course now!" $ camera.set_image("mid_worried") cho "Can't I just keep jerking you off?" #pout gen "This again..." @@ -244,19 +285,19 @@ label cc_pf_blowjob_1: gen "That's not what we agreed on." gen "Get those lips on there..." - if cho_bj_choice == None: + if states.cho.ev.suck_it.variant == None: $ camera.set_image("up_wide") else: $ camera.set_image("up_worried") - cho "[cho_genie_name]!" #shocked - gen "It's time to push those limits [cho_name]... we've been over this." + cho "[name_genie_cho]!" #shocked + gen "It's time to push those limits [name_cho_genie]... We've been over this." gen "Open up..." $ camera.set_imagepath("cho_bj/kneel/") $ camera.set_image("mid_annoyed") - cho "But... it's... how is it even going to fit?!" + cho "But... it's... How is it even going to fit?!" $ camera.set_image("mid") gen "It will fit... You're the most flexible girl in the castle." gen "If anyone could do it, it's you..." @@ -268,15 +309,15 @@ label cc_pf_blowjob_1: $ camera.set_imagepath("cho_bj/hj/") $ camera.set_image("up_worried") #Cho puts her hand back on - gen "Good... now put your lips around the tip..." + gen "Good... Now put your lips around the tip..." $ camera.set_image("away_blush") cho "Oh-okay..." - cho "(You can do this... push your boundaries!)" + cho "(You can do this... Push your boundaries!)" cho "He-here I go..." #Cho opens her mouth and moves in towards genies cock #Genie cock twitches - #She moves in closer and closes her eyes with her mouth wide open and just as she barely touches it she jumps back + #She moves in closer and closes her eyes with her mouth wide open and just as she barely touches it, she jumps back $ camera.set_image("cho_bj lick fail") pause 1 # Pauses at last frame. cho "No, I can't... I can't do it!" @@ -284,23 +325,23 @@ label cc_pf_blowjob_1: $ camera.set_imagepath("cho_bj/kneel/") $ camera.set_image("mid_annoyed") - if cho_bj_choice == "failed": + if states.cho.ev.suck_it.variant == "failed": cho "It still won't fit!" - gen "[cho_name]... You're here to push your limits, stop with the whining!" + gen "[name_cho_genie]... You're here to push your limits, stop with the whining!" $ camera.set_image("up_worried") - cho "I-I'm sorry [cho_genie_name]..." + cho "I-I'm sorry [name_genie_cho]..." cho "I... I can't...{w=0.4} It's all happening too fast!" - gen "[cho_name]..." + gen "[name_cho_genie]..." $ camera.set_image("mid_worried") cho "I'm sorry!" #blush, looking away - $ cho_mood += 3 # Annoyed that you failed it again, sucker + $ states.cho.mood += 3 # Annoyed that you failed it again, sucker else: cho "It won't fit!" - gen "[cho_name]... You're here to push your limits." + gen "[name_cho_genie]... You're here to push your limits." $ camera.set_image("up_worried") - cho "I-I'm sorry [cho_genie_name]..." - cho "I... need some time to think..." - gen "[cho_name]..." + cho "I-I'm sorry [name_genie_cho]..." + cho "I... Need some time to think..." + gen "[name_cho_genie]..." $ camera.set_image("mid_worried") cho "I'm sorry!" #blush, looking away @@ -313,24 +354,26 @@ label cc_pf_blowjob_1: #Cuts to Office and Cho walks quickly out of the room call cho_walk(action="leave") - gen "(Damn...{w=0.4} Am I that type of coach that keep pushing their pupils too hard?)" ("base", xpos="far_left", ypos="head") + gen "(Damn...{w=0.4} Am I that type of coach that keeps pushing their pupils too hard?)" ("base", xpos="far_left", ypos="head") gen "(Speaking of hard, this thing isn't going to go away by itself...)" ("base", xpos="far_left", ypos="head") gen "(Well... if there's anything I got good at in that lamp...)" ("base", xpos="far_left", ypos="head") - if cho_bj_choice == "failed": - gen "(Perhaps I should go a bit more easy on her next time...)" ("base", xpos="far_left", ypos="head") + if states.cho.ev.suck_it.variant == "failed": + gen "(Perhaps I should go a bit easier on her next time...)" ("base", xpos="far_left", ypos="head") - $ cc_pf_blowjob.fail() - $ cho_bj_choice = "failed" + $ states.cho.ev.suck_it.variant = "failed" call gen_chibi("sit_behind_desk") with fade + # Event resets. (No progress) + $ _event.cancel() + jump end_cho_event "-Take it slow...-": #Cho strokes and licks genie then goes back to stroking until climax - gen "Okay... just keep stroking it for now..." + gen "Okay... Just keep stroking it for now..." - if cho_bj_choice == None: + if states.cho.ev.suck_it.variant == None: $ camera.set_imagepath("cho_bj/hj/") $ camera.set_image("up_wide") cho "Oh... Okay, I can do that..." @@ -340,7 +383,7 @@ label cc_pf_blowjob_1: $ camera.set_imagepath("cho_bj/kneel/") $ camera.set_image("up") cho "Oh... Okay, I can do that..." - gen "But you better put some work into it, show me that stamina of yours!" #Should I use a different word than stamina? Works well I think. + gen "But you better put some work into it, show me that stamina of yours!" $ camera.set_image("mid") cho "Of course!" @@ -352,7 +395,7 @@ label cc_pf_blowjob_1: call ctc - gen "*Ah*...{w=0.3} That's it... you're finally getting the hang of this." + gen "*Ah*...{w=0.3} That's it... You're finally getting the hang of this." gen "You should've told me Quidditch players were this good at handjobs sooner." $ camera.set_image("cho_hj up blush") @@ -360,7 +403,7 @@ label cc_pf_blowjob_1: call ctc - gen "And... look at you... stroking your coach's cock..." + gen "And... Look at you... Stroking your coach's cock..." $ camera.set_image("cho_hj mid blush") @@ -373,11 +416,11 @@ label cc_pf_blowjob_1: $ camera.set_image("cho_hj mid") gen "Begging to receive her coach's cum." - gen "Now, put your mouth on it [cho_name]..." + gen "Now, put your mouth on it [name_cho_genie]..." $ camera.set_image("up_wide") #Cho stops handjob cho "But I thought..." - gen "If you want to outdo your competition then you need to push through your limits [cho_name]..." + gen "If you want to outdo your competition then you need to push through your limits [name_cho_genie]..." $ camera.set_image("up_worried") gen "Give it a little lick, I promise it won't bite." cho "..." #Annoyed @@ -398,31 +441,31 @@ label cc_pf_blowjob_1: $ camera.set_image("cho_bj lick start") pause .7 $ camera.set_image("cho_bj lick") - cho "*lick-slurp-lick*" + cho "*Lick-slurp-lick*" call ctc - gen "*Ah* Good job [cho_name]..." + gen "*Ah*...{w=0.5} Good job [name_cho_genie]." gen "I suppose that will be enough for n--" $ camera.set_image("up_annoyed", trans=d3) cho "No! I want--" $ camera.set_image("away_blush") - cho "I mean... {w=0.5} you deserve your reward [cho_genie_name]." + cho "I mean...{w=0.5} You deserve your reward, [name_genie_cho]." cho "At least let me finish you off with my hand..." $ camera.set_image("mid_blush") - gen "That's what I wanted to hear [cho_name], you're learning..." + gen "That's what I wanted to hear [name_cho_genie], you're learning..." gen "Get going then..." $ camera.set_image("cho_hj mid blush") call ctc - gen "*Hmm*... That's it, grip it firmly just like that..." + gen "*Hmm*...{w=0.4} That's it, grip it firmly just like that..." call ctc - gen "*Ah*...{w=0.4} Not bad... Not bad at all..." - gen "Now... a little bit faster [cho_name]..." + gen "*Ah*...{w=0.4} Not bad...{w=0.4} Not bad at all..." + gen "Now... A little bit faster, [name_cho_genie]..." gen "I think you too deserve a reward..." $ camera.set_image("cho_hj mid blush fast") @@ -430,14 +473,14 @@ label cc_pf_blowjob_1: cho "Okay..." #Blush $ camera.set_image("cho_hj up blush") - cho "[cho_genie_name]... Will you tell me when--" - gen "Faster [cho_name]!" - cho "Oh... of course!" + cho "[name_genie_cho]...{w=0.4} Will you tell me when--" + gen "Faster [name_cho_genie]!" + cho "Oh...{w=0.4} Of course!" $ camera.set_image("cho_hj mid blush fast") call ctc - gen "(Now that's my [cho_name]!)" + gen "(Now that's my [name_cho_genie]!)" gen "(I'm at my limit, should I warn her?)" menu: @@ -448,7 +491,7 @@ label cc_pf_blowjob_1: call ctc - gen "Get ready for your reward [cho_name]!" + gen "Get ready for your reward, [name_cho_genie]!" menu: "-Cum on her face-": $ camera.set(zoom=0.45, pos=(150, 70), t=2.0) @@ -462,8 +505,8 @@ label cc_pf_blowjob_1: call ctc gen "*Ah*..." - cho "Are...{w=0.5} are you done?" - gen "*Ah*...{w=0.4} yes, you can open your eyes now..." + cho "Are...{w=0.5} Are you done?" + gen "*Ah*...{w=0.4} Yes, you can open your eyes now..." $ camera.set_image("cum_eye") @@ -484,6 +527,8 @@ label cc_pf_blowjob_1: # Set cum on doll $ cho.set_cum(face="heavy", hair="light") + $ states.cho.status.cumshot = True + "-Cum on her tits-": gen "Get back a little, quick!" @@ -512,16 +557,16 @@ label cc_pf_blowjob_1: cho "So much..." #blush gen "That...{w=0.4} was...{w=0.4} amazing!" - gen "That is some talent you have there [cho_name]..." + gen "That is some talent you have there [name_cho_genie]..." $ camera.set_image("dreamy_cum_tits") cho "...{heart}{heart}" #blush #looking at penis - gen "[cho_name]?" + gen "[name_cho_genie]?" $ camera.set_image("dreamy_up_cum_tits") - cho "Oh... Thank you [cho_genie_name]." #looks up at genie + cho "Oh... Thank you [name_genie_cho]." #looks up at genie gen "Now, get on your feet and let me have a proper look at you..." $ camera.set(zoom=0.6, pos=(220, 180), t=5.0, pause=True) @@ -529,21 +574,23 @@ label cc_pf_blowjob_1: # Set cum on doll $ cho.set_cum(breasts="heavy") + $ states.cho.status.cumshot = True + "-Don't-": $ warned_her = False - $ cho_mood += 4 + $ states.cho.mood += 4 gen "(You better be ready slut...)" $ camera.set_image("cho_hj up blush") - cho "[cho_genie_name], are you about to--" + cho "[name_genie_cho], are you about to--" gen "*ARGH*!" $ camera.set_image("cho_hj mid") $ camera.set(zoom=0.45, pos=(150, 70), t=2.0) - cho "*huh*?!" #Wide eyed + cho "*Huh*?!" #Wide eyed with vpunch $ camera.set_image("cho_hj cum face tits") @@ -555,9 +602,9 @@ label cc_pf_blowjob_1: gen "*Ah*..." cho "..." # Wide eyed - cho "M-{w=0.3}my face!" #Angry + cho "M--{w=0.3} My face!" #Angry cho "You just came on my face!" - gen "*Ahh* At last..." + gen "*Ahh*... At last..." $ camera.set_image("cum_face_tits_glance", trans=d3) @@ -567,75 +614,81 @@ label cc_pf_blowjob_1: # Set cum on doll $ cho.set_cum(face="heavy", hair="light", breasts="heavy") + $ states.cho.status.cumshot = True + hide screen animatedCG with fade # After CG, in the office. if warned_her: - gen "Well done [cho_name], you've started pushing those limits on your own." ("base", xpos="far_left", ypos="head") + gen "Well done [name_cho_genie], you've started pushing those limits on your own." ("base", xpos="far_left", ypos="head") gen "Also, You've got a little something right there..." ("base", xpos="far_left", ypos="head") - cho "Very funny [cho_genie_name]..." ("clench", "narrow", "base", "mid", cheeks="blush", trans=d3) + cho @ cheeks blush "Very funny [name_genie_cho]..." ("clench", "narrow", "base", "mid", trans=d3) gen "Your confidence is showing itself more and more every day." ("base", xpos="far_left", ypos="head") - cho "I... {w=0.5} You deserved it [cho_genie_name]...{w=0.5} for helping me this far..." ("upset", "narrow", "base", "downR", cheeks="blush") - cho "For teaching me... all this stuff..." ("angry", "closed", "base", "mid", cheeks="blush") #Blush - gen "(I'm a bloody saint I've waited that long...)" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I...{w=0.5} You deserved it [name_genie_cho]...{w=0.5} For helping me this far..." ("upset", "narrow", "base", "downR") + cho @ cheeks blush "For teaching me... all this stuff..." ("angry", "closed", "base", "mid") #Blush + gen "(I'm a bloody saint, I've waited that long...)" ("base", xpos="far_left", ypos="head") gen "You're very welcome." ("base", xpos="far_left", ypos="head") else: gen "That...{w=0.4} was...{w=0.4} amazing!" cho "Why didn't you warn me?!" ("clench", "base", "angry", "down", trans=d3) #Angry # cho "My clothes are all ruined now too..." ("angry", "closed", "angry", "mid") # cho "There's cum all over them!" ("mad", "narrow", "angry", "down") - cho "I can't believe you just came all over me like that..." ("annoyed", "base", "angry", "downR", cheeks="blush") #pout + cho @ cheeks blush "I can't believe you just came all over me like that..." ("annoyed", "base", "angry", "downR") #pout gen "Should have put it in your mouth then..." ("base", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "base", "mid", cheeks="blush") #pout + cho @ cheeks blush "..." ("disgust", "narrow", "base", "mid") #pout - cho "Is this what you do to Hermione as well?" ("upset", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Is this what you do to Hermione as well?" ("upset", "narrow", "base", "down") - if hg_kiss.trigger: + if states.her.status.blowjob: gen "Maybe." ("base", xpos="far_left", ypos="head") - cho "I knew it..." ("smile", "wide", "base", "mid", cheeks="blush") - gen "Miss Granger knows how to properly dispose--" ("base", xpos="far_left", ypos="head") - cho "She swallows?!?" ("clench", "wide", "base", "mid", cheeks="blush") #Shocked #Big text - cho "I mean..." ("disgust", "base", "base", "downR", cheeks="blush") - cho "Of course she does..." ("angry", "base", "base", "down", cheeks="blush") #small text #Blush + cho @ cheeks blush "I knew it..." ("smile", "wide", "base", "mid") + if states.her.status.gokkun: + gen "Miss Granger knows how to properly dispose--" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "{size=+7}She swallows?!?{/size}" ("clench", "wide", "base", "mid") + cho @ cheeks blush "I mean..." ("disgust", "base", "base", "downR") + cho @ cheeks blush "{size=-4}Of course she does...{/size}" ("angry", "base", "base", "down") else: gen "Of course not..." ("base", xpos="far_left", ypos="head") - cho "I knew--" ("smile", "happyCl", "base", "mid", cheeks="blush") - cho "Wait, she doesn't do stuff like that?" ("clench", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "I knew--" ("smile", "happyCl", "base", "mid") + cho @ cheeks blush "Wait, she doesn't do stuff like that?" ("clench", "narrow", "base", "mid") gen "No." ("base", xpos="far_left", ypos="head") - cho "So I am your first?" ("smile", "narrow", "base", "downR", cheeks="blush") # blush + cho @ cheeks blush "So I am your first?" ("smile", "narrow", "base", "downR") # blush gen "In one way or the other." ("base", xpos="far_left", ypos="head") - cho "What's that supposed to mean?!" ("upset", "base", "angry", "mid", cheeks="blush") # angry - cho "Whatever..." ("annoyed", "base", "angry", "R", cheeks="blush") # pout + cho @ cheeks blush "What's that supposed to mean?!" ("upset", "base", "angry", "mid") # angry + cho @ cheeks blush "Whatever..." ("annoyed", "base", "angry", "R") # pout - cho "Are you...{w=0.4} Are we done?" ("open", "narrow", "base", "downR", cheeks="blush") #Blush + cho @ cheeks blush "Are you...{w=0.4} Are we done?" ("open", "narrow", "base", "downR") #Blush gen "Yes, for now..." ("base", xpos="far_left", ypos="head") if game.daytime: - cho "Alright... In that case I better head back to class." ("open", "base", "base", "R") + cho "Alright... In that case, I better head back to class." ("open", "base", "base", "R") else: cho "Alright... I'll head off to bed then." ("open", "base", "base", "R") gen "Until next time." ("base", xpos="far_left", ypos="head") call cho_walk(action="leave") - gen "[cho_name]!" ("base", xpos="far_left", ypos="head") - gen "......" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie]!" ("base", xpos="far_left", ypos="head") + gen "..." ("base", xpos="far_left", ypos="head") gen "(Probably should've asked her to clean herself first...)" ("base", xpos="far_left", ypos="head") gen "(Oh well, she'll find out one way or another.)" ("base", xpos="far_left", ypos="head") jump end_cc_pf_blowjob label cc_pf_blowjob_T3_E2: - gen "Ready for an oral exam [cho_name]?" ("base", xpos="far_left", ypos="head") + + call cc_pf_blowjob + + gen "Ready for an oral exam [name_cho_genie]?" ("base", xpos="far_left", ypos="head") cho "A what?" ("open", "base", "raised", "mid") gen "Time to put that mouth to good use..." ("base", xpos="far_left", ypos="head") - cho "My mouth to--" ("horny", "base", "base", "downR", cheeks="heavy_blush") #Blush + cho @ cheeks heavy_blush "My mouth to--" ("horny", "base", "base", "downR") #Blush gen "Any problems?" ("base", xpos="far_left", ypos="head") - cho "No... of course not [cho_genie_name]..." ("normal", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "No... of course not [name_genie_cho]..." ("normal", "base", "base", "mid") gen "Excellent!" ("base", xpos="far_left", ypos="head") - cho "Just...{w=0.4} tell me what to do [cho_genie_name]..." ("open", "base", "base", "R", cheeks="blush") + cho @ cheeks blush "Just...{w=0.4} tell me what to do [name_genie_cho]..." ("open", "base", "base", "R") call cho_walk("desk_close", "base") pause 1.0 @@ -673,30 +726,30 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("up_blush") - cho "Yes, [cho_genie_name]..." + cho "Yes, [name_genie_cho]..." $ camera.set_image("cho_hj mid") call ctc - gen "That's it... stroke your coach's cock..." - gen "Good...{w=0.5} back and forth...{w=0.5} just like I taught you..." + gen "That's it... Stroke your coach's cock..." + gen "Good...{w=0.5} Back and forth...{w=0.5} just like I taught you..." $ camera.set_image("cho_hj mid blush") cho "(He's so big...)" #Blushes - gen "Very good... Now take that shirt off for me will you..." + gen "Very good... Now take that shirt off for me, will you..." $ camera.set_image("away_blush") cho "Okay..." #Blushes #moves back to base position #Takes off shirt - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ camera.set_image("topless_mid", trans=Fade(0.5, 2.0, 0.5)) - gen "Excellent... Now continue stroking, [cho_name]." + gen "Excellent... Now continue stroking, [name_cho_genie]." $ camera.set_image("topless_up") @@ -717,11 +770,11 @@ label cc_pf_blowjob_T3_E2: cho "(I can already taste the victory!)" - gen "You're being awfully quiet [cho_name]... it's very unlike you..." + gen "You're being awfully quiet [name_cho_genie]... It's very unlike you..." $ camera.set_image("topless_away_blush") - cho "S-Sorry [cho_genie_name]..." + cho "S-Sorry [name_genie_cho]..." $ camera.set_image("topless_up_worried") @@ -730,7 +783,7 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("topless_away_blush") - cho "I...{w=0.4} I'm sorry I doubted your methods at first [cho_genie_name]..." + cho "I...{w=0.4} I'm sorry I doubted your methods at first [name_genie_cho]..." gen "I knew you'd come around..." $ camera.set_image("topless_up_blush") @@ -743,7 +796,7 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("cho_hj topless mid smile") - gen "*Ah*... yes of course... It's nothing really." + gen "*Ah*... Yes, of course... It's nothing really." call ctc @@ -758,7 +811,7 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("cho_hj topless mid smile fast") - gen "(*Argh*.. At this rate she'll make me bust!)" + gen "(*Argh*...{w=0.4} At this rate, she'll make me bust!)" call ctc @@ -773,7 +826,7 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("topless_away_blush") - cho "Sorry, you're right [cho_genie_name]..." + cho "Sorry, you're right [name_genie_cho]..." cho "Just...{w=0.4} Tell me what to do..." #blush $ camera.set_image("topless_mid") @@ -782,7 +835,7 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("topless_up") - cho "I...{w=0.4} Yes, [cho_genie_name]..." #Looks at genie + cho "I...{w=0.4} Yes, [name_genie_cho]..." #Looks at genie $ camera.set_image("topless_mid_blush") @@ -798,8 +851,8 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("topless_up") - cho "How...{w=0.4} how was that [cho_genie_name]?" - gen "Good start, but you shouldn't close your eyes... And keep going until you find your limit, then hold it there for a bit..." + cho "How...{w=0.4} how was that [name_genie_cho]?" + gen "Good start, but you shouldn't close your eyes...{w=0.4} And you should keep going until you find your limit, then hold it there for a bit..." gen "The further down the better..." $ camera.set_image("topless_mid") @@ -809,10 +862,10 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("cho_bj topless suck closed fail") pause 0.5 - gen "Eyes open, [cho_name]..." + gen "Eyes open, [name_cho_genie]..." $ camera.set_image("cho_bj topless suck closed fail exit") - cho "Oh!{w=0.4} Sorry [cho_genie_name]!" + cho "Oh!{w=0.4} Sorry [name_genie_cho]!" $ camera.set_image("topless_up_blush") @@ -828,7 +881,7 @@ label cc_pf_blowjob_T3_E2: #Cho goes in again with her eyes open this time, her mouth spreading open as it slowly goes over the tip." #As her mouth continues past the tip she stops and looks up at genie for some approval but he stays silent, her eyes closes slightly as she resumes by slowly going down further - gen "*Ah*... That's it...{w=0.5} Keep going, [cho_name]!" #This line should auto play as she goes further down + gen "*Ah*...{w=0.5} That's it...{w=0.5} Keep going, [name_cho_genie]!" #This line should auto play as she goes further down #As she continues further down, her pupils move up a bit more until she hits her gag reflex (slow zoom in effect) #Quickly retracting she moves her head back and her eyes open again (Loop going backwards fast if animated, zoom effect quickly goes back to normal) @@ -850,21 +903,21 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("topless_up") - cho "Was...{w=0.4} Was that better, [cho_genie_name]?" #Cho looks up at genie + cho "Was...{w=0.4} Was that better, [name_genie_cho]?" #Cho looks up at genie gen "Excellent!{w=0.3} Although... maybe a bit too far... You barely held it there for a second." $ camera.set_image("topless_away_blush") - cho "Oh... Yes, I thought it might've been..." - gen "(This girl is like a on and off switch...)" + cho "Oh...{w=0.5} Yes, I thought it might've been..." + gen "(This girl is like an on and off switch...)" gen "In any case... I think you got it..." - gen "So... Let's get that head bobbing, [cho_name]!" + gen "So... Let's get that head bobbing, [name_cho_genie]!" $ camera.set_image("topless_away_pout") #Cho looks back down at dick - cho "Are...{w=0.4} are you going to cum on me again [cho_genie_name]?" - gen "I wouldn't worry about that yet... just focus on your task..." + cho "Are...{w=0.4} are you going to cum on me again [name_genie_cho]?" + gen "I wouldn't worry about that yet... Just focus on your task..." $ camera.set_image("topless_mid") @@ -885,13 +938,13 @@ label cc_pf_blowjob_T3_E2: call ctc - gen "That's more like it... work that tongue..." + gen "That's more like it... Work that tongue..." # Cho looks up $ camera.set_image("cho_bj topless suck medium up") call ctc - gen "Fuck yes... you naughty girl..." + gen "Fuck yes... You naughty girl..." #Cho pulls out and starts jerking genie off slowly $ camera.set_image("cho_bj topless suck closed exit") @@ -900,7 +953,7 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("cho_hj topless up blush") call ctc - cho "Am I doing it right, [cho_genie_name]?" + cho "Am I doing it right, [name_genie_cho]?" gen "Yes, It feels--" $ camera.set_imagepath("cho_bj/bj/") @@ -909,11 +962,11 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("cho_bj topless lick") #Cho starts licking the tip a couple of times #looking at dick - gen "*Whoa*!" + gen "Whoa!" call ctc - cho "(*huh*... This is just like quidditch, all I have to do is find a good tactic against him. {heart})" #looks up at genie still licking + cho "(*Huh*...{w=0.5} This is just like Quidditch, all I have to do is find a good tactic against him. {heart})" #looks up at genie still licking cho "(Guess he's not immune to his own tricks... {heart})" $ camera.set_image("cho_bj topless lick exit") @@ -936,18 +989,18 @@ label cc_pf_blowjob_T3_E2: call ctc - gen "You--{w=0.4} you're a fast learner [cho_name]..." + gen "You--{w=0.4} You're a fast learner, [name_cho_genie]..." $ camera.set_image("cho_bj topless suck deep") #Faster Blowjob cho "{heart}{heart}{heart}" - gen "[cho_name], if you do that-- oh fuck!" + gen "[name_cho_genie], if you do that--{w=0.2} Oh fuck!" menu: "-Warn her-": - gen "[cho_name]... I think..." + gen "[name_cho_genie]... I think..." gen "There's....{w=0.5} one more thing...{w=0.5} I could teach you today..." $ camera.set_image("cho_bj topless suck medium up") @@ -959,7 +1012,7 @@ label cc_pf_blowjob_T3_E2: menu: "\"I'll even give you some house points!\"": - $ cho_bj_choice = "points" + $ states.cho.ev.suck_it.variant = "points" #Cho pulls back $ camera.set_image("cho_bj topless suck medium") @@ -997,32 +1050,32 @@ label cc_pf_blowjob_T3_E2: #Office screen (Cho has cum on her face and tits) - cho "\"House points\", really?!" ("angry", "base", "angry", "mid", cheeks="blush", trans=d3) - cho "You want me to swallow your semen for house points?!" ("mad", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "\"House points\", really?!" ("angry", "base", "angry", "mid", trans=d3) + cho @ cheeks blush "You want me to swallow your semen for house points?!" ("mad", "base", "angry", "mid") gen "The points were just going to be a bonus." ("base", xpos="far_left", ypos="head") - cho "A bonus on top of?" ("open", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "A bonus on top of?" ("open", "base", "angry", "mid") gen "Not having to clean up..." ("base", xpos="far_left", ypos="head") gen "Although I guess you didn't see it that way since you--" ("base", xpos="far_left", ypos="head") - cho "..." ("clench", "closed", "angry", "mid", cheeks="blush") #Angry + cho @ cheeks blush "..." ("clench", "closed", "angry", "mid") #Angry gen "Pulled...{w=0.5} back..." ("base", xpos="far_left", ypos="head") - cho "I'm not selling my body for points!" ("scream", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I'm not selling my body for points!" ("scream", "base", "angry", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") - cho "I can't believe you..." ("disgust", "base", "angry", "down", cheeks="blush") #Small text + cho @ cheeks blush "I can't believe you..." ("disgust", "base", "angry", "down") #Small text call cho_walk("door", "base") - cho "{size=-3}Who does he think I am?{w=0.4} I'm not Hermione!{/size}" ("annoyed", "closed", "angry", "mid", cheeks="blush", flip=True, trans=d3) - gen "[cho_name]." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "{size=-3}Who does he think I am?{w=0.4} I'm not Hermione!{/size}" ("annoyed", "closed", "angry", "mid", flip=True, trans=d3) + gen "[name_cho_genie]." ("base", xpos="far_left", ypos="head") call cho_chibi("stand", "door", flip=False) - cho "I don't want to hear any of your excuses [cho_genie_name]!" ("scream", "narrow", "angry", "mid", cheeks="blush", flip=False, trans=d3) + cho @ cheeks blush "I don't want to hear any of your excuses [name_genie_cho]!" ("scream", "narrow", "angry", "mid", flip=False, trans=d3) call cho_chibi("stand", "door", flip=True) hide cho_main with d5 - gen "At least let m--" ("base", xpos="far_left", ypos="head") + gen "At least let me--" ("base", xpos="far_left", ypos="head") call cho_walk(action="leave") - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch pause 1.0 @@ -1035,25 +1088,25 @@ label cc_pf_blowjob_T3_E2: pause 1.0 gen "Don't say I didn't try to--" ("base", xpos="far_left", ypos="head") - cho "Shut... up!" ("angry", "base", "angry", "mid", cheeks="blush", trans=d3) - $ renpy.sound.play("sounds/cloth_sound2.ogg") + cho @ cheeks blush "Shut... up!" ("angry", "base", "angry", "mid", trans=d3) + play sound "sounds/cloth_sound2.ogg" $ cho.wear("all") with fade pause 1.0 call cho_walk("door", "base") call cho_walk(action="leave") - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch gen "..." ("base", xpos="far_left", ypos="head") gen "(She'll get over it...)" ("base", xpos="far_left", ypos="head") gen "(I think.)" ("base", xpos="far_left", ypos="head") - $ cho_mood += 12 + $ states.cho.mood += 12 "\"Taste that cum in your mouth!\"": - $ cho_bj_choice = "taste" + $ states.cho.ev.suck_it.variant = "taste" cho "(T-taste?! But... We never discussed this!)" @@ -1063,7 +1116,7 @@ label cc_pf_blowjob_T3_E2: #Cho stops for a second to consider and then starts going again call ctc - gen "*ah* That's it [cho_name]!" + gen "*Ngh*--{w=0.2} That's it [name_cho_genie]!" $ camera.set_image("cho_bj topless suck closed") @@ -1090,14 +1143,14 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("topless_mid_surprised_cum_mouth") #Cho opens her mouth and lets the cum dribble out - cho "*sho*...{w=0.4} *sho mush*...." + cho "*Sho*...{w=0.4} *Sho mush*...." $ camera.set_image("topless_away_blush_cum_mouth") cho "(Although...{w=0.4} it doesn't taste as bad as I--)" - gen "Nicely done [cho_name], I knew you'd have it in you!" + gen "Nicely done [name_cho_genie], I knew you'd have it in you!" - # Make her lisp the name, if the name is unsupported fallback and replace 's' occurences with 'sh' + # Make her lisp the name, if the name is unsupported fallback and replace 's' occurrences with 'sh' $ _replacement_names = { "master": "mashter", "daddy": "dhadhy", @@ -1106,17 +1159,17 @@ label cc_pf_blowjob_T3_E2: "coach": "choach" } - $ _name = cho_genie_name.replace(cho_genie_name, _replacement_names.get(cho_genie_name, cho_genie_name.replace("s", "sh"))) + $ _name = name_genie_cho.replace(name_genie_cho, _replacement_names.get(name_genie_cho, name_genie_cho.replace("s", "sh"))) $ camera.set_image("topless_up_cum_mouth") - cho "*phank you, [_name]*" + cho "*Phank you, [_name]*" gen "Didn't your parents teach you to not speak with your mouth full?" $ camera.set_image("topless_away_blush_cum_mouth") cho "............" - gen "Now, get on your feet so I can have a look at you..." + gen "Now, get on your feet, so I can have a look at you..." # Set cum on doll and strip her $ cho.set_cum(face="light") @@ -1128,50 +1181,50 @@ label cc_pf_blowjob_T3_E2: # TODO: Add Cho doll flip when at door etc, cum layers #Cho has no shirt, cum on her face and down her tits - gen "Well, will you look at that... You look great with a fresh coat of paint!" ("base", xpos="far_left", ypos="head") - cho "Did you have to cum this much..." ("disgust", "narrow", "base", "down", cheeks="blush", trans=d3) + gen "Well, will you look at that...{w=0.4} You look great with a fresh coat of paint!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Did you have to cum this much..." ("disgust", "narrow", "base", "down", trans=d3) gen "I can't exactly control it..." ("base", xpos="far_left", ypos="head") gen "If you don't swallow, you'll have to deal with the mess." ("base", xpos="far_left", ypos="head") - cho "Swallow [cho_genie_name]'s--" ("upset", "base", "base", "downR", cheeks="blush") #Blush - cho "I don't know..." ("soft", "narrow", "base", "downR", cheeks="blush") #Blush - gen "In any case, you've excelled today [cho_name]." ("base", xpos="far_left", ypos="head") - cho "I think I need to lie down for a bit..." ("open", "narrow", "base", "down", cheeks="blush") - cho "This was exhausting...{w=0.4} Even for me." ("open", "narrow", "base", "mid", cheeks="blush") - if hg_kiss.trigger: - cho "I don't know how Granger could do this for so long." ("soft", "narrow", "base", "down") + cho @ cheeks blush "Swallow [name_genie_cho]'s--" ("upset", "base", "base", "downR") #Blush + cho @ cheeks blush "I don't know..." ("soft", "narrow", "base", "downR") #Blush + gen "In any case, you've excelled today [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I think I need to lie down for a bit..." ("open", "narrow", "base", "down") + cho @ cheeks blush "This was exhausting...{w=0.4} Even for me." ("open", "narrow", "base", "mid") + if states.her.status.blowjob: + cho "I don't know how Granger could do this, without getting exhausted." ("soft", "narrow", "base", "down") gen "(*Heh*, practice makes perfect...)" ("grin", xpos="far_left", ypos="head") if game.daytime: gen "No time for a lie down I'm afraid..." ("base", xpos="far_left", ypos="head") - cho "What, don't tell me you're already--" ("clench", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "What, don't tell me you're already--" ("clench", "wide", "base", "mid") gen "You've got class to get to." ("base", xpos="far_left", ypos="head") - cho "Oh...{w=0.4} Right..." ("open", "base", "base", "down", cheeks="blush") - cho "Good day then..." ("soft", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Oh...{w=0.4} Right..." ("open", "base", "base", "down") + cho @ cheeks blush "Good day then..." ("soft", "base", "base", "mid") else: gen "A lie down you say..." ("base", xpos="far_left", ypos="head") - cho "Don't you get any ideas..." ("disgust", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Don't you get any ideas..." ("disgust", "narrow", "base", "mid") gen "I most certainly was not!" ("base", xpos="far_left", ypos="head") - cho "Yeah right." ("annoyed", "base", "base", "R", cheeks="blush") + cho @ cheeks blush "Yeah right." ("annoyed", "base", "base", "R") gen "{size=-4}Pervert...{/size}" ("base", xpos="far_left", ypos="head") gen "Well, you've earnt a lie down I suppose..." ("base", xpos="far_left", ypos="head") cho "Good night then..." ("open", "narrow", "base", "mid") - gen "Good night, [cho_name]." ("base", xpos="far_left", ypos="head") + gen "Good night, [name_cho_genie]." ("base", xpos="far_left", ypos="head") call cho_walk("mid", "base") - gen "[cho_name]!" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie]!" ("base", xpos="far_left", ypos="head") call cho_chibi("stand", "mid", "base", flip=False) - cho "Yes [cho_genie_name]?" ("open", "base", "raised", "mid", trans=d3) + cho "Yes [name_genie_cho]?" ("open", "base", "raised", "mid", trans=d3) gen "Your top..." ("base", xpos="far_left", ypos="head") - cho "Oh... Of course!" ("clench", "happyCl", "base", "mid", cheeks="blush") #Blush + cho @ cheeks blush "Oh... Of course!" ("clench", "happyCl", "base", "mid") #Blush - $ renpy.sound.play("sounds/cloth_sound2.ogg") + play sound "sounds/cloth_sound2.ogg" $ cho.wear("all") with fade - cho "..." ("soft", "base", "base", "down", cheeks="blush") #Cho puts on top - cho "Thank you, [cho_genie_name]..." ("open", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "..." ("soft", "base", "base", "down") #Cho puts on top + cho @ cheeks blush "Thank you, [name_genie_cho]..." ("open", "base", "base", "downR") call cho_walk(action="leave") @@ -1180,7 +1233,7 @@ label cc_pf_blowjob_T3_E2: #End Scene #Marks at completed "\"Swallow that cum!\"": - $ cho_bj_choice = "swallow" + $ states.cho.ev.suck_it.variant = "swallow" $ camera.set_image("cho_bj topless suck closed exit") pause 3 @@ -1188,8 +1241,8 @@ label cc_pf_blowjob_T3_E2: $ camera.set_image("topless_up_cringe") #Cho's eyes goes wide and pulls out - cho "But [cho_genie_name]--" #Big text - gen "*argh*! Get back there at once or forget about your stupid quidditch cup!" + cho "But [name_genie_cho]--" #Big text + gen "*Aargh*! Get back there at once, or forget about your stupid Quidditch cup!" $ camera.set_image("topless_away_pout") @@ -1207,11 +1260,11 @@ label cc_pf_blowjob_T3_E2: call ctc - gen "Get ready, I'm almost..." + gen "Get ready, I'm almost--" $ camera.set_image("cho_bj topless suck medium") - cho "*mhmhm*?!-- (Now?!--)" + cho "*Mhmhm*?!-- (Now?!--)" gen "{size=+4}*ARGH*!{/size}" @@ -1229,7 +1282,7 @@ label cc_pf_blowjob_T3_E2: cho "I...{w=0.4} I just swallowed..." cho "My coach's cum..." - gen "Well done, [cho_name], you sucked me dry." + gen "Well done, [name_cho_genie], you sucked me dry." $ camera.set_image("topless_away_cum_swallow") @@ -1242,33 +1295,33 @@ label cc_pf_blowjob_T3_E2: with fade gen "Now this is the kind of initiative I'm talking about!" ("grin", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "base", "down", cheeks="blush", trans=d3) #blank stare - gen "[cho_name]?" ("base", xpos="far_left", ypos="head") - cho "Yes...{w=0.5} sorry...{w=0.5} thank you [cho_genie_name]." ("angry", "base", "base", "downR", cheeks="blush") - cho "Is that all?" ("soft", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "..." ("disgust", "narrow", "base", "down", trans=d3) #blank stare + gen "[name_cho_genie]?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes...{w=0.5} Sorry...{w=0.5} Thank you [name_genie_cho]." ("angry", "base", "base", "downR") + cho @ cheeks blush "Is that all?" ("soft", "narrow", "base", "down") if game.daytime: gen "That will be all for today..." ("base", xpos="far_left", ypos="head") else: gen "That will be all for tonight..." ("base", xpos="far_left", ypos="head") - cho "Okay, good..." ("angry", "narrow", "base", "down", cheeks="blush") - #Cho walks out of door still without shirt on + cho @ cheeks blush "Okay, good..." ("angry", "narrow", "base", "down") + #Cho walks out the door, still without shirt on call cho_walk(action="leave") - gen "[cho_name]!" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie]!" ("base", xpos="far_left", ypos="head") #Cho comes back through the door call cho_walk(action="enter") with d5 - cho "Yes [cho_genie_name]?" ("soft", "base", "base", "mid", cheeks="blush", trans=d3) + cho @ cheeks blush "Yes [name_genie_cho]?" ("soft", "base", "base", "mid", trans=d3) gen "..." ("base", xpos="far_left", ypos="head") - cho "Oh, of course!" ("clench", "base", "base", "down", cheeks="blush") #Wide eyed + cho @ cheeks blush "Oh, of course!" ("clench", "base", "base", "down") #Wide eyed #Cho puts on her shirt - $ renpy.sound.play("sounds/cloth_sound2.ogg") + play sound "sounds/cloth_sound2.ogg" $ cho.wear("all") with fade if game.daytime: - cho "Bye then!" ("open", "happyCl", "base", "downR", cheeks="blush") + cho @ cheeks blush "Bye then!" ("open", "happyCl", "base", "downR") else: cho "Good night then!" ("base", "base", "base", "mid") @@ -1278,9 +1331,10 @@ label cc_pf_blowjob_T3_E2: gen "(Not the worst of combinations.)" ("base", xpos="far_left", ypos="head") #Cho leaves #End Scene #Marks at completed + $ states.cho.status.gokkun = True "-Just cum down her throat-": - $ cho_bj_choice = "throat" + $ states.cho.ev.suck_it.variant = "throat" gen "That did it, you slut!" $ camera.set_image("cho_bj topless suck medium up") @@ -1295,13 +1349,13 @@ label cc_pf_blowjob_T3_E2: $ camera.set(zoom=0.45, pos=(150, 70), t=1.0) - gen "*Ahhh* I needed that..." + gen "*Ahhh*... I needed that..." $ camera.set_imagepath("cho_bj/kneel/") $ camera.set_image("topless_mid_cough_cum_swallow") cho "*Cough*-*Cough*-...*Ah*...{w=0.4}*Ah*..." - gen "That was awesome... great job--" + gen "That was awesome... Great job--" $ camera.set_image("topless_up_angry_cum_swallow") @@ -1324,9 +1378,9 @@ label cc_pf_blowjob_T3_E2: with d5 cho "For a first blowjob?! It is not!" - gen "I mean...{w=0.4} wait did you say first... does that mean you still want to do--" + gen "I mean...{w=0.4} Wait did you say first... Does that mean you still want to--" $ cho.wear("all") - $ renpy.sound.play("sounds/cloth_sound2.ogg") + play sound "sounds/cloth_sound2.ogg" cho "I can't believe you..." hide screen animatedCG @@ -1335,51 +1389,57 @@ label cc_pf_blowjob_T3_E2: #Cut to office screen #Cho has put on her top gen "As I said, it's kind of expected from the whole blowjob thing..." ("base", xpos="far_left", ypos="head") - cho "You...{w=0.4} you're joking right?" ("clench", "narrow", "angry", "mid", cheeks="blush", trans=d3) + cho @ cheeks blush "You...{w=0.4} You're joking, right?" ("clench", "narrow", "angry", "mid", trans=d3) gen "Deadly serious..." ("base", xpos="far_left", ypos="head") gen "Unless I fancy covering your face that is..." ("base", xpos="far_left", ypos="head") - cho "Unless you--" ("soft", "wide", "angry", "mid", cheeks="blush") #disgust - cho "*Humph*!" ("upset", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Unless you--" ("soft", "wide", "angry", "mid") #disgust + cho @ cheeks blush "*Humph*!" ("upset", "base", "angry", "mid") # Gets upset - $ cho_mood += 12 + $ states.cho.mood += 12 - cho "I'm going to go take a shower now if you don't mind!" ("mad", "base", "angry", "mid", cheeks="blush") - gen "You're dismissed [cho_name]." ("base", xpos="far_left", ypos="head") - cho "Good!" ("annoyed", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I'm going to go take a shower now if you don't mind!" ("mad", "base", "angry", "mid") + gen "You're dismissed [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Good!" ("annoyed", "base", "angry", "mid") call cho_walk("door", "base") - cho "{size=-4}Seriously... just ask first...{/size}" ("disgust", "base", "angry", "down", cheeks="heavy_blush", flip=True, trans=d3) #Small text #Pout #Blush + cho @ cheeks heavy_blush "{size=-4}Seriously... Just ask first...{/size}" ("disgust", "base", "angry", "down", flip=True, trans=d3) #Small text #Pout #Blush call cho_walk(action="leave") + $ states.cho.status.gokkun = True jump end_cc_pf_blowjob label cc_pf_blowjob_T3_E3: - gen "Let's see what that mouth can do." ("base", xpos="far_left", ypos="head") - cho "You want to...{w=0.4} use my mouth again [cho_genie_name]?" ("soft", "narrow", "base", "downR", cheeks="blush") - cho "I guess I could..." ("open", "narrow", "base", "down", cheeks="blush") #Blush #Horny - if cho_bj_choice == "points": + call cc_pf_blowjob + + $ states.cho.ev.suck_it.T3_E3_complete = True + + gen "Let's see what that mouth can do." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "You want to...{w=0.4} use my mouth again [name_genie_cho]?" ("soft", "narrow", "base", "downR") + cho @ cheeks blush "I suppose I could..." ("open", "narrow", "base", "down") #Blush #Horny + + if states.cho.ev.suck_it.variant == "points": gen "And this time I won't make the mistake of offering house points..." ("base", xpos="far_left", ypos="head") - cho "You better not." ("annoyed", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "You better not." ("annoyed", "narrow", "base", "downR") gen "But my expectations are still the same..." ("base", xpos="far_left", ypos="head") gen "For you to push your limits on your own..." ("base", xpos="far_left", ypos="head") - cho "So you want me to..." ("soft", "base", "base", "downR", cheeks="blush") - elif cho_bj_choice == "taste": - gen "And if you don't want those clothes dirty you better swallow this time..." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "base", "downR", cheeks="blush") #blush - elif cho_bj_choice == "swallow": - cho "You expect me to swallow again?" ("open", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "So you want me to..." ("soft", "base", "base", "downR") + elif states.cho.ev.suck_it.variant == "taste": + gen "And if you don't want those clothes dirty, you better swallow this time..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("annoyed", "narrow", "base", "downR") #blush + elif states.cho.ev.suck_it.variant == "swallow": + cho @ cheeks blush "You expect me to swallow again?" ("open", "base", "base", "downR") gen "Of course, that's part of the deal..." ("base", xpos="far_left", ypos="head") - else: # cho_bj_choice == throat - Using `else` as a fallback for degenerates that use cheats - cho "Will you warn me this time?" ("annoyed", "narrow", "base", "downR", cheeks="blush") + else: # states.cho.ev.suck_it.variant == throat - Using `else` as a fallback for degenerates that use cheats + cho @ cheeks blush "Will you warn me this time?" ("annoyed", "narrow", "base", "downR") gen "Of course..." ("base", xpos="far_left", ypos="head") - cho "Fine..." ("base", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Fine..." ("base", "narrow", "base", "R") gen "Good! And one more thing..." ("base", xpos="far_left", ypos="head") gen "I expect some dirty talk this time." ("base", xpos="far_left", ypos="head") - cho "Dirty talk, [cho_genie_name]?" ("upset", "base", "raised", "mid", cheeks="blush") #pout - cho "I... If that's what you want..." ("soft", "base", "base", "downR", cheeks="blush") #Blush + cho @ cheeks blush "Dirty talk, [name_genie_cho]?" ("upset", "base", "raised", "mid") #pout + cho @ cheeks blush "I... If that's what you want..." ("soft", "base", "base", "downR") #Blush gen "Good, then get over here..." ("base", xpos="far_left", ypos="head") call cho_walk("desk_close", "base") @@ -1403,20 +1463,20 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("up_neutral") - cho "Did you want me to take my top off again [cho_genie_name]?" + cho "Did you want me to take my top off again [name_genie_cho]?" gen "Taking initiative, *huh*? I like it." $ camera.set_image("up_smile") - cho "In that case...{w=0.4} Just relax [cho_genie_name] and I'll take care of you..." + cho "In that case...{w=0.4} Just relax [name_genie_cho] and I'll take care of you..." - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ camera.set_image("topless_mid_dreamy", trans=Fade(0.5, 2.0, 0.5)) #Cho moves up closer cho "..." - cho "Your--... your cock is so big [cho_genie_name]!" - gen "That's it [cho_name], keep talking just like that..." + cho "Your--{w=0.4} Your cock is so big [name_genie_cho]!" + gen "That's it [name_cho_genie], keep talking just like that..." gen "Put your hand on it and tell me how it feels..." $ camera.set_imagepath("cho_bj/hj/") @@ -1433,7 +1493,7 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("cho_hj topless up blush") - cho "Do you like it when I stroke your cock, [cho_genie_name]?" #Looks at genie + cho "Do you like it when I stroke your cock, [name_genie_cho]?" #Looks at genie gen "Very much so!" cho "*Mhmmm* Good answer. {heart}" @@ -1447,26 +1507,26 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("cho_hj topless mid smile fast") - gen "*Ahh* You make me proud, [cho_name]...{w=0.3} I've taught you well." + gen "*Ahh* You make me proud, [name_cho_genie]...{w=0.3} I've taught you well." $ camera.set_image("cho_hj topless up blush") - cho "Thank you, [cho_genie_name]... it's my pleasure. {heart}" #Worried #Looks at dick + cho "Thank you, [name_genie_cho]... It's my pleasure. {heart}" #Worried #Looks at dick $ camera.set_image("cho_hj topless mid smile fast") - gen "*Ahh*...{w=0.3} Pleasure's all mine, [cho_name]." + gen "*Ahh*...{w=0.3} Pleasure's all mine, [name_cho_genie]." call ctc $ camera.set_image("cho_hj topless up blush") - cho "You've been such a help to me, [cho_genie_name]." + cho "You've been such a help to me, [name_genie_cho]." $ camera.set_image("cho_hj topless up blush") cho "I would never have been able to get this far without you..." - gen "That's it, [cho_name], keep talking..." + gen "That's it, [name_cho_genie], keep talking..." $ camera.set_image("cho_hj topless mid smile") @@ -1480,15 +1540,15 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("cho_hj topless mid smile") cho "The look of pleasure on your face once you cum in my mouth..." - if cho_bj_choice in ("swallow", "throat"): - cho "The sensation of your jizz going down my throat is so..." #Looks at dick + if states.cho.ev.suck_it.variant in ("swallow", "throat"): + cho "The sensation of your jizz going down my throat, is so..." #Looks at dick $ camera.set_image("cho_bj topless lick success") pause 1 $ camera.set_image("topless_mid_dreamy") "addicting! {heart}{heart}" - elif cho_bj_choice == "points": + elif states.cho.ev.suck_it.variant == "points": cho "To finally feel your jizz slide down my throat, I..." $ camera.set_image("cho_bj topless lick success") @@ -1506,11 +1566,11 @@ label cc_pf_blowjob_T3_E3: "delicious! {heart}{heart}" - gen "(If she keeps going like this, I'll blow before an actual blowjob...)" + gen "(If she keeps going like this, I'll blow before the actual blowjob...)" $ camera.set_image("topless_up_blush2") - cho "Will you let me put my lips around it now, [cho_genie_name]?" #Looks at genie + cho "Will you let me put my lips around it now, [name_genie_cho]?" #Looks at genie gen "Perhaps..." $ camera.set_image("topless_up_worried") @@ -1520,8 +1580,8 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("topless_up_blush2") - cho "[cho_genie_name]?" - gen "Tell me how badly you want-- no, how badly you {i}need{/i} cock in your mouth." + cho "[name_genie_cho]?" + gen "Tell me how badly you want--{w=0.2} No, how badly you {i}need{/i} cock in your mouth." $ camera.set_image("topless_up_cringe") @@ -1538,7 +1598,7 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("topless_mid_dreamy") - cho "(*Ah* {heart}{heart}{heart})" + cho "(*Ah*{heart}{heart}{heart})" gen "Well then?" $ camera.set_image("topless_up_wide") @@ -1556,13 +1616,13 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("topless_up_blush2") - cho "I need your cock in my mouth...{w=0.2} and I need to feel your cum going down my throat..." + cho "I need your cock in my mouth...{w=0.2} And I need to feel your cum going down my throat..." gen "(She sure is a quick learner...)" - gen "That's it [cho_name]... Now work that mouth of yours for your reward..." + gen "That's it [name_cho_genie]... Now work that mouth of yours for your reward..." $ camera.set_image("topless_mid_dreamy") - cho "*Ah* Thank you, [cho_genie_name]..." #Blushes + cho "*Ah* Thank you, [name_genie_cho]..." #Blushes $ camera.set_image("cho_bj topless suck medium start") pause 2 @@ -1592,7 +1652,7 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("cho_hj topless up") gen "I didn't say you could--" - cho "Cum for me [cho_genie_name]!" + cho "Cum for me [name_genie_cho]!" $ camera.set_image("cho_hj topless up blush") @@ -1605,7 +1665,7 @@ label cc_pf_blowjob_T3_E3: call ctc - gen "That's it [cho_name], get ready for your reward." + gen "That's it [name_cho_genie], get ready for your reward!" $ camera.set_image("cho_bj topless suck medium") @@ -1613,7 +1673,7 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("cho_bj topless suck medium up") - gen "Open up [cho_name], here it comes!" #large text + gen "Open up [name_cho_genie], here it comes!" #large text gen "*ARGH!*" with vpunch @@ -1635,7 +1695,7 @@ label cc_pf_blowjob_T3_E3: gen "Don't swallow yet!" cho "*Mfff*..." #Mouth full - gen "Good... Now play with it with your tongue." + gen "Good...{w=0.4} Now play with it with your tongue." $ camera.set_image("topless_mid_full_worried") cho "....{w}......{w}....." @@ -1645,13 +1705,13 @@ label cc_pf_blowjob_T3_E3: $ camera.set_image("topless_mid_full_angry") pause 1 - call play_sound("gulp") + play sound "sounds/gulp.ogg" $ camera.set_image("topless_mid_full_swallowed2", trans=d5) pause 1.5 $ camera.set_image("topless_mid_full_swallowed") gen "I hope you liked your reward." - gen "Now... On your feet, [cho_name]." + gen "On your feet, [name_cho_genie]." $ camera.set(zoom=1.0, pos=(300, 400), t=5.0, pause=True) @@ -1662,53 +1722,56 @@ label cc_pf_blowjob_T3_E3: hide screen animatedCG with fade - if cho_bj_choice in ("taste", "points"): - cho "I...{w=0.4} I did it...{w=0.4} I swallowed your cum [cho_genie_name]." ("base", "happyCl", "base", "mid", cheeks="blush", trans=d3) + if states.cho.ev.suck_it.variant in ("taste", "points"): + cho @ cheeks blush "I...{w=0.4} I did it...{w=0.4} I swallowed your cum [name_genie_cho]." ("base", "happyCl", "base", "mid", trans=d3) gen "As expected." ("base", xpos="far_left", ypos="head") gen "But an improvement from last time nevertheless..." ("base", xpos="far_left", ypos="head") - cho "Thank you [cho_genie_name]..." ("base", "narrow", "base", "down", cheeks="blush") - elif cho_bj_choice == "swallow": - cho "I...{w=0.4} I hope you liked it [cho_genie_name]." ("base", "narrow", "base", "down", cheeks="blush", trans=d3) - else: # cho_bj_choice == throat - Using `else` as a fallback for degenerates that use cheats - cho "I...{w=0.4} I did it..." ("base", "narrow", "base", "down", cheeks="blush", trans=d3) + cho @ cheeks blush "Thank you [name_genie_cho]..." ("base", "narrow", "base", "down") + elif states.cho.ev.suck_it.variant == "swallow": + cho @ cheeks blush "I...{w=0.4} I hope you liked it [name_genie_cho]." ("base", "narrow", "base", "down", trans=d3) + else: # states.cho.ev.suck_it.variant == throat - Using `else` as a fallback for degenerates that use cheats + cho @ cheeks blush "I...{w=0.4} I did it..." ("base", "narrow", "base", "down", trans=d3) gen "And without my help this time." ("base", xpos="far_left", ypos="head") - cho "Your...{w=0.4} Your cum...{w=0.4} was delicious [cho_genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") - gen "That's right [cho_name]... and if you keep doing such a good job there's even more where that came from..." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Your...{w=0.4} Your cum...{w=0.4} was delicious [name_genie_cho]..." ("soft", "closed", "base", "mid") + gen "That's right [name_cho_genie]... and if you keep doing such a good job there's even more where that came from..." ("grin", xpos="far_left", ypos="head") gen "You can stop talking dirty now." ("base", xpos="far_left", ypos="head") - cho "I wasn't--" ("open", "narrow", "base", "down", cheeks="heavy_blush") #blush, looking right - cho "Yes, [cho_genie_name]..." ("upset", "narrow", "base", "R", cheeks="heavy_blush") - cho "So... Is that all?" ("soft", "narrow", "base", "R", cheeks="blush") + cho @ cheeks heavy_blush "I wasn't--" ("open", "narrow", "base", "down") #blush, looking right + cho @ cheeks heavy_blush "Yes, [name_genie_cho]..." ("upset", "narrow", "base", "R") + cho @ cheeks blush "So...{w=0.4} Is that all?" ("soft", "narrow", "base", "R") gen "For now..." ("base", xpos="far_left", ypos="head") - cho "Okay then..." ("soft", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Okay then..." ("soft", "base", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound2.ogg") + play sound "sounds/cloth_sound2.ogg" $ cho.wear("all") $ cho.set_cum(None) with fade if game.daytime: - cho "In that case I'll head back to class." ("open", "base", "base", "R", cheeks="blush") + cho @ cheeks blush "In that case, I'll head back to class." ("open", "base", "base", "R") else: cho "I'll head back to my dorms then..." ("base", "base", "base", "mid") gen "Of course...{w=0.4} you better be ready for next time..." ("base", xpos="far_left", ypos="head") - cho "Next...{w=0.4} yes [cho_genie_name]..." ("horny", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Next...{w=0.4} Yes [name_genie_cho]..." ("horny", "narrow", "base", "down") call cho_walk("door", "base") - cho "(He's so commanding...)" ("horny", "narrow", "base", "R", cheeks="heavy_blush", flip=True, trans=d3) # horny - cho "(No wonder Hermione enjoys it so much...)" ("horny", "closed", "base", "mid", cheeks="heavy_blush") - gen "[cho_name]." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "(He's so commanding...)" ("horny", "narrow", "base", "R", flip=True, trans=d3) # horny + if states.her.status.blowjob: + cho @ cheeks heavy_blush "(No wonder why Hermione is doing this...)" ("horny", "closed", "base", "mid") + gen "[name_cho_genie]." ("base", xpos="far_left", ypos="head") call cho_chibi("stand", "door", "base", flip=False) cho "" (flip=False, trans=d5) - cho "Yes... sorry!" ("mad", "base", "base", "L", cheeks="heavy_blush") #Heavy Blush - cho "Bye then!" ("soft", "happyCl", "base", "mid", cheeks="heavy_blush") #Heavy Blush + cho @ cheeks heavy_blush "Yes... Sorry!" ("mad", "base", "base", "L") #Heavy Blush + cho @ cheeks heavy_blush "Bye then!" ("soft", "happyCl", "base", "mid") #Heavy Blush call cho_walk(action="leave") pause 1 - gen "Turns out I'm a better coach than I gave myself credit for." ("base", xpos="far_left", ypos="head") - gen "Time for the next step!" ("grin", xpos="far_left", ypos="head") + gen "(Turns out I'm a better coach than I gave myself credit for.)" ("base", xpos="far_left", ypos="head") + gen "(Time for the next step!)" ("grin", xpos="far_left", ypos="head") + + $ states.cho.status.gokkun = True jump end_cc_pf_blowjob diff --git a/game/scripts/characters/cho/events/favors/talk_to_me.rpy b/game/scripts/characters/cho/events/favors/talk_to_me.rpy index 094ed435..dcc5a1d9 100644 --- a/game/scripts/characters/cho/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/cho/events/favors/talk_to_me.rpy @@ -4,72 +4,77 @@ label cc_pf_talk: - gen "{size=-4}(All I'll do is have an innocent conversation with her...){/size}" ("base", xpos="far_left", ypos="head") + if not _events_completed_any: + gen "{size=-4}(All I'll do is have an innocent conversation with her...){/size}" ("base", xpos="far_left", ypos="head") - if cc_pf_talk.counter < 1: menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": - jump cho_favor_menu.personal + $ _event.cancel() + jump cho_favor_menu # Start Event - $ cc_pf_talk.start() + return # End Event Jump - label end_cho_talk_event: +label end_cho_talk_event: - if cho_tier == 1: - if cho_whoring < 3: # Points til 3 - $ cho_whoring += 1 + if states.cho.tier == 1: + if states.cho.level < 3: # Points til 3 + $ states.cho.level += 1 - elif cho_tier == 2: - if cho_whoring < 9: # Points til 9 - $ cho_whoring += 1 + elif states.cho.tier == 2: + if states.cho.level < 9: # Points til 9 + $ states.cho.level += 1 - elif cho_tier == 2: - if cho_whoring < 9: # Points til 9 - $ cho_whoring += 1 + elif states.cho.tier == 2: + if states.cho.level < 9: # Points til 9 + $ states.cho.level += 1 - elif cho_tier == 3: # Points til 15 - if cho_whoring < 15: - $ cho_whoring += 1 + elif states.cho.tier == 3: # Points til 15 + if states.cho.level < 15: + $ states.cho.level += 1 jump end_cho_event ### Tier 1 (pre Hufflepuff) ### label cc_pf_talk_T1_intro_E1: + + call cc_pf_talk + gen "Let's have a little chat shall we." ("base", xpos="far_left", ypos="head") - cho "A chat, [cho_genie_name]?" ("open", "base", "raised", "mid") + cho "A chat, [name_genie_cho]?" ("open", "base", "raised", "mid") gen "Just to get to know each other a little bit better." ("grin", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]." ("smile", "base", "base", "mid") + cho "Of course, [name_genie_cho]." ("smile", "base", "base", "mid") gen "First, I'd like you to come a bit closer." ("base", xpos="far_left", ypos="head") cho "Very well..." ("soft", "base", "base", "R") call cho_walk("desk", "base") - call play_music("cho") - cho "" (face="happy", xpos="mid", ypos="base", trans=d3) + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=d3) call ctc cho "What would you like to talk about?" ("soft", "base", "base", "mid") gen "Do you have a boyfriend, Miss Chang?" ("base", xpos="far_left", ypos="head") cho "Excuse me?" ("open", "wide", "base", "mid", trans=hpunch) # Shocked - gen "I asked if you have boyfriend. Anybody you fool around with?" ("base", xpos="far_left", ypos="head") - cho "Me? sir? Ha--{w=0.4} hav--{w=0.4} a boyfriend?" ("open", "wide", "base", "R", cheeks="blush") # Reluctant, Embarassed + gen "I asked if you have a boyfriend... Anybody you fool around with?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Me? sir? Ha--{w=0.4} hav--{w=0.4} a boyfriend?" ("open", "wide", "base", "R") # Reluctant, Embarassed gen "Or a girlfriend! That would be even better, now that I think about it!" ("grin", xpos="far_left", ypos="head") - cho "Sir that's--{w=0.3} that's not something a headmaster should be concerned about." ("soft", "happyCl", "worried", "L", cheeks="blush") - cho "And I don't see how this information would be of importance for my training." ("open", "wide", "raised", "downR", cheeks="blush") - cho "Why would it matter if--{w=0.5} Even if I did I'd--" ("soft", "wide", "base", "down", cheeks="blush") + cho @ cheeks blush "Sir, that's--{w=0.3} that's not something a headmaster should be concerned about." ("soft", "happyCl", "worried", "L") + cho @ cheeks blush "And I don't see how this information would be of importance for my training." ("open", "wide", "raised", "downR") + cho @ cheeks blush "Why would it matter if--{w=0.5} Even if I did I'd--" ("soft", "wide", "base", "down") gen "So you don't have one?" ("grin", xpos="far_left", ypos="head") - cho "You're making me nervous, [cho_genie_name]. {heart}" ("horny", "narrow", "worried", "R", cheeks="blush") + cho @ cheeks blush "You're making me nervous, [name_genie_cho]. {heart}" ("horny", "narrow", "worried", "R") gen "(So cute.{w=0.5} Perhaps this is something I could push her further on...)" ("base", xpos="far_left", ypos="head") cho "Sir, I do not have a boyfriend at the moment." ("soft", "closed", "angry", "mid") cho "I hope that answers your question." ("annoyed", "narrow", "base", "mid") gen "So, a girlfriend then?" ("grin", xpos="far_left", ypos="head") - cho "!!!" ("angry", "wide", "raised", "mid", cheeks="blush") - cho "No. Why would you even think that, [cho_genie_name]?!" ("open", "closed", "angry", "mid") + cho @ cheeks blush "!!!" ("angry", "wide", "raised", "mid") + cho "No. Why would you even think that, [name_genie_cho]?!" ("open", "closed", "angry", "mid") cho "" ("annoyed", "narrow", "angry", "mid") gen "(She doesn't seem that keen on the subject, perhaps I could tell her...)" ("base", xpos="far_left", ypos="head") @@ -77,7 +82,7 @@ label cc_pf_talk_T1_intro_E1: menu: "\"It's important to open up to your headmaster.\"": gen "Emphasis on \"opening up\"..." ("base", xpos="far_left", ypos="head") - cho "I don't think that will be necessary, [cho_genie_name]." ("annoyed", "narrow", "angry", "mid") + cho "I don't think that will be necessary, [name_genie_cho]." ("annoyed", "narrow", "angry", "mid") gen "There's a lot more to gather from discussing previous life choices than you might think." ("base", xpos="far_left", ypos="head") gen "You get to learn a lot about the way someone has matured by previous experiences..." ("base", xpos="far_left", ypos="head") gen "Like a first kiss, who it was with, and so on..." ("base", xpos="far_left", ypos="head") @@ -91,8 +96,8 @@ label cc_pf_talk_T1_intro_E1: pass "\"It's okay if you like girls...\"": - if cho_mood == 0: - $ cho_mood += 1 + if states.cho.mood == 0: + $ states.cho.mood += 1 gen "Some people prefer to swing the other way..." ("base", xpos="far_left", ypos="head") cho "What?" ("angry", "wide", "base", "mid") gen "You know... When you prefer flicking the bean over rubbing a wand..." ("base", xpos="far_left", ypos="head") @@ -104,8 +109,8 @@ label cc_pf_talk_T1_intro_E1: jump cc_pf_talk_T1_intro_E1.choices "\"In my previous relationships...\"": - if cho_mood == 0: - $ cho_mood += 1 + if states.cho.mood == 0: + $ states.cho.mood += 1 cho "Sir, I'd rather not hear a boring old tale about any of your old flames..." ("open", "narrow", "base", "R") gen "Oh they weren't boring at all!" ("grin", xpos="far_left", ypos="head") cho "*Hmm*?" ("annoyed", "narrow", "base", "mid") @@ -125,11 +130,11 @@ label cc_pf_talk_T1_intro_E1: gen "(They host tournaments here? Interesting...)" ("base", xpos="far_left", ypos="head") cho "That year was the most fun I've ever had!" ("smile", "base", "base", "mid") gen "Was he that good?" ("base", xpos="far_left", ypos="head") - cho "What?{w=0.5} No, Sir, not because of him!{w} The tourney, [cho_genie_name]!" ("soft", "narrow", "base", "mid") + cho "What?{w=0.5} No, Sir, not because of him!{w} The tourney, [name_genie_cho]!" ("soft", "narrow", "base", "mid") gen "Sure..." ("base", xpos="far_left", ypos="head") cho "We should have it every year if you were to ask me!" ("open", "closed", "base", "mid") gen "(A cosplay tournament is what this school needs...)" ("grin", xpos="far_left", ypos="head") - cho "Sir that would be great!" ("smile", "narrow", "base", "mid") + cho "Sir, that would be great!" ("smile", "narrow", "base", "mid") gen "(Wait, wait!{w=0.8} A \"nude\" cosplay tournament!{w=0.6} Even better!)" ("angry", xpos="far_left", ypos="head") gen "(Is it even cosplay if they're naked?)" ("angry", xpos="far_left", ypos="head") cho "And with new contestants every month! You've got to do this, Sir!" ("smile", "base", "base", "mid") @@ -160,7 +165,7 @@ label cc_pf_talk_T1_intro_E1: cho "No!" ("annoyed", "narrow", "angry", "mid") gen "I could've sworn I read that somewhere..." ("base", xpos="far_left", ypos="head") gen "Are you sure he's still around?{w=0.6} What if he {b}did{/b} die, but then he returned from the dead?" ("base", xpos="far_left", ypos="head") - gen "For all you know he could be a vampire!" ("angry", xpos="far_left", ypos="head") + gen "For all you know, he could be a vampire!" ("angry", xpos="far_left", ypos="head") cho "Sir, you're talking nonsense..." ("annoyed", "narrow", "angry", "R") cho "Please don't joke about your student like that. It's so unlike you..." ("open", "closed", "base", "mid") cho "He's one of your bests! The best student Hufflepuff has ever seen!" ("open", "base", "base", "mid") @@ -180,7 +185,7 @@ label cc_pf_talk_T1_intro_E1: gen "Who else did you do it with?" ("base", xpos="far_left", ypos="head") cho "Do it with?" ("soft", "narrow", "raised", "mid") # Shocked gen "Smooching, kissing, snogging...{w=0.8} whatever you call it nowadays..." ("base", xpos="far_left", ypos="head") - cho "With all due respect sir, it's very odd that you'd ask me about those sort of things..." ("open", "closed", "base", "mid") + cho "With all due respect sir, it's very odd that you'd ask me about these sorts of things..." ("open", "closed", "base", "mid") cho "But... you {b}are{/b} helping me.{w=0.8} So I guess I owe you that much..." ("annoyed", "base", "base", "R") gen "That's what I wanted to hear." ("grin", xpos="far_left", ypos="head") @@ -200,7 +205,7 @@ label cc_pf_talk_T1_intro_E1: cho "She was one of the students from Beauxbatons." ("soft", "base", "base", "downR") gen "(...)" ("base", xpos="far_left", ypos="head") cho "A French girl." ("soft", "base", "base", "down") - gen "I hope you {i}frenched{/i} that french girl!" ("grin", xpos="far_left", ypos="head") + gen "I hope you {i}frenched{/i} that French girl!" ("grin", xpos="far_left", ypos="head") cho "*Ehm*..." ("angry", "closed", "worried", "mid") # Super embarrassed cho "(Why am I telling him this?)" ("horny", "narrow", "worried", "R") gen "Tell me more about this girl." ("base", xpos="far_left", ypos="head") @@ -216,20 +221,18 @@ label cc_pf_talk_T1_intro_E1: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 pause .8 - call bld - "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "I want to hear everything!" ("grin", xpos="far_left", ypos="head") @@ -240,9 +243,9 @@ label cc_pf_talk_T1_intro_E1: else: cho "It's getting really late. May we postpone this talk to some other time?" ("soft", "narrow", "worried", "R") - if genie_masturbating: + if states.gen.masturbating: gen "What? Please don't go now. I've only just started!" ("angry", xpos="far_left", ypos="head") - cho "Started with what, [cho_genie_name]?" ("annoyed", "narrow", "angry", "mid") + cho "Started with what, [name_genie_cho]?" ("annoyed", "narrow", "angry", "mid") gen "I'll give you ten house points if you stay!{w=0.8} Just a tiny bit longer!" ("angry", xpos="far_left", ypos="head") cho "And what makes you believe that I'd agree to such a thing?{w=0.8} Getting rewarded with points for doing nothing?" ("open", "closed", "base", "mid") cho "Earning house points in such a way is despicable, and it would be unfair towards the other school houses, as well as my fellow students..." ("open", "narrow", "base", "mid") @@ -267,18 +270,21 @@ label cc_pf_talk_T1_intro_E1: call bld gen "(...)" ("base", xpos="far_left", ypos="head") - if genie_masturbating: - gen "Blue-balled..." ("base", xpos="far_left", ypos="head") - gen "Oh well... Maybe I deserved it." ("base", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "(Blue-balled...)" ("base", xpos="far_left", ypos="head") + gen "(Oh well...{w=0.4} Maybe I deserved it.)" ("base", xpos="far_left", ypos="head") jump end_cho_talk_event label cc_pf_talk_T1_intro_E2: - gen "Get closer, [cho_name]..." ("grin", xpos="far_left", ypos="head") + + call cc_pf_talk + + gen "Get closer, [name_cho_genie]..." ("grin", xpos="far_left", ypos="head") cho "..." ("annoyed", "base", "base", "down") call cho_walk("desk", "base") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "" ("annoyed", "narrow", "angry", "mid", xpos="mid", ypos="base", trans=d3) pause .5 @@ -287,15 +293,40 @@ label cc_pf_talk_T1_intro_E2: gen "I don't know.{w=1.0} Would you like to?" ("base", xpos="far_left", ypos="head") cho "I'd rather not." ("soft", "narrow", "angry", "mid") gen "Tell me about yourself then." ("base", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]." ("smile", "base", "base", "mid") + cho "Of course, [name_genie_cho]." ("smile", "base", "base", "mid") cho "We had a training session yesterday." ("soft", "base", "base", "R") gen "Training session?" ("base", xpos="far_left", ypos="head") cho "Yes. We are preparing ourselves for the Quidditch match against Hufflepuff." ("open", "narrow", "base", "mid") cho "Our team really believes that we have a chance to win this time!" ("smile", "base", "base", "mid") - cho "They got a huge boost of confidence after I told 'em that the {i}great Albus Dumbledore{/i} would be training us himself!" ("base", "narrow", "base", "mid") - gen "Are you getting along with your team well?" ("base", xpos="far_left", ypos="head") - cho "I'd say so.{w=1.0} Although there was a time when--" ("soft", "base", "base", "mid") - cho "Let's just say it was a bit difficult for me at first. After all Quidditch is largely dominated by men..." ("open", "narrow", "worried", "down") + cho "They got a huge boost of confidence after I told 'em that the {i}Great Albus Dumbledore{/i} would be training us himself!" ("base", "narrow", "base", "mid") + gen "The... Great?" ("base", xpos="far_left", ypos="head") + cho "That's right!" ("smile", "base", "base", "mid") + menu: + "-Play it down-": + gen "Surely that can't be right..." ("base", xpos="far_left", ypos="head") + cho "But you are, [name_genie_cho]!" ("smile", "narrow", "base", "mid") + cho "Every witch and wizard has heard of the great Albus Dumbledore." ("smile", "closed", "base", "mid") + gen "Are you sure they weren't referring to {i}My Albus{/i}?" ("base", xpos="far_left", ypos="head") + cho "Your Albus, [name_genie_cho]?" ("soft", "base", "base", "mid") + cho "I'm not sure I--" ("open", "base", "raised", "mid") + "-Be modest-": + gen "Well, I wouldn't say great..." ("base", xpos="far_left", ypos="head") + cho "(He's so modest.)" ("base", "narrow", "base", "downR") + gen "{i}Massive{/i} is a more accurate description." ("base", xpos="far_left", ypos="head") + cho "Massive, [name_genie_cho]?" ("soft", "base", "base", "mid") + cho "I'm not sure I understand..." ("soft", "narrow", "base", "mid") + gen "I'm sure you'll find out in due time." ("base", xpos="far_left", ypos="head") + "-Boast-": + gen "Ah... Yes... Albin the great, that's me, alright!" ("base", xpos="far_left", ypos="head") + gen "I hope you realise how lucky you are to get the opportunity to experience my greatness first hand." ("grin", xpos="far_left", ypos="head") + cho "Oh, of course [name_genie_cho]! Thank you again, [name_genie_cho]!" ("angry", "base", "base", "mid") + gen "And perhaps one day, you'll get the privilege to experience my greatness {i}first mouth{/i}." ("grin", xpos="far_left", ypos="head") + cho "First... Mouth, [name_genie_cho]?" ("soft", "base", "raised", "mid") + gen "That's right." ("base", xpos="far_left", ypos="head") + cho "I don't--" ("annoyed", "base", "base", "mid") + gen "Speaking of your team...{w=0.4} You're getting along with them well, I hope?" ("base", xpos="far_left", ypos="head") + cho "I'd say so...{w=1.0} Although there was a time when--" ("soft", "base", "base", "mid") + cho "Let's just say it was a bit difficult for me at first. After all, Quidditch is largely dominated by men..." ("open", "narrow", "worried", "down") cho "Getting accepted into our Quidditch team was a challenge. I really had to prove I was worth it." ("soft", "narrow", "worried", "mid") gen "And how exactly did you manage that? Mind spilling the beans?" ("grin", xpos="far_left", ypos="head") cho "Through diligence, expertise, and determination!" ("open", "closed", "base", "mid") @@ -305,12 +336,12 @@ label cc_pf_talk_T1_intro_E2: cho "And as you can see -- it did work out in my favour, Sir." ("smile", "base", "base", "mid") cho "Very few teams have allowed a female player into their ranks over the past years." ("open", "narrow", "angry", "R") cho "And I've been the only female seeker at this school in over half a century!" ("open", "wide", "base", "mid") - cho "Can you even believe that, [cho_genie_name]?" ("soft", "base", "raised", "mid") - gen "(Half a century? That's like a coffee break for me girl...)" ("base", xpos="far_left", ypos="head") - cho "I don't want to brag, [cho_genie_name], but the role of a seeker is {b}the{/b} most important position in a team by far!" ("smile", "narrow", "base", "mid") + cho "Can you even believe that, [name_genie_cho]?" ("soft", "base", "raised", "mid") + gen "(Half a century? That's like a coffee break for me, girl...)" ("base", xpos="far_left", ypos="head") + cho "I don't want to brag, [name_genie_cho], but the role of a seeker is {b}the{/b} most important position in a team by far!" ("smile", "narrow", "base", "mid") cho "If you don't have a good seeker, you have no chance of winning!" ("soft", "closed", "base", "mid") gen "No wonder you need my help so badly then..." ("base", xpos="far_left", ypos="head") - cho "Our losses is neither my, nor my team's fault, [cho_genie_name]!" ("open", "base", "angry", "mid") + cho "Our losses is neither my, nor my team's fault, [name_genie_cho]!" ("open", "base", "angry", "mid") gen "So whose is it then?" ("base", xpos="far_left", ypos="head") cho "The enemy team's, obviously!" ("soft", "narrow", "angry", "mid") cho "They are cheating! And they have done so for years!" ("mad", "narrow", "angry", "R") @@ -328,51 +359,51 @@ label cc_pf_talk_T1_intro_E2: with d3 pause .8 - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False cho "Ever since I was a little girl -- Quidditch has been my dream..." ("soft", "narrow", "worried", "down") - cho "[cho_genie_name], can you imagine how {b}hard{/b} it was for me?" ("soft", "narrow", "worried", "mid") - if genie_masturbating: + cho "[name_genie_cho], can you imagine how {b}hard{/b} it was for me?" ("soft", "narrow", "worried", "mid") + if states.gen.masturbating: gen "{size=-4}(Yes, yes... It's so hard for you, you little slut!!!){/size}" ("angry", xpos="far_left", ypos="head") cho "How difficult it was for me at first?" ("open", "narrow", "worried", "R") cho "Getting accepted?" ("soft", "closed", "worried", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(I'd accept your ass on my cock if you're in such a need for acceptance, you whore!){/size}" ("angry", xpos="far_left", ypos="head") cho "I'm the only female in my team. Constantly surrounded by other men..." ("soft", "base", "worried", "down") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes! Yes! And they all would like to have their way with you!){/size}" ("angry", xpos="far_left", ypos="head") else: - gen "(Quite a sausage-party this Quidditch I have to admit.)" ("base", xpos="far_left", ypos="head") + gen "(Quite a sausage-party this Quidditch, I have to admit.)" ("base", xpos="far_left", ypos="head") gen "(Maybe telling Hermione off was a bad idea after all...)" ("angry", xpos="far_left", ypos="head") gen "(An \"all female\" team would be more fun to watch...)" ("grin", xpos="far_left", ypos="head") cho "Always feeling their gaze behind my back..." ("disgust", "base", "worried", "down") - cho "My own team, [cho_genie_name]!{w} They treat me like the plague!" ("upset", "base", "worried", "mid") + cho "My own team, [name_genie_cho]!{w} They treat me like the plague!" ("upset", "base", "worried", "mid") cho "They ignore me during class..." ("soft", "closed", "base", "mid") cho "When I meet them in the common room they go out of their way not to cross paths with me..." ("annoyed", "narrow", "angry", "R") cho "And when we shower after practice they're scared to even look at me!" ("angry", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes, yes!{w=0.5} Afraid to even look at you in the--){/size}" ("angry", xpos="far_left", ypos="head") with hpunch gen "Wait a bloody minute!{w} You shower {b}with{/b} your team?" ("angry", xpos="far_left", ypos="head") else: gen "The showers?{w} You shower {b}with{/b} your team?" ("angry", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]. It was after my request, after all." ("soft", "base", "raised", "mid") + cho "Of course, [name_genie_cho]. It was after my request, after all." ("soft", "base", "raised", "mid") gen "No kidding?" ("angry", xpos="far_left", ypos="head") cho "They shouldn't exclude me from team activities just because I'm a girl." ("open", "narrow", "base", "R") cho "It makes absolutely no difference!" ("open", "closed", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "You are naked with them? In the showers?" ("angry", xpos="far_left", ypos="head") else: gen "Just to be clear. You are naked with them, in the shower." ("base", xpos="far_left", ypos="head") - cho "Of course we're all naked, [cho_genie_name]!" ("soft", "base", "angry", "mid") + cho "Of course we're all naked, [name_genie_cho]!" ("soft", "base", "angry", "mid") cho "Why would we shower with our clothes on?" ("soft", "closed", "base", "mid") # Genie cums. - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(You exhibitionist slut!){/size}" ("angry", xpos="far_left", ypos="head") gen "*Argh*! {size=-4}(Here it comes!){/size}" ("angry", xpos="far_left", ypos="head") @@ -389,7 +420,7 @@ label cc_pf_talk_T1_intro_E2: gen "*Argh*! {size=-4}(Shower in this, you slut!){/size}" ("angry", xpos="far_left", ypos="head") call cum_block - cho "[cho_genie_name], are you alright?" ("soft", "base", "base", "mid") + cho "[name_genie_cho], are you alright?" ("soft", "base", "base", "mid") cho "You're sweating and breathing quite heavily..." ("annoyed", "base", "worried", "mid") call gen_chibi("cum_behind_desk_done") @@ -400,27 +431,27 @@ label cc_pf_talk_T1_intro_E2: gen "No, no! I'm..." ("angry", xpos="far_left", ypos="head") gen "I'm done.{w=0.3} Let's get back to the topic." ("base", xpos="far_left", ypos="head") cho "Which was?" ("open", "base", "raised", "mid") - gen "You taking showers with your \"teammates\"..." ("base", xpos="far_left", ypos="head") + gen "You, taking showers with your \"teammates\"..." ("base", xpos="far_left", ypos="head") cho "(...)" ("annoyed", "narrow", "angry", "mid") # Annoyed gen "Don't you think, the fact that they've seen you naked hasn't affected any of their actions?" ("base", xpos="far_left", ypos="head") - cho "Why would it, [cho_genie_name]? We're all adults here..." ("soft", "closed", "base", "mid") + cho "Why would it, [name_genie_cho]? We're all adults here..." ("soft", "closed", "base", "mid") gen "Perhaps that's just your take on it, girl." ("base", xpos="far_left", ypos="head") cho "" ("annoyed", "narrow", "angry", "mid") gen "Maybe your \"teammates\" aren't as... \"mature\" as you." ("grin", xpos="far_left", ypos="head") cho "I've known my team for years.{w=0.6} We're all professionals!" ("soft", "narrow", "base", "mid") gen "Let me ask you a question..." ("base", xpos="far_left", ypos="head") gen "In the showers,{w=0.3} do they all have their backs turned towards you?" ("base", xpos="far_left", ypos="head") - cho "I don't know. Maybe they-- *uhm*..." ("open", "base", "base", "mid") + cho "I don't know. Maybe they--{w=0.2} *Uhm*..." ("open", "base", "base", "mid") cho "!!!" ("normal", "wide", "base", "mid") # Cho remembers something?! - cho "" ("normal", "happyCl", "worried", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "" ("normal", "happyCl", "worried", "mid") pause .6 gen "Yes?{w=0.3} What is it?" ("grin", xpos="far_left", ypos="head") - cho "May I... May I leave, [cho_genie_name]?" ("soft", "narrow", "worried", "mid", cheeks="blush") + cho @ cheeks blush "May I... May I leave, [name_genie_cho]?" ("soft", "narrow", "worried", "mid") gen "Don't want to tell me?" ("grin", xpos="far_left", ypos="head") - cho "No." ("disgust", "happyCl", "worried", "mid", cheeks="blush") + cho @ cheeks blush "No." ("disgust", "happyCl", "worried", "mid") gen "Fine...{w=0.3} you may leave..." ("base", xpos="far_left", ypos="head") - cho "Thank you, [cho_genie_name]." ("open", "narrow", "worried", "mid", cheeks="blush") + cho @ cheeks blush "Thank you, [name_genie_cho]." ("open", "narrow", "worried", "mid") # Cho very slowly walks out of your office... call cho_walk(action="leave") @@ -431,20 +462,25 @@ label cc_pf_talk_T1_intro_E2: stop music fadeout 1.0 call gen_chibi("sit_behind_desk") - $ cho_requests_unlocked = True + $ states.cho.requests_unlocked = True call popup("You can now buy \"Public Requests\" from Cho!", "Congratulations!", "interface/icons/head/cho.webp") jump end_cho_talk_event label cc_pf_talk_T1_E3: + + $ states.cho.ev.talk_to_me.t1_e3_complete = True + + call cc_pf_talk + gen "Care to tell me more about Quidditch?" ("base", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]." ("smile", "base", "base", "R") + cho "Of course, [name_genie_cho]." ("smile", "base", "base", "R") cho "I always love talking about Quidditch!" ("base", "base", "base", "mid") gen "Yeah, yeah... I know." ("base", xpos="far_left", ypos="head") gen "First, come closer. Let me have a good look at you!" ("base", xpos="far_left", ypos="head") cho "Yes, Sir." ("base", "base", "base", "mid") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 @@ -452,7 +488,7 @@ label cc_pf_talk_T1_E3: gen "Yes. Let's talk some more about Duggery..." ("base", xpos="far_left", ypos="head") cho "*Huh*?" ("soft", "narrow", "base", "mid") gen "Your ex-boyfriend." ("grin", xpos="far_left", ypos="head") - cho "{size=-4}I knew I shouldn't have told him...{/size}" ("disgust", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "{size=-4}I knew I shouldn't have told him...{/size}" ("disgust", "narrow", "base", "down") cho "Sir, do you have to bring him up?" ("soft", "narrow", "base", "mid") cho "What's past is in the past..." ("annoyed", "narrow", "angry", "R") gen "I believe otherwise..." ("base", xpos="far_left", ypos="head") @@ -462,11 +498,11 @@ label cc_pf_talk_T1_E3: gen "His sexual preferences. Secret fetishes he might have. That sort of stuff..." ("base", xpos="far_left", ypos="head") cho "Sir, that's a very personal thing to ask for!" ("open", "narrow", "base", "mid") cho "I will not tell you about any of that!" ("annoyed", "narrow", "angry", "mid") - gen "[cho_name], we need to find something we can use against him. To our advantage!" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie], we need to find something we can use against him. To our advantage!" ("base", xpos="far_left", ypos="head") cho "But... {w=0.4} His sexual preferences? Are you sure knowing about that is important?" ("open", "narrow", "angry", "mid") gen "Very." ("base", xpos="far_left", ypos="head") cho "(...)" ("annoyed", "narrow", "angry", "R") - cho "Very well, [cho_genie_name]..." ("open", "closed", "angry", "mid") + cho "Very well, [name_genie_cho]..." ("open", "closed", "angry", "mid") cho "I'll tell you what I know about him." ("open", "narrow", "base", "mid") gen "Excellent." ("base", xpos="far_left", ypos="head") cho "Cedric was always a bit of a loner..." ("annoyed", "narrow", "base", "R") @@ -474,21 +510,23 @@ label cc_pf_talk_T1_E3: cho "(...)" ("annoyed", "narrow", "base", "R") gen "Yes? Go on..." ("base", xpos="far_left", ypos="head") cho "I believe he had a bit of an obsession with my panties, Sir." ("soft", "narrow", "base", "mid") - if not cho_quid.hufflepuff_prepared: + + if not states.cho.ev.quidditch.hufflepuff_prepared: gen "A panties obsession? So so..." ("base", xpos="far_left", ypos="head") else: gen "*Ha!* Called it!" ("grin", xpos="far_left", ypos="head") + cho "It was a little bit creepy how often he tried to look up my skirt..." ("angry", "wide", "base", "mid") - cho "I mean who would do such a thing?" ("soft", "base", "base", "mid") + cho "I mean, who would do such a thing?" ("soft", "base", "base", "mid") gen "Yes, yes... how terrible of him..." ("base", xpos="far_left", ypos="head") menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 @@ -498,13 +536,14 @@ label cc_pf_talk_T1_E3: gen "Please tell me more about your panties!" ("grin", xpos="far_left", ypos="head") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False + gen "(No, I need to focus!)" ("base", xpos="far_left", ypos="head") gen "(This might be useful information in our game against him...)" ("base", xpos="far_left", ypos="head") gen "Please, carry on..." ("base", xpos="far_left", ypos="head") cho "Of course, Sir." ("base", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: cho "That's an oddly specific question, don't you think?" ("soft", "base", "raised", "mid", trans=d3) gen "Come on, girl! Which were the ones he liked the most?" ("angry", xpos="far_left", ypos="head") cho "*Uhm*..." ("annoyed", "base", "base", "R") @@ -514,8 +553,8 @@ label cc_pf_talk_T1_E3: cho "If you can even call them that..." ("annoyed", "narrow", "base", "R") cho "Most of them look like shoelaces!" ("annoyed", "narrow", "angry", "R") gen "{size=-4}(What a bunch of sluts!){/size}" ("angry", xpos="far_left", ypos="head") - call nar("*Fap* *Fap* *Fap*...") - cho "You should see them, [cho_genie_name]!" ("annoyed", "narrow", "angry", "mid") + nar "*Fap* *Fap* *Fap*..." + cho "You should see them, [name_genie_cho]!" ("annoyed", "narrow", "angry", "mid") cho "They're all a bunch of sluts!!!" ("soft", "narrow", "angry", "mid") cho "They wear their skirts so low -- you just have to wonder how they haven't fallen off yet..." ("soft", "narrow", "base", "downR") gen "{size=-4}(Indeed, I'd love to see that!){/size}" ("angry", xpos="far_left", ypos="head") @@ -553,7 +592,7 @@ label cc_pf_talk_T1_E3: cho "Sir, would it be alright if I head off now?" ("soft", "base", "base", "R") gen "Already? Do you have to be somewhere?" ("grin", xpos="far_left", ypos="head") gen "Did our little talk about panties maybe... excite you?" ("grin", xpos="far_left", ypos="head") - cho "What? No of course not!" ("angry", "wide", "base", "mid") + cho "What? No, of course not!" ("angry", "wide", "base", "mid") if game.daytime: cho "I simply have to go to my next lesson..." ("soft", "closed", "base", "mid") @@ -567,9 +606,9 @@ label cc_pf_talk_T1_E3: # Cho leaves. call cho_walk(action="leave") - call bld - if not cho_quid.hufflepuff_prepared: + + if not states.cho.ev.quidditch.hufflepuff_prepared: gen "(I bet she enjoyed every second of it, or she'd most definitely have called him out...)" ("base", xpos="far_left", ypos="head") gen "(...)" ("base", xpos="far_left", ypos="head") gen "(Wait a minute... That's it!)" ("base", xpos="far_left", ypos="head") @@ -584,15 +623,15 @@ label cc_pf_talk_T1_E3: jump end_cho_talk_event else: - cho "He'd always walk behind me when we went up the stairs, to get a better view I bet..." ("soft", "narrow", "angry", "R") + cho "He'd always walk behind me when we went up the stairs, to get a better view, I bet..." ("soft", "narrow", "angry", "R") gen "Did you ever show them to him on purpose?" ("base", xpos="far_left", ypos="head") cho "My panties?" ("soft", "base", "raised", "mid") - gen "No, your good manners...{w} Yes your panties!" ("base", xpos="far_left", ypos="head") + gen "No, your good manners...{w} Yes, your panties!" ("base", xpos="far_left", ypos="head") cho "Why would I do that?" ("soft", "narrow", "raised", "mid") gen "What kind of girl doesn't show her panties to her beloved?" ("base", xpos="far_left", ypos="head") cho "I beg your pardon?!" ("angry", "wide", "raised", "mid") - if not cho_quid.hufflepuff_prepared: + if not states.cho.ev.quidditch.hufflepuff_prepared: gen "But, that made me think..." ("base", xpos="far_left", ypos="head") gen "If he's as obsessed with panties as you say, why don't we use that information to our advantage?" ("base", xpos="far_left", ypos="head") cho "Like how?" ("soft", "narrow", "raised", "mid") @@ -644,11 +683,14 @@ label cc_pf_talk_T1_E3: ### Tier 2 (pre Slytherin) ### label cc_pf_talk_T2_intro_E1: + + call cc_pf_talk + gen "Miss Chang, it's time we have another chat." ("base", xpos="far_left", ypos="head") gen "Please come a bit closer..." ("base", xpos="far_left", ypos="head") cho "Yes, Sir." ("base", "base", "base", "mid") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 @@ -665,44 +707,41 @@ label cc_pf_talk_T2_intro_E1: cho "We'll be playing against them next." ("annoyed", "narrow", "base", "R") cho "And of course they have to behave like the absolute worst!" ("soft", "narrow", "angry", "mid") cho "They deserve to be publicly disgraced in front of the whole school!{w=0.8} The whole lot of them!" ("scream", "closed", "angry", "mid", trans=hpunch) - cho "I'll make sure of it, [cho_genie_name]!{w=0.6} The Slytherin team will lose!" ("mad", "narrow", "angry", "mid") + cho "I'll make sure of it, [name_genie_cho]!{w=0.6} The Slytherin team will lose!" ("mad", "narrow", "angry", "mid") gen "(And I'll win my bet with Snape even sooner! Sweet!)" ("grin", xpos="far_left", ypos="head") gen "Anything you can tell me about them?{w=0.6} Are they better than Hufflepuff?" ("base", xpos="far_left", ypos="head") cho "They are, by quite a bit." ("annoyed", "base", "base", "mid") cho "However, Hufflepuff only had one really good player. Which was Cedric." ("soft", "base", "base", "R") cho "Slytherin on the other hand, they are almost unbeatable!" ("angry", "wide", "base", "mid") cho "They might even be better than Gryffindor..." ("annoyed", "base", "base", "up") - gen "You don't say. So why are they next and not Gryffindor?" ("base", xpos="far_left", ypos="head") + gen "You don't say. So, why are they next and not Gryffindor?" ("base", xpos="far_left", ypos="head") cho "Because of their seeker, Sir." ("soft", "narrow", "base", "mid") - cho "He's so...{w=0.6} so bad!" ("clench", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "He's so...{w=0.6} so bad!" ("clench", "narrow", "base", "R") gen "Who is their seeker?" ("base", xpos="far_left", ypos="head") cho "Draco Malfoy, Sir." ("open", "closed", "base", "mid") gen "(The cocky fella! Snape mentioned him before...)" ("base", xpos="far_left", ypos="head") cho "They've been continuously harassing my team..." ("annoyed", "narrow", "angry", "R") - cho "Well, mostly me actually." ("angry", "narrow", "base", "downR") # Embarrassed + cho "Well, mostly me, actually." ("angry", "narrow", "base", "downR") # Embarrassed menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 pause .8 - show screen blktone # Gets removed by `call nar()` - show screen bld1 - with d3 gen "(Just to make this clear, I'm not getting off because I like the thought that she's getting bullied...)" ("base", xpos="far_left", ypos="head") - call nar(">Right...") + nar "Right..." gen "I hope you fought back those bullies?" ("angry", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]!" ("base", "base", "base", "mid") + cho "Of course, [name_genie_cho]!" ("base", "base", "base", "mid") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "(No, I need to focus!)" ("base", xpos="far_left", ypos="head") gen "So... would you like to report them?" ("base", xpos="far_left", ypos="head") cho "No, Sir." ("soft", "closed", "base", "mid") @@ -714,31 +753,31 @@ label cc_pf_talk_T2_intro_E1: gen "Succumb to you?" ("base", xpos="far_left", ypos="head") cho "Yes.{w=0.3} They're so desperately trying to embarrass me.{w=0.6} To make me doubt myself before the big game..." ("smile", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "Those asshole bullies...{w=0.6} Show them who's boss!" ("angry", xpos="far_left", ypos="head") else: gen "And a strong, independent woman like yourself would never be intimidated by puny Slytherins!" ("grin", xpos="far_left", ypos="head") cho "Of course not, Sir." ("soft", "closed", "base", "mid") gen "I'm so proud!" ("angry", xpos="far_left", ypos="head") - cho "After all I'm only a small, helpless girl{w=0.6}, and they are a group of strong, ruthless alpha males!" ("soft", "base", "worried", "R", cheeks="blush") + cho @ cheeks blush "After all, I'm only a small, helpless girl{w=0.6}, and they are a group of strong, ruthless alpha males!" ("soft", "base", "worried", "R") cho "Their attempts are pathetic!" ("angry", "narrow", "angry", "mid") cho "They are pathetic!!!" ("clench", "narrow", "angry", "mid", trans=hpunch) cho "Trying to lift my skirt with first-year spells..." ("soft", "narrow", "angry", "R") cho "Stealing my underwear while I'm taking a shower after practice..." ("angry", "narrow", "angry", "downR") - if genie_masturbating: + if states.gen.masturbating: gen "*Argh!* {size=-4}(Dirty panty muggers!){/size}" ("angry", xpos="far_left", ypos="head") cho "They even had the audaciousness to write \"Cho, the Ravenclaw ho\" on the blackboard during divination class." ("open", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(They must have seen your future, you whore!){/size}" ("angry", xpos="far_left", ypos="head") - cho "Half the class saw it before I could get there...{w=0.8} Not that I care much about it..." ("annoyed", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "Half the class saw it before I could get there...{w=0.8} Not that I care much about it..." ("annoyed", "narrow", "base", "downR") cho "If I'm honest, I'm surprised they could even spell my name correctly..." ("soft", "narrow", "angry", "mid") - if genie_masturbating: - call nar("*Fap* *Fap* *Fap*...") + if states.gen.masturbating: + nar "*Fap* *Fap* *Fap*..." cho "They think they can intimidate me. But that's where they are mistaken!" ("angry", "narrow", "angry", "down") - if genie_masturbating: - cho "They should be scared of me, [cho_genie_name]!" ("soft", "narrow", "angry", "mid") + if states.gen.masturbating: + cho "They should be scared of me, [name_genie_cho]!" ("soft", "narrow", "angry", "mid") gen "{size=-4}(Yes! Show them, you slut!){/size}" ("angry", xpos="far_left", ypos="head") cho "Of what {b}I'm{/b} capable of!" ("clench", "base", "angry", "mid") gen "*Argh*! (I'm getting close!)" ("angry", xpos="far_left", ypos="head") @@ -747,15 +786,12 @@ label cc_pf_talk_T2_intro_E1: # Genie cums. gen "{size=-4}(Yes! Yes!{w=0.6} It's coming!){/size}" ("angry", xpos="far_left", ypos="head") call hide_characters - hide screen bld1 - with d3 call cum_block call gen_chibi("cum_behind_desk") with d3 pause .8 - call bld gen "*Argh*! {size=-4}(Take it!){/size}" ("angry", xpos="far_left", ypos="head") call cum_block @@ -786,14 +822,14 @@ label cc_pf_talk_T2_intro_E1: gen "His \"daddy\"?" ("base", xpos="far_left", ypos="head") cho "His father, Sir." ("soft", "closed", "angry", "mid") gen "Oh. I thought you might be talking about a different kind of \"daddy\"." ("base", xpos="far_left", ypos="head") - cho "Very funny, [cho_genie_name]..." ("annoyed", "narrow", "angry", "R") + cho "Very funny, [name_genie_cho]..." ("annoyed", "narrow", "angry", "R") cho "Now, if that's everything..." ("soft", "closed", "base", "mid") if game.daytime: cho "Classes are about to start, and I'm already late for them..." ("open", "narrow", "base", "R") cho "I hope it would be okay if I leave?" ("soft", "narrow", "base", "mid") else: - cho "It's getting late and I have to go and get some sleep..." ("open", "narrow", "base", "R") + cho "It's getting late, and I have to go and get some sleep..." ("open", "narrow", "base", "R") cho "I hope you don't mind, Sir?" ("soft", "narrow", "base", "mid") gen "Not at all.{w=0.3} You may go." ("base", xpos="far_left", ypos="head") @@ -806,11 +842,14 @@ label cc_pf_talk_T2_intro_E1: jump end_cho_talk_event label cc_pf_talk_T2_intro_E2: + + call cc_pf_talk + gen "Would you mind if we had another chat?" ("base", xpos="far_left", ypos="head") - cho "Of course not, [cho_genie_name]!" ("smile", "base", "base", "mid") + cho "Of course not, [name_genie_cho]!" ("smile", "base", "base", "mid") gen "Come closer then..." ("base", xpos="far_left", ypos="head") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 @@ -821,11 +860,11 @@ label cc_pf_talk_T2_intro_E2: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 @@ -838,7 +877,7 @@ label cc_pf_talk_T2_intro_E2: cho "I had my head in the clouds there for a second." ("smile", "happyCl", "base", "mid") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "Do you have any idea why that might be?" ("base", xpos="far_left", ypos="head") cho "Because of our win, why else!" ("smile", "narrow", "base", "mid") gen "And it had nothing to do with the fact that half the school got to see your panties?" ("base", xpos="far_left", ypos="head") @@ -847,22 +886,22 @@ label cc_pf_talk_T2_intro_E2: cho "It's like I'm a celebrity now!{w=0.6} I'm getting so much attention!" ("soft", "base", "base", "R") cho "It never happened that Ravenclaw won a game.{w=0.6} And I made that possible!" ("smile", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}And soon you'll be on your knees thanking me for it!{/size}" ("angry", xpos="far_left", ypos="head") else: gen "Hey! Don't you forget about me!" ("base", xpos="far_left", ypos="head") gen "Where would you be without the great {i}Dooblydore{/i}..." ("base", xpos="far_left", ypos="head") - cho "Of course, Sir!" ("clench", "happyCl", "worried", "mid", cheeks="blush") - cho "Sorry, Sir!" ("soft", "narrow", "worried", "mid", cheeks="blush") + cho @ cheeks blush "Of course, Sir!" ("clench", "happyCl", "worried", "mid") + cho @ cheeks blush "Sorry, Sir!" ("soft", "narrow", "worried", "mid") menu: gen "(Maybe it wouldn't be such a bad idea to...)" ("base", xpos="far_left", ypos="head") "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 @@ -873,7 +912,7 @@ label cc_pf_talk_T2_intro_E2: gen "I'd like to hear more!" ("grin", xpos="far_left", ypos="head") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "(No, I need to focus!)" ("base", xpos="far_left", ypos="head") gen "Please, don't let me interrupt your thought..." ("base", xpos="far_left", ypos="head") gen "Continue..." ("base", xpos="far_left", ypos="head") @@ -882,19 +921,19 @@ label cc_pf_talk_T2_intro_E2: cho "It's fun receiving all of the boys attention!{w=0.8} And seeing how jealous it makes all of the girls!" ("soft", "base", "base", "mid") cho "Especially Granger!" ("smile", "narrow", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}Yes, the Gryffindor whore!{/size}" ("angry", xpos="far_left", ypos="head") - cho "You should have seen her face, [cho_genie_name]!" ("soft", "narrow", "angry", "mid") + cho "You should have seen her face, [name_genie_cho]!" ("soft", "narrow", "angry", "mid") cho "She's so angry at me! I love it!" ("smile", "happyCl", "base", "mid") cho "She can't even bear to look at me anymore." ("grin", "narrow", "angry", "mid") cho "You should know, for whatever reason, almost all of Hufflepuff blames her for helping Ravenclaw secure the win!" ("soft", "base", "base", "R") cho "She announced several times that Hufflepuff was leading in points, when they actually weren't!" ("smile", "narrow", "angry", "mid") cho "Which resulted in Hufflepuff playing far more defensively, when they should have been aggressive!" ("base", "narrow", "base", "mid") - if genie_masturbating: - gen "{size=-4}Oh you are one of those girls! I like going aggressive!{/size}" ("angry", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "{size=-4}Oh, you are one of those girls! I like going aggressive!{/size}" ("angry", xpos="far_left", ypos="head") cho "I caught the Snitch at just the right time!{w=0.6} If Hufflepuff had gone too far in the lead, we would have lost!" ("open", "narrow", "angry", "mid") cho "I really need to thank Granger the next time I see her.{w=0.6} I owe her a great deal..." ("soft", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-2}I'd love to watch you \"thank her!\"{/size}" ("angry", xpos="far_left", ypos="head") cho "Maybe I'll do something fun with her the next time I see her..." ("base", "narrow", "base", "R") cho "Something that would rile her up even more!" ("smile", "narrow", "angry", "downR") @@ -903,17 +942,17 @@ label cc_pf_talk_T2_intro_E2: cho "I don't know. Maybe something that would rile her up even more..." ("annoyed", "base", "base", "downR") cho "Like a kiss on her cheek, or an uncomfortably long hug!" ("soft", "narrow", "base", "mid") cho "Or I'll do something more sinister! Something she'd never expect!" ("base", "base", "base", "R") - if genie_masturbating: + if states.gen.masturbating: gen "*Ugh*! {size=-2}Like what?{/size}" ("angry", xpos="far_left", ypos="head") else: gen "More sinister? Like what?" ("base", xpos="far_left", ypos="head") cho "Give her a proper kiss on the lips, perhaps?" ("soft", "narrow", "angry", "mid") with hpunch gen "!!!" ("angry", xpos="far_left", ypos="head") - cho "Yes! I bet a prude like her would be {b}so{/b} shocked by that!{w=0.8} I might even be her first!" ("soft", "base", "angry", "downR", cheeks="blush") + cho @ cheeks blush "Yes! I bet a prude like her would be {b}so{/b} shocked by that!{w=0.8} I might even be her first!" ("soft", "base", "angry", "downR") # Forced to jerk off. - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}Yes! You fucking sluts!{/size}" ("angry", xpos="far_left", ypos="head") else: gen "(Fuck it, this is too much!)" ("angry", xpos="far_left", ypos="head") @@ -926,11 +965,11 @@ label cc_pf_talk_T2_intro_E2: "-Diddle do-": pass - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 @@ -939,7 +978,7 @@ label cc_pf_talk_T2_intro_E2: call bld gen "Please, continue!" ("angry", xpos="far_left", ypos="head") - cho "Just thinking about her puffy pink lips..." ("annoyed", "narrow", "angry", "down", cheeks="blush") + cho @ cheeks blush "Just thinking about her puffy pink lips..." ("annoyed", "narrow", "angry", "down") gen "{size=-2}Yes! Yes!{/size}" ("angry", xpos="far_left", ypos="head") cho "I should make her choke on my tongue, whether she likes it or not..." ("clench", "narrow", "angry", "downR") gen "{size=-2}Yes! That would be so fucking hot!{/size}" ("angry", xpos="far_left", ypos="head") @@ -949,8 +988,8 @@ label cc_pf_talk_T2_intro_E2: cho "And embarrass her in front of the whole class!" ("soft", "base", "base", "up") cho "Show everyone her ridiculous {b}cow tits!{/b}" ("soft", "narrow", "angry", "up") gen "{size=-2}Yes!!!{/size} {size=-4}(I'm almost there!){/size}" ("angry", xpos="far_left", ypos="head") - cho "She deserves it..." ("angry", "closed", "angry", "R", cheeks="blush") - cho "That know-it-all, pretentious little bitch!" ("soft", "narrow", "angry", "downR", cheeks="blush") + cho @ cheeks blush "She deserves it..." ("angry", "closed", "angry", "R") + cho @ cheeks blush "That know-it-all, pretentious little bitch!" ("soft", "narrow", "angry", "downR") # Genie cums. gen "{size=-2}Yes, yes! You nasty slut!{/size}" ("angry", xpos="far_left", ypos="head") @@ -977,7 +1016,7 @@ label cc_pf_talk_T2_intro_E2: call cum_block pause .8 - cho "[cho_genie_name]! What the bloody hell are you doing?!" ("angry", "wide", "base", "mid", cheeks="heavy_blush", trans=hpunch) + cho @ cheeks heavy_blush "[name_genie_cho]! What the bloody hell are you doing?!" ("angry", "wide", "base", "mid", trans=hpunch) gen "{size=-4}(Oh no!){/size}" ("base", xpos="far_left", ypos="head") gen "{size=-4}(I'm busted!){/size}" ("angry", xpos="far_left", ypos="head") @@ -990,18 +1029,18 @@ label cc_pf_talk_T2_intro_E2: call gen_chibi("cum_behind_desk_done") pause .8 - cho "" ("clench", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "" ("clench", "wide", "base", "mid") gen "Nothing, I was just--" ("angry", xpos="far_left", ypos="head") - cho "Don't tell me you were..." ("disgust", "happyCl", "worried", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Don't tell me you were..." ("disgust", "happyCl", "worried", "mid") gen "I was merely scratching my leg!" ("angry", xpos="far_left", ypos="head") - cho "Don't lie to me, [cho_genie_name]!{w=0.6} I know exactly what you were doing!" ("clench", "narrow", "angry", "mid") + cho "Don't lie to me, [name_genie_cho]!{w=0.6} I know exactly what you were doing!" ("clench", "narrow", "angry", "mid") cho "{size=+4}You were touching yourself!{/size}" ("scream", "closed", "angry", "mid", trans=hpunch) # Scream cho "" ("angry", "narrow", "angry", "mid") gen "{size=-2}Not so loud! People might hear you!{/size}" ("angry", xpos="far_left", ypos="head") - cho "Why would you think I care?!" ("open", "narrow", "angry", "L", cheeks="blush") - cho "You were wanking off!" ("soft", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "Why would you think I care?!" ("open", "narrow", "angry", "L") + cho @ cheeks blush "You were wanking off!" ("soft", "wide", "base", "mid") gen "No I wasn't..." ("base", xpos="far_left", ypos="head") - cho "In front of your own student!" ("disgust", "happyCl", "worried", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "In front of your own student!" ("disgust", "happyCl", "worried", "down") gen "(...)" ("base", xpos="far_left", ypos="head") gen "Stop making a big deal out of it, would you?" ("base", xpos="far_left", ypos="head") cho "So you're admitting that you did it!" ("angry", "narrow", "angry", "mid") @@ -1012,31 +1051,34 @@ label cc_pf_talk_T2_intro_E2: cho "Maybe you should call her up here to clean up your mess as well!" ("soft", "narrow", "base", "mid") cho "And lick it all up!{w} I bet she'd love that!!!" ("angry", "narrow", "angry", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - cho "I'm leaving." ("disgust", "happyCl", "worried", "mid", cheeks="blush") - cho "Have a nice day, [cho_genie_name]!" ("soft", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I'm leaving." ("disgust", "happyCl", "worried", "mid") + cho @ cheeks blush "Have a nice day, [name_genie_cho]!" ("soft", "narrow", "angry", "mid") # Cho leaves. call cho_walk(action="leave") - call bld gen "(I really did make a mess...)" ("base", xpos="far_left", ypos="head") gen "(Maybe I {b}should{/b} get Hermione to clean it up for me?)" ("base", xpos="far_left", ypos="head") gen "(With her mouth!)" ("grin", xpos="far_left", ypos="head") gen "(..........)" ("base", xpos="far_left", ypos="head") gen "(Aaaaaaand I'm hard again...{w} Maybe some other time...)" ("base", xpos="far_left", ypos="head") - $ cho_mood += 9 + $ states.cho.mood += 9 jump end_cho_talk_event label cc_pf_talk_T2_E3: - call play_music("cho") - cho "" ("annoyed", face="neutral", xpos="mid", ypos="base", trans=fade) + $ states.cho.ev.talk_to_me.t2_e3_complete = True + + call cc_pf_talk + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho "" ("soft", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 - gen "[cho_name], how is school life?" ("grin", xpos="far_left", ypos="head") + gen "[name_cho_genie], how is school life?" ("grin", xpos="far_left", ypos="head") gen "I need to stay \"on top\" of all the latest \"hot goss\"..." ("base", xpos="far_left", ypos="head") cho "Sir, I don't tend to pay attention to that sort of stuff." ("soft", "closed", "base", "mid") gen "You must at least have heard something raunchy here at the school?" ("base", xpos="far_left", ypos="head") @@ -1044,11 +1086,11 @@ label cc_pf_talk_T2_E3: menu: "-Jerk off while she's talking-": - $ cho_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.masturbating = True hide cho_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 @@ -1057,31 +1099,31 @@ label cc_pf_talk_T2_E3: cho "" ("base", "base", "base", "mid") gen "You don't mind if I..." ("base", xpos="far_left", ypos="head") cho "Mind what?!" ("soft", "base", "raised", "mid") - cho "!!!" ("upset", "wide", "base", "mid", cheeks="blush") # Shocked + cho @ cheeks blush "!!!" ("upset", "wide", "base", "mid") # Shocked gen "I have needs, girl." ("base", xpos="far_left", ypos="head") cho "Gross!!!" ("angry", "closed", "angry", "mid") - cho "[cho_genie_name], might I suggest that you sort out those needs on your own then?" ("soft", "narrow", "angry", "R") + cho "[name_genie_cho], might I suggest that you sort out those needs on your own then?" ("soft", "narrow", "angry", "R") cho "Without me..." ("soft", "narrow", "angry", "mid") gen "What a Bummer...{w=0.6} Last time you were such a great aid..." ("base", xpos="far_left", ypos="head") cho "What?! When did I ever help you with that?" ("soft", "wide", "base", "mid") gen "When you told me about that little fantasy you had with Granger!" ("grin", xpos="far_left", ypos="head") - cho "You shouldn't have paid attention to any of that!" ("mad", "happyCl", "worried", "mid", cheeks="blush") + cho @ cheeks blush "You shouldn't have paid attention to any of that!" ("mad", "happyCl", "worried", "mid") gen "But I did!" ("grin", xpos="far_left", ypos="head") gen "I could just tell Hermione that you're into her, you know..." ("base", xpos="far_left", ypos="head") - cho "I am so not into her!" ("clench", "narrow", "angry", "mid", cheeks="blush") - cho "(...)" ("annoyed", "narrow", "angry", "R", cheeks="heavy_blush") # Embarrassed + cho @ cheeks blush "I am so not into her!" ("clench", "narrow", "angry", "mid") + cho @ cheeks heavy_blush "(...)" ("annoyed", "narrow", "angry", "R") # Embarrassed gen "Yes you are! Don't you dare lie to me...{w=0.6} Or yourself for that matter." ("grin", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "narrow", "angry", "downR", cheeks="blush") + cho @ cheeks blush "(...)" ("annoyed", "narrow", "angry", "downR") gen "So...{w=0.3} Is this going to be a problem or what?" ("base", xpos="far_left", ypos="head") cho "Fine...{w=0.3} If you can't help yourself." ("soft", "narrow", "angry", "mid") gen "Great!{w=0.3} Pretend like I'm not even here!" ("grin", xpos="far_left", ypos="head") - cho "I more likely will be pretending that {b}I'm{/b} not here..." ("soft", "narrow", "angry", "downR", cheeks="blush") # Small text + cho @ cheeks blush "I more likely will be pretending that {b}I'm{/b} not here..." ("soft", "narrow", "angry", "downR") # Small text "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "(Seems like I'm not feeling the need to jack off today...{w=0.4} Free will is an illusion.)" ("base", xpos="far_left", ypos="head") gen "(Oh well... Might as well pay attention for once.)" ("base", xpos="far_left", ypos="head") - gen "Go on, [cho_name]..." ("base", xpos="far_left", ypos="head") + gen "Go on, [name_cho_genie]..." ("base", xpos="far_left", ypos="head") gen "Why don't you tell me some more about..." ("base", xpos="far_left", ypos="head") cho "The Slytherins? Gladly!" ("open", "narrow", "angry", "mid") @@ -1089,7 +1131,7 @@ label cc_pf_talk_T2_E3: # Malfoy cho "It was only yesterday that I had that stinking Malfoy boy snickering behind my back as I walked past him." ("open", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: cho "I can only imagine the things that were on his mind..." ("annoyed", "narrow", "angry", "downR") else: gen "Yeah? Like what?" ("base", xpos="far_left", ypos="head") @@ -1097,13 +1139,13 @@ label cc_pf_talk_T2_E3: cho "After all, he's just like any boy at this school...{w=0.6} They are all pervs." ("annoyed", "narrow", "angry", "mid") cho "He even had the audaciousness to whistle at me, in front of everybody!" ("soft", "narrow", "base", "mid") cho "And shout about what a \"great arse\" I have, and that he couldn't wait to \"beat it\"!" ("soft", "narrow", "angry", "mid") - if genie_masturbating: - gen "Great minds...{w=0.2} *Argh!* think alike!" ("angry", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "Great minds...{w=0.2} *Argh*! think alike!" ("angry", xpos="far_left", ypos="head") else: gen "Sounds to me like he was just enjoying the view!" ("grin", xpos="far_left", ypos="head") cho "Next time he does it I'll turn him into a filthy ferret, I swear!" ("clench", "narrow", "angry", "down") cho "" ("annoyed", "narrow", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(You can do whatever you want with me too, if that's what turns you on baby!){/size}" ("angry", xpos="far_left", ypos="head") gen "{size=-4}(I'd love to be your little pet ferret!){/size}" ("angry", xpos="far_left", ypos="head") else: @@ -1111,13 +1153,13 @@ label cc_pf_talk_T2_E3: cho "To be frank with you, Sir...{w=0.6} I would be disappointed if it wasn't." ("base", "narrow", "base", "mid") gen "Why don't you tease him a bit more then? Get him hooked on it..." ("base", xpos="far_left", ypos="head") gen "It would be to our benefit, don't you think?" ("base", xpos="far_left", ypos="head") - cho "*Hmm*{w=0.3} Yes I could give him a peak once or twice." ("annoyed", "base", "base", "R") + cho "*Hmm*{w=0.3} Yes, I could give him a peak once or twice." ("annoyed", "base", "base", "R") cho "For as long as I don't have to let him touch it." ("soft", "narrow", "angry", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "Anything else you could tell me?" ("base", xpos="far_left", ypos="head") # Crabbe & Goyle - if genie_masturbating: + if states.gen.masturbating: cho "Then there are the two Slytherin beaters, Crabbe and Goyle..." ("soft", "narrow", "base", "mid") else: cho "Well, there are also the Slytherin beaters, Crabbe and Goyle..." ("soft", "narrow", "base", "mid") @@ -1125,7 +1167,7 @@ label cc_pf_talk_T2_E3: cho "They've been strutting around school with their two bats..." ("soft", "narrow", "angry", "mid") cho "Hitting any girl's bum that happens to be in their reach..." ("annoyed", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: cho "It's like they use them as target practice." ("soft", "narrow", "angry", "mid") gen "*Argh*! {size=-4}(How nasty!){/size}" ("angry", xpos="far_left", ypos="head") cho "I dare them to try it on me, those bastards!" ("clench", "narrow", "angry", "R") @@ -1136,15 +1178,15 @@ label cc_pf_talk_T2_E3: gen "*Yes*! {size=-4}(I wouldn't mind borrowing one of those bats!){/size}" ("angry", xpos="far_left", ypos="head") cho "They really did her dirty, Sir.{w} Even pulled down her skirt before they ran off!" ("annoyed", "narrow", "base", "mid") gen "What a bunch of daredevils!" ("angry", xpos="far_left", ypos="head") - cho "Her bum was so red afterwards...{w=0.6} It was hard not to look at it..." ("soft", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Her bum was so red afterwards...{w=0.6} It was hard not to look at it..." ("soft", "narrow", "base", "down") gen "(Fuck yeah! You'd love to bury your face in some girl's ass, wouldn't you?!)" ("angry", xpos="far_left", ypos="head") - cho "She really does have a cute bum..." ("horny", "narrow", "base", "downR", cheeks="heavy_blush") + cho @ cheeks heavy_blush "She really does have a cute bum..." ("horny", "narrow", "base", "downR") gen "But not as cute as Granger's, right?" ("angry", xpos="far_left", ypos="head") else: cho "They aren't even allowed to make use of any Quidditch equipment outside the Quidditch pitch area!" ("soft", "narrow", "angry", "R") gen "Aren't you a bit too harsh on them?" ("base", xpos="far_left", ypos="head") cho "Sir, since when is sexual harassment tolerated at this school?" ("angry", "closed", "angry", "mid") - gen "I bet there are many girls that enjoy the occasional spanking..." ("base", xpos="far_left", ypos="head") + gen "I bet there are many girls who enjoy the occasional spanking..." ("base", xpos="far_left", ypos="head") cho "What?" ("soft", "wide", "base", "mid") gen "Next time you should ask one of those girls..." ("base", xpos="far_left", ypos="head") cho "Why would anyone enjoy that?{w=0.6} How ridiculous." ("soft", "narrow", "angry", "mid") @@ -1162,7 +1204,7 @@ label cc_pf_talk_T2_E3: cho "Very well..." ("soft", "closed", "base", "mid") cho "(...)" ("annoyed", "base", "base", "R") # Thinks cho "(...................)" ("annoyed", "narrow", "angry", "R") # Thinks harder - if genie_masturbating: + if states.gen.masturbating: gen "Please?!" ("angry", xpos="far_left", ypos="head") else: gen "Anything?" ("base", xpos="far_left", ypos="head") @@ -1171,11 +1213,11 @@ label cc_pf_talk_T2_E3: gen "Kinky! I like it!" ("grin", xpos="far_left", ypos="head") cho "And let the entire school watch her as she's getting pounded by a horde of centaurs!!!" ("mad", "narrow", "angry", "mid") - if genie_masturbating: - gen "*Argh!*{w=0.3} {size=-4}(What the hell?){/size}" ("angry", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "*Argh*!{w=0.3} {size=-4}(What the hell?){/size}" ("angry", xpos="far_left", ypos="head") cho "While there are bludgers flying around -- hitting her disgusting udders..." ("soft", "narrow", "angry", "mid") gen "{size=-4}(That sounds really painful!){/size}" ("angry", xpos="far_left", ypos="head") - call nar("*Fap* *Fap* *Fap*!") + nar "*Fap* *Fap* *Fap*!" cho "Maybe another centaur takes her from the front..." ("open", "narrow", "angry", "R") gen "*Agh*!{w=0.3} {size=-4}(I won't last long if she continues like this!){/size}" ("angry", xpos="far_left", ypos="head") cho "And once those two are done breeding her, they trade places with another batch." ("clench", "narrow", "angry", "R") @@ -1227,13 +1269,13 @@ label cc_pf_talk_T2_E3: cho "Why? For putting Granger in her natural habitat?" ("annoyed", "narrow", "angry", "mid") cho "Enclosed on a vast grassy field..." ("soft", "closed", "base", "mid") cho "Getting bred by a horde of bulls!" ("soft", "narrow", "base", "mid") - cho "A cow like her would love it..." ("annoyed", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "A cow like her would love it..." ("annoyed", "narrow", "base", "downR") gen "You seem very interested in the thought of it." ("base", xpos="far_left", ypos="head") gen "From my perspective -- it appears that the worse you talk about her -- the more attracted to her you truly are!" ("grin", xpos="far_left", ypos="head") - cho "Rubbish..." ("soft", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Rubbish..." ("soft", "narrow", "base", "mid") gen "Girl, you are in denial!" ("grin", xpos="far_left", ypos="head") - cho "I am not!" ("clench", "closed", "angry", "mid", cheeks="blush") - cho "Sir are we done here?" ("soft", "narrow", "angry", "mid") + cho @ cheeks blush "I am not!" ("clench", "closed", "angry", "mid") + cho "Sir, are we done here?" ("soft", "narrow", "angry", "mid") if game.daytime: cho "I'm late for class." ("soft", "narrow", "angry", "R") @@ -1249,26 +1291,27 @@ label cc_pf_talk_T2_E3: # Cho leaves. call cho_walk(action="leave") - call bld - gen "(Well that was weird.)" ("base", xpos="far_left", ypos="head") + gen "(Well, that was weird.)" ("base", xpos="far_left", ypos="head") gen "(That girl has a very wild imagination, I've got to say...)" ("base", xpos="far_left", ypos="head") gen "(Although I have to admit, I'm a bit of a fanboy now...)" ("base", xpos="far_left", ypos="head") gen "Go! Go! Ravenclaw!" ("grin", xpos="far_left", ypos="head") gen "(These boys do seem to have a particular fetish... Although having Cho confirm it herself should help...)" ("base", xpos="far_left", ypos="head") - if not cho_requests_unlocked: + if not states.cho.requests_unlocked: call popup("You can yet again buy \"Public Requests\" from Cho!", "Congratulations!", "interface/icons/head/cho.webp") - $ cho_requests_unlocked = True + $ states.cho.requests_unlocked = True jump end_cho_talk_event label cc_pf_talk_T3_intro_E1: + call cc_pf_talk + # Talk about Harry, Mentions Ron - gen "[cho_name].{w=1.0} Are you in the mood for a little chat?" ("base", xpos="far_left", ypos="head") - cho "I suppose I am, [cho_genie_name]." ("open", "narrow", "base", "downR") + gen "[name_cho_genie].{w=1.0} Are you in the mood for a little chat?" ("base", xpos="far_left", ypos="head") + cho "I suppose I am, [name_genie_cho]." ("open", "narrow", "base", "downR") # Cho moves to the middle @@ -1276,33 +1319,33 @@ label cc_pf_talk_T3_intro_E1: gen "*Sigh*... What is it?" ("base", xpos="far_left", ypos="head") cho "It's Granger. She's been interfering with Quidditch again." ("open", "narrow", "base", "R") gen "Of course that's it... Because there's never anything else on your mind..." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name], Quidditch is important to me!" ("disgust", "narrow", "angry", "mid") + cho "[name_genie_cho], Quidditch is important to me!" ("disgust", "narrow", "angry", "mid") gen "(I cannot wait until this quid-pitch nonsense is over...)" ("angry", xpos="far_left", ypos="head") cho "I won't have her meddling with our training!" ("annoyed", "narrow", "angry", "R") cho "I just won't have it!" ("open", "narrow", "angry", "mid") - cho "[cho_genie_name], please do something about it!" ("angry", "narrow", "base", "mid") + cho "[name_genie_cho], please do something about it!" ("angry", "narrow", "base", "mid") gen "Alright... Why don't you tell me more, and I'll do my best to listen..." ("base", xpos="far_left", ypos="head") - cho "Thank you, [cho_genie_name]." ("grin", "closed", "base", "mid") + cho "Thank you, [name_genie_cho]." ("grin", "closed", "base", "mid") menu: gen "(Although perhaps I could multitask...)" ("base", xpos="far_left", ypos="head") "-Masturbate-": - $ genie_masturbating = True + $ states.gen.masturbating = True call gen_chibi("jerk_off_behind_desk") with d5 - cho "[cho_genie_name]!" ("clench", "narrow", "base", "mid") + cho "[name_genie_cho]!" ("clench", "narrow", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - cho "Weren't you going to listen to what I had to say?" ("disgust", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Weren't you going to listen to what I had to say?" ("disgust", "narrow", "angry", "mid") gen "Yes." ("base", xpos="far_left", ypos="head") - cho "Then why are you jacking off?!" ("upset", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Then why are you jacking off?!" ("upset", "narrow", "angry", "mid") "*fap-fap-fap-fap*" gen "Why not? I can do both things perfectly fine if I want to..." ("base", xpos="far_left", ypos="head") - cho "Unbelievable..." ("disgust", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Unbelievable..." ("disgust", "narrow", "base", "R") "-Pay attention-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "So tell me, what's Granger up to this time?" ("base", xpos="far_left", ypos="head") cho "She won't let me talk to her friends!" ("annoyed", "closed", "angry", "down") @@ -1310,28 +1353,28 @@ label cc_pf_talk_T3_intro_E1: cho "Yeah... Surprising, isn't it?" ("annoyed", "narrow", "base", "mid") cho "But yes, Granger does indeed have friends, believe it or not!" ("soft", "narrow", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "Are they hot?" ("grin", xpos="far_left", ypos="head") cho "..." ("normal", "narrow", "base", "mid") gen "Go on..." ("base", xpos="far_left", ypos="head") cho "Do I have to answer that?" ("open", "narrow", "base", "downR") gen "It would make things go so much quicker." ("base", xpos="far_left", ypos="head") - cho "Alright then..." ("disgust", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "Alright then..." ("disgust", "closed", "base", "mid") "*fap* *fap* *fap*" - cho "Well I suppose they're pretty good looking." ("open", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "Well I suppose they're pretty good-looking." ("open", "narrow", "base", "downR") gen "Describe them to me." ("base", xpos="far_left", ypos="head") - cho "Hmm... Well one's a redhead, lots of freckles, the other is raven-haired, and quite skinny." ("soft", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Hmm... Well one's a redhead, lots of freckles, the other is raven-haired, and quite skinny." ("soft", "narrow", "base", "down") gen "Nice! I fucking love redheads!" ("grin", xpos="far_left", ypos="head") "*Fap* *Fap* *Fap*..." gen "Does the carpet match the drapes?" ("base", xpos="far_left", ypos="head") - cho "I don't know, I don't exactly ask random dudes to drop trou for me." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "Oh, well that's understandable--" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I don't know, I don't exactly ask random dudes to drop trou for me." ("angry", "narrow", "base", "mid") + gen "Oh, well... That's understandable--" ("base", xpos="far_left", ypos="head") gen "Hold on, did you say dudes?" ("angry", xpos="far_left", ypos="head") cho "Yeah, they're both guys." ("disgust", "narrow", "base", "mid") gen "Why didn't you say so?!" ("angry", xpos="far_left", ypos="head") cho "You didn't ask." ("annoyed", "narrow", "base", "mid") gen "Does she not have any hot girlfriends you could tell me about instead?" ("base", xpos="far_left", ypos="head") - cho "Girlfriends? Well there's Ginny--" ("soft", "narrow", "base", "R") + cho "Girlfriends? Well, there's Ginny--" ("soft", "narrow", "base", "R") cho "Hey! Don't think I don't know what you're trying to achieve here!" ("angry", "narrow", "angry", "mid") cho "Would you please just focus for a minute? Without interrupting me?" ("annoyed", "narrow", "angry", "mid") "*Fap* *Fap* *Fap*..." @@ -1347,14 +1390,14 @@ label cc_pf_talk_T3_intro_E1: cho "Jealous of what? I have better friends than her!" ("soft", "base", "angry", "mid") gen "Of course you do." ("base", xpos="far_left", ypos="head") cho "What? Are you making fun of me?" ("open", "narrow", "angry", "mid") - gen "I wouldn't dare, [cho_name], just looking out for you." ("base", xpos="far_left", ypos="head") + gen "I wouldn't dare, [name_cho_genie], just looking out for you." ("base", xpos="far_left", ypos="head") gen "You're a renowned, pretty, and talented little witch... The wrong people could be drawn to you." ("base", xpos="far_left", ypos="head") cho "Who cares? I like being popular... At least none of them are as dense as those two..." ("soft", "closed", "angry", "mid") gen "Who are you talking about exactly?" ("base", xpos="far_left", ypos="head") cho "Potter and Weasley!" ("open", "base", "angry", "mid") gen "Could it be... The \"Potter Gang\"?" ("angry", xpos="far_left", ypos="head") - cho "The what, [cho_genie_name]?" ("angry", "base", "base", "mid") + cho "The what, [name_genie_cho]?" ("angry", "base", "base", "mid") gen "That's what Snape called them..." ("base", xpos="far_left", ypos="head") cho "*Huh*... Does he now?" ("angry", "narrow", "base", "mid") cho "The \"Granger Gang\" would be a more suitable name, if you asked me." ("disgust", "narrow", "base", "R") @@ -1376,27 +1419,27 @@ label cc_pf_talk_T3_intro_E1: cho "I want to touch it at the very least! I'd do anything to lay my hands on that magnificent piece of wood of his..." ("open", "narrow", "angry", "mid") gen "What!" ("angry", xpos="far_left", ypos="head") cho "I fondly remember the day I first laid my eyes on it..." ("base", "closed", "base", "mid") - cho "How could a girl like me not fall in love with it?" ("smile", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "How could a girl like me not fall in love with it?" ("smile", "closed", "base", "mid") gen "(Oh no!)" ("angry", xpos="far_left", ypos="head") - cho "It was the most exquisite piece of wood I had ever seen..." ("grin", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "It was the most exquisite piece of wood I had ever seen..." ("grin", "closed", "base", "mid") gen "(!!!)" ("angry", xpos="far_left", ypos="head") cho "Truly a sight to behold..." ("grin", "base", "base", "mid") gen "Certainly it can't be {b}that{/b} impressive." ("angry", xpos="far_left", ypos="head") - cho "There's nothing to even compare it to, [cho_genie_name]! It's magnificent!" ("smile", "base", "base", "mid", cheeks="blush") - cho "And the way he uses it..." ("smile", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "There's nothing to even compare it to, [name_genie_cho]! It's magnificent!" ("smile", "base", "base", "mid") + cho @ cheeks blush "And the way he uses it..." ("smile", "closed", "base", "mid") gen "(I can't lose to some meagre mortal!)" ("angry", xpos="far_left", ypos="head") - cho "I've been trying to ask him to let me ride on it for years but Granger always--" ("soft", "closed", "base", "mid", cheeks="blush") - gen "Well luckily for you, [cho_name], you have me!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "I've been trying to ask him to let me ride on it for years but Granger always--" ("soft", "closed", "base", "mid") + gen "Well luckily for you, [name_cho_genie], you have me!" ("grin", xpos="far_left", ypos="head") gen "Just let me take it out of my--" ("base", xpos="far_left", ypos="head") cho "You'll get me the firebolt?!" ("angry", "wide", "base", "mid") gen "Get you a what, sorry?" ("base", xpos="far_left", ypos="head") - cho "The firebolt! Surely you must have seen Potter's?" ("smile", "wide", "base", "mid") + cho "The firebolt! Surely, you must have seen Potter's?" ("smile", "wide", "base", "mid") gen "I most certainly have not!" ("base", xpos="far_left", ypos="head") cho "I'm sure if you could get me a broom like that it would assure my--, I mean, our victory!" ("smile", "base", "base", "mid") gen "Wait... A broom? That's what all of this is about?" ("angry", xpos="far_left", ypos="head") cho "Yes? What else would it be?" ("soft", "narrow", "raised", "mid") gen "I'm going to need a moment..." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name]?" ("open", "base", "raised", "mid") + cho "[name_genie_cho]?" ("open", "base", "raised", "mid") gen "That will be all for today..." ("base", xpos="far_left", ypos="head") cho "What about the broom?" ("angry", "base", "base", "mid") gen "Enough with the broom!" ("base", xpos="far_left", ypos="head") @@ -1414,29 +1457,29 @@ label cc_pf_talk_T3_intro_E1: cho "I heard rumours about a new nimbus--" ("smile", "base", "base", "L") gen "Why don't you have a look for yourself, here you go!" ("base", xpos="far_left", ypos="head") gen "You can thank me later." ("grin", xpos="far_left", ypos="head") - ">You hand the broom to Cho." + nar "You hand the broom to Cho." #TODO have it show the broom cho "Thank--" ("smile", "narrow", "base", "mid") cho "Is that a dildo!?!" ("clench", "wide", "base", "down") gen "Yes! I'm sure this will be perfect for our plans!" ("base", xpos="far_left", ypos="head") - cho "You can't be serious..." ("disgust", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "You can't be serious..." ("disgust", "wide", "base", "mid") gen "Why wouldn't I be serious... surely you can't deny this would grab some attention." ("base", xpos="far_left", ypos="head") - cho "But..." ("angry", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "But..." ("angry", "base", "base", "down") gen "Yes indeed, that's where one of them--" ("grin", xpos="far_left", ypos="head") - cho "Let's just forget about the idea of a new broom for now..." ("angry", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Let's just forget about the idea of a new broom for now..." ("angry", "narrow", "base", "mid") gen "But you were so insistent a minute ago..." ("base", xpos="far_left", ypos="head") - cho "No, just forget about it.... Let's try something else..." ("angry", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "No, just forget about it.... Let's try something else..." ("angry", "narrow", "base", "downR") gen "Okay then..." ("base", xpos="far_left", ypos="head") - cho "I think--{w=0.3} I better--{w=0.3}" ("clench", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "I think--{w=0.3} I better--{w=0.3}" ("clench", "narrow", "base", "R") if game.daytime: - cho "Head back to class." ("disgust", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Head back to class." ("disgust", "narrow", "base", "R") else: - cho "Go to bed." ("disgust", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Go to bed." ("disgust", "narrow", "base", "R") gen "Alright." ("base", xpos="far_left", ypos="head") else: cho "Okay then..." ("annoyed", "narrow", "base", "R") - gen "That will be all for today [cho_name]." ("base", xpos="far_left", ypos="head") + gen "That will be all for today [name_cho_genie]." ("base", xpos="far_left", ypos="head") cho "But... I didn't even get to tell you about the other member of Weasley's family--" ("angry", "base", "base", "mid") gen "Enough boy talk for today..." ("base", xpos="far_left", ypos="head") cho "Sir, but--" ("soft", "base", "base", "mid") @@ -1447,20 +1490,23 @@ label cc_pf_talk_T3_intro_E1: cho "I'll just head back to class then..." ("annoyed", "base", "base", "R") else: cho "I'll just head off to bed then..." ("annoyed", "base", "base", "R") - gen "Until next time [cho_name]." ("base", xpos="far_left", ypos="head") + gen "Until next time [name_cho_genie]." ("base", xpos="far_left", ypos="head") # Cho leaves. call cho_walk(action="leave") - $ cho_mood += 3 + $ states.cho.mood += 3 gen "(A Broom... Of course she was talking about a broom.)" ("base", xpos="far_left", ypos="head") jump end_cho_talk_event label cc_pf_talk_T3_intro_E2: + + call cc_pf_talk + #Mentions the twins and the girls - gen "Let's have another chat, [cho_name]." ("base", xpos="far_left", ypos="head") + gen "Let's have another chat, [name_cho_genie]." ("base", xpos="far_left", ypos="head") cho "About Quidditch?" ("smile", "base", "base", "mid") gen "About--" ("base", xpos="far_left", ypos="head") gen "Why is it always about Quidditch with you?" ("angry", xpos="far_left", ypos="head") @@ -1474,14 +1520,14 @@ label cc_pf_talk_T3_intro_E2: # Cho moves to desk call cho_walk(xpos="desk") - cho "So, what would you like to talk about, [cho_genie_name]?" ("soft", "narrow", "base", "R") + cho "So, what would you like to talk about, [name_genie_cho]?" ("soft", "narrow", "base", "R") gen "I don't know..." ("base", xpos="far_left", ypos="head") gen "Cute boys... Or your very attractive male teachers..." ("base", xpos="far_left", ypos="head") gen "You know, silly girls stuff..." ("base", xpos="far_left", ypos="head") cho "Really?" ("disgust", "narrow", "base", "mid") gen "No." ("base", xpos="far_left", ypos="head") cho "You know, there are a whole bunch of girls who take Quidditch seriously, just like I do!" ("disgust", "narrow", "base", "mid") - gen "And I've yet to meet a single one. Except for you of course..." ("base", xpos="far_left", ypos="head") + gen "And I've yet to meet a single one. Except for you, of course..." ("base", xpos="far_left", ypos="head") gen "Besides, didn't you and Granger make a huge deal out of it? The lack of acceptance for female players and all that jazz?" ("base", xpos="far_left", ypos="head") gen "You both made it seem as if it was a hopeless endeavour to be taken seriously as a female player..." ("base", xpos="far_left", ypos="head") cho "That doesn't mean there aren't exceptions." ("angry", "narrow", "base", "mid") @@ -1492,7 +1538,7 @@ label cc_pf_talk_T3_intro_E2: gen "Five girls?!?" ("base", xpos="far_left", ypos="head") cho "What... No... There's three of them." ("disgust", "base", "base", "mid") gen "But you just said--" ("base", xpos="far_left", ypos="head") - cho "There's Harry Potter, Ron Weasley and his two older twin brothers Fred and George." ("open", "base", "base", "mid") + cho "There's Harry Potter, Ron Weasley and his two older twin brothers, Fred and George." ("open", "base", "base", "mid") if item_store_intro_done: gen "Of course... The twins..." ("base", xpos="far_left", ypos="head") @@ -1504,30 +1550,30 @@ label cc_pf_talk_T3_intro_E2: gen "Their parents must've been some busy... Weasels." ("base", xpos="far_left", ypos="head") gen "Anyhow, enough about them." ("base", xpos="far_left", ypos="head") gen "Tell me everything you know about the girls!" ("grin", xpos="far_left", ypos="head") - gen "What are their shoe sizes?{w=0.5} No actually, cup sizes... What are their cup sizes?" ("grin", xpos="far_left", ypos="head") - cho "How do you expect me to know?!" ("angry", "base", "base", "mid", cheeks="blush") + gen "What are their shoe sizes?{w=0.5} No, actually, cup sizes... What are their cup sizes?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "How do you expect me to know?!" ("angry", "base", "base", "mid") gen "You're right, I'm getting ahead of myself...{w=0.4} One thing at a time." ("base", xpos="far_left", ypos="head") gen "Let's start with their names. What are their names?" ("base", xpos="far_left", ypos="head") cho "Well... There's Angelina Johnson, she's their Captain." ("soft", "base", "base", "mid") gen "What? I thought the Potter boy was?" ("base", xpos="far_left", ypos="head") cho "*Pfff*... What? Don't make me laugh..." ("smile", "narrow", "base", "mid") cho "Angelina Johnson has been their captain ever since she took over after Oliver Wood." ("soft", "base", "base", "mid") - gen "I see... So the requirement is that your last name has to be an innuendo for male genitalia... Got it." ("base", xpos="far_left", ypos="head") + gen "I see... So, the requirement is that your last name has to be an innuendo for male genitalia... Got it." ("base", xpos="far_left", ypos="head") gen "What about the other girls? What are their names?" ("base", xpos="far_left", ypos="head") cho "Katie Bell and Alicia Spinnet." ("open", "base", "base", "mid") gen "Anything important I should know about them?" ("base", xpos="far_left", ypos="head") cho "The three of them make up the chaser positions on their team." ("open", "base", "base", "mid") gen "A threesome of girls, very nice..." ("grin", xpos="far_left", ypos="head") - cho "A threesome?!" ("angry", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "A threesome?!" ("angry", "narrow", "base", "mid") gen "A trio!{w=1.0} A trio of girl chasers, is what I said." ("angry", xpos="far_left", ypos="head") - cho "That's not what I heard..." ("disgust", "narrow", "base", "mid", cheeks="blush") # suspicious + cho @ cheeks blush "That's not what I heard..." ("disgust", "narrow", "base", "mid") # suspicious gen "(I should distract her.)" ("base", xpos="far_left", ypos="head") gen "Girl power!" ("grin", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "..." ("disgust", "narrow", "angry", "mid") gen "(Task failed successfully!)" ("grin", xpos="far_left", ypos="head") gen "So what's their deal then?" ("base", xpos="far_left", ypos="head") gen "Anything you can tell me about their... team-play?" ("base", xpos="far_left", ypos="head") - cho "Their actual team play?" ("annoyed", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Their actual team play?" ("annoyed", "base", "angry", "mid") gen "Sure." ("base", xpos="far_left", ypos="head") cho "Well, I'd lie if I said that their team play isn't one of their strong suits." ("open", "closed", "angry", "mid") @@ -1537,17 +1583,17 @@ label cc_pf_talk_T3_intro_E2: cho "Their training routine must be intense, they always look tired and dishevelled, but also happy, just like me after a hard training session!" ("smile", "base", "base", "mid") gen "Girl, you've got this completely wrong..." ("base", xpos="far_left", ypos="head") - cho "What do you mean, [cho_genie_name]?" ("soft", "base", "base", "mid") + cho "What do you mean, [name_genie_cho]?" ("soft", "base", "base", "mid") gen "They're probably doing it." ("base", xpos="far_left", ypos="head") cho "Doing what?" ("open", "base", "base", "mid") gen "Doing \"it\"...{w} With each other!" ("grin", xpos="far_left", ypos="head") - cho "Yeah, right..." ("base", "narrow", "base", "R", cheeks="blush") - cho "They do seem pretty close-knit as far as I can tell... But that doesn't mean they're... {i}Doing it{/i}..." ("smile", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Yeah, right..." ("base", "narrow", "base", "R") + cho @ cheeks blush "They do seem pretty close-knit as far as I can tell... But that doesn't mean they're... {i}Doing it{/i}..." ("smile", "narrow", "base", "R") gen "Trust me, they're doing it alright." ("base", xpos="far_left", ypos="head") gen "And that's great news for us!" ("base", xpos="far_left", ypos="head") - cho "Why on earth would that be--" ("disgust", "base", "base", "mid", cheeks="blush") - gen "Why there's plenty of ways to take advantage of that." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name]?" ("disgust", "narrow", "base", "mid", cheeks="blush") #shocked + cho @ cheeks blush "Why on earth would that be--" ("disgust", "base", "base", "mid") + gen "Why there are plenty of ways to take advantage of that." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "[name_genie_cho]?" ("disgust", "narrow", "base", "mid") #shocked gen "Just a thought..." ("base", xpos="far_left", ypos="head") gen "In any case, you'll have to tell me more about them later... I'm sure we've only scratched the surface regarding those three." ("base", xpos="far_left", ypos="head") cho "Alright..." ("annoyed", "base", "base", "mid") @@ -1562,7 +1608,7 @@ label cc_pf_talk_T3_intro_E2: call cho_walk(xpos="door") gen "Three girls! Hot damn!" ("grin", xpos="far_left", ypos="head") - cho "*Sigh*..." ("base", "narrow", "base", "down", cheeks="blush", flip=True) + cho @ cheeks blush "*Sigh*..." ("base", "narrow", "base", "down", flip=True) # Cho leaves. call cho_walk(action="leave") @@ -1570,11 +1616,16 @@ label cc_pf_talk_T3_intro_E2: jump end_cho_talk_event label cc_pf_talk_T3_E3: + + $ states.cho.ev.talk_to_me.t3_e3_complete = True + + call cc_pf_talk + # Talk more about each player. (Detailed descriptions.) gen "Let's discuss those girls again..." ("base", xpos="far_left", ypos="head") cho "What girls?" ("soft", "base", "base", "mid") - gen "The ones on the Gryffindor team of course!" ("base", xpos="far_left", ypos="head") + gen "The ones on the Gryffindor team, of course!" ("base", xpos="far_left", ypos="head") cho "Oh, okay then!" ("base", "base", "base", "mid") $ _selected = [False, False, False] @@ -1592,7 +1643,7 @@ label cc_pf_talk_T3_E3: $ _selected[0] = True cho "I'm surprised you remembered her name." ("soft", "base", "base", "mid") - gen "Of course, she's the one with the Johnson wasn't she?" ("base", xpos="far_left", ypos="head") + gen "Of course, she's the one with the Johnson, wasn't she?" ("base", xpos="far_left", ypos="head") cho "Her name is Johnson." ("disgust", "narrow", "base", "mid") gen "That's the one." ("base", xpos="far_left", ypos="head") gen "So what more can you tell me about her--{w=0.2} I mean, Miss Johnson." ("base", xpos="far_left", ypos="head") @@ -1605,13 +1656,13 @@ label cc_pf_talk_T3_E3: gen "So there's no synergy between the boys and the girls of their team then?" ("base", xpos="far_left", ypos="head") cho "Not really." ("open", "base", "base", "mid") gen "Then how the hell did they make the finals?" ("base", xpos="far_left", ypos="head") - cho "Well, As long as the chasers and beaters have good synergy between each other then you'll probably be fine." ("soft", "narrow", "base", "mid") - cho "The girls all play extremely well together and so does the twins." ("soft", "base", "base", "mid") - cho "The Keeper and seeker sort of does their own thing." ("open", "base", "base", "mid") + cho "Well, As long as the chasers and beaters have good synergy between each other, then you'll probably be fine." ("soft", "narrow", "base", "mid") + cho "The girls all play extremely well together and so do the twins." ("soft", "base", "base", "mid") + cho "The Keeper and seeker sort of do their own thing." ("open", "base", "base", "mid") gen "Right... Miss Grangers friends..." ("base", xpos="far_left", ypos="head") - cho "Yes... To be honest I doubt Harry and Ron would still be on the team if it wasn't for Angelina's lack of interest in training them..." ("soft", "narrow", "base", "mid") + cho "Yes... To be honest, I doubt Harry and Ron would still be on their team if it wasn't for Angelina's lack of interest in training them..." ("soft", "narrow", "base", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") - cho "Granger is quite protective of her friends but still let them play despite having a female captain." ("annoyed", "base", "base", "mid") + cho "Granger is quite protective of her friends but she still lets them play despite having a female captain." ("annoyed", "base", "base", "mid") cho "She bosses them around a lot, and would probably feel threatened if Angelina actually did her job properly." ("smile", "narrow", "base", "R") gen "*Hmm*... Interesting..." ("base", xpos="far_left", ypos="head") @@ -1626,13 +1677,13 @@ label cc_pf_talk_T3_E3: gen "Did you come up with that yourself?" ("base", xpos="far_left", ypos="head") cho "I did! Surprised?" ("smile", "wink", "base", "mid") gen "A little, I didn't think you had it in you." ("base", xpos="far_left", ypos="head") - cho "I'm full of surprises, [cho_genie_name]." ("smile", "narrow", "base", "mid") # wink + cho "I'm full of surprises, [name_genie_cho]." ("smile", "narrow", "base", "mid") # wink cho "As for Katie, well... She's a bit weird to be honest..." ("base", "narrow", "base", "R") gen "What makes you say so?" ("base", xpos="far_left", ypos="head") cho "I don't know... She doesn't talk much, and always seems to have her head in the clouds during practice." ("open", "narrow", "base", "downR") gen "I didn't think you flew that high during practice!" ("base", xpos="far_left", ypos="head") - cho "*giggle*" ("smile", "narrow", "base", "downR") - cho "..." ("base", "narrow", "base", "downR", cheeks="blush") #Blushes + cho "*Giggles*" ("smile", "narrow", "base", "downR") + cho @ cheeks blush "..." ("base", "narrow", "base", "downR") #Blushes cho "Anyway... Not much else to say about her." ("open", "base", "base", "mid") gen "We'll figure something out." ("base", xpos="far_left", ypos="head") @@ -1642,7 +1693,7 @@ label cc_pf_talk_T3_E3: "\"Tell me about Alicia Spinnet.\"" if not _selected[2]: $ _selected[2] = True - cho "Well, honestly I find it difficult to dislike her." ("soft", "base", "base", "mid") + cho "Well, honestly, I find it difficult to dislike her." ("soft", "base", "base", "mid") gen "Why is that, isn't she your enemy?" ("base", xpos="far_left", ypos="head") cho "*Hmm*... Then let's just say she has my respects." ("base", "base", "base", "downR") cho "Whilst Angelina is the captain, she doesn't pay enough attention to the boys--" ("base", "base", "base", "mid") @@ -1678,7 +1729,7 @@ label cc_pf_talk_T3_E3: gen "The Potter boy!" ("base", xpos="far_left", ypos="head") cho "Yes?" ("soft", "base", "raised", "mid") gen "I feel like that name should have more importance for some reason..." ("base", xpos="far_left", ypos="head") - cho "I don't know, he seems pretty boring if you ask me." ("open", "narrow", "base", "R") + cho "I don't know about that, he seems pretty boring if you ask me." ("open", "narrow", "base", "R") gen "What do you know about him? And don't give me another spiel about his broomstick..." ("base", xpos="far_left", ypos="head") cho "*Hmm*..." ("soft", "narrow", "base", "downR") gen "Any weaknesses?" ("base", xpos="far_left", ypos="head") @@ -1687,7 +1738,7 @@ label cc_pf_talk_T3_E3: cho "He's the winning type of guy." ("soft", "closed", "base", "mid") gen "So you say you don't know?" ("base", xpos="far_left", ypos="head") cho "As I have mentioned before, I haven't been able to talk with him one on one because of Granger..." ("disgust", "narrow", "base", "R") - cho "All I know is that he's really competitive, his father used to be a great chaser so I suppose it runs in the family." ("open", "base", "base", "mid") + cho "All I know is that he's really competitive, his father used to be a great chaser, so I suppose it runs in the family." ("open", "base", "base", "mid") gen "Fair enough." ("base", xpos="far_left", ypos="head") jump .choices_male @@ -1702,8 +1753,8 @@ label cc_pf_talk_T3_E3: cho "They love controversy and stirring things up for a laugh." ("angry", "base", "base", "mid") cho "The type of player that values messing around rather than focusing on winning the game." ("disgust", "narrow", "base", "mid") gen "So they're basically trolls?" ("base", xpos="far_left", ypos="head") - cho "Trolls? *giggle*" ("smile", "narrow", "base", "mid") - cho "I know looks can be deceiving, but I don't think they're trolls, [cho_genie_name]." ("smile", "narrow", "base", "R") + cho "Trolls? *Giggles*" ("smile", "narrow", "base", "mid") + cho "I know looks can be deceiving, but I don't think they're trolls, [name_genie_cho]." ("smile", "narrow", "base", "R") gen "*Hmm*... Maybe not." ("base", xpos="far_left", ypos="head") cho "All they care about is that joke shop of theirs..." ("base", "narrow", "base", "R") cho "It's everything they ever talk about during lunch." ("base", "base", "base", "mid") @@ -1720,13 +1771,13 @@ label cc_pf_talk_T3_E3: cho "That's one of the Weasley brothers... Ron Weasley..." ("open", "base", "base", "mid") gen "Wrong Weasley you say..." ("base", xpos="far_left", ypos="head") - cho "Ron, [cho_genie_name]..." ("soft", "narrow", "base", "mid") - gen "Oh, sorry then what did you say his name was?" ("base", xpos="far_left", ypos="head") + cho "Ron, [name_genie_cho]..." ("soft", "narrow", "base", "mid") + gen "Oh, sorry... What did you say his name was?" ("base", xpos="far_left", ypos="head") cho "...{w} His name is Ron." ("disgust", "base", "base", "mid") gen "Right...{w} So what do you know about him?" ("base", xpos="far_left", ypos="head") cho "Not much aside from the fact that he's one of Granger's friends..." ("annoyed", "narrow", "base", "mid") gen "I see." ("base", xpos="far_left", ypos="head") - cho "He's a new addition to their team so I haven't yet been able to see how good he's with a broom." ("open", "base", "base", "mid") + cho "He's a new addition to their team, so I haven't yet been able to see how good he is with a broom." ("open", "base", "base", "mid") cho "All I've heard is that he's gone from quite the nervous rookie to a great keeper..." ("soft", "base", "base", "mid") gen "Sounds suspicious..." ("base", xpos="far_left", ypos="head") cho "It's likely that Granger has been enticing him to do better." ("annoyed", "narrow", "base", "R") @@ -1739,7 +1790,7 @@ label cc_pf_talk_T3_E3: gen "Is that all of them?" ("base", xpos="far_left", ypos="head") cho "Yes, that's it." ("base", "base", "base", "mid") - gen "I think I've got a rough idea how to approach this but..." ("base", xpos="far_left", ypos="head") + gen "I think I've got a rough idea how to approach this, but..." ("base", xpos="far_left", ypos="head") gen "It might be worth learning a bit more about their non-curriculum activities." ("base", xpos="far_left", ypos="head") cho "And how do you suggest I do that?" ("open", "base", "base", "mid") gen "Espionage!" ("base", xpos="far_left", ypos="head") @@ -1753,8 +1804,8 @@ label cc_pf_talk_T3_E3: #Cho leaves call cho_walk(action="leave") - if not cho_requests_unlocked: + if not states.cho.requests_unlocked: call popup("You can yet again buy \"Public Requests\" from Cho!", "Congratulations!", "interface/icons/head/cho.webp") - $ cho_requests_unlocked = True + $ states.cho.requests_unlocked = True jump end_cho_talk_event diff --git a/game/scripts/characters/cho/events/intro.rpy b/game/scripts/characters/cho/events/intro.rpy index fe0ed892..414c5d76 100644 --- a/game/scripts/characters/cho/events/intro.rpy +++ b/game/scripts/characters/cho/events/intro.rpy @@ -3,28 +3,32 @@ ### Cho Intro ### ### Event 1 ### -# Cho first events your office, complaining about Hermione. -# Hermione enters and they have a fight. +# Fist visit of Cho, complains about Hermione. +# Hermione enters, and they have a fight. label cho_intro_E1: + + # Force default outfit for first event. + $ cho.equip(cho_outfit_default) + stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" gen "(...)" ("base", xpos="far_left", ypos="head") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" gen "(Who's that?)" ("base", xpos="far_left", ypos="head") gen "(Can't be Hermione, she never knocks anymore.)" ("base", xpos="far_left", ypos="head") gen "(...)" ("base", xpos="far_left", ypos="head") gen "I bet it's another girl!" ("grin", xpos="far_left", ypos="head") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" gen "Please, give me a moment..." ("base", xpos="far_left", ypos="head") - gen "I just need to--{w=1.0} *urgh*!" ("angry", xpos="far_left", ypos="head") - call play_sound("equip_inventory") + gen "I just need to--{w=1.0} *Urgh*!" ("angry", xpos="far_left", ypos="head") + play sound "sounds/cloth_sound.ogg" gen "Adjust my pants...{w=1.0} There we go." ("base", xpos="far_left", ypos="head") $ d_flag_01 = False @@ -35,7 +39,7 @@ label cho_intro_E1: call bld cho "Cho Chang, Sir." - gen "(Such a cute name... please be hot, please be hot...!)" ("angry", xpos="far_left", ypos="head") + gen "(Such a cute name... Please be hot, please be hot...!)" ("angry", xpos="far_left", ypos="head") cho "May I come in?" gen "Please have nice tits!" ("grin", xpos="far_left", ypos="head") cho "Sir?" @@ -48,17 +52,12 @@ label cho_intro_E1: # Cho enters your office for the first time. call cho_walk("desk", "base", action="enter") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed $ cho.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG cho") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - show screen animatedCG + + show CG cho as cg zorder 17: + zoom 0.5 with fade cho "Good morning, Sir." ("base", "base", "base", "mid", xpos="mid", ypos="base") @@ -71,7 +70,7 @@ label cho_intro_E1: cho "*Uhm*..." ("annoyed", "wide", "base", "mid") cho "Sir, I'd much prefer not to be called nicknames." ("open", "closed", "base", "mid") cho "Mutual respect is very important for a student-teacher relationship to work." ("open", "base", "base", "down") - gen "(She must be fun at parties..)" + gen "(She must be fun at parties...)" cho "I'd much prefer if you called me Cho, or Miss Chang..." ("open", "base", "raised", "mid") gen "And how is that any different..." cho "It's my name, Sir!" ("annoyed", "narrow", "base", "mid") @@ -98,13 +97,13 @@ label cho_intro_E1: cho "What? Professor how dare you suggest I--" ("clench", "wide", "base", "mid") gen "Hold on!" - gen "Silly me I forgot where I put my glasses." + gen "Silly me, I forgot where I put my glasses." cho "" ("annoyed", "narrow", "angry", "mid") gen "You have to excuse my poor eye-sight." gen "I'm very,{w} very,{w} very,{w} very old." gen "You're clearly \"not\" a boy..." gen "(Smooth...)" - cho "Right... well since you seem unable to see very well..." ("open", "narrow", "base", "downR") + cho "Right... Well, since you seem unable to see very well..." ("open", "narrow", "base", "downR") gen "..." cho "It's Cho Chang." ("base", "narrow", "base", "mid") gen "Ah, Miss Chang..." @@ -122,7 +121,7 @@ label cho_intro_E1: gen "..." cho "Anyway..." ("open", "closed", "base", "mid") - hide screen animatedCG + hide cg with fade cho "I'm terribly sorry for bothering you, Sir.{w=0.8} I hope I'm not interrupting anything important." ("open", "base", "worried", "mid") @@ -148,7 +147,7 @@ label cho_intro_E1: gen "The \"Men's rights movement?\" I'm familiar." ("base", xpos="far_left", ypos="head") cho "Not that one, Sir...{w=0.8} The other one..." ("open", "narrow", "worried", "downR") gen "Oh good...{w=0.5} another one..." ("angry", xpos="far_left", ypos="head") - cho "Yes... And you need to stop it Professor!" ("angry", "base", "base", "mid") + cho "Yes... And you need to stop it, Professor!" ("angry", "base", "base", "mid") cho "Her{w=0.5} \"Quidditch equality movement\"." ("soft", "narrow", "angry", "mid") gen "Her what now?" ("base", xpos="far_left", ypos="head") cho "I know! It's absolutely ridiculous...{w=0.5} It's going to ruin the sport for all of us!" ("clench", "base", "worried", "mid") @@ -159,13 +158,13 @@ label cho_intro_E1: gen "(Quidditch? What a stupid name for a sport.)" ("base", xpos="far_left", ypos="head") cho "The movements' goal is to grant a larger portion of our female students the ability to play." ("open", "narrow", "base", "down") gen "And...{w} that's a bad thing?" ("base", xpos="far_left", ypos="head") - cho "Her way of going about to achieve it is..." ("annoyed", "narrow", "angry", "R") + cho "What she is doing to try and achieve it is..." ("annoyed", "narrow", "angry", "R") cho "Granger is trying to separate us into male and female teams." ("annoyed", "narrow", "worried", "mid") cho "She believes it would put girls on an equal playing field against other girl teams." ("open", "closed", "worried", "mid") cho "But what she's forgetting is that all the female players who made it into a team are already considered a valuable asset -- or they wouldn't be there!" ("open", "narrow", "angry", "R") cho "I worked hard to be at the same level as my fellow teammates..." ("annoyed", "narrow", "worried", "downR") cho "Splitting us up into a male and female league would just bring on girls that are just there to flaunt their bodies, instead of taking the sport seriously..." ("open", "narrow", "angry", "downR") - gen "Doesn't sound like the worst idea honestly..." ("base", xpos="far_left", ypos="head") + gen "Doesn't sound like the worst idea, honestly..." ("base", xpos="far_left", ypos="head") cho "Sir... I've trained all my life to be where I'm at." ("clench", "narrow", "angry", "mid") cho "Just as hard as all the other great female Quidditch players of history!" ("scream", "closed", "angry", "mid") cho "They played side by side with men... Earning their place amongst the best!" ("open", "narrow", "angry", "down") @@ -176,7 +175,7 @@ label cho_intro_E1: cho "Sir... This would destroy the foundations of the entire sport, traditions going back centuries..." ("open", "narrow", "angry", "down") gen "Now, I think you're being a bit overdramatic Miss--" ("base", xpos="far_left", ypos="head") cho "I'd get even less attention as one of the few girls in the league!" ("open", "narrow", "angry", "mid") - gen "Ah... So that's where the problem lies." ("base", xpos="far_left", ypos="head") + gen "Ah... So, that's where the problem lies." ("base", xpos="far_left", ypos="head") cho "Sir, could you please talk to her? I'd be very grateful if you did." ("upset", "base", "worried", "mid") cho "I would be forever in your debt." ("soft", "narrow", "base", "mid") @@ -190,34 +189,34 @@ label cho_intro_E1: # Hermione walks in stop music fadeout 1.0 call hide_characters + + play sound "sounds/door.ogg" + call her_chibi("stand", "door", "base") with d3 - call play_sound("door") - call her_chibi("stand", "door", "base") - - her "Professor I'm sorry to bother you but I wanted to..." ("open", "closed", "base", "mid", ypos="head", flip=False) + her "Professor, I'm sorry to bother you, but I wanted to..." ("open", "closed", "base", "mid", xpos="base", ypos="base", flip=False) her "!!!" ("normal", "wide", "base", "stare", trans=hpunch) call her_walk(570, "base") call her_chibi("stand",570,"base") pause .5 - play music "music/deadly-roulette-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/deadly-roulette-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed cho "" ("annoyed", "narrow", "angry", "downR", xpos="mid", ypos="base") - her "Cho...{w=0.5} How nice to see you here..." ("open", "closed", "base", "mid", xpos="base", ypos="base") + her "Cho...{w=0.5} How nice to see you here..." ("open", "closed", "base", "mid") her "And why are you here exactly?" ("annoyed", "narrow", "annoyed", "L") cho "Oh, you know...{w=0.5} Just having a discussion with our dear headmaster..." ("soft", "base", "base", "R") - $ renpy.sound.play("sounds/slap_03.ogg") + play sound "sounds/slap_03.ogg" her "{size=-5}Bitch...{/size}" ("angry", "closed", "angry", "mid", trans=hpunch) - $ renpy.sound.play("sounds/slap_02.ogg") + play sound "sounds/slap_02.ogg" cho "{size=-5}Whore...{/size}" ("clench", "closed", "angry", "mid", trans=hpunch) - her "..." ("normal", "squint", "angry", "L", cheeks="blush") + her @ cheeks blush "..." ("normal", "squint", "angry", "L") cho "..." ("upset", "narrow", "base", "L") - her "So... What have you been discussing?{w=0.4} Anything I should know?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "So... What have you been discussing?{w=0.4} Anything I should know?" ("open", "squint", "base", "mid") cho "Oh, it's nothing that you need to worry your pretty little head about..." ("smile", "closed", "angry", "mid") gen "(This could take a while...)" ("base", xpos="far_left", ypos="head") @@ -233,50 +232,50 @@ label cho_intro_E1: with d3 pause .5 - $ cho_jerk_off_counter += 1 - $ her_jerk_off_counter += 1 - $ jerked_off_during_cho_intro = True # Optional dialogue with Snape. + $ states.gen.stats.masturbated_to_cho += 1 + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.cho.ev.intro.masturbated = True # Optional dialogue with Snape. - $ genie_masturbating = True + $ states.gen.masturbating = True "\"(I should probably listen to them.)\"": - $ genie_masturbating = False + $ states.gen.masturbating = False # Masturbating - if genie_masturbating: - call nar(">You pull your cock out and begin masturbating... focusing on the now heated argument between the two girls in front of you.") + if states.gen.masturbating: + nar "You pull your cock out and begin masturbating... focusing on the now heated argument between the two girls in front of you." cho "" (trans=d3) - her "Oh yeah, well... I bet it can't be anything good seeing how you usually act around men..." ("mad", "narrow", "angry", "L") + her "Oh yeah, well... I bet it can't be anything good, seeing how you usually act around men..." ("mad", "narrow", "angry", "L") cho "What's that supposed to mean?!?" ("clench", "base", "angry", "R") her "You know exactly what I mean..." ("crooked_smile", "narrow", "base", "R_soft") her "I heard about how you were flaunting those... \"things\" of yours at Seamus Finnigan." ("crooked_smile", "narrow", "base", "R_soft") with hpunch cho "\"Things\"?" ("angry", "narrow", "angry", "R") cho "Oh, miss perfect Hermione Granger.{w=0.8} Too afraid to even use the word \"tits\"..." ("open", "narrow", "angry", "R") - her "Well yours hardly qualify as such..." ("annoyed", "narrow", "angry", "L", cheeks="blush") + her @ cheeks blush "Well yours hardly qualify as such..." ("annoyed", "narrow", "angry", "L") cho "How dare you!" ("clench", "closed", "angry", "mid") cho "And so what? What's wrong with being confident about your body..." ("open", "narrow", "angry", "down") - cho "You should try it some time... You might even get a boyfriend one day..." ("soft", "narrow", "angry", "R") + cho "You should try it sometime... You might even get a boyfriend one day..." ("soft", "narrow", "angry", "R") cho "Though what do I know..." ("open", "closed", "base", "mid") - cho "I didn't need to get my teeth shortened so I wouldn't be confused for a rabbit!" ("grin", "closed", "angry", "mid") - her "..." ("normal", "narrow", "angry", "down", cheeks="blush") + cho "I didn't need to get my teeth shortened, just so I wouldn't be confused for a rabbit!" ("grin", "closed", "angry", "mid") + her @ cheeks blush "..." ("normal", "narrow", "angry", "down") cho "Not that anyone would even see them through that horribly bushy hair of yours..." ("smile", "narrow", "angry", "R") - her "Well, I heard that you were caught snogging someone in one of the carriages after the triwizard tournament." ("soft", "closed", "base", "mid", cheeks="blush") - her "I'm sure that will go down in the Hogwarts book of history..." ("grin", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Well, I heard that you were caught snogging someone in one of the carriages after the triwizard tournament." ("soft", "closed", "base", "mid") + her @ cheeks blush "I'm sure that will go down in the Hogwarts book of history..." ("grin", "narrow", "base", "mid") gen "(How naughty, didn't expect such indecent behaviour from a girl with such a cute face...)" ("grin", xpos="far_left", ypos="head") cho "Yeah? You ever even kissed a boy before, Granger?" ("soft", "narrow", "raised", "R") - her "" ("normal", "base", "worried", "R", cheeks="blush") + her @ cheeks blush "" ("normal", "base", "worried", "R") cho "And I'm talking about a real kiss, and not your daddy kissing you good night..." ("soft", "narrow", "raised", "R") - her "Oh...{w=0.5} Of course I have!" ("angry", "base", "worried", "R", cheeks="blush") - her "Just because I don't jump on every opportunity to glimpse random boys' wands..." ("soft", "closed", "base", "mid", cheeks="blush") - her "Unlike some other girls at this school..." ("normal", "narrow", "angry", "L", cheeks="blush") - her "That doesn't mean I've never kissed anyone..." ("soft", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "Oh...{w=0.5} Of course I have!" ("angry", "base", "worried", "R") + her @ cheeks blush "Just because I don't jump on every opportunity to glimpse random boys' wands..." ("soft", "closed", "base", "mid") + her @ cheeks blush "Unlike some other girls at this school..." ("normal", "narrow", "angry", "L") + her @ cheeks blush "That doesn't mean I've never kissed anyone..." ("soft", "base", "worried", "mid") gen "..." ("grin", xpos="far_left", ypos="head") - her "And I didn't need to have my breasts enlarged so that I wouldn't be confused for a boy!" ("annoyed", "narrow", "annoyed", "L", cheeks="blush") + her @ cheeks blush "And I didn't need to have my breasts enlarged so that I wouldn't be confused for a boy!" ("annoyed", "narrow", "annoyed", "L") cho "Oh yeah... Like you haven't been flaunting yours around either..." ("open", "narrow", "angry", "R") cho "Don't you try and act all innocent!" ("upset", "narrow", "angry", "R") - her "As If..." ("normal", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "As If..." ("normal", "narrow", "annoyed", "mid") cho "I wouldn't doubt that's why you're here in the first place!" ("open", "closed", "base", "mid") cho "To push your stupid agendas, whilst you push your breasts together at the same time." ("clench", "narrow", "angry", "L") gen "{size=-4}You fucking sluts!{/size}" ("angry", xpos="far_left", ypos="head") @@ -329,8 +328,8 @@ label cho_intro_E1: cho "*Hmph*... There's no argument here..." ("open", "narrow", "angry", "L") cho "I'm sure that Hermione's reasons for interrupting are totally valid..." ("upset", "narrow", "angry", "R") her "And I'm sure Cho wasn't just coming here to flaunt her body..." ("soft", "narrow", "base", "L") - cho "What's that supposed to mean?!?" ("clench", "narrow", "angry", "R", trans=vpunch_repeat) - gen "(I guess I'll just have to wait this one out..)" ("base", xpos="far_left", ypos="head") + cho "What's that supposed to mean?!?" ("clench", "narrow", "angry", "R", trans=vpunch) + gen "(I guess I'll just have to wait this one out...)" ("base", xpos="far_left", ypos="head") # Black screen call hide_characters @@ -342,21 +341,21 @@ label cho_intro_E1: pause 1 call hide_blkfade - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "*Snore*{w=2.0}{nw}" her "" ("annoyed", "narrow", "annoyed", "R") - cho "As if I'm going to believe that nonsense, Granger!" ("angry", "narrow", "angry", "R", trans=vpunch_repeat) - $ renpy.sound.play("sounds/snore2.ogg") + cho "As if I'm going to believe that nonsense, Granger!" ("angry", "narrow", "angry", "R", trans=vpunch) + play sound "sounds/snore2.ogg" gen "......{w=0.5}*Snore*{w=1.0}{nw}" her "I had completely legitimate reasons for coming here..." ("soft", "closed", "base", "mid") her "You tell her Professor!" ("open", "base", "annoyed", "mid") - $ renpy.sound.play("sounds/snore3.ogg") + play sound "sounds/snore3.ogg" gen "*Sn{cps=8}oooooooreeee*{/cps}{w=2.0}{nw}" her "Professor!" ("scream", "base", "angry", "mid", trans=hpunch) gen "*Grunt* {size=-4}Huh, what?{/size}" ("angry", xpos="far_left", ypos="head") her "I always have a valid reason for coming here, don't I?" ("base", "base", "base", "mid") gen "Of course you--" ("base", xpos="far_left", ypos="head") - cho "Always? So you \"do\" come here often!" ("smile", "narrow", "base", "R") + cho "Always? So, you \"do\" come here often!" ("smile", "narrow", "base", "R") her "So what..." ("angry", "closed", "angry", "mid") gen "Ladies, I think it's time to--" ("base", xpos="far_left", ypos="head") cho "Don't worry about it Sir, I was just about to leave anyway..." ("soft", "narrow", "angry", "mid") @@ -400,12 +399,12 @@ label cho_intro_E1: call her_walk(action="leave") # Hermione Mood down - $ her_mood += 6 - $ hermione_busy = True + $ states.her.mood += 6 + $ states.her.busy = True - $ cho_intro.E1_complete = True + $ states.cho.ev.intro.e1_complete = True - gen ".......{w=0.5}women..." ("base", xpos="far_left", ypos="head") + gen ".......{w=0.5} Women..." ("base", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") call music_block @@ -419,13 +418,13 @@ label cho_intro_E1: label cho_intro_E2: stop music fadeout 1.0 - call play_sound("door") + play sound "sounds/door.ogg" call cho_chibi("stand", "door", "base") with d3 pause .5 call cho_chibi("stand", "door", "base",flip=True) with d1 - call play_sound("bump") + play sound "sounds/kick.ogg" pause .8 call cho_chibi("stand", "door", "base",flip=False) with d1 @@ -439,7 +438,7 @@ label cho_intro_E2: gen "Miss Chang! My favourite student!" ("grin", xpos="far_left", ypos="head") gen "I'm so glad to see you. Is there something I can--" ("grin", xpos="far_left", ypos="head") - call play_music("hitman") + play music "music/hitman.ogg" fadein 1 if_changed cho "Cut the crap, Professor!{w=0.6} I know you've told her!" ("soft", "narrow", "angry", "mid") gen "{size=-4}Please don't hurt me.{/size}" ("angry", xpos="far_left", ypos="head") cho "How could you have done this?{w=0.6} Sending this dim-witted Gryffindor tramp after me?" ("open", "narrow", "angry", "mid") @@ -469,7 +468,7 @@ label cho_intro_E2: cho "Sir, I'm not joking around. This is serious!" ("open", "base", "angry", "mid") cho "Tell Granger to keep her bushy head out of it!" ("clench", "narrow", "angry", "mid") gen "Fine, whatever... This isn't worth the drama..." ("base", xpos="far_left", ypos="head") - gen "(I can just bribe Granger with some house-points anyway.)" ("base", xpos="far_left", ypos="head") + gen "(I can just bribe Granger with some house points anyway.)" ("base", xpos="far_left", ypos="head") gen "I shall talk to her." ("base", xpos="far_left", ypos="head") "\"I'd prefer you didn't...\"": @@ -481,7 +480,7 @@ label cho_intro_E2: gen "I suppose..." ("base", xpos="far_left", ypos="head") # Back to cheerful. - call play_music("night") + play music "music/Music for Manatees.ogg" fadein 1 if_changed cho "Good." ("base", "base", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") cho "Have a nice evening, Professor." ("smile", "closed", "base", "mid") @@ -495,15 +494,15 @@ label cho_intro_E2: gen "With his unfailing wisdom." ("angry", xpos="far_left", ypos="head") gen "Who am I even kidding..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True - $ snape_busy = False + $ states.her.busy = True + $ states.sna.busy = False - $ cho_intro.E2_complete = True + $ states.cho.ev.intro.e2_complete = True - $ cho_unlocked = True + $ states.cho.unlocked = True $ achievements.unlock("unlockcho", True) call popup("{size=-4}You can now summon Cho into your office.{/size}", "Character unlocked!", "interface/icons/head/cho.webp") - $ cho_busy = True + $ states.cho.busy = True jump main_room_menu @@ -524,7 +523,7 @@ label ss_he_cho_E1: "\"Her name was Cho Chan.\"": sna "Cho Chang?" ("snape_01") gen "No, I'm sure it was \"Chan\"." ("base", xpos="far_left", ypos="head") - sna "I know my students names, Genie." ("snape_04") + sna "I know my students' names, Genie." ("snape_04") "\"I can't remember. I got too distracted by her legs...\"": sna "Can you describe her?" ("snape_05") @@ -611,8 +610,8 @@ label ss_he_cho_E1: sna "(...)" ("snape_12") if not d_flag_02: - sna "So, that's in then? You're staking both your money and the chance at getting in this girls panties on Ravenclaw winning the cup?" ("snape_01") - gen "You bet I-- No wait! Of course that's not all of it!" ("angry", xpos="far_left", ypos="head") + sna "So, that's it then? You're staking both your money and the chance at getting inside this girl's panties on Ravenclaw winning the cup?" ("snape_01") + gen "You bet I--{w=0.2} No wait! Of course, that's not all of it!" ("angry", xpos="far_left", ypos="head") gen "*Err*..." ("base", xpos="far_left", ypos="head") gen "Oh! I'm also planning to..." ("base", xpos="far_left", ypos="head") @@ -628,12 +627,12 @@ label ss_he_cho_E1: sna "A confrontation? So so..." ("snape_13") sna "What was it about?" ("snape_20") - if jerked_off_during_hermione_intro and jerked_off_during_cho_intro: + if states.her.ev.intro.masturbated and states.cho.ev.intro.masturbated: gen "I have no idea. I jerked off during their whole exchange." ("base", xpos="far_left", ypos="head") sna "You did that again? And neither of them realised?" ("snape_22") gen "Didn't seem like it. They were too occupied with insulting each other..." ("base", xpos="far_left", ypos="head") - elif jerked_off_during_cho_intro: + elif states.cho.ev.intro.masturbated: gen "I have no idea. I jerked off during their whole exchange." ("base", xpos="far_left", ypos="head") sna "You did what?" ("snape_15") gen "I jerked off.{w} Beat my meat.{w} Wrestled the snake.{w} Whatever you want to call it." ("base", xpos="far_left", ypos="head") @@ -678,14 +677,11 @@ label ss_he_cho_E1: label discussed_cho_plan: show screen with_snape(ani=True) - show screen bld1 call notes - ">You spend the rest of the evening in Snape's company, talking about Cho's impressive thighs." + nar "You spend the rest of the evening in Snape's company, talking about Cho's impressive thighs." - hide screen bld1 - with d3 - $ ss_he.cho_E1 = True + $ states.sna.ev.hangouts.cho_e1 = True jump end_snape_hangout_points @@ -702,11 +698,11 @@ label cho_intro_E3: $ cho_chibi.zorder = 4 # Intro - if not cho_intro.E3_intro: - $ cho_intro.E3_intro = True + if not states.cho.ev.intro.e3_complete: + $ states.cho.ev.intro.e3_complete = True gen "I got some word about you that needs to be addressed..." ("base", xpos="far_left", ypos="head") - her "About what? I'm not in any trouble or anything am I?" ("soft", "wide", "base", "mid") + her "About what? I'm not in any trouble or anything, am I?" ("soft", "wide", "base", "mid") gen "Miss Chang..." ("base", xpos="far_left", ypos="head") her "Oh..." ("annoyed", "narrow", "base", "up") her "What about her?" ("annoyed", "base", "angry", "mid") @@ -729,27 +725,27 @@ label cho_intro_E3: # Repeat (This won't happen anymore) else: - gen "[hermione_name], there is something we need to talk about." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], there is something we need to talk about." ("base", xpos="far_left", ypos="head") her "Is it about Cho again?" ("annoyed", "squint", "base", "mid") gen "Yes indeed." ("base", xpos="far_left", ypos="head") gen "I'd like you to stop your..." ("base", xpos="far_left", ypos="head") gen "Quidditch...{w} something, something...{w} movement." ("base", xpos="far_left", ypos="head") - if her_whoring < 10: # T3 + if states.her.level < 10: # T3 her "My \"Quidditch equality movement\"?" ("soft", "base", "base", "mid") her "But Sir, I'm on the verge of a breakthrough with it!" ("soft", "closed", "base", "mid") her "I worked very hard on gathering all records of past Quidditch matches, throughout the complete history of Quidditch!" ("open", "wink", "base", "mid") her "You'd be surprised just how few female--" ("soft", "closed", "base", "mid") gen "I'll give you ten house points." ("base", xpos="far_left", ypos="head") her "Ten points?" ("soft", "wide", "base", "stare", trans=hpunch) - her "Sir do you even realise how much time it took me to do all that research?" ("angry", "squint", "angry", "mid") + her "Sir, do you even realise how much time it took me to do all that research?" ("angry", "squint", "angry", "mid") gen "Twenty?" ("base", xpos="far_left", ypos="head") her "One hundred!" ("angry", "closed", "angry", "mid") gen "One hundred? Are you nuts?" ("angry", xpos="far_left", ypos="head") her "And just points isn't going to cut it..." ("open", "closed", "base", "mid") gen "Then what else?" ("base", xpos="far_left", ypos="head") her "*Uhm*..." ("annoyed", "base", "base", "R") - gen "You're testing my patience Miss Granger..." ("base", xpos="far_left", ypos="head") + gen "You're testing my patience, Miss Granger..." ("base", xpos="far_left", ypos="head") her "Oh, I know!{w=0.5} I want a seat in the teacher stands during the Quidditch matches!" ("smile", "happyCl", "base", "mid") her "Cho would be so jealous if she saw me sitting near the commentator and teachers..." ("grin", "narrow", "base", "mid_soft") gen "So, you want both one hundred points and a seat in the teacher stands..." ("base", xpos="far_left", ypos="head") @@ -762,7 +758,7 @@ label cho_intro_E3: her "Well..." ("soft", "happy", "base", "R") gen "Don't push your luck..." ("base", xpos="far_left", ypos="head") her "No, I think that should do..." ("smile", "happyCl", "base", "mid") - if sna_friendship <= 30: + if states.sna.level <= 30: gen "(I'm going to need to get real friendly with Snape to get those Slytherins in a steady lead...)" ("base", xpos="far_left", ypos="head") gen "One hundred points to Gryffindor...{w=0.6} Happy?" ("base", xpos="far_left", ypos="head") $ gryffindor += 100 @@ -782,7 +778,7 @@ label cho_intro_E3: gen "Fine by me..." ("base", xpos="far_left", ypos="head") gen "Fifty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 50 - $ her_mood += 6 + $ states.her.mood += 6 her "Thanks I guess..." ("open", "closed", "angry", "mid") gen "You may leave now..." ("base", xpos="far_left", ypos="head") her "*Hmph*... I don't think so, sir..." ("annoyed", "closed", "angry", "mid") @@ -790,7 +786,7 @@ label cho_intro_E3: her "Well, It's just..." ("open", "narrow", "base", "R") - elif her_whoring < 21: + elif states.her.level < 21: her "Oh... My \"Quidditch equality movement\"?" ("soft", "base", "base", "mid") gen "That's the one." ("base", xpos="far_left", ypos="head") her "It never really got off the ground..." ("open", "base", "base", "R") @@ -800,15 +796,15 @@ label cho_intro_E3: her "I might consider dropping it." ("base", "base", "base", "R") her "Even though it would take away the immense pleasure of seeing Cho getting all worked up about it..." ("grin", "base", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - her "There is something I'd like from you in return, [genie_name].{w=0.8} Or else I'll just continue with it!" ("base", "narrow", "base", "mid_soft") + her "There is something I'd like from you in return, [name_genie_hermione].{w=0.8} Or else I'll just continue with it!" ("base", "narrow", "base", "mid_soft") gen "Go on girl." ("base", xpos="far_left", ypos="head") gen "Tell me what you want." ("base", xpos="far_left", ypos="head") gen "What you really{w}, really want..." ("base", xpos="far_left", ypos="head") - her "Very well, [genie_name]." ("soft", "base", "base", "R") + her "Very well, [name_genie_hermione]." ("soft", "base", "base", "R") her "I'll tell you what I want!" ("open", "closed", "base", "mid") her "What I really, really want!" ("grin", "narrow", "base", "mid_soft") gen "{size=-4}Nice!{/size}" ("grin", xpos="far_left", ypos="head") - her "I'd like a seat in the teacher stands, during the Quidditch matches.." ("open", "closed", "base", "mid") + her "I'd like a seat in the teacher stands, during the Quidditch matches..." ("open", "closed", "base", "mid") gen "Is that all?" ("base", xpos="far_left", ypos="head") her "Oh, and a hundred points for Gryffindor..." ("grin", "base", "base", "R") gen "(...)" ("base", xpos="far_left", ypos="head") @@ -819,7 +815,7 @@ label cho_intro_E3: her "Very well then." ("soft", "closed", "base", "mid") gen "Fifty points, to the Gryffindor house..." ("base", xpos="far_left", ypos="head") $ gryffindor += 50 - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") else: her "My what?" ("open", "narrow", "base", "mid_soft") @@ -832,24 +828,24 @@ label cho_intro_E3: gen "Yes?" ("base", xpos="far_left", ypos="head") her "I want a seat in the teacher stands during the Quidditch matches!" ("grin", "narrow", "base", "mid_soft") gen "I'm sure that could be arranged..." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") - her "[genie_name], may I ask...{w=0.6} What exactly were you and Cho talking about when I entered your office?" ("open", "base", "base", "R") + her "[name_genie_hermione], may I ask...{w=0.6} What exactly were you and Cho talking about when I entered your office?" ("open", "base", "base", "R") gen "Oh. She just wanted my help with Quidditch." ("base", xpos="far_left", ypos="head") her "*Pffff*-{w=0.4} Why doesn't it surprise me that she'd need your help with it." ("grin", "narrow", "base", "R_soft") her "How else could she possibly win that stupid Quidditch cup..." ("soft", "closed", "angry", "mid") gen "I thought that cup was important to you?" ("base", xpos="far_left", ypos="head") - her "I couldn't care less about it, [genie_name]." ("open", "closed", "base", "mid") + her "I couldn't care less about it, [name_genie_hermione]." ("open", "closed", "base", "mid") her "The only cup that is worth winning is the {i}house cup{/i}." ("open", "narrow", "base", "R_soft") her "They're completely different..." ("annoyed", "base", "angry", "mid") gen "Totally different..." ("base", xpos="far_left", ypos="head") - if her_whoring < 18: + if states.her.level < 18: her "It's the most prestigious award one could earn for your house!{w=0.6} The Quidditch cup is nothing in comparison..." ("open", "closed", "base", "mid") - her "Surely there's better ways to spend your time than participating in this silly sports game." ("annoyed", "narrow", "annoyed", "mid") + her "Surely there are better ways to spend your time than participating in this silly sports game." ("annoyed", "narrow", "annoyed", "mid") gen "(My irony senses are tingling...)" ("base", xpos="far_left", ypos="head") - if her_whoring < 8: + if states.her.level < 8: her "They're given the privilege of attending one of the most prestigious wizarding schools in the world..." ("open", "narrow", "angry", "R") her "And what do they do? They spend their time playing some silly sports game that will get them nowhere." ("open", "base", "angry", "mid") gen "Yes. Because why enjoy yourself when you could study instead..." ("base", xpos="far_left", ypos="head") @@ -861,7 +857,7 @@ label cho_intro_E3: her "(...)" ("annoyed", "base", "angry", "mid") gen "And that the \"Quidditch equality movement\" will be...{w} \n\"no more\"." ("base", xpos="far_left", ypos="head") - if her_whoring < 18: + if states.her.level < 18: her "Do I really have to do all that?" ("upset", "base", "base", "R") gen "If you want to keep on buying favours from me." ("base", xpos="far_left", ypos="head") her "*Ugh*...{w=0.4} Very well, I guess..." ("soft", "narrow", "worried", "down") @@ -898,7 +894,7 @@ label cho_intro_E3: call cho_walk(580, 450, action="enter") pause 1 - play music "music/deadly-roulette-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/deadly-roulette-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed cho "Hello, Sir.{w=0.6} You've called for me?" ("soft", "narrow", "raised", "L", xpos="base", ypos="base") her "" ("normal", "closed", "base", "mid", xpos=450, ypos="base") @@ -913,7 +909,7 @@ label cho_intro_E3: cho "*Shhsh!* Professor!{w=0.6} I'd like to hear it from her." ("annoyed", "narrow", "angry", "mid") cho "I'm going to enjoy this!" ("horny", "narrow", "base", "L") her "..." ("annoyed", "base", "angry", "mid") - her "*Sigh*{w=0.6} I will end my movement, and I won't interfere with Quidditch again..." ("open", "closed", "base", "mid") #[Looking bored] + her "*Sigh*...{w=0.6} I will end my movement, and I won't interfere with Quidditch again..." ("open", "closed", "base", "mid") #[Looking bored] cho "This is amazing! I feel as if it's my birthday!" ("smile", "base", "base", "mid") her "After all, Quidditch is a huge waste of everyone's time.{w=0.6} Including mine..." ("soft", "narrow", "base", "R_soft") #[Still looking bored] cho "You're just jealous that I'm better than you at something." ("smile", "narrow", "angry", "L") @@ -953,9 +949,9 @@ label cho_intro_E3: cho "During our last meeting he brought up wanting to add stripes to our Quidditch Robes." ("soft", "narrow", "base", "mid") cho "Believing that doing so would somehow make us go faster..." ("disgust", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - cho "Sorry, sir... I've already taken up enough of your time... Surely you've got more important things--" ("open", "narrow", "base", "R") + cho "Sorry, sir... I've already taken up enough of your time... Surely, you've got more important things--" ("open", "narrow", "base", "R") - play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed gen "Why don't I coach you?" ("base", xpos="far_left", ypos="head") cho "Sorry?" ("clench", "narrow", "base", "mid") @@ -968,34 +964,32 @@ label cho_intro_E3: gen "Isn't the point of a Headmaster to make sure that their students' talents aren't wasted?" ("base", xpos="far_left", ypos="head") cho "I suppose so, but--" ("open", "base", "base", "downR") gen "Well, as soon as you first stepped through that door I could tell that this girl has got what it takes to make it big." ("base", xpos="far_left", ypos="head") - cho "...{w} You could tell that just by looking at me?" ("angry", "narrow", "base", "mid", cheeks="blush") - gen "Indeed, there's no doubts about it!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "...{w} You could tell that just by looking at me?" ("angry", "narrow", "base", "mid") + gen "Indeed... No doubts about it!" ("base", xpos="far_left", ypos="head") gen "Or are you telling me that I'm wrong?" ("base", xpos="far_left", ypos="head") - cho "Of course not, but--" ("soft", "base", "base", "R", cheeks="blush") + cho @ cheeks blush "Of course not, but--" ("soft", "base", "base", "R") gen "Great!" ("grin", xpos="far_left", ypos="head") - gen "Then I shall summon you shortly so we can further discuss this arrangement." ("grin", xpos="far_left", ypos="head") - cho "(Arrangement?)" ("soft", "narrow", "base", "down", cheeks="blush") + gen "Then I shall summon you shortly, so we can further discuss this arrangement." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "(Arrangement?)" ("soft", "narrow", "base", "down") gen "That will be all for now Miss Chang, you may leave." ("grin", xpos="far_left", ypos="head") - cho "...{w} Alright then, sir." ("normal", "base", "base", "mid", cheeks="blush") - cho "(He could tell just by looking at me?)" ("normal", "narrow", "base", "down", cheeks="blush") - cho "(...)" ("soft", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "...{w} Alright then, sir." ("normal", "base", "base", "mid") + cho @ cheeks blush "(He could tell just by looking at me?)" ("normal", "narrow", "base", "down") + cho @ cheeks blush "(...)" ("soft", "narrow", "base", "R") # Cho leaves. call cho_walk(action="leave") - call bld - # You can now summon Cho Chang to your office. stop music fadeout 1.0 # End of Intro. - $ hermione_busy = True - $ cho_busy = True + $ states.her.busy = True + $ states.cho.busy = True #Reset z-order $ cho_chibi.zorder = 3 - $ cho_intro.E3_complete = True + $ states.cho.ev.intro.e4_complete = True call music_block jump main_room_menu diff --git a/game/scripts/characters/cho/events/panties.rpy b/game/scripts/characters/cho/events/panties.rpy index 63f62572..436c1096 100644 --- a/game/scripts/characters/cho/events/panties.rpy +++ b/game/scripts/characters/cho/events/panties.rpy @@ -3,25 +3,25 @@ ### Tier 2 (pre Slytherin) ### label cho_panties_response_T2: - $ has_cho_panties = False - call play_sound("door") + $ states.cho.ev.panty_thief.acquired = False + play sound "sounds/door.ogg" call cho_chibi("stand","mid","base") with d3 - call play_music("cho") - cho "Hello, [cho_genie_name]." ("soft", "narrow", "worried", "mid", xpos="right", ypos="base") - gen "Sup..." ("base", xpos="far_left", ypos="head") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho "Hello, [name_genie_cho]." ("soft", "narrow", "worried", "mid", xpos="right", ypos="base") + gen "[name_cho_genie]..." ("base", xpos="far_left", ypos="head") cho "*Uhm*..." ("annoyed", "narrow", "worried", "R") - cho "I forgot to take my underwear with me the last time I was here." ("soft", "narrow", "worried", "downR", cheeks="blush") + cho @ cheeks blush "I forgot to take my underwear with me the last time I was here." ("soft", "narrow", "worried", "downR") - if cho_panties_soaked: - gen "Your panties! Of course, [cho_name]!{w} I've got them right here..." ("grin", xpos="far_left", ypos="head") + if states.cho.ev.panty_thief.soaked: + gen "Your panties! Of course, [name_cho_genie]!{w} I've got them right here..." ("grin", xpos="far_left", ypos="head") call cho_walk("desk", "base") pause .8 - call give_reward(_("> You hand over the panties..."), "interface/icons/panties_cum.webp") + call give_reward("You hand over the panties...", "interface/icons/panties_cum.webp") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .4 cho "(...)" ("annoyed", "narrow", "angry", "mid", xpos="mid", ypos="base", trans=fade) # Evil stare. @@ -59,10 +59,10 @@ label cho_panties_response_T2: call bld gen "(...)" ("base", xpos="far_left", ypos="head") - $ cho_mood += 6 - $ cho_busy = True + $ states.cho.mood += 6 + $ states.cho.busy = True - $ cho_panties_soaked = False + $ states.cho.ev.panty_thief.soaked = False $ achievements.unlock("pantiesfapcho") @@ -72,8 +72,8 @@ label cho_panties_response_T2: else: gen "Your panties, that's right!{w} I've got them right here..." ("grin", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/sniff.ogg") - call nar(">You bring the panties to your nose and give them one last sniff.") + play sound "sounds/sniff.ogg" + nar "You bring the panties to your nose and give them one last sniff." gen "*Aaahhh*!{w} Wonderful!" ("angry", xpos="far_left", ypos="head") cho "(...)" ("annoyed", "narrow", "base", "mid") @@ -82,7 +82,7 @@ label cho_panties_response_T2: call cho_walk("desk", "base") pause .8 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .4 call cho_walk("mid", "base") @@ -99,45 +99,45 @@ label cho_panties_response_T2: ### Tier 3 (pre Gryffindor) ### label cho_panties_response_T3: - $ has_cho_panties = False - call play_sound("door") + $ states.cho.ev.panty_thief.acquired = False + play sound "sounds/door.ogg" call cho_chibi("stand","mid","base") with d3 - call play_music("cho") - cho "Hello, [cho_genie_name]." ("base", "narrow", "base", "downR", cheeks="blush", xpos="right", ypos="base") - gen "[cho_name]..." ("base", xpos="far_left", ypos="head") - cho "I believe I left you something of mine..." ("open", "narrow", "base", "down", cheeks="blush") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho @ cheeks blush "Hello, [name_genie_cho]." ("base", "narrow", "base", "downR", xpos="right", ypos="base") + gen "[name_cho_genie]..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I believe I left you something of mine..." ("open", "narrow", "base", "down") gen "Ah, yes... Your panties, I've got them right here." ("grin", xpos="far_left", ypos="head") cho "Great!" ("base", "base", "base", "mid") - if cho_panties_soaked: + if states.cho.ev.panty_thief.soaked: call cho_walk("desk", "base") pause .8 - call give_reward(_("> You hand over the panties..."),"interface/icons/panties_cum.webp") + call give_reward("You hand over the panties...", "interface/icons/panties_cum.webp") - cho "(...)" ("upset", "base", "base", "down", cheeks="blush", xpos="mid", ypos="base", trans=blackfade) + cho @ cheeks blush "(...)" ("upset", "base", "base", "down", xpos="mid", ypos="base", trans=blackfade) gen "Something wrong?" ("base", xpos="far_left", ypos="head") - cho "You came on them didn't you?" ("mad", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "You came on them didn't you?" ("mad", "narrow", "base", "downR") gen "Of course, what did you think would happen when you left them here?" ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "base", "down", cheeks="blush") - cho "I suppose you're just a man after all, I would've been more shocked if you hadn't done it." ("open", "closed", "base", "mid", cheeks="blush") - cho "I'll just have to make sure to clean them before I use them next time..." ("soft", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "narrow", "base", "down") + cho @ cheeks blush "I suppose you're just a man after all, I would've been more shocked if you hadn't done it." ("open", "closed", "base", "mid") + cho @ cheeks blush "I'll just have to make sure to clean them before I use them next time..." ("soft", "narrow", "base", "down") gen "Or you could put them on now..." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "base", "base", "downR", cheeks="blush") - cho "*Hmm*... No, I don't think so..." ("base", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "base", "base", "downR") + cho @ cheeks blush "*Hmm*... No, I don't think so..." ("base", "narrow", "base", "mid") gen "Worth a shot..." ("base", xpos="far_left", ypos="head") gen "There, take them..." ("base", xpos="far_left", ypos="head") - $ cho_panties_soaked = False + $ states.cho.ev.panty_thief.soaked = False $ achievements.unlock("pantiesfapcho") else: - $ renpy.sound.play("sounds/sniff.ogg") - call nar(">You bring the panties to your nose and give them one last sniff.") + play sound "sounds/sniff.ogg" + nar "You bring the panties to your nose and give them one last sniff." gen "*Aaahhh*!{w} Wonderful!" ("angry", xpos="far_left", ypos="head") cho "(...)" ("base", "narrow", "base", "down") @@ -146,7 +146,7 @@ label cho_panties_response_T3: call cho_walk("desk", "base") pause .8 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .4 call cho_walk("mid", "base") diff --git a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy index 38aa176d..52d4407d 100644 --- a/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/gryffindor_match.rpy @@ -5,75 +5,75 @@ label start_gryffindor_match: # Chat with Cho the day before the match gen "It's time..." ("base", xpos="far_left", ypos="head") - cho "Time, [cho_genie_name]?" ("soft", "narrow", "raised", "mid") + cho "Time, [name_genie_cho]?" ("soft", "narrow", "raised", "mid") gen "It's Game Time! Get your Hanes on, lace up your Nike's, grab your Wheaties and your Gatorade, and we'll pick up a Big Mac on the way to the ballpark." ("base", xpos="far_left", ypos="head") cho "What are you on about?" ("disgust", "narrow", "base", "mid") - gen "The big game of course!" ("grin", xpos="far_left", ypos="head") + gen "The big game, of course!" ("grin", xpos="far_left", ypos="head") cho "The--{w=0.4} Are you talking about the Quidditch Finals?" ("soft", "base", "raised", "mid") gen "You got it." ("grin", xpos="far_left", ypos="head") - gen "Time to put your game face on [cho_name]." ("base", xpos="far_left", ypos="head") + gen "Time to put your game face on, [name_cho_genie]." ("base", xpos="far_left", ypos="head") gen "I hope you've had some practice on that broom." ("base", xpos="far_left", ypos="head") - cho "I... Yes, you could say that." ("open", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "I... Yes, you could say that." ("open", "narrow", "base", "downR") gen "Great." ("base", xpos="far_left", ypos="head") gen "And what of our tactics?" ("base", xpos="far_left", ypos="head") - cho "*Huh*?" ("soft", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "*Huh*?" ("soft", "base", "base", "mid") gen "Did riding that thing make you forget about them?" ("base", xpos="far_left", ypos="head") - cho "Of course not!" ("clench", "narrow", "base", "R", cheeks="blush") - cho "\"Get close to the enemy team, and annoy Hermione as much as possible\"." ("open", "closed", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Of course not!" ("clench", "narrow", "base", "R") + cho @ cheeks blush "\"Get close to the enemy team, and annoy Hermione as much as possible\"." ("open", "closed", "angry", "mid") gen "Precisely!" ("grin", xpos="far_left", ypos="head") - cho "" ("soft", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "" ("soft", "narrow", "base", "mid") gen "If you do well enough, I'm confident we'll be victorious before the game even starts!" ("base", xpos="far_left", ypos="head") - cho "If we're lucky..." ("soft", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "If we're lucky..." ("soft", "narrow", "base", "downR") gen "Luckily for us -- Luck has got nothing to do with it this time." ("base", xpos="far_left", ypos="head") cho "{size=-4}Let's hope you're right...{/size}" ("annoyed", "narrow", "base", "downR") gen "Besides, we both know she can't take her eyes off of you, even if she wanted to." ("base", xpos="far_left", ypos="head") - cho "What's that supposed to mean?" ("angry", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "What's that supposed to mean?" ("angry", "wide", "base", "mid") menu: "-Tell Cho that she's obviously looking out for foul play-": - $ cho_hermione_affection = "neither" + $ states.cho.ev.quidditch.hermione_affection = "neither" gen "Err... To keep an eye out for any foul activity. Obviously." ("base", xpos="far_left", ypos="head") - cho "Foul play? What do you mean?" ("clench", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Foul play? What do you mean?" ("clench", "narrow", "base", "R") gen "Like someone smacking some Gryffinwhore's ass!" ("grin", xpos="far_left", ypos="head") - cho "Oh... As if I would ever pull a stunt like that..." ("base", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Oh... As if I would ever pull a stunt like that..." ("base", "narrow", "base", "R") gen "Isn't that the plan?" ("base", xpos="far_left", ypos="head") - cho "Oh, right..." ("soft", "base", "base", "mid", cheeks="blush") - gen "You seem oddly distracted today [cho_name]." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh, right..." ("soft", "base", "base", "mid") + gen "You seem oddly distracted today [name_cho_genie]." ("base", xpos="far_left", ypos="head") - "-Tell Cho that Hermione obviously Likes her-": #(Happens on cc_pf_strip_T2_intro_E3 which is mandatory so shouldn't need a check) - $ cho_hermione_affection = "hermione" + "-Tell Cho that Hermione obviously Likes her-": #(Happens on cc_pf_strip_T2_intro_E3 which is mandatory) + $ states.cho.ev.quidditch.hermione_affection = "hermione" gen "Isn't it obvious?" ("base", xpos="far_left", ypos="head") gen "The girl has been checking you out ever since she caught you in my office." ("base", xpos="far_left", ypos="head") - cho "W-what? That's nonsense!" ("disgust", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "W-what? That's nonsense!" ("disgust", "narrow", "base", "R") gen "Is it? Could've fooled me with how she reacted when you displayed that firm body of yours." ("base", xpos="far_left", ypos="head") - cho "But--" ("disgust", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "But--" ("disgust", "base", "base", "mid") gen "Especially once she saw those firm buns you grip that broom with." ("base", xpos="far_left", ypos="head") - cho "She- She looked at my--" ("mad", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "She- She looked at my--" ("mad", "narrow", "base", "mid") gen "Of course! Who wouldn't if a toned and hot young gal such as yourself stood in front of them." ("base", xpos="far_left", ypos="head") - cho "I... I have never thought that she--" ("disgust", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "I... I have never thought that she--" ("disgust", "narrow", "base", "down") gen "Now, now, there's no need to be overthinking it. Let's focus on responsibilities first, pleasantries second." ("base", xpos="far_left", ypos="head") - "-Tell Cho that she obviously likes Hermione-": #(Cho sees Hermione's Naked body even if it's Tonks transformed so shouldn't need a check) - $ cho_hermione_affection = "cho" + "-Tell Cho that she obviously likes Hermione-": #(Cho sees Hermione's Naked body when Tonks transforms) + $ states.cho.ev.quidditch.hermione_affection = "cho" gen "Is it really important to know why?" ("base", xpos="far_left", ypos="head") gen "We both know you enjoyed seeing her naked body as much as I did." ("base", xpos="far_left", ypos="head") - cho "N-No I did not!" ("angry", "happyCl", "angry", "mid", cheeks="blush") + cho @ cheeks blush "N-No I did not!" ("angry", "happyCl", "angry", "mid") gen "It's obvious... You should've seen your flustered face." ("base", xpos="far_left", ypos="head") gen "You could tell from a mile off with how much those cheeks lit up." ("base", xpos="far_left", ypos="head") - cho "B-but she's..." ("clench", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "B-but she's..." ("clench", "narrow", "base", "mid") gen "Such prejudice is unacceptable in my school, Miss Cho!" ("base", xpos="far_left", ypos="head") - cho "(That's not what I meant...)" ("disgust", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "(That's not what I meant...)" ("disgust", "narrow", "base", "R") gen "We'll get back to it later, for now though, let's focus on what's important." ("base", xpos="far_left", ypos="head") gen "Tomorrow's the day, the highlight of your career!" ("base", xpos="far_left", ypos="head") gen "Make sure to enjoy it, it's all downhill from there." ("base", xpos="far_left", ypos="head") - cho "Huh?" ("angry", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "Huh?" ("angry", "base", "raised", "mid") gen "Sports are all about money after all. Not everyone is prepared to get tossed around and transferred between different teams like property." ("base", xpos="far_left", ypos="head") - cho "Tossed around, [cho_genie_name]? I'm sorry, I'm a little confused..." ("disgust", "narrow", "base", "mid") + cho "Tossed around, [name_genie_cho]? I'm sorry, I'm a little confused..." ("disgust", "narrow", "base", "mid") gen "I know the feeling... Enough about that, you've got a game to win!" ("base", xpos="far_left", ypos="head") gen "Go-go Ravenclaw!" ("base", xpos="far_left", ypos="head") cho "Right..." ("disgust", "base", "base", "mid") @@ -87,8 +87,8 @@ label start_gryffindor_match: else: cho "Let's hope the weather stays like it is." ("soft", "base", "base", "R") - gen "Get yourself ready, [cho_name]." ("base", xpos="far_left", ypos="head") - gen "And remember, keep your eyes on the price!" ("base", xpos="far_left", ypos="head") + gen "Get yourself ready, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + gen "And remember, keep your eyes on the prize!" ("base", xpos="far_left", ypos="head") cho "The cup..." ("smile", "narrow", "base", "R") #stare, smile hide cho_main @@ -102,20 +102,37 @@ label start_gryffindor_match: call cho_walk(action="leave") - $ cho_busy = True + $ states.cho.busy = True $ cc_event_pause += 1 # Event starts on the next day $ cc_summon_pause += 1 # Can't be summoned until next event - $ cho_quid.lock_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.lock_practice = True - $ gryffindor_match = "start" + $ states.cho.ev.quidditch.gryffindor_stage = "start" jump end_cho_event #Next day #Cho flies up in the window and reminds genie about the game label gryffindor_match: + + label .introspection1: # not required, but added for clarity + + if _in_replay: + + show screen blkfade + with d5 + + $ game.gold = 1984 + $ game.day = 665 + $ game.daytime = True + $ game.weather = "clear" + call room("main_room") + + hide screen blkfade + with d5 + # Quidditch match: Ravenclaw vs. Gryffindor $ lun_outfit_last.save() @@ -137,47 +154,70 @@ label gryffindor_match: $ hermione_chibi.zorder = 6 $ genie_chibi.zorder = 5 - call play_music("day") + play music "music/Brittle Rille.ogg" fadein 1 if_changed gen "*Yawn*" ("base", xpos="far_left", ypos="head") - gen "(Alright then, time to get up and moving.)" ("base", xpos="far_left", ypos="head") - gen "(Today is going to be a good day, I can feel it in those old bones!)" ("grin", xpos="far_left", ypos="head") - gen "(Seeing Cho on that broom again, and wiping the smirk of Snape's smug face when she stomps those--)" ("grin", xpos="far_left", ypos="head") - call play_music("stop") + if _in_replay: + nar "Cho hovers on her broom outside the window, just below Genie's line of sight." + cho "(Oh coach...)" + cho "(I should have pushed harder on the broom being an issue earlier...)" - gen "(Hold on...)" ("base", xpos="far_left", ypos="head") + play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed - play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadein 1 fadeout 1 + cho "(How do I tell him that his plan isn't going to work?)" + cho "(But... What if he's got a backup plan?)" + cho "(I'll have to ask him!)" - gen "(The final match...)" ("base", xpos="far_left", ypos="head") - gen "{size=-4}*Murmur*...{w=0.4} I feel like I've forgotten something...{/size}" ("base", xpos="far_left", ypos="head") - gen "(Hold your carpets!)" ("angry", xpos="far_left", ypos="head") - gen "(Since it's the finals... That means no more matches!)" ("angry", xpos="far_left", ypos="head") - gen "(Cho won't have any more reason to let me coach her!)" ("angry", xpos="far_left", ypos="head") - gen "(I've been so focused on Snape and our stupid bet that I didn't even begin to see the bigger picture!)" ("base", xpos="far_left", ypos="head") - gen "(What good for is money when there's not a single brothel you can spend it at.)" ("base", xpos="far_left", ypos="head") - gen "(There's only so many sweets and clothes one can buy...)" ("base", xpos="far_left", ypos="head") - gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") - gen "(Perhaps I could pay her to--)" ("base", xpos="far_left", ypos="head") + cho "[name_genie_cho]!" - # Note: I've tried using chibis, but it's too difficult/buggy. + cho "(Wait, he's expecting me to drink the potion as a backup!)" + cho "(I'll just tell him I came to fetch--)" - #Cho appears in the window on her broom/knocks on door - #show image "ch_cho fly_window_masked" onlayer screens zorder 5 - #call cho_chibi("fly_window", "mid", "base") + gen "I'm such an idiot!" ("angry", xpos="far_left", ypos="head") - cho "[cho_genie_name]!" + cho "(Is he talking to himself?)" + cho "(I should say something, so he won't think I've been eavesdropping.)" - if cho_bj_choice == "points": - gen "(No, she got pissed when I offered points before.)" ("base", xpos="far_left", ypos="head") - gen "(Even now I can hear her calling me out, and who knows what she would do if I offered her real money...)" ("base", xpos="far_left", ypos="head") else: - gen "(Nah, I can hear her screaming at me in my head.)" ("base", xpos="far_left", ypos="head") - gen "(All she cares about is that broomstick sport of hers.)" ("base", xpos="far_left", ypos="head") + gen "(Alright then, time to get up and moving.)" ("base", xpos="far_left", ypos="head") + gen "(Today is going to be a good day, I can feel it in those old bones!)" ("grin", xpos="far_left", ypos="head") + gen "(Seeing Cho on that broom again, and wiping the smirk off Snape's smug face when she stomps those--)" ("grin", xpos="far_left", ypos="head") - gen "I'm such an idiot!" ("angry", xpos="far_left", ypos="head") # Says out loud - cho "Hey, [cho_genie_name]!" + stop music fadeout 1 + + gen "(Hold on...)" ("base", xpos="far_left", ypos="head") + + play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + + gen "(The final match...)" ("base", xpos="far_left", ypos="head") + gen "{size=-4}*Murmur*...{w=0.4} I feel like I've forgotten something...{/size}" ("base", xpos="far_left", ypos="head") + gen "(Hold your carpets!)" ("angry", xpos="far_left", ypos="head") + gen "(Since it's the finals... That means no more matches!)" ("angry", xpos="far_left", ypos="head") + gen "(Cho won't have any more reason to let me coach her!)" ("angry", xpos="far_left", ypos="head") + gen "(I've been so focused on Snape and our stupid bet that I didn't even begin to see the bigger picture!)" ("base", xpos="far_left", ypos="head") + gen "(What good for is money when there's not a single brothel you can spend it at.)" ("base", xpos="far_left", ypos="head") + gen "(There's only so many sweets and clothes one can buy...)" ("base", xpos="far_left", ypos="head") + gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") + gen "(Perhaps I could pay her to--)" ("base", xpos="far_left", ypos="head") + + # Note: I've tried using chibis, but it's too difficult/buggy. + + #Cho appears in the window on her broom/knocks on door + #show image "ch_cho fly_window_masked" onlayer screens zorder 5 + #call cho_chibi("fly_window", "mid", "base") + + cho "[name_genie_cho]!" + + if states.cho.ev.suck_it.variant == "points": + gen "(No, she got pissed when I offered points before.)" ("base", xpos="far_left", ypos="head") + gen "(Even now I can hear her calling me out, and who knows what she would do if I offered her real money...)" ("base", xpos="far_left", ypos="head") + else: + gen "(Nah, I can hear her screaming at me in my head.)" ("base", xpos="far_left", ypos="head") + gen "(All she cares about is that broomstick sport of hers.)" ("base", xpos="far_left", ypos="head") + + gen "I'm such an idiot!" ("angry", xpos="far_left", ypos="head") # Says out loud + cho "Hey, [name_genie_cho]!" cho "The game is about to start... You're going to be late!" gen "W-What..." ("base", xpos="far_left", ypos="head") @@ -190,10 +230,15 @@ label gryffindor_match: call gen_chibi("stand_alt") with d3 - gen "[cho_name]?" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie]?" ("base", xpos="far_left", ypos="head") gen "What are you doing in here?" ("base", xpos="far_left", ypos="head") gen "Or rather, what are you doing {i}out there{/i}, outside my window?" ("base", xpos="far_left", ypos="head") - cho "I flew up here to remind you about the finals, [cho_genie_name]." + + if _in_replay: + cho "(I screwed up the whole plan, I poured out the potion you left for me, the broom isn't working, and my world is crumbling to pieces!)" + cho "(...)" + + cho "I flew up here to remind you about the finals, [name_genie_cho]." gen "Ah yes, I suppose I better get going..." ("base", xpos="far_left", ypos="head") call gen_chibi("stand") # Genie slowly walks away. @@ -205,7 +250,7 @@ label gryffindor_match: call chibi_emote("hide", "genie") gen "Yeah, good luck..." ("base", xpos="far_left", ypos="head") call gen_walk(xpos="mid", ypos="base", speed=0.75) - cho "Are you alright, [cho_genie_name]?" + cho "Are you alright, [name_genie_cho]?" gen "It's nothing, don't worry about it..." ("base", xpos="far_left", ypos="head") gen "Meet you at the pitch." ("base", xpos="far_left", ypos="head") cho "Alright... See you at the pitch then." @@ -218,21 +263,21 @@ label gryffindor_match: #Cho flies off - # gen "(...{w=0.5} Well then, I suppose I better get going, I've still got that prize money to look forward to if she wins...)" ("base", xpos="far_left", ypos="head") - # gen "(I guess...)" ("base", xpos="far_left", ypos="head") - - #Black screen - + #Blackfade show screen blkfade with d5 - call play_music("stop") + stop music fadeout 1 - call play_sound("grass") - call nar(">You begin making your way down to the pitch.") - call nar(">After struggling to navigate the Great staircase and the indistinguishable corridors, you finally find the way to the entrance of the pitch.") - call nar(">Reaching the entrance, you hear the murmurs of the crowd die down, signalling that the match is about to begin.") - call nar(">You quickly climb the steep staircase up the commentator's tower.") + # Used in Quidditch Outro + if _in_replay: + return + + play sound "sounds/steps_grass.ogg" + nar "You begin making your way down to the pitch." + nar "After struggling to navigate the Great staircase and the indistinguishable corridors, you finally find the way to the entrance of the pitch." + nar "Reaching the entrance, you hear the murmurs of the crowd die down, signalling that the match is about to begin." + nar "You quickly climb the steep staircase up the commentator's tower." #Pitch Background sun high variant, Snape is at the podium with Hermione to the side of him. Tonks is at the back #Genie appears at the back @@ -242,7 +287,7 @@ label gryffindor_match: call ton_chibi("stand", 212, 318, flip=True) call sna_chibi("stand", 280, 400, flip=True) call her_chibi("stand", 260, 440, flip=True) - play bg_sounds "sounds/crowd_very_low.ogg" fadein 10 + play background "sounds/crowd_very_low.ogg" fadein 10 with d5 pause 0.5 @@ -253,7 +298,7 @@ label gryffindor_match: ton "{size=-4}Thank Merlin, you're here...{/size}" ("normal", "base", "shocked", "R", ypos="head", flip=True) #whisper #genie walks next to Tonks # <- Not possible to do. ton "{size=-4}Where have you been?{/size}" ("open", "base", "base", "mid") #whisper - gen "{size=-4}You'd think that in a place of magic there'd be some better means of transport than simply walking...{/size}" ("base", xpos="far_left", ypos="head") #whisper + gen "{size=-4}You'd think that in a place of magic, there'd be some better means of transport than simply walking...{/size}" ("base", xpos="far_left", ypos="head") #whisper gen "{size=-4}What's Snape doing?{/size}" ("base", xpos="far_left", ypos="head") #whisper #Snape middle of the screen standing sna "And seeing that our dear headmaster couldn't make it today, it's fallen upon me--" ("snape_24", flip=True, xpos=340, ypos="base", trans=d5) @@ -266,7 +311,7 @@ label gryffindor_match: with d3 #Genie walks down to the podium next to Hermione - call nar(">You walk up to Hermione and notice that she is looking tentatively at whatever Snape is trying to achieve.") + nar "You walk up to Hermione and notice that she is looking tentatively at whatever Snape is trying to achieve." menu: "-Slap her ass-": @@ -275,7 +320,7 @@ label gryffindor_match: "-Give her a headpat-": pass - $ renpy.sound.play("sounds/gasp3.ogg") + play sound "sounds/gasp3.ogg" pause 0.5 call gen_chibi("stand", 170, 435, flip=True) @@ -304,9 +349,9 @@ label gryffindor_match: #Team introductions #microphone feedback - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" gen "Ladies and gentlemen!" ("base", xpos="far_left", ypos="head") - gen "*Ahem*...{w=0.4} One moment please." ("base", xpos="far_left", ypos="head") + gen "*Ahem*...{w=0.4} One moment, please." ("base", xpos="far_left", ypos="head") #Genie turns back to Tonks call gen_chibi("stand", 280, 400, flip=False) @@ -324,8 +369,8 @@ label gryffindor_match: hide screen genie_main with d3 pause .8 - $ renpy.sound.play("sounds/killswitch_on.ogg") - stop bg_sounds fadeout 3.0 + play sound "sounds/killswitch_on.ogg" + stop background fadeout 3.0 hide screen blktone call quidditch_stands(spotlight=True) pause 1.5 @@ -333,19 +378,19 @@ label gryffindor_match: sna "Dear lord... Always with the dramatics..." ("snape_06", xpos="base", ypos="head", flip=False) gen "" ("base", xpos=0, ypos="base") - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "*Ahem*...{w=0.4}{nw}" ("grin") - $ renpy.sound.play("sounds/microphone_feedback2.ogg") + play sound "sounds/microphone_feedback2.ogg" gen "*Ahem*...{fast} Testing, testing, is this thing still on?" ("grin") sna "..." ("snape_11", xpos="base", ypos="head", flip=False) gen "Perfect!" ("grin") - play bg_sounds "music/fanfare.ogg" fadeout 3 fadein 1.0 + play background "music/fanfare.ogg" fadeout 3 fadein 1.0 gen "Now, this is it ladies and gentlemen!" ("grin") gen "The most important game of these incredible athletes' careers!" ("open") @@ -357,14 +402,14 @@ label gryffindor_match: #murmurs call quidditch_stands(crowd_react=["emoq", "qu", None]) - $ renpy.sound.play("sounds/murmur.ogg") + play sound "sounds/murmur.ogg" gen "Now, let's welcome and give it up for our first team!" ("open") call quidditch_stands(crowd_react=[None, None, None]) gen "Team Gryffindor!" ("open") #cheers call quidditch_stands(crowd_react=["emo8", "th", "emo8"]) - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" pause 2.0 call quidditch_stands(crowd_react=[None, None, None]) @@ -373,7 +418,7 @@ label gryffindor_match: #cheers call quidditch_stands(crowd_react=["emo8", "sal", "emo8"]) - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" pause 2.0 call quidditch_stands(crowd_react=[None, None, None]) @@ -381,20 +426,20 @@ label gryffindor_match: #cheers call quidditch_stands(crowd_react=["emo8", "sal", "emo8"]) - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" pause 2.0 call quidditch_stands(crowd_react=[None, None, None]) gen "And lest we forget the twins, now walking onto the pitch--" ("open") - gen "{size=-4}Psst... [hermione_name], what were their names again?{/size}" ("base") + gen "{size=-4}Psst... [name_hermione_genie], what were their names again?{/size}" ("base") her "The Beaters? Fred and--" ("open", "happy", "base", "mid", xpos="base", ypos="head", flip=False) - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" #cheers call quidditch_stands(crowd_react=["emo8", "emo7", "qu"]) - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" gen "{size=+2}{i}The beater{/i} brothers!{/size}" ("open") @@ -404,17 +449,17 @@ label gryffindor_match: gen "{size=-4}What position were they again?{/size}" ("base") her "That's what I--" ("angry", "narrow", "base", "mid") - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" gen "{size=+2}Hold on, the next guy is coming up...{/size}" ("base") #gasp - $ renpy.music.set_volume(0.0, delay=2.0, channel="bg_sounds") + $ renpy.music.set_volume(0.0, delay=2.0, channel="background") pause 1.0 gen "It's...{w=0.4} *Err*...{w=0.4} You know who!{w=0.3}{nw}" ("open") - $ renpy.music.set_pause(True, channel="bg_sounds") - $ renpy.sound.play("sounds/crowd_gasp.ogg") + $ renpy.music.set_pause(True, channel="background") + play sound "sounds/crowd_gasp.ogg" call quidditch_stands(crowd_react=["excl", "emo8", "excl"]) gen "It's... *Err*... You know who!{fast}" ("base") @@ -423,15 +468,15 @@ label gryffindor_match: gen "What?{w} Not a fan?" ("base") call quidditch_stands(crowd_react=[None, None, None]) - $ renpy.music.set_pause(False, channel="bg_sounds") - $ renpy.music.set_volume(1.0, delay=1.0, channel="bg_sounds") + $ renpy.music.set_pause(False, channel="background") + $ renpy.music.set_volume(1.0, delay=1.0, channel="background") - gen "Don't listen to them boy. Just get out there and show who's boss, boss man!" ("base") + gen "Don't listen to them, boy. Just get out there and show who's boss, boss man!" ("base") her "..." ("disgust", "happy", "worried", "mid") gen "And now... Last but not least, who else but the Potter boy!" ("base") call quidditch_stands(crowd_react=["emo8", "th", "emo8"]) - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" gen "Yeah! We all know that guy!" ("grin") call quidditch_stands(crowd_react=[None, "excl", None]) @@ -463,7 +508,7 @@ label gryffindor_match: call ton_chibi("stand", 250, 380, flip=True) call gen_chibi("stand", 280, 400, flip=False) call her_chibi("stand", 260, 440, flip=True) - $ renpy.sound.play("sounds/killswitch_off.ogg") + play sound "sounds/killswitch_off.ogg" call quidditch_stands(spotlight=False) hide genie with d3 @@ -471,28 +516,28 @@ label gryffindor_match: pause 0.5 gen "But I haven't gotten to the good part yet!" ("angry", xpos="far_left", ypos="head") - ton "*piercing gaze*" ("normal", "narrow", "annoyed", "mid", hair="upset") #The look + ton @ hair upset "*piercing gaze*" ("normal", "narrow", "annoyed", "mid") #The look gen "Fine..." ("base") call ton_chibi("stand", 250, 380, flip=True) call gen_chibi("stand", 280, 400, flip=True) call her_chibi("stand", 260, 440, flip=True) - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" call quidditch_stands(spotlight=True) with d3 gen "" (xpos=0, ypos="base") - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "Go team, go Tune Squad!" ("grin") hide genie with d3 gen "" (xpos="far_left", ypos="head") - play bg_sounds "sounds/crowd_low.ogg" fadein 5 fadeout 5 - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play background "sounds/crowd_low.ogg" fadein 5 fadeout 5 + play sound "sounds/crowd_cheer.ogg" - $ renpy.sound.play("sounds/killswitch_off.ogg") + play sound "sounds/killswitch_off.ogg" call quidditch_stands(spotlight=False) pause 1 @@ -517,9 +562,9 @@ label gryffindor_match: hide hermione_main with d3 - $ renpy.sound.play("sounds/crowd_cheer2.ogg") + play sound "sounds/crowd_cheer2.ogg" call quidditch_stands(crowd_react=["emo8", "th", "emo8"]) - ">Cheering from the Ravenclaw students erupts but is soon drowned out by excessive booing and jeering from the Slytherin crowd." + nar "Cheering from the Ravenclaw students erupts, but is soon drowned out by excessive booing and jeering from the Slytherin crowd." call quidditch_stands(crowd_react=[None, None, None]) gen "{size=-4}Why'd you cut me off like that?{/size}" ("base", xpos="far_left", ypos="head") #Whisper @@ -527,7 +572,7 @@ label gryffindor_match: gen "{size=-4}What's up with him?{/size}" ("base", xpos="far_left", ypos="head") ton "{size=-4}Trust me...{w=0.4} It was for your own good.{/size}" ("soft", "narrow", "base", "R") sna "{size=-4}\"He never stops talking about him\" he says...\n{/size}{w=0.4}How {w=0.2}{size=+4}{b}dare{/b}{/size} {w=0.2}you--" ("snape_12") - ton "{size=-2}Let's just focus on the game shall we?{/size}" ("open", "base", "raised", "R") + ton "{size=-2}Let's just focus on the game, shall we?{/size}" ("open", "base", "raised", "R") sna "Fine...{w=0.4} Count yourself lucky our bet is still up." ("snape_01") gen "I don't doubt you've got some filthy tricks up your sleeves again." ("base", xpos="far_left", ypos="head") sna "Says you." ("snape_39") @@ -535,75 +580,103 @@ label gryffindor_match: gen "{size=+4}Don't play dumb with me. Tell me what you're planning!{/size}" ("angry", xpos="far_left", ypos="head") sna "As I said--" ("snape_01") ton "*Sigh*...{w=0.4} You boys and your silly bets." ("open", "narrow", "shocked", "downR") + + label .introspection2: + + if _in_replay: + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 667 + $ game.daytime = True + $ game.weather = "clear" + $ snape_chibi.zorder = 3 + $ tonks_chibi.zorder = 4 + call room("quidditch_stands",) + call quidditch_stands(weather="sun_high", crowd=crowd_full) + call sna_chibi("stand", 150, 290, flip=True) + call ton_chibi("stand", 130, 310, flip=True) + call gen_chibi("stand", 168, 326, flip=True) + call her_chibi("stand", 300, 400, flip=True) + + play background "sounds/crowd_low.ogg" fadein 1 fadeout 5 + + hide screen blkfade + with d5 + her "--And finally, making their way onto the pitch..." ("angry", "happy", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) her "The Ravenclaw seeker...{w=0.6}{nw}" ("open", "base", "base", "L") - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo8"]) her "The Ravenclaw seeker...{fast} Cho Chang!" ("scream", "base", "base", "L") her "Hold on...{w=0.4} Why is she already on her broom?" ("disgust", "happy", "base", "L") - ">You look down the pitch, and watch Cho as she slowly hovers up to her team, smiling awkwardly towards Madam Hooch." + nar "You look down the pitch, and watch Cho as she slowly hovers up to her team, smiling awkwardly towards Madam Hooch." - $ renpy.sound.play("sounds/crowd_cheer2.ogg") + play sound "sounds/crowd_cheer2.ogg" "The Crowd" "Cho! Cho! Cho!" - her "*Hmph*...{w=0.4} It appears some of us aren't here just for sports." ("open", "squint", "annoyed", "L", cheeks="blush") + # Used in Quidditch Outro + if _in_replay: + return + + her @ cheeks blush "*Hmph*...{w=0.4} It appears some of us aren't here just for sports." ("open", "squint", "annoyed", "L") call quidditch_stands(crowd_react=[None, None, None]) sna "She sure has become quite popular amongst the students hasn't she." ("snape_37") - ton "*Mhmm* And not just amongst students..." ("horny", "narrow", "base", "stare", hair="horny") + ton @ hair horny "*Mhmm* And not just amongst students..." ("horny", "narrow", "base", "stare") #Whistling (catcalling) - $ renpy.sound.play("sounds/wolf_whistle.ogg") + play sound "sounds/wolf_whistle.ogg" call quidditch_stands(crowd_react=[None, "emo7", None]) mal "Show us your tits!" - her "Settle down, please." ("open", "squint", "annoyed", "L", cheeks="blush") + her @ cheeks blush "Settle down, please." ("open", "squint", "annoyed", "L") - $ renpy.sound.play("sounds/wolf_whistle2.ogg") + play sound "sounds/wolf_whistle2.ogg" call quidditch_stands(crowd_react=["emo8", None, None]) fem "Shake that booty, sister!" - stop bg_sounds fadeout 3.0 - call play_sound("kick") + stop background fadeout 3.0 + play sound "sounds/kick.ogg" with hpunch - play bg_sounds "sounds/wind_long_loop.ogg" fadein 3 fadeout 2 + play background "sounds/wind_long_loop.ogg" fadein 3 fadeout 2 call quidditch_stands(crowd_react=[None, None, None]) - her "{size=+10}Quiet!{/size}" ("scream", "closed", "angry", "L", cheeks="blush") #big text + her @ cheeks blush "{size=+10}Quiet!{/size}" ("scream", "closed", "angry", "L") #big text #crowd dies down - her "" ("normal", "narrow", "angry", "L", cheeks="blush") #big text - $ renpy.sound.play("sounds/cough_male.ogg") + her @ cheeks blush "" ("normal", "narrow", "angry", "L") #big text + play sound "sounds/cough_male.ogg" mal "..." - her "Good." ("grin", "base", "base", "L", cheeks="blush") - her "Then perhaps we could get to watching some actual Quidditch today." ("grin", "base", "base", "L", cheeks="blush") + her @ cheeks blush "Good." ("grin", "base", "base", "L") + her @ cheeks blush "Then perhaps we could get to watching some actual Quidditch today." ("grin", "base", "base", "L") her "Madam Hooch, when you're ready." ("open", "squint", "base", "L") pause 1 #Whistle sound - $ renpy.sound.play("sounds/referee.ogg") - play bg_sounds "sounds/crowd_very_low.ogg" fadein 5 fadeout 5 - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play sound "sounds/referee.ogg" + play background "sounds/crowd_very_low.ogg" fadein 5 fadeout 5 + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed pause .4 hide hermione_main with d3 - ">As the balls are released, Cho shoots straight up into the air to get an overview of the game." + nar "As the balls are released, Cho shoots straight up into the air to get an overview of the game." sna "Already up to her usual schemes I see..." ("snape_03") gen "You bet." ("grin", xpos="far_left", ypos="head") gen "(Let's hope she's had enough practice, bonding with that broom...)" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" her "Katie Bell, of course, has already gotten a hold of the quaffle, and is speeding up towards Ravenclaw's side of the pitch!" ("grin", "squint", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) her "Davies is moving up to intercept--{w=0.2}" ("angry", "squint", "base", "L") #her "Watch out Katie!!" ("base", "base", "base", "mid") # Confusing. #Hit sound #crowd groan - $ renpy.sound.play(["sounds/card_punch4.ogg", "sounds/crowd_ouch.ogg"]) + play sound ["sounds/card_punch4.ogg", "sounds/crowd_ouch.ogg"] with hpunch pause 1.0 @@ -611,28 +684,19 @@ label gryffindor_match: hide hermione_main with d3 - ton "{size=-4}She's sure improved a lot on her commentating since the first game.{/size}" ("base", "narrow", "base", "R") #whisper + ton "{size=-4}She's sure improved a lot on her commentating since the first game.{/size}" ("base", "narrow", "base", "R", xpos="far_right", ypos="head", flip=False) #whisper sna "{size=-4}She's clearly got a bias towards her own house...{/size}" ("snape_01") ton "{size=-4}Don't you start--{/size}" ("soft", "narrow", "annoyed", "R") - ">Ignoring the two, you look up towards Cho who is fidgeting around a bit on her new broom." + nar "Ignoring the two, you look up towards Cho who is fidgeting around a bit on her new broom." ton "{size=-4}Didn't you give some Slytherin girl fifty points the other night--{/size}" ("soft", "narrow", "annoyed", "R") sna "{size=-4}*Ahem*...{w=0.4} Voice down, please {b}Nymphadora{/b}.{/size}" ("snape_14") - ton "{nw}" ("mad", "wide", "annoyed", "stare", xpos="far_right", ypos=200) #fuming - $ tonks.animation = shake - $ renpy.sound.play("sounds/kettle.ogg") - $ tonks.set_body_hue(280) # Turn tonks purple - with Dissolve(3.0) - pause 3.0 - hide tonks_main - #ton "" ("base", "base", "base", "mid") - sna "..." ("snape_25") #Oh shit... face - ton "What did I tell you about calling me--" ("mad", "wide", "annoyed", "mid", xpos="far_right", ypos=200) + $ tonks.set_body_hue(280) + play sound "sounds/kettle.ogg" + ton "What did I tell you about calling me--" ("mad", "wide", "annoyed", "mid", animation=shake) with d9 #fuming gen "I'm trying to watch the game here..." ("base", xpos="far_left", ypos="head") - $ tonks.animation = None $ tonks.set_body_hue(0) - with d9 - ton "He started it..." ("mad", "narrow", "annoyed", "mid", ypos="head") + ton "He started it..." ("mad", "narrow", "annoyed", "mid", animation=None) sna "No, you did!" ("snape_17") gen "*Sigh* Like children." ("base", xpos="far_left", ypos="head") @@ -644,7 +708,7 @@ label gryffindor_match: #Set background to sun low call quidditch_stands(weather="sun_low") - ">Some time passes and you watch Gryffindor score even more goals as Cho fruitlessly tries to get comfortable on her broom." + nar "Some time passes and you watch Gryffindor score even more goals as Cho fruitlessly tries to get comfortable on her broom." hide screen blkfade with d5 @@ -652,130 +716,405 @@ label gryffindor_match: #Fade back to pitch sna "What's she up to anyway? She looks like a niffler who's got caught stealing their grandmother's brooch." ("snape_01") - gen "(Come on, girl...{w=0.4} Focus.)" ("base", xpos="far_left", ypos="head") - gen "(Get that broom going...)" ("base", xpos="far_left", ypos="head") - ">Cho, frustrated in a multitude of ways, looks down towards you in desperation." - menu: - "-Give her a sign-": - ">You begin moving one of your hands in a spanking motion." - ">Her expression changes as she stares at you in confusion." - ">You put your other hand out over what could only be described as an imaginary ass and begin spanking the air violently." - ton "Professor?" ("soft", "base", "raised", "mid") #Confused + label .introspection3: - "-Point towards the Gryffindor players-": - ">You point towards the Gryffindor side of the pitch." - ">Cho looks at you confused, and then points towards that side as well." - ">Shaking your head, you point towards one of the female players." + if _in_replay: - "-Give her a seductive look-": - ">You begin fluttering your eyelashes up towards Cho." - ">She looks down at you in confusion." - ">You lick your lips and give her a wink." - ">Looking at you in horror for a brief moment, she then finally understands what you were trying to say." + #Shifts to new view of Cho Doll flying in the air (her perspective when genie starts gesticulating wildly to have her spank the enemy on their ass) + # TODO: No idea what view is supposed to be. - ">Cho gives you a quick nod and then flies up towards one of the Gryffindor chasers who has positioned themselves near the Ravenclaw goalposts." - her "Johnson passing to Spinnet--" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) - #Spank sound - call play_sound("slap") - "*Smack*!!" - her "What the--" ("soft", "wide", "base", "up", cheeks="blush") - her "What is Cho doing?" ("disgust", "wide", "base", "up", cheeks="blush") + show screen blkfade + with d5 - hide hermione_main - with d3 + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 667 + $ game.daytime = True + $ game.weather = "clear" + $ snape_chibi.zorder = 3 + $ tonks_chibi.zorder = 4 + call room("quidditch_stands",) + call quidditch_stands(weather="sun_high", crowd=crowd_full) + call sna_chibi("stand", 150, 290, flip=True) + call ton_chibi("stand", 130, 310, flip=True) + call gen_chibi("stand", 168, 326, flip=True) + call her_chibi("stand", 300, 400, flip=True) - #Hermione turns around - call her_chibi("stand", 300, 400, flip=False) - with d3 + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + play background "sounds/crowd_low.ogg" fadein 1 fadeout 5 - her "Sir!" ("disgust", "narrow", "annoyed", "mid", cheeks="blush", xpos=290, ypos="base", flip=False, trans=d5) - her "She--{w=0.2} She smacked one of the chasers on the bum..." ("angry", "happy", "annoyed", "mid", cheeks="blush") - her "Sir, you can't let her get away with this!" ("clench", "happy", "annoyed", "mid", cheeks="blush") - gen "I'm not hearing any objections from the referee...{w=0.5} Or the player, matter-of-factly..." ("base", xpos="far_left", ypos="head") - gen "Unless she used her elbows, that's not against the rules." ("base", xpos="far_left", ypos="head") - her "But...{w=0.4} Sir!" ("disgust", "base", "annoyed", "mid", cheeks="blush") - gen "I didn't write the rules, Miss Granger..." ("base", xpos="far_left", ypos="head") - her "*Tsk*..." ("soft", "happy", "angry", "R", cheeks="blush") + hide screen blkfade + with d5 - hide hermione_main - with d3 + cho "(Come on... This stupid broom!)" + cho "(Get it going already!)" + cho "(Why...{w=0.4} Can't...{w=0.4} I...{w=0.6} Get Horny!!)" - call her_chibi("stand", 300, 400, flip=True) - with d3 + nar "Cho, frustrated in a multitude of ways, looks down towards the commentator's tower in desperation." + nar "She notices her coach making funny faces and gesticulating wildly." - ">Hermione gritting her teeth holds back her anger, and eventually resumes commentating the game." - ">Looking up at Cho, you see a mix of frustration and worry across her face as she flies off again." + cho "(What is he doing...)" + cho "(Oh! The other part of our plan! Get close to the enemy team!)" - gen "{size=-4}Damn it...{/size}" ("base", xpos="far_left", ypos="head") #whisper - sna "{size=-4}Miss Chang isn't doing so well this time is she?{/size}" ("snape_05") #whisper - sna "{size=-4}It appears your feeble attempts at riling up Miss Granger were in vain.{/size}" ("snape_37") #whisper - gen "{size=-4}How did you--{/size}" ("angry", xpos="far_left", ypos="head") #whisper - sna "{size=-4}Why, you were the one that told me about their contempt for each other when we made our little bet.{/size}" ("snape_02") #whisper - gen "..." ("base", xpos="far_left", ypos="head") - ton "*Hmm*?" ("soft", "base", "base", "R") - sna "{size=-4}That little witch has successfully been making my life a misery since the moment she got here.{/size}" ("snape_01") - sna "{size=-4}To think that Miss Chang would be able to rile her up...{/size}" ("snape_37") - her "Another goal for Team Gryffindor!" ("crooked_smile", "happy", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) + show screen blkfade + with d5 - #crowd cheer - $ renpy.sound.play("sounds/crowd_cheer.ogg") - call quidditch_stands(crowd_react=["th", None, "emo8"]) + stop background fadeout 1 - sna "Go-Go Gryffindor..." ("snape_37") #Smugface, out loud - call quidditch_stands(crowd_react=[None, None, None]) - her "And with such a steady lead, soon it won't even matter if Ravenclaw catches the snitch or not!" ("smile", "base", "base", "L") + nar "Cho gets close to one of the enemy chasers, Katie Bell." - hide hermione_main - with d3 + cho "Hey Katie!" + "Katie" "Not now Cho, I'm a little busy if you haven't noticed!" + cho "Cannot say that I have. All I see is you staring at Alicia's butt." + "Katie" "Are you trying to piss me off, little raven?" + cho "So what if I am?" + "Katie" "Nice try, but I won't lose my temper, unlike you, I am trying to win this game--" - gen "Hold the fuck up." ("angry", xpos="far_left", ypos="head") - gen "No one has told me that's a thing! I thought the rules were set up in favour of the protagonist!" ("angry", xpos="far_left", ypos="head") + #Spank sound + play sound "sounds/slap_02.ogg" + "*Smack*!!" with hpunch + + nar "Cho smacks Katie on her shapely bum." + "Katie" "*Owww*!!" + play sound "sounds/giggle2_loud.ogg" + cho "*Imitates Katie's voice* \"Ohh yes Alicia, please spank me harder\"!" + "Katie" "H-How--" + nar "Cho grins at her briefly, then swiftly flies away." + "Katie" "Why you little--" + + play sound "sounds/giggle2.ogg" + + nar "Katie dashes after Cho." + "Katie" "Come back here, I'm not done with you!" + + play background "sounds/crowd_low.ogg" fadein 1 fadeout 5 + hide screen blkfade + with d3 + + #Hermione turns around + call her_chibi("stand", 300, 400, flip=False) + with d3 + + "Hermione" "Sir!" + cho "(Finally! That's done it!)" + "Hermione" "*inaudible*" + cho "(Look at her going, she's bound to distract her team for me!)" + gen "*Shrugs*" + "Hermione" "*inaudible shouting*" + + call her_chibi("stand", 300, 400, flip=True) + with d3 + + nar "Hermione gritting her teeth holds back her anger, and eventually resumes commentating the game." + + #Shifts to screen of Cho Doll flying in the air + + show screen blkfade + with d5 + + nar "Cho is being chased by Katie, but not for long, as Angelina's attention turns to them." + "Angelina" "What the hell are you doing, Katie?!" + "Katie" "N-Nothing, I'm just--" + "Angelina" "I don't wanna hear it, just get back to the game!" + "Katie" "... Yes ma'am." + nar "Katie gives up the chase, glaring daggers at Cho." + + cho "(What the--)" + cho "(It didn't work!?!)" + cho "(Our Plan! What am I supposed to do now?!)" + + hide screen blkfade + with d5 + + call chibi_emote("thought", "genie") + call chibi_emote("thought", "snape") + + nar "Cho looks down towards her Coach, who appears to be in some sort of argument with Professor Snape." + + call chibi_emote("hide", "genie") + call chibi_emote("hide", "snape") + + "Hermione" "Another goal for Team Gryffindor!" + + cho "(Another goal!)" #Worried + "Hermione" "And with such a steady lead, soon it won't even matter if Ravenclaw catches the snitch or not!" + nar "Moving her gaze away from her coach, Cho briefly locks eyes with Hermione." + cho "(Stupid bitch!)" + cho "(Stupid broom!)" + cho "(Now where's that--{w=0.4} Stupid--{w=0.4} snitch!?)" + + show screen blkfade + with d5 + + nar "Cho begins to feverishly look around for the snitch, her eyes darting around the pitch." + nar "Unable to locate it, she looks back towards the commentator's tower for assistance." + + call gen_chibi("hide") + + hide screen blkfade + with d5 + + cho "(Where did he vanish?!)" + + "Hermione" "A fantastic--{w=0.4} Hold on...{w=0.4} What's that on the pitch? Is that--" + + nar "Cho watches her coach dash through the pitch with inhuman speed." + + cho "(What the--{w=0.4} Where's he going?)" + + pause 0.3 + + call room("quidditch_stands2") + call quidditch_stands2(weather="sun_low", crowd=crowd_full) + call lun_chibi(xpos=620, ypos=400) + play background "sounds/crowd_low.ogg" fadein 1 fadeout 5 + show image Transform("images/misc/redhead.webp", zoom=0.26, pos=(805, 240), xzoom=-1) as redhead zorder 2 + show screen blkfade + with ComposeTransition(pushleft, before=faderight) + hide screen blkfade + with ComposeTransition(pushleft, after=faderight) + + #Camera transitions and Genie appears in Luna's tower on the opposite side of the pitch + + play sound "sounds/run_02.ogg" + pause 1.5 + + call gen_chibi("stand", 780, 480, flip=False) + with d3 + call gen_walk(xpos=740, ypos=470) + + pause 0.5 + + call gen_chibi(flip=True) + with d3 + + cho "(Is he talking to Gi--)" + cho "(Hold on... What's that thing near the balustrade... Is that... Luna?!)" + + lun "*Waves at Cho*" ("grin", "happyCl", "base", "mid", xpos="right", ypos="base", trans=d3) + + $ luna.hide() + with d3 + + cho "(What is she wearing?!)" + + #Genie walks down to Luna. + call gen_walk(xpos=650, ypos=430) + + #Hit sound + play sound "sounds/ball_hit.ogg" + + "Hermione" "Ouch... What a blunder! Surely he should've seen that coming!" #big text + gen "*Inaudible*" + "Hermione" "Katie Bell passing to Alicia Spinnet..." #text larger + cho "(Oh right, I did ask him to get someone to cheer for me...)" + "Hermione" "Expertly dodging a bludger..." #text larger + cho "(...)" + "Hermione" "Coming up towards the goal..." #text larger + cho "(To think he'd go so far as asking Loony Luna...)" + "Hermione" "Gryffindor!" #text larger + cho "(He still believes I can do it without the potion...)" + + nar "Staring into the distance, Cho begins shuffling on her broom, thinking hard on what to do..." + + cho "(If I can't get this stupid broom going... Then what else could I do...)" + + #Cut to cho Doll flying + + nar "Glancing towards the commentator booth, Cho's eyes are once again drawn towards Hermione, who is grinning from ear to ear, and jumping on the spot excitedly." + nar "Cho moves her gaze away from Hermione angrily, promptly staring into space, trying to figure out what to do next." + + cho "(Think, Cho... Think...)" + cho "(What would coach tell me to do...)" #closes eyes to think + + # Note: We need to make a call because we already are in Replay scope + call cc_pf_strip_T2_intro_E1.introspection + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ cho.set_pose("broom") + $ cho.animation = sprite_fly_idle + $ game.gold = 1984 + $ game.day = 667 + call room("quidditch_stands2") + call quidditch_stands2(weather="sun_low", crowd=crowd_full) + call lun_chibi(xpos=620, ypos=400) + show image Transform("images/misc/redhead.webp", zoom=0.26, pos=(805, 240), xzoom=-1) as redhead zorder 2 + call gen_chibi("stand", 650, 430, flip=False) + play background "sounds/crowd_low.ogg" fadein 1 fadeout 5 + + hide screen blkfade + with d5 + + cho "(That's not it...)" #blush, open eyes + "Hermione" "{{Gryffindor scores another goal!}" + + play sound "sounds/crowd_cheer.ogg" + + cho "..." #angry #eyes closed + + call cc_pf_blowjob_T3_intro_E1.introspection + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ cho.set_pose("broom") + $ cho.animation = sprite_fly_idle + $ game.gold = 1984 + $ game.day = 667 + call room("quidditch_stands2") + call quidditch_stands2(weather="sun_low", crowd=crowd_full) + call lun_chibi(xpos=620, ypos=400) + show image Transform("images/misc/redhead.webp", zoom=0.26, pos=(805, 240), xzoom=-1) as redhead zorder 2 + call gen_chibi("stand", 650, 430, flip=False) + + hide screen blkfade + with d5 + + cho "(Yes coach... But what am I supposed to do?)" + gen "Go on, girl. Start with the top..." ("grin", xpos="far_left", ypos="head", animation=Transform(alpha=0.5)) + cho "(Coach... Please, this isn't the time--)" + cho "(Hold on...)" + cho "(That's it!!)" #open eyes wide + cho "(Granger...)" #mischievous + cho "(She'll be furious...)" #horny + cho "(But... Doing it in front of the entire school...)" + + nar "Cho shifts around slightly on her new broom and suddenly finds herself able to slide up and down the dildo effortlessly." + cho "(...{w} Well then...)" + + stop background fadeout 0.5 + + #Cho flies off the screen + + return - if quidditchguide_ITEM.used: - sna "I see someone hasn't been paying attention to the \"Basics of Quidditch\"." ("snape_41") - gen "Of course I did, I just... forgot." ("base", xpos="far_left", ypos="head") - sna "Oh well, perhaps next time... Oh wait, there's no next time..." ("snape_46") else: - sna "Of course, you can win the game even without your team being the ones to catch the snitch, albeit it is very uncommon..." ("snape_41") - sna "Perhaps if you'd learnt the actual game you wouldn't need to rely on silly rules like excessive elbow usage..." ("snape_46") # smug + gen "(Come on, girl...{w=0.4} Focus.)" ("base", xpos="far_left", ypos="head") + gen "(Get that broom going...)" ("base", xpos="far_left", ypos="head") - gen "{size=-4}Smug bastard...{/size}" ("base", xpos="far_left", ypos="head") - sna "I'll take that as a compliment." ("snape_37") + nar "Cho, frustrated in a multitude of ways, looks down towards you in desperation." - ">As you turn your gaze back to Cho, you see her eyes darting around, seemingly searching for the snitch." - gen "(Damn it... She's lost all confidence in our plan!)" ("base", xpos="far_left", ypos="head") - gen "(Hold on...{w=0.4} Yes! That's it, confidence!)" ("base", xpos="far_left", ypos="head") - gen "Tonks, Where's Lovegood?" ("base", xpos="far_left", ypos="head") - ton "Lovegood, sir?" ("soft", "base", "base", "mid") - gen "Yes, what tower is she in?" ("base", xpos="far_left", ypos="head") - ton "Oh, Miss Lovegood... She should be in that one across the pitch--" ("open", "base", "raised", "mid") + menu: + "-Give her a sign-": + nar "You begin moving one of your hands in a spanking motion." + nar "Her expression changes as she stares at you in confusion." + nar "You put your other hand out over what could only be described as an imaginary ass and begin spanking the air violently." + ton "Professor?" ("soft", "base", "raised", "mid") #Confused - #Genie chibi disappears - $ renpy.sound.play("sounds/run_02.ogg") - call gen_chibi("hide") + "-Point towards the Gryffindor players-": + nar "You point towards the Gryffindor side of the pitch." + nar "Cho looks at you confused, and then points towards that side as well." + nar "Shaking your head, you point towards one of the female players." - ton "Where are you going?!" ("clench", "wide", "base", "mid") + "-Give her a seductive look-": + nar "You begin fluttering your eyelashes up towards Cho." + nar "She looks down at you in confusion." + nar "You lick your lips and give her a wink." + nar "Looking at you in horror for a brief moment, she then finally understands what you were trying to say." - with hpunch - $ renpy.sound.play("sounds/falling_stairs.ogg") + nar "Cho gives you a quick nod and then flies up towards one of the Gryffindor chasers who have positioned themselves near the Ravenclaw goalposts." - #Falls down stairs - pause 2.0 - sna "*Tsk*, *Tsk*...{w=0.4} The sense of imminent loss must've been too much for him." ("snape_37") + her "Johnson passing to Spinnet--" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) - her "A fantastic--{w=0.4}{nw}" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) - her "A fantastic--{fast} Hold on...{w=0.4} What's that on the pitch?{nw}" ("soft", "narrow", "base", "L") - her "A fantastic-- Hold on... What's that on the pitch?{fast} Is that--" ("clench", "wide", "base", "L") - $ renpy.sound.play("sounds/murmur.ogg") - sna "What the--" ("snape_25") - sna "He's going to blow our cover, running like that!" ("snape_32") - ton "Focus on the game, Miss Granger!" ("scream", "wide", "base", "mid") - her "R-Right!" ("mad", "happy", "base", "L") - her "Fred--{w=0.2} I mean, George Weasley intercepting a bludger--" ("scream", "squint", "base", "L") - hide screen bld1 - hide hermione_main - with d3 + #Spank sound + play sound "sounds/slap_02.ogg" + "*Smack*!!" + her @ cheeks blush "What the--" ("soft", "wide", "base", "up") + her @ cheeks blush "What is Cho doing?" ("disgust", "wide", "base", "up") + + hide hermione_main + with d3 + + #Hermione turns around + call her_chibi("stand", 300, 400, flip=False) + with d3 + + her @ cheeks blush "Sir!" ("disgust", "narrow", "annoyed", "mid", xpos=290, ypos="base", flip=False, trans=d5) + her @ cheeks blush "She--{w=0.2} She smacked one of the chasers on the bum..." ("angry", "happy", "annoyed", "mid") + her @ cheeks blush "Sir, you can't let her get away with this!" ("clench", "happy", "annoyed", "mid") + gen "I'm not hearing any objections from the referee...{w=0.5} Or the player, matter-of-factly..." ("base", xpos="far_left", ypos="head") + gen "Unless she used her elbows, that's not against the rules." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But...{w=0.4} Sir!" ("disgust", "base", "annoyed", "mid") + gen "I didn't write the rules, Miss Granger..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Tsk*..." ("soft", "happy", "angry", "R") + + hide hermione_main + with d3 + + call her_chibi("stand", 300, 400, flip=True) + with d3 + + nar "Hermione gritting her teeth holds back her anger, and eventually resumes commentating the game." + nar "Looking up at Cho, you see a mix of frustration and worry across her face as she flies off again." + + gen "{size=-4}Damn it...{/size}" ("base", xpos="far_left", ypos="head") #whisper + sna "{size=-4}Miss Chang isn't doing so well this time, is she?{/size}" ("snape_05") #whisper + sna "{size=-4}It appears your feeble attempts at riling up Miss Granger were in vain.{/size}" ("snape_37") #whisper + gen "{size=-4}How did you--{/size}" ("angry", xpos="far_left", ypos="head") #whisper + sna "{size=-4}Why, you were the one who told me about their contempt for each other when we made our little bet.{/size}" ("snape_02") #whisper + gen "..." ("base", xpos="far_left", ypos="head") + ton "*Hmm*?" ("soft", "base", "base", "R") + sna "{size=-4}That little witch has successfully been making my life a misery since the moment she got here.{/size}" ("snape_01") + sna "{size=-4}To think that Miss Chang would be able to rile her up...{/size}" ("snape_37") + her "Another goal for Team Gryffindor!" ("crooked_smile", "happy", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) + + #crowd cheer + play sound "sounds/crowd_cheer.ogg" + call quidditch_stands(crowd_react=["th", None, "emo8"]) + + sna "Go-Go Gryffindor..." ("snape_37") #Smugface, out loud + call quidditch_stands(crowd_react=[None, None, None]) + her "And with such a steady lead, soon it won't even matter if Ravenclaw catches the snitch or not!" ("smile", "base", "base", "L") + + hide hermione_main + with d3 + + gen "Hold the fuck up." ("angry", xpos="far_left", ypos="head") + gen "No one has told me that's a thing! I thought the rules were set up in favour of the protagonist!" ("angry", xpos="far_left", ypos="head") + + if quidditchguide_ITEM.used: + sna "I see someone hasn't been paying attention to the \"Basics of Quidditch\"." ("snape_41") + gen "Of course I did, I just... forgot." ("base", xpos="far_left", ypos="head") + sna "Oh well, perhaps next time... Oh wait, there's no next time..." ("snape_46") + else: + sna "Of course, you can win the game even without your team being the ones to catch the snitch, albeit it is very uncommon..." ("snape_41") + sna "Perhaps if you'd learnt the actual game, you wouldn't need to rely on silly rules like excessive elbow usage..." ("snape_46") # smug + + gen "{size=-4}Smug bastard...{/size}" ("base", xpos="far_left", ypos="head") + sna "I'll take that as a compliment." ("snape_37") + + nar "As you turn your gaze back to Cho, you see her eyes darting around, seemingly searching for the snitch." + gen "(Damn it... She's lost all confidence in our plan!)" ("base", xpos="far_left", ypos="head") + gen "(Hold on...{w=0.4} Yes! That's it, confidence!)" ("base", xpos="far_left", ypos="head") + gen "Tonks, Where's Lovegood?" ("base", xpos="far_left", ypos="head") + ton "Lovegood, sir?" ("soft", "base", "base", "mid") + gen "Yes, what tower is she in?" ("base", xpos="far_left", ypos="head") + ton "Oh, Miss Lovegood... She should be in that one across the pitch--" ("open", "base", "raised", "mid") + + #Genie chibi disappears + play sound "sounds/run_02.ogg" + call gen_chibi("hide") + + ton "Where are you going?!" ("clench", "wide", "base", "mid") + + with hpunch + play sound "sounds/falling_stairs.ogg" + + #Falls down stairs + pause 2.0 + sna "*Tsk*, *Tsk*...{w=0.4} The sense of imminent loss must've been too much for him." ("snape_37") + + her "A fantastic--{w=0.4}{nw}" ("grin", "base", "base", "L", xpos=290, ypos="base", flip=True, trans=d5) + her "A fantastic--{fast} Hold on...{w=0.4} What's that on the pitch?{nw}" ("soft", "narrow", "base", "L") + her "A fantastic-- Hold on... What's that on the pitch?{fast} Is that--" ("clench", "wide", "base", "L") + play sound "sounds/murmur.ogg" + sna "What the--" ("snape_25") + sna "He's going to blow our cover, running like that!" ("snape_32") + ton "Focus on the game, Miss Granger!" ("scream", "wide", "base", "mid") + her "R-Right!" ("mad", "happy", "base", "L") + her "Fred--{w=0.2} I mean, George Weasley intercepting a bludger--" ("scream", "squint", "base", "L") + hide screen bld1 + hide hermione_main + with d3 pause 0.3 @@ -790,7 +1129,7 @@ label gryffindor_match: #Camera transitions and Genie appears in Luna's tower on the opposite side of the pitch - $ renpy.sound.play("sounds/run_02.ogg") + play sound "sounds/run_02.ogg" pause 1.5 call gen_chibi("stand", 780, 480, flip=False) @@ -825,7 +1164,7 @@ label gryffindor_match: lun "My own...{fast} Oooooh!" ("soft", "base", "base", "stare") #Hit sound - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" "Hermione" "{{Ouch... What a blunder! Surely he should've seen that coming!}" #big text gen "You absolute--" ("base", xpos="far_left", ypos="head") @@ -839,18 +1178,18 @@ label gryffindor_match: "Hermione" "{{Gryffindor!}" #text larger #Crowd cheer - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" lun "Yaaaay!" ("grin", "base", "base", "stare") gen "..........." ("base", xpos="far_left", ypos="head") # At a loss for words; Requires more dots. :P lun "Sorry, what did you say, sir?" ("grin", "base", "base", "R") - $ renpy.sound.play("sounds/crowd_stomping.ogg") + play sound "sounds/crowd_stomping.ogg" gen "Take that stupid-- off!" ("base", xpos="far_left", ypos="head") lun "Take off what--" ("angry", "base", "base", "R") gen "Now!" ("base", xpos="far_left", ypos="head") lun "Okay!" ("angry", "happyCl", "base", "mid") #Luna takes off trousers - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom") with d3 @@ -880,7 +1219,7 @@ label gryffindor_match: pause 0.5 - call nar(">Glancing up at Cho, you see her looking towards the commentator booth.") + nar "Glancing up at Cho, you see her looking towards the commentator booth." gen "I hope she didn't see you..." ("base", xpos="far_left", ypos="head") lun "Who?" ("soft", "base", "base", "up") gen "It doesn't matter, I'll be heading back now." ("base", xpos="far_left", ypos="head") @@ -894,14 +1233,14 @@ label gryffindor_match: hide screen bld1 with d3 - $ renpy.sound.play("sounds/run_02.ogg") + play sound "sounds/run_02.ogg" call gen_chibi("hide") with d3 pause 1.0 - lun "Hmm... He never said I cannot put it back on..." ("open", "base", "base", "down", trans=d8) + lun "*Hmm*... He never said I cannot put it back on..." ("open", "base", "base", "down", trans=d8) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.wear("all") with d3 @@ -912,7 +1251,7 @@ label gryffindor_match: #Crowd cheer - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" lun "Yaaaay!" ("smile", "base", "base", "stare") # Happy, eyes closed hide luna_main hide screen bld1 @@ -935,7 +1274,7 @@ label gryffindor_match: sna "--And that's how I invented a potion for treating genital warts." ("snape_37", trans=d3) ton "Fascinating... Truly..." ("open", "narrow", "base", "R", trans=d3) - $ renpy.sound.play("sounds/run_02.ogg") + play sound "sounds/run_02.ogg" pause 1.5 call gen_chibi("stand", 168, 326, flip=True) @@ -949,11 +1288,11 @@ label gryffindor_match: gen "*Err*...{w=0.4} Don't worry about it..." ("base", xpos="far_left", ypos="head") gen "How's the game going?" ("base", xpos="far_left", ypos="head") ton "Gryffindor scored another goal." ("open", "base", "base", "mid") - ">You look up at Cho who is staring blankly into the distance." + nar "You look up at Cho who is staring blankly into the distance." gen "What's she doing?" ("base", xpos="far_left", ypos="head") sna "Finally..." ("snape_47") gen "*Huh*?" ("base", xpos="far_left", ypos="head") - ">Cho's expression changes abruptly into one of determination as she starts attempting to catch the attention of the boys on the Gryffindor team." + nar "Cho's expression changes abruptly into one of determination as she starts attempting to catch the attention of the boys on the Gryffindor team." #At this point, Cho has taken the luck potion and its effect is starting to kick off. Snape's "finally" comment confirms that something happened. His smugness goes up from this point as in his mind it doesn't matter who wins if Cho is caught cheating since the victory would go to Gryffindor. @@ -973,7 +1312,7 @@ label gryffindor_match: call cho_chibi("fly", flip=True) - play bg_sounds "sounds/crowd_very_low.ogg" fadein 10 + play background "sounds/crowd_very_low.ogg" fadein 10 cho "That's right boys, look this way!" ("smile", "narrow", "base", "L", xpos=580, ypos=-200, flip=True, trans=d3) $ cho.strip("top") @@ -989,46 +1328,46 @@ label gryffindor_match: pause .8 - her "You're--" ("mad", "wide", "angry", "L", cheeks="blush") + her @ cheeks blush "You're--" ("mad", "wide", "angry", "L") - if cho_hermione_affection == "hermione": # If Genie told Cho that Hermione likes her. - cho "Do you like the view?" ("smile", "narrow", "base", "R", cheeks="blush") - her "What are you--" ("angry", "happy", "angry", "L", cheeks="blush") - cho "Shush. You don't have to answer that, I already know the truth." ("base", "narrow", "base", "R", cheeks="blush") + if states.cho.ev.quidditch.hermione_affection == "hermione": # If Genie told Cho that Hermione likes her. + cho @ cheeks blush "Do you like the view?" ("smile", "narrow", "base", "R") + her @ cheeks blush "What are you--" ("angry", "happy", "angry", "L") + cho @ cheeks blush "Shush. You don't have to answer that, I already know the truth." ("base", "narrow", "base", "R") - elif cho_hermione_affection == "cho": # If Genie told Cho that she likes Hermione. - her "Why are you taking your clothes off?!" ("angry", "wide", "angry", "L", cheeks="blush") - cho "..." ("horny", "narrow", "base", "L", cheeks="heavy_blush") - cho "Do you... like the view?" ("soft", "narrow", "base", "R", cheeks="heavy_blush") - her "Do {i}I{/i} What?!" ("angry", "happy", "base", "L", cheeks="blush") - cho "Don't be shy now, you can look as much as you want." ("base", "narrow", "base", "R", cheeks="heavy_blush") + elif states.cho.ev.quidditch.hermione_affection == "cho": # If Genie told Cho that she likes Hermione. + her @ cheeks blush "Why are you taking your clothes off?!" ("angry", "wide", "angry", "L") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "L") + cho @ cheeks heavy_blush "Do you... like the view?" ("soft", "narrow", "base", "R") + her @ cheeks blush "Do {i}I{/i} What?!" ("angry", "happy", "base", "L") + cho @ cheeks heavy_blush "Don't be shy now, you can look as much as you want." ("base", "narrow", "base", "R") else: # If genie was clueless (generic response) - # Note: We're using 'else' check here in case player uses cheats. It is equivalent of `cho_hermione_affection == "neither"`. + # Note: We're using 'else' check here in case player uses cheats. It is equivalent of `states.cho.ev.quidditch.hermione_affection == "neither"`. cho "I'm taking my clothes off!" ("grin", "narrow", "base", "R") - her "Why are you doing this?" ("mad", "happy", "angry", "L", cheeks="blush") - cho "Why?" ("smile", "narrow", "raised", "R", cheeks="blush") - cho "Well I thought I'd give your friends a bit of a show." ("grin", "narrow", "base", "R", cheeks="blush") - cho "Don't you think they deserve to look at something nice for once?" ("base", "narrow", "raised", "R", cheeks="blush") - her "What?!" ("upset", "wide", "base", "L", cheeks="blush") + her @ cheeks blush "Why are you doing this?" ("mad", "happy", "angry", "L") + cho @ cheeks blush "Why?" ("smile", "narrow", "raised", "R") + cho @ cheeks blush "Well, I thought I'd give your friends a bit of a show." ("grin", "narrow", "base", "R") + cho @ cheeks blush "Don't you think they deserve to look at something nice for once?" ("base", "narrow", "raised", "R") + her @ cheeks blush "What?!" ("upset", "wide", "base", "L") gen "Oh no she didn't..." ("grin", xpos="far_left", ypos="head") "Harry" "*drools audibly*" # el yu el "Ron" "Hubba hubba!" # el yu el bis - cho "It appears looks beats brains yet again." ("base", "narrow", "base", "L", cheeks="blush") - her "I--{w=0.4} I--" ("angry", "narrow", "worried", "L", cheeks="blush") + cho @ cheeks blush "It appears looks beats brains yet again." ("base", "narrow", "base", "L") + her @ cheeks blush "I--{w=0.4} I--" ("angry", "narrow", "worried", "L") - $ renpy.sound.play("sounds/crowd_cheer.ogg") - ">Hermione's gaze moves to her friends as a cheer from the Ravenclaw stands erupts as they score a goal." + play sound "sounds/crowd_cheer.ogg" + nar "Hermione's gaze moves to her friends as a cheer from the Ravenclaw stands erupts as they score a goal." - her "Guys! Ignore that floozy and focus on the game!" ("scream", "happyCl", "angry", "mid", cheeks="blush", trans=d3) - cho "" ("smile", "narrow", "base", "L", cheeks="blush") - ">Cho smirks as even the Gryffindor girls stop to ogle at her." + her @ cheeks blush "Guys! Ignore that floozy and focus on the game!" ("scream", "happyCl", "angry", "mid", trans=d3) + cho @ cheeks blush "" ("smile", "narrow", "base", "L") + nar "Cho smirks as even the Gryffindor girls stop to ogle at her." - her "S--{w=0.2} Stop that! Stop staring at her." ("mad", "squint", "worried", "L", cheeks="blush") + her @ cheeks blush "S--{w=0.2} Stop that! Stop staring at her." ("mad", "squint", "worried", "L") hide hermione_main with d3 @@ -1036,127 +1375,122 @@ label gryffindor_match: gen "She's got their team under a spell." ("base", xpos="far_left", ypos="head") - ton "*Mmm*... Me too..." ("horny", "narrow", "base", "mid", hair="horny") + ton @ hair horny "*Mmm*... Me too..." ("horny", "narrow", "base", "mid") sna "Now this is a plan I can get behind." ("snape_02") - gen "Hah, yeah this was my plan alright..." ("base", xpos="far_left", ypos="head") - ton "But perhaps we should call for a--" ("soft", "base", "base", "R", cheeks="blush") + gen "Hah! Yeah, this was my plan alright..." ("base", xpos="far_left", ypos="head") + ton @ cheeks blush "But perhaps we should call for a--" ("soft", "base", "base", "R") her "{size=+7}Boys!{/size}" with hpunch - ">The boys quickly snap out of it and move their gaze towards the commentator booth." + nar "The boys quickly snap out of it and move their gaze towards the commentator booth." $ hermione.strip("top") #Gasp from crowd - $ renpy.sound.play("sounds/crowd_gasp.ogg") - her "" ("base", "closed", "angry", "mid", cheeks="blush", trans=d3) - cho "" ("clench", "wide", "base", "R", cheeks="heavy_blush") + play sound "sounds/crowd_gasp.ogg" + her @ cheeks blush "" ("base", "closed", "angry", "mid", trans=d3) + cho @ cheeks heavy_blush "" ("clench", "wide", "base", "R") call ctc - her "I believe I told you to stop looking at her!" ("grin", "narrow", "base", "L", cheeks="blush") + her @ cheeks blush "I believe I told you to stop looking at her!" ("grin", "narrow", "base", "L") gen "Miss Granger!" ("base", xpos="far_left", ypos="head") - ton "Oh dear..." ("soft", "base", "base", "mid", hair="horny", cheeks="heavy_blush") - her "You boys are despicable!" ("open", "closed", "angry", "mid", cheeks="blush") - her "Why would you pay any attention towards that walking stick when the girls of your own house are a hundred times more appealing!" ("disgust", "squint", "angry", "L", cheeks="blush") - cho "*inaudible noise*" ("disgust", "narrow", "angry", "R", cheeks="heavy_blush") - her "What was that?" ("grin", "squint", "base", "L", cheeks="blush") - her "Sorry I can't hear you over the wind... You'll have to speak up." ("grin", "narrow", "base", "L", cheeks="blush") + ton @ cheeks heavy_blush hair horny "Oh dear..." ("soft", "base", "base", "mid") + her @ cheeks blush "You boys are despicable!" ("open", "closed", "angry", "mid") + her @ cheeks blush "Why would you pay any attention to that walking stick when the girls of your own house are a hundred times more appealing!" ("disgust", "squint", "angry", "L") + cho @ cheeks heavy_blush "*inaudible noise*" ("disgust", "narrow", "angry", "R") + her @ cheeks blush "What was that?" ("grin", "squint", "base", "L") + her @ cheeks blush "Sorry I can't hear you over the wind... You'll have to speak up." ("grin", "narrow", "base", "L") $ cho.strip("bra") with d3 #Gasp from crowd - $ renpy.sound.play("sounds/crowd_gasp.ogg") - cho "" ("smile", "narrow", "angry", "R", cheeks="heavy_blush") - her "" ("clench", "wide", "base", "L", cheeks="blush") - ">Staring daggers at Hermione, Cho takes off her bra and drops it to the ground." + play sound "sounds/crowd_gasp.ogg" + cho @ cheeks heavy_blush "" ("smile", "narrow", "angry", "R") + her @ cheeks blush "" ("clench", "wide", "base", "L") + nar "Staring daggers at Hermione, Cho takes off her bra and drops it to the ground." gen "Now that's my attention-seeker!" ("grin", xpos="far_left", ypos="head") #Crowd stomping - $ renpy.sound.play("sounds/crowd_stomping.ogg") + play sound "sounds/crowd_stomping.ogg" qcr "Cho! Cho! Cho!" - ton "*Hmm*... We should probably put a stop to this..." ("disgust", "base", "base", "mid", hair="horny", cheeks="blush") - her "*Grr*!!!" ("clench", "wide", "angry", "stare_soft", cheeks="blush") - ton "*Ehm*...{w=0.4} Why don't you do it Severus?" ("mad", "narrow", "shocked", "R", hair="upset") + ton @ cheeks blush hair horny "*Hmm*... We should probably put a stop to this..." ("disgust", "base", "base", "mid") + her @ cheeks blush "*Grr*!!!" ("clench", "wide", "angry", "stare_soft") + ton @ hair upset "*Ehm*...{w=0.4} Why don't you do it, Severus?" ("mad", "narrow", "shocked", "R") #Hermione takes off bra $ hermione.strip("bra") with d3 - her "" ("crooked_smile", "squint", "base", "stare", cheeks="blush") - cho "" ("soft", "narrow", "angry", "R", cheeks="heavy_blush") + her @ cheeks blush "" ("crooked_smile", "squint", "base", "stare") + cho @ cheeks heavy_blush "" ("soft", "narrow", "angry", "R") pause .8 - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" qcr "Hermione!{w=0.4} Hermione!{w=0.4} Hermione!" - her "That's right! She doesn't have anything that I don't!" ("grin", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "That's right! She doesn't have anything that I don't!" ("grin", "closed", "angry", "mid") #whistle (catcalling) - $ renpy.sound.play("sounds/wolf_whistle2.ogg") + play sound "sounds/wolf_whistle2.ogg" femv "Show us your panties!" - cho "" ("horny", "narrow", "angry", "R", cheeks="heavy_blush") + cho @ cheeks heavy_blush "" ("horny", "narrow", "angry", "R") qcr "Panties!{w=0.4} Panties!{w=0.4} Panties!" - cho "" ("annoyed", "base", "angry", "L", cheeks="heavy_blush") - ">The focus on the game, now completely lost, has everyone's eyes moving back and forth between Hermione and Cho, waiting with baited breath to see who will push things further." - cho "" ("smile", "base", "base", "L", cheeks="heavy_blush") + cho @ cheeks heavy_blush "" ("annoyed", "base", "angry", "L") + nar "The focus on the game, now completely lost, has everyone's eyes moving back and forth between Hermione and Cho, waiting with bated breath to see who will push things further." + cho @ cheeks heavy_blush "" ("smile", "base", "base", "L") - if her_reputation < 3: - her "P--{w=0.2} Panties?" ("angry", "squint", "worried", "stare", cheeks="blush") #happycl + if states.her.public_level < 3: + her @ cheeks blush "P--{w=0.2} Panties?" ("angry", "squint", "worried", "stare") #happycl qcr "Panties!{w=0.4} Panties!{w=0.4} Panties!" hide cho_main with d3 call cho_walk(1100, 140, speed=2) - her "I--{w=0.2} I..." ("disgust", "happyCl", "base", "mid", cheeks="blush", trans=d3) #happycl + her @ cheeks blush "I--{w=0.2} I..." ("disgust", "happyCl", "base", "mid", trans=d3) #happycl qcr "Take it off!{w=0.4} Take it off!" - her "I can't!" ("disgust", "squint", "base", "stare", cheeks="blush") #Open eyes #stare + her @ cheeks blush "I can't!" ("disgust", "squint", "base", "stare") #Open eyes #stare qcr "Boo!" - her "That's right, Gryffindors will never go as low as--" ("angry", "narrow", "angry", "L", cheeks="blush") + her @ cheeks blush "That's right, Gryffindors will never go as low as--" ("angry", "narrow", "angry", "L") else: - her "Can't get enough of me can you?" ("grin", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Can't get enough of me can you?" ("grin", "closed", "base", "mid") hide cho_main with d3 call cho_walk(1100, 140, speed=2) - her "Of course, now when you've seen the real deal why would you ever look at someone like--" ("crooked_smile", "narrow", "base", "L", cheeks="blush", trans=d3) + her @ cheeks blush "Of course, now when you've seen the real deal, why would you ever look at someone like--" ("crooked_smile", "narrow", "base", "L", trans=d3) - stop bg_sounds fadeout 3.0 + stop background fadeout 3.0 - her "--Cho?!" ("clench", "wide", "base", "L", cheeks="blush") + her @ cheeks blush "--Cho?!" ("clench", "wide", "base", "L") her "Harry, she's going for the snitch!" ("scream", "base", "base", "L") "Harry" "*keeps drooling*" - her "Heaven's sake!" ("disgust", "happy", "annoyed", "L", cheeks="blush") + her @ cheeks blush "Heaven's sake!" ("disgust", "happy", "annoyed", "L") #Hermione puts clothes back on $ hermione.wear("all") with d3 her "Go after her!" ("scream", "base", "angry", "L") - ">Snapping out of it, Harry speeds off after Cho who is now darting between the towers chasing the snitch." + nar "Snapping out of it, Harry speeds off after Cho who is now darting between the towers chasing the snitch." - # Note: We are using double fade effect to hide janky static-to-animation change - $ camera.set_imagepath("cho_quidditch2/") - $ camera.set_overlay(None) - $ camera.set(image="CG quidditch cho_sitting entry", zoom=1.0, pos=(0, 0), initialize=True) - - show screen animatedCG + show CG quidditch cho_sitting entry as cg zorder 16 hide snape_main hide hermione_main hide tonks_main $ cho.strip("panties", "bottom") with fade - ">All of a sudden she shoots up after it into the sky, with Harry's head at her heels." + nar "All of a sudden she shoots up after it into the sky, with Harry's head at her heels." her "Faster, Harry!" call ctc - show image "cho_quidditch2 slide cho_siting entry" zorder 17 as cg2 + show cho_quidditch2 slide cho_siting entry zorder 17 as cg2 with dissolve - ">Cho speeds up even more, her skirt clinging on for dear life." - ">Harry still on her tail is struggling, hard and is barely keeping up with her.{#LINT_IGNORE}" + nar "Cho speeds up even more, her skirt clinging on for dear life." + nar "Harry still on her tail, is struggling, hard and is barely keeping up with her.{#LINT_IGNORE}" call ctc @@ -1168,15 +1502,15 @@ label gryffindor_match: gen "The broom, she's become one with the broom!" sna "She's what?" - show image "cho_quidditch2 slide cho_siting" zorder 17 as cg2 + show cho_quidditch2 slide cho_siting zorder 17 as cg2 with dissolve pause 0.5 # Wet sound? - $ camera.set(zoom=1.0, pos=(0, 0), image="CG quidditch cho_standing", initialize=True, trans=d3) - show image "cho_quidditch2 slide cho_standing" zorder 17 as cg2 with dissolve + show CG quidditch cho_standing as cg zorder 16 + show cho_quidditch2 slide cho_standing zorder 17 as cg2 with dissolve call ctc @@ -1184,32 +1518,32 @@ label gryffindor_match: ton "Oh my!" sna "..." - ">Cho's secret now revealed--" + nar "Cho's secret now revealed--" sna "*Cough*... {i}Deletrius{/i}... *Cough*..." - call play_sound("magic") + play sound "sounds/magic4.ogg" - show image "cho_quidditch2 slide cho_standing_panties" zorder 17 as cg2 with flashbulb + show cho_quidditch2 slide cho_standing_panties zorder 17 as cg2 with flashbulb call ctc - $ camera.set(image="CG quidditch cho_standing_panties", trans=d3) + show CG quidditch cho_standing_panties as cg zorder 16 with d3 ton "Severus!" sna "What? I just coughed!" - hide image cg2 + hide cg2 with dissolve - ">Cho, whose panties are now revealed to the crowd speeds up even further, edging ever so closer towards the snitch." + nar "Cho, whose panties are now revealed to the crowd, speeds up even further, edging ever so closer towards the snitch." qcr "Panties! Panties! Panties!" ton "*Cough*... {i}Ventus{/i}... *Cough*..." - call play_sound("magic") - $ camera.set(image="CG quidditch cho_standing_panties_down", trans=flashbulb) - call nar(">Suddenly, a strong gust of wind grabs hold of her panties and they slide down to her knees.") + play sound "sounds/magic4.ogg" + show CG quidditch cho_standing_panties_down as cg zorder 16 with flashbulb + nar "Suddenly, a strong gust of wind grabs hold of her panties, and they slide down to her knees." call ctc - show image "cho_quidditch2 slide cho_standing_panties_down" zorder 17 as cg2 + show cho_quidditch2 slide cho_standing_panties_down zorder 17 as cg2 with dissolve call ctc @@ -1219,60 +1553,60 @@ label gryffindor_match: call ctc - $ camera.set(image="CG quidditch cho_standing_smile") - hide image cg2 + show CG quidditch cho_standing_smile as cg zorder 16 + hide cg2 with dissolve - ">The focus now shifted from the snitch to Cho's wet snatch leaves no doubts just how much she's enjoying this." + nar "The focus now shifted from the snitch to Cho's wet snatch leaves no doubts just how much she's enjoying this." her "She's getting off doing this!?" qcr "Slut! Slut! Slut!" gen "Go on, girl... Don't lose focus now..." - ">Cho, basking in the attention, loses a bit of speed and Harry begins catching up on her." + nar "Cho, basking in the attention, loses a bit of speed and Harry begins catching up to her." her "You silly slut, you're nothing compared to a real seeker like Harry!" her "The only thing you're good for is showing off your body!" - ">All of a sudden, Cho convulses and some translucent fluid escapes her nether." + nar "All of a sudden, Cho convulses and some translucent fluid escapes her nether." #Cho cums from Hermione insulting her and it flies off the screen into Harry's face - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" - $ camera.set(image="CG quidditch cho_standing_ahegao", trans=kissiris) + show CG quidditch cho_standing_ahegao as cg zorder 16 with kissiris pause .6 - $ camera.set(image="CG quidditch cho_standing_smile", trans=kissiris) + show CG quidditch cho_standing_smile as cg zorder 16 with kissiris her "Harry!" - $ renpy.sound.play("sounds/crash.ogg") - ">As if hit by some unknown force,{w=1.0} Harry suddenly spins off,{nw}{w=0.5}" - ">As if hit by some unknown force, Harry suddenly spins off,{fast} and crashes into one of the confectionery carts." with vpunch + play sound "sounds/crash.ogg" + nar "As if hit by some unknown force,{w=1.0} Harry suddenly spins off,{nw}{w=0.5}" + nar "As if hit by some unknown force, Harry suddenly spins off,{fast} and crashes into one of the confectionery carts." with vpunch - $ renpy.sound.play("sounds/crowd_ouch.ogg") + play sound "sounds/crowd_ouch.ogg" qcr "Ouch!" - ">Cho's mind, now clearer than ever, gets a sudden burst of speed and stretches out her fingers towards the snitch." + nar "Cho's mind, now clearer than ever, gets a sudden burst of speed and stretches out her fingers towards the snitch." gen "That's right, fuck you Snape!!" #Cho catches the snitch - $ camera.set(image="CG quidditch cho_standing_snitch", trans=d3) + show CG quidditch cho_standing_snitch as cg zorder 16 with d3 #Crowd cheers - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" pause 5.0 # She mad bro - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" her "{size=+15}No!!!{/size}" gen "Hell yes!" #Cho sits back down on the dildo, snitch in hand - $ camera.set(image="CG quidditch cho_sitting_snitch", trans=d3) + show CG quidditch cho_sitting_snitch as cg zorder 16 with d3 pause 1.0 - show image "cho_quidditch2 slide cho_sitting_snitch" zorder 17 as cg2 + show cho_quidditch2 slide cho_sitting_snitch zorder 17 as cg2 with dissolve call ctc @@ -1280,74 +1614,74 @@ label gryffindor_match: her "How?!?" #CG end here - hide image cg2 - hide screen animatedCG + hide cg + hide cg2 with fade $ cho.equip(choq_panties_in_hand) - call play_music("stop") - play bg_sounds "sounds/crowd_low.ogg" fadein 5 + stop music fadeout 1 + play background "sounds/crowd_low.ogg" fadein 5 - sna "Well I'll be damned..." ("snape_01", trans=d3) #doesn't look too bothered - her "She...{w=0.4} She cheated!" ("clench", "wide", "base", "stare", cheeks="blush", trans=d3) + sna "Well, I'll be damned..." ("snape_01", trans=d3) #doesn't look too bothered + her @ cheeks blush "She...{w=0.4} She cheated!" ("clench", "wide", "base", "stare", trans=d3) #TODO Cho flies up, panties in her hand call cho_chibi("fly", 1100, 140) call cho_walk(530, 360, speed=2) pause 1.5 - cho "You mad, Granger?" ("grin", "narrow", "base", "L", cheeks="blush", flip=False, trans=d3) - her "You did something to Harry!" ("mad", "squint", "angry", "L", cheeks="blush", trans=d3) - cho "I did? You sure he wasn't just blinded by my charm?" ("soft", "narrow", "raised", "L", cheeks="blush") + cho @ cheeks blush "You mad, Granger?" ("grin", "narrow", "base", "L", flip=False, trans=d3) + her @ cheeks blush "You did something to Harry!" ("mad", "squint", "angry", "L", trans=d3) + cho @ cheeks blush "I did? You sure he wasn't just blinded by my charm?" ("soft", "narrow", "raised", "L") her "A charm! You must've cast some spell on him!" ("angry", "wide", "base", "stare") - cho "With what wand exactly?" ("smile", "narrow", "base", "L", cheeks="blush") - cho "The only stiff object here is placed between my legs and that's not a {i}magic wand{/i}." ("grin", "narrow", "base", "L", cheeks="heavy_blush") - cho "Although I don't expect you to know the difference between a dildo and--" ("crooked_smile", "narrow", "base", "R", cheeks="heavy_blush") - her "You...{w=0.4} You..." ("mad", "wide", "angry", "L", cheeks="blush") + cho @ cheeks blush "With what wand exactly?" ("smile", "narrow", "base", "L") + cho @ cheeks heavy_blush "The only stiff object here is placed between my legs, and that's not a {i}magic wand{/i}." ("grin", "narrow", "base", "L") + cho @ cheeks heavy_blush "Although I don't expect you to know the difference between a dildo and--" ("crooked_smile", "narrow", "base", "R") + her @ cheeks blush "You...{w=0.4} You..." ("mad", "wide", "angry", "L") gen "Now-now, don't be a sore loser, Miss Granger... There's no way she'd be able to keep a wand on her." ("base", xpos="far_left", ypos="head") - her "She...{w=0.4} She..." ("angry", "wide", "angry", "stare", cheeks="blush") + her @ cheeks blush "She...{w=0.4} She..." ("angry", "wide", "angry", "stare") gen "So unless you want us to do a cavity search..." ("base", xpos="far_left", ypos="head") - cho "Sure, I don't mind." ("base", "narrow", "base", "mid", cheeks="heavy_blush") - her "You... {w=0.4}You slut!" ("scream", "wide", "angry", "L", cheeks="blush") # angry tears - cho "Sorry, what was that?" ("soft", "narrow", "base", "L", cheeks="heavy_blush") - cho "I got a bit distracted seeing your friend get carried on a stretcher to the hospital wing..." ("smile", "narrow", "base", "L", cheeks="heavy_blush") - her "*Grr*..." ("angry", "squint", "angry", "R", cheeks="blush") - cho "Here you go Granger, something for you to remember your loss..." ("smile", "narrow", "base", "L", cheeks="blush") + cho @ cheeks heavy_blush "Sure, I don't mind." ("base", "narrow", "base", "mid") + her @ cheeks blush "You... {w=0.4}You slut!" ("scream", "wide", "angry", "L") # angry tears + cho @ cheeks heavy_blush "Sorry, what was that?" ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "I got a bit distracted seeing your friend get carried on a stretcher to the hospital wing..." ("smile", "narrow", "base", "L") + her @ cheeks blush "*Grr*..." ("angry", "squint", "angry", "R") + cho @ cheeks blush "Here you go Granger, something for you to remember your loss..." ("smile", "narrow", "base", "L") # Cho panties appear on Hermione's head as Cho throws them at her - $ renpy.sound.play("sounds/woosh.ogg") - $ cho.unequip("accessory2") # Panties + play sound "sounds/woosh.ogg" + $ cho.unequip(choq_panties_in_hand) # Panties pause .8 - $ renpy.sound.play("sounds/squelch.ogg") + play sound "sounds/squelch.ogg" $ hermione.equip(herq_panties_on_head) with d3 - her "Cho!" ("angry", "wide", "annoyed", "up", cheeks="blush") - cho "Later Granger!" ("smile", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "Cho!" ("angry", "wide", "annoyed", "up") + cho @ cheeks blush "Later, Granger!" ("smile", "wink", "base", "mid") hide cho_main with d5 - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" call cho_walk(1100, 140, speed=2) - ton "*giggles*" ("crooked_smile", "narrow", "raised", "L", trans=d3) + ton "*Giggles*" ("crooked_smile", "narrow", "raised", "L", trans=d3) call her_chibi(flip=False) with d3 - her "Professor!" ("clench", "base", "angry", "L", cheeks="blush", flip=False, trans=d3) + her @ cheeks blush "Professor!" ("clench", "base", "angry", "L", flip=False, trans=d3) ton "Sorry..." ("soft", "base", "base", "down") qcr "Cho! Cho! Cho!" - her "*Grr*!" ("angry", "base", "angry", "R", cheeks="blush") + her @ cheeks blush "*Grr*!" ("angry", "base", "angry", "R") call her_walk(213, 414) sna "I must say that I am truly sorry Gryffindor has lost." ("snape_04", trans=d3) sna "Truly..." ("snape_06", trans=d3) - her "*Hmph*!" ("upset", "closed", "angry", "mid", cheeks="blush", trans=d3) + her @ cheeks blush "*Hmph*!" ("upset", "closed", "angry", "mid", trans=d3) # Hermione chibi walks up stairs next to Tonks # Hermione removes panties off head. @@ -1398,20 +1732,20 @@ label gryffindor_match: call ton_walk(path=[(100, 334), (194, 400)]) - ton "Nice, free panties." ("horny", "base", "base", "down", hair="horny", trans=d3) + ton @ hair horny "Nice, free panties." ("horny", "base", "base", "down", trans=d3) - $ renpy.sound.play("sounds/cloth_sound2.ogg") + play sound "sounds/cloth_sound2.ogg" hide image panties with d3 pause 0.8 - ton "*Hmm*...{w=0.1} Someone should probably pick up the rest of her clothes..." ("soft", "base", "base", "R", hair="horny", trans=d3) - ton "{w=0.8}{nw}" ("annoyed", "base", "base", "L", hair="horny") - ton "{w=0.8}{nw}" ("annoyed", "base", "base", "R", hair="horny") - ton "Nobody?{w=0.8}{nw}" ("annoyed", "base", "base", "R", hair="horny") - ton "Nobody?{fast} Oh fine, I suppose I'll do it then..." ("base", "base", "base", "R", hair="horny") - ton "(Before Madam Hooch gets there first.)" ("soft", "base", "base", "R", hair="horny") + ton @ hair horny "*Hmm*...{w=0.1} Someone should probably pick up the rest of her clothes..." ("soft", "base", "base", "R", trans=d3) + ton @ hair horny "{w=0.8}{nw}" ("annoyed", "base", "base", "L") + ton @ hair horny "{w=0.8}{nw}" ("annoyed", "base", "base", "R") + ton @ hair horny "Nobody?{w=0.8}{nw}" ("annoyed", "base", "base", "R") + ton @ hair horny "Nobody?{fast} Oh fine, I suppose I'll do it then..." ("base", "base", "base", "R") + ton @ hair horny "(Before Madam Hooch gets there first.)" ("soft", "base", "base", "R") hide tonks_main call ton_chibi("hide") @@ -1423,15 +1757,15 @@ label gryffindor_match: call cho_walk(530, 360, speed=2) pause 1.5 - cho "Hey Professor--" ("grin", "closed", "base", "mid", cheeks="blush", flip=False, trans=d3) - cho ".......?" ("soft", "base", "base", "L", cheeks="blush") - cho "(*Hmm*... Did he already go back to his office?)" ("soft", "narrow", "base", "L", cheeks="blush") + cho @ cheeks blush "Hey Professor--" ("grin", "closed", "base", "mid", flip=False, trans=d3) + cho @ cheeks blush ".......?" ("soft", "base", "base", "L") + cho @ cheeks blush "(*Hmm*... Did he already go back to his office?)" ("soft", "narrow", "base", "L") cho "(I better catch up with him...)" ("soft", "base", "base", "L") - cho "(Although...)" ("base", "narrow", "base", "R", cheeks="blush") - cho "(A few victory laps around the pitch wouldn't hurt.)" ("smile", "narrow", "base", "R", cheeks="blush") # horny + cho @ cheeks blush "(Although...)" ("base", "narrow", "base", "R") + cho @ cheeks blush "(A few victory laps around the pitch wouldn't hurt.)" ("smile", "narrow", "base", "R") # horny - $ renpy.sound.play("sounds/crowd_cheer.ogg") - stop bg_sounds fadeout 2.0 + play sound "sounds/crowd_cheer.ogg" + stop background fadeout 2.0 call cho_walk(1100, 140, speed=2) #Reset z.order @@ -1451,7 +1785,7 @@ label gryffindor_match_return: #Setup $ tonks.zorder = 18 $ hooch.zorder = 17 - $ snape_zorder = 16 + $ states.sna.image.zorder = 16 $ cho.zorder = 16 #Shows/Hides Cho doll on CG $ snape_chibi.zorder = 4 @@ -1463,9 +1797,9 @@ label gryffindor_match_return: $ cho.set_pose(None) $ cho.animation = None - $ cho.strip("all") + $ cho.strip("clothes") - call play_music("stop") + stop music fadeout 1 call room("main_room") call gen_chibi("hide") @@ -1473,7 +1807,7 @@ label gryffindor_match_return: hide screen blkfade with d5 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("stand", "door", "base", flip=False) with d3 pause 0.8 @@ -1496,10 +1830,10 @@ label gryffindor_match_return: #Cho chibi appears naked next to the window turned to right - "Voice outside the window" "Stay... [cho_broom_name]." + "Voice outside the window" "Stay... [states.cho.ev.quidditch.broom_name]." #Cho walks to the front of the desk - gen "[cho_broom_name]? Isn't that--" ("base", xpos="far_left", ypos="head") + gen "[states.cho.ev.quidditch.broom_name]? Isn't that--" ("base", xpos="far_left", ypos="head") call cho_chibi("stand", xpos=441, ypos=400, flip=False) call cho_walk("desk", "base") @@ -1507,19 +1841,19 @@ label gryffindor_match_return: with d3 pause 0.5 - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "Sorry for the wait, I just had to take a few victory laps." ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", trans=d3) gen "!!!" ("angry", xpos="far_left", ypos="head") - cho "Who would've thought flying would{nw}" ("smile", "wink", "base", "mid", cheeks="blush") - cho "Who would've thought flying would{fast} be so freeing without the restrictions of clothes." ("base", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Who would've thought flying would{nw}" ("smile", "wink", "base", "mid") + cho @ cheeks blush "Who would've thought flying would{fast} be so freeing without the restrictions of clothes." ("base", "base", "base", "mid") gen "(Damn! What a view!)" ("grin", xpos="far_left", ypos="head") gen "I'm glad everything turned out the way you imagined it." ("grin", xpos="far_left", ypos="head") - cho "" ("base", "narrow", "base", "downR", cheeks="heavy_blush") + cho @ cheeks heavy_blush "" ("base", "narrow", "base", "downR") call ctc - cho "" ("soft", "narrow", "base", "R", cheeks="heavy_blush") #blush + cho @ cheeks heavy_blush "" ("soft", "narrow", "base", "R") #blush call ctc # Cho Chibi rushes up to genie's side @@ -1528,29 +1862,29 @@ label gryffindor_match_return: with d3 #Kisses sound, pink visual effect - call play_sound("kiss") + play sound "sounds/kiss.ogg" with kissiris gen "What was that for?" ("grin", xpos="far_left", ypos="head") - cho "For all the--" ("smile", "narrow", "base", "L", cheeks="heavy_blush", xpos="left", ypos="base", flip=True, trans=d3) + cho @ cheeks heavy_blush "For all the--" ("smile", "narrow", "base", "L", xpos="left", ypos="base", flip=True, trans=d3) #Tonks enters - call play_music("stop") - $ renpy.sound.play("sounds/door_down.ogg") + stop music fadeout 1 + play sound "sounds/door_down.ogg" call ton_chibi("stand","door","base") with hpunch - cho "" ("clench", "wide", "base", "mid", cheeks="heavy_blush") #wide eyed + cho @ cheeks heavy_blush "" ("clench", "wide", "base", "mid") #wide eyed - $ renpy.music.play("music/Under-the-Radar by PhobyAk.ogg") + play music "music/Under-the-Radar by PhobyAk.ogg" if_changed - ton "We've got a situation--{w=0.2}" ("mad", "base", "base", "R", hair="upset", xpos="base", ypos="base") - ton "Cho?!" ("clench", "wide", "shocked", "L", hair="horny", cheeks="blush") - cho "Professor?!" ("angry", "wide", "base", "L", cheeks="heavy_blush") - gen "(For fucks sake... {i}Always something{/i}...)" ("angry", xpos="far_left", ypos="head") + ton @ hair upset "We've got a situation--{w=0.2}" ("mad", "base", "base", "R", xpos="base", ypos="base") + ton @ cheeks blush hair horny "Cho?!" ("clench", "wide", "shocked", "L") + cho @ cheeks heavy_blush "Professor?!" ("angry", "wide", "base", "L") + gen "(For fuck's sake... {i}Always something{/i}...)" ("angry", xpos="far_left", ypos="head") ton "Shit... You have to hide, now!" ("mad", "base", "base", "R") - cho "But why--" ("angry", "narrow", "base", "L", cheeks="heavy_blush") + cho @ cheeks heavy_blush "But why--" ("angry", "narrow", "base", "L") ton "Just do it, quick!" ("scream", "base", "shocked", "L") show screen blkfade @@ -1560,7 +1894,7 @@ label gryffindor_match_return: call ton_chibi(xpos="mid", ypos="420") #Tonks walks to desk (closest to window) - ">In an act of desperation, Cho decides to hide under your desk." + nar "In an act of desperation, Cho decides to hide under your desk." hide cho_main hide tonks_main @@ -1574,15 +1908,15 @@ label gryffindor_match_return: #Snape enters office and walks to desk (left) sna "Headmaster..." ("snape_01", trans=d3, xpos=200, ypos="base") gen "Severus! I should've known!" ("grin", xpos="far_left", ypos="head") - gen "Come to deliver my winnings I presume?" ("grin", xpos="far_left", ypos="head") + gen "Come to deliver my winnings, I presume?" ("grin", xpos="far_left", ypos="head") sna "Not exactly..." ("snape_37") #Smugface hide snape_main hide screen bld1 with d3 - call play_sound("door") - $ hooch_chibi.move(path=[(790, 450), (610, 445)]) + play sound "sounds/door.ogg" + chibi hooch move (path=[(790, 450), (610, 445)]) pause 1.0 #Hooch enters and walks up behind Snape and Tonks @@ -1600,10 +1934,10 @@ label gryffindor_match_return: hoo "Yes, unfortunately it can't be helped, a very serious matter regarding the finals has come up." ("normal", "base", "shocked", "mid") gen "Oh?" ("base", xpos="far_left", ypos="head") ton "" ("normal", "base", "base", "mid", xpos=460, ypos="base") - gen "That Potter boy didn't die did he?" ("base", xpos="far_left", ypos="head") + gen "That Potter boy didn't die, did he?" ("base", xpos="far_left", ypos="head") hoo "Who?" ("open", "base", "raised", "mid") ton "The Gryffindor seeker who crashed into one of the confectionery carts." ("open", "base", "base", "R") - hoo "He did? I must have missed that." ("open", "shocked", "worried", "R", cheeks="blush") + hoo @ cheeks blush "He did? I must have missed that." ("open", "shocked", "worried", "R") ton "" ("base", "base", "base", "R") gen "Figures..." ("base", xpos="far_left", ypos="head") sna "The boy will live...{nw}" ("snape_01") @@ -1616,11 +1950,11 @@ label gryffindor_match_return: sna "The matter at hand{nw}" ("snape_01") hoo "" ("normal", "base", "angry", "L") ton "" ("normal", "narrow", "base", "mid") - sna "The matter at hand{fast} is in regards to the Ravenclaw girl...{w=0.4} Miss Chang." ("snape_01") + sna "The matter at hand{fast} is in regard to the Ravenclaw girl...{w=0.4} Miss Chang." ("snape_01") gen "Oh? There's not a rule against cumming--" ("base", xpos="far_left", ypos="head") #Thud sound - call play_sound("kick") + play sound "sounds/kick.ogg" gen "*Hngh*!" ("angry", xpos="far_left", ypos="head") gen "I mean...{w=0.4} Coming first?" ("base", xpos="far_left", ypos="head") @@ -1631,7 +1965,7 @@ label gryffindor_match_return: gen "Under the--" ("base", xpos="far_left", ypos="head") #Thud sound (Cho hits her head on the desk) - call play_sound("kick") + play sound "sounds/kick.ogg" pause .6 gen "Desk!" ("angry", xpos="far_left", ypos="head") @@ -1654,7 +1988,7 @@ label gryffindor_match_return: hoo "The usage of such things is considered cheating and is prohibited during organized sports and academic examinations." ("open", "narrow", "angry", "mid") ton "" ("annoyed", "base", "base", "mid") gen "So if this bottle is a luck potion, she'd get disqualified?" ("base", xpos="far_left", ypos="head") - sna "*snort*." ("snape_22") #smirk + sna "*Snort*" ("snape_22") #smirk hoo "Yes, although disqualification would be the least of her worries." ("open", "shocked", "angry", "mid") gen "You're not saying..." ("base", xpos="far_left", ypos="head") sna "" ("snape_37") #smirk @@ -1662,7 +1996,7 @@ label gryffindor_match_return: gen "Prison?" ("base", xpos="far_left", ypos="head") #Zipper sound/cloth sound - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" gen "...{w=0.8}{nw}" ("base", xpos="far_left", ypos="head") gen "...{w=0.8}{nw}" ("angry", xpos="far_left", ypos="head") @@ -1671,7 +2005,7 @@ label gryffindor_match_return: gen "Kiss--" ("base", xpos="far_left", ypos="head") #kiss sound, pink visual effect as Cho kisses genie's dick - call play_sound("kiss") + play sound "sounds/kiss.ogg" hide snape_main hide tonks_main hide hooch_main @@ -1681,94 +2015,94 @@ label gryffindor_match_return: gen "*Hngh*--" ("angry", xpos="far_left", ypos="head") #Cut to CG - show image "cho_under_desk_idle_snape_no_spit" as cg zorder 16 + show image "cho_under_desk_idle_snape_no_spit" as cg_doll zorder 16 with fade call ctc - ton "Professor?" ("soft", "narrow", "raised", "mid", ypos="head") + ton "Professor?" ("soft", "narrow", "raised", "mid", xpos="far_right", ypos="head") - $ renpy.sound.play("sounds/spit.ogg") - show image "cho_under_desk_idle_snape" as cg + play sound "sounds/spit.ogg" + show image "cho_under_desk_idle_snape" as cg_doll gen "..." ("angry", xpos="far_left", ypos="head") ton "Are you alright?" ("soft", "base", "raised", "mid") #Cho's head starts moving - play bg_sounds "sounds/slickloop.ogg" fadein 2 - show image "cho_under_desk_blowjob" as cg + play background "sounds/slickloop.ogg" fadein 2 + show image "cho_under_desk_blowjob" as cg_doll with d3 - cho "*Slurp*...{w=0.4} *Gobble*...{w=0.4} *Slurp*" ("open_wide_tongue", "narrow", "base", "up", cheeks="heavy_blush", xpos="left", ypos="head", flip=False, trans=d3) + cho @ cheeks heavy_blush "*Slurp*...{w=0.4} *Gobble*...{w=0.4} *Slurp*" ("open_wide_tongue", "narrow", "base", "up", xpos="far_right", ypos="head", flip=False, trans=d3) gen "Oh, yes!{w=0.4} *Ahem*--{w=0.4} Sorry, I was just thinking how terrible that would be." ("grin", xpos="far_left", ypos="head") gen "(What the hell does she think she's doing!?)" ("angry", xpos="far_left", ypos="head") gen "Don't--{w=0.2} *Hngh*...{w=0.4} Don't worry about me, I'll be fine. Just taken by surprise by this whole ordeal, that's...{w=0.4} That's it." ("base", xpos="far_left", ypos="head") - cho "*Gobble*...{w=0.4} *Gobble*...{w=0.4} *Slurp*" ("open_wide_tongue", "closed", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Gobble*...{w=0.4} *Gobble*...{w=0.4} *Slurp*" ("open_wide_tongue", "closed", "base", "up") hoo "Are you sure? Your face does look a bit white, sir." ("open", "shocked", "worried", "L", ypos="head") - gen "(With all my blood flow being redirected that's not surprising.)" ("base", xpos="far_left", ypos="head") + gen "(With all my blood flow being redirected, that's not surprising.)" ("base", xpos="far_left", ypos="head") gen "I'll...{w=0.4} *Ah*...{w=0.4} I'll be fine." ("base", xpos="far_left", ypos="head") - cho "*Slurp*... {w=0.4}*Slurp*...{w=0.4} *Slurp*" ("open_wide_tongue", "closed", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Slurp*... {w=0.4}*Slurp*...{w=0.4} *Slurp*" ("open_wide_tongue", "closed", "base", "up") gen "So... Regarding this--{w=0.2} *Ah*...{w=0.4}{nw}" ("base", xpos="far_left", ypos="head") gen "So... Regarding this-- *Ah*...{fast} Fuck..." ("grin", xpos="far_left", ypos="head") gen "Luck!{w} Regarding this Luck potion!" ("angry", xpos="far_left", ypos="head") gen "I find it seriously hard...{w=0.4} *Ngh*...{w=0.4} To believe she'd ever gobble, *Err*...{w=0.4} Drink something like that with such a high risk of...{w=0.4} *Hngh*...{w=0.4} Getting caught." ("base", xpos="far_left", ypos="head") - cho "*Gobble*...{w=0.4} *Slurp*...{w=0.4} *Slurp*" ("open_wide_tongue", "closed", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Gobble*...{w=0.4} *Slurp*...{w=0.4} *Slurp*" ("open_wide_tongue", "closed", "base", "up") gen "You're certain it's a luck potion and not...{w=0.4} *Ah*...{w=0.4} {i}Gatorade{/i}, or something?" ("base", xpos="far_left", ypos="head") hoo "Gator aid?" ("open", "base", "raised", "mid") hoo "That's not some performance enhancing drug is it?" ("open", "narrow", "worried", "mid") gen "Nah, it's just a sports--" ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopfast.ogg" - show image "cho_under_desk_blowjob_fast" as cg + play background "sounds/slickloopfast.ogg" + show image "cho_under_desk_blowjob_fast" as cg_doll - cho "*Gobble*...{w=0.2} *Slurp*...{w=0.2} *Gobble*" ("open_wide_tongue", "happyCl", "base", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Gobble*...{w=0.2} *Slurp*...{w=0.2} *Gobble*" ("open_wide_tongue", "happyCl", "base", "mid") gen "*Ngh*...{w=0.4} sports drink." ("angry", xpos="far_left", ypos="head") hoo "I see." ("open", "base", "base", "mid") gen "Electrobytes or whatchamacallit." ("base", xpos="far_left", ypos="head") hoo "Well I suppose it could be, I can't say I've seen what a Gator Aid container looks like." ("normal", "narrow", "base", "downL") - sna "Now hold on just one second!" ("snape_10", ypos="head") + sna "Now hold on just one second!" ("snape_10", xpos="far_right", ypos="head") sna "Did you not see how fast she was going on that broom?" ("snape_32") sna "It has to have been a luck potion!" ("snape_32") sna "Such precise movements should be impossible on anything but a firebolt!" ("snape_17") hoo "I thought you tested the remaining drops in the vial, Severus." ("open", "shocked", "shocked", "mid") - sna "*Err*... Not yet but--" ("snape_14") + sna "*Err*... Not yet, but--" ("snape_14") hoo "Are these accusations all just assumptions based on her athletic abilities?" ("angry", "narrow", "angry", "mid") sna "No, of course not!" ("snape_18") - sna "Hand me the vial and I'll inspect it right now!" ("snape_17") + sna "Hand me the vial, and I'll inspect it right now!" ("snape_17") gen "..." ("angry", xpos="far_left", ypos="head") ton "*Ahem*!" ("open", "narrow", "annoyed", "mid") #Tonks to the rescue - ton "I may be wrong here but don't you happen to have a stake in this game Severus?" ("open", "closed", "annoyed", "mid") + ton "I may be wrong here, but don't you happen to have a stake in this game, Severus?" ("open", "closed", "annoyed", "mid") sna "W--{w=0.2} What?" ("snape_36") gen "Oh yes, the bet!" ("grin", xpos="far_left", ypos="head") hoo "Bet?" ("open", "narrow", "base", "mid") #Cho stops moving - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_pop.ogg") - show image "cho_under_desk_idle_snape" as cg + stop background fadeout 2 + play sound "sounds/slick_pop.ogg" + show image "cho_under_desk_idle_snape" as cg_doll - cho "*Pwah*." ("open_tongue", "narrow", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Pwah*." ("open_tongue", "narrow", "base", "up") - show image "cho_under_desk_handjob" as cg + show image "cho_under_desk_handjob" as cg_doll with d3 ton "The boys have a bet on which team would end up winning the Quidditch cup." ("open", "base", "base", "R") - hoo "I see... Well that changes things..." ("normal", "base", "base", "L") + hoo "I see... Well, that changes things..." ("normal", "base", "base", "L") sna "You think I'd put some bet above my reputation as a potions master!?" ("snape_18") #Fake offended gen "...{w} Probably." ("base", xpos="far_left", ypos="head") hoo "Highly likely." ("open", "narrow", "base", "mid") ton "Most definitely." ("soft", "narrow", "shocked", "mid") - sna "*Hmph*... In that case I'll just bring the vial to professor Slughorn and have him test it!" ("snape_16") + sna "*Hmph*... In that case, I'll just bring the vial to professor Slughorn and have him test it!" ("snape_16") #Snape's legs vanish from CG as he goes to grab the bottle. - show image "cho_under_desk_idle" as cg + show image "cho_under_desk_idle" as cg_doll with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" ton "Get off me, I'll bring it to him myself! We just said we can't trust--" ("disgust", "base", "annoyed", "mid") sna "Give it here! I'm not going to--" ("snape_32") #Smashing bottle sound. - call play_sound("glass_break") + play sound "sounds/glass_break.ogg" pause 0.75 ton "Whoopsie." ("soft", "wide", "base", "up") @@ -1776,21 +2110,22 @@ label gryffindor_match_return: sna "..." ("snape_11") #wide eyed gen "..." ("base", xpos="far_left", ypos="head") gen "Show me the money!" ("grin", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/kettle.ogg") + play sound "sounds/kettle.ogg" sna "..." ("snape_08") #Raging hoo "Oh, look at the time. I think I better get going--" ("open", "shocked", "shocked", "R") #hooch sprints out the office sound - call play_sound("running") + $ hooch_chibi.hide() + play sound "sounds/run_03.ogg" pause 1.0 - call play_sound("door") + play sound "sounds/door.ogg" sna "{size=+10}{cps=10}Fuuuuuuuuuck{/cps}!!!!{/size}" - cho "*giggles*" + cho "*Giggles*" #fade to black #fade back to office - hide cg + hide cg_doll hoo "" (xpos="base", ypos="base") # This will ensure her character has correct positioning in the future events. hide hooch hide hooch_main @@ -1806,7 +2141,7 @@ label gryffindor_match_return: #Snape turns right call sna_walk(xpos="mid", speed=0.6) - $ renpy.play("sounds/MaleClearThroat.ogg") + play sound "sounds/MaleClearThroat.ogg" gen "Forgetting something?" ("base", xpos="far_left", ypos="head") sna "*Breathing heavily*" ("snape_43", xpos=460, ypos="base", trans=d3, flip=True) gen "Show me the--" ("grin", xpos="far_left", ypos="head") @@ -1814,24 +2149,45 @@ label gryffindor_match_return: #Snape walks to desk call sna_walk(xpos="desk", speed=1.5) - $ renpy.play("sounds/money_thud.ogg") + play sound "sounds/money_thud.ogg" $ game.gold += 2000 sna "Here, now shut...{w=0.2} Up!" ("snape_17", xpos=200, ypos="base", trans=d3, flip=False) call sna_walk(action="leave", speed=1.5) - call play_sound("kicking") + play sound "sounds/kick.ogg" with hpunch #Snape leaves #Slams door gen "Pleasure doing business with you!" ("grin", xpos="far_left", ypos="head") - call play_music("stop") + stop music fadeout 1 - $ renpy.play("sounds/giggle2.ogg") + play sound "sounds/giggle2.ogg" ton "*Giggles*..." ("grin", "narrow", "base", "R", trans=d3) #smirks - ton "You can come out now Miss Chang... The scary pale man is gone." ("base", "narrow", "base", "L") + label .introspection: + + if _in_replay: + show screen blkfade + with d5 + + pause 1 + + $ cho.set_pose(None) + $ cho.animation = None + $ cho.strip("clothes") + + call room("main_room") + call gen_chibi("sit_behind_desk") + call ton_chibi(xpos="mid", ypos="420") + + ton "" ("base", "narrow", "base", "L", xpos="base", ypos="base") + + hide screen blkfade + with d5 + + ton "You can come out now, Miss Chang... The scary pale man is gone." ("base", "narrow", "base", "L") gen "Just give her one more minute--" ("base", xpos="far_left", ypos="head") ton "Go on Miss Chang, no need to worry." ("soft", "base", "base", "L") @@ -1841,59 +2197,71 @@ label gryffindor_match_return: #Cho chibi appears next to the desk. gen "(Damn...)" ("base", xpos="far_left", ypos="head") - ton "There you are..." ("horny", "base", "base", "L", hair="horny") - ton "I apologise for making you hide under the headmaster's desk like that, Miss Chang." ("soft", "narrow", "base", "L", hair="horny") - cho "Thank you professor." ("open", "narrow", "base", "down", cheeks="heavy_blush", xpos="left", ypos="base", flip=True, trans=d3) - cho "" ("soft", "narrow", "base", "R", cheeks="heavy_blush", xpos="left", ypos="base") - ton "*Hmm*?" ("soft", "narrow", "raised", "L", hair="horny") - ton "Oh yes, the potion thing... I'm sorry Miss Chang but you're quite distracting." ("base", "base", "base", "L", hair="horny") - ton "*Mmm*...{w=0.4} Although I'm not complaining." ("horny", "narrow", "base", "L", hair="horny") + ton @ hair horny "There you are..." ("horny", "base", "base", "L") + ton @ hair horny "I apologise for making you hide under the headmaster's desk like that, Miss Chang." ("soft", "narrow", "base", "L") + cho @ cheeks heavy_blush "Thank you professor." ("open", "narrow", "base", "down", xpos="left", ypos="base", flip=True, trans=d3) + cho @ cheeks heavy_blush "" ("soft", "narrow", "base", "R", xpos="left", ypos="base") + ton @ hair horny "*Hmm*?" ("soft", "narrow", "raised", "L") + ton @ hair horny "Oh yes, the potion thing... I'm sorry Miss Chang, but you're quite distracting." ("base", "base", "base", "L") + ton @ hair horny "*Mmm*...{w=0.4} Although I'm not complaining." ("horny", "narrow", "base", "L") ton "You should probably put something on before entering the hallways though." ("base", "narrow", "base", "R") - ton "I took the liberty of fetching your clothes for you, put them on once you two are finished in here will you?" ("grin", "wink", "base", "mid") - cho "Yes, professor." ("soft", "narrow", "base", "L", cheeks="heavy_blush") + ton "I took the liberty of fetching your clothes for you, put them on once you two are finished in here, will you?" ("grin", "wink", "base", "mid") + cho @ cheeks heavy_blush "Yes, professor." ("soft", "narrow", "base", "L") #Ravenclaw clothpile - $ renpy.sound.play("sounds/cloth_sound4.ogg") + play sound "sounds/cloth_sound4.ogg" show screen cho_cloth_pile with d3 ton "Good girl." ("grin", "base", "base", "L") - ton "Make sure you use that potion to its full extent now, Miss Chang." ("horny", "base", "shocked", "L", hair="horny") - ton "Have fun!" ("grin", "wink", "base", "mid", hair="horny") + ton @ hair horny "Make sure you use that potion to its full extent now, Miss Chang." ("horny", "base", "shocked", "L") + ton @ hair horny "Have fun!" ("grin", "wink", "base", "mid") #Tonks leaves call ton_walk(action="leave") - cho "*Hmm*..." ("soft", "narrow", "base", "down", cheeks="blush", trans=d3) + cho @ cheeks blush "*Hmm*..." ("soft", "narrow", "base", "down", trans=d3) - cho "Have f--{w=0.2} Oh, I see..." ("soft", "narrow", "base", "down", cheeks="heavy_blush") - cho "{size=-4}The potion would let me know if this wasn't what he wanted...{/size}" ("soft", "narrow", "base", "downR", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Have f--{w=0.2} Oh, I see..." ("soft", "narrow", "base", "down") + + if _in_replay: + cho "(She thinks I drank the potion... But how does she know I want to--)" + cho "(Is it that obvious...)" + cho "(But how could I ask him... I didn't drink it...)" + cho "(Unless I told him--)" + + cho @ cheeks heavy_blush "{size=-4}The potion would let me know if this wasn't what he wanted...{/size}" ("soft", "narrow", "base", "downR") gen "*Huh*?" ("base", xpos="far_left", ypos="head") gen "What are you mumbling--" ("base", xpos="far_left", ypos="head") - play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadeout 3 fadein 1.0 - cho "[cho_genie_name], Why don't you take your clothes off and get on that desk for me?" ("soft", "narrow", "base", "mid", cheeks="blush") #smirk + play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadeout 3 fadein 1.0 if_changed + cho @ cheeks blush "[name_genie_cho], Why don't you take your clothes off and get on that desk for me?" ("soft", "narrow", "base", "mid") #smirk + + if _in_replay: + return + gen "W--{w=0.2} What?!" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/giggle.ogg") - cho "*giggles*" ("smile", "narrow", "base", "R", cheeks="heavy_blush") - cho "You've heard me..." ("base", "narrow", "base", "mid", cheeks="heavy_blush") + play sound "sounds/giggle.ogg" + cho @ cheeks heavy_blush "*Giggles*" ("smile", "narrow", "base", "R") + cho @ cheeks heavy_blush "You've heard me..." ("base", "narrow", "base", "mid") gen "But I thought..." ("base", xpos="far_left", ypos="head") - cho "Isn't this what you wanted?" ("soft", "narrow", "raised", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Isn't this what you wanted?" ("soft", "narrow", "raised", "mid") gen "Well, yes but--" ("base", xpos="far_left", ypos="head") # reference from police academy - cho "On your feet, soldier!" ("scream", "closed", "angry", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "On your feet, soldier!" ("scream", "closed", "angry", "mid") gen "Yes ma'am!" ("grin", xpos="far_left", ypos="head") # + #Cho and Genie has sex #Black fade #Chair sound or similar stop music fadeout 1.0 show screen blkfade with d5 - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. - $ renpy.sound.play("sounds/giggle.ogg") - cho "*giggles*" ("base", "base", "base", "mid") + play sound "sounds/giggle.ogg" + cho "*Giggles*" ("base", "base", "base", "mid") cho "So, all it took was a bit of coaching?" ("base", "base", "base", "mid") gen "*Err*..." @@ -1902,203 +2270,205 @@ label gryffindor_match_return: cho "Go on then...{w=0.4} Take those clothes off already." ("base", "base", "base", "mid") cho "No, hold on... Let me do it!" ("base", "base", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .8 cho "What the--{w=0.2} Your figure feels a lot more muscular than I imagined." ("base", "base", "base", "mid") - gen "[cho_name]?" + gen "[name_cho_genie]?" cho "No matter..." ("base", "base", "base", "mid") cho "Now, lay down on the desk for me." ("base", "base", "base", "mid") #desk creak sound - call play_sound("climb_desk") + play sound "sounds/08_hop_on_desk.ogg" pause 3 - show image "cho_sex idle" as cg zorder 16 - show image "dustfloating" as cg_effects zorder 17 + show image "cho_sex idle" as cg_doll zorder 16 + show image "dustfloating" as cg_doll_effects zorder 17 hide screen blkfade hide cho_main with d9 - cho "*Mmm*...{w=0.4} You're lucky I've been training for this, [cho_genie_name]..." ("smile", "narrow", "base", "down", cheeks="heavy_blush", ypos="head", flip=False, trans=d3) - cho "Of course... I figured it'd come to this eventually..." ("open", "closed", "base", "mid", cheeks="heavy_blush") - cho "Ever since I saw this thing for the first time..." ("base", "narrow", "base", "down", cheeks="heavy_blush") - gen "(Why's she doing this? She already won the cup didn't she?)" - cho "*Sigh*..." ("base", "closed", "base", "mid", cheeks="heavy_blush", trans=d3) - cho "To think that I would actually agree to all of this just so that I could win that cup..." ("base", "narrow", "base", "stare", cheeks="heavy_blush") - cho "I would've never imagined that I'd go so far as to take my clothes off in front of the entire school..." ("base", "closed", "worried", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Mmm*...{w=0.4} You're lucky I've been training for this, [name_genie_cho]..." ("smile", "narrow", "base", "down", xpos="base", ypos="head", flip=False, trans=d3) + cho @ cheeks heavy_blush "Of course... I figured it'd come to this eventually..." ("open", "closed", "base", "mid") + cho @ cheeks heavy_blush "Ever since I saw this thing for the first time..." ("base", "narrow", "base", "down") + gen "(Why's she doing this? She already won the cup, didn't she?)" + cho @ cheeks heavy_blush "*Sigh*..." ("base", "closed", "base", "mid", trans=d3) + cho @ cheeks heavy_blush "To think that I would actually agree to all of this just so that I could win that cup..." ("base", "narrow", "base", "stare") + cho @ cheeks heavy_blush "I would've never imagined that I'd go so far as to take my clothes off in front of the entire school..." ("base", "closed", "worried", "mid") gen "Well, I don't think I asked you--" - cho "Sure, I enjoyed showing off my athletic body before." ("soft", "closed", "base", "mid", cheeks="heavy_blush", trans=d3) - cho "But even then..." ("base", "closed", "base", "stare", cheeks="heavy_blush") - cho "If you had told me that the thrills leading up to every game would've gradually changed from winning the cup to looking forward to doing all those despicable things..." ("base", "closed", "base", "mid", cheeks="heavy_blush") - cho "Well I'm not sure I would've believed it..." ("base", "narrow", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Sure, I enjoyed showing off my athletic body before." ("soft", "closed", "base", "mid", trans=d3) + cho @ cheeks heavy_blush "But even then..." ("base", "closed", "base", "stare") + cho @ cheeks heavy_blush "If you had told me that the thrills leading up to every game would've gradually changed from winning the cup to looking forward to doing all those despicable things..." ("base", "closed", "base", "mid") + cho @ cheeks heavy_blush "Well, I'm not sure I would've believed it..." ("base", "narrow", "base", "stare") gen "*Ahem*... I'm sure your fans would say the same!" - cho "I'm not just talking about the things I did on the pitch..." ("base", "narrow", "base", "R", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "I'm not just talking about the things I did on the pitch..." ("base", "narrow", "base", "R", trans=d3) gen "..." - cho "You know... I was getting increasingly worried once the finals loomed closer." ("open", "narrow", "base", "down", cheeks="heavy_blush", trans=d3) - cho "After all... Once I had won the game, there wouldn't be any more need for our... extra curricular activities would there?" ("soft", "narrow", "base", "mid", cheeks="heavy_blush") - cho "You'd have no more leverage over me...{w=0.4} Right?" ("smile", "narrow", "raised", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "You know... I was getting increasingly worried once the finals loomed closer." ("open", "narrow", "base", "down", trans=d3) + cho @ cheeks heavy_blush "After all... Once I had won the game, there wouldn't be any more need for our... extracurricular activities, would there?" ("soft", "narrow", "base", "mid") + cho @ cheeks heavy_blush "You'd have no more leverage over me...{w=0.4} Right?" ("smile", "narrow", "raised", "mid") gen "..." - cho "No more reason for me to sell you any favours..." ("open", "closed", "base", "mid", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "No more reason for me to sell you any favours..." ("open", "closed", "base", "mid", trans=d3) gen "Miss--" - cho "You thought you were the only one having those thoughts?" ("soft", "narrow", "base", "mid", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "You thought you were the only one having those thoughts?" ("soft", "narrow", "base", "mid", trans=d3) gen "*Err*..." - cho "After I sucked your dick I couldn't help but worry--" ("open", "narrow", "base", "mid", cheeks="heavy_blush", trans=d3) - cho "That I'd end up winning the cup before ever knowing what my coach's thick beater's bat would feel like inside on my tight little... Snitch." ("horny", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "After I sucked your dick I couldn't help but worry--" ("open", "narrow", "base", "mid", trans=d3) + cho @ cheeks heavy_blush "That I'd end up winning the cup before ever knowing what my coach's thick beater's bat would feel like inside my tight little... Snitch." ("horny", "narrow", "base", "down") #Cho up position dick in front of body - show image "cho_sex up" as cg + show image "cho_sex up" as cg_doll with d3 gen "Miss Chang!" - cho "I was hoping it wouldn't come to this..." ("open", "closed", "base", "mid", cheeks="heavy_blush", trans=d3) - cho "That we could've reached this stage within our agreement..." ("soft", "narrow", "base", "down", cheeks="heavy_blush") - cho "Although it's quite fitting to have this be part of my reward, don't you think?" ("smile", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "I was hoping it wouldn't come to this..." ("open", "closed", "base", "mid", trans=d3) + cho @ cheeks heavy_blush "That we could've reached this stage within our agreement..." ("soft", "narrow", "base", "down") + cho @ cheeks heavy_blush "Although it's quite fitting to have this be part of my reward, don't you think?" ("smile", "narrow", "base", "down") #Cho positioning dick against pussy pose - show image "cho_sex insert" as cg + show image "cho_sex insert" as cg_doll with d3 - cho "As much as it is a reward for you..." ("base", "narrow", "base", "down", cheeks="heavy_blush") + $ states.cho.status.sex = True + + cho @ cheeks heavy_blush "As much as it is a reward for you..." ("base", "narrow", "base", "down") gen "Are you... Are you sure about this?" - cho "Sure? I've never been so sure about anything in my life!" ("smile", "base", "base", "mid", cheeks="heavy_blush", trans=d3) - cho "This potion is incredible!" ("crooked_smile", "base", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Sure? I've never been so sure about anything in my life!" ("smile", "base", "base", "mid", trans=d3) + cho @ cheeks heavy_blush "This potion is incredible!" ("crooked_smile", "base", "base", "stare") gen "The...{w=0.4} So it's just the potion talking?" - cho "*Tsk*... Of course not... Luck potion doesn't work that way, we both know that." ("smile", "narrow", "base", "R", cheeks="heavy_blush", trans=d3) - cho "And let me tell you, what they say about it is true... This is the best day I've had in my life!" ("crooked_smile", "narrow", "base", "stare", cheeks="heavy_blush") - cho "And it's about to get even better..." ("crooked_smile", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Tsk*... Of course not... Luck potion doesn't work that way, we both know that." ("smile", "narrow", "base", "R", trans=d3) + cho @ cheeks heavy_blush "And let me tell you, what they say about it is true... This is the best day I've had in my life!" ("crooked_smile", "narrow", "base", "stare") + cho @ cheeks heavy_blush "And it's about to get even better..." ("crooked_smile", "narrow", "base", "down") #Cho sits down on genie's dick and gets fully penetrated - show image "cho_sex up inside" as cg + show image "cho_sex up inside" as cg_doll with d3 pause 0.25 - cho "*Nnngh--{w=0.40}{nw}" ("angry", "closed", "angry", "mid", cheeks="heavy_blush") - show image "cho_sex middle" as cg + cho @ cheeks heavy_blush "*Nnngh--{w=0.40}{nw}" ("angry", "closed", "angry", "mid") + show image "cho_sex middle" as cg_doll with d3 pause 0.25 - $ renpy.sound.play("sounds/slick_02.ogg") - show image "cho_sex down" as cg + play sound "sounds/slick_02.ogg" + show image "cho_sex down" as cg_doll with d3 pause 0.25 with hpunch - cho "*Ah*..." ("open_wide_tongue", "narrow", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Ah*..." ("open_wide_tongue", "narrow", "base", "up") gen "*Ngh*!" gen "By the great--{w=0.2} You've already almost made me bust from that blowjob, girl!" - cho "Then let's finish the job this time, shall we?" ("grin", "narrow", "base", "mid", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "Then let's finish the job this time, shall we?" ("grin", "narrow", "base", "mid", trans=d3) #Cho starts moving - play bg_sounds "sounds/slickloop.ogg" - show image "cho_sex loop slow" as cg + play background "sounds/slickloop.ogg" + show image "cho_sex loop slow" as cg_doll with d3 gen "*Hngh*!" gen "So... *Ngh*-- You didn't blow me just to get out of trouble?" - cho "*Ah*...{w=0.4} No...{w=0.4} Although normally I probably would've considered...{w=0.4} *Ah*...{w=0.4} Justifying it that way." ("soft", "closed", "base", "stare", cheeks="heavy_blush", trans=d3) - cho "But...{w=0.2} *Ah*...{w=0.4} The potion ...{w=0.2} *Ah*..." ("smile", "closed", "base", "mid", cheeks="heavy_blush") - cho "Well, for some reason I don't feel the need to..." ("soft", "narrow", "base", "stare", cheeks="heavy_blush") - cho "And that...{w=0.2} *Ah*...{w=0.4} I shouldn't hide..." ("smile", "narrow", "base", "stare", cheeks="heavy_blush") - cho "The things I truly--{w=0.2}*Ah*...{w=0.4} Want from my coach." ("horny", "narrow", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Ah*...{w=0.4} No...{w=0.4} Although normally, I probably would've considered...{w=0.4} *Ah*...{w=0.4} Justifying it that way." ("soft", "closed", "base", "stare", trans=d3) + cho @ cheeks heavy_blush "But...{w=0.2} *Ah*...{w=0.4} The potion ...{w=0.2} *Ah*..." ("smile", "closed", "base", "mid") + cho @ cheeks heavy_blush "Well, for some reason I don't feel the need to..." ("soft", "narrow", "base", "stare") + cho @ cheeks heavy_blush "And that...{w=0.2} *Ah*...{w=0.4} I shouldn't hide..." ("smile", "narrow", "base", "stare") + cho @ cheeks heavy_blush "The things I truly--{w=0.2}*Ah*...{w=0.4} Want from my coach." ("horny", "narrow", "base", "stare") gen "Clever little potion, that." gen "In that case, why don't you tell me..." - cho "*Hmm*?" ("soft", "narrow", "base", "stare", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "*Hmm*?" ("soft", "narrow", "base", "stare", trans=d3) gen "I knew you enjoyed showing off your body--" gen "But when did you start getting so naughty?" - cho "That's the first thing you ask?" ("smile", "narrow", "raised", "stare", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "That's the first thing you ask?" ("smile", "narrow", "raised", "stare", trans=d3) gen "Of course!" - cho "*giggles*..." ("grin", "closed", "base", "downR", cheeks="heavy_blush", trans=d3) #sound - cho "Well--{w=0.2} *Ah*...{w=0.4} Let me think..." ("base", "closed", "base", "mid", cheeks="heavy_blush") - cho "It--{w=0.2} *Ah*... It was probably when I first saw Hermione's naked--{w=0.2}*Ah*... Naked body in your office..." ("open", "narrow", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Giggles*..." ("grin", "closed", "base", "downR", trans=d3) #sound + cho @ cheeks heavy_blush "Well--{w=0.2} *Ah*...{w=0.4} Let me think..." ("base", "closed", "base", "mid") + cho @ cheeks heavy_blush "It--{w=0.2} *Ah*... It was probably when I first saw Hermione's naked--{w=0.2}*Ah*... Naked body in your office..." ("open", "narrow", "base", "stare") gen "*Heh-he*... I knew--" - cho "It made me extremely--{w=0.2} *Ah*...{w=0.4} Angry...{w=0.4} And confused..." ("angry", "narrow", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "It made me extremely--{w=0.2} *Ah*...{w=0.4} Angry...{w=0.4} And confused..." ("angry", "narrow", "base", "stare") gen "Oh?" - cho "Yes! I had just won the game against Slytherin, and as I came--{w=0.2} *Ah*...{w=0.4} Came in here to celebrate with my coach..." ("angry", "closed", "base", "mid", cheeks="heavy_blush", trans=d3) - cho "Who do I see but Hermione Granger, smiling, and stark naked!" ("soft", "closed", "angry", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Yes! I had just won the game against Slytherin, and as I came--{w=0.2} *Ah*...{w=0.4} came in here to celebrate with my coach..." ("angry", "closed", "base", "mid", trans=d3) + cho @ cheeks heavy_blush "Who do I see but Hermione Granger, smiling, and stark naked!" ("soft", "closed", "angry", "down") gen "Well... It wasn't--" - cho "That's when I--{w=0.2} *Ah*...{w=0.4} When I realised that maybe I wanted more than just winning the cup." ("soft", "narrow", "base", "stare", cheeks="heavy_blush") - cho "I mean, I didn't even think to go celebrate with my team. I instinctively went straight to your office." ("annoyed", "base", "base", "stare", cheeks="heavy_blush") - cho "And if there was any{w=0.2} *Ngh*...{w=0.4} Any doubt after that..." ("open", "narrow", "base", "stare", cheeks="heavy_blush") - cho "Getting--{w=0.2} *Mmm*...{w=0.4} Getting that broom from Madame Hooch just proved it to me even more..." ("smile", "narrow", "base", "up", cheeks="heavy_blush") - cho "Since I really had to try and figure out what makes me tick if I wanted to win the cup." ("smile", "narrow", "base", "up", cheeks="heavy_blush") - cho "I couldn't help--{w=0.2}{nw}" ("soft", "narrow", "base", "up", cheeks="heavy_blush") - cho "I couldn't help--{fast} *Ah*..." ("smile", "narrow", "base", "stare", cheeks="heavy_blush") - cho "The only thing I could think about was what it would be like to have you bend me over and--{w=0.2}*Ah*...{w=0.4} fuck me on the commentators podium with everyone watching me..." ("smile", "narrow", "base", "stare", cheeks="heavy_blush") #Big moan text + cho @ cheeks heavy_blush "That's when I--{w=0.2} *Ah*...{w=0.4} When I realised that maybe I wanted more than just winning the cup." ("soft", "narrow", "base", "stare") + cho @ cheeks heavy_blush "I mean, I didn't even think to go celebrate with my team. I instinctively went straight to your office." ("annoyed", "base", "base", "stare") + cho @ cheeks heavy_blush "And if there was any{w=0.2} *Ngh*...{w=0.4} Any doubt after that..." ("open", "narrow", "base", "stare") + cho @ cheeks heavy_blush "Getting--{w=0.2} *Mmm*...{w=0.4} Getting that broom from Madam Hooch just proved it to me even more..." ("smile", "narrow", "base", "up") + cho @ cheeks heavy_blush "Since I really had to try and figure out what makes me tick if I wanted to win the cup." ("smile", "narrow", "base", "up") + cho @ cheeks heavy_blush "I couldn't help--{w=0.2}{nw}" ("soft", "narrow", "base", "up") + cho @ cheeks heavy_blush "I couldn't help--{fast} *Ah*..." ("smile", "narrow", "base", "stare") + cho @ cheeks heavy_blush "The only thing I could think about was what it would be like to have you bend me over and--{w=0.2}*Ah*...{w=0.4} fuck me on the commentator's podium with everyone watching me..." ("smile", "narrow", "base", "stare") #Big moan text gen "You little exhibitionist slut!" gen "If only they could see you now." - cho "Yes! Let's call Hermione up here!" ("grin", "narrow", "base", "stare", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "Yes! Let's call Hermione up here!" ("grin", "narrow", "base", "stare", trans=d3) gen "What?!" - cho "*giggles*" ("smile", "closed", "base", "mid", cheeks="heavy_blush", trans=d3) - cho "Maybe some other time... She's probably still mad over their loss." ("smile", "narrow", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Giggles*" ("smile", "closed", "base", "mid", trans=d3) + cho @ cheeks heavy_blush "Maybe some other time... She's probably still mad over their loss." ("smile", "narrow", "base", "stare") gen "And the fact that you came on that boy's face." - cho "That's why he crashed?" ("soft", "base", "base", "stare", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "That's why he crashed?" ("soft", "base", "base", "stare", trans=d3) gen "..." - cho "*pfff-- Ha-ha-hah*!" ("grin", "happyCl", "base", "mid", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "*Pfff-- Ha-ha-hah*!" ("grin", "happyCl", "base", "mid", trans=d3) gen "*Heh-heh*" gen "She looked so jealous too!" - cho "..." ("soft", "base", "base", "stare", cheeks="heavy_blush", trans=d3) - cho "She did?!" ("angry", "base", "base", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "..." ("soft", "base", "base", "stare", trans=d3) + cho @ cheeks heavy_blush "She did?!" ("angry", "base", "base", "mid") gen "..." - cho "Oh, you're just teasing me..." ("annoyed", "narrow", "base", "stare", cheeks="heavy_blush", trans=d3) - cho "Well, two can play that game..." ("base", "narrow", "angry", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Oh, you're just teasing me..." ("annoyed", "narrow", "base", "stare", trans=d3) + cho @ cheeks heavy_blush "Well, two can play that game..." ("base", "narrow", "angry", "mid") hide cho_main #sexloop fast. #speedlines - play bg_sounds "sounds/sexloopfast.ogg" - show image "cho_sex loop fast" as cg + play background "sounds/sexloopfast.ogg" + show image "cho_sex loop fast" as cg_doll with d1 gen "*Argh*...{w=0.4} You little--" - cho "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open_tongue", "narrow", "base", "up", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open_tongue", "narrow", "base", "up", trans=d3) gen "Someone's--{w=0.2} *Ngh*...{w=0.4} Suddenly eager for their reward--" - cho "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open_tongue", "narrow", "base", "up", cheeks="heavy_blush", trans=d3) - cho "Coach--" ("smile", "narrow", "base", "up", cheeks="heavy_blush") - cho "I'm...{w=0.2} I'm close to--" ("smile", "narrow", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open_tongue", "narrow", "base", "up", trans=d3) + cho @ cheeks heavy_blush "Coach--" ("smile", "narrow", "base", "up") + cho @ cheeks heavy_blush "I'm...{w=0.2} I'm close to--" ("smile", "narrow", "base", "up") gen "Me too!" with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") - cho "Coach!" ("scream", "narrow", "base", "up", cheeks="heavy_blush", trans=d3) + play sound "sounds/slick_01.ogg" + cho @ cheeks heavy_blush "Coach!" ("scream", "narrow", "base", "up", trans=d3) with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") - cho "{heart}Aaaah!!!{w=0.4} Yes!!!{heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="heavy_blush", trans=d3) + play sound "sounds/slick_01.ogg" + cho @ cheeks heavy_blush "{heart}Aaaah!!!{w=0.4} Yes!!!{heart}" ("open_wide_tongue", "narrow", "base", "up", trans=d3) menu: "Take my champagne shower!!!": #Cho standing, dick inside - cho "*Nnnngh*--{w=0.2} Wait!!" ("angry", "narrow", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Nnnngh*--{w=0.2} Wait!!" ("angry", "narrow", "base", "up") #Cho holding dick pose - cho "I'm still...{w=0.4} I'm still--" ("clench", "narrow", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "I'm still...{w=0.4} I'm still--" ("clench", "narrow", "base", "up") gen "Too late!!!" #Pull out sound #Cho standing pose, genie body 3 (cho normal up, jacking it) - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_02.ogg") - show image "cho_sex up jerking" as cg + stop background fadeout 2 + play sound "sounds/slick_02.ogg" + show image "cho_sex up jerking" as cg_doll with d3 pause .5 gen "*Aaargh*!!" #Genie cums - $ renpy.sound.play("sounds/slick_01.ogg") - show image "cho_sex up cum outside stage0" as cg + play sound "sounds/slick_01.ogg" + show image "cho_sex up cum outside stage0" as cg_doll with d3 pause 0.66 - show image "cho_sex up cum outside stage1" as cg + show image "cho_sex up cum outside stage1" as cg_doll with d3 pause 0.66 - $ renpy.sound.play("sounds/slick_01.ogg") - show image "cho_sex up cum outside stage2" as cg + play sound "sounds/slick_01.ogg" + show image "cho_sex up cum outside stage2" as cg_doll with d3 pause 0.66 - show image "cho_sex up cum outside stage3" as cg + show image "cho_sex up cum outside stage3" as cg_doll with d3 - gen "Ah..." + gen "*Ah*..." pause 1.0 @@ -2106,165 +2476,168 @@ label gryffindor_match_return: $ cho.set_cum(breasts="light", body="light") gen "That's...{w=0.4} That's some mad timing on that pullout game..." - cho "*Ah*...{w=0.4} *Ah*...{w=0.4} Gotta wait for just the--{w=0.2} *Ah*..." ("smile", "narrow", "base", "stare", cheeks="heavy_blush") - cho "Right moment..." ("base", "narrow", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Ah*...{w=0.4} *Ah*...{w=0.4} Gotta wait for just the--{w=0.2} *Ah*..." ("smile", "narrow", "base", "stare") + cho @ cheeks heavy_blush "Right moment..." ("base", "narrow", "base", "up") #Cho standing tasting cum pose, dick outside (cum on dick) #TODO change for variant with cum on her chest included - show image "cho_sex up taste outside" as cg + show image "cho_sex up taste outside" as cg_doll with d2 - cho "*Mmm*..." ("base", "closed", "base", "stare", cheeks="heavy_blush") - cho "My reward..." ("smile", "closed", "base", "stare", cheeks="heavy_blush") - cho "*giggles*." ("smile", "closed", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Mmm*..." ("base", "closed", "base", "stare") + cho @ cheeks heavy_blush "My reward..." ("smile", "closed", "base", "stare") + cho @ cheeks heavy_blush "*Giggles*." ("smile", "closed", "base", "stare") + $ states.cho.status.cumshot = True "Take my seed in your golden cup!": - cho "My--" ("smile", "narrow", "base", "up", cheeks="heavy_blush") + cho @ cheeks heavy_blush "My--" ("smile", "narrow", "base", "up") gen "*Aaaargh*!!!" - show image "cho_sex middle" as cg + show image "cho_sex middle" as cg_doll pause 0.25 - show image "cho_sex down" as cg - $ renpy.sound.play("sounds/slick_01.ogg") + show image "cho_sex down" as cg_doll + play sound "sounds/slick_01.ogg" with kissiris - stop bg_sounds fadeout 1 + stop background fadeout 1 - cho "*Ah*!!! {w=0.5} {nw}" ("open_wide_tongue", "base", "base", "ahegao", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Ah*!!! {w=0.5} {nw}" ("open_wide_tongue", "base", "base", "ahegao") with flashbulb - $ renpy.sound.play("sounds/slick_02.ogg") - show image "cho_sex idle creampie" as cg + play sound "sounds/slick_02.ogg" + show image "cho_sex idle creampie" as cg_doll with d3 - gen "Ah...." - cho "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("grin", "narrow", "base", "up", cheeks="heavy_blush", trans=d3) + gen "*Ah*...." + cho @ cheeks heavy_blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("grin", "narrow", "base", "up", trans=d3) #Cho moves to stand pose (cycle images?) - show image "cho_sex middle cum inside" as cg + show image "cho_sex middle cum inside" as cg_doll with d2 pause 0.25 - show image "cho_sex up cum inside" as cg + show image "cho_sex up cum inside" as cg_doll with d2 pause 0.25 - $ renpy.sound.play("sounds/slick_02.ogg") - show image "cho_sex up cum outside" as cg + play sound "sounds/slick_02.ogg" + show image "cho_sex up cum outside" as cg_doll with d2 - cho "I think--{w=0.4} *Ah*...{w=0.4} I think I've finally found a fun activity to put into my workout routine..." ("smile", "narrow", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "I think--{w=0.4} *Ah*...{w=0.4} I think I've finally found a fun activity to put into my workout routine..." ("smile", "narrow", "base", "stare") - show image "cho_sex insert cum inside" as cg + show image "cho_sex insert cum inside" as cg_doll with d2 pause 0.25 - show image "cho_sex up taste" as cg + show image "cho_sex up taste" as cg_doll with d2 #Cum sound #Cho standing tasting cum pose, dick outside (cum on dick) - cho "*Mmm*..." ("smile", "closed", "base", "stare", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Mmm*..." ("smile", "closed", "base", "stare") gen "You naughty girl..." - cho "*giggles*..." ("smile", "narrow", "base", "mid", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "*Giggles*..." ("smile", "narrow", "base", "mid", trans=d3) #Adds cum on Cho doll pussy $ cho.set_cum(pussy="heavy") + $ states.cho.status.creampie = True + #Office screen #Cho is naked in front of the desk stop music fadeout 1.0 - hide image cg - hide image cg_effects + hide image cg_doll + hide image cg_doll_effects call cho_chibi(xpos="desk", ypos="base", flip=False) with fade - gen "That... Was amazing!" ("grin", xpos="far_left", ypos="head") - cho "...{w=0.5}{nw}" ("soft", "narrow", "base", "stare", cheeks="heavy_blush", xpos="base", ypos="base", trans=d3) - cho "...{fast}" ("soft", "wide", "base", "stare", cheeks="heavy_blush") - gen "[cho_name]?" ("base", xpos="far_left", ypos="head") - cho "Oh my god...{w=0.4} The potion!" ("disgust", "wide", "base", "stare", cheeks="heavy_blush") + gen "That... was amazing!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "...{w=0.5}{nw}" ("soft", "narrow", "base", "stare", xpos="base", ypos="base", trans=d3) + cho @ cheeks heavy_blush "...{fast}" ("soft", "wide", "base", "stare") + gen "[name_cho_genie]?" ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Oh my god...{w=0.4} The potion!" ("disgust", "wide", "base", "stare") gen "What are you--" ("base", xpos="far_left", ypos="head") - cho "I can't believe it made me do that!" ("disgust", "narrow", "angry", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "I can't believe it made me do that!" ("disgust", "narrow", "angry", "down") gen "Uh-Oh..." ("angry", xpos="far_left", ypos="head") - cho "...{w=0.8}{nw}" ("annoyed", "narrow", "angry", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "...{w=0.8}{nw}" ("annoyed", "narrow", "angry", "mid") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed - cho "...{fast}" ("grin", "narrow", "base", "mid", cheeks="heavy_blush") #smirks + cho @ cheeks heavy_blush "...{fast}" ("grin", "narrow", "base", "mid") #smirks gen "*Heh-Heh*..." ("grin", xpos="far_left", ypos="head") - cho "*giggles*" ("smile", "narrow", "base", "mid", cheeks="heavy_blush") #sound - cho "Well then, I think I've almost run out of energy for today... I better spend the rest celebrating with everyone." ("smile", "narrow", "base", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Giggles*" ("smile", "narrow", "base", "mid") #sound + cho @ cheeks heavy_blush "Well then, I think I've almost run out of energy for today... I better spend the rest celebrating with everyone." ("smile", "narrow", "base", "mid") gen "Sure thing." ("base", xpos="far_left", ypos="head") gen "Although..." ("base", xpos="far_left", ypos="head") gen "Maybe take a shower first?" ("base", xpos="far_left", ypos="head") - cho "*Hmm*... We'll see..." ("base", "narrow", "base", "R", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Hmm*... We'll see..." ("base", "narrow", "base", "R") #Cho walks to window call cho_walk(xpos=439, ypos=400) - gen "Ahem..." ("base", xpos="far_left", ypos="head") + gen "*Ahem*..." ("base", xpos="far_left", ypos="head") #Cho turns - cho "Yes?" ("soft", "base", "base", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Yes?" ("soft", "base", "base", "mid") gen "You should probably put some clothes on..." ("base", xpos="far_left", ypos="head") - cho "Oh...{w=0.4} Well if I have to..." ("annoyed", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Oh...{w=0.4} Well if I have to..." ("annoyed", "narrow", "base", "down") - #cho walks to clothes pile and rumages through it + #cho walks to clothes pile and rummages through it call cho_walk(xpos=438, ypos=435) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .8 - cho "*Huh*..." ("soft", "base", "base", "down", cheeks="heavy_blush", trans=d3) - cho "My panties are missing." ("soft", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Huh*..." ("soft", "base", "base", "down", trans=d3) + cho @ cheeks heavy_blush "My panties are missing." ("soft", "narrow", "base", "down") gen "Oh... *Err*..." ("base", xpos="far_left", ypos="head") - cho "Do you think Hermione took them?" ("soft", "narrow", "base", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Do you think Hermione took them?" ("soft", "narrow", "base", "mid") gen "...{w=0.4} Sure...{w=0.4} Why not." ("base", xpos="far_left", ypos="head") - cho "Figured..." ("base", "narrow", "base", "downR", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Figured..." ("base", "narrow", "base", "downR") gen "I could probably get you another pair." ("base", xpos="far_left", ypos="head") - cho "Nah." ("base", "narrow", "base", "R", cheeks="heavy_blush") - cho "It'll be easier to ride the broom without them anyway." ("base", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Nah." ("base", "narrow", "base", "R") + cho @ cheeks heavy_blush "It'll be easier to ride the broom without them anyway." ("base", "narrow", "base", "down") #Cho gets dressed - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" hide cho_main $ cho.wear("all") $ cho.strip("panties") $ cho.set_cum(None) $ choq_accessory_protectors.zorder = 3 - $ cho.rebuild() + hide screen cho_cloth_pile with d3 pause 0.5 call cho_walk(xpos=437, ypos=400) - cho "Bye then!" ("smile", "base", "base", "mid", cheeks="heavy_blush", trans=d3) + cho @ cheeks heavy_blush "Bye then!" ("smile", "base", "base", "mid", trans=d3) hide cho_main with d3 pause .5 - $ renpy.sound.play("sounds/boing05.ogg") + play sound "sounds/boing05.ogg" call cho_chibi("hide") pause 1 - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris cho "{heart}{size=+4}*Ah*{/size}{heart}" gen "...{w} That girl sure is something else." ("base", xpos="far_left", ypos="head") - if cho_whoring < 24: - $ cho_whoring = 24 + if states.cho.level < 24: + $ states.cho.level = 24 call end_of_content - $ tonks_busy = True - $ snape_busy = True - $ hermione_busy = True - $ luna_busy = True - $ cho_busy = True + $ states.ton.busy = True + $ states.sna.busy = True + $ states.her.busy = True + $ states.lun.busy = True + $ states.cho.busy = True #Reset zorder $ tonks.zorder = 15 $ hooch.zorder = 15 - $ snape_zorder = 15 + $ states.sna.image.zorder = 15 $ cho.zorder = 15 $ snape_chibi.zorder = 3 @@ -2277,14 +2650,13 @@ label gryffindor_match_return: $ choq_accessory_protectors.zorder = 27 - $ cho_tier = 4 - $ cho_favors_unlocked = False + $ states.cho.tier = 4 + $ states.cho.favors_unlocked = False - $ cho_quid.lock_training = False - $ cho_quid.lock_practice = True - $ cho_quid.lock_tactic = False - $ cho_quid.lock_training = True - $ gryffindor_match = "completed" - call update_cho_favors + $ states.cho.ev.quidditch.lock_training = False + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.lock_tactic = False + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.gryffindor_stage = "completed" jump end_cho_event diff --git a/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy b/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy index cc4d3b3f..ee0919e7 100644 --- a/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/gryffindor_practice.rpy @@ -2,9 +2,9 @@ label cc_gt_start: gen "Alright then. Let's get you out there to smack some asses!" ("base", xpos="far_left", ypos="head") - cho "Smack some asses, [cho_genie_name]?" ("angry", "base", "base", "mid") + cho "Smack some asses, [name_genie_cho]?" ("angry", "base", "base", "mid") gen "You've heard me!" ("base", xpos="far_left", ypos="head") - gen "It's not against the rules is it?" ("base", xpos="far_left", ypos="head") + gen "It's not against the rules, is it?" ("base", xpos="far_left", ypos="head") cho "W--{w=0.2} Well... I suppose not, unless I do it with my elbows." ("soft", "narrow", "base", "R") gen "With your elbows...?" ("base", xpos="far_left", ypos="head") cho "Yeah, excessive use of elbows is against the rules." ("soft", "narrow", "base", "mid") @@ -12,22 +12,22 @@ label cc_gt_start: cho "It's a real rule! Excessive use of elbows, otherwise known as cobbing--" ("mad", "narrow", "base", "mid") gen "Alright fine, no elbow touching." ("base", xpos="far_left", ypos="head") gen "You won't need them to turn some bums red." ("base", xpos="far_left", ypos="head") - cho "So that's what you meant by getting intimate? Smacking the Gryffindor's bums until they turn red?" ("disgust", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "So that's what you meant by getting intimate? Smacking the Gryffindor's bums until they turn red?" ("disgust", "narrow", "base", "mid") gen "Yeah!" ("base", xpos="far_left", ypos="head") - cho "Isn't that a bit extreme?" ("angry", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Isn't that a bit extreme?" ("angry", "narrow", "base", "mid") gen "A good ole love tap is hardly extreme." ("base", xpos="far_left", ypos="head") - gen "If you do it well enough then I'm sure Miss Granger will notice." ("base", xpos="far_left", ypos="head") - cho "Well enough [cho_genie_name]?" ("angry", "narrow", "base", "mid", cheeks="blush") + gen "If you do it well enough, then I'm sure Miss Granger will notice." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Well enough, [name_genie_cho]?" ("angry", "narrow", "base", "mid") gen "Yeah, make those slaps echo across the pitch!" ("base", xpos="far_left", ypos="head") - cho "*Hmm*... Alright then, I'll make sure of that..." ("open", "narrow", "base", "downR", cheeks="blush") - gen "Great! Then get out there and spank some booty, [cho_name]." ("base", xpos="far_left", ypos="head") - cho "On it, [cho_genie_name]!" ("angry", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "*Hmm*... Alright then, I'll make sure of that..." ("open", "narrow", "base", "downR") + gen "Great! Then get out there and spank some booty, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "On it, [name_genie_cho]!" ("angry", "closed", "base", "mid") # Cho leaves. call cho_walk(action="leave") - $ cho_quid.in_progress = True - $ cho_quid.gryffindor_failed = True + $ states.cho.ev.quidditch.in_progress = True + $ states.cho.ev.quidditch.gryffindor_failed = True call gen_chibi("sit_behind_desk") with fade @@ -35,7 +35,7 @@ label cc_gt_start: jump end_cho_event label cc_gt_return: - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" @@ -45,14 +45,14 @@ label cc_gt_return: call cho_walk(xpos="mid", ypos="base", action="enter") - gen "[cho_name]!" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie]!" ("base", xpos="far_left", ypos="head") gen "Had a fruitful day, smacking some peaches?" ("base", xpos="far_left", ypos="head") - cho "I did not!" ("disgust", "narrow", "angry", "mid", cheeks="blush", trans=d3) + cho @ cheeks blush "I did not!" ("disgust", "narrow", "angry", "mid", xpos="mid", ypos="base", trans=d3) gen "Too bad, I was so sure it would have worked." ("base", xpos="far_left", ypos="head") - cho "Oh it worked alright..." ("annoyed", "closed", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Oh, it worked alright..." ("annoyed", "closed", "angry", "mid") gen "It did?" ("base", xpos="far_left", ypos="head") - cho "In fact, it worked so well I'm not sure what was redder, Katie's bum, or Hermione's face..." ("angry", "narrow", "base", "R", cheeks="blush") - cho "She was fuming!" ("base", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "In fact, it worked so well I'm not sure what was redder, Katie's bum, or Hermione's face..." ("angry", "narrow", "base", "R") + cho @ cheeks blush "She was fuming!" ("base", "narrow", "angry", "mid") gen "Splendid! Then what's the problem?" ("base", xpos="far_left", ypos="head") cho "It's my broom..." ("angry", "closed", "worried", "R") # Sad cho "Those bloody Weasley twins, they destroyed my broom!" ("clench", "narrow", "angry", "mid") @@ -66,7 +66,7 @@ label cc_gt_return: cho "They must have put them on my broom while I was changing, after the practise." ("disgust", "narrow", "angry", "mid") gen "Can't you just borrow another broom from, I don't know, one of the cleaning cupboards?" ("base", xpos="far_left", ypos="head") cho "Cleaning cupboards--" ("angry", "wide", "base", "mid") - cho "Please, [cho_genie_name], this isn't a joking matter." ("angry", "narrow", "base", "mid") + cho "Please, [name_genie_cho], this isn't a joking matter." ("angry", "narrow", "base", "mid") cho "Being this close to the finals, I won't be able to purchase a proper professionally crafted broom in time." ("angry", "narrow", "base", "mid") gen "Why not?" ("base", xpos="far_left", ypos="head") cho "They're very expensive." ("disgust", "narrow", "base", "mid") @@ -77,30 +77,53 @@ label cc_gt_return: $ _gold = num_to_word(_gold) cho "[_gold]!" ("clench", "closed", "base", "mid") - $ renpy.play('sounds/gulp.ogg') + play sound "sounds/gulp.ogg" gen "*Gulp*..." ("angry", xpos="far_left", ypos="head") gen "Surely there must be some spare brooms around the castle." ("angry", xpos="far_left", ypos="head") cho "I assure you... Even the brooms provided for flying lessons are terrible." ("disgust", "narrow", "angry", "mid") gen "I'm sure they're fine..." ("base", xpos="far_left", ypos="head") gen "(Please don't make me buy a bloody broom, I'll go bankrupt...)" ("base", xpos="far_left", ypos="head") - cho "Please, [cho_genie_name]..." ("soft", "narrow", "worried", "mid") + cho "Please, [name_genie_cho]..." ("soft", "narrow", "worried", "mid") gen "(Here we go...)" ("base", xpos="far_left", ypos="head") cho "Could you buy me a broom?" ("quiver", "narrow", "worried", "mid") gen "Hold on just a second... Termites? Are you just trying to get me to buy you a new broom again?" ("angry", xpos="far_left", ypos="head") cho "Of course not! You think I would lie about something like this?" ("clench", "narrow", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") - cho "Please believe me [cho_genie_name]!" ("scream", "closed", "worried", "mid") + cho "Please believe me [name_genie_cho]!" ("scream", "closed", "worried", "mid") gen "A school supplied broom will have to suffice." ("base", xpos="far_left", ypos="head") - cho "Why aren't you listening, [cho_genie_name]!" ("angry", "wide", "worried", "mid") - cho "The school supplied brooms are ancient, there's no way I'd be able to win anything flying on that rubbish!" ("scream", "narrow", "worried", "mid") + cho "Why aren't you listening, [name_genie_cho]!" ("angry", "wide", "worried", "mid") + + # Used in Quidditch Outro + label .introspection: + + if _in_replay: + + show screen blkfade + with d5 + + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 665 + $ game.daytime = False + $ game.weather = "clear" + call room("main_room") + call cho_chibi(xpos="mid", ypos="base") + + hide screen blkfade + with d5 + + play music "music/Music for Manatees.ogg" fadein 1 if_changed + # + + cho "The school supplied brooms are ancient, there's no way I'd be able to win anything, flying on that rubbish!" ("scream", "narrow", "worried", "mid", xpos="mid") cho "Harry's firebolt--" ("angry", "closed", "worried", "mid") gen "A broom's a broom. I'm sure the expensive ones are just branding." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "narrow", "base", "mid") gen "Just try them out, I'm sure it'll be fine." ("base", xpos="far_left", ypos="head") - cho "It's a waste of time but if that's what it takes then sure..." ("annoyed", "closed", "angry", "mid") + cho "It's a waste of time, but if that's what it takes, then sure..." ("annoyed", "closed", "angry", "mid") cho "I'll meet you at the pitch tomorrow morning." ("open", "closed", "angry", "mid") #smirk gen "Excellent, I'll...{w=0.4} Wait, did you say tomorrow morning?" ("base", xpos="far_left", ypos="head") - cho "Yes, and you better be there, [cho_genie_name]..." ("disgust", "narrow", "angry", "mid") #smiling + cho "Yes, and you better be there, [name_genie_cho]..." ("disgust", "narrow", "angry", "mid") #smiling gen "(The things a Coach has to do...{w=0.4} Wake up in the morning...)" ("base", xpos="far_left", ypos="head") gen "What else do you need from me? Shall I put together a cheerleading squad as well?" ("base", xpos="far_left", ypos="head") cho "Oh, yes please! That should help with riling up Hermione even more." ("smile", "narrow", "base", "mid") @@ -114,20 +137,23 @@ label cc_gt_return: cho "(What if he forces me to use one... There's no way I would be able to outspeed even their keeper...)" ("clench", "narrow", "base", "down") cho "(I have to win the finals, no matter what!)" ("angry", "closed", "base", "mid") cho "(But how...)" ("annoyed", "narrow", "base", "down") - gen "[cho_name]?" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie]?" ("base", xpos="far_left", ypos="head") #Cho leaves. call cho_walk(action="leave") pause .8 - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + # Used in Quidditch Outro + if _in_replay: + return + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ gryffindor_match = "ready" - $ cho_quid.gryffindor_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.gryffindor_stage = "ready" + $ states.cho.ev.quidditch.gryffindor_training = True + $ states.cho.ev.quidditch.lock_practice = True jump end_cho_event @@ -135,27 +161,27 @@ label cc_gt_talk: cho "" (xpos="right", ypos="base", trans=fade) - if cho_quid.gryffindor_training: + if states.cho.ev.quidditch.gryffindor_training: cho "Finals starting soon?" ("base", "base", "base", "mid") - if not cho_quid.E11_complete and not cho_quid.E12_complete: + if not states.cho.ev.quidditch.e11_complete and not states.cho.ev.quidditch.e12_complete: # Didn't ask Luna to cheer and didn't get the broom gen "Not yet... I've got some things to take care of before then." ("base", xpos="far_left", ypos="head") cho "That's too bad, I want to crush those Gryffindors already!" ("base", "base", "base", "mid") gen "(I've still got to help her find a broom in the morning...)" ("base", xpos="far_left", ypos="head") - gen "(And how am I supposed to get cheerleading squad together...)" ("base", xpos="far_left", ypos="head") + gen "(And how am I supposed to get a cheerleading squad together...)" ("base", xpos="far_left", ypos="head") gen "(Perhaps there's some other Ravenclaw student I can ask...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E11_complete: + elif not states.cho.ev.quidditch.e11_complete: # Didn't ask Luna to cheer gen "No, I still need to get you your stupid cheerleading squad." ("base", xpos="far_left", ypos="head") cho "Stupid? Wasn't this your idea?" ("base", "base", "base", "mid") gen "I was being..." ("base", xpos="far_left", ypos="head") gen "Nevermind..." ("base", xpos="far_left", ypos="head") gen "(I wonder if there's someone from Ravenclaw that I could ask...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E12_complete: + elif not states.cho.ev.quidditch.e12_complete: # Didn't get the broom gen "Not until we have you pick out one of the school brooms to use." ("base", xpos="far_left", ypos="head") - cho "You mean not until we find out how worthless they are and you have to get me a proper broom." ("base", "base", "base", "mid") + cho "You mean not until we find out how worthless they are, and you have to get me a proper broom." ("base", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") else: #Match ready gen "As long as you're ready." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy b/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy index 344196f7..6c516f55 100644 --- a/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/hufflepuff_match.rpy @@ -5,41 +5,41 @@ label start_hufflepuff_match: # Chat with Cho the day before the match cho "" (xpos="mid", ypos="base", trans=fade) - gen "[cho_name], what do you say... ready for your first game of the season?" ("base", xpos="far_left", ypos="head") - cho "To be honest, [cho_genie_name], I'm feeling quite nervous." ("soft", "base", "worried", "R") + gen "[name_cho_genie], what do you say... ready for your first game of the season?" ("base", xpos="far_left", ypos="head") + cho "To be honest, [name_genie_cho], I'm feeling quite nervous." ("soft", "base", "worried", "R") gen "Don't worry. I believe you are ready..." ("base", xpos="far_left", ypos="head") gen "When are you going to play against Hufflepuff?" ("base", xpos="far_left", ypos="head") - cho "That's up to you, [cho_genie_name]. As headmaster you decide when the games will be held..." ("open", "base", "base", "mid") + cho "That's up to you, [name_genie_cho]. As headmaster, you decide when the games will be held..." ("open", "base", "base", "mid") gen "So if I were to say tomorrow, it will happen tomorrow?" ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("base", "base", "base", "mid") + cho "Yes, [name_genie_cho]." ("base", "base", "base", "mid") gen "Well then, tomorrow it is!" ("grin", xpos="far_left", ypos="head") if game.weather in {"rain", "storm"}: - cho "Sounds great, [cho_genie_name]. I just hope it stops raining before then." ("soft", "base", "base", "R") + cho "Sounds great, [name_genie_cho]. I just hope it stops raining before then." ("soft", "base", "base", "R") elif game.weather in {"snow", "blizzard"}: - cho "Sounds great, [cho_genie_name]. I just hope it stops snowing before then." ("soft", "base", "base", "R") + cho "Sounds great, [name_genie_cho]. I just hope it stops snowing before then." ("soft", "base", "base", "R") elif game.weather == "overcast": - cho "Sounds great, [cho_genie_name]. I just hope the weather doesn't get worse." ("soft", "base", "base", "R") + cho "Sounds great, [name_genie_cho]. I just hope the weather doesn't get worse." ("soft", "base", "base", "R") else: - cho "Sounds great, [cho_genie_name]. I just hope the weather stays like it is." ("soft", "base", "base", "R") + cho "Sounds great, [name_genie_cho]. I just hope the weather stays like it is." ("soft", "base", "base", "R") gen "With our tactics, this will be a piece of cake!" ("base", xpos="far_left", ypos="head") - cho "I hope you're right, [cho_genie_name]." ("base", "base", "base", "mid") + cho "I hope you're right, [name_genie_cho]." ("base", "base", "base", "mid") cho "Anyhow, I need to prepare for the game." ("soft", "base", "base", "R") - cho "See you then, [cho_genie_name]!" ("smile", "base", "base", "mid") + cho "See you then, [name_genie_cho]!" ("smile", "base", "base", "mid") gen "Good luck!" ("base", xpos="far_left", ypos="head") call cho_walk(action="leave") - $ cho_quid.lock_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.lock_practice = True $ cc_event_pause += 1 # Event starts on the next day $ cc_summon_pause += 1 # Can't be summoned until next event - $ cho_busy = True + $ states.cho.busy = True - $ hufflepuff_match = "start" + $ states.cho.ev.quidditch.hufflepuff_stage = "start" jump end_cho_event @@ -53,13 +53,13 @@ label hufflepuff_match: $ cho.equip(cho_outfit_quidditch) $ hermione.equip(her_outfit_default) - call play_music("stop") + stop music fadeout 1 # Start in the office call sna_walk(action="enter", xpos="mid", ypos="base") pause .5 - call play_music("snape") + play music "music/Dark Fog.ogg" fadein 1 if_changed sna "Are you ready to go?" ("snape_03", xpos="base", ypos="base") gen "Can't you bloody knock?!" ("angry", xpos="far_left", ypos="head") sna "Should I?{w=0.3} I was sure you were already waiting for me..." ("snape_05") @@ -78,7 +78,7 @@ label hufflepuff_match: sna "Granger..." ("snape_08") sna "Well, that's very displeasing to say the least..." ("snape_07") sna "In any case, you won't be seen up close by any of the other teachers." ("snape_09") - gen "Sounds like a snore. Can't I stay here and you'll tell them I'm ill or something?" ("base", xpos="far_left", ypos="head") + gen "Sounds like a snore. Can't I stay here, and you'll tell them I'm ill or something?" ("base", xpos="far_left", ypos="head") sna "No." ("snape_04") sna "That would just prompt the nurse to examine you closely..." ("snape_03") gen "Well... I wouldn't mind that." ("base", xpos="far_left", ypos="head") @@ -90,13 +90,13 @@ label hufflepuff_match: # Show wine call give_reward(text=">Not grape-juice.", gift="interface/icons/wine.webp") - gen "That's all the persuasion I needed my friend!" ("base", xpos="far_left", ypos="head") + gen "That's all the persuasion I needed, my friend!" ("base", xpos="far_left", ypos="head") hide screen bld1 with d3 pause .2 # Teleport to door - call play_sound("kick") + play sound "sounds/kick.ogg" call gen_chibi("hide") with d3 @@ -133,23 +133,23 @@ label hufflepuff_match: # Blackfade stop music fadeout 2 - stop bg_sounds fadeout 2 - call play_sound("door") + stop background fadeout 2 + play sound "sounds/door.ogg" call blkfade pause 2 - ">You make your way towards the pitch with Snape, pondering if this was such a good idea." - call play_sound("grass") - ">After walking for a while across the school grounds a huge oval shaped pitch with massive towers around it looms before you." - ">Amazed by...{w=0.6}{nw}" + nar "You make your way towards the pitch with Snape, pondering if this was such a good idea." + play sound "sounds/steps_grass.ogg" + nar "After walking for a while across the school grounds, a huge oval-shaped pitch with massive towers around it looms before you." + nar "Amazed by...{w=0.6}{nw}" gen "Agrabah towers are larger..." ("base", xpos="far_left", ypos="head") - ">Amazed... by the sight, Snape then leads you to the base of one of the towers." + nar "Amazed... by the sight, Snape then leads you to the base of one of the towers." # Pitch entrance centered "{size=+7}{color=#cbcbcb}At the Quidditch pitch...{/color}{/size}" call room("quidditch_pitch") - play bg_sounds "sounds/outskirts.ogg" fadein 2 + play background "sounds/outskirts.ogg" fadein 2 call sna_chibi("stand", "right", "base") call gen_chibi("stand", "mid", "base", flip=True) call hide_blkfade @@ -234,11 +234,11 @@ label hufflepuff_match: $ genie_chibi.zorder = 4 # Match starts - play bg_sounds "sounds/crowd.ogg" fadein 2 + play background "sounds/crowd.ogg" fadein 2 call hide_blkfade pause 1 - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" pause .8 call sna_chibi("stand", 120, 295, flip=True) @@ -248,11 +248,11 @@ label hufflepuff_match: with d3 sna "Careful at the top. Don't hit your head." ("snape_35", ypos="head") - call play_sound("kick") + play sound "sounds/kick.ogg" with hpunch pause .6 gen "Bloody hell!" ("angry", xpos="far_left", ypos="head") - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" pause .8 call gen_chibi("stand", 20, 365, flip=True) with d3 @@ -261,7 +261,7 @@ label hufflepuff_match: with d3 sna "Well, here we are..." ("snape_09") sna "Now we are only waiting for--" ("snape_03") - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" call her_chibi("stand", 40, 295, flip=True) with d3 pause .5 @@ -294,25 +294,25 @@ label hufflepuff_match: her "..." ("mad", "base", "angry", "mid") with hpunch - stop bg_sounds fadeout 4 + stop background fadeout 4 her "{size=+5}Quiet Please!{/size}" ("scream", "base", "angry", "mid") her "..." ("normal", "closed", "angry", "mid") - play bg_sounds "sounds/crowd_low.ogg" fadein 2 + play background "sounds/crowd_low.ogg" fadein 2 her "Thank you..." ("open", "happy", "base", "mid_soft") her "L-let's begin!" ("base", "base", "base", "mid") - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed her "Hufflepuff versus Ravenclaw!" ("smile", "base", "base", "mid_soft") call quidditch_stands(crowd_react=["emo8", "emo7", "emo8"]) with d3 - $ renpy.sound.play("sounds/crowd_cheer.ogg") - ">A loud cheer roars from the grandstands." + play sound "sounds/crowd_cheer.ogg" + nar "A loud cheer roars from the grandstands." # Speech her "And now, to say a few words and declare the games open, Professor Dumbledore!" ("open", "closed", "base", "mid") @@ -341,7 +341,7 @@ label hufflepuff_match: sna "Besides, you only have to give some trivial speech about team spirit, gesticulate wildly and say \"let the games begin\". A child could manage it." ("snape_24", ypos="head") sna "Now get up there!" ("snape_10", ypos="head") - stop bg_sounds fadeout 4 + stop background fadeout 4 stop music fadeout 2 $ hermione_chibi.zorder = 4 @@ -359,13 +359,13 @@ label hufflepuff_match: with d3 pause .5 - $ genie_zorder = 15 + $ states.gen.image.zorder = 15 show screen blktone with d5 pause 1.0 gen "" ("base", xpos=0, ypos="base") - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 pause 2.0 @@ -374,20 +374,20 @@ label hufflepuff_match: menu: "(Shit, what do I even talk about?)" "-Miracles-": - play bg_sounds "music/fanfare.ogg" fadein 1.0 + play background "music/fanfare.ogg" fadein 1.0 gen "Great moments are born from great opportunity." ("base") - ">A reverent hush falls over the crowd..." + nar "A reverent hush falls over the crowd..." gen "And that's what you have here tonight--" ("base") gen "That's what you've earned here tonight!" ("base") pause .8 - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" hide screen blktone call quidditch_stands(spotlight=True) with d1 pause .8 - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "One game..." ("base") gen "Tonight, WE are the greatest hockey team in the world!" ("base") @@ -408,7 +408,7 @@ label hufflepuff_match: mal "I think Dumbledore has finally started to lose his marbles..." mal2 "I think you might be right." - play bg_sounds "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 + play background "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 call quidditch_stands(crowd_react=["sur", None, None]) with d3 @@ -419,7 +419,7 @@ label hufflepuff_match: with d3 mal "..." - $ renpy.sound.play("sounds/cough_male.ogg") + play sound "sounds/cough_male.ogg" call quidditch_stands(crowd_react=["sal", "sal", None]) with d3 @@ -427,15 +427,15 @@ label hufflepuff_match: call quidditch_stands(crowd_react=[None, None, None], spotlight=False) with d1 - $ renpy.sound.play("sounds/killswitch_off.ogg") + play sound "sounds/killswitch_off.ogg" gen "Now let the games begin!" ("base") "-Freedom-": - play bg_sounds "music/fanfare.ogg" fadein 1.0 + play background "music/fanfare.ogg" fadein 1.0 gen "Sons of Scotland!" ("base") pause .8 - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" hide screen blktone call quidditch_stands(spotlight=True) with d1 @@ -446,22 +446,22 @@ label hufflepuff_match: call quidditch_stands(crowd_react=["qu", None, None]) with d3 - ">A confused murmur falls over the crowd." + nar "A confused murmur falls over the crowd." sna "{size=-4}William Wallace?{/size}" ("snape_05", ypos="head") gen "{size=-4}That's not your line...{/size}" ("angry") gen "Yes... I am William Wallace!" ("grin") gen "And I see a whole army of my countrymen, here in the defiance of tyranny..." ("grin") gen "You have come to fight as free men, and free men you are. What would you do with that freedom? Will you fight?" ("grin") - $ renpy.sound.play("sounds/murmur.ogg") + play sound "sounds/murmur.ogg" call quidditch_stands(crowd_react=["qu", "emoq", None]) with d3 - ">The sound of confused murmuring increases even further..." + nar "The sound of confused murmuring increases even further..." mal "Fight? Against what?" gen "{size=-4}See, that guy knows his lines...{/size}" ("base") sna "..." ("snape_03") - gen "Aye... fight and you may die." ("base") + gen "Aye... fight, and you may die." ("base") call sna_chibi("stand", 230, 400, flip=True) with d3 @@ -469,21 +469,21 @@ label hufflepuff_match: sna "I think it's time for you to step down from the..." ("snape_01") gen "No, I'm just about to get to the best part!" ("angry") - $ renpy.sound.play("sounds/cloth_sound.ogg") - stop bg_sounds fadeout 2.0 + play sound "sounds/cloth_sound.ogg" + stop background fadeout 2.0 hide genie call sna_chibi("stand", 210, 400, flip=True) call gen_chibi("stand", 260, 400, flip=True) with d3 - ">Snape then begins to drag you away from the podium." - play bg_sounds "sounds/wind_long_loop.ogg" + nar "Snape then begins to drag you away from the podium." + play background "sounds/wind_long_loop.ogg" - show genie zorder genie_zorder + show genie zorder states.gen.image.zorder with d3 gen "This is our chance... they may take away our microphones...{w=1.0} But they...{nw}{w=0.3}" ("angry") - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" call sna_chibi("stand", 230, 400, flip=True) call gen_chibi("stand", 280, 400, flip=True) @@ -501,7 +501,7 @@ label hufflepuff_match: call quidditch_stands(crowd_react=[None, None, None], spotlight=False) with d3 - $ renpy.sound.play("sounds/killswitch_off.ogg") + play sound "sounds/killswitch_off.ogg" $ snape_chibi.zorder = 3 $ genie_chibi.zorder = 2 @@ -510,10 +510,10 @@ label hufflepuff_match: with d3 "-Nam-": - play bg_sounds "sounds/wind_long_loop.ogg" + play background "sounds/wind_long_loop.ogg" pause .8 - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" hide screen blktone call quidditch_stands(spotlight=True) with d1 @@ -527,15 +527,15 @@ label hufflepuff_match: call quidditch_stands(crowd_react=["sal", "emoq", None]) with d3 - ">A confused murmur falls over the crowd." + nar "A confused murmur falls over the crowd." gen "Ugh..." ("base") - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" gen "Is this thing on?" ("base") call quidditch_stands(crowd_react=["sal", "sal", None]) with d3 - $ renpy.sound.play("sounds/cough_male.ogg") + play sound "sounds/cough_male.ogg" mal "..." call quidditch_stands(crowd_react=["emoq", "qu", None]) @@ -544,29 +544,29 @@ label hufflepuff_match: gen "It's O six hundred, what does the O stand for?" ("grin") gen "Ooooh my god it's early!" ("grin") - $ renpy.sound.play("sounds/murmur.ogg") - ">The sound of confused murmuring increases even further..." + play sound "sounds/murmur.ogg" + nar "The sound of confused murmuring increases even further..." mal "What's he on about? Is the fire lit but the cauldron empty?" mal2 "Looks like it..." call quidditch_stands(crowd_react=[None, None, None], spotlight=False) with d1 - $ renpy.sound.play("sounds/killswitch_off.ogg") + play sound "sounds/killswitch_off.ogg" gen "Tough crowd... Anyway, let the games begin!" ("base") hide genie with d3 - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed - play bg_sounds "sounds/crowd_low.ogg" fadein 3 fadeout 2 + play background "sounds/crowd_low.ogg" fadein 3 fadeout 2 play sound "sounds/crowd_cheer.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo8"]) with d3 - ">After a moment of confusion the crowd cheers excitedly, eager to see the match kick-off." + nar "After a moment of confusion, the crowd cheers excitedly, eager to see the match kick-off." call quidditch_stands(crowd_react=[None, None, None]) with d3 @@ -591,26 +591,26 @@ label hufflepuff_match: # Player introduction her "First, let's welcome everyone's favourite underdogs, Ravenclaw!" ("base", "happy", "base", "R") - $ renpy.sound.play("sounds/crowd_stomping.ogg") + play sound "sounds/crowd_stomping.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", None]) with d3 her "" ("base", "base", "base", "mid") - ">The blue grandstand shakes violently with enthusiasm." + nar "The blue grandstand shakes violently with enthusiasm." sna "At least try to sound like you're awake, Miss Granger." ("snape_03", ypos="head") - her "..." ("normal", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "..." ("normal", "closed", "angry", "mid") call quidditch_stands(crowd_react=[None, None, None]) with d3 - her "And coming onto the field to face them are the equally impressive, Hufflepuff!" ("open", "base", "base", "mid", cheeks="blush") - $ renpy.sound.play("sounds/crowd_cheer2.ogg") + her @ cheeks blush "And coming onto the field to face them are the equally impressive, Hufflepuff!" ("open", "base", "base", "mid") + play sound "sounds/crowd_cheer2.ogg" call quidditch_stands(crowd_react=[None, None, "emo8"]) with d3 - her "" ("base", "base", "base", "mid", cheeks="blush") - ">The yellow grandstand bursts into a mix of applause and whistles." + her @ cheeks blush "" ("base", "base", "base", "mid") + nar "The yellow grandstand bursts into a mix of applause and whistles." hide hermione_main with d3 sna "Back down to Troll..." ("snape_09", ypos="head") @@ -631,7 +631,7 @@ label hufflepuff_match: her "It appears we've got an interesting game ahead of us." ("open", "base", "base", "mid", flip=True, xpos=290, ypos="base", trans=d3) her "If I'm not mistaken, there's some history between our seekers, Cho Chang and Cedric Diggory..." ("crooked_smile", "closed", "base", "mid") her "" ("smile", "happy", "base", "mid_soft") - ">Even though they are far down below on the pitch, you can clearly see Cho and Cedric glaring up at Hermione." + nar "Even though they are far down below on the pitch, you can clearly see Cho and Cedric glaring up at Hermione." her "Given how essential the seeker's role is in Quidditch, their complex past might cost one of them the game..." ("open", "base", "base", "mid_soft") sna "Complex past..." ("snape_01", ypos="head") her "" ("base", "closed", "base", "mid") @@ -640,26 +640,26 @@ label hufflepuff_match: # Reading the rules stop music fadeout 4 - stop bg_sounds fadeout 2 + stop background fadeout 2 hide hermione_main with d3 - ">Hermione heaves a heavy rulebook{nw}" - $ renpy.sound.play("sounds/punch01.ogg") - ">Hermione heaves a heavy rulebook{fast} from under the table and begins to monotonously recite it to the crowd." - $ renpy.sound.play("sounds/sniff.ogg") + nar "Hermione heaves a heavy rulebook{nw}" + play sound "sounds/punch01.ogg" + nar "Hermione heaves a heavy rulebook{fast} from under the table and begins to monotonously recite it to the crowd." + play sound "sounds/sniff.ogg" her "..." - play bg_sounds "sounds/wind_long_loop.ogg" fadein 2 + play background "sounds/wind_long_loop.ogg" fadein 2 her "The capturing of the snitch is worth 150 points--" ("open", "narrow", "base", "down", flip=True, xpos=290, ypos="base", trans=d3) call quidditch_stands(crowd_react=["th", None, None]) with d3 - $ renpy.sound.play("sounds/murmur.ogg") + play sound "sounds/murmur.ogg" her "The game may not conclude until it has been caught, or an agreement is made between both capt--" ("open", "base", "base", "mid") call quidditch_stands(crowd_react=["th", "an", None]) with d3 - play bg_sounds "sounds/crowd.ogg" fadein 8 fadeout 2 + play background "sounds/crowd.ogg" fadein 8 fadeout 2 hide hermione_main with d3 @@ -668,9 +668,9 @@ label hufflepuff_match: call quidditch_stands(crowd_react=["th", "an", "excl"]) with d3 - mal2 "Yeh! Start the game!" + mal2 "Yeah! Start the game!" qcr "START THE GAME! START THE GAME!" - ">Hermione's voice eventually gets drowned out by the growing restlessness of the crowd." + nar "Hermione's voice eventually gets drowned out by the growing restlessness of the crowd." her "" ("normal", "base", "base", "mid", xpos=290, ypos="base", flip=True) her "Ugh, fine...{w=0.3} If everyone wants us to begin play without knowing {b}a single thing{/b}...{w=0.8} then that's {b}OK!{/b}" ("annoyed", "narrow", "annoyed", "R", trans=d3) her "A good commentator knows when to accommodate for a crowd's impatience!" ("soft", "closed", "base", "mid") @@ -678,33 +678,33 @@ label hufflepuff_match: with d3 sna "{size=-4}This should be good.{/size}" ("snape_02", ypos="head") # Small text. - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo8"]) with d3 - ">With that, the snitch and bludgers are released and fly off into the air." + nar "With that, the snitch and bludgers are released and fly off into the air." call quidditch_stands(crowd_react=[None, None, None]) with d3 - play bg_sounds "sounds/crowd_low.ogg" fadein 0.5 fadeout 0.5 - her "Now then..." ("open", "closed", "base", "mid", cheeks="blush", flip=True, xpos=290, ypos="base", trans=d3) - her "Let's begin!" ("base", "happy", "base", "mid_soft", cheeks="blush") + play background "sounds/crowd_low.ogg" fadein 0.5 fadeout 0.5 + her @ cheeks blush "Now then..." ("open", "closed", "base", "mid", flip=True, xpos=290, ypos="base", trans=d3) + her @ cheeks blush "Let's begin!" ("base", "happy", "base", "mid_soft") hide hermione_main with d3 pause .1 # Start of the game - $ renpy.sound.play("sounds/referee.ogg") - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 - ">A Grey haired woman then throws the quaffle into the air -- which signals the start of the match -- and the players quickly take off!" + play sound "sounds/referee.ogg" + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + nar "A fit looking woman then throws the quaffle into the air -- which signals the start of the match -- and the players quickly take off!" her "Oh, wow... They're going quite f-fast..." ("normal", "wide", "worried", "shocked", flip=True, xpos=290, ypos="base", trans=d3) her "" ("normal", "happyCl", "base", "mid") sna "Great commentary there girl... You might want to let them know the colour of the grass next..." ("snape_10", ypos="head") - $ renpy.sound.play("sounds/ball_hit.ogg") - her "Um, I'm not sure if anyone's scored yet..." ("normal", "happy", "base", "mid") + play sound "sounds/ball_hit.ogg" + her "*Umm*, I'm not sure if anyone's scored yet..." ("normal", "happy", "base", "mid") her "Wait, that guy has the quaffle... I think..." ("open", "squint", "base", "mid") - her "Scratch that last bit, he has a stick so he must be a beater!" ("mad", "happy", "base", "mid") + her "Scratch that last bit, he has a stick, so he must be a beater!" ("mad", "happy", "base", "mid") sna "{size=-4}Good grief...{/size}" ("snape_05", ypos="head") pause .5 @@ -715,20 +715,20 @@ label hufflepuff_match: show image "CG quidditch cho_flashing" as cg zorder 17 with fade - $ renpy.sound.play("sounds/crowd_gasp.ogg") + play sound "sounds/crowd_gasp.ogg" call quidditch_stands(crowd_react=["emo02", "excl", "sur"]) with d3 call ctc - her "" ("open", "wide", "worried", "shocked", cheeks="blush") + her @ cheeks blush "" ("open", "wide", "worried", "shocked") qcr "!!!" # [screenshake?] - play bg_sounds "sounds/crowd.ogg" fadein 2 + play background "sounds/crowd.ogg" fadein 2 mal "..." - $ renpy.sound.play("sounds/murmur.ogg") - her "" ("open", "happyCl", "base", "mid", cheeks="blush") + play sound "sounds/murmur.ogg" + her @ cheeks blush "" ("open", "happyCl", "base", "mid") mal "She totally is!" - $ renpy.sound.play("sounds/giggle2_loud.ogg") + play sound "sounds/giggle2_loud.ogg" hide hermione_main with d3 fem "What a slut!" @@ -745,11 +745,11 @@ label hufflepuff_match: her "Professor, why won't you say something?{w=0.8} She's clearly breaking the very basics of Quidditch rules!" ("clench", "narrow", "angry", "mid", ypos="head", flip=False) gen "I fail to see anything wrong with the way she's dressed." ("base", xpos="far_left", ypos="head") - her "But... she's wearing a skirt!" ("clench", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "But... she's wearing a skirt!" ("clench", "wide", "base", "stare") her "Surely that must be against some kind of regulation..." ("annoyed", "narrow", "angry", "mid") gen "You tell me Miss Granger, you've got the rulebook right there..." ("base", xpos="far_left", ypos="head") sna "..." ("snape_13", ypos="head") - her "Perhaps I could get Madame Hooch to pause the game..." ("open", "closed", "annoyed", "mid") + her "Perhaps I could get Madam Hooch to pause the game..." ("open", "closed", "annoyed", "mid") pause .1 call her_chibi("stand", flip=True) @@ -758,36 +758,36 @@ label hufflepuff_match: sna "Knowing her, she's probably enjoying the sight of the Ravenclaw seeker rushing past her." ("snape_20", ypos="head") sna "{size=-4}Odds are she's already tried to take a peek.{/size}" ("snape_20", ypos="head") - gen "{size=-4}Who's Madame Hooch?{/size}" ("base", xpos="far_left", ypos="head") + gen "{size=-4}Who's Madam Hooch?{/size}" ("base", xpos="far_left", ypos="head") sna "{size=-4}It's that fit lady on the pitch who is seemingly unable to take her eyes off the underside of miss Chang's... undergarments.{/size}" ("snape_09", ypos="head") sna "{size=-4}Great idea with the skirt, if I might add.{/size}" ("snape_13", ypos="head") gen "{size=-4}You're welcome.{/size}" ("base", xpos="far_left", ypos="head") sna "..." ("snape_12", ypos="head") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" sna "{size=-4}She is wearing something underneath I assume?{/size}" ("snape_13", ypos="head") gen "For now..." ("base", xpos="far_left", ypos="head") sna "Excellent..." ("snape_22", ypos="head") - $ renpy.sound.play("sounds/wolf_whistle.ogg") + play sound "sounds/wolf_whistle.ogg" call quidditch_stands(crowd_react=["emo8", "excl", "sur"]) with d3 mal "Cho, show us your panties!" - $ renpy.sound.play("sounds/giggle2_loud.ogg") + play sound "sounds/giggle2_loud.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "sur"]) with d3 fem "We want to see them!" - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo8"]) with d3 # Back to commentating - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 - play bg_sounds "sounds/crowd_low.ogg" fadein 0.5 fadeout 0.5 + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + play background "sounds/crowd_low.ogg" fadein 0.5 fadeout 0.5 her "..." ("normal", "squint", "angry", "mid", flip=True, xpos=290, ypos="base", trans=d3) her "Oh, apparently Ravenclaw scored during that... \"captivating\" bit of distraction..." ("open", "narrow", "annoyed", "mid") gen "Sarcasm much?" ("grin", xpos="far_left", ypos="head") @@ -797,12 +797,12 @@ label hufflepuff_match: her "Or is that 20-10... I'm not sure, aren't they both home teams...?" ("annoyed", "squint", "base", "mid") sna "Surely you must have learnt how to read by now, Miss Granger?" ("snape_03", ypos="head") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", None]) with d3 her "Hey! I have excellent reading skills, I'll have you know..." ("mad", "narrow", "angry", "R") - $ renpy.sound.play("sounds/crowd_cheer2.ogg") + play sound "sounds/crowd_cheer2.ogg" her "..." ("normal", "closed", "angry", "mid") @@ -810,7 +810,7 @@ label hufflepuff_match: with d3 her "Wait, now it's... 20-30... I think..." ("annoyed", "happy", "base", "mid") - $ renpy.sound.play("sounds/murmur.ogg") + play sound "sounds/murmur.ogg" call quidditch_stands(crowd_react=["th", None, None]) with d3 @@ -829,7 +829,7 @@ label hufflepuff_match: her "" ("annoyed", "closed", "base", "mid") mal "Then how'd she get the role over Lee Jordan?" mal2 "I heard he had an accident with a rogue bludger." - $ renpy.sound.play("sounds/cough_male.ogg") + play sound "sounds/cough_male.ogg" mal "..." her "Wow... that snitch is darting around like nobody's business--" ("base", "base", "base", "mid") @@ -843,13 +843,13 @@ label hufflepuff_match: sna "Fancy a glass of wine then?" ("snape_02", ypos="head") gen "Don't mind if I do... Something to distract me from this... bizarre game..." ("base", xpos="far_left", ypos="head") pause .5 - call play_sound("bottle") + play sound "sounds/bottle.ogg" pause .8 sna "{size=-4}I don't care much for the game myself...{/size}" ("snape_09", ypos="head") sna "{size=-4}Although, there is a special place in my heart for watching the bludgers catch a student...{/size}" ("snape_02", ypos="head") gen "{size=-4}Blubbers?{/size}" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" sna "{size=-4}Bludgers... See those cannonball looking things whizzing around?{/size}" ("snape_03", ypos="head") gen "{size=-4}Oh... The ones those boys are whacking at?{/size}" ("base", xpos="far_left", ypos="head") sna "{size=-4}Right... Well, we enchant them to go after the students while they play.{/size}" ("snape_23", ypos="head") @@ -860,10 +860,10 @@ label hufflepuff_match: sna "{size=-4}Generally it's just a concussion... Though sometimes they fall pretty far, that's always entertaining.{/size}" ("snape_20", ypos="head") with hpunch - $ renpy.sound.play("sounds/punch02.ogg") + play sound "sounds/punch02.ogg" her "..." ("normal", "wide", "base", "stare", flip=True, xpos=290, ypos="base", trans=d1) - $ renpy.sound.play("sounds/crowd_ouch.ogg") + play sound "sounds/crowd_ouch.ogg" call quidditch_stands(crowd_react=["sur", "emo02", "excl"]) with d3 @@ -891,11 +891,11 @@ label hufflepuff_match: her "I'm trying to commentate the game!" ("mad", "squint", "angry", "mid") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" call quidditch_stands(crowd_react=[None, None, None]) with d3 - sna "Yes, and I was starting to enjoy it. You are missing most of it by the way..." ("snape_20", ypos="head") + sna "Yes, and I was starting to enjoy it. You are missing most of it, by the way..." ("snape_20", ypos="head") her "As a result of your yelling!" ("scream", "closed", "angry", "mid") her "" ("normal", "closed", "angry", "mid") sna "Eyes forward... girl." ("snape_13", ypos="head") @@ -906,17 +906,17 @@ label hufflepuff_match: with d3 pause .1 - ">Hermione's eyes briefly meet with yours as if she can't believe you're letting Snape talk to her that way." + nar "Hermione's eyes briefly meet with yours as if she can't believe you're letting Snape talk to her that way." sna "{size=-4}As I was saying... They're the only reason I watch the bloody thing. Now, mind if I top that one off for you?{/size}" ("snape_20", ypos="head") - $ renpy.sound.play("sounds/crowd_cheer.ogg", fadein=3) + play sound "sounds/crowd_cheer.ogg" fadein 3 call quidditch_stands(crowd_react=["th", None, "emo8"]) with d3 her "So, I think... that Hufflepuff just scored another goal? They might even be unstoppable at this point!" ("open", "base", "base", "L", flip=True, xpos=290, ypos="base", trans=d3) # Fade to black - stop bg_sounds fadeout 4 + stop background fadeout 4 stop music fadeout 4 show screen blkfade with d5 @@ -924,12 +924,12 @@ label hufflepuff_match: hide hermione_main call quidditch_stands(crowd_react=[None, None, None]) - ">You and Snape lean back and watch the game, frequently shifting your focus to Cho, as she darts past the stands..." - ">Only Occasionally pausing to refill your wine, while Snape keeps ridiculing Hermione's commentary..." + nar "You and Snape lean back and watch the game, frequently shifting your focus to Cho, as she darts past the stands..." + nar "Only Occasionally pausing to refill your wine, while Snape keeps ridiculing Hermione's commentary..." # End of game - play bg_sounds "sounds/crowd_low.ogg" fadein 2 - $ renpy.sound.play("sounds/referee.ogg") + play background "sounds/crowd_low.ogg" fadein 2 + play sound "sounds/referee.ogg" pause 1.0 her "What was that?{w=0.5} Did somebody do a foul?" # intentional 'do' pause .5 @@ -962,7 +962,7 @@ label hufflepuff_match: #$ cho.set_body(armright="snitch") with d3 - ">Cho waves the snitch in front of her." + nar "Cho waves the snitch in front of her." her "" ("mad", "wide", "worried", "shocked") #$ cho.set_body(armright="down") @@ -970,7 +970,7 @@ label hufflepuff_match: cho "No one did, thanks to your dreadful commentating!" ("scream", "narrow", "angry", "L") cho "" ("mad", "narrow", "angry", "L") her "Oh..." ("normal", "wide", "worried", "shocked") - her "So should I announce it now?" ("open", "happyCl", "worried", "mid") + her "So, should I announce it now?" ("open", "happyCl", "worried", "mid") sna "Obviously--" ("snape_12", ypos="head") cho "{size=+10}YES!{/size}" ("scream", "closed", "angry", "mid", trans=vpunch) her "" ("normal", "base", "annoyed", "L") @@ -986,19 +986,19 @@ label hufflepuff_match: #cho "{size=+10}!!!{/size}" ("clench", "closed", "angry", "mid") hide hermione_main with d3 - cho "" ("normal", "wide", "base", "L", cheeks="heavy_blush") + cho @ cheeks heavy_blush "" ("normal", "wide", "base", "L") - play bg_sounds "sounds/crowd.ogg" fadein 1 fadeout 1 - $ renpy.sound.play("sounds/crowd_applause.ogg") + play background "sounds/crowd.ogg" fadein 1 fadeout 1 + play sound "sounds/crowd_applause.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo7"]) hide hermione_main hide screen bld2 with d3 call ctc - cho "" ("quiver", "base", "worried", "downR", cheeks="blush") - ">Hermione's commentating is drowned out by the sound of the Ravenclaw grandstand cheering." - cho "{size=+6}You are done, Granger!{/size}" ("scream", "closed", "angry", "L", cheeks="blush") + cho @ cheeks blush "" ("quiver", "base", "worried", "downR") + nar "Hermione's commentating is drowned out by the sound of the Ravenclaw grandstand cheering." + cho @ cheeks blush "{size=+6}You are done, Granger!{/size}" ("scream", "closed", "angry", "L") hide cho_main with d3 pause .1 @@ -1011,32 +1011,31 @@ label hufflepuff_match: # Outro gen "This isn't such a bad game after all." ("base", xpos="far_left", ypos="head") - sna "I *hick* told you... so..." ("snape_22", ypos="head") + sna "I--{w=0.2} *hick*...{w=0.2} told you so..." ("snape_22", ypos="head") gen "Just bring more wine next time!" ("base", xpos="far_left", ypos="head") sna "M-More?!" ("snape_20", ypos="head") gen "Or at least share more of it with me!" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/glass_shatter.ogg") + play sound "sounds/glass_shatter.ogg" sna "Get your own, magic man!" ("snape_21", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") # Blackfade - stop bg_sounds fadeout 4 + stop background fadeout 4 show screen blkfade with d5 - ">Snape wanders off in a drunken stupor..." + nar "Snape wanders off in a drunken stupor..." pause .5 - call play_sound("grass") - ">You hurry back to your office before giving anyone a chance to talk to you." + play sound "sounds/steps_grass.ogg" + nar "You hurry back to your office before giving anyone a chance to talk to you." $ game.daytime = False - call update_interface_color call room("main_room") call gen_chibi("hide") call hide_blkfade pause 1.0 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("stand", "door", "base", flip=False) with d3 pause 0.3 @@ -1072,9 +1071,8 @@ label hufflepuff_match_return: # The office, evening after the game $ game.daytime = False - call update_interface_color - call play_music("stop") + stop music fadeout 1 call room("main_room") $ cho_outfit_last.save() @@ -1087,37 +1085,37 @@ label hufflepuff_match_return: pause 0.8 call bld - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "*Snore*{w=2.0}{nw}" ("base", xpos="far_left", ypos="head") pause 1.0 - $ renpy.sound.play("sounds/snore3.ogg") + play sound "sounds/snore3.ogg" gen "*Sn{cps=8}oooooooreeee*{/cps}{w=2.0}{nw}" ("base", xpos="far_left", ypos="head") pause 1.0 - $ renpy.sound.play("sounds/snore2.ogg") + play sound "sounds/snore2.ogg" gen "......{w=0.5}*Snore*{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") stop music fadeout 6.0 call cho_walk("desk", "base", action="enter") - $ renpy.sound.play("sounds/punch01.ogg") + play sound "sounds/punch01.ogg" cho "We beat Hufflepuff!!!" ("silly", "happyCl", "base", "mid", xpos="mid", ypos="base", trans=hpunch) - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" gen "{size=+10}IT WASN'T ME!{/size}" ("angry", xpos="far_left", ypos="head") gen "..........." ("base", xpos="far_left", ypos="head") - cho "*huh*?{w=0.5} Are you okay, [cho_genie_name]?" ("soft", "narrow", "base", "mid") + cho "*Huh*?{w=0.5} Are you okay, [name_genie_cho]?" ("soft", "narrow", "base", "mid") gen "Wha--" ("base", xpos="far_left", ypos="head") gen "Of course I am!" ("angry", xpos="far_left", ypos="head") cho "..." ("annoyed", "narrow", "raised", "R") cho "If you say so..." ("annoyed", "narrow", "base", "mid") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "I can't believe that we've broken our six year dry streak and won a real game!" ("smile", "happyCl", "base", "mid") cho "We could actually win the cup!" ("open", "wide", "base", "mid") gen "And you weren't embarrassed?" ("base", xpos="far_left", ypos="head") - cho "I was a little at the start of the game..." ("quiver", "narrow", "worried", "downR", cheeks="blush") + cho @ cheeks blush "I was a little at the start of the game..." ("quiver", "narrow", "worried", "downR") cho "But once I realised how much it was affecting those slack-jawed Hufflepuffs..." ("smile", "narrow", "angry", "R") cho "It was like having my own personal weapon of mass distraction!" ("smile", "wide", "angry", "mid") - cho "I don't think Cedric even knew where the snitch was most of the time!" ("horny", "base", "base", "downR", cheeks="blush") - cho "All he seemed to do was follow me around..." ("horny", "narrow", "worried", "down", cheeks="blush") - cho "Him {size=-2}and {size=-2}half {size=-2}the {size=-2}team...{/size}{/size}{/size}{/size}" ("quiver", "narrow", "worried", "downR", cheeks="heavy_blush") + cho @ cheeks blush "I don't think Cedric even knew where the snitch was, most of the time!" ("horny", "base", "base", "downR") + cho @ cheeks blush "All he seemed to do was follow me around..." ("horny", "narrow", "worried", "down") + cho @ cheeks heavy_blush "Him {size=-2}and {size=-2}half {size=-2}the {size=-2}team...{/size}{/size}{/size}{/size}" ("quiver", "narrow", "worried", "downR") cho "This might be the first real chance Ravenclaw has ever had to win the cup." ("open", "closed", "worried", "mid") gen "I'm sure this must mean a lot to you..." ("base", xpos="far_left", ypos="head") cho "It does... I might even get picked up by a pro team!" ("smile", "base", "base", "mid") @@ -1125,7 +1123,7 @@ label hufflepuff_match_return: cho "*Ahh*{w=0.3} I can't wait!" ("silly", "happyCl", "base", "mid") cho "I better go celebrate with the team now!" ("clench", "wide", "base", "mid") gen "Well, off you go then." ("base", xpos="far_left", ypos="head") - cho "Thank you [cho_genie_name]..." ("smile", "wink", "base", "mid") + cho "Thank you [name_genie_cho]..." ("smile", "wink", "base", "mid") # # TODO: Add panty flash in form of a reward/tease # @@ -1142,22 +1140,21 @@ label hufflepuff_match_return: call cho_walk(action="leave") stop music fadeout 1.0 - call unlock_clothing(text=">New clothing items for Cho have been unlocked!", item=cho_outfit_cheerleader) + call unlock_clothing(text="New clothing items for Cho have been unlocked!", item=cho_outfit_cheerleader) call popup("New favours for Cho have been unlocked!", "Congratulations!", "interface/icons/head/cho.webp") - $ hermione_busy = True - $ snape_busy = True + $ states.her.busy = True + $ states.sna.busy = True # Reset Cho $ cho.equip(cho_outfit_last) - $ cho_tier = 2 - $ cho_favors_unlocked = False - $ cho_requests_unlocked = False - $ cho_quid.lock_training = False - $ cho_quid.lock_practice = True - $ cho_quid.lock_tactic = False - $ hufflepuff_match = "completed" - call update_cho_favors + $ states.cho.tier = 2 + $ states.cho.favors_unlocked = False + $ states.cho.requests_unlocked = False + $ states.cho.ev.quidditch.lock_training = False + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.lock_tactic = False + $ states.cho.ev.quidditch.hufflepuff_stage = "completed" jump end_cho_event diff --git a/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy b/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy index 7a248d26..128ef34c 100644 --- a/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/hufflepuff_practice.rpy @@ -18,14 +18,14 @@ label cc_ht_start: cho "Ready as I'll ever be." ("open", "narrow", "base", "R") gen "Great. Get your team ready cause you are going to play today." ("base", xpos="far_left", ypos="head") - cho "I'll give their team captain a heads up during classes then." ("soft", "narrow", "base", "mid") + cho "I'll give their team captain a heads-up during classes then." ("soft", "narrow", "base", "mid") gen "Good, let me know how it went once practice finishes." ("base", xpos="far_left", ypos="head") - cho "I will, [cho_genie_name]. Wish me luck." ("soft", "base", "base", "mid") + cho "I will, [name_genie_cho]. Wish me luck." ("soft", "base", "base", "mid") # Cho leaves. call cho_walk(action="leave") - $ cho_quid.in_progress = True + $ states.cho.ev.quidditch.in_progress = True call gen_chibi("sit_behind_desk") with fade @@ -35,16 +35,16 @@ label cc_ht_start: label cc_ht_return: # Cho enters. - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" menu: "\"Come in!\"": - cho "Yes, [cho_genie_name]..." + cho "Yes, [name_genie_cho]..." "\"Who is it?\"": - cho "Cho Chang, [cho_genie_name]." - gen "Come on in, [cho_name]!" ("base", xpos="far_left", ypos="head") + cho "Cho Chang, [name_genie_cho]." + gen "Come on in, [name_cho_genie]!" ("base", xpos="far_left", ypos="head") cho "..." $ cho.equip(cho_outfit_quidditch) @@ -59,7 +59,7 @@ label cc_ht_return: cho "I bet you were probably in on it..." ("upset", "narrow", "angry", "mid") gen "Now now, you know I'd never resort to any sort of foul play like that..." ("base", xpos="far_left", ypos="head") gen "More importantly, how did the game go?" ("base", xpos="far_left", ypos="head") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "{size=+10}I got it!!!{/size}" ("scream", "base", "base", "mid") cho "I caught the snitch!" ("smile", "happyCl", "base", "mid") gen "Congratulations..." ("base", xpos="far_left", ypos="head") @@ -71,12 +71,12 @@ label cc_ht_return: gen "Is this the first time you've caught one?" ("base", xpos="far_left", ypos="head") cho "*Mhmm*...{w=0.3} This is the first game of quidditch Ravenclaw has won in over six years!" ("smile", "base", "base", "mid") gen "Wasn't this just a practice game?" ("base", xpos="far_left", ypos="head") - cho "I was including the practices, [cho_genie_name]..." ("annoyed", "narrow", "worried", "downR") + cho "I was including the practices, [name_genie_cho]..." ("annoyed", "narrow", "worried", "downR") gen "Oh..." ("base", xpos="far_left", ypos="head") cho "Ravenclaw...{w} isn't very good..." ("annoyed", "narrow", "worried", "down") cho "But I have a feeling that's going to change this year!" ("base", "happyCl", "base", "mid") gen "And I am happy to be of help!" ("grin", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]! Thank you so much!" ("smile", "narrow", "base", "mid") + cho "Yes, [name_genie_cho]! Thank you so much!" ("smile", "narrow", "base", "mid") cho "If there is any way I can return the favour...?" ("horny", "base", "raised", "mid") gen "Yes, but we can discuss that after you've won the game." ("base", xpos="far_left", ypos="head") gen "And have you do some more {b}advanced{/b} favours for me." ("grin", xpos="far_left", ypos="head") @@ -84,13 +84,13 @@ label cc_ht_return: #gen "Would you say you've had enough practice to play against them in a tourney game?" ("base", xpos="far_left", ypos="head") #cho "Absolutely! The next time we will confront Hufflepuff, they will be crushed!" ("smile", "narrow", "angry", "mid") #cho "This should be an easy win for Ravenclaw." ("base", "closed", "base", "mid") - cho "*Ehm*... [cho_genie_name]..." ("horny", "base", "worried", "mid") + cho "*Ehm*... [name_genie_cho]..." ("horny", "base", "worried", "mid") cho "The whole house is celebrating our win at the moment..." ("soft", "narrow", "worried", "mid") cho "And I'd rather not miss spending some time with--" ("horny", "base", "worried", "R") - gen "You did well today, [cho_name]." ("angry", xpos="far_left", ypos="head") + gen "You did well today, [name_cho_genie]." ("angry", xpos="far_left", ypos="head") cho "" ("horny", "base", "base", "mid") gen "Go and party! You've earned it." ("grin", xpos="far_left", ypos="head") - cho "Thank you, [cho_genie_name]... For everything." ("base", "narrow", "base", "mid") + cho "Thank you, [name_genie_cho]... For everything." ("base", "narrow", "base", "mid") cho "Have a good night!" ("smile", "base", "base", "mid") gen "You too..." ("base", xpos="far_left", ypos="head") @@ -98,7 +98,7 @@ label cc_ht_return: call cho_walk(action="leave") $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ cho_quid.hufflepuff_training = True # Mark as complete + $ states.cho.ev.quidditch.hufflepuff_training = True # Mark as complete jump end_cho_event @@ -108,35 +108,35 @@ label cc_ht_talk: cho "" (xpos="right", ypos="base", trans=fade) - if not cho_quid.E1_complete: + if not states.cho.ev.quidditch.e1_complete: gen "Ready to start training?" ("base", xpos="far_left", ypos="head") cho "Of course, just let me know when." ("smile", "base", "raised", "mid") - elif not cho_quid.E2_complete: + elif not states.cho.ev.quidditch.e2_complete: gen "So, are you sure you don't want my help?" ("base", xpos="far_left", ypos="head") cho "I... I don't know..." ("upset", "base", "raised", "downR") - elif cho_quid.E3_complete and not cho_quid.E4_complete: + elif states.cho.ev.quidditch.e3_complete and not states.cho.ev.quidditch.e4_complete: cho "Have you asked Hermione to be our commentator yet?" ("soft", "base", "base", "mid") gen "Not yet." ("base", xpos="far_left", ypos="head") cho "We can't play if we don't have a commentator." ("soft", "base", "worried", "R") cho "Please ask her, Sir." ("annoyed", "base", "worried", "mid") - elif cho_quid.E4_complete and cho_quid.lock_practice: # mandatory + elif states.cho.ev.quidditch.e4_complete and states.cho.ev.quidditch.lock_practice: # mandatory gen "I've got great news for you! I found us a new commentator!" ("grin", xpos="far_left", ypos="head") cho "Is it Hermione?" ("soft", "narrow", "base", "mid") gen "Yes! Very good guess!" ("grin", xpos="far_left", ypos="head") - cho "It wasn't a guess, [cho_genie_name]. We've discussed this already." ("annoyed", "narrow", "angry", "mid") + cho "It wasn't a guess, [name_genie_cho]. We've discussed this already." ("annoyed", "narrow", "angry", "mid") gen "Oh, sure..." ("base", xpos="far_left", ypos="head") cho "But I'm surprised she even took up the task..." ("annoyed", "base", "base", "R") gen "Right away. No questions asked." ("grin", xpos="far_left", ypos="head") cho "And little miss Granger wasn't even the slightest bit intimidated by her new obligation?" ("open", "base", "raised", "mid") gen "Not at all. She seemed rather joyous about her situation." ("grin", xpos="far_left", ypos="head") cho "Oh..." ("annoyed", "base", "worried", "down") # Bit sad. - cho "Well she just doesn't know what's coming towards her yet!" ("annoyed", "narrow", "angry", "mid") + cho "Well, she just doesn't know what's coming towards her yet!" ("annoyed", "narrow", "angry", "mid") cho "{size=-4}I hope she gets hit by a bludger as well! I might even tell the boys to aim at her once or twice!{/size}" ("angry", "narrow", "angry", "R") # Small text. gen "Make sure you tell everyone how your great and very proactive headmaster sorted everything out..." ("grin", xpos="far_left", ypos="head") cho "Oh, I will. Thank you very much!" ("soft", "base", "base", "mid") - $ cho_quid.lock_training = True # Removes training menu. - $ hufflepuff_match = "ready" # Able to start main match. + $ states.cho.ev.quidditch.lock_training = True # Removes training menu. + $ states.cho.ev.quidditch.hufflepuff_stage = "ready" # Able to start main match. hide cho_main show screen blkfade @@ -150,30 +150,30 @@ label cc_ht_talk: call reset_menu_position hide screen blkfade - cho "" (face="happy", xpos="base", ypos="base", trans=fade) + cho "" ("base", "base", "base", "mid", xpos="base", ypos="base", trans=fade) jump cho_requests - elif not cc_pf_talk.is_tier_complete(): # Has NOT completed "Talk to me" favour yet. + elif not states.cho.ev.talk_to_me.t1_e3_complete: # Has NOT completed "Talk to me" favour yet. gen "Have any ideas on how to beat those {i}huffers{/i}?" ("base", xpos="far_left", ypos="head") cho "Isn't that your job?" ("soft", "base", "raised", "mid") gen "Oh, yeah..." ("base", xpos="far_left", ypos="head") gen "(How does she expect me to help her without knowing anything about the opponents?)" ("base", xpos="far_left", ypos="head") gen "(Maybe I could get her to talk to me and gain more information through favours...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.hufflepuff_prepared: + elif not states.cho.ev.quidditch.hufflepuff_prepared: gen "Are you ready for the big win?" ("base", xpos="far_left", ypos="head") cho "Have you actually found out a tactic we could use?" ("open", "base", "raised", "mid") gen "(Oh right... I didn't discuss our new tactic with her yet.)" ("base", xpos="far_left", ypos="head") - elif cho_whoring < 3: # Has Cho enough confidence? + elif states.cho.level < 3: # Has Cho enough confidence? gen "So, how about those tactics?" ("base", xpos="far_left", ypos="head") - cho "I don't know if I can do...{w=0.4} That..." ("disgust", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "I don't know if I can do...{w=0.4} That..." ("disgust", "narrow", "base", "mid") gen "What do you mean you can't? It's the perfect strategy!" ("base", xpos="far_left", ypos="head") - cho "But..." ("soft", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "But..." ("soft", "base", "base", "down") gen "Where's your confidence, your spirit?" ("base", xpos="far_left", ypos="head") - cho "I'm sorry, [cho_genie_name], forget I said anything..." ("open", "happyCl", "base", "mid", cheeks="blush") + cho @ cheeks blush "I'm sorry, [name_genie_cho], forget I said anything..." ("open", "happyCl", "base", "mid") gen "(*Hmm*... She doesn't look very confident to me...)" ("base", xpos="far_left", ypos="head") gen "(Perhaps I should train her more in private.)" ("base", xpos="far_left", ypos="head") else: - cho "I'm confident that we can win this, [cho_genie_name]." ("smile", "base", "base", "mid") + cho "I'm confident that we can win this, [name_genie_cho]." ("smile", "base", "base", "mid") cho "" (xpos="base", ypos="base", trans=fade) diff --git a/game/scripts/characters/cho/events/quidditch/intros.rpy b/game/scripts/characters/cho/events/quidditch/intros.rpy index d2c109ad..a6c4432f 100644 --- a/game/scripts/characters/cho/events/quidditch/intros.rpy +++ b/game/scripts/characters/cho/events/quidditch/intros.rpy @@ -14,61 +14,61 @@ label cho_quid_E1: menu: "\"-Coach-\"": - $ cho_genie_name = "Coach" + $ name_genie_cho = "Coach" "\"-Sergeant-\"": - $ cho_genie_name = "Sergeant" + $ name_genie_cho = "Sergeant" "\"-Captain-\"": - $ cho_genie_name = "Captain" + $ name_genie_cho = "Captain" "\"-Professor-\"": - $ cho_genie_name = "Professor" + $ name_genie_cho = "Professor" gen "You know what, keep calling me Professor..." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("base", "base", "angry", "mid") - gen "And you I will call..." ("base", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]." ("base", "base", "angry", "mid") + gen "And I will call you..." ("base", xpos="far_left", ypos="head") menu: "\"-Cadet-\"": - $ cho_name = "Cadet" + $ name_cho_genie = "Cadet" "\"-Pilot-\"": - $ cho_name = "Pilot" + $ name_cho_genie = "Pilot" "\"-Maggot-\"": - $ cho_name = "Maggot" + $ name_cho_genie = "Maggot" cho "(...)" ("quiver", "base", "worried", "R") "\"-Eagle One-\"": - $ cho_name = "Eagle One" + $ name_cho_genie = "Eagle One" "\"-Cho-\"": - $ cho_name = "Cho" + $ name_cho_genie = "Cho" "\"-Miss Chang-\"": - $ cho_name = "Miss Chang" - cho "Don't you already call me that, [cho_genie_name]?" ("open", "base", "raised", "mid") - gen "Never question your [cho_genie_name], [cho_name]!" ("base", xpos="far_left", ypos="head") + $ name_cho_genie = "Miss Chang" + cho "Don't you already call me that, [name_genie_cho]?" ("open", "base", "raised", "mid") + gen "Never question your [name_genie_cho], [name_cho_genie]!" ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]!" ("soft", "closed", "angry", "mid") + cho "Yes, [name_genie_cho]!" ("soft", "closed", "angry", "mid") gen "Let's start with your {i}Quiddesh{/i} training!" ("angry", xpos="far_left", ypos="head") cho "\"Quidditch\", Sir." ("annoyed", "narrow", "angry", "mid") - gen "Let's start with your \"Quidditch\" training, [cho_name]." ("angry", xpos="far_left", ypos="head") - cho "!!!" ("smile", "happyCl", "base", "mid", cheeks="blush") + gen "Let's start with your \"Quidditch\" training, [name_cho_genie]." ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "!!!" ("smile", "happyCl", "base", "mid") cho "Shall I call the rest of my team up here?" ("open", "base", "base", "mid") gen "What? Why?" ("base", xpos="far_left", ypos="head") cho "So they can hear your expertise as well, of course." ("soft", "narrow", "base", "mid") gen "I don't think that will be necessary." ("base", xpos="far_left", ypos="head") gen "Let's focus on you, for the moment..." ("base", xpos="far_left", ypos="head") - cho "Very well, [cho_genie_name]." ("soft", "base", "worried", "R") + cho "Very well, [name_genie_cho]." ("soft", "base", "worried", "R") gen "Tell me, how do you usually play?{w} Is there a specific reason why you've been losing?" ("base", xpos="far_left", ypos="head") - cho "Well, it sort of differs depending which team we're playing against..." ("open", "narrow", "base", "R") + cho "Well, it sort of differs depending on which team we're playing against..." ("open", "narrow", "base", "R") gen "...{w} Let's start with whichever team you're playing against first." ("base", xpos="far_left", ypos="head") cho "That'd be Hufflepuff...{w=0.4} Most of their previous victories against us were achieved thanks to their seeker!" ("open", "base", "base", "mid") cho "He's always catching the snitch before me." ("quiver", "narrow", "worried", "down") cho "I don't know how he does it, to be honest. It always happens so quick..." ("open", "narrow", "worried", "mid") gen "And you are \"both\" looking for that thing? At the same time?" ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("soft", "base", "base", "mid") + cho "Yes, [name_genie_cho]." ("soft", "base", "base", "mid") cho "I do my best flying around the pitch searching for it. But it's just so small and really tricky to see..." ("angry", "base", "worried", "down") - gen "Why don't you look for it together? After all there is only one." ("base", xpos="far_left", ypos="head") + gen "Why don't you look for it together? After all, there is only one." ("base", xpos="far_left", ypos="head") cho "*Hmm*?" ("annoyed", "base", "base", "mid") gen "You just need to grab that Snatch before he does." ("grin", xpos="far_left", ypos="head") cho "???" ("annoyed", "wide", "raised", "mid") - cho "[cho_genie_name]! It's \"Snitch\"!" ("angry", "closed", "angry", "mid") + cho "[name_genie_cho]! It's \"Snitch\"!" ("angry", "closed", "angry", "mid") gen "Potato {i}potato{/i}..." ("base", xpos="far_left", ypos="head") cho "You just said the same thing twice..." ("open", "base", "raised", "R") gen "Exactly..." ("base", xpos="far_left", ypos="head") @@ -84,13 +84,13 @@ label cho_quid_E1: gen "And you just gave me a great idea." ("base", xpos="far_left", ypos="head") gen "We'll need to distract him!" ("base", xpos="far_left", ypos="head") gen "So you can get a hold of that Snatch before he does!" ("angry", xpos="far_left", ypos="head") - cho "Please stop saying that, [cho_genie_name]!" ("angry", "closed", "angry", "mid") + cho "Please stop saying that, [name_genie_cho]!" ("angry", "closed", "angry", "mid") gen "Saying what?" ("base", xpos="far_left", ypos="head") cho "(...)" ("annoyed", "narrow", "angry", "mid") cho "{size=-4}\"Snatch.\"{/size}" ("soft", "narrow", "angry", "mid") gen "*He-he-he*...{w} Now you've said it!" ("grin", xpos="far_left", ypos="head") - cho "Could we please just talk about your plan, [cho_genie_name]?" ("open", "narrow", "angry", "R") - gen "Patience, [cho_name]." ("base", xpos="far_left", ypos="head") + cho "Could we please just talk about your plan, [name_genie_cho]?" ("open", "narrow", "angry", "R") + gen "Patience, [name_cho_genie]." ("base", xpos="far_left", ypos="head") cho "Tell me!" ("scream", "closed", "angry", "mid", trans=hpunch) cho "" ("annoyed", "narrow", "angry", "mid") @@ -140,8 +140,8 @@ label cho_quid_E1: gen "She'll get over it..." ("base", xpos="far_left", ypos="head") # Flags - $ cho_mood += 9 - $ cho_quid.E1_complete = True + $ states.cho.mood += 9 + $ states.cho.ev.quidditch.e1_complete = True jump end_cho_event @@ -182,13 +182,13 @@ label cho_quid_E2: $ cho_outfit_last.save() $ cho.equip(cho_outfit_quidditch) # Equip quidditch set - call play_sound("door") + play sound "sounds/door.ogg" pause .5 call hide_blkfade pause .8 - cho "Ready when you are, [cho_genie_name]!" ("smile", "base", "base", "mid", xpos="right", ypos="base", trans=d3) + cho "Ready when you are, [name_genie_cho]!" ("smile", "base", "base", "mid", xpos="right", ypos="base", trans=d3) gen "Perfect, now get on that broom and follow my instructions..." ("base", xpos="far_left", ypos="head") hide cho_main with d3 @@ -273,17 +273,17 @@ label cho_quid_E2: gen "Great job, we should definitely use positioning to our advantage!" ("base", xpos="far_left", ypos="head") cho "Well, that much is true for any quidditch game..." ("open", "base", "raised", "mid") cho "So I'm not exactly sure what we've achieved here." ("soft", "base", "raised", "R") - gen "All in due time, [cho_name]..." ("base", xpos="far_left", ypos="head") + gen "All in due time, [name_cho_genie]..." ("base", xpos="far_left", ypos="head") gen "With my training methods you'll have the upper hand over those other teams, I'm sure of it." ("base", xpos="far_left", ypos="head") - cho "I'll have to take you for your word then..." ("base", "base", "raised", "mid") #cautious smile + cho "I'll have to take you at your word then..." ("base", "base", "raised", "mid") #cautious smile cho "So, what's next?" ("open", "base", "raised", "mid") gen "That's all for today." ("base", xpos="far_left", ypos="head") cho "Already? I usually train for a couple of hours!" ("angry", "base", "raised", "mid") gen "Yes, I need to come up with a pl--{w=0.3}{nw}" ("base", xpos="far_left", ypos="head") gen "Yes, I need to come up with a pl--{fast} prepare for our next session!" ("grin", xpos="far_left", ypos="head") cho "Oh...{w=0.3} okay." ("soft", "base", "base", "down") - cho "Bye then, [cho_genie_name]." ("base", "base", "base", "mid") - gen "Bye for now, [cho_name]." ("base", xpos="far_left", ypos="head") + cho "Bye then, [name_genie_cho]." ("base", "base", "base", "mid") + gen "Bye for now, [name_cho_genie]." ("base", xpos="far_left", ypos="head") call cho_walk(action="leave") @@ -292,9 +292,9 @@ label cho_quid_E2: # Flags $ cho.equip(cho_outfit_last) - $ cho_quid.E2_complete = True - $ cho_favors_unlocked = True - $ cho_quid.lock_training = False + $ states.cho.ev.quidditch.e2_complete = True + $ states.cho.favors_unlocked = True + $ states.cho.ev.quidditch.lock_training = False call gen_chibi("sit_behind_desk") with fade @@ -306,14 +306,14 @@ label cho_quid_E3: call cho_walk(action="enter", xpos="desk", ypos="base", speed=1.5) - call play_music("stop") + stop music fadeout 1 - cho "[cho_genie_name], there's been a disaster!" ("scream", "closed", "angry", "mid", xpos="mid", ypos="base", trans=hpunch) + cho "[name_genie_cho], there's been a disaster!" ("scream", "closed", "angry", "mid", xpos="mid", ypos="base", trans=hpunch) - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed gen "Off to a good start..." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name], something terrible happened to Lee Jordan!" ("soft", "narrow", "worried", "mid") + cho "[name_genie_cho], something terrible happened to Lee Jordan!" ("soft", "narrow", "worried", "mid") gen "Lee Jordan?{w=0.5} Is that a famous basketball player I'm not aware of?" ("base", xpos="far_left", ypos="head") cho "What?{w=0.5} No Sir, Lee is our quidditch commentator!" ("soft", "narrow", "base", "mid") cho "He got hit in the throat by a bludger!" ("disgust", "base", "raised", "down") @@ -331,27 +331,27 @@ label cho_quid_E3: "\"Hermione\"": pass - "\"Astoria\"" if astoria_unlocked and not _selected[0]: + "\"Astoria\"" if states.ast.unlocked and not _selected[0]: $ _selected[0] = True cho "That mischievous little..." ("clench", "wide", "raised", "mid") cho "Not a chance!" ("open", "closed", "angry", "mid") - cho "Besides, [cho_genie_name]. Did you forget that she's a Slytherin?" ("open", "narrow", "angry", "mid") + cho "Besides, [name_genie_cho]. Did you forget that she's a Slytherin?" ("open", "narrow", "angry", "mid") gen "Right. No Slytherins. Got it." ("base", xpos="far_left", ypos="head") gen "How about..." ("base", xpos="far_left", ypos="head") jump cho_quid_E3.choices - "\"Luna\"" if luna_unlocked and not _selected[1]: + "\"Luna\"" if states.lun.unlocked and not _selected[1]: $ _selected[1] = True - cho "Luna? Luna Lovegood, [cho_genie_name]?" ("open", "narrow", "raised", "mid") + cho "Luna? Luna Lovegood, [name_genie_cho]?" ("open", "narrow", "raised", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") cho "Surely{w=0.3}, nobody in their right mind would let Luna Lovegood commentate." ("grin", "happyCl", "base", "mid") # Book quote. #gen "I am of right mind, Miss Chang...{w} and don't call me Shirley..." ("base", xpos="far_left", ypos="head") gen "(...)" ("base", xpos="far_left", ypos="head") - cho "Knowing her she'd probably commentate the grass as it's growing..." ("open", "base", "base", "R") - cho "Trust me, [cho_genie_name]. Luna would be a terrible choice!" ("soft", "narrow", "base", "mid") + cho "Knowing her, she'd probably commentate the grass as it's growing..." ("open", "base", "base", "R") + cho "Trust me, [name_genie_cho]. Luna would be a terrible choice!" ("soft", "narrow", "base", "mid") gen "Fine. How about..." ("base", xpos="far_left", ypos="head") jump cho_quid_E3.choices @@ -370,9 +370,9 @@ label cho_quid_E3: cho "But Granger wouldn't know anything about Quidditch either!" ("annoyed", "narrow", "angry", "mid") gen "Do you know anybody else suited for the job?" ("base", xpos="far_left", ypos="head") cho "{size=-4}Probably anyone at this point...{/size}" ("annoyed", "base", "raised", "R") - call play_music("stop") + stop music fadeout 1 cho "(Wait a minute...)" ("annoyed", "wide", "raised", "mid") - play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadein 1.0 + play music "music/marty-gots-a-plan-by-kevin-macleod.ogg" fadein 1.0 if_changed cho "No..." ("smile", "base", "base", "mid") #Mischievous smile gen "I'll ask her... What's the worst that could happen..." ("grin", xpos="far_left", ypos="head") cho "Yeah, actually you're probably right..." ("grin", "narrow", "angry", "mid") @@ -392,13 +392,12 @@ label cho_quid_E3: # Cho leaves. call cho_walk(action="leave") - call bld gen "(...)" ("base", xpos="far_left", ypos="head") # Reset $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ cho_quid.E3_complete = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.e3_complete = True + $ states.cho.ev.quidditch.lock_practice = True jump end_cho_event @@ -406,19 +405,19 @@ label cho_quid_E4: # Genie asks Hermione if she would agree to commentate the game. her "" (xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], how much do you know about Quidditch?" ("base", xpos="far_left", ypos="head") - her "[genie_name], I mean, I've taken flying lessons... they're mandatory." ("open", "base", "base", "R") - gen "Ah, okay... and here I was hoping that you'd be able to commentate this years quidditch games..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], how much do you know about Quidditch?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I mean, I've taken flying lessons... they're mandatory." ("open", "base", "base", "R") + gen "Ah, okay... and here I was hoping that you'd be able to commentate this year's Quidditch games..." ("base", xpos="far_left", ypos="head") her "Me, wasting time on something as stupid as--" ("base", "closed", "base", "mid") her "Wait...{w=0.3} What did you say?" ("open", "squint", "base", "mid") - gen "I was going to ask you if you'd commentate this year's quidditch games..." ("base", xpos="far_left", ypos="head") + gen "I was going to ask you if you'd commentate this year's Quidditch games..." ("base", xpos="far_left", ypos="head") her "You want me... to commentate this year's Inter-House Quidditch cup?" ("open", "wide", "base", "mid") her "I'd be honoured, sir!" ("scream", "closed", "base", "mid", trans=hpunch) her "Quidditch has always been one of my passions, to be able to commentate it..." ("open", "base", "angry", "mid") her "Not to mention getting to make all the announcements..." ("smile", "base", "base", "R") her "The speeches..." ("grin", "happy", "base", "mid") - if her_whoring < 18: + if states.her.level < 18: her "The paper..." ("soft", "narrow", "annoyed", "up") her "The {heart}{b}preparation{/b}{heart}..." ("open_tongue", "narrow", "base", "up") else: @@ -428,7 +427,7 @@ label cho_quid_E4: gen "I thought you just said you didn't--" ("angry", xpos="far_left", ypos="head") her "Cho will be so mad!" ("crooked_smile", "happy", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") - gen "Congratulations then, [hermione_name]! You got the job." ("grin", xpos="far_left", ypos="head") + gen "Congratulations then, [name_hermione_genie]! You got the job." ("grin", xpos="far_left", ypos="head") her "Ah!!! I better start learning--{w=0.4} I mean, preparing my opening speech!" ("open", "wide", "base", "mid", trans=hpunch) call her_walk(action="leave", speed=1.5) @@ -437,7 +436,7 @@ label cho_quid_E4: gen "Aaaa-nd, she's gone..." ("base", xpos="far_left", ypos="head") gen "I better tell Cho about the...{w=0.8} news." ("base", xpos="far_left", ypos="head") - $ cho_quid.E4_complete = True + $ states.cho.ev.quidditch.e4_complete = True jump end_hermione_event # This is correct, it's Hermione talking! @@ -450,30 +449,30 @@ label cho_quid_E5: call cho_walk("mid", "base") if game.daytime: - cho "Good morning, [cho_genie_name]..." ("annoyed", "narrow", "worried", "downR", xpos="right", ypos="base", trans=d3) + cho "Good morning, [name_genie_cho]..." ("annoyed", "narrow", "worried", "downR", xpos="right", ypos="base", trans=d3) gen "Mornin'." ("base", xpos="far_left", ypos="head") else: - cho "Good evening, [cho_genie_name]..." ("annoyed", "narrow", "worried", "downR", xpos="right", ypos="base", trans=d3) + cho "Good evening, [name_genie_cho]..." ("annoyed", "narrow", "worried", "downR", xpos="right", ypos="base", trans=d3) gen "Evenin'." ("base", xpos="far_left", ypos="head") - gen "[cho_name], before we get back to our usual diversions, why don't we have a little chat about the recent happenings?" ("base", xpos="far_left", ypos="head") - cho "Very well, [cho_genie_name]..." ("open", "narrow", "worried", "mid") + gen "[name_cho_genie], before we get back to our usual diversions, why don't we have a little chat about the recent happenings?" ("base", xpos="far_left", ypos="head") + cho "Very well, [name_genie_cho]..." ("open", "narrow", "worried", "mid") gen "Cheer up, will you..." ("base", xpos="far_left", ypos="head") gen "Where did that high-spirit from your \"big win\" fly off to?" ("base", xpos="far_left", ypos="head") - cho "Nowhere, [cho_genie_name]...{w=0.6} I'm still very happy we won the game, it's just..." ("open", "narrow", "worried", "down") # worried/sad + cho "Nowhere, [name_genie_cho]...{w=0.6} I'm still very happy we won the game, it's just..." ("open", "narrow", "worried", "down") # worried/sad cho "I'm a bit worried about the future." ("soft", "narrow", "worried", "mid") # sad/relieved gen "The future?" ("base", xpos="far_left", ypos="head") gen "You didn't get pregnant during your little celebration event, did you?" ("base", xpos="far_left", ypos="head") - call play_music("cho") - cho "WHAT?!" ("clench", "wide", "base", "mid", cheeks="heavy_blush") # Upset/whatthefuck face - cho "Sir, why would you even suggest that?!" ("angry", "narrow", "angry", "mid", cheeks="blush") # upset + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + cho @ cheeks heavy_blush "WHAT?!" ("clench", "wide", "base", "mid") # Upset/whatthefuck face + cho @ cheeks blush "Sir, why would you even suggest that?!" ("angry", "narrow", "angry", "mid") # upset gen "Then what is it?" ("base", xpos="far_left", ypos="head") cho "It's about the upcoming quidditch match." ("annoyed", "narrow", "angry", "R") # annoyed - eyes R, mouth annoyed gen "Oh...{w=0.4} Of course..." ("base", xpos="far_left", ypos="head") gen "{size=-6}Always some stupid quest...{/size}" ("base", xpos="far_left", ypos="head") cho "Pardon?" ("annoyed", "narrow", "raised", "mid") gen "It's nothing,{w=0.5} please continue." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name], I worry that we won't be able to beat Slytherin in the next match." ("annoyed", "narrow", "worried", "mid") # eyebrows sad, eyes mid, mouth pout + cho "[name_genie_cho], I worry that we won't be able to beat Slytherin in the next match." ("annoyed", "narrow", "worried", "mid") # eyebrows sad, eyes mid, mouth pout gen "Slytherin is next?{w=0.6} Sweet!" ("grin", xpos="far_left", ypos="head") cho "They're an entirely different ballpark compared to Hufflepuff." ("open", "base", "worried", "mid") gen "Really? Why's that?" ("base", xpos="far_left", ypos="head") @@ -485,10 +484,10 @@ label cho_quid_E5: gen "(And show Snape who's boss.)" ("grin", xpos="far_left", ypos="head") gen "Trust me, our tactics have worked perfectly thus far, haven't they?" ("base", xpos="far_left", ypos="head") cho "I--{w=0.3} yes..." ("soft", "base", "raised", "downR") - cho "You're right! Thank you, [cho_genie_name]." ("base", "base", "base", "mid") # happy + cho "You're right! Thank you, [name_genie_cho]." ("base", "base", "base", "mid") # happy - $ cho_quid.E5_complete = True - $ cho_favors_unlocked = True + $ states.cho.ev.quidditch.e5_complete = True + $ states.cho.favors_unlocked = True jump cho_requests @@ -512,7 +511,7 @@ label cho_quid_E6: her "I can't believe her..." ("clench", "closed", "angry", "mid", trans=hpunch) # angry gen "Good day to you too..." ("base", xpos="far_left", ypos="head") - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "That bitch has been walking around saying that I quit the commentator job." ("open", "base", "angry", "mid") gen "Who did?" ("base", xpos="far_left", ypos="head") @@ -521,21 +520,21 @@ label cho_quid_E6: gen "Wait, so you didn't quit?" ("base", xpos="far_left", ypos="head") her "No! Why would I be here telling you this if I did?" ("angry", "base", "angry", "mid") gen "I guess you would've had to give me a two weeks notice..." ("base", xpos="far_left", ypos="head") - her "You tell me, you're the one that appointed me." ("annoyed", "narrow", "annoyed", "mid") + her "You tell me, you're the one who appointed me." ("annoyed", "narrow", "annoyed", "mid") gen "Oh, right." ("base", xpos="far_left", ypos="head") her "And since I didn't sign anything..." ("soft", "closed", "base", "mid") her "I quit!" ("soft", "narrow", "base", "mid") gen "What?{w=0.5} You can't do that!" ("angry", xpos="far_left", ypos="head") her "Why not? After all, I'm terrible at it, aren't I?" ("clench", "base", "angry", "mid") - her "I made such a fool out of myself during the Hufflepuff game..." ("upset", "base", "worried", "R", tears="soft") # Sad, tears - her "And now with the Slytherin team being next..." ("open", "happyCl", "worried", "mid", tears="soft_blink") - her "I won't just stand there and have them laugh at me..." ("open", "base", "worried", "mid", tears="soft") - her "I'm not giving those Slytherins that satisfaction!" ("annoyed", "base", "worried", "R", tears="soft") + her @ tears soft "I made such a fool out of myself during the Hufflepuff game..." ("upset", "base", "worried", "R") # Sad, tears + her @ tears soft_blink "And now with the Slytherin team being next..." ("open", "happyCl", "worried", "mid") + her @ tears soft "I won't just stand there and have them laugh at me..." ("open", "base", "worried", "mid") + her @ tears soft "I'm not giving those Slytherins that satisfaction!" ("annoyed", "base", "worried", "R") menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"Tough luck, Miss Granger!\"": - $ her_mood += 16 + $ states.her.mood += 16 her "Tough luck?!" ("clench", "wide", "base", "stare") gen "You agreed to do this, remember..." ("base", xpos="far_left", ypos="head") @@ -543,26 +542,26 @@ label cho_quid_E6: her "No amount of house points was worth the humiliation I got!" ("angry", "base", "angry", "mid") gen "Well, *boo* --{w=0.3} bloody --{w=0.3} *hoo*..." ("base", xpos="far_left", ypos="head") her "*Tzzzs*!..." ("clench", "closed", "angry", "mid", emote="angry") - her "Good luck finding somebody that is more willing to be the school's laughing stock!" ("open", "base", "angry", "mid") + her "Good luck finding somebody that is more willing to be the school's laughingstock!" ("open", "base", "angry", "mid") "\"We'll look for somebody more competent, then.\"": - $ her_mood += 10 + $ states.her.mood += 10 her "More competent?!" ("clench", "base", "angry", "mid") gen "Surely we can find a replacement for you in no time." ("base", xpos="far_left", ypos="head") - her "Well if that's the case, it seems like I'm no longer needed..." ("open", "base", "angry", "mid") + her "Well, if that's the case, it seems like I'm no longer needed..." ("open", "base", "angry", "mid") "\"All you need is a bit of practice...\"": - if hg_pf_sex.counter == 0: + if not states.her.status.sex: gen "(And a good fucking, but we'll get to that...)" ("grin", xpos="far_left", ypos="head") else: gen "(And a good fucking...)" ("grin", xpos="far_left", ypos="head") gen "You're a natural at this!" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "base", "worried", "mid", tears="soft") - her "It doesn't matter..." ("soft", "base", "worried", "R", tears="soft") - her "Thanks to Cho, everybody now thinks I'm a fraud..." ("open", "happyCl", "worried", "mid", tears="soft_blink") - her "I don't understand why she feels the need to constantly spread rumours about me." ("annoyed", "base", "annoyed", "R", tears="soft") + her @ tears soft "..." ("annoyed", "base", "worried", "mid") + her @ tears soft "It doesn't matter..." ("soft", "base", "worried", "R") + her @ tears soft_blink "Thanks to Cho, everybody now thinks I'm a fraud..." ("open", "happyCl", "worried", "mid") + her @ tears soft "I don't understand why she feels the need to constantly spread rumours about me." ("annoyed", "base", "annoyed", "R") gen "(Look who's talking...)" ("base", xpos="far_left", ypos="head") her "You can tell that bitch to look for somebody else to commentate!" ("open", "base", "angry", "mid") @@ -577,7 +576,7 @@ label cho_quid_E6: gen "(What in the great desert sands do these women want from me...)" ("angry", xpos="far_left", ypos="head") gen "(Can't they get along like me and my ol' pal Snape?)" ("base", xpos="far_left", ypos="head") - $ cho_quid.E6_complete = True + $ states.cho.ev.quidditch.e6_complete = True jump end_hermione_event @@ -586,8 +585,8 @@ label cho_quid_E7: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], could I change your mind about your role in the Slytherin match?" ("base", xpos="far_left", ypos="head") - her "My answer is still no, [genie_name]." ("open", "closed", "base", "mid") + gen "[name_hermione_genie], could I change your mind about your role in the Slytherin match?" ("base", xpos="far_left", ypos="head") + her "My answer is still no, [name_genie_hermione]." ("open", "closed", "base", "mid") gen "Come on!" ("angry", xpos="far_left", ypos="head") her "That's my final answer." ("annoyed", "narrow", "angry", "mid") gen "(This girl...)" ("base", xpos="far_left", ypos="head") @@ -603,12 +602,12 @@ label cho_quid_E7: gen "Your loss..." ("base", xpos="far_left", ypos="head") "\"You could make fun of those Slytherins.\"": - if her_tier >= 5: - her "I'm not that childish, [genie_name]." ("annoyed", "base", "base", "mid") + if states.her.tier >= 5: + her "I'm not that childish, [name_genie_hermione]." ("annoyed", "base", "base", "mid") gen "You're not?" ("base", xpos="far_left", ypos="head") gen "So what they're doing doesn't bother you? Calling you all sorts of names?" ("base", xpos="far_left", ypos="head") her "Not in the slightest..." ("soft", "narrow", "base", "mid") - her "They can act like the usual dorks if they want to, that's no concern to me." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "They can act like the usual dorks if they want to, that's no concern to me." ("soft", "base", "base", "R") her "But I have no reason to stoop down to their level." ("open", "closed", "base", "mid") else: her "And why would I want to do that? I'm not that foolish!" ("open", "base", "annoyed", "mid") @@ -617,18 +616,18 @@ label cho_quid_E7: her "Madam Hooch would be unquestionably against that." ("open", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - her "I wont step a foot on that podium, [genie_name]." ("open", "closed", "base", "mid") + her "I won't step a foot on that podium, [name_genie_hermione]." ("open", "closed", "base", "mid") her "There's nothing you could tempt me with that would change my mind." ("soft", "narrow", "annoyed", "R") gen "Well then..." ("base", xpos="far_left", ypos="head") gen "No more mister nice guy..." ("angry", xpos="far_left", ypos="head") - her "[genie_name]?" ("soft", "wink", "base", "mid") - gen "[hermione_name], you're going to commentate that match. Whether you like it or not." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "wink", "base", "mid") + gen "[name_hermione_genie], you're going to commentate that match. Whether you like it or not." ("base", xpos="far_left", ypos="head") her "No! You can't change my mind on this!" ("annoyed", "base", "angry", "mid") gen "Are you sure about that?" ("grin", xpos="far_left", ypos="head") her "Why?" ("annoyed", "narrow", "angry", "mid") # suspicious menu: - gen "[hermione_name]..." ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("grin", xpos="far_left", ypos="head") "\"I heard Cho has a crush on you!\"": $ d_flag_01 = True her "She has a--{w=0.5} What?" ("open", "wide", "base", "stare") @@ -641,19 +640,14 @@ label cho_quid_E7: her "Not even Cho would agree to this!" ("open", "base", "angry", "mid") gen "Why don't we ask her?" ("grin", xpos="far_left", ypos="head") her "What?" ("angry", "base", "base", "mid") - her "[genie_name], you can't do this!" ("open", "base", "angry", "mid") + her "[name_genie_hermione], you can't do this!" ("open", "base", "angry", "mid") gen "Sure I can." ("grin", xpos="far_left", ypos="head") call hide_characters - call nar(">You telepathically call Cho into your office.") + nar "You telepathically call Cho into your office." - hide screen bld1 - with d3 - pause .2 - - if her_tier < 4: # Hermione changes into her school outfit - # TODO Does this even make sense? She's supposed to be comfortable enough to wear her clothes around the school anyway - call nar(">While Hermione hastily puts on some less revealing clothes.") + if states.her.tier < 4: # Hermione changes into her school outfit + nar "While Hermione hastily puts on some less revealing clothes." $ her_outfit_last.save() $ hermione.equip(her_outfit_default) else: @@ -677,7 +671,7 @@ label cho_quid_E7: her "" ("annoyed", "base", "angry", "R", xpos=270, ypos="base", flip=True) cho "Hello, Sir." ("base", "base", "base", "mid", xpos="close", ypos="base") cho "Granger." ("soft", "narrow", "base", "L") - her "..." ("annoyed", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "base", "angry", "mid") cho "How can I be of help?" ("base", "base", "base", "mid") gen "I have some very good news for you, Miss Chang." ("base", xpos="far_left", ypos="head") gen "Miss Granger and I were just discussing who should commentate the next Squidditch game." ("base", xpos="far_left", ypos="head") @@ -688,7 +682,7 @@ label cho_quid_E7: her "So that's what's going on here. You two are scheming against me!" ("angry", "base", "angry", "mid") # angry cho "Come on, Hermione. You can't be {b}that{/b} scared of those Slytherins..." ("open", "narrow", "raised", "L") cho "Don't be such a coward..." ("annoyed", "narrow", "angry", "L") - her "I am not!" ("annoyed", "base", "angry", "R", cheeks="blush") + her @ cheeks blush "I am not!" ("annoyed", "base", "angry", "R") cho "Please! We need somebody to commentate." ("upset", "narrow", "base", "L") her "I won't do it! And neither of you can change my mind on this!" ("angry", "base", "angry", "mid") gen "I bet she can!" ("grin", xpos="far_left", ypos="head") @@ -696,12 +690,12 @@ label cho_quid_E7: if d_flag_01: # Cho has crush gen "Miss Chang, I've heard rumours that you have a huge crush on Hermione..." ("base", xpos="far_left", ypos="head") - cho "What? That's rubbish!" ("open", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "What? That's rubbish!" ("open", "narrow", "angry", "mid") her "..." ("annoyed", "base", "angry", "mid") else: # Hermione has crush gen "Miss Chang, I've heard rumours that Hermione secretly has a crush on you..." ("base", xpos="far_left", ypos="head") - cho "She does?" ("soft", "base", "raised", "mid", cheeks="blush") # Surprised + cho @ cheeks blush "She does?" ("soft", "base", "raised", "mid") # Surprised her "No, I don't!" ("clench", "happyCl", "angry", "mid") her "It's just made up rubbish..." ("open", "base", "angry", "mid") @@ -722,15 +716,15 @@ label cho_quid_E7: her "..." ("annoyed", "narrow", "angry", "R") # looks away cho "I love your bushy hair, your cute little nose, your gorgeous eyes..." ("soft", "narrow", "raised", "L") cho "Your enormous rack!" ("grin", "narrow", "angry", "L") - her "*Tzzzs*!" ("clench", "closed", "angry", "mid", cheeks="blush") # Starts to blush - her "Stop lying!" ("open", "base", "angry", "L", cheeks="blush") - cho "" ("horny", "narrow", "angry", "L", cheeks="blush") + her @ cheeks blush "*Tzzzs*!" ("clench", "closed", "angry", "mid") # Starts to blush + her @ cheeks blush "Stop lying!" ("open", "base", "angry", "L") + cho @ cheeks blush "" ("horny", "narrow", "angry", "L") gen "She sounds pretty convincing to me..." ("base", xpos="far_left", ypos="head") cho "Everybody will know that I have a thing for you, Granger!" ("open", "narrow", "angry", "L") cho "And, sooner or later, I might even mix in some love potion into your pumpkin juice..." ("soft", "narrow", "raised", "L") - her "You'd...{w=0.5} do what?" ("clench", "wide", "worried", "stare", cheeks="blush") + her @ cheeks blush "You'd...{w=0.5} do what?" ("clench", "wide", "worried", "stare") gen "(Pumpkin juice? Sounds disgusting.)" ("base", xpos="far_left", ypos="head") - cho "You wouldn't want all of your friends to see us finally make out, would you?" ("horny", "narrow", "raised", "L", cheeks="blush") + cho @ cheeks blush "You wouldn't want all of your friends to see us finally make out, would you?" ("horny", "narrow", "raised", "L") else: # Hermione has crush cho "Tell me, Granger..." ("soft", "narrow", "raised", "L") @@ -738,15 +732,15 @@ label cho_quid_E7: her "" ("annoyed", "narrow", "angry", "L") cho "Is it my hair? Or my strong legs? Or my abs?" ("open", "narrow", "base", "down") cho "Would you like me to show you my body again, right now?" ("grin", "narrow", "base", "L") - her "No thanks." ("normal", "closed", "base", "mid") + her "No, thanks." ("normal", "closed", "base", "mid") cho "I should mix in some drops of Veritaserum into your pumpkin juice, and ask you again..." ("annoyed", "narrow", "base", "L") cho "Maybe then you'll speak the truth... How you really think of me." ("annoyed", "narrow", "raised", "mid") - her "You wouldn't!" ("clench", "base", "angry", "L", cheeks="blush") + her @ cheeks blush "You wouldn't!" ("clench", "base", "angry", "L") cho "Yes I would!" ("base", "narrow", "base", "L") gen "(Pumpkin juice? Sounds disgusting...)" ("base", xpos="far_left", ypos="head") cho "And I'll make sure that all your friends hear about it. Maybe I'll even let them watch!" ("open", "narrow", "angry", "L") - her "Professor! You can't have her do that. That's insane!" ("clench", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Professor! You can't have her do that. That's insane!" ("clench", "happyCl", "worried", "mid") cho "" ("annoyed", "narrow", "base", "up") gen "That's all up to you, Miss Granger." ("base", xpos="far_left", ypos="head") gen "All you have to do is agree to commentate again." ("grin", xpos="far_left", ypos="head") @@ -754,13 +748,13 @@ label cho_quid_E7: cho "" ("annoyed", "narrow", "base", "L") gen "What?" ("base", xpos="far_left", ypos="head") her "I will commentate all the matches, the Gryffindor match as well! The one after this one, should Ravenclaw even get that far..." ("open", "base", "angry", "mid") - cho "Oh no you won't! You'd be all in favour of Gryffindor!" ("clench", "base", "angry", "L") + cho "Oh no, you won't! You'd be all in favour of Gryffindor!" ("clench", "base", "angry", "L") her "Yes I would. And I'll make sure that you lose." ("base", "narrow", "base", "L") - gen "Great. Finally we can get on with this..." ("base", xpos="far_left", ypos="head") - cho "Wait!--" ("clench", "happyCl", "worried", "mid", cheeks="blush") + gen "Great... Finally, we can get on with this..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Wait!--" ("clench", "happyCl", "worried", "mid") gen "Miss Granger, you better keep to your word this time..." ("base", xpos="far_left", ypos="head") her "" ("base", "base", "base", "mid") - cho "(...)" ("annoyed", "narrow", "angry", "L", cheeks="blush") + cho @ cheeks blush "(...)" ("annoyed", "narrow", "angry", "L") gen "If you don't show up I'll take a hundred points away from Gryffindor!" ("grin", xpos="far_left", ypos="head") her "That's just typical of you!" ("annoyed", "narrow", "base", "mid") gen "Make sure to be present..." ("base", xpos="far_left", ypos="head") @@ -788,21 +782,20 @@ label cho_quid_E7: call cho_walk(action="leave") pause 1.0 - call bld - gen "Quest complete!" ("grin", xpos="far_left", ypos="head") + gen "(Quest complete!)" ("grin", xpos="far_left", ypos="head") - $ cho_mood = 0 + $ states.cho.mood = 0 - $ hermione_busy = True - $ cho_busy = True + $ states.her.busy = True + $ states.cho.busy = True - $ cho_quid.E7_complete = True + $ states.cho.ev.quidditch.e7_complete = True - if cho_quid.slytherin_training: # Finished practice match? - $ cho_quid.lock_training = True + if states.cho.ev.quidditch.slytherin_training: # Finished practice match? + $ states.cho.ev.quidditch.lock_training = True # Reset - if her_tier < 4: + if states.her.tier < 4: $ hermione.equip(her_outfit_last) # Equip player outfit. jump main_room_menu @@ -822,15 +815,15 @@ label cho_quid_E8: gen "Close enough." ("base", xpos="far_left", ypos="head") gen "The next match is coming up, and I require your help with something." ("base", xpos="far_left", ypos="head") ton "Of course. What is it?" ("base", "base", "base", "mid") - gen "There's this asian girl..." ("base", xpos="far_left", ypos="head") + gen "There's this Asian girl..." ("base", xpos="far_left", ypos="head") ton "Cho Chang?" ("open", "base", "raised", "mid") gen "How did you--" ("base", xpos="far_left", ypos="head") - gen "(Is she the {i}token asian{/i} girl in this school?)" ("base", xpos="far_left", ypos="head") + gen "(Is she the {i}token Asian{/i} girl in this school?)" ("base", xpos="far_left", ypos="head") gen "Yes, the little Ravenclaw minx, correct." ("base", xpos="far_left", ypos="head") ton "Well, I figured you'd be talking about her - if it has to do with Quidditch." ("open", "base", "base", "R") gen "She's one of the girls I buy favours from." ("base", xpos="far_left", ypos="head") - ton "No way!" ("open_wide", "shocked", "shocked", "mid", hair="horny") - ton "You got that little hotty--" ("horny", "base", "raised", "R", hair="horny") + ton @ hair horny "No way!" ("open_wide", "shocked", "shocked", "mid") + ton @ hair horny "You got that little hotty--" ("horny", "base", "raised", "R") ton "*Ehm*... hot-head to sell you favours?" ("mad", "base", "raised", "R") gen "Once or twice..." ("base", xpos="far_left", ypos="head") ton "Impressive." ("horny", "base", "raised", "mid") @@ -842,11 +835,11 @@ label cho_quid_E8: gen "She's been stripping for me." ("base", xpos="far_left", ypos="head") ton "Cho?! And I'm supposed to believe that?" ("upset", "wide", "raised", "mid") gen "Oh, you better believe it!" ("grin", xpos="far_left", ypos="head") - ton "Holy shit!" ("upset", "wide", "shocked", "stare", hair="horny") + ton @ hair horny "Holy shit!" ("upset", "wide", "shocked", "stare") ton "I'd pay so much gold to watch that girl take her clothes off..." ("base", "base", "raised", "R") - ton "You need to invite me next time!" ("annoyed", "base", "angry", "mid", hair="angry") # angry + ton @ hair angry "You need to invite me next time!" ("annoyed", "base", "angry", "mid") # angry gen "And how would I get her to agree to that?" ("base", xpos="far_left", ypos="head") - ton "Well... *Ehm*..." ("upset", "base", "worried", "down", hair="horny") + ton @ hair horny "Well... *Ehm*..." ("upset", "base", "worried", "down") gen "It was difficult enough to get her to strip just for me..." ("base", xpos="far_left", ypos="head") gen "She only did it because I helped her win against Hufflepuff." ("base", xpos="far_left", ypos="head") ton "So that was your idea with the skirt? Very clever." ("horny", "base", "annoyed", "mid") @@ -863,7 +856,7 @@ label cho_quid_E8: gen "Miss Chang wouldn't like anybody to know." ("base", xpos="far_left", ypos="head") ton "I can keep a secret!" ("upset", "base", "worried", "R") gen "I really shouldn't..." ("base", xpos="far_left", ypos="head") - ton "Tell me, or I'll jinx your balls off!" ("upset", "base", "angry", "mid", hair="angry") + ton @ hair angry "Tell me, or I'll jinx your balls off!" ("upset", "base", "angry", "mid") gen "*Ghzzz!* Alright! Alright!" ("angry", xpos="far_left", ypos="head") gen "You sure know how to get me to talk..." ("base", xpos="far_left", ypos="head") @@ -885,9 +878,9 @@ label cho_quid_E8: ton "Well that's unfortunate..." ("upset", "base", "shocked", "L") ton "Perhaps you could ask Snape. He should be able to get those lazy gits back on the pitch..." ("open", "base", "base", "mid") - if cho_quid.E9_complete: + if states.cho.ev.quidditch.e9_complete: gen "I already did. He isn't going to help me out..." ("base", xpos="far_left", ypos="head") - ton "Well that's just like him." ("open", "base", "angry", "R") + ton "Well, that's just like him." ("open", "base", "angry", "R") else: gen "I guess I could..." ("base", xpos="far_left", ypos="head") ton "Yeah, maybe not..." ("open", "closed", "base", "mid") @@ -899,7 +892,7 @@ label cho_quid_E8: ton "Perhaps I'll tell you my techniques some other time." ("base", "narrow", "angry", "mid") gen "..." ("base", xpos="far_left", ypos="head") - if not cho_quid.E7_complete: + if not states.cho.ev.quidditch.e7_complete: # Has NOT blackmailed Hermione gen "That's not all, though. There's something else I need your help with." ("base", xpos="far_left", ypos="head") @@ -908,11 +901,11 @@ label cho_quid_E8: ton "Really? What happened to Miss Granger?" ("upset", "base", "worried", "mid") gen "She quit..." ("base", xpos="far_left", ypos="head") ton "*Hmm*... That's too bad..." ("open", "base", "worried", "R") - ton "But it's understandable... After all that mocking she had to go through last game." ("open", "base", "worried", "mid") + ton "But it's understandable... Seeing that she had to go through all that mocking, during the last game." ("open", "base", "worried", "mid") ton "Poor thing..." ("mad", "base", "worried", "L") ton "Have you tried talking to her?" ("open", "base", "raised", "mid") gen "Not yet..." ("base", xpos="far_left", ypos="head") - ton "Well, if anyone could convince her surely you'd be the one to be able to." ("base", "base", "base", "R") + ton "Well, if anyone could convince her, surely you'd be the one to be able to." ("base", "base", "base", "R") gen "..." ("base", xpos="far_left", ypos="head") ton "Why don't you tell her that a very special someone will be really disappointed if she doesn't show up." ("horny", "base", "base", "stare") gen "(So it's not just me who thinks she's into Cho!)" ("grin", xpos="far_left", ypos="head") @@ -932,7 +925,7 @@ label cho_quid_E8: ton "Very well..." ("upset", "base", "worried", "R") ton "In any case, I could join you in the commentator booth during the next game to help encourage Miss Granger." ("open", "base", "base", "mid") - ton "If anything I'll get a nice view from up there." ("grin", "happyCl", "base", "mid") + ton "If anything, I'll get a nice view from up there." ("grin", "happyCl", "base", "mid") ton "Since you already made sure Hufflepuff is out of the competition..." ("upset", "base", "raised", "R") ton "The best we can hope for now is to not get last..." ("open", "closed", "base", "mid") ton "It's always third or nothing with us Puffs." ("open", "base", "worried", "R") @@ -941,19 +934,19 @@ label cho_quid_E8: gen "Well, I'd be happy to have you." ("grin", xpos="far_left", ypos="head") ton "*N'Aww*, you're so sweet!" ("base", "base", "worried", "mid") with hpunch - $ renpy.play("sounds/hiccup_fem.ogg") + play sound "sounds/hiccup_fem.ogg" ton "*Hick*!... whoopsie..." ("upset", "wide", "base", "mid") - ton "Now, I better get going convincing those boys to play again..." ("open", "base", "raised", "R", hair="horny") + ton @ hair horny "Now, I better get going convincing those boys to play again..." ("open", "base", "raised", "R") if game.daytime: - ">You finish your drinks before calling it a day." + nar "You finish your drinks before calling it a day." else: - ">You finish your drinks before calling it a night." + nar "You finish your drinks before calling it a night." - $ tonks_busy = True - $ cho_quid.E8_complete = True - $ cho_quid.lock_practice = False - $ cho_quid.slytherin_prepared = True # Unlocks practice match + $ states.ton.busy = True + $ states.cho.ev.quidditch.e8_complete = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.slytherin_prepared = True # Unlocks practice match jump end_tonks_hangout_points @@ -971,7 +964,7 @@ label cho_quid_E9: gen "Your team didn't show up for practice against Ravenclaw!" ("base", xpos="far_left", ypos="head") sna "Well, there's no specific rule that forces the teams to practise against each other..." ("snape_05") gen "There's not?" ("base", xpos="far_left", ypos="head") - gen "(Actually that does make sense...)" ("base", xpos="far_left", ypos="head") + gen "(Actually, that does make sense...)" ("base", xpos="far_left", ypos="head") sna "Of course not, but it is heavily encouraged for students that are looking to make it professionally." ("snape_09") gen "Do you have something to do with this?" ("base", xpos="far_left", ypos="head") sna "I don't know what you're talking about..." ("snape_47") #Smirk @@ -984,7 +977,7 @@ label cho_quid_E9: sna "No... I don't think I will..." ("snape_41") gen "Give me that wine!" ("angry", xpos="far_left", ypos="head") sna "You want some?" ("snape_20") - call play_sound("spit") # Spits in the cup + play sound "sounds/spit.ogg" # Spits in the cup sna "..." ("snape_40") gen "I'm gonna win that bet. Then I'll have the last laugh!" ("base", xpos="far_left", ypos="head") sna "I wish you good fortune." ("snape_22") @@ -993,15 +986,15 @@ label cho_quid_E9: sna "You won't win by making friends, isn't that right?" ("snape_18") gen "..." ("base", xpos="far_left", ypos="head") sna "*Hrhm*... Good riddance, then..." ("snape_12") - $ renpy.sound.play(["sounds/gulp.ogg"]*3) - call nar(">Snape empties the last drop of wine, before leaving.","start") - ">You feel a sense of remorse shortly after he's gone, realizing that you're both just parts of the same coin." - call nar(">Your friendship level with him has not changed...{w=0.5} Probably...","end") + play sound ["sounds/gulp.ogg"]*3 + nar "Snape empties the last drop of wine, before leaving." + nar "You feel a sense of remorse shortly after he's gone, realizing that you're both just parts of the same coin." + nar "Your friendship level with him has not changed...{w=0.5} Probably..." - $ snape_busy = True + $ states.sna.busy = True $ ss_summon_pause = 5 # Snape can't be summoned for a couple of days. Can be set to 0 once you talked to Tonks. - $ cho_quid.E9_complete = True + $ states.cho.ev.quidditch.e9_complete = True $ chair_OBJ.hidden = False @@ -1013,14 +1006,14 @@ label cho_quid_E10: call cho_walk("mid", "base", action="enter") if game.daytime: - cho "Good morning, [cho_genie_name]..." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3) - gen "Good morning [cho_name]." ("base", xpos="far_left", ypos="head") + cho "Good morning, [name_genie_cho]..." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3) + gen "Good morning [name_cho_genie]." ("base", xpos="far_left", ypos="head") else: - cho "Good evening, [cho_genie_name]..." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3) - gen "Good Evening [cho_name]." ("base", xpos="far_left", ypos="head") + cho "Good evening, [name_genie_cho]..." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3) + gen "Good Evening [name_cho_genie]." ("base", xpos="far_left", ypos="head") gen "Ready to continue your training and take on those Griffins?" ("base", xpos="far_left", ypos="head") - cho "Griffins, [cho_genie_name]?" ("soft", "base", "raised", "mid") + cho "Griffins, [name_genie_cho]?" ("soft", "base", "raised", "mid") gen "Yeah! Aren't they the next team we're up against?" ("base", xpos="far_left", ypos="head") cho "Oh, you mean the Gryffindor team." ("soft", "base", "base", "mid") gen "Yeah, the doors!" ("base", xpos="far_left", ypos="head") @@ -1032,13 +1025,13 @@ label cho_quid_E10: gen "What makes them different to the other teams? Can we expect similar tactics like with the Slytherbins?" ("base", xpos="far_left", ypos="head") cho "Oh, no... They're the polar opposite to the Slytherin team." ("soft", "base", "base", "mid") gen "Figures." ("base", xpos="far_left", ypos="head") - gen "So what's their schtick then?" ("base", xpos="far_left", ypos="head") + gen "So what's their shtick then?" ("base", xpos="far_left", ypos="head") cho "They use tactics and coordination!" ("soft", "base", "base", "mid") - gen "What?! There's tactics in this game?" ("angry", xpos="far_left", ypos="head") - cho "They're also quite a bit more nimble than the Slytherin team, so they got hit by way less bludgers than we did." ("open", "base", "base", "mid") + gen "What?! There are tactics in this game?" ("angry", xpos="far_left", ypos="head") + cho "They're also quite a bit more nimble than the Slytherin team, so they got hit by way fewer bludgers than we did." ("open", "base", "base", "mid") cho "Some of the hits they pulled off during the last game had my teammates covered in bruises for days!" ("soft", "narrow", "angry", "downR") cho "Would've been weeks if it wasn't for Madam Pomfrey." ("open", "closed", "angry", "mid") - gen "*Hmm*... Well, hopefully we wont see that kind of meddling from Snape this time around." ("base", xpos="far_left", ypos="head") + gen "*Hmm*... Well, hopefully we won't see that kind of meddling from Snape this time around." ("base", xpos="far_left", ypos="head") cho "Snape?! What has Professor Snape got to do with it?" ("angry", "base", "base", "mid") gen "He provided them with a felix potion... Thing, before the game." ("base", xpos="far_left", ypos="head") cho "Felix Felicis!?" ("clench", "wide", "base", "mid") @@ -1049,57 +1042,57 @@ label cho_quid_E10: cho "To think Professor Snape would go as far as giving them a luck potion!" ("angry", "narrow", "angry", "downR") gen "You won the match did you not? Even despite the fact they drank that thing." ("base", xpos="far_left", ypos="head") cho "If the department of magical games and sports heard about this, there's no way those Slytherins would have any chance at--" ("angry", "closed", "angry", "mid") - gen "[cho_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie]..." ("base", xpos="far_left", ypos="head") cho "What? It's true!" ("clench", "narrow", "base", "mid") gen "Achieving true success isn't about bringing other people down, but to raise yourself above others." ("base", xpos="far_left", ypos="head") gen "(In her case, quite literally...)" ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "base", "base", "mid") - cho "No offence [cho_genie_name] but I must say I've never heard such nonsense in my life." ("disgust", "narrow", "angry", "mid") + cho "No offence [name_genie_cho] but I must say I've never heard such nonsense in my life." ("disgust", "narrow", "angry", "mid") cho "I only care about reaching the top, no matter what!" ("open", "closed", "angry", "mid") - gen "Very well [cho_name]... If that's the case then I'm not sure if I can help you any further." ("base", xpos="far_left", ypos="head") + gen "Very well [name_cho_genie]... If that's the case, then I'm not sure if I can help you any further." ("base", xpos="far_left", ypos="head") cho "What?!" ("angry", "base", "base", "mid") - cho "But [cho_genie_name], I still want you-- I still need your help!" ("mad", "narrow", "base", "mid") + cho "But [name_genie_cho], I still want you-- I still need your help!" ("mad", "narrow", "base", "mid") gen "Then you shouldn't bite the hand that feeds you." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name]?" ("disgust", "base", "base", "mid") + cho "[name_genie_cho]?" ("disgust", "base", "base", "mid") gen "Do you think Severus and the Slytherins would be the only ones in trouble if you contacted some ministry employee?" ("base", xpos="far_left", ypos="head") cho "..." ("normal", "narrow", "base", "downR") gen "I thought that I was doing you a favour by coaching you... Some way to repay me for my time." ("base", xpos="far_left", ypos="head") - cho "I--{w=0.4} I suppose I didn't think that far [cho_genie_name]..." ("clench", "narrow", "base", "downR") + cho "I--{w=0.4} I suppose I didn't think that far [name_genie_cho]..." ("clench", "narrow", "base", "downR") gen "For this to work and for you to receive my continued help, you need to remember who got you this far..." ("base", xpos="far_left", ypos="head") - cho "Right..." ("disgust", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Right..." ("disgust", "narrow", "base", "down") gen "Well then, let's show them who the greatest snatch catcher is!" ("base", xpos="far_left", ypos="head") - cho "Yes [cho_genie_name]!" ("soft", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Yes [name_genie_cho]!" ("soft", "narrow", "base", "mid") #Unlock Personal favours (Public locked) - $ cho_quid.E10_complete = True - $ cho_favors_unlocked = True + $ states.cho.ev.quidditch.e10_complete = True + $ states.cho.favors_unlocked = True jump cho_requests label cho_quid_E11: # Ask Luna to cheer for Ravenclaw (She cheers for Gryffindor, the bimbo!) - gen "[luna_name], there's something I have been meaning to ask." ("base", xpos="far_left", ypos="head") - lun "Yes, [lun_genie_name]?" ("soft", "base", "base", "mid") + gen "[name_luna_genie], there's something I have been meaning to ask." ("base", xpos="far_left", ypos="head") + lun "Yes, [name_genie_luna]?" ("soft", "base", "base", "mid") gen "I require your assistance with something..." ("base", xpos="far_left", ypos="head") - lun "Assistance? You need my help, [lun_genie_name]?" ("open", "base", "raised", "mid") + lun "Assistance? You need my help, [name_genie_luna]?" ("open", "base", "raised", "mid") gen "Yes, it's about the upcoming Quidditch finals." ("base", xpos="far_left", ypos="head") lun "Oh, right... Yes, that is an issue for sure." ("open", "narrow", "base", "down") gen "I haven't even told you what the problem is..." ("base", xpos="far_left", ypos="head") - lun "Oh... Sorry, [lun_genie_name]... Go on." ("angry", "base", "base", "mid") + lun "Oh... Sorry, [name_genie_luna]... Go on." ("angry", "base", "base", "mid") gen "Well, I've been looking into setting up a cheerleading squad." ("base", xpos="far_left", ypos="head") lun "Cheerleading?" ("soft", "base", "base", "mid") gen "Yes I--" ("base", xpos="far_left", ypos="head") - gen "Are you asking what it is or just confirming what I just said?" ("base", xpos="far_left", ypos="head") - lun "Oh, of course I know what it is! It's students that dress up and cheer for the players, right?" ("grin", "base", "base", "mid") + gen "Are you asking what it is, or just confirming what I just said?" ("base", xpos="far_left", ypos="head") + lun "Oh, of course I know what it is! It's students who dress up and cheer for the players, right?" ("grin", "base", "base", "mid") gen "That's right..." ("base", xpos="far_left", ypos="head") lun "..." ("base", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - gen "So... Is that something you could help me with?" ("base", xpos="far_left", ypos="head") + gen "So.{w=0.1}.{w=0.1}.{w=0.1}.{w=0.1}.{w=0.1} Is that something you could help me with?" ("base", xpos="far_left", ypos="head") lun "Oh, you want me to cheer at the finals?!" ("mad", "base", "base", "mid") gen "Yes... And your friends as well." ("base", xpos="far_left", ypos="head") gen "{size=-8}If you have any to begin with...{/size}" ("base", xpos="far_left", ypos="head") - lun "I could hear some mumbling, was that you [lun_genie_name]?" ("angry", "base", "base", "stare") + lun "I could hear some mumbling, was that you [name_genie_luna]?" ("angry", "base", "base", "stare") gen "No, it was--" ("base", xpos="far_left", ypos="head") lun "A ghytrash? Maybe a phantom rat?" ("angry", "base", "base", "stare") gen "A phantom rat-- what--" ("base", xpos="far_left", ypos="head") @@ -1107,12 +1100,12 @@ label cho_quid_E11: lun "I could prepare a skurge charm to--" ("mad", "base", "base", "mid") gen "I'll handle it, don't worry about it..." ("base", xpos="far_left", ypos="head") gen "I'd still like to ask you to cheer in the upcoming Quidditch match, would you agree?" ("base", xpos="far_left", ypos="head") - lun "Oh, yes [lun_genie_name], I'd be happy to!" ("angry", "base", "base", "mid") + lun "Oh, yes [name_genie_luna], I'd be happy to!" ("angry", "base", "base", "mid") gen "Are you sure?" ("base", xpos="far_left", ypos="head") - lun "Of course, [lun_genie_name]!" ("grin", "base", "base", "mid") - gen "Great. Then I'll look forward at seeing you cheering at the game!" ("base", xpos="far_left", ypos="head") + lun "Of course, [name_genie_luna]!" ("grin", "base", "base", "mid") + gen "Great. Then I'll look forward to seeing you cheering at the game!" ("base", xpos="far_left", ypos="head") - $ cho_quid.E11_complete = True + $ states.cho.ev.quidditch.e11_complete = True call lun_walk(action="leave") @@ -1146,7 +1139,7 @@ label cho_quid_E12: pause .4 #Genie chibi either walks around desk or teleports next to bird facing the window - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" gen "What in the great desert sand is that!?" ("angry", xpos="far_left", ypos="head") gen "Oh wait... That's the sun... Never seen it this low before." ("base", xpos="far_left", ypos="head") @@ -1162,13 +1155,13 @@ label cho_quid_E12: show screen blkfade with d5 - call play_music("stop") - call play_sound("grass") - call nar(">You make your way down to the pitch, catching a few stares on the way by some of the portraits. Looks like the real Dumbledore wasn't a morning person either.") + stop music fadeout 1 + play sound "sounds/steps_grass.ogg" + nar "You make your way down to the pitch, catching a few stares on the way from some of the portraits. It appears the real Dumbledore may not have been a morning person either." #Pitch entrance, Cho is standing there call room("quidditch_pitch") - play bg_sounds "sounds/outskirts.ogg" fadein 2 + play background "sounds/outskirts.ogg" fadein 2 call gen_chibi("stand", "left", "base", flip=True) call cho_chibi("stand", "right", "base", flip=False) @@ -1185,12 +1178,12 @@ label cho_quid_E12: cho "Five AM!" ("scream", "closed", "angry", "mid") gen "Then where are the brooms?" ("base", xpos="far_left", ypos="head") cho "I put them in the cleaning supply closet where they belong." ("disgust", "narrow", "angry", "mid") - cho "They were all terrible, I tried every single one and they're even worse than my family's bluebottle!" ("open", "narrow", "angry", "R") + cho "They were all terrible, I tried every single one, and they're even worse than my family's bluebottle!" ("open", "narrow", "angry", "R") gen "Right..." ("base", xpos="far_left", ypos="head") gen "So the broom makes the player, does it?" ("base", xpos="far_left", ypos="head") cho "Yes!" ("mad", "narrow", "base", "mid") - cho "I mean no!" ("clench", "narrow", "base", "mid", cheeks="blush") - cho "But you still need a broom that is made to be used professionally." ("annoyed", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "I mean no!" ("clench", "narrow", "base", "mid") + cho @ cheeks blush "But you still need a broom that is made to be used professionally." ("annoyed", "narrow", "base", "mid") gen "And they all just happen to cost a lot of money?" ("base", xpos="far_left", ypos="head") cho "That's Quidditch for you." ("open", "closed", "base", "mid") gen "Sounds like pay to win to me..." ("base", xpos="far_left", ypos="head") @@ -1216,7 +1209,8 @@ label cho_quid_E12: $ hooch_chibi.zoom = 0.38 $ hooch_chibi.zorder = 4 - $ hooch_chibi.move(path=[(50, 460), (200, 520), (450, 500)]) + + chibi hooch move(path=[(50, 460), (200, 520), (450, 500)]) pause 1.5 call gen_chibi(flip=False) @@ -1227,7 +1221,7 @@ label cho_quid_E12: gen "(Mamma mia!)" ("grin", xpos="far_left", ypos="head") #Hooch theme - play music "music/march-of-the-spoons-by-kevin-macleod-from-filmmusic-io.ogg" fadein 1 fadeout 1 + play music "music/march-of-the-spoons-by-kevin-macleod-from-filmmusic-io.ogg" fadein 1 fadeout 1 if_changed #Hooch doll fades in hoo "Professor Dumbledore, Miss Chang, what can I do you for?" ("base", "base", "base", "L", xpos=100, ypos="base", flip=True, trans=d3) # "what can I do you for" is a form of a joke, fits next line perfectly. @@ -1239,11 +1233,11 @@ label cho_quid_E12: hoo "We use those for cleaning you know." ("base", "narrow", "base", "L") cho "See! I told you, sir!" ("mad", "narrow", "base", "mid", trans=d3) gen "..." ("base", xpos="far_left", ypos="head") - hoo "Certainly a good tool to teach students how to fly but not much beyond that." ("base", "base", "base", "L") + hoo "Certainly a good enough tool to teach students how to fly, but not much beyond that." ("base", "base", "base", "L") hoo "If you learn how to fly on one of those, you'll have no problem on a proper broomstick!" ("base", "base", "shocked", "mid") cho "" ("annoyed", "narrow", "base", "mid") gen "The motto for any public school when funds are involved." ("base", xpos="far_left", ypos="head") - hoo "*Ahem*... Yes indeed, always the blunt one, Professor." ("open", "closed", "base", "mid", cheeks="blush") + hoo @ cheeks blush "*Ahem*... Yes indeed, always the blunt one, Professor." ("open", "closed", "base", "mid") hoo "So, what's the situation then? Lost your broom?" ("normal", "base", "raised", "L") hoo "I thought you would've been taught accio by now, Miss Chang?" ("normal", "base", "shocked", "L") cho "No, that's not it... I've been able to summon my broom for a long time." ("angry", "closed", "base", "L") @@ -1256,17 +1250,17 @@ label cho_quid_E12: hoo "{size=-6}I see...{/size}" ("normal", "narrow", "base", "mid") #small text cho "The audacity! I couldn't believe--" ("angry", "closed", "angry", "mid") gen "{size=-6}And she's been quite the handful ever since...{/size}" ("base", xpos="far_left", ypos="head") #small text - cho "They should be banned from ever participating--" ("upset", "closed", "angry", "mid", cheeks="blush") + cho @ cheeks blush "They should be banned from ever participating--" ("upset", "closed", "angry", "mid") gen "{size=-6}More than usual that is...{/size}" ("base", xpos="far_left", ypos="head") #small text gen "Please... Help me..." ("base", xpos="far_left", ypos="head") - cho "Azkaban--" ("mad", "happyCl", "angry", "mid", cheeks="blush") - hoo "Calm down miss Chang." ("open", "shocked", "angry", "L") - cho "I need a broom that is as fast as Harry's!" ("angry", "narrow", "angry", "downR", cheeks="blush") - hoo "A firebolt? Now don't you think those expectations are a bit high Miss--" ("open", "shocked", "shocked", "L") + cho @ cheeks blush "Azkaban--" ("mad", "happyCl", "angry", "mid") + hoo "Calm down Miss Chang." ("open", "shocked", "angry", "L") + cho @ cheeks blush "I need a broom that is as fast as Harry's!" ("angry", "narrow", "angry", "downR") + hoo "A firebolt? Now don't you think those expectations are a bit high, Miss--" ("open", "shocked", "shocked", "L") cho "Please professor, you're my only hope!" ("mad", "narrow", "base", "L") hoo "..." ("normal", "narrow", "base", "downR") - hoo "Well, I'd normally be able to pull some strings, but I don't think even I would be able to procure you a firebolt Miss Chang..." ("open", "base", "base", "down") - hoo "There's only so many produced each season and only a couple has been sold outside of professional--" ("normal", "base", "base", "down") + hoo "Well, I'd normally be able to pull some strings, but I don't think even I would be able to procure you a firebolt, Miss Chang..." ("open", "base", "base", "down") + hoo "There's only so many produced each season, and only a couple have been sold outside of professional--" ("normal", "base", "base", "down") cho "Pleaaaaaase!" ("soft", "narrow", "worried", "L") hoo "..." ("normal", "narrow", "worried", "downR") @@ -1282,7 +1276,7 @@ label cho_quid_E12: hoo "Miss Chang." ("open", "base", "angry", "L") hoo "I think I've got just the broom for you." ("base", "shocked", "angry", "L") - cho "Yes! Thank you Professor!" ("crooked_smile", "base", "base", "L") + cho "Yes! Thank you, Professor!" ("crooked_smile", "base", "base", "L") hoo "A broom, that when used by the right person could be faster and even more agile than the firebolt." ("base", "shocked", "shocked", "L") cho "Thank you so--" ("smile", "closed", "base", "mid") cho "Wait...{w=0.4} Faster than the firebolt?! But that's the best broom out there!" ("disgust", "wide", "base", "mid") @@ -1290,11 +1284,11 @@ label cho_quid_E12: hoo "Now, I'll give you this broom... But you're going to have to promise me..." ("base", "shocked", "base", "L") hoo "Promise me!" ("open", "shocked", "angry", "L") hoo "Don't ever tell a soul what I'm about to show you..." ("normal", "shocked", "base", "L") - cho "Oh, of course professor!" ("angry", "base", "base", "L") - hoo "And that goes for you as well professor..." ("open", "base", "shocked", "mid") + cho "Oh, of course, professor!" ("angry", "base", "base", "L") + hoo "And that goes for you as well, Professor..." ("open", "base", "shocked", "mid") gen "Of course, but what exactly--" ("base", xpos="far_left", ypos="head") hoo "Alright then, one moment..." ("grin", "base", "base", "R") - gen "Hold on, this isn't a broom from some black market brooms dealer is it?" ("base", xpos="far_left", ypos="head") + gen "Hold on, this isn't a broom from some black market brooms dealer, is it?" ("base", xpos="far_left", ypos="head") hoo "Don't be silly, of course not." ("base", "base", "base", "mid") hoo "You can inspect it if you like." ("base", "base", "base", "mid") hoo "{size=-6}Coach...{/size}" ("base", "wink", "raised", "mid") #small text #blush #smirkyface @@ -1309,7 +1303,7 @@ label cho_quid_E12: #Some time later #Hooch comes back holding broom (No dildo) - $ hooch_chibi.move(path=[(450, 500), (200, 520), (50, 460)]) + chibi hooch move (path=[(450, 500), (200, 520), (50, 460)]) hide screen bld1 hide hooch_main @@ -1337,7 +1331,7 @@ label cho_quid_E12: pause 0.5 - $ hooch_chibi.move(path=[(50, 460), (200, 520), (450, 500)]) + chibi hooch move (path=[(50, 460), (200, 520), (450, 500)]) pause 1.0 @@ -1371,11 +1365,11 @@ label cho_quid_E12: gen "You heard the squirrel." ("base", xpos="far_left", ypos="head") "-Pretend like you misheard her-": gen "Oh, the masked seeker! I thought you said, the masked streaker... You should really learn how to speak up." ("base", xpos="far_left", ypos="head") - cho "... You actually don't know do you?" ("disgust", "narrow", "base", "mid") + cho "... You actually don't know, do you?" ("disgust", "narrow", "base", "mid") gen "Of course I do..." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") gen "Although a reminder wouldn't hurt." ("base", xpos="far_left", ypos="head") - "-Blame the Quidditch guide book-" if quidditchguide_ITEM.used: + "-Blame the Quidditch guidebook-" if quidditchguide_ITEM.used: gen "Err..." ("base", xpos="far_left", ypos="head") gen "I must've missed that section in the Quidditch guide." ("base", xpos="far_left", ypos="head") cho "Her list of accomplishments required a whole book, it said so in the footnotes!" ("disgust", "narrow", "base", "mid") @@ -1384,223 +1378,258 @@ label cho_quid_E12: cho "Nobody ever managed to figure out her identity or how she managed to fly so well." ("soft", "narrow", "base", "L") hoo "You sure know your Quidditch history Miss Chang, ten points to Ravenclaw." ("grin", "base", "base", "L") $ ravenclaw += 10 - cho "And then...{w=0.4} And then...{w=0.4} You dissapeared, and became a teacher?" ("soft", "base", "raised", "L") + cho "And then...{w=0.4} And then...{w=0.4} You disappeared, and became a teacher?" ("soft", "base", "raised", "L") hoo "Yes indeed." ("base", "shocked", "base", "L") cho "Wow...{w=0.4} I can't believe it." ("soft", "base", "base", "mid") cho "Why?" ("upset", "base", "raised", "L") hoo "Sorry?" ("open", "shocked", "raised", "L") - cho "Why would you end in the middle of your Quidditch carreer?" ("angry", "narrow", "base", "L") - hoo "Oh...{w=0.4} *Ehm*..." ("open", "narrow", "base", "downR", cheeks="blush_heavy") - hoo "Well you know, better end it when you're at the peak...{w=0.4} The urge to experience Quidditch from a new angle... And to... *Ehm*..." ("open", "narrow", "base", "downL", cheeks="blush_heavy") + cho "Why would you end in the middle of your Quidditch career?" ("angry", "narrow", "base", "L") + hoo @ cheeks blush_heavy "Oh...{w=0.4} *Ehm*..." ("open", "narrow", "base", "downR") + hoo @ cheeks blush_heavy "Well you know, better end it when you're at the peak...{w=0.4} The urge to experience Quidditch from a new angle... And to... *Ehm*..." ("open", "narrow", "base", "downL") gen "Teach?" ("base", xpos="far_left", ypos="head") - hoo "Oh, yes! Teach!" ("open", "closed", "shocked", "stare", cheeks="blush_heavy") + hoo @ cheeks blush_heavy "Oh, yes! Teach!" ("open", "closed", "shocked", "stare") gen "..." ("base", xpos="far_left", ypos="head") - cho "The masked seeker... Teaching the next generation of Quidditch players..." ("smile", "narrow", "base", "L", cheeks="blush") - hoo "Oh, stop it now Miss chang, you're making me blush." ("grin", "base", "base", "downR", cheeks="blush_heavy") + cho @ cheeks blush "The masked seeker... Teaching the next generation of Quidditch players..." ("smile", "narrow", "base", "L") + hoo @ cheeks blush_heavy "Oh, stop it now, Miss Chang, you're making me blush." ("grin", "base", "base", "downR") cho "But, you're a living legend! This broom... It's... It's..." ("smile", "narrow", "base", "L") gen "Looks like a normal broom to me." ("base", xpos="far_left", ypos="head") cho "Sir, how could you say that?! This surely must be her secret! Why else would she be giving it to me?" ("disgust", "narrow", "angry", "mid") - hoo "Oh no... He's right. There's nothing special about this broom." ("base", "narrow", "base", "L", cheeks="blush") + hoo @ cheeks blush "Oh no... He's right. There's nothing special about this broom." ("base", "narrow", "base", "L") cho "What?!" ("angry", "wide", "base", "L") cho "But then how did you get it to fly at such speeds?" ("angry", "narrow", "base", "L") - hoo "By utilising some very special techniques that I discovered." ("base", "wink", "raised", "L", cheeks="blush") + hoo @ cheeks blush "By utilising some very special techniques that I discovered." ("base", "wink", "raised", "L") gen "(Why is she still blushing?)" ("base", xpos="far_left", ypos="head") - hoo "*Ahem*... Perhaps it'd be best if I explained the history behind it first." ("open", "narrow", "base", "downR", cheeks="blush") - hoo "I'm sure you're well aware that caring for your broom means a great deal to how well it will behave during flight." ("open", "closed", "base", "mid", cheeks="blush") + hoo @ cheeks blush "*Ahem*... Perhaps it'd be best if I explained the history behind it first." ("open", "narrow", "base", "downR") + hoo @ cheeks blush "I'm sure you're well aware that caring for your broom means a great deal to how well it will behave during flight." ("open", "closed", "base", "mid") cho "You mean using things like broom polish and trimming it?" ("soft", "base", "raised", "L") - hoo "Precisely." ("base", "base", "base", "L", cheeks="blush") - hoo "It's always been believed, and I still teach our students that usage of such things helps with aerodynamics, speed and agility." ("open", "base", "shocked", "L", cheeks="blush") - hoo "Except that's only a half truth." ("open", "base", "base", "downL", cheeks="blush_heavy") - hoo "How do I explain this..." ("normal", "narrow", "raised", "down", cheeks="blush_heavy") - hoo "Remember your first flying lesson when you had to use a command word for the broom to jump into your hand?" ("open", "shocked", "shocked", "L", cheeks="blush") - cho "Oh, yes of course!" ("smile", "narrow", "base", "L") - hoo "Have you ever considered how this actually works? There's no wand being used in conjunction with the command word." ("open", "shocked", "shocked", "L", cheeks="blush") + hoo @ cheeks blush "Precisely." ("base", "base", "base", "L") + hoo @ cheeks blush "It's always been believed, and I still teach our students that usage of such things helps with aerodynamics, speed and agility." ("open", "base", "shocked", "L") + hoo @ cheeks blush_heavy "Except that's only a half-truth." ("open", "base", "base", "downL") + hoo @ cheeks blush_heavy "How do I explain this..." ("normal", "narrow", "raised", "down") + hoo @ cheeks blush "Remember your first flying lesson when you had to use a command word for the broom to jump into your hand?" ("open", "shocked", "shocked", "L") + cho "Yes, of course!" ("smile", "narrow", "base", "L") + hoo @ cheeks blush "Have you ever considered how this actually works? There's no wand being used in conjunction with the command word." ("open", "shocked", "shocked", "L") cho "..." ("soft", "narrow", "base", "down") cho "I honestly never thought about it..." ("soft", "narrow", "base", "downR") - hoo "Yes, and I wouldn't blame you..." ("open", "closed", "base", "mid", cheeks="blush") - hoo "The basic knowledge on creating brooms has been passed down for generations, the why's and how's is not something the average broom user cares about." ("open", "base", "shocked", "L", cheeks="blush") - hoo "But me on the other hand... Well I got a bit obsessed trying to answer this question, and began researching heavily to try and figure out how it all worked..." ("base", "base", "base", "mid", cheeks="blush") + hoo @ cheeks blush "Yes, and I wouldn't blame you..." ("open", "closed", "base", "mid") + hoo @ cheeks blush "The basic knowledge of creating brooms has been passed down for generations, the \"why's\" and \"how's\" is not something the average broom user cares about." ("open", "base", "shocked", "L") + hoo @ cheeks blush "But me, on the other hand... Well, I got a bit obsessed trying to answer this question, and began researching heavily to try and figure out how it all worked..." ("base", "base", "base", "mid") cho "And you found the answer?" ("angry", "base", "base", "L") - hoo "It took years of research but yes, I did." ("grin", "shocked", "base", "L", cheeks="blush") + hoo @ cheeks blush "It took years of research... But yes, I did." ("grin", "shocked", "base", "L") cho "Years?!" ("clench", "wide", "base", "L") - hoo "Indeed... I had to sift through and translate some very old tomes to find what I was searching for, as all my questions led me towards the very essence of enchanting." ("open", "shocked", "base", "L", cheeks="blush") - cho "Wow..." ("smile", "base", "base", "L", cheeks="blush") - hoo "Think of magic as a tree." ("open", "base", "base", "L", cheeks="blush") - hoo "All magic in this world and others stem from the same source, each school of magic are just branches leading to it." ("base", "shocked", "base", "L", cheeks="blush") - hoo "If the magic user has a higher understanding of the core fundamentals of that branch of magic then they have a much easier time at manipulating it.." ("base", "base", "base", "L", cheeks="blush") - hoo "As an example, creatures of old such as Djinns possess magical abilities that stretch as far as the roots of magic." ("base", "base", "base", "mid", cheeks="blush") - hoo "Although their abilities are innate... We'd be so lucky to even get close to the source of each school of magic." ("base", "shocked", "base", "mid", cheeks="blush") + hoo @ cheeks blush "Indeed... I had to sift through and translate some very old tomes to find what I was searching for, as all my questions led me towards the very essence of enchanting." ("open", "shocked", "base", "L") + cho @ cheeks blush "Wow..." ("smile", "base", "base", "L") + hoo @ cheeks blush "Think of magic as a tree." ("open", "base", "base", "L") + hoo @ cheeks blush "All magic in this world and others stems from the same source, each school of magic are just branches leading to it." ("base", "shocked", "base", "L") + hoo @ cheeks blush "If the magic user has a higher understanding of the core fundamentals of that branch of magic, then they have a much easier time at manipulating it..." ("base", "base", "base", "L") + hoo @ cheeks blush "As an example, creatures of old such as Djinns possess magical abilities that stretch as far as the roots of magic." ("base", "base", "base", "mid") + hoo @ cheeks blush "Although their abilities are innate... We'd be so lucky to even get close to the source of each school of magic." ("base", "shocked", "base", "mid") gen "(Makes sense... I sort of just waved my fingers and shit happened...)" ("base", xpos="far_left", ypos="head") cho "Djinns?" ("soft", "base", "raised", "mid") - hoo "Or Genies, whatever you prefer." ("open", "shocked", "base", "L", cheeks="blush") + hoo @ cheeks blush "Or Genies, whatever you prefer." ("open", "shocked", "base", "L") gen "Djinn is fine." ("base", xpos="far_left", ypos="head") cho "I see..." ("soft", "narrow", "base", "downR") - hoo "Through my research, I found that when a magic user imbues an object with magic, we also leave a trace of ourselves inside of it." ("open", "shocked", "shocked", "L", cheeks="blush") - hoo "It's a bit complicated to explain... In essence it's something like our core instincts or character, mixed with all of the other elements that binds us magic users together." ("base", "base", "shocked", "L", cheeks="blush") - hoo "Are you following?" ("base", "shocked", "raised", "L", cheeks="blush") + hoo @ cheeks blush "Through my research, I found that when a magic user imbues an object with magic, we also leave a trace of ourselves inside of it." ("open", "shocked", "shocked", "L") + hoo @ cheeks blush "It's a bit complicated to explain... In essence, it's something like our core instincts or character, mixed with all of the other elements that binds us magic users together." ("base", "base", "shocked", "L") + hoo @ cheeks blush "Are you following?" ("base", "shocked", "raised", "L") gen "Makes perfect sense to me." ("base", xpos="far_left", ypos="head") cho "*Err*..." ("angry", "narrow", "base", "L") - if snape_picture_examined: + if states.map.snape_office.picture_examined: gen "That's why those portraits never keep quiet, isn't it?" ("base", xpos="far_left", ypos="head") - hoo "Precisely... The portraits appear alive for this very reason." ("base", "base", "base", "mid", cheeks="blush") - hoo "Every painting contains some characteristics from the artist who painted it." ("base", "shocked", "base", "L", cheeks="blush") + hoo @ cheeks blush "Precisely... The portraits appear alive for this very reason." ("base", "base", "base", "mid") + hoo @ cheeks blush "Every painting contains some characteristics from the artist who painted it." ("base", "shocked", "base", "L") - hoo "That said, a bond can also be formed between a magic user and an object, much like the one we all have with our wands." ("base", "base", "base", "L", cheeks="blush") - hoo "This is the reason why doing things like polishing our brooms is so important, it has nothing to do with the polish itself... That's all just corporate mumbo jumbo." ("base", "narrow", "base", "L", cheeks="blush") - hoo "It's about forming that bond with the object." ("base", "shocked", "base", "mid", cheeks="blush") + hoo @ cheeks blush "That said, a bond can also be formed between a magic user and an object, much like the one we all have with our wands." ("base", "base", "base", "L") + hoo @ cheeks blush "This is the reason why doing things like polishing our brooms is so important, it has nothing to do with the polish itself... That's all just corporate mumbo jumbo." ("base", "narrow", "base", "L") + hoo @ cheeks blush "It's about forming that bond with the object." ("base", "shocked", "base", "mid") gen "I polish mine every day." ("base", xpos="far_left", ypos="head") - cho "Wow..." ("smile", "narrow", "base", "L", cheeks="blush") - hoo "Which leads me to my practical research in the subject and how I finally became... The masked seeker." ("open", "closed", "shocked", "mid", cheeks="blush_heavy") + cho @ cheeks blush "Wow..." ("smile", "narrow", "base", "L") + hoo @ cheeks blush_heavy "Which leads me to my practical research in the subject, and how I finally became... The masked seeker." ("open", "closed", "shocked", "mid") cho "Oooh!" ("smile", "base", "base", "L") - hoo "So... With this knowledge I started working on figuring out new ways to care for your broom." ("base", "base", "base", "down", cheeks="blush") - hoo "I tried sweeping with it, it's a broom after all, I thought maybe it would like that." ("open", "shocked", "raised", "R", cheeks="blush") - hoo "But it didn't work, in fact it made the broom slower... Which made sense, this broom was designed for flying after all..." ("normal", "base", "base", "mid", cheeks="blush") - hoo "I tried talking to it... And that might've worked, albeit the fact that brooms don't have ears..." ("base", "shocked", "base", "L", cheeks="blush") - hoo "I even tried using Fleetwood's High-Finish Handle Polish to see if it made any difference to the one I usually use and lo and behold..." ("base", "base", "base", "downR", cheeks="blush") + hoo @ cheeks blush "So... With this knowledge, I started working on figuring out new ways to care for your broom." ("base", "base", "base", "down") + hoo @ cheeks blush "I tried sweeping with it, it's a broom after all, I thought maybe it would like that." ("open", "shocked", "raised", "R") + hoo @ cheeks blush "But it didn't work... In fact, it made the broom slower... Which made sense, this broom was designed for flying after all..." ("normal", "base", "base", "mid") + hoo @ cheeks blush "I tried talking to it... And that might've worked, albeit the fact that brooms don't have ears..." ("base", "shocked", "base", "L") + hoo @ cheeks blush "I even tried using Fleetwood's High-Finish Handle Polish to see if it made any difference to the one I usually use, and lo and behold..." ("base", "base", "base", "downR") cho "" ("angry", "base", "base", "L") #expectant call ctc - hoo "There was no difference." ("open", "base", "base", "L", cheeks="blush") + hoo @ cheeks blush "There was no difference." ("open", "base", "base", "L") cho "" ("annoyed", "base", "base", "mid") #disappointed - hoo "After all these tests, I wasn't getting anywhere, leaving me more and more frustrated and needing to do something to take the edge off." ("open", "closed", "base", "mid", cheeks="blush") - hoo "And as it just so happened, there was a polished and stiff wooden object at hand right there..." ("open", "base", "base", "R", cheeks="blush_heavy") + hoo @ cheeks blush "After all these tests, I wasn't getting anywhere, and I was just feeling more and more frustrated...{w=0.4} So I had to do something to take the edge off." ("open", "closed", "base", "mid") + hoo @ cheeks blush_heavy "And as it just so happened, there was a polished and stiff wooden object at hand right there..." ("open", "base", "base", "R") gen "..." ("grin", xpos="far_left", ypos="head") - hoo "Let's just say that I rode that thing in ways I had never done before..." ("base", "narrow", "base", "down", cheeks="blush_heavy") + hoo @ cheeks blush_heavy "Let's just say that I rode that thing in ways I had never done before..." ("base", "narrow", "base", "down") cho "I do that when I'm stressed out too!" ("smile", "base", "base", "L") gen "I don't think she meant in the way you're thinking." ("grin", xpos="far_left", ypos="head") cho "What do you mean then professor--" ("soft", "base", "raised", "mid") - cho "Ooooh..." ("soft", "narrow", "base", "L", cheeks="blush") #Blushing - gen "So this is what you meant when you said you had just the broom for Miss Chang..." ("base", xpos="far_left", ypos="head") - cho "" ("soft", "narrow", "base", "down", cheeks="blush") #Blushing - hoo "Figured it out already have you?" ("base", "wink", "raised", "mid", cheeks="blush") - hoo "Well I can't say I'm surprised, you've always had a much broader view on magic than most, professor." ("base", "base", "base", "mid", cheeks="blush") - cho "I'm confused..." ("disgust", "narrow", "base", "mid", cheeks="blush") - hoo "Think about the things I've told you thus far, Miss Chang." ("base", "base", "base", "L", cheeks="blush") - hoo "When you enchant an object it takes on some of the enchanter's characteristics." ("base", "base", "shocked", "L", cheeks="blush") - cho "Yes?" ("soft", "narrow", "base", "L", cheeks="blush") - hoo "Well, Initially during practical testing I was trying to appeal to what I thought a broom would enjoy." ("base", "base", "base", "R", cheeks="blush") - hoo "When I should've appealed to what I would enjoy..." ("base", "base", "base", "L", cheeks="blush_heavy") - cho "Wait, so doing...{w=0.4} {i}\"That\"{/i} with your broom... Made the broom go faster? Using it to...{w=0.4} *Err*..." ("angry", "narrow", "base", "L", cheeks="heavy_blush") + cho @ cheeks blush "Ooooh..." ("soft", "narrow", "base", "L") #Blushing + gen "So, this is what you meant when you said you had just the broom for Miss Chang..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("soft", "narrow", "base", "down") #Blushing + hoo @ cheeks blush "Figured it out already have you?" ("base", "wink", "raised", "mid") + hoo @ cheeks blush "Well, I can't say I'm surprised, you've always had a much broader view on magic than most, professor." ("base", "base", "base", "mid") + cho @ cheeks blush "I'm confused..." ("disgust", "narrow", "base", "mid") + hoo @ cheeks blush "Think about the things I've told you thus far, Miss Chang." ("base", "base", "base", "L") + hoo @ cheeks blush "When you enchant an object, it takes on some of the enchanter's characteristics." ("base", "base", "shocked", "L") + cho @ cheeks blush "Yes?" ("soft", "narrow", "base", "L") + hoo @ cheeks blush "Well, Initially during practical testing I was trying to appeal to what I thought a broom would enjoy." ("base", "base", "base", "R") + hoo @ cheeks blush_heavy "When I should've appealed to what I would enjoy..." ("base", "base", "base", "L") + cho @ cheeks heavy_blush "Wait, so doing...{w=0.4} {i}\"That\"{/i} with your broom... Made the broom go faster? Using it to...{w=0.4} *Err*..." ("angry", "narrow", "base", "L") gen "Take off." ("base", xpos="far_left", ypos="head") - hoo "Faster \"and\" more agile... Although the effects faded quite quickly afterwards." ("base", "shocked", "base", "L", cheeks="blush") - cho "Then how were you able to use this method during a game of Quidditch?" ("angry", "narrow", "base", "L", cheeks="heavy_blush") - hoo "I'm glad you asked!" ("grin", "shocked", "base", "L", cheeks="blush") - hoo "I used this..." ("grin", "base", "base", "L", cheeks="blush") + hoo @ cheeks blush "Faster {b}and{/b} more agile... Although the effects faded quite quickly afterwards." ("base", "shocked", "base", "L") + cho @ cheeks heavy_blush "Then how were you able to use this method during a game of Quidditch?" ("angry", "narrow", "base", "L") + hoo @ cheeks blush "I'm glad you asked!" ("grin", "shocked", "base", "L") + hoo @ cheeks blush "I used this..." ("grin", "base", "base", "L") #Dildo appears on broom - hoo "" ("base", "base", "base", "downR", cheeks="blush") - $ renpy.play("sounds/collar_click.ogg") + hoo @ cheeks blush "" ("base", "base", "base", "downR") + play sound "sounds/collar_click.ogg" $ hooch.equip(hoo_accessory_broom_dildo) with d3 - ">Madam Hooch takes a phallic shaped object out of her pockets and attaches it to the broom." + nar "Madam Hooch takes a phallic shaped object out of her pockets and attaches it to the broom." - cho "Merlin's beard!" ("mad", "wide", "base", "L", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Merlin's beard!" ("mad", "wide", "base", "L") gen "Merlin's cock!" ("grin", xpos="far_left", ypos="head") - hoo "So, what say you, Miss Chang? You wanted a broom that rivals the firebolt, so here you have it!" ("grin", "shocked", "raised", "L", cheeks="blush") - cho "Yes, but..." ("mad", "narrow", "base", "downR", cheeks="heavy_blush") - hoo "When used by the right person, this broom could go even faster." ("grin", "shocked", "base", "L", cheeks="blush_heavy") - cho "But, everyone will be there watching..." ("angry", "narrow", "base", "L", cheeks="heavy_blush") #blushing - hoo "I know...{w=0.4} Exciting thought, isn't it?" ("grin", "base", "shocked", "L", cheeks="blush_heavy") - cho "..." ("horny", "narrow", "base", "downR", cheeks="heavy_blush") - hoo "You don't need to pretend with me, Miss Chang. I have seen how much you enjoyed everybody gazing at you during the preliminaries.." ("grin", "wink", "base", "L", cheeks="blush") - cho "You did?" ("angry", "narrow", "base", "L", cheeks="heavy_blush") - hoo "Yes, and I assure you, I understand your feelings completely..." ("base", "narrow", "shocked", "L", cheeks="blush_heavy") - hoo "As it happens... There's nothing that gets me more excited than a crowd..." ("base", "narrow", "base", "mid", cheeks="blush_heavy") - hoo "And all those feelings are imbued into this very broom..." ("base", "narrow", "base", "R", cheeks="blush") - hoo "I remember using it at the quidditch world cup finals... Thousands of people watching..." ("grin", "closed", "worried", "mid", cheeks="blush_heavy") - cho "" ("horny", "narrow", "base", "downR", cheeks="heavy_blush") - hoo "I don't think any broom had ever reached such speeds before..." ("grin", "narrow", "base", "stare", cheeks="blush_heavy") - hoo "When I caught the snitch... Why I've never felt such a rush." ("grin", "closed", "shocked", "mid", cheeks="blush_heavy") - cho "{size=-6}I'll do it...{/size}" ("disgust", "narrow", "base", "downR", cheeks="heavy_blush") #Small text + hoo @ cheeks blush "So, what say you, Miss Chang? You wanted a broom that rivals the firebolt, so here you have it!" ("grin", "shocked", "raised", "L") + cho @ cheeks heavy_blush "Yes, but..." ("mad", "narrow", "base", "downR") + hoo @ cheeks blush_heavy "When used by the right person, this broom could go even faster." ("grin", "shocked", "base", "L") + cho @ cheeks heavy_blush "But, everyone will be there, watching..." ("angry", "narrow", "base", "L") #blushing + hoo @ cheeks blush_heavy "I know...{w=0.4} Exciting thought, isn't it?" ("grin", "base", "shocked", "L") + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "downR") + hoo @ cheeks blush "You don't need to pretend with me, Miss Chang. I have seen how much you enjoyed everybody gazing at you during the preliminaries..." ("grin", "wink", "base", "L") + cho @ cheeks heavy_blush "You did?" ("angry", "narrow", "base", "L") + hoo @ cheeks blush_heavy "Yes, and I assure you, I understand your feelings completely..." ("base", "narrow", "shocked", "L") + hoo @ cheeks blush_heavy "As it happens... There's nothing that gets me more excited than a crowd..." ("base", "narrow", "base", "mid") - if cho_received_thestral: + # Used in Quidditch Outro + label .introspection: + + if _in_replay: + show screen blkfade + with d5 + + $ hooch.equip(hoo_outfit_default) + $ hooch.equip(hoo_accessory_broom_dildo) + $ cho.equip(cho_outfit_quidditch_gryffindor) + $ game.gold = 1984 + $ game.day = 666 + $ game.daytime = True + $ game.weather = "clear" + $ hooch_chibi.zoom = 0.38 + $ hooch_chibi.zorder = 4 + call room("quidditch_pitch") + call cho_chibi("stand", "right", "base", flip=False) + call gen_chibi("stand", "mid", 470, flip=False) + chibi hooch place ((450, 500)) + + hoo @ cheeks blush "" ("base", "narrow", "base", "R", xpos=100, ypos="base", flip=True) + cho @ cheeks heavy_blush "" ("horny", "narrow", "base", "mid", xpos=460, ypos="base", flip=False) + + play background "sounds/outskirts.ogg" fadein 2 + play music "music/march-of-the-spoons-by-kevin-macleod-from-filmmusic-io.ogg" fadein 1 fadeout 1 if_changed + + hide screen blkfade + with d5 + + hoo @ cheeks blush "And all those feelings are imbued into this very broom..." ("base", "narrow", "base", "R") + hoo @ cheeks blush_heavy "I remember using it at the Quidditch world cup finals... Thousands of people watching..." ("grin", "closed", "worried", "mid") + cho @ cheeks heavy_blush "" ("horny", "narrow", "base", "downR") + hoo @ cheeks blush_heavy "I don't think any broom had ever reached such speeds before..." ("grin", "narrow", "base", "stare") + hoo @ cheeks blush_heavy "When I caught the snitch... Why, I've never felt such a rush." ("grin", "closed", "shocked", "mid") + cho @ cheeks heavy_blush "{size=-6}I'll do it...{/size}" ("disgust", "narrow", "base", "downR") #Small text + + # Used in Quidditch Outro + if _in_replay: + return + + if states.cho.ev.quidditch.given_thestral: gen "Wait, how come when I tried to give you a broom with a--" ("angry", xpos="far_left", ypos="head") else: gen "You will?" ("base", xpos="far_left", ypos="head") - hoo "Fantastic news!" ("grin", "shocked", "shocked", "L", cheeks="blush") + hoo @ cheeks blush "Fantastic news!" ("grin", "shocked", "shocked", "L") - if cho_received_thestral: + if states.cho.ev.quidditch.given_thestral: gen "..." ("base", xpos="far_left", ypos="head") - cho "Just...{w=0.4} *Ahem*...{w=0.4} I have a question..." ("angry", "narrow", "base", "down", cheeks="heavy_blush") - hoo "Yes?" ("base", "shocked", "raised", "L", cheeks="blush") - cho "How did you manage to keep it--{w=0.2} I mean it's so big...{w=0.4} How did nobody see?" ("angry", "narrow", "base", "L", cheeks="heavy_blush") - hoo "A skirt and a small cut in your underwear and no one will be any wiser." ("base", "shocked", "base", "downL", cheeks="blush") - cho "I see..." ("soft", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Just...{w=0.4} *Ahem*...{w=0.4} I have a question..." ("angry", "narrow", "base", "down") + hoo @ cheeks blush "Yes?" ("base", "shocked", "raised", "L") + cho @ cheeks heavy_blush "How did you manage to keep it--{w=0.2} I mean, it's so big...{w=0.4} How did nobody see?" ("angry", "narrow", "base", "L") + hoo @ cheeks blush "A skirt and a small cut in your underwear and no one will be any wiser." ("base", "shocked", "base", "downL") + cho @ cheeks heavy_blush "I see..." ("soft", "narrow", "base", "down") gen "To think that a \"PE\" teacher would have such a grasp of the fundamentals of magic..." ("base", xpos="far_left", ypos="head") - cho "Sir!" ("clench", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Sir!" ("clench", "base", "base", "mid") gen "Oh sorry, did I say that out loud?" ("base", xpos="far_left", ypos="head") hoo "Yes, I'm a bit of a rogue bludger..." ("grin", "wink", "base", "mid") - cho "" ("annoyed", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "" ("annoyed", "base", "base", "mid") gen "(I wonder if this is this why that carpet always appeared more energetic after getting whipped.)" ("base", xpos="far_left", ypos="head") gen "(Gross...)" ("base", xpos="far_left", ypos="head") gen "So, what do you call this invention of yours?" ("base", xpos="far_left", ypos="head") hoo "What do I call it?" ("open", "shocked", "raised", "mid") - hoo "*Hmm*... Why I never really thought about giving it a name." ("normal", "base", "shocked", "down") + hoo "*Hmm*... Why, I've never really thought about giving it a name." ("normal", "base", "shocked", "down") gen "Really?" ("base", xpos="far_left", ypos="head") gen "I thought women named all their toys." ("base", xpos="far_left", ypos="head") gen "How about..." ("base", xpos="far_left", ypos="head") menu: - #Sets Cho's broom name for use during and after match (cho_broom_name) + #Sets Cho's broom name for use during and after match (states.cho.ev.quidditch.broom_name) "\"The Schlickstick!\"": - $ cho_broom_name = "Schlickstick" + $ states.cho.ev.quidditch.broom_name = "Schlickstick" - cho "The what?" ("angry", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "The what?" ("angry", "wide", "base", "mid") gen "A fitting name for a fitted broom..." ("base", xpos="far_left", ypos="head") - hoo "[cho_broom_name] eh? I like it!" ("base", "base", "base", "mid") + hoo "[states.cho.ev.quidditch.broom_name] eh? I like it!" ("base", "base", "base", "mid") "\"The Scoot-a-ride!\"": - $ cho_broom_name = "Scoot-a-ride" + $ states.cho.ev.quidditch.broom_name = "Scoot-a-ride" gen "You know, cause you scoot around on it." ("base", xpos="far_left", ypos="head") cho "Very funny professor..." ("annoyed", "narrow", "base", "mid") hoo "Works for me." ("base", "base", "base", "mid") "\"The Speedblaster 2000!\"": - $ cho_broom_name = "Speedblaster 2000" + $ states.cho.ev.quidditch.broom_name = "Speedblaster 2000" - gen "Cause it'll get up to higher speeds as it blasts your--" ("base", xpos="far_left", ypos="head") - cho "Sir!" ("angry", "base", "angry", "mid", cheeks="blush") + gen "Cause it'll get up to higher speeds when it blasts your--" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Sir!" ("angry", "base", "angry", "mid") gen "I know, a perfect name isn't it?" ("base", xpos="far_left", ypos="head") - cho "Professor Hooch, I'm so sorry about his--" ("angry", "closed", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Professor Hooch, I'm so sorry about his--" ("angry", "closed", "angry", "mid") hoo "I like it!" ("base", "base", "base", "mid") - cho "..." ("disgust", "base", "base", "L", cheeks="blush") + cho @ cheeks blush "..." ("disgust", "base", "base", "L") "\"The Purple Rocket!\"": - $ cho_broom_name = "Purple Rocket" + $ states.cho.ev.quidditch.broom_name = "Purple Rocket" - cho "The broom isn't... Oh I see..." ("disgust", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "The broom isn't... Oh, I see..." ("disgust", "narrow", "base", "mid") hoo "Works for me." ("base", "base", "base", "mid") - gen "He-heh..." ("grin", xpos="far_left", ypos="head") + gen "*He-heh*..." ("grin", xpos="far_left", ypos="head") "\"The Cumet!!\"": - $ cho_broom_name = "Cumet" + $ states.cho.ev.quidditch.broom_name = "Cumet" - hoo "There's already a broom called that unfortunately." ("normal", "base", "shocked", "mid") + hoo "There's already a broom called that, unfortunately." ("normal", "base", "shocked", "mid") gen "There is?" ("base", xpos="far_left", ypos="head") gen "Someone's stolen the pun before I could..." ("base", xpos="far_left", ypos="head") hoo "Oh, I see what you mean now." ("base", "base", "base", "mid") cho "Huh?" ("open", "base", "base", "L") - hoo "Yeah, cumet suits it just fine..." ("grin", "base", "raised", "R", cheeks="blush") + hoo @ cheeks blush "Yeah, cumet suits it just fine..." ("grin", "base", "raised", "R") "\"The Nimble 2069!\"": - $ cho_broom_name = "Nimble 2069" + $ states.cho.ev.quidditch.broom_name = "Nimble 2069" hoo "I see, since you're able to move more nimbly on it... Very clever." ("base", "base", "base", "mid") gen "(Heh-heh... Sixty-nine...)" ("base", xpos="far_left", ypos="head") "\"The Spurtstick 900!\"": - $ cho_broom_name = "Spurtstick 900" + $ states.cho.ev.quidditch.broom_name = "Spurtstick 900" hoo "It does go very fast once you get it going... I like it!" ("base", "shocked", "shocked", "mid") - cho "I'm not sure that's why he wants to call it--" ("disgust", "narrow", "base", "L", cheeks="blush") + cho @ cheeks blush "I'm not sure that's why he wants to call it--" ("disgust", "narrow", "base", "L") gen "Great! Spurtstick 900 it is!" ("grin", xpos="far_left", ypos="head") - cho "..." ("disgust", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "..." ("disgust", "base", "base", "mid") gen "Very well then... You've got what you wanted, Miss Chang. I hope you're satisfied." ("base", xpos="far_left", ypos="head") - gen "If not, I'm sure you will be at the finals." ("grin", xpos="far_left", ypos="head") - cho "Sir!" ("angry", "base", "base", "mid", cheeks="heavy_blush") + gen "If not, I'm sure you will be, at the finals." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Sir!" ("angry", "base", "base", "mid") gen "When you win that cup, of course." ("base", xpos="far_left", ypos="head") - cho "Oh..." ("upset", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "Oh..." ("upset", "base", "base", "downR") gen "Make sure you get lots of practice in until then." ("grin", xpos="far_left", ypos="head") cho "Yes sir." ("soft", "base", "base", "mid") cho "*Ehm*...{w=0.4} Thank you for your assistance, Professor." ("open", "base", "base", "L") @@ -1610,27 +1639,1998 @@ label cho_quid_E12: show screen blkfade with d5 - call nar(">You leave Cho to her own devices...{w=0.4} And return to your office.") + nar "You leave Cho to her own devices...{w=0.4} And return to your office." - $ cho_quid.E12_complete = True + $ states.cho.ev.quidditch.e12_complete = True # Reset hooch's chibi values $ hooch_chibi.zoom = 0.28 $ hooch_chibi.zorder = 12 $ hooch.equip(hoo_accessory_broom) - call stop_sound_effects + stop background fadeout 0.5 + stop weather fadeout 0.5 jump main_room label cho_quid_E13: - # Informs the player that all preprations are complete + # Informs the player that all preparations are complete gen "(Cheerleading squad... Check... Broom... Check...)" ("base", xpos="far_left", ypos="head") gen "(Well then... That should be everything.)" ("base", xpos="far_left", ypos="head") gen "(Although perhaps I could leave her with that broom for a bit before arranging the finals...)" ("grin", xpos="far_left", ypos="head") - $ cho_quid.E13_complete = True + $ states.cho.ev.quidditch.e13_complete = True jump main_room_menu + +label cho_quid_E14: + + # Quidditch Outro + + call cho_walk("mid", "base", action="enter") + + cho "Hello Coach." ("base", "base", "base", "mid", xpos="right", ypos="base", trans=d3) + gen "Hello [name_cho_genie]...{w=0.4} So, I am still your coach after all?" ("base", xpos="far_left", ypos="head") + cho "Of course you are!" ("smile", "base", "base", "mid") + cho "Unless you would rather not be anymore?" ("upset", "narrow", "base", "mid") + gen "Nonsense." ("base", xpos="far_left", ypos="head") + gen "If you ever need me, I'll be there before you can even say snitch." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Well, in that case...{w=0.3}{nw}" ("smile", "narrow", "base", "mid") + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + + cho @ cheeks blush "Well, in that case...{fast} {size=-2}Snitch...{/size}" ("smile", "narrow", "base", "mid") + + menu: + "-Use Instant Transmission-": # Genie teleports to Cho + + play sound "sounds/kick.ogg" + call gen_chibi("stand", 430, "base") + call teleport(position="genie", effect=False) + + cho @ cheeks blush "Whoa! I didn't know you could apparate at Hogwarts!" ("angry", "narrow", "base", "mid") + gen "Appa--{w=0.4} What?" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Apparate!" ("angry", "base", "base", "mid") + gen "Isn't that the flying thing from Four Elements Tr--{w=0.2} I mean Avatar!" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "What?" ("upset", "base", "base", "mid") + gen "*Err*...{w=0.2} Yeah, whatever you said." ("base", xpos="far_left", ypos="base") + + "\"Wait, right now?\"": # Genie walks to cho + + gen "Wait, now?" ("angry", xpos="far_left", ypos="head") + cho @ cheeks blush "Isn't the coach supposed to make sure their pupil keeps up with their training?" ("base", "wink", "base", "mid") + gen "*Hmm*... I suppose another examination of your physique would be in order." ("base", xpos="far_left", ypos="head") + + call gen_chibi("stand", 225, "base") + with d3 + call gen_walk(path=[(230, 470), (410, 470), (430, "base")]) + + gen "So, how about we start with examining your chest, and then move on to--" ("grin", xpos="far_left", ypos="base") + cho @ cheeks blush "Actually, I was thinking of showing you how I take care of my most prized possession." ("smile", "narrow", "base", "down") + gen "Your {i}most prized possession?{/i}" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "That's right..." ("smile", "narrow", "base", "mid") + cho @ cheeks blush "Can you guess what it is?" ("smile", "narrow", "base", "mid") + gen "*Hmm*..." ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Let me give you a hint... It's a piece of wood, that goes between my legs..." ("smile", "narrow", "base", "mid") + gen "Piece of... Wood?" ("base", xpos="far_left", ypos="base") + + $ _aware = False + $ _stressed = False + + menu: + "-Let the intrusive thoughts win-": + $ _stressed = True + + gen "(Last I checked, she didn't have any wood down there, we've even had sex!)" ("base", xpos="far_left", ypos="base") + gen "(Have my dick gotten so worn down that I can't tell the difference between a pussy and an ass?)" ("base", xpos="far_left", ypos="base") + gen "(Maybe she's a were-futa?!)" ("angry", xpos="far_left", ypos="base") + cho @ cheeks blush "[name_genie_cho]?" ("soft", "base", "base", "mid") + gen "(Nah... She would've shown symptoms much earlier if that were the case...)" ("base", xpos="far_left", ypos="base") + gen "(Perhaps she's been under some sort of body concealment charm this entire time?)" ("base", xpos="far_left", ypos="base") + gen "(No... That'd be ridiculous...{w=0.5} Although--)" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "[name_genie_cho], are you listening?" ("open", "base", "raised", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "If you don't mind... I'd like to show off my skills as a beater." ("smile", "narrow", "base", "mid") #beater is used deliberately instead of beating + gen "(Quidditch... Of course that's what she meant...)" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Why are you looking at me like that?" ("soft", "base", "base", "mid") + gen "Oh, I was just--{w=0.2} Well, I just thought you--" ("base", xpos="far_left", ypos="base") + cho @ cheeks heavy_blush "Is it because I'm a girl?!" ("angry", "narrow", "raised", "mid") + gen "What?!" ("angry", xpos="far_left", ypos="base") + cho @ cheeks heavy_blush "You think I can't do it because I'm a girl?!" ("open", "narrow", "angry", "mid") + gen "W--What, how are you implying--" ("angry", xpos="far_left", ypos="base") + cho @ cheeks blush "Just because boys have it easier, it doesn't mean a girl like me can't do it!" ("upset", "narrow", "angry", "downR") + gen "I wasn't saying--{w=0.2} I mean, do you even have the right equipment?" ("angry", xpos="far_left", ypos="base") + cho @ cheeks blush "I have everything I need right here!" ("open", "closed", "angry", "mid") + gen "Y-You do?" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Of course!" ("angry", "narrow", "base", "mid") + cho @ cheeks blush "Just close your eyes for a moment, and I'll prove my worth to you." ("open", "closed", "angry", "mid") + gen "Why would I need to--" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Close them!" ("angry", "narrow", "base", "mid") + gen "(I hope I don't regret this...)" ("base", xpos="far_left", ypos="base") + "\"Your broom?\"": + cho @ cheeks blush "Close, but not quite." ("base", "narrow", "base", "mid") + cho @ cheeks blush "If you don't mind... I'd like to show off my skills as a beater." ("smile", "narrow", "base", "mid") #beater is used deliberately instead of beating + gen "(A beater's bat?)" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Just close your eyes for a moment, and you won't regret it." ("horny", "base", "base", "mid") + gen "Why would I need to close--" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Just close them!" ("upset", "narrow", "angry", "mid") + gen "..." ("angry", xpos="far_left", ypos="base") + "\"You mean...\"": + cho @ cheeks blush "If you don't mind... I'd like to show off my skills as a beater." ("smile", "narrow", "base", "mid") #beater is used deliberately instead of beating + gen "(A beater's bat?)" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Just close your eyes for a moment, and you won't regret it." ("horny", "base", "base", "mid") + gen "Why would I need to close--" ("base", xpos="far_left", ypos="base") + cho @ cheeks blush "Just close them!" ("upset", "narrow", "angry", "mid") + gen "..." ("angry", xpos="far_left", ypos="base") + "\"It's my cock, isn't it.\"": + $ _aware = True + + cho @ cheeks blush "*Err*--{w=0.4} No, it's--{w=0.4} *Ehm..." ("upset", "narrow", "angry", "mid") + gen "*He-he*...{w=0.4} I knew it." ("grin", xpos="far_left", ypos="base") + cho @ cheeks blush "J-Just close your eyes..." ("upset", "narrow", "angry", "mid") + + show screen blkfade + with d5 + + stop weather fadeout 4 + $ game.weather = "clear" + + play sound "sounds/cloth_sound3.ogg" + + if _stressed: + + gen "What are you doing?" + cho "One moment [name_genie_cho], I'm just having a little bit of trouble pulling it out..." + gen "*Gulp*" + + play sound "sounds/cloth_sound3.ogg" + + gen "[name_cho_genie], is that...?" + cho "One more second..." + cho "Now, if I could just--" + + play sound "sounds/cloth_sound3.ogg" + + cho "There we go!" + cho "You can open your eyes now." + + if game.daytime: + show cho_handjob as cg zorder 16 + else: + show cho_handjob as cg zorder 16 at color_temperature(1.0) + + hide screen blkfade + with d5 + + #Fade to CG, Cho has arm to her side, normal shirt (ingame shader for night variant) + + #Cho looks down at genie's soft cock + call ctc + + if not _aware: + gen "Whoa! You were talking about my cock!" + + #Cho looks up and smiles + + show cho_handjob cho_body_idle mouth_smile as cg with d3 + + if not _aware: + gen "But, I thought you said you wanted to show off your skills--" + gen "Okay, I think I just caught up to what we're doing here..." + else: + gen "Are you going to jerk me off? You naughty little raven." + + show cho_handjob mouth_open eyes_open_right as cg with d3 + + cho "I don't know what you're talking about, [name_genie_cho]... This is just yet another normal training session with one of your trainees." + + show cho_handjob mouth_base eyes_open_right as cg with d3 + + gen "(Sounds like something I would say.)" + gen "I must've rubbed off on you in more ways than one." + + show cho_handjob mouth_smile eyes_open_narrow_forward as cg with d3 + + cho "What can I say, I'm very impressionable..." + + show cho_handjob mouth_lipbite eyes_open_forward eyebrows_raised as cg with d3 + + cho "Speaking of rubbing... Would you like a demonstration of how I enchant my equipment?" + + if _stressed: + gen "A few minutes ago, I would be hesitant, but now? Sure!" + else: + gen "Very much so." + + show cho_handjob mouth_neutral eyes_open_down as cg with d3 + + cho "Although..." + + show cho_handjob eyebrows_worried as cg with d3 + + cho "It looks like the equipment isn't quite ready yet." + + if _stressed: + call ctc + gen "The--" + + gen "(Floppy cock!!)" + gen "(She got me all stressed out for a moment, but I cannot show weakness!)" + + menu: + "\"It's cold in here!\"": + gen "And I wasn't ready!" + + "\"I wasn't ready!\"": + gen "And it's cold in here!" + + show cho_handjob mouth_base eyebrows_base eyes_open_narrow_down as cg with d3 + + cho "No big deal, [name_genie_cho]... I learned how to deal with this sort of thing during one of my lessons." + gen "(During her lessons...?)" + else: + show cho_handjob mouth_base eyebrows_base eyes_open_narrow_down as cg with d3 + + cho "Let me try something I learnt during my lessons." + + gen "(During her lessons...?)" + + show cho_handjob cho_body_stroke_idle mouth_open eyes_open_down eyebrows_angry as cg with d3 + + cho "{size=+5}Up!{/size}" + + show cho_handjob mouth_upset eyes_open_left eyebrows_worried as cg with d3 + + cho "Hold on, that's for brooms, not for--" + + #Genie gets a boner + play sound "sounds/boing05.ogg" + show cho_handjob penis_hard mouth_open eyes_open_wide_down eyebrows_base as cg with vpunch + pause .5 + + cho "Oh, it worked!" + + show cho_handjob mouth_smile eyes_open_down as cg with d3 + + cho "I mean, of course it worked!" + + show cho_handjob cho_body_idle eyes_open_forward as cg with d3 + + cho "Well then... Let's start with the enchanting process..." + + #Cho takes genie's cock in her hand + #Cho turn head down towards dick + #Spit trailing from mouth towards dick + #Spit on dick + #Cho hand on dick, jacking it. + #Shiny dick (spit) + + show cho_handjob cho_body_bending as cg with d6 + pause 0.75 + + play sound "sounds/drooling.ogg" + + show cho_handjob effects_spitting as cg with d3 + pause 0.25 + show cho_handjob penis_hard_spit_on_tip as cg with d3 + pause 0.5 + + gen "Whoa!" + + show cho_handjob eyes_open_down cho_body_stroke_idle -effects_spitting as cg with d3 + pause 0.5 + show cho_handjob eyebrows_raised cho_body_stroke_up as cg with d3 + pause 0.5 + show cho_handjob eyebrows_sad mouth_lipbite -effects_spitting as cg with d3 + + cho "*Mmm*...{w=0.4} Nice and stiff..." + gen "Stop teasing me and get to it already!" + + show cho_handjob cho_body_stroke_up eyebrows_base eyes_open_narrow_forward mouth_base as cg with d3 + + cho "Patience, [name_genie_cho], this is just one of the steps I learned about enchanting." + gen "Hold on, you're actually enchanting my cock? I didn't know you could do that!" + + show cho_handjob mouth_open eyes_open_forward as cg with d3 + + cho "Your cock?" + + show cho_handjob mouth_smile eyes_open_narrow_forward as cg with d3 + + cho "I'm not sure what you're talking about..." + + show cho_handjob mouth_base eyes_open_narrow_down as cg with d3 + + cho "I'm merely creating a magical connection between myself and this magnificent piece of wood..." + gen "Creating a connection... By using spit?" + + show cho_handjob mouth_open eyes_open_forward eyebrows_raised as cg with d3 + + cho "Of course! You don't want friction--" + + show cho_handjob mouth_open eyes_open_right eyebrows_angry as cg with d3 + + cho "*Ahem*...{w=0.4} I mean, you need the element of water to cast a successful enchantment!" + + show cho_handjob mouth_neutral eyes_open_right eyebrows_base as cg with d3 + + gen "You're not trying to turn my penis into a water geyser, are you?" + + show cho_handjob eyes_closed eyebrows_sad as cg with d3 + + cho "*Sigh*" + + show cho_handjob mouth_neutral eyes_open_forward as cg with d3 + + gen "Alright, I'll listen..." + + show cho_handjob mouth_base as cg with d3 + + gen "So, what's this magical spit rubbing called again?" + + show cho_handjob mouth_smile eyebrows_base as cg with d3 + + cho "Imbuing." + gen "Fascinating." + + show cho_handjob eyes_open_narrow_down as cg with d3 + + cho "I'm basically channelling my magic into the element to create a connection between myself and this piece of wood." + gen "Magic spit, *huh*..." + + show cho_handjob mouth_base eyes_open_down eyebrows_raised as cg with d3 + + cho "Once the connection is established, it can then be strengthened and enforced in various ways, through stimulation." + + menu: + "\"You're starting to sound like Hermione.\"": + + show cho_handjob mouth_annoyed eyes_open_forward eyebrows_angry as cg with d3 + + cho "*Hmph*" + gen "See? She *Hmphs* at me too!" + + show cho_handjob mouth_upset eyes_open_narrow_forward eyebrows_angry as cg with d3 + + cho "Oh, stop it..." + cho "We have nothing in common." + gen "I would argue, that--" + + show cho_handjob mouth_angry eyes_open_wide_forward as cg with d3 + + nar "Cho grips your hard wood tight." + gen "*Gulp*... Maybe not... Please, continue..." + + show cho_handjob eyes_open_left mouth_upset as cg with d3 + cho "*Tsk*" + + show cho_handjob eyes_closed mouth_neutral as cg with d3 + cho "Where was I..." + + show cho_handjob eyes_closed eyebrows_base as cg with d3 + pause 1 + + show cho_handjob eyes_open_right as cg with d3 + cho "Ah, right!" + + show cho_handjob eyes_open_forward mouth_base as cg with d3 + cho "The type of stimulation required depends on what the magic user has the strongest affinity for." + + "\"And the spit also helps with that, I assume?\"": + + show cho_handjob eyes_open_forward mouth_base as cg with d3 + cho "If it's physical stimulation, sure... The type of stimulation required depends on what the magic user has the strongest affinity for." + + gen "Right?" + + show cho_handjob eyes_open_narrow_forward as cg with d3 + + cho "Some may require mental stimulation." + + show cho_handjob mouth_smile as cg with d3 + + cho "But I personally prefer something more physical..." + gen "Nice..." + gen "Although, I still don't get what the fuck you're on about--" + + #Cho turn head down towards dick + #Spit trailing from mouth towards dick + + show cho_handjob cho_body_bending as cg with d6 + pause 0.75 + + play sound "sounds/drooling.ogg" + + show cho_handjob effects_spitting as cg with d3 + pause 0.25 + show cho_handjob penis_hard_spit_on_shaft as cg with d3 + + gen "Although..." + + show cho_handjob mouth_base cho_body_stroke_down -effects_spitting as cg with d3 + pause 0.5 + show cho_handjob cho_body_stroke_up as cg with d3 + pause 0.5 + show cho_handjob cho_body_stroke_down as cg with d3 + pause 0.5 + show cho_handjob mouth_lipbite cho_body_stroke_up as cg with d3 + pause 0.5 + show cho_handjob eyebrows_raised cho_body_stroke_down as cg with d3 + + #jerking slow + play background "sounds/slickloop.ogg" fadein 2 + show cho_handjob speedlines_1 as cg with d3 + call ctc + + cho "You were saying?" + gen "Never mind! I totally get it now!" + + show cho_handjob eyebrows_base mouth_smile eyes_shut as cg with d3 + + cho "Good! Then we can proceed to the next step." + + gen "Damn, [name_cho_genie]! Since when did you get so good at giving handjobs?" + + show cho_handjob eyebrows_raised mouth_neutral eyes_open_right as cg with d3 + + cho "I'm not sure what you mean by \"giving handjobs\", [name_genie_cho]." + + show cho_handjob eyebrows_base mouth_base eyes_open_forward as cg with d3 + + cho "But what I can tell you is, to establish a strong connection, an enchanter must always use their full potential." + gen "That Hooch lady's sure taught you a lot!" + + show cho_handjob eyebrows_base mouth_smile eyes_shut as cg with d3 + + cho "*Giggles*" + + show cho_handjob eyebrows_raised mouth_base eyes_open_narrow_forward as cg with d3 + + cho "Practice makes perfect... It's what she taught me." + + show cho_handjob eyebrows_base mouth_lipbite eyes_open_narrow_forward as cg with d3 + + cho "I've practised enchanting on my own equipment countless times by now." + + show cho_handjob eyebrows_sad as cg with d3 + + cho "My snitch absolutely glows with magic once I'm finished with it." + gen "I bet..." + + show cho_handjob eyebrows_base eyes_open_right as cg with d3 + + cho "Although I have to do it in secret, so I end up picking a time and place where I won't be bothered, like the changing rooms after practice." + + show cho_handjob eyebrows_base eyes_open_narrow_forward mouth_smile as cg with d3 + + gen "Clever...{w=0.4} *Nghh*--{w=0.2} girl." + + show cho_handjob mouth_base as cg with d3 + + gen "So, is experiencing the real deal any different from your practice?" + + show cho_handjob mouth_open eyes_open_left as cg with d3 + + cho "It's somewhat similar, but..." + + stop background + show cho_handjob eyebrows_raised eyes_open_forward mouth_smile -speedlines_1 as cg with d3 + cho "You know what... Why don't I tell you how I usually do it, and we could compare?" + gen "Sounds like a plan!" + + show cho_handjob eyebrows_sad eyes_open_narrow_down mouth_base as cg with d3 + cho "Well then..." + + # CG of Cho masturbating in front of lockers shows inside a small though-bubble. + show cho_masturbate_lockers cho_body_idle mouth_open eyes_narrow_down as cg2 zorder 15 + show cho_handjob as cg zorder 16 + + show screen cho_dual_cg("cg2") + + #Cho puts fingers in mouth (masturbate) + #Cho stops jacking (genie) + #Cho turn head down towards dick (genie) + #Spit trailing from mouth towards dick (genie) + + show cho_handjob eyes_open_right eyebrows_base mouth_base as cg with d3 + + cho "First, I start by covering the surface with a good coat of spit-- I mean the magical conductor..." + + show cho_masturbate_lockers cho_body_sucking mouth_sucking as cg2 + show cho_handjob cho_body_bending as cg + with d6 + pause 0.75 + + play sound "sounds/drooling.ogg" + + show cho_handjob effects_spitting as cg with d3 + pause 0.25 + + gen "Magical conductor, right." + + #Cho puts hand on clit (masturbate) + #Cho normal head pose (genie) + show cho_handjob eyes_open_down cho_body_stroke_idle -effects_spitting as cg with d3 + pause 0.5 + show cho_handjob eyebrows_raised cho_body_stroke_up as cg with d3 + pause 0.5 + + show cho_masturbate_lockers cho_body_fingering_up mouth_open eyes_narrow_down as cg2 + show cho_handjob eyebrows_sad mouth_base eyes_open_right -effects_spitting as cg + with d3 + + cho "I then slowly begin fondling it gently with my fingers." + + #Cho starts jerking (genie) + #Cho starts rubbing clit (masturbate) + play background "sounds/slickloop.ogg" fadein 2 + show cho_masturbate_lockers cho_body_fingering_down mouth_base eyes_narrow_down as cg2 + show cho_handjob eyebrows_base eyes_open_narrow_down speedlines_1 as cg + with d3 + cho "Rubbing it,{w=0.3} up and down,{w=0.3} up and down..." + + + show cho_masturbate_lockers mouth_lipbite eyebrows_mad eyes_down as cg2 + show cho_handjob mouth_smile as cg + with d3 + cho "Once the coating has been evenly distributed, I proceed to channel my magic into it." + + #jerking medium (genie) + #rubbing medium (masturbate) + play background "sounds/slickloopfast.ogg" fadein 2 + show cho_handjob speedlines_2 as cg + show cho_masturbate_lockers mouth_lipbite eyebrows_mad eyes_down as cg2 with d3 + + gen "*Ngh*... You're--{w=0.2} You're able to channel your own magic into your--" + + show cho_masturbate_lockers eyes_narrow_left mouth_open as cg2 + show cho_handjob eyes_open_right as cg + with d3 + cho "Of course, any able-bodied witch should be able to do that." + gen "I have so many questions, but... Please, continue..." + + show cho_masturbate_lockers eyes_narrow_forward mouth_open as cg2 + show cho_handjob eyes_open_right eyebrows_base mouth_base as cg + with d3 + cho "So, I do my very best to keep the flow at a steady pace, until I start feeling tingly." + + show cho_masturbate_lockers eyebrows_raised eyes_narrow_down mouth_lipbite effects_hand_move as cg2 + show cho_handjob eyebrows_angry eyes_open_narrow_down mouth_smile as cg + with d3 + cho "That's when I increase the speed--{w=0.2} I mean flow..." + + #jerking fast (genie) + #rubbing fast (masturbate) + play background "sounds/slickloopveryfast.ogg" fadein 2 + show cho_handjob speedlines_3 as cg + gen "*Ngh*!!!" + + show cho_masturbate_lockers eyebrows_mad mouth_angry as cg2 + show cho_handjob eyes_open_down mouth_angry as cg + with d3 + cho "And I pour every ounce of magic I've got into the process, until it's almost bursting with magic!" + gen "*Aargh*!" + + #Cho stops jerking (genie) + show screen blkfade + hide screen cho_dual_cg + hide cg + hide cg2 + stop background + play sound "sounds/pop01.ogg" + + cho "Then I stop, leaving it pulsing, and filled to the brim with magical energy." + + gen "*Ah*...{w=0.4} Why did you--" + + if game.daytime: + show cho_handjob cho_body_idle mouth_neutral eyes_open_right penis_hard_spit_on_shaft as cg zorder 16 + else: + show cho_handjob cho_body_idle mouth_neutral eyes_open_right penis_hard_spit_on_shaft as cg zorder 16 at color_temperature(1.0) + + hide screen blkfade + with d5 + + cho "Even though it might be tempting, one shouldn't overdo it, or they might have an accidental discharge." + gen "Right... Who would want something like that to happen..." + + show cho_handjob eyebrows_sad eyes_open_narrow_down as cg with d3 + cho "Of course, sometimes you can't help it... I've left quite the mess inside the changing room a couple of times." + gen "You know... I wouldn't mind it if you showed me what such a discharge may look like..." + + show cho_handjob eyebrows_base eyes_open_forward mouth_angry as cg with d3 + cho "*Huh*? Oh, I'm sorry [name_genie_cho]... I got a bit carried away..." + + show cho_handjob eyebrows_sad eyes_open_down mouth_open as cg with d3 + cho "Of course I'll demonstrate how a discharge could happen..." + + show cho_handjob eyebrows_sad eyes_open_narrow_down mouth_neutral as cg with d3 + cho "*Hmm*... I suppose I better--{w=0.2} *Ehm*..." + + show cho_handjob shirt_open as cg with d3 + call ctc + + gen "Nice, show me those titties!" + + show cho_handjob cho_body_stroke_idle eyebrows_raised eyes_open_narrow_down mouth_open as cg with d3 + cho "Okay then...{w=0.4} *Ehm*...{w=0.4} So..." + + show cho_handjob eyebrows_sad cho_body_idle eyes_closed mouth_neutral as cg with d3 + cho "I'm sorry, [name_genie_cho], I don't think I can keep this up..." + gen "W--{w=0.2} What? No, you're doing a fantastic job keeping it up!" + + show cho_handjob eyes_open_narrow_forward mouth_open as cg with d3 + cho "I mean this role-playing thing." + gen "(Role-playing? Is that what we're doing?)" + + show cho_handjob eyes_open_right mouth_open as cg with d3 + cho "There is... Something I need to talk to you about..." + gen "Now?! What about the--" + + show cho_handjob eyes_open_forward mouth_neutral as cg with d3 + cho "..." + gen "*Ahem*... Of course..." + gen "(Do they not know of the concept of blue-balls in this world?)" + + show cho_handjob eyebrows_worried eyes_open_narrow_down as cg with d3 + cho "Well... It's just..." + + show cho_handjob eyes_closed mouth_open as cg with d3 + cho "I thought I could pretend it never happened, and that I could trick myself into thinking I'm just doing this to get better at Quidditch." + + show cho_handjob eyes_open_wide_forward mouth_angry as cg with d3 + cho "But I can't!" + gen "..." + + show cho_handjob cho_body_idle eyes_closed as cg with d3 + cho "I mean, I won the cup already!" + + show cho_handjob eyebrows_worried eyes_shut mouth_neutral as cg with d3 + cho "So, I can't really fool myself that this is about Quidditch any more, can I?" + gen "*Err*..." + gen "We could pretend that it's to help you with Quidditch still, if it makes you feel better." + gen "Training your body to help you reach for the cock-- I mean the snitch and all that." + + show cho_handjob eyebrows_base eyes_open_narrow_down as cg with d3 + cho "The... snitch?" + gen "Snatch! Dammit... Now that whole bit is ruined..." + + show cho_handjob eyebrows_sad as cg with d3 + cho "..." + gen "I know! We could compare wind resistance whenever you fly naked versus clothed." + + show cho_handjob eyes_open_down as cg with d3 + cho "..." + gen "Still not convinced? *Hmm*..." + gen "Then how about some sexual--{w=0.2} I mean, completely normal yoga!" + + show cho_handjob eyes_open_narrow_down mouth_open as cg with d3 + cho "It's okay, [name_genie_cho]..." + + show cho_handjob mouth_neutral as cg with d3 + cho "While I'm sure there are still a great number of things you could teach me that I could apply at the pitch--" + + show cho_handjob mouth_open eyes_open_forward as cg with d3 + cho "--It's clear that this is not about Quidditch any more, I just need to get to terms with it." + gen "Why stick with one hobby when you can have many, that's what I always say!" + + show cho_handjob eyebrows_sad mouth_neutral eyes_open_right as cg with d3 + cho "Right...{w=0.4} Well, there's one more thing I wanted to...{w=0.4} *Ehm*..." + gen "If you're asking me to assist with broadening your horizons, past holding a piece of wood in-between your legs, then my answer is--" + + show cho_handjob eyebrows_raised eyes_open_wide_forward mouth_angry as cg with d3 + cho "Wait!" + gen "--Yes?" + + show cho_handjob eyebrows_sad eyes_open_narrow_forward mouth_angry as cg with d3 + cho "That's not it..." + + show cho_handjob eyebrows_worried mouth_neutral as cg with d3 + cho "Well, I think it would be best if we were fully honest with each other from now on." + gen "Oh... *Err*..." + + show cho_handjob eyes_open_narrow_down as cg with d3 + cho "You had me do all those naughty things, and..." + gen "..." + + show cho_handjob eyebrows_base mouth_open as cg with d3 + cho "Well, it took me a while, but I finally figured it out..." + gen "You got me! I did it all, just for a chance to get my dick squeezed between your muscly thighs!" + + show cho_handjob cho_body_idle2 eyes_open_forward as cg with d3 + cho "My thighs?" + gen "Yes?" + + show cho_handjob eyes_open_forward mouth_neutral as cg with d3 + cho "You know, you don't need to lie to me, [name_genie_cho]." + cho "I understand now that the only reason why you had me do all those things, was to help me raise my confidence, despite my recklessness." # Important note + gen "*Huh*?" + + show cho_handjob eyes_open_right mouth_open as cg with d3 + cho "I mean, the deal was that I'd sell you favours as a way to repay you for your coaching." + + show cho_handjob eyes_open_narrow_down mouth_neutral as cg with d3 + cho "But if it was sex that you were after, then surely you would've wanted us to go all the way before the finals." + + show cho_handjob eyebrows_sad mouth_open as cg with d3 + cho "But you didn't push me even once to cross that line... You only pushed me to the point where I was able to do what was necessary to win the cup." + gen "(Probably a bad time to tell her that I just kind of forgot...)" + + show cho_handjob eyebrows_worried mouth_neutral as cg with d3 + cho "And that's why...{w=0.4} Well, there's something I need to--" + + show cho_handjob eyes_open_forward as cg with d3 + cho "I mean, you have spent so much of your time guiding and encouraging me..." + + show cho_handjob eyebrows_base eyes_open_wide_forward mouth_open as cg with d3 + cho "And you even gave me a luck potion, just so I could finally achieve my dreams!" + gen "(Did I do that...?)" + + show cho_handjob eyes_closed mouth_neutral as cg with d3 + cho "But then I threw it all away, my urges for sexual gratification became too strong." + + show cho_handjob eyes_open_narrow_down as cg with d3 + cho "I ended up getting carried away..." + gen "(Been there, done that...)" + + show cho_handjob eyebrows_raised eyes_open_down as cg with d3 + cho "I was sort of running on a high after winning the cup, thinking I could do anything I wanted--" + gen "No need to apologise [name_cho_genie], you drank that luck potion after all, if there were any consequences I'm sure they would have happened by now." + + show cho_handjob eyebrows_base eyes_open_narrow_down mouth_open as cg with d3 + cho "*Ehm*..." + + show cho_handjob eyebrows_sad mouth_neutral as cg with d3 + cho "It's just--{w=0.2} Well, I thought I should...{w=0.4} Since we ended up having sex..." + gen "Oh...{w=0.4} I understand what you're trying to say..." + + show cho_handjob eyebrows_sad eyes_open_narrow_forward mouth_angry as cg with d3 + cho "You do?" + gen "Of course, and there's no need to worry, I've coached my swimmers to not accidentally get anyone pregnant." + + show cho_handjob eyebrows_worried eyes_open_wide_forward mouth_neutral as cg with d3 + cho "That's--{w=0.2} I wasn't even considering that..." + gen "You weren't?!" + + show cho_handjob eyebrows_base eyes_open_narrow_down as cg with d3 + cho "Not really..." + gen "So, what is bothering you then?" + + show cho_handjob eyebrows_sad eyes_open_right mouth_open as cg with d3 + cho "It's about the luck potion..." + gen "Yeah?" + + show cho_handjob eyebrows_worried mouth_neutral as cg with d3 + + cho "I never drank any of it." + gen "I see..." + + stop music fadeout 1.0 + play sound "sounds/scratch.ogg" + + gen "{size=+8}Wait what?!{/size}" with vpunch + gen "So, that means..." + cho "*Sigh*... Yes, what actually happened, is--" + + #Cue flashback effect with woosh sound + #Should we use the replay function that we do for mirror stories for this section? Would we change the day counter at all/set it to 0? + #Editors note. Sections taken from original writing should not be adjusted, for obvious reasons. + + #Office evening, (Gryffindor practice return event) + + #TODO add cho chibi/doll position, night time etc + + $ renpy.call_replay("cho_quid_E14_retrospection") + $ renpy.block_rollback() # Otherwise the player would have to replay the entire section if they rolled back here + + show screen blkfade with None + + show cho_handjob cho_body_idle2 penis_soft shirt_open mouth_neutral eyes_open_narrow_down as cg zorder 16 + + hide screen blkfade + with d5 + + cho "And, well... You know the rest..." + gen "*Huh*?" + + show cho_handjob eyebrows_sad mouth_neutral eyes_open_down as cg with d3 + cho "We...{w=0.4} had sex." + gen "(I feel like I missed some sort of flashback happening.)" + + show cho_handjob cho_body_idle eyebrows_sad mouth_angry eyes_open_wide_forward as cg with d3 + cho "Please don't be mad at me, [name_genie_cho]... I know you had good intentions when you left me that potion." + + show cho_handjob eyebrows_worried eyes_open_narrow_down as cg with d3 + cho "But I just couldn't bear the thought, after all the hurdles that we've gone through, just to end up cheating for the finals." + + show cho_handjob eyes_open_right as cg with d3 + cho "Since I poured it out, I wasn't even going to tell you, but when they found the bottle...{w=0.2} I don't know what came over me." + gen "So, What you're saying is..." + + show cho_handjob eyes_open_forward mouth_neutral as cg with d3 + gen "There was never any luck potion inside your system, pushing you towards doing all those naughty things?" + + show cho_handjob as cg with d3 + gen "Stripping, and getting off during the game, sucking my cock under the desk with all those teachers inside my office." + + show cho_handjob eyes_open_narrow_down as cg with d3 + cho "..." + gen "And then riding my cock to your heart's content." + gen "You did all those things, not due to some assurance from a potion?" + gen "The potion was merely used as an excuse to make your desires a reality." + + show cho_handjob eyebrows_sad eyes_closed as cg with d3 + cho "..." + gen "Am I getting that right?" + + show cho_handjob eyes_open_narrow_forward as cg with d3 + cho "Yes, you're completely right [name_genie_cho]..." + cho "Even though I didn't drink it, I lied, and made you believe that I did... Just so I could fulfill my desires..." + + play sound "sounds/boing05.ogg" + show cho_handjob penis_hard as cg with vpunch + gen "{size=-2}Nice...{/size}" + + show cho_handjob eyebrows_worried as cg with d3 + cho "I'm no better than Professor Snape..." + + show cho_handjob mouth_angry as cg with d3 + cho "I'm sorry [name_genie_cho], I shouldn't have--" + + $ _no_shirt = False + $ _facefuck = False + menu: + "-Rip her top off-": + $ _no_shirt = True + + play sound "sounds/cloth_rip.ogg" + + show cho_handjob no_shirt as cg with d3 + pause .4 + + show cho_handjob eyebrows_raised eyes_open_wide_forward mouth_angry as cg with d3 + cho "[name_genie_cho]!" + + "-Don't-": + pass + menu: + "-Punish her throat with your cock-": #Deepthroat + $ _facefuck = True #used for end variant + + play music "music/dark_trance.ogg" fadein 2 if_changed + + call cho_quid_E14_facefuck + + "-Finish the demonstration-": #Keep jerking off/masturbate until completion + #Cho resumes jerking genie off, and you also see the scene of Cho orgasming inside the changing room. + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + + gen "Put your hand back on that cock, young lady!" + + show cho_handjob eyes_open_forward mouth_angry as cg with d3 + cho "What?! But I thought--" + gen "Finish the demonstration!" + + show cho_handjob eyebrows_base as cg with d3 + cho "Yes [name_genie_cho]!" + + #Cho starts jerking + #Dual CG appears + show cho_masturbate_lockers cho_body_fingering_up mouth_lipbite eyes_narrow_down as cg2 zorder 15 + show cho_handjob cho_body_stroke_idle eyes_open_narrow_down as cg zorder 16 + with d3 + + show screen cho_dual_cg("cg2") + + gen "The magic spit!" + + show cho_masturbate_lockers eyebrows_raised mouth_angry eyes_left as cg2 + show cho_handjob eyes_open_down mouth_open as cg + with d3 + cho "Oh, right!" + + show cho_masturbate_lockers eyebrows_base cho_body_sucking mouth_sucking as cg2 + show cho_handjob cho_body_bending as cg + with d6 + pause 0.75 + + play sound "sounds/drooling.ogg" + + show cho_handjob effects_spitting as cg with d3 + pause 0.25 + show cho_handjob penis_hard_spit_on_tip as cg with d3 + pause 0.5 + + show cho_handjob eyes_open_down cho_body_stroke_idle -effects_spitting as cg with d3 + pause 0.5 + show cho_handjob eyebrows_raised cho_body_stroke_up as cg with d3 + pause 0.5 + + show cho_handjob eyebrows_sad mouth_neutral eyes_open_right -effects_spitting as cg + show cho_masturbate_lockers eyebrows_mad cho_body_fingering_up mouth_base eyes_narrow_down as cg2 + with d3 + + $ _nude = False + menu: + "\"Now, undress!\"": + $ _nude = True + + show cho_handjob cho_body_idle eyes_open_down mouth_angry as cg with d3 + cho "Yes [name_genie_cho]!" + if not _no_shirt: + play sound "sounds/cloth_sound3.ogg" + show cho_handjob no_shirt as cg with d3 + pause 0.8 + play sound "sounds/cloth_sound3.ogg" + show cho_handjob no_skirt as cg with d3 + pause 0.4 + show cho_handjob cho_body_stroke_up eyes_open_forward as cg with d3 + + "\"Now, get going!\"": + pass + + #Cho starts jerking (genie) + #Cho starts fingering pussy (masturbate) + play background "sounds/slickloop.ogg" fadein 2 + show cho_masturbate_lockers eyes_narrow_left eyebrows_sad as cg2 + show cho_handjob eyes_open_forward mouth_angry speedlines_1 as cg + with d3 + cho "So, you're--{w=0.2} You're not mad at me?" + gen "Mad? Are you kidding?" + gen "I'm--" + + show cho_masturbate_lockers mouth_smile blush_heavy effects_wet as cg2 + show cho_handjob eyebrows_raised eyes_open_wide_forward mouth_open as cg + with d3 + + gen "Proud of you!" + + show cho_masturbate_lockers mouth_lipbite as cg2 + show cho_handjob eyebrows_base eyes_open_forward mouth_angry as cg + with d3 + cho "You are?!" + + show cho_masturbate_lockers eyes_narrow_down as cg2 + show cho_handjob eyebrows_raised as cg with d3 + cho "But I lied to you, [name_genie_cho]." + gen "So what?" + + show cho_masturbate_lockers eyes_narrow_left mouth_smile as cg2 + show cho_handjob eyebrows_sad eyes_open_narrow_forward as cg + with d3 + cho "Are you--{w=0.2} What do you mean?" + gen "Faster, [name_cho_genie]!" + + #jerking fast + #Fingering fast + play background "sounds/slickloopveryfast.ogg" fadein 2 + show cho_masturbate_lockers eyes_down mouth_base effects_hand_move as cg2 + show cho_handjob eyebrows_raised eyes_open_wide_down speedlines_3 as cg + with d3 + call ctc + + show cho_masturbate_lockers eyes_left mouth_base as cg2 + show cho_handjob eyebrows_base eyes_open_narrow_down mouth_neutral as cg + with d3 + cho "So...{w=0.4} You're not disappointed--" + gen "Of course not! You did exactly what I taught you!" + + show cho_masturbate_lockers eyes_narrow_down as cg2 + show cho_handjob eyes_open_forward mouth_neutral as cg + with d3 + gen "You utilized both your physical and mental capabilities to achieve your desired outcome!" + gen "Now, if that isn't the true spirit of Ravenclaw, I don't know what is!" + + show cho_masturbate_lockers mouth_smile -effects_wet effects_very_wet as cg2 + show cho_handjob eyes_open_narrow_down mouth_base as cg + with d3 + cho "Oh, well, I--" + gen "More spit!" + + show cho_masturbate_lockers mouth_base eyes_narrow_left as cg2 + show cho_handjob eyebrows_base eyes_open_wide_forward mouth_angry as cg + with d3 + cho "Yes, [name_genie_cho]!" + + stop background + show cho_masturbate_lockers cho_body_sucking mouth_sucking -effects_hand_move -speedlines_3 as cg2 + show cho_handjob cho_body_bending as cg + with d6 + pause 0.75 + + play sound "sounds/drooling.ogg" + + show cho_handjob effects_spitting as cg with d3 + pause 0.25 + show cho_handjob penis_hard_spit_on_shaft as cg with d3 + + gen "Good girl..." + + show cho_masturbate_lockers eyebrows_base eyes_left as cg2 + show cho_handjob cho_body_stroke_down eyes_open_narrow_down mouth_neutral -effects_spitting as cg with d3 + pause 0.5 + show cho_handjob cho_body_stroke_up as cg with d3 + pause 0.5 + show cho_handjob cho_body_stroke_down as cg with d3 + pause 0.5 + show cho_handjob mouth_base cho_body_stroke_up as cg with d3 + pause 0.5 + show cho_handjob eyebrows_raised cho_body_stroke_down as cg with d3 + + play background "sounds/slickloopfast.ogg" fadein 2 + show cho_masturbate_lockers cho_body_fingering_up mouth_smile eyes_narrow_down as cg2 with d3 + show cho_handjob speedlines_2 as cg + pause 0.5 + show cho_masturbate_lockers cho_body_fingering_up eyebrows_sad eyes_narrow_ahegao effects_hand_move as cg2 + show cho_handjob eyes_open_down as cg + with d3 + cho "S--{w=0.2} So, you'll forgive me? You still want to--" + gen "Forgive you?" + gen "I'll...{w=0.2} I'll--" + gen "Reward you!" + + show cho_handjob eyes_open_wide_down mouth_neutral as cg + with d3 + call ctc + + show cho_masturbate_lockers cho_body_fingering_up mouth_lipbite as cg2 with d3 + gen "{size=+4}Aaaaah Yeeeees!{/size}" + + stop background + show cho_handjob cum_precum eyebrows_raised eyes_open_wide_down mouth_angry -speedlines_2 as cg with d3 + cho "{size=+4}Wait!{/size}" + + # Genies cum shoots past Cho through time, space and reason onto the masturbating Cho CG + #Masturbating Cho CG Cums + show cho_masturbate_lockers cho_body_fingering_up eyes_narrow_ahegao mouth_ahegao effects_shaking -effects_hand_move as cg2 with d5 + show cho_handjob cum_cumshot as cg with d5 + show cho_masturbate_lockers cum_cumshot as cg2 with d5 + show cho_masturbate_lockers cum_head as cg2 with d5 + show cho_masturbate_lockers cum_torso cum_mouth_ahegao as cg2 with d5 + show cho_masturbate_lockers -cum_cumshot cum_stomach as cg2 with d5 + show cho_handjob -cum_cumshot cum_after as cg with d5 + show cho_masturbate_lockers -effects_shaking as cg2 with d5 + + pause 0.5 + + gen "*Ah*......." + + show cho_masturbate_lockers mouth_base -cum_mouth_ahegao cum_mouth_base as cg2 + cho "*Gulp*" + + show cho_masturbate_lockers cho_body_idle eyebrows_sad mouth_smile -cum_mouth_base as cg2 + show cho_handjob eyes_open_right as cg + with d3 + cho "You--{w=0.2} your cum... It's..." + gen "Looks like we need to work on your reflexes a bit more, [name_cho_genie]." + + show cho_handjob eyebrows_base eyes_open_forward mouth_open as cg with d3 + cho "Work on my--" ("base", "base", "base", "mid") + gen "Unless you're ready to give up?" + + show cho_handjob cho_body_idle eyebrows_raised eyes_open_wide_forward mouth_angry as cg with d3 + cho "Of--{w=0.2} Of course not!" + gen "Are you sure? It will be even more intense from now on." + + show cho_handjob mouth_smile as cg with d3 + cho "Yes! I can do it!" + gen "Then to prove it, I want you to fly ten laps around the pitch..." + gen "Completely naked!" + + show cho_masturbate_lockers eyes_left eyebrows_mad mouth_open as cg2 + show cho_handjob mouth_angry as cg + with d3 + cho "Naked?!" + gen "Did I hear a \"yes coach\"?!" + + show cho_handjob cho_body_idle eyes_open_down mouth_angry as cg with d3 + cho "Yes coach!" + + if not _nude: + if not _no_shirt: + play sound "sounds/cloth_sound3.ogg" + show cho_handjob no_shirt as cg with d3 + pause 0.8 + play sound "sounds/cloth_sound3.ogg" + show cho_handjob no_skirt as cg with d3 + pause 0.4 + show cho_handjob cho_body_stroke_up eyes_open_forward as cg with d3 + + show screen blkfade + hide screen cho_dual_cg + hide cg + hide cg2 + + if cho.is_any_worn("clothes"): + hide cho_main + $ cho.strip("clothes") + + hide screen blkfade + with d5 + pause .8 + + $ cho_chibi.zorder = 2 + + call cho_walk(xpos=437, ypos=400) + call gen_chibi(flip=False) + + $ cho.set_pose("wand") + + cho @ cheeks blush "Accio [states.cho.ev.quidditch.broom_name]!" ("scream", "base", "base", "L", trans=d3) + gen "Hold on... Where did your wand just appear from?" ("base", xpos="far_left", ypos="base") + cho @ cheeks heavy_blush "Oh... *Err*... See you in a bit!" ("angry", "base", "base", "mid") + hide cho_main + with d3 + pause .5 + + play sound "sounds/boing05.ogg" + call cho_chibi("hide") + call gen_chibi("stand_alt", flip=False) + with d3 + + nar "Cho jumps out the window, landing onto her broom, plunging herself on the attached dildo." + $ cho_chibi.zorder = 3 + + play sound "sounds/slick_02.ogg" + with kissiris + cho "{heart}*Ah*...{heart}" + gen "*Heh-heh*." ("grin", xpos="far_left", ypos="base") + + show screen blkfade + with d3 + + stop music fadeout 2.0 + call gen_chibi("sit_behind_desk") + $ cho.set_pose(None) + + if _facefuck: + nar "You walk up to the window and watch as Cho flies off towards the direction of the Gryffindor tower." + nar "She returns within a couple of minutes and gives you a triumphant smile. She then takes her clothes and flies off again." + else: + play sound "sounds/steps_grass.ogg" + nar "You grab Cho's clothing and start making your way down to the Quidditch pitch..." + if game.daytime: + nar "After catching a couple of glances from the students, you quickly tuck her underwear underneath her outer clothing..." + nar "Once you reach the pitch, Cho is already circling around it at breakneck speeds..." + nar "Rather than heading up to the tower, you decide it'd be best to keep a look-out from the entrance-way... Since you'd get a much better angle from below." + nar "Once Cho finishes, you return her clothing, and then part ways." + else: + nar "After catching a couple of glances from the portraits, you quickly tuck her underwear underneath her outer clothing..." + nar "Once you reach the pitch, you can already see the outline of Cho, circling around it at breakneck speeds..." + nar "Rather than heading up to the tower, you decide it'd be best to keep a look-out from the entrance-way... Since you'd get a much better angle from below." + nar "Once Cho finishes, you return her clothing, and then part ways." + + hide screen blkfade + with d3 + + $ states.cho.ev.quidditch.e14_complete = True + + jump end_cho_event + +label cho_quid_E14_facefuck: + + gen "You have been very naughty, [name_cho_genie]!" + + show cho_handjob mouth_open as cg with d3 + cho "Yes, I know [name_genie_cho], I'm--" + gen "You deserve to be punished!" + + show cho_handjob eyebrows_raised eyes_open_wide_forward mouth_angry as cg with d3 + cho "Punished?!" + gen "Now, lubricate my wood!" + + show cho_handjob eyebrows_base eyes_open_narrow_forward mouth_open as cg with d3 + cho "You want me to--" + gen "Do it!" + + show cho_handjob eyebrows_base eyes_open_forward mouth_angry as cg with d3 + cho "Yes, [name_genie_cho]!" + + show cho_handjob cho_body_bending as cg with d6 + pause 0.75 + + play sound "sounds/drooling.ogg" + + show cho_handjob effects_spitting as cg with d3 + pause 0.25 + show cho_handjob penis_hard_spit_on_tip as cg with d3 + pause 0.5 + + show cho_handjob eyes_open_down cho_body_stroke_idle -effects_spitting as cg with d3 + pause 0.5 + show cho_handjob eyebrows_raised cho_body_stroke_up as cg with d3 + pause 0.5 + show cho_handjob cho_body_stroke_down penis_hard_spit_on_shaft as cg with d3 + pause 0.5 + show cho_handjob cho_body_stroke_up as cg with d3 + pause 0.5 + show cho_handjob eyebrows_raised cho_body_stroke_down as cg with d3 + + show cho_handjob eyebrows_sad mouth_neutral eyes_open_right as cg with d3 + + cho "Alright, I've done it, but--" + gen "Now, get that mouth over here!" + + #Fade to black (Throatfuck CG) + show screen blkfade + hide cg + with d5 + + play sound "sounds/cloth_sound4.ogg" + pause .5 + + cho "[name_genie_cho], what are you--{w=0.2}{nw}" + + play sound "sounds/gltch.ogg" + with kissiris + cho "[name_genie_cho], what are you--{fast} *Glick*!!" + + # Throatfuck CG: + + if game.daytime: + if _no_shirt: + show cho_facefuck up eyebrows_low eyes_narrow_down no_shirt as cg zorder 15 + else: + show cho_facefuck up eyebrows_low eyes_narrow_down as cg zorder 15 + else: + if _no_shirt: + show cho_facefuck up eyebrows_low eyes_narrow_down no_shirt as cg zorder 15 at color_temperature(1.0) + else: + show cho_facefuck up eyebrows_low eyes_narrow_down as cg zorder 15 at color_temperature(1.0) + + hide screen blkfade + with d5 + + gen "I can't believe a pupil of mine would defy me like this!" + + show cho_facefuck eyebrows_worried eyes_narrow_stare as cg with d3 + cho "*Mfff*!" + gen "So, to set you straight, I'm going to pump some morals into you!" + + #Genie's dick, halfway down Cho's throat + play sound "sounds/gag_03.ogg" + show cho_facefuck mid eyes_shut cheekbulge spit_on_mouth as cg with d3 + cho "*Glck* *Cough*{nw}" + + show cho_facefuck -cheekbulge as cg + cho "*Glck* *Cough*{fast} *Cough*{nw}" + + show cho_facefuck cheekbulge as cg + cho "*Glck* *Cough* *Cough*{fast}{w=0.2}{nw}" + + show cho_facefuck eyes_narrow_down -cheekbulge as cg + cho "*Glck* *Cough* *Cough*{fast}" + + show cho_facefuck eyes_narrow_stare as cg with d3 + gen "Unfortunately it has to be delivered straight down your throat, but I'm sure you don't mind." + gen "After all--" + + #Genie's dick three fourths down Cho's throat + play sound "sounds/gag_04.ogg" + show cho_facefuck down eyes_shut as cg with d3 + + cho "*Gag*" + + show cho_facefuck eyebrows_angry cheekbulge as cg with d3 + cho "*Mmmmmf*!!!{w=0.2}{nw}" + show cho_facefuck eyebrows_angry -cheekbulge as cg + cho "*Mmmmmf*!!!{fast}" + + show cho_facefuck as cg with d3 + gen "You went to great lengths, lying to me like that." + + show cho_facefuck eyes_stare as cg with d3 + gen "So I'm sure you have--{w=0.2} *Ngh*--{w=0.2} no problem--" + gen "With...{w=0.4} my..." + + #Genie's dick fully down Cho's throat + play sound "sounds/squish_slap_01.ogg" + show cho_facefuck deep eyes_down as cg with d3 + pause 0.3 + show cho_facefuck eyes_narrow_ahegao as cg with d3 + + #Cho Ahegao + + gen "Great length!!!" + + play sound "sounds/gag_02.ogg" + show cho_facefuck tears eyes_ahegao as cg with d3 + cho "*Glk-Gg-Khh*!" + gen "There we go!" + show cho_facefuck eyes_narrow_ahegao blush_heavy as cg with d3 + gen "Just think of this as an advanced version of washing your mouth out with--" + gen "Oh right... I almost forgot the soap!" + + play sound "sounds/spit.ogg" + show cho_facefuck spit_on_face as cg with d3 + pause 0.5 + show cho_facefuck eyebrows_worried eyes_ahegao as cg with d3 + gen "Much better... Don't you think?" + show cho_facefuck eyes_narrow_ahegao blush_choking as cg with d8 + call ctc + gen "[name_cho_genie]?" + + play sound "sounds/slick_01.ogg" + show cho_facefuck mid eyes_ahegao -blush_choking as cg with d3 + pause 0.4 + show cho_facefuck mid eyebrows_low as cg with d3 + cho "*Mmmm*..." + + gen "I'm glad you agree..." + + show cho_facefuck eyes_up as cg with d3 + gen "You know... You're quite lucky that you told me about all this as soon as you did." + gen "It's not healthy to base your whole existence around a lie..." + + show cho_facefuck eyes_stare as cg with d3 + cho "*Hmm*?" + + #Genie pumps down her throat once + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + #pause 0.1 + show cho_facefuck down eyes_ahegao as cg with d3 + #pause 0.1 + show cho_facefuck mid eyes_stare as cg with d3 + #pause 0.1 + show cho_facefuck up as cg with d3 + pause 0.5 + + show cho_facefuck eyebrows_angry eyes_narrow_stare as cg with d3 + cho "*Mmmm*..." + + show cho_facefuck eyes_narrow_right as cg with d3 + call ctc + gen "You know, perhaps I should be blaming myself..." + + show cho_facefuck eyes_narrow_stare as cg with d3 + gen "After all... I made the decision to help you achieve your goals." + + #Genie pumps down her throat once + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck down eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_up as cg with d3 + #pause 0.3 + show cho_facefuck up eyes_stare as cg with d3 + #pause 0.5 + gen "I encouraged you..." + + #Genie pumps down her throat once + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_02.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck down eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_up as cg with d3 + #pause 0.3 + show cho_facefuck up eyes_stare as cg with d3 + #pause 0.5 + gen "To do your very best..." + + show cho_facefuck eyebrows_angry eyes_narrow_down as cg with d3 + cho "*Mmmm*..." + gen "And you did... You did everything that I asked of you, no matter what..." + + #Genie pumps down her throat once + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyebrows_worried eyes_shut as cg with d3 + #pause 0.3 + show cho_facefuck down as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + pause 0.5 + show cho_facefuck eyes_narrow_stare as cg with d3 + + gen "You did all those things, so that you would have enough confidence to do what was necessary to win the cup..." + + show cho_facefuck eyes_narrow_down as cg with d3 + pause 0.8 + show cho_facefuck eyes_narrow_stare as cg with d3 + call ctc + + gen "You stood right here, while I jerked off behind the desk..." + + + #Genie pumps once down her throat again + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_07.ogg" + show cho_facefuck deep eyebrows_angry eyes_narrow_ahegao as cg with d3 + pause 0.3 + show cho_facefuck down eyebrows_worried eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_up as cg with d3 + #pause 0.3 + show cho_facefuck up eyes_stare as cg with d3 + pause 0.5 + + gen "You took your clothes off... Giving me a full view of your naked body." + + #Genie pumps once down her throat again + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_04.ogg" + show cho_facefuck deep eyebrows_angry eyes_narrow_ahegao as cg with d3 + pause 0.3 + show cho_facefuck down eyebrows_worried eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_up as cg with d3 + #pause 0.3 + show cho_facefuck up eyes_stare as cg with d3 + pause 0.5 + + gen "And you sucked my cock, as if your life depended on it." + + #Genie pumps once down her throat again + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyebrows_angry eyes_narrow_ahegao as cg with d3 + pause 0.3 + show cho_facefuck down eyebrows_worried as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_narrow_up as cg with d3 + #pause 0.3 + show cho_facefuck up eyes_narrow_stare as cg with d3 + pause 0.5 + + show cho_facefuck eyebrows_angry eyes_narrow_down as cg with d3 + cho "*Mmhhff*..." + gen "A student, falling for their coach..." + gen "It's so cliche it almost makes me--{w=0.4}{nw}" + + #Genie pumps once down her throat again + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_03.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + + gen "It's so cliche it almost makes me--{fast} puke!" with vpunch + + play sound "sounds/gag_06.ogg" + show cho_facefuck deep eyes_shut cheekbulge as cg with d3 + cho "*Glk* *Cough *Cough*" + + show cho_facefuck deep -cheekbulge as cg with d3 + gen "You're lucky I'm into that stuff!" + + play sound "sounds/gag_08.ogg" + show cho_facefuck deep eyes_down as cg with d3 + cho "*Mmmf*!!" + + show cho_facefuck down as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_narrow_stare as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + #pause 0.5 + gen "Not puking...{w=0.4} Cliche things." + + show cho_facefuck eyebrows_low eyebrows_low eyes_narrow_down as cg with d3 + cho "*Mhmmm*...." + gen "So... Here's something cliche, that I've always wanted to tell you..." + gen "I--" + + #Genie pumps once down her throat again + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_02.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck down eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_stare as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + pause 0.5 + + gen "Love--" + + #Genie pumps once down her throat again + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck down eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_stare as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + pause 0.5 + + gen "Your throat!" + + play sound "sounds/slick_02.ogg" + play sound2 "sounds/gag_03.ogg" + show cho_facefuck deep eyebrows_angry eyes_ahegao as cg with d3 + cho "*Mmmmmfff*!!!" with vpunch + + gen "Sorry to make you disappointed, but I can't go around openly expressing love and affection towards my students." + gen "I've been told it's highly inappropriate." + + play sound "sounds/gag_09.ogg" + show cho_facefuck eyes_shut as cg with d3 + cho "*Nnng*!!!!" + gen "I know, I know... Favouritism isn't that great either, but can you blame me?" + gen "But that's one of the perks of being a headmaster, I get to break the rules." + + show cho_facefuck eyes_narrow_ahegao as cg with d8 + pause 0.2 + show cho_facefuck eyes_shut as cg with d5 + + gen "The only thing they can do is whisper, \"there he goes, showing favouritism towards another student again\"." + + show cho_facefuck blush_choking as cg with d8 + call ctc + + gen "You look very cute when you blush, did anyone ever tell you?" + + play sound "sounds/slick_02.ogg" + show cho_facefuck mid eyebrows_low eyes_narrow_ahegao as cg with d3 + pause 0.2 + show cho_facefuck eyes_narrow_down -blush_choking as cg with d8 + cho "*Mmmm*...." + + gen "Of course, I only break the rules, when it's for the benefit of my pupils." + gen "So, when I saw that you had potential, I felt it was my duty to help you reach that potential." + + show cho_facefuck eyes_narrow_stare as cg with d3 + pause 0.5 + + gen "But, what do I get in return?" + + show cho_facefuck eyebrows_worried eyes_narrow_down as cg with d3 + pause 0.5 + + show cho_facefuck eyes_narrow_stare as cg with d3 + gen "My student, lying her red, raw, little cheeks off, tricking me into having sex with her!" + + show cho_facefuck eyebrows_worried eyes_shut as cg with d3 + pause 0.5 + gen "Wrapping me all around her finger, just so she could wrap her lips around my cock!" + gen "I hope you're proud of yourself because now you're getting exactly what you asked for..." + cho "..." + gen "Look at me when I'm speaking to you!" + + show cho_facefuck eyes_narrow_down as cg with d3 + pause 0.5 + show cho_facefuck eyes_narrow_stare as cg with d3 + pause 0.5 + + gen "Now, tell me...{w=0.4} How does it feel?" + + #Genie dick all way down + play sound "sounds/slick_02.ogg" + play sound2 "sounds/gag_03.ogg" + show cho_facefuck down eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck deep eyebrows_worried eyes_ahegao as cg with d3 + call ctc + + gen "Is it how you imagined?" + gen "Now that you finally got me, are you sure you're good enough to handle it?" + + #Cho face red + show cho_facefuck blush_choking eyes_narrow_ahegao as cg with d8 + + gen "I'm quite high maintenance, you know..." + gen "It's either all..." + + #Cho head up, blush normal colour, eyes forward + show cho_facefuck down as cg with d3 + #pause 0.3 + show cho_facefuck mid eyes_up as cg with d3 + #pause 0.3 + show cho_facefuck up eyes_stare -blush_choking as cg with d3 + #pause 0.5 + + gen "Or nothing." + show cho_facefuck eyebrows_low eyes_narrow_stare as cg with d3 + cho "{heart}*Mhhmmff*{heart}...{nw}" + show cho_facefuck eyes_narrow_down as cg + cho "{heart}*Mhhmmff*{heart}...{fast}{w=0.4}{nw}" + show cho_facefuck eyes_narrow_stare as cg + cho "{heart}*Mhhmmff*{heart}...{fast}" + gen "So, what do you say?" + gen "Can--" + + #genie dick half way down + show cho_facefuck mid eyes_stare as cg with d3 + + gen "You--" + + #Genie dick 3/4th way down + show cho_facefuck down eyes_ahegao as cg with d3 + + gen "Handle--" + + #Genie dick all way down + play sound "sounds/slick_02.ogg" + play sound2 "sounds/gag_02.ogg" + show cho_facefuck deep eyes_narrow_ahegao as cg with d3 + pause 0.5 + play sound "sounds/gag_06.ogg" + show cho_facefuck eyes_shut mouth_bubbles as cg with d3 + pause 0.2 + show cho_facefuck eyes_narrow_ahegao as cg with d3 + + + gen "Me!?" + gen "One blink for no, two blinks for yes...{w=0.4} No take backsies." + show cho_facefuck eyebrows_worried eyes_ahegao as cg with d3 + cho "..." + gen "Think fast, seeker..." + + pause 0.8 + + show cho_facefuck eyes_shut blush_heavy as cg with d3 + pause 0.4 + show cho_facefuck eyes_narrow_ahegao as cg with d8 + + pause 0.8 + + show cho_facefuck blush_choking as cg with d8 + + pause 0.8 + + show cho_facefuck eyes_shut as cg with d3 + pause 0.4 + show cho_facefuck eyes_narrow_ahegao as cg with d8 + pause 0.4 + + gen "Excellent!" + + #Genie starts fucking her throat, loop/speedlines + play background "sounds/slickloopfast.ogg" fadein 2 + show cho_facefuck effects_speedlines blush_heavy as cg with d3 + pause 0.4 + show cho_facefuck eyes_ahegao as cg with d3 + cho "*Glick* *Slurp* *Gobble*" + gen "In that case, I won't just forgive you..." + + show cho_facefuck eyes_shut as cg with d3 + cho "*Slurp* *Slurp* *Gobble*" + gen "I'll help you explore this side of you... As long as my cock gets to be involved." + gen "Sounds good to you?" + + show cho_facefuck eyebrows_angry as cg with d3 + cho "{heart}*Gobble* *Glick* *Gobble*{heart}" + gen "I'll take that open and welcoming throat as a positive response." + + show cho_facefuck eyes_narrow_stare as cg with d3 + cho "*Glick* *Glick* *Gobble*" + + menu: + "-Teach her a life lesson-": + gen "Now then..." + gen "As your first lesson of the day, I must tell you..." + + show cho_facefuck eyebrows_low eyes_narrow_up as cg with d3 + pause 0.5 + gen "If you are looking to explore your sexual side, then that tough exterior you're putting on isn't doing you any favours..." + + show cho_facefuck eyebrows_angry eyes_narrow_left as cg with d3 + cho "*Slurp* *Glick* *Gobble*" + gen "If you never allow people past your exterior, then nobody will ever get to experience..." + + show cho_facefuck eyebrows_low as cg with d3 + cho "*Gobble* *Slurp* *Gobble*" + gen "Your very soft, and wet interior..." + + show cho_facefuck eyes_stare as cg with d3 + cho "*Slurp* *Slurp* *Gobble*" + + gen "But no need to worry [name_cho_genie]... I'll help soften you up a bit." + gen "Starting with your throat!" + + show cho_facefuck eyes_narrow_down as cg with d3 + cho "*Mmmmm*..." + + show cho_facefuck eyebrows_worried eyes_up as cg with d3 + cho "*Mmmmmf*!!!" + + stop background + + show cho_facefuck down eyes_stare -effects_speedlines as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + #Genie thrust 3 times into throat + + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck down eyes_narrow_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_03.ogg" + show cho_facefuck deep as cg with d3 + #pause 0.3 + show cho_facefuck down as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + + play sound "sounds/slick_01.ogg" + play sound2 "sounds/gag_02.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + play sound "sounds/slick_03.ogg" + show cho_facefuck cumshot as cg with d3 + + gen "*Ah*... Much better..." + + play sound2 "sounds/gag_06.ogg" + show cho_facefuck eyebrows_angry eyes_shut cumshot2 as cg with d3 + cho "*Cough*" + + show cho_facefuck up throatpie as cg with d4 + + "-Destroy her diet-": + + gen "Now then, how about we start this new venture by finding out just how much cum can be pumped down a seeker's throat?" + + play sound "sounds/gag_08.ogg" + show cho_facefuck eyebrows_worried eyes_stare as cg with d3 + cho "*Mmmf*!!" + + gen "Don't--{w=0.2} *Ah*...{w=0.4} Don't worry [name_cho_genie]...{w=0.4} you've deserved a cheat day on your diet!" + gen "Winner winner, here comes dinner!" + + show cho_facefuck eyes_up as cg with d3 + cho "*Mmmmmf*!!!" + + stop background + + show cho_facefuck down eyes_stare -effects_speedlines as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + #Genie thrust 3 times into throat + + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck down eyes_narrow_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_03.ogg" + show cho_facefuck deep as cg with d3 + #pause 0.3 + show cho_facefuck down as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + + play sound "sounds/slick_01.ogg" + play sound2 "sounds/gag_02.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + play sound "sounds/slick_03.ogg" + show cho_facefuck cumshot as cg with d3 + + gen "*Ah*...{w=0.4} That hit the spot..." + gen "Although with this amount...{w=0.4} perhaps we should call it a cheat week instead." + + play sound2 "sounds/gag_06.ogg" + show cho_facefuck eyebrows_angry eyes_shut cumshot2 as cg with d3 + cho "*Cough*" + + show cho_facefuck up throatpie as cg with d4 + + "-Claim her as your prize-": + + gen "To think that the cup wouldn't be enough of a prize for you...{w=0.4} You just had to claim your coach as well." + + show cho_facefuck eyebrows_low eyes_narrow_up as cg with d3 + cho "{heart}*Glick* *Mfff* *Slurp*{heart}" + gen "Not that I'm complaining, you're quite the golden cup yourself." + + show cho_facefuck eyes_narrow_down as cg with d3 + cho "*Glick* *Slurp* *Slurp*" + gen "In fact... Why don't we put you on display right here, as my trophy." + + show cho_facefuck eyes_stare as cg with d3 + pause 0.5 + + gen "Right next to my desk, for both myself and others to admire." + + show cho_facefuck eyebrows_worried eyes_narrow_down as cg with d3 + cho "*Slurp* *Slurp* *Gulp*" + gen "I have quite a few notable people coming through my office, you know." + + show cho_facefuck eyes_narrow_right as cg with d3 + cho "*Slurp* Gobble* *Slurp*" + + gen "And I'm sure even more would find their way here, once rumours start spreading." + + show cho_facefuck eyes_narrow_stare as cg with d3 + cho "*Slurp* *Gulp* *Slurp*" + gen "Of course... Trophies aren't just good for admiring." + + show cho_facefuck eyebrows_low eyes_narrow_stare as cg with d3 + cho "*Slurp* *Gobble* *Slurp*" + gen "You can also use them..." + gen "As a vessel!" + + show cho_facefuck eyes_narrow_down as cg with d3 + cho "*Mmmmm*..." + + show cho_facefuck eyebrows_worried eyes_up as cg with d3 + cho "*Mmmmmf*!!!" + + stop background + + show cho_facefuck down eyes_stare -effects_speedlines as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + #Genie thrust 3 times into throat + + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_01.ogg" + show cho_facefuck deep eyes_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck down eyes_narrow_ahegao as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + + play sound "sounds/squish_slap_01.ogg" + play sound2 "sounds/gag_03.ogg" + show cho_facefuck deep as cg with d3 + #pause 0.3 + show cho_facefuck down as cg with d3 + #pause 0.3 + show cho_facefuck mid as cg with d3 + #pause 0.3 + show cho_facefuck up as cg with d3 + + play sound "sounds/slick_01.ogg" + play sound2 "sounds/gag_02.ogg" + show cho_facefuck deep eyebrows_worried eyes_narrow_ahegao as cg with d3 + play sound "sounds/slick_03.ogg" + show cho_facefuck cumshot as cg with d3 + + gen "*Ah*...{w=0.8} Victory sure tastes sweet, doesn't it?" + + play sound2 "sounds/gag_06.ogg" + show cho_facefuck eyebrows_angry eyes_shut cumshot2 as cg with d3 + cho "*Cough*" + + show cho_facefuck up throatpie as cg with d4 + + stop music fadeout 1 + show screen blkfade + with d5 + hide cg + + play sound "sounds/gltch.ogg" + pause 0.4 + + gen "On your feet, [name_cho_genie]!" + cho "*Ah*...{w=0.4} Yes--{w=0.2} Yes, [name_genie_cho]..." + cho "Let me just...{w=0.4} wipe my face..." + + play sound "sounds/cloth_sound3.ogg" + pause 0.8 + + if game.daytime: + if _no_shirt: + show cho_handjob no_shirt cho_body_idle eyebrows_base mouth_smile eyes_open_forward penis_soft as cg zorder 16 + else: + show cho_handjob cho_body_idle eyebrows_base mouth_smile eyes_open_forward penis_soft as cg zorder 16 + else: + if _no_shirt: + show cho_handjob no_shirt cho_body_idle eyebrows_base mouth_smile eyes_open_forward penis_soft as cg zorder 16 at color_temperature(1.0) + else: + show cho_handjob cho_body_idle eyebrows_base mouth_smile eyes_open_forward penis_soft as cg zorder 16 at color_temperature(1.0) + + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + + hide screen blkfade + with d5 + + cho "That was...{w=0.4} Incredible..." + + show cho_handjob eyes_open_down mouth_neutral as cg with d3 + cho "I've always imagined...{w=0.4} But I never thought I'd be able to do that." + gen "You wanted to explore new things... So I figured, why not start with your throat." + + show cho_handjob mouth_base as cg with d3 + cho "I...{w=0.4} I just never thought--" + + show cho_handjob eyes_open_wide_forward as cg with d3 + cho "How did you know it would fit?" + gen "You never know until you try...{w=0.4} That's what I've always said." + + show cho_handjob eyebrows_raised eyes_open_forward as cg with d3 + cho "You've always said that, have you?" + gen "Yep, it's a bit of a motto of mine at this--" + gen "I mean...{w=0.4} I just knew! I've totally never and will never put my penis anywhere near somebody else's throat." + + show cho_handjob mouth_neutral as cg with d3 + cho "Really?" + + show cho_handjob eyebrows_sad eyes_open_narrow_down as cg with d3 + cho "That's disappointing..." + + show cho_handjob eyes_open_narrow_forward mouth_base as cg with d3 + cho "I don't think I could bear the thought that I'd be the only one to get my throat blessed by \"The great Albus Dumbledore\"." + gen "In that case, I was just being sarcastic." + + show cho_handjob eyebrows_angry mouth_smile as cg with d3 + cho "Good!" + + show cho_handjob eyes_open_right as cg with d3 + cho "If not her throat, I think Hermione's ass could do with a blessing..." + + show cho_handjob eyes_closed as cg with d3 + cho "There's a stick in there that I believe only you'd be able to dislodge." + gen "I'm sure you could do it if you tried hard enough." + + show cho_handjob eyebrows_worried as cg with d3 + cho "I wish..." + gen "..." + + show cho_handjob eyes_open_down mouth_angry as cg with d3 + cho "I mean, I wish there was anything I could do about it!" + gen "I'm sure the girl who just took a cock all the way down her throat would do it very easily." + gen "Or are you telling me, you're not that girl?" + + show cho_handjob eyebrows_raised eyes_open_wide_forward as cg with d3 + cho "What do you mean? Of course I am!" + gen "I don't know... That girl would've been up for a challenge like that, I'm sure of it." + gen "So, where did she go?" + + show cho_handjob eyebrows_base eyes_open_narrow_forward as cg with d3 + cho "I am that girl! But even I know when--" + gen "Really?" + gen "Then prove it by flying ten laps around the Gryffindor tower, completely naked!" + + show cho_handjob eyebrows_raised eyes_open_wide_forward as cg with d3 + cho "Naked?!" + cho "What's that supposed to achieve?" + gen "Did I hear a \"yes coach\"?!" + + show cho_handjob cho_body_idle eyes_open_down mouth_angry as cg with d3 + cho "Yes coach!" + + if not _no_shirt: + play sound "sounds/cloth_sound3.ogg" + show cho_handjob no_shirt as cg with d3 + pause 0.8 + play sound "sounds/cloth_sound3.ogg" + show cho_handjob no_skirt as cg with d3 + pause 0.4 + show cho_handjob eyes_open_forward as cg with d3 + + $ states.cho.status.deepthroat = True + $ states.cho.status.gokkun = True + + show screen blkfade + with d5 + hide cg + + return diff --git a/game/scripts/characters/cho/events/quidditch/quiz.rpy b/game/scripts/characters/cho/events/quidditch/quiz.rpy index 10c59711..ae49fc3b 100644 --- a/game/scripts/characters/cho/events/quidditch/quiz.rpy +++ b/game/scripts/characters/cho/events/quidditch/quiz.rpy @@ -4,28 +4,28 @@ label cho_quiz: cho "" (xpos="mid",ypos="base", trans=fade) - $ cho_quiz.correct_answers = 0 + $ states.cho.ev.quiz.correct_answers = 0 - if cho_quiz.checkpoint: + if states.cho.ev.quiz.checkpoint: gen "I'm ready to show you what I know about Quidditch..." ("base", xpos="far_left", ypos="head") cho "Great!" ("base", "base", "base", "L") cho "Let's begin..." ("open", "wide", "raised", "mid") jump cho_quiz_checkpoint # Intro - if not cho_quiz.E1_complete: - $ cho_quiz.E1_complete = True + if not states.cho.ev.quiz.e1_complete: + $ states.cho.ev.quiz.e1_complete = True gen "It's time to start our first lesson, Miss Chang." ("base", xpos="far_left", ypos="head") cho "Okay then, where do we begin?" ("smile", "base", "base", "mid") gen "Well, first we'll need to discuss what you'll do for me in this arrangement of ours..." ("base", xpos="far_left", ypos="head") cho "You need me to do something for your assistance, professor?" ("soft", "base", "base", "mid") - gen "Yes, my time is quite a commodity these days so I want to make sure that the ones I spend it on are actually prepared to do what it takes to achieve their goals." ("base", xpos="far_left", ypos="head") + gen "Yes, my time is quite a commodity these days, so I want to make sure that the ones I spend it on are actually prepared to do what it takes to achieve their goals." ("base", xpos="far_left", ypos="head") cho "Right... I suppose that's fair." ("open", "closed", "base", "mid") gen "Great! Then I'd like you to start selling favours to me for my service." ("base", xpos="far_left", ypos="head") cho "Favours? What kind of favours?" ("annoyed", "narrow", "raised", "mid") gen "Nothing that Miss Granger hasn't had any issues with." ("base", xpos="far_left", ypos="head") - if her_reputation < 16: + if states.her.public_level < 16: cho "(So nothing sexual, at the very least...)" ("grin", "base", "base", "R") else: cho "(I hope it's nothing sexual. I've heard some rumours about Granger...)" ("quiver", "base", "worried", "R") @@ -52,7 +52,7 @@ label cho_quiz: cho "I mean...{w} I never really saw you showing too much interest before..." ("soft", "narrow", "base", "mid") gen "About what?" ("base", xpos="far_left", ypos="head") cho "Quidditch!" ("angry", "closed", "angry", "mid", trans=hpunch) - gen "Ah, yes... Quidditch.{w} It's like the Wizards version of Basketball, right?" ("grin", xpos="far_left", ypos="head") + gen "Ah, yes... Quidditch.{w} It's like the Wizards' version of Basketball, right?" ("grin", xpos="far_left", ypos="head") cho "Basketball?!" ("clench", "base", "raised", "mid") cho "Is that the muggle sport nobody cares about?" ("soft", "narrow", "raised", "L") gen "Nobody cares?{w} What are you...{w} Haven't you seen \"Space Jam\"?" ("angry", xpos="far_left", ypos="head") @@ -68,36 +68,36 @@ label cho_quiz: cho "I can't really see how, but I'm sure you know what you're talking about..." ("open", "base", "base", "mid") gen "Alright, so..." ("base", xpos="far_left", ypos="head") - $ renpy.music.play("music/ominous_music.ogg") - $ renpy.music.stop("weather") + play music "music/ominous_music.ogg" if_changed + stop weather $ confidence_meter = 50 show screen meter(confidence_meter) # Question 1 menu: - "-There's five players on each team...-": - gen "There's two teams with each one having five players on the court at one time..." ("base", xpos="far_left", ypos="head") + "-There are five players on each team...-": + gen "Two teams with each one having five players on the court at one time..." ("base", xpos="far_left", ypos="head") $ renpy.music.set_volume(0.5) $ renpy.block_rollback() - cho "Whilst Quidditch does have two teams...{w=0.5} there's 7 players on each..." ("annoyed", "narrow", "raised", "mid") + cho "Whilst Quidditch does have two teams...{w=0.5} there are seven players on each..." ("annoyed", "narrow", "raised", "mid") with hpunch show screen swear_bubble(random.randint(0, 4)) with d1 $ confidence_meter -= 12 show screen meter(confidence_meter) $ renpy.music.set_volume(1.0) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" gen "Ah,{w=0.4} well..." ("angry", xpos="far_left", ypos="head") - "-[cho_quiz.hint]At the start of the game the ball gets thrown in the air...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]At the start of the game the ball gets thrown in the air...-": + $ states.cho.ev.quiz.correct_answers += 1 gen "You start the game by the referee throwing the ball into the air..." ("base", xpos="far_left", ypos="head") $ confidence_meter += 12 show screen meter(confidence_meter) $ renpy.music.set_volume(0.5) - $ renpy.sound.play( "sounds/hmm1.ogg") + play sound "sounds/hmm1.ogg" $ renpy.block_rollback() cho "I guess that's kind of similar..." ("smile", "base", "raised", "mid") $ renpy.music.set_volume(1.0) @@ -110,25 +110,25 @@ label cho_quiz: gen "The game is played on a rectangular court..." ("base", xpos="far_left", ypos="head") $ renpy.music.set_volume(0.5) $ renpy.block_rollback() - cho "Well, that's not similar at all then. The Quidditch pitch is oval shaped..." ("annoyed", "narrow", "base", "L") + cho "Well, that's not similar at all then. The Quidditch pitch is oval-shaped..." ("annoyed", "narrow", "base", "L") with hpunch show screen swear_bubble(random.randint(0, 4)) with d1 $ confidence_meter -= 12 show screen meter(confidence_meter) $ renpy.music.set_volume(1.0) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" gen "Of course!{w=0.4}... and in basketball..." ("angry", xpos="far_left", ypos="head") - "-[cho_quiz.hint]You may not go out of bounds with the ball...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]You may not go out of bounds with the ball...-": + $ states.cho.ev.quiz.correct_answers += 1 - gen "You're not allowed outside the bounds whilst holding the ball or you'll have to hand it over to the opponent team..." ("base", xpos="far_left", ypos="head") + gen "You're not allowed outside the bounds whilst holding the ball, or you'll have to hand it over to the opponent team..." ("base", xpos="far_left", ypos="head") $ confidence_meter += 12 show screen meter(confidence_meter) $ renpy.music.set_volume(0.5) $ renpy.block_rollback() - $ renpy.sound.play("sounds/hmm1.ogg") + play sound "sounds/hmm1.ogg" cho "I guess that's pretty much the same as in Quidditch..." ("base", "base", "raised", "L") $ renpy.music.set_volume(1.0) gen "Great! I mean, obviously! And..." ("base", xpos="far_left", ypos="head") @@ -136,8 +136,8 @@ label cho_quiz: # Question 3 menu: - "-[cho_quiz.hint]Each player takes a certain position...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]Each player takes a certain position...-": + $ states.cho.ev.quiz.correct_answers += 1 gen "Each player takes a certain position." ("base", xpos="far_left", ypos="head") gen "There are defensive positions..." ("base", xpos="far_left", ypos="head") @@ -146,7 +146,7 @@ label cho_quiz: show screen meter(confidence_meter) $ renpy.music.set_volume(0.5) $ renpy.block_rollback() - $ renpy.sound.play( "sounds/hmm2.ogg") + play sound "sounds/hmm2.ogg" cho "I guess Quidditch has something like that..." ("base", "narrow", "base", "R") $ renpy.music.set_volume(1.0) gen "Exactly, which is obviously why I brought it up, and lastly..." ("grin", xpos="far_left", ypos="head") @@ -163,14 +163,14 @@ label cho_quiz: $ confidence_meter -= 12 show screen meter(confidence_meter) $ renpy.music.set_volume(1.0) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" gen "Ah!{w=0.4} Well, I guess that is different... Lastly though..." ("angry", xpos="far_left", ypos="head") # Question 4 menu: "-You can't touch your opponent...-": - gen "You're not allowed to touch your opponent or it would be counted as a foul..." ("base", xpos="far_left", ypos="head") + gen "You're not allowed to touch your opponent, or it would be counted as a foul..." ("base", xpos="far_left", ypos="head") $ renpy.music.set_volume(0.5) $ renpy.block_rollback() cho "Well, that's definitely not the case in Quidditch..." ("open", "closed", "raised", "mid") @@ -180,20 +180,20 @@ label cho_quiz: with d1 $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" gen "Well...{w=0.4}" ("angry", xpos="far_left", ypos="head") gen "Fine..." ("base", xpos="far_left", ypos="head") - "-[cho_quiz.hint]You score by getting the ball through a hoop...-": - $ cho_quiz.correct_answers += 1 + "-[states.cho.ev.quiz.hint]You score by getting the ball through a hoop...-": + $ states.cho.ev.quiz.correct_answers += 1 gen "The way you score is by getting the ball through a hoop." ("base", xpos="far_left", ypos="head") $ confidence_meter += 12 show screen meter(confidence_meter) $ renpy.music.set_volume(0.5) $ renpy.block_rollback() - $ renpy.sound.play( "sounds/hmm3.ogg") - cho "*Hmm*... Well that's the same as in Quidditch I suppose." ("smile", "base", "base", "mid") + play sound "sounds/hmm3.ogg" + cho "*Hmm*... Well, that's the same as in Quidditch, I suppose." ("smile", "base", "base", "mid") gen "Naturally..." ("grin", xpos="far_left", ypos="head") @@ -203,17 +203,17 @@ label cho_quiz: $ renpy.music.set_volume(1.0) - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed call weather_sound $ renpy.block_rollback() # Failed - if cho_quiz.correct_answers <= 1: # 0-1 answers correct? + if states.cho.ev.quiz.correct_answers <= 1: # 0-1 answers correct? gen "Well, I'm sure that the winning conditions are pretty similar at least..." ("base", xpos="far_left", ypos="head") cho "And what are the winning conditions?" ("base", "base", "base", "mid") - gen "You win by having the most amount of points when the time is over." ("base", xpos="far_left", ypos="head") + gen "You win by having the most number of points when the time is over." ("base", xpos="far_left", ypos="head") cho "Well, in Quidditch the game doesn't end until the snitch is caught, so it could technically go on forever." ("open", "narrow", "raised", "mid") cho "So in short... nothing like basketball." ("annoyed", "closed", "base") gen "The game doesn't end until the snitch is caught?" ("base", xpos="far_left", ypos="head") @@ -227,7 +227,7 @@ label cho_quiz: gen "(Perhaps it might be worth trying to learn a bit more about Quidditch before I ruin this whole thing...)" ("base", xpos="far_left", ypos="head") gen "Oh, well... look at the time!" ("grin", xpos="far_left", ypos="head") cho "What?" ("open", "wide", "raised", "mid") - gen "You've made me go on about basketball for such a long time so we're already at the end of today's session." ("grin", xpos="far_left", ypos="head") + gen "You've made me go on about basketball for such a long time, so we're already at the end of today's session." ("grin", xpos="far_left", ypos="head") cho "But we didn't even get to any tutoring..." ("annoyed", "narrow", "base", "mid") gen "We'll get there, don't you worry... next time..." ("base", xpos="far_left", ypos="head") cho "...{w=0.4}Fine." ("annoyed", "base", "base", "mid") @@ -239,7 +239,7 @@ label cho_quiz: gen "(What am I supposed to do now... I clearly know fuck-all about Quidditch...)" ("angry", xpos="far_left", ypos="head") gen "(I'd rather not ask Snape... but unless there's someone else that I could ask without sounding like a complete dumb-ass it might have to do...)" ("base", xpos="far_left", ypos="head") - $ cho_quiz.lost = True + $ states.cho.ev.quiz.lost = True if quidditchguide_ITEM.used: gen "(Why didn't I just follow the book? Serves me right...)" ("base", xpos="far_left", ypos="head") @@ -250,9 +250,9 @@ label cho_quiz: # Success! Or did you? - elif cho_quiz.correct_answers == 4: + elif states.cho.ev.quiz.correct_answers == 4: - $ cho_quiz.correct_answers = 0 + $ states.cho.ev.quiz.correct_answers = 0 show screen meter(confidence_meter) gen "So, as you can see, Basketball and Quidditch are pretty much the same game..." ("base", xpos="far_left", ypos="head") @@ -260,7 +260,7 @@ label cho_quiz: cho "I'll have to look up this \"Space Jamming\"...{w=1.0} thing." ("open", "narrow", "base", "mid") gen "You should! It has Bugs Bunny in it!" ("grin", xpos="far_left", ypos="head") cho "And now you stopped making sense again..." ("annoyed", "base", "raised", "L") - cho "Also I'm still quite unsure if you actually know Quidditch or are just trying to confuse me with Basketball terms..." ("annoyed", "narrow", "raised", "mid") + cho "Also, I'm still quite unsure if you actually know Quidditch or are just trying to confuse me with Basketball terms..." ("annoyed", "narrow", "raised", "mid") show screen meter(75) pause .3 call bld @@ -287,7 +287,7 @@ label cho_quiz: gen "(Perhaps it might be worth trying to learn a bit more about Quidditch before I ruin this whole thing...)" ("base", xpos="far_left", ypos="head") gen "Oh, well... look at the time!" ("grin", xpos="far_left", ypos="head") cho "What?" ("upset", "closed", "worried") - gen "You've made me go about basketball for such a long time so we're already at the end of today's session." ("grin", xpos="far_left", ypos="head") + gen "You've made me go about basketball for such a long time, so we're already at the end of today's session." ("grin", xpos="far_left", ypos="head") cho "But we didn't even get to any tutoring..." ("annoyed", "narrow", "angry", "mid") gen "We'll get there, don't you worry... next time..." ("base", xpos="far_left", ypos="head") cho "...{w=0.4}Fine." ("annoyed", "narrow", "base", "mid") @@ -296,10 +296,10 @@ label cho_quiz: # Cho leaves. call cho_walk(action="leave") - gen "(The fuck am I supposed to do now... I feel like that must've been a fluke, I know nothing about Quidditch..)." ("angry", xpos="far_left", ypos="head") + gen "(The fuck am I supposed to do now... I feel like that must've been a fluke, I know nothing about Quidditch...)" ("angry", xpos="far_left", ypos="head") gen "(I'd rather not ask Snape... but unless there's someone else that I could ask without sounding like a complete dumb-ass it might have to do...)" ("base", xpos="far_left", ypos="head") - $ cho_quiz.lost = True + $ states.cho.ev.quiz.lost = True # Read the book. if quidditchguide_ITEM.used: @@ -313,7 +313,7 @@ label cho_quiz: elif item_store_intro_done: gen "(Actually, perhaps the twins might be a better idea...)" ("base", xpos="far_left", ypos="head") - $ cho_busy = True + $ states.cho.busy = True jump main_room_menu @@ -325,12 +325,12 @@ label cho_quiz_checkpoint: $ confidence_meter = 50 show screen meter(confidence_meter) - $ renpy.music.play("music/determined_pursuit_loop.ogg") - $ renpy.music.stop("weather") + play music "music/determined_pursuit_loop.ogg" if_changed + stop weather # Intro - if not cho_quiz.E2_complete: - $ cho_quiz.E2_complete = True + if not states.cho.ev.quiz.e2_complete: + $ states.cho.ev.quiz.e2_complete = True cho "You do seem to know some basic things, but do you know anything about the balls?" ("open", "narrow", "base", "mid") gen "I could probably teach you quite a lot..." ("base", xpos="far_left", ypos="head") gen "You should never neglect the balls." ("grin", xpos="far_left", ypos="head") @@ -349,7 +349,7 @@ label cho_quiz_checkpoint: cho "I don't know what a stitch is, sorry sir..." ("soft", "narrow", "worried", "R") $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" cho "Next question..." ("open", "base", "raised", "down") "-Lich-": @@ -362,22 +362,22 @@ label cho_quiz_checkpoint: gen "..." ("base", xpos="far_left", ypos="head") $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" gen "Of course not..." ("base", xpos="far_left", ypos="head") cho "Next question..." ("open", "base", "raised", "down") - "-[cho_quiz.hint]Snitch-": + "-[states.cho.ev.quiz.hint]Snitch-": gen "Snitch?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() - $ renpy.sound.play( "sounds/gasp.ogg") + play sound "sounds/gasp.ogg" $ confidence_meter += 12 show screen meter(confidence_meter) cho "Yes!" ("smile", "wide", "base", "mid") gen "Well then, surely that should show you how superi--" ("grin", xpos="far_left", ypos="head") cho "Next question..." ("open", "closed", "base", "down") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 - cho "Apart from the Snitch there are two other types of balls on the pitch, what are they called?" ("open", "base", "angry", "mid") + cho "Apart from the snitch, there are two other types of balls on the pitch, what are they called?" ("open", "base", "angry", "mid") # Question 2 menu: @@ -390,19 +390,19 @@ label cho_quiz_checkpoint: cho "Well, you're obviously wrong..." ("soft", "narrow", "raised", "R") $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" cho "Next question..." ("open", "base", "raised", "down") - "-[cho_quiz.hint]Bludger and Quaffle-": + "-[states.cho.ev.quiz.hint]Bludger and Quaffle-": gen "Bludger and Quaffle?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() $ confidence_meter += 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/gasp.ogg") + play sound "sounds/gasp.ogg" cho "Yes!" ("smile", "wide", "base", "mid") gen "Great! Then let's get started with the--" ("grin", xpos="far_left", ypos="head") cho "Next question..." ("open", "base", "raised", "down") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 "-Quabble and Bluffer-": gen "Quabble and bluffer?" ("base", xpos="far_left", ypos="head") @@ -414,37 +414,37 @@ label cho_quiz_checkpoint: cho "Professor..." ("annoyed", "narrow", "angry", "mid") $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" cho "Next question..." ("open", "base", "raised", "down") cho "Let's do some history..." ("base", "base", "base", "mid") gen "I am made out of history, this should be a breeze..." ("grin", xpos="far_left", ypos="head") cho "Okay then..." ("smile", "base", "raised", "mid") - cho "A game of Quidditch doesn't finish until the Snitch is caught, therefore it could go on forever..." ("open", "base", "base", "down") + cho "A game of Quidditch doesn't finish until the Snitch is caught; therefore it could go on forever..." ("open", "base", "base", "down") cho "In the longest ever match played, they had to constantly bring on substitutes to let the players get some sleep..." ("open", "base", "base", "mid") cho "For how long did the game go on for?" ("base", "narrow", "raised", "mid") # Question 3 menu: - "-[cho_quiz.hint]Three Months-": + "-[states.cho.ev.quiz.hint]Three Months-": gen "Three months?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() $ confidence_meter += 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/gasp.ogg") + play sound "sounds/gasp.ogg" cho "Yes!" ("smile", "wide", "base", "mid") cho "That's impressive, how did you know that one?" ("grin", "happyCl", "base", "mid") gen "I feel like there weren't that many realistic options available this time..." ("base", xpos="far_left", ypos="head") cho "Okay... I'm not sure what that means..." ("soft", "narrow", "worried", "mid") cho "Anyway, final question..." ("open", "base", "raised", "down") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 "-Seven Years-": gen "Seven years?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" cho "How long?! That's the same amount of time a student stays at Hogwarts!" ("clench", "wide", "base", "mid") gen "Oh right, I don't know what I was thinking..." ("base", xpos="far_left", ypos="head") gen "Seven just seems like the magical right answer most of the time..." ("base", xpos="far_left", ypos="head") @@ -462,11 +462,11 @@ label cho_quiz_checkpoint: gen "Well, balls have a big role in it..." ("grin", xpos="far_left", ypos="head") $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" cho "I'll have to take your word on that one..." ("soft", "narrow", "angry", "R") cho "Anyway... final question..." ("open", "base", "raised", "down") - cho "As you know, you may not go outside of the bounds with the ball during the game, or you'd have to hand it over to the opposition..." ("open", "base", "base", "down") + cho "As you know, you may not go outside the bounds with the ball during the game, or you'd have to hand it over to the opposition..." ("open", "base", "base", "down") cho "But what is the penalty if the defensive goes out of bounds?" ("smile", "narrow", "angry", "mid") # Question 4 @@ -482,35 +482,35 @@ label cho_quiz_checkpoint: gen "Did you consider that?" ("grin", xpos="far_left", ypos="head") $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" cho "I think you're going off track a bit..." ("annoyed", "narrow", "raised", "mid") gen "Or off the pitch..." ("grin", xpos="far_left", ypos="head") "-A free shot at the goal-": gen "Free goal shot?" ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() - cho "No that's not right..." ("soft", "narrow", "raised", "L") + cho "No, that's not right..." ("soft", "narrow", "raised", "L") gen "Then what is it?" ("base", xpos="far_left", ypos="head") cho "Well, I don't know..." ("angry", "narrow", "worried", "down") gen "How am I supposed to then?" ("angry", xpos="far_left", ypos="head") $ confidence_meter -= 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/kung-fu-punch.ogg") + play sound "sounds/kung-fu-punch.ogg" cho "I'm not sure what else to tell you..." ("open", "closed", "base", "mid") - "-[cho_quiz.hint]I don't know...-": + "-[states.cho.ev.quiz.hint]I don't know...-": gen "Uh... I don't know..." ("base", xpos="far_left", ypos="head") $ renpy.block_rollback() $ confidence_meter += 12 show screen meter(confidence_meter) - $ renpy.sound.play( "sounds/gasp.ogg") + play sound "sounds/gasp.ogg" cho "That's right!" ("smile", "wide", "base", "mid") gen "What?" ("angry", xpos="far_left", ypos="head") cho "Nobody knows what happens! There isn't any rule for it..." ("open", "wide", "raised", "L") gen "Why wouldn't there be a rule for it?" ("angry", xpos="far_left", ypos="head") cho "Why would the defensive leave the pitch... they'd just leave the goal open..." ("soft", "base", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") - $ cho_quiz.correct_answers += 1 + $ states.cho.ev.quiz.correct_answers += 1 pause 1.0 hide screen meter @@ -525,7 +525,7 @@ label cho_quiz_checkpoint: $ renpy.block_rollback() # Success - if cho_quiz.correct_answers >= 4: + if states.cho.ev.quiz.correct_answers >= 4: cho "Well Sir, I thought for a minute that you only cared about basketball, but it looks like I was wrong..." ("smile", "base", "base", "mid") gen "Of course, I am well versed in all sports. I just thought I'd teach you a thing or two." ("base", xpos="far_left", ypos="head") gen "So, will you let me train you then?" ("base", xpos="far_left", ypos="head") @@ -551,7 +551,7 @@ label cho_quiz_checkpoint: # Cho leaves. call cho_walk(action="leave") - $ cho_quiz.complete = True + $ states.cho.ev.quiz.complete = True call popup("You've unlocked the ability to train Cho in Quidditch.", "Congratulations!", "interface/icons/head/cho.webp") @@ -561,7 +561,7 @@ label cho_quiz_checkpoint: gen "Or were you asking the wrong questions?" ("base", xpos="far_left", ypos="head") cho "Sorry?" ("soft", "narrow", "raised", "mid") gen "Time is just relative... what is the difference between a month or a few minutes, really..." ("grin", xpos="far_left", ypos="head") - cho "Sir, you got bunch of the questions wrong..." ("annoyed", "narrow", "angry", "mid") + cho "Sir, you got a bunch of the questions wrong..." ("annoyed", "narrow", "angry", "mid") gen "The truth lies in the eyes of the beholder, Miss Chang..." ("base", xpos="far_left", ypos="head") cho "I don't...{nw=1.0}" ("annoyed", "base", "worried", "mid") gen "You'll see... I'll show you the real truth..." ("base", xpos="far_left", ypos="head") @@ -578,7 +578,7 @@ label cho_quiz_checkpoint: gen "(What am I supposed to do now... I clearly don't know enough about Quidditch...)" ("angry", xpos="far_left", ypos="head") gen "(I'd rather not ask Snape... but unless there's someone else that I could ask without sounding like a complete dumb-ass it might have to do...)" ("base", xpos="far_left", ypos="head") - $ cho_quiz.lost = True + $ states.cho.ev.quiz.lost = True # Read the book. if quidditchguide_ITEM.used: @@ -622,12 +622,12 @@ label ss_he_cho_E2: sna "Well, they're both on the Gryffindor team..." ("snape_03") sna "And as much as it pains me to say this..." ("snape_06") sna "They're very discrete business minded individuals..." ("snape_02") - gen "I've take it you've had a fair deal of business with them yourself?" ("base", xpos="far_left", ypos="head") + gen "I take it you've had a fair deal of business with them yourself?" ("base", xpos="far_left", ypos="head") sna "No comment..." ("snape_03") else: gen "The Twins? Have you been keeping twins from me now as well?" ("base", xpos="far_left", ypos="head") - sna "I mean, if two very irritating ginger boys is your type I'm not going to judge..." ("snape_03") + sna "I mean, if two very irritating ginger boys is your type, I'm not going to judge..." ("snape_03") gen "..." ("base", xpos="far_left", ypos="head") sna "Fred and George Weasley runs a secret shop in the school..." ("snape_01") gen "Doesn't sound very secret if you know about it..." ("base", xpos="far_left", ypos="head") @@ -643,14 +643,10 @@ label ss_he_cho_E2: sna "..." ("snape_08") #[angry] # Ending - show screen bld1 - call notes - ">You spend the rest of the evening in Snape's company once again talking about Cho's remarkable legs." + nar "You spend the rest of the evening in Snape's company once again talking about Cho's remarkable legs." - hide screen bld1 - with d3 - $ ss_he.cho_E2 = True + $ states.sna.ev.hangouts.cho_e2 = True jump end_snape_hangout_points diff --git a/game/scripts/characters/cho/events/quidditch/retrospection.rpy b/game/scripts/characters/cho/events/quidditch/retrospection.rpy new file mode 100644 index 00000000..b8d0dc92 --- /dev/null +++ b/game/scripts/characters/cho/events/quidditch/retrospection.rpy @@ -0,0 +1,150 @@ + +label cho_quid_E14_retrospection: + + # $ disable_game_menu() + + camera screens at sepia(0.66) + + call cc_gt_return.introspection + + #New scene, Flashback Shifts to CG with liquid luck potion bottle on bed + # TODO: Add CG + + show cho_quidditch_outro bedroom potion as cg with fade + play music "music/anticipations-by-tim-kulig-from-filmmusic-io.ogg" fadein 1 if_changed + cho "(What's this?)" + cho "(A bottle of...{w=0.3} liquid luck?!)" + cho "(Did coach leave this for me?)" + + play sound "sounds/pickup_item.ogg" + show cho_quidditch_outro bedroom -potion as cg with d3 + + #Bottle is removed from covers. + + cho "(That must be why he wasn't so concerned about my equipment...)" + cho "(Unless it's a placebo...)" + + play sound "sounds/bottle.ogg" + pause .5 + play sound "sounds/sniff.ogg" + cho "*Sniff*" + + cho "(No, that's liquid luck alright, no doubts about it...)" + cho "(After all, he would know that you can't trick a Ravenclaw...)" + cho "(But to think he'd give me this... Just so I could win the finals...)" + cho "(...)" + cho "(I'll just put it in my pocket for now...)" + + #New scene, Flashback shifts to daytime. Cho is at the quidditch pitch entrance. (early morning shader?) + stop music fadeout 1 + + call room("quidditch_pitch") + call cho_chibi("stand", "mid", "base") + play background "sounds/outskirts.ogg" fadein 2 + with fade + + cho "(*Hmm*... He's not here yet...)" + cho "(I guess I'll sit down and wait for him.)" + #cloth sound + + #Fade to New CG potion held up into sky + + play sound "sounds/rustling_metal.ogg" + show cho_quidditch_outro pitch as cg with fade + + cho "(Liquid luck...)" + cho "(I never thought I'd hold one of those in my hand...)" + cho "([name_genie_cho] must really want me to win if he's willing to risk his career by giving me this...)" + cho "(But why did we go through all those lewd favours, if he was just going to give me a luck potion anyway...)" + cho "(Did he agree to train me because of--)" + cho "(... No, he wouldn't, would he?)" + cho "(The training is over if I win...{w=0.4} If he just wanted me for my body, then...)" + cho "(He must want to help me succeed, like he said from the start...)" + cho "(Help me succeed... No matter--{w=0.2} *Yawn*... The cost.)" + + show cho_quidditch_outro pitch snape_talk as cg with fade + + #CG goes blurry for a moment and back again as Cho blinks, as the CG comes back, Snape's head appear inside the potion. + + sna "Today's lesson will be about Felix Felicis." + sly1 "Who's that?" + + show cho_quidditch_outro pitch snape_angry as cg with d3 + + sna "It's a potion, you idiot! A luck potion, more specifically." + + show cho_quidditch_outro pitch snape_talk as cg with d3 + + sna "This potion provides the drinker with a tremendous amount of luck, turning an ordinary day into an extraordinary one." + + show cho_quidditch_outro pitch snape_smile as cg with d3 + + sna "When under its effect, it will make the one who drinks it succeed in whatever activity they partake in, no matter what it is." + + show cho_quidditch_outro pitch snape_talk as cg with d3 + + sna "However, it is highly toxic in large quantities, therefore can only be consumed a handful of times during one's lifetime." + sly2 "Have you ever tried it yourself, sir?" + + show cho_quidditch_outro pitch snape_smile as cg with d3 + + sna "Certainly!" + + show cho_quidditch_outro pitch snape_talk as cg with d3 + + sna "I brewed and drank my very first one when I was about your age." + sna "Even though I knew about how it worked, I still couldn't believe that consuming it was enough to solve all my problems." + sly1 "What problems did it solve, sir?" + + show cho_quidditch_outro pitch snape_smile as cg with d3 + + sna "Why, losing my virginity of course!" + + # hide snape's head + show cho_quidditch_outro pitch -snape_smile as cg with d3 + + with vpunch + cho "Gross!!" + cho "(What am I thinking...)" + cho "(I can't achieve my goals like this!)" + + show screen blkfade + hide cg + with d5 + + #Fade to black + play sound "sounds/bottle.ogg" + pause .6 + play sound "sounds/spill.ogg" + nar "Cho spills the yellow-tinted liquid on the grass." + + pause .6 + #Pouring liquid sound + + + cho "(It's done... There's no going back now.)" + cho "(Hold on... Didn't Snape say luck potion is expensive...)" + cho "(Blimey! I could have sold it, and bought a new broom...)" + cho "(Too late for that now. I better find the best alternative broom I can!)" + + call cho_quid_E12.introspection + + stop music fadeout 1 + + call gryffindor_match.introspection1 + call gryffindor_match.introspection2 + + show screen blkfade + with d5 + + centered "{size=+7}{color=#cbcbcb}Few minutes into the game...{/color}{/size}" + + hide screen blkfade + call gryffindor_match.introspection3 + + call gryffindor_match_return.introspection + + show screen blkfade + with d5 + + $ renpy.end_replay() diff --git a/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy b/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy index aa99c58e..c26a0c8d 100644 --- a/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy +++ b/game/scripts/characters/cho/events/quidditch/slytherin_match.rpy @@ -5,7 +5,7 @@ label start_slytherin_match: # Chat with Cho the day before the match cho "" (xpos="mid", ypos="base", trans=fade) - gen "Alright, [cho_name]. Let's do this!" ("grin", xpos="far_left", ypos="head") + gen "Alright, [name_cho_genie]. Let's do this!" ("grin", xpos="far_left", ypos="head") gen "Tomorrow we shall wipe the floor with those Slytherins, and bathe in their salty tears!" ("angry", xpos="far_left", ypos="head") gen "(Snape's tears in particular, after I get a hold of all of his gold!)" ("grin", xpos="far_left", ypos="head") cho "I'll do my best, Sir." ("soft", "base", "angry", "mid") @@ -14,7 +14,7 @@ label start_slytherin_match: menu: "\"Then show me the money.\"": cho "What?" ("upset", "base", "raised", "mid") - gen "Say it with me, [cho_name]!{w} Show me the money!" ("grin", xpos="far_left", ypos="head") + gen "Say it with me, [name_cho_genie]!{w} Show me the money!" ("grin", xpos="far_left", ypos="head") cho "I don't have any on me, Sir." ("angry", "narrow", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") cho "Show me the money?" ("open", "narrow", "raised", "mid") @@ -25,7 +25,7 @@ label start_slytherin_match: cho "(He knows I'm a girl... why would he say that?)" ("annoyed", "narrow", "angry", "mid") with hpunch cho "Sir, Are you all right?" ("soft", "narrow", "worried", "mid") - gen "What you gonna do, [cho_name]?" ("grin", xpos="far_left", ypos="head") + gen "What you gonna do, [name_cho_genie]?" ("grin", xpos="far_left", ypos="head") cho "Get the nurse?" ("upset", "narrow", "angry", "mid") gen "You're gonna win that match tomorrow, that's what!" ("base", xpos="far_left", ypos="head") "\"Show me what you got!\"": @@ -51,25 +51,25 @@ label start_slytherin_match: gen "Let's hope she's right this time!" ("grin", xpos="far_left", ypos="head") cho "But, Sir! Wouldn't this put us at a huge disadvantage?" ("open", "narrow", "worried", "mid") gen "Nonsense..." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name], I'm gonna get soaked without my coat on!" ("soft", "base", "worried", "mid") + cho "[name_genie_cho], I'm gonna get soaked without my coat on!" ("soft", "base", "worried", "mid") gen "Counting on it!" ("grin", xpos="far_left", ypos="head") gen "I, for one, am quite looking forward to the possibility of you getting wet." ("grin", xpos="far_left", ypos="head") cho "Let's just hope for the best..." ("upset", "narrow", "worried", "down") gen "That we shall." ("grin", xpos="far_left", ypos="head") gen "Off you go then. And good luck." ("grin", xpos="far_left", ypos="head") cho "(...)" ("annoyed", "narrow", "angry", "R") - cho "See you tomorrow, [cho_genie_name]." ("soft", "narrow", "worried", "mid") + cho "See you tomorrow, [name_genie_cho]." ("soft", "narrow", "worried", "mid") call cho_walk(action="leave") - $ cho_busy = True + $ states.cho.busy = True $ cc_event_pause += 1 # Event starts on the next day $ cc_summon_pause += 1 # Can't be summoned until next event - $ cho_quid.lock_training = True - $ cho_quid.lock_practice = True + $ states.cho.ev.quidditch.lock_training = True + $ states.cho.ev.quidditch.lock_practice = True - $ slytherin_match = "start" + $ states.cho.ev.quidditch.slytherin_stage = "start" jump end_cho_event @@ -86,10 +86,10 @@ label slytherin_match: $ hermione.equip(her_outfit_default) $ tonks.equip(ton_outfit_default) - call play_music("stop") + stop music fadeout 1 # Start in the office - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" @@ -114,14 +114,14 @@ label slytherin_match: call ton_walk("desk", "base", action="enter") - call play_music("tonks") - ton "Hi, [ton_genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=d3) - gen "Tonks... a pleasure as always." ("base", xpos="far_left", ypos="head") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton "Hi, [name_genie_tonks]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=d3) + gen "Tonks... A pleasure as always." ("base", xpos="far_left", ypos="head") ton "Pleasure's all mine..." ("soft", "base", "base", "mid") ton "I was afraid you might've forgotten about today's--" ("open", "base", "raised", "mid") gen "Quidditch match?" ("grin", xpos="far_left", ypos="head") ton "So you didn't forget!" ("grin", "wide", "shocked", "mid") - gen "How could I? Last match was a great show!" ("grin", xpos="far_left", ypos="head") + gen "How could I? The previous match was a great show!" ("grin", xpos="far_left", ypos="head") ton "It sure was..." ("horny", "base", "raised", "R") ton "So, is Miss Granger going to show up as well?" ("soft", "wide", "shocked", "mid") gen "Who knows with her, honestly..." ("base", xpos="far_left", ypos="head") @@ -129,19 +129,19 @@ label slytherin_match: ton "I'd love to be able to watch her--{w} The game from the commentator booth." ("clench", "narrow", "raised", "R") ton "So... *Ahem*... May I be allowed to accompany you on the way to the pitch?" ("base", "base", "base", "mid") #sad gen "Of course! I'd be delighted to have you!" ("grin", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name].{heart}" ("base", "happyCl", "base", "mid", hair="happy") - ton "Are we to expect another great performance this time around?" ("horny", "narrow", "base", "downR", hair="neutral") + ton @ hair happy "Thank you, [name_genie_tonks].{heart}" ("base", "happyCl", "base", "mid") + ton @ hair neutral "Are we to expect another great performance this time around?" ("horny", "narrow", "base", "downR") gen "Oh, you'll see..." ("grin", xpos="far_left", ypos="head") ton "Great, shall we?" ("base", "wink", "shocked", "mid") gen "We certainly shall!" ("grin", xpos="far_left", ypos="head") - call play_music("stop") + stop music fadeout 1 call hide_characters hide screen bld1 with d3 # Teleport to door - call play_sound("kick") + play sound "sounds/kick.ogg" call gen_chibi("hide") with d3 @@ -157,14 +157,14 @@ label slytherin_match: with d3 pause .3 - ton "*huh*?... (When did he?)" ("upset", "shocked", "raised", "L", ypos="head", flip=True) + ton "*Huh*?... (When did he?)" ("upset", "shocked", "raised", "L", ypos="base", flip=True) ton "(Impressive. I wonder if his stamina can keep up with that speed...)" ("mad", "narrow", "raised", "R") - gen "Ladies first." ("grin", xpos="far_left", ypos="head") + gen "Ladies first." ("grin", xpos="base", ypos="base", flip=True) ton "What a gentleman." ("base", "happyCl", "base", "mid") call ton_walk("door", "base", speed=1.25) - call play_sound("door") + play sound "sounds/door.ogg" call ton_chibi("hide") with d3 pause .2 @@ -173,23 +173,23 @@ label slytherin_match: with d3 pause .5 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("hide") with d3 pause .8 # Black screen stop music fadeout 2 - stop bg_sounds fadeout 2 - call play_music("stop") + stop background fadeout 2 + stop music fadeout 1 show screen blkfade with d5 pause 2 - call play_sound("grass") - nar ">You and Tonks make your way across the castle grounds." - nar ">You find Snape waiting for you at the entrance of the Quidditch pitch towers." + play sound "sounds/steps_grass.ogg" + nar "You and Tonks make your way across the castle grounds." + nar "You find Snape waiting for you at the entrance of the Quidditch pitch towers." # Pitch entrance #centered "{size=+7}{color=#cbcbcb}At the Quidditch pitch...{/color}{/size}" @@ -199,7 +199,7 @@ label slytherin_match: # Sounds slightly windy/rain (Might need a new sound we'll see... It shouldn't overpower things) call room("quidditch_pitch") - play bg_sounds "sounds/outskirts.ogg" fadein 2 + play background "sounds/outskirts.ogg" fadein 2 call sna_chibi("stand", "right", "base") call ton_chibi("stand", "mid", "base", flip=True) call gen_chibi("stand", "left", "base", flip=True) @@ -213,12 +213,12 @@ label slytherin_match: sna "Of course there is. We're outside the headmaster's office, after all." ("snape_16") sna "We have to keep up the act in front of the students..." ("snape_01") ton "*Hmm*... Good point..." ("base", "base", "base", "R") - gen "I'm standing right here." ("base", xpos="far_left", ypos="head") + gen "I'm standing right here." ("base", xpos="far_left", ypos="head", flip=False) sna "I would've gone and fetched him myself but..." ("snape_03") sna "I had some... business to attend to." ("snape_35") ton "Business, *huh*?" ("horny", "wide", "raised", "L") - sna "You will be accompanying us I presume?" ("snape_04") + sna "You will be accompanying us, I presume?" ("snape_04") ton "If that's okay with you?" ("base", "happyCl", "base", "mid") with None @@ -232,11 +232,11 @@ label slytherin_match: ton "Great!" ("grin", "base", "raised", "L") ton "So, are we going?" ("base", "base", "shocked", "L") - sna "Ah *ahem*, yes... I suppose." ("snape_12") #throat clear in the middle of the sentence for extra awkardness - gen "I may be immortal but I'm afraid I'll die from this awkwardness..." ("base", xpos="far_left", ypos="head") + sna "*Ahem*, yes... I suppose." ("snape_12") #throat clear in the middle of the sentence for extra awkwardness + gen "I may be immortal, but I'm afraid I'll die from this awkwardness..." ("base", xpos="far_left", ypos="head") gen "I'd take a hundred years in the lamp over this." ("base", xpos="far_left", ypos="head") - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" ton "*Giggles*" ("base", "happyCl", "base", "mid") sna "..." ("snape_14") sna "After me then..." ("snape_12") @@ -261,7 +261,7 @@ label slytherin_match: call gen_chibi("stand") call gen_walk(path=[("stairs_base", "base"),("stairs_up", "stairs_up")], speed=1.5) - stop bg_sounds fadeout 2 + stop background fadeout 2 call blkfade # Sound check @@ -318,7 +318,7 @@ label slytherin_match: call hide_blkfade pause 1 - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" pause .8 call sna_chibi("stand", 120, 295, flip=True) @@ -333,14 +333,14 @@ label slytherin_match: ton "Mind your head!" ("open", "shocked", "shocked", "down", ypos="head", flip=False) - call play_sound("kick") + play sound "sounds/kick.ogg" with hpunch pause .6 gen "Bloody bleachers!" ("angry", xpos="far_left", ypos="head") sna "..." ("snape_45", ypos="head") pause .2 - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" pause .8 call gen_chibi("stand", 20, 365, flip=True) with d3 @@ -349,7 +349,7 @@ label slytherin_match: with d3 pause .2 - play bg_sounds "sounds/crowd_very_low.ogg" fadein 10 + play background "sounds/crowd_very_low.ogg" fadein 10 call quidditch_stands(crowd=crowd_few) with d3 pause 1 @@ -359,7 +359,7 @@ label slytherin_match: gen "Nice weather too." ("base", xpos="far_left", ypos="head") ton "Indeed!" ("base", "wide", "base", "mid") - $ renpy.sound.play("sounds/thunder.ogg") + play sound "sounds/thunder.ogg" call quidditch_stands(weather="overcast", tree_fire=True, rain=True, puddles=True) with flashbulb play weather "sounds/storm.ogg" fadeout 1.0 fadein 3.0 @@ -368,11 +368,11 @@ label slytherin_match: pause 1.0 sna "Indeed!" ("snape_02", ypos="head") - ton "You jinxed it.." ("upset", "closed", "worried", "mid", ypos="head", flip=True) + ton "You jinxed it..." ("upset", "closed", "worried", "mid", ypos="head", flip=True) gen "Hey!{w=0.4} That wasn't--" ("angry", xpos="far_left", ypos="head") # Hermione walks up to the podium - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" call her_chibi("stand", 40, 295, flip=True) with d3 pause .3 @@ -386,7 +386,7 @@ label slytherin_match: her "Oh, hello, Professor Tonks!" ("soft", "base", "base", "L", ypos="head", flip=False) pause 1.0 - $ renpy.sound.play("sounds/MaleClearThroat.ogg") + play sound "sounds/MaleClearThroat.ogg" sna "*Ahem*" ("snape_09", ypos="head") pause 2.0 call chibi_emote("thought", "snape") @@ -401,14 +401,14 @@ label slytherin_match: ton "{size=-4}Do I hear some jealousy back there?{/size}" ("grin", "narrow", "raised", "R", ypos="head", flip=True) sna "{size=-4}Of course not... just a cough,{w=0.3} {cps=15}Nymphadora{/cps}.{/size}" ("snape_03", ypos="head") - ton "{size=-2}That's Tonks to you...{w=0.3} {i}dungeon dweller.{/i}{/size}" ("open", "wide", "angry", "R", hair="angry") + ton @ hair angry "{size=-2}That's Tonks to you...{w=0.3} {i}dungeon dweller.{/i}{/size}" ("open", "wide", "angry", "R") sna "Dungeon dw--" ("snape_32", ypos="head") sna "I'll give you a dungeon dweller in a minute you--" ("snape_08", ypos="head") her "Professor Tonks, your hair!" ("soft", "base", "base", "L", ypos="head", flip=False) - ton "Whoopsie...{w=0.5} Miss Granger, so glad to see you!" ("base", "happyCl", "base", "L", hair="neutral", ypos="head", flip=True) + ton @ hair neutral "Whoopsie...{w=0.5} Miss Granger, so glad to see you!" ("base", "happyCl", "base", "L", ypos="head", flip=True) sna "{size=-2}*Hmph*{/size}" ("snape_31", ypos="head") - her "Of course, as you know I take my responsibilities seriously!" ("open", "base", "angry", "L") + her "Of course... As you know, I take my responsibilities seriously!" ("open", "base", "angry", "L") call quidditch_stands(crowd=crowd_mid) with d3 @@ -419,10 +419,10 @@ label slytherin_match: her "I appreciate the thought, Professor... but I'll be fine." ("open", "closed", "base", "mid") her "I'd be made fun of even more if you had to take over..." ("open", "narrow", "angry", "L") ton "Whatever you want, sweetie." ("horny", "narrow", "base", "L") #smile - her "..." ("clench", "happyCl", "worried", "mid", cheeks="blush") #smiles and blushes + her @ cheeks blush "..." ("clench", "happyCl", "worried", "mid") #smiles and blushes pause .2 - play bg_sounds "sounds/crowd_low.ogg" fadeout 5.0 fadein 3.0 + play background "sounds/crowd_low.ogg" fadeout 5.0 fadein 3.0 call quidditch_stands(crowd=crowd_full) with d3 pause .5 @@ -437,12 +437,12 @@ label slytherin_match: her "" ("open", "base", "worried", "mid", flip=True, xpos=290, ypos="base", trans=d5) pause .8 - $ renpy.sound.play("sounds/microphone_feedback.ogg") - play bg_sounds "sounds/crowd_very_low.ogg" fadeout 1.0 fadein 5.0 + play sound "sounds/microphone_feedback.ogg" + play background "sounds/crowd_very_low.ogg" fadeout 1.0 fadein 5.0 her "*Ahem*" ("open", "happyCl", "base", "mid") her "Welcome back to the second match of the season!" ("base", "happyCl", "base", "mid") - play bg_sounds "sounds/crowd_low.ogg" fadeout 1.0 fadein 3.0 + play background "sounds/crowd_low.ogg" fadeout 1.0 fadein 3.0 call quidditch_stands(crowd_react=[None, "emo8", None]) sly1 "{size=+5}Not the Gryffindor slut again!{/size}" @@ -466,9 +466,9 @@ label slytherin_match: ton "Just ignore them sweetie, you're doing great." ("base", "happyCl", "base", "mid") - if ton_friendship > sna_friendship: + if states.ton.level > states.sna.level: gen "What she said." ("base", xpos="far_left", ypos="head") - elif ton_friendship == sna_friendship: + elif states.ton.level == states.sna.level: gen "What they said." ("base", xpos="far_left", ypos="head") else: gen "What he said." ("base", xpos="far_left", ypos="head") @@ -485,11 +485,11 @@ label slytherin_match: her "The team known for their technical prowess and... lately... unconventional tactics..." ("disgust", "base", "worried", "down") her "Team Ravenclaw!" ("open", "base", "base", "mid") - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" call quidditch_stands(crowd_react=["emo8", None, "emo8"]) with d3 - ">A loud cheer roars from the grandstands." + nar "A loud cheer roars from the grandstands." call quidditch_stands(crowd_react=[None, None, None]) with d3 @@ -506,7 +506,7 @@ label slytherin_match: sly2 "{size=+8}Yeah!{w=0.5} Get on with it!{/size}" her "..." ("annoyed", "closed", "angry", "mid") - play bg_sounds "sounds/crowd.ogg" fadeout 1.0 fadein 3.0 + play background "sounds/crowd.ogg" fadeout 1.0 fadein 3.0 call quidditch_stands(crowd_react=["emo8", None, "emo7"]) with d3 with hpunch @@ -515,17 +515,17 @@ label slytherin_match: call quidditch_stands(crowd_react=[None, None, None]) with d3 - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" her "The team known for their thick skin... or should I say, thick skulls..." ("angry", "base", "angry", "mid", emote="angry") her "Team Slytherin!" ("annoyed", "narrow", "angry", "mid") - $ renpy.sound.play("sounds/crowd_stomping.ogg") + play sound "sounds/crowd_stomping.ogg" hide hermione_main call quidditch_stands(crowd_react=["emo8", "emo7", "emo7"]) with d3 #her "" ("base", "base", "base", "mid") - ">The green grandstand shakes violently with enthusiasm." + nar "The green grandstand shakes violently with enthusiasm." call quidditch_stands(crowd_react=[None, None, None]) with d3 @@ -540,22 +540,22 @@ label slytherin_match: pause .5 - play bg_sounds "sounds/crowd_low.ogg" fadeout 1.0 fadein 3.0 - $ renpy.sound.play("sounds/referee.ogg") - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 - call nar(">The grey haired lady glances up to the podium, and gives Hermione a wink as she throws the quaffle into the air.") + play background "sounds/crowd_low.ogg" fadeout 1.0 fadein 3.0 + play sound "sounds/referee.ogg" + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + nar "Madam Hooch glances up at the podium, and gives Hermione a wink as she throws the quaffle into the air." her "And we're off!" ("base", "happyCl", "base", "mid", trans=d3) - call nar(">Looking up, you can see Cho giving Malfoy a quick smirk as she darts off towards the Slytherin half of the pitch.") + nar "Looking up, you can see Cho giving Malfoy a quick smirk as she darts off towards the Slytherin half of the pitch." her "Ravenclaw chaser and team captain Roger Davies immediately goes for the quaffle..." ("open", "base", "angry", "L") her "The Slytherin captain Graham Montague not far behind." ("open", "base", "angry", "up") her "Oh! Davies catches it and passes to Bradley..." ("smile", "base", "angry", "up") ton "She's pretty cute when she's excited, isn't she." ("soft", "narrow", "base", "L") gen "..." ("base", xpos="far_left", ypos="head") - ton "I feel like we've got the best seats in the house, right behind the podium..." ("horny", "narrow", "raised", "L", hair="horny") + ton @ hair horny "I feel like we've got the best seats in the house, right behind the podium..." ("horny", "narrow", "raised", "L") her "" ("open", "base", "angry", "up") ton "Who cares about the match if you've got a view like that..." ("horny", "base", "angry", "L") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" her "" ("open", "base", "angry", "up") sna "Well, some of us bet quite a fortune on the outcome." ("snape_09") @@ -566,18 +566,14 @@ label slytherin_match: sna "You aren't going to chicken out now, are you?" ("snape_03") gen "No... of course not..." ("base", xpos="far_left", ypos="head") - show screen blktone - with d5 if game.gold >= 2000: gen "(Why did I bet so much gold on this?!)" ("angry", xpos="far_left", ypos="head") else: gen "(How in the hell would I get two thousand gold?!)" ("angry", xpos="far_left", ypos="head") gen "(It's not like I can conjure gold out of the thin air, can I...)" ("base", xpos="far_left", ypos="head") - hide screen blktone - with d5 her "The Slytherin beaters, Crabbe and Goyle, are now focusing their efforts on beating the bludgers as hard as they can towards the enemy chasers!" ("open", "base", "angry", "R") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" her "Crabbe just whacked the bludger straight towards Davis' broom--" ("open", "base", "angry", "up") her "Scratch that, he hit the quaffle out of his hand!" ("clench", "base", "worried", "up") her "That's crazy lucky!" ("open", "base", "angry", "up") @@ -586,7 +582,7 @@ label slytherin_match: gen "..." ("angry", xpos="far_left", ypos="head") her "But can he get through the keeper?" ("soft", "base", "base", "up") - $ renpy.sound.play(["sounds/card_punch4.ogg", "sounds/crowd_ouch.ogg"]) + play sound ["sounds/card_punch4.ogg", "sounds/crowd_ouch.ogg"] with hpunch pause 0.5 @@ -608,46 +604,31 @@ label slytherin_match: sna "..." ("snape_45") gen "He was on the other side of the pitch!" ("angry", xpos="far_left", ypos="head") sna "That's my boys!" ("snape_37") - sna "Thick as oatmeal, but built like a brick shithouse." ("snape_28") - $ renpy.sound.play("sounds/ball_hit.ogg") - ton "They're so strong... I've never seen a bludger hit its target from that far before..." ("horny", "base", "base", "up", hair="horny") #horny - ton "Is it me or is it getting a bit hot in here?" ("normal", "closed", "raised", "downR", cheeks="blush") + sna "Thick as porridge, but built like a brick shithouse." ("snape_28") + play sound "sounds/ball_hit.ogg" + ton @ hair horny "They're so strong... I've never seen a bludger hit its target from that far before..." ("horny", "base", "base", "up") #horny + ton @ cheeks blush "Is it me or is it getting a bit hot in here?" ("normal", "closed", "raised", "downR") sna "Something to cool you down perhaps?" ("snape_02") ton "Good idea, did you bring any of that firewhisky, Professor Dumbledore?" ("soft", "wink", "raised", "mid") gen "Err..." ("base", xpos="far_left", ypos="head") - sna "Firewhisky? For such a special day as today I've brought some of my finest wine." ("snape_20") - - show screen blktone - with d5 - gen "(Yeah right, it's probably one of mine...)" ("base", xpos="far_left", ypos="head") - hide screen blktone - with d5 - + sna "Firewhisky? For such a special day as today, I've brought some of my finest wine." ("snape_20") + gen "(Yeah, right... It's probably one of mine...)" ("base", xpos="far_left", ypos="head") sna "Now, if I may, Miss Tonks?" ("snape_13") ton "*Hmm*... I tend not to drink wine too often..." ("annoyed", "narrow", "raised", "down") ton "Oh what the heck, go on then. I'll have a glass." ("base", "base", "annoyed", "down") - - hide screen bld1 - show screen blkfade - with d5 - - call nar(">You sit down with Snape and Tonks to enjoy the match -- drinking some of the finest wine you've tasted.", "start") - call nar(">Tonks' cheeks turning redder as the game continues.", "end") - + nar "You sit down with Snape and Tonks to enjoy the match -- drinking some of the finest wine you've tasted." + nar "Tonks' cheeks turning redder as the game continues." her "" ("annoyed", "base", "base", "up") - hide screen blkfade - with d5 - gen "Doesn't look great..." ("base", xpos="far_left", ypos="head") - ton "What do you mean?" ("open", "base", "base", "L", hair="horny") - ton "Only thing that would make this better would be those firm cheeks on my lap!" ("horny", "narrow", "annoyed", "L", hair="horny") + ton @ hair horny "What do you mean?" ("open", "base", "base", "L") + ton @ hair horny "Only thing that would make this better would be those firm cheeks on my lap!" ("horny", "narrow", "annoyed", "L") sna "He's talking about the game..." ("snape_09") ton "Game? What game..." ("open", "wide", "raised", "L") ton "Oh, Quidditch! Of course!" ("clench", "wide", "base", "mid") her "And we're now sixty-nil to Slytherin as their onslaught continues, the seekers not yet having spotted the snitch." ("open", "base", "angry", "L") her "If it wasn't for those foul tactics... from the brutes on the Slytherin team..." ("angry", "base", "angry", "L") - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" her "Ravenclaw would have no issues beating the ever living sh--{w=2.0}{nw}" ("angry", "narrow", "angry", "L") call hide_characters @@ -657,39 +638,39 @@ label slytherin_match: # Hermione gets hit in the face by a bludger show screen bludger_flying((530, -100), (-50, 1000)) pause .18 - $ renpy.play(["sounds/card_punch4.ogg", "sounds/microphone_feedback.ogg"]) + play sound ["sounds/card_punch4.ogg", "sounds/microphone_feedback.ogg"] show screen gfx_effect(359, 226, img="glow_effect", zoom=0.7, duration=0.3) call her_chibi("hit_head", flip=True) with vpunch hide screen gfx_effect show screen gfx_effect(295, 475, img="smoke", zoom=0.5) - $ renpy.sound.play("sounds/kick.ogg") + play sound "sounds/kick.ogg" call quidditch_stands(hole=True) with None - stop bg_sounds fadeout 2 - stop music fadeout 2 + stop background fadeout 1.5 + stop music fadeout 1.5 pause 0.5 - $ renpy.sound.play("sounds/crowd_gasp.ogg") + play sound "sounds/crowd_gasp.ogg" call ton_chibi("stand_shocked", flip=True)#, 200, 50+180, flip=True) call gen_chibi("stand_shocked")#, 130, 10+250) call sna_chibi("stand_shocked", flip=True)#, 210, -40+250, flip=True) pause 1.0 - $ renpy.sound.play("sounds/dizzy.ogg", loop=True) + play background "sounds/dizzy.ogg" pause 2.0 sna "*Pfffffffffff*--" ("snape_14") #TODO Custom image? Snape has wine gushing out of his nose sna "{size=+5}Ha-ha-HA-HA!{/size}" ("snape_42") - $ renpy.sound.stop(fadeout=1.0) + stop background fadeout 1 - call play_music("silly") + play music "music/silly_fun_loop.ogg" fadein 1 if_changed stop weather fadeout 0.5 show screen blkfade with d1 centered "{size=+7}{color=#cbcbcb}-\{Intermission\}-{/color}{/size}\n{size=-2}{color=#686868}Please stand by{/color}{/size}{w=5.0}{nw}" - call play_music("stop") + stop music fadeout 1 pause .5 call hide_characters @@ -705,9 +686,9 @@ label slytherin_match: with d3 $ game.weather = "overcast" - play bg_sounds "sounds/wind_long_loop.ogg" fadein 5 fadeout 2 + play background "sounds/wind_long_loop.ogg" fadein 5 fadeout 2 call weather_sound - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed call quidditch_stands(rain=False, crowd_bj=False, tree_fire=False) # Disable Blowjob Silhouette hide screen blkfade with d5 @@ -715,17 +696,17 @@ label slytherin_match: sna "I'm surprised she didn't swallow that one... with how wide she was blabbing her mouth." ("snape_42", ypos="head") sna "To think that liquid luck--" ("snape_45") - ton "{size=+5}What?{/size}" ("scream", "shocked", "base", "stare", hair="neutral", cheeks="blush", ypos="head", flip=True, trans=vpunch) + ton @ cheeks blush hair neutral "{size=+5}What?{/size}" ("scream", "shocked", "base", "stare", ypos="head", flip=True, trans=vpunch) gen "What the fuck is liquid luck?" ("angry", xpos="far_left", ypos="head") - ton "You gave those brutes a luck potion?!" ("mad", "base", "angry", "L", hair="angry", cheeks="blush") + ton @ cheeks blush hair angry "You gave those brutes a luck potion?!" ("mad", "base", "angry", "L") sna "Well..." ("snape_14") - ton "I can't believe you, Snape...{w=0.5} look what they've done to her face!" ("mad", "base", "worried", "down", cheeks="blush") - ton "Her beautiful face..." ("upset", "base", "worried", "down", hair="sad", cheeks="blush") + ton @ cheeks blush "I can't believe you, Snape...{w=0.5} look what they've done to her face!" ("mad", "base", "worried", "down") + ton @ cheeks blush hair sad "Her beautiful face..." ("upset", "base", "worried", "down") sna "Looks like an improvement to me." ("snape_46") menu: "\"Way to go Snape...\"": - gen "You knew you couldn't win so you decided to use one of your dirty tricks..." ("base", xpos="far_left", ypos="head") + gen "You knew you couldn't win, so you decided to use one of your dirty tricks..." ("base", xpos="far_left", ypos="head") gen "And now I need to find me a new commentator, thanks to you!" ("angry", xpos="far_left", ypos="head") sna "A bit hypocritical of you don't you think--" ("snape_32") "\"You owe me one, Snape...\"": @@ -734,7 +715,7 @@ label slytherin_match: gen "So yes, I think you owe me." ("base", xpos="far_left", ypos="head") sna "Surely you can't be--" ("snape_14") "\"10 points to Gryffindor!\"": - ton "Are you mad?" ("scream", "base", "angry", "R", hair="angry") + ton @ hair angry "Are you mad?" ("scream", "base", "angry", "R") gen "What? I'm just joking, I'm sure she'll be fine..." ("base", xpos="far_left", ypos="head") sna "{size=-4}10 points to Slytherin.{/size}" ("snape_38") gen "Did you say something--" ("base", xpos="far_left", ypos="head") @@ -742,9 +723,9 @@ label slytherin_match: $ slytherin += 10 - ton "Quiet!" ("mad", "base", "angry", "L", hair="angry") + ton @ hair angry "Quiet!" ("mad", "base", "angry", "L") gen "..." ("base", xpos="far_left", ypos="head") - ton "I'm taking her to the hospital wing..." ("open", "base", "angry", "down", hair="neutral") + ton @ hair neutral "I'm taking her to the hospital wing..." ("open", "base", "angry", "down") gen "What about the game...?" ("base", xpos="far_left", ypos="head") ton "Leave it to me..." ("open", "base", "angry", "mid") gen "What?" ("angry", xpos="far_left", ypos="head") @@ -758,9 +739,9 @@ label slytherin_match: pause .5 - $ renpy.sound.play("sounds/referee.ogg") - call nar(">Tonks signals Hooch, who then sounds her whistle to signify a short break.", action="start") - call nar(">A murmur erupts across the crowd, some not realizing what has gone down.", action="end") + play sound "sounds/referee.ogg" + nar "Tonks signals Hooch, who then sounds her whistle to signify a short break." + nar "A murmur erupts across the crowd, some not realizing what has gone down." call ton_chibi(flip=False) with d3 @@ -768,7 +749,7 @@ label slytherin_match: call ton_walk(330, 360) pause .5 - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" show screen blkfade with d5 pause .8 @@ -789,7 +770,7 @@ label slytherin_match: gen "She sure sobered up quickly..." ("base", xpos="far_left", ypos="head") with hpunch - $ renpy.sound.play("sounds/falling_stairs.ogg") + play sound "sounds/falling_stairs.ogg" pause 1 ton "Bloody stairs!" @@ -810,14 +791,14 @@ label slytherin_match: with d5 pause .2 - ">A couple of minutes go by, and there's no sign of Tonks..." + nar "A couple of minutes goes by, and there's no sign of Tonks..." - $ renpy.sound.play("sounds/murmur.ogg") + play sound "sounds/murmur.ogg" # Crowd reactions aren't visible during blackfade # call quidditch_stands(crowd_react=[None, "emoq", None]) # with d3 - ">The crowd is now whispering even more, some beginning to notice the empty podium." + nar "The crowd is now whispering even more, some beginning to notice the empty podium." # call quidditch_stands(crowd_react=[None, None, None]) # with d3 @@ -833,8 +814,6 @@ label slytherin_match: gen "What do you want me to do? You already made me do a speech last time..." ("base", xpos="far_left", ypos="head") gen "I'm out of material." ("angry", xpos="far_left", ypos="head") gen "Also, doesn't this feel a bit like rehashing content?" ("base", xpos="far_left", ypos="head") - - #TODO Snape starts walking slowly to the podium sna "Fine, in that case. I'll just go up and give a motivational--" ("snape_01") # Genie walks past Snape, who stops @@ -848,17 +827,16 @@ label slytherin_match: pause .8 stop music fadeout 3.0 - $ genie_zorder = 15 + $ states.gen.image.zorder = 15 show screen blktone with d5 pause 1.0 gen "" (face="base", base="base", xpos=-10, ypos=140) with d3 - pause 2.0 - gen "I've got this..." # Genie gets into character for his speech + gen "I've got this..." ("base", xpos="far_left", ypos="base") # Genie gets into character for his speech - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" hide screen blktone with d3 pause .2 @@ -870,12 +848,12 @@ label slytherin_match: "(Let's give them what they came for...)" "-Independence!-": # Independence day - play bg_sounds "music/fanfare.ogg" fadeout 3 fadein 1.0 + play background "music/fanfare.ogg" fadeout 3 fadein 1.0 hide screen genie_main with d3 pause .8 - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" hide screen blktone call quidditch_stands(spotlight=True) with d1 @@ -886,7 +864,7 @@ label slytherin_match: call quidditch_stands(crowd_react=[None, "emoq", None]) with d3 - gen "In less than an hour, aircraft from here will join others from around the world. And you will be launching the largest aerial battle in this history of mankind." (face="open") + gen "In less than an hour, aircraft from here will join others from around the world. And you will be launching the largest aerial battle in the history of mankind." (face="open") gen "" (face="base") sna "Not again..." ("snape_17") gen "Mankind...{w=0.3} that word should have new meaning for all of us today." (face="open") @@ -903,15 +881,15 @@ label slytherin_match: gen "We will not vanish without a fight!" (face="open") gen "We're going to live on!{w=0.5} We're going to survive!" (face="angry") - $ renpy.sound.play("sounds/microphone_feedback.ogg") - stop bg_sounds fadeout 5.5 + play sound "sounds/microphone_feedback.ogg" + stop background fadeout 5.5 "-Sunshine and rainbows-": # Rocky - stop bg_sounds fadeout 3.0 - play music "music/BattleThemeB.ogg" fadein 3.0 + stop background fadeout 3.0 + play music "music/BattleThemeB.ogg" fadein 3.0 if_changed gen "The world ain't all sunshine and rainbows..." (face="base") - gen "It is a very mean and nasty place and it will beat you to your knees and keep you there permanently if you let it." (face="base") + gen "It is a very mean and nasty place, and it will beat you to your knees and keep you there permanently if you let it." (face="base") call quidditch_stands(crowd_react=[None, "emo8", None]) with d3 @@ -926,7 +904,7 @@ label slytherin_match: hide screen genie_main with d3 pause .8 - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" hide screen blktone call quidditch_stands(spotlight=True) with d1 @@ -946,7 +924,7 @@ label slytherin_match: gen "Cowards do that and that ain't you. You're better than that!" (face="angry") stop music fadeout 10 - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" call quidditch_stands(spotlight=False, crowd_react=["emo8", "emo7", "emo8"]) with d3 @@ -955,8 +933,8 @@ label slytherin_match: "-Be winners!-": #"\"Don't care about the scoreboard\"": # Hoosier - stop bg_sounds fadeout 3.0 - play music "music/victory1.ogg" fadeout 3 fadein 1.0 + stop background fadeout 3.0 + play music "music/victory1.ogg" fadeout 3 fadein 1.0 if_changed gen "There's a tradition in tournament play to not talk about the next step until you've climbed the one in front of you." (face="base") gen "I'm sure going to the state finals is beyond your wildest dreams, so let's just keep it right there." (face="base") @@ -969,7 +947,7 @@ label slytherin_match: hide screen genie_main with d3 pause .8 - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" hide screen blktone call quidditch_stands(spotlight=True) with d1 @@ -982,7 +960,7 @@ label slytherin_match: gen "In my book we're gonna be winners!" (face="open") gen "{size=+5}Okay?!!{/size}" (face="angry") #Large text - $ renpy.sound.play("sounds/crowd_cheer2.ogg") + play sound "sounds/crowd_cheer2.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo8"]) with d3 @@ -990,7 +968,7 @@ label slytherin_match: gen "{size=+8}Alright!!{/size}" (face="open") gen "{size=+10}Let's go!!{/size}" (face="angry") gen "{size=+10}Let's go!!{/size}" (face="angry") - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" gen "{size=+10}Let me hear it!!!{/size}" (face="angry") call quidditch_stands(spotlight=False, crowd_react=[None, None, None]) @@ -998,7 +976,7 @@ label slytherin_match: #TODO Spotlights Off, pause, genie leaves podium - call play_sound("footsteps") + play sound "sounds/footsteps.ogg" call hide_characters with d3 pause .5 @@ -1018,18 +996,18 @@ label slytherin_match: call her_walk(180, 400) pause .3 - play bg_sounds "sounds/crowd_low.ogg" fadein 3 fadeout 2 + play background "sounds/crowd_low.ogg" fadein 3 fadeout 2 - her "I'm back!" ("soft", "base", "worried", "L", cheeks="blush", ypos="head", flip=True) #whispering #Blushing from this point forward + her @ cheeks blush "I'm back!" ("soft", "base", "worried", "L", ypos="head", flip=True) #whispering #Blushing from this point forward sna "Miss Granger?" ("snape_05", ypos="head") - her "It's--" ("disgust", "base", "worried", "down", cheeks="blush") + her @ cheeks blush "It's--" ("disgust", "base", "worried", "down") call gen_chibi("stand", 300, 365, flip=False) with d3 pause .2 gen "Get up there, the crowd has started to suspect something..." ("base", xpos="far_left", ypos="head") - her "Oh...{w=0.5} of course!" ("soft", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "Oh...{w=0.5} of course!" ("soft", "narrow", "worried", "mid") call her_walk(300, 400) pause .1 @@ -1039,12 +1017,12 @@ label slytherin_match: with d3 pause .5 - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" her "*Ahem*..." ("base", "base", "base", "mid", xpos=290, ypos="base", flip=True, trans=dissolve) - her "{size=-4}Oh, these boobs are so heavy...{/size}" ("disgust", "base", "worried", "down", cheeks="blush") - her "{size=-4}And why is this shirt so hot...{/size}" ("soft", "base", "base", "down", cheeks="blush") + her @ cheeks blush "{size=-4}Oh, these boobs are so heavy...{/size}" ("disgust", "base", "worried", "down") + her @ cheeks blush "{size=-4}And why is this shirt so hot...{/size}" ("soft", "base", "base", "down") - $ renpy.sound.play("sounds/cloth_sound.ogg") + play sound "sounds/cloth_sound.ogg" $ hermione.equip(her_outfit_default_no_vest) with d3 pause .5 @@ -1053,20 +1031,19 @@ label slytherin_match: pause .3 gen "..." ("angry", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.equip(her_outfit_default_no_tie_open_shirt) with d3 pause 1.0 - her "{size=-4}That's better.{/size}" ("base", "base", "base", "down", cheeks="blush") + her @ cheeks blush "{size=-4}That's better.{/size}" ("base", "base", "base", "down") her "So, after that short... intermission and removing that... streaker from the pitch..." ("open", "base", "base", "L") - #TODO Crowd !!! gen "There was a streaker on the pitch? WHEN!?!" ("angry", xpos="far_left", ypos="head") sna "She's deflecting the attention from the podium..." ("snape_09") gen "Oh, of course..." ("base", xpos="far_left", ypos="head") her "Now, back to your positions..." ("open", "base", "base", "mid") - her "{size=-4}How nice, I'm not used to being listened to this easily!{/size}" ("base", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "{size=-4}How nice, I'm not used to being listened to this easily!{/size}" ("base", "happyCl", "base", "mid") call quidditch_stands(crowd_react=[None, "emo7", None]) with hpunch @@ -1084,8 +1061,8 @@ label slytherin_match: with d3 pause 0.5 - $ renpy.sound.play("sounds/referee.ogg") - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play sound "sounds/referee.ogg" + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed pause 1.5 hide hermione_main with d3 @@ -1095,7 +1072,7 @@ label slytherin_match: gen "If you say so..." ("base", xpos="far_left", ypos="head") her "With those strong and muscular Slytherins in a firm lead, we're now back in the game." ("open", "base", "base", "L", trans=d3) - $ renpy.sound.play("sounds/ball_hit.ogg") + play sound "sounds/ball_hit.ogg" her "Look at those bats swing!" ("angry", "base", "angry", "L") her "I wouldn't mind being hit by one of those, if you know what I'm saying." ("grin", "narrow", "angry", "L") her "And watch those Ravenclaws go, such finesse and style is a rare sight..." ("open", "base", "base", "L") @@ -1130,7 +1107,7 @@ label slytherin_match: call her_chibi_scene("grope_on_podium") with d3 pause 2.0 - her "Whoa!" ("soft", "wide", "base", "stare", cheeks="blush", trans=d3) + her @ cheeks blush "Whoa!" ("soft", "wide", "base", "stare", trans=d3) hide hermione_main with d3 call quidditch_stands(crowd_react=[None, None, "emoq"]) @@ -1138,83 +1115,56 @@ label slytherin_match: call ctc gen "..." ("grin", xpos="far_left", ypos="head") - her "No worries, ladies and gentlemen...{w=0.5} Just had a bit of a slip." ("grin", "happyCl", "worried", "mid", cheeks="blush", trans=d3) - her "It's very...{w=0.3} very wet up here." ("soft", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "No worries, ladies and gentlemen...{w=0.5} Just had a bit of a slip." ("grin", "happyCl", "worried", "mid", trans=d3) + her @ cheeks blush "It's very...{w=0.3} very wet up here." ("soft", "narrow", "base", "mid") gen "(And it will be getting even wetter in a minute...)" ("grin", xpos="far_left", ypos="head") call her_chibi_scene("grope_on_podium_horny") hide hermione_main - show screen blktone - with d5 - pause .2 - ">You move your hands gently up and down underneath Hermione's skirt, massaging her butt and thighs." - hide screen blktone - with d5 - pause .2 + nar "You move your hands gently up and down underneath Hermione's skirt, massaging her butt and thighs." - her "*Hmm*{w=0.3} Those boys are going...{w=0.5} *Ahh* going way too fast!{w} This game might be over before we know it." ("soft", "narrow", "base", "up", cheeks="blush", trans=d3) + her @ cheeks blush "*Hmm*...{w=0.3} Those boys are going--{w=0.2} *Ahh*...{w=0.4} going way too fast!{w} This game might be over before we know it." ("soft", "narrow", "base", "up", trans=d3) gen "(Let's slow down a bit then, shall we...)" ("grin", xpos="far_left", ypos="head") hide hermione_main - show screen blktone - with d5 - pause .2 - ">As you continue touching Hermione, she's finding it more and more difficult to focus on the game." - hide screen blktone - with d5 - pause .2 + nar "As you continue touching Hermione, she's finding it more and more difficult to focus on the game." - her "*Ahh*{w=0.3} Still...{w=0.5} Still no... *Ahh*{w=0.3} sign of the golden snitch..." ("silly", "narrow", "base", "up", cheeks="blush", trans=d3) - gen "(It's right here... I'm rubbing it for good luck...)" ("base", xpos="far_left", ypos="head") - her "*Mmmm*{w=0.4} Those boys sure are doing well..." ("soft", "narrow", "base", "R") #Thrill big text - her "I've never...{w=0.3} *Hnngh*{w=0.5} experienced such a...{w=0.5} such a...{w=0.6} {b}thrill{/b} before!" ("base", "narrow", "base", "up") + her @ cheeks blush "*Ahh*--{w=0.2} Still...{w=0.4} Still no--{w=0.2} *Ahh*...{w=0.3} Sign of the golden snitch..." ("silly", "narrow", "base", "up", trans=d3) + gen "(It's right here...{w=0.4} I'm rubbing it for good luck...)" ("base", xpos="far_left", ypos="head") + her "*Mmmm*...{w=0.4} Those boys sure are doing well..." ("soft", "narrow", "base", "R") #Thrill big text + her "I've never...{w=0.3} *Hnngh*...{w=0.5} Experienced such a...{w=0.5} Such a...{w=0.6} {b}Thrill{/b} before!" ("base", "narrow", "base", "up") gen "(Time to get some of my own liquid luck!)" ("grin", xpos="far_left", ypos="head") hide hermione_main - show screen blktone - with d5 - pause .2 - ">You keep touching Hermione, moving your hand further and further underneath her skirt." - ">And as you begin rubbing her vagina with increased pressure you feel a bit of a wet spot forming across her panties." - hide screen blktone - with d5 - pause .2 + nar "You keep touching Hermione, moving your hand further and further underneath her skirt." + nar "And as you begin rubbing her vagina with increased pressure, you feel a bit of a wet spot forming across her panties." - her "Oh! That's naughty!" ("soft", "narrow", "base", "up", cheeks="blush", trans=d3) + her @ cheeks blush "Oh! That's naughty!" ("soft", "narrow", "base", "up", trans=d3) pause 1.0 - call play_sound("kick") + play sound "sounds/kick.ogg" with hpunch pause 1.0 - her "*Ahh*...{w=0.3} One of the Slytherin beaters just went head on and smashed their elbow into an opposing player..." ("grin", "narrow", "base", "L", cheeks="blush") + her @ cheeks blush "*Ahh*...{w=0.3} One of the Slytherin beaters just went head on and smashed their elbow into an opposing player..." ("grin", "narrow", "base", "L") hide hermione_main - show screen blktone - with d5 - pause .2 - ">Noticing Hermione's breathing becoming more and more erratic, you pick up the pace, moving your middle finger back and forth across the underside of her wet panties." - hide screen blktone - with d5 - pause .2 + nar "Noticing Hermione's breathing becoming more and more erratic, you pick up the pace, moving your middle finger back and forth across the underside of her wet panties." - her "And we all know...{w=0.3} *Ahh*{w=0.3} No excessive use of elbows...{w=0.3} *Ahh*{w=0.3} Permitted..." ("open", "narrow", "base", "R", cheeks="blush", trans=d3) - her "But it seems to have done the trick!" ("base", "closed", "base", "mid", cheeks="blush") - her "The Slytherin chasers are...{w=0.3} *Ahh*...{w=0.5} Edging ever closer... to the goal posts!" ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "And we all know...{w=0.3} *Ahh*{w=0.3} No excessive use of elbows...{w=0.3} *Ahh*{w=0.3} Permitted..." ("open", "narrow", "base", "R", trans=d3) + her @ cheeks blush "But it seems to have done the trick!" ("base", "closed", "base", "mid") + her @ cheeks blush "The Slytherin chasers are...{w=0.3} *Ahh*...{w=0.5} Edging ever closer... to the goal posts!" ("grin", "narrow", "base", "up") call her_chibi_scene("grope_on_podium_close") hide hermione_main - show screen blktone - with d5 - pause .2 - ">As the quaffle is thrown towards one of the hoops, you give Hermione one last rub across her panties, bringing her over the edge." + nar "As the quaffle is thrown towards one of the hoops, you give Hermione one last rub across her panties, bringing her over the edge." hide screen blktone - $ renpy.sound.play("sounds/crowd_applause.ogg") + play sound "sounds/crowd_applause.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo8"]) with d3 - her "{size=+8}Goooaaal!!!{/size}" ("scream", "narrow", "angry", "up", cheeks="blush", trans=hpunch) + her @ cheeks blush "{size=+8}Goooaaal!!!{/size}" ("scream", "narrow", "angry", "up", trans=hpunch) hide hermione_main with d3 pause 0.5 @@ -1223,11 +1173,7 @@ label slytherin_match: call her_chibi_scene("grope_on_podium_cum") pause 0.7 - show screen blktone - with d5 - ">Hermione's legs tremble as her knees buckle, the words of her orgasm drowned out by the cheers of the crowd." - hide screen blktone - with d5 + nar "Hermione's legs tremble as her knees buckle, the words of her orgasm drowned out by the cheers of the crowd." call ctc # Hermione (Tonks) falls to her knees @@ -1239,86 +1185,95 @@ label slytherin_match: with d5 pause .8 - ">As Hermione collapses to the ground, you give her a last quick look before swiftly heading back to your seat." + nar "As Hermione collapses to the ground, you give her a last quick look before swiftly heading back to your seat." - hide screen blktone call gen_chibi("stand", 20, 365, flip=True) call quidditch_stands(crowd_react=[None, None, None]) with fade pause .6 - show screen blktone - with d5 - ">With her legs still shaking slightly, she tries fruitlessly to stand up and compose herself." - hide screen blktone - with d5 + nar "With her legs still shaking slightly, she tries fruitlessly to stand up and compose herself." - her "*Ahh*...{w=0.3} *Ahh*...{w=0.5} Sir...{w=0.6} that was...{w=0.6} *Ahh*..." ("open_tongue", "narrow", "worried", "up", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "*Ahh*...{w=0.3} *Ahh*...{w=0.5} Sir...{w=0.6} that was...{w=0.6} *Ahh*..." ("open_tongue", "narrow", "worried", "up", ypos="head", flip=False) # Start prediction $ renpy.start_predict("images/CG/cho_quidditch/*.*") gen "{size=-4}Now, where were we?{/size}" ("grin", xpos="far_left", ypos="head") sna "{size=-4}Another goal for Slytherin... Although you might've missed it...{/size}" ("snape_37") #Small text - ">You smirk and look back at Hermione who's still on the floor trying to catch her breath." + nar "You smirk and look back at Hermione who's still on the floor trying to catch her breath." sna "You can wipe that smile off your face now..." ("snape_01") - sna "Whatever your plan is I doubt you'll succeed..." ("snape_03") #smirk + sna "Whatever your plan is, I doubt you'll succeed..." ("snape_03") #smirk sna "Another couple of goals and you won't win even if Miss Chang manages to catch the snitch." ("snape_45") sna "Ravenclaw has no chance, We've got this game in the bag." ("snape_01") gen "You say that..." ("grin", xpos="far_left", ypos="head") - call nar(">Cho, now with her eyes fixed behind one of the goalposts -- seemingly having spotted the snitch -- gives you a quick glance and a smile as she flies up to Crabbe and Goyle.") + nar "Cho, now with her eyes fixed behind one of the goalposts -- seemingly having spotted the snitch -- gives you a quick glance and a smile as she flies up to Crabbe and Goyle." # Cho CG - $ camera.set_imagepath(None) - $ camera.set_image("cho_cg quidditch pose1 open") - $ camera.set_overlay(None) - $ camera.set(zoom=1.0, pos=(1300, 300), initialize=True) - show screen animatedCG + show cho_cg quidditch pose1 open as cg zorder 17: + zoom 1.0 + pos (-1300, -600) with fade $ renpy.choice_for_skipping() - pause 0.2 - $ camera.set(zoom=0.5, pos=(0, 300), t=3.5) cho "Hey boys, check this out..." - $ camera.set_image("cho_cg quidditch pose1 base") - cra "What do you want slut?" - $ camera.set(rotate=-15, zoom=0.65, pos=(-100, -120), t=3.0, pause=True) - $ camera.set_image("cho_cg quidditch pose2 smirk", trans=d5) - call nar(">Cho spins around, flaunts her butt and gives them a quick wink.") - $ camera.set(rotate=0, zoom=0.3, pos=(0, 0), t=2.0, pause=True) + cra "What do you want, slut?" + show cho_cg quidditch pose1 base as cg zorder 17: + zoom 1.0 + pos (-1300, -600) + easein_quad 3.5 zoom 0.5 pos (-500, -550) + pause 3.0 + show cho_cg quidditch pose2 smirk as cg zorder 17: + zoom 0.5 + pos (-500, -550) + pause 2.0 + easein_quad 3.5 zoom 0.3 pos (-60, -130) + with d5 + nar "Cho spins around, flaunts her butt and gives them a quick wink." + show cho_cg quidditch pose2 smirk as cg zorder 17: + pos (-60, -130) + zoom 0.3 call ctc cra "She's showing us her ass! That luck potion Snape gave us really is working!" - if cc_pr_manipulate_boys.is_event_complete(2, 4): + if states.cho.ev.manipulate_boys.t2_e4_complete: goy "Looks like this little Ravenclaw slut has come back for more, Crabbe." cra "Of course she has Goyle, they've got nothing but wimps in that house of hers." cho "Oh yes, let me see those muscly arms of yours..." call slap_her - $ camera.set_image("cho_cg quidditch pose2 slap_left") + show cho_cg quidditch pose2 slap_left as cg zorder 17: + pos (-60, -130) + zoom 0.3 goy "Shut up bitch." cho "*Mmm*..." cra "What the hell... Is she enjoying it?!" call slap_her - $ camera.set_image("cho_cg quidditch pose2 slap_right") + show cho_cg quidditch pose2 slap_right as cg zorder 17: + pos (-60, -130) + zoom 0.3 cho "Oh, thank you, please spank me more." - call nar(">Cho tightens her butt cheeks and flutters her eyelashes in a way that -- to anyone except Crabbe and Goyle -- would be an obvious distraction tactic.") + nar "Cho tightens her butt cheeks and flutters her eyelashes in a way that -- to anyone except Crabbe and Goyle -- would be an obvious distraction tactic." else: goy "Or maybe this little Ravenclaw slut has finally come to her senses, Crabbe." goy "No surprise there... Those Ravenclaw cucks got nothing even close to our sheer strength!" #have is correct grammar here but Crabbe and Goyle are dumb shits so - $ camera.set_image("cho_cg quidditch pose2 open") - call nar(">Cho tightens her butt cheeks and flutters her eyelashes in a way that -- to anyone except Crabbe and Goyle -- would be an obvious distraction tactic.") + show cho_cg quidditch pose2 open as cg zorder 17: + pos (-60, -130) + zoom 0.3 + nar "Cho tightens her butt cheeks and flutters her eyelashes in a way that -- to anyone except Crabbe and Goyle -- would be an obvious distraction tactic." - $ camera.set_image("cho_cg quidditch pose2 smirk") + show cho_cg quidditch pose2 smirk as cg zorder 17: + pos (-60, -130) + zoom 0.3 play sound "sounds/crowd_cheer.ogg" her "And there's a goal for Ravenclaw, ladies and gentlemen!" @@ -1326,26 +1281,33 @@ label slytherin_match: call ctc - $ camera.set_image("cho_cg quidditch pose1 base", trans=d5) + show cho_cg quidditch pose1 base as cg zorder 17: + pos (-60, -130) + zoom 0.3 + with d5 - call nar(">Malfoy suddenly turns around surprised that a goal was let in, and then angrily flies up to Crabbe and Goyle.") + nar "Malfoy suddenly turns around, surprised that a goal was let in, and then angrily flies up to Crabbe and Goyle." malf "What the hell are you guys doing?{w=0.4} Have those bludgers been hitting you too hard?" malf "You're supposed to be blocking the goal until that Ravenclaw girl spots the snitch!" - $ camera.set_image("cho_cg quidditch pose1 run") + + show cho_cg quidditch pose1 run as cg zorder 17: + pos (-60, -130) + zoom 0.3 + cra "Well, about that..." malf "How dare you speak over me, I'm not done with you!" cra "But Draco--" malf "What?!?" cra "She's going after the Snitch!" - call nar(">Malfoy spins his head around. Finally noticing that Cho's currently chasing the snitch in the distance, he quickly darts after her.") + nar "Malfoy spins his head around, and as he finally spots Cho who is currently chasing the snitch in the distance, he quickly darts after her." malf "You fucking idiots!" # End of Cho CG call her_chibi("stand", 300, 400, flip=True) - hide screen animatedCG + hide cg with fade # Stop Prediction @@ -1353,8 +1315,8 @@ label slytherin_match: her "Oh... it looks like things are heating up!{w=0.5} Malfoy has finally realised Chang is going for the Snitch..." ("open", "base", "angry", "L", flip=True, xpos=290, ypos="base", trans=d3) - call play_sound("giggle") - her "*giggles* Look at that girl fly! I didn't think you could grip a broom so tightly... maybe I could learn a thing or two from her." ("grin", "base", "angry", "L") + play sound "sounds/giggle2_loud.ogg" + her "*Giggles* Look at that girl fly! I didn't think you could grip a broom so tightly... maybe I could learn a thing or two from her." ("grin", "base", "angry", "L") sna "I see we've been playing different games..." ("snape_37") gen "Quite..." ("grin", xpos="far_left", ypos="head") her "Chang, now only inches away, can almost taste that ball..." ("grin", "base", "angry", "up") @@ -1362,14 +1324,14 @@ label slytherin_match: sna "Well, congratulations... You've got me beat..." ("snape_37") sna "Sure as hell is a better view than last season..." ("snape_20") - play bg_sounds "sounds/crowd.ogg" fadein 1 fadeout 1 - $ renpy.sound.play("sounds/crowd_applause.ogg") + play background "sounds/crowd.ogg" fadein 1 fadeout 1 + play sound "sounds/crowd_applause.ogg" call quidditch_stands(crowd_react=["emo8", "emo7", "emo7"]) with d3 her "And she's caught it!{w=0.5} Ravenclaw wins and makes it to the finals against Gryffindor!" ("smile", "base", "angry", "L") - sna "I was looking forward to seeing that cup in my office again this year... Oh well..." ("snape_41") - her "And what a well deserved victory as well!" ("soft", "narrow", "base", "mid") + sna "I was looking forward to seeing that cup in my office again this year... Oh, well..." ("snape_41") + her "And what a well-deserved victory as well!" ("soft", "narrow", "base", "mid") gen "You put the cup in your office?" ("base", xpos="far_left", ypos="head") # Fade to black @@ -1384,7 +1346,7 @@ label slytherin_match: call quidditch_stands(crowd=[], crowd_react=[None, None, None]) - stop bg_sounds fadeout 4 + stop background fadeout 4 stop music fadeout 2 centered "{size=+7}{color=#cbcbcb}After the game...{/color}{/size}" @@ -1393,7 +1355,7 @@ label slytherin_match: with d5 pause .5 - play bg_sounds "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 + play background "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 sna "Well, that was good..." ("snape_03") sna "And to my dismay the commentary was... acceptable." ("snape_09") @@ -1416,11 +1378,11 @@ label slytherin_match: with d9 pause .5 - stop bg_sounds fadeout 4 + stop background fadeout 4 - call play_sound("grass") - ">You make your way back to your office, wondering how the real old man could stand all these stairs..." - ">No wonder he always stayed in there..." + play sound "sounds/steps_grass.ogg" + nar "You make your way back to your office, wondering how the real old man could stand all these stairs..." + nar "No wonder he always stayed in there..." # Reset $ tonks.equip(ton_outfit_last) # Equip player outfit. @@ -1439,9 +1401,8 @@ label slytherin_match_return: # The office, evening after the game $ game.daytime = False - call update_interface_color - call play_music("stop") + stop music fadeout 1 #show screen blkfade call room("main_room") call gen_chibi("hide") @@ -1456,13 +1417,13 @@ label slytherin_match_return: $ tonks.equip(ton_outfit_default) $ astoria.equip(ast_outfit_default) - $ tonks.strip("all") + $ tonks.strip("clothes") hide screen blkfade with d9 pause 1.0 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("stand", "door", "base", flip=False) with d3 pause .3 @@ -1474,7 +1435,7 @@ label slytherin_match_return: call gen_walk("mid", "base") - call play_music("night") + play music "music/Music for Manatees.ogg" fadein 1 if_changed call gen_chibi("sit_behind_desk") with fade pause .8 @@ -1487,7 +1448,7 @@ label slytherin_match_return: call bld("hide") # Hermione (Tonks) walks in - call play_sound("door") + play sound "sounds/door.ogg" call her_chibi("stand", "door", "base", flip=False) with d3 pause .8 @@ -1497,7 +1458,7 @@ label slytherin_match_return: call her_walk("desk", "base") - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "That{w=0.5} was{w=0.8} amazing!" ("smile", "happy", "base", "mid", xpos="mid", ypos="base", flip=False, trans=d3) gen "What was?{w=0.5} Getting hit in the face?" ("base", xpos="far_left", ypos="head") her "I've never experienced such a thrill before..." ("base", "narrow", "base", "L") @@ -1508,7 +1469,7 @@ label slytherin_match_return: pause .2 # Hermione (Tonks) starts stripping - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ hermione.strip("robe", "accessory", "top") with d5 pause .8 @@ -1517,25 +1478,25 @@ label slytherin_match_return: her "Be quiet you, just enjoy it!" ("base", "narrow", "base", "mid") gen "!!!" ("grin", xpos="far_left", ypos="head") - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ hermione.strip("bottom") with d5 pause .8 her "*Hmm*... You like these cute panties?" ("soft", "narrow", "base", "down") - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" her "*Hi-Hi-Hi*" ("grin", "happyCl", "base", "mid") gen "..." ("angry", xpos="far_left", ypos="head") her "Or these little puppies..." ("base", "narrow", "angry", "mid") - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ hermione.strip("bra") with d5 pause .8 with hpunch - call nar(">Hermione playfully shakes her breasts at you.") + nar "Hermione playfully shakes her breasts at you." her "Much better without the bra, don't you think?" ("soft", "narrow", "base", "mid") gen "I..." ("base", xpos="far_left", ypos="head") her "Don't you just love this body?" ("base", "narrow", "base", "down") @@ -1550,7 +1511,7 @@ label slytherin_match_return: her "" (flip=True, trans=d3) pause .8 - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ hermione.strip("panties") with d5 pause .8 @@ -1563,12 +1524,12 @@ label slytherin_match_return: gen "Your arse looks great, Miss--" ("grin", xpos="far_left", ypos="head") # Cho enters - call play_music("stop") + stop music fadeout 1 call hide_characters hide screen bld1 with d3 - call play_sound("door") + play sound "sounds/door.ogg" call cho_chibi("stand", "door", "base") with d3 pause .8 @@ -1579,20 +1540,20 @@ label slytherin_match_return: her "" ("upset", "base", "base", "L", ypos="base", flip=True, trans=d3) cho "!!!" ("annoyed", "wide", "base", "L", trans=hpunch) #Shocked face - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "Oh, hello there, Miss Chang..." ("grin", "narrow", "angry", "L") her "Like what you see?" ("soft", "narrow", "base", "L") - cho "I..." ("angry", "wide", "base", "L", cheeks="blush") + cho @ cheeks blush "I..." ("angry", "wide", "base", "L") - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" her "*Hi-Hi-Hi*" ("base", "happyCl", "base", "mid") her "What's wrong sweetie?" ("soft", "narrow", "base", "L") her "Want to find out if Gryffindors taste the same as Ravenclaws?" ("smile", "narrow", "base", "L") - cho "..." ("angry", "base", "worried", "down", cheeks="heavy_blush") #Blushes - cho "*Hmph*!" ("annoyed", "narrow", "angry", "L", cheeks="blush") + cho @ cheeks heavy_blush "..." ("angry", "base", "worried", "down") #Blushes + cho @ cheeks blush "*Hmph*!" ("annoyed", "narrow", "angry", "L") # Cho walks out and slams the door - call play_music("stop") + stop music fadeout 1 call hide_characters hide screen bld1 with d3 @@ -1602,7 +1563,7 @@ label slytherin_match_return: with d3 pause .5 - call play_sound("kick") + play sound "sounds/kick.ogg" call cho_chibi("hide") with hpunch pause .5 @@ -1615,31 +1576,30 @@ label slytherin_match_return: gen "What the hell are you doing, Granger?" ("base", xpos="far_left", ypos="head") her "Granger?" ("soft", "wink", "worried", "mid") #confused - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed her "What are you talking about, genie?" ("base", "narrow", "base", "mid") pause .8 # Tonks turns back into herself #TODO Should the naked version only happen if you've done Imperio Training maybe? - call play_sound("magic") + play sound "sounds/magic4.ogg" call hide_characters call her_chibi("hide") call ton_chibi("stand", "desk", "base", flip=False) - ton "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False) - with morph + ton "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=morph) call ctc gen "Whoa!" ("angry", xpos="far_left", ypos="head") ton "Oh, silly me... I'm still naked..." ("upset", "base", "base", "down") pause .5 - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" hide tonks_main $ tonks.wear("all") ton "" ("horny", "base", "base", "mid", trans=d5) pause .8 - if tonks_morph_known: #This wont be used if we make it so you learn it first time here and hangouts unlock after this + if states.gen.ev.tonks.metamorphmagi_aware: #This wont be used if we make it so you learn it first time here and hangouts unlock after this gen "It all makes sense now." ("base", xpos="far_left", ypos="head") ton "Hello sweet cheeks!" ("base", "base", "base", "mid") ton "Thought I was about to lose focus there for a second when you started going at it!" ("open", "base", "base", "R") @@ -1651,7 +1611,7 @@ label slytherin_match_return: ton "Impressive, isn't it?" ("horny", "base", "base", "mid") else: - $ tonks_morph_known = True + $ states.gen.ev.tonks.metamorphmagi_aware = True gen "You were Miss Granger the whole time?" ("angry", xpos="far_left", ypos="head") gen "Plot twist of the fucking century." ("base", xpos="far_left", ypos="head") ton "Of course not, don't be silly..." ("open", "closed", "base", "mid") @@ -1664,46 +1624,45 @@ label slytherin_match_return: ton "Of course!" ("base", "wide", "annoyed", "mid") # Tonks turns into cho - call play_sound("magic") - call play_music("cho") + play sound "sounds/magic4.ogg" + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed call hide_characters call ton_chibi("hide") call cho_chibi("stand", "desk", "base", flip=False) cho "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=morph) - #with morph pause .5 cho "Hi professor!" ("smile", "base", "base", "mid") cho "Want to give this snatch a little lick?" ("soft", "narrow", "base", "mid") gen "!!!" ("angry", xpos="far_left", ypos="head") - if astoria_unlocked: + if states.ast.unlocked: # Tonks turns into Astoria - call play_sound("magic") - call play_music("astoria") + play sound "sounds/magic4.ogg" + play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein 1 if_changed call hide_characters call cho_chibi("hide") call ast_chibi("stand", "desk", "base", flip=False) ast "How about giving this little butt a spanking?" ("smile", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=morph) - call play_sound("magic") - call play_music("susan") + play sound "sounds/magic4.ogg" + play music "music/teddy-bear-waltz-by-kevin-macleod.ogg" fadein 1 if_changed call hide_characters call cho_chibi("hide") call ast_chibi("hide") call sus_chibi("stand", "desk", "base", flip=False) - sus "You want to s-spank me? W-Why would you want to sp-spank me, professor? Did I do something wrong?" ("angry", "wide", "base", "mid", xpos="mid", ypos="base", flip=False, trans=morph, cheeks="blush") + sus @ cheeks blush "You want to s-spank me? W-Why would you want to sp-spank me, professor? Did I do something wrong?" ("angry", "wide", "base", "mid", xpos="mid", ypos="base", flip=False, trans=morph) - sus "Are you going to punish me for flaunting these massive pair of--" ("horny", "wink", "base", "mid", cheeks="blush") - sus "Wow... They really are big aren't they... And they feel so soft..." ("smile", "base", "base", "down", cheeks="blush") - sus "(I'll give you two the attention you deserve tonight...)" ("grin", "narrow", "base", "down", cheeks="blush") + sus @ cheeks blush "Are you going to punish me for flaunting these massive pair of--" ("horny", "wink", "base", "mid") + sus @ cheeks blush "Wow... They really are big, aren't they... And they feel so soft..." ("smile", "base", "base", "down") + sus @ cheeks blush "(I'll give you two the attention you deserve tonight...)" ("grin", "narrow", "base", "down") gen "Tonks?" ("base", xpos="far_left", ypos="head") sus "Oh right...{w=0.3} Where was I?" ("smile", "happy", "low", "downL") - elif susan_unlocked: + elif states.sus.unlocked: # Tonks Turns into Susan - call play_sound("magic") - call play_music("susan") + play sound "sounds/magic4.ogg" + play music "music/teddy-bear-waltz-by-kevin-macleod.ogg" fadein 1 if_changed call hide_characters call cho_chibi("hide") call ast_chibi("hide") @@ -1716,12 +1675,12 @@ label slytherin_match_return: gen "Tonks?" ("base", xpos="far_left", ypos="head") sus "Oh right... Where was I?" ("base", "base", "base", "mid") - if luna_unlocked: + if states.lun.unlocked: #Tonks turns into Luna gen "Now do Luna!" ("grin", xpos="far_left", ypos="head") - call play_sound("magic") - call play_music("luna") + play sound "sounds/magic4.ogg" + play music "music/wallpaper-by-kevin-macleod.ogg" fadein 1 if_changed call hide_characters call cho_chibi("hide") call ast_chibi("hide") @@ -1730,14 +1689,14 @@ label slytherin_match_return: lun "Professor Dumbledore, watch out for that jigglypuff on your shoulder..." ("soft", "wink", "base", "mid", xpos="mid", ypos="base", flip=False, trans=morph) lun "Let me lick it off for you!" ("open_wide_tongue", "wink", "base", "mid") #lmao nice - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" lun "*Hi-Hi-Hi*" ("smile", "happyCl", "base", "mid") # Tonks turns into snape gen "Nice, now do--" ("grin", xpos="far_left", ypos="head") - call play_sound("magic") - call play_music("snape") + play sound "sounds/magic4.ogg" + play music "music/Dark Fog.ogg" fadein 1 if_changed call hide_characters call cho_chibi("hide") call ast_chibi("hide") @@ -1746,22 +1705,21 @@ label slytherin_match_return: call sna_chibi("stand",410,177+250, flip=False) sna "Want some of this, Genie?" ("snape_clown", xpos=320, ypos="base", flip=False, trans=morph) - call play_sound("gasp") + play sound "sounds/MaleGasp.ogg" with hpunch gen "*Aaaah*!" ("angry", xpos="far_left", ypos="head") sna "Mind if I...{w=0.4} Slithered in?" ("snape_clown") gen "..." ("angry", xpos="far_left", ypos="head") - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" sna "*Hi-Hi-Hi*" ("snape_clown") # Tonks turns into herself - call play_sound("magic") - call play_music("tonks") + play sound "sounds/magic4.ogg" + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed call hide_characters call sna_chibi("hide") call ton_chibi("stand", "desk", "base", flip=False) - ton "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False) - with morph + ton "" ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=morph) call ctc ton "I'm especially proud of that last one..." ("grin", "happyCl", "base", "mid") @@ -1771,7 +1729,7 @@ label slytherin_match_return: gen "This world, I swear there's something new every day..." ("base", xpos="far_left", ypos="head") gen "What next?{w=0.2} Can you time travel?" ("base", xpos="far_left", ypos="head") ton "I wish! The ministry won't let me do it..." ("open", "base", "annoyed", "mid") - ton "If I could I'd just go back to kill baby \"you know who\"..." ("upset", "closed", "angry", "mid") + ton "If I could, I'd just go back to kill baby \"you know who\"..." ("upset", "closed", "angry", "mid") gen "(Why is that always the first thing people consider when talking about time travel...)" ("base", xpos="far_left", ypos="head") gen "(So predictable...)" ("base", xpos="far_left", ypos="head") @@ -1797,26 +1755,24 @@ label slytherin_match_return: call ton_walk(action="leave") stop music fadeout 11.0 - call bld - gen "Damn that witch is impressive!" ("base", xpos="far_left", ypos="head") - gen "She reminds me of one of those ancient, semen-stealing succubi..." ("base", xpos="far_left", ypos="head") - gen "Corrupting... enticing..." ("angry", xpos="far_left", ypos="head") - gen "I'd let her suck my life force any day." ("grin", xpos="far_left", ypos="head") + gen "(Damn, that witch is impressive!)" ("base", xpos="far_left", ypos="head") + gen "(She reminds me of one of those ancient, semen-stealing succubi..)" ("base", xpos="far_left", ypos="head") + gen "(Corrupting... Enticing...)" ("angry", xpos="far_left", ypos="head") + gen "(I'd let her suck my life force any day.)" ("grin", xpos="far_left", ypos="head") - $ tonks_busy = True - $ snape_busy = True - $ hermione_busy = True - $ cho_busy = True + $ states.ton.busy = True + $ states.sna.busy = True + $ states.her.busy = True + $ states.cho.busy = True - $ cho_mood += 9 - $ cho_tier = 3 - $ cho_favors_unlocked = False - $ cho_requests_unlocked = False - $ cho_quid.lock_training = False - $ cho_quid.lock_practice = True - $ cho_quid.lock_tactic = False - $ slytherin_match = "completed" # Prevents this event from repeating. - call update_cho_favors + $ states.cho.mood += 9 + $ states.cho.tier = 3 + $ states.cho.favors_unlocked = False + $ states.cho.requests_unlocked = False + $ states.cho.ev.quidditch.lock_training = False + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.lock_tactic = False + $ states.cho.ev.quidditch.slytherin_stage = "completed" # Prevents this event from repeating. # Reset $ tonks.equip(ton_outfit_last) diff --git a/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy b/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy index 8072ee50..97ae6901 100644 --- a/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy +++ b/game/scripts/characters/cho/events/quidditch/slytherin_practice.rpy @@ -15,11 +15,11 @@ label cc_st_start: cho "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) # Intro 1 - if not cho_quid.slytherin_prepared: + if not states.cho.ev.quidditch.slytherin_prepared: gen "Alright, we need to try out those new tactics!" ("base", xpos="far_left", ypos="head") gen "There is a lot at stake here! We can't afford to lose even a single game!" ("angry", xpos="far_left", ypos="head") gen "We can't show any weakness to those Slytherins!" ("angry", xpos="far_left", ypos="head") - cho "I'm glad my success is that important to you, Sir." ("smile", "happyCl", "base", "mid", cheeks="blush") + cho @ cheeks blush "I'm glad my success is that important to you, Sir." ("smile", "happyCl", "base", "mid") show screen blktone with d3 @@ -36,17 +36,17 @@ label cc_st_start: gen "I spoke with your teacher, she'll get those nitwits to play again..." ("base", xpos="far_left", ypos="head") cho "Professor Tonks, was it?" ("smile", "base", "base", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") - cho "I'm really glad we have her as a teacher." ("base", "happyCl", "base", "mid", cheeks="blush") + cho @ cheeks blush "I'm really glad we have her as a teacher." ("base", "happyCl", "base", "mid") gen "Make sure to thank her for it... some day." ("base", xpos="far_left", ypos="head") - cho "I will, [cho_genie_name]." ("smile", "base", "base", "mid") + cho "I will, [name_genie_cho]." ("smile", "base", "base", "mid") cho "Off I go then..." ("base", "base", "base", "mid") # Cho leaves. call cho_walk(action="leave") - $ hermione_busy = True + $ states.her.busy = True - $ cho_quid.in_progress = True + $ states.cho.ev.quidditch.in_progress = True call gen_chibi("sit_behind_desk") with fade @@ -55,21 +55,21 @@ label cc_st_start: label cc_st_return: - if not cho_quid.slytherin_prepared: + if not states.cho.ev.quidditch.slytherin_prepared: # Cho goes unprepared and fails. stop music fadeout 5.0 - call play_sound("snore") + play sound "sounds/snore1.ogg" gen "...*snore*{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") pause .8 - call play_sound("snore_loud") + play sound "sounds/snore3.ogg" gen "...{cps=10}*snooore*{/cps}{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") pause 1.2 - call play_sound("snore") + play sound "sounds/snore1.ogg" gen "...*sno*-{w=0.5}{nw}" ("base", xpos="far_left", ypos="head") # Interrupts - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*!" pause .2 @@ -90,15 +90,15 @@ label cc_st_return: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Are you mocking me for taking a nap?\"": - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "No, sir." ("soft", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - gen "(Damn it, that naivety of hers is turning me on!)" ("angry", xpos="far_left", ypos="head") + gen "(Damn it... That naivety of hers is turning me on!)" ("angry", xpos="far_left", ypos="head") "\"Brats like you need to be punished!\"": - $ cho_mood += 2 - call play_music("cho") + $ states.cho.mood += 2 + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "Punished? For what?" ("soft", "narrow", "angry", "mid") # angry gen "For being a pain in my ass!" ("angry", xpos="far_left", ypos="head") @@ -108,13 +108,7 @@ label cc_st_return: gen "Why aren't you on that Quidditch ditch right now?" ("base", xpos="far_left", ypos="head") cho "It's a pitch, Sir." ("soft", "narrow", "raised", "mid") gen "I thought we were going to prepare for the next match, or are we already finished with that?" ("base", xpos="far_left", ypos="head") - - show screen blktone - with d3 gen "(Please say yes! I want to do the naughty stuff already!)" ("angry", xpos="far_left", ypos="head") - hide screen blktone - with d3 - cho "Yes, we are..." ("open", "closed", "base", "mid") gen "(Yes!)" ("grin", xpos="far_left", ypos="head") cho "For today, that is..." ("annoyed", "narrow", "base", "R") @@ -159,12 +153,12 @@ label cc_st_return: $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ hermione_busy = True - $ snape_busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. - $ tonks_busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. - $ cho_mood += 6 - $ cho_quid.lock_practice = True - $ cho_quid.slytherin_failed = True + $ states.her.busy = True + $ states.sna.busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. + $ states.ton.busy = True #Set to busy since their hangouts are triggered after Hermione event next morning. + $ states.cho.mood += 6 + $ states.cho.ev.quidditch.lock_practice = True + $ states.cho.ev.quidditch.slytherin_failed = True jump end_cho_event else: @@ -178,15 +172,15 @@ label cc_st_return: gen "Welcome back..." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "base", "angry", "R") #Annoyed gen "Don't tell me they didn't show up again... Tonks assured me she'd get them to--" ("base", xpos="far_left", ypos="head") - cho "No they did show up alright." ("open", "narrow", "angry", "mid") + cho "No, they did show up alright." ("open", "narrow", "angry", "mid") gen "Excellent!" ("grin", xpos="far_left", ypos="head") gen "Then what about our strategy, do you think it will work during the game?" ("base", xpos="far_left", ypos="head") cho "I can't believe I flaunted my ass at them... but yes, I believe it will work." ("soft", "closed", "raised", "mid") cho "Crabbe and Goyle especially should be a great help, turning the game to my favour." ("smile", "narrow", "raised", "R") cho "So long as they don't give my ass too much of a {i}bludgering{/i}..." ("clench", "base", "raised", "mid") - gen "Just make sure to pick the right moment to distract them and you'll be fine." ("base", xpos="far_left", ypos="head") + gen "Just make sure to pick the right moment to distract them, and you'll be fine." ("base", xpos="far_left", ypos="head") gen "Very well then, I guess we're ready to take those snakes on for the main match!" ("base", xpos="far_left", ypos="head") - if not cho_quid.E7_complete: + if not states.cho.ev.quidditch.e7_complete: cho "What about Granger?" ("annoyed", "base", "raised", "mid") gen "What about her?" ("base", xpos="far_left", ypos="head") cho "Is she commentating or what? We can't play without a commentator." ("open", "base", "base", "mid") @@ -212,11 +206,11 @@ label cc_st_return: $ cho.equip(cho_outfit_last) # Equip last worn clothes - $ slytherin_match = "ready" - $ cho_quid.slytherin_training = True - $ cho_quid.lock_practice = True - if cho_quid.E7_complete: - $ cho_quid.lock_training = True + $ states.cho.ev.quidditch.slytherin_stage = "ready" + $ states.cho.ev.quidditch.slytherin_training = True + $ states.cho.ev.quidditch.lock_practice = True + if states.cho.ev.quidditch.e7_complete: + $ states.cho.ev.quidditch.lock_training = True jump end_cho_event @@ -226,8 +220,8 @@ label cc_st_talk: cho "" (xpos="right", ypos="base", trans=fade) - if cho_quid.E6_complete and (not cho_quid.E8_complete or not cho_quid.E7_complete): - if not cho_quid.E8_complete and not cho_quid.E7_complete: + if states.cho.ev.quidditch.e6_complete and (not states.cho.ev.quidditch.e8_complete or not states.cho.ev.quidditch.e7_complete): + if not states.cho.ev.quidditch.e8_complete and not states.cho.ev.quidditch.e7_complete: # Haven't done either cho "Wow, that was quick! I didn't think you'd get it done already!" ("open", "base", "base", "mid") gen "*Err*... Get what done?" ("base", xpos="far_left", ypos="head") @@ -237,7 +231,7 @@ label cc_st_talk: gen "Oh... Right... I forgot about that..." ("base", xpos="far_left", ypos="head") gen "And how am I supposed to do that?" ("base", xpos="far_left", ypos="head") cho "How would I know, I'm not a teacher, am I?...{w} Ask one of them." ("annoyed", "base", "base", "mid") - if cho_quid.E9_complete: + if states.cho.ev.quidditch.e9_complete: gen "Well, I asked Snape..." ("base", xpos="far_left", ypos="head") cho "And how did that work out for you?" ("open", "narrow", "raised", "mid") gen "It didn't." ("base", xpos="far_left", ypos="head") @@ -245,7 +239,7 @@ label cc_st_talk: gen "(*Hmm*... Maybe I could ask Tonks for help during one of our hangouts?)" ("base", xpos="far_left", ypos="head") else: gen "(I wonder if Snape would help me with this...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E8_complete: + elif not states.cho.ev.quidditch.e8_complete: # Haven't done Tonks event cho "Have you gotten those Slytherin pigs to play yet?" ("open", "narrow", "base", "mid") gen "Not yet, but I'm on it." ("base", xpos="far_left", ypos="head") @@ -253,7 +247,7 @@ label cc_st_talk: cho "We need to try out those tactics..." ("annoyed", "narrow", "worried", "R") gen "Any ideas on how to get them to practice against you?" ("base", xpos="far_left", ypos="head") cho "How would I know, I'm not a teacher, am I?...{w} Ask one of them." ("open", "narrow", "base", "mid") - if cho_quid.E9_complete: + if states.cho.ev.quidditch.e9_complete: gen "Well, I asked Snape..." ("base", xpos="far_left", ypos="head") cho "And how did that work out for you?" ("open", "narrow", "raised", "mid") gen "It didn't." ("base", xpos="far_left", ypos="head") @@ -261,23 +255,24 @@ label cc_st_talk: gen "(*Hmm*... Maybe I could ask Tonks for help during one of our hangouts?)" ("base", xpos="far_left", ypos="head") else: gen "(I wonder if Snape would help me with this...)" ("base", xpos="far_left", ypos="head") - elif not cho_quid.E7_complete: + elif not states.cho.ev.quidditch.e7_complete: # Haven't done Hermione event cho "Will Hermione commentate the match or not?" ("open", "base", "base", "mid") gen "Probably..." ("base", xpos="far_left", ypos="head") cho "What do you mean probably?" ("clench", "base", "raised", "mid") gen "I haven't confronted her about it yet." ("base", xpos="far_left", ypos="head") cho "Then do it!" ("open", "base", "angry", "mid") - elif cho_quid.E5_complete and not cho_quid.E6_complete: + elif states.cho.ev.quidditch.e5_complete and not states.cho.ev.quidditch.e6_complete: cho "I'm still a bit worried about those brutes..." ("annoyed", "base", "raised", "down") cho "You better find a foolproof way of dealing with them." ("soft", "base", "angry", "mid") - elif cc_pf_talk.is_tier_complete() and not cho_quid.lock_tactic: - cho "You really believe that showing off my ass is the best tactic against Slytherin?" ("soft", "base", "base", "R", cheeks="blush") + gen "(Perhaps I should {b}talk to her{/b} more, the problem might solve itself.)" ("base", xpos="far_left", ypos="head") + elif states.cho.ev.talk_to_me.t2_e3_complete and not states.cho.ev.quidditch.lock_tactic: + cho @ cheeks blush "You really believe that showing off my ass is the best tactic against Slytherin?" ("soft", "base", "base", "R") gen "I'm certain of it..." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "base", "worried", "R", cheeks="blush") #Worried + cho @ cheeks blush "..." ("annoyed", "base", "worried", "R") #Worried gen "(Perhaps doing some more favours will improve her confidence.)" ("base", xpos="far_left", ypos="head") else: - cho "I'm confident that we can win this, [cho_genie_name]." ("smile", "base", "base", "mid") + cho "I'm confident that we can win this, [name_genie_cho]." ("smile", "base", "base", "mid") cho "Slytherin has no blasted chance against us!" ("base", "narrow", "base", "mid") cho "" (xpos="base", ypos="base", trans=fade) diff --git a/game/scripts/characters/cho/events/quidditch/training.rpy b/game/scripts/characters/cho/events/quidditch/training.rpy index 74b3ac90..4f58a1d6 100644 --- a/game/scripts/characters/cho/events/quidditch/training.rpy +++ b/game/scripts/characters/cho/events/quidditch/training.rpy @@ -6,16 +6,16 @@ label cho_training: # Automatic-Events # Quiz. - if not cho_quiz.complete: + if not states.cho.ev.quiz.complete: jump cho_quiz # Training Intro 1. # Event fails. Cho will get mad and leaves. - if not cho_quid.E1_complete: + if not states.cho.ev.quidditch.e1_complete: jump cho_quid_E1 # Training Intro 2. - if not cho_quid.E2_complete: + if not states.cho.ev.quidditch.e2_complete: jump cho_quid_E2 # Setup @@ -41,25 +41,31 @@ label cho_training: menu: "-Discuss Quidditch Training-": - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff jump cc_ht_talk - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin jump cc_st_talk - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor jump cc_gt_talk jump cho_training.choices - "-Discuss Tactics-" if cc_pf_talk.is_tier_complete() and not cho_quid.lock_tactic: + "-Discuss Tactics-" if not states.cho.ev.quidditch.lock_tactic: + + if states.cho.tier == 1: + if not states.cho.ev.talk_to_me.t1_e3_complete: + gen "(I don't know enough about the enemy team.)" ("base", xpos="far_left", ypos="head") + gen "(I should {b}talk to her{/b} more before proceeding.)" ("base", xpos="far_left", ypos="head") + + jump .choices - if cho_tier == 1: # Hufflepuff # Clothes: Skirt, Robes - if not hufflepuff_match == "intro_done": - $ hufflepuff_match = "intro_done" + if not states.cho.ev.quidditch.hufflepuff_stage == "intro_done": + $ states.cho.ev.quidditch.hufflepuff_stage = "intro_done" gen "I got it!" ("base", xpos="far_left", ypos="head") cho "Got what?" ("soft", "base", "base", "mid") @@ -69,17 +75,17 @@ label cho_training: gen "Panties are the key!" ("base", xpos="far_left", ypos="head") cho "Panties? What do panties have to do with Quidditch?" ("soft", "wide", "raised", "mid") gen "Everything, girl!{w} For some they are the meaning of life!" ("base", xpos="far_left", ypos="head") - cho "What are you suggesting exactly?" ("clench", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "What are you suggesting exactly?" ("clench", "base", "base", "mid") gen "My plan is that we use Cedric's obsession with panties to distract him during the game." ("base", xpos="far_left", ypos="head") - cho "I don't really see how that would be--" ("annoyed", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "I don't really see how that would be--" ("annoyed", "base", "base", "downR") gen "You'll have to wear a skirt of course." ("base", xpos="far_left", ypos="head") - cho "A skirt?" ("clench", "wide", "base", "mid", cheeks="heavy_blush") #shocked + cho @ cheeks heavy_blush "A skirt?" ("clench", "wide", "base", "mid") #shocked gen "Of course!" ("grin", xpos="far_left", ypos="head") - gen "If he's too focused on your panties there's no way he'll catch that snatch!" ("grin", xpos="far_left", ypos="head") + gen "If he's too focused on your panties, then there's no way he'll catch that snatch!" ("grin", xpos="far_left", ypos="head") else: # Repeated intro gen "So about that tactic..." ("base", xpos="far_left", ypos="head") - if cho_whoring < 3: + if states.cho.level < 3: # Fail cho "Got a better plan? One that doesn't involve showing off my panties?" ("annoyed", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") @@ -89,24 +95,24 @@ label cho_training: jump cho_training.choices - if cho_whoring >= 3: - $ cho_quid.lock_practice = False + if states.cho.level >= 3: + $ states.cho.ev.quidditch.lock_practice = False - cho "..." ("normal", "narrow", "base", "downR", cheeks="blush") - cho "You actually think that will work?" ("open", "closed", "angry", "mid", cheeks="blush") + cho @ cheeks blush "..." ("normal", "narrow", "base", "downR") + cho @ cheeks blush "You actually think that will work?" ("open", "closed", "angry", "mid") gen "If what you're telling me about him is true then I'm sure of it." ("base", xpos="far_left", ypos="head") - cho "..." ("clench", "closed", "base", "mid", cheeks="blush") - cho "But what if it doesn't?" ("annoyed", "base", "base", "down", cheeks="blush") - cho "I need to win the game to make it to the finals!" ("open", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "..." ("clench", "closed", "base", "mid") + cho @ cheeks blush "But what if it doesn't?" ("annoyed", "base", "base", "down") + cho @ cheeks blush "I need to win the game to make it to the finals!" ("open", "base", "angry", "mid") gen "Then let's put this theory into practice..." ("base", xpos="far_left", ypos="head") - cho "You want me to try it out during next practice against them?" ("upset", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "You want me to try it out during next practice against them?" ("upset", "base", "raised", "mid") gen "You do practice matches against the other...{w=0.5} actually, that's a great idea!" ("base", xpos="far_left", ypos="head") gen "That way we'll know it works for sure!" ("base", xpos="far_left", ypos="head") - cho "..." ("disgust", "base", "base", "down", cheeks="blush") - cho "Fine, but I'm not changing any of my other clothes, I'd rather not have anyone else staring at my panties..." ("annoyed", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "..." ("disgust", "base", "base", "down") + cho @ cheeks blush "Fine, but I'm not changing any of my other clothes, I'd rather not have anyone else staring at my panties..." ("annoyed", "base", "angry", "mid") gen "Okay then..." ("base", xpos="far_left", ypos="head") gen "Get your broom and Quidditch-gear... and put that skirt on!" ("base", xpos="far_left", ypos="head") - cho "Alright..." ("annoyed", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Alright..." ("annoyed", "base", "base", "mid") #Cho returns with the Hufflepuff clothing combination $ cho.equip(cho_outfit_quidditch_hufflepuff) @@ -114,7 +120,7 @@ label cho_training: cho "Okay then, now what?" ("upset", "base", "base", "R", trans=fade) gen "Now let's try some flying positions..." ("base", xpos="far_left", ypos="head") - gen "Get on that broom, [cho_name]." ("base", xpos="far_left", ypos="head") + gen "Get on that broom, [name_cho_genie]." ("base", xpos="far_left", ypos="head") call cho_chibi("fly", "mid", "base") hide cho_main @@ -131,12 +137,12 @@ label cho_training: cho "You want me to wear a skirt during quidditch?" ("mad", "narrow", "angry", "mid") cho "The whole school will be there!" ("clench", "wide", "base", "mid") gen "Don't focus on them, Cedric is your target!" ("base", xpos="far_left", ypos="head") - cho "But they'll see my panties!" ("mad", "base", "base", "down", cheeks="blush") - cho "No, I will not be going through with this plan of yours..." ("open", "base", "angry", "mid", cheeks="blush") - cho "You better come up with something else!" ("soft", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "But they'll see my panties!" ("mad", "base", "base", "down") + cho @ cheeks blush "No, I will not be going through with this plan of yours..." ("open", "base", "angry", "mid") + cho @ cheeks blush "You better come up with something else!" ("soft", "base", "angry", "mid") # Cho gets upset and leaves - $ cho_mood += 6 + $ states.cho.mood += 6 call cho_walk(action="leave") gen "(Damn... maybe I need to work on her confidence a bit...)" ("base", xpos="far_left", ypos="head") @@ -149,11 +155,17 @@ label cho_training: jump end_cho_event - elif cho_tier == 2: + elif states.cho.tier == 2: + if not states.cho.ev.talk_to_me.t2_e3_complete: + gen "(I don't know enough about the enemy team.)" ("base", xpos="far_left", ypos="head") + gen "(I should {b}talk to her{/b} more before proceeding.)" ("base", xpos="far_left", ypos="head") + + jump .choices + # Slytherin # Clothes: Trousers, Pullover - if not slytherin_match == "intro_done": - $ slytherin_match = "intro_done" + if not states.cho.ev.quidditch.slytherin_stage == "intro_done": + $ states.cho.ev.quidditch.slytherin_stage = "intro_done" gen "I got it!" ("base", xpos="far_left", ypos="head") gen "I've got the perfect idea on how to beat those snakes!" ("base", xpos="far_left", ypos="head") @@ -161,13 +173,13 @@ label cho_training: gen "Do we even say \"phrasing\" anymore?" ("base", xpos="far_left", ypos="head") cho "Just tell me your plan." ("open", "narrow", "raised", "mid") gen "It's all about the ass!" ("base", xpos="far_left", ypos="head") - cho "The ass?" ("upset", "base", "raised", "mid", cheeks="blush") #shocked + cho @ cheeks blush "The ass?" ("upset", "base", "raised", "mid") #shocked gen "Yes, you told me how those brutes love a good ass spanking, now that's an ass fetish if I ever heard one!" ("base", xpos="far_left", ypos="head") - gen "So this time we'll have those Slytherins get a good look of your ass!" ("base", xpos="far_left", ypos="head") + gen "So this time we'll have those Slytherins get a good view of your ass!" ("base", xpos="far_left", ypos="head") else: # Repeated intro gen "So about that tactic..." ("base", xpos="far_left", ypos="head") - if cho_whoring < 9: + if states.cho.level < 9: # Fail cho "Got a better plan? One that doesn't involve flaunting my ass to those Slytherins?" ("annoyed", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") @@ -178,27 +190,27 @@ label cho_training: jump cho_training.choices - if cho_whoring >= 9 and cc_pf_strip.is_event_complete(2, 3): - $ cho_quid.lock_practice = False + if states.cho.level >= 9 and states.cho.ev.inspect_her_body.T2_E3_complete: + $ states.cho.ev.quidditch.lock_practice = False cho "..." ("soft", "base", "raised", "mid") gen "And yes, before you ask, I'm sure this will ensure the win." ("base", xpos="far_left", ypos="head") - cho "Fine..." ("upset", "base", "base", "R", cheeks="blush") - cho "I can't believe I'm saying this..." ("soft", "happyCl", "base", "mid", cheeks="blush") - cho "I'll flaunt my ass... to those Slytherins." ("clench", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Fine..." ("upset", "base", "base", "R") + cho @ cheeks blush "I can't believe I'm saying this..." ("soft", "happyCl", "base", "mid") + cho @ cheeks blush "I'll flaunt my ass... to those Slytherins." ("clench", "narrow", "base", "mid") gen "Excellent, then let's discuss some tactics..." ("base", xpos="far_left", ypos="head") gen "I'd like you to put on some trousers this time." ("base", xpos="far_left", ypos="head") gen "And get rid of your robes, they'll cover it too much." ("base", xpos="far_left", ypos="head") - cho "Get rid of my--" ("open", "wide", "angry", "mid", cheeks="heavy_blush") #Shocked + cho @ cheeks heavy_blush "Get rid of my--" ("open", "wide", "angry", "mid") #Shocked gen "You can put on something else, just something that doesn't cover the goods." ("base", xpos="far_left", ypos="head") - cho "Alright...{w=0.5} give me a minute to fetch my gear..." ("angry", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "Alright...{w=0.5} give me a minute to fetch my gear..." ("angry", "closed", "base", "mid") #Cho returns with the Slytherin clothing combination $ cho.equip(cho_outfit_quidditch_slytherin) $ cho_outfit_quidditch.save() cho "Okay then, tell me what to do." ("base", "base", "base", "mid", trans=fade) - gen "Get on that broom, [cho_name]." ("base", xpos="far_left", ypos="head") + gen "Get on that broom, [name_cho_genie]." ("base", xpos="far_left", ypos="head") call cho_chibi("fly", "mid", "base") hide cho_main @@ -213,21 +225,21 @@ label cho_training: cho "But, they're Slytherins!" ("clench", "base", "angry", "mid") gen "And?" ("base", xpos="far_left", ypos="head") - cho "You expect me to flaunt my ass to those brutes?" ("mad", "base", "angry", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "You expect me to flaunt my ass to those brutes?" ("mad", "base", "angry", "mid") gen "Are you telling me you don't think it will work?" ("base", xpos="far_left", ypos="head") - cho "Of course it will work, they're dumb as hell." ("open", "base", "angry", "R", cheeks="blush") + cho @ cheeks blush "Of course it will work, they're dumb as hell." ("open", "base", "angry", "R") cho "But everyone will be able to see my butt!" ("quiver", "base", "raised", "down") gen "That's the point." ("angry", xpos="far_left", ypos="head") cho "But, but, but!" ("open", "closed", "worried", "mid") gen "That's probably what the crowd will be chanting..." ("grin", xpos="far_left", ypos="head") cho "Teasing Cedric is one thing... but the Slytherins..." ("mad", "happyCl", "worried", "down") - cho "I can't see my self doing...{w=0.4} this..." ("base", "base", "base", "mid") + cho "I can't see myself doing...{w=0.4} this..." ("base", "base", "base", "mid") gen "Well, that's your loss I guess..." ("base", xpos="far_left", ypos="head") - cho "..." ("normal", "happyCl", "base", "mid", cheeks="blush") - cho "If that's all you have then I think I'm done here." ("open", "base", "worried", "down", cheeks="blush") + cho @ cheeks blush "..." ("normal", "happyCl", "base", "mid") + cho @ cheeks blush "If that's all you have then I think I'm done here." ("open", "base", "worried", "down") # Cho gets upset and leaves - $ cho_mood += 3 + $ states.cho.mood += 3 call cho_walk(action="leave") gen "(Damn...)" ("base", xpos="far_left", ypos="head") @@ -241,11 +253,17 @@ label cho_training: jump end_cho_event - elif cho_tier == 3: + elif states.cho.tier == 3: + if not states.cho.ev.talk_to_me.t3_e3_complete: + gen "(I don't know enough about the enemy team.)" ("base", xpos="far_left", ypos="head") + gen "(I should {b}talk to her{/b} more before proceeding.)" ("base", xpos="far_left", ypos="head") + + jump .choices + # Gryffindor: # Clothes: No clothes decided on yet - if not gryffindor_match == "intro_done": - $ gryffindor_match = "intro_done" + if not states.cho.ev.quidditch.gryffindor_stage == "intro_done": + $ states.cho.ev.quidditch.gryffindor_stage = "intro_done" gen "I have got it!" ("base", xpos="far_left", ypos="head") cho "Finally..." ("soft", "base", "raised", "R") @@ -257,7 +275,7 @@ label cho_training: # Repeated intro gen "So about our tactics..." ("base", xpos="far_left", ypos="head") - if not cc_pf_strip.is_event_complete(3,3) or not cc_pf_blowjob.is_event_complete(3,3): + if not states.cho.ev.inspect_her_body.T3_E3_complete or not states.cho.ev.suck_it.T3_E3_complete: # Fail cho "Got a better plan that doesn't involve me getting groped?" ("annoyed", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") @@ -267,22 +285,22 @@ label cho_training: jump cho_training.choices - if cc_pf_strip.is_event_complete(3,3) and cc_pf_blowjob.is_event_complete(3,3): - $ cho_quid.lock_practice = False + if states.cho.ev.inspect_her_body.T3_E3_complete and states.cho.ev.suck_it.T3_E3_complete: + $ states.cho.ev.quidditch.lock_practice = False - cho "What is this plan of yours based on?" ("soft", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "What is this plan of yours based on?" ("soft", "narrow", "base", "down") - if cc_pr_manipulate_girls.is_complete(): # has completed "Manipulate the girls!" public request? - gen "These girls sure seem fond of you. If you could get close to them, they surely will lose focus on the game." ("base", xpos="far_left", ypos="head") - cho "Maybe so, but that doesn't solve one important issue..." ("open", "base", "raised", "mid", cheeks="blush") + if states.cho.ev.manipulate_girls.t3_e4_complete: # has completed "Manipulate the girls!" public request? + gen "The girls on the Gryffindor team sure seem fond of you. If you could get close to them, then I'm sure they'll lose focus on the game." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Maybe so, but that doesn't solve one important issue..." ("open", "base", "raised", "mid") else: gen "It's obvious isn't it..." ("base", xpos="far_left", ypos="head") - cho "No?" ("annoyed", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "No?" ("annoyed", "base", "raised", "mid") gen "Girls doing naughty things together..." ("base", xpos="far_left", ypos="head") - cho "What are you getting at?" ("angry", "base", "raised", "mid", cheeks="blush") - gen "If you get close to them they will lose focus on the game!" ("base", xpos="far_left", ypos="head") - cho "..." ("normal", "closed", "base", "mid", cheeks="blush") #worried - cho "What about the boys?" ("mad", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "What are you getting at?" ("angry", "base", "raised", "mid") + gen "If you get close to them, they will lose focus on the game!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("normal", "closed", "base", "mid") #worried + cho @ cheeks blush "What about the boys?" ("mad", "base", "raised", "mid") gen "What about them?" ("base", xpos="far_left", ypos="head") cho "Shouldn't their seeker, Harry, be our priority?" ("annoyed", "narrow", "raised", "R") #annoyed @@ -293,7 +311,7 @@ label cho_training: cho "What should I be wearing?" ("open", "base", "raised", "mid") gen "What do you mean?" ("base", xpos="far_left", ypos="head") - cho "Well, up until now you've made me wear some silly combination of clothes." ("soft", "base", "base", "mid") + cho "Well, previously, you've made me wear some silly combination of clothes." ("soft", "base", "base", "mid") gen "You can wear whatever you like, fashion is too complicated for me." ("base", xpos="far_left", ypos="head") cho "I see..." ("base", "narrow", "base", "mid") cho "In that case--" ("open", "base", "base", "R") @@ -302,8 +320,9 @@ label cho_training: cho "--Let me fetch my gear, and we can jump straight to training." ("crooked_smile", "base", "base", "mid") #Cho returns with the Gryffindor clothing combination - $ cho_outfit_last.save() $ cho.equip(cho_outfit_quidditch_gryffindor) + $ cho_outfit_quidditch.save() + call cho_chibi("fly", "mid", "base") cho "Okay then, tell me what to do." ("base", "base", "base", "mid", trans=fade) @@ -315,19 +334,19 @@ label cho_training: else: # Fail - cho "You want them to feel me up?!" ("mad", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "You want them to feel me up?!" ("mad", "base", "raised", "mid") gen "Absolutely!" ("base", xpos="far_left", ypos="head") gen "You may also touch them a bit as well while you're at it!" ("base", xpos="far_left", ypos="head") - cho "No way!" ("soft", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "No way!" ("soft", "wide", "base", "mid") gen "Why not?" ("angry", xpos="far_left", ypos="head") - cho "Teasing them is one thing but touching as well?" ("angry", "base", "base", "mid", cheeks="blush") - cho "With everyone watching." ("horny", "happyCl", "base", "mid", cheeks="heavy_blush") #blushes but imagining it + cho @ cheeks blush "Teasing them is one thing but touching as well?" ("angry", "base", "base", "mid") + cho @ cheeks heavy_blush "With everyone watching." ("horny", "happyCl", "base", "mid") #blushes but imagining it gen "..." ("base", xpos="far_left", ypos="head") - cho "No, I wont do it..." ("horny", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "No, I won't do it..." ("horny", "base", "base", "downR") gen "But what if--" ("base", xpos="far_left", ypos="head") # Cho gets upset and leaves - $ cho_mood += 6 + $ states.cho.mood += 6 call cho_walk(action="leave") gen "(She doesn't seem fully convinced just yet...)" ("base", xpos="far_left", ypos="head") @@ -340,39 +359,35 @@ label cho_training: jump end_cho_event - "-Discuss tactics-" (style="disabled") if not cc_pf_talk.is_tier_complete() or cho_quid.lock_tactic: - if cho_quid.lock_tactic: - gen "(We've already established a tactic for the next match)" ("base", xpos="far_left", ypos="head") - else: - gen "(I don't know enough about the enemy team.)" ("base", xpos="far_left", ypos="head") - gen "(Cho and I should have a talk first.)" ("base", xpos="far_left", ypos="head") + "-Discuss tactics-" (style="disabled") if states.cho.ev.quidditch.lock_tactic: + gen "(We've already established a tactic for the next match)" ("base", xpos="far_left", ypos="head") jump cho_training.choices - "-Start Practice Match-" if game.daytime and not cho_quid.lock_practice: - if cho_tier == 1: + "-Start Practice Match-" if game.daytime and not states.cho.ev.quidditch.lock_practice: + if states.cho.tier == 1: # Hufflepuff jump cc_ht_start - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin jump cc_st_start - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor jump cc_gt_start - "-Start Practice Match-" (style="disabled") if not game.daytime or cho_quid.lock_practice: - if cho_quid.lock_practice: - if (cho_tier == 1 and cho_quid.hufflepuff_training) or (cho_tier == 2 and cho_quid.slytherin_training) or (cho_tier == 3 and cho_quid.gryffindor_training): + "-Start Practice Match-" (style="disabled") if not game.daytime or states.cho.ev.quidditch.lock_practice: + if states.cho.ev.quidditch.lock_practice: + if (states.cho.tier == 1 and states.cho.ev.quidditch.hufflepuff_training) or (states.cho.tier == 2 and states.cho.ev.quidditch.slytherin_training) or (states.cho.tier == 3 and states.cho.ev.quidditch.gryffindor_training): gen "(She doesn't need any more practice.)" ("base", xpos="far_left", ypos="head") else: - call nar(">Cho isn't ready for practice yet.") + nar "Cho isn't ready for practice yet." else: - call nar(">You can only do that during the day.") + nar "You can only do that during the day." jump cho_training.choices "-Back-": - cho "Very well, [cho_genie_name]." ("open", "base", "base", "mid", ypos="head", flip=False) + cho "Very well, [name_genie_cho]." ("open", "base", "base", "mid", ypos="head", flip=False) hide cho_main show screen blkfade @@ -386,7 +401,7 @@ label cho_training: call reset_menu_position hide screen blkfade - cho "" (face="happy", xpos="base", ypos="base", trans=fade) + cho "" ("base", "base", "base", "mid", xpos="base", ypos="base", trans=fade) jump cho_requests ### Quidditch Tactics ### @@ -403,19 +418,19 @@ label cho_tactics: menu: gen "(What directions should I give her?)" ("base", xpos="far_left", ypos="head") - "\"Fly in front of me.\"" if cho_quid.position != "front": + "\"Fly in front of me.\"" if states.cho.ev.quidditch.position != "front": jump cho_tactics.change_front - "\"Fly in front of me.\" {size=-6}(selected){/size}" if cho_quid.position == "front": + "\"Fly in front of me.\" {size=-6}(selected){/size}" if states.cho.ev.quidditch.position == "front": pass - "\"Fly above me.\"" if cho_quid.position != "above": + "\"Fly above me.\"" if states.cho.ev.quidditch.position != "above": jump cho_tactics.change_above - "\"Fly above me.\" {size=-6}(selected){/size}" if cho_quid.position == "above": + "\"Fly above me.\" {size=-6}(selected){/size}" if states.cho.ev.quidditch.position == "above": pass - "\"Fly close to me.\"" if cho_quid.position != "close": + "\"Fly close to me.\"" if states.cho.ev.quidditch.position != "close": jump cho_tactics.change_close - "\"Fly close to me.\" {size=-6}(selected){/size}" if cho_quid.position == "close": + "\"Fly close to me.\" {size=-6}(selected){/size}" if states.cho.ev.quidditch.position == "close": pass gen "(No, that probably won't work...)" ("base", xpos="far_left", ypos="head") @@ -424,14 +439,14 @@ label cho_tactics: # Change Tactic #TODO This plays once cho has agreed to the tactic/clothing and during the first intro - # Once you pick the right option the practice match option unlocks (Maybe we should have it say Try out tactic?) + # Once you pick the right option, the practice match option unlocks (Maybe we should have it say Try out tactic?) # The various options should go away once you've tried it once label .change_front: # The *ASS* position! - $ cho_quid.position = "front" + $ states.cho.ev.quidditch.position = "front" - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff call cho_walk(600, 150+180) @@ -442,7 +457,7 @@ label cho_tactics: gen "Yes, probably..." ("base", xpos="far_left", ypos="head") gen "How about instead you..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin call cho_walk(600, 150+180) @@ -453,9 +468,9 @@ label cho_tactics: # Cho turns towards you - cho "Good, then it's settled!" ("soft", "base", "base", "down", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "Good, then it's settled!" ("soft", "base", "base", "down", ypos="head", flip=False) gen "But I didn't get a proper look yet!" ("base", xpos="far_left", ypos="head") - cho "..." ("clench", "base", "base", "mid", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "..." ("clench", "base", "base", "mid", ypos="head", flip=False) gen "Alright, you can come down then..." ("base", xpos="far_left", ypos="head") #Cho flies down @@ -466,12 +481,12 @@ label cho_tactics: with fade gen "We'll test the tactics during the next practice like usual." ("base", xpos="far_left", ypos="head") - cho "Do we have to? I'm sure it will work even without trying it." ("clench", "base", "raised", "mid", cheeks="blush") - gen "Of course we do! You're the one that was so adamant last time..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Do we have to? I'm sure it will work even without trying it." ("clench", "base", "raised", "mid") + gen "Of course we do! You're the one who was so adamant last time..." ("base", xpos="far_left", ypos="head") gen "So let's see those results!" ("base", xpos="far_left", ypos="head") - cho "Yeah... Great, just let me know when..." ("normal", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "Yeah... Great, just let me know when..." ("normal", "closed", "base", "mid") gen "I certainly shall." ("grin", xpos="far_left", ypos="head") - gen "But this will do for today, [cho_name]." ("base", xpos="far_left", ypos="head") + gen "But this will do for today, [name_cho_genie]." ("base", xpos="far_left", ypos="head") if game.daytime: cho "I'll head back to class then." ("open", "base", "base", "R") @@ -482,8 +497,8 @@ label cho_tactics: call cho_walk(action="leave") - $ cho_quid.lock_practice = False - $ cho_quid.lock_tactic = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.lock_tactic = True $ cho.equip(cho_outfit_last) call popup("Cho's practice matches have been unlocked.", "Congratulations!", "interface/icons/head/cho.webp") @@ -493,7 +508,7 @@ label cho_tactics: jump end_cho_event - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor call cho_walk(600, 150+180) @@ -506,9 +521,9 @@ label cho_tactics: label .change_above: # The ~Panties~ position! - $ cho_quid.position = "above" + $ states.cho.ev.quidditch.position = "above" - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff gen "Now, start with getting in front of me..." ("base", xpos="far_left", ypos="head") @@ -521,11 +536,11 @@ label cho_tactics: cho "Is this not high enough to see my--" ("annoyed", "base", "raised", "mid", ypos="head", flip=False) gen "Fly right above my head!" ("angry", xpos="far_left", ypos="head") gen "Show me those panties!" ("angry", xpos="far_left", ypos="head") - cho "Of course, [cho_genie_name]..." ("base", "base", "base", "downR", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "Of course, [name_genie_cho]..." ("base", "base", "base", "downR", ypos="head", flip=False) call cho_walk(500, 100+180) - cho "How is this?" ("soft", "base", "base", "down", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "How is this?" ("soft", "base", "base", "down", ypos="head", flip=False) # TODO: Panty shot CG? @@ -536,12 +551,12 @@ label cho_tactics: gen "Yes, fantastic!" ("angry", xpos="far_left", ypos="head") gen "You have very cute panties, girl!" ("grin", xpos="far_left", ypos="head") - cho "*Ehm*...{w=0.5} Thank you, [cho_genie_name]." ("annoyed", "base", "base", "down", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "*Ehm*...{w=0.5} Thank you, [name_genie_cho]." ("annoyed", "base", "base", "down", ypos="head", flip=False) gen "(I have created the ultimate up-skirt!)" ("base", xpos="far_left", ypos="head") gen "(Nothing can stop us now...)" ("base", xpos="far_left", ypos="head") cho "Can I come down now?" ("soft", "base", "base", "downR", ypos="head", flip=False) gen "Give me another minute." ("grin", xpos="far_left", ypos="head") - cho "*Tsk*" ("normal", "base", "raised", "L", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "*Tsk*" ("normal", "base", "raised", "L", ypos="head", flip=False) gen "Okay, you can come down now." ("base", xpos="far_left", ypos="head") #Cho flies down @@ -551,7 +566,7 @@ label cho_tactics: hide cho_main with fade - cho "Enjoyed the view?" ("upset", "base", "angry", "mid", cheeks="blush") #angry/annoyed + cho @ cheeks blush "Enjoyed the view?" ("upset", "base", "angry", "mid") #angry/annoyed gen "Very much so." ("base", xpos="far_left", ypos="head") cho "Good!" ("smile", "base", "base", "mid") cho "Then I'm sure Cedric will like it too..." ("base", "closed", "base", "mid") @@ -574,9 +589,9 @@ label cho_tactics: call cho_walk(action="leave") - $ cho_quid.lock_practice = False - $ cho_quid.lock_tactic = True - $ cho_quid.hufflepuff_prepared = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.lock_tactic = True + $ states.cho.ev.quidditch.hufflepuff_prepared = True $ cho.equip(cho_outfit_last) call popup("Cho's practice matches have been unlocked.", "Congratulations!", "interface/icons/head/cho.webp") @@ -586,10 +601,10 @@ label cho_tactics: jump end_cho_event - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin - cho "Above you, [cho_genie_name]?" ("annoyed", "base", "raised", "mid", ypos="head", flip=False) + cho "Above you, [name_genie_cho]?" ("annoyed", "base", "raised", "mid", ypos="head", flip=False) gen "Yes, above..." ("base", xpos="far_left", ypos="head") cho "Okay..." ("upset", "base", "base", "mid", ypos="head", flip=False) @@ -599,7 +614,7 @@ label cho_tactics: cho "You think?" ("angry", "base", "raised", "mid", ypos="head", flip=False) #annoyed gen "Yeah, how about instead you..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 3: + elif states.cho.tier == 3: #Gryffindor cho "You want me to fly... above you?" ("clench", "base", "raised", "mid", ypos="head", flip=False) @@ -619,9 +634,9 @@ label cho_tactics: label .change_close: # The ~intimate~ position! - $ cho_quid.position = "close" + $ states.cho.ev.quidditch.position = "close" - if cho_tier == 1: + if states.cho.tier == 1: # Hufflepuff cho "Close? How would you be able to see my--" ("annoyed", "base", "base", "mid", ypos="head", flip=False) @@ -633,7 +648,7 @@ label cho_tactics: cho "No shi--" ("open", "narrow", "base", "mid", ypos="head", flip=False) gen "Let's try this instead..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 2: + elif states.cho.tier == 2: # Slytherin cho "Close?" ("annoyed", "base", "base", "mid", ypos="head", flip=False) @@ -645,21 +660,21 @@ label cho_tactics: cho "Yeah, this is not going to work..." ("disgust", "narrow", "base", "mid", ypos="head", flip=False) gen "Fine, let's have you..." ("base", xpos="far_left", ypos="head") - elif cho_tier == 3: + elif states.cho.tier == 3: # Gryffindor gen "Come as close to me as you can..." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]." ("soft", "base", "base", "R", ypos="head", flip=False) + cho "Yes, [name_genie_cho]." ("soft", "base", "base", "R", ypos="head", flip=False) call cho_walk(450, 240+180) - cho "How's this? Too close?" ("soft", "wink", "raised", "mid", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "How's this? Too close?" ("soft", "wink", "raised", "mid", ypos="head", flip=False) gen "No! It's the perfect distance!" ("base", xpos="far_left", ypos="head") gen "They would be able to smell you if you got any closer!" ("base", xpos="far_left", ypos="head") - cho "I hope not!" ("quiver", "closed", "worried", "mid", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "I hope not!" ("quiver", "closed", "worried", "mid", ypos="head", flip=False) gen "Why? You smell lovely, girl!" ("grin", xpos="far_left", ypos="head") - cho "*Ehm*...{w=0.5} Thank you, [cho_genie_name]." ("soft", "base", "worried", "mid", cheeks="blush", ypos="head", flip=False) - cho "Can I come down now?" ("soft", "narrow", "base", "mid", cheeks="blush", ypos="head", flip=False) + cho @ cheeks blush "*Ehm*...{w=0.5} Thank you, [name_genie_cho]." ("soft", "base", "worried", "mid", ypos="head", flip=False) + cho @ cheeks blush "Can I come down now?" ("soft", "narrow", "base", "mid", ypos="head", flip=False) gen "Of course." ("base", xpos="far_left", ypos="head") #Cho flies down @@ -674,23 +689,23 @@ label cho_tactics: gen "Oh yeah, them to!" ("base", xpos="far_left", ypos="head") cho "Just let me know when to try it out against them." ("normal", "base", "raised", "mid") gen "Certainly... Oh, and keep wearing that scent, whatever it is." ("base", xpos="far_left", ypos="head") - cho "It's just deodorant..." ("clench", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "It's just deodorant..." ("clench", "base", "raised", "mid") gen "Yes, that! Keep wearing it!" ("base", xpos="far_left", ypos="head") if game.daytime: cho "If that is all, I'll head back to class." ("base", "narrow", "base", "R") gen "Yes, that shall do for today." ("base", xpos="far_left", ypos="head") - cho "Good day to you, [cho_genie_name]..." ("soft", "narrow", "base", "mid") + cho "Good day to you, [name_genie_cho]..." ("soft", "narrow", "base", "mid") else: cho "If that is all, I'll head back to my dorm." ("base", "narrow", "base", "R") gen "Yes, that shall do for today." ("base", xpos="far_left", ypos="head") - cho "Goodnight, [cho_genie_name]..." ("soft", "narrow", "base", "mid") + cho "Goodnight, [name_genie_cho]..." ("soft", "narrow", "base", "mid") call cho_walk(action="leave") - $ cho_quid.lock_practice = False - $ cho_quid.lock_tactic = True + $ states.cho.ev.quidditch.lock_practice = False + $ states.cho.ev.quidditch.lock_tactic = True $ cho.equip(cho_outfit_last) call popup("Cho's practice matches have been unlocked.", "Congratulations!", "interface/icons/head/cho.webp") diff --git a/game/scripts/characters/cho/events/requests/manipulate_boys.rpy b/game/scripts/characters/cho/events/requests/manipulate_boys.rpy index f591ad12..2c826404 100644 --- a/game/scripts/characters/cho/events/requests/manipulate_boys.rpy +++ b/game/scripts/characters/cho/events/requests/manipulate_boys.rpy @@ -8,14 +8,14 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="right", ypos="base", trans=fade) ### Tier 1 (pre Hufflepuff) ### - if cho_tier == 1: + if states.cho.tier == 1: # Intro - if cc_pr_manipulate_boys.points == 0: + if not _events_filtered_completed_any: gen "So what do we know about our opponents?" ("base", xpos="far_left", ypos="head") - cho "Hufflepuff? Well their team isn't the best, but they have a really strong seeker." ("soft", "base", "base", "mid") + cho "Hufflepuff? Well, their team isn't the best, but they have a really strong seeker." ("soft", "base", "base", "mid") gen "Right...{w=0.3} who was that again?" ("base", xpos="far_left", ypos="head") - cho "Cedric Diggory. How often do I have to repeat that to you, [cho_genie_name]?" ("annoyed", "narrow", "base", "mid") + cho "Cedric Diggory. How often do I have to repeat that to you, [name_genie_cho]?" ("annoyed", "narrow", "base", "mid") gen "You will understand once you get to be my age..." ("base", xpos="far_left", ypos="head") cho "Oh, I'm sorry, Sir." ("soft", "narrow", "worried", "mid") cho "I should be more respectful of your age." ("soft", "narrow", "base", "downR") @@ -23,17 +23,17 @@ label cc_pr_manipulate_boys_start: cho "Cedric is a bit of a blockhead, but he's quite a competent seeker." ("open", "base", "raised", "R") cho "And very popular with the girls..." ("soft", "base", "raised", "mid") gen "Do I sense a little bit of something in your voice?" ("base", xpos="far_left", ypos="head") - cho "Of course not! We stopped dating ages ago!" ("soft", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "Of course not! We stopped dating ages ago!" ("soft", "base", "base", "downR") cho "I didn't want to be seen with an idiot like him anymore..." ("open", "closed", "angry", "mid") cho "Not if I'm supposed to be a proper Ravenclaw..." ("annoyed", "narrow", "angry", "mid") - cho "{size=-4}Even if he's cute...{/size}" ("normal", "base", "worried", "downR", cheeks="blush") # Small text. + cho @ cheeks blush "{size=-4}Even if he's cute...{/size}" ("normal", "base", "worried", "downR") # Small text. gen "That's good. We can use this to our advantage." ("base", xpos="far_left", ypos="head") cho "We can? How?" ("soft", "wide", "base", "mid") - gen "You two having history! Which means he'll be much easier to distract during the game." ("base", xpos="far_left", ypos="head") + gen "You two, having history! Which means he'll be much easier to distract during the game." ("base", xpos="far_left", ypos="head") gen "All you have to do is make him believe something might actually happen." ("base", xpos="far_left", ypos="head") cho "What?{w=0.3} I don't want to go out with Cedric again!" ("angry", "wide", "base", "mid") gen "I know, I know, you just have to make him believe that you will." ("base", xpos="far_left", ypos="head") - cho "Oh..." ("soft", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "Oh..." ("soft", "base", "base", "downR") cho "Well... how do I do that?" ("annoyed", "base", "base", "mid") gen "It's a little something called {b}seduction{/b}..." ("base", xpos="far_left", ypos="head") gen "It should be your gender's bread and butter." ("base", xpos="far_left", ypos="head") @@ -57,27 +57,27 @@ label cc_pr_manipulate_boys_start: cho "So I just have to make him think there's something between us again?" ("soft", "base", "base", "mid") cho "I think I can do that..." ("annoyed", "narrow", "base", "down") gen "Good, let me know how it goes..." ("base", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]!" ("base", "base", "base", "mid") + cho "Yes, [name_genie_cho]!" ("base", "base", "base", "mid") # Repeated else: gen "Ready to mess with Hufflepuff again?" ("base", xpos="far_left", ypos="head") - cho "I guess so..." (mouth="soft", face="happy") - gen "Great! I'll see you later today for your report, [cho_name]!" ("grin", xpos="far_left", ypos="head") - cho "Yes, [cho_genie_name]!" ("base", "base", "base", "mid") + cho "I guess so..." ("soft", "base", "base", "mid") + gen "Great! I'll see you later today for your report, [name_cho_genie]!" ("grin", xpos="far_left", ypos="head") + cho "Yes, [name_genie_cho]!" ("base", "base", "base", "mid") ### Tier 2 (pre Slytherin) ### - elif cho_tier == 2: + elif states.cho.tier == 2: # Intro - if cc_pr_manipulate_boys.points == 0: - gen "[cho_name], how well -- in your opinion -- did you do in your last match?" ("base", xpos="far_left", ypos="head") + if not _events_filtered_completed_any: + gen "[name_cho_genie], how well -- in your opinion -- did you do in your last match?" ("base", xpos="far_left", ypos="head") cho "Well, I pretty much secured the win for my team, distracting those Hufflepuffs--" ("base", "closed", "base", "mid") gen "Only one Hufflepuff!{w=0.6} We were lucky you could secure that win with such low effort..." ("base", xpos="far_left", ypos="head") - cho "(...)" ("annoyed", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "(...)" ("annoyed", "closed", "base", "mid") gen "We have to up our game to win against the next house, don't you think?" ("base", xpos="far_left", ypos="head") gen "Manipulating just one player won't be enough this time! We have to put our focus on their entire team!" ("base", xpos="far_left", ypos="head") - cho "*Hmm*... As much as I don't like it, you might be right about that, [cho_genie_name]." ("open", "narrow", "worried", "downR", cheeks="blush") + cho @ cheeks blush "*Hmm*... As much as I don't like it, you might be right about that, [name_genie_cho]." ("open", "narrow", "worried", "downR") cho "Slytherin's team is quite good overall, and they have some of the best players at this school." ("open", "narrow", "base", "mid") cho "What do you suggest I should do?" ("annoyed", "narrow", "worried", "mid") gen "Same as with that Diggory boy!" ("base", xpos="far_left", ypos="head") @@ -89,23 +89,23 @@ label cc_pr_manipulate_boys_start: cho "But, Sir... What if someone were to see me with them?" ("soft", "narrow", "angry", "mid") "\"Make out with them...\"": - cho "Make out with?{w=0.6} Those Slytherins--" ("soft", "wide", "worried", "mid", cheeks="heavy_blush") - cho "*guargh*" ("open_tongue", "happyCl", "angry", "mid", cheeks="blush", trans=hpunch) - cho "*cough*{w=0.6}-*guargh*!{w=0.8}-*cough*" ("open_wide_tongue", "happyCl", "worried", "mid", cheeks="blush", trans=hpunch) - call nar(">You hear Cho make some inadvertent gag noises...") + cho @ cheeks heavy_blush "Make out with?{w=0.6} Those Slytherins--" ("soft", "wide", "worried", "mid") + cho @ cheeks blush "*guargh*" ("open_tongue", "happyCl", "angry", "mid", trans=hpunch) + cho @ cheeks blush "*cough*{w=0.6}-*guargh*!{w=0.8}-*cough*" ("open_wide_tongue", "happyCl", "worried", "mid", trans=hpunch) + nar "You hear Cho make some inadvertent gag noises..." gen "Is everything okay, girl?" ("base", xpos="far_left", ypos="head") - cho "No!{w=0.3} It's not okay!" ("angry", "wide", "worried", "mid", cheeks="blush") - cho "Why would you think I want to snog those repulsive, yuck-ugly Slytherin degenerates?!" ("open", "wide", "worried", "mid", cheeks="blush") - cho "The thought alone utterly disgusts me, [cho_genie_name]!" ("open_tongue", "happyCl", "worried", "mid", cheeks="blush") + cho @ cheeks blush "No!{w=0.3} It's not okay!" ("angry", "wide", "worried", "mid") + cho @ cheeks blush "Why would you think I want to snog those repulsive, yuck-ugly Slytherin degenerates?!" ("open", "wide", "worried", "mid") + cho @ cheeks blush "The thought alone utterly disgusts me, [name_genie_cho]!" ("open_tongue", "happyCl", "worried", "mid") cho "I'll do anything but that!" ("mad", "narrow", "worried", "mid") gen "So no kissing?" ("base", xpos="far_left", ypos="head") - cho "Absolutely not!{w=0.8} Not even with Malfoy..." ("angry", "closed", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Absolutely not!{w=0.8} Not even with Malfoy..." ("angry", "closed", "angry", "mid") gen "Very well.{w=0.3} Just flirt with them in that case..." ("base", xpos="far_left", ypos="head") cho "And what if someone were to see me with them?" ("soft", "narrow", "angry", "mid") gen "Would that be an issue?" ("base", xpos="far_left", ypos="head") cho "Since they are on the enemy team, yes!" ("annoyed", "narrow", "angry", "mid") - cho "What if my team was to find out I hang around Slytherins?" ("angry", "base", "base", "mid") + cho "What if my team were to find out I hang around Slytherins?" ("angry", "base", "base", "mid") cho "{b}Slytherins!!{/b}" ("clench", "wide", "base", "mid") gen "So? Just do it in secret then." ("base", xpos="far_left", ypos="head") cho "That...{w=0.3} might work." ("annoyed", "base", "base", "R") @@ -121,7 +121,7 @@ label cc_pr_manipulate_boys_start: #cho "I could still try to flirt with them a bit, I guess." ("soft", "base", "worried", "mid") #gen "I doubt that that will be enough..." ("base", xpos="far_left", ypos="head") #cho "" ("annoyed", "base", "worried", "mid") - cho "I'll try my best, [cho_genie_name]." ("smile", "narrow", "base", "mid") + cho "I'll try my best, [name_genie_cho]." ("smile", "narrow", "base", "mid") gen "Let's just see how it goes." ("base", xpos="far_left", ypos="head") gen "If anything goes wrong...{w=0.8} just improvise..." ("base", xpos="far_left", ypos="head") cho "Very well, Sir." ("base", "base", "base", "mid") @@ -132,15 +132,15 @@ label cc_pr_manipulate_boys_start: else: gen "Time to brighten up some Slytherin's day again..." ("base", xpos="far_left", ypos="head") gen "Go and get their players on {i}your{/i} side!" ("grin", xpos="far_left", ypos="head") - cho "I will try my best, [cho_genie_name]!" (mouth="smile", face="happy") - gen "Report to me later as usual, [cho_name]!" ("grin", xpos="far_left", ypos="head") + cho "I will try my best, [name_genie_cho]!" ("smile", "narrow", "base", "mid") + gen "Report to me later as usual, [name_cho_genie]!" ("grin", xpos="far_left", ypos="head") cho "Yes, Sir!" ("base", "base", "base", "mid") ### Tier 2 (pre Gryffindor) ### - elif cho_tier == 3: - if not cc_pr_manipulate_boys.is_event_complete(3, 1): # Completed The Twins? + elif states.cho.tier == 3: + if not states.cho.ev.manipulate_boys.t3_e1_complete: # Completed The Twins? - if not cc_pr_spy_boys.is_event_complete(3, 1): + if not states.cho.ev.spy_on_boys.t3_e1_complete: # Return if player has not spied on the Twins just yet. gen "Let's try and manipulate the boys on the enemy team!" ("base", xpos="far_left", ypos="head") @@ -150,7 +150,8 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "Time to manipulate the enemy a bit." ("base", xpos="far_left", ypos="head") @@ -167,9 +168,9 @@ label cc_pr_manipulate_boys_start: cho "Wish me luck!" ("open", "narrow", "base", "mid") gen "Good luck." ("base", xpos="far_left", ypos="head") - elif not cc_pr_manipulate_boys.is_event_complete(3, 2): # Completed Ron Weasley? + elif not states.cho.ev.manipulate_boys.t3_e2_complete: # Completed Ron Weasley? - if not cc_pr_spy_boys.is_event_complete(3, 2): + if not states.cho.ev.spy_on_boys.t3_e2_complete: # Return if player has not spied on Ron Weasley just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") @@ -180,27 +181,28 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "Let's target the other Weasley boy this time." ("base", xpos="far_left", ypos="head") cho "You actually want me to target that pervert?" ("disgust", "narrow", "base", "mid") gen "Sort of... He won't be the main goal of this operation." ("base", xpos="far_left", ypos="head") cho "Then, what is?" ("annoyed", "base", "base", "mid") - gen "Miss Granger is quite protective of her friends isn't she?" ("base", xpos="far_left", ypos="head") - cho "I guess... The few times I've seen them without her she's usually just around the corner talking to some teacher or another." ("open", "narrow", "base", "downR") - gen "Then use those moments to your advantage... Miss Granger is also part of the game isn't she?" ("base", xpos="far_left", ypos="head") + gen "Miss Granger is quite protective of her friends, isn't she?" ("base", xpos="far_left", ypos="head") + cho "I guess... The few times I've seen them without her, she's usually just around the corner talking to some teacher or another." ("open", "narrow", "base", "downR") + gen "Then use those moments to your advantage... And remember, Miss Granger is also part of the game." ("base", xpos="far_left", ypos="head") gen "If you can somehow spark that jealousy or protectiveness of her friends..." ("base", xpos="far_left", ypos="head") - gen "Angering her enough could transfer to the game... And since she'll be stuck in the commentator booth the whole time she won't be able to pull them away from you." ("base", xpos="far_left", ypos="head") + gen "Angering her enough could transfer to the game... And since she'll be stuck in the commentator booth the whole time, she won't be able to pull them away from you." ("base", xpos="far_left", ypos="head") cho "..." ("mad", "wide", "raised", "mid") cho "That might actually work..." ("crooked_smile", "base", "base", "R") - cho "If anything it gives me an excuse to piss her off..." ("crooked_smile", "closed", "base", "mid") + cho "If anything, it gives me an excuse to piss her off..." ("crooked_smile", "closed", "base", "mid") cho "Not that I've needed one previously." ("smile", "closed", "base", "mid") #smirk gen "Then it's settled, report to me in the evening as usual." ("base", xpos="far_left", ypos="head") cho "Will do!" ("smile", "base", "base", "mid") - elif not cc_pr_manipulate_boys.is_event_complete(3, 3): # Completed Harry Potter? + elif not states.cho.ev.manipulate_boys.t3_e3_complete: # Completed Harry Potter? - if not cc_pr_spy_boys.is_event_complete(3, 3): + if not states.cho.ev.spy_on_boys.t3_e3_complete: # Return if player has not spied on Harry Potter just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") cho "I'm going to stop you there..." ("angry", "base", "raised", "mid") @@ -210,7 +212,8 @@ label cc_pr_manipulate_boys_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "How about we annoy Miss Granger some more?" ("base", xpos="far_left", ypos="head") cho "Of course!" ("crooked_smile", "base", "base", "mid") @@ -220,7 +223,7 @@ label cc_pr_manipulate_boys_start: cho "..." ("mad", "base", "base", "mid") #annoyed gen "*Ahem*... Yes..." ("base", xpos="far_left", ypos="head") gen "Try and really get under her skin this time!" ("base", xpos="far_left", ypos="head") - cho "That shouldn't be very hard seeing how she reacted last time..." ("smile", "base", "raised", "R") + cho "That shouldn't be very hard, seeing how she reacted last time..." ("smile", "base", "raised", "R") cho "Wish me luck!" ("smile", "base", "base", "mid") gen "Good luck." ("base", xpos="far_left", ypos="head") @@ -236,7 +239,6 @@ label cc_pr_manipulate_boys_start: # Cho leaves early! call cho_walk(action="leave") - $ cc_pr_manipulate_boys.inProgress = True gen "Twins..." ("base", xpos="far_left", ypos="head") gen "Well, can't say she lacks motivation anymore..." ("base", xpos="far_left", ypos="head") @@ -247,14 +249,8 @@ label cc_pr_manipulate_boys_start: # Cho leaves. call cho_walk(action="leave") - $ cc_pr_manipulate_boys.inProgress = True - jump end_cho_event - - -### Return Events ### - ### Tier 1 (pre Hufflepuff) ### label cc_pr_manipulate_boys_T1_intro_E1: @@ -262,12 +258,12 @@ label cc_pr_manipulate_boys_T1_intro_E1: # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" (face="happy", xpos="mid", ypos="base", trans=fade) + cho "" ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "How did it go?" ("base", xpos="far_left", ypos="head") cho "It went...{w=0.3} well?" ("soft", "base", "raised", "R") cho "Maybe a little too well... He tried to kiss me!" ("annoyed", "base", "raised", "mid") gen "Really? Nice work!{w=0.6} Did you slip him a little tongue?" ("grin", xpos="far_left", ypos="head") - cho "[cho_genie_name]!{w=0.3} No, of course not!" ("soft", "wide", "base", "mid") + cho "[name_genie_cho]!{w=0.3} No, of course not!" ("soft", "wide", "base", "mid") gen "Why not?" ("base", xpos="far_left", ypos="head") cho "Because I'm not some slut who gives it away for free!" ("annoyed", "narrow", "angry", "mid") gen "It was only a kiss..." ("base", xpos="far_left", ypos="head") @@ -281,15 +277,15 @@ label cc_pr_manipulate_boys_T1_intro_E1: cho "If you say so..." ("annoyed", "base", "base", "down") gen "Just keep in mind why we're doing this." ("base", xpos="far_left", ypos="head") gen "You can't chicken out of something as small as a kiss -- if you want Ravenclaw to have a chance!" ("angry", xpos="far_left", ypos="head") - cho "Right, [cho_genie_name]!" ("soft", "narrow", "worried", "mid") + cho "Right, [name_genie_cho]!" ("soft", "narrow", "worried", "mid") gen "That'll be all for now, you can go." ("base", xpos="far_left", ypos="head") - cho "Thank you, [cho_genie_name]." ("base", "base", "base", "mid") + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 jump end_cho_event @@ -299,15 +295,15 @@ label cc_pr_manipulate_boys_T1_E1: # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" (face="happy", xpos="mid", ypos="base", trans=fade) + cho "" ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "What's my favourite Quidditch player been up to today?" ("base", xpos="far_left", ypos="head") - cho "I think you'll be happy, [cho_genie_name]!" ("base", "narrow", "base", "mid") + cho "I think you'll be happy, [name_genie_cho]!" ("base", "narrow", "base", "mid") gen "I like the sound of that! Tell me what happened." ("grin", xpos="far_left", ypos="head") cho "Well, I thought about the best way to get to Cedric -- and I remembered how much he loved my bum!" ("soft", "base", "base", "R") gen "*Mhmm*... I can't say I blame him..." ("base", xpos="far_left", ypos="head") gen "Let me guess, you tried the old \"drop your pencil trick\" on him?" ("base", xpos="far_left", ypos="head") cho "\"Pencil trick\"?" ("mad", "base", "raised", "mid") - gen "Yes. You \"accidentally\" drop your pencil, and then when you have the boy's attention, you bent down and--" ("base", xpos="far_left", ypos="head") + gen "Yes. You \"accidentally\" drop your pencil, and then when you have the boy's attention, you bend down and--" ("base", xpos="far_left", ypos="head") cho "Sir, we're only allowed to use \"quills\" here." ("soft", "closed", "base", "mid") gen "So just use \"quills\" instead?" ("base", xpos="far_left", ypos="head") cho "That would just make a mess and get ink everywhere..." ("annoyed", "narrow", "angry", "mid") @@ -319,11 +315,11 @@ label cc_pr_manipulate_boys_T1_E1: gen "No it isn't." ("base", xpos="far_left", ypos="head") cho "In any case, I think it worked." ("open", "narrow", "raised", "R") cho "He couldn't keep his eyes off my bum for the rest of classes!" ("base", "narrow", "angry", "mid") - gen "Well done, [cho_name]! You may leave now." ("grin", xpos="far_left", ypos="head") + gen "Well done, [name_cho_genie]! You may leave now." ("grin", xpos="far_left", ypos="head") cho "Thank you, Sir." ("smile", "happyCl", "base", "mid") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 # Cho leaves. call cho_walk(action="leave") @@ -336,39 +332,39 @@ label cc_pr_manipulate_boys_T1_E2: # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" (face="annoyed", xpos="mid", ypos="base", trans=fade) - gen "[cho_name]! Do you have some good news for me?" ("angry", xpos="far_left", ypos="head") + cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_cho_genie]! Do you have some good news for me?" ("angry", xpos="far_left", ypos="head") cho "I'm afraid not this time, Sir." ("soft", "narrow", "worried", "mid") gen "Why not? Tell me what happened..." ("base", xpos="far_left", ypos="head") cho "Well, today I saw Cedric again down in the dungeons." ("open", "narrow", "worried", "R") gen "{size=-2}(The dungeons? I like where this is going already!){/size}" ("grin", xpos="far_left", ypos="head") - cho "Before I approached him I removed my Ravenclaw tie, and unbuttoned the top of my blouse." ("open", "closed", "base", "mid") - gen "A very well thought out strategy, girl!" ("base", xpos="far_left", ypos="head") + cho "Before I approached him, I removed my Ravenclaw tie, and unbuttoned the top of my blouse." ("open", "closed", "base", "mid") + gen "A very well-thought-out strategy, girl!" ("base", xpos="far_left", ypos="head") cho "I thought it would be enough to get his attention." ("soft", "narrow", "raised", "mid") gen "Which I assume you got straight away?" ("base", xpos="far_left", ypos="head") - cho "No, Sir. But somebody else's..." ("disgust", "narrow", "worried", "down", cheeks="blush") + cho @ cheeks blush "No, Sir. But somebody else's..." ("disgust", "narrow", "worried", "down") gen "Intriguing!{w=0.3} Who else did you manage to snag?" ("grin", xpos="far_left", ypos="head") - cho "Professor Slughorn, Sir." ("mad", "base", "worried", "mid", cheeks="blush") + cho @ cheeks blush "Professor Slughorn, Sir." ("mad", "base", "worried", "mid") gen "Who?" ("base", xpos="far_left", ypos="head") - cho "{size=+4}Professor Slughorn!{/size}" ("scream", "closed", "angry", "mid", cheeks="blush", trans=hpunch) + cho @ cheeks blush "{size=+4}Professor Slughorn!{/size}" ("scream", "closed", "angry", "mid", trans=hpunch) cho "He -- once again -- had to stand in for professor Snape, who couldn't make it in time for his lecture." ("open", "narrow", "angry", "R") - gen "Snape is missing his classes? How often has this been happening?" ("base", xpos="far_left", ypos="head") + gen "Snape is missing his classes? For how long has this been happening?" ("base", xpos="far_left", ypos="head") cho "Probably every other week or so." ("annoyed", "narrow", "raised", "R") gen "{size=-2}(Slacker...){/size}" ("base", xpos="far_left", ypos="head") cho "Anyway...{w=0.3} Slughorn sort of crossed paths with me when I was about to confront Cedric..." ("open", "narrow", "worried", "mid") cho "He came out of nowhere!" ("soft", "wide", "base", "mid") - cho "And he stood so close, he could see right down my cleavage!" ("disgust", "narrow", "worried", "down", cheeks="blush") + cho @ cheeks blush "And he stood so close, he could see right down my cleavage!" ("disgust", "narrow", "worried", "down") gen "{size=-2}(What a lucky git!){/size}" ("angry", xpos="far_left", ypos="head") cho "I couldn't move a single muscle! It was like I was frozen in place!" ("soft", "narrow", "worried", "R") - cho "What if something like that would happen during the game?!" ("soft", "narrow", "worried", "mid") + cho "What if something like that happened during the game?!" ("soft", "narrow", "worried", "mid") gen "You're right. That could be an issue..." ("base", xpos="far_left", ypos="head") - cho "And the worst thing is, he just kept staring!" ("clench", "happyCl", "worried", "mid", cheeks="blush") + cho @ cheeks blush "And the worst thing is, he just kept staring!" ("clench", "happyCl", "worried", "mid") gen "And then? What happened?" ("base", xpos="far_left", ypos="head") cho "He commended me about how well I did in my last potion lesson with him, then awarded Ravenclaw five house points for my efforts." ("soft", "narrow", "angry", "mid") gen "Sounds like a nice guy..." ("base", xpos="far_left", ypos="head") - cho "But Sir, I ruined my potion during the last lesson I had with him!" ("quiver", "narrow", "worried", "mid", cheeks="blush") - cho "The only reason he gave me those points, is because I let him stare down my shirt!" ("disgust", "narrow", "worried", "down", cheeks="blush") - cho "I feel so dirty because of it..." ("disgust", "happyCl", "worried", "down", cheeks="blush") + cho @ cheeks blush "But Sir, I ruined my potion during the last lesson I had with him!" ("quiver", "narrow", "worried", "mid") + cho @ cheeks blush "The only reason he gave me those points, is because I let him stare down my shirt!" ("disgust", "narrow", "worried", "down") + cho @ cheeks blush "I feel so dirty because of it..." ("disgust", "happyCl", "worried", "down") gen "You shouldn't feel dirty...{w=0.6} Maybe only \"a little\" dirty, if anything..." ("base", xpos="far_left", ypos="head") cho "I'm sorry, Sir.{w=0.3} May I have permission to leave?" ("soft", "narrow", "worried", "mid") gen "Permission granted...{w=0.3} But try to be more effective next time." ("base", xpos="far_left", ypos="head") @@ -378,8 +374,8 @@ label cc_pr_manipulate_boys_T1_E2: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 jump end_cho_event @@ -389,36 +385,36 @@ label cc_pr_manipulate_boys_T1_E3: # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" (face="happy", xpos="mid", ypos="base", trans=fade) + cho "" ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "So? How did it go?" ("base", xpos="far_left", ypos="head") - cho "Very well, Sir!" (mouth="smile", face="happy") + cho "Very well, Sir!" ("smile", "base", "base", "mid") gen "Yeah? Tell me about it!" ("grin", xpos="far_left", ypos="head") cho "I ran into Cedric on my way to the library...{w} Literally!" ("soft", "wide", "base", "mid") cho "I bumped into him and hit my head pretty hard..." ("soft", "narrow", "worried", "mid") gen "You poor thing..." ("base", xpos="far_left", ypos="head") - cho "It's nothing, Sir. I'm more than capable at enduring pain!" ("soft", "narrow", "angry", "R") + cho "It's nothing, Sir. I'm more than capable of enduring pain!" ("soft", "narrow", "angry", "R") gen "A useful skill to have, I can imagine..." ("base", xpos="far_left", ypos="head") cho "I've grown to be quite tough -- and resistant to all sorts of pain -- after years of playing Quidditch..." ("mad", "narrow", "angry", "mid") - call play_sound("gulp") + play sound "sounds/gulp.ogg" gen "*gulp!*" ("angry", xpos="far_left", ypos="head") cho "Anyway... Cedric helped me back up on my feet." ("soft", "narrow", "base", "R") - cho "But before he could even apologise, I kissed him." ("base", "narrow", "base", "mid", cheeks="blush") - cho "It just... happened..." ("clench", "narrow", "worried", "downR", cheeks="blush") + cho @ cheeks blush "But before he could even apologise, I kissed him." ("base", "narrow", "base", "mid") + cho @ cheeks blush "It just... happened..." ("clench", "narrow", "worried", "downR") gen "Well done, girl!" ("base", xpos="far_left", ypos="head") cho "It was really nice, though." ("soft", "narrow", "base", "mid") - cho "He still is a really good kisser!" ( face="horny") + cho "He still is a really good kisser!" ("horny", "narrow", "base", "R") cho "Compared to most of the others I had..." ("base", "narrow", "base", "mid") gen "!!!" ("angry", xpos="far_left", ypos="head") cho "Anyhow, I should get going." ("open", "base", "base", "R") cho "It's getting late..." ("soft", "base", "worried", "mid") gen "Of course. You are dismissed." ("base", xpos="far_left", ypos="head") - cho "Good night, [cho_genie_name]." ( face="happy") + cho "Good night, [name_genie_cho]." ("smile", "narrow", "base", "mid") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 3: # Points til 3. - $ cho_reputation += 1 + if states.cho.public_level < 3: # Points til 3. + $ states.cho.public_level += 1 jump end_cho_event @@ -432,24 +428,24 @@ label cc_pr_manipulate_boys_T2_intro_E1: call cho_walk(action="enter", xpos="desk", ypos="base") cho "" ("annoyed", "narrow", "worried", "mid", xpos="mid", ypos="base", trans=fade) - gen "Good evening [cho_name]... How did today's task go?" ("base", xpos="far_left", ypos="head") + gen "Good evening [name_cho_genie]... How did today's task go?" ("base", xpos="far_left", ypos="head") cho "I can't believe you convinced me to do this!" ("disgust", "narrow", "worried", "mid") gen "So...{w=0.3} badly I take it?" ("base", xpos="far_left", ypos="head") cho "No, it went perfectly..." ("annoyed", "narrow", "angry", "mid") gen "So why the face?" ("base", xpos="far_left", ypos="head") cho "Well, I did as you suggested.{w=0.6} I left a note for them to meet me alone after class." ("annoyed", "base", "worried", "downR") gen "Great, so did they show?" ("base", xpos="far_left", ypos="head") - cho "Yes... apparently they could read after all... And they met with me after the lesson." ("soft", "narrow", "worried", "R") - cho "Once everyone had left and we were alone in the corridor. I didn't really know how to go about it." ("quiver", "narrow", "worried", "mid", cheeks="blush") - cho "They must have felt how awkward I was as I approached them...{w=0.8} Or they had literally never had any woman approach them before." ("quiver", "base", "worried", "mid", cheeks="blush") + cho "Yes... Apparently they could read after all... And they met up with me after the lesson." ("soft", "narrow", "worried", "R") + cho @ cheeks blush "Once everyone had left, and we were alone in the corridor... Well, I didn't really know how to go about it." ("quiver", "narrow", "worried", "mid") + cho @ cheeks blush "They must have felt how awkward I was as I approached them...{w=0.8} Or they had literally never had any woman approach them before." ("quiver", "base", "worried", "mid") gen "So they didn't get that you were coming onto them?{w=0.6} Surely they can't be that thick..." ("base", xpos="far_left", ypos="head") - cho "No, sir. They got it alright...{w=0.6} perhaps a little too well." ("annoyed", "base", "worried", "down", cheeks="blush") + cho @ cheeks blush "No, sir. They got it alright...{w=0.6} perhaps a little too well." ("annoyed", "base", "worried", "down") cho "Or they're just used to treating those Slytherin skanks as their personal squeeze toys..." ("annoyed", "narrow", "angry", "R") gen "So, what happened?" ("base", xpos="far_left", ypos="head") cho "I came onto them a little bit...{w=0.6} Told them how impressed I was when watching their practice match against Gryffindor." ("open", "closed", "base", "mid") gen "Boosting their ego... Good idea." ("base", xpos="far_left", ypos="head") cho "Thanks." ("soft", "narrow", "base", "downR") - cho "I couldn't stand the idea of complimenting them on their looks, so instead I told them how impressed I was with their pure strength...{w=0.8} which technically isn't a lie." ("horny", "narrow", "worried", "down", cheeks="blush") + cho @ cheeks blush "I couldn't stand the idea of complimenting them on their looks, so instead I told them how impressed I was with their pure strength...{w=0.8} which technically isn't a lie." ("horny", "narrow", "worried", "down") gen "Understandable... but what about making them go a bit easier on you during the game itself?" ("base", xpos="far_left", ypos="head") cho "I'm getting to it..." ("open", "happyCl", "worried", "mid") cho "So, I tried my best to put on a charming voice, and asked if there was anything I could do to persuade them to go easy on me..." ("soft", "narrow", "base", "R") @@ -457,33 +453,33 @@ label cc_pr_manipulate_boys_T2_intro_E1: gen "Sounds like trying to make a cat understand how to bark." ("base", xpos="far_left", ypos="head") cho "Exactly..." ("annoyed", "narrow", "worried", "R") cho "I was a bit frustrated at that point, and running out of options on how I could even make my intentions clear to them..." ("soft", "narrow", "worried", "mid") - cho "So I lifted my skirt a bit to show them my panties." ("soft", "happyCl", "worried", "mid", cheeks="heavy_blush") - gen "You go girl!" ("grin", xpos="far_left", ypos="head") - cho "Well, that's where I messed up...{w=0.6} They took it as an invitation and squeezed my butt cheeks quite hard and painfully." ("quiver", "narrow", "worried", "mid", cheeks="blush") + cho @ cheeks heavy_blush "So I lifted my skirt a bit to show them my panties." ("soft", "happyCl", "worried", "mid") + gen "You go, girl!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Well, that's where I messed up...{w=0.6} They took it as an invitation and squeezed my butt cheeks quite hard and painfully." ("quiver", "narrow", "worried", "mid") gen "Ouch, then what happened?" ("base", xpos="far_left", ypos="head") - cho "I pushed them away of course! I won't just let them grope me as they please!" ("open", "wide", "base", "mid") - cho "But...{w=0.3} I did tell them right after -- if they're kind to me during the game -- that I'll reward them handsomely for it..." ("horny", "narrow", "base", "downR", cheeks="blush") - cho "Not that I have any intentions to do so..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + cho "I pushed them away, of course! I won't just let them grope me as they please!" ("open", "wide", "base", "mid") + cho @ cheeks blush "But...{w=0.3} I did tell them right after -- if they're kind to me during the game -- that I'll reward them handsomely for it..." ("horny", "narrow", "base", "downR") + cho @ cheeks blush "Not that I have any intentions to do so..." ("annoyed", "narrow", "angry", "R") gen "Of course not..." ("base", xpos="far_left", ypos="head") gen "And what about the butt squeeze?" ("grin", xpos="far_left", ypos="head") - cho "What about it, sir?" ("soft", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "What about it, sir?" ("soft", "wide", "base", "mid") gen "Did you like it?" ("grin", xpos="far_left", ypos="head") - cho "Sir! They're Slytherins!" ("angry", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "Sir! They're Slytherins!" ("angry", "wide", "base", "mid") gen "That's not what I asked." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "narrow", "angry", "mid") cho "Can I please go now, Sir?{w} I've done what you asked of me." ("soft", "narrow", "angry", "R") - gen "Yes, [cho_name]." ("base", xpos="far_left", ypos="head") - gen "You've done a great job today getting closer to beating those pesky Slytherins." ("base", xpos="far_left", ypos="head") + gen "Yes, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + gen "You've done a great job today, you're definitely getting closer to beating those pesky Slytherins." ("base", xpos="far_left", ypos="head") cho "Thank you, Sir." ("base", "narrow", "base", "mid") gen "If you remind them of your meeting during the match, then I'm certain their desire to win... will wash away." ("base", xpos="far_left", ypos="head") - cho "*Hmph*..." ("horny", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "*Hmph*..." ("horny", "narrow", "base", "downR") cho "I'll do my best." ("soft", "narrow", "base", "mid") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -495,8 +491,8 @@ label cc_pr_manipulate_boys_T2_E1: cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 - cho "Sir, I managed to corner their seeker when he came out of the boys bathroom." ("soft", "narrow", "base", "mid") - cho "One of the only times those thugs weren't hanging around with him." ("soft", "narrow", "base", "down") + cho "Sir, I managed to corner their seeker when he came out of the boys' bathroom." ("soft", "narrow", "base", "mid") + cho "It's one of the few times those thugs weren't hanging around with him, you see." ("soft", "narrow", "base", "down") gen "Him?" ("base", xpos="far_left", ypos="head") cho "Malfoy..." ("soft", "narrow", "worried", "mid") cho "I cornered him and pushed him back into the bathroom." ("annoyed", "narrow", "base", "R") @@ -509,10 +505,10 @@ label cc_pr_manipulate_boys_T2_E1: gen "Impressive!" ("grin", xpos="far_left", ypos="head") gen "And what was his reaction?" ("base", xpos="far_left", ypos="head") cho "At first he was mostly surprised by the circumstance..." ("soft", "base", "base", "R") - cho "But then I clenched my cheeks so he could get a good feel of what a real athlete feels like." ("smile", "narrow", "angry", "mid") + cho "But then I clenched my cheeks, so he could get a good feel of what a real athlete feels like." ("smile", "narrow", "angry", "mid") cho "When that happened he went from surprised to shocked." ("base", "narrow", "angry", "mid") cho "You should have seen it.{w=0.6} I was actually not as repulsed as I thought I might be." ("horny", "narrow", "base", "mid") - cho "It was quite thrilling actually." ("base", "narrow", "angry", "mid") + cho "It was quite thrilling, actually." ("base", "narrow", "angry", "mid") gen "Why wouldn't you be, you've worked hard on your body." ("base", xpos="far_left", ypos="head") gen "Now you're starting to see some of the benefits." ("base", xpos="far_left", ypos="head") cho "Yeah... yeah! You're right!" ("soft", "wide", "base", "mid") @@ -521,16 +517,16 @@ label cc_pr_manipulate_boys_T2_E1: cho "You're smarter than I gave you credit for... you've not been wrong so far..." ("annoyed", "base", "base", "R") gen "That's why I'm the headmaster." ("grin", xpos="far_left", ypos="head") cho "Will that be all?" ("soft", "base", "base", "mid") - gen "Yes [cho_name], good work today!" ("base", xpos="far_left", ypos="head") + gen "Yes [name_cho_genie], good work today!" ("base", xpos="far_left", ypos="head") cho "Thanks!" ("base", "base", "base", "mid") gen "Have a good night..." ("base", xpos="far_left", ypos="head") - cho "Good night, [cho_genie_name]." ("smile", "narrow", "base", "mid") + cho "Good night, [name_genie_cho]." ("smile", "narrow", "base", "mid") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -543,7 +539,7 @@ label cc_pr_manipulate_boys_T2_intro_E2: cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 gen "Back already? How did it go?" ("base", xpos="far_left", ypos="head") - cho "Not too great this time, [cho_genie_name]." ("soft", "narrow", "worried", "R") + cho "Not too great this time, [name_genie_cho]." ("soft", "narrow", "worried", "R") gen "No? What happened?" ("base", xpos="far_left", ypos="head") cho "Nothing, actually. I didn't see any of their team members all day. Not even at the Quidditch pitch..." ("annoyed", "narrow", "worried", "mid") gen "Odd... Were they hiding from you?" ("base", xpos="far_left", ypos="head") @@ -555,7 +551,7 @@ label cc_pr_manipulate_boys_T2_intro_E2: cho "I swear I could see Malfoy's blonde head around a corner at one point..." ("soft", "narrow", "angry", "downR") cho "But when I was about to confront them, I heard them running off..." ("soft", "narrow", "angry", "mid") cho "Cowards..." ("angry", "narrow", "angry", "mid") - gen "I think this is a good thing, [cho_name]!" ("base", xpos="far_left", ypos="head") + gen "I think this is a good thing, [name_cho_genie]!" ("base", xpos="far_left", ypos="head") cho "You do?" ("soft", "wide", "base", "mid") gen "The fact that they're following you..." ("base", xpos="far_left", ypos="head") gen "It proves that they are weak!{w} They are obsessed with you!" ("angry", xpos="far_left", ypos="head") @@ -564,14 +560,14 @@ label cc_pr_manipulate_boys_T2_intro_E2: gen "They won't be able to keep focus on anything else..." ("base", xpos="far_left", ypos="head") gen "Except your perfect bod!" ("grin", xpos="far_left", ypos="head") cho "I'll do my best, Sir." ("base", "base", "base", "mid") - gen "You may go now, [cho_name]. Nice work!" ("base", xpos="far_left", ypos="head") - cho "Thank you, [cho_genie_name]!" ("smile", "base", "base", "R") + gen "You may go now, [name_cho_genie]. Nice work!" ("base", xpos="far_left", ypos="head") + cho "Thank you, [name_genie_cho]!" ("smile", "base", "base", "R") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event @@ -583,77 +579,78 @@ label cc_pr_manipulate_boys_T2_intro_E3: cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 - gen "[cho_name], how was your day?" ("base", xpos="far_left", ypos="head") + gen "[name_cho_genie], how was your day?" ("base", xpos="far_left", ypos="head") gen "Were you successful this time?" ("base", xpos="far_left", ypos="head") cho "Sir, I believe they are onto me!" ("angry", "narrow", "worried", "mid") gen "Who are... they?" ("base", xpos="far_left", ypos="head") cho "Malfoy and his gang, Sir." ("soft", "base", "base", "R") - cho "They confronted me, outside the girl's bathroom." ("angry", "narrow", "worried", "down", cheeks="blush") + cho @ cheeks blush "They confronted me, outside the girl's bathroom." ("angry", "narrow", "worried", "down") gen "How very rude of them." ("angry", xpos="far_left", ypos="head") - cho "I'm just glad they didn't follow me inside, actually..." ("soft", "base", "worried", "mid", cheeks="blush") + cho @ cheeks blush "I'm just glad they didn't follow me inside, actually..." ("soft", "base", "worried", "mid") gen "But they're boys! They aren't allowed in there!" ("base", xpos="far_left", ypos="head") - cho "Don't underestimate them, [cho_genie_name]." ("soft", "closed", "base", "mid") + cho "Don't underestimate them, [name_genie_cho]." ("soft", "closed", "base", "mid") cho "I doubt that anything would stop them from breaking into a girl's most private place..." ("soft", "narrow", "angry", "mid") gen "They are ruthless!" ("angry", xpos="far_left", ypos="head") gen "What exactly did they want from you?" ("base", xpos="far_left", ypos="head") cho "They questioned me..." ("annoyed", "base", "worried", "R") - cho "About what I'm up to. What my plan is. Why I'm acting...{w=0.8} strangely." ("soft", "narrow", "worried", "downR", cheeks="blush") + cho @ cheeks blush "About what I'm up to... What my plan is, and why I'm acting...{w=0.8} strangely." ("soft", "narrow", "worried", "downR") gen "Strangely? In what way?" ("base", xpos="far_left", ypos="head") - cho "Typically, girls from other houses don't talk to boys from Slytherin..." ("soft", "happyCl", "worried", "mid", cheeks="blush") - cho "Not to mention flirt with them!" ("mad", "narrow", "worried", "down", cheeks="heavy_blush") + cho @ cheeks blush "Typically, girls from other houses don't talk to boys from Slytherin..." ("soft", "happyCl", "worried", "mid") + cho @ cheeks heavy_blush "Not to mention flirt with them!" ("mad", "narrow", "worried", "down") gen "So? What did you do?" ("base", xpos="far_left", ypos="head") - cho "I panicked, [cho_genie_name]!" ("clench", "happyCl", "worried", "mid", cheeks="heavy_blush") - cho "I tried to get out of the situation, although in my haste the only solution I could think of was to..." ("soft", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks heavy_blush "I panicked, [name_genie_cho]!" ("clench", "happyCl", "worried", "mid") + cho @ cheeks blush "I tried to get out of the situation, although in my haste the only solution I could think of was to..." ("soft", "narrow", "base", "downR") gen "Yes?" ("base", xpos="far_left", ypos="head") - cho "Flash them, Sir. I flashed them my breasts!" ("soft", "narrow", "worried", "mid", cheeks="blush") + cho @ cheeks blush "Flash them, Sir. I flashed them my breasts!" ("soft", "narrow", "worried", "mid") gen "Nice!" ("grin", xpos="far_left", ypos="head") - cho "I'm sorry, Sir.{w=0.6} I shouldn't have done it!" ("disgust", "narrow", "worried", "down", cheeks="heavy_blush") + cho @ cheeks heavy_blush "I'm sorry, Sir.{w=0.6} I shouldn't have done it!" ("disgust", "narrow", "worried", "down") gen "And what was their reaction?" ("grin", xpos="far_left", ypos="head") - cho "I don't know... They were surprised?" ("angry", "wink", "raised", "mid", cheeks="blush") - cho "I closed my eyes through most of it, and then I ran off..." ("soft", "base", "worried", "down", cheeks="blush") + cho @ cheeks blush "I don't know... They were surprised?" ("angry", "wink", "raised", "mid") + cho @ cheeks blush "I closed my eyes through most of it, and then I ran off..." ("soft", "base", "worried", "down") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - cho "Did I go too far, [cho_genie_name]?" ("soft", "narrow", "worried", "mid", cheeks="blush") + cho @ cheeks blush "Did I go too far, [name_genie_cho]?" ("soft", "narrow", "worried", "mid") gen "No girl, you did great!" ("grin", xpos="far_left", ypos="head") gen "You successfully got yourself out of an intricate situation." ("base", xpos="far_left", ypos="head") gen "You improvised, just as I taught you." ("base", xpos="far_left", ypos="head") - cho "Thank you, Sir." ("base", "narrow", "worried", "mid", cheeks="blush") + cho @ cheeks blush "Thank you, Sir." ("base", "narrow", "worried", "mid") cho "But what would you suggest I do next time something like this happens?" ("soft", "narrow", "worried", "mid") gen "Trust your instincts, it worked once didn't it?" ("base", xpos="far_left", ypos="head") gen "Try it again. Show them your breasts, and see what effects it has on them..." ("base", xpos="far_left", ypos="head") - cho "Show them my breasts?! But I can't possibly do that!" ("clench", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "Show them my breasts?! But I can't possibly do that!" ("clench", "wide", "base", "mid") gen "Why not? Didn't you just do that?" ("base", xpos="far_left", ypos="head") gen "They {b}have{/b} seen your tits, haven't they?" ("base", xpos="far_left", ypos="head") - cho "My tits?!" ("soft", "wide", "base", "mid", cheeks="heavy_blush") - cho "*Ehm*... I mean-- I guess they have seen them now but..." ("soft", "base", "worried", "downR", cheeks="blush") + cho @ cheeks heavy_blush "My tits?!" ("soft", "wide", "base", "mid") + cho @ cheeks blush "*Ehm*... I mean-- I guess they have seen them now but..." ("soft", "base", "worried", "downR") gen "Remember why we are doing this, girl! You need to get into their minds!" ("angry", xpos="far_left", ypos="head") gen "If they want to see your breasts again, or any other part of your body, you show it to them!" ("base", xpos="far_left", ypos="head") - cho "But, Sir!" ("mad", "closed", "worried", "mid", cheeks="blush") # Embarrassed - gen "Do as I say, [cho_name]!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "But, Sir!" ("mad", "closed", "worried", "mid") # Embarrassed + gen "Do as I say, [name_cho_genie]!" ("base", xpos="far_left", ypos="head") gen "Your mission, should you choose to accept it, is to please them!{w} No matter the cost!" ("angry", xpos="far_left", ypos="head") cho "What?!" ("soft", "wide", "base", "mid") gen "For now, you are dismissed." ("base", xpos="far_left", ypos="head") cho "Sir!" ("angry", "base", "angry", "mid") gen "Dismissed!{w} Now go to your dorm..." ("angry", xpos="far_left", ypos="head") cho "Fine..." ("annoyed", "narrow", "angry", "mid") # Annoyed - cho "Good night, [cho_genie_name]." ("soft", "narrow", "angry", "mid") # Angry + cho "Good night, [name_genie_cho]." ("soft", "narrow", "angry", "mid") # Angry # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event - label cc_pr_manipulate_boys_T2_E3: + $ states.cho.ev.manipulate_boys.t2_e4_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) pause .5 - gen "[cho_name]! You're back." ("grin", xpos="far_left", ypos="head") + gen "[name_cho_genie]! You're back." ("grin", xpos="far_left", ypos="head") cho "(...)" ("annoyed", "narrow", "angry", "down") # Annoyed gen "How was your day? Anything exciting to tell me?" ("grin", xpos="far_left", ypos="head") cho "I-- *Ehm*..." ("soft", "narrow", "base", "down") @@ -663,7 +660,7 @@ label cc_pr_manipulate_boys_T2_E3: gen "You showed them your tits again?!" ("angry", xpos="far_left", ypos="head") cho "What? No!" ("soft", "wide", "base", "mid") gen "But you just said--" ("base", xpos="far_left", ypos="head") - cho "They... didn't want to see them..." ("annoyed", "narrow", "angry", "downR", cheeks="blush") + cho @ cheeks blush "They... didn't want to see them..." ("annoyed", "narrow", "angry", "downR") gen "Oh..." ("base", xpos="far_left", ypos="head") gen "(Could it be that they aren't into girls?)" ("base", xpos="far_left", ypos="head") cho "I was on my way to the Quidditch pitch, somewhere close to the library when they ambushed me..." ("soft", "narrow", "base", "R") @@ -679,16 +676,16 @@ label cc_pr_manipulate_boys_T2_E3: cho "But then I remembered what you told me." ("annoyed", "narrow", "base", "mid") cho "That I should do my best to be nice to them... and... try and please them..." ("annoyed", "base", "worried", "down") gen "So? What did you do?" ("base", xpos="far_left", ypos="head") - cho "I asked if they liked it..." ("mad", "happyCl", "worried", "mid", cheeks="blush") + cho @ cheeks blush "I asked if they liked it..." ("mad", "happyCl", "worried", "mid") gen "Liked what?" ("grin", xpos="far_left", ypos="head") - cho "Seeing my breasts, Sir." ("soft", "narrow", "worried", "mid", cheeks="blush") - cho "Instead of insulting them, I begged them not to report me to a teacher -- and in return -- I'd let them see them again!" ("soft", "narrow", "worried", "R", cheeks="blush") + cho @ cheeks blush "Seeing my breasts, Sir." ("soft", "narrow", "worried", "mid") + cho @ cheeks blush "Instead of insulting them, I begged them not to report me to a teacher -- and in return -- I'd let them see them again!" ("soft", "narrow", "worried", "R") gen "And then?" ("grin", xpos="far_left", ypos="head") - cho "They laughed at me!" ("annoyed", "narrow", "angry", "R", cheeks="blush") - cho "Started mocking my breasts even... Calling them small..." ("annoyed", "narrow", "angry", "downR", cheeks="blush") + cho @ cheeks blush "They laughed at me!" ("annoyed", "narrow", "angry", "R") + cho @ cheeks blush "Started mocking my breasts even... Calling them small..." ("annoyed", "narrow", "angry", "downR") gen "How foolish of those boys..." ("base", xpos="far_left", ypos="head") - cho "Well, I had to show them something else instead..." ("soft", "narrow", "worried", "mid", cheeks="blush") - cho "After all, they asked for it." ("annoyed", "narrow", "worried", "down", cheeks="blush") + cho @ cheeks blush "Well, I had to show them something else instead..." ("soft", "narrow", "worried", "mid") + cho @ cheeks blush "After all, they asked for it." ("annoyed", "narrow", "worried", "down") gen "Intriguing..." ("angry", xpos="far_left", ypos="head") cho "They asked to see my bum, Sir!" ("soft", "narrow", "angry", "mid") gen "I see, they are men of culture..." ("grin", xpos="far_left", ypos="head") @@ -704,8 +701,8 @@ label cc_pr_manipulate_boys_T2_E3: cho "Anyway, I left before they had a chance to touch it..." ("annoyed", "narrow", "base", "mid") cho "The last thing I want is their grimy hands on it." ("annoyed", "narrow", "angry", "R") gen "Well, I believe you made the best out of the situation!" ("base", xpos="far_left", ypos="head") - cho "I think so too, [cho_genie_name]!" ("base", "base", "base", "mid") - gen "You may leave now. Exceptionally good work, [cho_name]!" ("angry", xpos="far_left", ypos="head") + cho "I think so too, [name_genie_cho]!" ("base", "base", "base", "mid") + gen "You may leave now. Exceptionally good work, [name_cho_genie]!" ("angry", xpos="far_left", ypos="head") cho "Thank you." ("smile", "base", "base", "R") gen "Dismissed." ("base", xpos="far_left", ypos="head") cho "Good night, Sir." ("base", "base", "base", "mid") @@ -713,37 +710,39 @@ label cc_pr_manipulate_boys_T2_E3: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 9: # Points til 9. - $ cho_reputation += 1 + if states.cho.public_level < 9: # Points til 9. + $ states.cho.public_level += 1 jump end_cho_event label cc_pr_manipulate_boys_T3_twins: + $ states.cho.ev.manipulate_boys.t3_e1_complete = True + # Setup $ cho_outfit_last.save() # Save player outfit - $ cho.strip("all") + $ cho.strip("clothes") $ cho.set_body_hue(200) # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") stop music fadeout 1.0 - gen "Back so soo--" ("base", xpos="far_left", ypos="head") + gen "Back so soon--" ("base", xpos="far_left", ypos="head") - cho "" (face="angry", xpos="mid", ypos="base", trans=fade) + cho "" ("annoyed", "narrow", "angry", "mid", xpos="mid", ypos="base", trans=fade) menu: "\"*Ha-ha-ha-ha*\"": - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed gen "{i}I'm blue, daba dee bada die, {size=-2}daba dee daba die,{/size} {size=-4}daba dee bada die,{/size} {size=-6}daba dee daba die........{/size}{/i}" ("grin", xpos="far_left", ypos="head") - cho "*grr*." ("clench", "wide", "angry", "mid") + cho "*Grr*." ("clench", "wide", "angry", "mid") gen "*Ahem*...{w=0.4} I mean... Oh, no... What happened?" ("base", xpos="far_left", ypos="head") "\"Feeling blue today?\"": - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "Oh? What gave it away?" ("soft", "base", "angry", "mid") cho "My face?" ("clench", "base", "angry", "mid") @@ -751,7 +750,7 @@ label cc_pr_manipulate_boys_T3_twins: gen "So, what happened?" ("base", xpos="far_left", ypos="head") "\"What the hell happened?\"": - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed gen "Didn't expect to see a talking blueberry today!" ("grin", xpos="far_left", ypos="head") gen "Or are you a bilberry?" ("base", xpos="far_left", ypos="head") @@ -759,25 +758,27 @@ label cc_pr_manipulate_boys_T3_twins: gen "Or maybe even a--" ("grin", xpos="far_left", ypos="head") cho "Could you start acting serious for just one moment?!" ("clench", "wide", "angry", "mid") gen "I'm berry serious." ("grin", xpos="far_left", ypos="head") - cho "*urghhhh*! I can't believe you!" ("disgust", "base", "angry", "mid") # Angry noises + cho "*Urghhhh*! I can't believe you!" ("disgust", "base", "angry", "mid") # Angry noises gen "Alright, alright. Tell me what happened." ("base", xpos="far_left", ypos="head") cho "What does it look like what happened?" ("upset", "base", "angry", "down") - gen "Well, to me it looks like you caught a case of the smurfs." ("grin", xpos="far_left", ypos="head") + gen "Well, to me, it looks like you caught a case of the smurfs." ("grin", xpos="far_left", ypos="head") cho "Those bloody twins!" ("angry", "base", "angry", "downR") cho "They tricked me into eating one of their darn sweets!" ("open", "base", "angry", "mid") cho "You should lock those two up..." ("mad", "base", "angry", "mid") gen "I wish I could've been there..." ("grin", xpos="far_left", ypos="head") - cho "WHAT?" ("clench", "wide", "angry", "mid") + cho "{size=+4}WHAT!?{/size}" ("clench", "wide", "angry", "mid") gen "To stop them I mean!" ("angry", xpos="far_left", ypos="head") cho "..." ("annoyed", "base", "angry", "mid") gen "So, why did you come straight to me and not go to your dorm?" ("base", xpos="far_left", ypos="head") cho "And pass through my common room?" ("soft", "base", "angry", "mid") - cho "No thank you... your office was the closest thing to their stupid shop." ("clench", "base", "angry", "R") + cho "No, thank you... Your office was the closest thing to their stupid shop." ("clench", "base", "angry", "R") + if not item_store_intro_done: gen "Shop? What shop?" ("base", xpos="far_left", ypos="head") - cho "Are you kidding me? Surely you must know about them and their shady businesses." ("soft", "base", "angry", "mid") + cho "Are you kidding me? Surely, you must know about them and their shady businesses." ("soft", "base", "angry", "mid") gen "I have no clue what you're talking about." ("base", xpos="far_left", ypos="head") + cho "..." ("disgust", "base", "base", "down") cho "Don't you have any spare robes or anything?" ("open", "base", "worried", "mid") gen "I suppose I--" ("base", xpos="far_left", ypos="head") @@ -788,26 +789,26 @@ label cc_pr_manipulate_boys_T3_twins: gen "You'll figure something out." ("base", xpos="far_left", ypos="head") cho "What!?" ("open", "wide", "base", "mid") cho "You want me to just go out there without any clothes on?" ("clench", "wide", "angry", "mid") - gen "Of course... seems like a great exercise." ("base", xpos="far_left", ypos="head") + gen "Of course... Seems like a great exercise." ("base", xpos="far_left", ypos="head") cho "Exercise? How is this an exercise to you?" ("angry", "base", "angry", "down") - gen "An exercise in confidence, [cho_name]." ("base", xpos="far_left", ypos="head") + gen "An exercise in confidence, [name_cho_genie]." ("base", xpos="far_left", ypos="head") cho "You have got to be joking..." ("disgust", "wide", "base", "mid") cho "So, you're not going to help me?" ("disgust", "base", "angry", "mid") - gen "This one's on you [cho_name]." ("base", xpos="far_left", ypos="head") - cho "*Grrrr*, Whatever..." ("angry", "base", "angry", "mid") + gen "This one's on you [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho "*Grrrr*, whatever..." ("angry", "base", "angry", "mid") # Cho leaves. call cho_walk(action="leave") - $ cho_mood += 20 + $ states.cho.mood += 20 gen "She sure is a feisty one..." ("base", xpos="far_left", ypos="head") "-Offer to fetch her something-": call cc_pr_manipulate_boys_twins_branch - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 $ cho.wear("all") $ cho.set_body_hue(0) @@ -816,10 +817,12 @@ label cc_pr_manipulate_boys_T3_twins: label cc_pr_manipulate_boys_T3_ron: + $ states.cho.ev.manipulate_boys.t3_e2_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" (face="happy", xpos="mid", ypos="base", trans=fade) + cho "" ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "Mission success?" ("base", xpos="far_left", ypos="head") gen "Did you manage to sneak up on Rob?" ("base", xpos="far_left", ypos="head") @@ -827,7 +830,7 @@ label cc_pr_manipulate_boys_T3_ron: gen "Great, let's hear it." ("base", xpos="far_left", ypos="head") cho "I found the perfect opportunity to approach him after practice as Hermione was arguing with Madam Hooch about some rule or another." ("smile", "base", "base", "R") cho "So as she was busy, I went up and praised him on his excellent goal keeping." ("smile", "base", "raised", "mid") - cho "He was quite taken aback by this at first and I doubt he ever recie--" ("smile", "narrow", "raised", "R") + cho "He was quite taken aback by this at first, and I doubt he's ever recie--" ("smile", "narrow", "raised", "R") gen "Surely you didn't just compliment him... That won't be enough to annoy Miss Granger!" ("base", xpos="far_left", ypos="head") cho "Of course not!" ("clench", "base", "raised", "mid") cho "The goal was for him to check me out... Which I soon caught him doing." ("smile", "narrow", "base", "R") @@ -835,19 +838,19 @@ label cc_pr_manipulate_boys_T3_ron: cho "I know!" ("soft", "base", "angry", "mid") gen "Getting caught checking someone out that quickly..." ("base", xpos="far_left", ypos="head") cho "Right..." ("open", "narrow", "base", "R") - cho "Anyhow, it was if he was trying to stare through my clothing and he was barely paying any attention." ("open", "narrow", "base", "down") + cho "Anyhow, it was as if he was trying to stare through my clothing... He was barely paying any attention." ("open", "narrow", "base", "down") gen "Been there, done that..." ("base", xpos="far_left", ypos="head") cho "Yeah, no wonder Hermione is so annoyed at him all the time..." ("annoyed", "narrow", "base", "L") cho "It was at that point Madam Hooch turned and walked away from Hermione." ("open", "base", "base", "R") - cho "So without any warning I grabbed and planted Ron's hands on my breasts." ("crooked_smile", "narrow", "base", "mid") + cho "So without any warning, I grabbed and planted Ron's hands on my breasts." ("crooked_smile", "narrow", "base", "mid") gen "Nice..." ("base", xpos="far_left", ypos="head") - cho "He was so taken aback by this he just froze." ("crooked_smile", "closed", "base", "mid") + cho "He was so taken aback by this, he just froze." ("crooked_smile", "closed", "base", "mid") cho "You should've seen Hermione's expression as she turned and noticed us! It was if someone had flipped a switch in her brain." ("smile", "wide", "base", "mid") gen "Jealousy no doubt..." ("base", xpos="far_left", ypos="head") cho "Yeah right, as I said there's no way anything is going on between those two." ("smile", "narrow", "base", "R") gen "I wasn't talking about...{w=0.4} Never mind..." ("base", xpos="far_left", ypos="head") gen "Please, continue..." ("base", xpos="far_left", ypos="head") - cho "Before I could even blink she has rushed up next to us..." ("crooked_smile", "narrow", "base", "mid") + cho "Before I could even blink, she had rushed up next to us..." ("crooked_smile", "narrow", "base", "mid") cho "And then she smacked Ron right across the face!" ("smile", "wide", "angry", "mid") gen "*Hah*!" ("grin", xpos="far_left", ypos="head") gen "I mean... How could she hit another student like that?!" ("angry", xpos="far_left", ypos="head") @@ -859,54 +862,56 @@ label cc_pr_manipulate_boys_T3_ron: gen "Excellent work!" ("base", xpos="far_left", ypos="head") cho "Thank you." ("smile", "base", "base", "mid") #blushes gen "Hopefully we can remind her about this during the game, spark that jealousy once more." ("base", xpos="far_left", ypos="head") - cho "If it annoys Hermione then I'm all for it..." ("crooked_smile", "base", "base", "R") + cho "If it annoys Hermione, then I'm all for it..." ("crooked_smile", "base", "base", "R") gen "Anything else to report?" ("base", xpos="far_left", ypos="head") cho "No, that's about it." ("soft", "base", "base", "downR") gen "Great, then that will be all for today." ("base", xpos="far_left", ypos="head") cho "Good night then..." ("base", "base", "base", "mid") - gen "Good night Miss Chang." ("base", xpos="far_left", ypos="head") + gen "Good night, Miss Chang." ("base", xpos="far_left", ypos="head") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event label cc_pr_manipulate_boys_T3_harry: + $ states.cho.ev.manipulate_boys.t3_e3_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" (face="happy", xpos="mid", ypos="base", trans=fade) + cho "" ("smile", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "Welcome back...{w=0.3} Mission success?" ("base", xpos="far_left", ypos="head") cho "Yes!" ("crooked_smile", "base", "base", "mid") - cho "I've been stalk--{w=0.4} eh...{w=0.2} following them... And sure enough, I managed to find the perfect opportunity!" ("soft", "base", "base", "R") - cho "I was flying by the divination tower and noticed that Hermione and her friends were talking at one of the windows." ("open", "base", "base", "mid") - cho "With Ron and Hermione's backs turned towards me it was easy enough to grab Harry's attention." ("base", "narrow", "base", "R") - gen "Nice, gave him a bit of a show then I presume?" ("base", xpos="far_left", ypos="head") + cho "I've been stalk--{w=0.4} *Ehh*...{w=0.2} Following them... And sure enough, I managed to find the perfect opportunity!" ("soft", "base", "base", "R") + cho "I was flying by the divination tower and noticed that Hermione and her friends were standing by one of the windows." ("open", "base", "base", "mid") + cho "Luckily ,Ron and Hermione's backs were turned towards me, so it was easy to grab Harry's attention without them noticing me." ("base", "narrow", "base", "R") + gen "Nice, gave him a bit of a show then, I presume?" ("base", xpos="far_left", ypos="head") cho "Of course..." ("crooked_smile", "closed", "base", "R") #smirk cho "And I found something out." ("crooked_smile", "base", "raised", "mid") cho "That boy has a broom fetish!" ("smile", "wide", "base", "mid") gen "A what?" ("base", xpos="far_left", ypos="head") cho "A broom fetish!{w} It's when you enjoy watching a girl play with herself using a broom." ("smile", "narrow", "raised", "mid") gen "Oh...{w=0.4} Yeah, that makes more sense." ("base", xpos="far_left", ypos="head") - cho "So, I stuck my tongue out at him and then began grinding my hips against the wood." ("crooked_smile", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "So, I stuck my tongue out at him and then began grinding my hips against the wood." ("crooked_smile", "narrow", "base", "mid") gen "You stuck your tongue out?" ("base", xpos="far_left", ypos="head") gen "I thought it was Hermione that you were trying to antagonize?" ("base", xpos="far_left", ypos="head") - cho "Not like that!" ("open", "happyCl", "angry", "mid", cheeks="blush") - cho "I mean in a seductive way!" ("smile", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Not like that!" ("open", "happyCl", "angry", "mid") + cho @ cheeks blush "I mean in a seductive way!" ("smile", "narrow", "base", "mid") gen "Like how?" ("base", xpos="far_left", ypos="head") - cho "Like this!" ("open", "wink", "base", "mid", cheeks="blush") + cho @ cheeks blush "Like this!" ("open", "wink", "base", "mid") cho "...{w=1.0}{nw}" ("open_tongue", "base", "base", "mid") - cho "..." ("open_wide_tongue", "narrow", "raised", "mid", cheeks="blush") #Cho sticks her tongue out and eyes look seductive." + cho @ cheeks blush "..." ("open_wide_tongue", "narrow", "raised", "mid") #Cho sticks her tongue out and eyes look seductive." gen "Whoa!" ("base", xpos="far_left", ypos="head") - cho "*U ikhe*?" ("open_wide_tongue", "wink", "raised", "mid", cheeks="blush") #Tongue still out + cho @ cheeks blush "*U ikhe*?" ("open_wide_tongue", "wink", "raised", "mid") #Tongue still out gen "Very much...{w=0.4} But what about Potter?" ("grin", xpos="far_left", ypos="head") - cho "Naturally he completely lost focus on their conversation and Hermione soon followed his gaze, noticing me out the window." ("crooked_smile", "closed", "base", "R", cheeks="blush") - cho "And after staring daggers at me, she yanked the boys away by their robes almost making them tumble down the stairs." ("crooked_smile", "narrow", "base", "mid") + cho @ cheeks blush "Naturally, he completely lost focus on their conversation, so Hermione followed his gaze and finally spotted me through the window." ("crooked_smile", "closed", "base", "R") + cho "And after staring daggers at me, she yanked the boys away by their robes, almost making them tumble down the stairs." ("crooked_smile", "narrow", "base", "mid") gen "Looks like you have her well jealous at this point!" ("base", xpos="far_left", ypos="head") #This is a bit of a British slang gen "Hopefully this should be enough to affect her during the finals." ("base", xpos="far_left", ypos="head") cho "Let's hope so..." ("smile", "base", "angry", "R") @@ -918,8 +923,8 @@ label cc_pr_manipulate_boys_T3_harry: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -939,34 +944,34 @@ label cc_pr_manipulate_boys_twins_branch: cho "Of course you don't..." ("normal", "base", "base", "R") gen "I'll go and check with her, see if there's anything she can spare for the moment..." ("base", xpos="far_left", ypos="head") - cho "Please..." ("normal", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "Please..." ("normal", "base", "base", "down") cho "I just hope this colour will fade before you get back..." ("disgust", "base", "angry", "downR") gen "I'll be back before you can say blueberry." ("base", xpos="far_left", ypos="head") #TODO Genie walks past Cho to the door and turns to her, she turns as he stops gen "But personally, I don't really see why it's such an issue." ("base", xpos="far_left", ypos="head") - gen "I've been known to turn blue and swell up as well and you don't see me complaining." ("base", xpos="far_left", ypos="head") + gen "I've been known to turn blue and swell up as well, and you don't see me complaining." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "base", "angry", "mid") gen "Give me some time, be right back." ("base", xpos="far_left", ypos="head") call blkfade - call play_music("stop") + stop music fadeout 1 centered "{size=+7}{color=#cbcbcb}{cps=7}...{/cps}{/color}{/size}{w=1.0}{nw}" call room("clothing_store") - call play_music("clothing_store") + play music "music/clothing_store.ogg" fadein 1 if_changed call hide_blkfade if not clothing_store_intro_done: $ clothing_store_intro_done = True - ">You enter to see an old woman sewing together two pieces of long dark fabric." - ">The woman is dressed almost entirely in pink and has a warm, approachable air to her." + nar "You enter to see an old woman sewing together two pieces of long dark fabric." + nar "The woman is dressed almost entirely in pink and has a warm, approachable air to her." gen "Hello." ("base", xpos="far_left", ypos="head") maf "Hello, Professor Dumbledore." maf "What can I do for you? Would you like a new cloak, or do you require some alterations to an existing item?" - gen "Neither thank you, I'm just here to make a few inquiries." ("base", xpos="far_left", ypos="head") + gen "Neither, thank you, I'm just here to make a few inquiries." ("base", xpos="far_left", ypos="head") maf "Of course sir, what can I help you with?" - gen "Firstly, what type of items do you sell?" ("base", xpos="far_left", ypos="head") + gen "Firstly, what types of items do you sell?" ("base", xpos="far_left", ypos="head") maf "Well, I'm a tailor. I make uniforms for the staff and students." maf "I also perform alterations to existing items. This is mainly when a student goes through a growth spurt or gets a hole in their cloak." gen "I see. Do you ever make custom orders?" ("base", xpos="far_left", ypos="head") @@ -981,14 +986,14 @@ label cc_pr_manipulate_boys_twins_branch: maf "Anything I can assist you with?" maf "I just got this new plaid fabric in, I was thinking of turning it into a kilt." maf "It's the perfect garment for letting the old family jewels get some fresh air." - gen "I'm good thank you." ("base", xpos="far_left", ypos="head") + gen "I'm good, thank you." ("base", xpos="far_left", ypos="head") maf "Then what can I do you for?" gen "Well... As it happens..." ("base", xpos="far_left", ypos="head") gen "I'm in quite a pickle... A student was tricked into eating one of the weasel twins' sweets." ("base", xpos="far_left", ypos="head") maf "A sweet?" gen "Yes, or a candy... whatever you'd call it." ("base", xpos="far_left", ypos="head") - gen "The sweet in question made her turn blue and swell up like a balloon, ruining her clothes in the process." ("base", xpos="far_left", ypos="head") + gen "The sweet in question made her skin turn blue and swell up like a balloon, ruining her clothes in the process." ("base", xpos="far_left", ypos="head") maf "I see... that's an unfortunate situation indeed." gen "So I require a Female Ravenclaw school uniform." ("base", xpos="far_left", ypos="head") maf "Let's see...{w=0.5} Female Ravenclaw uniform...{w=0.4} Looks like I'm running a bit low on those at the moment, what size is she?" @@ -997,11 +1002,11 @@ label cc_pr_manipulate_boys_twins_branch: gen "No-no, she's a Human. That's her size." ("base", xpos="far_left", ypos="head") maf "I require her clothing measurements..." gen "Oh, I see..." ("base", xpos="far_left", ypos="head") - maf "Or the name of this student, If I've had her fitted before I'll have it stored in my records." + maf "Or the name of this student, If I've had her fitted before, then I should have her measurements stored in my records." gen "Cho Chang." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" maf "Cho Chang..." - $ renpy.sound.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" maf "*Hmm*..." maf "Ah yes, here she is..." maf "Well, that's unfortunate..." @@ -1019,27 +1024,27 @@ label cc_pr_manipulate_boys_twins_branch: menu: gen "In that case I'll have the..." ("base", xpos="far_left", ypos="head") - "-Slytherin outfit-": + "-Slytherin uniform-": $ d_flag_02 = 1 maf "Are you sure?" gen "Absolutely, she'll look great in green!" ("base", xpos="far_left", ypos="head") - gen "But just so I know... how long will it take to get the Ravenclaw outfit ready?" ("base", xpos="far_left", ypos="head") + gen "But just so I know... how long will it take to get the Ravenclaw uniform ready?" ("base", xpos="far_left", ypos="head") - "-Gryffindor outfit-": + "-Gryffindor uniform-": $ d_flag_02 = 2 maf "Are you sure?" gen "Of course!" ("base", xpos="far_left", ypos="head") - gen "She's best friends with Miss Granger so I'm sure she wouldn't mind." ("base", xpos="far_left", ypos="head") - gen "But just so I know... how long will it take to get the Ravenclaw outfit ready?" ("base", xpos="far_left", ypos="head") + gen "She's best friends with Miss Granger, so I'm sure she wouldn't mind." ("base", xpos="far_left", ypos="head") + gen "But just so I know... how long will it take to get the Ravenclaw uniform ready?" ("base", xpos="far_left", ypos="head") - "-Hufflepuff outfit-": + "-Hufflepuff uniform-": $ d_flag_02 = 3 maf "Are you sure?" - gen "Seems like the safest option all things considered." ("base", xpos="far_left", ypos="head") - gen "How long will it take to get the Ravenclaw outfit ready?" ("base", xpos="far_left", ypos="head") + gen "Seems like the safest option, all things considered." ("base", xpos="far_left", ypos="head") + gen "How long will it take to get the Ravenclaw uniform ready?" ("base", xpos="far_left", ypos="head") "-\"perfect\" Outfit-" if d_flag_01: $ d_flag_02 = 4 @@ -1048,14 +1053,14 @@ label cc_pr_manipulate_boys_twins_branch: gen "Of course!" ("base", xpos="far_left", ypos="head") gen "It looks as if it was made just for her." ("grin", xpos="far_left", ypos="head") maf "Well, you're the judge here." - gen "One more thing, how long will it take to get the Ravenclaw outfit ready?" ("base", xpos="far_left", ypos="head") + gen "One more thing, how long will it take to get the Ravenclaw uniform ready?" ("base", xpos="far_left", ypos="head") "-Ask for another option-" if not d_flag_01: # Genie finds a smurfette costume $ d_flag_01 = True gen "I don't think she'd be so keen on wearing another house's colours." ("base", xpos="far_left", ypos="head") - maf "Well, I don't recommend it but if that's the case you can have a look through the pile over there." + maf "Well, I don't recommend it, but if that's the case, you can have a look through the pile over there." maf "I have a few miscellaneous pieces lying around that she could borrow for the time being." maf "There's not a lot to pick from, but you can take anything you need from it." gen "Great." ("base", xpos="far_left", ypos="head") @@ -1075,34 +1080,33 @@ label cc_pr_manipulate_boys_twins_branch: maf "I'll have it done and delivered by tomorrow morning." gen "Great, that will be all then." ("base", xpos="far_left", ypos="head") + maf "Until next time..." call blkfade - maf "Until next time..." - # Add smurfette outfit to the shop if was not picked during the event if not d_flag_01: $ cho_outfit_smurfette.price = 100 call room("main_room") - call play_music("stop") + stop music fadeout 1 call gen_chibi("hide") call cho_chibi(xpos="desk", ypos="base", flip=True) call hide_blkfade pause 1.0 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("stand", "door", "base", flip=False) with d3 pause 0.3 gen "I'm back!" ("base", xpos="far_left", ypos="head") call gen_walk("mid", "base") - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed cho "Finally..." ("annoyed", "base", "angry", "mid", trans=d3) - if not fire_in_fireplace: - cho "I've been freezing my butt off and I couldn't figure out how to light the fire." ("open", "base", "angry", "mid") + if not states.fireplace_started: + cho "I've been freezing my butt off, and I couldn't figure out how to light the fire." ("open", "base", "angry", "mid") gen "Can't you use some spell for that?" ("base", xpos="far_left", ypos="head") cho "Where do you think I keep my wand?" ("annoyed", "base", "angry", "mid") gen "Well, most people hide it in their night stand or a drawer or something." ("base", xpos="far_left", ypos="head") @@ -1119,10 +1123,8 @@ label cc_pr_manipulate_boys_twins_branch: gen "Got it right here, brings out the colour of your eyes for sure!" ("base", xpos="far_left", ypos="head") - call blktone - call play_sound("cloth") - "> You hand the Slytherin uniform to Cho." - call hide_blktone + play sound "sounds/cloth_sound.ogg" + nar "You hand the Slytherin uniform to Cho." cho "Such a charmer..." ("base", "base", "base", "R") cho "I was worried that you'd pick out something--" ("open", "base", "base", "down") @@ -1135,17 +1137,17 @@ label cc_pr_manipulate_boys_twins_branch: cho "But why Slytherin..." ("disgust", "base", "angry", "downR") menu: - "{size=-3}\"If you don't like it you can go without any!\"{/size}": + "{size=-3}\"If you don't like it, you can go without any!\"{/size}": cho "What!?" ("open", "wide", "angry", "mid") gen "You heard me..." ("base", xpos="far_left", ypos="head") gen "I went out of my way to fetch those clothes for you..." ("base", xpos="far_left", ypos="head") gen "So you can take your Smurf looking ass and get out of my office." ("base", xpos="far_left", ypos="head") cho "Fine!" ("clench", "base", "angry", "mid") call cho_walk(action="leave", speed=2.0) - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch gen "..." ("base", xpos="far_left", ypos="head") - $ cho_mood += 10 + $ states.cho.mood += 10 "{size=-3}\"It's not my fault, Some idiot picked that option!\"{/size}": cho "What?" ("annoyed", "wide", "angry", "mid") @@ -1166,125 +1168,123 @@ label cc_pr_manipulate_boys_twins_branch: show screen blkfade with fade $ cho.equip(cho_outfit_slyt) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" cho "" ("upset", "base", "angry", "down") pause .8 hide screen blkfade with fade - cho "..." ("disgust", "base", "base", "down", cheeks="blush") - cho "This feels wrong..." ("clench", "base", "worried", "downR", cheeks="blush") + cho @ cheeks blush "..." ("disgust", "base", "base", "down") + cho @ cheeks blush "This feels wrong..." ("clench", "base", "worried", "downR") gen "I knew it!" ("grin", xpos="far_left", ypos="head") gen "You look great in green!" ("grin", xpos="far_left", ypos="head") cho "*Grrr*... I can't believe you!" ("clench", "base", "angry", "mid") call cho_walk(action="leave", speed=2.0) - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch - $ cho_mood += 5 + $ states.cho.mood += 5 "\"Sorry...\"": cho "..." ("normal", "wide", "base", "mid") - cho "(Well that's a first...)" ("soft", "base", "base", "R") #taken aback + cho "(Well, that's a first...)" ("soft", "base", "base", "R") #taken aback gen "Sorry for going out of my way to help you!" ("base", xpos="far_left", ypos="head") cho "*Sigh*" ("disgust", "base", "base", "down") cho "Why did you think it would be a good idea to pick Slytherin colours..." ("annoyed", "base", "angry", "downR") #pout gen "As I said, I thought they'd compliment your eyes..." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "base", "angry", "down", cheeks="blush") - cho "Fine, since you almost apologized..." ("disgust", "base", "angry", "downR", cheeks="blush") - cho "Hand me those clothes." ("annoyed", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "base", "angry", "down") + cho @ cheeks blush "Fine, since you almost apologized..." ("disgust", "base", "angry", "downR") + cho @ cheeks blush "Hand me those clothes." ("annoyed", "base", "angry", "mid") show screen blkfade with fade $ cho.equip(cho_outfit_slyt) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" cho "" ("upset", "base", "angry", "down") pause .8 hide screen blkfade with fade gen "See, they don't look that bad!" ("base", xpos="far_left", ypos="head") - cho "This feels wrong..." ("angry", "base", "worried", "downR", cheeks="blush") + cho @ cheeks blush "This feels wrong..." ("angry", "base", "worried", "downR") gen "You look great in any colour!" ("base", xpos="far_left", ypos="head") - cho "That's not why..." ("normal", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "That's not why..." ("normal", "base", "angry", "mid") $ cho.set_body_hue(0) - cho "Thanks I guess." ("disgust", "base", "base", "down", trans=d9) + cho "Thanks, I guess." ("disgust", "base", "base", "down", trans=d9) gen "Speaking of colour..." ("base", xpos="far_left", ypos="head") gen "You're not blue anymore." ("base", xpos="far_left", ypos="head") cho "Finally..." ("mad", "base", "base", "mid") - cho "Hopefully everyone's gone to bed by now and I can sneak my way past without anyone noticing." ("upset", "base", "base", "R") + cho "Hopefully everyone's gone to bed by now, and I can sneak my way past without anyone noticing." ("upset", "base", "base", "R") cho "So, what do I do about my normal uniform?" ("open", "base", "base", "down") - gen "I've sorted it, Mafkin will have a new set delivered to your room in the morning." ("base", xpos="far_left", ypos="head") - cho "Oh..." ("open", "base", "base", "downR", cheeks="blush") + gen "I've sorted it... Mafkin will have a new set delivered to your room in the morning." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh..." ("open", "base", "base", "downR") cho "Thanks..." ("upset", "base", "base", "downR") cho "Good night then." ("normal", "base", "base", "mid") call cho_walk(action="leave", speed=1.5) - $ cho_mood += 2 + $ states.cho.mood += 2 elif d_flag_02 == 2: # Gryffindor gen "Got it right here!" ("base", xpos="far_left", ypos="head") - gen "She didn't have any Ravenclaw uniforms your size so I took the next best thing." ("base", xpos="far_left", ypos="head") + gen "She didn't have any Ravenclaw uniforms in your size, so I chose the next best thing." ("base", xpos="far_left", ypos="head") - call blktone - call play_sound("cloth") - "> You hand the Gryffindor uniform to Cho." - call hide_blktone + play sound "sounds/cloth_sound.ogg" + nar "You hand the Gryffindor uniform to Cho." cho "Next best--" ("annoyed", "base", "base", "mid") cho "Is that a Gryffindor uniform?" ("open", "wide", "base", "mid") #shocked gen "Yes, I knew you'd like it!" ("grin", xpos="far_left", ypos="head") - cho "I...{w=0.5} I don't like Gryffindor!" ("annoyed", "base", "angry", "downR", cheeks="blush") + cho @ cheeks blush "I...{w=0.5} I don't like Gryffindor!" ("annoyed", "base", "angry", "downR") gen "What... but I thought Hermione was like your bestie." ("angry", xpos="far_left", ypos="head") cho "Bestie?" ("upset", "wide", "base", "mid") - cho "She...{w=0.4} is...{w=0.4} not!" ("clench", "wide", "angry", "mid", cheeks="blush") + cho @ cheeks blush "She...{w=0.4} Is...{w=0.4} Not!" ("clench", "wide", "angry", "mid") gen "Oh..." ("base", xpos="far_left", ypos="head") menu: - "\"I could go back and fetch the Slytherin one instead\"": - cho "No!" ("angry", "wide", "base", "mid", cheeks="blush") - cho "I mean... it's fine... you've already gone out of your way." ("angry", "wide", "base", "downR") + "\"I could go back and fetch the Slytherin one instead...\"": + cho @ cheeks blush "No!" ("angry", "wide", "base", "mid") + cho "I mean... It's fine... You've already gone out of your way." ("angry", "wide", "base", "downR") gen "You sure? It's not that far--" ("base", xpos="far_left", ypos="head") - cho "Yes... just hand me the clothes." ("disgust", "base", "angry", "mid") + cho "Yes... Just hand me the clothes." ("disgust", "base", "angry", "mid") show screen blkfade with fade $ cho.equip(cho_outfit_gryf) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .8 hide screen blkfade with fade cho "..." ("normal", "base", "base", "downR") - cho "I guess it's not that bad..." ("normal", "base", "base", "down", cheeks="blush") - cho "What do you think, do I pull off the red as well as...{w=0.6} Do I pull off the red?" ("open", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "I guess it's not that bad..." ("normal", "base", "base", "down") + cho @ cheeks blush "What do you think, do I pull off the red as well as...{w=0.6} Do I pull off the red?" ("open", "base", "base", "downR") gen "Looks great!" ("base", xpos="far_left", ypos="head") gen "They look a bit tight around the chest area, did I end up with a size too small?" ("base", xpos="far_left", ypos="head") - cho "Oh... no, it's fine... I'm just a bit cold still." ("horny", "base", "base", "down", cheeks="blush") #Embarrassed + cho @ cheeks blush "Oh... No, it's fine... I'm just a bit cold still." ("horny", "base", "base", "down") #Embarrassed gen "You do look a bit blue..." ("base", xpos="far_left", ypos="head") cho "Wait, I'm still..." ("upset", "wide", "angry", "down") $ cho.set_body_hue(0) cho "...{w=0.5} Thank Merlin..." ("soft", "base", "base", "down", trans=d9) - cho "I'll be on my way then..." ("open", "base", "base", "R", cheeks="blush") + cho @ cheeks blush "I'll be on my way then..." ("open", "base", "base", "R") call cho_walk(xpos="door", speed=1.5) - cho "..." ("base", "base", "base", "down", cheeks="blush", flip=True, xpos="far_right", trans=d3) - cho "Good night..." ("open", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "..." ("base", "base", "base", "down", flip=True, xpos="far_right", trans=d3) + cho @ cheeks blush "Good night..." ("open", "base", "base", "mid") call cho_walk(action="leave") - "\"I'm sure none of the Gryffindors will spot you\"": - cho "If that's the case then why wear any clothes at all?" ("angry", "base", "angry", "mid") + "\"I'm sure none of the Gryffindors will spot you...\"": + cho "If that's the case, then why wear any clothes at all?" ("angry", "base", "angry", "mid") gen "That is an option..." ("base", xpos="far_left", ypos="head") - cho "No!" ("clench", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "No!" ("clench", "wide", "base", "mid") cho "Give me those..." ("mad", "base", "base", "mid") show screen blkfade with fade $ cho.equip(cho_outfit_gryf) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .8 hide screen blkfade with fade @@ -1298,18 +1298,16 @@ label cc_pr_manipulate_boys_twins_branch: call gen_chibi(flip=True) gen "Come ba--" ("base", xpos="far_left", ypos="head") - gen "Damn...{w=0.4} well at least she isn't angry." ("base", xpos="far_left", ypos="head") + gen "Damn...{w=0.4} Well at least she isn't angry." ("base", xpos="far_left", ypos="head") elif d_flag_02 == 3: # Hufflepuff gen "Got it right here!" ("base", xpos="far_left", ypos="head") - gen "She didn't have any Ravenclaw uniforms your size so I went wish something mellow." ("base", xpos="far_left", ypos="head") + gen "She didn't have any Ravenclaw uniforms in your size, so I went with something mellow." ("base", xpos="far_left", ypos="head") - call blktone - call play_sound("cloth") - "> You hand the Hufflepuff uniform to Cho." - call hide_blktone + play sound "sounds/cloth_sound.ogg" + nar "You hand the Hufflepuff uniform to Cho." cho "Mellow?" ("annoyed", "base", "base", "mid") cho "Wait, you don't mean..." ("disgust", "base", "base", "down") #Worried @@ -1323,10 +1321,10 @@ label cc_pr_manipulate_boys_twins_branch: menu: "\"So what?\"": cho "So what?!?" ("open", "wide", "angry", "mid") - gen "You didn't have any problems using his weaknesses during the game so why do you care if he gets in trouble with his house?" ("base", xpos="far_left", ypos="head") + gen "You didn't have any problems using his weaknesses during the game, so why do you care if he gets in trouble with his house?" ("base", xpos="far_left", ypos="head") cho "That's different..." ("angry", "base", "angry", "mid") gen "How is it different?" ("base", xpos="far_left", ypos="head") - gen "I'm sure his teammates weren't happy with him losing focus like that... fraternizing with the enemy..." ("base", xpos="far_left", ypos="head") + gen "I'm sure his teammates weren't happy with him losing focus like that... Fraternizing with the enemy..." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "base", "angry", "down") gen "They might already think he threw it on purpose." ("base", xpos="far_left", ypos="head") cho "Whatever, just give me the clothes." ("open", "base", "angry", "mid") @@ -1334,23 +1332,23 @@ label cc_pr_manipulate_boys_twins_branch: show screen blkfade with fade $ cho.equip(cho_outfit_huff) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .8 hide screen blkfade with fade - cho "I can't believe you turned this around on me like that... you're the one that made me do those things to begin with..." ("soft", "base", "angry", "downR") + cho "I can't believe you turned this around on me like that... You're the one that made me do those things to begin with..." ("soft", "base", "angry", "downR") gen "Don't hate the player, hate the game." ("base", xpos="far_left", ypos="head") cho "..." ("upset", "base", "angry", "R") cho "I'm leaving." ("upset", "base", "angry", "mid") call cho_walk(action="leave", speed=1.5) - $ cho_mood+= 2 + $ states.cho.mood+= 2 "\"That's true, maybe you should just head back naked...\"": cho "What!?" ("disgust", "wide", "base", "mid") gen "You heard me, make like a bee and buzz off!" ("base", xpos="far_left", ypos="head") - gen "And you better hurry up before those sweets wear off or you'll find it even harder to explain your current state." ("grin", xpos="far_left", ypos="head") - cho "But... surely you can't be serious!" ("open", "wide", "base", "mid", cheeks="blush") + gen "And you better hurry up before those sweets wear off, or you'll find it even harder to explain your current state." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "But... Surely, you can't be serious!" ("open", "wide", "base", "mid") gen "I am neither Shirley nor Sirius..." ("base", xpos="far_left", ypos="head") cho "*Grrr*... I can't believe you!" ("clench", "base", "angry", "mid") @@ -1363,33 +1361,33 @@ label cc_pr_manipulate_boys_twins_branch: cho "Fine!" ("clench", "base", "angry", "R") call cho_walk(action="leave") - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch - $ cho_mood += 10 + $ states.cho.mood += 10 gen "So ungrateful..." ("base", xpos="far_left", ypos="head") - "\"I'm sure none of the Hufflepuffs will spot you\"": + "\"I'm sure none of the Hufflepuffs will spot you...\"": cho "How can you be so sure about--" ("soft", "base", "angry", "downR") cho "Actually, you're right...{w=0.3} You're a genius!" ("mad", "wide", "base", "mid") gen "I am?" ("angry", xpos="far_left", ypos="head") cho "Of course!" ("crooked_smile", "base", "base", "mid") cho "You know this castle inside out, it's very unlikely any Hufflepuff student would be anywhere near the route to the Ravenclaw dorm." ("smile", "base", "base", "R") - gen "Oh yes... that's it!" ("grin", xpos="far_left", ypos="head") + gen "Oh yes... That's it!" ("grin", xpos="far_left", ypos="head") gen "You know me, always got an ace up my sleeve!" ("base", xpos="far_left", ypos="head") $ cho.set_body_hue(0) - cho "Thank you [cho_genie_name]..." ("base", "base", "base", "mid", trans=d9) + cho "Thank you [name_genie_cho]..." ("base", "base", "base", "mid", trans=d9) gen "Anything not to have my students \"feel blue\"." ("grin", xpos="far_left", ypos="head") gen "Speaking of... Your skin is back to normal." ("grin", xpos="far_left", ypos="head") - cho "Very funny..." ("base", "base", "base", "down", cheeks="blush") #smile - cho "Let's try this on then..." ("open", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Very funny..." ("base", "base", "base", "down") #smile + cho @ cheeks blush "Let's try this on then..." ("open", "base", "base", "mid") show screen blkfade with fade $ cho.equip(cho_outfit_huff) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .8 hide screen blkfade with fade @@ -1398,7 +1396,7 @@ label cc_pr_manipulate_boys_twins_branch: gen "Looking good!" ("base", xpos="far_left", ypos="head") cho "I better be off then..." ("smile", "base", "base", "mid") cho "Good night." ("base", "base", "base", "mid") - gen "Good night, [cho_name]." ("base", xpos="far_left", ypos="head") + gen "Good night, [name_cho_genie]." ("base", xpos="far_left", ypos="head") call cho_walk(action="leave", speed=1.5) elif d_flag_02 == 4: @@ -1406,15 +1404,13 @@ label cc_pr_manipulate_boys_twins_branch: gen "Got it right here." ("base", xpos="far_left", ypos="head") - call blktone - call play_sound("cloth") - "> You hand the clothes to Cho." - call hide_blktone + play sound "sounds/cloth_sound.ogg" + nar "You hand the clothes to Cho." cho "Thank you, I knew I could count on--" ("base", "base", "base", "mid") cho "What is this?" ("open", "wide", "base", "down") gen "I know right!" ("grin", xpos="far_left", ypos="head") - gen "I couldn't believe it when I found it. The perfect outfit for you!" ("grin", xpos="far_left", ypos="head") + gen "I couldn't believe it when I found it. It's the perfect outfit for you!" ("grin", xpos="far_left", ypos="head") cho "You... are you serious? You actually expect me to wear this?" ("disgust", "wide", "base", "mid") gen "Wait, don't tell me you don't like it?" ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "base", "angry", "down") @@ -1427,27 +1423,27 @@ label cc_pr_manipulate_boys_twins_branch: show screen blkfade with fade $ cho.equip(cho_outfit_smurfette) - $ cho.equip(cho_hair_ponytail1) # Override hair - $ renpy.sound.play("sounds/cloth_sound3.ogg") - cho "" ("upset", "base", "angry", "down", cheeks="blush") + $ cho.equip(cho_hair_base) # Override hair + play sound "sounds/cloth_sound3.ogg" + cho @ cheeks blush "" ("upset", "base", "angry", "down") pause .8 hide screen blkfade with fade gen "Smurfabunga!" ("grin", xpos="far_left", ypos="head") - cho "..." ("upset", "base", "angry", "mid", cheeks="blush") #Looking livid #red cheeks - gen "I think some colour has started to return on your cheeks!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("upset", "base", "angry", "mid") #Looking livid #red cheeks + gen "I think some colour has started to return to your cheeks!" ("base", xpos="far_left", ypos="head") gen "I also got you this wig." ("base", xpos="far_left", ypos="head") cho "I am not wearing the wig!" ("clench", "wide", "angry", "mid") cho "I can't believe you!" ("angry", "base", "angry", "down") call cho_walk(action="leave", speed=1.5) - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch gen "I'll just keep the wig for later then..." ("base", xpos="far_left", ypos="head") - $ cho_mood += 10 - call unlock_clothing(">Congratulations! You have unlocked a new outfit!", cho_outfit_smurfette) + $ states.cho.mood += 10 + call unlock_clothing("Congratulations! You have unlocked a new outfit!", cho_outfit_smurfette) $ cho.equip(cho_outfit_last) $ cho.set_body_hue(0) diff --git a/game/scripts/characters/cho/events/requests/manipulate_girls.rpy b/game/scripts/characters/cho/events/requests/manipulate_girls.rpy index 8c934ee8..0fad381e 100644 --- a/game/scripts/characters/cho/events/requests/manipulate_girls.rpy +++ b/game/scripts/characters/cho/events/requests/manipulate_girls.rpy @@ -7,10 +7,10 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="right", ypos="base", trans=fade) - if not cc_pr_manipulate_girls.is_event_complete(3, 1): # Completed Alicia Spinnet? + if not states.cho.ev.manipulate_girls.t3_e1_complete: # Completed Alicia Spinnet? # Alicia Spinnet - if not cc_pr_spy_girls.is_event_complete(3, 2): + if not states.cho.ev.spy_on_girls.t3_e2_complete: # Return if player has not spied on Alicia just yet. gen "Let’s try and manipulate the girls on the enemy team!" ("base", xpos="far_left", ypos="head") cho "You're expecting me to just jump in blind?" ("angry", "base", "base", "mid") @@ -19,33 +19,35 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu - gen "I think it's time to manipulate the female members of the enemy team a bit and see if we can find some way to distract them during the game." ("base", xpos="far_left", ypos="head") + gen "I think it's time to manipulate the female members of the enemy team a bit, and see if we can find some way to distract them during the game." ("base", xpos="far_left", ypos="head") cho "And how do you suggest we do that?" ("annoyed", "base", "raised", "mid") gen "Well, the Slytherin \"brutes\" seemed to think they had a pretty good chance to get with you during the last game." ("base", xpos="far_left", ypos="head") cho "They're idiots though, I barely had to do anything." ("soft", "base", "base", "R") gen "Which means it's even more important to try and entice those girls before the match itself..." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "base", "raised", "down") - gen "It's all about throwing them off their game, like you said... if the girls won't get thrown off by you wearing some outfit then maybe an emotional... bond... would be more appropriate." ("base", xpos="far_left", ypos="head") - cho "Don't you think we'd have an easier time focusing on the boys?" ("upset", "base", "base", "mid", cheeks="blush") - gen "Sometimes the hard route is the right one to take... you shouldn't dismiss it." ("base", xpos="far_left", ypos="head") + gen "It's all about throwing them off their game, like you said..." ("base", xpos="far_left", ypos="head") + gen "If the girls won't get thrown off by you wearing some outfit, then maybe an emotional... bond... would be more appropriate." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Don't you think we'd have an easier time focusing on the boys?" ("upset", "base", "base", "mid") + gen "Sometimes the hard route is the right one to take... You shouldn't dismiss it." ("base", xpos="far_left", ypos="head") gen "(Since those girls sound freaky...)" ("grin", xpos="far_left", ypos="head") - cho "But Harry is the seeker and Ron is the keeper... wouldn't it be more useful if--" ("open", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "But Harry is the seeker and Ron is the keeper... Wouldn't it be more useful if--" ("open", "wide", "base", "mid") gen "I'm certain my reasoning is correct here, are you questioning your trainer?" ("base", xpos="far_left", ypos="head") - cho "..." ("upset", "base", "base", "R", cheeks="blush") + cho @ cheeks blush "..." ("upset", "base", "base", "R") cho "No..." ("open", "base", "base", "R") gen "Great, then off you go..." ("grin", xpos="far_left", ypos="head") gen "Time to make your team proud!" ("grin", xpos="far_left", ypos="head") gen "Pride is important!" ("grin", xpos="far_left", ypos="head") - cho "...{w}I suppose..." ("soft", "base", "base", "mid") + cho "...{w} I suppose..." ("soft", "base", "base", "mid") cho "Wish me luck..." ("horny", "base", "base", "mid") gen "Good luck..." ("grin", xpos="far_left", ypos="head") - elif not cc_pr_manipulate_girls.is_event_complete(3, 2): # Completed Katie Bell - Part 1? + elif not states.cho.ev.manipulate_girls.t3_e2_complete: # Completed Katie Bell - Part 1? # Katie Bell - Part 1 - if not cc_pr_spy_girls.is_event_complete(3, 3): + if not states.cho.ev.spy_on_girls.t3_e3_complete: # Return if player has not spied on Katie just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") cho "I'm going to stop you right there..." ("soft", "base", "angry", "mid") @@ -60,7 +62,8 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu gen "One down, two to go..." ("base", xpos="far_left", ypos="head") gen "I think it's time to manipulate one of the other Gryffindor girls." ("base", xpos="far_left", ypos="head") @@ -69,14 +72,14 @@ label cc_pr_manipulate_girls_start: cho "So, we're still set on targeting the girls?" ("upset", "base", "raised", "mid") gen "Of course, I'm sure we got but a taste last time...{w=0.4} No pun intended." ("grin", xpos="far_left", ypos="head") cho "..." ("angry", "closed", "base", "mid") - gen "I hope you've remembered what you learned from her. This girl likes being treated rough so show some assertiveness with her and I'm sure she'll fall for you." ("base", xpos="far_left", ypos="head") - cho "Okay..." ("open", "narrow", "base", "down", cheeks="blush") #looking down a bit worried + gen "I hope you've remembered what you learned from her. This girl likes being treated rough, so show some assertiveness with her, and I'm sure she'll fall for you." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Okay..." ("open", "narrow", "base", "down") #looking down a bit worried gen "Assertiveness!" ("grin", xpos="far_left", ypos="head") cho "..." ("clench", "base", "raised", "mid") #Changes from worried looking down to looking at genie cho "Yes, I will!" ("mad", "base", "raised", "mid") gen "Great, off you go!" ("grin", xpos="far_left", ypos="head") - elif not cc_pr_manipulate_girls.is_event_complete(3, 3): # Completed Katie Bell - Part 2? + elif not states.cho.ev.manipulate_girls.t3_e3_complete: # Completed Katie Bell - Part 2? # Katie Bell - Part 2 # No return here since it's just a continuation of previous Katie event. @@ -84,17 +87,17 @@ label cc_pr_manipulate_girls_start: gen "Follow that girl again!" ("base", xpos="far_left", ypos="head") cho "Sir?" ("mad", "base", "raised", "mid") gen "I mean... Today's mission is to follow that Bell girl again..." ("base", xpos="far_left", ypos="head") - cho "But... isn't one time enough?" ("disgust", "narrow", "base", "mid", cheeks="blush") - cho "My butt is still sore from last time..." ("clench", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "But... isn't one time enough?" ("disgust", "narrow", "base", "mid") + cho @ cheeks blush "My butt is still sore from last time..." ("clench", "narrow", "base", "downR") gen "There can never be too much of a good thing." ("base", xpos="far_left", ypos="head") - cho "Fine..." ("open", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Fine..." ("open", "narrow", "base", "down") gen "Excellent, make sure to come back with an extensive report as usual B." ("base", xpos="far_left", ypos="head") - cho "Got it..." ("soft", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Got it..." ("soft", "base", "base", "mid") - elif not cc_pr_manipulate_girls.is_event_complete(3, 4): # Completed Angelina Johnson? + elif not states.cho.ev.manipulate_girls.t3_e4_complete: # Completed Angelina Johnson? # Angelina Johnson - if not cc_pr_spy_girls.is_event_complete(3, 4): + if not states.cho.ev.spy_on_girls.t3_e4_complete: # Return if player has not spied on Angelina just yet. gen "Let's try and manipulate--" ("base", xpos="far_left", ypos="head") cho "I'm going to stop you right there..." ("soft", "base", "angry", "mid") @@ -104,19 +107,20 @@ label cc_pr_manipulate_girls_start: cho "" (xpos="base", ypos="base", trans=fade) - jump cho_requests_menu + $ _event.cancel() + jump cho_favor_menu - gen "You seem to have gotten to know the Gryffindor girls quite well by now [cho_name]." ("base", xpos="far_left", ypos="head") - gen "If you're not careful you might turn into one yourself." ("grin", xpos="far_left", ypos="head") - cho "As if... Ravenclaw always comes first!" ("angry", "base", "base", "mid", cheeks="blush") + gen "You seem to have gotten to know the Gryffindor girls quite well by now, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + gen "If you're not careful, you might turn into one yourself." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "As if... Ravenclaw always comes first!" ("angry", "base", "base", "mid") gen "You do? No shame in that!" ("grin", xpos="far_left", ypos="head") gen "So...{w=0.4} Today we're up against their team Captain, Angelina Johnson." ("base", xpos="far_left", ypos="head") - gen "Once you've managed to bond with her you'll have no problem winning the cup." ("base", xpos="far_left", ypos="head") + gen "Once you've managed to bond with her, I'm sure you'll have no problem winning the cup." ("base", xpos="far_left", ypos="head") cho "Yes!" ("grin", "closed", "base", "mid") - cho "We're so close I could almost taste it!" ("horny", "happyCl", "base", "mid") + cho "We're so close, I can almost taste it!" ("horny", "happyCl", "base", "mid") gen "I'm sure you will!" ("grin", xpos="far_left", ypos="head") - gen "Now go get her..." ("grin", xpos="far_left", ypos="head") - cho "Yes [cho_genie_name]!" ("smile", "base", "base", "R") + gen "Now, go get her..." ("grin", xpos="far_left", ypos="head") + cho "Yes [name_genie_cho]!" ("smile", "base", "base", "R") else: # Repeatable events. @@ -125,13 +129,11 @@ label cc_pr_manipulate_girls_start: gen "There's always room for more bonding." ("base", xpos="far_left", ypos="head") cho "Okay then..." ("open", "base", "raised", "down") gen "Make sure to bring me your report as usual B." ("base", xpos="far_left", ypos="head") - cho "Yes [cho_genie_name]!" ("base", "base", "base", "mid") + cho "Yes [name_genie_cho]!" ("base", "base", "base", "mid") # Cho leaves. call cho_walk(action="leave") - $ cc_pr_manipulate_girls.inProgress = True - jump end_cho_event ### Return Events ### @@ -139,371 +141,382 @@ label cc_pr_manipulate_girls_start: ### Tier 3 (pre Gryffindor) ### label cc_pr_manipulate_girls_T3_alicia: + + $ states.cho.ev.manipulate_girls.t3_e1_complete = True # Alicia Spinnet # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" ("normal", "narrow", "base", "down", cheeks="blush", xpos="mid", ypos="base", trans=fade) + cho @ cheeks blush "" ("normal", "narrow", "base", "down", xpos="mid", ypos="base", trans=fade) gen "Back so soon? I wasn't expecting you for another hour." ("base", xpos="far_left", ypos="head") - cho "..." ("normal", "narrow", "base", "down", cheeks="blush") #Blushing + cho @ cheeks blush "..." ("normal", "narrow", "base", "down") #Blushing gen "Are you alright? How did it go with the girls?" ("base", xpos="far_left", ypos="head") - cho "Fine..." ("open", "narrow", "base", "down", cheeks="blush") #Blush + cho @ cheeks blush "Fine..." ("open", "narrow", "base", "down") #Blush gen "So, did you manage to connect with them in an emotional way?" ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "closed", "base", "mid") gen "Miss Chang?" ("base", xpos="far_left", ypos="head") - cho "You could say that." ("upset", "narrow", "base", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "You could say that." ("upset", "narrow", "base", "mid") gen "Tell me what happened." ("base", xpos="far_left", ypos="head") - cho "Well..." ("disgust", "base", "base", "R", cheeks="blush") - cho "My plan was to try and approach Alicia Spinnet without the other two around." ("open", "base", "base", "down", cheeks="blush") - cho "So, I gestured her to come over to me as the other two entered the changing room..." ("open", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "Well..." ("disgust", "base", "base", "R") + cho @ cheeks blush "My plan was to try and approach Alicia Spinnet without the other two around." ("open", "base", "base", "down") + cho @ cheeks blush "So, I gestured her to come over to me as the other two entered the changing room..." ("open", "base", "raised", "mid") gen "Nicely done. Splitting up the group makes it less likely they'll gang up on you." ("base", xpos="far_left", ypos="head") - cho "That's what I thought... and I felt pretty confident in my plan as she approached me." ("soft", "closed", "base", "mid", cheeks="blush") - cho "But before I even got a word out she had come up and kissed me on the lips!" ("quiver", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "That's what I thought... and I felt pretty confident in my plan as she approached me." ("soft", "closed", "base", "mid") + cho @ cheeks blush "But before I even got a word out, she had come up and kissed me on the lips!" ("quiver", "base", "raised", "mid") gen "Whoa, wait what?" ("angry", xpos="far_left", ypos="head") gen "I thought the plan was for you to make the advances here..." ("angry", xpos="far_left", ypos="head") - cho "You and me both!" ("clench", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "You and me both!" ("clench", "base", "raised", "mid") gen "Do you know why she just came up and kissed you like that?" ("base", xpos="far_left", ypos="head") - cho "Well, apparently she saw me when I entered the girls bathroom..." ("horny", "base", "base", "R", cheeks="blush") - cho "And assumed I had followed her in there because I wanted to get in on the action..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Well, apparently she saw me when I entered the girls' bathroom..." ("horny", "base", "base", "R") + cho @ cheeks blush "She must've assumed that I had followed her there to get in on the action..." ("annoyed", "narrow", "base", "mid") gen "Smart girl. She figured out you were perving on her!" ("grin", xpos="far_left", ypos="head") - cho "I'm not perving on anybody! I only followed her into that bathroom to gather information!" ("horny", "happyCl", "angry", "mid", cheeks="blush") - gen "But I'm sure you liked sneaking a peek at her moist muff regardless." ("grin", xpos="far_left", ypos="head") - cho "How was I to know she wasn't wearing any panties..." ("clench", "closed", "angry", "mid", cheeks="blush") # annoyed + cho @ cheeks blush "I'm not perving on anybody! I only followed her into that bathroom to gather information!" ("horny", "happyCl", "angry", "mid") + gen "But I'm sure you liked sneaking a peek at her moist muff, regardless." ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "How was I to know she wasn't wearing any panties..." ("clench", "closed", "angry", "mid") # annoyed gen "Be that as it may, this Alicia girl seems to be one step ahead of us..." ("base", xpos="far_left", ypos="head") - gen "So, what happened next B?" ("base", xpos="far_left", ypos="head") - cho "She started kissing me again, and placed a hand on one of my butt cheeks..." ("angry", "narrow", "base", "down", cheeks="blush") + gen "So, what happened next, B?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "She started kissing me again, and placed a hand on one of my butt cheeks..." ("angry", "narrow", "base", "down") gen "Correction, she's two steps ahead of us..." ("base", xpos="far_left", ypos="head") gen "Sounds to me like you got a fan on the Gryffindor team..." ("base", xpos="far_left", ypos="head") gen "That girl has the hots for you, that's for sure!" ("grin", xpos="far_left", ypos="head") - cho "*Tzzs!*... Those sluts would probably make out with anybody..." ("clench", "closed", "raised", "downR", cheeks="heavy_blush") + cho @ cheeks heavy_blush "*Tzzs!*... Those sluts would probably make out with anybody..." ("clench", "closed", "raised", "downR") gen "Tongue or no tongue?" ("base", xpos="far_left", ypos="head") - cho "Sorry?" ("normal", "base", "raised", "mid", cheeks="blush") #Blush, shocked + cho @ cheeks blush "Sorry?" ("normal", "base", "raised", "mid") #Blush, shocked gen "Did she slip you any tongue or what?" ("base", xpos="far_left", ypos="head") - cho "How is that relevant to anything?" ("upset", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "How is that relevant to anything?" ("upset", "base", "base", "downR") gen "Did she though?" ("base", xpos="far_left", ypos="head") - cho "..." ("normal", "base", "raised", "down", cheeks="blush") #blush + cho @ cheeks blush "..." ("normal", "base", "raised", "down") #blush gen "I knew it!" ("grin", xpos="far_left", ypos="head") gen "I hope you were at least courteous enough to return the favour..." ("grin", xpos="far_left", ypos="head") gen "Tongue kissing and a butt squeeze... Now that's what I'd call a true challenger!" ("grin", xpos="far_left", ypos="head") - cho "..." ("base", "narrow", "base", "down", cheeks="blush") #Glaring + cho @ cheeks blush "..." ("base", "narrow", "base", "down") #Glaring gen "What happened next?" ("base", xpos="far_left", ypos="head") - cho "She broke off the kiss and slapped my butt cheek, before running off to the changing rooms." ("angry", "base", "base", "mid", cheeks="blush") - gen "Sounds to me like a job well done, [cho_name]." ("base", xpos="far_left", ypos="head") - cho "But I didn't even do anything!" ("clench", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "She broke off the kiss and slapped my butt cheek, before running off to the changing rooms." ("angry", "base", "base", "mid") + gen "Sounds to me like a job well done, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "But I didn't even do anything!" ("clench", "wide", "base", "mid") gen "Yet you achieved exactly what I asked of you, you formed an emotional bond with her." ("base", xpos="far_left", ypos="head") gen "Now we only have to do the same with the other two..." ("base", xpos="far_left", ypos="head") - cho "So that's what this emotional bonding is all about? Getting them to kiss me?" ("mad", "narrow", "raised", "mid", cheeks="blush") + cho @ cheeks blush "So that's what this emotional bonding is all about? Getting them to kiss me?" ("mad", "narrow", "raised", "mid") gen "Not kissing specifically..." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "closed", "base", "down", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "closed", "base", "down") gen "And now I'd like you to entice the other two as well." ("base", xpos="far_left", ypos="head") - cho "Sure, no problem... I'll just walk up to one of them and they'd throw themselves at me, just like Spinnet did!" ("normal", "narrow", "angry", "R", cheeks="blush") #Sarcastic + cho @ cheeks blush "Sure, no problem... I'll just walk up to one of them, and they'd throw themselves at me, just like Spinnet did!" ("normal", "narrow", "angry", "R") #Sarcastic gen "Great plan!" ("base", xpos="far_left", ypos="head") - gen "But for now you better get some rest and ready yourself to take on the other two." ("base", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "base", "down", cheeks="blush") - gen "Don't look so dejected, [cho_name]. You had a beautiful girl kiss you today... surely you can't be disappointed by that?" ("base", xpos="far_left", ypos="head") - cho "It's...{w=0.4} it's not that...{w=0.4} I'm just used to it being me who..." ("annoyed", "closed", "base", "mid", cheeks="blush") - cho "..." ("upset", "closed", "base", "mid", cheeks="blush") #Blush - cho "Never mind, good night then." ("normal", "base", "base", "downR", cheeks="heavy_blush") + gen "But for now, you better get some rest and ready yourself to take on the other two." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("disgust", "narrow", "base", "down") + gen "Don't look so dejected, [name_cho_genie]. You had a beautiful girl kiss you today... surely you can't be disappointed by that?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "It's...{w=0.4} it's not that...{w=0.4} I'm just used to it being me who..." ("annoyed", "closed", "base", "mid") + cho @ cheeks blush "..." ("upset", "closed", "base", "mid") #Blush + cho @ cheeks heavy_blush "Never mind, good night then." ("normal", "base", "base", "downR") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event label cc_pr_manipulate_girls_T3_katie_part1: + + $ states.cho.ev.manipulate_girls.t3_e2_complete = True + # Katie Bell - Part 1 # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "..." ("normal", "narrow", "base", "down", cheeks="blush", xpos="mid", ypos="base", trans=fade) + cho @ cheeks blush "..." ("normal", "narrow", "base", "down", xpos="mid", ypos="base", trans=fade) - gen "[cho_name]?" ("base", xpos="far_left", ypos="head") - cho "..." ("normal", "narrow", "base", "down", cheeks="blush") + gen "[name_cho_genie]?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("normal", "narrow", "base", "down") gen "Hello?" ("base", xpos="far_left", ypos="head") - cho "Oh... Sorry [cho_genie_name]!" ("upset", "closed", "base", "mid", cheeks="blush") #face more focused still blushing + cho @ cheeks blush "Oh... Sorry [name_genie_cho]!" ("upset", "closed", "base", "mid") #face more focused still blushing gen "What's the report. Did you manage to bond with the girl?" ("base", xpos="far_left", ypos="head") - cho "Of course..." ("angry", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Of course..." ("angry", "narrow", "base", "down") gen "Then how did it go? Tell me all the details!" ("base", xpos="far_left", ypos="head") - cho "All the details..." ("upset", "closed", "base", "mid", cheeks="heavy_blush") - cho "So...{w=0.4} Much like before, my plan was to follow Katie as she wandered off away from the others." ("open", "base", "base", "mid", cheeks="blush") - cho "And to no surprise... She was once again making her way down towards the lake." ("soft", "narrow", "base", "R", cheeks="blush") - cho "So I ran up to her and questioned her on where she was headed, and she responded that she was just going for a walk to clear her head." ("open", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks heavy_blush "All the details..." ("upset", "closed", "base", "mid") + cho @ cheeks blush "So...{w=0.4} Much like before, my plan was to follow Katie as she wandered off, away from the others." ("open", "base", "base", "mid") + cho @ cheeks blush "And to no surprise... She was once again making her way down towards the lake." ("soft", "narrow", "base", "R") + cho @ cheeks blush "So I ran up to her and questioned her about where she was headed, and she responded that she was just going for a walk to clear her head." ("open", "narrow", "base", "mid") gen "Yeah right..." ("base", xpos="far_left", ypos="head") - cho "That's what I said..." ("clench", "narrow", "base", "R", cheeks="blush") - cho "So to try and catch her off guard I bluntly asked her if she wasn't going for another round with those tentacles." ("open", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "That's what I said..." ("clench", "narrow", "base", "R") + cho @ cheeks blush "So, to try and catch her off guard, I bluntly asked her if she wasn't going for another round with those tentacles." ("open", "base", "raised", "mid") gen "Whoa, right to the point!" ("base", xpos="far_left", ypos="head") - cho "Yes, although she didn't even respond to it and just started walking again..." ("angry", "base", "base", "mid", cheeks="blush") - cho "So I pushed her further and asked what the Gryffindor house would think if they knew..." ("soft", "base", "angry", "mid", cheeks="blush") - cho "But she just kept walking, completely ignoring me." ("upset", "base", "angry", "mid", cheeks="blush") - cho "I wasn't able to get through to her at all until I said that I would snitch to her captain unless she did something for me." ("clench", "narrow", "base", "mid", cheeks="blush") - cho "That's when she stopped in her tracks, eyed me up and down and asked what her punishment was going to be." ("disgust", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "Yes, although she didn't even respond to it, and just started walking again..." ("angry", "base", "base", "mid") + cho @ cheeks blush "So I pushed her further, and asked what the Gryffindor house would think if they knew..." ("soft", "base", "angry", "mid") + cho @ cheeks blush "But she just kept walking, completely ignoring me." ("upset", "base", "angry", "mid") + cho @ cheeks blush "I wasn't able to get through to her at all until I said that I would snitch to her captain, unless she did something for me." ("clench", "narrow", "base", "mid") + cho @ cheeks blush "That's when she stopped in her tracks, eyed me up and down and asked what her punishment was going to be." ("disgust", "base", "base", "down") gen "Such a naughty girl!" ("grin", xpos="far_left", ypos="head") - cho "I know! That's not at all where I was going with the conversation." ("open", "wide", "angry", "mid", cheeks="blush") - cho "What I hadn't realised during my failed attempts at confronting her she had been leading me off the path." ("clench", "base", "base", "downR", cheeks="blush") - cho "Because just as I was about to reply, I felt something tighten around my waist and suddenly I found myself dangling several feet off the ground!" ("open", "wide", "base", "mid", cheeks="blush") - cho "That's when I realised, she had led me all the way to the Whomping Willow!" ("clench", "happyCl", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I know! That's not at all where I was going with the conversation." ("open", "wide", "angry", "mid") + cho @ cheeks blush "What I hadn't realised during my failed attempts at confronting her, it that she had been leading me off the path." ("clench", "base", "base", "downR") + cho @ cheeks blush "Because just as I was about to reply, I felt something tighten around my waist, and suddenly, I found myself dangling several feet off the ground!" ("open", "wide", "base", "mid") + cho @ cheeks blush "That's when I realised, she had led me all the way to the Whomping Willow!" ("clench", "happyCl", "angry", "mid") gen "The whomping what?" ("base", xpos="far_left", ypos="head") - cho "That darn tree students are told to stay away from..." ("upset", "base", "angry", "mid", cheeks="blush") - cho "It had grabbed both Katie and I, lifting us into the air... I thought we were done for." ("angry", "narrow", "base", "mid", cheeks="blush") - cho "And for a brief moment we just dangled there until the silence was cut short by a loud snapping sound and a yell." ("clench", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "That darn tree, students are told to stay away from..." ("upset", "base", "angry", "mid") + cho @ cheeks blush "It had grabbed both Katie and me, and then lifted us into the air... I thought we were done for." ("angry", "narrow", "base", "mid") + cho @ cheeks blush "And for a brief moment, we just dangled there, until the silence was cut short by a loud snapping sound and a yell." ("clench", "base", "base", "mid") gen "Terrifying!" ("angry", xpos="far_left", ypos="head") - cho "It was! Until I realised the tree wasn't even trying to kill us..." ("upset", "closed", "angry", "mid", cheeks="blush") - cho "It had started to vigorously lash its branches about, smacking Katie...{w} and to my horror she was thoroughly enjoying the whole thing." ("disgust", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "It was! Until I realised the tree wasn't even trying to kill us..." ("upset", "closed", "angry", "mid") + cho @ cheeks blush "It had started to vigorously lash its branches about, smacking Katie...{w} and to my horror, she was thoroughly enjoying the whole thing." ("disgust", "base", "base", "mid") gen "A spanking tree? Seriously?" ("grin", xpos="far_left", ypos="head") - cho "Yes!{w=0.4} And I'm sure this wasn't her first time doing this!" ("clench", "base", "raised", "mid", cheeks="blush") - cho "I couldn't believe what I was seeing, I just stared at her in disbelief..." ("disgust", "base", "base", "down", cheeks="blush") - cho "And at that moment, the tree--" ("upset", "happyCl", "angry", "mid", cheeks="blush") - cho "Smacked one of its branches across my breasts and stomach..." ("clench", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Yes!{w=0.4} And I'm sure this wasn't her first time doing this!" ("clench", "base", "raised", "mid") + cho @ cheeks blush "I couldn't believe what I was seeing, I just stared at her in disbelief..." ("disgust", "base", "base", "down") + cho @ cheeks blush "And at that moment, the tree--" ("upset", "happyCl", "angry", "mid") + cho @ cheeks blush "Smacked one of its branches across my breasts and stomach..." ("clench", "base", "angry", "mid") gen "Surely a little bit of spanking wouldn't bother a girl as tough as you, would it?" ("grin", xpos="far_left", ypos="head") - cho "Of course it doesn't! I've taken plenty of bruises playing Quidditch, I was just taken by surprise..." ("disgust", "base", "base", "mid", cheeks="blush") - cho "Once I got over that initial shock the tree swiftly moved me right up next to Katie." ("mad", "narrow", "base", "downR", cheeks="blush") - cho "And I watched as it continuously smacked her with its branches..." ("soft", "happyCl", "base", "down", cheeks="blush") + cho @ cheeks blush "Of course it doesn't! I've taken plenty of bruises playing Quidditch, I was just taken by surprise..." ("disgust", "base", "base", "mid") + cho @ cheeks blush "Once I got over that initial shock, the tree swiftly moved me, right up next to Katie." ("mad", "narrow", "base", "downR") + cho @ cheeks blush "And I watched as it continuously smacked her with its branches..." ("soft", "happyCl", "base", "down") gen "I bet she knew you were looking." ("grin", xpos="far_left", ypos="head") - cho "Obliviously, no doubt she was enjoying it even more than the spanking." ("annoyed", "base", "angry", "mid", cheeks="blush") - cho "And seeing that she was enjoying the attention so much, I decided to revert back to the original plan..." ("angry", "base", "base", "R", cheeks="blush") - cho "Your plan..." ("disgust", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "Obliviously... No doubt she was enjoying it even more than the spanking." ("annoyed", "base", "angry", "mid") + cho @ cheeks blush "And seeing that she was enjoying the attention so much, I decided to revert back to the original plan..." ("angry", "base", "base", "R") + cho @ cheeks blush "Your plan..." ("disgust", "base", "base", "down") gen "Yes?" ("base", xpos="far_left", ypos="head") - cho "To form an emotional bond with her instead..." ("disgust", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "To form an emotional bond with her instead..." ("disgust", "closed", "base", "mid") gen "Finally took that stick out of your butt, did you?" ("base", xpos="far_left", ypos="head") - cho "What? There was no stick up my butt!" ("mad", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "What? There was no stick up my butt!" ("mad", "base", "angry", "mid") gen "Figuratively speaking...{w=0.4} All that matters is that you finally accepted that you were enjoying yourself." ("base", xpos="far_left", ypos="head") gen "Now you can forever cherish this moment with Katie... and that spanking willow." ("base", xpos="far_left", ypos="head") - cho "Whomping, Sir." ("annoyed", "narrow", "angry", "mid", cheeks="blush") - cho "And I just took it for what it was... Endurance training! There's nothing wrong with that..." ("upset", "base", "base", "mid", cheeks="heavy_blush") - gen "Whatever you want to call it, I do it at least once or twice a day myself." ("base", xpos="far_left", ypos="head") - cho "Anyhow... After a couple more minutes the tree finally stopped smacking us, and I was able to catch my breath..." ("angry", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Whomping, Sir." ("annoyed", "narrow", "angry", "mid") + cho @ cheeks heavy_blush "And I just took it for what it was... Endurance training! There's nothing wrong with that..." ("upset", "base", "base", "mid") + gen "Whatever you want to call it, I do it at least once or twice a day, myself." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Anyhow... After a couple more minutes, the tree finally stopped smacking us, and I was able to catch my breath..." ("angry", "base", "base", "mid") gen "Sounds like a great workout." ("base", xpos="far_left", ypos="head") - cho "Yes, it was a workout and a half that's for sure!" ("horny", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "Yes, it was a workout and a half, that's for sure!" ("horny", "base", "base", "down") gen "Then maybe we should incorporate it into your training." ("base", xpos="far_left", ypos="head") cho "But Sir, the Whomping Willow is still extremely dangerous!" ("mad", "wide", "raised", "mid") cho "Everybody knows to stay as far away from it as possible!" ("open", "wide", "base", "mid") gen "Because of a little ass spanking? Don't be silly..." ("base", xpos="far_left", ypos="head") gen "That Katie girl sure took it like a champ... you need to be fearless as well, next time that tree spanks you red!" ("base", xpos="far_left", ypos="head") - cho "Next time?" ("clench", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Next time?" ("clench", "base", "base", "mid") gen "Just agree on a safe-word, if it gets too much." ("base", xpos="far_left", ypos="head") - cho "It's a tree! It's not going to agree to anything!" ("clench", "wide", "base", "mid", cheeks="blush") - cho "She tricked me into this!" ("scream", "base", "angry", "R", cheeks="blush") + cho @ cheeks blush "It's a tree! It's not going to agree to anything!" ("clench", "wide", "base", "mid") + cho @ cheeks blush "She tricked me into this!" ("scream", "base", "angry", "R") gen "..." ("angry", xpos="far_left", ypos="head") - cho "I bet I ruined it anyway..." ("annoyed", "base", "angry", "R", cheeks="blush") - cho "Because as soon as the tree lowered us back to the ground Katie rushed off." ("upset", "base", "base", "downR", cheeks="blush") - cho "So I couldn't even talk to her..." ("clench", "base", "base", "down", cheeks="blush") - gen "You kidding me? Talking would've just ruined it at that point!" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "I bet I ruined it anyway..." ("annoyed", "base", "angry", "R") + cho @ cheeks blush "Because as soon as the tree lowered us back to the ground, Katie rushed off." ("upset", "base", "base", "downR") + cho @ cheeks blush "So I couldn't even talk to her..." ("clench", "base", "base", "down") + gen "You're kidding me? Talking would've just ruined it at that point!" ("grin", xpos="far_left", ypos="head") gen "You just had an amazing experience together, and didn't exchange a word throughout the entire thing. There's no better emotional bonding than that..." ("grin", xpos="far_left", ypos="head") - cho "..." ("mad", "happyCl", "base", "down", cheeks="blush") #Blushing + cho @ cheeks blush "..." ("mad", "happyCl", "base", "down") #Blushing gen "Well, I'd say we're one step closer to taking on the Lions for the finals." ("base", xpos="far_left", ypos="head") gen "I'm confident you'll be able to tame those lionesses by then." ("base", xpos="far_left", ypos="head") - cho "I...{w=0.4} of course..." ("open", "happyCl", "base", "mid", cheeks="heavy_blush") #Smiles and blushes + cho @ cheeks heavy_blush "I...{w=0.4} of course..." ("open", "happyCl", "base", "mid") #Smiles and blushes gen "You should take some rest now..." ("base", xpos="far_left", ypos="head") gen "You look beat." ("grin", xpos="far_left", ypos="head") - cho "Very well... Good night then." ("annoyed", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Very well... Good night then." ("annoyed", "narrow", "base", "down") gen "Until next time." ("base", xpos="far_left", ypos="head") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event label cc_pr_manipulate_girls_T3_katie_part2: + + $ states.cho.ev.manipulate_girls.t3_e3_complete = True + # Katie Bell - Part 2 # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" (face="angry", xpos="mid", ypos="base", trans=fade) + cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "Welcome back, any progress?" ("base", xpos="far_left", ypos="head") - cho "If your goal was to get my ass red raw again then sure, plenty of progress..." ("angry", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "If your goal was to get my ass red raw again then sure, plenty of progress..." ("angry", "narrow", "base", "R") gen "Progress is progress... So, what went down today?" ("base", xpos="far_left", ypos="head") - cho "I followed Katie again... just as you wanted..." ("annoyed", "base", "base", "down", cheeks="blush") - cho "I attempted to strike up another conversation but just like last time, she wasn't really up for chatting..." ("open", "base", "base", "mid", cheeks="blush") - cho "So since she was giving me the silent treatment I asked her if this was another attempt of hers to trick me again." ("open", "closed", "base", "mid", cheeks="blush") - cho "But she simply shrugged and said that if I was to join her again then I should just be quiet and follow her..." ("open", "base", "raised", "mid", cheeks="blush") + cho @ cheeks blush "I followed Katie again... just as you wanted..." ("annoyed", "base", "base", "down") + cho @ cheeks blush "I attempted to strike up another conversation, but just like last time, she wasn't really up for chatting..." ("open", "base", "base", "mid") + cho @ cheeks blush "So, since she was giving me the silent treatment, I asked her if this was another attempt of hers to trick me again." ("open", "closed", "base", "mid") + cho @ cheeks blush "But she simply shrugged and said that if I was to join her again, then I should just be quiet and follow her..." ("open", "base", "raised", "mid") gen "And, did you?" ("grin", xpos="far_left", ypos="head") - cho "Well, yes..." ("disgust", "base", "base", "down", cheeks="blush") - cho "Since she put it like that, how could I refuse? I'd look like a total wimp!" ("upset", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Well, yes..." ("disgust", "base", "base", "down") + cho @ cheeks blush "Since she put it like that, how could I refuse? I'd look like a total wimp!" ("upset", "base", "angry", "mid") cho "I mean... It's only a giant, half-conscious, murderous tree... What's the worst that could happen?" ("annoyed", "base", "angry", "mid") - cho "Having said that...{w=0.4} It ended up being even more intense than last time!" ("clench", "base", "base", "R", cheeks="blush") - cho "Maybe Katie jinxed it this time around... or she forgot to jinx it... who knows." ("soft", "base", "base", "down", cheeks="blush") - cho "It yanked us into the air with such speed, even I wasn't ready for it!" ("angry", "base", "raised", "mid", cheeks="blush") - cho "I had to fight its grip, to at least get some form of control back..." ("horny", "base", "base", "downR", cheeks="blush") - cho "But that was easier said than done as the tree had already snaked some of its branches underneath my clothes... sliding them right off my body." ("soft", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Having said that...{w=0.4} It ended up being even more intense than last time!" ("clench", "base", "base", "R") + cho @ cheeks blush "Maybe Katie jinxed it this time around... or she forgot to jinx it... who knows." ("soft", "base", "base", "down") + cho @ cheeks blush "It yanked us into the air with such speed, even I wasn't ready for it!" ("angry", "base", "raised", "mid") + cho @ cheeks blush "I had to fight its grip, to at least get some form of control back..." ("horny", "base", "base", "downR") + cho @ cheeks blush "But that was easier said than done, as the tree had already snaked some of its branches underneath my clothes... sliding them right off my body." ("soft", "narrow", "base", "down") gen "Nice! Just like that?" ("grin", xpos="far_left", ypos="head") - cho "Well I tried to grab them... but it had already moved its branches away from me..." ("mad", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Well, I tried to grab them... But it had already moved its branches away from me..." ("mad", "base", "base", "mid") gen "What happened to your reflexes... Are you being bested by a tree now?" ("base", xpos="far_left", ypos="head") - cho "No. I simply let it do its thing to...{w=0.4} impress Katie..." ("upset", "narrow", "base", "downR", cheeks="blush") - cho "I'm sure she didn't mind that her clothing got taken off as well... that slut." ("open", "wide", "angry", "mid", cheeks="heavy_blush") + cho @ cheeks blush "No. I simply let it do its thing to...{w=0.4} impress Katie..." ("upset", "narrow", "base", "downR") + cho @ cheeks heavy_blush "I'm sure she didn't mind that her clothing got taken off as well... that slut." ("open", "wide", "angry", "mid") gen "(As well?)" ("base", xpos="far_left", ypos="head") - cho "Just eyeing me up and down like a piece of meat... right up until..." ("clench", "base", "base", "R", cheeks="blush") + cho @ cheeks blush "Just eyeing me up and down like a piece of meat... And that's when..." ("clench", "base", "base", "R") gen "Yes?" ("grin", xpos="far_left", ypos="head") - cho "The tree threw one of its branches about and swung it at us, smacking our butts..." ("soft", "happyCl", "base", "mid", cheeks="blush") + cho @ cheeks blush "That's when the tree threw one of its branches about and swung it at us, smacking our butts..." ("soft", "happyCl", "base", "mid") gen "Got to bless mother nature!" ("grin", xpos="far_left", ypos="head") - cho "And It just kept doing it over and over until our cheeks turned all red..." ("clench", "base", "base", "downR", cheeks="blush") - cho "It was as if my body was on fire!" ("horny", "narrow", "base", "down", cheeks="blush") - cho "As it continued, Katie looked up at me and reached out to grab my hand..." ("soft", "narrow", "base", "down", cheeks="blush") - cho "And as I finally managed to grab it, the tree smacked us hard across our cheeks." ("angry", "narrow", "base", "downR", cheeks="blush") - cho "And with that pain came a sudden rush of relief as Katie tightened her hand around mine." ("smile", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "And It just kept doing it, over and over, until our cheeks turned all red..." ("clench", "base", "base", "downR") + cho @ cheeks blush "It was as if my body had caught on fire!" ("horny", "narrow", "base", "down") + cho @ cheeks blush "As it continued, Katie looked up at me and reached out to grab my hand..." ("soft", "narrow", "base", "down") + cho @ cheeks blush "And as I finally managed to grab it, the tree smacked us hard across our cheeks." ("angry", "narrow", "base", "downR") + cho @ cheeks blush "And with that pain came a sudden rush of relief as Katie tightened her hand around mine." ("smile", "narrow", "base", "down") gen "An orgasm, Miss Chang?" ("grin", xpos="far_left", ypos="head") - cho "It...{w=0.4} yes, I think she might've." ("upset", "base", "base", "mid", cheeks="heavy_blush") + cho @ cheeks heavy_blush "It...{w=0.4} yes, I think she might've." ("upset", "base", "base", "mid") gen "Still too early to admit it?" ("base", xpos="far_left", ypos="head") - cho "Too early to admit what?" ("mad", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Too early to admit what?" ("mad", "base", "base", "mid") gen "Never mind... did anything else happen after that?" ("base", xpos="far_left", ypos="head") - cho "Not much, as far as I recall..." ("base", "base", "base", "downR", cheeks="blush") - cho "All I remember is the tree lowering us to the ground and the sound of Katie's breathing..." ("soft", "closed", "base", "mid", cheeks="blush") - cho "I just laid there for a while catching my breath, until the only thing I could hear was the sound of the forest around me..." ("open", "closed", "base", "mid", cheeks="blush") - cho "Once I recovered, I turned to face Katie but again she was already gone..." ("angry", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Not much, as far as I recall..." ("base", "base", "base", "downR") + cho @ cheeks blush "All I remember is the tree lowering us to the ground and the sound of Katie's breathing..." ("soft", "closed", "base", "mid") + cho @ cheeks blush "I just laid there for a while, catching my breath, until the only thing I could hear was the sound of the surrounding forest..." ("open", "closed", "base", "mid") + gen "Almost sounds poetic." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Once I recovered, I turned to face Katie, but once again, she had already gone..." ("angry", "narrow", "base", "down") gen "Now that's how it's done!" ("base", xpos="far_left", ypos="head") - cho "Thank you!" ("smile", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Thank you!" ("smile", "base", "base", "mid") gen "That shall be all for today..." ("base", xpos="far_left", ypos="head") gen "You may leave now. Dismissed." ("base", xpos="far_left", ypos="head") - cho "Good night then." ("base", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Good night then." ("base", "base", "base", "mid") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event label cc_pr_manipulate_girls_T3_angelina: + $ states.cho.ev.manipulate_girls.t3_e4_complete = True + # Angelina Johnson # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") - cho "" ("normal", "narrow", "base", "down", cheeks="blush", xpos="mid", ypos="base", trans=fade) + cho @ cheeks blush "" ("normal", "narrow", "base", "down", xpos="mid", ypos="base", trans=fade) if game.weather == "rain": gen "Whoa, you're soaking!" ("angry", xpos="far_left", ypos="head") - cho "Oh, yes... I guess my clothes ended up a little wet..." ("base", "narrow", "base", "down", cheeks="blush") #Blushing + cho @ cheeks blush "Oh, yes... I guess my clothes ended up a little wet..." ("base", "narrow", "base", "down") #Blushing else: gen "Welcome back..." ("grin", xpos="far_left", ypos="head") - cho "..." ("normal", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "..." ("normal", "base", "base", "downR") gen "You look soaked." ("angry", xpos="far_left", ypos="head") - cho "Oh, yes... I guess my clothes ended up a little wet..." ("base", "narrow", "base", "down", cheeks="blush") #Blushing + cho @ cheeks blush "Oh, yes... I guess my clothes ended up a little wet..." ("base", "narrow", "base", "down") #Blushing gen "How? It's not even raining!" ("base", xpos="far_left", ypos="head") - cho "*Ehm*...." ("disgust", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "*Ehm*..." ("disgust", "narrow", "base", "mid") gen "So, do you have that report for me?" ("base", xpos="far_left", ypos="head") - cho "I...{w=0.3} yes..." ("horny", "base", "base", "downR", cheeks="blush") - gen "I'm waiting [cho_name]... give me the {i}deets{/i}." ("base", xpos="far_left", ypos="head") - cho "Of course!" ("open", "happyCl", "base", "mid", cheeks="blush") - cho "Well...{w=0.4} I went to see if I could catch Angelina talking to Madame Hooch again." ("soft", "base", "base", "down", cheeks="blush") - cho "Determined to get the full context of what was going on this time!" ("open", "base", "base", "mid", cheeks="blush") - cho "I immediately went and hid in the boys changing room as soon as they had gone for lunch to listen in." ("soft", "base", "base", "L", cheeks="blush") - cho "Although I got there a bit early and they were still in the showers, touching each other and gossiping.." ("upset", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "I...{w=0.3} yes..." ("horny", "base", "base", "downR") + gen "I'm waiting [name_cho_genie]... give me the {i}deets{/i}." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Of course!" ("open", "happyCl", "base", "mid") + cho @ cheeks blush "Well...{w=0.4} I went to see if I could catch Angelina talking to Madam Hooch again." ("soft", "base", "base", "down") + cho @ cheeks blush "I was determined to get the full context of what was going on this time!" ("open", "base", "base", "mid") + cho @ cheeks blush "I immediately went and hid in the boys changing room as soon as they had gone for lunch to listen in." ("soft", "base", "base", "L") + cho @ cheeks blush "Although I got there a bit early, and they were still in the showers, touching each other, and gossiping..." ("upset", "base", "base", "mid") gen "Hooch and Johnson?!" ("angry", xpos="far_left", ypos="head") - cho "No, the Gryffindor team!" ("clench", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "No, the girls on the Gryffindor team!" ("clench", "narrow", "base", "mid") gen "Right..." ("base", xpos="far_left", ypos="head") - cho "So, doing my best to eavesdrop on their conversation, I went up to that hole I told you about." ("angry", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "So, doing my best to eavesdrop on their conversation, I went up to that hole I told you about." ("angry", "closed", "base", "mid") cho "After a while, as Angelina brought up the subject of spying to the other two, Alicia replied that she was already aware." ("open", "base", "base", "mid") cho "Katie then chimed in, saying she knew about it as well." ("soft", "base", "base", "mid") - cho "Which seemed to surprise Angelina at first but she then moved on saying that they need to form some sort of plan." ("open", "base", "base", "mid") - gen "I bet Miss Johnson didn't think they kept anything secret from her..." ("base", xpos="far_left", ypos="head") + cho "Which seemed to surprise Angelina at first, but she then moved on, saying that they need to form some sort of plan." ("open", "base", "base", "mid") + gen "I bet Miss Johnson didn't think her friends had been keeping anything secret from her..." ("base", xpos="far_left", ypos="head") cho "For sure..." ("soft", "base", "base", "R") gen "So, did they come up with a plan?" ("base", xpos="far_left", ypos="head") cho "Well, sort of..." ("open", "narrow", "base", "down") - cho "Katie had obviously already thought about it as she immediately responded that she knew exactly how to deal with it..." ("soft", "base", "base", "mid") + cho "Katie had obviously already thought about it, since she immediately responded that she knew exactly how to deal with it..." ("soft", "base", "base", "mid") cho "But as I waited to find out what it was, they suddenly went quiet, and I couldn't hear any of them." ("angry", "base", "raised", "mid") gen "Left for the changing room?" ("base", xpos="far_left", ypos="head") - cho "That's what I thought, until I removed my ear from the hole to have a look..." ("disgust", "base", "base", "down", cheeks="blush") - cho "No, they hadn't left... when I took a peek through the hole I found all three of them staring back at me..." ("open", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "That's what I thought, until I removed my ear from the hole to have a look..." ("disgust", "base", "base", "down") + cho @ cheeks blush "No, they hadn't left... when I took a peek through the hole I found all three of them staring back at me..." ("open", "wide", "base", "mid") gen "Busted!" ("grin", xpos="far_left", ypos="head") gen "So what did you do, run away?" ("grin", xpos="far_left", ypos="head") - cho "At first I just sort of stood there in shock, not knowing what to do..." ("clench", "narrow", "base", "down", cheeks="blush") - cho "Until Angelina angrily beckoned me to get in there." ("clench", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "At first I just sort of stood there in shock, not knowing what to do..." ("clench", "narrow", "base", "down") + cho @ cheeks blush "Until Angelina angrily beckoned me to get in there." ("clench", "base", "base", "downR") gen "There goes our plan to separate them from each other..." ("angry", xpos="far_left", ypos="head") - cho "Let me finish!" ("angry", "happyCl", "base", "mid", cheeks="blush") - cho "Once I got in there and before Angelina got a chance to do anything, Spinnet came up to me..." ("upset", "base", "base", "down", cheeks="blush") - cho "And just like before, she leaned in and kissed me!" ("normal", "wide", "base", "mid", cheeks="blush") - gen "Nice, and you kissed her back?" ("base", xpos="far_left", ypos="head") - cho "Of course! I wasn't about to blow my cover, was I?" ("upset", "base", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Let me finish!" ("angry", "happyCl", "base", "mid") + cho @ cheeks blush "Once I got in there, and before Angelina got a chance to do anything, Spinnet came up to me..." ("upset", "base", "base", "down") + cho @ cheeks blush "And just like before, she leaned in and kissed me!" ("normal", "wide", "base", "mid") + gen "Nice! And you kissed her back?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "Of course! I wasn't about to blow my cover, was I?" ("upset", "base", "angry", "mid") gen "Of course..." ("grin", xpos="far_left", ypos="head") - cho "As she kissed me, Angelina shouted at her, asking what the hell she was doing." ("mad", "closed", "base", "mid", cheeks="blush") - cho "Alicia then broke off the kiss and turned to her, asking what the problem was..." ("soft", "narrow", "base", "downR", cheeks="blush") - cho "Angelina just sort of stared dumbfounded at us until she shouted that I'm the seeker of an enemy team." ("clench", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "As she kissed me, Angelina shouted at her, asking what the hell she was doing." ("mad", "closed", "base", "mid") + cho @ cheeks blush "Alicia then broke off the kiss and turned to her, asking what the problem was..." ("soft", "narrow", "base", "downR") + cho @ cheeks blush "Angelina just sort of stared, dumbfounded at us, until she shouted that I'm the seeker of an enemy team." ("clench", "base", "base", "mid") gen "..." ("angry", xpos="far_left", ypos="head") - cho "I honestly thought it was over at that point but that's when Katie joined in..." ("soft", "closed", "base", "down", cheeks="blush") - cho "Telling Angelina off for being mean, saying how it's unfair that I don't have a group of girls to play with after practice like she does." ("base", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "I honestly thought it was over at that point, but that's when Katie chimed in--" ("soft", "closed", "base", "down") + cho @ cheeks blush "--Telling Angelina off for being mean. And saying that it's unfair that I don't have a group of girls to play with after practice like she does." ("base", "narrow", "base", "downR") gen "Nice... you got both Spinnet and Bell on your side! Told you that bonding with them would do it!" ("grin", xpos="far_left", ypos="head") - cho "I...{w=0.3} I suppose so." ("base", "happyCl", "base", "mid", cheeks="blush") #Smiles - cho "Angelina still didn't look convinced though and just stood there with her arms crossed staring at me..." ("soft", "base", "base", "downR", cheeks="blush") - cho "So as an attempt at convincing her... I grabbed Alicia's head and pressed her lips against mine..." ("smile", "base", "angry", "mid", cheeks="blush") - cho "Which was enough to grab Katie's attention, as she then moved up behind me to try and pull my top off." ("soft", "wink", "base", "mid", cheeks="blush") + cho @ cheeks blush "I...{w=0.3} I suppose so." ("base", "happyCl", "base", "mid") #Smiles + cho @ cheeks blush "Angelina still didn't look convinced though, and just stood there with her arms crossed, while staring at me..." ("soft", "base", "base", "downR") + cho @ cheeks blush "So as an attempt at convincing her... I grabbed Alicia's head and pressed her lips against mine..." ("smile", "base", "angry", "mid") + cho @ cheeks blush "Which was enough to grab Katie's attention, and she moved up behind me to try and pull my top off." ("soft", "wink", "base", "mid") gen "Nicely done!" ("grin", xpos="far_left", ypos="head") - cho "Of course I didn't let her..." ("annoyed", "base", "base", "R", cheeks="heavy_blush") + cho @ cheeks heavy_blush "Of course I didn't let her..." ("annoyed", "base", "base", "R") gen "Why not? What about your cover?" ("angry", xpos="far_left", ypos="head") - cho "Because...{w=0.3} I...{w=0.4} Well, I didn't blow it okay!" ("open", "base", "angry", "downR", cheeks="blush") - cho "I wasn't going to let her undress me like that... so instead I grabbed her hands and put them under my bra to let her play with my breasts." ("horny", "narrow", "base", "down", cheeks="blush") - cho "Luckily she didn't seem to think much of it and began massaging them." ("soft", "narrow", "base", "mid", cheeks="blush") - cho "Angelina on the other hand was not convinced... telling the other girls to step aside..." ("angry", "base", "base", "down", cheeks="blush") - cho "Which they did...{w=0.4} both Alicia and Katie jumped back as Angelina walked up, staring me down." ("disgust", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Because...{w=0.3} I...{w=0.4} Well, I didn't blow it, okay!?" ("open", "base", "angry", "downR") + cho @ cheeks blush "I wasn't going to let her undress me like that... Instead, I grabbed her hands and put them under my bra to let her play with my breasts." ("horny", "narrow", "base", "down") + cho @ cheeks blush "Luckily she didn't seem to think much of it and began massaging them." ("soft", "narrow", "base", "mid") + cho @ cheeks blush "Angelina on the other hand, was not convinced... And she told the other girls to step aside..." ("angry", "base", "base", "down") + cho @ cheeks blush "Which they did...{w=0.4} Both Alicia and Katie jumped back when Angelina approached me, while staring me down." ("disgust", "base", "base", "mid") gen "Scary..." ("base", xpos="far_left", ypos="head") - cho "I don't think I've ever had a girl scrutinize me like that..." ("horny", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "I don't think I've ever had a girl scrutinize me like that..." ("horny", "base", "base", "down") gen "Especially a naked one..." ("base", xpos="far_left", ypos="head") - cho "She then smirked at me, saying I must truly be something special if her girls would just throw themselves at me as eagerly as they did." ("soft", "base", "base", "mid", cheeks="heavy_blush") - cho "I didn't really know how to respond to that so I instinctively took a step back against the wall just as she leaned in and pressed her lips against mine..." ("horny", "closed", "base", "mid", cheeks="blush") - cho "Which took me by such surprise I tripped and slid down onto the wet floor." ("upset", "closed", "base", "mid", cheeks="blush") + cho @ cheeks heavy_blush "She then smirked at me, and said that I must truly be something special if her girls would just throw themselves at me as eagerly as they did." ("soft", "base", "base", "mid") + cho @ cheeks blush "I didn't really know how to respond to that, so I instinctively took a step back against the wall just as she leaned in and pressed her lips against mine..." ("horny", "closed", "base", "mid") + cho @ cheeks blush "Which took me by such surprise, I tripped and slid down onto the wet floor." ("upset", "closed", "base", "mid") gen "Ouch..." ("base", xpos="far_left", ypos="head") gen "(Those Lionesses are animals!)" ("angry", xpos="far_left", ypos="head") - cho "She didn't even apologize and just looked down at me, telling me I kiss like a high-schooler..." ("mad", "base", "base", "mid", cheeks="blush") - cho "That said... didn't stop her from crouching down for another... although this time she put her tongue in there." ("angry", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "She didn't even apologize, and just looked down at me, telling me that I kiss like a high-schooler..." ("mad", "base", "base", "mid") + cho @ cheeks blush "That said... didn't stop her from crouching down for another... although this time she put her tongue in there." ("angry", "base", "base", "mid") gen "Straight in there!" ("grin", xpos="far_left", ypos="head") gen "I hope you returned the favour!" ("grin", xpos="far_left", ypos="head") - cho "I tried to... but as I attempted it, she stopped and stood back up." ("upset", "narrow", "base", "R", cheeks="blush") - cho "And as I steadied myself to get up as well, she put her foot beneath my skirt and pressed it against my panties which made me slide back down onto the floor." ("open", "wide", "base", "mid", cheeks="blush") + cho @ cheeks blush "I tried to... but as I attempted it, she stopped and stood back up." ("upset", "narrow", "base", "R") + cho @ cheeks blush "So I tried doing the same, but when I steadied myself to get up, she put her foot beneath my skirt and pressed it against my panties, which made me slide back down onto the floor." ("open", "wide", "base", "mid") gen "..." ("grin", xpos="far_left", ypos="head") - cho "Then, turning back to the others she started chastising them even further, saying she was still mad about what they did..." ("open", "base", "base", "mid", cheeks="blush") - cho "But when doing so, she also started rubbing her foot up and down against my panties." ("disgust", "base", "base", "down", cheeks="blush") - cho "Both Katie and Alicia didn't seem to notice as they had turned towards Angelina to defend themselves." ("horny", "base", "base", "downR", cheeks="blush") - cho "I don't remember exactly what they were saying at that point..." ("angry", "happyCl", "base", "mid", cheeks="blush") + cho @ cheeks blush "Then, turning back to the others, she started chastising them even further, about how she was still mad at them for doing what they did..." ("open", "base", "base", "mid") + cho @ cheeks blush "But when doing so, she also started rubbing her foot up and down against my panties." ("disgust", "base", "base", "down") + cho @ cheeks blush "Both Katie and Alicia didn't seem to notice, since their focus was on defending themselves." ("horny", "base", "base", "downR") + cho @ cheeks blush "I don't remember exactly what they were saying at that point..." ("angry", "happyCl", "base", "mid") gen "(not surprising...)" ("base", xpos="far_left", ypos="head") - cho "She just kept rubbing me more and more as they were arguing and..." ("horny", "closed", "base", "mid", cheeks="blush") - cho "I just...{w} couldn't...{w} hold it in at that point!" ("soft", "closed", "base", "mid", cheeks="blush") #ahegao? - gen "She made you--" ("base", xpos="far_left", ypos="head") - cho "She made me orgasm as I lay there on the ground!" ("horny", "base", "base", "up", cheeks="blush") - cho "Which they all realised as they stopped arguing to look at me..." ("clench", "base", "base", "up", cheeks="blush") - cho "Angelina's expression quickly changed into a smile as she pressed her foot down even harder, telling me I'd been a naughty girl..." ("disgust", "wide", "base", "mid", cheeks="heavy_blush") - cho "And that the other two shouldn't have been so selfish to keep me all for themselves." ("disgust", "narrow", "base", "downR", cheeks="blush") - cho "She then stepped off me and made her way out of the showers, beckoning the other two to come with her." ("clench", "base", "base", "mid", cheeks="blush") - cho "And they just looked at me, giggled, then proceeded to follow her." ("mad", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "During their argument, She just kept rubbing me, more and more, until... Well..." ("horny", "closed", "base", "mid") + cho @ cheeks blush "I just...{w} couldn't...{w} hold it in any more!" ("soft", "closed", "base", "mid") #ahegao? + gen "Don't tell me she made you--" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "She made me orgasm as I lay there on the ground!" ("horny", "base", "base", "up") + cho @ cheeks blush "Which they all soon realised, and they suddenly stopped arguing to look at me..." ("clench", "base", "base", "up") + cho @ cheeks heavy_blush "Angelina's expression even changed into a smile, and she pressed her foot down even harder, telling me I'd been a naughty girl..." ("disgust", "wide", "base", "mid") + cho @ cheeks blush "And that the other two shouldn't have been so selfish to keep me all for themselves." ("disgust", "narrow", "base", "downR") + cho @ cheeks blush "She then stepped off me, and made her way out of the showers, beckoning the other two to come with her." ("clench", "base", "base", "mid") + cho @ cheeks blush "Which they did... Although before doing so, they caught a last look at me, and giggled happily." ("mad", "narrow", "base", "mid") gen "Nice..." ("base", xpos="far_left", ypos="head") - cho "What do you mean nice?" ("mad", "base", "angry", "mid", cheeks="blush") #large text - cho "She humiliated me!" ("open", "base", "angry", "mid", cheeks="blush") #large text + cho @ cheeks blush "What do you mean, nice?" ("mad", "base", "angry", "mid") #large text + cho @ cheeks blush "She humiliated me!" ("open", "base", "angry", "mid") #large text gen "She was testing you..." ("base", xpos="far_left", ypos="head") - cho "She was..." ("clench", "wide", "base", "down", cheeks="blush") + cho @ cheeks blush "She was..." ("clench", "wide", "base", "down") gen "Yes...{w=0.4} Not only that...{w=0.4} I think you passed!" ("grin", xpos="far_left", ypos="head") - gen "Maybe I underestimated those girls... they aren't easy to boss around that's for sure..." ("base", xpos="far_left", ypos="head") + gen "Maybe I underestimated those girls... they aren't easy to boss around, that's for sure..." ("base", xpos="far_left", ypos="head") gen "But no matter..." ("base", xpos="far_left", ypos="head") - cho "..." ("upset", "happyCl", "base", "mid", cheeks="blush") #pout + cho @ cheeks blush "..." ("upset", "happyCl", "base", "mid") #pout gen "We shall see soon enough what comes from this..." ("base", xpos="far_left", ypos="head") gen "In any case, what has happened has happened." ("base", xpos="far_left", ypos="head") - cho "You reckon I ruined it?" ("upset", "narrow", "base", "mid", cheeks="blush") #worried + cho @ cheeks blush "You reckon I ruined it?" ("upset", "narrow", "base", "mid") #worried gen "Of course not, you did great!" ("base", xpos="far_left", ypos="head") gen "But you can't let them take charge like that during the game." ("base", xpos="far_left", ypos="head") - cho "Yes [cho_genie_name]." ("open", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Yes [name_genie_cho]." ("open", "narrow", "base", "down") gen "Good!" ("base", xpos="far_left", ypos="head") gen "One step closer towards sipping at the fizzy cup!" ("base", xpos="far_left", ypos="head") cho "You don't drink from--" ("clench", "base", "base", "mid") - gen "Better ready yourself [cho_name]. The finals are looming ever so closer." ("base", xpos="far_left", ypos="head") + gen "Better ready yourself [name_cho_genie]. The finals are looming ever so closer." ("base", xpos="far_left", ypos="head") gen "You got this." ("base", xpos="far_left", ypos="head") cho "Thanks..." ("soft", "narrow", "base", "downR") #smiles gen "Now, time for some rest." ("base", xpos="far_left", ypos="head") - cho "Yes, good night then [cho_genie_name]." ("open", "base", "base", "mid") + cho "Yes, good night then [name_genie_cho]." ("open", "base", "base", "mid") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event diff --git a/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy b/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy index 2787a083..dd46a445 100644 --- a/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy +++ b/game/scripts/characters/cho/events/requests/spy_on_the_boys.rpy @@ -7,19 +7,19 @@ label cc_pr_spy_boys_start: cho "" (xpos="right", ypos="base", trans=fade) - if not cc_pr_spy_boys.is_event_complete(3, 1): # Completed spying on the Weasley Twins? + if not states.cho.ev.spy_on_boys.t3_e1_complete: # Completed spying on the Weasley Twins? # Weasley Twins - handing over candies that turn people into blueberries - if not cc_pr_spy_girls.is_event_complete(3, 1): + if not states.cho.ev.spy_on_girls.t3_e1_complete: # Player has not spied on girls just yet. gen "Time to target the boys for a classic espionage mission C." ("base", xpos="far_left", ypos="head") cho "C? Is that some sort of spy name?" ("soft", "base", "base", "mid") gen "Yep! C is the perfect spy name for you." ("base", xpos="far_left", ypos="head") cho "Where do you get all these ideas from... seriously." ("annoyed", "base", "base", "mid") - gen "That's your cup-size is it not?" ("base", xpos="far_left", ypos="head") + gen "That's your cup-size, is it not?" ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "wide", "base", "mid") #Blushes - cho "You're such an old pervert, you know that right?" ("soft", "base", "angry", "mid") + cho "You're such an old pervert, you know that, right?" ("soft", "base", "angry", "mid") cho "And it's B cup actually..." ("open", "base", "base", "downR") #Blushes and glances to the side gen "Noted..." ("grin", xpos="far_left", ypos="head") cho "So..." ("annoyed", "base", "base", "down") #pondering @@ -32,11 +32,11 @@ label cc_pr_spy_boys_start: cho "Where does this obsession with nicknames come from?" ("open", "base", "raised", "mid") gen "Where does it come from....?" ("base", xpos="far_left", ypos="head") - cho "Where does this obsession with nicknames come from... [cho_genie_name]?" ("annoyed", "base", "raised", "mid") + cho "Where does this obsession with nicknames come from... [name_genie_cho]?" ("annoyed", "base", "raised", "mid") gen "No-no... You don't get it, we use code words here..." ("base", xpos="far_left", ypos="head") gen "This is a secret operation!" ("base", xpos="far_left", ypos="head") cho "You want me to give you a nickname?" ("annoyed", "narrow", "base", "mid") - gen "I think codename would be the appropriate term." ("base", xpos="far_left", ypos="head") + gen "I think a \"codename\" would be the appropriate term." ("base", xpos="far_left", ypos="head") gen "How about..." ("base", xpos="far_left", ypos="head") menu: @@ -48,7 +48,7 @@ label cc_pr_spy_boys_start: gen "No ass left untouched!" ("grin", xpos="far_left", ypos="head") cho "Merlin's beard..." ("angry", "narrow", "raised", "downR") # Facepalm - gen "Merlin's beard.... that's a pretty good codename, I like it!" ("grin", xpos="far_left", ypos="head") + gen "Merlin's beard.... That's a pretty good codename, I like it!" ("grin", xpos="far_left", ypos="head") cho "But I was..." ("mad", "base", "raised", "mid") gen "..." ("grin", xpos="far_left", ypos="head") cho "Yes... Merlin's beard." ("soft", "narrow", "base", "downR") @@ -56,35 +56,35 @@ label cc_pr_spy_boys_start: gen "Today's mission, if you choose to accept it..." ("base", xpos="far_left", ypos="head") gen "And by choose I mean there's not really much choice in the matter." ("base", xpos="far_left", ypos="head") cho "..." ("normal", "narrow", "base", "mid") #rolls eyes, bit pissed off - gen "I'd like you to spy on the beaters.... those {i}Weasel{/i} twins." ("base", xpos="far_left", ypos="head") + gen "I'd like you to spy on the beaters... Those {i}Weasel{/i} twins." ("base", xpos="far_left", ypos="head") cho "Weasley..." ("soft", "narrow", "base", "mid") gen "Yeah, that!" ("base", xpos="far_left", ypos="head") gen "I'd like you to follow them and see what they are doing, find out if there's anything we could use against them during the match." ("base", xpos="far_left", ypos="head") cho "You want me to follow them around the entire day?" ("angry", "base", "base", "mid") - gen "Of course, that's what a spy does isn't it?" ("base", xpos="far_left", ypos="head") + gen "Of course, isn't that what a spy is supposed to do?" ("base", xpos="far_left", ypos="head") cho "Yeah, it's not like I have school or anything important to do." ("upset", "base", "angry", "downR") gen "Great!" ("grin", xpos="far_left", ypos="head") gen "Report back to me this evening as usual B!" ("grin", xpos="far_left", ypos="head") cho "Fine..." ("angry", "narrow", "base", "mid") - elif not cc_pr_spy_boys.is_event_complete(3, 2): # Completed Ron Weasley? + elif not states.cho.ev.spy_on_boys.t3_e2_complete: # Completed Ron Weasley? # Spy on Ron Weasley gen "Ready for some more espionage B?" ("base", xpos="far_left", ypos="head") cho "Of course!" ("open", "base", "base", "mid") cho "Who are we targeting today?" ("soft", "base", "raised", "mid") - gen "The keeper... Tom or whatever his name was." ("base", xpos="far_left", ypos="head") + gen "The keeper... Tom, or whatever his name was." ("base", xpos="far_left", ypos="head") cho "Ron..." ("angry", "narrow", "base", "mid") gen "Oh, yes. That guy!" ("base", xpos="far_left", ypos="head") cho "And what would you have me do?" ("open", "base", "raised", "mid") - gen "Spy on him of course!" ("base", xpos="far_left", ypos="head") + gen "Spy on him, of course!" ("base", xpos="far_left", ypos="head") gen "See if there's anything we can use against him during the match." ("base", xpos="far_left", ypos="head") cho "Fine... I'll do my best, but don't get your hopes up..." ("soft", "base", "base", "downR") gen "You'll do excellent B, now make haste!" ("base", xpos="far_left", ypos="head") gen "Quietly, make haste... quietly..." ("base", xpos="far_left", ypos="head") cho "As you wish..." ("base", "narrow", "base", "downR") - elif not cc_pr_spy_boys.is_event_complete(3, 3): # Completed Harry Potter? + elif not states.cho.ev.spy_on_boys.t3_e3_complete: # Completed Harry Potter? # Spy on Harry Potter gen "Ready for some more espionage B?" ("base", xpos="far_left", ypos="head") @@ -95,9 +95,9 @@ label cc_pr_spy_boys_start: gen "Am I? That's how Snape says it..." ("base", xpos="far_left", ypos="head") cho "Right... So, what is it that you want me to do with him?" ("open", "base", "raised", "downR") gen "I'll tell you what you shouldn't do." ("base", xpos="far_left", ypos="head") - gen "Don't share your wine with him or he'll drink it all..." ("base", xpos="far_left", ypos="head") + gen "Don't share your wine with him, or he'll drink it all..." ("base", xpos="far_left", ypos="head") cho "Harry drinks your wine?" ("annoyed", "base", "raised", "mid") - cho "This isn't one of your weird euphemisms again is it?" ("open", "narrow", "raised", "mid") + cho "This isn't one of your weird euphemisms again, is it?" ("open", "narrow", "raised", "mid") gen "I was talking about Snape." ("base", xpos="far_left", ypos="head") cho "I see..." ("soft", "base", "base", "mid") gen "Anyhow..." ("base", xpos="far_left", ypos="head") @@ -122,31 +122,26 @@ label cc_pr_spy_boys_start: # Cho leaves. call cho_walk(action="leave") - $ cc_pr_spy_boys.inProgress = True - jump end_cho_event - - -### Return Events ### - - ### Tier 3 (pre Gryffindor) ### label cc_pr_spy_boys_T3_twins: ## Weasley Twins - Blueberry candies ## + $ states.cho.ev.spy_on_boys.t3_e1_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "Mission successful?" ("base", xpos="far_left", ypos="head") - cho "Well, in terms of not getting caught I suppose so." ("angry", "closed", "base", "down") + cho "Well, in terms of not getting caught, I suppose so." ("angry", "closed", "base", "down") gen "Then spill those beans B, what did you manage to learn about them?" ("base", xpos="far_left", ypos="head") cho "They're pigs. I'll tell you that much." ("annoyed", "base", "angry", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") - cho "Well, I guess calling them pigs is a bit uncalled for. They're a pair of pranksters that's for sure." ("open", "closed", "angry", "mid") + cho "Well, I guess calling them pigs is a bit uncalled-for... They're a pair of pranksters, that's for sure." ("open", "closed", "angry", "mid") cho "Those two would do anything for a laugh..." ("clench", "narrow", "angry", "mid") gen "So, what did they do?" ("base", xpos="far_left", ypos="head") cho "They tricked some poor Hufflepuff girls by giving them sweets that they had tampered with..." ("angry", "base", "angry", "downR") @@ -156,15 +151,15 @@ label cc_pr_spy_boys_T3_twins: cho "How is that funny!?" ("angry", "wide", "angry", "mid") gen "What if the girl was Hermione?" ("base", xpos="far_left", ypos="head") cho "I..." ("angry", "base", "base", "mid") - cho "I suppose...{w=0.4} no...{w=0.4} no it's still..." ("soft", "happyCl", "angry", "mid") + cho "I suppose...{w=0.4} No...{w=0.4} No, it's still not--" ("soft", "happyCl", "angry", "mid") gen "She'd look like a blueberry with a huge wig draped on top of it." ("base", xpos="far_left", ypos="head") - cho "*Giggles*" ("smile", "closed", "base", "mid", cheeks="blush") - cho "Anyhow... it completely ruined her clothes and as she deflated she quickly ran off stark naked and crying to her dormitory." ("annoyed", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "*Giggles*" ("smile", "closed", "base", "mid") + cho @ cheeks blush "Anyhow...{w=0.4} It completely ruined her clothes, and as she deflated she quickly ran off stark naked and crying to her dormitory." ("annoyed", "closed", "base", "mid") gen "Wait, so the clothes didn't expand as well?" ("base", xpos="far_left", ypos="head") - cho "It's not a spell... she ate it so why would her clothes be affected?" ("clench", "base", "raised", "mid") - gen "Sounds like amateurish magic to me, if they just imbued those sweets with some sort of effect which allows the consumers sweat to permeate their clothes then..." ("base", xpos="far_left", ypos="head") + cho "It's not a spell... she ate it, so why would her clothes be affected?" ("clench", "base", "raised", "mid") + gen "Sounds like amateurish magic to me... If they just imbued those sweets with some sort of effect which allows the consumer's sweat to permeate their clothes, then..." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "wide", "angry", "mid") - gen "Oh yes...{w=0.4} very bad, I'll have a word with those two..." ("base", xpos="far_left", ypos="head") + gen "*Ahem*...{w=0.4} I suppose I better have a word with those two..." ("base", xpos="far_left", ypos="head") cho "Please do..." ("annoyed", "narrow", "angry", "mid") gen "Anyhow, I'm sure we'll find something we can use against some of the other players." ("base", xpos="far_left", ypos="head") @@ -174,19 +169,21 @@ label cc_pr_spy_boys_T3_twins: gen "Then that will be it for today." ("base", xpos="far_left", ypos="head") cho "Okay then." ("open", "base", "base", "R") cho "Good night." ("soft", "base", "base", "mid") - gen "Good night miss Chang." ("base", xpos="far_left", ypos="head") + gen "Good night, Miss Chang." ("base", xpos="far_left", ypos="head") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points till 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points till 12. + $ states.cho.public_level += 1 jump end_cho_event label cc_pr_spy_boys_T3_ron: ## Ron Weasley ## + $ states.cho.ev.spy_on_boys.t3_e2_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -200,31 +197,33 @@ label cc_pr_spy_boys_T3_ron: cho "Well, I'm certain about one thing... That boy is a perv." ("upset", "narrow", "angry", "mid") cho "Before Hermione caught me, I could tell he was checking her out any time he could." ("open", "base", "angry", "downR") cho "It's quite sad really, you could tell from a mile off that she has no interest in him whatsoever." ("normal", "narrow", "angry", "R") - gen "Maybe he's not mature enough for his age but once his character develops then love and attraction could unexpectedly come into fruition." ("base", xpos="far_left", ypos="head") - cho "*Pfff* What kind of soppy romance novels have you been reading?" ("soft", "closed", "angry", "mid") - cho "In any case, he come off as the clingy type... If anything ever happened between them it'd probably be out of pity on Hermione's part..." ("soft", "closed", "angry", "mid") + gen "Maybe he's not mature enough for his age, but once his character develops, then love and attraction could unexpectedly come into fruition." ("base", xpos="far_left", ypos="head") + cho "*Pfff*... What kind of soppy romance novels have you been reading?" ("soft", "closed", "angry", "mid") + cho "In any case... He comes off as the clingy type... If anything ever happened between them, it'd probably be out of pity on Hermione's part..." ("soft", "closed", "angry", "mid") gen "And here I thought you'd make the assumption Miss Granger is sleeping with her friends." ("base", xpos="far_left", ypos="head") cho "..." ("clench", "base", "base", "down") #Blushing cho "Why would you think that?" ("open", "narrow", "angry", "downR") gen "No reason..." ("base", xpos="far_left", ypos="head") - gen "Anyhow... We'll find our way in at some point I'm sure." ("base", xpos="far_left", ypos="head") + gen "Anyhow... We'll find our way in at some point, I'm sure." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "base", "base", "downR") #Blushing gen "Our mission continues..." ("base", xpos="far_left", ypos="head") cho "Right..." ("angry", "narrow", "base", "down") cho "I'll be going then... Good night." ("open", "narrow", "base", "down") - gen "Good night Miss Chang." ("base", xpos="far_left", ypos="head") + gen "Good night, Miss Chang." ("base", xpos="far_left", ypos="head") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points till 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points till 12. + $ states.cho.public_level += 1 jump end_cho_event ## Harry Potter ## label cc_pr_spy_boys_T3_harry: + $ states.cho.ev.spy_on_boys.t3_e3_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -236,8 +235,8 @@ label cc_pr_spy_boys_T3_harry: cho "This is such a waste of time..." ("open", "base", "angry", "downR") gen "I gather you didn't get any useful information?" ("base", xpos="far_left", ypos="head") cho "No..." ("annoyed", "base", "angry", "downR") - cho "I've been hiding in the boys bathroom trying to listen in on Harry and Ron." ("open", "closed", "angry", "mid") - gen "Why in the boys bathroom?" ("base", xpos="far_left", ypos="head") + cho "I've been hiding in the boys' bathroom, trying to listen in on Harry and Ron." ("open", "closed", "angry", "mid") + gen "Why in the boys' bathroom?" ("base", xpos="far_left", ypos="head") cho "That's the only time Hermione isn't around..." ("soft", "base", "angry", "downR") gen "I see, then what were they talking about?" ("base", xpos="far_left", ypos="head") cho "Ron was going on about wizard's chess." ("open", "closed", "angry", "mid") @@ -246,28 +245,28 @@ label cc_pr_spy_boys_T3_harry: cho "It's like regular chess except the pieces move on their own." ("soft", "narrow", "base", "mid") gen "Sounds as dull as regular chess." ("base", xpos="far_left", ypos="head") gen "Anything else?" ("base", xpos="far_left", ypos="head") - cho "Harry was talking a bit about quidditch but it was mostly bragging about some previous win of his." ("annoyed", "narrow", "base", "R") + cho "Harry was talking a bit about quidditch, but it was mostly bragging about some previous win of his." ("annoyed", "narrow", "base", "R") cho "Honestly, that boy could learn to be a bit more humble... I have no idea why Hermione hangs around with him." ("soft", "narrow", "angry", "downR") cho "Quidditch seems to be the only thing that he has going for him..." ("open", "narrow", "angry", "mid") gen "Looks like you two have a lot in--" ("base", xpos="far_left", ypos="head") cho "Those three seem to constantly have some sort of dick measuring contest in terms of who is best at something. Harry goes on about Quidditch, Ron about Chess and Hermione..." ("open", "closed", "angry", "mid") - cho "Well, Hermione seems to be the best at pretty much any other subject at this school..." ("annoyed", "base", "angry", "downR", cheeks="blush") + cho @ cheeks blush "Well, Hermione seems to be the best at pretty much any other subject at this school..." ("annoyed", "base", "angry", "downR") gen "I'm sure she'll be very impressed if you manage to win the quidditch cup." ("base", xpos="far_left", ypos="head") - cho "I don't care about her approval... I'm only doing this for me and my house..." ("open", "happyCl", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I don't care about her approval... I'm only doing this for me and my house..." ("open", "happyCl", "angry", "mid") gen "You tell yourself that..." ("base", xpos="far_left", ypos="head") gen "Well, I'm sure we'll find a good tactic to use against them." ("base", xpos="far_left", ypos="head") - cho "I hope so..." ("upset", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "I hope so..." ("upset", "closed", "base", "mid") - cho "So, are we done here?" ("angry", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "So, are we done here?" ("angry", "base", "base", "down") gen "Yes, that will be all." ("base", xpos="far_left", ypos="head") - cho "Good..." ("upset", "base", "base", "R", cheeks="blush") - cho "Good night then..." ("open", "base", "base", "mid", cheeks="blush") - gen "Good night Miss Chang." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Good..." ("upset", "base", "base", "R") + cho @ cheeks blush "Good night then..." ("open", "base", "base", "mid") + gen "Good night, Miss Chang." ("base", xpos="far_left", ypos="head") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points till 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points till 12. + $ states.cho.public_level += 1 jump end_cho_event diff --git a/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy b/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy index a3083ec7..d6991ab3 100644 --- a/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy +++ b/game/scripts/characters/cho/events/requests/spy_on_the_girls.rpy @@ -7,55 +7,56 @@ label cc_pr_spy_girls_start: cho "" (xpos="right", ypos="base", trans=fade) - if not cc_pr_spy_girls.is_event_complete(3, 1): # Completed shower event? + if not states.cho.ev.spy_on_girls.t3_e1_complete: # Completed shower event? # Shower event - looking through the glory hole - if not cc_pr_spy_boys.is_event_complete(3, 1): + if not states.cho.ev.spy_on_boys.t3_e1_complete: # Player has not spied on boys just yet. gen "Time for some good old espionage!" ("base", xpos="far_left", ypos="head") gen "For this mission -- I'd like you to spy on the girls of the Gryffindor team." ("base", xpos="far_left", ypos="head") gen "When they're alone..." ("base", xpos="far_left", ypos="head") - cho "When they're alone, [cho_genie_name]?" ("open", "narrow", "raised", "mid") - cho "I can't get into their common room... you should know that." ("soft", "narrow", "base", "R") + cho "When they're alone, [name_genie_cho]?" ("open", "narrow", "raised", "mid") + cho "I can't get into their common room... You should know that." ("soft", "narrow", "base", "R") gen "There are plenty of other places where girls hang out and gossip..." ("base", xpos="far_left", ypos="head") - gen "Want to know the place I'm thinking of?" ("grin", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "base", "mid", cheeks="blush") #Blushes + gen "Want to make a guess of where I'm thinking of?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks blush "..." ("disgust", "narrow", "base", "mid") #Blushes gen "That's right, the women's changing room!" ("grin", xpos="far_left", ypos="head") - cho "Fine... I'll see what I can do." ("open", "closed", "base", "mid") + cho "Fine...{w=0.4} I'll see what I can do." ("open", "closed", "base", "mid") gen "Excellent!" ("grin", xpos="far_left", ypos="head") cho "" ("annoyed", "base", "base", "mid") gen "Report back to me as usual, C." ("base", xpos="far_left", ypos="head") - cho "\"C\", [cho_genie_name]?" ("soft", "base", "raised", "mid") + cho "\"C\", [name_genie_cho]?" ("soft", "base", "raised", "mid") gen "It's your spy name!" ("grin", xpos="far_left", ypos="head") - cho "My spy name, [cho_genie_name]?" ("soft", "narrow", "base", "mid") - cho "The C stands for my Cho, I presume?" ("smile", "narrow", "base", "mid") + cho "My spy name, [name_genie_cho]?" ("soft", "narrow", "base", "mid") + cho "The C stands for \"Cho\", I presume?" ("smile", "narrow", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - gen "No, not your name... I'm not that unimaginative..." ("base", xpos="far_left", ypos="head") + gen "No, not your name...{w=0.4} I'm not that unimaginative..." ("base", xpos="far_left", ypos="head") cho "" ("annoyed", "narrow", "base", "mid") gen "C is your cup-size, is it not?" ("base", xpos="far_left", ypos="head") - cho "My cup-size?!" ("angry", "wide", "base", "mid", cheeks="blush") - cho "But that's not even correct! Mine is--" ("disgust", "happyCl", "base", "mid", cheeks="heavy_blush") - cho "I mean... where do you get all these ideas from... seriously!?" ("upset", "narrow", "angry", "R", cheeks="blush") + cho @ cheeks blush "My cup-size?!" ("angry", "wide", "base", "mid") + gen "That's right." ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "But that's not even correct! Mine is--" ("disgust", "happyCl", "base", "mid") + cho @ cheeks blush "I mean...{w=0.4} Where do you get all these ideas from, seriously!?" ("upset", "narrow", "angry", "R") gen "So what's your actual size then?{w} B?" ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "worried", "down", cheeks="blush") #Blushes - cho "Yes it's B..." ("soft", "narrow", "angry", "downR", cheeks="heavy_blush") #Blushes and glances to the side + cho @ cheeks blush "..." ("annoyed", "narrow", "worried", "down") #Blushes + cho @ cheeks heavy_blush "Yes, it's B..." ("soft", "narrow", "angry", "downR") #Blushes and glances to the side gen "Noted..." ("grin", xpos="far_left", ypos="head") - cho "You're such an old pervert, you know that right?" ("annoyed", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "You're such an old pervert, you know that, right?" ("annoyed", "narrow", "angry", "mid") else: # Player has spied on the boys gen "Time for some more espionage..." ("base", xpos="far_left", ypos="head") gen "This time we'll be targeting the girls!" ("grin", xpos="far_left", ypos="head") - cho "The girls? Anyone in particular you want me to spy on, [cho_genie_name]?" ("soft", "narrow", "raised", "mid") - gen "Why one of them when you could do all at once?" ("grin", xpos="far_left", ypos="head") + cho "The girls? Anyone in particular you want me to spy on, [name_genie_cho]?" ("soft", "narrow", "raised", "mid") + gen "Why one, when you could do all of them at once?" ("grin", xpos="far_left", ypos="head") cho "All at once?" ("clench", "base", "base", "mid") gen "That's what I said..." ("base", xpos="far_left", ypos="head") gen "Their changing room should be a good place to start." ("base", xpos="far_left", ypos="head") - cho "You can't be serious!" ("mad", "happyCl", "worried", "mid", cheeks="blush") + cho @ cheeks blush "You can't be serious!" ("mad", "happyCl", "worried", "mid") gen "I know! I surprise myself with how good my plans are sometimes..." ("grin", xpos="far_left", ypos="head") - cho "I'm gonna get caught for sure..." ("disgust", "base", "worried", "down", cheeks="blush") # small text + cho @ cheeks blush "I'm gonna get caught for sure..." ("disgust", "base", "worried", "down") # small text cho "..." ("annoyed", "base", "angry", "down") cho "I'll see what I can do..." ("annoyed", "narrow", "angry", "mid") gen "Excellent." ("grin", xpos="far_left", ypos="head") @@ -68,14 +69,14 @@ label cc_pr_spy_girls_start: gen "Not unless it vibrates..." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "narrow", "angry", "mid") gen "You don't want it?" ("base", xpos="far_left", ypos="head") - cho "I'll manage without, [cho_genie_name]." ("annoyed", "narrow", "base", "mid") + cho "I'll manage without, [name_genie_cho]." ("annoyed", "narrow", "base", "mid") gen "Suit yourself..." ("base", xpos="far_left", ypos="head") gen "Anyway, you'd better get a move on." ("base", xpos="far_left", ypos="head") gen "I expect your report this evening, B!" ("base", xpos="far_left", ypos="head") gen "Good luck!" ("base", xpos="far_left", ypos="head") cho "Thanks..." ("open", "narrow", "angry", "R") - elif not cc_pr_spy_girls.is_event_complete(3, 2): # Completed Alicia Spinnet? + elif not states.cho.ev.spy_on_girls.t3_e2_complete: # Completed Alicia Spinnet? # Spy on Alicia Spinnet gen "Ready for some more espionage, B?" ("base", xpos="far_left", ypos="head") @@ -90,9 +91,9 @@ label cc_pr_spy_girls_start: gen "Maybe she's putting up a front with her friends." ("base", xpos="far_left", ypos="head") cho "If you say so..." ("annoyed", "base", "base", "R") gen "Off you go, and good luck!" ("base", xpos="far_left", ypos="head") - cho "Thanks, [cho_genie_name]." ("base", "base", "base", "mid") + cho "Thanks, [name_genie_cho]." ("base", "base", "base", "mid") - elif not cc_pr_spy_girls.is_event_complete(3, 3): # Completed Katie Bell? + elif not states.cho.ev.spy_on_girls.t3_e3_complete: # Completed Katie Bell? # Spy on Katie Bell gen "Ready for some more espionage, B?" ("base", xpos="far_left", ypos="head") @@ -100,30 +101,27 @@ label cc_pr_spy_girls_start: gen "Which one of the girls from the Gryffindor team have we yet to spy on?" ("base", xpos="far_left", ypos="head") cho "Well, I could spy on Katie..." ("open", "base", "raised", "R") gen "Katie... Who?{w=0.5} That name doesn't ring a bell..." ("base", xpos="far_left", ypos="head") - cho "Katie Bell, [cho_genie_name]." ("soft", "narrow", "base", "mid") + cho "Katie Bell, [name_genie_cho]." ("soft", "narrow", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") gen "Just keep it quiet when you go after her... We're on a spy mission, after all." ("base", xpos="far_left", ypos="head") gen "I don't want you to ring Katie's bell just yet. We'll get to that later..." ("grin", xpos="far_left", ypos="head") - cho "Ring her... Bell, [cho_genie_name]?" ("open", "narrow", "raised", "mid") + cho "Ring her... Bell, [name_genie_cho]?" ("open", "narrow", "raised", "mid") gen "Never mind... Off you go." ("base", xpos="far_left", ypos="head") cho "Very well... Until later then." ("base", "base", "base", "mid") call cho_walk("door", "base") - call bld gen "Oh, wait... I forgot about the gadgets!" ("angry", xpos="far_left", ypos="head") call cho_walk(action="leave") - call bld gen "(Damn, she must've not heard me...)" ("base", xpos="far_left", ypos="head") # End early, cho already left! - $ cc_pr_spy_girls.inProgress = True jump end_cho_event - elif not cc_pr_spy_girls.is_event_complete(3, 4): # Completed Angelina Johnson? + elif not states.cho.ev.spy_on_girls.t3_e4_complete: # Completed Angelina Johnson? # Spy on Angelina Johnson gen "Ready for some more espionage, B?" ("base", xpos="far_left", ypos="head") @@ -140,13 +138,13 @@ label cc_pr_spy_girls_start: cho "..." ("soft", "base", "base", "mid") gen "You can't get caught when you spy on her Johnson--" ("angry", xpos="far_left", ypos="head") gen "I mean-- when you spy on Johnson..." ("angry", xpos="far_left", ypos="head") - cho "Of course... So what--" ("open", "base", "base", "mid") + cho "Of course... So, what--" ("open", "base", "base", "mid") gen "Utmost!" ("angry", xpos="far_left", ypos="head") cho "" ("upset", "base", "base", "mid") gen "Importance!" ("angry", xpos="far_left", ypos="head") cho "..." ("annoyed", "narrow", "base", "mid") gen "So are you ready, B?" ("base", xpos="far_left", ypos="head") - cho "Yes I'm ready..." ("soft", "narrow", "angry", "R") + cho "Yes, I'm ready..." ("soft", "narrow", "angry", "R") gen "Don't get spotted!" ("base", xpos="far_left", ypos="head") cho "Until later then..." ("open", "closed", "base", "mid") @@ -160,72 +158,68 @@ label cc_pr_spy_girls_start: # Cho leaves. call cho_walk(action="leave") - $ cc_pr_spy_girls.inProgress = True - jump end_cho_event - - -### Return Events ### - - ### Tier 3 (pre Gryffindor) ### label cc_pr_spy_girls_T3_showers: # Showers - looking through the glory hole + $ states.cho.ev.spy_on_girls.t3_e1_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") cho "" ("annoyed", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "Welcome back!{w=0.3} What's the report, B?" ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "angry", "downR", cheeks="blush") #Blushing looking away + cho @ cheeks blush "..." ("annoyed", "narrow", "angry", "downR") #Blushing looking away gen "Did you get any juicy info that we could use against the Gryffindor girls?" ("base", xpos="far_left", ypos="head") cho "No juicy info per se..." ("open", "closed", "base", "mid") gen "Then how'd it go, anything you could tell me?" ("base", xpos="far_left", ypos="head") - cho "Well... I went to spy on them in the showers, just as you asked me..." ("soft", "narrow", "worried", "R", cheeks="blush") + cho @ cheeks blush "Well... I went to spy on them in the showers, just as you asked me..." ("soft", "narrow", "worried", "R") cho "I found a hole in one of the walls, actually..." ("annoyed", "narrow", "raised", "mid") gen "That's unfortunate, I'll have to look into filling that hole at some point..." ("base", xpos="far_left", ypos="head") gen "So what were they talking about if it wasn't Quidditch?" ("base", xpos="far_left", ypos="head") - cho "*Ehm*... There wasn't much talking at all..." ("disgust", "narrow", "base", "downR", cheeks="blush") - cho "They were too preoccupied with kissing, and touching each other." ("open", "happyCl", "base", "mid", cheeks="blush") + cho @ cheeks blush "*Ehm*... There wasn't much talking at all..." ("disgust", "narrow", "base", "downR") + cho @ cheeks blush "They were too preoccupied with kissing, and touching each other." ("open", "happyCl", "base", "mid") gen "I knew it!" ("grin", xpos="far_left", ypos="head") - cho "*Hmph*..." ("annoyed", "narrow", "angry", "mid", cheeks="blush") #annoyed - gen "Makes you wish you had those girls on your own team, doesn't it?" ("grin", xpos="far_left", ypos="head") - cho "Yeah right..." ("annoyed", "narrow", "angry", "downR", cheeks="heavy_blush") #annoyed glancing to the right #blush + cho @ cheeks blush "*Hmph*..." ("annoyed", "narrow", "angry", "mid") #annoyed + gen "Makes you wish those girls were on your own team, doesn't it?" ("grin", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Yeah right..." ("annoyed", "narrow", "angry", "downR") #annoyed glancing to the right #blush gen "What else did they do?" ("base", xpos="far_left", ypos="head") cho "Not a lot to be honest..." ("open", "closed", "base", "mid") cho "I wasn't going to stay until they were done..." ("annoyed", "narrow", "angry", "mid") gen "Why not? What's the worst that could happen?" ("base", xpos="far_left", ypos="head") gen "They'd catch you and ask for you to join in?" ("grin", xpos="far_left", ypos="head") - cho "*Pfff*...{w=0.3} As if...{w=0.3} They'd never let one of their opponents in on anything they were doing." ("soft", "narrow", "angry", "downR", cheeks="blush") + cho @ cheeks blush "*Pfff*...{w=0.3} As if...{w=0.3} They'd never let one of their opponents in on anything they were doing." ("soft", "narrow", "angry", "downR") gen "At least you considered it." ("base", xpos="far_left", ypos="head") - cho "I didn't say that." ("mad", "narrow", "angry", "mid", cheeks="heavy_blush") - cho "I had no idea they were so lewd..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + cho @ cheeks heavy_blush "I didn't say that." ("mad", "narrow", "angry", "mid") + cho @ cheeks blush "I had no idea they were so lewd..." ("annoyed", "narrow", "angry", "R") cho "I'm worried that there's little I could do in terms of clothing that would distract them..." ("open", "closed", "worried", "mid") cho "Seeing how they were crawling over each other's naked bodies..." ("annoyed", "narrow", "angry", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "You should've stayed for longer... Perhaps you could've learned a thing or two." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "narrow", "angry", "R") gen "Anyway... I'll think of something..." ("base", xpos="far_left", ypos="head") cho "Okay..." ("soft", "closed", "base", "mid") gen "Mission accomplished, B!" ("angry", xpos="far_left", ypos="head") gen "You may go now..." ("base", xpos="far_left", ypos="head") - cho "Good night, [cho_genie_name]." ("annoyed", "base", "base", "mid") + cho "Good night, [name_genie_cho]." ("annoyed", "base", "base", "mid") # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event - ## Alicia Spinnet ## label cc_pr_spy_girls_T3_alicia: + $ states.cho.ev.spy_on_girls.t3_e2_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -234,7 +228,7 @@ label cc_pr_spy_girls_T3_alicia: # Cho returns blushing with a vacant expression on her face gen "Ready for your report, B..." ("base", xpos="far_left", ypos="head") gen "What's the {i}sitch{/i}?" ("base", xpos="far_left", ypos="head") - cho "The \"sitch\", [cho_genie_name]?" ("soft", "narrow", "raised", "mid") + cho "The \"sitch\", [name_genie_cho]?" ("soft", "narrow", "raised", "mid") gen "What's the situation?" ("base", xpos="far_left", ypos="head") gen "Did you manage to spy on Miss Spinnet?" ("base", xpos="far_left", ypos="head") cho "I did..." ("open", "closed", "raised", "mid") @@ -242,10 +236,10 @@ label cc_pr_spy_girls_T3_alicia: cho "She's been assisting the Weasley twins -- by drawing in more customers to their shop." ("open", "narrow", "base", "mid") gen "How kind." ("base", xpos="far_left", ypos="head") cho "I wouldn't call it that..." ("soft", "narrow", "base", "R") - cho "The only reason she's assisting them is because they promised they'd behave during Quidditch." ("open", "narrow", "raised", "mid") + cho "The only reason she's assisting them, is because they promised they'd behave during Quidditch." ("open", "narrow", "raised", "mid") # Has player sent Hermione to work with the Twins, promoting the cardgame? - if not first_time_cardgame_work: + if not states.her.ev.promote_cardgame.first_time: gen "(I thought Hermione was helping them with that already...)" ("base", xpos="far_left", ypos="head") cho "And she sure doesn't seem to have any problems enticing people." ("soft", "narrow", "base", "mid") @@ -254,64 +248,64 @@ label cc_pr_spy_girls_T3_alicia: gen "Hypnosis? Now that sounds completely absurd." ("base", xpos="far_left", ypos="head") # Has player started imperius curse training? - if ag_st_imperio.points > 0: + if states.ast.ev.imperio_with_tonks.completed_once: gen "She's not using that im-perv-ius curse, is she?" ("base", xpos="far_left", ypos="head") cho "The Imperius curse?" ("open", "narrow", "raised", "mid") gen "That's what I said..." ("base", xpos="far_left", ypos="head") - cho "Of course not. That spell is illegal!{w=0.8} She'd be thrown into Azkaban for it..." ("soft", "narrow", "angry", "mid") + cho "Of course not. That spell is illegal!{w=0.8} She'd be thrown into a cell in Azkaban for it..." ("soft", "narrow", "angry", "mid") gen "That's-- *Ehm*...{w=0.3} correct.{w=0.5} Straight into prison..." ("base", xpos="far_left", ypos="head") - cho "But No... I haven't seen her with a wand in hand..." ("open", "closed", "base", "mid") + cho "But no... I haven't seen her with a wand in hand..." ("open", "closed", "base", "mid") else: cho "That's why I said, \"if I didn't know any better\"..." ("open", "closed", "base", "mid") cho "I saw her whisper something into another student's ear..." ("soft", "closed", "base", "mid") - cho "And as if on command -- they immediately followed her into the girls toilets." ("soft", "narrow", "angry", "mid") - gen "A girl that takes what she wants... I respect that." ("grin", xpos="far_left", ypos="head") + cho "And as if on command -- they immediately followed her into the girls' toilets." ("soft", "narrow", "angry", "mid") + gen "A girl who takes what she wants... I respect that." ("grin", xpos="far_left", ypos="head") cho "" ("annoyed", "narrow", "angry", "mid") gen "So, what was she doing with them?" ("base", xpos="far_left", ypos="head") - cho "Do you really have to ask, [cho_genie_name]?" ("open", "narrow", "raised", "mid") + cho "Do you really have to ask, [name_genie_cho]?" ("open", "narrow", "raised", "mid") cho "Surely you're able to guess what they did in there..." ("soft", "closed", "base", "mid") gen "No, I have no idea!" ("grin", xpos="far_left", ypos="head") cho "" ("annoyed", "narrow", "angry", "mid") gen "Isn't that why you're here?{w=0.4} to tell me..." ("grin", xpos="far_left", ypos="head") - cho "She was doing lewd stuff with the student, obviously..." ("soft", "narrow", "angry", "R", cheeks="blush") + cho @ cheeks blush "She was doing lewd stuff with the student, obviously..." ("soft", "narrow", "angry", "R") gen "Such as?" ("grin", xpos="far_left", ypos="head") cho "So predictable..." ("disgust", "closed", "angry", "mid") cho "Well, since I knew you'd ask... I did sneak in after her, and got a glimpse of her kneeling inside one of the stalls..." ("soft", "narrow", "angry", "mid") - cho "And whoever was in there with her wasn't being quiet... that's for sure." ("annoyed", "narrow", "angry", "R", cheeks="blush") + cho @ cheeks blush "And whoever was in there with her wasn't being quiet... That's for sure." ("annoyed", "narrow", "angry", "R") gen "I should get her number." ("base", xpos="far_left", ypos="head") cho "Her what?" ("annoyed", "narrow", "angry", "mid") - gen "Never mind... {w=0.4} So is that all you saw?" ("base", xpos="far_left", ypos="head") - cho "*Ehm*... Yes...{w=0.5} That was it..." ("quiver", "narrow", "base", "down", cheeks="blush") #Blushing - cho "As I said, I could only see her bottom, from underneath that stall..." ("open", "narrow", "base", "downR", cheeks="blush") #Blushing + gen "Never mind...{w=0.4} So is that all that you saw?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "*Ehm*... Yes...{w=0.5} That was it..." ("quiver", "narrow", "base", "down") #Blushing + cho @ cheeks blush "As I said, I could only see her bottom, from underneath that stall..." ("open", "narrow", "base", "downR") #Blushing gen "Your face says otherwise... Is that really everything you saw?" ("base", xpos="far_left", ypos="head") - cho "When I say bottom... She wasn't wearing any panties, [cho_genie_name]..." ("disgust", "happyCl", "worried", "mid", cheeks="blush") #Blushing - cho "She was also..." ("soft", "narrow", "worried", "mid", cheeks="blush") #Blushing - cho "She was also really wet down there..." ("horny", "narrow", "worried", "downR", cheeks="blush") #Blushing + cho @ cheeks blush "When I say bottom... She wasn't wearing any panties, [name_genie_cho]..." ("disgust", "happyCl", "worried", "mid") #Blushing + cho @ cheeks blush "She was also..." ("soft", "narrow", "worried", "mid") #Blushing + cho @ cheeks blush "She was also really wet down there..." ("horny", "narrow", "worried", "downR") #Blushing gen "There it is..." ("grin", xpos="far_left", ypos="head") - cho "I just thought I'd tell you, since she was making a huge mess on the floor!" ("soft", "narrow", "angry", "mid", cheeks="blush") - cho "That's all..." ("annoyed", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I just thought I'd tell you, since she was making a huge mess on the floor!" ("soft", "narrow", "angry", "mid") + cho @ cheeks blush "That's all..." ("annoyed", "narrow", "angry", "mid") gen "Of course, thanks for letting me know." ("base", xpos="far_left", ypos="head") gen "You've done a great job today, B!" ("base", xpos="far_left", ypos="head") gen "Although, I still think my gadgets -- especially the magic rod -- would've been a great help for this mission." ("grin", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "angry", "R", cheeks="blush") #Blushing + cho @ cheeks blush "..." ("annoyed", "narrow", "angry", "R") #Blushing gen "I could let you borrow it, to figure out how it works." ("base", xpos="far_left", ypos="head") gen "It's very useful, you know." ("grin", xpos="far_left", ypos="head") - cho "I'm good, thanks..." ("soft", "narrow", "angry", "mid", cheeks="blush") - cho "I think I'll just head straight to bed, if you don't mind." ("soft", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "I'm good, thanks..." ("soft", "narrow", "angry", "mid") + cho @ cheeks blush "I think I'll just head straight to bed, if you don't mind." ("soft", "narrow", "base", "downR") call cho_walk(xpos="door", ypos="base") pause .8 call bld gen "Changed your mind?" ("base", xpos="far_left", ypos="head") - cho "N-- no, Good night!" ("open", "happyCl", "base", "mid", cheeks="blush") # head + cho @ cheeks blush "N-- No, Good night!" ("open", "happyCl", "base", "mid", xpos="base", flip=True) # head # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event @@ -319,6 +313,8 @@ label cc_pr_spy_girls_T3_alicia: ## Katie Bell ## label cc_pr_spy_girls_T3_katie: + $ states.cho.ev.spy_on_girls.t3_e3_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") @@ -327,21 +323,21 @@ label cc_pr_spy_girls_T3_katie: gen "Mission successful?" ("base", xpos="far_left", ypos="head") gen "What did you learn about Katie Bell?" ("base", xpos="far_left", ypos="head") cho "She's a freak!" ("soft", "narrow", "angry", "mid") # angry - gen "Whoa, that's a bit uncalled for, don't you think?" ("base", xpos="far_left", ypos="head") + gen "Whoa, that's a bit uncalled-for, don't you think?" ("base", xpos="far_left", ypos="head") gen "I'm sure she looks perfectly fine." ("base", xpos="far_left", ypos="head") cho "No, not her looks... what she's been doing." ("open", "closed", "angry", "mid") # blush cho "I followed her all the way down to the lake today. And then hid behind a tree to observe her." ("open", "narrow", "angry", "mid") gen "Something wrong with a little swim?" ("base", xpos="far_left", ypos="head") - cho "No, but...{w=0.5} she went in there butt-naked!" ("disgust", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "No, but...{w=0.5} she went in there butt-naked!" ("disgust", "narrow", "base", "mid") gen "Butt-naked? Did they open up a nude-beach without telling me?" ("grin", xpos="far_left", ypos="head") - cho "Of course they haven't!" ("angry", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Of course they haven't!" ("angry", "base", "base", "mid") gen "Shame..." ("base", xpos="far_left", ypos="head") cho "Once she had taken her clothes off -- she slowly walked into the water -- and then just vanished beneath the surface." ("open", "narrow", "base", "mid") gen "That's...{w=0.4} odd..." ("base", xpos="far_left", ypos="head") gen "Perhaps she's a mermaid?" ("grin", xpos="far_left", ypos="head") cho "I highly doubt that, seeing that she has legs..." ("open", "closed", "base", "mid") - cho "Although, for a moment I did consider that the mermaids living there -- might have used their songs to charm her..." ("soft", "base", "raised", "up") - gen "Well that's not concerning at all..." ("base", xpos="far_left", ypos="head") + cho "Although, for a moment, I did consider that the mermaids living there -- might have used their songs to charm her..." ("soft", "base", "raised", "up") + gen "Well, that's not concerning at all..." ("base", xpos="far_left", ypos="head") cho "She did resurface a couple of moments later though... just as I began to worry..." ("annoyed", "base", "base", "mid") cho "But she emerged with a huge splash -- as she had been lifted into the air by some giant tentacles!" ("soft", "base", "angry", "mid") gen "Whoa, tentacles!" ("angry", xpos="far_left", ypos="head") @@ -349,35 +345,35 @@ label cc_pr_spy_girls_T3_katie: cho "I highly doubt it was them..." ("open", "closed", "base", "mid") cho "I've told you, she's a freak!" ("soft", "narrow", "angry", "mid") gen "So she's into tentacles, *huh*?" ("base", xpos="far_left", ypos="head") - cho "Yes... Gross, slimy, green tentacles..." ("disgust", "narrow", "angry", "down", cheeks="blush") + cho @ cheeks blush "Yes... Gross, slimy, green tentacles..." ("disgust", "narrow", "angry", "down") cho "She must've used some charm... It was as if the lake had come to life!" ("clench", "narrow", "angry", "R") gen "Shiver me timbers!" ("angry", xpos="far_left", ypos="head") gen "What a fearless woman, to meddle with such magic?!" ("angry", xpos="far_left", ypos="head") gen "What was it doing to her?" ("base", xpos="far_left", ypos="head") - cho "*Ugh* Do I really have to tell you..." ("disgust", "narrow", "angry", "R", cheeks="blush") + cho @ cheeks blush "*Ugh* Do I really have to tell you..." ("disgust", "narrow", "angry", "R") gen "With as much detail as possible, thank you." ("grin", xpos="far_left", ypos="head") - cho "Fine..." ("annoyed", "narrow", "angry", "down", cheeks="blush") + cho @ cheeks blush "Fine..." ("annoyed", "narrow", "angry", "down") cho "They were holding her body stationary in the air -- whilst more of its tentacles were working their way around -- squeezing her breasts." ("soft", "closed", "base", "mid") gen "Classic tentacle move!" ("angry", xpos="far_left", ypos="head") - cho "As it... {w=0.5} continued...{w=0.8} the tentacles grabbed her around the waist and began moving her body up and down -- with another one wrapping itself around her legs." ("clench", "narrow", "worried", "mid", cheeks="heavy_blush") - cho "She almost looked like a doll being puppeteered by those giant arms..." ("soft", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks heavy_blush "As it... {w=0.5} continued...{w=0.8} the tentacles grabbed her around the waist and began moving her body up and down -- with another one wrapping itself around her legs." ("clench", "narrow", "worried", "mid") + cho @ cheeks blush "She almost looked like a doll being puppeteered by those giant arms..." ("soft", "narrow", "angry", "mid") gen "And she was letting it do this willingly?" ("base", xpos="far_left", ypos="head") - cho "Yes, she seemed to thoroughly enjoy being its...{w=0.8} toy to play with." ("clench", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "Yes, she seemed to thoroughly enjoy being its...{w=0.8} toy to play with." ("clench", "narrow", "base", "downR") cho "She looked as if possessed! Being held up in the air like that, with her eyes rolled back into her head." ("soft", "narrow", "angry", "mid") - cho "Then I watched another tentacle slip through her legs -- which was enough to bring her over the edge, I think." ("mad", "narrow", "raised", "down", cheeks="blush") + cho @ cheeks blush "Then I watched another tentacle slip through her legs -- which was enough to bring her over the edge, I think." ("mad", "narrow", "raised", "down") gen "Impressive..." ("base", xpos="far_left", ypos="head") gen "Sounds to me like a mission accomplished!" ("grin", xpos="far_left", ypos="head") - cho "Mission... what?" ("soft", "narrow", "raised", "mid") + cho "Mission... What?" ("soft", "narrow", "raised", "mid") gen "I'm sure you've just learned more about her than even her closest friends." ("base", xpos="far_left", ypos="head") - cho "" ("annoyed", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "" ("annoyed", "narrow", "base", "mid") gen "She's a girl who likes it dirty, and takes it rougher than even the toughest sea dog can muster!" ("angry", xpos="far_left", ypos="head") - cho "If you say so, [cho_genie_name]..." ("soft", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "If you say so, [name_genie_cho]..." ("soft", "narrow", "base", "R") gen "A pervert who doesn't give a hoot about foreplay." ("grin", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "narrow", "angry", "mid") gen "And you definitely know not to entice her with any sort of seaweed." ("grin", xpos="far_left", ypos="head") - cho "Can I go now?" ("annoyed", "narrow", "angry", "R", cheeks="blush") + cho @ cheeks blush "Can I go now?" ("annoyed", "narrow", "angry", "R") gen "Yes, you may leave..." ("base", xpos="far_left", ypos="head") - gen "Good job today, [cho_name]." ("grin", xpos="far_left", ypos="head") + gen "Good job today, [name_cho_genie]." ("grin", xpos="far_left", ypos="head") cho "Thanks..." ("soft", "closed", "base", "mid") cho "Good Night." ("normal", "narrow", "base", "mid") gen "Until next time." ("base", xpos="far_left", ypos="head") @@ -385,60 +381,60 @@ label cc_pr_spy_girls_T3_katie: # Cho leaves. call cho_walk(action="leave") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event - ## Angelina Johnson ## label cc_pr_spy_girls_T3_angelina: + $ states.cho.ev.spy_on_girls.t3_e4_complete = True + # Cho enters. call cho_walk(action="enter", xpos="desk", ypos="base") cho "" ("normal", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "Ready for your report, B... lay on me!" ("grin", xpos="far_left", ypos="head") - cho "Don't you mean lay \"it\" on me, [cho_genie_name]?" ("soft", "narrow", "raised", "mid") + cho "Don't you mean lay \"it\" on me, [name_genie_cho]?" ("soft", "narrow", "raised", "mid") gen "I'm pretty sure I'm right..." ("base", xpos="far_left", ypos="head") gen "But before that, tell me how everything went with Miss Johnson!" ("base", xpos="far_left", ypos="head") cho "Well enough, I'd say..." ("open", "narrow", "raised", "down") cho "I stayed behind after practice, to see if I could follow her once they were done changing their clothes." ("smile", "narrow", "angry", "mid") cho "To my surprise, she didn't head back to the castle like the others, but went to the referee's office instead..." ("base", "narrow", "angry", "mid") gen "The Referee?" ("base", xpos="far_left", ypos="head") - cho "Madam Hooch's office, [cho_genie_name]." ("soft", "base", "raised", "mid") + cho "Madam Hooch's office, [name_genie_cho]." ("soft", "base", "raised", "mid") cho "I managed to eavesdrop on their conversation, although I only caught the tail end of it..." ("open", "base", "base", "L") - cho "I suspect Madame Hooch might know what they've been doing in the showers after the game..." ("base", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I suspect Madam Hooch might know what they've been doing in the showers after the game..." ("base", "narrow", "angry", "mid") cho "Angelina was talking about how she couldn't believe that she and her friends were being spied on like that." ("open", "base", "base", "up") - cho "Madam Hooch just laughed it off and told her she should take it as a compliment." ("grin", "happyCl", "base", "mid", cheeks="blush") + cho @ cheeks blush "Madam Hooch just laughed it off and told her she should take it as a compliment." ("grin", "happyCl", "base", "mid") gen "Good to know my staff knows how to diffuse a situation..." ("base", xpos="far_left", ypos="head") cho "Angelina sure didn't see it that way -- and stormed right out her office..." ("base", "narrow", "angry", "mid") gen "You sure she wasn't talking about--" ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name]... If Madame Hooch is spying on them, then Angelina might get the idea to entice her into helping them during the finals!" ("annoyed", "narrow", "base", "mid") + cho "[name_genie_cho]... If Madam Hooch is spying on them, then Angelina might get the idea to entice her into helping them during the finals!" ("annoyed", "narrow", "base", "mid") gen "*Hmm*... Not a bad idea, now that I think about it..." ("base", xpos="far_left", ypos="head") gen "We should try that as well." ("grin", xpos="far_left", ypos="head") cho "No! I don't want to win by cheating!" ("clench", "narrow", "angry", "mid") - gen "Yes, cause distracting hardly counts as cheating..." ("base", xpos="far_left", ypos="head") + gen "Yes, because distracting hardly counts as cheating..." ("base", xpos="far_left", ypos="head") cho "Well of course it doesn't! It's within the rules!" ("open", "closed", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") cho "We need to do something about it, before Angelina tries to take advantage of the situation..." ("soft", "narrow", "angry", "mid") gen "I'll... figure something out..." ("base", xpos="far_left", ypos="head") cho "You'd better!" ("annoyed", "narrow", "angry", "mid") #Angry cho "So... are we done here?" ("base", "narrow", "raised", "mid") #smiles and focuses on genie - gen "Yes, mission successful, [cho_name]!" ("grin", xpos="far_left", ypos="head") + gen "Yes, mission successful, [name_cho_genie]!" ("grin", xpos="far_left", ypos="head") gen "We'll have that girl wrapped around our--" ("base", xpos="far_left", ypos="head") - gen "I mean... around your finger soon enough..." ("grin", xpos="far_left", ypos="head") + gen "I mean... around your finger, soon enough..." ("grin", xpos="far_left", ypos="head") cho "Counting on it!" ("soft", "narrow", "raised", "mid") - cho "Good night, [cho_genie_name]." ("base", "narrow", "base", "mid") + cho "Good night, [name_genie_cho]." ("base", "narrow", "base", "mid") #cho leaves call cho_walk(action="leave") - call bld gen "(Wrapped around your finger...{w} good one...)" ("grin", xpos="far_left", ypos="head") - if cho_reputation < 12: # Points til 12. - $ cho_reputation += 1 + if states.cho.public_level < 12: # Points til 12. + $ states.cho.public_level += 1 jump end_cho_event diff --git a/game/scripts/characters/cho/events/summon.rpy b/game/scripts/characters/cho/events/summon.rpy index 8a5ad776..6859b3a6 100644 --- a/game/scripts/characters/cho/events/summon.rpy +++ b/game/scripts/characters/cho/events/summon.rpy @@ -1,6 +1,6 @@ label cho_summon_setup: - $ cho_wardrobe_unlocked = True + $ states.cho.wardrobe_unlocked = True # Reset doll state $ cho.wear("all") @@ -9,47 +9,47 @@ label cho_summon_setup: # Unlock favours at tier 3 # this will probably move to a cho_quid_E# event once we've implemented Gryffindor lead-up events - if cho_tier == 3: - $ cho_favors_unlocked = True + if states.cho.tier == 3: + $ states.cho.favors_unlocked = True - if cho_outfits_schedule: + if states.cho.wardrobe_scheduling: $ cho.equip_random_outfit() - call play_sound("door") + play sound "sounds/door.ogg" call cho_chibi("stand", "mid", "base") with d3 #Cho greeting. - call play_music("cho") + play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed - if cho_mood > 0: - if 5 > cho_mood >= 1: - cho "Yes, [cho_genie_name]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 10 > cho_mood >= 5: - cho "*sigh*... Yes, [cho_genie_name]?" ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) - elif 20 > cho_mood >= 10: - cho "What is it, [cho_genie_name]?" ("annoyed", "base", "angry", "mid", xpos="base", ypos="base",trans=d3) - elif 30 > cho_mood >= 20: - cho "What do you want, \"[cho_genie_name]\"?" ("angry", "narrow", "angry", "mid", xpos="base", ypos="base",trans=d3) - elif 40 > cho_mood >= 30: + if states.cho.mood > 0: + if 5 > states.cho.mood >= 1: + cho "Yes, [name_genie_cho]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + elif 10 > states.cho.mood >= 5: + cho "*Sigh*... Yes, [name_genie_cho]?" ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) + elif 20 > states.cho.mood >= 10: + cho "What is it, [name_genie_cho]?" ("annoyed", "base", "angry", "mid", xpos="base", ypos="base",trans=d3) + elif 30 > states.cho.mood >= 20: + cho "What do you want, \"[name_genie_cho]\"?" ("angry", "narrow", "angry", "mid", xpos="base", ypos="base",trans=d3) + elif 40 > states.cho.mood >= 30: cho "*Hmph*..." ("upset", "base", "angry", "R", xpos="base", ypos="base",trans=d3) - elif 50 > cho_mood >= 40: + elif 50 > states.cho.mood >= 40: cho "*Tsk*" ("soft", "narrow", "angry", "R", xpos="base", ypos="base",trans=d3) - elif cho_mood >= 50: + elif states.cho.mood >= 50: cho "I can't believe you've done this!" ("scream", "wide", "angry", "mid", xpos="base", ypos="base",trans=d3) cho "" ("upset", "wide", "angry", "mid") - call describe_mood("Cho", cho_mood) + call describe_mood("Cho", states.cho.mood) call tutorial("moodngifts") else: if game.daytime: - cho "Good morning, [cho_genie_name]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + cho "Good morning, [name_genie_cho]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) else: - cho "Good evening, [cho_genie_name]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + cho "Good evening, [name_genie_cho]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - if cho_tier == 1: + if states.cho.tier == 1: # Intro hints - if not ss_he.cho_E1 or not cho_intro.E3_complete: + if not states.sna.ev.hangouts.cho_e1 or not states.cho.ev.intro.e4_complete: label .hint_menu: @@ -60,9 +60,9 @@ label cho_summon_setup: cho "Yes!" ("angry", "base", "base", "mid") gen "Right..." ("base", xpos="far_left", ypos="head") gen "(Hmm... I think I could use this tension between those two...)" ("base", xpos="far_left", ypos="head") - if not ss_he.cho_E1: + if not states.sna.ev.hangouts.cho_e1: gen "(Better tell Snape about my plan before confronting Miss Granger...)" ("base", xpos="far_left", ypos="head") - elif not cho_intro.E3_complete: + elif not states.cho.ev.intro.e4_complete: gen " (I should probably talk to Hermione...)" ("base", xpos="far_left", ypos="head") jump cho_summon_setup.hint_menu @@ -70,12 +70,12 @@ label cho_summon_setup: "-Dismiss Her-": stop music fadeout 3.0 - if cho_mood == 0: - cho "Goodbye, [cho_genie_name]." (face="happy") + if states.cho.mood == 0: + cho "Goodbye, [name_genie_cho]." ("base", "narrow", "base", "mid") else: - cho "Goodbye, [cho_genie_name]." (face="annoyed") + cho "Goodbye, [name_genie_cho]." ("annoyed", "narrow", "base", "mid") - call play_sound("door") + play sound "sounds/door.ogg" jump end_cho_event diff --git a/game/scripts/characters/cho/favors.rpy b/game/scripts/characters/cho/favors.rpy index ceb21e23..619280f1 100644 --- a/game/scripts/characters/cho/favors.rpy +++ b/game/scripts/characters/cho/favors.rpy @@ -1,51 +1,29 @@ -# Cho Favors -# cc_pf = Cho Chang Personal Favor -default cc_pf_talk = event_class(title = _("Talk to me!"), start_label = "cc_pf_talk", start_tier = 1, - events = [ - [ - ["cc_pf_talk_T1_intro_E1"], - ["cc_pf_talk_T1_intro_E2"], - ["cc_pf_talk_T1_E3"] - ], - [ - ["cc_pf_talk_T2_intro_E1"], - ["cc_pf_talk_T2_intro_E2"], - ["cc_pf_talk_T2_E3"] - ], - [ - ["cc_pf_talk_T3_intro_E1"], - ["cc_pf_talk_T3_intro_E2"], - ["cc_pf_talk_T3_E3"] - ] - ], - iconset = [["heart_empty", "heart_red"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"]] -) -#cc_pf_strip_T3_intro_E3 -default cc_pf_strip = event_class(title = _("Inspect her body!"), start_label = "cc_pf_strip", start_tier = 2, - events = [ - [ - ["cc_pf_strip_T2_intro_E1"], - ["cc_pf_strip_T2_intro_E2"], - ["cc_pf_strip_T2_intro_E3"], ["cc_pf_strip_T2_E3"] - ], - [ - ["cc_pf_strip_T3_intro_E1"], - ["cc_pf_strip_T3_intro_E2"], - ["cc_pf_strip_T3_intro_E3"], ["cc_pf_strip_T3_repeat"] - ] - ], - iconset = [["heart_empty", "heart_red"], ["heart_empty", "heart_red"]] -) -default cc_pf_blowjob = event_class(title = _("Suck it!"), start_label = "cc_pf_blowjob", start_tier = 3, - events = [ - [ - ["cc_pf_blowjob_T3_intro_E1"], - ["cc_pf_blowjob_T3_E2"], - ["cc_pf_blowjob_T3_E3"], - ] - ], - iconset = [["heart_empty", "heart_red"]] -) +default cho_ev_talk_to_me_t1_e1 = Event(id="cho_ev_talk_to_me_t1_e1", label="cc_pf_talk_T1_intro_E1", req="states.cho.tier == 1", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_talk_to_me_t1_e2 = Event(id="cho_ev_talk_to_me_t1_e2", label="cc_pf_talk_T1_intro_E2", req="states.cho.tier == 1", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_talk_to_me_t1_e3 = Event(id="cho_ev_talk_to_me_t1_e3", label="cc_pf_talk_T1_E3", req="states.cho.tier == 1", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) +default cho_ev_talk_to_me_t2_e1 = Event(id="cho_ev_talk_to_me_t2_e1", label="cc_pf_talk_T2_intro_E1", req="states.cho.tier == 2", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_talk_to_me_t2_e2 = Event(id="cho_ev_talk_to_me_t2_e2", label="cc_pf_talk_T2_intro_E2", req="states.cho.tier == 2", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_talk_to_me_t2_e3 = Event(id="cho_ev_talk_to_me_t2_e3", label="cc_pf_talk_T2_E3", req="states.cho.tier == 2", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) +default cho_ev_talk_to_me_t3_e1 = Event(id="cho_ev_talk_to_me_t3_e1", label="cc_pf_talk_T3_intro_E1", req="states.cho.tier >= 3", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_talk_to_me_t3_e2 = Event(id="cho_ev_talk_to_me_t3_e2", label="cc_pf_talk_T3_intro_E2", req="states.cho.tier >= 3", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_talk_to_me_t3_e3 = Event(id="cho_ev_talk_to_me_t3_e3", label="cc_pf_talk_T3_E3", req="states.cho.tier >= 3", queue="cho_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) -default cc_favor_list = [cc_pf_talk, cc_pf_strip, cc_pf_blowjob] +default cho_ev_inspect_her_body_t2_e1 = Event(id="cho_ev_inspect_her_body_t2_e1", label="cc_pf_strip_T2_intro_E1", req="states.cho.tier == 2", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_inspect_her_body_t2_e2 = Event(id="cho_ev_inspect_her_body_t2_e2", label="cc_pf_strip_T2_intro_E2", req="states.cho.tier == 2", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_inspect_her_body_t2_e3 = Event(id="cho_ev_inspect_her_body_t2_e3", label="cc_pf_strip_T2_intro_E3", req="states.cho.tier == 2", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["cc_pf_strip_T2_E3_fail_repeat", "cc_pf_strip_T2_E3_fail"]) +default cho_ev_inspect_her_body_t2_e4 = Event(id="cho_ev_inspect_her_body_t2_e4", label="cc_pf_strip_T2_E3_repeat", req="states.cho.tier == 2", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False) +default cho_ev_inspect_her_body_t3_e1 = Event(id="cho_ev_inspect_her_body_t3_e1", label="cc_pf_strip_T3_intro_E1", req="states.cho.tier >= 3", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_inspect_her_body_t3_e2 = Event(id="cho_ev_inspect_her_body_t3_e2", label="cc_pf_strip_T3_intro_E2", req="states.cho.tier >= 3", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_inspect_her_body_t3_e3 = Event(id="cho_ev_inspect_her_body_t3_e3", label="cc_pf_strip_T3_intro_E3", req="states.cho.tier >= 3", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default cho_ev_inspect_her_body_t3_e4 = Event(id="cho_ev_inspect_her_body_t3_e4", label="cc_pf_strip_T3_repeat", req="states.cho.tier >= 3", queue="cho_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False) + +default cho_ev_suck_it_t3_e1 = Event(id="cho_ev_suck_it_t3_e1", label="cc_pf_blowjob_T3_intro_E1", req="states.cho.tier >= 3", queue="cho_eventqueue_suck_it", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["cc_pf_blowjob_1"]) +default cho_ev_suck_it_t3_e2 = Event(id="cho_ev_suck_it_t3_e2", label="cc_pf_blowjob_T3_E2", req="states.cho.tier >= 3", queue="cho_eventqueue_suck_it", autoenqueue=True, autodequeue=False) +default cho_ev_suck_it_t3_e3 = Event(id="cho_ev_suck_it_t3_e3", label="cc_pf_blowjob_T3_E3", req="states.cho.tier >= 3", queue="cho_eventqueue_suck_it", autoenqueue=True, autodequeue=False) + +define cho_favors = [ + ("cho_eventqueue_talk_to_me", "Talk to me!"), + ("cho_eventqueue_inspect_her_body", "Let me inspect you!"), + ("cho_eventqueue_suck_it", "Suck it!"), +] diff --git a/game/scripts/characters/cho/gifts.rpy b/game/scripts/characters/cho/gifts.rpy index a79315e2..29c092bf 100644 --- a/game/scripts/characters/cho/gifts.rpy +++ b/game/scripts/characters/cho/gifts.rpy @@ -5,541 +5,555 @@ label give_cho_gift(gift_item): with d5 cho "" (xpos="mid", ypos="base", trans=d5) - $ gave_cho_gift = True + $ states.cho.gifted = True if gift_item == lollipop_ITEM: - if cho_tier <= 1: - cho "Sweets?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "My team captain hasn't let me buy any to keep my blood sugar balanced, whatever that means." (mouth="soft", face="annoyed") - call give_gift(_(">You give the sweets to Cho..."), gift_item) - cho "But thanks, [cho_genie_name]." (face="neutral") + if states.cho.tier <= 1: + cho "Sweets?" ("soft", "base", "base", "mid") + cho "My team captain hasn't let me buy any to keep my blood sugar balanced... Whatever that means." ("open", "narrow", "base", "R") + call give_gift("You give the sweets to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-2) - elif cho_tier == 2: - cho "Sweets?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the sweets to Cho..."), gift_item) - cho "Thank you, [cho_genie_name] I do think I deserve one at least after winning our first match." ("smile", "base", "base", "L") + elif states.cho.tier == 2: + cho "Sweets?" ("soft", "base", "base", "mid") + call give_gift("You give the sweets to Cho...",gift_item) + cho "Thank you, [name_genie_cho]... Yes, I do think I deserve one, since we won our first match." ("smile", "narrow", "base", "mid") call cho_mood(-2) - elif cho_tier == 3: - cho "Sweets?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "But we're up against Gryffindor soon, I don't want to get addicted to sugar..." (mouth="soft", face="annoyed") - call give_gift(_(">You give the sweets to Cho..."), gift_item) - cho "Thank you, [cho_genie_name]." ("smile", "base", "base", "L") + elif states.cho.tier == 3: + cho "Sweets?" ("soft", "base", "base", "mid") + cho "But we're up against Gryffindor soon, I don't want to get addicted to sugar..." ("soft", "base", "base", "R") + call give_gift("You give the sweets to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("open", "base", "base", "mid") call cho_mood(-1) else: - cho "Sweets?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the sweets to Cho..."), gift_item) - cho "I'll keep it for later, I like licking it in front of my teammates to tease them a bit." ("open", "base", "raised", "mid") - cho "*Mmmh*, but in the future... I'm more of a savoury kind of girl when it comes to sucking on things..." ("horny", "wink", "base", "mid") - cho "But thanks, [cho_genie_name]." ("smile", "base", "base", "L") + cho "Sweets?" ("soft", "base", "base", "mid") + call give_gift("You give the sweets to Cho...",gift_item) + cho "I'll keep it for later... I like licking it in front of my teammates to tease them a bit." ("smile", "narrow", "base", "R") + cho @ cheeks blush "But in the future... I'm more of a savoury kind of girl..." ("base", "narrow", "base", "R") + cho @ cheeks blush "If you follow my trail..." ("smile", "wink", "base", "mid") call cho_mood(-1) elif gift_item == chocolate_ITEM: - if cho_tier <= 1: - cho "Chocolate?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "I probably shouldn't... although." (pupils="R", face="horny") - call give_gift(_(">You give the chocolate to Cho..."), gift_item) - cho "I'll take it, [cho_genie_name]!" (face="happy") + if states.cho.tier <= 1: + cho "Chocolate?" ("soft", "base", "base", "mid") + cho "I probably shouldn't... Although." ("upset", "narrow", "base", "down") + call give_gift("You give the chocolate to Cho...",gift_item) + cho "I'll take it, [name_genie_cho]!" ("smile", "base", "base", "mid") call cho_mood(-2) - elif cho_tier == 2: - cho "Chocolate... now that would be a treat..." (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the chocolate to Cho..."), gift_item) - cho "What the heck, I deserve it." ("smile", "base", "base", "L") - cho "Thank you, [cho_genie_name]." ("open", "base", "base", "L") + elif states.cho.tier == 2: + cho "Chocolate... Now that would be a treat..." ("open", "base", "base", "down") + call give_gift("You give the chocolate to Cho...",gift_item) + cho "What the heck, I deserve it." ("base", "narrow", "base", "mid") + cho "Thank you, [name_genie_cho]." ("smile", "base", "base", "mid") call cho_mood(-2) - elif cho_tier == 3: - cho "Chocolate?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "But we're up against Gryffindor soon, I don't want to get addicted to sugar..." (mouth="soft", face="annoyed") - call give_gift(_(">You give the chocolate to Cho..."), gift_item) - cho "Thanks." ("base", "base", "base", "L") + elif states.cho.tier == 3: + cho "Chocolate?" ("soft", "base", "base", "down") + cho "But we're up against Gryffindor soon, I don't want to get addicted to sugar..." ("upset", "base", "base", "mid") + call give_gift("You give the chocolate to Cho...",gift_item) + cho "Thanks." ("open", "base", "base", "mid") call cho_mood(-1) else: - cho "Chocolate?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the chocolate to Cho..."), gift_item) - cho "YES!" ("smile", "base", "base", "L") - cho "I've been trying to stay away from it but since the season is over I can have as much as I'd like..." ("open", "wide", "base", "L") - cho "Within reason." ("base", "base", "base", "L") + cho "Chocolate?" ("soft", "base", "base", "down") + call give_gift("You give the chocolate to Cho...",gift_item) + cho "Yes!" ("grin", "happyCl", "base", "down") + cho "I've been trying to stay away from it, but since the season is over, I can have as much as I'd like..." ("grin", "narrow", "base", "mid") + cho "Within reason... of course." ("smile", "narrow", "base", "downR") call cho_mood(-2) elif gift_item == plush_owl_ITEM: - if cho_tier <= 1: - cho "A toy?" (face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give the stuffed owl to Cho..."), gift_item) - cho "My team would probably laugh if they saw me with this..." (mouth="open", face="annoyed") - cho "I guess it's cute..." (face="annoyed") + if states.cho.tier <= 1: + cho "A toy?" ("annoyed", "base", "base", "mid") + call give_gift("You give the stuffed owl to Cho...",gift_item) + cho "My team would probably laugh if they saw me with this..." ("disgust", "narrow", "base", "mid") + cho "I'm sorry, but I can't accept this..." ("soft", "narrow", "base", "mid") call cho_mood(0) - elif cho_tier == 2: - cho "A toy?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the stuffed owl to Cho..."), gift_item) - cho "That's very nice of you [cho_genie_name] but I'd probably be made fun of owning this..." ("annoyed", "base", "base", "mid") - cho "I guess I could give it to someone." ("open", "base", "base", "down") + elif states.cho.tier == 2: + cho "A toy?" ("soft", "base", "base", "down") + call give_gift("You give the stuffed owl to Cho...",gift_item) + cho "That's very nice of you [name_genie_cho], but I'd probably be made fun of for owning this..." ("annoyed", "base", "base", "mid") + cho "I guess I could give it to someone." ("open", "base", "base", "R") call cho_mood(0) - elif cho_tier == 3: - cho "A toy?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the stuffed owl to Cho..."), gift_item) - cho "I'm not a child [cho_genie_name]..." ("annoyed", "base", "base", "mid") - cho "Thank you I guess..." ("open", "base", "base", "down") + elif states.cho.tier == 3: + cho "A toy?" ("soft", "narrow", "base", "down") + call give_gift("You give the stuffed owl to Cho...",gift_item) + cho "I'm not a child, [name_genie_cho]..." ("annoyed", "base", "base", "mid") + cho "Thank you I guess..." ("open", "narrow", "base", "R") call cho_mood(0) else: - cho "A toy?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the stuffed owl to Cho..."), gift_item) + cho "A toy?" ("soft", "narrow", "base", "down") + call give_gift("You give the stuffed owl to Cho...",gift_item) cho "Not the kind of Toy I'd like..." ("horny", "narrow", "raised", "mid") - cho "Thank you I suppose." ("annoyed", "base", "base", "mid") + cho "Thank you I suppose." ("open", "narrow", "base", "mid") call cho_mood(0) elif gift_item == butterbeer_ITEM: - if cho_tier <= 1: - cho "Butterbeer?" (face="disgusted", xpos="mid", ypos="base") - cho "Isn't this supposed to be alcoholic? I'm not supposed to drink during the season..." (face="annoyed") + if states.cho.tier <= 1: + cho "Butterbeer?" ("angry", "base", "base", "mid") + cho "Isn't this supposed to be alcoholic? I'm not supposed to drink during the season..." ("upset", "base", "base", "mid") call cho_mood(1) - elif cho_tier == 2: - cho "Butterbeer?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "Yes, I'll take it... turns out my team mates had been lying about the alcohol content to mess with me." ("open", "narrow", "base", "mid") - cho "I guess I'll finally find out what I've been missing out on!" ("soft", "base", "raised", "L") - call give_gift(_(">You give the Butterbeer to Cho..."), gift_item) - cho "Thank you, [cho_genie_name]." (face="neutral") + elif states.cho.tier == 2: + cho "Butterbeer?" ("open", "base", "base", "down") + cho "Yes, I'll take it... Turns out my teammates had been lying about the alcohol content to mess with me." ("base", "narrow", "base", "mid") + cho "I can't believe they made me miss out on this, for such a long time." ("open", "narrow", "base", "R") + call give_gift("You give the Butterbeer to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-2) - elif cho_tier == 3: - cho "Butterbeer?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "It's a bit tame isn't it? I chugged a lot of it after our last win and can't say I felt a buzz even." ("open", "narrow", "base", "L") - call give_gift(_(">You give the Butterbeer to Cho..."), gift_item) - cho "Thank you I suppose, [cho_genie_name]." (face="neutral") + elif states.cho.tier == 3: + cho "Butterbeer?" ("open", "base", "base", "down") + cho "It's a bit tame, isn't it? I chugged a lot of it after our last win and can't say I felt a buzz even." ("soft", "narrow", "raised", "mid") + call give_gift("You give the Butterbeer to Cho...",gift_item) + cho "Thank you, I suppose, [name_genie_cho]." ("soft", "base", "base", "R") call cho_mood(0) else: - cho "Butterbeer?" (pupils="down", face="horny", xpos="mid", ypos="base") + cho "Butterbeer?" ("soft", "narrow", "raised", "down") cho "Don't you have any firewhisky?" ("annoyed", "base", "base", "mid") - call give_gift(_(">You give the Butterbeer to Cho..."), gift_item) - cho "Thank you I suppose, [cho_genie_name]." (face="neutral") + call give_gift("You give the Butterbeer to Cho...",gift_item) + cho "Thanks, I suppose..." ("open", "narrow", "base", "down") call cho_mood(0) elif gift_item == science_mag_ITEM: - if cho_tier <= 1: - cho "Oh, I heard that they put out a new formula for broom polish in this issue." (mouth="open", pupils="R", face="neutral", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of educational magazines to Cho..."), gift_item) - cho "Thank you, [cho_genie_name]." (face="neutral") + if states.cho.tier <= 1: + cho "Oh, I heard that they put out a new formula for broom polish in this issue." ("smile", "base", "base", "mid") + call give_gift("You give an assortment of educational magazines to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) - elif cho_tier == 2: - cho "*Hmm*... Broom aerodynamics and how to utilise your opponents slipstream..." (pupils="down", face="horny", xpos="mid", ypos="base") + elif states.cho.tier == 2: + cho "*Hmm*... Broom aerodynamics and how to utilise your opponent's slipstream..." ("open", "narrow", "raised", "down") cho "Interesting..." ("smile", "base", "base", "mid") - call give_gift(_(">You give an assortment of educational magazines to Cho..."), gift_item) - cho "Thank you, [cho_genie_name]." (face="neutral") + call give_gift("You give an assortment of educational magazines to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) - elif cho_tier == 3: - cho "Five steps to modify your brooms legally..." (pupils="down", face="horny", xpos="mid", ypos="base") + elif states.cho.tier == 3: + cho "Five steps to modify your brooms legally..." ("soft", "base", "base", "down") cho "Sounds useful." ("smile", "base", "base", "mid") - call give_gift(_(">You give an assortment of educational magazines to Cho..."), gift_item) - cho "Thank you, [cho_genie_name]." (face="neutral") + call give_gift("You give an assortment of educational magazines to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) else: - cho "Experts guide, How to maintain and store your Quidditch gear." (pupils="down", face="horny", xpos="mid", ypos="base") - cho "Isn't that what a broom closet is for?" (face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of educational magazines to Cho..."), gift_item) - cho "Thank you, [cho_genie_name]." (face="neutral") + cho "An expert's guide, on how to maintain and store your Quidditch gear." ("base", "narrow", "base", "down") + cho "Isn't that what a broom closet is for?" ("soft", "wink", "base", "mid") + call give_gift("You give an assortment of educational magazines to Cho...",gift_item) + cho "I suppose you learn something new every day... Thank you [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) elif gift_item == girls_mag_ITEM: - if cho_tier <= 1: - cho "Girls magazines, what do you think I am... a gi--" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "I'm good thank you..." ("open", "base", "base", "L",xpos="mid",ypos="base") + if states.cho.tier <= 1: + cho "Girls magazines, what do you think I am... A gi--" ("angry", "base", "base", "mid") + cho "I'm good, thank you..." ("soft", "narrow", "base", "R") call cho_mood(0) - elif cho_tier == 2: - cho "Girls magazines?" (pupils="down", face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of rather girly magazines to Cho..."), gift_item) - cho "I don't usually read these types of magazines, the boys used to make fun of me for it." (face="annoyed") - cho "But they can't get into the girls dorm." (face="neutral") - cho "Thank you, [cho_genie_name]." (face="neutral") + elif states.cho.tier == 2: + cho "Girls magazines?" ("soft", "narrow", "base", "down") + call give_gift("You give an assortment of rather girly magazines to Cho...",gift_item) + cho "I don't usually read these types of magazines, the boys used to make fun of me for it." ("annoyed", "narrow", "base", "R") + cho "But they can't get into the girls' dorm." ("base", "narrow", "base", "R") + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) - elif cho_tier == 3: - cho "Girls magazines?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of rather girly magazines to Cho..."), gift_item) - cho "They do have some interesting stuff on skincare I suppose..." ("annoyed", "closed", "base", "mid") - cho "Thank you, [cho_genie_name]." (face="neutral") + elif states.cho.tier == 3: + cho "Girls magazines?" ("soft", "base", "base", "down") + call give_gift("You give an assortment of rather girly magazines to Cho...",gift_item) + cho "They do have some interesting stuff on skincare I suppose..." ("annoyed", "narrow", "base", "R") + cho "Thank you, [name_genie_cho]." ("open", "base", "base", "R") call cho_mood(-1) else: - cho "Girls magazines?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "I did enjoy last months issue about cultural appropriation with traditional clothing..." ("smile", "base", "base", "mid") - call give_gift(_(">You give an assortment of rather girly magazines to Cho..."), gift_item) + cho "Girls magazines?" ("soft", "narrow", "base", "down") + cho "I suppose I found the article in last month's issue about cultural appropriation interesting..." ("open", "narrow", "base", "downR") + call give_gift("You give an assortment of rather girly magazines to Cho...",gift_item) cho "Don't tell the boys I said that." ("soft", "closed", "base", "mid") - cho "Thank you, [cho_genie_name]." (face="neutral") + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) elif gift_item == adult_mag_ITEM: - if cho_tier <= 1: - cho "Adult magazines?" ("angry", "wide", "raised", "mid",xpos="mid",ypos="base") - cho "This is highly inappropriate [cho_genie_name]!" ("scream", "narrow", "raised", "mid") + if states.cho.tier <= 1: + cho "Adult magazines?" ("angry", "wide", "raised", "mid") + cho "This is highly inappropriate, [name_genie_cho]!" ("angry", "narrow", "raised", "mid") cho "Is this the kind of thing you usually give to people?" ("angry", "base", "base", "L") call cho_mood(1) - elif cho_tier == 2: - cho "Adult magazines?" (face="disgusted", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of adult magazines to Cho..."), gift_item) - cho "These people do have nice, posture..." (face="horny") - cho "I... I guess they could be useful." (face="horny") - cho "Thank you, [cho_genie_name]." (face="neutral") + elif states.cho.tier == 2: + cho "Adult magazines?" ("soft", "narrow", "base", "down") + call give_gift("You give an assortment of adult magazines to Cho...",gift_item) + cho @ cheeks blush "These people do have nice posture..." ("open", "narrow", "base", "down") + cho @ cheeks blush "I... I guess they could be useful." ("open", "base", "base", "R") + cho @ cheeks blush "Thank you, [name_genie_cho]." ("open", "closed", "base", "mid") call cho_mood(-1) - elif cho_tier == 3: - cho "Adult magazines?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of adult magazines to Cho..."), gift_item) - cho "They're all so fit in these magazines, totally my type." ("open", "wide", "raised", "down") - cho "Does this one model in the nude?" ("horny", "base", "base", "L") - cho "Thank you, [cho_genie_name]." (face="neutral") + elif states.cho.tier == 3: + cho "Adult magazines?" ("soft", "narrow", "base", "down") + call give_gift("You give an assortment of adult magazines to Cho...",gift_item) + cho "They're all so fit in these magazines... Totally my type." ("smile", "narrow", "base", "down") + cho "Does this one model in the nude?" ("horny", "base", "base", "down") + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) else: - cho "Adult magazines?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of adult magazines to Cho..."), gift_item) - cho "Wow, look at that guys abs..." ("horny", "base", "base", "down") - cho "And that girls..." ("soft", "base", "raised", "down") - cho "I'll take it." ("open", "narrow", "base", "mid") - cho "Thank you, [cho_genie_name]." (face="neutral") + cho @ cheeks blush "Adult magazines?" ("soft", "narrow", "base", "down") + call give_gift("You give an assortment of adult magazines to Cho...",gift_item) + cho @ cheeks blush "Wow, look at that guy's abs..." ("horny", "base", "base", "down") + cho @ cheeks blush "And that girl's... What do you call it?" ("soft", "base", "raised", "down") + cho @ cheeks blush "Cum-gutters?" ("horny", "narrow", "raised", "down") + cho @ cheeks blush "Thank you, [name_genie_cho]." ("horny", "narrow", "base", "mid") call cho_mood(-2) elif gift_item == porn_mag_ITEM: - if cho_tier <= 1: - cho "What is this!?!" ("angry", "wide", "raised", "mid",xpos="mid",ypos="base") + if states.cho.tier <= 1: + cho "What is this!?!" ("angry", "wide", "raised", "mid") cho "Porn magazines?" ("open", "wide", "angry", "mid") - cho "Sir, why would you even think of giving me something like this?" ("scream", "narrow", "angry", "L",xpos="mid",ypos="base") - cho "" ("angry", "base", "angry", "down") + cho "Sir, why would you even think of giving me something like this?" ("scream", "narrow", "angry", "L") call cho_mood(3) - elif cho_tier == 2: - cho "What is this?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "Porn magazines? Sir, that's too much even for you..." ("annoyed", "narrow", "base", "down") - cho "Is that a snitch in her sna-- No... just no..." ("open", "wide", "raised", "down") - cho "" ("angry", "base", "angry", "down") + elif states.cho.tier == 2: + cho @ cheeks blush "What is this?" ("angry", "wide", "base", "down") + cho @ cheeks blush "Porn magazines? Sir, that's too much..." ("angry", "narrow", "base", "down") + cho @ cheeks heavy_blush "Is that a snitch in her sna--" ("open", "wide", "raised", "down") call cho_mood(2) - elif cho_tier == 3: - cho "What's this?" (face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give an assortment of porn magazines to Cho..."), gift_item) - cho "What's with these positions? Is that a broom handle up her..." (mouth="open",eyes="wide",eyebrows="raised", pupils="down") - cho "Oh my..." (mouth="soft", pupils="R", face="disgusted") + elif states.cho.tier == 3: + cho @ cheeks blush "What's this?" ("soft", "narrow", "base", "down") + call give_gift("You give an assortment of porn magazines to Cho...",gift_item) + cho @ cheeks blush "What's with these positions? Is that a broom handle up her--" ("angry", "base", "base", "down") + cho @ cheeks blush "Oh my..." ("angry", "base", "base", "down") call cho_mood(0) else: - cho "Porn magazines?" (pupils="down", face="horny", xpos="mid", ypos="base") - cho "Ooh, are those two doing it on a broom? That's impressive..." ("open", "wide", "raised", "down") - cho "[cho_genie_name], this is naughty. Even for you..." ("horny", "wink", "base", "L") - cho "I've got my eyes on you." ("base", "narrow", "raised", "L") - call give_gift(_(">You give an assortment of porn magazines to Cho..."), gift_item) - cho "Thank you." ("smile", "base", "base", "mid") + cho @ cheeks blush "Porn magazines?" ("soft", "narrow", "base", "down") + cho @ cheeks blush "Ooh, are those two doing it on a broom? That's impressive..." ("open", "base", "raised", "down") + cho @ cheeks blush "[name_genie_cho], this is naughty... Even for you." ("smile", "narrow", "base", "downR") + cho @ cheeks blush "I've got my eyes on you." ("base", "narrow", "raised", "mid") + call give_gift("You give an assortment of porn magazines to Cho...",gift_item) + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "mid") call cho_mood(-3) elif gift_item == krum_poster_ITEM: - if cho_tier <= 1: - cho "A Viktor Krum poster?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "Professor, he doesn't have his shirt on!" ("scream", "wide", "base", "down") - cho "That's...{w=0.3} highly inappropriate..." ("open", "narrow", "base", "downR") + if states.cho.tier <= 1: + cho "A Viktor Krum poster?" ("angry", "base", "base", "mid") + cho "Professor, he doesn't have his shirt on!" ("angry", "wink", "base", "mid") + cho @ cheeks blush "That's...{w=0.3} highly inappropriate..." ("angry", "closed", "base", "downR") cho "I can't...{w=0.3} I can't accept this." ("upset", "closed", "base", "mid") - cho "" ("base", "base", "base", "mid") call cho_mood(0) - elif cho_tier == 2: - cho "A Viktor Krum poster?" (mouth="soft", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "He really is quite muscular isn't he..." ("open", "narrow", "base", "down") - cho "I'll use it..." ("smile", "base", "base", "mid") - call give_gift(_(">You give the poster to Cho..."), gift_item) - cho "As a motivational poster that is!" ("open", "wide", "raised", "L") - cho "Thank you [cho_genie_name]." (face="neutral") + elif states.cho.tier == 2: + cho @ cheeks blush "A Viktor Krum poster?" ("soft", "narrow", "base", "down") + cho @ cheeks blush "He really is quite muscular isn't he..." ("disgust", "narrow", "base", "down") + cho @ cheeks blush "I'll use it..." ("smile", "narrow", "base", "down") + call give_gift("You give the poster to Cho...",gift_item) + cho @ cheeks blush "As a motivational poster that is!" ("angry", "narrow", "raised", "downR") + cho @ cheeks blush "Thank you [name_genie_cho]." ("open", "narrow", "base", "R") call cho_mood(-2) - elif cho_tier == 3: - cho "A Viktor Krum poster?" (mouth="smile", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "Wasn't his nudes leaked in Wizard Hunks weekly?" ("open", "narrow", "base", "mid") - cho "..." ("angry", "wide", "raised", "down") - cho "Not that I'd read such a thing." ("upset", "base", "base", "downR") - call give_gift(_(">You give the poster to Cho..."), gift_item) - cho "Thank you [cho_genie_name]." (face="neutral") + elif states.cho.tier == 3: + cho "A Viktor Krum poster?" ("soft", "base", "base", "down") + cho "Wasn't his nudes leaked in Wizard Hunks weekly?" ("open", "base", "raised", "down") + cho "..." ("angry", "wide", "raised", "mid") + cho "Not that I'd read such a thing." ("angry", "wide", "base", "downR") + call give_gift("You give the poster to Cho...",gift_item) + cho "Thank you [name_genie_cho]." ("angry", "base", "base", "downR") call cho_mood(-3) else: - cho "A Viktor Krum poster?" (mouth="scream", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "I'll take that if you don't mind." (pupils="downR", face="horny") - call give_gift(_(">You give the poster to Cho..."), gift_item) - cho "(...)" (mouth="soft", pupils="up", face="horny") - cho "I love it, [cho_genie_name]." (pupils="mid", face="horny") + cho @ cheeks blush "A Viktor Krum poster?" ("soft", "narrow", "raised", "down") + cho @ cheeks blush "But, isn't this almost the same as if he were to be watching me for real?" ("horny", "narrow", "base", "down") + call give_gift("You give the poster to Cho...",gift_item) + cho @ cheeks blush "..." ("horny", "narrow", "base", "down") + cho @ cheeks blush "I love it, [name_genie_cho]." ("smile", "narrow", "base", "mid") call cho_mood(-5) elif gift_item == sexy_lingerie_ITEM: - if cho_tier <= 1: - cho "Lingerie?" ("annoyed", "narrow", "raised", "down",xpos="mid",ypos="base") + if states.cho.tier <= 1: + cho "Lingerie?" ("open", "narrow", "raised", "down") cho "Sir, are you expecting me to wear this?" ("open", "wide", "raised", "mid") - cho "Are you insane?!" ("scream", "wide", "raised", "L") - cho "No thank you..." ("open", "base", "angry", "down") - cho "" ("annoyed", "base", "base", "mid") + cho "Are you insane?!" ("disgust", "narrow", "angry", "mid") + cho "No, thank you..." ("open", "base", "angry", "down") call cho_mood(2) - elif cho_tier == 2: - cho "Lingerie?" ("annoyed", "narrow", "base", "down",xpos="mid",ypos="base") - cho "Why would I want this? I have plenty of clothes I like already..." ("open", "wide", "raised", "down") - cho "I'll pass on that one, thanks." ("base", "base", "base", "mid") + elif states.cho.tier == 2: + cho "Lingerie?" ("annoyed", "narrow", "base", "down") + cho "Why would I want this? I have plenty of clothes I like already..." ("soft", "narrow", "raised", "mid") + cho "I'll pass on that one, thanks." ("open", "base", "base", "R") call cho_mood(0) - elif cho_tier == 3: - cho "Lingerie?" (face="annoyed", xpos="mid", ypos="base") - cho "Seems pretty flexible. I might be able use these when stretching." (mouth="annoyed", pupils="down", face="annoyed") - call give_gift(_(">You give the lingerie to Cho..."), gift_item) - cho "Thank you [cho_genie_name]." (face="neutral") + elif states.cho.tier == 3: + cho "Lingerie?" ("soft", "narrow", "base", "down") + cho "Seems pretty flexible. I might be able to use these when stretching." ("base", "narrow", "base", "down") + call give_gift("You give the lingerie to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-2) else: - cho "Lingerie?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "Sexy... Did you pick them out yourself?" ("horny", "wide", "base", "down") - cho "You've got good taste... I tore mine last year during the ball..." ("base", "base", "raised", "mid") - cho "Well, they got torn at one point at least..." ("smile", "narrow", "base", "down") - call give_gift(_(">You give the lingerie to Cho..."), gift_item) - cho "Thank you [cho_genie_name]." (face="neutral") + cho @ cheeks blush "Lingerie?" ("soft", "narrow", "raised", "down") + cho @ cheeks blush "very sexy... Did you pick them out yourself?" ("base", "wink", "base", "mid") + cho @ cheeks blush "You've got good taste... I tore mine during the ball last year..." ("smile", "narrow", "base", "R") + cho @ cheeks blush "That's what I get for thinking they'd fit, even after doing so many squats, I suppose..." ("smile", "narrow", "base", "mid") + call give_gift("You give the lingerie to Cho...",gift_item) + cho @ cheeks blush "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-3) elif gift_item == sexy_stockings_ITEM : - if cho_tier <= 1: - cho "stockings?" ("annoyed", "narrow", "raised", "down",xpos="mid",ypos="base") - cho "Surely that must be against some kind of dresscode..." ("open", "wide", "raised", "mid") + if states.cho.tier <= 1: + cho "Stockings?" ("soft", "narrow", "raised", "down") + cho "Surely that must be against some kind of dress code..." ("open", "wide", "raised", "mid") cho "I'll pass..." ("open", "base", "angry", "down") cho "" ("annoyed", "base", "base", "mid") call cho_mood(1) - elif cho_tier == 2: - cho "Stockings?" ("annoyed", "narrow", "base", "down",xpos="mid",ypos="base") - cho "I guess I wont get sunburnt on my legs wearing these..." ("open", "narrow", "base", "mid") - call give_gift(_(">You give the lingerie to Cho..."), gift_item) - cho "Thank you [cho_genie_name]." (face="neutral") + elif states.cho.tier == 2: + cho "Stockings?" ("annoyed", "narrow", "base", "down") + cho "I guess I won't get sunburnt on my legs wearing these..." ("open", "narrow", "base", "mid") + call give_gift("You give the lingerie to Cho...",gift_item) + cho "Thank you [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) - elif cho_tier == 3: - cho "Stockings?" ("annoyed", "narrow", "base", "down",xpos="mid",ypos="base") - cho "I can almost see right through these..." (mouth="annoyed", pupils="down", face="annoyed") - call give_gift(_(">You give the lingerie to Cho..."), gift_item) - cho "Thank you [cho_genie_name]." (face="neutral") + elif states.cho.tier == 3: + cho @ cheeks blush "Stockings?" ("soft", "narrow", "base", "down") + cho @ cheeks blush "I can almost see right through these..." ("soft", "narrow", "base", "down") + call give_gift("You give the lingerie to Cho...",gift_item) + cho @ cheeks blush "Thank you, [name_genie_cho]." ("open", "narrow", "base", "downR") call cho_mood(-2) else: - cho "Stockings?" ("annoyed", "narrow", "base", "down",xpos="mid",ypos="base") - cho "But my legs gets to itchy in these, I'd rather go without any leggings..." ("open", "narrow", "base", "mid") + cho "Stockings?" ("soft", "narrow", "base", "down") + cho "But my legs get too itchy in these, I'd rather go without any leggings..." ("disgust", "narrow", "base", "mid") call cho_mood(0) elif gift_item == pink_condoms_ITEM: - if cho_tier <= 1: - cho "Condoms?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "You're expecting me to go and fuck the teachers, is that what you want?" ("scream", "narrow", "raised", "L") - cho "I'm not one of those Slytherin skanks that impale themselves on the daily." ("angry", "narrow", "base", "mid") - cho "You can take those and go fuck yourself with them..." ("soft", "narrow", "angry", "mid") + if states.cho.tier <= 1: + cho "Condoms?" ("angry", "narrow", "base", "down") + cho "Yes, why don't I use these and have sex with the teachers... That's what you want, right?" ("disgust", "narrow", "raised", "R") + cho "I think you're confusing me with those Slytherin skanks who impale themselves on the daily." ("angry", "narrow", "base", "mid") + cho "So, you can have these back and give it to them..." ("soft", "narrow", "angry", "mid") call cho_mood(2) - elif cho_tier == 2: - cho "Condoms?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "I'm not the kind of girl to go around banging everything I come across..." ("soft", "base", "base", "down") - cho "Thanks but no thanks..." ("open", "base", "base", "mid") + elif states.cho.tier == 2: + cho "Condoms?" ("angry", "base", "base", "down") + cho "I'm not the kind of girl to walk around and bang anyone who cross my path..." ("open", "closed", "angry", "mid") + cho "Thanks but no, thanks..." ("disgust", "narrow", "base", "R") call cho_mood(1) - elif cho_tier == 3: - cho "Condoms?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "Are you expecting that I should use these? I know safe sex is important and all but I know what you're insinuating." ("angry", "narrow", "raised", "L") - cho "Keep them..." ("soft", "base", "base", "down") - cho "" ("annoyed", "base", "base", "mid") + elif states.cho.tier == 3: + cho @ cheeks blush "Condoms?" ("soft", "narrow", "base", "down") + cho @ cheeks blush "Are you expecting that I'll need these?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "*Ehm*..." ("upset", "closed", "base", "down") call cho_mood(0) else: - cho "Condoms?" (pupils="down", face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give a pack of condoms to Cho..."), gift_item) - cho "I do surround myself with mostly boys, so having these at hand could be useful..." (pupils="downR", face="horny") - cho "Thank you for your concerns, [cho_genie_name]..." (mouth="soft", pupils="mid", face="neutral") + cho "Condoms?" ("soft", "narrow", "base", "down") + call give_gift("You give a pack of condoms to Cho...", gift_item) + cho @ cheeks blush "I thought you said we didn't need these?" ("soft", "narrow", "raised", "mid") + cho @ cheeks blush "Although, perhaps we could find some use for them..." ("smile", "narrow", "base", "downR") call cho_mood(-2) elif gift_item == vibrator_ITEM: - if cho_tier <= 1: - cho "A vibrator?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "Sir, are you out of your mind?" ("scream", "wide", "raised", "L") - cho "I'm your student for crying out loud, giving gifts in general is a bit weird but sex toys..." ("angry", "wide", "base", "mid") - cho "Seriously?!" ("scream", "wide", "raised", "L") + if states.cho.tier <= 1: + cho "A vibrator?" ("mad", "base", "base", "down") + cho "Sir, are you out of your mind?" ("disgust", "wide", "raised", "mid") + cho "I'm your student for crying out loud... Giving gifts in general is a bit weird, but sex toys..." ("angry", "wide", "base", "mid") + cho @ cheeks blush "Seriously?!" ("mad", "narrow", "base", "mid") call cho_mood(3) - elif cho_tier == 2: - cho "A vibrator?" (mouth="open", eyes="wide", eyebrows="raised", pupils="mid", xpos="mid", ypos="base") - cho "Why would you give me that..." ("angry", "base", "base", "down") - cho "Give it to Granger, I'm sure she'd love to accept a sex toy from her headmaster." ("smile", "narrow", "angry", "mid") + elif states.cho.tier == 2: + cho @ cheeks blush "A vibrator?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "Why would you give me this?" ("disgust", "narrow", "base", "mid") + cho @ cheeks blush "Give it to Granger... I'm sure she'd love to accept a sex toy from her headmaster." ("disgust", "narrow", "angry", "mid") call cho_mood(2) - elif cho_tier == 3: - cho "A vibrator?" (face="horny", xpos="mid", ypos="base") - cho "Sir, I don't think this would be appropriate to bring to my dorm..." ("soft", "narrow", "base", "down") - cho "The girls... they'd hear it... not that I want it or anything!" ("quiver", "wide", "base", "downR") + elif states.cho.tier == 3: + cho @ cheeks blush "A vibrator?" ("soft", "narrow", "base", "down") + cho @ cheeks blush "Sir, I don't think this would be appropriate to bring to my dorm..." ("upset", "narrow", "base", "mid") + cho @ cheeks blush "The girls... They'd hear it... Not that I want it or anything!" ("horny", "narrow", "base", "R") call cho_mood(0) else: - cho "A Vibrator?" (face="horny", xpos="mid", ypos="base") - call give_gift(_(">You give the vibrator to Cho..."), gift_item) - cho "Ahh, It does promote a healthy lifestyle..." (face="horny") - cho "Thank you, [cho_genie_name]." (face="happy") + cho @ cheeks heavy_blush "A Vibrator?" ("open", "narrow", "base", "down") + call give_gift("You give the vibrator to Cho...", gift_item) + cho @ cheeks heavy_blush "*Hmm*... It does promote a healthy lifestyle..." ("base", "narrow", "base", "down") + cho @ cheeks heavy_blush "Thank you, [name_genie_cho]." ("smile", "base", "base", "mid") call cho_mood(-3) elif gift_item == anal_lube_ITEM: - if cho_tier <= 1: - cho "A lubricant?" (face="annoyed", xpos="mid", ypos="base") - cho "What the hell, why do you think this is an appropriate gift? What's wrong with you..." ("angry", "wide", "raised", "L") - cho "Senile old man..." ("angry", "narrow", "base", "mid") + if states.cho.tier <= 1: + cho "Lubricant?" ("mad", "base", "base", "down") + cho "What the hell, why do you think this is an appropriate gift? What's wrong with you..." ("angry", "wide", "raised", "mid") call cho_mood(4) - elif cho_tier == 2: - cho "A lubricant?" (face="annoyed", xpos="mid", ypos="base") - cho "*Ew* Why are you giving me this... when would I ever have the need for lube." ("angry", "wide", "raised", "down") - cho "Give it to one of those Slytherin skanks, they probably go through a ton of it every week." ("base", "narrow", "raised", "mid") + elif states.cho.tier == 2: + cho @ cheeks blush "Lubricant?" ("angry", "base", "base", "down") + cho "*Eww*... Why are you giving me this? When would I ever have the need for lube?" ("angry", "narrow", "base", "down") + cho "Give it to one of those Slytherin skanks, they probably go through a gallon every week." ("disgust", "closed", "angry", "mid") call cho_mood(3) - elif cho_tier == 3: - cho "Anal lube?" (face="annoyed", xpos="mid", ypos="base") - cho "Why would I need something like this? The broom goes under my butt, not in my butt..." ("soft", "wide", "raised", "L") - call cho_mood(0) + elif states.cho.tier == 3: + cho @ cheeks blush "Lubricant?" ("angry", "narrow", "base", "down") + if states.cho.ev.quidditch.e12_complete: + cho @ cheeks blush "Yes, I suppose this could be useful..." ("soft", "narrow", "raised", "mid") + call cho_mood(-3) + else: + cho @ cheeks blush "Why would I need something like this?" ("soft", "narrow", "raised", "mid") + call cho_mood(0) else: - cho "Anal Lubricant?" (face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give the jar of anal lube to Cho..."), gift_item) - cho "You should've given me this yesterday, [cho_genie_name]." (mouth="soft", face="annoyed") - cho "I haven't been able to sit on a broom all day after yesterday's game..." (mouth="annoyed", pupils="down", face="annoyed") + cho @ cheeks heavy_blush "Anal Lubricant?" ("soft", "base", "base", "down") + call give_gift("You give the jar of anal lube to Cho...", gift_item) + cho @ cheeks heavy_blush "You should've given me this yesterday, [name_genie_cho]." ("smile", "wink", "base", "mid") + cho @ cheeks heavy_blush "I haven't been able to sit on a broom properly, not since my last flying session..." ("horny", "closed", "base", "mid") call cho_mood(-5) elif gift_item == ballgag_and_cuffs_ITEM: - if cho_tier <= 1: - cho "Ball gag... and cuffs?" (pupils="down", face="annoyed", xpos="mid", ypos="base") + if states.cho.tier <= 1: + cho "A ball gag... and cuffs?" ("soft", "narrow", "raised", "down") cho "Wait, is this a sex thing?" ("soft", "wide", "raised", "mid") - cho "Professor, that's disgusting... why would you give me this." ("angry", "wide", "raised", "mid") + cho "Professor, that's disgusting... Why would you give me this?" ("angry", "wide", "angry", "mid") call cho_mood(4) - elif cho_tier == 2: - cho "Ball gag and cuffs?" (pupils="down", face="annoyed", xpos="mid", ypos="base") - cho "Sir, this is highly inappropriate gift to give to a student!" ("scream", "narrow", "raised", "mid") - cho "Why would you give me these, how is this going to help me with Quidditch?" ("angry", "base", "base", "mid") + elif states.cho.tier == 2: + cho @ cheeks blush "A ball gag and cuffs?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "Sir, this is a highly inappropriate gift to give to a student!" ("mad", "narrow", "base", "mid") + cho @ cheeks blush "Why would you give me these? Are they supposed to help me with Quidditch?" ("disgust", "narrow", "base", "mid") call cho_mood(3) - elif cho_tier == 3: - cho "Ball gag and cuffs?" (face="annoyed", xpos="mid", ypos="base") - cho "I prefer not to lock myself up, I'm a free spirit." ("soft", "base", "raised", "L") - cho "Thanks... but no thanks." ("open", "base", "base", "mid") + elif states.cho.tier == 3: + cho @ cheeks blush "A ball gag and cuffs?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "I prefer not to lock myself up... I'm a free spirit." ("annoyed", "narrow", "base", "R") + cho @ cheeks blush "Thanks... But no, thanks." ("soft", "base", "base", "R") call cho_mood(0) else: - cho "Ball gag and cuffs?" (pupils="down", face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give the ball gag and cuffs to Cho..."), gift_item) - cho "How progressive... do they require a safe-word to open?" (face="horny") - cho "Wait, how would a safe-word work when you have a ball in your mouth..." (mouth="quiver", eyes="wide", eyebrows="raised", pupils="down") + cho @ cheeks heavy_blush "A ball gag and cuffs?" ("soft", "narrow", "base", "down") + call give_gift("You give the ball gag and cuffs to Cho...", gift_item) + cho @ cheeks heavy_blush "How progressive... Do they require a safe-word to open?" ("horny", "narrow", "base", "down") + cho @ cheeks heavy_blush "Wait, how would a safe-word work when you have a ball in your mouth..." ("disgust", "narrow", "base", "down") call cho_mood(-3) elif gift_item == anal_plugs_ITEM: - if cho_tier <= 1: - cho "Anal plugs?" (face="annoyed", xpos="mid", ypos="base") - cho "That's disgusting... why do you think it's a good idea to give these to me?" ("angry", "wide", "raised", "L") - cho "That one has a tail on it..." ("angry", "narrow", "raised", "mid") + if states.cho.tier <= 1: + cho "Anal plugs?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "That's disgusting... Why would you think it'd be a good idea to give these to me?" ("disgust", "base", "angry", "down") + cho @ cheeks heavy_blush "That one even has a tail on it..." ("disgust", "narrow", "raised", "down") call cho_mood(4) - elif cho_tier == 2: - cho "Anal plugs?" (face="annoyed", xpos="mid", ypos="base") - cho "Why do you have these? They're not used are they..." ("angry", "wide", "raised", "L") - cho "*Ew* Just, no..." ("open", "narrow", "raised", "mid") + elif states.cho.tier == 2: + cho @ cheeks blush "Anal plugs?" ("disgust", "narrow", "base", "down") + cho "Why do you have these? They're not used, are they?" ("angry", "narrow", "raised", "mid") + cho @ cheeks blush "*Eww*... Just, no." ("disgust", "closed", "angry", "mid") cho "" ("annoyed", "base", "base", "mid") call cho_mood(3) - elif cho_tier == 3: - cho "Anal plugs?" (face="annoyed", xpos="mid", ypos="base") - cho "Sir, are you expecting me to wear this?" ("angry", "base", "base", "L") - cho "During Quidditch?" ("angry", "wide", "raised", "L") - cho "No, no, no, no noooo." ("open", "narrow", "raised", "mid") - cho "NO!" ("scream", "wide", "raised", "mid") - cho "" ("annoyed", "base", "base", "mid") + elif states.cho.tier == 3: + cho @ cheeks blush "Anal plugs?" ("angry", "base", "base", "down") + cho "Sir, are you expecting me to wear this?" ("angry", "base", "base", "mid") + cho "During Quidditch?" ("angry", "wide", "raised", "mid") + cho "No, no, no, noooo." ("open", "happyCl", "raised", "mid") + cho "NO!" ("angry", "closed", "angry", "mid") call cho_mood(2) else: - cho "Anal plugs?" (face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give a set of anal plugs to Cho..."), gift_item) - cho "But these would stick out under my robes..." (face="annoyed") - cho "Maybe people would just think it's a tail or something..." (face="horny") - cho "Thank you, [cho_genie_name]." (face="neutral") + cho @ cheeks heavy_blush "Anal plugs?" ("soft", "narrow", "base", "down") + call give_gift("You give a set of anal plugs to Cho...", gift_item) + cho @ cheeks heavy_blush "I suppose I could use one and plug both holes when I'm riding [states.cho.ev.quidditch.broom_name]..." ("base", "narrow", "base", "down") + cho @ cheeks heavy_blush "Then all that is left is a ball gag..." ("smile", "base", "base", "mid") + cho @ cheeks heavy_blush "I'm joking, of course..." ("smile", "narrow", "base", "R") call cho_mood(-2) elif gift_item == testral_strapon_ITEM: - if cho_tier <= 1: - cho "Is that a strap-on?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") - cho "It's huge!" ("scream", "wide", "raised", "L") - cho "I mean, why are you showing me this?" ("annoyed", "narrow", "base", "mid") - cho "get it away from me." ("soft", "narrow", "base", "mid") + if states.cho.tier <= 1: + cho "Is that a strap-on?" ("angry", "wide", "base", "down") + cho "It's huge!" ("mad", "narrow", "raised", "down") + cho @ cheeks blush "I mean, why are you showing me this?" ("angry", "narrow", "raised", "R") + cho @ cheeks blush "Get it away from me." ("angry", "narrow", "base", "mid") call cho_mood(3) - elif cho_tier == 2: - cho "A strap-on?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") - cho "Seriously? Why are you giving me this..." ("angry", "wide", "base", "down") - cho "That's disgusting..." ("open", "narrow", "base", "mid") + elif states.cho.tier == 2: + cho "A strap-on?" ("open", "wide", "worried", "down") + cho "Why are you giving me this?" ("angry", "wide", "base", "mid") + cho "That's disgusting..." ("disgust", "narrow", "base", "mid") call cho_mood(2) - elif cho_tier == 3: - cho "A strap-on?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") - cho "But it's so big..." ("horny", "wide", "raised", "mid") - cho "I.. I don't want it..." ("open", "narrow", "base", "down") - cho "" ("base", "base", "base", "mid") + elif states.cho.tier == 3: + cho @ cheeks blush "A strap-on?" ("open", "wide", "base", "down") + cho @ cheeks blush "But it's so big..." ("horny", "wide", "raised", "mid") + cho @ cheeks heavy_blush "I... I don't want it..." ("open", "closed", "base", "down") call cho_mood(0) else: - cho "A strap-on?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") - call give_gift(_(">You give the thestral strap-on to Cho..."), gift_item) - cho "How would that even fit in anyone?" (mouth="quiver", eyes="wide", eyebrows="raised", pupils="down") + cho @ cheeks heavy_blush "A strap-on?" ("open", "narrow", "base", "down") + call give_gift("You give the thestral strap-on to Cho...", gift_item) + cho @ cheeks heavy_blush "I've always-- *Ahem*..." ("soft", "narrow", "base", "down") + cho @ cheeks heavy_blush "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") call cho_mood(-1) elif gift_item == broom_2000_ITEM: - $ cho_received_thestral = True + $ states.cho.ev.quidditch.given_thestral = True - if cho_tier <= 1: - cho "A broom... yes! Finally something better than my old--" (mouth="scream", eyes="wide", eyebrows="raised", pupils="down", xpos="mid", ypos="base") - cho "Hold on, is that a double ended dildo sticking out of it?!?" ("angry", "wide", "base", "mid") - cho "What's wrong with you?" ("scream", "wide", "base", "L") - cho "Get that away from my... from me!" ("angry", "narrow", "base", "mid") + if states.cho.tier <= 1: + cho "A broom! Finally, something better than my old--" ("smile", "base", "base", "down") + cho "Hold on, is that a double ended dildo sticking out of it?!?" ("angry", "wide", "base", "down") + cho "What's wrong with you?" ("scream", "happyCl", "base", "mid") + cho "Get that away from my--{w=0.4} From me!" ("angry", "narrow", "base", "mid") call cho_mood(4) - elif cho_tier == 2: - cho "Is that a broom with dildos on it?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") - cho "Professor, seriously... why... just why." ("angry", "narrow", "base", "mid") + elif states.cho.tier == 2: + cho "Is that a broom with dildos stuck to it?" ("disgust", "wide", "base", "down") + cho "Professor, seriously... Why... Just why." ("angry", "narrow", "base", "mid") call cho_mood(2) - elif cho_tier == 3: - cho "A broom?" ("open", "wide", "worried", "down",xpos="mid",ypos="base") - cho "A sex broom? Where did you even get this..." ("open", "wide", "raised", "mid") - cho "No..{w=0.3} I don't...{w=0.3} I don't want that." ("horny", "narrow", "base", "mid") + elif states.cho.tier == 3: + cho "A broom?" ("smile", "base", "base", "down") + cho @ cheeks blush "A sex broom! Where did you even get this..." ("open", "wide", "base", "down") + cho @ cheeks blush "No...{w=0.3} I don't--{w=0.3} I don't want that." ("horny", "narrow", "base", "mid") call cho_mood(0) else: - cho "Is that a Lady Speed Stick-2000, with a built-in vibrator and pulse function?" (mouth="scream", eyes="wide", eyebrows="raised", pupils="down", xpos="mid", ypos="base") - call give_gift(_(">You give the broom to Cho..."), gift_item) - cho "I mean..." (pupils="downR", face="horny") - cho "Thank you, [cho_genie_name]..." (mouth="soft", pupils="down", face="horny") - cho "I can't wait to try it out..." (pupils="mid", face="happy") + cho @ cheeks heavy_blush "Is that a Lady Speed Stick-2000, with a built-in vibrator and pulse function?" ("angry", "wide", "base", "down") + call give_gift("You give the broom to Cho...", gift_item) + cho @ cheeks heavy_blush "I mean..." ("angry", "wide", "base", "mid") + cho @ cheeks heavy_blush "Thank you, [name_genie_cho]..." ("angry", "base", "base", "stare") + cho @ cheeks heavy_blush "I can't wait to learn more about it..." ("angry", "closed", "base", "mid") call cho_mood(-6) elif gift_item == sexdoll_ITEM: - if cho_tier <= 1: - cho "A sex doll? What the heck... why do you have this?" (face="annoyed", xpos="mid", ypos="base") - cho "And more importantly..." ("smile", "closed", "base", "mid") - cho "{size=+4}Why are you giving it to me?{/size}" ("scream", "wide", "base", "L") - cho "You disgust me..." ("open", "narrow", "angry", "mid") + if states.cho.tier <= 1: + cho @ cheeks blush "A sex doll? What the heck... Why do you have this?" ("angry", "base", "base", "down") + cho @ cheeks blush "And more importantly..." ("angry", "closed", "base", "mid") + cho @ cheeks blush "{size=+4}Why are you giving it to me?{/size}" ("disgust", "wide", "angry", "mid") + cho @ cheeks blush "You disgust me..." ("upset", "closed", "angry", "mid") call cho_mood(4) - elif cho_tier == 2: - cho "A sex doll?" (face="annoyed", xpos="mid", ypos="base") - cho "Why would you give this to me? Wait, did you use this?" ("angry", "wide", "base", "L") - cho "Get it away from me..." ("open", "wide", "raised", "L") + elif states.cho.tier == 2: + cho @ cheeks blush "A sex doll?" ("disgust", "narrow", "base", "down") + cho @ cheeks blush "Why would you give this to me? Wait, did you use this?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "Get it away from me..." ("upset", "happyCl", "angry", "L") call cho_mood(3) - elif cho_tier == 3: - cho "A sex doll?" (face="annoyed", xpos="mid", ypos="base") - cho "Why would I need this, it's a girl doll..." ("annoyed", "wide", "base", "L") - cho "I mean, why would I need a sex doll in general. I'm not into this sort of thing..." ("open", "wide", "raised", "mid") + elif states.cho.tier == 3: + cho @ cheeks blush "A sex doll?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "Why would I need this... It's a girl doll." ("disgust", "narrow", "base", "mid") + cho @ cheeks blush "I mean, why would I need a sex doll in general... I'm not into this sort of thing!" ("angry", "closed", "base", "mid") call cho_mood(1) else: - cho "A sex doll?" (face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give the sex doll to Cho..."), gift_item) - cho "It says Joanne on it..." (face="disgusted") - cho "I leave it in the boys changing room, should be a good reward after a practice." (face="annoyed") + cho @ cheeks heavy_blush "A sex doll?" ("soft", "narrow", "raised", "down") + call give_gift("You give the sex doll to Cho...", gift_item) + cho @ cheeks heavy_blush "It says Joanne on it..." ("base", "narrow", "base", "down") + cho @ cheeks heavy_blush "I'll leave it in the boys' changing room... Should make a good reward after practice." ("base", "wink", "base", "mid") call cho_mood(-7) elif gift_item == anal_beads_ITEM: - if cho_tier <= 1: - cho "Anal beads?" (face="annoyed", xpos="mid", ypos="base") - cho "Yeah, that's not going anywhere near their intended target..." ("angry", "wide", "raised", "L") + if states.cho.tier <= 1: + cho "Anal beads?" ("angry", "wide", "base", "down") + cho @ cheeks blush "Yeah, that's not going anywhere near their intended target..." ("disgust", "base", "angry", "downR") call cho_mood(4) - elif cho_tier == 2: - cho "Anal beads?" (face="annoyed", xpos="mid", ypos="base") - cho "How... where did you..." ("angry", "wide", "raised", "L") - cho "*Gross!" ("open", "narrow", "raised", "mid") + elif states.cho.tier == 2: + cho @ cheeks blush "Anal beads?" ("soft", "narrow", "worried", "down") + cho @ cheeks blush "How... Where did you..." ("angry", "narrow", "raised", "down") + cho @ cheeks blush "Gross!" ("open", "happyCl", "angry", "mid") cho "" ("annoyed", "base", "base", "mid") call cho_mood(3) - elif cho_tier == 3: - cho "Anal beads?" (face="annoyed", xpos="mid", ypos="base") - cho "Sir, how would I be able to sit on a broom if I used these?" ("angry", "base", "base", "L") - cho "Not that I would ever use them!" ("angry", "wide", "raised", "L") - cho "Get those away from me!" ("open", "narrow", "raised", "mid") - cho "" ("annoyed", "base", "base", "mid") + elif states.cho.tier == 3: + cho @ cheeks blush "Anal beads?" ("angry", "narrow", "base", "down") + cho @ cheeks blush "Sir, how would ever be able to sit on a broom after using these?" ("disgust", "narrow", "angry", "mid") + cho @ cheeks blush "Not that I would ever use them!" ("angry", "narrow", "raised", "R") + cho @ cheeks blush "*Ahem*..." ("open", "narrow", "raised", "downR") call cho_mood(2) else: - cho "Anal beads?" (face="annoyed", xpos="mid", ypos="base") - call give_gift(_(">You give the anal beads to Cho..."), gift_item) - cho "Surely my butt would hurt after using these..." (face="annoyed") - cho "Although I do have a cushioning charm on my broom for a reason..." (face="horny") - cho "Thank you, [cho_genie_name]." (face="neutral") + cho @ cheeks heavy_blush "Anal beads?" ("soft", "narrow", "base", "down") + call give_gift("You give the anal beads to Cho...", gift_item) + cho @ cheeks heavy_blush "Surely my butt would hurt after using these..." ("upset", "base", "base", "down") + cho @ cheeks heavy_blush "Although I do have a cushioning charm on my broom for a reason..." ("horny", "narrow", "base", "down") + cho @ cheeks heavy_blush "Thank you, [name_genie_cho]." ("smile", "narrow", "base", "mid") call cho_mood(-2) elif gift_item == wine_ITEM: - if cho_tier <= 2: - cho "A wine bottle?" (face="annoyed", xpos="mid", ypos="base") - cho "[cho_genie_name], I cannot drink alcohol, it would ruin my career.." ("open", "narrow", "angry", "mid") + if states.cho.tier <= 2: + cho "A bottle of wine?" ("soft", "narrow", "raised", "down") + cho "[name_genie_cho], I cannot drink alcohol, it would ruin my career..." ("angry", "narrow", "base", "mid") call cho_mood(4) - else: - cho "A wine bottle?" (face="neutral", xpos="mid", ypos="base") - cho "Thank you, [cho_genie_name] but I can't take it." (face="neutral") - cho "{size=-4}Maybe to celebrate after I win the Quidditch Cup..{/size}" (face="horny") + elif states.cho.tier <= 3: + cho "A bottle of wine?" ("soft", "narrow", "raised", "down") + cho "Thank you, [name_genie_cho] but I can't take it." ("open", "closed", "base", "mid") + cho "{size=-4}Although I probably would, if I were to win the Quidditch Cup...{/size}" ("base", "narrow", "base", "R") call cho_mood(0) + else: + cho "A bottle of wine?" ("soft", "narrow", "raised", "down") + cho "Well, I suppose I've deserved to let loose a bit." ("smile", "base", "base", "mid") + call give_gift("You give the sweets to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") + call cho_mood(-1) elif gift_item == firewhisky_ITEM: - cho "Firewhisky?" (face="happy", xpos="mid", ypos="base", trans=d5) - cho "Why are you giving it to me?" ("annoyed", "wide", "base", "L") - call cho_mood(0) + if states.cho.tier <= 2: + cho "Firewhisky?" ("soft", "narrow", "raised", "down") + cho "Why would you give me that?" ("angry", "narrow", "base", "mid") + call cho_mood(4) + elif states.cho.tier <= 3: + cho "Firewhisky?" ("soft", "narrow", "base", "down") + cho "Thank you, [name_genie_cho] but I can't take it." ("open", "closed", "base", "mid") + cho "{size=-4}Although I probably would, if I were to win the Quidditch Cup...{/size}" ("base", "base", "base", "mid") + call cho_mood(0) + else: + cho "Firewhisky?" ("soft", "narrow", "raised", "down") + cho "Well, I suppose I've deserved to let loose a bit." ("smile", "base", "base", "mid") + call give_gift("You give the sweets to Cho...",gift_item) + cho "Thank you, [name_genie_cho]." ("base", "base", "base", "mid") + call cho_mood(-1) cho "" (xpos="base", ypos="base") hide cho_main @@ -548,8 +562,6 @@ label give_cho_gift(gift_item): return label cho_mood(value=0): - show screen blktone - with d3 if value > 0: if value == 1: @@ -564,10 +576,9 @@ label cho_mood(value=0): else: "Cho's mood hasn't changed." - $ was_negative = cho_mood > 0 - $ cho_mood = max(min(cho_mood+value, 100), 0) + $ was_negative = states.cho.mood > 0 + $ states.cho.mood = max(min(states.cho.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, cho_mood, value) + call describe_mood_after_gift(was_negative, states.cho.mood, value) - hide screen blktone return diff --git a/game/scripts/characters/cho/requests.rpy b/game/scripts/characters/cho/requests.rpy index 17ff3ede..122beb42 100644 --- a/game/scripts/characters/cho/requests.rpy +++ b/game/scripts/characters/cho/requests.rpy @@ -1,64 +1,61 @@ -# Public requests -# cc_pr = Cho Chang Public Request -default cc_pr_spy_boys = event_class(title = _("Spy on the boys!"), start_label = "cc_pr_spy_boys_start", start_tier = 3, - events = [ - [ - ["cc_pr_spy_boys_T3_twins"], - ["cc_pr_spy_boys_T3_ron"], - ["cc_pr_spy_boys_T3_harry"], - ] - ], - icons = ["gryf"], - iconset = [["star_empty", "star_yellow"]] -) +default cho_ev_spy_on_boys_t3_e1 = Event(id="cho_ev_spy_on_boys_t3_e1", label="cc_pr_spy_boys_T3_twins", req="game.daytime==False") +default cho_ev_spy_on_boys_t3_e2 = Event(id="cho_ev_spy_on_boys_t3_e2", label="cc_pr_spy_boys_T3_ron", req="game.daytime==False") +default cho_ev_spy_on_boys_t3_e3 = Event(id="cho_ev_spy_on_boys_t3_e3", label="cc_pr_spy_boys_T3_harry", req="game.daytime==False") -default cc_pr_manipulate_boys = event_class(title = _("Manipulate the boys!"), start_label = "cc_pr_manipulate_boys_start", - events = [ - [ - ["cc_pr_manipulate_boys_T1_intro_E1"], ["cc_pr_manipulate_boys_T1_E1"], - ["cc_pr_manipulate_boys_T1_E2"], - ["cc_pr_manipulate_boys_T1_E3"] - ], - [ - ["cc_pr_manipulate_boys_T2_intro_E1"], ["cc_pr_manipulate_boys_T2_E1"], - ["cc_pr_manipulate_boys_T2_intro_E2"], - ["cc_pr_manipulate_boys_T2_intro_E3"], ["cc_pr_manipulate_boys_T2_E3"] - ], - [ - ["cc_pr_manipulate_boys_T3_twins"], - ["cc_pr_manipulate_boys_T3_ron"], - ["cc_pr_manipulate_boys_T3_harry"] - ] - ], - icons = ["huff", "slyt", "gryf"], #if a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"]] # You have to add icons at least for first tier, the rest will be copied over automatically. -) +default cho_ev_spy_on_boys_t3_e1_hub = Event(id="cho_ev_spy_on_boys_t3_e1_hub", label="cc_pr_spy_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_boys_t3_e1"]) +default cho_ev_spy_on_boys_t3_e2_hub = Event(id="cho_ev_spy_on_boys_t3_e2_hub", label="cc_pr_spy_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_boys_t3_e2"]) +default cho_ev_spy_on_boys_t3_e3_hub = Event(id="cho_ev_spy_on_boys_t3_e3_hub", label="cc_pr_spy_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_boys_t3_e3"]) -default cc_pr_spy_girls = event_class(title = _("Spy on the girls!"), start_label = "cc_pr_spy_girls_start", start_tier = 3, - events = [ - [ - ["cc_pr_spy_girls_T3_showers"], - ["cc_pr_spy_girls_T3_alicia"], - ["cc_pr_spy_girls_T3_katie"], - ["cc_pr_spy_girls_T3_angelina"], - ] - ], - icons = ["gryf"], - iconset = [["star_empty", "star_yellow"]] -) +default cho_ev_spy_on_girls_t3_e1 = Event(id="cho_ev_spy_on_girls_t3_e1", label="cc_pr_spy_girls_T3_showers", req="game.daytime==False") +default cho_ev_spy_on_girls_t3_e2 = Event(id="cho_ev_spy_on_girls_t3_e2", label="cc_pr_spy_girls_T3_alicia", req="game.daytime==False") +default cho_ev_spy_on_girls_t3_e3 = Event(id="cho_ev_spy_on_girls_t3_e3", label="cc_pr_spy_girls_T3_katie", req="game.daytime==False") +default cho_ev_spy_on_girls_t3_e4 = Event(id="cho_ev_spy_on_girls_t3_e4", label="cc_pr_spy_girls_T3_angelina", req="game.daytime==False") -default cc_pr_manipulate_girls = event_class(title = _("Manipulate the girls!"), start_label = "cc_pr_manipulate_girls_start", start_tier = 3, - events = [ - [ - ["cc_pr_manipulate_girls_T3_alicia"], - ["cc_pr_manipulate_girls_T3_katie_part1"], - ["cc_pr_manipulate_girls_T3_katie_part2"], - ["cc_pr_manipulate_girls_T3_angelina"] - ] - ], - icons = ["gryf"], - iconset = [["star_empty", "star_yellow"]] -) +default cho_ev_spy_on_girls_t3_e1_hub = Event(id="cho_ev_spy_on_girls_t3_e1_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e1"]) +default cho_ev_spy_on_girls_t3_e2_hub = Event(id="cho_ev_spy_on_girls_t3_e2_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e2"]) +default cho_ev_spy_on_girls_t3_e3_hub = Event(id="cho_ev_spy_on_girls_t3_e3_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e3"]) +default cho_ev_spy_on_girls_t3_e4_hub = Event(id="cho_ev_spy_on_girls_t3_e4_hub", label="cc_pr_spy_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_spy_on_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_spy_on_girls_t3_e4"]) -default cc_requests_list = [cc_pr_spy_boys, cc_pr_manipulate_boys, cc_pr_spy_girls, cc_pr_manipulate_girls] +default cho_ev_manipulate_boys_t1_e1 = Event(id="cho_ev_manipulate_boys_t1_e1", label="cc_pr_manipulate_boys_T1_intro_E1", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t1_e2 = Event(id="cho_ev_manipulate_boys_t1_e2", label="cc_pr_manipulate_boys_T1_E1", req="game.daytime==False") +default cho_ev_manipulate_boys_t1_e3 = Event(id="cho_ev_manipulate_boys_t1_e3", label="cc_pr_manipulate_boys_T1_E2", req="game.daytime==False") +default cho_ev_manipulate_boys_t1_e4 = Event(id="cho_ev_manipulate_boys_t1_e4", label="cc_pr_manipulate_boys_T1_E3", req="game.daytime==False") +default cho_ev_manipulate_boys_t2_e1 = Event(id="cho_ev_manipulate_boys_t2_e1", label="cc_pr_manipulate_boys_T2_intro_E1", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t2_e2 = Event(id="cho_ev_manipulate_boys_t2_e2", label="cc_pr_manipulate_boys_T2_E1", req="game.daytime==False") +default cho_ev_manipulate_boys_t2_e3 = Event(id="cho_ev_manipulate_boys_t2_e3", label="cc_pr_manipulate_boys_T2_intro_E2", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t2_e4 = Event(id="cho_ev_manipulate_boys_t2_e4", label="cc_pr_manipulate_boys_T2_intro_E3", req="game.daytime==False", repeat=False) +default cho_ev_manipulate_boys_t2_e5 = Event(id="cho_ev_manipulate_boys_t2_e5", label="cc_pr_manipulate_boys_T2_E3", req="game.daytime==False") +default cho_ev_manipulate_boys_t3_e1 = Event(id="cho_ev_manipulate_boys_t3_e1", label="cc_pr_manipulate_boys_T3_twins", req="game.daytime==False") +default cho_ev_manipulate_boys_t3_e2 = Event(id="cho_ev_manipulate_boys_t3_e2", label="cc_pr_manipulate_boys_T3_ron", req="game.daytime==False") +default cho_ev_manipulate_boys_t3_e3 = Event(id="cho_ev_manipulate_boys_t3_e3", label="cc_pr_manipulate_boys_T3_harry", req="game.daytime==False") + +default cho_ev_manipulate_boys_t1_e1_hub = Event(id="cho_ev_manipulate_boys_t1_e1_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e1"]) +default cho_ev_manipulate_boys_t1_e2_hub = Event(id="cho_ev_manipulate_boys_t1_e2_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e2"]) +default cho_ev_manipulate_boys_t1_e3_hub = Event(id="cho_ev_manipulate_boys_t1_e3_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e3"]) +default cho_ev_manipulate_boys_t1_e4_hub = Event(id="cho_ev_manipulate_boys_t1_e4_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 1", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t1_e4"]) +default cho_ev_manipulate_boys_t2_e1_hub = Event(id="cho_ev_manipulate_boys_t2_e1_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e1"]) +default cho_ev_manipulate_boys_t2_e2_hub = Event(id="cho_ev_manipulate_boys_t2_e2_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e2"]) +default cho_ev_manipulate_boys_t2_e3_hub = Event(id="cho_ev_manipulate_boys_t2_e3_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e3"]) +default cho_ev_manipulate_boys_t2_e4_hub = Event(id="cho_ev_manipulate_boys_t2_e4_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e4"]) +default cho_ev_manipulate_boys_t2_e5_hub = Event(id="cho_ev_manipulate_boys_t2_e5_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 2", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t2_e5"]) +default cho_ev_manipulate_boys_t3_e1_hub = Event(id="cho_ev_manipulate_boys_t3_e1_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t3_e1"]) +default cho_ev_manipulate_boys_t3_e2_hub = Event(id="cho_ev_manipulate_boys_t3_e2_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t3_e2"]) +default cho_ev_manipulate_boys_t3_e3_hub = Event(id="cho_ev_manipulate_boys_t3_e3_hub", label="cc_pr_manipulate_boys_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_boys", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_boys_t3_e3"]) + +default cho_ev_manipulate_girls_t3_e1 = Event(id="cho_ev_manipulate_girls_t3_e1", label="cc_pr_manipulate_girls_T3_alicia", req="game.daytime==False") +default cho_ev_manipulate_girls_t3_e2 = Event(id="cho_ev_manipulate_girls_t3_e2", label="cc_pr_manipulate_girls_T3_katie_part1", req="game.daytime==False") +default cho_ev_manipulate_girls_t3_e3 = Event(id="cho_ev_manipulate_girls_t3_e3", label="cc_pr_manipulate_girls_T3_katie_part2", req="game.daytime==False") +default cho_ev_manipulate_girls_t3_e4 = Event(id="cho_ev_manipulate_girls_t3_e4", label="cc_pr_manipulate_girls_T3_angelina", req="game.daytime==False") + +default cho_ev_manipulate_girls_t3_e1_hub = Event(id="cho_ev_manipulate_girls_t3_e1_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e1"]) +default cho_ev_manipulate_girls_t3_e2_hub = Event(id="cho_ev_manipulate_girls_t3_e2_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e2"]) +default cho_ev_manipulate_girls_t3_e3_hub = Event(id="cho_ev_manipulate_girls_t3_e3_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e3"]) +default cho_ev_manipulate_girls_t3_e4_hub = Event(id="cho_ev_manipulate_girls_t3_e4_hub", label="cc_pr_manipulate_girls_start", req="states.cho.tier == 3", queue="cho_eventqueue_manipulate_girls", autoenqueue=True, autodequeue=False, subevents=["cho_ev_manipulate_girls_t3_e4"]) + +define cho_requests = [ + ("cho_eventqueue_spy_on_boys", "Spy on the boys!"), + ("cho_eventqueue_spy_on_girls", "Spy on the girls!"), + ("cho_eventqueue_manipulate_boys", "Manipulate the boys!"), + ("cho_eventqueue_manipulate_girls", "Manipulate the girls!"), +] diff --git a/game/scripts/characters/cho/summon.rpy b/game/scripts/characters/cho/summon.rpy index 7e2d4184..c07cf91e 100644 --- a/game/scripts/characters/cho/summon.rpy +++ b/game/scripts/characters/cho/summon.rpy @@ -1,29 +1,31 @@ label summon_cho: - #call play_music("cho") - #call play_sound("door") + #play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein 1 if_changed + #play sound "sounds/door.ogg" - $ active_girl = "cho" - $ last_character = "cho" + $ states.active_girl = "cho" - $ cho_busy = True - #call update_cho_tier + $ states.cho.busy = True + #call update_states.cho.tier call update_cho $ renpy.checkpoint(hard=True) - if has_cho_panties: - if cho_tier == 2: + if states.cho.ev.panty_thief.acquired: + if states.cho.tier == 2: jump cho_panties_response_T2 - elif cho_tier == 3: + elif states.cho.tier == 3: jump cho_panties_response_T3 # Slytherin Quidditch Intro. - if cho_tier == 2 and not cho_quid.E5_complete: + if states.cho.tier == 2 and not states.cho.ev.quidditch.e5_complete: jump cho_quid_E5 # Gryffindor Quidditch Intro. - elif cho_tier == 3 and not cho_quid.E10_complete: + elif states.cho.tier == 3 and not states.cho.ev.quidditch.e10_complete: jump cho_quid_E10 + # Quidditch Outro (Not yet finished, need a few more days) + elif states.cho.tier == 4 and not states.cho.ev.quidditch.e14_complete: + jump cho_quid_E14 # Clothes Events call cho_summon_setup @@ -37,41 +39,37 @@ label summon_cho: menu: # Main Matches - "-Start Hufflepuff Match-" (icon="interface/icons/small/huff.webp") if (cho_tier == 1 and hufflepuff_match == "ready"): - if cho_reputation == 0: + "-Start Hufflepuff Match-" (icon="interface/icons/small/huff.webp") if (states.cho.tier == 1 and states.cho.ev.quidditch.hufflepuff_stage == "ready"): + if states.cho.public_level == 0: gen "(If I want Cho to do anything in public with those {i}Muffletuffs{/i} I better do it before the match.)" ("base", xpos="far_left", ypos="head") gen "(Although maybe not...)" ("base", xpos="far_left", ypos="head") menu: "Are you ready to begin the match?" "-Yes-": pass - "-no-": + "-No-": jump cho_requests jump start_hufflepuff_match - "-Start Slytherin Match-" (icon="interface/icons/small/slyt.webp") if (cho_tier == 2 and slytherin_match == "ready" and cho_quid.E7_complete): - if cho_reputation <= 3: + "-Start Slytherin Match-" (icon="interface/icons/small/slyt.webp") if (states.cho.tier == 2 and states.cho.ev.quidditch.slytherin_stage == "ready" and states.cho.ev.quidditch.e7_complete): + if states.cho.public_level <= 3: gen "(If I want Cho to do anything in public with those {i}Slythershits{/i} I better do it before the match.)" ("base", xpos="far_left", ypos="head") gen "(Although maybe not...)" ("base", xpos="far_left", ypos="head") menu: "Are you ready to begin the match?" "-Yes-": pass - "-no-": + "-No-": jump cho_requests jump start_slytherin_match - "-Start Gryffindor Match-" (icon="interface/icons/small/gryf.webp") if (cho_tier == 3 and gryffindor_match == "ready" and cho_quid.E13_complete): - if cho_reputation <= 6: + "-Start Gryffindor Match-" (icon="interface/icons/small/gryf.webp") if (states.cho.tier == 3 and states.cho.ev.quidditch.gryffindor_stage == "ready" and states.cho.ev.quidditch.e13_complete): + if states.cho.public_level <= 6: gen "(If I want Cho to do anything in public with those {i}Gryphoncucks{/i} I better do it before the match.)" ("base", xpos="far_left", ypos="head") gen "(Although maybe not...)" ("base", xpos="far_left", ypos="head") - show screen blktone - with d3 - ">Starting the match will progress Cho's story to the next stage." - ">Make sure to save your game in case you want to return to this stage later." - hide screen blktone - with d3 + nar "Starting the match will progress Cho's story to the next stage." + nar "Make sure to save your game in case you want to return to this stage later." pause.5 menu: @@ -84,53 +82,53 @@ label summon_cho: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if cho_mood > 0: - cho "I have nothing to say to you, [cho_genie_name]..." (face="annoyed") + if states.cho.mood > 0: + cho "I have nothing to say to you, [name_genie_cho]..." ("annoyed", "base", "base", "mid") jump cho_requests call cho_chitchat jump cho_talk # Quidditch Training - "-Training-" (icon="interface/icons/small/quidditch.webp") if cho_tier < 4 and not cho_quid.lock_training: - if cho_mood > 0: + "-Training-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier < 4 and not states.cho.ev.quidditch.lock_training: + if states.cho.mood > 0: gen "Ready to get back to training?" ("base", xpos="far_left", ypos="head") - if cho_mood >= 5: - cho "No.{w=0.5} And I don't want to hear of it right now, Sir." (face="angry") + if states.cho.mood >= 5: + cho "No.{w=0.5} And I don't want to hear of it right now, Sir." ("open", "narrow", "angry", "mid") else: - cho "I'm sorry, [cho_genie_name]. But I don't feel like training today." ("soft", "base", "worried", "down") - call nar(">Cho is still upset with you.") + cho "I'm sorry, [name_genie_cho]. But I don't feel like training today." ("soft", "base", "worried", "down") + nar "Cho is still upset with you." jump cho_requests jump cho_training - "-Training-" (icon="interface/icons/small/quidditch.webp", style="disabled") if cho_tier < 4 and cho_quid.lock_training: + "-Training-" (icon="interface/icons/small/quidditch.webp", style="disabled") if states.cho.tier < 4 and states.cho.ev.quidditch.lock_training: gen "(She's as ready as one can be.)" ("base", xpos="far_left", ypos="head") jump cho_requests - "-Sexual favours-" (icon="interface/icons/small/condom.webp") if cho_favors_unlocked: - if cho_mood > 0: - cho "I'm sorry, [cho_genie_name]. But I don't feel like it today..." ("upset", "base", "worried", "mid") + "-Sexual favours-" (icon="interface/icons/small/condom.webp") if states.cho.favors_unlocked: + if states.cho.mood > 0: + cho "I'm sorry, [name_genie_cho]. But I don't feel like it today..." ("upset", "base", "worried", "mid") jump cho_requests else: jump cho_favor_menu - "-Sexual favours-" (icon="interface/icons/small/condom.webp", style="disabled") if not cho_favors_unlocked: - if cho_tier == 1: + "-Sexual favours-" (icon="interface/icons/small/condom.webp", style="disabled") if not states.cho.favors_unlocked: + if states.cho.tier == 1: gen "(I need to help her with her Quidditch training, before I can ask for something like this.)" ("base", xpos="far_left", ypos="head") - elif cho_tier == 4: + elif states.cho.tier == 4: gen "(I have a feeling this is as far as I can progress with her at the moment.)" ("base", xpos="far_left", ypos="head") else: gen "(I should ask her about the next Quidditch match first. See who we're up against...)" ("base", xpos="far_left", ypos="head") jump cho_requests - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if cho_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.cho.wardrobe_unlocked: hide cho_main with d1 call wardrobe jump cho_requests - "-Hidden-" (style="disabled") if not cho_wardrobe_unlocked: - call nar(">You haven't unlocked this feature yet.") + "-Wardrobe-" (style="disabled") if not states.cho.wardrobe_unlocked: + nar "You haven't unlocked this feature yet." jump cho_requests "-Give Item-" (icon="interface/icons/small/gift.webp"): @@ -142,104 +140,59 @@ label summon_cho: "-Dismiss Her-": stop music fadeout 3.0 - if cho_mood == 0: - cho "Goodbye, [cho_genie_name]." ("base") + if states.cho.mood == 0: + cho "Goodbye, [name_genie_cho]." ("base", "base", "base", "mid") else: - cho "Goodbye, [cho_genie_name]." ("annoyed") + cho "Goodbye, [name_genie_cho]." ("annoyed", "base", "base", "L") - call play_sound("door") + play sound "sounds/door.ogg" jump end_cho_event # Cho Favor Menu label cho_favor_menu: - call update_cho_favors - menu: "-Personal Favours-" (icon="interface/icons/small/heart_red.webp"): - label .personal: - python: - menu_choices = [] - for i in cc_favor_list: - if i in []: # Not in the game yet. - menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > cho_tier: - menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) + label .favors: - menu_choices.append(("-Never mind-", "nvm")) - result = renpy.display_menu(menu_choices) + call tutorial("hearts") - if result == "nvm": + $ result = show_events_menu(cho_favors) + + if result in ("disabled", "noncompliant"): + "You haven't unlocked this favour opportunity yet." + jump .favors + elif result == "exit": jump cho_favor_menu - elif result == "vague": - call favor_not_ready - jump .personal - elif result == "na": - call not_available - jump .personal else: - $ renpy.jump(result) + $ result.start() - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not cho_requests_unlocked: - if not cho_requests_unlocked: - call nar(">Progress further to unlock public requests.") + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not states.cho.requests_unlocked: + if not states.cho.requests_unlocked: + nar "Progress further to unlock public requests." elif not game.daytime: - call nar(">Public requests are available during the day only.") + nar "Public requests are available during the day only." jump cho_favor_menu - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and cho_requests_unlocked: - jump cho_requests_menu + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and states.cho.requests_unlocked: + label .requests: + + call tutorial("hearts") + + $ result = show_events_menu(cho_requests) + + if result in ("disabled", "noncompliant"): + "You haven't unlocked this request opportunity yet." + jump .requests + elif result == "exit": + jump cho_favor_menu + else: + $ result.start() "-Never mind-": jump cho_requests -label update_cho_favors: - python: - for i in cc_favor_list: - i.tier = cho_tier - return - -# Cho Requests Menu -label cho_requests_menu: - call update_cho_requests - python: - menu_choices = [] - for i in cc_requests_list: - if i in []: # Not in the game yet. - menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - menu_choices.append(gui.menu_item()) - elif i.start_tier > cho_tier: - menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) - menu_choices.append(("-Never mind-", "nvm")) - result = renpy.display_menu(menu_choices) - - if result == "nvm": - jump cho_favor_menu - elif result == "vague": - call favor_not_ready - jump cho_requests - elif result == "na": - call not_available - jump cho_requests - else: - $ renpy.jump(result) - -label update_cho_requests: - # Set event tier to current Cho tier if they are different - python: - for i in cc_requests_list: - i.tier = cho_tier - return - -label favor_not_ready: - call nar(_(">You can't do this favour just yet.")) - return - label not_available: - $ TBA_message(_("This feature is currently not available as of version %s." % config.version)) + $ TBA_message("This feature is currently not available as of version %s." % config.version) return diff --git a/game/scripts/characters/cho/talk.rpy b/game/scripts/characters/cho/talk.rpy index d094b93c..37cbe6c4 100644 --- a/game/scripts/characters/cho/talk.rpy +++ b/game/scripts/characters/cho/talk.rpy @@ -3,129 +3,129 @@ label cho_talk: menu: #"-Working-": - "-Discuss Quidditch Training-" (icon="interface/icons/small/quidditch.webp") if not cho_quid.lock_training: - if cho_tier == 1: + "-Discuss Quidditch Training-" (icon="interface/icons/small/quidditch.webp") if not states.cho.ev.quidditch.lock_training: + if states.cho.tier == 1: jump cc_ht_talk - elif cho_tier == 2: + elif states.cho.tier == 2: jump cc_st_talk - elif cho_tier == 3: + elif states.cho.tier == 3: jump cc_gt_talk jump cho_talk # Naming - "\"-Address me only as-\"" if cho_quid.E1_complete: + "\"-Address me only as-\"" if states.cho.ev.quidditch.e1_complete: menu: "\"-Sir-\"": - $ cho_genie_name = _("Sir") + $ name_genie_cho = "Sir" "\"-Dumbledore-\"": - $ cho_genie_name = _("Dumbledore") + $ name_genie_cho = "Dumbledore" "\"-Professor-\"": - $ cho_genie_name = _("Professor") + $ name_genie_cho = "Professor" "\"-Coach-\"": - $ cho_genie_name = _("Coach") + $ name_genie_cho = "Coach" "\"-Sergeant-\"": - $ cho_genie_name = _("Sergeant") + $ name_genie_cho = "Sergeant" "\"-Captain-\"": - $ cho_genie_name = _("Captain") + $ name_genie_cho = "Captain" "\"-Old Man-\"": - $ cho_genie_name = _("Old Man") - "\"-Daddy-\"" if cho_tier >= 4: - $ cho_genie_name = _("Daddy") + $ name_genie_cho = "Old Man" + "\"-Daddy-\"" if states.cho.tier >= 4: + $ name_genie_cho = "Daddy" "-Custom Input-": - $ cho_genie_name = renpy.input(_("(Please enter the name.)"), cho_genie_name, ALLOWED_CHARACTERS, length=14).strip() or _("Professor") + $ name_genie_cho = renpy.input("(Please enter the name.)", name_genie_cho, ALLOWED_CHARACTERS, length=14).strip() or "Professor" "\"-Never mind-\"": jump cho_talk jump genie_cho_change - "\"-From now on I will refer to you as-\"" if cho_quid.E1_complete: + "\"-From now on, I will refer to you as-\"" if states.cho.ev.quidditch.e1_complete: menu: "\"-Miss Chang-\"": - $ cho_name = _("Miss Chang") + $ name_cho_genie = "Miss Chang" "\"-Cho-\"": - $ cho_name = _("Cho") + $ name_cho_genie = "Cho" "\"-Cadet-\"": - $ cho_name = _("Cadet") + $ name_cho_genie = "Cadet" "\"-Pilot-\"": - $ cho_name = _("Pilot") + $ name_cho_genie = "Pilot" "\"-Maggot-\"": - $ cho_name = _("Maggot") + $ name_cho_genie = "Maggot" "\"-Tomboy-\"": - $ cho_name = _("Tomboy") + $ name_cho_genie = "Tomboy" "\"-Boy-\"": - $ cho_name = _("Boy") - "\"-Champ-\"" if cho_tier >= 4: - $ cho_name = _("Champ") - "\"-Slut-\"" if cho_tier >= 4: - $ cho_name = _("Slut") + $ name_cho_genie = "Boy" + "\"-Champ-\"" if states.cho.tier >= 4: + $ name_cho_genie = "Champ" + "\"-Slut-\"" if states.cho.tier >= 4: + $ name_cho_genie = "Slut" "-Custom Input-": - $ cho_name = renpy.input(_("(Please enter the name.)"), cho_name, ALLOWED_CHARACTERS, length=14).strip() or _("Miss Chang") + $ name_cho_genie = renpy.input("(Please enter the name.)", name_cho_genie, ALLOWED_CHARACTERS, length=14).strip() or "Miss Chang" "\"-Never mind-\"": jump cho_talk - jump cho_name + jump name_cho_genie "\"-Never mind-\"": jump cho_requests label genie_cho_change: - if cho_genie_name == "Sir": + if name_genie_cho == "Sir": cho "Certainly, sir." ("base", "base", "base", "mid") - elif cho_genie_name == "Dumbledore": + elif name_genie_cho == "Dumbledore": cho "Of course Dumbledore..." ("open", "base", "base", "mid") - elif cho_genie_name == "Professor": + elif name_genie_cho == "Professor": cho "Yes Professor..." ("open", "base", "base", "mid") - elif cho_genie_name == "Coach": + elif name_genie_cho == "Coach": cho "Yes Coach!" ("smile", "base", "base", "mid") - elif cho_genie_name == "Sergeant": + elif name_genie_cho == "Sergeant": gen "Is that clear?" ("base", xpos="far_left", ypos="head") cho "Yes Sergeant!" ("smile", "base", "base", "mid") - elif cho_genie_name == "Captain": + elif name_genie_cho == "Captain": cho "Yes Captain!" ("smile", "base", "base", "mid") - elif cho_genie_name == "Old Man": + elif name_genie_cho == "Old Man": cho "You want me to call you an old man?" ("soft", "base", "base", "mid") gen "Just \"Old man\" is good for now." ("base", xpos="far_left", ypos="head") cho "Okay then..." ("open", "base", "base", "R") - elif cho_genie_name == "Daddy": - cho "You want me to--" ("soft", "narrow", "base", "mid", cheeks="blush") + elif name_genie_cho == "Daddy": + cho @ cheeks blush "You want me to--" ("soft", "narrow", "base", "mid") gen "Call me daddy..." ("base", xpos="far_left", ypos="head") - cho "..." ("base", "narrow", "base", "downR", cheeks="blush") - cho "Yes daddy..." ("base", "narrow", "base", "down", cheeks="heavy_blush") + cho @ cheeks blush "..." ("base", "narrow", "base", "downR") + cho @ cheeks heavy_blush "Yes daddy..." ("base", "narrow", "base", "down") else: #custom/fallback - cho "Very well..." (face="neutral") + cho "Very well..." ("open", "narrow", "base", "mid") jump cho_talk -label cho_name: - if cho_name == "Miss Chang": - cho "Of course [cho_genie_name]." ("base", "base", "base", "mid") - elif cho_name == "Cho": - cho "Of course [cho_genie_name]." ("base", "base", "base", "mid") - elif cho_name == "Cadet": - cho "Yes [cho_genie_name]!" ("smile", "base", "base", "mid") - elif cho_name == "Pilot": - cho "Yes [cho_genie_name]!" ("base", "base", "base", "mid") - elif cho_name == "Maggot": +label name_cho_genie: + if name_cho_genie == "Miss Chang": + cho "Of course [name_genie_cho]." ("base", "base", "base", "mid") + elif name_cho_genie == "Cho": + cho "Of course [name_genie_cho]." ("base", "base", "base", "mid") + elif name_cho_genie == "Cadet": + cho "Yes [name_genie_cho]!" ("smile", "base", "base", "mid") + elif name_cho_genie == "Pilot": + cho "Yes [name_genie_cho]!" ("base", "base", "base", "mid") + elif name_cho_genie == "Maggot": cho "I--" ("angry", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - cho "Yes [cho_genie_name]!" ("angry", "happyCl", "base", "mid") - elif cho_name == "Tomboy": - if cho_tier <= 3: + cho "Yes [name_genie_cho]!" ("angry", "happyCl", "base", "mid") + elif name_cho_genie == "Tomboy": + if states.cho.tier <= 3: cho "Tomboy?" ("soft", "base", "base", "mid") gen "Is that not accurate?" ("base", xpos="far_left", ypos="head") cho "I--{w=0.4} I suppose..." ("angry", "narrow", "base", "down") gen "Great! Tomboy it is!" ("base", xpos="far_left", ypos="head") else: - cho "Am I not feminine enough for you?" ("annoyed", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Am I not feminine enough for you?" ("annoyed", "narrow", "base", "mid") gen "Nonsense! You are feminine in all the right places." ("grin", xpos="far_left", ypos="head") gen "Except your personality..." ("base", xpos="far_left", ypos="head") - cho "*Hmph*..." ("annoyed", "narrow", "base", "R", cheeks="blush") - cho "Fine... I guess that's fair..." ("open", "narrow", "base", "R", cheeks="blush") - elif cho_name == "Boy": - if cho_tier <= 3: + cho @ cheeks blush "*Hmph*..." ("annoyed", "narrow", "base", "R") + cho @ cheeks blush "Fine... I guess that's fair..." ("open", "narrow", "base", "R") + elif name_cho_genie == "Boy": + if states.cho.tier <= 3: cho "You want to call me what?!" ("angry", "base", "base", "mid") gen "Boy!" ("base", xpos="far_left", ypos="head") - cho "But [cho_genie_name]!" ("disgust", "narrow", "base", "mid") + cho "But [name_genie_cho]!" ("disgust", "narrow", "base", "mid") cho "I'm not a boy!" ("clench", "narrow", "base", "mid") gen "I know that..." ("base", xpos="far_left", ypos="head") cho "Then why--" ("angry", "base", "base", "mid") @@ -137,34 +137,34 @@ label cho_name: cho "..." ("smile", "base", "base", "mid") #smiles cho "..." ("disgust", "base", "base", "stare") #Hold on a minute... else: - cho "Boy?" ("soft", "narrow", "base", "mid", cheeks="blush") - cho "But [cho_genie_name]... Won't that be weird?" ("soft", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Boy?" ("soft", "narrow", "base", "mid") + cho @ cheeks blush "But [name_genie_cho]... Won't that be weird?" ("soft", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - cho "Alright then... If that's what you're into..." ("base", "base", "base", "R", cheeks="blush") - elif cho_name == "Champ": + cho @ cheeks blush "Alright then... If that's what you're into..." ("base", "base", "base", "R") + elif name_cho_genie == "Champ": cho "Champ?" ("open", "base", "raised", "mid") gen "Yep... Gotta give some credit where it's due." ("base", xpos="far_left", ypos="head") - cho "Oh... Thank you [cho_genie_name]..." ("smile", "base", "base", "mid") - elif cho_name == "Slut": - cho "You want to call me..." ("soft", "narrow", "base", "down", cheeks="heavy_blush") + cho "Oh... Thank you [name_genie_cho]..." ("smile", "base", "base", "mid") + elif name_cho_genie == "Slut": + cho @ cheeks heavy_blush "You want to call me..." ("soft", "narrow", "base", "down") gen "A slut!" ("base", xpos="far_left", ypos="head") - cho "..." ("horny", "narrow", "base", "stare", cheeks="heavy_blush") #horny - cho "*Ah*...{w=0.4} Yes, I suppose that's fine..." ("soft", "narrow", "base", "mid", cheeks="heavy_blush") - elif cho_name == "Princess": #Custom choice - if cho_tier <= 3: + cho @ cheeks heavy_blush "..." ("horny", "narrow", "base", "stare") #horny + cho @ cheeks heavy_blush "*Ah*...{w=0.4} Yes, I suppose that's fine..." ("soft", "narrow", "base", "mid") + elif name_cho_genie == "Princess": #Custom choice + if states.cho.tier <= 3: cho "Princess?!" ("angry", "base", "base", "mid") gen "Yes, is that a problem?" ("base", xpos="far_left", ypos="head") - cho "It's... It's a bit girly don't you think?" ("clench", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "It's... It's a bit girly, don't you think?" ("clench", "narrow", "base", "mid") gen "You're a girl, I see nothing wrong with it." ("base", xpos="far_left", ypos="head") - cho "..." ("disgust", "narrow", "base", "mid", cheeks="blush") - cho "Yes I suppose I am." ("disgust", "narrow", "base", "mid", cheeks="blush") - cho "Fine..." ("annoyed", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "..." ("disgust", "narrow", "base", "mid") + cho @ cheeks blush "Yes, I suppose I am." ("disgust", "narrow", "base", "mid") + cho @ cheeks blush "Fine..." ("annoyed", "base", "base", "mid") else: - cho "You want to call me..." ("angry", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "You want to call me..." ("angry", "narrow", "base", "mid") gen "Princess." ("base", xpos="far_left", ypos="head") - cho "..." ("angry", "narrow", "base", "downR", cheeks="blush") - cho "Okay... I suppose you could call me that..." ("angry", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "..." ("angry", "narrow", "base", "downR") + cho @ cheeks blush "Okay... I suppose you could call me that..." ("angry", "narrow", "base", "down") else: #custom/fallback - cho "Very well..." (face="neutral") + cho "Very well..." ("open", "narrow", "base", "mid") jump cho_talk diff --git a/game/scripts/characters/cho/vars.rpy b/game/scripts/characters/cho/vars.rpy index ffc7bfb3..eb319118 100644 --- a/game/scripts/characters/cho/vars.rpy +++ b/game/scripts/characters/cho/vars.rpy @@ -1,44 +1,114 @@ -# Main -default use_cho_head = False +# General states -# Stats -default cho_tier = 1 -default cho_whoring = 0 -default cho_reputation = 0 -default cho_mood = 0 -default cho_jerk_off_counter = 0 +default states.cho.tier = 1 +default states.cho.level = 0 +default states.cho.public_tier = 0 # TODO: Not in use. +default states.cho.public_level = 0 +default states.cho.mood = 0 +default states.cho.unlocked = False +default states.cho.busy = False +default states.cho.gifted = False +default states.cho.favors_unlocked = False +default states.cho.requests_unlocked = False +default states.cho.wardrobe_unlocked = False +default states.cho.wardrobe_scheduling = True +default states.cho.chatted = False +default states.cho.map_location = "training_grounds" -# Flags -default cho_known = False -default cho_unlocked = False -default cho_favors_unlocked = False -default cho_requests_unlocked = False -default cho_strip_complete = False -default cho_wardrobe_unlocked = False -default cho_busy = False -default cho_chatted = False -default has_cho_panties = False -default cho_panties_soaked = False -default cho_outfits_schedule = True -default cho_bj_choice = None # Dynamic string. Valid choices: failed, swallow, throat, points, taste. -default doppler_done = False # For Strip event with Tonks. -default succubus_done = False # For Strip event with Tonks. -default cho_received_thestral = False -default cho_hermione_affection = None # Dynamic string. Valid choices: cho, hermione, neither. +# Sexual activity states -# Intro -default jerked_off_during_cho_intro = False +default states.cho.status.show_bra = False +default states.cho.status.show_tits = False +default states.cho.status.show_panties = False +default states.cho.status.show_pussy = False +default states.cho.status.stripping = False +default states.cho.status.dick_seen = False +default states.cho.status.cumshot = False +default states.cho.status.handjob = False +default states.cho.status.blowjob = False +default states.cho.status.gokkun = False +default states.cho.status.deepthroat = False +# default states.cho.status.masturbating = False +default states.cho.status.sex = False +default states.cho.status.creampie = False +# default states.cho.status.anal = False -# Quidditch Matches -default hufflepuff_match = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. -default slytherin_match = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. -default gryffindor_match = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +# Event flags -default cho_broom_name = _("Purple Rocket") +default states.cho.ev.intro.masturbated = False +default states.cho.ev.intro.e1_complete = False +default states.cho.ev.intro.e2_complete = False +default states.cho.ev.intro.e3_complete = False +default states.cho.ev.intro.e4_complete = False +default states.cho.ev.panty_thief.acquired = False +default states.cho.ev.panty_thief.soaked = False +default states.cho.ev.suck_it.variant = None # Dynamic string. Valid choices: failed, swallow, throat, points, taste. +default states.cho.ev.inspect_her_body.tonks_doppler_encounter = False +default states.cho.ev.inspect_her_body.tonks_succubus_encounter = False +default states.cho.ev.inspect_her_body.T2_E3_failed = False +default states.cho.ev.inspect_her_body.T2_E3_complete = False +default states.cho.ev.inspect_her_body.T3_E3_complete = False +default states.cho.ev.quidditch.e1_complete = False +default states.cho.ev.quidditch.e2_complete = False +default states.cho.ev.quidditch.e3_complete = False +default states.cho.ev.quidditch.e4_complete = False +default states.cho.ev.quidditch.e5_complete = False +default states.cho.ev.quidditch.e6_complete = False +default states.cho.ev.quidditch.e7_complete = False +default states.cho.ev.quidditch.e8_complete = False +default states.cho.ev.quidditch.e9_complete = False +default states.cho.ev.quidditch.e10_complete = False +default states.cho.ev.quidditch.e11_complete = False +default states.cho.ev.quidditch.e12_complete = False +default states.cho.ev.quidditch.e13_complete = False +default states.cho.ev.quidditch.e14_complete = False +default states.cho.ev.quidditch.given_thestral = False +default states.cho.ev.quidditch.hermione_affection = None # Dynamic string. Valid choices: cho, hermione, neither. +default states.cho.ev.quidditch.hufflepuff_stage = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +default states.cho.ev.quidditch.hufflepuff_prepared = False # Ready for practice match? (Requirements: tactic) +default states.cho.ev.quidditch.hufflepuff_training = False # Finished Hufflepuff practice match? +default states.cho.ev.quidditch.slytherin_stage = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +default states.cho.ev.quidditch.slytherin_failed = False # Has failed first training match? +default states.cho.ev.quidditch.slytherin_prepared = False # Ready for practice match? (Requirements: tactic, blackmail Hermione, Tonks' help) +default states.cho.ev.quidditch.slytherin_training = False # Finished Slytherin practice match? +default states.cho.ev.quidditch.gryffindor_stage = "" # Dynamic string. Valid choices: 'start', 'ready', 'intro_done', 'completed', 'return'. +default states.cho.ev.quidditch.gryffindor_failed = False # Found a cheerleader? (Requirements: Ask Luna) +default states.cho.ev.quidditch.gryffindor_training = False # Finished Gryffindor practice match? +default states.cho.ev.quidditch.broom_name = "Purple Rocket" +default states.cho.ev.quidditch.position = "" # Valid choices: "front", "above", "close" +default states.cho.ev.quidditch.lock_training = False +default states.cho.ev.quidditch.lock_practice = True +default states.cho.ev.quidditch.lock_tactic = False +default states.cho.ev.quidditch.in_progress = False +default states.cho.ev.quiz.e1_complete = False +default states.cho.ev.quiz.e2_complete = False +default states.cho.ev.quiz.correct_answers = 0 +default states.cho.ev.quiz.checkpoint = False +default states.cho.ev.quiz.lost = False +default states.cho.ev.quiz.complete = False +default states.cho.ev.quiz.hint = "" # Set after reading Quidditch Book +default states.cho.ev.talk_to_me.t1_e3_complete = False +default states.cho.ev.talk_to_me.t2_e3_complete = False +default states.cho.ev.talk_to_me.t3_e3_complete = False +default states.cho.ev.suck_it.T3_E3_complete = False +default states.cho.ev.spy_on_boys.t3_e1_complete = False +default states.cho.ev.spy_on_boys.t3_e2_complete = False +default states.cho.ev.spy_on_boys.t3_e3_complete = False +default states.cho.ev.spy_on_girls.t3_e1_complete = False +default states.cho.ev.spy_on_girls.t3_e2_complete = False +default states.cho.ev.spy_on_girls.t3_e3_complete = False +default states.cho.ev.spy_on_girls.t3_e4_complete = False +default states.cho.ev.manipulate_boys.t2_e4_complete = False +default states.cho.ev.manipulate_boys.t3_e1_complete = False +default states.cho.ev.manipulate_boys.t3_e2_complete = False +default states.cho.ev.manipulate_boys.t3_e3_complete = False +default states.cho.ev.manipulate_girls.t3_e1_complete = False +default states.cho.ev.manipulate_girls.t3_e2_complete = False +default states.cho.ev.manipulate_girls.t3_e3_complete = False +default states.cho.ev.manipulate_girls.t3_e4_complete = False # Names -default cho_genie_name = _("Professor") -default cho_name = _("Cho") -default tonks_cho_name = _("Sweetie") -default gave_cho_gift = False +default name_genie_cho = "Professor" +default name_cho_genie = "Cho" +default name_cho_tonks = "Sweetie" diff --git a/game/scripts/characters/cho/wardrobe.rpy b/game/scripts/characters/cho/wardrobe.rpy index a037b31d..1a340079 100644 --- a/game/scripts/characters/cho/wardrobe.rpy +++ b/game/scripts/characters/cho/wardrobe.rpy @@ -2,287 +2,358 @@ ## Character ## ############### -default cho = Doll(name="cho", - clothes={"headgear": [None, 15, True], - "hair": [None, 4, True], - "glasses": [None, 12, True], - "earrings": [None, 14, True], - "neckwear": [None, 11, True], - "robe": [None, 28, True], - "gloves": [None, 21, True], - "top": [None, 15, True], - "bra": [None, 9, True], - "bottom": [None, 8, True], - "garterbelt": [None, 7, True], - "panties": [None, 6, True], - "stockings": [None, 5, True], - "buttplug": [None, -1, True], - "pubes": [None, 3, True], - "tattoo0": [None, 1, True], - "tattoo1": [None, 1, True], - "tattoo2": [None, 1, True], - "tattoo3": [None, 1, True], - "tattoo4": [None, 1, True], - "piercing0": [None, 2, True], - "piercing1": [None, 2, True], - "piercing2": [None, 2, True], - "piercing3": [None, 2, True], - "piercing4": [None, 2, True], - "accessory0": [None, 12, True], - "accessory1": [None, 12, True], - "accessory2": [None, 12, True], - "accessory3": [None, 12, True], - "accessory4": [None, 12, True], - "makeup0": [None, 3, True], - "makeup1": [None, 3, True], - "makeup2": [None, 3, True], - "makeup3": [None, 3, True], - "makeup4": [None, 3, True]}, - face={"tears": [None, 12, True], - "cheeks": [None, 7, True], - "eyebrows": ["base", 11, True], - "eyes": ["base", 8, True], - "pupils": ["mid", 9, True], - "mouth": ["base", 13, True]}, - body={"armleft": ["down", 3], - "armright":["down", 1], - "base": ["front", 0], - "breasts": ["normal", 2]}) +default cho = Doll(name="cho") -################ -## Schoolgirl ## -################ +default cho_frame_default = DollBodypart("cho", ("hidden", "frame"), "frame", "default") +default cho_body_default = DollOutfit([cho_frame_default], hidden=True) -default cho_hair_ponytail1 = DollCloth("cho", ("head", "hair"), "hair", "ponytail", [[52, 59, 80, 255], [70, 90, 147, 255]], unlocked=True) -default cho_top_school1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", [[183, 183, 184, 255], [109, 105, 121, 255], [216, 163, 10, 255], [89, 116, 194, 255]], unlocked=True) -default cho_top_school2 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_2", [[183, 183, 184, 255], [109, 105, 121, 255], [216, 163, 10, 255], [89, 116, 194, 255]], level=4, unlocked=True) -default cho_top_school3 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_3", [[183, 183, 184, 255], [216, 163, 10, 255], [89, 116, 194, 255]], level=8, unlocked=True) -default cho_top_school4 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_4", [[183, 183, 184, 255], [216, 163, 10, 255], [89, 116, 194, 255]], level=8, unlocked=True) -default cho_top_school5 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_5", [[183, 183, 184, 255], [216, 163, 10, 255], [89, 116, 194, 255]], level=12, unlocked=True) -default cho_top_school6 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_6", [[109, 105, 121, 255], [216, 163, 10, 255], [89, 116, 194, 255]], level=12, unlocked=True) -default cho_bottom_school1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_1", [[103, 90, 108, 255], [232, 177, 13, 255]], armfix=True, unlocked=True) -default cho_bottom_school2 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_2", [[103, 90, 108, 255], [232, 177, 13, 255]], level=4, armfix=True, unlocked=True) -default cho_bottom_school3 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_3", [[103, 90, 108, 255], [232, 177, 13, 255]], level=8, armfix=True, unlocked=True) -default cho_bottom_school4 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_4", [[103, 90, 108, 255], [232, 177, 13, 255]], level=12, armfix=True, unlocked=True) -default cho_bra_basic1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "basic_bra_1", [[230, 230, 231, 255], [89, 116, 194, 255]], unlocked=True) -default cho_panties_basic1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "basic_panties_1", [[230, 230, 231, 255], [89, 116, 194, 255]], unlocked=True) -default cho_stockings_house = DollCloth("cho", ("legwear", "socks"), "stockings", "house", [[216, 163, 10, 255], [89, 116, 194, 255]], unlocked=True) -default cho_robe_school_1 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_school_1", color=[[96, 96, 96, 255], [206, 206, 209, 255], [89, 116, 194, 255]], level=0, unlocked=True) -default cho_robe_school_2 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_school_2", color=[[96, 96, 96, 255], [206, 206, 209, 255], [89, 116, 194, 255]], level=4, unlocked=True) -default cho_robe_school_3 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_school_3", color=[[96, 96, 96, 255], [206, 206, 209, 255], [89, 116, 194, 255]], level=8, unlocked=True) -#default cho_neckwear_tie1 = DollCloth("cho", ("head", "neckwear"), "neckwear", "tie_1", [[216, 163, 10, 255], [89, 116, 194, 255]]) +########## +## Hair ## +########## -default cho_outfit_last = DollOutfit([cho_hair_ponytail1], hidden=True) -default cho_outfit_default = DollOutfit([cho_hair_ponytail1, cho_top_school1, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_house], unlocked=True) +default cho_hair_base = DollCloth("cho", ("head", "hair"), "hair", "ponytail", ["#343b50ff", "#465a93ff"], unlocked=True) + +####################### +## Schoolgirl Outfit ## +####################### + +default cho_top_school1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", ["#b7b7b8ff", "#6d6979ff", "#d8a30aff", "#5974c2ff"], unlocked=True) +default cho_top_school2 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_2", ["#b7b7b8ff", "#6d6979ff", "#d8a30aff", "#5974c2ff"], unlocked=True) +default cho_top_school3 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_3", ["#b7b7b8ff", "#d8a30aff", "#5974c2ff"], unlocked=True) +default cho_top_school4 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_4", ["#b7b7b8ff", "#d8a30aff", "#5974c2ff"], level=8, unlocked=True) +default cho_top_school5 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_5", ["#b7b7b8ff", "#d8a30aff", "#5974c2ff"], level=12, unlocked=True) +default cho_top_school6 = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_6", ["#6d6979ff", "#d8a30aff", "#5974c2ff"], level=12, unlocked=True) + +default cho_bottom_school1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_1", ["#675a6cff", "#e8b10dff"], unlocked=True) +default cho_bottom_school2 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_2", ["#675a6cff", "#e8b10dff"], level=4, unlocked=True) +default cho_bottom_school3 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_3", ["#675a6cff", "#e8b10dff"], level=8, unlocked=True) +default cho_bottom_school4 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_4", ["#675a6cff", "#e8b10dff"], level=12, unlocked=True) + +default cho_bra_basic1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "basic_bra_1", ["#e6e6e7ff", "#5974c2ff"], unlocked=True) +default cho_panties_basic1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "basic_panties_1", ["#e6e6e7ff", "#5974c2ff"], unlocked=True) + +default cho_stockings_house = DollCloth("cho", ("legwear", "socks"), "stockings", "house", ["#d8a30aff", "#5974c2ff"], unlocked=True) + +default cho_robe_school_1 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_school_1", color=["#606060ff", "#ceced1ff", "#5974c2ff"], level=0, unlocked=True) +default cho_robe_school_2 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_school_2", color=["#606060ff", "#ceced1ff", "#5974c2ff"], level=4, unlocked=True) +default cho_robe_school_3 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_school_3", color=["#606060ff", "#ceced1ff", "#5974c2ff"], level=8, unlocked=True) + +default cho_outfit_last = DollOutfit([cho_hair_base], hidden=True) +default cho_outfit_default = DollOutfit([cho_hair_base, cho_top_school1, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_house], unlocked=True) ######################## ## Cheerleader Outfit ## ######################## -#default cho_hair_pigtails = DollCloth("cho", ("head", "hair"), "hair", "pigtails", [[52, 59, 80, 255], [70, 90, 147, 255], [242, 162, 73, 255]], level=8) -default cho_earring_snitch = DollCloth("cho", ("head", "earrings"), "earrings", "snitch", [[220, 220, 221, 255], [213, 161, 13, 255]]) -default cho_stockings_quid1 = DollCloth("cho", ("legwear", "socks"), "stockings", "quid1", [[64, 84, 141, 255], [213, 161, 13, 255]], level=10) -default cho_panties_sport2 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sport_panties_2", [[156, 204, 249, 255]], level=4) -default cho_bra_sports1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "sport_bra_1", [[156, 204, 249, 255]], unlocked=True) -default cho_top_quid1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_quid_1", [[64, 84, 141, 255], [213, 161, 13, 255]], level=10) -default cho_bottom_quid1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "quid_skirt_1", [[64, 84, 141, 255], [213, 161, 13, 255]], level=10, armfix=True) -default cho_makeup0_blush = DollCloth("cho", ("makeup", "blush"), "makeup0", "blush", [[238, 113, 196, 255]], level=2) +default cho_earring_snitch = DollCloth("cho", ("head", "earrings"), "earrings", "snitch", ["#dcdcddff", "#d5a10dff"]) +default cho_top_quid1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_quid_1", ["#40548dff", "#d5a10dff"], level=10) +default cho_bottom_quid1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "quid_skirt_1", ["#40548dff", "#d5a10dff"], level=10) +default cho_stockings_quid1 = DollCloth("cho", ("legwear", "socks"), "stockings", "quid1", ["#40548dff", "#d5a10dff"], level=10) +default cho_panties_sport2 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sport_panties_2", ["#9cccf9ff"], level=4) +default cho_bra_sports1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "sport_bra_1", ["#9cccf9ff"], unlocked=True) +default cho_makeup_blush = DollCloth("cho", ("makeup", "blush"), "makeup", "blush", ["#ee71c4ff"], level=2) -default cho_outfit_cheerleader = DollOutfit([cho_hair_ponytail1, cho_earring_snitch, cho_stockings_quid1, cho_panties_sport2, cho_bra_sports1, cho_bottom_quid1, cho_top_quid1, cho_makeup0_blush], price=500, name="Ravenclaw Cheerleader Uniform", desc="Ravenclaw! Ravenclaw!") +default cho_outfit_cheerleader = DollOutfit([cho_hair_base, cho_earring_snitch, cho_stockings_quid1, cho_panties_sport2, cho_bra_sports1, cho_bottom_quid1, cho_top_quid1, cho_makeup_blush], price=500, name="Ravenclaw Cheerleader Uniform", desc="Ravenclaw! Ravenclaw!") ################## ## Misty Outfit ## ################## -default cho_top_shirt1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_shirt_1", [[255, 229, 126, 255]], level=14) -default cho_bottom_shorts3 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_3", [[47, 150, 136, 255], [175, 220, 191, 255], [247, 152, 38, 255]], level=10, armfix=True) -default cho_accessory3_suspenders = DollCloth("cho", ("misc", "accessory"), "accessory3", "suspenders", [[137, 22, 17, 255], [229, 140, 33, 255]], zorder=16) +default cho_top_shirt1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_shirt_1", ["#ffe57eff"], level=14) +default cho_bottom_shorts3 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_3", ["#2f9688ff", "#afdcbfff", "#f79826ff"], level=10) +default cho_accessory_suspenders = DollCloth("cho", ("misc", "accessory"), "accessory", "suspenders", ["#891611ff", "#e58c21ff"], zorder=213) -default cho_outfit_misty = DollOutfit([cho_hair_ponytail1, cho_accessory3_suspenders, cho_top_shirt1, cho_bottom_shorts3, cho_panties_sport2], price=500, name="Misty Costume", desc="For trainers that want to be the very best! To train them is your cause!") +default cho_outfit_misty = DollOutfit([cho_hair_base, cho_accessory_suspenders, cho_top_shirt1, cho_bottom_shorts3, cho_panties_sport2], price=500, name="Misty Costume", desc="For trainers that want to be the very best! To train them is your cause!") -################## -## Party Outfit ## -################## +##################### +## Clubslut Outfit ## +##################### -default cho_bottom_skirt2 = DollCloth("cho", ("lower body", "skirts"), "bottom", "skirt_short_2", [[93, 119, 173, 255]], level=16, armfix=True) -default cho_bra_bikini1 = DollCloth("cho", ("upper undergarment", "bikini bras"), "bra", "bikini_top_1", [[3, 237, 234, 255]], level=10) +default cho_bottom_skirt2 = DollCloth("cho", ("lower body", "skirts"), "bottom", "skirt_short_2", ["#5d77adff"], level=16) +default cho_bra_bikini1 = DollCloth("cho", ("upper undergarment", "bikini bras"), "bra", "bikini_top_1", ["#03edeaff"], level=10) -default cho_outfit_party = DollOutfit([cho_hair_ponytail1, cho_bottom_skirt2, cho_bra_bikini1], price=500, name="Clubslut Outfit", desc="Release your inner slut with this unique club outfit!") +default cho_outfit_party = DollOutfit([cho_hair_base, cho_bottom_skirt2, cho_bra_bikini1], price=500, name="Clubslut Outfit", desc="Release your inner slut with this unique club outfit!") ################### ## Sailor Outfit ## ################### -default cho_bottom_skirt1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "skirt_short_1", [[89, 116, 194, 255]], level=18, armfix=True) -default cho_top_sailor1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_sailor_1", [[252, 252, 253, 255], [89, 116, 194, 255]], level=14) -default cho_stockings_sailor1 = DollCloth("cho", ("legwear", "stockings"), "stockings", "sailor", [[232, 232, 233, 255]], armfix=True) -default cho_panties_bikini2 = DollCloth("cho", ("lower undergarment", "bikini panties"), "panties", "bikini_bottom_2", [[213, 161, 13, 255]], level=18, armfix=True) +default cho_bottom_skirt1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "skirt_short_1", ["#5974c2ff"], level=18) +default cho_top_sailor1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_sailor_1", ["#fcfcfdff", "#5974c2ff"], level=14) +default cho_stockings_sailor1 = DollCloth("cho", ("legwear", "stockings"), "stockings", "sailor", ["#e8e8e9ff"]) +default cho_panties_bikini2 = DollCloth("cho", ("lower undergarment", "bikini panties"), "panties", "bikini_bottom_2", ["#d5a10dff"], level=18) -default cho_outfit_sailor = DollOutfit([cho_hair_ponytail1, cho_top_sailor1, cho_bottom_skirt1, cho_stockings_sailor1, cho_panties_bikini2], price=500, name="Sailor Outfit", desc="A slutty sailor outfit, perfect for the average cannon swabber.") +default cho_outfit_sailor = DollOutfit([cho_hair_base, cho_top_sailor1, cho_bottom_skirt1, cho_stockings_sailor1, cho_panties_bikini2], price=500, name="Sailor Outfit", desc="A slutty sailor outfit, perfect for the average cannon swabber.") ############################ ## Japanese School Outfit ## ############################ -default cho_top_j_school1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_j_school_1", [[255, 248, 223, 255], [95, 110, 142, 255], [161, 161, 164, 255], [253, 254, 250, 255]], level=4, armfix=True) -default cho_bottom_j_skirt1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "j_school_skirt_1", [[161, 161, 164, 255]], level=4, armfix=True) -default cho_stockings_j_kneehigh1 = DollCloth("cho", ("legwear", "socks"), "stockings", "kneehigh", [[253, 254, 250, 255]], level=0) +default cho_top_j_school1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_j_school_1", ["#fff8dfff", "#5f6e8eff", "#a1a1a4ff", "#fdfefaff"], level=4) +default cho_bottom_j_skirt1 = DollCloth("cho", ("lower body", "skirts"), "bottom", "j_school_skirt_1", ["#a1a1a4ff"], level=4) +default cho_stockings_j_kneehigh1 = DollCloth("cho", ("legwear", "socks"), "stockings", "kneehigh", ["#fdfefaff"], level=0) -default cho_outfit_j_school = DollOutfit([cho_hair_ponytail1, cho_top_j_school1, cho_bottom_j_skirt1, cho_stockings_j_kneehigh1, cho_panties_basic1, cho_bra_basic1], price=300, name="Japanese School Uniform", desc="A school girl uniform inspired by the land of culture.") +default cho_outfit_j_school = DollOutfit([cho_hair_base, cho_top_j_school1, cho_bottom_j_skirt1, cho_stockings_j_kneehigh1, cho_panties_basic1, cho_bra_basic1], price=300, name="Japanese School Uniform", desc="A school girl uniform inspired by the land of culture.") ################### ## Bikini Outfit ## ################### -default cho_bra_bikini2 = DollCloth("cho", ("upper undergarment", "bikini bras"), "bra", "bikini_top_2", [[89, 116, 194, 255]], level=14) #Red: [138, 22, 17, 255] -default cho_panties_bikini1 = DollCloth("cho", ("lower undergarment", "bikini panties"), "panties", "bikini_bottom_1", [[213, 161, 13, 255]], level=14, armfix=True) +default cho_bra_bikini2 = DollCloth("cho", ("upper undergarment", "bikini bras"), "bra", "bikini_top_2", ["#5974c2ff"], level=14) +default cho_panties_bikini1 = DollCloth("cho", ("lower undergarment", "bikini panties"), "panties", "bikini_bottom_1", ["#d5a10dff"], level=14) -default cho_outfit_bikini = DollOutfit([cho_hair_ponytail1, cho_bra_bikini2, cho_panties_bikini1], price=500, name="Micro Bikini Set", desc="The regular size bikinis are out of stock...") +default cho_outfit_bikini = DollOutfit([cho_hair_base, cho_bra_bikini2, cho_panties_bikini1], price=500, name="Micro Bikini Set", desc="It's like a regular sized bikini that's shrunk in the wash.") ########################## ## Lace Lingerie Outfit ## ########################## -default cho_neckwear_lace1 = DollCloth("cho", ("head", "neckwear"), "neckwear", "choker_lace_1", [[100, 100, 255, 255], [220, 220, 221, 255]]) -default cho_garterbelt_lace1 = DollCloth("cho", ("legwear", "garterbelts"), "garterbelt", "lace_garter_1", [[220, 220, 221, 255], [100, 100, 255, 255], [220, 220, 221, 255], [89, 116, 194, 255]], level=12) -default cho_stockings_lace1 = DollCloth("cho", ("legwear", "stockings"), "stockings", "lace_stockings_1", [[100, 100, 255, 255], [220, 220, 221, 255]], armfix=True, level=12) -default cho_bra_lace1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "lace_bra_1", [[100, 100, 255, 255], [220, 220, 221, 255], [89, 116, 194, 255]], level=14) -default cho_panties_lace1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "lace_panties_1", [[100, 100, 255, 255], [220, 220, 221, 255], [89, 116, 194, 255]], level=12) -default cho_earring_feather = DollCloth("cho", ("head", "earrings"), "earrings", "feather", [[232, 232, 232, 255], [70, 90, 147, 255], [136, 91, 34, 255]]) +default cho_neckwear_lace1 = DollCloth("cho", ("head", "neckwear"), "neckwear", "choker_lace_1", ["#6464ffff", "#dcdcddff"]) +default cho_garterbelt_lace1 = DollCloth("cho", ("legwear", "garterbelts"), "garterbelt", "lace_garter_1", ["#dcdcddff", "#6464ffff", "#dcdcddff", "#5974c2ff"], level=12) +default cho_stockings_lace1 = DollCloth("cho", ("legwear", "stockings"), "stockings", "lace_stockings_1", ["#6464ffff", "#dcdcddff"], level=12) +default cho_bra_lace1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "lace_bra_1", ["#6464ffff", "#dcdcddff", "#5974c2ff"], level=14) +default cho_panties_lace1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "lace_panties_1", ["#6464ffff", "#dcdcddff", "#5974c2ff"], level=14) +default cho_earring_feather = DollCloth("cho", ("head", "earrings"), "earrings", "feather", ["#e8e8e8ff", "#465a93ff", "#885b22ff"]) -default cho_outfit_lacelingerie = DollOutfit([cho_hair_ponytail1, cho_neckwear_lace1, cho_garterbelt_lace1, cho_panties_lace1, cho_bra_lace1, cho_stockings_lace1, cho_earring_feather], price=500, name="Lace Lingerie Set", desc="This lingerie set turns even the toughest tomboy into a cute and sexy princess!") +default cho_outfit_lacelingerie = DollOutfit([cho_hair_base, cho_neckwear_lace1, cho_garterbelt_lace1, cho_panties_lace1, cho_bra_lace1, cho_stockings_lace1, cho_earring_feather], price=500, name="Lace Lingerie Set", desc="This lingerie set turns even the toughest tomboy into a cute and sexy princess!") ################## ## Dress Outfit ## ################## -default cho_top_dress1 = DollCloth("cho", ("upper body", "dresses"), "top", "dress_1", [[231, 29, 41, 255], [242, 162, 73, 255]], armfix=True, level=12, blacklist=["bottom"]) +default cho_top_dress1 = DollCloth("cho", ("upper body", "dresses"), "top", "dress_1", ["#e71d29ff", "#f2a249ff"], level=12, blacklist=["bottom"]) -default cho_outfit_dress1 = DollOutfit([cho_hair_ponytail1, cho_top_dress1, cho_panties_basic1, cho_bra_basic1], price=500, name="Traditional Chinese Dress", desc="A traditional dress inspired by Chinese culture.") +default cho_outfit_dress1 = DollOutfit([cho_hair_base, cho_top_dress1, cho_panties_basic1, cho_bra_basic1], price=500, name="Traditional Chinese Dress", desc="A traditional dress inspired by Chinese culture.") #################### ## Trainee Outfit ## #################### -default cho_top_tank2 = DollCloth("cho", ("upper body", "shirts"), "top", "top_tanktop_2", [[252, 192, 213, 255], [253, 221, 232, 255]], level=10) -default cho_bottom_shorts1 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_1", [[230, 230, 231, 255]], level=8, armfix=True) -default cho_stockings_pantyhose = DollCloth("cho", ("legwear", "pantyhose"), "stockings", "pantyhose", [[190, 146, 129, 255]], armfix=True) -default cho_earring_basic = DollCloth("cho", ("head", "earrings"), "earrings", "basic", [[220, 220, 221, 255]]) +default cho_top_tank2 = DollCloth("cho", ("upper body", "shirts"), "top", "top_tanktop_2", ["#fcc0d5ff", "#fddde8ff"], level=10) +default cho_bottom_shorts1 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_1", ["#e6e6e7ff"], level=8) +default cho_stockings_pantyhose = DollCloth("cho", ("legwear", "pantyhose"), "stockings", "pantyhose", ["#be9281ff"]) +default cho_earring_basic = DollCloth("cho", ("head", "earrings"), "earrings", "basic", ["#dcdcddff"]) -default cho_outfit_trainee = DollOutfit([cho_hair_ponytail1, cho_bra_basic1, cho_panties_basic1, cho_bottom_shorts1, cho_top_tank2, cho_stockings_pantyhose, cho_earring_basic], price=500, name="Sporty Outfit", desc="Great for reducing fat.") +default cho_outfit_trainee = DollOutfit([cho_hair_base, cho_bra_basic1, cho_panties_basic1, cho_bottom_shorts1, cho_top_tank2, cho_stockings_pantyhose, cho_earring_basic], price=500, name="Sporty Outfit", desc="Great for reducing fat.") ###################### -## Space Jam Outfit ## +## Toonsquad Outfit ## ###################### -default cho_headgear_toon_band = DollCloth("cho", ("head", "headgear"), "headgear", "toon_band", [[43, 81, 151, 255]], level=4) -default cho_top_toon_shirt = DollCloth("cho", ("upper body", "shirts"), "top", "toon_shirt", [[255, 255, 255, 255]], level=4) -default cho_bottom_toon_shorts = DollCloth("cho", ("lower body", "shorts"), "bottom", "toon_shorts", [[43, 81, 151, 255], [255, 255, 255, 255]], level=4, armfix=True) -default cho_stockings_toon_socks = DollCloth("cho", ("legwear", "socks"), "stockings", "toon_socks", [[43, 81, 151, 255], [255, 255, 255, 255]], level=4) +default cho_headgear_toon_band = DollClothDynamic("cho", ("head", "headgear"), "headgear", "toon_band", ["#2b5197ff"], level=4, tracking="?hair") +default cho_top_toon_shirt = DollCloth("cho", ("upper body", "shirts"), "top", "toon_shirt", ["#ffffffff"], level=4) +default cho_bottom_toon_shorts = DollCloth("cho", ("lower body", "shorts"), "bottom", "toon_shorts", ["#2b5197ff", "#ffffffff"], level=4) +default cho_stockings_toon_socks = DollCloth("cho", ("legwear", "socks"), "stockings", "toon_socks", ["#2b5197ff", "#ffffffff"], level=4) -default cho_outfit_toon = DollOutfit([cho_hair_ponytail1, cho_headgear_toon_band, cho_top_toon_shirt, cho_bottom_toon_shorts, cho_stockings_toon_socks, cho_bra_basic1, cho_panties_basic1], price=500, name="Toonsquad Outfit", desc="\"Don't ever call me a doll!\" - Some Sexy Bunny") +default cho_outfit_toon = DollOutfit([cho_hair_base, cho_headgear_toon_band, cho_top_toon_shirt, cho_bottom_toon_shorts, cho_stockings_toon_socks, cho_bra_basic1, cho_panties_basic1], price=500, name="Toonsquad Outfit", desc="\"Don't ever call me a doll!\" - Some Sexy Bunny") #################### ## Chun-Li Outfit ## #################### -default cho_top_chun_li = DollCloth("cho", ("upper body", "dresses"), "top", "chun_li_dress", [[237, 34, 79, 255], [255, 226, 121, 255]], blacklist=["bottom"], level=12, armfix=True) -default cho_accessory_chun_li_wrap = DollCloth("cho", ("misc", "accessory"), "accessory3", "body_wrap", [[255, 251, 222, 255]], level=12, zorder=3) -default cho_accessory_chun_li_shoulders = DollCloth("cho", ("misc", "accessory"), "accessory4", "chun_li_shoulders", [[237, 34, 79, 255], [255, 226, 121, 255]], level=12, zorder=16) -default cho_headgear_chun_li_puffies = DollCloth("cho", ("head", "headgear"), "headgear", "chun_li_puffies", [[255, 251, 222, 255]], level=10) -default cho_tattoo2_chun_li_dragon = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo2", "chun_li_dragon", [[237, 34, 79, 255], [255, 226, 121, 255]]) -default cho_tattoo1_chun_li_mule = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo1", "chun_li_mule", [[0, 0, 0, 255]]) +default cho_top_chun_li = DollCloth("cho", ("upper body", "shirts"), "top", "top_chun_li", ["#ed224fff", "#ffe279ff"], level=12) +default cho_bottom_chun_li_skirt = DollCloth("cho", ("lower body", "skirts"), "bottom", "skirt_chun_li", ["#ed224fff", "#ffe279ff"], level=12) +default cho_accessory_chun_li_wrap = DollCloth("cho", ("misc", "accessory"), "accessory", "body_wrap", ["#fffbdeff"], level=12, zorder=193) +default cho_accessory_chun_li_shoulders = DollCloth("cho", ("misc", "accessory"), "accessory", "chun_li_shoulders", ["#ed224fff", "#ffe279ff"], level=12, zorder=213) +default cho_headgear_chun_li_puffies = DollClothDynamic("cho", ("head", "headgear"), "headgear", "chun_li_puffies", ["#fffbdeff"], level=10, tracking="?hair") +default cho_tattoo_chun_li_dragon = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "chun_li_dragon", ["#ed224fff", "#ffe279ff"]) +default cho_tattoo_chun_li_mule = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "chun_li_mule", ["#000000ff"]) -default cho_outfit_chun_li = DollOutfit([cho_hair_ponytail1, cho_top_chun_li, cho_accessory_chun_li_wrap, cho_accessory_chun_li_shoulders, cho_headgear_chun_li_puffies, cho_bra_basic1, cho_panties_basic1, cho_tattoo2_chun_li_dragon, cho_tattoo1_chun_li_mule], price=500, name="Chun-Li Outfit", desc="For the strongest woman in the world!") +default cho_outfit_chun_li = DollOutfit([cho_hair_base, cho_top_chun_li, cho_bottom_chun_li_skirt, cho_accessory_chun_li_wrap, cho_accessory_chun_li_shoulders, cho_headgear_chun_li_puffies, cho_bra_basic1, cho_panties_basic1, cho_tattoo_chun_li_dragon, cho_tattoo_chun_li_mule], price=500, name="Chun-Li Outfit", desc="For the strongest woman in the world!") ################## -## Police Woman ## +## Police Woman ## #unlocked in not_so_great_escape mirror story ################## -default cho_top_police1 = DollCloth("cho", ("upper body", "shirts"), "top", "police", [[69, 84, 149, 255], [235, 209, 101, 255]], level=9) -default cho_bottom_police_skirt = DollCloth("cho", ("lower body", "skirts"), "bottom", "police_skirt", [[69, 84, 149, 255], [235, 209, 101, 255], [163, 95, 58, 255], [235, 209, 101, 255]], level=10, armfix=True) -default cho_glasses_aviators = DollCloth("cho", ("head", "glasses"), "glasses", "aviators", [[183, 199, 216, 255], [243, 217, 84, 255]], level=6) -default cho_headgear_police_cap = DollCloth("cho", ("head", "headgear"), "headgear", "police_cap", [[126, 126, 192, 255], [235, 209, 101, 255], [183, 199, 216, 255], [235, 209, 101, 255]], level=6) +default cho_top_police1 = DollCloth("cho", ("upper body", "shirts"), "top", "police", ["#455495ff", "#ebd165ff"], level=9) +default cho_bottom_police_skirt = DollCloth("cho", ("lower body", "skirts"), "bottom", "police_skirt", ["#455495ff", "#ebd165ff", "#a35f3aff", "#ebd165ff"], level=10) +default cho_glasses_aviators = DollCloth("cho", ("head", "glasses"), "glasses", "aviators", ["#b7c7d8ff", "#f3d954ff"], level=6) +default cho_headgear_police_cap = DollClothDynamic("cho", ("head", "headgear"), "headgear", "police_cap", ["#7e7ec0ff", "#ebd165ff", "#b7c7d8ff", "#ebd165ff"], level=6, tracking="?hair") -default cho_outfit_police = DollOutfit([cho_hair_ponytail1, cho_top_police1, cho_bottom_police_skirt, cho_bra_basic1, cho_panties_basic1, cho_glasses_aviators, cho_headgear_police_cap]) +default cho_outfit_police = DollOutfit([cho_hair_base, cho_top_police1, cho_bottom_police_skirt, cho_bra_basic1, cho_panties_basic1, cho_glasses_aviators, cho_headgear_police_cap]) -########### -## Other ## -########### +###################### +## Reindeer Costume ## #unlocked in genies_christmas_wish mirror story +###################### -default cho_panties_sport1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sport_panties_1", [[156, 204, 249, 255]], unlocked=True, armfix=True) -default cho_pubes_thick = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "thick", [[52, 59, 80, 255], [70, 90, 147, 255]], unlocked=True) -default cho_pubes_heart = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "heart", [[52, 59, 80, 255], [70, 90, 147, 255]], unlocked=True) -default cho_tattoo0_free = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo0", "pelv_free", [[0, 0, 1, 255]], unlocked=True) -default cho_piercing0_stud = DollCloth("cho", ("piercings & tattoos", "piercings"), "piercing0", "stud", [[220, 220, 221, 255]], unlocked=True) -default cho_tattoo1_slut = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo1", "breasts_slut", [[0, 0, 1, 255]], unlocked=True) -default cho_piercing1_barbell = DollCloth("cho", ("piercings & tattoos", "piercings"), "piercing1", "breast_barbell", [[220, 220, 221, 255]], unlocked=True) -default cho_hat_catears = DollCloth("cho", ("head", "headgear"), "headgear", "catears", [[70, 90, 147, 255]], level=10, unlocked=True) -default cho_hat_witch = DollCloth("cho", ("head", "headgear"), "headgear", "witch", [[71, 51, 102, 255], [215, 170, 98, 255]], unlocked=True) -default cho_accessory4_glasses1 = DollCloth("cho", ("head", "glasses"), "glasses", "glasses1", [[240, 240, 241, 255]], unlocked=True) -default cho_hat_goggles = DollCloth("cho", ("head", "headgear"), "headgear", "goggles", [[137, 150, 193, 255], [165, 165, 166, 255]], unlocked=True) -default cho_neckwear_medallion = DollCloth("cho", ("head", "neckwear"), "neckwear", "choker_medallion", [[25, 25, 26, 255]], unlocked=True) -default cho_neckwear_leather1 = DollCloth("cho", ("head", "neckwear"), "neckwear", "collar_leather_1", [[56, 56, 57, 255]], unlocked=True) -default cho_stockings_fishnet = DollCloth("cho", ("legwear", "stockings"), "stockings", "fishnet", [[100, 100, 101, 255], [50, 50, 51, 255]], level=14, armfix=True, unlocked=True) -default cho_top_sweater1 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_sweater_1", [[89, 116, 194, 255], [213, 161, 13, 255]], armfix=True, unlocked=True) -default cho_top_sweater2 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_sweater_2", [[89, 116, 194, 255]], level=6, unlocked=True) -default cho_top_tanktop1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_tanktop_1", [[230, 230, 231, 255]], level=14, unlocked=True) -default cho_robe_quidditch1 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_quidditch_1", [[89, 116, 194, 255], [213, 161, 13, 255]], armfix=True, unlocked=True) -default cho_bottom_pants1 = DollCloth("cho", ("lower body", "trousers"), "bottom", "pants_long_1", [[230, 230, 231, 255]], armfix=True, unlocked=True) -default cho_bottom_shorts2 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_2", [[114, 168, 210, 255], [232, 177, 13, 255]], level=10, armfix=True, unlocked=True) -default cho_bottom_pants2 = DollCloth("cho", ("lower body", "trousers"), "bottom", "pants_long_2", [[109, 105, 121, 255], [213, 161, 13, 255]], armfix=True, unlocked=True) -default cho_bottom_shorts4 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_4", [[109, 105, 121, 255], [213, 161, 13, 255]], level=8, armfix=True, unlocked=True) +default cho_top_bunny2 = DollCloth("cho", ("upper body", "one-piece suits"), "top", "bunny_top_2", ["#84220bff"], blacklist=["panties", "bra"], zorder=183, level=15) +default cho_hat_antlers = DollClothDynamic("cho", ("head", "headgear"), "headgear", "antlers", ["#984b30ff", "#ffffffff", "#c29d63ff"], level=12, tracking="?hair") +default cho_neckwear_reindeer_collar = DollCloth("cho", ("head", "neckwear"), "neckwear", "reindeer_collar", ["#7e4422ff", "#c4ab5fff"], level=15) +default cho_accessory_mistletoe = DollCloth("cho", ("misc", "accessory"), "accessory", "mistletoe", ["#1b5cc9ff"], zorder=193, level=7) -# Quidditch separate category -default choq_bra_sports1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "sport_bra_1", [[156, 204, 249, 255]]) -default choq_panties_sport1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sport_panties_1", [[156, 204, 249, 255]]) -default choq_cloth_robequidditch1 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_quidditch_1", [[60, 78, 131, 255], [186, 141, 11, 255]]) -default choq_cloth_topsweater1 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_sweater_1", [[60, 78, 131, 255], [186, 141, 11, 255]]) -default choq_cloth_pantslong2 = DollCloth("cho", ("lower body", "trousers"), "bottom", "pants_long_2", [[109, 105, 121, 255], [213, 161, 13, 255]]) -default choq_cloth_pantsshort4 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_4", [[109, 105, 121, 255], [213, 161, 13, 255]]) -#default choq_cloth_glovesquidditch1 = DollCloth("cho", ("upper body", "gloves"), "gloves", "quidditch", [[213, 161, 13, 255]]) # Not in use anymore. -default choq_goggles = DollCloth("cho", ("head", "glasses"), "glasses", "goggles", [[137, 150, 193, 255], [165, 165, 166, 255]]) -#default choq_goggles_face = DollCloth("cho", ("head", "headgear"), "headgear", "goggles_face", [[137, 150, 193, 255], [165, 165, 166, 255]], unlocked=False) # Not in use -default choq_cloth_schoolskirt2 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_2", [[103, 90, 108, 255], [232, 177, 13, 255]]) -default choq_cloth_schoolskirt3 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_3", [[103, 90, 108, 255], [232, 177, 13, 255]]) -default choq_panties_in_hand = DollCloth("cho", ("misc", "accessory"), "accessory2", "panties_in_hand", [[156, 204, 249, 255]]) +default cho_outfit_reindeer = DollOutfit([cho_hair_base, cho_top_bunny2, cho_accessory_mistletoe, cho_hat_antlers, cho_neckwear_reindeer_collar]) -default choq_accessory_protectors = DollCloth("cho", ("misc", "accessory"), "accessory1", "protectors1", [[0, 0, 0, 255]], zorder=27) -default choq_accessory_protectors2 = DollCloth("cho", ("misc", "accessory"), "accessory1", "protectors2", [[0, 0, 0, 255]], zorder=27) +################### +## Bunny Costume ## +################### -# Add choq_accessory_protectors2 once drawn for normal pose -default cho_outfit_quidditch = DollOutfit([cho_hair_ponytail1, choq_cloth_topsweater1, choq_cloth_pantslong2, choq_cloth_robequidditch1, choq_bra_sports1, choq_panties_sport1], hidden=True) +default cho_top_bunny1 = DollCloth("cho", ("upper body", "one-piece suits"), "top", "bunny_top_1", ["#000000ff"], blacklist=["panties", "bra"], zorder=183, level=15) +default cho_stockings_bunny1 = DollCloth("cho", ("legwear", "pantyhose"), "stockings", "bunny_stockings_1", ["#515151ff"], level=5) +default cho_hat_bunny1 = DollClothDynamic("cho", ("head", "headgear"), "headgear", "bunny_hat_1", ["#2b2a32ff", "#575370ff"], level=15, tracking="?hair") -default cho_outfit_quidditch_hufflepuff = DollOutfit([cho_hair_ponytail1, choq_cloth_topsweater1, choq_cloth_schoolskirt2, choq_cloth_robequidditch1, choq_accessory_protectors, choq_bra_sports1, choq_panties_sport1], hidden=True) -default cho_outfit_quidditch_slytherin = DollOutfit([cho_hair_ponytail1, choq_cloth_topsweater1, choq_cloth_pantslong2, choq_accessory_protectors2, choq_bra_sports1, choq_panties_sport1], hidden=True) -default cho_outfit_quidditch_gryffindor = DollOutfit([cho_hair_ponytail1, choq_cloth_topsweater1, choq_cloth_schoolskirt3, choq_accessory_protectors, choq_bra_sports1, choq_panties_sport1], hidden=True) +default cho_outfit_bunny = DollOutfit([cho_hair_base, cho_top_bunny1, cho_stockings_bunny1, cho_hat_bunny1], price=250, name="Sexy Bunny Costume", desc="A costume to turn you into the bunny equivalent of a neko.") + +########################## +## Virgin Killer Outfit ## +########################## + +default cho_top_virgin_killer = DollCloth("cho", ("upper body", "one-piece suits"), "top", "top_virgin_killer", ["#de4047ff", "#de4047ff"], blacklist=["bottom", "panties", "bra"], zorder=183, level=15) + +default cho_outfit_virgin_killer = DollOutfit([cho_hair_base, cho_top_virgin_killer], price=200, name="Virgin Killer", desc="Disclaimer: Does not actually kill virgins.") + +########################## +## Sheer Nightie Outfit ## +########################## + +default cho_nightie_sheer1 = DollCloth("cho", ("upper body", "shirts"), "top", "sheer_nightie_1", ["#CBE5F8BF", "#000000FF"], level=13) +default cho_panties_sheer1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sheer_panties_1", ["#CBE5F8BF"], level=16) + +default cho_outfit_sheer_nightie = DollOutfit([cho_hair_base, cho_nightie_sheer1, cho_panties_sheer1], price=400, name="Sheer Nightie Set", desc="Like a regular nightie, except you can see through it.") + +########################## +## Sporty Bikini Outfit ## +########################## + +default cho_bra_bikini_sporty1 = DollCloth("cho", ("upper undergarment", "bikini bras"), "bra", "sporty_bikini_top_1", ["#484A6CFF"], level=8) +default cho_panties_bikini_sporty1 = DollCloth("cho", ("lower undergarment", "bikini panties"), "panties", "sporty_bikini_bottom_1", ["#484A6CFF"], level=12) + +default cho_outfit_sporty_bikini = DollOutfit([cho_hair_base, cho_bra_bikini_sporty1, cho_panties_bikini_sporty1], price=400, name="Sporty Bikini Set", desc="A sporty bikini for the more athletic kind of witch.") + +####################### +## Club Dress Outfit ## +####################### + +default cho_top_dress_club = DollCloth("cho", ("upper body", "dresses"), "top", "dress_club", ["#212638ff"], level=12) +default cho_bra_padding_1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "padding_bra_1", ["#212638FF"], level=12) +default cho_panties_sheer_2 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sheer_panties_2", ["#212638FF", "#2D2D4BFF" ], level=16) + +default cho_outfit_club_dress = DollOutfit([cho_hair_base, cho_top_dress_club, cho_bra_padding_1, cho_panties_sheer_2], price=450, name="Club Dress Set", desc="The perfect dress set for an outgoing witch.") ################ ## Pubic Hair ## ################ -default cho_pubes_arrow = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "arrow", [[70, 90, 147, 255]], unlocked=True) -default cho_pubes_beaver = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "beaver", [[70, 90, 147, 255]], unlocked=True) -default cho_pubes_stuble = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "stuble", [[52, 59, 80, 255]], unlocked=True) -default cho_pubes_unshaved = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "unshaved", [[52, 59, 80, 255]], unlocked=True) +default cho_pubes_arrow = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "arrow", ["#465a93ff"], unlocked=True) +default cho_pubes_beaver = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "beaver", ["#465a93ff"], unlocked=True) +default cho_pubes_stuble = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "stuble", ["#343b50ff"], unlocked=True) +default cho_pubes_unshaved = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "unshaved", ["#343b50ff"], unlocked=True) +default cho_pubes_thick = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "thick", ["#343b50ff", "#465a93ff"], unlocked=True) +default cho_pubes_heart = DollCloth("cho", ("lower undergarment", "pubes"), "pubes", "heart", ["#343b50ff", "#465a93ff"], unlocked=True) -default cho_makeup4_lipstick = DollLipstick("cho", ("head", "makeup"), "makeup4", "lipstick", [[255, 70, 70, 255]], unlocked=True) +############ +## Makeup ## +############ -### Event Specific ### +default cho_makeup_freckles1 = DollCloth("cho", ("head", "makeup"), "makeup", "freckles1", ["#BB7A49ff"], unlocked=True) +default cho_makeup_freckles2 = DollCloth("cho", ("head", "makeup"), "makeup", "freckles2", ["#BB7A49ff"], unlocked=True) -default cho_top_school1_slyt = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", [[183, 183, 184, 255], [109, 105, 121, 255], [58, 115, 75, 255], [205, 205, 206, 255]]) -default cho_top_school1_gryf = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", [[183, 183, 184, 255], [109, 105, 121, 255], [167, 77, 42, 255], [237, 179, 14, 255]]) -default cho_top_school1_huff = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", [[183, 183, 184, 255], [109, 105, 121, 255], [251, 198, 10, 255], [51, 43, 54, 255]]) -default cho_stockings_slyt = DollCloth("cho", ("legwear", "socks"), "stockings", "house", [[58, 115, 75, 255], [205, 205, 206, 255]]) -default cho_stockings_gryf = DollCloth("cho", ("legwear", "socks"), "stockings", "house", [[219, 165, 13, 255], [146, 63, 30, 255]]) -default cho_stockings_huff = DollCloth("cho", ("legwear", "socks"), "stockings", "house", [[251, 198, 10, 255], [51, 43, 54, 255]]) +default cho_makeup_lipstick = DollMakeup("cho", ("head", "makeup"), "makeup", "lipstick", ["#ff4646ff"], unlocked=True, tracking="mouth") -default cho_outfit_slyt = DollOutfit([cho_hair_ponytail1, cho_top_school1_slyt, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_slyt], hidden=True) -default cho_outfit_gryf = DollOutfit([cho_hair_ponytail1, cho_top_school1_gryf, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_gryf], hidden=True) -default cho_outfit_huff = DollOutfit([cho_hair_ponytail1, cho_top_school1_huff, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_huff], hidden=True) -default smurfette_hair = DollCloth("cho", ("head", "hair"), "hair", "smurfette", [[255, 221, 71, 255],[255, 237, 158, 255]], level=4) -default smurfette_hat = DollCloth("cho", ("head", "headgear"), "headgear", "smurfette", [[251, 251, 251, 255]], level=4) -default smurfette_top = DollCloth("cho", ("upper body", "dresses"), "top", "smurfette", [[251, 251, 251, 255],[251, 251, 251, 255]], level=4, blacklist=["bottom"], armfix=True) +############# +## Tattoos ## +############# +default cho_tattoo_free = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "pelv_free", ["#000001ff"], unlocked=True) +default cho_tattoo_slut = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "breasts_slut", ["#000001ff"], unlocked=True) +default cho_tattoo_arrows = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "arrows_tattoo", ["#C96548ff"], unlocked=True) +default cho_tattoo_barcode = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "barcode_tattoo", ["#000001ff"], unlocked=True) +default cho_tattoo_bitemark = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "bitemark_tattoo", ["#ffffffff"], unlocked=True) +default cho_tattoo_cumhere = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "cumhere_tattoo", ["#000001ff"], unlocked=True) +default cho_tattoo_lickme = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "lickme_tattoo", ["#000001ff"], unlocked=True) +default cho_tattoo_pull = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "pull_tattoo", ["#000001ff"], unlocked=True) +default cho_tattoo_snatch = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "snatch_tattoo", ["#000001ff"], unlocked=True) +default cho_tattoo_trainee = DollCloth("cho", ("piercings & tattoos", "tattoos"), "tattoo", "trainee_tattoo", ["#000001ff"], unlocked=True) + +############### +## Piercings ## +############### + +default cho_piercing_stud = DollCloth("cho", ("piercings & tattoos", "piercings"), "piercing", "stud", ["#dcdcddff"], unlocked=True) +default cho_piercing_barbell = DollCloth("cho", ("piercings & tattoos", "piercings"), "piercing", "breast_barbell", ["#dcdcddff"], unlocked=True) + +# Quidditch separate category +default choq_bra_sports1 = DollCloth("cho", ("upper undergarment", "bras"), "bra", "sport_bra_1", ["#9cccf9ff"]) +default choq_panties_sport1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sport_panties_1", ["#9cccf9ff"]) +default choq_panties_sport2 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sport_panties_2", ["#9cccf9ff"]) +default choq_cloth_robequidditch1 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_quidditch_1", ["#3c4e83ff", "#ba8d0bff"]) +default choq_cloth_topsweater1 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_sweater_1", ["#3c4e83ff", "#ba8d0bff"]) +default choq_cloth_pantslong2 = DollCloth("cho", ("lower body", "trousers"), "bottom", "pants_long_2", ["#6d6979ff", "#d5a10dff"]) +default choq_cloth_pantsshort4 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_4", ["#6d6979ff", "#d5a10dff"]) +#default choq_cloth_glovesquidditch1 = DollCloth("cho", ("upper body", "gloves"), "gloves", "quidditch", ["#d5a10dff"]) # Not in use anymore. +default choq_goggles = DollCloth("cho", ("head", "glasses"), "glasses", "goggles", ["#8996c1ff", "#a5a5a6ff"]) +#default choq_goggles_face = DollCloth("cho", ("head", "headgear"), "headgear", "goggles_face", ["#8996c1ff", "#a5a5a6ff"], unlocked=False) # Not in use +default choq_cloth_schoolskirt2 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_2", ["#675a6cff", "#e8b10dff"]) +default choq_cloth_schoolskirt3 = DollCloth("cho", ("lower body", "skirts"), "bottom", "school_skirt_3", ["#675a6cff", "#e8b10dff"]) +default choq_panties_in_hand = DollCloth("cho", ("misc", "accessory"), "accessory", "panties_in_hand", ["#9cccf9ff"]) + +default choq_accessory_protectors = DollCloth("cho", ("misc", "accessory"), "accessory", "protectors1", None, zorder=300) +default choq_accessory_protectors2 = DollCloth("cho", ("misc", "accessory"), "accessory", "protectors2", None, zorder=300) +default choq_accessory_snitch_in_hand = DollCloth("cho", ("hidden", "accessory"), "accessory", "snitch_in_hand", None, zorder=-1) + +# Add choq_accessory_protectors2 once drawn for normal pose +default cho_outfit_quidditch = DollOutfit([cho_hair_base, choq_cloth_topsweater1, choq_cloth_pantslong2, choq_cloth_robequidditch1, choq_bra_sports1, choq_panties_sport2], hidden=True) + +default cho_outfit_quidditch_hufflepuff = DollOutfit([cho_hair_base, choq_cloth_topsweater1, choq_cloth_schoolskirt2, choq_cloth_robequidditch1, choq_accessory_protectors, choq_bra_sports1, choq_panties_sport2], hidden=True) +default cho_outfit_quidditch_slytherin = DollOutfit([cho_hair_base, choq_cloth_topsweater1, choq_cloth_pantslong2, choq_accessory_protectors2, choq_bra_sports1, choq_panties_sport2], hidden=True) +default cho_outfit_quidditch_gryffindor = DollOutfit([cho_hair_base, choq_cloth_topsweater1, choq_cloth_schoolskirt2, choq_accessory_protectors, choq_bra_sports1, choq_panties_sport2], hidden=True) + +############ +## Events ## +############ + +# cc_pr_manipulate_boys_twins_branch +default cho_top_school1_slyt = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", ["#b7b7b8ff", "#6d6979ff", "#3a734bff", "#cdcdceff"]) +default cho_top_school1_gryf = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", ["#b7b7b8ff", "#6d6979ff", "#a74d2aff", "#edb30eff"]) +default cho_top_school1_huff = DollCloth("cho", ("upper body", "shirts"), "top", "top_school_1", ["#b7b7b8ff", "#6d6979ff", "#fbc60aff", "#332b36ff"]) +default cho_stockings_slyt = DollCloth("cho", ("legwear", "socks"), "stockings", "house", ["#3a734bff", "#cdcdceff"]) +default cho_stockings_gryf = DollCloth("cho", ("legwear", "socks"), "stockings", "house", ["#dba50dff", "#923f1eff"]) +default cho_stockings_huff = DollCloth("cho", ("legwear", "socks"), "stockings", "house", ["#fbc60aff", "#332b36ff"]) + +default smurfette_hair = DollCloth("cho", ("head", "hair"), "hair", "smurfette", ["#ffdd47ff", "#ffed9eff"], level=4) +default smurfette_hat = DollClothDynamic("cho", ("head", "headgear"), "headgear", "smurfette", ["#fbfbfbff"], level=4, tracking="?hair") +default smurfette_top = DollCloth("cho", ("upper body", "dresses"), "top", "smurfette", ["#fbfbfbff", "#fbfbfbff"], level=4, blacklist=["bottom"]) + +default cho_outfit_slyt = DollOutfit([cho_hair_base, cho_top_school1_slyt, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_slyt], hidden=True) +default cho_outfit_gryf = DollOutfit([cho_hair_base, cho_top_school1_gryf, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_gryf], hidden=True) +default cho_outfit_huff = DollOutfit([cho_hair_base, cho_top_school1_huff, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_huff], hidden=True) default cho_outfit_smurfette = DollOutfit([smurfette_hair, smurfette_hat, smurfette_top], price=0, name="Smurfette Costume", desc="I'm coming for you, Gargamel.{heart}") + +########## +## Misc ## +########## + +default cho_panties_sport1 = DollCloth("cho", ("lower undergarment", "panties"), "panties", "sport_panties_1", ["#9cccf9ff"], unlocked=True) +default cho_hat_catears = DollClothDynamic("cho", ("head", "headgear"), "headgear", "catears", ["#465a93ff"], level=10, unlocked=True, tracking="?hair") +default cho_hat_witch = DollClothDynamic("cho", ("head", "headgear"), "headgear", "witch", ["#473366ff", "#d7aa62ff"], unlocked=True, tracking="?hair") +default cho_accessory_glasses1 = DollCloth("cho", ("head", "glasses"), "glasses", "glasses1", ["#f0f0f1ff"], unlocked=True) +default cho_hat_goggles = DollClothDynamic("cho", ("head", "headgear"), "headgear", "goggles", ["#8996c1ff", "#a5a5a6ff"], unlocked=True, tracking="?hair") +default cho_neckwear_medallion = DollCloth("cho", ("head", "neckwear"), "neckwear", "choker_medallion", ["#19191aff"], unlocked=True) +default cho_neckwear_leather1 = DollCloth("cho", ("head", "neckwear"), "neckwear", "collar_leather_1", ["#383839ff"], unlocked=True) +default cho_stockings_fishnet = DollCloth("cho", ("legwear", "stockings"), "stockings", "fishnet", ["#646465ff", "#323233ff"], level=14, unlocked=True) +default cho_top_sweater1 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_sweater_1", ["#5974c2ff", "#d5a10dff"], unlocked=True) +default cho_top_sweater2 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_sweater_2", ["#5974c2ff"], level=6, unlocked=True) +default cho_top_hoodie1 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_hoodie_1", ["#2F5D91ff", "#B8CEE7ff"], unlocked=True) +default cho_top_woolly_sweater1 = DollCloth("cho", ("upper body", "sweaters"), "top", "top_woolly_sweater_1", ["#2F5D91ff"], unlocked=True) +default cho_top_tanktop1 = DollCloth("cho", ("upper body", "shirts"), "top", "top_tanktop_1", ["#e6e6e7ff"], level=14, unlocked=True) +default cho_robe_quidditch1 = DollCloth("cho", ("upper body", "robes"), "robe", "robe_quidditch_1", ["#5974c2ff", "#d5a10dff"], unlocked=True) +default cho_bottom_pants1 = DollCloth("cho", ("lower body", "trousers"), "bottom", "pants_long_1", ["#e6e6e7ff"], unlocked=True) +default cho_bottom_shorts2 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_2", ["#72a8d2ff", "#e8b10dff"], level=10, unlocked=True) +default cho_bottom_pants2 = DollCloth("cho", ("lower body", "trousers"), "bottom", "pants_long_2", ["#6d6979ff", "#d5a10dff"], unlocked=True) +default cho_bottom_shorts4 = DollCloth("cho", ("lower body", "shorts"), "bottom", "pants_short_4", ["#6d6979ff", "#d5a10dff"], level=8, unlocked=True) +default cho_jeans_long1 = DollCloth("cho", ("lower body", "trousers"), "bottom", "jeans_long_1", ["#6D8EAEff", "#3C5064ff"], unlocked=True) + +### Default Schedules ### + +default cho_outfit_s_clearday = DollOutfit([cho_hair_base, cho_top_school3, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1], True, schedule={"day": True}) +default cho_outfit_s_clearnight = DollOutfit([cho_hair_base, cho_top_sweater1, cho_jeans_long1, cho_bra_basic1, cho_panties_basic1], True, schedule={"night": True}) +default cho_outfit_s_snow = DollOutfit([cho_hair_base, cho_top_woolly_sweater1, cho_jeans_long1, cho_bra_basic1, cho_panties_basic1], True, schedule={"day": True, "night": True, "snowy": True}) +default cho_outfit_s_overcast = DollOutfit([cho_hair_base, cho_top_hoodie1, cho_jeans_long1, cho_bra_basic1, cho_panties_basic1], True, schedule={"day": True, "night": True, "cloudy": True}) +default cho_outfit_s_rain = DollOutfit([cho_hair_base, cho_robe_school_1, cho_top_school1, cho_bottom_school1, cho_bra_basic1, cho_panties_basic1, cho_stockings_house], True, schedule={"day": True, "night": True, "rainy": True}) + +################ +## Not In Use ## +################ + +#default cho_hair_pigtails = DollCloth("cho", ("head", "hair"), "hair", "pigtails", ["#343b50ff", "#465a93ff", "#f2a249ff"], level=8) +#default cho_neckwear_tie1 = DollCloth("cho", ("head", "neckwear"), "neckwear", "tie_1", ["#d8a30aff", "#5974c2ff"]) #Tie Only diff --git a/game/scripts/characters/cho/wardrobe_reactions.rpy b/game/scripts/characters/cho/wardrobe_reactions.rpy index c9e05e9e..7b21fa32 100644 --- a/game/scripts/characters/cho/wardrobe_reactions.rpy +++ b/game/scripts/characters/cho/wardrobe_reactions.rpy @@ -28,31 +28,29 @@ define cho_responses = { label cho_reaction_category_fail(category): if category == "upper undergarment": - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - cho "You want to pick my underwear?" ("disgust", "narrow", "angry", "mid") - cho "I don't think so." ("open", "narrow", "angry", "R") - elif random_number == 2: - cho "Unless we're doing exercises I don't see why you want me to change my underwear..." ("disgust", "base", "angry", "R") - elif random_number == 3: - cho "I'm perfectly fine with the underwear I'm already wearing thank you..." ("base", "base", "base", "mid") + random: + block: + cho "You want to pick my underwear?" ("disgust", "narrow", "angry", "mid") + cho "I don't think so." ("open", "narrow", "angry", "R") + + cho "Unless we're doing exercises, I don't see why you want me to change my underwear..." ("disgust", "base", "angry", "R") + cho "I'm perfectly fine with the underwear I'm already wearing, thank you..." ("base", "base", "base", "mid") elif category == "lower undergarment": - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - cho "My underwear?" ("disgust", "base", "raised", "mid") - cho "Why do you want me to change them exactly?" ("angry", "narrow", "angry", "mid") - elif random_number == 2: - cho "*Err*... You want me to do what?" ("disgust", "base", "angry", "mid", cheeks="blush") - elif random_number == 3: - cho "Are we doing something that requires me to change my underwear?" ("annoyed", "narrow", "raised", "mid") - gen "I just thought I could pick some for you to wear." ("base", xpos="far_left", ypos="head") - cho "Well... You thought wrong." ("upset", "narrow", "angry", "mid") + random: + block: + cho "My underwear?" ("disgust", "base", "raised", "mid") + cho "Why do you want me to change them exactly?" ("angry", "narrow", "angry", "mid") + + block: + cho "Are we doing something that requires me to change my underwear?" ("annoyed", "narrow", "raised", "mid") + gen "I just thought I could pick some for you to wear." ("base", xpos="far_left", ypos="head") + cho "Well... You thought wrong." ("upset", "narrow", "angry", "mid") + + cho @ cheeks blush "*Err*... You want me to do what?" ("disgust", "base", "angry", "mid") elif category == "piercings & tattoos": - if cho_whoring < 4: + random: cho "Yeah, that's not happening..." ("annoyed", "narrow", "angry", "R") - elif cho_whoring < 10: - cho "No thank you..." ("annoyed", "narrow", "base", "mid") - else: # < 16 + cho "No, thank you..." ("annoyed", "narrow", "base", "mid") cho "My body is already perfect without such things..." ("smile", "closed", "base", "mid") return @@ -61,85 +59,72 @@ label cho_reaction_touch(what): if what == "head": $ mouse_headpat() - if cho_whoring < 10: #Pre Slytherin match (after hufflepuff match) - if random_number == 1: + if states.cho.level < 10: #Pre Slytherin match (after hufflepuff match) + random: cho "Are you measuring my height or something?" ("annoyed", "narrow", "base", "mid") - elif random_number == 2: cho "Is this supposed to encourage me?" ("disgust", "closed", "base", "mid") - elif random_number == 3: - cho "You'd usually only pet a dog when they do well with their training you know that right?" ("open", "narrow", "raised", "mid") - elif random_number == 4: + cho "You'd usually only pet a dog when they do well with their training, you know that, right?" ("open", "narrow", "raised", "mid") cho "What next? A treat?" ("soft", "narrow", "base", "R") - elif cho_whoring < 16: # Pre Gryffindor match (after Slytherin match) - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - cho "*Hmm*... Well I suppose this is fine... You did help me beat those Slytherins after all." ("soft", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - cho "Thank you, but don't we have other things to focus on?" ("open", "narrow", "base", "R", cheeks="blush") - elif random_number == 3: - cho "Yes, I do believe I've deserved some praise..." ("base", "base", "base", "mid", cheeks="blush") - cho "Although petting is a bit out there as a reward..." ("soft", "base", "base", "R", cheeks="blush") - elif cho_whoring < 22: #Post Gryffindor match (start of tier) - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - cho "I could get used to this..." ("base", "narrow", "base", "R", cheeks="blush") - elif random_number == 2: - cho "Thank you [cho_genie_name]..." ("open", "narrow", "base", "down", cheeks="blush") - elif random_number == 3: - cho "Is this supposed to be my reward, [cho_genie_name]?" ("soft", "narrow", "base", "mid", cheeks="blush") - cho "I was expecting more coming from you..." ("open", "narrow", "base", "downR", cheeks="blush") + elif states.cho.level < 16: # Pre Gryffindor match (after Slytherin match) + random: + cho @ cheeks blush "*Hmm*... Well, I suppose this is fine... You did help me beat those Slytherins after all." ("soft", "closed", "base", "mid") + cho @ cheeks blush "Thank you, but don't we have other things to focus on?" ("open", "narrow", "base", "R") + + block: + cho @ cheeks blush "Yes, I do believe I've deserved some praise..." ("base", "base", "base", "mid") + cho @ cheeks blush "Although petting is a bit out there as a reward..." ("soft", "base", "base", "R") + elif states.cho.level < 22: #Post Gryffindor match (start of tier) + random: + cho @ cheeks blush "I could get used to this..." ("base", "narrow", "base", "R") + cho @ cheeks blush "Thank you [name_genie_cho]..." ("open", "narrow", "base", "down") + + block: + cho @ cheeks blush "Is this supposed to be my reward, [name_genie_cho]?" ("soft", "narrow", "base", "mid") + cho @ cheeks blush "I was expecting more coming from you..." ("open", "narrow", "base", "downR") else: #22+ #Post Gryffindor match (end of tier) - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - cho "Are you sure there isn't anywhere else you could distribute that praise?" ("smile", "narrow", "base", "mid", cheeks="blush") - elif random_number == 2: - cho "I'm glad you're so proud of me [cho_genie_name]..." ("base", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - cho "*Mmm*..." ("horny", "closed", "base", "mid", cheeks="blush") + random: + cho @ cheeks blush "Are you sure there isn't anywhere else you could distribute that praise?" ("smile", "narrow", "base", "mid") + cho @ cheeks blush "I'm glad you're so proud of me [name_genie_cho]..." ("base", "narrow", "base", "mid") + cho @ cheeks blush "*Mmm*..." ("horny", "closed", "base", "mid") elif what == "breasts": $ mouse_heart() - if cho_whoring < 16: # Before Gryffindor match - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: - cho "Kissing them for good luck are we?" ("smile", "narrow", "base", "mid", cheeks="blush") - elif random_number == 2: - cho "*Mmm*..." ("horny", "closed", "base", "mid") - cho "..." ("disgust", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - cho "My Quaffles are quite perfect aren't they?" ("grin", "narrow", "base", "mid", cheeks="blush") - cho "*Ugh*... Why did I just call them that..." ("disgust", "narrow", "base", "downR", cheeks="heavy_blush") - elif random_number == 4: - cho "*Mmm*... Feel how firm those bad girls are?" ("base", "narrow", "base", "mid", cheeks="blush") - cho "That's the reward from years of hard training..." ("grin", "closed", "base", "mid", cheeks="blush") + if states.cho.level < 16: # Before Gryffindor match + random: + cho @ cheeks blush "Kissing them for good luck are we?" ("smile", "narrow", "base", "mid") + + block: + cho "*Mmm*..." ("horny", "closed", "base", "mid") + cho @ cheeks blush "..." ("disgust", "narrow", "base", "mid") + block: + cho @ cheeks blush "My Quaffles are quite perfect aren't they?" ("grin", "narrow", "base", "mid") + cho @ cheeks heavy_blush "*Ugh*... Why did I just call them that..." ("disgust", "narrow", "base", "downR") + block: + cho @ cheeks blush "*Mmm*... Feel how firm those bad girls are?" ("base", "narrow", "base", "mid") + cho @ cheeks blush "That's the reward from years of hard training..." ("grin", "closed", "base", "mid") else: - if random_number == 1: + random: cho "*Mmm*..." ("horny", "closed", "base", "mid") - elif random_number == 2: - cho "Thank you [cho_genie_name]..." ("soft", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - cho "Glad you appreciate them as much as I do..." ("smile", "wink", "base", "mid", cheeks="blush") + cho @ cheeks blush "Thank you [name_genie_cho]..." ("soft", "narrow", "base", "mid") + cho @ cheeks blush "Glad you appreciate them as much as I do..." ("smile", "wink", "base", "mid") elif what == "vagina": $ mouse_heart() - if cho_whoring < 16: #Before Gryffindor match - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - cho "*Hmm*... I can appreciate a man who goes for what he wants no matter what..." ("base", "narrow", "base", "mid", cheeks="blush") - elif random_number == 2: - cho "Such speed... Fancy yourself a seeker do you?" ("smile", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - cho "*Hmm*... Surely such a move must count as a foul..." ("smile", "wink", "base", "mid", cheeks="blush") + if states.cho.level < 16: #Before Gryffindor match + random: + cho @ cheeks blush "*Hmm*... I can appreciate a man who goes for what he wants no matter what..." ("base", "narrow", "base", "mid") + cho @ cheeks blush "Such speed... Fancy yourself a seeker, do you?" ("smile", "narrow", "base", "mid") + cho @ cheeks blush "*Hmm*... Surely such a move must count as a foul..." ("smile", "wink", "base", "mid") else: - $ random_number = renpy.random.randint(1, 2) - if random_number == 1: - cho "Found one of the goal posts did you?" ("base", "narrow", "base", "mid", cheeks="blush") - cho "There's two more you know..." ("smile", "wink", "base", "mid", cheeks="blush") - elif random_number == 2: - cho "Careful or I might lock my thighs around your neck and keep you there..." ("soft", "narrow", "base", "mid", cheeks="blush") + random: + block: + cho @ cheeks blush "Found one of the goal posts did you?" ("base", "narrow", "base", "mid") + cho @ cheeks blush "There's two more you know..." ("smile", "wink", "base", "mid") + + cho @ cheeks blush "Careful or I might lock my thighs around your neck and keep you there..." ("soft", "narrow", "base", "mid") return @@ -148,42 +133,31 @@ label cho_reaction_touch_fail(what): if what == "head": $ mouse_slap() - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: + random: cho "Don't touch my hair..." ("clench", "base", "base", "mid") - elif random_number == 2: - cho "Bad [cho_genie_name]..." ("annoyed", "base", "angry", "mid") - elif random_number == 3: + cho "Bad [name_genie_cho]..." ("annoyed", "base", "angry", "mid") cho "No touch!" ("open", "closed", "angry", "mid") - elif random_number == 4: cho "Don't...{w=0.4} Pet...{w=0.4} me..." ("soft", "narrow", "angry", "mid") elif what == "breasts": $ mouse_slap() - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: - cho "[cho_genie_name]?!" ("mad", "base", "angry", "mid") - cho "This isn't a part of our training..." ("clench", "base", "angry", "mid") - elif random_number == 2: + random: + block: + cho "[name_genie_cho]?!" ("mad", "base", "angry", "mid") + cho "This isn't a part of our training..." ("clench", "base", "angry", "mid") cho "Nice try..." ("smile", "narrow", "angry", "mid") - elif random_number == 3: cho "What are you doing?!" ("disgust", "wide", "base", "mid") - elif random_number == 4: cho "Too slow..." ("crooked_smile", "narrow", "angry", "mid") elif what == "vagina": $ mouse_slap() - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: + random: cho "Hands where I can see them!" ("angry", "base", "angry", "mid") - elif random_number == 2: cho "You'd have to be a lot faster to get even close to getting away with that..." ("crooked_smile", "narrow", "angry", "mid") - elif random_number ==3: cho "Nice try..." ("soft", "narrow", "angry", "mid") - elif random_number ==4: - cho "No foul plays, [cho_genie_name]..." ("angry", "narrow", "angry", "mid") + cho "No foul plays, [name_genie_cho]..." ("angry", "narrow", "angry", "mid") return @@ -200,61 +174,61 @@ label cho_reaction_equip_fail(item): # else: # - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: + random: cho "There's no way I would wear that." ("upset", "narrow", "angry", "mid") - elif random_number == 2: - cho "Put it on yourself..." ("open", "base", "angry", "mid") - gen "I don't think it would fit." ("base", xpos="far_left", ypos="head") - cho "Well, tough luck..." ("annoyed", "narrow", "angry", "R") - elif random_number == 3: cho "I am not wearing that..." ("upset", "closed", "base", "mid") - elif random_number == 4: - cho "Ask Granger to wear it why don't you..." ("open", "closed", "angry", "mid") - gen "It's made for your size." ("base", xpos="far_left", ypos="head") - cho "What is that supposed to mean?" ("soft", "base", "angry", "mid") - gen "..." ("angry", xpos="far_left", ypos="head") + + block: + cho "Put it on yourself..." ("open", "base", "angry", "mid") + gen "I don't think it would fit." ("base", xpos="far_left", ypos="head") + cho "Well, tough luck..." ("annoyed", "narrow", "angry", "R") + + block: + cho "Ask Granger to wear it, why don't you..." ("open", "closed", "angry", "mid") + gen "It's made for your size." ("base", xpos="far_left", ypos="head") + cho "What is that supposed to mean?" ("soft", "base", "angry", "mid") + gen "..." ("angry", xpos="far_left", ypos="head") return label cho_reaction_unequip(item): ### Example # if item.type == "panties": - # if cho_whoring > 15: + # if states.cho.level > 15: # cho "You want to see my snatch?" - # cho "You got it [genie_name]!" + # cho "You got it [name_genie_hermione]!" # return label cho_reaction_unequip_fail(item): if item.type == "panties": - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - cho "You want me to take off my underwear?" ("upset", "narrow", "angry", "mid") - cho "How is that supposed to help with my training?" ("open", "closed", "angry", "mid", cheeks="blush") - elif random_number == 2: - cho "You want me to stand here without underwear?" ("disgust", "narrow", "base", "mid") - cho "Yeah, in your dreams [cho_genie_name]..." ("annoyed", "narrow", "angry", "R") - elif random_number == 3: - cho "Take your own underwear off why don't you..." ("disgust", "narrow", "angry", "mid") - gen "What's to say I'm wearing any?" ("base", xpos="far_left", ypos="head") - cho "..." ("angry", "closed", "angry", "mid") + random: + block: + cho "You want me to take off my underwear?" ("upset", "narrow", "angry", "mid") + cho @ cheeks blush "How is that supposed to help with my training?" ("open", "closed", "angry", "mid") + block: + cho "You want me to stand here without underwear?" ("disgust", "narrow", "base", "mid") + cho "Yeah, in your dreams [name_genie_cho]..." ("annoyed", "narrow", "angry", "R") + block: + cho "Take your own underwear off, why don't you..." ("disgust", "narrow", "angry", "mid") + gen "What's to say I'm wearing any?" ("base", xpos="far_left", ypos="head") + cho "..." ("angry", "closed", "angry", "mid") elif item.type == "bra": - $ random_number = renpy.random.randint(1, 2) - if random_number == 1: - cho "I bet that Gryffindor cow happily stands here with her tits out but that doesn't mean I will..." ("disgust", "base", "angry", "R", cheeks="blush") - elif random_number == 2: - cho "You want me to flash you my tits?" ("angry", "wide", "base", "mid", cheeks="blush") - gen "I want you to take it off and keep it off..." ("base", xpos="far_left", ypos="head") - cho "No way!" ("clench", "narrow", "angry", "mid") + random: + cho @ cheeks blush "I bet that Gryffindor cow happily stands here with her tits out, but that doesn't mean I will..." ("disgust", "base", "angry", "R") + + block: + cho @ cheeks blush "You want me to flash you my tits?" ("angry", "wide", "base", "mid") + gen "I want you to take it off and keep it off..." ("base", xpos="far_left", ypos="head") + cho "No way!" ("clench", "narrow", "angry", "mid") elif item.type == "top": - cho "I'm sorry if you don't like my choice of clothes, [cho_genie_name]..." ("annoyed", "narrow", "angry", "R") + cho "I'm sorry if you don't like my choice of clothes, [name_genie_cho]..." ("annoyed", "narrow", "angry", "R") elif item.type == "bottom": - cho "I'm sorry if you don't like my choice of clothes, [cho_genie_name]..." ("open", "narrow", "angry", "downR") + cho "I'm sorry if you don't like my choice of clothes, [name_genie_cho]..." ("open", "narrow", "angry", "downR") return label cho_reaction_equip_outfit(item): @@ -265,14 +239,14 @@ label cho_reaction_equip_outfit(item): ######################## if item == cho_outfit_default: gen "Could you put on your normal school uniform?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "Sure." ("soft", "base", "base", "mid") cho "Let me just go change real quick." ("open", "base", "base", "R") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "My regular school uniform?" ("open", "narrow", "raised", "mid") gen "That's the one." ("base", xpos="far_left", ypos="head") cho "Alright, give me a moment..." ("soft", "narrow", "base", "mid") - elif cho_whoring < 16: + elif states.cho.level < 16: cho "With the vest and all?" ("soft", "narrow", "raised", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") cho "*Hmm*...{w=0.3} Is this some sort of trick?" ("annoyed", "narrow", "raised", "mid") @@ -285,14 +259,178 @@ label cho_reaction_equip_outfit(item): gen "In what way?" ("base", xpos="far_left", ypos="head") cho "You know...{w=0.3} The tie and all..." ("soft", "narrow", "base", "mid") gen "I don't get it..." ("base", xpos="far_left", ypos="head") - cho "Never mind..." ("open", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Never mind..." ("open", "narrow", "base", "down") + + ############################### + ## Clear Day (School no vest)## + ############################### + elif item == cho_outfit_s_clearday: + gen "Could you wear your school uniform for me? But leave the vest off." ("base", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "Leave the vest off?" ("soft", "base", "raised", "mid") + gen "Yes please." ("base", xpos="far_left", ypos="head") + cho "Alright then, if you say so [name_genie_cho]." ("open", "base", "base", "mid") + elif states.cho.level < 10: + cho "Sure thing [name_genie_cho], I was getting bored with what I was wearing anyway..." ("smile", "narrow", "base", "R") + elif states.cho.level < 16: + cho "Yes... That's probably a good idea..." ("soft", "narrow", "base", "down") + gen "It is?" ("base", xpos="far_left", ypos="head") + cho "Of course... I mean, I mean... What if my clothes caught fire?" ("grin", "narrow", "base", "mid") + cho "The faster I could get them off, the less likely I am to burn my skin." ("grin", "closed", "base", "mid") + gen "(Is she making up reasons to wear less clothes now?)" ("base", xpos="far_left", ypos="head") + else: #16+ + cho "Do I have to?" ("annoyed", "narrow", "base", "down") + gen "What do you mean, do you have to?" ("base", xpos="far_left", ypos="head") + cho "Well, the buttons are so difficult to get off... I'd much rather wear something less constricting." ("open", "closed", "base", "mid") + gen "You could just say that you want to show off that toned body of yours." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "[name_genie_cho], I am not that self-centred..." ("base", "narrow", "base", "R") + gen "..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I only show it off for the benefit of others, not myself." ("crooked_smile", "narrow", "base", "mid") + gen "*Heh*... Good one." ("base", xpos="far_left", ypos="head") + cho "..." ("smile", "narrow", "base", "R") #smiles + gen "Well, if that's the case, then I'd like to see that bod, wearing the school shirt." ("base", xpos="far_left", ypos="head") + cho "*Hmph*... Alright then..." ("soft", "closed", "base", "mid") #not actually mad + + + ############################################################# + ## Clear Night (Blue sweater with yellow stripe and jeans) ## + ############################################################# + elif item == cho_outfit_s_clearnight: + gen "Could you put on the striped sweater and your jeans?" ("base", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "Of course, [name_genie_cho]." ("base", "base", "base", "mid") + cho "I do prefer jeans a lot more compared to skirts." ("smile", "base", "base", "mid") + gen "Really? I would never have guessed..." ("base", xpos="far_left", ypos="head") + elif states.cho.level < 10: + cho "Of course, [name_genie_cho]." ("base", "base", "base", "mid") + cho "I do prefer jeans a lot more, compared to skirts." ("smile", "narrow", "base", "mid") + gen "Really? Why is that?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh... *Err*..." ("soft", "base", "base", "mid") + cho @ cheeks blush "They just... Fit me a lot better." ("angry", "narrow", "base", "mid") + gen "*Uhu*..." ("base", xpos="far_left", ypos="head") + elif states.cho.level < 16: + cho "*Hmm*... Jeans, they're not that flexible, are they?" ("soft", "narrow", "base", "down") + gen "I suppose not, why?" ("base", xpos="far_left", ypos="head") + cho "Oh, nothing [name_genie_cho]... I was just thinking out loud." ("angry", "base", "base", "mid") + else: #16+ + cho "My butt does look good in jeans, don't you think?" ("smile", "narrow", "base", "mid") + gen "Absolutely!" ("base", xpos="far_left", ypos="head") + + ############################### + ## Snowy (Sweater and Jeans) ## + ################################ + elif item == cho_outfit_s_snow: + gen "Could you put on your sweater and jeans?" ("base", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "Do you like my sweater, [name_genie_cho]?" ("smile", "base", "base", "mid") + gen "*Err*... Sure!" ("base", xpos="far_left", ypos="head") + gen "(Although I much prefer a pair of tight jeans on your shapely butt!)" ("grin", xpos="far_left", ypos="head") + cho "Thank you, I'll put them on then." ("base", "base", "base", "mid") + elif states.cho.level < 10: + cho "Of course [name_genie_cho], as long as I don't get too sweaty." ("smile", "wink", "base", "mid") + gen "Too sweaty?" ("base", xpos="far_left", ypos="head") + cho "Sweaty, sweater... Get it?" ("smile", "narrow", "base", "mid") + gen "...{w} Never make jokes like that ever again..." ("base", xpos="far_left", ypos="head") + cho "Oh... Okay then..." ("angry", "narrow", "base", "mid") + elif states.cho.level < 16: + cho "You know, I think I should probably get a new pair of jeans one of these days." ("open", "narrow", "base", "R") + gen "Really? Why is that?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I've just had them for a while... And with all the squats I've been doing..." ("soft", "narrow", "base", "down") + cho @ cheeks blush "Well, they don't fit like they used to." ("open", "closed", "worried", "mid") + gen "I think they look great!" ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Really?" ("angry", "base", "base", "mid") + gen "Of course! You should definitely keep wearing them." ("base", xpos="far_left", ypos="head") + gen "Unless they're so tight that they could split open at any minute, of course." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "Unless they're... Well, I suppose..." ("soft", "narrow", "base", "down") + cho "Just give me a moment, and I'll change..." ("base", "base", "base", "mid") + else: #16+ + cho "Sure thing, [name_genie_cho]." ("base", "base", "base", "mid") + cho "By the way, do you know why jeans are superior to skirts?" ("smile", "narrow", "base", "mid") + gen "Tell me." ("base", xpos="far_left", ypos="head") + cho "You can't see the butt-jiggle if you spank someone, and they are wearing a skirt." ("smile", "narrow", "base", "mid") + gen "Would you be able to stealthily flash your panties when wearing jeans, though?" ("base", xpos="far_left", ypos="head") + cho "No, but if your jeans are tight enough, then you can show off some camel-toe, without the risk of getting reprimanded." ("base", "narrow", "base", "R") + gen "You've certainly thought this through..." ("base", xpos="far_left", ypos="head") + + ################################# + ## Overcast (Hoodie and Jeans) ## + ################################# + elif item == cho_outfit_s_overcast: + gen "Could you wear the hoodie with your jeans?" ("base", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "Do you like my hoodie, [name_genie_cho]?" ("open", "base", "base", "mid") + gen "Of course... It's very tomboy-ish!" ("base", xpos="far_left", ypos="head") + cho "It is?" ("angry", "narrow", "base", "stare") + gen "That's not meant as an insult, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho "Really? I always thought--" ("disgust", "narrow", "base", "mid") + gen "Even if it was, if you like it, then your opinion is the only one that matters." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes, that's true... And I do like it." ("soft", "narrow", "base", "down") + cho "Give me a moment, and I'll change." ("base", "base", "base", "mid") + elif states.cho.level < 10: + cho "You know, someone once mistook me for a guy when I wore these." ("annoyed", "narrow", "base", "down") + gen "Really?" ("base", xpos="far_left", ypos="head") + cho "Yes! I mean, how could they have thought that?" ("angry", "narrow", "raised", "mid") + gen "*Hmm*... Yes, that's a very good question..." ("base", xpos="far_left", ypos="head") + gen "I mean, you're clearly not..." ("base", xpos="far_left", ypos="head") + cho "..." ("annoyed", "narrow", "base", "mid") + gen "Alright then, if you feel validated enough... Could you put it on?" ("base", xpos="far_left", ypos="head") + cho "Oh, right... Of course [name_genie_cho]." ("angry", "base", "base", "mid") + elif states.cho.level < 16: + cho "*Hmm*... Don't you think it's weird for me to wear masculine clothing, [name_genie_cho]?" ("soft", "narrow", "base", "R") + gen "Of course not, why would it be?" ("base", xpos="far_left", ypos="head") + cho "Well, I don't really see many of the other girls wearing hoodies." ("soft", "narrow", "base", "mid") + gen "They probably just don't want to hide their hair." ("base", xpos="far_left", ypos="head") + cho "Then just don't put the hood on." ("disgust", "narrow", "base", "mid") + gen "If you're never going to put the hood on, then why get a hoodie in the first place?" ("base", xpos="far_left", ypos="head") + cho "... I never thought about that..." ("angry", "base", "base", "stare") + gen "... So, could you put it on or what?" ("base", xpos="far_left", ypos="head") + cho "Oh, right... One moment, [name_genie_cho]." ("angry", "base", "base", "mid") + else: #16+ + cho "Jeans, [name_genie_cho]?" ("soft", "base", "base", "mid") + gen "Or would you prefer the freeing feeling of a skirt?" ("base", xpos="far_left", ypos="head") + cho "Of course not! In fact, I have quite the nostalgic fondness for jeans." ("base", "narrow", "base", "R") + gen "Really?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yes... Did I ever tell you about the first time a pair of my jeans split open, right in the crotch area?" ("smile", "narrow", "base", "mid") + gen "I'm not-- Wait, did you say \"the first time\"?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "It was pretty embarrassing... But also quite exciting..." ("base", "closed", "base", "mid") + gen "Well... I suppose that explains a few things..." ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("smile", "closed", "base", "mid") + + ##################################### + ## Rainy (School outfit with cloak)## + ##################################### + elif item == cho_outfit_s_rain: + gen "Could you put on your regular school uniform, and your cloak as well?" ("base", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "Alright, just give me one moment [name_genie_cho]..." ("base", "base", "base", "mid") + elif states.cho.level < 10: + cho "I suppose I could... Although, how is wearing the cloak supposed to help me with Quidditch?" ("soft", "narrow", "raised", "mid") + gen "What do you mean? I'm just asking you to wear it, that's all." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh... *Ehm*... Never mind..." ("annoyed", "base", "base", "R") + cho @ cheeks blush "Just give me a moment, and I'll put it on..." ("open", "closed", "base", "mid") + elif states.cho.level < 16: + cho "My cloak?" ("soft", "base", "base", "mid") + gen "Yes, [name_cho_genie]." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Wouldn't you rather I wear something more... I don't know..." ("open", "narrow", "base", "R") + gen "More? How much else could you put on after that?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "That's not--" ("angry", "base", "base", "mid") + cho @ cheeks blush "Alright then, one moment [name_genie_cho]... Let me just change, real quick." ("open", "narrow", "base", "R") + else: #16+ + cho @ cheeks blush "You want to cover me up?" ("upset", "narrow", "raised", "mid") + gen "*Err*..." ("base", xpos="far_left", ypos="head") + cho "You know how much I despise wearing clothes!" ("angry", "closed", "worried", "mid") + gen "Really? I just thought you enjoyed not wearing any." ("base", xpos="far_left", ypos="head") + cho "Same thing." ("annoyed", "narrow", "raised", "R") + gen "Then just think about how nice it will feel when you finally get to take it all off." ("base", xpos="far_left", ypos="head") + cho "..." ("soft", "narrow", "base", "down") + cho "Alright then... I suppose I could put it on... For now..." ("smile", "narrow", "base", "mid") ######################## ## Cheerleader ## ######################## elif item == cho_outfit_cheerleader: #Req 10 whoring gen "Could you wear the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: + if states.cho.level < 16: cho "The cheerleader outfit..." ("soft", "narrow", "base", "down") cho "You want me to cheer for myself or what?" ("angry", "narrow", "raised", "mid") gen "*Heh-Heh*...{w=0.2} Yeah, that sounds funny..." ("grin", xpos="far_left", ypos="head") @@ -300,8 +438,9 @@ label cho_reaction_equip_outfit(item): else: # 16+ cho "The cheerleader outfit?" ("open", "narrow", "base", "mid") cho "But isn't that a bit below me?" ("annoyed", "base", "base", "mid") - gen "Blow me? Yes please!" ("grin", xpos="far_left", ypos="head") + gen "Blow me? Yes, please!" ("grin", xpos="far_left", ypos="head") cho "...{w} Fine." ("disgust", "narrow", "base", "mid") + ################## ## Misty Outfit ## ################## @@ -335,66 +474,66 @@ label cho_reaction_equip_outfit(item): ## Sailor Outfit ## ################### elif item == cho_outfit_sailor: #Req 18 (bottom, panties) - gen "I've got this sailors outfit with your name on it!" ("grin", xpos="far_left", ypos="head") + gen "I've got this sailor's outfit with your name on it!" ("grin", xpos="far_left", ypos="head") cho "Looks more like a slutty sailor outfit..." ("annoyed", "narrow", "raised", "down") cho "I doubt any seamen would actually wear something like this..." ("open", "narrow", "base", "mid") - gen "Yeah, the semen goes on this outfit not in it..." ("base", xpos="far_left", ypos="head") - cho "They go-- Oh...{w=0.3} I see..." ("disgust", "narrow", "base", "down", cheeks="blush") + gen "Yeah, the semen goes on this outfit, not inside it..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "They go-- Oh...{w=0.3} I see..." ("disgust", "narrow", "base", "down") menu: - "\"(And call me captain from now!)\"": - $ cho_genie_name = "Captain" - cho "Alright Captain!" ("soft", "narrow", "base", "mid", cheeks="blush") - "\"(Now set sail!)\"": - cho "Yes [cho_genie_name]!" ("soft", "narrow", "base", "mid", cheeks="blush") + "\"And call me captain from now!\"": + $ name_genie_cho = "Captain" + cho @ cheeks blush "Alright Captain!" ("soft", "narrow", "base", "mid") + "\"Now set sail!\"": + cho @ cheeks blush "Yes [name_genie_cho]!" ("soft", "narrow", "base", "mid") ############################ ## Japanese School Outfit ## ############################ elif item == cho_outfit_j_school: #Req 4 (top, bottom) gen "Could you put on the Japanese schoolgirl uniform?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 10: + if states.cho.level < 10: cho "*Hmm*... It's a bit..." ("disgust", "narrow", "base", "down") gen "A bit what?" ("base", xpos="far_left", ypos="head") cho "I don't know..." ("clench", "narrow", "worried", "down") gen "Cute?" ("base", xpos="far_left", ypos="head") - cho "Yes..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Yes..." ("annoyed", "narrow", "base", "mid") gen "I'm sure you'll look great in it then!" ("base", xpos="far_left", ypos="head") - cho "...{w=0.3} Alright, fine..." ("disgust", "narrow", "base", "down", cheeks="blush") - elif cho_whoring < 16: + cho @ cheeks blush "...{w=0.3} Alright, fine..." ("disgust", "narrow", "base", "down") + elif states.cho.level < 16: cho "*Hmm*... I guess this is what I'd be wearing if my family had stayed in Asia..." ("soft", "narrow", "base", "down") gen "I thought you said you weren't Japanese?" ("base", xpos="far_left", ypos="head") - cho "There's only one Wizard school in Asia and it's in Japan... Surely you'd know this...." ("disgust", "narrow", "base", "mid") + cho "There's only one Wizard school in Asia, and it's in Japan... Surely, you'd know this...." ("disgust", "narrow", "base", "mid") gen "Oh!" ("base", xpos="far_left", ypos="head") gen "(How small is the wizard community? These numbers don't add up...)" ("base", xpos="far_left", ypos="head") - gen "*Err*... I'm just a bit forgetful that's all..." ("base", xpos="far_left", ypos="head") + gen "*Err*... I'm just a bit forgetful, that's all..." ("base", xpos="far_left", ypos="head") cho "Right...{w=0.3} Well, just give me a moment to change then..." ("annoyed", "narrow", "base", "mid") else: # 16+ cho "Did they send you this from Japan?" ("open", "base", "base", "mid") - gen "I had it custom made!" ("base", xpos="far_left", ypos="head") + gen "I had it custom-made!" ("base", xpos="far_left", ypos="head") cho "You did?" ("clench", "narrow", "base", "down") cho "And here I thought it was an official uniform..." ("angry", "narrow", "base", "down") gen "What can I say, I'm quite knowledgeable about these types of uniforms... I've got quite the collection of images." ("base", xpos="far_left", ypos="head") - cho "I bet you do..." ("disgust", "narrow", "base", "downR", cheeks="blush") - cho "Alright, let's see if I look like any of the girls in those pictures of yours..." ("base", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "I bet you do..." ("disgust", "narrow", "base", "downR") + cho @ cheeks blush "Alright, let's see if I look like any of the girls in those pictures of yours..." ("base", "narrow", "base", "mid") ################### ## Bikini Outfit ## ################### elif item == cho_outfit_bikini: #req 14 (bra, panties) gen "I've got this bikini for you to wear today." ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: - cho "A Bikini?" ("soft", "narrow", "base", "mid", cheeks="blush") + if states.cho.level < 16: + cho @ cheeks blush "A Bikini?" ("soft", "narrow", "base", "mid") gen "Yep, this one..." ("base", xpos="far_left", ypos="head") - cho "..." ("soft", "narrow", "base", "down", cheeks="blush") - cho "Are you sure this is not just some scrap material you had lying around?" ("angry", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "..." ("soft", "narrow", "base", "down") + cho @ cheeks blush "Are you sure this is not just some scrap material you had lying around?" ("angry", "narrow", "base", "down") gen "I mean... It might've been made from that." ("base", xpos="far_left", ypos="head") - cho "Figures..." ("disgust", "narrow", "base", "downR", cheeks="blush") - cho "Well, I suppose it's better than being naked..." ("soft", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "Figures..." ("disgust", "narrow", "base", "downR") + cho @ cheeks blush "Well, I suppose it's better than being naked..." ("soft", "narrow", "base", "mid") else: # 16+ cho "A Bikini?" ("soft", "base", "base", "mid") gen "Yep, this one..." ("base", xpos="far_left", ypos="head") - cho "I see..." ("base", "narrow", "base", "down", cheeks="blush") - cho "Well, I do look great in bikini's..." ("open", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "I see..." ("base", "narrow", "base", "down") + cho @ cheeks blush "Well, I do look great in a bikini..." ("open", "closed", "base", "mid") gen "I'm still waiting for the beach episode." ("base", xpos="far_left", ypos="head") cho "The what?" ("angry", "base", "base", "mid") gen "Never mind..." ("base", xpos="far_left", ypos="head") @@ -405,22 +544,22 @@ label cho_reaction_equip_outfit(item): ########################## elif item == cho_outfit_lacelingerie: #req 14 (bra) gen "Could you put on this lace underwear set?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: - cho "This is lingerie isn't it?" ("soft", "narrow", "base", "down", cheeks="blush") + if states.cho.level < 16: + cho @ cheeks blush "This is lingerie isn't it?" ("soft", "narrow", "base", "down") gen "Well spotted." ("base", xpos="far_left", ypos="head") - cho "I can't say this is the type of underwear I usually like to wear." ("normal", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "I can't say this is the type of underwear I usually like to wear." ("normal", "narrow", "base", "mid") gen "Well, there's underwear for different purposes..." ("base", xpos="far_left", ypos="head") - cho "And lingerie's purpose is?" ("open", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "And lingerie's purpose is?" ("open", "narrow", "base", "downR") gen "To bring out the sexy!" ("base", xpos="far_left", ypos="head") - cho "I see..." ("soft", "narrow", "base", "down", cheeks="blush") - cho "Well if that's the goal then suppose I'll have to wear it." ("open", "closed", "base", "mid", cheeks="blush") - cho "Prepare to meet your maker, sexiness!" ("grin", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "I see..." ("soft", "narrow", "base", "down") + cho @ cheeks blush "Well, if that's the goal, then I suppose I'll have to wear it." ("open", "closed", "base", "mid") + cho @ cheeks blush "Prepare to meet your maker, sexiness!" ("grin", "narrow", "base", "mid") else: #16+ - cho "Lingerie..." ("soft", "narrow", "base", "down", cheeks="blush") - cho "So these types of underwear really does it for men do they?" ("open", "base", "base", "downR", cheeks="blush") + cho @ cheeks blush "Lingerie..." ("soft", "narrow", "base", "down") + cho @ cheeks blush "So these types of underwear really does it for men do they?" ("open", "base", "base", "downR") gen "Yep!" ("base", xpos="far_left", ypos="head") gen "Women too!" ("base", xpos="far_left", ypos="head") - cho "*Hmm*...{w=0.3} Well I better put it on then..." ("base", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "*Hmm*...{w=0.3} Well, I better put it on then..." ("base", "narrow", "base", "down") ################## ## Dress Outfit ## @@ -431,7 +570,7 @@ label cho_reaction_equip_outfit(item): gen "Yep, this one!" ("base", xpos="far_left", ypos="head") cho "*Hmm*...{w=0.3} Red and gold..." ("normal", "base", "base", "down") gen "Nice isn't it?" ("base", xpos="far_left", ypos="head") - cho "I...{w=0.3} Yes, thank you [cho_genie_name]..." ("open", "narrow", "base", "down") + cho "I...{w=0.3} Yes, thank you [name_genie_cho]..." ("open", "narrow", "base", "down") cho "I'll put it on now then shall I." ("open", "base", "base", "mid") #################### @@ -439,25 +578,25 @@ label cho_reaction_equip_outfit(item): #################### elif item == cho_outfit_trainee: #req 10 (top) (Part of clothing event) gen "I've got the perfect outfit for you to wear when you exercise, mind putting it on?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: - cho "Did you get a size too small on purpose?" ("disgust", "narrow", "base", "down", cheeks="blush") + if states.cho.level < 16: + cho @ cheeks blush "Did you get a size too small on purpose?" ("disgust", "narrow", "base", "down") gen "What do you mean?" ("base", xpos="far_left", ypos="head") - cho "That tank top would slide up any time I try to do stretches..." ("angry", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "That tank top would slide up any time I try to do stretches..." ("angry", "narrow", "base", "mid") gen "Sounds like a bonus to me." ("base", xpos="far_left", ypos="head") - cho "..." ("annoyed", "narrow", "base", "down", cheeks="blush") - cho "Alright fine..." ("open", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "..." ("annoyed", "narrow", "base", "down") + cho @ cheeks blush "Alright, fine..." ("open", "narrow", "base", "down") else : #16+ - cho "What kind of exercises do you have in mind exactly?" ("open", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "What kind of exercises do you have in mind exactly?" ("open", "narrow", "base", "mid") gen "Ones that show off your ass mainly." ("base", xpos="far_left", ypos="head") - cho "Figures..." ("base", "narrow", "base", "R", cheeks="blush") - cho "Give me moment to put it on then..." ("base", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Figures..." ("base", "narrow", "base", "R") + cho @ cheeks blush "Give me a moment to put it on then..." ("base", "base", "base", "mid") ################ ## Smurfette ## ################ elif item == cho_outfit_smurfette: #req 15 (no bra, no panties) gen "I've got this smurfette Cosplay for you to wear." ("base", xpos="far_left", ypos="head") - if cho_whoring < 16: + if states.cho.level < 16: cho "Smurf... What?" ("soft", "narrow", "raised", "mid") gen "Ette." ("base", xpos="far_left", ypos="head") cho "*Huh*?" ("annoyed", "base", "base", "mid") @@ -474,16 +613,16 @@ label cho_reaction_equip_outfit(item): gen "Come on, she was the only female Smurf for the first five seasons. I know they look similar but surely--" ("base", xpos="far_left", ypos="head") cho "I don't know what a Smurf is." ("disgust", "narrow", "base", "mid") gen "Oh... That makes more sense..." ("base", xpos="far_left", ypos="head") - gen "Well, they're these tiny blue creatures that lives in the woods." ("base", xpos="far_left", ypos="head") + gen "Well, they're these tiny blue creatures that live in the woods." ("base", xpos="far_left", ypos="head") cho "Like a pixie?" ("open", "base", "base", "mid") - gen "Smurfs are only blue but I guess they're the same size." ("base", xpos="far_left", ypos="head") + gen "Smurfs are only blue, but I guess they're the same size." ("base", xpos="far_left", ypos="head") cho "Pixies are only blue as well..." ("angry", "narrow", "base", "mid") gen "Pretty sure they're not, what do they teach you in history class here?" ("base", xpos="far_left", ypos="head") cho "History? We were told they were blue in our Care of magical creatures class." ("angry", "narrow", "base", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") - gen "(Genepool must've gotten fucked after generations of inbreeding...)" ("base", xpos="far_left", ypos="head") + gen "(The gene pool must've got fucked after generations of inbreeding...)" ("base", xpos="far_left", ypos="head") gen "(Such a shame...)" ("base", xpos="far_left", ypos="head") - gen "What ever the case... I'd like you to wear this cosplay outfit for me." ("base", xpos="far_left", ypos="head") + gen "Whatever the case... I'd like you to wear this cosplay outfit for me." ("base", xpos="far_left", ypos="head") cho "Oh... Alright..." ("open", "narrow", "base", "mid") ###################### @@ -496,7 +635,7 @@ label cho_reaction_equip_outfit(item): gen "It's Basketball themed!" ("base", xpos="far_left", ypos="head") cho "Basket... Then why does it have space in the name?" ("soft", "narrow", "raised", "mid") gen "I don't know, why does Quidditch have Quid and ditch in the name if it's not about throwing money on the ground?" ("base", xpos="far_left", ypos="head") - cho "*Err*...{w} I'll just put this on then shall I?" ("disgust", "narrow", "base", "mid") + cho "*Err*...{w} I'll just put this on then, shall I?" ("disgust", "narrow", "base", "mid") #################### ## Chun-Li Outfit ## @@ -509,13 +648,14 @@ label cho_reaction_equip_outfit(item): gen "Chun-Li!" ("base", xpos="far_left", ypos="head") cho "*Hmm*... Not sure if I've heard of her." ("soft", "base", "base", "mid") gen "(Like everyone in this castle...)" ("base", xpos="far_left", ypos="head") - cho "I suppose the costume look quite well made." ("open", "base", "base", "down", cheeks="blush") + cho @ cheeks blush "I suppose the costume looks quite well-made." ("open", "base", "base", "down") gen "Finest silk in the country!" ("base", xpos="far_left", ypos="head") - cho "Alright, I'll wear it... Even though that Tattoo is a bit..." ("base", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Alright, I'll wear it... Even though that tattoo is a bit..." ("base", "narrow", "base", "down") gen "A bit what? A bit too awesome?" ("base", xpos="far_left", ypos="head") - cho "So... You really don't know what it says." ("soft", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "So... You really don't know what it says." ("soft", "narrow", "base", "mid") gen "Not the faintest idea." ("base", xpos="far_left", ypos="head") - cho "Well... I suppose that's a good thing then..." ("soft", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "Well... I suppose that's a good thing..." ("soft", "narrow", "base", "R") + ################## ## Police Woman ## ################## @@ -523,15 +663,102 @@ label cho_reaction_equip_outfit(item): gen "Put on the police cosplay uniform will you?" ("base", xpos="far_left", ypos="head") cho "Police?" ("soft", "base", "raised", "mid") gen "Yeah, check out the sweet shades on this one. Aren't they cool?" ("base", xpos="far_left", ypos="head") - cho "Trying to take away the focus on that short top?" ("open", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Trying to take away the focus on that short top?" ("open", "narrow", "base", "down") gen "No clue what you're talking about..." ("base", xpos="far_left", ypos="head") - cho "*Hmm*..." ("base", "narrow", "base", "down", cheeks="blush") - gen "You know, police are some of the most well respected people in muggle society..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "*Hmm*..." ("base", "narrow", "base", "down") + gen "You know, the police are some of the most well-respected people in muggle society..." ("base", xpos="far_left", ypos="head") gen "I know how much you love that stuff." ("base", xpos="far_left", ypos="head") - cho "They are?" ("open", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "They are?" ("open", "base", "base", "mid") gen "Sure!" ("base", xpos="far_left", ypos="head") cho "Alright then... If you say so." ("base", "base", "base", "mid") + ################### + ## Bunny Costume ## + ################### + elif item == cho_outfit_bunny: #req 15 (no bra, no panties) + gen "I've got this bunny costume for you to put on." ("base", xpos="far_left", ypos="head") + cho "A bunny costume?" ("soft", "base", "base", "mid") + cho @ cheeks blush "Do you really think a bunny costume would suit me?" ("open", "base", "base", "R") + gen "Of course! Why wouldn't it?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Well, I thought that you'd need bigger--" ("upset", "narrow", "base", "down") + cho @ cheeks blush "I mean, of course it will suit me!" ("angry", "closed", "angry", "mid") + cho @ cheeks blush "Hand it over!" ("angry", "base", "base", "mid") + + ###################### + ## Reindeer Costume ## + ###################### + elif item == cho_outfit_reindeer: #req 15 (no bra, no panties) + gen "How about you put on this reindeer costume for me?" ("base", xpos="far_left", ypos="head") + cho "A reindeer costume?" ("soft", "base", "raised", "mid") + gen "That's right. This one right here..." ("base", xpos="far_left", ypos="head") + cho "*Hmm*... I suppose I could--" ("soft", "narrow", "base", "down") + cho "Hold on, there's a--" ("clench", "narrow", "base", "down") + cho @ cheeks blush "{size=-4}There's a hole in this...{/size}" ("base", "narrow", "base", "down") + gen "Something wrong?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I'm fine, let me just put it on..." ("soft", "narrow", "base", "down") + cho @ cheeks blush "" ("soft", "narrow", "base", "mid") + + ################### + ## Virgin Killer ## + ################### + elif item == cho_outfit_virgin_killer: #req 14 (no bra, no panties) + gen "I've got this jumper I'd like you to put on." ("base", xpos="far_left", ypos="head") + cho "A jumper?" ("soft", "base", "base", "mid") + gen "Yup, is that surprising?" ("base", xpos="far_left", ypos="head") + cho "*Hmm*... I suppose I would've imagined something more--" ("open", "base", "base", "R") + gen "Here you go." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh... It's one of those." ("open", "narrow", "base", "down") + gen "Do you like it?" ("base", xpos="far_left", ypos="head") + gen "I thought it would enhance your features." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "*Hmm*... If you say so..." ("base", "narrow", "base", "down") + cho @ cheeks blush "Alright, just give me a moment to put it on." ("base", "base", "base", "mid") + + ########################## + ## Sheer Nightie Outfit ## + ########################## + elif item == cho_outfit_sheer_nightie: #Req 16 (panties) + gen "I've not this nightie for you to wear." ("base", xpos="far_left", ypos="head") + cho "A nightie?" ("soft", "base", "base", "mid") + gen "That's right." ("base", xpos="far_left", ypos="head") + gen "This one, right here." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "...{w=0.4} It's see-through." ("horny", "narrow", "base", "down") + gen "I know... Quite the lifehack isn't it?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "A lifehack?" ("horny", "base", "raised", "mid") + gen "Well, if you were completely naked, then that would be indecent..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh... I see..." ("smile", "narrow", "base", "down") + cho @ cheeks blush "Well, I better wear it then... For the sake of decency..." ("smile", "wink", "base", "mid") + + ########################## + ## Sporty Bikini Outfit ## + ########################## + elif item == cho_outfit_sporty_bikini: #Req 12 (panties) + gen "I've got this sporty bikini for you to wear." ("base", xpos="far_left", ypos="head") + cho "A sporty bikini?" ("soft", "base", "base", "mid") + gen "Yeah! You're into that sort of thing, aren't you?" ("base", xpos="far_left", ypos="head") + cho "I suppose I do look good in a bikini..." ("base", "narrow", "base", "down") + gen "I was talking about sports, but sure!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Oh..." ("angry", "narrow", "base", "mid") + cho @ cheeks blush "Well, I suppose I could wear it when exercising." ("base", "base", "base", "mid") + gen "I was thinking you could wear it now." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "... Alright then." ("smile", "base", "base", "mid") + + ####################### + ## Club Dress Outfit ## + ####################### + elif item == cho_outfit_club_dress: #Req 16 (panties) + gen "I've got this dress for you to wear." ("base", xpos="far_left", ypos="head") + cho "*Hmm*... A dress, you say?" ("base", "narrow", "base", "mid") + gen "Yep, it's this one, right here." ("base", xpos="far_left", ypos="head") + cho "Very nice..." ("smile", "narrow", "base", "down") + gen "Yes, I thought you might like it." ("base", xpos="far_left", ypos="head") + cho "Really? Seems like you know me better than I thought..." ("smile", "narrow", "base", "mid") + gen "You see... When you're moving about, this dress will slide up your body quite easily." ("base", xpos="far_left", ypos="head") + gen "So, if you ever wanted to give someone a peek, you could just blame it on the dress." ("base", xpos="far_left", ypos="head") + cho "I need to make excuses to flaunt my physique now?" ("upset", "narrow", "base", "mid") + gen "That's not what I--" ("base", xpos="far_left", ypos="head") + cho "*Giggles*" ("base", "base", "base", "mid") + cho "Don't worry [name_genie_cho]...{w=0.4} I'm just messing with you." ("smile", "base", "base", "mid") + # TODO: Blacklist fallbacks have to be added. return @@ -543,25 +770,25 @@ label cho_reaction_equip_outfit_fail(item): ######################## if item == cho_outfit_cheerleader: #Req 10 whoring gen "Could you wear the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: - cho "Cheerleader--{w=0.4} [cho_genie_name]!" ("clench", "narrow", "base", "mid") + if states.cho.level < 4: + cho "Cheerleader--{w=0.4} [name_genie_cho]!" ("clench", "narrow", "base", "mid") gen "what?" ("base", xpos="far_left", ypos="head") cho "I am a real athlete!" ("disgust", "narrow", "angry", "mid") cho "I do not mingle with the cheerleading squad..." ("annoyed", "narrow", "angry", "R") - gen "Now, now [cho_name]... Cheerleaders are athletes as well." ("base", xpos="far_left", ypos="head") + gen "Now, now [name_cho_genie]... Cheerleaders are athletes as well." ("base", xpos="far_left", ypos="head") gen "Their role is just as important as yours." ("base", xpos="far_left", ypos="head") cho "Don't make me laugh..." ("open", "closed", "angry", "mid") - cho "They only thing they're good at is distracting the audience from the game." ("annoyed", "narrow", "angry", "mid") + cho "The only thing they're good at is distracting the audience from the game." ("annoyed", "narrow", "angry", "mid") gen "Well, when you put it--{w=0.3} *Err*... No, their role is very important!" ("base", xpos="far_left", ypos="head") - gen "What else are you supposed to look at during half time?" ("base", xpos="far_left", ypos="head") + gen "What else are you supposed to look at during half-time?" ("base", xpos="far_left", ypos="head") cho "Yeah... I'd rather not, thanks..." ("open", "narrow", "angry", "R") else: # < 10 - cho "No thanks... I'd rather not put on anything that those talentless posers are wearing." ("annoyed", "closed", "angry", "down") + cho "No, thanks... I'd rather not put on anything that those talentless posers are wearing." ("annoyed", "closed", "angry", "down") gen "Oh, come on... Cheerleading requires plenty of talent!" ("base", xpos="far_left", ypos="head") cho "Like what? the art of flailing pompoms around?" ("soft", "narrow", "angry", "mid") gen "Coordination, spirit, and a positive attitude." ("base", xpos="far_left", ypos="head") gen "These are all important things you need to be a good Cheerleader." ("base", xpos="far_left", ypos="head") - cho "*Pff*... Those things comes naturally to me anyway..." ("open", "narrow", "base", "R") + cho "*Pff*... Those things come naturally to me anyway..." ("open", "narrow", "base", "R") gen "{size=-4}Ability to take constructive criticism...{/size}" ("base", xpos="far_left", ypos="head") cho "*Huh*?" ("soft", "narrow", "base", "mid") gen "Never mind..." ("base", xpos="far_left", ypos="head") @@ -571,16 +798,16 @@ label cho_reaction_equip_outfit_fail(item): ################## elif item == cho_outfit_misty: #Req 15 (no bra) gen "Put on this misty cosplay for me will you?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "What on earth is this?!" ("angry", "wide", "base", "down") gen "Misty cosplay..." ("base", xpos="far_left", ypos="head") cho "Who?" ("disgust", "narrow", "angry", "mid") gen "She's a gym leader." ("base", xpos="far_left", ypos="head") cho "Who wears something like this at the gym?!" ("clench", "narrow", "raised", "down") - gen "Well, she does obviously... Although it's more of an every day clothing." ("base", xpos="far_left", ypos="head") + gen "Well, she does, obviously... Although it's more of an everyday clothing." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "narrow", "base", "mid") - cho "Yeah, no thank you..." ("annoyed", "narrow", "angry", "R") - elif cho_whoring < 10: + cho "Yeah, no, thank you..." ("annoyed", "narrow", "angry", "R") + elif states.cho.level < 10: cho "A cosplay?" ("open", "base", "raised", "mid") cho "Whoa... Who is this Misty girl to be wearing something like this?" ("open", "base", "raised", "down") gen "She's a trainer, much like me." ("base", xpos="far_left", ypos="head") @@ -590,9 +817,9 @@ label cho_reaction_equip_outfit_fail(item): gen "Well, they basically have these animals fight against each other." ("base", xpos="far_left", ypos="head") cho "What?!" ("angry", "wide", "raised", "mid") cho "Like cock fighting? Isn't that illegal?" ("clench", "narrow", "worried", "mid") - gen "I don't think there's any cocks involved, I'm not sure what kind of fiction you've been reading..." ("base", xpos="far_left", ypos="head") + gen "I don't think there are any cocks involved... I'm not sure what kind of fiction you've been reading." ("base", xpos="far_left", ypos="head") cho "What?" ("angry", "base", "base", "mid") - gen "You going to put it on or what?" ("base", xpos="far_left", ypos="head") + gen "Are you going to put it on or what?" ("base", xpos="far_left", ypos="head") cho "I'd rather not..." ("annoyed", "narrow", "base", "down") gen "Fine..." ("base", xpos="far_left", ypos="head") else: # < 15 @@ -609,18 +836,18 @@ label cho_reaction_equip_outfit_fail(item): ################## elif item == cho_outfit_party: #Req 16 (bottom) (clothing event unlock, this is a fallback) gen "Can you put on the party outfit?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "The... Party outfit?" ("open", "base", "raised", "mid") gen "Yeah... This one..." ("base", xpos="far_left", ypos="head") cho "..." ("normal", "base", "base", "down") - cho "[cho_genie_name]!" ("angry", "wide", "base", "mid") + cho "[name_genie_cho]!" ("angry", "wide", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") cho "What do you mean what? This outfit has no underwear!" ("upset", "narrow", "angry", "mid") - gen "I mean... It covers the important bits does it not?" ("base", xpos="far_left", ypos="head") + gen "I mean... It covers the important bits, does it not?" ("base", xpos="far_left", ypos="head") gen "Maybe not from every angle but if you were careful not to--" ("base", xpos="far_left", ypos="head") cho "I am not wearing this!" ("angry", "narrow", "angry", "mid") - gen "Alright, No partying for you I guess..." ("base", xpos="far_left", ypos="head") - elif cho_whoring < 10: + gen "Alright, No partying for you, I guess..." ("base", xpos="far_left", ypos="head") + elif states.cho.level < 10: cho "This outfit has no underwear!" ("angry", "base", "base", "down") gen "Oh... It doesn't?" ("base", xpos="far_left", ypos="head") cho "It does not..." ("disgust", "narrow", "base", "mid") @@ -630,31 +857,31 @@ label cho_reaction_equip_outfit_fail(item): gen "Making the Scotts proud..." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "narrow", "base", "mid") else: # < 16 - cho "This outfit is way to slutty..." ("open", "narrow", "base", "down") - cho "My nipples would poke right through this..." ("soft", "narrow", "base", "down", cheeks="blush") + cho "This outfit is way too slutty..." ("open", "narrow", "base", "down") + cho @ cheeks blush "My nipples would poke right through this..." ("soft", "narrow", "base", "down") gen "Counting on it..." ("base", xpos="far_left", ypos="head") - cho "Yeah, I'm going to have to pass on this one..." ("angry", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "Yeah, I'm going to have to pass on this one..." ("angry", "narrow", "base", "down") ################### ## Sailor Outfit ## ################### elif item == cho_outfit_sailor: #Req 18 (bottom, panties) - gen "I've got this sailors outfit with your name on it!" ("grin", xpos="far_left", ypos="head") - if cho_whoring < 4: - cho "Why would I put on a sailors outfit?" ("soft", "narrow", "base", "mid") + gen "I've got this sailor's outfit with your name on it!" ("grin", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "Why would I put on a sailor's outfit?" ("soft", "narrow", "base", "mid") gen "Say that again once you've seen it!" ("grin", xpos="far_left", ypos="head") cho "I'd rather not..." ("disgust", "narrow", "base", "mid") - elif cho_whoring < 10: - cho "Why would I put on a sailors outfit in here?" ("soft", "narrow", "raised", "mid") - gen "Cause you'd look great in it!" ("grin", xpos="far_left", ypos="head") + elif states.cho.level < 10: + cho "Why would I put on a sailor's outfit in here?" ("soft", "narrow", "raised", "mid") + gen "Because you'd look great in it!" ("grin", xpos="far_left", ypos="head") cho "... Is that the only reason?" ("disgust", "base", "base", "mid") gen "Yep, now put it on!" ("grin", xpos="far_left", ypos="head") cho "... I'll pass..." ("annoyed", "narrow", "base", "R") else: # < 18 cho "They were this outfit at sea do they?" ("open", "narrow", "raised", "down") gen "Nope, the semen goes on this outfit, not in it." ("base", xpos="far_left", ypos="head") - cho "Wait... So it's like a fetish thing?" ("clench", "wide", "base", "mid") - gen "*Err*... I mean, it was just a joke. Get it, cause semen sounds like--" ("base", xpos="far_left", ypos="head") + cho "Wait... So, it's like a fetish thing?" ("clench", "wide", "base", "mid") + gen "*Err*... I mean, it was just a joke. Get it, because semen sounds like--" ("base", xpos="far_left", ypos="head") cho "I am not putting on some fetish thing for you!" ("disgust", "base", "angry", "mid") gen "It's not..." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "narrow", "angry", "mid") @@ -665,7 +892,7 @@ label cho_reaction_equip_outfit_fail(item): ############################ elif item == cho_outfit_j_school: #Req 4 (top, bottom) gen "Could you put on the Japanese schoolgirl uniform?" ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name], I'm not Japanese..." ("annoyed", "narrow", "angry", "mid") + cho "[name_genie_cho], I'm not Japanese..." ("annoyed", "narrow", "angry", "mid") gen "So?" ("base", xpos="far_left", ypos="head") cho "Why do you want me to put on a Japanese school uniform?" ("upset", "narrow", "angry", "mid") gen "(I better tread carefully...)" ("base", xpos="far_left", ypos="head") @@ -673,7 +900,7 @@ label cho_reaction_equip_outfit_fail(item): "\"Japanese schoolgirls are hot!\"": cho "What?!" ("angry", "base", "angry", "mid") gen "*Err*... I mean, in the videos I've watched..." ("angry", xpos="far_left", ypos="head") - cho "I am not putting this on so you can live some fantasy of yours..." ("mad", "narrow", "angry", "mid") + cho "I am not putting this on, just so you can live out some fantasy of yours..." ("mad", "narrow", "angry", "mid") gen "It's not...{w=0.3} Fine..." ("base", xpos="far_left", ypos="head") "\"It's a new design I'm proposing to a Japanese wizarding school!\"": cho "Mahoutokoro?" ("soft", "narrow", "raised", "mid") @@ -688,19 +915,19 @@ label cho_reaction_equip_outfit_fail(item): ################### elif item == cho_outfit_bikini: #req 14 (bra, panties) gen "I've got this bikini for you to wear today." ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "A what?!" ("clench", "wide", "base", "mid") - gen "Well... It's technically a two piece set..." ("base", xpos="far_left", ypos="head") + gen "Well... It's technically a two-piece set..." ("base", xpos="far_left", ypos="head") gen "These ones..." ("base", xpos="far_left", ypos="head") cho "What on earth is wrong with you?" ("scream", "narrow", "angry", "down") cho "Putting on a regular bikini in your office would be bad enough but this!" ("angry", "base", "angry", "mid") gen "Define regular..." ("base", xpos="far_left", ypos="head") cho "..." ("mad", "narrow", "angry", "mid") gen "Alright, whatever... Forget I said anything..." ("base", xpos="far_left", ypos="head") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "A bikini? Why would I--" ("angry", "narrow", "base", "mid") gen "This one..." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name]!" ("clench", "narrow", "base", "down") + cho "[name_genie_cho]!" ("clench", "narrow", "base", "down") gen "What?" ("base", xpos="far_left", ypos="head") cho "How is this meant to be a bikini?" ("angry", "base", "angry", "down") cho "This would barely cover my... It would barely cover anything!" ("disgust", "narrow", "base", "down") @@ -717,9 +944,9 @@ label cho_reaction_equip_outfit_fail(item): ########################## ## Lace Lingerie Outfit ## ########################## - elif item == cho_outfit_lacelingerie: #req 14 (bra) + elif item == cho_outfit_lacelingerie: #req 14 (bra, panties) gen "Could you put on this lace underwear set?" ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "Lace what?" ("soft", "narrow", "raised", "mid") gen "Underwear!" ("base", xpos="far_left", ypos="head") gen "These ones..." ("base", xpos="far_left", ypos="head") @@ -728,7 +955,7 @@ label cho_reaction_equip_outfit_fail(item): cho "I am not changing my underwear for you!" ("disgust", "base", "angry", "mid") cho "Especially into something like this!" ("soft", "narrow", "angry", "down") cho "I can't believe you'd ask me to do this..." ("disgust", "base", "angry", "mid") - gen "I was just testing you! And you failed [cho_name]!" ("base", xpos="far_left", ypos="head") + gen "I was just testing you! And you failed [name_cho_genie]!" ("base", xpos="far_left", ypos="head") cho "A Test?! What kind of test was that supposed to be?" ("angry", "narrow", "base", "mid") gen "*Err*... A test of virtue!" ("base", xpos="far_left", ypos="head") cho "*Huh*?" ("angry", "base", "raised", "mid") @@ -737,27 +964,27 @@ label cho_reaction_equip_outfit_fail(item): cho "..." ("disgust", "narrow", "angry", "mid") gen "Just put them on already before you fail another test!" ("base", xpos="far_left", ypos="head") cho "I think I'll have to take the fail on this one..." ("normal", "narrow", "angry", "mid") - elif cho_whoring < 10: - cho "This is lingerie..." ("disgust", "narrow", "base", "down", cheeks="blush") + elif states.cho.level < 10: + cho @ cheeks blush "This is lingerie..." ("disgust", "narrow", "base", "down") gen "That it is... Well spotted, seeker." ("base", xpos="far_left", ypos="head") - cho "You can see completely through it..." ("angry", "narrow", "base", "down", cheeks="blush") + cho @ cheeks blush "You can see completely through it..." ("angry", "narrow", "base", "down") gen "I know!" ("base", xpos="far_left", ypos="head") gen "Isn't it great?" ("base", xpos="far_left", ypos="head") - cho "I am not wearing this." ("soft", "closed", "angry", "mid", cheeks="blush") + cho @ cheeks blush "I am not wearing this." ("soft", "closed", "angry", "mid") gen "(Damn... I thought I'd caught that snatch...)" ("base", xpos="far_left", ypos="head") else: # < 14 - cho "This is lingerie..." ("normal", "narrow", "base", "down", cheeks="blush") - cho "Isn't this something you'd wear to please a partner?" ("annoyed", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "This is lingerie..." ("normal", "narrow", "base", "down") + cho @ cheeks blush "Isn't this something you'd wear to please a partner?" ("annoyed", "narrow", "base", "mid") gen "I mean..." ("base", xpos="far_left", ypos="head") - cho "..." ("normal", "narrow", "base", "mid", cheeks="blush") + cho @ cheeks blush "..." ("normal", "narrow", "base", "mid") gen "What if I said it would help with aero dynamics?" ("base", xpos="far_left", ypos="head") - cho "Does it?" ("open", "narrow", "raised", "mid", cheeks="blush") + cho @ cheeks blush "Does it?" ("open", "narrow", "raised", "mid") gen "*Err*...{w} Yes?" ("base", xpos="far_left", ypos="head") cho "You don't even sound convinced yourself..." ("disgust", "narrow", "base", "mid") gen "So is that a yes, or?" ("base", xpos="far_left", ypos="head") - cho "It is--" ("open", "closed", "base", "mid", cheeks="blush") + cho @ cheeks blush "It is--" ("open", "closed", "base", "mid") gen "Nice!" ("grin", xpos="far_left", ypos="head") - cho "Not..." ("soft", "narrow", "base", "downR", cheeks="blush") + cho @ cheeks blush "Not..." ("soft", "narrow", "base", "downR") gen "Dang..." ("base", xpos="far_left", ypos="head") ################## @@ -767,9 +994,9 @@ label cho_reaction_equip_outfit_fail(item): gen "I've got the perfect dress for you to wear." ("base", xpos="far_left", ypos="head") cho "A dress?" ("soft", "base", "base", "mid") gen "Yep, this one!" ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name]!" ("clench", "narrow", "base", "down") + cho "[name_genie_cho]!" ("clench", "narrow", "base", "down") gen "Yes?" ("base", xpos="far_left", ypos="head") - gen "You're loving it?" ("base", xpos="far_left", ypos="head") + gen "You love it?" ("base", xpos="far_left", ypos="head") cho "Is this some sort of joke?" ("disgust", "narrow", "base", "mid") gen "What? Did I get the wrong size?" ("base", xpos="far_left", ypos="head") gen "I didn't buy some Chinese knock off did I?" ("base", xpos="far_left", ypos="head") @@ -784,7 +1011,7 @@ label cho_reaction_equip_outfit_fail(item): #################### elif item == cho_outfit_trainee: #req 10 (top) (Part of clothing event, this is a fallback) gen "I've got the perfect outfit for you to wear when you exercise, mind putting it on?" ("base", xpos="far_left", ypos="head") - cho "It's a bit small don't you think?" ("annoyed", "base", "base", "down") + cho "It's a bit small, don't you think?" ("annoyed", "base", "base", "down") gen "Is it?" ("base", xpos="far_left", ypos="head") cho "That tank top doesn't look like it would go down far enough..." ("soft", "narrow", "base", "down") gen "Nonsense, a little bit of airflow doesn't hurt anyone..." ("base", xpos="far_left", ypos="head") @@ -795,14 +1022,14 @@ label cho_reaction_equip_outfit_fail(item): ################ elif item == cho_outfit_smurfette: #req 15 (no bra, no panties) (part of event unlock, this is a fallback) gen "I've got this smurfette Cosplay for you to wear." ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: + if states.cho.level < 4: cho "A Cosplay?" ("angry", "narrow", "base", "mid") gen "Yep, she's that cute--" ("base", xpos="far_left", ypos="head") cho "I am not putting on some cosplay for you..." ("annoyed", "narrow", "angry", "mid") gen "..." ("base", xpos="far_left", ypos="head") else: # 4+ gen "I've got this smurfette Cosplay for you to wear." ("base", xpos="far_left", ypos="head") - cho "[cho_genie_name], this outfit has no underwear." ("angry", "narrow", "base", "mid") + cho "[name_genie_cho], this outfit has no underwear." ("angry", "narrow", "base", "mid") gen "I mean, you never saw it in the show..." ("base", xpos="far_left", ypos="head") cho "I am not putting it on..." ("annoyed", "narrow", "angry", "mid") @@ -813,11 +1040,11 @@ label cho_reaction_equip_outfit_fail(item): gen "I think It's time you wear an outfit for a real sport for once." ("base", xpos="far_left", ypos="head") cho "What do you mean real sport?" ("angry", "narrow", "base", "mid") gen "One that isn't played riding cleaning appliances." ("base", xpos="far_left", ypos="head") - cho "Quidditch is a real sport [cho_genie_name]!" ("angry", "narrow", "base", "mid") + cho "Quidditch is a real sport [name_genie_cho]!" ("angry", "narrow", "base", "mid") gen "Yeah, yeah, sure it is..." ("base", xpos="far_left", ypos="head") gen "Now put this on and show me what a real athlete should look like." ("base", xpos="far_left", ypos="head") cho "I'd rather not, seeing that Quidditch isn't a real sport... Which would make me not a real athlete..." ("annoyed", "narrow", "angry", "mid") - gen "... Well, you're the one that said it..." ("base", xpos="far_left", ypos="head") + gen "... Well, you're the one who said it..." ("base", xpos="far_left", ypos="head") cho "..." ("annoyed", "narrow", "angry", "R") #################### @@ -826,18 +1053,18 @@ label cho_reaction_equip_outfit_fail(item): elif item == cho_outfit_chun_li: #req 16 (tattoo's) gen "I've got this cosplay outfit for you to wear." ("base", xpos="far_left", ypos="head") cho "cosplay?" ("normal", "base", "raised", "mid") - if cho_whoring < 4: + if states.cho.level < 4: cho "I'm not putting on a cosplay outfit for you..." ("angry", "narrow", "base", "mid") gen "Why not?" ("base", xpos="far_left", ypos="head") cho "Just look at it!" ("mad", "base", "base", "down") cho "Even the armour has got nipples on it." ("disgust", "narrow", "angry", "down") gen "Indeed, some fine eye for detail!" ("base", xpos="far_left", ypos="head") cho "I'm not wearing it..." ("disgust", "base", "angry", "mid") - elif cho_whoring < 10: + elif states.cho.level < 10: cho "Why is this so revealing?" ("disgust", "narrow", "base", "down") gen "All good cosplays are." ("base", xpos="far_left", ypos="head") cho "Really?" ("annoyed", "narrow", "angry", "mid") - gen "Why else do you think there's so many photos like that out there?" ("base", xpos="far_left", ypos="head") + gen "Why else do you think there are so many photos like that out there?" ("base", xpos="far_left", ypos="head") cho "*Hmm*..." ("annoyed", "narrow", "base", "R") cho "I think I'll pass..." ("open", "closed", "base", "mid") cho "" ("normal", "base", "base", "mid") @@ -845,11 +1072,11 @@ label cho_reaction_equip_outfit_fail(item): cho "What's with that Tattoo?!" ("clench", "wide", "base", "down") gen "It's a dragon!" ("base", xpos="far_left", ypos="head") gen "Pretty sweet isn't--" ("base", xpos="far_left", ypos="head") - cho "Not that one, the other one!" ("annoyed", "narrow", "angry", "down", cheeks="blush") - gen "Oh, yeah, that one's pretty cool too I suppose." ("base", xpos="far_left", ypos="head") - cho "Do you even know what it says?" ("open", "narrow", "angry", "mid", cheeks="blush") + cho @ cheeks blush "Not that one, the other one!" ("annoyed", "narrow", "angry", "down") + gen "Oh, yeah, that one's pretty cool too, I suppose." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Do you even know what it says?" ("open", "narrow", "angry", "mid") gen "I don't know... Strength? Vigour?" ("base", xpos="far_left", ypos="head") - cho "I am not wearing it..." ("angry", "narrow", "base", "R", cheeks="blush") + cho @ cheeks blush "I am not wearing it..." ("angry", "narrow", "base", "R") ################## ## Police Woman ## @@ -862,39 +1089,210 @@ label cho_reaction_equip_outfit_fail(item): gen "Did I say cosplay? I meant uniform!" ("base", xpos="far_left", ypos="head") cho "*Hmm*... Let me see it." ("annoyed", "narrow", "base", "mid") gen "This one." ("base", xpos="far_left", ypos="head") - if cho_whoring < 4: - cho "I don't know about that [cho_genie_name]..." ("disgust", "narrow", "base", "down") + if states.cho.level < 4: + cho "I don't know about that [name_genie_cho]..." ("disgust", "narrow", "base", "down") cho "Looks a lot like cosplay to me..." ("disgust", "narrow", "base", "down") gen "So what? I'm sure you'll look great in it." ("base", xpos="far_left", ypos="head") cho "I think I'll pass..." ("open", "narrow", "base", "R") else: # 4+ cho "Why is this top so small?" ("angry", "narrow", "base", "down") - gen "To put more focus on your breasts obviously." ("base", xpos="far_left", ypos="head") - cho "My... Didn't you say this was a uniform?" ("disgust", "narrow", "angry", "mid", cheeks="blush") - cho "Why would a uniform put focus..." ("open", "closed", "angry", "mid", cheeks="blush") + gen "To put more focus on your breasts, obviously." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "My--{w=0.2} Didn't you say this was a uniform?" ("disgust", "narrow", "angry", "mid") + cho @ cheeks blush "Why would a uniform put focus--" ("open", "closed", "angry", "mid") gen "Well... The cosplay version--" ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "narrow", "raised", "mid") gen "What I meant to say was..." ("base", xpos="far_left", ypos="head") cho "..." ("disgust", "base", "angry", "mid") gen "Alright then... Maybe some other time." ("base", xpos="far_left", ypos="head") + ################### + ## Bunny Costume ## + ################### + elif item == cho_outfit_bunny: #req 15 (no bra, no panties) + gen "How about you take the leap and wear something that shows off your figure for a change?" ("base", xpos="far_left", ypos="head") + cho "What?!" ("disgust", "base", "base", "mid") + gen "A bunny costume!" ("grin", xpos="far_left", ypos="head") + gen "Get it? Take the leap?" ("grin", xpos="far_left", ypos="head") + cho "..." ("disgust", "base", "base", "stare") + gen "Cause that's what bunnies do." ("base", xpos="far_left", ypos="head") + gen "Well, technically they hop, but--" ("base", xpos="far_left", ypos="head") + cho "I sincerely hope you're joking..." ("open", "narrow", "angry", "mid") + gen "Yes, so why aren't anyone laughing?" ("base", xpos="far_left", ypos="head") + cho "Oh... Thank Merlin..." ("disgust", "closed", "worried", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + cho "..." ("base", "base", "base", "mid") + gen "(Wait...)" ("base", xpos="far_left", ypos="head") + + ###################### + ## Reindeer Costume ## + ###################### + elif item == cho_outfit_reindeer: #req 15 (no bra, no panties) + gen "What do you say about putting on this reindeer costume?" ("base", xpos="far_left", ypos="head") + cho "A reindeer costume? Is this like a Christmas thing?" ("soft", "base", "raised", "mid") + gen "Something like that." ("base", xpos="far_left", ypos="head") + gen "Here you go." ("base", xpos="far_left", ypos="head") + cho "Well, that's kind of-- Hold on..." ("angry", "narrow", "base", "down") + cho @ cheeks blush "There's a hole in the crotch!" ("mad", "base", "base", "mid") + gen "Oh, really?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Surely you're not expecting--" ("angry", "base", "angry", "mid") + gen "Of course not! It must've happened during shipping!" ("angry", xpos="far_left", ypos="head") + gen "Those bloody owls and their claws!" ("angry", xpos="far_left", ypos="head") + cho "If Owls did that, then what's up with the mistletoe right above it?!" ("annoyed", "narrow", "angry", "mid") + gen "*Err*... I asked for it to be the centrepiece, so they must've thought I meant the centre of the costume!" ("angry", xpos="far_left", ypos="head") + cho "Then shouldn't it be on the stomach?" ("open", "narrow", "angry", "mid") + cho "Hold on... I can see the seams around this hole, no owl could--" ("angry", "base", "base", "mid") + gen "Let me see!" ("open", xpos="far_left", ypos="head") + gen "Oh, you're right!" ("angry", xpos="far_left", ypos="head") + gen "This isn't at all what I asked for!" ("angry", xpos="far_left", ypos="head") + gen "I'm going to have to give that seamstress a piece of my mind!" ("angry", xpos="far_left", ypos="head") + cho "..." ("disgust", "narrow", "base", "mid") + + ################### + ## Virgin Killer ## + ################### + elif item == cho_outfit_virgin_killer: #req 14 (no bra, no panties) + gen "Ever heard of a virgin killer?" ("base", xpos="far_left", ypos="head") + cho "Can't say that I have, is it some kind of drink?" ("soft", "base", "base", "mid") + gen "Good guess, but no. It's a type of jumper." ("base", xpos="far_left", ypos="head") + cho "I see... Why are you telling me this?" ("open", "narrow", "raised", "mid") + gen "Well, I've heard that they're the rage these days, so I got you one." ("base", xpos="far_left", ypos="head") + cho "Oh, well, that's very kind of you." ("base", "base", "base", "mid") + gen "Here you go." ("base", xpos="far_left", ypos="head") + cho "..." ("disgust", "narrow", "base", "down") + cho @ cheeks blush "*Ehm*... Did you actually look at this before you decided to give it to me?" ("open", "narrow", "base", "down") + gen "Not really, why?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Well, it's a bit revealing." ("upset", "narrow", "base", "mid") + gen "What?! Really?" ("base", xpos="far_left", ypos="head") + gen "But I spent so much money on it!" ("base", xpos="far_left", ypos="head") + gen "Are you sure it's that bad?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "Yeah, it's pretty bad alright." ("angry", "narrow", "base", "down") + gen "Well, I guess I'll have to try to return it... Damn!" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "" ("angry", "narrow", "base", "mid") + + ########################## + ## Sheer Nightie Outfit ## + ########################## + elif item == cho_outfit_sheer_nightie: #Req 16 (panties) + gen "I've not this nightie for you to wear." ("base", xpos="far_left", ypos="head") + cho "A nightie?" ("soft", "base", "base", "mid") + gen "That's right." ("base", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "Why on earth would I put on a nightie if I'm not going to bed?" ("disgust", "base", "base", "mid") + gen "It's like breakfast for dinner, sometimes you've just got to do something to keep things different." ("base", xpos="far_left", ypos="head") + cho "Breakfast for dinner?!" ("angry", "wide", "base", "stare") + cho "Are you crazy?" ("mad", "wide", "base", "mid") + gen "I mean, it might be a bit quirky, but--" ("base", xpos="far_left", ypos="head") + cho "Doing something like that would completely mess up my metabolism!" ("mad", "narrow", "base", "mid") + cho "My daily routine!" ("mad", "happyCl", "base", "mid") + gen "I see... You're one of those people." ("base", xpos="far_left", ypos="head") + elif states.cho.level < 10: + cho "Isn't that a little bit weird?" ("open", "narrow", "raised", "mid") + gen "Really? And here I thought nighties were common..." ("base", xpos="far_left", ypos="head") + cho "They are, if you're about to go to bed!" ("angry", "wink", "base", "mid") + gen "...{w=0.4} *Yawn*." ("base", xpos="far_left", ypos="head") + cho "..." ("disgust", "narrow", "base", "mid") + gen "No?" ("base", xpos="far_left", ypos="head") + cho "No." ("disgust", "narrow", "base", "mid") + else: # < 15 + gen "This one, in particular." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "But, [name_genie_cho]!" ("angry", "base", "base", "down") + cho @ cheeks blush "These are see-through!" ("angry", "narrow", "base", "down") + gen "So?" ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "How would wearing these be any different to just standing here in the nude?" ("angry", "narrow", "base", "mid") + gen "Would you rather do that instead?" ("base", xpos="far_left", ypos="head") + cho @ cheeks heavy_blush "..." ("angry", "narrow", "base", "downR") #blush + gen "Alright fine, never mind then..." ("base", xpos="far_left", ypos="head") + + ########################## + ## Sporty Bikini Outfit ## + ########################## + elif item == cho_outfit_sporty_bikini: #Req 12 (panties) + gen "I've got this sporty bikini for you to wear." ("base", xpos="far_left", ypos="head") + if states.cho.level < 4: + cho "A what?!" ("angry", "wide", "base", "stare") + gen "A bikini, that's sporty..." ("base", xpos="far_left", ypos="head") + gen "You're into that sort of thing, are you not?" ("base", xpos="far_left", ypos="head") + cho "Bikinis?!" ("angry", "wide", "base", "mid") + cho "Why would you think a bikini is an appropriate gift?" ("angry", "wink", "angry", "mid") + gen "Well, it said \"sporty\" in the name, so I thought you'd like it." ("base", xpos="far_left", ypos="head") + cho "*Ugh*..." ("disgust", "narrow", "angry", "mid") + elif states.cho.level < 10: + cho "A Bikini?" ("angry", "base", "base", "mid") + gen "Yes, a sporty one!" ("base", xpos="far_left", ypos="head") + cho "Well, that's a bit of a weird gift, but I suppose it could be useful..." ("soft", "narrow", "base", "R") + gen "That's what I figured." ("base", xpos="far_left", ypos="head") + gen "Here you are." ("base", xpos="far_left", ypos="head") + cho "!!!" ("angry", "wide", "base", "down") + cho "[name_genie_cho], what is up with these bikini bottoms!" ("angry", "narrow", "base", "mid") + gen "Pretty cool, right?" ("base", xpos="far_left", ypos="head") + gen "Now, if you could just put them--" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I think I'll pass." ("angry", "closed", "base", "mid") + gen "And here I thought you were the sporty type..." ("base", xpos="far_left", ypos="head") + else: # < 12 + cho "Alright... Let me see it..." ("soft", "narrow", "base", "mid") + gen "Here you are." ("base", xpos="far_left", ypos="head") + cho "*Hmm*... The top looks nice... Although the bikini bottoms are a bit revealing, don't you think?" ("soft", "narrow", "raised", "down") + gen "Are they? They don't seem that revealing to me." ("base", xpos="far_left", ypos="head") + cho "Just look at the back!" ("angry", "narrow", "base", "mid") + gen "The back?" ("base", xpos="far_left", ypos="head") + cho "Yes, the back!" ("angry", "narrow", "base", "mid") + gen "Seems fine to me... I doubt I'll ever see them from the back, anyway." ("base", xpos="far_left", ypos="head") + cho "..." ("disgust", "narrow", "base", "mid") + + ####################### + ## Club Dress Outfit ## + ####################### + elif item == cho_outfit_club_dress: #Req 16 (panties) + if states.cho.level < 4: + gen "I've got a dress for you to wear." ("base", xpos="far_left", ypos="head") + cho "A dress?" ("soft", "narrow", "base", "mid") + gen "That's right..." ("base", xpos="far_left", ypos="head") + gen "It's this one right here." ("base", xpos="far_left", ypos="head") + cho "... Are you serious?" ("angry", "base", "base", "down") + gen "What do you mean? Don't you like my gift?" ("base", xpos="far_left", ypos="head") + cho "This would barely go down past my..." ("angry", "base", "base", "mid") + gen "Yes?" ("base", xpos="far_left", ypos="head") + cho "*Ahem*... Thank you [name_genie_cho]... But I'll have to refuse." ("angry", "closed", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + elif states.cho.level < 10: + gen "I've got a dress for you to wear." ("base", xpos="far_left", ypos="head") + cho "A dress?" ("soft", "narrow", "base", "mid") + gen "That's right..." ("base", xpos="far_left", ypos="head") + gen "It's this one right here." ("base", xpos="far_left", ypos="head") + cho "Whoa... Looks very tight..." ("angry", "base", "base", "down") + gen "Some would say aerodynamic..." ("base", xpos="far_left", ypos="head") + cho "You want me to wear this during Quidditch?!" ("angry", "wide", "base", "mid") + gen "That's not what I--" ("base", xpos="far_left", ypos="head") + cho "I refuse!" ("angry", "closed", "angry", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + else: # < 16 + gen "I've got this dress for you to wear." ("base", xpos="far_left", ypos="head") + cho "A dress?" ("open", "base", "base", "mid") + gen "Yes, it's this one right here..." ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "It's--" ("soft", "narrow", "base", "down") + gen "Nice, isn't it?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "I suppose... Although, what's up with those panties?" ("soft", "narrow", "base", "down") + gen "What about them?" ("base", xpos="far_left", ypos="head") + cho @ cheeks blush "They're pretty much see-through." ("disgust", "narrow", "base", "down") + gen "Oh... I suppose they are..." ("base", xpos="far_left", ypos="head") + gen "So... You'll wear them, right?" ("base", xpos="far_left", ypos="head") + if states.cho.level < 13: + cho @ cheeks heavy_blush "*Hmm*...{w=0.4} I think I'll pass..." ("open", "closed", "base", "mid") + else: + cho @ cheeks heavy_blush "*Hmm*...{w=0.4} Maybe some other time..." ("open", "closed", "base", "mid") + else: - $ random_number = renpy.random.randint(1, 5) - if random_number == 1: + random: cho "I am not wearing that..." ("clench", "closed", "base", "mid") - elif random_number == 2: - cho "Thanks but no thanks..." ("base", "base", "base", "mid") - elif random_number == 3: + cho "Thanks but no, thanks..." ("base", "base", "base", "mid") cho "You actually think I'd put on something like that?" ("angry", "base", "base", "mid") - elif random_number == 4: - cho "Do I look like Granger [cho_genie_name]? I am not wearing something like that..." ("disgust", "narrow", "base", "mid") - elif random_number == 5: + cho "Do I look like Granger [name_genie_cho]? I am not wearing something like that..." ("disgust", "narrow", "base", "mid") cho "This is too much." ("mad", "closed", "base", "mid") return label cho_reaction_blacklist(item): - cho "Is that really necessary, [cho_genie_name]?" + cho "Is that really necessary, [name_genie_cho]?" if "top" in item.blacklist and cho.is_worn("top"): cho "My upper garment won't fit with this." @@ -908,26 +1306,26 @@ label cho_reaction_blacklist(item): if "panties" in item.blacklist and cho.is_worn("panties"): cho "Seems as if I would need to take off my panties first to wear this." - cho "You're asking a lot, [cho_genie_name], you know that?" + cho "You're asking a lot, [name_genie_cho], you know that?" gen "Come on Cho, you're my favourite {size=-6}snatch grabber{/size} in training!" ("base", xpos="far_left", ypos="head") cho "What was that?" gen "I said. You're my favourite snitch catcher in training." ("base", xpos="far_left", ypos="head") - cho "*sigh* Alright, if it means this much to you [cho_genie_name]..." + cho "*Sigh* Alright, if it means this much to you [name_genie_cho]..." gen "Hell yes!" ("grin", xpos="far_left", ypos="head") return label cho_reaction_fallback(item): - if cho_whoring < get_character_requirement("cho", "unequip top") and not "top" in cho.blacklist and not item.type == "top": + if states.cho.level < get_character_requirement("cho", "unequip top") and not "top" in cho.blacklist and not item.type == "top": $ cho.equip(cho_top_school1) - if cho_whoring < get_character_requirement("cho", "unequip bottom") and not "bottom" in cho.blacklist and not item.type == "bottom": + if states.cho.level < get_character_requirement("cho", "unequip bottom") and not "bottom" in cho.blacklist and not item.type == "bottom": $ cho.equip(cho_bottom_school1) - if cho_whoring < get_character_requirement("cho", "unequip bra") and not "bra" in cho.blacklist and not item.type == "bra": + if states.cho.level < get_character_requirement("cho", "unequip bra") and not "bra" in cho.blacklist and not item.type == "bra": $ cho.equip(cho_bra_basic1) - if cho_whoring < get_character_requirement("cho", "unequip panties") and not "panties" in cho.blacklist and not item.type == "panties": + if states.cho.level < get_character_requirement("cho", "unequip panties") and not "panties" in cho.blacklist and not item.type == "panties": $ cho.equip(cho_panties_basic1) cho "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/genie/chibi.rpy b/game/scripts/characters/genie/chibi.rpy index 3acc84d2..f718c99e 100644 --- a/game/scripts/characters/genie/chibi.rpy +++ b/game/scripts/characters/genie/chibi.rpy @@ -24,7 +24,7 @@ label gen_chibi(action=None, xpos=None, ypos=None, flip=True, pic=None): hide screen genie_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ chair_left_OBJ.hidden = False $ desk_OBJ.hidden = False @@ -83,7 +83,7 @@ label gen_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi(None, "door", "base", flip) with d3 @@ -92,7 +92,7 @@ label gen_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ genie_chibi.show() $ genie_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ genie_chibi.hide() with d3 pause .5 diff --git a/game/scripts/characters/genie/common.rpy b/game/scripts/characters/genie/common.rpy index 614ca109..7d92ada7 100644 --- a/game/scripts/characters/genie/common.rpy +++ b/game/scripts/characters/genie/common.rpy @@ -3,7 +3,6 @@ define character.genie_say = Character(_("Genie"), show_icon="genie") init python: def gen(what, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): - global genie_xpos, genie_ypos, genie_offset, genie_flip, genie_zoom redraw = False tag = "genie_main" layer = "screens" @@ -11,37 +10,42 @@ init python: #showing = renpy.showing(name=tag, layer=layer) if xpos != None or ypos != None: - xpos = genie_xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = genie_ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) - genie_xpos = xpos - genie_ypos = ypos + xpos = states.gen.image.xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) + ypos = states.gen.image.ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) + states.gen.image.xpos = xpos + states.gen.image.ypos = ypos head_ypos = sprite_pos.get("y").get("head") far_xpos = sprite_pos.get("x").get("far_left") - if genie_ypos in ("head", head_ypos): - genie_offset = (-25, 630) + if states.gen.image.ypos in ("head", head_ypos): + states.gen.image.offset = (-25, 630) else: - genie_offset = (0, 600) + states.gen.image.offset = (0, 600) if face: variant = "genie {}".format(face) renpy.set_tag_attributes(variant) side = "genie" + at_list = [] + + if animation: + at_list.append(animation) + if renpy.showing("genie", layer=layer): - renpy.show(variant, layer=layer, tag="genie") + renpy.show(variant, layer=layer, tag="genie", at_list=at_list) if flip != None: - genie_flip = -1 if flip else 1 + states.gen.image.xzoom = -1 if flip else 1 if what: character.genie_say(what, image=side, **kwargs) label update_genie: - $ genie_flip = 1 - $ genie_zorder = 15 + $ states.gen.image.xzoom = 1 + $ states.gen.image.zorder = 15 call gen_chibi("sit_behind_desk") return diff --git a/game/scripts/characters/genie/vars.rpy b/game/scripts/characters/genie/vars.rpy index cbbce042..615c39b7 100644 --- a/game/scripts/characters/genie/vars.rpy +++ b/game/scripts/characters/genie/vars.rpy @@ -1,16 +1,38 @@ -# Main -default genie_xpos = 200 -default genie_ypos = 0 -default genie_offset = (0, 600) -default genie_zorder = 15 -default genie_flip = 1 -default genie_zoom = 0.2 -default genie_outfit = "robes" -# Flags -default genie_masturbating = False -default dumbledore_name = _("Albus Dumbledore") +# General states -# Stats +default states.gen.masturbating = False -default genie_quid_position = "???" # For stats. +# Image states + +default states.gen.image.xpos = 200 +default states.gen.image.ypos = 0 +default states.gen.image.offset = (0, 600) +default states.gen.image.zorder = 15 +default states.gen.image.xzoom = 1 +default states.gen.image.zoom = 0.2 + +# Event flags + +default states.gen.ev.intro.e1_complete = False +default states.gen.ev.intro.e2_complete = False +default states.gen.ev.intro.e3_complete = False +default states.gen.ev.intro.e4_complete = False +default states.gen.ev.intro.bird_examined = False +default states.gen.ev.intro.desk_examined = False +default states.gen.ev.intro.cupboard_examined = False +default states.gen.ev.intro.door_examined = False +default states.gen.ev.intro.fireplace_examined = False +default states.gen.ev.tonks.metamorphmagi_aware = False # Genie knows about Tonks being a Metamorphmagus + +# Statistics + +default states.gen.stats.quidditch_position = "Nobody" +default states.gen.stats.masturbated_to_hermione = 0 +default states.gen.stats.masturbated_to_luna = 0 +default states.gen.stats.masturbated_to_cho = 0 +default states.gen.stats.hangouts_with_snape = 0 + +# Names + +default name_dumbledore_genie = "Albus Dumbledore" diff --git a/game/scripts/characters/genie/wardrobe.rpy b/game/scripts/characters/genie/wardrobe.rpy index beb78f20..2dcf7d69 100644 --- a/game/scripts/characters/genie/wardrobe.rpy +++ b/game/scripts/characters/genie/wardrobe.rpy @@ -1,57 +1,50 @@ init python: def genie_transform(trans, st, at): - trans.xpos = genie_xpos - trans.ypos = genie_ypos - trans.zoom = genie_zoom - trans.xzoom = genie_flip - trans.offset = genie_offset + trans.xpos = states.gen.image.xpos + trans.ypos = states.gen.image.ypos + trans.zoom = states.gen.image.zoom + trans.xzoom = states.gen.image.xzoom + trans.offset = states.gen.image.offset return 0 layeredimage genie_stats: anchor (0.0, 1.0) - group hair: - attribute nude "characters/genie/hair.webp" - - group fixes: - attribute robes "characters/genie/robes_fix.webp" - always "characters/genie/base.webp" + always "characters/genie/outfits/robes.webp" + always "characters/genie/outfits/robes_beard.webp" - group face: - attribute base Null() - attribute grin "characters/genie/grin.webp" - attribute angry "characters/genie/angry.webp" - attribute smile "characters/genie/smile.webp" - attribute open "characters/genie/open.webp" - - group outfit: - - attribute nude Null() - attribute robes default "characters/genie/robes.webp" + # TODO: Add outfit support; Low priority layeredimage genie: anchor (0.0, 1.0) - group hair: + group outfit: + attribute robes default null attribute nude "characters/genie/hair.webp" - group fixes: - attribute robes "characters/genie/robes_fix.webp" - always "characters/genie/base.webp" group face: - attribute base Null() + attribute base default null attribute grin "characters/genie/grin.webp" attribute angry "characters/genie/angry.webp" attribute smile "characters/genie/smile.webp" attribute open "characters/genie/open.webp" group outfit: + attribute robes default "characters/genie/outfits/robes.webp" + attribute nude null + attribute santa "characters/genie/outfits/santa.webp" - attribute nude Null() - attribute robes default "characters/genie/robes.webp" + group face multiple: + attribute robes default "characters/genie/outfits/robes_beard.webp" if_all ["robes"] + attribute nude "characters/genie/beard.webp" if_all ["nude"] + attribute base "characters/genie/outfits/santa_beard_base.webp" if_all ["santa", "base"] + attribute grin "characters/genie/outfits/santa_beard_grin.webp" if_all ["santa", "grin"] + attribute angry "characters/genie/outfits/santa_beard_angry.webp" if_all ["santa", "angry"] + attribute smile "characters/genie/outfits/santa_beard_smile.webp" if_all ["santa", "smile"] + attribute open "characters/genie/outfits/santa_beard_open.webp" if_all ["santa", "open"] at Transform(function=genie_transform) diff --git a/game/scripts/characters/hermione/chibi.rpy b/game/scripts/characters/hermione/chibi.rpy index e331520d..e334d82c 100644 --- a/game/scripts/characters/hermione/chibi.rpy +++ b/game/scripts/characters/hermione/chibi.rpy @@ -10,7 +10,7 @@ label her_chibi(action=None, xpos=None, ypos=None, flip=False, pic=None): hide hermione_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ hermione_chibi.hide() with d3 pause .5 @@ -31,7 +31,7 @@ label her_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call her_chibi(None, "door", "base", flip) with d3 if xpos or ypos: @@ -39,7 +39,7 @@ label her_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ hermione_chibi.show() $ hermione_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ hermione_chibi.hide() with d3 pause .5 @@ -129,7 +129,7 @@ init python: elif chibi.action == "lift_skirt": if hermione.is_worn("panties"): #TODO Figure out a better way to determine the expression (so it can be reused in a different event) - if hg_pf_admire_panties.counter <= 1: + if not states.her.status.show_panties: # Reluctant expression chibi["base"] = "~/lift_skirt/panties_00.webp" else: @@ -162,7 +162,7 @@ label her_chibi_scene(action="reset", xpos="mid", ypos="base", trans=None): $ zord = hermione_chibi.zorder # Note: Images are inconsistent, some have the chair already in it, some don't, it's kind of stupid. - if current_room == "main_room": + if states.room == "main_room": $ desk_OBJ.hidden = True # Hide desk object $ chair_left_OBJ.hidden = True # Hide left chair object diff --git a/game/scripts/characters/hermione/chitchats.rpy b/game/scripts/characters/hermione/chitchats.rpy index d9b93bdc..cfc3b758 100644 --- a/game/scripts/characters/hermione/chitchats.rpy +++ b/game/scripts/characters/hermione/chitchats.rpy @@ -1,489 +1,539 @@ label hermione_chitchat: - if hermione_chatted: + if states.her.chatted: return - $ hermione_chatted = True - - $ random_number = renpy.random.randint(1, 10) - - ### WHORING LEVEL 01 ### - if her_whoring >= 0 and her_whoring <= 2: - if random_number == 1: - her "Maybe, if I'd work harder, I could squeeze a few more classes into my schedule..." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 2: - her "Actually, I don't mind being called a \"know-it-all\"." ("open", "closed", "angry", "mid") - her "I think it's rather flattering..." - her "" ("normal", "base", "base", "mid") - - elif random_number == 3: - her "The basilisk, also known as the king of serpents." ("open", "closed", "angry", "mid") - her "{i}Herpo the Foul{/i} was the first to breed a Basilisk." - her "He accomplished that by--" - her "Oh, I'm sorry, professor, we have another test tomorrow..." ("open", "base", "worried", "R") - her "I Just want to make sure that I'm ready..." - her "" ("base", "base", "base", "mid") - - elif random_number == 4: - her "If my body wouldn't require sleep..." ("open", "base", "worried", "R") - her "I would be able to spend twice as much time with studying!?" ("angry", "wide", "base", "stare") - her "I wonder if there's a spell for that..." ("open", "base", "base", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 5: - her "So far professor Trelawney did not teach me a single piece of any actual knowledge, sir." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 6: - her "If only more students were honest, responsible, and diligent like me." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 7: - her "How can some people be so ignorant to the world's problems?" ("open", "closed", "angry", "mid") - her "Personally, I think that every single one of us should work harder to make our world a better place." - her "" ("normal", "base", "base", "mid") - - elif random_number == 8: - her "It's been raining quite a lot lately..." ("open", "base", "worried", "R") - her "" ("base", "base", "base", "mid") - - elif random_number == 9: - her "Very few people know this..." ("open", "base", "worried", "R") - her "... But I really like chocolate." ("base", "base", "base", "mid") - her "" ("base", "base", "base", "mid") - - elif random_number == 10: - her "I am sorry sir, but I don't really have time for idle chat chats..." ("base", "base", "base", "mid") - her "" ("normal", "base", "base", "mid") - - - ### WHORING LEVEL 02 ### - if her_whoring >= 3 and her_whoring <= 5: - if random_number == 1: - her "I read somewhere that a full moon often makes it easier to concentrate at a task at hand..." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 2: - her "I love nothing more than to curl up by a fireplace during a rainstorm with a good book..." ("base", "base", "base", "mid") - her "" ("base", "base", "base", "mid") - - elif random_number == 3: - her "A peculiar rumour concerning professor Snape has been circulating in the school lately..." ("open", "base", "worried", "R") - her "No, I probably shouldn't..." ("soft", "base", "base", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 4: - her "Despite the questionable nature of the favours you have been buying from me lately, sir..." ("open", "closed", "angry", "mid") - her "I am grateful to you for your help..." - her "Gryffindor needs those points now more than ever..." ("annoyed", "squint", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 5: - her "Why Quidditch is so popular among the girls is simply beyond me..." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 6: - her "The \"Men's Rights Movement\" is steadily gaining popularity." ("open", "closed", "angry", "mid") - her "It's very fulfilling to know that you are helping to improve our society." - her "" ("normal", "base", "base", "mid") - - elif random_number == 7: - her "The Hogwarts school library is considered to be quite extensive..." ("open", "closed", "angry", "mid") - her "Still, I can't help but wish that it'd be bigger..." ("open", "squint", "base", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 8: - her "As one of the top students in this school I have a reputation to keep..." ("open", "base", "worried", "R") - her "People look up to me..." - her "... So, your discretion is very appreciated, sir." ("open", "base", "base", "mid") - her "" ("annoyed", "base", "worried", "R") - - elif random_number == 9: - her "That favour I sold you the other say, sir..." ("open", "base", "worried", "mid") - her "......." ("normal", "happyCl", "worried", "mid") - her "I only agreed to it because the needs of my house always come first." ("open", "narrow", "worried", "down") - her "I just wanted you to know that, sir..." ("upset", "closed", "base", "mid") - - elif random_number == 10: - her "The \"Autumn Ball\" is still several months away..." ("open", "closed", "angry", "mid") - her "But some girls are already discussing what kind of dress they are going to wear..." ("open", "base", "worried", "mid") - her "" ("annoyed", "narrow", "annoyed", "mid") - - - ### WHORING LEVEL 03 ### - if her_whoring >= 6 and her_whoring <= 8: - if random_number == 1: - her "Do you remember when you asked me to show you my panties for the first time sir?" ("open", "closed", "angry", "mid") - her "I was so furious with you then..." - her "Now I see that I was just being selfish..." ("annoyed", "squint", "angry", "mid") - her "After all, the honour of my house is at stake here..." - her "And that shall be my one and only concern!" ("normal", "squint", "angry", "mid") - - elif random_number == 2: - her "The rate at which the Slytherin house has been gaining points lately is simply ridiculous." ("open", "closed", "angry", "mid") - her "I think professor Snape might be behind it." ("angry", "base", "angry", "mid") - her "You should look into this, sir." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 3: - her "Ashwinder eggs, rose thorns, moonstone..." ("open", "base", "worried", "R") - her "*huh*? Am I thinking out loud again?" ("open", "base", "worried", "mid") - her "I apologise..." ("grin", "happyCl", "worried", "mid",emote="sweat") - her "It's just that we have another test soon..." ("soft", "base", "base", "R") - - elif random_number == 4: - her "I dislike the entire house of Slytherin with all my heart, sir." ("angry", "base", "angry", "mid") - - elif random_number == 5: - her "Hogwarts has really become a second home to me lately..." ("open", "closed", "base", "mid") - her "I don't even miss my parents nearly as much anymore..." ("annoyed", "narrow", "worried", "down") - her "Come to think of it I don't miss them at all..." ("angry", "wide", "base", "stare") - her "I'm an awful daughter..." ("angry", "narrow", "base", "down") - - elif random_number == 6: - her "*Yawn*! I read about this technique that supposedly allows you to cut your sleep time in half..." ("annoyed", "narrow", "annoyed", "up") - her "It don't think it's working though.... *Yawn*!" ("annoyed", "narrow", "worried", "down") - - elif random_number == 7: - her "Even after I graduate from Hogwarts I plan to keep on working hard." ("open", "closed", "angry", "mid") - her "If I give it my all I can make this world a better place, I know it!" ("open", "base", "base", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 8: - her "Somehow I have the feeling that this year will become a pivotal turning point in my life..." ("open", "base", "worried", "mid") - her "" ("soft", "base", "base", "R") - - elif random_number == 9: - her "Some of the less travelled school corridors are not very well lit and rather dusty..." ("open", "closed", "angry", "mid") - her "Please take care of this, sir..." - her "" ("normal", "base", "base", "mid") - - elif random_number == 10: - her "I've read about this thing called \"Time-Turner\"." ("open", "base", "base", "mid") - her "It allows the user to control the flow of time..." - her "Having a device like that would do wonders for my schedule..." ("open", "closed", "base", "mid") - her "" ("annoyed", "squint", "base", "mid") - - - ### WHORING LEVEL 04 ### - if her_whoring >= 9 and her_whoring <= 11: - if random_number == 1: - her "My \"men's rights movement\" has been losing its popularity lately..." ("open", "base", "worried", "mid") - her "It's as if people don't even care!" ("annoyed", "narrow", "angry", "R") - - elif random_number == 2: - her "Thank you for buying all those favours from me, sir." ("open", "closed", "angry", "mid") - her "Some of them were borderline inappropriate, sure..." ("normal", "squint", "angry", "mid") - her "But I don't mind sacrificing my dignity if it will allow Gryffindor to compete with Slytherin on equal ground." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 3: - her "Quidditch is stupid!" ("angry", "base", "angry", "mid") - her "There. I said it." ("annoyed", "squint", "base", "mid") - - elif random_number == 4: - her "Sir, there is something about professor Snape that I think you should know..." ("open", "base", "base", "mid") - her "................." ("open", "base", "worried", "R") - her "........................." ("annoyed", "squint", "angry", "mid") - her "*Ehm*... Never mind..." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 5: - her "Some of the Slytherin girls sell sexual favours almost openly these days..." ("open", "closed", "angry", "mid") - her "You need to put an end to such practices, sir." ("open", "base", "base", "mid") - her "(I can barely keep up...)" ("annoyed", "narrow", "angry", "R") - - elif random_number == 6: - her "Life works in mysterious ways..." ("open", "base", "worried", "R") - her "Wouldn't you agree, sir?" ("open", "squint", "base", "mid") - her "" ("soft", "base", "base", "R") - - elif random_number == 7: - her "Slytherins..." ("angry", "base", "angry", "mid",emote="angry") - her "" ("angry", "base", "angry", "mid") - - elif random_number == 8: - her "I've been spending so much time in your office lately, sir..." ("open", "base", "worried", "R") - her "If I'm not careful some people may think that I have become your pet..." ("open", "base", "worried", "mid") - her "I meant to say the teacher's pet..." ("angry", "happyCl", "worried", "mid",emote="sweat") - her "" ("normal", "happyCl", "worried", "mid") - - elif random_number == 9: - her "My favourite colours?" ("open", "base", "base", "mid") - her "scarlet and gold of course!" ("open", "base", "base", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 10: - her "Is it weird that my best friends are boys?" ("open", "base", "worried", "R") - her "" ("base", "base", "base", "mid") - - - ### WHORING LEVEL 05 ### - if her_whoring >= 12 and her_whoring <= 14: - if random_number == 1: - her "Sir, with all due respect..." ("normal", "squint", "angry", "mid") - her "Professor Snape's debauchery is getting out of hand!" - her "You must do something, sir." ("open", "base", "worried", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 2: - her "I am willing to go to great lengths to insure the superiority of my house..." ("open", "closed", "angry", "mid") - her "But that does not mean that I take pleasure in selling myself out to you in exchange for house points, sir." - her "{size=-4}(Like some sort of prostitute-witch...){/size}" ("angry", "narrow", "base", "down") - - elif random_number == 3: - her "What will it be today, sir?" ("annoyed", "narrow", "annoyed", "mid") - - elif random_number == 4: - her "lately I have not been studying nearly as much as I used to..." ("open", "base", "worried", "mid") - her "Am I losing my motivation?" ("open", "base", "worried", "R") - her "" ("soft", "base", "base", "R") - - elif random_number == 5: - her "My least favourite subject?" ("open", "squint", "base", "mid") - her "Divination." ("annoyed", "squint", "angry", "mid") - - elif random_number == 6: - her "My father used to say: \"Magic is just science we don't understand yet\"." ("open", "base", "base", "mid") - her "He couldn't be more wrong of course..." ("open", "base", "worried", "R") - her "" ("soft", "base", "base", "R") - - elif random_number == 7: - her "Despite everything..." ("open", "closed", "angry", "mid") - her "I am thankful that you keep on buying favours from me, sir..." ("open", "base", "worried", "R") - her "" ("soft", "base", "base", "R") - - elif random_number == 8: - her "It's quite cold outside today, isn't it?" ("open", "base", "base", "mid") - her "" ("soft", "base", "base", "mid") - - elif random_number == 9: - her "The \"Autumn Ball\" will be soon..." ("open", "base", "base", "mid") - her "" ("soft", "base", "base", "mid") - - elif random_number == 10: - her "People hardly show up for my \"men's rights movement\" meetings at all anymore..." ("open", "base", "worried", "R") - her "" ("soft", "base", "base", "R") - - - ### WHORING LEVEL 06 ### - if her_whoring >= 15 and her_whoring <= 17: - if random_number == 1: - her "Would you like me to show you my breasts today, sir?" ("open", "narrow", "worried", "down") - her "Yes... I would willingly expose myself to you, professor..." ("base", "narrow", "base", "up") - her "That's how selfless I am!" ("annoyed", "narrow", "annoyed", "mid") - - elif random_number == 2: - her "I can't help but feel bad for the house elves who do my laundry..." ("open", "base", "base", "mid") - her "I mean, all those dreadful semen stains..." ("open", "narrow", "worried", "down") - her "" ("angry", "narrow", "base", "down") - - elif random_number == 3: - her "it Doesn't matter how many times you ask me this, sir..." ("open", "base", "base", "mid") - her "The answer shall remain the same..." - her "I have nothing but resentment for the Slytherins!" ("angry", "base", "angry", "mid") - her "" ("annoyed", "narrow", "angry", "R") - - elif random_number == 4: - her "When I think about all the favours I sold you over these last months, sir..." ("open", "base", "base", "mid") - her "Although I do feel a little bit embarrassed..." ("open", "narrow", "worried", "down") - her "I also feel very proud of myself." ("upset", "closed", "base", "mid") - - elif random_number == 5: - her "I still dedicate a lot of my time to studying..." ("open", "base", "base", "mid") - her "But not nearly as much of it as I used to..." - her "Somehow I just don't enjoy studying at all anymore..." ("open", "base", "worried", "mid") - her "" ("soft", "base", "base", "R") - - elif random_number == 6: - her "Gryffindor shall get the house cup this year!" ("open", "closed", "angry", "mid") - her "{size=-4}(Even if it should cost me my dignity...){/size}" ("angry", "narrow", "base", "down") - her "" ("upset", "closed", "base", "mid") - - elif random_number == 7: - her "I don't mind the autumn weather..." ("open", "base", "base", "mid") - her "But my favourite season is winter." ("open", "closed", "base", "mid") - her "" ("soft", "base", "base", "mid") - - elif random_number == 8: - her "I used to look down on girls who spend too much time with worrying about the way they look..." ("open", "base", "base", "mid") - her "But I was wrong to do so..." - her "I am starting to understand how important it really is for a girl to look pretty." - her "..............." ("annoyed", "base", "worried", "R") - her "I've been on a diet lately..." ("angry", "wink", "base", "mid") - her "" ("angry", "happyCl", "worried", "mid",emote="sweat") - her "" ("normal", "happyCl", "worried", "mid") - - elif random_number == 9: - her "Lately I've been feeling rather confident around the boys..." ("open", "base", "base", "mid") - her "I think I have you to thank for that, sir." ("base", "base", "base", "mid") - - elif random_number == 10: - her "My favourite subject?" ("open", "base", "base", "mid") - her "*Hmm*..." ("soft", "base", "base", "R") - her "I suppose that would be \"charms\"..." ("open", "base", "base", "mid") - her "" ("soft", "base", "base", "mid") - - - ### WHORING LEVEL 07 ### - if her_whoring >= 18 and her_whoring <= 20: - if random_number == 1: - her "Just let me know what will be required of me today, sir." ("open", "closed", "angry", "mid") - her "" ("normal", "base", "base", "mid") - - elif random_number == 2: - her "I barely study at all anymore..." ("open", "base", "worried", "mid") - her "Despite that my popularity among the other students seems to be growing..." - her "*Hmm*..." ("soft", "base", "base", "R") - - elif random_number == 3: - her "I wouldn't say \"no\" to a bottle of butterbeer right about now..." ("smile", "narrow", "base", "mid_soft") - her "" ("grin", "base", "base", "R") - - elif random_number == 4: - her "What is it sir? Do you have another present for me?" ("base", "base", "base", "mid") - her "Oh... I see..." ("annoyed", "narrow", "angry", "R") - - elif random_number == 5: - her "I am doing well, thank you for asking." ("base", "base", "base", "mid") - - elif random_number == 6: - her "Do I look fat to you sir?" ("open", "base", "worried", "mid") - her "I wonder if the diet is working..." ("annoyed", "base", "worried", "R") - - elif random_number == 7: - her "I remember that I used to say that books were my friends..." ("open", "closed", "base", "mid") - her "Now that sounds so lame." ("grin", "happyCl", "worried", "mid",emote="sweat") - her "" ("soft", "base", "base", "mid") - - elif random_number == 8: - her "Add Ashwinder's egg to cauldron..." ("open", "closed", "angry", "mid") - her "Then add horseshoe reddish and heat..." - her "Then juice a squill bulb..." - her "Or was it a dash of thyme first?" ("open", "base", "worried", "R") - her ".............." ("soft", "base", "base", "R") - her "Oh, who cares?" ("grin", "happyCl", "worried", "mid",emote="sweat") - her "" ("base", "base", "base", "mid") - - elif random_number == 9: - her "Do You think I am wearing enough make-up, sir?" ("open", "base", "base", "mid") - her "Wearing too much would look vulgar..." - her "But wearing too little would make me look plain..." ("soft", "base", "base", "R") - her "I don't want to look plain!" ("annoyed", "narrow", "angry", "R") - - elif random_number == 10: - her "Would you like to see my tits today, sir?" ("smile", "narrow", "base", "mid_soft") - her "Twenty-five house points, please." ("smile", "base", "angry", "mid") - her "" ("upset", "closed", "base", "mid") - - - ### WHORING LEVEL 08+ ### - if her_whoring == 21: - if random_number == 1: - her "Do You have any adult magazines you don't need, sir?" ("open", "base", "base", "R",cheeks="blush") - her "" ("base", "base", "base", "R",cheeks="blush") - - elif random_number == 2: - her "If you need anything [genie_name], just ask okay?" ("open", "base", "base", "mid") - her "" ("base", "base", "base", "mid") - - elif random_number == 3: - her "It's been getting so cold lately..." ("open", "base", "base", "mid") - her "I hope it's going to start snowing soon..." ("base", "base", "base", "mid") - - elif random_number == 4: - her "Jump and scream for the Gryffindor team!" ("open", "closed", "base", "mid") - her "So daring and bold, sporting red and gold!" ("smile", "happyCl", "base", "mid",emote="happy") - her "" ("base", "base", "base", "mid") - - elif random_number == 5: - her "I hope the ball goes smoothly..." ("open", "base", "worried", "R") - her "" ("soft", "base", "base", "R") - - elif random_number == 6: - her "I wonder what Ginny is going to wear for the ball..." ("base", "base", "base", "mid") - - elif random_number == 7: - her "Considering the nature of the favours you keep buying from me sir..." ("open", "closed", "base", "mid") - her "I seldom bother to put on underwear at all anymore..." ("open", "base", "worried", "mid") - - elif random_number == 8: - her "Sir, could you put your penis in my mouth?" ("angry", "base", "base", "mid") - her "Sir, I am begging you..." ("open_wide_tongue", "narrow", "annoyed", "up") - her "Fifty-five points, please!" ("smile", "base", "angry", "mid") - her "" ("angry", "wink", "base", "mid") - - elif random_number == 9: - her "I have read this one article about the positive effects of semen on a woman's skin..." ("open", "closed", "base", "mid") - her "I wonder where their information is coming from..." ("base", "narrow", "base", "mid_soft") - her "Did the magazine conduct research of some sort?" ("angry", "wink", "base", "mid") - her "" ("base", "narrow", "base", "mid_soft") - - elif random_number == 10: - her "It goes like this..." ("open", "closed", "base", "mid") - her "First Gryffindor, then Ravenclaw, then Hufflepuff..." - her "And Slytherin is not even on the list!" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "" ("upset", "closed", "base", "mid") - - if her_whoring >= 22: - if random_number == 1: - her "If you ever need some \"help\", sir, please let me know." ("open_wide_tongue", "base", "base", "R",cheeks="blush") - ">She suggestively jerks her hand." - her "" ("base", "base", "base", "R",cheeks="blush") - - elif random_number == 2: - her "I am sorry to bother you with this, sir..." ("open", "base", "base", "mid") - her "But do you have any condoms?" - her "Sadly the ones I've bought are already gone..." ("annoyed", "happyCl", "worried", "mid",emote="sweat") - her "" ("base", "base", "base", "R") - - elif random_number == 3: - her "It's been getting so cold lately..." ("open", "base", "base", "mid") - her "I hope it's going to start snowing soon..." ("base", "base", "base", "mid") - her "You will let me wear a coat at least, right?" ("angry", "happyCl", "worried", "mid",emote="sweat") - her "" ("base", "narrow", "base", "mid_soft") - - elif random_number == 4: - her "Jump and scream for the Gryffindor team!" ("open", "closed", "base", "mid") - her "So daring and bold, sporting red and gold!" ("smile", "happyCl", "base", "mid",emote="happy") - her "" ("base", "base", "base", "mid") - - elif random_number == 5: - her "Sir, I have a favour to ask..." ("base", "base", "worried", "mid") - her "Could you help me with one of my dresses later, sir?" ("base", "base", "base", "R") - her "I could use some of your... insight." ("soft", "narrow", "base", "mid_soft",cheeks="blush") - her "" ("base", "narrow", "base", "mid_soft") - - elif random_number == 6: - her "I can't believe I was such a prude before." ("angry", "base", "worried", "mid") - her "Meeting you was the best thing that ever happened to me, sir." ("smile", "narrow", "base", "mid_soft") - her "" ("base", "narrow", "base", "mid_soft") - - elif random_number == 7: - her "Considering the nature of the favours you keep buying from me sir..." ("open", "closed", "base", "mid") - her "I seldom bother to put on underwear at all anymore..." ("open", "base", "worried", "mid") - her "(Not that I complain anyway...)" ("soft", "narrow", "annoyed", "up") - - elif random_number == 8: - her "Sir, could you put your penis in my mouth?" ("angry", "base", "base", "mid") - her "Sir, I am begging you..." ("open_wide_tongue", "narrow", "annoyed", "up") - her "Fifty-five points, please!" ("smile", "base", "angry", "mid") - her "(Although I wouldn't mind doing it for free...)" ("smile", "narrow", "annoyed", "up") - - elif random_number == 9: - her "There was this one article... I'm not sure if I told you." ("open", "closed", "base", "mid") - her "It was about the positive effects of semen on a woman's skin." - her "I started doing it regularly recently..." ("base", "narrow", "base", "mid_soft") - her "And it actually works!" ("smile", "narrow", "base", "mid_soft") - her "My skin definitely is getting softer." ("smile", "closed", "base", "mid") - her "" ("base", "narrow", "base", "mid_soft") - - elif random_number == 10: - her "It goes like this..." ("open", "closed", "base", "mid") - her "First Gryffindor, then Ravenclaw, then Hufflepuff..." - her "And Slytherin is not even on the list!" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "" ("upset", "closed", "base", "mid") + $ states.her.chatted = True + + ### Tier 1 ### + if states.her.tier == 1: + random: + block: + her "Maybe, if I work harder, I could squeeze a few more classes into my schedule..." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "Actually, I don't mind being called a \"know-it-all\"." ("open", "closed", "angry", "mid") + her "I think it's rather flattering..." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "The basilisk, also known as the king of serpents." ("open", "closed", "angry", "mid") + her "{i}Herpo the Foul{/i} was the first to breed a Basilisk." ("open", "closed", "angry", "mid") + her "He accomplished that by--" ("open", "closed", "angry", "mid") + her "Oh, I'm sorry, [name_genie_hermione]... We have another test tomorrow." ("open", "base", "worried", "R") + her "I just want to make sure that I'm ready..." ("open", "base", "worried", "R") + her "" ("base", "base", "base", "mid") + + block: + her "If my body wouldn't require sleep..." ("open", "base", "worried", "R") + her "I would be able to spend twice as much time with studying!" ("angry", "wide", "base", "stare") + her "I wonder if there's a spell for that..." ("open", "base", "base", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "So far, Professor Trelawney did not teach me a single piece of any actual knowledge, [name_genie_hermione]." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "If only more students were honest, responsible, and diligent like me." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "How can some people be so ignorant about the problems in the world?" ("open", "closed", "angry", "mid") + her "I believe that we all need to work harder to make the world a better place." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "It's been raining quite a lot lately..." ("open", "base", "worried", "R") + her "" ("base", "base", "base", "mid") + + block: + her "Very few people know this..." ("open", "base", "worried", "R") + her "... But I really like chocolate." ("base", "base", "base", "mid") + her "" ("base", "base", "base", "mid") + + block: + her "I am sorry [name_genie_hermione], but I don't really have time for idle chit-chats..." ("base", "base", "base", "mid") + her "" ("normal", "base", "base", "mid") + + ### Tier 2 Low ### + if states.her.tier == 2: + if states.her.level <= 6: + random: + block: + her "I read somewhere that a full moon often makes it easier to concentrate at a task at hand..." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "I love nothing more than to curl up by a fireplace during a rainstorm with a good book..." ("base", "base", "base", "mid") + her "" ("base", "base", "base", "mid") + + block: + her "A peculiar rumour concerning professor Snape has been circulating in the school lately..." ("open", "base", "worried", "R") + her "No, I probably shouldn't..." ("soft", "base", "base", "mid") + her "" ("normal", "base", "base", "mid") + + block if states.her.status.show_bra or states.her.status.show_panties: + her "Despite the questionable nature of the favours you have been buying from me lately, [name_genie_hermione]..." ("open", "closed", "angry", "mid") + her "I am grateful to you for your help..." ("open", "closed", "angry", "mid") + her "Gryffindor needs those points now more than ever..." ("annoyed", "squint", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "Quidditch being so popular is simply beyond me..." ("open", "closed", "angry", "mid") + her "I mean, the game doesn't make any sense..." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "The \"Men's Rights Movement\" is steadily gaining popularity." ("open", "closed", "angry", "mid") + her "It's very fulfilling to know that I am helping to improve our society." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "The Hogwarts school library is considered to be quite extensive..." ("open", "closed", "angry", "mid") + her "Still... I'd like it to be bigger." ("open", "squint", "base", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "As one of the top students in this school, I have a reputation to keep..." ("open", "base", "worried", "R") + her "People look up to me..." ("open", "base", "worried", "R") + her "... So, your discretion is very appreciated, [name_genie_hermione]." ("open", "base", "base", "mid") + her "" ("annoyed", "base", "worried", "R") + + block if states.her.status.show_bra or states.her.status.show_panties: + her "That favour I sold you the other day, [name_genie_hermione]..." ("open", "base", "worried", "mid") + her "......." ("normal", "happyCl", "worried", "mid") + her "I only agreed to it because the needs of my house always come first." ("open", "narrow", "worried", "down") + her "I just wanted you to know that, [name_genie_hermione]..." ("upset", "closed", "base", "mid") + + block: + her "My favourite subject?" ("open", "base", "base", "mid") + her "*Hmm*..." ("soft", "base", "base", "R") + her "I suppose that would be \"charms\"..." ("open", "base", "base", "mid") + her "Or \"transfiguration\" perhaps..." ("open", "base", "base", "mid") + her "Although I do enjoy \"arithmancy\"..." ("open", "base", "base", "mid") + her "" ("soft", "base", "base", "mid") + + block if not hermione.is_worn("top", "bottom"): + her "Yes, standing in-front of your headmaster without a top or bottoms is completely normal..." ("open", "closed", "base", "mid") + her "I suppose you are helping me..." ("open", "base", "base", "mid") + + ### Tier 2 High ### + else: + random: + her "I dislike the entire house of Slytherin with all my heart, [name_genie_hermione]." ("angry", "base", "angry", "mid") + + block if states.her.status.show_panties: + her "Do you remember when you asked me to show you my panties for the first time, [name_genie_hermione]?" ("open", "closed", "angry", "mid") + her "I was so furious with you then..." ("open", "closed", "angry", "mid") + her "Now I see that I was just being selfish..." ("annoyed", "squint", "angry", "mid") + her "After all, the honour of my house is at stake here..." ("annoyed", "squint", "angry", "mid") + her "And that shall be my one and only concern!" ("normal", "squint", "angry", "mid") + + block: + her "The rate at which the Slytherin house has been gaining points lately is simply ridiculous." ("open", "closed", "angry", "mid") + her "I think professor Snape might be behind it." ("angry", "base", "angry", "mid") + her "You should look into this, [name_genie_hermione]." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "Ashwinder eggs, rose thorns, moonstone..." ("open", "base", "worried", "R") + her "*Huh*? Am I thinking out loud again?" ("open", "base", "worried", "mid") + her "I apologise..." ("grin", "happyCl", "worried", "mid",emote="sweat") + her "It's just that we have another test soon..." ("soft", "base", "base", "R") + + block: + her "Hogwarts has really become a second home to me lately..." ("open", "closed", "base", "mid") + her "I don't even miss my parents nearly as much anymore..." ("annoyed", "narrow", "worried", "down") + her "Come to think of it, I don't miss them at all..." ("angry", "wide", "base", "stare") + her "I'm an awful daughter..." ("angry", "narrow", "base", "down") + + block: + her "*Yawn*! I read about this technique that supposedly allows you to cut your sleep time in half..." ("annoyed", "narrow", "annoyed", "up") + her "I don't think it's working though... *Yawn*!" ("annoyed", "narrow", "worried", "down") + + block: + her "Even after I graduate from Hogwarts, I plan to keep on working hard." ("open", "closed", "angry", "mid") + her "If I give it my all, I can make this world a better place, I know it!" ("open", "base", "base", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "Somehow I have the feeling that this year will become a pivotal turning point in my life..." ("open", "base", "worried", "mid") + her "" ("soft", "base", "base", "R") + + block: + her "Some of the less travelled school corridors are not very well lit, and rather dusty..." ("open", "closed", "angry", "mid") + her "Please take care of this, [name_genie_hermione]..." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "I've read about this thing called a \"Time-Turner\"." ("open", "base", "base", "mid") + her "It allows the user to control the flow of time..." ("open", "base", "base", "mid") + her "Having a device like that would do wonders for my schedule..." ("open", "closed", "base", "mid") + her "" ("annoyed", "squint", "base", "mid") + + block if not hermione.is_worn("top", "bottom"): + her "Is it just me, or is it a bit chilly in here?" ("open", "closed", "base", "mid") + her "It must be due to my current state of undress..." ("open", "base", "base", "mid") + + ### Tier 3 ### + if states.her.tier == 3: + random: + block: + her "My \"men's rights movement\" has been losing its popularity lately..." ("open", "base", "worried", "mid") + her "It's as if people don't even care!" ("annoyed", "narrow", "angry", "R") + + block: + her "Thank you for buying all those favours from me, [name_genie_hermione]." ("open", "closed", "angry", "mid") + her "Some of them were borderline inappropriate, sure..." ("normal", "squint", "angry", "mid") + her "But I don't mind sacrificing my dignity, if it will allow Gryffindor to compete with Slytherin." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "If you can find someone who knows all the rules of Quidditch, let me know." ("angry", "base", "angry", "mid") + her "Although, I highly doubt that person exists..." ("annoyed", "squint", "base", "mid") + + block: + her "[name_genie_hermione], there is something about professor Snape that I think you should know..." ("open", "base", "base", "mid") + her "................." ("open", "base", "worried", "R") + her "........................." ("annoyed", "squint", "angry", "mid") + her "*Ehm*... Never mind..." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "Some of the Slytherin girls sell sexual favours almost openly these days..." ("open", "closed", "angry", "mid") + her "You need to put an end to such practices, [name_genie_hermione]." ("open", "base", "base", "mid") + her "(I can barely keep up...)" ("annoyed", "narrow", "angry", "R") + + block: + her "Life works in mysterious ways..." ("open", "base", "worried", "R") + her "Wouldn't you agree, [name_genie_hermione]?" ("open", "squint", "base", "mid") + her "" ("soft", "base", "base", "R") + + block: + her "Slytherins..." ("angry", "base", "angry", "mid",emote="angry") + her "" ("angry", "base", "angry", "mid") + + block: + her "I've been spending so much time in your office lately, [name_genie_hermione]..." ("open", "base", "worried", "R") + her "If I'm not careful, some people may think that I have become your pet..." ("open", "base", "worried", "mid") + her "I mean--{w=0.2} The teacher's pet!" ("angry", "happyCl", "worried", "mid",emote="sweat") + her "" ("normal", "happyCl", "worried", "mid") + + block: + her "My favourite colours?" ("open", "base", "base", "mid") + her "Scarlet and gold of course!" ("open", "base", "base", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "Is it weird that my best friends are boys?" ("open", "base", "worried", "R") + her "" ("base", "base", "base", "mid") + + block if not hermione.is_worn("top", "bottom"): + her "This is as much as I'm willing to take off... Unless you pay me, of course..." ("open", "closed", "base", "mid") + her "Thirty-five points, please..." ("open", "base", "base", "mid") + + block if states.her.status.stripping: + her "Just because I've taken my clothes off, that doesn't mean I'll agree to standing around naked all willy-nilly." ("open", "closed", "base", "mid") + her "No, you'll still have to pay me for that." ("open", "base", "base", "mid") + + ### Tier 4 Low ### + if states.her.tier == 4: + if states.her.level <= 15: + random: + her "What will it be today, [name_genie_hermione]?" ("annoyed", "narrow", "annoyed", "mid") + + block: + her "[name_genie_hermione], with all due respect..." ("normal", "squint", "angry", "mid") + her "Professor Snape's debauchery is getting out of hand!" ("normal", "squint", "angry", "mid") + her "You must do something, [name_genie_hermione]." ("open", "base", "worried", "mid") + her "" ("normal", "base", "base", "mid") + + #block: + #her "I am willing to go to great lengths to insure the superiority of my house..." ("open", "closed", "angry", "mid") + #her "But that does not mean that I take pleasure in selling myself out to you in exchange for house points, [name_genie_hermione]." ("open", "closed", "angry", "mid") + #her "{size=-4}(Like some sort of prostitute-witch...){/size}" ("angry", "narrow", "base", "down") + + block: + her "Lately I have not been studying nearly as much as I used to..." ("open", "base", "worried", "mid") + her "Am I losing my motivation?" ("open", "base", "worried", "R") + her "" ("soft", "base", "base", "R") + + block: + her "My least favourite subject?" ("open", "squint", "base", "mid") + her "Divination." ("annoyed", "squint", "angry", "mid") + + block: + her "My father used to say that \"magic is just science we don't understand yet\"." ("open", "base", "base", "mid") + her "He couldn't be more wrong, of course..." ("open", "base", "worried", "R") + her "" ("soft", "base", "base", "R") + + block: + her "Despite everything..." ("open", "closed", "angry", "mid") + her "I am thankful that you keep on buying favours from me, [name_genie_hermione]..." ("open", "base", "worried", "R") + her "" ("soft", "base", "base", "R") + + block if game.weather in {"snow", "blizzard"}: + her "It's quite cold outside today, isn't it?" ("open", "base", "base", "mid") + her "" ("soft", "base", "base", "mid") + + #block: + #her "The \"Autumn Ball\" will be soon..." ("open", "base", "base", "mid") + #her "" ("soft", "base", "base", "mid") + + block: + her "People hardly show up for my \"men's rights movement\" meetings anymore..." ("open", "base", "worried", "R") + her "" ("soft", "base", "base", "R") + + block if states.her.ev.dance_for_me.snape_invited: + her "Do you believe we have learned enough, or will you be inviting Professor Snape again in the future?" ("annoyed", "base", "base", "R") + + + ### Tier 4 High ### + else: + random: + block if hermione.is_any_worn("top", "bra"): + her "Would you like me to show you my breasts today, [name_genie_hermione]?" ("open", "narrow", "worried", "down") + her "Yes... I would willingly expose myself to you, professor..." ("base", "narrow", "base", "up") + her "That's how selfless I am!" ("annoyed", "narrow", "annoyed", "mid") + + block if states.her.status.cumshot: + her "I can't help but feel bad for the house elves who do my laundry..." ("open", "base", "base", "mid") + her "I mean, all those dreadful semen stains..." ("open", "narrow", "worried", "down") + her "" ("angry", "narrow", "base", "down") + + block: + her "It doesn't matter how many times you ask me this, [name_genie_hermione]..." ("open", "base", "base", "mid") + her "The answer shall remain the same..." ("open", "base", "base", "mid") + her "I have nothing but resentment for the Slytherins!" ("angry", "base", "angry", "mid") + her "" ("annoyed", "narrow", "angry", "R") + + block: + her "I've been thinking about all the favours I've sold you over these last months, [name_genie_hermione]..." ("open", "base", "base", "mid") + her "Even though I do feel a little bit embarrassed..." ("open", "narrow", "worried", "down") + her "I also feel very proud of myself." ("upset", "closed", "base", "mid") + + block: + her "I still dedicate a lot of my time to studying..." ("open", "base", "base", "mid") + her "But not nearly as much of it as I used to..." ("open", "base", "base", "mid") + her "" ("soft", "base", "base", "R") + + block: + her "Gryffindor shall get the house cup this year!" ("open", "closed", "angry", "mid") + her "{size=-4}(Even if it should cost me my dignity...){/size}" ("angry", "narrow", "base", "down") + her "" ("upset", "closed", "base", "mid") + + block: + her "I don't mind autumn, spring, or summer..." ("open", "base", "base", "mid") + her "But my favourite season is winter." ("open", "closed", "base", "mid") + her "" ("soft", "base", "base", "mid") + + block: + her "I used to look down on girls who spend too much of their time, worrying about the way they look..." ("open", "base", "base", "mid") + her "But I was wrong to do so..." ("open", "base", "base", "mid") + her "I am starting to understand how important it really is for a girl to look pretty." ("open", "base", "base", "mid") + her "..............." ("annoyed", "base", "worried", "R") + her "I've been on a diet lately..." ("angry", "wink", "base", "mid") + her "" ("angry", "happyCl", "worried", "mid",emote="sweat") + her "" ("normal", "happyCl", "worried", "mid") + + block: + her "I've been feeling rather confident around the boys lately..." ("open", "base", "base", "mid") + her "I believe I have you to thank for that, [name_genie_hermione]." ("base", "base", "base", "mid") + + block if not hermione.is_any_worn("clothes"): + her "Will I get any extra points for being naked inside your office, [name_genie_hermione]?" ("open", "base", "base", "mid") + her "An additional ten points added to my next favour is enough." ("open", "closed", "base", "mid") + her "" ("base", "narrow", "base", "mid_soft") + + block if states.her.ev.dance_for_me.snape_invited: + her "Do you believe we have learned enough, or will you be inviting Professor Snape again in the future?" ("annoyed", "base", "base", "R") + + ### Tier 5 ### + if states.her.tier == 5: + random: + her "I am doing well... Thank you for asking." ("base", "base", "base", "mid") + + block: + her "Just let me know what will be required of me today, [name_genie_hermione]." ("open", "closed", "angry", "mid") + her "" ("normal", "base", "base", "mid") + + block: + her "I don't study nearly as much as I used to..." ("open", "base", "worried", "mid") + her "Despite that, my popularity among the other students seems to be growing..." ("open", "base", "worried", "mid") + her "*Hmm*..." ("soft", "base", "base", "R") + + block: + her "I wouldn't say \"no\" to a bottle of butterbeer right about now..." ("smile", "narrow", "base", "mid_soft") + her "" ("grin", "base", "base", "R") + + block: + her "What is it, [name_genie_hermione]? Do you have a present for me?" ("base", "base", "base", "mid") + her "Oh... I see..." ("annoyed", "narrow", "angry", "R") + + block: + her "Do I look fat to you, [name_genie_hermione]?" ("open", "base", "worried", "mid") + her "(I hope the diet is working...)" ("annoyed", "base", "worried", "R") + + block: + her "I remember that I used to say that books were my friends..." ("open", "closed", "base", "mid") + her "When I think back on that now, it sounds so lame." ("grin", "happyCl", "worried", "mid",emote="sweat") + her "" ("soft", "base", "base", "mid") + + block: + her "Add Ashwinder's egg to the cauldron..." ("open", "closed", "angry", "mid") + her "Then add horseshoe reddish and heat it up..." ("open", "closed", "angry", "mid") + her "Then juice a squill bulb..." ("open", "closed", "angry", "mid") + her "Or was it a dash of thyme first?" ("open", "base", "worried", "R") + her ".............." ("soft", "base", "base", "R") + her "Oh, who cares?" ("grin", "happyCl", "worried", "mid",emote="sweat") + her "" ("base", "base", "base", "mid") + + block: + her "Do you think I am wearing enough make-up, [name_genie_hermione]?" ("open", "base", "base", "mid") + her "Wearing too much would look vulgar..." ("open", "base", "base", "mid") + her "But wearing too little would make me look plain..." ("soft", "base", "base", "R") + her "I don't want to look plain!" ("annoyed", "narrow", "angry", "R") + + block if hermione.is_any_worn("top", "bra"): + her "Would you like to see my tits today, [name_genie_hermione]?" ("open", "closed", "base", "mid") + her "Or would you rather I do something else?" ("open", "base", "angry", "mid") + her "" ("soft", "base", "base", "mid") + + block if not hermione.is_any_worn("clothes"): + her "You know, I don't really mind being naked in your office anymore..." ("open", "closed", "base", "mid") + her "I would almost say I'm used to it." ("open", "closed", "base", "mid") + her "" ("base", "narrow", "base", "mid_soft") + + ### Tier 6 Low ### + if states.her.tier == 6: + if states.her.level == 22: + random: + block if not states.her.ev.yule_ball.complete: + her "I wonder what everyone are going to wear for the ball..." ("base", "base", "base", "mid") + + block: + her @ cheeks blush "Do you have any adult magazines you don't need, [name_genie_hermione]?" ("open", "base", "base", "R") + her @ cheeks blush "" ("base", "base", "base", "R") + + block: + her "If you need anything, [name_genie_hermione... Just ask, okay?" ("open", "base", "base", "mid") + her "" ("base", "base", "base", "mid") + + #block: + #her "It's been getting so cold lately..." ("open", "base", "base", "mid") + #her "I hope it's going to start snowing soon..." ("base", "base", "base", "mid") + + block if not states.cho.tier >= 4: + her "Jump and scream for the Gryffindor team!" ("open", "closed", "base", "mid") + her "So daring and bold, sporting red and gold!" ("smile", "happyCl", "base", "mid",emote="happy") + her "" ("base", "base", "base", "mid") + + block if not states.her.ev.yule_ball.complete: + her "I hope the ball goes smoothly..." ("open", "base", "worried", "R") + her "" ("soft", "base", "base", "R") + + block: + her "Considering the nature of the favours you keep buying from me, [name_genie_hermione].." ("open", "closed", "base", "mid") + her "I've had to shower a lot more frequently than I used to..." ("open", "base", "worried", "mid") + + block: + her "[name_genie_hermione], could you put your penis in my mouth?" ("angry", "base", "base", "mid") + her "[name_genie_hermione], I am begging you..." ("open_wide_tongue", "narrow", "annoyed", "up") + her "Fifty-five points, please!" ("smile", "base", "angry", "mid") + her "" ("angry", "wink", "base", "mid") + + block: + her "I have read this one article about the positive effects of semen on a woman's skin..." ("open", "closed", "base", "mid") + her "I wonder where their information is coming from..." ("base", "narrow", "base", "mid_soft") + her "Did the magazine conduct research of some sort?" ("angry", "wink", "base", "mid") + her "" ("base", "narrow", "base", "mid_soft") + + block: + her "It goes like this..." ("open", "closed", "base", "mid") + her "First Gryffindor, then Ravenclaw, then Hufflepuff..." ("open", "closed", "base", "mid") + her @ cheeks blush "Slytherin is not even on the list!" ("open", "narrow", "annoyed", "mid") + her "" ("upset", "closed", "base", "mid") + + ### Tier 6 High ### + else: + random: + block: + her @ cheeks blush "If you ever need some \"assistance\", [name_genie_hermione]... Please let me know." ("open_wide_tongue", "base", "base", "R") + her @ cheeks blush "" ("base", "base", "base", "R") + + block if states.her.status.public_sex: + her "I am sorry to bother you with this, [name_genie_hermione]..." ("open", "base", "base", "mid") + her "But do you have any condoms?" ("open", "base", "base", "mid") + her "Sadly, the ones I've bought are already gone..." ("annoyed", "happyCl", "worried", "mid",emote="sweat") + her "" ("base", "base", "base", "R") + + block if game.weather in {"rain", "storm", "overcast"}: + her "It certainly is chilly outside..." ("open", "base", "base", "mid") + her "I hope it's going to start snowing soon..." ("base", "base", "base", "mid") + her "You will let me wear a coat at least, right?" ("angry", "happyCl", "worried", "mid",emote="sweat") + her "" ("base", "narrow", "base", "mid_soft") + + block if not states.cho.tier >= 4: + her "Jump and scream for the Gryffindor team!" ("open", "closed", "base", "mid") + her "So daring and bold, sporting red and gold!" ("smile", "happyCl", "base", "mid",emote="happy") + her "" ("base", "base", "base", "mid") + + block: + her "[name_genie_hermione], I have a favour to ask..." ("base", "base", "worried", "mid") + her "Could you help me with one of my dresses later, [name_genie_hermione]?" ("base", "base", "base", "R") + her @ cheeks blush "I could use some of your... insight." ("soft", "narrow", "base", "mid_soft") + her "" ("base", "narrow", "base", "mid_soft") + + block: + her "I can't believe I was such a prude before." ("angry", "base", "worried", "mid") + her "Meeting you was the best thing that ever happened to me, [name_genie_hermione]." ("smile", "narrow", "base", "mid_soft") + her "" ("base", "narrow", "base", "mid_soft") + + block: + her "Considering the nature of the favours you keep buying from me, [name_genie_hermione]..." ("open", "closed", "base", "mid") + her "I've had to shower way more than I used to..." ("open", "base", "worried", "mid") + her "(Although, I kind of enjoy the smell...)" ("soft", "narrow", "annoyed", "up") + + block: + her "[name_genie_hermione], could you put your penis in my mouth?" ("angry", "base", "base", "mid") + her "[name_genie_hermione], I am begging you..." ("open_wide_tongue", "narrow", "annoyed", "up") + her "Fifty-five points, please!" ("smile", "base", "angry", "mid") + her "(Although I wouldn't mind doing it for free...)" ("smile", "narrow", "annoyed", "up") + + block: + her "There was this one article... I'm not sure if I told you." ("open", "closed", "base", "mid") + her "It was about the positive effects of semen on a woman's skin." ("open", "closed", "base", "mid") + her "And it actually works!" ("smile", "narrow", "base", "mid_soft") + her "My skin definitely is getting softer." ("smile", "closed", "base", "mid") + her "" ("base", "narrow", "base", "mid_soft") + + block: + her "It goes like this..." ("open", "closed", "base", "mid") + her "First Gryffindor, then Ravenclaw, then Hufflepuff..." ("open", "closed", "base", "mid") + her @ cheeks blush "And Slytherin is not even on the list!" ("open", "narrow", "annoyed", "mid") + her "" ("upset", "closed", "base", "mid") + + block if not hermione.is_any_worn("clothes"): + her "You know, being naked isn't that bad..." ("open", "closed", "base", "mid") + her "Putting on clothes is just a waste of time, anyway..." ("open", "closed", "base", "mid") + her "" ("base", "narrow", "base", "mid_soft") + + block if states.her.status.creampie: + her @ cheeks blush "I know what you said before, [name_genie_hermione]... But, are you certain that there is no way for you to get me pregnant?" ("open", "base", "base", "mid") + her @ cheeks blush "Or is there still a chance it may happen?" ("soft", "base", "base", "R") + + block if states.her.status.anal: + her "[name_genie_hermione]... If you're planning on doing \"that\" again... Please use plenty of lube..." ("open", "base", "base", "mid") + + block if states.her.ev.yule_ball.complete: + her "Thank you again for providing me with a dress for the ball." ("open", "base", "base", "mid") + her "I had a wonderful time..." ("base", "base", "base", "mid") + + block if states.her.ev.potions.breast_expand_drank: + her "You don't happen to have any more of that breast expansion potion, [name_genie_hermione]?" ("open", "base", "base", "mid") + her "I've noticed some correlations between your grades and your chest size, so I thought I'd give it a shot during our next exam..." ("open", "base", "base", "mid") + return diff --git a/game/scripts/characters/hermione/common.rpy b/game/scripts/characters/hermione/common.rpy index 9ad94ce6..0e0b2050 100644 --- a/game/scripts/characters/hermione/common.rpy +++ b/game/scripts/characters/hermione/common.rpy @@ -1,44 +1,3 @@ -define her_face = { - "mouth": { - "neutral": ["annoyed","base"], - "happy": ["smile","grin"], - "naughty": ["base","soft"], - "horny": ["base","grin","soft"], - "annoyed": ["annoyed"], - "disgusted": ["disgust","clench","annoyed"], - "angry": ["angry","clench","mad"] - }, - - "eyes": { - "neutral": ["base"], - "happy": ["base","base","happyCl"], - "naughty": ["narrow","base"], - "horny": ["narrow"], - "annoyed": ["narrow"], - "disgusted": ["narrow"], - "angry": ["narrow","base"] - }, - - "eyebrows": { - "neutral": ["base"], - "happy": ["base"], - "naughty": ["base"], - "horny": ["base"], - "annoyed": ["worried"], - "disgusted": ["base", "angry"], - "angry": ["angry"] - }, - - "pupils": { - "neutral": ["mid","L","R"], - "happy": ["mid_soft","L_soft","R_soft"], - "naughty": ["mid_soft"], - "horny": ["mid","L","R","down","up"], - "annoyed": ["mid","R"], - "disgusted": ["down"], - "angry": ["mid"] - } -} label update_hermione: @@ -55,38 +14,56 @@ label end_hermione_event: call update_hermione - $ active_girl = None - $ hermione_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.her.busy = True $ hermione.wear("all") $ hermione.set_cum(None) + $ hermione.set_face(tears=False, cheeks=False) call music_block jump main_room_menu -define character.hermione_say = Character("hermione_name", show_icon="hermione", dynamic=True) +define character.hermione_say = Character("name_hermione_genie", show_icon="hermione", dynamic=True) init python: - def her(what, mouth=False, eyes=False, eyebrows=False, pupils=False, cheeks=None, tears=None, + def her(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None, emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def show(): + hermione.show(force=True) + + if not renpy.in_rollback(): + renpy.with_statement(trans or d2) + + face = {"mouth": mouth, "eyes": eyes, "eyebrows": eyebrows, "pupils": pupils, "cheeks": cheeks, "tears": tears} + temp_face = renpy.game.context().temporary_attributes redraw = False tag = hermione.tag layer = hermione.layer - #showing = renpy.showing(name=tag, layer=layer) - if xpos != None or ypos != None: - xpos = hermione.pos[0] if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = hermione.pos[1] if ypos == None else sprite_pos.get("y").get(ypos, ypos) + if xpos is not None or ypos is not None: + xpos = hermione.pos[0] if xpos is None else sprite_pos.get("x").get(xpos, xpos) + ypos = hermione.pos[1] if ypos is None else sprite_pos.get("y").get(ypos, ypos) hermione.pos = (xpos, ypos) redraw = True head_only = hermione.pos[1] == sprite_pos.get("y").get("head") - if any((mouth, eyes, eyebrows, pupils, cheeks, tears)): - hermione.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears) + if any(face.values()): + hermione.set_face(**face) redraw = True - hermione.set_emote(emote) + if temp_face: + last_face = hermione.get_face() + + d = dict(zip(temp_face[::2], temp_face[1::2])) + hermione.set_face(**d) + redraw = True + + if emote: + hermione.set_emote(emote) + redraw = True if animation != False: hermione.animation = animation @@ -97,61 +74,52 @@ init python: redraw = True if redraw: - hermione.show() - - if not renpy.in_rollback(): - if trans: - renpy.with_statement(trans) - else: - renpy.with_statement(d2) + show() if what: character.hermione_say(what, **kwargs) + if temp_face: + hermione.set_face(**last_face) + if head_only: hermione.hide() label too_much: stop music fadeout 2.0 - her "[genie_name]??!" ("shock", "wide", "base", "stare",xpos="mid",trans=fade) + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare",xpos="mid",trans=fade) her "How could you ask for such a thing!?" her "I think I better leave." ("angry", "happyCl", "worried", "mid",emote="sweat") call her_walk(action="leave") - $ _responses = [ - "(*Hmm*... I guess it was a little too soon for that.)", - "(Did I say something wrong...?)", - "(Welp, was worth a shot I guess.)", - "(Perhaps I should rethink my appraoch...)", - "(Judging by her reaction she's not yet ready for it...)" - ] + random: + gen "(*Hmm*... I guess it was a little too soon for that.)" ("base", xpos="far_left", ypos="head") + gen "(Did I say something wrong...?)" ("base", xpos="far_left", ypos="head") + gen "(Welp, was worth a shot I guess.)" ("base", xpos="far_left", ypos="head") + gen "(Perhaps I should rethink my approach...)" ("base", xpos="far_left", ypos="head") + gen "(Judging by her reaction she's not yet ready for it...)" ("base", xpos="far_left", ypos="head") - $ renpy.say(m, renpy.random.choice(_responses)) - - $ her_mood += 6 + $ states.her.mood += 6 jump end_hermione_event label too_much_public: stop music fadeout 2.0 - her "[genie_name]??!" ("shock", "wide", "base", "stare",xpos="mid",trans=fade) + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare",xpos="mid",trans=fade) her "How could you ask for such a thing!?" her "People would take me for a whore, I cannot let it happen!" her "I think I better leave." ("angry", "happyCl", "worried", "mid",emote="sweat") call her_walk(action="leave") - $ _responses = [ - "(*Hmm*... Maybe I should start with some easier tasks to lower her reputation first.)", - "(I guess she still cares too much about her precious reputation.)", - "(Silly girl still doesn't understand that her *reputation* isn't as important as she thinks.)", - "(Did I ask too much of her...?)", - "(She doesn't seem to be ready for this just yet.)" - ] + random: + gen "(*Hmm*... Maybe I should start with some easier tasks to lower her reputation first.)" ("base", xpos="far_left", ypos="head") + gen "(I guess she still cares too much about her precious reputation.)" ("base", xpos="far_left", ypos="head") + gen "(Silly girl still doesn't understand that her *reputation* isn't as important as she thinks.)" ("base", xpos="far_left", ypos="head") + gen "(Did I ask too much of her...?)" ("base", xpos="far_left", ypos="head") + gen "(She doesn't seem to be ready for this just yet.)" ("base", xpos="far_left", ypos="head") - $ renpy.say(m, renpy.random.choice(_responses)) - - $ her_mood += 6 + $ states.her.mood += 6 jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/cardgame_wager.rpy b/game/scripts/characters/hermione/events/cardgame_wager.rpy index aabd7b40..8196b944 100644 --- a/game/scripts/characters/hermione/events/cardgame_wager.rpy +++ b/game/scripts/characters/hermione/events/cardgame_wager.rpy @@ -1,24 +1,25 @@ label hg_wager_bj: - gen "Well if you want to avoid losing the points you could come over here and get on your knees." ("grin", xpos="far_left", ypos="head") + gen "Well, if you want to avoid losing the points, you could come over here and get on your knees." ("grin", xpos="far_left", ypos="head") gen "And put my dick in your mouth!" ("grin", xpos="far_left", ypos="head") - if her_whoring < 19: #blowjob tier (It's fine if this is her first one) - her "I don't want to lose those points, but that is too much!" ("angry", "base", "angry", "mid") + if not states.her.status.blowjob: #Hasn't sucked genie off. + her "I don't want to lose those points, but that is asking way too much!" ("angry", "base", "angry", "mid") her "Isn't there anything else I could do?" ("open", "base", "base", "mid") gen "You're no fun!" ("angry", xpos="far_left", ypos="head") - gen "Come over here and let me give your butt a squeeze, then I'll only deduct ten points from Gryffindor." ("grin", xpos="far_left", ypos="head") - if her_whoring < 9: - her "No! what kind of girl do you take me for [genie_name]!" ("scream", "base", "angry", "mid") - gen "Fine, twenty points from Gryffindor!" ("base", xpos="far_left", ypos="head") + gen "In that chase, come over here and let me give your butt a squeeze, then I'll only deduct ten points from Gryffindor." ("grin", xpos="far_left", ypos="head") + if states.her.tier < 3: + her "No! what kind of girl do you take me for, [name_genie_hermione]!" ("scream", "base", "angry", "mid") + gen "Fine... Twenty points, deducted from Gryffindor!" ("base", xpos="far_left", ypos="head") + her "*Hmph*!" ("angry", "base", "angry", "mid") $ gryffindor -= 20 pause.5 call her_chibi("leave","door","base") else: - her "Okay, I can do that..." ("open", "base", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Okay, I can do that..." ("open", "base", "base", "mid_soft") her "" ("base", "base", "base", "mid_soft") - gen "Well, get over here then!" ("grin", xpos="far_left", ypos="head") + gen "Well then... Get over here!" ("grin", xpos="far_left", ypos="head") call her_walk("desk", "base", reduce=0.8) call blkfade - her "Should I turn around, [genie_name]?" ("open", "happyCl", "worried", "mid") + her "Should I turn around, [name_genie_hermione]?" ("open", "happyCl", "worried", "mid") her "" ("upset", "base", "worried", "mid") gen "No, not this time." ("base", xpos="far_left", ypos="head") her "Okay then..." ("annoyed", "narrow", "base", "R_soft") @@ -30,13 +31,13 @@ label hg_wager_bj: call ctc call her_chibi_scene("grope_ass_front") with d1 - gen "Have you been working out [hermione_name]? This feels great!" ("base", xpos="far_left", ypos="head") - her "No... can we just get this over with?" ("annoyed", "narrow", "base", "mid_soft") - her "{size=-5}All this because of a stupid card game{/size}." ("upset", "happyCl", "worried", "mid") + gen "Have you been working out, [name_hermione_genie]? This feels great!" ("base", xpos="far_left", ypos="head") + her "Can we just get this over with?" ("annoyed", "narrow", "base", "mid_soft") + her "{size=-5}All this, because of a stupid card game...{/size}" ("upset", "happyCl", "worried", "mid") gen "I know, we should definitely do this again." ("base", xpos="far_left", ypos="head") - if hg_strip.trigger: #If snape walked in during the dance favour. - call play_music("dark_fog") + if states.her.status.stripping: #(snape has previously walked in, during stripping event) + play music "music/Dark Fog.ogg" fadein 1 if_changed $ hermione_chibi.zorder = 2 #Under snape call sna_walk(action="enter", xpos="mid", ypos="base") @@ -46,19 +47,19 @@ label hg_wager_bj: her "{size=+5}Professor Snape?!{/size}" ("shock", "wide", "worried", "shocked", xpos="left",ypos="base") her "It's not what it looks like!" ("scream", "wide", "base", "R") hide hermione_main - sna "So you're not having your headmaster feel you up?" (face="snape_05") - sna "And enjoying it, by the looks of it!" (face="snape_02") - her "I knew playing another round of cards wasn't a good idea..." ("mad", "happyCl", "worried", "mid", cheeks="blush") - her "..." ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") - her "Take your hands off me now!!" ("scream", "closed", "angry", "mid", cheeks="blush") - gen "Fine, calm down miss Granger." ("base", xpos="far_left", ypos="head") - her "Don't tell me to calm down!!!" ("scream", "base", "angry", "mid", cheeks="blush") + sna "So you're not letting your headmaster feel you up?" (face="snape_05") + sna "And thoroughly enjoying it... By the looks of it!" (face="snape_02") + her @ cheeks blush "I knew playing another round of cards wasn't a good idea..." ("mad", "happyCl", "worried", "mid") + her @ cheeks blush "..." ("annoyed", "narrow", "annoyed", "mid") + her @ cheeks blush "Take your hands off me, now!!" ("scream", "closed", "angry", "mid") + gen "Fine... Calm down, Miss Granger." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Don't tell me to calm down!!!" ("scream", "base", "angry", "mid") hide hermione_main sna "Don't feel as if you have to stop on my behalf." (face="snape_01") - gen "Fine, I'll stop... But I'm still taking twenty points from Gryffindor!" ("base", xpos="far_left", ypos="head") + gen "Fine, I'll stop..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("behind_desk_front") - ">You take your hands off Hermione." + nar "You take your hands off Hermione." show screen blkfade with d5 @@ -67,77 +68,77 @@ label hg_wager_bj: hide screen blkfade with d5 - sna "The perfect Hermione Granger letting her headmaster feel her up over a card game and some house points!" (face="snape_02") + sna "Little Miss perfect... Letting her headmaster feel her up over a card game and some house points!" (face="snape_02") sna "How sweet..." (face="snape_03") - her "Can I leave now?" ("annoyed", "narrow", "worried", "down", flip=True) - gen "You are excused miss Granger, but I will be taking twenty points from Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor -= 20 #should take gryffindor points and then hermione leaves + her "May I leave now?" ("annoyed", "narrow", "worried", "down", flip=True) + gen "You are excused, Miss Granger... But I will be taking twenty points from Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor -= 20 call her_walk(action="leave") sna "How did you talk her into that?" (face="snape_02") - gen "We made a bet involving house points and she lost, why did you have to barge your way in like that?" ("base", xpos="far_left", ypos="head") + gen "We made a bet involving house points, and she lost... Why did you have to barge your way in like that?" ("base", xpos="far_left", ypos="head") gen "It was just getting good!" ("base", xpos="far_left", ypos="head") sna "You should hang a tie on the door or something!" (face="snape_03") sna "How was I supposed to know you were busy with the girl?" (face="snape_04") gen "Just knock next time!" ("angry", xpos="far_left", ypos="head") - gen "It's not like I know how to lock that door..." ("base", xpos="far_left", ypos="head") gen "Can't a mythical creature feel up a schoolgirl in peace around here?" ("angry", xpos="far_left", ypos="head") - sna "Fine, I'll leave you to it, the less I have to see that girl the better..." (face="snape_06") + sna "Fine, I'll leave you to it... The less I have to see that girl, the better..." (face="snape_06") $ hermione_chibi.zorder = 3 #reset to default call sna_walk(action="leave") - else : #If she hasn't stripped twice. - her "No, it's bad enough doing this to gain house points, it's much worse to prevent losing them!" ("clench", "narrow", "angry", "R") + else : #If Snape hasn't walked in during stripping. + her "Doing it to gain house points is one thing... But doing it to prevent losing them..." ("clench", "narrow", "angry", "R") gen "You don't enjoy it? Even a little?" ("base", xpos="far_left", ypos="head") - her "No, Sir. I'm just doing this to fix the problem I created..." ("disgust", "narrow", "base", "mid_soft") - gen "Well, to each their own, I am enjoying this very much!" ("base", xpos="far_left", ypos="head") + her "I'm just doing this to solve the problem I created..." ("disgust", "narrow", "base", "mid_soft") + gen "Well, to each their own..." ("base", xpos="far_left", ypos="head") her "Are you done yet?" ("disgust", "narrow", "base", "R_soft") gen "Fine, I'll let you go..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("behind_desk_front") with d1 - gen "I'll only take ten points from Gryffindor as we agreed." ("base", xpos="far_left", ypos="head") - gen "Ten Points from Gryffindor!" ("base", xpos="far_left", ypos="head") + gen "I'll only deduct ten points from Gryffindor, as we agreed." ("base", xpos="far_left", ypos="head") + gen "Ten points deducted from Gryffindor!" ("base", xpos="far_left", ypos="head") $ gryffindor -= 10 call blkfade call her_chibi("stand","mid","base") call gen_chibi("sit_behind_desk") call hide_blkfade - her "Thank you, [genie_name]." ("open", "base", "base", "mid") + her "Thank you, [name_genie_hermione]." ("open", "base", "base", "mid") hide hermione_main with d3 call her_walk(action="leave") - else: #If her whoring is higher than 19 (when she can do the blowjob favour) + else: #If she's sucked Genie off. her "Gryffindor really can't afford to lose twenty points..." ("soft", "base", "worried", "mid") her "Okay then, I'll do it." ("open", "closed", "base", "mid") - if hg_pf_blowjob.points > 0: #if she's done the blowjob favour these show - her "Not like I haven't done it before." ("base", "happy", "base", "mid_soft", cheeks="blush") - if her_whoring > 21: #When she has done all BJ events in main favour - her "And it does feel good having my mouth full of your cock..." ("soft", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "I mean, it's not like I haven't done it before..." ("base", "happy", "base", "mid_soft") gen "Get over here then!" ("base", xpos="far_left", ypos="head") + call her_walk("desk", "base", reduce=0.8) call blkfade - call play_music("playful_tension") + + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed hide hermione_main call her_chibi_scene("bj") - hide screen bld1 + hide screen blkfade with fade call ctc - her "*Urk*, *Slurp*, *Gobble*" ("open_wide_tongue", "closed", "base", "mid", ypos="head", flip=False) #should have her head showing while sucking his cock. - gen "Oh, that's great!" ("base", xpos="far_left", ypos="head") - gen "Put some work into it." ("angry", xpos="far_left", ypos="head") + + her "*Urk*, *Slurp*, *Gobble*" ("open_wide_tongue", "closed", "base", "mid", ypos="head", flip=False) + gen "Very good, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Now, put some work into it." ("angry", xpos="far_left", ypos="head") her "*Gulp*, *Gobble*, *Gltch*" ("open_wide_tongue", "narrow", "worried", "mid_soft") gen "Your mouth feels amazing, you're a natural!" ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") - her "I'm glad you like it [genie_name]." ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "I'm glad you're enjoying it, [name_genie_hermione]." ("open", "happy", "base", "mid") + her @ cheeks blush "And for giving me an alternative to not lose those points..." ("open", "happy", "base", "mid") call her_chibi_scene("bj") - her "*Gobble*, *Slurp*, *Gobble*" ("open_wide_tongue", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "*Gobble*, *Slurp*, *Gobble*" ("open_wide_tongue", "closed", "base", "mid") - call play_music("dark_fog")#Snape walks in + play music "music/Dark Fog.ogg" fadein 1 #Snape walks in if_changed call sna_walk(action="enter", xpos="mid", ypos="base") @@ -147,31 +148,31 @@ label hg_wager_bj: with hpunch sna "I want a rematch!" (face="snape_07") call her_chibi_scene("bj_pause") - gen "{size=-5}Don't stop, [hermione_name]...{/size}" ("base", xpos="far_left", ypos="head") - gen "What do you mean, rematch? I beat you fair and square!" ("angry", xpos="far_left", ypos="head") + gen "{size=-5}Don't stop, [name_hermione_genie]...{/size}" ("base", xpos="far_left", ypos="head") + gen "What do you mean, rematch? I beat you, fair and square!" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("bj") - her "*Slurp*, *Gulp*, *Urk*" ("open_wide_tongue", "happyCl", "worried", "mid", cheeks="blush", ypos="head", flip=False) - sna "I'm certain you were cheating, my deck is way better than yours." (face="snape_06") - sna "Hold on... what's that noise?" (face="snape_03") + her @ cheeks blush "*Slurp*, *Gulp*, *Urk*" ("open_wide_tongue", "happyCl", "worried", "mid", ypos="head", flip=False) + sna "I'm certain you were cheating... My deck is way more powerful--" (face="snape_06") + sna "Hold on... What's that noise?" (face="snape_03") gen "Probably ghosts...{w} This place must be haunted." ("base", xpos="far_left", ypos="head") - gen "And I'm better than you, just accept it." ("grin", xpos="far_left", ypos="head") - her "*Gulp*, *Gobble*, *Gltch*" ("open_wide_tongue", "happyCl", "worried", "mid", cheeks="blush") + gen "And why would it matter if your deck is more powerful... I'm better than you, just accept it." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "*Gulp*, *Gobble*, *Gltch*" ("open_wide_tongue", "happyCl", "worried", "mid") sna "{size=-5}That doesn't sound like any ghost I've ever heard...{/size}" (face="snape_01") sna "Are you sure?" (face="snape_05") - her "*Slurp*, *Gobble*, *Urk*" + her "*Slurp*, *Gobble*, *Urk*" ("open_wide_tongue", "happyCl", "worried", "mid") sna "There it is again!" (face="snape_25") gen "Yes, definitely ghosts..." ("base", xpos="far_left", ypos="head") - gen "Are you changing the subject now because you can't accept the fact I beat you at wizard cards!" ("grin", xpos="far_left", ypos="head") - gen "{size=-5}I'm about to cum [hermione_name]!{/size}" ("angry", xpos="far_left", ypos="head") - her "*Gurk*, *Gulp*, *Gulp*" ("open_wide_tongue", "base", "worried", "mid", cheeks="blush") - sna "No, something is going on here, what are you doing?" (face="snape_07") + gen "Are you changing the subject because you can't accept the fact I beat you at wizard cards?!" ("grin", xpos="far_left", ypos="head") + gen "{size=-5}Get ready, [name_hermione_genie]!{/size}" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "*Gurk*, *Gulp*, *Gulp*" ("open_wide_tongue", "base", "worried", "mid") + sna "Something is going on here... What are you doing?" (face="snape_07") gen "... Just standing at my desk." ("base", xpos="far_left", ypos="head") hide snape_main menu: - #Tell him not to worry about it. - #Tell him the ghost is gone. + gen "..." ("base", xpos="far_left", ypos="head") "-Tell him not to worry about it-": - gen "There's nothing suspicious happening here...{w} {size=-5}Ugh!{/size}" ("angry", xpos="far_left", ypos="head") + $ states.her.status.gokkun = True + gen "There's nothing suspicious happening--{w=0.2} {size=-5}Ugh!{/size}" ("angry", xpos="far_left", ypos="head") pause.5 call her_chibi_scene("bj_cum_in") call cum_block @@ -179,42 +180,43 @@ label hg_wager_bj: her "..." ("full", "wide", "worried", "stare") sna "..." (face="snape_25") gen "..." ("angry", xpos="far_left", ypos="head") - sna "*Hmm*...{w} it seems the weird sound is gone." (face="snape_04") - gen "Oh... yes, seems like it..." ("base", xpos="far_left", ypos="head") - sna "I bet it was peeves again..." (face="snape_16") - sna "I'll leave you to it then..." (face="snape_03") - her "..." ("full_cum", "narrow", "base", "down", cheeks="blush") + sna "*Hmm*...{w=0.4} It appears that the weird noise has subsided..." (face="snape_04") + gen "*Err*... Yes... Seems like it." ("base", xpos="far_left", ypos="head") + sna "I bet it was Peeves again... He's been acting out a lot more than usual..." (face="snape_16") + sna "I should probably try and find the bastard before he starts wreaking havoc elsewhere..." (face="snape_03") + sna "Until next time..." (face="snape_03") + her @ cheeks blush "..." ("full_cum", "narrow", "base", "down") call sna_walk("door", "base") #snape walks to the door, pauses on gulp sound - $ renpy.play('sounds/gulp.ogg') + play sound "sounds/gulp.ogg" her "{heart}*Gulp* {heart}" ("cum", "narrow", "annoyed", "up") sna "..." (face="snape_07", flip=True) pause.2 show screen blkfade with d5 - $ renpy.play('sounds/07_run.ogg') #snape runs back and draws his wand + play sound "sounds/07_run.ogg" #snape runs back and draws his wand hide snape_main - $ snape_chibi.zorder = desk_zorder + 1 + $ snape_chibi.zorder = states.desk_chibi_zorder + 1 call sna_chibi("wand_defend", "mid") pause 1 hide screen blkfade with d5 - $ renpy.music.play("music/Hitman.ogg") + play music "music/Hitman.ogg" if_changed pause .6 call her_chibi_scene("bj_pause") gen "...?!" ("angry", xpos="far_left", ypos="head") - sna "Reveal yourself! I won't let you harm him!" (face="snape_10", wand=True) + sna "Reveal yourself! I won't let you harm him!" (face="snape_10", wand=True, flip=False) gen "Severus, wait!" ("angry", xpos="far_left", ypos="head") - sna "I knew something was wrong from the start, you can't hide from me, now reveal yourself or prepare to die!" (face="snape_30", wand=True) - if not hg_strip.trigger: #if hermione hasn't stripped twice - gen "What are you doing Severus?" ("base", xpos="far_left", ypos="head") - her "..." ("soft", "base", "worried", "mid", cheeks="blush") - gen "You're being very strange..." ("base", xpos="far_left", ypos="head") - gen "I didn't know you cared so much about my well being..." ("grin", xpos="far_left", ypos="head") + sna "I knew something was wrong from the start! You can't hide from me! Now reveal yourself, or prepare to die!" (face="snape_30", wand=True) + if not states.her.status.stripping: # Snape hasn't walked in on Hermione stripping. + gen "What are you doing, Severus?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("soft", "base", "worried", "mid") + gen "You're acting very strange..." ("base", xpos="far_left", ypos="head") + gen "I never knew you cared so much about my well-being..." ("grin", xpos="far_left", ypos="head") sna "But... I swear I heard something..." (face="snape_14", wand=True) gen "..." ("angry", xpos="far_left", ypos="head") sna "I guess I must've imagined it... I'll just go then." (face="snape_14", wand=True) @@ -223,7 +225,7 @@ label hg_wager_bj: with d3 stop music fadeout 2 - else: #if Hermione has stripped twice (so Snape walked in on her) + else: # Snape has walked in on Hermione stripping. gen "Wait!" ("angry", xpos="far_left", ypos="head") show screen blkfade @@ -236,30 +238,27 @@ label hg_wager_bj: hide screen blkfade with d5 - sna "Miss Granger?! I thou-- I..." (face="snape_14") + sna "Miss Granger?! But, I thought--{w=0.2} I..." (face="snape_14") hide snape_main - $ renpy.music.play("music/Dark Fog.ogg") - if her_whoring > 21: + play music "music/Dark Fog.ogg" if_changed + if states.her.level > 21: her "Hello, Professor Snape." ("cum", "base", "base", "mid", xpos="left", ypos="base", flip=True) - her "I was just giving the headmaster some help with an \"itch\"." ("soft", "base", "base", "mid_soft", flip=True) - sna "I see... I was expecting a poor excuse, your honesty is admirable..." (face="snape_02") - her "..." ("base", "base", "base", "mid_soft", cheeks="blush", flip=True) - sna "Well, in that case I hope you don't mind giving me a scratch...{w=1.0}{nw}" (face="snape_13") + her "I was just helping the headmaster with an \"itch\"." ("soft", "base", "base", "mid_soft", flip=True) + sna "I see... I was expecting a poor excuse, but your honesty is admirable..." (face="snape_02") + her @ cheeks blush "..." ("base", "base", "base", "mid_soft", flip=True) + sna "Well, in that case, I hope you don't mind giving me a scratch--" (face="snape_13") else: #whoring of 21 or less - her "Oh, hello there professor..." ("cum", "base", "worried", "mid", cheeks="blush", xpos="left", ypos="base", flip=True) - her "I was just helping the headmaster with some cleaning under his desk." ("open", "happyCl", "worried", "mid", cheeks="blush") - $ random_choice = renpy.random.randint(1, 2) - if random_choice == 1: + her @ cheeks blush "Oh, hello there Professor..." ("cum", "base", "worried", "mid", xpos="left", ypos="base", flip=True) + her @ cheeks blush "I was just helping the headmaster with some cleaning under his desk." ("open", "happyCl", "worried", "mid") + random: sna "Sure... And I live a double life as a death eater..." (face="snape_02") - elif random_choice == 2: sna "Sure... And I'm the sheriff of Nottingham..." (face="snape_02") - else: sna "Sure... And my name is {i}Hans Gruber{/i}..." (face="snape_02") - gen "I believe that your work is done Miss Granger, I'll refrain from deducting those points..." ("base", xpos="far_left", ypos="head") - sna "Avoiding house point deductions are we? Is it that simple to get in your pants miss Granger?" (face="snape_01") + gen "I believe that your work is done, Miss Granger... I'll refrain from deducting those points..." ("base", xpos="far_left", ypos="head") + sna "Avoiding house point deductions, are we? Is it that simple to get inside your panties, Miss Granger?" (face="snape_01") sna "If I had known..." (face="snape_20") - her "In your dreams...!" ("mad", "narrow", "annoyed", "mid") - sna "In any case, you're a lucky man... Albus." (face="snape_13") + her "In your dreams!" ("mad", "narrow", "annoyed", "mid") + sna "In any case... You're a lucky man... Albus." (face="snape_13") sna "I'll leave you two to it..." (face="snape_02") hide screen bld1 @@ -272,22 +271,22 @@ label hg_wager_bj: pause.2 gen "Well, that was something..." ("base", xpos="far_left", ypos="head") - $ uni_sperm = False - if her_whoring < 22: #if she has lower whoring than 22 + + if states.her.level < 22: #if she has lower whoring than 22 her "That was mortifying!" ("angry", "closed", "angry", "mid") her "How could you make me keep going?!?" ("angry", "base", "angry", "mid") - gen "Well, you were down there already, how could I not?" ("base", xpos="far_left", ypos="head") + gen "Well, you were down there already... So, why shouldn't you finish the job?" ("base", xpos="far_left", ypos="head") her "I can't believe you..." ("angry", "closed", "angry", "mid") - her "I'm going now, don't expect me to do anything for you any time soon!" ("clench", "base", "angry", "mid") + her "I'm going now... Don't expect me to do anything for you any time soon!" ("clench", "base", "angry", "mid") call gen_chibi("sit_behind_desk") - $ her_mood += 10 + $ states.her.mood += 10 else: # 22+ - her "The old me would have been embarrassed by that..." ("clench", "narrow", "worried", "mid_soft", cheeks="blush") - her "But I thought it was hot!" ("grin", "happy", "base", "mid_soft", cheeks="blush") - gen "I bet you did!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "The old me would have been embarrassed by that..." ("clench", "narrow", "worried", "mid_soft") + her @ cheeks blush "But I must say... It was kind of exciting..." ("grin", "happy", "base", "mid_soft") + gen "You bet it was." ("grin", xpos="far_left", ypos="head") her "I can't believe that just happened!" ("smile", "base", "base", "mid_soft") - gen "You did a great job, I'll try to win even harder next time!" ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]... Anyway, I must be going..." ("open", "base", "base", "mid") + gen "You did a great job [name_hermione_genie]... I'll try even harder to win next time!" ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]... Anyway, I must be going..." ("open", "base", "base", "mid") show screen blkfade with d3 @@ -299,181 +298,208 @@ label hg_wager_bj: if game.daytime: her "Bye then..." ("smile", "base", "base", "mid", trans=dissolve, flip=False) - gen "Bye, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Bye, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: - her "Good night." ("open", "base", "base", "mid", trans=dissolve, flip=False) - gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") - "-Tell Him the ghost is gone-": - gen "Wait..." ("angry", xpos="far_left", ypos="head") + her "Good night..." ("open", "base", "base", "mid", trans=dissolve, flip=False) + gen "Good night, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + "-Tell him the ghost is gone-": + gen "Hold it..." ("angry", xpos="far_left", ypos="head") her "*Glick*?" ("open_wide_tongue", "wide", "base", "R") gen "No, I think I should be able to exorcise these spirits myself..." ("base", xpos="far_left", ypos="head") sna "You can do that?" (face="snape_11") - if her_whoring > 21: - her "*Slurp*, *Slurp*, *Gobble*" ("open_wide_tongue", "narrow", "annoyed", "up", cheeks="blush") + if states.her.level > 21: + her @ cheeks blush "*Slurp*, *Slurp*, *Gobble*" ("open_wide_tongue", "narrow", "annoyed", "up") gen "*Ghh*, of--{w=0.3} of course I can..." ("angry", xpos="far_left", ypos="head") - sna "I didn't think you could still use your powers like that..." (face="snape_01") - her "*Gltch*, *Slurp*, *Gobble*" ("open_wide_tongue", "squint", "worried", "up", cheeks="blush") - gen "What?{w} Oh, yeah...{w=0.2} of course I can, I've exercised plenty..." ("angry", xpos="far_left", ypos="head") - her "*Gulp*, *Gulp*, *Gobble*" - gen "*ARGH*...{w} plenty!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "*Gltch*, *Slurp*, *Gobble*" ("open_wide_tongue", "squint", "worried", "up") + gen "I've exercised--" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "*Gulp*, *Gulp*, *Gobble*" ("open_wide_tongue", "squint", "worried", "up") + gen "*ARGH*...{w=0.4} Plenty!" ("angry", xpos="far_left", ypos="head") sna "Are you..." ("snape_05") menu: "-Try to get him to Leave-": - gen "Fine? Yes, I just need some concentration...{w} It'd be easier if you left me to it, the final expulsion could become quite messy..." ("angry", xpos="far_left", ypos="head") - her "...?" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") - sna "Well, I'd love to see that..." ("snape_02") - gen "No...{w=0.4} *Gngh*...{w=0.2} Trust me, You don't...{w=0.4} Now, if you could..." ("angry", xpos="far_left", ypos="head") - sna "Fine, but you're going to have to teach me how to do that later..." ("snape_01") - gen "Not sure if that's..." ("angry", xpos="far_left", ypos="head") - her "*Slurp*, *Slurp*, *Gobble*" - gen "Oh, holy spirit that resides in this place..." ("angry", xpos="far_left", ypos="head") - her "*Slurp*, *Slurp*, *Urk*" ("open_wide_tongue", "squint", "worried", "up", cheeks="blush") - gen "Please help me release this anguish...{w} I mean, let me help release you from this anguish." ("angry", xpos="far_left", ypos="head") - sna "Well, you seem to know what you're doing so I'll leave you to it..." ("snape_05") + $ states.her.status.gokkun = True + gen "Fine? Yes, I just need some concentration...{w=0.4} It'd be easier if you left me to it, as the final expulsion could become quite messy..." ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "...?" ("open_wide_tongue", "narrow", "base", "up") + sna "Truly? Now, I'd love to see that..." ("snape_02") + gen "No...{w=0.4} *Gngh*...{w=0.2} Trust me...{w=0.4} You don't...{w=0.4} Now, if you could just give me some--" ("angry", xpos="far_left", ypos="head") + sna "Fine... But you're going to have to teach me how to do that some other time..." ("snape_01") + gen "Well, I'm not sure if that's such a--" ("angry", xpos="far_left", ypos="head") + her "*Slurp*, *Slurp*, *Gobble*" ("open_wide_tongue", "squint", "worried", "up") + gen "Oh, Holy Spirit that resides in this place!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "*Slurp*, *Slurp*, *Urk*" ("open_wide_tongue", "squint", "worried", "up") + gen "Please help me release this anguish--{w=0.4} I mean... Allow me to release you from this anguish." ("angry", xpos="far_left", ypos="head") + sna "Well, you seem to know what you're doing... I'll leave you to it." ("snape_05") hide screen bld1 with d3 pause.2 call sna_walk(action="leave") - gen "And not a moment to soon.... Take this you whore!" ("angry", xpos="far_left", ypos="head") + gen "{size=-5}And not a moment too soon...{w=0.4} Take this, you whore!{/size}" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("bj_cum_in") call cum_block pause 1 call her_chibi_scene("bj_pause") - her "*Mmmh*!!" ("full_cum", "wide", "base", "stare", cheeks="blush") - $ renpy.play('sounds/gulp.ogg') - her "{heart}*Gulp* {heart}" ("cum", "narrow", "annoyed", "up") - gen "Who said you could continue?" ("base", xpos="far_left", ypos="head") - her "From my perspective it looks like you appreciated the initiative..." ("cum", "base", "base", "mid_soft") + + her @ cheeks blush "*Mmmh*!!" ("full_cum", "wide", "base", "stare") + + play sound "sounds/gulp.ogg" + her "*Gulp*!" ("cum", "happyCl", "worried", "mid") + her "*Gua-ha*..." ("open_wide_tongue", "narrow", "base", "stare") + + gen "Who said you could continue sucking? Because it wasn't me." ("base", xpos="far_left", ypos="head") + her "You asked me to give you a blowjob, did you not?" ("soft", "base", "base", "mid_soft") gen "..." ("base", xpos="far_left", ypos="head") - gen "Fine, I won't deduct those points..." ("base", xpos="far_left", ypos="head") - her "Thank you..." ("smile", "base", "base", "mid") + gen "Fine... I suppose I did... I won't deduct those points." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("smile", "base", "base", "mid") + call blkfade call her_chibi("stand","mid","base") call gen_chibi("sit_behind_desk") + + nar "Hermione gets up, and walks to the front of your desk." + hide screen blkfade - her "In that case I'll take my leave..." ("smile", "happy", "base", "mid_soft", ypos="base") + with d5 + call ctc + + her "Alright then, if that's everything, then I better head off." ("smile", "happy", "base", "mid", ypos="base") + gen "..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "happy", "base", "mid", ypos="base") + gen "*Huh*? Oh, yes... You may leave, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Thank you..." ("base", "happy", "base", "mid", ypos="base") + call her_chibi("leave","door","base") + gen "That girl..." ("grin", xpos="far_left", ypos="head") - "-Let her keep going and deal with the aftermath-": + "-Let her keep going, and deal with any aftermaths-": + $ states.her.status.gokkun = True gen "Yeah... I'm good." ("base", xpos="far_left", ypos="head") - her "*Slurp*, *Slurp*, *Gobble*" - sna "Is there anything I could assist with?" ("snape_04") + her "*Slurp*, *Slurp*, *Gobble*" ("open_wide_tongue", "squint", "worried", "up") + sna "Is there anything I could assist you with?" ("snape_04") with hpunch gen "{size=+7}What?!?{/size}" ("angry", xpos="far_left", ypos="head") - her "...?" ("open_wide_tongue", "wide", "worried", "stare", cheeks="blush") + her @ cheeks blush "...?" ("open_wide_tongue", "wide", "worried", "stare") sna "With the exorcism..." (face="snape_05") gen "Oh..." ("base", xpos="far_left", ypos="head") - her "*Slurp*, *Slurp*, *Slurp*" ("open_wide_tongue", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Slurp*, *Slurp*, *Slurp*" ("open_wide_tongue", "happyCl", "worried", "mid") gen "No... It's all good... I can feel the ghostly presence being expelled as we speak..." ("base", xpos="far_left", ypos="head") - gen "Now take this you whore!" ("angry", xpos="far_left", ypos="head") + gen "Now take this, you whore!" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("bj_cum_in") call cum_block gen "..." ("angry", xpos="far_left", ypos="head") sna "..." (face="snape_14") + her "........" ("full_cum", "narrow", "base", "dead") + play sound "sounds/gulp.ogg" + her "*Gulp*!" ("cum", "happyCl", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") sna "I had no clue exorcism would be this..." (face="snape_03") sna "Extreme..." ("snape_02") - gen "Hah, yeah...{w=0.3} But I've done this plenty of times..." ("grin", xpos="far_left", ypos="head") - gen "Actually, there's quite a bit of ghostly residue I have to deal with now so it might be best if..." ("base", xpos="far_left", ypos="head") - sna "Whatever, I'd just leave it to the house elves..." ("snape_03") - gen "It's not as simple as it may seem, it's not like warm water is going to do it..." ("base", xpos="far_left", ypos="head") - sna "Fine, I'll head off in that case." ("snape_01") + gen "*Hah*, yeah...{w=0.3} But I've done this plenty of times..." ("grin", xpos="far_left", ypos="head") + gen "Actually... There's quite a bit of ghostly residue I have to deal with, so it might be best--" ("base", xpos="far_left", ypos="head") + sna "Whatever... I'd just leave it to the house elves..." ("snape_03") + gen "It's not as simple as it may seem... Warm water isn't going to cut it..." ("base", xpos="far_left", ypos="head") + sna "Fine, I'll see you some other time, in that case." ("snape_01") hide screen bld1 #should go black with d3 pause.2 call sna_walk(action="leave") - gen "He's gone now [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "He's gone now, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") - her "Thank you for your ghostly residue, [genie_name]." ("cum", "narrow", "worried", "mid_soft") - gen "You're welcome, I can't believe he bought it..." ("base", xpos="far_left", ypos="head") + her "I have disposed of the ghostly residue, [name_genie_hermione]..." ("open", "narrow", "worried", "mid_soft") + gen "I can't believe he bought it..." ("base", xpos="far_left", ypos="head") her "What do you expect from the head of Slytherin?" ("crooked_smile", "narrow", "base", "R_soft") - gen "yes...{w=0.3} Well...{w=0.3} I think that's enough for today." ("base", xpos="far_left", ypos="head") + gen "Well...{w=0.3} I think that's enough excitement for today." ("base", xpos="far_left", ypos="head") + call blkfade call her_chibi("stand","mid","base") call gen_chibi("sit_behind_desk") + + nar "Hermione gets up, and walks to the front of your desk." + hide screen blkfade + with d5 + call ctc + her "" ("base", "happy", "base", "mid_soft", ypos="base") gen "You've done more than enough to save those points." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("smile", "happy", "base", "mid_soft") + her "Thank you, [name_genie_hermione]." ("smile", "happy", "base", "mid_soft") if game.daytime: #should play if day time her "Bye then..." ("open", "base", "base", "mid") - gen "Bye, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Bye, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: her "Good night." ("open", "base", "base", "mid") - gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") - $ uni_sperm = False + gen "Good night, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + "-Try something crazy- {image=interface/icons/small/cards.webp}": - gen "Oh yes, I'm...{w=0.3} ugh...{w=0.3} fine." ("base", xpos="far_left", ypos="head") - gen "But for some reason I feel like playing some cards." ("base", xpos="far_left", ypos="head") - sna "In a moment like this?" (face="snape_02") + gen "Oh yes, I'm--{w=0.2} *Ugh*...{w=0.3} fine..." ("base", xpos="far_left", ypos="head") + gen "But for some reason... I feel like playing some cards." ("base", xpos="far_left", ypos="head") + sna "During a moment like this?" (face="snape_02") gen "Yes, I think the ghost may have been a gambler during their lifetime..." ("base", xpos="far_left", ypos="head") jump bj_duel_game - else: #whoring not higher than 21 + else: #whoring not higher than 21. call her_chibi_scene("bj_pause") her "*Mmphaa*..." ("open_tongue", "narrow", "annoyed", "up") - gen "Hold on...{w} Yes, I think the ghostly presence has departed..." ("base", xpos="far_left", ypos="head") + gen "Hold on...{w} Yes, I believe the ghostly presence has departed..." ("base", xpos="far_left", ypos="head") sna "Already?" (face="snape_05") - gen "Yes, they must've felt how powerful my exorcism abilities were and moved on somewhere else..." ("angry", xpos="far_left", ypos="head") - sna "Well that's no fun... I was hoping to see it happen for myself." (face="snape_03") + gen "Yes, they must've felt how powerful my exorcism abilities were, and moved on somewhere else..." ("angry", xpos="far_left", ypos="head") + sna "Well, that's no fun... I was hoping to see it happen for myself." (face="snape_03") gen "Trust me, there's not going to be any watching going on here..." ("base", xpos="far_left", ypos="head") sna "..." (face="snape_05") - sna "Anyway, I was coming to see if you were up for another round of cards..." (face="snape_01") - sna "But I suppose you're quite spent after that whole ordeal." (face="snape_02") - # - # + sna "Anyway... The reason I am here, was to see if you were up for another round of cards..." (face="snape_01") + sna "But I suppose you're looking quite spent, after that whole ordeal." (face="snape_02") menu: - "\"*Hmm*.. Actually..\" {image=interface/icons/small/cards.webp}": + "\"*Hmm*... Actually...\" {image=interface/icons/small/cards.webp}": gen "I don't see why not... I don't have anything else going on at the moment..." ("grin", xpos="far_left", ypos="head") label bj_duel_game: her "..." ("open_wide_tongue", "narrow", "annoyed", "mid") call her_chibi_scene("bj") - her "*Slurp*, *Slurp*, *Gobble*" + her "*Slurp*, *Slurp*, *Gobble*" ("open_wide_tongue", "narrow", "annoyed", "mid") gen "*Gngh*..." ("angry", xpos="far_left", ypos="head") sna "In that case, let's begin..." (face="snape_02") # Gamestart call snape_special_duel # After game + $ states.her.status.gokkun = True call her_chibi_scene("bj_cum_in") call cum_block pause 3 if duel_response == "draw": gen "I'm spent..." ("base", xpos="far_left", ypos="head") - sna "So no rematch?" (face="snape_05") - gen "Wha--" ("angry", xpos="far_left", ypos="head") - gen "Yes, definitely no rematch..." ("base", xpos="far_left", ypos="head") + sna "So, no rematch?" (face="snape_05") + gen "Yes, definitely not..." ("base", xpos="far_left", ypos="head") gen "I'm not sure I could handle another one of those for at least thirty minutes..." ("base", xpos="far_left", ypos="head") sna "That's oddly specific..." (face="snape_04") gen "You're oddly specific..." ("base", xpos="far_left", ypos="head") sna "..." (face="snape_03") gen "I don't know what that means..." ("base", xpos="far_left", ypos="head") - sna "I feel like understand you less and less by the day..." (face="snape_01") + sna "I feel as if my understanding of you is diminishing by the day...." (face="snape_01") call sna_walk(action="leave") call her_chibi_scene("bj_pause") her "So, no rematch then?" ("crooked_smile", "narrow", "base", "mid_soft") - gen "As I said, at least not for another thirty minutes..." ("grin", xpos="far_left", ypos="head") - her "So I assume I'm not losing those points anymore?" ("open", "narrow", "worried", "mid_soft") - gen "Definitely not..." ("base", xpos="far_left", ypos="head") + gen "Why would you start sucking again, like that?" ("base", xpos="far_left", ypos="head") + her "Why would you suddenly start playing cards, when I'm being so kind as to give you a blowjob?" ("annoyed", "narrow", "base", "mid_soft") + gen "That's fair..." ("base", xpos="far_left", ypos="head") + gen "Very well, as promised, I won't be deducting those points..." ("base", xpos="far_left", ypos="head") if game.daytime: - her "Great, goodbye for now then [genie_name]..." ("base", "base", "base", "mid") + her "Great... Goodbye for now then, [name_genie_hermione]." ("base", "base", "base", "mid") else: - her "Great, good night then... [genie_name]." ("base", "base", "base", "mid") + her "Great... Good night then, [name_genie_hermione]." ("base", "base", "base", "mid") gen "{size=-8}That girl is crazy...{/size}" ("base", xpos="far_left", ypos="head") elif duel_response == "loss" or duel_response == "Close": - sna "Yes... I knew I'd make you bust this time!" (face="snape_02") + sna "Yes! I knew I'd make you bust this time!" (face="snape_02") gen "Trust me..." ("base", xpos="far_left", ypos="head") - gen "You had nothing to do with that..." ("base", xpos="far_left", ypos="head") - sna "Sure I didn't, how about you hand me a bottle of that fine wine to celebrate the occasion..." (face="snape_20") + gen "You did not \"make me bust\"." ("base", xpos="far_left", ypos="head") + sna "Sure I didn't...{w=0.4} So, how about you hand me a bottle of that fine wine to celebrate the occasion..." (face="snape_20") label bj_duel_game_menu: menu: "-Give him the bottle-" (style="disabled") if wine_ITEM.owned <= 0: - ">You don't have any bottles of wine left." + nar "You don't have any bottles of wine left." jump bj_duel_game_menu "-Give him the bottle-" if wine_ITEM.owned > 0: $ wine_ITEM.owned -= 1 @@ -481,7 +507,7 @@ label hg_wager_bj: gen "I feel like I won in the end anyway..." ("grin", xpos="far_left", ypos="head") sna "That literally makes no sense..." (face="snape_04") sna "You clearly can't overcome the dreading feeling of such an explosive victory..." (face="snape_02") - gen "Something like that..." ("base", xpos="far_left", ypos="head") + gen "Sure... Something like that..." ("base", xpos="far_left", ypos="head") gen "Just take the wine and leave..." ("base", xpos="far_left", ypos="head") gen "I need to reflect on my previous life decisions." ("base", xpos="far_left", ypos="head") @@ -489,62 +515,62 @@ label hg_wager_bj: gen "Get out of there... life decisions." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") - her "Happy?" ("normal", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "Happy?" ("normal", "happyCl", "base", "mid") gen "I just lost the game and one of my bottles of wine..." ("base", xpos="far_left", ypos="head") - her "And a higher than average amount of 2 to 5ml by the looks of it..." ("open", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "And an above-average amount of two to five millilitres of ejaculate, by the looks of it..." ("open", "narrow", "worried", "down") gen "That is true..." ("grin", xpos="far_left", ypos="head") - her "are you still deducting those points [genie_name]." ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Are you still deducting those points, [name_genie_hermione]?" ("normal", "narrow", "base", "down") "-Don't give him anything-": gen "Get out..." ("base", xpos="far_left", ypos="head") sna "Someone's a sore loser..." (face="snape_13") gen "Aching..." ("base", xpos="far_left", ypos="head") gen "Now get out..." ("base", xpos="far_left", ypos="head") - if sna_friendship >= 30: - sna "Fine, but next time I'm playing you for one of those bottles..." (face="snape_03") + if states.sna.level >= 30: + sna "Fine... But next time I'm playing you for one of those bottles..." (face="snape_03") else: sna "Fine..." (face="snape_03") call sna_walk(action="leave") call her_chibi_scene("bj_pause") - her "Happy?" ("normal", "happyCl", "base", "mid", cheeks="blush") - gen "What are you talking about? How could I be happy in a moment like this..." ("angry", xpos="far_left", ypos="head") - her "But I just made you..." ("open", "base", "worried", "mid", cheeks="blush") - gen "I just lost that god damn game cause I couldn't concentrate!" ("angry", xpos="far_left", ypos="head") - her "Well, I did what you asked me!" ("mad", "narrow", "angry", "R", cheeks="blush") - her "So I'd very much appreciate if you didn't deduct those points!" ("open", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "Happy?" ("normal", "happyCl", "base", "mid") + gen "What are you talking about? How could I be happy during a moment like this?" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "But I just made you.--" ("open", "base", "worried", "mid") + gen "I just lost that god-damn game because you made it impossible for me to concentrate!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "I just did what you asked of me!" ("mad", "narrow", "angry", "R") + her @ cheeks blush "So I'd very much appreciate it if you could do your end of the bargain, and not deduct those points!" ("open", "closed", "angry", "mid") menu: - "-Only deduct the twenty-": + "-Only deduct the twenty points-": gen "You should be happy that I'm not deducting more!" ("angry", xpos="far_left", ypos="head") - gen "Twenty points from Gryffindor!" ("angry", xpos="far_left", ypos="head") + gen "Twenty points deduced from Gryffindor!" ("angry", xpos="far_left", ypos="head") $ gryffindor -= 20 - her "..." ("base", "base", "angry", "mid") - her "What ever..." ("open", "closed", "angry", "mid") - $ her_mood += 15 + her "..." ("disgust", "base", "angry", "mid") + her "Whatever..." ("open", "closed", "angry", "mid") + $ states.her.mood += 15 "-Deduct even more-": gen "Oh, don't you worry..." ("base", xpos="far_left", ypos="head") her "..." - gen "Forty points from Gryffindor!" ("angry", xpos="far_left", ypos="head") + gen "Forty points deducted from Gryffindor!" ("angry", xpos="far_left", ypos="head") $ gryffindor -= 40 - her "What, you can't do that!" ("shock", "wide", "worried", "stare") + her "What?! You can't do that!" ("shock", "wide", "worried", "stare") gen "Of course I can, I'm the headmaster!" ("angry", xpos="far_left", ypos="head") her "I can't believe you've done this..." ("mad", "base", "angry", "mid") gen "Suck it up..." ("base", xpos="far_left", ypos="head") - her "{size=-5}That's what I did...{/size}" ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}That's what I did...{/size}" ("open", "narrow", "annoyed", "mid") gen "Excuse me?" ("base", xpos="far_left", ypos="head") her "Never mind..." ("clench", "narrow", "angry", "R") - $ her_mood += 25 + $ states.her.mood += 25 "-Let her go-": - gen "No, I feel like I've reached a net gain somehow during this whole ordeal..." ("base", xpos="far_left", ypos="head") + gen "No, I feel like I've somehow reached a net gain during this whole exchange..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "base", "base", "mid") - gen "A net gain is when...{nw}" ("base", xpos="far_left", ypos="head") + gen "A net gain is when--" ("base", xpos="far_left", ypos="head") her "I know what it means..." ("open", "narrow", "base", "mid_soft") gen "Right." ("base", xpos="far_left", ypos="head") if game.daytime: - her "good day to you then sir." ("base", "base", "base", "mid") + her "good day to you then, [name_genie_hermione]." ("base", "base", "base", "mid") else: her "Good night then..." ("base", "base", "base", "mid") - else: + else: #Win sna "..." (face="snape_18") gen "Did I say that aloud?" ("angry", xpos="far_left", ypos="head") sna "Yes..." (face="snape_12") @@ -553,7 +579,7 @@ label hg_wager_bj: sna "..." (face="snape_05") gen "You bore..." ("base", xpos="far_left", ypos="head") sna "..." (face="snape_05") - sna "What kind of trash talk is that... seriously, you need to step up your game." (face="snape_06") + sna "What kind of trash talk is that... Seriously... You need to step up your game." (face="snape_06") gen "No you..." ("base", xpos="far_left", ypos="head") sna "That's fair..." (face="snape_03") sna "I'll take my leave in that case..." (face="snape_01") @@ -567,7 +593,7 @@ label hg_wager_bj: $ tried_rollback = False show screen rollback_check $ renpy.block_rollback() - gen "If you {w=0.25}{b}{u}{i}scrolled back{/i}{/u}{/b}{w=0.25} you'd clearly see that I called Snape that..." ("base", xpos="far_left", ypos="head") #### + gen "If you {w=0.25}{b}{u}{i}scrolled back{/i}{/u}{/b}{w=0.25}, then you'd clearly see I was referring to Snape..." ("base", xpos="far_left", ypos="head") #### #***Goes back to reality*** label hg_wager_bj_secret_end: if not tried_rollback: @@ -578,18 +604,18 @@ label hg_wager_bj: else: $ achievements.unlock("flashback") her "........" ("annoyed", "narrow", "worried", "down") - gen "We're done for today [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Right then... I believe we're done for today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "What about the points..." ("annoyed", "narrow", "worried", "down") gen "Points?" ("angry", xpos="far_left", ypos="head") gen "Oh yes, the points!" ("grin", xpos="far_left", ypos="head") - gen "Twenty points to Gryffindor..." ("grin", xpos="far_left", ypos="head") + gen "Twenty points to Gryffindor!" ("grin", xpos="far_left", ypos="head") $ gryffindor += 20 - her "That's not..." ("normal", "narrow", "base", "down") - her "Thank you..." ("open", "closed", "base", "mid") + her "That's not--" ("normal", "narrow", "base", "down") + her "Thank you, [name_genie_hermione]..." ("open", "closed", "base", "mid") if game.daytime: - her "Goodbye then [genie_name]." ("base", "base", "base", "mid") + her "Goodbye then..." ("base", "base", "base", "mid") else: - her "Good night then [genie_name]." ("base", "base", "base", "mid") + her "Good night then..." ("base", "base", "base", "mid") call blkfade call her_chibi("stand","mid","base") @@ -600,7 +626,7 @@ label hg_wager_bj: pass # # - gen "Yes, I'm not in the mood now anyway..." ("base", xpos="far_left", ypos="head") + gen "Yes, I think I better spend some time, re-evaluating why went down this path..." ("base", xpos="far_left", ypos="head") sna "..." (face="snape_05") sna "I'll just go then." (face="snape_01") hide screen bld1 @@ -613,26 +639,25 @@ label hg_wager_bj: gen "... Why did you stop?" ("angry", xpos="far_left", ypos="head") her "What?" ("annoyed", "narrow", "annoyed", "mid") her "I thought you wanted me to..." ("clench", "narrow", "worried", "down") - gen "If I wanted you to then I would've said so..." ("base", xpos="far_left", ypos="head") - her "I could continue if you want me to..." ("soft", "base", "base", "mid_soft") - gen "No, the mood's ruined now..." ("base", xpos="far_left", ypos="head") - her "Are you still taking those points away?" ("open", "base", "base", "mid") + gen "If I wanted you to stop, then I would've said so..." ("base", xpos="far_left", ypos="head") + her "I could resume, if you want me to..." ("soft", "base", "base", "mid_soft") + gen "No... The mood is already ruined..." ("base", xpos="far_left", ypos="head") + her "Are you still deducting those points?" ("open", "base", "base", "mid") menu: - "-No-": - gen "No, you're excused..." ("base", xpos="far_left", ypos="head") + "-Don't deduct the points-": + gen "No, [name_hermione_genie]... You're excused." ("base", xpos="far_left", ypos="head") her "Thank you professor..." ("smile", "happy", "base", "mid_soft") - "-Yes-": - gen "Of course I am, you didn't finish the job!" ("angry", xpos="far_left", ypos="head") + "-Deduct the points-": + gen "Of course I am! You didn't finish the job!" ("angry", xpos="far_left", ypos="head") her "..." ("annoyed", "wide", "base", "stare") - her "But, Snape was going to..." ("open", "happyCl", "worried", "mid") + her "But, Snape was going to--" ("open", "happyCl", "worried", "mid") her "..." ("upset", "narrow", "worried", "down") her "Fine..." ("clench", "narrow", "annoyed", "mid") - gen "Twenty Points from Gryffindor!" ("base", xpos="far_left", ypos="head") + gen "Twenty points deducted from Gryffindor!" ("base", xpos="far_left", ypos="head") $ gryffindor -= 20 - $ her_mood += 10 + $ states.her.mood += 10 - $ hg_pf_blowjob.points += 1 - $ hg_pf_blowjob.counter += 1 + $ states.her.status.blowjob = True $ achievements.unlock("headlib") call blkfade call her_chibi("stand","mid","base") @@ -654,12 +679,12 @@ label hg_wager_bj_secret: $ renpy.block_rollback() gen "Yeeeeees!{w=0.5}{nw}" ("grin", xpos="far_left", ypos="head") call cum_block - gen "Go fuck yourself Snape, take that you fucking whore!" ("angry", xpos="far_left", ypos="head") + gen "Go fuck yourself Snape, take that, you fucking whore!" ("angry", xpos="far_left", ypos="head") sna "..." (face="snape_11") - gen "Yeah! What do you have to say about that... Slut!" ("grin", xpos="far_left", ypos="head") + gen "Yeah! What do you have to say about that!? Slut!" ("grin", xpos="far_left", ypos="head") sna "..." (face="snape_11") gen "Slam dunk!" ("grin", xpos="far_left", ypos="head") - gen "Another victory in the bag, eat my shit!" ("grin", xpos="far_left", ypos="head") + gen "Another victory in the bag! Eat my shit!" ("grin", xpos="far_left", ypos="head") call blkfade call her_chibi_scene("bj_pause") @@ -670,7 +695,7 @@ label hg_wager_bj_secret: call hide_blkfade $ renpy.block_rollback() - gen "\"And then I totally just shat all over the game board\"..." ("grin", xpos="far_left", ypos="head") + gen "And then I totally just shat all over the game board..." ("grin", xpos="far_left", ypos="head") jump hg_wager_bj_secret_end diff --git a/game/scripts/characters/hermione/events/clothing.rpy b/game/scripts/characters/hermione/events/clothing.rpy index bafafaa6..493f59c7 100644 --- a/game/scripts/characters/hermione/events/clothing.rpy +++ b/game/scripts/characters/hermione/events/clothing.rpy @@ -1,5 +1,4 @@ label hermione_summon_setup: - $ random_number = renpy.random.randint(1, 10) # Reset doll state $ hermione.wear("all") @@ -11,7 +10,7 @@ label hermione_summon_setup: # # if game.weather == "clear": - # if her_tier >= 3 and game.daytime and not hg_muggle_hot_ITEM.unlocked: + # if states.her.tier >= 3 and game.daytime and not hg_muggle_hot_ITEM.unlocked: # $ hg_muggle_hot_ITEM.unlocked = True # if not persistent.game_complete: @@ -26,36 +25,36 @@ label hermione_summon_setup: # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # call ctc # gen "(Wow! Look at her!)" ("angry", xpos="far_left", ypos="head") - # gen "That's quite a sexy outfit, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - # if her_whoring < 11: - # her "*Ehm*... Thank you, [genie_name]." ("soft", "base", "base", "R") + # gen "That's quite a sexy outfit, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + # if states.her.level < 11: + # her "*Ehm*... Thank you, [name_genie_hermione]." ("soft", "base", "base", "R") # her "I normally don't wear something like this." ("open", "base", "base", "mid") - # her "(Showing so much cleavage...)" ("disgust", "narrow", "worried", "down", cheeks="blush") + # her @ cheeks blush "(Showing so much cleavage...)" ("disgust", "narrow", "worried", "down") # her "But the weather is just too hot today." ("base", "base", "base", "R") # gen "You should wear this more often!" ("grin", xpos="far_left", ypos="head") # else: - # her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") + # her "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") # else: # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # #Unlocks rewards. - # call unlock_clothing(text = ">New clothing items for Hermione have been unlocked!", item = hg_muggle_hot_ITEM) + # call unlock_clothing(text = "New clothing items for Hermione have been unlocked!", item = hg_muggle_hot_ITEM) # if game.weather == "overcast": @@ -75,31 +74,31 @@ label hermione_summon_setup: # $ h_stockings = "stockings_striped_1" # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # call ctc # gen "..." ("base", xpos="far_left", ypos="head") - # gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + # gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") # gen "What's with all these clothes you are wearing?" ("base", xpos="far_left", ypos="head") - # her "It's a bit cold outside, [genie_name]... and my..." ("soft", "base", "base", "R", cheeks="blush") + # her @ cheeks blush "It's a bit cold outside, [name_genie_hermione]... and my..." ("soft", "base", "base", "R") - # if her_whoring < 11: - # her "I better not mention it..." ("disgust", "narrow", "worried", "down", cheeks="blush") - # elif her_whoring < 18: - # her "{size=-5}People can see my... my nipples...{/size}" ("disgust", "narrow", "worried", "down", cheeks="blush") + # if states.her.level < 11: + # her @ cheeks blush "I better not mention it..." ("disgust", "narrow", "worried", "down") + # elif states.her.level < 18: + # her @ cheeks blush "{size=-5}People can see my... my nipples...{/size}" ("disgust", "narrow", "worried", "down") # else: - # her "I can't have my nipples poking out all the time, [genie_name]! It's distracting!" ("annoyed", "narrow", "angry", "R") + # her "I can't have my nipples poking out all the time, [name_genie_hermione]! It's distracting!" ("annoyed", "narrow", "angry", "R") # her "" ("soft", "base", "base", "mid") # pause.2 # gen "Alright... It looks cute on you." ("base", xpos="far_left", ypos="head") # gen "You can keep it on for now." ("base", xpos="far_left", ypos="head") - # her "Thank you, [genie_name]." ("base", "base", "base", "mid") + # her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") # $ h_request_wear_top = True # $ h_request_wear_bottom = True @@ -109,21 +108,21 @@ label hermione_summon_setup: # else: # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # #Unlocks rewards. - # call unlock_clothing(text = ">New clothing items for Hermione have been unlocked!", item = hg_accs_wool_g_ITEM) + # call unlock_clothing(text = "New clothing items for Hermione have been unlocked!", item = hg_accs_wool_g_ITEM) # # Raining # if game.weather == "rain": - # if her_tier >= 2 and not hg_muggle_rainy_ITEM.unlocked: + # if states.her.tier >= 2 and not hg_muggle_rainy_ITEM.unlocked: # $ hg_muggle_rainy_ITEM.unlocked = True # if not persistent.game_complete: @@ -136,48 +135,48 @@ label hermione_summon_setup: # $ h_bottom = "pants_jeans_long" # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("disgust", "narrow", "worried", "down", xpos="base", ypos="base") # call ctc # gen "Damn girl. You look drenched..." ("base", xpos="far_left", ypos="head") - # her "I'm sorry, [genie_name], but... It's raining cats and dogs out there!" ("open", "base", "base", "mid") + # her "I'm sorry, [name_genie_hermione], but... It's raining cats and dogs out there!" ("open", "base", "base", "mid") # her "I couldn't find my robe so I just put on a sweater and some jeans..." ("open", "base", "base", "R") # her "I hope you don't mind my uniform not being up for standards. I didn't want it to get wet." ("disgust", "narrow", "worried", "down") - # gen "It's fine, [hermione_name]." ("base", xpos="far_left", ypos="head") + # gen "It's fine, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") # gen "Besides, I wouldn't mind seeing you in jeans more often!" ("grin", xpos="far_left", ypos="head") - # her "Thank you, [genie_name]." ("normal", "base", "base", "R") - # $ her_mood -= 10 - # if her_mood < 0: - # $ her_mood = 0 + # her "Thank you, [name_genie_hermione]." ("normal", "base", "base", "R") + # $ states.her.mood -= 10 + # if states.her.mood < 0: + # $ states.her.mood = 0 # else: # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # #Unlocks rewards. - # call unlock_clothing(text = ">New clothing items for Hermione have been unlocked!", item = hg_muggle_rainy_ITEM) + # call unlock_clothing(text = "New clothing items for Hermione have been unlocked!", item = hg_muggle_rainy_ITEM) # # Robe # else: # $ hermione_wear_robe = True # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") - # if her_mood > 1: + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + # if states.her.mood > 1: # her "" ("annoyed", "base", "base", "R", xpos="base", ypos="base") # else: # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") @@ -188,7 +187,7 @@ label hermione_summon_setup: # # Snow # if game.weather in ("snow", "blizzard"): - # if her_tier >= 2 and not hg_muggle_cold_ITEM.unlocked: + # if states.her.tier >= 2 and not hg_muggle_cold_ITEM.unlocked: # $ hg_muggle_cold_ITEM.unlocked = True # if not persistent.game_complete: @@ -202,35 +201,35 @@ label hermione_summon_setup: # $ h_stockings = "stockings_pantyhose" # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # call ctc # gen "New outfit?" ("base", xpos="far_left", ypos="head") - # her "Yes, [genie_name]. I brought it with me from home. It's a bit too cold for just my normal uniform..." ("open", "base", "base", "R") + # her "Yes, [name_genie_hermione]. I brought it with me from home. It's a bit too cold for just my normal uniform..." ("open", "base", "base", "R") # her "Do you like it?" ("soft", "base", "base", "mid") - # gen "I do, [hermione_name]. It's cute." ("grin", xpos="far_left", ypos="head") - # $ her_mood -= 10 - # if her_mood < 0: - # $ her_mood = 0 + # gen "I do, [name_hermione_genie]. It's cute." ("grin", xpos="far_left", ypos="head") + # $ states.her.mood -= 10 + # if states.her.mood < 0: + # $ states.her.mood = 0 # else: # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # #Unlocks rewards. - # call unlock_clothing(text = ">New clothing items for Hermione have been unlocked!", item = hg_muggle_cold_ITEM) + # call unlock_clothing(text = "New clothing items for Hermione have been unlocked!", item = hg_muggle_cold_ITEM) - # elif her_tier >= 3 and not hg_muggle_cold_sexy_ITEM.unlocked: + # elif states.her.tier >= 3 and not hg_muggle_cold_sexy_ITEM.unlocked: # $ hg_muggle_cold_sexy_ITEM.unlocked = True # if not persistent.game_complete: @@ -245,45 +244,45 @@ label hermione_summon_setup: # $ h_stockings = "stockings_pantyhose" # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # call ctc - # gen "That's quite the cute outfit, [hermione_name]." ("base", xpos="far_left", ypos="head") - # her "Thank you, [genie_name]. I made some changes to the old one..." ("open", "base", "base", "R") + # gen "That's quite the cute outfit, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + # her "Thank you, [name_genie_hermione]. I made some changes to the old one..." ("open", "base", "base", "R") # her "Do you like it?" ("soft", "base", "base", "mid") - # gen "Very much so, [hermione_name]. I love the breast window." ("grin", xpos="far_left", ypos="head") - # $ her_mood -= 10 - # if her_mood < 0: - # $ her_mood = 0 + # gen "Very much so, [name_hermione_genie]. I love the breast window." ("grin", xpos="far_left", ypos="head") + # $ states.her.mood -= 10 + # if states.her.mood < 0: + # $ states.her.mood = 0 # else: # call update_her_uniform - # call play_sound("door") + # play sound "sounds/door.ogg" # call her_chibi("stand","mid","base") # with d3 - # call play_music("hermione") + # play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # her "" ("base", "base", "base", "mid", xpos="base", ypos="base") # #Unlocks rewards. - # call unlock_clothing(text = ">New clothing items for Hermione have been unlocked!", item = hg_muggle_cold_sexy_ITEM) + # call unlock_clothing(text = "New clothing items for Hermione have been unlocked!", item = hg_muggle_cold_sexy_ITEM) - if hermione_outfits_schedule: + if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if not config.developer and not tutorial_is_done("schedule") and hermione_wardrobe_unlocked: - call play_sound("door") + if not config.developer and not tutorial_is_done("schedule") and states.her.wardrobe_unlocked: + play sound "sounds/door.ogg" call her_chibi("stand","mid","base") with d3 - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - her "Hello, [genie_name]." ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) + her "Hello, [name_genie_hermione]." ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) her "" ("base", "base", "base", "mid", xpos="base", ypos="base") pause 1.0 gen "You changed your clothes again..." ("base", xpos="far_left", ypos="head") @@ -296,11 +295,11 @@ label hermione_summon_setup: "-Yes-": "Outfits scheduling remains turned {b}ON{/b}." "-No-": - $ hermione_outfits_schedule = False - $ tonks_outfits_schedule = False - $ cho_outfits_schedule = False - $ astoria_outfits_schedule = False - $ luna_outfits_schedule = False + $ states.her.wardrobe_scheduling = False + $ states.ton.wardrobe_scheduling = False + $ states.cho.wardrobe_scheduling = False + $ states.ast.wardrobe_scheduling = False + $ states.lun.wardrobe_scheduling = False # Susan "Outfit scheduling turned {b}Off{/b}." @@ -310,35 +309,35 @@ label hermione_summon_setup: return - call play_sound("door") + play sound "sounds/door.ogg" call her_chibi("stand","mid","base") with d3 #Hermione greeting. - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - if her_mood > 0: - if 5 > her_mood >= 1: - her "Yes, [genie_name]?" ("soft", "base", "worried", "mid", xpos="base", ypos="base", trans=d3) - elif 10 > her_mood >= 5: - her "*sigh*... Yes, [genie_name]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 20 > her_mood >= 10: - her "What is it, [genie_name]?" ("open", "closed", "annoyed", "mid", xpos="base", ypos="base", trans=d3) + if states.her.mood > 0: + if 5 > states.her.mood >= 1: + her "Yes, [name_genie_hermione]?" ("soft", "base", "worried", "mid", xpos="base", ypos="base", trans=d3) + elif 10 > states.her.mood >= 5: + her "*sigh*... Yes, [name_genie_hermione]?" ("annoyed", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + elif 20 > states.her.mood >= 10: + her "What is it, [name_genie_hermione]?" ("open", "closed", "annoyed", "mid", xpos="base", ypos="base", trans=d3) her "" ("upset", "base", "annoyed", "mid") - elif 30 > her_mood >= 20: - her "What do you want, \"[genie_name]\"?" ("upset", "squint", "angry", "R", xpos="base", ypos="base", trans=d3) - elif 40 > her_mood >= 30: + elif 30 > states.her.mood >= 20: + her "What do you want, \"[name_genie_hermione]\"?" ("upset", "squint", "angry", "R", xpos="base", ypos="base", trans=d3) + elif 40 > states.her.mood >= 30: her "*Hmph*..." ("normal", "squint", "angry", "R", xpos="base", ypos="base", trans=d3) - elif 50 > her_mood >= 40: + elif 50 > states.her.mood >= 40: her "*Tsk*" ("angry", "base", "angry", "R", xpos="base", ypos="base", trans=d3) - elif her_mood >= 50: + elif states.her.mood >= 50: her "I have nothing to tell you, sir!" ("mad", "narrow", "angry", "L", xpos="base", ypos="base", trans=d3) - call describe_mood(_("Hermione"), her_mood) + call describe_mood("Hermione", states.her.mood) call tutorial("moodngifts") else: if game.daytime: - her "Good morning, [genie_name]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + her "Good morning, [name_genie_hermione]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) else: - her "Good evening, [genie_name]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + her "Good evening, [name_genie_hermione]." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) return diff --git a/game/scripts/characters/hermione/events/favors/dance_for_me.rpy b/game/scripts/characters/hermione/events/favors/dance_for_me.rpy index 491c4717..ff97d1ec 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me.rpy @@ -2,25 +2,22 @@ ### Hermione Dance ### -#TODO Add her_main(animation=bob) to parts where she's dancing +label start_hg_pf_strip: -label hg_pf_strip: - - if hg_pf_strip.counter < 1: + if not _events_completed_any: gen "{size=-4}(Ask her to dance for me?){/size}" ("base", xpos="far_left", ypos="head") + menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu - - # Start Event $ current_payout = 35 - $ hg_pf_strip.start() + return - # End Event - label end_hg_pf_strip: +label end_hg_pf_strip: # Setup stop music fadeout 1.0 @@ -36,308 +33,311 @@ label hg_pf_strip: $ hermione.wear("all") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=blackfade) else: her "" ("normal", "squint", "base", "mid", xpos="mid", ypos="base", trans=blackfade) # Points gen "{number=current_payout} points to the Gryffindor house." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]..." ("soft", "base", "base", "R") + her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "R") # Hermione leaves call her_walk("door", "base") call her_chibi("leave") # Increase level - if her_tier == 3: - if her_whoring < 12: # Points til 12 - $ her_whoring += 1 + if states.her.tier == 3: + if states.her.level < 12: # Points til 12 + $ states.her.level += 1 - if her_tier == 4: - if her_whoring < 18: # Points til 18 - $ her_whoring += 1 + if states.her.tier == 4: + if states.her.level < 18: # Points til 18 + $ states.her.level += 1 jump end_hermione_event ### Fail Events ### label hg_pf_strip_fail: - call bld - gen "[hermione_name], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") + jump end_hermione_event + +label hg_pf_strip_T1_E1: #Fails + call start_hg_pf_strip + + $ states.her.ev.dance_for_me.strip_asked = True + gen "[name_hermione_genie], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") her "You want me to..." ("soft", "wide", "base", "stare") - her "... dance for you, [genie_name]?" ("open", "wide", "base", "stare") - - $ hg_pf_strip.fail_intentional() - - jump too_much - -label hg_pf_strip_T2_fail_intro: # Hermione starts dancing, but it will fail anyway. - call bld - gen "[hermione_name], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") - her "You want me to..." ("open", "base", "worried", "mid") - her "... dance for you, [genie_name]?" ("open", "wink", "base", "mid") - gen "Yes... You think you could manage that?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... I suppose so..." ("soft", "base", "base", "R") - her "Am I getting paid for this?" - gen "Of course, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "So... Just a little dancing then..." ("annoyed", "base", "worried", "R") - gen "Whenever you're ready..." ("base", xpos="far_left", ypos="head") - her "................." - hide hermione_main - with d3 - - call nar(">Hermione starts dancing...") - - stop music fadeout 1.0 - hide screen bld1 - call her_chibi("dance","mid","base") - with d3 - pause.2 - - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "{size=-5}(...........................................){/size}" ("disgust", "narrow", "base", "down", cheeks="blush", ypos="head", flip=False) - her "{size=-5}(This is silly...){/size}" ("annoyed", "narrow", "angry", "R", cheeks="blush") - call nar(">Hermione looks embarrassed but she keeps on \"dancing\"...") - gen "..................." ("base", xpos="far_left", ypos="head") - her "{size=-5}(...........................................){/size}" ("annoyed", "narrow", "angry", "R", cheeks="blush") - gen "Alright, you can start undressing now." ("base", xpos="far_left", ypos="head") - - call her_chibi("stand","mid","base") #Hermione stands still. - with hpunch - - show screen blktone - her "??!" ("mad", "wide", "base", "stare", cheeks="blush") - gen "Take off those clothes..." ("base", xpos="far_left", ypos="head") - her "You want me to...?" ("disgust", "narrow", "base", "down", cheeks="blush") - - hide screen blktone - her "[genie_name]!" ("angry", "base", "angry", "mid", cheeks="blush") - her "This is ridiculous on a whole other level!" ("angry", "closed", "angry", "mid", cheeks="blush") - her "I won't let myself be forced to become some cheap stripper!!!" ("mad", "wide", "base", "stare", cheeks="blush") - gen "Nobody is forcing you to do this." ("base", xpos="far_left", ypos="head") - gen "If you don't need the points, please feel free to leave." ("base", xpos="far_left", ypos="head") - her "Yes. I believe you're right Sir." ("soft", "closed", "angry", "mid") - her "Stripping for you won't be worth {b}any{/b} amount of points!" ("angry", "base", "angry", "mid") - her "I will be leaving now!" ("annoyed", "base", "angry", "mid") + her "... Dance for you, [name_genie_hermione]?" ("open", "wide", "base", "stare") + gen "Of course!" ("grin", xpos="far_left", ypos="head") + her "Why would I--" ("clench", "base", "base", "stare") + her "[name_genie_hermione]! That is going too far!" ("angry", "base", "angry", "mid") + her "I think I better leave..." ("angry", "base", "base", "R") call her_walk(action="leave") - $ her_mood += 5 - $ hg_pf_strip.fail_intentional() + $ states.her.mood += 5 - jump end_hermione_event + jump hg_pf_strip_fail -label hg_pf_strip_T2_fail_repeat: - call bld - gen "[hermione_name], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") - her "And would you like me to take off my clothes as well?" ("soft", "closed", "base", "mid") - gen "Yes?" ("base", xpos="far_left", ypos="head") - her "No! I will not!" ("scream", "base", "angry", "mid") - her "And I'd appreciate it if you'd stop making such outrageous requests..." ("annoyed", "base", "angry", "mid") - gen "You will get points for it..." ("base", xpos="far_left", ypos="head") - her "Shove those points up your--" ("angry", "closed", "angry", "mid") - her "I will be leaving now..." ("annoyed", "base", "angry", "mid") - her "Good day, Sir..." ("annoyed", "narrow", "angry", "R") +label hg_pf_strip_T2_E1: # Hermione starts dancing, but it will fail anyway. + call start_hg_pf_strip + + if not _event_completed_failed: + gen "[name_hermione_genie], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") + her "You want me to..." ("open", "base", "worried", "mid") + her "... Dance for you, [name_genie_hermione]?" ("open", "wink", "base", "mid") + gen "Yes... You think you could manage that?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... I suppose so..." ("soft", "base", "base", "R") + her "Am I getting paid for this?" + gen "Of course, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "So... Just a little dancing then..." ("annoyed", "base", "worried", "R") + gen "Whenever you're ready..." ("base", xpos="far_left", ypos="head") + her "................." + hide hermione_main + with d3 + + nar "Hermione starts dancing..." + + stop music fadeout 1.0 + call her_chibi("dance","mid","base") + with d3 + pause.2 + + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "{size=-5}(...........................................){/size}" ("disgust", "narrow", "base", "down", ypos="head", flip=False) + her @ cheeks blush "{size=-5}(This is silly...){/size}" ("annoyed", "narrow", "angry", "R") + nar "Hermione looks embarrassed, but she keeps on \"dancing\"..." + gen "..................." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "{size=-5}(...........................................){/size}" ("annoyed", "narrow", "angry", "R") + gen "Alright, you can start undressing now." ("base", xpos="far_left", ypos="head") + + call her_chibi("stand","mid","base") #Hermione stands still. + with hpunch + + her @ cheeks blush "??!" ("mad", "wide", "base", "stare") + gen "Take off your clothes..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You want me to...?" ("disgust", "narrow", "base", "down") + + her @ cheeks blush "[name_genie_hermione]!" ("angry", "base", "angry", "mid") + her @ cheeks blush "This is ridiculous on a whole other level!" ("angry", "closed", "angry", "mid") + her @ cheeks blush "I won't let myself be forced to become some cheap stripper!!!" ("mad", "wide", "base", "stare") + gen "Nobody is forcing you to do this." ("base", xpos="far_left", ypos="head") + gen "If you don't need the points, please feel free to leave." ("base", xpos="far_left", ypos="head") + her "Yes. I believe you're right, Sir." ("soft", "closed", "angry", "mid") + her "Stripping for you won't be worth {b}any{/b} amount of points!" ("angry", "base", "angry", "mid") + her "I will be leaving now!" ("annoyed", "base", "angry", "mid") + else: + gen "[name_hermione_genie], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") + her "And would you like me to take off my clothes as well?" ("soft", "closed", "base", "mid") + gen "Yes?" ("base", xpos="far_left", ypos="head") + her "No! I will not!" ("scream", "base", "angry", "mid") + her "And I'd appreciate it if you'd stop making such outrageous requests..." ("annoyed", "base", "angry", "mid") + gen "You will get points for it..." ("base", xpos="far_left", ypos="head") + her "Shove those points up your--" ("angry", "closed", "angry", "mid") + her "I will be leaving now..." ("annoyed", "base", "angry", "mid") + her "Good day, Sir..." ("annoyed", "narrow", "angry", "R") call her_walk(action="leave") - $ her_mood += 5 - $ hg_pf_strip.fail_intentional() + $ states.her.mood += 5 - jump end_hermione_event + jump hg_pf_strip_fail ### Tier 3 ### -# Event 1 (i) - Hermione tries to stip for you but fails. +# Event 1 (i) - Hermione tries to strip for you but fails. # Event 2 (i) - Hermione strips for you on your desk. Snape then enters. # Event 3 (r) - Hermione strips for. You will get some event choices. -label hg_pf_strip_T3_intro_E1: # Complete - call bld - gen "[hermione_name], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") +label hg_pf_strip_T3_intro_E1: + + call start_hg_pf_strip + + gen "[name_hermione_genie], I need you to dance for me a little." ("base", xpos="far_left", ypos="head") her "You want me to..." ("open", "base", "worried", "mid") - her "... dance for you, [genie_name]?" ("open", "wink", "base", "mid") + her "... dance for you, [name_genie_hermione]?" ("open", "wink", "base", "mid") gen "Yes... You think you could manage that?" ("base", xpos="far_left", ypos="head") her "*Ehm*... I suppose so..." ("soft", "base", "base", "R") her "Am I getting paid for this?" - gen "Of course, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "Of course, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") her "So... Just a little dancing then..." ("annoyed", "base", "worried", "R") gen "Whenever you're ready..." ("base", xpos="far_left", ypos="head") her "................." hide hermione_main with d3 - call nar(">Hermione starts dancing...","start") + nar "Hermione starts dancing..." stop music fadeout 1.0 - hide screen bld1 call her_chibi("dance","mid","base") with d3 pause.2 gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "{size=-5}(...........................................){/size}" ("disgust", "narrow", "base", "down", cheeks="blush", ypos="head", flip=False) - her "{size=-5}(This is silly...){/size}" ("annoyed", "narrow", "angry", "R", cheeks="blush") - call nar(">Hermione looks embarrassed but she keeps on \"dancing\"...") + her @ cheeks blush "{size=-5}(...........................................){/size}" ("disgust", "narrow", "base", "down", ypos="head", flip=False) + her @ cheeks blush "{size=-5}(This is silly...){/size}" ("annoyed", "narrow", "angry", "R") + nar "Hermione looks embarrassed, but she keeps on \"dancing\"..." gen "..................." ("base", xpos="far_left", ypos="head") - her "{size=-5}(...........................................){/size}" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "{size=-5}(...........................................){/size}" ("annoyed", "narrow", "angry", "R") gen "Alright, you can start undressing now." ("base", xpos="far_left", ypos="head") - call her_chibi("stand","mid","base") #Hermione stands still. - with hpunch + if not states.her.ev.dance_for_me.strip_asked: + call her_chibi("stand","mid","base") #Hermione stands still. + with hpunch - her "??!" ("mad", "wide", "base", "stare", cheeks="blush") - her "I thought all I had to do was dance?" ("angry", "base", "angry", "mid") - call play_music("playful_tension") # SEX THEME. - gen "Really? That's adorable." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "??!" ("mad", "wide", "base", "stare") + her "I thought all I had to do was dance?" ("angry", "base", "angry", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + gen "Really? That's adorable." ("base", xpos="far_left", ypos="head") + else: + her "..." ("disgust", "base", "angry", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + gen "Go on... You knew this was coming..." ("base", xpos="far_left", ypos="head") if hermione.is_any_worn("top", "bottom", "robe", "accessory"): gen "Now start taking off those clothes." ("base", xpos="far_left", ypos="head") - show screen blktone - her "You want me to... strip dance for you...?" ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "You want me to... Strip dance for you...?" ("disgust", "narrow", "base", "down") else: gen "Now take off your underwear." ("base", xpos="far_left", ypos="head") - show screen blktone - her "You want me to... Take off my underwear...?" ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "You want me to... Take off my underwear...?" ("disgust", "narrow", "base", "down") - gen "Yes. And I expect you to do it today, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "happyCl", "worried", "mid", cheeks="blush") - gen "Don't you raise your voice at me, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her ".....!!?" ("mad", "wide", "base", "stare", cheeks="blush") + gen "Yes. And I expect you to do it today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "{size=+4}[name_genie_hermione]!{/size}" ("angry", "happyCl", "worried", "mid") + gen "Don't you raise your voice at me, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush ".....!!?" ("mad", "wide", "base", "stare") gen "Nobody is forcing you to do this." ("base", xpos="far_left", ypos="head") gen "I am doing you a favour!" ("base", xpos="far_left", ypos="head") gen "If you don't need the points, please feel free to leave." ("base", xpos="far_left", ypos="head") her "....................." ("angry", "base", "angry", "mid") - her "......................................." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "......................................." ("disgust", "narrow", "base", "down") - hide screen blktone - call nar(">Hermione starts dancing again...") + nar "Hermione starts dancing again..." call her_chibi("dance","mid","base") #Chibi takes off the vest here btw but Hermione does not even if she's wearing it with d5 - her "{size=-5}(...........................................){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(...........................................){/size}" ("angry", "happyCl", "worried", "mid") gen "What are you waiting for then?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "............................................................." ("disgust", "narrow", "base", "down") - her "............................................................." ("disgust", "narrow", "base", "down", cheeks="blush") - call nar(">Hermione gives you a confused look...") + nar "Hermione gives you a confused look..." pause .5 - show screen blktone - her "{size=-5}(Am I really going to do this?){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush", xpos="base", ypos="base", trans=fade) - hide screen blktone + her @ cheeks blush "{size=-5}(Am I really going to do this?){/size}" ("angry", "happyCl", "worried", "mid", xpos="base", ypos="base", trans=fade) if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") menu: #Hermione always wears underwear at this level gen "......................." ("base", xpos="far_left", ypos="head") "\"Now, get rid of your bottoms!\"" if hermione.is_worn("bottom", "panties"): - her "................................." ("angry", "happyCl", "worried", "mid", cheeks="blush") - call nar(">Hermione starts taking off her bottoms...","start") - ">She seems very hesitant and takes her time..." - call nar(">Finally she takes a deep breath and takes them off...","end") + her @ cheeks blush "................................." ("angry", "happyCl", "worried", "mid") + nar "Hermione starts taking off her bottoms..." + nar "She seems very hesitant and takes her time..." + nar "Finally she takes a deep breath and takes them off..." - her "{size=-5}(Here it comes then...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(For the honour of Gryffindor....){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(Here it comes then...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(For the honour of Gryffindor....){/size}" ("angry", "happyCl", "worried", "mid") pause .2 $ hermione.strip("bottom") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" call ctc pause .5 gen "..............." ("base", xpos="far_left", ypos="head") - her "{size=-5}(.........................................){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - call nar(">Hermione keeps on dancing...") + her @ cheeks blush "{size=-5}(.........................................){/size}" ("angry", "happyCl", "worried", "mid") + nar "Hermione keeps on dancing..." if hermione.is_worn("top"): gen "Alright, your top is next!" ("base", xpos="far_left", ypos="head") - her "My top....?" ("disgust", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "My top....?" ("disgust", "narrow", "worried", "down") else: gen "Alright, your bra is next!" ("base", xpos="far_left", ypos="head") - her "My bra....?" ("disgust", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "My bra....?" ("disgust", "narrow", "worried", "down") hide hermione_main with d3 - call nar(">Hermione looks extremely embarrassed...","start") - call nar(">She clumsily shakes her body to and fro...","end") + nar "Hermione looks extremely embarrassed..." + nar "She clumsily shakes her body to and fro..." "\"Now, take off your top!\"" if hermione.is_worn("top", "bra"): - her "................................." ("angry", "happyCl", "worried", "mid", cheeks="blush") - call nar(">Hermione starts taking off her top...","start") - ">She seems very hesitant and takes her time..." - call nar(">Finally she takes a deep breath and removes her top...","end") + $ states.her.status.show_bra = True + her @ cheeks blush "................................." ("angry", "happyCl", "worried", "mid") + nar "Hermione starts taking off her top..." + nar "She seems very hesitant and takes her time..." + nar "Finally she takes a deep breath and removes her top..." - her "{size=-5}(Alright, here it comes...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(For the honour of Gryffindor!){/size}" ("angry", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(Alright, here it comes...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(For the honour of Gryffindor!){/size}" ("angry", "base", "worried", "mid") pause .2 $ hermione.strip("top") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" call ctc if hermione.is_worn("bra"): gen "And your bra..." ("base", xpos="far_left", ypos="head") her "..." ("angry", "base", "angry", "mid") $ hermione.strip("bra") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" call ctc - her "{size=-5}(I...{w=0.4} I did it...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(I...{w=0.4} I did it...){/size}" ("angry", "happyCl", "worried", "mid") else: - her "{size=-5}(I actually did it...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(I actually did it...){/size}" ("angry", "happyCl", "worried", "mid") - her "{size=-5}(He can see my breasts while I'm dancing for him...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(This is so demeaning...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(But I am doing this for my house...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(He can see my breasts while I'm dancing for him...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(This is so demeaning...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(But I am doing this for my house...){/size}" ("angry", "happyCl", "worried", "mid") gen "Not bad..." ("base", xpos="far_left", ypos="head") - her "{size=-5}(.........................................){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(.........................................){/size}" ("angry", "happyCl", "worried", "mid") - call nar(">Hermione is topless now...","start") - ">She keeps on dancing but seems very restricted in her movements now. Even more so than before..." - call nar(">It seems like she's desperately trying to prevent her breasts from bouncing or swaying...","end") + nar "Hermione is topless now..." + nar "She keeps on dancing but seems very restricted in her movements now. Even more so than before..." + nar "It seems like she's desperately trying to prevent her breasts from bouncing or swaying..." if hermione.is_worn("bottom"): gen "Alright, your bottoms are next!" ("base", xpos="far_left", ypos="head") else: gen "Alright, your panties are next!" ("base", xpos="far_left", ypos="head") - her "...................." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "...................." ("angry", "happyCl", "worried", "mid") hide hermione_main with d3 - call nar(">Hermione looks extremely embarrassed...","start") - call nar(">Her fingers shaking as she fumbles somewhat...","end") + nar "Hermione looks extremely embarrassed..." + nar "Her fingers shaking as she fumbles somewhat..." "\"Get rid of your bra!\"" if not hermione.is_worn("top"): - her "{size=-5}(Okay then...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(For the honour of Gryffindor!){/size}" ("angry", "base", "worried", "mid", cheeks="blush") + $ states.her.status.show_tits = True + her @ cheeks blush "{size=-5}(Okay then...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(For the honour of Gryffindor!){/size}" ("angry", "base", "worried", "mid") $ hermione.strip("bra") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" call ctc - her "{size=-5}(I...{w=0.4} I did it...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(He can see my breasts while I'm dancing for him...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(This is so demeaning...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(But I am doing this for my house...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(I...{w=0.4} I did it...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(He can see my breasts while I'm dancing for him...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(This is so demeaning...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(But I am doing this for my house...){/size}" ("angry", "happyCl", "worried", "mid") gen "Not bad..." ("base", xpos="far_left", ypos="head") - her "{size=-5}(.........................................){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-5}(.........................................){/size}" ("angry", "happyCl", "worried", "mid") - call nar(">Hermione is topless now...","start") - ">She keeps on dancing but seems very restricted in her movements now. Even more so than before..." - call nar(">It seems like she's desperately trying to prevent her breasts from bouncing or swaying...","end") + nar "Hermione is topless now..." + nar "She keeps on dancing but seems very restricted in her movements now. Even more so than before..." + nar "It seems like she's desperately trying to prevent her breasts from bouncing or swaying..." if hermione.is_worn("bottom"): gen "Alright, your bottoms are next!" ("base", xpos="far_left", ypos="head") - her "...................." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "...................." ("angry", "happyCl", "worried", "mid") $ hermione.strip("bottom") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" call ctc pause .5 @@ -345,90 +345,93 @@ label hg_pf_strip_T3_intro_E1: # Complete gen "Now then, your panties!" ("base", xpos="far_left", ypos="head") else: gen "Alright, your panties are next!" ("base", xpos="far_left", ypos="head") - her "...................." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "...................." ("angry", "happyCl", "worried", "mid") hide hermione_main with d3 - call nar(">Hermione looks extremely embarrassed...","start") - call nar(">Her fingers shaking as she fumbles somewhat...","end") + nar "Hermione looks extremely embarrassed..." + nar "Her fingers tremble as she fumbles somewhat..." "\"Take off your panties!\"" if not hermione.is_worn("bottom"): hide hermione_main with d3 - call nar(">Hermione looks at your pleadingly...","start") - call nar(">Her fingers shake slightly as she begins moving them towards her panties...","end") + nar "Hermione looks at you pleadingly..." + nar "Her fingers tremble slightly as she begins moving them towards her panties..." gen "That's it..." ("base", xpos="far_left", ypos="head") - call nar(">Glancing up at you, she hesitates for a moment...","start") - call nar(">And you watch as she moves her hands away from her panties...","end") + nar "Glancing up at you, she hesitates for a moment..." + nar "And you watch as she moves her hands away from her panties..." stop music fadeout 1.0 - gen "What's the problem, [hermione_name]?" ("base", xpos="far_left", ypos="head") - call play_music("sad") + gen "What's the problem, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed - her "I'm sorry, [genie_name]..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "I...{w=0.4} I'm trying..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "But my hands..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "Why is this so hard! *sob*" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "No, I can't do this, [genie_name]! *sob*" ("open", "wide", "worried", "stare", cheeks="blush", tears="messy") + her @ cheeks blush "I'm sorry, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "I...{w=0.4} I'm trying..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "But my hands..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "Why is this so hard! *Sob*" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush tears messy "No, I can't do this, [name_genie_hermione]! *sob*" ("open", "wide", "worried", "stare") gen "What?" ("base", xpos="far_left", ypos="head") - her "I thought I could, but..." ("angry", "squint", "base", "mid", cheeks="blush", trans=fade) - her "Strip dancing for points, [genie_name]?" ("angry", "squint", "base", "mid", cheeks="blush") - her "People look up to me in this school!" ("angry", "squint", "base", "mid", cheeks="blush") - her "I have a reputation...*sob*" ("angry", "squint", "base", "mid", cheeks="blush") - her "And If I do this..." ("scream", "base", "angry", "mid", cheeks="blush", tears="messy") + her @ cheeks blush "I thought I could, but..." ("angry", "squint", "base", "mid", trans=fade) + her @ cheeks blush "Strip dancing for points, [name_genie_hermione]?" ("angry", "squint", "base", "mid") + her @ cheeks blush "People look up to me in this school!" ("angry", "squint", "base", "mid") + her @ cheeks blush "I have a reputation... *Sob*" ("angry", "squint", "base", "mid") + her @ cheeks blush tears messy "And If I do this..." ("scream", "base", "angry", "mid") show screen blkfade with d5 - ">Hermione quickly puts her clothes back on..." + nar "Hermione quickly puts her clothes back on..." - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("all") call her_chibi("stand","desk","base") hide screen blkfade - her "[genie_name], I think I'd better go now... *Sob!*" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy", trans=fade) + her @ cheeks blush tears messy "[name_genie_hermione], I think I'd better go now... *Sob!*" ("angry", "squint", "base", "mid", trans=fade) menu: "\"Alright. I had fun. Here are your points.\"": - her "Really? I didn't ruin it completely then?" ("soft", "base", "base", "R", tears="soft") + her @ tears soft "Really? I didn't ruin it completely then?" ("soft", "base", "base", "R") jump end_hg_pf_strip - "\"Sure. You will receive no points though.\"": - her "[genie_name]... I may not be very good at this..." ("open", "base", "base", "mid", tears="mascara_crying") - her "But I did my best... I think I deserve some--" (tears="mascara_crying") - gen "Just make sure you try harder next time, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Next time?!" ("open", "base", "base", "mid", tears="mascara_crying") - her "I assure you, [genie_name], there will be no next time..." ("angry", "base", "angry", "mid", cheeks="blush", tears="mascara") + "\"Sure. You will receive no points, though.\"": + her @ tears mascara_crying "[name_genie_hermione]... I may not be very good at this..." ("open", "base", "base", "mid") + her @ tears mascara_crying "But I did my best... I think I deserve some--" + gen "Just make sure you try harder next time, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ tears mascara_crying "Next time?!" ("open", "base", "base", "mid") + her @ cheeks blush tears mascara "I assure you, [name_genie_hermione], there will be no next time..." ("angry", "base", "angry", "mid") gen "We'll see..." ("base", xpos="far_left", ypos="head") - her "*Tsk*!" ("disgust", "narrow", "base", "mid_soft", tears="mascara") + her @ tears mascara "*Tsk*!" ("disgust", "narrow", "base", "mid_soft") call her_walk(action="leave") # Event does not fail. She just gets mad, but no whoring increase. - $ her_mood += 25 + $ states.her.mood += 25 jump end_hermione_event label hg_pf_strip_T3_intro_E2: - call bld - gen "[hermione_name], I need you to dance for me." ("base", xpos="far_left", ypos="head") - her "That again, [genie_name]...?" ("disgust", "narrow", "base", "mid_soft") - gen "You will get paid accordingly of course..." ("base", xpos="far_left", ypos="head") + $ states.her.status.show_tits = True + $ states.her.status.show_pussy = True + + call start_hg_pf_strip + + gen "[name_hermione_genie], I need you to dance for me." ("base", xpos="far_left", ypos="head") + her "Again, [name_genie_hermione]...?" ("disgust", "narrow", "base", "mid_soft") + gen "You will get paid accordingly, of course..." ("base", xpos="far_left", ypos="head") her "............................" ("annoyed", "narrow", "angry", "R") - her "And you expect me to... *Ehm*..." ("annoyed", "narrow", "angry", "R") + her "And you expect me to--{w=0.2} *Ehm*..." ("annoyed", "narrow", "angry", "R") gen "Take your clothes off. Naturally." ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 - show screen blktone her "......................" ("annoyed", "narrow", "angry", "R") - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "Well, why not?" ("disgust", "narrow", "base", "mid_soft") her "Yes, I don't see why not!" ("scream", "base", "angry", "mid", emote="angry") gen "*Hmm*...? {size=-4}(Look at her, so eager all of a sudden...){/size}" ("base", xpos="far_left", ypos="head") - her "After all, as a pupil I am meant to obey your every order, isn't that right, [genie_name]?!" ("scream", "closed", "angry", "mid") + her "After all, as a pupil I am meant to obey your every order, isn't that right, [name_genie_hermione]?!" ("scream", "closed", "angry", "mid") gen "...................." ("base", xpos="far_left", ypos="head") her "If the Headmaster tells me to strip for him, Then I shall strip!!!" ("scream", "closed", "angry", "mid") her "Do I find this extremely inappropriate, disgraceful, and humiliating?" ("angry", "base", "angry", "mid") @@ -437,8 +440,6 @@ label hg_pf_strip_T3_intro_E2: her "Ha! Might as well do this the proper way!" ("angry", "base", "angry", "mid") call hide_characters - hide screen bld1 - hide screen blktone with d3 pause.2 @@ -447,10 +448,10 @@ label hg_pf_strip_T3_intro_E2: call her_walk("desk", "base", reduce=0.8) call blkfade - $ renpy.play('sounds/08_hop_on_desk.ogg') #Sound of the desk squeaking. + play sound "sounds/08_hop_on_desk.ogg" #Sound of the desk squeaking. pause 3 gen "!!!!!!" ("angry", xpos="far_left", ypos="head") - ">To your surprise, Hermione just hops onto your desk and starts dancing frantically..." + nar "To your surprise, Hermione just hops onto your desk and starts dancing frantically..." call her_chibi("dance","on_desk","on_desk") @@ -460,52 +461,52 @@ label hg_pf_strip_T3_intro_E2: her "If I must degrade myself in order to protect the honour of my house..." ("scream", "closed", "angry", "mid", xpos="mid", ypos="base") - her "So be it then!" ("scream", "base", "angry", "mid", emote="angry") + her "So be it!" ("scream", "base", "angry", "mid", emote="angry") her "Just..." ("open", "narrow", "worried", "down") if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") - her "*groan*" ("clench", "narrow", "base", "down") + her "*Groan*" ("clench", "narrow", "base", "down") - $ d_flag_01 = False + $ _wearing_top = False if hermione.is_worn("top"): - $ d_flag_01 = True - call nar(">Hermione begins taking off her top...") - call nar(">Pulling at the fabric in anger, making it more difficult than it should be...") + $ _wearing_top = True + nar "Hermione begins taking off her top..." + nar "Pulling at the fabric in anger, making it more difficult than it should be..." her "Why won't it....?!" her "There!" ("annoyed", "narrow", "annoyed", "mid") - call nar(">Hermione finally manages to untangle herself and sends her top flying to the other side of the room...") + nar "Hermione finally manages to untangle herself and sends her top flying to the other side of the room..." - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") call ctc pause .5 else: - call nar(">The girl seems to contemplate about which piece of clothing she should take off first...") + nar "The girl seems to contemplate about which piece of clothing she should take off first..." pause.1 if hermione.is_worn("bottom"): - her "Let's take these bottoms off then shall we?" ("scream", "closed", "angry", "mid") + her "Let's take these bottoms off then, shall we?" ("scream", "closed", "angry", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Yes, that's right. Take it off!\"": her "Of course!" her "Here it goes!" ("open", "narrow", "worried", "down") - "\"You need to calm down, [hermione_name].\"": - her "Well, {size=+7}EXCUSE ME{/size}, [genie_name]!" - her "You told me to strip for you, but you never told me your preferences in regards to the pace!" - gen "Well, I'm telling you now, [hermione_name]!" ("base", xpos="far_left", ypos="head") + "\"You need to calm down, [name_hermione_genie].\"": + her "Well, {size=+7}EXCUSE ME{/size}, [name_genie_hermione]!" + her "You told me to strip for you, but you never told me your preferences regarding the pace!" + gen "Well, I'm telling you now, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") her "Too late!" ("angry", "base", "angry", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom") call ctc pause .5 - call nar(">Hermione sends her bottoms flying across the room, just like she did with her top a moment earlier...") + nar "Hermione sends her bottoms flying across the room, just like she did with her top a moment earlier..." else: her "Alright then, let's do this thing!" ("scream", "closed", "angry", "mid") @@ -513,39 +514,39 @@ label hg_pf_strip_T3_intro_E2: gen "{size=-4}(Maybe it was still too early to--){/size}" ("base", xpos="far_left", ypos="head") her "Clothes?!!" ("disgust", "narrow", "base", "mid_soft") her "{size=+9}I don't need them!{/size}" ("scream", "base", "angry", "mid", emote="angry") - if hermione.is_worn("bra"): #Should be on at this level but might as well have the check - call nar(">Hermione keeps dancing angrily, and then...") + if hermione.is_worn("bra"): #Should be on at this level, but might as well have the check + nar "Hermione keeps dancing angrily, and then..." her "" ("angry", "base", "angry", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") pause.2 gen "{size=-4}(When did she??!){/size}" ("angry", xpos="far_left", ypos="head") call ctc - her "Are you enjoying this, [genie_name]?" + her "Are you enjoying this, [name_genie_hermione]?" her "" ("angry", "base", "angry", "mid") - her "Shall I shake my breasts for you like one of those harlots?" ("scream", "closed", "angry", "mid") + her "Shall I shake my breasts for you, like one of those harlots?" ("scream", "closed", "angry", "mid") gen "Well--" ("base", xpos="far_left", ypos="head") - her "Of course! Why wouldn't I degrade myself for your pleasure?!" + her "Of course I shall! Why wouldn't I degrade myself for your pleasure?!" her "This is completely {size=+7}acceptable!{/size}" ("scream", "base", "angry", "mid", emote="angry") her "" ("angry", "base", "angry", "mid") pause.2 - call nar(">Hermione is starting to shake her naked breasts rather clumsily...","start") - call nar(">As you watch the girl's tits sway right and left you find yourself fighting the urge to...","end") + nar "Hermione is starting to shake her naked breasts rather clumsily..." + nar "As you watch the girl's tits sway right and left, you find yourself fighting the urge to..." menu: gen "..." ("base", xpos="far_left", ypos="head") "-Grab them!-": gen "{size=-4}(Yes, just get my hands on these ample titties, that's what I want to do!){/size}" ("grin", xpos="far_left", ypos="head") gen "{size=-4}(Maybe pull on them a little, yes...){/size}" ("grin", xpos="far_left", ypos="head") - call slap_her #Calls slapping sound and visual. + play sound "sounds/boing02.ogg" her "" ("disgust", "wide", "base", "stare") - pause.2 - call slap_her #Calls slapping sound and visual. + pause.8 + play sound "sounds/boing03.ogg" her "" ("shock", "wide", "worried", "shocked") - pause.2 + pause.8 "-Slap them!-": gen "{size=-4}(I want to slap the crap out of her fun bags.){/size}" ("base", xpos="far_left", ypos="head") @@ -562,10 +563,10 @@ label hg_pf_strip_T3_intro_E2: gen "{size=-4}(No, it's not weird!){/size}" ("base", xpos="far_left", ypos="head") gen "{size=-4}(Just a couple of gentle love-bites!){/size}" ("base", xpos="far_left", ypos="head") call kiss_her - her "" ("shock", "wide", "base", "stare", tears="soft") + her @ tears soft "" ("shock", "wide", "base", "stare") pause.2 gen "{size=-4}(Yes... Maybe more than just a couple...){/size}" ("grin", xpos="far_left", ypos="head") - her "" ("disgust", "happyCl", "worried", "mid", tears="soft_blink") + her @ tears soft_blink "" ("disgust", "happyCl", "worried", "mid") pause.2 call kiss_her call kiss_her @@ -576,73 +577,69 @@ label hg_pf_strip_T3_intro_E2: call kiss_her her "" ("shock", "happyCl", "worried", "mid") pause.2 - gen "{size=-4}(Yes, motor boating these titties is be the best!){/size}" ("grin", xpos="far_left", ypos="head") + gen "{size=-4}(Yes, motor boating these titties is the best!){/size}" ("grin", xpos="far_left", ypos="head") her "" ("shock", "wide", "worried", "shocked") pause.2 - call nar(">While you are having fun with her tits, Hermione keeps on dancing...","start") + nar "While you are having fun with her tits, Hermione keeps on dancing..." her "(Dancing naked in front of the headmaster...)" ("soft", "wide", "worried", "shocked") her "(Letting him touch my breasts...)" ("disgust", "wide", "worried", "shocked") - her "(If my parents knew about this they would lose their minds...)" ("soft", "wide", "worried", "shocked") + her "(If my parents knew about this, they would lose their minds...)" ("soft", "wide", "worried", "shocked") her "(Especially my father...)" ("annoyed", "closed", "base", "mid") - ">Hermione is starting to shake her tits again..." + nar "Hermione is starting to shake her tits again..." her "(Hermione Granger - the stripper...)" her "(Forgive me father...)" ("annoyed", "narrow", "base", "dead") - ">Hermione puts her hands on her tits and starts squeezing them..." - ">You can only assume that she means to look seductive, but she just looks awkward and ashamed." + nar "Hermione puts her hands on her tits and starts squeezing them..." + nar "You can only assume that she means to look seductive, but she just looks awkward and ashamed." her "(I used to be a top student...{w=0.4} Used to have standards...)" - ">Hermione clutches her tits even harder and then gives them a couple of twists..." - ">Almost looking as if she is mad at her own breasts and trying her best to punish them..." + nar "Hermione clutches her tits even harder and then gives them a couple of twists..." + nar "Almost looking as if she is mad at her own breasts and trying her best to punish them..." - call nar(">You find the thought strangely arousing...","end") + nar "You find the thought strangely arousing..." #TODO Hermione chibi: Stand in panties only (blinking?) call her_chibi("dance_pause","on_desk","on_desk") call ctc - her "Well, I hope you enjoyed yourself, [genie_name]!" ("open", "narrow", "annoyed", "mid") + her "Well, I hope you enjoyed yourself, [name_genie_hermione]!" ("open", "narrow", "annoyed", "mid") gen "What?" ("base", xpos="far_left", ypos="head") her "I would like to get paid now..." ("open", "closed", "angry", "mid") if hermione.is_worn("panties"): #Should be on at this level but might as well have the check - gen "Aren't you forgetting something, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]...?" ("open", "narrow", "annoyed", "mid") + gen "Aren't you forgetting something, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]...?" ("open", "narrow", "annoyed", "mid") gen "Your panties...?" ("base", xpos="far_left", ypos="head") her "My panties?" ("open", "wide", "base", "stare") her "But, they always leave them on!" gen "Who exactly are \"they\"?" ("base", xpos="far_left", ypos="head") gen "Strippers in kid's cartoons?" ("base", xpos="far_left", ypos="head") - gen "Stripping is stripping, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "Stripping is stripping, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") gen "Now take off your panties!" ("base", xpos="far_left", ypos="head") her "................" ("angry", "wide", "base", "stare") - call nar(">Hermione looks at you horror-struck. All of her anger now gone...","start") + nar "Hermione looks at you horror-struck. All of her anger now gone..." her "................." ("annoyed", "closed", "base", "mid") - ">Without saying another word..." - call nar(">She starts pulling down her panties...","end") + nar "Without saying another word..." + nar "She starts pulling down her panties..." - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("panties") gen "There it is!" ("grin", xpos="far_left", ypos="head") her "There, can I get paid now?" ("open", "closed", "angry", "mid") - gen "*Hmm*... Well I'm not sure we're quite done here yet..." ("base", xpos="far_left", ypos="head") + gen "*Hmm*... Well, I'm not sure whether we're quite done here yet..." ("base", xpos="far_left", ypos="head") her "..." ("upset", "squint", "annoyed", "mid") - $ hermione.strip("all") - her "" ("angry", "narrow", "base", "down") - + $ hermione.strip("clothes") #TODO Hermione chibi: Stand naked blinking (ch_hem blink_n) call her_chibi("dance_pause","on_desk","on_desk") - her "" ("annoyed", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "" ("annoyed", "happyCl", "worried", "mid") pause.2 gen "How about you--" ("grin", xpos="far_left", ypos="head") - hide screen blktone - hide screen bld1 hide hermione_main with d1 @@ -652,19 +649,20 @@ label hg_pf_strip_T3_intro_E2: sna "Listen, Genie. I've been think--" ("snape_01", xpos="base", ypos="base") - $ renpy.play('sounds/scratch.ogg') + play sound "sounds/scratch.ogg" with hpunch sna "............................................" ("snape_11") - with hpunch call her_chibi("dance_pause","on_desk","on_desk", flip=True) + pause 0.4 + her "(Professor Snape???????!)" ("angry", "wide", "base", "stare", flip=True) sna "Miss Granger?" ("snape_12") call set_her_action("covering") - her "(No, no... This is not happening. Please...)" ("shock", "happyCl", "worried", "mid", cheeks="blush", trans=d5) - call play_music("playful_tension") # SEX THEME. + her @ cheeks blush "(No, no... This is not happening. Please...)" ("shock", "happyCl", "worried", "mid", trans=d5) + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "...................................." ("base", xpos="far_left", ypos="head") menu: @@ -674,9 +672,9 @@ label hg_pf_strip_T3_intro_E2: her "{size=-7}(I want to die!){/size}" ("angry", "happyCl", "worried", "mid") "\"Severus! Please, come join us.\"": - $ her_mood += 20 + $ states.her.mood += 20 sna "Seriously?" ("snape_14") - her "([genie_name], no, please.............................)" ("angry", "happyCl", "worried", "mid") + her "([name_genie_hermione], no, please.............................)" ("angry", "happyCl", "worried", "mid") sna "A very tempting offer indeed..." ("snape_13") her "!!!!!!......." ("angry", "wide", "base", "stare") sna "Well, maybe some other time..." ("snape_13") @@ -688,7 +686,6 @@ label hg_pf_strip_T3_intro_E2: her "................................." ("angry", "happyCl", "worried", "mid") call hide_characters - hide screen bld1 with fade pause.2 @@ -697,11 +694,12 @@ label hg_pf_strip_T3_intro_E2: show screen blkfade with d5 - call play_sound("climb_desk") - ">Hermione hastily hops off your desk." - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.wear("bra", "panties", "bottom") - ">She starts putting some clothes back on rather frantically..." + play sound "sounds/08_hop_on_desk.ogg" + nar "Hermione hastily hops off your desk." + play sound "sounds/cloth_sound3.ogg" + $ hermione.wear("all") + $ hermione.strip("top") + nar "She starts putting some clothes back on rather frantically..." @@ -709,7 +707,7 @@ label hg_pf_strip_T3_intro_E2: hide screen blkfade with d5 - if d_flag_01: # Wears Top + if _wearing_top: # Wears Top her "My top! Where's my top?!" ("scream", "happyCl", "worried", "mid", xpos="mid", ypos="base", flip=False) gen "It's over there, by the fireplace..." ("base", xpos="far_left", ypos="head") @@ -719,11 +717,12 @@ label hg_pf_strip_T3_intro_E2: call her_walk("mid", "base") - her "................................" ("disgust", "narrow", "base", "down", ypos="head", flip=False) + her "................................" ("disgust", "narrow", "base", "down", flip=True) pause.2 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("all") + pause .8 call her_chibi("stand","mid","base", flip=True) pause.2 @@ -735,25 +734,26 @@ label hg_pf_strip_T3_intro_E2: her "Can I just get my points now, please?" ("angry", "happyCl", "worried", "mid", emote="sweat") pause.5 - if not hg_strip.trigger: + if not states.her.status.stripping: $ achievements.unlock("herstrip") - $ hg_pf_strip.change_icon(a="heart_half", b="heart_red") - $ hg_strip.triggered() # .trigger = True, .counter += 1 - $ hg_pf_strip.title = "Strip for Me!" + $ states.her.status.stripping = True jump end_hg_pf_strip label hg_pf_strip_T3_E2: - gen "[hermione_name], how about another strip?" ("base", xpos="far_left", ypos="head") + + call start_hg_pf_strip + + gen "[name_hermione_genie], how about another strip?" ("base", xpos="far_left", ypos="head") her ".............." ("disgust", "narrow", "base", "mid_soft", xpos="base", ypos="base") - her "I would really rather not, [genie_name]..." - gen "Why? You are getting quite good at it." ("base", xpos="far_left", ypos="head") + her "I would really rather not, [name_genie_hermione]..." + gen "Why? You're getting quite good at it." ("base", xpos="far_left", ypos="head") her "........................." ("annoyed", "narrow", "annoyed", "mid") - her "{number=current_payout} house points?" ("open", "narrow", "worried", "down") + her "{number=current_payout} house points..." ("open", "narrow", "worried", "down") gen "Sure! The usual rate." ("base", xpos="far_left", ypos="head") her "..................." ("annoyed", "narrow", "angry", "R") - if ss_he.hermione_strip: #Turns TRUE after Dance Event 2 and the next Date with Snape. + if states.sna.ev.hangouts.hermione_strip_invite: #Turns TRUE after Dance Event 2 and the next Date with Snape. gen "(*Hmm*... Should I invite Snape to watch as well?)" ("base", xpos="far_left", ypos="head") menu: @@ -765,7 +765,6 @@ label hg_pf_strip_T3_E2: # Locks Door. call hide_characters - hide screen bld1 with d3 pause.5 @@ -774,7 +773,7 @@ label hg_pf_strip_T3_E2: pause.2 call chibi_emote("thought", "hermione") pause.5 - call play_sound("lock") + play sound "sounds/09_lock.ogg" call chibi_emote("hide", "hermione") pause.2 @@ -789,13 +788,13 @@ label hg_pf_strip_T3_E2: call her_walk("mid", "base") pause.2 - her "Just in case..." ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) + her "Just in case..." ("annoyed", "narrow", "angry", "R", flip=False) stop music fadeout 1.0 call her_walk("desk", "base", reduce=0.8) call blkfade - call play_sound("climb_desk") + play sound "sounds/08_hop_on_desk.ogg" pause 2 call her_chibi("dance","on_desk","on_desk") hide screen blkfade @@ -803,21 +802,21 @@ label hg_pf_strip_T3_E2: call ctc her "Just for the record..." ("open", "closed", "base", "mid", xpos="mid", ypos="base") - her "I still consider this a highly inappropriate favour to be buying from one of your students, [genie_name]." ("annoyed", "squint", "base", "mid") + her "I still consider this a highly inappropriate favour to be buying from one of your students, [name_genie_hermione]." ("annoyed", "squint", "base", "mid") gen "Right. And an equally inappropriate favour to be selling to your headmaster. Wouldn't you agree?" ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "narrow", "angry", "R") if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") if hermione.is_worn("top"): - call nar(">Hermione shifts her body towards you and starts taking off her top...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + nar "Hermione shifts her body towards you and starts taking off her top..." + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") pause .5 if hermione.is_worn("bra"): - call nar(">Struggling for a moment she takes off her bra somewhat clumsily...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + nar "After struggling for a moment, Hermione then takes off her bra, somewhat clumsily..." + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") pause .2 @@ -825,9 +824,9 @@ label hg_pf_strip_T3_E2: gen "Yes! The tits!" ("grin", xpos="far_left", ypos="head") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. her ".............." ("open", "narrow", "worried", "down") - her "What if my parents were to find out about this, [genie_name]?" ("disgust", "narrow", "base", "down") + her "What if my parents were to find out about this, [name_genie_hermione]?" ("disgust", "narrow", "base", "down") her "Mother would never understand..." her "As for my father..." ("upset", "wink", "base", "mid") @@ -843,29 +842,32 @@ label hg_pf_strip_T3_E2: her "He would not!" ("shock", "wide", "base", "stare") her "And I am too old for that anyway..." ("upset", "wink", "base", "mid") gen "I would say that you are the perfect age for that..." ("grin", xpos="far_left", ypos="head") - her "*huh*?" - her "I do not know what you mean, [genie_name]." ("grin", "happyCl", "worried", "mid", emote="sweat") + her "*Huh*?" + gen "If you know what I mean..." ("grin", xpos="far_left", ypos="head") + her "I do not know what you mean, [name_genie_hermione]." ("grin", "happyCl", "worried", "mid", emote="sweat") "{size=-3}\"Your father would disown you!\"{/size}": - her "You are probably right, [genie_name]..." ("angry", "happyCl", "worried", "mid", emote="sweat") - her "(Oh father, I am so sorry...)" ("angry", "base", "base", "mid", tears="soft") - her "he must never find out..." ("angry", "base", "base", "mid", tears="soft") + her "You are probably right, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", emote="sweat") + her "(Oh father, I am so sorry...)" ("angry", "base", "base", "mid") + her "he must never find out..." ("angry", "base", "base", "mid") "{size=-3}\"Your father would love to watch you strip!\"{/size}": her "He would not! He would be ashamed of me!" ("normal", "happyCl", "worried", "mid") gen "Are you sure about that?" ("base", xpos="far_left", ypos="head") - her "absolutely! My father is a man of integrity!" ("scream", "happyCl", "worried", "mid") + her "Absolutely! My father is a man of integrity!" ("scream", "happyCl", "worried", "mid") gen "But he {size=+4}is{/size} a {size=+4}man{/size}, right?" ("base", xpos="far_left", ypos="head") her "....................." ("annoyed", "narrow", "annoyed", "mid") her "My father must never know about this..." ("annoyed", "base", "worried", "R") - call nar(">Hermione is starting to sway her hips rather seductively...") + nar "Hermione is starting to sway her hips rather seductively..." - if hermione.is_worn("bottom"): - call nar(">Whilst sliding her bottoms down...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.strip("bottom") + if hermione.is_any_worn("bottom", "stockings"): + nar "Whilst sliding her bottoms down..." + if hermione.is_worn("stockings"): + nar "Along with her stockings..." + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("bottom", "stockings") pause.3 call ctc @@ -877,34 +879,34 @@ label hg_pf_strip_T3_E2: jump hg_pf_strip_T3_watch label hg_pf_strip_T3_watch: - call nar(">You watch Hermione Dance...") + nar "You watch Hermione Dance..." her "(Time for the finishing act I suppose...)" ("angry", "happyCl", "worried", "mid", xpos="mid", ypos="base") if hermione.is_worn("panties"): - gen "Yes, [hermione_name]! Take them off!" ("base", xpos="far_left", ypos="head") + gen "Yes, [name_hermione_genie]! Take them off!" ("base", xpos="far_left", ypos="head") her "........" ("annoyed", "closed", "base", "mid") - call nar(">Doing her best to please you, Hermione attempts to undress herself whilst still keeping her dance going.") - call nar(">Bending over slightly she hurriedly slides her panties down...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + nar "Doing her best to please you, Hermione attempts to undress herself whilst still keeping her dance going." + nar "Bending over slightly, she hurriedly slides her panties down..." + play sound "sounds/cloth_sound3.ogg" else: - call nar(">Hermione moves her body in an attempted seductive manner.") - call nar(">Your gaze on her current state of undress causing her some difficulties in maintaining her concentration.") + nar "Hermione moves her body in an attempted seductive manner." + nar "Your gaze on her current state of undress causes her some difficulty in maintaining her concentration." - $ hermione.strip("all") + $ hermione.strip("clothes") pause 1.0 - call nar(">You can see that she is doing her best to not fall off the desk...","start") - call nar(">But she looks rather ridiculous in her attempts to act like a professional stripper...","end") + nar "You can see that she is doing her best to not fall off the desk..." + nar "But she looks rather ridiculous in her attempts to act like a professional stripper..." call ctc her ".........." ("disgust", "happyCl", "worried", "mid") - call nar(">Hermione performs another set of rather awkward movements...","start") - call nar(">if not for her naked tits bouncing all over the place this would be quite embarrassing...","end") + nar "Hermione performs another set of rather awkward movements..." + nar "if not for her naked tits bouncing all over the place, this would be quite embarrassing..." gen "................." ("grin", xpos="far_left", ypos="head") - call nar(">A few more clumsy movements before Hermione slumps on her butt...") + nar "A few more clumsy movements before Hermione slumps on her butt..." show screen blkfade with d5 @@ -912,7 +914,6 @@ label hg_pf_strip_T3_watch: call her_chibi("sit_naked","on_desk","on_desk") call hide_characters - hide screen bld1 hide screen blkfade with d5 call ctc @@ -921,12 +922,15 @@ label hg_pf_strip_T3_watch: menu: gen "..." ("base", xpos="far_left", ypos="head") - "{size=-3}\"Good job, [hermione_name]! You sure know how to dance!\"{/size}": + "{size=-3}\"Good job, [name_hermione_genie]! You certainly know how to dance!\"{/size}": her ".............." ("disgust", "narrow", "worried", "down") gen "You have a lot of talent for this!" ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]." ("soft", "base", "worried", "R", emote="sweat") + her "Thank you [name_genie_hermione]." ("soft", "base", "worried", "R", emote="sweat") "{size=-3}\"*Hmm*... This was quite awful...\"{/size}": - $ her_mood += 4 + + $ states.her.mood += 4 + call her_chibi("sit_naked_shocked","on_desk","on_desk") + her "............" ("annoyed", "base", "angry", "mid") gen "You just need to practise more..." ("base", xpos="far_left", ypos="head") her "Whatever........." ("annoyed", "narrow", "angry", "R") @@ -934,7 +938,6 @@ label hg_pf_strip_T3_watch: her "......................." ("silly", "happyCl", "worried", "mid", emote="sweat") call her_chibi("sit_naked_shocked","on_desk","on_desk") - hide screen bld1 call ctc jump end_hg_pf_strip @@ -943,60 +946,57 @@ label hg_pf_strip_T3_masturbate: show screen blkfade with d5 - her "[genie_name]?!" ("open", "wide", "base", "stare", ypos="head", flip=False) - gen "It's alright, [hermione_name]. Don't mind me..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?!" ("open", "wide", "base", "stare", flip=False) + gen "It's alright, [name_hermione_genie]. Don't mind me..." call gen_chibi("jerk_off","behind_desk","base") call her_chibi("dance","on_desk","on_desk") - hide screen blktone hide screen blkfade with d5 call ctc - call bld - her "B-but..." ("angry", "wide", "base", "stare", ypos="head", flip=False) + her "B-but..." ("angry", "wide", "base", "stare", flip=False) her "Your..." gen "Yes...{w=0.3} *Ah*... Yes... This is good." ("base", xpos="far_left", ypos="head") - her "[genie_name]!!!" ("scream", "happyCl", "worried", "mid") + her "[name_genie_hermione]!!!" ("scream", "happyCl", "worried", "mid") her "I must insist that you put away your..." ("angry", "happyCl", "worried", "mid") her "... thing." menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"I said, keep on dancing, [hermione_name]!\"": + "\"I said, keep on dancing, [name_hermione_genie]!\"": stop music fadeout 1.0 - her "No, [genie_name]!" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) - gen "*huh*?" ("base", xpos="far_left", ypos="head") + her "No, [name_genie_hermione]!" ("annoyed", "narrow", "angry", "R", flip=False) + if states.her.status.cumshot: + her "You've done this to me before, without telling me beforehand..." ("angry", "happyCl", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") show screen blkfade with d5 - ">Hermione jumps off your desk and starts to put her clothes back on while glaring at you..." + nar "Hermione jumps off your desk and starts to dress herself, while glaring at you..." gen "Oh, come on! Don't leave me like that!" ("base", xpos="far_left", ypos="head") + nar "You reluctantly put your cock away..." - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ hermione.wear("all") call her_chibi_scene("reset","desk","base", trans=fade) - her "The dance is over, [genie_name]!" ("soft", "base", "angry", "mid") - pause 1 + her "The dance is over, [name_genie_hermione]!" ("soft", "base", "angry", "mid") her "I would like to get paid now!" ("annoyed", "narrow", "annoyed", "mid") - gen "Stubborn [hermione_name]..." ("base", xpos="far_left", ypos="head") - call nar(">You reluctantly put your cock away...") - her "I would like to get paid now." ("annoyed", "narrow", "annoyed", "mid") + gen "Why do you always have to be so stubborn [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "My payment..." ("annoyed", "narrow", "annoyed", "mid") - $ her_mood += 6 + $ states.her.mood += 6 jump end_hg_pf_strip "\"Fine. There is no need for drama!\"": - her "......................" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) + her "......................" ("annoyed", "narrow", "angry", "R", flip=False) pause.1 call gen_chibi("sit_behind_desk") call her_chibi("dance","on_desk","on_desk") - hide screen blktone - hide screen bld1 with fade pause.5 @@ -1010,59 +1010,74 @@ label hg_pf_strip_T3_masturbate: # Event 3 (r) - label hg_pf_strip_T4_intro_E1: - gen "[hermione_name], how about getting on this desk for another show?" ("base", xpos="far_left", ypos="head") - her ".............." ("disgust", "narrow", "base", "mid_soft", xpos="base", ypos="base") - her "I would really rather not, [genie_name]..." - gen "Why? You are getting quite good at it." ("base", xpos="far_left", ypos="head") - her "........................." ("annoyed", "narrow", "annoyed", "mid") - her "{number=current_payout} house points?" ("open", "base", "base", "mid") + + call start_hg_pf_strip + + gen "[name_hermione_genie], why don't you get on this desk for another show?" ("base", xpos="far_left", ypos="head") + her ".............." ("annoyed", "squint", "base", "mid_soft", xpos="base", ypos="base") + her "I would really rather not, [name_genie_hermione]..." + gen "Why? You're getting quite good at it." ("base", xpos="far_left", ypos="head") + her "........................." ("annoyed", "squint", "worried", "R") + her "{number=current_payout} house points?" ("open", "squint", "worried", "R") gen "Sure!" ("grin", xpos="far_left", ypos="head") - her "Very well, then..." ("base", "base", "base", "R") + her "Very well, then..." ("open", "closed", "base", "R") jump hg_pf_strip_T4 label hg_pf_strip_T4_intro_E2: - gen "[hermione_name], would you like to climb onto my desk for another show?" ("base", xpos="far_left", ypos="head") - gen "(I'm bored as fuck in here after all...)" ("base", xpos="far_left", ypos="head") + + call start_hg_pf_strip + + gen "[name_hermione_genie], would you like to climb onto my desk for another show?" ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("annoyed", "base", "base", "R", xpos="base", ypos="base") her "Sure! Why not..." ("base", "happyCl", "base", "mid") - gen "Yes?" ("grin", xpos="far_left", ypos="head") - her "I've been practising a bit more. Mainly on my dancing." ("soft", "narrow", "worried", "down") - gen "Very good... I'd love to see your progress." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]..." ("base", "narrow", "base", "mid_soft") + gen "Am I hearing some excitement in your voice?" ("grin", xpos="far_left", ypos="head") + her "Oh... Well, I've been practising a bit more, so I won't make a fool out of myself." ("soft", "narrow", "worried", "down") + if hermione.is_any_worn("top", "bottom", "panties", "bra"): + gen "You've practised taking your clothes off?" ("base", xpos="far_left", ypos="head") + her "No, I've been practising dancing..." ("disgust", "narrow", "worried", "mid") + gen "I see..." ("base", xpos="far_left", ypos="head") + gen "Well then, let me see your progress." ("base", xpos="far_left", ypos="head") + else: + gen "Very good... I'd love to see your progress." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]..." ("open", "base", "base", "mid_soft") jump hg_pf_strip_T4 label hg_pf_strip_T4_E2: - gen "[hermione_name], how do you feel about getting on my desk for another show?" ("base", xpos="far_left", ypos="head") - if her_tier <= 5: - her "Of course, [genie_name]..." ("base", "base", "base", "mid", xpos="base", ypos="base") + + call start_hg_pf_strip + + gen "[name_hermione_genie], how do you feel about getting on my desk for another show?" ("base", xpos="far_left", ypos="head") + if states.her.tier <= 5: + her "Of course, [name_genie_hermione]..." ("open", "base", "base", "mid", xpos="base", ypos="base") else: - her "I'd love to, [genie_name]!" ("open_tongue", "narrow", "annoyed", "up", xpos="base", ypos="base") + her "Certainly, [name_genie_hermione]..." ("base", "narrow", "base", "stare", xpos="base", ypos="base") jump hg_pf_strip_T4 label hg_pf_strip_T4: menu: gen "(...)" ("base", xpos="far_left", ypos="head") - "-Invite Snape to watch-" if ss_he.hermione_strip: + "-Invite Snape to watch-" if states.sna.ev.hangouts.hermione_strip_invite: jump hg_pf_strip_T4_snape "-Ask her to lock the door-": - if her_tier <= 5: + gen "Lock the door before you begin, will you?" ("base", xpos="far_left", ypos="head") + if states.her.tier <= 5: her "Of course..." ("base", "base", "base", "mid") else: - her "(How boring...)" ("annoyed", "narrow", "annoyed", "up") + her "(How boring...)" ("annoyed", "narrow", "annoyed", "R") call hide_characters - hide screen bld1 with d3 pause.5 call her_walk("door", "base") pause.5 - call play_sound("lock") + play sound "sounds/09_lock.ogg" + pause.4 # Walks back. call her_chibi("stand","door","base") @@ -1073,26 +1088,33 @@ label hg_pf_strip_T4: her "All done!" ("smile", "closed", "base", "mid", trans=d3) - "-Tell her to leave the door open-": - if her_tier <= 4: - her "But, what if somebody walks in again!" ("shock", "wide", "base", "stare") - gen "Nonsense. No such thing will happen..." ("base", xpos="far_left", ypos="head") + "-Tell her to start the show-": + gen "Go on then." ("base", xpos="far_left", ypos="head") + if states.her.tier <= 4: + her "Should I not lock the door first, [name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "Leave it unlocked, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "But, what if somebody walks in again!" ("angry", "base", "base", "stare") + gen "Nonsense... No such thing will happen." ("base", xpos="far_left", ypos="head") her "It happened before so why--" ("angry", "base", "angry", "mid") - gen "Stop being such a fuzzy and get over here..." ("base", xpos="far_left", ypos="head") + gen "Stop being such a fuzzy, and get over here..." ("base", xpos="far_left", ypos="head") her ".................." ("annoyed", "narrow", "angry", "R") - stop music fadeout 1.0 - call her_walk("desk", "base", reduce=0.8) - - $ her_mood += 4 + $ states.her.mood += 4 else: - her "Yes, [genie_name]." ("base", "narrow", "base", "mid_soft") - stop music fadeout 1.0 + her "Yes, [name_genie_hermione]." ("soft", "narrow", "base", "mid_soft") + + stop music fadeout 1.0 + call her_walk("desk", "base", reduce=0.8) + + if hermione.is_any_worn("robe", "accessory"): + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("robe", "accessory") + pause .5 # Climb desk call blkfade - call play_sound("climb_desk") + play sound "sounds/08_hop_on_desk.ogg" pause 2 call her_chibi("dance","on_desk","on_desk") hide hermione_main @@ -1100,81 +1122,85 @@ label hg_pf_strip_T4: with d5 call ctc - call play_music("playful_tension") # SEX THEME. - her "..." ("base", "narrow", "base", "mid_soft", xpos="mid", ypos="base", trans=d3) - if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.strip("robe", "accessory") - gen "Yes, very nice." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "worried", "down") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her "..." ("soft", "narrow", "base", "mid_soft", xpos="mid", ypos="base", trans=d3) if hermione.is_worn("top"): - call nar(">Hermione hastily starts pulling at her top...") + nar "Hermione hastily starts pulling at her top..." gen "Slowly, please..." ("base", xpos="far_left", ypos="head") gen "There's no rush." ("base", xpos="far_left", ypos="head") if hermione.is_worn("top"): - her "I'm not!" ("open", "base", "angry", "mid") - her "It's just... I..." ("disgust", "narrow", "base", "down") + her "I'm not trying to--" ("open", "base", "angry", "mid") + her "It's just--{w=0.2} I..." ("disgust", "narrow", "base", "down") gen "Would you like some help with it?" ("grin", xpos="far_left", ypos="head") - if her_tier <= 5: + if states.her.tier <= 5: her "No..." ("annoyed", "base", "angry", "mid") - her "I can do it, [genie_name]." ("open", "closed", "base", "mid") + her "I can do it, [name_genie_hermione]." ("open", "closed", "base", "mid") else: - her "No, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "No, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") her "Just enjoy the show..." ("soft", "narrow", "base", "mid_soft") - gen "I will, [hermione_name]." ("grin", xpos="far_left", ypos="head") + gen "I will, [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "worried", "down") + her "..." ("soft", "narrow", "worried", "down") if hermione.is_worn("top"): - call nar(">Hermione pulls her top over her head...") - call nar(">And takes it off somewhat gracefully...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + nar "Hermione pulls her top over her head..." + nar "And takes it off somewhat gracefully..." + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") pause.5 if hermione.is_worn("bra"): - call nar(">Hermione undoes her bra rather provocatively.") + nar "Hermione undoes her bra and lets it fall to the floor." - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") pause.5 - call ctc - + nar "Hermione hesitates for a brief moment, then begins jiggling her tits at you..." gen "Yes! Shake those tits!" ("grin", xpos="far_left", ypos="head") - if her_tier <= 4: - her "Must you be so vulgar, [genie_name]?" ("annoyed", "closed", "base", "mid") - her ".............." ("annoyed", "narrow", "worried", "down") + if states.her.tier <= 4: + her "Must you be so vulgar, [name_genie_hermione]?" ("annoyed", "closed", "base", "mid") + gen "Should I not be voicing my enjoyment?" ("base", xpos="far_left", ypos="head") + gen "How else are you supposed to know if you're doing it right?" ("base", xpos="far_left", ypos="head") + her "Fine...{w=0.4} Go right ahead then, [name_genie_hermione]..." ("annoyed", "narrow", "worried", "down") - her "[genie_name]?" ("open", "base", "base", "mid") - gen "*huh*?" ("base", xpos="far_left", ypos="head") - her "Can I ask you a question?" ("upset", "wink", "base", "mid") - gen "Go ahead..." ("base", xpos="far_left", ypos="head") + nar "Hermione resumes shaking her tits..." + nar "Her movements appear more repetitive than before, and you notice a blank expression across her face..." + nar "After a couple of moments, she regains her focus and locks eyes with you." + + her "[name_genie_hermione]?" ("open", "base", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her "May I ask you a question?" ("upset", "wink", "base", "mid") + gen "Is it about how to shake your tits in a less repetitive manner?" ("base", xpos="far_left", ypos="head") + her "*Huh*?" ("angry", "wink", "base", "mid") + gen "Never mind... Go ahead..." ("base", xpos="far_left", ypos="head") her "..............." ("normal", "happyCl", "worried", "mid") - her "Have you ever been in love...?" ("grin", "happyCl", "worried", "mid", emote="sweat") + her "Have you ever been in love...?" ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "In love?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]." ("angry", "narrow", "worried", "mid", emote="sweat") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Don't be ridiculous! Love is a lie!\"": - her "I am sorry you think that way, [genie_name]!" ("annoyed", "base", "worried", "R") + her "I am sorry you think that way, [name_genie_hermione]!" ("annoyed", "base", "worried", "R") her "But you couldn't be more wrong!" ("annoyed", "narrow", "annoyed", "mid") her "I believe that true love is what makes the earth turn!" ("base", "base", "base", "R") gen "Actually the conservation of angular momentum is responsible for that." ("base", xpos="far_left", ypos="head") - her "*huh*?" ("upset", "wink", "base", "mid") + her "*Huh*?" ("upset", "wink", "base", "mid") if hermione.is_worn("bottom"): - gen "Never mind. Just take off your bottoms already." ("base", xpos="far_left", ypos="head") + gen "...{w=0.4} Just take off your bottoms already." ("base", xpos="far_left", ypos="head") else: - gen "Never mind. Keep dancing!" ("base", xpos="far_left", ypos="head") + gen "...{w=0.4} Keep dancing!" ("base", xpos="far_left", ypos="head") her "............" ("annoyed", "narrow", "annoyed", "mid") "\"Be quiet and keep on dancing!\"": her "But you said I could ask you a question..." ("annoyed", "narrow", "annoyed", "mid") gen "And you did, didn't you?" ("base", xpos="far_left", ypos="head") - her "!!!............" ("open", "base", "base", "mid") + her "!!!............" ("open", "base", "base", "stare") her "...................................." ("annoyed", "narrow", "annoyed", "mid") if hermione.is_worn("bottom"): gen "Now hush... And take your bottoms off." ("base", xpos="far_left", ypos="head") @@ -1182,56 +1208,57 @@ label hg_pf_strip_T4: gen "Now hush... And let me enjoy this." ("base", xpos="far_left", ypos="head") her "........" ("annoyed", "narrow", "angry", "R") - "\"Yes... a very long time ago...\"": - gen "Yes... a very long time ago..." ("base", xpos="far_left", ypos="head") + "\"Yes... A very long time ago...\"": her "!!!!!??.............................." ("open", "base", "base", "mid") gen "Her name was Eden..." ("base", xpos="far_left", ypos="head") + her "Eden..." ("soft", "base", "base", "mid") her "Was she beautiful?" ("base", "base", "base", "mid") gen "She was so much more than that..." ("base", xpos="far_left", ypos="head") gen "She was smart, green, and perfect..." ("base", xpos="far_left", ypos="head") her "She was... \"green\"...?" ("open", "narrow", "worried", "down") - her "Are you making fun of me, [genie_name]?" ("angry", "base", "angry", "mid") - gen "Oh, you humans know nothing of true love..." ("base", xpos="far_left", ypos="head") + her "Are you making fun of me, [name_genie_hermione]?" ("angry", "base", "angry", "mid") + gen "You humans know nothing of true love..." ("base", xpos="far_left", ypos="head") her ".....................................?" ("soft", "base", "base", "mid") if hermione.is_worn("bottom"): - gen "Err... I mean, take off your bottoms, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "*Err*... I mean, take off your bottoms, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") else: - gen "Err... I mean, keep on dancing, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "*Err*... I mean, keep on dancing, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") her "................." ("annoyed", "narrow", "angry", "R") "\"I feel like I'm in love right now!\"": - her "You don't have to be vulgar, [genie_name]." ("annoyed", "narrow", "angry", "R") - gen "Oh, but I mean it!" ("base", xpos="far_left", ypos="head") - her "[genie_name], please!" ("disgust", "narrow", "base", "mid_soft") - her "I am one of your students!" ("soft", "base", "base", "mid") - her "And you are older than my father!" ("grin", "happyCl", "worried", "mid", emote="sweat") + her "What are you saying, [name_genie_hermione]!" ("angry", "narrow", "angry", "mid") + her "Surely, you can't mean--" ("angry", "narrow", "angry", "R") + gen "Oh, I mean it!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], please!" ("disgust", "narrow", "base", "mid_soft") + her "I'm one of your students!" ("soft", "base", "base", "mid") + her "And you're older than my father!" ("grin", "happyCl", "worried", "mid", emote="sweat") gen "{size=-4}(You have no idea, girl.){/size}" ("base", xpos="far_left", ypos="head") - her "Although some scientists insist that what we consider \"love\" is actually nothing but a chemical reaction..." ("soft", "base", "base", "mid") - her "And when a man is experiencing sexual arousal, the same type of hormones--" ("open", "closed", "base", "mid") - gen "[hermione_name]!" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("soft", "base", "base", "mid") - gen "Did you forget where you are?" ("base", xpos="far_left", ypos="head") - her "Oh, my apologies, [genie_name]... I get distracted sometimes." ("grin", "happyCl", "worried", "mid", emote="sweat") + her "Surely you must be looking at it scientifically, where \"love\" is described as nothing but a chemical reaction..." ("soft", "base", "base", "mid") + her "Since I've been causing you to experience sexual arousal, you must've had an increase in endorphins-- Hormones-- Testosterone-- Estrogen--" ("angry", "closed", "base", "mid") + gen "[name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "Did you forget what you're supposed to be doing?" ("base", xpos="far_left", ypos="head") + her "Oh, my apologies, [name_genie_hermione]... I get distracted sometimes." ("grin", "happyCl", "worried", "mid", emote="sweat") if hermione.is_worn("bottom"): gen "Take off your bottoms already, would you?!" ("base", xpos="far_left", ypos="head") else: gen "Get to the good stuff already, would you?!" ("base", xpos="far_left", ypos="head") her "Right..." ("annoyed", "base", "worried", "R") - call nar(">Hermione is starting to sway her hips rather seductively...") + nar "Hermione begins swaying her hips rather seductively..." if hermione.is_worn("bottom"): - call nar(">Whilst sliding her bottoms down...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + nar "Whilst sliding her bottoms down..." + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom") pause.5 call ctc menu: "-Ask her to masturbate-": - if her_tier == 4: + if states.her.tier == 4: jump hg_pf_strip_T4_fingering - elif her_tier == 5: + elif states.her.tier == 5: jump hg_pf_strip_T5_fingering else: # Tier 6, and a fallback for cheaters! jump hg_pf_strip_T6_fingering @@ -1243,54 +1270,79 @@ label hg_pf_strip_T4: jump hg_pf_strip_T4_watch label hg_pf_strip_T4_watch: - call blktone - call nar(">You watch Hermione Dance...") - her "(Time for the finishing act I suppose...)" ("angry", "happyCl", "worried", "mid", xpos="mid", ypos="base") + nar "You continue watching Hermione dance... Shifting your attention periodically between her heaving chest, and her swaying hips..." + gen "(She certainly has improved her dancing routine...)" ("base", xpos="far_left", ypos="head") + gen "(She might even be able to give the brothel whores of Agrabah a run for their money...)" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("angry", "narrow", "worried", "mid", xpos="mid", ypos="base") + gen "(I'd say it might even be broadcast worthy.)" ("base", xpos="far_left", ypos="head") + her "(I guess my dancing is better than I thought...)" ("soft", "narrow", "worried", "mid") + her "(Time for the finishing act I suppose...)" ("angry", "happyCl", "worried", "mid") - if hermione.is_worn("panties"): - gen "Yes, [hermione_name]! Take them off!" ("base", xpos="far_left", ypos="head") - her "........" ("annoyed", "closed", "base", "mid") - call nar(">Following your command, Hermione begins taking the rest of her clothes off...") - call nar(">Bending over slightly she slides her panties down...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + if hermione.is_any_worn("clothes"): + her "[name_genie_hermione], I'm going to take off the rest now." ("open", "narrow", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + gen "Oh, yes, [name_hermione_genie]! Take it all off!" ("base", xpos="far_left", ypos="head") + her "........" ("soft", "closed", "base", "mid") + if hermione.is_worn("panties"): + nar "Hermione begins taking off her panties..." + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("panties") + nar "Once past her hips, she lets them go, and they slide down to her feet..." + play sound "sounds/cloth_sound4.ogg" + nar "After flicking them off the table, she resumes her dancing..." + else: + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + gen "Yes... Very good..." ("base", xpos="far_left", ypos="head") + nar "As Hermione stops talking, your focus quickly shifts away from her upper lips, and down to her lower..." else: - call nar(">Hermione moves her body in an attempted seductive manner.") - call nar(">Trying her best to focus on her task she tries to avoid looking directly at you.") + nar "Just as Hermione is about to move on to the next part of her dance, your focus shifts towards her lower lips..." - $ hermione.strip("all") - - call nar(">You can see that she is doing her best to be graceful...","start") - call nar(">But she looks rather ridiculous in her attempts to act like a professional stripper...","end") + her "" ("angry", "narrow", "worried", "down") + nar "Noticing your stare, Hermione's body becomes slightly more tense, yet she still tries to push on, in an attempted seductive manner..." + her "" ("angry", "narrow", "worried", "R") + nar "Determined to complete her task, she tries her best to continue her dance, while avoiding looking directly at you..." + her "" ("angry", "narrow", "worried", "L") + nar "You can see that she is trying to be graceful... But in her attempts at avoiding your gaze, she periodically stumbles on her own feet..." + gen "*Hmm*... Perhaps I spoke too soon..." ("base", xpos="far_left", ypos="head") + gen "She'd never get any tips at this rate..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("angry", "narrow", "worried", "mid") + gen "Oh, did I say that out loud?" ("base", xpos="far_left", ypos="head") call ctc - her ".........." ("base", "narrow", "base", "mid_soft") + her ".........." ("annoyed", "narrow", "base", "mid_soft") + her "" ("annoyed", "closed", "base", "mid") - call nar(">Suddenly Hermione breaks into a whole series of rather complex pirouettes...") - gen "{size=-4}(This looks quite impressive actually...){/size}" ("base", xpos="far_left", ypos="head") + nar "Suddenly, Hermione breaks into a whole series of rather complex pirouettes..." + gen "{size=-4}(Hold on... Now this is rather impressive actually...){/size}" ("base", xpos="far_left", ypos="head") pause.5 - call nar(">Hermione gives her breasts a squeeze followed by another series of rather complex (and naughty) movements...") + nar "Hermione gives her breasts a squeeze, followed by another series of rather complex, and naughty movements..." call ctc gen "{size=-4}(Did she practise this?){/size}" ("base", xpos="far_left", ypos="head") - gen "(Oh, why would I care?)" ("grin", xpos="far_left", ypos="head") her "{size=-5}(Three-two-one... Three-two-one... And step!){/size}" ("open", "closed", "base", "mid") pause.5 - call nar(">Hermione performs another set of movements that could be considered classy...","start") - call nar(">If not for her naked tits bouncing all over the place...","end") + nar "Hermione performs another set of movements that could be considered classy..." + nar "If it wasn't for her naked tits bouncing all over the place..." gen "Yes, that's how it's done, you little harlot!" ("grin", xpos="far_left", ypos="head") + gen "Show those brothel whores who's the boss!" ("grin", xpos="far_left", ypos="head") - call nar(">A few more movements, a couple of gestures and a little curtsy bow to the imaginary public...") + her "" ("base", "closed", "base", "mid") + nar "Either due to focusing on her movements or your words, you notice that a smile has now spread across Hermione's face..." + nar "Her every motion now comes across as purposeful and natural, and you can't help but almost getting hypnotized by her perky nipples..." + nar "After a couple of gestures, she slows down, and finishes off with a little curtsy bow to an imaginary public..." + gen "That's it, girl! That's how you do it!" ("grin", xpos="far_left", ypos="head") show screen blkfade with d5 call her_chibi("sit_naked","on_desk","on_desk") - ">And then Hermione slumps on her butt, completely exhausted." + nar "Completely exhausted, Hermione slumps down onto her butt." + nar "You watch her in silence for a couple of moments, until she's finally managed to catch her breath..." call hide_characters - hide screen blktone hide screen blkfade with d5 call ctc @@ -1299,19 +1351,18 @@ label hg_pf_strip_T4_watch: menu: gen "..." ("base", xpos="far_left", ypos="head") - "{size=-3}\"Good job, [hermione_name]! You sure know how to dance!\"{/size}": - her "Really?" ("base", "narrow", "base", "mid_soft") + "{size=-3}\"Good job, [name_hermione_genie]! You certainly know how to dance!\"{/size}": + her "Really?" ("base", "happy", "base", "mid_soft") gen "Yes! You have a lot of talent for this!" ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]." ("silly", "happyCl", "worried", "mid", emote="sweat") - "{size=-3}\"*Hmm*... This was quite awful...\"{/size}": - her "Oh... I'm sorry..." ("soft", "happy", "base", "R") - gen "That's OK... You just need to practise more..." ("base", xpos="far_left", ypos="head") - her "*Ehm*... I will keep that in mind, [genie_name]..." ("open", "base", "base", "R") + her "Thank you [name_genie_hermione]." ("grin", "closed", "worried", "mid", emote="sweat") + "{size=-3}\"*Hmm*... Overall, this was quite awful...\"{/size}": + call her_chibi("sit_naked_shocked","on_desk","on_desk") + her "Oh... I'm sorry [name_genie_hermione]..." ("soft", "happy", "base", "R") + gen "That's alright... At least you got into it towards the end..." ("base", xpos="far_left", ypos="head") + her "*Ehm*... I will keep that in mind, [name_genie_hermione]..." ("open", "base", "base", "R") "{size=-3}\".................................................\"{/size}": her "......................." ("silly", "happyCl", "worried", "mid", emote="sweat") - call her_chibi("sit_naked_shocked","on_desk","on_desk") - hide screen bld1 call ctc jump end_hg_pf_strip @@ -1326,84 +1377,103 @@ label hg_pf_strip_T4_masturbate: her "But..." ("angry", "happyCl", "worried", "mid", xpos="mid", ypos="base") her "............................." - her "Well, alright, but only if you will promise me not to... finish, [genie_name]." ("soft", "base", "angry", "mid") + her "Well, alright...{w=0.4} But only if you will promise me not to--{w=0.2} Finish, [name_genie_hermione]." ("angry", "narrow", "angry", "R") + + $ _promise = False menu: gen "..." ("base", xpos="far_left", ypos="head") "-Promise her to hold it-": - $ d_flag_07 = True #Promised to hold it. - her "Well, alright then..." ("open", "closed", "base", "mid") + $ _promise = True #Promised to hold it. + her "Well, alright then..." ("open", "closed", "base", "mid") "-Give her no such promise-": - $ d_flag_07 = False #Did not promise to hold it. - gen "\"Not to finish\"? That would be like torture!" ("base", xpos="far_left", ypos="head") - gen "Please keep your sadistic urges to yourself, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I don't have any... sadistic urges, [genie_name]!" ("annoyed", "narrow", "angry", "R") - her "I just don't want to..." - gen "Yes... Those are some nice tits you have..." ("grin", xpos="far_left", ypos="head") - her "............" ("angry", "happyCl", "worried", "mid") - gen "*A-ah*... Yes..." ("grin", xpos="far_left", ypos="head") - her ".........." ("angry", "happyCl", "worried", "mid") - her "Fine! Have it your way, [genie_name]!" ("angry", "happyCl", "worried", "mid") + gen "Promise \"Not to finish\"? That would be like torture!" ("base", xpos="far_left", ypos="head") + gen "Please keep your sadistic urges to yourself, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "I don't have any... Sadistic urges, [name_genie_hermione]!" ("disgust", "narrow", "annoyed", "R") + her "I just don't want to get--" ("annoyed", "narrow", "base", "mid") + gen "..." ("grin", xpos="far_left", ypos="head") + her "[name_genie_hermione]... Are you even listening?" ("angry", "narrow", "worried", "mid") + gen "*Ah*... Yes... You've truly got some shapely breasts, [name_hermione_genie]..." ("grin", xpos="far_left", ypos="head") + her ".........." ("disgust", "narrow", "worried", "mid") + her "Fine! Have it your way, I guess..." ("angry", "narrow", "worried", "R") her "{size=-5}(As usual...){/size}" ("annoyed", "narrow", "angry", "R") + nar "Hermione moves her hips awkwardly, while trying her best not to look down towards your throbbing member..." + nar "You speed up your pace, while focusing intently on Hermione's every move..." + her "(Better get this done quickly, before it's too late...)" ("disgust", "happy", "worried", "R") - call nar(">You keep on wanking while you watch Hermione's dance...") - show screen blktone - her "Time for the finishing act I suppose..." ("annoyed", "closed", "base", "mid") - - if hermione.is_worn("panties"): - gen "Yes, [hermione_name]! Take them off!" ("base", xpos="far_left", ypos="head") - her "........" ("annoyed", "closed", "base", "mid") - call nar(">Following your command, Hermione begins taking the rest of her clothes off...") - call nar(">Bending over slightly she slides her panties down...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + if hermione.is_any_worn("clothes"): + her "[name_genie_hermione], I'm going to take off the rest now." ("open", "narrow", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + gen "Oh, yes, [name_hermione_genie]! Take it all off!" ("base", xpos="far_left", ypos="head") + her "........" ("soft", "closed", "base", "mid") + if hermione.is_worn("panties"): + nar "Hermione begins taking off her panties..." + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("panties") + nar "Once past her hips, she lets them go, and they slide down to her feet..." + play sound "sounds/cloth_sound4.ogg" + nar "After flicking them off the table, she resumes her dancing..." + else: + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + gen "Yes... Very good..." ("base", xpos="far_left", ypos="head") + nar "As Hermione stops talking, your focus quickly shifts away from her upper lips, and down to her lower..." else: - call nar(">Hermione moves her body in an attempted seductive manner.") - call nar(">Trying her best to focus on her task she tries to avoid looking directly at you.") + nar "Just as Hermione is about to move on to the next part of her dance, your focus shifts towards her lower lips..." - $ hermione.strip("all") - - call nar(">You can see that she is doing her best to be graceful...","start") - call nar(">But she looks rather ridiculous in her attempts to act like a professional stripper...","end") + nar "As if feeling your stare, Hermione finally gives in and looks down at your rock-hard cock..." + her @ cheeks blush "*Gasp*" ("soft", "squint", "base", "down") + her @ cheeks blush "" ("angry", "narrow", "base", "mid") + nar "Catching herself in the act, she quickly looks back up at your face..." + nar "You stare into her eyes, while still furiously beating yourself off..." + her @ cheeks blush "" ("grin", "narrow", "base", "mid") + nar "Doing her best to try and brush past her moment of weakness, she gives you a half-hearted smile, in an attempted seductive manner." + her @ cheeks blush "" ("soft", "narrow", "base", "R") + nar "Set on finishing her task, she does her best to avoid looking directly at you." + her @ cheeks blush "" ("soft", "narrow", "base", "L") + nar "You can see that she is doing her best to be graceful... But in her attempts at avoiding your gaze, she periodically stumbles on her own feet." call ctc - call nar(">Nonetheless you decide to show her some appreciation...","start") - call nar(">By stroking your cock even faster!","end") - her ".........." ("annoyed", "narrow", "base", "dead") - call nar(">Suddenly Hermione breaks into a whole series of rather complex pirouettes.") - gen "{size=-4}(This looks quite impressive actually...){/size}" ("base", xpos="far_left", ypos="head") + nar "Nonetheless, you decide to show her some appreciation..." + nar "By stroking your cock even faster!" + her "........." ("angry", "narrow", "base", "dead") + nar "Suddenly, Hermione breaks into a whole series of rather complex pirouettes." + gen "*Ah*... That's it!" ("base", xpos="far_left", ypos="head") pause.5 - call nar(">Hermione gives her breasts a squeeze followed by another series of rather complex (and naughty) movements.") + nar "She then gives her breasts a squeeze, followed by another series of rather complex, and naughty, movements." call ctc gen "{size=-4}(Did she practise this?){/size}" ("base", xpos="far_left", ypos="head") - gen "Oh, what do I care?" ("grin", xpos="far_left", ypos="head") - call nar(">You stroke your diamond-hard cock furiously.") + nar "You can't help but feel entranced by Hermione's movements." her "{size=-5}(Three-two-one... Three-two-one... And step!){/size}" ("open", "closed", "base", "mid") + nar "You almost feel in sync with Hermione's dancing, and you begin stroking your dick along with her movements." + gen "{size=-5}(One-two-three... One-two-three... And edge!){/size}" ("base", xpos="far_left", ypos="head") pause.5 - call nar(">Hermione performs another set of movements that could be considered classy...","start") - call nar(">if not for her naked tits bouncing all over the place.","end") + nar "Hermione performs another set of movements that could be considered classy..." + nar "If not for her naked tits bouncing all over the place." - gen "Yes, yes, you little whore!" ("grin", xpos="far_left", ypos="head") - call nar(">A few more movements, a couple of gestures and a little curtsy bow to the imaginary public...") + gen "Yes, dance for me, you little whore!" ("grin", xpos="far_left", ypos="head") + nar "Either due to wanting to finish things quickly, or being excited by your words, Hermione starts putting even more effort into her dance." + nar "Her every motion now comes across as purposeful and natural, and you can't help but almost getting hypnotized by her perky nipples..." + nar "And after a few more movements, a couple of gestures and a little curtsy bow to the imaginary public--" show screen blkfade with d5 call her_chibi("sit_naked","on_desk","on_desk") - ">And then Hermione slumps on her butt, completely exhausted." + nar "--Hermione slumps down onto her butt, completely exhausted." hide hermione_main - hide screen blktone hide screen blkfade with d5 call ctc - her "Whew... This was--" ("open", "closed", "base", "mid", ypos="head", flip=False) + her "(Whew... I made it... And not a moment too--)" ("base", "closed", "base", "mid", ypos="head", flip=False) with hpunch gen "*ARGH*! YOU FUCKING CUNT!" ("angry", xpos="far_left", ypos="head") @@ -1420,20 +1490,20 @@ label hg_pf_strip_T4_masturbate: call gen_chibi("cum","behind_desk","base") her "??!!!" ("shock", "wide", "base", "stare") - her "[genie_name]!!!" ("angry", "happyCl", "worried", "mid") + her "[name_genie_hermione]!!!" ("angry", "squint", "worried", "stare") call gen_chibi("cum_done","behind_desk","base") - if d_flag_07: #Promised to hold it. - her "No, [genie_name]! You promised!" ("angry", "happyCl", "worried", "mid", ypos="head", flip=False) - gen "Oh, man... This was pretty intense..." ("angry", xpos="far_left", ypos="head") - her "You went back on your word, [genie_name]!" ("scream", "happyCl", "worried", "mid") - gen "*huh*? What are you talking about?" ("base", xpos="far_left", ypos="head") - her "How could you do this to me, [genie_name]?" ("shock", "base", "angry", "mid", tears="crying_blink") - gen "Oh, calm down, [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "You earned your points today." ("base", xpos="far_left", ypos="head") - gen "Now, just get dressed and leave before somebody discovers you like this." ("base", xpos="far_left", ypos="head") - her "*sob*!........................" ("shock", "narrow", "angry", "R", tears="messy") + if _promise: #Promised to hold it. + her "No, [name_genie_hermione]! You promised!" ("angry", "happyCl", "worried", "mid", ypos="head", flip=False) + gen "Oh, man... That was intense..." ("angry", xpos="far_left", ypos="head") + her "You went back on your word, [name_genie_hermione]!" ("scream", "happyCl", "worried", "mid") + gen "*Huh*? What are you talking about?" ("base", xpos="far_left", ypos="head") + gen "You gave me the look! You looked at it and smiled!" ("base", xpos="far_left", ypos="head") + her @ tears crying_blink "How could you do this to me, [name_genie_hermione]?" ("shock", "base", "angry", "mid") + gen "Oh, calm down, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "Now, put yourself together, before somebody discovers you like this." ("base", xpos="far_left", ypos="head") + her @ tears messy "*Sob*!........................" ("shock", "narrow", "angry", "R") show screen blkfade with d5 @@ -1441,48 +1511,50 @@ label hg_pf_strip_T4_masturbate: stop music fadeout 5.0 pause 1.5 - her "... Can I just get paid now, [genie_name]... please?" ("annoyed", "narrow", "angry", "R") + her "... Can I just get paid now, [name_genie_hermione]... Please?" ("annoyed", "narrow", "angry", "R") - $ her_mood += 20 + $ states.her.mood += 20 jump end_hg_pf_strip else: - her "It's so hot..." ("angry", "happyCl", "worried", "mid", ypos="head", flip=False) + her "{size=-3}It's so hot...{/size}" ("disgust", "happyCl", "worried", "mid", ypos="head", flip=False) call gen_chibi("hold_dick","behind_desk","base") - gen "*Ah-ah*... Yeah... This felt great..." ("base", xpos="far_left", ypos="head") - her "You came all over me..." ("soft", "happy", "base", "R") - her "I am your pupil and..." - her "You just came on me..." ("grin", "narrow", "annoyed", "up") - gen "I know! Pretty exciting stuff, *huh*?!" ("grin", xpos="far_left", ypos="head") - her "Nothing of that sort!" ("open", "base", "base", "R") - her "You should have restrained yourself like a proper headmaster would!" - gen "Really? What did you expect me to do?" ("base", xpos="far_left", ypos="head") - gen "Aim at the wall or just put it back in my trousers and start cumming?" ("base", xpos="far_left", ypos="head") - her "........" ("soft", "happy", "base", "R") - her "Still, you should not have..." ("soft", "base", "angry", "mid") - her "I agreed to perform a striptease for you..." ("open", "closed", "base", "mid") - her "But I didn't agree to be defiled like this." + gen "*Ah-ah*... That felt great..." ("base", xpos="far_left", ypos="head") + her "You came all over me..." ("angry", "narrow", "base", "R") + her "I'm your pupil... And..." ("disgust", "happy", "base", "R") + her "{size=-3}You just came on me...{/size}" ("disgust", "narrow", "annoyed", "up") + gen "I know! Pretty exciting, right?!" ("grin", xpos="far_left", ypos="head") + her "*Hmph*... It was nothing of the sort!" ("annoyed", "narrow", "base", "R") + her "You should have restrained yourself like a proper headmaster would!" ("angry", "narrow", "base", "R") + gen "Really? I never heard that restraint was part of the job description..." ("base", xpos="far_left", ypos="head") + her "You could've at the very least aimed it somewhere else!" ("annoyed", "narrow", "base", "mid") + gen "The blood-flow was being redirected to my penis, I could hardly move my legs and turn away!" ("base", xpos="far_left", ypos="head") + her "But your hands kept moving, so move them and point it at the floor!" ("angry", "happy", "annoyed", "mid") + gen "Not even an unstoppable force could push down this immovable object." ("base", xpos="far_left", ypos="head") + her "........" ("disgust", "narrow", "base", "R") + her "Still, you should not have... It wasn't a part of the favour." ("soft", "base", "angry", "mid") + her "I did not agree to be defiled like this!" ("disgust", "narrow", "base", "down") gen "I think I know where this is going..." ("base", xpos="far_left", ypos="head") - her "I demand to be paid extra!" ("base", "base", "angry", "mid") + her "I demand to be paid extra!" ("angry", "base", "angry", "mid") gen "Of course you do..." ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"You get one extra point.\"": - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "One extra point?" ("soft", "base", "angry", "mid") - her "One meagre extra point for letting you do this to me?" ("scream", "happyCl", "worried", "mid") - her "Now, that is just insulting, [genie_name]!" ("soft", "base", "angry", "mid") - gen "One extra point, [hermione_name]. Take it or leave it." ("base", xpos="far_left", ypos="head") + $ states.her.mood += 20 + $ current_payout += 1 + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "One extra point?" ("soft", "base", "angry", "stare") + her "One meagre point for allowing you to defile me like this?" ("scream", "squint", "annoyed", "mid") + her "Now, that is just insulting, [name_genie_hermione]!" ("soft", "base", "angry", "mid") + gen "One extra point, [name_hermione_genie]. Take it or leave it." ("base", xpos="far_left", ypos="head") call her_chibi("sit_naked","on_desk","on_desk") her "............." ("annoyed", "narrow", "angry", "R") her "I'll take it." ("soft", "base", "angry", "mid") - $ her_mood += 20 - $ current_payout += 1 - hide screen bld1 call ctc show screen blkfade @@ -1491,16 +1563,17 @@ label hg_pf_strip_T4_masturbate: jump end_hg_pf_strip "\"You get ten extra points.\"": + $ states.her.mood += 10 $ current_payout += 10 - her "Ten extra points [genie_name]?" ("soft", "base", "angry", "mid") - her "But that is not even nearly enough!" - gen "Ten extra points. Take 'em or leave 'em [hermione_name]." ("base", xpos="far_left", ypos="head") + + her "Ten extra points, [name_genie_hermione]?" ("soft", "base", "angry", "mid") + her "But that is not even nearly enough!" ("soft", "base", "angry", "mid") + gen "Ten extra points. Take it or leave it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_chibi("sit_naked","on_desk","on_desk") her "..............." ("annoyed", "narrow", "angry", "R") her "Well, alright... Better than nothing I suppose..." ("soft", "base", "angry", "mid") - $ her_mood += 10 - hide screen bld1 + call ctc show screen blkfade @@ -1510,34 +1583,33 @@ label hg_pf_strip_T4_masturbate: "\"You get twenty-five extra points.\"": $ current_payout += 25 + call her_chibi("sit_naked","on_desk","on_desk") her "Yes, I believe this would be an appropriate amount." ("open", "closed", "base", "mid") - gen "are we good then?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]. Thank you." ("open", "closed", "base", "mid") - hide screen bld1 - with d3 + gen "Are we good then?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]... Thank you." ("open", "closed", "base", "mid") call ctc + show screen blkfade - with d7 - pause.5 + with d5 $ hermione.wear("all") jump end_hg_pf_strip "\"You get fifty extra points.\"": $ current_payout += 50 + her "Seriously?!" ("angry", "wide", "base", "stare") call her_chibi("sit_naked","on_desk","on_desk") - her "Oh, I don't know what to say..." ("open", "wide", "base", "stare") - gen "I enjoyed your performance [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("base", "narrow", "base", "mid_soft") - gen "I also enjoyed plastering your agile little body with cum..." ("base", xpos="far_left", ypos="head") - her "[genie_name]......" ("silly", "happyCl", "worried", "mid", emote="sweat") - gen "So, just allow me to show my appreciation." ("base", xpos="far_left", ypos="head") - gen "Fifty extra points. Well deserved, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Thank very much, [genie_name]." ("silly", "happyCl", "worried", "mid", emote="sweat") - hide screen bld1 + her "Oh... I don't know what to say..." ("open", "wide", "base", "stare") + gen "I thoroughly enjoyed your performance, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Thank you [name_genie_hermione]..." ("grin", "narrow", "base", "mid_soft") + gen "How could I resist, plastering your agile little body with cum..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]......" ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "So, just allow me to show my appreciation out of it." ("base", xpos="far_left", ypos="head") + gen "Fifty extra points, all well deserved, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Thank you very much, [name_genie_hermione]." ("silly", "happyCl", "worried", "mid", emote="sweat") call ctc show screen blkfade @@ -1552,9 +1624,8 @@ label hg_pf_strip_T4_masturbate: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Oh, no, you are still getting that.\"": - $ her_mood += 20 - her "How generous of you, [genie_name]." ("soft", "base", "angry", "mid") - hide screen bld1 + $ states.her.mood += 20 + her "How generous of you, [name_genie_hermione]..." ("soft", "base", "angry", "mid") call ctc show screen blkfade @@ -1563,18 +1634,16 @@ label hg_pf_strip_T4_masturbate: jump end_hg_pf_strip "\"No, not even that!\"": - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "!!!?" ("shock", "wide", "base", "stare") - her "I danced for you, [genie_name]..." + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "!!!?" ("angry", "base", "base", "stare") + her "So, what you're saying, is that I danced for you..." ("soft", "happy", "base", "stare") her "I degraded myself for your amusement..." ("soft", "happy", "base", "R") - her "I let you cum on me..." ("open", "base", "base", "R") - with hpunch - her "And I get NOTHING?!" ("clench", "base", "angry", "mid", emote="angry") - gen "You are dismissed, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "Oh, this is a new low even for you, [genie_name]!" ("soft", "base", "angry", "mid") - gen "I said you are dismissed." ("base", xpos="far_left", ypos="head") - her "*GROAN*!" ("clench", "base", "angry", "mid", emote="angry") - hide screen bld1 + her "I even let you cum on me..." ("open", "base", "base", "R") + her "And I get, {size=+5}NOTHING?!{/size}" ("clench", "base", "angry", "mid", emote="angry", trans=hpunch) + gen "You've got a shiny and glistening complexion out of it..." ("base", xpos="far_left", ypos="head") + her "Oh, this is a new low... Even for you, [name_genie_hermione]!" ("soft", "base", "angry", "mid") + gen "Dismissed." ("base", xpos="far_left", ypos="head") + her "{size=+5}*GROAN*!{/size}" ("clench", "base", "angry", "mid", emote="angry") call ctc show screen blkfade @@ -1588,6 +1657,6 @@ label hg_pf_strip_T4_masturbate: call her_walk(action="leave") - $ her_mood += 30 + $ states.her.mood += 30 jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy b/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy index 2d97f594..432a73ca 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me_masturbate.rpy @@ -5,270 +5,317 @@ ### Tier 4 (Intro) ### label hg_pf_strip_T4_fingering: - if not hg_masturbated.trigger: - $ hg_masturbated.triggered() - - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") + if not states.her.status.masturbating: + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") gen "Do you ever touch yourself?" ("base", xpos="far_left", ypos="head") - her "What? why?" ("upset", "wink", "base", "mid") - gen "It's a simple question [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("scream", "happyCl", "worried", "mid") - gen "And I want you to speak truthfully..." ("base", xpos="far_left", ypos="head") + her "What? Why are you asking me that?" ("upset", "wink", "base", "mid") + gen "It's a simple question..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]!" ("angry", "happyCl", "worried", "mid") + gen "And I'd like you to answer it, truthfully..." ("base", xpos="far_left", ypos="head") her "......" ("normal", "happyCl", "worried", "mid") - gen "Well, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Well, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "{size=-5}I suppose I do...{/size}" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "*huh*? What was that?" ("base", xpos="far_left", ypos="head") - her "I said that I do alright!!!" ("scream", "happyCl", "worried", "mid") + gen "*Huh*? What was that?" ("base", xpos="far_left", ypos="head") + her "I said that I do, alright!!?" ("scream", "happyCl", "worried", "mid") gen "*Hmm*... I'm not sure I believe you." ("base", xpos="far_left", ypos="head") - her "What? why would I lie?" ("annoyed", "base", "worried", "R") - gen "I'm not sure... maybe it's because you think it's what I want you to say..." ("base", xpos="far_left", ypos="head") - her "That doesn't make any--" ("annoyed", "base", "worried", "mid") - gen "But don't worry, I'm sure a quick little demonstration will erase any doubts..." ("base", xpos="far_left", ypos="head") + her "What? Why would I lie about something like this?" ("clench", "happy", "worried", "mid") + gen "Well, you never know... Perhaps you believe it's what I want you to say..." ("base", xpos="far_left", ypos="head") + her "That doesn't make any--" ("annoyed", "base", "angry", "mid") + gen "But don't worry... I'm sure a quick little demonstration will erase any doubts." ("base", xpos="far_left", ypos="head") her "So that's what you're after......" ("annoyed", "narrow", "angry", "R") - her "*Sigh*...{w=0.4} I suppose I could..." ("open", "narrow", "worried", "down") + her "Don't you think this is going a bit too far?......" ("annoyed", "narrow", "angry", "R") + if states.her.status.handjob: + her "I mean, aren't these favours supposed to be for your benefit?" ("annoyed", "narrow", "worried", "R") + gen "Truly? Why I don't remember receiving any points for my house..." ("base", xpos="far_left", ypos="head") + her "That's not what I meant..." ("disgust", "narrow", "worried", "mid") + her "I just--" ("angry", "narrow", "worried", "down") + her "Are you sure you wouldn't prefer another handjob, [name_genie_hermione]?" ("annoyed", "narrow", "worried", "mid") + gen "I suppose, if you'd like to attempt getting us both off at the same time, you could try..." ("grin", xpos="far_left", ypos="head") + her "Getting us both--" ("clench", "base", "worried", "stare") + her "No-no-no... You're not--" ("angry", "base", "worried", "mid") + gen "...." ("grin", xpos="far_left", ypos="head") + her "..." ("annoyed", "base", "worried", "mid") + her "Please, stop doing that, [name_genie_hermione]." ("disgust", "happy", "worried", "mid") + gen "Stop doing what?" ("base", xpos="far_left", ypos="head") + her "Telling me to do something even more difficult, just so that I agree to what you actually want me to do..." ("annoyed", "narrow", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her "......" ("disgust", "base", "worried", "mid") + else: + gen "I'm only asking what is necessary, so that Gryffindor may get ahead of the other houses." ("base", xpos="far_left", ypos="head") + gen "You want to win the cup, don't you?" ("base", xpos="far_left", ypos="head") + her "Of course [name_genie_hermione], but--" ("disgust", "narrow", "angry", "mid") + gen "Well, the choice is literally in your hands..." ("base", xpos="far_left", ypos="head") + her "......" ("annoyed", "narrow", "worried", "down") + her "*Sigh*...{w=0.4} I suppose I could...{w=0.4} Touch myself...{w=0.4} In front of you." ("open", "narrow", "worried", "down") her "But you better keep your hands to yourself..." ("angry", "narrow", "worried", "mid") gen "Witcher's promise." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "squint", "base", "mid") + her "......" ("annoyed", "squint", "base", "mid") else: # Repeat - gen "[hermione_name]." ("base", xpos="far_left", ypos="head") - gen "Why don't you give that lovely pussy of yours a little rub." ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "Why don't you give that lovely pussy of yours a little rub for me?" ("grin", xpos="far_left", ypos="head") her "Again?" ("annoyed", "narrow", "base", "mid") + gen "Again, and again, until it feels really good." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "down") - her "F-Fine... Just keep your hands to yourself..." ("open", "squint", "base", "R") + her "Fine... Just keep your hands to yourself..." ("open", "squint", "base", "R") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. her "..........." ("upset", "base", "base", "mid") - her "Do you want me to... start?" ("soft", "wink", "base", "mid") - gen "When you're ready..." ("base", xpos="far_left", ypos="head") - - if hermione.is_worn("panties"): - gen "But why don't we get rid of those panties first." ("base", xpos="far_left", ypos="head") - - her "..........." ("disgust", "narrow", "base", "down") - - if hermione.is_worn("panties"): # Rest of the clothes is taken off during stripping. - pause 1.0 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.strip("panties") - pause 1.0 + her "*Ehm*... Let me know when you'd like me to--{w=0.4} start..." ("soft", "wink", "base", "mid") if hermione.is_any_worn("clothes"): - gen "Now take off the rest." ("base", xpos="far_left", ypos="head") - $ hermione.strip("all") - pause .5 + gen "You may start once you're completely naked..." ("base", xpos="far_left", ypos="head") + if hermione.is_worn("panties"): + gen "Those panties of yours would get in the way otherwise..." ("base", xpos="far_left", ypos="head") + her "Right." ("disgust", "narrow", "base", "down") + pause 1.0 + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + pause 1.0 + else: + gen "When you're ready..." ("base", xpos="far_left", ypos="head") - her "(I never would've imagined... To do this in front of my headmaster of all people...)" ("normal", "happyCl", "worried", "mid") + her "(I never would've imagined...{w=0.4} Doing this in front of my headmaster...{w=0.4} Of all people...)" ("normal", "happyCl", "worried", "mid") - $ hermione.set_pose("masturbate") - $ hermione.set_body(armleft="on_pussy") + $ hermione.set_pose("hand_on_pussy") her "" ("soft", "closed", "worried", "mid", trans=d3) - $ renpy.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with hpunch pause 1.0 - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 call ctc - gen "Nice..." ("grin", xpos="far_left", ypos="head") + gen "Excellent..." ("grin", xpos="far_left", ypos="head") her "........" ("upset", "wink", "base", "mid") gen "............." ("base", xpos="far_left", ypos="head") her "............." ("normal", "happyCl", "worried", "mid") - stop bg_sounds - her "*Umm*... [genie_name]?" - gen "Yes, what is it?" ("base", xpos="far_left", ypos="head") - her "For how long did you want me to do this?" ("open", "base", "worried", "mid") - gen "Until you finish [hermione_name]..." ("base", xpos="far_left", ypos="head") - if game.daytime: - her "But my classes are about to start, [genie_name]..." ("annoyed", "base", "worried", "mid") + stop background + + her "*Ehm*... [name_genie_hermione]?" ("angry", "narrow", "worried", "mid") + gen "Yes [name_hermione_genie], what is it?" ("base", xpos="far_left", ypos="head") + if not states.her.status.masturbating: + her "For how long did you want me to do this?" ("open", "base", "worried", "mid") + gen "Until you finish, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + + if game.daytime: + her "But my classes are about to start, [name_genie_hermione]..." ("annoyed", "base", "worried", "mid") + else: + her "But it's getting late, [name_genie_hermione]..." ("annoyed", "base", "worried", "mid") + gen "So?" ("base", xpos="far_left", ypos="head") + her "Won't I miss curfew?" ("soft", "base", "worried", "mid") + gen "There's still some time left before curfew..." ("base", xpos="far_left", ypos="head") + gen "(I think...)" ("base", xpos="far_left", ypos="head") else: - her "But it's getting late, [genie_name]..." ("annoyed", "base", "worried", "mid") + her "I presume that you're expecting me to do this until--" ("open", "base", "worried", "mid") + gen "Until you finish, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") - her "I'm not sure if I'll be able to... finish... in time." ("disgust", "narrow", "base", "down") - gen "Do you need the points or not?" ("base", xpos="far_left", ypos="head") - her "I do, [genie_name]! I'm sorry..." ("open", "narrow", "worried", "down") + if game.daytime: + her "But, what if I don't make it back to class in time, [name_genie_hermione]..." ("annoyed", "base", "worried", "mid") + else: + her "Right... I Just thought... Well, it's getting a bit late, [name_genie_hermione]..." ("annoyed", "base", "worried", "mid") + gen "Right?" ("base", xpos="far_left", ypos="head") + her "I don't want to miss curfew, that's all..." ("soft", "base", "worried", "mid") + gen "Well, then it's up to you to ensure you don't miss it..." ("base", xpos="far_left", ypos="head") + + her "It's just...{w=0.4} I'm not sure if I'll be able to--" ("disgust", "narrow", "base", "down") + gen "Focus less on the talking and more on the doing, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "You want those points, don't you?" ("base", xpos="far_left", ypos="head") + her "I do, [name_genie_hermione]! I'm sorry..." ("open", "narrow", "worried", "down") her "I'll keep going then..." ("disgust", "narrow", "base", "down") - play bg_sounds "sounds/slickloop.ogg" fadein 2 - gen "(*Hmm*... Maybe I should encourage her a little.)" ("base", xpos="far_left", ypos="head") + play background "sounds/slickloop.ogg" fadein 2 + gen "(*Hmm*... Perhaps I should encourage her a little.)" ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"Yes... keep going, slut.\"": - her "[genie_name]!!!" ("angry", "base", "angry", "mid") + "\"That's it... Keep going, slut.\"": + her "[name_genie_hermione]!!!" ("angry", "base", "angry", "mid") her "How...{w=0.4} How dare you!" ("upset", "base", "angry", "mid") - gen "what?" ("base", xpos="far_left", ypos="head") - her "I hardly think that kind of... *Ah*...{w=0.5} language is appropriate." ("open", "happyCl", "base", "mid") + gen "What?" ("base", xpos="far_left", ypos="head") + her "I hardly think that kind of--{w=0.2} *Ah*...{w=0.4} Language is appropriate." ("open", "happyCl", "base", "mid") gen "And masturbating in front of your headmaster is?" ("base", xpos="far_left", ypos="head") - her "Well...{w=0.4} this...{w=0.4} this is different." ("open", "narrow", "worried", "down") + her "Well...{w=0.4} This--{w=0.2} This is different." ("open", "narrow", "worried", "down") her "I'm doing this for the honour of Gryffindor..." - her "To help my--... *Ah*" ("open", "closed", "worried", "down") - play bg_sounds "sounds/slickloopfast.ogg" - call nar(">You notice Hermione beginning to move her fingers a little faster.") - $ hermione.set_cum(pussy="wet") - her "*Ah*...{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "up") - her "My classmates win the house cup..." ("angry", "wink", "base", "mid") - gen "As if that's the only reason..." ("grin", xpos="far_left", ypos="head") - her "I..{w=0.4}*Ah*... of course it...--" ("normal", "happyCl", "worried", "mid") + her "To help my--{w=0.2} *Ah*..." ("open", "closed", "worried", "down") - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy", armright="on_tits") + play background "sounds/slickloopfast.ogg" + nar "You notice Hermione beginning to move her fingers a little faster." + $ hermione.set_cum(pussy="wet") + + her "*Ah*...{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "up") + her "Help my house, win the cup..." ("angry", "wink", "base", "mid") + gen "Surely that can't be the only reason..." ("grin", xpos="far_left", ypos="head") + her "I--{w=0.2} *Ah*...{w=0.4} Of course it--" ("normal", "happyCl", "worried", "mid") + + $ hermione.set_pose("hand_on_pussy_and_breast") her "*Ah-a*{heart}..." ("open", "happyCl", "worried", "mid") - her "What..{w=0.4}*Ah*... other reason would there be for me to..." ("angry", "narrow", "base", "down") - gen "It seems to me that you might be enjoying this a little too much..." ("base", xpos="far_left", ypos="head") - her "I am not, [genie_name]!" ("open", "happyCl", "worried", "mid") + her "What--{w=0.2} *Ah*...{w=0.4} Other reason would there be for me to--" ("angry", "happyCl", "base", "down") + gen "I don't know... From where I'm sitting, it looks as if you might be enjoying this a little too much..." ("base", xpos="far_left", ypos="head") + her "I am not, [name_genie_hermione]!" ("open", "happyCl", "worried", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") her "......................" ("normal", "happyCl", "worried", "mid") gen "Then why are your fingers moving so fast, slut?" ("base", xpos="far_left", ypos="head") call ctc her "*Ah*...{heart}" ("open", "happyCl", "worried", "mid") - gen "ha! just Admit it, you do enjoy being called a slut!" ("base", xpos="far_left", ypos="head") + gen "Just admit it... You do enjoy being called a slut!" ("base", xpos="far_left", ypos="head") her "I do not!" ("normal", "happyCl", "worried", "mid") - her "I'm just thinking about...{w=0.4}*Ah*...{w=0.4} how happy everyone will be when we win!" ("shock", "happyCl", "worried", "mid") + her "I'm just thinking about--{w=0.2} *Ah*...{w=0.4} How happy everyone will be when we win!" ("shock", "happyCl", "worried", "mid") gen "And what if they find out how you earned the points?" ("base", xpos="far_left", ypos="head") - stop bg_sounds - her "what?!" ("shock", "wide", "base", "stare") - gen "Then it wouldn't just be me degrading you..." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloop.ogg" + stop background + her "What?!" ("shock", "wide", "base", "stare") + gen "If that happened, then surely everyone would be degrading you..." ("base", xpos="far_left", ypos="head") + play background "sounds/slickloop.ogg" her "..." ("soft", "closed", "base", "R") - gen "It would be the entire school." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopfast.ogg" - her "The entire-- *Ah*...{heart}" ("silly", "narrow", "base", "dead", cheeks="blush") - gen "Every...{w=0.4} single...{w=0.4} student." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopveryfast.ogg" - her "*Ah*...{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "up", cheeks="blush") - her "[genie_name], please... {w=0.4}*mmmh*...{w=0.4} don't tell anyone..." ("soft", "narrow", "base", "mid_soft", cheeks="blush") - call nar(">Hermione continues to rub herself with even more effort...") - her "They can't...{w=0.4}*Ah*...{w=0.4} They can't find out..." ("soft", "narrow", "base", "R_soft", cheeks="blush") - her "If harry and ron knew..." ("open", "narrow", "base", "down", cheeks="blush") - her "I'd... *Ah*...{heart}" ("soft", "closed", "annoyed", "up", cheeks="blush") - gen "You'd what [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I'd..." ("open", "closed", "worried", "mid", cheeks="blush") - her "I'd...{heart}" ("silly", "closed", "worried", "mid", cheeks="blush") - her "I...{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "up", cheeks="blush") + gen "The entire school would let you know exactly what they think about your ways of gaining house points." ("base", xpos="far_left", ypos="head") + play background "sounds/slickloopfast.ogg" + her @ cheeks blush "The entire-- *Ah*...{heart}" ("silly", "narrow", "base", "dead") + gen "That's right... Every...{w=0.4} Single...{w=0.4} Student." ("base", xpos="far_left", ypos="head") + play background "sounds/slickloopveryfast.ogg" + her @ cheeks blush "*Ah*...{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "up") + her @ cheeks blush "[name_genie_hermione], please... {w=0.4}*Mmmh*...{w=0.4} Don't tell anyone..." ("soft", "narrow", "base", "mid_soft") + nar "Hermione continues to rub herself with renewed effort..." + her @ cheeks blush "They can't--{w=0.2} *Ah*...{w=0.4} They can't find out..." ("soft", "narrow", "base", "R_soft") + her @ cheeks blush "If Harry and Ron knew..." ("open", "narrow", "base", "down") + her @ cheeks blush "I'd--{w=0.2} *Ah*...{heart}" ("soft", "closed", "annoyed", "up") + gen "You'd what, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I'd..." ("open", "closed", "worried", "mid") + her @ cheeks blush "I'd...{heart}" ("silly", "closed", "worried", "mid") + her @ cheeks blush "I...{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "up") - "\"Play with your breasts\"": - her "My breasts..." ("open", "narrow", "worried", "down") + "\"Now, play with your breast.\"": + her "My breast..." ("open", "narrow", "worried", "down") her "I'm not sure if I should--" ("open", "narrow", "base", "down") - gen "There's another ten points for Gryffindor in it for you..." ("base", xpos="far_left", ypos="head") + gen "Did you want to finish in time, or not?" ("base", xpos="far_left", ypos="head") + her "Yes, but--" ("angry", "narrow", "base", "down") + gen "Then do what I say." ("base", xpos="far_left", ypos="head") + her "..." ("angry", "narrow", "base", "mid") + gen "*Ahem*..." ("base", xpos="far_left", ypos="head") + gen "What I meant to say, is that there could be another ten points for you, at the finish-line..." ("base", xpos="far_left", ypos="head") $ current_payout += 10 her "..." ("normal", "happy", "base", "R") her "......" ("soft", "happy", "base", "R") - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy", armright="on_tits") + $ hermione.set_pose("hand_on_pussy_and_breast") her "*Ah*...{heart}" ("open", "closed", "base", "R") gen "There... Isn't that better?" ("base", xpos="far_left", ypos="head") - her "*Ah*... W-what..." ("open", "wink", "worried", "mid") - her "......" ("normal", "happyCl", "base", "mid") - gen "That's it..." ("base", xpos="far_left", ypos="head") - her "......" ("normal", "narrow", "base", "mid", cheeks="blush") - her "[genie_name], do you mind if..." ("soft", "narrow", "base", "L", cheeks="blush") - gen "What [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Could you... Call me names..." ("open", "narrow", "base", "R", cheeks="blush") - gen "Such as?" ("base", xpos="far_left", ypos="head") + her "*Ah*... I--{w=0.2} I don't know..." ("open", "wink", "worried", "mid") + her "It feels kind of weird..." ("normal", "happyCl", "base", "mid") + gen "Really? I thought you'd be used to it by now..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} Why would you think that I'd be used to it......{w=0.4} [name_genie_hermione]?" ("angry", "narrow", "base", "mid") + gen "You've already done a lot of things for me inside this office..." ("base", xpos="far_left", ypos="head") + gen "If it weren't for the points, you'd be considered quite the slut." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Why would you say something like--" ("soft", "narrow", "base", "L") + gen "I'm just telling you how I see it..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Please [name_genie_hermione]... I'm not twisted, like those Slytherin harlots..." ("angry", "narrow", "base", "down") + her @ cheeks blush "I'm not a--{w=0.2} *Ah*..." ("open", "happyCl", "base", "mid") + gen "Not a what, Miss Granger?" ("base", xpos="far_left", ypos="head") + + her @ cheeks blush "{size=-3}A Slut...{/size}" ("soft", "narrow", "base", "down") + gen "Miss Granger!" ("base", xpos="far_left", ypos="head") + gen "How very unbecoming of you to use such foul language..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But--{w=0.2} *Ah*...{w=0.4} I just repeated what you--" ("angry", "narrow", "base", "mid") - her "...{size=-5}A Slut...{/size} But only if it's not too much to ask..." ("soft", "narrow", "base", "down", cheeks="blush") - gen "That's unbecoming of you to use such language, you little whore..." ("base", xpos="far_left", ypos="head") $ hermione.set_cum(pussy="wet") + her "*Ah*...{heart}{heart}" ("open", "closed", "annoyed", "mid") - gen "What would your parents think if they saw this?" ("base", xpos="far_left", ypos="head") - her "I-{heart}" ("open", "narrow", "worried", "up", cheeks="blush") - play bg_sounds "sounds/slickloopfast.ogg" - her "*Ah*...{heart} I don't know..." ("soft", "closed", "base", "up", cheeks="blush") - her "To be perfectly honest [genie_name]... I don't think I care...{heart}{heart}{heart}" ("silly", "narrow", "base", "up", cheeks="blush") + gen "What would your parents think if they heard you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "My parents...{heart}" ("open", "narrow", "worried", "up") + play background "sounds/slickloopfast.ogg" + her @ cheeks blush "*Ah*...{heart} I don't know..." ("soft", "closed", "base", "up") + her @ cheeks blush "Although, to be perfectly honest [name_genie_hermione]... I don't think I care...{heart}{heart}{heart}" ("silly", "narrow", "base", "up") gen "Really?" ("base", xpos="far_left", ypos="head") - her "Really...{heart}" ("silly", "narrow", "base", "mid_soft", cheeks="blush") - gen "Would you at least stop?" ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart}" ("open_tongue", "narrow", "base", "up", cheeks="blush") - her "Maybe..." ("open_tongue", "narrow", "base", "up", cheeks="blush") - her "I'm not sure..." ("open", "narrow", "base", "R", cheeks="blush") - gen "So you wouldn't mind if they heard me calling you a slut?" ("base", xpos="far_left", ypos="head") - her "I...{w=0.4}*mmmh*... Of course I--" ("normal", "happyCl", "worried", "mid", cheeks="blush") - gen "I bet if they appeared right now you wouldn't even stop touching yourself you filthy slut." ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart}" ("open_tongue", "narrow", "base", "up", cheeks="blush") - gen "You're nothing but a disgrace and a whore..." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} I'm-{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") - - her "{heart}{heart}{heart}" ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Yes...{heart}" ("grin", "happyCl", "base", "mid") + her @ cheeks blush "It's not for them to--{w=0.2} *Ah*...{w=0.4} Decide how I speak." ("grin", "closed", "base", "mid") + gen "Is that so..." ("base", xpos="far_left", ypos="head") + gen "And what if they saw you like this?..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I--{w=0.2} *Mmmh*...{w=0.4} Surely that would never--" ("angry", "closed", "worried", "mid") + gen "What if they burst through that door, and saw their little girl masturbating in front of the headmaster." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} They wouldn't...{w=0.4} You'd never allow..." ("normal", "happyCl", "worried", "mid") + gen "I bet if they appeared right now, you wouldn't even stop touching yourself, you filthy slut." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{heart}" ("open_tongue", "narrow", "base", "up") + gen "Look at you... You're nothing but a disgrace to your family..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} I'm-{heart}" ("open", "happyCl", "worried", "mid") + her @ cheeks blush "I'm--{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "up") "\"Spread em!\"": - gen "Excellent... Just make sure to give me a nice view of that wet pussy!" ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("open", "base", "angry", "mid", cheeks="blush") + gen "And make sure to give me a nice view of that wet pussy!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]!" ("open", "base", "angry", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "It's not {size=-5}wet...{/size}" ("annoyed", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "It's not {size=-5}wet...{/size}" ("annoyed", "narrow", "worried", "R") gen "Are you sure?" ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart}" ("soft", "narrow", "base", "up", cheeks="blush") - her "It...{w=0.4} I'm sure it's just sweat, [genie_name]..." ("open", "narrow", "base", "R", cheeks="blush") - gen "if you say so..." ("base", xpos="far_left", ypos="head") - her "..............." ("soft", "closed", "base", "up", cheeks="blush") - gen "Slut." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopfast.ogg" + her @ cheeks blush "It--{w=0.2} I'm just getting a little sweaty, that's all..." ("angry", "narrow", "worried", "R") + gen "I suppose that could be it..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..............." ("base", "closed", "base", "mid") + gen "Only a slut would get wet that quickly." ("base", xpos="far_left", ypos="head") + play background "sounds/slickloopfast.ogg" $ hermione.set_cum(pussy="wet") - her "{heart}{heart}{heart}" ("silly", "narrow", "base", "up_soft", cheeks="blush") - gen "Wow, that sure is a lot of sweat, [hermione_name]." ("grin", xpos="far_left", ypos="head") - her "Sir... please..." ("open", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "{heart}{heart}{heart}" ("grin", "narrow", "base", "up_soft") + gen "Wow... Looks like you're getting quite the work-out, [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*... Yes, I--" ("angry", "narrow", "base", "up_soft") + gen "Had I not known it was sweat, I would've thought that you enjoyed being called a slut." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]...{w=0.4} Please..." ("open", "happyCl", "base", "stare") - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy", armright="on_tits") + $ hermione.set_pose("hand_on_pussy_and_breast") + her @ cheeks blush "" ("soft", "happyCl", "base", "mid") - play bg_sounds "sounds/slickloopveryfast.ogg" - call nar(">Hermione starts fingering herself even faster.") - gen "Very good..." ("base", xpos="far_left", ypos="head") - her "...{heart}" ("silly", "narrow", "base", "up", cheeks="blush") - her "*Ah*...{heart}" ("open_tongue", "narrow", "base", "up", cheeks="blush") - gen "That's it slut... Try going a little deeper..." ("base", xpos="far_left", ypos="head") - her "..." ("open_tongue", "narrow", "base", "up", cheeks="blush") + play background "sounds/slickloopveryfast.ogg" + nar "Hermione starts fingering herself even faster." + gen "Look at those fingers go..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "...{heart}" ("grin", "closed", "worried", "mid") + her @ cheeks blush "*Ah*...{heart}" ("open_tongue", "narrow", "base", "up") + gen "That's it, push those fingers deep inside, just like all those other sluts..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("open_tongue", "narrow", "base", "up") + her @ cheeks blush "...{heart}" ("open", "happyCl", "worried", "mid") - her "...{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") - - play bg_sounds "sounds/slickloop.ogg" - her "*Ah*..." ("soft", "narrow", "base", "R", cheeks="blush") - gen "almost there [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "a-almost..." ("annoyed", "base", "worried", "L", cheeks="blush") + play background "sounds/slickloop.ogg" + her @ cheeks blush "(Wait, what am I doing...)" ("angry", "narrow", "worried", "stare") + her @ cheeks blush "*Ah*..." ("soft", "narrow", "base", "R") + gen "Almost there [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "A-almost..." ("annoyed", "base", "worried", "L") her "I just need a bit longer..." - gen "well you better hurry..." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.3} I know, [genie_name]." ("angry", "happyCl", "worried", "mid") - her "..........." ("normal", "closed", "base", "R", cheeks="blush") + gen "Well, you better hurry..." ("base", xpos="far_left", ypos="head") + her "*Ah*...{w=0.3} I know, [name_genie_hermione]." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "..........." ("normal", "closed", "base", "R") gen "Is everything alright?" ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopfast.ogg" - her "................" ("annoyed", "narrow", "base", "down", cheeks="blush", tears="sweat") - gen "Why are you being so quiet [hermione_name]?" ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloop.ogg" - her "......" ("annoyed", "base", "worried", "R_soft", cheeks="blush") - her "[genie_name]... I don't think I can..." + play background "sounds/slickloopfast.ogg" + her @ cheeks blush tears sweat "................" ("annoyed", "narrow", "base", "down") + gen "Why are you being so quiet, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + play background "sounds/slickloop.ogg" + her @ cheeks blush "......" ("annoyed", "base", "worried", "R_soft") + her @ cheeks blush "[name_genie_hermione]... I don't think I can..." ("soft", "base", "worried", "down") gen "What?" ("base", xpos="far_left", ypos="head") - stop bg_sounds - her "...{w=0.3} Finish..." ("angry", "happyCl", "base", "down", cheeks="blush", tears="soft") + stop background + her @ cheeks blush tears soft "...{w=0.3} Finish..." ("angry", "happyCl", "base", "down") + gen "Really? Even after all my encouragement?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears soft "Your...{w=0.2} {size=-4}(So that's why he said all those things...){/size}" ("angry", "narrow", "base", "down") menu: "-Chastise her-": - gen "Well then, I guess Slytherin will have to win the house cup this year." ("base", xpos="far_left", ypos="head") - her "B-but--" ("disgust", "narrow", "worried", "mid", cheeks="blush", tears="soft") - gen "Now, now [hermione_name]... A deal's a deal." ("base", xpos="far_left", ypos="head") - her "But I'm trying [genie_name]..." ("upset", "narrow", "worried", "down", tears="crying") - gen "Try harder..." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopveryfast.ogg" - her "" (eyes="happyCl", tears="tears_soft_sweat") - call nar(">Hermione starts grinding furiously against her hand.") + gen "Well then, I suppose Slytherin will end up winning the house cup this year." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears soft "B-but--" ("disgust", "narrow", "worried", "mid") + gen "Now, now [name_hermione_genie]... A deal's a deal." ("base", xpos="far_left", ypos="head") + her @ tears crying "But, I really tried, [name_genie_hermione]!" ("upset", "narrow", "worried", "down") + gen "You should've tried harder..." ("base", xpos="far_left", ypos="head") + play background "sounds/slickloopveryfast.ogg" + her @ tears tears_soft_sweat "" (eyes="happyCl") + nar "Hermione starts grinding furiously against her hand." # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") $ hermione.set_pose(None) - $ hermione.strip("all") + $ hermione.strip("clothes") - stop bg_sounds - her "*SOB*!{w=0.3} I can't..." ("angry", "happyCl", "base", "down", cheeks="blush", tears="messy") + stop background + her @ cheeks blush tears messy "*SOB*!{w=0.3} I can't..." ("angry", "happyCl", "base", "down") gen "Well then... Zero points to Gryffindor." ("base", xpos="far_left", ypos="head") - her "{size=-5}After everything I...{/size} Really [genie_name]?" ("open", "base", "worried", "stare", cheeks="blush", tears="messy") - her "After I stood here and..." ("scream", "base", "angry", "mid", cheeks="blush", tears="messy") - her ".........." ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "{size=-5}After everything I...{/size} Really [name_genie_hermione]?" ("open", "base", "worried", "stare") + her @ cheeks blush tears messy "After I stood here and..." ("scream", "base", "angry", "mid") + her @ cheeks blush tears messy ".........." ("angry", "squint", "base", "mid") call blkfade hide hermione_main @@ -278,462 +325,525 @@ label hg_pf_strip_T4_fingering: call hide_blkfade - her "I am not going to sell you a single favour anymore, [genie_name]!" ("scream", "base", "low", "mid", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "I am not going to sell you a single favour anymore, [name_genie_hermione]!" ("scream", "base", "low", "mid") call her_walk(action="run", xpos="door", speed=2, reduce=True) call her_chibi("leave") - $ her_mood += 15 + $ states.her.mood += 15 pause 1.0 gen "..." ("base", xpos="far_left", ypos="head") gen "We'll see about that." ("base", xpos="far_left", ypos="head") + $ states.her.status.masturbating = True jump end_hermione_event "-Forgive her-": - gen "It's alright, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Really?" ("open", "narrow", "worried", "mid", cheeks="blush", tears="crying") + gen "It's alright, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears crying "Really?" ("open", "narrow", "worried", "mid") gen "I'm sure you're just a little nervous." ("base", xpos="far_left", ypos="head") # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") $ hermione.set_pose(None) - $ hermione.strip("all") + $ hermione.strip("clothes") - her "Thank you [genie_name]." ("base", "base", "worried", "mid", cheeks="blush", tears="soft") - her "I promise to try harder next time." ("base", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush tears soft "Thank you [name_genie_hermione]." ("base", "base", "worried", "mid") + her @ cheeks blush "I promise to try harder next time." ("base", "happyCl", "worried", "mid") + $ states.her.status.masturbating = True jump end_hg_pf_strip ### Tier 5 ### label hg_pf_strip_T5_fingering: - - - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("soft", "base", "base", "mid") gen "I hope you're feeling horny." ("base", xpos="far_left", ypos="head") - her "Maybe a little, [genie_name]." ("base", "narrow", "base", "mid_soft") - gen "Good, then we better do something about that..." ("base", xpos="far_left", ypos="head") - her "[genie_name]..." ("open", "wink", "worried", "mid") + her "*Ehm*..." ("angry", "narrow", "base", "mid", cheeks="blush") + gen "Go on...{w=0.4} I can tell when you're not being honest." ("base", xpos="far_left", ypos="head") + her "I suppose I...{w=0.4} Maybe just a little..." ("angry", "narrow", "base", "mid") + gen "Good... Then we better do something about that." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "wink", "worried", "mid") gen "Why don't you give that lovely pussy of yours a little rub." ("grin", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}" ("base", "narrow", "base", "mid_soft") - her "............." ("base", "base", "base", "R_soft") - her "Alright...{w=0.4} if that's what you want..." ("base", "narrow", "worried", "down") - if not hg_masturbated.trigger: + if not states.her.status.masturbating: + her "You want me to... Masturbate?" ("angry", "squint", "base", "mid") + gen "Did you not say you were feeling horny?" ("base", xpos="far_left", ypos="head") + her "..." ("angry", "narrow", "base", "down") + gen "You have masturbated before, haven't you?" ("base", xpos="far_left", ypos="head") + her "Oh--{w=0.2} Of course, I have!" ("angry", "squint", "worried", "mid") + her "It's just...{w=0.4} Never during circumstances such as this..." ("angry", "narrow", "base", "down") + gen "Well, that's about to change..." ("base", xpos="far_left", ypos="head") + her "{heart}{heart}{heart}" ("soft", "narrow", "worried", "down") + her "............." ("base", "narrow", "worried", "down") + her "Alright...{w=0.4} if that's what you want..." ("open", "narrow", "base", "down") + if not states.her.status.masturbating: her "(I can't believe I'm agreeing to do this...)" ("soft", "narrow", "base", "down") else: her "(I can't believe I'm agreeing to do this...{w=0.4} again...)" ("soft", "narrow", "base", "down") - $ hg_masturbated.triggered() - if hermione.is_worn("panties"): - call nar(">Hermione bends over and takes off her panties.") + nar "Hermione bends over and takes off her panties." pause 1.0 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("panties") pause 1.0 if hermione.is_any_worn("clothes"): gen "Now take off the rest." ("base", xpos="far_left", ypos="head") - $ hermione.strip("all") + $ hermione.strip("clothes") - her "(Okay then, here I go...)" ("normal", "happyCl", "worried", "mid") + her "(Okay then, here I go...)" ("normal", "closed", "worried", "mid") show screen blkfade with d5 - $ hermione.set_pose("masturbate") - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy") + $ hermione.set_pose("hand_on_pussy") + her "" ("soft", "closed", "worried", "mid", trans=d3) - $ renpy.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with hpunch with kissiris - her "*Ah*..." ("open", "squint", "worried", "R", cheeks="blush") + her "*Ah*..." ("open", "closed", "worried", "mid") call ctc hide screen blkfade with d5 - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "Nice..." ("grin", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloop.ogg" fadein 2 - her "*Mmhh*... {heart}" ("open", "happyCl", "worried", "mid") + play background "sounds/slickloop.ogg" fadein 2 + her "*Mmhh*... {heart}" ("soft", "happyCl", "worried", "mid") her "*Ah*...{w=0.4} {heart}-aha..." ("open", "happyCl", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") her "*Ah-ah*..." ("open", "happyCl", "worried", "mid") gen "......................" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} *ah*...{heart}" ("open", "happyCl", "worried", "mid") - her "*Ah*...{w=0.4} [genie_name]?" ("soft", "happy", "base", "R") + her "*Ah*...{w=0.4} *Ah*...{heart}" ("open", "happyCl", "worried", "mid") + her "*Ah*...{w=0.4} [name_genie_hermione]?" ("soft", "wink", "base", "mid") gen "What is it?" ("base", xpos="far_left", ypos="head") - her "Do you....{w=0.4}*Ah*...{w=0.4} like this?" ("open", "happyCl", "worried", "mid") + her "Do you....{w=0.4}*Ah*...{w=0.4} like this?" ("angry", "narrow", "base", "R") gen "Do I like watching \"you\" finger your cute little pussy?" ("base", xpos="far_left", ypos="head") - gen "Of course, [hermione_name]. Why?" ("base", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}" ("normal", "happyCl", "worried", "mid") - her "*Ah*... You're just so quiet..." ("open", "happyCl", "worried", "mid") - gen "Do you need a little more encouragement?" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} yes... please....{heart}" ("open", "happyCl", "worried", "mid") + gen "Of course, [name_hermione_genie]... How is that even a question?" ("base", xpos="far_left", ypos="head") + her "{heart}{heart}{heart}" ("angry", "happyCl", "worried", "mid") + her "*Ah*... It's just... Well, you were being so quiet..." ("open", "happyCl", "worried", "mid") + gen "Need some encouragement, do you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} I...{w=0.4} I suppose....{heart}" ("angry", "closed", "worried", "down") gen "*Tch*... Such a dirty whore..." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopfast.ogg" + play background "sounds/slickloopfast.ogg" $ hermione.set_cum(pussy="wet") - her "Yes [genie_name], *Ah*...{heart}" ("grin", "narrow", "base", "up", cheeks="blush") - her "Please... *Ah*...{w=0.4} more...{heart}" ("grin", "base", "angry", "mid", cheeks="blush") + her "[name_genie_hermione], *Ah*...{heart}" ("grin", "narrow", "base", "up") + her "Please...{w=0.4} *Ah*...{heart}" ("grin", "narrow", "worried", "stare") gen "You deserve to be punished for being such a filthy slut!" ("angry", xpos="far_left", ypos="head") - her "Yes, [genie_name]... punish me..." ("open", "narrow", "base", "up", cheeks="blush") - her "Make me your little slut..." ("open", "narrow", "base", "up", cheeks="blush") - play bg_sounds "sounds/slickloopveryfast.ogg" - her "I will... *Ah*...{w=0.4} {heart}do anything...{w=0.4} *Ah*...{heart}" ("silly", "narrow", "base", "dead") - gen "Anything [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "*Ah-a*...{heart} Yessss..." ("silly", "narrow", "base", "up", cheeks="blush") - gen "Cum." ("base", xpos="far_left", ypos="head") + her "You shouldn't--{w=0.2} *Ah*...{w=0.4} Say such--{w=0.2} *Ah*...{w=0.4} Things..." ("angry", "happyCl", "base", "mid") + her "To a student..." ("angry", "happyCl", "base", "up") + play background "sounds/slickloopveryfast.ogg" + gen "No?" ("base", xpos="far_left", ypos="head") + her "*Ah*...{w=0.4} {heart}It's not...{w=0.4} *Ah*...{w=0.4}{heart} Appropriate..." ("soft", "happyCl", "worried", "dead") + gen "Asking your headmaster to lie isn't appropriate either, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "*Ah-a*...{heart} Yessss..." ("silly", "narrow", "base", "up") + gen "Yes, you've been a very naughty girl..." ("base", xpos="far_left", ypos="head") + gen "Now cum for me, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}!!!{heart}{heart}{heart}" ("silly", "narrow", "base", "dead", cheeks="blush") + her "{heart}{heart}{heart}!!!{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "up") with kissiris with hpunch - $ renpy.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" $ hermione.set_cum(pussy="squirt") pause .8 $ hermione.set_cum(pussy="squirt_post") - her "*Ah*...{heart}...{heart}" ("grin", "narrow", "annoyed", "up", cheeks="blush") + her @ cheeks blush "*Ah*...{heart}...{heart}" ("grin", "narrow", "annoyed", "up") with kissiris with hpunch - $ renpy.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" $ hermione.set_cum(pussy="squirt_transition") pause .8 $ hermione.set_cum(pussy="squirt_post") - her "*Ah*... *Ah*...{heart}" ("silly", "base", "base", "ahegao", cheeks="blush") - play bg_sounds "sounds/slickloopfast.ogg" - her "..." ("open_tongue", "closed", "base", "up", cheeks="blush") - her "...{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "dead", cheeks="blush") - her "*Gah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open_tongue", "narrow", "annoyed", "dead", cheeks="blush") - play bg_sounds "sounds/slickloop.ogg" - her "[genie_name]...{heart}{heart}{heart}" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "............." ("soft", "narrow", "annoyed", "up") - stop bg_sounds - call nar(">Hermione takes a minute to collect herself.") + her "*Ah*... *Ah*...{heart}" ("silly", "base", "base", "ahegao") + play background "sounds/slickloopfast.ogg" + her "..." ("open_tongue", "closed", "base", "up") + her "...{heart}{heart}{heart}" ("grin", "narrow", "annoyed", "dead") + her "*Gah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open_tongue", "narrow", "worried", "dead") + play background "sounds/slickloop.ogg" + her "[name_genie_hermione]...{heart}{heart}{heart}" ("angry", "narrow", "worried", "mid") + her "............." ("grin", "closed", "worried", "up", cheeks="none") + stop background + nar "Hermione takes a minute to collect herself." # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") $ hermione.set_pose(None) - + $ states.her.status.masturbating = True jump end_hg_pf_strip ### Tier 6 ### label hg_pf_strip_T6_fingering: - $ hg_masturbated.triggered() - - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") - gen "You don't mind pleasuring yourself in front of me, do you?" ("base", xpos="far_left", ypos="head") - if her_whoring <= 16: - her "As long as I am being paid..." ("grin", "base", "base", "R") - gen "That's the spirit!" ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "How often do you pleasure yourself?" ("base", xpos="far_left", ypos="head") + her "Oh... *Ehm*... Well, I'm not sure how to answer that question, [name_genie_hermione]..." ("open", "narrow", "base", "down", cheeks="blush") + gen "Truthfully, of course." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]... Although that's not exactly what I meant..." ("soft", "closed", "base", "down") + gen "Then let me be more specific... How many times have you masturbated this past week?" ("base", xpos="far_left", ypos="head") + her "Oh, well... That's easier to answer... I've done it two times--" ("open", "narrow", "base", "down") + gen "This week?" ("base", xpos="far_left", ypos="head") + her "Today..." ("open", "base", "base", "R") + gen "Really?" ("base", xpos="far_left", ypos="head") + her "Yes... How many times I do it each week varies, depending on whether or not I am spending time in here." ("open", "closed", "base", "mid") + gen "You don't say..." ("base", xpos="far_left", ypos="head") + gen "Then what's your record?" ("base", xpos="far_left", ypos="head") + her "My what, sorry?" ("angry", "base", "base", "mid") + gen "Your record, [name_hermione_genie]... Go on... Everyone has one..." ("base", xpos="far_left", ypos="head") + her "Well, I'm not sure if I've ever noted down..." ("annoyed", "squint", "base", "R") + gen "Please... You're telling me that \"the Hermione Granger\", is not keeping track of everything that she does? And here I thought--" ("base", xpos="far_left", ypos="head") + her "Five times in one day!" ("open", "happyCl", "base", "mid") + gen "Shut the front door... Surely, you must be lying!" ("base", xpos="far_left", ypos="head") + gen "(Wait, is she talking about orgasms in one session, or how many sessions?)" ("base", xpos="far_left", ypos="head") + her "Of course I'm not lying, [name_genie_hermione]... Schoolwork requires a clear state of mind." ("annoyed", "wink", "base", "mid") + her "I spend an average of twelve minutes per session, so any more than five a day would be detrimental." ("open", "closed", "worried", "mid") + gen "Detrimental to what? Your well-being?" ("base", xpos="far_left", ypos="head") + gen "(Should I be worried?)" ("base", xpos="far_left", ypos="head") + her "Not my well-being, [name_genie_hermione]... If I did it any more, I would miss my classes." ("angry", "squint", "base", "mid") + gen "Oh, good thing I didn't swap places with some student..." ("base", xpos="far_left", ypos="head") + her "Swap places?" ("soft", "base", "base", "mid") + gen "So... Twelve minutes per session, you say... Well, that won't do..." ("base", xpos="far_left", ypos="head") + if not states.her.status.masturbating: + gen "Perhaps you better show me how you do it, and we could bring that number down to five minutes..." ("base", xpos="far_left", ypos="head") + her "I suppose I could do that..." ("soft", "narrow", "base", "down") + gen "Great, then show me how you do it... And the timer starts... Now!" ("base", xpos="far_left", ypos="head") else: - her "I mean I have done it once today already..." ("grin", "base", "base", "R") - gen "Once more for good luck then!" ("grin", xpos="far_left", ypos="head") - her "If you insist...{heart}" ("open", "base", "base", "R", cheeks="blush") + gen "Perhaps if you showed me how you do it again, then we could bring that number down to five minutes..." ("base", xpos="far_left", ypos="head") + her "*Hmm*... I suppose that's not too bad of an idea..." ("soft", "narrow", "base", "down") + gen "Great! Timer starts... Now!" ("grin", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "mid_soft") + $ _start_time = datetime.datetime.now() + + her "..." ("base", "narrow", "base", "down") if hermione.is_worn("panties"): - call nar(">Hermione hastily takes off her panties.") + nar "Hermione hastily takes off her panties." pause 1.0 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("panties") pause 1.0 if hermione.is_any_worn("clothes"): gen "Now take off the rest." ("base", xpos="far_left", ypos="head") - $ hermione.strip("all") + $ hermione.strip("clothes") her "(...)" ("base", "happyCl", "worried", "mid") show screen blkfade with d5 - $ hermione.set_pose("masturbate") - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy") + $ hermione.set_pose("hand_on_pussy") her "" ("soft", "closed", "worried", "mid", trans=d3) - $ renpy.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with hpunch with kissiris - her "*Ah*..." ("open", "squint", "worried", "R", cheeks="blush") + her "*Ah*..." ("open", "squint", "worried", "R") call ctc hide screen blkfade with d5 stop music fadeout 3.0 - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - her "*Mmmh*...{heart}" ("base", "narrow", "base", "down", cheeks="blush") - her "[genie_name]...{w=0.4} Do you...{w=0.4} like it when I do it like this?" ("grin", "narrow", "base", "down", cheeks="blush") - call play_music("chipper_doodle") # HERMIONE'S THEME. + her "*Mmmh*...{heart}" ("base", "narrow", "base", "down") + her "[name_genie_hermione]...{w=0.4} What do you think, when I do it like this?" ("grin", "narrow", "base", "down") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. - gen "Yes, I love it..." ("base", xpos="far_left", ypos="head") - gen "Try going a little deeper with your fingers." ("base", xpos="far_left", ypos="head") - her "Alright [genie_name]..." ("base", "happyCl", "base", "mid", cheeks="blush") - play bg_sounds "sounds/slickloopfast.ogg" - her "*Ah*...{w=0.4} *Ah*...{w=0.4}{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") + gen "Pleasurable to look at, but I'm sure you can do better..." ("base", xpos="far_left", ypos="head") + gen "When you're in a hurry, you should try going a little deeper with your fingers." ("base", xpos="far_left", ypos="head") + her "Alright, [name_genie_hermione]..." ("base", "happyCl", "base", "mid") + play background "sounds/slickloopfast.ogg" + her "*Ah*...{w=0.4} *Ah*...{w=0.4}{heart}" ("open", "happyCl", "worried", "mid") $ hermione.set_cum(pussy="wet") - her "*Ah*...{w=0.6} [genie_name]...{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") + her "*Ah*...{w=0.6} [name_genie_hermione]...{heart}" ("open", "happyCl", "worried", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Tell me what you're thinking about.\"": - her "*huh*?" ("open", "wink", "worried", "mid", cheeks="blush") - her "Oh, *umm*... nothing..." ("soft", "happyCl", "worried", "mid", cheeks="blush") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "[genie_name],{w=0.4} it's a bit weird..." ("disgust", "narrow", "base", "down", cheeks="blush") + her "*Huh*?" ("open", "wink", "worried", "mid") + her "Oh, *umm*... Nothing..." ("soft", "happyCl", "worried", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione],{w=0.4} it's a bit weird..." ("disgust", "narrow", "base", "down") gen "Even more reason to tell me." ("angry", xpos="far_left", ypos="head") - her "......" ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") - her "Fine..." ("open", "base", "base", "R", cheeks="blush") - her "If you must know... I was thinking about the time I corrected professor Snape on the ingredients of a Hiccoughing potion." ("open", "narrow", "worried", "down", cheeks="blush") + her "......" ("annoyed", "narrow", "annoyed", "mid") + her "Fine..." ("open", "base", "base", "R") + her "If you must know...{w=0.4} I was thinking about the time I corrected professor Snape on the ingredients of a \"Hiccoughing Solution\"." ("open", "narrow", "worried", "down") gen "....." ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart}" ("soft", "narrow", "annoyed", "up", cheeks="blush") - her "It was...{w=0.4} *Ah*...{w=0.4} {heart} in front of the entire class as well." (cheeks="blush") - her "He refused to let me answer any questions for a week after that." ("base", "narrow", "worried", "down", cheeks="blush") - her "But it was worth it..." ("soft", "happy", "base", "R", cheeks="blush") - her "The look on his face when he realised he was wrong...{heart}" ("soft", "narrow", "annoyed", "up", cheeks="blush") - her "*A-ah*...{heart}" (cheeks="blush") - her "It just felt so good!{heart}" ("grin", "narrow", "base", "dead", cheeks="blush") + her "*Ah*...{heart}" ("soft", "narrow", "annoyed", "up") + her "It was--{w=0.2} *Ah*...{w=0.4} {heart} in front of the entire class as well." ("soft", "narrow", "annoyed", "up") + her "He refused to let me answer any questions for a week after that." ("base", "narrow", "worried", "down") + her "But it was worth it..." ("soft", "happy", "base", "R") + her "The look on his face when he realised he was wrong...{heart}" ("soft", "narrow", "annoyed", "up") + her "*A-ah*...{heart}" + her "It just felt so good!{heart}" ("grin", "narrow", "base", "dead") gen "This is what you're thinking of when masturbating?" ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "base", "dead", cheeks="blush") - her "Is that too weird?" ("upset", "narrow", "base", "mid", cheeks="blush") - gen "(No wonder why she's being such a know it all... she's getting off from it.)" ("base", xpos="far_left", ypos="head") - gen "Let's just get back to business shall we?" ("base", xpos="far_left", ypos="head") - her "................." ("base", "narrow", "annoyed", "up", cheeks="blush") - call nar(">Hermione goes quiet for a moment to enjoy herself, now fully focused on moving her fingers.","start") - gen "(Having a bit too much fun I think...)" ("base", xpos="far_left", ypos="head") + her "..." ("normal", "narrow", "base", "dead") + her "Is that too weird?" ("upset", "narrow", "base", "mid") + gen "(No wonder why she's being such a know-it-all... She's getting off from it.)" ("base", xpos="far_left", ypos="head") + gen "Let's just get back to business, shall we?" ("base", xpos="far_left", ypos="head") + her "................." ("base", "closed", "worried", "up") + nar "Hermione goes quiet for a moment to enjoy herself, now fully focused on moving her fingers." "\"You really are a shameless slut, aren't you?\"": - her "Yes..." ("soft", "narrow", "annoyed", "up") - her "*Ah*... {heart}" ("silly", "narrow", "base", "dead") - her "I don't know if has to do with the time I've spent with you...{heart}" ("angry", "wink", "base", "mid") - her "Or if I've always been this way...{heart}" ("angry", "narrow", "base", "down") - her "But... {heart} {w=0.4}*Ah*...{w=0.4} {heart} I'm a slut [genie_name]...{heart}" ("soft", "narrow", "annoyed", "up") - play bg_sounds "sounds/slickloopfast.ogg" - her "A shameless slut..." ("grin", "narrow", "base", "dead") - her "That pleasures herself...{heart} {w=0.4}*Ah*..." ("soft", "narrow", "annoyed", "up") - her "Just to make her headmaster happy..." ("grin", "narrow", "base", "dead") - gen "Oh, yes..." ("base", xpos="far_left", ypos="head") - her "That's it [genie_name]..." ("base", "narrow", "worried", "up_soft") - her "Enjoy yourself while I stand here..." ("silly", "narrow", "base", "dead") - her "*Ah*...{heart}" ("open_wide_tongue", "narrow", "annoyed", "up") - her "Fingering my pussy..." ("silly", "narrow", "annoyed", "up") + her "*Ah*...{w=0.4} [name_genie_hermione].{heart}" ("angry", "narrow", "base", "dead") + gen "Go on, [name_hermione_genie]... Time's ticking..." ("base", xpos="far_left", ypos="head") + her "*Ah*...{w=0.4} Right..." ("soft", "closed", "worried", "dead") + her "Yes, maybe I am a slut after all, [name_genie_hermione]..." ("angry", "narrow", "base", "dead") + her "Perhaps the time that I spent with you, made me this way...{heart}" ("angry", "narrow", "worried", "dead") + her "Or perhaps I've always been like this...{heart}" ("disgust", "narrow", "base", "down") + her "..." ("base", "closed", "worried", "down") + gen "Very good, [name_hermione_genie]... Keep talking like that, and you'll get there a lot sooner..." ("base", xpos="far_left", ypos="head") + her "Yes... {heart} {w=0.4}*Ah*...{w=0.4} {heart}I...{w=0.4} I'm a slut, [name_genie_hermione]...{heart}" ("soft", "closed", "annoyed", "up") + play background "sounds/slickloopfast.ogg" + her "A shameless, naughty slut..." ("grin", "narrow", "base", "up") + her "Who doesn't mind pleasuring herself...{heart} {w=0.4}*Ah*..." ("soft", "narrow", "worried", "up") + her "If it makes her headmaster happy..." ("grin", "narrow", "base", "dead") + gen "Really now..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]..." ("base", "narrow", "worried", "down") + her "Please enjoy yourself while I'm--" ("soft", "narrow", "base", "down") + her "*Ah*...{heart}" ("open_wide_tongue", "narrow", "worried", "up") + her "Fingering my pussy..." ("grin", "narrow", "worried", "up") + her "It makes me--{w=0.2} *Ah*...{w=0.4} Happy..." ("silly", "closed", "base", "up") her "*Ah*...{w=0.4} *Ah*...{heart}" ("grin", "narrow", "annoyed", "up") - her "*Ah*...{w=0.4} Do you.... like this [genie_name]?" ("shock", "happyCl", "worried", "mid") - her "Watching me {w=0.4}*Ah*...{w=0.4}{heart} degrade myself?" ("silly", "narrow", "base", "dead") - gen "Very much, [hermione_name]. Just keep going..." ("base", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}" ("silly", "narrow", "base", "dead") + her "*Ah*...{w=0.4} Do you.... like this, [name_genie_hermione]?" ("shock", "happyCl", "worried", "mid") + her "Watching me--{w=0.4}*Ah*...{w=0.4}{heart} degrade myself?" ("angry", "narrow", "base", "dead") + gen "Very much, [name_hermione_genie]... Just keep going..." ("base", xpos="far_left", ypos="head") + her "{heart}{heart}{heart}" ("soft", "narrow", "base", "dead") - "\"Play with your tits some more!\"": - her "*Hmm*?" ("soft", "narrow", "annoyed", "up") - her "Okay...{w=0.4} if you insist..." ("open", "base", "base", "R", cheeks="blush") + "\"Play with your tits!\"": + her "*Hmm*?" ("soft", "narrow", "worried", "up") + her "Okay...{w=0.4} If you think that will help..." ("base", "narrow", "base", "up") - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armright="on_tits") + stop background + $ hermione.set_pose("hand_on_breast") - her "*Ah*...{heart}" ("angry", "wink", "base", "mid") - gen "Now pinch your nipples." ("base", xpos="far_left", ypos="head") - her "[genie_name]..." ("open", "happy", "base", "mid", cheeks="blush") - gen "do it, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "..." ("open", "base", "base", "R", cheeks="blush") - $ renpy.play("sounds/gasp2.ogg") - her "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") + her "*Ah*...{heart}" ("grin", "narrow", "base", "dead") + gen "Now pinch your nipple." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]..." ("angry", "narrow", "base", "down") + gen "Do it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "..." ("base", "narrow", "base", "down") + play sound "sounds/gasp2.ogg" + her "*Ah*..." ("grin", "narrow", "base", "up") gen "..." ("grin", xpos="far_left", ypos="head") - call nar(">You gaze at Hermione's breasts as she runs the tips of her fingers across her nipple...") + nar "You gaze at Hermione's breasts, as she runs the tips of her fingers across her nipple..." her "*Ah*..." ("silly", "narrow", "base", "dead") - gen "So you do like playing with those big tits of yours." ("grin", xpos="far_left", ypos="head") - her "I do, [genie_name]... {w=0.4}*Ah*...{heart}" ("soft", "narrow", "annoyed", "up") - her "I don't know why..." ("base", "base", "base", "R", cheeks="blush") - her "But I love it...{heart}{heart}" ("open", "narrow", "worried", "down") + gen "So, you do like playing with those big tits of yours..." ("grin", xpos="far_left", ypos="head") + her "Well, I--{w=0.2} *Ah*...{heart}" ("soft", "narrow", "annoyed", "up") + her "I don't know why..." ("base", "narrow", "base", "dead") + her "But it feels really good...{heart}{heart}" ("open", "closed", "worried", "down") gen "You nasty slut!" ("base", xpos="far_left", ypos="head") her "*Ah*...{w=0.4}{heart} *Ah-a*...{heart}" ("open_tongue", "narrow", "annoyed", "up") - her "I am..." - her "A nasty slut... {w=0.4}*Ah*...{heart}" ("silly", "narrow", "base", "dead") - gen "You are a disgrace, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "*Ah-ah*...{heart}{heart}{heart}" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "Go on, [name_hermione_genie]... Say it!" ("base", xpos="far_left", ypos="head") + her "I... I am..." ("angry", "narrow", "annoyed", "up") + her "A slut...{w=0.4} *Ah*...{heart}" ("grin", "narrow", "base", "dead") + gen "You are a disgrace, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "*Ah-ah*...{heart}{heart}{heart}" ("open_wide_tongue", "narrow", "worried", "up") - gen "Why don't you come down and I'll help you finish?" ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "worried", "down") + gen "Why don't you come down, and I'll help you finish?" ("base", xpos="far_left", ypos="head") + her "..." ("base", "narrow", "base", "stare") # Hermione climbs off your desk. show screen blkfade with d5 hide hermione_main - call play_sound("climb_desk") - stop bg_sounds - ">Hermione slowly climbs down from the desk and stands in front of you." + play sound "sounds/08_hop_on_desk.ogg" + stop background + nar "Hermione gingerly climbs down from the desk, and stands in front of you." pause.5 # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") $ hermione.set_pose(None) - $ hermione.strip("all") + $ hermione.strip("clothes") call her_chibi_scene("behind_desk_front") - hide screen blktone - hide screen bld1 hide screen blkfade with d5 call ctc - her ".............." ("base", "narrow", "base", "up", cheeks="blush", trans=d3) + her ".............." ("base", "narrow", "base", "up", trans=d3) menu: gen "..." ("base", xpos="far_left", ypos="head") "-Grab her tits-": - call nar(">You reach forward and grab a hold of Hermione's tits.") + nar "You reach forward and grab a hold of Hermione's tits." call her_chibi_scene("grope_tits") - her "[genie_name]!" ("shock", "happyCl", "worried", "mid") - her "This wasn't part of the deal!" ("open", "happyCl", "worried", "mid") - her "And I was almost about to--" ("annoyed", "narrow", "angry", "R", cheeks="blush") - gen "Can't let you have all the fun by yourself can we [hermione_name]." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4}{heart} Well, as long as it's just to make this end faster..." ("open", "narrow", "base", "up", cheeks="blush") - her "I suppose I can...{w=0.4} *Ah*...{w=0.4}{heart} allow it..." ("base", "narrow", "base", "down", cheeks="blush") - call nar(">You give her tits a couple of firm squeezes...") - gen "Just admit that you love it." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} fine...{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}I like it...{/size}" ("soft", "narrow", "annoyed", "up") - gen "What was that [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]!" ("angry", "happyCl", "worried", "mid") + her "How is this going to help me finish faster?" ("open", "narrow", "worried", "mid") + her "I was almost there..." ("annoyed", "narrow", "worried", "R") + gen "Would you rather not trade speed for a stronger orgasm, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + gen "This way, you won't need to do it as many times today..." ("base", xpos="far_left", ypos="head") + her "*Ah*...{w=0.4} Truly? Well, I suppose--{w=0.2} *Ngh*...{w=0.4} I suppose you're the expert..." ("open", "closed", "base", "up") + her "But it--{w=0.2} *Ah*...{w=0.4}{heart} better work..." ("open", "narrow", "base", "up") + nar "You give her tits a couple of firm squeezes..." + gen "Now tell me how much you love this." ("base", xpos="far_left", ypos="head") + her "*Ah*...{w=0.4} Fine...{heart}" ("open", "happyCl", "worried", "mid") + her "{size=-5}I like it...{/size}" ("soft", "narrow", "worried", "down") + gen "What was that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "......." ("normal", "narrow", "annoyed", "up") - her "I love this..." ("grin", "narrow", "base", "dead") - her "Standing here... all exposed..." ("base", "narrow", "worried", "down_soft", cheeks="blush") - her "*Ah*...{w=0.4} while you play with me...{heart}" ("grin", "narrow", "base", "up", cheeks="blush") - gen "Heh... Nice." ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart}" ("open", "narrow", "base", "up", cheeks="blush") - her "I sometimes wish I could spend all day in here..." ("grin", "narrow", "angry", "dead", cheeks="blush") + her "I love it..." ("annoyed", "closed", "worried", "dead") + gen "What do you love?" ("base", xpos="far_left", ypos="head") + her "Standing here... All exposed..." ("base", "narrow", "worried", "down_soft") + her "*Ah*...{w=0.4} While you play with me...{heart}" ("soft", "closed", "worried", "up") + gen "*Heh*... Nice." ("base", xpos="far_left", ypos="head") + her "*Ah*...{heart}" ("open", "narrow", "base", "up") + her "I sometimes wish I could spend all day in here..." ("open", "narrow", "worried", "dead") gen "Perhaps we could arrange that some time..." ("base", xpos="far_left", ypos="head") - call nar(">You keep on massaging the girl's breasts...") - her "......." - her "[genie_name]... I...{w=0.4} Please...{w=0.4} I was so close..." ("open", "base", "worried", "L", cheeks="blush") - her "*Ah*...{heart}" ("base", "narrow", "worried", "down") - her "Could you touch me...{w=0.4} down there..." ("open", "happy", "base", "mid", cheeks="blush") - gen "What was that [hermione_name]? You'll have to speak up." ("base", xpos="far_left", ypos="head") - her "Please finger me..." ("open", "narrow", "base", "up", cheeks="blush") - gen "One more time, a little louder this time." ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart} {size=+5}please finger my pussy!{/size}" ("scream", "narrow", "base", "up", cheeks="blush") + nar "You keep on massaging the girl's breasts..." + her "......." ("grin", "narrow", "angry", "dead") + her "[name_genie_hermione]... I...{w=0.4} Please...{w=0.4} I was so close..." ("open", "narrow", "worried", "up") + her "*Ah*...{heart}" ("angry", "narrow", "worried", "up") + her "Please...{w=0.4} You're just teasing me..." ("angry", "narrow", "base", "up") + gen "What was that, [name_hermione_genie]? You'll have to speak up." ("base", xpos="far_left", ypos="head") + her "Please, [name_genie_hermione]...{w=0.4} Let me finish..." ("open", "narrow", "base", "up") + gen "Why, I believe I'm the one in control at this current time, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "*Ah*...{heart} {size=+5}Then, please finger my pussy!{/size}" ("scream", "happyCl", "base", "up") gen "As you wish..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("grope_ass_front") with vpunch - $ renpy.play("sounds/slick_02.ogg") - - call nar(">You swiftly plunge two fingers into her dripping pussy.") - - her "{heart}{heart}{size=+5}!!!{/size}{heart}{heart}" ("open_wide_tongue", "narrow", "annoyed", "up") + play sound "sounds/slick_02.ogg" + play background "sounds/slickloopfast.ogg" + nar "As you put your fingers against Hermione's slit, she suddenly pounds herself down to the base of your fingers." "-Finger her-": + call her_chibi_scene("grope_ass_front") - call nar(">You run your hands up and down Hermione's legs...") - her "!!!" ("open", "happyCl", "worried", "mid") - call nar(">And slowly move your hands towards her pussy...") - her "................." ("silly", "narrow", "base", "dead") - gen "That's it [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "{size=-7}[genie_name]...{/size}" ("soft", "narrow", "annoyed", "up") + + nar "You run your hands up and down Hermione's legs..." + her "..." ("base", "narrow", "worried", "dead") + nar "And then slowly move your them towards her pussy..." + her "................." ("grin", "narrow", "base", "up") + gen "That's it, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "{size=-7}[name_genie_hermione]...{/size}" ("soft", "narrow", "worried", "up") gen "Good girl." ("base", xpos="far_left", ypos="head") - her "...................." ("open", "closed", "base", "mid", cheeks="blush") - gen "Just be quiet for a second..." ("base", xpos="far_left", ypos="head") - call nar(">You enjoy the sensation of stroking the inside of Hermione's thighs...") - call nar(">Kneading her gently and moving ever closer to her wet pussy...") + her "...................." ("base", "narrow", "base", "up") + gen "Don't talk... Just focus on my touch..." ("base", xpos="far_left", ypos="head") + nar "You stroke the inside of Hermione's thighs..." + nar "While gently kneading her, you move ever so closer to her wet pussy..." + nar "As you're just about to touch it, you suddenly move your hands around her back and squeeze her ass..." + her "" ("angry", "wide", "annoyed", "dead") gen "I love your big... firm, ass..." ("base", xpos="far_left", ypos="head") - call nar(">As you get closer to her pussy you suddenly move your hands around her back to squeeze her ass...") - her "....................." ("annoyed", "base", "annoyed", "dead", cheeks="blush") + her "....................." ("annoyed", "base", "annoyed", "dead") gen "Your loins..." ("base", xpos="far_left", ypos="head") - call nar(">You slide your fingers across the side of her body as you return to the front, and then gently begin rubbing your forefinger just above her clit.") - her ".....................{size=-8} [genie_name]...{/size}" ("silly", "narrow", "base", "dead", cheeks="blush") - gen "What was that, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "....................." ("annoyed", "wink", "base", "mid", cheeks="blush") - her "... I...{w=0.4} {size=-5}... I need you...{w=0.4} inside of me...{/size}" ("disgust", "narrow", "base", "down", cheeks="blush") + nar "You slide your fingers along the side of her legs, and then gently begin rubbing your forefinger just above her clit." + her ".....................{size=-8} [name_genie_hermione]...{/size}" ("silly", "narrow", "base", "dead") + gen "What was that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "....................." ("angry", "narrow", "base", "dead") + her "... I...{w=0.4} {size=-5}... I need you...{w=0.4} inside of me...{/size}" ("angry", "narrow", "base", "up") gen "You'll have to speak up if you expect me to hear you..." ("base", xpos="far_left", ypos="head") - her "I...{w=0.4} *Ah*...{w=0.4}{heart} need..." ("open", "narrow", "base", "up", cheeks="blush") - call nar(">You swiftly plunge two fingers into her drenched pussy.") - $ renpy.play("sounds/slick_02.ogg") - her "!!!{heart}{heart}" ("grin", "narrow", "annoyed", "up") - call nar(">You start to pump your fingers inside her before she can do more than gasp.") - play bg_sounds "sounds/slickloop.ogg" + her "I...{w=0.4} *Ah*...{w=0.4}{heart} need..." ("open", "narrow", "base", "up") + nar "You swiftly plunge two fingers into her drenched pussy." + play sound "sounds/slick_02.ogg" + her "!!!{heart}{heart}" ("grin", "narrow", "worried", "up") + nar "You start pumping your fingers inside her before she can do more than gasp." + play background "sounds/slickloop.ogg" her "{size=+10}{heart}{heart}!!!{heart}{heart}{/size}" ("silly", "narrow", "base", "dead") - gen "That's it [hermione_name]. Just enjoy yourself." ("base", xpos="far_left", ypos="head") - her ".................................................." ("base", "narrow", "base", "up", cheeks="blush") - gen "Do you like this?" ("base", xpos="far_left", ypos="head") - gen "You like it when I finger your pussy?" ("base", xpos="far_left", ypos="head") - her "I love it!{heart}{w=0.4} I love your fingers in my tight...{w=0.4} wet....{w=0.4} pussy!!{heart}" ("silly", "narrow", "annoyed", "up") - gen "Well, I certainly think we can do better..." ("base", xpos="far_left", ypos="head") - call nar(">with your other hand, you start rubbing your thumb against her clit.") - her "{size=+10}!!!{/size}" ("open", "narrow", "base", "up", cheeks="blush") + gen "That's it, [name_hermione_genie]... You've deserved this..." ("base", xpos="far_left", ypos="head") + her ".................................................." ("base", "narrow", "base", "up") + gen "Tell me... Do you like this?" ("base", xpos="far_left", ypos="head") + gen "Do you like it when I finger your pussy?" ("base", xpos="far_left", ypos="head") + her "I..." ("angry", "narrow", "base", "dead") + stop background + nar "You suddenly pull your fingers out of Hermione..." + her @ cheeks blush "Please don't stop, [name_genie_hermione]!{heart}{w=0.4} I...{w=0.4} I love it! I love your fingers inside my pussy!!{heart}" ("angry", "happyCl", "worried", "up") + gen "Well, I don't know, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "{size=+10}Please [name_genie_hermione]!!!{/size}" ("open", "happyCl", "worried", "up") + with vpunch + play sound "sounds/slick_02.ogg" + play background "sounds/slickloopfast.ogg" + nar "As you put your fingers back against Hermione's slit, she suddenly pounds herself down to the base of your fingers." - play bg_sounds "sounds/slickloopfast.ogg" - call nar(">With little need to move, Hermione pounds herself down to the base of your fingers.") - her "*Ah*...{heart}{w=0.4} please...{w=0.4}{heart} keep...{heart}" ("silly", "narrow", "base", "dead", cheeks="blush") - her "Fingering my pussy!{heart}{heart}" ("silly", "narrow", "annoyed", "up", cheeks="blush") - gen "As you command!" ("grin", xpos="far_left", ypos="head") - call nar(">You force another finger into her pussy!") - $ renpy.play("sounds/slick_02.ogg") - play bg_sounds "sounds/slickloopveryfast.ogg" - her "*Ah*...{w=0.4} yes! {heart}iloveitiloveitiloveit!{heart}" ("scream", "wide", "annoyed", "dead", cheeks="blush") - gen "what do you love, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Ah!!{heart} I love your fingers in my pussy [genie_name]!{heart}" ("open_wide_tongue", "happyCl", "annoyed", "dead", cheeks="blush") - call nar(">Hermione's legs begin to shake slightly as you finger her with renewed vigour.") - gen "are you about to--" ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart} yes!!" ("mad", "narrow", "annoyed", "dead", cheeks="blush") - her "I'm about to cum [genie_name]!!{heart}" ("grin", "narrow", "base", "dead", cheeks="blush") - her "From being fucked by your fingers!!{heart}{heart}" ("open_tongue", "base", "base", "ahegao", cheeks="blush") - her "*Ah*...{w=0.4} Yes...{w=0.4}*Ah*..." ("soft", "narrow", "base", "dead", cheeks="blush") - her "[genie_name]{heart}... I'm...*Ah*...{w=0.4} I'm cumming!{heart}" ("silly", "narrow", "annoyed", "dead", cheeks="blush") + her "*Ah*...{heart}{w=0.4} please...{w=0.4}{heart} keep...{heart}" ("silly", "narrow", "base", "dead") + her "Fingering my pussy!{heart}{heart}" ("silly", "narrow", "annoyed", "up") + gen "You naughty girl!" ("grin", xpos="far_left", ypos="head") + nar "You begin fingering Hermione with renewed effort..." + play sound "sounds/slick_02.ogg" + play background "sounds/slickloopveryfast.ogg" + her "*Ah*...{w=0.4} yes! {heart}iloveitiloveitiloveit!{heart}" ("scream", "wide", "worried", "dead") + gen "What do you love, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Ah!!{heart} I love your fingers inside my pussy, [name_genie_hermione]!{heart}" ("open_wide_tongue", "narrow", "worried", "up") + nar "Hermione's legs begin to shake slightly as you push your fingers down to the hilt." + gen "Are you about to--" ("base", xpos="far_left", ypos="head") + her "*Ah*...{heart} Yes!!" ("mad", "narrow", "annoyed", "dead") + her "I'm gonna cum, [name_genie_hermione]!!{heart}" ("grin", "narrow", "base", "dead") + her "From being fucked by your fingers!!{heart}{heart}" ("open_tongue", "base", "base", "ahegao") + her "*Ah*...{w=0.4} Yes...{w=0.4}*Ah*..." ("smile", "narrow", "base", "up") + her "[name_genie_hermione]{heart}... I'm--{w=0.2} *Ah*...{w=0.4} I'm cumming!{heart}" ("silly", "narrow", "annoyed", "dead") - her "{heart}{heart}{heart}!!!{heart}{heart}{heart}" ("silly", "narrow", "base", "dead", cheeks="blush") + her @ cheeks blush "{heart}{heart}{heart}!!!{heart}{heart}{heart}" ("silly", "narrow", "base", "dead") with kissiris with hpunch - $ renpy.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" $ hermione.set_cum(pussy="squirt") pause .8 $ hermione.set_cum(pussy="squirt_post") - her "*Ah*...{w=0.4}{heart}...{heart}" ("grin", "narrow", "annoyed", "dead", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4}{heart}...{heart}" ("grin", "squint", "worried", "ahegao") with kissiris with hpunch - $ renpy.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" $ hermione.set_cum(pussy="squirt_transition") pause .8 $ hermione.set_cum(pussy="squirt_post") - her "*Ah*...{w=0.4} *Ah*...{heart}" ("silly", "narrow", "annoyed", "dead", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{heart}" ("silly", "narrow", "annoyed", "dead") $ hermione.set_cum(pussy="squirt_transition") with kissiris with hpunch - $ renpy.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" pause .8 $ hermione.set_cum(pussy="squirt_post") - her "*Mmmmmmh*!!!" ("soft", "base", "annoyed", "dead", cheeks="blush") - her "........................" ("grin", "base", "annoyed", "dead", cheeks="blush") - stop bg_sounds + her @ cheeks blush "*Mmmmmmh*!!!" ("grin", "narrow", "annoyed", "up") + her @ cheeks blush "........................" ("grin", "narrow", "worried", "up") + stop background - if hermione.is_worn("bottom"): - call nar(">You remove your hands from underneath Hermione's skirt, fingers drenched by her love juices.") - else: - call nar(">You remove your hands from Hermione's love canal, fingers drenched by her love juices.") + nar "You take your hands off Hermione pussy and then wipe her love-juices across the side of her leg." call her_chibi_scene("behind_desk_front") - show screen bld1 - with d3 - gen "This shall do for now [hermione_name]." ("base", xpos="far_left", ypos="head") + $ _end_time = datetime.datetime.now() + $ _time_difference = (_end_time - _start_time).total_seconds() - her "*Ah*...{w=0.4} *Ah*...{heart}" ("open", "narrow", "annoyed", "dead", cheeks="blush") - her "Yes...{w=0.4} yes, [genie_name].{heart}" ("silly", "narrow", "base", "mid_soft", cheeks="blush") + if _time_difference < 60: + gen "I'm not sure how you did it, but you finished in less than a minute." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} Really?" ("grin", "narrow", "base", "mid") + gen "Yes... If I didn't see it happen myself, I would've thought you cheated somehow..." ("base", xpos="far_left", ypos="head") + elif _time_difference < 360: + gen "You finished in under six minutes... Very impressive." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} Thank you..." ("base", "narrow", "base", "down") + elif _time_difference < 720: + gen "Looks like you finished under your average time... Congratulations." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} Thank you..." ("base", "narrow", "base", "down") + elif _time_difference < 3600: + gen "Good girl..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} Thank you, [name_genie_hermione]..." ("base", "narrow", "base", "mid") + gen "That said... it appears you didn't beat your average time..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh..." ("base", "narrow", "base", "down") + gen "No worries...{w=0.4} There's always next time." ("base", xpos="far_left", ypos="head") + else: + gen "I'm not exactly sure how this happened..." ("base", xpos="far_left", ypos="head") + gen "But you were masturbating for over an hour..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} But--{w=0.2} *Ah*...{w=0.4} How is that even possible?" ("base", "narrow", "base", "mid") + gen "I'm not sure... Maybe the player just left for a bit..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} Who--{w=0.2} Who are you talking about, [name_genie_hermione]?" ("soft", "narrow", "base", "mid") + gen "Don't worry about it..." ("base", xpos="far_left", ypos="head") + + gen "Alright then, [name_hermione_genie]... If you're finished..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{heart}" ("grin", "narrow", "worried", "dead") + her @ cheeks blush "Yes...{w=0.4} yes, [name_genie_hermione]...{w=0.4} Just give me a moment...{heart}" ("base", "narrow", "base", "up") + her @ cheeks blush "(How will I ever be able to achieve this... on my own...{heart})" ("soft", "narrow", "base", "down") + her "" ("soft", "narrow", "base", "down", cheeks="none") + + $ states.her.status.masturbating = True jump end_hg_pf_strip diff --git a/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy b/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy index 51b9c9ec..18e67960 100644 --- a/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy +++ b/game/scripts/characters/hermione/events/favors/dance_for_me_snape.rpy @@ -5,89 +5,113 @@ # Invite Snape label hg_pf_strip_T3_snape: # Fails - hide screen blktone hide hermione_main with d3 - gen "[hermione_name], before you start I have one more favour to ask of you." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]... Before you start, I have one more favour to ask of you." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("open", "closed", "base", "mid", xpos="base", ypos="base") + her "Of course, [name_genie_hermione]." ("open", "closed", "base", "mid", xpos="base", ypos="base") gen "Do you think you could go and fetch professor Snape for me?" ("base", xpos="far_left", ypos="head") her "... Professor Snape?" ("annoyed", "squint", "base", "mid") - her "May I ask, why, [genie_name]?" + her "May I ask why, [name_genie_hermione]?" ("annoyed", "squint", "base", "mid") gen "Oh, I just think you could use a bigger audience for your striptease performance." ("base", xpos="far_left", ypos="head") her "My striptease performance...?!!" ("shock", "wide", "base", "stare") - her "Are you completely out of your mind, [genie_name]?" ("angry", "base", "angry", "mid") + her "Are you completely out of your mind, [name_genie_hermione]?" ("angry", "base", "angry", "mid") her "Wasn't it enough that I've had to embarrass myself in front my teacher once before?" ("open", "base", "angry", "mid") - her "And now you expect me to do it again... but willingly?!" ("scream", "closed", "angry", "mid") - gen "Short answer... yes." ("base", xpos="far_left", ypos="head") + her "And now you expect me to do it again... But willingly?!" ("scream", "closed", "angry", "mid") + gen "I wouldn't put it that way, I just figured--" ("base", xpos="far_left", ypos="head") her "I'm leaving!" ("angry", "base", "angry", "mid") call her_walk(action="leave") - $ her_mood += 15 - $ hg_pf_strip.fail() + $ states.her.mood += 15 + + # Event resets. (No progress) + $ _event.cancel() jump end_hermione_event - ### Tier 4 ### # Invite Snape label hg_pf_strip_T4_snape: - if hg_strip.ss_counter == 0: - $ hg_strip.ss_counter += 1 - hide screen blktone + $ _wearing_clothes = False #Check if she has to put clothing back on at the end + + $ _flogging_known = False + $ _potter_known = False + $ _weasley_known = False + $ _butt_known = False + + if not states.her.ev.dance_for_me.snape_invited: + $ states.her.ev.dance_for_me.snape_invited = True + hide hermione_main with d3 - gen "[hermione_name], before you start I have one more favour to ask of you." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], before you start..." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("open", "closed", "base", "mid", xpos="base", ypos="base") - gen "Do you think you could go and fetch professor Snape for me?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + gen "I think it'd be a good idea if you went and fetched professor Snape." ("base", xpos="far_left", ypos="head") her "... Professor Snape?" ("annoyed", "squint", "base", "mid") - her "May I ask, why, [genie_name]?" - gen "Oh, I just think you could use a bigger audience for your striptease performance." ("base", xpos="far_left", ypos="head") - her "My striptease performance...?!!" ("shock", "wide", "base", "stare") - her "With all due respect, [genie_name]..." ("angry", "base", "angry", "mid") - her "{size=-5}(Which I have oh so little left for you...){/size}" ("normal", "squint", "angry", "mid") + if hermione.is_any_worn("top", "bottom", "panties", "bra"): #Other items may not fit the category of "clothes" + $ _wearing_clothes = True + gen "Yes, I figured that you might want to include him in the audience for your striptease performance." ("base", xpos="far_left", ypos="head") + her "I'd want to include--{w=0.2} During my striptease performance...?!!" ("shock", "wide", "base", "stare") + else: + gen "Yes, I figured that you might want to include him in the audience for your performance." ("base", xpos="far_left", ypos="head") + her "I'd want him to--{w=0.2} During my performance...?!!" ("shock", "wide", "base", "stare") + her @ cheeks blush "With all due respect, [name_genie_hermione]..." ("angry", "base", "angry", "mid") + her "{size=-5}(Which I currently have little left for you...){/size}" ("normal", "squint", "angry", "mid") her "I refuse to degrade myself for professor Snape's amusement!" ("scream", "closed", "angry", "mid") - gen "No, no, you got it all wrong, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "*Hmm*...?" ("soft", "base", "base", "mid") - gen "I want to prove that professor Snape is dirty, and I need your help." ("base", xpos="far_left", ypos="head") - her "!!!" ("shock", "wide", "base", "stare") - gen "Yes, I want to catch him in the act!" ("base", xpos="far_left", ypos="head") - her "[genie_name], I didn't realise..." ("open", "base", "worried", "mid") - her "I see now..." ("base", "base", "base", "mid") - her "I am sorry for doubting you [genie_name]..." - gen "No biggie. Now go find professor Snape and bring him here." ("base", xpos="far_left", ypos="head") - her "Right away [genie_name]!" ("smile", "base", "angry", "mid") + gen "No, no, you've got it all wrong, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "*Hmm*...?" ("soft", "squint", "base", "mid") + gen "I figured it was implied, but I wanted to give you an opportunity to find out just how dirty professor Snape can get with his students." ("base", xpos="far_left", ypos="head") + her "!!!" ("open", "base", "base", "stare") + gen "If you had a better idea of the types of favours he's currently selling..." ("base", xpos="far_left", ypos="head") + her "Then I'd be able to stay ahead of Slytherin in points, no problem..." ("open", "squint", "base", "stare") + gen "Precisely..." ("base", xpos="far_left", ypos="head") + her "I--{w=0.4} I should've known..." ("soft", "squint", "worried", "mid") + her "I apologise for doubting your intentions, [name_genie_hermione]..." ("soft", "base", "worried", "mid") + gen "No worries [name_hermione_genie], I should've made it more clear." ("base", xpos="far_left", ypos="head") + gen "Now, will you go find professor Snape, and bring him here?" ("base", xpos="far_left", ypos="head") + if hermione.is_any_worn("top", "bottom", "panties", "bra"): #Other items may not fit the category of "clothes" + her "But--{w=0.2} *Ehm*...{w=0.4} Undressing in front of Snape..." ("annoyed", "base", "worried", "mid") + else: + her "But--{w=0.2} *Ehm*...{w=0.4} Performing in front of Snape..." ("annoyed", "base", "worried", "mid") + her "I'm not sure if--" ("angry", "base", "worried", "mid") + gen "Yes, it's not an easy task... I am aware of that, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "But if anyone is strong-willed--" ("base", xpos="far_left", ypos="head") + gen "(And slutty...)" ("base", xpos="far_left", ypos="head") + gen "--Enough to do it, it'd be you...{w=0.4} Unless you know some other Gryffindor student who'd be up for the task?" ("base", xpos="far_left", ypos="head") + her "That's true... I am the only one who could do it..." ("open", "narrow", "base", "down") + gen "In that case, if you truly want Gryffindor to have a chance at winning the cup, then I'm afraid you'll have to muster up the courage to--" ("base", xpos="far_left", ypos="head") + her "Yes, I must do it!" ("scream", "closed", "angry", "mid") + her "I {b}have{/b} to do it, for Gryffindor!" ("scream", "closed", "angry", "mid") + gen "There's that Gryffindor resolve that I love!" ("grin", xpos="far_left", ypos="head") + gen "Now then [name_hermione_genie], if you're ready... Put on a big smile, fetch professor Snape, and make your house proud!" ("grin", xpos="far_left", ypos="head") + her "Right away [name_genie_hermione]!" ("smile", "base", "angry", "mid") else: - hide screen blktone hide hermione_main with d3 - gen "[hermione_name], before you start I have one more favour to ask of you." ("base", xpos="far_left", ypos="head") - - her "Of course, [genie_name]." ("open", "closed", "base", "mid", xpos="base", ypos="base") - gen "Do you think you could go and fetch professor Snape again?" ("base", xpos="far_left", ypos="head") - her "... professor Snape?" ("annoyed", "squint", "base", "mid") - her "may I ask, why, [genie_name]?" - gen "Oh, I just want you to dance for us." ("base", xpos="far_left", ypos="head") - her "!!!" ("open", "base", "base", "mid") - gen "I want to prove that professor Snape is dirty, and I need your help." ("base", xpos="far_left", ypos="head") - her "But didn't we already establish that last time I did this?" ("annoyed", "base", "worried", "R") - gen "Well, *Ehm*... sure..." ("base", xpos="far_left", ypos="head") - gen "But I will need more proof if I am to take this issue to the ministry of magic!" ("base", xpos="far_left", ypos="head") - her "....." ("angry", "base", "angry", "mid") - gen "So, what do you say [hermione_name]?" ("base", xpos="far_left", ypos="head") - gen "One more dance for the greater good?" ("base", xpos="far_left", ypos="head") - her "Well, alright..." ("disgust", "narrow", "base", "mid_soft") - gen "Good. Go find professor Snape then." ("base", xpos="far_left", ypos="head") + gen "Hold on, [name_hermione_genie]... Before you start." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "closed", "base", "mid", xpos="base", ypos="base", trans=d3) + gen "Why don't you go and fetch professor Snape?" ("base", xpos="far_left", ypos="head") + her "... Professor Snape?" ("annoyed", "squint", "base", "mid") + if hermione.is_any_worn("top", "bottom", "panties", "bra"): #Other items may not fit the category of "clothes" + $ _wearing_clothes = True + gen "Yes, I figured it may be a good time for you to perform another striptease for us both." ("base", xpos="far_left", ypos="head") + else: + gen "Yes, I figured it may be a good time for you to dance for us both again." ("base", xpos="far_left", ypos="head") + her "Again, [name_genie_hermione]?" ("annoyed", "squint", "base", "mid") + gen "Yes, [name_hermione_genie]... Don't you think it would help to know where your competition is currently at?" ("base", xpos="far_left", ypos="head") + her "But... Don't you think I've learned enough, last time I did this?" ("annoyed", "base", "worried", "R") + gen "I wouldn't have suggested it, if that's what I thought." ("base", xpos="far_left", ypos="head") + her "Very well, [name_genie_hermione]..." ("annoyed", "narrow", "worried", "R") call her_walk(action="leave") @@ -96,24 +120,24 @@ label hg_pf_strip_T4_snape: stop music fadeout 1.0 pause 2 - ">Hermione returns with Snape a few moments later." + nar "Hermione returns with Snape a few moments later." - call play_sound("door") + play sound "sounds/door.ogg" call her_chibi("stand","desk","base") call sna_chibi("stand","mid","base") hide screen blkfade with d5 pause.5 - call play_music("dark_fog") - sna "Genie... err, I mean Albus, you wanted to see me?" ("snape_01", xpos="base", ypos="base") - gen "Yes. Are you in the mood for a little striptease?" ("base", xpos="far_left", ypos="head") + play music "music/Dark Fog.ogg" fadein 1 if_changed + sna "Genie--{w=0.2} I mean Albus...{w=0.4} You wanted to see me?" ("snape_01", xpos="base", ypos="base") + gen "Severus! Yes, I wanted to ask if you were in the mood for a little striptease." ("base", xpos="far_left", ypos="head") sna "Oh...?" ("snape_05") - sna "Miss Granger here will be performing I assume?" + sna "Miss Granger here will be performing, I presume?" her ".............." ("angry", "happyCl", "worried", "mid", emote="sweat", xpos="mid", ypos="base") gen "Yes, our little minx is more than happy to take off her clothes for our entertainment." ("base", xpos="far_left", ypos="head") - her "............" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "Aren't you [hermione_name]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "............" ("annoyed", "happyCl", "worried", "mid", emote="sweat") + gen "Aren't you, Miss Granger?" ("base", xpos="far_left", ypos="head") pause.5 her "" ("angry", "happy", "worried", "R") @@ -122,8 +146,8 @@ label hg_pf_strip_T4_snape: her "" ("angry", "happy", "worried", "mid") pause 1.5 - her "Yes, [genie_name]." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "Let's get started then!" ("base", xpos="far_left", ypos="head") + her "Yes, sir." ("angry", "narrow", "worried", "mid", emote="sweat") + gen "Well then, better get started." ("base", xpos="far_left", ypos="head") hide hermione_main with d3 pause.2 @@ -135,628 +159,783 @@ label hg_pf_strip_T4_snape: show screen blkfade with d5 - $ renpy.play('sounds/08_hop_on_desk.ogg') #Sound of the desk squeaking. + play sound "sounds/08_hop_on_desk.ogg" #Sound of the desk squeaking. pause 3 call her_chibi("dance","on_desk","on_desk") call sna_chibi("stand","desk_close","desk_close") - # her "" (animation=bob) her "............." ("open", "closed", "base", "mid", ypos="head", flip=False) - sna "......................" ("snape_05") - gen ".........................." ("base", xpos="far_left", ypos="head") + sna "......................" + gen ".........................." - hide screen bld1 hide screen blkfade with d5 pause.8 - call bld gen "So... Severus... How's life?" ("base", xpos="far_left", ypos="head") - sna "Well, you know... same old, same old..." ("snape_09") - sna " The Students are causing me grief..." ("snape_06") - sna "In fact, miss Granger here managed to cause me more stress than any other student..." ("snape_03") + sna "Well, you know... Same old, same old..." ("snape_09") + sna "The students are causing me grief, as usual..." ("snape_06") + sna "In fact, Miss Granger here, has managed to cause me more stress than any other student..." ("snape_03") pause.2 - her "..............................." ("grin", "base", "base", "R", xpos="mid", ypos="base") + her "..............................." ("base", "narrow", "base", "R", xpos="mid", ypos="base") gen "Oh, I am sure she is very sorry about that..." ("base", xpos="far_left", ypos="head") - her "{size=-4}(Not even a little bit!){/size}" ("base", "happyCl", "base", "mid") - gen "And will make up for it today, won't you, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "{size=-4}(Not even a little bit!){/size}" ("base", "narrow", "annoyed", "R") + gen "And I'm sure she'll make up for it today... Won't you, Miss Granger?" ("base", xpos="far_left", ypos="head") pause.2 - her "*Ehm*... Yes, [genie_name]." ("base", "happy", "base", "mid") + her "*Ehm*... Yes sir." ("grin", "narrow", "base", "mid") pause.2 - call nar(">Hermione starts to sway her hips seductively.") + nar "Hermione starts to sway her hips seductively." if hermione.is_worn("top"): - call nar(">Hermione reaches to take off her top...") + nar "She then reaches for her top, and tosses it on the floor..." $ hermione.strip("top") - + play sound "sounds/cloth_sound3.ogg" + pause.5 call ctc - her "..................." ("open", "narrow", "worried", "down") + #TODO should this section have a repeat variant? + her @ cheeks blush "..................." ("soft", "narrow", "base", "down") sna "*Hmm*... You are being suspiciously quiet, Miss Granger." ("snape_05") - her "{size=-4}(Oh no! Is he onto us?){/size}" ("shock", "wide", "base", "stare") - her "I'm just doing what the headmaster told me to, Professor Snape..." ("grin", "happyCl", "worried", "mid", emote="sweat") - sna "Aren't you going to lecture me on the \"corruption that is taking over Hogwarts\" like you do every other day during classes?" ("snape_03") + her @ cheeks blush "{size=-4}(Oh no! Is he onto us?){/size}" ("angry", "squint", "base", "R") + her @ cheeks blush "I'm just doing what is expected from a student..." ("open", "squint", "worried", "R", emote="sweat") + sna "Aren't you going to lecture me on the \"corruption that is taking over Hogwarts\" like you've done every other day during classes?" ("snape_03") gen "Severus..." ("base", xpos="far_left", ypos="head") - sna "No Albus, I want to hear what little miss perfect has to say." ("snape_03") - her "I just want you to have a good time, Professor Snape..." ("grin", "happyCl", "worried", "mid", emote="sweat") + sna "No, Albus... I want to hear what {i}little miss perfect{/i} has to say." ("snape_03") + her "..." ("annoyed", "narrow", "base", "down") + sna "Well?" ("snape_03") + her "Oh, of course I won't lecture you, professor Snape... After all, trading sexual favours for house points is common practice at Hogwarts." ("open", "squint", "worried", "L", emote="sweat") sna "Oh! It's \"Professor Snape\" now, is it?" ("snape_03") - sna "What happened to \"snape'o'doodle\" and \"Professor Snivellus\"??!" ("snape_10") - gen "{size=-5}({i}snape'o'doodle{/i}, heh... that's funny.){/size}" ("grin", xpos="far_left", ypos="head") - her "............." ("grin", "happyCl", "worried", "mid", emote="sweat") - sna "Yes, I know what you are calling me behind my back, you wretched girl!" ("snape_08") - her "Well, maybe that's because you deserve it... {i}Snivellus!{/i}" ("scream", "base", "angry", "mid", emote="angry") + sna "What happened to \"Snape'o'doodle\" and \"Professor Snivellus\"??!" ("snape_10") + gen "{size=-5}({i}Snape'o'doodle{/i}...{w=0.4} *Heh*--{w=0.2} That's funny.){/size}" ("grin", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "annoyed", "down", emote="sweat") + sna "Yes, I am well aware of what you've been calling me behind my back, you wretched girl!" ("snape_08") + her "Well, maybe it's warranted... Have you considered--" ("open", "narrow", "angry", "down", emote="angry") sna "{size=+2}What did you just say?!{/size}" ("snape_10") - sna "How dare you....?" + sna "How dare you to speak to your superiors this way?" ("snape_10") sna "Who do you think you are? You filthy mudbl--" ("snape_15") - her "[genie_name], one of your staff members is verbally abusing me!" ("scream", "closed", "angry", "mid") - her "Are you going to allow this?" - sna "Verbally abusing...?! You have some nerve, girl!" ("snape_08") - sna "Albus, will you allow her to talk back to a teacher like that?" ("snape_10") - her "[genie_name]!" ("scream", "closed", "angry", "mid") - sna "Albus!" ("snape_10") + her "Headmaster, one of your staff members is verbally abusing me!" ("scream", "closed", "angry", "mid") + sna "Verbally abusing--{w=0.2} You have some nerve, girl!" ("snape_08") + sna "Albus, are you truly going to allow such insolent behaviour from a student?" ("snape_10") + her "Professor, please don't listen to him! He's just trying to manipulate you." ("disgust", "narrow", "angry", "mid") + sna "Know your place girl, or your so-called abuse will be anything but verbal." ("snape_10") menu: - gen "..." ("base", xpos="far_left", ypos="head") - "\"[hermione_name], show some respect!\"": - $ her_mood += 9 - her "What?" ("annoyed", "base", "angry", "mid") - her "But [genie_name]!" - gen "[hermione_name], you {size=+4}will{/size} calm down now." ("base", xpos="far_left", ypos="head") - her "*Tsk*!" ("disgust", "narrow", "base", "mid_soft") + "\"Miss Granger, show some respect!\"": + $ states.her.mood += 9 + her "What?" ("angry", "base", "worried", "stare") + her "But, sir!" ("mad", "base", "worried", "mid") + gen "And calm yourself." ("base", xpos="far_left", ypos="head") + her "*Tsk*!" ("upset", "narrow", "base", "mid_soft") + gen "Remember what we discussed... Focus on that task..." ("base", xpos="far_left", ypos="head") + her "Fine..." ("disgust", "narrow", "base", "R") if hermione.is_worn("bottom"): gen "And take off your bottoms already, would you?" ("base", xpos="far_left", ypos="head") her "......." ("annoyed", "narrow", "angry", "R") sna "..........." ("snape_13") - "\"Severus, you started this.\"": - $ sna_friendship -= 5 + "\"Severus, you started this.\"": #Flogging + $ _flogging_known = True + sna "What? Me?!" ("snape_10") - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + her "Thank you sir." ("grin", "closed", "base", "mid") sna "Albus, you are spoiling the girl! She must be taught a lesson!" ("snape_08") - gen "............... Severus." ("base", xpos="far_left", ypos="head") + gen "Severus..." ("base", xpos="far_left", ypos="head") gen "Did you hit your head?!" ("angry", xpos="far_left", ypos="head") sna "I beg your pardon?" ("snape_03") - gen "The girl is already stripping for you!" ("angry", xpos="far_left", ypos="head") - gen "What punishment are you talking about?" ("angry", xpos="far_left", ypos="head") - sna "*Tsk*... How about a flogging?" ("snape_16") + if hermione.is_any_worn("clothes"): + gen "The girl is already stripping for you!" ("angry", xpos="far_left", ypos="head") + else: + gen "The girl is already putting on a show for you!" ("angry", xpos="far_left", ypos="head") + gen "What else could you possibly ask for?" ("angry", xpos="far_left", ypos="head") + sna "*Tsk*... Perhaps a flogging--" ("snape_16") gen "Severus!" ("angry", xpos="far_left", ypos="head") sna "Alright, alright, I see your point..." ("snape_17") - gen "[hermione_name], are you going to strip or are you going to climb on my desk to give us a better view?" ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("open", "narrow", "worried", "down") + gen "Miss Granger, are you alright?" ("base", xpos="far_left", ypos="head") + gen "Shall we end it for today?" ("base", xpos="far_left", ypos="head") + her "It's okay sir... I agreed to do this after all." ("open", "happy", "base", "mid") if hermione.is_worn("bottom"): - gen "Take off your bottoms, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("soft", "base", "base", "mid") + gen "Alright then, in that case you may take off your bottoms!" ("base", xpos="far_left", ypos="head") + her "Yes sir..." ("soft", "base", "base", "mid") - "\"Both of you, calm the fuck down.\"": + "\"Both of you, calm yourselves.\"": gen "You, tall-dark-and-handsome, calm down a bit, would you?" ("base", xpos="far_left", ypos="head") sna "I beg your pardon?" ("snape_03") - her "Yes! You tell him profess--" ("annoyed", "narrow", "angry", "R") - gen "You as well, you perverted little minx!" ("base", xpos="far_left", ypos="head") + her "Yes! You tell him--" ("open", "narrow", "angry", "R") + gen "That goes for you as well, you perverted little minx!" ("base", xpos="far_left", ypos="head") if hermione.is_worn("bottom"): - gen "Calm down and take your bottoms off already." ("base", xpos="far_left", ypos="head") + gen "And take your bottoms off already." ("base", xpos="far_left", ypos="head") else: - gen "Calm down and keep doing what you were paid to do!" ("base", xpos="far_left", ypos="head") - her "I am not perverted..." ("annoyed", "narrow", "annoyed", "mid") + gen "And keep doing what you're here for!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I am not perverted..." ("angry", "narrow", "worried", "mid") if hermione.is_worn("bottom"): - gen "Your bottoms, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "......" ("annoyed", "narrow", "angry", "R") + gen "Your bottoms, Miss Granger!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "......" ("annoyed", "narrow", "worried", "down") sna "............." ("snape_13") "-Unleash your rage {size=-2}(Hardcore){/size}-" if game.difficulty >= 3: #Hardcore difficulty dialogue. - $ her_mood += 18 - $ sna_friendship -= 10 + $ states.her.mood += 18 gen "Both of you..." ("base", xpos="far_left", ypos="head") stop music with hpunch gen "Shut the fuck up!!!" ("angry", xpos="far_left", ypos="head") - gen "You!... You good for nothing, ugly-faced, crooked-nosed-wannabe-wizard!" ("angry", xpos="far_left", ypos="head") + gen "You!... You, good for nothing, dungeon-dwelling, crooked-nosed-wannabe-wizard!" ("angry", xpos="far_left", ypos="head") with hpunch sna "(...)" ("snape_11") - her "(... yikes!)" ("angry", "wink", "base", "mid") + her "(... Yikes!)" ("angry", "wink", "base", "mid") sna "(What did he just say to me?!)" ("snape_08") - gen "Shut your stupid mouth or I will send you flying out that bloody window!" ("angry", xpos="far_left", ypos="head") - gen "That bitch is already stripping for you, so what more do you want?!" ("angry", xpos="far_left", ypos="head") - her "That B-Bitc--" ("shock", "wide", "base", "stare") - gen "And you... stripper-whore!" ("angry", xpos="far_left", ypos="head") - gen "Do what you are paid for and start stripping already!!!" ("angry", xpos="far_left", ypos="head") + gen "Shut your stupid mouth, or I will send you flying out that bloody window!" ("angry", xpos="far_left", ypos="head") + if hermione.is_worn("bottom"): + gen "That bitch is already stripping for you, so what more do you want?!" ("angry", xpos="far_left", ypos="head") + her "That B--{w=0.2} Bitch?!" ("shock", "wide", "base", "stare") + gen "And you... Stripper-whore!" ("angry", xpos="far_left", ypos="head") + gen "Do what you are paid to do, and start stripping already!!!" ("angry", xpos="far_left", ypos="head") + else: + gen "That bitch is already butt-naked, so what more do you want?!" ("angry", xpos="far_left", ypos="head") + her "That B--{w=0.2} Bitch?!" ("shock", "wide", "base", "stare") + gen "And you... Stripper-whore!" ("angry", xpos="far_left", ypos="head") + gen "Do what you are paid to do!" ("angry", xpos="far_left", ypos="head") her "......" ("angry", "closed", "angry", "mid", emote="angry") sna "............." ("snape_05") her "..." ("mad", "squint", "angry", "mid") + play music "music/Dark Fog.ogg" fadein 1 if_changed + pause.5 if hermione.is_worn("bottom"): - call nar(">Hermione swiftly takes off her bottoms, showing off her muggle-born ass.") + nar "Hermione swiftly takes off her bottoms, showing off her shapely ass." + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom") + pause .5 call ctc sna "*Hmm*..." - her "........................" ("open", "narrow", "worried", "down") + her @ cheeks blush "........................" ("disgust", "narrow", "worried", "R") gen "Yes, much better!" ("base", xpos="far_left", ypos="head") if hermione.is_worn("bra") and hermione.is_worn("panties"): - call nar(">Hermione keeps on dancing, now wearing nothing but her underwear.") + nar "Hermione keeps on dancing, now wearing nothing but her underwear." elif hermione.is_worn("bra"): - call nar(">Hermione keeps on dancing, now wearing nothing but her bra.") + nar "Hermione keeps on dancing, now wearing nothing but her bra." elif hermione.is_worn("panties"): - call nar(">Hermione keeps on dancing, now wearing nothing but her panties.") + nar "Hermione keeps on dancing, now wearing nothing but her panties." + else: + nar "Hermione keeps on dancing, as if the previous interaction never occurred." + + gen "Now then... If we're all feeling calm, collected... And focused." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "down") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"Severus, what about that Potter boy?\"": + "\"Severus, let's talk about that Potter boy.\"": #Potter + $ _potter_known = True her "(.....?)" ("soft", "base", "base", "mid") sna "What about him?" ("snape_09") gen "Is he still causing you grief?" ("base", xpos="far_left", ypos="head") - sna "Oh..." ("snape_09") - sna "Not really, no..." - sna "To be honest I never really had a problem with the boy himself..." ("snape_06") - sna "Although I did plan to make his life here miserable because of his father..." - sna "But lately I have way more interesting projects to occupy myself with..." ("snape_02") - her "..................." ("soft", "base", "base", "mid") + sna "Oh..." ("snape_04") + sna "Not really, no..." ("snape_01") + sna "To be honest, I never really had a problem with the boy himself..." ("snape_06") + sna "Although I did plan to make his life here miserable because of his father..." ("snape_03") + sna "But lately, I have way more interesting projects to occupy myself with..." ("snape_02") + her "..................." ("disgust", "squint", "base", "R") - "\"Severus, what about the Weasels?\"": - sna "Weasels?" ("snape_05") - sna "Oh you mean Weasley's..." ("snape_09") - sna "What about them?" ("snape_09") - gen "Are they still causing you trouble?" ("base", xpos="far_left", ypos="head") - sna "Yes... More than ever." ("snape_09") - gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - gen "You seem surprisingly indifferent about that..." ("base", xpos="far_left", ypos="head") - sna "That's because I know that they will get what they deserve eventually..." ("snape_05") - gen "Revenge? Cool! What do you have in mind?" ("base", xpos="far_left", ypos="head") - her "!!!" ("soft", "base", "base", "mid") - sna "*Hmm*... Can't discuss this with \"the enemy\" present." ("snape_06") - her "*Tsk*!" ("annoyed", "narrow", "angry", "R") - sna "All I can say is that it involves their beloved little sister Ginny..." ("snape_13") - gen "Ginny? *Hmm*... What a curious name for a girl..." ("base", xpos="far_left", ypos="head") - gen "............." ("base", xpos="far_left", ypos="head") - gen "So, you plan to fuck her then?" ("base", xpos="far_left", ypos="head") + "\"Severus, anything you'd like to get off your chest?\"": #Weasley + $ _weasley_known = True + + sna "Is this really the best time to ask such questions?" ("snape_05") + gen "I don't see why not..." ("base", xpos="far_left", ypos="head") + gen "Now tell me... Anyone been causing you trouble lately?" ("base", xpos="far_left", ypos="head") + sna "*Hmph*... Well, I suppose there's the Weasley twins..." ("snape_09") + gen "Really? Who doesn't love twins?" ("base", xpos="far_left", ypos="head") + sna "If they were female, perhaps..." ("snape_23") + her @ cheeks blush "....." ("disgust", "narrow", "base", "down") + gen "So, what kind of trouble have they been causing?" ("base", xpos="far_left", ypos="head") + sna "It doesn't matter... They'll get what is coming to them, eventually..." ("snape_09") + gen "A revenge plot? Cool! What do you have in mind?" ("base", xpos="far_left", ypos="head") + her "!!!" ("angry", "squint", "base", "mid") + sna "*Hmm*... It's not exactly something I'm willing to discuss with the \"present company\"." ("snape_06") + her "*Tsk*!" ("angry", "narrow", "angry", "down") + sna "All I can say, is that it involves a girl that they're very close to..." ("snape_13") + her "{size=-5}(Ginny...?){/size}" ("angry", "squint", "worried", "stare") + gen "I see... So, it's a revenge-fuck type of situation?" ("base", xpos="far_left", ypos="head") sna "!!?" ("snape_08") - sna "Albus, please, not in front of the girl!" ("snape_17") + sna "Albus, please... Not in front of the girl!" ("snape_17") gen "Alright, alright..." ("base", xpos="far_left", ypos="head") - her "{size=-5}(Ginny...){/size}" ("open", "narrow", "worried", "down") - "\"How would you grade Hermione's butt?\"": - sna "miss Granger's buttocks?" ("snape_05") - her "!!!............" ("annoyed", "narrow", "angry", "R") - gen "Yes! As you would grade a paper." ("base", xpos="far_left", ypos="head") + "\"Severus, tell me what grade you'd give Miss Granger's butt.\"": #Butt + $ _butt_known = True + + sna "What grade?" ("snape_05") + her @ cheeks blush "............" ("disgust", "squint", "worried", "stare") + gen "Yes! How do you normally grade her papers?" ("base", xpos="far_left", ypos="head") sna "*Hmm*..." ("snape_13") + sna "\"Outstanding\"..." ("snape_13") + her @ cheeks blush "You perverted--" ("angry", "happyCl", "angry", "mid") + sna "That's the grade I'm usually forced to put on her papers..." ("snape_13") + sna "That said... How shall I grade something like this..." ("snape_13") pause.1 - call nar(">Professor Snape gives Hermione's buttocks an appraising look...") - her ".........?" ("upset", "wink", "base", "mid") - sna "I would say..." ("snape_13") - her "............?!" ("base", "narrow", "worried", "down") - sna "Yes... \"Dreadful\"." ("snape_09") + nar "Professor Snape gives Hermione's buttocks an appraising look..." + sna "I'd say..." ("snape_13") + her @ cheeks blush "............?!" ("angry", "narrow", "annoyed", "down") + sna "\"Dreadful\"..." ("snape_09") her "(What?!)" ("shock", "wide", "base", "stare") - sna "Unsatisfactory..." ("snape_09") - sna "Look at that pitiful thing. Tiny and skinny... That's a boy's butt." - her "!!!!!!!!!!" ("angry", "narrow", "annoyed", "mid", emote="angry") + sna "Look at that pitiful thing. Tiny and skinny... That's a boy's butt." ("snape_09") + her "It is not a boy's--" ("angry", "squint", "annoyed", "R", emote="angry") + sna "Truly?" ("snape_09") + her "Of course not!" ("disgust", "narrow", "annoyed", "R") + sna "Then I suppose there must be some other magic at hand to have caused this... Deformation." ("snape_09") + sna "Miss Granger..." ("snape_09") + sna "Remind me... What potion contains two shrivel figs, four daisy roots, five hairy caterpillars, four leeches, and a rat spleen?" ("snape_09") + her "*Ehm*... A shrinking solution? But what does--" ("disgust", "narrow", "base", "R") + sna "That's right..." ("snape_23") + sna "Perhaps you accidentally sat in one..." ("snape_23") + her "*Hmph*" ("angry", "narrow", "annoyed", "down") + + gen "Miss Granger, I'm not seeing much happening..." ("base", xpos="far_left", ypos="head") + her "Right..." ("open", "base", "worried", "mid") if hermione.is_worn("bra"): - gen "Why don't you take off your bra now, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Why don't you take off your bra?" ("base", xpos="far_left", ypos="head") her "............." ("open", "narrow", "worried", "down") - call nar(">Hermione undoes her bra and then slowly takes it off.") - pause .5 + nar "Hermione undoes her bra and then lets it fall to the floor." + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") - + pause .5 call ctc else: - call nar(">Hermione cups her breasts playfully, squeezing them in the process.") + nar "Hermione cups her breasts playfully, squeezing them in the process." - gen "Alright! We Finally get to the good stuff!" ("base", xpos="far_left", ypos="head") + gen "Alright! Finally getting to the good stuff!" ("base", xpos="far_left", ypos="head") sna "*Hmm*..." ("snape_13") her "........" ("annoyed", "closed", "base", "mid") + $ _watch = False #Played watch variant. + $ _masturbate = False #Jacked off at any point. + $ _masturbate_finished = False #Jacked off until completion. + menu: gen "..." ("base", xpos="far_left", ypos="head") "-Start jerking off-": jump hg_pf_strip_T4_snape_masturbate - "-Just keep on watching-": jump hg_pf_strip_T4_snape_watch - -label hg_pf_strip_T4_snape_watch: - call play_music("dark_fog") - - her "I will just keep on dancing then..." ("open", "closed", "base", "mid") - - # her "" (animation=bob) - call her_chibi("dance","on_desk","on_desk") - call ctc - - call nar(">Hermione squeezes her breasts and shakes her hips slightly...") - - gen "Yes, [hermione_name]. Very good." ("base", xpos="far_left", ypos="head") - sna "*Ahem*! Acceptable performance, miss Granger." ("snape_12") - her "...." ("open", "closed", "base", "mid") - gen "Heh..." ("base", xpos="far_left", ypos="head") - gen "So... how would you grade her tits?" ("base", xpos="far_left", ypos="head") - her "......" ("annoyed", "closed", "base", "mid") - sna "*Hmm*......" ("snape_20") - her "........" ("annoyed", "closed", "base", "mid") - sna "\"B+\"!" ("snape_12") - her "!!!" ("open", "wide", "base", "stare") - gen "Really?" ("base", xpos="far_left", ypos="head") - sna "Yes. I do give credit where it's due." ("snape_12") - her "(Professor...)" ("angry", "wide", "base", "stare") - her "(Time for my finishing act then!)" ("open", "closed", "base", "mid") - pause.1 - - if hermione.is_worn("panties"): - call nar(">Hermione bends over and slides her panties down.","start") - ">Her movements lack grace..." - call nar(">But a pretty pussy is always a welcome sight nonetheless...","end") - pause.5 - - $ hermione.strip("panties") - - call ctc - - sna "Yes... Yes..." ("snape_20") - sna "Now shake those B+ titties for me, you harlot!" - her "......." ("angry", "happyCl", "worried", "mid") - - pause.5 - - call nar(">All of a sudden Hermione breaks into a series of rather complex pirouettes.") - sna "Yes, such grace..." ("snape_19") - sna "That lithe, flexible body!" ("snape_20") - her "{size=-5}(Three-two-one... Three-two-one... And step!){/size}" ("open", "closed", "base", "mid") - call nar(">Hermione seems very focused on her dancing routine.") - sna "Yes, and now another pirouette!" ("snape_19") - sna "Magnificent!" - show screen blkfade - with d5 - - ">Hermione performs another set of movements and pirouettes..." - ">Gives a little curtsy bow to the imaginary audience..." - ">And then exhaustedly slumps down on her butt." - - call her_chibi("sit_naked","on_desk","on_desk") - - call hide_characters - hide screen blktone - hide screen bld1 - hide screen blkfade - with d5 - call ctc - - show screen bld1 - sna "Good job, you harlot!" ("snape_22") - her "............." ("soft", "happy", "base", "R", animation=None) - - if game.daytime: - sna "Well, my class is about to start so I will be leaving now." ("snape_22") - sna "Don't you have potion class with me today, Miss Granger?" - her "Yes, [genie_name]..." ("annoyed", "narrow", "base", "dead") - sna "Well, don't be late, girl..." ("snape_22") - sna "Albus..." ("snape_02") - gen "See you soon, Severus." ("grin", xpos="far_left", ypos="head") - else: - sna "Well, it is getting rather late. I think I will be leaving now." ("snape_22") - sna "Good night, Albus." - gen "Severus." ("base", xpos="far_left", ypos="head") - sna "Harlot." ("snape_22") - her "Professor..." ("annoyed", "narrow", "base", "dead") - - call ctc - - call hide_characters - show screen blkfade - with d5 - - ">Professor Snape leaves..." - stop music fadeout 1.0 - her "...................." ("annoyed", "narrow", "base", "dead", ypos="head", flip=False) - pause.5 - - her "May I... may I get paid now... [genie_name]...?" ("normal", "happyCl", "worried", "mid") - - jump end_hg_pf_strip - label hg_pf_strip_T4_snape_masturbate: - call play_music("playful_tension") - pause.2 + $ _masturbate = True + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed call hide_characters show screen blkfade with d5 pause.2 - her "[genie_name]?!" ("open", "wide", "base", "stare", ypos="head", flip=False) - gen "It's alright, [hermione_name]. Don't mind me..." ("base", xpos="far_left", ypos="head") - sna "Oh, we're doing it like this then?" ("snape_12", ypos="head") - sna "Well, don't mind if I do..." ("snape_12") - her "!!!" (animation=None) + her "Sir?!" ("open", "wide", "base", "stare") + gen "It's alright, Miss Granger..." + sna "Oh, we're doing this now, are we?" + sna "Well then... Don't mind if I do." + + play sound "sounds/cloth_sound3.ogg" + pause .8 + + her "!!!" ("open", "wide", "base", "stare") call gen_chibi("jerk_off","behind_desk","base") call her_chibi("dance_pause","on_desk","on_desk") call sna_chibi("jerk_off","desk_close", "desk_close") - hide screen blktone + hide screen blkfade + with d5 + call ctc + if states.her.tier < 5: # Hermione is not okay with it. + her "Guys--{w=0.2} *Ehm*... I mean, sirs! *Ehm*...{w=0.4} Professors!" ("angry", "wide", "base", "stare") + gen "Don't you mind us, Miss Granger... Just keep doing your thing." ("base", xpos="far_left", ypos="base") + her "But..." ("angry", "wide", "base", "stare") + her @ cheeks blush "No! I refuse to dance, when those things are pointed at me!" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "You need to put them away, or the dance is over!" ("angry", "happyCl", "annoyed", "mid") + gen "You aren't in any position to give us orders, Miss Granger." ("base", xpos="far_left", ypos="base") + her @ cheeks blush "That was not an order, sir... It was an ultimatum." ("disgust", "squint", "angry", "mid", emote="angry") + + menu: + "\"Alright Severus, let's be civil...\"": # Jumps to watch variant. + hide hermione_main + with d3 + pause.2 + sna "I see Miss Granger has managed to remain exceptionally stubborn in every situation..." ("snape_03") + call hide_characters + with d5 + + call gen_chibi("sit_behind_desk") + call sna_chibi("stand","desk","base") + with fade + pause.3 + + jump hg_pf_strip_T4_snape_watch + "\"*Psst*, Hermione! Remember why you're doing this!\"": # Hermione tries to push on, but fails. + $ states.her.mood += 15 + + her "{size=-5}What are you-- Oh... Right...{/size}" ("open", "wide", "base", "stare") + her @ cheeks blush "...{w}...{w}{nw}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "......{fast} No, I can't! This is just not worth it!" ("disgust", "happyCl", "worried", "stare") + + call hide_characters + show screen blkfade + with d5 + + call gen_chibi("sit_behind_desk") + call her_chibi("stand","desk","base") + call sna_chibi("stand","mid","base") + + nar "Hermione jumps off the desk." + + hide screen blkfade + with d5 + + sna "Well, this was awfully anticlimactic..." ("snape_03") + gen "You don't say..." ("angry", xpos="far_left", ypos="head") + sna "Well, since the show is over, I suppose I may as well find some fun elsewhere... I will talk to you later, Albus." ("snape_03") + gen "Severus..." ("base", xpos="far_left", ypos="head") + sna "Miss Granger..." ("snape_04") + her "Professor..." ("disgust", "narrow", "worried", "R") + + call sna_walk(action="leave") + + her "...................." ("annoyed", "narrow", "base", "dead", xpos="mid", ypos="base") + + her "I'd like my points now..." ("open", "narrow", "base", "dead") + gen "Have you not forgotten something?" ("base", xpos="far_left", ypos="head") + her "...?" ("annoyed", "narrow", "base", "mid_soft") + gen "The reason why you did this in the first place, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "..." ("soft", "narrow", "base", "mid") + gen "The whole point was so that you could see just how far Professor Snape would take things." ("base", xpos="far_left", ypos="head") + her "Oh... Right..." ("disgust", "narrow", "worried", "mid") + + jump hg_pf_strip_T4_snape_results + + $ _masturbate_finished = True + + her @ cheeks blush "{size=-5}Focus on the task...{/size}" ("angry", "closed", "worried", "stare") + sna "What was that?" ("snape_05") + her @ cheeks blush "Oh, don't mind me, sir... I'm just being silly..." ("clench", "closed", "worried", "mid", emote="sweat") + sna "*Hmm*...?" ("snape_05") + her @ cheeks blush "Go ahead, please continue touching yourself in front of me..." ("disgust", "closed", "worried", "mid", emote="sweat") + her @ cheeks blush "I do not mind it at all..." ("soft", "closed", "worried", "mid", emote="sweat") + sna "Right..." ("snape_01") + + call hide_characters + play sound "sounds/MaleClearThroat.ogg" + gen "*clears throat*" + + her @ cheeks blush "*Ahem*...{w=0.2} Please...{w=0.2} Allow me to--{w=0.2} assist you..." ("open", "squint", "worried", "stare", emote="sweat") + + call her_chibi("dance","on_desk","on_desk") + + nar "You keep jerking off, while Hermione awkwardly dances in front of you both." + her @ cheeks blush "(Please... Just finish already...)" ("open", "narrow", "worried", "stare", emote="sweat") + nar "Hermione squeezes her breasts, and shakes her hips in an attempted seductive manner." + + gen "That's it, Miss Granger... Very good." ("base", xpos="far_left", ypos="base") + sna "*Ahem*! Acceptable performance..." ("snape_12") + her @ cheeks blush "...." ("soft", "closed", "worried", "mid") + gen "*Heh*..." ("base", xpos="far_left", ypos="base") + gen "So... How would you grade her tits?" ("base", xpos="far_left", ypos="base") + her @ cheeks blush "......" ("annoyed", "closed", "base", "mid") + sna "*Hmm*......" ("snape_20") + her @ cheeks blush "........" ("annoyed", "closed", "base", "mid") + sna "I'd say they \"Exceed expectations\"..." ("snape_12") + her @ cheeks blush "!!!" ("open", "squint", "base", "stare") + gen "Really? I'm surprised you'd grade them so high." ("base", xpos="far_left", ypos="base") + sna "As an honourable man, I do give credit where it's due..." ("snape_12") + her @ cheeks blush "(*Ugh*... I can't stand him... Honourable, my ass...)" ("angry", "narrow", "base", "stare") + her "(Better finish this up, quickly...)" ("annoyed", "closed", "base", "mid", cheeks="blush") + pause.1 + + if hermione.is_worn("panties"): + nar "Hermione bends over and slides her panties down." + nar "Her movements lack grace..." + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + pause.5 + call ctc + + nar "But a pretty pussy is always a welcome sight nonetheless..." + nar "You show your appreciation by stroking your cock even faster..." + else: + $ hermione.strip("clothes") + + sna "Yes..." ("snape_20") + sna "Now shake that ass for me, you harlot!" + her "......." ("annoyed", "closed", "annoyed", "mid", cheeks="none") + pause .5 + + nar "All of a sudden, Hermione breaks into a series of rather complex pirouettes." + sna "Yes, such grace..." ("snape_19") + sna "That lithe, flexible body!" ("snape_20") + her "{size=-5}(Three-two-one... Three-two-one... And step!){/size}" ("soft", "closed", "annoyed", "mid") + + nar "Hermione seems very focused on her dancing routine." + + sna "Yes, and now another pirouette!" ("snape_19") + sna "Magnificent!" + sna "I would applaud you, but one of my hands is very busy at the moment." ("snape_13") + gen "{size=-4}(Was that an attempt at a joke?){/size}" ("base", xpos="far_left", ypos="base") + gen "{size=-4}(Aroused Snape is weird...){/size}" ("base", xpos="far_left", ypos="base") + show screen blkfade + with d5 + + nar "She then performs another set of movements, and pirouettes..." + nar "Once finished, she gives a little curtsy bow to an imaginary audience..." + nar "And then exhaustedly slumps down onto the desk." + + call her_chibi("sit_naked","on_desk","on_desk") + + call hide_characters + hide screen blkfade + with d5 + call ctc + her "Whew... This was--" ("base", "closed", "worried", "mid") + with hpunch + + gen "*ARGH*! YOU FUCKING WHORE!" ("angry", xpos="far_left", ypos="base") + + call her_chibi("sit_naked_shocked","on_desk","on_desk") + + call cum_block + call gen_chibi("cum","behind_desk","base") + pause.2 + + $ hermione.set_cum(face="light") + pause 0.7 + $ hermione.set_cum(breasts="light") + pause 1 + $ hermione.set_cum(hair="light") + + her "??!!!" ("shock", "wide", "base", "stare") + her "" ("angry", "happyCl", "worried", "mid") + call ctc + + sna "Good job, harlot!" ("snape_18") + sna "Here is your reward!" ("snape_21") + + call cum_block + call sna_chibi("cum","desk_close","desk_close") + pause.2 + + $ hermione.set_cum(face="heavy") + pause 0.7 + $ hermione.set_cum(breasts="heavy", body="heavy") + pause 1 + $ hermione.set_cum(crotch="light") + + her "!!!!!!!!!!!" ("shock", "wide", "base", "stare") + call ctc + + sna "..." ("snape_22") + gen "Look at that, she's completely covered!" ("grin", xpos="far_left", ypos="base") + her "..............................." ("soft", "narrow", "worried", "up") + + sna "*Ha-ha-ha*! This is magnificent!" ("snape_21") + gen "I know, right!?" ("grin", xpos="far_left", ypos="base") + + call gen_chibi("cum_done","behind_desk","base") + call sna_chibi("cum_done","desk_close","desk_close") + + sna "Yes... We should do this more often." ("snape_22") + her @ cheeks blush "................." ("soft", "narrow", "worried", "down") + + sna "*Ahem*... I mean, I deem this performance acceptable..." ("snape_20") + her @ cheeks blush "*Ugh*... Thank you......... Professor." ("soft", "narrow", "base", "R") + sna "No Miss Granger, you don't understand..." ("snape_20") + her @ cheeks blush "...........?" ("soft", "narrow", "base", "R") + sna "That's how I'd grade it...." ("snape_22") + sna "\"Acceptable\"..." ("snape_10") + stop music + + her @ cheeks blush "{size=+5}Wait, what?!!!{/size}" ("angry", "squint", "base", "stare") + sna "Indeed... Quite a few things could use some improvement..." ("snape_09") + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + her "I cannot believe this!" ("clench", "base", "angry", "mid", emote="angry") + pause.5 + + call hide_characters + show screen blkfade + with d5 + + nar "Hermione jumps off your desk furiously." + pause 2 + hide hermione_main + + call sna_chibi("hold_dick","mid","base") + call gen_chibi("sit_behind_desk") + call her_chibi("stand","desk","base", flip=True) + hide screen blkfade with d5 call ctc - her "No, guys... *Err*... I mean, sirs! *Ehm*... professors!" ("angry", "wide", "base", "stare", xpos="mid", ypos="base") - gen "Don't you mind us [hermione_name], just keep on doing your thing." ("base", xpos="far_left", ypos="head") - her "But..." - her "No! I refuse to dance with those things pointed at me!" ("angry", "happyCl", "worried", "mid") - her "You need to put them away or the dance is over!" - gen "You aren't in any position to give us orders, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "that was not an order, [genie_name]. It was an ultimatum." ("clench", "base", "angry", "mid", emote="angry") + her "I demand a higher grade than that!" ("soft", "base", "angry", "L", xpos="right", ypos="base", flip=True) + sna "You do not demand a grade, Miss Granger... You earn it!" ("snape_09") + her "I did earn it!" ("clench", "narrow", "annoyed", "L") + her "And could you at least have the decency to stop touching yourself when partaking in such an important discussion, professor!" ("annoyed", "narrow", "angry", "down") + sna "*Tch*..." ("snape_12") + hide hermione_main + with d3 - menu: - gen "..." ("base", xpos="far_left", ypos="head") - "\"Alright Severus, let's be civil...\"": - hide hermione_main - with d3 - pause.2 - sna "I see Miss Granger manages to remain exceptionally stubborn in any situation..." ("snape_03") - call hide_characters - hide screen bld1 - with d5 + gen "(Are they for real?)" ("base", xpos="far_left", ypos="head") + pause.2 - call gen_chibi("sit_behind_desk") - call sna_chibi("stand","desk","base") - with fade - pause.3 + show screen blkfade + with d5 - jump hg_pf_strip_T4_snape_watch + nar "You watch Snape, who's still got his dick hanging out, argue with the cum-covered Hermione about her imaginary grade." + nar "After a while, he agrees to change Hermione's grade from \"acceptable\" to \"Exceeds expectations\"." + nar "He then tucks his dick back into his robes, and beats a hasty retreat before Hermione has a chance to start another argument." + pause 1 - "\"(Psst, Hermione! Remember why we are doing this!)\"": - pass + call sna_chibi("stand","mid","base") + hide screen blkfade + with d5 - if her_tier < 5: # Hermione is NOT ok with it. - $ her_mood += 15 - her "Oh..." ("open", "wide", "base", "stare") - her "No, I can't! This is just not worth it!" ("angry", "happyCl", "worried", "mid") - call hide_characters - show screen blkfade - with d5 + call sna_walk(action="leave") + call her_chibi("stand","desk","base", flip=False) - $ hermione.wear("all") - ">Hermione jumps off the desk and starts to put her clothes back on." - sna "Well, this was awfully anticlimactic..." ("snape_03") - gen "You don't say..." ("angry", xpos="far_left", ypos="head") - sna "May as well leave now I suppose. I will talk to you later, Albus." ("snape_03") - gen "Yes, later, Severus." ("base", xpos="far_left", ypos="head") - sna "Miss Granger..." ("snape_04") - her "Professor..." ("angry", "happyCl", "worried", "mid", ypos="head", flip=False) + gen "Good job, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("open", "base", "base", "mid", flip=False) + gen "Now then..." ("base", xpos="far_left", ypos="head") - call sna_chibi("hide") - call gen_chibi("sit_behind_desk") - call her_chibi("stand","desk","base") - call play_sound("door") - ">Professor Snape leaves." - stop music fadeout 1.0 - hide screen blkfade - with d5 + jump hg_pf_strip_T4_snape_results - her "...................." ("annoyed", "narrow", "base", "dead", xpos="mid", ypos="base") - call ctc +label hg_pf_strip_T4_snape_watch: + $ _watch = True - her "... Can I get paid now... [genie_name]...?" ("normal", "happyCl", "worried", "mid") + her @ cheeks blush "I will just keep on dancing then..." ("soft", "closed", "base", "mid") - jump end_hg_pf_strip + call her_chibi("dance","on_desk","on_desk") + nar "Hermione squeezes her breasts and shakes her hips slightly..." - else: # Hermione IS ok with it. - her "Oh, right..." ("shock", "wide", "base", "stare") - sna "What was that?" ("snape_05") - her "Please don't mind what I just said..." ("silly", "happyCl", "worried", "mid", emote="sweat") - sna "*Hmm*...?" ("snape_05") - her "I do not mind you touching yourself in front of me..." ("silly", "happyCl", "worried", "mid", emote="sweat") - her "Yes, I do not mind it at all..." - her "I will just keep on dancing then..." + gen "That's it, Miss Granger... Very good." ("base", xpos="far_left", ypos="head") + sna "*Ahem*! Acceptable performance..." ("snape_12") + her "...." ("soft", "closed", "worried", "mid") + gen "*Heh*..." ("base", xpos="far_left", ypos="head") + gen "So... How would you grade her tits?" ("base", xpos="far_left", ypos="head") + her "......" ("annoyed", "closed", "base", "mid") + sna "*Hmm*......" ("snape_20") + her "........" ("annoyed", "closed", "base", "mid") + sna "I'd say they \"Exceed expectations\"..." ("snape_12") + her "!!!" ("angry", "squint", "base", "stare") + gen "Really? I'm surprised you'd grade them so high." ("base", xpos="far_left", ypos="head") + sna "As an honourable man, I do give credit where it's due..." ("snape_02") + her "(*Ugh*... I can't stand him... Honourable, my ass...)" ("angry", "narrow", "base", "stare") + her "(Better finish this up, quickly...)" ("annoyed", "closed", "base", "mid") + pause.1 - call her_chibi("dance","on_desk","on_desk") - # her "" (animation=bob) + if hermione.is_worn("panties"): - call nar(">You keep on jerking off while you're watching Hermione dance.","start") - call nar(">Hermione squeezes her breasts and shakes her hips slightly.","end") - - gen "Yes, [hermione_name]. Very good." ("base", xpos="far_left", ypos="head") - sna "*Ahem*! Acceptable performance, miss Granger." ("snape_12") - her "...................." ("angry", "happyCl", "worried", "mid") - gen "Heh..." ("base", xpos="far_left", ypos="head") - gen "So, how would you grade her tits?" ("base", xpos="far_left", ypos="head") - her "......" ("open", "wide", "base", "stare") - sna "*Hmm*......" ("snape_13") - her "........" ("annoyed", "narrow", "angry", "R") - sna "\"B+\"!" ("snape_12") - her "!!!" ("open", "wide", "base", "stare") - gen "Really?" ("base", xpos="far_left", ypos="head") - sna "Yes. I do give credit where credit is due." ("snape_12") - her "(Professor...)" ("annoyed", "closed", "base", "mid") - her "(Time for my finishing act then!)" ("open", "closed", "base", "mid") - pause.1 - - if hermione.is_worn("panties"): - pause.5 - $ hermione.strip("panties") - call nar(">Hermione bends over and slides her panties down.","start") - ">Her movements lack grace..." - ">But a pretty pussy is always a welcome sight nonetheless..." - call nar(">You show your appreciation by stroking your cock even faster...","end") - call ctc - - sna "Yes... Yes!!!" ("snape_18") - sna "Now shake those B+ titties for me, you harlot!" - her "......." ("angry", "happyCl", "worried", "mid") + nar "Hermione bends over and slides her panties down." + nar "Her movements lack grace..." + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") pause.5 - - call nar(">All of a sudden Hermione breaks into a series of rather complex pirouettes.") - sna "Yes, such grace..." ("snape_19") - sna "That lithe, flexible body!" ("snape_20") - her "........." ("grin", "narrow", "annoyed", "up") - sna "Oh, yes!" ("snape_20") - her "{size=-5}(Three-two-one... Three-two-one... And step!){/size}" ("grin", "narrow", "annoyed", "up") - call nar(">Hermione seems very focused on her dancing routine.") - sna "Yes, and now another pirouette!" ("snape_19") - sna "Magnificent!" - sna "I would applaud you but one of my hands is very busy at the moment." ("snape_13") - gen "{size=-4}(Was that an attempt at a joke?){/size}" ("base", xpos="far_left", ypos="head") - gen "{size=-4}(Man, horny Snape is weird...){/size}" ("base", xpos="far_left", ypos="head") - - her "" (animation=None) - call hide_characters - show screen blkfade - with d5 - - ">Hermione performs another set of movements and pirouettes..." - ">Gives a little curtsy bow to the imaginary audience..." - ">And then exhaustedly slumps down on her butt." - - call her_chibi("sit_naked","on_desk","on_desk") - - hide screen blktone - hide screen bld1 - hide screen blkfade - with d5 call ctc - her "Whew... This was--" ("open", "closed", "base", "mid") - with hpunch + nar "But a pretty pussy is always a welcome sight nonetheless..." + nar "Or a plump ass, in the case of the present company..." + else: + $ hermione.strip("clothes") - gen "*ARGH*! YOU FUCKING WHORE!" ("angry", xpos="far_left", ypos="head") - hide screen bld1 - with d3 + sna "Yes..." ("snape_20") + sna "Now shake that ass for me, you harlot!" + her "......." ("angry", "happyCl", "worried", "mid") + pause .5 - call cum_block - call gen_chibi("cum","behind_desk","base") - pause.2 + nar "All of a sudden, Hermione breaks into a series of rather complex pirouettes." + sna "Yes, such grace..." ("snape_20") + sna "That lithe, flexible body!" ("snape_20") + her "{size=-5}(Three-two-one... Three-two-one... And step!){/size}" ("grin", "closed", "angry", "mid") - $ hermione.set_cum(face="light") - pause 0.7 - $ hermione.set_cum(breasts="light") - pause 1 - $ hermione.set_cum(hair="light") + nar "Hermione seems very focused on her dancing routine." + + sna "Yes, and now another pirouette!" ("snape_20") + sna "Magnificent!" + + show screen blkfade + with d5 + + nar "She then performs another set of movements, and pirouettes..." + nar "Once finished, she gives a little curtsy bow to an imaginary audience..." + nar "And then exhaustedly slumps down onto the desk." + + call her_chibi("sit_naked","on_desk","on_desk") + + call hide_characters + hide screen blkfade + with d5 + call ctc + + sna "Good job, harlot!" ("snape_22") + her @ cheeks blush "............." ("soft", "narrow", "base", "R") + + if game.daytime: + sna "Well, my class is about to start, so I will be leaving now." ("snape_22") + sna "Don't you have potion class with me today, Miss Granger?" ("snape_22") + her @ cheeks blush "Yes..." ("disgust", "narrow", "base", "down") + sna "Well, don't be late, girl..." ("snape_22") + sna "Albus..." ("snape_02") + gen "See you soon, Severus." ("grin", xpos="far_left", ypos="head") + else: + sna "Well, it is getting rather late... I think I will be leaving now." ("snape_22") + sna "Good night, Albus." ("snape_22") + gen "Severus." ("base", xpos="far_left", ypos="head") + sna "Harlot." ("snape_22") + her "Professor..." ("disgust", "narrow", "base", "down") + + call sna_walk(action="leave") + pause.5 - her "??!!!" ("shock", "wide", "base", "stare") - her "" ("angry", "happyCl", "worried", "mid") - hide screen bld1 - with d3 - call ctc + gen "Good job, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("normal", "happyCl", "worried", "mid") + gen "Now then..." ("base", xpos="far_left", ypos="head") - sna "Good job, you harlot!" ("snape_18") - sna "Here is your reward!" ("snape_21") + jump hg_pf_strip_T4_snape_results +label hg_pf_strip_T4_snape_results: - call cum_block - call sna_chibi("cum","desk_close","desk_close") - pause.2 + if _wearing_clothes: + her "One moment, [name_genie_hermione]... Let me just put something on..." ("angry", "narrow", "base", "down") + if _masturbate_finished: + her "I'd also like to clean this off as soon as possible if you don't mind..." ("normal", "narrow", "worried", "mid") + gen "Certainly..." ("base", xpos="far_left", ypos="head") - $ hermione.set_cum(face="heavy") - pause 0.7 - $ hermione.set_cum(breasts="heavy", body="heavy") - pause 1 - $ hermione.set_cum(crotch="light") + else: + if _masturbate_finished: + her "One moment, [name_genie_hermione]... I'd like to clean myself as soon as possible..." ("normal", "narrow", "worried", "mid") + gen "Certainly..." ("base", xpos="far_left", ypos="head") + else: + her "One moment, [name_genie_hermione]... I just need a second to collect my thoughts..." ("normal", "narrow", "worried", "mid") + gen "Certainly..." ("base", xpos="far_left", ypos="head") - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare") - hide screen bld1 - with d3 - call ctc - sna "Oh... Yes..." ("snape_21") - gen "Little slut!" ("angry", xpos="far_left", ypos="head") - her "..............................." ("grin", "narrow", "annoyed", "up") + show screen blkfade + with d5 - sna "Ha-ha-ha! This is magnificent!" ("snape_21") - gen "I know, right!?" ("grin", xpos="far_left", ypos="head") + $ hermione.set_cum(None) + $ hermione.wear("all") + call hide_characters - call gen_chibi("cum_done","behind_desk","base") - call sna_chibi("cum_done","desk_close","desk_close") + call her_chibi("stand","desk","base", flip=False) - sna "Yes... We should do this more often." ("snape_22") - her "................." ("grin", "narrow", "annoyed", "up") + hide screen blkfade + with d3 - sna "Your performance was acceptable, miss Granger..." ("snape_20") - her "Thank you........." ("annoyed", "narrow", "base", "dead") - sna "But if I were to grade it..." ("snape_19") - her "..........." ("annoyed", "narrow", "base", "dead") - sna "*Hmm*...." ("snape_22") - her "............" ("annoyed", "narrow", "base", "dead") - sna "{size=+5}F+!{/size}" ("snape_10") - stop music - her "{size=+5}WHAT?!!!{/size}" ("shock", "wide", "base", "stare") - sna "Yes... Quite a few things could use some improvement actually." ("snape_09") - call play_music("chipper_doodle") - her "I cannot believe this!" ("clench", "base", "angry", "mid", emote="angry") - pause.5 + stop music fadeout 1.0 - call hide_characters - show screen blkfade - with d5 + gen "Ready?" ("base", xpos="far_left", ypos="head") + her "Yes, I'm ready [name_genie_hermione]." ("open", "closed", "base", "mid", trans=d3) + gen "I'd say that was a great success." ("base", xpos="far_left", ypos="head") + her "You think so, [name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "Most certainly." ("base", xpos="far_left", ypos="head") + gen "Now, why don't you tell me what you've learned?" ("base", xpos="far_left", ypos="head") - ">Hermione furiously jumps off your desk." - pause 2 - hide hermione_main + if _flogging_known: + her "Well, I've learned that he doesn't seem to have any problems with hitting his students..." ("open", "closed", "base", "mid") + gen "*Hmm*... I'd say that his statement isn't exactly conclusive enough to make that assumption." ("base", xpos="far_left", ypos="head") + her "*Hmph*... Perhaps..." ("annoyed", "narrow", "base", "R") + gen "Anything else?" ("base", xpos="far_left", ypos="head") - call sna_chibi("hold_dick","mid","base") - call gen_chibi("sit_behind_desk") - call her_chibi("stand","desk","base", flip=True) + if _potter_known: + her "I've learned that he finally stopped targeting Harry..." ("open", "closed", "base", "mid") + her "Probably due to being busy with all the favour trading..." ("annoyed", "narrow", "base", "R") + her "So I suppose there's at least one positive thing about those Slytherin girls whoring themselves out..." ("base", "narrow", "base", "R") + gen "Anything else?" ("base", xpos="far_left", ypos="head") - hide screen bld1 - hide screen blktone - hide screen blkfade - with d5 - call ctc + if _weasley_known: + her "I've learned that he's been eyeing up a student outside of Slytherin..." ("annoyed", "base", "base", "R") + gen "Really? What gave you that idea?" ("base", xpos="far_left", ypos="head") + her "From what he said about the Weasley twins..." ("annoyed", "narrow", "base", "mid") + her "Unless they've got some friend in Slytherin... Which I highly doubt..." ("open", "closed", "base", "mid") + her "He must've been talking about--" ("angry", "narrow", "base", "R") + gen "Yes?" ("base", xpos="far_left", ypos="head") + her "*Hmm*... Nevermind..." ("annoyed", "base", "base", "R") + gen "Anything else?" ("base", xpos="far_left", ypos="head") - her "I demand a higher grade than that!" ("soft", "base", "angry", "mid", xpos="right", ypos="base", flip=True) - sna "You do not demand a grade miss Granger, you earn it." ("snape_09") - her "I did earn it!" ("open", "base", "base", "R") - her "And could you at least have the decency to stop touching yourself, professor!" ("annoyed", "narrow", "angry", "R") - sna "*Tch*..." ("snape_12") - hide hermione_main - with d3 + if _butt_known: + her "I've learned that he's got absolutely zero depth perception..." ("annoyed", "narrow", "angry", "R") + gen "Really? What makes you say that?" ("base", xpos="far_left", ypos="head") + her "He called my butt dreadful!" ("open", "base", "angry", "mid") + her @ cheeks blush "And that it's like that of a boy's!" ("disgust", "closed", "angry", "mid") + if _watch: + gen "He did mention that your breasts exceeded his expectations." ("base", xpos="far_left", ypos="head") + her "He never commented on their size." ("annoyed", "base", "base", "mid") + gen "That is true..." ("base", xpos="far_left", ypos="head") + else: + gen "Yes, how could he say such things... That just isn't true." ("base", xpos="far_left", ypos="head") + her "Thank you [name_genie_hermione]... Although I was trying to get validated..." ("open", "base", "base", "R") + gen "Anything else?" ("base", xpos="far_left", ypos="head") - gen "(Are they for real?)" ("base", xpos="far_left", ypos="head") - hide screen bld1 - with d3 - pause.2 + her "*Hmm*... Let me think..." ("open", "base", "base", "R") - show screen blkfade - with d5 + if _masturbate: + if not states.her.ev.dance_for_me.snape_masturbate_stage1: + $ states.her.ev.dance_for_me.snape_masturbate_stage1 = True + her "Well... I learned that guys don't seem to mind masturbating together..." ("open", "narrow", "base", "R") + gen "I just thought I'd better see just how far he would go." ("base", xpos="far_left", ypos="head") + if states.her.tier < 5: + her "Quite far it appears..." ("annoyed", "narrow", "base", "mid") + her "If I hadn't ended it, he probably would've gone all the way..." ("angry", "narrow", "base", "down") + gen "I suppose we'll never know..." ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "base", "R") + else: + her "Well... I learned that you two masturbating over me has become a frequent occurrence..." ("open", "narrow", "base", "R") + gen "At least now you know just how far he's willing to go." ("base", xpos="far_left", ypos="head") + her "(Like I didn't know that already...)" ("annoyed", "narrow", "base", "mid") + if states.her.tier < 5: + her "Once again, I don't doubt he would've seen it through to the end, had I not ended it." ("open", "closed", "base", "mid") + gen "Well, you never know..." ("base", "base", "base", "mid") + her "..." ("annoyed", "narrow", "base", "R") + if _masturbate_finished: + if not states.her.ev.dance_for_me.snape_masturbate_stage2: + $ states.her.ev.dance_for_me.snape_masturbate_stage2 = True + if not states.her.status.cumshot: + $ states.her.status.cumshot = True #Cum on her body for the first time + her @ cheeks blush "Still... I've never let somebody do that to me before... Let alone two people." ("angry", "base", "base", "R") + gen "Do what?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Ejaculate...{w=0.4} On my body..." ("open", "narrow", "base", "down") + gen "I see..." ("base", xpos="far_left", ypos="head") + her "Oh well... At least now I know what Snape expects from something like this..." ("open", "closed", "base", "mid") + else: + her @ cheeks blush "Even then, I didn't think that you'd go as far as finishing on me..." ("angry", "base", "base", "mid") + her "Although in hindsight, I probably should've known..." ("open", "narrow", "base", "R") + else: + her @ cheeks blush "I'm not really sure why I allowed it to go all the way to you both finishing on me again..." ("annoyed", "base", "base", "mid") + her "I already know just how much Snape expects from a student performing a task like this." ("open", "closed", "base", "mid") + gen "Then more the reason to see it through." ("base", xpos="far_left", ypos="head") + her "I suppose..." ("open", "narrow", "base", "R") - ">You watch Snape with his dick still hanging out and the cum-covered Hermione argue loudly about her imaginary grade." - ">After a while Professor Snape agrees to change Hermione's grade from \"F+\" to \"D-\"." - ">Then he beats a hasty retreat before Hermione has a chance to start another argument." - pause 1 + if _watch: + gen "Did Severus act the way you expected?" ("base", xpos="far_left", ypos="head") + her "Yes, he's just as self-absorbed and perverted as he's ever been." ("open", "narrow", "angry", "mid") + random: + her "Calling a girl a harlot... Such a typical thing for him to say..." ("angry", "narrow", "angry", "R") + her "There's no doubt, with how easily he threw out terms like \"shake those titties, you harlot\", that the Slytherin girls must be shaking theirs at him frequently." ("angry", "narrow", "angry", "R") + her "He barely flinched when I squeezed my breasts, which tells me he's used to that sort of thing..." ("angry", "narrow", "angry", "R") + block: + her "The way he carries himself, is of a man who expects his students to act a certain way... I almost feel sorry for the Slytherin girls..." ("angry", "narrow", "angry", "R") + her "Almost." ("base", "narrow", "angry", "R") - call sna_chibi("stand","mid","base", flip=True) - hide screen blkfade - with d5 + if states.her.tier == 4: + her "May I have my points now?" ("open", "closed", "base", "mid") + gen "Certainly." ("base", xpos="far_left", ypos="head") + else: + gen "Alright then, I believe that we're done here for today." ("base", xpos="far_left", ypos="head") + gen "Unless there's anything else?" ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "base", "R") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Oh... No, not that I can think of at this moment, [name_genie_hermione]." ("angry", "base", "base", "mid") + gen "Very well... You've certainly earned your points today." ("base", xpos="far_left", ypos="head") + her "Oh, right... The points..." ("angry", "mid", "base", "mid") - call sna_walk(action="leave") - pause.5 - - call her_chibi("stand","desk","base") - pause.2 - - her "Well..." ("annoyed", "base", "worried", "R", xpos="mid", ypos="base", flip=False) - her "Was our mission a success, [genie_name]?" - - menu: - gen "..." ("base", xpos="far_left", ypos="head") - "\"*huh*? What mission?\"": - $ her_mood += 7 - her "I only agreed to this so that you could catch professor Snape in the act, [genie_name]!" ("scream", "happyCl", "worried", "mid") - her "So that we would have definite proof that he is \"dirty\"!" ("normal", "happyCl", "worried", "mid") - gen "Oh, that mission..." ("base", xpos="far_left", ypos="head") - gen "Yes. Mission accomplished!" ("base", xpos="far_left", ypos="head") - "\"Yes! Thanks to you!\"": - pass - - gen "Good job, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I am happy to have been of help, [genie_name]!" ("normal", "happyCl", "worried", "mid") - pause.5 - show screen blkfade - with d5 - - her "... Can I get paid now, please?" ("angry", "happyCl", "worried", "mid", emote="sweat", ypos="head", flip=False) - - jump end_hg_pf_strip + jump end_hg_pf_strip diff --git a/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy b/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy index 66a23743..376f51e7 100644 --- a/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy +++ b/game/scripts/characters/hermione/events/favors/give_me_a_handy.rpy @@ -2,27 +2,25 @@ ### Hermione Handjob ### -label hg_pf_handjob: +label start_hg_pf_handjob: - if hg_pf_handjob.counter == 0: + if not _events_completed_any: gen "{size=-4}(Should I ask her for a handjob?){/size}" ("base", xpos="far_left", ypos="head") - else: - gen "{size=-4}(I feel like getting another handjob!){/size}" ("base", xpos="far_left", ypos="head") - if hg_pf_handjob.counter < 1: menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu - # Start Event $ current_payout = 45 - $ hg_pf_handjob.start() + return +label hg_pf_handjob_fail: + jump end_hermione_event - # End Event - label end_hg_pf_handjob: +label end_hg_pf_handjob: # Setup stop music fadeout 1.0 @@ -37,49 +35,110 @@ label hg_pf_handjob: call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) else: - her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + her "" ("soft", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) # Points - if her_tier <= 5: - gen "Yes, [hermione_name]. {number=current_payout} to Gryffindor." ("base", xpos="far_left", ypos="head") + if states.her.tier <= 5: + gen "Here you go, [name_hermione_genie]... {number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") + gen "You may leave now." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout else: - gen "You may leave now, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You may leave now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]..." ("soft", "base", "base", "R") - - if game.daytime: - her "I better go. My classes are about to start." - else: - her "I'd better go now. It's getting pretty late..." + her "Thank you, [name_genie_hermione]..." ("soft", "squint", "base", "R") # Hermione leaves call her_walk(action="leave") # Increase level - if her_tier == 4: - if her_whoring < 18: # Points til 18 - $ her_whoring += 1 - if her_tier == 5: - if her_whoring < 21: # Points til 21 - $ her_whoring += 1 + if states.her.tier == 4: + if states.her.level < 18: # Points til 18 + $ states.her.level += 1 + if states.her.tier == 5: + if states.her.level < 21: # Points til 21 + $ states.her.level += 1 jump end_hermione_event ### Fail Events ### -label hg_pf_handjob_fail: +label hg_pf_handjob_T1_E1: + + call start_hg_pf_handjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") - gen "Do you know what a \"handjob\" is?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "How about you put your dainty little hands on my cock..." ("base", xpos="far_left", ypos="head") + gen "And give it a rub." ("base", xpos="far_left", ypos="head") + her "!!!" ("shock", "wide", "base", "stare") + gen "[name_genie_hermione]?" ("base", xpos="far_left", ypos="head") + gen "Hello?" + her "*Gulp*" ("angry", "closed", "base", "mid") + her "I'm sorry, [name_genie_hermione]... But I believe I must've misheard you." ("open", "closed", "base", "mid") + her "I'm sure you didn't just request what I think you did." ("base", "base", "base", "mid") + her "If you could please repeat your request, I'm sure we can work something out." ("base", "base", "base", "mid") + gen "Oh, of course..." ("base", xpos="far_left", ypos="head") + gen "One handjob please." ("base", xpos="far_left", ypos="head") + her "!!!" ("shock", "wide", "base", "stare") + her "I think I better leave." ("angry", "happyCl", "worried", "mid") - $ hg_pf_handjob.fail_intentional() + call her_walk(action="leave") - jump too_much + gen "(*Hmm*... Perhaps she's worried that her hand isn't big enough...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 10 + + jump hg_pf_handjob_fail + +label hg_pf_handjob_T2_E1: + + call start_hg_pf_handjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("base", "base", "base", "mid") + gen "Today, I require you to give me a hand--" ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]! Gryffindor could really do with some points right now!" ("base", "base", "base", "mid") + gen "I appreciate the enthusiasm, but I wasn't done speaking..." ("base", xpos="far_left", ypos="head") + her "Sorry, [name_genie_hermione]... What would you like me to give you a hand with?" ("angry", "base", "base", "mid") + gen "I'd like you to use your hands... To rub my cock." ("base", xpos="far_left", ypos="head") + her "Rub your--" ("shock", "wide", "base", "stare") + gen "That's right..." ("base", xpos="far_left", ypos="head") + gen "I'll be sure to award Gryffindor--" ("base", xpos="far_left", ypos="head") + her "I think I better leave." ("angry", "happyCl", "worried", "mid") + + call her_walk(action="leave") + + gen "(Did she not just say that she needed the points?)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 8 + + jump hg_pf_handjob_fail + +label hg_pf_handjob_T3_E1: + + call start_hg_pf_handjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "For today's favour... I need you to rub my cock." ("base", xpos="far_left", ypos="head") + her "Your...{w=0.4} Cock!?!" ("angry", "base", "worried", "mid") + gen "That's right..." ("base", xpos="far_left", ypos="head") + her "You must be referring to your Phoenix, right?" ("angry", "base", "base", "mid") + gen "If that's what you want to call my penis, sure!" ("base", xpos="far_left", ypos="head") + her "That's not--{w=0.2} I think, I better leave..." ("angry", "happyCl", "worried", "mid") + + call her_walk(action="leave") + + gen "(*Hmm*... She must've gone to fetch some lubricant...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 6 + + jump hg_pf_handjob_fail ### Tier 4 ### @@ -88,93 +147,112 @@ label hg_pf_handjob_fail: # Event 3 (r) - label hg_pf_handjob_T4_intro_E1: + + call start_hg_pf_handjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid") gen "Do you know what a \"handjob\" is?" ("base", xpos="far_left", ypos="head") her "Why?" ("annoyed", "narrow", "annoyed", "mid") gen "I feel like getting one..." ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "base", "angry", "mid") - gen "Just another favour. No big deal, right?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]!" ("angry", "base", "angry", "mid") + gen "It's just another favour... No big deal, right?" ("base", xpos="far_left", ypos="head") her "......" ("disgust", "narrow", "base", "mid_soft") her "{size=-7}I want a hundred house points for this...{/size}" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "*huh*? What was that?" ("base", xpos="far_left", ypos="head") + gen "What was that?" ("base", xpos="far_left", ypos="head") her "I want a hundred house points for this!!!" ("scream", "happyCl", "worried", "mid") her "" ("clench", "happyCl", "worried", "mid") - gen "A Hundred house points, *huh*?" ("base", xpos="far_left", ypos="head") + gen "A hundred house points, *huh*?" ("base", xpos="far_left", ypos="head") gen "And you will stroke my cock and everything?" ("base", xpos="far_left", ypos="head") - her "{size=-7}Yes...{/size}" ("disgust", "narrow", "base", "mid_soft") + her "{size=-7}Yes...{/size}" ("soft", "narrow", "angry", "down") gen "Sorry, I couldn't hear you..." ("base", xpos="far_left", ypos="head") - her "Yes, I said yes! I will stroke your stupid cock, [genie_name]!" ("scream", "happyCl", "worried", "mid") + her "Yes, I said yes! I will stroke your stupid cock, [name_genie_hermione]!" ("scream", "happyCl", "worried", "mid") her "" ("upset", "narrow", "angry", "R") - label back_to_handjob_choices: + $ _refused = False + + label .choices: menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"You will get fifteen house points.\"": - $ her_mood += 7 - her "For fifteen house points I suppose I could let you molest me a little, but that is all you'll be getting, [genie_name]." ("annoyed", "narrow", "angry", "R") + "\"You will get fifteen house points.\"" if not _refused: + $ _refused = True + $ states.her.mood += 7 + her "For fifteen house points I suppose I could let you molest me a little, but that is all you'll be getting, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") her "I will not stoop as low as to sell handjobs for fifteen house points." - her "That is just insulting, [genie_name]." + her "That is just insulting, [name_genie_hermione]." - jump back_to_handjob_choices + jump .choices "\"You will get forty-five house points.\"": - $ her_mood += 3 - her "....." ("annoyed", "narrow", "angry", "R") - her "{number=current_payout} house points...?" ("open", "narrow", "worried", "down") - her "This could put Gryffindor back in the lead..." + $ states.her.mood += 3 + her "....." ("soft", "narrow", "angry", "R") + her "{number=current_payout} house points...?" ("open", "happy", "worried", "R") + her "This could put Gryffindor back in the lead..." ("open", "narrow", "worried", "down") gen "Is that a \"yes\"?" ("base", xpos="far_left", ypos="head") - her "Yes, it is a yes, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") + her "That's a yes, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") gen "Great!" ("base", xpos="far_left", ypos="head") pass "\"You will get one hundred house points.\"": - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. $ current_payout = 100 her "{number=current_payout} points?!" ("scream", "wide", "base", "mid") her "This will definitely put Gryffindor in the lead!" gen "Is that a \"yes\" then?" ("base", xpos="far_left", ypos="head") her "Of course!" ("smile", "happyCl", "base", "mid") - her "If it will bring Gryffindor a hundred house points, I don't mind touching your... thing a little." ("smile", "happyCl", "base", "mid", emote="happy") + her "If I could earn Gryffindor a hundred house points, then I don't mind touching your... Thing, a little." ("smile", "happyCl", "base", "mid", emote="happy") pass jump hg_pf_handjob_1 label hg_pf_handjob_T4_intro_E2: + + call start_hg_pf_handjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") gen "Do you know what a \"handjob\" is?" ("base", xpos="far_left", ypos="head") - her "You have asked me that already, [genie_name]." ("disgust", "narrow", "base", "mid_soft") + her "You've asked me that already, [name_genie_hermione]." ("disgust", "narrow", "base", "mid_soft") gen "Ah, that's right." ("base", xpos="far_left", ypos="head") gen "Well, I want you to play with my cock again." ("base", xpos="far_left", ypos="head") - her "[genie_name], you are being vulgar again..." ("upset", "closed", "base", "mid") + her "[name_genie_hermione], you are being vulgar again..." ("upset", "closed", "base", "mid") gen "Fine, fine." ("base", xpos="far_left", ypos="head") - gen "[hermione_name], I would like to buy another favour from you today." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("annoyed", "narrow", "angry", "R") - gen "The favour being you playing with my cock!" ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie], I would like to buy another favour from you today." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") + gen "The favour being, you, handling my penis!" ("grin", xpos="far_left", ypos="head") her ".............." ("disgust", "narrow", "base", "mid_soft") - gen "Oh, come on. For the honour of Gryffindor?" ("base", xpos="far_left", ypos="head") + gen "Oh, come on [name_hermione_genie]... For the honour of Gryffindor?" ("base", xpos="far_left", ypos="head") her "............." ("angry", "base", "angry", "mid") - gen "Play with my cock for the honour of the Gryffindor, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - her "Stop saying that, [genie_name]..." ("scream", "base", "angry", "mid", emote="angry") - gen "Come on [hermione_name], it's not like I'm asking you to do this for free." ("base", xpos="far_left", ypos="head") - her "......." ("annoyed", "narrow", "angry", "R") + gen "Play with my cock, for the honour of the Gryffindor house, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + her "Stop saying that, [name_genie_hermione]..." ("scream", "base", "angry", "mid", emote="angry") + gen "Come off it [name_hermione_genie], it's not like I'm asking you to do this for free." ("base", xpos="far_left", ypos="head") + her "" ("normal", "narrow", "angry", "mid") + gen "I'm sure the Slytherin girls have no issue doing it...{w=0.4} In fact, they're probably being showered in house points as we speak!" ("base", xpos="far_left", ypos="head") + her "{size=-4}That is not the kind of shower that I'm worried about...{/size}" ("soft", "narrow", "angry", "R") + gen "What was that?" ("base", xpos="far_left", ypos="head") + her "Nothing, [name_genie_hermione]..." ("open", "narrow", "angry", "R") + gen "So, what will it be [name_hermione_genie]? It's all up to you..." ("base", xpos="far_left", ypos="head") + her "......{w=0.3}{nw}" ("annoyed", "narrow", "angry", "R") + her "......{fast}...." ("disgust", "narrow", "angry", "down") jump hg_pf_handjob_1 label hg_pf_handjob_T4_repeat: + + call start_hg_pf_handjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") gen "How would you like to give me another handjob?" ("base", xpos="far_left", ypos="head") - her "..............." ("upset", "base", "angry", "mid") - her "Will I be getting paid for it, [genie_name]?" ("open", "base", "angry", "mid") + her "..............." ("upset", "base", "worried", "mid") + her "Will I be getting paid for it, [name_genie_hermione]?" ("open", "base", "worried", "R") gen "Of course. {number=current_payout} points." ("base", xpos="far_left", ypos="head") - her "........................." ("upset", "narrow", "angry", "R") + her "...{w} Alright then." ("upset", "narrow", "angry", "R") jump hg_pf_handjob_1 @@ -184,38 +262,49 @@ label hg_pf_handjob_T4_repeat: # Event 3 (r) - label hg_pf_handjob_T5_intro_E1: - her "[genie_name]?" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") + + call start_hg_pf_handjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") gen "You don't mind giving me another handjob, do you?" ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("upset", "narrow", "worried", "down") - her "As long as I am getting paid..." ("grin", "base", "base", "R") - gen "Well, then. Time to earn those points." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]... I don't mind." ("base", "squint", "base", "mid") + her @ cheeks blush "I mean... As long as I am getting paid, of course." ("angry", "squint", "base", "stare") + gen "Well, then... Time to earn those points." ("base", xpos="far_left", ypos="head") jump hg_pf_handjob_2 label hg_pf_handjob_T5_intro_E2: - her "[genie_name]?" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") + + call start_hg_pf_handjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "base", "base", "mid") gen "You don't mind giving me another handjob, do you?" ("base", xpos="far_left", ypos="head") - her "I guess not, [genie_name]..." ("grin", "narrow", "worried", "down") - her "..................." ("clench", "base", "base", "R") + her "I suppose I don't, [name_genie_hermione]..." ("soft", "narrow", "worried", "down") + her "..................." ("clench", "narrow", "base", "down") + gen "Great, then let's get started..." ("base", xpos="far_left", ypos="head") jump hg_pf_handjob_2 label hg_pf_handjob_T5_repeat: - her "[genie_name]?" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") - gen "You don't mind giving me another handjob, do you?" ("base", xpos="far_left", ypos="head") - her "Of course not, [genie_name]..." ("grin", "base", "base", "R") + + call start_hg_pf_handjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") + gen "I'd like another handjob, if you don't mind." ("base", xpos="far_left", ypos="head") + her "Certainly, [name_genie_hermione]..." ("base", "base", "base", "R") jump hg_pf_handjob_2 -### First Tier Handjob ### +### Tier 4 Handjob ### label hg_pf_handjob_1: + $ states.her.status.handjob = True stop music fadeout 4.0 call hide_characters show screen blkfade @@ -228,255 +317,314 @@ label hg_pf_handjob_1: with fade pause.8 - call play_music("playful_tension") # SEX THEME. - her "..........." ("disgust", "narrow", "worried", "down", ypos="head", flip=False) - gen "Whenever you're ready, [hermione_name]." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her "..........." ("disgust", "narrow", "worried", "down", xpos="base", ypos="head", flip=False) + gen "Whenever you're ready, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + + if hermione.is_any_worn("robe"): + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("robe") + her "......................." ("disgust", "happyCl", "worried", "mid") pause.1 call her_chibi_scene("hj_pause", trans=d9) pause.8 - call nar(">Hermione puts her slender hands on your cock...") + nar "Hermione puts her slender hands on your cock..." - call bld - gen "Good. Now stroke it." ("base", xpos="far_left", ypos="head") + gen "Good...{w=0.4} Now stroke it." ("base", xpos="far_left", ypos="head") her "Right..." ("angry", "happyCl", "worried", "mid", emote="sweat") call her_chibi_scene("hj", trans=d5) call ctc - call play_music("playful_tension") # SEX THEME. - call bld + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "Nice..." ("grin", xpos="far_left", ypos="head") - if hg_pf_handjob.counter == 1: + if not _events_completed_any: her "!!!" ("shock", "wide", "base", "stare") - her "Are you about to finish, [genie_name]?!" + her "Are you about to finish, [name_genie_hermione]?!" ("mad", "wide", "base", "stare") gen "About to finish?" ("base", xpos="far_left", ypos="head") - gen "Don't be ridiculous [hermione_name], we are just getting started." ("base", xpos="far_left", ypos="head") + gen "Don't be ridiculous [name_hermione_genie], we are just getting started." ("base", xpos="far_left", ypos="head") her "Oh..." ("angry", "happyCl", "worried", "mid", emote="sweat") - her "......" - her "You will give me a warning though, won't you, [genie_name]?" ("upset", "wink", "base", "mid") + her "......" ("angry", "happyCl", "worried", "mid") + her "You will give me a warning, won't you, [name_genie_hermione]?" ("upset", "wink", "base", "mid") else: - her "[genie_name]...?" ("angry", "happyCl", "worried", "mid", emote="sweat") + her "[name_genie_hermione]...?" ("angry", "happyCl", "worried", "mid", emote="sweat") gen "What is it?" ("base", xpos="far_left", ypos="head") - her "Will you warn me before... *uhm*... you know..." ("angry", "happyCl", "worried", "mid", emote="sweat") + her "Will you warn me before...{w=0.4} *Ehm*...{w=0.4} you know..." ("angry", "happyCl", "worried", "mid", emote="sweat") - $ d_flag_01 = False #If TRUE Genie promised to warn her. + $ _promise = False #If TRUE Genie promised to warn her. menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"Of course I'll let you know when it's time.\"": - $ d_flag_01 = True #If TRUE Genie promised to warn her. - her "Thank you, [genie_name]." ("normal", "happyCl", "worried", "mid") + "\"Of course, I'll let you know when it's time.\"": + $ _promise = True #Genie promised to warn her + her "Thank you, [name_genie_hermione]." ("normal", "happyCl", "worried", "mid") "\"I myself don't always know when...\"": - her "Really? But I thought..." ("open", "base", "base", "mid") - her "Well, never mind then..." ("normal", "happyCl", "worried", "mid") + her "Really? But I thought..." ("disgust", "squint", "worried", "mid") + her "Well, never mind then..." ("annoyed", "closed", "worried", "mid") - her "........" ("open", "base", "base", "mid") + her "........" ("open", "squint", "base", "R") gen "............." ("base", xpos="far_left", ypos="head") - her "............." ("normal", "happyCl", "worried", "mid") - her "*ehh*... [genie_name]?" + her "............." ("normal", "squint", "worried", "mid") + her "*Ehm*...{w=0.4} [name_genie_hermione]?" ("open", "happy", "worried", "mid") gen "Yes, what is it?" ("base", xpos="far_left", ypos="head") - her "How long do you think this will take?" ("open", "base", "base", "mid") + her "How long do you think this will take?" ("angry", "base", "worried", "mid") gen "Why?" ("base", xpos="far_left", ypos="head") if game.daytime: her "Well, it's just that my classes are about to start..." ("upset", "wink", "base", "mid") else: her "Well, it's just that I have this paper that I need to finish..." ("upset", "wink", "base", "mid") - her "It's due tomorrow, and it's getting pretty late..." + her "It's due tomorrow, and it's getting pretty late..." ("upset", "wink", "base", "mid") - gen "Do you need the points or not?" ("base", xpos="far_left", ypos="head") - her "I do, [genie_name]! I'm sorry..." ("base", "happyCl", "base", "mid") - her "I will just keep on stroking it then..." - gen "Well, there is something you could do to speed up the process..." ("base", xpos="far_left", ypos="head") - her "Really? What is it [genie_name]?" ("base", "base", "base", "mid") + gen "Then don't you think you should focus more on your task?" ("base", xpos="far_left", ypos="head") + her "Right, [name_genie_hermione]! I'm sorry..." ("angry", "happyCl", "base", "mid") + her "I will just keep on stroking it then..." ("angry", "happyCl", "base", "mid") + gen "That said...{w=0.4} There is something you could do to accelerate the process..." ("base", xpos="far_left", ypos="head") + her "Really? What is it [name_genie_hermione]?" ("soft", "squint", "base", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Tell me how much of a whore you are!\"": - her "What?" ("angry", "base", "angry", "mid") - her "But I'm not..." - gen "No need to be honest, [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "Just make things up." ("base", xpos="far_left", ypos="head") - her "Really?" ("upset", "wink", "base", "mid") - gen "Sure. Just have fun with it." ("base", xpos="far_left", ypos="head") - her "Well, in that case..." ("open", "narrow", "worried", "down") - her "I am a... whore." - gen "Heh... good. Go on." ("base", xpos="far_left", ypos="head") - her "I am a big whore..." ("open", "narrow", "worried", "down") + her "{size=+4}What?!?{/size}" ("clench", "base", "worried", "stare") + her "I am not a whore!" ("angry", "base", "angry", "mid") + menu: + "\"That is not what I said.\"": + her "But, you--" ("disgust", "base", "angry", "mid") + gen "You asked me what would accelerate the process, and I gave you an--" ("base", xpos="far_left", ypos="head") + her "Hold on... You want me to make things up, and degrade myself?" ("angry", "narrow", "worried", "mid") + her "And that's supposed to assist... Calling myself a..." ("disgust", "base", "worried", "mid") + gen "That's right [name_hermione_genie]... If you want me to finish quicker, then I need you to degrade yourself." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "base", "down") + gen "Go on, [name_hermione_genie]...{w=0.4} I'm sure you won't find it that difficult." ("base", xpos="far_left", ypos="head") + "\"Well, that's up for debate.\"": + her "[name_genie_hermione]!" ("angry", "narrow", "angry", "mid") + gen "Either way, if you want to accelerate the process..." ("base", xpos="far_left", ypos="head") + gen "Then I want you to call yourself a \"whore\", or a \"slut\", you could also throw a \"harlot\" or two in there for good measure." ("base", xpos="far_left", ypos="head") + her "So, you want me to make up naughty and degrading things to say about myself?" ("annoyed", "base", "worried", "R") + gen "Sure, make things up..." ("base", xpos="far_left", ypos="head") + "\"{size=-4}Whore says \"what?\"{/size}\"": + her "What?" ("angry", "base", "worried", "mid") + gen "*Heh-heh*..." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "happy", "base", "stare") + her "Why, I never..." ("annoyed", "narrow", "annoyed", "R") + gen "Come off it, [name_hermione_genie]... I'm not asking you to speak with honesty." ("base", xpos="far_left", ypos="head") + gen "Surely you've heard of dirty talk before..." ("base", xpos="far_left", ypos="head") + her "Dirty talk? That's what you want?" ("annoyed", "narrow", "annoyed", "mid") + gen "That's right... Just make things up, and have fun with it." ("base", xpos="far_left", ypos="head") + her "*Hmph*...{w=0.4} Alright then...{w=0.4} I'll do it." ("normal", "narrow", "annoyed", "R") + her "As long as you promise not to think of me differently, afterwards..." ("open", "closed", "annoyed", "R") + gen "Certainly, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Say it [name_genie_hermione], tell me that you promise!" ("angry", "narrow", "annoyed", "mid") + gen "Alright, alright...{w=0.4} I promise I won't think of you differently." ("base", xpos="far_left", ypos="head") + gen "(You'll always be a whore in my mind.)" ("base", xpos="far_left", ypos="head") + her "Alright... Good..." ("base", "closed", "base", "mid") + call ctc + her @ cheeks blush "......." ("normal", "closed", "base", "mid") + her @ cheeks blush "I--{w=0.2} I'm a whore..." ("open", "closed", "base", "mid") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I am a big whore..." ("open", "narrow", "annoyed", "down") gen "Yes, you are." ("base", xpos="far_left", ypos="head") - her "I am the biggest whore in England!" ("annoyed", "narrow", "annoyed", "mid") - her "I try to act innocent, but in truth all I think about is cock!" - gen "Yes, you little slut!" ("base", xpos="far_left", ypos="head") - her "Yes! I am a slut!" ("annoyed", "narrow", "angry", "R") - her "I crave cock all the time." + her @ cheeks blush "I am the biggest whore in the United Kingdom!" ("mad", "squint", "worried", "mid") + her @ cheeks blush "I try to act innocent, but the truth is, all I think about... is cock!" ("angry", "narrow", "worried", "mid") + gen "Yes, you do, you little slut!" ("base", xpos="far_left", ypos="head") + her "Yes, that's right! I am a slut!" ("angry", "squint", "worried", "R") + her "I crave cock...{w=0.4} {size=-4}All the time!{/size}" ("angry", "closed", "worried", "mid") gen "Very nice!" ("base", xpos="far_left", ypos="head") - gen "But, like I said, you don't have to be honest." ("base", xpos="far_left", ypos="head") + gen "But you don't have to be truthful, you can make things up." ("base", xpos="far_left", ypos="head") her "What?" ("shock", "wide", "base", "stare") - her "[genie_name], those things I say are not true!" ("upset", "wink", "base", "mid") - gen "Heh... I know. I'm just messing with you." ("grin", xpos="far_left", ypos="head") - her "[genie_name]!" ("disgust", "narrow", "base", "mid_soft") - gen "You are doing a great job, though. Keep at it!" ("base", xpos="far_left", ypos="head") - her "....." ("open", "narrow", "worried", "down") - her "I love cock..." - her "And I love... spunk..." ("clench", "narrow", "base", "down") - her "And semen... and sperm..." - her "I love to drink sperm..." - her "I want you to feed me your sperm, [genie_name]!" ("open_tongue", "narrow", "base", "mid_soft") - gen "!!!" ("angry", xpos="far_left", ypos="head") - her "Or better yet, pump me full of it, [genie_name]!" ("smile", "narrow", "base", "mid_soft") - with hpunch - gen "{size=-4}(Here it comes! Should I warn her?){/size}" ("angry", xpos="far_left", ypos="head") + her "[name_genie_hermione], those things I said aren't true!" ("disgust", "squint", "annoyed", "mid") + her "You--{w=0.2} You promised you wouldn't--" ("disgust", "squint", "angry", "mid") + gen "*He-Heh*... Don't worry [name_hermione_genie], I'm just messing with you." ("grin", xpos="far_left", ypos="head") + her "[name_genie_hermione]!" ("angry", "narrow", "worried", "mid") + gen "As a matter of fact, you are doing an excellent job... Keep at it, and we'll be done in no time!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "(*Hmph*... I'd rather finish this now...)" ("disgust", "narrow", "worried", "down") + her @ cheeks blush "..." ("soft", "narrow", "worried", "down") + her @ cheeks blush "I--{w=0.2} I love cock..." ("open", "narrow", "worried", "down") + her @ cheeks blush "And I love...{w=0.4} Spunk..." ("clench", "narrow", "base", "down") + her @ cheeks blush "And semen... And sperm..." ("clench", "narrow", "base", "down") + gen "Those are all the same--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I love to drink sperm..." ("clench", "narrow", "base", "down") + gen "Really?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I want you to feed me your sperm, [name_genie_hermione]!" ("open_tongue", "narrow", "base", "mid_soft") + gen "You do?!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "Or better yet, pump me full of it, [name_genie_hermione]!" ("open_wide_tongue", "happy", "worried", "mid_soft") + gen "Of course I will!" ("angry", xpos="far_left", ypos="head") - "\"Stick your tongue out and look at me!\"": - her "What?" ("base", "base", "base", "mid") - gen "Just do it, slut." ("base", xpos="far_left", ypos="head") - her "Like this?" ("open_wide_tongue", "happy", "base", "R") - gen "Yes, good. Keep looking into my eyes and stroke my cock." ("base", xpos="far_left", ypos="head") - her "....................." ("open_wide_tongue", "base", "base", "mid") - gen "Yes... Good..." ("base", xpos="far_left", ypos="head") - her "..........." ("open_wide_tongue", "base", "base", "mid") - her "..........." - her "I can't keep my mouth open for so long, [genie_name]. I will start to drool..." ("open", "base", "base", "mid") - gen "But I want you to drool..." ("base", xpos="far_left", ypos="head") - her "What? But I will look silly!" ("open", "base", "base", "mid") - gen "That's the point, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "......." ("annoyed", "base", "worried", "R") - gen "Don't you want to be done with this as soon as possible?" ("base", xpos="far_left", ypos="head") - her "............" ("normal", "happyCl", "worried", "mid") - her "A-ha..." ("open_wide_tongue", "base", "base", "mid") - gen "Good, [hermione_name]." ("base", xpos="far_left", ypos="head") - her ".............." ("open_wide_tongue", "base", "base", "mid") - gen "Yes, keep on stroking my cock." ("base", xpos="far_left", ypos="head") - her ".................." ("open_wide_tongue", "base", "base", "mid") - gen "Oh... I just want to slide my cock into that wet hole of a mouth of yours!" ("angry", xpos="far_left", ypos="head") - her "................." ("open_wide_tongue", "closed", "angry", "mid") - gen "No, keep on looking at me!" ("base", xpos="far_left", ypos="head") - her "....................." ("open_wide_tongue", "base", "base", "mid") - gen "Yes, you little slut!" ("base", xpos="far_left", ypos="head") - her "......................" ("open_wide_tongue", "base", "angry", "mid") - gen "I want to cum in that mouth, yes..." ("base", xpos="far_left", ypos="head") - her "................" ("open_wide_tongue", "base", "angry", "mid") - with hpunch - gen "{size=-4}(Here it comes! Should I warn her?){/size}" ("angry", xpos="far_left", ypos="head") + "\"Stick your tongue out, and look at me!\"": + her "What?" ("clench", "happy", "base", "mid") + gen "Just do it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "..." ("soft", "happy", "worried", "mid") + her "*Ike Is*?" ("open_wide_tongue", "happy", "worried", "mid") + gen "Yes, very good... Now, keep your tongue just like that, and look into my eyes..." ("base", xpos="far_left", ypos="head") + her "....................." ("open_wide_tongue", "base", "worried", "mid") + gen "Yes [name_hermione_genie]... Just like that..." ("base", xpos="far_left", ypos="head") + her "..........." ("open_wide_tongue", "happy", "worried", "mid") + her "..........." ("open_wide_tongue", "narrow", "worried", "down") + her "I can't keep my mouth open for so long, [name_genie_hermione]... Or I'll end up drooling all over myself." ("disgust", "happy", "worried", "mid") + gen "But I want you to drool all over yourself..." ("base", xpos="far_left", ypos="head") + her "What? But I will look silly!" ("angry", "base", "worried", "stare") + gen "That's the point, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "......." ("disgust", "base", "worried", "mid") + gen "Go on, [name_hermione_genie], or did you not want to speed things up after all?" ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "angry", "down") #Looks at Genie as if saying "fine" + gen "Good...{w=0.4} Now, open your mouth, and let me see that tongue..." ("base", xpos="far_left", ypos="head") + her "............" ("normal", "narrow", "worried", "mid") + her "A-ha..." ("open_wide_tongue", "narrow", "worried", "mid") + gen "Excellent..." ("base", xpos="far_left", ypos="head") + her ".............." ("open_wide_tongue", "happy", "base", "mid") + gen "Yes... Keep stroking, and drool over my cock." ("base", xpos="far_left", ypos="head") + her ".................." ("open_wide_tongue", "happy", "worried", "R") + gen "Oh, your tongue just makes me want to slide my cock into that wet hole of yours!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "................." ("open_wide_tongue", "narrow", "worried", "R") + gen "No, keep on looking at me [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "....................." ("open_wide_tongue", "base", "worried", "R") + her @ cheeks blush ".....................{fast}" ("open_wide_tongue", "base", "worried", "mid") + gen "That's it, you little slut!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "......................" ("open_wide_tongue", "base", "angry", "stare") + gen "Let me just--{w=0.2} *Ngh*...{w=0.4} Pump that gaping hole full of cum...{w=0.4} Until it overflows, and slides--{w=0.2} Down your neck!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "................" ("open_wide_tongue", "narrow", "angry", "mid") - "\"Give my cock a kiss!\"": - her "Excuse me?" ("angry", "base", "angry", "mid") - gen "You know, just a little kiss, right on the tip." ("base", xpos="far_left", ypos="head") - her "............." ("angry", "base", "angry", "mid") - her "... with my lips?" ("shock", "wide", "base", "stare") - gen "Sure... That will speed things up, I'm telling you." ("base", xpos="far_left", ypos="head") - her "*sigh!*.............." ("open", "narrow", "worried", "down") - her "Well, I might as well, I suppose..." + gen "But first, give my cock a kiss!" ("base", xpos="far_left", ypos="head") + her "Excuse me?" ("angry", "base", "angry", "mid") + gen "You know, just a little kiss, right on the tip." ("base", xpos="far_left", ypos="head") + her "............." ("angry", "narrow", "angry", "mid") + her "...{w=0.4} With my lips?" ("angry", "narrow", "annoyed", "down") + gen "What else would you--" ("base", xpos="far_left", ypos="head") + her "..." ("angry", "base", "worried", "mid") + gen "I mean, sure! That will speed things up, I'm telling you!" ("base", xpos="far_left", ypos="head") + her "*Sigh*.............." ("open", "narrow", "annoyed", "down") + her "Well, if it will speed things up, I suppose I may as well try it..." ("soft", "narrow", "annoyed", "down") - call nar(">Hermione gives the tip of your engorged cock a tender kiss.") + nar "Hermione bends forward, and gives the tip of your engorged cock a tender kiss." - $ renpy.play('sounds/kiss.ogg') - call her_chibi_scene("hj_kiss", trans=kissiris) - pause 1 + play sound "sounds/kiss.ogg" + call her_chibi_scene("hj_kiss", trans=kissiris) + pause 1 - if hg_kiss.trigger == False: - $ achievements.unlock("herkiss") - $ hg_pf_handjob.change_icon(a="heart_half", b="heart_red") - if hg_pr_kiss.counter == 0: - her "(It was my first kiss ever and I gave it away to a... cock...)" ("disgust", "narrow", "worried", "down") - else: - her "(Our first kiss ever and I gave it away to his... cock...)" ("disgust", "narrow", "worried", "down") - $ hg_kiss.triggered() # .trigger = True, .counter += 1 - pause 2 + if not states.her.ev.give_me_a_handy.cock_kiss: + $ states.her.ev.give_me_a_handy.cock_kiss = True + $ achievements.unlock("herkiss") - call her_chibi_scene("hj", trans=d5) - pause.5 + if not states.her.status.public_kissing: + her "(My first kiss ever, and I gave it away...{w=0.4} To a cock...)" ("soft", "closed", "worried", "down") + else: + her "(Our first kiss ever, and I gave it away...{w=0.4} To his cock...)" ("soft", "closed", "worried", "down") - her "Like this?" ("open", "narrow", "worried", "down") - gen "Wasn't that bad, was it?" ("base", xpos="far_left", ypos="head") - her "No, I suppose not..." ("upset", "wink", "base", "mid") - gen "Can you do it again, then?" ("base", xpos="far_left", ypos="head") - her "I could..." ("normal", "happyCl", "worried", "mid") - gen "Do it!" ("base", xpos="far_left", ypos="head") - her "Well, alright..." ("open", "base", "base", "mid") + $ states.her.status.kissing = True + pause 2 - $ renpy.play('sounds/kiss.ogg') - call her_chibi_scene("hj_kiss", trans=kissiris) - pause 3 + call her_chibi_scene("hj", trans=d5) + pause.5 - call nar(">Hermione gives your cock another kiss...") - call ctc + her "Like that?" ("open", "squint", "worried", "mid") + gen "Of course I liked that!" ("grin", xpos="far_left", ypos="head") + her "{size=-5}I was asking if I did it correctly...{/size}" ("angry", "narrow", "worried", "R") + gen "Sorry?" ("base", xpos="far_left", ypos="head") + her "Nothing, [name_genie_hermione]..." ("disgust", "narrow", "worried", "mid") + gen "That wasn't so bad, was it?" ("base", xpos="far_left", ypos="head") + her "No, I suppose it wasn't..." ("upset", "wink", "base", "mid") + gen "So, could I ask you to do it again?" ("base", xpos="far_left", ypos="head") + her "I--{w=0.2} I suppose..." ("normal", "happyCl", "worried", "mid") + gen "Then please, do it again!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Well, alright..." ("base", "narrow", "base", "down") - call nar(">This time she lingers a moment longer...") - pause.5 + play sound "sounds/kiss.ogg" + call her_chibi_scene("hj_kiss", trans=kissiris) + pause 3 - call her_chibi_scene("hj", trans=d5) - pause.5 + nar "Hermione gives your cock another kiss..." + call ctc - gen "Good... Now do it again and just stay there for a while." ("base", xpos="far_left", ypos="head") - her "You mean with my lips touching your... cock, [genie_name]?" ("open", "base", "base", "mid") - her "No, I will look stupid..." ("annoyed", "base", "worried", "R") - gen "Don't be silly, [hermione_name]. Nobody is watching." ("base", xpos="far_left", ypos="head") - her "You are, [genie_name]." ("open", "narrow", "worried", "down") - gen "But that's the whole point!" ("base", xpos="far_left", ypos="head") - her "......" ("annoyed", "narrow", "annoyed", "mid") + nar "This time she lingers a moment longer..." + pause.5 + + call her_chibi_scene("hj", trans=d5) + pause.5 + + gen "Good...{w=0.4} Now do it again, and stay there for a while." ("base", xpos="far_left", ypos="head") + her "Stay there...{w=0.4} With my lips touching--" ("open", "base", "base", "stare") + her "No, I will look stupid!" ("disgust", "happy", "angry", "R") + menu: + "\"That's the point!\"": gen "It will make me cum in no time!" ("base", xpos="far_left", ypos="head") - her "..............." ("annoyed", "narrow", "angry", "R") - gen "And then you can just get out and take care of your business today." ("base", xpos="far_left", ypos="head") - her "............." ("disgust", "narrow", "base", "mid_soft") - her "Well, alright then..." ("open", "narrow", "worried", "down") - call nar(">Hermione reaches down with her lips again...","start") - call nar(">She touches the tip of your cock with her lips and keeps them there...","end") + her "......" ("annoyed", "narrow", "annoyed", "mid") + gen "Now, don't be so silly, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Just put your lips back, and keep them there for me." ("base", xpos="far_left", ypos="head") + "\"Nobody is watching...\"": + her "You are, [name_genie_hermione]." ("angry", "narrow", "worried", "down") + gen "That's true... And I'm letting you know right now, that if you did this for me, It'd make me cum in no time." ("base", xpos="far_left", ypos="head") + her "......" ("annoyed", "narrow", "base", "down") + gen "Go on...{w=0.4} You said you were in a hurry." ("base", xpos="far_left", ypos="head") + her "..............." ("annoyed", "narrow", "angry", "R") + if game.daytime: + gen "Once we're done here, you can get out and head back to class." ("base", xpos="far_left", ypos="head") + else: + gen "Once we're done here, you can get back to working on your paper." ("base", xpos="far_left", ypos="head") + her "............." ("disgust", "narrow", "base", "mid_soft") + her "Well, alright then..." ("open", "narrow", "worried", "down") + her "" ("open", "closed", "worried", "down") - $ renpy.play('sounds/kiss.ogg') - call her_chibi_scene("hj_kiss", trans=kissiris) - call ctc + nar "Hermione shuts her eyes, puckers her lips, and bends forward again..." + nar "A twitch runs down your shaft, as she plants her lips on the tip of your cock..." - call bld - gen "Very good..." ("base", xpos="far_left", ypos="head") - gen "Now touch it with your tongue." ("base", xpos="far_left", ypos="head") - her "??!" ("open_tongue", "closed", "base", "mid") - gen "That's the last thing I will be asking of you today." ("base", xpos="far_left", ypos="head") - her "............" - call nar(">You feel the tip of Hermione's tongue warily rubbing against the head of your cock...") - gen "Yes, like this..." ("base", xpos="far_left", ypos="head") - call nar(">Hermione wiggles her tongue a little...") - her "(It tastes weird...)" ("disgust", "narrow", "worried", "down") - gen "Yes... Good..." ("base", xpos="far_left", ypos="head") + play sound "sounds/kiss.ogg" + call her_chibi_scene("hj_kiss", trans=kissiris) + call ctc - call her_chibi_scene("hj", trans=d5) - pause.8 + gen "Very good, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Now touch it with your tongue." ("base", xpos="far_left", ypos="head") + her "??!" ("open_tongue", "happyCl", "worried", "mid") + gen "That's the last thing I will be asking of you today." ("base", xpos="far_left", ypos="head") + her "............" ("open_tongue", "closed", "annoyed", "mid") + her "............{fast}" ("open_wide_tongue", "closed", "worried", "mid") - her "So, did it work? Are you ready to... finish, [genie_name]?" ("open", "narrow", "worried", "down") - gen "{size=-4}(Surprisingly, yes! I'm about to cum! Should I warn her?){/size}" ("angry", xpos="far_left", ypos="head") + nar "You feel Hermione warily rub the tip of her tongue against the head of your cock..." + + gen "Yes...{w=0.4} Just--{w=0.2} *Ngh*...{w=0.4} Just like that..." ("base", xpos="far_left", ypos="head") + nar "Looking as if she has no clue what to do in this situation, Hermione starts wiggling her tongue a little bit..." + her "(*Hmm*... It tastes a bit weird...)" ("open_wide_tongue", "closed", "worried", "down") + her "(Wait, why did I try to taste it?!)" ("open_tongue", "happyCl", "worried", "down") + gen "Yes... Good job, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + + call her_chibi_scene("hj", trans=d5) + pause.8 + + her "So, did it work? Are you ready to--{w=0.4} *Ehm*...{w=0.4} Finish, [name_genie_hermione]?" ("angry", "narrow", "base", "down") + gen "{size=-4}(Surprisingly, yes!){/size}" ("angry", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") "-Give her a warning-": - gen "Here it comes, [hermione_name]! You better be ready!" ("angry", xpos="far_left", ypos="head") + $ states.her.status.cumshot = True + gen "Here it comes, [name_hermione_genie]! You better be ready!" ("angry", xpos="far_left", ypos="head") her "What? So soon?!" ("shock", "wide", "base", "stare") gen "{size=+5}Yeah, you did a great job!!!{/size}" ("angry", xpos="far_left", ypos="head") gen "{size=+5}You little whore!!!{/size}" ("angry", xpos="far_left", ypos="head") - her "No, [genie_name], wait, I--" ("angry", "base", "base", "mid") + her "No, [name_genie_hermione], wait, I--" ("angry", "base", "base", "stare") gen "{size=+5}Too late for that, slut!{/size}" ("angry", xpos="far_left", ypos="head") - her "*whimper*" ("angry", "narrow", "base", "down") + her "*Whimper*" ("angry", "happyCl", "base", "stare") gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare") + her "!!!!!!!!!!!" ("shock", "happyCl", "base", "stare") stop music fadeout 1.0 call her_chibi_scene("hj_cum_in_done", trans=d5) pause.5 call cum_block + play sound "sounds/slick_01.ogg" call her_chibi_scene("hj_cum_in", trans=d5) pause.8 - show screen bld1 if hermione.is_worn("top"): - call nar(">Hermione suddenly slides your already dripping cock under her top...") + nar "Hermione suddenly slides your already dripping cock under her top..." else: - call nar(">Hermione suddenly slides your already dripping cock in-between her breasts, your tip mere inches from her chin...") + nar "Hermione suddenly slides your already dripping cock in-between her breasts, placing your tip mere inches from her chin..." gen "?!!" ("angry", xpos="far_left", ypos="head") - call nar(">The sensation of her warm skin against your cock overwhelms you and you begin to ejaculate like a mad-man.") + nar "The sensation of her warm skin against your cock overwhelms you, and you begin to ejaculate like a mad-man." call ctc call her_chibi_scene("hj_cum_in_done", trans=d5) @@ -488,57 +636,59 @@ label hg_pf_handjob_1: her "......................." ("angry", "narrow", "base", "down") gen "... What the fuck just happened?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "I don't know... I suppose I just panicked..." ("angry", "happyCl", "worried", "mid", emote="sweat") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "I don't know...{w=0.4} I suppose I just panicked..." ("angry", "happyCl", "worried", "mid", emote="sweat") if game.daytime: if hermione.is_worn("top"): - her "My classes are about to start and I didn't want you to ruin my clothes, [genie_name]..." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "So you'll go to classes, looking like this?" ("base", xpos="far_left", ypos="head") - gen "With your top all sperm-soaked from the inside?" ("base", xpos="far_left", ypos="head") + her "My classes are about to start, and I didn't want to get it on top of my clothes, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "So you'd rather go to class--" ("base", xpos="far_left", ypos="head") + gen "--With your top all soaked with sperm from the inside?" ("base", xpos="far_left", ypos="head") else: - her "My classes are about to start and I didn't want you to ruin my face, [genie_name]..." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "So you'll go to classes, looking like this?" ("base", xpos="far_left", ypos="head") - gen "With your tits and chin all sperm-soaked?" ("base", xpos="far_left", ypos="head") - her "What choice do I have?" ("angry", "narrow", "base", "down") - her "I can't just skip a class..." + her "My classes are about to start, and I didn't want you to ruin my face, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "So you'd rather go to class--" ("base", xpos="far_left", ypos="head") + gen "--With sperm between your tits?" ("base", xpos="far_left", ypos="head") + her "What other choice do I have?" ("angry", "narrow", "base", "down") + her "I can't just skip class..." ("angry", "narrow", "base", "down") else: - her "At this hour The Gryffindor common room will be full of people..." ("angry", "happyCl", "worried", "mid", emote="sweat") - her "I didn't want to have to return there all covered in your... spunk, [genie_name]." - her "Oh, it's getting pretty late..." ("angry", "base", "base", "mid") - gen "So you will go to your dorm, looking like this?" ("base", xpos="far_left", ypos="head") + her "At this hour, the Gryffindor common room will be full of people..." ("angry", "happyCl", "worried", "mid", emote="sweat") + her "And I didn't want to have to return there with my face all covered in your...{w=0.4} Spunk, [name_genie_hermione]." ("angry", "narrow", "worried", "mid") + gen "So you'd rather enter your dorm--" ("base", xpos="far_left", ypos="head") if hermione.is_worn("top"): - gen "With your top all sperm-soaked from the inside?" ("base", xpos="far_left", ypos="head") + gen "With your top all soaked with sperm from the inside?" ("base", xpos="far_left", ypos="head") else: - gen "With your tits and chin all sperm-soaked?" ("base", xpos="far_left", ypos="head") + gen "With sperm, stuck between your tits?" ("base", xpos="far_left", ypos="head") - her "What choice do I have?" ("angry", "narrow", "base", "down") + her "What other choice do I have?" ("angry", "narrow", "base", "down") - call ctc - call blkfade + call hide_characters + show screen blkfade + with d5 - ">Hermione releases your still pulsating cock." + nar "Hermione releases your still pulsating cock." call her_chibi("stand","mid","base") - call gen_chibi("stand","desk","base") + call gen_chibi("sit_behind_desk") hide screen bld1 - call hide_blkfade - pause.5 + hide screen blkfade + with fade + pause.8 - her "*Eww*... Your sperm, [genie_name]..." ("angry", "narrow", "base", "down") + her "*Eww*...{w=0.4} Your sperm, [name_genie_hermione]..." ("angry", "narrow", "base", "down") if hermione.is_worn("top"): - her "It's everywhere under my top..." ("angry", "base", "base", "mid") + her "It's sticking to the underside of my top..." ("disgust", "narrow", "base", "down") else: - her "My breasts are so sticky, it's everywhere..." ("angry", "base", "base", "mid") + her "It's made my breasts all sticky..." ("angry", "base", "base", "mid") gen "Just put it in your mouth next time." ("base", xpos="far_left", ypos="head") - her "I... don't think so, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") - her "I really need to go. Can I just get paid now?" + her "*Hmph*..." ("disgust", "narrow", "worried", "down") + her "I really need to go now, so may I have my payment?" ("open", "squint", "worried", "R") "-Just start cumming-": + $ states.her.status.cumshot = True with hpunch - gen "*ARGH*!" ("angry", xpos="far_left", ypos="head") - her "WHAT?!" ("shock", "wide", "base", "stare") + gen "{size=+3}*Argh*!{/size}" ("angry", xpos="far_left", ypos="head") + her "{size=+3}What?!{/size}" ("shock", "wide", "base", "stare") gen "Take this!" ("angry", xpos="far_left", ypos="head") call cum_block @@ -556,198 +706,250 @@ label hg_pf_handjob_1: call her_chibi_scene("hj_cum_on_done", trans=d5) call ctc - - - her "......................." ("angry", "wide", "base", "stare", xpos="right", ypos="base") - gen "Yes... I Feel so much better now..." ("base", xpos="far_left", ypos="head") + her "......................." ("angry", "wide", "base", "stare") + gen "Finally...{w=0.4} I Feel so much better now..." ("base", xpos="far_left", ypos="head") call hide_characters show screen blkfade with d5 call her_chibi("stand","mid","base") - call gen_chibi("stand","desk","base") + call gen_chibi("sit_behind_desk") hide screen bld1 hide screen blkfade with fade pause.8 - her ".................." ("disgust", "narrow", "worried", "down", tears="soft") - gen "Well, I think that's about it..." ("base", xpos="far_left", ypos="head") - her "[genie_name]! What have you done?!" ("scream", "happyCl", "worried", "mid", trans=hpunch) + her @ tears soft ".................." ("disgust", "narrow", "worried", "down", ypos="base") + gen "Well, I think that's about it for today [name_hermione_genie], so why don't--" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]! What have you done?!" ("scream", "happyCl", "worried", "mid", trans=hpunch) gen "What?" ("base", xpos="far_left", ypos="head") - if d_flag_01: #If TRUE Genie promised to warn her. - call play_music("chipper_doodle") # HERMIONE'S THEME. - $ her_mood += 11 - her "You promised to give me a warning, [genie_name]!" ("angry", "base", "angry", "mid") - gen "Oh, that's right... My bad." ("base", xpos="far_left", ypos="head") - if hermione.is_worn("top"): - her "My clothes are ruined..." ("annoyed", "narrow", "angry", "R") - else: - her "My pretty face is ruined..." ("annoyed", "narrow", "angry", "R") - her "... I would like to get paid now." + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + if _promise: # Promised to warn her + $ states.her.mood += 11 + + her "You promised to give me a warning, [name_genie_hermione]!" ("angry", "base", "angry", "mid") + gen "Oh, that's right...{w=0.4} My bad." ("base", xpos="far_left", ypos="head") + if hermione.is_worn("top"): + her "My clothes are ruined!" ("annoyed", "narrow", "angry", "R") else: - if game.daytime: - if hermione.is_worn("top"): - her "My clothes are ruined now!" ("annoyed", "narrow", "angry", "R") - else: - her "I have cum on my face!" ("annoyed", "narrow", "angry", "R") - her "Classes are about to start and I can't go looking like this!" ("open", "narrow", "worried", "down") - gen "Of course you can, just wipe it off or something..." ("base", xpos="far_left", ypos="head") - gen "Nobody will even notice." ("base", xpos="far_left", ypos="head") - her "... I would like to get paid now." ("annoyed", "narrow", "annoyed", "mid") - else: - if hermione.is_worn("top"): - her "My clothes are ruined!" ("annoyed", "narrow", "angry", "R") - else: - her "I have cum on my face!" ("annoyed", "narrow", "angry", "R") - her "Am I supposed to go back to the Gryffindor common room looking like this?!" - gen "Why not? You look hot, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "[genie_name]!!!" ("annoyed", "narrow", "annoyed", "mid") - gen "Alright, alright. Just wipe it off or something." ("base", xpos="far_left", ypos="head") - gen "Nobody will even notice." ("base", xpos="far_left", ypos="head") - her "... I would like to get paid now." ("annoyed", "narrow", "annoyed", "mid") + her "My face... It's been defiled..." ("annoyed", "narrow", "angry", "R") + if game.daytime: + her "How could you do this to me?" ("angry", "narrow", "worried", "down") + her "Classes are about to start, I can't go out looking like this!" ("open", "narrow", "worried", "down") + gen "Of course you can." ("base", xpos="far_left", ypos="head") + else: + her "Am I supposed to return to the Gryffindor common room, looking like this?!" ("angry", "narrow", "worried", "down") + gen "Why not? You look great!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]!!!" ("annoyed", "narrow", "annoyed", "mid") + gen "Alright, alright... Just wipe it off or something." ("base", xpos="far_left", ypos="head") + gen "Nobody will even notice." ("base", xpos="far_left", ypos="head") + her "...{w=0.4} I would like to get paid now." ("disgust", "narrow", "annoyed", "mid") jump end_hg_pf_handjob -### Third Handjob ### +### Tier 5 Handjob ### label hg_pf_handjob_2: - stop music fadeout 3.0 - call her_chibi_scene("hj", trans=fade) + stop music fadeout 4.0 + call hide_characters + show screen blkfade + with d3 + + call her_chibi("stand",560,"base") + call gen_chibi("jerk_off",450,"base") + + hide screen blkfade + with fade pause.8 - her "Do you like it when I do it like this, [genie_name]?" ("grin", "base", "base", "R", ypos="head", flip=False) - gen "Actually, yes! Very nice!" ("grin", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her @ cheeks blush "..........." ("soft", "narrow", "base", "down", xpos="base", ypos="head", flip=False) + + if hermione.is_any_worn("robe"): + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("robe") + + her "......................." ("base", "narrow", "base", "down") + pause.1 + + call her_chibi_scene("hj_pause", trans=d9) + pause.8 + + nar "Hermione puts her hands on your cock without so much as a nod from you..." + + her @ cheeks blush "You know... It does fit quite neatly in my hands..." ("base", "narrow", "worried", "down", emote="sweat") + + call her_chibi_scene("hj", trans=d5) + call ctc + + gen "*Mmm*... Yes, indeed..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Do you like it when I pull on it like this, [name_genie_hermione]?" ("soft", "squint", "base", "mid") + gen "Certainly... You're doing very well, [name_hermione_genie]..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you [name_genie_hermione]... I suppose practice does make perfect." ("base", "closed", "base", "mid") + + nar "Hermione quickens her pace slightly, while keeping a steady rhythm." + + gen "Yes, just like that..." ("base", xpos="far_left", ypos="head") + gen "You are getting worryingly good at this..." ("base", xpos="far_left", ypos="head") + her "Worryingly good, [name_genie_hermione]?" ("angry", "squint", "base", "mid") + gen "Yes, if you continue on this path, then I'll never be able to get off if I ever have to do it myself." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Truly?" ("soft", "base", "base", "stare") + gen "Undoubtedly..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, I'm not sure if I'm supposed to feel flattered or worried about that." ("soft", "squint", "base", "R") + gen "That said... I can't help but notice that your mouth isn't partaking in this..." ("base", xpos="far_left", ypos="head") + if states.her.status.blowjob: + her @ cheeks blush "My mouth?" ("soft", "base", "base", "mid") + her @ cheeks blush "Are you saying that I should suck on it, instead?" ("open", "squint", "base", "R") + gen "That's not it, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Then what--" ("annoyed", "base", "base", "mid") + else: + her "What do you--" ("annoyed", "base", "base", "mid") + gen "Surely you should know what is required by now..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh! You'd like me to talk dirty, [name_genie_hermione]?" ("angry", "wink", "base", "mid") + gen "That's right, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Alright, so what would you like me to do?" ("soft", "base", "base", "mid") - call play_music("chipper_doodle") # HERMIONE'S THEME. - with hpunch - gen "{size=+5}Yes, yes, like that...{/size}" ("angry", xpos="far_left", ypos="head") - gen "*Hmm*... You are getting pretty good at this." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "happyCl", "base", "mid") - her "I figured the better I do this, the sooner it'll be over." - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"What do you think of my cock?\"": - her "*huh*?" ("open", "base", "base", "mid") - her "Oh, that's right..." - her "I need to compliment your penis! I completely forgot about that!" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "Well, you don't have to--" ("base", xpos="far_left", ypos="head") - her "[genie_name], let me be honest with you..." ("upset", "closed", "base", "mid") + "\"Tell me what you think of my cock.\"": + her @ cheeks blush "Your--" ("angry", "happy", "base", "stare") + her @ cheeks blush "You want me to compliment your penis, [name_genie_hermione]?" ("angry", "wink", "base", "mid", emote="sweat") + gen "Well, you don't have to, but--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ahem*... Let me be honest with you, [name_genie_hermione]..." ("upset", "closed", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") - her "You have the biggest penis I have ever seen!" ("smile", "base", "angry", "mid") - gen "Well I suppo--" ("base", xpos="far_left", ypos="head") - her "Not done yet!" ("scream", "closed", "angry", "mid") - gen "Apologies." ("base", xpos="far_left", ypos="head") - her "Your penis is so big it almost scares me!" ("angry", "narrow", "base", "down") - gen "You little minx. You know exactly what to say..." ("grin", xpos="far_left", ypos="head") - her "And yet I lust for it..." ("soft", "narrow", "annoyed", "up") - her "Any woman would be happy to have your huge penis inside of her!" - gen "... you're good!" ("base", xpos="far_left", ypos="head") - her "There is more!" ("scream", "closed", "angry", "mid") + her @ cheeks blush "You've got the biggest penis I have ever seen!" ("grin", "closed", "annoyed", "mid") + gen "Really? Well, perhaps you've not seen that--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I'm not done yet, [name_genie_hermione]!" ("scream", "closed", "angry", "mid") + gen "My apologies..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Your penis is so big, it's almost frightening!" ("open", "closed", "annoyed", "down") + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Nevertheless, I have been captivated by it since the first time I saw it." ("angry", "closed", "annoyed", "down") + gen "... You sure have a way with words, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Please [name_genie_hermione], I have to say this!" ("scream", "closed", "angry", "mid") gen "By all means..." ("base", xpos="far_left", ypos="head") - her "I think your magnificent cock is a blessing to this world!" ("scream", "closed", "angry", "mid") - gen "Well, I wouldn't go that far--" ("base", xpos="far_left", ypos="head") - her "Listen to me, [genie_name]!" ("scream", "closed", "angry", "mid") - her "I think a statue dedicated to your magnificent penis shall be erected in every city!" - her "So that people of the world could worship your phallus freely!" - gen "OK, I think I've heard enough." ("base", xpos="far_left", ypos="head") - her "Too much?" ("angry", "wink", "base", "mid") - gen "Yeah, just a bit." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I think your magnificent cock is a blessing to this world!" ("scream", "closed", "annoyed", "mid") + gen "Well, I wouldn't go that--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "From this day forward, it shall be my lifelong goal to erect a statue dedicated to your magnificent phallus in every city!" ("scream", "closed", "base", "mid") + her "As it would be a disservice to the world if not everyone had the chance to experience the sheer might of your penis!" ("scream", "closed", "angry", "mid") + gen "Alright [name_hermione_genie], I think I've heard enough..." ("base", xpos="far_left", ypos="head") + her "And shall a female giant decide to--" ("scream", "closed", "angry", "mid") + gen "For crying out loud, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") + her "*Huh*?" ("angry", "wink", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + her "Did I go too far?" ("annoyed", "squint", "base", "mid") + gen "Yeah, just a bit..." ("base", xpos="far_left", ypos="head") her "Sorry..." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "No biggie. Just keep on stroking it." ("base", xpos="far_left", ypos="head") - her "................." ("soft", "narrow", "annoyed", "up") - call nar(">Hermione keeps on stroking your cock.","start") - call nar(">She is doing a great job of it too.","end") - gen "Yes, yes... just like that." ("base", xpos="far_left", ypos="head") + gen "No worries... I'll be more careful when I ask you to speak truthfully next time." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "squint", "base", "R") #smirk + gen "Just keep stroking it for now." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]..." ("soft", "closed", "annoyed", "up") + + nar "Hermione keeps on stroking your cock in silence." + nar "Oddly enough, her enthusiasm appears to have increased, and you can tell that she's really trying her best to make you finish." + + gen "Yes... Very good..." ("base", xpos="far_left", ypos="head") "\"Call yourself a whore!\"": - her "Excuse me?" ("open", "base", "base", "mid") - her "Oh, that's right! I'm supposed to degrade myself, right?" ("annoyed", "squint", "base", "mid") - gen "Well, you don't have to, but..." ("base", xpos="far_left", ypos="head") - her "That's alright, I don't mind." ("upset", "closed", "base", "mid") - her "Alright then! I am a whore!" ("base", "base", "base", "mid") - gen "Good. Glad we established that." ("base", xpos="far_left", ypos="head") - gen "Now I want you to say..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Call myself a--" ("angry", "base", "base", "stare") + her @ cheeks blush "Oh, that's right! Degrading myself will allow you to finish quicker?" ("soft", "wink", "base", "mid") + gen "Most certainly... Although you if you'd rather take your time, then I won't--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "That's alright [name_genie_hermione], I don't mind..." ("open", "closed", "base", "mid") + her @ cheeks blush "I am nothing but a whore, after all!" ("open", "closed", "worried", "mid") + gen "That's right, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Now, why don't you to repeat after me..." ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"I am a worthless slut!\"": - her "Of course." ("angry", "wink", "base", "mid") - her "I am a worthless slut." ("soft", "narrow", "annoyed", "up") - her "A dirty little slut, that's what I am." - gen "Yes! Good!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course, [name_genie_hermione]." ("angry", "closed", "worried", "mid") + her @ cheeks blush "I am... A worthless slut." ("soft", "closed", "worried", "up") + gen "*Mmm*..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "A dirty, worthless little slut, that's what I am!" ("base", "closed", "worried", "up") + gen "Yes! Good! Now--" ("base", xpos="far_left", ypos="head") "\"I live to suck cock!\"": - her "*Ehm*..." ("angry", "wink", "base", "mid") - her "I live to suck penis, er... I mean cock..." ("base", "base", "base", "mid") - gen "Really? Well why don't you suck on this one then?" ("base", xpos="far_left", ypos="head") - her "[genie_name], I am just repeating after you..." ("smile", "base", "angry", "mid") - gen "Really? Could've fooled me..." ("base", xpos="far_left", ypos="head") - her "...................." ("angry", "wink", "base", "mid") - gen ".................." ("base", xpos="far_left", ypos="head") - "\"I love to swallow cum!\"": - her "I love to... *Ehm*... swallow cum." ("angry", "wink", "base", "mid") + her @ cheeks blush "*Ehm*..." ("angry", "wink", "base", "mid") + her @ cheeks blush "I live to suck penis--{w=0.2} I mean cock..." ("angry", "narrow", "worried", "R") + gen "Really? Then why aren't you begging to suck on this one, right now?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], I am just repeating what you said..." ("angry", "happy", "base", "mid") + gen "Really? I swear, I heard some honesty in your words...." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "...................." ("annoyed", "narrow", "base", "R") + gen "Speaking of honesty... I think you're doing an outstanding job with those hands, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + "\"I love to swallow my headmaster's cum!\"": + her @ cheeks blush "I...{w} I love to swallow my--{w=0.2} *Ehm*...{w=0.2} headmaster's cum." ("angry", "closed", "base", "mid") gen "You hesitated there for a moment." ("base", xpos="far_left", ypos="head") - her "Yes, I know..." ("angry", "wink", "base", "mid") - her "Let me try again..." - her "I love to swallow cum!" ("soft", "narrow", "annoyed", "up") - her "It is truly the best to swallow cum!" - her "I love it!" - her "..................................." ("grin", "narrow", "base", "dead") - her "How was that, [genie_name]?" ("angry", "wink", "base", "mid") - gen "Perfect." ("base", xpos="far_left", ypos="head") + if not states.her.status.gokkun: + her @ cheeks blush "Well, I haven't really swallowed..." ("angry", "wink", "base", "mid") + her @ cheeks blush "*Ahem*..." ("angry", "wink", "base", "mid") + else: + her @ cheeks blush "Yes, I know..." ("angry", "narrow", "base", "down") + her @ cheeks blush "Let me try again..." ("open", "closed", "worried", "mid") + her @ cheeks blush "I love to swallow my headmaster's cum!" ("grin", "squint", "worried", "mid") + her @ cheeks blush "It is truly the best cum in the world!" ("smile", "narrow", "base", "down") + her @ cheeks blush "And I can't get enough of it!" ("smile", "closed", "base", "mid") + her @ cheeks blush "..................................." ("grin", "narrow", "base", "dead") + her @ cheeks blush "*Ahem*...{w=0.4} How was that, [name_genie_hermione]?" ("soft", "squint", "base", "mid") + gen "Perfect... Now just--" ("base", xpos="far_left", ypos="head") + + "\"Tell me how you got so good at giving handjobs.\"": + her @ cheeks blush "Oh...{w=0.4} Well, I recently overheard a discussion between a group of female students." ("open", "closed", "base", "R") + gen "A discussion about handjobs?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "That's right..." ("soft", "happy", "base", "mid") + gen "Interesting... You'd think that students wouldn't be discussing such things out in the open... Especially in your presence." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, I was certainly surprised when I heard--" ("angry", "squint", "base", "R", emote="happy") + her @ cheeks blush "Wait, what did you mean by that?" ("disgust", "narrow", "angry", "mid") + gen "Nothing..." ("base", xpos="far_left", ypos="head") + gen "So, about these students... What was it that you overheard, exactly?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "They were talking about all the handjobs they have given, obviously..." ("open", "closed", "annoyed", "R") + gen "Really... That's very interesting..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Most of their techniques were already familiar to me, of course... The ones I didn't know sounded unlikely to have any real effect." ("open", "closed", "base", "mid") + gen "(Is she trying to undermine these students?...)" ("base", xpos="far_left", ypos="head") + her "So, since you were wondering... The reason why I got so good, is because after hearing their awful techniques, I started coming up with my own--" ("open", "closed", "base", "mid") + gen "If you're so confident, then why don't we find out if what you overheard is as infective as you think..." ("base", xpos="far_left", ypos="head") + her "Oh... Well, I suppose..." ("soft", "narrow", "annoyed", "R") + her "From what I can vaguely remember... You would just need to adjust your grip slightly, like this..." ("open", "narrow", "angry", "down") + her "And then you--" ("soft", "narrow", "annoyed", "down") + gen "*Ngh*--{w=0.2} Holy mother of--{w=0.2} That feels incredible!" ("angry", xpos="far_left", ypos="head") + her "Really? It actually works?!" ("mad", "base", "worried", "down") + her "*Hmph*... I suppose if anyone has practised giving handjobs enough, it'd be those Slytherin--" ("angry", "narrow", "annoyed", "down") + gen "What did you just say?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, *Ehm*...{w=0.4} Did I not mention that they were Slytherin students?" ("angry", "squint", "worried", "R") + gen "You did not." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ahem*...{w=0.4} Well, I guess it wasn't really that important..." ("open", "closed", "base", "R") + gen "I'd beg to differ... I'd like a list of their names, if you don't--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You can also shift your pressure across each finger, and that's supposed to feel really good!" ("angry", "squint", "base", "stare") + gen "Really?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course! I came up with that one myself, not some Slytherin Harlot!" ("grin", "squint", "worried", "mid") + gen "I see... Go on, then..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, you actually want me to--" ("angry", "squint", "worried", "stare") + her @ cheeks blush "I mean... Alright then!" ("grin", "squint", "worried", "mid") + + nar "Hermione shifts the pressure from one side of each hand, to the other..." + nar "It doesn't make much difference..." - "\"This is really good. Did you practise?\"": - her "*Hmm*?" ("base", "happyCl", "base", "mid") - her "Sort of... Well not really..." - her "I had a talk with the girls, and..." ("angry", "wink", "base", "mid") - gen "About handjobs?" ("base", xpos="far_left", ypos="head") - her "Among other things..." ("smile", "happyCl", "base", "mid", emote="happy") - gen "So those girls of yours, they know a lot about such things?" ("base", xpos="far_left", ypos="head") - her "Actually, yes. I was surprised myself." ("shock", "wide", "base", "stare") - her "All sorts of weird sexual things seem to be happening in our school lately..." ("grin", "base", "base", "R") - her "Can't say I approve of that..." - her "But they did teach me quite a few... tricks." ("base", "happyCl", "base", "mid") - gen "Really? Like what?" ("base", xpos="far_left", ypos="head") - her "Well, let's see..." ("base", "narrow", "worried", "down") - her "If I put one of my hands here..." - her "And another one here..." - gen "Oh, I see... Yes, this feels quite good." ("base", xpos="far_left", ypos="head") - her "Does it?" ("angry", "wink", "base", "mid") - her "So Ginny was right about this one..." ("grin", "base", "base", "R") - gen "What did you just say?" ("angry", xpos="far_left", ypos="head") - her "Ginny Weasley, she taught me this one." ("base", "happyCl", "base", "mid") - gen "Oh, right..." ("base", xpos="far_left", ypos="head") - her "She said any boy would fall in love with me if I did this to him..." ("base", "narrow", "worried", "down") - her "There is also this thing when I form a ring with my fingers..." - her "And then I put one finger here..." gen "*Hmm*... I don't feel anything..." ("base", xpos="far_left", ypos="head") - her "Really?" ("angry", "narrow", "base", "down") - her "*Hmm*..." - her "Oh! That's right!" ("base", "narrow", "worried", "down") - her "The finger goes here! Silly me!" - with hpunch - with kissiris - gen "Oh!!! By the great desert sands, yes!" ("angry", xpos="far_left", ypos="head") - her "Really? That good?" ("smile", "happyCl", "base", "mid", emote="happy") - her "What if I keep doing this but stick my finger here and press a little..." ("base", "narrow", "worried", "down") - gen "[hermione_name], you are killing me!" ("angry", xpos="far_left", ypos="head") - her "Really? Really?!" ("smile", "happyCl", "base", "mid", emote="happy") - her "This is actually quite fun!" - her "Err... I mean..." ("angry", "wink", "base", "mid") - her "I am only doing this to help my house of course..." - gen "Yes, yes... The Gryffindor honour and all that." ("base", xpos="far_left", ypos="head") - gen "You just keep massaging that spot..." ("base", xpos="far_left", ypos="head") - gen "Oh, yes..." ("base", xpos="far_left", ypos="head") - her "..............." ("base", "narrow", "worried", "down") + her @ cheeks blush "Really?" ("disgust", "squint", "base", "mid") + her @ cheeks blush "Oh! Silly me, I need to do it continuously! That's why!" ("grin", "happyCl", "worried", "down") - gen "Yes... Keep stroking it." ("base", xpos="far_left", ypos="head") - her ".............." ("angry", "wink", "base", "mid") + nar "Hermione shifts the pressure back and forth repeatedly... You still can't really tell much difference..." + her @ cheeks blush "Is it working-- I mean, it feels good, right?" ("mad", "squint", "base", "mid") - if hg_pf_handjob.points == 1: + gen "*Err*... Yeah, of course!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Really? I mean--{w=0.2} That's good!" ("smile", "happyCl", "base", "mid", emote="happy") + her @ cheeks blush "What if I go a bit faster, and then--" ("smile", "narrow", "base", "down") + gen "[name_hermione_genie], you are killing me!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "Really? Really?!" ("smile", "happyCl", "base", "mid", emote="happy") + her @ cheeks blush "(I guess I'm better at this than I thought!)" ("smile", "happyCl", "base", "mid", emote="happy") + gen "*Ah*... Yes... You just keep massaging that spot..." ("grin", xpos="far_left", ypos="head") + gen "Make your house proud..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, yes! For my house, of course!" ("smile", "happyCl", "worried", "down") + + gen "Keep stroking it--{w=0.2} *Ngh*...{w=0.4} Just like that, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush ".............." ("base", "narrow", "base", "down") + + if not _events_completed_any: jump hg_pf_handjob_2_cumming else: jump hg_pf_handjob_2_continue @@ -757,77 +959,89 @@ label hg_pf_handjob_2_continue: call her_chibi_scene("hj", trans=d5) call ctc - call bld gen "Now I want you to say..." ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") "{size=-4}\"I fantasise about being touched by my father.\"{/size}": - $ her_mood += 11 + $ states.her.mood += 11 her "I do not!" ("angry", "base", "angry", "mid") - gen "I know. Just say it." ("base", xpos="far_left", ypos="head") - her "My father? That's disgusting, [genie_name]!" ("angry", "base", "angry", "mid", emote="angry") + gen "I know... Just say it." ("base", xpos="far_left", ypos="head") + her "How could I say something like that about my own father? That's disgusting, [name_genie_hermione]!" ("angry", "narrow", "annoyed", "mid", emote="angry") gen "Humour me." ("base", xpos="far_left", ypos="head") her "..........." ("annoyed", "narrow", "annoyed", "mid") - her "Well..." ("open", "narrow", "worried", "down") - her "Sometimes I fantasise about my father..." - her "......." - gen "I see. And in those fantasies of yours..." ("base", xpos="far_left", ypos="head") + her "Fine... If I really have to..." ("open", "closed", "annoyed", "down") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "closed", "annoyed", "down") + her @ cheeks blush "Sometimes I--{w=0.2} *Ugh*...{w=0.4} Fantasise about my father..." ("open", "closed", "annoyed", "down") + her @ cheeks blush "......." ("normal", "closed", "worried", "down") + gen "I see... And in those fantasies of yours..." ("base", xpos="far_left", ypos="head") gen "He is touching you, right?" ("base", xpos="far_left", ypos="head") - her "My father...?" ("angry", "base", "base", "mid") - gen "Yes... And you enjoy it, right?" ("base", xpos="far_left", ypos="head") - her "No. I cry and beg for him to stop!" ("angry", "narrow", "base", "down") - gen "Heh... Nice." ("base", xpos="far_left", ypos="head") - her "......." ("angry", "narrow", "base", "down") - gen "Well, this wasn't that hard, was--" ("base", xpos="far_left", ypos="head") - her "I scream for my Mommy but she is still at work..." ("mad", "base", "worried", "mid", tears="soft") - gen "*huh*?" ("base", xpos="far_left", ypos="head") - her "My daddy takes me to my room..." ("normal", "happyCl", "worried", "mid") - her "He throws me on my bed!" - her "I cry \"No, daddy, please, I'm still a virgin\"!" ("scream", "happyCl", "worried", "mid") + her @ cheeks blush "Touching--" ("angry", "wide", "base", "stare") + gen "Yes... You're enjoying the thought of it, aren't you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "No! If that happened, I'd cry and beg for him to stop!" ("angry", "happyCl", "base", "down") + gen "Very well, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "That wasn't so hard, was it--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I'd scream for my mommy, even though I know she is still at work..." ("angry", "closed", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Then my daddy would bring me to my room..." ("soft", "closed", "base", "mid") + her @ cheeks blush "And throw me on my bed..." ("normal", "closed", "worried", "mid") + her @ cheeks blush "I'd cry-- \"No, daddy, please, I'm still a virgin\"!" ("scream", "happyCl", "worried", "mid") call her_chibi_scene("hj_pause", trans=d5) pause.5 - her "But He doesn't listen! He rips my panties off!" ("grin", "narrow", "base", "dead") - her "I beg him to stop! I scream and I scream!" ("angry", "base", "base", "mid", tears="soft") - gen "*Err*, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes?" ("angry", "base", "base", "mid", tears="soft") - gen "You are not stroking my cock anymore..." ("base", xpos="far_left", ypos="head") - her "Oh, I am sorry, [genie_name]." ("grin", "happyCl", "worried", "mid", emote="sweat") - her "I got lost in thought..." + her "But he wouldn't listen, and he'd rip my panties off!" ("grin", "narrow", "base", "dead") + her "I'd beg him to stop! I'd scream, and I'd cry!" ("angry", "narrow", "base", "dead") + gen "*Err*... [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "*Huh*?" ("angry", "base", "base", "stare") + gen "You stopped stroking my cock a while ago..." ("base", xpos="far_left", ypos="head") + her "Oh, I'm sorry, [name_genie_hermione]." ("grin", "happyCl", "worried", "mid", emote="sweat") + her "I just got so focused on the story..." ("grin", "happyCl", "worried", "mid", emote="sweat") call her_chibi_scene("hj", trans=d5) pause.5 - her "But everything I just said is not true of course!" ("open", "base", "base", "mid") - her "I never have fantasies like that!" + her "I hope you enjoyed my little fabrication!" ("base", "squint", "worried", "mid") + her "I never have fantasies like that myself, of course!" ("open", "closed", "base", "mid") gen "Right." ("base", xpos="far_left", ypos="head") "{size=-4}\"Sometimes I get lonely and let my dog mount me.\"{/size}": her "What?!" ("angry", "wide", "base", "stare") - her "That's disgusting." ("annoyed", "squint", "base", "mid") - her "Dogs carry {size=+5}STD{/size}s, [genie_name]." ("open", "closed", "base", "mid") - gen "Actually, human and canine {size=+5}STD{/size}s are species specific..." ("base", xpos="far_left", ypos="head") + her "That's disgusting!" ("annoyed", "squint", "annoyed", "mid") + her "Dogs carry {size=+5}STD{/size}s, [name_genie_hermione]." ("open", "closed", "base", "mid") + gen "Actually, human and canine {size=+5}STD{/size}s are species-specific..." ("base", xpos="far_left", ypos="head") gen "Meaning... They can only be spread to the same species." ("base", xpos="far_left", ypos="head") - her "............{size=-6}I knew that{/size}" ("open", "squint", "base", "mid") - gen "Heh. Of course you would." ("grin", xpos="far_left", ypos="head") - gen "Also I hear that many women do enjoy getting \"knotted\" quite a bit." ("base", xpos="far_left", ypos="head") - her "What does getting \"knotted\" mean?" ("normal", "squint", "angry", "mid") + gen "Surely you would know this... It's basic biology." ("base", xpos="far_left", ypos="head") + her "I... I mean, if it's basic knowledge...{size=-6} Then I suppose I did know that...{/size}" ("angry", "squint", "base", "R") + gen "Then surely you must also know that many women enjoy getting \"knotted\" ?" ("base", xpos="far_left", ypos="head") + her "Is this also basic biology?" ("normal", "squint", "worried", "mid") + gen "*Err*... Sure is..." ("base", xpos="far_left", ypos="head") + her "Then how come I've never heard of this \"getting knotted\" thing?" ("annoyed", "narrow", "worried", "mid") gen "*Ehm*... Well..." ("base", xpos="far_left", ypos="head") - gen "Ah, it doesn't matter." ("base", xpos="far_left", ypos="head") + gen "You know what... It doesn't matter." ("base", xpos="far_left", ypos="head") gen "Just say the thing!" ("base", xpos="far_left", ypos="head") - her "Fine!" ("normal", "base", "base", "mid") - her "Sometimes I get lonely and let my dog mount me." ("open", "squint", "base", "mid") + her @ cheeks blush "Fine..." ("annoyed", "narrow", "annoyed", "mid") + her @ cheeks blush "Sometimes I get lonely... And let my dog... m--{w=0.2} mount me." ("angry", "narrow", "base", "mid") gen "That sounded so fake..." ("base", xpos="far_left", ypos="head") - her "Because we don't even own a dog!" ("normal", "squint", "angry", "mid") - gen "Fine, whatever, let's just move on then..." ("base", xpos="far_left", ypos="head") + + call her_chibi_scene("hj_pause", trans=d5) + pause.5 + + her "Because I don't even own a dog!" ("annoyed", "squint", "angry", "mid") + + gen "Fine, whatever, let's just move on..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "squint", "angry", "R") + + call her_chibi_scene("hj", trans=d5) + pause.5 + "{size=-4}\"-Manual user input-\"{/size}" if not renpy.android: # The phrase in the brackets is the text that the game will display to prompt # the player to enter the name they've chosen. - $ random_number = renpy.random.randint(1, 3) + $ tmp_name = renpy.input("(Use keyboard to enter the phrase.)") $ tmp_name = tmp_name.strip() @@ -837,52 +1051,54 @@ label hg_pf_handjob_2_continue: if tmp_name == "": $ tmp_name="I'm a whore" gen "(...)" ("base", xpos="far_left", ypos="head") - her "I could just call myself a \"Whore\" again, as usual..." ("annoyed", "base", "worried", "R") + her "I could just call myself a \"whore\"..." ("annoyed", "base", "worried", "R") gen "Yes. A great suggestion." ("base", xpos="far_left", ypos="head") her "..............." ("annoyed", "base", "base", "R") her "[tmp_name]." ("base", "base", "base", "mid") gen "A bit louder..." ("base", xpos="far_left", ypos="head") her "[tmp_name]!!!" ("scream", "closed", "angry", "mid") - elif random_number == 1: - her "I don't want to say that..." ("annoyed", "base", "worried", "R") - gen "Oh, just do it, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "..........." ("annoyed", "base", "worried", "R") - her "[tmp_name]." ("scream", "closed", "angry", "mid") - elif random_number == 2: - her "*huh*?" ("annoyed", "base", "worried", "R") - her "What does That have to do with anything?" - gen "Just say it." ("base", xpos="far_left", ypos="head") - her "......" ("annoyed", "base", "worried", "R") - gen "Come on, humour me." ("base", xpos="far_left", ypos="head") - her "[tmp_name]." ("scream", "closed", "angry", "mid") - elif random_number == 3: - her "..........." ("annoyed", "base", "worried", "R") - her "Do I really have to?" - gen "Just say it." ("base", xpos="far_left", ypos="head") - her "[tmp_name]." ("scream", "closed", "angry", "mid") + else: + random: + block: + her "I don't want to say that..." ("annoyed", "base", "worried", "R") + gen "Oh, just do it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "..........." ("annoyed", "base", "worried", "R") + her "[tmp_name]." ("scream", "closed", "angry", "mid") + block: + her "*Huh*?" ("annoyed", "base", "worried", "R") + her "What does that have to do with anything?" ("annoyed", "base", "worried", "R") + gen "Just say it." ("base", xpos="far_left", ypos="head") + her "......" ("annoyed", "base", "worried", "R") + gen "Come on, humour me." ("base", xpos="far_left", ypos="head") + her "[tmp_name]." ("scream", "closed", "angry", "mid") + block: + her "..........." ("annoyed", "base", "worried", "R") + her "Do I really have to?" ("annoyed", "base", "worried", "R") + gen "Just say it." ("base", xpos="far_left", ypos="head") + her "[tmp_name]." ("scream", "closed", "angry", "mid") gen "*He-he*..." ("grin", xpos="far_left", ypos="head") "{size=-4}\"-Manual user input-\"{/size}" if renpy.android: - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - her "I don't want to say that..." ("annoyed", "base", "worried", "R") - gen "Oh, just do it, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "..........." ("annoyed", "base", "worried", "R") - her "Manual user input..." ("scream", "closed", "angry", "mid") - elif random_number == 2: - her "*huh*?" ("annoyed", "base", "worried", "R") - her "What does That have to do with anything?" - gen "Just say it." ("base", xpos="far_left", ypos="head") - her "......" ("annoyed", "base", "worried", "R") - gen "Come on, humour me." ("base", xpos="far_left", ypos="head") - her "... Manual user input." ("scream", "closed", "angry", "mid") - elif random_number == 3: - her "..........." ("annoyed", "base", "worried", "R") - her "Do I really have to?" - gen "Just say it." ("base", xpos="far_left", ypos="head") - her "Manual user input." ("scream", "closed", "angry", "mid") - gen "*He-he*..." ("grin", xpos="far_left", ypos="head") + random: + block: + her "I don't want to say that..." ("annoyed", "base", "worried", "R") + gen "Oh, just do it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "..........." ("annoyed", "base", "worried", "R") + her "Manual user input..." ("scream", "closed", "angry", "mid") + block: + her "*Huh*?" ("annoyed", "base", "worried", "R") + her "What does That have to do with anything?" ("annoyed", "base", "worried", "R") + gen "Just say it." ("base", xpos="far_left", ypos="head") + her "......" ("annoyed", "base", "worried", "R") + gen "Come on, humour me." ("base", xpos="far_left", ypos="head") + her "... Manual user input." ("scream", "closed", "angry", "mid") + block: + her "..........." ("annoyed", "base", "worried", "R") + her "Do I really have to?" ("annoyed", "base", "worried", "R") + gen "Just say it." ("base", xpos="far_left", ypos="head") + her "Manual user input." ("scream", "closed", "angry", "mid") + gen "*He-heh*..." ("grin", xpos="far_left", ypos="head") jump hg_pf_handjob_2_cumming @@ -890,72 +1106,78 @@ label hg_pf_handjob_2_cumming: call her_chibi_scene("hj", trans=d5) pause.8 - call bld gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "I love that thing you do with the palm of your hand!" ("base", xpos="far_left", ypos="head") - her "You noticed...?" ("angry", "wink", "base", "mid") - her "Shall I do it some more then?" + gen "I love that thing you're doing with the palm of your hand..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You noticed...?" ("soft", "squint", "base", "mid") + her @ cheeks blush "Then I suppose I better do it some more..." ("base", "narrow", "base", "down") - call nar(">Hermione presses her palm against the tip of your pulsating cock and starts rubbing it very gently...") - gen "Oh yes!!!" ("base", xpos="far_left", ypos="head") + nar "Hermione presses her palm against the tip of your pulsating cock and starts rubbing it very gently..." + gen "Oh, yes!!!" ("grin", xpos="far_left", ypos="head") stop music fadeout 1.0 - gen "{size=-5}(I think this is it! Should I give her a warning?){/size}" ("angry", xpos="far_left", ypos="head") + gen "{size=-5}(I think this is it!){/size}" ("grin", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"(Yes, I must warn her.)\"": + "\"-Warn her!-\"": gen "I think I'm about to--" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("hj_cum_in_done", trans=d5) pause.8 if hermione.is_worn("top"): - call nar(">Hermione swiftly pulls her top up...","start") - ">She then pushes your already dribbling cock against her belly and covers it up again, placing your cock a bit higher than you would have expected..." + nar "Hermione swiftly pulls her top up..." + nar "She then pushes your already dribbling cock against her belly and covers it up, placing your cock a bit higher than you would have expected..." else: - call nar(">She pushes your already dribbling cock against her belly, placing your cock a bit higher than you would have expected...","start") - call nar(">You can feel her incredibly soft tits rubbing against the tip of your cock...","end") + nar "She pushes your already dribbling cock against her belly, placing your cock a bit higher than you would have expected..." + nar "You can feel her incredibly soft tits rubbing against the tip of your cock..." + + call cum_block + $ hermione.set_cum(breasts="light") + call her_chibi_scene("hj_cum_in", trans=d5) + pause.8 + + gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "!!!!!!!!!!!" ("grin", "happyCl", "base", "stare", xpos="right", ypos="base", cheeks="blush", flip=False) + call ctc + + call cum_block + $ hermione.set_cum(body="light") + gen "*Argh*! You whore!" ("angry", xpos="far_left", ypos="head") + nar "The sensation of her skin against your engorged cock almost makes you light-headed..." + her "Yes, [name_genie_hermione]! Just let it out!" ("grin", "narrow", "worried", "down") + gen "*Argh*! You got it, you fucking slut!" ("angry", xpos="far_left", ypos="head") call cum_block call her_chibi_scene("hj_cum_in", trans=d5) pause.8 + $ hermione.set_cum(breasts="heavy") - call bld - gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", ypos="head", flip=False) - hide screen bld1 - call ctc + her "Ah!! It's so hot!" ("soft", "closed", "base", "mid_soft") + her "And it's getting everywhere! There's so much of it!" ("soft", "closed", "worried", "up") + gen "*Argh*!!!" ("angry", xpos="far_left", ypos="head") call cum_block - $ hermione.set_cum(breasts="light", body="light") - gen "*Argh*! You whore!" ("angry", xpos="far_left", ypos="head") - call nar(">The sensation of her skin under your engorged cock almost makes you lightheaded...") - her "Yes, [genie_name]! Just let it out!" ("base", "narrow", "worried", "down", xpos="right", ypos="base") - $ hermione.set_cum(breasts="heavy", face="light") - gen "*Argh*! Fucking slut!" ("angry", xpos="far_left", ypos="head") - her "Ah!! It's so hot!" ("smile", "narrow", "base", "mid_soft") - her "And it's getting everywhere! So much of it!" ("soft", "narrow", "annoyed", "up") - her "...[genie_name]." + call her_chibi_scene("hj_cum_in", trans=d5) + pause.8 $ hermione.set_cum(body="heavy") - gen "*Argh*!!!" ("angry", xpos="far_left", ypos="head") - gen "............" ("base", xpos="far_left", ypos="head") + call her_chibi_scene("hj_cum_in_done", trans=d5) pause.8 - call bld - gen "I think I am done..." ("base", xpos="far_left", ypos="head") - her "Ah, alright..." ("angry", "wink", "base", "mid") + gen "*Ah*... That... That was great..." ("base", xpos="far_left", ypos="head") + her "You've finished, [name_genie_hermione]?" ("soft", "wink", "base", "mid") + gen "Yes...{w=0.4} *Ngh*--{w=0.2} Yes, I believe so..." ("base", xpos="far_left", ypos="head") + her "Alright..." ("base", "squint", "worried", "R") her ".............." ("base", "narrow", "worried", "down") - her "You came so much this time, [genie_name]..." ("soft", "narrow", "annoyed", "up") call ctc call hide_characters show screen blkfade with d5 - ">Hermione releases your still pulsating cock." + nar "Hermione lets go of your still pulsating cock, and you go to sit back down at your desk." call her_chibi("stand","desk","base") call gen_chibi("sit_behind_desk") @@ -965,37 +1187,33 @@ label hg_pf_handjob_2_cumming: pause.8 if game.daytime: - her "Well, I think I'd better go now... my Classes are about to start." ("base", "base", "base", "mid", xpos="right", ypos="base") + her "Well, I think I'd better go now...{w=0.4} My classes are about to start." ("open", "base", "base", "R", xpos="right", ypos="base") else: - her "Well, I think I'd better go now... It's getting late." ("base", "base", "base", "mid", xpos="right", ypos="base") + her "Well, I think I'd better go now...{w=0.4} It's getting late." ("open", "base", "base", "R", xpos="right", ypos="base") if hermione.is_worn("top"): gen "Will you be alright in those clothes?" ("base", xpos="far_left", ypos="head") else: gen "Will you be alright with this much cum on you?" ("base", xpos="far_left", ypos="head") - her "What?" ("open", "narrow", "worried", "down") - her "Oh. Yes, I will be fine..." ("grin", "base", "base", "R") + her "What?" ("angry", "narrow", "base", "down") + her @ cheeks blush "Oh... Well, I suppose I better clean myself a little bit first..." ("angry", "closed", "base", "R") + gen "*Hmm*... You know... You could just put it in your mouth and swallow next time..." ("base", xpos="far_left", ypos="head") if hermione.is_worn("top"): - her "It may soak through a little here and there, but I doubt that anyone will notice." ("base", "happyCl", "base", "mid") + gen "That would surely keep your clothes clean." ("base", xpos="far_left", ypos="head") else: - her "It may soak through a little here and there, but I doubt that anyone will notice if I wear a robe." ("base", "happyCl", "base", "mid") - gen "*Hmm*... You could just put it in your mouth next time, and avoid the trouble..." ("base", xpos="far_left", ypos="head") - her "And swallow your hot spunk like that, [genie_name]?" ("angry", "wink", "base", "mid") - if hermione.is_worn("top"): - gen "Would keep your clothes clean." ("base", xpos="far_left", ypos="head") - else: - gen "Would keep your sweet tits clean." ("base", xpos="far_left", ypos="head") + gen "That would surely avoid making such a mess." ("base", xpos="far_left", ypos="head") - if hg_blowjob.trigger == False: # Hasn't done blowjobs yet. - her "With all due respect [genie_name]..." ("upset", "closed", "base", "mid") - her "Not for the meagre {number=current_payout} points..." ("angry", "wink", "base", "mid") - her "Speaking of which. Can I get may payment now please?" + if not states.her.status.gokkun: #Hasn't swallowed. + her "With all due respect [name_genie_hermione]..." ("open", "closed", "base", "mid") + her "I believe that isn't a part of this type of favour..." ("base", "wink", "base", "mid") + her "Speaking of which... May I receive my payment now, please?" ("base", "base", "base", "mid") else: - her "Maybe next time..." ("angry", "wink", "base", "mid") - her "Can I get may payment now please?" ("angry", "wink", "base", "mid") + her "Maybe next time..." ("base", "narrow", "base", "down") + her "May I receive my payment now, please?" ("base", "closed", "base", "mid", cheeks="none") + gen "Of course..." ("base", xpos="far_left", ypos="head") - "\"(Nah... no need.)\"": - gen "Here! Take this, whore!" ("angry", xpos="far_left", ypos="head") + "\"-Too late, ejaculate!-\"": + gen "Take this, whore!" ("angry", xpos="far_left", ypos="head") call cum_block $ hermione.set_cum(face="light") @@ -1004,87 +1222,90 @@ label hg_pf_handjob_2_cumming: gen "*ARGH*!" ("angry", xpos="far_left", ypos="head") $ hermione.set_cum(breasts="light", body="light") - her "WHAT?!" ("shock", "wide", "base", "stare", ypos="head", flip=False) + her "WHAT?!" ("shock", "wide", "base", "stare", xpos="right", ypos="base", cheeks="blush", flip=False) gen "Take this!" ("angry", xpos="far_left", ypos="head") call cum_block $ hermione.set_cum(breasts="heavy") gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "!!!!!!!!!!!" ("angry", "happyCl", "base", "stare") hide screen bld1 call ctc - her "......................." ("angry", "wide", "base", "stare") + her "......................." ("angry", "narrow", "base", "down") call her_chibi_scene("hj_cum_on_done", trans=d5) pause.8 - call bld - gen "Yes... I Feel so much better now..." ("base", xpos="far_left", ypos="head") + gen "*Ah*... Much better..." ("base", xpos="far_left", ypos="head") - call her_chibi("stand","mid","base") - call gen_chibi("stand","desk","base") - - her "" ("soft", "base", "base", "mid", tears="soft", xpos="right", ypos="base") - with fade + her @ cheeks blush ".............." ("base", "narrow", "worried", "down") call ctc - her ".........." - gen "Well, I think that's about it..." ("base", xpos="far_left", ypos="head") + call hide_characters + show screen blkfade + with d5 - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "[genie_name]! What have you done?" ("scream", "happyCl", "worried", "mid") + nar "Hermione lets go of your still pulsating cock, and you go to sit back down at your desk." + + call her_chibi("stand","desk","base") + call gen_chibi("sit_behind_desk") + hide screen bld1 + hide screen blkfade + with fade + pause.8 + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "[name_genie_hermione]! Why did you do that?" ("angry", "closed", "worried", "mid") #Not angry gen "What?" ("base", xpos="far_left", ypos="head") - her "You came all over me, [genie_name]..." ("scream", "happyCl", "worried", "mid") - her "What a mess..." ("angry", "narrow", "base", "down") - her "[genie_name], you should have warned me." ("upset", "closed", "base", "mid") - gen "It's your fault, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "My fault?" ("angry", "base", "base", "mid") - gen "Yes! You got me going too well..." ("base", xpos="far_left", ypos="head") - gen "I forgot about everything else..." ("base", xpos="far_left", ypos="head") - her "Oh..." ("angry", "wink", "base", "mid") - her "Well, what's done is done..." - if hermione.is_worn("top"): - her "I will just wipe it off and hope that nobody will notice..." ("grin", "narrow", "base", "dead") - else: - her "I will just wipe the worst off and wear a robe, I hope that nobody will notice..." ("grin", "narrow", "base", "dead") - her "Can I get my payment now?" ("angry", "wink", "base", "mid") + her "You... You came all over me, [name_genie_hermione]..." ("grin", "closed", "worried", "mid") + her "Such a state you've put me in..." ("base", "closed", "base", "down") + her "You really should have warned me..." ("base", "narrow", "base", "down") + gen "It's your fault, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "My fault?!" ("angry", "base", "base", "mid") + gen "Yes! The handjob was too good!" ("base", xpos="far_left", ypos="head") + gen "You made me forget about everything else!" ("base", xpos="far_left", ypos="head") + her "Oh... That's what you meant..." ("disgust", "narrow", "base", "down") + her "Well, then I suppose there was nothing that could be done about this mess..." ("angry", "closed", "base", "mid") + her "I will just wipe it off the best I can before I go, and hope that nobody will notice..." ("grin", "narrow", "base", "dead") + gen "Don't forget your payment..." ("base", xpos="far_left", ypos="head") + her "Oh, and my payment! May I receive that, as well?" ("angry", "squint", "base", "mid", cheeks="none") + gen "Of course, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") - "-Cum in her mouth!-" if hg_blowjob.trigger == True: # Has done blowjobs already. - call bld - gen "Open your mouth, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "What?!" ("open", "wide", "base", "stare", ypos="head", flip=False) + "-Cum in her mouth!-" if states.her.status.gokkun: # Has swallowed cum before. + gen "Open your mouth, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "What?!" ("open", "wide", "base", "stare", ypos="head", cheeks="blush", flip=False) if hermione.is_worn("top"): - gen "Open your mouth, or I'll have to cover your clothes!" ("angry", xpos="far_left", ypos="head") + gen "Open your mouth, or I'll coat your clothes!" ("angry", xpos="far_left", ypos="head") else: - gen "Open your mouth, or I'll have to cover your tits!" ("angry", xpos="far_left", ypos="head") - her "....................." ("upset", "happyCl", "worried", "mid") + gen "Open your mouth, or I'll coat your tits!" ("angry", xpos="far_left", ypos="head") + her "....................." ("angry", "squint", "base", "stare") call her_chibi_scene("hj_kiss", trans=kissiris) pause.8 - call nar(">Hermione swiftly puts the tip of your cock on her lips, as if to give it a kiss...","start") - call nar(">The simple gesture makes your dick practically explode with pleasure and waves of cum.","end") + nar "Hermione swiftly puts the tip of your cock against her lips..." + nar "The simple gesture makes your dick practically explode with pleasure, and waves of cum suddenly burst from the tip." call cum_block gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - her "*Gulp!-Gulp!-Gulp*!" ("full", "wide", "base", "stare") + her @ cheeks blush "*Gulp!-Gulp!-Gulp*!" ("full", "happyCl", "base", "stare") call cum_block gen "*Argh*! You little whore!" ("angry", xpos="far_left", ypos="head") gen "Yes, you slut! Drink my cum! Drink all of it!" ("angry", xpos="far_left", ypos="head") - her "*Gulp!-Gulp!-Gulp*!" ("full_cum", "base", "worried", "mid") + her "*Gulp!-Gulp!-Gulp*!" ("full_cum", "narrow", "worried", "up") gen "*Argh*... Yes!" ("angry", xpos="far_left", ypos="head") - call nar(">You notice that Hermione is barely able to keep up with the amount of hot cum your cock is pumping into her mouth.") - her "*Gulp!-Gulp!-Gulp*!" ("full_cum", "happyCl", "worried", "mid") + nar "You notice Hermione's eyes rolling back, as she can barely keep up with the sheer amount of cum that your cock is pumping into her mouth." + her "*Gulp!-Gulp!-Gulp*!" ("full_cum", "narrow", "worried", "up") gen "*Ah-ah*..." ("angry", xpos="far_left", ypos="head") gen "This feels great..." ("angry", xpos="far_left", ypos="head") - her "*Gulp*! *Gulp*! *Gulp*!" ("full_cum", "narrow", "annoyed", "up") - gen "I think that's it, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her "*Gulp*! *Gulp*! *Gulp*!" ("full_cum", "squint", "worried", "ahegao") + gen "I think that's it, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "You can let go now..." ("base", xpos="far_left", ypos="head") - gen "...[hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "... [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") call her_chibi("stand","desk","base") call gen_chibi("sit_behind_desk") @@ -1092,26 +1313,26 @@ label hg_pf_handjob_2_cumming: her "" ("full_cum", "narrow", "base", "dead", xpos="right", ypos="base", trans=fade) call ctc - her "........................................." + her "........................................." ("full_cum", "closed", "annoyed", "dead") + play sound "sounds/gulp.ogg" her "*GULP*!!!" ("cum", "happyCl", "worried", "mid") - her "*Gu-ah-a*..." ("open_wide_tongue", "narrow", "base", "down") - her "I swallowed it all, [genie_name]!" ("grin", "narrow", "base", "dead") + her "*Gu-ah-a*..." ("open_wide_tongue", "narrow", "base", "dead") + her "I swallowed it all, [name_genie_hermione]!" ("grin", "narrow", "base", "dead") gen "Good girl..." ("base", xpos="far_left", ypos="head") - her "At one point I thought I was going to choke..." ("open", "narrow", "base", "dead") + her "Although, at one point I thought I was going to choke..." ("grin", "narrow", "worried", "dead") her "There was so much of it..." ("soft", "narrow", "base", "dead") - if hermione.is_worn("top"): - gen "Well, the deed is done, and your clothes are perfectly clean." ("base", xpos="far_left", ypos="head") - else: - gen "Well, the deed is done, and your tits are perfectly clean." ("base", xpos="far_left", ypos="head") - her "Yes! I know! It's so much easier this way!" ("base", "narrow", "worried", "down") + gen "Well, the deed is done, and you're perfectly clean." ("base", xpos="far_left", ypos="head") + her "Yes! I know! It's so much easier this way!" ("grin", "closed", "worried", "down") if game.daytime: - her "I can just go to classes now as if nothing ever happened." ("angry", "wink", "base", "mid") + her "I can just go to classes now as if nothing ever happened." ("grin", "squint", "base", "mid") else: her "I can just go and spend some time with the guys in the common room now and nobody will know..." ("base", "narrow", "worried", "down") gen "Yes... With your belly full of semen..." ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "base", "base", "mid") - her "... Can I just get paid now, please, [genie_name]?" + her "[name_genie_hermione]!" ("angry", "base", "base", "mid") + her "... I'll have my payment now, if you please..." ("angry", "squint", "base", "R") + gen "Of course... Can't keep your classmates waiting..." ("base", xpos="far_left", ypos="head") + her "..." ("angry", "base", "base", "mid", cheeks="none") jump end_hg_pf_handjob diff --git a/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy b/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy index 6c77f46b..220d0e09 100644 --- a/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy +++ b/game/scripts/characters/hermione/events/favors/give_me_a_tittyjob.rpy @@ -2,27 +2,25 @@ ### Hermione Titjob ### -label hg_pf_titjob: +label start_hg_pf_titjob: - if hg_pf_titjob.counter == 0: + if not _events_completed_any: gen "{size=-4}(Should I ask her for a titjob?){/size}" ("base", xpos="far_left", ypos="head") - else: - gen "{size=-4}(I feel like putting my cock between those tits again!){/size}" ("grin", xpos="far_left", ypos="head") - if hg_pf_titjob.counter < 1: menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu - # Start Event $ current_payout = 45 - $ hg_pf_titjob.start() + return +label hg_pf_titjob_fail: + jump end_hermione_event - # End Event - label end_hg_pf_titjob: +label end_hg_pf_titjob: # Setup stop music fadeout 1.0 @@ -34,25 +32,25 @@ label hg_pf_titjob: $ hermione.wear("all") $ hermione.zorder = 15 # Reset sprite zorder (affected by CGs) - hide screen dynamic_cg + hide cg call her_chibi("stand","desk","base", flip=False) call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) else: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) # Points - if her_tier <= 5: - gen "Yes, [hermione_name]. {number=current_payout} to Gryffindor." ("base", xpos="far_left", ypos="head") + if states.her.tier <= 5: + gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout else: - gen "You may leave now, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You may leave now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]..." ("soft", "base", "base", "R") + her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "R") if game.daytime: her "Classes are about to start..." @@ -68,26 +66,100 @@ label hg_pf_titjob: # Increase level - if her_tier == 5: - if her_whoring < 21: # Points til 21 - $ her_whoring +=1 - if her_tier == 6: - if her_whoring < 24: # Points til 24 - $ her_whoring += 1 + if states.her.tier == 5: + if states.her.level < 21: # Points til 21 + $ states.her.level +=1 + if states.her.tier == 6: + if states.her.level < 24: # Points til 24 + $ states.her.level += 1 jump end_hermione_event ### Fail Events ### -label hg_pf_titjob_fail: +label hg_pf_titjob_T1_E1: + + call start_hg_pf_titjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") - gen "Have you ever given somebody a \"titjob\"?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "I noticed how much your tits jiggle when you walk, so I figured they'd be a perfect fit for my cock!" ("base", xpos="far_left", ypos="head") + her "They'd be, what?!" ("angry", "wide", "worried", "mid") + gen "A perfect--" ("base", xpos="far_left", ypos="head") + her "I'm out of here!" ("angry", "happyCl", "angry", "mid") - $ hg_pf_titjob.fail_intentional() + call her_walk(action="leave") - jump too_much + gen "(*Hmm*... Perhaps she thought I wanted to try and fuck her nipple...)" ("base", xpos="far_left", ypos="head") + gen "(Yes...{w=0.4} That must be it.)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 12 + + jump hg_pf_titjob_fail + +label hg_pf_titjob_T2_E1: + + call start_hg_pf_titjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "Get those fat titties out and wrap them around my cock, will you?" ("base", xpos="far_left", ypos="head") + her "What?! Why would you say something like that?" ("angry", "base", "worried", "mid") + gen "It's a compliment!" ("base", xpos="far_left", ypos="head") + her "I'm leaving!" ("angry", "happyCl", "angry", "mid") + + call her_walk(action="leave") + + gen "(Women... Can't even take a compliment these days...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 10 + + jump hg_pf_titjob_fail + +label hg_pf_titjob_T3_E1: + + call start_hg_pf_titjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "How about you get your tits out, and wrap them around my cock?" ("base", xpos="far_left", ypos="head") + her "You want me to--{w=0.2} What?!" ("angry", "base", "worried", "mid") + gen "Wrap those titties of yours, around my cock!" ("base", xpos="far_left", ypos="head") + her "I'm leaving!" ("angry", "happyCl", "angry", "mid") + + call her_walk(action="leave") + + gen "(*Hmm*... Perhaps she's not confident enough that she'll do a good enough job...)" ("base", xpos="far_left", ypos="head") + gen "(Yes...{w=0.4} That must be it.)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 8 + + jump hg_pf_titjob_fail + +label hg_pf_titjob_T4_E1: + + call start_hg_pf_titjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "How do you feel about giving someone a titjob?" ("base", xpos="far_left", ypos="head") + her "A what?!" ("angry", "wide", "base", "mid") + gen "A titjob...{w=0.4} It's when you--" ("base", xpos="far_left", ypos="head") + her "I'm leaving..." ("angry", "happyCl", "worried", "mid") + gen "No wait, I was talking about myself, not--" ("base", xpos="far_left", ypos="head") + her "*Hmph*!" ("annoyed", "happyCl", "angry", "mid") + + call her_walk(action="leave") + + gen "(...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 6 + + jump hg_pf_titjob_fail ### Tier 5 ### @@ -95,84 +167,100 @@ label hg_pf_titjob_fail: # Event 2 (r) - Reluctantly does it again. label hg_pf_titjob_T5_intro_E1: + + call start_hg_pf_titjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "Now, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") + gen "Alright then...{w=0.4} [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid") gen "Have you ever given someone a \"titjob\"?" ("base", xpos="far_left", ypos="head") - her "A \"titjob\"?" ("annoyed", "narrow", "annoyed", "mid") - gen "It's where you wrap those {i}fat tits{/i} of yours around a cock..." ("base", xpos="far_left", ypos="head") - gen "And then shake them up and down, up and--" ("grin", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "base", "angry", "mid") + her "A \"titjob\"?" ("annoyed", "squint", "base", "mid") + gen "It's when you wrap some {i}fat tits{/i} around a cock..." ("base", xpos="far_left", ypos="head") + gen "And then shake them up and down, until--" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "base", "base", "mid") gen "Is that a yes?" ("base", xpos="far_left", ypos="head") - her "..............." ("disgust", "narrow", "base", "mid_soft") - her "{size=-7}No...{/size}" ("angry", "happyCl", "worried", "mid", emote="sweat") + her @ cheeks blush "..............." ("disgust", "narrow", "base", "mid_soft") + her @ cheeks blush "{size=-7}No...{/size}" ("soft", "closed", "worried", "mid", emote="sweat") gen "*Hmm*?... What was that?" ("base", xpos="far_left", ypos="head") - her "Of course I haven't..." ("open", "narrow", "angry", "R") + her @ cheeks blush "Of course I haven't..." ("angry", "narrow", "base", "mid") gen "Well then, today is your lucky day!" ("grin", xpos="far_left", ypos="head") - her "Lucky?{w} In what way would you consider it lucky?" ("disgust", "narrow", "base", "mid_soft") - gen "It's not every day that you get to learn something new." ("base", xpos="far_left", ypos="head") - her "I'm at a school... We get taught hundreds of things each day..." ("annoyed", "base", "angry", "mid") - her "And giving \"titjobs\" isn't one of them..." ("angry", "base", "angry", "mid") - gen "At least this is something you'll be able to use in the real world." ("base", xpos="far_left", ypos="head") - her "If you say so, [genie_name]..." ("annoyed", "narrow", "angry", "R") - her "..." ("annoyed", "narrow", "angry", "mid") - her "{size=-7}I want a hundred points for this...{/size}" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "Speak up, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "A hundred points!" ("scream", "happyCl", "worried", "mid") - her "" ("annoyed", "narrow", "angry", "R") + gen "It's not every day that you get to learn something new." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "It's not? Do I not get taught new things during class every day?" ("annoyed", "squint", "base", "mid") + gen "I'm talking about things that actually matter." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Right... I suppose I haven't learned the very {i}important{/i} and {i}essential{/i} skills of \"Giving titjobs\" in any of my classes..." ("angry", "narrow", "base", "R") + gen "Yes, it certainly is a flaw with our education system..." ("base", xpos="far_left", ypos="head") + gen "You should consider yourself very fortunate to have the opportunity to learn these vital life skills from me." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "If you say so, [name_genie_hermione]..." ("open", "narrow", "base", "down") + if states.her.status.blowjob: + gen "You're sounding unsure about this, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "Didn't you say you were glad to be able to help your house before giving me a blowjob?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Well, that's a bit different..." ("angry", "narrow", "base", "down") + gen "It is?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, I was mentally prepared for that, I had never even heard of a titjob before today." ("angry", "closed", "base", "mid") + gen "So, that's all that it takes?" ("base", xpos="far_left", ypos="head") + gen "Well then, I suppose I'll give you a moment to consider it..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you, [name_genie_hermione]..." ("angry", "narrow", "base", "down") + her @ cheeks blush "......" ("angry", "narrow", "base", "down") #Thinking + her @ cheeks blush "........." ("soft", "narrow", "base", "down") + her @ cheeks blush "So, I would just need to put your penis in-between my breasts and then move them up and down to stimulate it?" ("open", "wink", "base", "mid") + gen "Move them up and down, with enthusiasm." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, of course..." ("angry", "base", "base", "mid") + gen "Think you could do that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Certainly [name_genie_hermione]... No doubts about it." ("base", "squint", "base", "mid") + else: + gen "I'm hearing some uncertainty in your voice... Surely, you don't believe that you're incapable--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course not... I am confident that my breasts are large enough." ("open", "closed", "base", "mid") + gen "Well then, in that case, I expect nothing but the best from your performance today..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Naturally..." ("open", "closed", "base", "mid") + gen "And, providing you are doing enough to meet expectations..." ("base", xpos="far_left", ypos="head") + label back_to_titjob_choices: menu: gen "(...)" ("base", xpos="far_left", ypos="head") - "\"You'll get fifteen house points.\"" if her_mood == 0: - $ her_mood += 7 - her "[genie_name], are you seriously expecting me to give you a titjob..." ("angry", "closed", "angry", "mid") - her "For only a meagre fifteen points?!" ("scream", "base", "angry", "mid") - her "" ("clench", "base", "angry", "mid") + "\"I'll give you fifteen house points.\"" if states.her.mood == 0: + $ states.her.mood += 1 + her "Only--" ("angry", "wide", "angry", "stare") + her "*Ahem*..." ("angry", "closed", "base", "mid") + her "I mean... I was expecting a bit more than fifteen points for something like this, [name_genie_hermione]..." ("soft", "squint", "base", "R") gen "Then how about twenty? Does that sound fair?" ("base", xpos="far_left", ypos="head") - her "I don't know who you think I am, but I'm not doing something like this for only fifteen points!" ("open", "base", "angry", "mid") - gen "I promise I won't even cum on them..." ("base", xpos="far_left", ypos="head") - her "And you believe that \"that\" would change my mind?" ("scream", "base", "angry", "mid") - gen "I sure hoped so..." ("base", xpos="far_left", ypos="head") - her "No.{w=0.5} You need to make me a better offer... or I'll be leaving..." ("annoyed", "narrow", "angry", "R") - gen "Fair enough..." ("base", xpos="far_left", ypos="head") + her "*Hmm*... Well I suppose..." ("annoyed", "base", "base", "down") + gen "(She doesn't sound too happy about that...)" ("base", xpos="far_left", ypos="head") + gen "Alright, [name_hermione_genie], forget what I said..." ("base", xpos="far_left", ypos="head") jump back_to_titjob_choices - "\"You'll get forty-five house points.\"": + "\"I'll give you forty-five house points.\"": her "{number=current_payout} house points...?" ("open", "wink", "base", "mid") - her "This could put Gryffindor back in the lead..." ("annoyed", "narrow", "worried", "down") + her "This could put Gryffindor back in the lead..." ("soft", "narrow", "base", "down") gen "So... Is that a yes?" ("base", xpos="far_left", ypos="head") - her "It's a yes, [genie_name]..." ("open", "closed", "base", "mid") + her "It's a yes, [name_genie_hermione]..." ("open", "closed", "base", "mid") her "{number=current_payout} points sounds like a fair amount for--" ("open", "base", "base", "R") gen "For a titjob!" ("grin", xpos="far_left", ypos="head") - her "(...)" ("annoyed", "base", "angry", "mid") + her "(...)" ("base", "narrow", "base", "down") - "\"You'll get one hundred house points.\"": - call play_music("chipper_doodle") # HERMIONE'S THEME. + "\"I'll give you one hundred house points!\"": + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. $ current_payout = 100 - $ her_mood = 0 - her "{number=current_payout} house points?!" ("scream", "wide", "base", "mid") + her "{number=current_payout} house points?!" ("scream", "wide", "base", "stare") her "This might be enough to put Gryffindor in the lead!" ("smile", "wide", "base", "stare") gen "So... Is that a yes?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]!" ("smile", "happyCl", "base", "mid") - her "I shall do my best..." ("soft", "narrow", "base", "mid_soft", emote="happy") + her "Yes, [name_genie_hermione]!" ("smile", "happyCl", "base", "mid") + her "I shall do my best..." ("smile", "wink", "base", "mid_soft", emote="happy") jump hg_pf_titjob_1 label hg_pf_titjob_T5_repeat: + + call start_hg_pf_titjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], would you like to earn some house points again?" ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]..." ("base", "base", "base", "mid") - her "What would I have to do to earn them?" ("open", "base", "base", "R") + gen "[name_hermione_genie], would you like to earn some house points today?" ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]..." ("base", "base", "base", "mid") + her "What would you require me to do?" ("open", "base", "base", "R") gen "Nothing you aren't already experienced with!" ("grin", xpos="far_left", ypos="head") gen "I'm just going to rub my cock between those precious tits of yours..." ("base", xpos="far_left", ypos="head") - her "This again..." ("angry", "closed", "angry", "mid") - her "(...)" ("annoyed", "narrow", "angry", "R") - her "For {number=current_payout} house points?" ("open", "base", "angry", "mid") gen "{number=current_payout} house points, as always..." ("base", xpos="far_left", ypos="head") - her "(...)" ("annoyed", "narrow", "angry", "R") - her "Very well, [genie_name]." ("open", "closed", "base", "mid") - her "But you have to promise me that you'll make it quick..." ("annoyed", "base", "angry", "mid") + her @ cheeks blush "Very well, [name_genie_hermione]." ("open", "closed", "base", "mid") gen "..............." ("grin", xpos="far_left", ypos="head") jump hg_pf_titjob_1 @@ -184,47 +272,69 @@ label hg_pf_titjob_T5_repeat: # Event 3 (r) - Repeat. label hg_pf_titjob_T6_intro_E1: + + call start_hg_pf_titjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") - gen "How do you feel about wrapping those nice tits of yours around my cock again?" ("base", xpos="far_left", ypos="head") - her "Only nice?" ("upset", "closed", "base", "mid") - gen "Fine, fine." ("base", xpos="far_left", ypos="head") - gen "How do you feel about wrapping those perfect tits of yours around my cock again?" ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("base", "narrow", "base", "mid_soft") - gen "You like it when I call them perfect don't you?" ("base", xpos="far_left", ypos="head") - her "............." ("base", "narrow", "worried", "down") - gen "You don't have to answer, just bring those {b}perfect{/b} tits over here." ("grin", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}" ("base", "happyCl", "worried", "mid") - her "yes, [genie_name]..." ("grin", "base", "base", "R") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("soft", "base", "base", "mid") + if not states.her.status.titjob: + gen "Do you know what a \"titjob\" is?" ("base", xpos="far_left", ypos="head") + her "*Hmm*... Can't say that I've ever heard the term before... But I would assume it's like a handjob or a blowjob, except..." ("soft", "squint", "base", "R") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Except... You'd put the penis in-between your breasts, rather than in your hand or mouth?" ("normal", "happy", "base", "mid") + gen "That's right..." ("base", xpos="far_left", ypos="head") + gen "Although, not everyone are lucky enough to be able to provide a titjob..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Really?" ("open", "base", "base", "mid") + gen "Yes... The tits needs to be plump and big enough for it to work." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Right..." ("base", "narrow", "base", "down") + her @ cheeks blush "Well, I suppose my breasts are big enough..." ("open", "closed", "base", "mid") + her @ cheeks blush "Alright then... I'll do it, [name_genie_hermione]... I'll give you a titjob..." ("open", "squint", "base", "mid") + gen "How nice of you to offer, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "What do you--" ("angry", "base", "base", "mid") + gen "I only asked if you knew what a titjob is... Not if you could give me one." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But--{w=0.2} You were going to ask, right?" ("angry", "wink", "base", "mid") + gen "Well, I suppose we'll never know..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") #happyCl + gen "Now, get those big plump titties over here." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, [name_genie_hermione]..." ("open", "narrow", "base", "down") + else: + gen "How do you feel about wrapping those nice tits of yours around my cock again?" ("base", xpos="far_left", ypos="head") + her "Only nice?" ("upset", "closed", "base", "mid") + gen "How do you feel about wrapping those {b}perfect{/b} tits of yours around my cock again?" ("base", xpos="far_left", ypos="head") + her "Alright then, [name_genie_hermione]... Since you're putting it like that..." ("base", "narrow", "base", "mid_soft") jump hg_pf_titjob_2 label hg_pf_titjob_T6_intro_E2: + + call start_hg_pf_titjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") gen "I would very much like to see those perfect fun-bags of yours again..." ("base", xpos="far_left", ypos="head") gen "Wrapped around my cock!" ("grin", xpos="far_left", ypos="head") - her "Oh...{w=0.4} Again?" ("base", "narrow", "worried", "down") - her "For {number=current_payout} house points?" ("soft", "narrow", "base", "mid_soft") - gen "Yes, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "Again?" ("base", "narrow", "worried", "down") + gen "Yes, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "(...)" ("annoyed", "base", "base", "R") - her "Very well then..." ("smile", "happyCl", "base", "mid") + her "Very well..." ("base", "closed", "base", "mid") gen "Splendid!" ("grin", xpos="far_left", ypos="head") jump hg_pf_titjob_2 label hg_pf_titjob_T6_repeat: + + call start_hg_pf_titjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], how would you like wrapping those perfect tits of yours around my cock again?" ("base", xpos="far_left", ypos="head") - her "As long as I am getting paid..." ("soft", "happy", "base", "R") - gen "Well, then... Time to earn those points!" ("grin", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}" ("base", "narrow", "base", "up") + gen "[name_hermione_genie], what do you think about wrapping those perfect tits of yours around my cock again?" ("base", xpos="far_left", ypos="head") + her "Sure thing, [name_genie_hermione]..." ("soft", "happy", "base", "R") + her "{heart}{heart}{heart}" ("base", "closed", "base", "mid") jump hg_pf_titjob_2 -### First Tier Titjob ### +### Tier 5 Titjob ### label hg_pf_titjob_1: stop music fadeout 4.0 @@ -239,161 +349,200 @@ label hg_pf_titjob_1: with fade pause.8 - call play_music("playful_tension") # SEX THEME. - her "..........." ("disgust", "narrow", "worried", "down") - if hg_pf_titjob.counter == 1: - her "(It's so big...)" ("disgust", "narrow", "base", "down") - gen "Get to it, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Right..." ("angry", "happyCl", "worried", "mid", emote="sweat") - $ hermione.strip("robe", "accessory") - - if hermione.is_any_worn("top", "bra"): - her "Let me get undressed first..." ("disgust", "base", "worried", "down") - $ hermione.strip("top", "bra") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her "..........." ("soft", "narrow", "base", "down") + if not states.her.status.titjob: + her @ cheeks blush "(It's so big... Am I really going to put this between my--)" ("soft", "narrow", "base", "down") + gen "Get to it, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Right..." ("angry", "squint", "base", "mid", emote="sweat") + if hermione.is_any_worn("robe", "accessory"): + $ hermione.strip("robe", "accessory") pause 1.0 - her "" ("annoyed", "narrow", "annoyed", "mid") + if hermione.is_any_worn("top", "bra"): + her "Just need to--" ("angry", "narrow", "base", "down") + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("top", "bra") + pause 1.0 + her "There we go..." ("angry", "narrow", "base", "down") + + if not states.her.status.titjob: + her "(You can do this, Hermione... You're a Gryffindor!)" ("angry", "narrow", "base", "down") + her "(Gryffindor students can do anything they put their mind to...)" ("angry", "narrow", "base", "down") + if states.her.status.blowjob: + her "(The process surely can't be too dissimilar to that of a blowjob...)" ("angry", "narrow", "base", "down") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Sorry, [name_genie_hermione]! Here I go then!" ("mad", "squint", "base", "mid") + + her "" ("soft", "narrow", "base", "down") pause.5 # Setup - $ dynamic_cg("herm_boob", "base", "5") + show her_titjob_personal h5 as cg zorder 17 $ hermione.zorder = -1 hide hermione_main hide hermione_main with d3 - call nar(">Hermione awkwardly wraps her tits around your cock...") + nar "Hermione awkwardly wraps her tits around your cock..." call her_chibi_scene("tj_pause", trans=d5) call ctc #pause.8 - call bld - gen "That's a start.{w=0.4} Now, up and down..." ("base", xpos="far_left", ypos="head") + gen "Great...{w=0.4} Now, move your tits up and down along the shaft..." ("base", xpos="far_left", ypos="head") her "Alright..." ("angry", "happyCl", "worried", "mid", emote="sweat", ypos="head", flip=False) call her_chibi_scene("tj", trans=d5) call ctc - call play_music("playful_tension") # SEX THEME. - call bld gen "*Mmmm*..." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "6") - if hg_pf_titjob.counter == 1: - her "..." ("base", "base", "base", "mid") - her "Does it...{w=0.4} feel good?" ("base", "happy", "base", "mid") - gen "Good?" ("base", xpos="far_left", ypos="head") - gen "It feels amazing." ("base", xpos="far_left", ypos="head") - her "Oh..." ("base", "happy", "base", "mid") - her "......" - her "Thank you [genie_name]." ("base", "base", "base", "R") - - her "............" ("annoyed", "narrow", "worried", "down") - her "[genie_name]...?" ("soft", "base", "base", "mid") + show her_titjob_personal h6 as cg + her "..." ("soft", "narrow", "base", "down") + her "Does it...{w=0.4} feel good?" ("base", "happy", "base", "mid") + gen "Of course not!" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h8 as cg + her "..." ("angry", "happy", "base", "mid") + gen "It feels amazing." ("grin", xpos="far_left", ypos="head") + show her_titjob_personal h6 as cg + her "Oh..." ("base", "happy", "base", "mid") + her "......" ("base", "happy", "base", "mid") + show her_titjob_personal h10 as cg + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "R") + show her_titjob_personal h7 as cg + her "*Ehm*..." ("annoyed", "narrow", "worried", "down") + her "[name_genie_hermione]." ("soft", "base", "base", "mid") gen "What is it?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "7") - her "Promise me you won't cum on my... face..." ("upset", "wink", "base", "mid") + her @ cheeks blush "Are you planning on finishing in my mouth?" ("soft", "narrow", "base", "up") - $ d_flag_01 = False #If TRUE Genie promised to warn her. + $ _mouth = False #Says he'll cum in mouth. + $ _tits = False #Says he'll cum between tits. menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"I promise not to cover that sweet little face of yours...\"": - $ d_flag_01 = True #If TRUE Genie promised to warn her. - $ dynamic_cg("herm_boob", "base", "6") - her "Thank you, [genie_name]." ("base", "happy", "base", "mid") - "\"*Hmm*... We'll see how I feel later.\"": - $ dynamic_cg("herm_boob", "base", "8") - her "*Hmph*..." ("annoyed", "narrow", "annoyed", "mid") - her "At least try and avoid my hair..." ("normal", "happyCl", "worried", "mid") + "\"I certainly was considering it...\"": + $ _mouth = True + her @ cheeks blush "I see..." ("open", "closed", "base", "mid") + if states.her.status.gokkun: + gen "Will that be a problem?" + show her_titjob_personal h6 as cg + her @ cheeks blush "Oh, of course not, [name_genie_hermione]..." ("open", "closed", "base", "mid") + else: + show her_titjob_personal h6 as cg + her @ cheeks blush "(Ejaculate... in my mouth...)" ("base", "narrow", "base", "down") + her @ cheeks blush "(I suppose it was only a matter of time...)" ("base", "narrow", "base", "down") + "\"That's what your tits are for, [name_hermione_genie].\"": + $ _tits = True + show her_titjob_personal h8 as cg + her "Right..." ("soft", "narrow", "base", "down") - $ dynamic_cg("herm_boob", "base", "5") - her "............." ("disgust", "narrow", "worried", "down") + show her_titjob_personal h5 as cg + her "............." ("soft", "narrow", "worried", "down") gen "............." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h8 as cg her "............." ("normal", "happyCl", "worried", "mid") - her "Err... [genie_name]?" - gen "Yes, what is it?" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h5 as cg + her "*Ehm*...{w=0.4} [name_genie_hermione]?" ("open", "base", "base", "mid") + gen "Yes, what is it, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Are you almost...{w=0.3} there?" ("open", "base", "base", "mid") - gen "Why?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "7") + gen "Almost there? Why you've only just started, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h7 as cg if game.daytime: her "Well, it's just that...{w=0.3} my classes are about to start..." ("upset", "wink", "base", "mid") else: - her "Well, it's just that...{w=0.3} I promised I would meet with Ginny tonight..." ("upset", "wink", "base", "mid") - her "She's already pretty upset with how much time I'm spending in here..." - gen "Do you need the points or not?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "6") - her "I do, [genie_name]! I'm sorry..." ("grin", "happyCl", "worried", "mid") - her "I'll just keep stroking it then..." - gen "Well, there is a way to finish this up a bit faster..." ("base", xpos="far_left", ypos="head") - her "Really? What is it, [genie_name]?" ("base", "base", "base", "R") + her "Well, it's just that...{w=0.3} I promised I would meet up with a friend tonight..." ("upset", "wink", "base", "mid") + her "They're already pretty upset with how much time I'm spending outside the dormitory..." ("upset", "wink", "base", "mid") + gen "If your performance is satisfactory, then you will have ample time for less important activities." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h8 as cg + her "{size=-5}Less important...{/size}" ("soft", "narrow", "worried", "down") + gen "Besides... If you want to earn those points..." ("base", xpos="far_left", ypos="head") + her "Then I should meet the expectations..." ("grin", "happyCl", "worried", "mid") + gen "That's right..." ("base", xpos="far_left", ypos="head") + gen "That said... There are always ways to finish things up a bit faster..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h7 as cg + her @ cheeks blush "I see... Then, what would you like me to do, [name_genie_hermione]?" ("soft", "base", "base", "R") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"Tell me how much you love your tits!\"": - $ dynamic_cg("herm_boob", "base", "5") + "\"Tell me what people think of your tits!\"": + show her_titjob_personal h5 as cg her "What?" ("upset", "wink", "base", "mid") - $ dynamic_cg("herm_boob", "base", "6") - her "My breasts?" ("disgust", "narrow", "worried", "down") - gen "You know,{w=0.5} how good they feel..." ("base", xpos="far_left", ypos="head") - gen "How many eyes are drawn to you thanks to them..." ("base", xpos="far_left", ypos="head") - her "Oh,{w=0.3} okay then..." ("base", "base", "base", "mid") - her "Well...{w=0.4} There was this one time in the library..." ("smile", "base", "base", "R") - her "It was completely empty, except for me and this first year boy sitting right across from me..." - gen "*Heh*... good.{w=0.3} Go on..." ("base", xpos="far_left", ypos="head") - her "It was quite hot that day, so... I decided to take my vest off." ("base", "happy", "base", "mid") - gen "Yes! And somehow you got even hotter!" ("grin", xpos="far_left", ypos="head") - her "The boy was trying to act all sly about it, but I could tell he snuck a peek at them any chance he got..." ("base", "base", "base", "R") - her "At that point I began undoing a couple of buttons... Slowly at first, not enough for him to suspect anything..." ("base", "narrow", "base", "mid_soft") - gen "*Hmm*... You little flaunter." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "9") - her "By the third button, he couldn't take his eyes off me..." ("base", "narrow", "worried", "down") - her "And when I got to the fourth... I saw him move his hands under the desk..." + show her_titjob_personal h8 as cg + her @ cheeks blush "My breasts?" ("disgust", "narrow", "worried", "down") + gen "That's right..." ("base", xpos="far_left", ypos="head") + gen "Surely you've had plenty of unique experiences, thanks to them..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h7 as cg + her @ cheeks blush "I... Well..." ("soft", "narrow", "worried", "down") + gen "Tell me... Have you ever caught someone staring at them?" ("base", xpos="far_left", ypos="head") + her "I suppose..." ("base", "narrow", "base", "down") + gen "Go on..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h5 as cg + her @ cheeks blush "Well...{w=0.4} There was this one time in the library..." ("open", "base", "base", "R") + her @ cheeks blush "I was the only one there, apart from this other person sitting right across from me..." ("base", "base", "base", "R") + gen "Go on..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h7 as cg + her "It was a very hot day...{w=0.4} and even I was struggling not to give in, and head off to the lake..." ("angry", "happy", "base", "mid") + her "Nevertheless, the heat soon became unbearable, and I decided to remove my vest..." ("angry", "happy", "base", "mid") + gen "And somehow that made you even hotter!" ("grin", xpos="far_left", ypos="head") + show her_titjob_personal h8 as cg + her "[name_genie_hermione]..." ("open", "base", "base", "R") + gen "So, I assume this other person noticed this sudden change?" ("grin", xpos="far_left", ypos="head") + show her_titjob_personal h7 as cg + her "They certainly did... Any time I looked down at my book, I could tell that they were peeking at my chest..." ("base", "base", "base", "R") + show her_titjob_personal h5 as cg + her "Unfortunately, removing my vest was not enough, so I decided to undo a couple of buttons as well...." ("base", "narrow", "base", "mid_soft") + gen "*Hmm*... Yes, very unfortunate..." ("grin", xpos="far_left", ypos="head") + show her_titjob_personal h7 as cg + her "And by the second button, they weren't just sneaking a peek, they were barely taking their eyes off me...." ("base", "narrow", "worried", "down") + her "Once I reached for the third, I could swear I could see their hand move under the desk...." ("base", "narrow", "worried", "down") gen "Really?" ("base", xpos="far_left", ypos="head") - her "Yes... I swear I could even hear him...{w=0.3}\"doing it\"..." ("base", "narrow", "base", "up") - $ dynamic_cg("herm_boob", "base", "10") - her "I'm sure he could get a good glimpse of my bra..." ("open", "base", "base", "R") - gen "Do you have no shame?" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "5") - her "[genie_name]! I was just trying to cool off..." ("base", "narrow", "worried", "down") - gen "I'm just kidding, keep going..." ("base", xpos="far_left", ypos="head") - her ".............." ("base", "narrow", "base", "mid_soft") - $ dynamic_cg("herm_boob", "base", "9") - her "By the sixth button my entire bra was unveiled..." - her "And he must have had a really good view of my cleavage..." ("base", "base", "base", "mid") - her "And my...{w=0.3} tits..." ("soft", "narrow", "base", "mid_soft") - her "He didn't even try to hide what he was doing and just kept staring at them... touching himself..." - $ dynamic_cg("herm_boob", "base", "10") - her "Then suddenly I felt something sticky on my legs as he shot several ropes of cum under the table!" ("open_tongue", "narrow", "annoyed", "up") + her "Yes... I even thought I could hear the sound of them at one point....{w=0.3} The sound of them \"doing it\"..." ("base", "narrow", "base", "up") + gen "I suppose that's to be expected when you start stripping in front of someone." ("grin", xpos="far_left", ypos="head") + show her_titjob_personal h8 as cg + her "[name_genie_hermione]! I wasn't stripping, I was merely trying to cool off..." ("base", "narrow", "worried", "down") + gen "..." ("base", xpos="far_left", ypos="head") + her "Well, I guess I was technically stripping..." ("base", "narrow", "base", "mid_soft") + show her_titjob_personal h7 as cg + her "Anyway... By the third button, they had a clear view of the upper part of my bra...." ("base", "narrow", "base", "mid_soft") + show her_titjob_personal h6 as cg + her "As well as the entirety of my cleavage..." ("base", "base", "base", "mid") + show her_titjob_personal h7 as cg + her "At that point, they didn't even try to cover up what they were doing, and their attention was completely focused on my chest..." ("base", "base", "base", "mid") + her "That's when I suddenly felt something wet doing down my legs!" ("open_tongue", "narrow", "annoyed", "up") gen "!!!" ("angry", xpos="far_left", ypos="head") - her "Come on, [genie_name]! Cover me as well! Cover my tits in your cum!" ("grin", "base", "angry", "mid") + if _tits: + her "Come on, [name_genie_hermione]! Cum for me already! Cover my breasts in it!" ("grin", "base", "angry", "mid") + else: + her "Come on, [name_genie_hermione]! Give it to me already!" ("grin", "base", "angry", "mid") "\"Stick out your tongue!\"": - $ dynamic_cg("herm_boob", "base", "5") - her "[genie_name]?" ("open", "wink", "base", "mid") - gen "Just do it, slut!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "11") + show her_titjob_personal h7 as cg + her "[name_genie_hermione]?" ("open", "wink", "base", "mid") + gen "Just do it, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") + show her_titjob_personal h11 as cg her "*Ehm*...{w=0.4} *Ike* *ees*?" ("open_wide_tongue", "narrow", "worried", "down") gen "Yes, good..." ("base", xpos="far_left", ypos="head") - gen "Now tilt your head down a bit... as far as it'll go." ("base", xpos="far_left", ypos="head") + gen "Now tilt your head down a bit... As far as it'll go." ("base", xpos="far_left", ypos="head") her "....................." ("open_wide_tongue", "base", "base", "mid") gen "Yes...{w=0.3} Good..." ("base", xpos="far_left", ypos="head") her "..........." ("open_wide_tongue", "base", "base", "mid") her "..........." - $ dynamic_cg("herm_boob", "base", "9") + show her_titjob_personal h9 as cg her "I *khant* *eef* *ay* *outh* *oen*..." ("open_tongue", "base", "base", "mid") her "I *eel* *ool*..." ("open_wide_tongue", "narrow", "worried", "down") gen "Yes! Drool all over those perfect tits of yours!" ("angry", xpos="far_left", ypos="head") her "*Erth-ect*?" ("open_tongue", "base", "base", "mid") - gen "As perfect as any mortal, [hermione_name]!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "11") + gen "As perfect as any mortal, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h11 as cg her "......." ("base", "narrow", "base", "up") gen "Try to get it as close to the tip of my cock as you can..." ("base", xpos="far_left", ypos="head") her "............" ("normal", "happyCl", "worried", "mid") her "A-ha..." ("open_wide_tongue", "base", "base", "mid") - gen "Good, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Good, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her ".............." ("open_wide_tongue", "base", "base", "mid") - gen "Yes, keep on stroking my cock." ("base", xpos="far_left", ypos="head") - call nar(">You thrust up as she pushes her tits down causing the tip of your cock to touch her wet tongue.") + gen "Yes, and keep stroking my cock with your tits!" ("base", xpos="far_left", ypos="head") + + nar "As Hermione lets her saliva land between your cock and her tits, the friction between them gets less and less." + her ".................." ("open_wide_tongue", "base", "base", "mid") gen "That's good..." ("angry", xpos="far_left", ypos="head") her "................." ("open_wide_tongue", "base", "base", "mid") @@ -402,12 +551,12 @@ label hg_pf_titjob_1: call her_chibi_scene("tj_mouth", trans=d5) call ctc - call nar(">Your thrusts ends up going into her drooling mouth.") + nar "Hermione's movements become increasingly aggressive thanks to the lack of friction, and you feel yourself getting closer to finishing by the second." + gen "That's it, slut! Taste it!" ("angry", xpos="far_left", ypos="head") her "....................." ("open_wide_tongue", "wide", "angry", "stare") - gen "Yes, you big-titted whore!" ("base", xpos="far_left", ypos="head") + gen "Yes, keep going, you big-titted whore!" ("angry", xpos="far_left", ypos="head") her "......................" ("open_wide_tongue", "happyCl", "angry", "mid") - gen "Get ready slut..." ("angry", xpos="far_left", ypos="head") her "................" ("open_wide_tongue", "narrow", "worried", "up") with hpunch @@ -415,22 +564,22 @@ label hg_pf_titjob_1: menu: gen "..." ("base", xpos="far_left", ypos="head") - "-Cum in her mouth!-": - $ her_mood += 3 - call bld - gen "Here it comes, [hermione_name]!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "13") + "-Fill her mouth up!-": + gen "Get ready, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") + show her_titjob_personal h13 as cg call her_chibi_scene("tj_pause", trans=d5) - her "What? already?!" ("shock", "wide", "base", "stare") + her "What? already?!" ("angry", "wide", "base", "stare") gen "{size=+5}Yeah, your tits felt great!!!{/size}" ("angry", xpos="far_left", ypos="head") - gen "{size=+5}You little whore!!!{/size}" ("angry", xpos="far_left", ypos="head") - her "No, [genie_name], wait, not on my face!" ("angry", "base", "base", "mid") - gen "{size=+5}Then open wide, slut!!{/size}" ("angry", xpos="far_left", ypos="head") - her "Not my mou--" ("scream", "wide", "base", "stare") - call nar(">You grab the back of Hermione's head and force your cock into her open mouth...") - $ dynamic_cg("herm_boob", "base", "12") + gen "{size=+5}Open wide, you big-titted whore!!{/size}" ("angry", xpos="far_left", ypos="head") + if _mouth: + her "Wait, I need to--" ("angry", "wide", "base", "stare") + else: + her "Wait, I thought you said--" ("angry", "wide", "base", "stare") + + nar "You grab the back of Hermione's head, and force your cock into her open mouth..." + show her_titjob_personal h12 as cg stop music fadeout 1.0 call cum_block @@ -449,62 +598,86 @@ label hg_pf_titjob_1: call her_chibi_scene("tj_cum_in_done", trans=d5) - her "......................." ("full_cum", "narrow", "worried", "down",cheeks="blush") + her @ cheeks blush "......................." ("full_cum", "narrow", "worried", "down") gen "*Mmm*... That felt great..." ("base", xpos="far_left", ypos="head") - her "......................." ("full_cum", "narrow", "worried", "down",cheeks="blush") + her @ cheeks blush "......................." ("full_cum", "narrow", "worried", "down") gen "How are you feeling?" ("base", xpos="far_left", ypos="head") - her "......................." ("full_cum", "narrow", "worried", "down",cheeks="blush") - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "......................." ("full_cum", "narrow", "worried", "down") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") pause.2 call her_chibi_scene("tj_pause", trans=d5) pause.5 - call play_music("chipper_doodle") # HERMIONE'S THEME. - $ dynamic_cg("herm_boob", "base", "15") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + show her_titjob_personal h15 as cg her "*Ptui*..." ("open_wide_tongue_cum", "base", "angry", "mid", trans=hpunch) $ hermione.set_cum(face="light") - $ dynamic_cg("herm_boob", "base", "16") - her "Why on earth did you cum in my mouth?" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "You did say not to cum on your face..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h16 as cg + her "Why on earth did you pull my head like that?" ("angry", "happyCl", "worried", "mid", emote="sweat") pause.2 - $ dynamic_cg("herm_boob", "base", "17") + show her_titjob_personal h17 as cg call her_chibi_scene("tj_cum_on_done", trans=d5) pause.5 - call nar(">Hermione lets go of your still pulsating cock...") - her "*Ugh*...{w=0.4} You came so much!" ("angry", "happyCl", "worried", "mid", emote="sweat") - her "I had to swallow most of it..." ("disgust", "narrow", "base", "down", emote="sweat") - gen "You did a great job, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - her "I don't want to hear it..." ("angry", "narrow", "angry", "R", emote="sweat") - if game.daytime: - her "I can't go to class like this..." ("angry", "happyCl", "worried", "mid", emote="sweat") - her "I'm covered in semen..." ("disgust", "narrow", "base", "down", emote="sweat") - else: - her "At this hour the Gryffindor common room will be full of students..." ("angry", "happyCl", "worried", "mid", emote="sweat") - her "And I'm smelling like spunk!" ("scream", "happyCl", "worried", "mid") - her "I can only hope I'll be able to run past them without anybody noticing..." ("disgust", "narrow", "worried", "down") + nar "Hermione lets go of your still pulsating cock..." - gen "I mean... You could have swallowed." ("base", xpos="far_left", ypos="head") - gen "Then there wouldn't have been any clean up." ("base", xpos="far_left", ypos="head") - her "Swallow? All of that?" ("angry", "narrow", "base", "down") - her "I don't think I have enough room in my stomach..." - her "Could I please have my points now, [genie_name]?" ("soft", "base", "angry", "mid") + her "*Ugh*...{w=0.4} You came so much!" ("angry", "happyCl", "worried", "mid", emote="sweat") + her "You should've warned me sooner... That way I would've been able to reposition--" ("soft", "narrow", "base", "down", emote="sweat") + gen "..." ("base", xpos="far_left", ypos="head") + her "I mean, with my head being pulled--{w=0.2} *Ahem*...{w=0.4} It meant I couldn't swallow all of it..." ("soft", "narrow", "base", "down", emote="sweat") + her "I suppose, it may have been my fault... I should've realised." ("soft", "narrow", "base", "down", emote="sweat") + if states.her.status.gokkun: + gen "Well, you tried and that's all that matters." ("grin", xpos="far_left", ypos="head") + her "I suppose..." ("soft", "narrow", "base", "down", emote="sweat") + gen "You still did an excellent job, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + gen "I'm impressed..." ("grin", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("open", "narrow", "base", "R", emote="sweat") + else: + gen "..." ("grin", xpos="far_left", ypos="head") + her "..." ("soft", "happy", "base", "base", emote="sweat") + gen "For someone who's never swallowed before, I'd say you went well above exceeding my expectations." ("grin", xpos="far_left", ypos="head") + her "Well above..." ("soft", "narrow", "base", "down", emote="sweat") + gen "Indeed! You did an \"outstanding\" job, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + her "Well, I don't know about that..." ("soft", "narrow", "base", "down", emote="sweat") + gen "(Is she setting her own expectations now?)" ("base", xpos="far_left", ypos="head") + gen "Well, I for one, am certainly impressed..." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("open", "narrow", "base", "R", emote="sweat") + her "But that doesn't change the fact that I still failed..." ("annoyed", "narrow", "base", "R", emote="sweat") + gen "(She sounds like she's just failed a test...)" ("base", xpos="far_left", ypos="head") + her "I mean, the most optimal thing would've been to swallow it all." ("base", "narrow", "base", "down", emote="sweat") + if game.daytime: + her "That way, I don't have to go to class, smelling like semen..." ("open", "closed", "base", "mid", emote="sweat") + else: + her "That way, I don't have to go through the common-room, smelling like semen..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "I see... You're really taking things seriously." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]... I always strive to achieve the highest level of excellence in any task I am given." ("open", "closed", "base", "mid") + gen "Well, I'm sure you'll do better next time..." ("base", xpos="far_left", ypos="head") + her "Most certainly..." ("soft", "narrow", "base", "down") + if game.daytime: + her "{size=-2}Maybe if I skip breakfast... Or practice relaxing my throat...{/size}" ("base", "narrow", "base", "down") + else: + her "{size=-2}Maybe if I skip dinner... Or practice relaxing my throat...{/size}" ("base", "narrow", "base", "down") + her "Perhaps I could--" ("base", "narrow", "base", "down") + gen "Sounds like some good ideas... Now let me sit down and I'll give you the points you've earned today." ("base", xpos="far_left", ypos="head") + her "My reward! I almost forgot!" ("soft", "happy", "base", "mid") + + $ states.her.status.gokkun = True "-Cover her tits!-": with hpunch call bld - gen "*ARGH*!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "13") + gen "{size=+2}*Argh*!{/size}" ("angry", xpos="far_left", ypos="head") + show her_titjob_personal h13 as cg call her_chibi_scene("tj_pause", trans=d5) - her "WHAT?!" ("shock", "wide", "base", "stare") - gen "Take this slut!" ("angry", xpos="far_left", ypos="head") + her "{size=+2}What?!{/size}" ("shock", "wide", "base", "stare") + gen "Take this, slut!" ("angry", xpos="far_left", ypos="head") stop music fadeout 1.0 call cum_block @@ -519,31 +692,42 @@ label hg_pf_titjob_1: her "...................." ("shock", "happyCl", "worried", "mid") call cum_block $ hermione.set_cum(body="light", breasts="heavy") - $ dynamic_cg("herm_boob", "base", "18") + show her_titjob_personal h18 as cg call ctc call her_chibi_scene("tj_cum_on_done", trans=d5) her "......................." ("angry", "wide", "base", "stare") gen "Well, I think that's about it..." ("base", xpos="far_left", ypos="head") - her ".........." ("soft", "base", "base", "mid",tears="soft") + her ".........." ("soft", "base", "base", "mid") - $ dynamic_cg("herm_boob", "base", "17") - her "[genie_name]! How could you cum this much?!" ("scream", "happyCl", "worried", "mid") - her "(It's like he dumped a bucket load all over my chest...)" ("disgust", "narrow", "base", "down") - if game.daytime: - her "I can't attend classes looking like this!" ("angry", "happyCl", "worried", "mid") + show her_titjob_personal h17 as cg + if _mouth: + her "[name_genie_hermione], I thought you said you were going to finish in my mouth..." ("angry", "happyCl", "worried", "mid") + gen "Disappointed are you, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, of course not...{w=0.4} It's just..." ("angry", "happyCl", "worried", "mid") else: - her "How am I supposed to go back to the Gryffindor common room like this?!" ("angry", "happyCl", "worried", "mid") - gen "Just wipe it off..." ("base", xpos="far_left", ypos="head") - her "..........................." ("angry", "narrow", "worried", "down") - her "I would like to get paid now, [genie_name]..." ("annoyed", "narrow", "angry", "R") + her "[name_genie_hermione]! How could you cum this much?!" ("angry", "happyCl", "worried", "mid") + her "(It's like he dumped a bucket all over my chest...)" ("disgust", "narrow", "base", "down") + gen "That's what happens when you meet expectations, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Right..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "Still..." ("annoyed", "narrow", "base", "down") + + if game.daytime: + her "I can't exactly attend classes looking like this..." ("angry", "happyCl", "worried", "down") + else: + her "How am I supposed to go back to the Gryffindor common-room, looking like this?!" ("angry", "happyCl", "worried", "mid") + gen "You could just wipe it off..." ("base", xpos="far_left", ypos="head") + her "I suppose..." ("angry", "narrow", "worried", "down") + her "May I get paid now, [name_genie_hermione]?" ("soft", "happy", "base", "R") + gen "Certainly..." ("base", xpos="far_left", ypos="head") $ achievements.unlock("hertits") + $ states.her.status.titjob = True jump end_hg_pf_titjob -### Second Tier Titjob ### +### Tier 6 Titjob ### label hg_pf_titjob_2: stop music fadeout 4.0 @@ -552,11 +736,11 @@ label hg_pf_titjob_2: with d3 # Setup - $ dynamic_cg("herm_boob", "base", "6") + show her_titjob_personal h6 as cg $ hermione.zorder = -1 hide hermione_main - $ dynamic_cg("herm_boob", "base", "20") + show her_titjob_personal h20 as cg $ hermione.strip("robe", "accessory") if hermione.is_any_worn("top", "bra"): @@ -564,167 +748,188 @@ label hg_pf_titjob_2: $ hermione.strip("top", "bra") pause 1.0 - call nar(">Hermione wraps her plump tits around your cock...") + nar "Hermione wraps her plump tits around your cock..." call her_chibi_scene("tj", trans=fade) call ctc - her "Do you enjoy it when I move them like this, [genie_name]?" ("grin", "base", "base", "R", ypos="head", flip=False) - call nar(">Hermione starts alternating her breasts as she tit-fucks you.") - gen "Actually...{w=0.3} Yes! Very much!" ("grin", xpos="far_left", ypos="head") + nar "She then starts moving her breasts, alternating her speed every now and then." + her "Do you enjoy it when I move them like this, [name_genie_hermione]?" ("grin", "base", "base", "R", ypos="head", flip=False) + gen "Oh, yes... Very much!" ("grin", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. her "..." ("base", "narrow", "base", "mid_soft") gen "Yes, just like that..." ("base", xpos="far_left", ypos="head") gen "*Hmm*... You're getting pretty good at this." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "21") - her "Thank you, [genie_name]." ("base", "happyCl", "base", "mid") - her "I figured with how kind you've been it's the least I could do..." + show her_titjob_personal h21 as cg + her "Thank you, [name_genie_hermione]..." ("base", "happyCl", "base", "mid") + her "I do believe that my proficiency in identifying your preferred interests has advanced to a satisfactory level..." ("base", "closed", "base", "mid") + gen "I love it when you speak dirty to me like that..." ("base", xpos="far_left", ypos="head") + her "*Huh*?" ("soft", "base", "base", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"What do you think of my cock?\"": - $ dynamic_cg("herm_boob", "base", "22") - her "*huh*?" ("open", "base", "base", "mid") + show her_titjob_personal h22 as cg + her "*Huh*?" ("open", "base", "base", "mid") her "Your cock?" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "What do you think about--" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "23") - her "It's magnificent!" ("upset", "closed", "base", "mid") - gen "go on..." ("base", xpos="far_left", ypos="head") - her "[genie_name], If you say that I have the perfect tits..." ("soft", "narrow", "annoyed", "up") - call nar(">She squeezes her tits around your cock.") - $ dynamic_cg("herm_boob", "base", "22") - her "This, has to be the perfect cock!" ("grin", "narrow", "base", "dead") - gen "Perfect you say?" ("grin", xpos="far_left", ypos="head") + gen "Yes, my--" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h23 as cg + her "Oh!" ("angry", "base", "base", "mid") + her "It's magnificent!" ("angry", "closed", "base", "mid") + gen "Very good... Go on..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], If I have the perfect breasts..." ("soft", "narrow", "annoyed", "up") + nar "She squeezes her tits around your cock." + show her_titjob_personal h22 as cg + her "Then this has to be the perfect cock for them!" ("grin", "narrow", "base", "dead") + gen "The perfect cock... For your tits?" ("grin", xpos="far_left", ypos="head") her "The size..." ("soft", "narrow", "worried", "down") her "The shape..." ("base", "narrow", "worried", "down") - her "Everything about it..." ("base", "narrow", "base", "mid_soft") - $ dynamic_cg("herm_boob", "base", "24") - call nar(">Hermione tilts her head down and licks the tip of your cock.") + her "It just fits perfectly between my breasts..." ("base", "narrow", "base", "mid_soft") + show her_titjob_personal h24 as cg + nar "Hermione opens her mouth and lets some saliva drip onto the tip of your dick." her "..........." ("open_tongue", "narrow", "annoyed", "up") - $ dynamic_cg("herm_boob", "base", "23") - her "Perfect taste..." ("soft", "narrow", "annoyed", "up") - gen "..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "25") - her "I think your perfect cock should be shared around the school." ("scream", "closed", "angry", "mid") + show her_titjob_personal h23 as cg + her "And now it will slide between them perfectly, as well..." ("soft", "narrow", "annoyed", "up") + gen "Nice... And what else--" ("grin", xpos="far_left", ypos="head") + show her_titjob_personal h25 as cg + her "We should share this magnificent cock with everyone around the school!" ("scream", "closed", "angry", "mid") gen "Well, I wouldn't go that far--" ("base", xpos="far_left", ypos="head") - her "Listen to me, [genie_name]!" ("angry", "closed", "angry", "mid") - her "I think it should be worshipped as part of the school curriculum!" ("soft", "narrow", "annoyed", "up") - $ dynamic_cg("herm_boob", "base", "24") - her "Girls will be required to come in and bask in its glory!" ("open_tongue", "narrow", "annoyed", "up") - gen "OK, I think I've heard enough." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "21") + her "Listen to me, [name_genie_hermione]!" ("angry", "closed", "angry", "mid") + her "Worshipping your penis should be a part of the school curriculum!" ("soft", "narrow", "annoyed", "up") + show her_titjob_personal h24 as cg + her "Girls will be required to come to your office once a day, and give it one suck, all the way down to the hilt--" ("open_tongue", "narrow", "annoyed", "up") + gen "Alright... I think I've heard enough." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h21 as cg call her_chibi_scene("tj_pause", trans=d5) pause.8 her "Too much?" ("angry", "wink", "base", "mid") - gen "Yeah, just a bit." ("base", xpos="far_left", ypos="head") - her "Sorry [genie_name], I got a bit carried away..." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "No worries. Just keep on massaging it with those big tits of yours." ("base", xpos="far_left", ypos="head") + gen "Too little... One suck wouldn't be nearly enough..." ("base", xpos="far_left", ypos="head") + her "Sorry, [name_genie_hermione]... Let me make it up to you..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "Just do your best, massaging my cock with those big tits of yours, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]..." ("angry", "narrow", "base", "down", emote="sweat") call her_chibi_scene("tj", trans=d5) pause.8 her "................." ("soft", "narrow", "annoyed", "up") - call nar(">Hermione keeps on stroking your cock.","start") - $ dynamic_cg("herm_boob", "base", "25") - call nar(">Letting some spit dribble down to help lubricate it.","end") - $ dynamic_cg("herm_boob", "base", "21") - gen "Yes, yes...{w=0.3} That's it, slut!" ("base", xpos="far_left", ypos="head") + nar "Hermione keeps stroking your cock, making sure to push her breasts up and down as far as she can." + show her_titjob_personal h24 as cg + nar "Occasionally, she lets some saliva dribble from her mouth to help lubricate it." + show her_titjob_personal h21 as cg + gen "Yes...{w=0.3} That's it, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") "\"Call yourself a big-titted whore!\"": - $ dynamic_cg("herm_boob", "base", "22") - her "Excuse me?" ("open", "base", "base", "mid") - $ dynamic_cg("herm_boob", "base", "23") - her "Oh...{w=0.5} I am a big-titted whore!" ("soft", "narrow", "annoyed", "up") - gen "Good. Glad we established that." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "Call myself a--" ("open", "base", "base", "mid") + show her_titjob_personal h23 as cg + her "*Hmm*...{w=0.5} Yes, I am a big-titted whore!" ("soft", "narrow", "annoyed", "up") + gen "Very good..." ("base", xpos="far_left", ypos="head") gen "Now I want you to say..." ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"I am a shameless cumslut!\"": - $ dynamic_cg("herm_boob", "base", "22") - her "Of course." ("base", "narrow", "worried", "down") - $ dynamic_cg("herm_boob", "base", "24") - her "I am a shameless cumslut." ("soft", "narrow", "annoyed", "up") - $ dynamic_cg("herm_boob", "base", "21") + "\"I'm a shameless cumslut!\"": + show her_titjob_personal h22 as cg + her "Of course..." ("base", "narrow", "worried", "down") + show her_titjob_personal h24 as cg + her "I'm a shameless cumslut..." ("soft", "narrow", "annoyed", "up") + show her_titjob_personal h21 as cg her "A dirty little slut who's addicted to the taste of my headmaster's cum..." ("grin", "narrow", "base", "dead") gen "Yes! Good!" ("base", xpos="far_left", ypos="head") - "\"I love being covered in cum!\"": - $ dynamic_cg("herm_boob", "base", "24") + show her_titjob_personal h24 as cg her "I love being covered in cum!" ("soft", "narrow", "annoyed", "up") - her "hot..." - her "sticky..." - her "smelly..." - her "cum..." - $ dynamic_cg("herm_boob", "base", "23") + her "Hot..." ("soft", "narrow", "annoyed", "up") + her "Sticky..." ("soft", "narrow", "annoyed", "up") + her "Messy..." ("soft", "narrow", "annoyed", "up") + her "Cum..." ("soft", "narrow", "annoyed", "up") + show her_titjob_personal h23 as cg her "..................................." ("grin", "narrow", "base", "dead") - $ dynamic_cg("herm_boob", "base", "21") - her "How was that, [genie_name]?" ("angry", "wink", "base", "mid") - gen "Perfect." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h21 as cg + her "How was that, [name_genie_hermione]?" ("angry", "wink", "base", "mid") + gen "Perfect..." ("base", xpos="far_left", ypos="head") - "\"This is really good. Did you practise?\"": - $ dynamic_cg("herm_boob", "base", "22") - her "*Hmm*?..." ("base", "happyCl", "base", "mid") - $ dynamic_cg("herm_boob", "base", "21") - her "Sort of...{w=0.3} Well not on another cock..." ("angry", "wink", "base", "mid") - gen "On what then?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "Well, I spoke to Ginny..." ("grin", "base", "base", "R") - gen "A friend of yours?" ("base", xpos="far_left", ypos="head") - her "Yes. I asked if she had any tips for this sort of thing..." ("base", "base", "base", "R") - $ dynamic_cg("herm_boob", "base", "21") - her "She said the best way to improve was to practise..." ("base", "happy", "base", "mid") - gen "Practise on what?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "On Ginny." ("smile", "base", "base", "R") - $ dynamic_cg("herm_boob", "base", "23") - her "Well,{w=0.5} on her arm..." ("angry", "wink", "base", "mid") - gen "You tit-fucked your friend's arm?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "25") - her "Just as practice!" ("grin", "happyCl", "worried", "mid", emote="sweat") - $ dynamic_cg("herm_boob", "base", "22") - her "She even gave me some tips..." - $ dynamic_cg("herm_boob", "base", "23") - her "How does this feel?" ("base", "narrow", "worried", "down") - gen "*Mmm*... Yes, this feels quite good." ("base", xpos="far_left", ypos="head") - her "Does it?" ("angry", "wink", "base", "mid") - $ dynamic_cg("herm_boob", "base", "21") - her "Ginny seemed to enjoy it quite a bit as well..." ("base", "narrow", "base", "up") - gen "She did?" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "Of course she did!" ("base", "happyCl", "base", "mid") - $ dynamic_cg("herm_boob", "base", "23") - her "Who wouldn't love feeling my perfect tits..." ("base", "closed", "base", "mid") - her "Although I think she might have enjoyed it..." ("open", "narrow", "worried", "down") - $ dynamic_cg("herm_boob", "base", "22") - her "A little too much..." ("soft", "happy", "base", "R") + "\"So, you haven't been practising or anything?\"" if states.her.status.titjob: #Since she should do it once to then practice it more. + show her_titjob_personal h22 as cg + her "*Hmm*..." ("base", "happyCl", "base", "mid") + show her_titjob_personal h21 as cg + her "Well, I suppose I sort of--{w=0.3} But it wasn't on another cock..." ("angry", "wink", "base", "mid") + gen "Then what was it?" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "Well... It'd require some explaining..." ("angry", "wink", "base", "mid") + gen "Then explain..." ("base", xpos="far_left", ypos="head") + her "Well... I was taking a shower the other day, when I overheard some of the other girls comparing the size of their breasts..." ("soft", "base", "base", "R") + gen "*Gasp*!" ("base", xpos="far_left", ypos="head") + her "I know! I couldn't believe it!" ("soft", "base", "base", "R") + her "Of course, I pretended not to notice, but then they started making fun of mine, and I had to say something about it." ("annoyed", "base", "base", "R") + gen "*Even louder gasp*" ("base", xpos="far_left", ypos="head") + her "Yes, They were calling them small! Can you believe that?" ("annoyed", "base", "base", "R") + gen "One side of me wants to lie, just to hear your reaction... But I don't think I'd be able to make it sound convincing." ("base", xpos="far_left", ypos="head") + her "Yes, their words didn't sound very convincing either... But still... The fact that they even dared to utter them is astounding." ("base", "narrow", "base", "R") + show her_titjob_personal h21 as cg + gen "So, what did you say to them?" ("base", xpos="far_left", ypos="head") + her "I told them that their tits are so small, they can't even fit a dick between them!" ("base", "happy", "base", "mid") + gen "Really? You said that to them?" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "Of course I did! They were making fun of me!" ("smile", "base", "base", "R") + show her_titjob_personal h23 as cg + her "Although I didn't expect what would come next..." ("angry", "wink", "base", "mid") + gen "One of them told you to prove that you could fit a dick between your tits by having you wrap them around their arm?" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h25 as cg + her "How did you know?!" ("angry", "happyCl", "worried", "mid", emote="sweat") + show her_titjob_personal h22 as cg + gen "...{w=0.4} They were obviously baiting you to do it..." ("base", xpos="far_left", ypos="head") + her "They were--" ("angry", "base", "worried", "mid", emote="sweat") + show her_titjob_personal h23 as cg + her "Oh..." ("base", "narrow", "worried", "down") + her "So they must've known I was listening in, the entire time..." ("base", "narrow", "worried", "down") + gen "Did you lather them up with soap first?" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h21 as cg + her "*Huh*?" ("base", "narrow", "base", "up") + gen "Did you put soap on your tits, before you wrapped them--" ("grin", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "[name_genie_hermione]!" ("base", "happyCl", "base", "mid") + show her_titjob_personal h23 as cg + gen "Sorry... Perhaps I shouldn't have--" ("base", xpos="far_left", ypos="head") + her "Of course I used soap! How else would I have been able to move them up and down?" ("base", "closed", "base", "mid") + gen "Nice... I bet she loved that..." ("base", xpos="far_left", ypos="head") + her "She most certainly did..." ("open", "narrow", "worried", "down") + show her_titjob_personal h22 as cg + her "Maybe a little too much..." ("soft", "happy", "base", "R") gen "How so?" ("base", xpos="far_left", ypos="head") her "Well..." ("soft", "happy", "base", "R") - her "She might have started..." - $ dynamic_cg("herm_boob", "base", "23") - her "Playing with herself..." ("grin", "narrow", "annoyed", "up") + her "She might have started..." ("soft", "happy", "base", "R") + show her_titjob_personal h23 as cg + her "Grinding on my leg..." ("grin", "narrow", "annoyed", "up") with hpunch - with kissiris - gen "Yes, keep going slut!" ("angry", xpos="far_left", ypos="head") - her "As I was \"practising\" on her arm, she might have..." ("open", "base", "base", "R") - $ dynamic_cg("herm_boob", "base", "24") + gen "She did?!" ("angry", xpos="far_left", ypos="head") + her "Yes... Although I was too busy to notice, at first..." ("open", "base", "base", "R") + gen "So, when did you notice?" ("base", xpos="far_left", ypos="head") + her "I noticed when she... She..." ("open", "base", "base", "R") + show her_titjob_personal h24 as cg her "Orgasmed..." ("soft", "narrow", "annoyed", "up") - gen "[hermione_name], you little slut!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "23") - her "It was just practice, nothing else!" ("grin", "happyCl", "worried", "mid", emote="sweat") - her "Err... I mean..." ("angry", "wink", "base", "mid") - $ dynamic_cg("herm_boob", "base", "21") - her "It's not like I enjoyed it or anything..." ("angry", "narrow", "base", "down") - gen "Yes, yes... you're not a slut at all..." ("base", xpos="far_left", ypos="head") - gen "*Mmm*...{w=0.4} Why don't you spit on it a little..." ("base", xpos="far_left", ypos="head") - gen "Oh, yes..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "24") - her "..............." ("base", "narrow", "worried", "down") + gen "On your leg?!" ("angry", xpos="far_left", ypos="head") + show her_titjob_personal h23 as cg + her "Yes..." ("soft", "narrow", "annoyed", "up") + gen "You little slut!" ("base", xpos="far_left", ypos="head") + her "How was I supposed to know she would start--" ("grin", "happyCl", "worried", "mid", emote="sweat") + her "*Err*... I mean..." ("angry", "wink", "base", "mid") + show her_titjob_personal h21 as cg + her "I didn't notice she was doing it, so I don't see why that would make me a slut!" ("angry", "narrow", "base", "down") + gen "I was obviously referring to the girl..." ("base", xpos="far_left", ypos="head") + her "Oh..." ("angry", "narrow", "base", "down") + gen "Even then... I find it highly unlikely for you not to notice a girl rubbing up on your leg..." ("base", xpos="far_left", ypos="head") + gen "Surely, you wouldn't embellish the truth to hide your sluttishness?" ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "base", "down") + gen "Either way...{w=0.4} I think I've heard enough about your \"accidental\" lesbian escapades..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h24 as cg + her "Of course, [name_genie_hermione]..............." ("base", "narrow", "worried", "down") + nar "Hermione opens her mouth and lets her saliva dribble down on your cock." - if hg_pf_titjob.points == 1: + if not _events_completed_any: jump hg_pf_titjob_2_cumming else: # Repeat jump hg_pf_titjob_2_continue @@ -733,101 +938,121 @@ label hg_pf_titjob_2_continue: call her_chibi_scene("tj", trans=d5) call bld - gen "Yes... Keep stroking it." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "23") + gen "*Mmm*... Keep stroking it." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h23 as cg her ".............." ("angry", "wink", "base", "mid", ypos="head", flip=False) gen "Now I want you to say..." ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") "{size=-4}\"I love teasing my father with my big tits.\"{/size}": - $ dynamic_cg("herm_boob", "base", "25") - her "I do not!" ("angry", "narrow", "base", "down", ypos="head", flip=False) - gen "I know. Just say it." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "My father? That's gross, [genie_name]! How could you suggest that I would want to fu--" ("soft", "narrow", "annoyed", "up") - gen "Come on...{w=0.3} Just make something up." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h25 as cg + her "Teasing my--{w=0.2} But, [name_genie_hermione]..." ("angry", "narrow", "base", "down", ypos="head", flip=False) + gen "Just say it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "*Hmph*...{w=0.4} What do you want me to say, exactly?" ("soft", "narrow", "annoyed", "up") + gen "Just make something up, and include those big tits of yours..." ("base", xpos="far_left", ypos="head") her "..........." ("angry", "wink", "base", "mid") - her "Fine..." ("open", "narrow", "worried", "down") - $ dynamic_cg("herm_boob", "base", "21") - her "Sometimes when I hug him..." - her "......." - gen "Go on [hermione_name]..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "I press my tits against him..." ("soft", "narrow", "annoyed", "up") - gen "Do you think he enjoys it?" ("base", xpos="far_left", ypos="head") + her "Alright..." ("open", "narrow", "worried", "down") + show her_titjob_personal h21 as cg + her "Sometimes... When I hug..." ("open", "narrow", "worried", "down") + her "......." ("open", "narrow", "worried", "down") + gen "Go on, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "Sometimes when I hug my father..." ("open", "narrow", "worried", "down") + her "I press my tits against him...{w=0.2} Just to see his reaction..." ("soft", "narrow", "annoyed", "up") + gen "Nice...{w=0.2} So, do you think he enjoys it?" ("base", xpos="far_left", ypos="head") her "I'm not sure..." ("annoyed", "base", "base", "mid") - her "I think so..." ("soft", "happy", "base", "R") - $ dynamic_cg("herm_boob", "base", "23") - her "It always seems like he's trying to cover his crotch afterwards..." ("base", "closed", "base", "mid") - her "He keeps reminding me I'm too old for hugs..." ("annoyed", "closed", "base", "mid") - her "But I don't care... I make sure to give him a big one every night before I go to bed anyway..." - her "So when I've gone to bed he can't help but think of me..." ("base", "narrow", "worried", "down") + her "But I'd like to think he does..." ("soft", "happy", "base", "R") + show her_titjob_personal h23 as cg + her "I mean... He always runs off, covering his crotch afterwards..." ("base", "closed", "base", "mid") + her "About ten minutes later... He reminds me that I'm too old for hugs..." ("annoyed", "closed", "base", "mid") + her "But I don't care...{w=0.2} I always make sure to give him a big one, every night before I go to bed!" ("annoyed", "closed", "base", "mid") + her "I tell myself that I do it, just because I love him... But deep down, I know it's because I want him to think about me..." ("base", "narrow", "worried", "down") her "And how good my tits felt..." ("grin", "narrow", "base", "dead") - $ dynamic_cg("herm_boob", "base", "24") - her "Pressed against him..." ("soft", "narrow", "annoyed", "up") - gen "That's it slut." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "If I feel like teasing him a bit more I will give him a kiss on the forehead..." ("soft", "happy", "base", "R") - $ dynamic_cg("herm_boob", "base", "23") - her "Making sure that he can see down my blouse..." ("grin", "happyCl", "worried", "mid", emote="sweat") - her "{heart}{heart}{heart}" - $ dynamic_cg("herm_boob", "base", "25") - her "But all of that is not true of course!" ("open", "base", "base", "mid") - $ dynamic_cg("herm_boob", "base", "22") - her "None of that happens! It was just for you to imagine!" - gen "Right..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h24 as cg + her "I figured, if I do it before bed... Then perhaps he'll dream about it..." ("soft", "narrow", "annoyed", "up") + gen "Who wouldn't..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "Maybe if I give him a kiss on his forehead..." ("soft", "happy", "base", "R") + show her_titjob_personal h23 as cg + her "I could let him get a peek at my chest..." ("grin", "happyCl", "worried", "mid", emote="sweat") + her "{heart}{heart}{heart}" ("grin", "happyCl", "worried", "mid", emote="sweat") + show her_titjob_personal h25 as cg + her "*Ahem*...{w=0.4} Did you like that, [name_genie_hermione]?" ("angry", "base", "worried", "mid") + show her_titjob_personal h22 as cg + her "Did you like my little story?" ("soft", "base", "base", "mid") + gen "Yes... Very good, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") - "{size=-4}\"I love teasing my schoolmates with my perfect tits.\"{/size}": - $ dynamic_cg("herm_boob", "base", "23") - her "I love teasing my schoolmates with my perfect tits..." ("soft", "narrow", "annoyed", "up", ypos="head", flip=False) + "{size=-4}\"I love teasing my classmates with my perfect tits.\"{/size}": + show her_titjob_personal h23 as cg + her "I...{w=0.4} I love teasing my classmates...{w=0.4} With my perfect tits..." ("soft", "narrow", "annoyed", "up", ypos="head", flip=False) gen "Of course you do..." ("base", xpos="far_left", ypos="head") her "I love the jealous looks from the other girls..." ("base", "narrow", "worried", "down") - gen "Why wouldn't they be jealous..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "21") - her "I especially love teasing Ron and harry during breakfast..." ("base", "narrow", "base", "mid_soft") - $ dynamic_cg("herm_boob", "base", "22") - her "Sometimes I'll walk around with only one button done up..." ("base", "squint", "base", "mid") - $ dynamic_cg("herm_boob", "base", "23") - her "Other times I'll just wear my top with nothing on underneath..." - gen "And how does that make you feel?" ("base", xpos="far_left", ypos="head") - her "So good..." ("silly", "narrow", "base", "dead") - her "This one time, when walking back from your office at night, I was barely even covering them..." ("angry", "wink", "base", "mid") - her "I rounded a corner and--" ("soft", "narrow", "annoyed", "up") - $ dynamic_cg("herm_boob", "base", "24") - her "A second year boy ran head first into them..." ("grin", "narrow", "annoyed", "up") + gen "Yes, and they should be jealous..." ("base", xpos="far_left", ypos="head") + her "And that's about--" ("base", "narrow", "worried", "down") + gen "And your friends... Tell me about your friends..." ("base", xpos="far_left", ypos="head") + her "My friends?!" ("angry", "narrow", "worried", "mid") + gen "Yes, [name_genie_hermione], your friends... Tell me how you use those tits to tease them..." ("base", xpos="far_left", ypos="head") + her "But..." ("angry", "narrow", "worried", "mid") + gen "Anything... Just say anything that you can think of..." ("base", xpos="far_left", ypos="head") + her "Alright... Give me a moment to think..." ("angry", "narrow", "worried", "mid") + gen "Fine... Just make it sound believable..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h21 as cg + her "I... I love teasing my friends during breakfast..." ("base", "narrow", "base", "mid_soft") + gen "Good... Yes, breakfast is something we all eat..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "Especially during a hot day, I'll just so happen to forget to button-up my shirt properly..." ("base", "squint", "base", "mid") + gen "Naturally..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h23 as cg + her "Other times I'll just wear it, with nothing underneath... Allowing my nipples to poke through..." ("base", "squint", "base", "mid") + gen "Yes... And how does that make you feel?" ("base", xpos="far_left", ypos="head") + her "Very naughty..." ("angry", "narrow", "base", "down") + gen "And what else have you done, using those titties?" ("base", xpos="far_left", ypos="head") + her "You want me to say even more?" ("angry", "narrow", "base", "down") + her "Alright then..." ("angry", "narrow", "base", "down") + her "*Ehm*... This one time, when walking back from your office at night, I forgot to cover them up..." ("angry", "wink", "base", "mid") + her "And as I rounded a corner--" ("soft", "narrow", "annoyed", "up") + show her_titjob_personal h23 as cg + her "A Ravenclaw boy ran head first into them..." ("grin", "narrow", "annoyed", "up") gen "Head first into your first class tits?" ("base", xpos="far_left", ypos="head") - her "All I could see was the top of his head..." ("grin", "narrow", "base", "dead") - gen "What did he do?" ("base", xpos="far_left", ypos="head") - her "He immediately attempted to pull away..." - gen "attempted?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") + her "Yes... All I could see was the top of his head..." ("grin", "narrow", "base", "dead") + gen "A short king, I see..." ("base", xpos="far_left", ypos="head") + her "He immediately attempted to pull away, of course..." ("grin", "narrow", "base", "dead") + gen "Attempted?" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg her "Well...{w=0.4} I may have held him there..." ("base", "narrow", "base", "mid_soft") - her "Just for a little bit..." ("base", "narrow", "worried", "down") - $ dynamic_cg("herm_boob", "base", "23") - her "To make sure he knew it was okay..." ("base", "squint", "base", "mid") - gen "I'm sure that's why, you little slut." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "I think I might have broken him though..." ("base", "narrow", "worried", "down") - $ dynamic_cg("herm_boob", "base", "21") - her "Because once I'd let him go he didn't say anything... He just took a few slow steps backwards, turned, and scurried away." ("soft", "narrow", "annoyed", "up") - gen "I bet I know where he went..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "23") - her "So do I..." ("soft", "narrow", "annoyed", "up") + her "Only for a little bit..." ("base", "narrow", "worried", "down") + show her_titjob_personal h23 as cg + her "Just long enough so that it still looked like an accident..." ("base", "squint", "base", "mid") + gen "This really did happen, didn't it?" ("base", xpos="far_left", ypos="head") + show her_titjob_personal h22 as cg + her "*Ehm*..." ("soft", "squint", "base", "mid") + her "Then he started masturbating!" ("base", "narrow", "worried", "down") + show her_titjob_personal h21 as cg + gen "Really? Just like that?" ("base", xpos="far_left", ypos="head") + her "Of course! I mean, why wouldn't he!" ("soft", "narrow", "annoyed", "up") + gen "*Hmm*... Yes, I suppose that could've happened..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h23 as cg + + gen "Now... Why don't you spit on my dick, so we can wrap this up?" ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]..." ("soft", "narrow", "annoyed", "up") + show her_titjob_personal h24 as cg + nar "Hermione lets her saliva dribble down on your cock, and then starts rubbing her tits with renewed effort." jump hg_pf_titjob_2_cumming label hg_pf_titjob_2_cumming: call her_chibi_scene("tj", trans=d5) - call bld - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + gen "*Mmm*..." ("base", xpos="far_left", ypos="head") gen "I love your perfect tits!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "22") - her "Thank you [genie_name]." ("soft", "narrow", "annoyed", "up", ypos="head", flip=False) - $ dynamic_cg("herm_boob", "base", "23") - her "Shall I rub them some more then?" - call nar(">Hermione presses her tits together against your cock and begins rubbing it rapidly...") + show her_titjob_personal h22 as cg + her "Thank you, [name_genie_hermione]." ("soft", "narrow", "annoyed", "up", ypos="head", flip=False) + show her_titjob_personal h23 as cg + her "Shall I rub them a bit faster?" ("soft", "narrow", "annoyed", "up") + gen "Rub away, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + nar "Hermione presses her tits together against your cock and begins rubbing it rapidly..." gen "Oh, yes!!!" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 gen "{size=-5}(Almost there! Ready or not...){/size}" ("angry", xpos="far_left", ypos="head") @@ -835,21 +1060,19 @@ label hg_pf_titjob_2_cumming: menu: gen "..." ("base", xpos="far_left", ypos="head") "-Cum in her mouth-": - call bld gen "Take this, whore!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "25") + show her_titjob_personal h25 as cg her "What are you--" ("angry", "wink", "base", "mid", ypos="head", flip=False) call her_chibi_scene("tj_mouth", trans=d5) pause.8 - call bld - call nar(">With a final thrust, the sensation of Hermione's wet mouth drives you over the edge.") + nar "You pull Hermione's head onto your cock, and the sensation of her wet mouth drives you over the edge." call cum_block gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - $ dynamic_cg("herm_boob", "base", "26") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + show her_titjob_personal h26 as cg call her_chibi_scene("tj_cum_in", trans=d5) pause.8 @@ -859,65 +1082,65 @@ label hg_pf_titjob_2_cumming: her "{heart}{heart}{heart}" ("full_cum", "narrow", "base", "dead") call cum_block - gen "*Argh*! you big-titted slut! Take it all!" ("angry", xpos="far_left", ypos="head") + gen "*Argh*! You big-titted slut! Take it all!" ("angry", xpos="far_left", ypos="head") her "..............." ("full_cum", "narrow", "base", "dead") gen "............" ("base", xpos="far_left", ypos="head") call her_chibi_scene("tj_cum_in_done", trans=d5) pause.8 - call bld - gen "Okay, I think I am done..." ("base", xpos="far_left", ypos="head") + gen "There... Every, last, drop..." ("base", xpos="far_left", ypos="head") her ".............." ("full_cum", "narrow", "base", "dead") her "........" ("full_cum", "narrow", "base", "dead") her "..." ("full_cum", "narrow", "base", "dead") - $ renpy.play('sounds/gulp.ogg') #Sound of gulping down a liquid. - $ dynamic_cg("herm_boob", "base", "27") + play sound "sounds/gulp.ogg" #Sound of gulping down a liquid. + show her_titjob_personal h27 as cg her "*GULP*" ("cum", "happyCl", "worried", "mid") #play noise here call her_chibi_scene("tj_idle", trans=d5) pause.8 call bld - call nar(">Hermione releases your cock from between her tits.") + nar "Hermione releases your cock from between her tits." if game.daytime: - her "Well then, I think I'd better go... my classes are about to begin." ("base", "base", "base", "mid") + her "Well then, I think I'd better go... My classes are about to begin." ("base", "base", "base", "mid") else: her "Well then, I think I'd better go... It's getting late." ("base", "base", "base", "mid") - gen "So you're fine with swallowing now?" ("base", xpos="far_left", ypos="head") - her "What?" ("open", "narrow", "worried", "down") - her "Oh. I suppose so..." ("grin", "base", "base", "R") - her "I mean... it doesn't taste that bad and I don't have to clean up afterwards." ("base", "happyCl", "base", "mid") - gen "*Hmm*... You sure you wouldn't like people seeing your tits covered in cum..." ("base", xpos="far_left", ypos="head") - her "What? Walk around school covered in your cum, [genie_name]?" ("angry", "wink", "base", "mid") + gen "Hold on, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes?" ("open", "narrow", "worried", "down") + gen "You forgot to thank me..." ("base", xpos="far_left", ypos="head") + her "Thank you--" ("open", "narrow", "worried", "down") + gen "For the meal..." ("base", xpos="far_left", ypos="head") + her "Oh...{w=0.4} Thank you for the meal, [name_genie_hermione]..." ("grin", "base", "base", "R") + her "(Now that I think about it... I suppose it doesn't taste that bad...)" ("soft", "narrow", "base", "down") + gen "*Hmm*... Or perhaps you would've preferred to walk outside with cum all over you?" ("base", xpos="far_left", ypos="head") + her "(It's less wasteful... I don't need to eat as much food... And I don't have to clean up afterwards...)" ("base", "narrow", "base", "down") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "*Huh*... Yes?" ("soft", "happy", "base", "R") + gen "I knew it..." ("base", xpos="far_left", ypos="head") + her "Oh... Are we done already, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "Yes, we're done [name_hermione_genie]... And don't worry... I'll make sure to give you what you want some other time..." ("base", xpos="far_left", ypos="head") + her "???" ("soft", "base", "base", "mid") - if her_tier < 6: - her "With all due respect, [genie_name]..." ("upset", "closed", "base", "mid") - her "I don't plan on getting a reputation as a cum-loving whore..." ("angry", "wink", "base", "mid") - her "Not like those Slytherin girls..." ("angry", "narrow", "angry", "R") - else: - her "*Hmm*..." ("soft", "happy", "base", "R") - her "Maybe if you ask nicely..." ("soft", "narrow", "base", "mid_soft") - her "Will that be all, [genie_name]?" ("base", "closed", "base", "mid") + $ states.her.status.gokkun = True "-Cum on her tits-": call her_chibi_scene("tj_pause", trans=d5) - call bld - gen "Here! Take this you big-titted whore!" ("angry", xpos="far_left", ypos="head") + gen "Take this, you big-titted whore!" ("angry", xpos="far_left", ypos="head") with hpunch gen "*ARGH*!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "25") - her "What? Already?!" ("shock", "wide", "base", "stare", ypos="head", flip=False) - gen "Yeah, your tits felt great slut!" ("angry", xpos="far_left", ypos="head") + show her_titjob_personal h25 as cg + her "What? Already?!" ("angry", "wide", "base", "stare", ypos="head", flip=False) + gen "Aaah, yes!" ("angry", xpos="far_left", ypos="head") call cum_block call her_chibi_scene("tj_cum_on", trans=d9) pause.8 - $ dynamic_cg("herm_boob", "base", "30") + show her_titjob_personal h30 as cg $ hermione.set_cum(breasts="light") call bld @@ -927,41 +1150,39 @@ label hg_pf_titjob_2_cumming: her "!!!!!!!!!!!" ("shock", "wide", "base", "stare") - $ dynamic_cg("herm_boob", "base", "31") + show her_titjob_personal h31 as cg her "......................." ("angry", "wide", "base", "stare") - $ dynamic_cg("herm_boob", "base", "32") + show her_titjob_personal h32 as cg call her_chibi_scene("tj_cum_on_done", trans=d9) pause.8 - call bld - gen "*Aghhh*... I feel so much lighter now..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "33") + gen "*Ah*... I feel like I've lost five pounds..." ("base", xpos="far_left", ypos="head") + show her_titjob_personal h33 as cg her "......................." ("base", "narrow", "base", "down") - call play_music("chipper_doodle") # HERMIONE'S THEME. - $ dynamic_cg("herm_boob", "base", "35") - her "[genie_name]!" ("open", "happyCl", "worried", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + show her_titjob_personal h35 as cg + her "[name_genie_hermione]!" ("open", "happyCl", "worried", "mid") gen "What?" ("base", xpos="far_left", ypos="head") her "You've covered my chest in cum..." ("angry", "happyCl", "worried", "mid") - $ dynamic_cg("herm_boob", "base", "34") + show her_titjob_personal h34 as cg her "There's so much..." ("open", "base", "base", "R") - gen "It's your fault, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "It's your fault, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") her "My fault?" ("angry", "base", "base", "mid") - gen "Yes! It's those perfect tits of yours..." ("base", xpos="far_left", ypos="head") + gen "It's those perfect tits of yours!" ("base", xpos="far_left", ypos="head") gen "They just felt too good..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_boob", "base", "36") - her "Oh..." ("shock", "wide", "base", "stare") - her "Well, If that's the reason then I suppose it's not too bad..." ("soft", "narrow", "base", "down") - $ dynamic_cg("herm_boob", "base", "37") - her "I'll just wipe it off and hope that nobody will notice..." ("upset", "closed", "base", "mid") + show her_titjob_personal h36 as cg + her "*Hmm*... I suppose you're right..." ("soft", "narrow", "base", "down") + show her_titjob_personal h37 as cg + her "Oh well... I'll just wipe it off the best I can, and hope that nobody will notice..." ("upset", "closed", "base", "mid") gen "You could lick them clean..." ("base", xpos="far_left", ypos="head") - if her_tier < 6: - her "You want me to lick your cum off my tits?" ("soft", "narrow", "annoyed", "up") - her "I don't think so, [genie_name]..." ("soft", "narrow", "annoyed", "up") - else: - her "*Hmm*..." ("soft", "happy", "base", "R") - her "Next time maybe... If you ask nicely..." ("grin", "happyCl", "base", "mid_soft") - her "Will that be all, [genie_name]?" ("base", "closed", "base", "mid") + her "You want me to lick your cum off my tits?" ("soft", "narrow", "annoyed", "up") + gen "Oh, yes..." ("base", xpos="far_left", ypos="head") + her "*Hmm*... Well, I don't think I'd be able to reach..." ("soft", "narrow", "annoyed", "up") + gen "That's too bad..." ("base", xpos="far_left", ypos="head") + her "Will that be all, [name_genie_hermione]?" ("base", "closed", "base", "mid") + gen "Yes, that shall do for now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + $ states.her.status.titjob = True jump end_hg_pf_titjob diff --git a/game/scripts/characters/hermione/events/favors/grope_her.rpy b/game/scripts/characters/hermione/events/favors/grope_her.rpy index 2ed12306..434cbddf 100644 --- a/game/scripts/characters/hermione/events/favors/grope_her.rpy +++ b/game/scripts/characters/hermione/events/favors/grope_her.rpy @@ -2,24 +2,25 @@ ### Hermione Groping ### -label hg_pf_grope: +label start_hg_pf_grope: - gen "{size=-4}(I will grope her a little. Pretty harmless stuff.){/size}" ("base", xpos="far_left", ypos="head") + if not _events_completed_any: + gen "{size=-4}(I will grope her a little. Pretty harmless stuff.){/size}" ("base", xpos="far_left", ypos="head") - if hg_pf_grope.counter < 1: menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu - # Start Event $ current_payout = 15 - $ hg_pf_grope.start() + return +label hg_pf_grope_fail: + jump end_hermione_event - # End Event - label end_hg_pf_grope: +label end_hg_pf_grope: # Setup stop music fadeout 1.0 @@ -27,69 +28,69 @@ label hg_pf_grope: show screen blkfade with d3 - ">You let go of Hermione..." + nar "You let go of Hermione..." $ hermione.wear("all") call her_chibi("stand","desk","base", flip=False) call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: + if states.her.mood != 0: her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) else: her "" ("soft", "narrow", "base", "R", xpos="mid", ypos="base", trans=fade) gen "This will do for now." ("base", xpos="far_left", ypos="head") - if her_tier <= 3: - her "................" ("annoyed", "narrow", "angry", "R", cheeks="blush") + if states.her.tier <= 3: + her @ cheeks blush "................" ("annoyed", "narrow", "angry", "R") else: - her "................" (face="horny", cheeks="blush") + her @ cheeks blush "................" ("soft", "narrow", "base", "R") # Points - if her_tier <= 5: + if states.her.tier <= 5: $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") else: - gen "You may leave now, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You may leave now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "worried", "R") - her "Thank you, [genie_name]..." - elif her_tier <= 4: + her "Thank you, [name_genie_hermione]..." + elif states.her.tier <= 4: her ".................." ("base", "base", "base", "R") - her "Thank you, [genie_name]..." ("soft", "base", "base", "mid") + her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "mid") else: her ".................." ("soft", "narrow", "annoyed", "up") - her "Thank you, [genie_name]..." ("soft", "narrow", "base", "mid_soft") + her "Thank you, [name_genie_hermione]..." ("soft", "narrow", "base", "mid_soft") if game.daytime: - her "Now if you don't mind, I'd better go. My classes are about to start." + her "Now, if you don't mind, I'd better go. My classes are about to start." else: her "I'd better go now. It's getting pretty late..." # Hermione leaves call her_walk("door", "base") - if her_tier > 5: - her "(What about my points?)" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="base", flip=True) - if her_whoring < 24: + if states.her.tier > 5: + her @ cheeks blush "(What about my points?)" ("disgust", "narrow", "base", "down", xpos="base", flip=True) + if states.her.level < 24: her "(I'll just ask him about it next time...)" ("annoyed", "narrow", "angry", "R") else: - her "(Eh, who cares...)" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "(Eh, who cares...)" ("base", "narrow", "base", "up") pause.5 call her_chibi("leave") # Increase level - if her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + if states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 - if her_tier == 3: - if her_whoring < 12: # Points til 12 - $ her_whoring += 1 + if states.her.tier == 3: + if states.her.level < 12: # Points til 12 + $ states.her.level += 1 jump end_hermione_event @@ -98,31 +99,31 @@ label hg_pf_grope: # Those events still prgress, but Hermione will run off and get mad. # The heart icons for these events are 'black' -label hg_pf_grope_T1_fail_intro: - gen "[hermione_name], would you mind if I play with your tits a little?" ("base", xpos="far_left", ypos="head") - her "Play with...?" ("shock", "wide", "base", "stare") - her "My tits?!" ("angry", "wide", "base", "mid") - gen "Or your butt! I haven't fully decided yet!" ("grin", xpos="far_left", ypos="head") +label hg_pf_grope_T1_E1: - $ hg_pf_grope.fail_intentional() + call start_hg_pf_grope - jump too_much - -label hg_pf_grope_T1_fail_repeat: - gen "[hermione_name], I'd like to grope you a little!" ("grin", xpos="far_left", ypos="head") - her "This again...?" ("angry", "base", "angry", "mid") - her "I've told you before, [genie_name], absolutely not!!" ("scream", "closed", "angry", "mid") - her "By Merlin's beard..." ("angry", "base", "angry", "mid") - gen "Please?" ("base", xpos="far_left", ypos="head") - her "I'm leaving! Good day, Sir!" ("soft", "closed", "base", "mid") + if not _event_completed_failed: + gen "[name_hermione_genie], would you mind if I play with your tits a little?" ("base", xpos="far_left", ypos="head") + her "Play with...?" ("shock", "wide", "base", "stare") + her "My tits?!" ("angry", "wide", "base", "mid") + gen "Or your butt! I haven't fully decided yet!" ("grin", xpos="far_left", ypos="head") + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare") + her "How could you ask for such a thing!?" ("angry", "wide", "base", "stare") + her "I think I better leave." ("angry", "happyCl", "worried", "mid") + else: + gen "[name_hermione_genie], I'd like to grope you a little!" ("grin", xpos="far_left", ypos="head") + her "This again...?" ("angry", "base", "angry", "mid") + her "I've told you before, [name_genie_hermione], absolutely not!!" ("scream", "closed", "angry", "mid") + her "By Merlin's beard..." ("angry", "base", "angry", "mid") + gen "Please?" ("base", xpos="far_left", ypos="head") + her "I'm leaving! Good day, Sir!" ("soft", "closed", "base", "mid") call her_walk(action="leave") - $ her_mood += 6 + $ states.her.mood += 6 - $ hg_pf_grope.fail_intentional() - - jump end_hermione_event + jump hg_pf_grope_fail ### Tier 2 ### @@ -131,8 +132,8 @@ label hg_pf_grope_T1_fail_repeat: label hg_pf_grope_T2_intro_E1: stop music fadeout 2.0 - gen "Come closer [hermione_name]... Hop around my desk..." ("base", xpos="far_left", ypos="head") - her "*Ehm*... very well, [genie_name]." ("disgust", "narrow", "base", "down") + gen "Come closer [name_hermione_genie]... Hop around my desk..." ("base", xpos="far_left", ypos="head") + her "*Ehm*... Very well, [name_genie_hermione]." ("disgust", "narrow", "base", "down") call her_walk("desk", "base", reduce=0.8) call blkfade @@ -142,29 +143,29 @@ label hg_pf_grope_T2_intro_E1: call her_chibi_scene("behind_desk_front", trans=fade) pause.5 - her "[genie_name].....?" ("annoyed", "base", "worried", "R", ypos="head", flip=False) + her "[name_genie_hermione].....?" ("annoyed", "base", "worried", "R", ypos="head", flip=False) gen "..." ("base", xpos="far_left", ypos="head") menu: "\"I'm gonna molest your tits now.\"": - her "What? What do you mean, [genie_name]--" ("soft", "wide", "base", "stare") + her "What? What do you mean, [name_genie_hermione]--" ("soft", "wide", "base", "stare") if hermione.is_worn("top"): - call nar(">You reach out swiftly and grab both of her tits through her clothes...") + nar "You reach out swiftly and grab both of her tits through her clothes..." elif hermione.is_worn("bra"): - call nar(">You reach out swiftly and grab both of her tits through her bra...") + nar "You reach out swiftly and grab both of her tits through her bra..." else: - call nar(">You reach out swiftly and grab both of her tits...") #Fallback, she'd usually wear a bra on this level. + nar "You reach out swiftly and grab both of her tits..." #Fallback, she'd usually wear a bra on this level. jump hg_pf_grope_breasts_T2 "\"I'm gonna play with your butt a little.\"": - call nar(">You reach out and place your hand on her butt cheeks...") + nar "You reach out and place your hand on her butt cheeks..." jump hg_pf_grope_ass_T2 label hg_pf_grope_T2_E1: stop music fadeout 2.0 - gen "Come closer [hermione_name]... Hop around my desk..." ("base", xpos="far_left", ypos="head") + gen "Come closer [name_hermione_genie]... Hop around my desk..." ("base", xpos="far_left", ypos="head") her "..............." ("annoyed", "base", "angry", "mid") call her_walk("desk", "base", reduce=0.8) @@ -175,7 +176,7 @@ label hg_pf_grope_T2_E1: call her_chibi_scene("behind_desk_front", trans=fade) pause.5 - her "[genie_name].....?" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) + her "[name_genie_hermione].....?" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) gen "..." ("base", xpos="far_left", ypos="head") menu: @@ -183,16 +184,16 @@ label hg_pf_grope_T2_E1: her "!!!" ("soft", "wide", "worried", "shocked") her "S-Sir?!" ("disgust", "happyCl", "worried", "mid") if hermione.is_worn("top"): - call nar(">You reach out swiftly and grab both of her tits through her clothes...") + nar "You reach out swiftly and grab both of her tits through her clothes..." elif hermione.is_worn("bra"): - call nar(">You reach out swiftly and grab both of her tits through her bra...") + nar "You reach out swiftly and grab both of her tits through her bra..." else: - call nar(">You reach out swiftly and grab both of her tits...") #Fallback, she'd usually wear a bra on this level. + nar "You reach out swiftly and grab both of her tits..." #Fallback, she'd usually wear a bra on this level. jump hg_pf_grope_breasts_T2 "\"I'm gonna play with your butt a little.\"": - call nar(">You reach out and place your hand on her butt cheeks...") + nar "You reach out and place your hand on her butt cheeks..." jump hg_pf_grope_ass_T2 @@ -202,32 +203,32 @@ label hg_pf_grope_T2_E1: # Event 2 (i) - Hermione is indignant. label hg_pf_grope_T3_intro_E1: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("base", "base", "base", "mid") gen "How would you like to earn some house points today?" ("base", xpos="far_left", ypos="head") her "And what would I need to do to earn them?" ("annoyed", "narrow", "annoyed", "mid") - gen "Oh nothing too out of the ordinary." ("base", xpos="far_left", ypos="head") - gen "You just stand here while I grope you for a bit..." ("base", xpos="far_left", ypos="head") - her "[genie_name]... I'd prefer it if you wouldn't make me such offers..." ("annoyed", "narrow", "annoyed", "mid") + gen "Oh, nothing too out of the ordinary." ("base", xpos="far_left", ypos="head") + gen "You'd just have to stand here, while I grope you for a bit..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]... I'd prefer it if you wouldn't make me such offers..." ("annoyed", "narrow", "annoyed", "mid") gen "Why? Too hard to resist?" ("base", xpos="far_left", ypos="head") - her "Nothing like that, [genie_name]." - gen "Well, how about you come closer and bare your tits for me...?" ("base", xpos="far_left", ypos="head") + her "Nothing of the sort, [name_genie_hermione]." + gen "Well, that's my offer, so how about you come closer and bare your tits for me...?" ("base", xpos="far_left", ypos="head") gen "I feel like playing with them a little..." ("grin", xpos="far_left", ypos="head") her "!!!" ("open", "base", "base", "mid") gen "Or your butt..." ("base", xpos="far_left", ypos="head") gen "I'd like to give it a good squeeze." ("grin", xpos="far_left", ypos="head") - her "[genie_name]! Don't you think this is too much?" ("disgust", "narrow", "base", "mid_soft") + her "[name_genie_hermione]! Don't you think this is too much?" ("disgust", "narrow", "base", "mid_soft") gen "You think?" ("base", xpos="far_left", ypos="head") her "I am not one of those harlots from Slytherin, you know..." - gen "I know... You are from {i}Gryfonmon{/i}... or something..." ("base", xpos="far_left", ypos="head") #<- GRYFFINDOR MISSPELLED ON PURPOSE - her "And if I don't feel like it, I don't have to sell you a single favour, [genie_name]!" ("annoyed", "base", "worried", "R") + gen "I know... You are from {i}Gryfonmon{/i}... Or something..." ("base", xpos="far_left", ypos="head") #<- GRYFFINDOR MISSPELLED ON PURPOSE + her "So if I don't feel like it, then I don't have to sell you a single favour, [name_genie_hermione]!" ("annoyed", "base", "worried", "R") gen "Of course..." ("base", xpos="far_left", ypos="head") her "..................." ("annoyed", "narrow", "angry", "R") - gen "I'll give you {number=current_payout} house points for this." ("base", xpos="far_left", ypos="head") + gen "So, I'd like to award {number=current_payout} house points to Gryffindor... If you \"feel\" like earning any more points from me, that is." ("base", xpos="far_left", ypos="head") her "......................." ("disgust", "narrow", "base", "mid_soft") - her "All you are going to do is watch, [genie_name]?" - gen "Well, I feel more like touching, actually..." ("base", xpos="far_left", ypos="head") + her "Is watching me not enough, [name_genie_hermione]?" + gen "Why watch, when I could touch..." ("base", xpos="far_left", ypos="head") her "...................................." call her_walk("desk", "base", reduce=0.8) @@ -238,34 +239,33 @@ label hg_pf_grope_T3_intro_E1: call her_chibi_scene("behind_desk_front", trans=fade) pause .5 - her "[genie_name].....?" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) + her "[name_genie_hermione].....?" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) gen "..." ("base", xpos="far_left", ypos="head") menu: "\"I'm gonna play with your tits now.\"": if hermione.is_worn("top"): - call nar(">You reach out swiftly and grab both of her tits through her clothes...") + nar "You reach out swiftly to grab both of her tits through her clothes..." elif hermione.is_worn("bra"): - call nar(">You reach out swiftly and grab both of her tits through her bra...") + nar "You reach out swiftly to grab both of her tits through her bra..." else: - call nar(">You reach out swiftly and grab both of her tits...") #Fallback, she'd usually wear a bra on this level. - her "[genie_name].....?" ("disgust", "happyCl", "worried", "mid") + nar "You reach out swiftly to grab both of her tits..." #Fallback, she'd usually wear a bra on this level. jump hg_pf_grope_breasts_T3 "\"I'm gonna play with your butt a little.\"": - call nar(">You reach out and place your hand on her butt cheeks...") + nar "You reach out and place your hand on her butt cheeks..." jump hg_pf_grope_ass_T3 label hg_pf_grope_T3_E1: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("base", "base", "base", "mid") gen "How would you like to earn some house points today?" ("base", xpos="far_left", ypos="head") her "And what would I need to do to earn them?" ("annoyed", "narrow", "annoyed", "mid") gen "Get squeezed!" ("grin", xpos="far_left", ypos="head") - her "squeezed......?" ("annoyed", "narrow", "angry", "R") - gen "Come here, I'll show you." ("base", xpos="far_left", ypos="head") + her "Squeezed......?" ("annoyed", "narrow", "angry", "R") + gen "Come here, and I'll show you." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "angry", "down") call her_walk("desk", "base", reduce=0.8) @@ -276,33 +276,37 @@ label hg_pf_grope_T3_E1: call her_chibi_scene("behind_desk_front", trans=fade) pause.5 - her "[genie_name].....?" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) + her "[name_genie_hermione].....?" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False) gen "..." ("base", xpos="far_left", ypos="head") menu: "\"I'm gonna molest your tits now.\"": - #call nar(">You reach out swiftly and grab both of her tits through her uniform...") - her "[genie_name].....?" ("disgust", "happyCl", "worried", "mid") + if hermione.is_worn("top"): + nar "You reach out swiftly and grab both of her tits through her clothes..." + elif hermione.is_worn("bra"): + nar "You reach out swiftly and grab both of her tits through her bra..." + else: + nar "You reach out swiftly and grab both of her tits..." #Fallback, she'd usually wear a bra on this level. jump hg_pf_grope_breasts_T3 "\"I'm gonna play with your butt a little.\"": - call nar(">You reach out and place your hand on her butt cheeks...") + nar "You reach out and place your hand on her butt cheeks..." jump hg_pf_grope_ass_T3 ### Tier 4 ### -# Event 1 (i) - Hermione ejoys it. +# Event 1 (i) - Hermione enjoys it. # Event 2 (i) - Hermione asks if you are going to grope her tits or her ass. -# Event 2 (i) - Hermione ejoys it. +# Event 2 (i) - Hermione enjoys it. label hg_pf_grope_T4_intro_E1: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("base", "base", "base", "mid") gen "Would you like to join me again?" ("base", xpos="far_left", ypos="head") gen "Behind my desk." ("grin", xpos="far_left", ypos="head") - her "Are you going to grope me again, [genie_name]?" ("soft", "narrow", "base", "mid_soft") + her "Are you going to grope me again, [name_genie_hermione]?" ("soft", "narrow", "base", "mid_soft") gen "You just read my mind!" ("grin", xpos="far_left", ypos="head") her "..................." ("disgust", "narrow", "base", "down") @@ -314,24 +318,28 @@ label hg_pf_grope_T4_intro_E1: call her_chibi_scene("behind_desk_front", trans=fade) pause.5 - her "[genie_name].....?" ("base", "narrow", "worried", "down", ypos="head", flip=False) + her "[name_genie_hermione].....?" ("base", "narrow", "worried", "down", ypos="head", flip=False) gen "..." ("base", xpos="far_left", ypos="head") menu: "\"I'm gonna molest your tits now.\"": - #call nar(">You reach out swiftly and grab both of her tits through her uniform...") - her ".........." ("base", "narrow", "worried", "down") + if hermione.is_worn("top"): + nar "You reach out swiftly to grab both of her tits through her clothes..." + elif hermione.is_worn("bra"): + nar "You reach out swiftly to grab both of her tits through her bra..." + else: + nar "You reach out swiftly and grab both of her tits..." jump hg_pf_grope_breasts_T4 "\"I'm gonna play with your butt a little.\"": - call nar(">You reach out and place your hand on her butt cheeks...") + nar "You reach out and place your hand on her butt cheeks..." jump hg_pf_grope_ass_T4 label hg_pf_grope_T4_intro_E2: - gen "[hermione_name]. Come here and join me..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]. Come here and join me..." ("base", xpos="far_left", ypos="head") gen "I feel like playing with you a little." ("grin", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("soft", "base", "base", "R") + her "Yes, [name_genie_hermione]..." ("soft", "base", "base", "R") call her_walk("desk", "base", reduce=0.8) call blkfade @@ -341,7 +349,7 @@ label hg_pf_grope_T4_intro_E2: call her_chibi_scene("behind_desk_front", trans=fade) pause.5 - her "[genie_name].....?" ("soft", "narrow", "worried", "down", ypos="head", flip=False) + her "[name_genie_hermione].....?" ("soft", "narrow", "worried", "down", ypos="head", flip=False) gen "Yes?" ("base", xpos="far_left", ypos="head") her "Are you going to grope my breasts again?" ("soft", "base", "base", "mid") her "Or my bum?...." ("soft", "narrow", "base", "mid_soft") @@ -349,25 +357,25 @@ label hg_pf_grope_T4_intro_E2: menu: "\"I'm gonna play with your tits today.\"": - her "Of course, [genie_name]." ("base", "narrow", "worried", "down") + her "Of course, [name_genie_hermione]." ("base", "narrow", "worried", "down") - if not hermione.is_worn("top") and hermione.is_worn("bra"): - call nar(">You reach out swiftly and grab both of her tits through her bra...") - elif hermione.is_worn("top") and not hermione.is_worn("bra"): - call nar(">You reach out swiftly and grab both of her tits through her clothes...") + if hermione.is_worn("top"): + nar "You reach out swiftly to grab both of her tits through her clothes..." + elif hermione.is_worn("bra"): + nar "You reach out swiftly to grab both of her tits through her bra..." else: - call nar(">You reach out swiftly and grab both of her tits...") + nar "You reach out swiftly and grab both of her tits..." jump hg_pf_grope_breasts_T4 "\"I'm gonna play with your butt today.\"": - her "Of course, [genie_name]." ("base", "narrow", "worried", "down") - call nar(">You reach out and place your hand on her butt cheeks...") + her "Of course, [name_genie_hermione]." ("base", "narrow", "worried", "down") + nar "You reach out and place your hand on her butt cheeks..." jump hg_pf_grope_ass_T4 label hg_pf_grope_T4_E2: - gen "[hermione_name]. Come here and let me grope you!" ("grin", xpos="far_left", ypos="head") - her "Of course, [genie_name]..." ("base", "narrow", "base", "mid_soft") + gen "[name_hermione_genie]. Come here and let me grope you!" ("grin", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]..." ("soft", "narrow", "base", "mid_soft") call her_walk("desk", "base", reduce=0.8) call blkfade @@ -377,36 +385,33 @@ label hg_pf_grope_T4_E2: call her_chibi_scene("behind_desk_front", trans=fade) pause.5 - her "Are you going to grope my breasts today, [genie_name]?" ("soft", "narrow", "base", "R_soft", ypos="head", flip=False) + her "Are you going to grope my breasts today, [name_genie_hermione]?" ("soft", "narrow", "base", "R_soft", ypos="head", flip=False) her "Or my bum?...." ("soft", "narrow", "base", "mid_soft") gen "*Hmm*... What would you like?" ("base", xpos="far_left", ypos="head") - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: + random: her "I wouldn't mind it if you massaged my breasts a little..." ("soft", "narrow", "base", "R_soft") - elif random_number == 2: - her "I wouldn't mind it if you caressed my bum a bit, [genie_name]..." ("soft", "narrow", "worried", "down") - else: - her "I wouldn't mind either today, [genie_name]." ("soft", "narrow", "base", "R_soft") + her "I wouldn't mind it if you caressed my bum a bit, [name_genie_hermione]..." ("soft", "narrow", "worried", "down") + her "I wouldn't mind either today, [name_genie_hermione]." ("soft", "narrow", "base", "R_soft") gen "Very well then..." ("base", xpos="far_left", ypos="head") menu: "\"I'm gonna molest your tits now.\"": - her "Yes, [genie_name]." ("base", "narrow", "annoyed", "up") + her "Yes, [name_genie_hermione]." ("base", "narrow", "annoyed", "up") - if not hermione.is_worn("top") and hermione.is_worn("bra"): - call nar(">You reach out swiftly and grab both of her tits through her bra...") - elif hermione.is_worn("top") and not hermione.is_worn("bra"): - call nar(">You reach out swiftly and grab both of her tits through her clothes...") + if hermione.is_worn("top"): + nar "You reach out swiftly to grab both of her tits through her clothes..." + elif hermione.is_worn("bra"): + nar "You reach out swiftly to grab both of her tits through her bra..." else: - call nar(">You reach out swiftly and grab both of her tits...") + nar "You reach out swiftly and grab both of her tits..." jump hg_pf_grope_breasts_T4 "\"I'm gonna play with your butt now.\"": - her "Yes, [genie_name]." ("soft", "narrow", "annoyed", "up") - call nar(">You reach out and place your hand on her butt cheeks...") + her "Yes, [name_genie_hermione]." ("open", "narrow", "annoyed", "down") + nar "You reach out and place your hand on her butt cheeks..." jump hg_pf_grope_ass_T4 diff --git a/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy b/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy index 35f61a26..67a1a73b 100644 --- a/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy +++ b/game/scripts/characters/hermione/events/favors/grope_her_ass.rpy @@ -6,85 +6,85 @@ label hg_pf_grope_ass_T2: stop music fadeout 5.0 call her_chibi_scene("grope_ass_front", trans=d7) - her "[genie_name]!?" ("mad", "wide", "base", "stare", cheeks="blush", ypos="head", flip=False) - gen "Relax, [hermione_name]. It will be the easiest {number=current_payout} points you've ever made, I promise." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]!?" ("mad", "wide", "base", "stare", ypos="head", flip=False) + gen "Relax, [name_hermione_genie]. It will be the easiest {number=current_payout} points you've ever made, I promise." ("base", xpos="far_left", ypos="head") gen "All I am going to do is squeeze your little butt a couple of times..." ("base", xpos="far_left", ypos="head") - her "No! I demand you to stop!" ("scream", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "No! I demand you to stop!" ("scream", "closed", "angry", "mid") call her_chibi_scene("behind_desk_front", trans=d5) - her "This is inappropriate, [genie_name]................" ("angry", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "This is inappropriate, [name_genie_hermione]................" ("angry", "closed", "angry", "mid") gen "Nobody needs to know how exactly you got the points..." ("base", xpos="far_left", ypos="head") her "But..." ("annoyed", "base", "angry", "mid") gen "Do it for {i}gravenboor{/i}..." ("base", xpos="far_left", ypos="head") - her "(These {number=current_payout} points could really make a difference...)" ("disgust", "narrow", "base", "down", cheeks="blush") - her "(Darn it.....!)" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "(...............................)" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "(These {number=current_payout} points could really make a difference...)" ("disgust", "narrow", "base", "down") + her @ cheeks blush "(Darn it.....!)" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "(...............................)" ("annoyed", "narrow", "angry", "R") - her "Can I at least turn around then, Sir?" ("soft", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Can I at least turn around then, Sir?" ("soft", "base", "angry", "mid") menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - "\"Yes. Turn around, [hermione_name].\"": # Can fail + "\"Yes. Turn around, [name_hermione_genie].\"": # Can fail jump hg_pf_grope_ass_T2_back - "\"No. Just stand still, [hermione_name].\"": # Fails + "\"No. Just stand still, [name_hermione_genie].\"": # Fails jump hg_pf_grope_ass_T2_front label hg_pf_grope_ass_T2_front: call her_chibi_scene("behind_desk_front", trans=d7) - her "(...)" ("disgust", "narrow", "worried", "down", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "(...)" ("disgust", "narrow", "worried", "down", ypos="head", flip=False) call her_chibi_scene("grope_ass_front", trans=d5) call ctc - her "(...)" ("disgust", "narrow", "base", "down", cheeks="blush") - her "I'm sorry, [genie_name]. But I can't do this!" ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "(...)" ("disgust", "narrow", "base", "down") + her @ cheeks blush "I'm sorry, [name_genie_hermione]. But I can't do this!" ("soft", "narrow", "base", "down") call her_chibi_scene("behind_desk_front", trans=d7) - gen "Can't do what [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Can't do what, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") - her "I can't do it when I can see you looking at me..." ("mad", "happyCl", "worried", "mid", cheeks="blush") - gen "That's the whole point [hermione_name], I want to look at you..." ("base", xpos="far_left", ypos="head") - her "............." ("annoyed", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "I can't do it when I can see you looking at me..." ("mad", "happyCl", "worried", "mid") + gen "That's the whole point [name_hermione_genie], I want to look at you..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "............." ("annoyed", "base", "worried", "mid") show screen blkfade with d3 - call nar(">Hermione moves your hand away and rushes to the front of your desk.") + nar "Hermione moves your hand away and rushes to the front of your desk." call her_chibi_scene("reset", "desk", "base") hide screen blkfade with d3 - gen "What's the problem [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "It's demeaning!" ("angry", "closed", "angry", "mid", cheeks="blush") + gen "What's the problem [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It's demeaning!" ("angry", "closed", "angry", "mid") gen "Wouldn't it be worse if I didn't want to look at you?" ("base", xpos="far_left", ypos="head") - her "*ARGH* Whatever!!!" ("scream", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "*ARGH* Whatever!!!" ("scream", "base", "angry", "mid") - her "Good day, Sir." ("disgust", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Good day, Sir." ("disgust", "narrow", "angry", "R") call her_walk(action="leave") - $ her_mood += 4 + $ states.her.mood += 4 jump end_hermione_event label hg_pf_grope_ass_T2_back: call her_chibi_scene("behind_desk_front", trans=d7) - her "As you say, [genie_name]..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "As you say, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") call her_chibi_scene("behind_desk_back", trans=d5) call ctc - her "............." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "..........................." ("annoyed", "base", "angry", "mid", cheeks="blush") - her "[genie_name], I would like to be done with this sooner rather than later..." ("soft", "closed", "angry", "mid", cheeks="blush") - gen "Don't rush me [hermione_name]... Let me savour the moment..." ("base", xpos="far_left", ypos="head") - her "............................." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "............." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "..........................." ("annoyed", "base", "angry", "mid") + her @ cheeks blush "[name_genie_hermione], I would like to be done with this sooner rather than later..." ("soft", "closed", "angry", "mid") + gen "Don't rush me [name_hermione_genie]... Let me savour the moment..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "............................." ("annoyed", "narrow", "angry", "R") menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") @@ -92,116 +92,113 @@ label hg_pf_grope_ass_T2_back: jump hg_pf_grope_ass_T2_continue "-Give her butt a slap-": - $ her_mood += 2 + $ states.her.mood += 2 pass # Slap her! call slap_her #Calls slapping sound and visual. - her "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare", cheeks="blush") - her "[genie_name]!!?" ("scream", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare") + her @ cheeks blush "[name_genie_hermione]!!?" ("scream", "wide", "base", "stare") menu: "\"Fine, fine... I just couldn't resist....\"": - her "......................." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "......................." ("annoyed", "narrow", "angry", "R") jump hg_pf_grope_ass_T2_continue "-Give her butt another slap-": - $ her_mood += 2 + $ states.her.mood += 2 pass # Slap her! call slap_her #Calls slapping sound and visual. - her "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare", cheeks="blush") - her "[genie_name], what are you doing!?" ("angry", "closed", "angry", "mid", cheeks="blush") - her "You said all you were going to do is touch!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare") + her @ cheeks blush "[name_genie_hermione], what are you doing!?" ("angry", "closed", "angry", "mid") + her @ cheeks blush "You said all you were going to do is touch!" ("angry", "base", "angry", "mid") menu: "\"Alright, alright... stop making a scene....\"": - her "......................." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "......................." ("annoyed", "narrow", "angry", "R") jump hg_pf_grope_ass_T2_continue "-Give her butt another slap-": - $ her_mood += 2 + $ states.her.mood += 2 pass # Slap her! call slap_her #Calls slapping sound and visual. - her "Ouch! It hurts!" ("angry", "closed", "angry", "mid", cheeks="blush") - her "This is so demeaning!" ("angry", "base", "angry", "mid", cheeks="blush") - her "You said all you were going to do is touch..." ("angry", "base", "angry", "mid", cheeks="blush") - gen "Just stand still, [hermione_name]!" ("angry", xpos="far_left", ypos="head") - her "I don't think so, [genie_name]!" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "No amount of points are worth this humiliation!" ("scream", "base", "angry", "mid", cheeks="blush",emote="angry") - her "You are abusing your power, [genie_name]!" ("scream", "base", "angry", "mid", cheeks="blush",emote="angry") + her @ cheeks blush "Ouch! It hurts!" ("angry", "closed", "angry", "mid") + her @ cheeks blush "This is so demeaning!" ("angry", "base", "angry", "mid") + her @ cheeks blush "You said all you were going to do is touch..." ("angry", "base", "angry", "mid") + gen "Just stand still, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "I don't think so, [name_genie_hermione]!" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "No amount of points is worth this humiliation!" ("scream", "base", "angry", "mid",emote="angry") + her @ cheeks blush "You are abusing your power, [name_genie_hermione]!" ("scream", "base", "angry", "mid",emote="angry") gen "What?" ("angry", xpos="far_left", ypos="head") - her "I'm leaving!" ("angry", "happyCl", "worried", "mid", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "I'm leaving!" ("angry", "happyCl", "worried", "mid", ypos="head", flip=False) call her_chibi_scene("reset", "desk", "base", trans=fade) - # Event Fails + # Hermione gets mad menu: gen "*Tsk*..." ("angry", xpos="far_left", ypos="head") "\"I... I apologise...\"": gen "...... It's not my fault......" ("base", xpos="far_left", ypos="head") - her "An apology won't be enough, [genie_name]!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "An apology won't be enough, [name_genie_hermione]!" ("angry", "base", "angry", "mid") gen "What else do you want? More points?" ("base", xpos="far_left", ypos="head") - her "Yes, I believe I'm owed at least that much!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Yes, I believe I'm owed at least that much!" ("angry", "base", "angry", "mid") gen "{number=current_payout} is what we agreed on. You won't get any more than that." ("base", xpos="far_left", ypos="head") - her "*tzzh*... Fine!" ("clench", "closed", "angry", "mid", cheeks="blush") - her "Keep your points." ("angry", "base", "angry", "mid", cheeks="blush") - her "All of them! I don't even want them anymore." ("scream", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "*Tzzh*... Fine!" ("clench", "closed", "angry", "mid") + her @ cheeks blush "Keep your points." ("angry", "base", "angry", "mid") + her @ cheeks blush "All of them! I don't even want them anymore." ("scream", "closed", "angry", "mid") gen "Are you sure about that?" ("base", xpos="far_left", ypos="head") - her "I'm leaving. Good day, Sir." ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "I'm leaving. Good day, Sir." ("angry", "base", "angry", "mid") call her_walk(action="leave") - call bld gen "(Whatever...)" ("base", xpos="far_left", ypos="head") - $ her_mood += 15 + $ states.her.mood += 15 jump end_hermione_event "\"You are not getting any points for this!\"": - her "Ha! See if I care, [genie_name]!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Hah! See if I care, [name_genie_hermione]!" ("angry", "base", "angry", "mid") call her_walk(action="leave") - call bld gen "*Tsk!* (You brat!)" ("angry", xpos="far_left", ypos="head") - $ her_mood += 20 + $ states.her.mood += 20 jump end_hermione_event "\"I'm subtracting points from you then!\"": - her "You can't be serious!?" ("scream", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "You can't be serious!?" ("scream", "wide", "base", "stare") gen "The Gryffindor house, minus ten points!" ("angry", xpos="far_left", ypos="head") gen "There! It's done!" ("angry", xpos="far_left", ypos="head") - her "*Grr*..........." ("angry", "base", "angry", "mid", cheeks="blush") - her "........................" ("angry", "base", "angry", "mid", cheeks="blush") - her "This is not fair..." ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + her @ cheeks blush "*Grr*..........." ("angry", "base", "angry", "mid") + her @ cheeks blush "........................" ("angry", "base", "angry", "mid") + her @ cheeks blush tears messy "This is not fair..." ("angry", "squint", "base", "mid") gen "What? Hey, wait, don't you start crying on me..." ("base", xpos="far_left", ypos="head") - her "I hate you, [genie_name]! I hate you!" ("scream", "happyCl", "worried", "mid", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "I hate you, [name_genie_hermione]! I hate you!" ("scream", "happyCl", "worried", "mid") # Hermione runs out of the room. call her_walk(action="run", xpos="door", speed=2, reduce=True) call her_chibi("leave") - call bld - gen ".............." ("base", xpos="far_left", ypos="head") + gen "(..............)" ("base", xpos="far_left", ypos="head") menu: "\"Dammit. Now I feel like crap...\"": - gen "But who could resist slapping that little behind of hers?" ("grin", xpos="far_left", ypos="head") + gen "(But who could resist slapping that little behind of hers?)" ("grin", xpos="far_left", ypos="head") "\"She made me do this!\"": - gen "Acting all wounded now..." ("base", xpos="far_left", ypos="head") - gen "I bet she actually enjoyed the slapping and just won't admit it..." ("grin", xpos="far_left", ypos="head") + gen "(Acting all wounded now...)" ("base", xpos="far_left", ypos="head") + gen "(I bet she actually enjoyed the slapping and just won't admit it...)" ("grin", xpos="far_left", ypos="head") $ gryffindor -=10 - $ her_mood += 30 + $ states.her.mood += 30 jump end_hermione_event @@ -210,19 +207,19 @@ label hg_pf_grope_ass_T2_continue: with d7 call ctc - her ".............." ("annoyed", "narrow", "angry", "R", cheeks="blush") - call nar("*squeeze* *squeeze* *squeeze*...") + her @ cheeks blush ".............." ("annoyed", "narrow", "angry", "R") + nar "*Squeeze* *Squeeze* *Squeeze*..." - her "........................." ("annoyed", "base", "angry", "mid", cheeks="blush") - her "(I can't believe this is really happening...)" ("disgust", "happyCl", "worried", "mid", cheeks="blush") - her "If you don't mind, Sir..." ("soft", "happyCl", "worried", "mid", cheeks="blush") - her "I'd like you to unhand me now..." ("disgust", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "........................." ("annoyed", "base", "angry", "mid") + her @ cheeks blush "(I can't believe this is really happening...)" ("disgust", "happyCl", "worried", "mid") + her @ cheeks blush "If you don't mind, Sir..." ("soft", "happyCl", "worried", "mid") + her @ cheeks blush "I'd like you to unhand me now..." ("disgust", "base", "worried", "mid") gen "What? Already?" ("base", xpos="far_left", ypos="head") - her "Yes! This has been demeaning enough!" ("annoyed", "base", "angry", "mid", cheeks="blush") - her "Please let go of me, Sir." ("soft", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Yes! This has been demeaning enough!" ("annoyed", "base", "angry", "mid") + her @ cheeks blush "Please let go of me, Sir." ("soft", "base", "angry", "mid") gen "Fine..." ("base", xpos="far_left", ypos="head") - call nar(">You give her butt one last squeeze...") - her "..................." ("annoyed", "narrow", "angry", "R", cheeks="blush") + nar "You give her butt one last squeeze..." + her @ cheeks blush "..................." ("annoyed", "narrow", "angry", "R") jump end_hg_pf_grope @@ -231,19 +228,19 @@ label hg_pf_grope_ass_T2_continue: label hg_pf_grope_ass_T3: call her_chibi_scene("behind_desk_front", trans=d7) - her "Do you want me to turn around then, [genie_name]?" ("base", "base", "base", "R", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "Do you want me to turn around then, [name_genie_hermione]?" ("base", "base", "base", "R", ypos="head", flip=False) - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - "\"Yes. Turn around, [hermione_name].\"": - her "As you say, [genie_name]..." ("base", "base", "base", "R", cheeks="blush") + "\"Yes. Turn around, [name_hermione_genie].\"": + her @ cheeks blush "As you say, [name_genie_hermione]..." ("base", "base", "base", "R") jump hg_pf_grope_ass_T3_back - "\"No. Just stand still, [hermione_name].\"": - her "As you say, [genie_name]..." ("annoyed", "narrow", "angry", "R", cheeks="blush", ypos="head", flip=False) + "\"No. Just stand still, [name_hermione_genie].\"": + her @ cheeks blush "As you say, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") jump hg_pf_grope_ass_T3_front @@ -252,69 +249,69 @@ label hg_pf_grope_ass_T3_front: with d7 call ctc - her "[genie_name], please hurry up, before someone discovers us like this..." ("soft", "base", "base", "R", cheeks="blush", ypos="head", flip=False) - gen "What's the problem, [hermione_name]?" ("base", xpos="far_left", ypos="head") - gen "You know you are doing this for your house." ("base", xpos="far_left", ypos="head") - her "I do know." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "But not everyone would see it that way..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "So let us be done with this as quick as possible..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Please..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], please hurry up, before someone discovers us like this..." ("soft", "base", "base", "R", ypos="head", flip=False) + gen "What's the problem, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + gen "You're just doing something to help your house." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I do know." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "But not everyone would see it that way..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "So let us be done with this as quickly as possible..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Please..." ("open", "base", "base", "R") gen "Well, if you insist..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("grope_ass_front") with d7 - her "!!!" ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "!!!" ("mad", "wide", "base", "stare") gen "What is it?" ("base", xpos="far_left", ypos="head") - her "N-nothing, [genie_name]. Your hands are cold, that's all..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "N-nothing, [name_genie_hermione]. Your hands are cold, that's all..." ("open", "base", "base", "R") - call nar(">You run your hands up and down Hermione's legs...") - her "........................." ("annoyed", "narrow", "angry", "R", cheeks="blush") + nar "You run your hands up and down Hermione's legs..." + her @ cheeks blush "........................." ("annoyed", "narrow", "angry", "R") - call nar(">And give her Ass a good squeeze...") - her "................." ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "And give her Ass a good squeeze..." + her @ cheeks blush "................." ("angry", "happyCl", "worried", "mid") gen "Don't look away, girl. I want you to look into my eyes." ("base", xpos="far_left", ypos="head") - her "I would rather not, [genie_name]..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "I would rather not, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Fine. Just keep on standing still then.\"": - her "Thank you, [genie_name]..." ("angry", "happyCl", "worried", "mid", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "Thank you, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", ypos="head", flip=False) - call nar(">You massage her ass-cheeks lightly...") - her "...................." ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "You massage her ass-cheeks lightly..." + her @ cheeks blush "...................." ("angry", "happyCl", "worried", "mid") - call nar(">And keep enjoying the sensation of her butt under your hands...") - her "....................." ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "And keep enjoying the sensation of her butt under your hands..." + her @ cheeks blush "....................." ("angry", "happyCl", "worried", "mid") - call nar(">Then You give Hermione's butt one last squeeze.") - her "....................." ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "Then You give Hermione's butt one last squeeze." + her @ cheeks blush "....................." ("angry", "happyCl", "worried", "mid") jump end_hg_pf_grope "\"Open your eyes, or you'll lose the points!\"": - $ her_mood += 10 + $ states.her.mood += 10 - her "*Tsk*! {size=-5}(You wretched old--){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush", ypos="head", flip=False) - gen "Did you say something, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "It's nothing, [genie_name]." ("angry", "base", "angry", "mid") + her @ cheeks blush "*Tsk*! {size=-5}(You wretched old--){/size}" ("angry", "happyCl", "worried", "mid", ypos="head", flip=False) + gen "Did you say something, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "It's nothing, [name_genie_hermione]." ("angry", "base", "angry", "mid") - call nar(">You massage her ass-cheeks lightly...","start") - call nar(">Hermione maintains eye contact as she's been told...","end") + nar "You massage her ass-cheeks lightly..." + nar "Hermione maintains eye contact, doing as she's been told..." her "...................." ("angry", "base", "angry", "mid") - her "..............................." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "..............................." ("annoyed", "narrow", "angry", "R") gen "What did I tell you about looking away?" ("base", xpos="far_left", ypos="head") - her "Yes, I remember..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Yes, I remember..." ("angry", "happyCl", "worried", "mid") her "................................." ("angry", "base", "angry", "mid") - her "..................................." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her ".................................................." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "..................................." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush ".................................................." ("annoyed", "narrow", "angry", "R") - call nar(">You keep enjoying the sensation of her soft buttocks under your fingertips...") + nar "You keep enjoying the sensation of her soft buttocks under your fingertips..." her "....................." ("angry", "base", "angry", "mid") - call nar(">Then You give Hermione's butt one last squeeze.") - her "....................." ("annoyed", "base", "angry", "mid", cheeks="blush") + nar "Then You give Hermione's butt one last squeeze." + her @ cheeks blush "....................." ("annoyed", "base", "angry", "mid") jump end_hg_pf_grope @@ -322,7 +319,7 @@ label hg_pf_grope_ass_T3_back: call her_chibi_scene("behind_desk_back", trans=d7) call ctc - her "............." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "............." ("base", "narrow", "base", "up") menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") @@ -331,38 +328,38 @@ label hg_pf_grope_ass_T3_back: "-Give her butt a slap-": call slap_her - her "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare", cheeks="blush") - her "[genie_name]....?" ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare") + her @ cheeks blush "[name_genie_hermione]....?" ("angry", "base", "base", "R") pass menu: "\"Fine, fine... I just couldn't resist....\"": - her "It's okay..." ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "It's okay..." ("base", "base", "base", "R") jump hg_pf_grope_ass_T3_continue "-Give her butt another slap-": call slap_her - her "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare", cheeks="blush") - her "[genie_name], what are you doing!?" ("base", "base", "base", "R", cheeks="blush") - her "You said all you are going to do is touch!" ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "!!!!!!!!!!!!!" ("scream", "wide", "base", "stare") + her @ cheeks blush "[name_genie_hermione], what are you doing!?" ("angry", "base", "base", "R") + her @ cheeks blush "You said that all you were going to do is touch!" ("open", "narrow", "base", "R") pass menu: "\"Alright, alright...\"": - her "It's not a big deal..." ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "It's not a big deal..." ("base", "base", "base", "R") jump hg_pf_grope_ass_T3_continue "-Give her butt yet another slap-": call slap_her - her "[genie_name], not so loud, please..." ("silly", "narrow", "base", "up", cheeks="blush") - her "What if somebody hears us?" ("silly", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], not so loudly, please..." ("silly", "narrow", "base", "up") + her @ cheeks blush "What if somebody hears us?" ("silly", "narrow", "base", "up") gen "Alright, alright... proceeding with groping then..." ("base", xpos="far_left", ypos="head") - her "................" ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "................" ("base", "narrow", "base", "stare") jump hg_pf_grope_ass_T3_continue @@ -371,42 +368,42 @@ label hg_pf_grope_ass_T3_continue: with d7 call ctc - her "..................." ("base", "base", "base", "R", cheeks="blush", ypos="head", flip=False) - gen "You are being awfully quiet today, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Am I...?" ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "..................." ("base", "base", "base", "R", ypos="head", flip=False) + gen "You are being awfully quiet today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Am I...?" ("base", "base", "base", "R") - if her_tier <= 5: - her "Well, you know me, [genie_name]..." ("base", "narrow", "base", "up", cheeks="blush") - her "I'm just happy to be able to do my part for the Gryffindor house..." ("base", "narrow", "base", "up", cheeks="blush") + if states.her.tier <= 5: + her @ cheeks blush "Well, you know me, [name_genie_hermione]..." ("base", "narrow", "base", "up") + her @ cheeks blush "I'm just happy to be able to do my part for the Gryffindor house..." ("base", "narrow", "base", "up") else: - her "Please don't mind it and continue..." ("base", "narrow", "base", "up", cheeks="blush") - her "(... to grope me...)" ("base", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Please don't mind it and continue..." ("base", "narrow", "base", "up") + her @ cheeks blush "(... to grope me...)" ("base", "narrow", "base", "mid_soft") - call nar(">You keep on playing with Hermione's ass...","start") - call nar(">And continue sliding your hands up and down her inner thighs...","end") + nar "You keep on playing with Hermione's ass..." + nar "And continue sliding your hands up and down her inner thighs..." - her "................" ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "................" ("base", "base", "base", "R") - her "!!!!!!?" ("mad", "wide", "base", "stare", cheeks="blush", ypos="head", flip=False) - gen "What is it, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "It's nothing [genie_name]..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "It's just..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "This is so... inappropriate..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - gen "Relax, [hermione_name]. It's not like you are enjoying this..." ("base", xpos="far_left", ypos="head") - her "What? Of course not! This is depraved..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "I am making this sacrifice for the honour of my house..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "!!!!!!?" ("mad", "wide", "base", "stare", ypos="head", flip=False) + gen "What is it, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It's nothing [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "It's just..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "This is so... inappropriate..." ("angry", "happyCl", "worried", "mid") + gen "Relax, [name_hermione_genie]. It's not like you are enjoying this..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What? Of course not! This is depraved..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "I am making this sacrifice for the honour of my house..." ("angry", "happyCl", "worried", "mid") gen "Yes, concentrate on that..." ("base", xpos="far_left", ypos="head") - her "...................." ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "...................." ("angry", "base", "angry", "mid") call ctc - her "But, [genie_name]..." ("open", "base", "base", "R", cheeks="blush") - her "Why are {size=+7}you{/size} doing this?" ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "But, [name_genie_hermione]..." ("open", "base", "base", "R") + her @ cheeks blush "Why are {size=+7}you{/size} doing this?" ("open", "base", "base", "R") menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") "\"I have my reasons...\"": - her "Oh..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "*Hmm*..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Oh..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "*Hmm*..." ("annoyed", "narrow", "angry", "R") "\"In the name of science of course!\"": her "Really?!" ("soft", "wide", "base", "stare") @@ -414,31 +411,31 @@ label hg_pf_grope_ass_T3_continue: gen "Yeah, sure, I'm researching... *Err*..." ("base", xpos="far_left", ypos="head") gen "Well, you wouldn't understand, this is some pretty advanced wizardry stuff..." ("base", xpos="far_left", ypos="head") her "I see..." ("soft", "wide", "base", "stare") - her "Well, if it is for research then I am glad to be of help..." ("annoyed", "narrow", "angry", "R") + her "Well, if it is for research, then I am glad to be of help..." ("annoyed", "narrow", "angry", "R") "-Just squeeze her butt cheeks tighter-": - call nar(">You give Hermione's butt cheeks a couple of extra firm squeezes.") - her "...................." ("open", "base", "base", "R", cheeks="blush") - her "(Shall I just be quiet, then.....?)" ("disgust", "narrow", "base", "down", cheeks="blush") + nar "You give Hermione's butt cheeks a couple of extra firm squeezes." + her @ cheeks blush "...................." ("open", "base", "base", "R") + her @ cheeks blush "(Shall I just be quiet, then.....?)" ("disgust", "narrow", "base", "down") - call nar(">You keep on playing with Hermione's buttocks...","start") - call nar(">You slide your hands up and down her inner thighs...","end") - her "................" ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "You keep on playing with Hermione's buttocks..." + nar "You slide your hands up and down her inner thighs..." + her @ cheeks blush "................" ("angry", "happyCl", "worried", "mid") menu: "-Slide your hands under her panties-" if hermione.is_worn("panties"): - call nar(">You slowly slide one of your hands under the fabric of the girl's panties...") - her "[genie_name]... What are you...?" ("mad", "wide", "base", "stare", cheeks="blush", ypos="head", flip=False) + nar "You slowly slide one of your hands under the fabric of the girl's panties..." + her @ cheeks blush "[name_genie_hermione]... What are you...?" ("mad", "wide", "base", "stare", ypos="head", flip=False) gen "That's alright, just think about those {number=current_payout} points your house is about to receive..." ("base", xpos="far_left", ypos="head") - her "............." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "............." ("disgust", "narrow", "base", "down") pass "-Slide your hands across her pussy-" if not hermione.is_worn("panties"): - call nar(">You slowly slide one of your hands across her pussy..") - her "[genie_name]... What are you...?" ("mad", "wide", "base", "stare", cheeks="blush", ypos="head", flip=False) + nar "You slowly slide one of your hands across her pussy..." + her @ cheeks blush "[name_genie_hermione]... What are you...?" ("mad", "wide", "base", "stare", ypos="head", flip=False) gen "That's alright, just think about those {number=current_payout} points your house is about to receive..." ("base", xpos="far_left", ypos="head") - her "............." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "............." ("disgust", "narrow", "base", "down") pass @@ -447,35 +444,35 @@ label hg_pf_grope_ass_T3_continue: menu: "-Prod her pussy with one of your fingers-": - call nar(">You slide one of your fingers down and place it against the girls slit...") - her "[genie_name]? No! What are you...?" ("mad", "wide", "base", "stare", cheeks="blush") - call nar(">Hermione tries to pull away from you...") - $ her_mood += 3 + nar "You slide one of your fingers down and place it against the girl's slit..." + her @ cheeks blush "[name_genie_hermione]? No! What are you...?" ("mad", "wide", "base", "stare") + nar "Hermione tries to pull away from you..." + $ states.her.mood += 3 menu: "-Force your finger into her pussy!-": - ">You force one of your fingers into her pussy..." - ">It's very tight and warm..." - ">Also it is relatively dry... Doesn't look like Hermione's taking much pleasure in this..." + nar "You force one of your fingers into her pussy..." + nar "It's very tight and warm..." + nar "It is also relatively dry... Doesn't look like Hermione's taking much pleasure in this..." - jump hg_pf_grope_ass_T3_fail + jump hg_pf_grope_ass_T3_mad "-Let the girl go...-": jump end_hg_pf_grope "-Prod her butthole instead-": - call nar(">You place one of your thumbs against the girls butthole...") - her "[genie_name]? No! What are you doing!?" ("mad", "wide", "base", "stare", cheeks="blush") - $ her_mood += 3 + nar "You place one of your thumbs against the girl's butthole..." + her @ cheeks blush "[name_genie_hermione]? No! What are you doing!?" ("mad", "wide", "base", "stare") + $ states.her.mood += 3 menu: "-Force your thumb into her butthole-": - call nar(">You force one of your thumbs into her little butthole...") + nar "You force one of your thumbs into her little butthole..." with hpunch her "!!?" ("angry", "wide", "base", "stare") - call nar(">It's very tight and warm inside...") + nar "It's very tight and warm inside..." - jump hg_pf_grope_ass_T3_fail + jump hg_pf_grope_ass_T3_mad "-Let the girl go...-": jump end_hg_pf_grope @@ -483,55 +480,55 @@ label hg_pf_grope_ass_T3_continue: "-Stop pushing your luck. Dismiss the girl-": jump end_hg_pf_grope -label hg_pf_grope_ass_T3_fail: - her "Stop that at once!" ("angry", "happyCl", "worried", "mid", cheeks="blush", ypos="head") - call nar(">Hermione gives you an unexpectedly strong shove...") +label hg_pf_grope_ass_T3_mad: + her @ cheeks blush "Stop that at once!" ("angry", "happyCl", "worried", "mid", ypos="head") + nar "Hermione gives you an unexpectedly strong shove..." call her_chibi_scene("behind_desk_front", trans=hpunch) - her "This is not what we agreed on, [genie_name]..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "This is not what we agreed on, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid") gen "More points is it?" ("base", xpos="far_left", ypos="head") - her "More..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=+7}Points?!{/size}" ("scream", "happyCl", "worried", "mid", cheeks="blush", trans=hpunch) + her @ cheeks blush "More..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=+7}Points?!{/size}" ("scream", "happyCl", "worried", "mid", trans=hpunch) gen "That's not it?" ("angry", xpos="far_left", ypos="head") - her "No, it's definitely not because of the points!" ("scream", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "No, it's definitely not because of the points!" ("scream", "happyCl", "worried", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") gen "So I assume you don't want any extra points before leaving then?" ("grin", xpos="far_left", ypos="head") - her "..." ("mad", "base", "worried", "R", cheeks="blush") - her "I'll have twenty--" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "..." ("mad", "base", "worried", "R") + her @ cheeks blush "I'll have twenty--" ("angry", "base", "angry", "mid") gen "Alright, twenty it--" ("base", xpos="far_left", ypos="head") - her "No, a hundred extra house points!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "No, a hundred extra house points!" ("angry", "base", "angry", "mid") menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"Alright, alright... One hundred points it is...\"": $ gryffindor += 100 - $ her_mood += 9 + $ states.her.mood += 9 gen "One hundred points to Gryffindor!" ("base", xpos="far_left", ypos="head") gen "There, it is done..." ("base", xpos="far_left", ypos="head") - gen "Not about the points... you make me--" ("base", xpos="far_left", ypos="head") - her "Shut up!" ("scream", "happyCl", "worried", "mid", cheeks="blush", ypos="head") - her "{size=+7}The terms should've been stated before commencing the--{/size}" ("scream", "happyCl", "worried", "mid", cheeks="blush", trans=hpunch) + gen "Not about the points, you say... You make me--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Shut up!" ("scream", "happyCl", "worried", "mid", ypos="head") + her @ cheeks blush "{size=+7}The terms should've been stated before commencing the--{/size}" ("scream", "happyCl", "worried", "mid", trans=hpunch) gen "Commencing--" ("base", xpos="far_left", ypos="head") - gen "Oh, snap out of it [hermione_name], You got paid didn't you?" ("base", xpos="far_left", ypos="head") - her "..." ("mad", "happyCl", "worried", "mid", cheeks="blush") + gen "Oh, snap out of it [name_hermione_genie], You got paid didn't you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("mad", "happyCl", "worried", "mid") gen "Don't act like you're not benefiting from this..." ("base", xpos="far_left", ypos="head") - her "What ever..." ("angry", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Whatever..." ("angry", "base", "base", "R") - "\"Surely you can't be serious, [hermione_name]!\"": - $ her_mood += 27 + "\"Surely you can't be serious, [name_hermione_genie]!\"": + $ states.her.mood += 27 - her "Yes... I Am!" ("scream", "happyCl", "worried", "mid", cheeks="blush", ypos="head") + her @ cheeks blush "Yes... I Am!" ("scream", "happyCl", "worried", "mid", ypos="head") gen "By the great desert..." ("angry", xpos="far_left", ypos="head") gen "You get no points!" ("angry", xpos="far_left", ypos="head") - her "*Grr*... Fine!" ("scream", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Grr*... Fine!" ("scream", "happyCl", "worried", "mid") call her_chibi_scene("reset","desk","base", trans=fade) call her_walk("door", "base") - her "..........................." ("disgust", "narrow", "base", "down", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "..........................." ("disgust", "narrow", "base", "down", ypos="head", flip=False) call her_chibi("leave") @@ -542,95 +539,95 @@ label hg_pf_grope_ass_T3_fail: label hg_pf_grope_ass_T4: call her_chibi_scene("behind_desk_front", trans=d7) - her "Do you want me to turn around then, [genie_name]?" ("base", "base", "base", "R", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "Do you want me to turn around then, [name_genie_hermione]?" ("base", "base", "base", "R", ypos="head", flip=False) - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - "\"Yes. Turn around, [hermione_name].\"": - her "As you say, [genie_name]..." ("base", "base", "base", "R", cheeks="blush") + "\"Yes. Turn around, [name_hermione_genie].\"": + her @ cheeks blush "As you say, [name_genie_hermione]..." ("base", "base", "base", "R") jump hg_pf_grope_ass_T4_back - "\"No. Just stand still, [hermione_name].\"": - her "As you say, [genie_name]..." ("soft", "base", "base", "mid", cheeks="blush", ypos="head", flip=False) + "\"No. Just stand still, [name_hermione_genie].\"": + her @ cheeks blush "As you say, [name_genie_hermione]..." ("soft", "base", "base", "mid", ypos="head", flip=False) jump hg_pf_grope_ass_T4_front label hg_pf_grope_ass_T4_front: call her_chibi_scene("behind_desk_front", trans=d7) pause.8 - her "..................." ("base", "base", "base", "R", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "..................." ("base", "base", "base", "R", ypos="head", flip=False) gen "You seem more relaxed this time." ("base", xpos="far_left", ypos="head") - her "..................." ("base", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "..................." ("base", "narrow", "worried", "down") gen "Could it be that you're enjoying this?" ("base", xpos="far_left", ypos="head") - her "I..." ("soft", "narrow", "worried", "down", cheeks="blush") - her "I'm doing this to earn points for my house, it has nothing to do with personal enjoyment..." ("soft", "narrow", "worried", "down", cheeks="blush") #looks down + her @ cheeks blush "I..." ("soft", "narrow", "worried", "down") + her @ cheeks blush "I'm doing this to earn points for my house, it has nothing to do with personal enjoyment..." ("soft", "narrow", "worried", "down") #looks down gen "Is that so?" ("base", xpos="far_left", ypos="head") gen "Then why aren't you looking into my eyes when you say that..." ("base", xpos="far_left", ypos="head") - her "I..." ("disgust", "base", "base", "mid", cheeks="blush") # looks back up + her @ cheeks blush "I..." ("disgust", "base", "base", "mid") # looks back up call her_chibi_scene("grope_ass_front", trans=d7) pause.8 - her "!!!" ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "!!!" ("mad", "wide", "base", "stare") gen "..." ("grin", xpos="far_left", ypos="head") - her "........" ("annoyed", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "........" ("annoyed", "base", "angry", "mid") - call nar(">You run your hands up and down Hermione's legs...") - her "........................." ("upset", "happyCl", "worried", "mid", cheeks="blush") + nar "You run your hands up and down Hermione's legs..." + her @ cheeks blush "........................." ("upset", "happyCl", "worried", "mid") - call nar(">And give her Ass a good squeeze...") - her "................." ("soft", "base", "base", "mid", cheeks="blush") - gen "You're looking at me this time..." ("base", xpos="far_left", ypos="head") - her "Isn't that what you wanted, [genie_name]..." ("open", "base", "worried", "mid", cheeks="blush") + nar "And give her ass a good squeeze..." + her @ cheeks blush "................." ("soft", "base", "base", "mid") + gen "There you go, a bit of eye-contact for once..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Isn't that what you wanted, [name_genie_hermione]..." ("open", "base", "worried", "mid") - call nar(">You give her butt another firm squeeze as you gently move to massage her inner leg...") - her "I'll take that as a yes..." ("base", "narrow", "annoyed", "up", cheeks="blush") + nar "You give her butt another firm squeeze as you gently move to massage her inner leg..." + her @ cheeks blush "I'll take that as a yes..." ("base", "narrow", "annoyed", "mid") if hermione.is_worn("panties"): - call nar(">You continue to massage her inner thigh and occasionally gently brush against her panties...") + nar "You continue to massage her inner thigh and occasionally gently brush against her panties..." else: - call nar(">You continue to massage her inner thigh and occasionally gently brush against her pussy...") - her "*Ah*..." ("soft", "narrow", "annoyed", "up", cheeks="blush") - her "..." ("clench", "narrow", "annoyed", "up", cheeks="blush") + nar "You continue to massage her inner thigh and occasionally gently brush against her pussy..." + her @ cheeks blush "*Ah*..." ("soft", "narrow", "annoyed", "up") + her @ cheeks blush "..." ("clench", "narrow", "annoyed", "up") gen "..." ("grin", xpos="far_left", ypos="head") - call nar(">Maintaining eye contact, you move your hand down. A split second of disappointment is seen on Hermione's face...") + nar "Maintaining eye contact, you move your hand down. A split second of disappointment is seen on Hermione's face..." gen "Enjoying yourself?" ("base", xpos="far_left", ypos="head") - her "W-What..." ("disgust", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "W-What..." ("disgust", "narrow", "worried", "down") gen "The massage... You seem less tense than last time." ("base", xpos="far_left", ypos="head") - her "Oh... I suppose it is quite nice..." ("clench", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Oh... I suppose it is quite nice..." ("clench", "base", "base", "R") - call nar(">You continue rubbing her inner thighs, Hermione's chest moving up and down faster and faster...") - her "......." ("clench", "narrow", "base", "down", cheeks="blush") + nar "You continue rubbing her inner thighs, Hermione's chest moving up and down faster and faster..." + her @ cheeks blush "......." ("clench", "narrow", "base", "down") gen "Enjoying a bit too much perhaps?" ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "mid_soft", cheeks="blush") - her "What do you--" ("soft", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "What do you--" ("soft", "narrow", "base", "mid_soft") call her_chibi_scene("behind_desk_front", trans=d7) pause.8 - call nar(">You bring your hands out from between Hermione's legs and hold them up in front of her...") - gen "What would you call this then, [hermione_name]?" ("base", xpos="far_left", ypos="head") + nar "You bring your hands out from between Hermione's legs and hold them up in front of her..." + gen "What would you call this then, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") - call nar(">Hermione embarrassingly looks at you, as you present her with a sticky substance gleaming across your upper hand...") - her "Oh..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "Well, your hands were moving so close and--" ("soft", "narrow", "worried", "down", cheeks="blush") + nar "Hermione embarrassingly looks at you, as you present her with a sticky substance gleaming across your upper hand..." + her @ cheeks blush "Oh..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "Well, your hands were moving so close and--" ("soft", "narrow", "worried", "down") call her_chibi_scene("grope_ass_front", trans=d7) pause.8 - call nar(">Before she can finish her sentence you put your hand back in place...") - her "..." ("clench", "wide", "base", "stare", cheeks="blush") + nar "Before she can finish her sentence, you put your hand back in place..." + her @ cheeks blush "..." ("clench", "wide", "base", "stare") - call nar(">You slowly brush your fingertips across her legs and move your hands to rest on her firm cheeks...") - her "..." ("soft", "narrow", "annoyed", "up", cheeks="blush") + nar "You slowly brush your fingertips across her legs, and move your hands to rest on her firm cheeks..." + her @ cheeks blush "..." ("soft", "narrow", "annoyed", "up") - call nar(">Hermione begins to relax once more as you softly massage them with your hands...") - her "..." ("base", "narrow", "base", "down", cheeks="blush") + nar "Hermione begins to relax once more as you softly massage them with your hands..." + her @ cheeks blush "..." ("base", "narrow", "base", "down") gen "I thought I asked you to look at me." ("base", xpos="far_left", ypos="head") - her "Oh, sorry..." ("base", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Oh, sorry..." ("base", "narrow", "base", "mid_soft") menu: "-Slide your hands under her panties-" if hermione.is_worn("panties"): @@ -648,83 +645,83 @@ label hg_pf_grope_ass_T4_back: call her_chibi_scene("behind_desk_back", trans=d7) pause.8 - her "..." ("base", "narrow", "annoyed", "up", cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "..." ("base", "narrow", "annoyed", "up", ypos="head", flip=False) gen "How does it feel?" ("base", xpos="far_left", ypos="head") her "How does what feel?" ("open", "narrow", "base", "mid_soft") gen "How does it feel to be presenting your butt to your headmaster?" ("base", xpos="far_left", ypos="head") - her "I don't know how to answer that, [genie_name]..." ("clench", "narrow", "base", "down", cheeks="blush") - her "Do I have to give you a response?" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I don't know how to answer that, [name_genie_hermione]..." ("clench", "narrow", "base", "down") + her @ cheeks blush "Do I have to give you a response?" ("open", "base", "base", "mid") gen "Well, you don't have to..." ("base", xpos="far_left", ypos="head") - her "It feels weird...{w} but..." ("disgust", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "It feels weird...{w} but..." ("disgust", "narrow", "worried", "down") gen "Butt?" ("grin", xpos="far_left", ypos="head") #fucks sake call her_chibi_scene("grope_ass_back", trans=d7) pause.8 - her "!!!" ("mad", "wide", "base", "stare", cheeks="blush") - her "[genie_name]!" ("clench", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "!!!" ("mad", "wide", "base", "stare") + her @ cheeks blush "[name_genie_hermione]!" ("clench", "base", "angry", "mid") gen "Sorry..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "You should've warned me..." ("soft", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "You should've warned me..." ("soft", "narrow", "angry", "R") - call nar(">Hermione goes quiet as you begin massaging her butt cheeks...") - her "..." ("base", "closed", "base", "mid", cheeks="blush") + nar "Hermione goes quiet as you begin massaging her butt cheeks..." + her @ cheeks blush "..." ("base", "closed", "base", "mid") - call nar(">You take your thumbs and move them gently from side to side as her soft butt cheeks open and close with every move...") + nar "You take your thumbs and move them gently from side to side as her soft butt cheeks open and close with every move..." gen "Does this feel better?" ("base", xpos="far_left", ypos="head") - her "It..." ("clench", "narrow", "worried", "down", cheeks="blush") - her "It feels fine..." ("soft", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "It..." ("clench", "narrow", "worried", "down") + her @ cheeks blush "It feels fine..." ("soft", "narrow", "worried", "down") gen "I meant not having to look at me..." ("base", xpos="far_left", ypos="head") - her "Oh...{w} it doesn't matter to me how you want it..." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Oh...{w} it doesn't matter to me how you want it..." ("soft", "base", "base", "R") gen "Is that so?" ("base", xpos="far_left", ypos="head") - her "Of cours--" ("soft", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Of cours--" ("soft", "closed", "base", "mid") menu: "-Give her butt a squeeze-": - call nar(">You spread your hands out and then suddenly tighten them firmly around Hermione's Butt cheeks...") - her "!!!" ("clench", "wide", "base", "stare", cheeks="blush") - gen "Be careful what you wish for, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "Giving me free reign might show you just how greedy I can be..." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "R", cheeks="blush") - gen "Although perhaps if you're lucky enough you could also receive some of my well known generosity..." ("base", xpos="far_left", ypos="head") - call nar(">Lessening your grip on her cheeks slightly, you then move down towards her inner thighs, and gently begin massaging her with your thumbs...") + nar "You spread your hands out and then suddenly tighten them firmly around Hermione's Butt cheeks..." + her @ cheeks blush "!!!" ("clench", "wide", "base", "stare") + gen "Be careful what you wish for, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Giving me free rein might show you just how greedy I can be..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("angry", "narrow", "base", "R") + gen "Although perhaps if you're lucky enough, you could also receive some of my well-known generosity..." ("base", xpos="far_left", ypos="head") + nar "Lessening your grip on her cheeks slightly, you then move down towards her inner thighs, and gently begin massaging her with your thumbs..." "-Give her butt a slap-": call slap_her - her "!!!!!!!!!!!!!" ("angry", "wide", "base", "stare", cheeks="blush") - her "[genie_name]!" ("clench", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "!!!!!!!!!!!!!" ("angry", "wide", "base", "stare") + her @ cheeks blush "[name_genie_hermione]!" ("clench", "narrow", "base", "R") - gen "Did you not just say it didn't matter to you how I wanted it?" ("base", xpos="far_left", ypos="head") + gen "Did you not just say that it didn't matter to you how I wanted it?" ("base", xpos="far_left", ypos="head") - her "Yes... But--" ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Yes... But--" ("disgust", "narrow", "base", "R") gen "{size=+5}BUTT!{/size}" ("base", xpos="far_left", ypos="head") call slap_her - her "{size=+3}*Ah*!{/size}" ("angry", "narrow", "base", "up", cheeks="blush") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "{size=+3}*Ah*!{/size}" ("angry", "narrow", "base", "up") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") gen "*Heh-heh*..." ("grin", xpos="far_left", ypos="head") - call nar(">You put your hands back on her butt and then start moving them down towards her inner thighs...") - call nar(">As you move your palms further and further up, you feel a slight wetness between her legs...") + nar "You put your hands back on her butt, and then start moving them down towards her inner thighs..." + nar "As you move your palms further and further up, you feel a slight wetness between her legs..." - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Y-Yes... [genie_name]?" ("angry", "narrow", "base", "R", cheeks="blush") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Y-Yes... [name_genie_hermione]?" ("angry", "narrow", "base", "R") gen "Are you...{w} *Hmm*... Never mind..." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") - call nar(">You gently begin massaging her with your thumbs...") + her @ cheeks blush "..." ("angry", "narrow", "base", "down") + nar "You gently begin massaging her with your thumbs..." - her "..." ("soft", "narrow", "annoyed", "up", cheeks="blush") + her @ cheeks blush "..." ("soft", "narrow", "annoyed", "up") if hermione.is_worn("panties"): - call nar(">Moving your hands gently up and down, Hermione begins to relax as they occasionally brush against her panties...") + nar "Moving your hands gently up and down, Hermione begins to relax as they occasionally brush against her panties..." else: - call nar(">Moving your hands gently up and down, Hermione begins to relax as they occasionally brush against her pussy...") - her "*Ah*..." ("open", "narrow", "annoyed", "up", cheeks="blush") - her "..." ("base", "narrow", "annoyed", "up", cheeks="blush") + nar "Moving your hands gently up and down, Hermione begins to relax as they occasionally brush against her pussy..." + her @ cheeks blush "*Ah*..." ("open", "narrow", "annoyed", "up") + her @ cheeks blush "..." ("base", "narrow", "annoyed", "up") gen "..." ("grin", xpos="far_left", ypos="head") - call nar(">You continue in silence and notice Hermione's chest has begun moving up and down faster than before...") + nar "You continue in silence, and notice that Hermione's chest has begun moving up and down, even faster than before..." menu: "-Slide your hands under her panties-" if hermione.is_worn("panties"): @@ -741,63 +738,65 @@ label hg_pf_grope_ass_T4_back: label hg_pf_grope_ass_T4_continue: if hermione.is_worn("panties"): - call nar(">You slowly slide one of your hands under the fabric of the girl's panties...") + nar "You slowly slide one of your hands under the fabric of the girl's panties..." else: - call nar(">You slowly slide one of your hands across her pussy..") - her "[genie_name]... What are you...?" ("open", "base", "base", "R", cheeks="blush", ypos="head", flip=False) + nar "You slowly slide one of your hands across her pussy.." + her @ cheeks blush "[name_genie_hermione]... What are you...?" ("open", "base", "base", "R", ypos="head", flip=False) - if her_tier <= 5: + if states.her.tier <= 5: gen "It's alright, just think about those {number=current_payout} points your house is about to receive..." ("base", xpos="far_left", ypos="head") else: gen "It's alright, just try to relax and enjoy yourself." ("base", xpos="far_left", ypos="head") - her "As you say..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "As you say..." ("open", "base", "base", "R") menu: "-Prod her pussy with one of your fingers-": - ">You slide one of your fingers down and place it against the girl's little slit..." - her "[genie_name]?" ("base", "base", "base", "R", cheeks="blush") + nar "You slide one of your fingers down and place it against the girl's little slit..." + her @ cheeks blush "[name_genie_hermione]?" ("base", "base", "base", "R") menu: "-Force your finger into her pussy!-": - ">You force one of your fingers into her little pussy..." - ">It's very tight and warm..." - ">it is quite wet as well... Seems like Hermione's taking pleasure in this..." + play sound "sounds/slick_02.ogg" - her "*Ah*..." ("silly", "narrow", "base", "mid_soft", cheeks="blush") - her "It's inside of me..." ("disgust", "narrow", "worried", "down", cheeks="blush") - her "No, [genie_name], you must stop now..." ("disgust", "base", "base", "mid_soft", cheeks="blush") + nar "You force one of your fingers into her little pussy..." + nar "It's very tight and warm..." + nar "It's quite wet as well... Seems like Hermione's taking pleasure in this..." + + her @ cheeks blush "*Ah*..." ("silly", "narrow", "base", "mid_soft") + her @ cheeks blush "It's inside of me..." ("disgust", "narrow", "worried", "down") + her @ cheeks blush "No, [name_genie_hermione], you must stop now..." ("disgust", "base", "base", "mid_soft") gen "Why? You don't like it?" ("base", xpos="far_left", ypos="head") - her "It doesn't matter whether I like this or not, [genie_name]." ("soft", "narrow", "base", "mid_soft", cheeks="blush") - call nar(">You take your fingers out and move them across her slit...") - her "You know why I'm doing this..." ("clench", "narrow", "worried", "down", cheeks="blush") - her "...." ("disgust", "narrow", "worried", "down", cheeks="blush") - her "And it's wrong for me to let you do this to me for a meagre {number=current_payout} points..." ("base", "narrow", "base", "mid_soft", cheeks="blush") - gen "Heh... I see..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It doesn't matter whether I like this or not, [name_genie_hermione]." ("soft", "narrow", "base", "mid_soft") + nar "You take your fingers out, and brush them across her slit..." + her @ cheeks blush "You know why I'm doing this..." ("clench", "narrow", "worried", "down") + her @ cheeks blush "...." ("disgust", "narrow", "worried", "down") + her @ cheeks blush "And it's wrong for me to let you do this to me for a meagre {number=current_payout} points..." ("base", "narrow", "base", "mid_soft") + gen "*Heh*... I see..." ("base", xpos="far_left", ypos="head") menu: "-Continue rubbing her-": - call nar(">As you continue rubbing her, Hermione closes her eyes and goes silent...") - her "......" ("clench", "happyCl", "worried", "mid", cheeks="blush") - her "*Ah*..." ("silly", "happyCl", "worried", "mid", cheeks="blush") - call nar(">With no more objections you move your index finger across her clit and begin rubbing it gently...") - her "..." ("soft", "closed", "base", "mid", cheeks="blush") - call nar(">Completely lost in the moment, Hermione moves around as you massage her.") - call nar(">In response to her movement you start rubbing her faster, and as you do so, she squeals and lets out a gentle moan.") - her "*Hnnngh*" ("clench", "happyCl", "worried", "mid", cheeks="blush") #still has eyes closed - her "...." ("disgust", "wide", "base", "stare", cheeks="blush") #Opens her eyes wide + nar "As you continue rubbing her, Hermione closes her eyes and goes silent..." + her @ cheeks blush "......" ("clench", "happyCl", "worried", "mid") + her @ cheeks blush "*Ah*..." ("silly", "happyCl", "worried", "mid") + nar "With no more objections, you move your index finger across her clit and begin rubbing it gently..." + her @ cheeks blush "..." ("soft", "closed", "base", "mid") + nar "Completely lost in the moment, Hermione's body reacts, and she grinds on your fingers slightly, as you massage her." + nar "In response to her movement, you start rubbing her faster, and as you do so, she squeals and lets out a gentle moan." + her @ cheeks blush "*Hnnngh*" ("clench", "happyCl", "worried", "mid") #still has eyes closed + her @ cheeks blush "...." ("disgust", "wide", "base", "stare") #Opens her eyes wide gen "Did you just--" ("base", xpos="far_left", ypos="head") - if her_tier <= 5: - her "No..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + if states.her.tier <= 5: + her @ cheeks blush "No..." ("angry", "happyCl", "worried", "mid") gen "Well it sure looks like you just--" ("base", xpos="far_left", ypos="head") - her "I think we're done here!" ("soft", "happyCl", "worried", "mid", cheeks="blush", emote="angry") + her @ cheeks blush "I think we're done here!" ("soft", "happyCl", "worried", "mid", emote="angry") gen "I see..." ("base", xpos="far_left", ypos="head") gen "Well, in that case..." ("base", xpos="far_left", ypos="head") else: - her "Yes..." ("angry", "narrow", "annoyed", "up", cheeks="blush") - her "That felt really good!" ("soft", "narrow", "base", "mid_soft", cheeks="blush") - gen "Any time, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Yes..." ("angry", "narrow", "annoyed", "up") + her @ cheeks blush "That felt really good!" ("soft", "narrow", "base", "mid_soft") + gen "Any time, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") jump end_hg_pf_grope @@ -808,24 +807,28 @@ label hg_pf_grope_ass_T4_continue: jump end_hg_pf_grope "-Prod her butthole instead-": - ">You place one of your thumbs against the girl's little butthole..." - her "[genie_name]? What are you doing?" ("base", "base", "base", "R", cheeks="blush") + nar "You place one of your thumbs against the girl's little butthole..." + her @ cheeks blush "[name_genie_hermione]? What are you doing?" ("base", "base", "base", "R") menu: "-Force your thumb into her butthole-": - ">You force one of your thumbs into her little butthole..." + play sound "sounds/slick_02.ogg" + + nar "You force one of your thumbs into her little butthole..." with hpunch - her "*Ah*... your finger is up my..." ("silly", "base", "worried", "mid", cheeks="blush", tears="soft") - ">It's very tight and warm inside..." - her "*Ah*..." ("silly", "narrow", "base", "mid_soft", cheeks="blush") - her "It's inside of me..." - her "No, [genie_name], you must stop now..." ("base", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush tears soft "*Ah*... Your finger is up my..." ("silly", "base", "worried", "stare") + nar "It's very tight and warm inside..." + her @ cheeks blush "*Ah*..." ("silly", "narrow", "base", "mid_soft") + her @ cheeks blush "It's inside of me..." ("angry", "narrow", "base", "mid_soft") + her @ cheeks blush "No, [name_genie_hermione], you must stop now..." ("base", "narrow", "base", "mid_soft") gen "Why? You don't like it?" ("base", xpos="far_left", ypos="head") - her "It doesn't matter whether I like this or not, [genie_name]." - her "You know why I'm doing this..." - her "And it is wrong for me to let you do this to me for a meagre {number=current_payout} points..." - ">Hermione pulls away from you..." - gen "Heh... I see..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It doesn't matter whether I like this or not, [name_genie_hermione]." ("soft", "narrow", "base", "mid_soft") + her @ cheeks blush "You know why I'm doing this..." ("clench", "narrow", "worried", "down") + her @ cheeks blush "And it's wrong for me to let you do this to me for a meagre {number=current_payout} points..."("base", "narrow", "base", "mid_soft") + + play sound "sounds/slick_pop.ogg" + nar "Hermione pulls away from you..." + gen "*Heh*... I see..." ("base", xpos="far_left", ypos="head") gen "Well, in that case..." ("base", xpos="far_left", ypos="head") jump end_hg_pf_grope diff --git a/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy b/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy index cece9d89..8b5be7c8 100644 --- a/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy +++ b/game/scripts/characters/hermione/events/favors/grope_her_breasts.rpy @@ -8,91 +8,89 @@ label hg_pf_grope_breasts_T2: pause.8 her "!!!" ("normal", "wide", "worried", "shocked") - call nar(">Hermione takes a hesitant step back...") + nar "Hermione takes a hesitant step back..." - her "!!!?" ("mad", "wide", "base", "stare", cheeks="blush", ypos="head", trans=hpunch) - hide screen bld1 + her @ cheeks blush "!!!?" ("mad", "wide", "base", "stare", ypos="head", trans=hpunch) call ctc - call nar(">Hermione tries to pull away from you, but you hold her firmly by her breasts...") + nar "Hermione tries to pull away from you, but you hold her firmly by her breasts..." - her "??!" ("base", "narrow", "base", "up", cheeks="blush") - call play_music("playful_tension") #SEX THEME. - her "[genie_name], what are you--?" ("angry", "happyCl", "worried", "mid", cheeks="blush",emote="sweat") - call nar(">She tries to pull away again.") - call nar(">You squeeze her tits like a vice.") + her @ cheeks blush "??!" ("base", "narrow", "base", "up") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 #SEX THEME. if_changed + her @ cheeks blush "[name_genie_hermione], what are you--?" ("angry", "happyCl", "worried", "mid",emote="sweat") + nar "She tries to pull away again." + nar "You squeeze her tits like a vice." - her "[genie_name], you're hurting me!" ("angry", "squint", "base", "mid", cheeks="blush") - gen "Then stand still, [hermione_name]!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], you're hurting me!" ("angry", "squint", "base", "mid") + gen "Then stand still, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") her "B-but..." ("soft", "wide", "base", "stare") gen "All I want to do is squeeze your tits a little, then you will get your points!" ("base", xpos="far_left", ypos="head") - her "B-but... this is..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "B-but... This is..." ("disgust", "narrow", "base", "down") gen "Just stand still..." ("base", xpos="far_left", ypos="head") - gen "go to your happy place or something..." ("base", xpos="far_left", ypos="head") + gen "Go to your happy place or something..." ("base", xpos="far_left", ypos="head") her "M-my happy place...?" ("angry", "wink", "base", "mid") - call nar(">You feel the girl's shapely breasts in your palms...") + nar "You feel the girl's shapely breasts in your palms..." her "............................" ("shock", "happyCl", "worried", "mid", ypos="head") menu: "-Squeeze her tits with all of your strength-": - $ her_mood += 6 - call nar(">You put strength into your hold...") - her "my........." ("disgust", "narrow", "base", "down", cheeks="blush") - call nar(">You squeeze her tits even harder...") - her "[genie_name], you're hurting them..." ("shock", "happyCl", "worried", "mid") - gen "Be quiet [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Ouch........." ("disgust", "narrow", "base", "down", cheeks="blush") - call nar(">You squeeze her ample tits with all your strength.") - her "Ah! It hurts!" ("angry", "squint", "base", "mid", cheeks="blush") - her "They're gonna burst! Please stop it!" ("angry", "squint", "base", "mid", cheeks="blush") + $ states.her.mood += 6 + nar "You put strength into your hold..." + her @ cheeks blush "My........." ("disgust", "narrow", "base", "down") + nar "You squeeze her tits even harder..." + her "[name_genie_hermione], you're hurting them..." ("shock", "happyCl", "worried", "mid") + gen "Be quiet [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Ouch........." ("disgust", "narrow", "base", "down") + nar "You squeeze her ample tits with all your strength." + her @ cheeks blush "Ah! It hurts!" ("angry", "squint", "base", "mid") + her @ cheeks blush "They're gonna burst! Please stop it!" ("angry", "squint", "base", "mid") gen "They are not going to burst, you silly girl..." ("base", xpos="far_left", ypos="head") - call nar(">You loosen your grip a little...") + nar "You loosen your grip slightly..." her "It hurts..." ("shock", "happyCl", "worried", "mid") - gen "You will be fine..." ("base", xpos="far_left", ypos="head") - her "........." ("annoyed", "narrow", "angry", "R", cheeks="blush") + gen "You'll be fine..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "........." ("annoyed", "narrow", "angry", "R") jump end_hg_pf_grope "-Give her tits a tender massage-": - $ her_mood += 3 - call nar(">You start massaging Hermione's beasts through her clothes...") - her "[genie_name]...?" ("shock", "happyCl", "worried", "mid") - gen "The points, [hermione_name]... You need the points. Concentrate on that." ("base", xpos="far_left", ypos="head") - her "Yes..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Yes, for the honour of the Gryffindor house..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + $ states.her.mood += 3 + nar "You start massaging Hermione's breasts through her clothes..." + her "[name_genie_hermione]...?" ("shock", "happyCl", "worried", "mid") + gen "The points, [name_hermione_genie]... You need the points. Concentrate on that." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Yes, for the honour of the Gryffindor house..." ("angry", "happyCl", "worried", "mid") "*Squeeze-squeeze*" - call nar(">You keep massaging her tits...","start") - call nar(">You give one of her breasts a few pinches trying to locate the nipple...","end") - her "[genie_name]... you're pinching me...?" ("shock", "happyCl", "worried", "mid") - call nar(">Your attempts prove to be fruitless though. The fabric of her clothes is quite thick...") - her "Gryffindor........." ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "You keep massaging her tits..." + nar "You give one of her breasts a few pinches trying to locate the nipple..." + her "[name_genie_hermione]... You're pinching me...?" ("shock", "happyCl", "worried", "mid") + nar "Your attempts prove to be fruitless, though... The fabric of her clothes is quite thick..." + her @ cheeks blush "Gryffindor........." ("angry", "happyCl", "worried", "mid") jump end_hg_pf_grope "-Let her go and give her the points-": - gen "Well if you're going to make a drama out of this, you might as well leave..." ("base", xpos="far_left", ypos="head") - call nar(">You unhand the girl's breasts...") - her "Thank you..." ("soft", "closed", "base", "mid", cheeks="blush") - gen "But you didn't earn them today..." ("base", xpos="far_left", ypos="head") - her "..............." ("annoyed", "base", "angry", "mid", cheeks="blush") + gen "Well, if you're going to make a drama out of this, you might as well leave..." ("base", xpos="far_left", ypos="head") + nar "You unhand the girl's breasts..." + her @ cheeks blush "Thank you..." ("soft", "closed", "base", "mid") + gen "But you didn't earn it today..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..............." ("annoyed", "base", "angry", "mid") jump end_hg_pf_grope ### Tier 3 ### -label hg_pf_grope_breasts_T3: # Favour fails if you Slap them. - stop music fadeout 1.0 +label hg_pf_grope_breasts_T3: # Hermione gets mad if you slap them. call her_chibi_scene("behind_desk_front", trans=d7) $ hermione.strip("robe", "accessory") - if hg_strip.trigger: + if states.her.status.stripping: menu: - "\"First, lift up your top\"" if hermione.is_worn("top"): - her "[genie_name]?!" ("clench", "base", "base", "mid") + "\"First, lift up your top!\"" if hermione.is_worn("top"): + her "[name_genie_hermione]?!" ("clench", "base", "base", "mid") gen "What? It's not like I haven't seen them before..." ("base", xpos="far_left", ypos="head") her "But!" ("clench", "narrow", "base", "down") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "I just want to massage them a little..." ("base", xpos="far_left", ypos="head") her "..............................." ("annoyed", "narrow", "base", "down") her "Promise me you will be gentle with them." ("soft", "narrow", "base", "mid_soft") @@ -121,9 +119,8 @@ label hg_pf_grope_breasts_T3: # Favour fails if you Slap them. pause.5 - call bld menu: - gen "Let's see now..." ("base", xpos="far_left", ypos="head") + gen "(Let's see now...)" ("base", xpos="far_left", ypos="head") "-Grab them-": jump hg_pf_grope_breasts_T3_continue @@ -132,28 +129,34 @@ label hg_pf_grope_breasts_T3: # Favour fails if you Slap them. # Event fails - call nar(">You give Hermione's tits a loud slap!") + nar "You give Hermione's tits a loud slap!" call slap_her - $ her_mood += 10 - her "!!!" ("scream", "wide", "base", "stare", cheeks="blush") - her "Ouch! It hurts! *SOB*!" ("angry", "base", "worried", "mid", cheeks="blush") + $ states.her.mood += 10 + her @ cheeks blush "!!!" ("scream", "wide", "base", "stare") + her @ cheeks blush "Ouch! It hurts! *SOB*!" ("angry", "base", "worried", "mid") gen "Did you like it though?" ("base", xpos="far_left", ypos="head") - her "Did I... \"like it\", [genie_name]...?" ("annoyed", "narrow", "annoyed", "mid") - her "What girl in her right mind would like to be treated this way?" - stop music fadeout 1.0 + her "Did I... \"like it\", [name_genie_hermione]...?" ("annoyed", "narrow", "annoyed", "mid") + her "What girl in her right mind would like to be treated this way?" ("angry", "narrow", "annoyed", "mid") + + stop music fadeout 2.0 + call hide_characters + show screen blkfade + with d3 + + call her_chibi("stand","desk","base", flip=False) + call gen_chibi("sit_behind_desk") $ hermione.wear("all") - call her_chibi_scene("reset","desk","base", trans=fade) - pause.5 - her "You are a mean and demented old man!" ("angry", "base", "angry", "mid", cheeks="blush", tears="soft", xpos="mid", ypos="base") + hide screen blkfade + + her @ cheeks blush tears soft "You are a mean and demented old man!" ("angry", "base", "angry", "mid", xpos="mid", ypos="base") gen "............" ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - call bld - gen "Well, no points for Gryffindor then..." ("base", xpos="far_left", ypos="head") + gen "(Well, no points for Gryffindor then...)" ("base", xpos="far_left", ypos="head") jump end_hermione_event @@ -162,35 +165,34 @@ label hg_pf_grope_breasts_T3_continue: call ctc her ".............................." ("angry", "narrow", "base", "down") - gen "You have great tits, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "You have great tits, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "...................................." ("angry", "narrow", "base", "down") gen "You like it when I squeeze them like this?" ("base", xpos="far_left", ypos="head") - her "Excuse me, [genie_name], but you are confusing me with one of those lowly harlots again..." ("upset", "closed", "base", "mid") + her "Excuse me, [name_genie_hermione], but you are confusing me with one of those lowly harlots again..." ("upset", "closed", "base", "mid") her "I am only letting you fondle me because I am getting paid for it..." ("upset", "closed", "base", "mid") her "Not because I enjoy it..." ("upset", "closed", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") gen "So, you're more like a prostitute then..." ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "wide", "base", "stare") + her "[name_genie_hermione]!" ("angry", "wide", "base", "stare") her "Prostitutes are paid to have sex with men..." ("angry", "wide", "base", "stare") her "I'd never do something like that!" ("upset", "closed", "base", "mid") - call nar(">You squeeze one of the girl's tits tightly and give the other a couple of firm tugs.") + nar "You squeeze one of the girl's tits tightly and give the other a couple of firm tugs." her "*Ah*..." ("open", "happyCl", "worried", "mid") - gen "Enjoying yourself, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Enjoying yourself, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") - her "[genie_name], I am only doing this--" ("upset", "closed", "base", "mid") + her "[name_genie_hermione], I am only doing this--" ("upset", "closed", "base", "mid") - call nar(">You squeeze both of her tits with force...") + nar "You squeeze both of her tits with force..." her "*Ah*..." ("shock", "happyCl", "worried", "mid") - gen "Tell me you like this, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "[genie_name], I am only letting you do this to me because--" ("open", "happyCl", "worried", "mid") + gen "Tell me you like this, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I am only letting you do this to me because--" ("open", "happyCl", "worried", "mid") gen "I know, I know..." ("base", xpos="far_left", ypos="head") gen "You are starting to sound like a broken record." ("base", xpos="far_left", ypos="head") her "...." ("annoyed", "narrow", "annoyed", "mid") - jump end_hg_pf_grope ### Tier 4 ### @@ -200,13 +202,13 @@ label hg_pf_grope_breasts_T4: call her_chibi_scene("behind_desk_front", trans=d7) pause.8 - her "............" ("base", "narrow", "worried", "down", cheeks="blush") - - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. $ hermione.strip("robe", "accessory") if hermione.is_worn("top"): - call nar(">Hermione shifts to start undoing her clothes...") + nar "But before you manage to grab them, Hermione shifts to start undoing her clothes..." + + her @ cheeks blush "..." ("base", "narrow", "worried", "down", trans=d3) menu: "\"That's right, take it off!\"": @@ -222,13 +224,13 @@ label hg_pf_grope_breasts_T4: "\"No, leave it on.\"": gen "I want to massage them with your top on..." ("base", xpos="far_left", ypos="head") - her "Oh, I see..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Oh, I see..." ("open", "base", "base", "R") jump hg_pf_grope_breasts_T4_clothed elif hermione.is_worn("bra"): - call nar(">Hermione shifts to start undoing her bra...") + nar "But before you manage to grab them, Hermione shifts to start undoing her bra..." $ hermione.strip("bra") - her "" ("base", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "worried", "down") call ctc gen "Very good..." ("base", xpos="far_left", ypos="head") @@ -240,10 +242,10 @@ label hg_pf_grope_breasts_T4_naked: call her_chibi_scene("behind_desk_front", trans=d7) call ctc - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. hide hermione_main - her "" ("base", "narrow", "worried", "mid", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "" ("base", "narrow", "worried", "mid", xpos="mid", ypos="base") call ctc menu: @@ -254,24 +256,24 @@ label hg_pf_grope_breasts_T4_naked: "-Slap them-": pass - call nar(">You give Hermione's tits a loud slap!") + nar "You give Hermione's tits a loud slap!" call slap_her - her "!!!" ("scream", "wide", "base", "stare", cheeks="blush") - her "Ouch!" ("angry", "base", "worried", "mid", cheeks="blush") - her "[genie_name], what did you do that for?" + her @ cheeks blush "!!!" ("scream", "wide", "base", "stare") + her @ cheeks blush "Ouch!" ("angry", "base", "worried", "mid") + her "[name_genie_hermione], what did you do that for?" gen "Dunno... Seemed like a good idea..." ("base", xpos="far_left", ypos="head") gen "Did you like it?" ("base", xpos="far_left", ypos="head") - her "... Of course not, [genie_name]." ("annoyed", "closed", "base", "mid") + her "... Of course not, [name_genie_hermione]." ("annoyed", "closed", "base", "mid") gen "Let's try this again, then." ("base", xpos="far_left", ypos="head") her "What?" ("annoyed", "base", "base", "mid") call slap_her - her "!!!" ("scream", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "!!!" ("scream", "wide", "base", "stare") her "Ouch! Stop hurting me!" - gen "Admit that you enjoy it and I will." ("base", xpos="far_left", ypos="head") + gen "Admit that you enjoy it, and I will." ("base", xpos="far_left", ypos="head") her "But I don't..." ("disgust", "narrow", "base", "down") - her "And if you plan to keep on doing this to me, [genie_name]..." + her "And if you plan to keep on doing this to me, [name_genie_hermione]..." her "... then I think I should leave." ("annoyed", "narrow", "annoyed", "mid") gen "Fine, fine..." ("base", xpos="far_left", ypos="head") @@ -287,42 +289,42 @@ label hg_pf_grope_breasts_T4_clothed: "*squeeze-squeeze-squeeze*" - her "................" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "................" ("base", "narrow", "base", "up", xpos="mid", ypos="base") menu: - "\"Do you enjoy this, [hermione_name]?\"": - her "What...?" ("base", "base", "base", "R", cheeks="blush") - her "Oh, I don't mind it..." ("base", "base", "base", "R", cheeks="blush") + "\"Do you enjoy this, [name_hermione_genie]?\"": + her @ cheeks blush "What...?" ("base", "base", "base", "R") + her @ cheeks blush "Oh, I don't mind it..." ("base", "base", "base", "R") "*squeeze-squeeze-squeeze*" - call nar(">You keep massaging her soft tits...") + nar "You keep massaging her soft tits..." - if her_tier <= 5: - her "I mean, this isn't a big deal, as long as I am getting paid..." ("base", "narrow", "base", "up", cheeks="blush") + if states.her.tier <= 5: + her @ cheeks blush "I mean, this isn't a big deal, as long as I am getting paid..." ("base", "narrow", "base", "up") if hermione.is_worn("top"): - call nar(">You keep on massaging her tits through her clothes...") - her "A small price to pay for the honour of my house, really......{heart}" ("soft", "base", "base", "R", cheeks="blush") + nar "You keep on massaging her tits through her clothes..." + her @ cheeks blush "A small price to pay for the honour of my house, really......{heart}" ("soft", "base", "base", "R") else: gen "Really? It seems to me as if you love it." ("base", xpos="far_left", ypos="head") - her "I wouldn't say that I love it..." ("base", "narrow", "base", "up", cheeks="blush") - call nar(">You keep on massaging her tits through her uniform...") - gen "What would you say then, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I just like it, {size=-4}a lot{heart}{/size}" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "I wouldn't say that I love it..." ("base", "narrow", "base", "up") + nar "You keep on massaging her tits through her uniform..." + gen "What would you say then, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I just like it, {size=-4}a lot{heart}{/size}" ("base", "narrow", "base", "up") jump hg_pf_grope_breasts_T4_continue "-Pull on them abruptly with force-": - call nar(">You give Hermione's tits a sudden but firm pull...","start") + nar "You give Hermione's tits a sudden but firm pull..." with vpunch - her "Ouch..." ("angry", "happyCl", "worried", "mid", cheeks="blush",emote="sweat") - call nar(">You pull on her tits again. This time much stronger.","start") + her @ cheeks blush "Ouch..." ("angry", "happyCl", "worried", "mid",emote="sweat") + nar "You pull on her tits again. This time much stronger." with vpunch - her "Ouch! [genie_name], what are you trying to do...?" ("angry", "happyCl", "worried", "mid", cheeks="blush",emote="sweat") - call nar(">You jerk the girl down by her tits with all your strength...","start") + her @ cheeks blush "Ouch! [name_genie_hermione], what are you trying to do...?" ("angry", "happyCl", "worried", "mid",emote="sweat") + nar "You jerk the girl down by her tits with all your strength..." with vpunch with vpunch - call nar(">Hermione almost loses balance...","end") - her "*Panting* What are you doing, [genie_name]...?" ("open", "base", "base", "R", cheeks="blush") - her "You don't need to be so rough with me....{heart}" ("base", "base", "base", "R", cheeks="blush") + nar "Hermione almost loses balance..." + her @ cheeks blush "*Panting* What are you doing, [name_genie_hermione]...?" ("open", "base", "base", "R") + her @ cheeks blush "You don't need to be so rough with me....{heart}" ("base", "base", "base", "R") jump hg_pf_grope_breasts_T4_continue @@ -332,42 +334,42 @@ label hg_pf_grope_breasts_T4_continue: her "*Ah*..." ("open", "narrow", "worried", "down") - call nar(">You squeeze her tits a few more times, then give them a firm tug...") + nar "You squeeze her tits a few more times, then give them a firm tug..." - her "*Ah*... [genie_name]..." ("open", "base", "base", "mid") + her "*Ah*... [name_genie_hermione]..." ("open", "base", "base", "mid") gen "What? You enjoy this, don't you?" ("base", xpos="far_left", ypos="head") - her "No... I..." ("open", "base", "base", "mid") - gen "Don't you lie to your headmaster, [hermione_name]!" ("base", xpos="far_left", ypos="head") + her "No... I..." ("angry", "base", "base", "mid") + gen "Don't you lie to your headmaster, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") - call nar(">You squeeze her tits again...") + nar "You squeeze her tits again..." her "*Ah*..." ("open", "narrow", "worried", "down") - her "I am not lying, [genie_name]..." ("open", "narrow", "worried", "down") + her "I am not lying, [name_genie_hermione]..." ("open", "narrow", "worried", "down") her "Why would I enjoy this?" ("open", "base", "base", "mid") - gen "I don't know [hermione_name]. You tell me." ("base", xpos="far_left", ypos="head") + gen "I don't know [name_hermione_genie]. You tell me." ("base", xpos="far_left", ypos="head") - call nar(">You keep massaging her breasts...") + nar "You keep massaging her breasts..." her "*Ah*... I..." ("open", "base", "base", "mid") gen "Yes, what is it?" ("base", xpos="far_left", ypos="head") - her "It's... It's nothing, [genie_name]..." ("angry", "base", "base", "mid") + her "It's... It's nothing, [name_genie_hermione]..." ("angry", "base", "base", "mid") gen "Oh, I think it's something." ("base", xpos="far_left", ypos="head") gen "I think you like me squeezing your tits like this." ("base", xpos="far_left", ypos="head") - her "[genie_name], please..." ("angry", "narrow", "base", "down") + her "[name_genie_hermione], please..." ("angry", "narrow", "base", "down") if game.daytime: her "Classes are about to start..." ("angry", "narrow", "base", "down") else: her "It's getting late..." ("angry", "narrow", "base", "down") - her "Can I go now, [genie_name]? Please?" ("angry", "base", "base", "mid") + her "Can I go now, [name_genie_hermione]? Please?" ("angry", "base", "base", "mid") gen "Sure, go ahead..." ("base", xpos="far_left", ypos="head") pause 2 her "..............." ("angry", "narrow", "base", "down") pause.2 - her "[genie_name], you're... Still... Holding me." ("angry", "base", "base", "mid") + her "[name_genie_hermione], you're... Still... Holding me." ("angry", "base", "base", "mid") gen "Oh, right... my bad." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy b/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy index af082eb0..cab7612a 100644 --- a/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy +++ b/game/scripts/characters/hermione/events/favors/lets_have_sex.rpy @@ -2,123 +2,267 @@ ### Hermione Sex ### -label hg_pf_sex: +label start_hg_pf_sex: - if hg_pf_sex.counter < 1: + if not _events_completed_any: gen "{size=-4}(Should I ask her to have sex with me?){/size}" ("base", xpos="far_left", ypos="head") + menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu # Start Event $ current_payout = 65 - $ hermione_tears = None # Default value, can be set in the event to ensure tears keep showing afterwards - $ hg_pf_sex.start() + $ _temp_outfit_choice = "naked" + return - # End Event - label end_hg_pf_sex: +label hg_pf_sex_fail: + jump end_hermione_event + +label end_hg_pf_sex: # Setup stop music fadeout 1.0 - call hide_characters - hide screen animatedCG + show screen blkfade with d3 + hide hermione_main + hide cg + call weather_sound - $ hermione.set_pose(None) $ hermione.set_cum(None) $ hermione.equip(her_outfit_last) - call her_chibi("stand","desk","base", flip=False) call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: - her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade, tears=hermione_tears, flip =False) + if states.her.mood != 0: + her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade, flip=False) else: - her "" ("normal", "base", "base", "mid", cheeks="blush", xpos="mid", ypos="base", flip=False, trans=blackfade) + her @ cheeks blush "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=blackfade) # Points - gen "Alright then, [hermione_name]. {number=current_payout} points to the Gryffindor house." ("base", xpos="far_left", ypos="head") + gen "Alright then, [name_hermione_genie]. {number=current_payout} points to the Gryffindor house." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout - her "Thank you, [genie_name]..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Thank you, [name_genie_hermione]..." ("open", "base", "base", "R") # Hermione leaves - her "Did you need anything else?" ("normal", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Did you need anything else?" ("normal", "base", "base", "mid") gen "No, that shall do for today..." ("base", xpos="far_left", ypos="head") - her "Okay..." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Okay..." ("soft", "base", "base", "R") if game.daytime: - her "I'll head back to class then." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "I'll head back to class then." ("open", "base", "base", "R") else: - her "I'll head off to bed then..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I'll head off to bed then..." ("open", "base", "base", "mid") gen "Until next time..." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "base", "base", "mid", cheeks="blush") - + her @ cheeks blush "..." ("normal", "base", "base", "mid") call her_walk("door", "base") - call her_chibi("leave") # Increase level - $ hg_sex.trigger = True - if her_whoring < 24: #Adds points till 24. - $ her_whoring += 1 + $ states.her.status.sex = True + if states.her.level < 24: #Adds points till 24. + $ states.her.level += 1 $ achievements.unlock("nerdgasm") jump end_hermione_event ### Fail Events ### +label hg_pf_sex_T1_E1: -label hg_pf_sex_fail: - call bld - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "Why don't you come over here and I pound your pussy for a bit..." ("base", xpos="far_left", ypos="head") + call start_hg_pf_sex + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + menu: + "\"Let's fuck!\"": + pass + "\"Let me pound your pussy!\"": + pass + "\"Your train to pound-town has arrived!\"": + pass + "\"Bend over! I'm going in!\"": + pass + "\"My dick, your pussy... What do you say?\"": + pass + "\"How many points to let me fuck your ass?\"": + pass + + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare") + her "How could you ask for such a thing!?" + her "I think I better leave." ("angry", "happyCl", "worried", "mid") + + call her_walk(action="leave") + + gen "(Does she not want to earn points for her house after all?)" ("base", xpos="far_left", ypos="head") + gen "(Hold on...)" ("base", xpos="far_left", ypos="head") + gen "(She must just be shy! Yes, that's probably it...)" ("base", xpos="far_left", ypos="head") + gen "(Better start with some less advanced favours...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 14 + + jump hg_pf_sex_fail + +label hg_pf_sex_T2_E1: + + call start_hg_pf_sex + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Why don't you come over here, and then I pound your pussy for a bit..." ("base", xpos="far_left", ypos="head") gen "With my cock!" ("grin", xpos="far_left", ypos="head") - $ hg_pf_sex.fail_intentional() + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare") + her "How could you ask for such a thing!?" + her "I think I better leave." ("angry", "happyCl", "worried", "mid") - jump too_much + call her_walk(action="leave") + + gen "(Was it something that I said?)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 12 + + jump hg_pf_sex_fail + +label hg_pf_sex_T3_E1: + + call start_hg_pf_sex + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "This charade has been going on for far too long..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("angry", "base", "base", "mid") + gen "Let's cut the bullshit, and get to why we're both here!" ("base", xpos="far_left", ypos="head") + her "What do you--" ("angry", "base", "base", "mid") + + if game.daytime: + gen "Let's fuck until sunrise!" ("base", xpos="far_left", ypos="head") + else: + gen "Let's fucking until the sun sets!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare") + her "I think I better leave." ("angry", "happyCl", "worried", "mid") + + call her_walk(action="leave") + + gen "(I may have made a slight miscalculation...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 10 + + jump hg_pf_sex_fail + +label hg_pf_sex_T4_E1: + + call start_hg_pf_sex + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "Tell me... Why are we beating around the bush, when we could be fucking already?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare") + her "Why would you say that?" ("angry", "base", "worried", "mid") + her "I'm leaving." ("open", "happyCl", "worried", "mid") + + call her_walk(action="leave") + + gen "(...)" ("base", xpos="far_left", ypos="head") + gen "(Didn't even answer the question...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 8 + + jump hg_pf_sex_fail + +label hg_pf_sex_T5_E1: + + call start_hg_pf_sex + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "I think it's about time we do the deed..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You... You don't mean..." ("soft", "base", "base", "mid") + gen "That's right..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I... I need some time to think about this..." ("open", "squint", "base", "R") + + call her_walk(action="leave") + + gen "(She's getting there...)" ("base", xpos="far_left", ypos="head") + gen "(Any day now...)" ("base", xpos="far_left", ypos="head") + + jump hg_pf_sex_fail ### Tier 6 ### # Event 1 (i) - First time sex # Event 2 (i) - Sex with different dialogue -# Event 3 (i) - Regular or anal sex (Once spread on desk CG is ready we'll add new writing as a menu option) -# Event 3 (r) - Regular or anal sex, naked option (Once spread on desk CG is ready we'll add new writing as a menu option) +# Event 3 (i) - Regular or anal sex (Once spread on desk CG is ready, we'll add new writing as a menu option) +# Event 3 (r) - Regular or anal sex, naked option (Once spread on desk CG is ready, we'll add new writing as a menu option) label hg_pf_sex_T6_intro_E1: + + call start_hg_pf_sex + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("soft", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "base", "base", "mid") gen "The favour I will be buying from you today..." ("base", xpos="far_left", ypos="head") her ".......?" ("base", "base", "base", "mid") gen "How should I put this delicately...?" ("base", xpos="far_left", ypos="head") - her "Is it sex, [genie_name]?" ("base", "squint", "base", "mid") + her "Is it sex, [name_genie_hermione]?" ("base", "squint", "base", "mid") gen "Well, yes. How did you...?" ("base", xpos="far_left", ypos="head") her "Not a terribly difficult deduction all things considered..." ("base", "narrow", "base", "mid_soft") gen "You don't mind then?" ("base", xpos="far_left", ypos="head") - her "Of course, I mind, [genie_name]!" ("upset", "closed", "base", "mid") + her "Of course, I mind, [name_genie_hermione]!" ("upset", "closed", "base", "mid") her "I am not a prostitute!" gen "But you'll do it anyway??" ("base", xpos="far_left", ypos="head") - if gryffindor < hufflepuff or gryffindor < slytherin or gryffindor < ravenclaw: + + if not is_in_lead(gryffindor): her "Gryffindor is falling behind again..." ("open", "closed", "base", "mid") else: her "I have to make sure Gryffindor stays in the lead..." ("open", "closed", "base", "mid") + if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") her "What choice do I have...?" gen "Great!" ("base", xpos="far_left", ypos="head") gen "Get over here then!" ("base", xpos="far_left", ypos="head") - her "Okay..." ("open", "narrow", "base", "down") + her @ cheeks blush "*Ehm*...{w=0.4} How do you...{w=0.4} How do you want me [name_genie_hermione]?" ("angry", "narrow", "base", "down") + + menu: + "\"I want you in your school uniform, just how I met you!\"": + $ _temp_outfit_choice = "uniform" + her "Okay then." ("open", "narrow", "base", "down") + hide hermione_main + with fade + + $ her_outfit_last.save() + $ hermione.equip(her_outfit_default) + pause .8 + + "\"Naked, of course!\"": + $ _temp_outfit_choice = "naked" + her @ cheeks blush "Alright..." ("angry", "base", "base", "mid") + hide hermione_main + with fade + + $ her_outfit_last.save() + + if hermione.is_any_worn("clothes"): + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + pause .8 + + her "I'm ready..." ("open", "narrow", "base", "down") stop music fadeout 2.0 call her_walk("desk", "base", reduce=0.8) @@ -127,15 +271,13 @@ label hg_pf_sex_T6_intro_E1: show screen blkfade with d3 pause 2 - $ her_outfit_last.save() - $ hermione.equip(her_outfit_default) call her_chibi_scene("grope_ass_back") hide screen blkfade with d5 her "............." ("upset", "closed", "base", "mid", flip=True, trans=dissolve) - gen "Relax, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Relax, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her ".............." ("disgust", "base", "annoyed", "L") gen "Are you ready?" ("base", xpos="far_left", ypos="head") her "No..." ("annoyed", "narrow", "annoyed", "mid") @@ -147,19 +289,52 @@ label hg_pf_sex_T6_intro_E1: label hg_pf_sex_T6_intro_E2: + + call start_hg_pf_sex + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Last night I had a dream..." ("base", xpos="far_left", ypos="head") - gen "You were lying on my desk and I was fucking your tight pussy like a madman..." ("grin", xpos="far_left", ypos="head") - her "In that dream, [genie_name]..." ("upset", "closed", "base", "mid") + gen "You were lying on my desk, and I was fucking your tight pussy like a madman..." ("grin", xpos="far_left", ypos="head") + her "In that dream, [name_genie_hermione]..." ("upset", "closed", "base", "mid") her "Did I happen to receive sixty-five house points afterwards?" ("angry", "base", "angry", "mid") - gen "Why yes, you did, [hermione_name]." ("grin", xpos="far_left", ypos="head") + gen "Why yes, you did, [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") her "..............................." ("disgust", "narrow", "base", "mid") + if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") - her "Okay then." ("open", "narrow", "base", "down") + her "So, how are we doing this?" ("disgust", "narrow", "base", "down") + + menu: + gen "We're doing it..." + "\"... With clothes on!\"": + $ _temp_outfit_choice = "uniform" + her "You want me to wear my school uniform, I presume?" ("open", "narrow", "base", "mid") + gen "Yes, please." ("grin", xpos="far_left", ypos="head") + her "As you wish." ("open", "narrow", "base", "down") + hide hermione_main + with fade + + $ her_outfit_last.save() + $ hermione.equip(her_outfit_default) + pause .8 + + "\"... Naked all the way!\"": + $ _temp_outfit_choice = "naked" + her @ cheeks blush "Fine..." ("angry", "base", "base", "mid") + hide hermione_main + with fade + + $ her_outfit_last.save() + + if hermione.is_any_worn("clothes"): + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + pause .8 + + her "I'm done changing..." ("open", "narrow", "base", "down") stop music fadeout 2.0 call her_walk("desk", "base", reduce=0.8) @@ -168,9 +343,7 @@ label hg_pf_sex_T6_intro_E2: show screen blkfade with d3 pause 2 - $ her_outfit_last.save() - $ hermione.equip(her_outfit_default) call her_chibi_scene("grope_ass_back") hide screen blkfade with d5 @@ -184,20 +357,51 @@ label hg_pf_sex_T6_intro_E2: label hg_pf_sex_T6_intro_E3: + + call start_hg_pf_sex + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], are you keeping your pussy wet and ready for me?" ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("scream", "closed", "angry", "mid") - gen "Just say \"I do\", [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], are you keeping your pussy wet and ready for me?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]!" ("scream", "closed", "angry", "mid") + gen "Just say \"I do\", [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "..........." ("open", "base", "base", "mid") her "I do..." ("angry", "narrow", "base", "down") + if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") gen "Great, then you can probably guess what favour I'll be buying from you today..." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "base", "down") - her "Okay then." ("open", "narrow", "base", "down") + her "How do you want me?" ("soft", "narrow", "base", "R") + + menu: + gen "*Hmm*..." + "\"I want you in your school uniform!\"": + $ _temp_outfit_choice = "uniform" + her "Sure!" ("open", "narrow", "base", "down") + hide hermione_main + with fade + + $ her_outfit_last.save() + $ hermione.equip(her_outfit_default) + pause .8 + + "\"I want you naked!\"": + $ _temp_outfit_choice = "naked" + her @ cheeks blush "That works for me..." ("angry", "base", "base", "mid") + hide hermione_main + with fade + + $ her_outfit_last.save() + + if hermione.is_any_worn("clothes"): + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + pause .8 + + her "I'm all finished..." ("open", "narrow", "base", "down") stop music fadeout 2.0 call her_walk("desk", "base", reduce=0.8) @@ -206,15 +410,12 @@ label hg_pf_sex_T6_intro_E3: show screen blkfade with d3 pause 2 - $ her_outfit_last.save() - $ hermione.equip(her_outfit_default) call her_chibi_scene("grope_ass_back") hide screen blkfade with d5 - call bld - gen "*Hmm*... (Now that I look at it, I feel like fucking her ass...)" ("base", xpos="far_left", ypos="head") + gen "(*Hmm*... Now that I look at it, I feel like fucking her ass...)" ("base", xpos="far_left", ypos="head") menu: gen "(Where should I put it in?)" ("base", xpos="far_left", ypos="head") @@ -225,26 +426,56 @@ label hg_pf_sex_T6_intro_E3: "-Poke her butthole!-": gen "(Yes! Let's see if she's willing to take it up her ass!)" ("base", xpos="far_left", ypos="head") - $ hg_pf_anal_sex.start() + $ her_eventqueue_anal.start() jump end_hg_pf_sex label hg_pf_sex_T6_E3: # repeats + + call start_hg_pf_sex + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], are you keeping your pussy wet and ready for me?" ("base", xpos="far_left", ypos="head") - her "[genie_name]..." ("upset", "base", "worried", "down") - gen "Just say \"I do\", [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], are you keeping your pussy wet and ready for me?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]..." ("upset", "base", "worried", "down") + gen "Just say \"I do\", [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "..........." ("open", "base", "base", "mid") her "I do..." ("soft", "narrow", "base", "R") if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") gen "Great, then you know what's coming..." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "base", "down") - her "Okay then." ("open", "narrow", "base", "down") + her "How would you want me, [name_genie_hermione]?" ("soft", "narrow", "base", "R") + + menu: + gen "*Hmm*..." + "\"In your school uniform!\"": + $ _temp_outfit_choice = "uniform" + her "Sure!" ("open", "narrow", "base", "down") + hide hermione_main + with fade + + $ her_outfit_last.save() + $ hermione.equip(her_outfit_default) + pause .8 + + "\"Naked!\"": + $ _temp_outfit_choice = "naked" + her @ cheeks blush "That works for me..." ("angry", "base", "base", "mid") + hide hermione_main + with fade + + $ her_outfit_last.save() + + if hermione.is_any_worn("clothes"): + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") + pause .8 + + her "Alright then... I'm ready." ("open", "narrow", "base", "down") stop music fadeout 2.0 call her_walk("desk", "base", reduce=0.8) @@ -253,15 +484,11 @@ label hg_pf_sex_T6_E3: # repeats show screen blkfade with d3 pause 2 - $ her_outfit_last.save() - $ hermione.equip(her_outfit_default) call her_chibi_scene("grope_ass_back") hide screen blkfade with d5 - call bld - menu: gen "(How should I fuck her this time?)" ("base", xpos="far_left", ypos="head") "-Use her pussy!-": @@ -271,7 +498,7 @@ label hg_pf_sex_T6_E3: # repeats "-Fuck her asshole!-": gen "(Let's see how well she takes it up the ass!)" ("angry", xpos="far_left", ypos="head") - $ hg_pf_anal_sex.start() + $ her_eventqueue_anal.start() jump end_hg_pf_sex @@ -284,435 +511,508 @@ label hg_sex_1: pause.2 #Stop wind and thunder sounds - $ renpy.music.stop(channel="weather", fadeout=4) - - $ renpy.play('sounds/gltch.ogg') + stop weather fadeout 4 + play sound "sounds/gltch.ogg" with kissiris - - # Hermione Setup - $ hermione.set_pose("CG_lean_back") hide hermione_main - # Genie Setup - $ genie_doll_path = "images/CG/her_sex/" - $ genie_doll = "hold" - $ genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - - # Camera Setup - $ camera.set_imagepath("her_sex") - $ camera.set_image("CG her_sex") - if game.daytime: - $ camera.set_overlay("day_overlay") + if _temp_outfit_choice == "naked": + show her_sex_personal lean_back hold mouth_scream eyebrows_base eyes_wide_stare cheeks_blush as cg else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-190, -435), initialize=True) - show screen animatedCG + show her_sex_personal lean_back skirt shirt hold mouth_scream eyebrows_base eyes_wide_stare cheeks_blush as cg + + show her_sex_personal lean_back as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 hide screen blkfade with d5 + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her "*Ooooohhhhhhhhhhhh*....{heart}" - call play_music("playful_tension") # SEX THEME. - her "*Ooooohhhhhhhhhhhh*....{heart}" ("scream", "wide", "base", "stare", cheeks="blush") - $ camera.set(zoom=0.6, pos=(-555, -380), t=3.0, pause=True) + show her_sex_personal lean_back as cg: + transform_anchor True + anchor (0.0, 0.0) + offset (0, 0) + zoom 1.0 + rotate 0 + ease_quad 3.0 offset (-230, -100) zoom 0.5 rotate -15 ### gen "Your pussy... It's so tight." gen "I'll start moving now." - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - her "................" ("normal", "happyCl", "worried", "mid") + show her_sex_personal mouth_normal eyebrows_worried eyes_happycl as cg + her "................" gen "You alright?" - her "*A-ha*...{w=0.3} It's too big..." ("angry", "base", "base", "mid", tears="soft") - her "You will rip me apart, [genie_name]!" ("angry", "happyCl", "base", "mid", tears="soft_blink") + show her_sex_personal mouth_angry eyebrows_base eyes_base_mid tears_soft as cg + her "*A-ha*...{w=0.3} It's too big..." + show her_sex_personal mouth_angry eyebrows_base eyes_happycl tears_soft_blink as cg + her "You will rip me apart, [name_genie_hermione]!" - $ genie_doll = "hold_grin" + show her_sex_personal hold_grin as cg gen "Nonsense! My cock is of a regular size." - $ genie_doll = "hold" + show her_sex_personal hold as cg gen "It's not my fault that you are so tight." - her "......................" ("angry", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_mid cheeks_blush tears_none as cg + her "......................" menu: "\"You should be ashamed of yourself!\"": - her "I am not ashamed, [genie_name]!" ("mad", "narrow", "worried", "R", cheeks="blush") - her "I am doing this for the sake of my house!" ("open", "narrow", "worried", "down", cheeks="blush") - her "To help my--" ("angry", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_mad eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "I am not ashamed, [name_genie_hermione]!" + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "I am doing this for the sake of my house!" + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "To help my--" - her "*Ah-ha-a*...{heart}" ("open_tongue", "happyCl", "worried", "mid", cheeks="blush") - her "My housemates depend on--{w=0.1} *Ah-a*...{w=0.3} me...{heart}{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_open_tongue eyebrows_worried eyes_happycl cheeks_blush as cg + her "*Ah-ha-a*...{heart}" + show her_sex_personal mouth_open eyebrows_worried eyes_happycl cheeks_blush as cg + her "My housemates depend on--{w=0.1} *Ah-a*...{w=0.3} me...{heart}{heart}" gen "Are you sure that's the only reason?" - her "I don't know--" ("disgust", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_worried eyes_happycl cheeks_blush as cg + her "I don't know--" - her "*Ah-a*...{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_open eyebrows_worried eyes_happycl cheeks_blush as cg + her "*Ah-a*...{heart}" - her "I don't know what you mean, [genie_name]." ("disgust", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_base eyes_narrow_down cheeks_blush as cg + her "I don't know what you mean, [name_genie_hermione]." gen "It seems to me that you are enjoying this a little bit too much." - her "I'm not, [genie_name]!" ("annoyed", "narrow", "angry", "down", cheeks="blush") + show her_sex_personal mouth_annoyed eyebrows_angry eyes_narrow_down cheeks_blush as cg + her "I'm not, [name_genie_hermione]!" gen "Really?" - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=True) - her "......................" ("normal", "narrow", "angry", "down", cheeks="blush") + show her_sex_personal mouth_normal eyebrows_angry eyes_narrow_down cheeks_blush as cg + her "......................" - $ genie_doll = "hold_grin" + show her_sex_personal hold_grin as cg gen "Then why is your pussy so wet?" - her ".................... *A-ha*.{heart}" ("grin", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her ".................... *A-ha*.{heart}" gen "Admit it, you enjoy getting fucked by your headmaster!" - her "I do not!" ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") + show her_sex_personal mouth_annoyed eyebrows_annoyed eyes_narrow_mid cheeks_blush as cg + her "I do not!" call ctc gen "Lean forward a bit will you, I want to grab that ass of yours..." - her "Fine..." ("disgust", "narrow", "annoyed", "down", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_annoyed eyes_narrow_down cheeks_blush as cg + her "Fine..." - $ hermione.set_pose("CG_lean_forward") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - her "..." ("annoyed", "narrow", "worried", "mid", cheeks="blush") - play bg_sounds "sounds/slickloopfast.ogg" fadeout 2 + show her_sex_personal mouth_annoyed eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "..." + play background "sounds/slickloopfast.ogg" fadeout 2 pause .4 - her "" ("angry", "wide", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_wide_mid cheeks_blush as cg call ctc - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg gen "That's much better, don't you think?" - her "*Ah-ha*...{heart}" ("grin", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah-ha*...{heart}" - $ genie_doll = "caress" + show her_sex_personal caress as cg "\"So... What's new in your life?\"": - her "...[genie_name]?" ("open", "base", "base", "R") + show her_sex_personal mouth_mad eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "...[name_genie_hermione]?" gen "Just trying to have a polite conversation." - her "*Ah-ah*...{heart} But-- *Ah*...{heart}{heart}" ("open", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_open eyebrows_base eyes_narrow_r cheeks_blush as cg + her "*Ah-ah*...{heart} But-- *Ah*...{heart}{heart}" gen "Any news from your folks?" - her "My parents?" ("angry", "wide", "worried", "mid", cheeks="blush", emote="sweat") + show her_sex_personal mouth_angry eyebrows_worried eyes_wide_mid cheeks_blush as cg + her "My parents?" - her "[genie_name], *Ah-ah*...{w=0.3} Please...{w=0.4} I cannot talk." ("open", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "[name_genie_hermione], *Ah-ah*...{w=0.3} Please...{w=0.4} I cannot talk." gen "Why not? Enjoying this too much?" - her "I am-- *Ah*...{w=0.3} I am not...{heart}" ("disgust", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_worried eyes_happycl cheeks_blush as cg + her "I am-- *Ah*...{w=0.3} I am not...{heart}" gen "I think you are." - her "I am only doing this for the points, [genie_name]..." ("annoyed", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_annoyed eyebrows_worried eyes_happycl cheeks_blush as cg + her "I am only doing this for the points, [name_genie_hermione]..." gen "Oh, I see..." gen "So you are like a prostitute then." - her "What?" ("disgust", "wide", "base", "mid", cheeks="blush") - gen "Well I pay you to have sex with me. How would you call that?" + show her_sex_personal mouth_disgust eyebrows_base eyes_wide_mid cheeks_blush as cg + her "What?" + gen "Well, I pay you to have sex with me... How would you call that?" - her "..........." ("angry", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_down cheeks_blush as cg + her "..........." - her "I am not a prostitute..." ("open", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "I am not a prostitute..." - her "Why are you being so mean to me, [genie_name]?" ("mad", "narrow", "base", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyebrows_base eyes_narrow_r cheeks_blush tears_soft as cg + her "Why are you being so mean to me, [name_genie_hermione]?" gen "I think you like it when I'm mean." - her "I do not!" ("clench", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg + her "I do not!" gen "Really?" - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=True) - her "......................" ("annoyed", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_annoyed eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg + her "......................" - $ genie_doll = "hold_grin" + show her_sex_personal hold_grin as cg gen "Then why is your pussy so wet?" - her "Not because of that!" ("angry", "narrow", "annoyed", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_annoyed eyes_narrow_down cheeks_blush as cg + her "Not because of that!" gen "If you say so..." call ctc gen "Lean forward a bit will you, I want to grab that ass of yours..." - her "Fine..." ("disgust", "narrow", "angry", "down", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_angry eyes_narrow_down cheeks_blush as cg + her "Fine..." - $ hermione.set_pose("CG_lean_forward") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - play bg_sounds "sounds/slickloopfast.ogg" fadeout 2 + play background "sounds/slickloopfast.ogg" fadeout 2 pause .4 - her "" ("angry", "wide", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_wide_mid cheeks_blush as cg call ctc - her "*A-ah*...{heart}" ("open", "narrow", "worried", "mid", cheeks="blush") - her "I am...{w=0.3} *ah*...{heart}{w=0.3} not a prostitute..." ("open_tongue", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*A-ah*...{heart}" + show her_sex_personal mouth_open_tongue eyebrows_worried eyes_happycl cheeks_blush tears_soft_blink as cg + her "I am...{w=0.3} *ah*...{heart}{w=0.3} not a prostitute..." "\"......................................................\"": - her "*A-ha*...{w=0.3} *ah*..." ("angry", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*A-ha*...{w=0.3} *ah*..." gen "*Panting!*" - her "*Ah*...{w=0.3} *ha-aha*..." ("open", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "*Ah*...{w=0.3} *ha-aha*..." gen "*Mmm*..." - her "*Ah-ah*..." ("open", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah-ah*..." gen "......................" - her "*Ah*...{w=0.3} *ah*..." ("open", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_open eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3} *ah*..." - her "*Ah*...{w=0.4} [genie_name]?" ("soft", "base", "base", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_base_mid cheeks_blush as cg + her "*Ah*...{w=0.4} [name_genie_hermione]?" gen "What is it?" - her "*Ah*...{w=0.3} Do you....{w=0.4} like it?" ("soft", "closed", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_closed cheeks_blush as cg + her "*Ah*...{w=0.3} Do you....{w=0.4} like it?" gen "Do I like drilling your super-tight pussy?" - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=True) - - $ genie_doll = "hold_grin" + show her_sex_personal hold_grin as cg gen "Very much so!" - $ genie_doll = "hold" - gen "Why do you ask [hermione_name]?" + show her_sex_personal hold as cg + gen "Why do you ask [name_hermione_genie]?" - her "....................." ("clench", "closed", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_clench eyebrows_worried eyes_closed cheeks_blush as cg + her "....................." - her "*Ah*...{w=0.3} You...{w=0.2} You just got so quiet..." ("angry", "closed", "worried", "mid", cheeks="blush") - gen "Just enjoying the moment, [hermione_name]." + show her_sex_personal mouth_angry eyebrows_worried eyes_closed cheeks_blush as cg + her "*Ah*...{w=0.3} You...{w=0.2} You just got so quiet..." + gen "Just enjoying the moment, [name_hermione_genie]." gen "What about you? You alright?" - her "*Ah*...{w=0.3} {heart}yes...{heart}" ("open", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3} {heart}yes...{heart}" - her "It hurts--{w=0.2} *Ah*...{w=0.4} It hurts a little though..." ("angry", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_down cheeks_blush as cg + her "It hurts--{w=0.2} *Ah*...{w=0.4} It hurts a little though..." - her "Your penis--{w=0.2} *Ah*...{w=0.4} is too big..." ("soft", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "Your penis--{w=0.2} *Ah*...{w=0.4} is too big..." gen "*Hmm*..." gen "You need me to slow down or something?" - her "No, [genie_name]...{w=0.4} You don't have to--" ("open", "wide", "base", "down", cheeks="blush") + show her_sex_personal mouth_open eyebrows_base eyes_wide_down cheeks_blush as cg + her "No, [name_genie_hermione]...{w=0.4} You don't have to--" - her "Please, don't mind me...{w=0.4} Enjoy yourself." ("angry", "narrow", "worried", "down", cheeks="blush") - her "I will--{w=0.2} *Ah*...{w=0.3} Get used to it eventually..." ("soft", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "Please, don't mind me...{w=0.4} Enjoy yourself." + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "I will--{w=0.2} *Ah*...{w=0.3} Get used to it eventually..." - gen "As you say, [hermione_name]..." + gen "As you say, [name_hermione_genie]..." call ctc gen "Lean forward a bit will you, I want to grab that ass of yours..." - her "Alright..." ("soft", "narrow", "annoyed", "down", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_annoyed eyes_narrow_down cheeks_blush as cg + her "Alright..." + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - $ hermione.set_pose("CG_lean_forward") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 - - play bg_sounds "sounds/slickloopfast.ogg" fadeout 2 + play background "sounds/slickloopfast.ogg" fadeout 2 pause .4 - her "" ("angry", "wide", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_wide_mid cheeks_blush as cg call ctc - her "*Ooooh*...{heart}" ("open", "happyCl", "annoyed", "mid", cheeks="blush") + show her_sex_personal mouth_open eyebrows_annoyed eyes_happycl cheeks_blush as cg + her "*Ooooh*...{heart}" gen "Yes, this is great!" - her "*Ah-ah*...{heart}" ("angry", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "*Ah-ah*...{heart}" if game.daytime: gen "Going to classes after this?" else: gen "Going to bed after this?" - her "Yes--{w=0.2} *ah*...{heart}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "If I'll be able to walk..." ("disgust", "narrow", "worried", "mid", cheeks="blush") - gen "*Ght*! {heart} Yes, you always say the right things, [hermione_name]!" + show her_sex_personal mouth_angry eyebrows_worried eyes_happycl cheeks_blush as cg + her "Yes--{w=0.2} *ah*...{heart}" + show her_sex_personal mouth_disgust eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "If I'll be able to walk..." + gen "*Ght*! {heart} Yes, you always say the right things, [name_hermione_genie]!" - her "Aah! I can't hold it!" ("angry", "base", "base", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_base eyes_base_mid cheeks_blush as cg + her "Aah! I can't hold it!" - her "{size=+7}!!!!!!!!!!!!!!!{/size}{heart}{heart}{heart}" ("scream", "wide", "base", "stare", cheeks="blush", trans=vpunch) + show her_sex_personal mouth_scream eyebrows_base eyes_wide_stare cheeks_blush as cg + with vpunch + her "{size=+7}!!!!!!!!!!!!!!!{/size}{heart}{heart}{heart}" - $ genie_doll = "caress" + show her_sex_personal caress as cg gen "*huh*? You alright?" - call nar(">Hermione's legs are shaking...") - gen "[hermione_name]?" - her "{heart}{heart}{heart}I--{w=0.2} I think I'm cumming, [genie_name]!{heart}{heart}{heart}" ("grin", "wide", "annoyed", "stare", cheeks="blush") + nar "Hermione's legs are shaking..." + gen "[name_hermione_genie]?" + show her_sex_personal mouth_grin eyebrows_annoyed eyes_wide_stare cheeks_blush as cg + her "{heart}{heart}{heart}I--{w=0.2} I think I'm cumming, [name_genie_hermione]!{heart}{heart}{heart}" - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg gen "*Tch*... You nasty slut!" - her "Aah! I can't hold it!" ("mad", "wide", "base", "mid", cheeks="blush") + show her_sex_personal mouth_mad eyebrows_base eyes_wide_mid cheeks_blush as cg + her "Aah! I can't hold it!" gen "You need to be punished for being such a slut!" - $ hermione.set_pose("CG_bent_over") - $ genie_doll = "grab" - $ genie_doll_armfix = "images/CG/her_sex/grab_armfix.webp" - $ camera.set(zoom=0.44, pos=(-305, -650), rotate=0, t=2.0) + show her_sex_personal bent_over grab as cg: + offset (-65, -240) + zoom 0.45 + rotate -4 + easein 1.0 offset (0, -480) rotate 0 + with vpunch + + pause 1.0 + #Could add some sound effect here - her "" ("angry", "wide", "base", "R", cheeks="blush") - call nar(">You push Hermione down onto the desk and start fucking her fiercely!") + show her_sex_personal mouth_open eyebrows_base eyes_wide_r cheeks_blush as cg: + offset (0, -480) + rotate 0 + ease_quad 3.0 offset (-60, -620) zoom 0.55 + nar "You push Hermione down onto the desk and start fucking her fiercely!" - play bg_sounds "sounds/slickloopveryfast.ogg" fadeout 2 - her "[genie_name]!" ("mad", "wide", "base", "mid", cheeks="blush") + play background "sounds/slickloopveryfast.ogg" fadeout 2 + show her_sex_personal mouth_mad eyebrows_base eyes_wide_mid cheeks_blush as cg + her "[name_genie_hermione]!" - her "NO! STOP! PLEASE!" ("angry", "narrow", "base", "stare", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_stare cheeks_blush as cg + her "NO! STOP! PLEASE!" gen "Who told you that you could cum, slut? This is your punishment!" - her "[genie_name], no, *ah-a*!{heart}" ("open_wide_tongue", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_open_wide_tongue eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "[name_genie_hermione], no, *ah-a*!{heart}" - her "*Ah-a*...{heart}{w=0.2}I will go insane!{heart}{heart}{heart}" ("crooked_smile", "closed", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_crooked_smile eyebrows_worried eyes_closed cheeks_blush as cg + her "*Ah-a*...{heart}{w=0.2}I will go insane!{heart}{heart}{heart}" gen "{size=+7}*Grragh*!{/size}" - hide screen bld1 - with d1 call ctc - her "No--{heart}{w=0.2} *Ah*...{heart}" ("angry", "wide", "worried", "down", cheeks="blush") - her "I think I will...{heart}{w=0.2} pass out...{heart}" ("angry", "narrow", "worried", "up", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_wide_down cheeks_blush as cg + her "No--{heart}{w=0.2} *Ah*...{heart}" + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_up cheeks_blush as cg + her "I think I will...{heart}{w=0.2} pass out...{heart}" gen "*ARGH*! YOU WHORE!" menu: "-Cum all over her-": - $ genie_doll = "cum_outside2" + show her_sex_personal cum_outside2 as cg - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" gen "{size=+7}*Argh*!!!{/size}" - her "" ("mad", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_mad eyebrows_worried eyes_narrow_r cheeks_blush as cg - $ genie_doll = "cum_outside" + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - else: - $ hermione.set_cum(body="light") - with d5 - $ genie_doll = "cum_outside2" - $ renpy.sound.play("sounds/slick_02.ogg") + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_light as cg + else: + show her_sex_personal cum_ass_skirt_light as cg + + show her_sex_personal cum_outside2 as cg + play sound "sounds/slick_02.ogg" gen "{size=+15}*ARGH*!!!!!!!!!!!!!!!!{/size}" - $ genie_doll = "cum_outside" - her "" ("grin", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal cum_outside mouth_grin eyebrows_worried eyes_narrow_r cheeks_blush as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_heavy") + + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_heavy as cg else: - $ hermione.set_cum(body="heavy") + show her_sex_personal cum_ass_skirt_heavy as cg with d5 - $ renpy.sound.play("sounds/slick_02.ogg") - her "" ("grin", "narrow", "worried", "mid", cheeks="blush") + play sound "sounds/slick_02.ogg" + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg pause .8 - $ genie_doll = "after" + show her_sex_personal after as cg call ctc - her "You came all over me..." ("soft", "narrow", "base", "R", cheeks="blush") - hide screen bld1 + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_r cheeks_blush as cg + her "You came all over me..." call ctc gen "Well, that was rather intense..." - her "*Mmm*..." ("soft", "narrow", "worried", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_up cheeks_blush as cg + her "*Mmm*..." gen "You alright?" - her "*Ah*...{w=0.4} yes...{heart}{heart}{heart}" ("grin", "narrow", "worried", "down", cheeks="blush") - her "Although my legs are still shaking...{heart}" ("grin", "narrow", "base", "mid", cheeks="blush") - hide screen bld1 - with d1 + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "*Ah*...{w=0.4} yes...{heart}{heart}{heart}" + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "Although my legs are still shaking...{heart}" call ctc if game.daytime: - her "But I think I will be able to make it to my classes..." ("soft", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "But I think I will be able to make it to my classes..." else: - her "But I think I will be able to make it to the common room..." ("grin", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "But I think I will be able to make it to the common room..." gen "Good." gen "Did you enjoy getting fucked by your headmaster?" - her "[genie_name], I am only doing this for my house." ("angry", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "[name_genie_hermione], I am only doing this for my house." gen "Seriously? Still?" - her "Could I just get paid now... please?" ("disgust", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "Could I just get paid now... please?" gen "Of course!" show screen blkfade with d5 - call nar(">You take a step back to take in the view of Hermione who is now fully coated in your cum.") - call nar(">Looking down you notice her legs still twitching slightly and a streak of liquid slowly beginning to trickle down her legs.") - call nar(">After composing herself for a moment, Hermione readies herself and then makes her way to the front of your desk.") + nar "You take a step back to take in the view of Hermione, who is now fully coated in your cum." + nar "Looking down you notice her legs still twitching slightly and a streak of liquid slowly beginning to trickle down her legs." + nar "After composing herself for a moment, Hermione readies herself and then makes her way to the front of your desk." return "-Cum inside her-": + $ states.her.status.creampie = True - $ genie_doll = "cum_inside" + show her_sex_personal cum_inside as cg with hpunch - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" gen "{size=+7}*Argh*!!!{/size}" call cum_block - if hermione.is_worn("bottom"): - her "" ("open", "narrow", "worried", "mid", cheeks="blush") - else: - her "" ("open", "narrow", "worried", "R", cheeks="blush") - $ hermione.set_cum(pussy="light") - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_02.ogg") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_r cheeks_blush cum_pussy_light as cg + + stop background fadeout 2 + play sound "sounds/slick_02.ogg" gen "{size=+15}*ARGH*!!!!!!!!!!!!!!!!{/size}" call cum_block - if hermione.is_worn("bottom"): - her "" ("angry", "wide", "worried", "mid", cheeks="blush") - else: - her "" ("angry", "wide", "worried", "mid", cheeks="blush") - $ hermione.set_cum(pussy="heavy") - $ renpy.sound.play("sounds/slick_02.ogg") - her "" ("open_wide_tongue", "wide", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_wide_mid cheeks_blush cum_pussy_heavy as cg + + play sound "sounds/slick_02.ogg" + show her_sex_personal mouth_open_wide_tongue eyebrows_worried eyes_wide_mid cheeks_blush as cg call ctc - her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{heart}{heart}{heart}" ("open_tongue", "narrow", "base", "down", cheeks="blush") - hide screen bld1 - with d1 + show her_sex_personal mouth_open_tongue eyebrows_base eyes_narrow_down cheeks_blush as cg + her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{heart}{heart}{heart}" - her "You came inside of me..." ("grin", "base", "base", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_base_mid cheeks_blush as cg + her "You came inside of me..." gen "I sure did." - hide screen bld1 - with d1 call ctc - her "That was...{w=0.8}{nw}" ("soft", "narrow", "base", "down", cheeks="blush") - her "That was...{fast} Wait..." ("soft", "base", "base", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_down cheeks_blush as cg + her "That was...{w=0.8}{nw}" + show her_sex_personal mouth_soft eyebrows_base eyes_base_mid cheeks_blush as cg + her "That was...{fast} Wait..." gen "What?" - her "What if I get pregnant?" ("disgust", "wide", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_worried eyes_wide_mid cheeks_blush as cg + her "What if I get pregnant?" gen "Nah, you will be alright..." - her "B-But... How would you know, [genie_name]?" ("angry", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "B-But... How would you know, [name_genie_hermione]?" gen "We {i}witchers{/i} are infertile." - her "{i}Witchers{/i}?" ("angry", "base", "worried", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_base_down cheeks_blush as cg + her "{i}Witchers{/i}?" gen "Sure... You are a witch, that makes me {i}a witcher{/i}, right?" gen "And everyone knows that {i}witchers{/i} are infertile..." - her "[genie_name], you make no sense..." ("disgust", "narrow", "base", "R", cheeks="blush") - her "Can I please just get paid now...?" ("disgust", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_disgust eyebrows_base eyes_narrow_r cheeks_blush as cg + her "[name_genie_hermione], you make no sense..." + show her_sex_personal mouth_disgust eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "Can I please just get paid now...?" gen "Certainly..." - $ renpy.sound.play("sounds/slick_02.ogg") - $ genie_doll = "after" - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + play sound "sounds/slick_02.ogg" + show her_sex_personal after as cg + + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_light as cg else: - $ hermione.set_cum(body="light") + show her_sex_personal cum_ass_skirt_light as cg with kissiris - her "{heart}*Ngh*!{heart}" ("base", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_base eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{heart}*Ngh*!{heart}" show screen blkfade with d5 - call nar(">You hear Hermione take a swift intake of breath as you finally let go of her ass.") - call nar(">Her legs twitches slightly and as you take a step back you get a full view of your cum slowly beginning to drip onto the floor.") - call nar(">After composing herself for a moment, Hermione readies herself and then makes her way to the front of your desk.") + nar "You hear Hermione take a swift intake of breath as you finally let go of her ass." + nar "Her legs twitches slightly and as you take a step back you get a full view of your cum slowly beginning to drip onto the floor." + nar "After composing herself for a moment, Hermione readies herself and then makes her way to the front of your desk." return @@ -725,408 +1025,494 @@ label hg_sex_2: pause.2 #Stop wind and thunder sounds - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris # Hermione Setup - $ hermione.set_pose("CG_lean_back") hide hermione_main - # Genie Setup - $ genie_doll_path = "images/CG/her_sex/" - $ genie_doll = "hold" - $ genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - - # Camera Setup - $ camera.set_imagepath("her_sex") - $ camera.set_image("CG her_sex") - if game.daytime: - $ camera.set_overlay("day_overlay") + if _temp_outfit_choice == "naked": + show her_sex_personal lean_back hold mouth_open eyebrows_base eyes_wide_stare cheeks_blush as cg else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-190, -435), initialize=True) - show screen animatedCG + show her_sex_personal lean_back skirt shirt hold mouth_open eyebrows_base eyes_wide_stare cheeks_blush as cg + + show her_sex_personal lean_back as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 hide screen blkfade with d5 - call play_music("playful_tension") # SEX THEME. - her "*Ooooohhhhhhhhhhhh*....{heart}" ("open", "wide", "base", "stare", cheeks="blush", ypos="head", flip=False) - $ camera.set(zoom=0.6, pos=(-555, -380), t=3.0, pause=True) + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her "*Ooooohhhhhhhhhhhh*....{heart}" - ### + show her_sex_personal lean_back as cg: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 + ease_quad 3.0 offset (-230, -100) zoom 0.5 rotate -15 - her "*Ah*...{heart}" ("open", "happyCl", "base", "mid", cheeks="blush") + show her_sex_personal mouth_open eyebrows_base eyes_happycl cheeks_blush as cg + her "*Ah*...{heart}" gen "Your pussy feels a bit looser now..." - her "It does?" ("angry", "narrow", "annoyed", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_annoyed eyes_narrow_down cheeks_blush as cg + her "It does?" - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 pause .6 - her "*Ah*...{heart}" ("grin", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{heart}" - her "That's all-- *Ah*... because of you [genie_name]...{heart}" ("angry", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "That's all-- *Ah*... because of you [name_genie_hermione]...{heart}" - her "You are ruining my cute little pussy with your monstrous penis...{heart}" ("open_tongue", "narrow", "annoyed", "up", cheeks="blush") + show her_sex_personal mouth_open_tongue eyebrows_annoyed eyes_narrow_up cheeks_blush as cg + her "You are ruining my cute little pussy with your monstrous penis...{heart}" - $ genie_doll = "hold_grin" - if genie_name == "Master": + show her_sex_personal hold_grin as cg + + if name_genie_hermione == "Master": gen "*Agh*...{w=0.3} You deserve it!" - elif genie_name == "Daddy": + elif name_genie_hermione == "Daddy": gen "*Agh*, you naughty girl!" else: gen "*Agh*, you whore!" - her "*Ah*...{heart}{heart}" ("grin", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{heart}{heart}" gen "Do you like it when I fuck you like this?" - her "Yes, [genie_name]...{heart}" ("base", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_base eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "Yes, [name_genie_hermione]...{heart}" menu: gen "..." "-Be sweet but passionate-": gen "How about this?" - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=False) - $ hermione.set_pose("CG_lean_forward") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - her "Whoa!" ("grin", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_r cheeks_blush as cg + her "Whoa!" gen "Well?" - her "I...{w=0.4} I do--{w=0.2} *Ah*...{w=0.4} I love it, [genie_name]... {heart}" ("base", "narrow", "annoyed", "R", cheeks="blush") + show her_sex_personal mouth_base eyebrows_annoyed eyes_narrow_r cheeks_blush as cg + her "I...{w=0.4} I do--{w=0.2} *Ah*...{w=0.4} I love it, [name_genie_hermione]... {heart}" gen "Good girl!" gen "Just relax and take my cock!" - play bg_sounds "sounds/slickloopfast.ogg" fadeout 2 + play background "sounds/slickloopfast.ogg" fadeout 2 - her "Yes...{w=0.3} *Ah*...{heart}" ("soft", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "Yes...{w=0.3} *Ah*...{heart}" gen "All the way in... all the way..." - her "*Ah*...{heart}{heart}" ("open_tongue", "happyCl", "annoyed", "mid", cheeks="blush") - if hermione_name == "Angel": + show her_sex_personal mouth_open_tongue eyebrows_annoyed eyes_happycl cheeks_blush as cg + her "*Ah*...{heart}{heart}" + if name_hermione_genie == "Angel": gen "Yes, my little angel..." else: gen "Yes, my little princess..." - her "W--{w=0.2} What?" ("mad", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_mad eyebrows_base eyes_narrow_r cheeks_blush as cg + her "W--{w=0.2} What?" - her "No, please don't call me that now...{w=0.4} *Ah*...{heart}" ("angry", "narrow", "worried", "mid", cheeks="blush") - her "My daddy used to call me that when I was little..." ("disgust", "narrow", "worried", "down", cheeks="blush") - if genie_name == "Daddy": + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "No, please don't call me that now...{w=0.4} *Ah*...{heart}" + show her_sex_personal mouth_disgust eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "My daddy used to call me that when I was little..." + if name_genie_hermione == "Daddy": gen "Well, you don't seem to mind calling me daddy!" gen "Right now I am your daddy!" else: - gen "Well, right now I am your daddy!" + gen "Well, right now, I am your daddy!" - her "*Ah*...{w=0.3}{heart} *Ah-ah*...{heart}{heart}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - if hermione_name == "Angel": + show her_sex_personal mouth_angry eyebrows_worried eyes_happycl cheeks_blush as cg + her "*Ah*...{w=0.3}{heart} *Ah-ah*...{heart}{heart}" + if name_hermione_genie == "Angel": gen "And you are my slutty angel!" else: gen "And you are my little princess-slut!" - her "*Ah*...{w=0.3}{heart} *Mmm*...{heart}{heart}{heart}" ("grin", "narrow", "base", "mid", cheeks="blush") - if genie_name == "Daddy": - her "[genie_name]...{heart}{heart}{heart}" + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3}{heart} *Mmm*...{heart}{heart}{heart}" + + if name_genie_hermione == "Daddy": + her "[name_genie_hermione]...{heart}{heart}{heart}" "-Be mean to her!-": #Can add in more nickname variations here (the derogatory ones) gen "Yes, you slut!" gen "I bet you love every second of this!" - call nar(">You push Hermione forward and pick up the pace.") + nar "You push Hermione forward and pick up the pace." + + play background "sounds/slickloopfast.ogg" fadeout 2 + + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - play bg_sounds "sounds/slickloopfast.ogg" fadeout 2 - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=False) - $ hermione.set_pose("CG_lean_forward") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 pause .4 - her "" ("angry", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg - play bg_sounds "sounds/sexloopfast.ogg" + play background "sounds/sexloopfast.ogg" pause .3 - her "" ("angry", "base", "worried", "down", cheeks="blush", tears="soft") - call nar(">You begin pumping your cock deep inside Hermione's pussy, her legs hitting the edge of your desk as you smack your pelvis hard up against her ass.") - her "*Ah*...{heart} [genie_name]..." ("mad", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") + show her_sex_personal mouth_angry eyebrows_worried eyes_base_down cheeks_blush tears_soft as cg + nar "You begin pumping your cock deep inside Hermione's pussy, her legs hitting the edge of your desk as you smack your pelvis hard up against her ass." + show her_sex_personal mouth_mad eyebrows_worried eyes_happycl cheeks_blush tears_soft_blink as cg + her "*Ah*...{heart} [name_genie_hermione]..." gen "You nasty slut!" - her "*Ah*...{w=0.3}{heart} *Ah-a*...{heart}" ("open_tongue", "narrow", "worried", "mid", cheeks="blush", tears="soft") - gen "You are a disgrace, [hermione_name]!" - her "*Ah-ah*...{heart}{heart}{heart}" ("angry", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_open_tongue eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3}{heart} *Ah-a*...{heart}" + gen "You are a disgrace, [name_hermione_genie]!" + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush tears_soft as cg + her "*Ah-ah*...{heart}{heart}{heart}" gen "Your parents sent you here to study, not to screw your teachers!" - her "*Ah-a*...{w=0.4}{heart} But I am only doing this--" ("disgust", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") - if genie_name == "Master": + show her_sex_personal mouth_disgust eyebrows_worried eyes_happycl cheeks_blush tears_soft_blink as cg + her "*Ah-a*...{w=0.4}{heart} But I am only doing this--" + if name_genie_hermione == "Master": gen "As if...{w=0.4} I can hear that tone in your voice every time you call me master..." - gen "You're nothing but a cock-sleeve for me to do with as I please and you know it..." - elif genie_name == "Daddy": + gen "You're nothing but a cock-sleeve for me to do with as I please, and you know it..." + elif name_genie_hermione == "Daddy": gen "What would your father say if he knew you're calling me daddy?" else: gen "I've never cared about why you are doing this, you ignorant cocksucker!" gen "Look at you...{w=0.3} What you've become!" gen "Cunt full of your headmaster's cock, taking it like a cheap whore!" - her "*Ah*...{heart} No...{heart} stop saying--{heart} *Ah*...{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "down", cheeks="blush", tears="soft") - call nar(">You pick up the pace some more.") + show her_sex_personal mouth_soft eyebrows_annoyed eyes_narrow_down cheeks_blush tears_soft as cg + her "*Ah*...{heart} No...{heart} stop saying--{heart} *Ah*...{heart}{heart}{heart}" + nar "You pick up the pace some more." - play bg_sounds "sounds/sexloopveryfast.ogg" - her "" ("grin", "wide", "base", "stare", cheeks="blush", tears="soft") - call nar(">The room fills up with the rhythmical sound of flesh hitting flesh...") + play background "sounds/sexloopveryfast.ogg" + show her_sex_personal mouth_grin eyebrows_base eyes_wide_stare cheeks_blush tears_soft as cg + nar "The room fills up with the rhythmical sound of flesh hitting flesh..." gen "You let me molest you...{w=0.4} You suck my cock..." - her "" ("angry", "narrow", "base", "stare", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_stare cheeks_blush tears_soft as cg gen "What does that make you!?" - her "*Ah*...{w=0.2}*Ah*...{w=0.2}*Ah*...{w=0.4}" ("angry", "narrow", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_mid cheeks_blush tears_soft as cg + her "*Ah*...{w=0.2}*Ah*...{w=0.2}*Ah*...{w=0.4}" - her "*Ah*...{w=0.2}{heart} *Ah*....{heart}{heart}{heart}" ("angry", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush tears_soft as cg + her "*Ah*...{w=0.2}{heart} *Ah*....{heart}{heart}{heart}" - her "*Ah*...{w=0.2}*Ah*...{w=0.2}" ("angry", "base", "base", "down", cheeks="blush", tears="soft") - her "{size=-5}A whore...{/size}" ("open", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyebrows_base eyes_base_down cheeks_blush tears_soft as cg + her "*Ah*...{w=0.2}*Ah*...{w=0.2}" + show her_sex_personal mouth_open eyebrows_base eyes_narrow_down cheeks_blush tears_soft as cg + her "{size=-5}A whore...{/size}" gen "Yes! That's exactly what you are!" - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*...{heart}" ("angry", "narrow", "worried", "mid", cheeks="blush", tears="soft") - her "...." ("normal", "narrow", "annoyed", "mid", cheeks="blush", tears="soft") - her "....{fast}...." ("normal", "narrow", "annoyed", "R", cheeks="blush", tears="soft") - her "........{fast}...." ("normal", "narrow", "annoyed", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*...{heart}" + show her_sex_personal mouth_normal eyebrows_annoyed eyes_narrow_mid cheeks_blush tears_soft as cg + her "...." + show her_sex_personal mouth_normal eyebrows_annoyed eyes_narrow_r cheeks_blush tears_soft as cg + her "....{fast}...." + show her_sex_personal mouth_normal eyebrows_annoyed eyes_narrow_down cheeks_blush tears_soft as cg + her "........{fast}...." #Note: Once Spread on Desk CG is ready we'll add menu option here to flip her over onto the desk (new writing) or continue fucking her from behind. - her "*Ehm*...{w=0.4} [genie_name]..." ("normal", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_normal eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "*Ehm*...{w=0.4} [name_genie_hermione]..." gen "Yes?" - her "You think you could--{w=0.3} *Ah*..." ("open", "narrow", "annoyed", "down", cheeks="blush") + show her_sex_personal mouth_open eyebrows_annoyed eyes_narrow_down cheeks_blush as cg + her "You think you could--{w=0.3} *Ah*..." - her "Could you--{w=0.2} Spank me a little?" ("angry", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "Could you--{w=0.2} Spank me a little?" gen "Gladly!" - stop bg_sounds fadeout 2 - call nar(">You grab Hermione's bottoms firmly and slide down along with her panties in one swift movement...") - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.strip("bottom", "panties") - with d3 + stop background fadeout 2 - her "Whoa!" ("grin", "narrow", "worried", "R", cheeks="blush") + if not _temp_outfit_choice == "naked": + nar "You grab Hermione's bottoms firmly and slide down along with her panties in one swift movement..." + play sound "sounds/cloth_sound3.ogg" + show her_sex_personal -skirt as cg + with d3 + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "Whoa!" - play bg_sounds "sounds/sexloop.ogg" fadein 2 - $ hermione.set_pose("CG_bent_over") - $ hermione.strip("bottom", "panties") - $ genie_doll = "grab" - $ genie_doll_armfix = "images/CG/her_sex/grab_armfix.webp" - $ camera.set(zoom=0.44, pos=(-305, -650), rotate=0, t=2.0) - her "" ("soft", "base", "base", "R", cheeks="blush") + play background "sounds/sexloop.ogg" fadein 2 - call nar(">You push Hermione over your desk, and start fucking her fiercely as you begin spanking her ass.") + show her_sex_personal bent_over grab as cg: + offset (-65, -240) + zoom 0.45 + rotate -4 + easein 1.0 offset (0, -480) rotate 0 + with vpunch + + pause 1.0 + + #Could add some sound effect here + show her_sex_personal mouth_soft eyebrows_base eyes_wide_r cheeks_blush as cg: + offset (0, -480) + rotate 0 + ease_quad 3.0 offset (-60, -620) zoom 0.55 + + nar "You push Hermione over your desk, and start fucking her fiercely as you begin spanking her ass." call slap_her - her "*Aa-a-ah*!{heart}{heart}{heart}" ("grin", "wide", "base", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_grin eyebrows_base eyes_wide_up cheeks_blush tears_soft as cg + her "*Aa-a-ah*!{heart}{heart}{heart}" gen "You liked that one, *huh*?" call slap_her - her "*Ah*..!{w=0.4}{heart}" ("crooked_smile", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_crooked_smile eyebrows_base eyes_narrow_down cheeks_blush tears_soft as cg + her "*Ah*...!{w=0.4}{heart}" gen "And some more!" call slap_her - if genie_name == "Master": - her "*Ah*...{w=0.3} Punish me [genie_name]!" ("grin", "narrow", "worried", "mid", cheeks="blush", tears="soft") - elif genie_name == "Daddy": + if name_genie_hermione == "Master": + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} Punish me [name_genie_hermione]!" + elif name_genie_hermione == "Daddy": gen "For being such a..." call slap_her gen "For being such a...{fast} naughty girl!" call slap_her - her "*Ahh*...{w=0.3} I'm sorry [genie_name]..." ("grin", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg + her "*Ahh*...{w=0.3} I'm sorry [name_genie_hermione]..." else: - her "*Ahh*!{w=0.3} Yes!" ("grin", "narrow", "worried", "mid", cheeks="blush", tears="soft") - call nar(">You notice that with every slap of the girl's butt, her pussy clutches your cock ever so slightly...") - call nar("You love the sensation and unleash another series of slaps on Hermione's ass-cheeks.") - call nar(">Every single one met with a gasp of excitement from the girl.") + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush tears_soft as cg + her "*Ahh*!{w=0.3} Yes!" + nar "You notice that with every slap of the girl's butt, her pussy clutches your cock ever so slightly..." + nar "You love the sensation and unleash another series of slaps on Hermione's ass-cheeks." + nar "Every single one met with a gasp of excitement from the girl." call slap_her call slap_her call slap_her - - if genie_name == "Master": - her "*Aah*!!!{heart}{heart}{heart} Harder...{w=0.4} Harder [genie_name]!{heart}{heart}{heart}" ("grin", "happyCl", "base", "mid", cheeks="blush", tears="soft_blink") + if name_genie_hermione == "Master": + show her_sex_personal mouth_grin eyebrows_base eyes_happycl cheeks_blush tears_soft_blink as cg + her "*Aah*!!!{heart}{heart}{heart} Harder...{w=0.4} Harder [name_genie_hermione]!{heart}{heart}{heart}" call slap_her call slap_her call slap_her - her "Thank you...{heart}{heart}{heart}{w=0.5} Thank you [genie_name]...{heart}{heart}{heart}" ("grin", "narrow", "base", "up", cheeks="blush", tears="soft") - elif genie_name == "Daddy": - her "[genie_name]!{heart}{heart}{heart}" ("grin", "happyCl", "base", "mid", cheeks="blush", tears="soft_blink") - her "I'm sorry...{heart}{heart}{heart}{w=0.5} For being such a bad girl [genie_name]...{heart}{heart}{heart}" ("grin", "narrow", "base", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush tears_soft as cg + her "Thank you...{heart}{heart}{heart}{w=0.5} Thank you [name_genie_hermione]...{heart}{heart}{heart}" + elif name_genie_hermione == "Daddy": + show her_sex_personal mouth_grin eyebrows_base eyes_happycl cheeks_blush tears_soft_blink as cg + her "[name_genie_hermione]!{heart}{heart}{heart}" + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush tears_soft as cg + her "I'm sorry...{heart}{heart}{heart}{w=0.5} For being such a bad girl [name_genie_hermione]...{heart}{heart}{heart}" else: - her "*Aah*!!!{heart}{heart}{heart} IT HURTS!{heart}{heart}{heart}" ("grin", "happyCl", "base", "mid", cheeks="blush", tears="soft_blink") - her "It hurts...{heart}{heart}{heart}{w=0.5} It hurts so good...{heart}{heart}{heart}" ("grin", "narrow", "base", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_grin eyebrows_base eyes_happycl cheeks_blush tears_soft_blink as cg + her "*Aah*!!!{heart}{heart}{heart} IT HURTS!{heart}{heart}{heart}" + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush tears_soft as cg + her "It hurts...{heart}{heart}{heart}{w=0.5} It hurts so good...{heart}{heart}{heart}" gen "*Hmm*?" - gen "Why are your legs shaking, [hermione_name]?" + gen "Why are your legs shaking, [name_hermione_genie]?" gen "Are you cumming?" - her "Yes...{heart}{heart}{heart}{heart}{heart}{heart}" ("grin", "narrow", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush tears_soft as cg + her "Yes...{heart}{heart}{heart}{heart}{heart}{heart}" gen "Well, I think I will follow your example then." - play bg_sounds "sounds/sexloopfast.ogg" - call nar(">You steady your pace and begin thrusting your pelvis hard against Hermione's ass, the sounds of her cheeks slapping reverberates across the office...") + play background "sounds/sexloopfast.ogg" + nar "You steady your pace and begin thrusting your pelvis hard against Hermione's ass, the sounds of her cheeks slapping reverberates across the office..." - her "*Ah*!{w=0.2} No!{w=0.2} I can't...{w=0.3}{heart} I--{w=0.2}{heart} *Ah*...{heart}{heart}{heart}" ("clench", "base", "base", "ahegao", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyebrows_base eyes_base_ahegao cheeks_blush tears_soft as cg + her "*Ah*!{w=0.2} No!{w=0.2} I can't...{w=0.3}{heart} I--{w=0.2}{heart} *Ah*...{heart}{heart}{heart}" gen "Shut it whore!" - play bg_sounds "sounds/sexloopveryfast.ogg" - call nar(">Thrusting your cock deep into Hermione's pussy you feel yourself getting close to the edge.") + play background "sounds/sexloopveryfast.ogg" + nar "Thrusting your cock deep into Hermione's pussy, you feel yourself getting close to the edge." call ctc menu: "-Cum inside of her-": - $ genie_doll = "cum_inside" + + show her_sex_personal cum_inside as cg gen "{size=+7}*Argh*, TAKE THIS!!!{/size}" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" call cum_block - if hermione.is_worn("bottom"): - her "!!!" ("grin", "narrow", "base", "mid", cheeks="blush") - else: - her "!!!" ("grin", "narrow", "base", "R", cheeks="blush") - $ hermione.set_cum(pussy="light") - + show her_sex_personal cum_pussy_light mouth_grin eyebrows_base eyes_narrow_r cheeks_blush as cg + her "!!!" gen "{size=+15}*ARGH*!!!!!!!!!!!!!!!!{/size}" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" call cum_block - her "*AH*! IT'S FILLING ME UP!{heart}{heart}{heart}" ("angry", "happyCl", "base", "up", cheeks="blush") - gen "I'm Not done yet, bitch!" + show her_sex_personal mouth_angry eyebrows_base eyes_happycl cheeks_blush as cg + her "*AH*! IT'S FILLING ME UP!{heart}{heart}{heart}" + gen "I'm not done yet, bitch!" gen "{size=+15}*ARGH*!!!!!!!!!!!!!!!!{/size}" - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" call cum_block - if hermione.is_worn("bottom"): - her "" ("angry", "happyCl", "base", "up", cheeks="blush") - else: - $ hermione.set_cum(pussy="heavy") + show her_sex_personal cum_pussy_heavy mouth_angry eyebrows_base eyes_happycl cheeks_blush as cg - her "*AH*! MY WOMB!" ("open_wide_tongue", "base", "base", "ahegao", cheeks="blush", tears="soft") + pause 1 + + show her_sex_personal mouth_open_wide_tongue eyebrows_base eyes_base_ahegao cheeks_blush tears_soft as cg + her "*AH*! MY WOMB!" gen "*Ah*...{w=0.3} *Ah*...{w=0.3} That was awesome!" - her "*Ah*...{heart}" ("grin", "narrow", "base", "stare") - if genie_name == "Master": + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_stare as cg + her "*Ah*...{heart}" + + if name_genie_hermione == "Master": gen "You alright there, fuckhole?" else: - gen "You alright there, [hermione_name]?" - her "Yes...{w=0.3} I..." ("grin", "narrow", "base", "stare") + gen "You alright there, [name_hermione_genie]?" - her "{heart}I feel so full...{heart}" ("base", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_stare as cg + her "Yes...{w=0.3} I..." - her "!!!" ("clench", "base", "base", "stare", cheeks="blush") - her "You came inside of me, [genie_name]!" ("clench", "base", "base", "R", cheeks="blush") + show her_sex_personal mouth_base eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "{heart}I feel so full...{heart}" + + show her_sex_personal mouth_clench eyebrows_base eyes_base_stare cheeks_blush as cg + her "!!!" + show her_sex_personal mouth_clench eyebrows_base eyes_base_r cheeks_blush as cg + her "You came inside of me, [name_genie_hermione]!" gen "I sure did." + if not states.her.status.creampie: + show her_sex_personal mouth_disgust eyebrows_worried eyes_wide_mid cheeks_blush as cg + her "What if I get pregnant?" + gen "Nah, you will be alright..." + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "B-But... How would you know, [name_genie_hermione]?" + gen "We {i}witchers{/i} are infertile." + show her_sex_personal mouth_angry eyebrows_worried eyes_base_down cheeks_blush as cg + her "{i}Witchers{/i}?" + gen "Sure... You are a witch, that makes me {i}a witcher{/i}, right?" + gen "And everyone knows that {i}witchers{/i} are infertile..." + show her_sex_personal mouth_disgust eyebrows_base eyes_narrow_r cheeks_blush as cg + her "[name_genie_hermione], you make no sense..." + show her_sex_personal mouth_base eyebrows_base eyes_narrow_down cheeks_blush as cg + her "But perhaps you are right, [name_genie_hermione]...{w=0.4} I shouldn't worry so much." + else: + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_l cheeks_blush as cg + her "You shouldn't have..." + gen "Did you not enjoy it?" - her "You shouldn't have..." ("angry", "narrow", "worried", "L", cheeks="blush") - gen "Did you not enjoy it?" + show her_sex_personal mouth_base eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "...{w=0.4} Maybe." - her "...{w=0.4} maybe." ("base", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "I...{w=0.4} I think I came several times..." - her "I...{w=0.4} I think I came several times..." ("soft", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_base eyebrows_base eyes_narrow_down cheeks_blush as cg + her "Maybe you are right, [name_genie_hermione]...{w=0.4} I shouldn't worry so much." - her "Maybe you are right, [genie_name]...{w=0.4} Perhaps I shouldn't worry so much." ("base", "narrow", "base", "down", cheeks="blush") - her "*Ehm*...{w=0.4} Can I get my payment now?" ("soft", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "*Ehm*...{w=0.4} Can I get my payment now?" gen "As you wish." - $ renpy.sound.play("sounds/slick_02.ogg") - $ genie_doll = "after" - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + play sound "sounds/slick_02.ogg" + + if _temp_outfit_choice == "naked": + show her_sex_personal after cum_ass_light mouth_base eyebrows_base eyes_narrow_up cheeks_blush as cg else: - $ hermione.set_cum(body="light") + show her_sex_personal after cum_ass_skirt_light mouth_base eyebrows_base eyes_narrow_up cheeks_blush as cg with kissiris - her "{heart}*Ngh*!{heart}" ("base", "narrow", "base", "up", cheeks="blush") + her "{heart}*Ngh*!{heart}" show screen blkfade with d5 - call nar(">You let go of Hermione's ass and take a few steps back.") - call nar(">You watch Hermione as your cum starts leaking out of her pussy and onto the floor.") - call nar(">After taking a couple of deep breaths, she pulls herself up, readies herself and makes her way to the front of your desk.") + nar "You let go of Hermione's ass and take a few steps back." + nar "You watch Hermione as your cum starts leaking out of her pussy and onto the floor." + nar "After taking a couple of deep breaths, she pulls herself up, readies herself and makes her way to the front of your desk." + $ states.her.status.creampie = True return "-Cum all over her-": - $ genie_doll = "cum_outside2" + show her_sex_personal cum_outside2 as cg - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" gen "{size=+7}*Argh*!!!{/size}" - her "" ("mad", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_mad eyebrows_worried eyes_narrow_r cheeks_blush as cg - $ genie_doll = "cum_outside" + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") - else: - $ hermione.set_cum(body="light") - with d5 - $ renpy.sound.play("sounds/slick_02.ogg") - gen "{size=+7}That's it [hermione_name], take this!!!!!!!!!!!!!!!!{/size}" - her "" ("grin", "narrow", "worried", "R", cheeks="blush") - $ genie_doll = "cum_outside2" + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_light as cg + else: + show her_sex_personal cum_ass_skirt_light as cg + + play sound "sounds/slick_02.ogg" + gen "{size=+7}That's it [name_hermione_genie], take this!!!!!!!!!!!!!!!!{/size}" + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_r cheeks_blush as cg + show her_sex_personal cum_outside2 as cg pause .8 - $ genie_doll = "cum_outside" + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_heavy") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_heavy") + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_heavy as cg else: - $ hermione.set_cum(body="heavy") + show her_sex_personal cum_ass_skirt_heavy as cg with d5 - $ renpy.sound.play("sounds/slick_02.ogg") - her "" ("grin", "narrow", "worried", "mid", cheeks="blush") - $ genie_doll = "after" + play sound "sounds/slick_02.ogg" + show her_sex_personal after mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg call ctc - if hermione.is_worn("bottom"): - gen "*Ah*...{w=0.4} All over your clothes..." - else: + if _temp_outfit_choice == "naked": gen "*Ah*...{w=0.4} All over your ass..." - her "*Ah-ah*...{heart}" ("grin", "base", "worried", "mid", cheeks="blush", tears="soft") - gen "You alright there, [hermione_name]?" + else: + gen "*Ah*...{w=0.4} All over your clothes..." - her "Yes...{w=0.3} I--" ("grin", "narrow", "base", "stare") + show her_sex_personal mouth_grin eyebrows_worried eyes_base_mid cheeks_blush tears_soft as cg + her "*Ah-ah*...{heart}" + gen "You alright there, [name_hermione_genie]?" + + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_stare as cg + her "Yes...{w=0.3} I--" gen "Did you enjoy it?" - her "...{w=0.3} I think so..." ("grin", "narrow", "base", "stare") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_stare as cg + her "...{w=0.3} I think so..." call ctc - her "I...{w=0.4} I think I came several times..." ("soft", "narrow", "worried", "down", cheeks="blush") - if genie_name == "Master": + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "I...{w=0.4} I think I came several times..." + if name_genie_hermione == "Master": gen "Naughty...{w=0.4} But I'll allow it..." - elif genie_name == "Daddy": + elif name_genie_hermione == "Daddy": gen "Good girl..." - her "*Ehm*...{w=0.4} Can I get my payment now [genie_name]?" ("open", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_open eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "*Ehm*...{w=0.4} Can I get my payment now [name_genie_hermione]?" gen "Of course!" show screen blkfade with d5 - call nar(">You take a step back to give Hermione some room, giving her ass a last glance you watch as your cum slowly begins sliding down her sides.") - call nar(">After a couple moments, Hermione finally manages to pull herself together and after readying herself she makes her way to the front of your desk.") + nar "You take a step back to give Hermione some room, giving her ass a last glance, you watch as your cum slowly begins sliding down her sides." + nar "After a couple of moments, Hermione finally manages to pull herself together and after readying herself, she makes her way to the front of your desk." return @@ -1139,7 +1525,7 @@ label hg_sex_3: ### Will be added with Missionary pose ### #gen "Let's see... How shall we do this..." - #her "[genie_name]?" + #her "[name_genie_hermione]?" #menu: #"-Flip her onto the desk-": #jump hg_sex_missionary @@ -1148,293 +1534,360 @@ label hg_sex_3: ##Doggystyle Vaginal scene setup## - gen "*Hmm*... Now that I think about it..." ("base", xpos="far_left", ypos="head") - her "Fine, I'll take my clothes off I guess..." ("base", "narrow", "base", "mid", cheeks="blush", flip=True, trans=dissolve) - gen "Good girl..." ("base", xpos="far_left", ypos="head") - show screen blkfade with d5 pause.2 #Stop wind and thunder sounds - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris # Hermione Setup - $ hermione.set_pose("CG_lean_back") - $ hermione.strip("all") + if _temp_outfit_choice == "naked": + show her_sex_personal lean_back hold eyes_narrow_mid as cg + else: + show her_sex_personal lean_back hold skirt shirt eyes_narrow_mid as cg + hide hermione_main - # Genie Setup - $ genie_doll_path = "images/CG/her_sex/" - $ genie_doll = "hold" - $ genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - - # Camera Setup - $ camera.set_imagepath("her_sex") - $ camera.set_image("CG her_sex") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-190, -435), initialize=True) - show screen animatedCG + show her_sex_personal lean_back as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 hide screen blkfade with d5 - call play_music("playful_tension") # SEX THEME. - her "*Ah*..." ("grin", "narrow", "base", "mid", cheeks="blush") - $ camera.set(zoom=0.6, pos=(-555, -380), t=3.0, pause=True) + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*..." + + show her_sex_personal lean_back as cg: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 + ease_quad 3.0 offset (-230, -100) zoom 0.5 rotate -15 gen "There it is...{w=0.3} I've been looking forward to this." - her "..." ("base", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_base eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "..." - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 pause 1 - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Mmm*...{heart}" ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Mmm*...{heart}" gen "Enjoying yourself?" - her "N--No..." ("mad", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_mad eyebrows_base eyes_narrow_down cheeks_blush as cg + her "N--No..." gen "Liar..." gen "You've been wet since before we even started..." - her "{heart}{heart}{heart}..." ("upset", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_upset eyebrows_base eyes_narrow_r cheeks_blush as cg + her "{heart}{heart}{heart}..." gen "That's what I thought..." - her "*Ah*...{w=0.3} I can't--{w=0.2} *Ah*...{w=0.3} This is a perfectly ordinary response to--" ("angry", "closed", "worried", "R", cheeks="blush") - play bg_sounds "sounds/slickloopfast.ogg" fadeout 2 - her "*Mmm*....{heart}" ("base", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_closed cheeks_blush as cg + her "*Ah*...{w=0.3} I can't--{w=0.2} *Ah*...{w=0.3} This is a perfectly ordinary response to--" + play background "sounds/slickloopfast.ogg" fadeout 2 + show her_sex_personal mouth_base eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Mmm*....{heart}" menu: "-Agree with her-": - gen "Indeed [hermione_name]... A perfectly normal response to getting ploughed by your headmaster." - her "{heart}*Mmm*...{heart}" ("soft", "narrow", "base", "mid", cheeks="blush") + gen "Indeed [name_hermione_genie]... A perfectly normal response to getting ploughed by your headmaster." + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "{heart}*Mmm*...{heart}" gen "Because why shouldn't you enjoy it..." gen "You've put so much work into getting where you are..." - her "*Ah-ah*...{w=0.3} *Ah*..." ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Ah-ah*...{w=0.3} *Ah*..." gen "Why not let yourself have a bit of fun!" - her "*Ah*...{w=0.3} Yes...{w=0.3} I've deserved this..." ("soft", "narrow", "worried", "mid", cheeks="blush") - gen "That's right [hermione_name]..." + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3} Yes...{w=0.3} I've deserved this..." + gen "That's right [name_hermione_genie]..." gen "This is your reward..." - her "*Mmm*...{w=0.3} {heart}My reward{heart}..." ("base", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_base eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Mmm*...{w=0.3} {heart}My reward{heart}..." gen "You should be proud to have your headmaster take care of your needy little fuckhole." - call nar(">You feel Hermione's legs twitch slightly as you continue praising her.") + nar "You feel Hermione's legs twitch slightly as you continue praising her." gen "For being such a good student and doing whatever is necessary to please him..." - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." gen "Earning so many points for your house in the process..." - her "{heart}{heart}*Mmm*...{heart}{heart}" ("base", "narrow", "worried", "up", cheeks="blush") + show her_sex_personal mouth_base eyebrows_worried eyes_narrow_up cheeks_blush as cg + her "{heart}{heart}*Mmm*...{heart}{heart}" gen "You really are the top student of this school." - her "I..." ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "I..." - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=False) - $ hermione.set_pose("CG_lean_forward") - $ hermione.strip("all") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - her "Whoa!" ("angry", "base", "base", "R", cheeks="blush") - gen "You've got to be quick on your feet if you want to stay on top [hermione_name]..." + show her_sex_personal mouth_angry eyebrows_base eyes_base_r cheeks_blush as cg + her "Whoa!" + gen "You've got to be quick on your feet if you want to stay on top [name_hermione_genie]..." - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg gen "(On top of this dick.)" - her "*Ah*...{w=0.3} Yes, [genie_name]..." ("grin", "narrow", "base", "R", cheeks="blush") - if genie_name == "Master": + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_r cheeks_blush as cg + her "*Ah*...{w=0.3} Yes, [name_genie_hermione]..." + if name_genie_hermione == "Master": gen "Master...{w=0.3} Oh how I love it when you call me that..." - gen "That's it [hermione_name]...{w=0.3} Take good care of your master..." - elif genie_name == "Daddy": + gen "That's it [name_hermione_genie]...{w=0.3} Take good care of your master..." + elif name_genie_hermione == "Daddy": gen "Yes, that's it...{w=0.3} I'm your daddy..." - if hermione_name == "Angel": + if name_hermione_genie == "Angel": gen "And you're my sweet little angel..." - elif hermione_name == "Princess": + elif name_hermione_genie == "Princess": gen "And you're my sweet little princess..." - her "*Ah*...{w=0.3}[genie_name] please..." ("grin", "narrow", "base", "mid", cheeks="blush") - elif genie_name == "Fuckmachine9000": + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3}[name_genie_hermione] please..." + elif name_genie_hermione == "Fuckmachine9000": gen "That's it, feel the power of the greatest fuck machine of all time!" - her "" ("grin", "narrow", "annoyed", "R", cheeks="blush") - call nar(">As you continue pounding Hermione, you suddenly feel her clench her pelvic muscles, creating an even tighter grip around your cock.") - gen "There you go girl, you're learning!" - her "*Ah*...{w=0.3} {heart}*Ah-ah*...{heart}" ("grin", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_annoyed eyes_narrow_r cheeks_blush as cg + nar "As you continue pounding Hermione, you suddenly feel her clench her pelvic muscles, creating an even tighter grip around your cock." + gen "There you go, girl... You're learning!" + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_r cheeks_blush as cg + her "*Ah*...{w=0.3} {heart}*Ah-ah*...{heart}" gen "I think it's for someone to get another reward..." - her "*Ah*...{w=0.3} Another--" ("soft", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_r cheeks_blush as cg + her "*Ah*...{w=0.3} Another--" "-Scold her-": - $ random_number = renpy.random.randint(1, 2) + random: + block: + gen "Maybe for a slut." + show her_sex_personal mouth_disgust eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3} Don't--{w=0.2} *Ah*...{w=0.3} Don't call me that [name_genie_hermione]..." + gen "How else would you explain being so wet already?" + gen "Probably been touching yourself in class no doubt..." + show her_sex_personal mouth_upset eyebrows_worried eyes_happycl cheeks_blush as cg + her "*Ah*...{w=0.3} I--{w=0.2} I have not!" + gen "Edging and readying yourself to take your headmasters cock." + show her_sex_personal mouth_angry eyebrows_worried eyes_happycl cheeks_blush as cg + her "*Ah*...{w=0.3} That's--{w=0.3} That's not..." + gen "Are you even wearing your panties in class anymore?" + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_down cheeks_blush as cg + her "I--{w=0.2} *Ah*...{w=0.3} Of course I am!" + show her_sex_personal mouth_disgust eyebrows_base eyes_narrow_r cheeks_blush as cg + her "Don't...{w=0.3} *Ah*...{w=0.3} Don't be so crude [name_genie_hermione]..." + gen "Then I suppose the wet spot on your chair that miss Tonks told me about was a mere fabrication..." + show her_sex_personal mouth_angry eyebrows_worried eyes_wide_mid cheeks_blush as cg + her "*She--{w=0.2} She knows?!" + gen "*Heh-Heh*... Got you..." + show her_sex_personal mouth_disgust eyebrows_base eyes_narrow_down cheeks_blush as cg + her "..." + gen "Now lean forward, slut!" + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_mid cheeks_blush as cg + call ctc - if random_number == 1: - gen "Maybe for a slut." - her "*Ah*...{w=0.3} Don't--{w=0.2} *Ah*...{w=0.3} Don't call me that [genie_name]..." ("disgust", "narrow", "worried", "mid", cheeks="blush") - gen "How else would you explain being so wet already?" - gen "Probably been touching yourself in class no doubt..." - her "*Ah*...{w=0.3} I--{w=0.2} I have not!" ("upset", "happyCl", "worried", "down", cheeks="blush") - gen "Edging and readying yourself to take your headmasters cock." - her "*Ah*...{w=0.3} That's--{w=0.3} That's not..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - gen "Are you even wearing your panties in class anymore?" - her "I--{w=0.2} *Ah*...{w=0.3} Of course I am!" ("angry", "narrow", "base", "down", cheeks="blush") - her "Don't...{w=0.3} *Ah*...{w=0.3} Don't be so crude [genie_name]..." ("disgust", "narrow", "base", "R", cheeks="blush") - gen "Then I suppose the wet spot on your chair that miss Tonks told me about was a mere fabrication..." - her "*She--{w=0.2} She knows?!" ("angry", "wide", "worried", "mid", cheeks="blush") - gen "*Heh-Heh*... Got you..." - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") - gen "Now lean forward, slut!" - her "" ("angry", "narrow", "base", "mid", cheeks="blush") - call ctc + show her_sex_personal lean_forward caress mouth_normal eyebrows_base eyes_closed cheeks_blush as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=False) - $ hermione.set_pose("CG_lean_forward") - $ hermione.strip("all") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - her "" ("normal", "closed", "base", "R", cheeks="blush") - with d3 + show her_sex_personal caress_grin as cg + gen "That's much better, don't you think?" - $ genie_doll = "caress_grin" - gen "That's much better, don't you think?" + show her_sex_personal mouth_base eyebrows_worried eyes_closed cheeks_blush as cg + her "{heart}{heart}{heart}..." - her "{heart}{heart}{heart}..." ("base", "closed", "worried", "mid", cheeks="blush") + show her_sex_personal caress as cg + gen "Miss Granger?" + show her_sex_personal mouth_base eyebrows_base eyes_closed cheeks_blush as cg + her "*Mmm*..." + gen "Slut?" + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Huh*?" - $ genie_doll = "caress" - gen "Miss Granger?" - her "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") - gen "Slut?" - her "*Huh*?" ("soft", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal caress_grin as cg + gen "*Tsk*...{w=0.3} Not even responding to your own name now are we?" - $ genie_doll = "caress_grin" - gen "*Tsk*...{w=0.3} Not even responding to your own name now are we?" + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_l cheeks_blush as cg + her "*Ah*...{w=0.3} No, I just didn't hear--" + gen "Don't they teach you to pay attention in class?" + gen "I thought you were supposed to be a model student..." + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} I am a--" + gen "Model that ass then!" + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_r cheeks_blush as cg + her "My--" - her "*Ah*...{w=0.3} No, I just didn't hear--" ("grin", "narrow", "base", "L", cheeks="blush") - gen "Don't they teach you to pay attention in class?" - gen "I thought you were supposed to be a model student..." - her "*Ah*...{w=0.3} *Ah*...{w=0.3} I am a--" ("grin", "narrow", "base", "mid", cheeks="blush") - gen "Model that ass then!" - her "My--" ("angry", "narrow", "base", "R", cheeks="blush") + block: + gen "Do you even care about the points anymore?" + show her_sex_personal mouth_angry eyebrows_base eyes_happy_down cheeks_blush as cg + her "*Ah*...{w=0.3} Of course I--{w=0.2} *Ah*...{w=0.3} Why else would I be doing this..." + gen "Don't you think it's a bit suspicious that as soon as Gryffindor takes the lead it's quickly taken from them?" + show her_sex_personal mouth_angry eyebrows_annoyed eyes_narrow_down cheeks_blush as cg + her "*Ah*...{w=0.3} That...{w=0.3} That's Snape's work, no doubt..." + show her_sex_personal mouth_disgust eyebrows_annoyed eyes_narrow_mid cheeks_blush as cg + her "All those Slytherin--{w=0.2} *Ah*...{w=0.3} Whores..." + gen "You're no different to them.... You're nothing but a cum hungry slut!" + show her_sex_personal mouth_angry eyebrows_annoyed eyes_happy_r cheeks_blush as cg + her "[name_genie_hermione]!" - elif random_number == 2: - gen "Do you even care about the points anymore?" - her "*Ah*...{w=0.3} Of course I--{w=0.2} *Ah*...{w=0.3} Why else would I be doing this..." ("angry", "happy", "base", "down", cheeks="blush") - gen "Don't you think it's a bit suspicious that as soon as Gryffindor takes the lead it's quickly taken from them?" - her "*Ah*...{w=0.3} That...{w=0.3} That's Snape's work no doubt..." ("angry", "narrow", "annoyed", "down", cheeks="blush") - her "All those Slytherin--{w=0.2} *Ah*...{w=0.3} Whores..." ("disgust", "narrow", "annoyed", "mid", cheeks="blush") - gen "You're no different to them.... You're nothing but a cum hungry slut!" - her "[genie_name]!" ("angry", "happy", "annoyed", "R", cheeks="blush") + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=False) - $ hermione.set_pose("CG_lean_forward") - $ hermione.strip("all") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 + show her_sex_personal mouth_mad eyebrows_base eyes_base_mid cheeks_blush as cg + her "Whoa!" + show her_sex_personal mouth_mad eyebrows_base eyes_narrow_r cheeks_blush as cg + her "At least give me a warning if you let go of my--" - her "Whoa!" ("mad", "base", "base", "mid", cheeks="blush") - her "At least give me a warning if you let go of my--" ("mad", "narrow", "base", "R", cheeks="blush") + call slap_her - call slap_her + show her_sex_personal mouth_clench eyebrows_base eyes_wide_up cheeks_blush as cg + her "{heart}*Ah*!{heart}" + gen "Let go of your what, sorry?" + show her_sex_personal mouth_angry eyebrows_base eyes_base_mid cheeks_blush as cg + her "My... My A--" - her "{heart}*Ah*!{heart}" ("clench", "wide", "base", "up", cheeks="blush") - gen "Let go of your what, sorry?" - her "My... My A--" ("angry", "base", "base", "mid", cheeks="blush") + call slap_her - call slap_her + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{heart}*Ah*!!{heart}" + gen "Sorry, you'll have to speak up..." - her "{heart}*Ah*!!{heart}" ("grin", "narrow", "base", "up", cheeks="blush") - gen "Sorry, you'll have to speak up..." + call slap_her + call slap_her + call slap_her - call slap_her - call slap_her - call slap_her + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Mmm*...{w=0.2} More...{heart}" + gen "What was that?" + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "Don't...{w=0.2} Please don't make me say it [name_genie_hermione]..." + gen "You're never going to amount to anything if you don't take what you want [name_hermione_genie]..." + gen "For example..." - her "*Mmm*...{w=0.2} More...{heart}" ("soft", "narrow", "base", "up", cheeks="blush") - gen "What was that?" - her "Don't...{w=0.2} Please don't make me say it [genie_name]..." ("soft", "narrow", "base", "up", cheeks="blush") - gen "You're never going to amount to anything if you don't take what you want [hermione_name]..." - gen "For example..." + show her_sex_personal bent_over grab as cg: + offset (-65, -240) + zoom 0.45 + rotate -4 + easein 1.0 offset (0, -480) rotate 0 + with vpunch + + pause 1.0 - $ hermione.set_pose("CG_bent_over") - $ hermione.strip("all") - $ genie_doll = "grab" - $ genie_doll_armfix = "images/CG/her_sex/grab_armfix.webp" - $ camera.set(zoom=0.44, pos=(-305, -650), rotate=0, t=2.0) #Could add some sound effect here - call nar(">You push Hermione down onto the desk and start fucking her fiercely!") + show her_sex_personal mouth_open eyebrows_base eyes_wide_r cheeks_blush as cg: + offset (0, -480) + rotate 0 + ease_quad 3.0 offset (-60, -620) zoom 0.55 - play bg_sounds "sounds/sexloopveryfast.ogg" fadeout 2 - her "[genie_name]!" ("grin", "narrow", "worried", "up", cheeks="blush") - gen "There you go [hermione_name]!" + nar "You push Hermione down onto the desk and start fucking her fiercely!" + + play background "sounds/sexloopveryfast.ogg" fadeout 2 + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_up cheeks_blush as cg + her "[name_genie_hermione]!" + gen "There you go [name_hermione_genie]!" gen "Isn't this what you wanted?" - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("soft", "narrow", "worried", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_up cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." gen "Say it!" - her "*Ah*...{w=0.2} *Ah*...{w=0.2} [genie_name]..." ("clench", "narrow", "base", "down", cheeks="blush") - her "Not so fast..." ("grin", "narrow", "base", "down", cheeks="blush") - her "I'm not going to be able to...{w=0.2} Hold it if you--" ("grin", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_clench eyebrows_base eyes_narrow_down cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} [name_genie_hermione]..." + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_down cheeks_blush as cg + her "Not so fast..." + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "I'm not going to be able to...{w=0.2} Hold it if you--" gen "You better hold it because I'm not done yet!" - her "*Ah*...{w=0.2} *Ah*...{w=0.2} Please..." ("grin", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} Please..." gen "Please, what?" - her "*Ah*...{w=0.2} *Ah*...{w=0.2} Please spank me again!" ("crooked_smile", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_crooked_smile eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} Please spank me again!" menu: "\"My pleasure!\"": pass "\"I don't think so!\"": - her "*Ah*...{w=0.2} *Ah*... But..." ("angry", "narrow", "worried", "R", cheeks="blush") - her "I did what you--" ("angry", "narrow", "base", "down", cheeks="blush") - gen "You need to know your place [hermione_name]!" - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("angry", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_r cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*... But..." + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_down cheeks_blush as cg + her "I did what you--" + gen "You need to know your place [name_hermione_genie]!" + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." gen "I'm the one giving out the points am I not?" - her "*Ah*...{w=0.3} Yes...{w=0.3} But..." ("soft", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.3} Yes...{w=0.3} But..." gen "I should be the one to make demands!" - her "*Ah*... Yes, [genie_name]... I'm--" ("angry", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_r cheeks_blush as cg + her "*Ah*... Yes, [name_genie_hermione]... I'm--" gen "Naughty girls such as yourself should be punished!" call slap_her - her "{size=+5}*Aah*....{/size}{w=0.4}{nw}" ("open_tongue", "wide", "worried", "up", cheeks="blush") - her "{size=+5}*Aah*....{/size}{fast}" ("grin", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_open_tongue eyebrows_worried eyes_wide_up cheeks_blush as cg + her "{size=+5}*Aah*....{/size}{w=0.4}{nw}" + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "{size=+5}*Aah*....{/size}{fast}" call slap_her - her "{size=+5}*Ah*....{/size}{w=0.4}{nw}" ("open_tongue", "wide", "base", "up", cheeks="blush") - her "{size=+5}*Ah*....{/size}{fast}" ("soft", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_open_tongue eyebrows_base eyes_wide_up cheeks_blush as cg + her "{size=+5}*Ah*....{/size}{w=0.4}{nw}" + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "{size=+5}*Ah*....{/size}{fast}" gen "You should be grateful--" call slap_her - her "{size=+5}*Ah*....{/size}{w=0.4}{nw}" ("open_tongue", "wide", "base", "up", cheeks="blush") - her "{size=+5}*Ah*....{/size}{fast}" ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_open_tongue eyebrows_base eyes_wide_up cheeks_blush as cg + her "{size=+5}*Ah*....{/size}{w=0.4}{nw}" + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{size=+5}*Ah*....{/size}{fast}" gen "That I--" call slap_her - her "{size=+5}*Ah*....{/size}{w=0.4}{nw}" ("open_tongue", "wide", "base", "up", cheeks="blush") - her "{size=+5}*Ah*....{/size}{fast}" ("soft", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_open_tongue eyebrows_base eyes_wide_up cheeks_blush as cg + her "{size=+5}*Ah*....{/size}{w=0.4}{nw}" + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "{size=+5}*Ah*....{/size}{fast}" gen "Take such good care of you!" call slap_her call slap_her call slap_her - her "" ("grin", "base", "base", "ahegao", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_base_ahegao cheeks_blush as cg pause .4 - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "{size=+7}*Aah*!!!{heart}{heart}{heart} [genie_name]{/size}!" ("grin", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{size=+7}*Aah*!!!{heart}{heart}{heart} [name_genie_hermione]{/size}!" - if genie_name == "Master": - gen "Yes, I'm your Master [hermione_name]..." + if name_genie_hermione == "Master": + gen "Yes, I'm your Master [name_hermione_genie]..." gen "And you're nothing but my slave to do with as I please..." - elif genie_name == "Daddy": - gen "That's it [hermione_name]... Let your daddy take good care of you..." + elif name_genie_hermione == "Daddy": + gen "That's it [name_hermione_genie]... Let your daddy take good care of you..." - call nar(">Hermione clenches her thighs around your cock as waves of pleasure washes over her.") + nar "Hermione clenches her thighs around your cock as waves of pleasure washes over her." - gen "Cumming again are we [hermione_name]?" - her "{heart}*Ah*...{w=0.2} *Ah-ha*...{heart}" ("grin", "narrow", "worried", "down", cheeks="blush") + gen "Cumming again are we [name_hermione_genie]?" + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "{heart}*Ah*...{w=0.2} *Ah-ha*...{heart}" menu: "-Punish her-": @@ -1442,191 +1895,234 @@ label hg_sex_3: call slap_her - her "{heart}*Ah*...{w=0.2} [genie_name] I--{heart}" ("grin", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "{heart}*Ah*...{w=0.2} [name_genie_hermione] I--{heart}" call slap_her - her "*Ah*..." ("grin", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_worried eyes_happycl cheeks_blush as cg + her "*Ah*..." - if genie_name == "Master": + if name_genie_hermione == "Master": gen "Cumming before her master..." - elif genie_name == "Daddy": + elif name_genie_hermione == "Daddy": gen "Is that how you treat your daddy?" call slap_her - her "*Ah*... [genie_name], I'm sorry!" ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Ah*... [name_genie_hermione], I'm sorry!" gen "You better be sorry!" call slap_her - her "*Ah*... [genie_name]... I-- I can't stop it... I'm--" ("grin", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Ah*... [name_genie_hermione]... I-- I can't stop it... I'm--" gen "Don't you dare cum again!" call slap_her call slap_her call slap_her - her "" ("grin", "base", "base", "ahegao", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_base_ahegao cheeks_blush as cg pause .4 - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "{size=+7}{heart}*Ah*!!!{heart}{heart}{/size}" ("grin", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{size=+7}{heart}*Ah*!!!{heart}{heart}{/size}" gen "What did I just tell you!" "-Slow your pace down for a moment-": - play bg_sounds "sounds/sexloopfast.ogg" fadeout 2 + play background "sounds/sexloopfast.ogg" fadeout 2 - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("soft", "closed", "worried", "mid", cheeks="blush") - her "[genie_name]..." ("soft", "narrow", "base", "mid", cheeks="blush") - her "Please..." ("base", "narrow", "base", "mid", cheeks="blush") - her "Please keep going...{w=0.3} I'm--" ("angry", "closed", "base", "mid", cheeks="blush") - her "*Ah*...{w=0.3} I'm so close to--" ("mad", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_worried eyes_closed cheeks_blush as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "[name_genie_hermione]..." + show her_sex_personal mouth_base eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "Please..." + show her_sex_personal mouth_angry eyebrows_base eyes_closed cheeks_blush as cg + her "Please keep going...{w=0.3} I'm--" + show her_sex_personal mouth_mad eyebrows_base eyes_narrow_down cheeks_blush as cg + her "*Ah*...{w=0.3} I'm so close to--" - play bg_sounds "sounds/sexloopveryfast.ogg" fadeout 2 - call nar(">You push Hermione down even harder onto the desk as you pick up the pace once again.") - if genie_name == "Master": - call nar(">The sound of Hermione's moans fill the room as her master shows no mercy.") + play background "sounds/sexloopveryfast.ogg" fadeout 2 + show her_sex_personal mouth_open_wide_tongue eyebrows_worried eyes_wide_ahegao cheeks_blush as cg: + rotate 1 + xoffset -70 + pause 1.0 + offset (-60, -620) + zoom 0.55 + ease_quad 1.0 offset (-60, -635) + with hpunch + nar "You pin Hermione down as you pick up the pace once again." + if name_genie_hermione == "Master": + nar "The sound of Hermione's moans fill the room as her master shows no mercy." else: - call nar(">The sounds of Hermione's moans fill the room as you feel yourself getting closer to the edge.") + nar "The sounds of Hermione's moans fill the room as you feel yourself getting closer to the edge." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "narrow", "worried", "mid", cheeks="blush") - her "*Ah*...{w=0.3} [genie_name]...{w=0.3} Please tell me you're close..." ("soft", "narrow", "worried", "up", cheeks="blush") - her "I don't...{w=0.3} *Ah*...{w=0.3} I don't think I can--" ("angry", "narrow", "base", "up", cheeks="blush") - her "{size=+7}I'm-- I'm cumming, [genie_name]!{/size}" ("grin", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." + show her_sex_personal mouth_soft eyebrows_worried eyes_narrow_up cheeks_blush as cg + her "*Ah*...{w=0.3} [name_genie_hermione]...{w=0.3} Please tell me you're close..." + show her_sex_personal mouth_angry eyebrows_base eyes_narrow_up cheeks_blush as cg + her "I don't...{w=0.3} *Ah*...{w=0.3} I don't think I can--" + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "{size=+7}I'm-- I'm cumming, [name_genie_hermione]!{/size}" gen "{size=+7}Me too!{/size}" menu: "-Fill her up!-": - $ genie_doll = "cum_inside" + + show her_sex_personal cum_inside as cg gen "{size=+7}*Argh*, Yes!!!{/size}" call cum_block - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" - if hermione.is_worn("bottom"): - her "!!!" ("grin", "narrow", "base", "up", cheeks="blush") - else: - her "!!!" ("grin", "narrow", "base", "up", cheeks="blush") - $ hermione.set_cum(pussy="light") + show her_sex_personal cum_pussy_light mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "!!!" - her "{heart}[genie_name] I'm--{heart}" ("grin", "narrow", "base", "up", cheeks="blush") - $ renpy.sound.play("sounds/slick_01.ogg") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{heart}[name_genie_hermione] I'm--{heart}" + play sound "sounds/slick_01.ogg" with kissiris - her "{heart}*Ngh*{heart}" ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{heart}*Ngh*{heart}" - gen "That's it [hermione_name]!" + gen "That's it [name_hermione_genie]!" gen "{size=+15}Cum for me!!!!!!!!!!!!!!!!{/size}" - her "[genie_name], you're--" ("grin", "narrow", "base", "up", cheeks="blush") - $ renpy.sound.play("sounds/slick_01.ogg") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "[name_genie_hermione], you're--" + play sound "sounds/slick_01.ogg" with kissiris - her "{heart}*Ah*!{heart}" ("open_tongue", "narrow", "base", "up", cheeks="blush") - gen "Take my seed, [hermione_name]!" + show her_sex_personal mouth_open_tongue eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{heart}*Ah*!{heart}" + gen "Take my seed, [name_hermione_genie]!" - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" call cum_block - if hermione.is_worn("bottom"): - her "" ("grin", "narrow", "base", "mid", cheeks="blush") - else: - $ hermione.set_cum(pussy="heavy") + show her_sex_personal cum_pussy_heavy mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg - her "{heart}{heart}{heart}*Mmm*...{heart}{heart}{heart}" ("grin", "narrow", "base", "mid", cheeks="blush") - call nar(">You empty your final load into Hermione's pussy and feel it convulsing around your cock as a final wave of pleasure hits her.") - her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("grin", "narrow", "worried", "mid", cheeks="blush") + her "{heart}{heart}{heart}*Mmm*...{heart}{heart}{heart}" + nar "You empty your final load into Hermione's pussy and feel it convulsing around your cock as a final wave of pleasure hits her." + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." gen "Are you alright?" - her "*Ah*...{w=0.4} Yes, I...{w=0.4} Just give me a minute..." ("soft", "narrow", "base", "mid", cheeks="blush") - - $ renpy.sound.play("sounds/slick_02.ogg") - $ genie_doll = "after" - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + if not states.her.status.creampie: + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.4} Yes, I...{w=0.4} Hold on..." + show her_sex_personal mouth_disgust eyebrows_worried eyes_wide_mid cheeks_blush as cg + her "What if I get pregnant?" + gen "Nah, you will be alright..." + show her_sex_personal mouth_angry eyebrows_worried eyes_narrow_down cheeks_blush as cg + her "B-But... How would you know, [name_genie_hermione]?" + gen "We {i}witchers{/i} are infertile." + show her_sex_personal mouth_angry eyebrows_worried eyes_base_down cheeks_blush as cg + her "{i}Witchers{/i}?" + gen "Sure... You are a witch, that makes me {i}a witcher{/i}, right?" + gen "And everyone knows that {i}witchers{/i} are infertile..." + show her_sex_personal mouth_disgust eyebrows_base eyes_narrow_r cheeks_blush as cg + her "[name_genie_hermione], you make no sense..." else: - $ hermione.set_cum(body="light") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "*Ah*...{w=0.4} Yes, I...{w=0.4} Just give me a minute..." + + play sound "sounds/slick_02.ogg" + show her_sex_personal after as cg + + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_light as cg + else: + show her_sex_personal cum_ass_skirt_light as cg + with kissiris - her "{heart}*Ngh*!{heart}" ("grin", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{heart}*Ngh*!{heart}" show screen blkfade with d5 - call nar(">You pull your cock out of Hermione's pussy and take a step back.") - call nar(">Globules of semen begin leaking out and fall onto the floor as Hermione clenches her pelvic muscles involuntarily.") - call nar(">After some time, she finally manages to stand up.") - call nar(">Still stumbling somewhat, she readies herself and makes her way to the front of your desk.") + nar "You pull your cock out of Hermione's pussy and take a step back." + nar "Globules of semen begin leaking out and fall onto the floor as Hermione clenches her pelvic muscles involuntarily." + nar "After some time, she finally manages to stand up." + nar "Still stumbling somewhat, she readies herself and makes her way to the front of your desk." + $ states.her.status.creampie = True return "-Pull out!-": - $ genie_doll = "cum_outside2" + show her_sex_personal cum_outside2 as cg - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" gen "{size=+7}*Argh*!!!{/size}" - her "*Ngh*!!" ("soft", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_up cheeks_blush as cg + her "*Ngh*!!" with kissiris - $ genie_doll = "cum_outside" + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_light as cg else: - $ hermione.set_cum(body="light") - with d5 + show her_sex_personal cum_ass_skirt_light as cg - $ renpy.sound.play("sounds/slick_02.ogg") - gen "{size=+15}Take this, [hermione_name]!!!!!!!!!!!!!!!!{/size}" - her "" ("grin", "narrow", "worried", "R", cheeks="blush") - $ genie_doll = "cum_outside2" + play sound "sounds/slick_02.ogg" + gen "{size=+15}Take this, [name_hermione_genie]!!!!!!!!!!!!!!!!{/size}" + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_r cheeks_blush as cg + show her_sex_personal cum_outside2 as cg pause .8 - $ genie_doll = "cum_outside" + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_heavy") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_heavy") - else: - $ hermione.set_cum(body="heavy") - with d5 - $ renpy.sound.play("sounds/slick_02.ogg") - her "" ("grin", "narrow", "worried", "mid", cheeks="blush") - $ genie_doll = "after" - if hermione.is_worn("bottom"): - gen "All over your clothes!" + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_heavy as cg else: + show her_sex_personal cum_ass_skirt_heavy as cg + + play sound "sounds/slick_02.ogg" + show her_sex_personal mouth_grin eyebrows_worried eyes_narrow_mid cheeks_blush as cg + + show her_sex_personal after as cg + + if _temp_outfit_choice == "naked": gen "All over your ass!" + else: + gen "All over your clothes!" - her "..." ("grin", "narrow", "base", "mid", cheeks="blush") - her "{heart}*Mmmmm*....{heart}" ("grin", "narrow", "base", "up", cheeks="blush") - if genie_name == "Master": + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "..." + show her_sex_personal mouth_grin eyebrows_base eyes_narrow_up cheeks_blush as cg + her "{heart}*Mmmmm*....{heart}" + if name_genie_hermione == "Master": gen "Good slave..." gen "Letting your master coat your precious body with his semen..." - elif genie_name == "Daddy": - gen "That's it [hermione_name]..." + elif name_genie_hermione == "Daddy": + gen "That's it [name_hermione_genie]..." gen "You've been such a good girl, letting your daddy release his seed on you..." else: - gen "Good job [hermione_name]..." + gen "Good job [name_hermione_genie]..." gen "You've very much earned your points today." - her "Thank you, [genie_name]..." ("base", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_base eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "Thank you, [name_genie_hermione]..." gen "You can get up now..." - her "I...{w=0.4} I might need a moment..." ("soft", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyebrows_base eyes_narrow_mid cheeks_blush as cg + her "I...{w=0.4} I might need a moment..." show screen blkfade with d5 - call nar(">With no other sound but Hermione's breathing returning to a normal pace you take a step back to admire your work.") - call nar(">The girls defiled body still sprawled and presenting herself in front of you, you can't help but take another glance at her glistening pussy before she stands up.") + nar "With no other sound but Hermione's breathing returning to a normal pace, you take a step back to admire your work." + nar "The girl's defiled body still sprawled and presenting herself in front of you, you can't help but take another glance at her glistening pussy before she stands up." her "I..." - call nar(">Blushing and without finishing her sentence, Hermione readies herself and makes her way to the front of your desk.") + nar "Blushing and without finishing her sentence, Hermione readies herself and makes her way to the front of your desk." return diff --git a/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy b/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy index 0838ac30..da346c06 100644 --- a/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy +++ b/game/scripts/characters/hermione/events/favors/lets_have_sex_anal.rpy @@ -5,12 +5,11 @@ ### Anal Sex Event 1 ### label hg_anal_sex_1_intro: - $ hg_anal.trigger = True + $ states.her.status.anal = True $ current_payout = 90 - $ hg_pf_sex.change_icon(a="heart_half", b="heart_red") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "[genie_name]...?" ("annoyed", "happy", "base", "mid", flip=True) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]...?" ("annoyed", "happy", "base", "mid", flip=True) gen "How familiar are you with the term \"Anal Sex\"?" ("base", xpos="far_left", ypos="head") her "What?!" ("soft", "wide", "worried", "mid") gen "Answer the question..." ("base", xpos="far_left", ypos="head") @@ -25,57 +24,60 @@ label hg_anal_sex_1_intro: pause.2 #Stop wind and thunder sounds - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 # Hermione Setup - $ hermione.set_pose("CG_lean_back") hide hermione_main - # Genie Setup - $ genie_doll_path = "images/CG/her_sex/" - $ genie_doll = "hold" - $ genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - - # Camera Setup - $ camera.set_imagepath("her_sex") - $ camera.set_image("CG her_sex") - if game.daytime: - $ camera.set_overlay("day_overlay") + if _temp_outfit_choice == "naked": + show her_sex_personal lean_back mouth_annoyed eyes_base_r eyebrows_worried as cg else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-190, -435), initialize=True) - show screen animatedCG + show her_sex_personal lean_back shirt skirt mouth_annoyed eyes_base_r eyebrows_worried as cg + + show her_sex_personal lean_back as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 hide screen blkfade with d5 - her "..........." ("annoyed", "base", "worried", "R") - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=True) + her "..........." + + show her_sex_personal lean_back as cg: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 + ease_quad 3.0 offset (-230, -100) zoom 0.5 rotate -15 + gen "Let's see..." - call ctc - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.strip("bottom", "panties") - with d3 - - her "................." ("angry", "happyCl", "worried", "mid",emote="sweat") + show her_sex_personal mouth_angry eyes_happycl eyebrows_worried as cg + her "................." gen "*Hmm*..." - - her "!!!" ("angry", "wide", "base", "stare") + show her_sex_personal mouth_angry eyes_wide_stare eyebrows_base as cg + her "!!!" gen "Oh, come on!" - her "Ouch!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + show her_sex_personal mouth_mad eyes_happycl eyebrows_worried tears_soft_blink as cg + her "Ouch!" gen "Just try to loosen up a little, would you?" - her "I'm trying!" ("angry", "base", "base", "mid",tears="soft") + show her_sex_personal mouth_angry eyes_base_mid eyebrows_base tears_soft as cg + her "I'm trying!" gen "Okay, what if I do this...?" - $ hermione.set_pose("CG_lean_forward") - $ hermione.strip("bottom", "panties") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - her "Ouch! What are you doing, [genie_name]?" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + show her_sex_personal mouth_mad eyes_happycl eyebrows_worried tears_soft_blink as cg + her "Ouch! What are you doing, [name_genie_hermione]?" gen "Yeah, this won't work either..." gen "*Hmm*..." gen "Alright, I think I know what we should do." @@ -85,80 +87,104 @@ label hg_anal_sex_1_intro: menu: gen "..." "\"I think I'll spit on it and just force it in!\"": - call play_music("playful_tension") # SEX THEME. - her "Force it in, [genie_name]?!" ("clench", "wide", "base", "R") - $ renpy.play('sounds/spit.ogg') #Sound of spiting. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + show her_sex_personal mouth_clench eyes_wide_r eyebrows_base tears_none as cg + her "Force it in, [name_genie_hermione]?!" + play sound "sounds/spit.ogg" #Sound of spiting. gen "*SPIT*!" - her "*Eeeeeew*!" ("disgust", "happyCl", "worried", "mid") - her "No, [genie_name], wait! Maybe if I just relax--" ("clench", "happy", "worried", "R") + show her_sex_personal mouth_disgust eyes_happycl eyebrows_worried as cg + her "*Eeeeeew*!" + show her_sex_personal mouth_clench eyes_happy_r eyebrows_worried as cg + her "No, [name_genie_hermione], wait! Maybe if I just relax--" gen "No need, here I come!" with hpunch - her "AAAAH!" ("mad", "wide", "worried", "mid", tears="soft") - her "Ouch! Ouch! Ouch!" ("open", "happyCl", "worried", "mid", tears="soft_blink") + show her_sex_personal mouth_mad eyes_wide_mid eyebrows_worried tears_soft as cg + her "AAAAH!" + show her_sex_personal mouth_open eyes_happycl eyebrows_worried tears_soft_blink as cg + her "Ouch! Ouch! Ouch!" gen "Almost in!" - her "No, you're hurting me! You are hurting me!" ("scream", "wide", "base", "R", tears="soft") + show her_sex_personal mouth_scream eyes_wide_r eyebrows_base tears_soft as cg + her "No, you're hurting me! You are hurting me!" gen "Almost! Almost!" - her "Ah! It hurts!" ("clench", "happyCl", "worried", "mid") - gen "Shut it, [hermione_name]! I'm doing you a favour!" + show her_sex_personal mouth_clench eyes_happycl eyebrows_worried as cg + her "Ah! It hurts!" + gen "Shut it, [name_hermione_genie]! I'm doing you a favour!" gen "Your anus is so tight it's completely unfuckable!" - her "Then stop, please!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + show her_sex_personal mouth_mad eyes_happycl eyebrows_worried tears_soft_blink as cg + her "Then stop, please!" + + show her_sex_personal caress_grin as cg - $ genie_doll = "caress_grin" gen "No! We need to loosen up your asshole a little!" - her "But I don't want you to!" ("mad", "narrow", "worried", "mid", tears="soft") - gen "Really? How do you expect people to fuck you up your ass then?" - her "What people?" ("clench", "wide", "worried", "R", tears="soft") + show her_sex_personal mouth_mad eyes_narrow_mid eyebrows_worried tears_soft as cg + her "But I don't want you to!" + gen "Really? How do you expect people to fuck you up your ass, then?" + show her_sex_personal mouth_clench eyes_wide_r eyebrows_worried tears_soft as cg + her "What people?" - $ genie_doll = "caress" + show her_sex_personal caress as cg gen "You know... people." gen "*Argh*, dammit... My dick is hurting too now." - her "Stop then! Stop, [genie_name]!" ("open", "happyCl", "worried", "mid", tears="soft_blink") - her "I've changed my mind! I don't need these points!" ("angry", "narrow", "base", "R", tears="soft") + show her_sex_personal mouth_open eyes_happycl eyebrows_worried tears_soft_blink as cg + her "Stop then! Stop, [name_genie_hermione]!" + show her_sex_personal mouth_angry eyes_narrow_r eyebrows_base tears_soft as cg + her "I've changed my mind! I don't need these points!" gen "I think I'm almost..." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris - her "{size=+5}*AAAAAAAAhhhhh*!!!{/size}" ("open_wide_tongue", "wide", "base", "ahegao", tears="soft") + show her_sex_personal mouth_open_wide_tongue eyes_wide_ahegao eyebrows_base tears_soft as cg + her "{size=+5}*AAAAAAAAhhhhh*!!!{/size}" gen "YES!!!" - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg + gen "Let us pump this little asshole full of semen then, shall we?" - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - her "Yes...{w=0.4} Please, I just want this to end..." ("open", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") + show her_sex_personal mouth_open eyes_happycl eyebrows_worried cheeks_blush tears_soft_blink as cg + her "Yes...{w=0.4} Please, I just want this to end..." gen "*Agh*...{w=0.4} You want this to end sooner?" gen "Help me out then!" - her "*sob*! How?" ("mad", "happy", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyes_happy_down eyebrows_base cheeks_blush tears_soft as cg + her "*sob*! How?" - $ genie_doll = "caress" + show her_sex_personal caress as cg gen "You know..." - her "Oh..." ("upset", "happy", "base", "down", cheeks="blush", tears="soft") - her "I am a whore??" ("angry", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_upset eyes_happy_down eyebrows_base cheeks_blush tears_soft as cg + her "Oh..." + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "I am a whore??" - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg gen "Yes you are!" - her "*Sob*! I am a whore..." ("annoyed", "narrow", "worried", "mid", cheeks="blush", tears="soft") - her "I love to suck cock..." ("open", "narrow", "worried", "mid", cheeks="blush", tears="soft") - her "And now my tiny asshole is getting ripped apart... *Sob!*" ("mad", "narrow", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_annoyed eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "*Sob*! I am a whore..." + show her_sex_personal mouth_open eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "I love to suck cock..." + show her_sex_personal mouth_mad eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg + her "And now my tiny asshole is getting ripped apart... *Sob!*" gen "*Ah*! Yes!" - play bg_sounds "sounds/slickloopfast.ogg" + play background "sounds/slickloopfast.ogg" - her "No! Is it getting bigger?! I'm scared!" ("clench", "wide", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_wide_down eyebrows_worried cheeks_blush tears_soft as cg + her "No! Is it getting bigger?! I'm scared!" gen "*ARGH*!" "\"Suck me off first. Lubricate my cock!\"": - her "Oh... Alright..." ("angry", "narrow", "base", "down") - call play_music("playful_tension") # SEX THEME. + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_base tears_none as cg + her "Oh... Alright..." + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. - hide screen animatedCG + hide cg call her_chibi_scene("bj", trans=fade) her "*Slurp*! *Slurp*! *Slurp*!" @@ -166,43 +192,67 @@ label hg_anal_sex_1_intro: her "*Slurp*! *Slurp*! *Slurp*!" gen "Alright, I think that's enough. Back on the desk now." - show screen animatedCG - with d5 + if _temp_outfit_choice == "naked": + show her_sex_personal lean_forward caress mouth_open eyes_base_mid eyebrows_base as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-65, -240) + zoom 0.45 + rotate -4 + else: + show her_sex_personal skirt shirt lean_forward caress mouth_open eyes_base_mid eyebrows_base as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-65, -240) + zoom 0.45 + rotate -4 + with fade gen "Let's see now..." - her "............." ("open", "base", "base", "mid") + her "............." gen "Yes! Almost!" - her "Ouch!" ("mad", "happyCl", "annoyed", "mid", cheeks="blush") + show her_sex_personal mouth_mad eyes_happycl eyebrows_annoyed cheeks_blush as cg + her "Ouch!" gen "Relax. Almost in." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris - her "{size=+5}*AAAAAAAAhhhhh*!!!{/size}" ("open_wide_tongue", "base", "base", "ahegao", cheeks="blush") + show her_sex_personal mouth_open_wide_tongue eyes_base_ahegao eyebrows_base cheeks_blush as cg + her "{size=+5}*AAAAAAAAhhhhh*!!!{/size}" - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg gen "YES!!!" - her "My...{w=0.4} my..." ("clench", "wide", "base", "up", cheeks="blush") - her "It hurts!" ("angry", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_clench eyes_wide_up eyebrows_base cheeks_blush as cg + her "My...{w=0.4} my..." + show her_sex_personal mouth_angry eyes_happycl eyebrows_worried cheeks_blush as cg + her "It hurts!" gen "Let's pump this little asshole full of semen then, shall we?" - her "....................." ("angry", "happy", "base", "mid",cheeks="blush") + show her_sex_personal mouth_angry eyes_happy_mid eyebrows_base cheeks_blush as cg + her "....................." - $ genie_doll = "caress" + show her_sex_personal caress as cg - her "....................." ("angry", "base", "base", "R",cheeks="blush",tears="soft") - gen "You alright there, [hermione_name]?" - her "*Ah*...{w=0.3} You are...{w=0.3} Stretching me out from the inside... [genie_name]." ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") - her "And it still hurts..." ("angry", "happy", "base", "mid",cheeks="blush") + show her_sex_personal mouth_angry eyes_base_r eyebrows_base cheeks_blush tears_soft as cg + her "....................." + gen "You alright there, [name_hermione_genie]?" + show her_sex_personal mouth_clench eyes_base_mid eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} You are...{w=0.3} Stretching me out from the inside... [name_genie_hermione]." + show her_sex_personal mouth_angry eyes_happy_mid eyebrows_base cheeks_blush as cg + her "And it still hurts..." gen "*Hmm*..." gen "Maybe not enough lubrication...?" - gen "Come on down, [hermione_name]. Suck my dick some more." - her "What? But..." ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") - her "But it's dirty... It's been inside already." ("disgust", "happy", "base", "R", cheeks="blush", tears="soft") + gen "Come on down, [name_hermione_genie]. Suck my dick some more." + show her_sex_personal mouth_clench eyes_base_mid eyebrows_worried cheeks_blush tears_soft as cg + her "What? But..." + show her_sex_personal mouth_disgust eyes_happy_r eyebrows_base cheeks_blush tears_soft as cg + her "But it's dirty... It's been inside already." gen "Yes, it's been inside, but that doesn't mean it's dirty." - gen "Come on now, [hermione_name]. Suck it some more." - her "..........." ("annoyed", "narrow", "base", "down", cheeks="blush", tears="soft") + gen "Come on now, [name_hermione_genie]. Suck it some more." + show her_sex_personal mouth_annoyed eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "..........." - hide screen animatedCG + hide cg call her_chibi_scene("bj", trans=fade) @@ -217,45 +267,72 @@ label hg_anal_sex_1_intro: with d3 pause .8 - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris pause 1 - show screen animatedCG + if _temp_outfit_choice == "naked": + show her_sex_personal lean_forward caress mouth_clench eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-65, -240) + zoom 0.45 + rotate -4 + else: + show her_sex_personal skirt shirt lean_forward caress mouth_clench eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-65, -240) + zoom 0.45 + rotate -4 hide screen blkfade - with d5 + with fade - her "*Ah*..." ("clench", "narrow", "base", "mid", cheeks="blush", tears="soft") + her "*Ah*..." gen "Better now?" - her "It still hurts..." ("open", "narrow", "worried", "down", cheeks="blush", tears="soft") - her "But I think I will be fine..." ("soft", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_open eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "It still hurts..." + show her_sex_personal mouth_soft eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "But I think I will be fine..." gen "I'll take it slow for now..." - play bg_sounds "sounds/slickloop.ogg" fadein 2 - her "*Ah*...{w=0.4} thank you, [genie_name]." ("mad", "narrow", "base", "down", cheeks="blush", tears="soft") + play background "sounds/slickloop.ogg" fadein 2 + show her_sex_personal mouth_mad eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "*Ah*...{w=0.4} thank you, [name_genie_hermione]." gen "Oh...{w=0.3} yes...{w=0.3} this feels great..." - her "..........." ("angry", "narrow", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg + her "..........." gen "*Ah*...{w=0.3} So tight..." - her "................" ("angry", "narrow", "base", "down",cheeks="blush",tears="soft") - gen "Why are you being so quiet [hermione_name]?" - her "Because this is painful..." ("disgust", "narrow", "worried", "R", cheeks="blush", tears="soft") - her "And I just want you to cum sooner, [genie_name]..." ("disgust", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "................" + gen "Why are you being so quiet [name_hermione_genie]?" + show her_sex_personal mouth_disgust eyes_narrow_r eyebrows_worried cheeks_blush tears_soft as cg + her "Because this is painful..." + show her_sex_personal mouth_disgust eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "And I just want you to cum sooner, [name_genie_hermione]..." gen "So you stifle your cries of pain?" - her "Yes [genie_name]. *Sob*!" ("angry", "narrow", "base", "stare",cheeks="blush",tears="soft") + show her_sex_personal mouth_angry eyes_narrow_stare eyebrows_base cheeks_blush tears_soft as cg + her "Yes [name_genie_hermione]. *Sob*!" gen "Don't do that." gen "Sob, scream, and cry as much as you wish!" - her "B-but--" ("disgust", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_disgust eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "B-but--" gen "That will make me cum sooner." - her "Really? *Sob*!" ("open", "narrow", "base", "down", cheeks="blush", tears="soft") - her "*Sob*! It hurts! *Sob*! It hurts so much! *Sob*!" ("open", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_open eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "Really? *Sob*!" + show her_sex_personal mouth_open eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "*Sob*! It hurts! *Sob*! It hurts so much! *Sob*!" gen "Yes, yes..." - her "*SOB*!" ("angry", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "*SOB*!" gen "You poor girl..." gen "A Big, evil man is violating your asshole!" - her "*SOB*!{w=0.3} *SOB*!" ("upset", "happyCl", "base", "mid", cheeks="blush", tears="soft_blink") + show her_sex_personal mouth_upset eyes_happycl eyebrows_base cheeks_blush tears_soft_blink as cg + her "*SOB*!{w=0.3} *SOB*!" gen "*Argh*!" - her "No, I'm scared! *SOB*!" ("clench", "narrow", "worried", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_narrow_r eyebrows_worried cheeks_blush tears_soft as cg + her "No, I'm scared! *SOB*!" "\"Let's use some lubrication.\"{size=-2}(Item){/size}" (style="disabled") if anal_lube_ITEM.owned <= 0: gen "(I don't have any lube left. I'm gonna have to be more creative.)" @@ -264,341 +341,417 @@ label hg_anal_sex_1_intro: "\"Let's use some lubrication.\" {size=-2}(Item){/size}" if anal_lube_ITEM.owned > 0: $ anal_lube_ITEM.owned -= 1 - call play_music("playful_tension") # SEX THEME. - her "Lubrication, [genie_name]?!" ("angry", "wide", "base", "stare") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + show her_sex_personal mouth_angry eyes_wide_stare eyebrows_base tears_none as cg + her "Lubrication, [name_genie_hermione]?!" gen "*Shhh*... Just stay still." - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" "*Squeeze*!" - her "" ("scream", "happyCl", "worried", "mid") + show her_sex_personal mouth_scream eyes_happycl eyebrows_worried as cg - $ hermione.set_pose("CG_lean_back") - $ hermione.strip("bottom", "panties") - $ genie_doll = "hold" - $ genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" + + show her_sex_personal lean_back hold as cg with d3 - her "Ahhh! It's cold!" ("clench", "happyCl", "worried", "mid") - call nar(">You thoroughly lubricate her asshole.") + show her_sex_personal mouth_clench eyes_happycl eyebrows_worried as cg + her "Ahhh! It's cold!" + nar "You thoroughly lubricate her asshole." gen "That should do it." - her "No, [genie_name], wait! Maybe--" ("angry", "base", "worried", "mid") + show her_sex_personal mouth_angry eyes_base_mid eyebrows_worried as cg + her "No, [name_genie_hermione], wait! Maybe--" - $ hermione.set_pose("CG_lean_forward") - $ hermione.strip("bottom", "panties") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" + show her_sex_personal lean_forward caress as cg with d3 - call nar(">You push Hermione forward and align the tip of your dick with her lubricated winky star...") + nar "You push Hermione forward and align the tip of your dick with her lubricated winky star..." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris + show her_sex_personal mouth_open_wide_tongue eyes_wide_up eyebrows_worried cheeks_blush tears_soft as cg + her "*ARGH*!" + nar "Your cock fully penetrates her asshole as the lubrication does its job." - her "*ARGH*!" ("open_wide_tongue", "wide", "worried", "up", cheeks="blush", tears="soft") - call nar(">Your cock fully penetrates her asshole as the lubrication does its job.") - - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg gen "Holy shit!" - her "Ouch! Ouch! Ouch!" ("mad", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") - her "No, you're hurting me! You are hurting me!" ("mad", "wide", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyes_happycl eyebrows_worried cheeks_blush tears_soft_blink as cg + her "Ouch! Ouch! Ouch!" + show her_sex_personal mouth_mad eyes_wide_down eyebrows_worried cheeks_blush tears_soft as cg + her "No, you're hurting me! You are hurting me!" - $ genie_doll = "caress" + show her_sex_personal caress as cg gen "*Argh* Fuck, I can't pull out!" - her "Ah! It hurts!" ("open", "base", "worried", "down", cheeks="blush", tears="soft") - gen "Then stop clenching on me so hard, [hermione_name]!" + show her_sex_personal mouth_open eyes_base_down eyebrows_worried cheeks_blush tears_soft as cg + her "Ah! It hurts!" + gen "Then stop clenching on me so hard, [name_hermione_genie]!" gen "Your anus is so tight I can't even move!" - her "Please, do something!" ("mad", "narrow", "worried", "mid", cheeks="blush", tears="soft") - gen "I'm trying, [hermione_name]!" - her "Then try harder!" ("clench", "wide", "annoyed", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "Please, do something!" + gen "I'm trying, [name_hermione_genie]!" + show her_sex_personal mouth_clench eyes_wide_r eyebrows_annoyed cheeks_blush tears_soft as cg + her "Then try harder!" call slap_her - her "..........!" ("angry", "happyCl", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_happycl eyebrows_base cheeks_blush tears_soft as cg + her "..........!" gen "Shut the hell up, whore!" - her "" ("disgust", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_disgust eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + gen "It's..." call slap_her - her "" ("disgust", "wide", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_disgust eyes_wide_mid eyebrows_base cheeks_blush tears_soft as cg + gen "It's...{fast} your..." call slap_her - her "" ("mad", "wide", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyes_wide_mid eyebrows_base cheeks_blush tears_soft as cg + gen "It's... your...{fast} bloody..." call slap_her - her "" ("mad", "wide", "base", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyes_wide_up eyebrows_base cheeks_blush tears_soft as cg + gen "It's... your... bloody... {fast}fault!" call slap_her pause 1.0 - call play_sound("plop") + play sound "sounds/plop.ogg" with hpunch pause 1.0 - her "" ("angry", "happy", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_happy_down eyebrows_base cheeks_blush tears_soft as cg + gen "Oh, it worked!" - her "*sob*!" ("normal", "happyCl", "worried", "down", cheeks="blush", tears="soft_blink") - her "...{w=0.3} My asshole...{w=0.3} My poor asshole... *sob*" ("open", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_normal eyes_happycl eyebrows_worried cheeks_blush tears_soft_blink as cg + her "*Sob*!" + show her_sex_personal mouth_open eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "...{w=0.3} My asshole...{w=0.3} My poor asshole... *sob*" - $ genie_doll = "caress_grin" + show her_sex_personal caress_grin as cg gen "Let's try it again..." - her "No! Stop, [genie_name]!" ("disgust", "wide", "worried", "R", cheeks="blush", tears="soft") - her "I've changed my mind! I don't need these points!" ("mad", "wide", "worried", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_disgust eyes_wide_r eyebrows_worried cheeks_blush tears_soft as cg + her "No! Stop, [name_genie_hermione]!" + show her_sex_personal mouth_mad eyes_wide_r eyebrows_worried cheeks_blush tears_soft as cg + her "I've changed my mind! I don't need these points!" gen "It will be fine this time, trust me..." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris - her "{size=+5}AAAAAAAAhhhhh!!!{/size}" ("scream", "wide", "base", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_scream eyes_wide_up eyebrows_base cheeks_blush tears_soft as cg + her "{size=+5}AAAAAAAAhhhhh!!!{/size}" gen "YES!!!" - her "" ("mad", "base", "worried", "down", cheeks="blush") + show her_sex_personal mouth_mad eyes_base_down eyebrows_worried cheeks_blush as cg + gen "Let us pump this little asshole full of semen then, shall we?" - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - her "*Ah*...{w=0.3} Please, I just want this to end..." ("clench", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} Please, I just want this to end..." gen "*Agh*...{w=0.3} You want this to end sooner?" gen "Help me out then!" - her "*sob* How?" ("angry", "narrow", "base", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "*Sob* How?" gen "You know..." - her "Oh..." ("angry", "base", "base", "R",cheeks="blush",tears="soft") - her "I am a whore??" ("open", "narrow", "worried", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_base_r eyebrows_base cheeks_blush tears_soft as cg + her "Oh..." + show her_sex_personal mouth_open eyes_narrow_r eyebrows_worried cheeks_blush tears_soft as cg + her "I am a whore??" gen "Yes you are!" - her "*Sob*! I am a whore..." ("angry", "happy", "base", "down", cheeks="blush", tears="soft") - her "I love to suck cock..." ("upset", "narrow", "base", "down", cheeks="blush", tears="soft") - her "And now my tiny asshole is getting ripped apart... *Sob*!" ("upset", "happyCl", "worried", "stare", cheeks="blush", tears="soft_blink") + show her_sex_personal mouth_angry eyes_happy_down eyebrows_base cheeks_blush tears_soft as cg + her "*Sob*! I am a whore..." + show her_sex_personal mouth_upset eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "I love to suck cock..." + show her_sex_personal mouth_upset eyes_happycl eyebrows_worried cheeks_blush tears_soft_blink as cg + her "And now my tiny asshole is getting ripped apart... *Sob*!" gen "Yes! Yes!" gen "*Argh*! Yes!" - her "No! Is it getting bigger?! I'm scared!" ("clench", "happy", "worried", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_happy_r eyebrows_worried cheeks_blush tears_soft as cg + her "No! Is it getting bigger?! I'm scared!" menu: "-Fill her up-": + $ states.her.status.anal_creampie = True gen "Here it comes!" - her "No, wait!" ("clench", "wide", "worried", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_wide_r eyebrows_worried cheeks_blush tears_soft as cg + her "No, wait!" - play bg_sounds "sounds/slickloopfast.ogg" - call nar(">You start pumping your cock deep into Hermione's asshole with renewed vigour.") + play background "sounds/slickloopfast.ogg" + nar "You start pumping your cock deep into Hermione's asshole with renewed vigour." - her "*Ah*...{w=0.3} *Ah*...{w=0.3} Please...{w=0.3} Not inside my--{w=0.2} *Ah*..." ("clench", "happyCl", "base", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_happycl eyebrows_base cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} Please...{w=0.3} Not inside my--{w=0.2} *Ah*..." - play bg_sounds "sounds/sexloopveryfast.ogg" - call nar(">Not showing the girl any mercy you thrust your hips even harder against her, pushing your cock down to the hilt into her ass.") + play background "sounds/sexloopveryfast.ogg" + nar "Not showing the girl any mercy, you thrust your hips even harder against her, pushing your cock down to the hilt into her ass." gen "That's it slut, take this!" with hpunch - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" gen "{size=+7}*Argh*!!!{/size}" - her "" ("clench", "wide", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_wide_mid eyebrows_worried cheeks_blush tears_soft as cg + call cum_block - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" gen "{size=+15}*ARGH*!!!!!!!!!!!!!!!!{/size}" call cum_block - her "*AH*! IT'S FILLING ME UP!{heart}{heart}{heart}" ("angry", "narrow", "worried", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_up eyebrows_worried cheeks_blush tears_soft as cg + her "*AH*! IT'S FILLING ME UP!{heart}{heart}{heart}" gen "Yes, you whore! Yes!" - her "It hurts, it hurts!" ("mad", "wide", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyes_wide_mid eyebrows_base cheeks_blush tears_soft as cg + her "It hurts, it hurts!" gen "Shut up!" - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" call cum_block - her "No, I am already full! Stop cumming, you bastard!" ("angry", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") + show her_sex_personal mouth_angry eyes_happycl eyebrows_worried cheeks_blush tears_soft_blink as cg + her "No, I am already full! Stop cumming, you bastard!" gen "Shut the fuck up, slut! I am not done yet!" - her "No! Please! My stomach! I will explode!" ("clench", "narrow", "worried", "up", cheeks="blush", tears="soft_blink") - her "Stop! I'm going to throw up!" ("angry", "happy", "base", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_clench eyes_narrow_up eyebrows_worried cheeks_blush tears_soft as cg + her "No! Please! My stomach! I will explode!" + show her_sex_personal mouth_angry eyes_happy_r eyebrows_base cheeks_blush tears_soft as cg + her "Stop! I'm going to throw up!" - her "Please no more, or I'll--" ("angry", "base", "worried", "mid", cheeks="blush", tears="soft") - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_02.ogg") + show her_sex_personal mouth_angry eyes_base_mid eyebrows_worried cheeks_blush tears_soft as cg + her "Please no more, or I'll--" + stop background fadeout 2 + play sound "sounds/slick_02.ogg" pause .8 play sound "sounds/burp.ogg" - her "{size=+7}*BURP*!!!!!!{/size}" ("full", "happyCl", "worried", "up", cheeks="blush", tears="soft") - her "......" ("full", "happy", "base", "mid", cheeks="blush", tears="soft") - her "......{fast}......" ("full", "happy", "base", "down", cheeks="blush", tears="soft") - $ renpy.play('sounds/gulp.ogg') #Sound of gulping down a liquid. - her "{size=+7}*GULP*!{/size}" ("normal", "happyCl", "worried", "mid", tears="soft_blink") - her "" ("open_tongue", "narrow", "worried", "mid", tears="soft_blink") + show her_sex_personal mouth_full eyes_happycl eyebrows_worried cheeks_blush tears_soft as cg + her "{size=+7}*BURP*!!!!!!{/size}" + show her_sex_personal mouth_full eyes_happy_mid eyebrows_base cheeks_blush tears_soft as cg + her "......" + show her_sex_personal mouth_full eyes_happy_down eyebrows_base cheeks_blush tears_soft as cg + her "......{fast}......" + play sound "sounds/gulp.ogg" #Sound of gulping down a liquid. + show her_sex_personal mouth_normal eyes_happycl eyebrows_worried tears_soft_blink as cg + her "{size=+7}*GULP*!{/size}" + show her_sex_personal mouth_open_tongue eyes_narrow_mid eyebrows_worried tears_soft as cg + call ctc gen "That felt great..." - $ hermione.set_pose("CG_bent_over") - $ hermione.strip("bottom", "panties") - $ genie_doll = "grab" - $ genie_doll_armfix = "images/CG/her_sex/grab_armfix.webp" - $ camera.set(zoom=0.44, pos=(-305, -650), rotate=0, t=2.0) + show her_sex_personal bent_over grab as cg: + anchor (0.0, 0.0) + offset (-65, -240) + zoom 0.45 + rotate -4 + easein 1.0 offset (0, -480) rotate 0 + with vpunch - $ renpy.sound.play("sounds/slick_02.ogg") - $ genie_doll = "after" - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + play sound "sounds/slick_02.ogg" + show her_sex_personal after as cg + + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_light as cg else: - $ hermione.set_cum(body="light") + show her_sex_personal cum_ass_skirt_light as cg with kissiris + show her_sex_personal mouth_soft eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg: + offset (0, -480) + rotate 0 + ease_quad 3.0 offset (-60, -620) zoom 0.55 - her "" ("soft", "narrow", "base", "mid", cheeks="blush", tears="soft") - call nar(">Hermione collapses onto your desk and your dick finally slides out of her cum filled ass.") + nar "Hermione collapses onto your desk and your dick finally slides out of her cum filled ass." + show her_sex_personal cum_pussy_light as cg + nar "As she lies there for a moment, you watch as her asshole convulses, and your semen slowly beginning to leak out onto the floor." - if hermione.is_worn("bottom"): - call nar(">As she lies there for a moment you watch as her asshole convulses and your semen slowly beginning to leak out.") - else: - call nar(">As she lies there for a moment you watch as her asshole convulses and your semen slowly beginning to leak out onto the floor.") - $ hermione.set_cum(pussy="light") + show her_sex_personal mouth_angry eyes_happy_r eyebrows_base cheeks_blush tears_soft as cg + her "*SOB*! I HATE YOU..." + show her_sex_personal mouth_clench eyes_base_down eyebrows_annoyed cheeks_blush tears_soft as cg + her "{size=+5}I HATE YOU AND YOUR NASTY OLD COCK!{/size}" + gen "*Agh*...{w=0.3} Shut it, [name_hermione_genie]!" - her "*SOB*! I HATE YOU..." ("angry", "happy", "base", "R", cheeks="blush", tears="soft") - her "{size=+5}I HATE YOU AND YOUR NASTY OLD COCK!{/size}" ("clench", "base", "annoyed", "down", cheeks="blush", tears="soft") - gen "*Agh*...{w=0.3} Shut it, [hermione_name]!" + show her_sex_personal cum_pussy_heavy as cg + nar "Hermione clenches her ass again, and you watch as another glob of cum leaks out." - if hermione.is_worn("bottom"): - call nar(">Hermione clenches her ass again and you watch as another glob of cum leaks out.") - else: - $ hermione.set_cum(pussy="heavy") - - her "*sob*!{w=0.4} *Sob*!..." ("upset", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") + show her_sex_personal mouth_upset eyes_happycl eyebrows_worried cheeks_blush tears_soft_blink as cg + her "*Sob*!{w=0.4} *Sob*!..." gen "Whew!... I think that was the last of it." gen "You alright?" - her "Yes...{w=0.4} *Sob*!" ("angry", "narrow", "base", "down", cheeks="blush", tears="soft") - her "My butt hurts, but I am alright, [genie_name]..." ("soft", "narrow", "base", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "Yes...{w=0.4} *Sob*!" + show her_sex_personal mouth_soft eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "My butt hurts, but I am alright, [name_genie_hermione]..." gen "Well, you took my dick stoically, all things considered..." - her "Thank you [genie_name]..." ("base", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_base eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "Thank you, [name_genie_hermione]..." call ctc - her "I apologise for saying that I hate you, [genie_name]..." ("open", "narrow", "base", "R", cheeks="blush", tears="soft") - her "Your cock is not nasty..." ("angry", "narrow", "worried", "down", cheeks="blush") - her "I suppose when you call me a \"whore\" you don't actually mean it..." ("open", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_open eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "I apologise for saying that I hate you, [name_genie_hermione]..." + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "Your cock is not nasty..." + show her_sex_personal mouth_open eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "I suppose when you call me a \"whore\" you don't actually mean it..." gen "Right..." - her "I don't know what's gotten into me..." ("grin", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyes_narrow_mid eyebrows_worried cheeks_blush as cg + her "I don't know what's gotten into me..." gen "My dick!" - her "*Mmm*..." ("base", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_base eyes_narrow_up eyebrows_base cheeks_blush as cg + her "*Mmm*..." gen "Oh yes...{w=0.3} Your asshole...{w=0.3} Is it still hurting?" - her "A little..." ("base", "narrow", "worried", "down", cheeks="blush") - her "But I also feel full and warm inside..." ("grin", "narrow", "base", "down", cheeks="blush") - gen "So you're planning on keeping it in? My cum I mean." - her "If I can..." ("base", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_base eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "A little..." + show her_sex_personal mouth_grin eyes_narrow_down eyebrows_base cheeks_blush as cg + her "But I also feel full and warm inside..." + gen "So you're planning on keeping it in? My cum, I mean." + show her_sex_personal mouth_base eyes_narrow_down eyebrows_base cheeks_blush as cg + her "If I can..." if game.daytime: - her "I hope it won't start leaking too much during my classes..." ("soft", "narrow", "base", "L", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_l eyebrows_base cheeks_blush as cg + her "I hope it won't start leaking too much during my classes..." else: - her "I hope it won't start leaking too much before I get to my dorms..." ("soft", "narrow", "base", "L", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_l eyebrows_base cheeks_blush as cg + her "I hope it won't start leaking too much before I get to my dorms..." gen "Well, good luck on your journey." - her "Can I get paid now please?" ("base", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_base eyes_narrow_r eyebrows_base cheeks_blush as cg + her "Can I get paid now, please?" gen "Of course..." show screen blkfade with d5 - call nar(">You step back and give Hermione's ass a last glance, her asshole still convulses slightly as your cum continues to dribble onto the ground.") - call nar(">After standing up she touches it as if to check that it's still intact.") - call nar(">With a sigh of relief, she readies herself and then makes her way to the front of your desk.") + nar "You step back and give Hermione's ass a last glance, her asshole still convulses slightly as your cum continues to dribble onto the ground." + nar "After standing up she touches it as if to check that it's still intact." + nar "With a sigh of relief, she readies herself and then makes her way to the front of your desk." "-Push her down and coat her ass-": gen "(Let's coat this bitch!!)" - $ hermione.set_pose("CG_bent_over") - $ hermione.strip("bottom", "panties") - $ genie_doll = "grab" - $ genie_doll_armfix = "images/CG/her_sex/grab_armfix.webp" - $ camera.set(zoom=0.44, pos=(-305, -650), rotate=0, t=2.0) + show her_sex_personal bent_over grab as cg: + anchor (0.0, 0.0) + offset (-65, -240) + zoom 0.45 + rotate -4 + easein 1.0 offset (0, -480) rotate 0 + with vpunch + + pause 1.0 + #Could add some sound effect here - her "" ("mad", "happy", "worried", "stare", cheeks="blush", tears="soft") + show her_sex_personal mouth_soft eyebrows_base eyes_wide_r cheeks_blush as cg: + offset (0, -480) + rotate 0 + ease_quad 3.0 offset (-60, -620) zoom 0.55 - play bg_sounds "sounds/slickloopfast.ogg" - call nar(">You push Hermione down onto the desk and fuck her with renewed vigour.") + show her_sex_personal mouth_mad eyes_happy_stare eyebrows_worried cheeks_blush tears_soft as cg - her "*Ah*...{w=0.3} *Ah*...{w=0.3} Please--" ("mad", "base", "worried", "up", cheeks="blush", tears="soft") + play background "sounds/slickloopfast.ogg" + nar "You push Hermione down onto the desk and fuck her with renewed vigour." - play bg_sounds "sounds/sexloopveryfast.ogg" - call nar(">Not showing the girl any mercy you thrust your hips hard against her, pushing your cock down to the hilt into her ass.") + show her_sex_personal mouth_mad eyes_base_up eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} Please--" - her "*Ah*...{w=0.3} *Ah*...{w=0.3} [genie_name]..." ("angry", "narrow", "base", "R", cheeks="blush", tears="soft") - her "You're...{w=0.3} *Ah*...{w=0.3} You're tearing me apart..." ("angry", "narrow", "base", "stare", cheeks="blush", tears="soft_blink") - gen "You aint seen nothing yet [hermione_name]!" + play background "sounds/sexloopveryfast.ogg" + nar "Not showing the girl any mercy, you thrust your hips hard against her, pushing your cock down to the hilt into her ass." - play bg_sounds "sounds/sexloopfast.ogg" - call nar(">You slow down your thrusting until finally...") - her "What are you--" ("mad", "narrow", "base", "R", cheeks="blush", tears="soft") - stop bg_sounds - $ renpy.sound.play("sounds/slick_02.ogg") + show her_sex_personal mouth_angry eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} [name_genie_hermione]..." + show her_sex_personal mouth_angry eyes_narrow_stare eyebrows_base cheeks_blush tears_soft as cg + her "You're...{w=0.3} *Ah*...{w=0.3} You're tearing me apart..." + gen "You ain't seen nothing yet, [name_hermione_genie]!" + + play background "sounds/sexloopfast.ogg" + nar "You slow down your thrusting until finally..." + show her_sex_personal mouth_mad eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "What are you--" + stop background + play sound "sounds/slick_02.ogg" pause .3 - $ renpy.sound.play("sounds/pop01.ogg") - $ genie_doll = "cum_outside2" + play sound "sounds/pop01.ogg" + + show her_sex_personal cum_outside2 as cg + pause .4 - her "{heart}Ng--{w=0.2} *Ah*...{heart}" ("open_tongue", "narrow", "worried", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_open_tongue eyes_narrow_up eyebrows_worried cheeks_blush tears_soft as cg + her "{heart}Ng--{w=0.2} *Ah*...{heart}" gen "{size=+5}That's it whore, take this!{/size}" gen "{size=+7}*Argh*!!!{/size}" - $ genie_doll = "cum_outside" + show her_sex_personal cum_outside as cg + call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_light as cg else: - $ hermione.set_cum(body="light") + show her_sex_personal cum_ass_skirt_light as cg with d5 - $ renpy.sound.play("sounds/slick_02.ogg") - her "*Aaah*...{heart}{heart}{heart}" ("open_tongue", "narrow", "worried", "down", cheeks="blush", tears="soft") - $ genie_doll = "cum_outside2" + play sound "sounds/slick_02.ogg" + show her_sex_personal mouth_open_tongue eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "*Aaah*...{heart}{heart}{heart}" + show her_sex_personal cum_outside2 as cg gen "{size=+5}Yes!!! All over your ass!{/size}" - $ genie_doll = "cum_outside" + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_heavy") + if _temp_outfit_choice == "naked": + show her_sex_personal cum_ass_heavy as cg else: - $ hermione.set_cum(body="heavy") + show her_sex_personal cum_ass_skirt_heavy as cg with d5 - $ renpy.sound.play("sounds/slick_02.ogg") - her "*Ah*...{w=0.4} It's so hot!" ("base", "narrow", "worried", "mid", cheeks="blush", tears="soft") - $ genie_doll = "after" + play sound "sounds/slick_02.ogg" + show her_sex_personal mouth_base eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{w=0.4} It's so hot!" + show her_sex_personal after as cg call ctc gen "Well, I'm done...{w=0.4} You can get off my desk now." - her "Yes, [genie_name]...{w=0.3} Just...{w=0.3} Give me a minute..." ("soft", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "Yes, [name_genie_hermione]...{w=0.3} Just...{w=0.3} Give me a minute..." gen "You feeling alright?" - her "It still hurts a little, but..." ("soft", "narrow", "base", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_soft eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "It still hurts a little, but..." gen "But what?" - her "But in a good way... [genie_name]." ("soft", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "But in a good way... [name_genie_hermione]." gen "In a good way, *huh*?" gen "*Heh*...{w=0.3} You cute, little minx." - her "Can I get paid now, [genie_name]?" ("angry", "narrow", "base", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "Can I get paid now, [name_genie_hermione]?" gen "Certainly!" show screen blkfade with d5 - call nar(">You step back and watch as Hermione tries her best to steady herself.") - call nar(">After finally standing up, she touches her ass as if to check that it's still intact.") - call nar(">With a sigh of relief, she readies herself and then makes her way to the front of your desk.") + nar "You step back and watch as Hermione tries her best to steady herself." + nar "After finally standing up, she touches her ass as if to check that it's still intact." + nar "With a sigh of relief, she readies herself and then makes her way to the front of your desk." jump end_hg_pf_sex ### Anal Sex Event 2 ### label hg_anal_sex_2_intro: - $ hg_anal.trigger = True + $ states.her.status.anal = True $ current_payout = 90 - $ hg_pf_sex.change_icon(a="heart_half", b="heart_red") - gen "How about another assfuck, [hermione_name]?" - her "Of course, [genie_name]." ("base", "narrow", "base", "up", flip=True) + gen "How about another ass-fucking, [name_hermione_genie]?" + her "Of course, [name_genie_hermione]." ("base", "narrow", "base", "up", flip=True) gen "*Hngh*! You little minx!" show screen blkfade @@ -606,337 +759,409 @@ label hg_anal_sex_2_intro: pause.2 #Stop wind and thunder sounds - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 - her "........" ("annoyed", "base", "worried", "R") + her "........" gen "*Hmm*..." - her "..........." ("open", "base", "base", "mid") + her "..........." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris # Hermione Setup - $ hermione.set_pose("CG_lean_back") - $ hermione.strip("bottom", "panties") - hide hermione_main - - # Genie Setup - $ genie_doll_path = "images/CG/her_sex/" - $ genie_doll = "hold" - $ genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - - # Camera Setup - $ camera.set_imagepath("her_sex") - $ camera.set_image("CG her_sex") - if game.daytime: - $ camera.set_overlay("day_overlay") + if _temp_outfit_choice == "naked": + show her_sex_personal lean_back hold mouth_grin eyes_wide_up eyebrows_base as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-190, -435), initialize=True) - show screen animatedCG + show her_sex_personal lean_back hold skirt shirt mouth_grin eyes_wide_up eyebrows_base as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 hide screen blkfade with d5 - call play_music("playful_tension") # SEX THEME. - her "*Ooooohhhhhhhhhhhh*....{heart}" ("grin", "wide", "base", "up") - $ camera.set(zoom=0.6, pos=(-555, -380), t=3.0, pause=True) + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her "*Ooooohhhhhhhhhhhh*....{heart}" + + show her_sex_personal as cg: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 + ease_quad 3.0 offset (-230, -100) zoom 0.5 rotate -15 gen "Oh, ye-es!" - her "*Ah*..." ("grin", "narrow", "worried", "mid") - gen "It seems like your butthole has become a bit more welcoming, [hermione_name]." + show her_sex_personal mouth_grin eyes_narrow_mid eyebrows_worried as cg + her "*Ah*..." + gen "It seems like your butthole has become a bit more welcoming, [name_hermione_genie]." gen "I'm going to start moving now..." - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 call ctc - her "*Ah*...{w=0.3} It...{w=0.3} It still hurts a little." ("soft", "closed", "base", "mid") + show her_sex_personal mouth_soft eyes_closed eyebrows_base as cg + her "*Ah*...{w=0.3} It...{w=0.3} It still hurts a little." gen "Yet you're doing it anyway..." - her "*Ah*...{w=0.3} *Ah*...{w=0.3} Yes..." ("open", "narrow", "base", "down") - her "I suppose I am..." ("base", "narrow", "base", "down") + show her_sex_personal mouth_open eyes_narrow_down eyebrows_base as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} Yes..." + show her_sex_personal mouth_base eyes_narrow_down eyebrows_base as cg + her "I suppose I am..." gen "Although that is what I'd expect from such a--" - if hermione_name == "Whore": - her "I am a whore after all... I'm here to do whatever it is you need..." ("base", "narrow", "base", "mid") - $ genie_doll = "hold_grin" + if name_hermione_genie == "Whore": + show her_sex_personal mouth_base eyes_narrow_mid eyebrows_base as cg + her "I am a whore after all... I'm here to do whatever it is you need..." + show her_sex_personal hold_grin as cg gen "That you are..." else: - her "Please [genie_name]...{w=0.3} Call me a \"whore\"..." ("grin", "narrow", "base", "down", cheeks="blush") - $ genie_doll = "hold_grin" + show her_sex_personal mouth_grin eyes_narrow_down eyebrows_base cheeks_blush as cg + her "Please [name_genie_hermione]...{w=0.3} Call me a \"whore\"..." + show her_sex_personal hold_grin as cg gen "*He-Heh*...{w=0.3} You don't have to ask me twice!" - gen "Now bend over so I can fuck your ass more easily, whore!" + gen "Now bend over, so I can fuck your ass more easily, whore!" - $ camera.set(zoom=0.45, pos=(-340, -380), rotate=0, t=2.0, pause=False) - $ hermione.set_pose("CG_lean_forward") - $ hermione.strip("bottom", "panties") - $ genie_doll = "caress" - $ genie_doll_armfix = "images/CG/her_sex/caress_armfix.webp" - with d3 + show her_sex_personal lean_forward caress as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + ease_quad 1.0 offset (-65, -240) zoom 0.45 rotate -4 - play bg_sounds "sounds/sexloopfast.ogg" fadein 2 + play background "sounds/sexloopfast.ogg" fadein 2 - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("open", "closed", "base", "mid") - her "*Mmm*...{w=0.3} So aggressive..." ("base", "narrow", "base", "R") + show her_sex_personal mouth_open eyes_closed eyebrows_base as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." + show her_sex_personal mouth_base eyes_narrow_r eyebrows_base as cg + her "*Mmm*...{w=0.3} So aggressive..." - $ genie_doll = "caress_grin" - if genie_name == "Master": + show her_sex_personal caress_grin as cg + if name_genie_hermione == "Master": gen "That's what you deserve for being such a slut!" - elif genie_name == "Daddy": - gen "That's for you get for being such a naughty girl!" + elif name_genie_hermione == "Daddy": + gen "That's what you get for being such a naughty girl!" - her "..." ("base", "narrow", "base", "mid", cheeks="blush") - her "...{fast}..." ("normal", "narrow", "base", "R", cheeks="blush") - her "[genie_name]?" ("open", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_base eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "..." + show her_sex_personal mouth_normal eyes_narrow_r eyebrows_base cheeks_blush as cg + her "...{fast}..." + show her_sex_personal mouth_open eyes_narrow_r eyebrows_worried cheeks_blush as cg + her "[name_genie_hermione]?" - $ genie_doll = "caress" + show her_sex_personal caress as cg gen "Yes, whore?" - her "*Ehm*..." ("angry", "narrow", "base", "mid", cheeks="blush") - her "Would you marry me, [genie_name]?" ("angry", "happy", "base", "down", cheeks="blush") + show her_sex_personal mouth_angry eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "*Ehm*..." + show her_sex_personal mouth_angry eyes_happy_down eyebrows_base cheeks_blush as cg + her "Would you marry me, [name_genie_hermione]?" with hpunch - stop bg_sounds fadeout 2 + stop background fadeout 2 gen "{size=+9}WHAT?!{/size}" - gen "Don't tell me you're pregnant, [hermione_name]!" - gen "We witchers are infertile!" - her "Right... You expect me to believe that?" ("disgust", "narrow", "worried", "R", cheeks="blush") - gen "*Err*..." - her "I couldn't get pregnant the way we are doing it anyway, [genie_name]..." ("soft", "narrow", "worried", "down", cheeks="blush") + gen "Don't tell me you're pregnant, [name_hermione_genie]!" + if not states.her.status.creampie: + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "I can't get pregnant the way we are doing it, [name_genie_hermione]..." + gen "Good point..." + else: + gen "We witchers are infertile!" + show her_sex_personal mouth_disgust eyes_narrow_r eyebrows_worried cheeks_blush as cg + her "Right..." + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "Well, I suppose I'll just have to trust you on that, [name_genie_hermione]..." + gen "If you're so worried, I could just fuck you like this from now on..." - gen "Good point..." - play bg_sounds "sounds/sexloopfast.ogg" + play background "sounds/sexloopfast.ogg" - her "*Ah*..." ("angry", "base", "base", "mid", cheeks="blush") - gen "What is this talk of marriage then?" - her "You misunderstood me [genie_name]." ("clench", "narrow", "base", "R", cheeks="blush") - her "I meant to say, would you marry a girl {size=+5}like{/size} me?" ("soft", "narrow", "base", "mid", cheeks="blush") - her "I would never propose to a man with his cock in my ass, [genie_name]..." ("base", "narrow", "worried", "L", cheeks="blush", emote="sweat") + show her_sex_personal mouth_angry eyes_base_mid eyebrows_base cheeks_blush as cg + her "*Ah*..." + gen "So, what is this talk of marriage then?" + show her_sex_personal mouth_clench eyes_narrow_r eyebrows_base cheeks_blush as cg + her "You misunderstood me, [name_genie_hermione]." + show her_sex_personal mouth_soft eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "I meant to say, would you marry a girl {size=+5}like{/size} me?" + show her_sex_personal mouth_base eyes_narrow_l eyebrows_worried cheeks_blush as cg + her "I would never propose to a man with his cock in my ass, [name_genie_hermione]..." gen "Good. Because I don't think any man would be able to say {i}no{/i}." - #STRIP top and bra (all) - call nar(">You grab Hermione's top and quickly pull it and her bra over her head, revealing her tits...") + if not _temp_outfit_choice == "naked": + nar "You grab Hermione's top and quickly pull it and her bra over her head, revealing her tits..." - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.strip("all") - with d3 + play sound "sounds/cloth_sound3.ogg" - her "" ("grin", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal -shirt as cg + with d3 - her "*Ah*{heart}..." ("base", "narrow", "base", "down", cheeks="blush") - her "What I meant--{w=0.2} *Ah*{heart}...{w=0.3} to say was--{w=0.2} *Ah*{heart}...{w=0.3} Do you think someone would ever--{w=0.2} *Ah*{heart}..." ("soft", "narrow", "base", "R", cheeks="blush") + show her_sex_personal mouth_grin eyes_narrow_r eyebrows_worried cheeks_blush as cg + pause 1 + show her_sex_personal mouth_base eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah*{heart}..." + show her_sex_personal mouth_soft eyes_narrow_r eyebrows_base cheeks_blush as cg + her "What I meant--{w=0.2} *Ah*{heart}...{w=0.3} to say was--{w=0.2} *Ah*{heart}...{w=0.3} Do you think someone would ever--{w=0.2} *Ah*{heart}..." gen "*Huh*?" - her "I mean, with all the things that have been happening lately--{w=0.2} *Ah*{heart}..." ("soft", "narrow", "worried", "down", cheeks="blush") - her "I can't help but feel unclean...{w=0.3} Damaged even..." ("normal", "closed", "worried", "down", cheeks="blush") - her "And in a no way innocent." ("annoyed", "happy", "worried", "down", cheeks="blush") - her "Who would want a wife like that?" ("disgust", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "I mean, with all the things that have been happening lately--{w=0.2} *Ah*{heart}..." + show her_sex_personal mouth_normal eyes_closed eyebrows_worried cheeks_blush as cg + her "I can't help but feel unclean...{w=0.3} Damaged even..." + show her_sex_personal mouth_annoyed eyes_happy_down eyebrows_worried cheeks_blush as cg + her "And in a no way innocent." + show her_sex_personal mouth_disgust eyes_narrow_down eyebrows_base cheeks_blush as cg + her "Who would want a wife like that?" menu: gen "..." "\"I would marry you in a heartbeat!\"": - her "What?" ("soft", "base", "base", "R", cheeks="blush") + show her_sex_personal mouth_soft eyes_base_r eyebrows_base cheeks_blush as cg + her "What?" gen "Well, hypothetically speaking of course..." - her "...{w=0.3} of course.{heart}" ("base", "narrow", "base", "R", cheeks="blush") - her ".............." ("base", "narrow", "base", "down", cheeks="blush") - her "But why do you say that, [genie_name]?" ("normal", "happy", "base", "R", cheeks="blush") + show her_sex_personal mouth_base eyes_narrow_r eyebrows_base cheeks_blush as cg + her "...{w=0.3} of course.{heart}" + show her_sex_personal mouth_base eyes_narrow_down eyebrows_base cheeks_blush as cg + her ".............." + show her_sex_personal mouth_normal eyes_happy_r eyebrows_base cheeks_blush as cg + her "But why do you say that, [name_genie_hermione]?" gen "*Huh*?" - gen "What do you mean {i}why{/i}, [hermione_name]?" + gen "What do you mean {i}why{/i}, [name_hermione_genie]?" gen "You are young and attractive..." gen "Tight asshole, full tits and a wet little pussy..." - her "...{heart}" ("soft", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_r eyebrows_worried cheeks_blush as cg + her "...{heart}" gen "You will make some lucky guy a very happy man one day, whore." - if hermione_name == "Whore": - her "*Mmm*...{w=0.3} I love it when you call me that..." ("grin", "narrow", "annoyed", "up", cheeks="blush") + if name_hermione_genie == "Whore": + show her_sex_personal mouth_grin eyes_narrow_up eyebrows_annoyed cheeks_blush as cg + her "*Mmm*...{w=0.3} I love it when you call me that..." else: - gen "*Uhm*... I mean, [hermione_name]." - her "No, {i}whore{/i} is good. Call me that, [genie_name]." ("grin", "narrow", "annoyed", "up", cheeks="blush") + gen "*Uhm*... I mean, [name_hermione_genie]." + show her_sex_personal mouth_grin eyes_narrow_up eyebrows_annoyed cheeks_blush as cg + her "No, {i}whore{/i} is good. Call me that, [name_genie_hermione]." gen "See?{w=0.3} You are a great catch, I'm telling you, whore." - her "*Ah*...{heart}{w=0.3} Thank you, [genie_name]." ("grin", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_grin eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "*Ah*...{heart}{w=0.3} Thank you, [name_genie_hermione]." gen "*Huh*?" gen "Are you crying?" "\"Marriage is out of the picture for you.\"": - her "That's what I thought..." ("angry", "narrow", "base", "down",cheeks="blush",tears="soft") + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "That's what I thought..." gen "Oh...{w=0.3} I just love that little asshole of yours!" - her "....................." ("angry", "narrow", "base", "stare",cheeks="blush",tears="soft") + show her_sex_personal mouth_angry eyes_narrow_stare eyebrows_base cheeks_blush tears_soft as cg + her "....................." her "Yes...{w=0.3} After all the things I had to do for my house..." - her "...{w=0.3} No one will ever want me." ("angry", "happy", "base", "mid",cheeks="blush",tears="soft") + show her_sex_personal mouth_angry eyes_happy_mid eyebrows_base cheeks_blush tears_soft as cg + her "...{w=0.3} No one will ever want me." gen "Oh, they will want you alright!" - her "What?{w=0.3} But you said..." ("open", "wide", "worried", "stare",cheeks="blush",tears="soft") - gen "Marriage, [hermione_name]...{w=0.3} Marriage is impossible for you." + show her_sex_personal mouth_open eyes_wide_stare eyebrows_worried cheeks_blush tears_soft as cg + her "What?{w=0.3} But you said..." + gen "Marriage, [name_hermione_genie]...{w=0.3} Marriage is impossible for you." gen "But as a man-pleaser you are a great catch!" - her "Really?" ("open", "wide", "worried", "stare",cheeks="blush",tears="soft") + show her_sex_personal mouth_open eyes_wide_stare eyebrows_worried cheeks_blush tears_soft as cg + her "Really?" gen "Are you kidding me?!" gen "Young, hot, and slutty. You could have any man you want!" - her "I think you may be right, [genie_name]." ("base", "narrow", "worried", "mid",cheeks="blush",tears="soft") + show her_sex_personal mouth_base eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "I think you may be right, [name_genie_hermione]." gen "I know I am right, whore." gen "Now wiggle that little ass of yours a little." - her "Like this?" ("angry", "base", "worried", "mid", cheeks="blush",tears="soft") + show her_sex_personal mouth_angry eyes_base_mid eyebrows_worried cheeks_blush tears_soft as cg + her "Like this?" - play bg_sounds "sounds/sexloopveryfast.ogg" - $ genie_doll = "caress_grin" + play background "sounds/sexloopveryfast.ogg" + show her_sex_personal caress_grin as cg gen "Yes, that's a good whore." - her "I am a whore, aren't I?" ("angry", "narrow", "base", "stare", cheeks="blush") + show her_sex_personal mouth_angry eyes_narrow_stare eyebrows_base cheeks_blush as cg + her "I am a whore, aren't I?" gen "You just sold me your asshole for ninety house points...{w=0.3} What would you call that?" - her "Yes, yes...{heart}{w=0.3} I am a whore...{heart}" ("angry", "base", "worried", "mid", cheeks="blush",tears="soft") + show her_sex_personal mouth_angry eyes_base_mid eyebrows_worried cheeks_blush tears_soft as cg + her "Yes, yes...{heart}{w=0.3} I am a whore...{heart}" gen "Are you crying?" - her "Amongst other things, [genie_name]...{heart}{heart}{heart}" ("angry", "narrow", "base", "stare", cheeks="blush",tears="soft") + show her_sex_personal mouth_angry eyes_narrow_stare eyebrows_base cheeks_blush tears_soft as cg + her "Amongst other things, [name_genie_hermione]...{heart}{heart}{heart}" gen "Amongst other things?" - her "I'm cumming [genie_name]...{heart}{heart}{heart}" ("smile", "narrow", "annoyed", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_smile eyes_narrow_up eyebrows_annoyed cheeks_blush tears_soft as cg + her "I'm cumming [name_genie_hermione]...{heart}{heart}{heart}" gen "*Agh*! My cock!" gen "Relax your muscles a little, would you?" - her "BUT I'M CUMMING!{heart}{heart}{heart}" ("open", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") - gen "Fine! Have it your way whore!" + show her_sex_personal mouth_open eyes_happycl eyebrows_worried cheeks_blush tears_soft_blink as cg + her "BUT I'M CUMMING!{heart}{heart}{heart}" + gen "Fine! Have it your way, whore!" - $ hermione.set_pose("CG_bent_over") - $ hermione.strip("all") - $ genie_doll = "grab" - $ genie_doll_armfix = "images/CG/her_sex/grab_armfix.webp" - $ camera.set(zoom=0.44, pos=(-305, -650), rotate=0, t=2.0) - her "" ("angry", "wide", "base", "R", cheeks="blush",tears="soft") + show her_sex_personal bent_over grab as cg: + offset (-65, -240) + zoom 0.45 + rotate -4 + easein 1.0 offset (0, -480) rotate 0 + with vpunch - play bg_sounds "sounds/sexloopveryfast.ogg" - call nar(">You push Hermione down onto the desk... Pumping your cock deep inside her ass, your pelvis smacks loudly against her cheeks.") + pause 1.0 - her "*Ah-hah*...{w=0.3} So deep..." ("mad", "narrow", "base", "down", cheeks="blush", tears="soft") - her "{size=+7}I'm--{w=0.3} I'm cumming [genie_name]!!!{/size}" ("angry", "narrow", "worried", "stare", cheeks="blush", tears="soft") + #Could add some sound effect here + show her_sex_personal mouth_open eyebrows_base eyes_wide_r cheeks_blush as cg: + offset (0, -480) + rotate 0 + ease_quad 3.0 offset (-60, -620) zoom 0.55 + + show her_sex_personal mouth_angry eyes_wide_r eyebrows_base cheeks_blush tears_soft as cg + + play background "sounds/sexloopveryfast.ogg" + nar "You push Hermione down onto the desk... Pumping your cock deep inside her ass, your pelvis smacks loudly against her cheeks." + + show her_sex_personal mouth_mad eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "*Ah-hah*...{w=0.3} So deep..." + show her_sex_personal mouth_angry eyes_narrow_stare eyebrows_worried cheeks_blush tears_soft as cg + her "{size=+7}I'm--{w=0.3} I'm cumming [name_genie_hermione]!!!{/size}" gen "{size=+7}Me too!{/size}" menu: gen "!!!" "-Fill her up-": - $ genie_doll = "cum_inside" + $ states.her.status.anal_creampie = True + + show her_sex_personal cum_inside as cg gen "{size=+7}TAKE THIS, WHORE!!!{/size}" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" call cum_block - if hermione.is_worn("bottom"): - her "!!!" ("grin", "narrow", "base", "mid", cheeks="blush",tears="soft") - else: - her "!!!" ("grin", "narrow", "base", "stare", cheeks="blush",tears="soft") - $ hermione.set_cum(pussy="light") + show her_sex_personal cum_pussy_light mouth_grin eyes_narrow_stare eyebrows_base cheeks_blush tears_soft as cg + her "!!!" gen "{size=+15}Yes! *Argh*!{/size}" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" call cum_block - her "*Ah*!{heart} It's filling me up!{heart} I can feel it!{heart}" ("angry", "narrow", "annoyed", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_up eyebrows_annoyed cheeks_blush tears_soft as cg + her "*Ah*!{heart} It's filling me up!{heart} I can feel it!{heart}" gen "{size=+15}Shut up, whore!{/size}" - her "{size=+7}*Ah*! I AM A WHORE!!!!{heart}{heart}{heart}{/size}" ("crooked_smile", "narrow", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_crooked_smile eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg + her "{size=+7}*Ah*! I AM A WHORE!!!!{heart}{heart}{heart}{/size}" gen "{size=+15}*Argh*!{/size}" - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" call cum_block - if hermione.is_worn("bottom"): - her "" ("angry", "happyCl", "base", "up", cheeks="blush") - else: - $ hermione.set_cum(pussy="heavy") + show her_sex_personal cum_pussy_heavy mouth_angry eyes_happycl eyebrows_base cheeks_blush as cg - her "*Ah*...{heart}{w=0.3} your cum, [genie_name]...{heart}" ("base", "narrow", "worried", "R", cheeks="blush", tears="soft") + pause 1 + + show her_sex_personal mouth_base eyes_narrow_r eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{heart}{w=0.3} your cum, [name_genie_hermione]...{heart}" gen "*Ah*...{w=0.3} Yes..." - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*...{w=0.3}{heart}" ("base", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_base eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*...{w=0.3}{heart}" gen "Well... Suppose it's time for you to get your points..." - $ renpy.sound.play("sounds/slick_02.ogg") - $ genie_doll = "after" - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + play sound "sounds/slick_02.ogg" + + if _temp_outfit_choice == "naked": + show her_sex_personal after cum_ass_light mouth_grin eyes_narrow_up eyebrows_base cheeks_blush tears_soft as cg else: - $ hermione.set_cum(body="light") + show her_sex_personal after cum_ass_skirt_light mouth_grin eyes_narrow_up eyebrows_base cheeks_blush tears_soft as cg with kissiris - her "{heart}*Ngh*!{heart}" ("grin", "narrow", "base", "up", cheeks="blush", tears="soft") + her "{heart}*Ngh*!{heart}" show screen blkfade with d5 - call nar(">You step back and give Hermione's ass a last glance, her asshole still convulses slightly as your cum continues to dribble onto the ground.") - call nar(">After a couple moments, she pushes herself up, off your desk...") - call nar(">Before making her way to the front of your desk you notice her prodding her butthole gently.") - call nar(">You swear you see a slight smile across her face for a brief moment, but before you know it she has already readied herself and made her way to the front of your desk.") + nar "You step back and give Hermione's ass a last glance, her asshole still convulses slightly as your cum continues to dribble onto the ground." + nar "After a couple of moments, she pushes herself up, off your desk..." + nar "Before making her way to the front of your desk, you notice her prodding her butthole gently." + nar "You swear you see a slight smile across her face for a brief moment, but before you know it, she has already readied herself and made her way to the front of your desk." "-Cum all over her-": - $ genie_doll = "cum_outside2" + show her_sex_personal cum_outside2 as cg - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" gen "{size=+7}*Argh*!!!{/size}" - her "" ("mad", "narrow", "worried", "R", cheeks="blush", tears="soft") + show her_sex_personal mouth_mad eyes_narrow_r eyebrows_worried cheeks_blush tears_soft as cg - $ genie_doll = "cum_outside" + + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + + if _temp_outfit_choice == "naked": + show her_sex_personal cum_outside cum_ass_light mouth_grin eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg else: - $ hermione.set_cum(body="light") - with d5 + show her_sex_personal cum_outside cum_ass_skirt_light mouth_grin eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg - $ renpy.sound.play("sounds/slick_02.ogg") - her "*Ah-aha*! You're cumming! {heart}{heart}{heart}" ("grin", "narrow", "base", "down", cheeks="blush", tears="soft") + play sound "sounds/slick_02.ogg" + her "*Ah-aha*! You're cumming! {heart}{heart}{heart}" - $ genie_doll = "after" + show her_sex_personal after as cg gen "{size=+7}Yes I am, whore!{/size}" - her "*Ah*, me too!" ("crooked_smile", "narrow", "worried", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_crooked_smile eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*, me too!" gen "{size=+7}FUCKING SLUT!{/size}" - her "*Ah*...{heart} your cum...{heart}" ("crooked_smile", "narrow", "base", "stare", cheeks="blush", tears="soft") - her "It's all over--{heart}{heart}{heart}" ("grin", "narrow", "base", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_crooked_smile eyes_narrow_stare eyebrows_base cheeks_blush tears_soft as cg + her "*Ah*...{heart} your cum...{heart}" + show her_sex_personal mouth_grin eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "It's all over--{heart}{heart}{heart}" - if hermione.is_worn("bottom"): - gen "{size=+7}Yes!!! All over your clothes!{/size}." - else: + if _temp_outfit_choice == "naked": gen "{size=+7}Yes!!! All over your ass!{/size}" - her "" ("grin", "narrow", "worried", "R", cheeks="blush") - - $ genie_doll = "cum_outside" - call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_heavy") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_heavy") else: - $ hermione.set_cum(body="heavy") - with d5 + gen "{size=+7}Yes!!! All over your clothes!{/size}." - $ renpy.sound.play("sounds/slick_02.ogg") - her "" ("grin", "narrow", "worried", "mid", cheeks="blush") - $ genie_doll = "after" + show her_sex_personal mouth_grin eyes_narrow_r eyebrows_worried cheeks_blush as cg + + call cum_block + + if _temp_outfit_choice == "naked": + show her_sex_personal cum_outside cum_ass_heavy mouth_grin eyes_narrow_mid eyebrows_worried cheeks_blush as cg + else: + show her_sex_personal cum_outside cum_ass_skirt_heavy mouth_grin eyes_narrow_mid eyebrows_worried cheeks_blush as cg + + play sound "sounds/slick_02.ogg" + show her_sex_personal mouth_grin eyes_narrow_mid eyebrows_worried cheeks_blush as cg + + show her_sex_personal after as cg call ctc - her "{heart}{heart}*Mmm*...{heart}{heart}" ("grin", "narrow", "worried", "down", cheeks="blush") + show her_sex_personal mouth_grin eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "{heart}{heart}*Mmm*...{heart}{heart}" gen "Well, this was intense..." - her "*Ah-ha*...{heart} *Ah*...{heart}" ("crooked_smile", "narrow", "base", "down", cheeks="blush", tears="soft") - gen "Are You alright, [hermione_name]?" - her "I think so...{w=0.3} I'm not sure..." ("grin", "narrow", "base", "stare",cheeks="blush",tears="soft") - her "I think I may still be cumming, [genie_name]." ("base", "narrow", "base", "R", cheeks="blush", tears="soft") - her "Or maybe not..." ("grin", "narrow", "worried", "mid", cheeks="blush", tears="soft") - her "Everything is in a daze...{w=0.3} And my legs feel so weak..." ("grin", "narrow", "worried", "down", cheeks="blush", tears="soft") + show her_sex_personal mouth_crooked_smile eyes_narrow_down eyebrows_base cheeks_blush tears_soft as cg + her "*Ah-ha*...{heart} *Ah*...{heart}" + gen "Are You alright, [name_hermione_genie]?" + show her_sex_personal mouth_grin eyes_narrow_stare eyebrows_base cheeks_blush tears_soft as cg + her "I think so...{w=0.3} I'm not sure..." + show her_sex_personal mouth_base eyes_narrow_r eyebrows_base cheeks_blush tears_soft as cg + her "I think I may still be cumming, [name_genie_hermione]." + show her_sex_personal mouth_grin eyes_narrow_mid eyebrows_worried cheeks_blush tears_soft as cg + her "Or maybe not..." + show her_sex_personal mouth_grin eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "Everything is in a daze...{w=0.3} And my legs feel so weak..." if game.daytime: - gen "Well you better get on your feet so you can receive your payment, [hermione_name]... You've still got lessons to get to." + gen "Well you better get on your feet, so you can receive your payment, [name_hermione_genie]... You've still got lessons to get to." else: - gen "Then I better get to awarding your points so you can get some rest..." - her "Oh...{w=0.3} Of course [genie_name]..." ("grin", "narrow", "worried", "R", cheeks="blush", tears="soft") + gen "Then I better get to awarding you your points, so you can get some rest..." + show her_sex_personal mouth_grin eyes_narrow_r eyebrows_worried cheeks_blush tears_soft as cg + her "Oh...{w=0.3} Of course [name_genie_hermione]..." show screen blkfade with d5 - call nar(">You step back and watch as Hermione tries her best to steady herself.") - call nar(">After finally getting up, she touches her ass and you swear you see her smile for a brief moment.") - call nar(">She then readies herself and makes her way to the front of your desk.") + nar "You step back and watch as Hermione tries her best to steady herself." + nar "After finally getting up, she touches her ass and you swear you see her smile for a brief moment." + nar "She then readies herself and makes her way to the front of your desk." jump end_hg_pf_sex @@ -944,13 +1169,12 @@ label hg_anal_sex_2_intro: label hg_anal_sex_3: - $ hg_anal.trigger = True + $ states.her.status.anal = True $ current_payout = 90 - ### Will be added with Missionary pose ### #gen "Let's see... How shall we do this..." - #her "[genie_name]?" + #her "[name_genie_hermione]?" #menu: #"-Flip her onto the desk-": #jump hg_sex_missionary_anal @@ -959,378 +1183,441 @@ label hg_anal_sex_3: ##Doggystyle Anal scene setup## - gen "*Hmm*... Now that I think about it..." ("base", xpos="far_left", ypos="head") - her "Fine, I'll take my clothes off I guess..." ("base", "narrow", "base", "mid", cheeks="blush", flip=True, trans=dissolve) - gen "Good girl..." ("base", xpos="far_left", ypos="head") - show screen blkfade with d5 pause.2 #Stop wind and thunder sounds - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 - # Hermione Setup - $ hermione.set_pose("CG_lean_back") - $ hermione.strip("all") - hide hermione_main - - # Genie Setup - $ genie_doll_path = "images/CG/her_sex/" - $ genie_doll = "hold" - $ genie_doll_armfix = "images/CG/her_sex/hold_armfix.webp" - - # Camera Setup - $ camera.set_imagepath("her_sex") - $ camera.set_image("CG her_sex") - if game.daytime: - $ camera.set_overlay("day_overlay") + if _temp_outfit_choice == "naked": + show her_sex_personal lean_back hold mouth_base eyes_narrow_r eyebrows_base as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-190, -435), initialize=True) - show screen animatedCG + show her_sex_personal lean_back hold shirt skirt mouth_base eyes_narrow_r eyebrows_base as cg zorder 17: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 hide screen blkfade with d5 + her "..........." + + show her_sex_personal lean_back as cg: + transform_anchor True + anchor (0.0, 0.0) + offset (-500, -650) + rotate (15) + zoom 1.0 + ease_quad 3.0 offset (-230, -100) zoom 0.5 rotate -15 - her "..........." ("base", "narrow", "base", "R") - $ camera.set(zoom=0.6, pos=(-555, -380), t=3.0, pause=True) gen "Let's see now..." - call nar(">You align your cock and place it against Hermione's Butthole.") + nar "You align your cock and place it against Hermione's Butthole." menu: "-Ask her if she's ready-": gen "Ready?" - her "Ready for what--" ("angry", "narrow", "base", "R") - "-Less talking more fucking-": + show her_sex_personal mouth_soft eyes_narrow_r eyebrows_base as cg + her "As I'll ever--" + "-Less talking, more fucking-": pass - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris - call play_music("playful_tension") # SEX THEME. - her "*Ooooohhhhhhhhhhhh*....{heart}" ("grin", "wide", "base", "up") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + show her_sex_personal mouth_grin eyes_wide_up eyebrows_base as cg + her "*Ooooohhhhhhhhhhhh*....{heart}" - $ genie_doll = "hold_grin" + show her_sex_personal hold_grin as cg gen "*Ah*...{w=0.4} Finally!" - her "*Mmm*..." ("grin", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "*Mmm*..." - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 call ctc - her "*Ah*..." ("soft", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_mid eyebrows_worried cheeks_blush as cg + her "*Ah*..." - $ genie_doll = "hold" - gen "*Hmm*... This does feel a lot easier than before, you haven't pre-lubed your butthole have you [hermione_name]?" + show her_sex_personal hold as cg + gen "*Hmm*... This does feel a lot easier than before, you haven't pre-lubed your butthole have you [name_hermione_genie]?" - her "*Ah*...{w=0.4} *Ehm*..." ("angry", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} *Ehm*..." - $ genie_doll = "hold_grin" + show her_sex_personal hold_grin as cg gen "I knew it...{w=0.4} You've been expecting this..." gen "So eager to take your headmasters cock, you had to lube yourself before even entering my office." - $ genie_doll = "hold" + show her_sex_personal hold as cg gen "So, where is it? I didn't see you bring it in." - her "*Ah*...{w=0.4} *Ah*...{w=0.4} I--{w=0.2} I left it outside your door [genie_name]..." ("soft", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} *Ah*...{w=0.4} I--{w=0.2} I left it outside your door [name_genie_hermione]..." gen "You don't say..." gen "Aren't you worried what people might think if they saw a bottle of lube out there?" - her "*Ah*...{w=0.4} *Ah*...{w=0.4} No, [genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") - her "They--{w=0.2} *Ah*...{w=0.4} They would probably hear my--{w=0.4} *Ah*...{w=0.2} Moaning through the door anyway so why--{w=0.2} *Ah*...{w=0.4} Why even bother..." ("open", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyes_closed eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} *Ah*...{w=0.4} No, [name_genie_hermione]..." + show her_sex_personal mouth_open eyes_narrow_mid eyebrows_worried cheeks_blush as cg + her "They--{w=0.2} *Ah*...{w=0.4} They would probably hear my--{w=0.4} *Ah*...{w=0.2} moaning through the door anyway, so why--{w=0.2} *Ah*...{w=0.4} Why even bother..." menu: "-Chastise her-": - gen "So you don't care at all?" - her "*Ah*...{w=0.4} I don't, [genie_name]..." ("base", "narrow", "base", "down", cheeks="blush") + gen "So, you don't care at all?" + show her_sex_personal mouth_base eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} I don't, [name_genie_hermione]..." gen "What if one of your Gryffindor friends suddenly turned up outside my door?" - her "They--{w=0.2} *Ah*...{w=0.4} They wouldn't..." ("open", "narrow", "worried", "R", cheeks="blush") - gen "Are you sure? I mean it's not like the door is locked or anything..." + show her_sex_personal mouth_open eyes_narrow_r eyebrows_worried cheeks_blush as cg + her "They--{w=0.2} *Ah*...{w=0.4} They wouldn't..." + gen "Are you sure? I mean, it's not like the door is locked or anything..." gen "Anyone could walk in here!" if game.daytime: - $ random_number = renpy.random.randint(1, 3) - - if random_number == 1: - her "*Ah*...{w=0.4} I'm sure they're still having lunch right now..." ("soft", "narrow", "base", "down", cheeks="blush") - elif random_number == 2: - her "*Ah*...{w=0.4} They should be in the library studying at the moment..." ("soft", "narrow", "base", "down", cheeks="blush") - elif random_number == 3: - her "*Ah*...{w=0.4} They're probably still busy playing Gobstones..." ("soft", "narrow", "base", "down", cheeks="blush") + random: + block: + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} I'm sure they're still having lunch right now..." + block: + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} They should be in the library studying at the moment..." + block: + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} They're probably still busy playing Gobstones..." else: - her "*Ah*...{w=0.4} They should still be in the common room..." ("soft", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} They should still be in the common room..." gen "What if I told you that I requested them to be here?" - her "*Ah*...{w=0.4} You...{w=0.4} You wouldn't..." ("clench", "happy", "base", "R", cheeks="blush") + show her_sex_personal mouth_clench eyes_happy_r eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.4} You...{w=0.4} You wouldn't..." gen "Don't you think it's about time they saw exactly what lengths you've gone through to help your house?" - her "*Ah*...{w=0.3} [genie_name]...{w=0.3} I told you...{w=0.3} They can't--" ("angry", "happy", "annoyed", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyes_happy_mid eyebrows_annoyed cheeks_blush as cg + her "*Ah*...{w=0.3} [name_genie_hermione]...{w=0.3} I told you...{w=0.3} They can't--" gen "I bet you'd like nothing more than one of your friends walking through that door to see you taking my dick up your ass..." - her "Please [genie_name]... Don't tell me you've--" ("clench", "happyCl", "base", "mid", cheeks="blush") + show her_sex_personal mouth_clench eyes_happycl eyebrows_base cheeks_blush as cg + her "Please [name_genie_hermione]... Don't tell me you've--" - play bg_sounds "sounds/sexloopfast.ogg" + play background "sounds/sexloopfast.ogg" - call nar(">You start fucking Hermione's asshole with renewed determination.") - call nar(">Her pleads are soon drowned out by the slapping of her cheeks as you push your cock deep inside her with every stroke.") - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open", "happyCl", "annoyed", "mid", cheeks="blush") - gen "Although... With how loud you're moaning I'd be surprised if I'd even need to call them up here..." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open", "happyCl", "annoyed", "mid", cheeks="blush") + nar "You start fucking Hermione's asshole with renewed determination." + nar "Her pleads are soon drowned out by the slapping of her cheeks as you push your cock deep inside her with every stroke." + show her_sex_personal mouth_open eyes_happycl eyebrows_annoyed cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." + gen "Although... With how loud you're moaning, I'd be surprised if I'd even need to call them up here..." + show her_sex_personal mouth_open eyes_happycl eyebrows_annoyed cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." gen "I bet the entire castle can hear your moans and cheeks slapping..." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} They--{w=0.2} *Ah*...{w=0.4} They wouldn't...." ("angry", "happyCl", "worried", "mid", cheeks="blush") - gen "Do you think they'd recognize the sound of your voice, [hermione_name]?" - her "*Ah*...{w=0.4} Of course they--" ("upset", "happyCl", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyes_happycl eyebrows_worried cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} They--{w=0.2} *Ah*...{w=0.4} They wouldn't...." + gen "Do you think they'd recognize the sound of your voice, [name_hermione_genie]?" + show her_sex_personal mouth_upset eyes_happycl eyebrows_worried cheeks_blush as cg + her "*Ah*...{w=0.4} Of course they--" gen "Of course they would..." gen "With how wet you've been lately..." gen "There's no doubt you've been touching yourself in class..." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*...{w=0.2}" ("angry", "closed", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyes_closed eyebrows_worried cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*...{w=0.2}" gen "And that bottle of lube you brought with you... Did you bring that with you to class as well?" - her "*Ah*...{w=0.4} *Ah*...{w=0.4} I..." ("angry", "closed", "annoyed", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyes_closed eyebrows_annoyed cheeks_blush as cg + her "*Ah*...{w=0.4} *Ah*...{w=0.4} I..." gen "What else have you brought to class lately?" menu: "\"A butt-plug?\"": - her "A... A Butt-plug?!" ("clench", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_clench eyes_narrow_down eyebrows_base cheeks_blush as cg + her "A... A Butt-plug?!" "\"Anal beads?\"": - her "A-- Anal beads?!" ("clench", "narrow", "base", "down", cheeks="blush") - her "Of course I haven't!" ("disgust", "narrow", "base", "R", cheeks="blush") - gen "*Hmm*...{w=0.4} Could've fooled me [hermione_name]...{w=0.4} You don't normally get used to taking it in the ass this easily..." - her "*Hmph*..." ("upset", "narrow", "worried", "L", cheeks="blush") - her "I suppose I'm just a natural..." ("open", "narrow", "worried", "L", cheeks="blush") + show her_sex_personal mouth_clench eyes_narrow_down eyebrows_base cheeks_blush as cg + her "A-- Anal beads?!" + show her_sex_personal mouth_disgust eyes_narrow_r eyebrows_base cheeks_blush as cg + her "Of course I haven't!" + gen "*Hmm*...{w=0.4} Could've fooled me [name_hermione_genie]...{w=0.4} You don't normally get used to taking it in the ass this easily..." + show her_sex_personal mouth_upset eyes_narrow_l eyebrows_worried cheeks_blush as cg + her "*Hmph*..." + show her_sex_personal mouth_open eyes_narrow_l eyebrows_worried cheeks_blush as cg + her "I suppose I'm just a natural..." gen "Clearly..." - gen "Well then, let's take that to the test shall we!" + gen "Well then, let's put that to the test, shall we!" "-Reward her bravery-": - gen "Well then I suppose you wouldn't mind me going all out on you then..." + gen "I suppose you wouldn't mind me going all out on you then..." gen "After all, it's not like you'd be able to moan loud enough for anyone to hear you through the window..." - her "*Ah*...{w=0.2} Of course...{w=0.4} Go ahead, [genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") + show her_sex_personal mouth_open eyes_closed eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.2} Of course...{w=0.4} Go ahead, [name_genie_hermione]..." - play bg_sounds "sounds/slickloopfast.ogg" + play background "sounds/slickloopfast.ogg" - call nar(">You start fucking Hermione with renewed determination.") - call nar(">Noticing Hermione trying to stifle her moans you push your cock deep inside her ass and with each insertion your body smacks hard against her cheeks.") + nar "You start fucking Hermione with renewed determination." + nar "Noticing Hermione trying to stifle her moans, you push your cock deep inside her ass, and with each insertion, your body smacks hard against her cheeks." - play bg_sounds "sounds/sexloopfast.ogg" + play background "sounds/sexloopfast.ogg" - her "*Ah*...{w=0.2} *Ah*...{w=0.2} [genie_name]..." ("disgust", "happyCl", "worried", "mid", cheeks="blush") - gen "That's it [hermione_name]..." + show her_sex_personal mouth_disgust eyes_happycl eyebrows_worried cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} [name_genie_hermione]..." + gen "That's it [name_hermione_genie]..." gen "Don't be afraid to show how much you're enjoying this..." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open", "happyCl", "base", "down", cheeks="blush") + show her_sex_personal mouth_open eyes_happycl eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." - call nar(">Hermione begins moaning even louder as her previous worries slowly fades away and turn into pleasure.") + nar "Hermione begins moaning even louder as her previous worries slowly fades away and turn into pleasure." call slap_her - her "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") - gen "*Hmm*... Surely we can do better than that..." + show her_sex_personal mouth_grin eyes_narrow_up eyebrows_base cheeks_blush as cg + her "*Ah*..." + gen "*Hmm*... Surely, we can do better than that..." call slap_her - her "{size=+2}*Ah*!{/size}" ("grin", "happy", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyes_happy_up eyebrows_base cheeks_blush as cg + her "{size=+2}*Ah*!{/size}" gen "That's better..." call slap_her call slap_her call slap_her - her "{size=+5}*Ah*!!!{/size}" ("open_tongue", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_open_tongue eyes_narrow_up eyebrows_base cheeks_blush as cg + her "{size=+5}*Ah*!!!{/size}" gen "There it is!" - gen "Well... I suppose you were right [hermione_name]..." + gen "Well... I suppose you were right [name_hermione_genie]..." call slap_her - her "{size=+2}*Ah*!{/size}" ("grin", "happyCl", "base", "mid", cheeks="blush") + show her_sex_personal mouth_grin eyes_happycl eyebrows_base cheeks_blush as cg + her "{size=+2}*Ah*!{/size}" gen "If anyone had heard you we'd probably know by now..." - her "I..." ("open", "happyCl", "base", "up", cheeks="blush") + show her_sex_personal mouth_open eyes_happycl eyebrows_base cheeks_blush as cg + her "I..." gen "Although maybe I haven't gone all out on you yet..." - her "*Ah*... Surely you must have..." ("soft", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "*Ah*... Surely, you must have..." gen "Well, you're about to find out!" - $ hermione.set_pose("CG_bent_over") - $ hermione.strip("all") - $ genie_doll = "grab" - $ genie_doll_armfix = "images/CG/her_sex/grab_armfix.webp" - $ camera.set(zoom=0.44, pos=(-305, -650), rotate=0, t=2.0) - her "" ("grin", "narrow", "base", "R", cheeks="blush") + show her_sex_personal bent_over grab as cg: + offset (-230, -100) + zoom 0.5 + rotate -15 + easein 1.0 offset (0, -480) rotate 0 + with vpunch - play bg_sounds "sounds/sexloopveryfast.ogg" - call nar(">You push Hermione down onto the desk and begin fucking her asshole rapidly...") - her "*Ah*...{w=0.3} [genie_name]!" ("soft", "narrow", "base", "up", cheeks="blush") - her "You're...{w=0.3} You're gonna break me!" ("grin", "narrow", "base", "up", cheeks="blush") - gen "I've already broken you, [hermione_name]!" + pause 1.0 + + #Could add some sound effect here + show her_sex_personal mouth_open eyebrows_base eyes_wide_r cheeks_blush as cg: + offset (0, -480) + rotate 0 + ease_quad 3.0 offset (-60, -620) zoom 0.55 + + show her_sex_personal mouth_grin eyes_narrow_r eyebrows_base cheeks_blush as cg + + + play background "sounds/sexloopveryfast.ogg" + nar "You push Hermione down onto the desk and begin fucking her asshole rapidly..." + show her_sex_personal mouth_soft eyes_narrow_up eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.3} [name_genie_hermione]!" + show her_sex_personal mouth_grin eyes_narrow_up eyebrows_base cheeks_blush as cg + her "You're...{w=0.3} You're gonna break me!" + gen "I've already broken you, [name_hermione_genie]!" gen "Every time I've called you to my office you arrive here without a moment of hesitation." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "happyCl", "base", "down", cheeks="blush") + show her_sex_personal mouth_grin eyes_happycl eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." gen "Even after the things I've done to you...{w=0.3} You can't wait to get back in here and do it again..." - gen "To suck your headmasters cock as if your life depended on it..." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "narrow", "base", "mid", cheeks="blush") + gen "To suck your headmaster's cock as if your life depended on it..." + show her_sex_personal mouth_grin eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." gen "Have him fuck you so hard that you can't help but yell out in pleasure..." - her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyes_narrow_up eyebrows_base cheeks_blush as cg + her "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." gen "Take his dick so far up your ass that you can barely keep any rational thoughts in your head." - call nar(">Hermione clenches her ass around your cock as you keep berating her.") + nar "Hermione clenches her ass around your cock as you keep berating her." gen "And you can't even pretend that you're not enjoying it anymore..." gen "Every time I call you a slut--" with vpunch - her "*Ngh*..." ("crooked_smile", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_crooked_smile eyes_narrow_up eyebrows_base cheeks_blush as cg + her "*Ngh*..." gen "Or a whore..." with vpunch - her "*Ngh*..." ("grin", "narrow", "worried", "up", cheeks="blush") + show her_sex_personal mouth_grin eyes_narrow_up eyebrows_worried cheeks_blush as cg + her "*Ngh*..." gen "I can feel your body twitch in excitement." gen "Is that the only thing you want now? To be nothing but a cum dumpster for your headmaster?" - her "..." ("angry", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "..." gen "To just come in here the moment I call for you..." gen "With the only purpose of squeezing out as much semen as you can." - her "I..." ("angry", "narrow", "base", "down", cheeks="blush") - gen "To have me fill your ass up until you can't walk, or cover you in it just so you can smell it during class..." + show her_sex_personal mouth_angry eyes_narrow_down eyebrows_base cheeks_blush as cg + her "I..." + gen "To have me fill your ass until you can't walk... Or cover you in it just so you can smell it during class..." gen "You should be ashamed of yourself!" - her "I--" ("angry", "base", "base", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyes_base_mid eyebrows_base cheeks_blush as cg + her "I--" gen "Admit it!" - her "{size=+5}I'm cumming [genie_name]!{/size}" ("angry", "happyCl", "base", "mid", cheeks="blush") + show her_sex_personal mouth_angry eyes_happycl eyebrows_base cheeks_blush as cg + her "{size=+5}I'm cumming [name_genie_hermione]!{/size}" gen "Oh, no you don't!" call slap_her pause .3 - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "{size=+2}*Ah*!{/size}" ("grin", "narrow", "base", "up", cheeks="blush") + show her_sex_personal mouth_grin eyes_narrow_up eyebrows_base cheeks_blush as cg + her "{size=+2}*Ah*!{/size}" call slap_her call slap_her pause .3 - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "{size=+2}*Mmm*!{/size}" ("soft", "narrow", "base", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "{size=+2}*Mmm*!{/size}" gen "You slut! Now take what you came for!" menu: "-Fill that greedy hole!-": - $ genie_doll = "cum_inside" + $ states.her.status.anal_creampie = True + + show her_sex_personal cum_inside as cg gen "{size=+7}TAKE my cum!!!{/size}" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" call cum_block - if hermione.is_worn("bottom"): - her "!!!" ("grin", "narrow", "base", "mid", cheeks="blush",tears="soft") - else: - her "!!!" ("grin", "narrow", "base", "stare", cheeks="blush",tears="soft") - $ hermione.set_cum(pussy="light") + show her_sex_personal cum_pussy_light mouth_grin eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg + her "!!!" gen "{size=+15}Yes! *Argh*!{/size}" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" call cum_block - her "*Ah*!{heart} Yes!{heart} Fill my tight little ass [genie_name]!{heart}" ("angry", "narrow", "annoyed", "up", cheeks="blush", tears="soft") + show her_sex_personal mouth_angry eyes_narrow_up eyebrows_annoyed cheeks_blush tears_soft as cg + her "*Ah*!{heart} Yes!{heart} Fill my tight little ass, [name_genie_hermione]!{heart}" gen "{size=+15}Argh! Yes!{/size}" - her "{size=+7}*Ah*! Fill your cum dumpster!!!!{heart}{heart}{heart}{/size}" ("crooked_smile", "narrow", "base", "mid", cheeks="blush", tears="soft") + show her_sex_personal mouth_crooked_smile eyes_narrow_mid eyebrows_base cheeks_blush tears_soft as cg + her "{size=+7}*Ah*! Fill your cum dumpster!!!!{heart}{heart}{heart}{/size}" gen "{size=+15}*Argh*!{/size}" - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" call cum_block - if hermione.is_worn("bottom"): - her "" ("angry", "happyCl", "base", "up", cheeks="blush") - else: - $ hermione.set_cum(pussy="heavy") + show her_sex_personal cum_pussy_heavy mouth_angry eyes_happycl eyebrows_base cheeks_blush as cg - her "*Ah*...{heart}{w=0.3} My ass is so full...{heart}" ("grin", "narrow", "worried", "R", cheeks="blush", tears="soft") + pause 1 + + show her_sex_personal mouth_grin eyes_narrow_r eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{heart}{w=0.3} My ass is so full...{heart}" gen "*Ah*...{w=0.3} And you better keep it in there, slut." - her "*Ah*...{w=0.3} *Ah*...{w=0.3} yes [genie_name]...{heart}" ("base", "narrow", "worried", "down", cheeks="blush", tears="soft") - gen "*Hmm*... I think it's time for you to receive your points [hermione_name]..." + show her_sex_personal mouth_base eyes_narrow_down eyebrows_worried cheeks_blush tears_soft as cg + her "*Ah*...{w=0.3} *Ah*...{w=0.3} yes [name_genie_hermione]...{heart}" + gen "*Hmm*... I think it's time for you to receive your points [name_hermione_genie]..." - $ renpy.sound.play("sounds/slick_02.ogg") - $ genie_doll = "after" - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + play sound "sounds/slick_02.ogg" + + if _temp_outfit_choice == "naked": + show her_sex_personal after cum_ass_light mouth_grin eyes_narrow_up eyebrows_base cheeks_blush tears_soft as cg else: - $ hermione.set_cum(body="light") + show her_sex_personal after cum_ass_skirt_light mouth_grin eyes_narrow_up eyebrows_base cheeks_blush tears_soft as cg with kissiris - her "{heart}*Ngh*!{heart}" ("grin", "narrow", "base", "up", cheeks="blush", tears="soft") + her "{heart}*Ngh*!{heart}" show screen blkfade with d5 - call nar(">You step back and watch as your cum starts leaking out of Hermione's ass before she clenches her cheeks to keep it inside of her.") - call nar(">She then gets off your desk and readies herself, and then makes her way to the front of your desk.") - call nar(">You notice that her walk is slightly more purposeful than usual as she does her best to keep your cum from leaking out.") + nar "You step back and watch as your cum starts leaking out of Hermione's ass before she clenches her cheeks to keep it inside of her." + nar "She then gets off your desk and readies herself, and then makes her way to the front of your desk." + nar "You notice that her walk is slightly more purposeful than usual as she does her best to keep your cum from leaking out." "-Coat her with your cum!-": - $ genie_doll = "cum_outside2" + show her_sex_personal cum_outside2 as cg - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" gen "{size=+7}*Argh*!!!{/size}" - her "" ("mad", "narrow", "worried", "R", cheeks="blush") + show her_sex_personal mouth_mad eyes_narrow_r eyebrows_worried cheeks_blush as cg - $ genie_doll = "cum_outside" + + show her_sex_personal cum_outside as cg call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_light") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_light") + + if _temp_outfit_choice == "naked": + show her_sex_personal after cum_ass_light mouth_grin eyes_narrow_down eyebrows_base cheeks_blush as cg else: - $ hermione.set_cum(body="light") - with d5 + show her_sex_personal after cum_ass_skirt_light mouth_grin eyes_narrow_down eyebrows_base cheeks_blush as cg - $ renpy.sound.play("sounds/slick_02.ogg") - her "*Ah-aha*! Yes [genie_name] cover me in cum! {heart}{heart}{heart}" ("grin", "narrow", "base", "down", cheeks="blush") - - $ genie_doll = "after" + play sound "sounds/slick_02.ogg" + her "*Ah-aha*! Yes [name_genie_hermione] cover me in cum! {heart}{heart}{heart}" gen "{size=+7}You greedy slut!{/size}" - her "*Ah*, Yes!" ("crooked_smile", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_crooked_smile eyes_narrow_mid eyebrows_worried cheeks_blush as cg + her "*Ah*, Yes!" - her "*Ah*...{heart} your cum...{heart}" ("crooked_smile", "narrow", "base", "stare", cheeks="blush") - her "I can smell it--{heart}{heart}{heart}" ("grin", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_crooked_smile eyes_narrow_stare eyebrows_base cheeks_blush as cg + her "*Ah*...{heart} your cum...{heart}" + show her_sex_personal mouth_grin eyes_narrow_down eyebrows_base cheeks_blush as cg + her "I can smell it--{heart}{heart}{heart}" - if hermione.is_worn("bottom"): - gen "{size=+7}Yes!!! All over your clothes!{/size}." - else: + if _temp_outfit_choice == "naked": gen "{size=+7}Yes!!! All over your ass!{/size}" - her "" ("grin", "narrow", "worried", "R", cheeks="blush") - - $ genie_doll = "cum_outside" - call cum_block - if hermione.is_worn("bottom"): - $ hermione.set_cum(body="skirt_heavy") - elif hermione.is_worn("top"): - $ hermione.set_cum(body="shirt_heavy") else: - $ hermione.set_cum(body="heavy") - with d5 + gen "{size=+7}Yes!!! All over your clothes!{/size}." - $ renpy.sound.play("sounds/slick_02.ogg") - her "" ("grin", "narrow", "worried", "mid", cheeks="blush") - $ genie_doll = "after" + show her_sex_personal mouth_grin eyes_narrow_r eyebrows_worried cheeks_blush as cg + + + show her_sex_personal cum_outside as cg + call cum_block + + if _temp_outfit_choice == "naked": + show her_sex_personal after cum_ass_heavy mouth_grin eyes_narrow_mid eyebrows_worried cheeks_blush as cg + else: + show her_sex_personal after cum_ass_skirt_heavy mouth_grin eyes_narrow_mid eyebrows_worried cheeks_blush as cg + + play sound "sounds/slick_02.ogg" call ctc - her "{heart}{heart}*Mmm*...{heart}{heart}" ("soft", "closed", "worried", "down", cheeks="blush") + show her_sex_personal mouth_soft eyes_closed eyebrows_worried cheeks_blush as cg + her "{heart}{heart}*Mmm*...{heart}{heart}" gen "That's it, every last drop..." - her "*Ah-ha*...{heart} *Ah*...{heart}" ("crooked_smile", "narrow", "base", "down", cheeks="blush") - her "Every...{w=0.4} Last..." ("grin", "narrow", "base", "stare",cheeks="blush") - her "*Mmm*..." ("base", "narrow", "base", "mid", cheeks="blush") - gen "[hermione_name]?" - her "..." ("base", "narrow", "base", "down", cheeks="blush") + show her_sex_personal mouth_crooked_smile eyes_narrow_down eyebrows_base cheeks_blush as cg + her "*Ah-ha*...{heart} *Ah*...{heart}" + show her_sex_personal mouth_grin eyes_narrow_stare eyebrows_base cheeks_blush as cg + her "Every...{w=0.4} Last..." + show her_sex_personal mouth_base eyes_narrow_mid eyebrows_base cheeks_blush as cg + her "*Mmm*..." + gen "[name_hermione_genie]?" + show her_sex_personal mouth_base eyes_narrow_down eyebrows_base cheeks_blush as cg + her "..." if game.daytime: - gen "You've got class to get to..." + gen "You've got classes to get to..." else: gen "*Err*... Perhaps you should go get some rest..." - her "Oh...{w=0.3} Of course [genie_name]..." ("soft", "narrow", "worried", "down", cheeks="blush") - her "Just give me a moment..." ("base", "narrow", "worried", "mid", cheeks="blush") + show her_sex_personal mouth_soft eyes_narrow_down eyebrows_worried cheeks_blush as cg + her "Oh...{w=0.3} Of course [name_genie_hermione]..." + show her_sex_personal mouth_base eyes_narrow_mid eyebrows_worried cheeks_blush as cg + her "Just give me a moment..." show screen blkfade with d5 - call nar(">Hermione lies on your desk for a moment before finally pushing herself up.") - call nar(">You watch as she sneakily tries to brush some of your cum off with her finger and lick it off.") - call nar(">Noticing that you were looking she then readies herself and hurriedly makes her way to the front of your desk.") + nar "Hermione lies on your desk for a moment before finally pushing herself up." + nar "You watch as she sneakily tries to brush some of your cum off with her finger and lick it off." + nar "Noticing that you were looking, she then readies herself and hurriedly makes her way to the front of your desk." jump end_hg_pf_sex diff --git a/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy b/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy index b093236e..05754b52 100644 --- a/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy +++ b/game/scripts/characters/hermione/events/favors/show_me_your_panties.rpy @@ -2,23 +2,25 @@ ### Hermione Admire Panties ### -label hg_pf_admire_panties: +label start_hg_pf_admire_panties: - gen "{size=-4}(I will ask her to show me her panties. Plain and simple.){/size}" ("base", xpos="far_left", ypos="head") + if not _events_completed_any: + + gen "{size=-4}(I will ask her to show me her panties. Plain and simple.){/size}" ("base", xpos="far_left", ypos="head") - if hg_pf_admire_panties.counter < 1: menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu - # Start Event $ current_payout = 10 - $ hg_pf_admire_panties.start() + + return - # End Event - label end_hg_pf_admire_panties: +label end_hg_pf_admire_panties: # Setup stop music fadeout 2.0 @@ -32,60 +34,66 @@ label hg_pf_admire_panties: $ hermione.wear("all") hide screen blkfade - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "base", "R", trans=fade) - elif her_tier <= 3: - her "" ("annoyed", "narrow", "base", "down", cheeks="blush", trans=fade) - elif her_tier <= 5: - her "" ("base", "base", "base", "mid", trans=fade) + elif states.her.tier <= 3: + her @ cheeks blush "" ("annoyed", "narrow", "base", "down", trans=fade) + elif states.her.tier <= 5: + her "" ("soft", "base", "base", "R", trans=fade) else: her "" ("smile", "narrow", "base", "mid_soft", trans=fade) # If Hermione is at tier 4+, she does not care about points. - if her_tier < 4 and current_payout > 0: + if states.her.tier < 4 and current_payout > 0: $ gryffindor += current_payout - gen "{number=current_payout} points to Gryffindor, [hermione_name]. Well done." ("base", xpos="far_left", ypos="head") + gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]. Well done." ("base", xpos="far_left", ypos="head") - if hg_pf_admire_panties.counter == 1: # First time + if not _events_completed_any: # First time her "Another {number=current_payout} points..." ("base", "narrow", "worried", "down") - her "Can't wait to tell the guys!" ("smile", "happyCl", "base", "mid") + her "I can't wait to tell the guys!" ("smile", "happyCl", "base", "mid") her "Except that I can't actually tell them about any of this..." ("annoyed", "narrow", "angry", "R") pause 1.0 if game.daytime: her "Well, my classes are about to start..." ("open", "closed", "base", "mid") else: - her "It's getting pretty late, [genie_name]..." ("open", "closed", "base", "mid") + her "It's getting pretty late, [name_genie_hermione]..." ("open", "closed", "base", "mid") her "Will this be all?" ("open", "base", "base", "mid") - gen "Yes, you can go now." ("base", xpos="far_left", ypos="head") + gen "Yes, that shall do for now [name_hermione_genie], you may leave." ("base", xpos="far_left", ypos="head") # Hermione stops at the door call her_walk("door", "base") # If Hermione is at tier 4+, she does not care/forgets about points. - if her_tier >= 4: - her "What about my points..." - her "Eh... Who cares..." + if states.her.tier >= 6: + her "(I feel like I've forgotten something...)" ("soft", "base", "worried", "stare", xpos="base", ypos="base", flip=True, trans=d3) + her "(Oh well... I'm sure I'll remember if it was something important...)" ("base", "base", "base", "L") + elif states.her.tier >= 5: + her "(Hold on... I forgot about the points again...)" ("open", "base", "worried", "stare", xpos="base", ypos="base", flip=True, trans=d3) + her "(*Eh*... I'm sure he'll remember the points next time...)" ("base", "base", "base", "R") + elif states.her.tier >= 4: + her "(Wait, what about my points...)" ("open", "base", "worried", "stare", xpos="base", ypos="base", flip=True, trans=d3) + her "(I better remember to ask next time...)" ("annoyed", "base", "base", "L") # Hermione leaves call her_chibi("leave") # Increase level - if her_tier == 1: - if her_whoring < 3: # Points til 3 - $ her_whoring += 1 + if states.her.tier == 1: + if states.her.level < 3: # Points til 3 + $ states.her.level += 1 - elif her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + elif states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 - elif her_tier == 3: - if her_whoring < 12: # Points til 12 - $ her_whoring += 1 + elif states.her.tier == 3: + if states.her.level < 12: # Points til 12 + $ states.her.level += 1 - elif her_tier == 4: - if her_whoring < 18: # Points til 18 - $ her_whoring += 1 + elif states.her.tier == 4: + if states.her.level < 18: # Points til 18 + $ states.her.level += 1 jump end_hermione_event @@ -96,16 +104,19 @@ label hg_pf_admire_panties: # Event 2 (r) - Hermione still can't believe what you ask her to do. label hg_pf_admire_panties_T1_intro_E1: + + call start_hg_pf_admire_panties + gen "Nothing drastic, really..." ("base", xpos="far_left", ypos="head") gen "I just want you to show me your panties." ("base", xpos="far_left", ypos="head") - her "My... panties...?" ("open", "base", "base", "mid") - her "[genie_name]!" ("angry", "base", "angry", "mid") - gen "I know, I know, this a little weird..." ("base", xpos="far_left", ypos="head") + her "My... Panties...?" ("open", "base", "base", "mid") + her "[name_genie_hermione]!" ("angry", "base", "angry", "mid") + gen "I know, I know, this is a little weird..." ("base", xpos="far_left", ypos="head") her "{size=+7}A little !?{/size}" ("shock", "wide", "base", "stare") her "This is completely inappropriate!" gen "Listen, we need to go through this phase before we get to the good stuff, alright?" ("base", xpos="far_left", ypos="head") - her "The \"good stuff\"? [genie_name], I don't understand..." ("angry", "base", "base", "mid") - gen "What don't you understand, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "The \"good stuff\"? [name_genie_hermione], I don't understand..." ("angry", "base", "base", "mid") + gen "What don't you understand, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") gen "Do you need these points or not?" ("base", xpos="far_left", ypos="head") her "I do..." ("disgust", "base", "base", "down") gen "Get up here and show them to me then..." ("base", xpos="far_left", ypos="head") @@ -117,6 +128,9 @@ label hg_pf_admire_panties_T1_intro_E1: label hg_pf_admire_panties_T1_E1: + + call start_hg_pf_admire_panties + gen "Nothing drastic, really..." ("base", xpos="far_left", ypos="head") gen "I just want you to show me your panties." ("base", xpos="far_left", ypos="head") her "This again?" ("angry", "base", "angry", "mid") @@ -129,13 +143,15 @@ label hg_pf_admire_panties_T1_E1: label hg_pf_admire_panties_T1: # Call label + + $ states.her.status.show_panties = True + call hide_characters - hide screen bld1 with d3 if hermione.is_any_worn("robe", "accessory"): $ hermione.strip("robe", "accessory") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 call her_walk("desk", "base", reduce=0.8) @@ -149,23 +165,23 @@ label hg_pf_admire_panties_T1: # Call label else: call her_chibi("stand", "desk", "base") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed her "....................." ("angry", "base", "angry", "mid", xpos="mid", ypos="base", trans=d3) call ctc menu: "-Stare at her face-": - ">You study Hermione's face--" - ">Wondering what's going through her mind right now." + nar "You study Hermione's face--" + nar "Wondering what's going through her mind right now." her "......................." ("angry", "narrow", "annoyed", "mid", emote="angry") "-Stare at her panties-": - ">It's plain girlish underwear, nothing that an ordinary girl wouldn't wear." + nar "It's plain girlish underwear, nothing that an ordinary girl wouldn't wear." - if hg_pf_admire_panties.counter > 1: # Second time - her "......................." ("angry", "narrow", "base", "R", emote="angry") - else: # First time + if not _events_completed_any: her "......................." ("angry", "narrow", "annoyed", "mid", emote="angry") + else: + her "......................." ("angry", "narrow", "base", "R", emote="angry") call ctc return @@ -177,11 +193,14 @@ label hg_pf_admire_panties_T1: # Call label # Event 2 (r) - Hermione is still not happy. label hg_pf_admire_panties_T2_intro_E1: - her "So, what will it be, [genie_name]?" + + call start_hg_pf_admire_panties + + her "So, what will it be, [name_genie_hermione]?" gen "Nothing drastic, really..." ("base", xpos="far_left", ypos="head") gen "I just want you to show me your panties." ("base", xpos="far_left", ypos="head") - if hg_pf_admire_panties.counter == 1: + if not _events_completed_any: her "My Panties?!" ("clench", "base", "worried", "mid") else: her "Oh... again?" ("annoyed", "base", "worried", "R") @@ -194,7 +213,10 @@ label hg_pf_admire_panties_T2_intro_E1: jump end_hg_pf_admire_panties label hg_pf_admire_panties_T2_E1: - her "What will it be, [genie_name]?" + + call start_hg_pf_admire_panties + + her "What will it be, [name_genie_hermione]?" gen "I'd like you to show me your panties again." ("base", xpos="far_left", ypos="head") her ".................." ("annoyed", "base", "worried", "R") her "Alright..." ("open", "base", "worried", "R") @@ -205,13 +227,14 @@ label hg_pf_admire_panties_T2_E1: label hg_pf_admire_panties_T2: # Call label + $ states.her.status.show_panties = True + call hide_characters - hide screen bld1 with d3 if hermione.is_any_worn("robe", "accessory"): $ hermione.strip("robe", "accessory") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 call her_walk("desk", "base", reduce=0.8) @@ -226,8 +249,8 @@ label hg_pf_admire_panties_T2: # Call label call her_chibi("stand", "desk", "base") - call play_music("playful_tension") - her "Here, [genie_name]..." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=d3) + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Here, [name_genie_hermione]..." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=d3) call ctc menu: @@ -237,13 +260,13 @@ label hg_pf_admire_panties_T2: # Call label her "I know everyone will be so happy..." "\"I like your panties...\"": - her "Thank you, [genie_name]..." ("base", "happy", "base", "mid") + her "Thank you, [name_genie_hermione]..." ("base", "happy", "base", "mid") "-Keep looking into her eyes-": her ".............................." ("soft", "base", "base", "mid") her "...........................?" her "................................" ("grin", "base", "base", "R") - her "[genie_name], please... You are embarrassing me." ("grin", "happyCl", "worried", "mid",emote="sweat") + her "[name_genie_hermione], please... You are embarrassing me." ("grin", "happyCl", "worried", "mid",emote="sweat") call ctc return @@ -252,9 +275,14 @@ label hg_pf_admire_panties_T2: # Call label # Event 2 (r) - Ask her to take off her panties, you make her stand for longer + variation if she has stripped. label hg_pf_admire_panties_T3_intro_E1: - if hg_pf_admire_panties.counter == 1: - gen "[hermione_name], could you show me your panties?" ("base", xpos="far_left", ypos="head") - if not hg_strip.trigger: + + call start_hg_pf_admire_panties + + $ states.her.status.show_pussy = True + + if not _events_completed_any: + gen "[name_hermione_genie], could you show me your panties?" ("base", xpos="far_left", ypos="head") + if not states.her.status.stripping: her "My panties?" ("open", "narrow", "base", "mid") gen "If it's not too much trouble..." ("base", xpos="far_left", ypos="head") her "*Hmm*... I suppose not..." ("angry", "squint", "base", "R") @@ -262,10 +290,10 @@ label hg_pf_admire_panties_T3_intro_E1: her "I suppose... If it's just my panties..." ("angry", "squint", "base", "R") gen "(You'd be so lucky...)" ("base", xpos="far_left", ypos="head") else: - gen "[hermione_name], I think it's time I took another look at your panties." ("base", xpos="far_left", ypos="head") - if not hg_strip.trigger: + gen "[name_hermione_genie], I think it's time I took another look at your panties." ("base", xpos="far_left", ypos="head") + if not states.her.status.stripping: her "Again?" ("open", "narrow", "base", "mid") - gen "Yes, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Yes, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Okay." ("angry", "squint", "base", "R") else: her "Just my panties, right?" ("open", "squint", "base", "mid") @@ -273,12 +301,11 @@ label hg_pf_admire_panties_T3_intro_E1: her "Right..." ("angry", "narrow", "base", "down") call hide_characters - hide screen bld1 with d3 if hermione.is_any_worn("robe", "accessory"): $ hermione.strip("robe", "accessory") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 call her_walk("desk", "base", reduce=0.8) @@ -292,101 +319,103 @@ label hg_pf_admire_panties_T3_intro_E1: else: call her_chibi("stand", "desk", "base") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed her "There you go." ("base", "squint", "base", "mid", xpos="mid", ypos="base", trans=dissolve) - gen "Very good, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Very good, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") menu: "\"How are you feeling?\"": - her "[genie_name]?" ("soft", "squint", "base", "mid") + her "[name_genie_hermione]?" ("soft", "squint", "base", "mid") gen "How does it feel, knowing you're earning your house a lot of points." ("base", xpos="far_left", ypos="head") her "*Ehm*... Good?" ("angry", "happy", "base", "mid") - her "I mean, as good as you could feel when you're showing the headmaster your panties." ("angry", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "I mean, as good as you could feel when you're showing the headmaster your panties." ("angry", "squint", "base", "R") gen "Glad to hear it." ("base", xpos="far_left", ypos="head") "-Stare at her face-": - gen "You've got a very pretty face, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "base", "base", "mid") + gen "You've got a very pretty face, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("angry", "base", "base", "mid") her "I thought you were supposed to be looking at my panties." ("angry", "narrow", "base", "mid") gen "Does it matter where I'm looking?" ("base", xpos="far_left", ypos="head") - her "*Hmm*...{w=0.4} Well as long as you're still paying me..." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*...{w=0.4} Well as long as you're still paying me..." ("angry", "narrow", "base", "R") "-Stare at her panties-": her "..." ("base", "squint", "base", "mid") her "...{fast}..." ("normal", "squint", "base", "mid") - her "[genie_name]?" ("open", "squint", "base", "mid", cheeks="blush") - gen "Yes, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "You're staring very intently..." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("open", "squint", "base", "mid") + gen "Yes, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You're staring very intently..." ("angry", "narrow", "base", "R") gen "Of course, I'm savouring every moment." ("base", xpos="far_left", ypos="head") - her "Right..." ("open", "narrow", "base", "down", cheeks="blush") - her "" ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Right..." ("open", "narrow", "base", "down") + her @ cheeks blush "" ("normal", "narrow", "base", "down") call ctc - her "Are we done?" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Are we done?" ("open", "base", "base", "mid") gen "Not quite." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("angry", "base", "base", "mid") gen "First I'd like you to take those panties off." ("base", xpos="far_left", ypos="head") - if not hg_strip.trigger: - her "You want me to--" ("clench", "squint", "base", "mid", cheeks="blush") + if not states.her.status.stripping: + her @ cheeks blush "You want me to--" ("clench", "squint", "base", "mid") gen "Take them off for me, yes." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "mid") gen "For Gryffindor, obviously." ("base", xpos="far_left", ypos="head") - her "So I will get extra points for this?" ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "So, I will get extra points for this?" ("open", "closed", "worried", "mid") gen "Of course, you shall receive twenty extra points..." ("base", xpos="far_left", ypos="head") - her "*Hmm*..." ("annoyed", "narrow", "worried", "R", cheeks="blush") - her "For how long?" ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*..." ("annoyed", "narrow", "worried", "R") + her @ cheeks blush "For how long?" ("open", "narrow", "base", "mid") gen "Just a quick peek shall suffice." ("base", xpos="far_left", ypos="head") - her "Alright then..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright then..." ("open", "closed", "base", "mid") $ current_payout += 20 else: - her "I thought you just wanted me to show you my panties..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I thought you just wanted me to show you my panties..." ("angry", "narrow", "base", "mid") gen "Yes, and now I want to see them slide off your legs." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") - gen "You'll get paid extra obviously..." ("base", xpos="far_left", ypos="head") - her "...{w=0.4} How much extra?" ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") + gen "You'll get paid extra, obviously..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "...{w=0.4} How much extra?" ("open", "narrow", "base", "R") gen "Ten points." ("base", xpos="far_left", ypos="head") - her "Just ten?" ("clench", "narrow", "base", "mid", cheeks="blush") - gen "Ten points not good enough for a quick glance of what's under those panties?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Just ten?" ("clench", "narrow", "base", "mid") + gen "Is ten points not good enough for a quick glance of what's under those panties?" ("base", xpos="far_left", ypos="head") gen "It's not like I haven't gotten a good look already..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "down", cheeks="blush") - her "I suppose... If it's just a quick glance..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "down") + her @ cheeks blush "I suppose...{w=0.4} If it's just a quick glance..." ("open", "narrow", "base", "down") $ current_payout += 10 - her "..." ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("normal", "narrow", "base", "down") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("panties") with d3 - her "" ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "" ("normal", "narrow", "base", "down") pause 4 - her "" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("angry", "narrow", "base", "mid") pause 3 - her "Okay, that's{nw}" ("open", "squint", "base", "mid", cheeks="blush") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + her @ cheeks blush "Okay, that's{nw}" ("open", "squint", "base", "mid") + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("panties") - her "Okay, that's{fast} enough..." ("open", "squint", "base", "mid", cheeks="blush") + her "Okay, that's{fast} enough..." - gen "Very well, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Very well, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") jump end_hg_pf_admire_panties label hg_pf_admire_panties_T3_E1: - gen "[hermione_name], I think it's time I took another look at your panties." ("base", xpos="far_left", ypos="head") + + call start_hg_pf_admire_panties + + gen "[name_hermione_genie], I think it's time I took another look at your panties." ("base", xpos="far_left", ypos="head") her "Just my panties?" ("open", "narrow", "base", "mid") gen "*Hmm*... We'll see..." ("base", xpos="far_left", ypos="head") her "Alright..." ("open", "squint", "base", "mid") call hide_characters - hide screen bld1 with d3 if hermione.is_any_worn("robe", "accessory"): $ hermione.strip("robe", "accessory") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 call her_walk("desk", "base", reduce=0.8) @@ -400,7 +429,7 @@ label hg_pf_admire_panties_T3_E1: else: call her_chibi("stand", "desk", "base") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed her "Here you go." ("base", "squint", "base", "mid", xpos="mid", ypos="base", trans=dissolve) call ctc @@ -414,16 +443,16 @@ label hg_pf_admire_panties_T3_E1: gen "Right..." ("base", xpos="far_left", ypos="head") gen "(Then why not just pretend you're in the shower and bare it all.)" ("base", xpos="far_left", ypos="head") "\"Do you like showing off your panties?\"": - her "Like, [genie_name]?" ("open", "squint", "base", "mid") - gen "Yes [hermione_name]... Do you enjoy it?" ("base", xpos="far_left", ypos="head") - her "*Hmm*... I don't mind it I guess..." ("open", "squint", "base", "R") + her "Like, [name_genie_hermione]?" ("open", "squint", "base", "mid") + gen "Yes [name_hermione_genie]... Do you enjoy it?" ("base", xpos="far_left", ypos="head") + her "*Hmm*... I don't mind it, I guess..." ("open", "squint", "base", "R") her "As long as it makes my house happy." ("base", "base", "base", "mid") gen "I'm sure it does." ("base", xpos="far_left", ypos="head") "-Stare at her panties-": her "..." ("base", "squint", "base", "mid") - her "...{fast}..." ("normal", "squint", "base", "mid") - her "[genie_name]?" ("open", "squint", "base", "mid") - gen "Yes, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "......" ("normal", "squint", "base", "mid") + her "[name_genie_hermione]?" ("open", "squint", "base", "mid") + gen "Yes, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Do you have to stare so intently at them?" ("angry", "squint", "base", "mid") gen "I don't." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") @@ -433,30 +462,42 @@ label hg_pf_admire_panties_T3_E1: menu: "\"Now take them off.\"": - her "[genie_name]!" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "narrow", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") gen "Surely you knew this was coming..." ("base", xpos="far_left", ypos="head") - her "*Hmph*... I suppose..." ("clench", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmph*... I suppose..." ("clench", "narrow", "base", "R") gen "So?" ("base", xpos="far_left", ypos="head") - her "Just a flash, right?" ("annoyed", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Just a flash, right?" ("annoyed", "narrow", "base", "mid") gen "Right." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("panties") - call ctc + with d3 - her "There--" ("angry", "narrow", "base", "mid", cheeks="blush") #Looks away - call nar(">You stare intently at Hermione's exposed pussy.") - her "..." ("angry", "narrow", "base", "R", cheeks="blush") #Looks at genie - her "Okay, that's--" ("clench", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "" ("normal", "narrow", "base", "down") + pause 4 + her @ cheeks blush "" ("angry", "narrow", "base", "mid") + pause 3 + + play sound "sounds/cloth_sound3.ogg" + $ hermione.wear("panties") + her @ cheeks blush "Okay, that's--" ("clench", "narrow", "base", "down") gen "Wait!" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("angry", "squint", "base", "mid") gen "I'm not done yet." ("base", xpos="far_left", ypos="head") - her "But you said--" ("open", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "But you said...{w} *Ugh*...{w=0.4} Fine...{nw}" ("angry", "narrow", "worried", "down") + + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("panties") + + her "But you said... *Ugh*... Fine...{fast}" + her @ cheeks blush "Happy?" ("angry", "narrow", "base", "mid") #Looks away + nar "You stare intently at Hermione's exposed pussy." + her @ cheeks blush "Are you--" ("angry", "narrow", "base", "R") #Looks at genie gen "Quiet." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "closed", "base", "mid") call ctc - gen "Okay I'm done..." ("base", xpos="far_left", ypos="head") + gen "Okay, I'm done..." ("base", xpos="far_left", ypos="head") "-Let her go-": gen "Alright then, that shall do for now." ("base", xpos="far_left", ypos="head") @@ -470,21 +511,23 @@ label hg_pf_admire_panties_T3_E1: ## Can unequip underwear in wardrobe at this stage ## label hg_pf_admire_panties_T4_intro_E1: - if hg_pf_admire_panties.counter == 1: - gen "[hermione_name], I'd like you to show me your panties, if that's not too much trouble." ("base", xpos="far_left", ypos="head") + + call start_hg_pf_admire_panties + + if not _events_completed_any: + gen "[name_hermione_genie], I'd like you to show me your panties, if that's not too much trouble." ("base", xpos="far_left", ypos="head") else: - gen "[hermione_name], I'd like you to show me your panties again, if that's not too much trouble." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], I'd like you to show me your panties again, if that's not too much trouble." ("base", xpos="far_left", ypos="head") her "My panties?" ("open", "narrow", "worried", "down") - gen "Yes [hermione_name]... Get up here will you..." ("base", xpos="far_left", ypos="head") - her "Oh, Okay..." ("base", "narrow", "base", "down", cheeks="blush") + gen "Yes [name_hermione_genie]... Get up here will you..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, Okay..." ("base", "narrow", "base", "down") call hide_characters - hide screen bld1 with d3 if hermione.is_any_worn("robe", "accessory"): $ hermione.strip("robe", "accessory") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 call her_walk("desk", "base", reduce=0.8) @@ -492,15 +535,15 @@ label hg_pf_admire_panties_T4_intro_E1: if not hermione.is_worn("bottom") and hermione.is_worn("panties"): call her_chibi("stand", "desk", "base") - her "*Hmm*... You know what..." ("normal", "narrow", "base", "R", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "*Hmm*... You know what..." ("normal", "narrow", "base", "R", xpos="mid", ypos="base") $ hermione.strip("panties") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 - her "" ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "base", "mid") call ctc - gen "Looking to get extra points are you?" ("base", xpos="far_left", ypos="head") - her "Perhaps..." ("base", "narrow", "worried", "down", cheeks="blush") + gen "Trying to get some extra points, are you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Perhaps..." ("base", "narrow", "worried", "down") else: if hermione.is_any_worn("bottom", "panties"): if hermione.is_worn("bottom", "panties"): @@ -511,35 +554,36 @@ label hg_pf_admire_panties_T4_intro_E1: with d3 pause.8 - her ".........................." ("base", "base", "base", "R", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush ".........................." ("base", "base", "base", "R", xpos="mid", ypos="base") gen "!!?" ("angry", xpos="far_left", ypos="head") - her "" ("base", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "base", "mid_soft") call ctc # No Panties! - gen "Where are your panties, [hermione_name]?" ("angry", xpos="far_left", ypos="head") - her "Oh, lately I just don't feel like wearing them..." ("base", "narrow", "worried", "down", cheeks="blush") + gen "Where are your panties, [name_hermione_genie]?" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, lately I just don't feel like wearing them..." ("base", "narrow", "worried", "down") + gen "So, you're not doing it in the hopes of earning some extra point?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course not..." ("base", "narrow", "worried", "down") else: call her_chibi("stand", "desk", "base") - her "*Ehm*..." ("open", "squint", "base", "R", cheeks="blush", xpos="mid", ypos="base") - her "You asked me not to wear any panties [genie_name]..." ("base", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "*Ehm*..." ("open", "squint", "base", "R", xpos="mid", ypos="base") + her @ cheeks blush "You asked me not to wear any panties, [name_genie_hermione]..." ("base", "narrow", "worried", "down") gen "Oh... So I did..." ("base", xpos="far_left", ypos="head") gen "I just wanted to make sure you followed my instructions..." ("base", xpos="far_left", ypos="head") - gen "Well done [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("base", "narrow", "worried", "mid", cheeks="blush") + gen "Well done [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you [name_genie_hermione]..." ("base", "narrow", "worried", "mid") menu: "\"You little slut!\"": her "*Hmm*..." - her "I suppose I am..." ("base", "narrow", "base", "mid_soft") - her "Do I get extra points for that?" + her "So, am I receiving any extra points for not wearing any panties?" ("base", "narrow", "base", "mid_soft") menu: "\"Absolutely!\"": gen "Ten additional points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]!" ("base", "happyCl", "worried", "mid") + her "Thank you, [name_genie_hermione]!" ("base", "happyCl", "worried", "mid") $ gryffindor+= 10 @@ -547,15 +591,21 @@ label hg_pf_admire_panties_T4_intro_E1: "\"Absolutely not!\"": her "Why not!?" ("scream", "closed", "angry", "mid") - gen "Sluts aren't getting paid." ("base", xpos="far_left", ypos="head") + gen "Sluts don't get paid." ("base", xpos="far_left", ypos="head") gen "That's what makes them sluts." ("base", xpos="far_left", ypos="head") - her "Well are you even going to pay me {number=current_payout} points?" ("annoyed", "base", "angry", "mid") + her "Will you at least pay me the {number=current_payout} points?" ("annoyed", "base", "angry", "mid") gen "Are you a slut or are you a prostitute?" ("base", xpos="far_left", ypos="head") - her "{size=-4}... A slut. {/size}" + her "[name_genie_hermione]?!" ("angry", "base", "worried", "mid") + gen "It's a simple question... Sluts don't get paid, so you're a prostitute then?" ("base", xpos="far_left", ypos="head") + her "{size=-4}I'm not a prostitute...{/size}" ("disgust", "base", "worried", "mid") + gen "Then, what are you, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Do I really have to--" ("disgust", "narrow", "worried", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I'm...{w=0.4} {size=-4}... A slut. {/size}" ("open", "narrow", "worried", "down") gen "Good girl." ("base", xpos="far_left", ypos="head") $ current_payout = 0 - $ her_mood +=5 + $ states.her.mood +=5 call ctc @@ -565,17 +615,19 @@ label hg_pf_admire_panties_T4_intro_E1: jump end_hg_pf_admire_panties label hg_pf_admire_panties_T4_E1: - gen "[hermione_name], I'd like you to show me your panties again if possible." ("base", xpos="far_left", ypos="head") + + call start_hg_pf_admire_panties + + gen "[name_hermione_genie], I'd like you to show me your panties again, if possible." ("base", xpos="far_left", ypos="head") her "Oh..." ("open", "narrow", "worried", "down") - her "Well, that might be an issue..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well, that might be an issue..." ("base", "narrow", "base", "down") call hide_characters - hide screen bld1 with d3 if hermione.is_any_worn("robe", "accessory"): $ hermione.strip("robe", "accessory") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 call her_walk("desk", "base", reduce=0.8) @@ -583,15 +635,15 @@ label hg_pf_admire_panties_T4_E1: if not hermione.is_worn("bottom") and hermione.is_worn("panties"): call her_chibi("stand", "desk", "base") - her "I don't really feel like wearing them right now..." ("base", "narrow", "base", "R", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "I don't really feel like wearing them right now..." ("base", "narrow", "base", "R", xpos="mid", ypos="base") $ hermione.strip("panties") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 - her "" ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "base", "mid") call ctc gen "Is that so?" ("base", xpos="far_left", ypos="head") - her "Yes..." ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes..." ("base", "narrow", "base", "mid") else: if hermione.is_any_worn("bottom", "panties"): if hermione.is_worn("bottom", "panties"): @@ -606,28 +658,27 @@ label hg_pf_admire_panties_T4_E1: call ctc # No Panties! - gen "No panties again, [hermione_name]?" ("grin", xpos="far_left", ypos="head") - her "Well... what's the point if they're just going to be in the way all the time..." ("base", "narrow", "worried", "down", cheeks="blush") + gen "No panties again, [name_hermione_genie]?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I figured there was no point in wearing any, since you're asking me to undress all the time..." ("base", "narrow", "worried", "down") else: call her_chibi("stand", "desk", "base") - her "I'm not wearing any panties right now..." ("base", "narrow", "base", "mid", cheeks="blush", xpos="mid", ypos="base", trans=dissolve) - her "Was I supposed to? I'm sure you asked me not to wear them..." ("open", "narrow", "worried", "down", cheeks="blush") - gen "So I did... Good job [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "I'm glad that I can count on you doing what I ask of you." ("base", xpos="far_left", ypos="head") - her "Oh... Thank you [genie_name]." ("base", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "I'm not wearing any panties right now..." ("base", "narrow", "base", "mid", xpos="mid", ypos="base", trans=dissolve) + her @ cheeks blush "Was I supposed to? I'm sure you asked me not to wear them..." ("open", "narrow", "worried", "down") + gen "So I did... Good job [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "I'm glad that I can count on you to do what I ask of you." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Thank you [name_genie_hermione]." ("base", "narrow", "worried", "mid") menu: "\"You little slut!\"": her "*Hmm*..." - her "I suppose I am..." ("base", "narrow", "base", "mid_soft") - her "Do I get extra points this time?" + her "Do I get extra points this time?" ("open", "narrow", "base", "mid_soft") menu: "\"Absolutely!\"": gen "Absolutely!" ("base", xpos="far_left", ypos="head") gen "Ten additional points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]!" ("base", "happyCl", "worried", "mid") + her "Thank you, [name_genie_hermione]!" ("base", "happyCl", "worried", "mid") $ gryffindor+= 10 @@ -635,18 +686,22 @@ label hg_pf_admire_panties_T4_E1: "\"Absolutely not!\"": - - her "Why not!?" ("scream", "closed", "angry", "mid") - gen "Sluts aren't getting paid." ("base", xpos="far_left", ypos="head") + gen "Sluts doesn't get paid." ("base", xpos="far_left", ypos="head") gen "That's what makes them sluts." ("base", xpos="far_left", ypos="head") - her "Well are you even going to pay me {number=current_payout} points?" ("annoyed", "base", "angry", "mid") + her "Will you at least pay me the {number=current_payout} points?" ("annoyed", "base", "angry", "mid") gen "Are you a slut or are you a prostitute?" ("base", xpos="far_left", ypos="head") - her "{size=-4}... A slut. {/size}" + her "[name_genie_hermione]?!" ("angry", "base", "worried", "mid") + gen "It's a simple question... Sluts doesn't get paid, so you're a prostitute then?" ("base", xpos="far_left", ypos="head") + her "{size=-4}I'm not a prostitute...{/size}" ("disgust", "base", "worried", "mid") + gen "Then, what are you, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Do I really have to--" ("disgust", "narrow", "worried", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I'm...{w=0.4} {size=-4}... A slut. {/size}" ("open", "narrow", "worried", "down") gen "Good girl." ("base", xpos="far_left", ypos="head") $ current_payout = 0 - $ her_mood +=5 + $ states.her.mood +=5 call ctc @@ -654,14 +709,14 @@ label hg_pf_admire_panties_T4_E1: pass - her "I could put my panties back on for you, if you'd like that, [genie_name]?" ("open", "base", "base", "mid") + her "I could put my panties back on for you, if you'd like that, [name_genie_hermione]?" ("open", "base", "base", "mid") menu: "\"Yes, put them back on!\"": - her "Alright, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "Alright, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") hide hermione_main with d3 - ">Hermione puts on her panties." + nar "Hermione puts on her panties." if not hermione.is_equipped("panties"): $ hermione.equip(her_panties_base1) @@ -674,7 +729,7 @@ label hg_pf_admire_panties_T4_E1: her "I hope you like them..." ("soft", "base", "base", "R") "\"No, keep them off!\"": - her "Of course, [genie_name]." ("soft", "narrow", "base", "mid") + her "Of course, [name_genie_hermione]." ("soft", "narrow", "base", "mid") $ hermione.unequip("panties") call ctc @@ -683,17 +738,18 @@ label hg_pf_admire_panties_T4_E1: label hg_pf_admire_panties_T4_E2: - gen "[hermione_name], show me those cute panties of yours again." ("base", xpos="far_left", ypos="head") + call start_hg_pf_admire_panties + + gen "[name_hermione_genie], show me those cute panties of yours again." ("base", xpos="far_left", ypos="head") her "Oh..." ("open", "narrow", "worried", "down") - her "Okay..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Okay..." ("base", "narrow", "base", "down") call hide_characters - hide screen bld1 with d3 if hermione.is_any_worn("robe", "accessory"): $ hermione.strip("robe", "accessory") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 1.4 call her_walk("desk", "base", reduce=0.8) @@ -712,21 +768,19 @@ label hg_pf_admire_panties_T4_E2: # No Panties. if not hermione.is_worn("panties"): - gen "Where are your panties, [hermione_name]?" ("grin", xpos="far_left", ypos="head") + gen "Where are your panties, [name_hermione_genie]?" ("grin", xpos="far_left", ypos="head") her "You asked me not to wear any..." ("open", "squint", "base", "mid") gen "Oh right..." ("base", xpos="far_left", ypos="head") - her "Most of the time I just leave them in the Gryffindor common room..." ("base", "squint", "base", "R") - her "But I got them with me this time." ("base", "base", "base", "mid") call ctc - her "If you'd like, [genie_name], I could put my panties back on for you." ("soft", "narrow", "base", "mid_soft") + her "If you'd like, [name_genie_hermione], I could put my panties back on for you." ("soft", "narrow", "base", "mid_soft") menu: "\"Yes, put them back on!\"": - her "Alright, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "Alright, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") hide hermione_main with d3 - ">Hermione puts on her panties." + nar "Hermione puts on her panties." if not hermione.is_equipped("panties"): $ hermione.equip(her_panties_base1) @@ -739,35 +793,35 @@ label hg_pf_admire_panties_T4_E2: her "I hope you like them..." ("soft", "base", "base", "mid") "\"No, keep them off!\"": - her "Of course, [genie_name]." ("soft", "narrow", "annoyed", "up") + her "Of course, [name_genie_hermione]." ("soft", "narrow", "annoyed", "up") $ hermione.unequip("panties") call ctc else: - her "Do you like them, [genie_name]?" ("base", "narrow", "base", "mid_soft") - gen "Indeed I do, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Do you like them, [name_genie_hermione]?" ("base", "narrow", "base", "mid_soft") + gen "Indeed I do, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") call ctc - her "I could take them off, if you'd like that, [genie_name]." ("open", "base", "base", "R") + her "I could take them off, if you'd like that, [name_genie_hermione]." ("open", "base", "base", "R") menu: "\"Yes, Take them off!\"": - her "Alright, [genie_name]." ("soft", "narrow", "annoyed", "up") + her "Alright, [name_genie_hermione]." ("soft", "narrow", "annoyed", "up") gen "And keep them off from now on!" ("base", xpos="far_left", ypos="head") - her "Whatever you want, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "Whatever you want, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") hide hermione_main with d3 - call nar(">Hermione takes off her panties.") + nar "Hermione takes off her panties." $ hermione.unequip("panties") her "" ("base", "narrow", "base", "mid_soft") call ctc - her "I hope you like it, [genie_name]..." ("angry", "wink", "base", "mid") + her "I hope you like it, [name_genie_hermione]..." ("angry", "wink", "base", "mid") "\"No, keep them on!\"": - her "Sure, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "Of course, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") call ctc jump end_hg_pf_admire_panties diff --git a/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy b/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy index e13ceb80..b8f26ae5 100644 --- a/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy +++ b/game/scripts/characters/hermione/events/favors/show_me_your_tits.rpy @@ -1,25 +1,22 @@ ### Hermione Admire Breasts ### -default hg_pf_admire_breasts_no_points = False +label start_hg_pf_admire_breasts: -label hg_pf_admire_breasts: + if not _events_completed_any: + gen "{size=-4}(I feel like gazing upon those titties.){/size}" ("base", xpos="far_left", ypos="head") - gen "{size=-4}(I feel like gazing upon those titties.){/size}" ("base", xpos="far_left", ypos="head") - - if hg_pf_admire_breasts.counter < 1: menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu - # Start Event $ current_payout = 10 - $ hg_pf_admire_breasts.start() + return - # End Event - label end_hg_pf_admire_breasts: +label end_hg_pf_admire_breasts: # Setup stop music fadeout 2.0 @@ -34,10 +31,12 @@ label hg_pf_admire_breasts: $ hermione.wear("all") hide screen blkfade - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "worried", "R", xpos="mid", ypos="base", trans=fade) - elif her_tier <= 5: - her "" ("base", "base", "base", "R", xpos="mid", ypos="base", trans=fade) + elif states.her.tier <= 3: + her "" ("annoyed", "base", "worried", "R", xpos="mid", ypos="base", trans=fade) + elif states.her.tier <= 5: + her "" ("soft", "base", "base", "R", xpos="mid", ypos="base", trans=fade) else: her "" ("base", "narrow", "annoyed", "up", xpos="mid", ypos="base", trans=fade) @@ -46,48 +45,52 @@ label hg_pf_admire_breasts: gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") stop music fadeout 10.0 - if her_tier <= 2: + if states.her.tier <= 2: her ".................." ("annoyed", "base", "worried", "R") - her "Thank you, [genie_name]..." ("open", "base", "base", "R") - elif her_tier <= 5: + her "Thank you, [name_genie_hermione]..." ("open", "base", "base", "R") + elif states.her.tier <= 5: her ".................." ("annoyed", "base", "worried", "R") - her "Thank you, [genie_name]..." ("soft", "base", "base", "mid") + her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "mid") else: her ".................." ("base", "happyCl", "base", "mid") - her "Thank you, [genie_name]..." ("soft", "narrow", "base", "mid_soft") + her "Thank you, [name_genie_hermione]..." ("soft", "narrow", "base", "mid_soft") if game.daytime: - her "Now if you don't mind I'd better go. my classes are about to start." + her "Now if you don't mind, I'd better go... My classes are about to start." else: - her "I'd better go now then. It's getting pretty late..." - + her "I'd better head off for today, It's getting pretty late..." # Hermione leaves call her_walk("door", "base") - if her_tier <= 1 and hg_pf_admire_breasts.points == 1: - her "........................" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="right", flip=True, trans=d3) - elif her_tier <= 2 and hg_pf_admire_breasts.points == 1: - her "(How humiliating... What have I become...?)" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="right", flip=True, trans=d3) - elif her_tier <= 2: - her "........................" ("disgust", "narrow", "base", "down", cheeks="blush", xpos="right", flip=True, trans=d3) - elif her_tier <= 3 and hg_pf_admire_breasts.points == 1: - her "{size=-5}(That was so humiliating...){/size}" ("base", "narrow", "base", "up", cheeks="blush", xpos="right", flip=True, trans=d3) - her "{size=-5}(No, Hermione, you silly girl!){/size}" ("angry", "base", "angry", "mid", cheeks="blush") - her "{size=-5}(We are doing this to protect the honour of our house!){/size}" ("angry", "base", "angry", "mid", cheeks="blush") - her "................................." ("base", "narrow", "base", "up", cheeks="blush") + if states.her.tier <= 1 and not _events_filtered_completed_any: + her @ cheeks blush "........................" ("disgust", "narrow", "base", "down", xpos="far_right", flip=True, trans=d3) + elif states.her.tier <= 2 and not _events_filtered_completed_any: + her @ cheeks blush "(How humiliating... What have I become...?)" ("disgust", "narrow", "base", "down", xpos="far_right", flip=True, trans=d3) + elif states.her.tier <= 2 and not _event_completed: + her @ cheeks blush "........................" ("disgust", "narrow", "base", "down", xpos="far_right", flip=True, trans=d3) + elif states.her.tier <= 3 and not _events_filtered_completed_any: + if not _cumming: + her @ cheeks blush "{size=-5}(That was so humiliating...){/size}" ("base", "narrow", "base", "up", xpos="far_right", flip=True, trans=d3) + her @ cheeks blush "{size=-5}(No, Hermione, you silly girl!){/size}" ("angry", "base", "angry", "mid") + her @ cheeks blush "{size=-5}(We are doing this to protect the honour of our house!){/size}" ("angry", "base", "angry", "mid") + her @ cheeks blush "................................." ("base", "narrow", "base", "up") + else: + her @ cheeks blush "{size=-5}(To think that I have to humiliate myself like this, just to have a chance at winning the cup...){/size}" ("angry", "narrow", "angry", "down") + her @ cheeks blush "{size=-5}(Maybe this is going too far...){/size}" ("disgust", "narrow", "worried", "down") + her @ cheeks blush "{size=-5}(No, Hermione, you must protect the honour of our house!){/size}" ("angry", "base", "angry", "mid") call her_chibi("leave") # Increase level - if her_tier == 1: - if her_whoring < 3: # Points til 3 - $ her_whoring += 1 + if states.her.tier == 1: + if states.her.level < 3: # Points til 3 + $ states.her.level += 1 - elif her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + elif states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 jump end_hermione_event @@ -101,10 +104,13 @@ label hg_pf_admire_breasts: # Event 3 (r) - Hermione will lift up her top. label hg_pf_admire_breasts_T1_intro_E1: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("normal", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]..." ("normal", "base", "base", "mid") gen "Has anyone ever told you what sweet-looking breasts you have?" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 her "!!!" ("shock", "wide", "base", "stare") @@ -113,7 +119,7 @@ label hg_pf_admire_breasts_T1_intro_E1: gen "And show me what's underneath..." ("grin", xpos="far_left", ypos="head") her "Why would I--?!" ("angry", "wide", "base", "mid") - her "[genie_name], I refuse to bare my breasts for you!" ("open", "closed", "angry", "mid") + her "[name_genie_hermione], I refuse to bare my breasts for you!" ("open", "closed", "angry", "mid") her "How could you even suggest such a thing?!" ("angry", "base", "angry", "mid") gen "Don't you want to earn some house points?" ("base", xpos="far_left", ypos="head") her "Yes... But not in a way such as this!" ("angry", "narrow", "angry", "R") @@ -130,15 +136,15 @@ label hg_pf_admire_breasts_T1_intro_E1: gen "(...)" ("base", xpos="far_left", ypos="head") menu: - "\"Very well, [hermione_name].\"": + "\"Very well, [name_hermione_genie].\"": gen "Better than nothing I guess..." ("base", xpos="far_left", ypos="head") pass - "\"That won't be enough, [hermione_name]...\"": + "\"That won't be enough, [name_hermione_genie]...\"": gen "I'm not giving Gryffindor {number=current_payout} whole points for a mere glimpse..." ("angry", xpos="far_left", ypos="head") her "But--" ("open", "wide", "base", "stare") gen "No buts! You are dismissed." ("base", xpos="far_left", ypos="head") - her "Please, [genie_name]. I need those points!" ("disgust", "happyCl", "worried", "mid") + her "Please, [name_genie_hermione]. I need those points!" ("disgust", "happyCl", "worried", "mid") gen "Then might I suggest you put in some work to earn them..." ("base", xpos="far_left", ypos="head") her "(................)" ("annoyed", "narrow", "angry", "R") gen "Have a nice day, Miss Granger." ("base", xpos="far_left", ypos="head") @@ -148,23 +154,24 @@ label hg_pf_admire_breasts_T1_intro_E1: call her_walk(action="leave") - $ her_mood += 3 - $ hg_pf_admire_breasts.fail() + $ states.her.mood += 3 - gen "Well.. Next time I guess." ("base", xpos="far_left", ypos="head") + gen "(Well... Next time, I guess.)" ("base", xpos="far_left", ypos="head") - jump main_room_menu + # Event resets. (No progress) + $ _event.cancel() + jump end_hermione_event - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "(................)" ("annoyed", "narrow", "angry", "R") if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") call ctc - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") her "" ("annoyed", "narrow", "angry", "R") call ctc @@ -174,13 +181,13 @@ label hg_pf_admire_breasts_T1_intro_E1: her "Sir?" ("clench", "base", "angry", "mid") gen "(I wonder what cup size those are.)" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("top") with d3 pause .5 her "Sir, I would like to have my points now." ("open", "closed", "angry", "mid") - gen "What? Oh yes. Of course..." ("base", xpos="far_left", ypos="head") + gen "What? Oh, yes... Of course." ("base", xpos="far_left", ypos="head") call hide_characters show screen blkfade @@ -191,9 +198,12 @@ label hg_pf_admire_breasts_T1_intro_E1: label hg_pf_admire_breasts_T1_intro_E2: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], Is it just me?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], Is it just me?" ("base", xpos="far_left", ypos="head") gen "Or is it getting really hot in here?!" ("grin", xpos="far_left", ypos="head") her "Sir...?" ("open", "wink", "base", "mid") gen "Take off your top for me, would you..." ("base", xpos="far_left", ypos="head") @@ -236,12 +246,13 @@ label hg_pf_admire_breasts_T1_intro_E2: call her_walk(action="leave") - $ her_mood += 6 - $ hg_pf_admire_breasts.fail() + $ states.her.mood += 6 - gen "Bummer.." ("base", xpos="far_left", ypos="head") + gen "Bummer..." ("base", xpos="far_left", ypos="head") - jump main_room_menu + # Event resets. (No progress) + $ _event.cancel() + jump end_hermione_event call hg_pf_admire_breasts_T1 @@ -250,9 +261,12 @@ label hg_pf_admire_breasts_T1_intro_E2: label hg_pf_admire_breasts_T1_E2: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], how would you like to lift up your top for me?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], how would you like to lift up your top for me?" ("base", xpos="far_left", ypos="head") her "Will I be getting points for this, Sir?" ("annoyed", "base", "angry", "mid") gen "Of course. {number=current_payout} points, as always." ("grin", xpos="far_left", ypos="head") her "(...............)" ("annoyed", "base", "angry", "mid") @@ -265,22 +279,25 @@ label hg_pf_admire_breasts_T1_E2: label hg_pf_admire_breasts_T1: # Call label - call play_music("chipper_doodle") # HERMIONE'S THEME. + + $ states.her.status.show_bra = True + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "............." ("annoyed", "base", "worried", "R") if hermione.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") call ctc - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") her "" ("annoyed", "base", "worried", "R") call ctc gen "............." ("base", xpos="far_left", ypos="head") - gen "Very good, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Very good, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Can I get my points then?" ("disgust", "happyCl", "worried", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") @@ -291,43 +308,46 @@ label hg_pf_admire_breasts_T1: # Call label ### Tier 2 ### # Hermione will bare her breasts after some convincing. -# Event 1 (i) - Choice: Pay Hermione more points to lift up her top without bra. +# Event 1 (i) - Choice: Pay Hermione more points take off top and bra. # Event 2 (i) - Hermione will lift up her top. # Event 3 (r) - Hermione will lift up her top. label hg_pf_admire_breasts_T2_intro_E1: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("normal", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]..." ("normal", "base", "base", "mid") gen "How much will it cost me to see your tits?" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 - if not hg_pf_admire_breasts_no_points: + if not states.her.ev.admire_breasts.T2_intro_E1_failed: her "How much will it cost you to...?" ("open", "base", "base", "mid") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "[genie_name]!" ("scream", "closed", "angry", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "[name_genie_hermione]!" ("scream", "closed", "angry", "mid") gen "*Hmm*... I thought your house could use some extra points..." ("base", xpos="far_left", ypos="head") gen "But I guess I was wrong..." ("base", xpos="far_left", ypos="head") her ".........?" ("open", "base", "base", "mid") gen "Please don't mind me..." ("base", xpos="far_left", ypos="head") gen "All I want to do is help you..." ("base", xpos="far_left", ypos="head") her "............." ("annoyed", "base", "worried", "R") - her "Two hundred house points, [genie_name]." ("normal", "happyCl", "worried", "mid") - gen "So if I give you two hundred house points, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Two hundred house points, [name_genie_hermione]." ("normal", "happyCl", "worried", "mid") + gen "So if I give you two hundred house points, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "You will shamelessly bare your melons before me?" ("base", xpos="far_left", ypos="head") - her "[genie_name]! No need to be so vulgar!" ("angry", "base", "angry", "mid") + her "[name_genie_hermione]! No need to be so vulgar!" ("angry", "base", "angry", "mid") else: her "How much..." ("open", "base", "base", "mid") - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "This again?!" ("angry", "base", "angry", "mid") gen "Just asking..." ("base", xpos="far_left", ypos="head") her "I already told you... Two hundred points..." ("angry", "narrow", "worried", "mid") - gen "*Hmm*... That's a lot, just to have you show me your tits don't you think?" ("base", xpos="far_left", ypos="head") + gen "*Hmm*... That's a lot, just to have you show me your tits, don't you think?" ("base", xpos="far_left", ypos="head") her "Two hundred!" ("disgust", "narrow", "angry", "R") - gen "How about a pat on the back and a snickers bar to help with that terrible mood of yours?" ("base", xpos="far_left", ypos="head") + gen "How about a pat on the back and a Snickers bar to help with that terrible mood of yours?" ("base", xpos="far_left", ypos="head") her "I think I'd better go..." menu: @@ -336,39 +356,39 @@ label hg_pf_admire_breasts_T2_intro_E1: her "Really?" ("open", "base", "base", "mid") gen "Well?" ("base", xpos="far_left", ypos="head") her "......................................" ("annoyed", "base", "worried", "R") - her "You have to promise me not to touch them, [genie_name]." + her "You have to promise me not to touch them, [name_genie_hermione]." gen "Sure, sure..." ("base", xpos="far_left", ypos="head") - her "I am only doing this for the honour of my house, [genie_name]!" ("scream", "happyCl", "worried", "mid") + her "I am only doing this for the honour of my house, [name_genie_hermione]!" ("scream", "happyCl", "worried", "mid") pass "\"I will give you five points to see your tits.\"": her "Five?!" ("scream", "wide", "base", "mid") - her "[genie_name], I am not going to expose myself for a meagre five points!" ("angry", "base", "angry", "mid",emote="angry") - gen "Well, your tits sure aren't worth two hundred, [hermione_name]!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I am not going to expose myself for a meagre five points!" ("angry", "base", "angry", "mid",emote="angry") + gen "Well, your tits sure aren't worth two hundred, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") her "(They aren't?)" ("annoyed", "narrow", "worried", "down") her "Maybe one hundred - then?" ("annoyed", "narrow", "angry", "R") menu: "\"Fine. A hundred it is! Bare them already!\"": $ current_payout = 100 - $ her_mood = 0 + $ states.her.mood = 0 her "................." ("annoyed", "wide", "base", "stare") her "A hundred points..." ("annoyed", "base", "base", "R") her "So be it..." ("mad", "narrow", "base", "R") - her "You have to promise me not to touch them, [genie_name]." + her "You have to promise me not to touch them, [name_genie_hermione]." gen "Sure, sure..." ("base", xpos="far_left", ypos="head") her "So be it..." ("smile", "happyCl", "base", "mid") pass - "\"Twenty-five house points that's my final offer!\"": + "\"Twenty-five house points, that's my final offer!\"": $ current_payout = 25 - $ her_mood += 9 + $ states.her.mood += 9 her "..............." ("annoyed", "narrow", "worried", "down") - her "You have to promise me not to touch them, [genie_name]." + her "You have to promise me not to touch them, [name_genie_hermione]." gen "Sure, sure..." ("base", xpos="far_left", ypos="head") her "Well, so be it..." ("clench", "narrow", "base", "down") @@ -382,28 +402,32 @@ label hg_pf_admire_breasts_T2_intro_E1: gen "... She really left." ("base", xpos="far_left", ypos="head") gen "Maybe I have pushed her a bit too hard." ("base", xpos="far_left", ypos="head") - $ her_mood += 12 - $ hg_pf_admire_breasts.fail() - $ hg_pf_admire_breasts_no_points = True + $ states.her.mood += 12 + $ states.her.ev.admire_breasts.T2_intro_E1_failed = True #repeat writing + # Event resets. (No progress) + $ _event.cancel() jump end_hermione_event jump hg_pf_admire_breasts_T2 label hg_pf_admire_breasts_T2_intro_E2: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], how would you like to show me your breasts again?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], how would you like to show me your breasts again?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "I'd rather not, [genie_name]..." ("annoyed", "narrow", "annoyed", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "I'd rather not, [name_genie_hermione]..." ("annoyed", "narrow", "annoyed", "mid") gen "Are you sure?" ("base", xpos="far_left", ypos="head") gen "You could earn twenty-five house points for it!" ("grin", xpos="far_left", ypos="head") her "............." ("annoyed", "base", "worried", "R") - her "Very well, [genie_name]." ("angry", "base", "angry", "mid") - her "But you better keep your hands to yourself!" ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Don't you dare touch them!" ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "You need to promise me, [genie_name]!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her "Very well, [name_genie_hermione]." ("angry", "base", "angry", "mid") + her @ cheeks blush "But you better keep your hands to yourself!" ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Don't you dare touch them!" ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "You need to promise me, [name_genie_hermione]!" ("annoyed", "narrow", "angry", "R") gen "Of course. I promise I won't touch..." ("base", xpos="far_left", ypos="head") $ current_payout = 25 @@ -411,15 +435,18 @@ label hg_pf_admire_breasts_T2_intro_E2: jump hg_pf_admire_breasts_T2 label hg_pf_admire_breasts_T2_E2: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], I would very much like to see your breasts again!" ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie], I would very much like to see your breasts again!" ("grin", xpos="far_left", ypos="head") her "............." ("annoyed", "base", "worried", "R") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "Very well, [genie_name]." ("angry", "base", "angry", "mid") - her "But you are not allowed to touch them!" ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Promise me, [genie_name]!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "Very well, [name_genie_hermione]." ("angry", "base", "angry", "mid") + her @ cheeks blush "But you are not allowed to touch them!" ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Promise me, [name_genie_hermione]!" ("annoyed", "narrow", "angry", "R") gen "Of course. I promise..." ("base", xpos="far_left", ypos="head") $ current_payout = 25 @@ -435,13 +462,16 @@ label hg_pf_admire_breasts_T2_E2: # Event 2 (r) - Hermione will lift up her top. label hg_pf_admire_breasts_T3_intro_E1: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("annoyed", "narrow", "angry", "R") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("annoyed", "narrow", "angry", "R") gen "I need to see your tits." ("base", xpos="far_left", ypos="head") - her "............" ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Do you promise not to touch, [genie_name]?" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "............" ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Do you promise not to touch, [name_genie_hermione]?" ("annoyed", "narrow", "angry", "R") gen "Of course." ("base", xpos="far_left", ypos="head") $ current_payout = 25 @@ -449,10 +479,13 @@ label hg_pf_admire_breasts_T3_intro_E1: jump hg_pf_admire_breasts_T3 label hg_pf_admire_breasts_T3_E1: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "I need to see your tits, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Are you only going to watch, [genie_name]?" ("angry", "happyCl", "worried", "mid", cheeks="blush") + gen "I need to see your tits, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Are you only going to watch, [name_genie_hermione]?" ("angry", "happyCl", "worried", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") $ current_payout = 25 @@ -461,7 +494,7 @@ label hg_pf_admire_breasts_T3_E1: ### Tier 4 ### -# Hermione is more than ok with showing you her tits now. +# Hermione is more than okay with showing you her tits now. # She doesn't mind if you touch them. # Event 1 (i) - Hermione will lift up her top. @@ -469,30 +502,36 @@ label hg_pf_admire_breasts_T3_E1: # Event 3 (r) - Hermione will lift up her top. label hg_pf_admire_breasts_T4_intro_E1: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("soft", "narrow", "base", "mid_soft") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("soft", "narrow", "base", "mid_soft") gen "Did I ever tell you what magnificent tits you have?" ("base", xpos="far_left", ypos="head") - her "............" ("clench", "narrow", "base", "down", cheeks="blush") - her "Why do you have to be so vulgar, [genie_name]?!" ("clench", "happyCl", "worried", "mid", cheeks="blush") - gen "Just take the compliment and come a bit closer to show them to me..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("base", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "............" ("clench", "narrow", "base", "down") + her @ cheeks blush "Why do you have to be so vulgar, [name_genie_hermione]?!" ("clench", "happyCl", "worried", "mid") + gen "Just take the compliment, and show them to me..." ("base", xpos="far_left", ypos="head") - her "Are you only going to watch, [genie_name]?" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Are you only going to watch, [name_genie_hermione]?" ("angry", "narrow", "worried", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Alright then..." ("soft", "narrow", "worried", "down") $ current_payout = 25 jump hg_pf_admire_breasts_T4 label hg_pf_admire_breasts_T4_E1: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "I need to see your tits, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("base", "narrow", "base", "up", cheeks="blush") + gen "I need to see your tits, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course, [name_genie_hermione]." ("open", "base", "base", "mid") - her "Are you only going to watch, [genie_name]?" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "You're only going to watch, right?" ("open", "closed", "worried", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") $ current_payout = 25 @@ -500,12 +539,15 @@ label hg_pf_admire_breasts_T4_E1: jump hg_pf_admire_breasts_T4 label hg_pf_admire_breasts_T4_E2: + + call start_hg_pf_admire_breasts + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "I have to see your marvellous knockers, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("base", "narrow", "base", "up", cheeks="blush") + gen "I have to see your marvellous knockers, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course, [name_genie_hermione]." ("open", "base", "base", "mid") - her "Are you only going to watch, [genie_name]?" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Are you only going to watch, [name_genie_hermione]?" ("open", "closed", "worried", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") $ current_payout = 25 diff --git a/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy b/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy index d1974d07..61022266 100644 --- a/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy +++ b/game/scripts/characters/hermione/events/favors/show_me_your_tits_branches.rpy @@ -3,7 +3,6 @@ label hg_pf_admire_breasts_transition: stop music fadeout 1.0 call hide_characters - hide screen bld1 hide screen blktone with d3 pause.2 @@ -12,7 +11,7 @@ label hg_pf_admire_breasts_transition: if hermione.is_worn("robe"): pause .4 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") pause 1.2 @@ -20,25 +19,25 @@ label hg_pf_admire_breasts_transition: $ hermione.strip("top", "bra", "accessory") call her_chibi("lift_top","mid","base") pause 1.4 - $ renpy.sound.play("sounds/boing02.ogg") + play sound "sounds/boing02.ogg" pause 2.0 elif hermione.is_any_worn("top", "bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra", "accessory") pause 2.0 else: - $ hermione.strip("accessory") + $ hermione.strip("accessory", "bra") + pause 2.0 - her "" ("angry", "happyCl", "base", "down", cheeks="blush", trans=d3) + her @ cheeks blush "" ("angry", "happyCl", "base", "down", trans=d3) call ctc gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - if her_tier <= 2: - her "{size=-5}(My breasts are completely exposed...){/size}" ("disgust", "narrow", "base", "down", cheeks="blush") - gen "Come closer [hermione_name], let me take a better look..." ("base", xpos="far_left", ypos="head") + if states.her.tier <= 2: + her @ cheeks blush "{size=-5}(My breasts are completely exposed...){/size}" ("disgust", "narrow", "base", "down") + gen "Come closer [name_hermione_genie], let me take a better look..." ("base", xpos="far_left", ypos="head") # Move to desk - hide screen bld1 call her_chibi("stand","mid","base") with d3 pause.2 @@ -51,27 +50,27 @@ label hg_pf_admire_breasts_transition: call her_chibi_scene("behind_desk_front_show_tits", trans=fade) pause .5 - if her_tier <= 2: - her "............" ("annoyed", "narrow", "angry", "R", cheeks="blush", xpos="mid", ypos="base") + if states.her.tier <= 2: + her @ cheeks blush "............" ("annoyed", "narrow", "angry", "R", xpos="mid", ypos="base") gen "Very good..." ("base", xpos="far_left", ypos="head") - her "....." ("annoyed", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "....." ("annoyed", "base", "angry", "mid") call ctc her "...................................." ("annoyed", "narrow", "annoyed", "mid") - elif her_tier == 3: + elif states.her.tier == 3: her "" ("base", "closed", "base", "mid", xpos="mid", ypos="base") gen "Very good..." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. her "...................................." else: - her "" ("base", "narrow", "base", "mid_soft", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "" ("base", "narrow", "base", "mid_soft", xpos="mid", ypos="base") gen "Very good..." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # SEX THEME. - her "............" ("base", "narrow", "base", "mid_soft", cheeks="blush") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her @ cheeks blush "............" ("base", "narrow", "base", "mid_soft") call ctc return @@ -79,10 +78,12 @@ label hg_pf_admire_breasts_transition: label hg_pf_admire_breasts_T2: + $ states.her.status.show_tits = True + call hg_pf_admire_breasts_transition menu: - "-Break your promise. Grab the tits!-": # Event will fail. + "-Break your promise. Grab the tits!-": # Hermione gets mad. jump hg_pf_admire_breasts_T2_touch "-Keep promise. Admire visually-": @@ -90,27 +91,27 @@ label hg_pf_admire_breasts_T2: jump end_hg_pf_admire_breasts - "-Start jerking off-": # 2/3 branches will fail. + "-Start jerking off-": # 2/3 branches Hermione gets mad. jump hg_pf_admire_breasts_T2_masturbate label hg_pf_admire_breasts_T2_promise: # Call label - ">You take a long look at Hermione's naked tits..." + nar "You take a long look at Hermione's naked tits..." #First time event. - #if her_whoring >= 6 and her_whoring <= 8: + #if states.her.level >= 6 and states.her.level <= 8: call ctc menu: "-Nod your head in approval-": - ">You Look at the girl's tits for a while and then nod in approval..." + nar "You Look at the girl's tits for a while and then nod in approval..." her "......................" return "-Shake your head in disapproval-": - $ her_mood += 3 - ">You Look at the girl's tits for a while and then shake your head in disappointment..." + $ states.her.mood += 3 + nar "You Look at the girl's tits for a while and then shake your head in disappointment..." her ".....................?!" return @@ -118,157 +119,183 @@ label hg_pf_admire_breasts_T2_promise: # Call label label hg_pf_admire_breasts_T2_touch: # Not a Call label #Event Fails - # if her_whoring >= 6 and her_whoring <= 8: + # if states.her.level >= 6 and states.her.level <= 8: hide hermione_main show screen blkfade with d3 - call bld - ">You reach out and dig your fingers into the girl's ample flesh..." - her "[genie_name], what are you doing?" ("mad", "wide", "base", "stare", cheeks="blush") + nar "You reach out and dig your fingers into the girl's ample flesh..." + her @ cheeks blush "[name_genie_hermione], what are you doing?" ("mad", "wide", "base", "stare") # Start Groping call her_chibi_scene("grope_tits") call ctc - gen "Relax, [hermione_name]. Just stand still!" ("base", xpos="far_left", ypos="head") + gen "Relax, [name_hermione_genie]. Just stand still!" ("base", xpos="far_left", ypos="head") gen "Oh... Those are some nice titties you've got..." ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "No, [genie_name], please! You mustn't do this..." ("shock", "happyCl", "worried", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "No, [name_genie_hermione], please! You mustn't do this..." ("shock", "happyCl", "worried", "mid") gen "This won't take long, just stand still." ("base", xpos="far_left", ypos="head") - her "[genie_name], I didn't agree to this!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], I didn't agree to this!" ("angry", "base", "angry", "mid") with hpunch - her "You must unhand me now!!!" ("scream", "base", "angry", "mid", cheeks="blush",emote="angry") + her @ cheeks blush "You must unhand me now!!!" ("scream", "base", "angry", "mid",emote="angry") # End Groping show screen blkfade with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - ">Hermione pulls away from you and covers up hastily." + play sound "sounds/cloth_sound3.ogg" + nar "Hermione pulls away from you and covers up hastily." $ hermione.wear("all") call her_chibi_scene("reset", "desk", "base", trans=fade) pause .5 - her "I think I'd better go..." ("angry", "happyCl", "worried", "mid", cheeks="blush", xpos="mid", ypos="base") - gen "Go ahead, [hermione_name]. You are not getting paid if you do..." ("base", xpos="far_left", ypos="head") - her "But I showed you my..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "And you touched me..." ("angry", "base", "angry", "mid", cheeks="blush") - her "And I am getting nothing in return?" ("scream", "base", "angry", "mid", cheeks="blush",emote="angry") - gen "You are dismissed, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "*Grr*.........." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-5}(Burn in hell, you wretched old--){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "I think I'd better go..." ("angry", "happyCl", "worried", "mid", xpos="mid", ypos="base") + gen "Go ahead, [name_hermione_genie]. You are not getting paid if you do..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But I showed you my..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "And you touched me..." ("angry", "base", "angry", "mid") + her @ cheeks blush "And I am getting nothing in return?" ("scream", "base", "angry", "mid",emote="angry") + gen "You are dismissed, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Grr*.........." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-5}(Burn in hell, you wretched old--){/size}" ("angry", "happyCl", "worried", "mid") call her_walk(action="leave") - $ her_mood += 22 + $ states.her.mood += 22 jump end_hermione_event label hg_pf_admire_breasts_T2_masturbate: # Not a Call label - $ her_mood += 2 - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.her.mood += 2 + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main with d3 - ">You take your cock out and start stroking it..." + nar "You take your cock out and start stroking it..." show screen blkfade with d3 - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "[genie_name]?!!" ("angry", "wide", "base", "stare") - gen "Just stand still, [hermione_name]..." ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "[name_genie_hermione]?!!" ("angry", "wide", "base", "stare") + gen "Just stand still, [name_hermione_genie]..." # Start Jerking Off. - hide screen bld1 hide screen blktone call her_chibi_scene("grope_tits_jerk_off", trans=fade) - if hg_jerkoff.trigger == False: + if not states.her.status.voyer: $ achievements.unlock("busted") - $ hg_pf_talk.change_icon(a="heart_half", b="heart_red") - $ hg_jerkoff.triggered() # .trigger = True, .counter += 1 + $ states.her.status.voyer = True call ctc - call bld - call nar(">You stare at Hermione's breasts with hunger...") - her "[genie_name], what are you...?" ("shock", "happyCl", "worried", "mid") - call nar(">You keep stroking your hard cock...") - her "[genie_name], no..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "You must... Put it away..." ("disgust", "narrow", "base", "down", cheeks="blush") - gen "Stop whining [hermione_name]. I'm not touching you, am I?" ("base", xpos="far_left", ypos="head") - her "But..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "But I didn't agree to this!" ("angry", "base", "angry", "mid", cheeks="blush") - her "I..." ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "I think I'd better leave now!" ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "You stare at Hermione's breasts with hunger..." + her "[name_genie_hermione], what are you...?" ("shock", "happyCl", "worried", "mid") + nar "You keep stroking your hard cock..." + her @ cheeks blush "[name_genie_hermione], no..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "You must... Put it away..." ("disgust", "narrow", "base", "down") + gen "Stop whining [name_hermione_genie]. I'm not touching you, am I?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "But I didn't agree to this!" ("angry", "base", "angry", "mid") + her @ cheeks blush "I..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "I think I'd better leave now!" ("angry", "happyCl", "worried", "mid") menu: "\"Leave now, and you'll get no points!\"": - $ her_mood += 30 + $ states.her.mood += 30 - her "After {size=+5}this{/size}? Are you kidding me, [genie_name]?" ("scream", "wide", "base", "stare", cheeks="blush") - her "I showed you my..." ("scream", "wide", "base", "stare", cheeks="blush") - her ".........." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "I am not going to sell you a single favour anymore, [genie_name]!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "After {size=+5}this{/size}? Are you kidding me, [name_genie_hermione]?" ("scream", "wide", "base", "stare") + her @ cheeks blush "I showed you my--" ("scream", "wide", "base", "stare") + her @ cheeks blush ".........." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "I am not going to sell you a single favour anymore, [name_genie_hermione]!" ("angry", "base", "angry", "mid") show screen blkfade with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - ">Hermione pulls away from you and covers up..." - gen "Don't you dare to leave me in this state, [hermione_name]!" ("angry", xpos="far_left", ypos="head") + play sound "sounds/cloth_sound3.ogg" + nar "Hermione pulls away from you and covers up..." + gen "Don't you dare to leave me in this state, [name_hermione_genie]!" $ hermione.wear("all") - call her_chibi_scene("reset","desk","base", trans=fade) + call gen_chibi("jerk_off", 225, "base", flip=True) + call her_chibi("stand","desk","base", flip=False) pause .5 - her "I am not setting a foot into your office ever again, [genie_name]!" ("angry", "squint", "base", "mid", cheeks="blush", xpos="mid", ypos="base") + hide screen blkfade + with d3 - gen "Come on, now. Just say something dirty! I'm almost there!" ("angry", xpos="far_left", ypos="head") - her "You are a horrible person, [genie_name]..." ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + her @ cheeks blush "I am not setting a foot into your office ever again, [name_genie_hermione]!" ("angry", "squint", "base", "mid", xpos="mid", ypos="base") + + gen "Come on now... Just say something dirty! I'm almost there!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush tears messy "You are a horrible person, [name_genie_hermione]..." ("angry", "squint", "base", "mid") call her_walk(action="run", xpos="door", speed=2, reduce=True) - with hpunch - call her_walk(action="leave") + call her_chibi(action="leave") + call gen_chibi("dick_out_shocked", 225, "base", flip=True) + gen "... Balls." ("base", xpos="far_left", ypos="head") + + show screen blkfade + with d5 + + call gen_chibi("sit_behind_desk") + + hide screen blkfade + with d3 jump end_hermione_event "\"Alright, alright. That's enough for now.\"": - $ her_mood += 9 + $ states.her.mood += 9 jump end_hg_pf_admire_breasts "-Start jerking your cock faster-": - $ her_mood += 35 + $ states.her.mood += 35 - ">You start jerking your cock furiously!" - her "No, [genie_name], stop!" ("scream", "base", "angry", "mid", cheeks="blush",emote="angry") - ">You jerk it even faster!" - her "[genie_name], think I will be leaving now..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + nar "You start jerking your cock furiously!" + her @ cheeks blush "No, [name_genie_hermione], stop!" ("scream", "base", "angry", "mid",emote="angry") + nar "You jerk it even faster!" + her @ cheeks blush "[name_genie_hermione], think I will be leaving now..." ("annoyed", "narrow", "angry", "R") gen "No, wait, I'm almost there!" ("angry", xpos="far_left", ypos="head") - her "Ew! [genie_name]!" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Ew! [name_genie_hermione]!" ("angry", "squint", "base", "mid") show screen blkfade with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - ">Hermione pulls away from you and covers up..." + play sound "sounds/cloth_sound3.ogg" + nar "Hermione pulls away from you and covers up..." $ hermione.wear("all") - call her_chibi_scene("reset","desk","base", trans=fade) + call her_chibi("stand","desk","base", flip=False) + call gen_chibi("dick_out_shocked", 225, "base", flip=True) pause .5 - her "I'm leaving!" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I'm leaving!" + + hide screen blkfade + with d3 + call her_walk(action="leave") + gen "... Balls." ("base", xpos="far_left", ypos="head") + + show screen blkfade + with d5 + + call gen_chibi("sit_behind_desk") + + hide screen blkfade + with d3 jump end_hermione_event label hg_pf_admire_breasts_T3: + $ states.her.status.show_tits = True + $ _cumming = False # Checked during end label + call hg_pf_admire_breasts_transition menu: @@ -285,60 +312,60 @@ label hg_pf_admire_breasts_T3: jump end_hg_pf_admire_breasts label hg_pf_admire_breasts_T3_promise: - ">You take a long look at Hermione's naked tits..." - # elif her_whoring >= 9 and her_whoring <= 11: + nar "You take a long look at Hermione's naked tits..." + # elif states.her.level >= 9 and states.her.level <= 11: call ctc menu: - "\"A Nice set of tits you got there.\"": + "\"A nice set of tits you got there.\"": her "" ("annoyed", "closed", "base", "mid") - call ctc + pause .5 her "Thank--" her "..........." ("annoyed", "base", "base", "mid") - her "You are being inappropriate, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") + her "You are being inappropriate, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") return "\"*Hmm*... I've seen better.\"": - $ her_mood += 7 + $ states.her.mood += 7 - her "*Tsk*..." - her "Are we done then?" + her "*Tsk*..." ("soft", "closed", "annoyed", "R") + her "Are we done then?" ("open", "closed", "worried", "mid") return label hg_pf_admire_breasts_T3_touch: - # elif her_whoring >= 9 and her_whoring <= 11: + # elif states.her.level >= 9 and states.her.level <= 11: hide hermione_main show screen blkfade with d3 - ">You reach out and dig your fingers into the girl's ample flesh..." - her "[genie_name], what are you doing?" ("mad", "wide", "base", "stare", cheeks="blush") + nar "You reach out and dig your fingers into the girl's ample flesh..." + her @ cheeks blush "[name_genie_hermione], what are you doing?" ("mad", "wide", "base", "stare") # Start Groping call her_chibi_scene("grope_tits") call ctc - call bld - gen "Relax, [hermione_name]. Just stand still!" ("base", xpos="far_left", ypos="head") - her "I didn't agree to this, [genie_name]..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "I don't think you should..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + gen "Relax, [name_hermione_genie]. Just stand still!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I didn't agree to this, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "I don't think you should..." ("annoyed", "narrow", "angry", "R") gen "Don't you like it...?" ("base", xpos="far_left", ypos="head") - her "What?" ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "What?" ("disgust", "narrow", "base", "down") gen "Don't you like how I squeeze and pull on your breasts?" ("base", xpos="far_left", ypos="head") - her "..............." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..............." ("disgust", "narrow", "base", "down") gen "Admit it, you like it a little bit..." ("base", xpos="far_left", ypos="head") - her "{size=-5}(So strange to see my breasts in someone else's hands...){/size}" ("disgust", "narrow", "base", "down", cheeks="blush") - her "[genie_name], I am letting you do this to me to help my house out, nothing more!" ("shock", "happyCl", "worried", "mid") - her "Please, unhand me now!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "I--" ("disgust", "narrow", "base", "down") + her @ cheeks blush "{size=-5}(I never thought I'd see my breasts in someone else's hands like this...){/size}" ("disgust", "narrow", "base", "down") + her "[name_genie_hermione], I am letting you do this to me to help my house out, nothing more!" ("shock", "happyCl", "worried", "mid") + her @ cheeks blush "Please, unhand me now!" ("annoyed", "narrow", "angry", "R") show screen blkfade with d5 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - ">Hermione pulls away from you suddenly and covers up." + play sound "sounds/cloth_sound3.ogg" + nar "Hermione pulls away from you suddenly, and covers up." $ hermione.wear("all") call her_chibi_scene("reset", "desk", "base") @@ -346,31 +373,31 @@ label hg_pf_admire_breasts_T3_touch: hide screen blkfade with d5 - her "You promised not to touch, [genie_name]..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - gen "It was hard to resist..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You promised not to touch, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") + gen "It was too hard to resist..." ("base", xpos="far_left", ypos="head") pause.8 - her "............." ("soft", "base", "base", "R", cheeks="blush") - her "Can I get paid now please?" ("angry", "happyCl", "worried", "mid", cheeks="blush",emote="sweat") + her @ cheeks blush "............." ("soft", "base", "base", "R") + her @ cheeks blush "Can I get paid now, please?" ("angry", "happyCl", "worried", "mid",emote="sweat") gen "Sure..." ("base", xpos="far_left", ypos="head") - $ her_mood += 9 + $ states.her.mood += 9 return label hg_pf_admire_breasts_T3_masturbate: - # elif her_whoring >= 9 and her_whoring <= 11: + # elif states.her.level >= 9 and states.her.level <= 11: hide hermione_main show screen blkfade with d3 - ">You take your cock out and start stroking it..." + nar "You take your cock out and start stroking it..." - her "[genie_name]?" ("angry", "wide", "base", "stare") - ">You stare at Hermione's breasts with hunger..." + her "[name_genie_hermione]?" ("angry", "wide", "base", "stare") + nar "You stare at Hermione's breasts with hunger..." #Start Jerking Off. hide screen bld1 @@ -378,50 +405,55 @@ label hg_pf_admire_breasts_T3_masturbate: call her_chibi_scene("grope_tits_jerk_off", trans=fade) call ctc - her "[genie_name], I didn't agree to this..." ("shock", "happyCl", "worried", "mid") - gen "What are you complaining about, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I didn't agree to this..." ("shock", "happyCl", "worried", "mid") + gen "What are you complaining about, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") gen "I'm not even touching you..." ("base", xpos="far_left", ypos="head") - her "Yes, but you are... touching yourself, [genie_name]." ("shock", "happyCl", "worried", "mid") - call nar(">You pick up the pace...") - gen "just stand still, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "Yes, but you are... Touching yourself, [name_genie_hermione]." ("shock", "happyCl", "worried", "mid") + + nar "You pick up the pace..." + + gen "just stand still, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "It will be over soon." ("base", xpos="far_left", ypos="head") her ".................." ("shock", "happyCl", "worried", "mid") - her "(It's so big...)" ("disgust", "narrow", "base", "down", cheeks="blush") - gen "Yes... Yes, like this..." ("base", xpos="far_left", ypos="head") - gen "Yes, with your tits all naked..." ("base", xpos="far_left", ypos="head") - her ".............." ("disgust", "narrow", "base", "down", cheeks="blush") - her "well, so be it..." ("open", "base", "base", "R", cheeks="blush") - her "You can keep touching yourself, [genie_name]..." ("open", "base", "base", "R", cheeks="blush") - her "But you must promise me not to..." ("soft", "base", "base", "R", cheeks="blush") - her "Not to... *Ehm*..." ("open", "base", "base", "R", cheeks="blush") - her "Not to discharge..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Not in front of me, [genie_name]..." ("angry", "base", "angry", "mid") + her @ cheeks blush "(It's so big...)" ("disgust", "narrow", "base", "down") + gen "Yes... Yes, just like that..." ("base", xpos="far_left", ypos="head") + gen "Tits bare, and nipples perked..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush ".............." ("disgust", "narrow", "base", "down") + her @ cheeks blush "Well, so be it..." ("open", "base", "base", "R") + her @ cheeks blush "You can keep touching yourself, [name_genie_hermione]..." ("open", "base", "base", "R") + her @ cheeks blush "But you must promise me not to..." ("soft", "base", "base", "R") + her @ cheeks blush "Not to... *Ehm*..." ("open", "base", "base", "R") + her @ cheeks blush "Not to discharge..." ("annoyed", "narrow", "angry", "R") + her "Not in front of me, [name_genie_hermione]..." ("angry", "base", "angry", "mid") gen "Fine, whatever..." ("base", xpos="far_left", ypos="head") - gen "Oh, you little slut. You nasty little slut!" ("base", xpos="far_left", ypos="head") - her "......................." ("angry", "happyCl", "worried", "mid", cheeks="blush") - call nar(">You start to stroke your cock even harder...") - gen "Yes, I know you want this! Yes!" ("angry", xpos="far_left", ypos="head") - her "................" ("angry", "happyCl", "worried", "mid", cheeks="blush") + gen "(But we both know you want it... You nasty little slut!)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "......................." ("angry", "happyCl", "worried", "mid") - ">You are about to cum..." + nar "You begin stroking your cock even faster..." + gen "Yes, you do! Yes!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "................" ("angry", "happyCl", "worried", "mid") + + gen "*Ngh*--" ("angry", xpos="far_left", ypos="head") menu: "-Hold it as promised-": gen "Oh, alright..." ("base", xpos="far_left", ypos="head") gen "I'd better stop now I suppose..." ("base", xpos="far_left", ypos="head") - gen "(Fuck me that hurts...)" ("angry", xpos="far_left", ypos="head") - her "..............." ("angry", "happyCl", "worried", "mid", cheeks="blush") + gen "(Fuck me, that hurts...)" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "..............." ("angry", "happyCl", "worried", "mid") show screen blkfade with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - ">Hermione quickly scoots around your desk and covers up..." + play sound "sounds/cloth_sound3.ogg" + nar "Hermione quickly scoots around your desk and covers up..." return "-Just start cumming-": + $ states.her.status.cumshot = True + $ _cumming = True gen "*Argh*! You whore!" ("angry", xpos="far_left", ypos="head") - her "Proff--?" ("scream", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "Proff--?" ("scream", "wide", "base", "stare") call cum_block gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") hide screen bld1 @@ -440,20 +472,26 @@ label hg_pf_admire_breasts_T3_masturbate: - her "[genie_name], no, you promised!" ("scream", "base", "angry", "mid", cheeks="blush",emote="angry") - gen "Oh, this is great, yes..." ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], you promised!" ("scream", "base", "angry", "mid",emote="angry") + gen "*Ah*... That was amazing!" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("grope_tits_cum_done") - her "[genie_name], how could you...?" ("angry", "squint", "base", "mid", cheeks="blush") - gen "Oh, this was quite amazing..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], how could you...?" ("angry", "squint", "base", "mid") + menu: + "\"Very easily.\"": + gen "I just tug on it, like so, and white stuff comes out!" ("base", xpos="far_left", ypos="head") + gen "You should try it sometime." ("base", xpos="far_left", ypos="head") + "\"What do you mean?\"": + gen "This is a great look for you!" ("base", xpos="far_left", ypos="head") + gen "We should do this more often." ("base", xpos="far_left", ypos="head") her "" ("disgust", "narrow", "base", "down", xpos="mid", ypos="base") call ctc her "My body..." her "It's been defiled..." - gen "Don't worry, I will give you your house points, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Don't worry, I will give you your house points, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You did good." ("base", xpos="far_left", ypos="head") her "................" @@ -463,7 +501,7 @@ label hg_pf_admire_breasts_T3_masturbate: show screen blkfade with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("all") $ hermione.set_cum(None) call her_chibi("stand","desk","base") @@ -476,12 +514,12 @@ label hg_pf_admire_breasts_T3_masturbate: her "" ("angry", "base", "angry", "mid") call ctc - her "How could you do this to me, [genie_name]?!" + her "How could you do this to me, [name_genie_hermione]?!" her "You gave me your word!" hide hermione_main with d3 - $ her_mood += 45 + $ states.her.mood += 45 return @@ -506,26 +544,22 @@ label hg_pf_admire_breasts_T4: jump end_hg_pf_admire_breasts label hg_pf_admire_breasts_T4_look: # Call label - ">You take a long look at Hermione's naked tits..." - # elif her_whoring >= 12: - call ctc + nar "You take a long look at Hermione's naked tits..." menu: - "\"You have great tits, [hermione_name].\"": - her "You really think so [genie_name]?" ("annoyed", "base", "base", "mid") - her "I am glad you like them, [genie_name]..." ("base", "closed", "base", "mid") + "\"You have great tits, [name_hermione_genie].\"": + her "You really think so [name_genie_hermione]?" ("annoyed", "base", "base", "mid") + her "I am glad you like them, [name_genie_hermione]..." ("base", "closed", "base", "mid") "\"Your tits are alright I suppose...\"": - her "*huh*?" ("annoyed", "base", "base", "mid") - her "Does this mean you don't like them, [genie_name]?" + her "*Huh*?" ("annoyed", "base", "base", "mid") + her "Does this mean you don't like them, [name_genie_hermione]?" her "I'm sorry..." ("disgust", "narrow", "base", "down") - call blktone - ">You stare at her breasts for a while longer..." - call hide_blktone + nar "You stare at her breasts for a while longer..." call ctc - gen "Alright, we're done here, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Alright, we're done here, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "............." pause.5 @@ -537,68 +571,66 @@ label hg_pf_admire_breasts_T4_look: # Call label label hg_pf_admire_breasts_T4_touch: # Call label # Event Also Succeeds - # elif her_whoring >= 12: hide hermione_main show screen blkfade with d3 - ">You reach out and dig your fingers into the girl's ample flesh..." - her "[genie_name], what are you doing?" ("mad", "wide", "base", "stare", cheeks="blush") + nar "You reach out and dig your fingers into the girl's ample flesh..." + her @ cheeks blush "[name_genie_hermione], what are you doing?" ("mad", "wide", "base", "stare") # Start Groping call her_chibi_scene("grope_tits") call ctc call bld - gen "Relax, [hermione_name]. Just stand still!" ("base", xpos="far_left", ypos="head") - her "But..." ("disgust", "narrow", "base", "down", cheeks="blush") + gen "Relax, [name_hermione_genie]. Just stand still!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But..." ("disgust", "narrow", "base", "down") her "*Ah*...{heart}" ("shock", "happyCl", "worried", "mid") - her "I didn't agree to this..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I didn't agree to this..." ("disgust", "narrow", "base", "down") gen "But you like it, don't you?" ("base", xpos="far_left", ypos="head") - if her_whoring >= 17: - her "I love it [genie_name]!{heart}" ("open", "base", "base", "R", cheeks="blush") + if states.her.level >= 17: + her @ cheeks blush "I love it [name_genie_hermione]!{heart}" ("open", "base", "base", "R") else: - her "I do not, [genie_name]!{heart}" ("shock", "happyCl", "worried", "mid") + her "I do not, [name_genie_hermione]!{heart}" ("shock", "happyCl", "worried", "mid") - call blktone - ">You give her tits a couple of firm squeezes..." - call hide_blktone + nar "You give Hermione's tits a couple of firm squeezes..." - if her_whoring >= 17: - her "[genie_name], you promised not to touch..." ("base", "base", "base", "R", cheeks="blush") + if states.her.level >= 17: + her @ cheeks blush "[name_genie_hermione], you promised not to touch..." ("base", "base", "base", "R") gen "I know, I know... But it's hard to resist..." ("base", xpos="far_left", ypos="head") - her ".................{heart}{heart}{heart}" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush ".................{heart}{heart}{heart}" ("base", "narrow", "base", "up") else: - her "[genie_name], you promised not to touch..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], you promised not to touch..." ("angry", "happyCl", "worried", "mid") gen "I know, I know... But it's hard to resist..." ("base", xpos="far_left", ypos="head") - her "................." ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "................." ("angry", "base", "angry", "mid") - her ".................... *Ah*...{heart}" ("base", "narrow", "base", "up", cheeks="blush") - her "[genie_name], you need to stop now..." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush ".................... *Ah*...{heart}" ("base", "narrow", "base", "up") + her @ cheeks blush "[name_genie_hermione], you need to stop now..." ("base", "narrow", "base", "up") gen "Just a bit longer..." ("base", xpos="far_left", ypos="head") - call nar(">You keep on massaging the girl's breasts...") + nar "You keep on massaging the girl's breasts..." - her "[genie_name]... please, stop this..." ("open", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]... Please, stop this..." ("open", "narrow", "base", "up") gen "Why? Because you like it too much?" ("base", xpos="far_left", ypos="head") - if her_whoring < 17: - her "No it's not that..." ("base", "base", "base", "R", cheeks="blush") - her "I mean..." ("open", "base", "base", "R", cheeks="blush") - - call nar(">You pull the tits in opposite directions and then squish them together...") - - her "*Ah*...{heart} [genie_name], I really need to go..." ("base", "narrow", "base", "up", cheeks="blush") - if game.daytime: - her "That's right... the classes are about to start..." ("open", "base", "base", "R", cheeks="blush") + if states.her.level < 17: + her @ cheeks blush "No it's not that..." ("angry", "narrow", "base", "R") else: - her "It is getting late..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "I mean..." ("base", "base", "base", "R") + + nar "You pull her breasts in opposite directions, and then squish them together..." + + her @ cheeks blush "*Ah*...{heart} [name_genie_hermione]... I really need to go." ("angry", "narrow", "base", "up") + if game.daytime: + her @ cheeks blush "Classes are about to start..." ("angry", "narrow", "base", "R") + else: + her @ cheeks blush "It is getting late..." ("open", "narrow", "base", "R") gen "Well, alright..." ("base", xpos="far_left", ypos="head") show screen blkfade with d5 - ">You let go of the girl's breasts..." + nar "You let go of the girl's breasts..." $ hermione.wear("all") #No sound since she might be naked call her_chibi_scene("reset", "desk", "base") @@ -606,87 +638,89 @@ label hg_pf_admire_breasts_T4_touch: # Call label hide screen blkfade with d5 - if her_whoring >= 17: - her "You will have to make it up to me for breaking your promise, [genie_name]." ("base", "base", "base", "R", cheeks="blush") + if states.her.level >= 17: + her @ cheeks blush "You will have to make it up to me for breaking your promise, [name_genie_hermione]." ("base", "base", "base", "R") else: - her "Please don't think I forgot that you broke your promise, [genie_name]." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Please don't think I forgot that you broke your promise, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") gen "Right..." ("base", xpos="far_left", ypos="head") return label hg_pf_admire_breasts_T4_masturbate: # Call label - # elif her_whoring >= 12: hide hermione_main show screen blkfade with d3 - ">You take your cock out and start stroking it..." - her "[genie_name]?" ("base", "narrow", "base", "up", cheeks="blush") - ">You stare at Hermione's breasts with hunger..." + nar "You take your cock out and start stroking it..." + her @ cheeks blush "[name_genie_hermione]?" ("base", "narrow", "base", "up") + nar "You stare at Hermione's breasts with hunger..." # Start Jerking off. - hide screen bld1 - hide screen blktone call her_chibi_scene("grope_tits_jerk_off", trans=fade) call ctc - if her_whoring < 17: - her "[genie_name], actually I never agreed to this..." ("shock", "happyCl", "worried", "mid") - gen "What are you complaining about, [hermione_name]?" ("base", xpos="far_left", ypos="head") + if states.her.level < 17: + her "[name_genie_hermione], I never actually agreed to this..." ("shock", "happyCl", "worried", "mid") + gen "What are you complaining about, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") gen "I'm not even touching you..." ("base", xpos="far_left", ypos="head") - her "Yes, but you are... touching yourself, [genie_name]." ("clench", "happyCl", "worried", "mid") - gen "Just stand still, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "Yes, but you are... touching yourself, [name_genie_hermione]." ("clench", "happyCl", "worried", "mid") + gen "Just stand still, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "It will be over soon." ("base", xpos="far_left", ypos="head") her ".................." ("angry", "happyCl", "worried", "mid") - gen "Yes... Yes, like this..." ("base", xpos="far_left", ypos="head") - gen "Yes, your tits all exposed..." ("base", xpos="far_left", ypos="head") - her ".............." ("disgust", "narrow", "base", "down", cheeks="blush") - her "well, so be it..." ("disgust", "base", "base", "R", cheeks="blush") - her "But you must promise me not to..." ("soft", "base", "base", "R", cheeks="blush") - her "Not to... *Ehm*..." ("open", "base", "base", "R", cheeks="blush") - her "Not to discharge..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Not on me, [genie_name]..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + gen "Yes... Just like that..." ("base", xpos="far_left", ypos="head") + gen "With your tits all exposed..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush ".............." ("disgust", "narrow", "base", "down") + her @ cheeks blush "Well, so be it..." ("disgust", "base", "base", "R") + her @ cheeks blush "But you must promise me not to..." ("soft", "base", "base", "R") + her @ cheeks blush "Not to... *Ehm*..." ("open", "base", "base", "R") + her @ cheeks blush "Not to discharge..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Not on me, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") + gen "Not on you, you say... So, you still don't mind if I finish!" ("base", xpos="far_left", ypos="head") + gen "You nasty little--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]." ("disgust", "narrow", "base", "down") gen "Fine, whatever..." ("base", xpos="far_left", ypos="head") - gen "Oh, you little slut. You nasty little slut!" ("base", xpos="far_left", ypos="head") - her "......................." ("disgust", "narrow", "base", "down", cheeks="blush") - call nar(">You start to stroke your cock even harder...") - gen "Yes, I know you want this! Yes!" ("angry", xpos="far_left", ypos="head") - her "................" ("disgust", "narrow", "base", "down", cheeks="blush") + + nar "You begin stroking your cock even faster..." + + gen "Yes, you want to see your headmaster cum!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "................" ("disgust", "narrow", "base", "down") else: # Different posing than above. - her "*Ah*..." ("base", "narrow", "base", "up", cheeks="blush") - her "It's so big..." ("open", "base", "base", "R", cheeks="blush") - her "You just couldn't help yourself, could you [genie_name]?" ("base", "base", "base", "R", cheeks="blush") - her ".................." ("base", "narrow", "base", "up", cheeks="blush") - gen "Yes... Yes, just like that..." ("base", xpos="far_left", ypos="head") - gen "... with your tits all exposed..." ("base", xpos="far_left", ypos="head") - her ".............." ("base", "narrow", "base", "up", cheeks="blush") - her "well, so be it..." ("open", "base", "base", "R", cheeks="blush") - her "But you must promise me not to..." ("soft", "base", "base", "R", cheeks="blush") - her "Not to... *Ehm*..." ("open", "base", "base", "R", cheeks="blush") - her "Not to cum on me, [genie_name]..." ("base", "narrow", "base", "up", cheeks="blush") - gen "Fine, whatever..." ("base", xpos="far_left", ypos="head") - gen "Oh, you little slut. You nasty little slut!" ("base", xpos="far_left", ypos="head") - her "......................." ("base", "narrow", "base", "up", cheeks="blush") - call nar(">You start to stroke your cock even harder...") - gen "Yes, I know you want this! Yes!" ("angry", xpos="far_left", ypos="head") - her "................" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "*Ah*..." ("base", "narrow", "base", "up") + her @ cheeks blush "It's so big..." ("open", "base", "base", "R") + her @ cheeks blush "You just couldn't help yourself, could you [name_genie_hermione]?" ("base", "base", "base", "R") + her @ cheeks blush ".................." ("base", "narrow", "base", "up") + gen "Yes... Just like that..." ("base", xpos="far_left", ypos="head") + gen "With your tits all exposed..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush ".............." ("base", "narrow", "base", "up") + her @ cheeks blush "Well, so be it..." ("open", "base", "base", "R") + her @ cheeks blush "But you must promise me not to..." ("soft", "base", "base", "R") + her @ cheeks blush "Not to... *Ehm*..." ("open", "base", "base", "R") + her @ cheeks blush "Not to cum on me, [name_genie_hermione]..." ("base", "narrow", "base", "up") + gen "If that's what you want..." ("base", xpos="far_left", ypos="head") + gen "But whether I finish or not, won't be up to you..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "......................." ("base", "narrow", "base", "up") + + nar "You begin stroking your cock even faster..." + + gen "Yes, I'm almost there, I can feel it!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]!" ("base", "narrow", "base", "up") # Genie cums. menu: gen "*Argh*! (I'm about to cum!)" ("angry", xpos="far_left", ypos="head") - "-Hold it in-": + "-Hold it in-": #Hermione tells him he can cum, and he thinks she meant onto her. gen "Oh, alright..." ("base", xpos="far_left", ypos="head") gen "I'd better stop now I suppose..." ("base", xpos="far_left", ypos="head") - her "..............." ("disgust", "narrow", "base", "down", cheeks="blush") - her "*Ehm*... I read that it's bad for you, [genie_name]..." ("disgust", "narrow", "base", "down", cheeks="blush") - gen "*huh*?" ("base", xpos="far_left", ypos="head") - her "It is bad for your health to just hold it in like this..." ("angry", "closed", "worried", "mid", cheeks="blush") - her "*Ehm*..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "If you want to you could just aim it--" ("open", "closed", "base", "R", cheeks="blush") + her @ cheeks blush "..............." ("disgust", "narrow", "base", "down") + her @ cheeks blush "*Ehm*... I read that it's bad for you, [name_genie_hermione]..." ("disgust", "narrow", "base", "down") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It is bad for your health to just hold it in like this..." ("angry", "closed", "worried", "mid") + her @ cheeks blush "*Ehm*..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "If you want to you could just aim it--" ("open", "closed", "base", "R") gen "*Argh*! You whore!" ("angry", xpos="far_left", ypos="head") - her "???" ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "???" ("mad", "wide", "base", "stare") gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") call cum_block @@ -699,25 +733,22 @@ label hg_pf_admire_breasts_T4_masturbate: # Call label pause 1.0 $ hermione.set_cum(body="light") - call bld - her "[genie_name], I didn't mean that you could release your... semen on me, [genie_name]..." ("angry", "happyCl", "worried", "mid", cheeks="blush",emote="sweat") - gen "Oh, this is great, yes..." ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], I wasn't saying that you could release your semen on me..." ("angry", "happyCl", "worried", "mid",emote="sweat") + gen "Ah... That was great..." ("angry", xpos="far_left", ypos="head") call her_chibi_scene("grope_tits_cum_done") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") - her "Well, what's done is done I suppose..." ("open", "narrow", "base", "down", cheeks="blush") - gen "Oh, this was quite amazing..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "......." ("angry", "narrow", "base", "down") + her @ cheeks blush "Well, what's done is done I suppose..." ("open", "narrow", "base", "down") + gen "Ah... I really needed that..." ("base", xpos="far_left", ypos="head") her "" ("disgust", "narrow", "base", "down") call ctc - her "My body is all sticky though..." - gen "Don't worry, I will give you your house points, [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "You did good." ("base", xpos="far_left", ypos="head") - - her "Thank you [genie_name]." ("base", "closed", "base", "mid") - her "Now I need to clean myself up..." ("annoyed", "closed", "base", "mid") + gen "You've done well today, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Thank you [name_genie_hermione]... Although, my body is all sticky now..." ("base", "closed", "base", "mid") + her "I better clean myself up a bit..." ("annoyed", "closed", "base", "mid") + gen "If you must..." ("base", xpos="far_left", ypos="head") show screen blkfade with d5 @@ -731,7 +762,7 @@ label hg_pf_admire_breasts_T4_masturbate: # Call label hide screen blkfade with d5 - her "" ("base", "base", "base", "mid") + her "" ("soft", "base", "base", "R") call ctc her "Well, I suppose this should do for now..." @@ -739,7 +770,7 @@ label hg_pf_admire_breasts_T4_masturbate: # Call label "-Just start cumming-": gen "*Argh*! You whore!" ("angry", xpos="far_left", ypos="head") - her "???" ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "???" ("mad", "wide", "base", "stare") gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") call cum_block @@ -754,25 +785,27 @@ label hg_pf_admire_breasts_T4_masturbate: # Call label call ctc - her "*Ah*...{heart} It's so hot...{heart}" ("clench", "happyCl", "worried", "mid", cheeks="blush") - her "[genie_name], you promised..." ("angry", "happyCl", "worried", "mid", cheeks="blush", emote="sweat") - gen "Oh, this is great, yes..." ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{heart} It's so warm...{heart}" ("clench", "happyCl", "worried", "mid") + her @ cheeks blush "[name_genie_hermione], you promised..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "Ah yes... All covered in semen..." ("angry", xpos="far_left", ypos="head") call her_chibi_scene("grope_tits_cum_done") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") - her "Well, what's done is done I suppose..." ("open", "narrow", "base", "down", cheeks="blush") - gen "Oh, this was quite amazing..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("angry", "narrow", "base", "down") + her @ cheeks blush "Well, what's done is done I suppose..." ("open", "narrow", "base", "down") + gen "Ah... I really needed that..." ("base", xpos="far_left", ypos="head") her "" ("disgust", "narrow", "base", "down", xpos="mid", ypos="base") call ctc - her "My body is all covered in semen though..." + her "My body... It's covered in semen..." + gen "I'm sure I missed a spot or two." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "base", "mid", xpos="mid", ypos="base") gen "Don't worry, it looks good on you." ("base", xpos="far_left", ypos="head") gen "You did great." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]." ("open", "closed", "base", "mid") - her "Now I need to clean myself up..." ("annoyed", "closed", "base", "mid") + her "Thank you [name_genie_hermione]." ("open", "closed", "base", "mid") + her "I better clean myself up..." ("annoyed", "closed", "base", "mid") call ctc show screen blkfade @@ -787,7 +820,7 @@ label hg_pf_admire_breasts_T4_masturbate: # Call label hide screen blkfade with d5 - her "" ("base", "base", "base", "mid") + her "" ("soft", "base", "base", "R") call ctc her "Well, I suppose this should do for now..." diff --git a/game/scripts/characters/hermione/events/favors/suck_it.rpy b/game/scripts/characters/hermione/events/favors/suck_it.rpy index d7acc5e6..9dd9c649 100644 --- a/game/scripts/characters/hermione/events/favors/suck_it.rpy +++ b/game/scripts/characters/hermione/events/favors/suck_it.rpy @@ -2,28 +2,27 @@ ### Hermione Blowjob ### -label hg_pf_blowjob: +label start_hg_pf_blowjob: - if hg_pf_blowjob.counter == 0: + if not _events_completed_any: gen "{size=-4}(Should I ask her for a blowjob?){/size}" ("base", xpos="far_left", ypos="head") - else: - gen "{size=-4}(Should I ask the girl to give me another blowjob?){/size}" ("base", xpos="far_left", ypos="head") - if hg_pf_blowjob.counter < 1: menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu # Start Event $ current_payout = 55 - $ mouth_full_of_cum = False - $ hg_pf_blowjob.start() + $ _mouth_full_of_cum = False + return +label hg_pf_blowjob_fail: + jump end_hermione_event - # End Event - label end_hg_pf_blowjob: +label end_hg_pf_blowjob: # Setup stop music fadeout 1.0 @@ -38,27 +37,27 @@ label hg_pf_blowjob: call gen_chibi("sit_behind_desk") hide screen blkfade - if her_mood != 0: - if mouth_full_of_cum: - her "" ("full_cum", "base", "angry", "mid", cheeks="blush", tears="mascara", xpos="mid", ypos="base", trans=fade) + if states.her.mood != 0: + if _mouth_full_of_cum: + her @ cheeks blush tears mascara "" ("full_cum", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) else: - her "" ("annoyed", "base", "angry", "mid", xpos="mid", ypos="base", trans=fade) + her "" ("angry", "base", "annoyed", "mid", xpos="mid", ypos="base", trans=fade) else: - if mouth_full_of_cum: - her "" ("full_cum", "base", "base", "mid", cheeks="blush", tears="mascara", xpos="mid", ypos="base", trans=fade) + if _mouth_full_of_cum: + her @ cheeks blush tears mascara "" ("full_cum", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) else: - her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + her "" ("soft", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - if her_tier < 6: - gen "Yes, [hermione_name]. {number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") + if states.her.tier < 6: + gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout else: - gen "You can go now, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You may go now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - if mouth_full_of_cum: - her "..." ("full_cum", "narrow", "annoyed", "up", cheeks="blush", tears="mascara") + if _mouth_full_of_cum: + her @ cheeks blush tears mascara "..." ("full_cum", "narrow", "annoyed", "up") else: - her "Thank you, [genie_name]..." ("soft", "base", "base", "R") + her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "R") # Hermione leaves call her_walk("door", "base") @@ -67,114 +66,162 @@ label hg_pf_blowjob: # Increase level - if her_tier == 5: - if her_whoring < 21: # Points til 21 - $ her_whoring +=1 - if her_tier == 6: - if her_whoring < 24: # Points til 24 - $ her_whoring += 1 + if states.her.tier == 5: + if states.her.level < 21: # Points til 21 + $ states.her.level +=1 + if states.her.tier == 6: + if states.her.level < 24: # Points til 24 + $ states.her.level += 1 - $ hg_blowjob.trigger = True + $ states.her.status.blowjob = True jump end_hermione_event ### Fail Events ### -label hg_pf_blowjob_fail: +label hg_pf_blowjob_T1_E1: #Fail + + call start_hg_pf_blowjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") - gen "I plan to grant Gryffindor {number=current_payout} house points today..." ("base", xpos="far_left", ypos="head") - gen "If you suck me off..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "We're done playing games..." ("base", xpos="far_left", ypos="head") + gen "Get over here, and suck my cock!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]??!" ("shock", "wide", "base", "stare") + her "How could you ask for such a thing!?" + her "I think I better leave." ("angry", "happyCl", "worried", "mid") - $ hg_pf_blowjob.fail_intentional() + call her_walk(action="leave") - jump too_much + gen "(Welp, was worth a shot I guess.)" ("base", xpos="far_left", ypos="head") -### Tier 4 - Fails ### + $ states.her.mood += 12 -# Event 1 (i) - Hermione refuses. -# Event 2 (r) - Repeat. + jump hg_pf_blowjob_fail + +label hg_pf_blowjob_T2_E1: #Fail + + call start_hg_pf_blowjob -label hg_pf_blowjob_T4_fail_intro: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") - gen "I plan to grant Gryffindor {number=current_payout} house points today..." ("base", xpos="far_left", ypos="head") - gen "If you suck me off..." ("base", xpos="far_left", ypos="head") - her "Suck you...{w=0.3} off?" ("disgust", "wide", "base", "mid") - her "With my mouth?!" ("disgust", "wide", "base", "stare") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "Why don't you open that pretty little mouth of yours... And then put it around my cock?" ("base", xpos="far_left", ypos="head") + her "Put my mouth--" ("shock", "wide", "base", "stare") + her "[name_genie_hermione]!" ("angry", "base", "worried", "mid") + her "Why would you think asking me for something like that is a good idea?" ("angry", "base", "worried", "mid") + gen "I figured there'd be less talking if your mouth was busy--" ("base", xpos="far_left", ypos="head") + her "I'm leaving!" ("angry", "happyCl", "angry", "mid") - if hg_kiss.trigger: - gen "Wouldn't even be the first time you've done it!" ("grin", xpos="far_left", ypos="head") - her "Yes, but..." ("disgust", "narrow", "worried", "down") - her "That was something different entirely..." ("disgust", "happyCl", "worried", "mid") - gen "How so?" ("base", xpos="far_left", ypos="head") - her "All I wanted was to get done with that favour early, so I..." ("open", "narrow", "base", "down") - her "I helped..." ("disgust", "base", "worried", "R") - gen "By sucking on my cock! Indeed you did!" ("grin", xpos="far_left", ypos="head") - her "No! I was merely stroking it... and..." ("silly", "happyCl", "worried", "mid") - her "I gave it a short kiss, but..." ("disgust", "narrow", "worried", "down", cheeks="blush") - her "I'm sorry [genie_name], but I don't think I can do \"that\"!" ("open", "base", "worried", "R", cheeks="blush") + call her_walk(action="leave") + + gen "(Did I say something wrong...?)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 10 + + jump hg_pf_blowjob_fail + +label hg_pf_blowjob_T3_E1: #Fail + + call start_hg_pf_blowjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "Ready to earn some more points?" ("base", xpos="far_left", ypos="head") + her "Of course!" ("base", "base", "base", "mid") + gen "Great!" ("grin", xpos="far_left", ypos="head") + gen "Then get over here, and suck my cock!" ("grin", xpos="far_left", ypos="head") + her "Suck your--" ("angry", "base", "base", "stare") + her "What is the reason you believe I would do such a thing?" ("angry", "base", "angry", "mid") + gen "So that you can earn points for your house? Or have your character motivation changed already?" ("base", xpos="far_left", ypos="head") + her "I think I better leave..." ("angry", "happyCl", "worried", "mid") + + call her_walk(action="leave") + + gen "(*Hmm*... Judging by her reaction she's not yet ready for it...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 8 + + jump hg_pf_blowjob_fail + +label hg_pf_blowjob_T4_E1: #Fail + + call start_hg_pf_blowjob + + if not _event_completed_failed: + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "I plan to grant Gryffindor {number=current_payout} house points today..." ("base", xpos="far_left", ypos="head") + gen "If you suck me off..." ("base", xpos="far_left", ypos="head") + her "Suck you...{w=0.3} off?" ("disgust", "wide", "base", "mid") + her "With my mouth?!" ("disgust", "wide", "base", "stare") + + if states.her.ev.give_me_a_handy.cock_kiss: + gen "Wouldn't even be the first time you've done it!" ("grin", xpos="far_left", ypos="head") + her "Yes, but..." ("disgust", "narrow", "worried", "down") + her "That was something different entirely..." ("disgust", "happyCl", "worried", "mid") + gen "How so?" ("base", xpos="far_left", ypos="head") + her "All I wanted was to get done with that favour early, so I..." ("open", "narrow", "base", "down") + her "I helped..." ("disgust", "base", "worried", "R") + gen "By sucking on my cock! Indeed, you did!" ("grin", xpos="far_left", ypos="head") + her "No! I was merely stroking it... And..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "I gave it a short kiss, but..." ("disgust", "narrow", "worried", "down") + her @ cheeks blush "I'm sorry [name_genie_hermione], but I don't think I can do \"that\"!" ("open", "base", "worried", "R") + else: + gen "Preferably..." ("base", xpos="far_left", ypos="head") + gen "But I'm always open to trying out new things!" ("grin", xpos="far_left", ypos="head") + her "Are you out of your mind?!" ("scream", "closed", "angry", "mid") + + her @ cheeks blush "I should leave..." ("disgust", "narrow", "base", "down") else: - gen "Preferably..." ("base", xpos="far_left", ypos="head") - gen "But I'm always open to try out new things!" ("grin", xpos="far_left", ypos="head") - her "Are you out of your mind?!" ("scream", "closed", "angry", "mid") + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "I plan to grant Gryffindor {number=current_payout} house points today..." ("base", xpos="far_left", ypos="head") + her "Let me guess..." ("open", "closed", "angry", "mid") + her "You want me to \"suck you off\" for it?" ("open", "base", "angry", "mid") + gen "That is correct!" ("grin", xpos="far_left", ypos="head") + her "I refuse..." ("open", "closed", "base", "mid") + gen "It's only a blowjob, girl..." ("base", xpos="far_left", ypos="head") - her "I should leave..." ("disgust", "narrow", "base", "down", cheeks="blush") + if states.her.ev.give_me_a_handy.cock_kiss: + gen "It's not like you haven't done it before..." ("base", xpos="far_left", ypos="head") + her "Are you talking about the kiss I gave it?" ("open", "base", "angry", "mid") + her "That was something different entirely..." ("open", "closed", "base", "mid") + gen "How so?" ("base", xpos="far_left", ypos="head") + her "I wanted to get done with that favour early, so I helped a bit." ("open", "narrow", "angry", "R") + gen "By sucking on my cock! Indeed, you did!" ("grin", xpos="far_left", ypos="head") + her "It was nothing more than a short kiss..." ("annoyed", "base", "angry", "mid") + gen "Still counts as a blowjob..." ("base", xpos="far_left", ypos="head") # See, no flag is set. It doesn't count! :) + + her "[name_genie_hermione], I've told you this last time..." ("open", "closed", "base", "mid") + her "I refuse to do this sort of thing..." ("normal", "base", "angry", "mid") + her "I have to go now..." ("annoyed", "narrow", "angry", "R") call her_walk(action="leave") - call bld - gen "Tough luck..." ("base", xpos="far_left", ypos="head") + gen "(Tough luck...)" ("base", xpos="far_left", ypos="head") - $ her_mood += 6 - $ hg_pf_blowjob.fail() + $ states.her.mood += 6 - jump end_hermione_event - -label hg_pf_blowjob_T4_fail_repeat: - her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") - gen "I plan to grant Gryffindor {number=current_payout} house points today..." ("base", xpos="far_left", ypos="head") - her "And let me guess..." ("open", "closed", "angry", "mid") - her "You'd like me to \"suck you off\" for it?" ("open", "base", "angry", "mid") - gen "That is correct!" ("grin", xpos="far_left", ypos="head") - her "I refuse..." ("open", "closed", "base", "mid") - gen "It's only a blowjob, girl..." ("base", xpos="far_left", ypos="head") - - if hg_kiss.trigger: - gen "It's not like you haven't done it before..." ("base", xpos="far_left", ypos="head") - her "Are you talking about the kiss I gave it?" ("open", "base", "angry", "mid") - her "That was something different entirely..." ("open", "closed", "base", "mid") - gen "How so?" ("base", xpos="far_left", ypos="head") - her "I wanted to get done with that favour early, so I helped a bit." ("open", "narrow", "angry", "R") - gen "By sucking on my cock! Indeed you did!" ("grin", xpos="far_left", ypos="head") - her "It was nothing more than a short kiss..." ("annoyed", "base", "angry", "mid") - gen "Still counts as a blowjob..." ("base", xpos="far_left", ypos="head") - - her "[genie_name], I've told you this last time..." ("open", "closed", "base", "mid") - her "I refuse to do this sort of thing..." ("normal", "base", "angry", "mid") - her "I have to go now..." ("annoyed", "narrow", "angry", "R") - - call her_walk(action="leave") - - $ her_mood += 6 - $ hg_pf_blowjob.fail() - - jump end_hermione_event + jump hg_pf_blowjob_fail ### Tier 5 ### -# Event 1 (i) - Hermione is ok with it. +# Event 1 (i) - Hermione is okay with it. # Event 2 (i) - Hidden blowjob with Snape watching. # Event 3 (r) - Normal blowjob with choices. label hg_pf_blowjob_T5_intro_E1: + + call start_hg_pf_blowjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid") gen "I plan to grant Gryffindor {number=current_payout} house points today..." ("base", xpos="far_left", ypos="head") gen "If you suck me off..." ("base", xpos="far_left", ypos="head") her "Oh..." ("open", "narrow", "worried", "down") @@ -183,11 +230,12 @@ label hg_pf_blowjob_T5_intro_E1: her "Yes. I know I'm supposed to feel outraged..." ("angry", "narrow", "base", "down") her "But somehow I do not..." ("angry", "base", "base", "mid") her "I suppose I am just glad that I can help out my house..." ("base", "narrow", "worried", "down") - her "And if to do that I must put your penis in my mouth, then so be it..." ("upset", "closed", "base", "mid") + her "And if I must put your penis in my mouth to do that, then so be it..." ("upset", "closed", "base", "mid") gen "Well, alright then." ("base", xpos="far_left", ypos="head") her "Although, now when I say it out loud like this..." ("angry", "narrow", "base", "down") - gen "Too late! You already said \"yes\"!" ("base", xpos="far_left", ypos="head") + gen "Too late! You already said \"yes\"!" ("grin", xpos="far_left", ypos="head") her "I know..." ("grin", "happyCl", "worried", "mid", emote="sweat") + call her_walk("desk", "base", reduce=0.8) call blkfade @@ -195,65 +243,37 @@ label hg_pf_blowjob_T5_intro_E1: label hg_pf_blowjob_T5_intro_E2: + + call start_hg_pf_blowjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") - gen "How about another blowjob?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "How would you like to give me another blowjob?" ("base", xpos="far_left", ypos="head") + her "Using my mouth, preferably." ("open", "narrow", "base", "down") + gen "What do you--" ("base", xpos="far_left", ypos="head") + her "*Giggles*" ("grin", "narrow", "base", "down") + gen "You cheeky little--{w=0.2} Get over here, before I change my mind on this favour trading thing." ("angry", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]..." ("angry", "base", "base", "mid") - call play_music("playful_tension") # SEX THEME. - her "[genie_name], how dare you propose such a thing to one of your pupils!" ("scream", "base", "angry", "mid", emote="angry") - gen "Wha--...?" ("base", xpos="far_left", ypos="head") - her "This is unbecoming of a man of your standing." ("scream", "base", "angry", "mid", emote="angry") - her "You should be ashamed of yourself [genie_name]!" ("angry", "base", "angry", "mid") - menu: - gen "???" ("base", xpos="far_left", ypos="head") - "\"Fine. No points to you then! Leave!\"": - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "[genie_name], calm down, please." ("grin", "happyCl", "worried", "mid", emote="sweat") - gen "You are dismissed, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "[genie_name], please, I didn't mean any of the things I said." ("grin", "happyCl", "worried", "mid", emote="sweat") - gen "What?" ("base", xpos="far_left", ypos="head") - - "\"*Ehm*... I am sorry?\"": - stop music fadeout 1.0 - her "*Giggle*" ("base", "base", "base", "mid") - gen "*huh*?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "I got you... [genie_name]." ("grin", "happyCl", "worried", "mid", emote="sweat") - gen "What?" ("base", xpos="far_left", ypos="head") - - "-Two can play that game...-": - stop music fadeout 1.0 - gen "Oh nooooo... what am I ever going to do now." ("base", xpos="far_left", ypos="head") - her "........?" ("soft", "base", "base", "mid") - gen "A student caught me in the act and will report me to the ministry of magic." ("base", xpos="far_left", ypos="head") - gen "I guess I'll have to sign a resignation and step down being a headmaster." ("base", xpos="far_left", ypos="head") - her "[genie_name]?!" ("open", "wide", "worried", "mid") - call play_music("chipper_doodle") # HERMIONE'S THEME. - gen "*he-he* If you could only see your face." ("grin", xpos="far_left", ypos="head") - her "what.." ("soft", "wide", "worried", "mid") - gen "I got you." ("base", xpos="far_left", ypos="head") - her "........" ("annoyed", "base", "angry", "R") - her "*sigh*" ("soft", "closed", "base", "mid") - - her "Well, so much has happened lately..." ("base", "base", "base", "mid") - her "I had so many new experiences that kind of changed the way I look at things..." - her "So I was just trying to imagine how the \"old me\" would've reacted to this." - gen "So..." ("base", xpos="far_left", ypos="head") - gen "You were messing with me then?" ("angry", xpos="far_left", ypos="head") - her "*Ehm*... I'm sorry [genie_name], I didn't mean to..." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "You nasty little slut! You must be punished!" ("angry", xpos="far_left", ypos="head") - gen "I'll punish you with my cock!" ("grin", xpos="far_left", ypos="head") - her "..............................." ("angry", "happyCl", "worried", "mid", emote="sweat") + call her_walk("desk", "base", reduce=0.8) + call blkfade jump hg_pf_hidden_blowjob # Snape label hg_pf_blowjob_T5_repeat: + + call start_hg_pf_blowjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - call play_music("playful_tension") # SEX THEME. - gen "How would you like to give me another blowjob, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "For today's favour, I want you to get on your knees and give me another blowjob." ("base", xpos="far_left", ypos="head") her "I suppose I can do that..." ("base", "narrow", "worried", "down") - gen "Come here then!" ("grin", xpos="far_left", ypos="head") + gen "Great! Come here then!" ("grin", xpos="far_left", ypos="head") + + call her_walk("desk", "base", reduce=0.8) + call blkfade jump hg_pf_blowjob_1 @@ -264,35 +284,97 @@ label hg_pf_blowjob_T5_repeat: # Event 3 (r) - Blowjob with choices. label hg_pf_blowjob_T6_intro_E1: - her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "Tell me, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "Have you been behaving yourself lately?" ("grin", xpos="far_left", ypos="head") - her "Me? Of course, [genie_name]." ("open", "base", "base", "mid") - her "I'm always trying to behave my best at school--" ("open", "base", "base", "R") - her "Oh...{w} I mean... No, Sir!" ("soft", "narrow", "annoyed", "up") - call play_music("playful_tension") # SEX THEME. - her "I've been a very, very bad girl, [genie_name]!" ("soft", "narrow", "base", "mid_soft") + call start_hg_pf_blowjob + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid") + gen "I want you..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You want... Me?" ("soft", "squint", "base", "mid") + her @ cheeks blush "(Is he--)" ("soft", "narrow", "base", "down") + gen "I want you to get over here, and suck my cock!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "base", "base", "mid") + gen "Go on... Show me what that mouth can do." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "(He's playing with me... Well, I'll show him...)" ("annoyed", "narrow", "annoyed", "R") + + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + her @ cheeks blush "[name_genie_hermione], how dare you propose such a thing to one of your pupils!" ("scream", "closed", "angry", "mid", emote="angry") + gen "Wha--...?" ("angry", xpos="far_left", ypos="head") + her "This is unbecoming of a man of your standing." ("soft", "narrow", "angry", "R", emote="angry") + her "You should be ashamed of yourself, [name_genie_hermione]!" ("open", "closed", "angry", "mid") + menu: + gen "???" ("base", xpos="far_left", ypos="head") + "\"Fine. No points to you then! Leave!\"": + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "But [name_genie_hermione], I--" ("disgust", "squint", "worried", "mid", emote="sweat") + gen "You are dismissed, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], please, I didn't mean any of the things I said." ("grin", "happyCl", "worried", "mid", emote="sweat") + gen "What?" ("base", xpos="far_left", ypos="head") + her "I was just, *Ehm*..." ("angry", "narrow", "base", "R") + her "......." ("angry", "narrow", "base", "down") + her "Oh! I was just trying to imagine how the \"old me\" would've reacted to this. That's it!" ("grin", "base", "base", "mid") + gen "So..." ("base", xpos="far_left", ypos="head") + gen "You were messing with me then?" ("angry", xpos="far_left", ypos="head") + her "*Ehm*... I'm sorry [name_genie_hermione], I didn't mean to..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "Well then... If you're not going to take this seriously anymore, then perhaps we should end it here." ("grin", xpos="far_left", ypos="head") + + "\"*Ehm*... I am sorry?\"": + stop music fadeout 1.0 + her "*Giggles*" ("grin", "base", "base", "R") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "I got you... [name_genie_hermione]." ("grin", "happyCl", "worried", "mid", emote="sweat") + gen "What?" ("base", xpos="far_left", ypos="head") + gen "Is this some kind of joke to you?" ("angry", xpos="far_left", ypos="head") + her "*Giggles*" ("grin", "happyCl", "base", "mid") + gen "..." ("angry", xpos="far_left", ypos="head") + gen "Well then... If you're not going to take this seriously anymore, then perhaps we should end it here." ("grin", xpos="far_left", ypos="head") + + "-Two can play that game...-": + stop music fadeout 1.0 + gen "Oh nooooo... What am I ever going to do now." ("base", xpos="far_left", ypos="head") + her "........?" ("soft", "base", "base", "mid") + gen "My pupil has charged me with the crime of dishonour!" ("base", xpos="far_left", ypos="head") + gen "I must perform honourable sudoku, and--" ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "[name_genie_hermione]! I was just joking, please don't--" ("open", "wide", "worried", "mid") + gen "*He-he*..." ("grin", xpos="far_left", ypos="head") + her "Why are you--" ("soft", "wide", "worried", "mid") + gen "I got you." ("grin", xpos="far_left", ypos="head") + her "........" ("annoyed", "base", "angry", "R") + her "*Sigh*" ("soft", "closed", "base", "mid") + her "Was I really being that obvious?" ("soft", "closed", "base", "mid") + gen "Very much so." ("base", xpos="far_left", ypos="head") + gen "That said... I didn't expect this from you, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "I suppose I do have a sense of humour, after all." ("base", "closed", "base", "mid") + gen "A sense of--" ("base", xpos="far_left", ypos="head") + gen "If you're not going to take this seriously anymore, then we should probably end things here." ("base", xpos="far_left", ypos="head") + + her "But, [name_genie_hermione]!" ("soft", "wide", "worried", "mid") + gen "Quiet, [name_hermione_genie]... You've been a very bad girl..." ("grin", xpos="far_left", ypos="head") + her "I'm sorry [name_genie_hermione], I didn't think--" ("angry", "narrow", "worried", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + gen "Say it... Tell me that you've been a bad girl!" ("grin", xpos="far_left", ypos="head") + her "I..." ("angry", "narrow", "base", "mid_soft") + her @ cheeks blush "I've been a very, very bad girl, [name_genie_hermione]!" ("open", "narrow", "base", "down") gen "..............." ("grin", xpos="far_left", ypos="head") - gen "Tell me, what wrongs did you do, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Tell me, what wrongs did you do, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "*Ehm*..." ("disgust", "narrow", "worried", "down") - her "I sucked off my headmaster's cock..." ("soft", "narrow", "worried", "down") + her "I took your generosity for granted..." ("soft", "narrow", "worried", "down") gen "Yes you did!" ("grin", xpos="far_left", ypos="head") - her "And not just to earn those points..." ("disgust", "happyCl", "worried", "mid") - gen "What? Why else?" ("base", xpos="far_left", ypos="head") - her "I did it because I like doing it..." ("disgust", "narrow", "base", "R_soft") - her "I like sucking cock, [genie_name]!" ("soft", "narrow", "base", "mid_soft", cheeks="blush") + her "I didn't appreciate that you're helping me earn those points..." ("disgust", "happyCl", "worried", "mid") + gen "That's right... And how are you meant to show that appreciation?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "By doing what you ask of me...{w=0.4} Unquestionably..." ("soft", "narrow", "base", "down") + gen "That's right...{w=0.4} And--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Please, let me suck your cock [name_genie_hermione]!" ("angry", "narrow", "base", "mid_soft") gen "Yes! You dirty slut!" ("angry", xpos="far_left", ypos="head") - gen "Girls like you need to be punished!" ("angry", xpos="far_left", ypos="head") - gen "Don't you think so too, Miss Granger?" ("grin", xpos="far_left", ypos="head") - her "..............................." ("clench", "narrow", "base", "down", cheeks="blush") - her "Yes, [genie_name]..." ("soft", "narrow", "base", "mid_soft", cheeks="blush") - her "I need to be punished!" ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "I need to be punished!" ("angry", "narrow", "base", "down") gen "Beg me for it, you slut!" ("angry", xpos="far_left", ypos="head") - her "Please punish me with your cock, [genie_name]!" ("soft", "narrow", "base", "mid_soft") - her "I beg you!" ("soft", "narrow", "base", "mid_soft") + her @ cheeks blush "Please punish me with your cock, [name_genie_hermione]!" ("open", "happyCl", "base", "mid_soft") + her @ cheeks blush "I beg you!" ("angry", "narrow", "worried", "mid") gen "Come here, you dirty little minx!" ("angry", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}" ("base", "narrow", "annoyed", "up") + her @ cheeks blush "{heart}{heart}{heart}" ("base", "narrow", "worried", "R") call her_walk("desk", "base", reduce=0.8) call blkfade @@ -300,24 +382,37 @@ label hg_pf_blowjob_T6_intro_E1: jump hg_pf_blowjob_2 label hg_pf_blowjob_T6_hidden_repeat: + + call start_hg_pf_blowjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - call play_music("playful_tension") # SEX THEME. - gen "Suck my dick, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Anything for you, [genie_name]..." ("base", "narrow", "base", "mid_soft") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + gen "Come here and suck my dick, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]..." ("soft", "squint", "base", "mid_soft") + + call her_walk("desk", "base", reduce=0.8) + call blkfade jump hg_pf_hidden_blowjob label hg_pf_blowjob_T6_repeat: + + call start_hg_pf_blowjob + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - call play_music("playful_tension") # SEX THEME. - gen "Suck my dick, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Anything for you, [genie_name]..." ("base", "narrow", "base", "mid_soft") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + gen "Come here and suck my dick, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]..." ("base", "narrow", "base", "mid_soft") + + call her_walk("desk", "base", reduce=0.8) + call blkfade jump hg_pf_blowjob_2 ### First Blowjob ### label hg_pf_blowjob_1: + stop music fadeout 4.0 call hide_characters show screen blkfade @@ -326,200 +421,248 @@ label hg_pf_blowjob_1: call her_chibi_scene("bj_pause", trans=d9) pause.8 - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. call her_chibi_scene("bj", trans=d9) call ctc - her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", ypos="head", flip=False) - gen "Yes..." ("base", xpos="far_left", ypos="head") - gen "Try to take it deeper now..." ("base", xpos="far_left", ypos="head") - her "*Gulp*! *Gobble*! *Gobble*!" - gen "Yes, like that. Good." ("base", xpos="far_left", ypos="head") - her "*Slurp*! *Gltch*! *Gulp*!" - gen "Yes, that's a good girl." ("base", xpos="far_left", ypos="head") + her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "mid_soft", ypos="head", flip=False) + gen "*Ah*... Very good, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "But try to take it a bit deeper..." ("base", xpos="far_left", ypos="head") + her "*Gulp*! *Gobble*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "stare") + gen "Yes... Just like that..." ("base", xpos="far_left", ypos="head") + her "*Slurp*! *Gltch*! *Gulp*!" ("open_wide_tongue", "closed", "base", "mid") + gen "That's a good girl..." ("base", xpos="far_left", ypos="head") + $ _MRM = False + $ _proud = False menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") "\"Whatever happened to your \"MRM\" thing?\"": - her "*Slurp*?" + $ _MRM = True + her "*Slurp*?" ("open_wide_tongue", "squint", "base", "mid") call her_chibi_scene("bj_pause") - her "Oh, well..." ("angry", "narrow", "base", "down") - her "We are still active, but..." + her "Oh, well..." ("angry", "base", "base", "up") + her "We are still active, but... *Ahem*..." ("angry", "closed", "base", "mid") call her_chibi_scene("bj") - her "*Slurp*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her "*Slurp*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "R") + + gen "But?" ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") - her "But we are not getting as popular and as much support as I thought we would..." ("angry", "wink", "base", "mid") + her "But... We are not getting as much support as I thought we would." ("angry", "wink", "base", "mid") call her_chibi_scene("bj") - her "*Slurp*! *Gulp*! *Gulp*!" ("open_wide_tongue", "narrow", "worried", "down") - gen "Oh... This is good..." ("base", xpos="far_left", ypos="head") + her "*Slurp*! *Gulp*! *Gulp*!" ("open_wide_tongue", "closed", "worried", "down") + gen "Oh, well..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "So you don't mind selling me sexual favours, letting me play with your tits and such..." ("base", xpos="far_left", ypos="head") + gen "I suppose that's to be expected..." ("base", xpos="far_left", ypos="head") + gen "I mean, you're selling sexual favours, by letting me play with your tits and such..." ("base", xpos="far_left", ypos="head") her "*Gobble*! *Gltch*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "And then condemn such behaviour in front of the other students." ("base", xpos="far_left", ypos="head") - her "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "narrow", "worried", "down") + gen "No wonder you're having troubles trying to condemn such behaviour in front of the other students." ("base", xpos="far_left", ypos="head") + her "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "narrow", "base", "down") gen "You perverted, little hypocrite." ("base", xpos="far_left", ypos="head") - her "*Gulp*--" ("open_wide_tongue", "narrow", "base", "up") + her "*Gulp*--" ("open_wide_tongue", "closed", "base", "mid") call her_chibi_scene("bj_pause") - her "That's not what we stand for, [genie_name]." ("angry", "base", "base", "mid") + her "[name_genie_hermione], that's not what we stand for..." ("angry", "base", "worried", "mid") gen "What do you mean?" ("base", xpos="far_left", ypos="head") her "The \"MRM\" is about gender equality." ("open", "closed", "base", "mid") - her "We are not as much against selling sexual favours to the teachers..." - her "As we are against the gender inequality that the selling of sexual favour creates..." - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "This conversation is starting to bore me..." ("base", xpos="far_left", ypos="head") - gen "Suck on my cock some more before we continue." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("soft", "narrow", "annoyed", "up") + her "We are not against selling sexual favours to the teachers..." ("open", "closed", "base", "mid") + her "We are against the gender inequality that the selling of sexual favour creates..." ("soft", "narrow", "base", "mid") call her_chibi_scene("bj", trans=d3) pause.8 her "*Gobble*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Yes, much better..." ("base", xpos="far_left", ypos="head") - gen "But you still disapprove of selling the favours, right?" ("base", xpos="far_left", ypos="head") + gen "So, you don't disapprove of selling favours?" ("base", xpos="far_left", ypos="head") her "*Slurp*--" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause") - her "Yes, it is frowned upon..." ("upset", "closed", "base", "mid") - gen "And yet, you are the biggest offender by far." ("base", xpos="far_left", ypos="head") - her "But what choice do I have?" ("upset", "closed", "base", "mid") - her "I've been put in a very difficult position..." - gen "The cock, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Right, sorry..." ("upset", "closed", "base", "mid") + her @ cheeks blush "*Ehm*..." ("upset", "narrow", "base", "R") + her @ cheeks blush "I dislike that it's become a necessity, if you want your house to be in the running." ("open", "happy", "base", "R") + her @ cheeks blush "If it wasn't for those Slytherin--{w=0.2} Well, I never would've imagined..." ("soft", "narrow", "base", "R") + gen "So, you believe that it was the Slytherin house that instigated this favour trading business?" ("base", xpos="far_left", ypos="head") + her "Either it was some Slytherin slut, or a teacher... All I know, is that I woke up one day to the Slytherin house earning more points than ever before." ("open", "closed", "base", "R") + gen "..." ("base", xpos="far_left", ypos="head") + her "Either way... What instigated it hardly matters." ("soft", "narrow", "base", "R") + her "The fact is... As soon as the ball began rolling, there was no way I could stand in its path." ("open", "happy", "base", "R") + her "Not when there are teachers like Snape..." ("angry", "narrow", "base", "R") + gen "Speaking of ball, why don't you roll that tongue--" ("base", xpos="far_left", ypos="head") + her "What other choice did I have... I want Gryffindor to win the house-cup as much as any other Gryffindor student..." ("open", "closed", "annoyed", "R") + her "Therefore, my decision to also sell sexual favours was the only logical--" ("soft", "closed", "base", "mid") + gen "The cock, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Right... Sorry, [name_genie_hermione]..." ("open", "narrow", "worried", "up") call her_chibi_scene("bj", trans=d3) pause.8 her "*Slurp*! *Gulp*! *Gltch*!" ("open_wide_tongue", "narrow", "base", "up") - her "*Slurp*--" ("open_wide_tongue", "narrow", "annoyed", "up") + + gen "*Ah*... Yes... Work that tongue, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "*Slurp*! *Gulp*! *Gltch*!" ("open_wide_tongue", "narrow", "worried", "down") + her "*Slurp*--" ("open_wide_tongue", "closed", "worried", "up") call her_chibi_scene("bj_pause") - her "This one time we had a meeting right after I sold you another favour, [genie_name]." ("angry", "base", "base", "mid") - her "I had to give a speech with my clothes all messy and stained." - her "It felt awful that I had to do that..." - gen "You did enjoy it a little bit though..." ("base", xpos="far_left", ypos="head") - her "Well..." ("angry", "narrow", "base", "down") - gen "Just admit it." ("base", xpos="far_left", ypos="head") - her "..............." ("angry", "base", "base", "mid") - gen "Yes, I knew it. You took pleasure in it, you little perv." ("base", xpos="far_left", ypos="head") - her "I suppose it was embarrassing and exciting at the same time..." ("angry", "narrow", "base", "down") - her "And it made me feel even worse about myself." - gen "You poor thing." ("base", xpos="far_left", ypos="head") - gen "Cock back in the mouth." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]." ("angry", "base", "base", "mid") + her "I mean, it made sense, right?--" ("upset", "squint", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her "Me, deciding to sell favours and help my house!" ("angry", "narrow", "worried", "mid") + gen "Oh, yes! It certainly was the best course of action, and a noble one as well." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("angry", "narrow", "worried", "down") + + call her_chibi_scene("bj", trans=d3) + pause.8 + her "*Slurp*! *Gulp*! *Gltch*!" ("open_wide_tongue", "narrow", "base", "up") + + gen "I mean, if you can't beat them, join them!" ("base", xpos="far_left", ypos="head") + her "*Slurp*! *Cough*! *Cough*!" ("open_wide_tongue", "wide", "base", "stare") + + call her_chibi_scene("bj_pause") + her "Join them?!" ("angry", "base", "worried", "stare") + her @ cheeks blush "[name_genie_hermione], I did not join them!" ("angry", "squint", "worried", "mid") + gen "You didn't?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course not! I am nothing like those Slytherin harlots." ("clench", "squint", "worried", "mid") + her "They're selling favours for entirely different, self-serving reasons!" ("open", "wink", "annoyed", "mid") + gen "I see... So, you're saying that your own reasons aren't self-serving, then?" ("base", xpos="far_left", ypos="head") + her "Of course they aren't!" ("angry", "base", "base", "R") + her "I'm selling favours to help the entire house of Gryffindor, and at the same time, I am also striving for equality through the \"MRM\"." ("grin", "closed", "worried", "R") + her "The \"MRM\" is open to anyone, not just students of the Gryffindor house." ("smile", "closed", "base", "mid") + gen "I thought you just said that the group isn't getting much support." ("base", xpos="far_left", ypos="head") + her "Well, that is hardly my fault..." ("angry", "narrow", "base", "R") + gen "Sounds to me as if the purpose of this group is so that you can keep others from selling--" ("base", xpos="far_left", ypos="head") + her "Why on earth would you think that!?" ("angry", "squint", "worried", "stare") + gen "Well, if you truly wanted the group to gain traction, then should you not be teaching them things like how to strip for a teacher--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Teach them how to--" ("clench", "base", "base", "stare") + her @ cheeks blush "*Ahem*... Well, I don't see how that's supposed to help with anything..." ("annoyed", "closed", "worried", "R") + gen "I figured you'd say that..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "In fact... The \"MRM\" mostly consists of males, so I to try keep any distractions during our meetings at a minimum." ("angry", "closed", "base", "mid") + gen "Sounds like a good time...{w=0.4} But I still think--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "That said, this one time we did have a meeting right after I sold you another favour..." ("angry", "closed", "worried", "mid") + gen "(Is she trying to change the subject?)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I had to give a speech with my clothes all messy and stained." ("angry", "narrow", "base", "down") + gen "..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ahem*... Yes, it truly felt awful that I had to do that..." ("angry", "narrow", "base", "R") + gen "I'm sure you enjoyed it a little bit though..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course I--" ("soft", "closed", "annoyed", "R") + gen "Perhaps you'd enjoy teaching them--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, *Ehm*--{w=0.2} Yes, I certainly did enjoy it!" ("angry", "squint", "base", "stare") + gen "I knew it! I knew you would, you little perv!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("base", "narrow", "worried", "down") + gen "Speaking of enjoyment..." ("base", xpos="far_left", ypos="head") + gen "Cock, back in your mouth." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, [name_genie_hermione]." ("angry", "closed", "base", "mid") call her_chibi_scene("bj", trans=d3) pause.8 "\"Your parents must be proud of you...\"": - her "*Slurp*--" + $ _proud = True + her "*Slurp*--" ("open_wide_tongue", "squint", "base", "stare") call her_chibi_scene("bj_pause") - her "Yes, I believe they are..." ("smile", "happyCl", "base", "mid") - her "With me being an excellent student despite being muggle-born and all..." ("base", "happyCl", "base", "mid") - her "Although at first they were against sending me to some \"Bogus boarding school\"." ("angry", "base", "base", "mid") - her "Took some effort to convince them that \"Hogwarts\" is a respectable institution." ("base", "happyCl", "base", "mid") + her "Yes, I believe they are..." ("base", "closed", "base", "mid") + her "With me being an excellent student despite being muggle-born and all..." ("smile", "closed", "base", "mid") + her "Although at first, they were against sending me to some \"Bogus boarding school\"." ("angry", "base", "base", "mid") + her "It took some effort to convince them that \"Hogwarts\" is a respectable institution." ("base", "closed", "base", "mid") gen "Yes, a respectable institution indeed." ("base", xpos="far_left", ypos="head") - gen "Cock back in your mouth, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Cock back in your mouth, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj", trans=d3) pause.8 her "*Slurp*! *Gulp*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Yes, just keep at it for a while..." ("base", xpos="far_left", ypos="head") + gen "Yes, just keep going at it like that, for a while..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gltch*! *Gulp*!" ("open_wide_tongue", "narrow", "annoyed", "up") gen "Good, good..." ("base", xpos="far_left", ypos="head") - gen "So, what would your folks say if they were to see you now, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "So, what would your folks say if they were to see you now, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "*Slurp*--" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause") - her "They would not understand of course..." ("open", "narrow", "worried", "down") - her "But I do not care." - her "I am not afraid to \"get my hands dirty\" and do what needs to be done." ("upset", "closed", "base", "mid") + her "They wouldn't understand, of course..." ("open", "narrow", "worried", "down") + her "But I don't care." ("open", "closed", "worried", "down") + her "I am not afraid to \"get my hands dirty\", and do what needs to be done." ("upset", "closed", "base", "mid") gen "A bit rebellious, aren't you?" ("base", xpos="far_left", ypos="head") her "*Hmm*... I suppose I am." ("angry", "wink", "base", "mid") - gen "Back to sucking then. Teach your folks a lesson." ("base", xpos="far_left", ypos="head") + gen "Back to sucking then... Teach your folks a lesson." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj", trans=d3) pause.8 her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") "\"Tell me about the Gryffindor house.\"": - her "*Slurp*--" + her "*Slurp*?--" ("open_wide_tongue", "squint", "base", "mid") call her_chibi_scene("bj_pause") - her "What can I say that you don't already know, [genie_name]?" ("soft", "base", "base", "R") - gen "Yes... *Ehm*... I know everything of course." ("base", xpos="far_left", ypos="head") - gen "But I want to see how much you know." ("base", xpos="far_left", ypos="head") - gen "To test your knowledge on the subject." ("base", xpos="far_left", ypos="head") - call nar(">As soon as you mention \"test\" Hermione's eyes light up with excitement.") - her "OK. But I need a moment to gather my thoughts..." ("smile", "happyCl", "base", "mid", emote="happy") + her "What could I tell you that you don't already know, [name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "*Err*... That's true... I do know everything, of course." ("base", xpos="far_left", ypos="head") + gen "But I want to see just how much you know." ("base", xpos="far_left", ypos="head") + gen "To test your knowledge of the subject." ("base", xpos="far_left", ypos="head") + nar "As soon as you mention \"test\", Hermione's eyes light up with excitement." + her "Okay then, just give me a moment to gather my thoughts..." ("base", "base", "base", "R", emote="happy") call her_chibi_scene("bj", trans=d3) pause.8 her "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Oh, yes... Take as much time as you need, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Oh, yes... Take as much time as you need, [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") her "*Gulp*--" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause") - her "The Gryffindor house was founded by Godric Gryffindor, thus the name." ("open", "narrow", "worried", "down") - her "The heraldic animal of Gryffindor is the lion..." - her "And its colours are red and gold." ("open", "closed", "base", "mid") + her "The Gryffindor house was founded by Godric Gryffindor, thus the name." ("open", "closed", "base", "mid") + her "The heraldic animal of Gryffindor is the lion..." ("open", "closed", "base", "mid") call her_chibi_scene("bj") her "*Gulp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause") her "Professor Minerva McGonagall is the head of our house." ("open", "closed", "base", "mid") - her "The Gryffindor house emphasises the traits of courage..." - her "As well as \"daring, nerve, and chivalry\"..." - her "And thus its members are generally regarded as brave but reckless..." + her "The Gryffindor house emphasises the traits of courage..." ("open", "closed", "base", "mid") + her "As well as \"daring, nerve, and chivalry\"..." ("open", "closed", "base", "mid") + her "And thus its members are generally regarded as brave, but also reckless..." ("open", "closed", "base", "mid") call her_chibi_scene("bj") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause") her "Gryffindor corresponds roughly to the element of fire..." ("open", "closed", "base", "mid") - her "And for that reason the colours of red and gold were chosen." + her "And for that reason, the colours of red and gold were chosen." ("open", "closed", "base", "mid") call her_chibi_scene("bj") her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "Well, I thought I could turn this around somehow to make fun of you..." ("base", xpos="far_left", ypos="head") her "*Slurp* ...?" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Well, with your house representing courage and righteousness and such..." ("base", xpos="far_left", ypos="head") - gen "And you being a nasty slut..." ("base", xpos="far_left", ypos="head") + gen "With your house representing courage and righteousness and such..." ("base", xpos="far_left", ypos="head") + gen "And you, being a nasty slut..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") - her "[genie_name]!" ("scream", "base", "angry", "mid", emote="angry") + her "[name_genie_hermione]..." ("disgust", "narrow", "annoyed", "mid", emote="angry") gen "But to be honest..." ("base", xpos="far_left", ypos="head") gen "\"Daring, nerve, fire, recklessness\"..." ("base", xpos="far_left", ypos="head") - gen "That sort of describes your personality quite well..." ("base", xpos="far_left", ypos="head") - her "[genie_name]..." ("base", "base", "base", "mid") + gen "Those traits describe your personality quite well..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]..." ("disgust", "narrow", "base", "down") call her_chibi_scene("bj", trans=d3) pause.8 her "*Gobble*!! *Gltch*!! *Gobble*!!!" ("open_wide_tongue", "narrow", "base", "up") - gen "*Argh* {w=0.5}Good...{w=0.5} girl..." ("angry", xpos="far_left", ypos="head") + gen "Perhaps diligence should also get added to that list..." ("grin", xpos="far_left", ypos="head") + gen "What do you think?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "*Gobble*!! *Gltch*!! *Gobble*!!!" ("open_wide_tongue", "narrow", "base", "up") + gen "I'll take that as a yes..." ("grin", xpos="far_left", ypos="head") + her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "closed", "base", "up") - call bld - gen "Keep going..." ("base", xpos="far_left", ypos="head") - her "*Gobble*! *Slurp*! *Slurp*!" - gen "Good... Back and forth, back and forth... slut." ("base", xpos="far_left", ypos="head") + gen "*Ngh*--{w=0.2} Yes...{w=0.4} Keep going--{w=0.2} Just like that..." ("base", xpos="far_left", ypos="head") + her "*Gobble*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") + gen "Good...{w=0.4} Back and forth, back and forth..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") her "*Slurp*--" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause") - her "[genie_name]... I am a... whore." ("open", "narrow", "worried", "down") + her "[name_genie_hermione]... I am a... whore." ("soft", "narrow", "base", "down") gen "What?" ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj") her "*Slurp-Slurp-Slurp*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause") - her "I truly am a slut and deeply enjoy sucking your cock." ("angry", "base", "base", "mid") + her "I truly am a slut, and I greatly enjoy sucking your cock." ("angry", "squint", "base", "R") gen "Oh, yes, yes... Say more things like that." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj", trans=d3) @@ -527,112 +670,120 @@ label hg_pf_blowjob_1: her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause") - her "Please, [genie_name]. Cum for me." ("soft", "narrow", "annoyed", "up") + her "Please, [name_genie_hermione]... Cum for me." ("soft", "narrow", "annoyed", "up") with hpunch - gen "*Argh*! You little...!!!" ("angry", xpos="far_left", ypos="head") - gen "{size=-4}(Here it comes. Should I give her a warning?){/size}" ("angry", xpos="far_left", ypos="head") + gen "*Argh*! You little--" ("angry", xpos="far_left", ypos="head") + gen "{size=-4}(Here it comes!){/size}" ("angry", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") "-Warn her-": - her "Yes, I love to suck and--" ("soft", "narrow", "annoyed", "up") - gen "Heads up, [hermione_name]! Here it comes!" ("angry", xpos="far_left", ypos="head") + $ states.her.status.gokkun = True + + her "Yes, I love to please--" ("soft", "narrow", "annoyed", "up") + gen "Heads up, [name_hermione_genie]! Here it comes!" ("angry", xpos="far_left", ypos="head") her "!!!" ("angry", "wide", "base", "stare") call her_chibi_scene("bj", trans=d5) pause.8 - call bld - call nar(">Hermione quickly puts your cock back in her mouth and continues to suck on it with great passion.") + nar "Hermione quickly puts your cock back in her mouth and continues to suck on it with great passion." call cum_block call her_chibi_scene("bj_cum_in", trans=d5) pause.8 call cum_block - call bld gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") - her "*Gulp!-Gulp!-Gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") + her "*Gulp*! *Gulp*! *Gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") with hpunch gen "And some more!" ("angry", xpos="far_left", ypos="head") - her "*Gulp*! *Gulp*! *Gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") - call bld("hide") + her "*Gulp*! *Gulp*! *Gulp*!" ("open_wide_tongue_cum", "squint", "worried", "ahegao") call ctc call her_chibi_scene("bj_pause", trans=d5) pause.8 - call bld gen "Well, I think that's it." ("base", xpos="far_left", ypos="head") her ".............." ("cum", "happyCl", "worried", "mid") - gen "Are you alright there, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("grin", "narrow", "base", "dead") - her "You came so much..." - gen "You managed to swallow it all though." ("base", xpos="far_left", ypos="head") + gen "Are you alright there, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + play sound "sounds/gulp.ogg" + pause .2 + her "Yes, [name_genie_hermione]..." ("grin", "narrow", "base", "dead") + her "You came so much..." ("grin", "narrow", "base", "dead") + gen "You managed to swallow it all, though." ("base", xpos="far_left", ypos="head") her "Yes... I thought I would choke..." ("grin", "narrow", "base", "dead") - her "But I made a promise to myself that I won't let go of your penis no matter what!" + her "But I made a promise to myself that I won't let go of your penis no matter what!" ("grin", "narrow", "base", "dead") gen "Good girl." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("grin", "narrow", "base", "dead") - her "But, still... You came so much..." + if _proud: + gen "Your parents should be proud." ("grin", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("grin", "narrow", "base", "dead") + her "I almost... Well, since you came so much..." ("base", "narrow", "base", "dead") her "I almost feel as if I just got fed..." ("soft", "narrow", "annoyed", "up") - her "My stomach is so full..." - gen "Yes, I fed you with my cum!" ("grin", xpos="far_left", ypos="head") + her "My stomach is so full..." ("soft", "closed", "annoyed", "up") + gen "You did get fed, I fed you with my cum!" ("grin", xpos="far_left", ypos="head") if game.daytime: - her "You did... I think I may skip lunch today..." ("soft", "narrow", "annoyed", "up") + her "I suppose you did... I think I may skip lunch today..." ("soft", "closed", "base", "up") else: - her "You did... I think I may skip supper tonight..." ("soft", "narrow", "annoyed", "up") + her "I suppose you did... I think I may skip supper tonight..." ("soft", "narrow", "annoyed", "up") - her "Can I get paid now?" ("angry", "wink", "base", "mid") + her "May I get paid now?" ("base", "narrow", "base", "stare") + gen "Certainly." ("grin", xpos="far_left", ypos="head") $ achievements.unlock("headlib") "-Don't bother-": - her "Yes, I love to suck and--" ("soft", "narrow", "annoyed", "up") + her "Yes, I love to please---" ("soft", "narrow", "annoyed", "up") call cum_block gen "{size=+7}Whore!{/size}" ("angry", xpos="far_left", ypos="head") - $ hermione.set_cum(face="light") her "!!?" ("shock", "wide", "base", "stare") call her_chibi_scene("bj_cum_out", trans=d5) call ctc $ hermione.set_cum(face="heavy") - her "[genie_name]..." ("shock", "wide", "base", "stare") - gen "Don't you move now, [hermione_name]." ("angry", xpos="far_left", ypos="head") + her "[name_genie_hermione]..." ("shock", "wide", "base", "stare") + gen "Don't you move now, [name_hermione_genie]." ("angry", xpos="far_left", ypos="head") $ hermione.set_cum(breasts="light") gen "Yes, just be still and take it." ("angry", xpos="far_left", ypos="head") - gen "*Argh*! You little slut! You make me cum hard, [hermione_name]!" ("angry", xpos="far_left", ypos="head") - her ".............." ("angry", "base", "base", "mid", tears="soft") - gen "Whew..." ("base", xpos="far_left", ypos="head") + gen "*Argh*! You little slut! All covered in cum!" ("angry", xpos="far_left", ypos="head") + her @ tears soft ".............." ("angry", "base", "base", "mid") call her_chibi_scene("bj_cum_out_done") + gen "Whew..." ("base", xpos="far_left", ypos="head") her ".............." ("normal", "happyCl", "worried", "mid") gen "Alright, I'm done..." ("base", xpos="far_left", ypos="head") - her "................." ("open", "base", "base", "mid") + her "................." ("disgust", "base", "base", "mid") if game.daytime: - her "My classes are about to start..." + her "My classes are about to start..." ("disgust", "narrow", "base", "down") else: - her "I just took a shower recently..." + her "I just took a shower recently..." ("open", "base", "base", "mid") gen "And I gave you another one." ("grin", xpos="far_left", ypos="head") - gen "Just wipe it off and you'll be alright." ("base", xpos="far_left", ypos="head") - her "............" ("open", "base", "base", "mid") + + gen "Just wipe it off, and you'll be alright." ("base", xpos="far_left", ypos="head") + her "............" ("annoyed", "narrow", "base", "down") gen "Unless, you don't want to." ("base", xpos="far_left", ypos="head") - her "*huh*?" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "And would rather go outside looking like this." ("base", xpos="far_left", ypos="head") - gen "Let everyone see what a nasty little slut you are." ("base", xpos="far_left", ypos="head") - her "Of course not, [genie_name]!" ("angry", "happyCl", "worried", "mid", emote="sweat") + her "*Huh*?" ("angry", "squint", "worried", "mid", emote="sweat") + gen "Perhaps you would rather go outside looking like this?" ("base", xpos="far_left", ypos="head") + gen "You could let everyone see what a nasty little slut you are." ("base", xpos="far_left", ypos="head") + if _proud: + gen "Go on...{w=0.4} Didn't you say you were rebellious?" ("grin", xpos="far_left", ypos="head") + if _MRM: + gen "I'm sure that group of yours would love to see it." ("grin", xpos="far_left", ypos="head") + her "No, thanks!" ("angry", "happyCl", "worried", "mid", emote="sweat") stop music fadeout 1.0 if game.daytime: - gen "You better go before you are late for your classes..." ("base", xpos="far_left", ypos="head") + gen "Very well... Then quickly clean yourself up, or you'll be late for your classes..." ("base", xpos="far_left", ypos="head") else: - gen "It's getting late..." ("base", xpos="far_left", ypos="head") + gen "Very well... Then quickly clean yourself up and head to bed..." ("base", xpos="far_left", ypos="head") - her "Yes..." ("angry", "happyCl", "worried", "mid", emote="sweat") - her "Can I get paid before I leave, [genie_name]?" ("upset", "wink", "base", "mid") + her "Yes, of course..." ("angry", "happyCl", "worried", "mid", emote="sweat") + her "May I get paid before I leave, [name_genie_hermione]?" ("upset", "wink", "base", "mid") + gen "Certainly." ("base", xpos="far_left", ypos="head") jump end_hg_pf_blowjob @@ -651,9 +802,9 @@ label hg_pf_hidden_blowjob: gen "Yes, good girl..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*!" - her "{size=+7}!!!{/size}" ("open_wide_tongue", "narrow", "base", "up") + her "{size=+7}!!!{/size}" ("open_wide_tongue", "squint", "base", "stare") gen "*Hmm*?!" ("base", xpos="far_left", ypos="head") if game.daytime: @@ -662,45 +813,42 @@ label hg_pf_hidden_blowjob: gen "Who could that be at this hour?" ("base", xpos="far_left", ypos="head") #Priority. - if hg_blowjob.ss_counter == 0: + if not states.her.ev.suck_it.snape_encounter: jump hg_hidden_blowjob_snape - elif hg_blowjob.nt_counter == 0: + elif not states.her.ev.suck_it.tonks_encounter: jump hg_hidden_blowjob_tonks - elif luna_unlocked and hg_blowjob.ll_counter == 0: + elif states.lun.unlocked and not states.her.ev.suck_it.luna_encounter: jump hg_hidden_blowjob_luna - $ hg_hidden_bj_list = [] - if hg_blowjob.ss_counter >= 1: - $ hg_hidden_bj_list.append("snape") - if hg_blowjob.nt_counter >= 1: - $ hg_hidden_bj_list.append("tonks") - if hg_blowjob.ll_counter >= 1: - $ hg_hidden_bj_list.append("luna") + random: + block if states.her.ev.suck_it.snape_encounter: + jump hg_hidden_blowjob_snape - #Random Pick. - $ character_choice = renpy.random.choice(hg_hidden_bj_list) + block if states.her.ev.suck_it.tonks_encounter: + jump hg_hidden_blowjob_tonks - $ renpy.jump("hg_hidden_blowjob_" + character_choice) + block if states.her.ev.suck_it.luna_encounter: + jump hg_hidden_blowjob_luna label hg_hidden_blowjob_snape: call her_chibi_scene("bj_pause", trans=d5) pause.8 - her "([genie_name], what should I do?)" ("shock", "wide", "base", "stare") - gen "Just keep sucking my cock, [hermione_name]. This doesn't concern you." ("base", xpos="far_left", ypos="head") + her "{size=-2}[name_genie_hermione], what should I do?{/size}" ("shock", "wide", "base", "stare") + gen "Just keep sucking, [name_hermione_genie]... This doesn't concern you." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("soft", "narrow", "base", "down") call her_chibi_scene("bj", trans=d5) pause.8 - call play_sound("knocking") - call bld + play sound "sounds/knocking.ogg" "*Knock-knock-knock*!" sna "Are you there? I need to talk to you." - her "(It's professor Snape!)" ("open_wide_tongue", "base", "base", "mid") + her "(It's professor Snape!)" ("open_wide_tongue", "base", "worried", "stare") call her_chibi_scene("bj_pause") - her "{size=-2}[genie_name], please, send him away, I beg you!{/size}" ("angry", "base", "base", "mid") + her "{size=-2}[name_genie_hermione], please, send him away, I beg you!{/size}" ("angry", "base", "worried", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") @@ -708,66 +856,78 @@ label hg_hidden_blowjob_snape: pass "\"I am busy right now, Severus.\"": - her "{size=-2}Thank you, [genie_name].{/size}" ("angry", "base", "base", "mid") + her "{size=-2}Thank you, [name_genie_hermione].{/size}" ("angry", "squint", "base", "mid") sna "Busy? With what?" - sna "All you do is sit on you arse all day." + sna "All you do is sit on your arse all day." sna "I really need to talk to you about something." gen "I said I am busy, Severus." ("base", xpos="far_left", ypos="head") - gen "Understood? I.. am.. \"busy\"!" ("base", xpos="far_left", ypos="head") + gen "Understood? I... am... \"busy\"!" ("base", xpos="far_left", ypos="head") sna "Oh... You mean \"busy\" busy? Gotcha!" sna "Well, I'll talk to you later then." - jump hg_pf_blowjob_1 + if states.her.tier > 5: + jump hg_pf_blowjob_2 + else: + jump hg_pf_blowjob_1 - $ hg_blowjob.ss_counter += 1 - $ her_mood = 30 + $ states.her.ev.suck_it.snape_encounter = True stop music fadeout 1.0 - her "{size=-2}[genie_name], no!{/size}" ("angry", "base", "angry", "mid", emote="angry") + her "{size=-2}[name_genie_hermione], no!{/size}" ("angry", "squint", "worried", "mid", emote="angry") - call nar(">Hermione gives your balls a firm twist full of frustration.") + nar "Hermione gives your balls a firm twist full of frustration." gen "Ouch!" ("angry", xpos="far_left", ypos="head") - call play_sound("door") - hide screen bld1 + play sound "sounds/door.ogg" call sna_chibi("stand","door","base") with d3 pause.8 + sna "Good, you're here." ("snape_01", xpos="base", ypos="base") + gen "{size=-2}Get to it, [name_hermione_genie]...{/size}" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("soft", "narrow", "angry", "down") + call sna_walk("mid", "base") pause.2 - call play_music("snape") - sna "Good, you are here." ("snape_01", xpos="base", ypos="base") - call her_chibi_scene("bj") - her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "slit", "worried", "ahegao") + play music "music/Dark Fog.ogg" fadein 1 if_changed + call her_chibi_scene("bj", trans=d5) + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "stare") sna "Listen, there is something I want to discuss..." ("snape_06") + gen "Oh... Yes..." ("base", xpos="far_left", ypos="head") sna "*Hmm*...?" ("snape_05") - sna "Genie? Are you alright?" - her "{size=-4}(Ginny!!? Is she here as well?!){/size}" ("open_wide_tongue", "narrow", "base", "up") - her "{size=-4}(No, please! I will die of shame!){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") + sna "Genie? Are you alright?" ("snape_05") + her "{size=-4}(Ginny!!? Is she here as well?!){/size}" ("open_wide_tongue", "squint", "worried", "stare") + her "{size=-4}(No, please! I will die of shame!){/size}" ("open_wide_tongue", "happyCl", "worried", "up") gen "Yes, Severus, I am fine..." ("base", xpos="far_left", ypos="head") her "{size=-4}(What? *Slurp*...? *Slurp*...? *Gulp*...?){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") sna "What are you... looking at?" ("snape_05") gen "*Ehm*... Just admiring...{w=0.5} the cupboard." ("base", xpos="far_left", ypos="head") gen "Please, continue..." ("base", xpos="far_left", ypos="head") sna "..............." ("snape_05") - her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "base", "up") + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "base", "stare") gen "Did you want to discuss something?" ("base", xpos="far_left", ypos="head") sna "Yes. That Granger girl." ("snape_06") her "{size=-4}(*Slurp*...! *Gobble*...! *Gulp*...!){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") gen "Oh... What about her?" ("base", xpos="far_left", ypos="head") sna "You promised that you would take care of the little witch." ("snape_04") - her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "slit", "worried", "ahegao") + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "stare") sna "But she is still being a major pain in my arse!" ("snape_04") - sna "Her tactics have changed..." + sna "Her tactics have changed..." ("snape_04") sna "But the amount of grief she manages to bring me is the same..." ("snape_03") - gen "*Ngh*... I see..." ("base", xpos="far_left", ypos="head") - sna "I swear, that girl is driving me crazy!" ("snape_10") - gen "Yeah, she is-- *Ah*... Driving me crazy as well..." ("angry", xpos="far_left", ypos="head") + + nar "You feel Hermione's grip, tighten around your cock slightly." + + gen "*Ngh*--{w=0.2} I see..." ("angry", xpos="far_left", ypos="head") + sna "That girl is driving me crazy!" ("snape_10") + gen "Yeah, she is--{w=0.2} *Ah*...{w=0.2} Driving me crazy as well..." ("angry", xpos="far_left", ypos="head") + gen "But I'm sure she'll come around, if she knows what's best for her..." ("angry", xpos="far_left", ypos="head") + + nar "Hermione lessens her grip once more." + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "base", "up") sna "Will you take care of this then?" ("snape_04") - gen "Yes. She'll get what she deserves." ("base", xpos="far_left", ypos="head") + gen "Certainly... I've got her covered--{w=0.2} I mean it! I've got it, covered!" ("angry", xpos="far_left", ypos="head") sna "Good... That is all I wanted to hear." ("snape_06") if game.daytime: @@ -779,7 +939,6 @@ label hg_hidden_blowjob_snape: stop music fadeout 1.0 call hide_characters - hide screen bld1 with d3 call sna_chibi("stand","mid","base", flip=True) @@ -789,23 +948,21 @@ label hg_hidden_blowjob_snape: call sna_walk(action="leave") pause.8 - call play_music("playful_tension") # SEX THEME. - call bld - ">Hermione doesn't say a thing. Her face is crimson due to a mix of embarrassment, guilt, and excitement." - ">Seeing her being so confused and vulnerable - and yet continuing to perform her task diligently - pushes you over the edge." - gen "(Here it comes!)" ("angry", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + + nar "Hermione doesn't say a thing... But her face glows crimson due to a mix of embarrassment, guilt, and excitement." jump hg_hidden_blowjob_cumming -label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, add in dialog variations. +label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, add in dialogue variations. call her_chibi_scene("bj_pause", trans=d5) pause.8 - her "{size=-2}[genie_name], what should I do?{/size}" ("shock", "wide", "base", "stare") - gen "Just keep sucking my cock, [hermione_name]. This doesn't concern you..." ("base", xpos="far_left", ypos="head") + her "{size=-2}[name_genie_hermione], what should I do?{/size}" ("angry", "squint", "worried", "up") + gen "Just keep sucking my cock, [name_hermione_genie]. This doesn't concern you..." ("base", xpos="far_left", ypos="head") lun "Sir? Are you there? I need to talk to you." her "(It's Luna!)" ("disgust", "wide", "base", "stare") - her "{size=-2}Please, [genie_name], send her away, I beg you!{/size}" ("shock", "happyCl", "worried", "mid") + her "{size=-2}Please, [name_genie_hermione], send her away, I beg you!{/size}" ("angry", "narrow", "worried", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") @@ -813,7 +970,7 @@ label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, a pass "\"I am busy right now, Miss Lovegood.\"": - her "{size=-2}Thank you, [genie_name]{/size}." ("angry", "base", "base", "mid") + her "{size=-2}Thank you, [name_genie_hermione]{/size}." ("angry", "base", "base", "mid") lun "Oh... I suppose I'll visit you later then, sir." if game.daytime: lun "Have a good day!" @@ -821,24 +978,25 @@ label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, a lun "Have a good night!" gen "I definitely will, Miss Lovegood!" ("base", xpos="far_left", ypos="head") - jump hg_pf_blowjob_1 + if states.her.tier > 5: + jump hg_pf_blowjob_2 + else: + jump hg_pf_blowjob_1 - $ hg_blowjob.ll_counter += 1 - $ her_mood += 10 + $ states.her.ev.suck_it.luna_encounter = True stop music fadeout 1.0 - her "{size=-2}[genie_name], no! Why would you let-{/size}" ("angry", "base", "angry", "mid", emote="angry") - gen "{size=-2}Quiet, [hermione_name]! Unless you want to get noticed...{/size}" ("base", xpos="far_left", ypos="head") + her "{size=-2}[name_genie_hermione], no! Why would you let-{/size}" ("angry", "base", "worried", "stare", emote="angry") + gen "{size=-2}Quiet, [name_hermione_genie]! Unless you want to get noticed...{/size}" ("base", xpos="far_left", ypos="head") #Luna comes in call lun_walk("mid", action="enter") - lun "Hello, [lun_genie_name]." ("base", "base", "base", "mid", xpos="base", ypos="head") - gen "{size=-4}[hermione_name]...{/size}" ("base", xpos="far_left", ypos="head") + lun "Hello, Professor." ("base", "base", "base", "mid", xpos="right", ypos="base", trans=d3) + gen "{size=-4}Get back to sucking, [name_hermione_genie]...{/size}" ("base", xpos="far_left", ypos="head") her "..." ("soft", "happy", "worried", "up") - gen "Miss Lovegood, you wouldn't believe what I'm--" ("base", xpos="far_left", ypos="head") - her "..." ("clench", "wide", "base", "mid") - call bld("hide") + gen "{size=+4}Miss Lovegood!{/size}" ("grin", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "base", "down") pause.2 call her_chibi_scene("bj", trans=d5) @@ -846,101 +1004,101 @@ label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, a her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "happyCl", "annoyed", "up") gen "*Ngh*!" ("angry", xpos="far_left", ypos="head") - lun "Sir?" ("soft", "base", "raised", "mid") - gen "*Ahem*... Miss Lovegood! How can I help you?" ("grin", xpos="far_left", ypos="head") - lun "I was asked to deliver you a message sir... From Professor Sprout." ("grin", "base", "base", "mid") + lun "Sir? Why are you yelling?" ("soft", "base", "raised", "mid") + gen "Oh, *Ahem*... Why, I was just so excited to see you, Miss Lovegood! How can I help you?" ("grin", xpos="far_left", ypos="head") + lun "Oh! Excited to see you too!" ("grin", "base", "base", "mid") + gen "... Did you need anything?" ("base", xpos="far_left", ypos="head") + lun "Oh! Yes, I was asked to deliver you a message, sir! From Professor Sprout." ("smile", "base", "base", "mid") gen "Professor Sprout?" ("base", xpos="far_left", ypos="head") gen "(Who was that again?)" ("base", xpos="far_left", ypos="head") lun "Yes, she's sent me to inform you about the school's latest yield of {i}Venomous Tentacula{/i}." ("base", "base", "base", "L") gen "(Venomous Tentacles?)" ("base", xpos="far_left", ypos="head") - her "{size=-4}(Those things are so nasty... *Slurp...* *Gulp...*){/size}" ("open_wide_tongue", "closed", "annoyed", "up") + her "{size=-4}(Those things are so nasty...){/size}" ("open_wide_tongue", "closed", "annoyed", "up") lun "Such feisty little plants." ("angry", "base", "annoyed", "mid") - gen "Ah...{w=0.4} Plants..." ("base", xpos="far_left", ypos="head") + her "*Slurp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "*Ah*...{w=0.4} Plants..." ("base", xpos="far_left", ypos="head") lun "Yes, we've been learning how to care for them properly..." ("grin", "base", "low", "mid") - gen "So why tell me?" ("base", xpos="far_left", ypos="head") - lun "Professor sprout wanted me to inform you that they've just started sucking!" ("smile", "base", "raised", "mid") + gen "So, why tell me?" ("base", xpos="far_left", ypos="head") + lun "Professor Sprout wanted me to inform you that they've just started sucking!" ("smile", "base", "raised", "mid") with hpunch - gen "What?" ("base", xpos="far_left", ypos="head") - her "{size=-4}(*Slurp...* *Slurp...* *Gulp...*){/size}" ("open_wide_tongue", "squint", "base", "stare") + gen "What?" ("angry", xpos="far_left", ypos="head") + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "base", "stare") lun "Sucking, sir!" ("base", "base", "base", "mid") - her "" ("open_wide_tongue", "narrow", "base", "up") - lun "It's so cute! They suck at each other's tentacles with their little mouths!" ("crooked_smile", "happyCl", "base", "mid") + her "..." ("open_wide_tongue", "narrow", "base", "up") + lun "They're so cute! They're sucking on each other's tentacles with their little mouths!" ("crooked_smile", "happyCl", "base", "mid") gen "(Plants with mouths?)" ("base", xpos="far_left", ypos="head") lun "Normally they only do that shortly before they spread their spores." ("open", "base", "base", "L") lun "It's a sign that they are almost ready!" ("grin", "base", "base", "mid") gen "Ready? for what?" ("base", xpos="far_left", ypos="head") lun "Pollination!" ("crooked_smile", "base", "base", "mid") - lun "The way Professor Sprout described it is them weaving their tentacles around each other, squeezing the spores out." ("soft", "base", "low", "mid") + lun "The way Professor Sprout described it, is that they weave their tentacles around each other, then squeeze the spores out." ("soft", "base", "low", "mid") gen "(How nasty!)" ("base", xpos="far_left", ypos="head") - - lun "But you won't believe how hard it actually is to get them to that stage..." ("annoyed", "base", "base", "R") - + her "{size=-4}(*Slurp*... *Slurp*...* *Gulp...){/size}" ("open_wide_tongue", "squint", "base", "stare") + lun "You won't believe how hard it actually is to get them to that stage..." ("annoyed", "base", "base", "R") gen "As a matter of fact, I'm quite familiar with the process." ("base", xpos="far_left", ypos="head") lun "You are?" ("soft", "base", "raised", "mid") - gen "Indeed! I've got one right here as a matter of fact!" ("grin", xpos="far_left", ypos="head") - gen "A trouble maker this one...{w=0.4} Sucking--{w=0.4} *UGH*...{w=0.2} Real good though!" ("grin", xpos="far_left", ypos="head") - her "{size=-4}(*Slurp...* *Slurp...* *Gulp...*){/size}" ("open_wide_tongue", "narrow", "base", "mid") + gen "Indeed! I've got one right here, actually!" ("grin", xpos="far_left", ypos="head") + gen "A troublemaker this one...{w=0.4} But she's sucking--{w=0.4} *Ugh*...{w=0.2} Real good though!" ("grin", xpos="far_left", ypos="head") + her "{size=-4}(*Slurp*... *Slurp*...* *Gulp*...){/size}" ("open_wide_tongue", "narrow", "base", "mid") lun "Oh! Can I see it, sir?" ("smile", "base", "base", "up") - her "" ("open_wide_tongue", "squint", "annoyed", "up") - gen "Not right now I'm afraid." ("base", xpos="far_left", ypos="head") - gen "It's such a shy little thing. You'd better not get any closer!" ("base", xpos="far_left", ypos="head") - lun "*Aww*... Okay." ("annoyed", "base", "base", "L") - her "{size=-4}(*Slurp...* *Slurp...* *Gulp...*){/size}" ("open_wide_tongue", "closed", "base", "mid") - gen "I know everything about those little devils..." ("base", xpos="far_left", ypos="head") - gen "This one was especially bitchy... It would moan about every tiny little thing I wanted to do." ("base", xpos="far_left", ypos="head") her "..." ("open_wide_tongue", "squint", "annoyed", "up") - gen "But now, straight down on their knees..." ("base", xpos="far_left", ypos="head") - gen "Sucking like crazy!" ("grin", xpos="far_left", ypos="head") - her "" ("open_wide_tongue", "squint", "base", "R") - lun "So they do not only have a head but also knees?" ("soft", "wide", "raised", "mid") + gen "Not right now, I'm afraid." ("base", xpos="far_left", ypos="head") + gen "It's such a shy little thing. You better not get any closer!" ("base", xpos="far_left", ypos="head") + lun "*Aww*... Okay." ("annoyed", "base", "base", "L") + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "closed", "base", "mid") + gen "I know everything about those little devils..." ("base", xpos="far_left", ypos="head") + gen "This one was especially whiny... She would moan about every tiny little thing I wanted to do." ("base", xpos="far_left", ypos="head") + her "..." ("open_wide_tongue", "squint", "annoyed", "up") + gen "But now, she immideately go down on her knees..." ("base", xpos="far_left", ypos="head") + gen "And suck like crazy!" ("grin", xpos="far_left", ypos="head") + her "..." ("open_wide_tongue", "squint", "base", "R") + lun "So they do not only have a head, but also knees?" ("soft", "wide", "raised", "mid") lun "I didn't even know that!" ("angry", "base", "base", "mid") her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "base", "up") - gen "*Ngh*...{w=0.3} Well you learn something new every day." ("angry", xpos="far_left", ypos="head") + gen "*Ngh*...{w=0.3} Well, you learn something new every day." ("angry", xpos="far_left", ypos="head") - lun "I hope you're being careful, Sprout told us they like to spit... And bite!" ("angry", "base", "low", "mid") + lun "I hope you're being careful... Sprout told us they like to spit, and bite!" ("angry", "base", "low", "mid") gen "Truly?" ("base", xpos="far_left", ypos="head") - lun "She said they'll hit you with their saliva, or bite at your limbs!" ("mad", "base", "base", "mid") + lun "Indeed! She said they'll hit you with their saliva, or bite at your limbs!" ("mad", "base", "base", "mid") gen "Maybe I should count myself lucky that you showed up and told me... I've got quite a sensitive third leg." ("base", xpos="far_left", ypos="head") her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "angry", "R") lun "Lucky indeed! Because Professor Sprout taught us an easy way to make them stop such behaviour, sir!" ("smile", "wink", "base", "mid") gen "I'm all ears!" ("base", xpos="far_left", ypos="head") - lun "They hate being spat on just as much as you, sir... Maybe even more so!" ("crooked_smile", "base", "base", "L") + lun "They hate being spat on, just as much as you, sir... Maybe even more so!" ("crooked_smile", "base", "base", "L") gen "(Those are some weird fucking plants...)" ("base", xpos="far_left", ypos="head") lun "She said that if a {i}Venomous Tentacula{/i} ever acts up--" ("open", "closed", "base", "mid") - lun "You should show dominance by spitting on it and put it in its place!" ("crooked_smile", "closed", "raised", "mid") + lun "Then you should show dominance and spit on it to put it in its place!" ("crooked_smile", "closed", "raised", "mid") lun "Her words, of course." ("soft", "base", "base", "R") - gen "Like this?" ("grin", xpos="far_left", ypos="head") + gen "I see... So, like this?" ("grin", xpos="far_left", ypos="head") call spit_on_her - - gen "Take that, you nasty little slu-- *Uhh*, plant." ("angry", xpos="far_left", ypos="head") - her "{size=-4}(What the... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "annoyed", "up", tears="sweat") + gen "Take that, you nasty little slu--{w=0.2} *Err*... plant." ("angry", xpos="far_left", ypos="head") + her @ tears sweat "{size=-4}(What the--){/size}" ("open_wide_tongue", "squint", "annoyed", "up") lun "That's right, sir!" ("grin", "base", "base", "mid") gen "This one's feisty!" ("angry", xpos="far_left", ypos="head") gen "I think it might need some more spit!" ("grin", xpos="far_left", ypos="head") call spit_on_her - her "{size=-4}(Stop it! *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up", tears="sweat") + her @ tears sweat "{size=-4}(Stop it!){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") gen "Looks like it's working!" ("base", xpos="far_left", ypos="head") lun "Great job, sir!" ("smile", "base", "base", "mid") lun "Professor Sprout did say that sometimes a bit of tough love is the only thing that can make them behave." ("grin", "closed", "base", "mid") - gen "Hold on a moment, mine is fighting back!" ("grin", xpos="far_left", ypos="head") + gen "Hold on a moment, now she's fighting back!" ("grin", xpos="far_left", ypos="head") lun "Be careful, sir! Or it will bite you!" ("soft", "wide", "base", "mid") gen "Don't worry, this one's getting a beating!" ("angry", xpos="far_left", ypos="head") call slap_her - her "{size=-4}(Ouch!... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "happyCl", "base", "up", cheeks="blush", tears="sweat") + her @ cheeks blush tears sweat "{size=-4}(Ouch!){/size}" ("open_wide_tongue", "happyCl", "base", "up") call slap_her call slap_her gen "Had enough, you nasty little thing?" ("angry", xpos="far_left", ypos="head") - her "{size=-4}(*Mph*...{w=0.3} *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "up", cheeks="blush", tears="tears_soft_sweat") + her @ cheeks blush tears tears_soft_sweat "{size=-4}(*Mmmph*...{w=0.3} *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "up") call slap_her gen "Looks like it needs some more!" ("grin", xpos="far_left", ypos="head") call slap_her call slap_her - - her "{size=-4}(Ouch!... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "stare", cheeks="blush", tears="tears_soft_sweat") + her @ cheeks blush tears tears_soft_sweat "{size=-4}(Ouch!){/size}" ("open_wide_tongue", "narrow", "worried", "stare") gen "There we go... It seems to have calmed down..." ("base", xpos="far_left", ypos="head") lun "Impressive! I didn't think we would see such good results this quickly, sir!" ("soft", "wide", "base", "mid") - lun "I'll have to tell Professor Sprout, she'll be overjoyed to hear about your training methods!" ("crooked_smile", "base", "base", "mid") + lun "I'll have to tell Professor Sprout! She'll be overjoyed to hear about your training methods!" ("crooked_smile", "base", "base", "mid") gen "Spitting on her was a great idea!" ("grin", xpos="far_left", ypos="head") gen "Give her my thanks, Miss Lovegood." ("grin", xpos="far_left", ypos="head") lun "Certainly, sir." ("base", "base", "base", "mid") @@ -954,37 +1112,36 @@ label hg_hidden_blowjob_luna: #TODO Once Luna X Hermione sex scenes are added, a call lun_walk(action="leave") stop music fadeout 1.0 - call bld gen "Well that wasn't too bad, was it?" ("base", xpos="far_left", ypos="head") - her "{size=-4}(............................. *Slurp...* *Slurp...* *Gulp...*){/size}" ("open_wide_tongue", "narrow", "worried", "up", cheeks="blush") + her @ cheeks blush "{size=-4}(............................. *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "up") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. - ">Hermione doesn't say a thing. Her face is crimson due to a mix of embarrassment, guilt, and excitement." + nar "Hermione doesn't say a thing... But her face glows crimson due to a mix of embarrassment, guilt, and excitement." jump hg_hidden_blowjob_cumming -#Needs Friendship level parameter added for tonks chat variations if ton_friendship < X: +#Needs Friendship level parameter added for tonks chat variations if states.ton.level < X: #Needs event label check for Tonks to ask if it's susan in there. replace if ag_st_imperio.tier >= 5: #Add Tonks BJ counter label hg_hidden_blowjob_tonks: call her_chibi_scene("bj_pause", trans=d5) pause.8 - her "[genie_name], what should I do?" ("shock", "wide", "base", "stare") - gen "Just keep sucking my cock, [hermione_name]. This doesn't concern you." ("base", xpos="far_left", ypos="head") - ton "[ton_genie_name]? Is it okay if I come in?" + her "{size=-2}[name_genie_hermione], what should I do?{/size}" ("shock", "wide", "base", "stare") + gen "{size=-2}Just keep sucking my cock, [name_hermione_genie]... This doesn't concern you.{/size}" ("base", xpos="far_left", ypos="head") + ton "Professor? Is it okay if I come in?" her "(It's Professor Tonks!)" ("clench", "happyCl", "worried", "mid") - her "{size=-2}Please, [genie_name], don't let her in!{/size}" ("open", "base", "worried", "mid") - her "I don't want my teacher to see me like this!" ("shock", "narrow", "worried", "down") + her "{size=-2}Please, [name_genie_hermione], don't let her in!{/size}" ("open", "base", "worried", "mid") + her "{size=-2}I don't want her to walk in on us like this...{/size}" ("angry", "narrow", "worried", "down") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Please, come on in.\"": pass - "\"I am busy right now, [tonks_name].\"": - her "Thank you, [genie_name]." ("soft", "base", "base", "mid") + "\"I am busy right now, Miss Tonks.\"": + her "{size=-2}Thank you, [name_genie_hermione]...{/size}" ("soft", "base", "base", "mid") ton "Busy?" ton "Could it be..." ton "Is Snape with you?" @@ -992,60 +1149,61 @@ label hg_hidden_blowjob_tonks: ton "Are you two having one of your silly little duels again?" else: ton "Don't stay up drinking again..." - ton "We wouldn't want him making a fool of himself. Not in front of the students." + ton "We wouldn't want him to make a fool of himself... Not in front of the students." ton "He made such a mess last time..." call her_chibi_scene("bj", trans=d5) pause.8 her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") - gen "He isn't here, actually. But I will let him know..." ("base", xpos="far_left", ypos="head") - ton "So, are you with a student then, *Hmm*?" - her "{size=-4}(.......... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "Yep, just me and Snape, duetting as always..." ("base", xpos="far_left", ypos="head") + ton "Nice try... I just saw Severus on my way here... So, you're with a student, then?" + her "{size=-4}(.......... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "stare") ton "Who is she?" - if ag_st_imperio.tier >= 3: - ton "Is it the blonde girl? Or..." - her "{size=-4}(Blonde!?! *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") - her "{size=-4}(*Slurp*... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") - elif ag_st_imperio.tier >= 5: - ton "You aren't shagging that busty red head, are you?" - her "{size=-4}(Busty who? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") - her "{size=-4}(Is she talking about Susan? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") + random: + block if states.ast.ev.imperio_with_tonks.completed_once: + ton "Is it the blonde girl? Or..." + her "{size=-4}(Blonde!?! *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") + her "{size=-4}(*Slurp*... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") + block if states.ast.ev.imperio_with_susan.completed_once: + ton "You aren't shagging that busty red head, are you?" + her "{size=-4}(Busty who? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") + her "{size=-4}(Is she talking about Susan? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "That's non of your concern, Miss Tonks!" ("base", xpos="far_left", ypos="head") + gen "That's none of your concern, Miss Tonks!" ("base", xpos="far_left", ypos="head") gen "You may leave now..." ("base", xpos="far_left", ypos="head") her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "base", "up") - if ton_friendship < 50: + if states.ton.level < 50: ton "You sure you don't need my assistance?" gen "I said, leave!" ("angry", xpos="far_left", ypos="head") else: - ton "I can help you jack off, if that's what you're--" - gen "Maybe later, [tonks_name]." ("base", xpos="far_left", ypos="head") - ton "Okay, [ton_genie_name]." - ton "*Giggle...*" + ton "Perhaps I could help with--" + gen "Maybe later, Miss Tonks." ("base", xpos="far_left", ypos="head") + + ton "Alright then..." + ton "*Giggles*" her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") gen "I think she's gone..." ("base", xpos="far_left", ypos="head") - jump hg_pf_blowjob_1 + if states.her.tier > 5: + jump hg_pf_blowjob_2 + else: + jump hg_pf_blowjob_1 - $ hg_blowjob.nt_counter += 1 - $ her_mood += 10 + $ states.her.ev.suck_it.tonks_encounter = True # Setup $ ton_outfit_last.save() # Store current outfit. $ tonks.equip(ton_outfit_default) stop music fadeout 1.0 - her "{size=-2}[genie_name], no! Please she will know that-{/size}" ("angry", "base", "angry", "mid", emote="angry") - gen "*Shhhhsh*... Keep your voice down..." ("base", xpos="far_left", ypos="head") - - #Tonks comes in - call bld("hide") + her "{size=-2}[name_genie_hermione], no! Please, she will--{/size}" ("angry", "base", "worried", "stare", emote="angry") + gen "*Shhh*... Keep your voice down..." ("base", xpos="far_left", ypos="head") pause.2 - call play_sound("door") + play sound "sounds/door.ogg" call ton_chibi("stand","door","base") call chibi_emote("hearts", "tonks") with d3 @@ -1060,16 +1218,19 @@ label hg_hidden_blowjob_tonks: if game.daytime: ton "Hello, Sir." ("base", "base", "base", "mid", xpos="right", ypos="base", trans=d3) else: - ton "Good evening, Sir." ("base", "base", "shocked", "mid", xpos="right", ypos="base", trans=dissolve) + ton "Good evening, Sir." ("base", "base", "shocked", "mid", xpos="right", ypos="base", trans=d3) + gen "{size=-4}Just keep sucking, [name_hermione_genie]...{/size}" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("soft", "narrow", "base", "down") call her_chibi_scene("bj", trans=d5) + pause.8 her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") gen "Tonks! What can I do for you?" ("grin", xpos="far_left", ypos="head") ton "I was wondering if we could--" ("open", "base", "raised", "R") ton "(...)" ("annoyed", "narrow", "raised", "L") ton "Am I interrupting something?" ("soft", "base", "raised", "down") - her "(She's going to find out!!!)" ("open_wide_tongue", "narrow", "annoyed", "up") + her "(She's going to find out!!!)" ("open_wide_tongue", "narrow", "worried", "up") gen "Nothing important..." ("base", xpos="far_left", ypos="head") menu: @@ -1081,48 +1242,54 @@ label hg_hidden_blowjob_tonks: "-Lie-": gen "... Just polishing...{w=0.5} the woodwork." ("base", xpos="far_left", ypos="head") ton "Like I'm going to believe that..." ("upset", "base", "base", "downR") - ton "Are you masturbating, [ton_genie_name]?" ("horny", "base", "raised", "mid") + ton "Are you masturbating?" ("horny", "base", "raised", "mid") - if ton_friendship < 50: - ton "Or perhaps somebody else has their tongue wrapped around it?" ("soft", "base", "raised", "L") - her "{size=-4}(*Blergchhhgh*... *Cough*... *Cough*... *Cough*...){/size}" ("open_wide_tongue", "base", "worried", "ahegao") + if states.ton.level < 50: + ton "Or perhaps there's someone behind that desk who has their tongue wrapped around it?" ("soft", "base", "raised", "L") + call her_chibi_scene("bj_pause", trans=d5) + her "{size=-4}*Blergchhhgh*... *Cough*... *Cough*... *Cough*...{/size}" ("open_wide_tongue", "wide", "base", "stare") ton "What was that?" ("base", "base", "raised", "mid") - ton "Surely there's nobody at this school who would be able to pleasure you properly..." ("grin", "base", "raised", "mid") + ton "Surely there's nobody at this school who would be able to pleasure you in such a way..." ("grin", "base", "raised", "mid") else: ton "Are you stroking your hard, {w=0.3}magnificent, {w=0.3}cock?" ("soft", "base", "base", "stare") with hpunch - her "{size=-4}(*Blergchhhgh*... *Cough*... *Cough*... *Cough*...){/size}" ("open_wide_tongue", "slit", "worried", "ahegao") call her_chibi_scene("bj_pause", trans=d5) - her "{size=-4}What??{/size}" ("open_wide_tongue", "narrow", "base", "up") + her "{size=-4}(*Blergchhhgh*... *Cough*... *Cough*... *Cough*...){/size}" ("open_wide_tongue", "slit", "worried", "ahegao") + her "{size=-4}What??{/size}" ("clench", "narrow", "base", "up") ton "What was that?" ("open", "base", "raised", "mid") - ton "[ton_genie_name]?!" ("grin", "base", "base", "mid") - gen "*Ehm*-{w=0.5} My belly?" ("base", xpos="far_left", ypos="head") - ton "Sounded like somebody doesn't know how to deep throat a dick properly..." ("open", "base", "base", "R") + ton "Professor?!" ("grin", "base", "base", "mid") + gen "*Err*--{w=0.5} My belly?" ("base", xpos="far_left", ypos="head") + ton "Sounded like somebody who doesn't know how to deep-throat a dick properly..." ("open", "base", "base", "R") - her "(Excuse me?!)" ("open_wide_tongue", "narrow", "annoyed", "up") + her "(Excuse me?!)" ("annoyed", "narrow", "base", "up") gen "Don't be mean, she's doing her best..." ("base", xpos="far_left", ypos="head") - ton "So there is a girl behind you!" ("horny", "wide", "raised", "down") + ton "So, there is a girl over there!" ("horny", "wide", "raised", "down") ton "Who is it? Tell me!" ("soft", "shocked", "shocked", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") gen "It's Miss Granger." ("base", xpos="far_left", ypos="head") ton "Miss Granger?!" ("open", "wide", "shocked", "stare") - if her_reputation <= 15: + if states.her.public_level <= 15: ton "*Hmm?*... I thought she'd be busy pretending to study in the library." ("open", "base", "raised", "mid") - her "(Pretending???)" ("open_wide_tongue", "narrow", "base", "up") + her "(Pretending???)" ("angry", "narrow", "base", "up") else: ton "*Oh?* I could've sworn I just saw her in the library fluttering her eyelashes to some Slytherin boy..." ("open", "base", "raised", "mid") - her "(What!!?)" ("open_wide_tongue", "narrow", "annoyed", "up") + her "(What!!?)" ("angry", "narrow", "annoyed", "up") with hpunch gen "Ouch, I felt that..." ("base", xpos="far_left", ypos="head") - if ton_friendship < 50: - ton "So she has her lips wrapped around you? {w=0.5}Right now???" ("soft", "base", "shocked", "L") + if states.ton.level < 50: + ton "So, she has her lips wrapped around you? {w=0.5}Right now???" ("soft", "base", "shocked", "L") else: ton "You're telling me that you are fucking her mouth? {w=0.5}Right now???" ("soft", "base", "shocked", "mid") - ton "Oh I've got to see this..." ("horny", "base", "base", "down") + gen "Not at this very moment..." ("base", xpos="far_left", ypos="head") + gen "Although I'm sure she knows what it best for her and will get back to it, any moment--" ("base", xpos="far_left", ypos="head") + + call her_chibi_scene("bj", trans=d5) + gen "*Ngh*--{w=0.2} There she goes!" ("angry", xpos="far_left", ypos="head") + ton "Oh, I've got to see this..." ("horny", "base", "base", "down") ton "" ("horny", "base", "base", "down", xpos="mid", trans=d3) pause.2 gen "Wait!" ("angry", xpos="far_left", ypos="head") @@ -1131,89 +1298,91 @@ label hg_hidden_blowjob_tonks: gen "You better not come any closer..." ("base", xpos="far_left", ypos="head") gen "Or I fear she will bite me..." ("base", xpos="far_left", ypos="head") gen "Or worse..." ("angry", xpos="far_left", ypos="head") - gen "She'll stop with the sucking..." ("base", xpos="far_left", ypos="head") - her "(Damn right I will...)" ("open_wide_tongue", "narrow", "base", "up") + gen "She'll stop sucking..." ("base", xpos="far_left", ypos="head") + her "(Damn right I will...)" ("open_wide_tongue", "narrow", "annoyed", "up") - call her_chibi_scene("bj", trans=d5) - her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "slit", "worried", "ahegao") + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "closed", "annoyed", "ahegao") ton "Very well..." ("base", "base", "raised", "R", xpos="right", trans=d3) her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") ton "Is that really, {w=0.5}Miss Hermione Granger,{w=0.5} back there?" ("horny", "narrow", "base", "mid") - ton "That's so hard to believe!" ("open", "base", "raised", "L") - ton "Or perhaps, you are just fucking with me, [ton_genie_name]..." ("soft", "base", "base", "mid") - gen "I'm not fucking with you..." ("base", xpos="far_left", ypos="head") - gen "... I'm fucking her mouth." ("grin", xpos="far_left", ypos="head") + ton "I can't help but think..." ("open", "base", "raised", "L") + ton "Well, let's say I wouldn't be surprised if you were just fucking with me..." ("soft", "base", "base", "mid") + gen "Me, fucking with you?" ("base", xpos="far_left", ypos="head") + gen "... The only fucking going on here, is me, fucking Miss Granger's mouth." ("grin", xpos="far_left", ypos="head") ton "That's too good to be true!" ("horny", "narrow", "base", "stare") her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") - ton "Miss Granger, If that's really you back there, why don't you say hi to your favourite teacher?" ("grin", "base", "raised", "down") + ton "Miss Granger, If that's really you back there, why don't you say \"hi\" to your favourite teacher?" ("grin", "base", "raised", "down") gen "(...)" ("base", xpos="far_left", ypos="head") - ton "I will reward you with fifty house points if you show yourself!" ("base", "base", "raised", "down") + ton "I will reward you with fifty house points if you say something!" ("base", "base", "raised", "down") with hpunch gen "What?!" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) - her "(Oh wow, that's a lot of points!)" ("open_wide_tongue", "narrow", "annoyed", "down_soft") + her "(Oh wow... That's a lot of points!)" ("clench", "squint", "base", "stare") + gen "Don't listen to her! Keep sucking!" ("angry", xpos="far_left", ypos="head") + her "..." ("mad", "squint", "base", "up") call her_chibi_scene("bj", trans=d5) - gen "You can't give her that many points, [tonks_name]! She's already getting {number=current_payout} from me!" ("angry", xpos="far_left", ypos="head") - gen "Do you even realise how many days I'll have to spend with Snape, of all people, to get even with Slytherin again, after this?" ("base", xpos="far_left", ypos="head") - ton "So what? The girl has clearly earned it!" ("soft", "base", "annoyed", "mid") - ton "Sucking her headmaster's cock..." ("horny", "base", "annoyed", "down") - ton "Fifty points could be yours, Miss Granger!" ("open", "base", "raised", "down") - ton "You only have to stick your gorgeous head out and say hi to me, and of course..." ("open", "base", "base", "R") - ton "I promise I won't tell anybody." ("base", "base", "base", "down") + gen "You can't give her that many points! She's already getting {number=current_payout} from me!" ("angry", xpos="far_left", ypos="head") + gen "That's already a massive amount! I think..." ("base", xpos="far_left", ypos="head") + ton "So what? The girl has clearly earned those, from sucking your cock!" ("soft", "base", "annoyed", "mid") + ton "Now, what do you say Miss Granger?" ("horny", "base", "annoyed", "down") + ton "Fifty points could be yours..." ("open", "base", "raised", "down") + ton "You only have to say hello to me..." ("base", "narrow", "base", "L") + ton "I promise I won't tell anybody..." ("base", "base", "base", "down") ton "It will be our little secret." ("soft", "base", "shocked", "down") - her "(...)" ("open_wide_tongue", "narrow", "annoyed", "up") + her "(...)" ("open_wide_tongue", "narrow", "worried", "down") gen "Do what you must, girl..." ("base", xpos="far_left", ypos="head") her "(...............)" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) - her "" ("disgust", "narrow", "worried", "down", xpos="left", cheeks="blush", flip=True, trans=d3) + her @ cheeks blush "*Ahem*..." ("disgust", "narrow", "worried", "down") pause 1.0 - ton "Oh my!" ("horny", "base", "base", "down") + ton "Oh my... Is that..." ("horny", "base", "base", "down") her "H-Hello, professor Tonks." ("clench", "happyCl", "worried", "mid") - ton "Miss Granger, what a pleasant surprise." ("grin", "wide", "raised", "L") + ton "Miss Granger... Such a pleasant surprise." ("grin", "wide", "raised", "L") ton "Are you having a good time back there?" ("base", "wide", "base", "L") + her "(.......)" ("soft", "narrow", "worried", "up") + her "*Ehm*........." ("disgust", "narrow", "worried", "down") + ton "It certainly must be a sight to behold..." ("base", "base", "base", "mid") + her "*Ehm*........." ("annoyed", "narrow", "worried", "down") + ton "Well then... Don't let me stand in your way of completing your task..." ("base", "base", "base", "mid") + her "........." ("soft", "narrow", "worried", "down") - if her_reputation <= 15: - ton "It sure sounded like you were..." ("horny", "base", "raised", "mid") - else: - ton "You nasty little cock sucker." ("horny", "base", "raised", "mid") - - her "(.......)" ("soft", "narrow", "annoyed", "up") - her "I suppose so........." ("disgust", "narrow", "worried", "down") - ton "What a sight to see..." ("base", "base", "base", "mid") - - her "" ("open_wide_tongue", "squint", "worried", "up", xpos="base", flip=False) + her "" ("open_wide_tongue", "squint", "worried", "up") call her_chibi_scene("bj", trans=d5) - if ton_friendship < 50: - ton "You're really going to town, aren't you..." ("base", "base", "base", "down") - ton "You should make sure you breathe every once in a while dear girl." ("horny", "base", "base", "mid") + her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") + + ton "*Giggles*" ("base", "base", "base", "down") + + if states.ton.level < 50: + ton "You're really going to town, aren't you... I can hear those lips smacking, all the way from here..." ("base", "base", "base", "down") + ton "You should make sure to breathe every once in a while, dear girl." ("horny", "base", "base", "mid") gen "If you need to have her vitals checked out afterwards - I'm sure we could come to an arrangement." ("grin", xpos="far_left", ypos="head") else: ton "I'd love to join you back there, Miss Granger..." ("base", "base", "base", "down") - ton "Suck your Headmaster's dick with you!" ("horny", "base", "angry", "mid") - her "{size=-4}(She'd do what?... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "up") - gen "You can both have it!" ("grin", xpos="far_left", ypos="head") + her "{size=-4}(She'd love to--){/size}" ("open_wide_tongue", "narrow", "worried", "up") + gen "The more, the merrier!" ("grin", xpos="far_left", ypos="head") - ton "I'm sorry, [ton_genie_name]... I'm already pre-occupied with something..." ("open", "narrow", "base", "R") + ton "I'm sorry, Professor... I'm already pre-occupied with something..." ("open", "narrow", "base", "R") if game.daytime: - ton "Teaching our second-years how to cast a simple deflection spell..." ("open", "base", "raised", "down") + ton "I'm currently teaching a class, how to cast a simple deflection spell..." ("open", "base", "raised", "down") else: - ton "I'm preparing some material for our second-years how to cast a simple deflection spell..." ("open", "base", "raised", "down") + ton "I'm preparing some material, on how to cast a simple deflection spell..." ("open", "base", "raised", "down") + ton "We are already two sessions behind my planned class schedule." ("annoyed", "base", "base", "mid") ton "I came to you to get consultation about some of the material I had prepared for them." ("open", "base", "shocked", "down") - gen "(Yeah right, more like she wanted some of my firewhisky...)" ("base", xpos="far_left", ypos="head") + gen "(Yeah right... More like she wanted some of my firewhisky...)" ("base", xpos="far_left", ypos="head") ton "But since you have to take care of Miss Granger right now..." ("base", "base", "raised", "down") ton "I suppose it can wait." ("base", "base", "raised", "R") ton "Who said teaching would be easy, am I right?" ("open", "closed", "shocked", "mid") @@ -1230,24 +1399,20 @@ label hg_hidden_blowjob_tonks: ton "Sixty-nine points!" ("grin", "wide", "base", "mid") $ gryffindor += 69 - her "(Sixty-nine! That's even more than she agreed on!)" ("shock", "wide", "base", "up") - gen "Didn't you say fifty earlier?" ("base", xpos="far_left", ypos="head") + her "(Sixty-nine! That's even more than she offered before!)" ("shock", "wide", "base", "up") + gen "Didn't you say fifty, earlier?" ("angry", xpos="far_left", ypos="head") ton "Yes, but sixty-nine is so much better!" ("horny", "base", "raised", "mid") ton "Don't you think so too, Miss Granger?" ("base", "base", "angry", "down") - her "*Ehm*... Yes. Thank you, professor Tonks." ("disgust", "happyCl", "worried", "mid") - gen "Less talking, more sucking, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "Sorry, [genie_name]..." ("soft", "narrow", "annoyed", "up") + her "*Ehm*... Yes... Thank you, Professor Tonks." ("disgust", "happyCl", "worried", "mid") + gen "Less talking, more sucking, Miss Granger!" ("base", xpos="far_left", ypos="head") + her "Sorry, sir..." ("soft", "narrow", "annoyed", "up") call her_chibi_scene("bj", trans=d5) her "{size=-4}(*Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") - ton "I'm going to have to go, [ton_genie_name]." ("open", "closed", "shocked", "mid") - ton "Wish I could watch you two a little longer..." ("soft", "base", "base", "L") - ton "But I have to head back to my office." ("open", "base", "base", "downR") - gen "What a shame." ("base", xpos="far_left", ypos="head") - if ton_friendship < 50: - ton "Make sure she gets a good taste." ("horny", "base", "base", "mid") - else: - ton "Make sure she swallows for me." ("horny", "base", "base", "mid") + ton "I'm going to have to go, Professor." ("open", "closed", "shocked", "mid") + ton "Of course, I wish I could stay for a bit longer..." ("soft", "base", "base", "L") + gen "Yes, such a shame." ("base", xpos="far_left", ypos="head") + ton "Make sure she swallows for me." ("horny", "base", "base", "mid") gen "Every last drop!" ("grin", xpos="far_left", ypos="head") if game.daytime: @@ -1265,9 +1430,9 @@ label hg_hidden_blowjob_tonks: $ tonks.equip(ton_outfit_last) # Equip custom outfit. - call play_music("playful_tension") # SEX THEME. - call bld - ">Hermione doesn't say a thing. Her face is crimson due to a mix of embarrassment, guilt, and excitement." + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + + nar "Hermione doesn't say a thing... But her face glows crimson due to a mix of embarrassment, guilt, and excitement." jump hg_hidden_blowjob_cumming @@ -1275,220 +1440,242 @@ label hg_hidden_blowjob_cumming: call her_chibi_scene("bj", trans=d5) pause.8 - her "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "squint", "worried", "up", flip=False) - ">She continues to suck on your cock with an almost vicious determination." - ">Her technique is lacking but she makes up for it with the effort she puts in." + her @ cheeks blush "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "squint", "worried", "up", flip=False) + nar "She continues to suck on your cock with an almost vicious determination." + nar "Her technique is lacking, but she makes up for it with the amount of effort she puts in." gen "Yes... I love your eager, little mouth, girl..." ("base", xpos="far_left", ypos="head") - her "*Gobble*! *Gobble*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her @ cheeks blush "*Gobble*! *Gobble*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) - her "[genie_name]?" ("soft", "narrow", "annoyed", "up") + + her @ cheeks blush "[name_genie_hermione]?" ("soft", "squint", "worried", "up") gen "*Hmm*?" ("base", xpos="far_left", ypos="head") - her "Are you going to cum on my face today?" ("soft", "narrow", "annoyed", "up") - her "Or do you plan to cum in my mouth?" + her @ cheeks blush "Are you going to cum on my face today?" ("open", "squint", "worried", "up") + her @ cheeks blush "Or are you planning on finishing in my mouth?" ("soft", "narrow", "base", "up") + $ _facial = False + $ _mouth = False menu: - "\"I Plan to splatter your face with cum!\"": - her "I see..." ("soft", "narrow", "annoyed", "up") - gen "Why do you ask?" ("base", xpos="far_left", ypos="head") - her "Oh... I just read in a book that semen contains a lot of antioxidants..." ("grin", "narrow", "base", "dead") - her "It's good for the skin..." - gen "Great. One facial coming right up." ("base", xpos="far_left", ypos="head") - gen "Back to work now." ("base", xpos="far_left", ypos="head") + "\"My plan is to splatter your face with cum!\"": + $ _facial = True + her @ cheeks blush "I see..." ("soft", "squint", "base", "up") + her "Well, I suppose semen does contain numerous antioxidants..." ("open", "narrow", "base", "dead") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her "It's good for the skin..." ("open", "closed", "base", "mid") + gen "I see... One facial, coming right up!" ("base", xpos="far_left", ypos="head") + gen "But first, you'll have to suck it some more!" ("base", xpos="far_left", ypos="head") - "\"I Plan to fill your mouth with cum!\"": - her "I see..." ("grin", "narrow", "base", "dead") + "\"My plan is to fill your mouth with cum!\"": + $ _mouth = True + her @ cheeks blush "I see..." ("soft", "narrow", "base", "up") gen "Why do you ask?" ("base", xpos="far_left", ypos="head") - her "Well, I am trying to watch my calorie-intake..." ("soft", "narrow", "annoyed", "up") - her "I just wonder how much calories your load contains, [genie_name]." - her "Maybe I should skip my next meal..." - gen "[hermione_name]." ("base", xpos="far_left", ypos="head") + if not states.her.status.gokkun: + her @ cheeks blush "(I've never done that before...)" ("soft", "narrow", "worried", "down") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Oh!" ("angry", "narrow", "worried", "mid") + her "Well, I am trying to watch my calorie-intake..." ("soft", "narrow", "worried", "down") + her "I was just considering how many calories your load may contain..." ("soft", "narrow", "base", "down") + her "I'd like to know if I should consider skipping my next meal..." ("soft", "squint", "worried", "R") + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Yes?" ("soft", "narrow", "annoyed", "up") gen "Dick back in the mouth." ("base", xpos="far_left", ypos="head") "\"I don't plan so far ahead.\"": - her "I see..." ("soft", "narrow", "annoyed", "up") + her @ cheeks blush "I see..." ("soft", "squint", "worried", "up") gen "Don't you like surprises?" ("base", xpos="far_left", ypos="head") - her "Not really..." ("soft", "narrow", "annoyed", "up") - her "I rather enjoy planning ahead actually..." - gen "Well some things in life are just unpredictable." ("base", xpos="far_left", ypos="head") - gen "There is only one way to find out for sure." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Not really..." ("soft", "closed", "worried", "mid") + her @ cheeks blush "I much rather plan ahead..." ("open", "closed", "base", "up") + gen "Well, some things in life are unpredictable..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Right..." ("clench", "narrow", "base", "up") + gen "Now, get back to sucking." ("base", xpos="far_left", ypos="head") "\"What would you like?\"": - her "If it is all the same to you, [genie_name]..." ("soft", "narrow", "annoyed", "up") - - $ random_number = renpy.random.randint(1, 2) - if random_number == 1: - her "I would like you to cum on my face, [genie_name]." ("grin", "narrow", "base", "dead") - her "I read that it's good for the skin." - else: - her "I would like you to cum in my mouth." ("grin", "narrow", "base", "dead") - her "You usually cum so much so I think I will be able to just skip my next meal..." - if game.daytime: - her "And do some light workout instead." - else: - her "And do some homework instead." - - gen "Well, we'll see about that." ("base", xpos="far_left", ypos="head") - gen "Back to sucking now." ("base", xpos="far_left", ypos="head") + random: + block: + her "I suppose I wouldn't mind if you came on my face..." ("base", "narrow", "base", "down") + her "At least it's good for the skin." ("open", "closed", "base", "mid") + gen "*Hmm*... You're not trying to get out of swallowing, are you?" ("base", xpos="far_left", ypos="head") + her "Of course not..." ("soft", "closed", "base", "mid") + gen "Well, we'll see about that." ("base", xpos="far_left", ypos="head") + gen "Dick back in the mouth." ("base", xpos="far_left", ypos="head") + block: + her "I suppose I wouldn't mind if you came in my mouth..." ("base", "narrow", "base", "down") + gen "Oh?" ("base", xpos="far_left", ypos="head") + if game.daytime: + her "I mean, since this has taken so long, I'm sure I've missed lunch..." ("soft", "closed", "base", "mid") + else: + her "I mean, I need to go to bed soon... I'd rather not spend time cleaning up...." ("open", "closed", "base", "mid") + gen "Trying to be cheeky, are you?" ("base", xpos="far_left", ypos="head") + her "..." ("normal", "base", "base", "mid") + gen "Now, put this back against the inside of those cheeks." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("soft", "narrow", "base", "down") call her_chibi_scene("bj", trans=d5) her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "You are getting better at this [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You're getting better at this, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "narrow", "base", "up") gen "Okay, say something nasty now..." ("base", xpos="far_left", ypos="head") her "*Slurp*--?" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) - if her_tier <= 5: + if states.her.tier <= 5: her "*Uhm*..." ("angry", "narrow", "base", "down") her "I eat cockroaches?" ("angry", "base", "base", "mid") gen "What the fuck?" ("base", xpos="far_left", ypos="head") - her "T-they are pretty nasty, [genie_name]..." ("angry", "base", "base", "mid") - gen "No, [hermione_name], I mean something dirty!" ("base", xpos="far_left", ypos="head") + her "T-they are pretty nasty, [name_genie_hermione]..." ("angry", "base", "base", "mid") + gen "No, [name_hermione_genie], I mean something dirty!" ("base", xpos="far_left", ypos="head") gen "And don't you dare to say \"mud\"!" ("base", xpos="far_left", ypos="head") - gen "I mean dirty in a sexual way!" ("base", xpos="far_left", ypos="head") + gen "I meant dirty in a sexual way!" ("base", xpos="far_left", ypos="head") her "Oh... *Ehm*..." ("angry", "narrow", "base", "down") gen "Ah, never mind, the moment is gone..." ("base", xpos="far_left", ypos="head") - her "*Ehm*... I'm sorry, [genie_name]." ("angry", "base", "base", "mid") - gen "Yeah, whatever. Make it up to me by sucking my cock harder." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("upset", "closed", "base", "mid") + her "*Ehm*... I'm sorry, [name_genie_hermione]." ("angry", "base", "base", "mid") + gen "Then make it up to me, by sucking my cock some more." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]." ("upset", "closed", "base", "mid") else: - her "I'm a cumslut, [genie_name]." ("base", "squint", "base", "mid") - her "A slut for your cum." ("base", "narrow", "base", "mid_soft") - gen "That's it, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "It's all I can think about [genie_name]." ("base", "narrow", "worried", "down") - her "Sucking your dirty old cock..." - gen "Well you better get back to it then [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("grin", "narrow", "base", "dead") - gen "You're welcome, cumslut." ("base", xpos="far_left", ypos="head") + her "I'm... I'm a cumslut, [name_genie_hermione]." ("base", "squint", "base", "mid") + gen "Oh, yes you are, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "It's all I can think about, [name_genie_hermione]." ("base", "narrow", "worried", "down") + her "As soon as I leave your office, always wonder when I'll get to enjoy your cum again..." ("base", "narrow", "worried", "down") + her "Please [name_genie_hermione], I must have it!" ("base", "narrow", "worried", "down") + gen "You'll have it in just a moment, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "But first, you must suck my cock some more." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("open", "narrow", "base", "dead") + gen "You're welcome, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "..." ("base", "narrow", "base", "up") call her_chibi_scene("bj", trans=d5) her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Yes, like this... Good..." ("base", xpos="far_left", ypos="head") + gen "Yes... Just like that..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "You know what? I think we are almost there." ("base", xpos="far_left", ypos="head") + gen "I think I'm almost-- *Ngh*..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Yes, definitely." ("base", xpos="far_left", ypos="head") + gen "Yes... I'm definitely--" ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gobble*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Alright, [hermione_name], this is the final stretch." ("base", xpos="far_left", ypos="head") - gen "Show me what you've got." ("angry", xpos="far_left", ypos="head") - her "*Gobble-goble-slurp-goble*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Yes, like that!" ("angry", xpos="far_left", ypos="head") + gen "Alright, [name_hermione_genie]... Final stretch!" ("base", xpos="far_left", ypos="head") + gen "Show me what you've got!" ("angry", xpos="far_left", ypos="head") + her "*Gobble-gobble-slurp-gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "Yes! Faster!" ("angry", xpos="far_left", ypos="head") her "{size=+5}*Gobble-gobble-slurp-gobble*!{/size}" ("open_wide_tongue", "narrow", "base", "up") gen "{size=+5}Yes! Yes! Yes! Yes!{/size}" ("angry", xpos="far_left", ypos="head") - gen "*Ghr*!!!" ("angry", xpos="far_left", ypos="head") + gen "*Ngh*!!!" ("angry", xpos="far_left", ypos="head") menu: gen "!!!" ("angry", xpos="far_left", ypos="head") "-Cum in her mouth-": - gen "Here it comes, [hermione_name]! get ready to swallow, and fast!" ("angry", xpos="far_left", ypos="head") + $ states.her.status.gokkun = True + gen "Here it comes, [name_hermione_genie]! get ready to swallow, and fast!" ("angry", xpos="far_left", ypos="head") her "!!!" ("open_wide_tongue", "narrow", "base", "up") call cum_block call her_chibi_scene("bj_cum_in", trans=d5) pause.8 - call bld gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") - gen "Swallow my cum, slut!" ("angry", xpos="far_left", ypos="head") + gen "Do it! Swallow my cum, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") her "*Gulp!-Gulp!-Gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") with hpunch gen "Yes! Down your fucking throat!" ("angry", xpos="far_left", ypos="head") her "*Gulp-gulp-gulp-gulp-gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") stop music fadeout 1.0 - hide screen bld1 call ctc - call bld - gen "Well, I think that's it." ("base", xpos="far_left", ypos="head") + gen "*Ah*... I think that's all of it." ("base", xpos="far_left", ypos="head") gen "You can let go now..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) her "..........................." ("full_cum", "narrow", "base", "dead") - her "................" - her "........" - $ renpy.play('sounds/gulp.ogg') #Sound of gulping down a liquid. - her "*GULP*!" ("cum", "happyCl", "worried", "mid") - her "*Gua-ha*..." ("open_wide_tongue", "base", "base", "mid") - gen "You alright?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "Yes, [genie_name]..." ("grin", "narrow", "base", "dead") - gen "Going to skip your next meal?" ("base", xpos="far_left", ypos="head") - her "I think so..." ("grin", "narrow", "base", "dead") - her "You always cum so much, [genie_name]..." - gen "Heh... And whose fault is that??" ("base", xpos="far_left", ypos="head") - her "............." ("grin", "narrow", "base", "dead") #Smile. - her "Can I get paid now?" + her "................" ("full_cum", "narrow", "base", "dead") + her "........" ("full_cum", "narrow", "base", "dead") + play sound "sounds/gulp.ogg" + her "*Gulp*!" ("cum", "happyCl", "worried", "mid") + her "*Gua-ha*..." ("open_wide_tongue", "narrow", "base", "stare") + gen "... Are you alright, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "Yes, [name_genie_hermione]..." ("grin", "narrow", "base", "dead") + if _facial: + her "Although I thought you said you were going to, \"splatter my face with cum\"..." ("soft", "narrow", "base", "dead") + gen "Oh, right... My apologies..." ("base", xpos="far_left", ypos="head") + her "It's fine [name_genie_hermione]... I don't mind..." ("base", "narrow", "base", "dead") + if _mouth: + her "You allowed me ample time to prepare myself..." ("grin", "narrow", "base", "dead") + if game.daytime: + gen "So, will you be skipping lunch today?" ("base", xpos="far_left", ypos="head") + her "Yes, most likely..." ("grin", "narrow", "base", "dead") + her "How come you always cum so much, [name_genie_hermione]..." ("open", "wink", "base", "mid") + gen "*Heh*... You're saying that as if it's my fault." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "............." ("soft", "narrow", "base", "down") + her @ cheeks blush "May I get paid now?" ("soft", "wink", "base", "mid") - if her_tier >= 6: + if states.her.tier >= 6: if game.daytime: - gen "What, even after I just gave you lunch?" ("base", xpos="far_left", ypos="head") + gen "You want points, even though I just gave you lunch?" ("base", xpos="far_left", ypos="head") else: - gen "What, even after I fed you dinner?" ("base", xpos="far_left", ypos="head") - her "............." ("annoyed", "squint", "base", "mid") #Smile. - her "Fine, I suppose this was a worthy meal." + gen "You want points, even though I fed you dinner?" ("base", xpos="far_left", ypos="head") + her "............." ("annoyed", "squint", "base", "mid") + her "Fine, I suppose this was a worthy meal." ("annoyed", "squint", "base", "mid") + else: + gen "Certainly...." ("grin", xpos="far_left", ypos="head") "-Cum on her face-": call her_chibi_scene("bj_pause", trans=d5) - gen "Ready for your facial, [hermione_name]?" ("angry", xpos="far_left", ypos="head") - her "Yes, [genie_name]!" ("grin", "narrow", "base", "dead") - gen "Here it comes then!" ("angry", xpos="far_left", ypos="head") + gen "Ready for your facial, [name_hermione_genie]?" ("angry", xpos="far_left", ypos="head") + if _mouth: + her "My facial? But I thought you said--" ("soft", "narrow", "base", "up") + else: + her "Yes, [name_genie_hermione]!" ("grin", "narrow", "base", "dead") + gen "Here it comes!" ("angry", xpos="far_left", ypos="head") call cum_block call her_chibi_scene("bj_cum_out", trans=d5) pause.8 $ hermione.set_cum(face="light") - call bld gen "{size=+7}Whore!{/size}" ("angry", xpos="far_left", ypos="head") - her "!!?" ("shock", "wide", "base", "stare") - hide screen bld1 + her @ cheeks blush "!!?" ("grin", "narrow", "base", "dead") call ctc $ hermione.set_cum(face="heavy") - her "[genie_name]..." ("shock", "wide", "base", "stare") + her @ cheeks blush "[name_genie_hermione]..." ("grin", "happyCl", "base", "stare") gen "All over your fucking face!" ("angry", xpos="far_left", ypos="head") - her "*Aaah*!" ("grin", "narrow", "base", "dead") + her @ cheeks blush "*Aaah*!" ("grin", "narrow", "base", "dead") call her_chibi_scene("bj_cum_out_done", trans=d5) - gen "Well, I'm done." ("base", xpos="far_left", ypos="head") - her "...................................." ("grin", "narrow", "base", "dead") - gen "I said it's over, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Yes, I heard you [genie_name]..." ("grin", "narrow", "base", "dead") + + gen "Well then, I'm done." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "...................................." ("grin", "narrow", "base", "dead") + gen "I said I'm done, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Yes, I heard you [name_genie_hermione]..." ("base", "narrow", "base", "dead") gen "So... Aren't you going to clean up?" ("base", xpos="far_left", ypos="head") her "In a moment..." ("grin", "narrow", "base", "dead") - her "I'm giving my skin time to soak in the anti-oxidants..." - gen "*Hmm*... I find this quite hot..." ("base", xpos="far_left", ypos="head") - gen "Take your time, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Take your time, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") call blkfade stop music fadeout 1.0 - ">A while later." + $ hermione.set_cum(None) + nar "After a relatively brief period of time later..." call her_chibi("stand","desk","base") call gen_chibi("sit_behind_desk") - hide screen bld1 - hide screen blktone call hide_blkfade pause.5 - her "I take it you enjoyed yourself, [genie_name]?" ("angry", "wink", "base", "mid") - call play_music("chipper_doodle") # HERMIONE'S THEME. - gen "Yes I did, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Good, so Can I get paid now?" ("grin", "narrow", "base", "dead") + her "I take it you enjoyed yourself, [name_genie_hermione]?" ("angry", "wink", "base", "mid", xpos="mid", ypos="base") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + gen "Yes I did, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Good... So, I may get paid now?" ("base", "squint", "base", "mid") - if her_tier >= 6: - gen "What, even after I just gave you a salon treatment?" ("base", xpos="far_left", ypos="head") + if states.her.tier >= 6: + gen "Even after I just gave you a salon treatment?" ("base", xpos="far_left", ypos="head") gen "Other women pay a lot of money for a good facial." ("base", xpos="far_left", ypos="head") - her "............." ("annoyed", "squint", "base", "mid") #Smile. - her "Fine, but my skin better look glamorous by tomorrow." - gen "You can always come for a second dosage." ("grin", xpos="far_left", ypos="head") + her "............." ("annoyed", "squint", "base", "mid") + her "Fine, but my skin better look glamorous by tomorrow." ("annoyed", "squint", "base", "mid") + gen "You can always come back for more..." ("grin", xpos="far_left", ypos="head") + else: + gen "Certainly...." ("grin", xpos="far_left", ypos="head") jump end_hg_pf_blowjob @@ -1503,43 +1690,42 @@ label hg_pf_blowjob_2: call her_chibi_scene("bj", trans=d9) call ctc - call play_music("playful_tension") #HERMIONE - her "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "narrow", "annoyed", "up", ypos="head", flip=False) + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 #HERMIONE if_changed + her "*Slurp*! *Slurp*! *Gulp*!" ("open_wide_tongue", "narrow", "base", "up", ypos="head", flip=False) gen "Yes, good girl..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") - gen "lick the shaft..." ("base", xpos="far_left", ypos="head") - her "*lick*! *Slurp*! *lick*!" ("open_wide_tongue", "narrow", "base", "up") - call nar(">Hermione keeps sucking on your cock like her life depends on it.","start") - call nar(">Her technique is almost perfect and she is incredibly enthusiastic.","end") - gen "Yes... I love your eager, little mouth, slut..." ("base", xpos="far_left", ypos="head") + gen "Lick the shaft..." ("base", xpos="far_left", ypos="head") + her "*Lick*! *Slurp*! *Lick*!" ("open_wide_tongue", "narrow", "base", "up") + nar "Hermione keeps sucking on your cock as if her life depended on it." + nar "Her technique is almost perfect, and she is incredibly enthusiastic." + gen "Yes... I love your eager, little mouth, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "*Gobble*! *Gobble*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) pause.8 - her "[genie_name]?" ("base", "narrow", "worried", "down") + her "[name_genie_hermione]?" ("soft", "squint", "base", "up") gen "*Hmm*?" ("base", xpos="far_left", ypos="head") - her "How would you like me to please you today?" ("soft", "narrow", "annoyed", "up") + her "Are there any further actions you would like me to take that would please you today?" ("base", "squint", "worried", "up") + gen "Well, since you asked..." ("base", xpos="far_left", ypos="head") menu: - #"\"Take it down your throat!\"" if hg_pf_blowjob.points >= 2: # Second event (facefuck) happened. - # jump hg_pf_facefuck_1 - + gen "..." ("base", xpos="far_left", ypos="head") "\"Pretend I am your father.\"": her "My father?" ("angry", "wink", "base", "mid") - gen "Anything wrong with that?" ("base", xpos="far_left", ypos="head") + gen "Would that be a problem?" ("base", xpos="far_left", ypos="head") her "I suppose not..." ("base", "narrow", "worried", "down") - her "I mean it's just pretending..." ("grin", "narrow", "base", "dead") - gen "Great. Get that dick back in your mouth then." ("base", xpos="far_left", ypos="head") + her "I mean it's just pretending, right?..." ("soft", "squint", "base", "mid") + gen "Great! Get that dick back in your mouth then." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj", trans=d5) her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "That's it, princess. Suck daddy's dick." ("base", xpos="far_left", ypos="head") + gen "That's it, princess... Suck daddy's dick." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Tell me how much you want it." ("base", xpos="far_left", ypos="head") + gen "Now, tell me how much you want it." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) - her "So much daddy..." ("soft", "narrow", "annoyed", "up") + her "I want it... I want it so much, daddy..." ("soft", "narrow", "annoyed", "up") call her_chibi_scene("bj", trans=d5) her "*Slurp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) @@ -1550,118 +1736,115 @@ label hg_pf_blowjob_2: her "When we're sitting together on the couch watching T.V..." ("base", "narrow", "base", "up") her "I just imagine that I am sucking your cock instead..." ("base", "narrow", "base", "up") call her_chibi_scene("bj", trans=d5) - her "*lick*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Lick*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) - her "I even wish that mum left you sometimes..." ("annoyed", "narrow", "worried", "down") + her "Sometimes... I even wish that mum left you..." ("soft", "narrow", "base", "up") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *Slurp*! *lick*!" ("open_wide_tongue", "narrow", "base", "dead") - gen "Why's that?" ("base", xpos="far_left", ypos="head") + her "*Gobble*! *Slurp*! *Lick*!" ("open_wide_tongue", "narrow", "base", "dead") + gen "And why is that?" ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) - her "So that I'm the only one to get your dick..." ("soft", "narrow", "base", "dead") + her "So that I'm the only one to get your dick..." ("soft", "narrow", "worried", "down") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "You're doing very good, [name_hermione_genie]... Now, why don't you--" ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) - her "You'll come home every day..." ("soft", "narrow", "base", "dead") + her "You'll come home every day, after work..." ("base", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "dead") call her_chibi_scene("bj_pause", trans=d5) - her "Throw me onto my bed..." ("grin", "narrow", "base", "dead") + her "And you'll throw me onto my bed..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) - her "and use me..." ("grin", "narrow", "base", "dead") + her "and then you'll use me..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) her "however you want..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) her "for as long as you want..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) her "you won't even ask..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) her "you'll just take me..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "dead") - call her_chibi_scene("bj_pause", trans=d5) - her "even though I say no..." ("grin", "narrow", "base", "dead") - call her_chibi_scene("bj", trans=d5) her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") - gen "That's it princess, Almost there..." ("base", xpos="far_left", ypos="head") + gen "That's it princess...{w=0.4} Almost there..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) her "Where do you want to cum today, daddy?" ("soft", "narrow", "annoyed", "up") her "Are you going to cover my face?" ("soft", "narrow", "annoyed", "up") her "Or make me swallow your big load?" ("grin", "narrow", "base", "dead") - her "{size=-4}Even if I don't want to...{/size}" ("grin", "narrow", "base", "dead") - gen "Let's find out shall we?" ("base", xpos="far_left", ypos="head") + gen "Why don't you wait and find out?" ("base", xpos="far_left", ypos="head") her "Yes daddy..." ("soft", "narrow", "annoyed", "up") call her_chibi_scene("bj", trans=d5) her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Yes, like that... Good girl..." ("base", xpos="far_left", ypos="head") + gen "Yes... Keep sucking, just like that... Good girl..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") gen "Do it for daddy." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Come on princess." ("base", xpos="far_left", ypos="head") + gen "Come on, princess." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gobble*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Alright, [hermione_name], almost there." ("base", xpos="far_left", ypos="head") + gen "Alright, [name_hermione_genie]... I'm almost there." ("base", xpos="far_left", ypos="head") gen "Make daddy proud!" ("angry", xpos="far_left", ypos="head") - her "*Gobble-goble-slurp-goble*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Yes, like that!" ("angry", xpos="far_left", ypos="head") + her "*Gobble-gobble-slurp-gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "Yes... Make me--" ("angry", xpos="far_left", ypos="head") her "{size=+5}*Gobble-gobble-slurp-gobble*!{/size}" ("open_wide_tongue", "narrow", "base", "dead") gen "{size=+5}Yes! Yes! Yes! Yes!{/size}" ("angry", xpos="far_left", ypos="head") - gen "*Grr*!!!" ("angry", xpos="far_left", ypos="head") + gen "*Ngh*!!!" ("angry", xpos="far_left", ypos="head") menu: gen "!!!" ("angry", xpos="far_left", ypos="head") "-Cum in her mouth-": - gen "Here it comes, [hermione_name]! Here comes daddy!" ("angry", xpos="far_left", ypos="head") + $ states.her.status.gokkun = True + gen "Here it comes, [name_hermione_genie]! Here comes daddy!" ("angry", xpos="far_left", ypos="head") her "!!!" ("open_wide_tongue", "narrow", "base", "up") call cum_block call her_chibi_scene("bj_cum_in", trans=d5) pause.8 - call bld gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") gen "Drown in my cum, whore!" ("angry", xpos="far_left", ypos="head") - her "*Gulp!-Gulp!-Gulp*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her "*Gulp!-Gulp!-Gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") with hpunch gen "Yes! Down your fucking throat, slut!" ("angry", xpos="far_left", ypos="head") - her "*Gulp-gulp-gulp-gulp-gulp*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gulp-gulp-gulp-gulp-gulp*!" ("open_wide_tongue_cum", "narrow", "base", "up") stop music fadeout 1.0 call ctc call her_chibi_scene("bj_pause", trans=d5) pause.8 - call bld - gen "Well, I think that's it." ("base", xpos="far_left", ypos="head") - gen "You can let go now..." ("base", xpos="far_left", ypos="head") + gen "*Ah*... Now that was some blowjob..." ("base", xpos="far_left", ypos="head") + gen "You can let it go now... Princess..." ("base", xpos="far_left", ypos="head") her "..........................." ("full_cum", "narrow", "base", "dead") her "................" her "........" - $ renpy.play('sounds/gulp.ogg') #Sound of gulping down a liquid. + play sound "sounds/gulp.ogg" #Sound of gulping down a liquid. her "*GULP*!" ("cum", "happyCl", "worried", "mid") - her "*Gua-ha*..." ("open_wide_tongue", "base", "base", "mid") - gen "How was that?" ("base", xpos="far_left", ypos="head") + her "*Gua-ha*..." ("open_wide_tongue", "narrow", "base", "stare") - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "So tasty..." ("grin", "narrow", "base", "dead") gen "Really?" ("base", xpos="far_left", ypos="head") her "Yes daddy..." ("grin", "narrow", "base", "dead") - her "It's always tasty with you..." - gen "Heh... is that so?" ("base", xpos="far_left", ypos="head") + her "It's always tasty when it's daddy's..." ("grin", "narrow", "base", "dead") + gen "*Heh*... Is that so?" ("base", xpos="far_left", ypos="head") her "............." ("grin", "narrow", "base", "dead") - call nar(">She leans forward and gives your wilting cock a small kiss.") + nar "She leans forward and gives your cock a small kiss." with kissiris - her "Thanks, daddy!" ("base", "narrow", "base", "mid_soft") + her "Of course, daddy!" ("base", "closed", "base", "mid_soft") + her "I hope you enjoyed my little performance, [name_genie_hermione]..." ("angry", "wink", "base", "mid") + gen "Performance? Oh, yes, your performance! Yes, it was very good, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("soft", "narrow", "base", "down") "-Cum on her face-": call her_chibi_scene("bj_pause", trans=d5) @@ -1675,152 +1858,159 @@ label hg_pf_blowjob_2: $ hermione.set_cum(face="light") - call bld gen "{size=+7}Slut!{/size}" ("angry", xpos="far_left", ypos="head") - her "!!?" ("shock", "narrow", "base", "dead") + her @ cheeks blush "!!!" ("grin", "happyCl", "base", "mid") call ctc $ hermione.set_cum(face="heavy") - her "Daddy..." ("shock", "wide", "base", "stare") - gen "That's it, princess!" ("angry", xpos="far_left", ypos="head") + her "Daddy..." ("angry", "narrow", "base", "stare") + gen "That's it, princess! Take daddy's load!" ("angry", xpos="far_left", ypos="head") her "*Aaah*!" ("grin", "narrow", "base", "dead") call her_chibi_scene("bj_cum_out_done", trans=d5) pause.8 - call bld - gen "Well, I'm done." ("base", xpos="far_left", ypos="head") + gen "*Ah*... Finally..." ("base", xpos="far_left", ypos="head") + gen "Alright, I'm done..." ("base", xpos="far_left", ypos="head") her "...................................." ("grin", "narrow", "base", "dead") - gen "I said it's over, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Yes, I heard you, daddy..." ("grin", "narrow", "base", "dead") + gen "I said it's over, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Yes, I heard you, daddy... I mean, sir..." ("angry", "narrow", "base", "stare") gen "So... Aren't you going to clean up?" ("base", xpos="far_left", ypos="head") - her "In a minute..." ("grin", "narrow", "base", "dead") - her "I'm just savouring the moment..." + her "In a minute..." ("soft", "closed", "base", "dead") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "Take your time, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Take your time, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 call blkfade - ">A while later." + nar "A while later..." - call her_chibi_scene("bj_pause", trans=d9) - pause.8 + $ hermione.set_cum(None) + $ hermione.wear("all") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "I take it you enjoyed yourself, [genie_name]?" ("angry", "wink", "base", "mid") - gen "Yes I did, [hermione_name]." ("base", xpos="far_left", ypos="head") + call her_chibi("stand","desk","base", flip=False) + call gen_chibi("sit_behind_desk") + + hide screen blkfade + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + + her "I take it you enjoyed my little performance, [name_genie_hermione]?" ("soft", "squint", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "Very much so, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Great..." ("base", "closed", "base", "down") "\"Worship my cock.\"": - her "Worship it?" ("angry", "wink", "base", "mid") + $ states.her.status.gokkun = True + + her "You want me to... Worship it?" ("angry", "wink", "base", "mid") gen "Did I stutter?" ("base", xpos="far_left", ypos="head") - her "Well..." ("base", "narrow", "worried", "down") - her "Okay..." ("soft", "narrow", "annoyed", "up") - gen "Great. You can start by putting it back in your mouth." ("base", xpos="far_left", ypos="head") + her "Well... No, I just wasn't sure what you--" ("soft", "wink", "worried", "mid") + her "Alright then... Just tell me what to do..." ("base", "narrow", "worried", "down") + gen "You can start by putting my cock back in your mouth." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj", trans=d5) her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "That's it.." ("base", xpos="far_left", ypos="head") + gen "That's it..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "dead") - gen "Tell me how much you love my cock." ("base", xpos="far_left", ypos="head") + gen "Now, I want you to tell me everything that is great about my cock... How much you love it." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) - her "So much, [genie_name]..." ("soft", "narrow", "annoyed", "up") + her "I... I love your cock... so much, [name_genie_hermione]..." ("soft", "narrow", "annoyed", "up") call her_chibi_scene("bj", trans=d5) her "*Slurp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) her "It's all I think about when I'm in class..." ("base", "narrow", "base", "up") call her_chibi_scene("bj", trans=d5) her "*Gobble*! *Gulp*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "*Mmm*... Very good, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") - if hg_pr_blowjob.counter == 0: + if not states.her.status.public_blowjob: call her_chibi_scene("bj_pause", trans=d5) - her "Sucking your perfect dick." ("base", "narrow", "base", "up") - her "No one else's..." ("base", "narrow", "base", "up") + her "I love sucking your perfect dick..." ("base", "narrow", "base", "up") + her "... and no one else's." ("base", "narrow", "base", "up") call her_chibi_scene("bj", trans=d5) - her "*lick*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Lick*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) - her "Just your {w}perfect, {w}beautiful {w}{size=-4}cock{/size}!" ("grin", "narrow", "base", "dead") + her "The only thing I want... Is your perfect, {w}beautiful {w}{size=-4}cock{/size}!" ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) her "*Gobble*! *Slurp*! *lick*!" ("open_wide_tongue", "narrow", "annoyed", "up") else: call her_chibi_scene("bj_pause", trans=d5) - her "Even when you make me suck another boys dick..." ("base", "narrow", "base", "up") + her "Even when you make me suck another boy's dick..." ("base", "narrow", "base", "up") her "I still imagine that it's yours..." ("base", "narrow", "base", "up") call her_chibi_scene("bj", trans=d5) - her "*lick*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "dead") + her "*Lick*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "dead") call her_chibi_scene("bj_pause", trans=d5) - her "Imagine that it's your cum sliding down my throat..." ("soft", "narrow", "annoyed", "up") + her "I imagine that it's your cum, sliding down my throat..." ("soft", "narrow", "annoyed", "up") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *Slurp*! *lick*!" ("open_wide_tongue", "narrow", "base", "dead") + her "*Gobble*! *Slurp*! *Lick*!" ("open_wide_tongue", "narrow", "base", "dead") call her_chibi_scene("bj_pause", trans=d5) - her "Or that it's your hot load shot across my face..." ("grin", "narrow", "base", "dead") + her "Or that it's your hot load, being shot across my face..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *Slurp*! *lick*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gobble*! *Slurp*! *Lick*!" ("open_wide_tongue", "narrow", "base", "up") gen "Is that so?" ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) - her "Yes [genie_name]..." ("soft", "narrow", "base", "dead") + her "Yes, [name_genie_hermione]..." ("soft", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) her "Sometimes..." ("soft", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "dead") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "dead") call her_chibi_scene("bj_pause", trans=d5) her "After you make me suck your tasty dick..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) her "I won't brush my teeth..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) - her "just so I can go to sleep..." ("grin", "narrow", "base", "dead") + her "Just so I can go to sleep..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") call her_chibi_scene("bj_pause", trans=d5) - her "with that perfect taste in my mouth..." ("grin", "narrow", "base", "dead") + her "With that perfect taste in my mouth..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "dead") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "dead") call her_chibi_scene("bj_pause", trans=d5) - her "and when I do brush my teeth..." ("grin", "narrow", "base", "dead") + her "And when I do brush my teeth..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("bj_pause", trans=d5) - her "Your beautiful cock is all I can think about..." ("grin", "narrow", "base", "dead") + her "I can only imagine your dick, going into my mouth..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "worried", "down") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "worried", "down") call her_chibi_scene("bj_pause", trans=d5) her "Recently, I even started moaning whenever I'm brushing my teeth..." ("grin", "narrow", "base", "dead") call her_chibi_scene("bj", trans=d5) - her "*Gobble*! *lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "That's it cock-slut, Almost there..." ("base", xpos="far_left", ypos="head") + her "*Gobble*! *Lick*! *Gobble*!" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "That's it cock-slut... I'm almost there..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) - her "Where do you want to cum today [genie_name]?" ("soft", "narrow", "annoyed", "up") + her "Where would you like to cum today, [name_genie_hermione]?" ("soft", "narrow", "annoyed", "up") her "I know it's greedy of me to ask..." ("angry", "narrow", "base", "down") - her "But can you cum in my mouth?" ("angry", "wink", "base", "mid") - her "{size=-4}Please...{/size} I promise I won't waste a drop." ("soft", "narrow", "annoyed", "up") + her "But could you please cum in my mouth?" ("angry", "narrow", "base", "mid") + her "{size=-4}Please...{/size} I promise I won't waste a drop of your precious seed." ("soft", "narrow", "worried", "mid") gen "I think that can be arranged..." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]!" ("smile", "happyCl", "base", "mid", cheeks="blush", emote="happy") + her @ cheeks blush "Thank you, [name_genie_hermione]!" ("smile", "happyCl", "base", "mid", emote="happy") call her_chibi_scene("bj", trans=d5) - call nar(">Hermione devours your cock with renewed vigour.") + nar "Hermione devours your cock with renewed vigour." her "*Slurp*! *Gulp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Yes, like that... that's a good little slut..." ("base", xpos="far_left", ypos="head") + gen "Yes, like that... That's a good little slut..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Deeper now." ("base", xpos="far_left", ypos="head") + gen "A bit deeper now." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue", "narrow", "base", "up") - gen "Come on cum-whore." ("base", xpos="far_left", ypos="head") + gen "Go on, cum-whore." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Gobble*! *Gobble*!" ("open_wide_tongue", "narrow", "worried", "down") - gen "Alright, [hermione_name], almost there." ("base", xpos="far_left", ypos="head") - gen "Deeper now!" ("angry", xpos="far_left", ypos="head") - her "!!! *Gobble-goble-slurp-goble*! !!!" ("open_wide_tongue", "narrow", "annoyed", "up") - gen "Yes, like that!" ("angry", xpos="far_left", ypos="head") + gen "Alright, [name_hermione_genie], almost there!" ("base", xpos="far_left", ypos="head") + gen "A bit deeper!" ("angry", xpos="far_left", ypos="head") + her "!!! *Gobble-gobble-slurp-gobble*! !!!" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "Yes, just like that!" ("angry", xpos="far_left", ypos="head") her "{size=+5}!!! *Gobble-gobble-slurp-gobble!* !!!{/size}" ("open_wide_tongue", "narrow", "annoyed", "up") gen "{size=+5}Yes! Yes! Yes! Yes!{/size}" ("angry", xpos="far_left", ypos="head") - gen "*Ghr*!!!" ("angry", xpos="far_left", ypos="head") - gen "Here it comes, [hermione_name]! Here's your reward!" ("angry", xpos="far_left", ypos="head") + gen "*Ngh*!!!" ("angry", xpos="far_left", ypos="head") + gen "Here it comes, [name_hermione_genie]! Here's your reward!" ("angry", xpos="far_left", ypos="head") her "!!!" ("open_wide_tongue", "narrow", "worried", "down") call cum_block @@ -1828,39 +2018,41 @@ label hg_pf_blowjob_2: pause.8 call cum_block - call bld gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") gen "Take my cum, slut!" ("angry", xpos="far_left", ypos="head") her "*Gulp!-Gulp!-Gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") with hpunch - gen "Yes! Down your mouth, you fucking cum dumpster!" ("angry", xpos="far_left", ypos="head") + gen "Yes! Down your throat, you fucking cum dumpster!" ("angry", xpos="far_left", ypos="head") her "*Gulp-gulp-gulp-gulp-gulp*!" ("open_wide_tongue_cum", "narrow", "annoyed", "up") stop music fadeout 1.0 call her_chibi_scene("bj", trans=d5) call ctc - call bld - gen "Well, I think that's it." ("base", xpos="far_left", ypos="head") - gen "You can let go now..." ("base", xpos="far_left", ypos="head") + gen "*Ah*... I think that's all of it." ("base", xpos="far_left", ypos="head") + gen "You can let it go now..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d5) - her "..........................." ("full_cum", "narrow", "base", "dead", tears="mascara", trans=fade) - her "................" ("full_cum", "narrow", "base", "dead", tears="mascara") - her "........" ("full_cum", "narrow", "base", "dead", tears="mascara") - gen "How was that?" ("base", xpos="far_left", ypos="head") - her "..." (tears="mascara") - call play_music("chipper_doodle") # HERMIONE'S THEME. + her @ tears mascara "..........................." ("full_cum", "narrow", "base", "dead", trans=fade) + her @ tears mascara "................" ("full_cum", "narrow", "base", "dead") + her @ tears mascara "........" ("full_cum", "narrow", "base", "dead") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ tears mascara "..." + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. gen "Are you going to swallow?" ("base", xpos="far_left", ypos="head") - her "*Shakes her head from side to side*" ("full_cum", "narrow", "base", "dead", tears="mascara") + + + her @ tears mascara "*Shakes her head from side to side*" ("full_cum", "narrow", "base", "dead") if game.daytime: - gen "So you're going to go to class with a mouth full of my cum?" ("base", xpos="far_left", ypos="head") + gen "So, you're going to leave my office, with a mouth full of cum?" ("base", xpos="far_left", ypos="head") else: - gen "So you're going to go to sleep with a mouth full of my cum?" ("base", xpos="far_left", ypos="head") + gen "So, you're going to go to sleep, with a mouth full of cum?" ("base", xpos="far_left", ypos="head") - her "*She nods her head up and down enthusiastically*" ("full_cum", "narrow", "annoyed", "up", cheeks="blush", tears="mascara") #Smile. - gen "Good, like a proper slut should..." ("base", xpos="far_left", ypos="head") - $ mouth_full_of_cum = True + her @ cheeks blush tears mascara "*Nods her head up and down enthusiastically*" ("full_cum", "narrow", "annoyed", "up") #Smile. + + gen "(She sure is taking this worshipping thing seriously...)" ("base", xpos="far_left", ypos="head") + gen "Very well, [name_hermione_genie]... I'll allow you to keep my cum... Just this once..." ("base", xpos="far_left", ypos="head") + $ _mouth_full_of_cum = True jump end_hg_pf_blowjob diff --git a/game/scripts/characters/hermione/events/favors/talk_to_me.rpy b/game/scripts/characters/hermione/events/favors/talk_to_me.rpy index 8993d702..5ec2abaa 100644 --- a/game/scripts/characters/hermione/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/hermione/events/favors/talk_to_me.rpy @@ -1,24 +1,21 @@ +### Hermione 'Talk to me' ### -### Hermione Talks ### +label start_hg_pf_talk: + if not _events_completed_any: + gen "{size=-4}(All I'll do is have an innocent conversation with her...){/size}" ("base", xpos="far_left", ypos="head") -label hg_pf_talk: - - gen "{size=-4}(All I'll do is have an innocent conversation with her...){/size}" ("base", xpos="far_left", ypos="head") - - if hg_pf_talk.counter < 1: menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu - # Start Event $ current_payout = 5 - $ hg_pf_talk.start() + return - # End Event - label end_hg_pf_talk: +label end_hg_pf_talk: # Setup stop music fadeout 2.0 @@ -28,63 +25,65 @@ label hg_pf_talk: call her_chibi("stand", flip=False) call gen_chibi("sit_behind_desk") + her "" (xpos="mid", ypos="base") hide screen blkfade - her "" (xpos="mid", ypos="base", trans=fade) - + with d3 # Points - if her_tier <= 3: + if states.her.tier <= 3: $ gryffindor += current_payout - gen "{number=current_payout} points to Gryffindor, [hermione_name]. Well done." ("base", xpos="far_left", ypos="head") - elif her_tier == 4 and hg_pf_talk.points == 1: - gen "{number=current_payout} points to Gryffindor, [hermione_name]. Well done." ("base", xpos="far_left", ypos="head") - her "Oh, don't worry about the points, [genie_name]. We were just having a nice talk." + gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]. Well done." ("base", xpos="far_left", ypos="head") + elif states.her.tier == 4 and not _events_filtered_completed_any: + gen "{number=current_payout} points to Gryff--" ("base", xpos="far_left", ypos="head") + her "Oh, don't worry about the points, [name_genie_hermione]. We were just having a nice talk." gen "Really? What about Gryffindor winning the cup?" ("base", xpos="far_left", ypos="head") her "It's only {number=current_payout} points..." ("soft", "base", "base", "R") gen "If you say so." ("base", xpos="far_left", ypos="head") - if hg_pf_talk.counter == 1: #First time. - her "Another {number=current_payout} points... The Guys will be so happy!" ("base", "happyCl", "base", "mid") - - if her_mood != 0: + if states.her.mood != 0: her "Will this be all then?" ("annoyed", "base", "angry", "mid") else: her "Will this be all then?" ("soft", "base", "base", "mid") gen "Yes, you can go now." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." # Hermione leaves call her_walk("door", "base") + + if states.her.tier == 1 and not _events_completed_any: + her "Another {number=current_payout} points... The Guys will be so happy!" ("base", "happyCl", "base", "mid") + call her_chibi("leave") # Increase level - if her_tier == 1: - if her_whoring < 3: # Points til 3 - $ her_whoring += 1 + if states.her.tier == 1: + if states.her.level < 3: # Points til 3 + $ states.her.level += 1 - if her_tier == 2: - if her_whoring < 9: # Points til 9 - $ her_whoring += 1 + if states.her.tier == 2: + if states.her.level < 9: # Points til 9 + $ states.her.level += 1 jump end_hermione_event - - ### Tier 1 ### label hg_pf_talk_T1_intro_E1: - call play_music("chipper_doodle") + + call start_hg_pf_talk + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed gen "Alright then..." ("base", xpos="far_left", ypos="head") - gen "Just tell me some news about you." ("base", xpos="far_left", ypos="head") + gen "Just tell me some news about yourself." ("base", xpos="far_left", ypos="head") her "*Ehm*... Alright..." ("open", "squint", "base", "mid") her "I just stand here and talk then...? Like this?" ("base", "squint", "base", "mid", xpos="mid", ypos="base", trans=fade) pause.8 gen "Well?" ("base", xpos="far_left", ypos="head") her "*Ehm*... very well..." ("open", "base", "worried", "mid") - call nar(">Hermione is feeling confused...") + nar "Hermione is feeling confused..." her "..................." ("annoyed", "narrow", "angry", "R") call hg_pf_talk_T1 @@ -93,10 +92,13 @@ label hg_pf_talk_T1_intro_E1: label hg_pf_talk_T1_E1: - call play_music("chipper_doodle") + + call start_hg_pf_talk + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed gen "Alright then..." ("base", xpos="far_left", ypos="head") - gen "Just tell me some news about you." ("base", xpos="far_left", ypos="head") + gen "Just tell me some more news about yourself." ("base", xpos="far_left", ypos="head") her "Here in the middle, right? I remember..." ("open", "squint", "base", "mid", xpos="mid", ypos="base", trans=fade) pause.8 @@ -115,25 +117,25 @@ label hg_pf_talk_T1: # Call label menu: "-Jerk off while she is talking-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 pause.8 - her "[genie_name], what are you doing?" ("open", "base", "base", "mid", xpos="mid", trans=d3) + her "[name_genie_hermione], what are you doing?" ("open", "base", "base", "mid", xpos="mid", trans=d3) gen "What? Oh, it's nothing. Just scratching my leg." ("base", xpos="far_left", ypos="head") gen "You were saying?" ("base", xpos="far_left", ypos="head") her "Yes... Well, that test I failed..." ("open", "base", "base", "mid") "-Participate in the conversation-": - $ genie_masturbating = False #NOT JERKING OFF. + $ states.gen.masturbating = False #NOT JERKING OFF. gen "Yes, what a tragedy that was..." ("base", xpos="far_left", ypos="head") - her "Exactly! I'm glad you understand, [genie_name]." ("open", "base", "angry", "mid") + her "Exactly! I'm glad you understand, [name_genie_hermione]." ("open", "base", "angry", "mid") her "Come to think of it, I don't feel like talking about it anymore..." ("annoyed", "narrow", "worried", "down") gen "Alright, what else has happened lately?" ("base", xpos="far_left", ypos="head") @@ -141,17 +143,17 @@ label hg_pf_talk_T1: # Call label her "I mean, I always score the top marks, but I have been studying really hard anyway..." ("open", "closed", "base", "mid") her "And now I sort of feel like sometimes I know more than professor Sprout herself..." ("base", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes... *Ah*...){/size}" ("base", xpos="far_left", ypos="head") else: gen "(Professor Sprout... *He-he*, what a ridiculous name...)" ("grin", xpos="far_left", ypos="head") - her "Did you say something, [genie_name]?" ("normal", "squint", "angry", "mid") + her "Did you say something, [name_genie_hermione]?" ("normal", "squint", "angry", "mid") gen "It's nothing, keep going..." ("base", xpos="far_left", ypos="head") her "Well, some students are making fun of professor Quirrell behind his back..." ("open", "base", "base", "mid") her "I disapprove of such behaviour, of course." ("base", "closed", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Come on! Say something naughty!){/size}" ("base", xpos="far_left", ypos="head") else: gen ".................." ("base", xpos="far_left", ypos="head") @@ -162,16 +164,16 @@ label hg_pf_talk_T1: # Call label her "It is so invigorating to know that you are doing the right thing!" ("base", "base", "base", "mid") her "Wouldn't you agree, professor?" ("base", "base", "base", "mid") - if genie_masturbating: - $ genie_masturbating = False + if states.gen.masturbating: + $ states.gen.masturbating = False gen "{size=-4}(Dammit. Now she's killed the mood completely...){/size}" ("base", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") with d3 pause.8 else: - gen "*snore*........" ("base", xpos="far_left", ypos="head") + gen "*Snore*........" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "base", "angry", "mid") + her "[name_genie_hermione]?" ("angry", "base", "angry", "mid") gen "Yes, yes, I'm totally listening..." ("base", xpos="far_left", ypos="head") gen "This is all very self-righteous, er..." ("base", xpos="far_left", ypos="head") gen "I mean, very invigorating and stuff..." ("base", xpos="far_left", ypos="head") @@ -184,12 +186,14 @@ label hg_pf_talk_T1: # Call label ### Tier 2 ### # Hermione realises you've been jerking off this whole time! -# 'hg_jerkoff.trigger' is required to advance into the next tier. +# 'states.her.status.voyer' is required to advance into the next tier. # Event 1 (i) - Hermione can spot you jerking off. # Event 2 (r) - Slight dialogue variation if you've been busted jerking off before. label hg_pf_talk_T2_intro_E1: + call start_hg_pf_talk + her "Very well, Sir." ("base", "base", "base", "mid") call hg_pf_talk_T2 @@ -199,13 +203,12 @@ label hg_pf_talk_T2_intro_E1: label hg_pf_talk_T2_E1: - if hg_jerkoff.trigger: - her "Another talk, [hermione_name]?" ("soft", "base", "base", "mid") - her "(I hope he doesn't do \"that\" again...)" ("disgust", "narrow", "base", "down") - else: - her "Of course, Sir." ("soft", "base", "base", "R") + call start_hg_pf_talk - call hg_pf_talk_T2 + her "Another talk, [name_genie_hermione]?" ("soft", "base", "base", "mid") + her "(I hope he doesn't do \"that\" again...)" ("disgust", "narrow", "base", "down") + + call hg_pf_talk_T2_repeat jump end_hg_pf_talk @@ -215,65 +218,197 @@ label hg_pf_talk_T2: her "My life has been quite uneventful lately, to be honest..." ("annoyed", "narrow", "angry", "R") her "*Hmm*..." ("annoyed", "base", "base", "R") - her "There is a fierce competition going on between the Slytherin and the Gryffindor house." ("open", "closed", "base", "mid") - her "To be honest, [genie_name], there should be none..." ("open", "narrow", "angry", "R") + her "Except there's a fierce competition going on between the Slytherin and the Gryffindor house." ("open", "closed", "base", "mid") + her "To be honest, [name_genie_hermione], there should be none..." ("open", "narrow", "angry", "R") her "Gryffindor would have been in the lead if not for those Slytherin harlots..." ("annoyed", "base", "angry", "mid") her "The things I hear those girls do - simply to get a few extra points..." ("angry", "narrow", "angry", "R") her "How despicable!" ("open", "closed", "angry", "mid") - gen "What does this make you then, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "What does this make you then, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Exactly!" ("normal", "base", "base", "mid") - gen "*huh*?" ("base", xpos="far_left", ypos="head") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") her "I have to work even harder to compensate for the damage those nasty girls are doing..." ("open", "closed", "angry", "mid") - her "Thank you for helping me out, [genie_name]." ("normal", "base", "base", "mid") + her "Thank you for helping me out, [name_genie_hermione]." ("normal", "base", "base", "mid") menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 pause.8 - her "[genie_name], what are you doing?" ("open", "base", "base", "mid") + her "[name_genie_hermione], what are you doing?" ("open", "base", "base", "mid") her "You are not.....?" ("open", "base", "worried", "mid") her "Are you...?" ("annoyed", "base", "worried", "R") - gen "What? Oh, it's nothing. Keep going." ("base", xpos="far_left", ypos="head") + gen "What? Oh, I'm just scratching my leg...{w=0.4} Keep going." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("normal", "squint", "angry", "mid") gen "{size=-4}(Is she onto me? Nah...){/size}" ("base", xpos="far_left", ypos="head") + her "Well, like I was saying..." ("open", "closed", "base", "mid") "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False gen "Don't mention it." ("base", xpos="far_left", ypos="head") - her "Well, like I was saying..." ("open", "closed", "base", "mid") - her "I heard that this one girl sold one of the professors some naughty pictures of herself for ten house points..." ("open", "narrow", "angry", "R") + her "I'm not sure if you're aware of this [name_genie_hermione]..." + her "But there are rumours that this one girl sold some naughty pictures of herself for ten house points." ("open", "narrow", "angry", "R") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(What a slut... *Ah*... Yes...){/size}" ("base", xpos="far_left", ypos="head") + her "And these two other girls..." ("annoyed", "base", "worried", "R") else: gen "Ten points, *huh*?" ("base", xpos="far_left", ypos="head") + her "Yes... Can you believe it?" ("open", "closed", "base", "mid") + gen "Well, surely they can't be that bad if it's only--" ("base", xpos="far_left", ypos="head") + her "Not that bad?!" ("angry", "base", "base", "mid") + her "Of course they're bad! This is a Slytherin we're talking about!" ("angry", "base", "angry", "mid") + gen "(There she goes again...)" ("base", xpos="far_left", ypos="head") + her "We should have her camera confiscated immediately, and--" ("open", "closed", "angry", "mid") + gen "(Screw this...)" ("base", xpos="far_left", ypos="head") - her "Yes..." ("open", "closed", "base", "mid") + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True - if genie_masturbating: - her "And these two other girls..." ("annoyed", "base", "worried", "R") - her "There is a rumour that they are actually sleeping with professor Snape..." ("annoyed", "base", "worried", "mid") - gen "{size=-4}(Yes... Those nasty Slytherin sluts!){/size}" ("base", xpos="far_left", ypos="head") - her "Also, there was this one girl who gave a teacher a handjob, right during class..." ("base", "base", "base", "mid") - gen "{size=-4}(Yes... This is good stuff, go on!){/size}" ("base", xpos="far_left", ypos="head") - her "And this other girl, she sucked off a teacher!" ("annoyed", "base", "worried", "R") - gen "{size=-4}(Yes! Yes!){/size}" ("base", xpos="far_left", ypos="head") - her "And another girl let a teacher cum in her mouth..." ("smile", "base", "base", "R") - her "And she swallowed it all and loved it!" ("soft", "base", "base", "R") - gen "{size=-4}(Wait... Is she making this up?){/size}" ("base", xpos="far_left", ypos="head") - her "I'm a nasty girl too, you know..." ("smile", "narrow", "base", "mid_soft") - gen "What?!" ("angry", xpos="far_left", ypos="head") - her "I just want to suck a cock..." ("soft", "narrow", "base", "mid_soft") - her "I want men to cum on my face like in those magazines I saw!" ("open_tongue", "narrow", "base", "mid_soft") - gen "{size=-4}(You little slut! That did it!) *Argh!*{/size}" ("angry", xpos="far_left", ypos="head") + hide hermione_main + nar "You reach under the desk and grab your cock..." + call gen_chibi("jerk_off_behind_desk") + with d3 + pause.8 + + her "She should be expelled!" ("angry", "closed", "angry", "mid") + gen "*Mmm*... Yes..." ("base", xpos="far_left", ypos="head") + her "We need to put an end to this behaviour, [name_genie_hermione]!" ("open", "closed", "base", "mid") + gen "Yeah, sure..." ("base", xpos="far_left", ypos="head") + her "So you agree with me then?" ("base", "narrow", "base", "mid_soft") + her "I think we need to implement a new penalty system to punish girls who step over the line..." ("open", "base", "base", "R") + gen "(All I heard was \"punish girls\"...)" ("base", xpos="far_left", ypos="head") + her "This will also help the boys in our school to feel less discriminated against!" ("open", "closed", "base", "mid") + gen "The boys?" ("base", xpos="far_left", ypos="head") + gen "Oh, right... Poor bastards." ("base", xpos="far_left", ypos="head") + her "I'm so glad that you understand my concerns, [name_genie_hermione]." ("base", "base", "base", "mid") + gen "Yes, yes, sure..." ("base", xpos="far_left", ypos="head") + her "Now, onto my next--" ("base", "base", "base", "mid") + her "[name_genie_hermione]... What are you doing?" ("open", "base", "base", "mid") + her "You are not.....?" ("open", "base", "worried", "mid") + her "Are you...?" ("annoyed", "base", "worried", "R") + gen "What? Oh, I'm just scratching my leg...{w=0.4} Keep going." ("base", xpos="far_left", ypos="head") + her "*Hmm*..." ("normal", "squint", "angry", "mid") + gen "{size=-4}(Is she onto me? Nah...){/size}" ("base", xpos="far_left", ypos="head") + her "As I was saying..." ("annoyed", "base", "worried", "R") + her "We have to do something about these Slytherin harlots..." ("open", "closed", "worried", "mid") + + her "There is a rumour that they are actually sleeping with professor Snape..." ("annoyed", "base", "worried", "mid") + gen "{size=-4}(Yes... Those nasty Slytherin sluts!){/size}" ("base", xpos="far_left", ypos="head") + her "Also, there was this one girl who gave a teacher a handjob, right during class..." ("base", "base", "base", "mid") + gen "{size=-4}(Yes... This is good stuff, go on!){/size}" ("base", xpos="far_left", ypos="head") + her "And this other girl, she sucked off a teacher!" ("annoyed", "base", "worried", "R") + gen "{size=-4}(Yes! Yes!){/size}" ("base", xpos="far_left", ypos="head") + her "And another girl let a teacher cum in her mouth..." ("smile", "base", "base", "R") + her "And she swallowed it all and loved it!" ("soft", "base", "base", "R") + gen "{size=-4}(Wait... Is she making this up?){/size}" ("base", xpos="far_left", ypos="head") + her "I'm a nasty girl too, you know..." ("smile", "narrow", "base", "mid_soft") + gen "What?!" ("angry", xpos="far_left", ypos="head") + her "I just want to suck a cock..." ("soft", "narrow", "base", "mid_soft") + her "I want men to cum on my face like in those magazines I saw!" ("open_tongue", "narrow", "base", "mid_soft") + gen "{size=-4}(You little slut! That did it!) *Argh!*{/size}" ("angry", xpos="far_left", ypos="head") + + call cum_block + call gen_chibi("cum_behind_desk") + with d3 + pause.8 + + call cum_block + gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") + her "You were touching yourself, [name_genie_hermione]!" ("angry", "base", "angry", "mid") + gen "What? No, I was just... Ah, shit, this feels good..." ("angry", xpos="far_left", ypos="head") + + call hide_characters + call gen_chibi("cum_behind_desk_done") + with d3 + pause.8 + + her "This is disgusting! How could you!?" ("scream", "happyCl", "worried", "mid") + her "[name_genie_hermione], you are the headmaster! You are supposed to set a good example!" ("scream", "base", "angry", "mid") + gen "Hey, little Missy, are you going to judge me or do you want your points?" ("base", xpos="far_left", ypos="head") + her "My points please, I believe I earned those." ("angry", "happyCl", "worried", "mid",emote="sweat") + gen "Yes, you did." ("base", xpos="far_left", ypos="head") + her "*Eww*... I feel so dirty now..." ("angry", "base", "angry", "mid") + + $ states.her.mood = +7 + $ states.her.status.voyer = True + + if not states.her.ev.talk_to_me.caught_masturbating: + $ states.her.ev.talk_to_me.caught_masturbating = True + + $ achievements.unlock("busted") + + return + +label hg_pf_talk_T2_repeat: + her "" ("normal", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + + her "*Ahem*... Things have been pretty normal..." ("open", "closed", "base", "mid") + her "I caught one of the Slytherin girls flickering her eyelashes towards Professor Snape the other day." ("open", "base", "base", "R") + her "I assume she was trying to look seductive, but to me, it appeared more like she had some sort of tick." ("soft", "narrow", "base", "R") + gen "Right..." ("base", xpos="far_left", ypos="head") + gen "This is a regular occurrence, I assume?" ("base", xpos="far_left", ypos="head") + her "It's a daily occurrence! Just the other day--" ("angry", "narrow", "base", "mid") + her "*Ehm*... I mean..." ("angry", "base", "base", "R") + gen "Yes?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... I'm not sure if I should tell you..." ("disgust", "narrow", "base", "down") + gen "Why not?" ("base", xpos="far_left", ypos="head") + her "I just figured you'd just end up... *Ahem*..." ("angry", "narrow", "base", "down") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her "Alright, fine... I'll tell you about it..." ("open", "squint", "base", "R") + her "It's that Slytherin girl I mentioned before... I actually caught her taking pictures in public this time." ("angry", "base", "base", "mid") + + menu: + "-Start jerking off-": + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True + + hide hermione_main + nar "You reach under the desk and grab your cock..." + call gen_chibi("jerk_off_behind_desk") + with d3 + pause.8 + + her "[name_genie_hermione], this is precisely why I didn't want to tell you!" ("angry", "narrow", "worried", "mid") + gen "What do you mean?" ("base", xpos="far_left", ypos="head") + her "You're touching yourself again!" ("angry", "narrow", "annoyed", "R") + gen "I'm just a bit itchy. You know how it is..." ("base", xpos="far_left", ypos="head") + her "..." ("normal", "narrow", "angry", "mid") + gen "Don't mind me... Feel free to resume your story..." ("base", xpos="far_left", ypos="head") + her "Fine..." ("open", "closed", "annoyed", "mid") + + "-Participate in the conversation-": + $ states.gen.masturbating = False + gen "In public?" ("base", xpos="far_left", ypos="head") + her "I know! I couldn't believe it!" ("angry", "narrow", "base", "mid") + + her "As I waited outside the potion classroom for our scheduled lesson to commence, I observed that the door was ajar." ("open", "closed", "base", "mid") + her "Since Professor Snape always makes sure to keep the doors locked, I figured something must be going on..." ("open", "base", "base", "R") + her "So, I opened the door a bit more to get a peek inside..." ("open", "closed", "base", "mid") + her "And there she was!" ("scream", "base", "base", "mid") + her "[name_genie_hermione]! I actually caught her this time! Now you have to do something about it!" ("angry", "squint", "base", "mid") + if states.gen.masturbating: + gen "*Ah*... Caught her... Doing what?" ("base", xpos="far_left", ypos="head") + her "Taking pictures, while she was touching herself!" ("scream", "base", "annoyed", "mid") + gen "*Ah*... Really?" ("base", xpos="far_left", ypos="head") + her "Yes!" ("angry", "narrow", "annoyed", "mid") + her "And it can't have been the first time, seeing how she was effortlessly focusing her magic while also keeping the camera steady..." ("open", "narrow", "annoyed", "R") + gen "*Ngh*--{w=0.2} Jealous, are you?" ("base", xpos="far_left", ypos="head") + her "Jealous? Of a Slytherin? Surely, you must be joking..." ("angry", "squint", "base", "mid") + gen "She sure--{w=0.2} *Ngh*... She's found a pretty easy way to earn points, don't you think?" ("base", xpos="far_left", ypos="head") + her "*Hmph*...{w=0.4} As if she even cares about the points...." ("annoyed", "narrow", "annoyed", "R") + gen "She doesn't?" ("base", xpos="far_left", ypos="head") + her "Of course she doesn't! None of them do! They're all just doing it to fullfil their own twisted desires!" ("angry", "happy", "annoyed", "mid") + gen "(As if you're not--)" ("base", xpos="far_left", ypos="head") + her "You should've seen how wet she was!" ("open", "base", "annoyed", "R") + her @ cheeks blush "I mean--" ("angry", "base", "worried", "mid") #blushing + gen "{size=-4}(*Ngh*--{w=0.2} That did it!) *Argh!*{/size}" ("angry", xpos="far_left", ypos="head") call cum_block call gen_chibi("cum_behind_desk") @@ -281,51 +416,39 @@ label hg_pf_talk_T2: pause.8 call cum_block + gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "I can't believe it, [name_genie_hermione]!" ("angry", "base", "worried", "stare") + her "You were touching yourself!{w} Again!" ("angry", "base", "angry", "mid") - if hg_jerkoff.trigger: - her "I can't believe it, [genie_name]!" ("soft", "base", "angry", "mid") - her "You were touching yourself!{w} Again!" ("angry", "base", "angry", "mid") - else: - her "You were touching yourself, [genie_name]!" ("angry", "base", "angry", "mid") - - gen "What? No, I was just... Ah, shit, this feels good..." ("angry", xpos="far_left", ypos="head") + gen "What? No, I was just... *Ngh*..." ("angry", xpos="far_left", ypos="head") call hide_characters call gen_chibi("cum_behind_desk_done") with d3 pause.8 - her "This is disgusting! How could you!?" ("scream", "happyCl", "worried", "mid") - her "[genie_name], you are the headmaster! You are supposed to set a good example!" ("scream", "base", "angry", "mid") - gen "Hey, little Missy, are you going to judge me or do you want your points?" ("base", xpos="far_left", ypos="head") - her "My points please, I believe I earned those." ("angry", "happyCl", "worried", "mid",emote="sweat") - gen "Yes, you did." ("base", xpos="far_left", ypos="head") - her "*Eww*... I feel so dirty now..." ("angry", "base", "angry", "mid") + her "You disgust me!" ("scream", "happyCl", "worried", "mid") + gen "Yeah, yeah... Do you still want the points, or not?" ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "annoyed", "down") + her "I do..." ("open", "narrow", "annoyed", "down") + gen "I figured you would..." ("base", xpos="far_left", ypos="head") - $ her_mood = +7 - - if hg_jerkoff.trigger == False: - $ achievements.unlock("busted") - $ hg_pf_talk.change_icon(a="heart_half", b="heart_red") - $ hg_jerkoff.triggered() # .trigger = True, .counter += 1 + $ states.her.mood = +7 else: - her "We need to put an end to this behaviour, [genie_name]!" ("open", "closed", "base", "mid") - gen "Yeah, sure..." ("base", xpos="far_left", ypos="head") - her "So you agree with me then?" ("base", "narrow", "base", "mid_soft") - her "I think we need to implement a new penalty system to punish girls who are known to sell favours..." ("open", "base", "base", "R") - gen "(All I heard was \"punish girls\"...)" ("base", xpos="far_left", ypos="head") - her "This will also help the boys in our school to feel less discriminated against!" ("open", "closed", "base", "mid") - gen "The boys?" ("base", xpos="far_left", ypos="head") - gen "Oh, right... Nobody wants to buy sexual favours from them... Poor bastards." ("base", xpos="far_left", ypos="head") - her "I'm so glad that you understand my concerns, [genie_name]." ("base", "base", "base", "mid") - gen "Yes, yes, sure..." ("base", xpos="far_left", ypos="head") + gen "Did you bring me some proof?" ("base", xpos="far_left", ypos="head") + her "Did I--" ("angry", "squint", "base", "stare") + gen "After seeing what you saw, surely, you must have confronted her and confiscated her camera." ("base", xpos="far_left", ypos="head") + her "Of course I didn't confront her! How do you think that would have looked?" ("angry", "squint", "worried", "mid") + her "Even if I had, I wouldn't have dared to touch her camera after what I--" ("angry", "squint", "worried", "R") + her @ cheeks blush "*Ehm*..." ("angry", "narrow", "worried", "down") + gen "Yes?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmph*...{w=0.4} Nevermind." ("annoyed", "narrow", "annoyed", "R") + her "May I have my points now?" ("open", "closed", "angry", "mid") + gen "Very well..." ("base", xpos="far_left", ypos="head") return - - - ### Tier 3 ### # Hermione knows by now that you like to jerk off while she talks. @@ -333,13 +456,16 @@ label hg_pf_talk_T2: # Favours can revolve around Cho, Luna, Tonks label hg_pf_talk_T3_intro_E1: - gen "Let's have another chat, [hermione_name]." ("base", xpos="far_left", ypos="head") + + call start_hg_pf_talk + + gen "Let's have another chat, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Okay..." ("annoyed", "base", "worried", "mid") gen "I'd like you to tell me a bit about your day." ("base", xpos="far_left", ypos="head") - her "Are you going to...{w=0.8} touch yourself again sir?" ("open", "squint", "base", "mid") + her "Are you going to...{w=0.8} touch yourself again, sir?" ("open", "squint", "base", "mid") gen "I can't guarantee I won't..." ("base", xpos="far_left", ypos="head") gen "You will be awarded with house points - as usual." ("base", xpos="far_left", ypos="head") - her "..." ("mad", "narrow", "worried", "down", cheeks="blush") #mad Blush + her @ cheeks blush "..." ("mad", "narrow", "worried", "down") #mad Blush gen "You've not walked out the door, so please, tell me about your day." ("base", xpos="far_left", ypos="head") call hg_pf_talk_T3 @@ -348,17 +474,19 @@ label hg_pf_talk_T3_intro_E1: label hg_pf_talk_T3_intro_E2: - gen "{size=-4}(Should I spice things up a bit?){/size}" ("base", xpos="far_left", ypos="head") + + call start_hg_pf_talk + + gen "{size=-4}(Perhaps I could spice things up a bit...){/size}" ("base", xpos="far_left", ypos="head") menu: #"-Suggest inviting Snape-": # pass # #To be added - # #$ hg_pf_talk_snape.start() "-Suggest inviting Tonks-": # Start event chronologically - $ hg_pf_talk_tonks.start() + $ her_eventqueue_talk_to_me_tonks.start() "-Decide against it-": - gen "Let's have another chat, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Let's have another chat, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Okay..." ("base", "base", "base", "mid") call hg_pf_talk_T3 @@ -367,16 +495,18 @@ label hg_pf_talk_T3_intro_E2: label hg_pf_talk_T3_repeat: + + call start_hg_pf_talk + menu: #"-Suggest inviting Snape-": # pass # #To be added - # #$ hg_pf_talk_snape.start() "-Suggest inviting Tonks-": # Start event chronologically - $ hg_pf_talk_tonks.start() + $ her_eventqueue_talk_to_me_tonks.start() "-Decide against it-": - gen "Tell me about your day, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Tell me about your day, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Okay..." ("base", "base", "base", "mid") call hg_pf_talk_T3 @@ -389,91 +519,96 @@ label hg_pf_talk_T3: menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True hide hermione_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 pause.8 - her "[genie_name], I hoped we wouldn't do this again..." ("open", "squint", "base", "mid") - her "Are you actually... Masturbating again?" ("disgust", "squint", "base", "mid") - gen "Me? I'd never do such a thing. Ever..." ("base", xpos="far_left", ypos="head") - gen "Anyhow... Don't forget why you're here, [hermione_name]. To earn some points..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]... I hoped we wouldn't do this again." ("open", "squint", "base", "mid") + her "Are you actually... Masturbating?" ("disgust", "squint", "base", "mid") + gen "Me? I'd never do such a thing..." ("base", xpos="far_left", ypos="head") + gen "Anyhow... Don't forget why you're here, [name_hermione_genie]. To earn some points..." ("base", xpos="far_left", ypos="head") + gen "Now, tell me about your day." ("base", xpos="far_left", ypos="head") "-Participate in the conversation-": - $ genie_masturbating = False - gen "Time to earn those points." ("base", xpos="far_left", ypos="head") + $ states.gen.masturbating = False + gen "And put some effort into it, if you want to earn those points." ("base", xpos="far_left", ypos="head") - her "Well..." ("open", "closed", "base", "mid") - her "Today started off fairly normal..." - her "We had muggle studies." ("base", "base", "base", "mid") - her "Professor Burbage babbled on about things she doesn't understand as usual." ("open", "base", "base", "R") - her "As I'm a muggle born I've been considering dropping the subject. It's a waste of time." ("base", "base", "base", "mid") - her "Although since I failed that test I feel like I need all the extra points I can get..." ("open", "narrow", "worried", "down") - her "Her views on muggle and wizarding relations, and the fact that we're not that different is also quite refreshing..." ("base", "happy", "base", "mid_soft") - her "Not that the Slytherins aren't constantly trying to disrupt her classes..." ("annoyed", "happyCl", "base", "mid") - if genie_masturbating: - gen "*Hmm* I bet they were..." ("base", xpos="far_left", ypos="head") - her "*UGH* Do you have to keep touching yourself professor?" ("disgust", "narrow", "worried", "down", cheeks="blush") - gen "Just keep talking [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Fine..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her "Right..." ("open", "closed", "base", "mid") + her "So, our first lesson of today was muggle studies." ("open", "base", "base", "R") + her "Professor Burbage babbled on about things she doesn't understand, as usual." ("open", "base", "base", "mid") + her "As a muggle-born, I can't help but notice how inaccurate most of her teachings are, so I briefly considered dropping the subject." ("open", "base", "base", "mid") + her "But ever since I failed that test, I feel like I should take all the extra credit that I can get..." ("open", "narrow", "worried", "down") + her "It's not too bad though... Her views on muggle and wizarding relations are quite refreshing." ("base", "happy", "base", "mid_soft") + if states.gen.masturbating: + gen "*Hmm*... Yes, very refreshing..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ugh*... Do you have to touch yourself, [name_genie_hermione]?" ("disgust", "narrow", "worried", "down") + gen "Just keep talking, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Fine..." ("annoyed", "narrow", "angry", "R") + her "So, I probably would've found her lessons quite enjoyable if it wasn't for the Slytherins always trying to disrupt it..." ("annoyed", "narrow", "base", "mid") + gen "*Ah*...{w=0.4} Yes...{w=0.4} Those naughty Slytherins...{w=0.4} What were they up to this time?" ("base", xpos="far_left", ypos="head") else: - gen "Is that so?" ("base", xpos="far_left", ypos="head") - gen "So, what were they doing exactly?" ("base", xpos="far_left", ypos="head") + gen "So, what you're saying is that even though you're not learning anything, you're still enjoying it?" ("base", xpos="far_left", ypos="head") + her "Well, I would, if the Slytherins weren't making it their mission to disrupt every single lesson..." ("annoyed", "narrow", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + her "Yes... And I'm certain that the only reason why they're even taking the subject, is so that they get to make fun of her, and anything muggle related..." ("annoyed", "narrow", "base", "mid") + gen "So, what were those naughty Slytherins doing exactly?" ("base", xpos="far_left", ypos="head") - her "Well, her room is filled with a bunch of muggle toys, instruments, and trinkets..." ("open", "base", "base", "mid") - her "Her collection would even bring mister Weasley's to shame." ("base", "base", "base", "mid") + her "Well... Since they had a room filled with a bunch of muggle toys, instruments, and trinkets at their disposal..." ("open", "base", "base", "mid") + her "They thought it would be funny to play around with them, and to try and make it look like they were handling various sexual devices." ("open", "base", "base", "R") + her @ cheeks blush "Since most Slytherins are pure-blooded, they had no idea that they were just making fun of miscellaneous house-hold items..." ("open", "base", "base", "mid") - if genie_masturbating: - gen "(I bet she has a bunch of sex toys in there...)" ("base", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "(If only you knew about the time I had with Henry the hoover.)" ("angry", xpos="far_left", ypos="head") else: - gen "Maybe I should have a look at her collection myself." ("base", xpos="far_left", ypos="head") + gen "Well, if you're brave enough..." ("base", xpos="far_left", ypos="head") - her "There's obviously nothing that stands out as odd to me in any way." ("open", "base", "base", "mid", cheeks="blush") - her "But since most of the Slytherins are pure-blood they were handling her items with little to no care." ("mad", "base", "base", "R") - her "So when they weren't silently insulting her about her views, they were constantly making suggestive remarks about the objects, asking where she'd insert them..." ("annoyed", "base", "worried", "R") - her "She's quite oblivious to it most of the time but the constant giggling from the Slytherin girls is very distracting and annoying." ("open", "narrow", "worried", "down", cheeks="blush") - her "It didn't help when they discovered what professor Burbage actually believed to be a back massager..." ("angry", "happyCl", "base", "mid", cheeks="blush") - gen "I mean, that's what it says on the box..." ("base", xpos="far_left", ypos="head") - gen "Wait, how do you know what people usually use them for?" ("angry", xpos="far_left", ypos="head") - her "..." ("disgust", "wide", "worried", "shocked", cheeks="blush") + her "Each time Professor Burbage brought out another object, they would start spouting various suggestive remarks, and ask her where she'd insert it and so on..." ("angry", "narrow", "angry", "R") + her @ cheeks blush "Which, of course, triggered this incessant giggling from the Slytherin girls..." ("disgust", "narrow", "angry", "down") + her @ cheeks blush "Of course, not a single muggle-born found it funny... Until Professor Burbage brought out what she actually believed to be a back massager..." ("angry", "narrow", "base", "R") + gen "Isn't that what it says on the box?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, but--" ("annoyed", "narrow", "worried", "mid") + gen "Wait, so you're saying that you're aware of what people actually use them for?" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "wide", "worried", "shocked") gen "Well?" ("grin", xpos="far_left", ypos="head") - her "I..." ("annoyed", "happyCl", "worried", "mid", cheeks="blush") - her "Well, it's obvious to anyone with common sense isn't it!" ("open", "narrow", "angry", "R", cheeks="blush") - her "Even those Slytherin girls quickly realised what people use it for... and they're thicker than polyjuice potion!" ("mad", "closed", "angry", "mid", cheeks="blush") - if genie_masturbating: - gen "(I bet you wouldn't mind nicking it for yourself...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I..." ("annoyed", "happyCl", "worried", "mid") + her @ cheeks blush "Well, it's obvious to anyone with common sense, isn't it!" ("open", "narrow", "angry", "R") + her @ cheeks blush "Even those Slytherin girls quickly realised what people actually use it for... And they're thicker than polyjuice potion!" ("mad", "closed", "angry", "mid") + if states.gen.masturbating: + gen "(I bet you've got a whole drawer full of them...)" ("base", xpos="far_left", ypos="head") else: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "Why don't {size=+4}you{/size} tell me since you seem so knowledgeable about the subject..." ("grin", xpos="far_left", ypos="head") - her "Sorry?" ("mad", "base", "worried", "mid", cheeks="blush") - gen "What {size=+4}would{/size}{w=0.6} they use those massagers for?" ("base", xpos="far_left", ypos="head") - her "Well, you know..." ("open", "narrow", "worried", "down", cheeks="blush") + gen "Why don't {size=+4}you{/size} inform me, since you seem so knowledgeable about the subject..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Sorry?" ("mad", "base", "worried", "mid") + gen "What {size=+4}do{/size}{w=0.6} most people use those massagers for?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, you know..." ("open", "narrow", "worried", "down") gen "Pretend that I don't." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("normal", "narrow", "base", "down") - if genie_masturbating: - her "They'd use it for what you're doing..." ("open", "happyCl", "worried", "mid") + if states.gen.masturbating: + her "People use it, to do what you're doing..." ("open", "happyCl", "worried", "mid") gen "Which is..." ("base", xpos="far_left", ypos="head") - her "Well, you'd insert it...{w=0.5} and use it to..." ("normal", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "Well, you put it against--{w=0.2}*Ahem*...{w=0.4} And then you turn it on to..." ("normal", "narrow", "worried", "down") gen "To what?" ("base", xpos="far_left", ypos="head") - her "To pleasure yourself..." - gen "And are you using one of these devices?" ("base", xpos="far_left", ypos="head") - her "Of...{w=0.5} of course I'm not!{w=0.5} Muggle electronics do not work at Hogwarts!" ("base", "happyCl", "base", "mid", cheeks="blush") - gen "So you have one at home then?" ("grin", xpos="far_left", ypos="head") - her "I..." ("normal", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "To pleasure yourself..." ("open", "narrow", "angry", "down") + gen "Fascinating... Perhaps you should bring yours next time, so you can show them how it's meant to be used." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Bring--{w=0.2} Why do you think I have--{w=0.2} Muggle electronics doesn't even work at Hogwarts!" ("base", "happyCl", "base", "mid") + gen "Truly?" ("grin", xpos="far_left", ypos="head") + gen "Then how come you're so knowledgeable about the--" ("grin", xpos="far_left", ypos="head") + gen "Don't tell me you've got one at home!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I..." ("normal", "narrow", "worried", "down") gen "(I knew it, you dirty slut!)" ("grin", xpos="far_left", ypos="head") - her "I don't have to talk about my personal health to you!" ("open", "narrow", "angry", "R", cheeks="blush") - gen "I bet you use it any chance you get when nobody is around!" ("grin", xpos="far_left", ypos="head") - her "I do not!" ("angry", "base", "angry", "mid", cheeks="blush") - gen "{size=-4}So you do it even when your parents are at home?{/size}" ("grin", xpos="far_left", ypos="head") - gen "{size=-4}You dirty...{w=0.5}*HNGH*...{w=0.5} whore! *Argh!*{/size}" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "I don't have to talk about my personal health to you!" ("open", "narrow", "angry", "R") + gen "I bet you use it as soon as your parents get out of the house!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I do not!" ("angry", "base", "angry", "mid") + gen "{size=-4}So you use it even when they're at home?{/size}" ("grin", xpos="far_left", ypos="head") + gen "{size=-4}You dirty--{w=0.2}*Hngh*...{w=0.5} *Argh*!{/size}" ("angry", xpos="far_left", ypos="head") - call play_music("stop") + stop music fadeout 1 call hide_characters - hide screen bld1 with d3 call cum_block call gen_chibi("cum_behind_desk") @@ -482,14 +617,14 @@ label hg_pf_talk_T3: call cum_block call bld - gen "*Argh!* YES!" ("angry", xpos="far_left", ypos="head") + gen "*Argh*! YES!" ("angry", xpos="far_left", ypos="head") - call play_music("playful_tension") - if her_tier <= 4: - $ her_mood = +7 - her "[genie_name]...{w} did you just...?" ("disgust", "narrow", "base", "down") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + if states.her.tier <= 4: + $ states.her.mood = +7 + her "[name_genie_hermione]...{w} Did you just...?" ("disgust", "narrow", "base", "down") else: - her "[genie_name]...{w} did you just...?" ("soft", "narrow", "worried", "down") + her "[name_genie_hermione]...{w} Did you just...?" ("soft", "narrow", "worried", "down") call hide_characters hide screen bld1 @@ -499,59 +634,56 @@ label hg_pf_talk_T3: with d3 pause.5 - if her_tier <= 4: + if states.her.tier <= 4: her "*Yuck*!..." ("annoyed", "narrow", "base", "mid_soft") - call bld - gen "That felt amazing..." ("base", xpos="far_left", ypos="head") + gen "That...{w=0.4} Felt...{w=0.4} Amazing!" ("base", xpos="far_left", ypos="head") her "..." ("base", "narrow", "base", "mid_soft", xpos="mid", ypos="base") - gen "You shouldn't hold it in, [hermione_name]... It could help you relax a bit." ("grin", xpos="far_left", ypos="head") - gen "All great wizards do it..." ("base", xpos="far_left", ypos="head") + gen "Don't be so uptight, [name_hermione_genie]... Try to relax a bit for once." ("grin", xpos="far_left", ypos="head") her "(.........)" ("annoyed", "narrow", "angry", "R") - gen "I could even go fetch that massager for you if you'd like." ("base", xpos="far_left", ypos="head") - her "No!" - gen "Oh yeah, you said they don't work at the school..." ("base", xpos="far_left", ypos="head") - her "That's not what I meant..." ("annoyed", "happyCl", "worried", "mid") - gen "Loosen up a bit won't you, I'll figure something out don't you worry..." ("base", xpos="far_left", ypos="head") - her "{size=-4}I am not-{/size}" ("annoyed", "happyCl", "worried", "mid") + gen "How about I fetch that massager, that way--" ("base", xpos="far_left", ypos="head") + her "No!" ("angry", "narrow", "angry", "mid") + gen "Oh right... I forgot it wouldn't function..." ("base", xpos="far_left", ypos="head") + gen "Well... Surely, there are other magical alternatives available for you to--" ("base", xpos="far_left", ypos="head") + her "Please, I don't want to think about that right now..." ("annoyed", "happyCl", "worried", "mid") + gen "I'll figure something out, don't you worry... I'll make it a priority to loosen you up one way or another..." ("base", xpos="far_left", ypos="head") + her "{size=-4}What's that supposed to--{/size}" ("annoyed", "happyCl", "worried", "mid") her "(...................)" ("disgust", "base", "worried", "mid") - gen "You've done well today [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "You've done well today, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "You've soiled your entire desk!" ("mad", "wide", "base", "stare") - gen "I'm sure it will be cleaned at one point or another..." ("base", xpos="far_left", ypos="head") - if her_tier <= 4: - her "Gross..." ("normal", "happyCl", "worried", "mid", cheeks="blush") + gen "That's odd... Well, I'm sure it will get cleaned at one point or another." ("base", xpos="far_left", ypos="head") + if states.her.tier <= 4: + her @ cheeks blush "Gross..." ("normal", "happyCl", "worried", "mid") else: - her "(Such a waste...)" ("soft", "narrow", "worried", "down", cheeks="blush") - her "May I have my points now?" ("open", "narrow", "worried", "down", cheeks="blush") - gen "Of course..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "(Such a waste...)" ("soft", "narrow", "worried", "down") + her @ cheeks blush "May I have my points now?" ("open", "narrow", "worried", "down") + gen "Certainly..." ("base", xpos="far_left", ypos="head") else: - gen "Yes?" ("base", xpos="far_left", ypos="head") - her "They're...{w=0.5} they're back massagers, it says so on the box... you said so yourself." ("open", "base", "worried", "R", cheeks="blush") - gen "Then what's the problem with the Slytherin girls having a go with it?" ("base", xpos="far_left", ypos="head") - her "Nothing! I'm sure they found it very educational!" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "I had never seen them more interested in muggle studies in fact!" ("disgust", "narrow", "angry", "R", cheeks="blush") - gen "I bet..." ("base", xpos="far_left", ypos="head") - gen "So, since you're muggle born and all..." ("base", xpos="far_left", ypos="head") - her "Yes?" ("open", "happy", "base", "mid_soft") - gen "I hope you properly demonstrated how to use it to them." ("base", xpos="far_left", ypos="head") - her "What? Why on earth do you think I would do that?" ("shock", "wide", "base", "stare", cheeks="blush") - her "Do you take me for some sort of exhibitionist?" ("mad", "wide", "base", "stare", cheeks="blush") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "They're...{w=0.5} They're back massagers... As it says on the box... Didn't you say so yourself?" ("open", "base", "worried", "R") + gen "In that case, you'd have no problem watching those Slytherin girls having a go, using one?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course I wouldn't!" ("angry", "happyCl", "worried", "mid") + gen "Bet..." ("base", xpos="far_left", ypos="head") + gen "Although... What if they end up doing it wrong? Surely, being the only one in your class familiar with such a device..." ("base", xpos="far_left", ypos="head") + her "What do you--" ("open", "happy", "base", "mid_soft") + gen "Surely, during your next lesson, you should volunteer to properly demonstrate how to use it." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What? Why on earth do you think I would do that?" ("shock", "wide", "base", "stare") + her @ cheeks blush "Do you take me for some sort of exhibitionist?" ("mad", "wide", "base", "stare") gen "Sorry?" ("base", xpos="far_left", ypos="head") - her "Don't you sorry me...{w=0.5} you expect me to get my fanny out and casually just shove it in there for the whole class to see?" ("angry", "base", "angry", "mid", cheeks="blush") - her "I'm sure they would love that and find it more than educational..." ("base", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "Don't you \"sorry\" me!{w=0.5} You expect me to get my fanny out, and just casually display how to use a vibrator for the entire class?" ("angry", "base", "angry", "mid") with hpunch - her "How{w=0.8} {size=+6}dare{/size} you suggest--" ("open", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "How{w=0.8} {size=+6}dare{/size} you suggest--" ("open", "base", "angry", "mid") gen "What are you talking about? Weren't we talking about back massagers?" ("base", xpos="far_left", ypos="head") - her "-I'd just tear my clothes off and..." ("open", "closed", "angry", "mid", cheeks="blush") - $ renpy.sound.play("sounds/glass_shatter.ogg") - her "..." ("mad", "wide", "base", "stare", cheeks="blush") - her "I...{w} I'm sorry professor!" - gen "I didn't take you for such a naughty girl, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - gen "Here we were having an innocent conversation about back massagers and you spring all this on me." ("grin", xpos="far_left", ypos="head") - her "Professor... I didn't mean." ("soft", "happyCl", "worried", "mid", cheeks="blush") - gen "Don't you 'Professor' me..." ("grin", xpos="far_left", ypos="head") - her "But please, I assure you..." ("open", "base", "worried", "mid", cheeks="blush") - gen "That will be all for today Miss Granger." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "-Yes, why don't I just tear my clothes off in the middle of class while I'm at it, and--" ("open", "closed", "angry", "mid") + play sound "sounds/glass_shatter.ogg" + her @ cheeks blush "..." ("mad", "wide", "base", "stare") + her "I...{w} I'm sorry [name_genie_hermione]!" + gen "I didn't take you for such a naughty girl, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + gen "I thought we were having an innocent conversation about back massagers, then you spring all this on me." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]... I didn't mean to--" ("soft", "happyCl", "worried", "mid") + gen "I don't want to hear it, [name_hermione_genie]..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "But please, I assure you--" ("open", "base", "worried", "mid") + gen "That will be all for today [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You've surely opened my eyes..." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "base", "mid") return @@ -560,27 +692,31 @@ label hg_pf_talk_T3: label hg_pf_talk_tonks_T3_intro_E1: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], for today's favour I'd like to bring in a guest to join us." ("base", xpos="far_left", ypos="head") - her "What? Didn't we decide it was going to be between just you and I?" ("open", "squint", "angry", "mid") - gen "Well, why only the two of us when there is the option to bring another person in?" ("base", xpos="far_left", ypos="head") - her "The option to?" ("normal", "squint", "angry", "mid") + gen "[name_hermione_genie], for today's favour, I'd like to bring in a guest to join us." ("base", xpos="far_left", ypos="head") + her "A guest? But I thought we decided that this was only going to be between you and me." ("open", "squint", "worried", "mid") + gen "Why only the two of us when there was an option to bring another person in?" ("base", xpos="far_left", ypos="head") + her "An option to--{w=0.4} What?" ("normal", "squint", "angry", "mid") her "Sorry, I'm not following..." ("normal", "squint", "base", "mid") - gen "[hermione_name], what is your opinion of Miss Tonks?" ("base", xpos="far_left", ypos="head") - her "Well, she's a very talented witch... You'd have to be to become an auror." ("open", "closed", "base", "mid") - gen "Wouldn't it be great if we could have another chat with each other?" ("base", xpos="far_left", ypos="head") - gen "I heard you already had a bit of a talk previously." ("base", xpos="far_left", ypos="head") - her "You knew about that?" ("angry", "base", "worried", "mid", cheeks="blush") - gen "I'm the headmaster [hermione_name]...{w} It's my job to know what goes on within the castle." ("base", xpos="far_left", ypos="head") - gen "She was the one that suggested you try selling some favours yourself, was it not?" ("base", xpos="far_left", ypos="head") - her "Well..." ("disgust", "narrow", "base", "down") - gen "I think it could be quite nice to have a little conversation - all of us together." ("base", xpos="far_left", ypos="head") - her "Just a conversation then?" ("open", "base", "base", "R") - gen "Yes, just a conversation..." ("base", xpos="far_left", ypos="head") - gen "And you'd be awarded points of course." ("base", xpos="far_left", ypos="head") + gen "Tell me [name_hermione_genie]... What's your opinion of Miss Tonks?" ("base", xpos="far_left", ypos="head") + her "Well, she's a very talented witch... You'd have to be, to become an auror." ("open", "closed", "base", "mid") + gen "Very talented indeed...{w=0.4} Anything else you know about her?" ("base", xpos="far_left", ypos="head") + her "*Hmm*... Nothing that any other student wouldn't know, I don't think." ("open", "base", "base", "mid") + gen "Truly? From what I've heard, you two had a bit of a private talk at one point." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You know about that? Who told--" ("angry", "base", "worried", "mid") + gen "I'm the headmaster, [name_hermione_genie]...{w} It's my job to know what goes on within the castle." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Right..." ("open", "base", "worried", "mid") + gen "So, during that talk, Miss Tonks suggested you try selling me some favours, didn't she?" ("base", xpos="far_left", ypos="head") + her "She did, but--" ("open", "narrow", "base", "down") + her "Hold on... What are you suggesting, exactly?" ("disgust", "narrow", "base", "mid") + gen "I just thought that we could have a conversation with her." ("base", xpos="far_left", ypos="head") + her "Oh, I see..." ("angry", "base", "base", "mid") + gen "I'll award points to your house for your efforts, of course." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "base", "R") - her "Would I be getting any extra points for this?" ("open", "base", "base", "mid") - gen "Well, that will be up to Miss Tonks, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Okay... Just let me get more presentable." ("base", "base", "base", "mid") + her "And Professor Tonks?" ("open", "base", "base", "mid") + gen "Sorry?" ("base", xpos="far_left", ypos="head") + her "Would she pay me as well?" ("open", "base", "base", "mid") + gen "Well, that would be up to her, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Alright then, I accept... Just let me get more presentable." ("base", "base", "base", "mid") gen "Great, I'll call for her then..." ("base", xpos="far_left", ypos="head") call hg_pf_talk_tonks @@ -590,13 +726,13 @@ label hg_pf_talk_tonks_T3_intro_E1: label hg_pf_talk_tonks_T3_E1: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "Let's call Miss Tonks up for this one shall we." ("base", xpos="far_left", ypos="head") + gen "Let's call Miss Tonks up for this one, shall we." ("base", xpos="far_left", ypos="head") her "For what?" ("open", "happy", "base", "mid") gen "For today's favour of course!" ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "base", "mid_soft") her "Will I get any extra points for this?" ("open", "base", "base", "mid") - gen "Well, that will be up to Miss Tonks, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Fine.. Just let me get more presentable." ("base", "base", "worried", "R") + gen "Well, that will be up to Miss Tonks, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Alright... Just let me get more presentable." ("base", "base", "worried", "R") call hg_pf_talk_tonks @@ -618,48 +754,52 @@ label hg_pf_talk_tonks: $ ton_outfit_last.save() $ tonks.equip(ton_outfit_default) - call play_sound("door") - call ton_chibi("stand",500,"base") + #call ton_chibi("stand",500,"base") call her_chibi("stand","desk","base") hide screen blkfade with d5 pause.8 - ton "" ("base", "base", "base", "mid", hair="basic", xpos=600, ypos="base") - her "Hello, Professor Tonks." ("open", "closed", "base", "mid", xpos="right", ypos="base") - her "" ("base", "base", "base", "mid") + play sound "sounds/door.ogg" + call ton_walk(500,"base") + + ton @ hair basic "" ("base", "base", "base", "mid", xpos=600, ypos="base", trans=d3) + her "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=d3) if game.daytime: gen "Good day, Miss Tonks." ("base", xpos="far_left", ypos="head") ton "Good day, Professor." ("base", "happyCl", "base", "mid") else: gen "Good evening, Miss Tonks." ("base", xpos="far_left", ypos="head") ton "Good evening, Professor." ("base", "happyCl", "base", "mid") - ton "Hermione..." ("horny", "base", "base", "L", hair="horny") - ton "Is there some sort of special circumstance as to why the two of you summoned me here?" ("base", "base", "raised", "mid", hair="basic") + ton @ hair horny "Miss Granger..." ("horny", "base", "base", "L") + ton @ hair basic "Is there some sort of special circumstance as to why the two of you summoned me here?" ("base", "base", "raised", "mid") gen "More or less." ("base", xpos="far_left", ypos="head") gen "I think the three of us should have a bit of a chat..." ("base", xpos="far_left", ypos="head") - ton "Miss Granger, you didn't cause any trouble I hope?" ("open", "base", "base", "L") + ton "Miss Granger, you didn't cause any trouble, I hope?" ("open", "base", "base", "L") her "Me? Of course not!" ("open", "closed", "base", "mid") - her "" ("base", "base", "base", "mid") - gen "Now, I thought we could have a chat about these favour trading allegations..." ("base", xpos="far_left", ypos="head") - gen "That you most kindly brought to Miss Tonks' attention." ("base", xpos="far_left", ypos="head") + ton @ hair horny "Having some \"DADA\" issues? I could tutor you, if you'd like..." ("horny", "base", "base", "L") + her "That's not--" ("angry", "base", "base", "mid") + gen "I figured it was about time we had a chat, regarding these favour trading allegations..." ("base", xpos="far_left", ypos="head") + gen "Mainly the concerns that Miss Granger so kindly brought forward." ("base", xpos="far_left", ypos="head") her "Oh, those..." ("open", "narrow", "worried", "down") gen "Unless you've suddenly changed your mind on that sort of thing?" ("base", xpos="far_left", ypos="head") her "..." ("normal", "base", "base", "R") - her "No, I'll talk about it - if you like..." ("open", "narrow", "base", "down", cheeks="blush") - her "" ("normal", "base", "base", "mid", cheeks="blush") - ton "..." ("horny", "base", "base", "mid", hair="horny") + her @ cheeks blush "No, I'll talk about it - if you like..." ("open", "narrow", "base", "down") + her @ cheeks blush "" ("normal", "base", "base", "mid") + ton @ hair horny "..." ("horny", "base", "base", "mid") gen "Why don't we start with..." ("base", xpos="far_left", ypos="head") + $ _yourself = False menu: "\"Those pesky Slytherin Sluts!\"": + $ _yourself = False ton "Yes, I've heard those Slytherin girls are up to no good..." ("horny", "base", "angry", "mid") - her "They are! Where do I begin?" ("open", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "They are! Where do I begin?" ("open", "closed", "angry", "mid") menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True call hide_characters hide screen bld1 with d3 @@ -668,49 +808,47 @@ label hg_pf_talk_tonks: with d3 pause.8 - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False ton "" ("horny", "base", "base", "down") - her "There's the time Tracey Davis gave Slughorn a lap dance, in the middle of class!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "There's the time Tracey Davis gave Slughorn a lap dance, in the middle of class!" ("annoyed", "narrow", "angry", "R") ton "In the middle of class?" ("mad", "wide", "shocked", "stare") - her "Yes..." ("disgust", "narrow", "worried", "down", cheeks="blush") - ton "Oh my..." ("base", "narrow", "raised", "mid", hair="horny") - her "She was just sitting on his lap while he taught from his desk..." ("open", "base", "base", "R", cheeks="blush") - her "But we could all see her moving her hips!" ("annoyed", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Yes..." ("disgust", "narrow", "worried", "down") + ton @ hair horny "Oh my..." ("base", "narrow", "raised", "mid") + her @ cheeks blush "She was just sitting on his lap, while he taught from his desk..." ("open", "base", "base", "R") + her @ cheeks blush "But we could all see her moving her hips!" ("annoyed", "base", "base", "R") ton "Interesting..." ("grin", "narrow", "shocked", "down") - ton "Any other incidents, Miss Granger?" ("upset", "wide", "shocked", "L", cheeks="blush") + ton @ cheeks blush "Any other incidents, Miss Granger?" ("upset", "wide", "shocked", "L") her "More than I could count!" ("open", "closed", "angry", "mid") ton "" ("mad", "base", "base", "mid") her "I'm almost certain one of the girls wasn't wearing any underwear in class - which is completely unhygienic." ("angry", "narrow", "worried", "mid_soft") - if not hermione.is_worn("panties"): - gen "(Is she even wearing any herself right now?...)" ("base", xpos="far_left", ypos="head") - her "It was as if a snail had dragged themselves across one of the seats." ("annoyed", "base", "base", "R", cheeks="blush") - her "I had to insist on staying after class - and I spent a good ten minutes scourgifying everything." ("disgust", "narrow", "worried", "down", cheeks="blush") - if genie_masturbating: + her @ cheeks blush "It was as if a snail had dragged themselves across one of the seats." ("annoyed", "base", "base", "R") + her @ cheeks blush "I had to insist on staying after class - and I spent a good ten minutes scourgifying everything." ("disgust", "narrow", "worried", "down") + if states.gen.masturbating: gen "(I bet you lapped it all up, slut!)" ("grin", xpos="far_left", ypos="head") ton "Why bother, the elves would've done it anyway." ("mad", "narrow", "raised", "R") her "About that--" ("open", "squint", "angry", "mid") ton "Actually, let's save that topic for another time..." ("normal", "narrow", "base", "L") - if genie_masturbating: + if states.gen.masturbating: gen "(You wanted it all for yourself, that's why!)" ("angry", xpos="far_left", ypos="head") - ton "Is there anything else you could tell us about these... naughty Slytherin girls?" ("horny", "base", "angry", "mid", hair="horny") + ton @ hair horny "Is there anything else you could tell us about these... Naughty Slytherin girls?" ("horny", "base", "angry", "mid") her "Of course!" ("open", "closed", "angry", "mid") her "I could go on for hours about the vile things they've been up to..." ("annoyed", "narrow", "annoyed", "mid") - ton "I'm not in a rush." ("base", "narrow", "base", "down", cheeks="blush") - ton "But even if I was, it can wait until later." ("horny", "base", "raised", "L", cheeks="blush") - her "Well, that girl...{w=0.3} Pansy Parkinson..." ("open", "closed", "angry", "mid") + ton @ cheeks blush "I'm not in a rush." ("base", "narrow", "base", "down") + ton @ cheeks blush "But even if I was, it can wait until later." ("horny", "base", "raised", "L") + her "Well, there's another Slytherin girl...{w=0.3} Pansy Parkinson..." ("open", "closed", "angry", "mid") her "She just lets Snape grab her ass whenever he wants... and gives her five points each time..." ("annoyed", "base", "angry", "mid") ton "Only five measly points?" ("open", "shocked", "worried", "R") ton "(She'd get double from me... easily...)" ("upset", "base", "base", "R") gen "..." ("base", xpos="far_left", ypos="head") ton "Now, we can't have that, can we..." ("open", "base", "annoyed", "L") her "I know... It angers me to the core..." ("annoyed", "base", "worried", "mid") - ton "" ("upset", "base", "worried", "L", hair="basic") - her "Everyone has been working so hard towards winning the cup... I have been working so hard..." ("open", "base", "worried", "mid", cheeks="blush") - if genie_masturbating: + ton @ hair basic "" ("upset", "base", "worried", "L") + her @ cheeks blush "Everyone has been working so hard towards winning the cup... I have been working so hard..." ("open", "base", "worried", "mid") + if states.gen.masturbating: gen "(You have no idea what your hard work does to me...)" ("base", xpos="far_left", ypos="head") her "The way it is right now doesn't promote fairness at all." ("annoyed", "narrow", "worried", "down") ton "I can see how that could be a problem..." ("open", "closed", "base", "mid") @@ -718,16 +856,17 @@ label hg_pf_talk_tonks: ton "" ("base", "base", "worried", "L") "\"Yourself, Miss Granger!\"": + $ _yourself = True her "What?!" ("soft", "base", "worried", "mid") - ton "Yes, I would love to hear a bit more about what's going on with you Miss Granger..." ("horny", "base", "base", "L", hair="horny") + ton @ hair horny "Yes, I would love to hear a bit more about what's going on with you, Miss Granger..." ("horny", "base", "base", "L") ton "When I took the teaching position, you and I had a bit of a discussion, didn't we?" ("base", "base", "raised", "L") ton "From what I've been hearing on the Portrait vine, you have been selling a few favours yourself to professor Dumbledore here..." ("base", "narrow", "shocked", "down") - her "I have not!" ("shock", "squint", "angry", "mid", cheeks="blush") + her @ cheeks blush "I have not!" ("shock", "squint", "angry", "mid") menu: "-Start jerking off-": - $ her_jerk_off_counter += 1 - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.gen.masturbating = True call hide_characters hide screen bld1 with d3 @@ -736,248 +875,265 @@ label hg_pf_talk_tonks: with d3 pause.8 - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." "-Participate in the conversation-": - $ genie_masturbating = False + $ states.gen.masturbating = False ton "" ("horny", "base", "base", "down") - her "" ("annoyed", "squint", "angry", "mid", cheeks="blush") + her @ cheeks blush "" ("annoyed", "squint", "angry", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "(Oh yes you have, you naughty slut...)" ("grin", xpos="far_left", ypos="head") else: - $ tmp_val = her_jerk_off_counter+hg_pf_admire_panties.counter+hg_pf_admire_breasts.counter+hg_pf_grope.counter+hg_pf_strip.counter+hg_pf_handjob.counter+hg_pf_blowjob.counter+hg_pf_titjob.counter+hg_pf_sex.counter - $ tmp_word = num_to_word(tmp_val) # Sum up all favour counters and turn them into a word. + # TODO: Might need changes, depending on how we'll deal with statistics. + # $ tmp_val = states.gen.stats.masturbated_to_hermione+hg_pf_admire_panties.counter+hg_pf_admire_breasts.counter+hg_pf_grope.counter+hg_pf_strip.counter+hg_pf_handjob.counter+hg_pf_blowjob.counter+hg_pf_titjob.counter+hg_pf_sex.counter + # $ tmp_word = num_to_word(tmp_val) # Sum up all favour counters and turn them into a word. - gen "{size=-4}...[tmp_word]...{/size}" ("base", xpos="far_left", ypos="head") - her "*huh*?" ("open", "squint", "angry", "mid", cheeks="blush") - gen "You sold me exactly [tmp_word] favours." ("base", xpos="far_left", ypos="head") - her "B-but that's--" ("angry","happy", "angry", "mid", cheeks="blush") - if tmp_val < 10: - ton "Disappointing, but it's a start." ("open", "closed", "base", "mid", hair="basic") - her "..." ("annoyed", "narrow", "base", "R_soft", cheeks="blush") - elif tmp_val >= 10 and tmp_val < 20: - ton "Not bad, but I expected better from one of the top students in entire school." ("open", "base", "base", "L", hair="basic") - elif tmp_val >= 20 and tmp_val < 30: - her "" ("angry", "narrow", "base", "R_soft", cheeks="blush") - ton "You go girl! I expected as much from one of my students." ("open", "base", "angry", "L", hair="basic") - gen "..." ("base", xpos="far_left", ypos="head") - ton "I meant to say, one of {i}your{/i} students, of course." ("upset", "base", "worried", "mid", hair="basic") - elif tmp_val >= 30 and tmp_val < 40: - ton "Aren't you a sneaky one, *huh*? Almost tricked me with those doe-like eyes of yours - that you're an innocent girl." ("horny", "base", "angry", "L", hair="horny") - ton "But, as it turns out, you're actually quite high on the list." ("open", "base", "raised", "L", hair="basic") - her "(... there's a list...?)" ("open", "happyCl", "worried", "mid", cheeks="blush") - ton "At the very top!" ("silly", "happyCl", "base", "mid") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") - else: - ton "Wow! Who would have thought you're the girl from top of the list." ("silly", "happyCl", "base", "mid") - ton "Colour me surprised, looks like they were telling the truth after all." ("horny", "base", "angry", "L", hair="horny") - her "(... a list ... what list...?)" ("angry", "wide", "worried", "stare", cheeks="blush") - ton "Congratulations for being a \"top\" student." ("horny", "base", "raised", "L") - her "..." ("disgust", "narrow", "base", "R_soft", cheeks="blush") + # gen "{size=-4}... [tmp_word]...{/size}" ("base", xpos="far_left", ypos="head") + # her @ cheeks blush "*huh*?" ("open", "squint", "angry", "mid") + # gen "You've sold me exactly [tmp_word] favours." ("base", xpos="far_left", ypos="head") + # her @ cheeks blush "B-but that's--" ("angry","happy", "angry", "mid") + # if tmp_val < 10: + # ton @ hair basic "Disappointing, but it's a start." ("open", "closed", "base", "mid") + # her @ cheeks blush "..." ("annoyed", "narrow", "base", "R_soft") + # elif tmp_val >= 10 and tmp_val < 20: + # ton @ hair basic "Not bad, but I expected better from one of our top students." ("open", "base", "base", "L") + # elif tmp_val >= 20 and tmp_val < 30: + # her @ cheeks blush "" ("angry", "narrow", "base", "R_soft") + # ton @ hair basic "You go, girl! I expected as much from one of my students." ("open", "base", "angry", "L") + # gen "..." ("base", xpos="far_left", ypos="head") + # ton @ hair basic "I meant to say, one of {i}our{/i} students, of course." ("upset", "base", "worried", "mid") + # elif tmp_val >= 30 and tmp_val < 40: + # ton @ hair horny "Aren't you a sneaky one, *huh*? Almost tricked me that you were an innocent girl with those doe-like eyes of yours." ("horny", "base", "angry", "L") + # ton @ hair basic "But, as it turns out, you're actually quite high on the list." ("open", "base", "raised", "L") + # her @ cheeks blush "(... There's a list...?)" ("open", "happyCl", "worried", "mid") + # ton "At the very top, in fact!" ("silly", "happyCl", "base", "mid") + # her @ cheeks blush "..." ("angry", "narrow", "base", "down") + # else: - ton "Don't be so shy, girl. I'm happy that you took my advice to heart..." ("open", "base", "base", "L", hair="basic") - ton "After all, it's thanks to you that the ministry sent me here." ("base", "base", "base", "L") - her "I guess..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "I assure you that I was actually against the practice - during the time of sending the letter..." ("annoyed", "narrow", "worried", "down", cheeks="blush") - her "At least, until we had our talk about it, Professor." ("soft", "base", "base", "R", cheeks="blush") - if genie_masturbating: - gen "(And we've only just started...)" ("base", xpos="far_left", ypos="head") - her "To help my house catch up in points. Doing it to help Gryffindor..." ("soft", "narrow", "worried", "down", cheeks="blush") - if genie_masturbating: - gen "(And because you love it...)" ("grin", xpos="far_left", ypos="head") - ton "Well, if you can't beat them..." ("horny", "base", "base", "R", hair="horny") - ton "So, how has that been working for you so far, Miss Granger?" ("open", "base", "base", "L", hair="basic") - ton "How is morale amongst the Gryffindor students, now?" ("base", "base", "raised", "L") - her "It's great! Although... I still believe that it isn't fair..." ("soft", "base", "base", "mid", cheeks="blush") + ton "Wow! Who would have thought you're the girl at the top of the list." ("silly", "happyCl", "base", "mid") + ton @ hair horny "Colour me surprised... Looks like they were telling the truth after all." ("horny", "base", "angry", "L") + her @ cheeks blush "(... A list... What list...?)" ("angry", "wide", "worried", "stare") + ton "Congratulations on being a \"top\" student." ("horny", "base", "raised", "L") + her @ cheeks blush "..." ("disgust", "narrow", "base", "R_soft") + + ton @ hair basic "Don't be so shy, girl. I'm happy that you took my advice to heart..." ("open", "base", "base", "L") + ton "Consider for a minute where your house would be if you hadn't." ("base", "base", "base", "L") + her @ cheeks blush "I guess..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "I assure you that I wasn't considering selling favours myself, when I sent that letter..." ("annoyed", "narrow", "worried", "down") + her @ cheeks blush "But then we had that talk..." ("soft", "base", "base", "R") + her @ cheeks blush "And I finally decided, that if I wanted to help my house catch up in points... To help Gryffindor..." ("soft", "narrow", "worried", "down") + if states.gen.masturbating: + gen "(And because you love it.)" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Well, if you can't beat them..." ("horny", "base", "base", "R") + ton @ hair basic "So, how has it been working out for you so far, Miss Granger?" ("open", "base", "base", "L") + ton "How's the morale amongst the Gryffindor students, now?" ("base", "base", "raised", "L") + her @ cheeks blush "It's great! Although... I still believe that it isn't fair..." ("soft", "base", "base", "mid") her "That is why I created the \"M.R.M\"!" ("open", "happy", "base", "mid_soft") ton "Yes. The \"Men's Reign Movement\"..." ("open", "closed", "base", "mid") ton "" ("base", "base", "base", "mid") her "But...{w=0.5} that's not what \"M.R.M\" stands for!" ("angry", "base", "worried", "mid") her "It's the \"Men's Rights Movement\"!" ("open", "closed", "base", "mid") her "I've told you both about it... In detail!" ("annoyed", "base", "angry", "mid") - ton "I see... I probably wrote it down and put it somewhere in my...{w=0.8} extensive notes folder..." ("soft", "base", "raised", "R") - gen "{size=-5}(*Heh!* It's like looking at myself in a mirror...){/size}" ("base", xpos="far_left", ypos="head") # Small text + ton "I see... I probably wrote it down and put it somewhere in my...{w=0.8} Extensive notes folder..." ("soft", "base", "raised", "R") + gen "{size=-5}(*Heh*! It's like looking at myself in a mirror...){/size}" ("base", xpos="far_left", ypos="head") # Small text her "(...)" ("annoyed", "narrow", "worried", "down") - her "The \"M.R.M\" is there to provide male students with the same fairness, righteousness, and just benefits that girls are receiving at the school." ("open", "closed", "base", "mid") + her "The \"M.R.M\" is there to provide male students with the same fairness, righteousness, and just benefits that girls are receiving at this school." ("open", "closed", "base", "mid") her "I felt its creation was necessary..." ("annoyed", "base", "base", "mid") her "All this favour trading has been completely unfair to the boys!" ("open", "narrow", "annoyed", "mid") - ton "Ah, yes... yes." ("open", "closed", "worried", "mid") + ton "Ah, yes... Yes." ("open", "closed", "worried", "mid") ton "... Wait, what?" ("mad", "shocked", "raised", "L") gen "..." ("grin", xpos="far_left", ypos="head") - her "*Ugh!*... I assumed you read through the initial letter more thoroughly..." ("open", "narrow", "worried", "mid_soft") - if genie_masturbating: - gen "(too busy staring her down I bet...)" ("base", xpos="far_left", ypos="head") + her "*Ugh*... I assumed you had read through my initial letter more thoroughly..." ("open", "narrow", "worried", "mid_soft") + if states.gen.masturbating: + gen "(Too busy packing her bags, I bet...)" ("base", xpos="far_left", ypos="head") else: - gen "Now-now, Miss Granger... Tonks was very quick to get here when she heard about your accusations." ("base", xpos="far_left", ypos="head") - her "I suppose..." ("annoyed", "narrow", "base", "R_soft") - ton "So your problem was never that the girls of this school are engaging in illicit, sexual favours with their teachers..." ("normal", "wide", "raised", "L") - ton "It's that the boys aren't able to do the same?" ("upset", "base", "raised", "L") + gen "Now-now, Miss Granger... Miss Tonks was very quick to get here when she heard about your accusations." ("base", xpos="far_left", ypos="head") + her "I suppose..." ("annoyed", "narrow", "base", "R_soft") + ton "So your problem was never that the girls are engaging in illicit, sexual favours with their teachers..." ("normal", "wide", "raised", "L") + ton "But that the boys haven't had the same opportunities?" ("upset", "base", "raised", "L") her "Exactly!" ("open", "closed", "angry", "mid") - ton "Why didn't you say so during our talk earlier, Miss Granger?" ("grin", "narrow", "raised", "L") - ton "I can easily sort out that problem!" ("horny", "base", "base", "L", hair="horny") + ton "Why didn't you say so during our talk, Miss Granger?" ("grin", "narrow", "raised", "L") + ton @ hair horny "I can easily sort out that problem!" ("horny", "base", "base", "L") her "I {i}did{/i} mention it!" ("angry", "happyCl", "worried", "mid") - ton "Oh..." ("annoyed", "base", "raised", "downR", hair="basic") - if not genie_masturbating: + ton @ hair basic "Oh..." ("annoyed", "base", "raised", "downR") + if not states.gen.masturbating: gen "..." ("base", xpos="far_left", ypos="head") - ton "Hold on..." ("open", "closed", "base", "mid") - ton "That doesn't explain as to why {i}you{/i} decided to contribute to this problem, and do favours for your teachers as well." ("open", "base", "raised", "L") - her "Well..." ("disgust", "base", "base", "R") - ton "There is no need for you to keep up an act, if you changed your mind on it." ("soft", "base", "base", "down") - ton "You can tell us. I most certainly won't judge you..." ("horny", "base", "base", "L", cheeks="blush", hair="horny") - her "I just...{w=0.6} Sometimes Gryffindor is just so far behind in points..." ("soft", "narrow", "base", "down") - ton "Oh, I see..." ("base", "base", "base", "L", hair="basic") - her "So I also asked Professor Dumbledore for a favour, but only once or twice..." ("soft", "base", "base", "mid", cheeks="blush") + if not _yourself: + ton "Hold on..." ("open", "closed", "base", "mid") + ton "That doesn't explain as to why {i}you{/i} decided to contribute to this problem, and sell favours as well." ("open", "base", "raised", "L") + her "..." ("disgust", "base", "base", "R") + ton "There is no need for you to keep up an act, Miss Granger..." ("soft", "base", "base", "down") + ton @ cheeks blush hair horny "You can tell us if you've changed your stance. I most certainly won't judge you..." ("horny", "base", "base", "L") + her "I just...{w=0.6} Sometimes Gryffindor gets behind in points..." ("soft", "narrow", "base", "down") + ton @ hair basic "Oh, I see..." ("base", "base", "base", "L") + her @ cheeks blush "So when you suggested that I should try asking Professor Dumbledore for a favour..." ("soft", "base", "base", "mid") + her @ cheeks blush "Well, I figured if an auror thought it wasn't such a bad thing... Then perhaps I could try and see for myself..." ("open", "narrow", "base", "down") - if not genie_masturbating: - gen "Actually..." ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + if not states.gen.masturbating: + gen "And boy has she tried it out a bunch..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmph*..." ("annoyed", "narrow", "angry", "R") - ton "And I suppose you're against the idea of doing favours for another teacher?" ("horny", "base", "raised", "L", hair="horny") - her "I..." ("angry", "narrow", "worried", "down", cheeks="blush") - her "*Umm*... maybe I could?" ("soft", "base", "base", "R", cheeks="blush") - her "I haven't actively considered it..." ("soft", "narrow", "base", "mid_soft", cheeks="blush") - if genie_masturbating: + ton @ hair horny "I'm glad you took my advice to heart, Miss Granger." ("horny", "base", "raised", "L") + ton @ hair horny "Gryffindor's got a much better chance at winning the house cup now, thanks to your efforts, I presume?" ("horny", "base", "raised", "L") + her "I... Yes, I believe so... And the morale amongst my friends has risen substantially." ("base", "narrow", "base", "down") + ton @ hair horny "Excellent." ("grin", "base", "raised", "L") + else: + ton @ hair basic "Well, I'm sure your male friends appreciate the fact that you've been making up for their shortcomings..." ("base", "base", "base", "L") + her "It's not their fault that the teachers aren't as interested in buying favours from them." ("open", "closed", "angry", "mid") + ton @ hair basic "Yes... The women earning more than the men is a complex dilemma, that's for sure..." ("open", "base", "base", "L") + ton @ hair basic "Well, at least they can sleep easy, knowing that they've got you out there doing what is necessary for the sake of your house, right?" ("open", "base", "base", "L") + her "I suppose... {size=-4}Although they don't really know about it...{/size}" ("annoyed", "base", "base", "mid") + her "I'm just worried it won't be enough..." ("annoyed", "closed", "base", "mid") + ton @ hair horny "In that case... Would you be against the idea of selling favours to another teacher?" ("horny", "base", "raised", "L") + her @ cheeks blush "I..." ("angry", "narrow", "worried", "down") + her @ cheeks blush "*Uhm*..." ("soft", "base", "base", "R") + her @ cheeks blush "I haven't actively considered it..." ("soft", "narrow", "base", "mid_soft") + if states.gen.masturbating: gen "(Yes! You want to make out with your slutty teacher, don't you!)" ("angry", xpos="far_left", ypos="head") - ton "Don't think I'm judging you, Miss Granger." ("normal", "base", "base", "L", hair="basic") - ton "I'm sure your house has been ecstatic about the sudden spike in house points." ("soft", "wide", "raised", "L") - if genie_masturbating: - gen "(And they're not the only ones being ecstatic!)" ("angry", xpos="far_left", ypos="head") - "*fap-fap-fap*" + ton @ hair basic "Then perhaps you should consider it, Miss Granger." ("base", "base", "base", "L") + ton "I'm sure your house would be even more ecstatic about a sudden spike in house points." ("soft", "wide", "raised", "L") + if states.gen.masturbating: + gen "(And they're not the only ones who'd be ecstatic!)" ("angry", xpos="far_left", ypos="head") + nar "*fap-fap-fap*" gen "(I'm getting close. Maybe I should ask her about something else...)" ("base", xpos="far_left", ypos="head") - $ tmp_name = hermione_name[:3] + $ tmp_name = name_hermione_genie[:3] gen "[tmp_name]-...{w=0.3} *Ugh*... Miss Granger..." ("angry", xpos="far_left", ypos="head") gen "Why don't you tell us more about..." ("angry", xpos="far_left", ypos="head") else: - gen "I think we've been trailing a bit off topic here..." ("base", xpos="far_left", ypos="head") - ton "Oh yes, perhaps..." ("base", "base", "base", "L", hair="basic") + gen "I think we've been trailing a bit off-topic here..." ("base", xpos="far_left", ypos="head") + ton @ hair basic "Oh yes, perhaps..." ("base", "base", "base", "L") gen "Miss Granger, why don't you tell us more about..." ("base", xpos="far_left", ypos="head") menu: "\"Those pesky Slytherin Sluts!\"": her "What else would you like to know?" ("open", "base", "base", "mid") - if genie_masturbating: - gen "What other.. *Ugh.. activities do you have here?" ("base", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "What other--{w=0.2} *Ugh*...{w=0.4} Activities do you have here?" ("base", xpos="far_left", ypos="head") else: - gen "What other classes do you have here?" ("base", xpos="far_left", ypos="head") + gen "What other activities do you have here?" ("base", xpos="far_left", ypos="head") her "I'm not sure what you mean, Professor..." ("annoyed", "base", "base", "R") ton "I think what your headmaster is getting at..." ("open", "closed", "base", "mid") - ton "Is there any other... uncouth behaviour going on outside of the dungeons?" ("grin", "base", "raised", "L", hair="horny") - ton "You've only mentioned potions and alchemy class thus far." ("base", "base", "base", "L") - if genie_masturbating: + if not _yourself: + ton @ hair horny "Is there any other... uncouth behaviour going on, regarding your fellow students or teachers?" ("grin", "base", "raised", "L") + else: + ton @ hair horny "Is there any other... uncouth behaviour going on, outside the dungeons?" ("grin", "base", "raised", "L") + ton "You've only mentioned potions and alchemy class thus far." ("base", "base", "base", "L") + if states.gen.masturbating: gen "(Where did those bad teachers touch you?)" ("grin", xpos="far_left", ypos="head") else: gen "Yes, that!" ("base", xpos="far_left", ypos="head") - her "Well, of course there is... Even if they might not be as successful..." ("annoyed", "base", "angry", "mid_soft") - her "With all the teachers, there are plenty of filthy tactics being used - all over the school." ("open", "base", "angry", "mid") - if genie_masturbating: + her "Well, of course there is..." ("annoyed", "base", "angry", "mid_soft") + her "There are plenty of filthy tactics being used - all over the school." ("open", "base", "angry", "mid") + if states.gen.masturbating: gen "(Filthy, *huh*?)" ("angry", xpos="far_left", ypos="head") - "*fap-fap-fap*" + nar "*fap-fap-fap*" else: gen "Such-{w=0.5}{nw}" ("base", xpos="far_left", ypos="head") ton "Such as?" ("horny", "base", "raised", "L") - # Random choice of stuff that has happened. - $ character_choice = [] - $ character_choice.append("slytherins") # 'else' choice. List can't be empty. - if cho_tier >= 2: - $ character_choice.append("cho_1") - if cc_pf_strip.counter >= 2: # Cho stripped and Hermione saw it. - $ character_choice.append("cho_2") - if astoria_unlocked: - $ character_choice.append("astoria_1") + random: + block if states.cho.tier >= 2: # After winning against Hufflepuff. + her "It's not even just the Slytherins doing it!" ("open", "closed", "angry", "mid") + ton "Oh really?" ("base", "base", "raised", "L") + her "Yes, that girl from Ravenclaw...{w=0.6} Cho Chang..." ("open", "base", "angry", "mid") + if states.cho.tier >= 4: # After winning the cup. + her "She used some pretty dirty tactics, just so that Ravenclaw could win the Quidditch cup this season!" ("angry", "base", "angry", "mid") + else: + her "She's been using some pretty dirty tactics during Quidditch this season!" ("angry", "base", "angry", "mid") + gen "(Yes, very dirty indeed...)" ("grin", xpos="far_left", ypos="head") + her "You could clearly see her panties during the match between Ravenclaw and Hufflepuff..." ("soft", "base", "angry", "mid") + if states.cho.tier >= 3: # After winning against Slytherin + her "And there it no doubt in my mind that she was wearing those trousers during her match against Slytherin so that she could egg on their beaters." ("soft", "base", "angry", "mid") + her "Why is she even playing the game if the only thing she's good at is distracting the enemy team..." ("annoyed", "narrow", "angry", "R") + if states.gen.masturbating: + gen "(I'm sure it distracted the commentator as well...)" ("base", xpos="far_left", ypos="head") + else: + gen "Just the enemy team, Miss Granger?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "R_soft") + if states.cho.tier >= 4: + ton "*Hmm*... Yes, she certainly did use some quite interesting tactics..." ("horny", "base", "raised", "mid") + else: + ton "*Hmm*... Yes, she certainly has been using some quite interesting tactics thus far..." ("horny", "base", "raised", "mid") + her @ cheeks blush "I wouldn't use the word \"interesting\" to describe it..." ("annoyed", "base", "worried", "mid") + ton "I'll make sure to show up to the next match, to see what's going on for myself." ("base", "base", "base", "mid") + her "Thank you professor..." ("open", "closed", "base", "mid") + her "Even then, that doesn't even compare to what the Slytherins are doing..." ("open", "closed", "base", "mid") - $ random_choice = renpy.random.choice(character_choice) + block if states.cho.status.stripping: # After Cho stripped for you. + her "You're well aware that it's not just the Slytherins that have been doing stuff like this..." ("open", "closed", "angry", "mid") + ton "If you'd like to give an example..." ("base", "base", "base", "L") + her "I'm talking about Cho Chang!" ("open", "base", "angry", "mid") + ton "Ah yes, the Ravenclaw seeker..." ("base", "base", "raised", "mid") + ton "She's a feisty one, isn't she!" ("horny", "base", "angry", "mid") + her "..." ("annoyed", "base", "angry", "mid") + ton "Would you like to tell me what she did?" ("horny", "base", "base", "L") + if states.gen.masturbating: + gen "(Stripped right in front us is what she did!)" ("angry", xpos="far_left", ypos="head") + "*fap-fap-fap*" + else: + gen "I can tell you all about Miss Chang's little--" ("grin", xpos="far_left", ypos="head") + her "She was dancing! Right here!" ("open", "closed", "base", "mid") + ton "Oh, did she really?" ("base", "base", "raised", "L") + ton "With or without clothes?" ("horny", "base", "angry", "mid") + if states.gen.masturbating: + her "Without..." ("soft", "narrow", "base", "R_soft") + else: + gen "The latter!" ("grin", xpos="far_left", ypos="head") + ton "Oh my... What kind of girl would do such a shameful thing..." ("open", "base", "worried", "mid") + if states.her.status.stripping: + her @ cheeks blush "..." ("disgust", "narrow", "worried", "down") + ton "Are you blushing, Miss Granger?" ("base", "base", "angry", "L") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") + her "N-no...? Anyway..." + else: + her "I know!" ("disgust", "narrow", "base", "down") + her "Even then, that doesn't compare to the things those Slytherins have been doing." ("angry", "narrow", "angry", "down") - if random_choice == "cho_1": # After winning against Hufflepuff. - her "It's not even just the Slytherins doing it!" ("open", "closed", "angry", "mid") - ton "Oh really?" ("base", "base", "raised", "L") - her "Yes, that girl from Ravenclaw...{w=0.6} Cho Chang..." ("open", "base", "angry", "mid") - her "She was using some pretty dirty tactics - during the first Quidditch match of the season!" ("angry", "base", "angry", "mid") - gen "(Yes, very dirty indeed...)" ("grin", xpos="far_left", ypos="head") - her "You could clearly see her panties at one point..." ("soft", "base", "angry", "mid") - her "Surely she dressed that way just to distract the other team..." ("annoyed", "narrow", "angry", "R") - if genie_masturbating: - gen "(I'm sure it distracted the commentator as well...)" ("base", xpos="far_left", ypos="head") - else: - gen "Were you looking, Miss Granger?" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "R_soft", cheeks="blush") - ton "*Hmm*... sounds like watching Quidditch has gotten a lot more interesting since I was in school." ("horny", "base", "raised", "mid") - her "I wouldn't use the word interesting to describe it..." ("annoyed", "base", "worried", "mid", cheeks="blush") - ton "I'll make sure to show up to the next match, to see what's going on for myself." ("base", "base", "base", "mid") - her "Thank you professor..." ("open", "closed", "base", "mid") + block weight 0.9 if states.ast.unlocked: # After Astoria got caught. + her "That Astoria girl, casting imperio on a student, and making her lift her top..." ("soft", "narrow", "angry", "R") + ton @ hair basic "Ah, yes... That was unfortunate." ("normal", "base", "worried", "R") + if states.gen.masturbating: + gen "(And hot...)" ("angry", xpos="far_left", ypos="head") + her "I take it that has been dealt with?" ("normal", "base", "base", "R") + ton @ hair basic "Yes, there's no need for you to worry about her, Miss Granger..." ("base", "happyCl", "raised", "mid") + ton @ hair horny "She has been properly reprimanded - and both professor Dumbledore and I have taken it upon ourselves to work on her behaviour." ("horny", "base", "base", "mid") + if states.gen.masturbating: + gen "(If only there was a reason to punish your naughty behaviour...)" ("grin", xpos="far_left", ypos="head") + nar "*fap-fap-fap*" + her "I see..." ("normal", "narrow", "worried", "down") + her "Well, that's good to hear..." ("open", "closed", "base", "mid") + her "I would have just handed her over to the authorities, if it was up to me..." ("open", "base", "angry", "mid") + her "Anyway..." ("open", "closed", "base", "mid") + her "She's not even the worst person amongst the Slytherins." ("angry", "narrow", "angry", "down") - elif random_choice == "cho_2": # After Cho stripped for you. - her "You're well aware that it's not just Slytherins that have been doing stuff like this..." ("open", "closed", "angry", "mid") - ton "If you'd like to give an example..." ("base", "base", "base", "L") - her "I'm talking about Cho Chang!" ("open", "base", "angry", "mid") - ton "Ah yes, the Ravenclaw seeker..." ("base", "base", "raised", "mid") - ton "She's a feisty one, isn't she!" ("horny", "base", "angry", "mid") - her "..." ("annoyed", "base", "angry", "mid") - ton "Would you like to tell me what she did?" ("horny", "base", "base", "L") - if genie_masturbating: - gen "(Stripped right in front us is what she did!)" ("angry", xpos="far_left", ypos="head") - "*fap-fap-fap*" - else: - gen "I can tell you all about Miss Chang's little--" ("grin", xpos="far_left", ypos="head") - her "She was dancing! Right here!" ("open", "closed", "base", "mid") - ton "Oh, did she really?" ("base", "base", "raised", "L") - ton "With or without clothes?" ("horny", "base", "angry", "mid") - if genie_masturbating: - her "Without..." ("soft", "narrow", "base", "R_soft") - else: - gen "The latter!" ("grin", xpos="far_left", ypos="head") - ton "Oh my... What girl would do such a shameful thing..." ("open", "base", "worried", "mid") - her "..." ("disgust", "narrow", "worried", "down", cheeks="blush") - ton "Are you blushing, Miss Granger?" ("base", "base", "angry", "L") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "N-no...? Anyway..." + block if not any(((states.cho.tier >= 2), (states.cho.status.stripping), states.ast.unlocked)): + her @ cheeks blush "..." ("annoyed", "narrow", "worried", "down") + ton "Miss Granger?" ("normal", "base", "raised", "L") + her @ cheeks blush "*Ehm*..." ("annoyed", "base", "base", "R") + her "Well, I could pick any of the girls in Slytherin, really..." ("soft", "narrow", "angry", "R") - elif random_choice == "astoria_1": # After Astoria got caught. - her "That Astoria girl, casting imperio on a student - making her lift her top..." ("soft", "narrow", "angry", "R") - ton "Ah, yes that was unfortunate..." ("normal", "base", "worried", "R", hair="basic") - if genie_masturbating: - gen "(And hot...)" ("angry", xpos="far_left", ypos="head") - her "I take it that has been dealt with?" ("normal", "base", "base", "R") - ton "Yes, there's no need for you to worry about her, miss Granger..." ("base", "happyCl", "raised", "mid", hair="basic") - ton "She has been properly reprimanded - and both professor Dumbledore and I have taken it upon ourselves to work on her behaviour." ("horny", "base", "base", "mid", hair="horny") - #if first training done: - if genie_masturbating: - gen "(If only there was a reason to give you some punishment...)" ("grin", xpos="far_left", ypos="head") - "*fap-fap-fap*" - her "I see..." ("normal", "narrow", "worried", "down") - her "Well, that's good to hear..." ("open", "closed", "base", "mid") - her "I would have just handed her over to the authorities, if it was up to me..." ("open", "base", "angry", "mid") - her "Anyway..." ("open", "closed", "base", "mid") - - else: - her "..." ("annoyed", "narrow", "worried", "down", cheeks="blush") - ton "Miss Granger?" ("normal", "base", "raised", "L") - her "*Ehm*..." ("annoyed", "base", "base", "R", cheeks="blush") - her "Well, I could pick any of the girls in Slytherin, really..." ("soft", "narrow", "angry", "R") - - her "It is quite astonishing to what level those Slytherins would go - to get the teachers going..." ("annoyed", "base", "angry", "mid") - her "Especially that one time during care for magical creatures..." ("open", "base", "base", "mid") + her "It is quite astonishing to what level those Slytherins go to get the teachers going..." ("annoyed", "base", "angry", "mid") + her "Such as that one time during our care of magical creatures class..." ("open", "closed", "angry", "mid") ton "Oh? You weren't studying centaurs, were you?" ("horny", "base", "raised", "mid") her "No? Why would you assume that?" ("normal", "wink", "base", "mid") - ton "No reason... please continue..." ("open", "base", "raised", "R", cheeks="blush", hair="horny") - ton "" ("base", "base", "raised", "mid", hair="basic") - her "Well, I do hope that Hagrid is above this favour trading business. He sure seems like it during my classes with him." ("open", "base", "base", "R") - her "One of those Slytherin students was being quite rough with a {i}Blast-ended Skrewt{/i}... making it go off on purpose..." ("annoyed", "narrow", "worried", "down") + ton @ cheeks blush hair horny "No reason...{w=0.4} Please continue." ("open", "base", "raised", "R") + ton @ hair basic "" ("base", "base", "raised", "mid") + her "One of the Slytherin students was being quite rough with a {i}Blast-ended Skrewt{/i}... Making it go off on purpose..." ("annoyed", "narrow", "worried", "down") - if genie_masturbating: - her "She was slowly moving it up and down, only agitating it a bit initially..." ("annoyed", "base", "base", "mid") - gen "(Yes I bet you'd love to do that with my cock.)" ("grin", xpos="far_left", ypos="head") - her "But once she got going - you could really see how it could just go off any minute..." ("open", "base", "base", "mid") + if states.gen.masturbating: + her "She was shaking it up and down... Which was only agitating it a bit initially." ("annoyed", "base", "base", "mid") + gen "(Yes, I bet you'd love to do that with my cock.)" ("grin", xpos="far_left", ypos="head") + her "But then she really got going, and it got to the point where it could blast off at a moment's notice..." ("open", "base", "base", "mid") gen "(Yes, any minute now...)" ("angry", xpos="far_left", ypos="head") - her "I was just about to call her out on it, as it started shaking violently." ("open", "base", "base", "R") + her "I was just about to call her out on her disgraceful behaviour, when suddenly the Skrewt started shaking violently." ("open", "base", "base", "R") gen "(Yes, any second now...)" ("angry", xpos="far_left", ypos="head") - ton "Then what happened?" ("open", "base", "raised", "L", cheeks="blush") - her "I could momentarily see the concerned look on her face, as the {i}Skrewt{/i} exploded right into it..." ("open", "narrow", "worried", "down", cheeks="blush") - ton "" ("horny", "base", "angry", "mid", cheeks="blush", hair="horny") - gen "(Yes, take it right on your face you slut!)" ("angry", xpos="far_left", ypos="head") + ton @ cheeks blush "Then what happened?" ("open", "base", "raised", "L") + her @ cheeks blush "There was a moment of shock spread across her face, just as the {i}Skrewt{/i} exploded right into it..." ("open", "narrow", "worried", "down") + ton @ cheeks blush hair horny "" ("horny", "base", "angry", "mid") + gen "(Yes, take it right on your face, you slut!)" ("angry", xpos="far_left", ypos="head") call hide_characters hide screen bld1 @@ -991,8 +1147,8 @@ label hg_pf_talk_tonks: call bld gen "{size=-5}*Argh*! YES!{/size}" ("angry", xpos="far_left", ypos="head") - her "" ("annoyed", "base", "base", "mid", cheeks="blush") - ton "Are you okay, professor? You're awfully quiet..." ("base", "base", "raised", "mid", cheeks="blush") + her @ cheeks blush "" ("annoyed", "base", "base", "mid") + ton @ cheeks blush "Are you okay, professor? You're awfully quiet..." ("base", "base", "raised", "mid") her "(.............)" ("soft", "base", "base", "mid") call gen_chibi("cum_behind_desk_done") with d3 @@ -1001,29 +1157,29 @@ label hg_pf_talk_tonks: gen "Oh... yes, I was just so engaged in the conversation." ("base", xpos="far_left", ypos="head") ton "Oh really?" ("horny", "narrow", "raised", "mid") ton "What were we talking about then?" ("base", "base", "angry", "mid") - gen "Fast...{w=0.4} blended...{w=0.6} fruits?" ("base", xpos="far_left", ypos="head") - ton "Right..." ("open", "closed", "raised", "mid", hair="basic") + gen "Fast...{w=0.4} Blended...{w=0.6} Fruits?" ("base", xpos="far_left", ypos="head") + ton @ hair basic "Right..." ("open", "closed", "raised", "mid") ton "Well, then... I think we're done here..." ("base", "narrow", "raised", "R") - her "..." ("normal", "base", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("normal", "base", "base", "R") if game.daytime: - ton "I'll leave you two to it, have a good day, Miss Granger." ("base", "base", "base", "L") - her "Good day, professor Tonks." ("soft", "base", "base", "R") + ton "I'll leave you two to it, have a lovely day, Miss Granger." ("base", "base", "base", "L") + her "Good day, professor." ("soft", "base", "base", "R") else: ton "I'll leave you two to it, have a good night, Miss Granger." ("base", "base", "base", "L") - her "Good night, professor Tonks." ("soft", "base", "base", "R") - ton "Professor..." ("horny", "base", "raised", "mid") + her "Good night, professor." ("soft", "base", "base", "R") + ton "Headmaster..." ("horny", "base", "raised", "mid") gen "Miss Tonks..." ("base", xpos="far_left", ypos="head") call ton_walk(action="leave") else: - ton "Oh no, those poor things!" ("upset", "base", "worried", "mid", hair="basic") + ton @ hair basic "Oh no, those poor things!" ("upset", "base", "worried", "mid") her "..." ("annoyed", "base", "base", "R") ton "That's not how you're supposed to care for a Blast-ended skrewt..." ("open", "closed", "angry", "mid") ton "Wait, what is a {i}Blast-ended Skrewt{/i} actually?" ("upset", "base", "worried", "L") - her "It's some crossbreed that Hagrid has made... I don't know exactly how he managed it..." ("annoyed", "narrow", "worried", "down") - ton "Sounds to me that this Hagrid fellow has been doing some illegal breeding..." ("upset", "base", "raised", "mid") - gen "(He-he-he)" ("grin", xpos="far_left", ypos="head") + her "It's some cross-breed that Hagrid came up with... I don't even know how he managed it..." ("annoyed", "narrow", "worried", "down") + ton "Sounds to me like this Hagrid fellow has been up to some illegal breeding..." ("upset", "base", "raised", "mid") + gen "(*He-he-he*)" ("grin", xpos="far_left", ypos="head") gen "*Ahem*..." ("base", xpos="far_left", ypos="head") ton "Although, all things considered!" ("open", "closed", "base", "mid") ton "It's probably nothing too bad." ("silly", "happyCl", "base", "mid") @@ -1032,100 +1188,116 @@ label hg_pf_talk_tonks: ton "I'll leave you two to it..." ("base", "base", "base", "mid") if game.daytime: ton "Have a good day, Miss Granger." ("base", "base", "base", "L") - her "Good day, professor Tonks." ("open", "base", "base", "R") + her "Good day, professor." ("open", "base", "base", "R") else: ton "Have a good night, Miss Granger." ("base", "base", "base", "L") - her "Good night, professor Tonks." ("open", "base", "base", "R") - ton "Professor..." ("horny", "base", "raised", "mid") + her "Good night, professor." ("open", "base", "base", "R") + ton "Headmaster..." ("horny", "base", "raised", "mid") gen "Miss Tonks..." ("base", xpos="far_left", ypos="head") call ton_walk(action="leave") "\"Yourself.\"": her "Well..." ("angry", "narrow", "worried", "down") - ton "Yes..." ("base", "base", "raised", "L") - ton "What does our Headmaster ask of you to earn those house points?" ("horny", "base", "angry", "mid", hair="horny") + ton @ hair horny "Tell me, Miss Granger... What does our Headmaster ask of you to earn those house points?" ("horny", "base", "angry", "mid") gen "..." ("angry", xpos="far_left", ypos="head") - if genie_masturbating: - gen "(Let's take a short break, my hands are getting tired.)" ("grin", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "(Let's take a short break, my hands are getting tired.)" ("base", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") her "I..." ("angry", "happyCl", "worried", "mid") ton "Go on, I'm sure the Headmaster doesn't mind." ("grin", "narrow", "raised", "L") ton "My lips are sealed. {heart}" ("horny", "base", "base", "mid") her "Professor..." ("disgust", "narrow", "base", "down") gen "Miss Granger, your professor asked you a question..." ("base", xpos="far_left", ypos="head") - her "But, I thought it was supposed to stay between just you and I..." ("disgust", "narrow", "base", "mid_soft") + her "But, I thought it was supposed to stay between just you and me..." ("disgust", "narrow", "base", "mid_soft") menu: "\"That's true\"": gen "Then let's end it here for today..." ("base", xpos="far_left", ypos="head") - ton "But sir..." ("open", "base", "worried", "mid", hair="sad") + ton @ hair sad "But sir..." ("open", "base", "worried", "mid") gen "Tonks..." ("base", xpos="far_left", ypos="head") - ton "Fine..." ("upset", "base", "worried", "down", hair="basic") - ton "I've thoroughly enjoyed it, in any case." ("base", "base", "base", "L") + ton @ hair basic "Fine..." ("upset", "base", "worried", "down") + ton "I've thoroughly enjoyed our little chat, either way." ("base", "base", "base", "L") gen "Good to hear." ("grin", xpos="far_left", ypos="head") ton "I'll leave you two to it..." ("base", "base", "base", "mid") if game.daytime: ton "Have a good day, Miss Granger." ("base", "base", "base", "L") - her "Good day, professor Tonks." ("open", "base", "base", "R") + her "Good day, Professor Tonks." ("open", "base", "base", "R") else: ton "Have a good night, Miss Granger." ("base", "base", "base", "L") - her "Good night, professor Tonks." ("open", "base", "base", "R") + her "Good night, Professor Tonks." ("open", "base", "base", "R") call ton_walk(action="leave") - call bld gen "(She ignored me...?)" ("base", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: gen "(And I just got blue-balled, bollocks...)" ("base", xpos="far_left", ypos="head") - $ genie_masturbating = False + $ states.gen.masturbating = False "\"Tonks isn't some kind of snitch\"": - gen "I'm sure we can take Miss Tonks at her word." ("base", xpos="far_left", ypos="head") - her "But..." ("disgust", "narrow", "worried", "mid_soft") - gen "I'm sure Miss Tonks would be happy to provide additional points, as you'd basically be providing a favour for us both." ("base", xpos="far_left", ypos="head") - ton "*Hmmm* Oh yes, I'd love to be of help for the Gryffindor house." ("horny", "base", "base", "mid", hair="horny") - her "In that case I want another five points." ("annoyed", "base", "base", "mid") + gen "Or are you telling me that her word isn't good enough?" ("base", xpos="far_left", ypos="head") + her "No, of course not, but--" ("disgust", "narrow", "worried", "mid_soft") + gen "I'm sure Miss Tonks would be happy to provide you with additional points, as you'd basically be providing a favour for us both." ("base", xpos="far_left", ypos="head") + ton @ hair horny "*Hmm*? Oh yes, I'd love to be of help for the Gryffindor house." ("horny", "base", "base", "mid") + her "Well... In that case, I want another five points." ("annoyed", "base", "base", "mid") gen "That can be arrange--" ("base", xpos="far_left", ypos="head") ton "Done!" ("base", "base", "angry", "mid") $ current_payout = 10 - if genie_masturbating: + if states.gen.masturbating: call gen_chibi("jerk_off_behind_desk") gen "(This should be good...)" ("base", xpos="far_left", ypos="head") - her "W-{w=0.3}What would you like to know about then?" ("open", "base", "base", "R", cheeks="blush") - ton "I'd be happy with anything you'd like to tell me..." ("base", "base", "base", "L") - her "Well... it's quite embarrassing." ("disgust", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "W-{w=0.3}What would you like to know about, professor?" ("open", "base", "base", "R") + ton "I'd be happy with anything you'd like to tell me sweetie..." ("base", "base", "base", "L") + her @ cheeks blush "It's... It's quite embarrassing." ("disgust", "narrow", "worried", "down") ton "Yes?" ("soft", "base", "raised", "L") - if hg_pf_strip.counter > 1: - her "Well, he asked me to dance for him..." ("open", "narrow", "base", "R_soft", cheeks="blush") - ton "Yes... dance..." ("open", "base", "raised", "R") - if genie_masturbating: - gen "(And you loved every second of it, that butt bouncing around...)" ("angry", xpos="far_left", ypos="head") - else: - her "Well, he made me show him my panties..." ("open", "narrow", "base", "R_soft", cheeks="blush") - ton "Panties, you say..." ("base", "base", "raised", "L", cheeks="blush") - if genie_masturbating: - gen "(And you loved every second of it, I bet you were totally wet under those panties!)" ("angry", xpos="far_left", ypos="head") - if hermione.is_worn("panties"): - gen "(Not that you wear any anymore, don't you [hermione_name]?)" ("grin", xpos="far_left", ypos="head") - ton "And how did that make you feel?" ("soft", "base", "raised", "L", cheeks="blush") - her "Humiliated!" ("annoyed", "narrow", "base", "R_soft", cheeks="blush") + if states.her.status.stripping: # (Tonks asks if she stripped, later.) + her @ cheeks blush "Well, he asked me to dance for him..." ("open", "narrow", "base", "R_soft") + ton "Dance for him, you say..." ("open", "base", "raised", "R") + if states.gen.masturbating: + gen "(And you loved every second of it, judged by how much that butt was bouncing...)" ("angry", xpos="far_left", ypos="head") + elif states.her.status.show_pussy: + her @ cheeks blush "Well, he made me show him my privates..." ("open", "narrow", "base", "R_soft") + ton @ cheeks blush "You don't say..." ("base", "base", "raised", "L") + if states.gen.masturbating: + gen "(And you loved every second of it... I bet you were trying your hardest not to get wet!)" ("angry", xpos="far_left", ypos="head") + elif states.her.status.show_tits: + her @ cheeks blush "Well, he made me show him my breasts..." ("open", "narrow", "base", "R_soft") + ton @ cheeks blush "You don't say..." ("base", "base", "raised", "L") + if states.gen.masturbating: + gen "(And you loved every second of it... Those nipples could've cut glass!)" ("angry", xpos="far_left", ypos="head") + elif states.her.status.show_panties: + her @ cheeks blush "Well, he made me show him my panties..." ("open", "narrow", "base", "R_soft") + ton @ cheeks blush "Your panties, you say..." ("base", "base", "raised", "L") + if states.gen.masturbating: + gen "(And you loved every second of it... I bet you were totally wet under those panties!)" ("angry", xpos="far_left", ypos="head") + elif states.her.status.show_bra: + her @ cheeks blush "Well, he made take my top off..." ("open", "narrow", "base", "R_soft") + ton @ cheeks blush "Your top, you say..." ("base", "base", "raised", "L") + if states.gen.masturbating: + gen "(And you loved every second of it... I bet your nipples were completely stiff, against your bra!)" ("angry", xpos="far_left", ypos="head") + else: # Mentions Genie masturbating when she was talking to him, which is required to reach T3 + her @ cheeks blush "Well, he made me stand here and talk to him about my day, while he touched himself..." ("open", "narrow", "base", "R_soft") + gen "We both know there's no proof of that happening, I was merely scratching my leg." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "narrow", "base", "mid") + ton @ cheeks blush "And how did that make you feel?" ("soft", "base", "raised", "L") + her @ cheeks blush "Humiliated!" ("annoyed", "narrow", "base", "R_soft") ton "And your headmaster, did he enjoy it?" ("base", "narrow", "raised", "mid") - if genie_masturbating: - if hg_pf_strip.counter > 1: - her "He did seem to enjoy it." ("open", "closed", "base", "mid", cheeks="blush") + if states.gen.masturbating: + if states.her.status.stripping: + her @ cheeks blush "He did seem to enjoy it." ("open", "closed", "base", "mid") gen "(Yes! I thoroughly enjoyed that little show of yours, you slut!)" ("angry", xpos="far_left", ypos="head") ton "I'm sure it was quite the sight...{w=0.4} Did you take your clothes off?" ("base", "narrow", "base", "L") her "Professor!" ("disgust", "narrow", "base", "R") her "I--" ("clench", "narrow", "base", "down") - ton "There's nothing to be ashamed of if you're doing it for the honour of your house..." ("soft", "base", "base", "L") - her "You believe so, professor?" ("open", "base", "worried", "R") - ton "Of course, I was the one who suggested you sell your headmaster some favours was it not?" ("grin", "base", "base", "L") - ton "So, just continue doing what your headmaster asks of you and you'll make your house proud." ("base", "base", "base", "L") + ton "There's nothing to be ashamed of, if you're only doing it for the honour of your house..." ("soft", "base", "base", "L") + her "You believe so, Professor?" ("open", "base", "worried", "R") + ton "Of course! Otherwise, I wouldn't have suggested you sell favours to your headmaster in the first place." ("grin", "base", "base", "L") + ton "So, just continue doing what your headmaster asks of you, and make your house proud." ("base", "base", "base", "L") + gen "(Yes, anything I ask, you little--)" ("angry", xpos="far_left", ypos="head") else: - her "He did seem to enjoy... them." ("soft", "narrow", "base", "down", cheeks="blush") - gen "(Yes! Panties!)" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "He did seem to enjoy... it." ("soft", "narrow", "base", "down") + gen "(Damn right!)" ("angry", xpos="far_left", ypos="head") call hide_characters hide screen bld1 @@ -1138,50 +1310,45 @@ label hg_pf_talk_tonks: call cum_block call bld - gen "{size=-5}*Argh!* YES!{/size}" ("angry", xpos="far_left", ypos="head") + gen "{size=-5}*Argh*! YES!{/size}" ("angry", xpos="far_left", ypos="head") her "" ("annoyed", "base", "base", "R") - ton "Seems like the headmaster enjoyed our little discussion..." ("horny", "base", "angry", "mid", hair="horny") + ton @ hair horny "Seems like the headmaster enjoyed our little discussion..." ("horny", "base", "angry", "mid") her "(.............)" ("soft", "base", "base", "mid") call gen_chibi("cum_behind_desk_done") with d3 pause.2 - call bld gen "*Ah-Ah*..." ("angry", xpos="far_left", ypos="head") - ton "What have you been doing back there?" ("soft", "narrow", "raised", "mid", hair="horny") + ton @ hair horny "What have you been doing back there?" ("soft", "narrow", "raised", "mid") gen "I--" ("base", xpos="far_left", ypos="head") - her "H-{w=0.3}he isn't doing anything! Isn't that right, Professor?" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "Just *Ehm*...{w=0.5} stretching your leg, as always." ("crooked_smile", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "Just \"scratching his leg\"... As always." ("open", "base", "worried", "mid") ton "Right..." ("normal", "base", "shocked", "R") - ton "Well then, since my work here is done... I need to go back to my regular duties." ("open", "closed", "base", "mid", hair="basic") + ton @ hair basic "Well then, since my work here is done... I think I better get back to my regular duties." ("open", "closed", "base", "mid") else: - gen "I sure what--" ("base", xpos="far_left", ypos="head") - ton "I'm asking miss Granger." ("upset", "base", "base", "mid") + gen "I sure--" ("grin", xpos="far_left", ypos="head") + ton "I'm asking Miss Granger." ("upset", "base", "base", "mid") gen "Oh, of course!" ("base", xpos="far_left", ypos="head") - her "He did seem to enjoy it." ("open", "closed", "base", "mid", cheeks="blush") - her "Maybe a bit too much even..." ("angry", "narrow", "base", "R_soft", cheeks="blush") + her @ cheeks blush "He did have the appearance of someone who was enjoying... \"it\"." ("open", "closed", "base", "mid") + her @ cheeks blush "Someone who was enjoying it a bit too much, even..." ("angry", "narrow", "base", "R_soft") ton "That just means you did a great job, Miss Granger." ("base", "base", "base", "L") - ton "Your house surely benefited even more from it." ("horny", "base", "raised", "L") - her "True..." ("soft", "base", "base", "R", cheeks="blush") - ton "Well, I do believe we're done here..." ("open", "closed", "base", "mid", hair="basic") - ton "You've done a great, job Miss Granger." ("open", "base", "base", "L") - ton "The Gryffindor house should be proud to have you." ("base", "base", "base", "mid") - gen "Yes..." ("base", xpos="far_left", ypos="head") - gen "That surely was something, Miss Granger..." ("base", xpos="far_left", ypos="head") - ton "It was... I'm glad you two called me..." ("silly", "happyCl", "base", "mid") - ton "This conversation has been very enlightening." ("horny", "base", "base", "mid", hair="horny") + ton "I'm sure your house benefited greatly from his enjoyment." ("horny", "base", "raised", "L") + her @ cheeks blush "I suppose..." ("soft", "base", "base", "R") + ton @ hair basic "Well, I do believe we're done here..." ("open", "closed", "base", "mid") + ton "Thank you for sharing these things with me, Miss Granger... I can see that you've put significant effort into helping your house." ("open", "base", "base", "L") + ton "They should be proud to have you." ("base", "base", "base", "mid") + her @ cheeks blush "Thank you, Professor..." ("base", "base", "base", "R") - ton "I'll leave you two to it..." ("base", "base", "base", "mid", hair="basic") + ton @ hair basic "I'll leave you two to it..." ("base", "base", "base", "mid") if game.daytime: ton "Have a good day, Miss Granger." ("base", "base", "base", "L") - her "Good day, professor Tonks." ("open", "base", "base", "R") + her "Good day, professor." ("open", "base", "base", "R") else: ton "Have a good night, Miss Granger." ("base", "base", "base", "L") - her "Good night, professor Tonks." ("open", "base", "base", "R") + her "Good night, professor." ("open", "base", "base", "R") ton "Professor..." ("horny", "base", "raised", "mid") gen "Miss Tonks..." ("base", xpos="far_left", ypos="head") @@ -1190,6 +1357,6 @@ label hg_pf_talk_tonks: $ tonks.equip(ton_outfit_last) $ hermione.equip(her_outfit_last) - $ tonks_busy = True + $ states.ton.busy = True return diff --git a/game/scripts/characters/hermione/events/forest.rpy b/game/scripts/characters/hermione/events/forest.rpy index 0dd7c6df..e66aef96 100644 --- a/game/scripts/characters/hermione/events/forest.rpy +++ b/game/scripts/characters/hermione/events/forest.rpy @@ -1,125 +1,136 @@ label hermione_map_BJ: - stop weather + stop weather fadeout 1 + stop music fadeout 1 - $ renpy.call('forest_BJ_'+str(forest_BJ_progress)) - $ hermione_busy = True + $ her_outfit_last.save() + $ hermione.equip(her_outfit_s_rain) + + $ renpy.call('forest_BJ_'+str(states.her.ev.forest_bj.stage)) + $ states.her.busy = True call set_her_map_location("gryffindor_room") + #End event + stop background fadeout 1 + $ hermione.set_cum(None) + $ hermione.wear("all") + $ hermione.equip(her_outfit_last) + jump return_office label forest_BJ_1: #BJ in the forest interrupted by moaning myrtle show screen blkfade with d3 - call play_music("night_outside") - call play_sound("walking_on_grass") + call gen_chibi("hide") - ">Sure enough, the map seems to {b}magically{/b} guide you to the girl, alone in the midnight air..." - ">Seemingly scraping some resin off a tree..." + play background "sounds/night.ogg" fadein 1 + play sound "sounds/steps_grass.ogg" - $ hermione.wear("all") - # TODO: Add robe force equip. + nar "Sure enough, the map seems to {b}magically{/b} guide you towards the girl at the edge of the forest..." + nar "As you get closer, you finally spot her outline in the moonlight, followed by little clouds of condensation escaping her mouth with each breath of midnight air." + nar "After getting your hopes up, you realise that the cause for her heavy breathing is due to her being preoccupied with scraping some resin off a tree..." - $ dynamic_cg("herm_forest", "base") + show her_forest bj as cg zorder 15 hide screen blkfade with d3 - gen "Miss Granger? What are you doing out here at this time of night?" ("base", xpos="far_left", ypos="head") - her "[genie_name]! I, ugh, I wasn't doing anything bad, I swear!" ("angry", "wide", "base", "R", xpos="base", ypos="base", trans=d5) - gen "..." ("base", xpos="far_left", ypos="head") - her "Ugh, fine! If you must know, I was out here gathering up some mastic resin." ("upset", "narrow", "worried", "down") - her "I know Students aren't {i}technically{/i} supposed to touch the stuff since it's normally just used to make belch powder..." ("annoyed", "base", "base", "R") - her "But I'm using it in my research for a non addictive analgesic!" ("open", "closed", "base", "mid") - gen "Whatever..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]? What are you doing out here at this time of night?" ("base", xpos="far_left", ypos="base") + show genie zorder 16 with None + her "[name_genie_hermione]! I--{w=0.2} *Ehm*...{w=0.4} I wasn't doing anything bad, I swear!" ("angry", "wide", "base", "R", xpos="base", ypos="base", trans=d5) + gen "..." ("base", xpos="far_left", ypos="base") + her "*Ugh*, fine! If you must know, I was out here gathering up some mastic resin." ("upset", "narrow", "worried", "down") + her "I know students aren't {i}technically{/i} supposed to touch the stuff, since it's normally used to make belch powder..." ("annoyed", "base", "base", "R") + her "But I'm using it in my research for a non-addictive analgesic!" ("open", "closed", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="base") menu: "-Let her get back to her botany-": - gen "Well I better leave you be then..." ("base", xpos="far_left", ypos="head") + gen "Well, I better leave you be then..." ("base", xpos="far_left", ypos="base") her "Really?" ("upset", "wide", "worried", "shocked") - "You mean you don't want to..." - gen "Maybe some other time." ("base", xpos="far_left", ypos="head") + her "You mean you don't want to--" ("upset", "wide", "worried", "shocked") her "..." ("upset", "narrow", "worried", "down") - show screen blkfade - with d3 - ">You turn away from the miffed girl." - gen "..." ("base", xpos="far_left", ypos="head") - gen "(What's wrong with me?)" ("base", xpos="far_left", ypos="head") + nar "You turn away from the miffed girl." + gen "..." ("base", xpos="far_left", ypos="base") + gen "(What's wrong with me?)" ("base", xpos="far_left", ypos="base") return - "-Ask for a blowjob-": - gen "Well, seeing that we're all alone out here..." ("base", xpos="far_left", ypos="head") - her "Oh... I, um, guess we are..." ("open", "wide", "base", "R") - gen "Wanna fool around?" ("base", xpos="far_left", ypos="head") - her "Oh thank goodness... I thought you were going to murder me for a second there..." ("base", "happyCl", "base", "mid",trans=hpunch) - gen "What? How could you think such a thing!" ("base", xpos="far_left", ypos="head") - gen "I don't know if I'll be able to--" ("base", xpos="far_left", ypos="head") - her "How about I make it up to you with my mouth then, *Hmm*?" ("base", "narrow", "base", "mid") - gen "Done." ("base", xpos="far_left", ypos="head") - $ forest_BJ_progress = 2 + "-Tell her to take care of your stem-": + gen "Well, seeing that we're all alone out here..." ("base", xpos="far_left", ypos="base") + her "Oh...{w=0.4} I--{w=0.2} *Ehm*...{w=0.4} I suppose we are..." ("open", "wide", "base", "R") + gen "How about you take care of this dick?" ("base", xpos="far_left", ypos="base") + her "Oh, thank goodness...{w=0.4} I thought you were going to murder me for a second..." ("base", "happyCl", "base", "mid", trans=hpunch) + gen "What? How could you even think of such a thing!" ("base", xpos="far_left", ypos="base") + her "Sorry [name_genie_hermione]... I don't know why I said that!" ("angry", "narrow", "base", "mid") + her "I should just learn to shut my mouth sometimes..." ("base", "narrow", "base", "mid") + gen "How about you open it instead, and let me ensure that you can't voice such nonsense?" ("base", xpos="far_left", ypos="base") + her "*Hmm*...{w=0.4} Alright..." ("base", "narrow", "base", "down") + $ states.her.ev.forest_bj.stage = 2 - show screen blkfade + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("robe") + $ hermione.equip(her_top_school5) with d3 - ">The girl softly lays her robe on the cool grass before kneeling down on it in front of your steaming cock." - - $ dynamic_cg("herm_forest", "base", "1", "overlay") + nar "The girl carefully removes her robes and tie, then puts them on the cool grass before kneeling down on them, in front of your steaming cock." hide hermione_main - hide screen blkfade - with d3 + hide genie + show her_forest bj h1 as cg + with fade - her "*Mmmm*... I don't think I'll ever get sick of this cock..." - gen "It'll get sick of having to wait for you to put it in your mouth though." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "2", "overlay") - her "*Hmph*... now, now, [genie_name], patience is a virtue..." - $ dynamic_cg("herm_forest", "base", "3", "overlay") + her "*Mmmm*...{w=0.4} Don't you ever get sick of me sucking your cock?" + gen "The only thing I'll get sick of is having to wait for you to put it in your mouth." + show her_forest bj h2 as cg + her "*Hmph*...{w=0.4} Now, now, [name_genie_hermione]...{w=0.4} Patience is a virtue." + show her_forest bj h3 as cg her "Besides, doesn't my hand feel nice?" - gen "Not as nice as your mouth." ("base", xpos="far_left", ypos="head") - her "Alright then... Have it your way." - $ dynamic_cg("herm_forest", "base", "4", "overlay") - ">Hermione leans forward and engulfs the head of your cock in her mouth." + gen "Not as nice as your mouth." + her "Alright then...{w=0.4} Have it your way." + show her_forest bj h4 as cg + nar "Hermione leans forward and engulfs the head of your cock in her mouth." anon "{size=-4}Wow...{/size}" - $ dynamic_cg("herm_forest", "base", "5", "overlay") + show her_forest bj h5 as cg her "!!!" her "Did you hear something?" - gen "What? I don't believe so..." ("base", xpos="far_left", ypos="head") - gen "Not unless you count the sound of you sucking away..." ("base", xpos="far_left", ypos="head") - gen "Speaking of which..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "6", "overlay") + gen "I don't believe so..." + gen "Not unless you count the sounds of you putting your headmaster's dick in your mouth..." + gen "Speaking of which..." + show her_forest bj h6 as cg her "..." - $ dynamic_cg("herm_forest", "base", "7", "overlay") - ">Hermione goes back to work, slobbering her way up and down your cock." - gen "Gods... they'd make you a queen for sucking cock like this in Agrabah..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "8", "overlay") + show her_forest bj h7 as cg + nar "Hermione goes back to work, slobbering her way up and down your cock." + gen "Gods...{w=0.4} They'd make you a queen for sucking cock like this in Agrabah..." + show her_forest bj h8 as cg her "(Where?)" - gen "*Mmmmm*... Fuck yes..." ("base", xpos="far_left", ypos="head") - anon "{size=-8}*te-he-he-he*...{/size}" - $ dynamic_cg("herm_forest", "base", "5", "overlay") + gen "*Mmm*... Fuck yes..." + play sound "sounds/giggle2_loud.ogg" + anon "{size=-8}*Te-he-he-he*...{/size}" + show her_forest bj h5 as cg her "!!!" - $ dynamic_cg("herm_forest", "base", "9", "overlay") - her "Tell me you heard something that time sir!" + show her_forest bj h9 as cg + her "Please tell me you heard something that time, [name_genie_hermione]!" menu: "-Tell her to get back to work-": - gen "All I hear is a mouth that needs to get back to sucking." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "10", "overlay") - her "Not now sir!" - her "I think there's someone else here..." + gen "All I hear is a mouth that needs to get back to sucking." + show her_forest bj h10 as cg + her "Not now, [name_genie_hermione]!" + her "I think someone else is here..." her "Or something else..." - gen "Wait..." ("base", xpos="far_left", ypos="head") - gen "You don't mean..." ("base", xpos="far_left", ypos="head") + gen "Wait..." + gen "You don't mean..." "-Agree with her-": - $ dynamic_cg("herm_forest", "base", "10", "overlay") - gen "You might be right..." ("base", xpos="far_left", ypos="head") - gen "Did it sound like someone laughing?" ("base", xpos="far_left", ypos="head") + show her_forest bj h10 as cg + gen "You might be right..." + gen "Did it sound like someone laughing?" her "Yeah..." her "{size=+10}Show yourselves!!!{/size}" - $ dynamic_cg("herm_forest", "base", "m1", "9", "overlay") + show her_forest bj h9 m1 as cg myr "*Te-he-he-he*... Hi Hermione..." - $ dynamic_cg("herm_forest", "base", "m1", "11", "overlay") + show her_forest bj h11 m1 as cg with hpunch - gen "{size=+10}AH! A G-G-GHOST!{/size}" ("angry", xpos="far_left", ypos="head") - myr "*ha-ha-ha-hah*!" + gen "{size=+10}AH! A G-G-GHOST!{/size}" + myr "*Ha-ha-ha-hah*!" myr "Good one Dumbledore! You always were a joker." her "Myrtle!" her "This isn't what it looks like!" @@ -129,702 +140,755 @@ label forest_BJ_1: #BJ in the forest interrupted by moaning myrtle show screen blkfade with d3 - ">Hermione hastily covers up and sprints away angrily as the ghostly apparition fades away..." - gen "What was that..." ("base", xpos="far_left", ypos="head") - ">You stumble back to your office in a confused and blue-balled stupor..." + nar "Hermione hastily covers up and sprints away, as the ghostly apparition fades away..." + nar "You stumble back to your office in a confused and blue-balled stupor..." return label forest_BJ_2: - $ forest_BJ_progress = 3 + $ states.her.ev.forest_bj.stage = 3 show screen blkfade with d3 - call play_music("night_outside") - call play_sound("walking_on_grass") + call gen_chibi("hide") - $ hermione.wear("all") - # TODO: Add robe force equip. + play background "sounds/night.ogg" fadein 1 + play sound "sounds/steps_grass.ogg" - ">The map yet again leads you to the curly haired girl, alone at the edge of the forest, picking mushrooms." + nar "The map, yet again, leads you to the curly haired girl at the edge of the forest, who's currently in the midst of picking mushrooms." - $ dynamic_cg("herm_forest", "base") + show her_forest bj as cg zorder 15 hide screen blkfade with d3 - gen "More late night gardening?" ("base", xpos="far_left", ypos="head") + gen "More late night gardening?" ("base", xpos="far_left", ypos="base") + show genie zorder 16 with None pause.1 - her "{size=+10}[genie_name]!{/size}" ("shock", "wide", "base", "stare", xpos="base", ypos="base", trans=hpunch) - her "Ugh... Don't startle me like that!" ("annoyed", "base", "base", "R") + her "{size=+10}[name_genie_hermione]!{/size}" ("shock", "wide", "base", "stare", xpos="base", ypos="base", trans=hpunch) + her "Don't startle me like that!" ("annoyed", "base", "base", "R") her "And yes, I've been collecting some mushroom samples." ("soft", "base", "base", "mid") - gen "Cool..." ("base", xpos="far_left", ypos="head") - her "So what are you doing out here?" ("base", "base", "base", "mid") - her "I thought you didn't leave your office anymore?" ("soft", "squint", "base", "mid") - gen "Oh, you know me... Always looking to connect with my students..." ("base", xpos="far_left", ypos="head") - her "*Mhmmm*... So that's what you're down here for then? To {i}connect{/i}?" ("base", "happy", "base", "mid") - gen "Always..." ("base", xpos="far_left", ypos="head") - her "Fine... Just let me take my robe off..." ("base", "base", "base", "R") - show screen blkfade + gen "Fascinating..." ("base", xpos="far_left", ypos="base") + her "What are you doing out here?" ("base", "base", "base", "mid") + her "I didn't expect to see anyone at this time of night." ("soft", "squint", "base", "mid") + gen "Oh, you know me... Just looking for any opportunity to connect with my students..." ("base", xpos="far_left", ypos="base") + her "*Mhmmm*...{w=0.4} That's what you're down here for? To {i}connect{/i}?" ("base", "happy", "base", "mid") + gen "In a sense..." ("base", xpos="far_left", ypos="base") + her "Fine...{w=0.4} Just let me take my robes off..." ("base", "base", "base", "R") + + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("robe") + $ hermione.equip(her_top_school5) with d3 - ">Hermione quietly folds up her robe and places it on the cold ground before kneeling down on it." + nar "Hermione quietly folds up her robe and places it, along with her tie on the cold ground before kneeling down on them." - $ dynamic_cg("herm_forest", "base", "12", "overlay") hide hermione_main - hide screen blkfade - with d3 + hide genie + show her_forest bj h12 as cg + with fade - gen "So you're not worried about that ghost?" ("base", xpos="far_left", ypos="head") - her "You mean Myrtle? You know She's harmless..." - $ dynamic_cg("herm_forest", "base", "10", "overlay") - her "It's the gossip I'm worried about..." - gen "Gossip?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "13", "overlay") - her "Stop playing dumb, [genie_name]! Everyone knows Myrtle's the biggest gossip in the history of gossips..." - $ dynamic_cg("herm_forest", "base", "4", "overlay") - ">Hermione quickly pops your cock into her mouth in between her words..." - $ dynamic_cg("herm_forest", "base", "10", "overlay") - her "*pop* Not to mention she never forgets! She's {b}still{/b} going on about the whole McCartney thing..." - $ dynamic_cg("herm_forest", "base", "8", "overlay") - her "*shlrp* *schkk* *slurp*" - gen "*Mmmm*..." ("base", xpos="far_left", ypos="head") - gen "So have you heard any gossip floating around then?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "10", "overlay") + gen "So...{w=0.4} You're not afraid that the ghost might show up again?" + her "Are you talking about Myrtle?" + gen "Yeah, that ghost girl." + show her_forest bj h10 as cg + her "Ghosts aren't really scary... It's only her tendency to gossip that I'm worried about..." + gen "Gossip?" + show her_forest bj h13 as cg + her "Of course! Everyone knows that Myrtle's the biggest gossiper in the history of gossips..." + show her_forest bj h4 as cg + nar "Hermione quickly pops your cock into her mouth in between her words..." + show her_forest bj h10 as cg + her "*Pop*...{w=0.4} Not to mention the fact that she never forgets! Can you believe that she's {b}still{/b} going on about the whole McCartney thing?" + show her_forest bj h8 as cg + her "*Shlrp* *Schkk* *Slurp*" + gen "*Mmmm*..." + gen "So, have you heard of any gossip floating around then?" + show her_forest bj h10 as cg her "Surprisingly not..." - $ dynamic_cg("herm_forest", "base", "14", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "13", "overlay") - her "although She probably wouldn't want to upset you..." - $ dynamic_cg("herm_forest", "base", "4", "overlay") - her "*shlrp* *schkk* *slurp*" - gen "*Mmmm*..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "10", "overlay") - her "Still... I didn't think she'd be able to help herself..." - $ dynamic_cg("herm_forest", "base", "14", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "15", "overlay") - her "Albus Dumbledore having his {b}cock{/b} sucked by Hermione Granger..." - $ dynamic_cg("herm_forest", "base", "16", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "12", "overlay") + show her_forest bj h14 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h13 as cg + her "Perhaps she doesn't want to upset you..." + show her_forest bj h4 as cg + her "*Shlrp* *Schkk* *Slurp*" + gen "*Mmmm*..." + show her_forest bj h10 as cg + her "Still...{w=0.4} I didn't think she'd be able to help herself..." + show her_forest bj h14 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h15 as cg + her "Albus Dumbledore having his {b}cock{/b} sucked by Hermione Granger in the forest..." + show her_forest bj h16 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h12 as cg her "It'd be the gossip of the century..." - $ dynamic_cg("herm_forest", "base", "18", "overlay") - her "*slurp* *schkk* *shlrp*" - gen "You almost sound disappointed that she didn't tell anyone." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "17", "overlay") + show her_forest bj h18 as cg + her "*Slurp* *Schkk* *Shlrp*" + gen "You almost sound disappointed that she didn't tell anyone." + show her_forest bj h17 as cg her "What? How could you say such a thing!" - $ dynamic_cg("herm_forest", "base", "16", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "19", "overlay") + show her_forest bj h16 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h19 as cg her "I'd never be able to show my face around Hogwarts again..." - $ dynamic_cg("herm_forest", "base", "20", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "21", "overlay") + show her_forest bj h20 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h21 as cg her "Everyone would just be imagining me on my knees..." - $ dynamic_cg("herm_forest", "base", "18", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "21", "overlay") + show her_forest bj h18 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h21 as cg her "{b}Covered{/b} in your thick spunk..." - $ dynamic_cg("herm_forest", "base", "20", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "17", "overlay") - her "Word would probably even get back to mom and dad..." - $ dynamic_cg("herm_forest", "base", "16", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "19", "overlay") - her "Imagine what they'd think of their little girl..." - $ dynamic_cg("herm_forest", "base", "18", "overlay") - her "*slurp* *schkk* *shlrp*" - $ dynamic_cg("herm_forest", "base", "21", "overlay") - her "sucking all that cum out her headmaster's fat, {size=+2}juicy,{/size} {size=+2}cock...{/size}{heart}" - gen "*Argh*!! That's it girl!" ("grin", xpos="far_left", ypos="head") - gen "Here it comes!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "22", "overlay") - ">You grab a hold of the back of Hermione's head and thrust forward, planting your cock firmly down her throat." - $ dynamic_cg("herm_forest", "base", "m1", "22", "overlay") - myr "Wow... I didn't think you'd fit it all in..." - $ dynamic_cg("herm_forest", "base", "m1", "23", "overlay") + show her_forest bj h20 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h17 as cg + her "Word of it would probably even reach my mom and dad..." + show her_forest bj h16 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h19 as cg + her "Imagine what they'd think if they heard that their little girl--" + show her_forest bj h18 as cg + her "*Slurp* *Schkk* *Shlrp*" + show her_forest bj h21 as cg + her "-- Is sucking such copious amounts of cum out her headmaster's fat, {size=+2}juicy,{/size} {size=+2}cock...{/size}{heart}" + gen "*Argh*!! That's it girl!" + gen "Here it comes!" + show her_forest bj h22 as cg + nar "You grab a hold of the back of Hermione's head and thrust forward, planting your cock firmly down her throat." + show her_forest bj h22 m1 as cg + myr "Wow...{w=0.4} I never thought you'd fit all of it..." + show her_forest bj h23 m1 as cg her "!!!" - ">Not even the sudden appearance of a ghost can stop your colossal orgasm at this point..." - gen "*ARGH*!!!" ("grin", xpos="far_left", ypos="head") - ">You start firing off a thick deluge of cum down Hermione's tender throat, the presence of someone else only serving to coax more out of your balls..." - $ dynamic_cg("herm_forest", "base", "m1", "24", "overlay") + nar "Not even the sudden appearance of a ghost could stop your colossal orgasm at this point--" + nar "--and you start firing off a thick deluge of cum down Hermione's tender throat, the presence of someone else only serving to coax more out of your balls..." + gen "*ARGH*!!!" + show her_forest bj h24 m1 as cg call cum_block her "!!!!!!" - $ dynamic_cg("herm_forest", "base", "m1", "25", "overlay") + show her_forest bj h25 m1 as cg call cum_block - gen "Gods I Needed this!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m1", "26", "overlay") + gen "Gods, I needed this!" + show her_forest bj h26 m1 as cg myr "So much...{heart}{heart}{heart}" - $ dynamic_cg("herm_forest", "base", "m1", "25", "overlay") - ">Your hips continue to pump more and more cum down hermione's throat." - $ dynamic_cg("herm_forest", "base", "m1", "26", "overlay") + show her_forest bj h25 m1 as cg + nar "Your balls continue to pump more and more cum down Hermione's throat." + show her_forest bj h26 m1 as cg her "..." - $ dynamic_cg("herm_forest", "base", "m1", "25", "overlay") - myr "Bye Hermione{heart}{heart}{heart}" + show her_forest bj h25 m1 as cg + myr "Bye Hermione...{heart}{heart}{heart}" + show screen blkfade with d3 - ">Eventually your orgasm subsides and you allow your softening member to slide out of hermione's cum coated throat." + nar "Eventually your orgasm subsides, and you allow your softening member to slide out of Hermione's cum coated throat." + show her_forest bj none as cg hide screen blkfade with d3 - her "I can't believe you just did that?" ("shock", "base", "angry", "mid") - gen "really? After everything we've done?" ("base", xpos="far_left", ypos="head") - her "It's a figure of speech! And More importantly..." ("angry", "closed", "angry", "mid") - her "{size=+10}You just came down my throat in front of moaning myrtle!{/size}" ("scream", "closed", "angry", "mid") + her "I can't believe you just did that!" ("shock", "base", "angry", "mid") + gen "Really? After everything that we've done?" ("base", xpos="far_left", ypos="base") + show genie zorder 16 with None + her "It's a figure of speech! And more importantly..." ("angry", "closed", "angry", "mid") + her "{size=+10}You just came down my throat, in front of moaning Myrtle!{/size}" ("scream", "closed", "angry", "mid") her "She's going to tell everyone about this now!" ("annoyed", "base", "angry", "mid") - gen "So? Doesn't everyone sort of know by now anyway?" ("base", xpos="far_left", ypos="head") - her "*Argh*! That's not the point and you know it!" ("annoyed", "squint", "angry", "mid") - her "You can't keep treating me like your {heart}dirty{heart} little {b}cumdump{/b} to use as you please!" ("angry", "squint", "base", "mid") - her "To coat in your filthy nasty {b}{heart}cum{heart}{/b}..." ("angry", "narrow", "base", "dead") - her "In front of whoever, or whatever, you want..." ("angry", "narrow", "annoyed", "up") + gen "So?" ("base", xpos="far_left", ypos="base") + her "*Argh*!" ("disgust", "squint", "angry", "R") + her "You can't keep treating me like some {heart}dirty{heart} little--" ("angry", "closed", "annoyed", "mid") + gen "Cum dump?" ("grin", xpos="far_left", ypos="base") + her "Yes! You can't just keep using me as you please!" ("angry", "squint", "base", "mid") + her "Can't keep coating me in your, filthy, nasty {b}{heart}cum{heart}{/b}..." ("angry", "narrow", "angry", "R") her "..." ("angry", "narrow", "base", "dead") - her "Well... I hope you've learned your lesson!" ("angry", "narrow", "base", "up") - her "I'm going to go back and..." ("angry", "narrow", "base", "up") - her "*ge*-Clean! myself off..." ("open", "squint", "worried", "up") - her "And remember..." ("open", "narrow", "base", "up") - her "no {size=-1}more... {size=-1}{b}cum{/b}... {size=-1}all... {size=-1}over... {size=-1}me... {size=-1}please...{heart}{heart}{heart}{/size}{/size}{/size}{/size}{/size}{/size}" ("angry", "narrow", "base", "dead") + her "Well...{w=0.4} I hope you've learned your lesson!" ("open", "narrow", "base", "stare") + her "I'm going to go back, and..." ("angry", "closed", "base", "R") + her "*Geh*...{w=0.4} Wash the taste out of my mouth..." ("open", "squint", "worried", "up") + her "And remember for next time--" ("open", "narrow", "base", "up") + her "Don't{size=-1}... {b}cum{/b}... {size=-1}so... {size=-1}much... {size=-1}down... {size=-1}my... {size=-1}throat...{heart}{heart}{heart}{/size}{/size}{/size}{/size}{/size}{/size}" ("angry", "narrow", "base", "dead") show screen blkfade - hide screen dynamic_cg + hide cg with d3 - ">With that, hermione staggers back to the castle, still coated in your thick layer of seed." + nar "With that, Hermione staggers back to the castle, still coated in your thick layer of seed." return label forest_BJ_3: #Complete BJ with Myrtle appearing after the cumshot - $ forest_BJ_progress = 4 + $ states.her.ev.forest_bj.stage = 4 show screen blkfade with d3 - call play_music("night_outside") - call play_sound("walking_on_grass") + call gen_chibi("hide") - $ hermione.wear("all") - # TODO: Add robe force equip. + play background "sounds/night.ogg" fadein 1 + play sound "sounds/steps_grass.ogg" - ">Surely enough, the handwritten words \"Hermione Granger\", manage to lead you to the lone girl at the edge of an imposing forest." - ">However she doesn't seem preoccupied with her usual botany." + nar "Surely enough, the map once again manages to lead you to the lone girl at the edge of an imposing forest." + nar "However, she doesn't appear to be preoccupied with her usual botany." - $ dynamic_cg("herm_forest", "base") + show her_forest bj as cg zorder 15 hide screen blkfade with d3 - gen "Aren't you usually out here to collect some forbidden plant, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Not always... Sometimes I just come out here to enjoy the cool air..." ("soft", "base", "base", "R", xpos="base", ypos="base", trans=d5) - gen "I see..." ("base", xpos="far_left", ypos="head") - gen "So you're not waiting out here for your headmaster to arrive, just so you can suck his cock in public?" ("base", xpos="far_left", ypos="head") - her "What! o-of course not!" ("base", "narrow", "worried", "down") + gen "Good evening, [name_hermione_genie]." ("base", xpos="far_left", ypos="base") + show genie zorder 16 with None + her "Good evening, [name_genie_hermione]...{w=0.4} Fancy meeting you here." ("soft", "base", "base", "R", xpos="base", ypos="base", trans=d5) + gen "What are you doing out here at this hour? You don't appear to be collecting anything." ("base", xpos="far_left", ypos="base") + her "Oh...{w=0.4} I just thought I'd come out here to--{w=0.2} Get some fresh air..." ("open", "base", "base", "down", xpos="base", ypos="base") + play sound "sounds/sniff.ogg" + her "*Aah*..." ("base", "base", "base", "mid", xpos="base", ypos="base") + gen "I see..." ("base", xpos="far_left", ypos="base") + gen "So you're not waiting out here for your headmaster to arrive, just so you can suck his cock out in the open?" ("base", xpos="far_left", ypos="base") + her "What! O-of course not!" ("base", "narrow", "worried", "down") her "I'm just out here to admire the moon!" ("base", "base", "base", "R") - gen "What moon?" ("base", xpos="far_left", ypos="head") - ">Hermione frantically looks to the cloudy sky, unable to even glimpse the moon through the impenetrable greyness." - her "Oh... um..." ("open", "happy", "base", "R") - gen "It's alright for you to admit that you're a dirty little cumslut, miss Granger." ("base", xpos="far_left", ypos="head") + gen "What moon?" ("base", xpos="far_left", ypos="base") + nar "Hermione frantically looks at the cloudy sky, unable to even glimpse the moon through the impenetrable greyness." + her "Oh...{w=0.4} *Uhm*..." ("open", "happy", "base", "R") + gen "It's alright...{w=0.4} Just admit that you're a dirty little cumslut, [name_hermione_genie]." ("base", xpos="far_left", ypos="base") her "It's not like that!" ("upset", "narrow", "annoyed", "mid") - her "{size=-4}I just like sucking your dick, OK...{/size}" ("upset", "narrow", "base", "R_soft") - gen "So you don't want me to cover you in cum like the cumslut you are?" ("base", xpos="far_left", ypos="head") + her "{size=-4}I--{w=0.2} I just wanted to...{/size}" ("upset", "narrow", "base", "R_soft") + gen "So you don't want me to cover you in cum like the cumslut you are?" ("base", xpos="far_left", ypos="base") her "..." ("base", "narrow", "worried", "down") - her "Ugh..." ("base", "narrow", "base", "dead") + her "*Ugh*...{w=0.4} If you must..." ("base", "narrow", "base", "dead") show screen blkfade with d3 - ">Hermione studiously removes, folds, and lays her robe on the cool night grass." + nar "Hermione studiously removes, folds, and lays her robe and tie on the cool night grass." - $ dynamic_cg("herm_forest", "base", "15", "overlay") + show her_forest bj h15 as cg hide hermione_main + hide genie hide screen blkfade with d3 - her "Maybe I wouldn't have ended up a dirty little cumslut if your dick wasn't so nice..." - #Have her suck his cock - $ dynamic_cg("herm_forest", "base", "16", "overlay") + her "(Maybe I wouldn't have ended up a dirty little cumslut if your dick wasn't so enticing...)" + + #Hermione sucks Genie's cock + show her_forest bj h16 as cg pause - her "*glck* *shlrp* *Gluck*" - $ dynamic_cg("herm_forest", "base", "17", "overlay") + her "*Glck* *Shlrp* *Gluck*" + show her_forest bj h17 as cg her "*Ah*....{heart}{heart}{heart}" - her "Thank you for being here tonight, [genie_name]...." - $ dynamic_cg("herm_forest", "base", "16", "overlay") - her "*glck* *shlrp* *Gluck*" - $ dynamic_cg("herm_forest", "base", "19", "overlay") - her "I wasn't sure if you were going come..." - $ dynamic_cg("herm_forest", "base", "18", "overlay") - her "*glck* *shlrp* *Gluck*" - gen "If you want me to keep cumming, I suggest you do a little less talking..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "20", "overlay") + her "I'm surprised how often we bump into each other out here, [name_genie_hermione]..." + show her_forest bj h16 as cg + her "*Glck* *Shlrp* *Gluck*" + show her_forest bj h19 as cg + her "It's almost as if you knew I was going to be here..." + show her_forest bj h18 as cg + her "*Glck* *Shlrp* *Gluck*" + gen "I'm sure it's just a coincidence...{w=0.4} Although speaking of bumping, how about you help me bump this dick into the back of your throat." + show her_forest bj h20 as cg her "*Khes* *sh-r*! (Yes sir!)" - $ dynamic_cg("herm_forest", "base", "27", "overlay") - ">In response, hermione thrusts her entire lithe frame forwards, forcing your thick cock all the way down her throat." - $ dynamic_cg("herm_forest", "base", "28", "overlay") - gen "Ugh.... that's it, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "29", "overlay") - gen "How are you able to go so deep?..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "17", "overlay") - her "*Hmm*... I had a good teacher." - $ dynamic_cg("herm_forest", "base", "19", "overlay") - gen "As flattered as I am..." ("base", xpos="far_left", ypos="head") - ">You lower your hand and rest it softly on the back of the little sluts head..." - $ dynamic_cg("herm_forest", "base", "30", "overlay") - gen "THIS!" ("grin", xpos="far_left", ypos="head") + show her_forest bj h27 as cg + nar "In response to your request, Hermione thrusts her entire lithe frame forwards, forcing your thick cock all the way down her throat." + show her_forest bj h28 as cg + gen "*Ugh*.... That's it, [name_hermione_genie]!" + show her_forest bj h29 as cg + gen "I'm surprised anyone could even take it this deep." + show her_forest bj h17 as cg + her "*Hmm*...{w=0.4} I suppose I've had a good teacher." + show her_forest bj h19 as cg + gen "That's true..." + nar "You lower your hand and rest it on the back of the little sluts head..." + show her_forest bj h30 as cg + gen "THIS--" pause - $ dynamic_cg("herm_forest", "base", "31", "overlay") - gen "Can't be taught!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "30", "overlay") - her "*glck* *shlrp* *Gluck*" - $ dynamic_cg("herm_forest", "base", "31", "overlay") - ">You vigorously start fucking the poor girls throat with little regard for her well being." - $ dynamic_cg("herm_forest", "base", "32", "overlay") - her "*glck* *shlrp* *Gluck*" - $ dynamic_cg("herm_forest", "base", "33", "overlay") - gen "You were born a cocksucker." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "32", "overlay") - her "*glck* *shlrp* *Gluck*" - $ dynamic_cg("herm_forest", "base", "33", "overlay") - gen "It's just taken you until now to realise." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "32", "overlay") - her "*glck* *shlrp* *Gluck*" - $ dynamic_cg("herm_forest", "base", "33", "overlay") - $ dynamic_cg("herm_forest", "base", "m2", "overlay") - $ dynamic_cg("herm_forest", "base", "33", "overlay") - ">You're so focused on your face fuck session you almost fail to notice the ghostly apparition of an attractive little witch appear behind Hermione." - $ dynamic_cg("herm_forest", "base", "32", "overlay") - gen "!!!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "33", "overlay") - ">Before you even have time to scream, Myrtle, raises her finger to her lips, shushing you." - $ dynamic_cg("herm_forest", "base", "32", "overlay") - ">Instead, it appears like she only wants to watch hermione have her throat fucked silly..." - $ dynamic_cg("herm_forest", "base", "34", "overlay") - gen "Well if it's a show you want, {size=+3}it's{/size} {size=+3}a{/size} {size=+3}show{/size} {size=+3}you'll{/size} {size=+3}get!{/size}" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "35", "overlay") + show her_forest bj h31 as cg + gen "-can't be taught!" + show her_forest bj h30 as cg + her "*Glck* *Shlrp* *Gluck*" + show her_forest bj h31 as cg + nar "You vigorously start fucking the poor girl's throat with little regard for her well-being." + show her_forest bj h32 as cg + her "*Glck* *Shlrp* *Gluck*" + show her_forest bj h33 as cg + gen "You were destined to be a cocksucker." + show her_forest bj h32 as cg + her "*Glck* *Shlrp* *Gluck*" + show her_forest bj h33 as cg + gen "It's just taken you until now to realise." + show her_forest bj h32 as cg + her "*Glck* *Shlrp* *Gluck*" + + show her_forest bj h33 as cg + show her_forest bj m2 as cg with d9 + + nar "You're so focused on your face fucking session, that you almost fail to notice the ghostly apparition of an attractive little witch appearing behind Hermione." + play sound "sounds/giggle2_loud.ogg" + pause .3 + show her_forest bj h32 as cg + gen "!!!" + show her_forest bj h33 as cg + nar "Before you even have time to scream, the ghost, raises her finger to her lips, shushing you." + show her_forest bj h32 as cg + nar "Instead of making herself known, it appears like she only wants to watch Hermione have her throat fucked silly..." + show her_forest bj h34 as cg + gen "Well, if it's a show you want, {size=+3}it's{/size} {size=+3}a{/size} {size=+3}show{/size} {size=+3}you'll{/size} {size=+3}get!{/size}" + show her_forest bj h35 as cg her "???" - $ dynamic_cg("herm_forest", "base", "34", "overlay") - ">Coaxed on by the prospect of an ethereal audience, you begin to get into a firm, rough rhythm of properly fucking hermione's throat raw." - $ dynamic_cg("herm_forest", "base", "35", "overlay") - her "*glck*-*glck*-*glck*!!" - $ dynamic_cg("herm_forest", "base", "34", "overlay") - her "*glck*{heart}*glck*{heart}*glck*" - $ dynamic_cg("herm_forest", "base", "35", "overlay") + show her_forest bj h34 as cg + nar "Coaxed on by the prospect of an ethereal audience, you begin to get into a firm, and rough rhythm of properly fucking Hermione's throat raw." + show her_forest bj h35 as cg + her "*Glck*-*Glck*-*Glck*!!" + show her_forest bj h34 as cg + her "*Glck*{heart}*Glck*{heart}*Glck*" + show her_forest bj h35 as cg myr "..." - $ dynamic_cg("herm_forest", "base", "34", "overlay") + show her_forest bj h34 as cg her "*Slurp*! *Gulp*! *Slurp*!" - $ dynamic_cg("herm_forest", "base", "35", "overlay") - gen "Yes, like that... that's a good little slut..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "34", "overlay") + show her_forest bj h35 as cg + gen "Yes, just like that...{w=0.4} That's a good little slut..." + show her_forest bj h34 as cg her "*Slurp*! *Slurp*! *Slurp*!" - $ dynamic_cg("herm_forest", "base", "35", "overlay") - gen "Deeper now." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "34", "overlay") + show her_forest bj h35 as cg + gen "Now, go a bit deeper, would you?" + show her_forest bj h34 as cg her "*Slurp*! *Slurp*! *Slurp*!" - $ dynamic_cg("herm_forest", "base", "35", "overlay") - gen "Come on cock-slut." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "36", "overlay") + show her_forest bj h35 as cg + gen "Come on, [name_hermione_genie]." + show her_forest bj h36 as cg her "*Slurp*! *Gobble*! *Gobble*!" - $ dynamic_cg("herm_forest", "base", "37", "overlay") - gen "Deeper now!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "36", "overlay") + show her_forest bj h37 as cg + gen "Deeper!" + show her_forest bj h36 as cg her "*Gobble-gobble-slurp-gobble*!" - $ dynamic_cg("herm_forest", "base", "37", "overlay") - gen "Yes, like that!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "36", "overlay") + show her_forest bj h37 as cg + gen "Yes, like that!" + show her_forest bj h36 as cg her "{size=+5}*Gobble-gobble-slurp-gobble*!{/size}" - $ dynamic_cg("herm_forest", "base", "34", "overlay") - gen "{size=+5}Yes! Yes! Yes! Yes!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "35", "overlay") - gen "See? Your body was made for this..." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "36", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "37", "overlay") - gen "Made to take my cock!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "36", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "37", "overlay") - gen "Any time of day!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "34", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "35", "overlay") - gen "Anywhere you can get it!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "34", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "37", "overlay") - gen "And in front of anyone who will watch you!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "38", "overlay") + show her_forest bj h34 as cg + gen "{size=+5}Yes! Yes! Yes! Yes!{/size}" + show her_forest bj h35 as cg + gen "See? I told you that your body was made for this..." + show her_forest bj h36 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h37 as cg + gen "Made to take my cock!" + show her_forest bj h36 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h37 as cg + gen "Any time of day!" + show her_forest bj h34 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h35 as cg + gen "Anywhere you can get it!" + show her_forest bj h34 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h37 as cg + gen "And in front of anyone who will watch you!" + show her_forest bj h38 as cg her "{size=+10}!!!{/size}" - $ dynamic_cg("herm_forest", "base", "37", "overlay") - myr "*he-he-he*... Hi Hermione..." - $ dynamic_cg("herm_forest", "base", "36", "overlay") - her "*glck* Sto--{w=0.3}! *glck*{heart}*glck*" - $ dynamic_cg("herm_forest", "base", "37", "overlay") - ">Hermione starts to struggle against you in her embarrassment, her face turns a deep red and tears start to roll down her face." - $ dynamic_cg("herm_forest", "base", "36", "overlay") - ">Unfortunately for the petite witch, her shame only serves to intensify your pleasure." - $ dynamic_cg("herm_forest", "base", "37", "overlay") - gen "*ARGH*, HERE IT COMES SLUT!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "36", "overlay") + show her_forest bj h37 as cg + myr "*He-he-he*...{w=0.4} Hi Hermione..." + show her_forest bj h36 as cg + her "*Glck* Sto--{w=0.3}! *glck*{heart}*glck*" + show her_forest bj h37 as cg + nar "Hermione's throat momentarily lessens its grip around your cock." + nar "Her face now even redder than before, she starts to pull back, either due to embarrassment or lack of air..." + show her_forest bj h36 as cg + nar "Unfortunately for the petite witch, her shame only serves to intensify your pleasure." + show her_forest bj h37 as cg + gen "{size=+4}*ARGH*!!! HERE IT COMES, [name_hermione_genie]!{/size}" + show her_forest bj h36 as cg call cum_block - gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "37", "overlay") - gen "{size=+7}Eat my cum, slut!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "34", "overlay") + gen "{size=+7}*ARGH*!{/size}" + show her_forest bj h37 as cg + gen "{size=+7}Eat my cum, slut!{/size}" + show her_forest bj h34 as cg call cum_block - $ dynamic_cg("herm_forest", "base", "39", "overlay") + show her_forest bj h39 as cg call cum_block - ">Your cock starts firing off a huge load against the back of the poor girls throat, quickly overflowing up through her nostrils and back at you." + nar "Your cock starts firing off a huge load against the back of the poor girl's throat, quickly overflowing all the way up through her nostrils and back at you." her "{size=+14}!!!{/size}" - $ dynamic_cg("herm_forest", "base", "40", "overlay") - myr "{size=+3}Oh{/size} {size=+3}my{/size} {size=+3}God!{/size}" - $ dynamic_cg("herm_forest", "base", "39", "overlay") + show her_forest bj h39 as cg call cum_block - myr "I've never seen this much cum in my whole life or even since then!" - $ dynamic_cg("herm_forest", "base", "40", "overlay") - myr "Here Dumbledore, shoot some more!" - $ dynamic_cg("herm_forest", "base", "39", "overlay") + myr "I've never seen this much cum in my whole life, or even since then!" + myr "Look over here Dumbledore, and shoot some more!" show screen blkfade with d3 - $ dynamic_cg("herm_forest", "base", "m3", "39", "overlay") + show her_forest bj h39 m3 as cg - ">Moaning Myrtle rises up from the dewy ground and flashes her see-through breasts towards you." - $ dynamic_cg("herm_forest", "base", "m3", "41", "overlay") + nar "Moaning Myrtle rises up from the dewy ground, and flashes her spectral breasts towards you." + show her_forest bj h41 m3 as cg hide screen blkfade with d3 call cum_block - gen "{size=+7}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m3", "42", "overlay") - ">With your orgasm renewed by the sight of some heavenly cans, you begin shooting cum down Hermione's throat anew." - $ dynamic_cg("herm_forest", "base", "m3", "41", "overlay") + gen "{size=+7}*ARGH*! YES!!!{/size}" + show her_forest bj h42 m3 as cg + nar "Your orgasm now renewed by the sight of some heavenly cans, you begin shooting cum down Hermione's throat anew." + show her_forest bj h41 m3 as cg call cum_block - her "*gulp* *gargggglelggg* *gobble*...." - $ dynamic_cg("herm_forest", "base", "m3", "42", "overlay") + her "*Gulp* *Gargggglelggg* *Gobble*...." + show her_forest bj h42 m3 as cg call cum_block myr "More, Dumbledore, more!" - $ dynamic_cg("herm_forest", "base", "m3", "41", "overlay") + show her_forest bj h41 m3 as cg call cum_block - gen "{size=+15}*ARGH*!!!!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m3", "42", "overlay") + gen "{size=+15}*ARGH*!!!!{/size}" + show her_forest bj h42 m3 as cg call cum_block - her "*gllllgggggg*..." - $ dynamic_cg("herm_forest", "base", "m3", "41", "overlay") + her "*Gllllgggggg*..." + show her_forest bj h41 m3 as cg call cum_block myr "{size=+14}MORE!!!{/size}" - $ dynamic_cg("herm_forest", "base", "m3", "42", "overlay") + show her_forest bj h42 m3 as cg call cum_block + + show her_forest bj -m3 as cg with d9 + + nar "Eventually, your orgasm comes to a halt, and you finally pull your sloppy cock out of Hermione's well-used hole..." show screen blkfade - hide screen dynamic_cg + with hpunch + play sound "sounds/fall.ogg" + nar "She then collapses onto her robe, no longer held up by your member." + show her_forest bj none as cg + hide screen blkfade + with d9 + gen "You did good, [name_hermione_genie]..." ("grin", xpos="far_left", ypos="base") + show genie zorder 16 with None + gen "Wouldn't you say the same, ghost?" ("grin", xpos="far_left", ypos="base") + gen "Ghost?" ("base", xpos="far_left", ypos="base") + gen "Oh well..." ("base", xpos="far_left", ypos="base") + nar "You notice that the limp body of Hermione has started to shiver in the cold air..." + gen "I suppose I better get you back to the castle..." ("base", xpos="far_left", ypos="base") + + show screen blkfade + hide cg + hide genie with d3 - ">Eventually, your orgasm comes to a halt and you finally pull your sloppy cock out of Hermione's well used hole..." - ">She collapses onto her robe, no longer held up by your member." - gen "You did good, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "Wouldn't you say the same, ghost?" ("base", xpos="far_left", ypos="head") - gen "Ghost?" ("base", xpos="far_left", ypos="head") - gen "Oh well..." ("base", xpos="far_left", ypos="head") - ">You notice Hermione start to shiver in the cold air..." - gen "I suppose I better get you back to your room." ("base", xpos="far_left", ypos="head") - ">You wrap her robe over her like a blanket and carry her back to her room." - ">You softly place her into her bed and pull up her sheets." + play sound "sounds/steps_grass.ogg" + stop background fadeout 1 + + nar "You wrap Hermione's robe over her like a blanket, and carry her back to your office." + + play sound "sounds/fire_woosh.ogg" + nar "You carefully place her into a chair in front of the fireplace, light it, and then drape her cum covered robes over her." menu: - gen "(Should I clean her up a bit?)" ("base", xpos="far_left", ypos="head") + gen "(Should I clean her up a bit?)" "-clean her up-": - gen "(I suppose I should...)" ("base", xpos="far_left", ypos="head") - ">You use a rag and wipe her face clean." - her "*zzz* no... *zzz* I wanna be a.. *zzz* cumslut... *zzz*" - gen "*Shhh*... Don't worry, [hermione_name], I will give you more tomorrow." ("base", xpos="far_left", ypos="head") + gen "(I suppose I should...)" + nar "You grab the edge of her robes and wipe her face clean with it." + her "*Zzz*...{w=0.4} No...{w=0.4} *Zzz*...{w=0.4} I wanna be a--{w=0.2} *zzz*...{w=0.4} Cumslut..." + gen "*Shhh*...{w=0.4} Don't worry, [name_hermione_genie]...{w=0.4} There's plenty where that came from..." "-leave her be-": - gen "(She looks better like this anyway...)" ("base", xpos="far_left", ypos="head") - ">As you turn to leave, you notice a content smile form over Hermione's face as she pulls her sheets up over her shoulders." - her "{size=-4}Night sir...{/size}" + gen "(She looks better like this anyway...)" + nar "Just as you're about to turn to walk over to your desk, you notice a content smile spreading across Hermione's face as she pulls her robes up over her shoulders." + her "{size=-4}Night [name_genie_hermione]...{/size}" her "{size=-8}I love you...{/size}" - ">You turn and leave the warm room and return to your cold, dark office..." + nar "You walk over and sit down behind your desk, and then fall soundly asleep..." + her "*Ouch*..." + nar "After some time, you awake at just the right moment to see Hermione stumble, and then slip out through the office door." + $ hermione.equip(her_outfit_last) + hide screen blkfade return label forest_BJ_4: #Moaning myrtle dirty talk (Repeatable) (Threaten to expose) - $ forest_BJ_progress = 3 #Repeats 3rd event after this one. + $ states.her.ev.forest_bj.stage = 3 #Repeats 3rd event after this one. show screen blkfade with d3 - call play_music("night_outside") - call play_sound("walking_on_grass") + call gen_chibi("hide") - $ hermione.wear("top") - $ hermione.wear("bottom") + play background "sounds/night.ogg" fadein 1 + play sound "sounds/steps_grass.ogg" - ">Once more, the marauders map leads you to Hermione at the edge of the forest, waiting patiently, apparently having dropped all pretences botanical." + nar "Once more, the marauders map leads you to Hermione at the edge of the forest, waiting patiently, apparently having dropped all pretences botanical." - $ dynamic_cg("herm_forest", "base") + show her_forest bj as cg zorder 15 hide screen blkfade with d3 - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "About time you got here, [genie_name]!" ("upset", "narrow", "annoyed", "mid", xpos="base", ypos="base", trans=d5) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="base") + show genie zorder 16 with None + her "About time you got here, [name_genie_hermione]!" ("upset", "narrow", "annoyed", "mid", xpos="base", ypos="base", trans=d5) her "Do you know how long I've been waiting out here in the cold?" ("annoyed", "happy", "base", "mid") menu: - "-Sorry-": - gen "Sorry about that..." ("base", xpos="far_left", ypos="head") - gen "I'll try and be on time for our blowjobs from now on." ("base", xpos="far_left", ypos="head") - her "Good... It's the least you can do..." ("base", "closed", "angry", "mid") - "-You know where my office is-": + "-Apologise-": + gen "Sorry about that..." ("base", xpos="far_left", ypos="base") + gen "I'll try and be on time for our blowjobs from now on." ("base", xpos="far_left", ypos="base") + her "Good...{w=0.4} It's the least you can do..." ("base", "closed", "angry", "mid") + "\"You know where my office is.\"": her "*Hmph*..." ("upset", "narrow", "angry", "R") show screen blkfade with d3 - ">Hermione then kneels down onto the pillow and rug she must have lain down before your arrival." - ">You quickly walk over to the small girl and present her your thick cock." + nar "Hermione removes her robes and tie, then kneels down onto a pillow and rug that she must have prepared before your arrival." + nar "You quickly walk over to the girl, and present her with your thick cock." - $ dynamic_cg("herm_forest", "base", "15", "overlay") + show her_forest bj h15 as cg hide hermione_main + hide genie hide screen blkfade with d3 her "*Mmmmm*..." - $ dynamic_cg("herm_forest", "base", "17", "overlay") - her "This almost makes waiting out in the cold worth it..." - gen "Only almost?" ("base", xpos="far_left", ypos="head") - her "Well it's not the real reason I'm down here, [genie_name]..." - $ dynamic_cg("herm_forest", "base", "19", "overlay") - her "this is..." - $ dynamic_cg("herm_forest", "base", "16", "overlay") - ">Hermione quickly pops her head forward, wrapping her soft lips around the tip of your shaft." - her "*Mmmmm*" - $ dynamic_cg("herm_forest", "base", "18", "overlay") - her "*slurp* *glck* *slrp*" - $ dynamic_cg("herm_forest", "base", "20", "overlay") - gen "*Ughhhh*.... that's it, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "Be a good little cockslut for your headmaster..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "16", "overlay") - her "*slurp*{heart}*slurp*{heart}*glck*" + show her_forest bj h17 as cg + her "I can't believe you're making me come down here during these circumstances..." + gen "Say what?" + her "You heard me..." + show her_forest bj h19 as cg + her "Not only that, the only thing you're allowing me as a way to keep myself warm is sucking your dick..." + show her_forest bj h16 as cg + nar "Hermione quickly pops her head forward, wrapping her soft lips around the tip of your shaft." + her "*Mmmmm*..." + show her_forest bj h18 as cg + her "*Slurp* *Glck* *Slrp*" + show her_forest bj h20 as cg + gen "*Ughhhh*...{w=0.4} That's it, [name_hermione_genie]..." + gen "Be a good little cockslut for your headmaster..." + show her_forest bj h16 as cg + her "*Slurp*{heart}*Slurp*{heart}*Glck*" #Myrtle fade in - $ dynamic_cg("herm_forest", "base", "m2", "16", "overlay") - gen "And for Casper the slutty ghost here..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "43", "overlay") - her "*slurp*!!!*slurp*!!!*glck*" + show her_forest bj h16 m2 as cg + gen "And for Casper, the slutty ghost here..." + show her_forest bj h43 m2 as cg + her "*Slurp*!!!*Slurp*!!!*Glck*!!!" menu: - "Once again, Hermione tries to pull herself of your cock..." + nar "Hermione, once again, tries to pull her mouth off your cock..." "-Let her-": - ">Reluctantly, you allow the girl to pull herself of your throbbing member..." - $ dynamic_cg("herm_forest", "base", "m2", "10", "overlay") - her "Myrtle! What are you doing here again?" + nar "Reluctantly, you allow the girl to pull herself off your throbbing member..." + show her_forest bj h10 m2 as cg + her "Myrtle! Why are you always showing up like this?" myr "Aren't I allowed a bit of fun in my afterlife?" myr "It's not like I ever got any when I was alive..." - $ dynamic_cg("herm_forest", "base", "m2", "6", "overlay") - her "Oh alright then..." - $ dynamic_cg("herm_forest", "base", "m2", "10", "overlay") - her "Just don't go blabbing to everyone in the girls' bathroom, OK?" - myr "Deal..." - gen "Good... Now why don't you just sit back and enjoy the show then..." ("base", xpos="far_left", ypos="head") + show her_forest bj h6 m2 as cg + her "Oh, alright then..." + show her_forest bj h10 m2 as cg + her "Just don't go blabbing to everyone in the girls' bathroom, okay?" + myr "Deal." + gen "Good..." "-Face fuck her-": pass - $ dynamic_cg("herm_forest", "base", "m2", "28", "overlay") - ">You place your hand on the back of Hermione's head and pull her hard into your waiting cock, impaling the poor girls throat..." - $ dynamic_cg("herm_forest", "base", "m2", "29", "overlay") + show her_forest bj h28 m2 as cg + nar "You place your hand on the back of Hermione's head, and pull it hard onto your waiting cock, impaling the poor girl's throat..." + show her_forest bj h29 m2 as cg her "{size=+10}!!!{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "30", "overlay") - gen "Ugh... fuck yes..." ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "31", "overlay") + show her_forest bj h30 m2 as cg + gen "*Ugh*...{w=0.4} Fuck yes..." + show her_forest bj h31 m2 as cg her "{size=+5}*Gobble-gobble-slurp-gobble!* !!!{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "30", "overlay") - gen "{size=+5}Yes! Yes! Yes! Yes!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "31", "overlay") - myr "Wow... you're so rough on her..." - $ dynamic_cg("herm_forest", "base", "m2", "32", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "33", "overlay") - gen "Ugh... don't worry... she loves it..." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "32", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "33", "overlay") - gen "She's probably wetter than the nile down there..." ("grin", xpos="far_left", ypos="head") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "32", "overlay") + show her_forest bj h30 m2 as cg + gen "{size=+5}Yes! Yes! Yes! Yes!{/size}" + show her_forest bj h31 m2 as cg + myr "Wow...{w=0.4} You're so rough on her..." + show her_forest bj h32 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h33 m2 as cg + gen "*Ugh*...{w=0.4} Don't worry...{w=0.4} She loves it..." + show her_forest bj h32 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h33 m2 as cg + gen "She's probably wetter than the Nile down there..." + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h32 m2 as cg myr "You think so?" - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "33", "overlay") - gen "Go see for yourself!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "32", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "33", "overlay") + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h33 m2 as cg + gen "Go see for yourself!" + show her_forest bj h32 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h33 m2 as cg myr "..." - $ dynamic_cg("herm_forest", "base", "m2", "32", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "33", "overlay") - $ dynamic_cg("herm_forest", "base", "33", "overlay") - ">Myrtle floats down into the earth." - $ dynamic_cg("herm_forest", "base", "34", "overlay") + show her_forest bj h32 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h33 m2 as cg + nar "Myrtle floats down into the earth." + show her_forest bj h34 as cg her "{size=+10}!!!{/size}" - $ dynamic_cg("herm_forest", "base", "35", "overlay") + show her_forest bj h35 as cg myr "She's dripping!" - $ dynamic_cg("herm_forest", "base", "34", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "35", "overlay") - myr "Not to mention she isn't wearing any panties!" - $ dynamic_cg("herm_forest", "base", "34", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "35", "overlay") - gen "She stopped wearing them months ago." ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "34", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "35", "overlay") - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - myr "Hermione! You horny little slut!" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - myr "Just wait until the girls' bathrooms hear about tonight!" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - her "{size=+5}*glck*HNNOOO*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "44", "overlay") - myr "So long as you're alright with that, Sir... I don't have to mention you! It can just be Hermione!" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") + show her_forest bj h34 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h35 as cg + myr "Not to mention, she isn't wearing any panties!" + show her_forest bj h34 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h35 as cg + gen "Yes, she tends to take them off whenever she gets the chance." + show her_forest bj h34 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h35 m2 as cg + myr "Hermione! You dirty little minx!" + show her_forest bj h34 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h35 m2 as cg + myr "Just wait until everyone in the girls' bathrooms hears about this tonight!" + gen "What--" + nar "You look over at Myrtle who gives you a quick wink." + show her_forest bj h34 m2 as cg + her "{size=+5}*Glck*HNNOOO*glck*{/size}" + show her_forest bj h44 m2 as cg + myr "So long as you're alright with that, Sir...{w=0.4} I don't have to mention you! It can just be Hermione!" + show her_forest bj h34 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h35 m2 as cg menu: - "\"Go nuts\"": - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") + "\"Go nuts.\"": + show her_forest bj h34 m2 as cg myr "Really?" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}PRFFSSRR!!!{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "Oh thank you, thank you, thank you!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}PRFFSSRR!!!{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "Oh, thank you, thank you, thank you!" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg myr "This is going to be the best decade of my afterlife!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - "\"you can say it was me\"": - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + "\"You can say it was me.\"": + show her_forest bj h34 m2 as cg myr "{size=+2}{b}Really?{/b}{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}WHHTT!!!{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "Oh thank you, thank you, thank you!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}WHHTT!!!{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "Oh, thank you, thank you, thank you!" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg myr "This is going to be the best decade of my afterlife!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") + show her_forest bj h34 m2 as cg myr "I can't wait to tell everyone!!!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "I'll go to rave-NO the Slytherin bathroom first!" - $ dynamic_cg("herm_forest", "base", "m2", "44", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "Then Gryffindor!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "Ravenclaw!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "Hufflepuff!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "The prefects' bathroom!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "Then the teachers!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - her "{size=+5}*glck*{heart}*glck*{heart}*glck*{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - myr "Then Hogsmeade!" - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "I'll go to rave--{w=0.2} No... The Slytherin bathroom first!" + show her_forest bj h44 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "Then Gryffindor's!" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "Then Ravenclaw's!" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "Can't forget Hufflepuff!" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "Or the prefects' bathroom!" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "Then there's the teachers'!" + show her_forest bj h35 m2 as cg + her "{size=+5}*Glck*{heart}*Glck*{heart}*Glck*{/size}" + show her_forest bj h34 m2 as cg + myr "And Hogsmeade!" + show her_forest bj h35 m2 as cg myr "{size=+2}THEN{/size} {size=+2}THE{/size} {size=+2}WHOLE{/size} {size=+2}WORLD!!!{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - gen "*ARGH*, HERE IT COMES SLUTS!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "35", "overlay") - gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "34", "overlay") - gen "{size=+7}Eat my cum, slut!{/size}" ("angry", xpos="far_left", ypos="head") + show her_forest bj h34 m2 as cg + gen "*ARGH*, HERE IT COMES, SLUTS!" + show her_forest bj h35 m2 as cg + gen "{size=+7}*ARGH*!{/size}" + show her_forest bj h34 m2 as cg + gen "{size=+7}Eat my cum, [name_hermione_genie]!{/size}" show screen blkfade with d3 - $ dynamic_cg("herm_forest", "base", "34", "overlay") - ">At the edge of your orgasm, Hermione forcefully pushes herself off your dick and wraps your cock in her hands and hair." - $ dynamic_cg("herm_forest", "base", "m2", "45", "overlay") + show her_forest bj h34 as cg + nar "At the edge of your orgasm, Hermione forcefully pushes herself off your dick, then rips her top and skirt off in one swoop, before wrapping her hair around your cock." + show her_forest bj h45 m2 as cg hide screen blkfade with d3 - her "{size=+5} That's it, Professor, Cum for me! Cover me in front of Myrtle!{/size}" + her "{size=+5}That's it, [name_genie_hermione]! Cum for me! Cover me, in front of Myrtle!{/size}" with hpunch - gen "{size=+5}What the hell is this?!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "46", "overlay") - her "{size=+5}Cum on sir! Aren't I your dirty little cumslut?{/size}" - gen "*Argh*! You cum obsessed whore!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "45", "overlay") + gen "{size=+5}What the hell is this?!{/size}" + show her_forest bj h46 m2 as cg + her "{size=+5}Go on [name_genie_hermione]! Didn't you call me a dirty little cumslut?{/size}" + gen "*Argh*! You cum obsessed whore!" + show her_forest bj h45 m2 as cg her "{size=+5}Yes I am!{/size}" - her "{size=+5}Nothing but your cum hungry little slut, sir!{/size}" - $ dynamic_cg("herm_forest", "base", "m2", "47", "overlay") - her "{size=+5}Now why don't you show Myrtle here what a real load looks like!{/size}" + her "{size=+5}Nothing but your cum hungry little slut, [name_genie_hermione]!{/size}" + show her_forest bj h47 m2 as cg + her "{size=+5}Now, show Myrtle what a real load looks like!{/size}" with hpunch - gen "{size=+7}*Argh*!!!{/size}" ("angry", xpos="far_left", ypos="head") - gen "{size=+7}Take this, then!!!{/size}" ("angry", xpos="far_left", ypos="head") + gen "{size=+7}*Argh*!!!{/size}" + gen "{size=+7}Take this!!!{/size}" show screen white pause .1 hide screen white with hpunch - $ dynamic_cg("herm_forest", "base", "m2", "48", "overlay") - her "{size=+5}*Ah*! Yes, sir! Yes! cum all over me!{/size}" + show her_forest bj h48 m2 as cg + her "{size=+5}*Ah*! Yes, [name_genie_hermione]! Yes! Cum all over me!{/size}" show screen white pause.1 hide screen white - $ dynamic_cg("herm_forest", "base", "m2", "49", "overlay") + show her_forest bj h49 m2 as cg pause.2 show screen white pause .1 hide screen white with hpunch - gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") - gen "{size=+7}*Argh*!!! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("herm_forest", "base", "m2", "50", "overlay") + gen "{size=+7}*ARGH*!{/size}" + gen "{size=+7}*Argh*!!! YES!!!{/size}" + show her_forest bj h50 m2 as cg her "{heart}{heart}{heart}{heart}" show screen blkfade with d3 #Genie and Hermione back in the forest... - $ dynamic_cg("herm_forest", "base") + $ hermione.set_cum(hair="heavy") + $ hermione.strip("clothes") + show her_forest bj none as cg - her "Wait, where's Myrtle?" ("angry", "narrow", "worried", "mid_soft") - gen "Oh, she left as soon as I gave her the OK to blab on about you." ("base", xpos="far_left", ypos="head") - her "WHAT?" ("scream", "wide", "base", "stare") - her "you mean she didn't see any of..." ("upset", "narrow", "annoyed", "mid") - her "(I got my hair all sticky for nothing...)" ("upset", "narrow", "worried", "down") - gen "So are you going to clean yourself up and get dressed?" ("base", xpos="far_left", ypos="head") - her "I'll get dressed..." ("soft", "base", "base", "R") - her "but If it's all the same to you, I might leave the cum on..." ("base", "narrow", "base", "dead") - gen "Good girl..." ("base", xpos="far_left", ypos="head") - show screen blkfade - hide screen dynamic_cg + hide screen blkfade with d3 - ">You and Hermione walk back to the castle together, Hermione complaining about how rude Myrtle was for missing the cum shot the whole way..." + her "Wow, that was--" ("angry", "narrow", "worried", "down") + her "Hold on...{w=0.4} Where's Myrtle?" ("angry", "narrow", "worried", "mid_soft") + gen "Oh, she probably left to do that gossiping you were so worried about." ("base", xpos="far_left", ypos="base") + show genie zorder 16 with None + her "So you're telling me I got my hair all sticky for--" ("upset", "closed", "annoyed", "mid_soft") + her "{size=+4}Wait, what did you say?!{/size}" ("scream", "wide", "base", "stare") + gen "Yeah, didn't she say something about visiting the girls' bathrooms--" ("base", xpos="far_left", ypos="base") + her "She can't do that! I'll have to stop her!" ("angry", "wide", "annoyed", "stare") + play sound "sounds/giggle2_loud.ogg" + myr "*Giggles*" + gen "*Heh*-*Heh*!" ("grin", xpos="far_left", ypos="base") + her "Oh...{w=0.4} So, she was just making a fool out of me..." ("soft", "narrow", "angry", "down") + gen "I mean, it's not that difficult, seeing that you're standing naked in a forest, with your hair drenched in semen." ("base", xpos="far_left", ypos="base") + her "*Hmm*...{w=0.4} Yes, I should probably get dressed..." ("soft", "base", "base", "down") + gen "Go ahead...{w=0.4} But leave the semen in your hair, would you?" ("base", xpos="far_left", ypos="base") + her "But, what if someone--" ("angry", "wide", "base", "stare") + gen "*Hmm*?" ("base", xpos="far_left", ypos="base") + her "Of course, [name_genie_hermione]..." ("soft", "narrow", "base", "down") + play sound "sounds/giggle2_loud.ogg" + myr "*Giggles*" + gen "Good girl..." ("base", xpos="far_left", ypos="base") + + show screen blkfade + hide cg + with d3 + + nar "After Hermione gets dressed, you both head back to the castle together. Along the way, she complains about how sticky her hair feels." return diff --git a/game/scripts/characters/hermione/events/shaming/hg_ps_HiddenBlowjob_INCOMPLETE.txt b/game/scripts/characters/hermione/events/hg_ps_HiddenBlowjob_INCOMPLETE.txt similarity index 100% rename from game/scripts/characters/hermione/events/shaming/hg_ps_HiddenBlowjob_INCOMPLETE.txt rename to game/scripts/characters/hermione/events/hg_ps_HiddenBlowjob_INCOMPLETE.txt diff --git a/game/scripts/characters/hermione/events/shaming/hg_ps_WalkOfShame_INCOMPLETE.txt b/game/scripts/characters/hermione/events/hg_ps_WalkOfShame_INCOMPLETE.txt similarity index 100% rename from game/scripts/characters/hermione/events/shaming/hg_ps_WalkOfShame_INCOMPLETE.txt rename to game/scripts/characters/hermione/events/hg_ps_WalkOfShame_INCOMPLETE.txt diff --git a/game/scripts/characters/hermione/events/intro.rpy b/game/scripts/characters/hermione/events/intro.rpy index 1c4751f7..ae22ed39 100644 --- a/game/scripts/characters/hermione/events/intro.rpy +++ b/game/scripts/characters/hermione/events/intro.rpy @@ -11,12 +11,12 @@ label hermione_intro_E1: # Force default outfit for first event. $ hermione.equip(her_outfit_default) - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" gen "*huh*?" ("base", xpos="far_left", ypos="head") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" pause.7 @@ -25,7 +25,7 @@ label hermione_intro_E1: gen "*Hmm*... What are the chances that the thing knocking on my door is not human?" ("base", xpos="far_left", ypos="head") gen "Yeah, quite slim..." ("base", xpos="far_left", ypos="head") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" gen "Persistent little bastard..." ("base", xpos="far_left", ypos="head") @@ -71,7 +71,7 @@ label hermione_intro_E1: call bld("hide") pause.2 - call play_sound("door") + play sound "sounds/door.ogg" call her_chibi("stand","door","base") with d3 pause.5 @@ -85,26 +85,27 @@ label hermione_intro_E1: call her_walk("desk", "base") pause.5 - show screen blkfade - with d5 $ hermione.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") $ hermione.set_pose("hold_book") - $ camera.set_imagepath("her_intro/") - $ camera.set_image("CG her_intro hermione") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-1040, -600), initialize=True) - hide screen blkfade - show screen animatedCG - with d5 + show CG her_intro hermione as cg zorder 17: + align (0.5, 0.5) + pos (-520, -300) + with fade + + show CG her_intro hermione as cg zorder 17: + align (0.5, 0.5) + pos (-520, -300) + easein 5.0 pos (-520, -70) + pause 5.0 - $ camera.set(zoom=1.0, pos=(-1040, -35), t=5.0, pause=True) her "Good morning, professor." gen "(Oh my...)" - $ camera.set(zoom=0.5, pos=(-270, -150), t=5.0) + show CG her_intro hermione as cg zorder 17: + zoom 1.0 + align (0.5, 0.5) + pos (-520, -70) + easein_quad 3.0 align (0.0, 0.0) pos (0, 0) zoom 0.5 menu: "\"Good morning, Hermione.\"" if d_flag_01: @@ -118,33 +119,33 @@ label hermione_intro_E1: gen "Why, of course, I'm a human after all!" her "..." ("normal", "base", "low", "mid") her "Are you sure, professor? I can call for madam Pomfrey to examine you..." ("open", "base", "worried", "mid") - $ renpy.sound.play("sounds/punch01.ogg") + play sound "sounds/punch01.ogg" with hpunch gen "{size=+4}NO!{/size}" pause 1.0 - gen "Err...{w=0.5} I mean, no thank you dear child, it won't be necessary." + gen "*Err*...{w=0.5} I mean... No, thank you, dear child, it won't be necessary." her "If you say so, professor..." ("annoyed", "base", "worried", "L") - her "*clears throat*" ("normal", "closed", "base", "mid") + her "*Clears throat*" ("normal", "closed", "base", "mid") "\"................................\"": her "..........." ("normal", "base", "base", "mid") gen "................................." - her ".....*ahem*......" ("open", "closed", "angry", "mid") + her "..... *Ahem*......" ("open", "closed", "angry", "mid") - $ camera.set(zoom=0.5, pos=(-270, -150)) - - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "I am very busy with my class schedule, but I kept my morning free today so that I could see you, professor." ("open", "base", "base", "mid") gen "Right..." her "One moment, professor..." ("open", "narrow", "base", "down") - $ camera.set_image("CG her_intro hermione bendover") + show CG her_intro hermione bendover as cg zorder 17 with d5 - call nar(">Hermione turns around and puts her book down.") + + nar "Hermione turns around and puts her book down." gen "!!!" + $ hermione.set_pose(None) - $ camera.set_image("CG her_intro hermione") + show CG her_intro hermione as cg zorder 17 with d5 her "That's better... My arms were getting sore." ("open", "closed", "base", "mid") @@ -163,14 +164,14 @@ label hermione_intro_E1: pause.5 show screen bld1 - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." - $ her_jerk_off_counter += 1 - $ jerked_off_during_hermione_intro = True #Affects next conversation with Snape. - $ genie_masturbating = True + $ states.gen.stats.masturbated_to_hermione += 1 + $ states.her.ev.intro.masturbated = True #Affects next conversation with Snape. + $ states.gen.masturbating = True - "\"(No, that's stupid! I Need to behave!)\"": - $ genie_masturbating = False + "\"(No, that's stupid! I need to behave!)\"": + $ states.gen.masturbating = False her "You probably know why I am here too." her "The issue I have been fruitlessly trying to bring to your attention lately." ("open", "closed", "angry", "mid") @@ -184,23 +185,23 @@ label hermione_intro_E1: gen "{size=-4}(Would you look at that pretty little thing?){/size}" gen "{size=-4}(Look at her going on and on about something... She's adorable.){/size}" gen "Yes, keep on going, dear." - her "\"Yes\"?! So you think it's fair?" ("angry", "base", "angry", "mid") + her "\"Yes\"?! So, you think it's fair?" ("angry", "base", "angry", "mid") gen "Oh, of course not, I meant \"no\". But keep on going anyway..." her "That's a relief. I'm glad that you agree with me, professor..." ("soft", "closed", "base", "mid") - her "As I was saying, the whole issue is simply ridiculous and I cannot believe that it is taking place in our day and age!" ("open", "closed", "angry", "mid") + her "As I was saying, the whole issue is simply ridiculous, and I cannot believe that it is taking place in our day and age!" ("open", "closed", "angry", "mid") - if genie_masturbating: - call nar("*Fap-fap-fap*","start") - call nar(">You keep on stroking your cock...","end") + if states.gen.masturbating: + nar "*Fap-fap-fap*" + nar "You keep on stroking your cock..." else: gen "I see..." - her "I mean, I would understand if something like this were to occur during the middle ages..." - her "But we left the middle ages behind a long time ago, did we not?" + her "I mean, I would understand if something like this were to occur during the Middle Ages..." + her "But we left the Middle Ages behind a long time ago, did we not?" - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Would you look at those rosy cheeks? I want to poke 'em with my cock.){/size}" - call nar(">You keep stroking your cock...") + nar "You keep stroking your cock..." else: gen "*Ehm*... I suppose you did. I mean, we did." @@ -209,7 +210,7 @@ label hermione_intro_E1: her "It hurts our entire educational system as well..." her "And more importantly, the motivation among students is steadily decreasing due to it!" - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Look at those huge knockers on you, girl!){/size}" gen "{size=-4}(Yes... I want to squeeze my dick between them...){/size}" @@ -218,19 +219,19 @@ label hermione_intro_E1: her "As the president of our school's Student Representative Body..." her "I have a few suggestions on how to do that more efficiently." - if not genie_masturbating: + if not states.gen.masturbating: gen ".............." her "First of all, the house point system needs to be maintained!" her "You need to control the point distribution better, sir." ("open", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes, you are a whore... A nasty little whore... I bet you love to suck cocks... Don't you? Yes, I bet you do...){/size}" - call nar(">You stroke your rock-hard cock ferociously!") + nar "You stroke your rock-hard cock ferociously!" her "Of course you agree with me on this, professor, do you not?" - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}*Panting heavily*{/size}" her "Professor...?" ("normal", "squint", "angry", "mid") gen "{size=-4}(Crap. What does she want now?){/size}" @@ -241,7 +242,7 @@ label hermione_intro_E1: menu: "\"(Yes, time to actually listen to her.)\"": - $ genie_masturbating = False + $ states.gen.masturbating = False call hide_characters hide screen bld1 @@ -254,7 +255,7 @@ label hermione_intro_E1: "\"(No! I want to keep on jerking off!)\"": gen "Yes, yes! *pants*" - if not genie_masturbating: + if not states.gen.masturbating: gen "{size=-4}(Do I? I honestly don't give a damn...){/size}" gen "*Err*... I suppose I do..." her "{size=-4}(\"Suppose\"?){/size}" ("annoyed", "base", "base", "mid") @@ -264,7 +265,7 @@ label hermione_intro_E1: her "Especially the teachers..." her "I hope I'm not stepping out of line here, sir, but some of the teachers really do require supervision..." ("normal", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(Yes! You little whore! You little fucking whore!) *Panting*{/size}" else: gen "......................." @@ -272,28 +273,28 @@ label hermione_intro_E1: her "I understand that you may not have time for this, professor. After all, you are the headmaster of our school, and a very busy man." ("open", "closed", "angry", "mid") her "Being a top student is hard on me as well, sometimes..." - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(She said \"hard-on\"!) *Panting*{/size}" her "But you could delegate that task to me--" - $ camera.set_image("CG her_intro hermione bendover") + show CG her_intro hermione bendover as cg zorder 17 with d5 - call nar("> Hermione bends down again to pick up her book.") + nar "Hermione bends down again to pick up her book." her "--Just put your faith in me, professor." $ hermione.set_pose("hold_book") - $ camera.set_image("CG her_intro hermione") + show CG her_intro hermione as cg zorder 17 with d5 - if genie_masturbating: + if states.gen.masturbating: her "Yes, you can do it! Just put it in me, sir!" ("base", "closed", "base", "mid") stop music fadeout 1.0 gen "{size=-4}(Oh crap, that did it!) *Argh*!{/size}" - hide screen animatedCG + hide cg hide hermione_main hide screen bld1 with fade @@ -320,22 +321,22 @@ label hermione_intro_E1: else: gen "Alright... I will think about your proposal, I promise." - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "Really?" ("normal", "squint", "angry", "mid") her "*Hmm*..........." - her "That's a relief! Thank you, professor." ("open", "closed", "angry", "mid") + her "That's a relief! Thank you, professor." ("open", "closed", "angry", "mid", xpos="mid") - if not genie_masturbating: - hide screen animatedCG + if not states.gen.masturbating: + hide cg with fade - if genie_masturbating: + if states.gen.masturbating: gen "No, no, thank you..." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("normal", "squint", "angry", "mid") - her "My classes are about to start, so I'd better go now." ("open", "closed", "angry", "mid", xpos="mid") + her "My classes are about to start, so I'd better go now." ("open", "closed", "angry", "mid") her "Thank you for your time..." ("base", "base", "base", "mid") her "Have a good day, professor." ("base", "base", "base", "mid") @@ -343,7 +344,7 @@ label hermione_intro_E1: $ hermione.set_pose(None) - if genie_masturbating: + if states.gen.masturbating: gen "{size=-4}(This was awesome...) *Panting*{/size}" ("base", xpos="far_left", ypos="head") gen "{size=-4}(My trousers are ruined though...){/size}" ("base", xpos="far_left", ypos="head") else: @@ -353,8 +354,8 @@ label hermione_intro_E1: call gen_chibi("sit_behind_desk") with d3 - $ snape_busy = True # No point in calling him during the day. - $ hermione_intro.E1_complete = True + $ states.sna.busy = True # No point in calling him during the day. + $ states.her.ev.intro.e1_complete = True jump end_hermione_event @@ -404,7 +405,7 @@ label ss_he_hermione_E1: "\"Well... I've read the books...\"": sna "What? What books?" ("snape_34") gen "Nah, never mind. I'm a genie, remember? I know things..." ("base", xpos="far_left", ypos="head") - sna "*Hmm*... And yet you need me to teach you stuff..." ("snape_37") + sna "*Hmm*... And yet, you need me to teach you stuff..." ("snape_37") gen "Well, I told you. My magic is acting up in your world..." ("base", xpos="far_left", ypos="head") sna "Sure, sure..." ("snape_37") gen "......" ("base", xpos="far_left", ypos="head") @@ -417,12 +418,12 @@ label ss_he_hermione_E1: gen "The Hermione girl..." ("base", xpos="far_left", ypos="head") sna "What?!" ("snape_01") sna "I thought we agreed on the \"no human contact\" rule." ("snape_31") - sna "(Even though lately I've been wondering whether or not she is human at all...)" ("snape_35") + sna "(Even though lately, I've been wondering whether or not she is human at all...)" ("snape_35") gen "I know... She kinda forced her way in..." ("base", xpos="far_left", ypos="head") sna "I imagine she did..." ("snape_01") sna "What did she want?" ("snape_01") - if jerked_off_during_hermione_intro: + if states.her.ev.intro.masturbated: gen "I'm not sure..." ("base", xpos="far_left", ypos="head") sna "...?" ("snape_39") gen "I was jerking off the entire time she was talking..." ("base", xpos="far_left", ypos="head") @@ -431,7 +432,7 @@ label ss_he_hermione_E1: gen "Hey, don't judge me!" ("base", xpos="far_left", ypos="head") gen "You don't know what it's like to be cooped up in this tower like a prisoner!" ("base", xpos="far_left", ypos="head") sna "You... y-you..." ("snape_12") - sna "*snickers*......" ("snape_13") + sna "*Snickers*......" ("snape_13") sna "*Ha*... *ha-ha*... *HA-HA-HA*!!!" ("snape_28") gen "Wha--? What did I say?" ("base", xpos="far_left", ypos="head") sna "*Ha-ha-ha*! You are amazing!" ("snape_42") @@ -442,7 +443,7 @@ label ss_he_hermione_E1: else: gen "Not sure... She was talking a lot..." ("base", xpos="far_left", ypos="head") gen "Something about some {i}grief-n-door{/i} points... and..." ("base", xpos="far_left", ypos="head") - gen "Er... I wasn't paying attention to be honest..." ("base", xpos="far_left", ypos="head") + gen "*Err*... I wasn't paying attention, to be honest..." ("base", xpos="far_left", ypos="head") sna "Nah... Probably another load of self-righteous crap..." ("snape_01") sna "She is famous for that..." ("snape_35") @@ -452,19 +453,19 @@ label ss_he_hermione_E1: sna "Next time..." ("snape_38") gen "Alright..." ("base", xpos="far_left", ypos="head") - "> Your meeting comes to an end, and you decide to go to sleep." + nar "Your meeting comes to an end, and you decide to go to sleep." - $ ss_he.hermione_E1 = True + $ states.sna.ev.hangouts.hermione_e1 = True jump end_snape_hangout_points ### Event 2 ### # Second visit from Hermione. Says she sent a letter to the Minestry. -# Takes place after first special event with Snape, where he just complains about Hermione. +# Takes place after the first special event with Snape, where he just complains about Hermione. label hermione_intro_E2: stop music fadeout 3.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock!*" menu: @@ -476,7 +477,7 @@ label hermione_intro_E2: gen "..." ("base", xpos="far_left", ypos="head") "\"Absolutely not! I'm busy! Come back later!\"": her "But..." - her "Alright... I will come back tomorrow then..." + her "Alright... I will come back tomorrow, then..." $ achievements.unlock("knock") $ hg_event_pause += 1 @@ -499,7 +500,7 @@ label hermione_intro_E2: pass "\"...................................\"": - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*!" gen "............................." ("base", xpos="far_left", ypos="head") her "Professor, I'm coming in..." @@ -509,7 +510,7 @@ label hermione_intro_E2: call her_walk(action="enter", xpos="mid", ypos="base") pause.5 - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "" ("normal", "base", "base", "mid", xpos="base", ypos="base") call ctc @@ -524,7 +525,7 @@ label hermione_intro_E2: gen "...................." ("base", xpos="far_left", ypos="head") her "................" ("annoyed", "squint", "angry", "mid") "\"Good morning, miss Granger.\"": - her "*Ehm*... so, about the reason of me being here today then..." + her "*Ehm*... So, about the reason for me being here today then..." "\"Yeah, yeah, whatever...\"": her "................" ("annoyed", "squint", "angry", "mid") @@ -540,7 +541,7 @@ label hermione_intro_E2: gen "Blame everything on--" ("angry", xpos="far_left", ypos="head") stop music fadeout 1.0 gen "Wait, did you say {size=+5}MEN'S{/size} rights movement?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "You have no idea how hard it is to be a boy in our school these days..." ("open", "base", "worried", "mid") menu: "\"Didn't see this one coming...\"": @@ -552,7 +553,7 @@ label hermione_intro_E2: her "Did you know that some of the girls in this school are now selling favours for house points...?" ("annoyed", "squint", "angry", "mid") her "Sometimes even for good grades..." gen "Really?" ("base", xpos="far_left", ypos="head") - her "Nobody from the Gryffindor house of course..." ("open", "closed", "angry", "mid") + her "Nobody from the Gryffindor house, of course..." ("open", "closed", "angry", "mid") her "And that's what puts us at a disadvantage -- our integrity!" her "As for the boys -- they have to work ten times harder than the girls simply to pass a test..." her "Or, if they are lucky enough, to get one meagre house point..." @@ -586,8 +587,8 @@ label hermione_intro_E2: call bld gen "...................." ("base", xpos="far_left", ypos="head") - $ snape_busy = True # No point in calling him during the day. - $ hermione_intro.E2_complete = True + $ states.sna.busy = True # No point in calling him during the day. + $ states.her.ev.intro.e2_complete = True jump end_hermione_event @@ -599,7 +600,7 @@ label ss_he_hermione_E2: call bld gen "......................." ("base", xpos="far_left", ypos="head") gen "Hermione Granger came by again..." ("base", xpos="far_left", ypos="head") - sna "Don't mention the witch's name when I'm off duty..." ("snape_01", ypos="head") + sna "Don't mention the witch's name when I'm off-duty..." ("snape_01", ypos="head") sna "..............." ("snape_31") sna "Dammit! I am a grown man, Albus!" ("snape_08") gen "My name is not--" ("base", xpos="far_left", ypos="head") @@ -626,7 +627,7 @@ label ss_he_hermione_E2: gen "Genies can't kill..." ("base", xpos="far_left", ypos="head") sna "Rats!" ("snape_35") gen "And we frown upon murderers..." ("base", xpos="far_left", ypos="head") - if jerked_off_during_hermione_intro: + if states.her.ev.intro.masturbated: sna "Really? I thought you didn't give a fuck..." ("snape_44") gen "to a certain degree..." ("base", xpos="far_left", ypos="head") gen "I don't mind swinging my \"sword\" in front of the girl--" ("base", xpos="far_left", ypos="head") @@ -635,18 +636,18 @@ label ss_he_hermione_E2: sna "Well... don't mind me then..." ("snape_31") sna "I'm all talk..." ("snape_31") sna "I would never cause harm to one of my students..." ("snape_31") - sna "(... permanently that is.)" ("snape_08") + sna "(... permanently, that is.)" ("snape_08") gen "Listen, if she bugs you so much, why not just find a less radical way to deal with her?" ("base", xpos="far_left", ypos="head") sna "Nah... Flogging has been outlawed for years now..." ("snape_35") gen "That's not what I mean..." ("base", xpos="far_left", ypos="head") - sna "*huh*?" ("snape_01") + sna "*Huh*?" ("snape_01") gen "She is a top student, right?" ("base", xpos="far_left", ypos="head") sna "Yes, damn her. The girl is a hard worker, I will give her that." ("snape_31") gen "She also has a reputation for being self-righteous." ("base", xpos="far_left", ypos="head") sna "Oh, yes!" ("snape_34") gen "And she thinks that she is better than everyone else..." ("base", xpos="far_left", ypos="head") sna "Where are you going with this?" ("snape_44") - gen "Well, it seems like all of her power comes from her reputation..." ("base", xpos="far_left", ypos="head") + gen "Well, it seems like all of her power comes from her reputation and good grades..." ("base", xpos="far_left", ypos="head") sna "......................?" ("snape_39") gen "What if we take that away from her?" ("base", xpos="far_left", ypos="head") sna "That would shut her up I suppose..." ("snape_38") @@ -656,6 +657,8 @@ label ss_he_hermione_E2: sna "She is always way ahead of schedule..." ("snape_31") sna "Damn, how I hate it when she corrects me during my classes..." ("snape_08") sna "And thanks to her the Gryffindor house is way ahead of everybody else now..." ("snape_34") + sna "It's only a matter of time before they win the house cup..." ("snape_34") + gen "(Students fighting for imaginary points... That sure seems like a normal school.)" ("base", xpos="far_left", ypos="head") sna "Even Slytherin is no match for them this year..." ("snape_35") sna "........................" ("snape_43") sna "Dammit... I need more wine..." ("snape_34") @@ -679,7 +682,7 @@ label ss_he_hermione_E2: gen "Exactly!" ("base", xpos="far_left", ypos="head") sna "You're right! I can grade her tests unfairly! I could even persuade other teachers to do the same!" ("snape_02") sna "I could say that the order comes from you..." ("snape_02") - sna "And when the real Dumbledore shows up I will pretend that I had no idea that he was away..." ("snape_45") + sna "And when the real Dumbledore shows up, I will pretend that I had no idea that he was away..." ("snape_45") gen "Works for me." ("base", xpos="far_left", ypos="head") sna "*Err*..." ("snape_38") sna "This is still you, genie, right?" ("snape_38") @@ -731,9 +734,9 @@ label ss_he_hermione_E2: sna "Yes..." ("snape_35") sna "Now, pour me some more wine." ("snape_34") - ">You spend the rest of the evening in Snape's company drinking your worries away." + nar "You spend the rest of the evening in Snape's company drinking your worries away." - $ ss_he.hermione_E2 = True + $ states.sna.ev.hangouts.hermione_e2 = True $ ss_event_pause += 1 $ chair_OBJ.hidden = False @@ -745,7 +748,7 @@ label ss_he_hermione_E2: label hermione_intro_E3: stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*!" her "Professor, I'm coming in!" @@ -754,7 +757,7 @@ label hermione_intro_E3: call her_walk(action="enter", xpos="mid", ypos="base") pause.5 - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "" ("annoyed", "squint", "angry", "mid", xpos="base", ypos="base") call ctc @@ -802,13 +805,13 @@ label hermione_intro_E3: menu: "\"You should study more, girl!\"": - her "But I studied all night for this test!" ("upset", "base", "base", "mid", tears="soft") + her @ tears soft "But I studied all night for this test!" ("upset", "base", "base", "mid") "\"There, there... It'll be alright.\"": - her "No it won't! This is a catastrophe!" ("mad", "happyCl", "worried", "mid", tears="soft_blink") + her @ tears soft_blink "No it won't! This is a catastrophe!" ("mad", "happyCl", "worried", "mid") - her "And the worst part is that I think I might be the only one who failed..." ("angry", "base", "base", "mid", tears="soft") - her "How will this make me look?" ("angry", "base", "base", "mid", tears="soft") - her "I will know for sure when we get the results though..." ("normal", "base", "base", "R", tears="soft") + her @ tears soft "And the worst part is that I think I might be the only one who failed... Well... {i}Almost failed{/i}." ("angry", "base", "base", "mid") + her @ tears soft "How will this make me look?" ("angry", "base", "base", "mid") + her @ tears soft "I will know for sure when we get the results though..." ("normal", "base", "base", "R") her "Yes, I'm sure everyone else failed as well..." ("soft", "base", "base", "R") her "I mean, they must have, right?" ("open", "base", "worried", "mid") her "....................." ("soft", "base", "base", "R") @@ -818,12 +821,12 @@ label hermione_intro_E3: label .choices: menu: - "{size=-3}\"Of course. You are a top student after all.\"{/size}": + "{size=-3}\"Of course. You are a top student, after all.\"{/size}": her "Exactly..." ("annoyed", "squint", "angry", "mid") her "Or at least I used to be until today..." - her "I cannot believe this is happening!" ("mad", "happyCl", "worried", "mid", tears="soft_blink") + her @ tears soft_blink "I cannot believe this is happening!" ("mad", "happyCl", "worried", "mid") "{size=-3}\"You could prepare better if I were to tutor you.\"{/size}": - $ tutoring_offer_made = True + $ states.her.ev.tutoring.offered = True her "*Hmm*..." ("annoyed", "squint", "base", "mid") her "Yes, that could help I suppose..." ("soft", "base", "base", "R") her "I appreciate your offer, professor, but..." ("open", "base", "base", "mid") @@ -855,9 +858,9 @@ label hermione_intro_E3: call her_walk(action="leave") - $ snape_busy = False + $ states.sna.busy = False $ hg_event_pause += 1 - $ hermione_intro.E3_complete = True + $ states.her.ev.intro.e3_complete = True jump end_hermione_event @@ -888,21 +891,21 @@ label hermione_intro_E4: her "..............................." gen "Miss Granger?!!" ("base", xpos="far_left", ypos="head") - her "" ("upset", "narrow", "base", "stare", tears="mascara", xpos="right", ypos="base") + her @ tears mascara "" ("upset", "narrow", "base", "stare", xpos="right", ypos="base") call ctc - her "*huh*?" ("upset", "narrow", "base", "mid", tears="mascara") - her "Oh, I'm already here?" ("upset", "narrow", "base", "L", tears="mascara") - her "I'm sorry, sir... I..." ("upset", "narrow", "base", "down", tears="mascara") - her ".................." ("angry", "narrow", "base", "down", tears="mascara") - her "It seems that I did..." ("angry", "happyCl", "base", "dead", tears="mascara") - her "I did... *Ehm*..." ("normal", "happyCl", "base", "dead", tears="mascara") - her "... I failed that test after all." ("open", "happyCl", "base", "dead", tears="mascara") - her "On top of that I... caused my house to lose a lot of points..." ("disgust", "narrow", "base", "down", tears="mascara") - her "I'm sorry, professor..." ("upset", "happyCl", "worried", "mid", tears="mascara_soft_blink") - her "I'm not sure why I'm here..." ("upset", "happyCl", "worried", "mid", tears="tears_mascara_crying_blink") - her "I think I'd better go..." ("angry", "happyCl", "worried", "mid", tears="mascara_soft_blink") - her "..................." ("angry", "happyCl", "worried", "mid", tears="tears_mascara_crying_blink") + her @ tears mascara "*Huh*?" ("upset", "narrow", "base", "mid") + her @ tears mascara "Oh, I'm already here?" ("upset", "narrow", "base", "L") + her @ tears mascara "I'm sorry, sir... I..." ("upset", "narrow", "base", "down") + her @ tears mascara ".................." ("angry", "narrow", "base", "down") + her @ tears mascara "It seems that I did..." ("angry", "happyCl", "base", "dead") + her @ tears mascara "I did... *Ehm*..." ("normal", "happyCl", "base", "dead") + her @ tears mascara "... I failed that test after all." ("open", "happyCl", "base", "dead") + her @ tears mascara "On top of that I... caused my house to lose a lot of points..." ("disgust", "narrow", "base", "down") + her @ tears mascara_soft_blink "I'm sorry, professor..." ("upset", "happyCl", "worried", "mid") + her @ tears tears_mascara_crying_blink "I'm not sure why I'm here..." ("upset", "happyCl", "worried", "mid") + her @ tears mascara_soft_blink "I think I'd better go..." ("angry", "happyCl", "worried", "mid") + her @ tears tears_mascara_crying_blink "..................." ("angry", "happyCl", "worried", "mid") call her_walk(action="run", xpos="door", speed=2, reduce=True) call her_chibi("leave") @@ -912,7 +915,7 @@ label hermione_intro_E4: gen "She will be alright..." ("base", xpos="far_left", ypos="head") gen "I think..." ("base", xpos="far_left", ypos="head") - $ hermione_intro.E4_complete = True + $ states.her.ev.intro.e4_complete = True jump end_hermione_event @@ -926,7 +929,7 @@ label hermione_intro_E5: call her_walk(action="enter", xpos="desk", ypos="base") - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "Good morning, Professor." ("base", "base", "base", "mid", xpos="right", ypos="base", trans=d3) gen "(So She doesn't even bother to knock anymore?)" ("base", xpos="far_left", ypos="head") gen "How can I help you today, miss Granger?" ("base", xpos="far_left", ypos="head") @@ -942,7 +945,7 @@ label hermione_intro_E5: her "I will not take much of your time, I promise..." - if tutoring_offer_made: + if states.her.ev.tutoring.offered: her "I am here to take you up on your offer." menu: @@ -956,8 +959,8 @@ label hermione_intro_E5: her "But I require tutoring, and you are the smartest wizard I know..." ("annoyed", "base", "worried", "mid") her "Please, sir. I really need your help." ("angry", "base", "worried", "mid") menu: - "\"Show me your tits and it's a deal!\"": - her "m-my...?" ("shock", "wide", "base", "stare") + "\"Show me your tits, and it's a deal!\"": + her "M-my...?" ("shock", "wide", "base", "stare") her "............" ("angry", "base", "angry", "mid") her "....." with hpunch @@ -968,7 +971,7 @@ label hermione_intro_E5: gen "It was a test...{w=0.5} You passed. Good job." ("base", xpos="far_left", ypos="head") her "What...?" ("open", "base", "base", "mid") her "Oh, of course. I'm so silly sometimes. Sorry about the yelling, sir." ("grin", "happyCl", "worried", "mid", emote="sweat") - gen "My offer is still valid. If you want me to then I can tutor you." ("base", xpos="far_left", ypos="head") + gen "My offer is still valid. If you want me to, then I can tutor you." ("base", xpos="far_left", ypos="head") her ".............." ("annoyed", "base", "worried", "R") "\"Well, alright, alright...\"": pass @@ -987,7 +990,7 @@ label hermione_intro_E5: menu: "\"I suppose that is possible.\"": pass - "\"*Hmm*... I'm quite busy actually.\"": + "\"*Hmm*... I'm quite busy, actually.\"": her "Sir, please, you are the smartest wizard I know!" ("open", "base", "worried", "mid") gen "{size=-4}(You have no idea, little witch.){/size}" ("base", xpos="far_left", ypos="head") gen "Well, it could be arranged, I suppose..." ("base", xpos="far_left", ypos="head") @@ -999,9 +1002,9 @@ label hermione_intro_E5: her "But that's not all..." ("normal", "squint", "angry", "mid") her "The \"MRM\" shall investigate our education system much closer now..." her "I think some sort of foul play might be taking place..." - gen "*exagerrated gasp* No way!" ("base", xpos="far_left", ypos="head") - her "I have a list of suspects already but I will get back to you on this later..." - gen "*Ehm*... alright..." ("base", xpos="far_left", ypos="head") + gen "*Exaggerated gasp* No way!" ("base", xpos="far_left", ypos="head") + her "I have a list of suspects already, but I will get back to you on this later..." + gen "*Ehm*... Alright..." ("base", xpos="far_left", ypos="head") her "Oh, my classes are about to start. I'd better go..." ("open", "base", "worried", "R") her "Good day to you, sir." ("base", "happyCl", "base", "mid") @@ -1009,13 +1012,13 @@ label hermione_intro_E5: stop music fadeout 1.0 - $ hermione_unlocked = True + $ states.her.unlocked = True $ achievements.unlock("unlockher", True) call popup("{size=-4}You can now summon Hermione into your office.{/size}", "Character unlocked!", "interface/icons/head/hermione.webp") - $ tutoring_hermione_unlocked = True + $ states.her.ev.tutoring.unlocked = True - $ hermione_intro.E5_complete = True #Allows next event to start. + $ states.her.ev.intro.e5_complete = True #Allows next event to start. $ hg_event_pause += 2 jump end_hermione_event @@ -1026,32 +1029,31 @@ label hermione_intro_E5: label nt_he_hermione_E1: ton "So, what did Severus think about me joining you on your little scheme?" ("open", "base", "base", "mid", ypos="head", flip=False) - if not ss_he.tonks_E2: # You haven't talked to Snape yet. + if not states.sna.ev.hangouts.tonks_e2: # You haven't talked to Snape yet. gen "Oh, I haven't told him yet." ("base", xpos="far_left", ypos="head") ton "You haven't told him?" ("open", "narrow", "raised", "mid") gen "Not yet." ("base", xpos="far_left", ypos="head") ton "Why you better let him know then... I wouldn't want to step on any toes..." ("annoyed", "base", "raised", "down") # looks down - call nar(">Tonks moves her gaze towards your feet.") - ton "Unless that's something you're into..." ("horny", "narrow", "base", "mid", hair="horny") # looks at Genie - call play_sound("gulp")#Genie gulps + nar "Tonks moves her gaze towards your feet." + ton @ hair horny "Unless that's something you're into..." ("horny", "narrow", "base", "mid") # looks at Genie + play sound "sounds/gulp.ogg"#Genie gulps gen "..." ("angry", xpos="far_left", ypos="head") if game.daytime: - ">You spend the afternoon talking about how big your feet are, and its implications..." + nar "You spend the afternoon talking about how big your feet are, and its implications..." else: - ">You spend the evening talking about how big your feet are, and its implications..." + nar "You spend the evening talking about how big your feet are, and its implications..." call notes - ">You feel a faint bond forming between you two..." + nar "You feel a faint bond forming between you two..." #Event fails jump end_tonks_hangout_points - gen "Oh, he couldn't believe it." ("base", xpos="far_left", ypos="head") ton "That thrilled, was he?" ("open", "base", "raised", "mid") ton "Now that's surprising." ("annoyed", "base", "base", "R") - gen "No he literally couldn't believe it... He thought I was lying at first." ("base", xpos="far_left", ypos="head") + gen "No, he literally couldn't believe it... He thought I was lying at first." ("base", xpos="far_left", ypos="head") gen "Although after he stopped laughing like a maniac..." ("base", xpos="far_left", ypos="head") - gen "He did figure out quite quickly that the ministry probably wouldn't have sent a full fletched auror for something like this." ("base", xpos="far_left", ypos="head") + gen "He did figure out quite quickly that the ministry probably wouldn't have sent a full-fledged Auror for a minor case like this one." ("base", xpos="far_left", ypos="head") ton "Well, what can I say... I'm an open book." ("base", "happyCl", "base", "mid") ton "I'm sure you'll both find out the benefits of having me around soon enough..." ("horny", "narrow", "base", "R") gen "I'm sure..." ("base", xpos="far_left", ypos="head") @@ -1060,12 +1062,12 @@ label nt_he_hermione_E1: ton "Maybe I can be of help with her?" ("base", "base", "base", "mid") ton "I can be very convincing." ("horny", "narrow", "annoyed", "mid") gen "What are you suggesting?" ("base", xpos="far_left", ypos="head") - ton "To persuade her into having a try of it herself, for a start..." ("open", "base", "base", "R") + ton "To persuade her into giving it a try before being judgemental, for a start..." ("open", "base", "base", "R") ton "Convince her that trading favours isn't all bad." ("base", "base", "base", "mid") gen "That would indeed be very helpful. She's stubborn in that regard." ("base", xpos="far_left", ypos="head") ton "You don't have to tell me. She's been lecturing me about those \"sexual favours\" since the very day I got here..." ("upset", "base", "base", "R") ton "But I shouldn't complain about that..." ("open", "closed", "base", "mid") - ton "Hearing those naughty words spill out of her gorgeous little mouth really gets me going!" ("soft", "narrow", "base", "R", hair="horny") + ton @ hair horny "Hearing those naughty words spill out of her gorgeous little mouth really gets me going!" ("soft", "narrow", "base", "R") gen "I can imagine so." ("grin", xpos="far_left", ypos="head") ton "When she describes all the wrongdoings of those \"filthy Slytherin girls\"..." ("soft", "base", "shocked", "stare") ton "How could I possibly get tired of that!" ("crooked_smile", "narrow", "base", "stare") @@ -1076,13 +1078,14 @@ label nt_he_hermione_E1: ton "If I had known the benefits of being a teacher at Hogwarts, I would have signed up straight away!" ("horny", "base", "base", "up") if game.daytime: - ">You spend the afternoon conspiring against Hermione with Tonks..." + nar "You spend the afternoon conspiring against Hermione with Tonks..." else: - ">You spend the evening conspiring against Hermione with Tonks..." + nar "You spend the evening conspiring against Hermione with Tonks..." call notes - ">You feel a faint bond forming between you two..." + nar "You feel a faint bond forming between you two..." - $ nt_he.hermione_E1 = True + $ states.her.ev.intro.convinced = True + $ states.ton.ev.hangouts.hermione_e1 = True jump end_tonks_hangout_points @@ -1091,7 +1094,7 @@ label nt_he_hermione_E1: label hermione_intro_E6: stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock!*" menu: @@ -1126,7 +1129,7 @@ label hermione_intro_E6: pass "\"...................................\"": - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock!*" gen "............................." ("base", xpos="far_left", ypos="head") her "Professor, I'm coming in..." @@ -1134,7 +1137,7 @@ label hermione_intro_E6: call her_walk(action="enter", xpos="mid", ypos="base") - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "Good day, professor..." ("soft", "base", "base", "R", xpos="base", ypos="base", trans=d3) her "........................" @@ -1145,13 +1148,13 @@ label hermione_intro_E6: gen "What is it, miss Granger?" ("base", xpos="far_left", ypos="head") her "Well... *Ehm*." ("open", "base", "base", "mid") - if gryffindor < slytherin: + if not is_in_lead(gryffindor): her "You see... The Gryffindor house is not in the lead anymore..." ("open", "base", "worried", "R") else: her "You see... The Gryffindor house is struggling with points..." ("open", "base", "worried", "R") her "And... everyone is working so hard..." ("annoyed", "base", "worried", "R") - her "And they look up to me for help but I don't know what to do..." ("disgust", "base", "worried", "down") + her "And they look up to me for help, but I don't know what to do..." ("disgust", "base", "worried", "down") gen "............................" ("base", xpos="far_left", ypos="head") her "Professor Dumbledore..." ("open", "base", "worried", "mid") @@ -1164,13 +1167,15 @@ label hermione_intro_E6: $ renpy.music.set_pause(False, channel="music") $ renpy.music.set_volume(1.0, 1.0) + gen "(Way to go Tonks!)" ("grin", xpos="far_left", ypos="head") + menu: "\"You mean like a sexual favour?\"": her "*Ehm*... I'm not sure..." ("angry", "wink", "worried", "mid", emote="sweat") her "The kind that would gain our house additional points..." her "I could write an essay for you or..." ("open", "base", "worried", "R") her "Or maybe clean your tower...?" ("angry", "wink", "worried", "mid", emote="sweat") - gen "{size=-4}(Clean my tower? Heh... There's gotta be dirty joke in there somewhere...){/size}" ("base", xpos="far_left", ypos="head") + gen "{size=-4}(Clean my tower? Heh... There's gotta be a dirty joke in there somewhere...){/size}" ("base", xpos="far_left", ypos="head") gen "Well, alright then, I think we can figure something out." ("base", xpos="far_left", ypos="head") "\"Well, if you insist...\"": pass @@ -1223,10 +1228,10 @@ label hermione_intro_E6: her "(So little...?)" ("annoyed", "base", "worried", "down") $ current_payout = 10 "\"Twenty points.\"": - her "(Wow. That's quite a lot for such simple request...)" ("base", "base", "base", "mid") + her "(Wow. That's quite a lot for such a simple request...)" ("base", "base", "base", "mid") $ current_payout = 20 - her "Em, alright..." (xpos="mid", ypos="base", trans=fade) + her "*Ehm*, alright..." (xpos="mid", ypos="base", trans=fade) if current_favor == "show_tongue": her "M-my... tongue, sir?" ("grin", "happyCl", "worried", "mid", emote="sweat") @@ -1298,13 +1303,13 @@ label hermione_intro_E6: menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") "\"Your attire suits you, miss Granger...\"": - her "............" ("soft", "base", "base", "R",cheeks="blush") - her "Thank you, professor..." ("open", "base", "base", "R",cheeks="blush") - her "" ("base", "base", "base", "R",cheeks="blush") + her @ cheeks blush "............" ("soft", "base", "base", "R") + her @ cheeks blush "Thank you, professor..." ("open", "base", "base", "R") + her @ cheeks blush "" ("base", "base", "base", "R") "\"You have a nice body, miss Granger...\"": her "!!?" ("soft", "wide", "base", "stare") - her ".............." ("annoyed", "narrow", "angry", "R",cheeks="blush") - her "Thank you, professor..." (cheeks="blush") + her @ cheeks blush ".............." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Thank you, professor..." "\"That's enough. Here are your points...\"": jump hermione_intro_E6.end elif current_favor == "silly_face": @@ -1345,9 +1350,9 @@ label hermione_intro_E6: "\"*Ha-ha-ha*, perfect!\"": her "What?" ("open", "base", "angry", "mid") her "But that's my normal face!" ("angry", "base", "angry", "mid") - gen "*he-he-he* Don't get mad, [hermione_name], I'm just messing with you." ("grin", xpos="far_left", ypos="head") + gen "*he-he-he* Don't get mad, [name_hermione_genie], I'm just messing with you." ("grin", xpos="far_left", ypos="head") gen "Although you look cute when you're upset." ("base", xpos="far_left", ypos="head") - her "......." ("annoyed", "base", "worried", "R", cheeks="blush") + her @ cheeks blush "......." ("annoyed", "base", "worried", "R") jump hermione_intro_E6.end "\"Not stupid enough.\"": jump hermione_intro_E6.silly_face_choices @@ -1426,30 +1431,25 @@ label hermione_intro_E6: call her_walk("door", "base") pause.3 - # Hermione inner thoughts - show screen blktone - with d3 - if current_favor == "show_tongue": - her "{size=-4}(*Hmm*...){/size}" ("annoyed", "narrow", "worried", "down", ypos="head", flip=False, trans=d3) + her "{size=-4}(*Hmm*...){/size}" ("annoyed", "narrow", "worried", "down", xpos="far_right", ypos="head", flip=True, trans=d3) her "{size=-4}(Students show teachers their tongues all the time...){/size}" ("soft", "base", "base", "R") her "{size=-4}(Although that's usually when the teacher is not looking...){/size}" ("base", "narrow", "base", "R_soft") her "{size=-4}(But there is nothing wrong with what I did today...){/size}" ("annoyed", "base", "base", "L") her "{size=-4}(I earned my house extra points...){/size}" ("smile", "happyCl", "base", "mid") elif current_favor == "stand_there": - her "{size=-4}(I can just stand there and let the professor look at me...){/size}" ("annoyed", "base", "base", "R", ypos="head", flip=False, trans=d3) + her "{size=-4}(I can just stand there and let the professor look at me...){/size}" ("annoyed", "base", "base", "R", xpos="far_right", ypos="head", flip=True, trans=d3) her "{size=-4}(There is nothing wrong with that... nothing at all...){/size}" ("base", "closed", "base", "mid") elif current_favor == "silly_face": - her "{size=-4}(Stupid face...){/size}" ("silly", "base", "base", "squint", ypos="head", flip=False, trans=d3) + her "{size=-4}(Stupid face...){/size}" ("silly", "base", "base", "squint", xpos="far_right", ypos="head", flip=True, trans=d3) her "{size=-4}(Stupid face...){/size}" ("disgust", "happy", "base", "squint") her "{size=-4}(I need to practise this.){/size}" ("base", "happyCl", "base", "mid") elif current_favor == "bad_girl": - her "{size=-4}(I'm a bad girl...){/size}" ("angry", "base", "angry", "stare", ypos="head", flip=False, trans=d3) + her "{size=-4}(I'm a bad girl...){/size}" ("angry", "base", "angry", "stare", xpos="far_right", ypos="head", flip=True, trans=d3) her "{size=-4}(I am a very bad girl...){/size}" ("base", "base", "angry", "stare") her "{size=-4}(Yes, I can say things like that easily...){/size}" ("smile", "happyCl", "base", "mid") her "{size=-4}(I guess I'm a born actress...){/size}" ("base", "happyCl", "base", "mid") - hide screen blktone call her_chibi("leave") with d3 @@ -1457,9 +1457,9 @@ label hermione_intro_E6: call popup("You have unlocked the ability to buy sexual favours from Hermione.", "Congratulations!", "interface/icons/head/hermione.webp") - $ hermione_wardrobe_unlocked = True - $ hermione_favors = True + $ states.her.wardrobe_unlocked = True + $ states.her.favors_unlocked = True - $ hermione_intro.E6_complete = True + $ states.her.ev.intro.e6_complete = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/items/butt_plugs.rpy b/game/scripts/characters/hermione/events/items/butt_plugs.rpy index ef69503e..16bedde1 100644 --- a/game/scripts/characters/hermione/events/items/butt_plugs.rpy +++ b/game/scripts/characters/hermione/events/items/butt_plugs.rpy @@ -1,6 +1,9 @@ -default ev_her_small_plug = Event(id="her_small_plug", daytime=False, label="hg_butt_plugs_small_return") -default ev_her_medium_plug = Event(id="her_medium_plug", daytime=False, label="hg_butt_plugs_medium_return") -default ev_her_large_plug = Event(id="her_large_plug", daytime=False, label="hg_butt_plugs_large_return") +default ev_her_small_plug = Event(id="ev_her_small_plug", label="hg_butt_plugs_small_return", req="game.daytime==False") +default ev_her_medium_plug = Event(id="ev_her_medium_plug", label="hg_butt_plugs_medium_return", req="game.daytime==False") +default ev_her_large_plug = Event(id="ev_her_large_plug", label="hg_butt_plugs_large_return", req="game.daytime==False") + +label hg_butt_plugs_fail: + jump end_hermione_event label hg_butt_plugs: @@ -23,18 +26,27 @@ label hg_butt_plugs: if not her_buttplug_small1.unlocked: # First time with small butt plug - gen "[hermione_name], I want you to do something different today..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], I want you to do something different today..." ("base", xpos="far_left", ypos="head") her "..........." ("soft", "base", "base", "mid",xpos="right",ypos="base") - call nar(">You pull a large sized butt plug out from under your desk and place it in front of her.") + nar "You pull a large-sized butt plug out from under your desk and place it in front of her." - if her_whoring < 15: - gen "I want you to wear a butt plug around the school." ("base", xpos="far_left", ypos="head") - jump too_much + if states.her.level < 15: + gen "Today, I want you to wear a butt plug around the school." ("base", xpos="far_left", ypos="head") + her "You want me to...{w=0.4} What?!" ("angry", "wide", "worried", "mid") + gen "Wear a--" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I can't believe you'd do this!" ("angry", "happyCl", "worried", "mid") + her "I'm leaving!" ("angry", "base", "worried", "R") + + call her_walk(action="leave") + + $ states.her.mood += 6 + + jump hg_butt_plugs_fail $ her_buttplug_small1.unlock() $ ev_her_small_plug.enqueue() - her "and what is that supposed to be? Some sort of animals tail?" ("open", "squint", "base", "mid") + her "and what is that supposed to be? Some sort of animal tail?" ("open", "squint", "base", "mid") gen "Not exactly, it's a butt plug. I want you to wear it while you attend class today." ("base", xpos="far_left", ypos="head") stop music @@ -42,18 +54,18 @@ label hg_butt_plugs: her "{size=+5}What?!!{/size}" ("shock", "wide", "base", "stare") - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "You expect me to put that massive thing in my..." ("angry", "base", "angry", "mid") her "and then parade myself around the school!?" gen "It just looks like a fake tail, No one will be able to tell what it really is." ("base", xpos="far_left", ypos="head") her "{size=+5}That's not the point!{/size}" ("scream", "closed", "angry", "mid") her "I'm not going to put that ridiculous thing anywhere near my butt!" - her "We are done here, [genie_name]!" ("angry", "base", "angry", "mid",emote="angry") + her "We are done here, [name_genie_hermione]!" ("angry", "base", "angry", "mid",emote="angry") gen "Alright, alright, calm down..." ("base", xpos="far_left", ypos="head") - her "I most certainly will not, [genie_name]! That thing is beyond absurd!" ("scream", "closed", "angry", "mid") + her "I most certainly will not, [name_genie_hermione]! That thing is beyond absurd!" ("scream", "closed", "angry", "mid") gen "Alright, fine, maybe I underestimated how large it is..." ("base", xpos="far_left", ypos="head") - her "You think [genie_name]?! I'd like to see you try and fit it up your--" ("angry", "base", "angry", "mid") + her "You think [name_genie_hermione]?! I'd like to see you try and fit it up your--" ("angry", "base", "angry", "mid") gen "Alright, alright..." ("base", xpos="far_left", ypos="head") her "........." ("annoyed", "narrow", "annoyed", "mid") gen "How about we try one a little less... ambitious?" ("base", xpos="far_left", ypos="head") @@ -62,7 +74,7 @@ label hg_butt_plugs: gen "And all I ask for..." ("base", xpos="far_left", ypos="head") her "..........?" ("annoyed", "squint", "base", "mid") - call nar(">You pull out a small sized butt plug from your desk.") + nar "You pull out a small-sized butt plug from your desk." gen "Is that you wear this to class..." ("base", xpos="far_left", ypos="head") her "!!!" ("angry", "base", "angry", "mid") @@ -74,37 +86,37 @@ label hg_butt_plugs: gen "Fantastic." ("base", xpos="far_left", ypos="head") gen "Will you be putting it in now then?" ("base", xpos="far_left", ypos="head") her "........" ("annoyed", "narrow", "angry", "R") - her "I'll do it in the girls' bathroom, [genie_name]." ("annoyed", "narrow", "angry", "R") + her "I'll do it in the girls' bathroom, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") gen "*Hmm*... Alright, I'll see you tonight then." ("base", xpos="far_left", ypos="head") else: $ ev_her_small_plug.enqueue() # Repeat with small butt plug - if her_whoring > 21: - call play_music("chipper_doodle") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + if states.her.level > 21: + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") her "I'll do it." ("grin", "base", "base", "R",xpos="right",ypos="base") gen "You're eager." ("base", xpos="far_left", ypos="head") her "Well... I mean, I've sort of grown fond of how it feels..." ("open", "narrow", "worried", "down") gen "Excellent... Go have fun then!" ("base", xpos="far_left", ypos="head") - ">You pull out the small sized butt plug and hand it to her." - ">Hermione turns around and lifts her skirt giving you a full view as she inserts it." + nar "You pull out the small-sized butt plug and hand it to her." + nar "Hermione turns around and lifts her skirt giving you a full view as she inserts it." her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") - her "I will, [genie_name]. Thank you." ("base", "happyCl", "base", "mid") + her "I will, [name_genie_hermione]. Thank you." ("base", "happyCl", "base", "mid") - elif her_whoring >= 19: - ">You pull out the large sized butt plug." + elif states.her.level >= 19: + nar "You pull out the large-sized butt plug." gen "Ready to try out \"the dragon\" yet?" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 her "What?" ("scream", "wide", "base", "mid",xpos="right",ypos="base") her "Of course not! That thing would tear me--" ("scream", "closed", "angry", "mid") - ">You put the large butt plug back and pull out the small sized butt plug instead." + nar "You put the large-sized butt plug back and pull out the small-sized butt plug instead." gen "How about this one then?" ("base", xpos="far_left", ypos="head") her "Oh, okay then!" ("smile", "happyCl", "base", "mid",emote="happy") gen "You'll do it that easily?" ("base", xpos="far_left", ypos="head") - her "Well for fifty-five house points I'd be crazy not to." ("base", "closed", "base", "mid") - her "Plus I don't hate the way it feels..." ("open", "base", "base", "R") - ">You hand her the butt plug." + her "Well, for fifty-five house points I'd be crazy not to." ("base", "closed", "base", "mid") + her "Plus, I don't hate the way it feels..." ("open", "base", "base", "R") + nar "You hand her the butt plug." gen "Why don't you put it in now?" ("base", xpos="far_left", ypos="head") her "You want me to put it in now? in front of you?!" ("scream", "wide", "base", "mid") gen "I don't see the harm in it." ("base", xpos="far_left", ypos="head") @@ -113,14 +125,14 @@ label hg_butt_plugs: gen "Done." ("base", xpos="far_left", ypos="head") $ current_payout += 5 her "Well...{w=0.4} here it goes." ("smile", "base", "base", "R") - ">Hermione lifts her skirt and pushes it in rather slowly." + nar "Hermione lifts her skirt and pushes it in rather slowly." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") her "I better head to class..." ("soft", "happy", "base", "R") - gen "See you tonight [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "See you tonight [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "{size=-5}({heart}it feels so good{heart}){/size}" ("grin", "narrow", "annoyed", "up") else: @@ -129,11 +141,11 @@ label hg_butt_plugs: gen "Wearing your favourite little butt plug to class!" ("base", xpos="far_left", ypos="head") her "... again?" ("angry", "narrow", "base", "down") gen "Sure, why not?" ("base", xpos="far_left", ypos="head") - gen "And another fifty-five house points for the Gryffindor house of course." ("base", xpos="far_left", ypos="head") + gen "And another fifty-five house points for the Gryffindor house, of course." ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "base", "worried", "R") - gen "So... Are you okay with that, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "So... Are you okay with that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "I suppose so..." ("annoyed", "narrow", "angry", "R") - ">You pull out the small sized butt plug and hand it to her." + nar "You pull out the small-sized butt plug and hand it to her." gen "Fantastic! See you after class." ("base", xpos="far_left", ypos="head") "-Medium, magical-": @@ -143,14 +155,23 @@ label hg_butt_plugs: jump .plug_choice if not her_buttplug_medium1.unlocked: - # First time with medium butt plug - gen "[hermione_name], I want you to try something different today..." ("base", xpos="far_left", ypos="head") + # First time with the medium-sized butt plug. + gen "[name_hermione_genie], I want you to try something different today..." ("base", xpos="far_left", ypos="head") her "..........." ("soft", "base", "base", "mid",xpos="right",ypos="base") - call nar(">You pull the medium sized butt plug out from under your desk and place it in front of her.") + nar "You pull the medium-sized butt plug out from under your desk and place it in front of her." - if her_whoring < 19: - gen "I want you to wear this butt plug around the school." ("base", xpos="far_left", ypos="head") - jump too_much + if states.her.level < 19: + gen "Today, I want you to wear a butt plug around the school." ("base", xpos="far_left", ypos="head") + her "You want me to...{w=0.4} What?!" ("angry", "wide", "worried", "mid") + gen "Wear a--" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I can't believe you'd do this!" ("angry", "happyCl", "worried", "mid") + her "I'm leaving!" ("angry", "base", "worried", "R") + + call her_walk(action="leave") + + $ states.her.mood += 6 + + jump hg_butt_plugs_fail $ her_buttplug_medium1.unlock() $ ev_her_medium_plug.enqueue() @@ -158,11 +179,11 @@ label hg_butt_plugs: her "And what is this supposed to be?" ("open", "squint", "base", "mid") gen "Can't you tell? It's a butt plug! They shouldn't be new to you at this point." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "annoyed", "mid") - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "Surely, you can't be expecting me to have that large tail sticking out around the school!" ("annoyed", "base", "angry", "mid") gen "I can and do expect you to, unless you want our little trading game to come to a halt..." ("base", xpos="far_left", ypos="head") her "But it's so long! everyone will be able to see it!" ("normal", "happyCl", "worried", "mid") - gen "That's the point, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "That's the point, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "..........." ("angry", "happyCl", "worried", "mid",emote="sweat") her "I want a hundred points." ("annoyed", "base", "angry", "mid") @@ -172,35 +193,35 @@ label hg_butt_plugs: her "What? Right now!?." ("angry", "happyCl", "worried", "mid") her "In front of you?" ("angry", "wink", "base", "mid") - gen "You said you wanted a hundred points [hermione_name]... It's more than fair." ("base", xpos="far_left", ypos="head") + gen "You said you wanted a hundred points [name_hermione_genie]... It's more than fair." ("base", xpos="far_left", ypos="head") her "*Ugh*...{w=0.4} Fine." ("angry", "narrow", "base", "down") - ">You hand her the butt plug." + nar "You hand her the butt plug." her "{size=-7}It's so big...{/size}" ("clench", "narrow", "base", "down") - ">Hermione lifts her skirt and presses the butt plug against her asshole." + nar "Hermione lifts her skirt and presses the butt plug against her asshole." her "*Ughh*...{w=0.4} It's too big." ("shock", "happyCl", "worried", "mid") her "It won't fit!" ("open", "happyCl", "worried", "mid") gen "Try spitting on it." ("base", xpos="far_left", ypos="head") her "........." ("angry", "narrow", "base", "down") - $ renpy.sound.play("sounds/spit.ogg") + play sound "sounds/spit.ogg" - ">She spits on the end of the butt plug and attempts to insert it again." + nar "She spits on the end of the butt plug and attempts to insert it again." her "It doesn't work, It's just too bi--" ("angry", "base", "base", "mid") stop music - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris her "{size=+5}!!!!{/size}" ("shock", "wide", "base", "stare") - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "............." ("angry", "base", "base", "mid") her "..." ("angry", "narrow", "base", "down") her "Well...{w=0.4} I Better get to....{w=0.4} Class..." ("angry", "wink", "base", "mid") - gen "See you tonight [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "See you tonight [name_hermione_genie]." ("base", xpos="far_left", ypos="head") "\"You'll get seventy points.\"": $ current_payout = 70 @@ -208,35 +229,35 @@ label hg_butt_plugs: her "*Hmph*..." ("annoyed", "narrow", "angry", "R") her "Alright then, just don't expect me to show it to you!" ("angry", "base", "angry", "mid") gen "As long as you wear it to class, you'll get your seventy points." ("base", xpos="far_left", ypos="head") - ">You hand her the butt plug." - her "Will that be all [genie_name]?." ("annoyed", "narrow", "annoyed", "mid") - gen "Yes [hermione_name], see you tonight." ("base", xpos="far_left", ypos="head") + nar "You hand her the butt plug." + her "Will that be all [name_genie_hermione]?." ("annoyed", "narrow", "annoyed", "mid") + gen "Yes [name_hermione_genie], see you tonight." ("base", xpos="far_left", ypos="head") her "{size=-5}(Not even a hundred points...){/size}" ("annoyed", "narrow", "angry", "R") else: # Repeat with medium butt plug $ ev_her_medium_plug.enqueue() - if her_whoring < 21: + if states.her.level < 21: gen "Today my gracious request will be..." ("base", xpos="far_left", ypos="head") her "........." ("angry", "base", "base", "mid",xpos="right",ypos="base") gen "That you wear everyone's favourite magical butt plug to class!" ("base", xpos="far_left", ypos="head") her "...{w=0.4} Again?" ("angry", "narrow", "base", "down") gen "Why not? It will be the easiest fifty-five points you'll ever earn!" ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "base", "worried", "R") - gen "Do you have a problem with it, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Do you have a problem with it, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "I suppose not..." ("annoyed", "narrow", "angry", "R") - ">You hand her the butt plug." + nar "You hand her the butt plug." gen "Fantastic! See you after class." ("base", xpos="far_left", ypos="head") - elif her_whoring < 23: - ">You pull out the butt plug." + elif states.her.level < 23: + nar "You pull out the butt plug." gen "Ready to try out the phoenix again?" ("base", xpos="far_left", ypos="head") - if buttplug_2_question == False: - $ buttplug_2_question = True + if states.her.ev.buttplugs.medium_question == False: + $ states.her.ev.buttplugs.medium_question = True her "Oh... I suppose so." ("soft", "happy", "base", "R",xpos="right",ypos="base") her "But is it alright if I ask you something first?" ("open", "narrow", "worried", "down") - gen "What's that, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "What's that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Don't you worry about us getting caught?" ("annoyed", "base", "base", "mid") gen "Why would I?" ("base", xpos="far_left", ypos="head") her "Well, it's just that...{w=0.4} Making me wear something like this draws a lot of attention." ("open", "base", "worried", "R") @@ -246,72 +267,72 @@ label hg_butt_plugs: gen "Don't worry about it. If anyone asks, just tell them you're going through an exhibitionist stage." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "worried", "mid") gen "Speaking of which..." ("base", xpos="far_left", ypos="head") - ">You hand her the butt plug." + nar "You hand her the butt plug." her "Right." ("base", "narrow", "worried", "down") - ">Hermione lifts her skirt and pushes it in gently, taking her time." + nar "Hermione lifts her skirt, and pushes it in gently, taking her time." else: her "Oh, alright then..." ("open", "narrow", "worried", "down",xpos="right",ypos="base") - her "*Ahem*...{w=0.4} If you pay me an additional ten points I'll show you as I put it in." ("soft", "happy", "base", "R") + her "*Ahem*...{w=0.4} If you pay me an additional ten points, I'll show you as I put it in." ("soft", "happy", "base", "R") menu: "\"Done\"": $ current_payout += 10 - her "Thank you [genie_name], you won't regret it..." ("open", "base", "base", "R") + her "Thank you [name_genie_hermione], you won't regret it..." ("open", "base", "base", "R") "\"Five is all I can do.\"": $ current_payout += 5 - her "*Hmm*... Alright fine..." ("annoyed", "narrow", "angry", "R") + her "*Hmm*... Alright, fine..." ("annoyed", "narrow", "angry", "R") her "But you better appreciate it..." ("base", "squint", "base", "mid") gen "I'm sure I will." ("base", xpos="far_left", ypos="head") - ">You hand her the butt plug." + nar "You hand her the butt plug." her "Well... Here goes..." ("base", "narrow", "worried", "down") - ">Hermione lifts her skirt and pushes it in gently, taking her time." + nar "Hermione lifts her skirt, and pushes it in gently, taking her time." her "{heart}{heart}{heart}*Ah*{heart}{heart}{heart}..." ("grin", "narrow", "annoyed", "up") her "I better...{w=0.4}*Ah*...{w=0.4} Head to class..." ("soft", "happy", "base", "R") - gen "See you tonight, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "See you tonight, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "{size=-5}({heart}So...{w=0.4} Good...{heart}){/size}" ("grin", "narrow", "annoyed", "up") else: - call play_music("chipper_doodle") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") her "I'll do it." ("grin", "base", "base", "R",xpos="right",ypos="base") gen "You're eager. I haven't even said which one yet..." ("base", xpos="far_left", ypos="head") her "Oh... Can it be the one with the phoenix tail?" ("open", "narrow", "worried", "down") her "Please..." ("soft", "happy", "base", "R") gen "Well, seeing as how you asked so nicely..." ("base", xpos="far_left", ypos="head") - ">You hand her the butt plug." - ">Hermione lifts her skirt giving you a full view as she inserts it." + nar "You hand her the butt plug." + nar "Hermione lifts her skirt giving you a full view as she inserts it." her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") - her "Thank you [genie_name]!" ("open", "base", "base", "R") + her "Thank you [name_genie_hermione]!" ("open", "base", "base", "R") her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("grin", "narrow", "annoyed", "up") "-Large, magical-": - if not her_buttplug_medium1.unlocked or not hg_anal.trigger: + if not her_buttplug_medium1.unlocked or not states.her.status.anal: # Requires medium butt plug event. gen "(I don't think she's ready for that yet.)" ("base", xpos="far_left", ypos="head") jump .plug_choice if not her_buttplug_large1.unlocked: # First time with large butt plug - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "What do you think about wearing a butt pl--?" ("base", xpos="far_left", ypos="head") her "I'll do it." ("grin", "base", "base", "R",xpos="right",ypos="base") gen "You're eager. I haven't even said which one yet..." ("base", xpos="far_left", ypos="head") her "Oh... Can it be the big one... With the long tail..." ("open", "narrow", "worried", "down") her "Please..." ("soft", "happy", "base", "R") - gen "Well seeing as how you did ask for the big one..." ("base", xpos="far_left", ypos="head") - call nar(">You hand her the large sized butt plug.") + gen "Well, seeing as how you did ask for the big one..." ("base", xpos="far_left", ypos="head") + nar "You hand her the large-sized butt plug." her "!!!" ("angry", "narrow", "base", "down") - her "This isn't the one I meant [genie_name]..." ("angry", "narrow", "base", "down") + her "This isn't the one I meant [name_genie_hermione]..." ("angry", "narrow", "base", "down") gen "Didn't you ask for the big one?" ("base", xpos="far_left", ypos="head") her "I did--" ("grin", "narrow", "annoyed", "up") - gen "Well this is the {b}big{/b} one." ("base", xpos="far_left", ypos="head") - her "But, [genie_name]... I don't even think this will fit." ("disgust", "base", "base", "mid",cheeks="blush") + gen "Well, this is the {b}big{/b} one." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But, [name_genie_hermione]... I don't even think this will fit." ("disgust", "base", "base", "mid") gen "Never say never!" ("base", xpos="far_left", ypos="head") her "You can't be serious!" ("scream", "narrow", "worried", "down") her "This thing is ridiculous!" ("open", "closed", "base", "mid") @@ -321,9 +342,9 @@ label hg_butt_plugs: gen "You did great, taking my cock up your ass!" ("grin", xpos="far_left", ypos="head") - her "[genie_name]!" ("shock", "wide", "base", "mid",cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("shock", "wide", "base", "mid") gen "Come on..." ("base", xpos="far_left", ypos="head") - her "This is too much [genie_name]! even your cock isn't this {b}thick{/b}..." ("open", "narrow", "angry", "R") + her "This is too much [name_genie_hermione]! even your cock isn't this {b}thick{/b}..." ("open", "narrow", "angry", "R") gen "Nothing a little spit can't solve!" ("base", xpos="far_left", ypos="head") her "Don't be ridiculous! This is beyond spit!" ("open", "closed", "base", "mid") her "Unless you have some sort of actual {i}lubricant{/i} in your possession, I don't think I'll be letting this thing anywhere near my--" ("open", "base", "angry", "mid") @@ -334,15 +355,15 @@ label hg_butt_plugs: $ her_buttplug_large1.unlock() $ ev_her_large_plug.enqueue() - call play_music("playful_tension") - gen "Well it just so happens that I recently came across the solution to your problem." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + gen "Well, it just so happens that I recently came across the solution to your problem." ("base", xpos="far_left", ypos="head") her "The solution?" ("disgust", "wink", "base", "mid") gen "Here." ("base", xpos="far_left", ypos="head") - call give_gift(">You hand hermione the jar of anal lubricant.",anal_lube_ITEM) + call give_gift("You hand hermione the jar of anal lubricant.",anal_lube_ITEM) her "!!!" ("clench", "wide", "base", "stare") - her "I wasn't being serious, [genie_name]!" ("scream", "base", "angry", "mid") + her "I wasn't being serious, [name_genie_hermione]!" ("scream", "base", "angry", "mid") gen "Didn't you say you needed some lube to do it? I've got you some, right here." ("base", xpos="far_left", ypos="head") her "Yes, but I didn't actually expect you to have a jar of lube in your desk!" ("open", "narrow", "angry", "R") gen "Really? You didn't think I'd foresee this occasion?" ("base", xpos="far_left", ypos="head") @@ -350,14 +371,14 @@ label hg_butt_plugs: her "*Ugh*...{w=0.4} fine. I'll {b}try{/b} to fit it in." ("disgust", "narrow", "worried", "down") her "But I'm not promising anything!" ("open", "closed", "base", "mid") gen "That's all I ask." ("base", xpos="far_left", ypos="head") - call nar(">You hand Hermione the large butt plug.") + nar "You hand Hermione the large butt plug." her "I still don't think this is going to work..." ("open", "base", "base", "mid") - call nar(">Hermione slowly coats the massive butt plug with lube.") + nar "Hermione slowly coats the massive butt plug with lube." her "There's barely even enough here to cover it..." ("open", "narrow", "worried", "down") her "(There's no way this thing will fit.)" ("disgust", "narrow", "base", "down") - call nar(">Hermione slowly places the lubed up butt plug to her anus.") - her "I'm telling you, [genie_name], this isn't going to--" ("open", "closed", "base", "mid") - her "{size=+10}!!!{/size}" ("soft", "wide", "base", "stare",cheeks="blush",trans=hpunch) + nar "Hermione slowly places the lubed up butt plug to her anus." + her "I'm telling you, [name_genie_hermione], this isn't going to--" ("open", "closed", "base", "mid") + her @ cheeks blush "{size=+10}!!!{/size}" ("soft", "wide", "base", "stare",trans=hpunch) her "{size=+10}It's moving!{/size}" ("disgust", "happyCl", "worried", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") her "{size=+5}*Ugh*...{/size}" ("disgust", "happyCl", "worried", "mid") @@ -365,42 +386,42 @@ label hg_butt_plugs: her "*Ah*..." ("shock", "happyCl", "worried", "mid") her "It's...{w=0.3} It's..." ("open", "wide", "base", "stare") - call play_sound("pop") + play sound "sounds/bottle.ogg" - her "" ("soft", "narrow", "annoyed", "up",cheeks="blush") + her @ cheeks blush "" ("soft", "narrow", "annoyed", "up") call ctc - her "{size=+5}incredible!{/size}" ("soft", "narrow", "annoyed", "up",cheeks="blush") + her @ cheeks blush "{size=+5}incredible!{/size}" ("soft", "narrow", "annoyed", "up") her "............." ("disgust", "narrow", "annoyed", "up") - gen "Are you alright, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Are you alright, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her ".........................." ("soft", "narrow", "base", "up") her "*Ah*... Y--{w=0.2} yes..." ("open", "narrow", "base", "mid_soft") gen "Fantastic! I'll see you after class then." ("base", xpos="far_left", ypos="head") - her "............." ("disgust", "narrow", "worried", "down",cheeks="blush") - call nar(">Hermione slowly leaves your office, barely able to walk in a straight line.") + her @ cheeks blush "............." ("disgust", "narrow", "worried", "down") + nar "Hermione slowly leaves your office, barely able to walk in a straight line." - "-Use anal lube-" (style="disabled") if anal_lube_ITEM.owned == 0: #Fail, wears small or medium sized instead + "-Use anal lube-" (style="disabled") if anal_lube_ITEM.owned == 0: #Fail, wears small or medium-sized instead gen "I'm afraid I do not have that..." ("base", xpos="far_left", ypos="head") her "Well then, I think I better be off to class then." ("open", "closed", "base", "mid") - her "{size=-2}unless {size=-2}you {size=-2}have {size=-2}the {size=-2}smaller {size=-2}one?{/size}{/size}{/size}{/size}{/size}{/size}{heart}" ("soft", "narrow", "base", "R_soft",cheeks="blush") + her @ cheeks blush "{size=-2}unless {size=-2}you {size=-2}have {size=-2}the {size=-2}smaller {size=-2}one?{/size}{/size}{/size}{/size}{/size}{/size}{heart}" ("soft", "narrow", "base", "R_soft") menu: - "-Take out the small sized butt plug-": + "-Take out the small-sized butt plug-": $ ev_her_small_plug.enqueue() gen "It just so happens that I do!" ("grin", xpos="far_left", ypos="head") - call nar(">You hand her the small sized butt plug.") - "-Take out the medium sized butt plug-": + nar "You hand her the small-sized butt plug." + "-Take out the medium-sized butt plug-": $ ev_her_medium_plug.enqueue() gen "It just so happens that I do!" ("grin", xpos="far_left", ypos="head") - call nar(">You hand her the medium sized butt plug.") - her "This, this isn't the small one." ("open", "narrow", "base", "down",cheeks="blush") + nar "You hand her the medium-sized butt plug." + her @ cheeks blush "This, this isn't the small one." ("open", "narrow", "base", "down") gen "It's smaller in comparison..." ("grin", xpos="far_left", ypos="head") - her "True...{w=0.4} Here I go then..." ("soft", "narrow", "base", "mid",cheeks="blush") + her @ cheeks blush "True...{w=0.4} Here I go then..." ("soft", "narrow", "base", "mid") - her "{heart}*Ah*{heart}..." ("silly", "narrow", "annoyed", "up",cheeks="blush") - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft",cheeks="blush") - her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("soft", "narrow", "annoyed", "up",cheeks="blush") + her @ cheeks blush "{heart}*Ah*{heart}..." ("silly", "narrow", "annoyed", "up") + her @ cheeks blush "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("soft", "narrow", "annoyed", "up") hide hermione_main with d3 pause.2 @@ -411,8 +432,8 @@ label hg_butt_plugs: else: $ ev_her_large_plug.enqueue() # Repeat with large butt plug - call play_music("chipper_doodle") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "How do you feel about wearing another butt plug to class today?" ("base", xpos="far_left", ypos="head") her "..." ("base", "base", "base", "R",xpos="right",ypos="base") her "Which one?" ("grin", "base", "base", "mid") @@ -422,12 +443,12 @@ label hg_butt_plugs: gen "You didn't seem to hate wearing it last time..." ("base", xpos="far_left", ypos="head") her "..." ("open", "narrow", "worried", "down") her "{size=-5}alright then...{/size}" ("open", "narrow", "worried", "down") - call nar(">You hand her the butt plug.","start") - call nar(">You watch it magically wriggle it's way inside her eager butthole.","end") + nar "You hand her the butt plug." + nar "You watch it magically wriggle its way inside her eager butthole." her "{heart}*Ah*{heart}..." ("grin", "narrow", "annoyed", "up") gen "(Didn't even need any lube...)" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]!" ("base", "narrow", "base", "mid_soft") + her "Thank you, [name_genie_hermione]!" ("base", "narrow", "base", "mid_soft") her "{size=-5}({heart}it feels so good... I might have to buy my own...{heart}){/size}" ("soft", "narrow", "annoyed", "up") call her_walk(action="leave") @@ -436,513 +457,516 @@ label hg_butt_plugs: label hg_butt_plugs_small_return: - # TODO: Random numbers cheapen the experience, and make certain paths difficult to follow. - $ random_number = renpy.random.randint(1, 3) - call her_walk(action="enter", xpos="mid", ypos="base") - if her_whoring < 19: - if random_number == 1: - # Got distracted - gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") - her "It was awful... of course..." ("annoyed", "squint", "angry", "mid",xpos="right",ypos="base") - gen "Just tell me what happened, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "I've never been so uncomfortable in my life [genie_name]!" ("disgust", "narrow", "base", "mid_soft") - her "I wasn't able to focus on anything all day!" ("annoyed", "narrow", "annoyed", "mid") - gen "Why's that?" ("base", xpos="far_left", ypos="head") - her "Whenever I was sitting down in class it just kept prodding me..." ("annoyed", "narrow", "angry", "R") - her "So naturally I had to adjust the way I was sitting, [genie_name]..." - her "but that just made it worse..." ("annoyed", "narrow", "angry", "R") - gen "Do you think anyone else noticed you?" ("base", xpos="far_left", ypos="head") - her "I've got no idea..." ("annoyed", "narrow", "annoyed", "mid") - her "I could hardly think straight... Let alone pay attention to anyone around me." ("annoyed", "narrow", "annoyed", "mid") - gen "So it felt good then?" ("base", xpos="far_left", ypos="head") - her "Good?" ("open", "base", "base", "mid") - her "If you call getting your butt prodded all day good..." ("annoyed", "narrow", "worried", "down") - her "Then sure." ("annoyed", "narrow", "annoyed", "up") - her "Also... Being this distracted during class could really damage my grades." ("angry", "base", "base", "mid") - gen "I wouldn't worry about that. Just think of Gryffindor!" ("base", xpos="far_left", ypos="head") - her "Speaking of Gryffindor..." ("annoyed", "narrow", "annoyed", "mid", xpos="right",ypos="base",trans=fade) - gen "Oh yes, you're quite right." ("base", xpos="far_left", ypos="head") + if states.her.level < 19: + random: + block: + # Got distracted + gen "[name_hermione_genie], how did it go?" ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + her "It was awful... of course..." ("annoyed", "squint", "angry", "mid",xpos="right",ypos="base") + gen "Just tell me what happened, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "I've never been so uncomfortable in my life [name_genie_hermione]!" ("disgust", "narrow", "base", "mid_soft") + her "I wasn't able to focus on anything all day!" ("annoyed", "narrow", "annoyed", "mid") + gen "Why's that?" ("base", xpos="far_left", ypos="head") + her "Whenever I was sitting down in class it just kept prodding me..." ("annoyed", "narrow", "angry", "R") + her "So naturally I had to adjust the way I was sitting, [name_genie_hermione]..." + her "but that just made it worse..." ("annoyed", "narrow", "angry", "R") + gen "Do you think anyone else noticed you?" ("base", xpos="far_left", ypos="head") + her "I've got no idea..." ("annoyed", "narrow", "annoyed", "mid") + her "I could hardly think straight... Let alone pay attention to anyone around me." ("annoyed", "narrow", "annoyed", "mid") + gen "So it felt good then?" ("base", xpos="far_left", ypos="head") + her "Good?" ("open", "base", "base", "mid") + her "If you call getting your butt prodded all day good..." ("annoyed", "narrow", "worried", "down") + her "Then sure." ("annoyed", "narrow", "annoyed", "up") + her "Also... Being this distracted during class could really damage my grades." ("angry", "base", "base", "mid") + gen "I wouldn't worry about that. Just think of Gryffindor!" ("base", xpos="far_left", ypos="head") + her "Speaking of Gryffindor..." ("annoyed", "narrow", "annoyed", "mid", xpos="right",ypos="base",trans=fade) + gen "Oh yes, you're quite right." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - # Flashed a few Ravenclaw girls by accident - gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") - her "It went well, [genie_name]..." ("open", "base", "base", "mid",xpos="right",ypos="base") - call play_music("playful_tension") - her "Barely anybody noticed that I was wearing it..." - her "... Except for a few girls from Ravenclaw..." ("open", "base", "base", "mid",cheeks="blush") - gen "What happened?" ("base", xpos="far_left", ypos="head") - her "I was walking down the hall, on my way to potions class..." ("open", "closed", "base", "mid") - her "And suddenly a gust of wind came and blew my skirt up..." ("upset", "wink", "base", "mid") - gen "A gust of wind? inside?" ("base", xpos="far_left", ypos="head") - her "It must have been from a window..." ("soft", "base", "base", "R") - her "Anyway... The three girls walking behind me may have... seen it." ("open", "narrow", "worried", "down") - gen "How do you know?" ("base", xpos="far_left", ypos="head") - her "I heard them giggling afterwards..." ("clench", "narrow", "base", "down") - gen "Maybe they had just heard a funny joke." ("base", xpos="far_left", ypos="head") - her "..." ("clench", "narrow", "base", "mid") - gen "In any case... Sounds like a job well done." ("base", xpos="far_left", ypos="head") + block: + # Flashed a few Ravenclaw girls by accident + gen "[name_hermione_genie], how did it go?" ("base", xpos="far_left", ypos="head") + her "It went well, [name_genie_hermione]..." ("open", "base", "base", "mid",xpos="right",ypos="base") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Barely anybody noticed that I was wearing it..." + her @ cheeks blush "... Except for a few girls from Ravenclaw..." ("open", "base", "base", "mid") + gen "What happened?" ("base", xpos="far_left", ypos="head") + her "I was walking down the hall, on my way to potions class..." ("open", "closed", "base", "mid") + her "And suddenly a gust of wind came and blew my skirt up..." ("upset", "wink", "base", "mid") + gen "A gust of wind? inside?" ("base", xpos="far_left", ypos="head") + her "It must have been from a window..." ("soft", "base", "base", "R") + her "Anyway... The three girls walking behind me may have... seen it." ("open", "narrow", "worried", "down") + gen "How do you know?" ("base", xpos="far_left", ypos="head") + her "I heard them giggling afterwards..." ("clench", "narrow", "base", "down") + gen "Maybe they had just heard a funny joke." ("base", xpos="far_left", ypos="head") + her "..." ("clench", "narrow", "base", "mid") + gen "In any case... Sounds like a job well done." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - # Caught by Moaning Myrtle - gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") - her "Awful, [genie_name]. Simply awful..." ("scream", "happyCl", "worried", "mid",xpos="right",ypos="base") - gen "What happened?" ("base", xpos="far_left", ypos="head") - her "Moaning Myrtle happened!" ("normal", "happyCl", "worried", "mid") - gen "{i}Moaning Mittle{/i}?" ("base", xpos="far_left", ypos="head") - her "That pesky little ghost!" ("annoyed", "narrow", "angry", "R") - her "This thing left me so frustrated that during my free period I went to the girls toilets to--" ("annoyed", "narrow", "angry", "R") - her "*Ahem*... Relieve myself..." ("annoyed", "base", "worried", "R") - her "When all of a sudden that annoying ghost poked her head through the door!" ("scream", "closed", "angry", "mid") - her "As it if wasn't bad enough that she saw me..." ("open", "narrow", "worried", "down") - her "She then started yelling \"Hermione has a butt plug\" to everyone in the toilets!" ("scream", "base", "angry", "mid",emote="angry") - her "Luckily the stalls where empty! Imagine if they weren't!" ("annoyed", "narrow", "annoyed", "mid") - gen "Well, it certainly sounds like you've earned your points." ("base", xpos="far_left", ypos="head") + block: + # Caught by Moaning Myrtle + gen "[name_hermione_genie], how did it go?" ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + her "Awful, [name_genie_hermione]. Simply awful..." ("scream", "happyCl", "worried", "mid",xpos="right",ypos="base") + gen "What happened?" ("base", xpos="far_left", ypos="head") + her "Moaning Myrtle happened!" ("normal", "happyCl", "worried", "mid") + gen "{i}Moaning Mittle{/i}?" ("base", xpos="far_left", ypos="head") + her "That pesky little ghost!" ("annoyed", "narrow", "angry", "R") + her "This thing left me so frustrated that during my free period I went to the girls toilets to--" ("annoyed", "narrow", "angry", "R") + her "*Ahem*... Relieve myself..." ("annoyed", "base", "worried", "R") + her "When all of a sudden that annoying ghost poked her head through the door!" ("scream", "closed", "angry", "mid") + her "As if it weren't bad enough that she saw me..." ("open", "narrow", "worried", "down") + her "She then started yelling \"Hermione has a butt plug\" to everyone in the toilets!" ("scream", "base", "angry", "mid",emote="angry") + her "Luckily the stalls were empty! Imagine if they weren't!" ("annoyed", "narrow", "annoyed", "mid") + gen "Well, it certainly sounds like you've earned your points." ("base", xpos="far_left", ypos="head") - elif her_whoring < 21: - if random_number == 1: - # Flashed Luna in the library - call play_music("chipper_doodle") - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Of course." ("open", "base", "base", "mid",xpos="right",ypos="base") - gen "Excellent... So, did anyone notice?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... Well..." ("base", "narrow", "worried", "down") - her "I might've shown someone..." ("base", "narrow", "base", "mid_soft") - her "I was in the library fetching some books when Luna started talking at me..." - her "I didn't see her at first but she had been reading at one of the desks." - her "She just started chatting at me like without even a hello like she usually does." ("open", "base", "base", "R") - her "Talking about something nonsensical as always..." ("soft", "base", "base", "R") - her "Well, during her blabbering she suddenly went quiet and when I looked over she was staring at my butt." ("soft", "base", "base", "mid") - m "Buttsted!" - her "Yes, well at first I was hoping that I got away with it... Until... Well..." ("base", "narrow", "base", "R") - m "Well?" - her "Well, I figured that even if she saw it..." - her "It wouldn't matter, as no one would believe her..." - gen "Right..." ("base", xpos="far_left", ypos="head") - her "So I thought I might as well give her a proper look... And I feigned dropping my quill..." ("grin", "base", "base", "R") - gen "Go on..." ("base", xpos="far_left", ypos="head") - her "Then I turned around in front of her..." ("base", "narrow", "worried", "down") - her "And bent over..." - her "Giving her a full view..." ("base", "narrow", "base", "up") - gen "I see..." ("base", xpos="far_left", ypos="head") - gen "So she saw how the tail was attached?" ("base", xpos="far_left", ypos="head") - her "*Hmm*... Maybe, [genie_name]..." ("soft", "happy", "base", "R") - her "She was too stunned to say anything." - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "Knowing her, she might've just thought I grew a tail or something..." ("base", "narrow", "base", "mid_soft") - gen "Either way, it sounds like you've earned your points and then some." ("base", xpos="far_left", ypos="head") + elif states.her.level < 21: + random: + block: + # Flashed Luna in the library + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Of course." ("open", "base", "base", "mid",xpos="right",ypos="base") + gen "Excellent... So, did anyone notice?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... Well..." ("base", "narrow", "worried", "down") + her "I might've shown someone..." ("base", "narrow", "base", "mid_soft") + her "I was in the library fetching some books when Luna started talking at me..." + her "I didn't see her at first, but she had been reading at one of the desks." + her "She just started chatting at me like without even a hello like she usually does." ("open", "base", "base", "R") + her "Talking about something nonsensical as always..." ("soft", "base", "base", "R") + her "Well, during her blabbering she suddenly went quiet and when I looked over, she was staring at my butt." ("soft", "base", "base", "mid") + gen "Buttsted!" ("base", xpos="far_left", ypos="head") + her "Yes... Well, at first I was hoping that I got away with it... Until... Well..." ("base", "narrow", "base", "R") + gen "Well?" ("base", xpos="far_left", ypos="head") + her "Well, I figured that even if she saw it..." + her "It wouldn't matter, as no one would believe her..." + gen "Right..." ("base", xpos="far_left", ypos="head") + her "So I thought I might as well give her a proper look... And I feigned dropping my quill..." ("grin", "base", "base", "R") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her "Then I turned around in front of her..." ("base", "narrow", "worried", "down") + her "And bent over..." + her "Giving her a full view..." ("base", "narrow", "base", "up") + gen "I see..." ("base", xpos="far_left", ypos="head") + gen "So she saw how the tail was attached?" ("base", xpos="far_left", ypos="head") + her "*Hmm*... Maybe, [name_genie_hermione]..." ("soft", "happy", "base", "R") + her "She was too stunned to say anything." + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + her "Knowing her, she might've just thought I grew a tail or something..." ("base", "narrow", "base", "mid_soft") + gen "Either way, it sounds like you've earned your points and then some." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - # Couldn't focus and touched herself during class - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "I did, [genie_name]..." ("open", "closed", "base", "mid",xpos="right",ypos="base") - her "Although I'm still not sure how I feel about all of this..." ("annoyed", "base", "worried", "R") - her "I was barely able to pay attention during class..." ("annoyed", "base", "worried", "R") - her "I don't think I could even tell you which potion we were taught today..." ("open", "base", "base", "mid") - call play_music("playful_tension") - her "Me, Hermione Granger..." ("open", "narrow", "worried", "down") - her "Not learning in class." ("angry", "narrow", "base", "down") - gen "You could always try relieving yourself in between lessons." ("base", xpos="far_left", ypos="head") - her "Oh, I've tried that... But it doesn't work..." ("angry", "base", "base", "mid") - her "It just makes the next class even more difficult..." - her "After potions finished I went to my room to... calm myself..." ("open", "base", "base", "R") - her "But it just made Herbology worse..." ("open", "narrow", "worried", "down") - her "I just had to touch myself during the later half of the class..." ("clench", "narrow", "base", "down") - gen "During class?" ("base", xpos="far_left", ypos="head") - her "Yeah...{w=0.4} Do you...{w=0.4} *Ehm*... Do you think anyone noticed, [genie_name]?" ("open", "happy", "base", "mid",cheeks="blush") + block: + # Couldn't focus and touched herself during class + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "I did, [name_genie_hermione]..." ("open", "closed", "base", "mid",xpos="right",ypos="base") + her "Although I'm still not sure how I feel about all of this..." ("annoyed", "base", "worried", "R") + her "I was barely able to pay attention during class..." ("annoyed", "base", "worried", "R") + her "I don't think I could even tell you which potion we were taught today..." ("open", "base", "base", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Me, Hermione Granger..." ("open", "narrow", "worried", "down") + her "Not learning in class." ("angry", "narrow", "base", "down") + gen "You could always try relieving yourself in between lessons." ("base", xpos="far_left", ypos="head") + her "Oh, I've tried that... But it doesn't work..." ("angry", "base", "base", "mid") + her "It just makes the next class even more difficult..." + her "After potions finished, I went to my room to... calm myself..." ("open", "base", "base", "R") + her "But it just made Herbology worse..." ("open", "narrow", "worried", "down") + her "I just had to touch myself during the later half of the class..." ("clench", "narrow", "base", "down") + gen "During class?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yeah...{w=0.4} Do you...{w=0.4} *Ehm*... Do you think anyone noticed, [name_genie_hermione]?" ("open", "happy", "base", "mid") - menu: - "\"Noticed? Of course not, [hermione_name]!\"": - her ".............." ("base", "base", "base", "R",cheeks="blush") - her "Hopefully you're right, [genie_name]..." ("base", "narrow", "worried", "down") - her "I did try to be as discreet as possible..." - her "I don't think..." ("soft", "narrow", "annoyed", "up") - her "Well, I {b}hope{/b} I wasn't making too much noise..." ("grin", "base", "base", "R") - her "[genie_name], can I get paid now, please?" ("base", "narrow", "base", "mid_soft",xpos="right",ypos="base",trans=fade) - her "......" + menu: + "\"Noticed? Of course not, [name_hermione_genie]!\"": + her @ cheeks blush ".............." ("base", "base", "base", "R") + her "Hopefully you're right, [name_genie_hermione]..." ("base", "narrow", "worried", "down") + her "I did try to be as discreet as possible..." + her "I don't think..." ("soft", "narrow", "annoyed", "up") + her "Well, I {b}hope{/b} I wasn't making too much noise..." ("grin", "base", "base", "R") + her "[name_genie_hermione], can I get paid now, please?" ("base", "narrow", "base", "mid_soft",xpos="right",ypos="base",trans=fade) + her "......" - "\"Of course they noticed!\"": - gen "Do you honestly believe that no one noticed you touching yourself?" ("base", xpos="far_left", ypos="head") - her "I was afraid that you would say that, [genie_name]..." ("mad", "happyCl", "worried", "mid",tears="soft_blink") - gen "To think that you'd do such a thing, surrounded by your classmates..." ("base", xpos="far_left", ypos="head") - her "........" ("mad", "happyCl", "worried", "mid",tears="soft_blink") - gen "You're lucky that nobody called you out on it..." ("base", xpos="far_left", ypos="head") - her "[genie_name], can I get paid now, please?" ("angry", "base", "base", "mid",tears="soft",xpos="right",ypos="base",trans=fade) + "\"Of course they noticed!\"": + gen "Do you honestly believe that no one noticed you touching yourself?" ("base", xpos="far_left", ypos="head") + her @ tears soft_blink "I was afraid that you would say that, [name_genie_hermione]..." ("mad", "happyCl", "worried", "mid") + gen "To think that you'd do such a thing, surrounded by your classmates..." ("base", xpos="far_left", ypos="head") + her @ tears soft_blink "........" ("mad", "happyCl", "worried", "mid") + gen "You're lucky that nobody called you out on it..." ("base", xpos="far_left", ypos="head") + her @ tears soft "[name_genie_hermione], can I get paid now, please?" ("angry", "base", "base", "mid",xpos="right",ypos="base",trans=fade) - gen "Certainly." ("base", xpos="far_left", ypos="head") + gen "Certainly." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - # Nothing happened - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]. I did." ("open", "closed", "base", "mid",xpos="right",ypos="base") - gen "Great. Tell me more." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "Well, there's not much to tell..." ("open", "base", "base", "mid") - her "I attended classes..." - her "Tried to take notes." - her "All in all it was a fairly regular day..." - her "Well as regular as it could have been with a plug up my butt." ("annoyed", "narrow", "angry", "R") - gen "And nobody noticed?" ("base", xpos="far_left", ypos="head") - her "I don't think so, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") - gen "Well I suppose something interesting can't happen everyday." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "base", "base", "R",xpos="right",ypos="base",trans=fade) + block: + # Nothing happened + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]. I did." ("open", "closed", "base", "mid",xpos="right",ypos="base") + gen "Great. Tell me more." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Well, there's not much to tell..." ("open", "base", "base", "mid") + her "I attended classes..." + her "Tried to take notes." + her "All in all it was a fairly regular day..." + her "Well as regular as it could have been with a plug up my butt." ("annoyed", "narrow", "angry", "R") + gen "And nobody noticed?" ("base", xpos="far_left", ypos="head") + her "I don't think so, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") + gen "Well I suppose something interesting can't happen every day." ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "base", "base", "R",xpos="right",ypos="base",trans=fade) else: - if random_number == 1: - # Pleasured herself in class - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes I did, [genie_name]." ("base", "base", "base", "mid",xpos="right",ypos="base") - gen "Well? How was your day?" ("base", xpos="far_left", ypos="head") - her "Great, [genie_name]... Just... great." ("base", "narrow", "base", "up") - gen "Go on..." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "I managed to work out how to deal with this thing being inside me all day..." ("soft", "happy", "base", "R") - gen "Really? Do tell..." ("base", xpos="far_left", ypos="head") - her "At first, I was going about it the wrong way..." ("open", "base", "base", "R") - her "I just tried to ignore it." ("open", "closed", "base", "mid") - her "And to pay attention in class..." - her "But that didn't work at all..." ("upset", "wink", "base", "mid") - her "I was just too--{w=0.4} Distracted..." ("base", "narrow", "worried", "down") - her "So I thought to myself that I've just got to focus on it..." ("base", "narrow", "base", "up") - her "Block out everything else..." ("base", "narrow", "worried", "down") - her "... Embrace it..." ("grin", "narrow", "base", "dead") - gen "And how did you do that?" ("base", xpos="far_left", ypos="head") - her "Well, at first I tried rocking my hips, which worked for a bit..." ("base", "narrow", "base", "mid_soft") - her "But after some time of doing so, it wasn't really enough..." ("base", "narrow", "base", "mid_soft") - her "That's when I finally tried sitting right on the edge of my chair while rocking my hips..." ("base", "squint", "base", "mid") - her "{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "up") - gen "So you worked out how to pleasure yourself in class." ("base", xpos="far_left", ypos="head") - her "I did, [genie_name]..." ("base", "narrow", "worried", "down") - her "Although I worry that if I do it too often it will really start to affect my grades..." - gen "Well I'm sure that missing a class or two isn't enough for you not to be able to catch up." ("base", xpos="far_left", ypos="head") - her "One or two?" ("angry", "wink", "base", "mid") - gen "Yes, I--" ("base", xpos="far_left", ypos="head") - gen "Hold on, you're saying that you spent all of today's classes pleasuring yourself?" ("base", xpos="far_left", ypos="head") - her ".........." ("soft", "narrow", "annoyed", "up") - her "" (xpos="right",ypos="base",trans=fade) - gen "Nice work, [hermione_name]." ("base", xpos="far_left", ypos="head") + random: + block: + # Pleasured herself in class + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes I did, [name_genie_hermione]." ("base", "base", "base", "mid",xpos="right",ypos="base") + gen "Well? How was your day?" ("base", xpos="far_left", ypos="head") + her "Great, [name_genie_hermione]... Just... great." ("base", "narrow", "base", "up") + gen "Go on..." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "I managed to work out how to deal with this thing being inside me all day..." ("soft", "happy", "base", "R") + gen "Really? Do tell..." ("base", xpos="far_left", ypos="head") + her "At first, I was going about it the wrong way..." ("open", "base", "base", "R") + her "I just tried to ignore it." ("open", "closed", "base", "mid") + her "And to pay attention in class..." + her "But that didn't work at all..." ("upset", "wink", "base", "mid") + her "I was just too--{w=0.4} Distracted..." ("base", "narrow", "worried", "down") + her "So I thought to myself that I've just got to focus on it..." ("base", "narrow", "base", "up") + her "Block out everything else..." ("base", "narrow", "worried", "down") + her "... Embrace it..." ("grin", "narrow", "base", "dead") + gen "And how did you do that?" ("base", xpos="far_left", ypos="head") + her "Well, at first, I tried rocking my hips, which worked for a bit..." ("base", "narrow", "base", "mid_soft") + her "But after some time of doing so, it wasn't really enough..." ("base", "narrow", "base", "mid_soft") + her "That's when I finally tried sitting right on the edge of my chair while rocking my hips..." ("base", "squint", "base", "mid") + her "{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "up") + gen "So you worked out how to pleasure yourself in class." ("base", xpos="far_left", ypos="head") + her "I did, [name_genie_hermione]..." ("base", "narrow", "worried", "down") + her "Although I worry that if I do it too often it will really start to affect my grades..." + gen "Well, I'm sure that missing a class or two isn't enough for you not to be able to catch up." ("base", xpos="far_left", ypos="head") + her "One or two?" ("angry", "wink", "base", "mid") + gen "Yes, I--" ("base", xpos="far_left", ypos="head") + gen "Hold on, you're saying that you spent all of today's classes pleasuring yourself?" ("base", xpos="far_left", ypos="head") + her ".........." ("soft", "narrow", "annoyed", "up") + her "" (xpos="right",ypos="base",trans=fade) + gen "Nice work, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - # Colin Creevey took an upskirt photo - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes I did, [genie_name]." ("base", "base", "base", "mid", xpos="right", ypos="base") - her "Although...{w=0.4} *Ehm*..." ("open", "base", "worried", "mid") - gen "Yes?" ("base", xpos="far_left", ypos="head") - her "Well, I may have gotten a bit more attention than I had hoped for..." ("disgust", "narrow", "base", "down") - her "..............." ("clench", "narrow", "base", "down") - gen "Right, so tell me what happened." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "I might have had a few photos taken..." ("open", "narrow", "worried", "down") - gen "Photos?" ("base", xpos="far_left", ypos="head") - her "Well, I was in the library, minding my own business..." ("annoyed", "closed", "base", "mid") - her "I was browsing the book shelves and saw that they'd finally acquired a copy of Zygmunt Budge's book of potions." - her "And I sort of forgot I had the plug in and everything." - her "As it was on the bottom shelf, I quickly kneeled down to grab it..." ("annoyed", "base", "base", "mid") - her "When all of a sudden I heard the flash of a camera!" ("annoyed", "narrow", "angry", "R") - her "I turned around and there was Colin Creevey..." - her "With the biggest grin on his face!" - gen "You let your photo be taken?!" ("base", xpos="far_left", ypos="head") - her "I didn't let it happen! He did it without my consent!" ("scream", "base", "angry", "mid", emote="angry") - her "Luckily I managed to grab him and made him promise not to show anyone the photo..." ("open", "narrow", "worried", "down") - her "... In exchange I did have to let him take a few more though..." - gen "You... Let him take more pictures? Wouldn't that make it worse?" ("base", xpos="far_left", ypos="head") - her "Of course not [genie_name], Gryffindors are always true to their word!" ("annoyed", "closed", "base", "mid") - her "Although the thought did cross my mind...." ("open", "narrow", "worried", "down") - her "If he released them then I'm sure that any time someone saw me they'd try and see whether or not I had a plug inside me..." ("base", "narrow", "worried", "down") - her "In any case, I'm certain that he won't release any of those photos!" ("open", "closed", "base", "mid") - gen "If you say so..." ("base", xpos="far_left", ypos="head") - her "He's not an idiot... He'd know that if he were to spread those photos around it would tarnish not just my reputation but Gryffindor as a whole." ("clench", "narrow", "base", "down") - her "" ("base", "narrow", "base", "mid_soft") - gen "Very well... In that case, it sounds like a job well done [hermione_name]." ("base", xpos="far_left", ypos="head") + block: + # Colin Creevey took an upskirt photo + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes I did, [name_genie_hermione]." ("base", "base", "base", "mid", xpos="right", ypos="base") + her "Although...{w=0.4} *Ehm*..." ("open", "base", "worried", "mid") + gen "Yes?" ("base", xpos="far_left", ypos="head") + her "Well, I may have gotten a bit more attention than I had hoped for..." ("disgust", "narrow", "base", "down") + her "..............." ("clench", "narrow", "base", "down") + gen "Right, so tell me what happened." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "I might have had a few photos taken..." ("open", "narrow", "worried", "down") + gen "Photos?" ("base", xpos="far_left", ypos="head") + her "Well, I was in the library, minding my own business..." ("annoyed", "closed", "base", "mid") + her "I was browsing the bookshelves and saw that they'd finally acquired a copy of Zygmunt Budge's book of potions." + her "And I sort of forgot I had the plug in and everything." + her "As it was on the bottom shelf, I quickly kneeled down to grab it..." ("annoyed", "base", "base", "mid") + her "When all of a sudden I heard the flash of a camera!" ("annoyed", "narrow", "angry", "R") + her "I turned around and there was Colin Creevey..." + her "With the biggest grin on his face!" + gen "You let your photo be taken?!" ("base", xpos="far_left", ypos="head") + her "I didn't let it happen! He did it without my consent!" ("scream", "base", "angry", "mid", emote="angry") + her "Luckily I managed to grab him and made him promise not to show anyone the photo..." ("open", "narrow", "worried", "down") + her "... In exchange, I did have to let him take a few more though..." + gen "You... Let him take more pictures? Wouldn't that make it worse?" ("base", xpos="far_left", ypos="head") + her "Of course not [name_genie_hermione], Gryffindors are always true to their word!" ("annoyed", "closed", "base", "mid") + her "Although the thought did cross my mind...." ("open", "narrow", "worried", "down") + her "If he released them then I'm sure that any time someone saw me they'd try and see whether or not I had a plug inside me..." ("base", "narrow", "worried", "down") + her "In any case, I'm certain that he won't release any of those photos!" ("open", "closed", "base", "mid") + gen "If you say so..." ("base", xpos="far_left", ypos="head") + her "He's not an idiot... He'd know that if he were to spread those photos around, it would tarnish not just my reputation but Gryffindor as a whole." ("clench", "narrow", "base", "down") + her "" ("base", "narrow", "base", "mid_soft") + gen "Very well... In that case, it sounds like a job well done [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - # Flashed students on her way to class - call play_music("chipper_doodle") - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes, I did [genie_name]..." ("base", "squint", "base", "mid", xpos="right", ypos="base") - gen "Did anyone notice?" ("base", xpos="far_left", ypos="head") - her "*Hmm*...{w=0.4} Maybe..." - her "I may have gotten a little too confident..." - gen "Do tell..." ("base", xpos="far_left", ypos="head") - her "Well, I was walking to divination class and ended up in front of a group of students..." ("open", "closed", "base", "mid") - her "And seeing as how they were behind me on the stairs, they may have been able to... See it." ("base", "narrow", "base", "mid_soft") - gen "You're not expecting me to grant you extra points for showing them, are you?" ("base", xpos="far_left", ypos="head") - her "Of course not, [genie_name]." ("base", "base", "base", "R", cheeks="blush") - gen "Then why do it?" ("base", xpos="far_left", ypos="head") - her "I don't know... As I said, I was probably being a bit too confident..." ("open", "happy", "base", "mid", cheeks="blush") - gen "Well, hopefully they didn't see it then." ("base", xpos="far_left", ypos="head") - her "*Hmm*...{w=0.4} Well, I wouldn't count on it... As I couldn't help looking back to find out..." ("grin", "narrow", "base", "dead") - her "And...{w=0.4} Well...{w=0.4} Judging by their eyes, they probably did see it..." ("soft", "narrow", "annoyed", "up") - gen "So...{w=0.4} What you're saying is that you wanted to make sure that they saw it?" ("base", xpos="far_left", ypos="head") - gen "Sounds to me like you're enjoying students seeing you like this..." ("base", xpos="far_left", ypos="head") - her "If that's what you want to believe..." ("open", "base", "base", "R") - gen "Well done, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "" ("base", "narrow", "worried", "down") + block: + # Flashed students on her way to class + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes, I did [name_genie_hermione]..." ("base", "squint", "base", "mid", xpos="right", ypos="base") + gen "Did anyone notice?" ("base", xpos="far_left", ypos="head") + her "*Hmm*...{w=0.4} Maybe..." + her "I may have gotten a little too confident..." + gen "Do tell..." ("base", xpos="far_left", ypos="head") + her "Well, I was walking to divination class and ended up in front of a group of students..." ("open", "closed", "base", "mid") + her "And seeing as how they were behind me on the stairs, they may have been able to... See it." ("base", "narrow", "base", "mid_soft") + gen "You're not expecting me to grant you extra points for showing them, are you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course not, [name_genie_hermione]." ("base", "base", "base", "R") + gen "Then why do it?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I don't know... As I said, I was probably being a bit too confident..." ("open", "happy", "base", "mid") + gen "Well, hopefully they didn't see it then." ("base", xpos="far_left", ypos="head") + her "*Hmm*...{w=0.4} Well, I wouldn't count on it... As I couldn't help looking back to find out..." ("grin", "narrow", "base", "dead") + her "And...{w=0.4} Well...{w=0.4} Judging by their eyes, they probably did see it..." ("soft", "narrow", "annoyed", "up") + gen "So...{w=0.4} What you're saying is that you wanted to make sure that they saw it?" ("base", xpos="far_left", ypos="head") + gen "Sounds to me like you're enjoying students seeing you like this..." ("base", xpos="far_left", ypos="head") + her "If that's what you want to believe..." ("open", "base", "base", "R") + gen "Well done, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "" ("base", "narrow", "worried", "down") $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." call her_walk(action="leave") jump end_hermione_event label hg_butt_plugs_medium_return: - $ random_number = renpy.random.randint(1, 3) + call her_walk(action="enter", xpos="mid", ypos="base") - if not buttplug_magic_known: + if not states.her.ev.buttplugs.magic_known: jump .magic_show - if her_whoring <= 21: - if random_number == 1: - # Stood in front during potions class - gen "[hermione_name], how's your day been?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") - her "Awful...{w=0.4} Simply awful..." ("annoyed", "squint", "angry", "mid",xpos="right",ypos="base") - gen "What happened?" ("base", xpos="far_left", ypos="head") - her "Professor Snape happened, [genie_name]!" ("annoyed", "narrow", "angry", "R") - her "I've never been so embarrassed in my life!" ("annoyed", "narrow", "annoyed", "mid") - gen "Severus? What did he do this time?" ("base", xpos="far_left", ypos="head") - her "Well, apparently I dared to suggest there was a better way to properly crush a Sopophorous bean..." ("annoyed", "narrow", "angry", "R") - her "So of course he made me stand in front of the class and show them \"how it's done\"..." - gen "What's wrong with that?" ("base", xpos="far_left", ypos="head") - her "He obviously knew about my situation because he made me do it facing away from the class..." ("annoyed", "narrow", "annoyed", "mid") - gen "You sure? How could he have known?" ("base", xpos="far_left", ypos="head") - her "I don't know, you tell me! Why else would he make me do that?" ("disgust", "narrow", "base", "down") - gen "..." ("base", xpos="far_left", ypos="head") - gen "So, do you think anyone noticed?" ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} I don't know... I was trying my best to not let it slip out as my legs were shaking, and to crush the bean as fast as possible..." ("clench", "narrow", "base", "down") - gen "At least you got to show how a lady handles a bean." ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("annoyed", "narrow", "base", "down") - gen "Well it sounds like you earned your points." ("base", xpos="far_left", ypos="head") - her "......." ("annoyed", "narrow", "worried", "down") + if states.her.level <= 21: + random: + block: + # Stood in front during potions class + gen "[name_hermione_genie], how's your day been?" ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + her "Awful...{w=0.4} Simply awful..." ("annoyed", "squint", "angry", "mid",xpos="right",ypos="base") + gen "What happened?" ("base", xpos="far_left", ypos="head") + her "Professor Snape happened, [name_genie_hermione]!" ("annoyed", "narrow", "angry", "R") + her "I've never been so embarrassed in my life!" ("annoyed", "narrow", "annoyed", "mid") + gen "Severus? What did he do this time?" ("base", xpos="far_left", ypos="head") + her "Well, apparently I dared to suggest there was a better way to properly crush a Sopophorous bean..." ("annoyed", "narrow", "angry", "R") + her "So of course, he made me stand in front of the class and show them \"how it's done\"..." + gen "What's wrong with that?" ("base", xpos="far_left", ypos="head") + her "He obviously knew about my situation because he made me do it facing away from the class..." ("annoyed", "narrow", "annoyed", "mid") + gen "You sure? How could he have known?" ("base", xpos="far_left", ypos="head") + her "I don't know, you tell me! Why else would he make me do that?" ("disgust", "narrow", "base", "down") + gen "..." ("base", xpos="far_left", ypos="head") + gen "So, do you think anyone noticed?" ("base", xpos="far_left", ypos="head") + her "I--{w=0.2} I don't know... I was trying my best to not let it slip out as my legs were shaking, and to crush the bean as fast as possible..." ("clench", "narrow", "base", "down") + gen "At least you got to show how a lady handles a bean." ("base", xpos="far_left", ypos="head") + her "*Hmph*..." ("annoyed", "narrow", "base", "down") + gen "Well, it sounds like you earned your points." ("base", xpos="far_left", ypos="head") + her "......." ("annoyed", "narrow", "worried", "down") - elif random_number == 2: - # Flashed some Hufflepuffs - gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") - her "It went well, [genie_name]..." ("open", "base", "base", "mid",xpos="right",ypos="base") - call play_music("playful_tension") - her "A group of students from Hufflepuff even complimented me on it..." - her "... They said that it looked cute..." ("grin", "base", "base", "R") - gen "Did anything else happen?" ("base", xpos="far_left", ypos="head") - her "Well, seeing as how they were so nice..." ("base", "narrow", "worried", "down") - her "I might have flicked my skirt up for them..." ("soft", "happy", "base", "R") - gen "You showed it to them?" ("base", xpos="far_left", ypos="head") - her "Well, they were so kind and all..." ("open", "base", "base", "R") - her "And they could already see most of it..." ("base", "narrow", "worried", "down") - gen "Did they say anything else about it?" ("base", xpos="far_left", ypos="head") - her "No... But the looks on their faces said a lot..." ("base", "narrow", "base", "mid_soft") - gen "Well, it sounds like a job well done..." ("base", xpos="far_left", ypos="head") + block: + # Flashed some Hufflepuffs + gen "[name_hermione_genie], how did it go?" ("base", xpos="far_left", ypos="head") + her "It went well, [name_genie_hermione]..." ("open", "base", "base", "mid",xpos="right",ypos="base") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "A group of students from Hufflepuff even complimented me on it..." + her "... They said that it looked cute..." ("grin", "base", "base", "R") + gen "Did anything else happen?" ("base", xpos="far_left", ypos="head") + her "Well, seeing as how they were so nice..." ("base", "narrow", "worried", "down") + her "I might have flicked my skirt up for them..." ("soft", "happy", "base", "R") + gen "You showed it to them?" ("base", xpos="far_left", ypos="head") + her "Well, they were so kind and all..." ("open", "base", "base", "R") + her "And they could already see most of it..." ("base", "narrow", "worried", "down") + gen "Did they say anything else about it?" ("base", xpos="far_left", ypos="head") + her "No... But the looks on their faces said a lot..." ("base", "narrow", "base", "mid_soft") + gen "Well, it sounds like a job well done..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - # Cat swatting it - label .magic_show: + block: + # Cat swatting it + label .magic_show: - $ buttplug_magic_known = True + $ states.her.ev.buttplugs.magic_known = True - gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") - her "What on earth did you do to this thing?!" ("scream", "happyCl", "worried", "mid",xpos="right",ypos="base") - gen "What happened?" ("base", xpos="far_left", ypos="head") - her "Why did you not tell me this \'thing\' was cursed!" ("normal", "happyCl", "worried", "mid") - gen "Cursed?" ("base", xpos="far_left", ypos="head") - her "It vibrates!" ("annoyed", "narrow", "angry", "R") - gen "Really?" ("base", xpos="far_left", ypos="head") - her "When something else touches it..." ("annoyed", "narrow", "angry", "R") - gen "Wouldn't your skirt set it off then?" ("base", xpos="far_left", ypos="head") - her "I think it has to be alive..." ("annoyed", "base", "worried", "R") - her "All I know is that when my cat Crookshanks swatted at it, it went off!" ("scream", "closed", "angry", "mid") - her "It was ridiculous! I was barely able to stand..." ("open", "happyCl", "worried", "mid") - her "The vibrations were so intense that my knees gave out and I collapsed onto my bed!" ("angry", "narrow", "base", "down") - gen "(Is she making this up?)" ("base", xpos="far_left", ypos="head") - gen "Well... I'll be sure to inspect it thoroughly and remove this curse..." ("base", xpos="far_left", ypos="head") - her "Oh... *Ehm*... No, it's fine really [genie_name], you can leave it the way it is." ("clench", "narrow", "base", "down") - gen "Alright then... good work [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], how did it go?" ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + her "What on earth did you do to this thing?!" ("scream", "happyCl", "worried", "mid",xpos="right",ypos="base") + gen "What happened?" ("base", xpos="far_left", ypos="head") + her "Why did you not tell me this \'thing\' was cursed!" ("normal", "happyCl", "worried", "mid") + gen "Cursed?" ("base", xpos="far_left", ypos="head") + her "It vibrates!" ("annoyed", "narrow", "angry", "R") + gen "Really?" ("base", xpos="far_left", ypos="head") + her "When something else touches it..." ("annoyed", "narrow", "angry", "R") + gen "Wouldn't your skirt set it off then?" ("base", xpos="far_left", ypos="head") + her "I think it has to be alive..." ("annoyed", "base", "worried", "R") + her "All I know is that when my cat Crookshanks swatted at it, it went off!" ("scream", "closed", "angry", "mid") + her "It was ridiculous! I was barely able to stand..." ("open", "happyCl", "worried", "mid") + her "The vibrations were so intense that my knees gave out, and I collapsed onto my bed!" ("angry", "narrow", "base", "down") + gen "(Is she making this up?)" ("base", xpos="far_left", ypos="head") + gen "Well... I'll be sure to inspect it thoroughly and remove this curse..." ("base", xpos="far_left", ypos="head") + her "Oh... *Ehm*... No, it's fine really [name_genie_hermione], you can leave it the way it is." ("clench", "narrow", "base", "down") + gen "Alright then... good work [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - elif her_whoring <= 23: - if random_number == 1: - # Luna played with it in the library + elif states.her.level <= 23: + random: + block: + # Luna played with it in the library - call play_music("chipper_doodle") - gen "[hermione_name], did you have fun?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... I suppose you could say that." ("base", "narrow", "worried", "down",xpos="right",ypos="base") - gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") - her "Yes... Well I might've... *Ehm*..." ("base", "narrow", "worried", "down") - her "Had someone..." ("base", "happyCl", "worried", "mid") - her "Touch it." ("base", "narrow", "base", "mid_soft") - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "It was Luna Lovegood." ("grin", "base", "base", "R") - her "We ended up sitting next to each other in the library." ("soft", "base", "base", "R") - her "And we were talking about school, clothes..." - her "Well, I was, she was going on about--" - gen "Yes, yes, spit it out..." ("base", xpos="far_left", ypos="head") - her "Well, she said that she thought my tail was cute..." ("grin", "base", "base", "R") - gen "Go on..." ("base", xpos="far_left", ypos="head") - her "Then she asked so politely if she could touch it..." ("base", "narrow", "worried", "down") - her "I could hardly say no..." ("open", "base", "base", "R") - her "So I... Let her spend the next ten minutes or so... Toying with it..." ("soft", "happy", "base", "R") - gen "I see..." ("base", xpos="far_left", ypos="head") - her "I don't think she realised and how it made me feel..." ("soft", "narrow", "annoyed", "up") - her "It felt so good that it was hard to keep it in." ("soft", "narrow", "annoyed", "up") - gen "Keep what in?" ("base", xpos="far_left", ypos="head") - her "My voice..." - gen "Right..." ("base", xpos="far_left", ypos="head") - gen "Well it sounds like you've earned your points and then some." ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie], did you have fun?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... I suppose you could say that." ("base", "narrow", "worried", "down",xpos="right",ypos="base") + gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") + her "Yes... Well, I might've... *Ehm*..." ("base", "narrow", "worried", "down") + her "Had someone..." ("base", "happyCl", "worried", "mid") + her "Touch it." ("base", "narrow", "base", "mid_soft") + gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + her "It was Luna Lovegood." ("grin", "base", "base", "R") + her "We ended up sitting next to each other in the library." ("soft", "base", "base", "R") + her "And we were talking about school, clothes..." + her "Well, I was, she was going on about--" + gen "Yes, yes, spit it out..." ("base", xpos="far_left", ypos="head") + her "Well, she said that she thought my tail was cute..." ("grin", "base", "base", "R") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her "Then she asked so politely if she could touch it..." ("base", "narrow", "worried", "down") + her "I could hardly say no..." ("open", "base", "base", "R") + her "So I... Let her spend the next ten minutes or so... Toying with it..." ("soft", "happy", "base", "R") + gen "I see..." ("base", xpos="far_left", ypos="head") + her "I don't think she realised and how it made me feel..." ("soft", "narrow", "annoyed", "up") + her "It felt so good that it was hard to keep it in." ("soft", "narrow", "annoyed", "up") + gen "Keep what in?" ("base", xpos="far_left", ypos="head") + her "My voice..." + gen "Right..." ("base", xpos="far_left", ypos="head") + gen "Well, it sounds like you've earned your points and then some." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - # Friend played with it + block: + # Friend played with it - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "I did, [genie_name]." ("open", "closed", "base", "mid",xpos="right",ypos="base") - her "Only... *Ehm*..." ("grin", "base", "base", "R") - gen "What is it this time [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Well... One of my friends..." ("base", "base", "base", "mid") - her "Well, I told her about the tail..." ("base", "base", "base", "R",cheeks="blush") - her "And how it works..." - gen "Just say it, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Well, we decided to skip Herbology class together..." ("open", "base", "base", "R") - call play_music("playful_tension") - her "And then she sort of grabbed it..." ("grin", "narrow", "annoyed", "up") - her "And she just played with it aggressively..." ("grin", "narrow", "base", "dead") - her "I was a mess afterwards..." - gen "And did you return the favour?" ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "I did, [name_genie_hermione]." ("open", "closed", "base", "mid",xpos="right",ypos="base") + her "Only... *Ehm*..." ("grin", "base", "base", "R") + gen "What is it this time [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Well... One of my friends..." ("base", "base", "base", "mid") + her @ cheeks blush "Well, I told her about the tail..." ("base", "base", "base", "R") + her "And how it works..." + gen "Just say it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Well, we decided to skip Herbology class together..." ("open", "base", "base", "R") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "And then she sort of grabbed it..." ("grin", "narrow", "annoyed", "up") + her "And she just played with it aggressively..." ("grin", "narrow", "base", "dead") + her "I was a mess afterwards..." + gen "And did you return the favour?" ("grin", xpos="far_left", ypos="head") - if hg_pr_kiss.counter >= 1: - her "Err... maybe..." ("open", "happy", "base", "mid",cheeks="blush") - gen "What did you do?" ("base", xpos="far_left", ypos="head") - her "Well I don't want to say too much [genie_name]." ("base", "base", "base", "R",cheeks="blush") - her "But after she saw what it was doing to me..." - her "She insisted that I let her have a go..." - her "And that's all I'll say..." ("base", "narrow", "worried", "down") - gen "*Hmm*... I suppose you've earned your points [hermione_name], even if you are secretive about it..." ("base", xpos="far_left", ypos="head") - else: - her "... No." ("open", "narrow", "worried", "down") - gen "Why not?" ("base", xpos="far_left", ypos="head") - her "Well I don't mind letting her touch the tail [genie_name]." ("annoyed", "base", "base", "mid") - her "But anything else..." - gen "Very good [hermione_name]..." ("base", xpos="far_left", ypos="head") + if states.her.status.public_kissing: + her @ cheeks blush "*Err*... maybe..." ("open", "happy", "base", "mid") + gen "What did you do?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, I don't want to say too much [name_genie_hermione]." ("base", "base", "base", "R") + her "But after she saw what it was doing to me..." + her "She insisted that I let her have a go..." + her "And that's all I'll say..." ("base", "narrow", "worried", "down") + gen "*Hmm*... I suppose you've earned your points [name_hermione_genie], even if you are secretive about it..." ("base", xpos="far_left", ypos="head") + else: + her "... No." ("open", "narrow", "worried", "down") + gen "Why not?" ("base", xpos="far_left", ypos="head") + her "Well, I don't mind letting her touch the tail [name_genie_hermione]." ("annoyed", "base", "base", "mid") + her "But anything else..." + gen "Very good [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - # Called a slut by Slytherin girls - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]. I did." ("annoyed", "narrow", "angry", "R",xpos="right",ypos="base") - gen "Great. Tell me more." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "Well, there's not much to tell..." ("open", "narrow", "worried", "down") - her "I attended classes..." - her "Studied for the upcoming potions test..." - her "It was a normal day except for coming across a group of nasty Slytherin tramps..." ("annoyed", "narrow", "angry", "R") - her "I was minding my business on the way to class when they called me a \"butt slut\"." ("angry", "narrow", "base", "down") - gen "I see... So you gave them a piece of your mind?" ("base", xpos="far_left", ypos="head") - her "And sink to their level?" ("annoyed", "narrow", "angry", "R") - gen "Well, I suppose it's for the best." ("base", xpos="far_left", ypos="head") + block: + # Called a slut by Slytherin girls + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]. I did." ("annoyed", "narrow", "angry", "R",xpos="right",ypos="base") + gen "Great. Tell me more." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Well, there's not much to tell..." ("open", "narrow", "worried", "down") + her "I attended classes..." + her "Studied for the upcoming potions test..." + her "It was a normal day except for coming across a group of nasty Slytherin tramps..." ("annoyed", "narrow", "angry", "R") + her "I was minding my business on the way to class when they called me a \"butt slut\"." ("angry", "narrow", "base", "down") + gen "I see... So, you gave them a piece of your mind?" ("base", xpos="far_left", ypos="head") + her "And sink to their level?" ("annoyed", "narrow", "angry", "R") + gen "Well, I suppose it's for the best." ("base", xpos="far_left", ypos="head") - elif her_whoring >= 24: - if random_number == 1: - # Groped by students + elif states.her.level >= 24: + random: + block: + # Groped by students - gen "[hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") - her "Awful... I was attacked by a group of rabid students, [genie_name]." ("scream", "closed", "angry", "mid",xpos="right",ypos="base") - gen "Attacked? By How many?" ("base", xpos="far_left", ypos="head") - her "Six!" ("annoyed", "base", "angry", "mid") - call play_music("playful_tension") - her "Although maybe the word \"attacked\" is a slight exaggeration... They cornered me at least." ("open", "base", "worried", "R") - gen "So, what happened?" ("base", xpos="far_left", ypos="head") - her "Well, I was sitting in the library, minding my own business..." ("annoyed", "narrow", "angry", "R") - her "I must've not been careful enough to hide the tail as all of a sudden a group of students came out of nowhere." ("angry", "happyCl", "worried", "mid") - her "They started asking me all these questions..." ("angry", "happyCl", "worried", "mid") - her "\"Is it fluffy\"?" ("annoyed", "narrow", "angry", "R") - her "\"Why are you wearing it\"?" ("angry", "narrow", "base", "down") - her "\"Does it feel nice\"?" ("base", "narrow", "worried", "down") - her "\"Can we touch it\"?" ("base", "narrow", "worried", "down") - her "\"Can you make it wag\"..." ("angry", "wink", "base", "mid") - gen "Sounds like reasonable enough things to ask..." ("base", xpos="far_left", ypos="head") - gen "So, what did you tell them?" ("base", xpos="far_left", ypos="head") - her "I didn't tell them anything!" ("upset", "closed", "base", "mid") - gen "You didn't--" ("base", xpos="far_left", ypos="head") - her "We were in the library for crying out loud..." ("upset", "closed", "base", "mid") - her "Instead I made them promise to keep quiet and not let anyone know about it..." ("upset", "closed", "base", "mid") - her "And in exchange I let them touch it for a bit..." ("open", "narrow", "worried", "down") - her "{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "up") - gen "So... Instead of answering some innocent questions... You let them touch your butt plug..." ("base", xpos="far_left", ypos="head") - her "It sounds sinister when you put it like that." ("annoyed", "narrow", "angry", "R") - her "All I did was take them to a secluded part of the library and let them touch my tail..." - gen "Well that's alright then..." ("base", xpos="far_left", ypos="head") - her "......." ("base", "narrow", "worried", "down") - gen "So, did you enjoy it?" ("base", xpos="far_left", ypos="head") - her ".........." ("angry", "base", "base", "mid") - her "Truthfully [genie_name].... It was one of the most pleasurable experiences of my life..." ("grin", "narrow", "base", "dead") - her "All their hands touching it..." ("soft", "narrow", "annoyed", "up") - her "Taking turns..." ("grin", "narrow", "annoyed", "up") - her "All the while it was vibrating away..." ("base", "narrow", "worried", "down") - her "I nearly passed out." ("silly", "narrow", "base", "dead") - her "Especially when one of them pulled at it a bit..." ("silly", "narrow", "annoyed", "up") - her "..." ("grin", "narrow", "annoyed", "up") - gen "Nice work, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") + her "Awful... I was attacked by a group of rabid students, [name_genie_hermione]." ("scream", "closed", "angry", "mid",xpos="right",ypos="base") + gen "Attacked? By How many?" ("base", xpos="far_left", ypos="head") + her "Six!" ("annoyed", "base", "angry", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Although maybe the word \"attacked\" is a slight exaggeration... They cornered me at least." ("open", "base", "worried", "R") + gen "So, what happened?" ("base", xpos="far_left", ypos="head") + her "Well, I was sitting in the library, minding my own business..." ("annoyed", "narrow", "angry", "R") + her "I must've not been careful enough to hide the tail as all of a sudden, a group of students came out of nowhere." ("angry", "happyCl", "worried", "mid") + her "They started asking me all these questions..." ("angry", "happyCl", "worried", "mid") + her "\"Is it fluffy\"?" ("annoyed", "narrow", "angry", "R") + her "\"Why are you wearing it\"?" ("angry", "narrow", "base", "down") + her "\"Does it feel nice\"?" ("base", "narrow", "worried", "down") + her "\"Can we touch it\"?" ("base", "narrow", "worried", "down") + her "\"Can you make it wag\"..." ("angry", "wink", "base", "mid") + gen "Sounds like reasonable enough things to ask..." ("base", xpos="far_left", ypos="head") + gen "So, what did you tell them?" ("base", xpos="far_left", ypos="head") + her "I didn't tell them anything!" ("upset", "closed", "base", "mid") + gen "You didn't--" ("base", xpos="far_left", ypos="head") + her "We were in the library for crying out loud..." ("upset", "closed", "base", "mid") + her "Instead, I made them promise to keep quiet and not let anyone know about it..." ("upset", "closed", "base", "mid") + her "And in exchange I let them touch it for a bit..." ("open", "narrow", "worried", "down") + her "{heart}{heart}{heart}" ("soft", "narrow", "annoyed", "up") + gen "So... Instead of answering some innocent questions... You let them touch your butt plug..." ("base", xpos="far_left", ypos="head") + her "It sounds sinister when you put it like that." ("annoyed", "narrow", "angry", "R") + her "All I did was take them to a secluded part of the library and let them touch my tail..." + gen "Well that's alright then..." ("base", xpos="far_left", ypos="head") + her "......." ("base", "narrow", "worried", "down") + gen "So, did you enjoy it?" ("base", xpos="far_left", ypos="head") + her ".........." ("angry", "base", "base", "mid") + her "Truthfully [name_genie_hermione].... It was one of the most pleasurable experiences of my life..." ("grin", "narrow", "base", "dead") + her "All their hands touching it..." ("soft", "narrow", "annoyed", "up") + her "Taking turns..." ("grin", "narrow", "annoyed", "up") + her "All the while it was vibrating away..." ("base", "narrow", "worried", "down") + her "I nearly passed out." ("silly", "narrow", "base", "dead") + her "Especially when one of them pulled at it a bit..." ("silly", "narrow", "annoyed", "up") + her "..." ("grin", "narrow", "annoyed", "up") + gen "Nice work, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - # Glory hole with Female Student + block: + # Glory hole with Female Student - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes I did, [genie_name]..." ("base", "base", "base", "mid",xpos="right",ypos="base") - her "Did you know there are holes between the stalls in the girls' bathroom?" ("soft", "base", "base", "mid") - gen "I did not, but What does that have to do with your butt plug?" ("base", xpos="far_left", ypos="head") - her "Well, I noticed that the hole is the same height as the tail..." ("grin", "base", "base", "R") - her "..............." ("grin", "happyCl", "worried", "mid") - gen "Go on, [hermione_name]." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "I might have put it through..." ("base", "narrow", "worried", "down") - gen "What?" ("base", xpos="far_left", ypos="head") - her "Well, I was in the stall finishing up..." ("base", "base", "base", "R") - her "When a girl entered the other stall." - her "I wasn't sure but I thought that it may have been a Slytherin..." ("upset", "wink", "base", "mid") - her "So I decided to press my cheeks to the wall and stick my tail through to freak her out!" ("smile", "base", "base", "R") - gen "Freak her out?" ("base", xpos="far_left", ypos="head") - her "Yeah!" ("grin", "base", "base", "R") - her "At first she didn't do anything, and I thought she must've been stunned by the sight, but after I gave it a little wiggle, instead of running off she tugged on it..." ("grin", "base", "base", "R") - her "I was worried she was gonna pull it out but she just stood there and eventually she started to play with it..." ("open", "base", "base", "R") - her "I didn't really know what to feel in case it was actually a Slytherin doing it." ("open", "base", "base", "R") - her "She was stroking it... flicking it... I even think she may have licked it..." ("soft", "narrow", "annoyed", "up") - her "... Imagine that... a Slytherin, licking something that was inside my..." - her "It was incredible... I could barely stand while it happened..." - gen "Sounds like you had a good time." ("base", xpos="far_left", ypos="head") - gen "Did you find out if it was a Slytherin or not?" ("base", xpos="far_left", ypos="head") - her "Unfortunately not... [genie_name]." ("open", "base", "worried", "mid") - her "Although truth be told, I'm not sure if I want to know..." ("open", "base", "worried", "mid") - #Maybe this section could be a check in the future if we feel it's appropriate - #her "It was at lunch, in the great hall." ("open", "closed", "base", "mid") - #her "I was walking past the Slytherin table on my way to sit down..." ("open", "closed", "base", "mid") - #her "when I saw that little... vixen, Astoria Greengrass." ("base", "squint", "base", "mid") - #her "she couldn't take her eyes off of it..." - #her "imagine that... Astoria Greengrass... pure-blood, licking my..." ("grin", "narrow", "annoyed", "up") - #her "{heart}........{heart}" ("soft", "narrow", "annoyed", "up") - #gen "It sounds like you've earned your points today then [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "*Hmm*... That's too bad, perhaps you'll see them at that hole again some time." ("base", xpos="far_left", ypos="head") - gen "Either way, you've surely earned your points." ("base", xpos="far_left", ypos="head") - her "...{size=-7}(I would have done this for free...){/size}" ("base", "narrow", "worried", "down") + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes I did, [name_genie_hermione]..." ("base", "base", "base", "mid",xpos="right",ypos="base") + her "Did you know there are holes between the stalls in the girls' bathroom?" ("soft", "base", "base", "mid") + gen "I did not, but What does that have to do with your butt plug?" ("base", xpos="far_left", ypos="head") + her "Well, I noticed that the hole is the same height as the tail..." ("grin", "base", "base", "R") + her "..............." ("grin", "happyCl", "worried", "mid") + gen "Go on, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "I might have put it through..." ("base", "narrow", "worried", "down") + gen "What?" ("base", xpos="far_left", ypos="head") + her "Well, I was in the stall finishing up..." ("base", "base", "base", "R") + her "When a girl entered the other stall." + her "I wasn't sure, but I thought that it may have been a Slytherin..." ("upset", "wink", "base", "mid") + her "So I decided to press my cheeks to the wall and stick my tail through to freak her out!" ("smile", "base", "base", "R") + gen "Freak her out?" ("base", xpos="far_left", ypos="head") + her "Yeah!" ("grin", "base", "base", "R") + her "At first she didn't do anything, and I thought she must've been stunned by the sight, but after I gave it a little wiggle, instead of running off she tugged on it..." ("grin", "base", "base", "R") + her "I was worried she was going to pull it out, but she just stood there, and eventually, she started to play with it..." ("open", "base", "base", "R") + her "I didn't really know what to feel in case it was actually a Slytherin doing it." ("open", "base", "base", "R") + her "She was stroking it... flicking it... I even think she may have licked it..." ("soft", "narrow", "annoyed", "up") + her "... Imagine that... a Slytherin, licking something that was inside my..." + her "It was incredible... I could barely stand while it happened..." + gen "Sounds like you had a good time." ("base", xpos="far_left", ypos="head") + gen "Did you find out if it was a Slytherin or not?" ("base", xpos="far_left", ypos="head") + her "Unfortunately not... [name_genie_hermione]." ("open", "base", "worried", "mid") + her "Although truth be told, I'm not sure if I want to know..." ("open", "base", "worried", "mid") + #Maybe this section could be a check in the future if we feel it's appropriate + #her "It was at lunch, in the great hall." ("open", "closed", "base", "mid") + #her "I was walking past the Slytherin table on my way to sit down..." ("open", "closed", "base", "mid") + #her "when I saw that little... vixen, Astoria Greengrass." ("base", "squint", "base", "mid") + #her "she couldn't take her eyes off of it..." + #her "imagine that... Astoria Greengrass... pure-blood, licking my..." ("grin", "narrow", "annoyed", "up") + #her "{heart}........{heart}" ("soft", "narrow", "annoyed", "up") + #gen "It sounds like you've earned your points today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "*Hmm*... That's too bad, perhaps you'll see them at that hole again some time." ("base", xpos="far_left", ypos="head") + gen "Either way, you've surely earned your points." ("base", xpos="far_left", ypos="head") + her "...{size=-7}(I would have done this for free...){/size}" ("base", "narrow", "worried", "down") - elif random_number == 3: - call play_music("chipper_doodle") - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes, I did [genie_name]..." ("base", "squint", "base", "mid",xpos="right",ypos="base") - gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") - her "Yes!" - her "I was walking down the hall and there were some students behind me..." ("base", "narrow", "base", "mid_soft") - her "And swear I could hear them whispering to each other..." - her "So I thought I may as well give them something to talk about..." ("base", "squint", "base", "mid") - her "So I stopped and pretended to tie my shoelaces, keeping my knees straight and bending over as far as I could..." ("base", "narrow", "base", "mid_soft") - gen "You exposed yourself in the middle of a corridor, just like that?" ("base", xpos="far_left", ypos="head") - her "Expose? I'm not sure I know what you mean...{w=0.4} I was tying my shoelaces........" ("base", "base", "base", "R",cheeks="blush") - gen "Very good, [hermione_name]!" ("base", xpos="far_left", ypos="head") + block: + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes, I did [name_genie_hermione]..." ("base", "squint", "base", "mid",xpos="right",ypos="base") + gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") + her "Yes!" + her "I was walking down the hall and there were some students behind me..." ("base", "narrow", "base", "mid_soft") + her "And swear I could hear them whispering to each other..." + her "So I thought I may as well give them something to talk about..." ("base", "squint", "base", "mid") + her "So I stopped and pretended to tie my shoelaces, keeping my knees straight and bending over as far as I could..." ("base", "narrow", "base", "mid_soft") + gen "You exposed yourself in the middle of a corridor, just like that?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Expose? I'm not sure I know what you mean...{w=0.4} I was tying my shoelaces........" ("base", "base", "base", "R") + gen "Very good, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." call her_walk(action="leave") @@ -950,97 +974,97 @@ label hg_butt_plugs_medium_return: label hg_butt_plugs_large_return: - $ random_number = renpy.random.randint(1, 3) call her_walk(action="enter", xpos="mid", ypos="base") - if random_number == 1: - # Student tried to pull it out - gen "[hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") - her "Awful, the worst thing possible happened!" ("scream", "closed", "angry", "mid",xpos="right",ypos="base") - gen "The worst thing? Worse than someone catching you with a tail up your butt?" ("base", xpos="far_left", ypos="head") - her "Yes, believe it or not." ("annoyed", "base", "angry", "mid") - gen "Now you've got me intrigued." ("base", xpos="far_left", ypos="head") - gen "What happened?" ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "Well... I was walking down to Hogsmeade as we had the afternoon off..." ("open", "base", "worried", "R") - her "And I thought I was alone but one of the Slytherin students suddenly rushed up behind me..." ("annoyed", "narrow", "angry", "R") - her "And I didn't even have enough time to react before he..." ("angry", "happyCl", "worried", "mid") - her "He..." ("annoyed", "narrow", "angry", "R") - her "Before he shouted \"Let it rip!\" and tugged on my tail!" ("angry", "narrow", "base", "down") - gen "He did what?" ("base", xpos="far_left", ypos="head") - her "I know! How dare he!" ("clench", "narrow", "worried", "down") - gen "Ten points to Slytherin!" ("base", xpos="far_left", ypos="head") - $ slytherin += 10 - her "What?!" ("scream", "wide", "angry", "mid") - her "Why are you giving points to Slytherin?!" ("angry", "wide", "angry", "mid") - gen "Such a one-liner ought to be rewarded!" ("base", xpos="far_left", ypos="head") - her "But [genie_name]! I'm doing this so that Gryffindor can get ahead of Slytherin!" ("upset", "base", "angry", "mid") - gen "Oh, right..." ("base", xpos="far_left", ypos="head") - gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 10 - her "*Hmm*... But now Ravenclaw and Hufflepuff are both behind..." ("open", "narrow", "worried", "down") - gen "Enough about the points. Tell me more about your behind." ("base", xpos="far_left", ypos="head") - her "My-- Oh right..." ("annoyed", "narrow", "angry", "R") - gen "What happened next?" ("base", xpos="far_left", ypos="head") - her "Well... I would normally not say this but I'm glad the plug is as big as it is." ("open", "narrow", "worried", "down") - gen "Didn't budge one bit I assume." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down") - her "Can I have my points now?" ("open", "narrow", "worried", "down") - gen "Certainly." ("base", xpos="far_left", ypos="head") - gen "Nice work, [hermione_name]." ("base", xpos="far_left", ypos="head") + random: + block: + # Student tried to pull it out + gen "[name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") + her "Awful, the worst thing possible happened!" ("scream", "closed", "angry", "mid",xpos="right",ypos="base") + gen "The worst thing? Worse than someone catching you with a tail up your butt?" ("base", xpos="far_left", ypos="head") + her "Yes, believe it or not." ("annoyed", "base", "angry", "mid") + gen "Now you've got me intrigued." ("base", xpos="far_left", ypos="head") + gen "What happened?" ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Well... I was walking down to Hogsmeade as we had the afternoon off..." ("open", "base", "worried", "R") + her "And I thought I was alone, but one of the Slytherin students suddenly rushed up behind me..." ("annoyed", "narrow", "angry", "R") + her "And I didn't even have enough time to react before he..." ("angry", "happyCl", "worried", "mid") + her "He..." ("annoyed", "narrow", "angry", "R") + her "Before he shouted \"Let it rip!\" and tugged on my tail!" ("angry", "narrow", "base", "down") + gen "He did what?" ("base", xpos="far_left", ypos="head") + her "I know! How dare he!" ("clench", "narrow", "worried", "down") + gen "Ten points to Slytherin!" ("base", xpos="far_left", ypos="head") + $ slytherin += 10 + her "What?!" ("scream", "wide", "angry", "mid") + her "Why are you giving points to Slytherin?!" ("angry", "wide", "angry", "mid") + gen "Such a one-liner ought to be rewarded!" ("base", xpos="far_left", ypos="head") + her "But [name_genie_hermione]! I'm doing this so that Gryffindor can get ahead of Slytherin!" ("upset", "base", "angry", "mid") + gen "Oh, right..." ("base", xpos="far_left", ypos="head") + gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor += 10 + her "*Hmm*... But now Ravenclaw and Hufflepuff are both behind..." ("open", "narrow", "worried", "down") + gen "Enough about the points. Tell me more about your behind." ("base", xpos="far_left", ypos="head") + her "My-- Oh right..." ("annoyed", "narrow", "angry", "R") + gen "What happened next?" ("base", xpos="far_left", ypos="head") + her "Well... I would normally not say this, but I'm glad the plug is as big as it is." ("open", "narrow", "worried", "down") + gen "Didn't budge one bit, I assume." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "base", "down") + her "Can I have my points now?" ("open", "narrow", "worried", "down") + gen "Certainly." ("base", xpos="far_left", ypos="head") + gen "Nice work, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - # Hermione is a Dragon - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes I did, [genie_name]..." ("base", "base", "base", "mid", xpos="right", ypos="base") - her "I found the perfect opportunity to show it off today." ("soft", "base", "base", "mid") - gen "Show it off? You actually showed it off to someone this time?" ("base", xpos="far_left", ypos="head") - her "I did..." ("grin", "base", "base", "R") - her "..............." ("grin", "happyCl", "worried", "mid") - gen "Go on, [hermione_name]." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "Well, we're currently studying Dragons in our care of magical creatures lessons." ("base", "narrow", "base", "down") - gen "Right?" ("base", xpos="far_left", ypos="head") - her "Well I thought it was a great opportunity to give a demonstration how female Dragons attracts their mates.." ("base", "base", "base", "R") - her "You're kidding..." - her "Nope, I was wearing a dragons head and everything!" ("grin", "wink", "base", "mid") - her "They didn't suspect a thing about where the tail was attached!" ("smile", "base", "base", "R") - gen "Did they touch it?" ("base", xpos="far_left", ypos="head") - her "They did..." ("base", "base", "base", "R") - her "And... Well, since I was roleplaying a female dragon in heat..." ("grin", "base", "base", "R") - her "You could probably guess the rest..." ("grin", "base", "base", "R") - gen "I'll be expecting a dragon egg on my desk in the next few months..." ("grin", xpos="far_left", ypos="head") - her "What?! No, it just got a bit heated, that's all!" ("clench", "wide", "base", "R") - gen "I know, I just wanted to hear you say it." ("grin", xpos="far_left", ypos="head") - gen "I suppose you better get some points, although I assume you've already earned a couple during that lesson." ("base", xpos="far_left", ypos="head") - her "A couple..." ("grin", "base", "base", "R") - gen "You sure have good imagination to come up with and do something like this... [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("grin", "base", "base", "R") - gen "Imagine dragons..." ("base", xpos="far_left", ypos="head") - her "*Hmm*?" - gen "Nevermind..." ("base", xpos="far_left", ypos="head") + block: + # Hermione is a Dragon + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes I did, [name_genie_hermione]..." ("base", "base", "base", "mid", xpos="right", ypos="base") + her "I found the perfect opportunity to show it off today." ("soft", "base", "base", "mid") + gen "Show it off? You actually showed it off to someone this time?" ("base", xpos="far_left", ypos="head") + her "I did..." ("grin", "base", "base", "R") + her "..............." ("grin", "happyCl", "worried", "mid") + gen "Go on, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her "Well, we're currently studying Dragons in our care of magical creatures lessons." ("base", "narrow", "base", "down") + gen "Right?" ("base", xpos="far_left", ypos="head") + her "Well, I thought it was a great opportunity to give a demonstration how female Dragons attract their mates.." ("base", "base", "base", "R") + her "You're kidding..." + her "Nope, I was wearing a dragon's head and everything!" ("grin", "wink", "base", "mid") + her "They didn't suspect a thing about where the tail was attached!" ("smile", "base", "base", "R") + gen "Did they touch it?" ("base", xpos="far_left", ypos="head") + her "They did..." ("base", "base", "base", "R") + her "And... Well, since I was role-playing a female dragon in heat..." ("grin", "base", "base", "R") + her "You could probably guess the rest..." ("grin", "base", "base", "R") + gen "I'll be expecting a dragon egg on my desk in the next few months..." ("grin", xpos="far_left", ypos="head") + her "What?! No, it just got a bit heated, that's all!" ("clench", "wide", "base", "R") + gen "I know, I just wanted to hear you say it." ("grin", xpos="far_left", ypos="head") + gen "I suppose you better get some points, although I assume you've already earned a couple during that lesson." ("base", xpos="far_left", ypos="head") + her "A couple..." ("grin", "base", "base", "R") + gen "You sure have good imagination to come up with and do something like this... [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Thank you [name_genie_hermione]..." ("grin", "base", "base", "R") + gen "Imagine dragons..." ("base", xpos="far_left", ypos="head") + her "*Hmm*?" + gen "Nevermind..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - # Rides Hippogriff with it inside - call play_music("chipper_doodle") - gen "[hermione_name], did you complete your task?" ("base", xpos="far_left", ypos="head") - her "Yes, I did [genie_name]..." ("base", "squint", "base", "mid",xpos="right",ypos="base") - gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") - her "Yes... As you probably know, you can't really sit very well with this thing inside." - gen "Can't say that I have first hand experience..." ("base", xpos="far_left", ypos="head") - her "Right..." - gen "So, what happened? I thought you'd expect you'd need to sit down at some point." ("base", xpos="far_left", ypos="head") - her "I did, although..." - her "I completely forgot that we were going to ride the Hippogriffs today..." ("base", "narrow", "base", "mid_soft") - gen "When you say ride--" ("base", xpos="far_left", ypos="head") - her "As in on their backs..." - gen "Oh, Good... Can never be too careful these days..." ("base", xpos="far_left", ypos="head") - her "It was quite an experience to say the least..." - gen "Very good, [hermione_name]!" ("base", xpos="far_left", ypos="head") + block: + # Rides Hippogriff with it inside + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + gen "[name_hermione_genie], did you complete your task?" ("base", xpos="far_left", ypos="head") + her "Yes, I did [name_genie_hermione]..." ("base", "squint", "base", "mid",xpos="right",ypos="base") + gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") + her "Yes... As you probably know, you can't really sit very well with this thing inside." + gen "Can't say that I have first-hand experience..." ("base", xpos="far_left", ypos="head") + her "Right..." + gen "So, what happened? I thought you'd expect you'd need to sit down at some point." ("base", xpos="far_left", ypos="head") + her "I did, although..." + her "I completely forgot that we were going to ride the Hippogriffs today..." ("base", "narrow", "base", "mid_soft") + gen "When you say ride--" ("base", xpos="far_left", ypos="head") + her "As in on their backs..." + gen "Oh, Good... Can never be too careful these days..." ("base", xpos="far_left", ypos="head") + her "It was quite an experience to say the least..." + gen "Very good, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." call her_walk(action="leave") diff --git a/game/scripts/characters/hermione/events/items/collars.rpy b/game/scripts/characters/hermione/events/items/collars.rpy index c4a6df6e..8a0323ee 100644 --- a/game/scripts/characters/hermione/events/items/collars.rpy +++ b/game/scripts/characters/hermione/events/items/collars.rpy @@ -2,17 +2,15 @@ ### Hermione Collar Event ### -default her_magic_collar_worn = False - label hg_collars: # Setup $ her_outfit_last.save() #Saves current clothing if hermione.is_worn("robe"): - gen "Before what I show you what we're doing today... Why don't you take those robes off and make yourself comfortable." ("base", xpos="far_left", ypos="head") + gen "Before I show you what we're doing today... Why don't you take those robes off and make yourself comfortable." ("base", xpos="far_left", ypos="head") her "Alright..." ("soft", "squint", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") with d3 gen "Now then..." ("base", xpos="far_left", ypos="head") @@ -20,17 +18,17 @@ label hg_collars: if hermione.is_worn("top"): gen "I've got something for you to put on..." ("base", xpos="far_left", ypos="head") her "Right..." ("open", "happy", "base", "mid") - gen "But first, I'll need you to remove your top or it might get caught in your clothing." ("base", xpos="far_left", ypos="head") + gen "But first, I'll need you to remove your top, or it might get caught in your clothing." ("base", xpos="far_left", ypos="head") - if her_tier == 1: - if hg_pf_admire_panties.is_event_complete(1, 1) or hg_pf_admire_breasts.is_event_complete(1, 1): + if states.her.tier == 1: + if states.her.status.show_bra or states.her.status.show_panties: her "You want me to remove my top?" ("soft", "happy", "worried", "R") gen "Yes please..." ("base", xpos="far_left", ypos="head") - her "I'm getting paid for this right?" ("open", "narrow", "base", "down") + her "I'm getting paid for this, right?" ("open", "narrow", "base", "down") gen "Of course." ("base", xpos="far_left", ypos="head") her "Fine..." ("open", "closed", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") pause .5 @@ -38,21 +36,21 @@ label hg_collars: else: #FAIL her "My top?" ("angry", "wide", "base", "mid") gen "Yes, your top... Is that going to be a problem?" ("base", xpos="far_left", ypos="head") - her "W-- Why do you need me to remove it?" ("clench", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "W-- Why do you need me to remove it?" ("clench", "narrow", "base", "down") gen "It's just phase one of today's favour..." ("base", xpos="far_left", ypos="head") her "Phase one... What's phase two?" ("angry", "squint", "base", "mid") gen "You'll see once you've taken that top off." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "mid") - her "No, I'm sorry [genie_name]... But I don't think I will." ("annoyed", "narrow", "base", "R") + her "No, I'm sorry [name_genie_hermione]... But I don't think I will." ("annoyed", "narrow", "base", "R") gen "(Damn... Maybe I should get her more used to taking her top off before doing this...)" ("base", xpos="far_left", ypos="head") jump hermione_requests - elif her_tier == 2: + elif states.her.tier == 2: her "*Hmm*... Alright... As long as you're paying me..." ("annoyed", "happy", "base", "R") gen "Of course..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") pause .5 @@ -61,7 +59,7 @@ label hg_collars: gen "Very." ("base", xpos="far_left", ypos="head") gen "Now..." ("base", xpos="far_left", ypos="head") - elif her_tier == 3: + elif states.her.tier == 3: her "My top?" ("soft", "squint", "base", "mid") gen "Yes... It is vitally important for this to succeed." ("base", xpos="far_left", ypos="head") her "What are we doing?" ("angry", "squint", "base", "mid") @@ -70,7 +68,7 @@ label hg_collars: her "Alright... As long as you're paying me..." ("open", "closed", "base", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") pause .5 @@ -79,7 +77,7 @@ label hg_collars: else: her "Alright..." ("base", "squint", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") pause .5 @@ -88,8 +86,8 @@ label hg_collars: # Remove (one) collar from the inventory $ collar_ITEM.owned -= 1 - if not her_magic_collar_worn: - $ her_magic_collar_worn = True + if not states.her.ev.magic_collar.worn: + $ states.her.ev.magic_collar.worn = True gen "I've got this collar that I'd like you to wear." ("base", xpos="far_left", ypos="head") her "A collar?" ("open", "happy", "base", "mid") @@ -101,11 +99,11 @@ label hg_collars: her "So, what does it do then?" ("open", "closed", "base", "mid") gen "It will permanently transform itself to show you your true self!" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "My true self?" ("soft", "squint", "base", "mid") gen "Yep..." ("base", xpos="far_left", ypos="head") - her "So, like fortune telling?" ("open", "narrow", "base", "mid") - gen "More like present telling." ("base", xpos="far_left", ypos="head") + her "So, like fortune-telling?" ("open", "narrow", "base", "mid") + gen "More like present-telling." ("base", xpos="far_left", ypos="head") her "Sounds silly... But alright then." ("soft", "narrow", "base", "R") her "How much am I being paid for this?" ("open", "narrow", "base", "mid") gen "Let's say thirty points..." ("base", xpos="far_left", ypos="head") @@ -117,7 +115,7 @@ label hg_collars: $ current_payout = 30 - elif her_whoring < 10: + elif states.her.level < 10: her "My true self?" ("soft", "base", "worried", "R") gen "Exactly..." ("base", xpos="far_left", ypos="head") her "I see..." ("open", "narrow", "worried", "R") @@ -129,11 +127,11 @@ label hg_collars: gen "*Hmm*... Just to put on a magic collar?" ("base", xpos="far_left", ypos="head") gen "And here I thought you weren't worried about it..." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "R") - gen "Very well, [hermione_name]... Thirty points it is." ("base", xpos="far_left", ypos="head") + gen "Very well, [name_hermione_genie]... Thirty points, it is." ("base", xpos="far_left", ypos="head") $ current_payout = 30 - elif her_whoring < 13: #stripped + elif states.her.level < 13: #stripped her "As if... You've probably just made it say \"pervert\" or something like that to mess with me..." ("clench", "narrow", "base", "R") gen "Pervert? As if I'd ever do something like that." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "annoyed", "mid") @@ -145,41 +143,41 @@ label hg_collars: $ current_payout = 20 - elif her_whoring < 19: #Handjob - her "What's that supposed to mean?" ("angry", "happy", "base", "mid", cheeks="blush") + elif states.her.level < 19: #Handjob + her @ cheeks blush "What's that supposed to mean?" ("angry", "happy", "base", "mid") gen "You know..." ("base", xpos="far_left", ypos="head") - her "No... I don't." ("angry", "narrow", "base", "mid", cheeks="blush") - her "Please enlighten me." ("soft", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "No... I don't." ("angry", "narrow", "base", "mid") + her @ cheeks blush "Please enlighten me." ("soft", "narrow", "annoyed", "mid") gen "Why don't I just put in on you, and we can find out for ourselves?" ("base", xpos="far_left", ypos="head") - her "I--{w=0.4} I don't want to!" ("angry", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.4} I don't want to!" ("angry", "closed", "worried", "mid") gen "Worried it might say something you don't like?" ("base", xpos="far_left", ypos="head") - her "Of course not!" ("soft", "squint", "worried", "R", cheeks="blush") - her "I'd just think I should get paid to put up with your shenanigans!" ("angry", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "Of course not!" ("soft", "squint", "worried", "R") + her @ cheeks blush "I'd just think I should get paid to put up with your shenanigans!" ("angry", "closed", "worried", "mid") gen "That's fair... But since it's just shenanigans after all... Ten point should be enough, should it not?" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") gen "Go on then, it's just a silly little collar." ("base", xpos="far_left", ypos="head") - her "Fine, ten points it is..." ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "Fine, ten points it is..." ("open", "closed", "worried", "mid") $ current_payout = 10 - elif her_whoring < 22: #BJ + elif states.her.level < 22: #BJ her "I'm sure we'll both know what it's going to say..." ("disgust", "narrow", "base", "R") gen "Yeah?" ("base", xpos="far_left", ypos="head") - her "Come on, sir..." ("disgust", "narrow", "base", "mid", cheeks="blush") - her "I've taken my clothes off in this office..." ("angry", "closed", "base", "mid", cheeks="blush") - her "I'm sure you've made it say something to try and degrade me..." ("open", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "Come on, sir..." ("disgust", "narrow", "base", "mid") + her @ cheeks blush "I've taken my clothes off in this office..." ("angry", "closed", "base", "mid") + her @ cheeks blush "I'm sure you've made it say something to try and degrade me..." ("open", "narrow", "annoyed", "R") gen "Of course not, this collar tells no lies!" ("base", xpos="far_left", ypos="head") - gen "I'm sure it'll call you a hero for the amount of points you've earned for your house." ("base", xpos="far_left", ypos="head") + gen "I'm sure it'll call you a hero thanks to the number of points you've earned for your house." ("base", xpos="far_left", ypos="head") gen "That's what you're doing this for after all, this collar will merely confirm it." ("base", xpos="far_left", ypos="head") - her "Well, if that's the case... I suppose since I can't tell anyone about all this it would at least be nice to know for sure..." ("open", "closed", "base", "mid") + her "Well, if that's the case... I suppose since I can't tell anyone about all this, it would at least be nice to know for sure..." ("open", "closed", "base", "mid") - elif her_whoring < 25: #Sex (24=max) - her "My true self is it?" ("base", "narrow", "base", "R", cheeks="blush") + elif states.her.level < 25: #Sex (24=max) + her @ cheeks blush "My true self is it?" ("base", "narrow", "base", "R") gen "Yep!" ("base", xpos="far_left", ypos="head") gen "Now you finally won't have to take my word on how much of a slut you are." ("base", xpos="far_left", ypos="head") - her "Sir!" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Sir!" ("angry", "base", "base", "mid") gen "Come on, it'll be fun!" ("base", xpos="far_left", ypos="head") - her "I-- I don't know about this..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I-- I don't know about this..." ("angry", "narrow", "base", "down") gen "Don't be silly... Here, Let me just put this around your neck..." ("base", xpos="far_left", ypos="head") else: @@ -187,18 +185,18 @@ label hg_collars: her "Another one?" ("open", "happy", "base", "mid") gen "Yes, I have the feeling something might've changed, so I thought we could try another one." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "*Hmm*... Well I doubt it..." ("normal", "base", "base", "R") + if states.her.level < 4: + her "*Hmm*... Well, I doubt it..." ("normal", "base", "base", "R") her "Will I get another thirty points?" ("soft", "base", "base", "mid") gen "Of course." ("base", xpos="far_left", ypos="head") her "Okay, then why not..." ("base", "closed", "base", "mid") $ current_payout = 30 - elif her_whoring < 10: - her "I'm sure it'll just say the same thing as before..." ("open", "closed", "base", "mid", cheeks="blush") - gen "Well I wouldn't be so sure if I were you..." ("base", xpos="far_left", ypos="head") - her "*Ahem*... Although I wouldn't mind some points." ("open", "happy", "base", "R", cheeks="blush") + elif states.her.level < 10: + her @ cheeks blush "I'm sure it'll just say the same thing as before..." ("open", "closed", "base", "mid") + gen "Well, I wouldn't be so sure if I were you..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ahem*... Although I wouldn't mind some points." ("open", "happy", "base", "R") gen "Figured..." ("base", xpos="far_left", ypos="head") gen "Alright then, Miss Granger..." ("base", xpos="far_left", ypos="head") gen "How does thirty points sound to you?" ("base", xpos="far_left", ypos="head") @@ -206,29 +204,29 @@ label hg_collars: $ current_payout = 30 - elif her_whoring < 13: #stripped - her "I want twenty points!" ("angry", "closed", "base", "mid", cheeks="blush") + elif states.her.level < 13: #stripped + her @ cheeks blush "I want twenty points!" ("angry", "closed", "base", "mid") gen "Worried it might show something different this time?" ("base", xpos="far_left", ypos="head") - her "No, I just think it's a waste of time if I went all the way here not to get anything for it." ("open", "happy", "base", "R", cheeks="blush") + her @ cheeks blush "No, I just think it's a waste of time if I went all the way here not to get anything for it." ("open", "happy", "base", "R") gen "I suppose that's true..." ("base", xpos="far_left", ypos="head") gen "Very well, twenty points it is." ("base", xpos="far_left", ypos="head") $ current_payout = 20 - elif her_whoring < 19: #Handjob - her "Well of course you'd think that..." ("open", "narrow", "base", "R", cheeks="blush") - her "I want ten points for this..." ("soft", "happy", "base", "mid", cheeks="blush") + elif states.her.level < 19: #Handjob + her @ cheeks blush "Well of course you'd think that..." ("open", "narrow", "base", "R") + her @ cheeks blush "I want ten points for this..." ("soft", "happy", "base", "mid") gen "Of course..." ("base", xpos="far_left", ypos="head") - her "Good... Then put it on me and lets get this over with..." ("disgust", "closed", "base", "mid", cheeks="blush") #bit worried + her @ cheeks blush "Good... Then put it on me and let's get this over with..." ("disgust", "closed", "base", "mid") #bit worried $ current_payout = 10 - elif her_whoring < 22: #BJ - her "Well... Seeing the things I've done in here I'm sure it can't be good..." ("disgust", "narrow", "base", "R") + elif states.her.level < 22: #BJ + her "Well... Seeing the things I've done in here, I'm sure it can't be good..." ("disgust", "narrow", "base", "R") gen "I'm sure it will recognize why you're doing all this." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("annoyed", "narrow", "base", "R") #worried - elif her_whoring < 25: #Sex (24=max) + elif states.her.level < 25: #Sex (24=max) gen "I want to see exactly how much of a slut you are in writing." ("base", xpos="far_left", ypos="head") her "Sir!" ("annoyed", "narrow", "worried", "mid") gen "What?" ("base", xpos="far_left", ypos="head") @@ -244,7 +242,7 @@ label hg_collars: pause 0.5 - $ renpy.play("sounds/collar_click.ogg") + play sound "sounds/collar_click.ogg" $ hermione.equip(her_neckwear_basic_collar) gen "There we go..." ("base", xpos="far_left", ypos="head") @@ -255,50 +253,50 @@ label hg_collars: call gen_chibi("sit_behind_desk") with d3 - if her_whoring < 10: + if states.her.level < 10: her "Alright then... What does it say?" ("base", "base", "base", "mid") #confident gen "Hold on a moment... Something's fading into view." ("base", xpos="far_left", ypos="head") else: # > 10 - her "Is... Is it working?" ("open", "closed", "base", "down", cheeks="blush") #a bit worried + her @ cheeks blush "Is... Is it working?" ("open", "closed", "base", "down") #a bit worried gen "Not yet..." ("base", xpos="far_left", ypos="head") gen "Hold on... Something's fading into view." ("base", xpos="far_left", ypos="head") her "What does it say?" ("open", "happy", "base", "mid") #a bit worried menu: - "-Tell her she's a slave-" if hg_anal.trigger: + "-Tell her she's a slave-" if states.her.status.anal: jump slave_scene - "-Tell her she's a whore-" if hg_sex.trigger and hg_pr_sex.is_event_complete(6, 1): + "-Tell her she's a whore-" if states.her.status.sex: jump whore_scene - "-Tell her she's a slut-" if hg_pf_blowjob.is_event_complete(5, 3) or her_tier > 5: + "-Tell her she's a slut-" if states.her.status.blowjob or states.her.tier > 5: jump slut_scene - "-Tell her she's a flasher-" if hg_strip.trigger: + "-Tell her she's a flasher-" if states.her.status.stripping: jump flasher_scene - "-Tell her she is good girl-": + "-Tell her she's a good girl-": jump good_girl_scene label slut_scene: - $ renpy.play("sounds/flashbang.ogg") + play sound "sounds/flashbang.ogg" $ hermione.equip(her_neckwear_slut_collar) - $ hermione_name = "Slut" + $ name_hermione_genie = "Slut" with flashbulb gen "A slut!" ("grin", xpos="far_left", ypos="head") - her "What!?!" ("angry", "base", "base", "stare", tears="soft") - her "Is that what it says?!" ("angry", "base", "base", "mid",tears="soft") + her @ tears soft "What!?!" ("angry", "base", "base", "stare") + her @ tears soft "Is that what it says?!" ("angry", "base", "base", "mid") gen "You come here nearly every day and do unspeakable things. A normal girl doesn't gobble her headmaster's cock and ask for seconds." ("base", xpos="far_left", ypos="head") - her "I knew it... How will I be able to live this down?" ("open", "happyCl", "base", "mid", tears="soft_blink") + her @ tears soft_blink "I knew it... How will I be able to live this down?" ("open", "happyCl", "base", "mid") gen "You won't. You'll have to embrace it." ("base", xpos="far_left", ypos="head") - her "Embrace it!?" ("angry", "base", "base", "stare", tears="soft") + her @ tears soft "Embrace it!?" ("angry", "base", "base", "stare") gen "There's no coming back for a slut like you... Even if I leave, you'll just find some other cock to please." ("base", xpos="far_left", ypos="head") - her "[genie_name]... That's not true!" ("angry", "happyCl", "worried", "mid",emote="sweat") + her "[name_genie_hermione]... That's not true!" ("angry", "happyCl", "worried", "mid",emote="sweat") gen "Don't act like you don't already know this...{w} You know that deep down, you're a filthy slut." ("base", xpos="far_left", ypos="head") her "I am not!" ("angry", "happyCl", "worried", "stare") gen "Suck my cock." ("base", xpos="far_left", ypos="head") - her "... What?" ("angry", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "... What?" ("angry", "happy", "base", "mid") gen "Come here..." ("base", xpos="far_left", ypos="head") gen "And, Suck....{w=0.4} My....{w=0.4} Cock...{w=0.4} Slut!" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "worried", "R") hide hermione_main with d3 @@ -308,9 +306,9 @@ label slut_scene: stop music fadeout 1.0 - call nar(">Hermione walks over and kneels before you as you pull out your cock from beneath your robes.") + nar "Hermione walks over and kneels before you as you pull out your cock from beneath your robes." - call play_music("playful_tension") #HERMIONE + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 #HERMIONE if_changed call her_chibi_scene("bj_pause") hide screen blktone @@ -322,44 +320,44 @@ label slut_scene: call bld gen "That's a good little slut..." ("base", xpos="far_left", ypos="head") - gen "Now if you want to suck my cock, I expect you to ask nicely." ("base", xpos="far_left", ypos="head") - her "What? Isn't it bad enough that the stupid collar said that I'm a slut! Just let me suck your cock!" ("clench", "happy", "base", "up", cheeks="blush", ypos="head") - gen "Well that's exactly it, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "Now, if you want to suck my cock, I expect you to ask nicely." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What? Isn't it bad enough that the stupid collar said that I'm a slut! Just let me suck your cock!" ("clench", "happy", "base", "up", ypos="head") + gen "Well, that's exactly it, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") gen "Sluts beg for cock!" ("base", xpos="far_left", ypos="head") gen "I expect you to beg!" ("base", xpos="far_left", ypos="head") - her "..." ("normal", "happyCl", "worried", "mid", cheeks="blush") - her "Please [genie_name], let me suck your cock." ("open", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("normal", "happyCl", "worried", "mid") + her @ cheeks blush "Please [name_genie_hermione], let me suck your cock." ("open", "happyCl", "base", "mid") gen "*Hmm*... That was \"almost\" good enough...{w=0.4} Try again." ("base", xpos="far_left", ypos="head") gen "Put some effort into it!" ("base", xpos="far_left", ypos="head") - her "Pretty please [genie_name], please let me suck your big beautiful cock." ("angry", "squint", "worried", "up", cheeks="blush") + her @ cheeks blush "Pretty please [name_genie_hermione], please let me suck your big beautiful cock." ("angry", "squint", "worried", "up") menu: "-Throat fuck-": gen "Good Slut..." ("base", xpos="far_left", ypos="head") gen "Here's your reward!" ("base", xpos="far_left", ypos="head") - call nar(">Without missing a beat, you force your cock into her mouth and to the entrance of her throat.") + nar "Without missing a beat, you force your cock into her mouth and to the entrance of her throat." call her_chibi_scene("bj") with d3 - her "!!!" ("shock", "happyCl", "annoyed", "stare", cheeks="blush") - call nar(">You feel her push back against your legs.") - gen "Now, now [hermione_name]... Good sluts know how to relax their throat..." ("base", xpos="far_left", ypos="head") - her "*eeettss-hhooooo-hhhhggggg*!" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "!!!" ("shock", "happyCl", "annoyed", "stare") + nar "You feel her push back against your legs." + gen "Now, now [name_hermione_genie]... Good sluts know how to relax their throat..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*eeettss-hhooooo-hhhhggggg*!" ("open_wide_tongue", "narrow", "base", "up") gen "Let's go?" ("base", xpos="far_left", ypos="head") gen "Yeah, let's go!" ("base", xpos="far_left", ypos="head") her "..." ("open_wide_tongue", "closed", "angry", "mid") - call nar(">Hermione's throat relaxes and allows you to enter.") + nar "Hermione's throat relaxes and allows you to enter." gen "*Ughhh*! Your throat feels so good..." ("base", xpos="far_left", ypos="head") - gen "But that's to be expected from a hungry hole like yours... Isn't that right, [hermione_name]?" ("base", xpos="far_left", ypos="head") - call nar(">Rolling her eyes, Hermione continues taking your cock deep into her throat.") - her "*Slurp*! *Gltch*! *Gulp*!" ("open_wide_tongue", "narrow", "base", "stare_soft", cheeks="blush") + gen "But that's to be expected from a hungry hole like yours... Isn't that right, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + nar "Rolling her eyes, Hermione continues taking your cock deep into her throat." + her @ cheeks blush "*Slurp*! *Gltch*! *Gulp*!" ("open_wide_tongue", "narrow", "base", "stare_soft") gen "I asked you a question." ("base", xpos="far_left", ypos="head") her "*Cough*" ("open_wide_tongue", "wide", "worried", "up") her "*hhyyym-aaaa-hhhhtttt*" ("open_wide_tongue", "wide", "worried", "up") - gen "What was that [hermione_name]? I couldn't hear you over the sounds of you swallowing my cock." ("base", xpos="far_left", ypos="head") - her "*hhhhyyyyyym-aaaaaaa-hhhhhhhhttttttt*!" ("open_wide_tongue", "happyCl", "annoyed", "stare", cheeks="blush") - call nar(">The vibrations from her throat as she tries to form a sentence sends a shiver down your shaft.") + gen "What was that [name_hermione_genie]? I couldn't hear you over the sounds of you swallowing my cock." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*hhhhyyyyyym-aaaaaaa-hhhhhhhhttttttt*!" ("open_wide_tongue", "happyCl", "annoyed", "stare") + nar "The vibrations from her throat as she tries to form a sentence sends a shiver down your shaft." gen "*Ugh* Once more... I'm not sure I caught that." ("angry", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") @@ -369,14 +367,14 @@ label slut_scene: hide hermione_main gen "Yes indeed!" ("base", xpos="far_left", ypos="head") gen "Now, get back to sucking!" ("base", xpos="far_left", ypos="head") - call nar(">Hermione impales her mouth once again down the shaft of your cock and begins bobbing her head even faster.") + nar "Hermione impales her mouth once again down the shaft of your cock and begins bobbing her head even faster." call her_chibi_scene("bj") with d3 "-Let her suck you off-": - gen "Well, if you insist [hermione_name]." ("base", xpos="far_left", ypos="head") - call nar(">Hermione takes you into her waiting mouth.") + gen "Well, if you insist [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + nar "Hermione takes you into her waiting mouth." call her_chibi_scene("bj") with d3 @@ -388,30 +386,30 @@ label slut_scene: gen "You love being used as my plaything." ("base", xpos="far_left", ypos="head") her "*Gulp*! *Gobble*! *Gobble*!" ("open_wide_tongue", "closed", "angry", "mid") gen "You might act all upset about people truly finding out what you really are." ("base", xpos="far_left", ypos="head") - her "*Gulp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "closed", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "*Gulp*! *Gobble*! *Slurp*!" ("open_wide_tongue", "closed", "base", "mid_soft") gen "But deep down, you're the happiest when you don't have to act as if you're not a massive slut." ("base", xpos="far_left", ypos="head") - her "*Slurp*! *Gobble*!" ("open_wide_tongue", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "*Slurp*! *Gobble*!" ("open_wide_tongue", "closed", "angry", "mid") gen "After all, the collar confirmed it..." ("base", xpos="far_left", ypos="head") gen "Didn't it?" ("base", xpos="far_left", ypos="head") - her "..." ("open_wide_tongue", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("open_wide_tongue", "closed", "worried", "mid") gen "I asked you a question, slut." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") with d3 - call nar(">Hermione hurriedly takes your cock out of her mouth.") - her "*Ahem*...{w=0.4} If that's what the collar says..." ("soft", "narrow", "worried", "R", cheeks="blush") + nar "Hermione hurriedly takes your cock out of her mouth." + her @ cheeks blush "*Ahem*...{w=0.4} If that's what the collar says..." ("soft", "narrow", "worried", "R") gen "Good to hear you finally admit it. Now, back in the mouth." ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]..." ("open", "base", "worried", "up", cheeks="blush") - call nar(">Hermione takes you back into her mouth with renewed effort.") + her @ cheeks blush "Yes [name_genie_hermione]..." ("open", "base", "worried", "up") + nar "Hermione takes you back into her mouth with renewed effort." call her_chibi_scene("bj") with d3 - gen "*Ughhh*, I'm getting close girl." ("base", xpos="far_left", ypos="head") + gen "*Ughhh*, I'm getting close, girl." ("base", xpos="far_left", ypos="head") gen "Get ready." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause") - call nar(">Hermione pulls your cock out of her mouth hastily, ready to receive her reward.") + nar "Hermione pulls your cock out of her mouth hastily, ready to receive her reward." gen "Here it comes!" ("angry", xpos="far_left", ypos="head") call cum_block @@ -421,14 +419,14 @@ label slut_scene: gen "Your reward, you Filthy...{w=0.4} Cumslut!" ("angry", xpos="far_left", ypos="head") gen "{size=+4}Aaaah!!{/size}" ("angry", xpos="far_left", ypos="head") - call nar(">You explode across her face, covering her in your cum.") + nar "You explode across her face, covering her in your cum." call cum_block $ hermione.set_cum(hair="heavy") her "..." ("angry", "base", "base", "stare") call her_chibi_scene("bj_cum_out_done") - call nar(">Watching as it slowly begins trickling down her face...") + nar "Watching as it slowly begins trickling down her face..." $ hermione.set_cum(face="light") her "..." ("angry", "happyCl", "base", "stare") @@ -438,21 +436,21 @@ label slut_scene: gen "Ah..." ("angry", xpos="far_left", ypos="head") gen "Who's a good slut?" ("grin", xpos="far_left", ypos="head") - her "I am..." ("open", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "I am..." ("open", "narrow", "worried", "R") gen "Good girl..." ("base", xpos="far_left", ypos="head") if not her_neckwear_slut_collar.unlocked: $ her_neckwear_slut_collar.unlock() gen "Well now that we've established who you really are... I've got a present for you!" ("base", xpos="far_left", ypos="head") - her "A present? What is it?" ("soft", "happy", "base", "up", cheeks="blush") - gen "That lovely collar on your neck, I'm giving it to you as reminder of who you are." ("base", xpos="far_left", ypos="head") - her "You're expecting me to keep it?" ("angry", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "A present? What is it?" ("soft", "happy", "base", "up") + gen "That lovely collar on your neck, I'm giving it to you as a reminder of who you are." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You're expecting me to keep it?" ("angry", "narrow", "base", "stare") gen "Most certainly..." ("base", xpos="far_left", ypos="head") - gen "You are \"my\" slut and you will do well to remember it...{w=0.4} Now get out of my office." ("base", xpos="far_left", ypos="head") - her "...{w=0.4} Fine." ("angry", "narrow", "base", "down", cheeks="blush") + gen "You are \"my\" slut, and you will do well to remember it...{w=0.4} Now get out of my office." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "...{w=0.4} Fine." ("angry", "narrow", "base", "down") - call give_reward(">A new collar has been unlocked in the wardrobe!") + call give_reward("A new collar has been unlocked in the wardrobe!") show screen blkfade with d5 @@ -463,19 +461,19 @@ label slut_scene: hide screen blkfade with d5 - her "Can I get a towel or something to clean my face?" ("open", "happy", "base", "R", cheeks="blush", ypos="base", trans=d3) + her @ cheeks blush "Can I get a towel or something to clean my face?" ("open", "happy", "base", "R", ypos="base", trans=d3) gen "Why? Worried someone's going to see how much of a slut you are?" ("base", xpos="far_left", ypos="head") - her "You can't be serious!" ("upset", "happy", "worried", "stare", cheeks="blush") - gen "I am... And if you ever want to suck my cock again you will do as I say." ("base", xpos="far_left", ypos="head") - her "...{w} Yes [genie_name]." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "You can't be serious!" ("upset", "happy", "worried", "stare") + gen "I am... And if you ever want to suck my cock again, you will do as I say." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "...{w} Yes [name_genie_hermione]." ("annoyed", "narrow", "base", "R") gen "Well then...{w=0.4} Get going." ("base", xpos="far_left", ypos="head") if game.daytime: - her "Bye then... [genie_name]." ("open", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Bye then... [name_genie_hermione]." ("open", "narrow", "base", "mid_soft") else: - her "Good night then... [genie_name]." ("base", "narrow", "base", "mid_soft") + her "Good night then... [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") gen "Until next time...{w=0.4} Slut." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "worried", "down") call her_walk(action="leave") @@ -488,36 +486,36 @@ label whore_scene: #(locked behind public reputation and last sex event) #Genie yells at her and makes her admit she is a whore #He cums inside her - $ renpy.play("sounds/flashbang.ogg") + play sound "sounds/flashbang.ogg" $ hermione.equip(her_neckwear_whore_collar) - $ hermione_name = "Whore" + $ name_hermione_genie = "Whore" with flashbulb gen "You are a--" ("base", xpos="far_left", ypos="head") - her "Am I a slut?" ("angry", "base", "base", "mid", tears="soft", ypos="base") + her @ tears soft "Am I a slut?" ("angry", "base", "base", "mid", ypos="base") gen "*Err*..." ("base", xpos="far_left", ypos="head") her "Pansy Parkinson has been telling everyone that I'm a slut!" ("open", "narrow", "worried", "R") gen "Really? Why is this Pansy Parkinson calling you a slut?" ("base", xpos="far_left", ypos="head") her "I think she might know something..." ("angry", "narrow", "base", "down") - her "She's going to ruin my reputation! What will people think when they find out what I've been doing with my ninety year old Professor?" ("disgust", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "She's going to ruin my reputation! What will people think when they find out what I've been doing with my ninety-year-old Professor?" ("disgust", "closed", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") her "I'll be known as a slut for the rest of my life!" ("scream", "happyCl", "worried", "mid") - her "I'll never be able to get a good job..." ("scream", "happyCl", "worried", "mid", tears="soft_blink") - her "My friends will hate me..." ("angry", "happyCl", "worried", "mid", tears="soft_blink") - her "Please... The collar doesn't tell me that I'm a slut does it, [genie_name]?" ("angry", "wide", "worried", "mid") + her @ tears soft_blink "I'll never be able to get a good job..." ("scream", "happyCl", "worried", "mid") + her @ tears soft_blink "My friends will hate me..." ("angry", "happyCl", "worried", "mid") + her "Please... The collar isn't telling you that I'm a slut, is it, [name_genie_hermione]?" ("angry", "wide", "worried", "mid") gen "Well, you'll be happy to know that this Parkinson girl is incorrect, Miss Granger." ("base", xpos="far_left", ypos="head") gen "The collar doesn't say that you're a slut..." ("base", xpos="far_left", ypos="head") - her "Oh, thank heavens..." ("grin", "base", "worried", "mid", tears="soft") + her @ tears soft "Oh, thank heavens..." ("grin", "base", "worried", "mid") gen "You're worse than a slut...{w=0.4} You're a whore!" ("grin", xpos="far_left", ypos="head") her "What? A whore?!" ("angry", "wide", "worried", "stare") gen "Why indeed!" ("grin", xpos="far_left", ypos="head") gen "A slut is someone who enjoys sex... A whore is someone who's selling themselves for materialistic gains!" ("base", xpos="far_left", ypos="head") gen "As long as someone pays you one way or the other, you couldn't care less, could you?" ("base", xpos="far_left", ypos="head") her "I--{w=0.2} I--{w=0.2} I--" ("clench", "happyCl", "worried", "mid") - gen "I bet you'd beg your precious little friends to fuck you if I wasn't around and it would benefit you..." ("base", xpos="far_left", ypos="head") + gen "I bet you'd beg your precious little friends to fuck you if I wasn't around, as long as it would benefit you..." ("base", xpos="far_left", ypos="head") gen "Look at what you've become, nothing more than the school bicycle... Willing to give everyone a happy ride." ("base", xpos="far_left", ypos="head") gen "I wouldn't be worried about your friends finding out what you're doing in here. They're probably just waiting for a turn themselves..." ("base", xpos="far_left", ypos="head") - her "[genie_name] please...{w=0.4} You're being mean." ("shock", "happyCl", "worried", "mid") + her "[name_genie_hermione] please...{w=0.4} You're being mean." ("shock", "happyCl", "worried", "mid") gen "Oh, is the little whore getting upset? Don't worry, I'll make you feel all better." ("base", xpos="far_left", ypos="head") her "...How can you say that after--" ("angry", "happyCl", "worried", "mid") gen "Come over here and bend over." ("base", xpos="far_left", ypos="head") @@ -532,105 +530,105 @@ label whore_scene: #(locked behind public reputation and last sex event) stop music fadeout 1.0 - call nar(">Hermione hesitates for just a moment before following your instructions.") + nar "Hermione hesitates for just a moment before following your instructions." if hermione.is_any_worn("top", "bottom", "bra", "panties"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - call nar(">While looking away, she strips down until standing butt naked in front of you, wearing nothing but the collar.") + play sound "sounds/cloth_sound3.ogg" + nar "While looking away, she strips down until standing butt naked in front of you, wearing nothing but the collar." - $ hermione.strip("all") - #call nar(">Throwing the collar to the floor she quickly walks over to your desk, then bends over and presents herself.") + $ hermione.strip("clothes") + #nar "Throwing the collar to the floor she quickly walks over to your desk, then bends over and presents herself." $ hermione.wear("neckwear") call her_chibi_scene("sex_pause") hide screen blkfade with d3 - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "Such a good little whore you are...{w=0.4} Now, say aloud what you truly want..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "worried", "down", cheeks="blush") - her "Please [genie_name]..." ("open", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "worried", "down") + her @ cheeks blush "Please [name_genie_hermione]..." ("open", "narrow", "worried", "down") gen "Please what?" ("base", xpos="far_left", ypos="head") - her "{size=-4}Please...{w=04} Fuck me...{/size}" ("disgust", "base", "worried", "R", cheeks="blush") - gen "I'm not sure I heard you... Speak up [hermione_name]." ("base", xpos="far_left", ypos="head") - her "{size=+5}Please fuck me [genie_name]!{/size}" ("scream", "happyCl", "base", "stare", cheeks="blush") + her @ cheeks blush "{size=-4}Please...{w=04} Fuck me...{/size}" ("disgust", "base", "worried", "R") + gen "I'm not sure I heard you... Speak up [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "{size=+5}Please fuck me [name_genie_hermione]!{/size}" ("scream", "happyCl", "base", "stare") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "Not bad..." ("grin", xpos="far_left", ypos="head") hide hermione_main with d3 - call nar(">You take a firm grip of Hermione's hips and thrust into her sopping pussy.") + nar "You take a firm grip of Hermione's hips and thrust into her sopping pussy." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris call her_chibi_scene("sex") - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - her "{heart}*Ah*...{heart}" ("open_tongue", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{heart}*Ah*...{heart}" ("open_tongue", "happyCl", "worried", "mid") gen "*Argh*...{w=0.4} How is your pussy still so tight?" ("base", xpos="far_left", ypos="head") gen "I thought that you would have loosened up after all the guys you've fucked." ("base", xpos="far_left", ypos="head") - her "[genie_name]..." ("disgust", "happyCl", "worried", "mid", cheeks="blush") - gen "Don't try and act coy with me [hermione_name]... We both know what you're up to when the lights go out." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]..." ("disgust", "happyCl", "worried", "mid") + gen "Don't try and act coy with me [name_hermione_genie]... We both know what you're up to when the lights go out." ("base", xpos="far_left", ypos="head") gen "Just admit what you are." ("base", xpos="far_left", ypos="head") - her "{size=-4}A whore...{/size}" ("soft", "narrow", "worried", "up", cheeks="blush") + her @ cheeks blush "{size=-4}A whore...{/size}" ("soft", "narrow", "worried", "up") gen "Who's a good little whore?" ("base", xpos="far_left", ypos="head") - her "{size=+5}Me! I'm a whore!{/size}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{size=+5}Me! I'm a whore!{/size}" ("open_wide_tongue", "narrow", "base", "up") gen "That's right... Just like the collar said..." ("base", xpos="far_left", ypos="head") gen "Now beg me..." ("base", xpos="far_left", ypos="head") - her "{heart}*Ah*...{heart}{w=0.4} B--{w=0.2} Beg you?" ("grin", "narrow", "base", "up_soft", cheeks="blush") + her @ cheeks blush "{heart}*Ah*...{heart}{w=0.4} B--{w=0.2} Beg you?" ("grin", "narrow", "base", "up_soft") gen "Beg me to cum inside your pussy, to pay you in semen." ("base", xpos="far_left", ypos="head") - her "I...{w=0.4} {heart}*Ah*...{heart}" ("soft", "narrow", "base", "up_soft", cheeks="blush") + her @ cheeks blush "I...{w=0.4} {heart}*Ah*...{heart}" ("soft", "narrow", "base", "up_soft") gen "Do it whore!" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} Please fill my pussy with your thick... {heart}cum!{heart}" ("grin", "narrow", "base", "dead", cheeks="blush") - gen "That's a good little whore...{w=0.4} Now, who else have you practised that line with I wonder?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} Please fill my pussy with your thick... {heart}cum!{heart}" ("grin", "narrow", "base", "dead") + gen "That's a good little whore...{w=0.4} Now, who else have you practised that line with, I wonder?" ("base", xpos="far_left", ypos="head") gen "Is it just me, or do you beg every other boy you screw with to cum inside you?" ("base", xpos="far_left", ypos="head") - her "{heart}{heart}{heart}..." ("angry", "narrow", "base", "dead", cheeks="blush") + her @ cheeks blush "{heart}{heart}{heart}..." ("angry", "narrow", "base", "dead") gen "Tell me girl." ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} {heart}*Ah*...{heart}{w=0.4} I beg every boy that fucks me to cum inside!" ("soft", "narrow", "worried", "up_soft", cheeks="blush") + her @ cheeks blush "I--{w=0.2} {heart}*Ah*...{heart}{w=0.4} I beg every boy that fucks me to cum inside!" ("soft", "narrow", "worried", "up_soft") gen "Such a fucking whore...{w=0.4} You disgust me..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/spit.ogg") + play sound "sounds/spit.ogg" call ctc - play bg_sounds "sounds/sexloopfast.ogg" + play background "sounds/sexloopfast.ogg" - call nar(">You spit on your shaft to lube it up even further and then thrust your hips hard into Hermione's pussy.") - her "I-- {w=0.2} I'm...{w=0.4} *Ah*...{w=0.4} I'm cumming!" ("open_wide_tongue", "base", "worried", "ahegao", cheeks="blush") + nar "You spit on your shaft to lube it up even further and then thrust your hips hard into Hermione's pussy." + her @ cheeks blush "I-- {w=0.2} I'm...{w=0.4} *Ah*...{w=0.4} I'm cumming!" ("open_wide_tongue", "base", "worried", "ahegao") gen "Well I think I might join you then." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/sexloopveryfast.ogg" - call nar(">You increase your pumping of Hermione's pussy.") + play background "sounds/sexloopveryfast.ogg" + nar "You increase your pumping of Hermione's pussy." gen "Here's your payment, whore. You've earned it!" ("angry", xpos="far_left", ypos="head") - call nar(">You push yourself all the way in and start shooting off deep into her womb.") + nar "You push yourself all the way in and start shooting off deep into her womb." gen "{size=+7}*Argh*, Yes!!!{/size}" call cum_block - $ renpy.sound.play("sounds/slick_01.ogg") - stop bg_sounds fadeout 2 + play sound "sounds/slick_01.ogg" + stop background fadeout 2 call her_chibi_scene("sex_cum_in") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "!!!" ("grin", "wide", "worried", "stare", cheeks="blush") + her @ cheeks blush "!!!" ("grin", "wide", "worried", "stare") gen "That's it, take it all you fucking whore!" ("angry", xpos="far_left", ypos="head") call cum_block - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" call her_chibi_scene("sex_cum_in_done") gen "Ah..." ("grin", xpos="far_left", ypos="head") - her "..." ("grin", "narrow", "base", "dead", cheeks="blush", tears="crying") + her @ cheeks blush tears crying "..." ("grin", "narrow", "base", "dead") gen "Well?" ("base", xpos="far_left", ypos="head") - gen "Show some gratitude, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "...{w=0.4} Thank you, [genie_name]." ("base", "narrow", "worried", "stare", cheeks="blush", tears="soft") + gen "Show some gratitude, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears soft "...{w=0.4} Thank you, [name_genie_hermione]." ("base", "narrow", "worried", "stare") gen "\"Thank you...\"{w=0.4} For what? Don't be shy, slut." ("base", xpos="far_left", ypos="head") - her "Thank you for...{w}{nw}" ("open", "closed", "worried", "stare", cheeks="blush") - her "Thank you for...{fast} Cumming in my pussy..." ("base", "happy", "worried", "mid", cheeks="blush") + her @ cheeks blush "Thank you for...{w}{nw}" ("open", "closed", "worried", "stare") + her @ cheeks blush "Thank you for...{fast} Cumming in my pussy..." ("base", "happy", "worried", "mid") gen "You're welcome girl. A good whore should always be grateful." ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes [name_genie_hermione]..." ("base", "closed", "base", "mid") hide hermione_main show screen blkfade @@ -641,42 +639,43 @@ label whore_scene: #(locked behind public reputation and last sex event) call gen_chibi("sit_behind_desk") call her_chibi("stand","desk","base") - call nar(">Hermione gets to her feet and walks to the front of your desk.") + nar "Hermione gets to her feet and walks to the front of your desk." # This is to check if the player already unlocked the collar before # and does not have it equipped in their outfit # and so it does make sense from a narration standpoint. if not hermione.is_equipped_item(her_neckwear_whore_collar): - $ renpy.play("sounds/collar_click.ogg") - call nar (">You grab her by the collar, swiftly unlocking it and taking it off of her.") + play sound "sounds/collar_click.ogg" + nar "You grab her by the collar, swiftly unlocking it and taking it off of her." hide screen blkfade with d3 if not her_neckwear_whore_collar.unlocked: + $ her_neckwear_whore_collar.unlock() gen "Well then... Seeing as how you said thank you... I have a present for you." ("base", xpos="far_left", ypos="head") - her "A present?" ("soft", "wink", "worried", "mid_soft", cheeks="blush", trans=d3) + her @ cheeks blush "A present?" ("soft", "wink", "worried", "mid_soft", trans=d3) gen "Yes, it's a lovely piece of jewellery to commemorate your self-acceptance." ("base", xpos="far_left", ypos="head") - call nar (">You present Hermione the collar you have taken off her neck a moment ago.") + nar "You present Hermione the collar you have taken off her neck a moment ago." - her "The collar? You're giving it to me?" ("open", "happy", "base", "mid",cheeks="blush") - her "And how is that supposed to be a piece of jewellery?" ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "The collar? You're giving it to me?" ("open", "happy", "base", "mid") + her @ cheeks blush "And how is that supposed to be a piece of jewellery?" ("annoyed", "narrow", "base", "R") gen "It's a piece of metal to adorn your neck is it not?" ("base", xpos="far_left", ypos="head") gen "Pretty sure that's what a necklace is..." ("base", xpos="far_left", ypos="head") - her "And you expect me to wear this?" ("soft", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "And you expect me to wear this?" ("soft", "narrow", "worried", "mid") gen "Of course. We both know what a whore you are... Why not wear it with pride..." ("base", xpos="far_left", ypos="head") - her "Around my neck?" ("clench", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "Around my neck?" ("clench", "narrow", "worried", "mid") gen "Well, we could always tattoo it across your forehead..." ("base", xpos="far_left", ypos="head") - her "A collar it is then..." ("annoyed", "narrow", "base", "down", cheeks="blush") - her "I'll wear it if I really have to..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "A collar it is then..." ("annoyed", "narrow", "base", "down") + her @ cheeks blush "I'll wear it if I really have to..." ("soft", "narrow", "base", "down") gen "And proudly!" ("base", xpos="far_left", ypos="head") - her "... *Hmph*!" ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "... *Hmph*!" ("annoyed", "narrow", "base", "R") - call give_reward(">A new collar has been unlocked in the wardrobe!") + call give_reward("A new collar has been unlocked in the wardrobe!") - her "Goodbye then, [genie_name]." ("soft", "narrow", "base", "R", cheeks="blush") - gen "Goodbye [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Goodbye then, [name_genie_hermione]." ("soft", "narrow", "base", "R") + gen "Goodbye [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") @@ -685,17 +684,17 @@ label whore_scene: #(locked behind public reputation and last sex event) label slave_scene: - $ renpy.play("sounds/flashbang.ogg") + play sound "sounds/flashbang.ogg" $ hermione.equip(her_neckwear_slave_collar) - $ hermione_name = "Slave" - $ genie_name = "Master" + $ name_hermione_genie = "Slave" + $ name_genie_hermione = "Master" with flashbulb - her "It doesn't say slut does it?" ("open", "narrow", "base", "R") + her "It doesn't say slut, does it?" ("open", "narrow", "base", "R") gen "Don't be silly... Why would it say that,{w=0.5} slave?" ("base", xpos="far_left", ypos="head") her "Oh good..." ("base", "base", "worried", "mid") her "Wait. What did you just call me?" ("upset", "wide", "base", "mid") - gen "You're a slave Miss Granger. Specifically, {b}my{/b} slave..." ("base", xpos="far_left", ypos="head") + gen "You're a slave, Miss Granger. Specifically, {b}my{/b} slave..." ("base", xpos="far_left", ypos="head") her "What are you talking about?" ("angry", "happy", "worried", "mid") gen "It's obvious isn't it?" ("base", xpos="far_left", ypos="head") her "No, it's not!" ("open", "happyCl", "annoyed", "R") @@ -706,8 +705,8 @@ label slave_scene: gen "Shall I go on?" ("base", xpos="far_left", ypos="head") her "That's not true!" ("angry", "narrow", "worried", "down") gen "Oh really? Then when was the last time you ever said {b}no{/b} to me?" ("base", xpos="far_left", ypos="head") - her "Well, I--" ("open", "narrow", "worried", "R", cheeks="blush") - gen "Exactly... You've become my slave a long time ago, just accept it." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, I--" ("open", "narrow", "worried", "R") + gen "Exactly... You became my slave a long time ago, just accept it." ("base", xpos="far_left", ypos="head") her "Just because I care about my house it doesn't mean--" ("angry", "happyCl", "worried", "mid",emote="sweat") gen "Oh please... We have been through this already." ("base", xpos="far_left", ypos="head") gen "When was the last time you actually cared about acquiring those silly points of yours?" ("base", xpos="far_left", ypos="head") @@ -715,7 +714,7 @@ label slave_scene: gen "Silence. I'm not finished." ("base", xpos="far_left", ypos="head") her "..." ("angry", "base", "worried", "mid") gen "The facts are speaking against you, and very loudly, my dear slave girl." ("base", xpos="far_left", ypos="head") - gen "Almost as loud as you calling my name when I fill that tight pussy of yours." ("grin", xpos="far_left", ypos="head") + gen "Almost as loud as you're calling my name when I fill that tight pussy of yours." ("grin", xpos="far_left", ypos="head") her "..." ("angry", "happyCl", "worried", "R",emote="sweat") gen "You know what I think?" ("base", xpos="far_left", ypos="head") gen "I think you are scared to admit that what you truly want from life is to be controlled and be taken care of, like a faithful puppy, or a slave." ("base", xpos="far_left", ypos="head") @@ -724,20 +723,20 @@ label slave_scene: gen "Or." ("base", xpos="far_left", ypos="head") gen "Beg me to fuck you silly like a good slave would." ("base", xpos="far_left", ypos="head") - her "I..." ("soft", "base", "base", "stare", cheeks="blush", tears="soft") # Tears welling up + her @ cheeks blush tears soft "I..." ("soft", "base", "base", "stare") # Tears welling up gen "Don't give me that look. We both know that you enjoyed me using you like a cock-sleeve." ("base", xpos="far_left", ypos="head") - gen "You even let me fuck you in the ass, and you loved every second if it!" ("angry", xpos="far_left", ypos="head") + gen "You even let me fuck you in the ass, and you loved every second of it!" ("angry", xpos="far_left", ypos="head") gen "I am not scared to admit what I enjoy, are you?" ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "base", "down", cheeks="blush") # Hermione's thoughts are racing - her "......." ("normal", "narrow", "worried", "stare", cheeks="blush") # Hermione is having a hard time thinking - her "................." ("normal", "narrow", "worried", "dead", cheeks="blush") # Hermione expresion turns to dead, stares into nothing - her "C-Can you fuck me..." ("soft", "narrow", "worried", "dead", cheeks="blush") # stares into nothing - her "... Please?" ("angry", "narrow", "worried", "dead", cheeks="blush") # looks at genie (eyes dead) + her @ cheeks blush "..." ("normal", "narrow", "base", "down") # Hermione's thoughts are racing + her @ cheeks blush "......." ("normal", "narrow", "worried", "stare") # Hermione is having a hard time thinking + her @ cheeks blush "................." ("normal", "narrow", "worried", "dead") # Hermione expresion turns to dead, stares into nothing + her @ cheeks blush "C-Can you fuck me..." ("soft", "narrow", "worried", "dead") # stares into nothing + her @ cheeks blush "... Please?" ("angry", "narrow", "worried", "dead") # looks at genie (eyes dead) gen "What was that?" ("base", xpos="far_left", ypos="head") - her "Please fuck me sir!!!{heart}{heart}{heart}" ("grin", "narrow", "worried", "dead", cheeks="blush") # screams, eyes closed + her @ cheeks blush "Please fuck me sir!!!{heart}{heart}{heart}" ("grin", "narrow", "worried", "dead") # screams, eyes closed gen "So be it." ("base", xpos="far_left", ypos="head") @@ -745,7 +744,7 @@ label slave_scene: gen "Now, be a good slave and take those silly clothes off and bend over my desk..." ("base", xpos="far_left", ypos="head") else: gen "Now be a good slave and bend over my desk." ("base", xpos="far_left", ypos="head") - her "..." ("smile", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "..." ("smile", "narrow", "base", "stare") call her_walk("desk", "base", reduce=0.8) show screen blkfade @@ -754,126 +753,126 @@ label slave_scene: stop music fadeout 1.0 if hermione.is_any_worn("top", "bottom", "bra", "panties"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") - call nar(">Hermione takes off her clothes and bends over your desk, leaving herself bare.") + play sound "sounds/cloth_sound3.ogg" + nar "Hermione takes off her clothes and bends over your desk, leaving herself bare." - $ hermione.strip("all") + $ hermione.strip("clothes") $ hermione.wear("neckwear") call her_chibi_scene("sex_pause") hide screen blkfade with d3 - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "That's a good slave." ("base", xpos="far_left", ypos="head") gen "Now ask me nicely to fuck that tight ass of yours." ("base", xpos="far_left", ypos="head") - her "Please sir, please fuck my ass." ("soft", "happy", "worried", "R", cheeks="blush", ypos="head") + her @ cheeks blush "Please sir, please fuck my ass." ("soft", "happy", "worried", "R", ypos="head") gen "Good girl." ("base", xpos="far_left", ypos="head") - call nar(">You thrust your full length into Hermione in one motion.") + nar "You thrust your full length into Hermione in one motion." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris - her "{heart}*Ah*...{heart}" ("open_tongue", "happy", "base", "ahegao", cheeks="blush") + her @ cheeks blush "{heart}*Ah*...{heart}" ("open_tongue", "happy", "base", "ahegao") - call nar(">Hermione's ass gripping tightly around your cock, you begin pushing in and out of her.") + nar "Hermione's ass gripping tightly around your cock, you begin pushing in and out of her." call her_chibi_scene("sex") - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 gen "Your ass is very tight today... Enjoying being broken in?" ("base", xpos="far_left", ypos="head") - her "Yes sir, I... I love it." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Yes sir, I... I love it." ("base", "narrow", "base", "up") gen "Good, then make sure to keep your hole nice and tight." ("base", xpos="far_left", ypos="head") - call nar(">You pick up speed and begin to fuck her ass in earnest.") + nar "You pick up speed and begin to fuck her ass in earnest." gen "Now tell me girl. Who do you belong to?" ("base", xpos="far_left", ypos="head") - her "You." ("open", "narrow", "worried", "stare", cheeks="blush") + her @ cheeks blush "You." ("open", "narrow", "worried", "stare") gen "Good, and who am I?" ("base", xpos="far_left", ypos="head") - her "Professor Dumbledore." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Professor Dumbledore." ("base", "narrow", "base", "up") call slap_her - call nar("You unleash a firm slap across her buttocks.") - her "" ("open_tongue", "happyCl", "base", "up", cheeks="blush") + nar "You unleash a firm slap across her buttocks." + her @ cheeks blush "" ("open_tongue", "happyCl", "base", "up") call ctc - gen "That's not who I am to you [hermione_name]...{w=0.4} To you I am your master." ("base", xpos="far_left", ypos="head") + gen "That's not who I am to you [name_hermione_genie]...{w=0.4} To you, I am your master." ("base", xpos="far_left", ypos="head") gen "Do you understand now?" ("base", xpos="far_left", ypos="head") - her "Yes..." ("angry", "base", "base", "stare", tears="soft") + her @ tears soft "Yes..." ("angry", "base", "base", "stare") call slap_her - call nar("You give Hermione another powerful slap, leaving a bright red mark across her cheeks.") + nar "You give Hermione another powerful slap, leaving a bright red mark across her cheeks." gen "Yes what?" ("base", xpos="far_left", ypos="head") - her "Yes, master...{heart}{heart}" ("angry", "happyCl", "base", "mid", cheeks="blush", tears="soft") + her @ cheeks blush tears soft "Yes, master...{heart}{heart}" ("angry", "happyCl", "base", "mid") gen "Good...{w=0.4} You're a fast learner." ("base", xpos="far_left", ypos="head") gen "Now, if I'm your master...{w=0.4} Then what does that make you?" ("base", xpos="far_left", ypos="head") - her "{size=-7}A--{w=0.2} A slave...{/size}" ("soft", "narrow", "base", "stare", tears="soft") + her @ tears soft "{size=-7}A--{w=0.2} A slave...{/size}" ("soft", "narrow", "base", "stare") gen "Speak up girl!" ("base", xpos="far_left", ypos="head") - her "I am slave..." ("angry", "base", "worried", "mid", cheeks="blush", tears="soft") + her @ cheeks blush tears soft "I am a slave..." ("angry", "base", "worried", "mid") call slap_her - call nar(">You give Hermione yet another strong slap across her buttocks.") + nar "You give Hermione yet another strong slap across her buttocks." gen "That's right... But not just some common slave." ("base", xpos="far_left", ypos="head") - her "N--{w=0.4} No?" ("angry", "narrow", "worried", "stare", cheeks="blush", tears="soft") # confused + her @ cheeks blush tears soft "N--{w=0.4} No?" ("angry", "narrow", "worried", "stare") # confused gen "No, of course not..." ("base", xpos="far_left", ypos="head") gen "You're my {i}personal{/i} slave." ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} I think I'm about to cum [genie_name]..." ("angry", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "I--{w=0.2} I think I'm about to cum [name_genie_hermione]..." ("angry", "narrow", "worried", "R") call slap_her - call nar(">You give Hermione a fierce slap across her left buttock.") + nar "You give Hermione a fierce slap across her left buttock." gen "I am your master, and I will decide when you are allowed to cum. Got it?" ("base", xpos="far_left", ypos="head") - her "Please [genie_name]!" ("angry", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "Please [name_genie_hermione]!" ("angry", "happyCl", "base", "mid") gen "Not...{w=0.4} Yet!{w} Not until I say so..." ("base", xpos="far_left", ypos="head") - her "Please...{w=0.4}, I beg of you, [genie_name], I can't hold it!{heart}" ("angry", "narrow", "worried", "up", cheeks="blush") + her @ cheeks blush "Please...{w=0.4}, I beg of you, [name_genie_hermione], I can't hold it!{heart}" ("angry", "narrow", "worried", "up") gen "Then you better put some effort into it if you want me to finish sooner." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/sexloop.ogg" - call nar(">Hermione starts pushing back against you, rotating her hips and massaging your shaft as you thrust into her.") + play background "sounds/sexloop.ogg" + nar "Hermione starts pushing back against you, rotating her hips and massaging your shaft as you thrust into her." gen "Yes! That's a good slave...{w=0.4} You're doing great." ("base", xpos="far_left", ypos="head") - call nar(">Gripping tightly onto Hermione's hips you impale her down to the hilt of your throbbing member.") + nar "Gripping tightly onto Hermione's hips, you impale her down to the hilt of your throbbing member." gen "*Ughhh*..." ("angry", xpos="far_left", ypos="head") call her_chibi_scene("sex_cum_in") - call nar(">You let out a load groan and start cumming inside Hermione.") - $ renpy.sound.play("sounds/slick_01.ogg") - stop bg_sounds fadeout 2 + nar "You let out a load groan and start cumming inside Hermione." + play sound "sounds/slick_01.ogg" + stop background fadeout 2 - her "[genie_name]{heart}{heart}... I--{w=0.2} I--{heart}" ("grin", "base", "base", "ahegao", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]{heart}{heart}... I--{w=0.2} I--{heart}" ("grin", "base", "base", "ahegao") gen "Cum for your master, slut! Cum your brains out!" ("angry", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "{heart}*Ah*!!{heart}" ("smile", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{heart}*Ah*!!{heart}" ("smile", "narrow", "base", "up") gen "That's right, take it all you dirty girl!" ("base", xpos="far_left", ypos="head") call cum_block - $ renpy.sound.play("sounds/slick_01.ogg") - call nar(">You continue to shoot ropes of cum into her asshole.") + play sound "sounds/slick_01.ogg" + nar "You continue to shoot ropes of cum into her asshole." - her "{heart}*Ah*...{w=0.4}{heart}*Ah*...{w=0.4}{heart}*Ah*...{w=0.4}{heart} Thank you, thank you sir..." ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{heart}*Ah*...{w=0.4}{heart}*Ah*...{w=0.4}{heart}*Ah*...{w=0.4}{heart} Thank you, thank you sir..." ("open", "happyCl", "worried", "mid") call slap_her call her_chibi_scene("sex_cum_in_done") - gen "What was that, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]! Thank you, [genie_name], thank you [genie_name].{heart}{heart}{heart}" ("grin", "narrow", "base", "dead", cheeks="blush") - gen "That's right, [hermione_name]... Know your place..." ("base", xpos="far_left", ypos="head") + gen "What was that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]! Thank you, [name_genie_hermione], thank you [name_genie_hermione].{heart}{heart}{heart}" ("grin", "narrow", "base", "dead") + gen "That's right, [name_hermione_genie]... Know your place..." ("base", xpos="far_left", ypos="head") - call nar(">Hermione closes her eyes as she rides out the last of her orgasm.") + nar "Hermione closes her eyes as she rides out the last of her orgasm." - gen "On your knees [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "W--{w=0.2} What?" ("soft", "happy", "worried", "R", cheeks="blush") + gen "On your knees [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "W--{w=0.2} What?" ("soft", "happy", "worried", "R") gen "No questions." ("base", xpos="far_left", ypos="head") gen "Get off the desk and onto your knees." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Yes, [name_genie_hermione]..." ("angry", "narrow", "base", "down") - call nar(">Hermione pulls herself off of your dick, turns around, and kneels in front of you.") + nar "Hermione pulls herself off of your dick, turns around, and kneels in front of you." call her_chibi_scene("bj_pause") with fade @@ -881,27 +880,27 @@ label slave_scene: gen "Let's see how much you've learned today." ("base", xpos="far_left", ypos="head") gen "Tell me again...{w=0.4} What are you?" ("base", xpos="far_left", ypos="head") - her "A slave." ("base", "narrow", "worried", "down", cheeks="blush") # Alternative: "A stupid sandwich." lol + her @ cheeks blush "A slave." ("base", "narrow", "worried", "down") # Alternative: "A stupid sandwich." lol gen "Who do you belong to?" ("base", xpos="far_left", ypos="head") - her "To you, [genie_name]." ("open", "happy", "base", "up", cheeks="blush") + her @ cheeks blush "To you, [name_genie_hermione]." ("open", "happy", "base", "up") if not her_neckwear_slave_collar.unlocked: $ her_neckwear_slave_collar.unlock() gen "That's right... And because you've been such a good slave, I'm going to give you a present." ("base", xpos="far_left", ypos="head") - her "A present, [genie_name]?" ("soft", "happy", "base", "up") + her "A present, [name_genie_hermione]?" ("soft", "happy", "base", "up") gen "The collar you're wearing... I want you to keep it." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]! Thank you, [genie_name]!" ("angry", "happy", "base", "up") + her "Yes, [name_genie_hermione]! Thank you, [name_genie_hermione]!" ("angry", "happy", "base", "up") - call give_reward(">A new collar has been unlocked in the wardrobe!") + call give_reward("A new collar has been unlocked in the wardrobe!") gen "Now... On your feet." ("base", xpos="far_left", ypos="head") else: gen "That's right. Now clean me up slut, I don't have the entire day." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj") - call nar(">Hermione looks up at you with eyes devoid of any resistance, then engulfs your entire shaft, sloppily licking and sucking on it, doing her best to please her master...") - call nar(">After your penis is thoroughly cleaned, you let go of her.") + nar "Hermione looks up at you with eyes devoid of any resistance, then engulfs your entire shaft, sloppily licking and sucking on it, doing her best to please her master..." + nar "After your penis is thoroughly cleaned, you let go of her." show screen blkfade with d3 @@ -914,14 +913,14 @@ label slave_scene: her "..." ("base", "narrow", "worried", "down") # Look of adoration, waiting for a command gen "What is it? Speak up." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]. I was wondering if...--" ("soft", "narrow", "worried", "down") + her "Thank you, [name_genie_hermione]. I was wondering if...--" ("soft", "narrow", "worried", "down") gen "--If You could get house points for this? *Ha-ha-ha*, of course not...{w=0.5} Slaves aren't getting paid, that's what makes them slaves." ("base", xpos="far_left", ypos="head") - her "I suppose you're right..." ("soft", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I suppose you're right..." ("soft", "narrow", "base", "R") gen "Now be on your way, I will call for you if I need anything." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]!" ("soft", "closed", "base", "mid") + her "Yes, [name_genie_hermione]!" ("soft", "closed", "base", "mid") if her_outfit_last.has_any_type("clothes"): - call nar(">Hermione grabs the pile of clothes lying nearby, not even bothering to put them back on.") + nar "Hermione grabs the pile of clothes lying nearby, not even bothering to put them back on." call her_walk(action="leave") @@ -933,155 +932,155 @@ label flasher_scene: gen "You're..." ("base", xpos="far_left", ypos="head") gen "A flasher!" ("base", xpos="far_left", ypos="head") - her "What?!" ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "What?!" ("angry", "wide", "base", "mid") - $ renpy.play("sounds/flashbang.ogg") + play sound "sounds/flashbang.ogg" $ hermione.equip(her_neckwear_flasher_collar) $ hermione.strip("top", "bra") - $ hermione_name = "Flasher" + $ name_hermione_genie = "Flasher" with flashbulb her "Aaah!!!" if hermione.is_any_equipped("top", "bra"): - call nar(">Hermione blinks, and looks down as her vision returns.") + nar "Hermione blinks, and looks down as her vision returns." if hermione.is_equipped("top", "bra"): - her "What happened to my clothes?!" ("mad", "narrow", "base", "down", cheeks="blush", trans=d3) + her @ cheeks blush "What happened to my clothes?!" ("mad", "narrow", "base", "down", trans=d3) elif hermione.is_equipped("top"): - her "Where has my top gone?!" ("mad", "narrow", "base", "down", cheeks="blush", trans=d3) + her @ cheeks blush "Where has my top gone?!" ("mad", "narrow", "base", "down", trans=d3) elif hermion.is_equipped("bra"): - her "Where is my bra?!" ("mad", "narrow", "base", "down", cheeks="blush", trans=d3) + her @ cheeks blush "Where is my bra?!" ("mad", "narrow", "base", "down", trans=d3) gen "*Hah-hah*!! Bringing out your true self are you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 16: - her "This isn't funny!" ("angry", "narrow", "angry", "R", cheeks="blush") + if states.her.level < 16: + her @ cheeks blush "This isn't funny!" ("angry", "narrow", "angry", "R") gen "I'm sure you'll get it back once you take the collar off." ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Hmph*..." ("annoyed", "narrow", "base", "down") else: - her "Why did it do that?!" ("angry", "narrow", "base", "dead", cheeks="blush", trans=d3) - call nar(">Hermione blinks, and looks down as her vision returns.") + her @ cheeks blush "Why did it do that?!" ("angry", "narrow", "base", "dead", trans=d3) + nar "Hermione blinks, and looks down as her vision returns." - her "What are these strings?" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "What are these strings?" ("angry", "narrow", "base", "down") gen "I would be careful with those if I were you--" ("base", xpos="far_left", ypos="head") - call nar(">Hermione tugs at the strings hanging from the collar.") - her "Ow-ow-ow!!" ("angry", "happyCl", "base", "mid", cheeks="blush", tears="soft_blink") + nar "Hermione tugs at the strings hanging from the collar." + her @ cheeks blush tears soft_blink "Ow-ow-ow!!" ("angry", "happyCl", "base", "mid") - if her_whoring < 16: #Before she'd wear piercings - her "They're... They're attached to my nipples!" ("mad", "narrow", "base", "mid", cheeks="blush") + if states.her.level < 16: #Before she'd wear piercings + her @ cheeks blush "They're... They're attached to my nipples!" ("mad", "narrow", "base", "mid") gen "Indeed they are." ("base", xpos="far_left", ypos="head") - her "B-- But..." ("clench", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "B-- But..." ("clench", "narrow", "worried", "down") else: gen "Told you..." ("base", xpos="far_left", ypos="head") - her "I can't believe a magic collar would--" ("clench", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I can't believe a magic collar would--" ("clench", "narrow", "base", "down") gen "So... A flasher, eh?" ("base", xpos="far_left", ypos="head") - her "What?" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "What?" ("angry", "squint", "base", "mid") gen "That's what the collar says." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "I'm... I'm not a flasher!" ("disgust", "narrow", "annoyed", "R", cheeks="blush") - call nar(">You watch as the strings of the collar move slightly by Hermione's words.") - her "The collar must be broken!" ("open", "closed", "annoyed", "mid", cheeks="blush") - her "I'm only doing this for--" ("annoyed", "narrow", "base", "mid", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "I'm... I'm not a flasher!" ("disgust", "narrow", "annoyed", "R") + nar "You watch as the strings of the collar move slightly by Hermione's words." + her @ cheeks blush "The collar must be broken!" ("open", "closed", "annoyed", "mid") + her @ cheeks blush "I'm only doing this for--" ("annoyed", "narrow", "base", "mid") gen "Agreed." ("base", xpos="far_left", ypos="head") - her "*Huh*?" ("disgust", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "*Huh*?" ("disgust", "base", "base", "mid") else: - her "*Ehm*..." ("disgust", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ehm*..." ("disgust", "base", "base", "mid") gen "The collar must be broken..." ("base", xpos="far_left", ypos="head") gen "I guess exhibitionist wouldn't fit on it." ("base", xpos="far_left", ypos="head") - call nar(">As if on command, the collar tugs the strings slightly, causing Hermione to jerk up.") - her "Ow!" ("angry", "wide", "base", "stare", cheeks="blush") + nar "As if on command, the collar tugs the strings slightly, causing Hermione to jerk up." + her @ cheeks blush "Ow!" ("angry", "wide", "base", "stare") gen "I'll take that as a confirmation..." ("grin", xpos="far_left", ypos="head") - her "Where...{w=0.4} Where did you get this thing from?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Where...{w=0.4} Where did you get this thing from?" ("angry", "base", "base", "mid") gen "*Err*... Some magic shop." ("base", xpos="far_left", ypos="head") - her "Magic shop?" ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Magic shop?" ("disgust", "narrow", "base", "mid") gen "Well...{w=0.4} Not \"the\" magic shop...{w} That's back in my world." ("base", xpos="far_left", ypos="head") - her "*Huh*?" ("open", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Huh*?" ("open", "base", "worried", "mid") gen "Although I must say I'm a bit disappointed..." ("base", xpos="far_left", ypos="head") - her "You're disappointed? You've just had the collar label me a flasher!" ("open", "narrow", "annoyed", "R", cheeks="blush") #annoyed + her @ cheeks blush "You're disappointed? You've just had the collar label me a flasher!" ("open", "narrow", "annoyed", "R") #annoyed gen "The collar hasn't labelled you anything... It merely showed your true self." ("base", xpos="far_left", ypos="head") if hermione.is_any_worn("clothes"): gen "I'm disappointed because I assumed it would strip you completely..." ("base", xpos="far_left", ypos="head") - her "Strip me--" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Strip me--" ("open", "base", "base", "mid") - $ renpy.play("sounds/flashbang.ogg") - $ hermione.strip("all") + play sound "sounds/flashbang.ogg" + $ hermione.strip("clothes") $ hermione.wear("neckwear") with flashbulb - her "What the--" ("clench", "base", "base", "down", cheeks="blush") + her @ cheeks blush "What the--" ("clench", "base", "base", "down") gen "There it is! Your true self!" ("grin", xpos="far_left", ypos="head") - her "" ("annoyed", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("annoyed", "base", "base", "mid") else: - gen "Well... The collar didn't need to do much did it... Seeing your current state of undress..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "base", "base", "mid", cheeks="blush") + gen "Well... The collar didn't need to do much, did it... Seeing your current state of undress..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "base", "base", "mid") gen "Well then... Now that the collar has told us how much you enjoy showing off your naked body..." ("base", xpos="far_left", ypos="head") gen "I want to hear it from you..." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: # Wont admit it - her "Hear... Hear what from me?" ("disgust", "happy", "base", "mid", cheeks="blush") + if states.her.level < 19: # Won't admit it + her @ cheeks blush "Hear... Hear what from me?" ("disgust", "happy", "base", "mid") gen "Tell me how much you're enjoying flaunting your naked body." ("base", xpos="far_left", ypos="head") - her "I...{w=0.4} I am just doing it for the points, [genie_name]!" ("angry", "happyCl", "worried", "R", cheeks="blush") - call nar(">The collar once more tugs on the strings, making hermione gasp.") - her "*Ah*..." ("soft", "happyCl", "base", "mid", cheeks="blush") #Horny - her "..." ("disgust", "narrow", "base", "stare", cheeks="blush") #embarrased + her @ cheeks blush "I...{w=0.4} I am just doing it for the points, [name_genie_hermione]!" ("angry", "happyCl", "worried", "R") + nar "The collar once more tugs on the strings, making Hermione gasp." + her @ cheeks blush "*Ah*..." ("soft", "happyCl", "base", "mid") #Horny + her @ cheeks blush "..." ("disgust", "narrow", "base", "stare") #embarrased gen "Really?" ("base", xpos="far_left", ypos="head") - her "Yes, I--" ("angry", "narrow", "base", "down", cheeks="blush") - call nar(">The collar tugs even harder, Hermione seemingly fighting conflicting emotions.") - her "Ow!" ("angry", "happyCl", "base", "stare", cheeks="blush") - gen "Come on [hermione_name]... Even the collar knows that you're lying..." ("base", xpos="far_left", ypos="head") - her "S--{w=0.2} Sorry [genie_name]... But I cannot." ("disgust", "narrow", "worried", "stare", cheeks="blush") - call nar(">As if trying to teach her a lesson, the collar pulls its strings with all its might, making Hermione yelp with pain.") - her "Ouch!" ("scream", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") + her @ cheeks blush "Yes, I--" ("angry", "narrow", "base", "down") + nar "The collar tugs even harder, Hermione seemingly fighting conflicting emotions." + her @ cheeks blush "Ow!" ("angry", "happyCl", "base", "stare") + gen "Come on [name_hermione_genie]... Even the collar knows that you're lying..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "S--{w=0.2} Sorry [name_genie_hermione]... But I cannot." ("disgust", "narrow", "worried", "stare") + nar "As if trying to teach her a lesson, the collar pulls its strings with all its might, making Hermione yelp with pain." + her @ cheeks blush tears soft_blink "Ouch!" ("scream", "happyCl", "worried", "mid") gen "Sounds more like you {i}don't want to{/i}, rather than {i}cannot{/i} admit it..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "worried", "R", cheeks="blush", tears="soft") - gen "Very well then, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears soft "..." ("annoyed", "narrow", "worried", "R") + gen "Very well then, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "You may take the collar off." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("soft", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "Thank you [name_genie_hermione]..." ("soft", "narrow", "worried", "down") - elif her_whoring < 22: # Hesitates but will eventually admit it - her "You... You want me to say that I..." ("open", "happy", "base", "R", cheeks="blush") + elif states.her.level < 22: # Hesitates but will eventually admit it + her @ cheeks blush "You... You want me to say that I..." ("open", "happy", "base", "R") gen "Enjoy showing off your body..." ("base", xpos="far_left", ypos="head") - if hg_pr_flash.counter > 0: + if states.her.status.public_stripping: gen "That you like when people are watching you, especially when you're naked." ("base", xpos="far_left", ypos="head") else: gen "That you like showing yourself off to me..." ("base", xpos="far_left", ypos="head") - her "I..." ("disgust", "narrow", "base", "down", cheeks="blush") - call nar(">You watch as the strings of the collar slowly begin to pull on itself as Hermione hesitates.") - her "I..." ("soft", "narrow", "base", "down", cheeks="blush") - call nar(">The strings now completely stretched begin tugging on Hermione's nipples.") - her "Alright I do enjoy it okay!" ("angry", "happyCl", "worried", "mid", cheeks="blush") - call nar(">As the words leave Hermione's lips the strings return to their dormant state") - her "*Phew*..." ("soft", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "I..." ("disgust", "narrow", "base", "down") + nar "You watch as the strings of the collar slowly begin to pull on itself as Hermione hesitates." + her @ cheeks blush "I..." ("soft", "narrow", "base", "down") + nar "The strings, now completely stretched, begins tugging on Hermione's nipples." + her @ cheeks blush "Alright I do enjoy it okay!" ("angry", "happyCl", "worried", "mid") + nar "As the words leave Hermione's lips, the strings return to their dormant state." + her @ cheeks blush "*Phew*..." ("soft", "narrow", "worried", "down") gen "Now was that so hard?" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "R", cheeks="blush") - her "I only said it because of this stupid--" ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "R") + her @ cheeks blush "I only said it because of this stupid--" ("open", "closed", "annoyed", "mid") call slap_her - call nar(">The strings slap her breasts in unison.") + nar "The strings slap her breasts in unison." - her "Ouch!" ("angry", "wide", "worried", "stare", cheeks="blush") + her @ cheeks blush "Ouch!" ("angry", "wide", "worried", "stare") gen "*Heh-heh*..." ("grin", xpos="far_left", ypos="head") - her "Can I take this off now?" ("open", "narrow", "annoyed", "R", cheeks="blush") - gen "Yes, you may take the collar off now, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Can I take this off now?" ("open", "narrow", "annoyed", "R") + gen "Yes, you may take the collar off now, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you [name_genie_hermione]..." ("open", "narrow", "base", "mid") else: #Openly admits it, proves it to you - call nar(">You watch as the strings attached to her new nipple piercings tug and pull, making her nipples harden.") - her "I love it!" ("grin", "narrow", "base", "down", cheeks="blush") - call nar(">The collar happy with the answer, relaxes its strings.") + nar "You watch as the strings attached to her new nipple piercings tug and pull, making her nipples harden." + her @ cheeks blush "I love it!" ("grin", "narrow", "base", "down") + nar "The collar, happy with the answer, relaxes its strings." gen "Oh?" ("base", xpos="far_left", ypos="head") - her "I mean... If the magic collar says so then it must be true..." ("grin", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I mean... If the magic collar says so, then it must be true..." ("grin", "narrow", "base", "mid") gen "I...{w=0.4} Yes, although I didn't think you'd be so hasty to admit it." ("base", xpos="far_left", ypos="head") - her "Let's give you some confirmation then..." ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Let's give you some confirmation then..." ("base", "narrow", "base", "mid") gen "What are you--" ("base", xpos="far_left", ypos="head") hide hermione_main @@ -1091,10 +1090,10 @@ label flasher_scene: show screen blkfade with d3 - $ renpy.play('sounds/08_hop_on_desk.ogg') #Sound of the desk squeaking. + play sound "sounds/08_hop_on_desk.ogg" #Sound of the desk squeaking. pause 3 gen "!!!!!!" ("angry", xpos="far_left", ypos="head") - call nar(">Hermione waiving away your questioning look, walks over and climbs onto your desk...") + nar "Hermione, waiving away your questioning look, walks over and climbs onto your desk..." call her_chibi("dance_pause","on_desk","on_desk") @@ -1102,17 +1101,17 @@ label flasher_scene: with fade pause.5 - call play_music("playful_tension") #HERMIONE + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 #HERMIONE if_changed gen "Miss Granger!" ("base", xpos="far_left", ypos="head") - her "Is this enough proof for you?" ("grin", "narrow", "base", "down", cheeks="blush") - call nar(">Hermione stares into your face, cheeks flushed with colour as she spreads her wet pussy...") + her @ cheeks blush "Is this enough proof for you?" ("grin", "narrow", "base", "down") + nar "Hermione stares into your face, cheeks flushed with colour as she spreads her wet pussy..." gen "Ten points to Gryffindor!" ("grin", xpos="far_left", ypos="head") $ gryffindor += 10 - her "Thank you, [genie_name]..." ("grin", "narrow", "base", "mid", cheeks="blush") - call nar(">With a sensual step, Hermione turns around then bends down, showing you her ass and pussy in vivid details.") + her @ cheeks blush "Thank you, [name_genie_hermione]..." ("grin", "narrow", "base", "mid") + nar "With a sensual step, Hermione turns around then bends down, showing you her ass and pussy in vivid details." gen "Holy shit! This feels like a strip-club!" ("grin", xpos="far_left", ypos="head") gen "Another Ten points to Gryffindor!" ("grin", xpos="far_left", ypos="head") @@ -1121,26 +1120,26 @@ label flasher_scene: show screen blkfade with d5 - call nar(">Hermione prounces around your desk for a moment, and shows herself off from every angle...") + nar "Hermione prances around your desk for a moment, and shows herself off from every angle..." - her "Now if you don't mind..." ("grin", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Now if you don't mind..." ("grin", "closed", "base", "mid") - call play_sound("climb_desk") - call nar(">Hermione gets off your desk.") + play sound "sounds/08_hop_on_desk.ogg" + nar "Hermione gets off your desk." call her_chibi("stand","desk","base") hide screen blkfade with d5 - her "I believe you got your proof..." ("smile", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I believe you got your proof..." ("smile", "narrow", "base", "mid") gen "What proof..." ("base", xpos="far_left", ypos="head") - gen "Oh! Yes... Well done, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Oh! Yes... Well done, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "I haven't felt more convinced in my life." ("grin", xpos="far_left", ypos="head") - $ renpy.play("sounds/collar_click.ogg") - her "Good, then let me just take this thing off..." ("grin", "narrow", "base", "down", cheeks="blush") + play sound "sounds/collar_click.ogg" + her @ cheeks blush "Good, then let me just take this thing off..." ("grin", "narrow", "base", "down") - $ renpy.play("sounds/flashbang.ogg") + play sound "sounds/flashbang.ogg" $ hermione.equip(her_outfit_last) with flashbulb @@ -1148,36 +1147,36 @@ label flasher_scene: her "The strings disappeared!" ("soft", "happy", "base", "mid") gen "Convenient..." ("base", xpos="far_left", ypos="head") her "Is that everything, then?" ("open", "base", "base", "R") - gen "Yes, [hermione_name]... That shall do for today." ("base", xpos="far_left", ypos="head") + gen "Yes, [name_hermione_genie]... That shall do for today." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: $ gryffindor += current_payout - gen "{number=current_payout} points to Gryffindor, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") if not her_neckwear_flasher_collar.unlocked: $ her_neckwear_flasher_collar.unlock() gen "You may keep that collar by the way." ("base", xpos="far_left", ypos="head") - her "Really?" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Really?" ("open", "base", "base", "mid") - if her_whoring < 19: + if states.her.level < 19: her "What if I don't want it..." ("disgust", "narrow", "base", "R") gen "We both know you want it." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "mid") gen "I'll put it to the side for now..." ("base", xpos="far_left", ypos="head") else: gen "Certainly..." ("base", xpos="far_left", ypos="head") - her "Alright then..." ("open", "narrow", "base", "R", cheeks="blush") - her "Just let me know when you want me to put it on..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright then..." ("open", "narrow", "base", "R") + her @ cheeks blush "Just let me know when you want me to put it on..." ("open", "closed", "base", "mid") - call give_reward(">A new collar has been unlocked in the wardrobe!") + call give_reward("A new collar has been unlocked in the wardrobe!") if game.daytime: - her "Have a Good day." ("soft", "base", "base", "R", cheeks="blush") - gen "Good day... [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Have a Good day." ("soft", "base", "base", "R") + gen "Good day... [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: - her "Have a Good night." ("soft", "base", "base", "R", cheeks="blush") - gen "Good night... [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Have a Good night." ("soft", "base", "base", "R") + gen "Good night... [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") @@ -1185,22 +1184,22 @@ label flasher_scene: label good_girl_scene: - call nar(">With a brief flash of light, the collar changes its form...") + nar "With a brief flash of light, the collar changes its form..." - $ renpy.play("sounds/flashbang.ogg") + play sound "sounds/flashbang.ogg" $ hermione.equip(her_neckwear_good_girl_collar) $ hermione.strip("top") with flashbulb gen "It says you're a Good girl." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Just as I thought..." ("grin", "closed", "base", "mid") her "I am a model student after all." ("open", "closed", "base", "mid") gen "(*Hmm*... The collar must be broken... I've been scammed!)" ("angry", xpos="far_left", ypos="head") - her "[genie_name]?" ("soft", "base", "base", "mid") + her "[name_genie_hermione]?" ("soft", "base", "base", "mid") - elif her_whoring < 10: + elif states.her.level < 10: her "That's nice." ("base", "squint", "worried", "mid") her "Must be because of how I've been earning all these points for my house." ("open", "closed", "worried", "mid") gen "Yep, I'm sure that's it..." ("base", xpos="far_left", ypos="head") @@ -1208,7 +1207,7 @@ label good_girl_scene: her "So... I put it on, can I have my--" ("soft", "base", "base", "mid") gen "Yes, yes... You'll get your stupid points..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 19: + elif states.her.level < 19: her "It does?" ("soft", "base", "base", "mid") gen "Indeed it does... Guess there was nothing to be worried about." ("base", xpos="far_left", ypos="head") her "Alright then..." ("base", "base", "worried", "R") @@ -1218,56 +1217,56 @@ label good_girl_scene: her "*Hmm*..." ("annoyed", "base", "base", "mid") her "Well then... Before I go." ("open", "closed", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") - her "I thought that since you're paying me and all I should at least show you my breasts..." ("open", "closed", "base", "down") + her "I thought that since you're paying me and all, I should at least show you my breasts..." ("open", "closed", "base", "down") gen "That seems fair." ("grin", xpos="far_left", ypos="head") stop music fadeout 1.0 $ hermione.strip("bra") with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause 2.0 - if her_whoring < 13: + if states.her.level < 13: her "..." ("annoyed", "base", "base", "mid") her "There you are then..." ("open", "base", "base", "R") else: - her "Do you like them, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Do you like them, [name_genie_hermione]." ("open", "base", "base", "mid") gen "Do you even have to ask?" ("grin", xpos="far_left", ypos="head") gen "Of course I do, they're great!" ("grin", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank you [name_genie_hermione]..." ("base", "closed", "base", "mid") call music_block else: #Not wearing either top nor bra her "So... Am I still getting paid?" ("base", "base", "base", "mid") her "I'm a bit confused..." ("base", "base", "base", "mid") - gen "Yes [hermione_name]... You'll get your points..." ("base", xpos="far_left", ypos="head") + gen "Yes [name_hermione_genie]... You'll get your points..." ("base", xpos="far_left", ypos="head") else: #19+ Not being paid. - her "Really, [genie_name]?" ("open", "wide", "worried", "mid") + her "Really, [name_genie_hermione]?" ("open", "wide", "worried", "mid") gen "That's right! Must be because of all the things you've been doing to help your friends." ("base", xpos="far_left", ypos="head") her "Thank heavens... I was so worried..." ("soft", "happyCl", "worried", "mid") gen "Of course! Not everyone would have been able to achieve what you have..." ("base", xpos="far_left", ypos="head") - her "*sob*... I guess not..." ("angry", "base", "base", "mid", tears="soft") + her @ tears soft "*sob*... I guess not..." ("angry", "base", "base", "mid") gen "It takes some real strength and determination!" ("base", xpos="far_left", ypos="head") - her "You really think so [genie_name]?" ("soft", "narrow", "base", "down") - gen "I do! you're a good girl Miss Granger..." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "base", "base", "mid") - gen "Once Gryffindor wins the house cup almost everyone will be so happy." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]... I can't wait!" ("base", "happyCl", "base", "mid") + her "You really think so [name_genie_hermione]?" ("soft", "narrow", "base", "down") + gen "I do! you're a good girl, Miss Granger..." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") + gen "Once Gryffindor wins the house cup, everyone will be so happy." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]... I can't wait!" ("base", "happyCl", "base", "mid") gen "*Sigh*" ("base", xpos="far_left", ypos="head") # Genie sighs because he was hoping that Hermione would present herself or something because the collar did nothing. - her "Is something the matter, [genie_name]?" ("base", "happyCl", "base", "mid") + her "Is something the matter, [name_genie_hermione]?" ("base", "happyCl", "base", "mid") gen "It's nothing. Don't worry about it." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: $ gryffindor += current_payout - gen "{number=current_payout} points to Gryffindor, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "happy", "base", "mid") + gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("base", "happy", "base", "mid") ## End section ## - her "Is that everything, [genie_name]?" ("base", "base", "base", "mid") + her "Is that everything, [name_genie_hermione]?" ("base", "base", "base", "mid") gen "Yes, that shall do for today..." ("base", xpos="far_left", ypos="head") her "Alright then." ("base", "base", "base", "R") @@ -1277,21 +1276,21 @@ label good_girl_scene: if not her_neckwear_good_girl_collar.unlocked: $ her_neckwear_good_girl_collar.unlock() - gen "Oh... You can keep that collar by the way..." ("base", xpos="far_left", ypos="head") + gen "Oh... You can keep that collar, by the way..." ("base", xpos="far_left", ypos="head") her "Really?" ("open", "base", "base", "mid") gen "Yeah, sure, Why not... Should give me a good reminder to be more careful making decisions..." ("base", xpos="far_left", ypos="head") gen "(Maybe I should sell her some more favours until I give her another one...)" ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("base", "base", "base", "mid") + her "Thank you [name_genie_hermione]..." ("base", "base", "base", "mid") gen "(At least I can enjoy watching her wearing it...)" ("base", xpos="far_left", ypos="head") her "Just let me know if you need anything." ("open", "happy", "base", "mid") - call give_reward(">A new collar has been unlocked in the wardrobe!") + call give_reward("A new collar has been unlocked in the wardrobe!") if game.daytime: her "Have a Good day." ("grin", "base", "base", "mid") else: her "Have a Good night." ("grin", "base", "base", "mid") - gen "You too [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You too [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") diff --git a/game/scripts/characters/hermione/events/items/vibrators.rpy b/game/scripts/characters/hermione/events/items/vibrators.rpy index aa08cf6a..cfcba914 100644 --- a/game/scripts/characters/hermione/events/items/vibrators.rpy +++ b/game/scripts/characters/hermione/events/items/vibrators.rpy @@ -1,11 +1,5 @@ -default her_vibrators_seen = False # Has Genie offered her the vibrators? -default her_vibrators_worn = False # Has Hermione agreed to wear the vibrators? -default her_vibrators_public = False # Has completed at least once public event? -default her_vibrators_public_stage = 0 # Stage 0 - Hadn't worn vibrators in public, Stage 1 - Had worn vibrators in public (low), Stage 2 - Had worn vibrators in public (high) -default her_vibrators_personal = False # Has completed at least once personal event? - -default ev_her_vibrators_public_return = Event(id="ev_her_vibrators_public_return", daytime=False, label="hg_vibrators_public_return") +default ev_her_vibrators_public_return = Event(id="her_vibrators_public_return", label="hg_vibrators_public_return", req="game.daytime==False") label hg_vibrators: @@ -13,164 +7,164 @@ label hg_vibrators: $ her_outfit_last.save() $ current_payout = 20 - gen "I've got a gift for you, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "I've got a gift for you, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "A gift?" ("open", "base", "base", "mid",xpos="base",ypos="base") gen "Yep, just come closer, close your eyes and put your hand in this box!" ("base", xpos="far_left", ypos="head") call her_walk("desk", "base") - ">You present the Box-o-fun to Hermione." - if not her_vibrators_seen: + nar "You present the Box-o-fun to Hermione." + if not states.her.ev.vibrators.seen: her "\"Satisfaction guaranteed\"? What does that mean?" ("open", "squint", "base", "mid") gen "It means what it says on the box, now close your eyes and put your hand in there." ("base", xpos="far_left", ypos="head") her "Alright..." ("open", "closed", "base", "mid") play sound "sounds/rummage.ogg" - ">Hermione puts a hand in the box and takes out a set of egg-shaped vibrators." + nar "Hermione puts a hand in the box and takes out a set of egg-shaped vibrators." gen "Interesting... You've chosen well." ("base", xpos="far_left", ypos="head") her "Can I open my eyes now?" ("soft", "closed", "base", "mid") gen "Oh, yes go right ahead." ("base", xpos="far_left", ypos="head") else: - if her_tier < 4: #Fail + if states.her.tier < 4: #Fail her "This again?" ("annoyed", "base", "base", "mid") her "It's not going to be something weird like the last time, is it?" ("annoyed", "happy", "worried", "mid") gen "Of course not... Just close your eyes and put your hand in the box." ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "mid") her "" ("annoyed", "closed", "base", "mid") play sound "sounds/rummage.ogg" - ">Hermione rummages around in the box and brings out the egg-shaped vibrators." + nar "Hermione rummages around in the box and brings out the egg-shaped vibrators." gen "Alright, you can open--" ("base", xpos="far_left", ypos="head") else: her "Alright..." ("base", "base", "base", "mid") her "" ("base", "closed", "base", "mid") - ">Hermione rummages around in the box and brings out the egg-shaped vibrators." + nar "Hermione rummages around in the box and brings out the egg-shaped vibrators." gen "Good choice... Okay, you may open your eyes." ("base", xpos="far_left", ypos="head") # Introduction (seen) label .intro_seen: - if not her_vibrators_seen: + if not states.her.ev.vibrators.seen: # First time (seen) - $ her_vibrators_seen = True + $ states.her.ev.vibrators.seen = True - ">Hermione opens her eyes, and looks over the objects with suspicion." + nar "Hermione opens her eyes, and looks over the objects with suspicion." - if her_tier < 4: + if states.her.tier < 4: jump hg_vibrators_fail - elif her_tier < 5: - her "Is that... A vibrator?" ("clench", "squint", "base", "mid", cheeks="blush") + elif states.her.tier < 5: + her @ cheeks blush "Is that... A vibrator?" ("clench", "squint", "base", "mid") gen "Vibrator{b}s{/b}!" ("grin", xpos="far_left", ypos="head") gen "All three of these vibrate!" ("grin", xpos="far_left", ypos="head") - her "Surely you aren't expecting of me to put those things to use, are you?" ("open", "squint", "base", "mid", cheeks="blush") - ">You hold up the remote, circling your finger suggestively over the power switch." + her @ cheeks blush "Surely you aren't expecting of me to put those things to use, are you?" ("open", "squint", "base", "mid") + nar "You hold up the remote, circling your finger suggestively over the power switch." gen "What if I am?" ("grin", xpos="far_left", ypos="head") - her "I figured as much..." ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I figured as much..." ("disgust", "narrow", "base", "R") gen "So, what will it be?" ("base", xpos="far_left", ypos="head") - her "{size=-4}...{w=0.4} I want twenty points for this.{/size}" ("disgust", "narrow", "base", "down", cheeks="blush") #small text + her @ cheeks blush "{size=-4}...{w=0.4} I want twenty points for this.{/size}" ("disgust", "narrow", "base", "down") #small text gen "What was that?" ("base", xpos="far_left", ypos="head") - her "I said, I want twenty points..." ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I said, I want twenty points..." ("open", "closed", "annoyed", "mid") gen "Deal!" ("grin", xpos="far_left", ypos="head") else: - her "A vibrator?" ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "A vibrator?" ("base", "squint", "base", "mid") gen "Indeed! Although, there's more than one!" ("grin", xpos="far_left", ypos="head") - her "R--{w=0.2} really?" ("angry", "base", "base", "mid", cheeks="blush") - gen "Aren't you going to thank me for my generosity, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") - gen "Not with words, [hermione_name]..." ("base", xpos="far_left", ypos="head") - ">You hold up the remote, circling your finger suggestively over the power switch." - her "You want me to put them to use?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "R--{w=0.2} really?" ("angry", "base", "base", "mid") + gen "Aren't you going to thank me for my generosity, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you, [name_genie_hermione]." ("open", "base", "base", "mid") + gen "Not with words, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + nar "You hold up the remote, circling your finger suggestively over the power switch." + her @ cheeks blush "You want me to put them to use?" ("open", "squint", "base", "mid") gen "If you please." ("base", xpos="far_left", ypos="head") - her "Okay then..." ("base", "narrow", "base", "mid", cheeks="blush") #blushing + her @ cheeks blush "Okay then..." ("base", "narrow", "base", "mid") #blushing else: # Repeat (seen) - ">Hermione opens her eyes and inspects the vibrators for a moment." + nar "Hermione opens her eyes and inspects the vibrators for a moment." - if her_tier < 4: + if states.her.tier < 4: jump hg_vibrators_fail_repeat - if her_tier < 5: - her "The vibrators again..." ("normal", "happy", "base", "mid", cheeks="blush") + if states.her.tier < 5: + her @ cheeks blush "The vibrators again..." ("normal", "happy", "base", "mid") gen "How lucky for you." ("base", xpos="far_left", ypos="head") - if her_vibrators_worn: + if states.her.ev.vibrators.worn: gen "Ready to give them another whirl?" ("base", xpos="far_left", ypos="head") else: gen "Ready to give them a whirl?" ("base", xpos="far_left", ypos="head") - her "*Hmm*...{w=0.4} Sure, but only if you pay me twenty points!" ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*...{w=0.4} Sure, but only if you pay me twenty points!" ("open", "narrow", "base", "R") gen "Yeah, yeah, now get on with it." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("normal", "happy", "base", "mid") else: - her "I see..." ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I see..." ("base", "squint", "base", "mid") gen "That's a lucky pull!" ("grin", xpos="far_left", ypos="head") gen "Looks like it might be a shiny, even!" ("grin", xpos="far_left", ypos="head") - if her_vibrators_worn: + if states.her.ev.vibrators.worn: gen "Oh wait, that's just some remaining residue from the last time." ("grin", xpos="far_left", ypos="head") gen "Although, you could give them another try to see if the experience increases its rarity!" ("grin", xpos="far_left", ypos="head") else: gen "Oh wait, that's just some remaining residue from whoever used them previously." ("grin", xpos="far_left", ypos="head") - her "Someone else has already used these?" ("open", "narrow", "base", "mid", cheeks="blush") - gen "Err... Of course not!" ("grin", xpos="far_left", ypos="head") - her "If you say so..." ("base", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Someone else has already used these?" ("open", "narrow", "base", "mid") + gen "*Err*... Of course not!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "If you say so..." ("base", "narrow", "base", "R") # Introduction (worn) label .intro_worn: - if not her_vibrators_worn: + if not states.her.ev.vibrators.worn: # First time (worn) - $ her_vibrators_worn = True + $ states.her.ev.vibrators.worn = True - if her_tier < 5: - her "So...{w=0.4} What am I supposed to do with these?" ("angry", "narrow", "base", "down", cheeks="blush") + if states.her.tier < 5: + her @ cheeks blush "So...{w=0.4} What am I supposed to do with these?" ("angry", "narrow", "base", "down") if hermione.is_any_worn("clothes"): gen "Just take your clothes off, and tape the vibrating eggs to your sensitive parts." ("base", xpos="far_left", ypos="head") if hermione.is_any_worn("bra", "panties"): - her "You want me to wear them without any clothes?!" ("clench", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "You want me to wear them without any clothes?!" ("clench", "wide", "base", "mid") gen "You can wear them inside your underwear, whatever {i}boats your float{/i}..." ("base", xpos="far_left", ypos="head") # Intentional - her "It's not--{w=0.2} Okay then..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "It's not--{w=0.2} Okay then..." ("open", "narrow", "base", "mid") else: - her "But then you'll see when I--" ("disgust", "narrow", "base", "mid", cheeks="blush") - her "Could I at least wear some underwear?" ("open", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "But then you'll see when I--" ("disgust", "narrow", "base", "mid") + her @ cheeks blush "Could I at least wear some underwear?" ("open", "squint", "worried", "R") gen "If you must..." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Thank you [name_genie_hermione]..." ("base", "narrow", "base", "down") else: gen "Just tape them to your bits." ("base", xpos="far_left", ypos="head") # That's fanny - her "Tape it to my bits?!" ("angry", "wide", "base", "mid", cheeks="blush") - her "You want me to wear them while I'm naked?!" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Tape it to my bits?!" ("angry", "wide", "base", "mid") + her @ cheeks blush "You want me to wear them while I'm naked?!" ("angry", "squint", "base", "mid") gen "You can put some underwear on top if it makes you feel better..." ("base", xpos="far_left", ypos="head") - her "Oh...{w=0.4} Okay, I'll do that then." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh...{w=0.4} Okay, I'll do that then." ("open", "squint", "base", "mid") else: - her "*Ehm*...{w=0.4} What am I supposed to do with these?" ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Ehm*...{w=0.4} What am I supposed to do with these?" ("open", "narrow", "base", "down") if hermione.is_any_worn("clothes"): gen "That's easy, just take your clothes off, and tape the vibrating eggs to your sensitive parts." ("grin", xpos="far_left", ypos="head") if hermione.is_any_worn("bra", "panties"): - her "Should I take off my underwear as well?" ("soft", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Should I take off my underwear as well?" ("soft", "squint", "base", "mid") gen "Yes please!" ("base", xpos="far_left", ypos="head") else: gen "Just stick those vibrating things against your breasts and pussy." ("grin", xpos="far_left", ypos="head") - her "I see..." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I see..." ("open", "squint", "base", "mid") else: # Repeat (worn) - if her_tier < 5: + if states.her.tier < 5: if hermione.is_any_worn("clothes"): - her "Can I put them inside my underwear like before?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Can I put them inside my underwear like before?" ("open", "squint", "base", "mid") gen "Sure can." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank you, [name_genie_hermione]." ("open", "squint", "base", "mid") else: - her "I'll need wear some underwear over them, of course." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "I'll need to wear some underwear over them, of course." ("open", "squint", "base", "R") gen "If you must..." ("base", xpos="far_left", ypos="head") else: if hermione.is_any_worn("clothes"): gen "And I want you to be naked..." ("base", xpos="far_left", ypos="head") - her "Certainly, [genie_name]." ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Certainly, [name_genie_hermione]." ("base", "squint", "base", "mid") - her "Here I go..." ("open", "closed", "base", "mid", cheeks="blush") #blush + her @ cheeks blush "Here I go..." ("open", "closed", "base", "mid") #blush # Taking clothes off, if any. if hermione.is_any_worn("clothes"): @@ -193,15 +187,15 @@ label hg_vibrators: with d3 pause 1 - if hermione.is_any_worn("bra", "panties"): #Removes eveything except bra or panties if she's wearing them (maybe this could be done differently) - $ hermione.strip("all") + if hermione.is_any_worn("bra", "panties"): #Removes everything except bra or panties if she's wearing them (maybe this could be done differently) + $ hermione.strip("clothes") $ hermione.wear("bra", "panties") else: - $ hermione.strip("all") + $ hermione.strip("clothes") # Additional dialogue for lower levels (Optional) - if her_tier >= 5: + if states.her.tier >= 5: if hermione.is_worn("bra"): play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") @@ -218,21 +212,21 @@ label hg_vibrators: with d3 pause 1 - her "Okay... They're attached." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Okay... They're attached." ("open", "squint", "base", "mid") gen "Firmly?" ("base", xpos="far_left", ypos="head") gen "We wouldn't want anything to come loose now, would we?" ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} Yes, they're attached firmly..." ("angry", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "I--{w=0.2} Yes, they're attached firmly..." ("angry", "squint", "base", "R") else: - her "Don't look..." ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Don't look..." ("angry", "squint", "base", "mid") if hermione.is_any_worn("bra", "panties"): gen "I've already seen you naked..." ("base", xpos="far_left", ypos="head") - her "I don't want you to see me putting them on!" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "I don't want you to see me putting them on!" ("angry", "squint", "worried", "mid") gen "Alright, whatever..." ("base", xpos="far_left", ypos="head") else: gen "Why not?" ("base", xpos="far_left", ypos="head") - her "I need to tape them on..." ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "I need to tape them on..." ("angry", "squint", "worried", "mid") gen "So?" ("base", xpos="far_left", ypos="head") - her "Just, don't look okay!" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Just, don't look okay!" ("angry", "happyCl", "worried", "mid") gen "Fine..." ("base", xpos="far_left", ypos="head") show screen blkfade @@ -254,24 +248,24 @@ label hg_vibrators: with d3 pause 1 - her "" ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "base", "down") $ hermione.equip([her_nipple_vibrators, her_panties_base_vibrators, her_clit_vibrators]) hide screen blkfade with d5 - her "..." ("base", "narrow", "base", "down", cheeks="blush") #Looks down towards breasts annoyed - her "..." ("base", "base", "base", "mid", cheeks="blush") #Looks up and sees you - her "[genie_name]! I asked you not to look!" ("angry", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "base", "down") #Looks down towards breasts annoyed + her @ cheeks blush "..." ("base", "base", "base", "mid") #Looks up and sees you + her @ cheeks blush "[name_genie_hermione]! I asked you not to look!" ("angry", "base", "worried", "mid") - $ her_mood += 5 + $ states.her.mood += 5 gen "Don't blame me..." ("angry", xpos="far_left", ypos="head") gen "How long can it take to attach some vibrators?" ("base", xpos="far_left", ypos="head") - her "I'm sorry, I'm not an expert with stuff like this... {w=0.2}Unlike you, obviously..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I'm sorry, I'm not an expert with stuff like this... {w=0.2}Unlike you, obviously..." ("annoyed", "narrow", "base", "R") gen "Apology accepted." ("base", xpos="far_left", ypos="head") # Ignores her snarky comment - her "..." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "mid") play sound "sounds/cloth_sound3.ogg" $ hermione.equip(her_bra_base_vibrators) @@ -331,18 +325,18 @@ label her_vibrators_nevermind: else: gen "Yes, you can leave the vibrators with me, if you like." ("base", xpos="far_left", ypos="head") - if her_tier >= 5: #wants to keep them - her "Oh... *Ehm*..." ("soft", "base", "base", "mid", cheeks="blush") + if states.her.tier >= 5: #wants to keep them + her @ cheeks blush "Oh... *Ehm*..." ("soft", "base", "base", "mid") if not her_outfit_vibrators.unlocked: gen "I'm waiting..." - her "..." ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("soft", "base", "base", "mid") show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with d5 else: gen "Or you could keep them, of course." ("base", xpos="far_left", ypos="head") - her "Thank you..." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Thank you..." ("soft", "base", "base", "R") else: - her "Oh, okay then..." ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh, okay then..." ("soft", "base", "base", "mid") show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with d5 @@ -352,11 +346,11 @@ label her_vibrators_nevermind: pause 1 if game.daytime: - her "Good day to you, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Good day to you, [name_genie_hermione]." ("open", "base", "base", "mid") gen "Until next time." ("base", xpos="far_left", ypos="head") else: - her "Good night, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") - gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Good night, [name_genie_hermione]." ("open", "base", "base", "mid") + gen "Good night, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") @@ -368,12 +362,12 @@ label hg_vibrators_fail: her "What on earth is this?!" ("angry", "base", "base", "mid") gen "Oh. I guess you haven't seen one of these before." ("base", xpos="far_left", ypos="head") gen "Press the button, the one located on the side." ("base", xpos="far_left", ypos="head") - ">Hermione examines the device, locates the button and presses it." + nar "Hermione examines the device, locates the button and presses it." play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" - if her_tier < 3: + if states.her.tier < 3: her "!!!" ("clench", "wide", "base", "stare") #Wide eyed @@ -382,42 +376,42 @@ label hg_vibrators_fail: with d5 gen "There it is!" ("grin", xpos="far_left", ypos="head") - her "This... This is a vibrator!" ("angry", "happy", "worried", "mid", cheeks="blush") - gen "Vibrator{b}s{/b}, [hermione_name], plural." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "This... This is a vibrator!" ("angry", "happy", "worried", "mid") + gen "Vibrator{b}s{/b}, [name_hermione_genie], plural." ("grin", xpos="far_left", ypos="head") gen "Now, if you could just put them to use--" ("grin", xpos="far_left", ypos="head") - her "What!?!" ("angry", "wide", "base", "mid", cheeks="blush") - her "You expect me to use them?!" ("open", "happy", "angry", "mid", cheeks="blush") + her @ cheeks blush "What!?!" ("angry", "wide", "base", "mid") + her @ cheeks blush "You expect me to use them?!" ("open", "happy", "angry", "mid") gen "Of course!" ("base", xpos="far_left", ypos="head") - her "..." ("clench", "closed", "angry", "mid", cheeks="blush") #Wide eyed shocked + her @ cheeks blush "..." ("clench", "closed", "angry", "mid") #Wide eyed shocked gen "Don't you like my gift?" ("base", xpos="far_left", ypos="head") - her "Do I like your gift...?" ("angry", "closed", "angry", "mid", cheeks="blush") - her "What the hell is wrong with you?!" ("angry", "happy", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Do I like your gift...?" ("angry", "closed", "angry", "mid") + her @ cheeks blush "What the hell is wrong with you?!" ("angry", "happy", "annoyed", "mid") call her_walk("door", "base") call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 20 + $ states.her.mood += 20 gen "...{w=0.4} Did I get the wrong set?" ("base", xpos="far_left", ypos="head") else: # Tier 3 her "What the--" ("angry", "base", "base", "mid") - her "You...{w=0.4} You've bought me a vibrator?" ("angry", "happy", "worried", "mid", cheeks="blush") + her @ cheeks blush "You...{w=0.4} You've bought me a vibrator?" ("angry", "happy", "worried", "mid") gen "Of course not...{w=0.4} I've bought an entire box filled with them!" ("grin", xpos="far_left", ypos="head") - her "[genie_name], this is hardly appropriate!" ("disgust", "happy", "worried", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], this is hardly appropriate!" ("disgust", "happy", "worried", "mid") gen "How come?" ("base", xpos="far_left", ypos="head") - her "Because...{w=0.4} Well..." ("annoyed", "happy", "worried", "R", cheeks="blush") + her @ cheeks blush "Because...{w=0.4} Well..." ("annoyed", "happy", "worried", "R") gen "A healthy sex life is important to one's mental health. It helps to take the edge off of things." ("base", xpos="far_left", ypos="head") - her "But... A headmaster shouldn't be--" ("mad", "happy", "worried", "mid", cheeks="blush") + her @ cheeks blush "But... A headmaster shouldn't be--" ("mad", "happy", "worried", "mid") gen "Why not just put them on and give it a spin?" ("grin", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "worried", "down", cheeks="blush") #wide - her "You mean right now?!" ("clench", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "worried", "down") #wide + her @ cheeks blush "You mean right now?!" ("clench", "base", "worried", "mid") gen "Of course!" ("grin", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "happy", "angry", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "happy", "angry", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "I can't believe you would ask me to do such a thing!" ("angry", "narrow", "angry", "mid", cheeks="blush") - her "I think I should go..." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I can't believe you would ask me to do such a thing!" ("angry", "narrow", "angry", "mid") + her @ cheeks blush "I think I should go..." ("angry", "narrow", "base", "R") play sound "sounds/drop_plastic.ogg" show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) @@ -425,7 +419,7 @@ label hg_vibrators_fail: #Hermione leaves call her_walk(action="leave") - $ her_mood += 10 + $ states.her.mood += 10 gen "(Oh well. Was worth a shot...)" ("base", xpos="far_left", ypos="head") gen "(She'll come around eventually...)" ("base", xpos="far_left", ypos="head") @@ -438,7 +432,7 @@ label hg_vibrators_fail: pause 0.5 play sound "sounds/click4.ogg" - stop bg_sounds + stop background pause 0.5 @@ -450,8 +444,8 @@ label hg_vibrators_fail: label hg_vibrators_fail_repeat: - if her_tier < 3: - her "[genie_name]!" ("open", "squint", "annoyed", "mid") + if states.her.tier < 3: + her "[name_genie_hermione]!" ("open", "squint", "annoyed", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") her "I have already told you, I'm not going to use a vibrator in front of you!" ("angry", "squint", "angry", "mid") gen "Vibrator{b}s{/b}." ("base", xpos="far_left", ypos="head") @@ -471,7 +465,7 @@ label hg_vibrators_fail_repeat: call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 20 + $ states.her.mood += 20 gen "(How did she know?)" ("base", xpos="far_left", ypos="head") else: @@ -490,9 +484,9 @@ label hg_vibrators_fail_repeat: call her_walk("door", "base") - $ _temp = genie_name[:2] #Nickname without last 2 letters + $ _temp = name_genie_hermione[:2] #Nickname without last 2 letters - gen "[hermione_name], you forgot the--" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], you forgot the--" ("base", xpos="far_left", ypos="head") call her_chibi("stand","door","base", flip=False) pause .4 @@ -504,7 +498,7 @@ label hg_vibrators_fail_repeat: call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 10 + $ states.her.mood += 10 gen "(Well, that's just rude...)" ("base", xpos="far_left", ypos="head") @@ -521,109 +515,109 @@ label hg_vibrators_fail_repeat: jump end_hermione_event label hg_vibrators_public: - if not her_vibrators_public: + if not states.her.ev.vibrators.public_complete: # First time (public) - # Flag 'her_vibrators_public' is set True in the return event + # Flag 'states.her.ev.vibrators.public_complete' is set True in the return event gen "You can put on your school uniform now." ("base", xpos="far_left", ypos="head") - her "My school uniform?" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "My school uniform?" ("open", "base", "base", "mid") - if her_tier_public >= 5: - her "Don't tell me you're expecting of me to wear them in class?" ("angry", "base", "base", "mid", cheeks="blush") - gen "No, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Oh... Thank--" ("angry", "narrow", "base", "down", cheeks="blush") + if states.her.public_tier >= 5: + her @ cheeks blush "Don't tell me you're expecting of me to wear them in class?" ("angry", "base", "base", "mid") + gen "No, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Thank--" ("angry", "narrow", "base", "down") gen "I expect you to wear them outside class as well, for the entire day." ("base", xpos="far_left", ypos="head") - her "The entire day?!" ("mad", "base", "base", "stare", cheeks="blush") #shocked but horny + her @ cheeks blush "The entire day?!" ("mad", "base", "base", "stare") #shocked but horny gen "That's right." ("grin", xpos="far_left", ypos="head") - her "But [genie_name], wearing them for the entire day is--" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "But [name_genie_hermione], wearing them for the entire day is--" ("angry", "narrow", "base", "mid") gen "{i}Blathering Blatherskite{/i}! I didn't think about chafing!" ("base", xpos="far_left", ypos="head") - her "I wasn't--{w=0.2} I mean, yes, there's no way I could wear them under my clothes for the entire day!" ("grin", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "I wasn't--{w=0.2} I mean, yes, there's no way I could wear them under my clothes for the entire day!" ("grin", "happy", "base", "mid") gen "It's settled then. You'll wear them {i}without{/i} clothes." ("base", xpos="far_left", ypos="head") - her "Wait, that's not--{w=0.2} I have to wear clothes!" ("angry", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "Wait, that's not--{w=0.2} I have to wear clothes!" ("angry", "happyCl", "base", "mid") gen "Didn't you just say, there was no way you could--" ("base", xpos="far_left", ypos="head") - her "On second thought, I'll be fine!" ("disgust", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "On second thought, I'll be fine!" ("disgust", "squint", "base", "R") gen "If you say so... Just don't come back expecting me to kiss your sore nipples better." ("base", xpos="far_left", ypos="head") - her "I won't!" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I won't!" ("angry", "base", "base", "mid") gen "Yeah, don't even think about it...{w=0.4} I would really, really hate that if you did..." ("base", xpos="far_left", ypos="head") - her "I..." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I..." ("disgust", "narrow", "base", "mid") gen "Like, really hate." ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("soft", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "*Ehm*..." ("soft", "squint", "base", "R") gen "I'd be fuming." ("base", xpos="far_left", ypos="head") - her "..." ("soft", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("soft", "squint", "base", "mid") gen "Oh, one more thing." ("base", xpos="far_left", ypos="head") gen "You're not allowed to touch the controllers." ("base", xpos="far_left", ypos="head") - her "Wait, then how do I control them?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Wait, then how do I control them?" ("angry", "base", "base", "mid") gen "You don't. I'll control them myself using the remote, that way you can just focus on enjoying yourself." ("base", xpos="far_left", ypos="head") - her "You will? But then how am I supposed to know when they'll go off?" ("clench", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "You will? But then how am I supposed to know when they'll go off?" ("clench", "base", "base", "mid") gen "That's what makes it fun." ("base", xpos="far_left", ypos="head") - her "What if they go off when there's other students or teachers around?" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "What if they go off when there are other students or teachers around?" ("angry", "squint", "base", "mid") gen "That's just a risk you'll have to take." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "R") gen "Come on... It's just some tiny little vibrations. I'm sure you can handle it." ("base", xpos="far_left", ypos="head") - her "Fine, I'll do it...{w=0.2} But only because you asked..." ("soft", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "Fine, I'll do it...{w=0.2} But only because you asked..." ("soft", "narrow", "worried", "R") - elif her_tier_public == 4: - her "You want me to wear them in class?!" ("angry", "base", "base", "mid", cheeks="blush") - gen "No, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Oh good, for a moment I thought--" ("base", "squint", "worried", "R", cheeks="blush") + elif states.her.public_tier == 4: + her @ cheeks blush "You want me to wear them in class?!" ("angry", "base", "base", "mid") + gen "No, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh good, for a moment I thought--" ("base", "squint", "worried", "R") gen "I want you to wear them during break time as well!" ("base", xpos="far_left", ypos="head") - her "" ("angry", "squint", "base", "stare", cheeks="blush") + her @ cheeks blush "" ("angry", "squint", "base", "stare") pause .5 gen "Of course, they should be turned on at all times." ("base", xpos="far_left", ypos="head") - her "But that's--{w=0.2} Couldn't I just...{w=0.4} I don't know..." ("upset", "squint", "worried", "mid", cheeks="blush") - if her_tier < 5: - gen "Quit complaining, [hermione_name], you're about to earn{number=current_payout} points for your house." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But that's--{w=0.2} Couldn't I just...{w=0.4} I don't know..." ("upset", "squint", "worried", "mid") + if states.her.tier < 5: + gen "Quit complaining, [name_hermione_genie], you're about to earn{number=current_payout} points for your house." ("base", xpos="far_left", ypos="head") gen "Surely that's more than enough of an incentive to broaden your sexual education." ("base", xpos="far_left", ypos="head") - her "I am plenty sexually educated!" ("open", "closed", "annoyed", "mid", cheeks="blush") - her "W-wait, that's not what I meant--" ("angry", "squint", "base", "stare", cheeks="blush") - gen "*heh*..." ("grin", xpos="far_left", ypos="head") - her "I meant--{w=0.2} Well, the problem is--" ("normal", "squint", "base", "R", cheeks="blush") - gen "Oh. So you're considering it at least." ("base", xpos="far_left", ypos="head") - her "{size=-4}Why am I even trying...{/size} *sigh*" ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I am plenty sexually educated!" ("open", "closed", "annoyed", "mid") + her @ cheeks blush "W-wait, that's not what I meant--" ("angry", "squint", "base", "stare") + gen "*Heh*..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I meant--{w=0.2} Well, the problem is--" ("normal", "squint", "base", "R") + gen "Oh. So, you're considering it at least." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "{size=-4}Why am I even trying...{/size} *sigh*" ("disgust", "narrow", "base", "R") else: gen "Surely someone like you would have plenty of experience controlling yourself during sexual stimulation." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "closed", "worried", "mid") gen "I see." ("base", xpos="far_left", ypos="head") - her "I just don't want people to notice, okay?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I just don't want people to notice, okay?" ("angry", "base", "base", "mid") gen "Then maybe you should consider keeping your legs closed for the time being." ("grin", xpos="far_left", ypos="head") - gen "Unless you don't mind flashing yourself that is." ("grin", xpos="far_left", ypos="head") - her "I'm talking about the sounds!" ("open", "squint", "annoyed", "mid", cheeks="blush") + gen "Unless you don't mind flashing yourself, that is." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I'm talking about the sounds!" ("open", "squint", "annoyed", "mid") gen "I see... Then let's make a compromise." ("base", xpos="far_left", ypos="head") gen "Only turn them on during a class that is noisy enough, that way, no one will be able to hear the buzzing." ("base", xpos="far_left", ypos="head") - her "{size=-4}The buzzing is the least of my worries...{/size}" ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "{size=-4}The buzzing is the least of my worries...{/size}" ("disgust", "narrow", "base", "R") gen "What was that?" ("base", xpos="far_left", ypos="head") - her "Nothing, I was just thinking what class would work...{w=0.4} Definitely not {i}History of Magic{/i}." ("open", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "Nothing, I was just thinking what class would work...{w=0.4} Definitely not {i}History of Magic{/i}." ("open", "squint", "worried", "R") gen "When in doubt, you could always choose Tonks' class, I'm sure she would appreciate--" ("grin", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "mid", cheeks="blush") # slight shock + her @ cheeks blush "..." ("annoyed", "narrow", "base", "mid") # slight shock gen "I mean, I'm sure it's loud enough--{w=0.2} I mean, the class is--" ("angry", xpos="far_left", ypos="head") gen "Fuck, I give up. You know what I mean anyway..." ("base", xpos="far_left", ypos="head") - her "*Sigh*... I'll figure it out. As long as I'm getting paid of course." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "*Sigh*... I'll figure it out. As long as I'm getting paid, of course." ("angry", "narrow", "base", "mid") gen "Sure! Wouldn't have it any other way." ("grin", xpos="far_left", ypos="head") gen "See you later then." ("base", xpos="far_left", ypos="head") - her "Right..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Right..." ("open", "narrow", "base", "R") else: # Fail if public tier is not high enough. $ _temp_lockout = True - if her_tier >= 5: #expecting private session - her "You want me to--{w=0.3} But I thought..." ("soft", "squint", "base", "R", cheeks="blush") + if states.her.tier >= 5: #expecting private session + her @ cheeks blush "You want me to--{w=0.3} But I thought..." ("soft", "squint", "base", "R") gen "*Hmm*?" ("base", xpos="far_left", ypos="head") - her "Nevermind..." ("open", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "Nevermind..." ("open", "squint", "worried", "R") gen "Off you go then." ("base", xpos="far_left", ypos="head") - her "*Ehm*... Can't I just use them in my dorm instead?" ("soft", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ehm*... Can't I just use them in my dorm instead?" ("soft", "squint", "base", "mid") gen "Where's the fun in that?" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "squint", "base", "R", cheeks="blush") #Blush - her "Well, I'm just not sure if wearing them in class is such a good idea..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "squint", "base", "R") #Blush + her @ cheeks blush "Well, I'm just not sure if wearing them in class is such a good idea..." ("open", "squint", "base", "R") gen "Nonsense, I'm sure the seats can handle a bit of wetness." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "squint", "worried", "R", cheeks="blush") #worried + her @ cheeks blush "..." ("annoyed", "squint", "worried", "R") #worried gen "Alright, fine, I can see you're hesitant..." ("base", xpos="far_left", ypos="head") gen "Let's do something else--" ("base", xpos="far_left", ypos="head") else: - her "You want me to use them in class?!" ("angry", "wide", "base", "mid", cheeks="blush") - her "But [genie_name]! That's..." ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "You want me to use them in class?!" ("angry", "wide", "base", "mid") + her @ cheeks blush "But [name_genie_hermione]! That's..." ("clench", "squint", "base", "mid") gen "Surely you didn't think I just wanted you to wear them like a mere accessory, did you?" ("base", xpos="far_left", ypos="head") - her "No, but I didn't think you would want me to attend classes wearing them either!" ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "No, but I didn't think you would want me to attend classes wearing them either!" ("clench", "squint", "base", "mid") gen "Alright, fair..." ("base", xpos="far_left", ypos="head") gen "In that case--" ("base", xpos="far_left", ypos="head") @@ -633,87 +627,87 @@ label hg_vibrators_public: # Repeat (public) gen "I think you better put your clothes on and head to class." ("base", xpos="far_left", ypos="head") - if her_tier_public >= 5: - if her_vibrators_public_stage <= 1: + if states.her.public_tier >= 5: + if states.her.ev.vibrators.public_stage <= 1: # Tried LOW level before - her "You want me to use them in class again?" ("soft", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "You want me to use them in class again?" ("soft", "squint", "base", "mid") gen "Oh no... This time I want you to wear them the entire day." ("base", xpos="far_left", ypos="head") - her "The entire day?!" ("angry", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "The entire day?!" ("angry", "wide", "base", "stare") gen "Yep, and you're not allowed to touch the controllers..." ("base", xpos="far_left", ypos="head") - her "But, [genie_name]!" ("clench", "base", "worried", "mid", cheeks="blush") - her "Wearing them through one class is one thing...{w=0.4} But wearing them for the entire day is just..." ("angry", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "But, [name_genie_hermione]!" ("clench", "base", "worried", "mid") + her @ cheeks blush "Wearing them through one class is one thing...{w=0.4} But wearing them for the entire day is just..." ("angry", "base", "worried", "mid") gen "They won't remain turned on the entire day...{w=0.4} I'm not that cruel." ("base", xpos="far_left", ypos="head") - her "I thought when you said I can't touch the controls, you--" ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I thought when you said I can't touch the controls, you--" ("disgust", "squint", "base", "mid") gen "What I'm saying is... I'll be controlling them remotely, from here." ("base", xpos="far_left", ypos="head") gen "Like this." ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" - her "{heart}*Ah*...{heart}" ("angry", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{heart}*Ah*...{heart}" ("angry", "narrow", "base", "up") play sound "sounds/click4.ogg" - stop bg_sounds + stop background - her "..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "base", "mid") gen "Heh-heh..." ("base", xpos="far_left", ypos="head") gen "So, are you ready to learn something new today?" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") - gen "Why the hesitance [hermione_name], you have already worn them once, so you know what to expect." ("grin", xpos="far_left", ypos="head") - her "The problem isn't {i}the what{/i}, but {i}when{/i}..." ("angry", "narrow", "base", "R", cheeks="blush") - her "Who knows what might happen if they go off at the wrong time." ("angry", "narrow", "base", "mid", cheeks="blush") - her "What if they go off while I'm presenting something in front of the entire class?" ("angry", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") + gen "Why the hesitance [name_hermione_genie], you have already worn them once, so you know what to expect." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "The problem isn't {i}the what{/i}, but {i}when{/i}..." ("angry", "narrow", "base", "R") + her @ cheeks blush "Who knows what might happen if they go off at the wrong time." ("angry", "narrow", "base", "mid") + her @ cheeks blush "What if they go off while I'm presenting something in front of the entire class?" ("angry", "closed", "worried", "mid") gen "You're talking as if anyone would pay any attention to the curriculum." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "mid") gen "And even in the unlikely event that someone does pay attention, just tell them it's your phone vibrating." ("base", xpos="far_left", ypos="head") - her "... Very funny, [genie_name]." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "... Very funny, [name_genie_hermione]." ("disgust", "narrow", "base", "mid") gen "(Did I say something funny?)" ("base", xpos="far_left", ypos="head") # Genie isn't aware muggle devices do not work at hogwarts. - her "I guess I could make something up..." ("open", "narrow", "base", "R", cheeks="blush") - her "Okay...{w=0.4} I'll do it." ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "I guess I could make something up..." ("open", "narrow", "base", "R") + her @ cheeks blush "Okay...{w=0.4} I'll do it." ("open", "closed", "worried", "mid") gen "Excellent!" ("grin", xpos="far_left", ypos="head") else: # Tried HIGH level before - her "Certainly, [genie_name]." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Certainly, [name_genie_hermione]." ("open", "squint", "base", "R") gen "Although..." ("base", xpos="far_left", ypos="head") - her "Yes?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes?" ("angry", "base", "base", "mid") gen "I've decided to go easy on you this time, so you will know the exact timing when vibrators go off--" ("base", xpos="far_left", ypos="head") - her "Really? Thank you [genie_name]!" ("grin", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Really? Thank you [name_genie_hermione]!" ("grin", "base", "base", "mid") gen "Under one condition..." ("base", xpos="far_left", ypos="head") - her "...{w=0.4} what is the condition?" ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "...{w=0.4} what is the condition?" ("disgust", "squint", "base", "mid") gen "You have to accompany your friends to {i}gobbling stones{/i} again." ("grin", xpos="far_left", ypos="head") - her "The what?!" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "The what?!" ("angry", "base", "base", "mid") gen "{i}Gobbling stones{/i}. It's a game where you grab the stone and put it in your--" ("base", xpos="far_left", ypos="head") - her "Do you mean {i}Gobstones{/i}?" ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Do you mean {i}Gobstones{/i}?" ("disgust", "squint", "base", "mid") gen "That's what I said." ("base", xpos="far_left", ypos="head") - her "No, you said--" ("angry", "narrow", "base", "mid", cheeks="blush") - her "You know what, forget it." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "No, you said--" ("angry", "narrow", "base", "mid") + her @ cheeks blush "You know what, forget it." ("angry", "narrow", "base", "R") gen "Said and done!" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "mid") gen "If my condition isn't satisfactory, I could just turn the vibrators on during lunch break..." ("base", xpos="far_left", ypos="head") - her "But, that's when all students gather around--" ("angry", "base", "base", "stare", cheeks="blush") - her "I see what you're doing..." ("annoyed", "narrow", "base", "mid", cheeks="blush") - her "Alright, fine, {i}Gobstones{/i} it is." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "But, that's when all the students gather--" ("angry", "base", "base", "stare") + her @ cheeks blush "I see what you're doing..." ("annoyed", "narrow", "base", "mid") + her @ cheeks blush "Alright, fine, {i}Gobstones{/i} it is." ("open", "narrow", "base", "R") gen "I knew you were the reasonable one." ("base", xpos="far_left", ypos="head") - her "Unless..." ("soft", "narrow", "base", "mid", cheeks="blush") #enticing + her @ cheeks blush "Unless..." ("soft", "narrow", "base", "mid") #enticing gen "Yes?" ("base", xpos="far_left", ypos="head") - her "There is some time left before classes start, if you wanted to check everything is in working order, [genie_name]?" ("soft", "squint", "base", "mid", cheeks="blush") # Enticing look - gen "Clever, but don't think you can get off the hook that easy, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("annoyed", "narrow", "base", "R", cheeks="blush") #annoyed but blushing - her "See you tonight then." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "There is some time left before classes start, in case you wanted to check everything is in working order, [name_genie_hermione]?" ("soft", "squint", "base", "mid") # Enticing look + gen "Clever, but don't think you can get off the hook that easy, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmph*..." ("annoyed", "narrow", "base", "R") #annoyed but blushing + her @ cheeks blush "See you tonight then." ("open", "squint", "base", "R") gen "Enjoy!" ("base", xpos="far_left", ypos="head") else: - her "You want me to wear them in class again?" ("soft", "squint", "base", "mid", cheeks="blush") #blush + her @ cheeks blush "You want me to wear them in class again?" ("soft", "squint", "base", "mid") #blush gen "Most definitely." ("base", xpos="far_left", ypos="head") - if her_tier < 5: - her "You'll pay me the same as last time, I presume?" ("open", "squint", "base", "R", cheeks="blush") + if states.her.tier < 5: + her @ cheeks blush "You'll pay me the same as last time, I presume?" ("open", "squint", "base", "R") gen "Of course." - her "*Hmm*... Okay then..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*... Okay then..." ("open", "squint", "base", "R") gen "Excellent! I look forward to hearing from you later this evening." ("base", xpos="far_left", ypos="head") - her "Right..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Right..." ("open", "squint", "base", "R") - if her_tier >= 5: + if states.her.tier >= 5: # (she is naked on high tiers at this point) play sound "sounds/cloth_sound3.ogg" $ hermione.equip(her_outfit_vibrators) @@ -721,7 +715,7 @@ label hg_vibrators_public: pause .5 else: gen "Go on then." ("base", xpos="far_left", ypos="head") - her "..." ("soft", "narrow", "base", "down", cheeks="blush") #down + her @ cheeks blush "..." ("soft", "narrow", "base", "down") #down play sound "sounds/cloth_sound3.ogg" $ hermione.equip(her_outfit_default) @@ -730,7 +724,7 @@ label hg_vibrators_public: with d3 pause .5 - her "..." ("soft", "narrow", "base", "R", cheeks="blush") #looks right, blushing + her @ cheeks blush "..." ("soft", "narrow", "base", "R") #looks right, blushing call her_walk(action="leave") @@ -743,69 +737,69 @@ label hg_vibrators_personal: $ _temp_premature_finish = False gen "Let's turn these things on then, shall we." ("base", xpos="far_left", ypos="head") - her "Hold on I'm not--" ("mad", "base", "base", "stare", cheeks="blush") + her @ cheeks blush "Hold on I'm not--" ("mad", "base", "base", "stare") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" - if her_tier >= 5: + if states.her.tier >= 5: # Note: This scene has CG with Hermione lying on the desk with vibrators, 3 poses, closed legs, spread legs, pushed pelvis in the air (cumming). label .high_tier: - her "{heart}*Ah*!!!{heart}" ("grin", "wide", "worried", "stare", cheeks="blush") + her @ cheeks blush "{heart}*Ah*!!!{heart}" ("grin", "wide", "worried", "stare") gen "There it goes." ("base", xpos="far_left", ypos="head") - her "Did--{w=0.2} *Ah*...{w=0.4} Did you really need to do it so suddenly?" ("angry", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "Did--{w=0.2} *Ah*...{w=0.4} Did you really need to do it so suddenly?" ("angry", "happyCl", "base", "mid") gen "Of course, the universe depended on it... It was always destined to happen." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} I can't--{w=0.2} *Ah*...{w=0.4} I think Professor Trelawney would've told me if that was the case--" ("annoyed", "happyCl", "base", "mid", cheeks="blush") - her "*Ah-Ah*! {w=0.5}Why is this thing so intense?" ("clench", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} I can't--{w=0.2} *Ah*...{w=0.4} I think Professor Trelawney would've told me if that was the case--" ("annoyed", "happyCl", "base", "mid") + her @ cheeks blush "*Ah-Ah*! {w=0.5}Why is this thing so intense?" ("clench", "narrow", "worried", "down") gen "Intense? That's just the medium setting." ("base", xpos="far_left", ypos="head") - her "Medium?! *Ngh*...{w=0.4} No wonder it's--" ("angry", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "Medium?! *Ngh*...{w=0.4} No wonder it's--" ("angry", "narrow", "base", "stare") menu: "-Lower the intensity-": play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" - her "*Ah*...{w=0.4} That's better... Just a little more--" ("base", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} That's better... Just a little more--" ("base", "closed", "worried", "mid") gen "Now-now, let's not get hasty." ("base", xpos="far_left", ypos="head") "-Raise the intensity-": play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" - her "{cps=16}*Ahhhhhhhhh*{/cps} [genie_name]!!" ("disgust", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{cps=16}*Ahhhhhhhhh*{/cps} [name_genie_hermione]!!" ("disgust", "narrow", "base", "up") gen "Oops, my bad! My hand slipped..." ("base", xpos="far_left", ypos="head") gen "(Wouldn't want to end it too soon...)" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - stop bg_sounds + stop background gen "Now, why don't you do me a favour, and lie down on the desk for me?" ("base", xpos="far_left", ypos="head") - her "You...{w=0.4} You want me to do what?!" ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "You...{w=0.4} You want me to do what?!" ("angry", "wide", "base", "mid") gen "Get your butt...{w=0.4} On the desk!" ("grin", xpos="far_left", ypos="head") - her "*Ah* W-Why?" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah* W-Why?" ("angry", "squint", "worried", "mid") gen "You already know why..." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "worried", "down", cheeks="blush") - gen "I want to see it up close. Can you do that for me, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I...{w=0.3} I suppose..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "worried", "down") + gen "I want to see it up close. Can you do that for me, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I...{w=0.3} I suppose..." ("soft", "narrow", "base", "down") gen "Go on then, plant those cheeks on the wood." ("base", xpos="far_left", ypos="head") - her "If that's what you want... I guess it's fine..." ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "If that's what you want... I guess it's fine..." ("normal", "narrow", "base", "down") gen "Queue the fade!" ("base", xpos="far_left", ypos="head") - her "The what--" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "The what--" ("angry", "base", "base", "mid") - call play_music("stop") + stop music fadeout 1 #Hermione legs closed if game.daytime: show her_vibrators_personal hermione1 noshake eyebrows_upset eyes_squint_right mouth_annoyed zorder 15 as cg with fade else: show her_vibrators_personal hermione1 noshake eyebrows_upset eyes_squint_right mouth_annoyed zorder 15 as cg at color_temperature(1.0) with fade - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "I love a good transition to get straight to the point." ("base", xpos="far_left", ypos="head") gen "Now, where were we..." ("base", xpos="far_left", ypos="head") @@ -834,7 +828,7 @@ label hg_vibrators_personal: gen "There we go.{fast} Now for the telling part." ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" #Hermione legs closed show her_vibrators_personal hermione1 eyebrows_upset eyes_wide_crossed mouth_open -noshake as cg with d5 @@ -845,13 +839,13 @@ label hg_vibrators_personal: gen "There it is! Now you're doing it." ("base", xpos="far_left", ypos="head") gen "Although, the {i}show{/i} part is quite lacking now." ("base", xpos="far_left", ypos="head") - gen "You're not going to get a good grade unless you do both, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You're not going to get a good grade unless you do both, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_squint_forward mouth_shocked as cg with d5 her "I--{w=0.2} *Ah*...{w=0.4} I'm being graded for this?" - gen "Of course... You should know that you get graded for every school activity by now, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Of course... You should know that you get graded for every school activity by now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_upset eyes_squint_right mouth_horny as cg with d5 @@ -897,7 +891,7 @@ label hg_vibrators_personal: her "..." gen "(She's wet!)" ("angry", xpos="far_left", ypos="head") - gen "*Ahem*... Very good, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "*Ahem*... Very good, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Now keep them spread like that, and you'll earn yourself a good grade." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_worried eyes_squint_forward mouth_open as cg with d5 @@ -908,7 +902,7 @@ label hg_vibrators_personal: show her_vibrators_personal hermione1 eyebrows_upset mouth_shocked as cg with d5 her "Don't be ridiculous... It's not even a real grade..." - gen "Yet you still seem to care dearly about it, don't you [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Yet you still seem to care dearly about it, don't you [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") #Hermione legs closed show her_vibrators_personal hermione1 eyes_squint_right mouth_annoyed as cg with d5 @@ -925,28 +919,28 @@ label hg_vibrators_personal: "-Turn the intensity to High-": play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" #Hermione legs open show her_vibrators_personal hermione2 eyebrows_worried eyes_clenched mouth_shocked blush_heavy as cg with d5 - #her "[genie_name]!!!{w=0.4}{nw}" + #her "[name_genie_hermione]!!!{w=0.4}{nw}" #Hermione legs closed show her_vibrators_personal hermione1 mouth_worried blush_heavy as cg with d5 - #her "[genie_name]!!!{fast}" + #her "[name_genie_hermione]!!!{fast}" - her "[genie_name]!!! Turn it down!" + her "[name_genie_hermione]!!! Turn it down!" menu: "-Keep it going-": - gen "Legs open, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Legs open, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") show her_vibrators_personal hermione1 mouth_open as cg with d5 her "*Ah*...{w=0.2} *Ah*...{w=0.2} But--" - gen "[hermione_name]." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") #Hermione legs open show her_vibrators_personal hermione2 as cg with d5 @@ -961,8 +955,8 @@ label hg_vibrators_personal: show her_vibrators_personal mouth_angry as cg with d5 - her "*Ah*...{w=0.2} Please, [genie_name]! It's too strong...!" - gen "Alright, I can turn it down, but who's to say you wont change your mind again?" ("base", xpos="far_left", ypos="head") + her "*Ah*...{w=0.2} Please, [name_genie_hermione]! It's too strong...!" + gen "Alright, I can turn it down, but who's to say you won't change your mind again?" ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_worried mouth_worried as cg with d5 @@ -977,7 +971,7 @@ label hg_vibrators_personal: gen "Oh? Don't want it to end too soon?" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" #legs are closed show her_vibrators_personal eyebrows_neutral eyes_closed as cg with d5 @@ -992,13 +986,13 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_neutral eyes_open_forward as cg with d5 her "That is not--" - gen "Don't worry! I'm the person holding the controller after all." ("base", xpos="far_left", ypos="head") - gen "If it was anyone else, they might've gotten impatient by now..." ("base", xpos="far_left", ypos="head") + gen "Don't worry! I'm the person holding the controller, after all." ("base", xpos="far_left", ypos="head") + gen "If it were anyone else, they might've gotten impatient by now..." ("base", xpos="far_left", ypos="head") gen "But I can do this all day!" ("grin", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_upset eyes_squint_right mouth_open as cg with d5 - her "[genie_name], I am not--..." + her "[name_genie_hermione], I am not--..." show her_vibrators_personal eyes_squint_forward as cg with d5 @@ -1008,11 +1002,11 @@ label hg_vibrators_personal: gen "You're lucky I'm in a good mood, so I think I'll oblige you,{fast} for being so honest with yourself for once." ("base", xpos="far_left", ypos="head") gen "(She'll love this...)" ("grin", xpos="far_left", ypos="head") - gen "[hermione_name],{w=0.2} from now on you are not allowed to cum!{nw}" ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie],{w=0.2} from now on, you are not allowed to cum!{nw}" ("grin", xpos="far_left", ypos="head") show her_vibrators_personal eyes_open_forward mouth_worried as cg - gen "[hermione_name], from now on you are not allowed to cum!{fast}" ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie], from now on, you are not allowed to cum!{fast}" ("grin", xpos="far_left", ypos="head") show her_vibrators_personal eyes_squint_forward as cg with d5 @@ -1025,7 +1019,7 @@ label hg_vibrators_personal: show her_vibrators_personal eyes_squint_forward mouth_open as cg with d5 - her "But, [genie_name]!" + her "But, [name_genie_hermione]!" gen "(Now she's getting into it...)" ("grin", xpos="far_left", ypos="head") gen "As your headmaster, I have the power over your grades, and shall you fail to meet my expectations... Well--" ("base", xpos="far_left", ypos="head") gen "--Naturally you'll have to be punished!" ("base", xpos="far_left", ypos="head") @@ -1055,7 +1049,7 @@ label hg_vibrators_personal: show her_vibrators_personal hermione2 eyebrows_worried eyes_squint_forward mouth_annoyed as cg with d5 call ctc - gen "Prepare yourself, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "Prepare yourself, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") gen "I could change the intensity at any moment!" ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_wide_forward mouth_open as cg with d5 @@ -1069,7 +1063,7 @@ label hg_vibrators_personal: gen "Just kidding!" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" show her_vibrators_personal eyes_squint_crossed mouth_angry as cg with d5 @@ -1078,15 +1072,15 @@ label hg_vibrators_personal: show her_vibrators_personal eyes_closed as cg with d5 - her "[genie_name], please...{w=0.4}{nw}" + her "[name_genie_hermione], please...{w=0.4}{nw}" show her_vibrators_personal mouth_worried as cg - her "[genie_name], please...{fast} If you keep it like this...{w=0.4} I'll...{w=0.4}{nw}" + her "[name_genie_hermione], please...{fast} If you keep it like this...{w=0.4} I'll...{w=0.4}{nw}" show her_vibrators_personal mouth_shocked as cg - her "[genie_name], please... If you keep it like this... I'll...{fast} I'll--" + her "[name_genie_hermione], please... If you keep it like this... I'll...{fast} I'll--" menu: "-Keep it going-": @@ -1132,7 +1126,7 @@ label hg_vibrators_personal: "-Turn it down-": play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" show her_vibrators_personal eyebrows_upset eyes_squint_forward mouth_angry as cg with d5 @@ -1147,15 +1141,15 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_worried eyes_narrow_forward as cg with d5 her "Your--{w=0.2} Your way?" - gen "I've been way to lenient with you, first you disobey me... and even when I so graciously granted your wish--" ("angry", xpos="far_left", ypos="head") - gen "--Something that I don't even do anymore, by the way--" ("base", xpos="far_left", ypos="head") + gen "I've been way too lenient with you, first you disobey me... and even when I so graciously granted your wish--" ("angry", xpos="far_left", ypos="head") + gen "--Something that I don't even do any more, by the way--" ("base", xpos="far_left", ypos="head") gen "--but you still aren't satisfied!" ("angry", xpos="far_left", ypos="head") gen "So, yes, we're going to do this {b}my{/b} way..." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_open_forward as cg with d5 - her "[genie_name]?" - gen "You're doing this as a favour to {i}me{/i}, you had best not forget that, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" + gen "You're doing this as a favour to {i}me{/i}, you had best not forget that, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_squint_right mouth_annoyed as cg with d5 @@ -1166,21 +1160,21 @@ label hg_vibrators_personal: show her_vibrators_personal mouth_horny as cg with d5 - her "Yes, [genie_name]..." + her "Yes, [name_genie_hermione]..." gen "Good." ("base", xpos="far_left", ypos="head") - gen "Expect the unexpected, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Expect the unexpected, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_squint_forward as cg with d5 her "Expect the...{w=0.4} Unexpected?" - gen "That's right...{w=0.4} I could change the intensity at a moments notice..." ("base", xpos="far_left", ypos="head") + gen "That's right...{w=0.4} I could change the intensity at a moment's notice..." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_narrow_forward mouth_worried as cg with d5 gen "It could remain as is... At a level where you'd be stuck in a state of constant arousal... Enough to keep you on edge, but not enough to bring you over it." ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" show her_vibrators_personal eyebrows_neutral eyes_narrow_crossed mouth_shocked as cg with d5 @@ -1193,12 +1187,12 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_upset eyes_clenched effects_wetness as cg with d5 - her "[genie_name]! I'll--" + her "[name_genie_hermione]! I'll--" "-Turn the intensity to Medium-": play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" # Hermione legs closed show her_vibrators_personal hermione1 eyebrows_neutral eyes_closed mouth_shocked as cg with d5 @@ -1238,7 +1232,7 @@ label hg_vibrators_personal: show her_vibrators_personal eyes_squint_right as cg with d5 call ctc - gen "Getting there already, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Getting there already, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") show her_vibrators_personal mouth_horny as cg with d5 @@ -1262,7 +1256,7 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_neutral eyes_closed mouth_horny effects_wetness as cg with d5 pause .8 - gen "Are you sure? Looks to me as if you're about to cum, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Are you sure? Looks to me as if you're about to cum, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Or am I mistaken?" ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_upset mouth_open as cg with d5 @@ -1274,19 +1268,19 @@ label hg_vibrators_personal: her "*Ah*...{w=0.4} How do you--" gen "How do I know?" ("base", xpos="far_left", ypos="head") - gen "Experience, [hermione_name], experience...{w=0.4} You won't ever find anyone with as much experience as I have..." ("base", xpos="far_left", ypos="head") + gen "Experience, [name_hermione_genie], experience...{w=0.4} You won't ever find anyone with as much experience as I have..." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_neutral eyes_clenched as cg with d5 her "I--{w=0.4} I'm--" play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" show her_vibrators_personal eyebrows_worried eyes_closed mouth_horny as cg with d5 her "*Mmm*..." - gen "I've done this enough times to know exactly when someone's about to go over the edge, so that I can ease up and keep it going for a while longer..." ("base", xpos="far_left", ypos="head") + gen "I've done this enough times to know exactly when someone's about to go over the edge, just so that I can ease up and keep it going for a while longer..." ("base", xpos="far_left", ypos="head") gen "And that is the goal for today's lesson..." ("base", xpos="far_left", ypos="head") gen "Hold{w=0.3} it{w=0.3} in..." ("base", xpos="far_left", ypos="head") @@ -1305,17 +1299,17 @@ label hg_vibrators_personal: show her_vibrators_personal mouth_open as cg with d5 - her "*Ah*...{w=0.4} [genie_name], I don't know if--" + her "*Ah*...{w=0.4} [name_genie_hermione], I don't know if--" play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" show her_vibrators_personal hermione1 eyebrows_worried mouth_angry as cg with d5 her "{size=+4}{heart}{heart}{heart}*Ah*!!!{heart}{heart}{/size}" play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" # Hermione legs open show her_vibrators_personal hermione2 eyebrows_worried eyes_closed mouth_open as cg with d5 @@ -1324,19 +1318,19 @@ label hg_vibrators_personal: show her_vibrators_personal eyes_squint_forward mouth_shocked as cg - her "[genie_name]...{w=0.4}{nw}" + her "[name_genie_hermione]...{w=0.4}{nw}" show her_vibrators_personal mouth_worried as cg - her "[genie_name]...{fast} Please..." + her "[name_genie_hermione]...{fast} Please..." - gen "Nuh-uh... Not yet, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Nuh-uh... Not yet, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Patience is a virtue...{w=0.4} It's time you learn that." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_closed mouth_angry as cg with d5 her "But--" - gen "Remember why you're here, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Remember why you're here, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Our session won't end until I'm satisfied with the results." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_neutral as cg with d5 @@ -1344,7 +1338,7 @@ label hg_vibrators_personal: her "*Ah*...{w=0.4} *Ah*...{w=0.4} And how...{w=0.4} How do I make sure that you're--{w=0.2} *Ah*...{w=0.4} Satisfied..." gen "By doing what I ask of you..." ("base", xpos="far_left", ypos="head") gen "Although, I must say..." ("base", xpos="far_left", ypos="head") - gen "Watching you squirm about, and trying to hold it in is quite satisfying by itself..." ("base", xpos="far_left", ypos="head") + gen "Watching you squirm about, and trying to hold it in, is quite satisfying by itself..." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyebrows_worried as cg with d5 @@ -1352,7 +1346,7 @@ label hg_vibrators_personal: gen "I have full control of your fate, of course I'm enjoying it..." ("base", xpos="far_left", ypos="head") gen "I haven't had this much power at my fingertips for a long time..." ("base", xpos="far_left", ypos="head") her "..." - gen "How does that make you feel, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "How does that make you feel, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") show her_vibrators_personal mouth_open as cg with d5 @@ -1387,7 +1381,7 @@ label hg_vibrators_personal: gen "You shall not cum.{w=0.4}{nw}" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - stop bg_sounds + stop background gen "You shall not cum.{fast}{w=0.4}{nw}" ("base", xpos="far_left", ypos="head") @@ -1417,7 +1411,7 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_worried eyes_squint_right mouth_horny as cg with d5 her "But I thought...{w=0.4} Well, I didn't think this would happen..." - gen "Always expect the unexpected in life, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Always expect the unexpected in life, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_squint_forward as cg with d5 @@ -1428,7 +1422,7 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_neutral mouth_annoyed as cg with d5 her "It was...?" - gen "Of course, and you did very well, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Of course, and you did very well, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_narrow_forward as cg with d5 @@ -1436,9 +1430,9 @@ label hg_vibrators_personal: show her_vibrators_personal eyes_squint_right as cg with d5 - her "A-Alright then, whatever you say [genie_name]..." + her "A-Alright then, whatever you say [name_genie_hermione]..." - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -1446,66 +1440,66 @@ label hg_vibrators_personal: show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) $ hermione.equip(her_outfit_last) - ">You watch as Hermione sits up and shimmies to the edge of your desk, planting her feet on the floor, she sways on the spot slightly before she readies herself, and makes her way to the front of your desk." + nar "You watch as Hermione sits up and shimmies to the edge of your desk, planting her feet on the floor, she sways on the spot slightly before she readies herself, and makes her way to the front of your desk." hide screen blkfade with d5 - her "So...{w=0.4} Will that be all?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "So...{w=0.4} Will that be all?" ("open", "squint", "base", "mid") menu: "-Grade her performance-": gen "Not quite, there's one more thing..." ("base", xpos="far_left", ypos="head") - her "Yes?" ("open", "base", "base", "mid", cheeks="blush") #Hopeful + her @ cheeks blush "Yes?" ("open", "base", "base", "mid") #Hopeful gen "Your grade!" ("base", xpos="far_left", ypos="head") - her "My--" ("soft", "base", "base", "mid", cheeks="blush") #confused + her @ cheeks blush "My--" ("soft", "base", "base", "mid") #confused gen "I did mention I was going to grade your performance." ("base", xpos="far_left", ypos="head") - her "Oh, right..." ("disgust", "narrow", "base", "down", cheeks="blush") #look full of hope + her @ cheeks blush "Oh, right..." ("disgust", "narrow", "base", "down") #look full of hope menu: "-Give her a passing grade-": gen "You pass!" ("base", xpos="far_left", ypos="head") - her "I... do?" ("disgust", "base", "base", "mid", cheeks="blush") - gen "Yes, [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I... do?" ("disgust", "base", "base", "mid") + gen "Yes, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Just like I requested, you held well until the very end." ("base", xpos="far_left", ypos="head") gen "Of course, you better be ready, because at any moment, I could give you the signal to..." ("base", xpos="far_left", ypos="head") gen "Cum for me!" ("base", xpos="far_left", ypos="head") with vpunch - her "..." ("angry", "wide", "base", "stare", cheeks="blush") #worried #shocked + her @ cheeks blush "..." ("angry", "wide", "base", "stare") #worried #shocked gen "Nah, I'm just kidding." ("grin", xpos="far_left", ypos="head") - her "V-Very funny, [genie_name]..." ("angry", "squint", "base", "mid", cheeks="blush") - her "(I'm so on edge I almost came when he said it...)" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "Can I go now?" ("open", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "V-Very funny, [name_genie_hermione]..." ("angry", "squint", "base", "mid") + her @ cheeks blush "(I'm so on edge I almost came when he said it...)" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "Can I go now?" ("open", "happyCl", "base", "mid") gen "Sure, I won't keep you any longer." ("base", xpos="far_left", ypos="head") - her "Thank you..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Thank you..." ("soft", "narrow", "base", "down") "-Fail her on her performance-": gen "Now cum!" ("base", xpos="far_left", ypos="head") - her "*Nnnngh*..." ("angry", "happyCl", "worried", "mid", cheeks="blush") # whimpers - her "(Why did I react like this just now...?)" ("angry", "wide", "base", "stare", cheeks="blush") - her "I--{w=0.2} I can't..." ("disgust", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "*Nnnngh*..." ("angry", "happyCl", "worried", "mid") # whimpers + her @ cheeks blush "(Why did I react like this just now...?)" ("angry", "wide", "base", "stare") + her @ cheeks blush "I--{w=0.2} I can't..." ("disgust", "happyCl", "base", "mid") gen "Oh, too bad, looks like you failed." ("base", xpos="far_left", ypos="head") - her "You're joking..." ("disgust", "narrow", "base", "mid", cheeks="blush") - gen "I expected better from you, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Whatever you say [genie_name]." ("soft", "narrow", "base", "down", cheeks="blush") - gen "That shall do for now, [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You're joking..." ("disgust", "narrow", "base", "mid") + gen "I expected better from you, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Whatever you say [name_genie_hermione]." ("soft", "narrow", "base", "down") + gen "That shall do for now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You may leave." ("base", xpos="far_left", ypos="head") if not her_outfit_vibrators.unlocked: - her "" ("soft", "narrow", "base", "L", cheeks="blush") - ">For a brief moment, you see Hermione's eyes flicker towards the vibrators left on your desk." - gen "Fine, you can take them and finish yourself off, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "" ("soft", "narrow", "base", "L") + nar "For a brief moment, you see Hermione's eyes flicker towards the vibrators left on your desk." + gen "Fine, you can take them and finish yourself off, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Consider it a gift." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "down", cheeks="blush") #blushing + her @ cheeks blush "..." ("base", "narrow", "base", "down") #blushing call her_walk("desk", "base") pause 0.5 hide vibrators_floor - call unlock_clothing(">Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) + call unlock_clothing("Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) - her "{size=-5}Thank you...{/size}" ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "{size=-5}Thank you...{/size}" ("open", "narrow", "base", "down") else: - her "Alright then..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Alright then..." ("open", "narrow", "base", "down") call her_walk("desk", "base") pause 0.5 @@ -1513,31 +1507,31 @@ label hg_vibrators_personal: with d5 gen "What are you doing?" ("base", xpos="far_left", ypos="head") - her "*Ehm*...{w=0.2} Didn't you gift me these?" ("open", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ehm*...{w=0.2} Didn't you gift me these?" ("open", "squint", "worried", "mid") gen "I just have told you not to cum unless I say so, what are you planning to do with these exactly?" ("base", xpos="far_left", ypos="head") - her "W--{w=0.2} Well, I was hoping..." ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "W--{w=0.2} Well, I was hoping..." ("angry", "squint", "worried", "mid") gen "Fine, I'll allow it this time.... Go ahead then." ("base", xpos="far_left", ypos="head") - her "Thank you..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Thank you..." ("open", "narrow", "base", "down") "-Forget the grading-": gen "Yes, that shall do for now." ("base", xpos="far_left", ypos="head") - her "Okay, I guess I'll be leaving now then..." ("disgust", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Okay, I guess I'll be leaving now then..." ("disgust", "squint", "base", "R") her "(At least he forgot about that silly grade thing...)" ("disgust", "narrow", "base", "down") if not her_outfit_vibrators.unlocked: her "" ("disgust", "narrow", "base", "L") - ">For a brief moment you see Hermione's eyes flicker towards the vibrators left on your desk." - gen "Fine, you can take them and finish yourself off, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "I wasn't--" ("angry", "base", "base", "mid", cheeks="blush") + nar "For a brief moment, you see Hermione's eyes flicker towards the vibrators left on your desk." + gen "Fine, you can take them and finish yourself off, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I wasn't--" ("angry", "base", "base", "mid") gen "Consider it a gift." ("base", xpos="far_left", ypos="head") - her "A-Alright..." ("disgust", "squint", "base", "mid", cheeks="blush") #blushing + her @ cheeks blush "A-Alright..." ("disgust", "squint", "base", "mid") #blushing call her_walk("desk", "base") pause 0.5 hide vibrators_floor - call unlock_clothing(">Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) + call unlock_clothing("Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) - her "{size=-5}Thank you...{/size}" ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "{size=-5}Thank you...{/size}" ("base", "narrow", "base", "down") else: @@ -1548,30 +1542,30 @@ label hg_vibrators_personal: gen "I hope you're not planning to use those to finish yourself off." ("base", xpos="far_left", ypos="head") her "What do you mean? Didn't you gift me these?" ("angry", "base", "base", "mid") - gen "That I did, but I believe I haven't said you're allowed to cum just yet, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "squint", "base", "mid", cheeks="blush") + gen "That I did, but I believe I haven't said you're allowed to cum just yet, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "squint", "base", "mid") gen "Unless..." ("base", xpos="far_left", ypos="head") - her "Yes?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes?" ("angry", "base", "base", "mid") gen "Well, I may allow it, as long as you promise to practice edging." ("base", xpos="far_left", ypos="head") - her "I wasn't going to--" ("clench", "base", "base", "mid", cheeks="blush") - gen "I expect great things from you, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I wasn't going to--" ("clench", "base", "base", "mid") + gen "I expect great things from you, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Next time I shall grade you for your performance." ("base", xpos="far_left", ypos="head") - her "(So he did remember...)" ("disgust", "base", "base", "R", cheeks="blush") - her "Fine, I'll try to find an opportunity to practice in my... chambers." ("angry", "narrow", "base", "down", cheeks="blush") # Hermione makes an unintentioanl pun, Genie's influence is rubbing off on her. + her @ cheeks blush "(So he did remember...)" ("disgust", "base", "base", "R") + her @ cheeks blush "Fine, I'll try to find an opportunity to practice in my... chambers." ("angry", "narrow", "base", "down") # Hermione makes an unintentional pun, Genie's influence is rubbing off on her. gen "Splendid!" ("grin", xpos="far_left", ypos="head") - gen "That will be all, [hermione_name]. You are dismissed." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") + gen "That will be all, [name_hermione_genie]. You are dismissed." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you, [name_genie_hermione]..." ("open", "closed", "base", "mid") gen "Until next time." ("base", xpos="far_left", ypos="head") - $ her_mood += 10 + $ states.her.mood += 10 call her_walk(action="leave") jump end_hermione_event "-Turn the intensity to Medium-": - #She cums but it takes a little longer. + #She cums, but it takes a little longer. play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" show her_vibrators_personal mouth_horny as cg with d5 @@ -1591,25 +1585,25 @@ label hg_vibrators_personal: show her_vibrators_personal eyes_squint_crossed as cg - her "*Ah*... *Ah*...{fast} [genie_name],{w=0.2} I can't--" + her "*Ah*... *Ah*...{fast} [name_genie_hermione],{w=0.2} I can't--" gen "Imagine what your peers would say... {i}Hermione Granger, failing a task set by her headmaster! What a disgrace!{/i}" ("base", xpos="far_left", ypos="head") gen "I thought you were better than this." ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_narrow_crossed mouth_angry as cg with d5 - her "[genie_name]--{w=0.2} *Ah*...{w=0.4} I can't control it!" - gen "Yes you can, [hermione_name]!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]--{w=0.2} *Ah*...{w=0.4} I can't control it!" + gen "Yes you can, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") show her_vibrators_personal eyes_clenched as cg with d5 her "{size=+4}{heart}*Nnngh*!{heart}{/size}" gen "Almost there..." ("base", xpos="far_left", ypos="head") - gen "{size=+5}Now! Cum for me, [hermione_name]!{/size}" ("base", xpos="far_left", ypos="head") with vpunch + gen "{size=+5}Now! Cum for me, [name_hermione_genie]!{/size}" ("base", xpos="far_left", ypos="head") with vpunch "-Turn the intensity to High-": play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" show her_vibrators_personal eyebrows_neutral eyes_wide_crossed mouth_ahegao as cg with d5 @@ -1618,7 +1612,7 @@ label hg_vibrators_personal: show her_vibrators_personal eyebrows_worried eyes_squint_crossed as cg with d5 - her "*Aheeeee*!! [genie_name], I can't--" + her "*Aheeeee*!! [name_genie_hermione], I can't--" gen "Answer me!" ("base", xpos="far_left", ypos="head") her "*Ahhh*...{w=0.2} *Ahee*...{w=0.2} I..." gen "Tell me you want to cum!" ("base", xpos="far_left", ypos="head") @@ -1628,7 +1622,7 @@ label hg_vibrators_personal: her "*Ah*...{w=0.4}{size=+4} I want to cum!{/size}{heart}" gen "How much do you want it?" ("base", xpos="far_left", ypos="head") - her "{heart}{heart}{size=+4}A lot, please, [genie_name], please let me cum!!!{/size}{heart}{heart}" + her "{heart}{heart}{size=+4}A lot, please, [name_genie_hermione], please let me cum!!!{/size}{heart}{heart}" show her_vibrators_personal eyebrows_worried mouth_ahegao_wet as cg with d5 @@ -1639,7 +1633,7 @@ label hg_vibrators_personal: gen "Skadoosh.{w=0.8}{nw}" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_overdrive.ogg" + play background "sounds/vibrator_overdrive.ogg" show her_vibrators_personal eyes_wide_crossed as cg @@ -1651,11 +1645,11 @@ label hg_vibrators_personal: with kissiris play sound "sounds/slick_01.ogg" - her "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{w=0.4}{nw}" ("grin", "narrow", "annoyed", "up", cheeks="blush") + her @ cheeks blush "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{w=0.4}{nw}" ("grin", "narrow", "annoyed", "up") show her_vibrators_personal -effects_squirt effects_puddle as cg - her "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{fast}" ("grin", "narrow", "annoyed", "up", cheeks="blush") + her @ cheeks blush "{size=+8}{heart}{heart}Aaaaah!!!!!{heart}{heart}{/size}{fast}" ("grin", "narrow", "annoyed", "up") gen "By the great--" ("base", xpos="far_left", ypos="head") @@ -1677,24 +1671,24 @@ label hg_vibrators_personal: label .end: - stop bg_sounds fadeout 2.0 - call play_music("stop") + stop background fadeout 2.0 + stop music fadeout 1 show screen blkfade with d5 - her "" ("disgust", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "" ("disgust", "squint", "base", "R") hide cg show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) - ">You watch as Hermione sits up and shimmies to the edge of your desk, planting her feet on the floor, she sways on the spot slightly before she readies herself, and makes her way to the front of your desk." + nar "You watch as Hermione sits up and shimmies to the edge of your desk, planting her feet on the floor, she sways on the spot slightly before she readies herself, and makes her way to the front of your desk." $ hermione.equip(her_outfit_last) hide screen blkfade with d5 - her "" ("disgust", "squint", "base", "R", cheeks="blush") #blushing + her @ cheeks blush "" ("disgust", "squint", "base", "R") #blushing call ctc - her "*Ahem*...{w=0.4} So, is that all?" ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "*Ahem*...{w=0.4} So, is that all?" ("open", "squint", "base", "R") gen "Yes, that shall do for today." ("base", xpos="far_left", ypos="head") menu: @@ -1702,29 +1696,29 @@ label hg_vibrators_personal: gen "Oh, wait!" ("base", xpos="far_left", ypos="head") gen "I was going to grade you, wasn't I?" ("base", xpos="far_left", ypos="head") gen "*Hmm*...{w=0.4} Let's see..." ("base", xpos="far_left", ypos="head") - her "..." ("soft", "base", "base", "mid", cheeks="blush") #hopeful + her @ cheeks blush "..." ("soft", "base", "base", "mid") #hopeful menu: "-Give her a passing grade-": if _temp_premature_finish: gen "Well, I was hoping that you'd be able to last longer than that--" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") # Sadge + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") # Sadge gen "--But..." ("base", xpos="far_left", ypos="head") - her "...?" ("soft", "squint", "base", "mid", cheeks="blush") # Looks at genie full of hope + her @ cheeks blush "...?" ("soft", "squint", "base", "mid") # Looks at genie full of hope gen "I'll still give you a pass!" ("base", xpos="far_left", ypos="head") - her "Oh! Thank you [genie_name]!" ("grin", "base", "base", "mid") + her "Oh! Thank you [name_genie_hermione]!" ("grin", "base", "base", "mid") else: gen "You pass!" ("base", xpos="far_left", ypos="head") - gen "Excellent performance, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Oh... why thank you, [genie_name]." ("base", "base", "base", "mid") + gen "Excellent performance, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Oh... why thank you, [name_genie_hermione]." ("base", "base", "base", "mid") if not her_outfit_vibrators.unlocked: - her "Is there some kind of a reward?" ("base", "base", "base", "mid") + her "Is there some kind of reward?" ("base", "base", "base", "mid") gen "Reward?" ("base", xpos="far_left", ypos="head") gen "Wasn't having the biggest orgasm of your life enough for you?" ("base", xpos="far_left", ypos="head") her "No, it was-- It's just..." ("angry", "base", "base", "mid") - her "Well, I was thinking, it's not like I can show this grade off to my classmates, or anything..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Well, I was thinking, it's not like I can show this grade off to my classmates, or anything..." ("open", "base", "base", "R") gen "I mean, you could--..." ("grin", xpos="far_left", ypos="head") gen "--but I get the sentiment..." ("base", xpos="far_left", ypos="head") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") @@ -1732,59 +1726,59 @@ label hg_vibrators_personal: "-Deny her a passing grade-": gen "You fail!" ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} I fail?!" ("angry", "wide", "worried", "stare", cheeks="blush") - her "But [genie_name]!" ("angry", "wide", "base", "mid") - her "I did what you asked of me!" ("clench", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.2} I fail?!" ("angry", "wide", "worried", "stare") + her "But [name_genie_hermione]!" ("angry", "wide", "base", "mid") + her @ cheeks blush "I did what you asked of me!" ("clench", "base", "worried", "mid") if _temp_premature_finish: gen "No, you did not, you had an orgasm before I gave you the signal to finish." ("base", xpos="far_left", ypos="head") - her "But that's because you--" ("angry", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "But that's because you--" ("angry", "base", "worried", "mid") gen "I don't want to hear your excuses. My decision is final." ("base", xpos="far_left", ypos="head") - her "*tsk* That's unfair!" ("disgust", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "*tsk* That's unfair!" ("disgust", "narrow", "annoyed", "down") else: - gen "Indeed, that you did, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Then why are you giving me a bad grade?" ("angry", "base", "worried", "mid", cheeks="blush") + gen "Indeed, that you did, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Then why are you giving me a bad grade?" ("angry", "base", "worried", "mid") - gen "You seem very distraught by this, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "You seem very distraught by this, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "I thought you said it wasn't even a real grade." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "base", "base", "stare", cheeks="blush") # Shocked by the realisation that Genie is right + her @ cheeks blush "..." ("disgust", "base", "base", "stare") # Shocked by the realisation that Genie is right gen "Or are you merely looking for my approval?" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") # looks away blushing + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") # looks away blushing if _temp_premature_finish: gen "You'll have it once you've gained the ability to keep that {i}super soaker{/i} of yours, in check." ("base", xpos="far_left", ypos="head") else: gen "If that's the case, you did a very good job achieving what I required of you. I'm proud of you, truly." ("base", xpos="far_left", ypos="head") - her "..." ("soft", "squint", "base", "mid", cheeks="blush") #embarrased but happy + her @ cheeks blush "..." ("soft", "squint", "base", "mid") #embarrased but happy gen "You still fail though." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "down", cheeks="blush") #Annoyed + her @ cheeks blush "..." ("annoyed", "narrow", "base", "down") #Annoyed if not her_outfit_vibrators.unlocked: gen "Maybe after you've had some practice you can earn a passing grade." ("base", xpos="far_left", ypos="head") - her "Practice?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Practice?" ("angry", "base", "base", "mid") gen "Yes, so you would be able to hold it in for longer..." ("base", xpos="far_left", ypos="head") - her "Right... Practice it is..." ("soft", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Right... Practice it is..." ("soft", "narrow", "base", "R") "-She's had enough excitement for one day-": - her "Alright. I'll be leaving now..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Alright. I'll be leaving now..." ("open", "base", "base", "R") if not her_outfit_vibrators.unlocked: gen "You can take those vibrators with you, if you want." ("base", xpos="far_left", ypos="head") - her "..." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("soft", "base", "base", "R") pause 0.5 hide vibrators_floor $ hermione.hide() - call unlock_clothing(">Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) + call unlock_clothing("Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) - gen "Have fun, and try to not to overdo it." ("base", xpos="far_left", ypos="head") + gen "Have fun, and try to not overdo it." ("base", xpos="far_left", ypos="head") gen "Or you might end up blind." ("grin", xpos="far_left", ypos="head") - her "........*sigh*" ("base", "narrow", "base", "down", cheeks="blush") - her "I won't..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "........ *Sigh*" ("base", "narrow", "base", "down") + her @ cheeks blush "I won't..." ("base", "narrow", "base", "down") gen "Who said that?" ("open", xpos="far_left", ypos="head") else: gen "Don't forget your vibrators." ("base", xpos="far_left", ypos="head") - her "Oh, right..." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh, right..." ("disgust", "narrow", "base", "mid") call her_walk("desk", "base") pause 0.5 hide vibrators_floor @@ -1801,56 +1795,56 @@ label hg_vibrators_personal: label .low_tier: - her "*Ah*!" ("angry", "wide", "base", "stare", cheeks="blush") - her "I wasn't ready!! Turn it off!" ("angry", "happyCl", "worried", "stare", cheeks="blush") - gen "Forfeiting the points already, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*!" ("angry", "wide", "base", "stare") + her @ cheeks blush "I wasn't ready!! Turn it off!" ("angry", "happyCl", "worried", "stare") + gen "Forfeiting the points already, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") gen "Well, if you insist." ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - stop bg_sounds + stop background - her "Wait!" ("angry", "base", "base", "stare", cheeks="blush") + her @ cheeks blush "Wait!" ("angry", "base", "base", "stare") gen "*Tsk* *Tsk*" ("base", xpos="far_left", ypos="head") - gen "Too late. You really should try to be a bit more decisive, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Too late. You really should try to be a bit more decisive, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "I thought you were here to earn your house some points. I guess I was wrong." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "closed", "worried", "mid", cheeks="blush") - her "Just...{w=0.4} Could you set it to the low setting? Please?" ("open", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "..." ("disgust", "closed", "worried", "mid") + her @ cheeks blush "Just...{w=0.4} Could you set it to the low setting? Please?" ("open", "squint", "worried", "R") gen "Low setting, eh? Are you sure you are ready for that?" ("grin", xpos="far_left", ypos="head") - her "Yes..." ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Yes..." ("angry", "squint", "worried", "mid") gen "Low setting it is." ("grin", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" - her "{heart}*Ngh*{heart}!" ("angry", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{heart}*Ngh*{heart}!" ("angry", "narrow", "base", "up") gen "Better?" ("grin", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} Yes... {w=0.4}Much better..." ("open", "closed", "base", "up", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} Yes... {w=0.4}Much better..." ("open", "closed", "base", "up") gen "Good, then let's continue from where we left off." ("base", xpos="far_left", ypos="head") menu: "-Ask her to get on the desk-": gen "Why don't you get on the desk for me?" ("base", xpos="far_left", ypos="head") - her "The desk?!" ("angry", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "The desk?!" ("angry", "wide", "base", "stare") gen "Yes, the desk... I'd like a closer look at you..." ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} You never said I had to get on the desk." ("angry", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.2} You never said I had to get on the desk." ("angry", "narrow", "worried", "mid") gen "Is it that difficult to climb the desk?" ("base", xpos="far_left", ypos="head") gen "I've seen you do it before." ("base", xpos="far_left", ypos="head") - her "It's not the same when I'm wearing vibrators!" ("clench", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "It's not the same when I'm wearing vibrators!" ("clench", "base", "base", "mid") gen "I suppose your legs would be a bit shaky." ("base", xpos="far_left", ypos="head") gen "(I'm sure that with enough training, she'll be able to climb the desk with these things on.)" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "R") gen "Then let's have a bit of a chat instead." ("base", xpos="far_left", ypos="head") "-Keep it going the way she is-": gen "Where was I--" ("base", xpos="far_left", ypos="head") gen "Oh right!" ("base", xpos="far_left", ypos="head") gen "Tell me, how was your day?" ("base", xpos="far_left", ypos="head") - her "W--{w=0.2}What?" ("angry", "base", "base", "mid", cheeks="blush") - her "How was--{w=0.2} *Ah*...{w=0.2} my day?" ("open", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "W--{w=0.2}What?" ("angry", "base", "base", "mid") + her @ cheeks blush "How was--{w=0.2} *Ah*...{w=0.2} my day?" ("open", "wink", "base", "mid") gen "Yes, tell me what you've been up to lately." ("base", xpos="far_left", ypos="head") - her "T-This isn't the right time, [genie_name]." ("angry", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "T-This isn't the right time, [name_genie_hermione]." ("angry", "wink", "base", "mid") gen "*Hmm*?" ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} *Ah*...{w=0.4} I'm a bit preoccupied..." ("clench", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.2} *Ah*...{w=0.4} I'm a bit preoccupied..." ("clench", "closed", "worried", "mid") gen "Surely you can multitask, I do it all the time." ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} I just don't want to think about my classmates right now!" ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.2} I just don't want to think about my classmates right now!" ("open", "closed", "worried", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") $ _vibrator_pissed = False @@ -1860,90 +1854,90 @@ label hg_vibrators_personal: $ _vibrator_pissed = True play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" - her "{heart}*Ah*!!{heart}" ("grin", "narrow", "worried", "up", cheeks="blush") - her "T-turn it down, {w=0.3}it's too intense!" ("clench", "happyCl", "worried", "mid", cheeks="blush") - gen "Some vibrations too much for you to handle, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name], turn it down this instance, {w=0.5}or I'm leaving!" ("angry", "happyCl", "angry", "stare", cheeks="blush") #mad + her @ cheeks blush "{heart}*Ah*!!{heart}" ("grin", "narrow", "worried", "up") + her @ cheeks blush "T-turn it down, {w=0.3}it's too intense!" ("clench", "happyCl", "worried", "mid") + gen "Some vibrations too much for you to handle, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], turn it down this instance, {w=0.5}or I'm leaving!" ("angry", "happyCl", "angry", "stare") #mad gen "..." ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - stop bg_sounds + stop background gen "There... {w=0.4}Better?" ("base", xpos="far_left", ypos="head") - her "*Hmph*." ("annoyed", "narrow", "angry", "R", cheeks="blush") #annoyed - gen "There's no need to be upset, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "There is, if you keep turning it up like that without telling me!" ("angry", "narrow", "angry", "mid", cheeks="blush") + her @ cheeks blush "*Hmph*." ("annoyed", "narrow", "angry", "R") #annoyed + gen "There's no need to be upset, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "There is, if you keep turning it up like that without telling me!" ("angry", "narrow", "angry", "mid") gen "I just wanted to steer your thoughts away from your classmates, and it worked!" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "R") gen "Until I brought them up again just now, I guess..." ("base", xpos="far_left", ypos="head") gen "Anyway..." ("base", xpos="far_left", ypos="head") "-Turn it off-": play sound "sounds/click4.ogg" - stop bg_sounds + stop background gen "Well, if that's the case, I suppose we're done here." ("base", xpos="far_left", ypos="head") - her "But--" ("angry", "squint", "worried", "stare", cheeks="blush") - her "What about my points?!" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "But--" ("angry", "squint", "worried", "stare") + her @ cheeks blush "What about my points?!" ("angry", "squint", "worried", "mid") gen "Your points?" ("base", xpos="far_left", ypos="head") - her "Yes, am I still getting--" ("open", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "Yes, am I still getting--" ("open", "base", "worried", "mid") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" - her "*Ah*..." ("open", "happyCl", "worried", "mid", cheeks="blush") - gen "If you want your points, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*..." ("open", "happyCl", "worried", "mid") + gen "If you want your points, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "You can't just stand there and do nothing." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} W--{w=0.2}What?" ("angry", "squint", "base", "stare", cheeks="blush") #looks away - gen "You've heard me--{w=0.4}Look at me when I'm speaking to you, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "..." ("soft", "squint", "worried", "mid", cheeks="blush") #Hermione looks at you, blushing + her @ cheeks blush "*Ah*...{w=0.4} W--{w=0.2}What?" ("angry", "squint", "base", "stare") #looks away + gen "You've heard me--{w=0.4}Look at me when I'm speaking to you, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("soft", "squint", "worried", "mid") #Hermione looks at you, blushing gen "Well?" ("base", xpos="far_left", ypos="head") - her "Well--{w=0.2} *Ah*...{w=0.4} Well, what?" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Well--{w=0.2} *Ah*...{w=0.4} Well, what?" ("angry", "squint", "worried", "mid") gen "You said you didn't want to think about your classmates, why is that?" ("base", xpos="far_left", ypos="head") - her "Oh...{w=0.4} Right..." ("disgust", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Oh...{w=0.4} Right..." ("disgust", "squint", "worried", "mid") gen "Don't tell me you've been skipping class!" ("base", xpos="far_left", ypos="head") - her "What?! No, of course not!" ("angry", "base", "worried", "mid", cheeks="blush") - her "I've been attending--{w=0.2} *Ah*...{w=0.4} Class...{w=0.2} As per usual." ("open", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "What?! No, of course not!" ("angry", "base", "worried", "mid") + her @ cheeks blush "I've been attending--{w=0.2} *Ah*...{w=0.4} Class...{w=0.2} As per usual." ("open", "squint", "worried", "mid") gen "That's good." ("base", xpos="far_left", ypos="head") - her "Although--{w=0.2} *Ah*...{w=0.4} As you already know, I've arrived late to a couple of them." ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "Although--{w=0.2} *Ah*...{w=0.4} As you already know, I've arrived late to a couple of them." ("open", "closed", "worried", "mid") gen "You have?" ("base", xpos="far_left", ypos="head") gen "Why are you being late to your classes?" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} That's--{w=0.2} *Ah*...{w=0.4} That's kind of your fault... [genie_name]... I mean we spend so much time in here and all--" ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} That's--{w=0.2} *Ah*...{w=0.4} That's kind of your fault... [name_genie_hermione]... I mean we spend so much time in here and all--" ("angry", "narrow", "base", "R") menu: # Both result in the event ending. "-Be kind-": #Mood stays the same gen "Oh right..." ("base", xpos="far_left", ypos="head") - gen "No need to worry, [hermione_name]. You're helping out the Headmaster after all." ("base", xpos="far_left", ypos="head") - her "Oh, I wasn't worried about--" ("upset", "squint", "base", "R", cheeks="blush") + gen "No need to worry, [name_hermione_genie]. You're helping out the headmaster, after all." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, I wasn't worried about--" ("upset", "squint", "base", "R") gen "I'm sure that such a bright girl as yourself is able to keep up with the curriculum anyway." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} Yes, so far--" ("open", "closed", "base", "R", cheeks="blush") - her "So...--{w=0.4} *Mmmm*...{w=0.4} So good..." ("base", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} Yes, so far--" ("open", "closed", "base", "R") + her @ cheeks blush "So...--{w=0.4} *Mmmm*...{w=0.4} So good..." ("base", "closed", "worried", "mid") gen "I appreciate your honesty, any other student would've kept this information from me." ("base", xpos="far_left", ypos="head") - her "Oh, well..." ("grin", "closed", "worried", "mid", cheeks="blush") #blush + her @ cheeks blush "Oh, well..." ("grin", "closed", "worried", "mid") #blush play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" - her "*Ah*!" ("angry", "wide", "worried", "stare", cheeks="blush") - her "[genie_name]...!" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah*!" ("angry", "wide", "worried", "stare") + her @ cheeks blush "[name_genie_hermione]...!" ("angry", "happyCl", "worried", "mid") gen "Feels good, doesn't it?" ("base", xpos="far_left", ypos="head") gen "Let it be known that your headmaster rewards honesty." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} *Ah*...{w=0.4} I--" ("clench", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} I--" ("clench", "happyCl", "worried", "mid") if _vibrator_pissed: #Event end, low mood penalty - her "Didn't I tell you to not--{w=0.2} *Ngh*...{w=0.4} Turn it up without telling me!?" ("angry", "narrow", "annoyed", "stare", cheeks="blush") #Embarrased + her @ cheeks blush "Didn't I tell you to not--{w=0.2} *Ngh*...{w=0.4} Turn it up without telling me!?" ("angry", "narrow", "annoyed", "stare") #Embarrased gen "*Hmm*?" ("base", xpos="far_left", ypos="head") gen "Does it not feel good?" ("base", xpos="far_left", ypos="head") - her "T-That's not--{w=0.2} The problem!" ("clench", "happyCl", "angry", "mid", cheeks="blush") - her "It's--{w=0.2} *Ah*..." ("open", "happyCl", "angry", "mid", cheeks="blush") - her "I can't believe you!" ("open", "happyCl", "angry", "stare", cheeks="blush") + her @ cheeks blush "T-That's not--{w=0.2} The problem!" ("clench", "happyCl", "angry", "mid") + her @ cheeks blush "It's--{w=0.2} *Ah*..." ("open", "happyCl", "angry", "mid") + her @ cheeks blush "I can't believe you!" ("open", "happyCl", "angry", "stare") # Replaces vibrators in underwear with underwear play sound "sounds/cloth_sound3.ogg" @@ -1956,9 +1950,9 @@ label hg_vibrators_personal: show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) with d5 - $ her_mood += 10 + $ states.her.mood += 10 - her "I wore your stupid vibrators, so I'll have my points now!" ("angry", "narrow", "angry", "mid", cheeks="blush") + her @ cheeks blush "I wore your stupid vibrators, so I'll have my points now!" ("angry", "narrow", "angry", "mid") gen "Technically they were a gift." ("base", xpos="far_left", ypos="head") hide vibrators_floor @@ -1969,39 +1963,39 @@ label hg_vibrators_personal: show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with hpunch - her "Keep your stupid gift!" ("mad", "narrow", "angry", "mid", cheeks="blush") # Angry + her @ cheeks blush "Keep your stupid gift!" ("mad", "narrow", "angry", "mid") # Angry gen "Alright... I suppose I could keep them for now..." ("base", xpos="far_left", ypos="head") call her_walk("mid", "base") call her_chibi(flip=False) with d3 - her "I want my points now..." ("open", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I want my points now..." ("open", "base", "annoyed", "mid") play sound "sounds/click4.ogg" - stop bg_sounds + stop background - gen "...{w=0.4} Very well, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "...{w=0.4} Very well, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: #Gets wet down her legs and leaves (No mood penalty) - her "Please, I--" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "It's too--{w=0.2} *Ah*...{w=0.4} If you keep this up I won't--" ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Please, I--" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "It's too--{w=0.2} *Ah*...{w=0.4} If you keep this up I won't--" ("open", "happyCl", "worried", "mid") gen "Did you not want a reward for your honesty?" ("base", xpos="far_left", ypos="head") - her "It's--{w=0.2} It's not that--..." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "It's--{w=0.2} It's not that--..." ("angry", "happyCl", "worried", "mid") gen "Don't you think it's a bit impolite to not express gratitude for my generosity?" ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} You didn't have to...{w=0.4} Some points would've been--" ("disgust", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.2} You didn't have to...{w=0.4} Some points would've been--" ("disgust", "happyCl", "worried", "mid") $ hermione.set_cum(pussy="vibratorp_light") gen "Points? Is that really the only thing you want?" ("base", xpos="far_left", ypos="head") - her "O--{w=0.2} Of course! Why else would I--" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "O--{w=0.2} Of course! Why else would I--" ("angry", "happyCl", "worried", "mid") gen "Looks to me like you're not doing it just for points..." ("base", xpos="far_left", ypos="head") - her "What are you--{w=0.4} *Ngh*...{w=0.4} implying..." ("disgust", "happyCl", "worried", "mid", cheeks="blush") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") #Wide eyed, looks down + her @ cheeks blush "What are you--{w=0.4} *Ngh*...{w=0.4} implying..." ("disgust", "happyCl", "worried", "mid") + her @ cheeks blush "..." ("angry", "narrow", "base", "down") #Wide eyed, looks down gen "Now then, I think it's time we reach the climax of this activity." ("grin", xpos="far_left", ypos="head") - her "The climax?!" ("clench", "wide", "base", "mid", cheeks="blush") #clench + her @ cheeks blush "The climax?!" ("clench", "wide", "base", "mid") #clench play sound "sounds/cloth_sound3.ogg" $ hermione.unequip("accessory0", "accessory1") @@ -2014,42 +2008,42 @@ label hg_vibrators_personal: with d5 gen "What the--" ("base", xpos="far_left", ypos="head") - her "I--{w=0.2}I'll have those points now." ("disgust", "squint", "base", "L", cheeks="blush") + her @ cheeks blush "I--{w=0.2}I'll have those points now." ("disgust", "squint", "base", "L") gen "But we were just getting started!" ("base", xpos="far_left", ypos="head") - her "And now we're finished." ("open", "narrow", "base", "R", cheeks="blush") - gen "Are you sure? I've finished plenty of times and it's usually more--" ("base", xpos="far_left", ypos="head") - her "--Finished! We're done here!" ("angry", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "And now we're finished." ("open", "narrow", "base", "R") + gen "Are you sure? I've finished plenty of times, and it's usually more--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "--Finished! We're done here!" ("angry", "happyCl", "annoyed", "mid") - nar ">Hermione bends over and picks up the vibrators from the ground, slamming them onto your desk." + nar "Hermione bends over and picks up the vibrators from the ground, slamming them onto your desk." play sound "sounds/punch01.ogg" show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with hpunch - her "You can have these back now." ("disgust", "happy", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "You can have these back now." ("disgust", "happy", "annoyed", "mid") gen "Are you sure? You can keep them, you know." ("base", xpos="far_left", ypos="head") - her "No thanks..." ("open", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "No, thanks..." ("open", "narrow", "angry", "R") call her_walk("mid", "base") call her_chibi(flip=False) with d3 - gen "I suppose you wouldn't want anyone find them in your dorm." ("base", xpos="far_left", ypos="head") - her "(That's not what I'm worried about...)" ("disgust", "narrow", "base", "R", cheeks="blush") + gen "I suppose you wouldn't want anyone to find them in your dorm." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "(That's not what I'm worried about...)" ("disgust", "narrow", "base", "R") play sound "sounds/click4.ogg" - stop bg_sounds + stop background gen "No worries, just let me know if you feel like using them again." ("base", xpos="far_left", ypos="head") - her "Sure... If I ever get the sudden urge to ask my headmaster for some vibrators I'll come and ask..." ("soft", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "Sure... If I ever get the sudden urge to ask my headmaster for some vibrators, I'll come and ask..." ("soft", "narrow", "annoyed", "R") gen "Ask and come any time you like!" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "mid", cheeks="blush") - her "Can I have my points now?" ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "mid") + her @ cheeks blush "Can I have my points now?" ("open", "happy", "base", "mid") gen "Certainly." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout - gen "{number=current_payout} points to Gryffindor, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Thanks..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + gen "{number=current_payout} points to Gryffindor, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thanks..." ("annoyed", "narrow", "angry", "R") $ hermione.set_cum(None) $ hermione.equip(her_outfit_last) @@ -2057,29 +2051,29 @@ label hg_vibrators_personal: with fade pause 1 - her "..." ("annoyed", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "worried", "R") call her_walk(action="leave") "-Scold her-": gen "Blaming your headmaster, are we?" ("base", xpos="far_left", ypos="head") - her "But... [genie_name]." ("angry", "squint", "worried", "mid", cheeks="blush") - her "I'm not to blame if it's you who is keeping me--" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "But... [name_genie_hermione]." ("angry", "squint", "worried", "mid") + her @ cheeks blush "I'm not to blame if it's you who is keeping me--" ("angry", "squint", "worried", "mid") play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" - her "Ah!" ("scream", "happyCl", "worried", "mid", cheeks="blush") - gen "That's not how you're supposed to speak to your headmaster, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Ah!" ("scream", "happyCl", "worried", "mid") + gen "That's not how you're supposed to speak to your headmaster, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Tell me you're sorry and won't be late to classes again." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} *Ah*...{w=0.4} Alright--" ("open", "happyCl", "worried", "mid", cheeks="blush") - her "I won't be late for classes again!" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} Alright--" ("open", "happyCl", "worried", "mid") + her @ cheeks blush "I won't be late for classes again!" ("angry", "happyCl", "worried", "mid") gen "And?" ("base", xpos="far_left", ypos="head") - her "And--{w=0.2} *Ah*...{w=0.4} I--{w=0.2} I--" ("clench", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "And--{w=0.2} *Ah*...{w=0.4} I--{w=0.2} I--" ("clench", "happyCl", "worried", "mid") if _vibrator_pissed: - $ her_mood += 15 + $ states.her.mood += 15 her "..." #Wide eyed angry @@ -2089,12 +2083,12 @@ label hg_vibrators_personal: show vibrators_floor at Transform(xpos=436, ypos=413, zoom=0.5) with d5 - her "I have told you to not turn it up without letting me know beforehand!" ("clench", "wide", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I have told you to not turn it up without letting me know beforehand!" ("clench", "wide", "annoyed", "mid") gen "What?!" ("angry", xpos="far_left", ypos="head") - her "I can't believe you tried to make me apologise!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "I can't believe you tried to make me apologise!" ("angry", "base", "angry", "mid") gen "..." ("angry", xpos="far_left", ypos="head") - nar ">Hermione bends over and picks up the vibrators from the ground, slamming them onto your desk." + nar "Hermione bends over and picks up the vibrators from the ground, slamming them onto your desk." hide vibrators_floor with d5 @@ -2103,14 +2097,14 @@ label hg_vibrators_personal: show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with hpunch - her "My points! Now!" ("open", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "My points! Now!" ("open", "base", "annoyed", "mid") gen "Alright, alright... Don't get your panties in a twist." ("angry", xpos="far_left", ypos="head") $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - stop bg_sounds + stop background gen "There, happy?" ("base", xpos="far_left", ypos="head") her "Very!" ("open", "narrow", "angry", "R") # Sarcastic @@ -2121,28 +2115,28 @@ label hg_vibrators_personal: with fade pause 1 - her "*Hmph*!" ("normal", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "*Hmph*!" ("normal", "base", "angry", "mid") call her_walk(action="leave") play sound "sounds/door_down.ogg" with hpunch else: #low mood penalty - $ her_mood += 10 + $ states.her.mood += 10 $ hermione.set_cum(pussy="vibratorp_light") gen "And now you're getting wet without my permission?" ("base", xpos="far_left", ypos="head") - her "W--{w=0.2} What?!?" ("angry", "wide", "worried", "down", cheeks="blush") #looks down #shocked + her @ cheeks blush "W--{w=0.2} What?!?" ("angry", "wide", "worried", "down") #looks down #shocked gen "You're not getting off from being scolded, are you?" ("base", xpos="far_left", ypos="head") - her "Getting off from--{w=0.2} Of course not!" ("clench", "wide", "worried", "mid", cheeks="blush") - gen "Then why are you so wet, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Getting off from--{w=0.2} Of course not!" ("clench", "wide", "worried", "mid") + gen "Then why are you so wet, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") $ hermione.set_cum(pussy="vibratorp_heavy") - her "I'm--{w=0.2} *ah*...{w=0.4} I am not!" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "I'm--{w=0.2} *ah*...{w=0.4} I am not!" ("angry", "squint", "worried", "mid") gen "Clearly you are." ("base", xpos="far_left", ypos="head") - her "I don't--{w=0.2} *Ahh*...{w=0.4} \"get off\" from being...{w=0.4} *Nhh* scolded!" ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "I don't--{w=0.2} *Ahh*...{w=0.4} \"get off\" from being...{w=0.4} *Nhh* scolded!" ("open", "happyCl", "worried", "mid") play sound "sounds/cloth_sound3.ogg" $ hermione.equip([her_panties_base1, her_bra_base1]) @@ -2155,14 +2149,14 @@ label hg_vibrators_personal: call her_walk("desk", "base") gen "Hey! We're not done yet!" ("base", xpos="far_left", ypos="head") - her "Just... Take these back." ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Just... Take these back." ("angry", "squint", "worried", "mid") show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with d5 her "Could--{w=0.2} Can I have my points now?" #looking down gen "But we haven't--" ("base", xpos="far_left", ypos="head") - her "I insist..." ("angry", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I insist..." ("angry", "closed", "base", "mid") gen "Suit yourself..." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout @@ -2170,35 +2164,35 @@ label hg_vibrators_personal: gen "Now, can we get back to--" ("base", xpos="far_left", ypos="head") call her_walk("mid", "base") - her "" ("angry", "closed", "base", "mid", cheeks="blush", flip=True, trans=d3) + her @ cheeks blush "" ("angry", "closed", "base", "mid", flip=True, trans=d3) with d3 pause .5 gen "You could at least have the courtesy to look me in the eyes when I'm speaking to you..." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "worried", "down", cheeks="blush") #Looking down ashamed + her @ cheeks blush "..." ("angry", "narrow", "worried", "down") #Looking down ashamed gen "Look at me!" ("base", xpos="far_left", ypos="head") - her "..." ("angry", "base", "base", "stare", cheeks="blush") + her @ cheeks blush "..." ("angry", "base", "base", "stare") call her_chibi(flip=False) pause .5 - her "" ("angry", "narrow", "worried", "mid", cheeks="blush", flip=False, trans=d3) + her @ cheeks blush "" ("angry", "narrow", "worried", "mid", flip=False, trans=d3) with d3 pause .5 gen "(Why is she still blush-- Oh, I see...)" ("base", xpos="far_left", ypos="head") - gen "Okay [hermione_name], you may leave..." ("base", xpos="far_left", ypos="head") + gen "Okay [name_hermione_genie], you may leave..." ("base", xpos="far_left", ypos="head") $ hermione.set_cum(None) $ hermione.equip(her_outfit_last) with d3 - her "..." ("annoyed", "base", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "base", "base", "R") call her_walk(action="leave") gen "(This girl is such a mystery sometimes...)" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - stop bg_sounds + stop background hide vibrators_floor with fade @@ -2212,20 +2206,20 @@ label hg_vibrators_public_return: $ hermione.equip(her_bottom_school2) $ hermione.equip(her_outfit_vibrators, remove_old=False) - if her_tier_public >= 5: + if states.her.public_tier >= 5: label .high_tier: - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: # First time - play bg_sounds "sounds/vibrator_low.ogg" fadein 3 #fades in as she walks inside + play background "sounds/vibrator_low.ogg" fadein 3 #fades in as she walks inside call her_walk("mid", "base", action="enter") gen "Finally! What took you--" ("base", xpos="far_left", ypos="head") - her "I'm so sorry, [genie_name]!!" ("scream", "happyCl", "worried", "mid", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "I'm so sorry, [name_genie_hermione]!!" ("scream", "happyCl", "worried", "mid", xpos="mid", ypos="base") - her "" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "" ("angry", "happyCl", "worried", "mid") play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") with d3 @@ -2238,8 +2232,8 @@ label hg_vibrators_public_return: with d3 pause 1 - gen "[hermione_name]? What is the meaning of this?" ("base", xpos="far_left", ypos="head") - her "*Nnnn*--" ("angry", "happyCl", "worried", "R", cheeks="blush", tears="soft_blink") + gen "[name_hermione_genie]? What is the meaning of this?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears soft_blink "*Nnnn*--" ("angry", "happyCl", "worried", "R") gen "Are you--" ("base", xpos="far_left", ypos="head") play sound "sounds/cloth_sound3.ogg" @@ -2248,9 +2242,9 @@ label hg_vibrators_public_return: with d3 pause 1 - her "{heart}{heart}{heart}{size=+10}*Aaaaaaaaaah*!!!!!{/size}{heart}{heart}{heart}" ("open_wide_tongue", "wide", "base", "ahegao", cheeks="blush") #ahegao + her @ cheeks blush "{heart}{heart}{heart}{size=+10}*Aaaaaaaaaah*!!!!!{/size}{heart}{heart}{heart}" ("open_wide_tongue", "wide", "base", "ahegao") #ahegao - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris $ hermione.set_cum(pussy="vibrator_squirt") with d3 @@ -2261,7 +2255,7 @@ label hg_vibrators_public_return: gen "By the great desert--" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris $ hermione.set_cum(pussy="vibrator_squirt") with d3 @@ -2269,9 +2263,9 @@ label hg_vibrators_public_return: $ hermione.set_cum(pussy="vibrator_post") with d3 - her "{heart}{size=+5}*Aaaah*!!!{/size}{heart}" ("angry", "happyCl", "base", "up", cheeks="blush") + her @ cheeks blush "{heart}{size=+5}*Aaaah*!!!{/size}{heart}" ("angry", "happyCl", "base", "up") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris $ hermione.set_cum(pussy="vibrator_squirt") with d3 @@ -2279,12 +2273,12 @@ label hg_vibrators_public_return: $ hermione.set_cum(pussy="vibrator_post") with d3 - her "{size=+2}*Ah*!!!{/size}" ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{size=+2}*Ah*!!!{/size}" ("grin", "narrow", "base", "up") - gen "[hermione_name]!" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("angry", "closed", "worried", "mid", cheeks="blush") - her "At last..." ("grin", "narrow", "base", "stare", cheeks="blush") - her "These things...{w=0.4} *Ah*...{w=0.4} They turned on as I was walking up the stairs to your tower..." ("angry", "closed", "worried", "stare", cheeks="blush") + gen "[name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("angry", "closed", "worried", "mid") + her @ cheeks blush "At last..." ("grin", "narrow", "base", "stare") + her @ cheeks blush "These things...{w=0.4} *Ah*...{w=0.4} They turned on as I was walking up the stairs to your tower..." ("angry", "closed", "worried", "stare") gen "They--" ("base", xpos="far_left", ypos="head") $ hermione.hide() @@ -2299,10 +2293,10 @@ label hg_vibrators_public_return: gen "*Loud cough*{w=0.5}{nw}" ("base", xpos="far_left", ypos="head") play sound "sounds/click4.ogg" - stop bg_sounds + stop background gen "*Loud cough*{fast}" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} F-Finally..." ("angry", "narrow", "base", "down", cheeks="blush", xpos="base") + her @ cheeks blush "*Ah*...{w=0.4} F-Finally..." ("angry", "narrow", "base", "down", xpos="base") play sound "sounds/cloth_sound3.ogg" $ hermione.wear("panties") @@ -2318,21 +2312,21 @@ label hg_vibrators_public_return: with d5 pause .8 - her "I can't believe you did that to me...{w=0.4} After everything you've put me through today." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I can't believe you did that to me...{w=0.4} After everything you've put me through today." ("angry", "narrow", "base", "mid") gen "Well... I did warn you that I'd turn them on at any point." ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} I suppose you did." ("disgust", "narrow", "base", "mid", cheeks="blush") #looks down + her @ cheeks blush "I--{w=0.2} I suppose you did." ("disgust", "narrow", "base", "mid") #looks down gen "So...{w=0.4} I assume you've been...{w=0.5} {i}buzzy{/i}?" ("base", xpos="far_left", ypos="head") - her "*Mmm*...{w=0.4} Tell me about it..." ("disgust", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Mmm*...{w=0.4} Tell me about it..." ("disgust", "closed", "worried", "mid") gen "Isn't that your job?" ("base", xpos="far_left", ypos="head") - her "What? Oh..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "What? Oh..." ("angry", "narrow", "base", "mid") gen "I presume you went to your classes as usual?" ("base", xpos="far_left", ypos="head") - her "Of course!" ("angry", "base", "base", "mid", cheeks="blush") - her "Although, the fact I had these... things... strapped to me for the day made everything rather difficult..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Of course!" ("angry", "base", "base", "mid") + her @ cheeks blush "Although, the fact I had these... things... strapped to me for the day made everything rather difficult..." ("open", "narrow", "base", "down") gen "In what way?" ("base", xpos="far_left", ypos="head") - her "Well, first off, I couldn't exactly visit the library after classes, like usual..." ("soft", "narrow", "base", "R", cheeks="blush") - her "With how quiet it is in there, I'd immediately attract everyone's attention the moment these things start buzzing." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well, first off, I couldn't exactly visit the library after classes, like usual..." ("soft", "narrow", "base", "R") + her @ cheeks blush "With how quiet it is in there, I'd immediately attract everyone's attention the moment these things start buzzing." ("open", "narrow", "base", "down") gen "(Or once you started moaning, more likely...)" ("base", xpos="far_left", ypos="head") gen "So, no library visits today. Tell me something interesting, like what happened after you left my office." ("base", xpos="far_left", ypos="head") @@ -2342,29 +2336,29 @@ label hg_vibrators_public_return: $ hermione.wear("bottom") with d3 - her "Well... Once I left, I headed to the first class of the day -- Transfiguration." ("soft", "narrow", "base", "down", cheeks="blush") - her "And the closer I got to the classroom, the more nervous I got." ("angry", "narrow", "base", "down", cheeks="blush") - her "I mean... What if professor McGonagall called for me to demonstrate something in front of my classmates?" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Well... Once I left, I headed to the first class of the day -- Transfiguration." ("soft", "narrow", "base", "down") + her @ cheeks blush "And the closer I got to the classroom, the more nervous I got." ("angry", "narrow", "base", "down") + her @ cheeks blush "I mean... What if professor McGonagall called for me to demonstrate something in front of my classmates?" ("angry", "narrow", "base", "mid") menu: "-Mock her-": gen "Nervous? Don't you mean excited?" ("base", xpos="far_left", ypos="head") - her "I was not getting excited by wearing the vibrators..." ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I was not getting excited by wearing the vibrators..." ("open", "narrow", "annoyed", "mid") gen "That's not what I meant." ("grin", xpos="far_left", ypos="head") - her "I know that." ("open", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "I know that." ("open", "narrow", "angry", "R") gen "I'm talking about you being a bookworm." ("base", xpos="far_left", ypos="head") - her "You don't have to spell it out..." ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "You don't have to spell it out..." ("angry", "narrow", "annoyed", "mid") gen "Just making sure we're on the same page." ("base", xpos="far_left", ypos="head") gen "Of the book." ("base", xpos="far_left", ypos="head") gen "That thing you always read." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "annoyed", "mid", cheeks="blush") - her "Anyway..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "annoyed", "mid") + her @ cheeks blush "Anyway..." ("open", "narrow", "base", "R") "-Push her horny buttons-": call gen_chibi("stand", 225, "base") with d5 - her "...?" ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "...?" ("soft", "base", "base", "mid") call gen_walk(path=[(230, 470), (440, 470), (450, 430)], speed=1.2) @@ -2372,8 +2366,8 @@ label hg_vibrators_public_return: play sound "sounds/boing02.ogg" gen "Boop!" ("base", xpos="far_left", ypos="base") - her "{heart}*Ah*!!!{heart}" ("angry", "base", "base", "stare", cheeks="blush") - her "Why did you do that?" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "{heart}*Ah*!!!{heart}" ("angry", "base", "base", "stare") + her @ cheeks blush "Why did you do that?" ("angry", "narrow", "base", "mid") gen "I don't know, just felt like it." ("base", xpos="far_left", ypos="base") call gen_chibi("stand", 450, 430, flip=False) @@ -2384,19 +2378,19 @@ label hg_vibrators_public_return: with d5 pause 1 - her "*Hmph*... As I was saying..." ("angry", "base", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmph*... As I was saying..." ("angry", "base", "base", "R") "-Let her speak-": pass - her "Since I do look forward to demonstrating all the things I learn." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Since I do look forward to demonstrating all the things I learn." ("open", "closed", "base", "mid") gen "*Cough* {size=-4}nerd{/size} *Cough*." ("base", xpos="far_left", ypos="head") - her "Are you alright [genie_name]? You've been coughing a lot today." ("upset", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Are you alright [name_genie_hermione]? You've been coughing a lot today." ("upset", "squint", "base", "mid") gen "I'm good, just got a nerd stuck down my throat." ("base", xpos="far_left", ypos="head") - her "I see..." ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I see..." ("disgust", "squint", "base", "mid") gen "Please, continue with your boasting." ("base", xpos="far_left", ypos="head") - her "I'm not boasting!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") - her "I'm just trying to provide context about why I often get called up in front of the class." ("disgust", "narrow", "angry", "mid", cheeks="blush") + her @ cheeks blush "I'm not boasting!" ("angry", "narrow", "annoyed", "mid") + her @ cheeks blush "I'm just trying to provide context about why I often get called up in front of the class." ("disgust", "narrow", "angry", "mid") gen "You mean to provide exhibition?" ("base", xpos="far_left", ypos="head") play sound "sounds/cloth_sound3.ogg" @@ -2404,72 +2398,72 @@ label hg_vibrators_public_return: with d3 pause 1 - her "Do you mean exposition?" ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Do you mean exposition?" ("disgust", "narrow", "base", "mid") gen "There's a difference?" ("base", xpos="far_left", ypos="head") - her "Yes...{w=0.4} Either way, the context is..." ("angry", "narrow", "base", "R", cheeks="blush") - her "Professor McGonagall spotted my natural talents on the very first day, and has called me up to demonstrate them ever since." ("grin", "narrow", "base", "mid", cheeks="blush") - her "She noticed right away that I am an expert at practising with magic wands." ("grin", "squint", "base", "mid", cheeks="blush") - her "Of course, I'd expect no less from such a seasoned witch as her." ("base", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Yes...{w=0.4} Either way, the context is..." ("angry", "narrow", "base", "R") + her @ cheeks blush "Professor McGonagall spotted my natural talents on the very first day, and has called me up to demonstrate them ever since." ("grin", "narrow", "base", "mid") + her @ cheeks blush "She noticed right away that I am an expert at practising with magic wands." ("grin", "squint", "base", "mid") + her @ cheeks blush "Of course, I'd expect no less from such a seasoned witch as her." ("base", "squint", "base", "R") gen "Seasoned you say... From teaching the arts of bukkake no doubt..." ("base", xpos="far_left", ypos="head") - her "In fact, I was the first person to perfectly master turning a rat yellow and ever since then I've been the go to student to demonstrate--" ("smile", "base", "base", "mid") + her "In fact, I was the first person to perfectly master turning a rat yellow and ever since then I've been the go-to student to demonstrate--" ("smile", "base", "base", "mid") gen "Hold on... A Rat?!" ("base", xpos="far_left", ypos="head") her "Yes, why so surprised?" ("open", "base", "base", "mid") gen "I don't want to hear about stupid rats, what about the exhibitionism? The vibrators? The guys jacking off onto you, and maybe your teacher as well?" ("angry", xpos="far_left", ypos="head") - her "Jacking-- What on earth are you talking about?!" ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "Jacking-- What on earth are you talking about?!" ("angry", "wide", "base", "mid") gen "Isn't this when you're supposed to tell me about the vibrators going off in front of your class?" ("angry", xpos="far_left", ypos="head") - her "No!" ("angry", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "No!" ("angry", "base", "worried", "mid") gen "Then what is all this?!" ("angry", xpos="far_left", ypos="head") - her "Exposition!" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Exposition!" ("angry", "squint", "worried", "mid") gen "(Bloody exposition!)" ("angry", xpos="far_left", ypos="head") - her "I'll just skip forward to after the class..." ("open", "squint", "base", "mid", cheeks="blush") - her "So, after the class, I slipped away from my friends and waited, time ticking down for my next period." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "I'll just skip forward to after the class..." ("open", "squint", "base", "mid") + her @ cheeks blush "So, after the class, I slipped away from my friends and waited, time ticking down for my next period." ("open", "base", "base", "R") gen "Your--{w=0.2}, Wait, it's that time of the month?" ("base", xpos="far_left", ypos="head") - her "Our next class period!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Our next class period!" ("angry", "narrow", "annoyed", "mid") gen "Oh, that makes more sense." ("base", xpos="far_left", ypos="head") play sound "sounds/cloth_sound3.ogg" $ hermione.wear("top") with d3 - her "..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "R") gen "So, the vibrators turned on during your break?" ("base", xpos="far_left", ypos="head") - her "No, they didn't turn on before our next class either." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "No, they didn't turn on before our next class either." ("open", "closed", "base", "mid") gen "I'm relieved, that would've been pretty anticlimactic..." ("base", xpos="far_left", ypos="head") # Charms - her "So, I begrudgingly made my way to charms--" ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "So, I begrudgingly made my way to charms--" ("open", "closed", "worried", "mid") gen "(Bet she's never said that before.)" ("base", xpos="far_left", ypos="head") - her "--Which is the class I was most worried about." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "--Which is the class I was most worried about." ("disgust", "narrow", "base", "mid") gen "What's so bad about Charms?" ("base", xpos="far_left", ypos="head") - her "Professor Flitwick!" ("angry", "base", "base", "mid", cheeks="blush") - her "With how short he is, I was worried he'd see the vibrator from underneath my skirt." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Professor Flitwick!" ("angry", "base", "base", "mid") + her @ cheeks blush "With how short he is, I was worried he'd see the vibrator from underneath my skirt." ("open", "squint", "base", "mid") gen "See it? You're not expecting extra points for going commando, are you?" ("base", xpos="far_left", ypos="head") - her "He'd see it bulging out inside of my panties!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "He'd see it bulging out inside of my panties!" ("angry", "narrow", "annoyed", "mid") gen "Right, so you're worried he'd think you've grown a--" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "annoyed", "mid", cheeks="blush") #annoyed + her @ cheeks blush "..." ("disgust", "narrow", "annoyed", "mid") #annoyed gen "*Ahem*... Please continue..." ("base", xpos="far_left", ypos="head") - her "Well, luckily it never came to that." ("open", "narrow", "base", "R", cheeks="blush") - her "He had one of the other students help him with today's demonstration for once, so today was a safe day." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Well, luckily it never came to that." ("open", "narrow", "base", "R") + her @ cheeks blush "He had one of the other students help him with today's demonstration for once, so today was a safe day." ("open", "closed", "base", "mid") gen "You've already said as much." ("base", xpos="far_left", ypos="head") gen "But, enough with the build up..." ("base", xpos="far_left", ypos="head") - her "I'm getting there!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") - her "I'm just--{w=0.2} Well, I wanted you to know what went through my head before... You know." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I'm getting there!" ("angry", "narrow", "annoyed", "mid") + her @ cheeks blush "I'm just--{w=0.2} Well, I wanted you to know what went through my head before... You know." ("angry", "narrow", "base", "R") gen "Fine, if it makes you feel better, go ahead." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "closed", "base", "mid", cheeks="blush") #annoyed - her "So, Charms finished and we went for lunch." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "closed", "base", "mid") #annoyed + her @ cheeks blush "So, Charms finished, and we went for lunch." ("open", "closed", "base", "mid") gen "We? Who's we?" ("base", xpos="far_left", ypos="head") - her "Me and my friends..." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Me and my friends..." ("open", "squint", "base", "mid") gen "Oh, right..." ("base", xpos="far_left", ypos="head") gen "(I keep forgetting that the nerdy girl archetype has actual friends in this universe...)" ("base", xpos="far_left", ypos="head") #Lunch - her "So, we had our lunch... And whilst chatting with my friends I sort of forgot I was even wearing them... The vibrators I mean." ("open", "squint", "worried", "R", cheeks="blush") - her "Which, thinking back on it, I'm sure was your intention this whole damn time..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "So, we had our lunch... And whilst chatting with my friends, I sort of forgot I was even wearing them... The vibrators, I mean." ("open", "squint", "worried", "R") + her @ cheeks blush "Which, thinking back on it, I'm sure was your intention this whole damn time..." ("open", "narrow", "base", "mid") gen "You caught me." ("base", xpos="far_left", ypos="head") gen "(Probably shouldn't tell her I was sleeping the entire time...)" ("base", xpos="far_left", ypos="head") - her "So, when they decided to go outside and play some {i}gobstones{/i}, they asked me to join them, so I accompanied them as usual." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "So, when they decided to go outside and play some {i}gobstones{/i}, they asked me to join them, so I accompanied them as usual." ("open", "squint", "base", "R") - call play_music("stop") + stop music fadeout 1 stop weather fadeout 4 show screen blkfade @@ -2482,8 +2476,8 @@ label hg_vibrators_public_return: hide screen blkfade with d5 - call play_music("playful_tension") # SEX THEME. - play background "sounds/day.ogg" fadein 2 fadeout 2 + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + play weather "sounds/day.ogg" fadein 2 fadeout 2 gen "I see...{w=0.4} Hold on, this was just past lunchtime you said?" ("base", xpos="far_left", ypos="head") her "Yes..." ("base", "base", "base", "mid") @@ -2498,11 +2492,11 @@ label hg_vibrators_public_return: call her_walk("mid", "base", action="enter") gen "Welcome back." ("base", xpos="far_left", ypos="head") - her "Good evening, [genie_name]..." ("open", "squint", "base", "mid", cheeks="blush", xpos="base", ypos="base") + her @ cheeks blush "Good evening, [name_genie_hermione]..." ("open", "squint", "base", "mid", xpos="base", ypos="base") gen "How was your day? Did you have another fun trip?" ("base", xpos="far_left", ypos="head") - her "Depends on your definition of fun I guess..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Depends on your definition of fun I guess..." ("open", "squint", "base", "R") gen "A day full of sexual tension." ("grin", xpos="far_left", ypos="head") - her "In that case, I guess it fits the description..." ("soft", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "In that case, I guess it fits the description..." ("soft", "closed", "base", "mid") play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") @@ -2511,14 +2505,14 @@ label hg_vibrators_public_return: gen "Oh, goodie!" ("base", xpos="far_left", ypos="head") gen "Tell me all about it!" ("base", xpos="far_left", ypos="head") - her "Well..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well..." ("open", "narrow", "base", "down") play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom") with d3 - her "It all began at lunch..." ("open", "squint", "base", "mid", cheeks="blush") - her "Since you had instructed me to accompany my friends, I had to try and convince them to go outside again today..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "It all began at lunch..." ("open", "squint", "base", "mid") + her @ cheeks blush "Since you had instructed me to accompany my friends, I had to try and convince them to go outside again today..." ("open", "squint", "base", "R") play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") @@ -2528,9 +2522,9 @@ label hg_vibrators_public_return: $ hermione.strip("accessory0") with d3 - her "It was a bit difficult, initially they were planning to play wizard chess, so I had to really wrack my brain to find a good reason why they should play gobstones instead." ("angry", "closed", "base", "R", cheeks="blush") + her @ cheeks blush "It was a bit difficult, initially they were planning to play wizard chess, so I had to really rack my brain to find a good reason why they should play gobstones instead." ("angry", "closed", "base", "R") gen "But you succeeded?" ("base", xpos="far_left", ypos="head") - her "After some convincing, yes." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "After some convincing, yes." ("open", "narrow", "base", "mid") play sound "sounds/cloth_sound3.ogg" $ hermione.equip(her_bra_base1) @@ -2538,7 +2532,7 @@ label hg_vibrators_public_return: pause 1 gen "Gotta use those assets to the fullest! Just as I taught--" ("base", xpos="far_left", ypos="head") #Joke on art assets - her "Thank you, I knew that \"Witch weekly\" article I read on the male psyche would come to good use." ("grin", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank you, I knew that \"Witch weekly\" article I read on the male psyche would come to good use." ("grin", "base", "base", "mid") gen "The what?" ("base", xpos="far_left", ypos="head") play sound "sounds/cloth_sound3.ogg" @@ -2553,7 +2547,7 @@ label hg_vibrators_public_return: show vibrators_floor at Transform(xpos=536, ypos=413, zoom=0.5) with d5 - her "\"Deciphering the male psyche\"." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "\"Deciphering the male psyche\"." ("open", "squint", "base", "mid") play sound "sounds/cloth_sound3.ogg" $ hermione.equip(her_panties_base1) @@ -2561,9 +2555,9 @@ label hg_vibrators_public_return: pause 1 gen "Is this from one of those gossip magazines nobody reads?" ("base", xpos="far_left", ypos="head") - her "...{w} Gossip magazines?!" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "...{w} Gossip magazines?!" ("angry", "base", "base", "mid") - her "I'll have you know that Witch Weekly is a very reputable paper!" ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I'll have you know that Witch Weekly is a very reputable paper!" ("open", "narrow", "annoyed", "mid") play sound "sounds/cloth_sound3.ogg" $ hermione.wear("bottom") @@ -2578,12 +2572,12 @@ label hg_vibrators_public_return: pause 1 gen "So, you used some mumbo-jumbo from the magazine to convince the boys to head outside again...?" ("base", xpos="far_left", ypos="head") - her "Yes, in short--" ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Yes, in short--" ("open", "narrow", "base", "R") - call play_music("stop") + stop music fadeout 1 stop weather fadeout 4 - #CG Hermione outside in courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression + #CG Hermione outside in the courtyard, in front of Harry and Ron who's playing Gobstones, base facial expression show screen blkfade with d5 @@ -2595,13 +2589,13 @@ label hg_vibrators_public_return: hide screen blkfade with d5 - call play_music("playful_tension") # SEX THEME. - play background "sounds/day.ogg" fadein 2 fadeout 2 + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. + play weather "sounds/day.ogg" fadein 2 fadeout 2 her "After some convincing, my friends and I finally made our way outside into the courtyard..." ("base", "base", "base", "mid") her "Just as we were about to sit down, suddenly, the vibrators turned on." ("base", "base", "base", "mid") - # This section has a different endings depending on the player choices. + # This section has a different ending, depending on the player's choices. #Optimal order is Medium > Low > High $ _vibrator_last = None @@ -2620,7 +2614,7 @@ label hg_vibrators_public_return: show vibrator_interface vibration_high high_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" # Worst option @@ -2630,14 +2624,14 @@ label hg_vibrators_public_return: # TODO sounds - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: # First time her "Since I had forgotten about them, I yelped out in surprise, and my friends stopped and looked at me." else: # Repeat her "Even though I was expecting it this time, I was not ready for you to switch it on to the high setting so quickly." - her "I tried to stifle myself but my gasp had the boys look towards me suspiciously." + her "I tried to stifle myself, but my gasp had the boys look towards me suspiciously." show her_vibrators_public eyebrows_neutral eyes_sad mouth_open npc_sus_ron as xray_child show her_vibrators_public_proxy eyebrows_neutral eyes_sad mouth_open npc_sus_ron as xray_overlay @@ -2664,15 +2658,15 @@ label hg_vibrators_public_return: her "At least I think they did, as they went back to their game..." gen "Smooth..." - her "Thank you, [genie_name]." - gen "So, how did it feel like?" + her "Thank you, [name_genie_hermione]." + gen "So, how did it feel?" show her_vibrators_public eyes_sad as xray_child show her_vibrators_public_proxy eyes_sad as xray_overlay her "You mean the vibrators?" gen "I mean you standing there... In front of your friends, vibrators going ham on your pussy--" - her "[genie_name]!" + her "[name_genie_hermione]!" gen "Sorry--" gen "Your pussy, {size=+5}and{/size} tits." her "Do you have to be so vulgar..." @@ -2695,12 +2689,12 @@ label hg_vibrators_public_return: show vibrator_interface vibration_medium medium_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" show her_vibrators_public nude eyebrows_surprised eyes_forward mouth_shocked as xray_child show her_vibrators_public_proxy eyebrows_surprised eyes_forward mouth_shocked as xray_overlay - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: her "As they turned on, I was quickly brought back to reality, remembering our \"agreement\"..." else: her "Surprised it had already started, I readied myself for the worst..." @@ -2711,7 +2705,7 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy blush_heavy eyebrows_worried mouth_lip_bite as xray_overlay gen "*Hmm*...{w=0.4} Well, you can't always control these things." - her "I would've been able to, if you had let me use the controller, [genie_name]..." + her "I would've been able to, if you had let me use the controller, [name_genie_hermione]..." gen "Guilty..." her "After a couple of seconds, I realised what I was doing." @@ -2732,7 +2726,7 @@ label hg_vibrators_public_return: show her_vibrators_public eyes_closed mouth_lip_bite as xray_child show her_vibrators_public_proxy eyes_closed mouth_lip_bite as xray_overlay - her "Still... I was having my privates stimulated in front of my friends, so I couldn't help but feel bit anxious." + her "Still... I was having my privates stimulated in front of my friends, so I couldn't help but feel a bit anxious." gen "Guilty that they were missing all the fun no doubt." her "That's not what I meant!" @@ -2740,20 +2734,20 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy eyes_down as xray_overlay her "I was feeling anxious because they might find out what I've been putting myself through for the sake of our house!" - gen "I see... So not only were they missing all the fun, but also all the points they could earn while doing some favours." + gen "I see... So, not only were they missing all the fun, but also all the points they could earn while doing some favours." her "..." ("base", "base", "base", "mid") show her_vibrators_public eyes_sad as xray_child show her_vibrators_public_proxy eyes_sad as xray_overlay - her "[genie_name], you might be seeing all this as just some light-hearted fun, but I can assure you that they would not see it in the same light." + her "[name_genie_hermione], you might be seeing all this as just some light-hearted fun, but I can assure you that they would not see it in the same light." gen "Your view is based on your idealised version of your friends, or the reality?" her "The reality!" show her_vibrators_public eyes_closed as xray_child show her_vibrators_public_proxy eyes_closed as xray_overlay - gen "Sure, if you say so, [hermione_name]." + gen "Sure, if you say so, [name_hermione_genie]." her "..." her "Either way, I didn't have much time to think about my rising anxiousness..." gen "Right, so that's when I--" @@ -2766,19 +2760,19 @@ label hg_vibrators_public_return: show vibrator_interface vibration_low low_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" show her_vibrators_public nude eyebrows_worried mouth_open as xray_child show her_vibrators_public_proxy eyebrows_worried mouth_open as xray_overlay - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: her "Yes...{w=0.4} Luckily, it was just low enough not to startle me and cast suspicion..." her "At first it didn't feel as if what was happening was real, but it soon dawned on me what a terrible situation I had put myself in." show her_vibrators_public nude blush_heavy mouth_lip_bite eyes_left as xray_child show her_vibrators_public_proxy blush_heavy mouth_lip_bite eyes_left as xray_overlay - her "I was standing outside, in the middle of a courtyard, my friends right in front me as the vibrators had began shaking against my private parts..." + her "I was standing outside, in the middle of a courtyard, my friends right in front me as the vibrators had begun shaking against my private parts..." her "Of course... Knowing you, I had no doubts it had only just begun and there was more to come." gen "You've got me all figured out, huh." her "*Hmph*..." @@ -2791,7 +2785,7 @@ label hg_vibrators_public_return: her "It brought my last experience back to life again, and I started doubting if it was a wise decision to put myself through this again." gen "Surely you weren't considering missing out on, possibly, one of the best orgasms of your life." her "I would never be concerned about missing out on such a thing!" - gen "Right, of course. There no way that would happen on my watch." + gen "Right, of course. There's no way that would happen on my watch." her "..." gen "And then what?" @@ -2802,16 +2796,16 @@ label hg_vibrators_public_return: gen "You didn't try running off, did you?" her "..." her "No, I didn't run off..." - gen "There's no need to be embarrassed [hermione_name], completing the task I requested shows your determination and character." + gen "There's no need to be embarrassed [name_hermione_genie], completing the task I requested shows your determination and character." her "Thanks, I suppose..." show her_vibrators_public eyebrows_neutral eyes_crossed as xray_child show her_vibrators_public_proxy eyebrows_neutral eyes_crossed as xray_overlay gen "That character, of course, being a complete slut who enjoys getting off in front of her friends!" - her "[genie_name]!" + her "[name_genie_hermione]!" her "..." - her "I--{w=0.2} I don't appreciate you belittling me, [genie_name]..." + her "I--{w=0.2} I don't appreciate you belittling me, [name_genie_hermione]..." gen "You're in the wrong if that's what you've got out of my words." gen "Belittling is... {w=0.4}below me..." her "..." #Yeah right @@ -2821,11 +2815,11 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy mouth_lip_bite eyes_big_crossed as xray_overlay her "..." - gen "Now, speak the truth... You were enjoying it weren't you?" + gen "Now, speak the truth... You were enjoying it, weren't you?" her "I--" her "I was not!" gen "(She's such a know-it-all, yet she never learns...)" - gen "Alright then... Let's keep playing your game, [hermione_name]." + gen "Alright then... Let's keep playing your game, [name_hermione_genie]." gen "Tell me, if you weren't enjoying yourself, why didn't you just run off when you had the chance?" show her_vibrators_public eyebrows_upset eyes_closed as xray_child @@ -2839,7 +2833,7 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy eyes_clenched as xray_overlay her "All these thoughts were racing through my head, and I didn't know what to do, I could barely control my body." - gen "Right, that's very relatable and all but--" + gen "Right, that's very relatable and all, but--" her "It's the truth!" gen "Sure, sure, I believe you..." gen "So, what were these \"things\" going through your head exactly?" @@ -2855,7 +2849,7 @@ label hg_vibrators_public_return: show her_vibrators_public eyebrows_worried eyes_down as xray_child show her_vibrators_public_proxy eyebrows_worried eyes_down as xray_overlay - her "I thought that if I had ran off, you wouldn't pay me and it would all be for naught..." + her "I thought that if I had run off, you wouldn't pay me, and it would all be for naught..." her "Although, I didn't have much time to consider my options as the decision was being made for me..." gen "Made for--" gen "Oh, I see." @@ -2872,7 +2866,7 @@ label hg_vibrators_public_return: show vibrator_interface vibration_high high_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" show her_vibrators_public eyebrows_surprised mouth_shocked eyes_crossed as xray_child show her_vibrators_public_proxy eyebrows_surprised mouth_shocked eyes_crossed as xray_overlay @@ -2890,7 +2884,7 @@ label hg_vibrators_public_return: her "At first I couldn't move due to the shock, but at that point I could feel my legs starting to shake for... {w=0.25}Other reasons..." gen "What other reasons?" her "Well..." - gen "Come on, [hermione_name]... We all know what you're here for." + gen "Come on, [name_hermione_genie]... We all know what you're here for." her "Fine--" else: # Strength was set to medium. @@ -2911,12 +2905,12 @@ label hg_vibrators_public_return: her "I was getting a bit excited, okay?" gen "*Heh-heh*..." - gen "So, what were the boys doing? Surely they must've noticed their friend going delirious?" + gen "So, what were the boys doing? Surely, they must've noticed their friend going delirious?" her "At that point, it was difficult to tell, they were too busy playing with their balls..." ("open", "closed", "base", "mid") #Could cut back to room screen - stop bg_sounds fadeout 2 + stop background fadeout 2 stop background fadeout 2 hide cg with fade @@ -2926,25 +2920,24 @@ label hg_vibrators_public_return: gen "{size=+4}In the middle of the courtyard?! At {b}my{/b} school?!{/size}" ("angry", xpos="far_left", ypos="head") her "Where else should they do it?" ("angry", "base", "base", "mid") gen "The bathroom?! Their dorm? Anywhere but the courtyard!" ("angry", xpos="far_left", ypos="head") - her "But [genie_name], students have been doing it in the courtyard for generations!" ("clench", "base", "worried", "mid") + her "But [name_genie_hermione], students have been doing it in the courtyard for generations!" ("clench", "base", "worried", "mid") gen "Watching them gobbling stones is one thing, but since when was \"ballplay\" in the courtyard acceptable?" ("angry", xpos="far_left", ypos="head") - her "Ballpl--{w=0.4} [genie_name]... I'm talking about the gobstone balls!" ("open", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Ballpl--{w=0.4} [name_genie_hermione]... I'm talking about the gobstone balls!" ("open", "base", "annoyed", "mid") gen "Gob-- Oh!" ("base", xpos="far_left", ypos="head") - gen "(The naming conventions makes no sense in this universe...)" ("base", xpos="far_left", ypos="head") + gen "(The naming conventions make no sense in this universe...)" ("base", xpos="far_left", ypos="head") gen "It should be named something different then, like \"Gob-balls\"! {w=0.3}Or something..." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "mid") gen "Actually, that sounds even more confusing..." ("base", xpos="far_left", ypos="head") gen "What were we talking about again?" ("base", xpos="far_left", ypos="head") - her "Balls?" ("disgust", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Balls?" ("disgust", "base", "base", "mid") gen "That's not it..." ("base", xpos="far_left", ypos="head") gen "Oh, I remember! Your quaking loin and shaking groin!" ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmph*..." ("disgust", "narrow", "base", "R") #Cut back to CG show her_vibrators_public_xray zorder 15 as cg - play background "sounds/day.ogg" fadein 2 fadeout 2 - play bg_sounds "sounds/vibrator_high.ogg" fadein 2 - stop weather fadeout 4 + play weather "sounds/day.ogg" fadein 2 fadeout 2 + play background "sounds/vibrator_high.ogg" fadein 2 with fade gen "So, the vibrators were going at full force on your breasts and pussy, yet the boys didn't suspect a thing?" @@ -2982,7 +2975,7 @@ label hg_vibrators_public_return: show her_vibrators_public -npc_sus_ron as xray_child show her_vibrators_public_proxy -npc_sus_ron as xray_overlay - her "Even after he went back focusing on their game... He kept glancing over at me every once in a while." + her "Even after he went back to focusing on their game... He kept glancing over at me every once in a while." her "Which did make things much more difficult, every time he looked over, I'm sure my expression changed into some stupid grimace, trying to cover for what was going on." gen "I'm sure it made things harder alright..." her "Yes... My situation was getting rocky by the minute, all I could concentrate on was trying to stand as still and be as quiet as possible..." @@ -3004,12 +2997,12 @@ label hg_vibrators_public_return: gen "Alright, alright..." gen "Please continue." her "I don't know if I feel like it, if you're going to continue making these wild accusations..." - gen "You're the one that started talking about balls and boners... I hardly have any interest in such things... {w=0.3}Unless it's my own that is." + gen "You're the one eho started talking about balls and boners... I hardly have any interest in such things... {w=0.3}Unless it's my own, that is." her "..." gen "Now then, tell me more about how you, {i}DID NOT{/i} get off from your friend watching you." her "*Sigh*..." - her "Well... At that point the intensity changed again." + her "Well... At that point, the intensity changed again." gen "Oh right, I--" $ _vibrator_last = "high" @@ -3020,7 +3013,7 @@ label hg_vibrators_public_return: show vibrator_interface vibration_medium medium_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" if _vibrator_last == "high": # Strength was set to high before. @@ -3029,7 +3022,7 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy eyebrows_neutral eyes_sad effects_shaky_legs as xray_overlay her "Yes, with the intensity going down, I could feel my legs quaking. I had to coax myself from falling to my knees." - her "It was as if I had been thrown into a cold lake and my body were only just beginning to get used to the temperature." + her "It was as if I had been thrown into a cold lake and my body was only just beginning to get used to the temperature." her "Well, to be honest, I'm not sure what I was feeling." gen "Intense pleasure? Anticipation?" gen "Wait, I know!" @@ -3088,7 +3081,7 @@ label hg_vibrators_public_return: show vibrator_interface vibration_low low_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" show her_vibrators_public eyebrows_neutral eyes_forward mouth_open as xray_child show her_vibrators_public_proxy eyebrows_neutral eyes_forward mouth_open as xray_overlay @@ -3100,7 +3093,7 @@ label hg_vibrators_public_return: show her_vibrators_public eyes_closed mouth_neutral as xray_child show her_vibrators_public_proxy eyes_closed mouth_neutral as xray_overlay - her "It was just enough for me to enjoy myself and at the same time, not have to worry about being caught." + her "It was just enough for me to enjoy myself, and at the same time, not have to worry about being caught." else: # Strength was set to high before. @@ -3108,7 +3101,7 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy eyes_down mouth_neutral as xray_overlay her "After the initial shock, it was finally at a level where I could at the very least lose any suspicion they might've gained towards me..." - her "At first, they just looked over me every once in a while, as if wanting to check up on me, but soon enough they were fully engrossed in their silly game as usual." + her "At first, they just looked over at me every once in a while, as if wanting to check up on me, but soon enough they were fully engrossed in their silly game as usual." show her_vibrators_public eyebrows_worried eyes_closed as xray_child show her_vibrators_public_proxy eyebrows_worried eyes_closed as xray_overlay @@ -3119,7 +3112,7 @@ label hg_vibrators_public_return: her "I must admit, it was a quite pleasant feeling... Standing outside, the warm sun against my back... Listening to the sounds of my friends enjoying themselves." her "The fact that they were there with me the entire time, it made me feel as if we were sharing this feeling." her "Even if in reality, they weren't aware of anything that was going on..." - gen "Feeling comfortable around your friends is very important, [hermione_name]." + gen "Feeling comfortable around your friends is very important, [name_hermione_genie]." her "*Hmm*... Yes, although I don't think this is the kind of comfort you're meant to feel around your friends..." gen "Unless benefits are added to the equation..." @@ -3133,13 +3126,13 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy wetness_vagina as xray_overlay her "I could also feel that I was getting even wetter by the minute..." - her "Not to the point where it was out of my control of course but..." + her "Not to the point where it was out of my control, of course, but..." gen "Of course." show her_vibrators_public eyebrows_worried eyes_sad as xray_child show her_vibrators_public_proxy eyebrows_worried eyes_sad as xray_overlay - her "My breath began to quicken slightly but I managed to keep it in check, only looking over every once in a while to make sure they weren't suspecting anything." + her "My breath began to quicken slightly, but I managed to keep it in check, only looking over every once in a while to make sure they weren't suspecting anything." her "And that's when you--" her "You--" gen "Don't tell me..." @@ -3156,13 +3149,13 @@ label hg_vibrators_public_return: show vibrator_interface vibration_high high_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_high.ogg" + play background "sounds/vibrator_high.ogg" if _vibrator_last == "medium": # Strength was set to medium before. # Vagina is wet - # This is the second best ending. Hermione cums once but she manages to hide it from her friends. + # This is the second best ending. Hermione cums once, but she manages to hide it from her friends. show her_vibrators_public eyebrows_worried eyes_clenched mouth_lip_bite effects_shaky_legs as xray_child show her_vibrators_public_proxy eyebrows_worried eyes_clenched mouth_lip_bite effects_shaky_legs as xray_overlay @@ -3198,7 +3191,7 @@ label hg_vibrators_public_return: show screen blkfade play sound "sounds/click4.ogg" - stop bg_sounds + stop background stop background stop music fadeout 1.0 hide vibrator_interface @@ -3211,58 +3204,58 @@ label hg_vibrators_public_return: with d3 gen "And...{w=0.4} What happened next?" ("base", xpos="far_left", ypos="head") - her "Well..." ("angry", "closed", "base", "mid", cheeks="blush") - her "At first I felt fulfilled, almost happy, and bold, I somehow managed to get away without being caught." ("angry", "narrow", "base", "down", cheeks="blush") - her "But that feeling was quickly replaced with shame..." ("angry", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "Well..." ("angry", "closed", "base", "mid") + her @ cheeks blush "At first I felt fulfilled, almost happy, and bold, I somehow managed to get away without being caught." ("angry", "narrow", "base", "down") + her @ cheeks blush "But that feeling was quickly replaced with shame..." ("angry", "closed", "worried", "mid") gen "Shame?" ("base", xpos="far_left", ypos="head") - her "Yes, shame!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") - her "This was {b}the{/b} line I couldn't and shouldn't cross, but yet--" ("disgust", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "Yes, shame!" ("angry", "narrow", "annoyed", "mid") + her @ cheeks blush "This was {b}the{/b} line I couldn't and shouldn't cross, but yet--" ("disgust", "narrow", "worried", "mid") gen "Says who?" ("base", xpos="far_left", ypos="head") - her "Says me!" ("scream", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Says me!" ("scream", "narrow", "annoyed", "mid") gen "..." ("angry", xpos="far_left", ypos="head") - gen "I mean...{w=0.4} You got away with it, didn't you? Surely it's not such a big deal." ("base", xpos="far_left", ypos="head") - her "It is a big deal!" ("angry", "base", "annoyed", "mid", cheeks="blush") - her "I'm constantly doing all these deplorable things, way beyond anything I thought I'd ever do, and this is just another step in that direction." ("angry", "narrow", "worried", "R", cheeks="blush") + gen "I mean...{w=0.4} You got away with it, didn't you? Surely, it's not such a big deal." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It is a big deal!" ("angry", "base", "annoyed", "mid") + her @ cheeks blush "I'm constantly doing all these deplorable things, way beyond anything I thought I'd ever do, and this is just another step in that direction." ("angry", "narrow", "worried", "R") menu: gen "..." ("base", xpos="far_left", ypos="head") "-Agree with her-": gen "Maybe you're right." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("angry", "narrow", "base", "mid") gen "The line never mattered at all." ("base", xpos="far_left", ypos="head") - her "How could you say such a thing!?" ("angry", "squint", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "How could you say such a thing!?" ("angry", "squint", "annoyed", "mid") gen "Isn't that what you just said?" ("base", xpos="far_left", ypos="head") - her "Yes, but you're not supposed to agree with me!" ("open", "narrow", "annoyed", "mid", cheeks="blush") - gen "Why not? It's true isn't it?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, but you're not supposed to agree with me!" ("open", "narrow", "annoyed", "mid") + gen "Why not? It's true, isn't it?" ("base", xpos="far_left", ypos="head") gen "In any case, I don't see how it affects anything." ("base", xpos="far_left", ypos="head") gen "Lines are meant to be crossed, it's how we achieve our true potential." ("base", xpos="far_left", ypos="head") - her "But I didn't cross the line! They didn't see!" ("angry", "squint", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "But I didn't cross the line! They didn't see!" ("angry", "squint", "annoyed", "mid") gen "It's just a matter of time, either you'll cross that imaginary line or you'll move it forward just enough to tell yourself you never did." ("base", xpos="far_left", ypos="head") - her "I-- Well-- *Hmph*... I'd never..." ("open", "narrow", "annoyed", "R", cheeks="blush") #blushing looking away + her @ cheeks blush "I-- Well-- *Hmph*... I'd never..." ("open", "narrow", "annoyed", "R") #blushing looking away gen "Keep telling yourself that." ("base", xpos="far_left", ypos="head") gen "Anyhow, your story was satisfying, I think that shall do for today." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "down", cheeks="blush") #looks down still blushing + her @ cheeks blush "..." ("annoyed", "narrow", "base", "down") #looks down still blushing "-Disagree with her-": gen "You didn't cross the line." ("base", xpos="far_left", ypos="head") - her "I think I did..." ("angry", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "I think I did..." ("angry", "narrow", "worried", "R") gen "You don't want your friends to know what you're doing to earn points for your house, correct?" ("base", xpos="far_left", ypos="head") - her "I...{w=0.4} Yes?" ("open", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "I...{w=0.4} Yes?" ("open", "base", "worried", "mid") gen "Then what does that have to do with you cumming in front of them?" ("base", xpos="far_left", ypos="head") - her "But--{w=0.2} Well, I suppose it's not exactly..." ("disgust", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "But--{w=0.2} Well, I suppose it's not exactly..." ("disgust", "squint", "worried", "mid") gen "Exactly what?" ("base", xpos="far_left", ypos="head") - her "Well, I still don't want them to find out that I--" ("open", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "Well, I still don't want them to find out that I--" ("open", "squint", "worried", "R") gen "That you're what?" ("base", xpos="far_left", ypos="head") gen "A slut?" ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "wide", "base", "mid") gen "I'm sure they wouldn't mind, or maybe they would even be happy to know that you're available to them at any time." ("base", xpos="far_left", ypos="head") - her "But that's so wrong..." ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "But that's so wrong..." ("angry", "squint", "worried", "mid") gen "Is it, though? Sharing is caring." ("base", xpos="far_left", ypos="head") gen "In any case, I think we're done here for today." ("base", xpos="far_left", ypos="head") - her "*Ehm*... [genie_name]..." ("disgust", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ehm*... [name_genie_hermione]..." ("disgust", "squint", "worried", "mid") gen "Yes, slut?" ("base", xpos="far_left", ypos="head") - her "... I-- I was just..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "... I-- I was just..." ("angry", "narrow", "base", "down") else: # Strength was set to low before # This is the best ending. Hermione cums multiple times and the boys take notice, but she gets away with it. @@ -3276,14 +3269,14 @@ label hg_vibrators_public_return: show her_vibrators_public wetness_legs npc_shock_ron npc_shock_harry as xray_child show her_vibrators_public_proxy wetness_legs npc_shock_ron npc_shock_harry as xray_overlay - her "As wave after wave hit me the only thing I could hear was my friends gasps, which in the moment, only made the sensation so much stronger." + her "As wave after wave hit me the only thing I could hear was my friend's gasps, which at that moment, only made the sensation so much stronger." show her_vibrators_public eyes_clenched mouth_lip_bite as xray_child show her_vibrators_public_proxy eyes_clenched mouth_lip_bite as xray_overlay her "I tried to control myself, but my attempts were futile, my excitement kept flowing down my shaky thighs." - her "I could feel each and every pulse across my entire body, first it spread out from my head, then breasts, going down to my legs, and all the way out to my toes." - gen "Damn, you go girl!" + her "I could feel each and every pulse across my entire body, first it spread out from my head, then across my breasts, down to my legs, and all the way out to my toes." + gen "Damn, you go, girl!" show her_vibrators_public eyebrows_neutral eyes_ahegao as xray_child show her_vibrators_public_proxy eyebrows_neutral eyes_ahegao as xray_overlay @@ -3309,12 +3302,12 @@ label hg_vibrators_public_return: play sound "sounds/fall.ogg" with hpunch - her "My legs finally buckled, as orgasm, after orgasm had finally took its toll on my body." - her "My friends seeing this, yelped out in shock, calling my name again." - her "And after sitting down on my knees in a moment that felt like eternity, I finally slumped to the floor and everything went dark." - her "The only thing I could remember before passing out were the vibrators, finally coming to a stop..." ("angry", "narrow", "base", "down", cheeks="blush") + her "My legs finally buckled, as orgasm, after orgasm, had finally taken its toll on my body." + her "My friends, seeing this, yelped out in shock, and called my name again." + her "And after sitting down on my knees for a moment that felt like an eternity, I finally slumped to the floor and everything went dark." + her @ cheeks blush "The only thing I could remember before passing out were the vibrators, finally coming to a stop..." ("angry", "narrow", "base", "down") - stop bg_sounds fadeout 2 + stop background fadeout 2 stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface @@ -3324,22 +3317,22 @@ label hg_vibrators_public_return: gen "That's one hell of an orgasm... And here I thought I took that crown." ("base", xpos="far_left", ypos="head") gen "So, is this like a bad ending or what?" ("base", xpos="far_left", ypos="head") - her "A bad ending?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "A bad ending?" ("angry", "base", "base", "mid") gen "Didn't they realise what happened to you? Wait, surely you wouldn't be here telling me all this if that was the case." ("base", xpos="far_left", ypos="head") - her "Well, you know how I said I thought one of them looked over at me?" ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Well, you know how I said I thought one of them looked over at me?" ("open", "squint", "base", "R") gen "Yeah?" ("base", xpos="far_left", ypos="head") - her "Well, it turns out they had been worried about me." ("angry", "narrow", "base", "down", cheeks="blush") - her "Apparently, they had been checking in on me the entire day, feeling something was off." ("soft", "narrow", "base", "down", cheeks="blush") - her "I had obviously not been acting myself that day during our lessons..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well, it turns out they had been worried about me." ("angry", "narrow", "base", "down") + her @ cheeks blush "Apparently, they had been checking in on me the entire day, feeling something was off." ("soft", "narrow", "base", "down") + her @ cheeks blush "I had obviously not been acting myself that day during our lessons..." ("open", "narrow", "base", "down") - if not her_vibrators_public_stage == 2: - her "No raising my hand during transfiguration, no helping out with demonstrations during charms..." ("open", "closed", "base", "mid", cheeks="blush") - her "So, the reason why they kept looking over was to make sure I was okay." ("annoyed", "closed", "base", "mid", cheeks="blush") + if not states.her.ev.vibrators.public_stage == 2: + her @ cheeks blush "No raising my hand during transfiguration, no helping out with demonstrations during charms..." ("open", "closed", "base", "mid") + her @ cheeks blush "So, the reason why they kept looking over was to make sure I was okay." ("annoyed", "closed", "base", "mid") - her "Of course they wouldn't expect that the reason I wasn't acting myself was because I had strapped vibrators on my body!" ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Of course they wouldn't expect that the reason I wasn't acting myself was because I had strapped vibrators on my body!" ("open", "closed", "base", "mid") gen "*Hmm*... I'm beginning to understand why women think that men are completely oblivious creatures..." ("base", xpos="far_left", ypos="head") - gen "Very well [hermione_name], that shall very much do for today." ("base", xpos="far_left", ypos="head") - her "Oh, okay then..." ("soft", "narrow", "base", "down", cheeks="blush") + gen "Very well [name_hermione_genie], that shall very much do for today." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, okay then..." ("soft", "narrow", "base", "down") $ _vibrator_last = "high" @@ -3349,7 +3342,7 @@ label hg_vibrators_public_return: show vibrator_interface vibration_medium medium_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_medium.ogg" + play background "sounds/vibrator_medium.ogg" if _vibrator_last == "low": # Strength was set to low before. @@ -3375,7 +3368,7 @@ label hg_vibrators_public_return: show her_vibrators_public_proxy eyes_left mouth_neutral as xray_overlay her "Trying to pull myself together, I only managed to muster an apologetic smile and stammer how close of a call it was..." - gen "To cum all over them you mean?" + gen "To cum all over them, you mean?" her "No, I meant their game..." show her_vibrators_public mouth_lip_bite as xray_child @@ -3434,9 +3427,8 @@ label hg_vibrators_public_return: her "I don't think I've ever had to endure anything as agonizing..." her "Never in my life have I been so close to a point where I would happily throw myself at the first person to promise me a release..." her "Never ever been so close..." - her "...{w=0.4} *Ahem*." ("angry", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "...{w=0.4} *Ahem*." ("angry", "squint", "base", "R") - stop bg_sounds fadeout 2 stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface @@ -3446,16 +3438,16 @@ label hg_vibrators_public_return: gen "..." ("base", xpos="far_left", ypos="head") - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: gen "No wonder you went off like a fire hose the moment you got in here." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") else: gen "You know, I could flip that switch right now..." ("base", xpos="far_left", ypos="head") - her "Really?" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Really?" ("open", "base", "base", "mid") gen "Unfortunately it's not part of today's agenda, but maybe next time." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "base", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "base", "base", "R") - gen "Very well [hermione_name], I think that shall do for today." ("base", xpos="far_left", ypos="head") + gen "Very well [name_hermione_genie], I think that shall do for today." ("base", xpos="far_left", ypos="head") else: # Strength was set to high before #Hermione is denied an orgasm, the boys doesn't notice. @@ -3493,14 +3485,14 @@ label hg_vibrators_public_return: her "And I must mention, it is rather unusual for me to--" gen "Right, you're one of those \"Rinse and repeat\" kind of girls." her "*Hmph*... And what makes you say that?" - gen "Fine, you're a kinky girl that loves being edged and denied an orgasm." + gen "Fine, you're a kinky girl who loves being edged and denied an orgasm." her "That's not--" gen "Come on, just admit it..." her "Why would I...--" gen "Just say it...{w=0.4} I'll even give you some points if you do." her "I--{w=0.4} I am a kinky girl..." - gen "\"That...\"" - her "That loves being edged..." + gen "\"That\"..." + her "Who loves being edged..." her "...and denied an orgasm..." gen "Ten points to Gryffindor!" @@ -3513,7 +3505,7 @@ label hg_vibrators_public_return: show her_vibrators_public mouth_open effects_shaky_legs as xray_child show her_vibrators_public_proxy mouth_open effects_shaky_legs as xray_overlay - her "What--{w=0.2} Oh...{w=0.4} Well, it didn't stop there... My legs started shaking and the wetness continued trickling down my legs..." + her "What--{w=0.2} Oh...{w=0.4} Well, it didn't stop there... My legs started shaking, and the wetness continued trickling down my legs..." show her_vibrators_public mouth_lip_bite as xray_child show her_vibrators_public_proxy mouth_lip_bite as xray_overlay @@ -3524,10 +3516,10 @@ label hg_vibrators_public_return: show her_vibrators_public eyes_ahegao as xray_child show her_vibrators_public_proxy eyes_ahegao as xray_overlay - her "And just as I thought I wouldn't be able to hold it in anymore--" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "And just as I thought I wouldn't be able to hold it in anymore--" ("angry", "base", "base", "mid") play sound "sounds/click4.ogg" - stop bg_sounds + stop background stop background stop music fadeout 1.0 hide vibrator_interface @@ -3535,37 +3527,37 @@ label hg_vibrators_public_return: with fade call weather_sound - her "--The vibrators stopped..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "--The vibrators stopped..." ("angry", "narrow", "base", "down") gen "Denied! I bet you loved that!" ("grin", xpos="far_left", ypos="head") - her "I did not!" ("mad", "squint", "annoyed", "mid", cheeks="blush") - gen "You just admitted to liking it like a minute ago, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "You know, I only said that because you told me to!" ("angry", "closed", "annoyed", "mid", cheeks="blush") # Stutters because she does not believe her own words. + her @ cheeks blush "I did not!" ("mad", "squint", "annoyed", "mid") + gen "You just admitted to liking it like a minute ago, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You know, I only said that because you told me to!" ("angry", "closed", "annoyed", "mid") # Stutters because she does not believe her own words. - if not her_vibrators_public_stage == 2: + if not states.her.ev.vibrators.public_stage == 2: gen "Yeah, right!" ("base", xpos="far_left", ypos="head") gen "Even when I turned the vibrators on when you were on your way here--" ("base", xpos="far_left", ypos="head") gen "--which was totally on purpose, by the way--" ("base", xpos="far_left", ypos="head") gen "--You kept holding it in, walking from the courtyard all the way up and to my office!" ("base", xpos="far_left", ypos="head") gen "And now you're telling me, that you weren't enjoying it? You launched off like a nuclear missile as you came in, {i}AND{/i} in here!" ("base", xpos="far_left", ypos="head") # Pun - her "That has nothing to do with my supposed denial kink--" ("soft", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "That has nothing to do with my supposed denial kink--" ("soft", "narrow", "annoyed", "R") gen "Then next time I expect you to not hold back!" ("base", xpos="far_left", ypos="head") - her "Fine! I won't!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Fine! I won't!" ("angry", "narrow", "annoyed", "mid") gen "Great!" ("grin", xpos="far_left", ypos="head") - her "...{w=0.6}{nw}" ("base", "narrow", "base", "R", cheeks="blush") - her "...{fast} Wait, hold on..." ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "...{w=0.6}{nw}" ("base", "narrow", "base", "R") + her @ cheeks blush "...{fast} Wait, hold on..." ("angry", "wide", "base", "mid") gen "What is it now?" ("base", xpos="far_left", ypos="head") - her "*Hmph*...{w=0.4} Nothing..." ("angry", "narrow", "annoyed", "R", cheeks="blush") - gen "Good, then I think that shall do for today [hermione_name]." ("base", xpos="far_left", ypos="head") - her "" ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmph*...{w=0.4} Nothing..." ("angry", "narrow", "annoyed", "R") + gen "Good, then I think that shall do for today [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "" ("annoyed", "narrow", "base", "R") call ctc else: gen "If that's the case, why are your legs shaking?" ("base", xpos="far_left", ypos="head") - her "What?!" ("angry", "narrow", "annoyed", "down", cheeks="blush") #looks down + her @ cheeks blush "What?!" ("angry", "narrow", "annoyed", "down") #looks down gen "Got you." ("grin", xpos="far_left", ypos="head") - her "*Hmph*..." ("annoyed", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "*Hmph*..." ("annoyed", "narrow", "annoyed", "R") gen "Anyway, you can go finish yourself off in your dorms, I won't deny you any further..." ("base", xpos="far_left", ypos="head") gen "Unless that's what you're into..." ("grin", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "down") $ _vibrator_last = "medium" @@ -3575,7 +3567,7 @@ label hg_vibrators_public_return: show vibrator_interface vibration_low low_disabled play sound "sounds/click4.ogg" - play bg_sounds "sounds/vibrator_low.ogg" + play background "sounds/vibrator_low.ogg" # Hermione does not reach orgasm. if _vibrator_last == "medium": @@ -3597,7 +3589,6 @@ label hg_vibrators_public_return: her "It barely tickled!" gen "If you say so..." - stop bg_sounds fadeout 2 stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface @@ -3605,7 +3596,7 @@ label hg_vibrators_public_return: with fade call weather_sound - gen "Well then...{w=0.4} I suppose that shall do for now, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Well then...{w=0.4} I suppose that shall do for now, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: # Strength was set to high before. (second to worst ending) # Vagina is wet. @@ -3613,21 +3604,21 @@ label hg_vibrators_public_return: show her_vibrators_public eyebrows_neutral eyes_closed mouth_open as xray_child show her_vibrators_public_proxy eyebrows_neutral eyes_closed mouth_open as xray_overlay - her "Yes, at last the intensity went down and I let out a sigh of relief." + her "Yes, at last the intensity went down, and I let out a sigh of relief." show her_vibrators_public eyes_sad mouth_neutral as xray_child show her_vibrators_public_proxy eyes_sad mouth_neutral as xray_overlay - her "It was bad enough that I had gotten excited in front of my friends. I don't know what I would've done if I had went over the edge right in front of them..." - gen "(Damn, I hoped she would've be done by then...)" + her "The fact that I got excited in front of my friends was bad enough. I am not sure what I would have done if I had gone over the edge in front of them..." + gen "(Damn, I hoped she would've been done by then...)" show her_vibrators_public eyes_left mouth_open as xray_child show her_vibrators_public_proxy eyes_left mouth_open as xray_overlay her "The gentle vibrations carried on for quite a while, and didn't stop until the game was almost over." - her "If I was alone and in a private place, then maybe that would've been enough to push me over, but luckily for me, I managed to keep it together in front of the boys..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "If I was alone and in a private place, then maybe that would've been enough to push me over, but luckily for me, I managed to keep it together in front of the boys..." ("open", "narrow", "base", "down") - stop bg_sounds fadeout 2 + stop background fadeout 2 stop background fadeout 2 stop music fadeout 1.0 hide vibrator_interface @@ -3635,13 +3626,13 @@ label hg_vibrators_public_return: with fade call weather_sound - if not her_vibrators_public_stage == 2: - her "Of course, it only lasted until you turned them back on while I was on my way here..." ("soft", "narrow", "base", "down", cheeks="blush") + if not states.her.ev.vibrators.public_stage == 2: + her @ cheeks blush "Of course, it only lasted until you turned them back on while I was on my way here..." ("soft", "narrow", "base", "down") gen "What can I say, I like to keep you on your toes." ("grin", xpos="far_left", ypos="head") else: - her "Even though you did turn them off a while ago, I can almost feel the vibrations..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Even though you did turn them off a while ago, I can almost feel the vibrations..." ("soft", "narrow", "base", "down") gen "Oh don't worry, they will be back sooner or later, so be ready!" ("base", xpos="far_left", ypos="head") - her "Sooner or later--{w=0.2} A-Alright..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Sooner or later--{w=0.2} A-Alright..." ("angry", "narrow", "base", "mid") gen "Alas, I think that does it for today." ("base", xpos="far_left", ypos="head") $ _vibrator_last = "low" @@ -3652,34 +3643,34 @@ label hg_vibrators_public_return: hide xray_overlay if not her_outfit_vibrators.unlocked: - her "What about the... *Ehm*..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "What about the... *Ehm*..." ("angry", "narrow", "base", "down") gen "Oh, the vibrators? You can keep them." ("base", xpos="far_left", ypos="head") - her "Thank you..." ("open", "narrow", "base", "down", cheeks="blush") #Looks right + her @ cheeks blush "Thank you..." ("open", "narrow", "base", "down") #Looks right hide vibrators_floor with d5 - call unlock_clothing(">Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) + call unlock_clothing("Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) - her "So... How do these things work, exactly? Do I need to charge them or...?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "So... How do these things work, exactly? Do I need to charge them or...?" ("open", "squint", "base", "mid") gen "... These are magical items, they use magic, not volts." ("base", xpos="far_left", ypos="head") gen "(Unless magic volts are a thing?)" ("base", xpos="far_left", ypos="head") - her "Oh right..." ("angry", "narrow", "base", "down", cheeks="blush") - her "Good night then, [genie_name]..." ("open", "squint", "base", "R", cheeks="blush") - gen "Farewell and enjoy yourself, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "..." ("base", "closed", "base", "mid", cheeks="blush") #looks down + her @ cheeks blush "Oh right..." ("angry", "narrow", "base", "down") + her @ cheeks blush "Good night then, [name_genie_hermione]..." ("open", "squint", "base", "R") + gen "Farewell and enjoy yourself, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("base", "closed", "base", "mid") #looks down else: - her "I can still keep these, right?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I can still keep these, right?" ("open", "squint", "base", "mid") gen "Of course, as long as you don't mind using them in front of me sometimes." ("base", xpos="far_left", ypos="head") - her "No problem..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "No problem..." ("angry", "narrow", "base", "down") hide vibrators_floor with d5 - her "Good night then [genie_name]..." ("open", "squint", "base", "R", cheeks="blush") - gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Good night then [name_genie_hermione]..." ("open", "squint", "base", "R") + gen "Good night, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - $ her_vibrators_public_stage = 2 + $ states.her.ev.vibrators.public_stage = 2 else: label .low_tier: @@ -3687,30 +3678,30 @@ label hg_vibrators_public_return: call her_walk("mid", "base", action="enter") gen "There you are... Where have you been?" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "stare", xpos="base", ypos="base", cheeks="blush") #Staring into space - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "stare", xpos="base", ypos="base") #Staring into space + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "narrow", "base", "stare") gen "You're looking a bit shaken up, did something happen?" ("base", xpos="far_left", ypos="head") - her "I knew this was going to be a mistake... Why would I ever agree to something like this..." ("open", "narrow", "base", "stare", cheeks="blush") #still staring into space + her @ cheeks blush "I knew this was going to be a mistake... Why would I ever agree to something like this..." ("open", "narrow", "base", "stare") #still staring into space gen "Did you get caught?" ("grin", xpos="far_left", ypos="head") - her "I--{w=0.2} I don't know... Maybe you could tell me." ("disgust", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.2} I don't know... Maybe you could tell me." ("disgust", "closed", "base", "mid") gen "Did you turn on the vibrators during class, like I requested?" ("base", xpos="far_left", ypos="head") - her "Yes..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Yes..." ("disgust", "narrow", "base", "down") gen "Tell me what happened." ("base", xpos="far_left", ypos="head") - her "Well, after I exited your office..." ("open", "narrow", "base", "down", cheeks="blush") - her "I was wracking my brain trying to decide when would be the best time to use the vibrators." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well, after I exited your office..." ("open", "narrow", "base", "down") + her @ cheeks blush "I was racking my brain trying to decide when would be the best time to use the vibrators." ("disgust", "narrow", "base", "down") play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top") with d3 - her "I finally decided to set focus on the final lesson for today, \"Muggle Studies\", as that class would be the least likely to cause me any trouble." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I finally decided to set focus on the final lesson for today, \"Muggle Studies\", as that class would be the least likely to cause me any trouble." ("open", "narrow", "base", "down") play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom") with d3 - her "We are currently studying Muggle Music you see, so it's not really something I need to pay much attention to since I am already familiar with the subject." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "We are currently studying Muggle Music you see, so it's not really something I need to pay much attention to since I am already familiar with the subject." ("soft", "narrow", "base", "down") $ hermione.unequip("accessory0", "accessory1") $ hermione.equip([her_panties_base1, her_bra_base1]) @@ -3721,59 +3712,59 @@ label hg_vibrators_public_return: with d5 gen "Always thinking about your academics I see." ("base", xpos="far_left", ypos="head") - her "Of course..." ("open", "closed", "base", "mid", cheeks="blush") - her "Although unfortunately for me, I was one of the last students to enter the class, and as usual the Slytherins took all the spots in the back and I ended up sitting right at the front of the class." ("open", "base", "worried", "R", cheeks="blush") - her "As you can imagine, it made things much more difficult as I was in view of everyone behind me." ("open", "closed", "worried", "mid", cheeks="blush") - her "But it was the last lesson for today, so I had to go with my plan..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Of course..." ("open", "closed", "base", "mid") + her @ cheeks blush "Although unfortunately for me, I was one of the last students to enter the class, and as usual, the Slytherins took all the spots in the back and I ended up sitting right at the front of the class." ("open", "base", "worried", "R") + her @ cheeks blush "As you can imagine, it made things much more difficult as I was in view of everyone behind me." ("open", "closed", "worried", "mid") + her @ cheeks blush "But it was the last lesson for today, so I had to go with my plan..." ("open", "narrow", "base", "R") gen "Good to hear, edging yourself for an entire day can't be that healthy..." ("base", xpos="far_left", ypos="head") - her "I meant I didn't want to forfeit the points!" ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I meant I didn't want to forfeit the points!" ("open", "narrow", "annoyed", "mid") gen "Right... The points... Speaking of, why don't you get to it?" ("base", xpos="far_left", ypos="head") - her "*tsk*..." ("disgust", "narrow", "base", "R", cheeks="blush") #closed eyes in frustration - her "So, I was trying to time the vibrations with the music--" ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "*Tsk*..." ("disgust", "narrow", "base", "R") #closed eyes in frustration + her @ cheeks blush "So, I was trying to time the vibrations with the music--" ("open", "closed", "annoyed", "mid") gen "Hold on...{w=0.4} You were doing what?" ("base", xpos="far_left", ypos="head") - her "You asked me to get to the point... Isn't that what you asked?" ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "You asked me to get to the point... Isn't that what you asked?" ("open", "narrow", "annoyed", "mid") gen "Yes, but I only said that because I never imagined that your plan would involve some kind of weird sexual rhythm game." ("base", xpos="far_left", ypos="head") - her "I didn't want anyone to hear, so what choice did I have?" ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I didn't want anyone to hear, so what choice did I have?" ("open", "narrow", "annoyed", "mid") gen "(Surely there must be some kind of silencing charm...)" ("base", xpos="far_left", ypos="head") gen "So, how did this plan of yours work out?" ("base", xpos="far_left", ypos="head") - her "Not as well as I had hoped..." ("annoyed", "narrow", "annoyed", "R", cheeks="blush") - her "Turning it off and on produced a fair amount of sound, probably more than if I had just left it running..." ("open", "narrow", "annoyed", "down", cheeks="blush") - her "But in the moment I didn't realise that, so there I was, trying my best to synchronize it with the music--" ("open", "closed", "angry", "mid", cheeks="blush") - her "And...{w=0.4} Well..." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Not as well as I had hoped..." ("annoyed", "narrow", "annoyed", "R") + her @ cheeks blush "Turning it off and on produced a fair amount of sound, probably more than if I had just left it running..." ("open", "narrow", "annoyed", "down") + her @ cheeks blush "But in the moment I didn't realise that, so there I was, trying my best to synchronize it with the music--" ("open", "closed", "angry", "mid") + her @ cheeks blush "And...{w=0.4} Well..." ("annoyed", "narrow", "base", "down") gen "You reached the climax before the chorus?" ("grin", xpos="far_left", ypos="head") - her "That's one way to say it..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "That's one way to say it..." ("angry", "narrow", "base", "down") gen "The power of music..." ("base", xpos="far_left", ypos="head") - her "So, anyway--" ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "So, anyway--" ("annoyed", "closed", "base", "mid") gen "I'm not buying it." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("angry", "base", "base", "mid") gen "Turning it off and on, causing more sound... Poppycock." ("base", xpos="far_left", ypos="head") gen "Unless you're talking about sounds of pleasure, every time you turned it back on, of course." ("base", xpos="far_left", ypos="head") - her "That is not it at all!" ("angry", "base", "annoyed", "mid", cheeks="blush") - gen "No need to be ashamed, [hermione_name]... It's a perfectly natural reaction." ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("disgust", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "That is not it at all!" ("angry", "base", "annoyed", "mid") + gen "No need to be ashamed, [name_hermione_genie]... It's a perfectly natural reaction." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmph*..." ("disgust", "narrow", "annoyed", "R") gen "Let me guess..." ("base", xpos="far_left", ypos="head") gen "Somebody spotted the only girl who excited about the music?" ("base", xpos="far_left", ypos="head") - her "Perhaps... At least, one of the Slytherins sensed something's amiss with me..." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Perhaps... At least, one of the Slytherins sensed something's amiss with me..." ("angry", "narrow", "base", "R") gen "With your back turned?" ("base", xpos="far_left", ypos="head") gen "You must've been moving a lot... Which setting did you turn the vibrators to?" ("base", xpos="far_left", ypos="head") - her "I wasn't moving though!" ("angry", "base", "base", "mid", cheeks="blush") #Ignored + her @ cheeks blush "I wasn't moving though!" ("angry", "base", "base", "mid") #Ignored gen "What did you do to get their attention then?" ("base", xpos="far_left", ypos="head") gen "Don't tell me you got the seat wet?" ("base", xpos="far_left", ypos="head") - her "I--{w=0.2} I don't know!" ("angry", "base", "worried", "R", cheeks="blush") + her @ cheeks blush "I--{w=0.2} I don't know!" ("angry", "base", "worried", "R") gen "I'll take that as a yes..." ("base", xpos="far_left", ypos="head") gen "So why do you think he had paid any attention to you?" ("base", xpos="far_left", ypos="head") - her "{b}She{/b}!!" ("disgust", "squint", "base", "mid", cheeks="blush") - her "I was leaving the classroom and {b}she{/b} stood in the doorway, giving me the smuggest smirk one can make." ("open", "base", "annoyed", "R", cheeks="blush") - her "It was not the usual look of disdain that I expect from a Slytherin, no, it was something else..." ("normal", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "{b}She{/b}!!" ("disgust", "squint", "base", "mid") + her @ cheeks blush "I was leaving the classroom and {b}she{/b} stood in the doorway, giving me the smuggest smirk one can make." ("open", "base", "annoyed", "R") + her @ cheeks blush "It was not the usual look of disdain that I expect from a Slytherin, no, it was something else..." ("normal", "narrow", "annoyed", "R") gen "Sounds like a win-win situation to me!" ("grin", xpos="far_left", ypos="head") - her "Are you mad? A Slytherin catching me after--{w=0.2} Doing \"that\" in public?" ("angry", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Are you mad? A Slytherin catching me after--{w=0.2} Doing \"that\" in public?" ("angry", "base", "annoyed", "mid") gen "You said it yourself, she didn't look at you with disdain." ("base", xpos="far_left", ypos="head") gen "Maybe she even liked what she saw..." ("base", xpos="far_left", ypos="head") - her "I didn't need her approval, especially from a Slytherin!" ("disgust", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I didn't need her approval, especially from a Slytherin!" ("disgust", "base", "annoyed", "mid") gen "Sounds to me like you're being unfairly presumptuous, and to make things worse, you were the one judging her for things out of her control, like her house, she wasn't judging you for your actions..." ("base", xpos="far_left", ypos="head") - gen "Even though you had full control over them, didn't you, [hermione_name]." ("base", xpos="far_left", ypos="head") # Genie means her actions, Hermione thinks he means control over the vibrators in a literal sense - her "I..." ("angry", "base", "base", "mid", cheeks="blush") # Oh fuck, I can't believe you've done this - her "I'm going to need a moment..." ("disgust", "closed", "base", "R", cheeks="blush") + gen "Even though you had full control over them, didn't you, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") # Genie means her actions, Hermione thinks he means control over the vibrators in a literal sense + her @ cheeks blush "I..." ("angry", "base", "base", "mid") # Oh fuck, I can't believe you've done this + her @ cheeks blush "I'm going to need a moment..." ("disgust", "closed", "base", "R") gen "Sure thing." ("base", xpos="far_left", ypos="head") show screen blkfade @@ -3786,11 +3777,11 @@ label hg_vibrators_public_return: with d3 # End section - if her_tier < 5: #Receiving points, doesn't unlock vibrators + if states.her.tier < 5: #Receiving points, doesn't unlock vibrators $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") - her "Thank you..." ("soft", "base", "base", "mid", cheeks="blush") - her "..." ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Thank you..." ("soft", "base", "base", "mid") + her @ cheeks blush "..." ("normal", "narrow", "base", "down") hide vibrators_floor with d5 @@ -3801,7 +3792,7 @@ label hg_vibrators_public_return: show vibrators_floor at Transform(xpos=340, ypos=355, zoom=0.5) with d5 - her "No thanks..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "No, thanks..." ("open", "squint", "base", "R") gen "Or I could just keep them for safekeeping, for now..." ("base", xpos="far_left", ypos="head") hide vibrators_floor @@ -3809,25 +3800,25 @@ label hg_vibrators_public_return: else: #Not getting points, unlocks vibrators if not her_outfit_vibrators.unlocked: gen "You can take those vibrators with you if you want." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "squint", "base", "R", cheeks="blush") #Looks right - her "Thank you..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("normal", "squint", "base", "R") #Looks right + her @ cheeks blush "Thank you..." ("open", "squint", "base", "R") hide vibrators_floor with d5 - call unlock_clothing(">Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) + call unlock_clothing("Congratulations! You have unlocked a new outfit!", her_outfit_vibrators) gen "Don't mention it." ("base", xpos="far_left", ypos="head") else: gen "Don't forget your vibrators." ("base", xpos="far_left", ypos="head") - her "Right..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Right..." ("open", "narrow", "base", "down") hide vibrators_floor with d5 - $ her_vibrators_public_stage = 1 + $ states.her.ev.vibrators.public_stage = 1 call her_walk(action="leave") - $ her_vibrators_public = True + $ states.her.ev.vibrators.public_complete = True $ hermione.equip(her_outfit_last) jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/jobs.rpy b/game/scripts/characters/hermione/events/jobs.rpy deleted file mode 100644 index 7b6ef6d6..00000000 --- a/game/scripts/characters/hermione/events/jobs.rpy +++ /dev/null @@ -1,927 +0,0 @@ - -default maid_intro_done = False - -# Maid Job -label job_1: - - show screen blkfade - with d3 - hide hermione_main - pause .8 - hide screen blkfade - with d5 - - if not maid_intro_done: - $ maid_intro_done = True - gen "I think it's about time we got someone to clean up this place." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("open", "squint", "base", "mid", xpos="right", ypos="base", trans=dissolve) - gen "Don't you think it's about time that someone set a good example and cleaned up this castle?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "Finally you've come to your senses..." ("base", "closed", "base", "mid") - her "Of course I'll help!" ("base", "base", "base", "mid") - gen "Great, then I've got this maids outfit for you!" ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "down") - her "What is this?!" ("clench", "squint", "base", "down") - gen "A Maid outfit!" ("base", xpos="far_left", ypos="head") - gen "You'll need it for the cleaning you're about to do." ("base", xpos="far_left", ypos="head") - her "[genie_name], this isn't what I thought you meant..." ("disgust", "squint", "base", "mid") - gen "You'll get paid in points of course..." ("base", xpos="far_left", ypos="head") - her "*Hmm*..." ("upset", "narrow", "base", "R") - gen "And I suppose you'll technically be working for me so you can get paid for your work..." ("base", xpos="far_left", ypos="head") - her "That's good I suppose..." ("open", "squint", "base", "R") - gen "Although I'm technically not supposed to hire students so I'll have to hold on to your payment for now." ("base", xpos="far_left", ypos="head") - her "Right..." ("angry", "squint", "base", "mid") - gen "So... You'll do it?" ("base", xpos="far_left", ypos="head") - her "I suppose I could..." ("normal", "squint", "base", "R") - gen "Great!" ("base", xpos="far_left", ypos="head") - gen "Return here in the evening to drop of your payment and tell me how it went." ("base", xpos="far_left", ypos="head") - if not is_in_lead(gryffindor): - her "Alright..." ("open", "base", "base", "mid") - her "Let me just put this on..." ("angry", "squint", "base", "mid") - else: #Gryffindor is in the lead - her "Oh, you want me to do it now?" ("open", "squint", "base", "mid") - gen "Of course, why else would I bring it up?" ("base", xpos="far_left", ypos="head") - her "But... We're in the lead right now." ("angry", "base", "base", "mid") - gen "So?" ("base", xpos="far_left", ypos="head") - her "So... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - - hide hermione_main - with d3 - - call tutorial("points") - - jump working_menu - elif her_whoring < 13: - her "Cleaned up, [genie_name]?" ("angry", "base", "base", "mid") - gen "Yes, so you better put this on..." ("base", xpos="far_left", ypos="head") - her "A maid outfit?" ("angry", "narrow", "base", "down") - her "Of course this is what you meant..." ("angry", "narrow", "base", "mid") - gen "You'll get paid in points of course." ("base", xpos="far_left", ypos="head") - her "*Hmm*...{w=0.4} Alright, In that case I suppose I could do it." ("angry", "closed", "base", "mid") - gen "Excellent... Although you'll have to return any monetary payments to me." ("base", xpos="far_left", ypos="head") - her "I do?" ("clench", "base", "base", "mid") - gen "You think I could just hire students to do these things?" ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("angry", "base", "base", "mid") - gen "No, I think it'd be best if I held onto it for now." ("base", xpos="far_left", ypos="head") - her "Right..." ("open", "base", "base", "mid") - gen "Return here in the evening to drop of your payment and tell me how it went." ("base", xpos="far_left", ypos="head") - if not is_in_lead(gryffindor): - her "Alright..." ("open", "squint", "base", "R") - her "Let me just put this on..." ("angry", "squint", "base", "mid") - else: #Gryffindor is in the lead - her "Oh, you want me to do it now?" ("open", "squint", "base", "mid") - gen "Of course, why else would I bring it up?" ("base", xpos="far_left", ypos="head") - her "But... We're in the lead right now." ("angry", "base", "base", "mid") - gen "So?" ("base", xpos="far_left", ypos="head") - her "So... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - hide hermione_main - with d3 - - call tutorial("points") - - jump working_menu - else: #13+ - her "I'm not sure what you." ("angry", "base", "base", "mid") - gen "I want you to put this on!" ("base", xpos="far_left", ypos="head") - her "A maid outfit?" ("angry", "narrow", "base", "down", cheeks="blush") - gen "Yep!" ("base", xpos="far_left", ypos="head") - gen "You'll get paid in points of course." ("base", xpos="far_left", ypos="head") - her "*Hmm*... Why not... This castle could use some cleaning where the house elves can't reach." ("open", "closed", "base", "mid", cheeks="blush") - gen "That's the spirit!" ("base", xpos="far_left", ypos="head") - gen "Just make sure you return here in the evening to give me your payments and tell me how it went." ("base", xpos="far_left", ypos="head") - her "Give you my what?" ("open", "base", "base", "mid", cheeks="blush") - gen "Payments." ("base", xpos="far_left", ypos="head") - gen "This will have to stay off the books so I'll have to hold onto it for now." ("base", xpos="far_left", ypos="head") - her "Oh... Right..." ("open", "closed", "base", "mid", cheeks="blush") - if her_whoring >= 16: - her "Let me just put this on..." ("angry", "base", "base", "mid", cheeks="blush") - else: - if not is_in_lead(gryffindor): - her "Let me just put this on..." ("angry", "base", "base", "mid", cheeks="blush") - else: #Gryffindor in the lead - her "Oh, you want me to do it now?" ("open", "squint", "base", "mid") - gen "Of course, why else would I bring it up?" ("base", xpos="far_left", ypos="head") - her "But... We're in the lead right now." ("angry", "base", "base", "mid") - gen "So?" ("base", xpos="far_left", ypos="head") - her "So... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - hide hermione_main - with d3 - - call tutorial("points") - - jump working_menu - - else: - $ random_number = renpy.random.randint(1, 4) - - if random_number == 1: - gen "I'd like you to go out and make me some money... *Err*... I mean go out and earn some points." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - gen "Time to earn some more points for your house, [hermione_name]..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - gen "Time for you to head out and help clean the castle." ("base", xpos="far_left", ypos="head") - elif random_number == 4: - gen "I've got a feather duster with your name on it, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "Put this on for me will you?" ("base", xpos="far_left", ypos="head") - - if her_whoring < 4: - if not is_in_lead(gryffindor): - her "*Humph!*..." ("upset", "base", "annoyed", "mid", xpos="right", ypos="base", trans=dissolve) - else: - her "No thank you, [genie_name]." ("open", "squint", "base", "mid", xpos="right", ypos="base", trans=dissolve) - gen "What do you mean, no?" ("angry", xpos="far_left", ypos="head") - her "We're in the lead right now... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - hide hermione_main - with d3 - - call tutorial("points") - - jump working_menu - elif her_whoring < 16: - if not is_in_lead(gryffindor): - her "Alright..." ("angry", "base", "base", "mid", xpos="right", ypos="base", trans=dissolve) - else: - her "We're in the lead right now... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid", xpos="right", ypos="base", trans=dissolve) - gen "Right..." ("base", xpos="far_left", ypos="head") - hide hermione_main - with d3 - - call tutorial("points") - - jump working_menu - elif her_whoring < 22: - her "Of course, [genie_name]..." ("base", "squint", "base", "mid", xpos="right", ypos="base", trans=dissolve) - else: #22+ - her "As you wish, [genie_name]." ("base", "base", "base", "mid",xpos="right",ypos="base", trans=dissolve) - - show screen blkfade - with d5 - # Setup - $ maid_outfit_ITEM.used = True - call play_sound("equip_inventory") - $ her_outfit_last.save() - $ hermione.equip(her_outfit_maid) - hide screen blkfade - with d5 - - pause 2.5 - hide hermione_main - with d3 - - gen "Off you go then..." ("base", xpos="far_left", ypos="head") - - call her_walk(action="leave") - - $ hermione_busy = True - $ current_job = "maid" - - jump main_room_menu - -label maid_responses: - - $ hermione.equip(her_outfit_maid) - $ payment = renpy.random.randint(10, 25) - - call her_walk(action="enter", xpos="mid", ypos="base") - - $ random_number = renpy.random.randint(1, 3) - - menu: - "\"How was your day?\"": - if her_whoring < 4: - if random_number == 1: - her "Do I really have to keep doing this?" ("normal", "narrow", "base", "R_soft", xpos="right", ypos="base", trans=dissolve) - gen "What do you mean, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "It's so degrading... I had to clean other students dorms!" ("open", "narrow", "worried", "down") - gen "You can stop any time." ("base", xpos="far_left", ypos="head") - her "I can?" ("soft", "narrow", "worried", "mid_soft") - gen "Certainly, I'll just get one of those Slytherin floozies that you are always on about." ("grin", xpos="far_left", ypos="head") - gen "I'm sure that they'd jump at the chance to make some points for their house." ("base", xpos="far_left", ypos="head") - gen "They'd probably even do it for next to nothing, if not free." ("base", xpos="far_left", ypos="head") - her "Fine, I get your point...." ("upset", "closed", "base", "mid") - her "Can I get my points now?" ("angry", "closed", "angry", "mid") - gen "Certainly, ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - her "I think you need to start enforcing harsher punishment for sexual harassment." ("mad", "base", "angry", "mid", xpos="right", ypos="base", trans=dissolve) - gen "Why's that?" ("base", xpos="far_left", ypos="head") - her "Some Slytherin boys kept wolf whistling at me as I was scrubbing the floors." ("mad", "base", "angry", "mid") - gen "Just see it as a compliment [hermione_name]." ("base", xpos="far_left", ypos="head") - her "As if any Slytherin would be capable of such a thing... They're just doing it to embarrass me." ("mad", "base", "angry", "mid") - gen "Whatever you say [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "*Hmph*...{w=0.4} Can I get my points now?" ("angry", "closed", "angry", "mid") - gen "Certainly, ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - her "Dreadful... Peeves kept blowing air underneath my skirt!" ("clench", "narrow", "base", "down", xpos="right", ypos="base", trans=dissolve) - gen "Who?" ("base", xpos="far_left", ypos="head") - her "That da--{w=0.3} That poltergeist!" ("angry", "closed", "annoyed", "mid") - her "It's bad enough that I had to clean the corridors..." ("upset", "happy", "annoyed", "mid") - her "But the fact that he's able to do that thanks to this dress..." ("clench", "closed", "base", "mid", cheeks="blush") - gen "Doesn't your regular uniform have a skirt?" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "squint", "base", "mid") - her "Can I have my points now?" ("clench", "narrow", "base", "R") - gen "Of course... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: - if random_number == 1: - her "It was as normal a day of cleaning rooms could be." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=dissolve) - her "Although considering that I'm supposed to be in class during the day I guess it's not that normal." ("soft", "base", "base", "R") - gen "Don't worry [hermione_name], you'll get your points." ("base", xpos="far_left", ypos="head") - gen "Just think of how happy your friends will be when they win the house cup this year." ("base", xpos="far_left", ypos="head") - her "I suppose..." ("open", "base", "base", "R") - gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - her "It was fine I suppose..." ("soft", "base", "base", "R", xpos="right", ypos="base", trans=dissolve) - gen "Nothing else to tell me? What were you tasked to do today?" ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("open", "narrow", "base", "down") - her "Well I was tasked to clean the boys changing room..." ("angry", "closed", "base", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - her "They really should've told me when... How am I supposed to know when they're not using it?" ("clench", "narrow", "base", "down") - gen "Ten points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "..." ("angry", "base", "base", "mid") - elif random_number == 3: - her "Professor Snape had me sort his potion ingredients all day..." ("open", "narrow", "base", "mid", xpos="right", ypos="base", trans=dissolve) - gen "Doesn't sound too bad..." ("base", xpos="far_left", ypos="head") - her "He asked me to put everything on the highest shelves..." ("disgust", "narrow", "base", "mid") - her "When I asked him why he told me not to question his organization system..." ("angry", "narrow", "base", "mid") - her "As if he had one to begin with... He was probably just wanted a look up my skirt." ("open", "closed", "annoyed", "mid") - her "..." ("upset", "narrow", "base", "mid") - her "Can I have my points now?" ("angry", "narrow", "base", "mid") - gen "Of course... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif her_whoring < 22: - if random_number == 1: - her "It's was pretty uneventful." ("open", "base", "base", "R", xpos="right", ypos="base", trans=dissolve) - her "I suppose I should feel more annoyed by the other students staring at me but it doesn't bother me that much." ("open", "base", "base", "R") - gen "Good to hear." ("base", xpos="far_left", ypos="head") - her "I am helping the school after all..." ("base", "closed", "base", "mid") - gen "That you are... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - her "I had to dust all the shelves in the library today." ("open", "closed", "base", "mid", xpos="right", ypos="base", trans=dissolve) - gen "That doesn't sound too bad..." ("base", xpos="far_left", ypos="head") - her "Well I got yelled at by Miss Pince for no reason." ("upset", "squint", "base", "mid") - her "She kept telling me that the other students needed to work on their studies and that I kept distracting them." ("clench", "narrow", "base", "mid") - her "Yet she didn't tell me to stop cleaning..." ("annoyed", "narrow", "base", "mid") - gen "Sound like a job well done to me... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "squint", "base", "mid") - elif random_number == 3: - her "Pretty uneventful." ("open", "base", "base", "R", xpos="right", ypos="base", trans=dissolve) - her "I cleaned the prefects bathroom today so not really many people around." ("soft", "base", "base", "mid") - her "Although one of the mermaid portraits kept blowing me kisses." ("open", "squint", "base", "R", cheeks="blush") - gen "Was she attractive?" ("base", xpos="far_left", ypos="head") - her "..." ("normal", "squint", "base", "mid", cheeks="blush") - her "As attractive as a mermaid can be I suppose..." ("normal", "squint", "base", "mid", cheeks="blush") - gen "Nicely done... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - else: #22+ - if random_number == 1: - her "It was fine... I cleaned the staffroom today..." ("open", "closed", "base", "mid", cheeks="blush", xpos="right", ypos="base", trans=dissolve) - her "Professor Snape seemed to think it was really funny to have me Scourgify his robes constantly as he continued spilling tea on himself..." ("angry", "narrow", "base", "R", cheeks="blush") - gen "Well I suppose that comes with the job." ("base", xpos="far_left", ypos="head") - her "That's what he said..." ("angry", "narrow", "base", "down", cheeks="blush") - gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - her "Good, although I didn't really get much work done today." ("open", "narrow", "base", "R", xpos="right", ypos="base", trans=dissolve) - gen "Oh...{w=0.4} Why's that?" ("base", xpos="far_left", ypos="head") - her "Well...{w=0.4} I was asked to help the house elves and every time I started doing something one of them would come and do it for me." ("angry", "squint", "base", "mid") - her "Constantly apologizing for not having done it yet and bowing to me..." ("open", "narrow", "base", "mid") - gen "(Uh-oh...)" ("base", xpos="far_left", ypos="head") - her "It was kind of cute to be honest." ("base", "squint", "base", "R", cheeks="blush") - gen "Well then, I assume you still got paid?" ("base", xpos="far_left", ypos="head") - her "Oh...{w=0.4} Yes [genie_name]..." ("angry", "base", "base", "mid", cheeks="blush") - gen "Great! Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - gen "Tell me what you've been doing." ("base", xpos="far_left", ypos="head") - her "I've been cleaning professor Tonks' office..." ("open", "base", "base", "mid", cheeks="blush", xpos="right", ypos="base", trans=dissolve) - her "The things she keeps in there..." ("angry", "narrow", "base", "down", cheeks="blush") - her "Why I hope none the other students get detention with her." ("open", "closed", "base", "mid", cheeks="blush") - gen "Found anything interesting?" ("base", xpos="far_left", ypos="head") - her "*Hmm*... Not sure if she'd like it if I told you..." ("angry", "narrow", "base", "R", cheeks="blush") - gen "(As if I couldn't already guess...)" ("base", xpos="far_left", ypos="head") - gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - - "-Dismiss her-": - her "Here's your payment." ("base", "base", "base", "mid") - ">You receive {number=payment} gold coins." - gen "Well done [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - - her "Thank you, [genie_name]." - - $ gryffindor+= 10 - $ game.gold += payment - - call her_walk(action="leave") - - $ hermione.equip(her_outfit_last) - - $ hermione_busy = True - $ current_job = None - - jump main_room_menu - -# Barmaid Job -label job_2: - if her_whoring <= 6: - her "*Humph*!..." - elif her_whoring >=7 and her_whoring <= 15: - her "Yes [genie_name]..." - else: - her "As you wish [genie_name]." - - show screen blkfade - with d5 - # Setup - call play_sound("equip_inventory") - $ her_outfit_last.save() - $ hermione.equip(her_outfit_maid) - her "" ("base", "base", "base", "mid",xpos="right",ypos="base") - hide screen blkfade - with d5 - - pause 2.5 - hide hermione_main - with d3 - - gen "Off you go then..." ("base", xpos="far_left", ypos="head") - - call her_walk(action="leave") - - $ hermione_busy = True - $ current_job = "barmaid" - - jump main_room_menu - -label barmaid_responses: - - $ hermione.equip(her_outfit_maid) - $ payment = renpy.random.randint(20, 50) - - call her_walk(action="enter", xpos="mid", ypos="base") - - her "" ("base", "base", "base", "mid",xpos="right",ypos="base") - pause.5 - - menu: - "\"How was your day?\"": - her "Fine..." - gen "Anything unusual happen?" ("base", xpos="far_left", ypos="head") - her "Not really, I just served people drinks." - gen "Well in that case ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name], here's your payment." - "-Dismiss her-": - her "Here's your payment." - ">You receive {number=payment} gold coins." - gen "Well done [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - - her "Thank you, [genie_name]." - - $ gryffindor+= 20 - $ game.gold += payment - - call her_walk(action="leave") - - $ hermione.equip(her_outfit_last) - - $ hermione_busy = True - $ current_job = None - jump main_room_menu - -# Gryffindor Cheerleader Job (Needs outfit) -label job_3: - if her_whoring <= 6: - her "*Humph*!..." - elif her_whoring <= 15: - her "Yes, [genie_name]..." ("normal", "base", "base", "R") - else: - her "As you wish, [genie_name]." ("open", "base", "base", "mid") - - show screen blkfade - with d5 - call play_sound("equip_inventory") - $ her_outfit_last.save() # Store current outfit. - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy - $ hermione.equip(her_outfit_cheerleader_2) - else: #Normal - $ hermione.equip(her_outfit_cheerleader_1) - her "" ("base", "base", "base", "mid",xpos="right",ypos="base") - hide screen blkfade - with d5 - - pause 2.5 - hide hermione_main - with d3 - - gen "You look great!" ("grin", xpos="far_left", ypos="head") - her "Thank you..." ("base", "happyCl", "base", "mid") - gen "Off you go then..." ("base", xpos="far_left", ypos="head") - - call her_walk(action="leave") - - $ hermione_busy = True - $ current_job = "gryffindor_cheerleader" - - jump main_room_menu - -label gryffindor_cheer_responses: - - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy - $ hermione.equip(her_outfit_cheerleader_2) - else: #Normal - $ hermione.equip(her_outfit_cheerleader_1) - $ payment = renpy.random.randint(40, 80) - - call her_walk(action="enter", xpos="mid", ypos="base") - - her "" ("base", "base", "base", "mid",xpos="right",ypos="base") - pause.5 - - $ random_number = renpy.random.randint(0, 10) - - menu: - "\"How was your day?\"": - if random_number <= 2: - her "It was good [genie_name], I think that the team morale has really started to go up." ("base", "base", "base", "mid") - gen "How so?" ("base", xpos="far_left", ypos="head") - her "Well, since I've started they seem to have improved their tactics." ("open", "base", "base", "mid") - her "They also seem much happier. Harry is always looking at me with a smile on his face." ("base", "base", "base", "mid") - gen "And does he look at you a lot?" ("base", xpos="far_left", ypos="head") - her "Of course he does, we're good friends." ("open", "base", "base", "mid") - gen "\"I'm sure that must be the reason\"..." ("base", xpos="far_left", ypos="head") - her "Well here's the money, [genie_name]." ("base", "base", "base", "mid") - ">You receive [payment] gold coins." - gen "Well done, [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number >= 3 and random_number <= 5: - her "Tiring. This cheering thing really is quite exhausting." ("open", "base", "worried", "mid") - gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") - her "Not unless you count me almost dropping my pom-pom." ("normal", "base", "base", "mid") - gen "I don't... Well, did they pay you?" ("base", xpos="far_left", ypos="head") - her "Of course, here you are [genie_name]." ("open", "base", "base", "mid") - ">You receive [payment] gold coins." - gen "Well done [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number >= 6 and random_number <= 8: - her "Very well thank you, all the boys said that I helped keep their spirits up." ("open", "base", "base", "mid") - gen "{size=-5}I'm sure that wasn't the only thing you've helped stay up...{/size}" ("base", xpos="far_left", ypos="head") - her "What was that [genie_name]?" ("open", "squint", "base", "mid") - gen "I was just saying that I'm sure you did a stand up job." ("base", xpos="far_left", ypos="head") - her "I think so..." ("base", "happyCl", "base", "mid") - gen "Well, did they pay you for raising their \"spirits\"?" ("base", xpos="far_left", ypos="head") - her "Of course they did." ("open", "base", "base", "mid") - ">You receive [payment] gold coins." - gen "Well done [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number >=9 and her_reputation <= 15: - gen "You seem very chipper today." ("base", xpos="far_left", ypos="head") - her "Of course I am, we won!" ("base", "base", "base", "mid") - gen "Won?" ("base", xpos="far_left", ypos="head") - her "We won! We beat Slytherin in a practice match." ("smile", "happyCl", "base", "mid") - gen "You seem a little bit overexcited for just a practice match." ("base", xpos="far_left", ypos="head") - her "Well it was such a great game. Not to mention that we got to rub it in those Slytherin students faces afterwards." ("smile", "base", "base", "R") - gen "Well I'm glad that you are enjoying your work." ("grin", xpos="far_left", ypos="head") - her "I am [genie_name]. Given that most of the \"work\" I've done to help my house is kept private, it feels good to be able to do something public once." ("open", "base", "base", "mid") - gen "Not to mention you get paid for it..." ("base", xpos="far_left", ypos="head") - her "Oh, right, Here you are..." ("soft", "base", "base", "R") - ">You receive [payment] gold coins." - gen "Well done [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - else: - her "We won! We managed to beat Slytherin." ("base", "base", "base", "mid") - gen "That must have been very exhilarating. I'm sure your cheering gave the extra motivation needed to win." ("base", xpos="far_left", ypos="head") - her "I think it did [genie_name]. They were all very excited to receive their reward for winning the game." ("base", "happyCl", "base", "mid") - - menu: - "-Reward?-": - gen "What reward did you promise them?" ("base", xpos="far_left", ypos="head") - her "Well I was quite keen to ensure our victory against Slytherin that I may have promised that I would give each of them a blowjob if they won." ("grin", "base", "base", "R") - gen "You gave every team member a blowjob after the game?" ("base", xpos="far_left", ypos="head") - her "And the water boy..." ("smile", "narrow", "base", "mid_soft") - gen "How did you even manage that? Did have to crawl around the locker room on your knees?" ("base", xpos="far_left", ypos="head") - her "Of course not, they all patiently waited on their turn..." ("scream", "closed", "angry", "mid") - gen "Who doesn't love a queue..." ("base", xpos="far_left", ypos="head") - gen "So they queued up... And then?" ("base", xpos="far_left", ypos="head") - her "Well I did what I said I would, I'm not the kind of person to lie am I?" ("annoyed", "base", "worried", "R") - her "So, I gave them the reward I promised... And surely you of all people would know how a blowjob works." ("annoyed", "happy", "base", "R") - gen "That's not quite what I meant." ("base", xpos="far_left", ypos="head") - gen "You just look rather..." ("base", xpos="far_left", ypos="head") - gen "Clean, that's all." ("base", xpos="far_left", ypos="head") - her "Oh, well..." ("base", "narrow", "worried", "down",cheeks="blush") - her "I didn't want to make a mess." ("soft", "narrow", "base", "down",cheeks="blush") - her "Anyhow, I'm glad I did it. I can't wait to rub it in Astoria's face tomorrow..." ("smile", "base", "base", "mid") - gen "I'm glad you think it was worth it. Did they pay you?" ("base", xpos="far_left", ypos="head") - "-Okay-": - gen "I'm sure it was worth it. Did they pay you?" ("base", xpos="far_left", ypos="head") - - her "Of course they did [genie_name], here you are." - gen "Well done [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - - "-Dismiss her-": - her "Here's your payment [genie_name]." ("soft", "base", "base", "R") - gen "Well done [hermione_name], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") - - her "Thank you, [genie_name]." ("base", "happyCl", "base", "mid") - ">You receive [payment] gold coins." - $ gryffindor+= 20 - $ game.gold += payment - - call her_walk(action="leave") - - $ hermione.equip(her_outfit_last) - - $ hermione_busy = True - $ current_job = None - jump main_room_menu - -# Slytherin Cheerleader Job -label job_4: - - if her_whoring <= 6: - her "*Humph*!..." - elif her_whoring >=7 and her_whoring <= 15: - her "Yes, [genie_name]..." - else: - her "As you wish, [genie_name]." - - show screen blkfade - with d5 - call play_sound("equip_inventory") - $ her_outfit_last.save() # Store current outfit. - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy - $ hermione.equip(her_outfit_cheerleader_2) - else: #Normal - $ hermione.equip(her_outfit_cheerleader_1) - her "" ("base", "base", "base", "mid",xpos="right",ypos="base") - hide screen blkfade - with d5 - - pause 2.5 - hide hermione_main - with d3 - - gen "You look incredible!" ("angry", xpos="far_left", ypos="head") - her "Thank you..." ("base", "happyCl", "base", "mid") - gen "Off you go then..." ("base", xpos="far_left", ypos="head") - - call her_walk(action="leave") - - $ hermione_busy = True - $ current_job = "slytherin_cheerleader" - - call music_block - jump main_room_menu - -label slytherin_cheer_responses: - - if her_outfit_cheerleader_2.unlocked and her_whoring >= 11: #Sexy - $ hermione.equip(her_outfit_cheerleader_2) - else: #Normal - $ hermione.equip(her_outfit_cheerleader_1) - - $ payment = renpy.random.randint(50, 100) - - call her_walk(action="enter", xpos="mid", ypos="base") - - $ random_number = renpy.random.randint(0, 10) - - if random_number >=9 and her_reputation > 15: - $ uni_sperm = True - her "" ("base", "narrow", "base", "up",xpos="right",ypos="base") - else: - her "" ("base", "base", "base", "mid",xpos="right",ypos="base") - pause.5 - - menu: - "-Ask her about her day-": - if random_number <= 2: - gen "How was your day today [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Exhausting... Those Slytherin pigs insisted that I cheer for their entire practice session." ("open", "closed", "angry", "mid") - her "They were hardly playing the game by the end. They were just standing there watching me." - gen "Well what was your routine?" ("base", xpos="far_left", ypos="head") - her "Mostly star jumps while I cheered \"Go Slytherin!\"." ("annoyed", "squint", "angry", "mid") - gen "So you were just jumping up and down? That doesn't seem like a very intricate cheer." ("base", xpos="far_left", ypos="head") - her "It isn't but it's what they insisted I do." ("annoyed", "narrow", "angry", "R") - gen "Well it definitely sounds like you earned your points." ("base", xpos="far_left", ypos="head") - gen "Thirty points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number >= 3 and random_number <= 5: - gen "How was your day today [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Uneventful. I completed my routine and then went back to my room..." ("open", "squint", "base", "mid") - gen "You didn't talk to anyone?" ("base", xpos="far_left", ypos="head") - her "I make a point of trying to avoid Slytherin student as best I can." ("annoyed", "narrow", "angry", "R") - gen "Are they really that unbearable?" ("base", xpos="far_left", ypos="head") - her "Yes..." ("open", "closed", "angry", "mid") - gen "Well, you earned your points." ("base", xpos="far_left", ypos="head") - gen "Thirty points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number >= 6 and random_number <= 8: - gen "Hello [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Hello [genie_name]." ("normal", "base", "base", "mid") - gen "How did everything go today?" ("base", xpos="far_left", ypos="head") - her "Very well. In fact I think I might be doing too well." ("annoyed", "base", "worried", "R") - gen "How so?" ("base", xpos="far_left", ypos="head") - her "I think that my cheering is having too much of an positive effect." ("open", "base", "worried", "mid") - her "I'm not sure that I want the Slytherin team to improve, let alone because of me..." ("open", "base", "worried", "R") - gen "Just think about how you're helping your house in other ways." ("base", xpos="far_left", ypos="head") - her "I suppose you're right [genie_name]." ("open", "base", "base", "mid") - gen "Of course I am... Now, did they pay you?" ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]." ("base", "base", "base", "mid") - gen "Well done [hermione_name], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") - elif random_number >=9 and her_reputation > 15: - her "[genie_name], something must be done about those Slytherin boys..." ("open", "closed", "angry", "mid") - her "It's bad enough that I have to cheer for them but they are being a little bit touchy." ("annoyed", "narrow", "angry", "R") - gen "Touchy?" ("base", xpos="far_left", ypos="head") - her "Yes, they keep groping me. It's highly inappropriate and it interrupts my routine." ("scream", "closed", "angry", "mid") - gen "You kept dancing while they groped you?" ("base", xpos="far_left", ypos="head") - her "Of course, I'm there to complete a job. I'm not getting distracted just because of a few boys." ("open", "closed", "angry", "mid") - gen "Well what would you have me do?" ("base", xpos="far_left", ypos="head") - her "Speak to Professor Snape, tell him to chastise them. They'll listen to him..." ("angry", "base", "angry", "mid") - gen "Very well, I'll speak to him. Although I'm not sure it will have the effect you're hoping for." ("base", xpos="far_left", ypos="head") - her "It better, otherwise I wont put my full effort into this..." ("normal", "squint", "angry", "mid") - gen "{size=-5}I'm sure that'll show them.{/size}" ("base", xpos="far_left", ypos="head") - her "What was that [genie_name]?" ("open", "squint", "base", "mid") - gen "Nothing [hermione_name], I'll speak to Professor Snape tonight..." ("base", xpos="far_left", ypos="head") - else:#Comes back with cum on her - gen "What the hell happened to you?" ("base", xpos="far_left", ypos="head") - her "I did my job [genie_name]." ("angry", "narrow", "base", "down") - gen "What are you talking about? You were supposed to be a cheerleader." ("base", xpos="far_left", ypos="head") - gen "You know, cheering..." ("base", xpos="far_left", ypos="head") - gen "And all that." ("base", xpos="far_left", ypos="head") - her "I am [genie_name]. I just performed a different type of cheer today." ("soft", "narrow", "annoyed", "up") - gen "And by that you mean jerking off the entire Slytherin team?" ("base", xpos="far_left", ypos="head") - her "Well that's not how it started. I was initially just giving them a bit of a dance in the locker room..." ("angry", "narrow", "base", "down") - her "And one thing led to another." - gen "Fine, I don't want to hear it. How much did they pay you for this \"cheering\"?" ("base", xpos="far_left", ypos="head") - her "Pay me?" ("silly", "narrow", "base", "dead") - gen "You are supposed to be paid for this [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Oh, I must have forgotten... Sorry [genie_name]." ("base", "base", "base", "R",cheeks="blush") - gen "Fine, but you aren't getting any points." ("base", xpos="far_left", ypos="head") - her "Of course [genie_name]. Will that be all?" ("base", "base", "base", "mid") - gen "Yes, you're free to go now." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") - jump end_her_working_no_payment - "-Dismiss her-": - her "Here's your payment." ("open", "base", "base", "mid") - ">You receive [payment] gold coins." - gen "Well done [hermione_name], thirty points to Gryffindor." ("base", xpos="far_left", ypos="head") - - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") - ">You receive [payment] gold coins." - $ gryffindor+= 30 - $ game.gold += payment - - label end_her_working_no_payment: - - call her_walk(action="leave") - - $ hermione.equip(her_outfit_last) - - $ hermione_busy = True - $ current_job = None - $ uni_sperm = False - - call music_block - jump main_room_menu - - -#Send Hermione to work, promoting the card game. - -label job_5: - - if first_time_cardgame_work: - gen "Alright then, I think it's time you go help the twins with their shop." ("base", xpos="far_left", ypos="head") - her "Sir... Why do you want me to help them exactly?" ("annoyed", "closed", "base", "mid") - gen "That is my business." ("grin", xpos="far_left", ypos="head") - her "What do you want me to tell them then?" ("open", "narrow", "worried", "mid_soft") - gen "Just ask them if they have a need for any help promoting their card game." ("base", xpos="far_left", ypos="head") - gen "If they're as business minded as I think, then there's no way they'd say no." ("grin", xpos="far_left", ypos="head") - gen "And make sure you ask them for payment." ("grin", xpos="far_left", ypos="head") - her "Fine..." ("base", "closed", "base", "mid") - her "I'll see you tonight." ("open", "base", "base", "mid") - gen "Forgetting something?" ("base", xpos="far_left", ypos="head") - her "*Hmm*?" ("annoyed", "base", "worried", "mid") - gen "Your uniform!" ("base", xpos="far_left", ypos="head") - gen "Here you are..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") - pause 1 - - if her_whoring < 19: - # Failstate - her "I know I said I'd help them but you want me to wear... this?" ("open", "base", "angry", "mid") - gen "Of course, is that going to be a problem?" ("base", xpos="far_left", ypos="head") - her "Yes!" ("angry", "base", "angry", "mid") - her "I can't believe you've done this." - her "Did you have this commissioned?" ("open", "squint", "angry", "mid") - gen "The twins sold it to me..." ("base", xpos="far_left", ypos="head") - her "Of course they did..." - gen "So it's a--" ("base", xpos="far_left", ypos="head") - her "Of course it's a no!" ("shock", "base", "angry", "mid") - her "" ("angry", "base", "angry", "mid") - $ her_mood += 5 - jump working_menu - - $ first_time_cardgame_work = False - $random_choice = renpy.random.randint(0,3) - - if random_choice == 0: - her "Why are the cards placed like that?" ("mad", "narrow", "worried", "down") - her "..." ("normal", "happyCl", "worried", "mid", cheeks="blush") - her "Fine..." ("open", "narrow", "base", "down", cheeks="blush") - elif random_choice == 1: - her "..." ("normal", "base", "worried", "mid", cheeks="blush") - her "Well, if it stops you from deducting those points." ("open", "happyCl", "worried", "mid", cheeks="blush") - her "I'll do it." ("base", "wink", "base", "mid") - elif random_choice == 2: - her "It's a bit revealing... but I'll do it." ("smile","happy", cheeks="blush") - her "For Gryffindor house obviously!" ("open", "happyCl", "base", "mid", cheeks="blush") - else: - her "That doesn't leave a lot to the imagination..." ("smile", "happy", "base", "mid") - her "At least the straps should cover my nipples..." ("open", "wink", "base", "mid") - her "I'll do it..." ("normal", "happy", "base", "mid", cheeks="blush") - - - show screen blkfade - with d5 - call play_sound("equip_inventory") - $ her_outfit_last.save() - $ hermione.equip(her_outfit_poker) - hide screen blkfade - with d5 - - gen "Looking great!" ("grin", xpos="far_left", ypos="head") - her "Thank you..." ("open","happy", cheeks="blush") - gen "Off you go then..." ("base", xpos="far_left", ypos="head") - - call her_walk(action="leave") - $ hermione_busy = True - $ current_job = "promoter" - - call music_block - jump main_room_menu - -label hermione_helping_selling_cards: - $ current_job = None - $ hermione.equip(her_outfit_poker) - - call her_walk(action="enter", xpos="mid", ypos="base") - - $ random_choice = renpy.random.randint(1,4) - - if her_shop_help_first: - $ her_shop_help_first = False - her "" - gen "Hello, [hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") - her "Good..." ("normal", "happy", "base", "mid") - her "I'm still not that comfortable wearing the outfit you provided though so I just stood behind the shop counter today." ("open", "closed", "base", "mid") - her "Apparently we sold a lot more items than usual though." ("base","happy", "base", "mid", cheeks="blush") - gen "Great news, I bet the twins are ecstatic." ("grin", xpos="far_left", ypos="head") - her "Indeed, It was nice seeing them in such high spirits." ("open", "happyCl", "base", "mid", cheeks="blush") - her "Whilst I might not agree with all their business methods I think they might become great salesmen some day." ("base", "happy", "base", "mid") - gen "Seems to me like they are already..." ("grin", xpos="far_left", ypos="head") - gen "So, how come you had such a surge in new customers?" ("base", xpos="far_left", ypos="head") - her "No idea, maybe the card game got more people interested in browsing the rest of their stock." ("annoyed", "happy", "base", "R") - her "They actually had some problems with people stealing things before I started working there though." ("open", "closed", "base", "mid") - gen "And this stopped after you started working there?" ("base", xpos="far_left", ypos="head") - her "Well, probably not because of it. They put in some anti thieving measures." ("base", "base", "base", "mid") - gen "Patent pending?" ("base", xpos="far_left", ypos="head") - her "It's pretty clever actually, they put up a mirror behind the counter so that when I have to turn around and grab something I'll be able to see if anyone takes anything." ("smile", "wink", "base", "mid") - gen "\"Yeah, I'm sure that's why they put the mirror there\"..." ("grin", xpos="far_left", ypos="head") - gen "Sounds like you're doing a great job." ("base", xpos="far_left", ypos="head") - her "Thanks!" ("open","happy", cheeks="blush") - her "Here's your payment." ("open", "base", "base", "mid") - call give_reward(_("You have received twenty gold"), "interface/icons/gold.webp") - $ game.gold += 20 - gen "Well done [hermione_name], fifteen points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 15 - - if random_choice == 1: - her "" - gen "Hello, [hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") - her "It was fine, the outfit is a bit chilly though." ("normal", "happy", "base", "mid_soft") - gen "So, no other complications?" ("base", xpos="far_left", ypos="head") - her "Well..." ("soft", "narrow", "worried", "down", cheeks="blush") - her "The twins asked me to give out some free promotional starter packs." ("open", "happy", "base", "mid", cheeks="blush") - gen "Yes?" ("base", xpos="far_left", ypos="head") - gen "Sounds like a great way to get people into playing..." ("base", xpos="far_left", ypos="head") - her "Well, I didn't have anywhere to store the packs as you could imagine." ("base", "narrow", "worried", "down", cheeks="blush") - her "So I had to resort to putting them behind my suspenders and the top of my stockings..." ("open", "closed", "base", "mid", cheeks="blush") - her "And one customer got a bit..." ("normal", "closed", "base", "mid", cheeks="blush") - her "Touchy." ("base", "narrow", "annoyed", "up", cheeks="blush") - gen "I see..." ("base", xpos="far_left", ypos="head") - her "I did get a bit agitated at one point actually..." ("open", "closed", "base", "mid", cheeks="blush") - gen "They didn't fire you did they?" ("angry", xpos="far_left", ypos="head") - her "No!" ("mad", "wide", "base", "mid") - her "The customer was quite apologetic actually and bought a bunch of things." ("smile", "closed", "angry", "mid") - her "The twins obviously took the credit for getting such a big sale and seemed rather pleased with themselves." ("crooked_smile", "narrow", "annoyed", "mid") - her "I'm fine with them believing they had anything to do with it though." ("smile", "closed", "base", "mid") - gen "How noble of you..." ("base", xpos="far_left", ypos="head") - her "Here's your payment." ("open", "base", "base", "mid") - call give_reward(_("You have received twenty gold"), "interface/icons/gold.webp") - $ game.gold += 20 - gen "Well done [hermione_name], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 20 - elif random_choice == 2: - her "" - gen "Hello, [hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") - her "Awful..." ("normal", "narrow", "worried", "down") - gen "Really, why is that?" ("base", xpos="far_left", ypos="head") - her "Well, I'm not actually angry..." ("open", "base", "base", "mid") - her "Just a bit annoyed, that's all." ("annoyed", "closed", "base", "mid") - gen "With?" ("base", xpos="far_left", ypos="head") - her "Myself..." ("open", "base", "worried", "R", cheeks="blush") - her "We've set up a practice day where you get to borrow a deck of cards to get more people into the game." ("normal", "happy", "base", "mid") - gen "Sounds like a good idea, get people invested." ("grin", xpos="far_left", ypos="head") - her "Well, that was fine and all until the amount of new people interested started to slow down." ("open", "narrow", "worried", "down") - gen "I see, so I expect the responsibility fell on you as you're the one meant to promote the game?" ("base", xpos="far_left", ypos="head") - her "Yes... I thought it was a great idea so if it ended up not working out then it would look very bad on my part." ("normal", "closed", "base", "mid") - gen "So, you had to stop the practice sessions?" ("base", xpos="far_left", ypos="head") - her "No, that's not why I'm annoyed..." ("annoyed", "happy", "base", "R") - her "In my haste to find a solution I thought it would be a great idea to play a few rounds of strip cards to get more people interested." ("open", "narrow", "base", "down", cheeks="blush") - her "..." ("angry", "closed", "angry", "mid", cheeks="blush") - her "I've played enough not to be beaten by a new player I thought." ("mad", "narrow", "angry", "R", cheeks="blush") - gen "Of course, you've played against me after all..." ("grin", xpos="far_left", ypos="head") - her "..." ("base", "base", "angry", "mid") - gen "Sorry, go on." ("base", xpos="far_left", ypos="head") - her "Well, I managed to get a bunch of people into the card game so practice day is still on the schedule." ("annoyed", "closed", "angry", "mid") - gen "That's good!" ("grin", xpos="far_left", ypos="head") - her "Though I might reconsider the whole strip card idea..." ("angry", "narrow", "worried", "down", cheeks="blush") - her "I lost pretty quickly..." ("normal", "closed", "base", "mid", cheeks="blush") - her "It turned out they had been cheating the whole time..." ("normal", "base", "base", "mid", cheeks="blush") - gen "Well, cheaters never prosper..." ("grin", xpos="far_left", ypos="head") - her "That's not true in this case... they prospered alright." ("open", "happy", "base", "R", cheeks="blush") - her "In any case, they seemed... happy, they bought a bunch of things so that makes me..." ("normal", "base", "base", "mid") - her "Happy as well..." ("angry", "closed", "base", "mid", cheeks="blush") - gen "A job well done then, I bet the twins are very grateful for your contribution." ("grin", xpos="far_left", ypos="head") - her "Thank you." ("annoyed", "happyCl", "base", "mid", cheeks="blush") - her "Anyway..." ("base", "base", "base", "mid") - her "Here's your payment." ("open", "base", "base", "mid") - call give_reward(_("You have received twenty gold"), "interface/icons/gold.webp") - $ game.gold += 20 - gen "Well done [hermione_name], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 20 - elif random_choice == 3: - her "" - gen "Hello, [hermione_name], how was your day?" ("base", xpos="far_left", ypos="head") - her "Great, they held a card game tournament today." ("base", "base", "base", "mid") - gen "Wait, a tournament? How come I wasn't invited?" ("angry", xpos="far_left", ypos="head") - her "It was students only obviously..." ("open", "happy", "base", "R") - gen "Oh... of course." ("base", xpos="far_left", ypos="head") - her "There were way more participants than I expected seeing that there was an entry fee." ("base", "closed", "base", "mid", cheeks="blush") - gen "Must've been a great prize pool then..." ("base", xpos="far_left", ypos="head") - her "That's the weird thing. The prize pool only amounted to about half of the total entry fee amount." ("open", "base", "base", "mid") - her "Apparently... someone had gone around spreading the rumour that the winner would..." ("normal", "narrow", "worried", "down") - her "Get a go with me if they won the tournament..." ("annoyed", "narrow", "base", "down", cheeks="blush") - gen "And did they?" ("grin", xpos="far_left", ypos="head") - her "Of course that was never on the table..." ("base", "base", "angry", "mid", cheeks="blush") - gen "On a desk then?" ("grin", xpos="far_left", ypos="head") - her "Well..." ("annoyed", "base", "base", "mid", cheeks="blush") - her "The winner did end up standing there with such an expectant look on his face after everyone had left..." ("open", "narrow", "worried", "down", cheeks="blush") - gen "..." ("base", xpos="far_left", ypos="head") - her "So I told him that whatever he was expecting it wasn't happening." ("angry", "narrow", "angry", "R", cheeks="blush") - her "He seemed so disheartened so I felt a bit bad about the whole thing..." ("open", "closed", "angry", "mid") - her "So, since I didn't want to bring his feeling of victory down I figured since some students had spread the rumour they'd assume the worst anyway..." ("open", "base", "angry", "mid", cheeks="blush") - her "So I put my hand down his pants and fiddled around a bit whilst letting the guy get a peek behind my suspenders." ("grin", "base", "angry", "mid", cheeks="blush") - gen "Good on you!" ("grin", xpos="far_left", ypos="head") - her "You don't think that was a bit much?" ("annoyed", "base", "base", "mid", cheeks="blush") - gen "No! That was the right thing to do in that situation." ("grin", xpos="far_left", ypos="head") - gen "There wasn't a lot you could do about the rumours even if nothing had happened he'd probably lie about it anyway." ("base", xpos="far_left", ypos="head") - gen "You most likely ended up making that guys night." ("grin", xpos="far_left", ypos="head") - her "More like month... seeing how much he..." ("open", "narrow", "worried", "down", cheeks="blush") - her "Anyway..." ("normal", "base", "base", "mid") - her "glad you agree." ("base", "happy", "base", "mid_soft") - her "Here's your payment." ("open", "base", "base", "mid") - call give_reward(_("You have received twenty gold"), "interface/icons/gold.webp") - $ game.gold += 20 - gen "Well done [hermione_name], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 20 - else: - $ hermione.set_cum(hair="light") - her "" ("cum", "narrow", "base", "dead") - gen "What happened to you?" ("base", xpos="far_left", ypos="head") - her "What do you mean..." ("open", "narrow", "worried", "mid_soft") - her "Oh, that..." ("base", "narrow", "worried", "down", cheeks="blush") - gen "Yes, that..." ("base", xpos="far_left", ypos="head") - her "There's a good explanation for this." ("normal", "narrow", "base", "down", cheeks="blush") - gen "..." ("base", xpos="far_left", ypos="head") - gen "Go on." ("base", xpos="far_left", ypos="head") - her "Oh, sorry... Well, I was trying out a new sales tactic..." ("open", "happy", "base", "R", cheeks="blush") - gen "Something the twins came up with I assume?" ("base", xpos="far_left", ypos="head") - her "No, I read about it in one of their books actually." ("grin", "happy", "base", "mid_soft") - her "Much like how you should always put the most lucrative cheap items at the counter to make the customer..." ("open", "base", "base", "mid") - gen "Get on with it." ("angry", xpos="far_left", ypos="head") - her "Fine..." ("annoyed", "narrow", "base", "R_soft", cheeks="blush") - her "I read that by putting the customer in a state of peace and happiness it would make them more susceptible to making hasty decisions." ("smile", "happyCl", "base", "mid", cheeks="blush") - gen "Didn't think you'd be interested in such... unorthodox sales tactics..." ("grin", xpos="far_left", ypos="head") - her "I was curious to see if it would work more than anything else." ("base", "closed", "base", "mid", cheeks="blush") - her "I tried it out to test the legitimacy of the claims in that book of theirs..." ("open", "base", "base", "mid") - gen "of course..." ("base", xpos="far_left", ypos="head") - gen "And how many times did you test this... theory of yours." ("base", xpos="far_left", ypos="head") - her "There's no conclusion to be made by just testing a theory once [genie_name]." ("normal", "closed", "angry", "mid") - her "Anyway..." ("open", "base", "base", "mid") - her "Here's your payment." ("open", "base", "base", "mid") - call give_reward(_("You have received twenty gold"), "interface/icons/gold.webp") - $ game.gold += 20 - gen "Well done [hermione_name], twenty-five points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 25 - - her "Good night, [genie_name]." - call her_walk(action="leave") - - $ hermione.equip(her_outfit_last) - $ hermione.set_cum(None) - - call music_block - jump main_room_menu diff --git a/game/scripts/characters/hermione/events/jobs_NOT_IN_USE.txt b/game/scripts/characters/hermione/events/jobs_NOT_IN_USE.txt new file mode 100644 index 00000000..6a449460 --- /dev/null +++ b/game/scripts/characters/hermione/events/jobs_NOT_IN_USE.txt @@ -0,0 +1,355 @@ + +# Barmaid Job +label job_2: + if states.her.level <= 6: + her "*Humph*!..." + elif states.her.level >=7 and states.her.level <= 15: + her "Yes [name_genie_hermione]..." + else: + her "As you wish [name_genie_hermione]." + + show screen blkfade + with d5 + # Setup + play sound "sounds/cloth_sound.ogg" + $ her_outfit_last.save() + $ hermione.equip(her_outfit_maid) + her "" ("base", "base", "base", "mid",xpos="right",ypos="base") + hide screen blkfade + with d5 + + pause 2.5 + hide hermione_main + with d3 + + gen "Off you go then..." ("base", xpos="far_left", ypos="head") + + call her_walk(action="leave") + + $ states.her.busy = True + $ current_job = "barmaid" + + jump main_room_menu + +label barmaid_responses: + + $ hermione.equip(her_outfit_maid) + $ payment = renpy.random.randint(20, 50) + + call her_walk(action="enter", xpos="mid", ypos="base") + + her "" ("base", "base", "base", "mid",xpos="right",ypos="base") + pause.5 + + menu: + "\"How was your day?\"": + her "Fine..." + gen "Anything unusual happen?" ("base", xpos="far_left", ypos="head") + her "Not really, I just served people drinks." + gen "Well, in that case, ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione], here's your payment." + "-Dismiss her-": + her "Here's your payment." + nar "You receive {number=payment} gold coins." + gen "Well done [name_hermione_genie], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + + her "Thank you, [name_genie_hermione]." + + $ gryffindor+= 20 + $ game.gold += payment + + call her_walk(action="leave") + + $ hermione.equip(her_outfit_last) + + $ states.her.busy = True + $ current_job = None + jump main_room_menu + +# Gryffindor Cheerleader Job (Needs outfit) +label job_3: + if states.her.level <= 6: + her "*Humph*!..." + elif states.her.level <= 15: + her "Yes, [name_genie_hermione]..." ("normal", "base", "base", "R") + else: + her "As you wish, [name_genie_hermione]." ("open", "base", "base", "mid") + + show screen blkfade + with d5 + play sound "sounds/cloth_sound.ogg" + $ her_outfit_last.save() # Store current outfit. + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy + $ hermione.equip(her_outfit_cheerleader_2) + else: #Normal + $ hermione.equip(her_outfit_cheerleader_1) + her "" ("base", "base", "base", "mid",xpos="right",ypos="base") + hide screen blkfade + with d5 + + pause 2.5 + hide hermione_main + with d3 + + gen "You look great!" ("grin", xpos="far_left", ypos="head") + her "Thank you..." ("base", "happyCl", "base", "mid") + gen "Off you go then..." ("base", xpos="far_left", ypos="head") + + call her_walk(action="leave") + + $ states.her.busy = True + $ current_job = "gryffindor_cheerleader" + + jump main_room_menu + +label gryffindor_cheer_responses: + + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy + $ hermione.equip(her_outfit_cheerleader_2) + else: #Normal + $ hermione.equip(her_outfit_cheerleader_1) + $ payment = renpy.random.randint(40, 80) + + call her_walk(action="enter", xpos="mid", ypos="base") + + her "" ("base", "base", "base", "mid",xpos="right",ypos="base") + pause.5 + + menu: + "\"How was your day?\"": + random: + block: + her "It was good [name_genie_hermione], I think that the team morale has really started to go up." ("base", "base", "base", "mid") + gen "How so?" ("base", xpos="far_left", ypos="head") + her "Well, since I've started, they seem to have improved their tactics." ("open", "base", "base", "mid") + her "They also seem much happier. Harry is always looking at me with a smile on his face." ("base", "base", "base", "mid") + gen "And does he look at you a lot?" ("base", xpos="far_left", ypos="head") + her "Of course he does, we're good friends." ("open", "base", "base", "mid") + gen "\"I'm sure that must be the reason\"..." ("base", xpos="far_left", ypos="head") + her "Well, here's the money, [name_genie_hermione]." ("base", "base", "base", "mid") + nar "You receive [payment] gold coins." + gen "Well done, [name_hermione_genie], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "Tiring. This cheering thing really is quite exhausting." ("open", "base", "worried", "mid") + gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") + her "Not unless you count me almost dropping my pom-pom." ("normal", "base", "base", "mid") + gen "I don't... Well, did they pay you?" ("base", xpos="far_left", ypos="head") + her "Of course, here you are [name_genie_hermione]." ("open", "base", "base", "mid") + nar "You receive [payment] gold coins." + gen "Well done [name_hermione_genie], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "Very well, thank you... All the boys said that I helped keep their spirits up." ("open", "base", "base", "mid") + gen "{size=-5}I'm sure that wasn't the only thing you've helped stay up...{/size}" ("base", xpos="far_left", ypos="head") + her "What was that [name_genie_hermione]?" ("open", "squint", "base", "mid") + gen "I was just saying that I'm sure you did a stand up job." ("base", xpos="far_left", ypos="head") + her "I think so..." ("base", "happyCl", "base", "mid") + gen "Well, did they pay you for raising their \"spirits\"?" ("base", xpos="far_left", ypos="head") + her "Of course they did." ("open", "base", "base", "mid") + nar "You receive [payment] gold coins." + gen "Well done [name_hermione_genie], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + gen "You seem very chipper today." ("base", xpos="far_left", ypos="head") + her "Of course I am, we won!" ("base", "base", "base", "mid") + gen "Won?" ("base", xpos="far_left", ypos="head") + her "We won! We beat Slytherin in a practice match." ("smile", "happyCl", "base", "mid") + gen "You seem a little bit overexcited for just a practice match." ("base", xpos="far_left", ypos="head") + her "Well it was such a great game. Not to mention that we got to rub it in those Slytherin students' faces afterwards." ("smile", "base", "base", "R") + gen "Well I'm glad that you are enjoying your work." ("grin", xpos="far_left", ypos="head") + her "I am [name_genie_hermione]. Given that most of the \"work\" I've done to help my house is kept private, it feels good to be able to do something public once." ("open", "base", "base", "mid") + gen "Not to mention you get paid for it..." ("base", xpos="far_left", ypos="head") + her "Oh, right, Here you are..." ("soft", "base", "base", "R") + nar "You receive [payment] gold coins." + gen "Well done [name_hermione_genie], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "We won! We managed to beat Slytherin." ("base", "base", "base", "mid") + gen "That must have been very exhilarating. I'm sure your cheering gave the extra motivation needed to win." ("base", xpos="far_left", ypos="head") + her "I think it did [name_genie_hermione]. They were all very excited to receive their reward for winning the game." ("base", "happyCl", "base", "mid") + + menu: + "-Reward?-": + gen "What reward did you promise them?" ("base", xpos="far_left", ypos="head") + her "Well, I was quite keen to ensure our victory against Slytherin that I may have promised that I would give each of them a blowjob if they won." ("grin", "base", "base", "R") + gen "You gave every team member a blowjob after the game?" ("base", xpos="far_left", ypos="head") + her "And the water boy..." ("smile", "narrow", "base", "mid_soft") + gen "How did you even manage that? Did you have to crawl around the locker room on your knees?" ("base", xpos="far_left", ypos="head") + her "Of course not, they all patiently waited for their turn..." ("scream", "closed", "angry", "mid") + gen "Who doesn't love a queue..." ("base", xpos="far_left", ypos="head") + gen "So they queued up... And then?" ("base", xpos="far_left", ypos="head") + her "Well I did what I said I would, I'm not the kind of person to lie am I?" ("annoyed", "base", "worried", "R") + her "So, I gave them the reward I promised... And surely, you of all people would know how a blowjob works." ("annoyed", "happy", "base", "R") + gen "That's not quite what I meant." ("base", xpos="far_left", ypos="head") + gen "You just look rather..." ("base", xpos="far_left", ypos="head") + gen "Clean, that's all." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, well..." ("base", "narrow", "worried", "down") + her @ cheeks blush "I didn't want to make a mess." ("soft", "narrow", "base", "down") + her "Anyhow, I'm glad I did it. I can't wait to rub it in Astoria's face tomorrow..." ("smile", "base", "base", "mid") + gen "I'm glad you think it was worth it. Did they pay you?" ("base", xpos="far_left", ypos="head") + "-Okay-": + gen "I'm sure it was worth it. Did they pay you?" ("base", xpos="far_left", ypos="head") + + her "Of course they did [name_genie_hermione], here you are." + gen "Well done [name_hermione_genie], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + + "-Dismiss her-": + her "Here's your payment [name_genie_hermione]." ("soft", "base", "base", "R") + gen "Well done [name_hermione_genie], ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + + her "Thank you, [name_genie_hermione]." ("base", "happyCl", "base", "mid") + nar "You receive [payment] gold coins." + $ gryffindor+= 20 + $ game.gold += payment + + call her_walk(action="leave") + + $ hermione.equip(her_outfit_last) + + $ states.her.busy = True + $ current_job = None + jump main_room_menu + +# Slytherin Cheerleader Job +label job_4: + + if states.her.level <= 6: + her "*Humph*!..." + elif states.her.level >=7 and states.her.level <= 15: + her "Yes, [name_genie_hermione]..." + else: + her "As you wish, [name_genie_hermione]." + + show screen blkfade + with d5 + play sound "sounds/cloth_sound.ogg" + $ her_outfit_last.save() # Store current outfit. + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy + $ hermione.equip(her_outfit_cheerleader_2) + else: #Normal + $ hermione.equip(her_outfit_cheerleader_1) + her "" ("base", "base", "base", "mid",xpos="right",ypos="base") + hide screen blkfade + with d5 + + pause 2.5 + hide hermione_main + with d3 + + gen "You look incredible!" ("angry", xpos="far_left", ypos="head") + her "Thank you..." ("base", "happyCl", "base", "mid") + gen "Off you go then..." ("base", xpos="far_left", ypos="head") + + call her_walk(action="leave") + + $ states.her.busy = True + $ current_job = "slytherin_cheerleader" + + call music_block + jump main_room_menu + +label slytherin_cheer_responses: + + if her_outfit_cheerleader_2.unlocked and states.her.level >= 11: #Sexy + $ hermione.equip(her_outfit_cheerleader_2) + else: #Normal + $ hermione.equip(her_outfit_cheerleader_1) + + $ payment = renpy.random.randint(50, 100) + + call her_walk(action="enter", xpos="mid", ypos="base") + + if states.her.public_level > 15: + her "" ("base", "narrow", "base", "up",xpos="right",ypos="base") + else: + her "" ("base", "base", "base", "mid",xpos="right",ypos="base") + pause.5 + + menu: + "-Ask her about her day-": + random: + block: + gen "How was your day today [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Exhausting... Those Slytherin pigs insisted that I cheer for their entire practice session." ("open", "closed", "angry", "mid") + her "They were hardly playing the game by the end. They were just standing there watching me." + gen "Well what was your routine?" ("base", xpos="far_left", ypos="head") + her "Mostly star jumps while I cheered \"Go Slytherin!\"." ("annoyed", "squint", "angry", "mid") + gen "So you were just jumping up and down? That doesn't seem like a very intricate cheer." ("base", xpos="far_left", ypos="head") + her "It isn't, but it's what they insisted I do." ("annoyed", "narrow", "angry", "R") + gen "Well it definitely sounds like you earned your points." ("base", xpos="far_left", ypos="head") + gen "Thirty points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + gen "How was your day today [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Uneventful. I completed my routine and then went back to my room..." ("open", "squint", "base", "mid") + gen "You didn't talk to anyone?" ("base", xpos="far_left", ypos="head") + her "I make a point of trying to avoid Slytherin students as best I can." ("annoyed", "narrow", "angry", "R") + gen "Are they really that unbearable?" ("base", xpos="far_left", ypos="head") + her "Yes..." ("open", "closed", "angry", "mid") + gen "Well, you earned your points." ("base", xpos="far_left", ypos="head") + gen "Thirty points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + gen "Hello [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Hello [name_genie_hermione]." ("normal", "base", "base", "mid") + gen "How did everything go today?" ("base", xpos="far_left", ypos="head") + her "Very well... In fact, I think I might be doing too well." ("annoyed", "base", "worried", "R") + gen "How so?" ("base", xpos="far_left", ypos="head") + her "I think that my cheering is having too much of a positive effect." ("open", "base", "worried", "mid") + her "I'm not sure that I want the Slytherin team to improve, let alone because of me..." ("open", "base", "worried", "R") + gen "Just think about how you're helping your house in other ways." ("base", xpos="far_left", ypos="head") + her "I suppose you're right [name_genie_hermione]." ("open", "base", "base", "mid") + gen "Of course I am... Now, did they pay you?" ("base", xpos="far_left", ypos="head") + her "Yes [name_genie_hermione]." ("base", "base", "base", "mid") + gen "Well done [name_hermione_genie], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "[name_genie_hermione], something must be done about those Slytherin boys..." ("open", "closed", "angry", "mid") + her "It's bad enough that I have to cheer for them, but they are being a little bit touchy." ("annoyed", "narrow", "angry", "R") + gen "Touchy?" ("base", xpos="far_left", ypos="head") + her "Yes, they keep groping me. It's highly inappropriate, and it interrupts my routine." ("scream", "closed", "angry", "mid") + gen "You kept dancing while they groped you?" ("base", xpos="far_left", ypos="head") + her "Of course, I'm there to complete a job. I'm not getting distracted just because of a few boys." ("open", "closed", "angry", "mid") + gen "Well, what would you have me do?" ("base", xpos="far_left", ypos="head") + her "Speak to Professor Snape, tell him to chastise them. They'll listen to him..." ("angry", "base", "angry", "mid") + gen "Very well, I'll speak to him. Although I'm not sure it will have the effect you're hoping for." ("base", xpos="far_left", ypos="head") + her "It better, otherwise I won't put my full effort into this..." ("normal", "squint", "angry", "mid") + gen "{size=-5}I'm sure that'll show them.{/size}" ("base", xpos="far_left", ypos="head") + her "What was that [name_genie_hermione]?" ("open", "squint", "base", "mid") + gen "Nothing [name_hermione_genie], I'll speak to Professor Snape tonight..." ("base", xpos="far_left", ypos="head") + block:#Comes back with cum on her + gen "What the hell happened to you?" ("base", xpos="far_left", ypos="head") + her "I did my job [name_genie_hermione]." ("angry", "narrow", "base", "down") + gen "What are you talking about? You were supposed to be a cheerleader." ("base", xpos="far_left", ypos="head") + gen "You know, cheering..." ("base", xpos="far_left", ypos="head") + gen "And all that." ("base", xpos="far_left", ypos="head") + her "I am [name_genie_hermione]. I just performed a different type of cheer today." ("soft", "narrow", "annoyed", "up") + gen "And by that, you mean jerking off the entire Slytherin team?" ("base", xpos="far_left", ypos="head") + her "Well that's not how it started. I was initially just giving them a bit of a dance in the locker room..." ("angry", "narrow", "base", "down") + her "And one thing led to another." + gen "Fine, I don't want to hear it. How much did they pay you for this \"cheering\"?" ("base", xpos="far_left", ypos="head") + her "Pay me?" ("silly", "narrow", "base", "dead") + gen "You are supposed to be paid for this [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, I must have forgotten... Sorry [name_genie_hermione]." ("base", "base", "base", "R") + gen "Fine, but you aren't getting any points." ("base", xpos="far_left", ypos="head") + her "Of course [name_genie_hermione]. Will that be all?" ("base", "base", "base", "mid") + gen "Yes, you're free to go now." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") + + jump end_her_working_no_payment + "-Dismiss her-": + her "Here's your payment." ("open", "base", "base", "mid") + nar "You receive [payment] gold coins." + gen "Well done [name_hermione_genie], thirty points to Gryffindor." ("base", xpos="far_left", ypos="head") + + her "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") + nar "You receive [payment] gold coins." + $ gryffindor+= 30 + $ game.gold += payment + + label end_her_working_no_payment: + + call her_walk(action="leave") + + $ hermione.equip(her_outfit_last) + + $ states.her.busy = True + $ current_job = None + + call music_block + jump main_room_menu + diff --git a/game/scripts/characters/hermione/events/odd_jobs/init.rpy b/game/scripts/characters/hermione/events/odd_jobs/init.rpy new file mode 100644 index 00000000..225ca1e7 --- /dev/null +++ b/game/scripts/characters/hermione/events/odd_jobs/init.rpy @@ -0,0 +1,19 @@ +init offset = 5 + +default her_ev_maid_job_return = Event(id="her_ev_maid_job_return", label="her_maid_job_return", priority=5, req="not game.daytime") +default her_ev_maid_job_hub = Event(id="her_ev_maid_job_hub", label="her_maid_job", priority=5, req="her_outfit_maid.unlocked", repeat=True, autoenqueue=True, autodequeue=False, queue="her_eventqueue_jobs_maid", subevents=["her_ev_maid_job_return"]) + +default her_ev_promoter_job_return = Event(id="her_ev_promoter_job_return", label="her_promoter_job_return", priority=5, req="not game.daytime") +default her_ev_promoter_job_hub = Event(id="her_ev_promoter_job_hub", label="her_promoter_job", priority=5, req="states.her.ev.promote_cardgame.offered and poker_outfit_ITEM.unlocked", repeat=True, autoenqueue=True, autodequeue=False, queue="her_eventqueue_jobs_promoter", subevents=["her_ev_promoter_job_return"]) + + +default her_ev_panty_thief_t1_e1 = Event(id="her_ev_panty_thief_t1_e1", label="hg_pr_panty_thief_T1_E1", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_panty_thief") +default her_ev_panty_thief_t2_e1 = Event(id="her_ev_panty_thief_t2_e1", label="hg_pr_panty_thief_T2_E1", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_panty_thief") +default her_ev_panty_thief_t3_e1 = Event(id="her_ev_panty_thief_t3_e1", label="hg_pr_panty_thief_e1_return", req="game.daytime==False") +default her_ev_panty_thief_t3_e1_hub = Event(id="her_ev_panty_thief_t3_e1_hub", label="hg_pr_panty_thief_e1", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_panty_thief", subevents=["her_ev_panty_thief_t3_e1"]) + +define hermione_jobs = [ + ("her_eventqueue_jobs_maid", "Work as a maid!"), + ("her_eventqueue_jobs_promoter", "Work as a promoter!"), + ("her_eventqueue_panty_thief", "Ditch the panties!"), +] diff --git a/game/scripts/characters/hermione/events/odd_jobs/maid.rpy b/game/scripts/characters/hermione/events/odd_jobs/maid.rpy new file mode 100644 index 00000000..43196cdc --- /dev/null +++ b/game/scripts/characters/hermione/events/odd_jobs/maid.rpy @@ -0,0 +1,326 @@ + +# Maid Job +label her_maid_job: + + if not states.her.ev.maid.intro_complete: + $ states.her.ev.maid.intro_complete = True + her "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) + gen "I think it's about time we got someone to clean up this place." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "squint", "base", "mid", xpos="right", ypos="base") + gen "Don't you think it's about time that someone set a good example and cleaned up this castle?" ("base", xpos="far_left", ypos="head") + if states.her.level < 4: + her "Finally you've come to your senses..." ("base", "closed", "base", "mid") + her "Of course I'll help!" ("base", "base", "base", "mid") + gen "Great, then I've got this maid's outfit for you!" ("base", xpos="far_left", ypos="head") + her "..." ("angry", "narrow", "base", "down") + her "What is this?!" ("clench", "squint", "base", "down") + gen "A maid's outfit!" ("base", xpos="far_left", ypos="head") + gen "You'll need it for the cleaning you're about to do." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], this isn't what I thought you meant..." ("disgust", "squint", "base", "mid") + gen "You'll get paid in points, of course..." ("base", xpos="far_left", ypos="head") + her "*Hmm*..." ("upset", "narrow", "base", "R") + gen "And I suppose you'll technically be working for me, so you can get paid for your work..." ("base", xpos="far_left", ypos="head") + her "That's good I suppose..." ("open", "squint", "base", "R") + gen "Although I'm technically not supposed to hire students, so I'll have to hold on to your payment for now." ("base", xpos="far_left", ypos="head") + her "Right..." ("angry", "squint", "base", "mid") + gen "So... You'll do it?" ("base", xpos="far_left", ypos="head") + her "I suppose I could..." ("normal", "squint", "base", "R") + gen "Great!" ("base", xpos="far_left", ypos="head") + gen "Return here in the evening to drop off your payment and tell me how it went." ("base", xpos="far_left", ypos="head") + if not is_in_lead(gryffindor): + her "Alright..." ("open", "base", "base", "mid") + her "Let me just put this on..." ("angry", "squint", "base", "mid") + else: #Gryffindor is in the lead + her "Oh, you want me to do it now?" ("open", "squint", "base", "mid") + gen "Of course, why else would I bring it up?" ("base", xpos="far_left", ypos="head") + her "But... We're in the lead right now." ("angry", "base", "base", "mid") + gen "So?" ("base", xpos="far_left", ypos="head") + her "So... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + + hide hermione_main + with d3 + + call tutorial("points") + + $ _event.cancel() + jump hermione_favor_menu.odd_jobs + + elif states.her.level < 13: + her "Cleaned up, [name_genie_hermione]?" ("angry", "base", "base", "mid") + gen "Yes, so you better put this on..." ("base", xpos="far_left", ypos="head") + her "A maid's outfit?" ("angry", "narrow", "base", "down") + her "Of course this is what you meant..." ("angry", "narrow", "base", "mid") + gen "You'll get paid in points, of course." ("base", xpos="far_left", ypos="head") + her "*Hmm*...{w=0.4} Alright, In that case, I suppose I could do it." ("angry", "closed", "base", "mid") + gen "Excellent... Although you'll have to return any monetary payments to me." ("base", xpos="far_left", ypos="head") + her "I do?" ("clench", "base", "base", "mid") + gen "You think I could just hire students to do these things?" ("base", xpos="far_left", ypos="head") + her "*Ehm*..." ("angry", "base", "base", "mid") + gen "No, I think it'd be best if I held on to it for now." ("base", xpos="far_left", ypos="head") + her "Right..." ("open", "base", "base", "mid") + gen "Return here in the evening to drop off your payment and tell me how it went." ("base", xpos="far_left", ypos="head") + if not is_in_lead(gryffindor): + her "Alright..." ("open", "squint", "base", "R") + her "Let me just put this on..." ("angry", "squint", "base", "mid") + else: #Gryffindor is in the lead + her "Oh, you want me to do it now?" ("open", "squint", "base", "mid") + gen "Of course, why else would I bring it up?" ("base", xpos="far_left", ypos="head") + her "But... We're in the lead right now." ("angry", "base", "base", "mid") + gen "So?" ("base", xpos="far_left", ypos="head") + her "So... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + hide hermione_main + with d3 + + call tutorial("points") + + $ _event.cancel() + jump hermione_favor_menu.odd_jobs + else: #13+ + her "I'm not sure what you--" ("angry", "base", "base", "mid") + gen "I want you to put this on!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "A maid's outfit?" ("angry", "narrow", "base", "down") + gen "Yep!" ("base", xpos="far_left", ypos="head") + gen "You'll get paid in points, of course." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmm*... Why not... This castle could use some cleaning where the house elves can't reach." ("open", "closed", "base", "mid") + gen "That's the spirit!" ("base", xpos="far_left", ypos="head") + gen "Just make sure you return here in the evening to give me your payments and tell me how it went." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Give you my what?" ("open", "base", "base", "mid") + gen "Payments." ("base", xpos="far_left", ypos="head") + gen "This will have to stay off the books, so I'll have to hold on to it for now." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Right..." ("open", "closed", "base", "mid") + if states.her.level >= 16: + her @ cheeks blush "Let me just put this on..." ("angry", "base", "base", "mid") + else: + if not is_in_lead(gryffindor): + her @ cheeks blush "Let me just put this on..." ("angry", "base", "base", "mid") + else: #Gryffindor in the lead + her "Oh, you want me to do it now?" ("open", "squint", "base", "mid") + gen "Of course, why else would I bring it up?" ("base", xpos="far_left", ypos="head") + her "But... We're in the lead right now." ("angry", "base", "base", "mid") + gen "So?" ("base", xpos="far_left", ypos="head") + her "So... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + hide hermione_main + with d3 + + call tutorial("points") + + $ _event.cancel() + jump hermione_favor_menu.odd_jobs + + else: + her "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) + random: + gen "I'd like you to go out and make me some money... *Err*... I mean, go out and earn some points." ("base", xpos="far_left", ypos="head") + gen "Time to earn some more points for your house, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Time for you to head out and help clean the castle." ("base", xpos="far_left", ypos="head") + gen "I've got a feather duster with your name on it, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Put this on for me will you?" ("base", xpos="far_left", ypos="head") + + if states.her.level < 4: + if not is_in_lead(gryffindor): + her "*Hmph!*..." ("upset", "base", "annoyed", "mid", xpos="right", ypos="base") + else: + her "No, thank you, [name_genie_hermione]." ("open", "squint", "base", "mid", xpos="right", ypos="base") + gen "What do you mean, no?" ("angry", xpos="far_left", ypos="head") + her "We're in the lead right now... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + hide hermione_main + with d3 + + call tutorial("points") + + $ _event.cancel() + jump hermione_favor_menu.odd_jobs + elif states.her.level < 16: + if not is_in_lead(gryffindor): + her "Alright..." ("angry", "base", "base", "mid", xpos="right", ypos="base") + else: + her "We're in the lead right now... There's no need for me to earn any points at the moment." ("grin", "base", "base", "mid", xpos="right", ypos="base") + gen "Right..." ("base", xpos="far_left", ypos="head") + hide hermione_main + with d3 + + call tutorial("points") + + $ _event.cancel() + jump hermione_favor_menu.odd_jobs + elif states.her.level < 22: + her "Of course, [name_genie_hermione]..." ("base", "squint", "base", "mid", xpos="right", ypos="base") + else: #22+ + her "As you wish, [name_genie_hermione]." ("base", "base", "base", "mid",xpos="right",ypos="base") + + show screen blkfade + with d5 + # Setup + $ maid_outfit_ITEM.used = True + play sound "sounds/cloth_sound.ogg" + $ her_outfit_last.save() + $ hermione.equip(her_outfit_maid) + hide screen blkfade + with d5 + + pause 2.5 + hide hermione_main + with d3 + + gen "Off you go then..." ("base", xpos="far_left", ypos="head") + + call her_walk(action="leave") + + $ states.her.busy = True + $ current_job = "maid" + + jump main_room_menu + +label her_maid_job_return: + + python: + progress_factor = math.log(states.her.tier + states.cho.tier + states.ton.tier + states.lun.tier + game.day) + payment = int(progress_factor * random_gold) + + $ hermione.equip(her_outfit_maid) + + call her_walk(action="enter", xpos="mid", ypos="base") + + gen "[name_hermione_genie]... Did you complete your task?" ("base", xpos="far_left", ypos="head") + her "I did." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=dissolve) + + menu: + "\"How was your day?\"": + if states.her.level < 4: + random: + block: + her "Do I really have to keep doing this?" ("normal", "narrow", "base", "R_soft") + gen "What do you mean, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "It's so degrading... I had to clean other students' dorms!" ("open", "narrow", "worried", "down") + gen "You can stop any time." ("base", xpos="far_left", ypos="head") + her "I can?" ("soft", "narrow", "worried", "mid_soft") + gen "Certainly, I'll just get one of those Slytherin floozies that you are always on about." ("grin", xpos="far_left", ypos="head") + gen "I'm sure that they'd jump at the chance to make some points for their house." ("base", xpos="far_left", ypos="head") + gen "They'd probably even do it for next to nothing, if not free." ("base", xpos="far_left", ypos="head") + her "Fine, I get your point...." ("upset", "closed", "base", "mid") + her "Can I get my points now?" ("angry", "closed", "angry", "mid") + gen "Certainly, ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "I think you need to start enforcing harsher punishment for sexual harassment." ("mad", "base", "angry", "mid") + gen "Why's that?" ("base", xpos="far_left", ypos="head") + her "Some Slytherin boys kept wolf whistling at me as I was scrubbing the floors." ("mad", "base", "angry", "mid") + gen "Just see it as a compliment [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "As if any Slytherin would be capable of such a thing... They're just doing it to embarrass me." ("mad", "base", "angry", "mid") + gen "Whatever you say [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "*Hmph*...{w=0.4} Can I get my points now?" ("angry", "closed", "angry", "mid") + gen "Certainly, ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "Dreadful... Peeves kept blowing air underneath my skirt!" ("clench", "narrow", "base", "down") + gen "Who?" ("base", xpos="far_left", ypos="head") + her "That da--{w=0.3} That poltergeist!" ("angry", "closed", "annoyed", "mid") + her "It's bad enough that I had to clean the corridors..." ("upset", "happy", "annoyed", "mid") + her @ cheeks blush "But the fact that he's able to do that thanks to this dress..." ("clench", "closed", "base", "mid") + gen "Doesn't your regular uniform have a skirt?" ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "squint", "base", "mid") + her "Can I have my points now?" ("clench", "narrow", "base", "R") + gen "Of course... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + elif states.her.level < 13: + random: + block: + her "It was as normal a day of cleaning rooms could be." ("open", "base", "base", "mid") + her "Although considering that I'm supposed to be in class during the day, I guess it's not that normal." ("soft", "base", "base", "R") + gen "Don't worry [name_hermione_genie], you'll get your points." ("base", xpos="far_left", ypos="head") + gen "Just think of how happy your friends will be when they win the house cup this year." ("base", xpos="far_left", ypos="head") + her "I suppose..." ("open", "base", "base", "R") + gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "It was fine I suppose..." ("soft", "base", "base", "R") + gen "Nothing else to tell me? What were you tasked to do today?" ("base", xpos="far_left", ypos="head") + her "*Ehm*..." ("open", "narrow", "base", "down") + her "Well, I was tasked to clean the boys' changing room..." ("angry", "closed", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + her "They really should've told me when... How am I supposed to know when they're not using it?" ("clench", "narrow", "base", "down") + gen "Ten points to Gryffindor!" ("base", xpos="far_left", ypos="head") + her "..." ("angry", "base", "base", "mid") + block: + her "Professor Snape had me sort his potion ingredients all day..." ("open", "narrow", "base", "mid") + gen "Doesn't sound too bad..." ("base", xpos="far_left", ypos="head") + her "He asked me to put everything on the highest shelves..." ("disgust", "narrow", "base", "mid") + her "When I asked him why, he told me not to question his organization system..." ("angry", "narrow", "base", "mid") + her "As if he had one to begin with... He was probably just wanted a peek up my skirt." ("open", "closed", "annoyed", "mid") + her "..." ("upset", "narrow", "base", "mid") + her "Can I have my points now?" ("angry", "narrow", "base", "mid") + gen "Of course... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + elif states.her.level < 22: + random: + block: + her "It was pretty uneventful." ("open", "base", "base", "R") + her "I suppose I should feel more annoyed by the other students staring at me, but it doesn't bother me that much." ("open", "base", "base", "R") + gen "Good to hear." ("base", xpos="far_left", ypos="head") + her "I am helping the school after all..." ("base", "closed", "base", "mid") + gen "That you are... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "I had to dust all the shelves in the library today." ("open", "closed", "base", "mid") + gen "That doesn't sound too bad..." ("base", xpos="far_left", ypos="head") + her "Well I got yelled at by Miss Pince for no reason." ("upset", "squint", "base", "mid") + her "She kept telling me that the other students needed to work on their studies and that I kept distracting them." ("clench", "narrow", "base", "mid") + her "Yet she didn't tell me to stop cleaning..." ("annoyed", "narrow", "base", "mid") + gen "Sound like a job well done to me... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + her "..." ("angry", "squint", "base", "mid") + block: + her "Pretty uneventful." ("open", "base", "base", "R") + her "I cleaned the prefects' bathroom today, so there weren't really that many people around." ("soft", "base", "base", "mid") + her @ cheeks blush "Although one of the mermaid portraits kept blowing me kisses." ("open", "squint", "base", "R") + gen "Was she attractive?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("normal", "squint", "base", "mid") + her @ cheeks blush "As attractive as a mermaid can be I suppose..." ("normal", "squint", "base", "mid") + gen "Nicely done... Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + else: #22+ + random: + block: + her @ cheeks blush "It was fine... I cleaned the staffroom today..." ("open", "closed", "base", "mid") + her @ cheeks blush "Professor Snape seemed to think it was really funny to have me Scourgify his robes constantly as he continued spilling tea on himself..." ("angry", "narrow", "base", "R") + gen "Well, I suppose that comes with the job." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "That's what he said..." ("angry", "narrow", "base", "down") + gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + her "Good, although I didn't really get much work done today." ("open", "narrow", "base", "R") + gen "Oh...{w=0.4} Why's that?" ("base", xpos="far_left", ypos="head") + her "Well...{w=0.4} I was asked to help the house elves and every time I started doing something one of them would come and do it for me." ("angry", "squint", "base", "mid") + her "Constantly apologizing for not having done it yet and bowing to me..." ("open", "narrow", "base", "mid") + gen "(Uh-oh...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It was kind of cute to be honest." ("base", "squint", "base", "R") + gen "Well then, I assume you still got paid?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh...{w=0.4} Yes [name_genie_hermione]..." ("angry", "base", "base", "mid") + gen "Great! Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + block: + gen "Tell me what you've been doing." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I've been cleaning professor Tonks' office..." ("open", "base", "base", "mid") + her @ cheeks blush "The things she keeps in there..." ("angry", "narrow", "base", "down") + her @ cheeks blush "Why I hope none of the other students get detention with her." ("open", "closed", "base", "mid") + gen "Found anything interesting?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmm*... Not sure if she'd like it if I told you..." ("angry", "narrow", "base", "R") + gen "(As if I couldn't already guess...)" ("base", xpos="far_left", ypos="head") + gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + + "-Dismiss her-": + gen "Great, then that will be all for now." ("base", xpos="far_left", ypos="head") + gen "Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + + her "Thank you, [name_genie_hermione]." ("open", "base", "base", "mid") + her "Here's the payment." ("open", "base", "base", "mid") + nar "You receive {number=payment} gold coins." + + $ gryffindor+= 10 + $ game.gold += payment + + call her_walk(action="leave") + + $ hermione.equip(her_outfit_last) + + $ states.her.busy = True + $ current_job = None + + jump main_room_menu + +#Send Hermione to work, promoting the card game. + diff --git a/game/scripts/characters/hermione/events/odd_jobs/panty_thief.rpy b/game/scripts/characters/hermione/events/odd_jobs/panty_thief.rpy new file mode 100644 index 00000000..6caad79e --- /dev/null +++ b/game/scripts/characters/hermione/events/odd_jobs/panty_thief.rpy @@ -0,0 +1,559 @@ +label start_hg_pr_panty_thief: + + if not _events_completed_any: + gen "{size=-4}(I could ask her to take off her panties and give them to me before she leaves for classes today.){/size}" ("base", xpos="far_left", ypos="head") + + menu: + "\"(Yes, let's do it!)\"": + pass + "\"(Not right now.)\"": + $ _event.cancel() + jump hermione_favor_menu + + return + +label hg_pr_panty_thief_fail: + jump end_hermione_event + +### Fail Events ### +label hg_pr_panty_thief_T1_E1: + + call start_hg_pr_panty_thief + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "Give me your panties!" ("base", xpos="far_left", ypos="head") + her "Give you--" ("angry", "wide", "base", "stare") + her "My panties!?!" ("angry", "wide", "worried", "mid") + gen "That's right, I could really use a pair to--" + her "I refuse!" ("open", "happyCl", "worried", "mid") + gen "What? Why not?" ("base", xpos="far_left", ypos="head") + her "Good day to you, Sir!" ("angry", "happyCl", "worried", "mid") + + call her_walk(action="leave") + + gen "(\"Good day\", she says...{w=0.4} If she really wanted me to have a good day, she would've given me her panties...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 8 + + jump hg_pr_panty_thief_fail + +label hg_pr_panty_thief_T2_E1: + + call start_hg_pr_panty_thief + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid") + gen "I could really do with a pair of underwear today... How about you let me borrow yours?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You want to... Borrow my underwear?" ("soft", "wide", "base", "stare") + gen "Your panties, specifically." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Why would you want to--" ("angry", "base", "base", "mid") + her @ cheeks blush "What would you need panties for!?" ("disgust", "narrow", "base", "mid") + gen "Lots of things..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "narrow", "base", "mid") + her @ cheeks blush "I refuse..." ("annoyed", "narrow", "base", "mid") + gen "(Figured...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Good day to you, Sir..." ("open", "narrow", "base", "R") + + call her_walk(action="leave") + + gen "(\"Good day\", she says...{w=0.4} If she really wanted me to have a good day, she would've let me borrow her panties...)" ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 6 + + jump hg_pr_panty_thief_fail + +label hg_pr_panty_thief_e1: + + call start_hg_pr_panty_thief + + her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "I am listening, [name_genie_hermione]." ("open", "base", "base", "mid") + gen "I will need your panties..." ("base", xpos="far_left", ypos="head") + + if not states.her.status.stripping: + her "My panties?!" ("open", "base", "worried", "mid") + gen "That's right..." ("base", xpos="far_left", ypos="head") + her "But then... I won't have anything to--" ("angry", "base", "worried", "R") + her "And you..." ("open", "base", "worried", "mid") + gen "Yes?" ("base", xpos="far_left", ypos="head") + her "I'm sorry, [name_genie_hermione]... But you're asking too much..." ("open", "closed", "worried", "mid") + + call her_walk(action="leave") + + $ states.her.mood += 6 + + $ _event.cancel() + jump end_hermione_event + + elif not _events_completed_any: + stop music fadeout 10.0 + + her "W-what?" ("open", "base", "worried", "mid") + her "My... panties...?" + her "[name_genie_hermione], this is--" + gen "This is the favour I will be buying from you today, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "If you are not interested, then you are more than welcome to leave." ("base", xpos="far_left", ypos="head") + her "No, I am interested... It's just--" + her "You need my..." + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + her "... Panties, [name_genie_hermione]?" ("angry", "base", "base", "mid") + gen "Yes I do..." ("base", xpos="far_left", ypos="head") + her "May I ask what you are planning to do with them...?" ("disgust", "narrow", "base", "mid_soft") + gen "*Ehm*... I'm conducting research..." ("base", xpos="far_left", ypos="head") + if states.her.tier < 5: + her "But this is kind of inappropriate, don't you think?" + gen "You wanted to get ahead of Slytherin, did you not?" ("base", xpos="far_left", ypos="head") + her "Yes, I do!" ("angry", "base", "angry", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + gen "Tell me, [name_hermione_genie], do you believe that the Slytherin girls would refuse to hand out their panties for points?" ("base", xpos="far_left", ypos="head") + her "They wouldn't even hesitate... Those Slytherin tramps have no dignity." ("annoyed", "narrow", "angry", "R") + gen "Well, there you go then!" ("base", xpos="far_left", ypos="head") + her "*Huh*?" ("disgust", "narrow", "base", "mid_soft") + gen "If they wouldn't even hesitate..." ("base", xpos="far_left", ypos="head") + her "..." ("open", "base", "base", "mid") + gen "Don't you think they'll eventually come out on top and win the cup?" ("base", xpos="far_left", ypos="head") + her "But--" ("angry", "wide", "base", "mid") + gen "So, if you truly want your house to win, then you'll have to beat them at their own game!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]... Can't you just--" ("open", "base", "worried", "mid") + gen "Sorry, [name_hermione_genie]... As the headmaster, I cannot play favourites..." ("base", xpos="far_left", ypos="head") + gen "I wish I could just increase the amount of points I give you for the simple favours, but I have to honour the system..." ("base", xpos="far_left", ypos="head") + hide hermione_main + with d3 + + if hermione.is_worn("panties"): + $ hermione.strip("robe", "accessory") + $ hermione.strip("panties") + nar "Suddenly Hermione bends forward and takes off her panties." + else: + if hermione.is_any_worn("robe", "top", "bottom"): + nar "Suddenly Hermione reaches inside one of her hidden pockets." + else: + nar "Suddenly Hermione reaches inside--" + nar "Wait, she's not exactly clothed...{w=0.4} Well then..." + nar "By some kind of magic, a pair of panties suddenly appears in her hand." + + nar "She extends her arm to you, clutching a little piece of fabric in her fist." + gen "??!" ("base", xpos="far_left", ypos="head") + her @ tears soft "Just take them, [name_genie_hermione]..." ("mad", "base", "worried", "mid") + nar "Slightly surprised, you take the panties from her hand." + gen "What? When did you?" ("base", xpos="far_left", ypos="head") + her "Your speech was so moving..." + her "You are so right, [name_genie_hermione]! I shall beat them at their own game!" + her "My classes are about to start, so I should probably go now..." + her @ tears soft "..........." ("normal", "base", "base", "R") + her "I hope nobody will notice that I have no underwear on today..." ("annoyed", "base", "worried", "R") + her "Oh, and I will be back tonight to pick them up, [name_genie_hermione]." ("open", "base", "base", "mid") + gen "Of course. Your panties will be right here on my desk, waiting for you..." ("base", xpos="far_left", ypos="head") + her "............." ("angry", "happyCl", "worried", "mid") + else: + her @ cheeks blush "I see..." ("soft", "base", "base", "mid") + hide hermione_main + with d3 + + if hermione.is_worn("panties"): + $ hermione.strip("robe", "accessory") + $ hermione.strip("panties") + nar "Suddenly Hermione bends forward and takes off her panties." + else: + if hermione.is_any_worn("robe", "top", "bottom"): + nar "Suddenly Hermione reaches inside one of her hidden pockets." + else: + nar "Suddenly Hermione reaches inside--" + nar "Wait, she's not exactly clothed...{w=0.4} Well then..." + nar "By some kind of magic, a pair of panties suddenly appears in her hand." + nar "She then throws the panties over your desk, and they land in your lap." + her @ cheeks blush "Here you are." ("open", "closed", "base", "mid") + gen "(That was easy.)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Anything else?" ("open", "base", "base", "mid") + gen "That shall do for now [name_hermione_genie]... Feel free to come and collect your panties, later tonight." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Alright..." ("open", "narrow", "base", "R") + + else: + if _events_completed_any: + her "Again, [name_genie_hermione]?" + gen "Yes, again..." ("base", xpos="far_left", ypos="head") + + her "Here..." + + if states.her.tier > 4: + hide hermione_main + with d3 + + if hermione.is_worn("panties"): + $ hermione.strip("robe", "accessory") + $ hermione.strip("panties") + nar "Suddenly Hermione bends forward and takes off her panties." + else: + if hermione.is_any_worn("top", "bottom"): + nar "Hermione pulls her panties out of her pocket." + else: + nar "Suddenly Hermione reaches inside--" + nar "Wait, she's not exactly clothed...{w=0.4} Well then..." + nar "By some kind of magic, a pair of panties suddenly appears in her hand." + + nar "She casually throws them on your desk." + + gen "What?" ("base", xpos="far_left", ypos="head") + her "Yes, I had a feeling that you might ask for these today, [name_genie_hermione]." ("base", "base", "base", "mid") + gen "A feeling?" ("base", xpos="far_left", ypos="head") + her "Well, to be completely honest I just do not bother to wear them much anymore..." ("grin", "base", "base", "R") + + if hermione.is_equipped("panties"): + her "Unless I'm asked to, that is..." + + else: + hide hermione_main + with d3 + + if hermione.is_worn("panties"): + $ hermione.strip("robe", "accessory") + $ hermione.strip("panties") + nar "Hermione takes off her panties without hesitation." + else: + if hermione.is_any_worn("top", "bottom"): + nar "Suddenly Hermione reaches inside one of her hidden pockets." + else: + nar "Suddenly Hermione reaches inside--" + nar "Wait, she's not exactly clothed...{w=0.4} Well..." + nar "Magically, a pair of panties suddenly appears in her hand." + + nar "She casually throws the offending underwear on your desk." + + her "Classes are about to start, so I'd better go now..." ("soft", "base", "base", "mid") + + call her_walk(action="leave") + + $ states.her.ev.panty_thief.acquired = True + call give_reward("You have acquired Hermione's panties!", "interface/icons/panties.webp") + + jump end_hermione_event + +label hg_pr_panty_thief_e1_reactions: + # Hermione responds the cum on her panties + + $ states.her.ev.panty_thief.acquired = False + call give_reward("You hand over the panties...", "interface/icons/panties_cum.webp") + + if states.her.tier == 3: + her "*Hmm*....?" ("annoyed", "narrow", "worried", "down") + her "[name_genie_hermione]? What is this?" ("angry", "base", "angry", "mid") + her "What have you done to them?" + her "They are covered in something slimy..." ("normal", "squint", "angry", "mid") + + menu: + "\"An experiment went wrong!\"": + her "An experiment went wrong, [name_genie_hermione]?" ("open", "base", "base", "mid") + gen "Yes... Or maybe I should rather say..." ("base", xpos="far_left", ypos="head") + gen "\"An experiment went very right\"? *He-he*..." ("grin", xpos="far_left", ypos="head") + her ".....................?" ("normal", "squint", "angry", "mid") + her "What kind of experiment was it?" + gen "What? Oh..." ("base", xpos="far_left", ypos="head") + gen "Some top secret research I'm conducting." ("base", xpos="far_left", ypos="head") + gen "I can't discuss it with a student." ("base", xpos="far_left", ypos="head") + her "................................" ("angry", "base", "angry", "mid") + "\"You gave them to me like this!\"": + her "I most certainly did not, [name_genie_hermione]!" + her ".........................." + + her "Well, these will require some serious cleaning before I can put them on again..." ("annoyed", "narrow", "worried", "down") + gen "Or you could put them on now." ("base", xpos="far_left", ypos="head") + her "What?" ("open", "base", "base", "mid") + her "I really would rather not, [name_genie_hermione]..." ("disgust", "base", "base", "R") + + menu: + "\"Put them on or lose the points!\"": + $ states.her.mood +=7 + her "What?" ("scream", "wide", "base", "mid") + her "[name_genie_hermione], you are joking, right?" + gen "I am not..." ("base", xpos="far_left", ypos="head") + her "B-but..." ("open", "base", "base", "mid") + her "........................................" ("normal", "happyCl", "worried", "mid") + her "{size=-5}Must you always have your way, [name_genie_hermione]?{/size}" ("angry", "base", "angry", "mid") + gen "What was that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "It's nothing, [name_genie_hermione]." ("scream", "closed", "angry", "mid") + her "Putting my panties back on!" + hide hermione_main + nar "Hermione hesitantly puts on her panties." + + if hermione.is_equipped("panties"): + $ hermione.wear("panties") + else: + $ hermione.equip(her_panties_base1) + + nar "A tiny stream of cum trickles down her leg." + nar "Hermione looks very uncomfortable." + her "......................" ("angry", "happyCl", "worried", "mid") + + "\"Well, suit yourself...\"": + pass + + her "And my payment?" ("annoyed", "base", "base", "mid") + + elif states.her.tier == 4: + her "My panties..." ("annoyed", "narrow", "worried", "down") + her "What happened to them, [name_genie_hermione]?" ("annoyed", "narrow", "worried", "down") + + menu: + "\"An experiment went wrong.\"": + her "*Hmm*..." + her "I see..." + + "\"You gave them to me like this!\"": + her "Did I? Oh, well..." + + hide hermione_main + nar "Hermione gives her cum-soaked underwear a quizzical look." + her "Seems like these will require some serious cleaning before I can put them on again..." ("open", "narrow", "worried", "down") + gen "Why not put them on now?" ("base", xpos="far_left", ypos="head") + her "*Hmm*...?" ("annoyed", "squint", "base", "mid") + her "Well, I suppose I could wear them one more time before putting them into laundry..." ("annoyed", "narrow", "worried", "down") + hide hermione_main + nar "Hermione puts on the panties." + + if hermione.is_equipped("panties"): + $ hermione.wear("panties") + else: + $ hermione.equip(her_panties_base1) + + gen "You can go now." ("base", xpos="far_left", ypos="head") + her "What about my points?" ("angry", "base", "base", "mid") + gen "You still want points after I just gave you a gift?" ("base", xpos="far_left", ypos="head") + her "What gift?" ("angry", "base", "annoyed", "mid") + gen "You're wearing it." ("base", xpos="far_left", ypos="head") + her "What, soaked panties?" + gen "If you preferred receiving points, then you shouldn't have put them on." ("base", xpos="far_left", ypos="head") + her "Then why didn't you tell me before!" ("annoyed", "base", "worried", "R") + gen "Good girls say \"thank you\" when they receive a gift." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]...{w=0.3} for the gift." ("annoyed", "squint", "base", "mid") + gen "You can go now." ("base", xpos="far_left", ypos="head") + her "Alright... Good night then, [name_genie_hermione]." + + elif states.her.tier == 5: + her "My panties..." ("annoyed", "narrow", "worried", "down") + her "They are covered in something slimy..." + her "And they smell funny..." + her "*Hmm*... That smell..." ("annoyed", "base", "worried", "R") + her "What exactly did you do to them, [name_genie_hermione]?" ("open", "base", "base", "mid") + + menu: + "\"An experiment went wrong\"": + her "An experiment, *huh*?" + her "Of what nature?" + her "No, don't answer that... I think I know..." ("disgust", "base", "base", "R") + + "\"You gave them to me like this!\"": + her "I don't think so, [name_genie_hermione]." + her "But it's alright if you don't want to tell me, [name_genie_hermione]..." + her "I already know exactly what happened to them..." + + "\"I came all over them!\"": + her "I knew it..." ("disgust", "narrow", "base", "mid_soft") + her "They reek of semen!" + + her "*Hmm*..." ("annoyed", "base", "base", "R") + her "Seems like these will require some serious cleaning before I can put them on..." + her "Unless you require me to put them on now, [name_genie_hermione]...?" ("soft", "narrow", "base", "R") + + menu: + "\"Yes! Put them on now, [name_hermione_genie]!\"": + her "Well, if I must..." + her "I am only doing it to give my house a fair chance at winning the cup this year..." ("base", "happyCl", "base", "mid") + + "\"I don't care. Do what you want.\"": + her "Well, I suppose I shouldn't be walking around without underwear, unless you've asked me to..." + + gen "Right..." ("base", xpos="far_left", ypos="head") + hide hermione_main + nar "Hermione swiftly slides into her drenched panties..." + + if hermione.is_equipped("panties"): + $ hermione.wear("panties") + else: + $ hermione.equip(her_panties_base1) + + her "(This feels funny...)" ("angry", "closed", "worried", "mid") + gen "Alright then... Off you go." ("base", xpos="far_left", ypos="head") + her "But what about...{w=0.4} Okay then...{w=0.4} Good night, [name_genie_hermione]." ("angry", "base", "worried", "mid") + + elif states.her.tier >= 6: + her "My panties..." ("base", "narrow", "base", "up") + her "You came all over them..." + her "*Hmm*..." ("grin", "base", "base", "R") + her "These will require some serious cleaning before I can put them on..." + her "Unless you want me to put them on now, [name_genie_hermione]...?" ("soft", "narrow", "base", "R") + + menu: + "\"Yes! Put them on now, [name_hermione_genie]!\"": + her "Of course, I'd prefer not to do it, [name_genie_hermione]..." + her "But for the honour of house Gryffindor." ("soft", "closed", "base", "mid") + her "I'll do it... I'll... Even though it's gross..." ("base", "narrow", "base", "up") + gen "Right..." ("base", xpos="far_left", ypos="head") + hide hermione_main + nar "Hermione swiftly slides her drenched panties on..." + + if hermione.is_equipped("panties"): + $ hermione.wear("panties") + else: + $ hermione.equip(her_panties_base1) + + her "..." ("soft", "narrow", "annoyed", "up") + "\"Why don't you clean them now, instead?\"": + her "Of course, [name_genie_hermione]... Let me just get my wand." ("open", "base", "base", "mid") + gen "Not by using your wand, [name_hermione_genie]... Using your mouth." ("base", xpos="far_left", ypos="head") + her "My mouth?!" ("scream", "wide", "base", "mid") + gen "What's the big deal? You've done more than that, before." ("base", xpos="far_left", ypos="head") + her "It's a bit different! I wore these panties before I gave them to you." ("scream", "closed", "angry", "mid") + her "Not to mention that your cum is all cold and slimy..." ("scream", "happyCl", "worried", "mid") + gen "Well in that case, hand them back." ("base", xpos="far_left", ypos="head") + her "What? Can't I just put them on?" ("angry", "wink", "base", "mid") + gen "I'm afraid not... Either you clean them, or you hand them back." ("base", xpos="far_left", ypos="head") + her "{size=-4}Fine...{/size}" ("angry", "narrow", "base", "down") + gen "What was that?" ("base", xpos="far_left", ypos="head") + her "I said I'll clean them, okay!?" ("shock", "happyCl", "worried", "mid") + gen "Well..." ("base", xpos="far_left", ypos="head") + her "..." ("angry", "narrow", "base", "down") + nar "Hermione reluctantly puts her cum-soaked panties in her mouth." + play sound "sounds/gltch.ogg" + her "*Mmmmhhhhh*!" ("full_panties", "slit", "worried", "ahegao") + gen "That's it [name_hermione_genie]... Not as bad as you thought, is it?" ("base", xpos="far_left", ypos="head") + her "..." ("full_panties", "slit", "low", "stare") + gen "Make sure you get them nice and clean now..." ("base", xpos="far_left", ypos="head") + play sound "sounds/gulp.ogg" + her @ cheeks blush "*Gulp*" ("full_panties", "narrow", "worried", "down") + gen "That's it... Do you think they're clean yet?" ("base", xpos="far_left", ypos="head") + her "*Mmmhhhmmm*" ("full_panties", "narrow", "base", "dead") + gen "Open your mouth, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + play sound "sounds/gltch.ogg" + her "*Ahhhhh*" ("open_wide_tongue_panties", "narrow", "annoyed", "up") + gen "That's a good girl... Nice and clean." ("base", xpos="far_left", ypos="head") + gen "You can take them out now." ("base", xpos="far_left", ypos="head") + her "........" ("angry", "happyCl", "worried", "up") + + gen "Alright then, you may go..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]..." ("angry", "narrow", "base", "down") + gen "After you say \"thank you\"..." ("base", xpos="far_left", ypos="head") + her "Thank you for what?" ("angry", "wink", "base", "mid") + gen "For my cum." ("base", xpos="far_left", ypos="head") + her "..." ("base", "narrow", "worried", "down") + her "Thank you for your cum, [name_genie_hermione]..." ("grin", "narrow", "base", "down") + gen "Good... You may leave." ("base", xpos="far_left", ypos="head") + her "Good night, [name_genie_hermione]." ("open", "happy", "base", "mid") + + $ achievements.unlock("pantiesfap") + jump hg_pr_panty_thief_e1_return.end + +label hg_pr_panty_thief_e1_return: + # Hermione returns to get her panties back + + $ hermione.strip("panties") + + call her_walk(action="enter", xpos="mid", ypos="base") + + her "Good evening, [name_genie_hermione]..." ("base", "base", "base", "mid",xpos="right",ypos="base", trans=d5) + her "I came to retrieve what's mine..." ("open", "base", "base", "mid",xpos="right",ypos="base", trans=d5) + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + menu: + "\"Here are your panties.\"": + if states.her.ev.panty_thief.soaked: + jump hg_pr_panty_thief_e1_reactions + else: + her "And my payment?" + + "\"How was your day, [name_hermione_genie]?\"": + if states.her.tier == 3: + her "Oh..." ("soft", "base", "base", "mid") + her "It was quite ordinary really..." + her "I spent some time with my classmates..." + her "And I conducted a short \"MRM\" meeting after that..." + her "I gave a rather short speech on how we could level out the playing-field, so that the men could earn more house points..." ("open", "closed", "base", "mid") + her "Although I felt a bit uncomfortable, doing it without any underwear on..." ("annoyed", "narrow", "angry", "R") + her "I couldn't help but worry that somebody would notice somehow..." ("soft", "base", "base", "R") + menu: + "\"You little hypocrite!\"": + $ states.her.mood +=5 + her "[name_genie_hermione]?" ("open", "base", "base", "mid") + gen "You're taking part in the favour trading, by lending me your panties this morning..." ("base", xpos="far_left", ypos="head") + gen "Then a couple of hours later, you're giving a speech about how it's unfair..." ("base", xpos="far_left", ypos="head") + her "I'll have to do this, until the boys get to be more included!" ("annoyed", "narrow", "angry", "R") + gen "If you want them to be included, then why not just ask them to come watch you earn the points." ("base", xpos="far_left", ypos="head") + her "...{w=0.4} Can I have my payment now please?" ("disgust", "narrow", "base", "mid_soft") + gen "What about your panties?" ("base", xpos="far_left", ypos="head") + her "Oh, them too of course..." ("angry", "happyCl", "worried", "mid") + if states.her.ev.panty_thief.soaked: + jump hg_pr_panty_thief_e1_reactions + + "\"It's for the greater good...\"": + her "Exactly!" + her "We need those points badly..." + her "It is not my fault that the system is so unfair..." + her "I shall remain a symbol of righteousness to my peers, no matter what!" ("open", "closed", "base", "mid") + her "Can I have my panties back now, please?" ("open", "base", "base", "mid") + gen "Certainly..." ("base", xpos="far_left", ypos="head") + if states.her.ev.panty_thief.soaked: + jump hg_pr_panty_thief_e1_reactions + else: + nar "You give Hermione her panties back." + her "And my payment." + elif states.her.tier == 4: + her "It was fine..." ("open", "closed", "base", "mid") + gen "Just fine?" ("base", xpos="far_left", ypos="head") + her "Well, as fine it could be... When you have to walk around without any underwear on, all day." + gen "Great, I'm glad you enjoyed it." ("base", xpos="far_left", ypos="head") + her "That's not--" ("annoyed", "base", "worried", "R") + her "..." + her "Can I have my panties back now, please?" ("open", "base", "base", "mid") + gen "Of course..." ("base", xpos="far_left", ypos="head") + if states.her.ev.panty_thief.soaked: + jump hg_pr_panty_thief_e1_reactions + else: + nar "You give Hermione her panties back." + her "And my payment?" ("base", "base", "base", "mid") + elif states.her.tier == 5: + her "Another ordinary day at Hogwarts..." ("open", "closed", "base", "mid") + her "Nothing worth mentioning happened today..." + her "Although I have to admit..." ("annoyed", "base", "worried", "R") + her "It was oddly empowering to spend the day, without any underwear on..." + her "*Hmm*..." + her "Can I have my panties back now please?" ("base", "base", "base", "mid") + gen "Of course..." ("base", xpos="far_left", ypos="head") + if states.her.ev.panty_thief.soaked: + jump hg_pr_panty_thief_e1_reactions + else: + nar "You give Hermione her panties back." + her "And my payment?" ("base", "base", "base", "mid") + elif states.her.tier >= 6: + her "It was good, nothing out of the ordinary really..." ("open", "closed", "base", "mid") + gen "Did it not feel strange, walking around without any panties all day?" ("base", xpos="far_left", ypos="head") + her "*Hmm*... No, not really..." ("base", "closed", "base", "mid") + gen "In that case, I assume you wouldn't mind if I kept them?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I didn't say that..." ("base", "base", "base", "R") + gen "Oh well..." ("base", xpos="far_left", ypos="head") + if states.her.ev.panty_thief.soaked: + jump hg_pr_panty_thief_e1_reactions + else: + nar "You give Hermione her panties back." + her "And my payment?" ("base", "base", "base", "mid") + + label .end: + + if not states.her.ev.panty_thief.soaked or states.her.tier < 4: + gen "Yes, yes..." ("base", xpos="far_left", ypos="head") + $ gryffindor +=15 + gen "Fifteen points to Gryffindor, [name_hermione_genie]... Well deserved." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]..." ("soft", "base", "base", "R") + gen "You can go now." ("base", xpos="far_left", ypos="head") + + her "Good night, [name_genie_hermione]." ("base", "base", "base", "mid") + gen "Yes, good night..." ("base", xpos="far_left", ypos="head") + + call her_walk(action="leave") + $ states.her.ev.panty_thief.soaked = False + + jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/odd_jobs/promoter.rpy b/game/scripts/characters/hermione/events/odd_jobs/promoter.rpy new file mode 100644 index 00000000..f1061f9b --- /dev/null +++ b/game/scripts/characters/hermione/events/odd_jobs/promoter.rpy @@ -0,0 +1,255 @@ +label her_promoter_job: + + if states.her.ev.promote_cardgame.first_time: + gen "Alright then, I think it's time you go help the twins with their shop." ("base", xpos="far_left", ypos="head") + her "Sir... Why do you want me to help them, exactly?" ("annoyed", "closed", "base", "mid") + gen "That is my business." ("grin", xpos="far_left", ypos="head") + her "What do you want me to tell them then?" ("open", "narrow", "worried", "mid_soft") + gen "Just ask them if they have a need for any help promoting their card game." ("base", xpos="far_left", ypos="head") + gen "If they're as business minded as I think, then there's no way they'd say no." ("grin", xpos="far_left", ypos="head") + gen "And make sure you ask them for payment." ("grin", xpos="far_left", ypos="head") + her "Fine..." ("base", "closed", "base", "mid") + her "I'll see you tonight." ("open", "base", "base", "mid") + gen "Forgetting something?" ("base", xpos="far_left", ypos="head") + her "*Hmm*?" ("annoyed", "base", "worried", "mid") + gen "Your uniform!" ("base", xpos="far_left", ypos="head") + gen "Here you are..." ("base", xpos="far_left", ypos="head") + play sound "sounds/cloth_sound3.ogg" + pause 1 + + if states.her.level < 19: + # Failstate + her "I know I said I'd help them, but you want me to wear... this?" ("open", "base", "angry", "mid") + gen "Of course, is that going to be a problem?" ("base", xpos="far_left", ypos="head") + her "Yes!" ("angry", "base", "angry", "mid") + her "I can't believe you've done this." + her "Did you have this commissioned?" ("open", "squint", "angry", "mid") + gen "The twins sold it to me..." ("base", xpos="far_left", ypos="head") + her "Of course they did..." + gen "So it's a--" ("base", xpos="far_left", ypos="head") + her "Of course it's a no!" ("shock", "base", "angry", "mid") + her "" ("angry", "base", "angry", "mid") + + $ states.her.mood += 5 + + $ _event.cancel() + jump hermione_favor_menu.odd_jobs + + random: + block: + her "Why are the cards placed like that?" ("mad", "narrow", "worried", "down") + her @ cheeks blush "..." ("normal", "happyCl", "worried", "mid") + her @ cheeks blush "Fine..." ("open", "narrow", "base", "down") + block: + her @ cheeks blush "..." ("normal", "base", "worried", "mid") + her @ cheeks blush "Well, if it stops you from deducting those points." ("open", "happyCl", "worried", "mid") + her "I'll do it." ("base", "wink", "base", "mid") + block: + her @ cheeks blush "It's a bit revealing... but I'll do it." ("smile","happy") + her @ cheeks blush "For Gryffindor house obviously!" ("open", "happyCl", "base", "mid") + block: + her "That doesn't leave a lot to the imagination..." ("smile", "happy", "base", "mid") + her "At least the straps should cover my nipples..." ("open", "wink", "base", "mid") + her @ cheeks blush "I'll do it..." ("normal", "happy", "base", "mid") + else: + gen "I think it's time you go help the twins with their shop again." ("base", xpos="far_left", ypos="head") + + show screen blkfade + with d5 + play sound "sounds/cloth_sound.ogg" + $ her_outfit_last.save() + $ hermione.equip(her_outfit_poker) + hide screen blkfade + with d5 + + gen "Looking great!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you..." ("open","happy") + gen "Off you go then..." ("base", xpos="far_left", ypos="head") + + call her_walk(action="leave") + $ states.her.busy = True + $ current_job = "promoter" + + call music_block + jump main_room_menu + +label her_promoter_job_return: + $ current_job = None + $ hermione.equip(her_outfit_poker) + + call her_walk(action="enter", xpos="mid", ypos="base") + + if states.her.ev.promote_cardgame.first_time: + $ states.her.ev.promote_cardgame.first_time = False + gen "Hello, [name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") + her "Good..." ("normal", "happy", "base", "mid") + her "I'm still not that comfortable wearing the outfit you provided though, so I just stood behind the shop counter today." ("open", "closed", "base", "mid") + her @ cheeks blush "Apparently we sold a lot more items than usual though." ("base","happy", "base", "mid") + gen "Great news, I bet the twins are ecstatic." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Indeed, It was nice seeing them in such high spirits." ("open", "happyCl", "base", "mid") + her "Whilst I might not agree with all their business methods, I think they might become great salesmen some day." ("base", "happy", "base", "mid") + gen "Seems to me like they are already..." ("grin", xpos="far_left", ypos="head") + gen "So, how come you had such a surge in new customers?" ("base", xpos="far_left", ypos="head") + her "No idea, maybe the card game got more people interested in browsing the rest of their stock." ("annoyed", "happy", "base", "R") + her "They actually had some problems with people stealing things before I started working there though." ("open", "closed", "base", "mid") + gen "And this stopped after you started working there?" ("base", xpos="far_left", ypos="head") + her "Well, probably not because of it. They put in some anti-thieving measures." ("base", "base", "base", "mid") + gen "Patent pending?" ("base", xpos="far_left", ypos="head") + her "It's pretty clever actually, they put up a mirror behind the counter so that when I have to turn around and grab something I'll be able to see if anyone takes anything." ("smile", "wink", "base", "mid") + gen "\"Yeah, I'm sure that's why they put the mirror there\"..." ("grin", xpos="far_left", ypos="head") + gen "Sounds like you're doing a great job." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thanks!" ("open","happy") + her "Here's your payment." ("open", "base", "base", "mid") + + call give_reward("You have received twenty gold", "interface/icons/gold.webp") + $ game.gold += 20 + gen "Well done [name_hermione_genie], fifteen points to Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor += 15 + + random: + block: + her "" + gen "Hello, [name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") + her "It was fine, the outfit is a bit chilly though." ("normal", "happy", "base", "mid_soft") + gen "So, no other complications?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well..." ("soft", "narrow", "worried", "down") + her @ cheeks blush "The twins asked me to give out some free promotional starter packs." ("open", "happy", "base", "mid") + gen "Yes?" ("base", xpos="far_left", ypos="head") + gen "Sounds like a great way to get people into playing..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, I didn't have anywhere to store the packs as you could imagine." ("base", "narrow", "worried", "down") + her @ cheeks blush "So I had to resort to putting them behind my suspenders and the top of my stockings..." ("open", "closed", "base", "mid") + her @ cheeks blush "And one customer got a bit..." ("normal", "closed", "base", "mid") + her @ cheeks blush "Touchy." ("base", "narrow", "annoyed", "up") + gen "I see..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I did get a bit agitated at one point actually..." ("open", "closed", "base", "mid") + gen "They didn't fire you, did they?" ("angry", xpos="far_left", ypos="head") + her "No!" ("mad", "wide", "base", "mid") + her "The customer was quite apologetic actually and bought a bunch of things." ("smile", "closed", "angry", "mid") + her "The twins obviously took the credit for getting such a big sale and seemed rather pleased with themselves." ("crooked_smile", "narrow", "annoyed", "mid") + her "I'm fine with them believing they had anything to do with it, though." ("smile", "closed", "base", "mid") + gen "How noble of you..." ("base", xpos="far_left", ypos="head") + her "Here's your payment." ("open", "base", "base", "mid") + + call give_reward("You have received twenty gold", "interface/icons/gold.webp") + $ game.gold += 20 + gen "Well done [name_hermione_genie], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor += 20 + + block: + her "" + gen "Hello, [name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") + her "Awful..." ("normal", "narrow", "worried", "down") + gen "Really, why is that?" ("base", xpos="far_left", ypos="head") + her "Well, I'm not actually angry..." ("open", "base", "base", "mid") + her "Just a bit annoyed, that's all." ("annoyed", "closed", "base", "mid") + gen "With?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Myself..." ("open", "base", "worried", "R") + her "We've set up a practice day where you get to borrow a deck of cards to get more people into the game." ("normal", "happy", "base", "mid") + gen "Sounds like a good idea, get people invested." ("grin", xpos="far_left", ypos="head") + her "Well, that was fine and all until the amount of new people interested started to slow down." ("open", "narrow", "worried", "down") + gen "I see, so I expect the responsibility fell on you as you're the one meant to promote the game?" ("base", xpos="far_left", ypos="head") + her "Yes... I thought it was a great idea, so if it ended up not working out, then it would look very bad on my part." ("normal", "closed", "base", "mid") + gen "So, you had to stop the practice sessions?" ("base", xpos="far_left", ypos="head") + her "No, that's not why I'm annoyed..." ("annoyed", "happy", "base", "R") + her @ cheeks blush "In my haste to find a solution I thought it would be a great idea to play a few rounds of strip cards to get more people interested." ("open", "narrow", "base", "down") + her @ cheeks blush "..." ("angry", "closed", "angry", "mid") + her @ cheeks blush "I've played enough not to be beaten by a new player ,I thought." ("mad", "narrow", "angry", "R") + gen "Of course, you've played against me after all..." ("grin", xpos="far_left", ypos="head") + her "..." ("base", "base", "angry", "mid") + gen "Sorry, go on." ("base", xpos="far_left", ypos="head") + her "Well, I managed to get a bunch of people into the card game, so practice day is still on the schedule." ("annoyed", "closed", "angry", "mid") + gen "That's good!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Though I might reconsider the whole strip card idea..." ("angry", "narrow", "worried", "down") + her @ cheeks blush "I lost pretty quickly..." ("normal", "closed", "base", "mid") + her @ cheeks blush "It turned out they had been cheating the whole time..." ("normal", "base", "base", "mid") + gen "Well, cheaters never prosper..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "That's not true in this case... they prospered alright." ("open", "happy", "base", "R") + her "In any case, they seemed... happy, they bought a bunch of things so that makes me..." ("normal", "base", "base", "mid") + her @ cheeks blush "Happy as well..." ("angry", "closed", "base", "mid") + gen "A job well done then, I bet the twins are very grateful for your contribution." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you." ("annoyed", "happyCl", "base", "mid") + her "Anyway..." ("base", "base", "base", "mid") + her "Here's your payment." ("open", "base", "base", "mid") + + call give_reward("You have received twenty gold", "interface/icons/gold.webp") + $ game.gold += 20 + gen "Well done [name_hermione_genie], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor += 20 + + block: + her "" + gen "Hello, [name_hermione_genie], how was your day?" ("base", xpos="far_left", ypos="head") + her "Great, they held a card game tournament today." ("base", "base", "base", "mid") + gen "Wait, a tournament? How come I wasn't invited?" ("angry", xpos="far_left", ypos="head") + her "It was students only, obviously..." ("open", "happy", "base", "R") + gen "Oh... of course." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "There were way more participants than I expected seeing that there was an entry fee." ("base", "closed", "base", "mid") + gen "Must've been a great prize pool then..." ("base", xpos="far_left", ypos="head") + her "That's the weird thing. The prize pool only amounted to about half of the total entry fee amount." ("open", "base", "base", "mid") + her "Apparently... Someone had gone around spreading the rumour that the winner would..." ("normal", "narrow", "worried", "down") + her @ cheeks blush "Get a go with me if they won the tournament..." ("annoyed", "narrow", "base", "down") + gen "And did they?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Of course that was never on the table..." ("base", "base", "angry", "mid") + gen "On a desk then?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Well..." ("annoyed", "base", "base", "mid") + her @ cheeks blush "The winner did end up standing there with such an expectant look on his face after everyone had left..." ("open", "narrow", "worried", "down") + gen "..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "So I told him that whatever he was expecting it wasn't happening." ("angry", "narrow", "angry", "R") + her "He seemed so disheartened, I felt a bit bad about the whole thing..." ("open", "closed", "angry", "mid") + her @ cheeks blush "So, since I didn't want to bring his feeling of victory down, I figured since some students had spread the rumour, they'd assume the worst anyway..." ("open", "base", "angry", "mid") + her @ cheeks blush "So I put my hand down his pants and fiddled around a bit whilst letting the guy get a peek behind my suspenders." ("grin", "base", "angry", "mid") + gen "Good on you!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "You don't think that was a bit much?" ("annoyed", "base", "base", "mid") + gen "No! That was the right thing to do in that situation." ("grin", xpos="far_left", ypos="head") + gen "There wasn't a lot you could do about the rumours... Even if nothing had happened, he'd probably lie about it anyway." ("base", xpos="far_left", ypos="head") + gen "You most likely ended up making that guy's night." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "More like month... seeing how much he..." ("open", "narrow", "worried", "down") + her "Anyway..." ("normal", "base", "base", "mid") + her "glad you agree." ("base", "happy", "base", "mid_soft") + her "Here's your payment." ("open", "base", "base", "mid") + + call give_reward("You have received twenty gold", "interface/icons/gold.webp") + $ game.gold += 20 + gen "Well done [name_hermione_genie], twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor += 20 + + block: + $ hermione.set_cum(hair="light") + her "" ("cum", "narrow", "base", "dead") + gen "What happened to you?" ("base", xpos="far_left", ypos="head") + her "What do you mean..." ("open", "narrow", "worried", "mid_soft") + her @ cheeks blush "Oh, that..." ("base", "narrow", "worried", "down") + gen "Yes, that..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "There's a good explanation for this." ("normal", "narrow", "base", "down") + gen "..." ("base", xpos="far_left", ypos="head") + gen "Go on." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, sorry... Well, I was trying out a new sales tactic..." ("open", "happy", "base", "R") + gen "Something the twins came up with I assume?" ("base", xpos="far_left", ypos="head") + her "No, I read about it in one of their books, actually." ("grin", "happy", "base", "mid_soft") + her "Much like how you should always put the most lucrative cheap items at the counter to make the customer..." ("open", "base", "base", "mid") + gen "Get on with it." ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "Fine..." ("annoyed", "narrow", "base", "R_soft") + her @ cheeks blush "I read that by putting the customer in a state of peace and happiness it would make them more susceptible to making hasty decisions." ("smile", "happyCl", "base", "mid") + gen "Didn't think you'd be interested in such... unorthodox sales tactics..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I was curious to see if it would work more than anything else." ("base", "closed", "base", "mid") + her "I tried it out to test the legitimacy of the claims in that book of theirs..." ("open", "base", "base", "mid") + gen "of course..." ("base", xpos="far_left", ypos="head") + gen "And how many times did you test this... theory of yours." ("base", xpos="far_left", ypos="head") + her "There's no conclusion to be made by just testing a theory once [name_genie_hermione]." ("normal", "closed", "angry", "mid") + her "Anyway..." ("open", "base", "base", "mid") + her "Here's your payment." ("open", "base", "base", "mid") + + call give_reward("You have received twenty gold", "interface/icons/gold.webp") + $ game.gold += 20 + gen "Well done [name_hermione_genie], twenty-five points to Gryffindor." ("base", xpos="far_left", ypos="head") + $ gryffindor += 25 + + her "Good night, [name_genie_hermione]." + call her_walk(action="leave") + + $ hermione.equip(her_outfit_last) + $ hermione.set_cum(None) + $ states.her.ev.promote_cardgame.helped = True + + call music_block + jump main_room_menu diff --git a/game/scripts/characters/hermione/events/potions/ass_expand.rpy b/game/scripts/characters/hermione/events/potions/ass_expand.rpy index 038b07ab..b091b30f 100644 --- a/game/scripts/characters/hermione/events/potions/ass_expand.rpy +++ b/game/scripts/characters/hermione/events/potions/ass_expand.rpy @@ -1,18 +1,13 @@ -default her_ass_expand_drank = False -default her_ass_expand_pub_done = False -default her_ass_expand_groped = False #Done private variant -default her_ass_expand_finger = False #Tried to finger her - # Temp flag used to test against clothed character state, it is reset at the end of the event. -default her_ass_expand_no_clothes = False +default _no_clothes = False label potion_ass_make: call give_reward(_("You have successfully created a new potion!"), ass_potion_ITEM) gen "There we go." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" gen "Smells pretty good!" ("base", xpos="far_left", ypos="head") gen "I bet Hermione will love this one." ("base", xpos="far_left", ypos="head") return @@ -22,26 +17,26 @@ label her_potion_ass_give: if hermione.is_worn("robe"): gen "Before we begin... Why don't you take those robes off and make yourself comfortable." ("base", xpos="far_left", ypos="head") her "Alright..." ("soft", "squint", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") with d3 gen "Now then..." ("base", xpos="far_left", ypos="head") else: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]?" ("open", "base", "base", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes [name_genie_hermione]?" ("open", "base", "base", "mid") $ current_payout = 20 gen "I've got a potion that I'd like you to try." ("base", xpos="far_left", ypos="head") gen "For some house points of course..." ("base", xpos="far_left", ypos="head") - call nar(">You take out the potion and hand it to Hermione.") + nar "You take out the potion and hand it to Hermione." call her_chibi("hold_potion","mid","base") with d3 - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: her "A potion?" ("soft", "squint", "base", "mid") gen "Yep, a pretty powerful one at that." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "Is it dangerous?" ("disgust", "squint", "worried", "mid") gen "Of course not!" ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("normal", "narrow", "base", "down") @@ -49,42 +44,42 @@ label her_potion_ass_give: gen "So you'll drink it?" ("base", xpos="far_left", ypos="head") her "I suppose... As long as you pay me." ("open", "narrow", "base", "down") gen "Naturally..." ("base", xpos="far_left", ypos="head") - call nar(">Hermione takes a quizzical sniff of the potion before bringing it to her mouth.") + nar "Hermione takes a quizzical sniff of the potion before bringing it to her mouth." else: - her "*Hmm*... Powerful you say..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Hmm*... Powerful you say..." ("base", "narrow", "base", "down") her "Alright then, let's have a taste." ("grin", "closed", "base", "mid") gen "Great!" ("base", xpos="far_left", ypos="head") her "" ("grin", "base", "base", "mid") gen "Here you go!" ("base", xpos="far_left", ypos="head") - call nar(">Hermione takes a quick sniff of the potion before bringing it to her mouth...") + nar "Hermione takes a quick sniff of the potion before bringing it to her mouth..." call her_chibi("sniff_potion","mid","base") pause 0.2 - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" pause 0.6 call her_chibi("hold_potion","mid","base") gen "Bottoms up!" ("base", xpos="far_left", ypos="head") else: #Drank her "Another one? How do you have time to make these?" ("open", "squint", "base", "mid") - gen "Potion making is easy when you've been practicing for as long as I have." ("base", xpos="far_left", ypos="head") + gen "Potion making is easy when you've been practising for as long as I have." ("base", xpos="far_left", ypos="head") her "I see..." ("soft", "squint", "base", "mid") gen "Go on, I think you'll enjoy this one." ("base", xpos="far_left", ypos="head") gen "Just have a whiff and see for yourself." ("base", xpos="far_left", ypos="head") - call nar(">Hermione takes a quick sniff of the potion.") + nar "Hermione takes a quick sniff of the potion." call her_chibi("sniff_potion","mid","base") pause 0.2 - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" pause 0.6 call her_chibi("hold_potion","mid","base") - her "Another butt expansion potion?" ("open", "squint", "base", "R", cheeks="blush") #Neutral face + her @ cheeks blush "Another butt expansion potion?" ("open", "squint", "base", "R") #Neutral face gen "That's right." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "My butt looked ridiculous last time..." ("annoyed", "narrow", "base", "mid", cheeks="blush") - if her_ass_expand_groped: - gen "Well, that's a matter of opinion, [hermione_name]." ("base", xpos="far_left", ypos="head") + if states.her.level < 19: + her @ cheeks blush "My butt looked ridiculous last time..." ("annoyed", "narrow", "base", "mid") + if states.her.ev.potions.ass_expand_complete: + gen "Well, that's a matter of opinion, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: gen "I'm sure it looked fine..." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("normal", "narrow", "base", "down") @@ -94,21 +89,21 @@ label her_potion_ass_give: else: #19+ her "I mean... I guess it wasn't so bad." ("base", "narrow", "base", "down") gen "Enjoy!" ("base", xpos="far_left", ypos="head") - call nar(">Hermione takes a last glance at the potion and brings it up to her mouth.") + nar "Hermione takes a last glance at the potion and brings it up to her mouth." her "Here I go..." ("angry", "closed", "base", "mid") call her_chibi("drink_potion","mid","base") pause 0.6 - $ renpy.sound.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" pause 0.8 call her_chibi("stand","mid","base") - call nar(">Hermione drinks the potion with a series of gulps.") + nar "Hermione drinks the potion with a series of gulps." - if not her_ass_expand_drank: - if her_whoring < 19: + if not states.her.ev.potions.ass_expand_drank: + if states.her.level < 19: her "That didn't taste so bad!" ("base", "squint", "base", "mid") her "What was it?" ("base", "base", "base", "mid") else: #19+ @@ -125,59 +120,59 @@ label her_potion_ass_give: #Tell her to take off her bottoms/Wait and see what happens menu: "-Send her to class-": - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: gen "You should probably head back to class for now..." ("base", xpos="far_left", ypos="head") her "To class, but what about the--" ("angry", "squint", "base", "mid") - call nar(">Hermione goes white as she starts to feel her body churn.") + nar "Hermione goes white as she starts to feel her body churn." her "*Hngh*!" ("disgust", "wide", "worried", "stare") gen "Something wrong?" ("base", xpos="far_left", ypos="head") - her "What-- What's the intended effect of this potion [genie_name]?" ("angry", "squint", "base", "mid") + her "What-- What's the intended effect of this potion [name_genie_hermione]?" ("angry", "squint", "base", "mid") gen "Let's just say it's meant to distribute your assets a little bit differently." ("base", xpos="far_left", ypos="head") her "My--" ("angry", "squint", "worried", "mid") - $ renpy.sound.play("sounds/slap.ogg") - call nar(">Hermione's body suddenly jolts forward as if someone slapped her from behind.") + play sound "sounds/slap.ogg" + nar "Hermione's body suddenly jolts forward as if someone slapped her from behind." her "Ouch!" ("scream", "happy", "base", "stare") her "Something slapped me!" ("mad", "base", "base", "mid") her "Is it supposed to do this?" ("angry", "happy", "base", "mid") gen "I'm sure it's fine, just go back to class for now." ("base", xpos="far_left", ypos="head") - elif her_ass_expand_pub_done: + elif states.her.ev.potions.ass_expand_public_complete: gen "You should probably head back to class for now..." ("base", xpos="far_left", ypos="head") - elif her_ass_expand_groped: - her "So... I assume you want to--" ("open", "base", "base", "R", cheeks="blush") - her "I mean, am I to receive another massage?" ("soft", "closed", "base", "mid", cheeks="blush") - gen "Not today [hermione_name]..." ("base", xpos="far_left", ypos="head") + elif states.her.ev.potions.ass_expand_complete: + her @ cheeks blush "So... I assume you want to--" ("open", "base", "base", "R") + her @ cheeks blush "I mean, am I to receive another massage?" ("soft", "closed", "base", "mid") + gen "Not today [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "Then what--" ("clench", "base", "base", "mid") - call nar(">Hermione jumps on the spot slightly as the potion begins taking effect.") + nar "Hermione jumps on the spot slightly as the potion begins taking effect." her "Ouch!" ("angry", "happyCl", "worried", "mid") gen "No... I think this time I'd rather you head back to class." ("base", xpos="far_left", ypos="head") else: #Drank but failed public variant before gen "I'd like you to go to class this time..." ("base", xpos="far_left", ypos="head") - if hg_pr_flash.counter > 0: ## Triggers public return event ## + if states.her.status.public_stripping: ## Triggers public return event ## - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: her "Alright..." ("angry", "squint", "base", "R") gen "Let me know how it went!" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("angry", "narrow", "base", "down") + her "Yes, [name_genie_hermione]..." ("angry", "narrow", "base", "down") her "See you later then." ("angry", "narrow", "base", "R") else: - her "You want me to..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "You want me to..." ("open", "base", "base", "mid") gen "Go to class, yes..." ("base", xpos="far_left", ypos="head") - her "Alright..." ("open", "squint", "base", "R", cheeks="blush") - if her_ass_expand_pub_done: - her "I suppose I've already done it before... How bad could it be?" ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright..." ("open", "squint", "base", "R") + if states.her.ev.potions.ass_expand_public_complete: + her @ cheeks blush "I suppose I've already done it before... How bad could it be?" ("open", "closed", "base", "mid") gen "That's the spirit." ("base", xpos="far_left", ypos="head") gen "Make sure to tell me how it went..." ("base", xpos="far_left", ypos="head") - her "Okay." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Okay." ("open", "squint", "base", "mid") hide hermione_main with d3 pause .4 call her_walk("door") - $ renpy.sound.play("sounds/slap_02.ogg") - her "Oooh!" ("angry", "base", "base", "stare", cheeks="blush", flip=True) + play sound "sounds/slap_02.ogg" + her @ cheeks blush "Oooh!" ("angry", "base", "base", "stare", flip=True) #Hermione leaves call her_walk(action="leave") @@ -188,79 +183,79 @@ label her_potion_ass_give: jump end_hermione_event else: ## Doesn't trigger public return event ## - if not her_ass_expand_drank: + if not states.her.ev.potions.ass_expand_drank: her "*Ehm*... I'm not sure I--" ("angry", "squint", "worried", "mid") - $ renpy.sound.play("sounds/slap.ogg") + play sound "sounds/slap.ogg" her "" ("clench", "wide", "base", "mid") - call nar(">Another jolt goes through Hermione's body as she jumps on the spot.") - her "I-- I'm sorry [genie_name]..." ("angry", "happyCl", "worried", "mid") - her "If this potion is doing what I think it's--" ("open", "happyCl", "worried", "mid", cheeks="blush") - $ renpy.sound.play("sounds/slap.ogg") - her "Ow!" ("angry", "wide", "worried", "stare", cheeks="blush") + nar "Another jolt goes through Hermione's body as she jumps on the spot." + her "I-- I'm sorry [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "If this potion is doing what I think it's--" ("open", "happyCl", "worried", "mid") + play sound "sounds/slap.ogg" + her @ cheeks blush "Ow!" ("angry", "wide", "worried", "stare") gen "Alright fine... You don't have to go to class for today..." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout - her "Thank you..." ("angry", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank you..." ("angry", "happyCl", "base", "mid") call her_walk(action="leave") - $ renpy.sound.play("sounds/boing02.ogg") + play sound "sounds/boing02.ogg" pause .2 her "Merlin's beard!" gen "..." ("base", xpos="far_left", ypos="head") - $ her_ass_expand_drank = True + $ states.her.ev.potions.ass_expand_drank = True jump end_hermione_event else: - if her_whoring < 19: + if states.her.level < 19: her "You want me to what?!" ("angry", "squint", "worried", "mid") gen "Go to class!" ("base", xpos="far_left", ypos="head") gen "Isn't that what you're supposed to do in school?" ("base", xpos="far_left", ypos="head") - her "Not when you've just drank a potion like this!" ("clench", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Not when you've just drunk a potion like this!" ("clench", "squint", "worried", "mid") gen "I suppose you might not fit on the chairs that well..." ("base", xpos="far_left", ypos="head") - her "That is not the reason..." ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") - her "I can't believe you're asking me to expose myself like this..." ("angry", "narrow", "base", "R", cheeks="blush") - her "I'll have my points--" ("angry", "closed", "annoyed", "mid", cheeks="blush") - call nar(">Hermione's body jolts once more.") - $ renpy.sound.play("sounds/slap.ogg") + her @ cheeks blush "That is not the reason..." ("annoyed", "narrow", "annoyed", "mid") + her @ cheeks blush "I can't believe you're asking me to expose myself like this..." ("angry", "narrow", "base", "R") + her @ cheeks blush "I'll have my points--" ("angry", "closed", "annoyed", "mid") + nar "Hermione's body jolts once more." + play sound "sounds/slap.ogg" her "Ouch!" ("scream", "wide", "base", "stare") else: - her "You want me to go to class when--" ("angry", "narrow", "base", "down", cheeks="blush") - call nar(">Hermione's body jolts once more.") - $ renpy.sound.play("sounds/slap.ogg") - her "*Ah*..." ("soft", "narrow", "base", "up", cheeks="blush") - her "" ("angry", "narrow", "base", "mid", cheeks="blush") #blush + her @ cheeks blush "You want me to go to class when--" ("angry", "narrow", "base", "down") + nar "Hermione's body jolts once more." + play sound "sounds/slap.ogg" + her @ cheeks blush "*Ah*..." ("soft", "narrow", "base", "up") + her @ cheeks blush "" ("angry", "narrow", "base", "mid") #blush gen "I think your classmates would appreciate the view." ("base", xpos="far_left", ypos="head") - her "I..." ("disgust", "narrow", "base", "down", cheeks="blush") - $ renpy.sound.play("sounds/slap.ogg") - her "*Ah*..." ("open", "happyCl", "base", "mid", cheeks="blush") - her "No... I'm sorry but I'm not going to let them see me like that..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I..." ("disgust", "narrow", "base", "down") + play sound "sounds/slap.ogg" + her @ cheeks blush "*Ah*..." ("open", "happyCl", "base", "mid") + her @ cheeks blush "No... I'm sorry but I'm not going to let them see me like that..." ("angry", "narrow", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "Very well [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Very well [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout - her "Thank you..." ("angry", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank you..." ("angry", "closed", "base", "mid") gen "Until next time." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ her_ass_expand_drank = True + $ states.her.ev.potions.ass_expand_drank = True jump end_hermione_event "-Tell her to take off her clothes-" if hermione.is_any_worn("top", "bra", "bottom", "panties"): - $ her_ass_expand_no_clothes = True #Took off clothing (reset at end) + $ _no_clothes = True #Took off clothing (reset at end) gen "Why don't you take off your clothes for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 15: - her "You want me to take off my..." ("open", "narrow", "base", "down", cheeks="blush") + if states.her.level < 15: + her @ cheeks blush "You want me to take off my..." ("open", "narrow", "base", "down") gen "Your clothes, yes..." ("base", xpos="far_left", ypos="head") else: - her "So that's how it is, is it..." ("open", "squint", "base", "R", cheeks="blush") - her "You should really tell me these things up front [genie_name]..." ("open", "closed", "base", "down", cheeks="blush") - her "But I suppose I could do that, even though I was only meant to drink the potion..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "So that's how it is, is it..." ("open", "squint", "base", "R") + her @ cheeks blush "You should really tell me these things up front [name_genie_hermione]..." ("open", "closed", "base", "down") + her @ cheeks blush "But I suppose I could do that, even though I was only meant to drink the potion..." ("base", "closed", "base", "mid") "-Wait and see what happens-" if not hermione.is_any_worn("top", "bra", "bottom", "panties"): @@ -269,362 +264,362 @@ label her_potion_ass_give: gen "Just waiting for the potion to kick in..." ("base", xpos="far_left", ypos="head") her "Right..." ("soft", "squint", "base", "R") - if not her_ass_expand_drank: - her "Could you at least give me a hint of what it's supposed to do?" ("soft", "squint", "base", "mid", cheeks="blush") + if not states.her.ev.potions.ass_expand_drank: + her @ cheeks blush "Could you at least give me a hint of what it's supposed to do?" ("soft", "squint", "base", "mid") gen "Well that wouldn't be very fun would it..." ("base", xpos="far_left", ypos="head") gen "I'm sure you'll feel it any minute now." ("base", xpos="far_left", ypos="head") - her "Feel? What do you mean by--" ("angry", "base", "worried", "mid", cheeks="blush") - call nar(">Hermione goes white as she starts to feel her body churn.") + her @ cheeks blush "Feel? What do you mean by--" ("angry", "base", "worried", "mid") + nar "Hermione goes white as she starts to feel her body churn." her "What's going on?!" ("disgust", "wide", "base", "stare") her "It's as if my insides are moving!" ("disgust", "happy", "base", "stare") - if her_whoring < 19: + if states.her.level < 19: her "My butt... It's--" ("clench", "squint", "base", "down") - $ renpy.sound.play("sounds/slap.ogg") + play sound "sounds/slap.ogg" if hermione.is_any_worn("top", "bottom", "panties"): - call nar(">Hermione suddenly jolts forward as if she was hit by something on her butt.") - her "Ouch!" ("mad", "happyCl", "worried", "stare", cheeks="blush") - her "S--{w=0.2} Something's happening to it, [genie_name]!" ("clench", "happy", "worried", "down", cheeks="blush") + nar "Hermione suddenly jolts forward as if she were hit by something on her butt." + her @ cheeks blush "Ouch!" ("mad", "happyCl", "worried", "stare") + her @ cheeks blush "S--{w=0.2} Something's happening to it, [name_genie_hermione]!" ("clench", "happy", "worried", "down") gen "You'd probably want to take off your clothes right about now..." ("base", xpos="far_left", ypos="head") - her "My--{w=0.2} You've only paid me to drink the potion, why would I--" ("angry", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "My--{w=0.2} You've only paid me to drink the potion, why would I--" ("angry", "closed", "worried", "mid") gen "Trust me, it's for your own good..." ("base", xpos="far_left", ypos="head") - her "For my...{w=0.6}{nw}" ("annoyed", "narrow", "worried", "down", cheeks="blush") #wide eyed - her "For my...{fast} Wait, surely you haven't..." ("clench", "base", "worried", "stare", cheeks="blush") #wide eyed + her @ cheeks blush "For my...{w=0.6}{nw}" ("annoyed", "narrow", "worried", "down") #wide eyed + her @ cheeks blush "For my...{fast} Wait, surely you haven't..." ("clench", "base", "worried", "stare") #wide eyed if hermione.is_any_worn("top", "bra"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra") pause .5 - her "" ("clench", "narrow", "worried", "down", cheeks="blush") - gen "[hermione_name]! Stripping in your headmasters office, how indecent!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "" ("clench", "narrow", "worried", "down") + gen "[name_hermione_genie]! Stripping in your headmaster's office, how indecent!" ("grin", xpos="far_left", ypos="head") if hermione.is_any_worn("bottom", "panties"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom", "panties") - $ hermione.strip("all") + $ hermione.strip("clothes") gen "Just from a potion that's meant to spank you a little!" ("base", xpos="far_left", ypos="head") - her "Wait, so it's not going to--" ("disgust", "squint", "worried", "down", cheeks="blush") + her @ cheeks blush "Wait, so it's not going to--" ("disgust", "squint", "worried", "down") else: #Not wearing top, bottom or panties - call nar(">With a smacking sound, Hermione jumps on the spot as her bare cheeks are slapped hard.") - her "{size=+4}Ouch!!!{/size}" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "What was that?" ("angry", "squint", "base", "mid", cheeks="blush") + nar "With a smacking sound, Hermione jumps on the spot as her bare cheeks are slapped hard." + her @ cheeks blush "{size=+4}Ouch!!!{/size}" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "What was that?" ("angry", "squint", "base", "mid") if hermione.is_any_worn("clothes"): - call nar(">Hermione goes over her belongings, trying to find the source.") + nar "Hermione goes over her belongings, trying to find the source." if hermione.is_any_worn("accessory", "stockings", "garterbelt"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("accessory", "stockings", "garterbelt") call ctc - $ renpy.sound.play("sounds/slap.ogg") + play sound "sounds/slap.ogg" - her "{size=+4}OW!!!{/size}" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "Where is that coming from??" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "{size=+4}OW!!!{/size}" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "Where is that coming from??" ("angry", "squint", "base", "mid") - $ hermione.strip("all") + $ hermione.strip("clothes") gen "It appears the potion is working." ("base", xpos="far_left", ypos="head") - her "It-- Hold on, is it--" ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "It-- Hold on, is it--" ("angry", "wide", "base", "mid") - $ hermione.set_body(backside="big1") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass1) + play sound "sounds/boing05.ogg" with d3 - her "I knew it..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I knew it..." ("disgust", "narrow", "base", "down") gen "That's weird... Must've brewed the potion wrong..." ("base", xpos="far_left", ypos="head") - her "Right... As if you didn't know this was going to happen." ("open", "narrow", "annoyed", "R", cheeks="blush") - gen "I assure you I had no idea [hermione_name], it was only meant to spank you a little." ("base", xpos="far_left", ypos="head") - her "Then how come it's--" ("soft", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "Right... As if you didn't know this was going to happen." ("open", "narrow", "annoyed", "R") + gen "I assure you I had no idea [name_hermione_genie], it was only meant to spank you a little." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Then how come it's--" ("soft", "narrow", "annoyed", "down") - $ hermione.set_body(backside="big2") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass2) + play sound "sounds/boing05.ogg" with d3 - her "[genie_name]!" ("angry", "base", "worried", "down", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "base", "worried", "down") gen "Yes?" ("base", xpos="far_left", ypos="head") - her "It did it again!" ("disgust", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "It did it again!" ("disgust", "happyCl", "worried", "mid") gen "Well, it is an untested potion to be fair... You'll have to expect some side effects." ("base", xpos="far_left", ypos="head") - her "Side effects? But you assured me this potion was--" ("clench", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "Side effects? But you assured me this potion was--" ("clench", "narrow", "worried", "down") - $ hermione.set_body(backside="big3") - $ renpy.sound.play("sounds/boing04.ogg") + $ hermione.equip(her_hips_ass3) + play sound "sounds/boing04.ogg" with d3 - her "Merlin's beard!" ("disgust", "wide", "base", "down", cheeks="blush") + her @ cheeks blush "Merlin's beard!" ("disgust", "wide", "base", "down") gen "Nice..." ("base", xpos="far_left", ypos="head") - her "You told me this potion was safe!" ("scream", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "You told me this potion was safe!" ("scream", "happyCl", "annoyed", "mid") gen "I said it wasn't dangerous." ("base", xpos="far_left", ypos="head") - her "How am I supposed to sit down with this?" ("angry", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "How am I supposed to sit down with this?" ("angry", "base", "annoyed", "mid") gen "I'm sure you'll manage." ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("annoyed", "narrow", "annoyed", "R", cheeks="blush") - her "" ("annoyed", "narrow", "annoyed", "down", cheeks="blush") - call nar(">Hermione glances down at her new exterior in disbelief.") + her @ cheeks blush "*Hmph*..." ("annoyed", "narrow", "annoyed", "R") + her @ cheeks blush "" ("annoyed", "narrow", "annoyed", "down") + nar "Hermione glances down at her new exterior in disbelief." else: # 19+ - her "And my ass, it feels so... Good." ("base", "narrow", "base", "up", cheeks="blush") - call nar(">You start to notice Hermione's ass jiggle slightly.") - her "Something is happening with my body, [genie_name]!" ("grin", "narrow", "base", "down", cheeks="blush") - $ renpy.sound.play("sounds/slap.ogg") - her "*Ah*..." ("open_tongue", "narrow", "base", "up", cheeks="blush") - call nar(">Hermione jolts forward as if her ass was spanked by an invisible force.") + her @ cheeks blush "And my ass, it feels so... Good." ("base", "narrow", "base", "up") + nar "You start to notice Hermione's ass jiggling slightly." + her @ cheeks blush "Something is happening with my body, [name_genie_hermione]!" ("grin", "narrow", "base", "down") + play sound "sounds/slap.ogg" + her @ cheeks blush "*Ah*..." ("open_tongue", "narrow", "base", "up") + nar "Hermione jolts forward as if her ass were spanked by an invisible force." gen "*Heh-Heh*..." ("grin", xpos="far_left", ypos="head") if hermione.is_any_worn("top", "bottom", "panties"): gen "You'd probably want to take off your clothes right about now..." ("base", xpos="far_left", ypos="head") - her "My--{w=0.2} Oh...{w=0.4} I see!" ("angry", "base", "base", "stare", cheeks="blush") + her @ cheeks blush "My--{w=0.2} Oh...{w=0.4} I see!" ("angry", "base", "base", "stare") if hermione.is_any_worn("top", "bra"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra") pause .5 gen "Very good..." ("base", xpos="far_left", ypos="head") if hermione.is_any_worn("bottom", "panties"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom", "panties") - $ hermione.strip("all") + $ hermione.strip("clothes") - her "..." ("grin", "narrow", "base", "down", cheeks="blush") - her "So, when will is it supposed to happen?" ("grin", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("grin", "narrow", "base", "down") + her @ cheeks blush "So, when will is it supposed to happen?" ("grin", "wink", "base", "mid") gen "When is what supposed to happen?" ("base", xpos="far_left", ypos="head") - her "When is my butt supposed to grow?" ("grin", "narrow", "base", "mid", cheeks="blush") - gen "Your butt? Why I just wanted to see if could get you to take your clothes off!" ("base", xpos="far_left", ypos="head") - her "What, so it won't actually--" ("angry", "base", "base", "down", cheeks="blush") + her @ cheeks blush "When is my butt supposed to grow?" ("grin", "narrow", "base", "mid") + gen "Your butt? Why, I just wanted to see if I could get you to take your clothes off!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What, so it won't actually--" ("angry", "base", "base", "down") else: #Not wearing top, bottom or panties gen "That means the potion is working..." ("base", xpos="far_left", ypos="head") - her "It's--" ("soft", "squint", "base", "stare", cheeks="blush") - her "oooooh!!" ("open", "base", "base", "stare", cheeks="blush") #Realization + her @ cheeks blush "It's--" ("soft", "squint", "base", "stare") + her @ cheeks blush "oooooh!!" ("open", "base", "base", "stare") #Realization gen "Now you're getting it." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slap.ogg") - her "Ouch!" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "Why's it doing that?!" ("annoyed", "happyCl", "worried", "mid", cheeks="blush") + play sound "sounds/slap.ogg" + her @ cheeks blush "Ouch!" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "Why's it doing that?!" ("annoyed", "happyCl", "worried", "mid") if hermione.is_any_worn("clothes"): - call nar(">Hermione goes over her belongings, trying to find the source.") + nar "Hermione goes over her belongings, trying to find the source." if hermione.is_any_worn("bra", "accessory", "stockings", "garterbelt"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra", "accessory", "stockings", "garterbelt") call ctc - $ renpy.sound.play("sounds/slap.ogg") + play sound "sounds/slap.ogg" - her "{size=+4}*Ah*....{/size}" ("open_tongue", "narrow", "base", "up", cheeks="blush") - her "What's doing this to me?" ("grin", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "{size=+4}*Ah*....{/size}" ("open_tongue", "narrow", "base", "up") + her @ cheeks blush "What's doing this to me?" ("grin", "narrow", "base", "down") - $ hermione.strip("all") + $ hermione.strip("clothes") - gen "I don't... *Err.... I brewed it to do that!" ("base", xpos="far_left", ypos="head") - her "You brewed it to-- I thought it was meant to make it--" ("disgust", "narrow", "base", "down", cheeks="blush") + gen "I don't... *Err*.... I brewed it to do that!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You brewed it to-- I thought it was meant to make it--" ("disgust", "narrow", "base", "down") - $ hermione.set_body(backside="big1") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass1) + play sound "sounds/boing05.ogg" with d3 - her "Grow..." ("open", "base", "base", "down", cheeks="blush") + her @ cheeks blush "Grow..." ("open", "base", "base", "down") gen "..." ("grin", xpos="far_left", ypos="head") - her "You're almost too predictable sometimes..." ("base", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "You're almost too predictable sometimes..." ("base", "narrow", "base", "R") gen "*Heh-heh*." ("grin", xpos="far_left", ypos="head") - her "Although... I would've thought that you'd make the potion more powerful than this..." ("open", "narrow", "base", "down", cheeks="blush") - her "Did I not drink enough of it?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Although... I would've thought that you'd make the potion more powerful than this..." ("open", "narrow", "base", "down") + her @ cheeks blush "Did I not drink enough of it?" ("open", "squint", "base", "mid") gen "You underestimate me, girl..." ("base", xpos="far_left", ypos="head") - her "What do you--" ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "What do you--" ("soft", "narrow", "base", "down") - $ hermione.set_body(backside="big2") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass2) + play sound "sounds/boing05.ogg" with d3 - her "Whoa!" ("angry", "base", "base", "down", cheeks="blush") + her @ cheeks blush "Whoa!" ("angry", "base", "base", "down") gen "There it goes!" ("base", xpos="far_left", ypos="head") gen "More like what you expected?" ("base", xpos="far_left", ypos="head") - her "Yes..." ("soft", "base", "base", "R", cheeks="blush") - gen "Well you expected wrong... We're not done yet, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "We're--" ("mad", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes..." ("soft", "base", "base", "R") + gen "Well you expected wrong... We're not done yet, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "We're--" ("mad", "base", "base", "mid") - $ hermione.set_body(backside="big3") - $ renpy.sound.play("sounds/boing04.ogg") + $ hermione.equip(her_hips_ass3) + play sound "sounds/boing04.ogg" with d3 - her "Merlin's beard!" ("scream", "wide", "base", "down", cheeks="blush") - her "It's humongous!" ("angry", "base", "base", "down", cheeks="blush") + her @ cheeks blush "Merlin's beard!" ("scream", "wide", "base", "down") + her @ cheeks blush "It's humongous!" ("angry", "base", "base", "down") gen "There's that Pixar mom look I was going for!" ("grin", xpos="far_left", ypos="head") - her "*Hmm*..." ("soft", "base", "base", "down", cheeks="blush") - her "I get that the potion is supposed to make my butt larger..." ("soft", "squint", "base", "mid", cheeks="blush") - her "But why does it suddenly feel so good?" ("soft", "wink", "base", "mid", cheeks="blush") - her "" ("base", "narrow", "base", "down", cheeks="blush") - call nar(">Hermione looks down at her newly acquired asset, smiling to herself.") + her @ cheeks blush "*Hmm*..." ("soft", "base", "base", "down") + her @ cheeks blush "I get that the potion is supposed to make my butt larger..." ("soft", "squint", "base", "mid") + her @ cheeks blush "But why does it suddenly feel so good?" ("soft", "wink", "base", "mid") + her @ cheeks blush "" ("base", "narrow", "base", "down") + nar "Hermione looks down at her newly acquired asset, smiling to herself." gen "*Hmm*... It's not supposed to, but I guess every case is different." ("base", xpos="far_left", ypos="head") else: #Drank - call nar(">Hermione's face turns into a grimace as the potion begins taking effect.") - her "There's that weird feeling again... Are you sure it's supposed to do this?" ("disgust", "squint", "base", "stare", cheeks="blush") - gen "I mean, the potion haven't even started to take effect yet..." ("base", xpos="far_left", ypos="head") + nar "Hermione's face turns into a grimace as the potion begins taking effect." + her @ cheeks blush "There's that weird feeling again... Are you sure it's supposed to do this?" ("disgust", "squint", "base", "stare") + gen "I mean, the potion hasn't even started to take effect yet..." ("base", xpos="far_left", ypos="head") if hermione.is_any_worn("top", "bra", "bottom", "panties"): gen "Speaking of, you'd probably want to take some of those clothes off right about now." ("base", xpos="far_left", ypos="head") - her "Oh... Alright..." ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh... Alright..." ("angry", "base", "base", "mid") if hermione.is_any_worn("top", "bra"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra") pause .5 gen "Very good..." ("base", xpos="far_left", ypos="head") if hermione.is_any_worn("bottom", "panties"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom", "panties") pause .5 - $ hermione.strip("all") + $ hermione.strip("clothes") gen "Now let's wait and see..." ("base", xpos="far_left", ypos="head") else: #Not wearing top, bra, bottom or panties - her "Right..." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Right..." ("annoyed", "narrow", "base", "down") if hermione.is_any_worn("clothes"): - call nar(">Hermione goes over her belongings, and begins taking some of them off.") + nar "Hermione goes over her belongings, and begins taking some of them off." if hermione.is_any_worn("accessory", "stockings", "garterbelt"): $ hermione.strip("accessory", "stockings", "garterbelt") gen "What are you doing?" ("base", xpos="far_left", ypos="head") - her "Just getting myself more comfortable..." ("angry", "narrow", "base", "down", cheeks="blush") - her "Is that okay?" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Just getting myself more comfortable..." ("angry", "narrow", "base", "down") + her @ cheeks blush "Is that okay?" ("angry", "squint", "worried", "mid") gen "I suppose..." ("base", xpos="far_left", ypos="head") - her "Great... My skin gets so sensitive after drinking this..." ("soft", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "Great... My skin gets so sensitive after drinking this..." ("soft", "narrow", "worried", "down") else: gen "What are you doing?" ("base", xpos="far_left", ypos="head") - her "I just thought... *Ehm*... My skin got so sensitive before..." ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "I just thought... *Ehm*... My skin got so sensitive before..." ("angry", "squint", "worried", "mid") gen "It's that sensitive?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... Yes..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Ehm*... Yes..." ("angry", "narrow", "base", "down") gen "Alright then... Go ahead..." ("base", xpos="far_left", ypos="head") - $ hermione.strip("all") - her "This potions sure is taking its time..." ("angry", "narrow", "base", "down", cheeks="blush") - gen "Patience, [hermione_name]... We'll see the effects kicking in soon enough..." ("base", xpos="far_left", ypos="head") + $ hermione.strip("clothes") + her @ cheeks blush "This potion sure is taking its time..." ("angry", "narrow", "base", "down") + gen "Patience, [name_hermione_genie]... We'll see the effects kicking in soon enough..." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") gen "Any minute now..." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "closed", "base", "down", cheeks="blush") - her "Nothing is--" ("disgust", "narrow", "base", "mid", cheeks="blush") - call nar(">Hermione suddenly jolts forward once more as if she was hit hard on her butt.") - $ renpy.sound.play("sounds/slap.ogg") - if her_whoring < 19: - her "Ouch!" ("clench", "happyCl", "worried", "mid", cheeks="blush") - her "Why is this potion so aggressive?" ("disgust", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "..." ("normal", "closed", "base", "down") + her @ cheeks blush "Nothing is--" ("disgust", "narrow", "base", "mid") + nar "Hermione suddenly jolts forward once more as if she were hit hard on her butt." + play sound "sounds/slap.ogg" + if states.her.level < 19: + her @ cheeks blush "Ouch!" ("clench", "happyCl", "worried", "mid") + her @ cheeks blush "Why is this potion so aggressive?" ("disgust", "narrow", "annoyed", "down") gen "Beats me...{w}..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "mid", cheeks="blush") #pout + her @ cheeks blush "..." ("annoyed", "narrow", "base", "mid") #pout - call nar(">You start to notice Hermione's ass increase in size.") + nar "You start to notice Hermione's ass increasing in size." - $ hermione.set_body(backside="big1") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass1) + play sound "sounds/boing05.ogg" with d3 gen "There it goes!" ("grin", xpos="far_left", ypos="head") - her "This feels so strange..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "This feels so strange..." ("disgust", "narrow", "base", "down") gen "I think you look great!" ("grin", xpos="far_left", ypos="head") - her "If only this was as big as it's going to--" ("annoyed", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "If only this was as big as it's going to--" ("annoyed", "narrow", "worried", "down") - $ hermione.set_body(backside="big2") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass2) + play sound "sounds/boing05.ogg" with d3 - her "Get..." ("disgust", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "Get..." ("disgust", "narrow", "worried", "down") gen "Now you look even greater!" ("grin", xpos="far_left", ypos="head") - her "Thanks I suppose..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Thanks I suppose..." ("annoyed", "narrow", "base", "R") gen "As in there's even more of you now." ("grin", xpos="far_left", ypos="head") - her "I understood what you--" ("disgust", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "I understood what you--" ("disgust", "narrow", "annoyed", "down") - $ hermione.set_body(backside="big3") - $ renpy.sound.play("sounds/boing04.ogg") + $ hermione.equip(her_hips_ass3) + play sound "sounds/boing04.ogg" with d3 - her "..." ("angry", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "worried", "down") gen "The greatest even!" ("grin", xpos="far_left", ypos="head") - her "My skin feels so tight..." ("angry", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "My skin feels so tight..." ("angry", "closed", "worried", "mid") gen "*Hmm*... Perhaps mixing in some lizard tails would do it..." ("base", xpos="far_left", ypos="head") - call nar(">Hermione shifts her posture a little bit as she regains her balance.") - her "Ow-ow-ow!" ("angry", "happyCl", "worried", "mid", cheeks="blush") + nar "Hermione shifts her posture a little bit as she regains her balance." + her @ cheeks blush "Ow-ow-ow!" ("angry", "happyCl", "worried", "mid") else: # 19+ - her "*Ah*!" ("scream", "squint", "base", "stare", cheeks="blush") + her @ cheeks blush "*Ah*!" ("scream", "squint", "base", "stare") gen "*Heh-heh*..." ("base", xpos="far_left", ypos="head") - her "It hit me again... Did you mean to make the potion do this?" ("clench", "base", "base", "stare", cheeks="blush") + her @ cheeks blush "It hit me again... Did you mean to make the potion do this?" ("clench", "base", "base", "stare") gen "Perhaps." ("base", xpos="far_left", ypos="head") - her "I figured..." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I figured..." ("angry", "narrow", "base", "R") - $ hermione.set_body(backside="big1") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass1) + play sound "sounds/boing05.ogg" with d3 - her "Someone of your skill level would surely be able to counteract this sort of side effect." ("angry", "narrow", "base", "R", cheeks="blush") #Doesn't notice growth + her @ cheeks blush "Someone of your skill level would surely be able to counteract this sort of side effect." ("angry", "narrow", "base", "R") #Doesn't notice growth gen "You call it a side effect, I call it an added bonus." ("base", xpos="far_left", ypos="head") - her "I guess..." ("base", "closed", "base", "mid", cheeks="blush") - her "So when is it supposed to start--" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I guess..." ("base", "closed", "base", "mid") + her @ cheeks blush "So when is it supposed to start--" ("open", "squint", "base", "mid") - $ hermione.set_body(backside="big2") - $ renpy.sound.play("sounds/boing05.ogg") + $ hermione.equip(her_hips_ass2) + play sound "sounds/boing05.ogg" with d3 - her "Whoa!" ("open", "wide", "base", "down", cheeks="blush") - her "How is it so big already?" ("angry", "base", "base", "down", cheeks="blush") + her @ cheeks blush "Whoa!" ("open", "wide", "base", "down") + her @ cheeks blush "How is it so big already?" ("angry", "base", "base", "down") gen "..." ("base", xpos="far_left", ypos="head") gen "It already grew once before." ("base", xpos="far_left", ypos="head") - her "It did? I didn't even notice..." ("angry", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "It did? I didn't even notice..." ("angry", "happy", "base", "mid") gen "So... How does it feel?" ("base", xpos="far_left", ypos="head") gen "Describe it to me." ("base", xpos="far_left", ypos="head") - her "It... It feels very nice and cushiony..." ("soft", "base", "base", "down", cheeks="blush") - her "But I think it got bigger before." ("soft", "wink", "base", "mid", cheeks="blush") - gen "Disappointed, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "No, I was just expecting it to--" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "It... It feels very nice and cushiony..." ("soft", "base", "base", "down") + her @ cheeks blush "But I think it got bigger before." ("soft", "wink", "base", "mid") + gen "Disappointed, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "No, I was just expecting it to--" ("angry", "base", "base", "mid") - $ hermione.set_body(backside="big3") - $ renpy.sound.play("sounds/boing04.ogg") + $ hermione.equip(her_hips_ass3) + play sound "sounds/boing04.ogg" with d3 - her "" ("grin", "base", "base", "down", cheeks="blush") + her @ cheeks blush "" ("grin", "base", "base", "down") call ctc gen "Or just impatient?" ("grin", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "base", "down") ## Ass Grope/Massage Section ## - if not her_ass_expand_groped: - if her_whoring < 19: + if not states.her.ev.potions.ass_expand_complete: + if states.her.level < 19: gen "Now then...{w=0.4} How about a massage?" ("base", xpos="far_left", ypos="head") - her "A-- A massage?" ("clench", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "A-- A massage?" ("clench", "squint", "worried", "mid") gen "Yes, surely you must feel tense after what that potion did to you..." ("base", xpos="far_left", ypos="head") - her "Wait, you want to massage my--" ("angry", "squint", "base", "stare", cheeks="blush") #wide eyed + her @ cheeks blush "Wait, you want to massage my--" ("angry", "squint", "base", "stare") #wide eyed gen "I'll give you another twenty points for it..." ("base", xpos="far_left", ypos="head") $ current_payout += 20 #40 total - her "*hmph*..." ("annoyed", "narrow", "annoyed", "L", cheeks="blush") + her @ cheeks blush "*hmph*..." ("annoyed", "narrow", "annoyed", "L") gen "Come on now, surely you must be a little bit curious..." ("base", xpos="far_left", ypos="head") - her "I--" ("angry", "narrow", "base", "L", cheeks="blush") - if her_whoring < 15: - her "I want thirty extra points for it..." ("angry", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I--" ("angry", "narrow", "base", "L") + if states.her.level < 15: + her @ cheeks blush "I want thirty extra points for it..." ("angry", "happyCl", "annoyed", "mid") gen "Thirty points to receive a massage?" ("base", xpos="far_left", ypos="head") gen "No... Twenty points, take it or leave it." ("base", xpos="far_left", ypos="head") - her "Fine..." ("annoyed", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "Fine..." ("annoyed", "narrow", "annoyed", "down") else: - her "Alright..." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Alright..." ("annoyed", "narrow", "base", "down") else: - her "[genie_name]?" ("angry", "narrow", "base", "mid", cheeks="blush") - her "Could... Do you think you could massage me?" ("angry", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("angry", "narrow", "base", "mid") + her @ cheeks blush "Could... Do you think you could massage me?" ("angry", "closed", "worried", "mid") gen "Massage you?" ("base", xpos="far_left", ypos="head") - her "Massage my butt I mean..." ("disgust", "base", "base", "R", cheeks="blush") - gen "Your--{w=0.2} Why of course [hermione_name]!" ("grin", xpos="far_left", ypos="head") - her "Thank you..." ("angry", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Massage my butt I mean..." ("disgust", "base", "base", "R") + gen "Your--{w=0.2} Why of course [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you..." ("angry", "closed", "base", "mid") else: #Repeat - if her_whoring < 19: + if states.her.level < 19: gen "But until we try that... I suppose I could give you another massage." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "happyCl", "base", "mid") gen "For another twenty extra points of course..." ("base", xpos="far_left", ypos="head") $ current_payout += 20 #40 total - her "Fine..." ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Fine..." ("disgust", "narrow", "base", "R") else: gen "Well then, how about another massage?" ("base", xpos="far_left", ypos="head") - her "I--{w=0.4} Yes please..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I--{w=0.4} Yes please..." ("angry", "narrow", "base", "mid") gen "Great, then get that ass over here." ("base", xpos="far_left", ypos="head") #Hermione walks to desk @@ -632,139 +627,139 @@ label her_potion_ass_give: show screen blkfade - call nar(">Hermione makes her way over to your desk, her ass bouncing up and down as she moves, and then presents herself to you.") + nar "Hermione makes her way over to your desk, her ass bouncing up and down as she moves, and then presents herself to you." pause .8 #Genie before groping chibi call her_chibi_scene("behind_desk_back") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. - if her_whoring < 19: - her "Please be gentle, [genie_name]..." ("angry", "base", "base", "R", cheeks="blush", xpos="mid", ypos="base", flip=True, trans=d3) + if states.her.level < 19: + her @ cheeks blush "Please be gentle, [name_genie_hermione]..." ("angry", "base", "base", "R", xpos="mid", ypos="base", flip=True, trans=d3) gen "Certainly... It is a massage is it not?" ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") #pout + her @ cheeks blush "..." ("angry", "narrow", "base", "down") #pout call her_chibi_scene("grope_ass_back") with d3 - call nar(">You grab Hermione's engorged buttocks with your hands and give them a light squeeze.") + nar "You grab Hermione's engorged buttocks with your hands and give them a light squeeze." call her_chibi_scene("behind_desk_back") with d3 - her "*Ah*..." ("open", "happyCl", "base", "stare", cheeks="blush") - her "..." ("disgust", "squint", "worried", "stare", cheeks="blush") #Wide - gen "Was that a moan, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "N-- No...{w=0.4} It's...{w=0.4} Your hands are cold!" ("disgust", "narrow", "worried", "R", cheeks="blush") #annoyed #glance + her @ cheeks blush "*Ah*..." ("open", "happyCl", "base", "stare") + her @ cheeks blush "..." ("disgust", "squint", "worried", "stare") #Wide + gen "Was that a moan, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "N-- No...{w=0.4} It's...{w=0.4} Your hands are cold!" ("disgust", "narrow", "worried", "R") #annoyed #glance gen "I see..." ("base", xpos="far_left", ypos="head") gen "In that case I'll continue..." ("base", xpos="far_left", ypos="head") - her "Wait--" ("clench", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Wait--" ("clench", "base", "base", "R") call her_chibi_scene("grope_ass_back") with d3 - call nar(">You begin to firmly stroke her ass cheeks with your open palms.") + nar "You begin to firmly stroke her ass cheeks with your open palms." - her "" ("annoyed", "happyCl", "worried", "mid", cheeks="blush") #happycl #annoyed #blush + her @ cheeks blush "" ("annoyed", "happyCl", "worried", "mid") #happycl #annoyed #blush pause .8 - call nar(">Grabbing the sides of her waist, you start kneading her cheeks with your thumbs.") + nar "Grabbing the sides of her waist, you start kneading her cheeks with your thumbs." gen "These cheeks, so soft... Yet so firm..." ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("angry", "narrow", "base", "down", cheeks="blush") - call nar(">You give her cheeks a quick squeeze.") - her "[genie_name]!" ("disgust", "narrow", "base", "R", cheeks="blush") - gen "How did that feel, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I... {w=0.4} Good?" ("open", "squint", "worried", "down", cheeks="blush") + her @ cheeks blush "*Ehm*..." ("angry", "narrow", "base", "down") + nar "You give her cheeks a quick squeeze." + her @ cheeks blush "[name_genie_hermione]!" ("disgust", "narrow", "base", "R") + gen "How did that feel, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I... {w=0.4} Good?" ("open", "squint", "worried", "down") gen "You don't sound very convinced..." ("base", xpos="far_left", ypos="head") - gen "I didn't take you for such a spoiled girl, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "I didn't take you for such a spoiled girl, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You could at least act a little bit more grateful..." ("base", xpos="far_left", ypos="head") - her "What do you--" ("angry", "happy", "worried", "mid", cheeks="blush") - call nar(">You firmly dig into her cheeks with your thumbs, making her clench up from the surprise.") - her "Ouch!" ("disgust", "happyCl", "annoyed", "mid", cheeks="blush") - her "I thought this was supposed to be a massage!" ("angry", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "What do you--" ("angry", "happy", "worried", "mid") + nar "You firmly dig into her cheeks with your thumbs, making her clench up from the surprise." + her @ cheeks blush "Ouch!" ("disgust", "happyCl", "annoyed", "mid") + her @ cheeks blush "I thought this was supposed to be a massage!" ("angry", "narrow", "annoyed", "R") gen "Then try and relax a bit, would you?" ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "annoyed", "R", cheeks="blush") #annoyed - her "...{fast} Fine." ("open", "narrow", "annoyed", "stare", cheeks="blush") #annoyed - her "..." ("base", "narrow", "worried", "L", cheeks="blush") #closed eyes + her @ cheeks blush "..." ("disgust", "narrow", "annoyed", "R") #annoyed + her @ cheeks blush "...{fast} Fine." ("open", "narrow", "annoyed", "stare") #annoyed + her @ cheeks blush "..." ("base", "narrow", "worried", "L") #closed eyes gen "Good... Now let's see what your final verdict will be..." ("base", xpos="far_left", ypos="head") - her "" ("base", "closed", "worried", "mid", cheeks="blush") - call nar(">You begin moving your hands up and down her thighs, lightly brushing against the underside of her butt.") - call nar(">Hermione doesn't respond but you feel her muscles relax a bit more as you continue rubbing her.") - her "" ("base", "closed", "base", "mid", cheeks="blush") - call nar(">Moving your hand up again, you resume massaging her soft cheeks...") - her "*Mmm*..." ("soft", "closed", "worried", "mid", cheeks="blush") #closed eyes #blush - call nar(">Hermione let's out an involuntary moan of pleasure...") + her @ cheeks blush "" ("base", "closed", "worried", "mid") + nar "You begin moving your hands up and down her thighs, lightly brushing against the underside of her butt." + nar "Hermione doesn't respond, but you feel her muscles relax a bit more as you continue rubbing her." + her @ cheeks blush "" ("base", "closed", "base", "mid") + nar "Moving your hand up again, you resume massaging her soft cheeks..." + her @ cheeks blush "*Mmm*..." ("soft", "closed", "worried", "mid") #closed eyes #blush + nar "Hermione let's out an involuntary moan of pleasure..." gen "(*Hngh*... What I'd do to stick my dick in between those cheeks.)" ("angry", xpos="far_left", ypos="head") - call nar(">You pull her cheeks apart to reveal her puckered butthole, and then quickly let go before she notices...") + nar "You pull her cheeks apart to reveal her puckered butthole, and then quickly let go before she notices..." gen "(It looks so tight with her ass like this!)" ("angry", xpos="far_left", ypos="head") gen "(I've got to know what it feels like...)" ("base", xpos="far_left", ypos="head") else: # 19+ - her "Please hurry [genie_name]... Massage my butt cheeks..." ("angry", "base", "base", "R", cheeks="blush", xpos="mid", ypos="base", flip=True, trans=d3) + her @ cheeks blush "Please hurry [name_genie_hermione]... Massage my butt cheeks..." ("angry", "base", "base", "R", xpos="mid", ypos="base", flip=True, trans=d3) gen "*Hmm*... I'm not so sure if I should do it now..." ("grin", xpos="far_left", ypos="head") - her "Please!" ("disgust", "happyCl", "base", "mid", cheeks="blush") - her "I need it!" ("angry", "happyCl", "base", "mid", cheeks="blush") - gen "Very well [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Please!" ("disgust", "happyCl", "base", "mid") + her @ cheeks blush "I need it!" ("angry", "happyCl", "base", "mid") + gen "Very well [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") call her_chibi_scene("grope_ass_back") with d3 - call nar(">You grab Hermione's engorged buttocks with your hands and give them a light squeeze.") + nar "You grab Hermione's engorged buttocks with your hands and give them a light squeeze." - her "..." ("grin", "narrow", "base", "stare", cheeks="blush") #blank stare horny + her @ cheeks blush "..." ("grin", "narrow", "base", "stare") #blank stare horny gen "Well this potion certainly is effective." ("base", xpos="far_left", ypos="head") - call nar(">You begin to firmly stroke her ass with your open palms.") - her "*Mmm*..." ("smile", "narrow", "base", "stare", cheeks="blush") + nar "You begin to firmly stroke her ass with your open palms." + her @ cheeks blush "*Mmm*..." ("smile", "narrow", "base", "stare") gen "(I barely even touched her yet...)" ("base", xpos="far_left", ypos="head") - call nar(">Continuing the massage, you begin kneading her soft cheeks with your thumbs...") - her "[genie_name]..." ("base", "narrow", "base", "stare", cheeks="blush") - call nar(">Grabbing the sides of her waist you move your thumbs in a circular motion, giving her a squeeze each time you close your palm.") - her "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - call nar(">Lightening your grip, you slowly slide your hands alongside the sides of her figure and move them underneath her cheeks.") - her "*Ah*...{w=0.3} *Ah*...{w=0.3} You...{w=0.3} You're..." ("soft", "closed", "worried", "mid", cheeks="blush") - call nar(">Hermione begins to breathe heavily as you grab her cheeks firmly with your thumbs.") - call nar(">You pull them apart to reveal her butthole and then proceed to watch them jiggle as you let go.") - her "" ("soft", "narrow", "worried", "stare", cheeks="blush") #pleasure + nar "Continuing the massage, you begin kneading her soft cheeks with your thumbs..." + her @ cheeks blush "[name_genie_hermione]..." ("base", "narrow", "base", "stare") + nar "Grabbing the sides of her waist, you move your thumbs in a circular motion, giving her a squeeze each time you close your palm." + her @ cheeks blush "*Ah*..." ("open", "closed", "base", "mid") + nar "Lightening your grip, you slowly slide your hands alongside the sides of her figure and move them underneath her cheeks." + her @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} You...{w=0.3} You're..." ("soft", "closed", "worried", "mid") + nar "Hermione begins to breathe heavily as you grab her cheeks firmly with your thumbs." + nar "You pull them apart to reveal her butthole and then proceed to watch them jiggle as you let go." + her @ cheeks blush "" ("soft", "narrow", "worried", "stare") #pleasure pause .8 - call nar(">Seeing her puckered hole gives you an idea.") + nar "Seeing her puckered hole gives you an idea." - $ her_ass_expand_groped = True + $ states.her.ev.potions.ass_expand_complete = True menu: "-Stick a finger in there-": - call nar(">You spread her cheeks open again to expose that tight hole.") + nar "You spread her cheeks open again to expose that tight hole." gen "Let's see how sensitive you really are..." ("base", xpos="far_left", ypos="head") - call nar(">You start teasing the rim with your finger, gently circling it.") - if not hg_anal.trigger: #Fail - if not her_ass_expand_finger: - her "what do you--" ("base", "narrow", "base", "stare", cheeks="blush") #confused + nar "You start teasing the rim with your finger, gently circling it." + if not states.her.status.anal: #Fail + if not states.her.ev.potions.ass_expand_tried_fingering: + her @ cheeks blush "what do you--" ("base", "narrow", "base", "stare") #confused - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" - her "!!!" ("clench", "wide", "base", "stare", cheeks="blush") #wide eyed - call nar(">You feel Hermione clench up around your finger as you insert it into her butthole.") - her "What are you doing?!?" ("scream", "happyCl", "worried", "R", cheeks="blush") + her @ cheeks blush "!!!" ("clench", "wide", "base", "stare") #wide eyed + nar "You feel Hermione clench up around your finger as you insert it into her butthole." + her @ cheeks blush "What are you doing?!?" ("scream", "happyCl", "worried", "R") gen "What does it feel like I'm doing?" ("base", xpos="far_left", ypos="head") - her "You... You've put something in me!" ("angry", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "You... You've put something in me!" ("angry", "happyCl", "annoyed", "mid") gen "That's right..." ("base", xpos="far_left", ypos="head") - call nar(">You wiggle your finger inside Hermione's butthole.") - her "" ("angry", "wide", "base", "stare", cheeks="blush") #wide eyed #blush + nar "You wiggle your finger inside Hermione's butthole." + her @ cheeks blush "" ("angry", "wide", "base", "stare") #wide eyed #blush gen "So, how sensitive is--" ("base", xpos="far_left", ypos="head") - her "Pull it out!" ("scream", "happyCl", "base", "stare", cheeks="blush") + her @ cheeks blush "Pull it out!" ("scream", "happyCl", "base", "stare") gen "But--" ("base", xpos="far_left", ypos="head") - her "Now!" ("scream", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Now!" ("scream", "happyCl", "annoyed", "mid") gen "Fine..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/pop01.ogg") + play sound "sounds/pop01.ogg" else: #Tried to finger her Ass before - her "Wait, you don't mean--" ("angry", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "Wait, you don't mean--" ("angry", "wide", "base", "stare") - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" - her "!!!" ("clench", "happyCl", "annoyed", "mid", cheeks="blush") #wide eyed - call nar(">You feel Hermione clench up around your finger as you insert it into her butthole.") - her "[genie_name], what are you doing!" ("scream", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "!!!" ("clench", "happyCl", "annoyed", "mid") #wide eyed + nar "You feel Hermione clench up around your finger as you insert it into her butthole." + her @ cheeks blush "[name_genie_hermione], what are you doing!" ("scream", "happyCl", "annoyed", "mid") gen "I stuck my finger in your butthole, feels good doesn't it?" ("base", xpos="far_left", ypos="head") - her "No! I can't believe you're doing this again!" ("scream", "happy", "annoyed", "R", cheeks="blush") - her "Pull it out!" ("clench", "squint", "annoyed", "R", cheeks="blush") + her @ cheeks blush "No! I can't believe you're doing this again!" ("scream", "happy", "annoyed", "R") + her @ cheeks blush "Pull it out!" ("clench", "squint", "annoyed", "R") gen "One moment..." ("base", xpos="far_left", ypos="head") - call nar(">You wiggle your finger inside Hermione's butthole.") - her "Now!" ("scream", "base", "annoyed", "mid", cheeks="blush") + nar "You wiggle your finger inside Hermione's butthole." + her @ cheeks blush "Now!" ("scream", "base", "annoyed", "mid") gen "Alright, fine..." ("base", xpos="far_left", ypos="head") # Fail End section # @@ -778,27 +773,27 @@ label her_potion_ass_give: hide screen blkfade with d5 - if her_whoring < 19: #When she cares about points - her "I'll have those points now..." ("angry", "narrow", "annoyed", "mid", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) + if states.her.level < 19: #When she cares about points + her @ cheeks blush "I'll have those points now..." ("angry", "narrow", "annoyed", "mid", xpos="base", ypos="base", flip=False, trans=d3) gen "But..." ("base", xpos="far_left", ypos="head") - her "No... No buts!" ("scream", "squint", "angry", "mid", cheeks="blush") + her @ cheeks blush "No... No buts!" ("scream", "squint", "angry", "mid") gen "Alright... {number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") - her "I can't believe you..." ("angry", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "I can't believe you..." ("angry", "narrow", "annoyed", "R") else: - her "I can't believe you..." ("angry", "narrow", "base", "R", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) #blush + her @ cheeks blush "I can't believe you..." ("angry", "narrow", "base", "R", xpos="base", ypos="base", flip=False, trans=d3) #blush gen "Sorry, I got a bit ahead of myself..." ("base", xpos="far_left", ypos="head") - her "" ("angry", "base", "worried", "mid", cheeks="blush") #surprised by your apology + her @ cheeks blush "" ("angry", "base", "worried", "mid") #surprised by your apology pause .8 gen "I should've put two in the pink, one in the--" ("grin", xpos="far_left", ypos="head") - her "*Grrr*!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "*Grrr*!" ("angry", "narrow", "annoyed", "mid") call her_walk(action="leave", speed=2.0) - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch - $ her_mood += 20 + $ states.her.mood += 20 - if not her_ass_expand_no_clothes: - if her_whoring < 19: + if not _no_clothes: + if states.her.level < 19: gen "..." ("base", xpos="far_left", ypos="head") else: gen "Was it something I said?" ("base", xpos="far_left", ypos="head") @@ -809,11 +804,11 @@ label her_potion_ass_give: call her_walk(action="enter") pause .5 - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ hermione.wear("all") pause .4 call her_walk(action="leave") - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch pause 1.0 @@ -821,158 +816,159 @@ label her_potion_ass_give: gen "{cps=3}...{/cps}" ("base", xpos="far_left", ypos="head") gen "No buts next time, got it." ("base", xpos="far_left", ypos="head") - $ hermione.set_body(backside=None) - $ her_ass_expand_drank = True - $ her_ass_expand_finger = True - $ her_ass_expand_no_clothes = False #Took off main clothing check reset + $ hermione.unequip("hips") + $ states.her.ev.potions.ass_expand_drank = True + $ states.her.ev.potions.ass_expand_tried_fingering = True + $ _no_clothes = False #Took off main clothing check reset jump end_hermione_event else: #Success - if not her_ass_expand_finger: - her "[genie_name] please... I'm too sensitive. If you do that, I'm not sure I'll be able to control myself." ("mad", "narrow", "worried", "R", cheeks="blush") + if not states.her.ev.potions.ass_expand_tried_fingering: + her @ cheeks blush "[name_genie_hermione] please... I'm too sensitive. If you do that, I'm not sure I'll be able to control myself." ("mad", "narrow", "worried", "R") gen "That's unfortunate..." ("base", xpos="far_left", ypos="head") - call nar(">You slowly pull your finger away from her asshole.") - her "Thank you--" ("base", "closed", "worried", "mid", cheeks="blush") - call nar(">And then fully insert it.") + nar "You slowly pull your finger away from her asshole." + her @ cheeks blush "Thank you--" ("base", "closed", "worried", "mid") + nar "And then fully insert it." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" - her "..." ("grin", "base", "base", "ahegao", cheeks="blush") + her @ cheeks blush "..." ("grin", "base", "base", "ahegao") gen "What was it you said about control?" ("base", xpos="far_left", ypos="head") - call nar(">You wiggle your finger inside Hermione's butthole.") - her "" ("grin", "happyCl", "base", "stare", cheeks="blush") + nar "You wiggle your finger inside Hermione's butthole." + her @ cheeks blush "" ("grin", "happyCl", "base", "stare") pause .8 - call nar(">You keep going and suddenly feel her tense up around your finger.") + nar "You keep going and suddenly feel her tense up around your finger." gen "Such a anal slut... I wonder what you'll do once I try this." ("base", xpos="far_left", ypos="head") - call nar(">You pull your finger out slightly and without warning start pumping it in and out of her puckered asshole.") + nar "You pull your finger out slightly and without warning start pumping it in and out of her puckered asshole." - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - her "!!!" ("open_tongue", "base", "base", "ahegao", cheeks="blush") - call nar(">As you continue your barrage on the girl's hole, you feel her shaking, desperately trying to keep her composure.") - her "Please [genie_name]..." ("grin", "happyCl", "base", "mid", cheeks="blush") - her "I can't take it any longer..." ("angry", "narrow", "base", "dead", cheeks="blush") + her @ cheeks blush "!!!" ("open_tongue", "base", "base", "ahegao") + nar "As you continue your barrage on the girl's hole, you feel her shaking, desperately trying to keep her composure." + her @ cheeks blush "Please [name_genie_hermione]..." ("grin", "happyCl", "base", "mid") + her @ cheeks blush "I can't take it any longer..." ("angry", "narrow", "base", "dead") else: - her "Please [genie_name]... Not again... I can't take it..." ("angry", "narrow", "base", "stare", cheeks="blush") - gen "You shouldn't put yourself down so much [hermione_name]..." ("base", xpos="far_left", ypos="head") - call nar(">You poke Hermione's asshole with your finger, sticking the tip in just slightly.") - her "*Ngh*... [genie_name]..." ("clench", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Please [name_genie_hermione]... Not again... I can't take it..." ("angry", "narrow", "base", "stare") + gen "You shouldn't put yourself down so much [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + nar "You poke Hermione's asshole with your finger, sticking the tip in just slightly." + her @ cheeks blush "*Ngh*... [name_genie_hermione]..." ("clench", "narrow", "base", "up") gen "What was that?" ("base", xpos="far_left", ypos="head") - call nar(">You take the tip of your finger out again and start teasing the entrance of her butthole...") - gen "That's odd... I thought you said you couldn't take it, but the tip of my finger sure found it easy to penetrate you, [hermione_name]..." ("base", xpos="far_left", ypos="head") - call nar(">You circle the entrance of her butthole with your finger, and Hermione's words trail off into sounds of pleasure...") - her "*Mmmm*... [genie_name]..." ("mad", "closed", "base", "mid", cheeks="blush") + nar "You take the tip of your finger out again and start teasing the entrance of her butthole..." + gen "That's odd... I thought you said you couldn't take it, but the tip of my finger sure found it easy to penetrate you, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + nar "You circle the entrance of her butthole with your finger, and Hermione's words trail off into sounds of pleasure..." + her @ cheeks blush "*Mmmm*... [name_genie_hermione]..." ("mad", "closed", "base", "mid") gen "Let's try this again then shall we..." ("base", xpos="far_left", ypos="head") - call nar(">You put your finger up against her puckered hole once more and give it a gentle push.") + nar "You put your finger up against her puckered hole once more and give it a gentle push." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" - her "[genie_name]!" ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("grin", "narrow", "base", "up") gen "Look who suddenly woke up for the event." ("base", xpos="far_left", ypos="head") - call nar(">You begin pumping your finger in and out of Hermione's ass with increasing ease.") + nar "You begin pumping your finger in and out of Hermione's ass with increasing ease." - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - her "oooh...." ("grin", "squint", "base", "stare", cheeks="blush") - gen "You sure are taking it pretty well [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} Maybe I--{w=0.2} *Ah*..." ("soft", "happyCl", "base", "mid", cheeks="blush") - her "Maybe I've finally gotten used to--{w=0.2} *Ah*..." ("soft", "happyCl", "base", "stare", cheeks="blush") + her @ cheeks blush "oooh...." ("grin", "squint", "base", "stare") + gen "You sure are taking it pretty well [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} Maybe I--{w=0.2} *Ah*..." ("soft", "happyCl", "base", "mid") + her @ cheeks blush "Maybe I've finally gotten used to--{w=0.2} *Ah*..." ("soft", "happyCl", "base", "stare") gen "Gotten used to having your ass filled?" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("soft", "closed", "worried", "stare", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("soft", "closed", "worried", "stare") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - call nar(">Not missing a beat, you stick your finger down to the hilt inside Hermione's ass.") + nar "Not missing a beat, you stick your finger down to the hilt inside Hermione's ass." - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" pause .4 - her "[genie_name]!!!" ("angry", "happyCl", "base", "stare", cheeks="blush") - her "[genie_name], it's too much!!!" ("clench", "happyCl", "worried", "stare", cheeks="blush") - her "Please!" ("soft", "narrow", "worried", "up", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!!!" ("angry", "happyCl", "base", "stare") + her @ cheeks blush "[name_genie_hermione], it's too much!!!" ("clench", "happyCl", "worried", "stare") + her @ cheeks blush "Please!" ("soft", "narrow", "worried", "up") menu: "-Keep Going-": #Hermione cums - gen "What was that, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "What was that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") - call nar(">Pushing Hermione over your desk you finger her ass vigorously.") + nar "Pushing Hermione over your desk, you finger her ass vigorously." call her_chibi_scene("lie_on_desk_fingering_slow") - play bg_sounds "sounds/slickloopfast.ogg" + play background "sounds/slickloopfast.ogg" - call nar(">Increasing the pace, Hermione now begins dripping with excitement.") - her "Please..." ("grin", "narrow", "base", "dead", cheeks="blush") + nar "Increasing the pace, Hermione now begins dripping with excitement." + her @ cheeks blush "Please..." ("grin", "narrow", "base", "dead") gen "Please what?" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" - call nar(">You insert a second finger.") - her "*Ah*...{w} Please...{w} Stop...{w} You'll break me!" ("smile", "narrow", "base", "dead", cheeks="blush") + nar "You insert a second finger." + her @ cheeks blush "*Ah*...{w} Please...{w} Stop...{w} You'll break me!" ("smile", "narrow", "base", "dead") call her_chibi_scene("lie_on_desk_fingering_slow") - play bg_sounds "sounds/slickloopveryfast.ogg" + play background "sounds/slickloopveryfast.ogg" - call nar(">Grabbing her hip with your other hand you relentlessly finger fuck her asshole.") - her "...{w=0.03}{nw}" ("open_tongue", "base", "base", "up", cheeks="blush") - her "...{fast}" ("open_wide_tongue", "base", "base", "ahegao", cheeks="blush") - call nar(">And suddenly you feel her body go limp as her asshole relentlessly quivers around your fingers.") - her "*Ah*!" ("smile", "base", "worried", "ahegao", cheeks="blush") - stop bg_sounds fadeout 2 + nar "Grabbing her hip with your other hand, you relentlessly finger-fuck her asshole." + her @ cheeks blush "...{w=0.03}{nw}" ("open_tongue", "base", "base", "up") + her @ cheeks blush "...{fast}" ("open_wide_tongue", "base", "base", "ahegao") + nar "And suddenly, you feel her body go limp as her asshole relentlessly quivers around your fingers." + her @ cheeks blush "*Ah*!" ("smile", "base", "worried", "ahegao") + stop background fadeout 2 call her_chibi_scene("lie_on_desk_fingering_cumming") with d3 - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris pause .8 - her "" ("smile", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "" ("smile", "happyCl", "worried", "mid") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris pause .8 - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "" ("smile", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "" ("smile", "narrow", "base", "up") call her_chibi_scene("lie_on_desk_fingering_pause_ahegao") with d5 gen "There...{w=0.4} Wasn't that nice?" ("base", xpos="far_left", ypos="head") - call nar(">Hermione shakes slightly in your hands as you stop fingering her, and you watch as a streak of liquid starts going down her thigh.") + nar "Hermione shakes slightly in your hands as you stop fingering her, and you watch as a streak of liquid starts going down her thigh." call her_chibi_scene("lie_on_desk_fingering_pause") with d5 - her "Yes...{w=0.4} *Hngh*...{w=0.4} [genie_name]." ("grin", "happyCl", "base", "dead", cheeks="blush") + her @ cheeks blush "Yes...{w=0.4} *Hngh*...{w=0.4} [name_genie_hermione]." ("grin", "happyCl", "base", "dead") call her_chibi_scene("lie_on_desk") with d5 - her "*Mmm*..." ("base", "narrow", "worried", "dead", cheeks="blush") #look of pleasure + her @ cheeks blush "*Mmm*..." ("base", "narrow", "worried", "dead") #look of pleasure gen "... {w} Good girl." ("base", xpos="far_left", ypos="head") "-Let go of her-": gen "Well, If that's the case!" ("base", xpos="far_left", ypos="head") - stop bg_sounds fadeout 2 + stop background fadeout 2 - her "*Ah*...{w=0.4} Be careful--" ("mad", "narrow", "worried", "R", cheeks="blush") - call nar(">With a small yelp and popping sound you quickly pull your finger out of her asshole.") + her @ cheeks blush "*Ah*...{w=0.4} Be careful--" ("mad", "narrow", "worried", "R") + nar "With a small yelp and popping sound, you quickly pull your finger out of her asshole." - $ renpy.sound.play("sounds/pop01.ogg") + play sound "sounds/pop01.ogg" with kissiris - her "*Ngh*!!!" ("grin", "narrow", "base", "up", cheeks="blush") #wide #blush - gen "What was that, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} Nevermind." ("disgust", "narrow", "worried", "up", cheeks="blush") + her @ cheeks blush "*Ngh*!!!" ("grin", "narrow", "base", "up") #wide #blush + gen "What was that, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} Nevermind." ("disgust", "narrow", "worried", "up") #End section show screen blkfade with d5 - call nar(">Standing there for a moment you begin feeling Hermione's breathing slow down, finally after a couple of minutes once her ass shrunk back down she straightens her back and makes it to the front of your desk.") + nar "Standing there for a moment, you begin feeling Hermione's breathing slow down..." + nar "Finally after a couple of minutes, once her ass shrunk back down, she straightens her back and makes it to the front of your desk..." call her_chibi("stand","desk","base", flip=False) call gen_chibi("sit_behind_desk") @@ -985,12 +981,12 @@ label her_potion_ass_give: gen "Well then... You best be off to class." ("base", xpos="far_left", ypos="head") - if not her_ass_expand_no_clothes: - her "Alright..." ("base", "narrow", "base", "down", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) + if not _no_clothes: + her @ cheeks blush "Alright..." ("base", "narrow", "base", "down", xpos="base", ypos="base", flip=False, trans=d3) $ hermione.wear("all") else: #Took of main clothing - her "Alright... Just give me a moment..." ("base", "narrow", "base", "down", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + her @ cheeks blush "Alright... Just give me a moment..." ("base", "narrow", "base", "down", xpos="base", ypos="base", flip=False, trans=d3) + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("all") pause .5 her "There we go..." ("base", "wink", "base", "mid") @@ -998,7 +994,7 @@ label her_potion_ass_give: gen "Now hurry up... I have things to attend to." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "*Ehm*... What about my points?" ("soft", "wink", "base", "mid") gen "Oh right... The points..." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") @@ -1006,54 +1002,54 @@ label her_potion_ass_give: gen "Oh, I almost forgot, {number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") her "Oh right... The points.... Thank you." ("soft", "wink", "base", "mid") - call nar(">Hermione still a bit dazed, stumbles slightly as she makes her way to your door.") + nar "Hermione, still a bit dazed, stumbles slightly as she makes her way to your door." call her_walk("mid", "base") pause .2 - $ renpy.sound.play("sounds/jump_shoes.ogg") + play sound "sounds/jump_shoes.ogg" - her "*Ahem*..." ("angry", "squint", "base", "R", cheeks="blush", flip=True, trans=d3) + her @ cheeks blush "*Ahem*..." ("angry", "squint", "base", "R", flip=True, trans=d3) call her_walk("door", "base") pause.2 - her "Bye then..." ("angry", "narrow", "base", "L", cheeks="blush", flip=True, trans=d3) + her @ cheeks blush "Bye then..." ("angry", "narrow", "base", "L", flip=True, trans=d3) call her_walk(action="leave") - $ her_ass_expand_drank = True - $ her_ass_expand_finger = True - $ her_ass_expand_no_clothes = False #Took off main clothing check reset - $ hermione.set_body(backside=None) + $ states.her.ev.potions.ass_expand_drank = True + $ states.her.ev.potions.ass_expand_tried_fingering = True + $ _no_clothes = False #Took off main clothing check reset + $ hermione.unequip("hips") jump end_hermione_event "-Let go of her-": gen "(Probably shouldn't push it...)" ("base", xpos="far_left", ypos="head") gen "Well, I suppose that's enough for now..." ("base", xpos="far_left", ypos="head") - her "Oh... Okay!" ("angry", "base", "base", "stare", cheeks="blush") #happyclosed - call nar(">You give her cheeks one last squeeze and then let go of her.") - her "..." ("soft", "squint", "base", "stare", cheeks="blush") #surprised + her @ cheeks blush "Oh... Okay!" ("angry", "base", "base", "stare") #happyclosed + nar "You give her cheeks one last squeeze and then let go of her." + her @ cheeks blush "..." ("soft", "squint", "base", "stare") #surprised call music_block #End section gen "Well you best be off to class." ("base", xpos="far_left", ypos="head") - if hg_pr_flash.counter > 0: - her "Alright..." ("open", "narrow", "base", "down", cheeks="blush") #surprised + if states.her.status.public_stripping: + her @ cheeks blush "Alright..." ("open", "narrow", "base", "down") #surprised else: - her "... With my butt looking like this?" ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "... With my butt looking like this?" ("soft", "narrow", "base", "down") gen "I'm sure no one will be able to tell." ("base", xpos="far_left", ypos="head") gen "Now hurry up... I have things to attend to." ("base", xpos="far_left", ypos="head") show screen blkfade with d5 - $ hermione.set_body(backside="big2") + $ hermione.equip(her_hips_ass2) - call nar(">As Hermione's straightens her back you watch as her ass begins shrinking in size.") - call nar(">With a short sigh, she then walk up to the front of your desk.") + nar "As Hermione's straightens her back, you watch as her ass begins shrinking in size." + nar "With a short sigh, she then walks up to the front of your desk." - $ hermione.set_body(backside="big1") + $ hermione.equip(her_hips_ass1) call her_chibi("stand","desk","base", flip=False) call gen_chibi("sit_behind_desk") @@ -1062,78 +1058,78 @@ label her_potion_ass_give: hide screen blkfade with d5 - $ hermione.set_body(backside=None) + $ hermione.unequip("hips") - her "So, is that it [genie_name]?" ("open", "squint", "base", "R", cheeks="blush", xpos="base", ypos="base", flip=False, trans=d3) - if her_whoring < 19: + her @ cheeks blush "So, is that it [name_genie_hermione]?" ("open", "squint", "base", "R", xpos="base", ypos="base", flip=False, trans=d3) + if states.her.level < 19: gen "Unless there's something else you wanted..." ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("angry", "narrow", "base", "down", cheeks="blush") - her "The points." ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ehm*..." ("angry", "narrow", "base", "down") + her @ cheeks blush "The points." ("angry", "squint", "base", "mid") gen "Oh right, the points!" ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "Thank you, I'll head back to class then..." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Thank you, I'll head back to class then..." ("soft", "base", "base", "R") else: - gen "Yes... No wait, I almost forgot!" ("base", xpos="far_left", ypos="head") + gen "Yes... No, wait, I almost forgot!" ("base", xpos="far_left", ypos="head") gen "{number=current_payout} to Gryffindor!" ("base", xpos="far_left", ypos="head") her "Oh right... The points.... Thank you." ("soft", "narrow", "base", "down") - if not hg_anal.trigger: #didn't expect you to push further + if not states.her.status.anal: #didn't expect you to push further gen "You're welcome by the way..." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("soft", "base", "base", "mid") gen "For the massage." ("base", xpos="far_left", ypos="head") - her "Oh... Thank you [genie_name]." ("annoyed", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Oh... Thank you [name_genie_hermione]." ("annoyed", "squint", "base", "R") gen "Off you go." ("base", xpos="far_left", ypos="head") - if not her_ass_expand_no_clothes: - her "Alright." ("soft", "wink", "base", "mid", cheeks="blush") + if not _no_clothes: + her @ cheeks blush "Alright." ("soft", "wink", "base", "mid") else: #Took of main clothing - her "One moment please..." ("soft", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "One moment please..." ("soft", "wink", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("all") pause .5 else: #Expected you to push further - her "..." ("annoyed", "narrow", "base", "down", cheeks="blush") - gen "Is everything okay [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Oh... Yes, I'm fine, [genie_name]..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "down") + gen "Is everything okay [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Yes, I'm fine, [name_genie_hermione]..." ("soft", "narrow", "base", "down") gen "Good." ("base", xpos="far_left", ypos="head") - if not her_ass_expand_no_clothes: + if not _no_clothes: gen "Off you go then." ("base", xpos="far_left", ypos="head") - her "Right..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Right..." ("annoyed", "narrow", "base", "R") else: #Took of main clothing - her "I suppose I'll just put this back on then..." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I suppose I'll just put this back on then..." ("annoyed", "narrow", "base", "down") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.wear("all") pause .5 - her "Off I go..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Off I go..." ("open", "base", "base", "R") - her "Bye then, [genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") - gen "Bye [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Bye then, [name_genie_hermione]..." ("open", "closed", "base", "mid") + gen "Bye [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ her_ass_expand_drank = True - $ her_ass_expand_no_clothes = False #Took off main clothing check reset + $ states.her.ev.potions.ass_expand_drank = True + $ _no_clothes = False #Took off main clothing check reset jump end_hermione_event ##Send Hermione to class Ass expand Return event## label her_potion_ass_return: - #Hermione enters office and walks to front of desk + #Hermione enters the office, and walks to the front of the desk call her_walk("desk", "base", action="enter") - if her_reputation < 19: - her "That was so humiliating..." ("disgust", "narrow", "base", "down", cheeks="blush") + if states.her.public_level < 19: + her @ cheeks blush "That was so humiliating..." ("disgust", "narrow", "base", "down") gen "Hello to you too..." ("base", xpos="far_left", ypos="head") - her "Why did you have to give me that potion the day Professor Snape has us go to Hogsmeade?" ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Why did you have to give me that potion the day Professor Snape has us go to Hogsmeade?" ("open", "closed", "annoyed", "mid") gen "Go to what?" ("base", xpos="far_left", ypos="head") her "To Hogsmeade!" ("open", "base", "angry", "mid") her "Although, I suppose you may not have been aware of that..." ("clench", "squint", "base", "R") her "Professor Snape usually sends us down to Hogsmeade to acquire the necessary potion supplies for the month." ("open", "closed", "annoyed", "mid") gen "How lazy can a man get..." ("base", xpos="far_left", ypos="head") - her "Sorry, [genie_name]... I probably should've told you about it." ("disgust", "narrow", "base", "down") + her "Sorry, [name_genie_hermione]... I probably should've told you about it." ("disgust", "narrow", "base", "down") her "You know I'd normally tell you these things but..." ("angry", "narrow", "base", "R") gen "But?" ("base", xpos="far_left", ypos="head") her "Well... Getting out of that classroom once a month is usually what lets me get through..." ("disgust", "closed", "base", "mid") @@ -1145,79 +1141,92 @@ label her_potion_ass_return: gen "Professor Snape and the Slytherins is like the top of the list of things you constantly complain about." ("base", xpos="far_left", ypos="head") her "I don't always complain about them!" ("disgust", "squint", "annoyed", "mid") gen "..." ("base", xpos="far_left", ypos="head") - her "That said... I'd normally enjoy the free time as you mentioned... But manoeuvering that... *Err*..." ("angry", "squint", "worried", "R") + her "That said... I'd normally enjoy the free time as you mentioned... But manoeuvring that... *Err*..." ("angry", "squint", "worried", "R") gen "Dump truck?" ("base", xpos="far_left", ypos="head") her "..." ("disgust", "base", "base", "mid") her "Yes, that..." ("disgust", "squint", "base", "mid") her "We didn't even get all the way down to Hogsmeade, which is normally where the Slytherins would leave the group before they took notice..." ("open", "squint", "annoyed", "R") - her "I was just about to give them a piece of my mind but this thing made me lose my balance and fall onto the ground..." ("angry", "narrow", "angry", "down") + her "I was just about to give them a piece of my mind, but this thing made me lose my balance and fall onto the ground..." ("angry", "narrow", "angry", "down") her "And to no surprise, they stopped in their tracks howling with laughter..." ("angry", "narrow", "angry", "R") gen "Surely some Slytherin students trying to make a scene isn't enough to--" ("base", xpos="far_left", ypos="head") her "Of course not!" ("angry", "closed", "annoyed", "mid") - her "But they're not the only ones who have been starting at it." ("annoyed", "narrow", "annoyed", "R", cheeks="blush") - her "Me falling over on the way to Hogsmeade wasn't exactly a one time occurrence..." ("open", "narrow", "annoyed", "down", cheeks="blush") - her "Whilst other people weren't openly laughing at it, I could still hear them whispering and giggling..." ("angry", "narrow", "base", "down", cheeks="blush") - her "I felt as if I was going die from embarrassment..." ("disgust", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "But they're not the only ones who have been starting at it." ("annoyed", "narrow", "annoyed", "R") + her @ cheeks blush "Me falling over on the way to Hogsmeade wasn't exactly a one-time occurrence..." ("open", "narrow", "annoyed", "down") + her @ cheeks blush "Whilst other people weren't openly laughing at it, I could still hear them whispering and giggling..." ("angry", "narrow", "base", "down") + her @ cheeks blush "I felt as if I was going to die from embarrassment..." ("disgust", "closed", "base", "mid") gen "They're just jealous." ("base", xpos="far_left", ypos="head") - her "Are they, [genie_name]?" ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Are they, [name_genie_hermione]?" ("disgust", "narrow", "base", "mid") gen "Well... Maybe not the falling over part." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "down", cheeks="blush") - her "Can I have my points now?" ("open", "closed", "base", "mid", cheeks="blush") - gen "Of course [hermione_name]!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "down") + her @ cheeks blush "Can I have my points now?" ("open", "closed", "base", "mid") + gen "Of course [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "... Thank you." ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "... Thank you." ("base", "squint", "base", "mid") else: - her "Hello [genie_name]..." ("base", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Hello [name_genie_hermione]..." ("base", "narrow", "base", "R") gen "Back so soon?" ("base", xpos="far_left", ypos="head") - her "I... Yes..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I... Yes..." ("base", "narrow", "base", "down") gen "Very well... So, how's your day been?" ("base", xpos="far_left", ypos="head") gen "Anything interesting happen?" ("base", xpos="far_left", ypos="head") - her "Well..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Well..." ("base", "closed", "base", "mid") - $ camera.set(zoom=0.25, pos=(0, 0), image="CG ass expand classroom A1", overlay=None, initialize=True) - show screen animatedCG + show her_potions_public_expand_ass_a1 as cg zorder 17: + fit "cover" with fade - her "In today's history of magic lesson I was asked by professor Binns to help outline the timeline of the Witch hunts of the 14th century on the blackboard..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "In today's \"History of magic\" lesson, I was asked by professor Binns to help outline the timeline of the Witch hunts of the 14th century on the blackboard..." ("open", "closed", "base", "mid") gen "Sounds dreadfully boring..." ("base", xpos="far_left", ypos="head") - her "History of magic is not boring, [genie_name]!" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "History of magic is not boring, [name_genie_hermione]!" ("angry", "squint", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - her "Okay, maybe it's a little bit boring..." ("angry", "narrow", "base", "R", cheeks="blush") - her "But it's important!" ("annoyed", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Okay, maybe it's a little bit boring..." ("angry", "narrow", "base", "R") + her @ cheeks blush "But it's important!" ("annoyed", "base", "base", "mid") gen "Boring but important... Got it." ("base", xpos="far_left", ypos="head") - her "Anyhow... I'd usually be very pleased to be given such an opportunity." ("open", "base", "base", "R", cheeks="blush") - her "Although seeing the circumstances..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Anyhow... I'd usually be very pleased to be given such an opportunity." ("open", "base", "base", "R") + her @ cheeks blush "Although seeing the circumstances..." ("angry", "narrow", "base", "down") gen "I bet you were even more pleased than usual!" ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "down", cheeks="blush") - her "So of course I accepted and went up to help him..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "base", "down") + her @ cheeks blush "So of course I accepted and went up to help him..." ("open", "closed", "base", "mid") - $ camera.set(zoom=0.25, pos=(0, 0), image="CG ass expand classroom A2", trans=dissolve) + show her_potions_public_expand_ass_a2 as cg: + fit None + offset (0, -200) + zoom 0.5 + pause 1.5 + ease_quad 5.0 zoom 1.0 offset (-2600, -1000) + with fade - gen "..." ("grin", xpos="far_left", ypos="head") - her "And it didn't take long until the other students noticed my..." ("angry", "narrow", "base", "R", cheeks="blush") - gen "Defined derriere!" ("base", xpos="far_left", ypos="head") - her "That's one way to say it..." ("base", "narrow", "base", "down", cheeks="blush") - her "Once I had finished, I realised almost everyone had been staring at me the entire time instead of the blackboard..." ("base", "narrow", "base", "R", cheeks="blush") - her "I doubt any of them learnt a thing about the Witch hunts..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "And it didn't take long until the other students noticed my..." ("angry", "narrow", "base", "R") + + show her_potions_public_expand_ass_a2 as cg: + ease 6.0 zoom 0.75 offset (-2100, -500) + + gen "Defined derrière!" ("grin", xpos="far_left", ypos="head") + + show her_potions_public_expand_ass_a2 as cg: + ease_quad 30.0 zoom 0.25 offset (0, 0) + + her @ cheeks blush "That's one way to say it..." ("base", "narrow", "base", "down") + her @ cheeks blush "Once I had finished, I realised almost everyone had been staring at me the entire time instead of the blackboard..." ("base", "narrow", "base", "R") + her @ cheeks blush "I doubt any of them learnt a thing about the Witch hunts..." ("open", "narrow", "base", "R") gen "Well... What's happened, happened." ("base", xpos="far_left", ypos="head") gen "No need to dwell on it..." ("base", xpos="far_left", ypos="head") - her "[genie_name], the witch hunts were--" ("angry", "base", "base", "mid", cheeks="blush") - gen "Not the witch hunts [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Oh... Right..." ("disgust", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], the witch hunts were--" ("angry", "base", "base", "mid") + gen "Not the witch hunts [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Right..." ("disgust", "base", "base", "mid") gen "Well, you've certainly deserved your points." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "... Thank you." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "... Thank you." ("base", "narrow", "base", "down") - hide screen animatedCG + hide cg with fade gen "That will be all for today..." ("base", xpos="far_left", ypos="head") - her "Okay..." ("open", "base", "base", "mid", cheeks="blush") - gen "Until next time [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Okay..." ("open", "base", "base", "mid") + gen "Until next time [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ her_ass_expand_drank = True - $ her_ass_expand_pub_done = True + $ states.her.ev.potions.ass_expand_drank = True + $ states.her.ev.potions.ass_expand_public_complete = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/potions/breast_expand.rpy b/game/scripts/characters/hermione/events/potions/breast_expand.rpy index f0d67b88..0d85230b 100644 --- a/game/scripts/characters/hermione/events/potions/breast_expand.rpy +++ b/game/scripts/characters/hermione/events/potions/breast_expand.rpy @@ -1,16 +1,10 @@ -default her_breast_expand_drank = False -default her_breast_expand_effects_known = False # If genie knows potion worked -default her_breast_expand_groped = False -default her_breast_expand_pub_low_reputation_done = False -default her_breast_expand_pub_high_reputation_done = False - -label potion_breast_make: +label potion_breasts_make: call give_reward(_("You have successfully created a new potion!"), breast_potion_ITEM) gen "There we go." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" pause .5 gen "Smells pretty good!" ("base", xpos="far_left", ypos="head") gen "I bet Hermione will love this one." ("base", xpos="far_left", ypos="head") @@ -21,25 +15,25 @@ label her_potion_breasts_give: if hermione.is_worn("robe"): gen "Before we begin... Why don't you take those robes off and make yourself comfortable." ("base", xpos="far_left", ypos="head") her "Alright..." ("soft", "squint", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") with d3 gen "Now then..." ("base", xpos="far_left", ypos="head") else: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") $ current_payout = 20 gen "What would it take for you to drink this potion?" ("base", xpos="far_left", ypos="head") - call nar(">You bring out the potion and hand it to Hermione.") + nar "You bring out the potion and hand it to Hermione." call her_chibi("hold_potion","mid","base") with d3 - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: her "A potion?" ("open", "squint", "base", "mid") gen "Why yes... And it's one of the nicer smelling ones." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "*Hmm*... You really want me to drink this?" ("angry", "narrow", "base", "mid") gen "Of course! I'll give you twenty points for it." ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "R") @@ -48,17 +42,17 @@ label her_potion_breasts_give: else: #Drank call her_chibi("sniff_potion","mid","base") pause 0.2 - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" pause 0.6 call her_chibi("hold_potion","mid","base") - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: her "*Sniff*" ("normal", "happy", "base", "mid") her "Another breast expansion potion?" ("open", "squint", "base", "mid") #Neutral face gen "Good guess!" ("base", xpos="far_left", ypos="head") her "It does have that distinctive smell to it..." ("open", "squint", "base", "R") #Neutral face - if her_whoring < 19: + if states.her.level < 19: her "I mean... I guess it wasn't so bad." ("open", "closed", "base", "mid") #neutral face her "I had my teeth shrunk at some point too, so I'm not overly against body modifications..." ("open", "base", "base", "mid") gen "You had your teeth shrunk?" ("base", xpos="far_left", ypos="head") @@ -68,18 +62,18 @@ label her_potion_breasts_give: menu: "\"No, you fucking weirdo!\"": - her "What did you just call me?" ("angry", "narrow", "annoyed", "mid", cheeks="blush") - gen "Oh, sorry did I say that out loud?" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "What did you just call me?" ("angry", "narrow", "annoyed", "mid") + gen "Oh, sorry, did I say that out loud?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "narrow", "annoyed", "mid") gen "You had your teeth shrunk?" ("base", xpos="far_left", ypos="head") gen "Now that's too much even for me..." ("base", xpos="far_left", ypos="head") - her "What!?! Why!" ("disgust", "squint", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "What!?! Why!" ("disgust", "squint", "annoyed", "mid") gen "..." ("base", xpos="far_left", ypos="head") - her "You're teasing me again aren't you?" ("annoyed", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "You're teasing me again aren't you?" ("annoyed", "narrow", "annoyed", "R") gen "..." ("grin", xpos="far_left", ypos="head") - her "Very funny, [genie_name]..." ("soft", "narrow", "base", "mid", cheeks="blush") - her "..." ("angry", "narrow", "base", "R", cheeks="blush") - her "So you want me to drink it or--" ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Very funny, [name_genie_hermione]..." ("soft", "narrow", "base", "mid") + her @ cheeks blush "..." ("angry", "narrow", "base", "R") + her @ cheeks blush "So you want me to drink it or--" ("open", "narrow", "base", "mid") gen "Yes!" ("base", xpos="far_left", ypos="head") "\"Does the Pope shit in the woods?\"": her "Huh?" ("disgust", "base", "base", "mid") @@ -88,7 +82,7 @@ label her_potion_breasts_give: gen "... It means yes, I want you to drink the potion." ("base", xpos="far_left", ypos="head") her "(Weirdo...)" ("angry", "narrow", "base", "R") "\"Yes, just don't make it weird.\"": - her "Hey, I'm not the one asking people to drink random concoctions am I?" ("angry", "narrow", "base", "mid") + her "Hey, I'm not the one asking people to drink random concoctions, am I?" ("angry", "narrow", "base", "mid") gen "Fair point." ("base", xpos="far_left", ypos="head") else: her "*Sniff*" ("normal", "squint", "base", "mid") @@ -102,41 +96,41 @@ label her_potion_breasts_give: show screen blktone with d3 - if her_whoring < 19: + if states.her.level < 19: her "(Please don't work, please don't work.)" ("normal", "narrow", "base", "down") her "(My breast ached so much I couldn't even sleep...)" ("angry", "narrow", "base", "down") her "(I can't give him the satisfaction!)" ("angry", "closed", "base", "mid") else: her "*Sigh*..." ("base", "narrow", "base", "down") - her "(My breasts ached so much...{w=0.4} I can't believe even the smallest touch almost made me cum on the spot...)" ("base", "narrow", "base", "down", cheeks="blush") - her "(If I spend another night relieving myself I'll start running out of excuses on why I'm missing the morning class...)" ("normal", "narrow", "base", "down", cheeks="blush") - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "(My breasts ached so much...{w=0.4} I can't believe even the smallest touch almost made me cum on the spot...)" ("base", "narrow", "base", "down") + her @ cheeks blush "(If I spend another night relieving myself I'll start running out of excuses for why I'm missing the morning class...)" ("normal", "narrow", "base", "down") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "(Although it sure was enjoyable...)" ("base", "narrow", "base", "down") hide screen blktone with d3 - gen "Something wrong, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "N-- No, it's nothing." ("angry", "narrow", "base", "mid", cheeks="blush") + gen "Something wrong, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "N-- No, it's nothing." ("angry", "narrow", "base", "mid") gen "If you say so." ("base", xpos="far_left", ypos="head") - call nar(">Hermione takes one last look at the potion and then brings it up to her mouth.") + nar "Hermione takes one last look at the potion and then brings it up to her mouth." her "Well then...{w=0.3} bottoms up!" ("angry", "base", "base", "mid") call her_chibi("drink_potion","mid","base") pause 0.6 - $ renpy.sound.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" pause 0.8 call her_chibi("stand","mid","base") - call nar(">Hermione swallows the potion in a series of gulps.") + nar "Hermione swallows the potion in a series of gulps." her "*Ahhh*..." ("open", "closed", "base", "mid") call her_chibi("stand", "mid", "base") - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: her "*shakes head*" ("angry", "happyCl", "base", "mid") her "*Ugh*, the smell wasn't so bad, but the taste..." ("disgust", "squint", "base", "mid") her "It's like sour milk." ("disgust", "narrow", "base", "mid") @@ -150,44 +144,44 @@ label her_potion_breasts_give: menu: "-Send her to class-": - if her_whoring < 19: + if states.her.level < 19: - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: gen "*Hmm*...{w=0.4} It appears as if the potion may have been a failure or something should've happened." ("base", xpos="far_left", ypos="head") - her "Oh... So what should I--" ("soft", "base", "base", "mid") + her "Oh... So, what should I--" ("soft", "base", "base", "mid") - call nar(">You notice Hermione's breasts bounce slightly as the potion begins to take effect.") + nar "You notice Hermione's breasts bounce slightly as the potion begins to take effect." her "..." ("angry", "wide", "base", "stare") #surprised - gen "Something wrong [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... No [genie_name]... I just thought I felt something for a moment." ("angry", "squint", "base", "mid") + gen "Something wrong [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... No [name_genie_hermione]... I just thought I felt something for a moment." ("angry", "squint", "base", "mid") gen "Right..." ("base", xpos="far_left", ypos="head") gen "Well, since it didn't appear to work, you're free to go." ("base", xpos="far_left", ypos="head") else: - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: gen "Any moment now..." ("base", xpos="far_left", ypos="head") - call nar(">You notice Hermione's breasts bounce slightly as the potion begins to take effect.") + nar "You notice Hermione's breasts bounce slightly as the potion begins to take effect." - her "*Ah*... I-- I think my breasts are--" ("angry", "narrow", "base", "down", cheeks="blush") # Slightly panting + her @ cheeks blush "*Ah*... I-- I think my breasts are--" ("angry", "narrow", "base", "down") # Slightly panting gen "Itchy?" ("base", xpos="far_left", ypos="head") - her "No, that's not,{w=0.2} *Ah*...{w=0.4} it... It's hard to describe." ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "No, that's not,{w=0.2} *Ah*...{w=0.4} it... It's hard to describe." ("open", "happyCl", "worried", "mid") gen "In any case, you are free to leave and get back to class." ("base", xpos="far_left", ypos="head") gen "Report back to me when you're done." ("base", xpos="far_left", ypos="head") - her "Y-- Yes [genie_name]..." ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Y-- Yes [name_genie_hermione]..." ("angry", "squint", "base", "mid") her "Can I have my points now?" ("angry", "base", "base", "R") else: gen "That's odd... Something should've happened." ("base", xpos="far_left", ypos="head") her "Did you brew it right?" ("annoyed", "squint", "base", "mid") gen "Of course I--" ("base", xpos="far_left", ypos="head") - call nar(">You notice Hermione's breasts bounce slightly as the potion begins to take effect.") + nar "You notice Hermione's breasts bounce slightly as the potion begins to take effect." gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "I think you better head to class, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "I think you better head to class, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("open", "squint", "base", "mid") + her "Of course, [name_genie_hermione]." ("open", "squint", "base", "mid") her "Can I have my points then?" ("soft", "base", "base", "mid") gen "Certainly." ("base", xpos="far_left", ypos="head") @@ -195,114 +189,114 @@ label her_potion_breasts_give: gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout - her "Thank you, [genie_name], I'll head to class then." ("open", "squint", "base", "mid") + her "Thank you, [name_genie_hermione], I'll head to class then." ("open", "squint", "base", "mid") else: #19+ - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: gen "*Hmm*... Looks like a dud..." ("base", xpos="far_left", ypos="head") - her "A dud, [genie_name]?" ("annoyed", "squint", "base", "mid") - gen "Yes... Well then... You better head back to class for today, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "A dud, [name_genie_hermione]?" ("annoyed", "squint", "base", "mid") + gen "Yes... Well then... You better head back to class for today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Already?" ("annoyed", "squint", "worried", "mid") gen "Yes, I'll let you know once I've brewed another one of these." ("base", xpos="far_left", ypos="head") her "Oh... Alright..." ("open", "narrow", "base", "down") else: - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: gen "Alright then, off to class you go..." ("base", xpos="far_left", ypos="head") her "*Aww*... But I was hoping--" ("soft", "squint", "base", "R") her "*Ahem*... I mean-- Alright..." ("open", "narrow", "base", "down") else: - gen "Is it working, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Is it working, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "It's difficult to say, I don't feel any different..." ("open", "squint", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "Then I maybe it's best you head back to class for today." ("base", xpos="far_left", ypos="head") her "Oh... Okay." ("base", "squint", "base", "mid") - gen "Since you drank it I suppose you've earned your points." ("base", xpos="far_left", ypos="head") + gen "Since you drank it, I suppose you've earned your points." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += current_payout - her "Thank you, [genie_name]..." ("open", "base", "base", "mid") #annoyed #blush + her "Thank you, [name_genie_hermione]..." ("open", "base", "base", "mid") #annoyed #blush call her_walk("door") - if hg_pr_flash.counter > 0: ## Triggers public return event ## + if states.her.status.public_stripping: ## Triggers public return event ## # Variant where she's used to flashing people. - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: - call nar(">As Hermione reaches the door she stops and her body lurches slightly, the potion now beginning to spread through her body.") + nar "As Hermione reaches the door, she stops and her body lurches slightly, the potion now beginning to spread through her body." #Hermione turns around call her_chibi(flip=False) pause .5 - her "[genie_name]..." ("angry", "squint", "base", "mid", trans=d3) - gen "Yes, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]..." ("angry", "squint", "base", "mid", trans=d3) + gen "Yes, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Just out of curiosity... What was the potion supposed to do?" ("angry", "squint", "base", "mid") menu: "\"Oh... It was supposed to make your breasts bigger.\"": - if her_whoring < 19: - her "It was supposed to do what?" ("open", "base", "base", "stare", cheeks="blush") # Slightly shocked - gen "What? You didn't oppose to drinking this potion did you?" ("base", xpos="far_left", ypos="head") - her "No, but I didn't--" ("angry", "squint", "base", "mid", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "It was supposed to do what?" ("open", "base", "base", "stare") # Slightly shocked + gen "What? You didn't oppose to drinking this potion, did you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "No, but I didn't--" ("angry", "squint", "base", "mid") gen "It's not like you're not getting anything out of this, are you?" ("base", xpos="far_left", ypos="head") her "That's true..." ("open", "squint", "base", "R") her "Oh well, whatever, the potion obviously did not work, there's no point arguing about it." ("angry", "closed", "base", "mid") gen "Exactly." ("grin", xpos="far_left", ypos="head") - gen "In any case, you better be off or you'll miss class." ("base", xpos="far_left", ypos="head") + gen "In any case, you better be off, or you'll miss class." ("base", xpos="far_left", ypos="head") else: - her "It-- I thought you liked my--" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "It-- I thought you liked my--" ("angry", "narrow", "base", "down") gen "I do, but there's something about a big pair of tits that I find captivating." ("base", xpos="far_left", ypos="head") gen "Besides, wouldn't it be fun to try something different for a change?" ("base", xpos="far_left", ypos="head") - her "I guess..." ("upset", "narrow", "base", "R", cheeks="blush") - gen "Anyhow, back to class you go [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "Let me know if there's any developments." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I guess..." ("upset", "narrow", "base", "R") + gen "Anyhow, back to class you go [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "Let me know if there are any developments." ("base", xpos="far_left", ypos="head") "\"It's a secret.\"": her "I see..." ("open", "squint", "base", "R") gen "Yeah, too bad it didn't work." ("base", xpos="far_left", ypos="head") her "*Ah*...{w=0.4} Right..." ("angry", "narrow", "base", "mid") - call nar(">You watch as Hermione shift around uncomfortably.") + nar "You watch as Hermione shifts around uncomfortably." her "I think I better head off then." ("angry", "narrow", "base", "mid") gen "Certainly." ("base", xpos="far_left", ypos="head") gen "Let me know if there's any... developments." ("base", xpos="far_left", ypos="head") her "*Huh*?." ("angry", "squint", "base", "mid") - gen "Nevermind, just get back to class [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Nevermind, just get back to class [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Alright." ("open", "base", "base", "R") else: - gen "[hermione_name]." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") #Hermione turns around call her_chibi(flip=False) - her "Yes, [genie_name]?" ("soft", "base", "base", "mid", trans=d3) + her "Yes, [name_genie_hermione]?" ("soft", "base", "base", "mid", trans=d3) - if her_breast_expand_effects_known: + if states.her.ev.potions.breast_expand_known: gen "Have fun in class." ("grin", xpos="far_left", ypos="head") - if her_whoring < 19: - her "*Ah* You know I'm not doing it for fun--" ("open", "narrow", "base", "R", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "*Ah* You know I'm not doing it for fun--" ("open", "narrow", "base", "R") - call nar(">You watch as Hermione's breasts bounce again.") + nar "You watch as Hermione's breasts bounce again." - gen "*Heh*, sure. Whatever you say, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "*Heh*, sure. Whatever you say, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: # 19+ - her "*Ah* Maybe I will, [genie_name], maybe I will." ("soft", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Ah* Maybe I will, [name_genie_hermione], maybe I will." ("soft", "narrow", "base", "R") gen "That's my girl." ("base", xpos="far_left", ypos="head") gen "Let me know how it went." ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes [name_genie_hermione]." ("open", "closed", "base", "mid") gen "Dismissed!" ("base", xpos="far_left", ypos="head") else: gen "Make sure to note if there's any... Developments, got it?" ("base", xpos="far_left", ypos="head") - her "*Ah* Yes, [genie_name]." ("soft", "squint", "base", "R") + her "*Ah* Yes, [name_genie_hermione]." ("soft", "squint", "base", "R") - call nar(">You watch as Hermione's breasts bounce again.") + nar "You watch as Hermione's breasts bounce again." gen "In details!" ("grin", xpos="far_left", ypos="head") gen "And If so, report to me as soon as you're done with your classes." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("open", "closed", "base", "mid") + her "Of course, [name_genie_hermione]." ("open", "closed", "base", "mid") #Hermione leaves call her_walk(action="leave") @@ -321,32 +315,32 @@ label her_potion_breasts_give: pause 1.0 - call nar(">You watch Hermione suddenly stop right at the door.") + nar "You watch Hermione suddenly stop right at the door." #Hermione turns around call her_chibi(flip=False) call ctc - if not her_breast_expand_drank: - her "[genie_name]... This potion..." ("soft", "squint", "base", "mid") + if not states.her.ev.potions.breast_expand_drank: + her "[name_genie_hermione]... This potion..." ("soft", "squint", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") - call nar(">Suddenly Hermione jumps slightly and a shocked expression spreads across her face.") + nar "Suddenly Hermione jumps slightly and a shocked expression spreads across her face." else: - if her_whoring < 19: + if states.her.level < 19: her "(Not this again...)" ("angry", "narrow", "base", "down") her "(*Ah*... My breasts are starting to get sensitive.)" ("angry", "happyCl", "base", "mid") her "(I can't go to classes like this, it would ruin my reputation...)" ("angry", "narrow", "base", "down") else: her "(By merlin's beard! It's happening again!)" ("angry", "narrow", "base", "down") - her "(What am I thinking... I can't go to classes like this, not if I get as horny as last time...)" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "(What am I thinking... I can't go to classes like this, not if I get as horny as last time...)" ("angry", "narrow", "base", "down") her "(Not to mention, it would affect my reputation...)" ("disgust", "closed", "base", "mid") her "*Ehm*..." ("angry", "narrow", "base", "mid") - her "You know, *Ah*...{w=0.4} I don't feel that great so I think I'll just head to my dorm for today." ("angry", "closed", "base", "mid") - gen "Are you sure? It's not very like you to miss class, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "*Ah*...{w=0.4} Yes, I--{w=0.2} I'm sure..." ("open", "closed", "worried", "mid", cheeks="blush") - gen "Very well [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "B-- Bye then!" ("angry", "squint", "base", "mid", cheeks="blush") + her "You know, *Ah*...{w=0.4} I don't feel that great, so I think I'll just head to my dorm for today." ("angry", "closed", "base", "mid") + gen "Are you sure? It's not very like you to miss class, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*...{w=0.4} Yes, I--{w=0.2} I'm sure..." ("open", "closed", "worried", "mid") + gen "Very well [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "B-- Bye then!" ("angry", "squint", "base", "mid") #Hermione leaves call her_walk(action="leave") @@ -354,7 +348,7 @@ label her_potion_breasts_give: gen "(Looks like she isn't willing to risk going to class...)" ("base", xpos="far_left", ypos="head") gen "(Perhaps if I asked her to do some other stuff in public she'd be more susceptible to the idea.)" ("base", xpos="far_left", ypos="head") - $ her_breast_expand_drank = True + $ states.her.ev.potions.breast_expand_drank = True # We only need to set the 'drank' flag. jump end_hermione_event @@ -365,159 +359,145 @@ label her_potion_breasts_give: "-Tell her to display her titties-" if not hermione.is_worn("top", "bra"): - gen "Give me a better look of those tits." ("base", xpos="far_left", ypos="head") + gen "Give me a better look at those tits." ("base", xpos="far_left", ypos="head") - if not her_breast_expand_drank: - if her_whoring < 19: - her "I don't think so [genie_name]... You're only paying me for drinking the potion." ("angry", "narrow", "base", "mid") + if not states.her.ev.potions.breast_expand_drank: + if states.her.level < 19: + her "I don't think so [name_genie_hermione]... You're only paying me for drinking the potion." ("angry", "narrow", "base", "mid") if hermione.is_any_worn("top", "bra"): - her "If you expected to see me without anything covering them then you should've said so at the start." ("angry", "closed", "base", "mid") - gen "Oh, I didn't think that would be necessary is all." ("base", xpos="far_left", ypos="head") - her "That's it then? It makes me show you my breasts? Is it some sort of mind control potion?" ("open", "narrow", "base", "mid") + her "If you expected to see me without anything covering them, then you should've said so at the start." ("angry", "closed", "base", "mid") + gen "Oh, I didn't think that would be necessary, is all." ("base", xpos="far_left", ypos="head") + her "That's it then? Does it make me show you my breasts? Is it some sort of mind control potion?" ("open", "narrow", "base", "mid") gen "Mind control? Where's the fun in that? No, this is something much more entertaining." ("base", xpos="far_left", ypos="head") her "If not mind control, then what on earth--" ("open", "closed", "base", "mid") - call nar(">You notice Hermione's clothes getting tighter as the potion begins to take effect.") - call nar(">Hermione unconsciously adjusts them as they get less and less comfortable by the minute.") - her "*Hmm*... Something better be happening soon or I'm out of here." ("angry", "narrow", "base", "R") + nar "You notice Hermione's clothes getting tighter as the potion begins to take effect." + nar "Hermione unconsciously adjusts them as they get less and less comfortable by the minute." + her "*Hmm*... Something better happen soon, or I'm out of here." ("angry", "narrow", "base", "R") gen "Looks to me as if something's already happened." ("base", xpos="far_left", ypos="head") her "Something--{w=0.2} What do you--{w=0.2} What's wrong with me?" ("angry", "squint", "base", "mid") gen "There's nothing wrong with you. Although I'd get those breasts out if I were you..." ("base", xpos="far_left", ypos="head") else: - her "If you expected me to give you a better view then you should've said so at the start." ("angry", "closed", "base", "mid") + her "If you expected me to give you a better view, then you should've said so at the start." ("angry", "closed", "base", "mid") gen "If you say so... You won't really have much choice in a minute or two once that potion kicks in." ("base", xpos="far_left", ypos="head") her "What's that's supposed to mean?" ("open", "narrow", "base", "mid") - gen "You'll just have to wait and find out, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Well whatever it is, it better happen soon otherwise I'm going--" ("open", "closed", "base", "mid") - call nar(">You notice Hermione's breasts jiggle slightly as the potion begins taking effect.") - call nar(">After a brief moment of confusion Hermione then continues...") - her "As I said, something better be happening soon or I'm leaving." ("angry", "narrow", "base", "R") + gen "You'll just have to wait and find out, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Well whatever it is, it better happen soon, otherwise I'm going--" ("open", "closed", "base", "mid") + nar "You notice Hermione's breasts jiggle slightly as the potion begins taking effect." + nar "After a brief moment of confusion, Hermione then continues..." + her "As I said, something better be happening soon, or I'm leaving." ("angry", "narrow", "base", "R") gen "I wouldn't worry about it, from the looks of it, something already happened." ("base", xpos="far_left", ypos="head") her "It-- Where? What's happened to me?" ("angry", "squint", "base", "mid") gen "Well, nothing major yet..." ("base", xpos="far_left", ypos="head") her "What do you--" ("angry", "base", "base", "mid") - call nar(">Hermione starts checking herself, trying to find what you're referring to...") + nar "Hermione starts checking herself, trying to find what you're referring to..." her "I don't see what you could possibly be--" ("open", "squint", "base", "mid") - call nar(">Hermione looks down as her breast suddenly bounces on its own accord...") + nar "Hermione looks down as her breast suddenly bounces on its own accord..." her "!!!" ("clench", "narrow", "base", "down") her "What's happening to my breasts?!" ("clench", "squint", "base", "mid") gen "About time you noticed..." ("base", xpos="far_left", ypos="head") her "Hold on... This means you have..." ("angry", "base", "base", "mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG hermione") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - hide hermione_main - show screen animatedCG + show CG hermione as cg zorder 17: + zoom 0.5 with fade # Strip top/bra if hermione.is_any_worn("top", "bra", "accessory"): pause 1.5 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra", "accessory") call ctc - $ hermione.set_body(breasts="big1") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts1) + play sound "sounds/boing02.ogg" with d3 gen "You know what they say, can't have too much of a good thing!" ("grin", xpos="far_left", ypos="head") - her "It's the other way around [genie_name]!" ("angry", "squint", "base", "mid") + her "It's the other way around [name_genie_hermione]!" ("angry", "squint", "base", "mid") gen "It is? I prefer my version." ("base", xpos="far_left", ypos="head") her "So that's it then, the potion is meant to make my breasts a bit bigger?" ("angry", "wink", "base", "mid") gen "It was meant to make them {i}a lot{/i} bigger..." ("base", xpos="far_left", ypos="head") gen "Maybe it takes a while for it to take full effect." ("base", xpos="far_left", ypos="head") her "A lot bigger? How big are they supposed to--" ("clench", "squint", "base", "mid") - $ hermione.set_body(breasts="big2") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts1) + play sound "sounds/boing02.ogg" with d3 her "Whoa! They're so full..." ("angry", "base", "base", "down") else: # 19+ - her "*Hmm*... Is this one of your games again?" ("soft", "narrow", "base", "mid", cheeks="blush") - her "Am I supposed to pretend that I'm being mind controlled? I should've known the potion was a bit too odd tasting for a real potion..." ("grin", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... Is this one of your games again?" ("soft", "narrow", "base", "mid") + her @ cheeks blush "Am I supposed to pretend that I'm being mind controlled? I should've known the potion was a bit too odd tasting for a real potion..." ("grin", "closed", "base", "mid") gen "Yes... Your first order is to proudly display those titties for me!" ("grin", xpos="far_left", ypos="head") - her "Alright then... I hope you've got some extra points--" ("smile", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright then... I hope you've got some extra points--" ("smile", "narrow", "base", "mid") if hermione.is_any_worn("top", "bra"): - call nar(">You notice Hermione's uniform getting tighter as the potion begins to take effect.") + nar "You notice Hermione's uniform getting tighter as the potion begins to take effect." else: - call nar(">You notice Hermione's breasts jiggle slightly as the potion begins to take effect.") + nar "You notice Hermione's breasts jiggle slightly as the potion begins to take effect." - her "..." ("soft", "squint", "base", "stare", cheeks="blush") + her @ cheeks blush "..." ("soft", "squint", "base", "stare") gen "Something wrong?" ("grin", xpos="far_left", ypos="head") - her "I-I don't know... I thought I felt something in my chest." ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I-I don't know... I thought I felt something in my chest." ("angry", "squint", "base", "mid") gen "Looks like the potion is beginning to take effect." ("base", xpos="far_left", ypos="head") - her "It is? What's it doing?" ("angry", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "It is? What's it doing?" ("angry", "base", "worried", "mid") - call nar(">Hermione grabs her breasts to check them just as they give of another lurch.") + nar "Hermione grabs her breasts to check them just as they give off another lurch." - her "Oh my!" ("angry", "wide", "base", "mid", cheeks="blush") - her "But this means..." ("soft", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "Oh my!" ("angry", "wide", "base", "mid") + her @ cheeks blush "But this means..." ("soft", "wide", "base", "stare") - $ camera.set_imagepath("common/") - $ camera.set_image("CG hermione") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - hide hermione_main - show screen animatedCG + show CG hermione as cg zorder 17: + zoom 0.5 with fade - her "" ("soft", "wide", "base", "down", cheeks="blush") + her @ cheeks blush "" ("soft", "wide", "base", "down") # Strip top/bra if hermione.is_any_worn("top", "bra", "accessory"): pause 1.5 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra", "accessory") call ctc - $ hermione.set_body(breasts="big1") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts1) + play sound "sounds/boing02.ogg" with d3 - her "..." ("open", "wide", "base", "down", cheeks="blush") - her "Of course you did..." ("angry", "base", "base", "mid", cheeks="blush") #blush + her @ cheeks blush "..." ("open", "wide", "base", "down") + her @ cheeks blush "Of course you did..." ("angry", "base", "base", "mid") #blush gen "Did what?" ("grin", xpos="far_left", ypos="head") - her "My breasts... Surely you knew that this potion would make them grow..." ("angry", "closed", "base", "mid", cheeks="blush") - gen "Looks like your regular size to me [hermione_name]..." ("grin", xpos="far_left", ypos="head") - her "*Hmm*... I thought my breasts were already a good enough size..." ("annoyed", "narrow", "base", "mid", cheeks="blush") #annoyed + her @ cheeks blush "My breasts... Surely you knew that this potion would make them grow..." ("angry", "closed", "base", "mid") + gen "Looks like your regular size to me [name_hermione_genie]..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmm*... I thought my breasts were already a good enough size..." ("annoyed", "narrow", "base", "mid") #annoyed gen "Can't have too much of a good thing." ("base", xpos="far_left", ypos="head") - her "That's not--" ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "That's not--" ("open", "narrow", "base", "mid") - $ hermione.set_body(breasts="big2") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts2) + play sound "sounds/boing02.ogg" with d3 - her "Whoa, they grew even more!" ("open", "wide", "base", "down", cheeks="blush") - her "And they're so... squishy?" ("soft", "base", "base", "down", cheeks="blush") + her @ cheeks blush "Whoa, they grew even more!" ("open", "wide", "base", "down") + her @ cheeks blush "And they're so... squishy?" ("soft", "base", "base", "down") - call nar(">Hermione fondles her newly expanded breasts...") + nar "Hermione fondles her newly expanded breasts..." - her "*Ah*... {w=0.4} And so sensitive too!" ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah*... {w=0.4} And so sensitive too!" ("open", "closed", "worried", "mid") gen "*He-heh*..." ("grin", xpos="far_left", ypos="head") gen "Now then... Since the effects are already visible..." ("base", xpos="far_left", ypos="head") else: - if her_whoring < 19: + if states.her.level < 19: # She won't ask for points on level 19+ her "Am I getting paid extra for this?" ("open", "squint", "base", "mid") @@ -525,13 +505,13 @@ label her_potion_breasts_give: "\"No way!\"": gen "Aren't you already getting enough?" ("base", xpos="far_left", ypos="head") gen "Does your greed have no end?" ("base", xpos="far_left", ypos="head") - her "A simple no would be enough..." ("annoyed", "narrow", "base", "R") + her "A simple \"no\" would've been enough..." ("annoyed", "narrow", "base", "R") "\"How about ten extra points?\"": her "*Hmm*. That does sound fair." ("open", "closed", "base", "mid") $ current_payout += 10 - if her_whoring < 21: #Under Sex level + if states.her.level < 21: #Under Sex level gen "Step up a bit closer as well..." ("base", xpos="far_left", ypos="head") gen "I want to see them in all their glory!" ("base", xpos="far_left", ypos="head") @@ -543,54 +523,54 @@ label her_potion_breasts_give: if hermione.is_any_worn("top", "bra", "accessory"): gen "Good... And now--" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra", "accessory") call ctc gen "..." ("grin", xpos="far_left", ypos="head") - her "Alright then... Let's see if the potion is working or not..." ("angry", "narrow", "base", "down", cheeks="blush", trans=d3) + her @ cheeks blush "Alright then... Let's see if the potion is working or not..." ("angry", "narrow", "base", "down", trans=d3) gen "I'm sure it will..." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "base", "R") gen "Feeling anything yet?" ("base", xpos="far_left", ypos="head") her "No...{w=0.4} Are you sure you gave me the right potion--" ("angry", "narrow", "base", "down") her "**Eekh*!!!" ("clench", "wide", "base", "stare") #shocked - call nar (">Hermione jumps as the potion begins to take effect, bouncing her bossom.") + nar "Hermione jumps as the potion begins to take effect, bouncing her bossom." gen "You were saying?" ("base", xpos="far_left", ypos="head") - her "This... It feels a bit strange..." ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "This... It feels a bit strange..." ("angry", "base", "base", "mid") gen "Oh?" ("base", xpos="far_left", ypos="head") - her "Yes...{w=0.4} There's a slight tingling sensation..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Yes...{w=0.4} There's a slight tingling sensation..." ("angry", "narrow", "base", "down") gen "(Some side effect perhaps?)" ("base", xpos="far_left", ypos="head") - call nar (">Hermione's breasts expand as the potion spreads through her body.") + nar "Hermione's breasts expand as the potion spreads through her body." - $ hermione.set_body(breasts="big1") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts1) + play sound "sounds/boing02.ogg" with d3 - her "*Mmm*..." ("base", "narrow", "base", "stare", cheeks="blush") #showing some pleasure - her "..." ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Mmm*..." ("base", "narrow", "base", "stare") #showing some pleasure + her @ cheeks blush "..." ("disgust", "narrow", "base", "R") gen "Looks like I've brewed it just right..." ("grin", xpos="far_left", ypos="head") - her "..." ("annoyed", "happyCl", "base", "down", cheeks="blush") #Happy closed - gen "Don't you want to look at your new breasts [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "... Oh, thank Merlin..." ("angry", "narrow", "base", "down", cheeks="blush") - her "I was readying myself for them to get even--" ("angry", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "happyCl", "base", "down") #Happy closed + gen "Don't you want to look at your new breasts [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "... Oh, thank Merlin..." ("angry", "narrow", "base", "down") + her @ cheeks blush "I was readying myself for them to get even--" ("angry", "narrow", "worried", "down") - $ hermione.set_body(breasts="big2") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts2) + play sound "sounds/boing02.ogg" with d3 pause .5 - her "Bigger..." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Bigger..." ("disgust", "narrow", "base", "down") gen "You were saying?" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "mid") gen "Now then..." ("base", xpos="far_left", ypos="head") else: # 21+ - her "Alright..." ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright..." ("base", "squint", "base", "mid") gen "Excellent..." ("base", xpos="far_left", ypos="head") gen "Come a bit closer as well, will you?" ("base", xpos="far_left", ypos="head") @@ -600,228 +580,228 @@ label her_potion_breasts_give: # Strip top/bra if hermione.is_any_worn("top", "bra", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bra", "accessory") call ctc - her "There you go, how are they looking?" ("grin", "base", "base", "mid", cheeks="blush", trans=d3) + her @ cheeks blush "There you go, how are they looking?" ("grin", "base", "base", "mid", trans=d3) gen "Looks great!" ("base", xpos="far_left", ypos="head") - her "Thanks you..." ("base", "narrow", "base", "mid", cheeks="blush") - her "..." ("base", "narrow", "base", "mid", cheeks="blush") - her "Nothing's happening..." ("upset", "narrow", "base", "down", cheeks="blush") #annoyed - gen "Patience, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "worried", "down", cheeks="blush") - her "This potion is taking way too long--" ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Thanks you..." ("base", "narrow", "base", "mid") + her @ cheeks blush "..." ("base", "narrow", "base", "mid") + her @ cheeks blush "Nothing's happening..." ("upset", "narrow", "base", "down") #annoyed + gen "Patience, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("normal", "narrow", "worried", "down") + her @ cheeks blush "This potion is taking way too long--" ("annoyed", "narrow", "annoyed", "mid") call kiss_her - her "*Ah*...." ("grin", "narrow", "base", "up", cheeks="blush") #pleasure + her @ cheeks blush "*Ah*...." ("grin", "narrow", "base", "up") #pleasure - call nar (">Hermione shivers as the potion begins to take effect.") + nar "Hermione shivers as the potion begins to take effect." gen "There it is..." ("base", xpos="far_left", ypos="head") - her "Is--{w=0.2} Is it normal for the potion to make them so sensitive?" ("grin", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "Is--{w=0.2} Is it normal for the potion to make them so sensitive?" ("grin", "narrow", "base", "stare") gen "Sounds like a side effect, but I'd call that better than advertised." ("grin", xpos="far_left", ypos="head") - her "*Mmm*...{w=0.4} What...{w=0.4} What's that supposed to mean?" ("smile", "narrow", "base", "stare", cheeks="blush") - call nar (">Hermione's breasts bounces slightly as the potion spreads through her body.") + her @ cheeks blush "*Mmm*...{w=0.4} What...{w=0.4} What's that supposed to mean?" ("smile", "narrow", "base", "stare") + nar "Hermione's breasts bounce slightly as the potion spreads through her body." - $ hermione.set_body(breasts="big1") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts1) + play sound "sounds/boing02.ogg" with d3 - her "Whoa!" ("soft", "squint", "base", "stare", cheeks="blush") + her @ cheeks blush "Whoa!" ("soft", "squint", "base", "stare") gen "*He-heh*..." ("grin", xpos="far_left", ypos="head") - her "So heavy..." ("grin", "narrow", "base", "down", cheeks="blush") - her "Although... Are they not supposed to get bigger?" ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "So heavy..." ("grin", "narrow", "base", "down") + her @ cheeks blush "Although... Are they not supposed to get bigger?" ("open", "narrow", "base", "down") gen "Well..." ("base", xpos="far_left", ypos="head") - $ hermione.set_body(breasts="big2") - $ renpy.sound.play("sounds/boing02.ogg") + $ hermione.equip(her_chest_breasts2) + play sound "sounds/boing02.ogg" with d3 - her "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "*Ah*..." ("grin", "narrow", "base", "up") gen "There they go!" ("grin", xpos="far_left", ypos="head") gen "They don't call me the potions master for nothing..." ("grin", xpos="far_left", ypos="head") gen "Now then..." ("base", xpos="far_left", ypos="head") - hide screen animatedCG + hide cg with fade ##Genie asks to touch her breasts## - if her_whoring < 19: + if states.her.level < 19: gen "Would you like to earn some additional points?" ("base", xpos="far_left", ypos="head") else: gen "How about we take it one step further?" ("base", xpos="far_left", ypos="head") - if not her_breast_expand_groped: - her "Depends what it is you want..." ("soft", "narrow", "base", "mid", cheeks="blush") - gen "To weigh those melons of course!" ("base", xpos="far_left", ypos="head") - her "Sorry?" ("angry", "narrow", "base", "mid", cheeks="blush") + if not states.her.ev.potions.breast_expand_groped: + her @ cheeks blush "Depends what it is you want..." ("soft", "narrow", "base", "mid") + gen "To weigh those melons, of course!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Sorry?" ("angry", "narrow", "base", "mid") gen "I want you to come here for a moment and let me have a feel." ("base", xpos="far_left", ypos="head") - her "Oh..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Oh..." ("open", "squint", "base", "R") - if her_whoring < 19: - her "Of course you do." ("angry", "narrow", "base", "R", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "Of course you do." ("angry", "narrow", "base", "R") gen "So?" ("base", xpos="far_left", ypos="head") - her "I want twenty extra points..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I want twenty extra points..." ("open", "closed", "base", "mid") gen "Certainly..." ("base", xpos="far_left", ypos="head") - gen "Now get over here so we can find out just how much bigger they got!" ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "R", cheeks="blush") #annoyed #glancing away #blush + gen "Now get over here, so we can find out just how much bigger they got!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("angry", "narrow", "base", "R") #annoyed #glancing away #blush $ current_payout += 20 else: #19+ - her "*Hmm*... Alright, I'll do it..." ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... Alright, I'll do it..." ("base", "narrow", "base", "mid") gen "Excellent..." ("base", xpos="far_left", ypos="head") - her "Just...{w=0.4} Don't be too rough, okay?" ("soft", "squint", "base", "mid", cheeks="blush") - her "They're sensitive..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Just...{w=0.4} Don't be too rough, okay?" ("soft", "squint", "base", "mid") + her @ cheeks blush "They're sensitive..." ("angry", "narrow", "base", "down") #Hermione walks to desk (already there on repeat) call her_walk("desk") else: #Grope repeat - her "You want to touch them again I assume..." ("soft", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "You want to touch them again I assume..." ("soft", "narrow", "base", "mid") gen "That's right." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "In that case I want another twenty points like last time..." ("open", "closed", "base", "mid", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "In that case I want another twenty points like last time..." ("open", "closed", "base", "mid") gen "Twenty points again?" ("base", xpos="far_left", ypos="head") - her "Yes." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "*Hmm*... I can give you additional ten points at best." ("base", xpos="far_left", ypos="head") - her "But..." ("mad", "squint", "worried", "mid", cheeks="blush") - gen "If I were to give you the same amount of points every time then why would you ever want to do something new." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Yes." ("angry", "narrow", "base", "mid") + gen "*Hmm*... I can give you an additional ten points at best." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But..." ("mad", "squint", "worried", "mid") + gen "If I were to give you the same amount of points every time, then why would you ever want to do something new." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "R") gen "No... Ten extra points should suffice." ("base", xpos="far_left", ypos="head") - her "Alright, fine... I'll do it..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright, fine... I'll do it..." ("open", "narrow", "base", "mid") $ current_payout += 10 else: #19+ - her "I should've guessed..." ("base", "narrow", "base", "R", cheeks="blush") #smirk - gen "Can't waste such an opportunity can we?" ("grin", xpos="far_left", ypos="head") - her "If touching my breasts is what you want then go ahead..." ("open", "closed", "base", "mid", cheeks="blush") - her "I don't mind..." ("base", "closed", "base", "mid", cheeks="blush") # smirk + her @ cheeks blush "I should've guessed..." ("base", "narrow", "base", "R") #smirk + gen "Can't waste such an opportunity, can we?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "If touching my breasts is what you want then go ahead..." ("open", "closed", "base", "mid") + her @ cheeks blush "I don't mind..." ("base", "closed", "base", "mid") # smirk - gen "Great! Get up here [hermione_name]." ("grin", xpos="far_left", ypos="head") + gen "Great! Get up here [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") show screen blkfade - call nar(">Hermione walks over to behind your desk, her breasts swaying rhythmically as she moves.") + nar "Hermione walks over to behind your desk, her breasts swaying rhythmically as she moves." pause .8 hide hermione_main #Genie groping breast chibi animation nude top call her_chibi_scene("grope_tits") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. - call nar(">With the two big globes presented in front of you, you reach out and grab one in each hand and begin massaging them.") + nar "With the two big globes presented in front of you, you reach out and grab one in each hand and begin massaging them." hide screen blkfade - if not her_breast_expand_groped: - her "!!!" ("angry", "narrow", "worried", "down", cheeks="blush", xpos="mid", ypos="base", trans=d3) - her "Please be gentle [genie_name]... The potion made them even more sensitive than usual." ("angry", "squint", "base", "mid", cheeks="blush") + if not states.her.ev.potions.breast_expand_groped: + her @ cheeks blush "!!!" ("angry", "narrow", "worried", "down", xpos="mid", ypos="base", trans=d3) + her @ cheeks blush "Please be gentle [name_genie_hermione]... The potion made them even more sensitive than usual." ("angry", "squint", "base", "mid") gen "{i}Even more{/i}?" ("base", xpos="far_left", ypos="head") - her "I mean--" ("clench", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "I mean--" ("clench", "squint", "base", "R") - call nar(">Before she can finish, you start kneading her breasts even harder with your fingers.") + nar "Before she can finish, you start kneading her breasts even harder with your fingers." - her "..." ("soft", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("soft", "closed", "base", "mid") gen "They sure feel much more tender than usual." ("base", xpos="far_left", ypos="head") gen "On top of the extra cup size that is." ("base", xpos="far_left", ypos="head") - call nar(">You continue massaging Hermione's breasts, loosening your grip and sliding your hands around them gently.") + nar "You continue massaging Hermione's breasts, loosening your grip and sliding your hands around them gently." - her "W-- wait... I'm feeling something--" ("open", "squint", "base", "stare", cheeks="blush") + her @ cheeks blush "W-- wait... I'm feeling something--" ("open", "squint", "base", "stare") # Note: Dissolve works better for the image, but vpunch is fine with the sound effect - $ renpy.sound.play("sounds/boing04.ogg") + play sound "sounds/boing04.ogg" with vpunch - $ hermione.set_body(breasts="big3") + $ hermione.equip(her_chest_breasts3) with d3 - if her_whoring < 19: #Under blowjob level - her "*Ahhhh*!!!" ("scream", "wide", "base", "down", cheeks="blush") - her "They've grown even bigger!" ("angry", "base", "base", "down", cheeks="blush") - gen "Don't worry about it [hermione_name], think about how you're helping your precious {i}Gryffindeer{/i}." ("base", xpos="far_left", ypos="head") - her "It's Gryffindor, [genie_name]!" ("open", "happyCl", "base", "mid", cheeks="blush") + if states.her.level < 19: #Under blowjob level + her @ cheeks blush "*Ahhhh*!!!" ("scream", "wide", "base", "down") + her @ cheeks blush "They've grown even bigger!" ("angry", "base", "base", "down") + gen "Don't worry about it [name_hermione_genie], think about how you're helping your precious {i}Gryffindeer{/i}." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It's Gryffindor, [name_genie_hermione]!" ("open", "happyCl", "base", "mid") - her "*Ah*..." ("soft", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ah*..." ("soft", "happyCl", "base", "mid") - her "J-- Just hurry up..." ("annoyed", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "J-- Just hurry up..." ("annoyed", "happyCl", "base", "mid") else: - her "They... They've grown even bigger..." ("soft", "base", "base", "down", cheeks="blush") + her @ cheeks blush "They... They've grown even bigger..." ("soft", "base", "base", "down") gen "Yes they have." ("grin", xpos="far_left", ypos="head") - her "And..." ("angry", "closed", "base", "down", cheeks="blush") + her @ cheeks blush "And..." ("angry", "closed", "base", "down") - her "They seem to have become even more sensitive..." ("open", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "They seem to have become even more sensitive..." ("open", "happyCl", "base", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") - call nar(">You take both nipples between your thumb and index finger and tug on them.") + nar "You take both nipples between your thumb and index finger and tug on them." - her "*Ouch!*" ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ouch!*" ("angry", "wide", "base", "mid") gen "Yes... They do appear to be even more sensitive than before..." ("base", xpos="far_left", ypos="head") else: - her "*Ah*..." ("open", "closed", "worried", "mid", cheeks="blush", xpos="mid", ypos="base", trans=d3) - her "*Hnngh*..." ("clench", "closed", "base", "mid", cheeks="blush") #blushes + her @ cheeks blush "*Ah*..." ("open", "closed", "worried", "mid", xpos="mid", ypos="base", trans=d3) + her @ cheeks blush "*Hnngh*..." ("clench", "closed", "base", "mid") #blushes - $ renpy.sound.play("sounds/boing04.ogg") + play sound "sounds/boing04.ogg" with vpunch - $ hermione.set_body(breasts="big3") - her "Aaaah!!!" ("scream", "wide", "base", "stare", cheeks="blush") + $ hermione.equip(her_chest_breasts3) + her @ cheeks blush "Aaaah!!!" ("scream", "wide", "base", "stare") with d3 gen "Now that's more like it!" ("base", xpos="far_left", ypos="head") gen "Real weighty these things aren't they?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "[genie_name]... That's not--" ("angry", "squint", "base", "stare", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "[name_genie_hermione]... That's not--" ("angry", "squint", "base", "stare") else: - her "Oh... Yes..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh... Yes..." ("base", "closed", "base", "mid") gen "Are they just as sensitive as last time?" ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Ehm*..." ("disgust", "narrow", "base", "R") - call nar(">You tug on Hermione's nipples once more, making her yelp in surprise.") + nar "You tug on Hermione's nipples once more, making her yelp in surprise." - her "*Ouch!!*" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") #blush + her @ cheeks blush "*Ouch!!*" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") #blush gen "I suppose that answers that question..." ("base", xpos="far_left", ypos="head") - if her_whoring < 21: ## Doesn't cum ## - call nar(">You take Hermione's breasts back into your hands and continue massaging.") + if states.her.level < 21: ## Doesn't cum ## + nar "You take Hermione's breasts back into your hands and continue massaging." - gen "Now... Stay still, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Now... Stay still, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - call nar(">You start rolling Hermione's nipples in between your fingers.") + nar "You start rolling Hermione's nipples in between your fingers." - her "What... What are you doing?" ("angry", "narrow", "base", "down", cheeks="blush") #blush - gen "I'm touching your breasts [hermione_name], wasn't that what we agreed on?" ("base", xpos="far_left", ypos="head") - her "Yes but--" ("clench", "closed", "worried", "mid", cheeks="blush") #blush + her @ cheeks blush "What... What are you doing?" ("angry", "narrow", "base", "down") #blush + gen "I'm touching your breasts [name_hermione_genie], wasn't that what we agreed on?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes but--" ("clench", "closed", "worried", "mid") #blush - call nar(">You resume running your fingers across her breasts.") + nar "You resume running your fingers across her breasts." - if her_whoring < 19: - gen "Those points aren't going to earn themselves are they?" ("base", xpos="far_left", ypos="head") + if states.her.level < 19: + gen "Those points aren't going to earn themselves, are they?" ("base", xpos="far_left", ypos="head") - call nar(">You pinch Hermione's nipples making her yelp in surprise.") + nar "You pinch Hermione's nipples, making her yelp in surprise." - her "*Oohh*..." ("angry", "closed", "worried", "mid", cheeks="blush") #pleasure #still eyes closed + her @ cheeks blush "*Oohh*..." ("angry", "closed", "worried", "mid") #pleasure #still eyes closed gen "..." ("grin", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down", cheeks="blush") #Wide eyed - her "Don't pinch them, [genie_name]!" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "base", "down") #Wide eyed + her @ cheeks blush "Don't pinch them, [name_genie_hermione]!" ("angry", "narrow", "base", "mid") gen "It looked like you enjoyed it though..." ("base", xpos="far_left", ypos="head") - her "I did not!" ("angry", "narrow", "base", "R", cheeks="blush") #blush - gen "Very well... I suppose that's it for today then..." ("base", xpos="far_left", ypos="head") - her "But I'm still--{w=0.2} I mean...{w=0.4} Alright..." ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I did not!" ("angry", "narrow", "base", "R") #blush + gen "Very well... I suppose that's it for today..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But I'm still--{w=0.2} I mean...{w=0.4} Alright..." ("disgust", "squint", "base", "mid") show screen blkfade with d5 @@ -833,43 +813,43 @@ label her_potion_breasts_give: hide screen blkfade with d5 - gen "Good work, [hermione_name]... {number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "{size=-4}I'm glad at least one of us got some gratification out of it...{/size}" ("normal", "narrow", "base", "down", cheeks="blush") # Annoyed that Genie cut it short + gen "Good work, [name_hermione_genie]... {number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "{size=-4}I'm glad at least one of us got some gratification out of it...{/size}" ("normal", "narrow", "base", "down") # Annoyed that Genie cut it short - if not her_breast_expand_drank: - her "I'll be heading out now." ("open", "closed", "base", "mid", cheeks="blush") + if not states.her.ev.potions.breast_expand_drank: + her @ cheeks blush "I'll be heading out now." ("open", "closed", "base", "mid") #Hermione walks to the door call her_walk("door") - if her_whoring < 19: - her "Wait!" ("angry", "narrow", "base", "stare", cheeks="blush", xpos="base", ypos="base", flip=True) - her "I can't go out like this!" ("open", "squint", "base", "stare", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "Wait!" ("angry", "narrow", "base", "stare", xpos="base", ypos="base", flip=True) + her @ cheeks blush "I can't go out like this!" ("open", "squint", "base", "stare") gen "Why? What's the problem?" ("base", xpos="far_left", ypos="head") else: - her "Hold on..." ("open", "narrow", "base", "down", cheeks="blush", xpos="base", ypos="base", flip=True) - her "I almost forgot to put something on." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Hold on..." ("open", "narrow", "base", "down", xpos="base", ypos="base", flip=True) + her @ cheeks blush "I almost forgot to put something on." ("base", "narrow", "base", "down") hide hermione_main with d3 call her_chibi(flip=False) else: - her "I'll head out as soon as the effects wear off." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I'll head out as soon as the effects wear off." ("open", "closed", "base", "mid") - if hg_pr_flash.counter > 0: + if states.her.status.public_stripping: gen "It's not like you haven't gone topless in public before, have you?" ("base", xpos="far_left", ypos="head") - her "Yes but--" ("angry", "narrow", "base", "mid", cheeks="blush", flip=False, trans=dissolve) + her @ cheeks blush "Yes but--" ("angry", "narrow", "base", "mid", flip=False, trans=dissolve) - if her_whoring < 19: + if states.her.level < 19: - if not her_ass_expand_pub_done: + if not states.her.ev.potions.ass_expand_public_complete: gen "Haven't I given you your points already?" ("base", xpos="far_left", ypos="head") gen "I'm certain you usually leave after that." ("base", xpos="far_left", ypos="head") - her "Yes, but not like this..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Yes, but not like this..." ("soft", "narrow", "base", "down") gen "I don't see any difference..." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "mid", cheeks="blush") - her "Fine, I'm not going to argue with you..." ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "base", "mid") + her @ cheeks blush "Fine, I'm not going to argue with you..." ("open", "closed", "worried", "mid") gen "Good girl." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") @@ -893,9 +873,9 @@ label her_potion_breasts_give: gen "No buts." ("base", xpos="far_left", ypos="head") gen "Not this time at least." ("grin", xpos="far_left", ypos="head") her "*Sigh*... It's as if you are obsessed with all things sexual." ("base", "narrow", "base", "R") - gen "Only when it's about you my dear [hermione_name]." ("base", xpos="far_left", ypos="head") - her "*Hmm*..." ("base", "narrow", "base", "R", cheeks="blush") # Blushes - her "I'll get going then..." ("open", "base", "base", "mid", cheeks="blush") + gen "Only when it's about you, my dear [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmm*..." ("base", "narrow", "base", "R") # Blushes + her @ cheeks blush "I'll get going then..." ("open", "base", "base", "mid") gen "That you shall." ("base", xpos="far_left", ypos="head") gen "Good luck!" ("grin", xpos="far_left", ypos="head") @@ -904,14 +884,14 @@ label her_potion_breasts_give: jump .end else: - if not her_breast_expand_drank: + if not states.her.ev.potions.breast_expand_drank: gen "Can't you just avoid public places on your way out to your dormitory?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "The dormitory is a public place!" ("angry", "squint", "base", "mid", cheeks="blush", flip=False, trans=dissolve) + if states.her.level < 19: + her @ cheeks blush "The dormitory is a public place!" ("angry", "squint", "base", "mid", flip=False, trans=dissolve) her "Even then, the castle is full of moving pictures, they're like surveillance..." ("angry", "base", "worried", "mid") else: her "You want me to go out like this?" ("open", "narrow", "base", "down", flip=False, trans=d3) - her "*Hmm*...{w=0.3} No I think I'd rather stay in here until I can put my top on..." ("base", "narrow", "base", "R") + her "*Hmm*...{w=0.3} No, I think I'd rather stay in here until I can put my top on..." ("base", "narrow", "base", "R") gen "Fine. I guess you can wait here until the effects wear off..." ("base", xpos="far_left", ypos="head") gen "I don't really mind either way." ("grin", xpos="far_left", ypos="head") else: @@ -920,8 +900,8 @@ label her_potion_breasts_give: show screen blkfade with d3 - call nar(">You wait with Hermione until the effects of the potion wears off.") - call nar(">Shortly after, she decides to leave your office.") + nar "You wait with Hermione until the effects of the potion wears off." + nar "Shortly after, she decides to leave your office." call her_chibi("hide") call gen_chibi("sit_behind_desk") @@ -931,64 +911,64 @@ label her_potion_breasts_give: with d3 else: #21+ ##She cums## - her "Please don't do anything sudden like that." ("open", "happyCl", "base", "down", cheeks="blush") + her @ cheeks blush "Please don't do anything sudden like that." ("open", "happyCl", "base", "down") gen "What, this?" ("grin", xpos="far_left", ypos="head") - call nar(">You take both nipples between your thumb and index finger and tug on them.") + nar "You take both nipples between your thumb and index finger and tug on them." - her "!!!" ("grin", "narrow", "base", "stare", cheeks="blush") - her "Please...{w=0.4} It's as if my nipples are on fire!" ("soft", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "!!!" ("grin", "narrow", "base", "stare") + her @ cheeks blush "Please...{w=0.4} It's as if my nipples are on fire!" ("soft", "narrow", "base", "stare") - call nar(">You start rolling Hermione's nipples in-between your fingers.") - call nar(">As you continue, you catch Hermione shifting her legs uncomfortably.") + nar "You start rolling Hermione's nipples in-between your fingers." + nar "As you continue, you catch Hermione shifting her legs uncomfortably." gen "Feeling a little aroused are we?" ("grin", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "stare", cheeks="blush") - gen "Are you paying attention, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes?" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "base", "stare") + gen "Are you paying attention, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes?" ("angry", "squint", "base", "mid") - call nar(">You pinch Hermione's nipples, making her yelp in surprise.") + nar "You pinch Hermione's nipples, making her yelp in surprise." - her "*Oohh*..." ("grin", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "*Oohh*..." ("grin", "narrow", "base", "stare") gen "(I wonder how far I could take this...)" ("base", xpos="far_left", ypos="head") - call nar(">You resume running your fingers across her bountiful bosom.") + nar "You resume running your fingers across her bountiful bosom." - her "..." ("base", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "base", "stare") - call nar(">As you continue rubbing her, you notice that Hermione's eyes are glazed over, numbingly staring into space.") + nar "As you continue rubbing her, you notice that Hermione's eyes are glazed over, numbingly staring into space." - gen "Well, well, well... You sure are sensitive aren't you?" ("base", xpos="far_left", ypos="head") + gen "Well, well, well... You sure are sensitive, aren't you?" ("base", xpos="far_left", ypos="head") #unfocused pupils from this point - call nar(">You start alternating, pinching and pulling her nipples out as far as you can, then letting them go before grabbing them again.") + nar "You start alternating, pinching and pulling her nipples out as far as you can, then letting them go before grabbing them again." - her "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ah*..." ("open", "closed", "base", "mid") - call nar(">Hermione lets out an involuntary moan, as the feeling of her increasingly sensitive nipples overwhelm her.") + nar "Hermione lets out an involuntary moan, as the feeling of her increasingly sensitive nipples overwhelm her." - her "*Mmm*..." ("base", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "*Mmm*..." ("base", "narrow", "base", "stare") gen "You little slut!" ("grin", xpos="far_left", ypos="head") - call nar(">You resume pulling on her nipples, Hermione closes her eyes and starts breathing heavily...") + nar "You resume pulling on her nipples, Hermione closes her eyes and starts breathing heavily..." - her "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("open", "closed", "worried", "mid") - call nar(">Suddenly you feel Hermione begin to tense up and you grab her breasts and squeeze her nipples hard between your fingers.") + nar "Suddenly you feel Hermione begin to tense up, and you grab her breasts and squeeze her nipples hard between your fingers." - her "*Ngh*--" ("angry", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ngh*--" ("angry", "happyCl", "base", "mid") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - her "*Ahhhh*!!!" ("grin", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "*Ahhhh*!!!" ("grin", "narrow", "base", "stare") gen "Such a naughty girl..." ("base", xpos="far_left", ypos="head") show screen blkfade with d3 - call nar(">Hermione slumps to the floor, breathing heavily as she slowly regains her ability to stand.") + nar "Hermione slumps to the floor, breathing heavily as she slowly regains her ability to stand." - her "" ("base", "narrow", "base", "stare", cheeks="blush", xpos="right", ypos="base", trans=d3) + her @ cheeks blush "" ("base", "narrow", "base", "stare", xpos="right", ypos="base", trans=d3) call her_chibi("stand") call gen_chibi("sit_behind_desk") @@ -997,13 +977,13 @@ label her_potion_breasts_give: #Hermione stands in front of desk - gen "Fantastic work, [hermione_name]... {number=current_payout} points to Gryffindor!" ("grin", xpos="far_left", ypos="head") - her "Thank you..." ("base", "narrow", "base", "mid", cheeks="blush") # Still dazed + gen "Fantastic work, [name_hermione_genie]... {number=current_payout} points to Gryffindor!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you..." ("base", "narrow", "base", "mid") # Still dazed pause.2 gen "Off you go." ("base", xpos="far_left", ypos="head") - her "*Mhm*..." ("base", "narrow", "base", "down", cheeks="blush") # Affirmative murmur, still dazed + her @ cheeks blush "*Mhm*..." ("base", "narrow", "base", "down") # Affirmative murmur, still dazed #Hermione leaves call her_walk(action="leave") @@ -1014,135 +994,140 @@ label her_potion_breasts_give: label .end: - $ her_breast_expand_groped = True - $ her_breast_expand_drank = True - $ her_breast_expand_effects_known = True - - $ hermione.set_body(breasts="normal") + $ states.her.ev.potions.breast_expand_groped = True + $ states.her.ev.potions.breast_expand_drank = True + $ states.her.ev.potions.breast_expand_known = True + $ hermione.unequip("chest") jump end_hermione_event ##Send Hermione to class breast expand Return event## label her_potion_breasts_return: - call play_music("stop") - #Hermione enters office and walks to front of desk + stop music fadeout 1 + #Hermione enters the office, and walks to the front the of desk call her_walk("desk", "base", action="enter") - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - if her_reputation < 19: - if not her_breast_expand_pub_low_reputation_done: + if states.her.public_level < 19: + if not states.her.ev.potions.breast_expand_public_low_complete: - $ her_breast_expand_pub_low_reputation_done = True + $ states.her.ev.potions.breast_expand_public_low_complete = True ### TODO: add CG once it's finished - her "I can't believe you made me do that!" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I can't believe you made me do that!" ("angry", "base", "base", "mid") gen "Do what?" ("base", xpos="far_left", ypos="head") - her "Making me attend a class looking like that!" ("annoyed", "squint", "base", "mid", cheeks="blush") - her "On the day we have potion lessons on the schedule no less." ("disgust", "squint", "base", "mid", cheeks="blush") - gen "So I take it you caught some of the students attention?" ("base", xpos="far_left", ypos="head") - her "Some? I would be surprised if all of them weren't staring at me at some point..." ("clench", "narrow", "base", "R", cheeks="blush") - her "And that includes Professor Snape!" ("disgust", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Making me attend a class looking like that!" ("annoyed", "squint", "base", "mid") + her @ cheeks blush "On the day we have potion lessons on the schedule no less." ("disgust", "squint", "base", "mid") + gen "So I take it you caught some of the students' attention?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Some? I would be surprised if all of them weren't staring at me at some point..." ("clench", "narrow", "base", "R") + her @ cheeks blush "And that includes Professor Snape!" ("disgust", "closed", "base", "mid") gen "(I'd be more surprised if they didn't stare...)" ("base", xpos="far_left", ypos="head") - her "And if the stares weren't enough, my breasts just kept growing..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "And if the stares weren't enough, my breasts just kept growing..." ("angry", "narrow", "base", "down") gen "They did? Now that's unfortunate!" ("grin", xpos="far_left", ypos="head") - her "That was the worst class of my life, I've never felt more humiliated!" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "The Slytherin students kept pointing and laughing at me as I was trying to prepare my concoctions..." ("open", "squint", "base", "mid", cheeks="blush") - her "Asking me if \"I had dipped my fat udders in a swelling solution\"..." ("disgust", "narrow", "annoyed", "R", cheeks="blush") - her "*Ugh!* The nerve of these guys!" ("disgust", "narrow", "annoyed", "mid", cheeks="blush") - gen "Surely the ridicule of some Slytherin students isn't enough for you to lose your focus, [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "That was the worst class of my life, I've never felt more humiliated!" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "The Slytherin students kept pointing and laughing at me as I was trying to prepare my concoctions..." ("open", "squint", "base", "mid") + her @ cheeks blush "Asking me if \"I had dipped my fat udders in a swelling solution\"..." ("disgust", "narrow", "annoyed", "R") + her @ cheeks blush "*Ugh!* The nerve of these guys!" ("disgust", "narrow", "annoyed", "mid") + gen "Surely the ridicule of some Slytherin students isn't enough for you to lose your focus, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "I thought a top student such as yourself would be able to keep your composure." ("base", xpos="far_left", ypos="head") - her "The Slytherin students' snide remarks is not what bothers me, [genie_name]." ("angry", "narrow", "base", "R", cheeks="blush") - her "But it's hard to focus on the precision needed for potion brewing when everyone in the room is staring at you." ("angry", "closed", "base", "mid", cheeks="blush") - her "I could barely see the cutting board as I was preparing my ingredients..." ("angry", "narrow", "base", "down", cheeks="blush") - gen "(Even then I bet she was the most focused of all of them...)" ("base", xpos="far_left", ypos="head") - her "Have you ever tried picking up Ashwinder's Egg with two beach balls attached to your chest?" ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "The Slytherin students' snide remarks is not what bothers me, [name_genie_hermione]." ("angry", "narrow", "base", "R") + her @ cheeks blush "But it's hard to focus on the precision needed for potion brewing when everyone in the room is staring at you." ("angry", "closed", "base", "mid") + her @ cheeks blush "I could barely see the cutting board as I was preparing my ingredients..." ("angry", "narrow", "base", "down") + gen "(Even then, I bet she was the most focused of all of them...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Have you ever tried picking up Ashwinder's Egg with two beach balls attached to your chest?" ("open", "narrow", "annoyed", "mid") gen "Can't say that I have." ("base", xpos="far_left", ypos="head") - her "--Once I had finally managed to finish my potion, I accidentally knocked it off and smashed it onto the floor..." ("angry", "narrow", "base", "down", cheeks="blush") - her "If it wasn't for the fact that Professor Snape chose to have me stay and clean it up after class, I'm sure I would've lost a lot of points then..." ("disgust", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "--Once I had finally managed to finish my potion, I accidentally knocked it off and smashed it onto the floor..." ("angry", "narrow", "base", "down") + her @ cheeks blush "If it wasn't for the fact that Professor Snape chose to have me stay and clean it up after class, I'm sure I would've lost a lot of points then..." ("disgust", "narrow", "base", "R") gen "That doesn't sound too bad." ("base", xpos="far_left", ypos="head") - her "He made me scrub the entire floor!" ("open", "squint", "annoyed", "mid", cheeks="blush") #screen shake + her @ cheeks blush "He made me scrub the entire floor!" ("open", "squint", "annoyed", "mid") #screen shake gen "Can't a little spell take care of that?" ("base", xpos="far_left", ypos="head") - her "Without using magic!" ("scream", "closed", "annoyed", "mid", cheeks="blush") #screen shake + her @ cheeks blush "Without using magic!" ("scream", "closed", "annoyed", "mid") #screen shake gen "Ah... I see..." ("base", xpos="far_left", ypos="head") - her "I could feel him gawking at my breasts as I was down there on my knees..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "I should've known... The only times he doesn't dock points from me is when there's something he could get out of it." ("disgust", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I could feel him gawking at my breasts as I was down there on my knees..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "I should've known... The only times he doesn't dock points from me is when there's something he could get out of it." ("disgust", "narrow", "annoyed", "mid") gen "{size=-3}As if you wouldn't just come here and earn them back afterwards...{/size}" ("base", xpos="far_left", ypos="head") - her "What did you say?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "What did you say?" ("angry", "base", "base", "mid") gen "Nothing..." ("base", xpos="far_left", ypos="head") - gen "Very well then, [hermione_name]. You've done what I asked of you..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "base", "R", cheeks="blush") + gen "Very well then, [name_hermione_genie]. You've done what I asked of you..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "R") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "...{w=0.4} Thank you, [genie_name]." ("annoyed", "closed", "base", "mid", cheeks="blush") - her "That will be all then, yes?" ("normal", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "...{w=0.4} Thank you, [name_genie_hermione]." ("annoyed", "closed", "base", "mid") + her @ cheeks blush "That will be all then, yes?" ("normal", "closed", "base", "mid") gen "Yes, that shall do for now... Unless..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "narrow", "base", "mid") gen "On second thought, I'll let you rest...{w=0.4} Off you go!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]..." ("open", "closed", "base", "mid") + her "Thank you, [name_genie_hermione]..." ("open", "closed", "base", "mid") else: #Repeat - gen "[hermione_name]... Had a fun day in class?" ("base", xpos="far_left", ypos="head") - her "How did you manage to convince me of doing this again..." ("angry", "narrow", "base", "mid", trans=d3) + gen "[name_hermione_genie]... Had a fun day in class?" ("base", xpos="far_left", ypos="head") + her "How did you manage to convince me to do this again..." ("angry", "narrow", "base", "mid", trans=d3) gen "Convince you to do what?" ("base", xpos="far_left", ypos="head") her "Go to class like that!" ("annoyed", "narrow", "worried", "mid") gen "There was convincing involved?" ("base", xpos="far_left", ypos="head") her "*Hmph*..." ("annoyed", "narrow", "base", "R") - gen "So... It didn't go well I take it?" ("base", xpos="far_left", ypos="head") + gen "So... It didn't go that well, I take it?" ("base", xpos="far_left", ypos="head") her "No..." ("open", "narrow", "worried", "mid") - $ camera.set(zoom=0.25, pos=(0, 0), image="CG breast expand corridor B1", overlay=None, initialize=True) - $ camera.set(zoom=0.6, pos=(700, 135), t=180.0) - show screen animatedCG + show her_potion_public_expand_breasts_c1 as cg zorder 17: + zoom 0.26 + pos (0, 0) + anchor (0.05, 0) + + parallel: + subpixel True + transform_anchor True + linear 180.0 zoom 0.6 offset (0, 135) anchor (0.0, 0.4) with fade - her "Even though I was ready for it and I knew what to expect it didn't go much better than last time..." ("open", "squint", "worried", "R") + her "Even though I was ready for it and I knew what to expect, it didn't go much better than last time..." ("open", "squint", "worried", "R") her "Any optimism I had after leaving your office went out the window once I remembered we had potions class today." ("disgust", "narrow", "base", "down") - her "When making my way there I was hoping that the effects wouldn't be as prevalent as last time..." ("open", "squint", "worried", "mid") + her "When making my way there, I was hoping that the effects wouldn't be as prevalent as last time..." ("open", "squint", "worried", "mid") her "But I didn't even get all the way down the grand staircase before my breasts started growing rapidly." ("angry", "squint", "worried", "mid") her "I must've had at least a dozen portraits stare at me walking through the corridors on the way there." ("disgust", "narrow", "worried", "R") - gen "Portraits aren't real you know." + gen "Portraits aren't real, you know." her "I know that... But having all these famous witches and wizards stare at you..." ("angry", "squint", "worried", "mid") - her "Well... It's embarrassing... Many of them are role models of mine." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Well... It's embarrassing... Many of them are role models of mine." ("angry", "narrow", "base", "R") gen "But... They're paintings..." - her "I don't understand how those other girls do it." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I don't understand how those other girls do it." ("annoyed", "narrow", "base", "down") gen "Other girls?" - her "Oh... I meant the ones with... *Ehm*..." ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "Oh... I meant the ones with... *Ehm*..." ("angry", "squint", "worried", "mid") gen "Giant tits?" - her "[genie_name]!" ("angry", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "happyCl", "base", "mid") gen "..." - her "Yes... That." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Yes... That." ("angry", "narrow", "base", "down") her "Surely they must be getting stared at constantly." ("clench", "closed", "base", "mid") gen "You've had your breasts out in public before, I don't get why you're making such a big deal out of it." - her "That's different!" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "That's different!" ("angry", "squint", "worried", "mid") gen "How is it different?" - her "Flashing my breast to one person and sitting through a whole lesson with your breasts as big as melons are two completely different things!" ("angry", "narrow", "annoyed", "R", cheeks="blush") - her "When I'm in class, I'm forced to just let the other students stare at me the entire time until the effect goes away." ("angry", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "Flashing my breast to one person and sitting through a whole lesson with your breasts as big as melons are two completely different things!" ("angry", "narrow", "annoyed", "R") + her @ cheeks blush "When I'm in class, I'm forced to just let the other students stare at me the entire time until the effect goes away." ("angry", "narrow", "annoyed", "down") gen "Other students and Snape." - her "Don't even let me get started on Professor Snape." ("angry", "squint", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Don't even let me get started on Professor Snape." ("angry", "squint", "annoyed", "mid") gen "{size=-4}Oh boy, what have I done...{/size}" - her "Brewing was the least of my worries..." ("angry", "narrow", "annoyed", "mid", cheeks="blush") - her "Even more of the students took notice of my condition this time around." ("open", "narrow", "annoyed", "R", cheeks="blush") - her "I pretty much gave up trying to grind up my shrivel figs after realising how it was making my breasts jiggle." ("open", "narrow", "annoyed", "down", cheeks="blush") - gen "Giving up during a lecture? That doesn't sound very much like you, [hermione_name]..." - her "One of the Slytherin boys watching me was masturbating for crying out loud!" ("scream", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Brewing was the least of my worries..." ("angry", "narrow", "annoyed", "mid") + her @ cheeks blush "Even more of the students took notice of my condition this time around." ("open", "narrow", "annoyed", "R") + her @ cheeks blush "I pretty much gave up trying to grind up my shrivel figs after realising how it was making my breasts jiggle." ("open", "narrow", "annoyed", "down") + gen "Giving up during a lecture? That doesn't sound very much like you, [name_hermione_genie]..." + her @ cheeks blush "One of the Slytherin boys watching me was masturbating for crying out loud!" ("scream", "closed", "annoyed", "mid") gen "Really?" - her "Yes!" ("angry", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Yes!" ("angry", "base", "annoyed", "mid") gen "(A man of my own heart...)" gen "I mean, Who could blame him..." gen "You'd be surprised what people do when they think nobody is looking." - her "Oh, He knew I saw him doing it!" ("mad", "narrow", "annoyed", "mid", cheeks="blush") - her "But of course everyone else's eyes were on me so he got away with it..." ("open", "closed", "annoyed", "mid", cheeks="blush") - her "I couldn't believe it... He was barely every trying to conceal it." ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Oh, He knew I saw him doing it!" ("mad", "narrow", "annoyed", "mid") + her @ cheeks blush "But of course everyone else's eyes were on me, so he got away with it..." ("open", "closed", "annoyed", "mid") + her @ cheeks blush "I couldn't believe it... He was barely every trying to conceal it." ("angry", "narrow", "annoyed", "mid") gen "Are you sure he wasn't just scratching--" - her "No [genie_name]... It was out!" ("open", "base", "annoyed", "mid", cheeks="blush") - her "If I was stood any closer to him I'm sure he could've hit me with it." ("open", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "No [name_genie_hermione]... It was out!" ("open", "base", "annoyed", "mid") + her @ cheeks blush "If I was stood any closer to him, I'm sure he could've hit me with it." ("open", "narrow", "annoyed", "R") gen "(Amateur...)" gen "Wait, when you say \"it\"..." - her "You know exactly what I mean..." ("disgust", "narrow", "annoyed", "R", cheeks="blush") - her "If seeing him do that wasn't bad enough, I was also forced to clean it off the floor afterwards." ("disgust", "narrow", "annoyed", "down", cheeks="blush") - gen "Very admirable of you [hermione_name]... Boys will be boys after all, you know how messy they can be." - her "I didn't volunteer! Snape-- I mean... Professor Snape made me do it." ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "You know exactly what I mean..." ("disgust", "narrow", "annoyed", "R") + her @ cheeks blush "If seeing him do that wasn't bad enough, I was also forced to clean it off the floor afterwards." ("disgust", "narrow", "annoyed", "down") + gen "Very admirable of you [name_hermione_genie]... Boys will be boys, after all, you know how messy they can be." + her @ cheeks blush "I didn't volunteer! Snape-- I mean... Professor Snape made me do it." ("angry", "squint", "base", "mid") gen "I'm sure he didn't know... He probably just thought someone spilled their potion again." her "I'm sure..." ("annoyed", "narrow", "annoyed", "R") her "A more plausible theory would be that he has always been looking for any excuse to torment me..." ("open", "narrow", "annoyed", "R") @@ -1150,229 +1135,252 @@ label her_potion_breasts_return: gen "*Hmm*... That's a pretty vague reason... He should work on that." her "As if it's not bad enough that he's favouring students of his own house." ("angry", "narrow", "annoyed", "R") her "Maybe that's it... He probably saw the boy doing it, and revelled in the thought of making me stay and--" ("disgust", "squint", "annoyed", "R") - gen "[hermione_name]..." + gen "[name_hermione_genie]..." gen "I think I've heard enough..." - hide screen animatedCG + hide cg with fade - her "..." ("angry", "narrow", "worried", "R", cheeks="blush") - her "So, am I free to go, [genie_name]?" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "worried", "R") + her @ cheeks blush "So, am I free to go, [name_genie_hermione]?" ("angry", "narrow", "base", "mid") gen "Yes, you may leave for today..." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "... Thanks." ("open", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "... Thanks." ("open", "narrow", "worried", "R") else: # 19+ - if not her_breast_expand_pub_high_reputation_done: + if not states.her.ev.potions.breast_expand_public_high_complete: - $ her_breast_expand_pub_high_reputation_done = True + $ states.her.ev.potions.breast_expand_public_high_complete = True - her "Hello [genie_name]..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Hello [name_genie_hermione]..." ("open", "base", "base", "mid") gen "*Mmm*... What?" ("base", xpos="far_left", ypos="head") - gen "Oh it's you, [hermione_name]... Forgive me, I was just... meditating." ("base", xpos="far_left", ypos="head") + gen "Oh it's you, [name_hermione_genie]... Forgive me, I was just... meditating." ("base", xpos="far_left", ypos="head") gen "So... Got anything to tell me?" ("base", xpos="far_left", ypos="head") gen "I hope your lessons went well." ("base", xpos="far_left", ypos="head") - her "It went as well as can be expected given that I've got these things to try and work around..." ("open", "narrow", "base", "R", cheeks="blush") #blush, looking away - gen "Details [hermione_name]... I want to hear everything about your day." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "down", cheeks="blush") - her "Well, I left your office--" ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "It went as well as can be expected given that I've got these things to try and work around..." ("open", "narrow", "base", "R") #blush, looking away + gen "Details [name_hermione_genie]... I want to hear everything about your day." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("base", "narrow", "base", "down") + her @ cheeks blush "Well, I left your office--" ("open", "narrow", "base", "down") - $ camera.set(zoom=0.25, pos=(0, 0), image="CG breast expand corridor A1", overlay=None, initialize=True) - $ camera.set(zoom=0.6, pos=(375, 135), t=180.0) - show screen animatedCG + show her_potion_public_expand_breasts_d1 as cg zorder 17: + zoom 0.26 + pos (0, 0) + anchor (0.05, 0) + + parallel: + subpixel True + transform_anchor True + linear 180.0 zoom 0.6 offset (500, 135) anchor (0.35, 0.4) with fade - her "And I was making my way to my next class when I suddenly bumped into another student." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "And I was making my way to my next class when I suddenly bumped into another student." ("open", "squint", "base", "R") gen "Poor guy probably didn't even know what hit him." - her "I didn't mean it in a literal sense. {size=-4}Unfortunately...{/size}" ("base", "narrow", "base", "down", cheeks="blush") # Changed Fortunately to unfortunately as with High reputation, she'd be fine with it. - her "Although he wasn't exactly looking where he was going and ended up walking right into one of the suits of armour..." ("open", "squint", "base", "mid", cheeks="blush") - her "Which did boost my confidence quite handsomely..." ("grin", "narrow", "base", "mid", cheeks="blush") #smile #glance away + her @ cheeks blush "I didn't mean it in a literal sense. {size=-4}Unfortunately...{/size}" ("base", "narrow", "base", "down") + her @ cheeks blush "Although he wasn't exactly looking where he was going and ended up walking right into one of the suits of armour..." ("open", "squint", "base", "mid") + her @ cheeks blush "Which did boost my confidence quite handsomely..." ("grin", "narrow", "base", "mid") #smile #glance away gen "I'm glad that our little experiment could give you such a boost in self-esteem." - if her_reputation < 22: - her "Me too..." ("base", "squint", "base", "mid", cheeks="blush") + + if states.her.public_level < 22: + her @ cheeks blush "Me too..." ("base", "squint", "base", "mid") her "Not that I had much time to enjoy it." ("open", "narrow", "base", "R") else: - her "Me too! When I walked past him, I noticed he had grown a boner! Although I didn't get a chance to help him out..." ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Me too! When I walked past him, I noticed he had grown a boner! Although I didn't get a chance to help him out..." ("base", "squint", "base", "mid") + gen "How so? What happened?" her "Well..." ("disgust", "narrow", "base", "R") her "I suddenly noticed Professor Snape watching us and as I did, he made sure I followed him to class." ("angry", "narrow", "base", "mid") - her "He must've seen the whole thing because he really made the lesson even more difficult for me than usual." ("open", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "He must've seen the whole thing because he really made the lesson even more difficult for me than usual." ("open", "narrow", "annoyed", "R") gen "Severus? I'm sure that whatever he did, he meant well... He is here to help you learn after all." - her "Some help he is... He went out of his way to degrade me in front of the entire class!" ("soft", "narrow", "annoyed", "mid", cheeks="blush") - gen "Surely you must be exaggerating, [hermione_name]." + her @ cheeks blush "Some help he is... He went out of his way to degrade me in front of the entire class!" ("soft", "narrow", "annoyed", "mid") + gen "Surely you must be exaggerating, [name_hermione_genie]." gen "Professor Snape is an esteemed {i}Witcher{/i}--" gen "--Or a Lich, he does seem kind of pale..." - her "I'll admit, it wasn't bad at first..." ("open", "closed", "annoyed", "mid", cheeks="blush") - her "Chopping ingredients proved a bit difficult, my breasts kept pushing them off of the board, spilling onto the floor in front of me..." ("open", "base", "base", "mid", cheeks="blush") - her "But that was manageable until Professor Snape noticed it and loudly told me off and to pick them up..." ("angry", "narrow", "annoyed", "mid", cheeks="blush") - her "So it didn't take very long for all the students to notice what was going on..." ("open", "narrow", "base", "R", cheeks="blush") - her "At first, it was just those Slytherin delinquents..." ("angry", "narrow", "base", "mid", cheeks="blush") - her "And I can deal with them no problem, as you already know--" ("open", "closed", "base", "mid", cheeks="blush") - her "But then boys from Gryffindor and other houses joined in and began making comments about my chest too." ("annoyed", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I'll admit, it wasn't bad at first..." ("open", "closed", "annoyed", "mid") + her @ cheeks blush "Chopping ingredients proved a bit difficult, my breasts kept pushing them off of the board, spilling onto the floor in front of me..." ("open", "base", "base", "mid") + her @ cheeks blush "But that was manageable until Professor Snape noticed it and loudly told me off and to pick them up..." ("angry", "narrow", "annoyed", "mid") + her @ cheeks blush "So it didn't take very long for all the students to notice what was going on..." ("open", "narrow", "base", "R") + her @ cheeks blush "At first, it was just those Slytherin delinquents..." ("angry", "narrow", "base", "mid") + her @ cheeks blush "And I can deal with them no problem, as you already know--" ("open", "closed", "base", "mid") + her @ cheeks blush "But then boys from Gryffindor and other houses joined in and began making remarks about my chest too." ("annoyed", "narrow", "base", "down") gen "What about the girls? Did any of them notice?" - her "Of course they did! One particular girl from Ravenclaw was saying that I'd done this to try and catch the eye of Professor Snape..." ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "As if!" ("open", "narrow", "annoyed", "mid", cheeks="blush") # annoyed, looking away + her @ cheeks blush "Of course they did! One particular girl from Ravenclaw was saying that I'd done this to try and catch the eye of Professor Snape..." ("open", "narrow", "annoyed", "mid") + her @ cheeks blush "As if!" ("open", "narrow", "annoyed", "mid") # annoyed, looking away gen "I'm sure they were merely jealous of your newfound assets." - her "You know what, you may be right." ("grin", "narrow", "annoyed", "mid", cheeks="blush") - her "Her friend kept staring at me the entire time, but whenever our eyes met she averted her gaze." ("base", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "You know what, you may be right." ("grin", "narrow", "annoyed", "mid") + her @ cheeks blush "Her friend kept staring at me the entire time, but whenever our eyes met she averted her gaze." ("base", "narrow", "annoyed", "mid") gen "Sounds like she was checking you out." - her "She was--" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "She was--" ("angry", "base", "base", "mid") gen "What happened next?" - her "*Ahem*... Well, the lesson was almost over... But that's when {i}it{/i} happened..." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "{i}It{/i}? [hermione_name]?" - her "Yes... I was doing my best to follow the potion recipe, but I must have gotten something wrong." ("angry", "narrow", "base", "down", cheeks="blush") - her "Maybe I was distracted... Or maybe I dropped something important..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Ahem*... Well, the lesson was almost over... But that's when {i}it{/i} happened..." ("angry", "narrow", "base", "mid") + gen "{i}It{/i}? [name_hermione_genie]?" + her @ cheeks blush "Yes... I was doing my best to follow the potion recipe, but I must have got something wrong." ("angry", "narrow", "base", "down") + her @ cheeks blush "Maybe I was distracted... Or maybe I dropped something important..." ("angry", "narrow", "base", "down") gen "Maybe you just were horny!" - her "Or maybe... I just couldn't see all the instructions because your concoction gave me those massive things..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Or maybe... I just couldn't see all the instructions because your concoction gave me those massive things..." ("annoyed", "narrow", "base", "mid") gen "Well... Whatever the case..." - $ camera.set(zoom=0.25, pos=(0, 0), image="CG breast expand classroom A1", trans=fade) + show her_potions_public_expand_breasts_a1 as cg: + pos (0, 0) + anchor (0, 0) + offset (-600, -200) + zoom 0.65 - her "The mixture exploded and knocked me right off my feet and onto the floor." ("open", "closed", "worried", "mid", cheeks="blush") - her "It was supposed to be a simple antidote! They're not supposed to explode!" ("angry", "base", "base", "mid", cheeks="blush") + parallel: + ease_quad 10.0 zoom 0.25 offset (0, 0) + with fade + + with hpunch + her @ cheeks blush "The mixture exploded and knocked me right off my feet and onto the floor." ("open", "closed", "worried", "mid") + her @ cheeks blush "It was supposed to be a simple antidote! They're not supposed to explode!" ("angry", "base", "base", "mid") gen "Yeah, tell me about it..." - her "I was completely covered in the remains of my potion, face blackened by soot, and there was a knot of goosegrass in my hair." ("disgust", "squint", "base", "mid", cheeks="blush") - her "And the explosion had also destroyed the only thing keeping my dignity intact--" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I was completely covered in the remains of my potion, face blackened by soot, and there was a knot of goosegrass in my hair." ("disgust", "squint", "base", "mid") + her @ cheeks blush "And the explosion had also destroyed the only thing keeping my dignity intact--" ("angry", "narrow", "base", "down") gen "Was it your twisted sense of justice?" - her "No, [genie_name], it was my vest! Which caused my breasts to flop out, giving the entire class a full view..." ("angry", "narrow", "base", "mid", cheeks="blush") - her "I must have looked ridiculous!" ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "No, [name_genie_hermione], it was my vest! Which caused my breasts to flop out, giving the entire class a full view..." ("angry", "narrow", "base", "mid") + her @ cheeks blush "I must have looked ridiculous!" ("open", "closed", "annoyed", "mid") gen "Don't be too hard on yourself, I am partially to blame for your breasts being seen in public, I admit--" - her "I'm talking about the soot on my face, [genie_name]." ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I'm talking about the soot on my face, [name_genie_hermione]." ("open", "narrow", "annoyed", "mid") gen "Oh..." - $ camera.set(image="CG breast expand classroom A2", trans=d5) + show her_potions_public_expand_breasts_a2 as cg - her "Luckily one of the boys there was nice enough to use his handkerchief to clean up my face." ("open", "squint", "base", "mid", cheeks="blush") - her "Of course he insisted I had gotten some on my breasts and that he had to help me clean that off as well..." ("base", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Luckily one of the boys there was nice enough to use his handkerchief to clean up my face." ("open", "squint", "base", "mid") + her @ cheeks blush "Of course he insisted I had gotten some on my breasts and that he had to help me clean that off as well..." ("base", "narrow", "base", "R") gen "*He-Heh*... Clever boy." - her "Then a fellow Gryffindor took a pity on me, and let me borrow her vest so that I had something to cover up with." ("open", "squint", "base", "mid", cheeks="blush") - her "I promised to give it back to her once I'd had time to shower and get changed, but she said I can keep it if I tell her where I got the swelling solution from." ("grin", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Then a fellow Gryffindor took a pity on me, and let me borrow her vest so that I had something to cover up with." ("open", "squint", "base", "mid") + her @ cheeks blush "I promised to give it back to her once I'd had time to shower and get changed, but she said I can keep it if I tell her where I got the swelling solution from." ("grin", "closed", "base", "mid") gen "Well, did you?" - her "I said that the brewer would like to remain anonymous, as to not expose our arrangement." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "I said that the brewer would like to remain anonymous, as to not expose our arrangement." ("open", "squint", "base", "R") gen "I see... I suppose that's for the best." - her "Professor Snape of course, took this as a chance to lecture the others on the dangers of swelling solutions." ("angry", "narrow", "base", "R", cheeks="blush") - her "Saying that I had obviously been more concerned with getting everyone's attention than following his directions!" ("disgust", "base", "base", "mid", cheeks="blush") - her "Even going so far as implying that I had deliberately caused the accident so that I could show off my chest!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") - her "The very idea makes me fume with anger!" ("clench", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Professor Snape, of course, took this as a chance to lecture the others on the dangers of swelling solutions." ("angry", "narrow", "base", "R") + her @ cheeks blush "Saying that I had obviously been more concerned with getting everyone's attention than following his directions!" ("disgust", "base", "base", "mid") + her @ cheeks blush "Even going so far as implying that I had deliberately caused the accident so that I could show off my chest!" ("angry", "narrow", "annoyed", "mid") + her @ cheeks blush "The very idea makes me fume with anger!" ("clench", "closed", "annoyed", "mid") gen "Well, you did just tell me at the beginning that you enjoyed having that boy pay more attention to you than where he was going." - hide screen animatedCG + hide cg with fade - her "That's... That's different!!" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "That's... That's different!!" ("angry", "squint", "worried", "mid") gen "How is it different?" ("base", xpos="far_left", ypos="head") - her "That was one boy... Not an entire classroom." ("open", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "That was one boy... Not an entire classroom." ("open", "squint", "worried", "mid") gen "What about that Ravenclaw girl, the one that has been staring at you the entire time?" ("base", xpos="far_left", ypos="head") gen "You're saying you didn't enjoy that?" ("base", xpos="far_left", ypos="head") - her "W-- Well maybe, but I'm not--" ("angry", "base", "worried", "down", cheeks="blush") - gen "Just admit it, [hermione_name], you enjoyed being seen in public, you just didn't like the circumstances in which it has happened." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "R", cheeks="blush") - her "You are not wrong. Still, what Professor Snape did was unnecessary..." ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "W-- Well maybe, but I'm not--" ("angry", "base", "worried", "down") + gen "Just admit it, [name_hermione_genie], you enjoyed being seen in public, you just didn't like the circumstances in which it has happened." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("angry", "narrow", "base", "R") + her @ cheeks blush "You are not wrong. Still, what Professor Snape did was unnecessary..." ("annoyed", "closed", "base", "mid") gen "I suppose I shall have to talk to Snape about this. I can't have him degrading my star pupil in front of all her classmates." ("base", xpos="far_left", ypos="head") - her "You will?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "You will?" ("angry", "base", "base", "mid") gen "Don't worry, I will explain to him that the mistake was my own doing. It won't happen again, I assure you." ("base", xpos="far_left", ypos="head") - her "Oh..." ("angry", "narrow", "base", "down", cheeks="blush") - her "*Ehm*... There's no need to go that far [genie_name]." ("open", "squint", "base", "mid", cheeks="blush") - her "I'm fine, really!" ("angry", "squint", "worried", "mid", cheeks="blush") - gen "No, no... This one's on me [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh..." ("angry", "narrow", "base", "down") + her @ cheeks blush "*Ehm*... There's no need to go that far [name_genie_hermione]." ("open", "squint", "base", "mid") + her @ cheeks blush "I'm fine, really!" ("angry", "squint", "worried", "mid") + gen "No, no... This one's on me [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "I never should have asked you to take that concoction and head to class." ("base", xpos="far_left", ypos="head") - her "I assure you it is--" ("mad", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "I assure you it is--" ("mad", "base", "worried", "mid") gen "Professor Snape is the potions master after all, if he thinks these types of potions are dangerous--" ("base", xpos="far_left", ypos="head") - her "Professor Dumbledore!" ("scream", "happyCl", "base", "mid", cheeks="blush") #closed #yelling #blush - her "I-I mean, [genie_name]..." ("angry", "narrow", "base", "down", cheeks="blush") # apologetic - gen "Oh alright, if you don't want me to interfere then I guess I won't." ("base", xpos="far_left", ypos="head") - her "Thank you." ("open", "squint", "base", "R", cheeks="blush") # smile :) + her @ cheeks blush "Professor Dumbledore!" ("scream", "happyCl", "base", "mid") #closed #yelling #blush + her @ cheeks blush "I-I mean, [name_genie_hermione]..." ("angry", "narrow", "base", "down") # apologetic + gen "Oh alright, if you don't want me to interfere, then I guess I won't." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you." ("open", "squint", "base", "R") # smile :) gen "I guess we're done here." ("base", xpos="far_left", ypos="head") - gen "Well done [hermione_name], {number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "May I please be excused?" ("angry", "closed", "base", "mid", cheeks="blush") + gen "Well done [name_hermione_genie], {number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "May I please be excused?" ("angry", "closed", "base", "mid") gen "Somewhere you need to be?" ("base", xpos="far_left", ypos="head") - her "Yes... I need to... *Ehm*..." ("disgust", "squint", "base", "R", cheeks="blush") - gen "I see. Some time alone in your bed is exactly what you need I think." ("base", xpos="far_left", ypos="head") - her "That's--" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes... I need to... *Ehm*..." ("disgust", "squint", "base", "R") + gen "I see... Some time alone in your bed is what you need, I think." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "That's--" ("angry", "base", "base", "mid") gen "We both know I'm right, there's no point hiding it." ("base", xpos="far_left", ypos="head") - gen "Talk to you later, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Good night then [genie_name]..." ("angry", "narrow", "base", "R", cheeks="blush") # blushing + gen "Talk to you later, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Good night then [name_genie_hermione]..." ("angry", "narrow", "base", "R") # blushing else: #Repeat - her "Hello [genie_name]..." ("open", "squint", "base", "R") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Hello [name_genie_hermione]..." ("open", "squint", "base", "R") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "How's your day been?" ("base", xpos="far_left", ypos="head") - her "Pretty good thanks." ("open", "closed", "base", "mid") + her "Pretty good, thanks." ("open", "closed", "base", "mid") her "Can't complain, you know." ("base", "narrow", "base", "down") gen "Good to hear, anything unusual happen?" ("base", xpos="far_left", ypos="head") - her "*Hmm*... Well, I caught the eye of more students than usual... Thanks to the potion you gave me." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*... Well, I caught the eye of more students than usual... Thanks to the potion you gave me." ("open", "squint", "base", "R") gen "I'm glad you're getting good use out of it." ("base", xpos="far_left", ypos="head") - her "Yes... {size=-4}Shame that it's not permanent...{/size}" ("base", "closed", "base", "mid", cheeks="blush") - her "Being gawked over by the boys, or being stared at jealously by the girls is quite the confidence boost." ("open", "squint", "base", "mid", cheeks="blush") - her "Although I think it's worth considering putting some sort of countermeasures up to prevent people from walking into things as much." ("base", "narrow", "base", "R", cheeks="blush") - her "If a big pair of breasts is enough to have students knock over suits of armours or smash into walls, it's only a matter of time until someone seriously hurts themselves." ("soft", "squint", "base", "R", cheeks="blush") - gen "That's easier said than done [hermione_name]... I'm not sure if you noticed, but this castle is made out of stone." ("base", xpos="far_left", ypos="head") - her "Of course I have, I'm just saying..." ("annoyed", "narrow", "base", "mid", cheeks="blush") - her "At least if we put some cushioning charms down it wouldn't be as bad." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes... {size=-4}Shame that it's not permanent...{/size}" ("base", "closed", "base", "mid") + her @ cheeks blush "Being gawked over by the boys, or being stared at jealously by the girls is quite the confidence boost." ("open", "squint", "base", "mid") + her @ cheeks blush "Although I think it's worth considering putting some sort of countermeasures up to prevent people from walking into things as much." ("base", "narrow", "base", "R") + her @ cheeks blush "If a big pair of breasts is enough to have students knock over suits of armours or smash into walls, it's only a matter of time until someone seriously hurts themselves." ("soft", "squint", "base", "R") + gen "That's easier said than done [name_hermione_genie]... I'm not sure if you noticed, but this castle is made from stone." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course I have, I'm just saying..." ("annoyed", "narrow", "base", "mid") + her @ cheeks blush "At least if we put some cushioning charms down it wouldn't be as bad." ("open", "closed", "base", "mid") gen "Or perhaps if you didn't entrance people with those big titties then they would pay attention to where they were going." ("base", xpos="far_left", ypos="head") - her "*Hmm*... Perhaps..." ("base", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*... Perhaps..." ("base", "narrow", "base", "R") gen "Anyway... Enough about outdated safety standards." ("base", xpos="far_left", ypos="head") gen "What lessons did you have today?" ("base", xpos="far_left", ypos="head") - her "Oh... We had double potions today, [genie_name]." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh... We had double potions today, [name_genie_hermione]." ("open", "squint", "base", "mid") gen "Good... I mean, alright." ("base", xpos="far_left", ypos="head") gen "So how did that go?" ("base", xpos="far_left", ypos="head") - her "*Hmm*... Fine I suppose..." ("open", "narrow", "base", "down", cheeks="blush") #annoyed + her @ cheeks blush "*Hmm*... Fine I suppose..." ("open", "narrow", "base", "down") #annoyed gen "Is that so? You don't sound very convincing." ("base", xpos="far_left", ypos="head") - her "*Hmph*... Well I was under the impression that I had gotten better at managing these things." ("angry", "closed", "base", "mid", cheeks="blush") - her "The vest helps a ton, I'm sure if I wasn't wearing it, it'd be a difficult task not to burst any of the buttons." ("open", "closed", "base", "mid", cheeks="blush") - gen "(Note to self... Remove vest from School uniform...)" ("base", xpos="far_left", ypos="head") - her "I only had a couple of vital steps left before finishing it up when one of the Slytherin students knocked the contents of my cauldron over me." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Hmph*... I thought I was getting better at handling these things." ("angry", "closed", "base", "mid") + her @ cheeks blush "The vest helps a ton, I'm sure if I wasn't wearing it, it'd be a difficult task not to burst any of the buttons." ("open", "closed", "base", "mid") + gen "(Note to self... Remove vest from school uniform...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I only had a couple of vital steps left before finishing it up when one of the Slytherin students knocked the contents of my cauldron over me." ("soft", "narrow", "base", "down") gen "Oh, dear... Are you alright?" ("base", xpos="far_left", ypos="head") - her "I'm fine... Only thing that was hurt was my pride..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I'm fine... The only thing that was hurt was my pride..." ("open", "narrow", "base", "R") - $ camera.set(zoom=0.25, pos=(0, 0), overlay=None, image="CG breast expand classroom B1", initialize=True) - show screen animatedCG + show her_potions_public_expand_breasts_b1 as cg zorder 17: + pos (0, 0) + anchor (0, 0) + offset (-600, -600) + zoom 0.65 + + parallel: + ease_quad 10.0 zoom 0.25 offset (0, 0) with fade - her "I must admit... That Slytherin boy was more clever than I'd give any of them credit for." ("annoyed", "narrow", "worried", "R", cheeks="blush") - her "I got completely covered in that horribly sticky mess..." ("disgust", "closed", "worried", "mid", cheeks="blush") - if not hg_kiss.trigger: + her @ cheeks blush "I must admit... That Slytherin boy was more clever than I'd give any of them credit for." ("annoyed", "narrow", "worried", "R") + her @ cheeks blush "I got completely covered in that horribly sticky mess..." ("disgust", "closed", "worried", "mid") + if not states.her.status.cumshot: gen "I'm sure you'll get used to it..." else: gen "You'd think you'd be used to that sort of thing." - her "Sorry?" ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Sorry?" ("soft", "narrow", "base", "down") gen "Nothing... Please continue..." - her "In any case... That unfinished potion nearly destroyed my clothing." ("disgust", "closed", "worried", "mid", cheeks="blush") - her "So yet again I ended up giving the whole class a good view of those bloody things." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "In any case... That unfinished potion nearly destroyed my clothing." ("disgust", "closed", "worried", "mid") + her @ cheeks blush "So yet again I ended up giving the whole class a good view of those bloody things." ("soft", "narrow", "base", "down") gen "I'm sure they didn't mind." - her "I'm sure..." ("soft", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I'm sure..." ("soft", "narrow", "base", "R") - $ camera.set(image="CG breast expand classroom B2", trans=d5) + show her_potions_public_expand_breasts_b2 as cg - her "The Slytherins, even though they were howling with laughter were all staring me down as I sat there getting rid of that sticky potion..." ("disgust", "narrow", "base", "mid", cheeks="blush") - her "Even the Gryffindors didn't even pretend to avert their gaze." ("annoyed", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "The Slytherins, even though they were howling with laughter, were all staring me down as I sat there getting rid of that sticky potion..." ("disgust", "narrow", "base", "mid") + her @ cheeks blush "Even the Gryffindors didn't even pretend to avert their gaze." ("annoyed", "wink", "base", "mid") gen "Well, you're an attractive girl, It'd be an insult if they did." - her "And Professor Snape, yet again made sure to bring me up in front of the class to give some long-winded lecture on how important it is to let the stabilizing agent take effect before transferring your potion." ("angry", "narrow", "base", "mid", cheeks="blush") - her "Trying to embarrass me no doubt..." ("annoyed", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "And Professor Snape, yet again, made sure to bring me up in front of the class to give some long-winded lecture on how important it is to let the stabilizing agent take effect before transferring your potion." ("angry", "narrow", "base", "mid") + her @ cheeks blush "Trying to embarrass me, no doubt..." ("annoyed", "narrow", "base", "R") gen "Safety first." - her "..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "narrow", "base", "mid") - hide screen animatedCG + hide cg with fade - gen "Sounds to me like you've earned yourself some points today, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Oh... Yes, the points..." ("grin", "narrow", "base", "down", cheeks="blush") + gen "Sounds to me like you've earned yourself some points today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Yes, the points..." ("grin", "narrow", "base", "down") gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("grin", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank you [name_genie_hermione]..." ("grin", "closed", "base", "mid") gen "Before you leave... Just out of curiosity..." ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes [name_genie_hermione]?" ("open", "squint", "base", "mid") gen "What happened to that top of yours?" ("base", xpos="far_left", ypos="head") - her "Oh... Well, apparently potion damage is quite common so I was able to procure a new set." ("open", "squint", "base", "mid") + her "Oh... Well, apparently potion damage is quite common, so I was able to procure a new set." ("open", "squint", "base", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") her "Yes, I was told this was the fourth time this week!" ("open", "squint", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "(Better not mention that in my report...)" ("base", xpos="far_left", ypos="head") - gen "Very well [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Very well [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "That will do for today." ("base", xpos="far_left", ypos="head") - her "Alright, good night then [genie_name]." ("base", "base", "base", "mid") - gen "Good night [hermione_name]." ("base", xpos="far_left", ypos="head") + her "Alright, good night then [name_genie_hermione]." ("base", "base", "base", "mid") + gen "Good night [name_hermione_genie]." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ her_breast_expand_drank = True - $ her_breast_expand_effects_known = True + $ states.her.ev.potions.breast_expand_drank = True + $ states.her.ev.potions.breast_expand_known = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/potions/check.rpy b/game/scripts/characters/hermione/events/potions/check.rpy index 83ca91f6..befd486a 100644 --- a/game/scripts/characters/hermione/events/potions/check.rpy +++ b/game/scripts/characters/hermione/events/potions/check.rpy @@ -1,7 +1,7 @@ label her_potion_check: - gen "[hermione_name]." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("soft", "base", "base", "mid", xpos="mid", ypos="base", trans=d5) + gen "[name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("soft", "base", "base", "mid", xpos="mid", ypos="base", trans=d5) gen "I'd like you to try out some potions of mine." ("base", xpos="far_left", ypos="head") her "Potions?" ("open", "squint", "base", "mid") her "What kind of potions are we talking about?" ("open", "squint", "base", "mid") diff --git a/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy b/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy index 3a90a7e9..750aec20 100644 --- a/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy +++ b/game/scripts/characters/hermione/events/potions/polyjuice_cat.rpy @@ -1,17 +1,12 @@ -default her_polyjuice_drank = False -default her_polyjuice_cat_drank = False -default her_polyjuice_cat_blowjob = False -default her_polyjuice_cat_stage_two = False - label potion_cat_make: call give_reward(_("You have successfully created a new potion!"), cat_potion_ITEM) - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" gen "Yep..." ("base", xpos="far_left", ypos="head") - gen "Smells like a wet pussy all right..." ("base", xpos="far_left", ypos="head") - gen "Not the kind I'd like to drink from though." ("base", xpos="far_left", ypos="head") + gen "Smells like a wet pussy, all right..." ("base", xpos="far_left", ypos="head") + gen "Not the kind I'd like to drink from, though." ("base", xpos="far_left", ypos="head") return label her_potion_cat_give: @@ -19,32 +14,32 @@ label her_potion_cat_give: if hermione.is_worn("robe"): gen "Before we begin... Why don't you take those robes off and make yourself comfortable." ("base", xpos="far_left", ypos="head") her "Alright..." ("soft", "squint", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") with d3 gen "Now then..." ("base", xpos="far_left", ypos="head") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("open", "base", "base", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid") - if not her_polyjuice_drank: - $ her_polyjuice_drank = True + if not states.her.ev.potions.polyjuice_drank: + $ states.her.ev.potions.polyjuice_drank = True gen "I've got a potion here that I'd like you to try..." ("base", xpos="far_left", ypos="head") - call nar(">You bring out the thick potion and hand it to Hermione.") + nar "You bring out the thick potion and hand it to Hermione." call her_chibi("hold_potion","mid","base") with d3 - if her_whoring < 16: + if states.her.level < 16: her "A potion? What kind of potion is it? It looks gross..." ("disgust", "happy", "base", "mid") gen "Wouldn't it spoil half of the enjoyment if I told you?" ("base", xpos="far_left", ypos="head") - her "Depends whose enjoyment you're talking about..." ("angry", "narrow", "base", "mid") + her "Depends on whose enjoyment you're talking about..." ("angry", "narrow", "base", "mid") gen "Twenty points." ("base", xpos="far_left", ypos="head") her "*Hmm*...{w=0.4} Can't you tell me what kind of potion it is?" ("annoyed", "wink", "base", "mid") her "Polyjuice? Babbling Beverage? Shrinking solution?" ("open", "squint", "base", "mid") - gen "That's going to have to stay a secret, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "That's going to have to stay a secret, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "base", "down") - gen "Well [hermione_name], what do you say? Will you drink a harmless little potion?" ("base", xpos="far_left", ypos="head") + gen "Well [name_hermione_genie], what do you say? Will you drink a harmless little potion?" ("base", xpos="far_left", ypos="head") gen "For Gryffindor?" ("base", xpos="far_left", ypos="head") her "Fine..." ("open", "narrow", "base", "down") @@ -56,10 +51,10 @@ label her_potion_cat_give: call her_chibi("sniff_potion","mid","base") pause 0.2 - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" pause 0.6 call her_chibi("hold_potion","mid","base") - call nar(">Hermione takes a quick sniff of the potion.") + nar "Hermione takes a quick sniff of the potion." her "It smells disgusting. Like mud and wet dog fur." ("angry", "happyCl", "base", "mid") gen "I suggest blocking your nose if the smell is too much." ("base", xpos="far_left", ypos="head") @@ -68,42 +63,42 @@ label her_potion_cat_give: else: gen "Ready to try another potion?" ("base", xpos="far_left", ypos="head") - call nar(">You bring out the thick potion and swirl it in front of Hermione.") + nar "You bring out the thick potion and swirl it in front of Hermione." her "Is this another Polyjuice potion?" ("open", "squint", "base", "mid") gen "...{w=0.5}no?" ("base", xpos="far_left", ypos="head") her "You're lying..." ("open", "closed", "base", "mid") - if her_whoring < 16: + if states.her.level < 16: her "Do I have to?" ("angry", "narrow", "base", "mid") - gen "You don't have to do anything [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "You don't have to do anything [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "But if you do decide to, it would make me very happy...." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "squint", "base", "mid") - gen "And there's some points in it for you as well..." ("base", xpos="far_left", ypos="head") + gen "And there are some points in it for you as well..." ("base", xpos="far_left", ypos="head") else: her "But I'll drink it if you really want me to." ("base", "base", "base", "mid") gen "Great, here you go!" ("base", xpos="far_left", ypos="head") - call nar(">Hermione grabs the potion and brings it up to her mouth.") + nar "Hermione grabs the potion and brings it up to her mouth." her "Here we go then..." ("angry", "squint", "base", "mid") call her_chibi("drink_potion","mid","base") pause 0.6 - $ renpy.sound.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" pause 0.8 call her_chibi("stand","mid","base") - call nar(">Hermione downs the thick potion.") + nar "Hermione downs the thick potion." her "*Bleugh*." ("open_tongue", "happyCl", "base", "mid") gen "Well done." ("base", xpos="far_left", ypos="head") - if not her_polyjuice_cat_drank: + if not states.her.ev.potions.polyjuice_cat_drank: her "I did it..." ("angry", "happy", "base", "mid") her "Now will you at least tell me what this potion does?" ("disgust", "base", "base", "mid") - if her_breast_expand_drank: + if states.her.ev.potions.breast_expand_drank: her "Is it supposed to make my breasts bigger? They don't feel any bigger." ("open", "base", "base", "mid") gen "That's not it... Maybe you should just head back to class in that case... I could've sworn I did it right..." ("base", xpos="far_left", ypos="head") @@ -112,41 +107,41 @@ label her_potion_cat_give: gen "Aaaany second..." ("base", xpos="far_left", ypos="head") gen "Unless..." ("base", xpos="far_left", ypos="head") her "Unless?" ("angry", "base", "base", "mid") - gen "Well maybe one of the ingredients..." ("base", xpos="far_left", ypos="head") + gen "Well, maybe one of the ingredients..." ("base", xpos="far_left", ypos="head") gen "Never mind..." ("base", xpos="far_left", ypos="head") her "What was it supposed to do?" ("angry", "happy", "base", "mid") gen "There's no point in telling you now. It was going to be a surprise." ("base", xpos="far_left", ypos="head") - gen "You may head back to class, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You may head back to class, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Oh, okay then." ("soft", "happy", "base", "mid") gen "Twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 20 - her "Thank you [genie_name]." ("base", "base", "base", "mid") + her "Thank you [name_genie_hermione]." ("base", "base", "base", "mid") else: her "Here we go again I suppose..." ("angry", "narrow", "base", "down") her "Nothing's happening..." ("disgust", "narrow", "base", "down") gen "You'll just have to wait for a bit, remember?" ("base", xpos="far_left", ypos="head") gen "So you best head back to class for now." ("base", xpos="far_left", ypos="head") - if her_reputation < 15: #Before she'd enjoy to have her look like a cat in class - her "Great... Can't wait for the effects to kick in... It was bad enough the first time..." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "I'm sure ten extra points should make it worth it, [hermione_name]." ("base", xpos="far_left", ypos="head") + if states.her.public_level < 15: #Before she'd enjoy having her look like a cat in class + her @ cheeks blush "Great... Can't wait for the effects to kick in... It was bad enough the first time..." ("angry", "narrow", "base", "mid") + gen "I'm sure ten extra points should make it worth it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Thirty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 30 - her "... Thank you [genie_name]." ("open", "squint", "base", "mid") + her "... Thank you [name_genie_hermione]." ("open", "squint", "base", "mid") else: #When she'd enjoy showing herself off as a cat in class - her "Okay then..." ("open", "narrow", "base", "down", cheeks="blush") - her "I wonder what they'll think when they see me like this again..." ("base", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Okay then..." ("open", "narrow", "base", "down") + her @ cheeks blush "I wonder what they'll think when they see me like this again..." ("base", "narrow", "base", "R") gen "I'm sure they'll enjoy it." ("base", xpos="far_left", ypos="head") - her "I'm sure..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I'm sure..." ("open", "narrow", "base", "R") gen "Oh, before I forget." ("base", xpos="far_left", ypos="head") gen "Twenty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 20 - her "Thank you [genie_name]." ("open", "squint", "base", "mid") + her "Thank you [name_genie_hermione]." ("open", "squint", "base", "mid") call her_walk(action="leave") $ cat_potion_ITEM.set_active("hermione") @@ -155,26 +150,26 @@ label her_potion_cat_give: label her_potion_cat_return: #Scene where Hermione comes back after class, angry and confused at being given cat ears and a tail. - call play_music("stop") + stop music fadeout 1 $ her_outfit_last.save() $ hermione.equip(her_outfit_cat1, remove_old=False) $ hermione.strip("robe") call her_walk(action="enter", xpos="mid", ypos="base") - if not her_polyjuice_cat_drank: - $ her_polyjuice_cat_drank = True + if not states.her.ev.potions.polyjuice_cat_drank: + $ states.her.ev.potions.polyjuice_cat_drank = True her "" ("annoyed", "squint", "annoyed", "mid") call ctc gen "Nice ears..." ("base", xpos="far_left", ypos="head") - her "How could you do this to me [genie_name]?" ("open", "squint", "annoyed", "mid") + her "How could you do this to me [name_genie_hermione]?" ("open", "squint", "annoyed", "mid") - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "I can't believe you'd try and turn me into a cat in the middle of class!" ("upset", "squint", "annoyed", "mid") - gen "I didn't try to turn you into a cat, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "I didn't try to turn you into a cat, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Then why do I have ears and a tail?" ("disgust", "base", "annoyed", "mid") menu: @@ -199,39 +194,39 @@ label her_potion_cat_return: her "May I go now?" ("open", "base", "base", "mid") else: - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - her "I can't believe you had me drink another one of these potions..." ("disgust", "squint", "base", "down", cheeks="blush", trans=d3) + her @ cheeks blush "I can't believe you had me drink another one of these potions..." ("disgust", "squint", "base", "down", trans=d3) gen "What's the problem? I think you look cute..." ("base", xpos="far_left", ypos="head") - her "I'm a Cat! Polyjuice isn't supposed to be used this way!" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I'm a Cat! Polyjuice isn't supposed to be used this way!" ("angry", "base", "base", "mid") - if her_reputation < 15: #Before she'd enjoy to have her look like a cat in class - her "People kept making fun of me and pulling my tail in class!" ("angry", "narrow", "base", "mid", cheeks="blush") + if states.her.public_level < 15: #Before she'd enjoy to have her look like a cat in class + her @ cheeks blush "People kept making fun of me and pulling my tail in class!" ("angry", "narrow", "base", "mid") gen "And how did that make you feel?" ("base", xpos="far_left", ypos="head") - her "Humiliated!" ("angry", "happyCl", "base", "mid", cheeks="blush") - her "They kept asking if I was been a good kitty and if I wanted scratches..." ("disgust", "squint", "base", "mid", cheeks="blush") - her "And you know the worst thing?" ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Humiliated!" ("angry", "happyCl", "base", "mid") + her @ cheeks blush "They kept asking if I had been a good kitty and if I wanted scratches..." ("disgust", "squint", "base", "mid") + her @ cheeks blush "And you know the worst thing?" ("angry", "base", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "The darn potion made me want the scratches..." ("angry", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "The darn potion made me want the scratches..." ("angry", "narrow", "worried", "R") gen "I see...{w=0.5} then we at least learnt something new here today." ("base", xpos="far_left", ypos="head") else: #High - her "My class mates sure seemed to enjoy it though..." ("angry", "narrow", "base", "down", cheeks="blush") - her "One of the boys were entranced by the motion of my tail..." ("open", "closed", "base", "mid", cheeks="blush") - her "It seemed to have its own mind..." ("angry", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "My classmates sure seemed to enjoy it though..." ("angry", "narrow", "base", "down") + her @ cheeks blush "One of the boys was entranced by the motion of my tail..." ("open", "closed", "base", "mid") + her @ cheeks blush "It seemed to have its own mind..." ("angry", "closed", "base", "mid") gen "And how did that make you feel?" ("base", xpos="far_left", ypos="head") - her "I'm not sure..." ("normal", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I'm not sure..." ("normal", "squint", "base", "mid") - her "Are we done here?" ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Are we done here?" ("open", "squint", "base", "R") label .choices: menu: "-Let her go-": - gen "Very well, [hermione_name]. You've done what I've asked of you so be a good kitty and go to bed." ("base", xpos="far_left", ypos="head") + gen "Very well, [name_hermione_genie]. You've done what I've asked of you, so be a good kitty and go to bed." ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "base", "mid") gen "Unless there was anything else?" ("base", xpos="far_left", ypos="head") her "No..." ("open", "closed", "base", "mid") - her "Goodnight then, [genie_name]..." ("open", "base", "base", "mid") + her "Goodnight then, [name_genie_hermione]..." ("open", "base", "base", "mid") call her_walk(action="leave") $ hermione.equip(her_outfit_last) @@ -245,13 +240,13 @@ label her_potion_cat_return: gen "Not yet." ("base", xpos="far_left", ypos="head") gen "I do believe we could do better than this." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "base", "base", "mid") - call nar(">You bring out another polyjuice potion and swirl it in front of Hermione.") - if not her_polyjuice_cat_stage_two: #Not turned her into more of a cat - $ her_polyjuice_cat_stage_two = True + her "[name_genie_hermione]?" ("angry", "base", "base", "mid") + nar "You bring out another polyjuice potion and swirl it in front of Hermione." + if not states.her.ev.potions.polyjuice_cat_furry: #Not turned her into more of a cat + $ states.her.ev.potions.polyjuice_cat_furry = True $ cat_potion_ITEM.owned -= 1 - her "You're joking right?" ("disgust", "narrow", "base", "mid") + her "You're joking, right?" ("disgust", "narrow", "base", "mid") gen "Surely you must be curious what another one would do?" ("base", xpos="far_left", ypos="head") her "But what if it turns me completely into a cat?" ("clench", "squint", "base", "mid") gen "I suppose I might have to hide the bird..." ("base", xpos="far_left", ypos="head") @@ -259,20 +254,20 @@ label her_potion_cat_return: gen "Come on now, what's another harmless little potion going to do?" ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("annoyed", "narrow", "base", "down") gen "I'll give you thirty more points..." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("angry", "narrow", "base", "down") her "Are you really sure it's safe?" ("open", "squint", "base", "mid") - gen "Of course! You're not doubting my brewing abilities are you?" ("base", xpos="far_left", ypos="head") + gen "Of course! You're not doubting my brewing abilities, are you?" ("base", xpos="far_left", ypos="head") her "I... I suppose not..." ("angry", "narrow", "base", "down") her "Alright then..." ("angry", "base", "base", "mid") - call nar(">Hermione grabs the potion and brings and readies herself to drink it.") + nar "Hermione grabs the potion and brings and readies herself to drink it." call her_chibi("hold_potion","mid","base") her "Here I go..." ("open", "happyCl", "base", "down") call her_chibi("drink_potion","mid","base") pause 0.6 - $ renpy.sound.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" pause 0.8 call her_chibi("stand","mid","base") @@ -282,7 +277,7 @@ label her_potion_cat_return: her "..." ("disgust", "base", "base", "mid") her "What now? It took some time for the first one to--" ("open", "base", "base", "mid") - call play_sound("magic") + play sound "sounds/magic4.ogg" show screen gfx_effect(584, 340, img="smoke", zoom=0.85) $ hermione.equip(her_outfit_cat2, remove_old=False) @@ -297,32 +292,32 @@ label her_potion_cat_return: if hermione.is_worn("bottom"): her "And my legs are so... Itchy!" ("clench", "narrow", "base", "down") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom") call ctc pause .5 her "My legs!" ("angry", "wide", "base", "down") gen "{size=+2}*HA-HA-HA*!!{/size}" ("grin", xpos="far_left", ypos="head") - her "[genie_name]! Would you stop laughing?" ("disgust", "squint", "annoyed", "mid") + her "[name_genie_hermione]! Would you stop laughing?" ("disgust", "squint", "annoyed", "mid") menu: "-Tease her-": gen "*Ha-hah*! Or what? Going to scratch me?" ("grin", xpos="far_left", ypos="head") "-Calm yourself-": gen "*Ah-ha-ha*...{w=0.4} Ah...{w=0.4} That was funny..." ("grin", xpos="far_left", ypos="head") her "Are you done?" ("disgust", "narrow", "annoyed", "mid") - gen "I--{w=0.2} *Heh*...{w=0.4} Yes think so..." ("grin", xpos="far_left", ypos="head") + gen "I--{w=0.2} *Heh*...{w=0.4} Yes, I think so..." ("grin", xpos="far_left", ypos="head") her "Why did I drink another one... How am I supposed to face the other--" ("clench", "narrow", "worried", "down") gen "*Hah-Hah* Your face! You should've seen the look on your--" ("grin", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/hiss_girl.ogg") + play sound "sounds/hiss_girl.ogg" her "..." ("mad", "base", "angry", "mid") #Hissing - her "..." ("disgust", "wide", "base", "down", cheeks="blush") #Wide eyed - gen "{size=+5}*Pwah-Ha-Ha-Hah!*{/size}" ("grin", xpos="far_left", ypos="head") - her "I can't believe you!" ("scream", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "wide", "base", "down") #Wide eyed + gen "{size=+5}*Pwah-Ha-Ha-Hah*!{/size}" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I can't believe you!" ("scream", "base", "annoyed", "mid") call her_walk(action="leave") - $ her_mood += 15 + $ states.her.mood += 15 #Hermione never gets the extra points $ hermione.equip(her_outfit_last) @@ -333,7 +328,7 @@ label her_potion_cat_return: her "Are you serious? You know what happened last time!" ("clench", "base", "base", "mid") gen "More the reason to do it again!" ("grin", xpos="far_left", ypos="head") - if her_whoring < 22: #Fail + if states.her.level < 22: #Fail her "No, I am not humiliating myself like this again..." ("disgust", "narrow", "base", "mid") gen "(I guess she isn't ready for another dose yet, maybe I should train her more first...)" ("base", xpos="far_left", ypos="head") @@ -346,83 +341,83 @@ label her_potion_cat_return: else: #Success $ cat_potion_ITEM.owned -= 1 - her "Fine... I'll do it..." ("disgust", "narrow", "base", "down", cheeks="blush") #blushing + her @ cheeks blush "Fine... I'll do it..." ("disgust", "narrow", "base", "down") #blushing gen "You will?" ("grin", xpos="far_left", ypos="head") - her "Yes..." ("open", "closed", "base", "mid", cheeks="blush") - her "Just hand me the potion..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes..." ("open", "closed", "base", "mid") + her @ cheeks blush "Just hand me the potion..." ("open", "narrow", "base", "mid") - call nar(">Hermione grabs the potion and brings and readies herself to drink it.") + nar "Hermione grabs the potion and brings and readies herself to drink it." call her_chibi("hold_potion","mid","base") call her_chibi("drink_potion","mid","base") pause 0.6 - $ renpy.sound.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" pause 0.8 call her_chibi("stand","mid","base") her "*Ah*..." ("open_tongue", "happyCl", "base", "mid") gen "You did it!" ("grin", xpos="far_left", ypos="head") - her "Did you not want me to?" ("annoyed", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Did you not want me to?" ("annoyed", "squint", "base", "mid") gen "Yes, although I was sure you'd refuse to do it again..." ("base", xpos="far_left", ypos="head") - her "*Hmph*... Well I just thought--" ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmph*... Well, I just thought--" ("open", "narrow", "base", "R") gen "Did you enjoy those paws last time perhaps?" ("base", xpos="far_left", ypos="head") - her "What do you--" ("clench", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "What do you--" ("clench", "base", "base", "mid") - call play_sound("magic") + play sound "sounds/magic4.ogg" show screen gfx_effect(584, 340, img="smoke", zoom=0.85) $ hermione.equip(her_outfit_cat3, remove_old=False) - her "" ("clench", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "" ("clench", "narrow", "base", "down") gen "*Hah-ha-Hah*!" ("grin", xpos="far_left", ypos="head") - her "There, I've drank it..." ("angry", "base", "base", "mid", cheeks="blush") - her "[genie_name]!" + her @ cheeks blush "There, I've drunk it..." ("angry", "base", "base", "mid") + her "[name_genie_hermione]!" gen "*Ha-Ha-Ha*!" ("grin", xpos="far_left", ypos="head") gen "Your face!" ("grin", xpos="far_left", ypos="head") - her "My... What's wrong with my--" ("angry", "narrow", "base", "down", cheeks="blush") - her "I've got whiskers!" ("scream", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "My... What's wrong with my--" ("angry", "narrow", "base", "down") + her @ cheeks blush "I've got whiskers!" ("scream", "wide", "base", "mid") gen "And a cute little nose too!" ("grin", xpos="far_left", ypos="head") - her "Breathe Hermione..." ("angry", "closed", "base", "mid", cheeks="blush") - her "It's just polyjuice, it's only temporary..." ("normal", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Breathe Hermione..." ("angry", "closed", "base", "mid") + her @ cheeks blush "It's just polyjuice, it's only temporary..." ("normal", "closed", "base", "mid") gen "Now, do the thing again!" ("grin", xpos="far_left", ypos="head") - her "What thing?" ("angry", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "What thing?" ("angry", "squint", "worried", "mid") gen "The hissing thing, it was hilarious!" ("grin", xpos="far_left", ypos="head") - her "I-- I can't!" ("clench", "happyCl", "base", "mid", cheeks="blush") - her "I didn't do it on purpose!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I-- I can't!" ("clench", "happyCl", "base", "mid") + her @ cheeks blush "I didn't do it on purpose!" ("angry", "narrow", "annoyed", "mid") gen "Come on now! Just try it!" ("grin", xpos="far_left", ypos="head") - her "I... Fine!" ("disgust", "narrow", "base", "mid", cheeks="blush") - call nar(">Hermione readies herself to hiss.") - her "*Ahem*..." ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I... Fine!" ("disgust", "narrow", "base", "mid") + nar "Hermione readies herself to hiss." + her @ cheeks blush "*Ahem*..." ("angry", "squint", "base", "mid") - $ renpy.sound.play("sounds/hiss_girl_fail.ogg") - her "*Snort*...{w=0.4}{nw}" ("shock", "squint", "base", "mid", cheeks="blush") - her "*Snort*...{fast}" ("disgust", "squint", "base", "mid", cheeks="blush") + play sound "sounds/hiss_girl_fail.ogg" + her @ cheeks blush "*Snort*...{w=0.4}{nw}" ("shock", "squint", "base", "mid") + her @ cheeks blush "*Snort*...{fast}" ("disgust", "squint", "base", "mid") gen "*Pwha-ha-ha*!!!" ("grin", xpos="far_left", ypos="head") gen "That was so bad!" ("grin", xpos="far_left", ypos="head") gen "Come on, do it for real this time!" ("grin", xpos="far_left", ypos="head") - her "I was trying to!" ("angry", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I was trying to!" ("angry", "happyCl", "annoyed", "mid") gen "*Ha-Hah-Ha*!" ("grin", xpos="far_left", ypos="head") gen "You sounded like an angry badger!" ("grin", xpos="far_left", ypos="head") - her "It's not funny!" ("clench", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "It's not funny!" ("clench", "squint", "worried", "mid") gen "*Ha-ha-ha*!" ("grin", xpos="far_left", ypos="head") - her "I can't believe you!" ("angry", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "I can't believe you!" ("angry", "happyCl", "base", "mid") call her_walk("door", "base") gen "Watch the--" ("base", xpos="far_left", ypos="head") call her_chibi("leave") - call play_sound("kick") + play sound "sounds/kick.ogg" pause .5 - $ renpy.sound.play("sounds/cat_scream.ogg") + play sound "sounds/cat_scream.ogg" pause .8 gen "Tail..." ("base", xpos="far_left", ypos="head") - $ her_mood += 15 + $ states.her.mood += 15 $ hermione.equip(her_outfit_last) jump end_hermione_event - "-Ask for a blowjob-": + "-Ask her for a blowjob-": pass gen "I suppose..." ("base", xpos="far_left", ypos="head") @@ -430,24 +425,24 @@ label her_potion_cat_return: her "By doing what?" ("open", "happy", "base", "mid") gen "By putting that mouth around my cock." ("base", xpos="far_left", ypos="head") - if not her_polyjuice_cat_blowjob: + if not states.her.ev.potions.polyjuice_cat_blowjob: - if not hg_blowjob.trigger: #Fail + if not states.her.status.blowjob: #Fail her "You want me to--" ("angry", "base", "base", "mid") - her "[genie_name]!" ("angry", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "base", "annoyed", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "I can't believe you'd ask such a thing!" ("angry", "base", "angry", "mid", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "I can't believe you'd ask such a thing!" ("angry", "base", "angry", "mid") gen "Surely we can't waste this opportunity!" ("base", xpos="far_left", ypos="head") - her "Yes we can!" ("angry", "narrow", "angry", "mid", cheeks="blush") - $ her_mood += 15 + her @ cheeks blush "Yes we can!" ("angry", "narrow", "angry", "mid") + $ states.her.mood += 15 else: her "I am not doing that when looking like this!" ("angry", "base", "annoyed", "mid") gen "But it'd be such a wasted opportunity!" ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "annoyed", "mid") - gen "(Perhaps if she had already given me a blowjob in her normal form she'd be more willing to agree.)" ("base", xpos="far_left", ypos="head") + gen "(Perhaps if she had already given me a blowjob in her normal form, she'd be more willing to agree.)" ("base", xpos="far_left", ypos="head") gen "Fine..." ("base", xpos="far_left", ypos="head") gen "You may leave." ("base", xpos="far_left", ypos="head") @@ -458,7 +453,7 @@ label her_potion_cat_return: else: #Success her "Right now? I look like a cat! Why would you ask me at a time like this?" ("angry", "squint", "base", "mid") - her "You're not some sort of pervert who likes animals are you?" ("disgust", "narrow", "base", "mid") + her "You're not some sort of pervert who likes animals, are you?" ("disgust", "narrow", "base", "mid") gen "Of course not, I just think that you have a very unique look at the moment and that it would be a shame not to do anything with it." ("base", xpos="far_left", ypos="head") gen "I'll give you Twenty extra points..." ("base", xpos="far_left", ypos="head") her "Fine... Just promise me you aren't going to do anything weird." ("disgust", "narrow", "base", "down") @@ -466,26 +461,26 @@ label her_potion_cat_return: her "You know what I meant..." ("disgust", "narrow", "base", "mid") if hermione.is_any_worn("top", "bra", "bottom", "panties", "stockings"): gen "Now, take your clothes off for me..." ("base", xpos="far_left", ypos="head") - her "Alright..." ("open", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright..." ("open", "wink", "base", "mid") else: #Sucked him off as a cat before her "Again?" ("angry", "happy", "base", "mid") her "I thought you found my tongue was too rough in this state?" ("open", "happy", "base", "mid") gen "Well, the purring certainly made well up for that aspect." ("base", xpos="far_left", ypos="head") - her "Okay then..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Okay then..." ("open", "base", "base", "mid") if hermione.is_any_worn("top", "bra", "bottom", "panties", "stockings"): - her "Let me just take this off..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Let me just take this off..." ("base", "narrow", "base", "down") if hermione.is_any_worn("top", "bra", "bottom", "panties", "stockings"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("top", "bottom", "bra", "panties", "stockings") pause .8 - her "" ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "base", "mid") call ctc gen "Purrfect... Now get that tail over here." ("grin", xpos="far_left", ypos="head") - her "Yes, [genie_name]." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes, [name_genie_hermione]." ("open", "squint", "base", "mid") #Chibi walks over and fade to black @@ -501,33 +496,33 @@ label her_potion_cat_return: pause.8 gen "Good girl." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "L", cheeks="blush", ypos="head", flip=False) - call nar(">Hermione now kneeling in front of you, takes you into her mouth.") + her @ cheeks blush "..." ("base", "narrow", "base", "L", ypos="head", flip=False) + nar "Hermione, now kneeling in front of you, takes you into her mouth." - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. call her_chibi_scene("bj", trans=d9) call ctc hide screen blkfade with d3 - if not her_polyjuice_cat_blowjob: + if not states.her.ev.potions.polyjuice_cat_blowjob: her "*Slurp*! *Gulp*! *Gltch*!" ("open_wide_tongue", "closed", "base", "mid") gen "Good god what is with your tongue?!" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d3) - her "*Ah*..." ("open", "squint", "base", "mid", cheeks="blush") - her "What do you mean, [genie_name]?" ("angry", "squint", "base", "mid") + her @ cheeks blush "*Ah*..." ("open", "squint", "base", "mid") + her "What do you mean, [name_genie_hermione]?" ("angry", "squint", "base", "mid") gen "It felt like Velcro!" ("angry", xpos="far_left", ypos="head") - her "You're the one that asked me to do this... A cat's tongue is a lot rougher than a human." ("mad", "narrow", "base", "mid") + her "You're the one who asked me to do this... A cat's tongue is a lot rougher than a human." ("mad", "narrow", "base", "mid") her "Do you want me to stop?" ("open", "wink", "base", "mid") gen "No, keep going, just try not to move that tongue too much." ("base", xpos="far_left", ypos="head") her "Okay." ("angry", "narrow", "base", "R") call her_chibi_scene("bj", trans=d3) - call nar(">Hermione swallows your cock again, taking care not to apply too much pressure with her tongue.") + nar "Hermione swallows your cock again, taking care not to apply too much pressure with her tongue." else: her "*Slurp*! *Gulp*! *Gltch*!" ("open_wide_tongue", "closed", "worried", "mid") gen "There's that tongue again...{w} could you try using your throat a bit more?" ("angry", xpos="far_left", ypos="head") @@ -537,70 +532,70 @@ label her_potion_cat_return: gen "That's it... Nice kitty..." ("grin", xpos="far_left", ypos="head") her "*Slurp*...{w=0.4} *Gltch*...{w=0.4} *Gulp*..." ("open_wide_tongue", "closed", "base", "mid") gen "So, you still went to all your classes?" ("base", xpos="far_left", ypos="head") - her "*Mhm*..." ("open_wide_tongue", "closed", "base", "mid", cheeks="blush") - her "*Slurp*...{w=0.4} *Slurp*...{w=0.4} *Slurp*..." ("open_wide_tongue", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "*Mhm*..." ("open_wide_tongue", "closed", "base", "mid") + her @ cheeks blush "*Slurp*...{w=0.4} *Slurp*...{w=0.4} *Slurp*..." ("open_wide_tongue", "closed", "worried", "mid") - if not her_polyjuice_cat_blowjob: + if not states.her.ev.potions.polyjuice_cat_blowjob: gen "Even looking like this?" ("base", xpos="far_left", ypos="head") gen "*Hmm*... You'd think they question why you'd turn up looking like a cat..." ("base", xpos="far_left", ypos="head") gen "Did they just assume you were under an evil Slytherin spell?" ("base", xpos="far_left", ypos="head") - if her_reputation > 15: - gen "Or would they just think that slutty little Miss Granger is begging for attention." ("base", xpos="far_left", ypos="head") - call nar(">You go to place your hand on the back of her head but her new ears block the way.") + if states.her.public_level > 15: + gen "Or would they just think that slutty little Miss Granger is begging for attention?" ("base", xpos="far_left", ypos="head") + nar "You go to place your hand on the back of her head, but her new ears block the way." gen "These are quite soft." ("base", xpos="far_left", ypos="head") - call nar(">You start feeling and patting the ears.") - call nar(">Hermione's eyes widen as she starts purring involuntarily.") - her "" ("open_wide_tongue", "base", "base", "up_soft", cheeks="blush") + nar "You start feeling and patting the ears." + nar "Hermione's eyes widen as she starts purring involuntarily." + her @ cheeks blush "" ("open_wide_tongue", "base", "base", "up_soft") gen "Oh, good heavens!" ("base", xpos="far_left", ypos="head") gen "It's like your whole mouth has become a vibrator." ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d3) - her "I can't help it [genie_name], whenever anything touches my ears I just purr." ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I can't help it [name_genie_hermione], whenever anything touches my ears I just purr." ("angry", "squint", "base", "mid") gen "It feels amazing! Now cock back in the mouth, girl." ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes [name_genie_hermione]." ("angry", "narrow", "base", "mid") call her_chibi_scene("bj", trans=d3) - call nar(">You immediately put your hand back on her ears and start stroking them as she sucks you.") + nar "You immediately put your hand back on her ears and start stroking them as she sucks you." else: call her_chibi_scene("bj_pause", trans=d3) - her "*Ah*....{w=0.4} Well, You had me do it before..." ("open", "narrow", "base", "R", cheeks="blush") - her "At least I knew what to expect this time." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ah*....{w=0.4} Well, You had me do it before..." ("open", "narrow", "base", "R") + her @ cheeks blush "At least I knew what to expect this time." ("angry", "narrow", "base", "mid") gen "Such a good student you are..." ("base", xpos="far_left", ypos="head") - her "Thank--" ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank--" ("soft", "base", "base", "mid") gen "Now resume sucking." ("base", xpos="far_left", ypos="head") - her "..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("open", "narrow", "base", "down") call her_chibi_scene("bj", trans=d3) gen "Slutty little Miss Granger... I bet you loved the attention..." ("base", xpos="far_left", ypos="head") - call nar(">You place your hand on her ears once again and give them a soft patting.") - call nar(">Hermione starts purring as her eyes widen and look into yours.") + nar "You place your hand on her ears once again and give them a soft patting." + nar "Hermione starts purring as her eyes widen and look into yours." gen "There it is!" ("base", xpos="far_left", ypos="head") gen "Keep going girl, this feels amazing..." ("base", xpos="far_left", ypos="head") - call nar(">Closing your eyes you momentarily stop patting her and Hermione's purring stops.") + nar "Closing your eyes, you momentarily stop patting her and Hermione's purring stops." gen "Don't stop!" ("base", xpos="far_left", ypos="head") call her_chibi_scene("bj_pause", trans=d3) - her "You stopped patting me!" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "You stopped patting me!" ("angry", "squint", "base", "mid") gen "Oh, Right..." ("base", xpos="far_left", ypos="head") - call nar(">You gently stroke the back of Hermione's ears as she begins purring once more.") + nar "You gently stroke the back of Hermione's ears as she begins purring once more." call her_chibi_scene("bj", trans=d3) her "*Slurp!* *Purr* *Slurp!*" ("open_wide_tongue", "narrow", "base", "up_soft") gen "Oh god yes. This is Fantastic." ("base", xpos="far_left", ypos="head") - her "*Purr* *Slurp!* *Purr*" ("open_wide_tongue", "narrow", "base", "up_soft", cheeks="blush") + her @ cheeks blush "*Purr* *Slurp!* *Purr*" ("open_wide_tongue", "narrow", "base", "up_soft") gen "Get ready girl... Here it comes." ("base", xpos="far_left", ypos="head") - her "*Purr* *Purr* *Purr*" ("open_wide_tongue", "narrow", "base", "mid_soft", cheeks="blush") - call nar(">Hermione pushes forward and the tip of your cock rests on her purring throat.") + her @ cheeks blush "*Purr* *Purr* *Purr*" ("open_wide_tongue", "narrow", "base", "mid_soft") + nar "Hermione pushes forward and the tip of your cock rests on her purring throat." gen "{size=+10}*ARGH*!!!!!!!!!!!!!!!!{/size}" ("angry", xpos="far_left", ypos="head") her "*Purr* *Purr* *Purr*" ("open_wide_tongue", "narrow", "base", "up_soft") - call nar(">The vibrations prove too much and you shoot your load directly down her throat.") + nar "The vibrations prove too much, and you shoot your load directly down her throat." call cum_block call her_chibi_scene("bj_cum_in", trans=d5) @@ -619,15 +614,15 @@ label her_potion_cat_return: call her_chibi_scene("bj_pause", trans=d5) pause.8 - call nar(">Hermione pulls your cock out of her purring mouth.") + nar "Hermione pulls your cock out of her purring mouth." gen "*Ah*... That was amazing..." ("base", xpos="far_left", ypos="head") her "...{w=0.6}{nw}" ("full_cum", "happy", "base", "mid_soft") - $ renpy.play('sounds/gulp.ogg') - her "... *Gulp*{fast}{w=0.6}{nw}" ("cum", "happy", "base", "mid", cheeks="blush") - her "*Gulp*{fast} *Ah*..." ("open", "narrow", "base", "mid", cheeks="blush") + play sound "sounds/gulp.ogg" + her @ cheeks blush "... *Gulp*{fast}{w=0.6}{nw}" ("cum", "happy", "base", "mid") + her @ cheeks blush "*Gulp*{fast} *Ah*..." ("open", "narrow", "base", "mid") - her "*Mmm*... That tasted so much better than the potion..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "*Mmm*... That tasted so much better than the potion..." ("base", "closed", "base", "mid") show screen blkfade with d3 @@ -638,7 +633,7 @@ label her_potion_cat_return: call her_chibi("stand","desk","base", flip=False) call gen_chibi("sit_behind_desk") - call nar(">Hermione walks back to the front of your desk, her tail swaying playfully.") + nar "Hermione walks back to the front of your desk, her tail swaying playfully." hide screen blkfade with d5 @@ -646,7 +641,7 @@ label her_potion_cat_return: gen "Well, you've certainly earned your points." ("base", xpos="far_left", ypos="head") gen "Forty points to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 40 - her "Thank you [genie_name]... Will that be all?" ("base", "happy", "base", "mid", xpos="mid", ypos="base", trans=dissolve) + her "Thank you [name_genie_hermione]... Will that be all?" ("base", "happy", "base", "mid", xpos="mid", ypos="base", trans=dissolve) gen "Yes, that will do for today..." ("base", xpos="far_left", ypos="head") her "Okay, Goodnight then..." ("soft", "base", "base", "mid") call her_walk("door", "base") @@ -654,13 +649,13 @@ label her_potion_cat_return: gen "Actually... One last thing..." ("base", xpos="far_left", ypos="head") call her_chibi("stand", "door", "base", flip=False) - her "Yes [genie_name]?" ("open", "base", "base", "mid", xpos="base", ypos="base") + her "Yes [name_genie_hermione]?" ("open", "base", "base", "mid", xpos="base", ypos="base") gen "Who's a good kitty?" ("base", xpos="far_left", ypos="head") - her ".........." ("angry", "happy", "base", "mid", cheeks="blush") - her "I am..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush ".........." ("angry", "happy", "base", "mid") + her @ cheeks blush "I am..." ("base", "narrow", "base", "down") call her_walk(action="leave") $ hermione.equip(her_outfit_last) - $ her_polyjuice_cat_blowjob = True + $ states.her.ev.potions.polyjuice_cat_blowjob = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy b/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy index d2a5736f..b782a154 100644 --- a/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy +++ b/game/scripts/characters/hermione/events/potions/polyjuice_luna.rpy @@ -1,12 +1,9 @@ -default her_polyjuice_luna_drank = False -default her_polyjuice_luna_nude = False - label potion_luna_make: call give_reward(_("You have successfully created a new potion!"), luna_potion_ITEM) - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" gen "It does have a distinctive smell of grass, among other things..." ("base", xpos="far_left", ypos="head") gen "I wonder if Hermione will be able to tell whose DNA contributed to it." ("base", xpos="far_left", ypos="head") return @@ -19,28 +16,28 @@ label her_potion_luna_give: if hermione.is_worn("robe"): gen "Before we begin... Why don't you take those robes off and make yourself comfortable." ("base", xpos="far_left", ypos="head") her "Alright..." ("soft", "squint", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") with d3 gen "Now then..." ("base", xpos="far_left", ypos="head") gen "Might I offer you a drink?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "Are you sure it's wise to be giving me alcohol, [genie_name]?" ("soft", "squint", "base", "mid") - gen "It's not alcohol, [hermione_name]... Just a harmless little potion." ("base", xpos="far_left", ypos="head") + if states.her.level < 19: + her "Are you sure it's wise to be giving me alcohol, [name_genie_hermione]?" ("soft", "squint", "base", "mid") + gen "It's not alcohol, [name_hermione_genie]... Just a harmless little potion." ("base", xpos="far_left", ypos="head") else: - her "Trying to get me drunk are you?" ("soft", "narrow", "base", "mid") + her "Trying to get me drunk, are you?" ("soft", "narrow", "base", "mid") gen "Nothing of the sort, just a harmless little potion." ("base", xpos="far_left", ypos="head") - call nar(">You hand Hermione the potion bottle.") + nar "You hand Hermione the potion bottle." call her_chibi("hold_potion","mid","base") with d3 - if not her_polyjuice_drank: - $ her_polyjuice_drank = True + if not states.her.ev.potions.polyjuice_drank: + $ states.her.ev.potions.polyjuice_drank = True - if her_whoring < 19: + if states.her.level < 19: her "Let me guess, you're not going to tell me what it does." ("angry", "narrow", "base", "mid") gen "Of course not, where would the fun be in that..." ("base", xpos="far_left", ypos="head") her "Typical..." ("angry", "narrow", "base", "down") @@ -52,15 +49,15 @@ label her_potion_luna_give: gen "It makes your breath smell like strawberries." ("base", xpos="far_left", ypos="head") her "Does it--" ("grin", "base", "base", "mid") her "Of course it doesn't..." ("angry", "narrow", "base", "R") - gen "You'll just have to drink it to find out I suppose." ("base", xpos="far_left", ypos="head") + gen "You'll just have to drink it to find out, I suppose." ("base", xpos="far_left", ypos="head") her "Let's see if I can guess what is first..." ("base", "narrow", "base", "down") call her_chibi("sniff_potion","mid","base") pause 0.2 - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" pause 0.6 call her_chibi("hold_potion","mid","base") - call nar(">Hermione takes a quick sniff of the potion.") + nar "Hermione takes a quick sniff of the potion." her "*Hmm*... It smells weirdly familiar, like freshly cut grass, or--" ("base", "narrow", "base", "down") gen "Weed!" ("grin", xpos="far_left", ypos="head") @@ -73,36 +70,36 @@ label her_potion_luna_give: her "Is this..." ("angry", "narrow", "base", "down") gen "Yep, another Polyjuice potion." ("base", xpos="far_left", ypos="head") her "Do I really have to drink this again?" ("angry", "base", "base", "mid") - gen "If you'd like to continue our favour trading it would certainly be in your best interest, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "If you'd like to continue our favour trading, it would certainly be in your best interest, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - if her_whoring < 19: + if states.her.level < 19: her "..." ("normal", "narrow", "base", "mid") else: - her "Now, there's no need to go to such extremes..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Now, there's no need to go to such extremes..." ("open", "squint", "base", "R") her "Can you at least tell me what you've put in it?" ("angry", "base", "base", "mid") gen "Where's fun in that? You're going to have to drink it and find out..." ("base", xpos="far_left", ypos="head") - if her_polyjuice_cat_drank: + if states.her.ev.potions.polyjuice_cat_drank: her "One of the last potions you gave me before tasted like wet puss..." ("disgust", "base", "base", "mid") gen "And it turned you into one as well!" ("grin", xpos="far_left", ypos="head") her "*Tsk!*" ("angry", "narrow", "base", "R") her "..." ("disgust", "narrow", "base", "down") - gen "Bottoms up, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Bottoms up, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "... I hope this is one of the ones that goes down okay." ("angry", "narrow", "base", "down") call her_chibi("drink_potion","mid","base") pause 0.6 - $ renpy.sound.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" pause 0.8 call her_chibi("stand","mid","base") - call nar(">Hermione downs the golden-hued potion.") + nar "Hermione downs the golden-hued potion." her "*Smacks lips*" ("grin", "closed", "base", "mid") - if not her_polyjuice_luna_drank: - her "It didn't taste so bad actually. Kind of sweet and sour." ("grin", "base", "base", "mid") + if not states.her.ev.potions.polyjuice_luna_drank: + her "It didn't taste so bad actually... Kind of sweet and sour." ("grin", "base", "base", "mid") gen "As long as you keep it down, you'll earn Gryffindor a great deal of points." ("base", xpos="far_left", ypos="head") her "I will." ("open", "closed", "base", "mid") her "So... What now?" ("base", "base", "base", "mid") @@ -113,27 +110,27 @@ label her_potion_luna_give: menu: "\"Troubling indeed...\"": - if her_whoring < 16: - her "It is! [genie_name], I used to be at the top of the class. My scores were impeccable." ("angry", "squint", "worried", "mid") + if states.her.level < 16: + her "It is! [name_genie_hermione], I used to be at the top of the class. My scores were impeccable." ("angry", "squint", "worried", "mid") gen "And how are your scores now?" ("base", xpos="far_left", ypos="head") her "I'm still at the top... Just not by much." ("open", "closed", "base", "mid") gen "Well, there are times when academic excellence shouldn't be your primary concern." ("base", xpos="far_left", ypos="head") - her "*Hmph*... And what \"should\" be my primary concern then?" ("angry", "narrow", "base", "mid") + her "*Hmph*... And what \"should\" be my primary concern, then?" ("angry", "narrow", "base", "mid") gen "Currently. I'd say your face is pretty high on the list." ("base", xpos="far_left", ypos="head") her "Excuse me? This is hardly appropriate--" ("angry", "narrow", "annoyed", "mid") - elif her_whoring < 22: + elif states.her.level < 22: her "That said... We have been earning a lot of points for Gryffindor." ("base", "squint", "base", "R") gen "You have, you mean." ("base", xpos="far_left", ypos="head") - her "I suppose..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I suppose..." ("base", "narrow", "base", "down") her "Although it's easier just to say \"we\" as I can't tell them where the majority of those points came from." ("open", "closed", "base", "mid") gen "That is true... If you told them, they probably wouldn't be able to be able to look at you the same way." ("base", xpos="far_left", ypos="head") her "Yeah..." ("open", "narrow", "base", "down") - gen "I mean... Soon enough you wont even look the same!" ("base", xpos="far_left", ypos="head") + gen "I mean... Soon enough, you won't even look the same!" ("base", xpos="far_left", ypos="head") her "What do you mean?" ("angry", "base", "worried", "mid") her "I'm still the same person am I not--" ("annoyed", "squint", "worried", "mid") else: - her "Well... I suppose it's not the worst thing in the world..." ("soft", "narrow", "base", "down", cheeks="blush") - her "Grades aren't everything." ("angry", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Well... I suppose it's not the worst thing in the world..." ("soft", "narrow", "base", "down") + her @ cheeks blush "Grades aren't everything." ("angry", "closed", "base", "mid") gen "Is that so?" ("base", xpos="far_left", ypos="head") her "Well... I'm sure if I wanted to, I could get a ministry job by recommendation." ("base", "wink", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") @@ -142,20 +139,20 @@ label her_potion_luna_give: her "Oh... I was thinking perhaps you could... *Ehm*..." ("angry", "squint", "base", "R") gen "Me? And willingly hand over my favourite little slut to some bureaucrats?" ("base", xpos="far_left", ypos="head") gen "No way!" ("base", xpos="far_left", ypos="head") - her "But [genie_name]!" ("clench", "base", "worried", "mid") + her "But [name_genie_hermione]!" ("clench", "base", "worried", "mid") gen "Don't give me that face..." ("base", xpos="far_left", ypos="head") her "But--" ("angry", "base", "worried", "mid") "\"I bet you'd get the top grade in dick sucking class!\"": - if hg_blowjob.trigger: - her "[genie_name]!" ("angry", "base", "base", "mid", cheeks="blush") + if states.her.status.blowjob: + her @ cheeks blush "[name_genie_hermione]!" ("angry", "base", "base", "mid") gen "Oh, don't be so modest. If sucking dick was a class, you'd be {i}Magna Cum Laude{/i}." ("grin", xpos="far_left", ypos="head") - her "I'm not sure that's appropriate, but thanks I suppose..." ("angry", "narrow", "base", "R", cheeks="blush") - her "You know... There's still time to earn some house points before class. If you're feeling generous I could..." ("open", "narrow", "base", "down", cheeks="blush") - gen "I'd have to know on whose face I'll be cumming on though." ("base", xpos="far_left", ypos="head") - her "What do you mean? My face of course--" ("angry", "squint", "base", "mid", cheeks="blush") - elif her_whoring < 16: - her "[genie_name]!" ("angry", "base", "worried", "mid") + her @ cheeks blush "I'm not sure if that's appropriate, but thanks, I suppose..." ("angry", "narrow", "base", "R") + her @ cheeks blush "You know... There's still time to earn some house points before class. If you're feeling generous, I could..." ("open", "narrow", "base", "down") + gen "I'd have to know on whose face I'll be cumming on, though." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What do you mean? My face of course--" ("angry", "squint", "base", "mid") + elif states.her.level < 16: + her "[name_genie_hermione]!" ("angry", "base", "worried", "mid") her "I can't believe you'd say such a thing!" ("clench", "squint", "worried", "mid") gen "Well, you'll never know if you don't try." ("base", xpos="far_left", ypos="head") her "*Hmph*" ("annoyed", "squint", "annoyed", "R") @@ -163,20 +160,20 @@ label her_potion_luna_give: her "Then why am I here? What's this potion supposed to do anyway?" ("angry", "closed", "annoyed", "mid") gen "I'm sure we'll find out any--" ("base", xpos="far_left", ypos="head") else: - her "How dare you even suggest such a thing." ("angry", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "How dare you even suggest such a thing." ("angry", "base", "base", "mid") gen "Oh come on, it's not like you haven't thought about it." ("base", xpos="far_left", ypos="head") - her "Well, maybe, but I have never done such a thing before..." ("annoyed", "closed", "base", "mid", cheeks="blush") - gen "We could change that right now if you want." ("grin", xpos="far_left", ypos="head") - gen "I'd have to know on whose face I'll be cumming on though." ("base", xpos="far_left", ypos="head") - her "What do you mean whose face you will be--" ("clench", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Well, maybe, but I have never done such a thing before..." ("annoyed", "closed", "base", "mid") + gen "We could change that right now if you'd like'." ("grin", xpos="far_left", ypos="head") + gen "I'd have to know on whose face I'll be cumming on, though." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What do you mean whose face you will be--" ("clench", "base", "base", "mid") play sound "sounds/burp.ogg" her "*Burp*" ("full", "happyCl", "worried", "mid") her "...{w=0.5}{nw}" ("mad", "happyCl", "base", "mid") her "...{fast}" ("mad", "base", "base", "mid") - her "I beg your pardon, I'm not sure where that came from--" ("mad", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I beg your pardon, I'm not sure where that came from--" ("mad", "squint", "base", "mid") - # Sets Luna's initial facial expression to the ones Hermione had just a moment ago (more less) + # Sets Luna's initial facial expression to the ones Hermione had just a moment ago (more or less) $ luna.set_face(mouth="mad", eyes="narrow", eyebrows="base", pupils="mid") else: her "Not bad. So, what now?" ("base", "squint", "base", "mid") @@ -185,26 +182,26 @@ label her_potion_luna_give: gen "Until then, why don't you tell me a little bit about how your day's been going." ("base", xpos="far_left", ypos="head") her "Alright." ("base", "base", "base", "mid") - if her_whoring < 16: + if states.her.level < 16: her "There's not much to tell you that you don't already know." ("open", "closed", "base", "mid") her "Lately I've been questioning my previous outlook on life in general." ("open", "narrow", "base", "R") gen "In what way exactly?" ("base", xpos="far_left", ypos="head") her "Well, since we started our... mutually beneficial... agreement, or whatever we call this..." ("disgust", "narrow", "base", "R") - her "The general atmosphere in our common room has been in an all time high because of how many house points we're racking in." ("open", "narrow", "base", "down") + her "The general atmosphere in our common room has been at an all-time high because of how many house points we're racking in." ("open", "narrow", "base", "down") gen "That's good, you must feel a great sense of pride and accomplishment." ("base", xpos="far_left", ypos="head") her "Of course! The only issue is that I would never be able to tell them I'm the one to thank for it..." ("angry", "narrow", "base", "mid") - her "If they just got one look of my face they'd be able to tell what was up." ("disgust", "base", "base", "mid") + her "If they just got one look at my face, then they'd be able to tell what was up." ("disgust", "base", "base", "mid") gen "Speaking of..." ("base", xpos="far_left", ypos="head") # Sets Luna's initial facial expression to the ones Hermione had just a moment ago $ luna.set_face(mouth="disgust", eyes="base", eyebrows="base", pupils="mid") - elif her_whoring < 19: + elif states.her.level < 19: her "It's been pretty good, thanks for asking." ("base", "closed", "base", "mid") her "The morale has never been higher in the common room." ("grin", "base", "base", "mid") her "I feel like we might actually have a chance at winning this year." ("smile", "base", "base", "mid") - gen "All thanks to you I'm sure." ("base", xpos="far_left", ypos="head") + gen "All thanks to you, I'm sure." ("base", xpos="far_left", ypos="head") gen "(You're lucky you've got me instead of the real old man, I bet he'd never rig the points like this...)" ("base", xpos="far_left", ypos="head") - her "Well... You've also kindly allowed me to earn these points..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Well... You've also kindly allowed me to earn these points..." ("open", "closed", "base", "mid") gen "That I have." ("base", xpos="far_left", ypos="head") gen "Although who knows... I might get confused and award the point to some other house in a minute." ("base", xpos="far_left", ypos="head") her "*Hmm*... So, the potion is not going to turn me into another Gryffindor--" ("angry", "narrow", "base", "down") @@ -212,7 +209,7 @@ label her_potion_luna_give: # Sets Luna's initial facial expression to the ones Hermione had just a moment ago $ luna.set_face(mouth="angry", eyes="narrow", eyebrows="base", pupils="down") else: - her "Well, generally its been quite dull up until now." ("open", "closed", "base", "mid") + her "Well, generally it's been quite dull, until now." ("open", "closed", "base", "mid") her "I would be lying if I said I wasn't a little bit excited when you called on me." ("grin", "narrow", "base", "R") gen "Oh, you'll be getting your fair share of excitement soon enough, well, at least the {i}new you{/i} will." ("grin", xpos="far_left", ypos="head") her "What do you mean by that--" ("angry", "base", "base", "mid") @@ -220,82 +217,78 @@ label her_potion_luna_give: # Sets Luna's initial facial expression to the ones Hermione had just a moment ago $ luna.set_face(mouth="angry", eyes="base", eyebrows="base", pupils="mid") - call play_music("stop", fadeout=2.0) + stop music fadeout 2 hide hermione_main with d3 pause 2 - call play_sound("magic") + play sound "sounds/magic4.ogg" show screen gfx_effect(584, 340, img="smoke", zoom=0.85) call her_chibi("hide") call lun_chibi(xpos="mid", ypos="base") - $ luna_name_old = luna_name - $ luna_name = "Hermione?" + $ luna_name_old = name_luna_genie + $ name_luna_genie = "Hermione?" pause 2 - call play_music("luna") - $ camera.set_imagepath("common/") - $ camera.set_image("CG luna") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) + play music "music/wallpaper-by-kevin-macleod.ogg" fadein 1 if_changed + show CG luna as cg zorder 17: + zoom 0.5 + + $ luna.set_face(mouth="disgust", eyes="closed", eyebrows="base", pupils="mid") hide screen blkfade - show screen animatedCG with fade - pause 2 + pause 1 - if not her_polyjuice_luna_drank: - lun "*Ughhh*... My head..." ("disgust", "closed", "base", "mid", trans=d3) + if not states.her.ev.potions.polyjuice_luna_drank: + lun "*Ughhh*... My head..." lun "I feel like I'm going to throw up!" ("mad", "narrow", "base", "mid") gen "Well you look fine to me!" ("grin", xpos="far_left", ypos="head") - call nar(">Hermione starts examining herself, feeling out her new assets and pausing at her breasts.") + nar "Hermione starts examining herself, feeling out her new assets and pausing at her breasts." - lun "*Hmm*... That's a Polyjuice potion alright..." ("angry", "narrow", "base", "down") + lun "*Hmm*... That's a Polyjuice potion, alright..." ("angry", "narrow", "base", "down") lun "And apparently I'm still a girl... Someone from Ravenclaw?" ("open", "base", "raised", "mid") - gen "Keen observation, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Keen observation, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") - call nar(">Hermione examines her new hair.") + nar "Hermione examines her new hair." lun "Definitely a blonde... She sure could use a comb." ("angry", "narrow", "raised", "downR") lun "*Hmm*..." ("normal", "narrow", "low", "down") - call nar(">Something suddenly dawns on Hermione.") + nar "Something suddenly dawns on Hermione." lun "You turned me into Loony--{w=0.4} I mean Luna Lovegood?!" ("clench", "wide", "base", "mid") - gen "Very astute, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Very astute, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "And now if you don't mind, I'd like you to bare your--, her chest for me..." ("base", xpos="far_left", ypos="head") lun "What?!" ("disgust", "wide", "base", "mid") - if her_whoring < 16: - lun "I can't believe what you're suggesting, you're asking me to show off another students breasts?" ("disgust", "base", "annoyed", "mid", cheeks="blush") + if states.her.level < 16: + lun @ cheeks blush "I can't believe what you're suggesting, you're asking me to show off another student's breasts?" ("disgust", "base", "annoyed", "mid") gen "Well, what else would you have me do? Look at your face?" ("base", xpos="far_left", ypos="head") - lun "I...{w=0.4} Yes?" ("annoyed", "narrow", "raised", "mid", cheeks="blush") + lun @ cheeks blush "I...{w=0.4} Yes?" ("annoyed", "narrow", "raised", "mid") gen "Come on... You've drank the potion... Don't you think it'd be a bit of a waste?" ("base", xpos="far_left", ypos="head") - lun "But [genie_name]." ("clench", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "But [name_genie_hermione]." ("clench", "base", "base", "mid") gen "I'm sure it's fine... It's not like I would tell her anyway." ("base", xpos="far_left", ypos="head") gen "Don't you want those points?" ("base", xpos="far_left", ypos="head") - lun "..." ("upset", "narrow", "base", "downR", cheeks="blush") - lun "Fine..." ("open", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "..." ("upset", "narrow", "base", "downR") + lun @ cheeks blush "Fine..." ("open", "narrow", "base", "down") else: lun "You can't possibly be interested in that... That girl's paltry breasts." ("annoyed", "narrow", "annoyed", "mid") - gen "Currently they're yours. And they don't look so paltry from where I'm sitting [hermione_name]. Do I detect a hint of jealousy?" ("base", xpos="far_left", ypos="head") + gen "Currently they're yours. And they don't look so paltry from where I'm sitting [name_hermione_genie]. Do I detect a hint of jealousy?" ("base", xpos="far_left", ypos="head") lun "Not at all... I suppose it is only natural that someone of your advanced age has trouble with their--" ("open", "closed", "base", "mid") - gen "Their what [hermione_name]?" ("base", xpos="far_left", ypos="head") - lun "Nothing..." ("annoyed", "narrow", "base", "R", cheeks="blush") + gen "Their what [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Nothing..." ("annoyed", "narrow", "base", "R") gen "Eyesight?" ("base", xpos="far_left", ypos="head") - lun "*Ehm*... No, what I was going to say--" ("angry", "narrow", "base", "mid", cheeks="blush") - gen "Is that any way to talk to your elders, [hermione_name]? Perhaps you need a good spanking to remind you of your manners." ("base", xpos="far_left", ypos="head") - lun "I... I apologize, [genie_name]. I don't know what came over me." ("open", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ehm*... No, what I was going to say--" ("angry", "narrow", "base", "mid") + gen "Is that any way to talk to your elders, [name_hermione_genie]? Perhaps you need a good spanking to remind you of your manners." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I... I apologize, [name_genie_hermione]. I don't know what came over me." ("open", "narrow", "base", "mid") gen "Apology accepted. I'm sure they can't hold a candle to the brilliance of your own." ("base", xpos="far_left", ypos="head") - lun "I'd like to think I'm more than just a pair of breasts... but thank you [genie_name]. That was flattering... In a way." ("angry", "closed", "base", "mid") + lun "I'd like to think I'm more than just a pair of breasts... but thank you [name_genie_hermione]. That was flattering... In a way." ("angry", "closed", "base", "mid") gen "If you want to dispel all doubt, we could compare. Why don't you lift your shirt and show me what you... *Err*... She's got under that sweater." ("base", xpos="far_left", ypos="head") lun "I'm still not entirely comfortable with this..." ("angry", "narrow", "base", "down") @@ -304,17 +297,17 @@ label her_potion_luna_give: lun "Did it work?" ("angry", "narrow", "raised", "mid") gen "Perfectly..." ("base", xpos="far_left", ypos="head") - call nar(">Hermione starts examining herself, feeling out her outfit and pausing at her breasts.") + nar "Hermione starts examining herself, feeling out her outfit and pausing at her breasts." lun "*Hmm*... At least I still appear to be a girl... A Ravenclaw." ("upset", "narrow", "raised", "down") gen "I'm surprised you expected something different." ("base", xpos="far_left", ypos="head") - if her_polyjuice_cat_drank: + if states.her.ev.potions.polyjuice_cat_drank: lun "Well... Seeing that you've previously tried to turn me into a cat." ("open", "narrow", "base", "mid") gen "A cat-girl actually..." ("base", xpos="far_left", ypos="head") lun "..." ("disgust", "narrow", "base", "mid") - call nar(">Hermione examines her new hair.") + nar "Hermione examines her new hair." lun "*Hmm*... A blonde... that narrows things down. Not a good sign..." ("normal", "narrow", "base", "downR") gen "And why might that be?" ("base", xpos="far_left", ypos="head") @@ -327,52 +320,52 @@ label her_potion_luna_give: lun "..." ("annoyed", "narrow", "base", "R") gen "Now, I'd like to see those great assets of hers..." ("base", xpos="far_left", ypos="head") - if her_whoring <= 16: + if states.her.level <= 16: lun "This again? It was already bad enough that I agreed to do it before..." ("disgust", "narrow", "base", "mid") - gen "There wasn't any repercussions was there?" ("base", xpos="far_left", ypos="head") + gen "There weren't any repercussions, were there?" ("base", xpos="far_left", ypos="head") lun "..." ("annoyed", "narrow", "base", "down") lun "I suppose not..." ("angry", "narrow", "base", "down") gen "Then get those puppies out for me." ("base", xpos="far_left", ypos="head") lun "Alright." ("open", "narrow", "base", "mid") - call nar(">Hermione quickly strips off her Ravenclaw top.") + nar "Hermione quickly strips off her Ravenclaw top." - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("top") pause .8 - lun "..." ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "..." ("normal", "narrow", "base", "down") gen "Go on then..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bra") - if not her_polyjuice_luna_drank: - if her_whoring < 16: - lun "..." ("normal", "narrow", "base", "down", cheeks="blush") - lun "This feels wrong..." ("open", "narrow", "low", "down", cheeks="blush") + if not states.her.ev.potions.polyjuice_luna_drank: + if states.her.level < 16: + lun @ cheeks blush "..." ("normal", "narrow", "base", "down") + lun @ cheeks blush "This feels wrong..." ("open", "narrow", "low", "down") gen "Feels pretty right to me!" ("grin", xpos="far_left", ypos="head") gen "Although I could do with a closer look." ("grin", xpos="far_left", ypos="head") - lun "You're not going to touch her--" ("clench", "narrow", "base", "mid", cheeks="blush") - gen "Just come up to the front of my desk, [hermione_name]." ("base", xpos="far_left", ypos="head") - lun "...{w} Alright." ("mad", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "You're not going to touch her--" ("clench", "narrow", "base", "mid") + gen "Just come up to the front of my desk, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "...{w} Alright." ("mad", "base", "base", "mid") else: pause .5 - lun "There, see... Perfectly ordinary breasts." ("open", "closed", "annoyed", "mid", cheeks="blush") - lun "Absolutely no need to keep looking at them." ("soft", "narrow", "annoyed", "downR", cheeks="blush") - gen "I'm not quite convinced, the soft pale skin, the cute pink nipples and they look like quite a handful..." ("base", xpos="far_left", ypos="head") - gen "I think you might have some serious competition here [hermione_name]." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "There, see... Perfectly ordinary breasts." ("open", "closed", "annoyed", "mid") + lun @ cheeks blush "Absolutely no need to keep looking at them." ("soft", "narrow", "annoyed", "downR") + gen "I'm not quite convinced, the soft pale skin, the cute pink nipples... They look like quite a handful..." ("base", xpos="far_left", ypos="head") + gen "I think you might have some serious competition here [name_hermione_genie]." ("base", xpos="far_left", ypos="head") lun "You can't be serious! They're saggy and couldn't even fill your palm!" ("angry", "narrow", "annoyed", "mid") - gen "*Hmm*... Well I sure wouldn't use the word \"saggy\"... Perhaps a closer examination is required." ("base", xpos="far_left", ypos="head") + gen "*Hmm*... Well, I sure wouldn't use the word \"saggy\"... Perhaps a closer examination is required." ("base", xpos="far_left", ypos="head") lun "Surely you can see from there how--" ("angry", "narrow", "annoyed", "down") - gen "No, I think I'd need a closer look [hermione_name]... Seeing that my eyesight is so terrible and all..." ("base", xpos="far_left", ypos="head") + gen "No, I think I'd need a closer look [name_hermione_genie]... Seeing that my eyesight is so terrible and all..." ("base", xpos="far_left", ypos="head") lun "..." ("angry", "narrow", "annoyed", "down") - gen "Come closer, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Come closer, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") else: pause .5 - lun "I assume you'd like a closer look like the last time?" ("open", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "I assume you'd like a closer look like the last time?" ("open", "closed", "base", "mid") gen "Of course!" ("base", xpos="far_left", ypos="head") gen "Get those cute pink nipples up here." ("base", xpos="far_left", ypos="head") @@ -381,47 +374,47 @@ label her_potion_luna_give: call lun_walk(xpos="desk") - call nar(">In a huff, Hermione walks over and presents her new set of breasts.") - lun "" ("annoyed", "base", "base", "R", cheeks="blush", trans=dissolve) + nar "In a huff, Hermione walks over and presents her new set of breasts." + lun @ cheeks blush "" ("annoyed", "base", "base", "R", trans=dissolve) call ctc - if not her_polyjuice_luna_drank: - if her_whoring < 16: + if not states.her.ev.potions.polyjuice_luna_drank: + if states.her.level < 16: gen "Very good." ("base", xpos="far_left", ypos="head") - lun "..." ("upset", "narrow", "base", "down", cheeks="blush") - lun "Am I done here?" ("open", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "..." ("upset", "narrow", "base", "down") + lun @ cheeks blush "Am I done here?" ("open", "closed", "base", "mid") else: - gen "Yes... Upon closer inspection I must say those are some magnificent tits..." ("base", xpos="far_left", ypos="head") - lun "[genie_name]!" ("angry", "base", "base", "mid", cheeks="blush") + gen "Yes... Upon closer inspection, I must say those are some magnificent tits..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "[name_genie_hermione]!" ("angry", "base", "base", "mid") gen "But Hermione's will always remain my favourite." ("base", xpos="far_left", ypos="head") - lun "I'm glad you've come to your senses, Thank you... If you're completely satisfied, I'll cover up these... things." ("open", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "I'm glad you've come to your senses... Well, if you're completely satisfied, I'll cover up these... things." ("open", "closed", "base", "mid") else: - gen "You look a bit flustered [hermione_name]." ("base", xpos="far_left", ypos="head") - lun "You're staring directly at my, well, her chest, [genie_name], and I can't help but feel a bit undefined as its not my own..." ("angry", "narrow", "base", "mid", cheeks="blush") - lun "Am I free to go now?" ("open", "narrow", "base", "mid", cheeks="blush") + gen "You look a bit flustered [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "You're staring directly at my, well, her chest, [name_genie_hermione], and I can't help but feel a bit undefined as it's not my own..." ("angry", "narrow", "base", "mid") + lun @ cheeks blush "Am I free to go now?" ("open", "narrow", "base", "mid") menu: "-Tell her to take the rest off.-": gen "Not yet." ("base", xpos="far_left", ypos="head") - lun "*Hmm*?" ("annoyed", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Hmm*?" ("annoyed", "narrow", "base", "mid") gen "You haven't bared it all just yet." ("grin", xpos="far_left", ypos="head") - if not her_polyjuice_luna_nude: - $ her_polyjuice_luna_nude = True + if not states.her.ev.potions.polyjuice_luna_nude: + $ states.her.ev.potions.polyjuice_luna_nude = True - if her_whoring < 16: - lun "You want me to strip naked?" ("clench", "base", "base", "mid", cheeks="blush") + if states.her.level < 16: + lun @ cheeks blush "You want me to strip naked?" ("clench", "base", "base", "mid") gen "Of course!" ("grin", xpos="far_left", ypos="head") - lun "Why?" ("upset", "narrow", "annoyed", "mid", cheeks="blush") - gen "To give you a chance to earn some extra points obviously." ("base", xpos="far_left", ypos="head") - lun "That's not really the answer I was looking for..." ("upset", "narrow", "base", "R", cheeks="blush") - lun "..." ("upset", "narrow", "base", "down", cheeks="blush") - lun "{size=-4}I'm sorry Luna...{/size}" ("normal", "happyCl", "base", "mid", cheeks="blush") - lun "I want fifty points." ("scream", "happyCl", "base", "mid", cheeks="blush") - gen "That's a bit much don't you think?" ("base", xpos="far_left", ypos="head") - lun "You're asking me to take the clothes off another student without their permission..." ("mad", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Why?" ("upset", "narrow", "annoyed", "mid") + gen "To give you a chance to earn some extra points, obviously." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "That's not really the answer I was looking for..." ("upset", "narrow", "base", "R") + lun @ cheeks blush "..." ("upset", "narrow", "base", "down") + lun @ cheeks blush "{size=-4}I'm sorry, Luna...{/size}" ("normal", "happyCl", "base", "mid") + lun @ cheeks blush "I want fifty points." ("scream", "happyCl", "base", "mid") + gen "That's a bit much, don't you think?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "You're asking me to take the clothes off another student without their permission..." ("mad", "narrow", "base", "mid") gen "Well technically--" ("base", xpos="far_left", ypos="head") - lun "..." ("angry", "narrow", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "..." ("angry", "narrow", "annoyed", "mid") menu: "-Give her the points.-": @@ -430,23 +423,23 @@ label her_potion_luna_give: "-Finish for today.-": gen "No, In that case it will have to do for--" ("base", xpos="far_left", ypos="head") - lun "Thirty points!" ("clench", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "Thirty points!" ("clench", "happyCl", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "Now who's being quick, selling out their fellow students body..." ("base", xpos="far_left", ypos="head") - lun "...Are you done?" ("upset", "narrow", "annoyed", "L", cheeks="blush") + lun @ cheeks blush "...Are you done?" ("upset", "narrow", "annoyed", "L") gen "Quite, but not quite." ("grin", xpos="far_left", ypos="head") gen "Thirty points it is..." ("base", xpos="far_left", ypos="head") $ current_payout = 30 - lun "..." ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "..." ("normal", "narrow", "base", "down") gen "Go on then..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom", "panties") call ctc - lun "" ("normal", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("normal", "narrow", "base", "mid") gen "Very good..." ("grin", xpos="far_left", ypos="head") gen "Now, let me just get my--" ("grin", xpos="far_left", ypos="head") @@ -456,102 +449,102 @@ label her_potion_luna_give: pause 0.5 - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" call gen_chibi("jerk_off_behind_desk") with d3 pause 1 - lun "No!" ("clench", "wide", "base", "mid", cheeks="blush", trans=hpunch) + lun @ cheeks blush "No!" ("clench", "wide", "base", "mid", trans=hpunch) call gen_chibi("jerk_off_behind_desk_pause") - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - lun "I can't let you... That's... That's enough..." ("mad", "happyCl", "base", "mid", cheeks="blush") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I can't let you... That's... That's enough..." ("mad", "happyCl", "base", "mid") - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" call gen_chibi("sit_behind_desk") with d3 gen "Fine..." ("base", xpos="far_left", ypos="head") - lun "..." ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "..." ("angry", "narrow", "base", "mid") jump .end else: $ current_payout = 20 - lun "What?" ("mad", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "What?" ("mad", "base", "base", "mid") gen "How am I supposed to get a good comparison if you're still wearing clothes." ("base", xpos="far_left", ypos="head") - lun "You were supposed to compare our breasts!" ("scream", "narrow", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "You were supposed to compare our breasts!" ("scream", "narrow", "annoyed", "mid") gen "Well..." ("base", xpos="far_left", ypos="head") - gen "There's always more things worth comparing don't you think?" ("base", xpos="far_left", ypos="head") - lun "*Hmph*..." ("angry", "narrow", "annoyed", "R", cheeks="blush") - gen "Now-now [hermione_name]... There's some points in it for you if you do it." ("base", xpos="far_left", ypos="head") - lun "I don't care about the points..." ("angry", "base", "annoyed", "mid", cheeks="blush") + gen "There's always more things worth comparing, don't you think?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Hmph*..." ("angry", "narrow", "annoyed", "R") + gen "Now-now [name_hermione_genie]... There are some points in it for you if you do it." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I don't care about the points..." ("angry", "base", "annoyed", "mid") gen "You don't?" ("base", xpos="far_left", ypos="head") - lun "I mean... I do... But it's not about that!" ("annoyed", "base", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "I mean... I do... But it's not about that!" ("annoyed", "base", "annoyed", "mid") gen "You know your tits will always be my favourite, there's no need to be jealous." ("base", xpos="far_left", ypos="head") - lun "I am not jealous!" ("angry", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "I am not jealous!" ("angry", "base", "base", "mid") gen "What is it then, are you afraid her delicate flower will be prettier than yours?" ("base", xpos="far_left", ypos="head") - lun "I am not afraid!" ("scream", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "I am not afraid!" ("scream", "closed", "annoyed", "mid") gen "Then prove it!" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom", "panties") call ctc gen "Perfect!" ("grin", xpos="far_left", ypos="head") - lun "..." ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "..." ("annoyed", "narrow", "annoyed", "mid") gen "I mean... Adequate!" ("base", xpos="far_left", ypos="head") gen "Of course I can't really tell for sure unless you were stood side by side..." ("base", xpos="far_left", ypos="head") gen "Maybe some other time." ("base", xpos="far_left", ypos="head") - lun "..." ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "..." ("angry", "narrow", "base", "mid") else: # Hermione stripped completely as Luna before - lun "Right..." ("disgust", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Right..." ("disgust", "narrow", "base", "down") - if her_whoring < 16: + if states.her.level < 16: - lun "And how many points would I--" ("angry", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "And how many points would I--" ("angry", "base", "base", "mid") gen "Thirty points." ("base", xpos="far_left", ypos="head") $ current_payout = 30 - lun "Alright then..." ("open", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Alright then..." ("open", "narrow", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom", "panties") pause .8 - lun "" ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "" ("normal", "narrow", "base", "down") call ctc gen "You didn't even hesitate this time." ("base", xpos="far_left", ypos="head") - lun "Oh... Well you've seen it already haven't you?" ("open", "narrow", "base", "mid", cheeks="blush") - gen "Yes... Although I'd think you'd at least be a bit more hesitant about showing off another students privates." ("base", xpos="far_left", ypos="head") - lun "*Hmm*... Honestly after spending some more time around her I do think you're right about her not caring about it that much..." ("open", "narrow", "base", "downR", cheeks="blush") + lun @ cheeks blush "Oh... Well, you've seen it already haven't you?" ("open", "narrow", "base", "mid") + gen "Yes... Although, I'd think you'd at least be a bit more hesitant about showing off another student's privates." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Hmm*... Honestly, after spending some more time around her, I do think you're right about her not caring about it that much..." ("open", "narrow", "base", "downR") gen "Good enough for me." ("base", xpos="far_left", ypos="head") gen "Then I suppose you don't mind if I--" ("base", xpos="far_left", ypos="head") - lun "No!" ("clench", "wide", "base", "mid", cheeks="blush") + lun @ cheeks blush "No!" ("clench", "wide", "base", "mid") gen "You didn't even let me finish..." ("base", xpos="far_left", ypos="head") gen "Didn't you just say that Miss Lovegood wouldn't really care?" ("base", xpos="far_left", ypos="head") - lun "I..." ("disgust", "narrow", "base", "mid", cheeks="blush") - lun "Well maybe she would care about this, stripping is one thing!" ("angry", "closed", "raised", "mid", cheeks="blush") - gen "Alright then [hermione_name]..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I..." ("disgust", "narrow", "base", "mid") + lun @ cheeks blush "Well, maybe she would care about this, stripping is one thing!" ("angry", "closed", "raised", "mid") + gen "Alright then [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") else: $ current_payout = 20 - lun "..." ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "..." ("normal", "narrow", "base", "down") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom", "panties") call ctc gen "Nice..." ("base", xpos="far_left", ypos="head") - lun "..." ("normal", "narrow", "base", "mid", cheeks="blush") - gen "Not as nice as your own obviously..." ("base", xpos="far_left", ypos="head") - lun "Obviously..." ("open", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "..." ("normal", "narrow", "base", "mid") + gen "Not as nice as your own, obviously..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Obviously..." ("open", "closed", "base", "mid") gen "Although surely even you could admit..." ("base", xpos="far_left", ypos="head") gen "Her nipples are pretty cute." ("base", xpos="far_left", ypos="head") - lun "I guess I could..." ("open", "narrow", "base", "R", cheeks="blush") + lun @ cheeks blush "I guess I could..." ("open", "narrow", "base", "R") gen "*Heh-heh*." ("grin", xpos="far_left", ypos="head") - lun "Is that all?" ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Is that all?" ("angry", "narrow", "base", "mid") gen "Yes, that shall do for today." ("base", xpos="far_left", ypos="head") "-Finish for today.-": @@ -563,7 +556,7 @@ label her_potion_luna_give: with d5 pause .8 $ luna.wear("all") - hide screen animatedCG + hide cg hide luna_main hide screen blkfade with d5 @@ -571,9 +564,9 @@ label her_potion_luna_give: $ gryffindor += current_payout gen "{number=current_payout} points to Gryffindor!" ("base", xpos="far_left", ypos="head") - lun "Thank you, [genie_name]..." ("open", "closed", "base", "mid", trans=dissolve) + lun "Thank you, [name_genie_hermione]..." ("open", "closed", "base", "mid", trans=dissolve) - if not her_polyjuice_luna_drank: + if not states.her.ev.potions.polyjuice_luna_drank: lun "I think I better head off to class now." ("angry", "base", "base", "R") gen "You're going to class looking like Miss Lovegood?" ("base", xpos="far_left", ypos="head") lun "Why not." ("base", "narrow", "base", "mid") @@ -582,11 +575,11 @@ label her_potion_luna_give: gen "Certainly. Just one more thing..." ("base", xpos="far_left", ypos="head") lun "Yes?" ("soft", "base", "raised", "mid") gen "What if you bump into her?" ("base", xpos="far_left", ypos="head") - lun "Oh I wouldn't worry about that, [genie_name]..." ("grin", "narrow", "base", "R") - lun "She will probably think I'm some kind of wrackspurts-induced hallucination or something." ("open", "closed", "base", "mid") + lun "Oh I wouldn't worry about that, [name_genie_hermione]..." ("grin", "narrow", "base", "R") + lun "She will probably think I'm some kind of wrackspurt-induced hallucination or something." ("open", "closed", "base", "mid") gen "True." ("base", xpos="far_left", ypos="head") gen "Off you go then." ("base", xpos="far_left", ypos="head") - lun "Good day, [genie_name]." ("base", "base", "base", "mid") + lun "Good day, [name_genie_hermione]." ("base", "base", "base", "mid") else: lun "I'm off to class." ("open", "narrow", "base", "R") gen "Don't get up to any mischief will you?" ("base", xpos="far_left", ypos="head") @@ -595,7 +588,7 @@ label her_potion_luna_give: call lun_walk(action="leave") $ luna.equip(lun_outfit_last) - $ luna_name = luna_name_old - $ her_polyjuice_luna_drank = True + $ name_luna_genie = luna_name_old + $ states.her.ev.potions.polyjuice_luna_drank = True jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy b/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy index 5c010635..9bcae561 100644 --- a/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy +++ b/game/scripts/characters/hermione/events/requests/flash_your_tits.rpy @@ -1,29 +1,35 @@ ### Flash A Classmate ### -label hg_pr_flash: +label start_hg_pr_flash: # Setup - $ current_payout = 35 + $ current_payout = 25 - if hg_pr_flash.counter == 0: + if not _events_completed_any: gen "{size=-4}(Tell her to flash her tits to one of her classmates?){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu + return + +label hg_pr_flash: + + call start_hg_pr_flash her "" (xpos="mid", ypos="base", trans=fade) #Intro. - if hg_pr_flash.counter == 0: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + if not _events_completed_any: + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "I would like to award Gryffindor with twenty-five house points today." ("base", xpos="far_left", ypos="head") - her "Really?" ("base", "base", "base", "mid") - her "Thank you, [genie_name]!" + her "Really?" ("grin", "base", "base", "mid") + her "Thank you, [name_genie_hermione]!" gen "Yes, but first I will require your help with something..." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]! Anything!" + her "Of course, [name_genie_hermione]! Anything!" gen "I need you to go out there and show off your tits to people..." ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 @@ -32,82 +38,90 @@ label hg_pr_flash: gen "You know, flash your breasts to some boys..." ("base", xpos="far_left", ypos="head") her "?!!" ("shock", "wide", "base", "stare") - if her_reputation < 6: + if states.her.public_level < 6: + $ _event.cancel() jump too_much_public - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - her "[genie_name]!" - her "This is a completely new level of inappropriate, even for you, [genie_name]!" ("angry", "base", "angry", "mid") + her "[name_genie_hermione]!" + her "This is an entirely different level of inappropriateness, even for you, [name_genie_hermione]!" ("angry", "base", "angry", "mid") her "How can you ask one of your pupils to perform such a task?" gen "So that's how you feel then? I see..." ("base", xpos="far_left", ypos="head") - gen "I suppose I will be awarding those points to some other house instead ..." ("base", xpos="far_left", ypos="head") + gen "I suppose I will be awarding those points to some other house instead..." ("base", xpos="far_left", ypos="head") gen "Slytherin perhaps?" ("base", xpos="far_left", ypos="head") her "................" ("disgust", "narrow", "base", "mid_soft") gen "But, you know, no pressure..." ("base", xpos="far_left", ypos="head") - her "[genie_name]..." ("annoyed", "narrow", "angry", "R") + her "[name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") her "The fate of my house is very important to me, but..." gen "Is it really?" ("base", xpos="far_left", ypos="head") gen "Why don't you show it to me then?" ("base", xpos="far_left", ypos="head") - gen "Yes. Show me how important it is to you exactly, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Yes. Show me how important it is to you exactly, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "But this is inappropriate..." ("angry", "base", "angry", "mid") - gen "Are we really in any position to discuss what is appropriate and what is not at this point?" ("base", xpos="far_left", ypos="head") + gen "Are you really in any position to discuss what is and isn't appropriate at this point?" ("base", xpos="far_left", ypos="head") her ".................." ("annoyed", "narrow", "angry", "R") gen "I would say that ship has sailed a long time ago..." ("base", xpos="far_left", ypos="head") her ".............." ("disgust", "narrow", "base", "mid_soft") - gen "All I ask you to do is to give some lucky boy a quick peek..." ("base", xpos="far_left", ypos="head") - her "But why? Why must I do things like this, [genie_name]?" ("annoyed", "narrow", "angry", "R") + gen "All I ask of you, is to give some lucky boy a quick peek... Nothing more." ("base", xpos="far_left", ypos="head") + her "But why? Why must I do things like this, [name_genie_hermione]?" ("annoyed", "narrow", "angry", "R") gen "A minute of your time for twenty-five house points..." ("base", xpos="far_left", ypos="head") gen "A pretty nifty deal, wouldn't you agree?" ("base", xpos="far_left", ypos="head") her "I suppose..." her "Well alright, I'll see what I can do..." else: - if her_tier >= 5: - gen "[hermione_name] I need you to go out there and flash your tits to one of your classmates." ("base", xpos="far_left", ypos="head") - her "I will do my best [genie_name]." ("open", "closed", "base", "mid") + if states.her.tier >= 5: + gen "[name_hermione_genie]... I need you to go out there and flash your tits to one of your classmates." ("base", xpos="far_left", ypos="head") + her "I will do my best [name_genie_hermione]..." ("open", "closed", "base", "mid") gen "Really? Just like that? No complaints or anything?" ("base", xpos="far_left", ypos="head") her "I am getting paid for this, am I not?" ("base", "narrow", "base", "mid_soft") - gen "Of course." ("base", xpos="far_left", ypos="head") + gen "Of course... {number=current_payout} points..." ("base", xpos="far_left", ypos="head") her "Why would I complain about a simple task like this then?" ("open", "closed", "base", "mid") - her "{number=current_payout} house points is a fair prices for a few seconds of excitement... err..." + her "{number=current_payout} house points is a fair price for a few seconds of excitement... *Err*..." ("open", "closed", "base", "mid") her "... I mean, embarrassment." ("base", "happyCl", "base", "mid") - gen "{size=-3}(She changed this much already?){/size}" ("base", xpos="far_left", ypos="head") - gen "{size=-3}(I'm so good at this training thing that it's starting to get creepy!){/size}" ("grin", xpos="far_left", ypos="head") + gen "{size=-3}(She's changed this much already?){/size}" ("base", xpos="far_left", ypos="head") her "Classes are about to start... I'd better leave now." ("base", "base", "base", "mid") - her "I will see you later tonight, [genie_name]." - elif her_tier >= 4: - gen "I think you need to show off your tits some more, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "You mean to you, [genie_name]?" ("upset", "wink", "base", "mid") - gen "No, to your classmates..." ("base", xpos="far_left", ypos="head") - her "Oh..." ("angry", "base", "base", "mid") - gen "Yes, go do that and then report back to me..." ("base", xpos="far_left", ypos="head") - her "Will I get paid for this?" ("annoyed", "narrow", "angry", "R") - gen "Of course you will get paid for this, [hermione_name]. Don't be silly." ("base", xpos="far_left", ypos="head") + her "I will see you later tonight, [name_genie_hermione]." ("open", "closed", "base", "mid") + elif states.her.tier >= 4: + gen "I need you to show off your tits, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Right now, [name_genie_hermione]?" ("upset", "wink", "base", "mid") + gen "Sure! Although I was thinking for one of your classmates..." ("base", xpos="far_left", ypos="head") + her "I see..." ("angry", "base", "base", "mid") + gen "Now, give them something to look at, then come back and report to me..." ("base", xpos="far_left", ypos="head") + her "You'll pay me as usual, right?" ("open", "base", "base", "R") + gen "Most certainly, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} house points. The usual rate..." ("base", xpos="far_left", ypos="head") - her "................." ("annoyed", "narrow", "angry", "R") - her "Well alright... I will see what I can do, [genie_name]..." ("disgust", "narrow", "base", "mid_soft") + her "................." ("annoyed", "narrow", "base", "R") + her "Well alright... I will see what I can do, [name_genie_hermione]..." ("disgust", "narrow", "base", "mid_soft") else: - gen "I think you need to show off your tits some more, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "You mean to you, [genie_name]?" ("upset", "wink", "base", "mid") - gen "No, to your classmates..." ("base", xpos="far_left", ypos="head") + gen "I think you need to show off your tits some more, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Right now, [name_genie_hermione]?" ("upset", "wink", "base", "mid") + gen "Not to me, I need you to go out and show them to your classmates..." ("base", xpos="far_left", ypos="head") her "Oh..." ("angry", "base", "base", "mid") gen "Yes, go do that and then report back to me..." ("base", xpos="far_left", ypos="head") her "Will I get paid for this?" ("annoyed", "narrow", "angry", "R") - gen "Of course you will get paid for this, [hermione_name]. Don't be silly." ("base", xpos="far_left", ypos="head") + gen "Of course you will get paid for this, [name_hermione_genie]. Don't be silly." ("base", xpos="far_left", ypos="head") gen "{number=current_payout} house points. The usual rate..." ("base", xpos="far_left", ypos="head") her "................." ("annoyed", "narrow", "angry", "R") - her "Well alright... I will see what I can do, [genie_name]..." ("disgust", "narrow", "base", "mid_soft") + her "Well alright... I will see what I can do, [name_genie_hermione]..." ("disgust", "narrow", "base", "mid_soft") call her_walk(action="leave") - $ hg_pr_flash.inProgress = True jump end_hermione_event +label hg_pr_flash_fail: + call start_hg_pr_flash + + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") + gen "Today, I'd like you to go out and flash your tits to people." ("base", xpos="far_left", ypos="head") + + jump too_much_public + label end_hg_pr_flash: $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: @@ -115,53 +129,42 @@ label end_hg_pr_flash: pause.2 # Inner monologue - if hg_pr_flash.counter == 1: - show screen blktone - with d3 + if states.her.tier <= 3 and not _events_completed_any: - her "(Stupid Slytherin...)" ("angry", "narrow", "angry", "mid", ypos="head", flip=False, trans=d3) + her "(Stupid Slytherins...)" ("angry", "narrow", "angry", "mid", xpos="far_right", flip=True, trans=d3) her "(I {b}HATE{/b} them!)" ("angry", "closed", "worried", "mid") - hide screen blktone - with d3 + if states.her.ev.admire_breasts.monologue: + $ states.her.ev.admire_breasts.monologue = False - elif not hg_pr_flash.monologue_glass and hg_pr_flash.is_event_complete(5, 3): # Event specific - $ hg_pr_flash.monologue_glass = True - - show screen blktone - with d3 - - her "(I can't believe I did that today...)" ("upset", "closed", "base", "mid", ypos="head", flip=False, trans=d3) + her "(I can't believe I did that today...)" ("upset", "closed", "base", "mid", xpos="far_right", flip=True, trans=d3) her "(What if Harry or Ron saw me like that?)" ("angry", "wide", "base", "stare") - her "(Standing there...)" - her "(Pressing my breasts against that window glass...)" + her "(Standing there...)" ("angry", "wide", "base", "stare") + her "(Pressing my breasts against that window...)" ("angry", "wide", "base", "stare") her "(I would probably just die of embarrassment right there on the spot...)" ("angry", "narrow", "base", "down") her "(No. Protecting the honour of the Gryffindor house is my number one priority.)" ("upset", "closed", "base", "mid") - her "(We must get the cup this year, no matter the cost...)" + her "(We must get the cup this year, no matter the cost...)" ("upset", "closed", "base", "mid") her "(........)" ("angry", "narrow", "base", "down") - hide screen blktone - with d3 - call her_chibi("leave") label .quick_end: # Increase Points - if not hg_pr_flash.is_tier_complete(): - $ her_reputation += 1 + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_flash.inProgress = False + $ states.her.status.public_stripping = True jump end_hermione_event label hg_pr_flash_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Good evening, [name_genie_hermione]." ("open", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you complete your task?" ("base", xpos="far_left", ypos="head") - her "I did as you asked [genie_name]..." + her "I did as you asked, [name_genie_hermione]..." ("open", "base", "base", "R") - if hg_pr_flash.is_tier_complete(): + if _events_filtered_completed_all: menu: "\"Great. Here are your points.\"": jump end_hg_pr_flash @@ -170,13 +173,11 @@ label hg_pr_flash_intro: pass stop music fadeout 3.0 - show screen blktone - with d3 - if hg_pr_flash.counter == 1: + if not _events_completed_any: her "......" ("annoyed", "narrow", "angry", "R") her "Well... *Ehm*..." ("soft", "base", "base", "R") - gen "Speak up, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Speak up, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Did you flash some lucky guy? How did it go?" ("base", xpos="far_left", ypos="head") @@ -188,19 +189,19 @@ label hg_pr_flash_T3_E1: call hg_pr_flash_intro - call play_music("playful_tension") # Music + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music her "*Ehm*... Not too well, actually..." ("angry", "happyCl", "worried", "mid",emote="sweat") her "................................" - gen "Just tell me what happened, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "That is the thing, [genie_name]..." ("open", "base", "base", "mid") + gen "Just tell me what happened, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "That's the thing, [name_genie_hermione]..." ("open", "base", "base", "mid") her "Nothing happened..." - her "I just couldn't bring myself to do it..." ("open", "narrow", "worried", "down") + her "The only chance I had, was with this one Slytherin... But I just couldn't bring myself to do it..." ("open", "narrow", "worried", "down") gen "I see..." ("base", xpos="far_left", ypos="head") - gen "Well, I can't just give you the points for nothing, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]... I understand..." ("open", "closed", "base", "mid") + gen "Well, I can't just give you the points for nothing, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]... I understand..." ("open", "closed", "base", "mid") her "I shall try harder next time... I promise..." ("annoyed", "base", "worried", "R") gen "Then I will just put these {number=current_payout} points aside for now..." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]..." ("annoyed", "base", "worried", "R") + her "Thank you, [name_genie_hermione]..." ("annoyed", "base", "worried", "R") her "..." her "I'd better go now." @@ -210,17 +211,17 @@ label hg_pr_flash_T3_E2: call hg_pr_flash_intro - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "*Ehm*... Sort of..." ("annoyed", "base", "worried", "R") gen "Sort of?" ("base", xpos="far_left", ypos="head") her "Yes... *Ehm*..." ("open", "base", "base", "mid") - her "Well, I've had my eyes on this Hufflepuff guy for a while and decided he could potentially be the someone that I try it on..." + her "Well, I've had my eyes on this Hufflepuff guy for a while, so I decided he could potentially be the \"someone\" that I try it on..." gen "You've \"had your eyes on him\" have you?" ("base", xpos="far_left", ypos="head") her "Yes, as he's always the person to arrive to his classes first, I made the assumption I might be able to catch him alone." gen "Right." ("base", xpos="far_left", ypos="head") show her_flash_public eyes_open_left mouth_frown zorder 15 as cg - hide hermione + hide hermione_main with fade her "So, today I've been standing in one of the corridors near the entrance to the Hufflepuff Common Room, anticipating the moment he usually leaves for class..." @@ -248,7 +249,7 @@ label hg_pr_flash_T3_E2: show her_flash_public hermione_pose3 eyes_open_right effects_questions as cg with d5 - her "In this moment of confusion, I quickly took the opportunity to try and correct my mistake." + her "During this moment of confusion, I quickly took the opportunity to try and correct my mistake." show her_flash_public npc_pose3 hermione_pose4 eyes_clenched blush_heavy effects_exclamation as cg with d5 @@ -286,24 +287,20 @@ label hg_pr_flash_T3_E2: hide cg with fade + her "" ("annoyed", "base", "worried", "R", xpos="mid", ypos="base") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "You've got one tit out at least. As a wise man once said--" ("base", xpos="far_left", ypos="head") gen "{i}A tit in the hand is worth two in the bush.{/i}" ("base", xpos="far_left", ypos="head") - her "I suppose... although I don't know if he ever realised I was trying to do something for his benefit." + her "I suppose... although I don't know if he ever realised I was trying to do something for his benefit." ("open", "narrow", "worried", "down") her "......................" ("annoyed", "base", "worried", "R") - her "I'm sorry, [genie_name]..." ("open", "base", "base", "mid") + her "I'm sorry, [name_genie_hermione]..." ("open", "base", "base", "mid") gen "That's alright..." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("open", "base", "base", "mid") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") gen "I wouldn't expect you to perform perfectly this early in your training anyway..." ("base", xpos="far_left", ypos="head") - - show screen blktone - with d3 - her "(My training?)" ("angry", "base", "base", "mid") - hide screen blktone - with d3 + $ states.her.status.public_show_tits = True jump end_hg_pr_flash @@ -311,23 +308,24 @@ label hg_pr_flash_T3_E3: call hg_pr_flash_intro - call play_music("hermione") # Music - her "I think it went well, [genie_name]." ("annoyed", "base", "worried", "R") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "I think it went well, [name_genie_hermione]." ("annoyed", "base", "worried", "R") gen "Good. Tell me more." ("base", xpos="far_left", ypos="head") her "*Ehm*... There is not much to tell, really..." ("open", "base", "base", "mid") - her "I spent the first half of the day with studying in the library..." + her "I spent the first half of the day studying in the library..." her "It is usually quite deserted during that time..." - her "Apart from me there was only one student..." + her "Apart from me there was only one other student..." her "Some boy from Ravenclaw..." ("upset", "closed", "base", "mid") - her "So I waved to him and when he looked up at me..." - her "I quickly pulled my shirt up..." ("angry", "base", "base", "mid") + her "So I waved at him, and when I finally had his attention..." + her "I quickly pulled up my top..." ("angry", "base", "base", "mid") gen "Good job." ("base", xpos="far_left", ypos="head") gen "How did he react to the sight of your naked tits?" ("base", xpos="far_left", ypos="head") - her "I'm not sure..." ("angry", "narrow", "base", "down") + her "I'm not sure... I didn't look at him for too long." ("angry", "narrow", "base", "down") her "He looked rather shocked I suppose..." ("angry", "base", "base", "mid") - her "After I showed him my breasts it got too embarrassing for me to stay there any longer..." ("angry", "narrow", "base", "down") + her "After I showed him my breasts, I got too embarrassed and couldn't bear it any longer..." ("angry", "narrow", "base", "down") her "So I just gathered all my books and left..." ("angry", "base", "base", "mid") - gen "I see..." ("base", xpos="far_left", ypos="head") + gen "Couldn't bare it any longer... I see..." ("base", xpos="far_left", ypos="head") + gen "Very well, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") jump end_hg_pr_flash @@ -338,30 +336,30 @@ label hg_pr_flash_T4_E1: call hg_pr_flash_intro her "..........." ("upset", "base", "worried", "R") - gen "[hermione_name], did you complete your task or not?" ("base", xpos="far_left", ypos="head") - her "Yes I did, [genie_name]." ("upset", "wink", "base", "mid") + gen "[name_hermione_genie], did you complete your task or not?" ("base", xpos="far_left", ypos="head") + her "Yes I did, [name_genie_hermione]." ("upset", "wink", "base", "mid") her "............." ("angry", "narrow", "base", "down") gen "Well?" ("base", xpos="far_left", ypos="head") her "................" ("angry", "narrow", "base", "down") - call play_music("hermione") # Music - her "Just for the record, [genie_name]..." ("annoyed", "narrow", "angry", "R") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Just for the record, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") gen "*Hmm*?" ("base", xpos="far_left", ypos="head") her "I think that forcing your pupils to do things like this..." ("scream", "closed", "angry", "mid") her "Is beneath an esteemed wizard such as yourself..." ("upset", "closed", "base", "mid") - gen "\"Forcing\"? Nobody is forcing you to do anything, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "\"Forcing\"? Nobody is forcing you to do anything, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You came to me, remember?" ("base", xpos="far_left", ypos="head") her ".........." ("open", "base", "base", "mid") gen "You begged me to buy a sexual favour from you." ("base", xpos="far_left", ypos="head") - her "... I..." ("annoyed", "base", "worried", "R") + her "... I--" ("annoyed", "base", "worried", "R") her "I never said \"sexual\"..." ("open", "base", "base", "mid") - gen "Nevertheless, you can stop selling me these favours at any moment, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Nevertheless, you can stop selling me these favours at any moment, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "I suppose..." ("annoyed", "narrow", "angry", "R") - gen "And yet you keep on coming back..." ("base", xpos="far_left", ypos="head") + gen "And yet, you keep on coming back..." ("base", xpos="far_left", ypos="head") her "............................" ("angry", "narrow", "base", "down") gen "I think you may actually be taking some twisted form of pleasure from this." ("base", xpos="far_left", ypos="head") her "What?" ("angry", "base", "angry", "mid") - gen "Shame on you, [hermione_name]. Shame on you." ("base", xpos="far_left", ypos="head") - her "[genie_name], I never...!" ("angry", "base", "angry", "mid") + gen "Shame on you, [name_hermione_genie]. Shame on you." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I never...!" ("angry", "base", "angry", "mid") gen "Enough of this. Did you complete your task or not?" ("base", xpos="far_left", ypos="head") her "Yes I did..." ("upset", "closed", "base", "mid") gen "And?" ("base", xpos="far_left", ypos="head") @@ -372,43 +370,48 @@ label hg_pr_flash_T4_E1: gen "Oh, whatever. Just take your points and go." ("base", xpos="far_left", ypos="head") her "" ("annoyed", "closed", "base", "mid") + $ states.her.status.public_show_tits = True + jump end_hg_pr_flash label hg_pr_flash_T4_E2: call hg_pr_flash_intro - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her ".........." ("normal", "happyCl", "worried", "mid") gen "................" ("base", xpos="far_left", ypos="head") her "..............." gen "Well?" ("base", xpos="far_left", ypos="head") her "Can I get paid first?" ("open", "base", "base", "mid") - gen "Not before you tell me what exactly you did today." ("base", xpos="far_left", ypos="head") + gen "Not before you tell me what you did today." ("base", xpos="far_left", ypos="head") her "...................." ("normal", "happyCl", "worried", "mid") - her "Do I really have to, [genie_name]?" ("open", "base", "base", "mid") + her "Do I really have to, [name_genie_hermione]?" ("open", "base", "base", "mid") gen "When you are being coy like this..." ("base", xpos="far_left", ypos="head") gen "It only makes me more curious. You know that, right?" ("base", xpos="far_left", ypos="head") - her "*Aww*..." ("angry", "base", "base", "mid") + her "Right..." ("angry", "base", "base", "mid") her "Well... *Ehm*..." ("angry", "narrow", "base", "down") her "Well, alright, here it goes..." - her "I flashed my tits to that Slytherin underclassman in a corridor..." ("scream", "happyCl", "worried", "mid") - her "But I was standing too close to him..." - her "...." ("normal", "happyCl", "worried", "mid") - her "...." - her "Well, he sort of grabbed one of my breasts, [genie_name]..." ("open", "base", "base", "mid") - her "he squeezed it hard and just wouldn't let go..." - her "He made me promise to meet him after my classes..." ("angry", "base", "base", "mid") + her "{size=+4}I flashed my tits to that Slytherin boy!{/size}" ("scream", "happyCl", "worried", "mid") + gen "..." ("angry", xpos="far_left", ypos="head") + her "But I made a mistake... I was standing way too close to him..." ("angry", "narrow", "worried", "mid") + her "So he... He--" ("angry", "closed", "worried", "mid") + her "He grabbed one of my breasts, [name_genie_hermione]!" ("disgust", "base", "worried", "mid") + her "And he squeezed it like his life depended on it, and wouldn't let go..." ("disgust", "happyCl", "worried", "mid") + gen "Sounds like a clear-cut case of childhood trauma." ("base", xpos="far_left", ypos="head") + her "He even tried to make me promise to meet him after my classes finished for the day..." ("angry", "base", "base", "mid") her "And let him..." her "\"Play with my tits\" some more..." ("open", "happyCl", "worried", "mid") - her "You see, that is why I hate Slytherin boys, [genie_name]..." ("angry", "narrow", "base", "down") - her "They don't have a shred of honour.." + her "You see, this is why I hate Slytherin boys, [name_genie_hermione]..." ("angry", "narrow", "base", "down") + her "They don't have a shred of honour..." her "..." - gen "Did you keep your promise?" ("base", xpos="far_left", ypos="head") - her "No, not yet..." ("angry", "base", "base", "mid") - her "I'm planning to meet that awful boy after we are done here, [genie_name]." - gen "I see..." ("base", xpos="far_left", ypos="head") - gen "Well, I shouldn't keep you waiting then, should I?" ("base", xpos="far_left", ypos="head") + gen "So... Did you promise to meet him or not?" ("base", xpos="far_left", ypos="head") + her "I didn't utter a word to him once he started treating my breast like some sort of squeeze toy..." ("annoyed", "narrow", "base", "R") + her "That said, I am planning to turn up, and give him a piece of my mind after we are done here, [name_genie_hermione]." ("grin", "closed", "base", "mid") + gen "A piece of your body, more like..." ("base", xpos="far_left", ypos="head") + her "What, I'd never--" ("angry", "closed", "angry", "mid") + gen "Well... Shouldn't keep him waiting." ("base", xpos="far_left", ypos="head") + her "" ("annoyed", "base", "base", "mid") jump end_hg_pr_flash @@ -419,27 +422,29 @@ label hg_pr_flash_T4_E3: her "It went well." ("open", "base", "base", "mid") gen "I'm listening..." ("base", xpos="far_left", ypos="head") her "Well..." ("open", "base", "base", "mid") - her "I had to spend a big portion of the day at the school library..." - her "So I didn't really have the time to perform your task properly, [genie_name]..." + her "I had to spend a big portion of the day at the school library..." ("soft", "base", "base", "R") + her "So I didn't really have the time to perform your task properly, [name_genie_hermione]..." ("angry", "base", "base", "R") gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music - her "Instead I just went to the library window and..." - her "... I just pulled my shirt up and pressed my bare breasts against the glass..." ("angry", "narrow", "base", "down") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "Instead, as I was outside in one of the courtyards..." + her "... I just pulled my shirt up and pressed my bare chest against the window of a nearby classroom..." ("angry", "narrow", "base", "down") her "I stood there like that for several seconds..." - her "To make sure that at least someone sees me from the outside..." - her "I hope this still counts, [genie_name]..." ("angry", "base", "base", "mid") + her "To make sure that at least someone would see them.." + her "I hope this still counts, [name_genie_hermione]..." ("angry", "base", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "How many students would you say saw you standing behind that window?" ("base", xpos="far_left", ypos="head") - her "I am not sure, [genie_name]... A couple maybe...?" ("angry", "narrow", "base", "down") + gen "How many students would you estimate, being behind that window?" ("base", xpos="far_left", ypos="head") + her "I am not sure, [name_genie_hermione]... A couple maybe...?" ("angry", "narrow", "base", "down") gen "\"Maybe\"?" ("base", xpos="far_left", ypos="head") - her "I don't know, [genie_name]..." ("open", "happyCl", "worried", "mid",cheeks="blush") - her "To be honest I kept my eyes closed..." - gen "How do you know that anyone saw you at all then, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I heard someone shout: \"Look! At that window over there!\"." ("angry", "squint", "base", "mid",cheeks="blush") - her "When I heard that I covered up and quickly left..." - her "...." ("angry", "base", "base", "mid") + her @ cheeks blush "I don't know, [name_genie_hermione]..." ("open", "happyCl", "worried", "mid") + her "To be honest, I kept my eyes closed..." + gen "How do you know that anyone saw you at all then, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh! I heard someone shout, \"Look! Over there, behind that window!\"." ("angry", "squint", "base", "mid") + her "That's when I covered up and sprinted out of there..." + her "..." ("angry", "base", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "Well, alright... I think this counts..." ("base", xpos="far_left", ypos="head") + gen "Well, alright... In that case, I suppose it counts..." ("base", xpos="far_left", ypos="head") + + $ states.her.ev.admire_breasts.monologue = True jump end_hg_pr_flash @@ -449,26 +454,26 @@ label hg_pr_flash_T5_E1: call hg_pr_flash_intro - her "As usual, [genie_name]..." ("base", "base", "base", "mid") + her "It went as usual, [name_genie_hermione]..." ("base", "base", "base", "mid") gen "I'm listening..." ("base", xpos="far_left", ypos="head") - her "Well... I had to spend a big portion of the day in the school library..." ("upset", "wink", "base", "mid") - her "So I didn't really have the time to perform your task properly, [genie_name]..." + her "I had to spend a big portion of the day in the school library..." ("upset", "wink", "base", "mid") + her "So I didn't really have the time to perform your task properly, [name_genie_hermione]..." gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - her "Instead I just made sure there were no teachers around..." ("angry", "base", "base", "mid") - call play_music("playful_tension") # Music + her "Instead, I just made sure there were no teachers around..." ("angry", "base", "base", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music her "Pulled my shirt up..." her "And then I just sat there like that for a while..." ("open", "base", "base", "mid") her "trying to get some studying done..." ("open", "narrow", "worried", "down") her "I don't think there were many people around..." her "Or at least I hope so..." ("angry", "narrow", "base", "down") - her "But they definitely saw my breasts, [genie_name]..." ("angry", "base", "base", "mid") - her "eventually A few first years seemed to notice..." ("angry", "narrow", "base", "down") - her "I had to leave pretty quickly after that..." ("angry", "base", "base", "mid") + her "But they definitely saw my breasts, [name_genie_hermione]..." ("angry", "base", "base", "mid") + her "Eventually, some first years seemed to notice..." ("angry", "narrow", "base", "down") + her "Of course... As they noticed, I made it look like it was an accident, and then quickly ran out of there..." ("angry", "base", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "How many people would you say saw your tits today, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Hard to say, [genie_name]..." ("open", "base", "base", "mid") - her "Two dozen boys or so I suppose..." - her "A few girls as well..." ("annoyed", "base", "worried", "R") + gen "How many people would you say saw your tits today, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Hard to say, [name_genie_hermione]..." ("open", "base", "base", "mid") + her "Two dozen boys or so, I suppose..." ("open", "base", "base", "mid") + her "A couple of girls perhaps..." ("annoyed", "base", "worried", "R") her "I think the school librarian may have seen me too..." gen "*Hmm*... Well, I'd say that's a job well done." ("base", xpos="far_left", ypos="head") @@ -478,46 +483,48 @@ label hg_pr_flash_T5_E2: call hg_pr_flash_intro - her "It went alright, I suppose." ("base", "base", "base", "mid") - gen "Well, tell me all about it, then." ("base", xpos="far_left", ypos="head") + her "It went alright, I suppose." ("open", "closed", "base", "mid") + gen "Tell me all about it, then." ("base", xpos="far_left", ypos="head") her "*Ehm*... Okay..." ("open", "base", "base", "mid") - her "I was flashing my tits to this boy in the Gryffindor common room..." - her "When my friend, Ginny walked in on us..." ("open", "base", "base", "mid") - gen "Another boy?" ("base", xpos="far_left", ypos="head") - her "A boy? No, Ginny is a girl's name, [genie_name]." ("soft", "base", "base", "R") - gen "....." ("base", xpos="far_left", ypos="head") - her "Ginny Weasley, [genie_name]." ("open", "base", "base", "mid") + her "I flashed my breasts to this boy in the Gryffindor common room..." ("open", "base", "base", "mid") + her "When a friend of mine... walked in on us..." ("soft", "narrow", "base", "down") + gen "Another boy? I thought you said it went well?" ("base", xpos="far_left", ypos="head") + her "A boy? No, this was one of my many female friends, [name_genie_hermione]." ("angry", "narrow", "base", "mid") + gen "One of your many... Hold on... Why haven't I ever heard--" ("base", xpos="far_left", ypos="head") + her "Anyway..." ("open", "closed", "angry", "mid") gen "Alright, fine, continue..." ("base", xpos="far_left", ypos="head") her "*Ehm*..." ("soft", "base", "base", "R") - her "......." - call play_music("hermione") # Music + her "......." ("annoyed", "base", "base", "R") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "*Giggle*" ("grin", "happyCl", "worried", "mid",emote="sweat") gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - her "Then Ginny grabbed my breasts..." ("smile", "base", "base", "R") - her "And started to squeeze them..." - her "then she started to kiss my breasts passionately..." + her "So, my friend came up to me and grabbed my breasts..." ("smile", "base", "base", "R") + her "And then she started squeezing them..." ("smile", "base", "base", "R") + her "She then started to kiss my breasts passionately..." ("smile", "closed", "base", "R") gen "............" ("base", xpos="far_left", ypos="head") - her "to kiss and suck on my nipples..." ("smile", "base", "angry", "mid") - her "And I couldn't help myself - I started to moan..." ("base", "narrow", "base", "mid_soft") + her "She even started sucking on my nipples..." ("smile", "base", "angry", "mid") + her "Of course, I couldn't help myself, and I started to moan..." ("base", "narrow", "base", "mid_soft") gen ".............." ("base", xpos="far_left", ypos="head") - her "And then the boy took out his throbbing cock..." ("base", "squint", "base", "mid") - her "And sprayed his hot spunk all over me and Ginny!" - her "And then me and Ginny, we licked his hot sperm off of our bodies..." ("smile", "base", "angry", "mid") + her "And then the boy took out his throbbing cock!" ("smile", "squint", "base", "mid") + her "And sprayed his hot spunk all over us both!" ("smile", "closed", "base", "mid") + her "And then we licked his hot sperm off each other's bodies..." ("smile", "closed", "angry", "mid") gen ".............." ("base", xpos="far_left", ypos="head") - gen "Are you making this up, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "... maybe." ("grin", "happyCl", "worried", "mid",emote="sweat") - her "I just thought that you would like to hear something like that, [genie_name]..." ("base", "narrow", "base", "mid_soft") - gen "What I would like to hear, [hermione_name], is the truth." ("base", xpos="far_left", ypos="head") - her "Even if it's incredibly dull, [genie_name]?" ("open", "closed", "base", "mid") + gen "Are you making this up, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "... Maybe." ("grin", "closed", "worried", "mid", emote="sweat") + her "I just thought that you would like to hear something like that, [name_genie_hermione]..." ("base", "squint", "base", "mid_soft") + gen "What I would like to hear, [name_hermione_genie], is the truth." ("base", xpos="far_left", ypos="head") + her "Even if it's incredibly dull, [name_genie_hermione]?" ("angry", "squint", "base", "mid") gen "Dull or not..." ("base", xpos="far_left", ypos="head") gen "I only want to know what actually happened..." ("base", xpos="far_left", ypos="head") - gen "Keep your fantasies to yourself, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "As you wish, [genie_name]." ("annoyed", "narrow", "annoyed", "up") - her "My friend Ginny walked in on me while I was flashing my tits to that guy." - her "But she promised to not tell anyone." - her "And that's all that happened, [genie_name]..." ("soft", "base", "base", "mid") - gen "I see..." ("base", xpos="far_left", ypos="head") - gen "I still prefer this to some made up stories..." ("base", xpos="far_left", ypos="head") + gen "Keep your fantasies to yourself, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "As you wish, [name_genie_hermione]." ("annoyed", "narrow", "worried", "R") + her "My friend walked in on me while I was flashing my tits to that guy." ("open", "narrow", "worried", "mid") + her "But since she came up behind me, I managed to put them away..." ("open", "base", "worried", "R") + her "And that's all that happened, [name_genie_hermione]..." ("soft", "base", "base", "mid") + gen "Exciting..." ("base", xpos="far_left", ypos="head") + her "You think so, [name_genie_hermione]?" ("angry", "base", "base", "mid") + gen "Of course, [name_hermione_genie]... Did you not find it exciting?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... I suppose..." ("soft", "narrow", "base", "down") jump end_hg_pr_flash @@ -525,28 +532,30 @@ label hg_pr_flash_T5_E3: call hg_pr_flash_intro - call play_music("hermione") # Music - her "Yes I did, [genie_name]..." ("base", "base", "base", "mid") - gen "Alright, tell me how did it go." ("base", xpos="far_left", ypos="head") - her "Well, let's see..." ("annoyed", "base", "worried", "R") - her "First I flashed them to that one boy from Ravenclaw..." - her "Then to that upperclassman from Hufflepuff..." ("open", "base", "base", "mid") - her "Then there was this other boy from Ravenclaw." ("base", "base", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her @ cheeks blush "*Hmm*..." ("base", "narrow", "base", "down") + gen "How did it go, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, *Ehm*... let's see..." ("soft", "narrow", "base", "down") + her @ cheeks blush "First I flashed them to that one boy from Slytherin... You know, the one who grabbed my breasts." ("open", "base", "base", "mid") + her @ cheeks blush "Then to that Hufflepuff guy who I previously flashed in the corridor outside the Hufflepuff common room..." ("open", "closed", "base", "mid") + her @ cheeks blush "Then there was this boy from Ravenclaw that I previously flashed inside the library..." ("open", "base", "base", "R") gen "???" ("base", xpos="far_left", ypos="head") - her "After that I flashed my tits to some Gryffindor underclassman by mistake..." ("angry", "happyCl", "worried", "mid",emote="sweat") - her "No, wait... the boy from Gryffindor was after that other boy..." ("annoyed", "base", "worried", "R") - gen "How many boys did you flash your tits to today, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Half a dozen or so?" ("angry", "base", "base", "mid") - her "I had an opening in my schedule..." ("angry", "wink", "base", "mid") - her "So I decided to go for some extra credit with your assignment, [genie_name]." - gen "This is not an assignment, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "And there are no extra credits..." ("base", xpos="far_left", ypos="head") - her "Oh...?" ("open", "base", "base", "mid") - gen "You are still getting your usual payment, [hermione_name], and that's it." ("base", xpos="far_left", ypos="head") - her "Oh... I see..." ("annoyed", "base", "worried", "R") - gen "But, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("open", "base", "base", "mid") - gen "That was very well done." ("grin", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "After that, I flashed them to that Gryffindor underclassman who I told you about the other day..." ("open", "base", "base", "mid", emote="sweat") + her @ cheeks blush "No, wait... The boy from Gryffindor was after that other boy..." ("angry", "base", "worried", "R") + gen "How many boys did you flash your tits to, [name_hermione_genie]?!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh... Well, that's about all of them..." ("angry", "base", "base", "mid") + her @ cheeks blush "I had an opening in my schedule... And I figured I'd give them another look..." ("angry", "squint", "base", "mid") + her @ cheeks blush "I mean, that's the least I could do... Seeing that I wasn't actually pursuing any of them." ("soft", "squint", "base", "R") + gen "Yes... Doing it again certainly won't give them that idea..." ("base", xpos="far_left", ypos="head") + her "Anyway... I figured that you may want to give me a good grade since I went well beyond what was required from my assignment, [name_genie_hermione]." ("open", "squint", "base", "mid") + gen "This is not an assignment, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "There is no grading..." ("base", xpos="far_left", ypos="head") + her "Oh..." ("open", "narrow", "base", "down") + gen "You are doing this for points, [name_hermione_genie]... Not a grade..." ("base", xpos="far_left", ypos="head") + her "Oh... Right..." ("annoyed", "base", "worried", "R") + gen "But, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid") + gen "If you were to receive a grade... It'd be a high one." ("grin", xpos="far_left", ypos="head") + her "I see... Well, I guess that will have to do..." ("grin", "narrow", "base", "mid_soft") jump end_hg_pr_flash diff --git a/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy b/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy index b0856a67..afaea36a 100644 --- a/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy +++ b/game/scripts/characters/hermione/events/requests/flirt_with_students.rpy @@ -6,88 +6,92 @@ label hg_pr_flirt: # Setup $ current_payout = 5 - if hg_pr_flirt.counter == 0: + if not _events_completed_any: gen "{size=-4}(Ask her to go flirt with some boys from Slytherin?){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu her "" (xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes?" ("soft", "base", "base", "R") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes?" ("soft", "base", "base", "mid") #Intro. - if hg_pr_flirt.counter == 0: + if not _events_completed_any: gen "What is your opinion on the boys of the Slytherin house?" ("base", xpos="far_left", ypos="head") - her "I detest them, [genie_name]." ("angry", "base", "angry", "mid") + her "I detest them, [name_genie_hermione]." ("angry", "base", "angry", "mid") gen "Well, too bad. Because I want you to get really friendly with a few of them today." ("base", xpos="far_left", ypos="head") her "If I must..." ("soft", "base", "base", "R") her "Yes, I think I can manage to be civil with them for one day." gen "Yes, and when I say \"get friendly with them\"..." ("base", xpos="far_left", ypos="head") gen "I actually mean that I need you to flirt with them..." ("base", xpos="far_left", ypos="head") her "Flirt?!" ("shock", "wide", "base", "stare") - her "[genie_name]!" ("angry", "base", "angry", "mid") - her "I'm not even going to ask why you'd be interested in this, [genie_name]..." ("annoyed", "squint", "base", "mid") + her "[name_genie_hermione]!" ("angry", "base", "angry", "mid") + her "I'm not even going to ask why you'd be interested in this, [name_genie_hermione]..." ("annoyed", "squint", "base", "mid") her "But why Slytherin?" ("open", "base", "worried", "mid") her "If you need me to be flirtatious today, I think I can manage that..." her "But, please, can't it be another house?" her "Gryffindor maybe?" ("upset", "wink", "base", "mid") - gen "I am only trying to protect your reputation, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("soft", "base", "base", "mid") + gen "I am only trying to protect your reputation, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("soft", "base", "base", "mid") gen "Do you value the opinion the Slytherin students have of you?" ("base", xpos="far_left", ypos="head") her "I couldn't care less about the opinions of those Neanderthals." ("scream", "closed", "angry", "mid") gen "What about the students of the Gryffindor house?" ("base", xpos="far_left", ypos="head") her "Their opinion means the world to me--" ("annoyed", "base", "worried", "R") her "Oh, I see..." ("base", "base", "base", "mid") - gen "Exactly... Just looking out for you [hermione_name]." ("base", xpos="far_left", ypos="head") - her "*Ehm*... Thank you [genie_name]..." + gen "Exactly... Just looking out for you [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "*Ehm*... Thank you [name_genie_hermione]..." else: - if her_tier >= 3: + if states.her.tier >= 3: gen "I need you to flirt with some boys from Slytherin today." ("base", xpos="far_left", ypos="head") - her "I'll see what I can do, [genie_name]." - gen "Great. I'll be expecting your report today after classes." ("base", xpos="far_left", ypos="head") - elif her_tier >= 2: + her "Right... I'll see what I can do, [name_genie_hermione]." ("open", "base", "base", "R") + gen "Great. I'll be expecting a report once your classes are done for the day." ("base", xpos="far_left", ypos="head") + her "Okay then..." ("soft", "base", "base", "R") + elif states.her.tier >= 2: gen "I need you to go make some new friends at the Slytherin house." ("base", xpos="far_left", ypos="head") - her "You mean you need me to flirt with the Slytherin boys again [genie_name]?" + her "You mean you need me to flirt with the Slytherin boys again [name_genie_hermione]?" her "Fine." ("upset", "base", "angry", "R") - her "If I have to, [genie_name]..." ("normal", "squint", "angry", "mid") + her "If I have to, [name_genie_hermione]..." ("normal", "squint", "angry", "mid") else: - if hg_pr_flirt.counter == 1: + if _events_filtered_completed_any: gen "I need you to go make some new friends at the Slytherin house." ("base", xpos="far_left", ypos="head") - her "You mean you need me to flirt with the Slytherin boys again [genie_name]?" - gen "That's exactly what I need you to do today, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "You mean you need me to flirt with the Slytherin boys again, [name_genie_hermione]?" + gen "That's exactly what I need you to do today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Just do it properly this time." ("base", xpos="far_left", ypos="head") - her "Must I really do this [genie_name]?" ("open", "base", "base", "mid") - gen "We have been through this, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "Must I really do this [name_genie_hermione]?" ("open", "base", "base", "mid") + gen "We have been through this, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Going to the Slytherin boys is in your best interest." ("base", xpos="far_left", ypos="head") - her "Yes, I know, [genie_name]." ("open", "closed", "angry", "mid") + her "Yes, I know, [name_genie_hermione]." ("open", "closed", "angry", "mid") her "But why must I do this at all?" - gen "Nobody is forcing you, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "You don't need to remind me of that, [genie_name]..." ("angry", "base", "angry", "mid") - her "Alright if I must... [genie_name]..." ("normal", "squint", "angry", "mid") + gen "Nobody is forcing you, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "You don't need to remind me of that, [name_genie_hermione]..." ("angry", "base", "angry", "mid") + her "Alright, if I must... [name_genie_hermione]..." ("normal", "squint", "angry", "mid") else: gen "I need you to go make some new friends at the Slytherin house." ("base", xpos="far_left", ypos="head") - her "You mean you need me to flirt with the Slytherin boys again, [genie_name]?" - her "Must I really do this [genie_name]?" ("upset", "base", "worried", "mid") + her "You mean you need me to flirt with the Slytherin boys again, [name_genie_hermione]?" + her "Must I really do this [name_genie_hermione]?" ("upset", "base", "worried", "mid") gen "This again?" ("base", xpos="far_left", ypos="head") her "Fine........." ("upset", "base", "angry", "R") - her "If I must... [genie_name]..." ("normal", "squint", "angry", "mid") + her "If I must... [name_genie_hermione]..." ("normal", "squint", "angry", "mid") her "Well, I'd better go now. Classes are about to start..." call her_walk(action="leave") - - $ hg_pr_flirt.inProgress = True + jump end_hermione_event # End Event label end_hg_pr_flirt: + + $ states.her.ev.flirt_with_students.done_before = True + $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: @@ -95,37 +99,31 @@ label end_hg_pr_flirt: pause.2 # Inner monologue - if hg_pr_flirt.counter == 1: - show screen blktone - with d3 + if states.her.tier <= 1 and not _events_completed_any: - her "(........)" ("disgust", "base", "worried", "down", ypos="head", flip=False, trans=d3) + her "(........)" ("disgust", "base", "worried", "down", ypos="base", xpos="base", flip=True, trans=d3) her "(I'll need to read about this whole \"flirting\" thing...)" ("annoyed", "base", "angry", "L") - hide screen blktone - with d3 - call her_chibi("leave") label .quick_end: # Increase Points - if not hg_pr_flirt.is_tier_complete(): - $ her_reputation += 1 + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_flirt.inProgress = False jump end_hermione_event label hg_pr_flirt_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("open", "closed", "base", "mid", xpos="mid", ypos="base", trans=fade) + her "Good evening, [name_genie_hermione]." ("open", "closed", "base", "mid", xpos="mid", ypos="base", trans=fade) her "" ("normal", "base", "base", "mid") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you complete your task?" ("base", xpos="far_left", ypos="head") - her "I did as you asked, [genie_name]..." ("open", "base", "base", "R") + her "I did as you asked, [name_genie_hermione]..." ("open", "base", "base", "R") her "" ("normal", "base", "base", "R") - if hg_pr_flirt.is_tier_complete(): + if _events_filtered_completed_all: menu: "\"Great. You earned your points.\"": jump end_hg_pr_flirt @@ -135,11 +133,11 @@ label hg_pr_flirt_intro: stop music fadeout 3.0 - if hg_pr_flirt.counter == 1: + if not _events_completed_any: her "......" ("annoyed", "narrow", "angry", "R") - her "So *Ehm*..." ("soft", "base", "base", "R") + her "So...{w=0.4} *Ehm*." ("soft", "base", "base", "R") - gen "How many boys did you flirt with today, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "How many boys did you flirt with today, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") return @@ -155,23 +153,23 @@ label hg_pr_flirt_T1_E1: gen "I'm listening..." ("base", xpos="far_left", ypos="head") her "So... I went to him and I said \"Hey, handsome!\"." gen "And?" ("base", xpos="far_left", ypos="head") - call play_music("hermione") # Music - her "He stuck out his tongue and ran off, [genie_name]." ("normal", "squint", "angry", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "He stuck out his tongue and ran off, [name_genie_hermione]." ("normal", "squint", "angry", "mid") gen "Did you try to lure him in with a lollipop?" ("base", xpos="far_left", ypos="head") - her "I did not, [genie_name]..." ("open", "base", "worried", "R") + her "I did not, [name_genie_hermione]..." ("open", "base", "worried", "R") her "The thought never crossed my mind, but--" - gen "That was a joke, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "That was a joke, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "............." ("annoyed", "squint", "angry", "mid") gen "I told you to flirt with boys {size=+5}your{/size} age!" ("base", xpos="far_left", ypos="head") her "I wanted to at first, but..." ("normal", "squint", "angry", "mid") her "I guess I got scared..." ("annoyed", "narrow", "angry", "R") - her "I mean I despise those Slytherins way too much to flirt with them, [genie_name]!" + her "I mean, I despise those Slytherins way too much to flirt with them, [name_genie_hermione]!" her "I would have to fight my gag-reflex the entire time!" ("angry", "base", "angry", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Fine. Just try harder next time.\"": - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") her "I will, I promise!" "\"Favour failed! No points for you!\"": @@ -179,7 +177,7 @@ label hg_pr_flirt_T1_E1: her "I understand..." ("normal", "squint", "angry", "mid") gen "Get out of my sight..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]... Sorry, [genie_name]..." ("annoyed", "squint", "angry", "mid") + her "Yes, [name_genie_hermione]... Sorry, [name_genie_hermione]..." ("annoyed", "squint", "angry", "mid") jump end_hg_pr_flirt.no_points @@ -189,10 +187,10 @@ label hg_pr_flirt_T1_E2: call hg_pr_flirt_intro - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "Well, I tried to compliment an upperclassman..." ("open", "base", "worried", "R") gen "Did he appreciate it?" ("base", xpos="far_left", ypos="head") - her "He called me a \"Gryffindor whore\", [genie_name]!" ("angry", "base", "angry", "mid", emote="angry") + her "He called me a \"Gryffindor whore\", [name_genie_hermione]!" ("angry", "base", "angry", "mid", emote="angry") gen "I see..." ("base", xpos="far_left", ypos="head") gen "What did you do then?" ("base", xpos="far_left", ypos="head") her "Well, that was not the proper way to address a fellow \"Hogwarts\" student..." ("open", "closed", "angry", "mid") @@ -203,30 +201,30 @@ label hg_pr_flirt_T1_E2: her "He was obviously struggling with a problem..." her "So I offered my help..." gen "And?" ("base", xpos="far_left", ypos="head") - her "He called me a \"Patronising Gryffindor Whore\", [genie_name]..." ("angry", "base", "angry", "mid", emote="angry") + her "He called me a \"Patronising Gryffindor Whore\", [name_genie_hermione]..." ("angry", "base", "angry", "mid", emote="angry") gen "Did you threaten to report him as well?" ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("open", "closed", "angry", "mid") - gen "*sigh*" ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]." ("open", "closed", "angry", "mid") + gen "*Sigh*" ("base", xpos="far_left", ypos="head") gen "Anything else?" ("base", xpos="far_left", ypos="head") her "Well, there was one more incident but the outcome was pretty much the same..." ("annoyed", "squint", "angry", "mid") gen "\"Gryffindor whore\"?" ("base", xpos="far_left", ypos="head") - her "......... yes, [genie_name]." ("disgust", "narrow", "base", "mid_soft") - gen "You are doing it all wrong, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I am sorry, [genie_name]. I thought this would be easy..." ("annoyed", "narrow", "angry", "R") + her "......... yes, [name_genie_hermione]." ("disgust", "narrow", "base", "mid_soft") + gen "You are doing it all wrong, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "I am sorry, [name_genie_hermione]. I thought this would be easy..." ("annoyed", "narrow", "angry", "R") menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Well, at least you are trying.\"": her "I truly am..." ("angry", "happyCl", "worried", "mid") her "But Apparently flirting is not my forte..." ("angry", "base", "worried", "down", emote="sweat") - her "" ("base", "base", "worried", "mid",) + her "" ("base", "base", "worried", "mid") "\"Favour failed! No points for you!\"": stop music fadeout 1.0 - her "You are not going to pay me, [genie_name]?" ("open", "base", "worried", "mid") - her "But, you promised!" ("angry", "base", "base", "mid", tears="soft") + her "You are not going to pay me, [name_genie_hermione]?" ("open", "base", "worried", "mid") + her @ tears soft "But, you promised!" ("angry", "base", "base", "mid") gen "And you promised to flirt with the boys, not get bullied." ("base", xpos="far_left", ypos="head") - her "................" ("mad", "happyCl", "worried", "mid", tears="soft_blink") + her @ tears soft_blink "................" ("mad", "happyCl", "worried", "mid") call her_walk(action="run", xpos="door", speed=2, reduce=True) call her_chibi("leave") @@ -235,7 +233,7 @@ label hg_pr_flirt_T1_E2: gen "..." ("base", xpos="far_left", ypos="head") gen "Now I feel bad for saying that..." ("base", xpos="far_left", ypos="head") - $ her_mood += 10 + $ states.her.mood += 10 jump end_hg_pr_flirt.quick_end jump end_hg_pr_flirt @@ -245,18 +243,19 @@ label hg_pr_flirt_T1_E3: call hg_pr_flirt_intro her "Well, the Slytherin quidditch team was practising in the stadium today..." ("open", "base", "worried", "R") + gen "(Quidish... Team?)" ("base", xpos="far_left", ypos="head") her "I thought I could sneak into the bleachers and cheer them on..." her "But..." ("annoyed", "narrow", "angry", "R") gen "Yes?" ("base", xpos="far_left", ypos="head") - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music - her "A whole flock of those Slytherin harlots was already there, [genie_name]." ("angry", "base", "angry", "mid") + her "A whole flock of those Slytherin harlots was already there, [name_genie_hermione]." ("angry", "base", "angry", "mid") her "They were cheering and yelling..." - her "And one of them even exposed herself inappropriately to the players, [genie_name]..." ("angry", "base", "angry", "mid") + her "And one of them even exposed herself inappropriately to the players, [name_genie_hermione]..." ("angry", "base", "angry", "mid") her "I cannot believe our school accepts such behaviour..." gen "So... how did this captivating drama end?" ("base", xpos="far_left", ypos="head") - her "I just left [genie_name]..." ("annoyed", "narrow", "angry", "R") + her "I just left, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") menu: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") @@ -269,12 +268,10 @@ label hg_pr_flirt_T1_E3: "\"Favour failed! No points for you!\"": stop music fadeout 1.0 her "I don't feel like I deserved any this time anyway..." ("annoyed", "happyCl", "worried", "R") - her "Can I leave now, [genie_name]?" ("annoyed", "base", "worried", "mid") + her "Can I leave now, [name_genie_hermione]?" ("annoyed", "base", "worried", "mid") gen "Dismissed!" ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ hg_pr_flirt.inProgress = False - jump end_hermione_event ### Tier 2 - LVL 3-6 ### @@ -286,40 +283,39 @@ label hg_pr_flirt_T2_E1: her "Well, there was this one guy at the library..." ("open", "base", "worried", "R") her "He was obviously struggling with some assignment, so I offered my help..." gen "And?" ("base", xpos="far_left", ypos="head") - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "Well, to my surprise he accepted it..." ("smile", "happyCl", "base", "mid") her "He let me finish the assignment for him..." her "While I was working he made a couple of inappropriate comments, but I just smiled in response..." ("angry", "happyCl", "worried", "mid", emote="sweat") gen "So, basically, he was the one doing the flirting..." ("base", xpos="far_left", ypos="head") - her "well... I guess." ("grin", "happyCl", "worried", "mid", emote="sweat") + her "Well... I guess." ("grin", "happyCl", "worried", "mid", emote="sweat") her "But, despite my better judgment, I did encourage his improper behaviour..." ("base", "base", "base", "mid") gen "By being quiet?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." + her "Yes, [name_genie_hermione]..." her "I mean, this does amount to something, right?" gen "*Meh*..." ("base", xpos="far_left", ypos="head") gen "What else do you have for me?" ("base", xpos="far_left", ypos="head") her "Right..." ("annoyed", "narrow", "angry", "R") - her "Later in a corridor these two other guys complimented my appearance in a very vulgar manner..." + her "Later in a corridor, these two other guys complimented my appearance in a very vulgar manner..." her "But I just smiled at them..." ("angry", "happyCl", "worried", "mid", emote="sweat") gen "You were on the receiving end again, then..." ("base", xpos="far_left", ypos="head") - gen "This is not what I ordered you to do, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I know, [genie_name]!" ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "This is not what I ordered you to do, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "I know, [name_genie_hermione]!" ("angry", "happyCl", "worried", "mid", emote="sweat") her "But I am so busy. Between the \"MRM\" meetings and the classes..." ("annoyed", "narrow", "angry", "R") her "I barely have any time--" - # TODO: Check if this part fits the current story line, Johnny. gen "Is this all you got for me this time then?" ("base", xpos="far_left", ypos="head") - her "No, [genie_name]." ("annoyed", "narrow", "angry", "R") - her "On my way here I ran into Draco Malfoy, [genie_name]." + her "No, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") + her "On my way here I ran into Draco Malfoy, [name_genie_hermione]." gen "No way!!! (No idea who that is...)" ("base", xpos="far_left", ypos="head") - her "I forced myself to be friendly with him and..." + her "I forced myself to be friendly with him, and..." her "We ended up having a decent conversation for a change." ("base", "happyCl", "base", "mid") gen "I see... That \"Dark-oh\" guy..." ("base", xpos="far_left", ypos="head") gen "Was he looking at your legs at all?" ("base", xpos="far_left", ypos="head") her "What?" ("open", "base", "base", "mid") - gen "Did he stare at your legs or not, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Did he stare at your legs or not, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "*Ehm*... He might have..." ("upset", "wink", "base", "mid") gen "What about your tits?" ("base", xpos="far_left", ypos="head") - her "[genie_name]!!!" ("angry", "base", "angry", "mid") + her "[name_genie_hermione]!!!" ("angry", "base", "angry", "mid") gen "Fine. You get your points. Keep up the good work." ("base", xpos="far_left", ypos="head") her "" ("annoyed", "base", "worried", "R") @@ -332,19 +328,19 @@ label hg_pr_flirt_T2_E2: her "Well..." ("open", "base", "worried", "R") her "This morning I did flirt with this one guy..." - her "Then after the second period there was this other guy..." ("soft", "base", "base", "R") + her "Then after the second period, there was this other guy..." ("soft", "base", "base", "R") her "And then something bizarre happened..." ("angry", "base", "worried", "mid") - call play_music("playful_tension") # Music + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music her "This angry-looking guy from Slytherin came up to me and asked me out on a date..." her "I told him \"no\" at first, but we ended up taking a walk together." ("soft", "base", "base", "R") - gen "Did you enjoy yourself, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I think I did, [genie_name]... To my own astonishment..." ("open", "base", "base", "mid") + gen "Did you enjoy yourself, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "I think I did, [name_genie_hermione]... To my own astonishment..." ("open", "base", "base", "mid") her "There was something about his \"devil-may-care\" attitude..." ("base", "base", "base", "mid") - her "He was so confident and calm and..." ("base", "happyCl", "base", "mid") + her "He was so confident and calm, and..." ("base", "happyCl", "base", "mid") her "I still loathe the Slytherin house of course!" ("angry", "happyCl", "worried", "mid", emote="sweat") her "But..." ("annoyed", "narrow", "worried", "down") her "Maybe some of the students got there by mistake?" - her "Could the \"sorting hat\" make... miscalculations?" ("open", "base", "worried", "R") + her "Could the \"sorting hat\" make... Miscalculations?" ("open", "base", "worried", "R") menu: "\"Just take your points and go!\"": @@ -352,11 +348,11 @@ label hg_pr_flirt_T2_E2: "\"The almighty hat is never wrong!\"": her "Yes, of course... Everybody knows that..." ("soft", "base", "base", "R") - gen "(What hat again? I have no fucking clue what's she's blabbing about.)" ("base", xpos="far_left", ypos="head") + gen "(What hat again? I have no fucking clue what she's blabbing about.)" ("base", xpos="far_left", ypos="head") gen "(Doesn't hurt playing along...)" ("base", xpos="far_left", ypos="head") "\"Could what make what?\"": - her "Oh, never mind me, [genie_name]." ("soft", "base", "base", "R") + her "Oh, never mind me, [name_genie_hermione]." ("soft", "base", "base", "R") her "Everyone knows that the \"Sorting Hat\" is never wrong." jump end_hg_pr_flirt @@ -366,8 +362,8 @@ label hg_pr_flirt_T2_E3: call hg_pr_flirt_intro - call play_music("hermione") # Music - her "Five guys, [genie_name]!" ("smile", "happyCl", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Five guys, [name_genie_hermione]!" ("smile", "happyCl", "base", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") her "Yes!" ("base", "happyCl", "base", "mid") her "This one guy this morning." ("base", "happyCl", "base", "mid") @@ -377,11 +373,11 @@ label hg_pr_flirt_T2_E3: her "That last one was quite smart and well-mannered too." ("base", "happyCl", "base", "mid") her "............................" her "................" - her "But I still refuse to change my opinion about the Slytherin house, [genie_name]." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "I'm not asking you to, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "But I still refuse to change my opinion about the Slytherin house, [name_genie_hermione]." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "I'm not asking you to, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "I am only doing this to help my own house!" - her "The proud house of \"Gryffndor\"!" ("scream", "happyCl", "worried", "mid") - gen "Alright, alright. Calm down, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "The proud house of {b}Gryffindor{/b}!" ("scream", "happyCl", "worried", "mid") + gen "Alright, alright... Calm down, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "" ("base", "happyCl", "base", "mid") jump end_hg_pr_flirt @@ -392,9 +388,9 @@ label hg_pr_flirt_T3_E1: call hg_pr_flirt_intro - call play_music("hermione") # Music - her "Eleven boys, [genie_name]!" ("smile", "happyCl", "base", "mid") - gen "Eleven? Really? Your personal best, [hermione_name]." ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Eleven boys, [name_genie_hermione]!" ("smile", "happyCl", "base", "mid") + gen "Eleven? Really? Your personal best, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Yes." ("base", "happyCl", "base", "mid") her "Let's see..." ("grin", "base", "base", "R") her "Those two handsome guys right before the first period started..." @@ -402,21 +398,20 @@ label hg_pr_flirt_T3_E1: her "After that there was this one other guy..." ("grin", "base", "base", "R") her "Then those three guys..." ("annoyed", "narrow", "worried", "down") her "Then one more right before the last period..." ("base", "happyCl", "base", "mid") - her "And finally this last guy that walked me right to your tower, [genie_name]..." ("smile", "happyCl", "base", "mid") - gen "So, eleven then?" ("base", xpos="far_left", ypos="head") + her "And finally this last guy that walked me right to your tower, [name_genie_hermione]..." ("smile", "happyCl", "base", "mid") + gen "So, eleven, then?" ("base", xpos="far_left", ypos="head") gen "Those Slytherin boys are really starting to like you, *huh*?" ("base", xpos="far_left", ypos="head") her "I suppose so..." ("base", "happyCl", "base", "mid") her "Well, not all of them were nice to me at first..." ("annoyed", "narrow", "worried", "down") - her "But I use this one trick to \"tame\" them." ("smile", "narrow", "base", "mid_soft") - gen "A trick you say?" ("base", xpos="far_left", ypos="head") - her "Yes... Whenever a boy from Slytherin is being mean to me or calls me a name..." ("open", "base", "base", "R") - her "Like so!" ("base", "happyCl", "base", "mid") - her "I just swallow my pride and smile in response." + her "But I used this one trick to \"tame\" them." ("smile", "narrow", "base", "mid_soft") + gen "A trick, you say?" ("base", xpos="far_left", ypos="head") + her "Yes... Whenever a boy from Slytherin is being mean to me, or calls me names..." ("open", "base", "base", "R") + her "I just swallow my pride and smile in response." ("base", "happyCl", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "So, if for example, somebody were to call you a \"whore\" you would just smile at them?" ("base", xpos="far_left", ypos="head") - her "Well, yes, [genie_name]..." ("angry", "happyCl", "worried", "mid", emote="sweat") + her "Well, yes, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", emote="sweat") gen "Yeah, I'm sure that wins them over." ("base", xpos="far_left", ypos="head") - gen "Great job, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Great job, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "" ("grin", "base", "base", "R") jump end_hg_pr_flirt @@ -425,23 +420,23 @@ label hg_pr_flirt_T3_E2: call hg_pr_flirt_intro - call play_music("hermione") # Music - her "Two dates, seven quite pleasant conversations..." ("smile", "happyCl", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "I had two dates, and seven quite pleasant conversations..." ("smile", "happyCl", "base", "mid") - if hg_pr_kiss.counter >= 1: - her "And I even let this one guy kiss me on the lips..." ("soft", "base", "base", "R", cheeks="blush") + if states.her.status.public_kissing: + her @ cheeks blush "I even let this one guy kiss me on the lips..." ("soft", "base", "base", "R") else: - her "And I even let this one guy kiss me on the cheek..." ("grin", "base", "base", "R") + her "I even let this one guy kiss me on the cheek..." ("grin", "base", "base", "R") - gen "Quite impressive, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I think so too, [genie_name]. Thank you." ("base", "happyCl", "base", "mid") + gen "Quite impressive, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "I think so too, [name_genie_hermione]. Thank you." ("base", "happyCl", "base", "mid") her "Oh, and there was also this freshman boy..." ("smile", "happyCl", "base", "mid") her "I tried to flirt with him too, but we ended up just chatting..." her "He kept calling me \"Miss Hermione\"..." ("base", "happyCl", "base", "mid") her "So adorable..." - gen "Well, I didn't send you to harass people, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "I didn't instruct you to harass people, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "I didn't harass--" ("disgust", "narrow", "base", "mid_soft") - her "[genie_name]! Seven flirts and two dates amount to something, don't they?" ("angry", "happyCl", "worried", "mid", emote="sweat") + her "[name_genie_hermione]! Seven flirts and two dates amount to something, don't they?" ("angry", "happyCl", "worried", "mid", emote="sweat") gen "Oh, absolutely." ("base", xpos="far_left", ypos="head") her "Then I would like to receive my payment now..." ("scream", "closed", "angry", "mid") her "" ("normal", "happyCl", "worried", "mid") @@ -452,42 +447,42 @@ label hg_pr_flirt_T3_E3: call hg_pr_flirt_intro - her "[genie_name], I am sorry, but..." ("normal", "happyCl", "worried", "mid") - call play_music("hermione") # Music - her "I hate those Slytherin tramps, [genie_name]!" ("angry", "base", "angry", "mid") + her "[name_genie_hermione], I am sorry, but..." ("normal", "happyCl", "worried", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "I hate those Slytherin tramps, [name_genie_hermione]!" ("angry", "base", "angry", "mid") gen "Tell me what happened." ("base", xpos="far_left", ypos="head") her "I don't want to talk about it..." ("annoyed", "narrow", "angry", "R") - gen "Tell me what happened, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "I don't want to talk about it, [genie_name]." ("angry", "base", "angry", "mid", emote="angry") + gen "Tell me what happened, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "I don't want to talk about it, [name_genie_hermione]." ("angry", "base", "angry", "mid", emote="angry") her "Please don't make me..." ("annoyed", "narrow", "angry", "R") menu: "\"Fine. I'll let it go for today.\"": - her "Thank you, [genie_name]." ("normal", "happyCl", "worried", "mid") + her "Thank you, [name_genie_hermione]." ("normal", "happyCl", "worried", "mid") gen "No luck with the flirting today then?" ("base", xpos="far_left", ypos="head") - her "Oh, quite the opposite, [genie_name]." ("angry", "happyCl", "worried", "mid", emote="sweat") - call play_music("playful_tension") # Music - her "One of the boys actually took me to the Slytherin common room today..." - her "There were at least a dozen of them there..." ("normal", "base", "base", "mid") - her "All of the boys knew who I was..." ("open", "closed", "angry", "mid") - her "I was the centre of attention at first..." - her "And it felt sort of wonderful..." ("base", "narrow", "base", "up") - call play_music("hermione") # Music - her "Then a bunch of those Slytherin harlots stumbled in and..." ("disgust", "narrow", "base", "mid_soft") + her "Oh, quite the opposite, [name_genie_hermione]." ("angry", "happyCl", "worried", "mid", emote="sweat") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "One of the boys actually brought me to an empty classroom room today..." + her "And there were at least a dozen more of them there..." ("normal", "base", "base", "mid") + her "All of them knew who I was for some reason..." ("open", "closed", "angry", "mid") + her "And I was the centre of attention..." + her "I must say, it felt sort of wonderful..." ("base", "narrow", "base", "up") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "But then a bunch of those Slytherin harlots stumbled in, and..." ("disgust", "narrow", "base", "mid_soft") gen "And?" ("base", xpos="far_left", ypos="head") her "Well, they started saying stuff and doing things..." ("annoyed", "narrow", "angry", "R") - gen "\"Doing Things\"? What kind of things?" ("grin", xpos="far_left", ypos="head") - her "Anyway, I had to leave..." + gen "\"Stuff and things\"? What kind of things?" ("grin", xpos="far_left", ypos="head") + her "I'm not sure I should--{w=0.2} Either way, I had to leave..." gen "I see..." ("base", xpos="far_left", ypos="head") - gen "Well, I say you deserve your points anyway, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Well, I say you deserve your points anyway, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "" ("base", "happyCl", "base", "mid") "\"Tell me now, or lose the points!\"": - her "[genie_name], please, I don't want to discuss this with you, [genie_name]." ("disgust", "narrow", "base", "mid_soft") - gen "No one is forcing you, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], please, I don't want to discuss this with you, [name_genie_hermione]." ("disgust", "narrow", "base", "mid_soft") + gen "No one is forcing you, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You are free to leave." ("base", xpos="far_left", ypos="head") her "{size=-4}(Stubborn old man!){/size}" ("angry", "base", "angry", "mid") - $ her_mood += 10 + $ states.her.mood += 10 jump end_hg_pr_flirt.no_points jump end_hg_pr_flirt diff --git a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy index 1f6892a5..f4afee2c 100644 --- a/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy +++ b/game/scripts/characters/hermione/events/requests/flirt_with_teachers.rpy @@ -7,48 +7,48 @@ label hg_pr_flirt_teacher: # Setup $ current_payout = 15 - if hg_pr_flirt_teacher.counter == 0: + if not _events_completed_any: gen "{size=-4}(Tell her to be flirtatious with her teachers today?){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu her "" (xpos="right", ypos="base", trans=fade) - gen "[hermione_name], I want you to be especially flirtatious with your teachers today." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], I want you to be especially flirtatious with your teachers today." ("base", xpos="far_left", ypos="head") #Intro - if hg_pr_flirt_teacher.counter == 0: - if hg_pr_flirt.counter > 0: - her "I will do my best, [genie_name]!" ("base", "base", "base", "mid") + if not _events_completed_any: + if states.her.ev.flirt_with_students.done_before: + her "I will do my best, [name_genie_hermione]!" ("base", "base", "base", "mid") her "Now I understand why you asked me to flirt with these pesky Slytherin boys." ("open", "closed", "angry", "mid") - her "I am glad you finally decided to act, [genie_name]!" ("open", "base", "base", "mid") + her "I am glad you finally decided to act, [name_genie_hermione]!" ("open", "base", "base", "mid") else: - her "*huh*?!" ("open", "base", "angry", "mid") + her "*Huh*?!" ("open", "base", "angry", "mid") her "Why would I want to flirt with the teach--" ("angry", "base", "angry", "mid") her "O-oh... I see..." ("grin", "base", "base", "R") - gen "*huh*?" ("base", xpos="far_left", ypos="head") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") her "You are finally ready to investigate the teachers who made a habit out of buying favours from the students, aren't you?" ("normal", "squint", "angry", "mid") her "I am honoured to pose as bait in this noble endeavour." ("open", "closed", "base", "mid") gen "*Ehm*... Yeah, that's exactly what I'm doing." ("base", xpos="far_left", ypos="head") - her "Splendid! You can count on me, [genie_name]!" ("smile", "squint", "angry", "mid") + her "Splendid! You can count on me, [name_genie_hermione]!" ("smile", "squint", "angry", "mid") else: - if her_tier >= 3: - her "As you wish, [genie_name]." ("base", "squint", "base", "mid") - elif her_tier >= 2: - her "I'll make sure to note every single detail, [genie_name]." ("base", "squint", "angry", "mid") + if states.her.tier >= 3: + her "As you wish, [name_genie_hermione]." ("base", "squint", "base", "mid") + elif states.her.tier >= 2: + her "I'll make sure to note every single detail, [name_genie_hermione]." ("base", "squint", "angry", "mid") gen "Looking forward to it..." ("base", xpos="far_left", ypos="head") else: - her "I shall provide you with a detailed report later tonight, [genie_name]." ("normal", "squint", "angry", "mid") + her "I shall provide you with a detailed report later tonight, [name_genie_hermione]." ("normal", "squint", "angry", "mid") gen "I will be waiting..." ("base", xpos="far_left", ypos="head") her "Well, I'd better go now. Classes are about to start..." call her_walk(action="leave") - $ hg_pr_flirt_teacher.inProgress = True jump end_hermione_event @@ -56,35 +56,34 @@ label hg_pr_flirt_teacher: label end_hg_pr_flirt_teacher: $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: call her_walk(action="leave") # Unequip lockhart tattoo after the event - if hermione.is_equipped("tattoo3") and hermione.get_equipped("tattoo3").id == "lockhart_tattoo": - $ hermione.unequip("tattoo3") + if hermione.is_equipped_item(her_tattoo_lockhart): + $ hermione.unequip(her_tattoo_lockhart) label .quick_end: # Increase Points - if not hg_pr_flirt_teacher.is_tier_complete(): - $ her_reputation += 1 + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_flirt_teacher.inProgress = False jump end_hermione_event label hg_pr_flirt_teacher_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("open", "closed", "base", "mid", xpos="mid", ypos="base", trans=fade) + her "Good evening, [name_genie_hermione]." ("open", "closed", "base", "mid", xpos="mid", ypos="base", trans=fade) her "" ("normal", "base", "base", "mid") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you complete your task?" ("base", xpos="far_left", ypos="head") - her "I did as you asked [genie_name]..." + her "I did as you asked, [name_genie_hermione]..." - if hg_pr_flirt_teacher.is_tier_complete(): # If you have seen all events in this tier once, you get the choice to skip it. + if _events_completed_all: # If you have seen all events in this tier once, you get the choice to skip it. menu: "\"Great. Here are your points.\"": jump end_hg_pr_flirt_teacher @@ -92,9 +91,9 @@ label hg_pr_flirt_teacher_intro: "\"Give me the details.\"": pass - gen "Tell me, [hermione_name], how many teachers did you flirt with?" ("base", xpos="far_left", ypos="head") + gen "Tell me, [name_hermione_genie], which teachers did you flirt with?" ("base", xpos="far_left", ypos="head") - if hg_pr_flirt_teacher.counter == 1: + if not _events_completed_any: her "*Ehm*... Okay..." ("soft", "base", "base", "R") return @@ -109,9 +108,9 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick call hg_pr_flirt_teacher_intro - #if her_whoring >= 3 and her_whoring < 6: + #if states.her.level >= 3 and states.her.level < 6: - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "Well, I was going to flirt with Professor Flitwick..." ("open", "base", "worried", "R") her "But I didn't really get that far..." ("open", "squint", "worried", "R") her "Professor Flitwick asked me to show the class how to cast {i}wingardium leviosa{/i}, you see." ("open", "squint", "worried", "mid") @@ -120,10 +119,10 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick show her_flirt_public_flitwick zorder 15 as cg with fade - her "So, I made my way to the front of the class, next to Professor Flitwick, and began casting the spell, making the feather float in the air." + her "So, I made my way to the front of the class, next to Professor Flitwick, and began casting the spell, making a feather float in the air." her "But, as I was explaining the proper swishing and flicking motions, it is when I realized--" gen "You weren't getting praised enough?" ("base", xpos="far_left", ypos="head") - her "I had already showed the class how to cast that particular spell ages ago." + her "I had already shown the class how to cast that particular spell ages ago." her "It made me think, there must've been some ulterior motive as to why Professor Flitwick would have me do it again." gen "Maybe he's just forgetful? I forget to take my medication all the time." ("base", xpos="far_left", ypos="head") #unspecified medication makes it funnier her "I am sure he did it to take advantage of me, but unfortunately for him, \"forgetting\" that we've already learned that spell made it very clear to me!" @@ -142,9 +141,9 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick gen "(Women and their obsession with height...)" gen "Just because the man isn't six feet tall doesn't mean--..." ("base", xpos="far_left", ypos="head") her "*Huh*?" - gen "I never thought you'd be so judgmental, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "I never thought you'd be so judgmental, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You shouldn't measure people by their height,{w=0.5} but by the size of their--" ("base", xpos="far_left", ypos="head") - her "[genie_name]-- That's not what I meant! Could you listen to me first, please?" + her "[name_genie_hermione]-- That's not what I meant! Could you listen to me first, please?" gen "Heart..." ("base", xpos="far_left", ypos="head") her "........" gen "Perhaps if you weren't so short-tempered, you'd let me finish talking for once." ("base", xpos="far_left", ypos="head") @@ -154,15 +153,15 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick her "Even before I could react and stop him, Professor Flitwick was already standing right beside me... Almost as if he had apparated." ("angry", "base", "base", "mid") gen "How exciting." ("base", xpos="far_left", ypos="head") - gen "Is this all you have for me today, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Is this all you have for me today, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Y-yes..." ("open", "base", "worried", "mid") - her "But [genie_name], I now know for a fact that professor Flitwick is \"dirty\"!" ("angry", "base", "worried", "mid") - her "He looked at my panties, [genie_name]!" ("annoyed", "base", "worried", "R") + her "But [name_genie_hermione], I now know for a fact that professor Flitwick is \"dirty\"!" ("angry", "base", "worried", "mid") + her "He looked at my panties, [name_genie_hermione]!" ("annoyed", "base", "worried", "R") - if hg_pf_admire_panties.counter > 1: + if states.her.status.show_panties: gen "Didn't you show them off before?" ("base", xpos="far_left", ypos="head") her "What?" ("open", "base", "base", "mid") - her "That was... different..." ("annoyed", "base", "angry", "R", cheeks="blush") + her @ cheeks blush "That was... different..." ("annoyed", "base", "angry", "R") gen "If you say so..." ("base", xpos="far_left", ypos="head") gen "So, do you believe that professor flit-stick is showing this kind of behaviour frequently?" ("base", xpos="far_left", ypos="head") else: @@ -170,30 +169,30 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick her "What?" ("open", "base", "base", "mid") gen "Yucky... Man..." ("base", xpos="far_left", ypos="head") gen "So, does this flick-shit fella do this to other students as well, you think?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... It's \"Professor Flitwick\", [genie_name]." ("normal", "squint", "angry", "mid", cheeks=None) + her "*Ehm*... It's \"Professor Flitwick\", [name_genie_hermione]." ("normal", "squint", "angry", "mid") her "And yes, I don't doubt that this isn't the first time he's done this." ("normal", "squint", "angry", "mid") gen "Right. Putting him on my \"Naughty list\" as we speak." ("base", xpos="far_left", ypos="head") her "......................" ("annoyed", "squint", "base", "mid") - gen "Even then, you failed the task I set for you today, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Even then, you failed the task I set for you today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "What, but I--" ("annoyed", "narrow", "angry", "R") menu: "\"Here are your points though.\"": gen "Know that I am a merciful master-- I mean a headmaster." ("base", xpos="far_left", ypos="head") her "Really?" ("angry", "base", "worried", "mid") - her "Thank you so much [genie_name]!" ("smile", "happyCl", "base", "mid") + her "Thank you so much, [name_genie_hermione]!" ("smile", "happyCl", "base", "mid") "\"No points for you!\"": - her "But [genie_name], I did my best!" ("angry", "base", "worried", "mid") - her "You are going back on your promise [genie_name]!" ("mad", "base", "worried", "mid", tears="soft") + her "But [name_genie_hermione], I did my best!" ("angry", "base", "worried", "mid") + her @ tears soft "You are going back on your promise [name_genie_hermione]!" ("mad", "base", "worried", "mid") gen "......................." ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 her "How unbecoming of a school headmaster!" ("scream", "happyCl", "worried", "mid") - gen "You are dismissed, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You are dismissed, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "*Tsk*!" ("angry", "base", "angry", "mid", emote="angry") - $ her_mood += 18 + $ states.her.mood += 18 jump end_hg_pr_flirt_teacher.no_points jump end_hg_pr_flirt_teacher @@ -205,27 +204,27 @@ label hg_pr_flirt_teacher_T1_E2: # Snape her ".................." ("soft", "base", "base", "R") her "............................" - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]... I'm sorry... I just..." ("open", "base", "worried", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]... I'm sorry... I just..." ("open", "base", "worried", "mid") her "............" ("soft", "base", "base", "R") gen "Did you do what I asked you to do?" ("base", xpos="far_left", ypos="head") - her "I tried, [genie_name]. I really did..." ("open", "base", "base", "mid") + her "I tried, [name_genie_hermione]. I really did..." ("open", "base", "base", "mid") gen "Who did you try to flirt with?" ("base", xpos="far_left", ypos="head") her "........." ("soft", "base", "base", "R") - her "Professor Snape, [genie_name]." ("annoyed", "narrow", "angry", "R") - call play_music("hermione") # HERMIONE'S THEME. + her "Professor Snape, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. gen "Severus? Interesting..." ("base", xpos="far_left", ypos="head") gen "How did it go?" ("base", xpos="far_left", ypos="head") - her "It was awful [genie_name]..." ("normal", "squint", "angry", "mid") - her "I am sorry, but I really hate professor Snape, [genie_name]!" + her "It was awful [name_genie_hermione]..." ("normal", "squint", "angry", "mid") + her "I am sorry, but I really hate professor Snape, [name_genie_hermione]!" gen "(I'm pretty sure the feeling is mutual...)" ("base", xpos="far_left", ypos="head") gen "Tell me what happened." ("base", xpos="far_left", ypos="head") - her "Nothing happened, [genie_name]. He just laughed at me..." ("annoyed", "squint", "angry", "mid") + her "Nothing happened, [name_genie_hermione]. He just laughed at me..." ("annoyed", "squint", "angry", "mid") her "I may not have much feminine charm, but I tried to be nice..." ("annoyed", "base", "worried", "R") her "And he just started laughing in my face!" ("scream", "closed", "angry", "mid") - her "... it is really scary to see professor Snape laugh..." ("angry", "happyCl", "worried", "mid", emote="sweat") + her "... It is really scary to see professor Snape laugh..." ("angry", "happyCl", "worried", "mid", emote="sweat") her "........" - her "I am awful at flirting, I am sorry [genie_name]..." + her "I am awful at flirting, I am sorry [name_genie_hermione]..." her "But I know that professor Snape is \"dirty\"!" ("angry", "base", "angry", "mid") her "If you were to send someone else, the outcome would be different, I just know it!" gen "Someone else?" ("base", xpos="far_left", ypos="head") @@ -234,12 +233,12 @@ label hg_pr_flirt_teacher_T1_E2: # Snape her "Someone... *Ehm*..." gen "Sluttier?" ("base", xpos="far_left", ypos="head") her "Yes, I suppose..." ("disgust", "narrow", "base", "mid_soft") - gen "Don't you give up, [hermione_name]. We will make a slut *err*--" ("base", xpos="far_left", ypos="head") + gen "Don't you give up, [name_hermione_genie]. We will make a slut *err*--" ("base", xpos="far_left", ypos="head") gen "I mean a woman out of you yet!" ("base", xpos="far_left", ypos="head") her "..................." ("annoyed", "narrow", "annoyed", "mid") menu: - "\"Here are your points, [hermione_name].\"": + "\"Here are your points, [name_hermione_genie].\"": her "" ("base", "base", "worried", "mid") "\"... I'm afraid you get no points this time.\"": @@ -247,7 +246,7 @@ label hg_pr_flirt_teacher_T1_E2: # Snape her "And I feel so humiliated now..." ("angry", "happyCl", "worried", "mid", emote="sweat") her "But I understand and won't argue with your decision..." ("normal", "happyCl", "worried", "mid") - $ her_mood += 3 + $ states.her.mood += 3 jump end_hg_pr_flirt_teacher.no_points jump end_hg_pr_flirt_teacher @@ -257,17 +256,17 @@ label hg_pr_flirt_teacher_T1_E3: # Filch call hg_pr_flirt_teacher_intro stop music fadeout 1.0 - her "I tried to flirt with mister Filch, [genie_name]..." ("open", "base", "worried", "R") + her "I tried to flirt with mister Filch, [name_genie_hermione]..." ("open", "base", "worried", "R") gen "I see. {size=-5}(No idea who that is.){/size}" ("base", xpos="far_left", ypos="head") - call play_music("hermione") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "Yes, I know that technically mister Filch is not a teacher..." ("open", "base", "worried", "mid") - gen "*huh*?" ("base", xpos="far_left", ypos="head") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") her "But he is part of the school's staff..." ("base", "base", "base", "mid") her "And we did hit it off quite well too!" her "He was surprisingly sweet." - her "But I don't think he is \"dirty\", [genie_name]." - gen "Gotcha... mister Filth is off the list then." ("base", xpos="far_left", ypos="head") - her "It's \"mister Filch\", [genie_name]..." ("normal", "squint", "angry", "mid") + her "But I don't think he is \"dirty\", [name_genie_hermione]." + gen "Gotcha... Mister Filth is off the list then." ("base", xpos="far_left", ypos="head") + her "It's \"mister Filch\", [name_genie_hermione]..." ("normal", "squint", "angry", "mid") gen "What did I say?" ("base", xpos="far_left", ypos="head") her "......." ("normal", "squint", "angry", "R") her "Can I get my points now?" ("open", "base", "worried", "mid") @@ -280,12 +279,12 @@ label hg_pr_flirt_teacher_T2_E1: # Slughorn call hg_pr_flirt_teacher_intro - #elif her_whoring >= 6 and her_whoring < 9: + #elif states.her.level >= 6 and states.her.level < 9: stop music fadeout 1.0 her "Well, professor Slughorn invited me over to one of his..." ("open", "base", "worried", "R") her "Rather disturbing tea parties..." - call play_music("hermione") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "There were plenty of girls..." ("open", "closed", "base", "mid") her "But none of them were in my year..." her "Almost every guest was a freshman..." ("annoyed", "squint", "base", "mid") @@ -295,7 +294,7 @@ label hg_pr_flirt_teacher_T2_E1: # Slughorn her "I did..." her "Or at least I tried to..." ("annoyed", "squint", "base", "mid") her "Professor Slughorn seemed to be more interested in the other girls..." - gen "You almost sound jealous, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You almost sound jealous, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "What?!" ("angry", "wide", "base", "stare") her "That is preposterous!" ("annoyed", "narrow", "angry", "R") gen "Here are your points..." ("base", xpos="far_left", ypos="head") @@ -305,74 +304,77 @@ label hg_pr_flirt_teacher_T2_E1: # Slughorn label hg_pr_flirt_teacher_T2_E2: - $ hermione.equip(her_tattoo3_lockhart) # Tattoo + $ hermione.equip(her_tattoo_lockhart) # Tattoo call hg_pr_flirt_teacher_intro - call play_music("hermione") # HERMIONE'S THEME + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME if hermione.is_worn("robe"): + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe") pause .8 her "Ah..." ("smile", "happyCl", "base", "mid") if not hermione.is_worn("bottom"): - her "I had an amazing day, [genie_name]!" ("smile", "happyCl", "base", "mid", emote="happy") + her "I had an amazing day, [name_genie_hermione]!" ("smile", "happyCl", "base", "mid", emote="happy") gen "Glad to--" ("base", xpos="far_left", ypos="head") - gen "[hermione_name]... What have you done to your leg?" ("base", xpos="far_left", ypos="head") - her "What do you...{w=0.4} Oh, that..." ("mad", "base", "base", "down", cheeks="blush") + gen "[name_hermione_genie]... What have you done to your leg?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What do you...{w=0.4} Oh, that..." ("mad", "base", "base", "down") gen "Yes that..." ("base", xpos="far_left", ypos="head") - her "It's... it's nothing." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "It's... It's nothing." ("open", "base", "base", "mid") if not hermione.is_worn("stockings"): - gen "The hell it is...{w=0.4} is that writing on your leg?" ("base", xpos="far_left", ypos="head") - her "I... yes..." ("normal", "happyCl", "worried", "mid", cheeks="blush") + gen "The hell it is...{w=0.4} Is that writing on your leg?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I... Yes..." ("normal", "happyCl", "worried", "mid") gen "Gil... Gilde--" ("base", xpos="far_left", ypos="head") - her "*sigh*... Gilderoy Lockhart... [genie_name]." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Sigh*... Gilderoy Lockhart... [name_genie_hermione]." ("open", "narrow", "base", "down") gen "Now that's dirty!" ("base", xpos="far_left", ypos="head") her "What!?" ("clench", "base", "worried", "mid") - gen "Tagging the students... why didn't I think of that!" ("base", xpos="far_left", ypos="head") + gen "Tagging the students... Why didn't I think of that!" ("base", xpos="far_left", ypos="head") her "Sir, what are you on about?" ("annoyed", "squint", "base", "mid") gen "Why else would he put his name there?" ("base", xpos="far_left", ypos="head") - her "Sir, he's a famous author!" ("normal", "squint", "angry", "mid", cheeks="blush") + her @ cheeks blush "Sir, he's a famous author!" ("normal", "squint", "angry", "mid") gen "Doesn't give him the right to--" ("base", xpos="far_left", ypos="head") gen "Oh... It's an autograph!" ("base", xpos="far_left", ypos="head") - her "I... what else would it be?" ("clench", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "I... What else would it be?" ("clench", "squint", "worried", "mid") gen "Nothing..." ("base", xpos="far_left", ypos="head") gen "Here are your points..." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("annoyed", "base", "worried", "down", cheeks="blush") + her @ cheeks blush "Thank you, [name_genie_hermione]." ("annoyed", "base", "worried", "down") else: gen "I can clearly see something..." ("base", xpos="far_left", ypos="head") gen "Take that off and let me have a proper look." ("base", xpos="far_left", ypos="head") her "I..." her "Well, alright, but don't get any ideas..." ("angry", "base", "angry", "mid") pause.5 - her "Here..." ("disgust", "narrow", "base", "down",cheeks="blush") + her @ cheeks blush "Here..." ("disgust", "narrow", "base", "down") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom", "stockings") - pause.5 + with d3 + pause .5 gen "Gil... Gilde--" ("base", xpos="far_left", ypos="head") - her "*sigh*... Gilderoy Lockhart... [genie_name]." ("open", "narrow", "base", "down", cheeks="blush") - her "He very kindly gave me his autograph after today's lesson..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Sigh*... Gilderoy Lockhart... [name_genie_hermione]." ("open", "narrow", "base", "down") + her @ cheeks blush "He very kindly gave me his autograph after today's lesson..." ("base", "narrow", "base", "down") gen "And why would you want such a thing?" ("base", xpos="far_left", ypos="head") - her "He's a very popular and esteemed author, surely you know this..." ("annoyed", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "He's a very popular and esteemed author, surely you know this..." ("annoyed", "base", "base", "mid") gen "Of course!" ("grin", xpos="far_left", ypos="head") gen "Who would say no to having their leg signed by \"The\" {i}Spocktart{/i}?" ("grin", xpos="far_left", ypos="head") gen "Not me, that's for sure!" ("grin", xpos="far_left", ypos="head") - her "I didn't ask him to sign my leg specifically..." ("angry", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "I didn't ask him to sign my leg specifically..." ("angry", "base", "worried", "mid") gen "I see...{w=0.4} Well, can't say I'm surprised..." ("base", xpos="far_left", ypos="head") - her "Sir?" ("annoyed", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "Sir?" ("annoyed", "base", "worried", "mid") gen "An esteemed author making dirty requests from a fan is more common than you thi--" ("base", xpos="far_left", ypos="head") jump hg_pr_flirt_teacher_T2_E2.angry else: - her "I had an amazing day, [genie_name]!" ("smile", "happyCl", "base", "mid", emote="happy") - gen "Do tell, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her "I had an amazing day, [name_genie_hermione]!" ("smile", "happyCl", "base", "mid", emote="happy") + gen "Do tell, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "I had a class with professor Lockhart today..." ("grin", "base", "base", "R") - her "[genie_name] He is so charming and smart and..." ("base", "base", "base", "mid") + her "[name_genie_hermione], he is so charming and smart and--" ("base", "base", "base", "mid") her "And perfect..." ("base", "narrow", "base", "up") - gen "Please spare me your schoolgirl crush, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Please spare me your schoolgirl crush, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "He was even kind enough to give me his autograph..." ("smile", "happyCl", "base", "mid", emote="happy") gen "How kind of him indeed..." ("base", xpos="far_left", ypos="head") her "Yes, I can't wait to show it to the girls!" ("grin", "base", "base", "R") @@ -381,14 +383,14 @@ label hg_pr_flirt_teacher_T2_E2: her "It's just going to fade away in the shower now..." ("upset", "base", "worried", "mid") gen "It's going to--" ("base", xpos="far_left", ypos="head") gen "Show me!" ("grin", xpos="far_left", ypos="head") - her "[genie_name]?" ("open", "base", "worried", "mid", cheeks="blush") - her "I... It's just an autograph..." ("base", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]?" ("open", "base", "worried", "mid") + her @ cheeks blush "I... It's just an autograph..." ("base", "squint", "worried", "R") gen "Just an autograph? It's {i}Lockfart{/i} we're talking about here, I have to see it!" ("base", xpos="far_left", ypos="head") - her "I..." ("disgust", "base", "worried", "down", cheeks="blush") + her @ cheeks blush "I..." ("disgust", "base", "worried", "down") menu: "\"Show me or I won't pay you!\"": - $ her_mood += 9 + $ states.her.mood += 9 her "What?!" ("scream", "base", "base", "mid") her "..............." ("annoyed", "narrow", "worried", "down") @@ -396,35 +398,37 @@ label hg_pr_flirt_teacher_T2_E2: her "Well, alright, but don't get any ideas..." ("angry", "base", "angry", "mid") pause.5 - her "Here..." ("disgust", "narrow", "base", "down",cheeks="blush") + her @ cheeks blush "Here..." ("disgust", "narrow", "base", "down") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom", "stockings") - pause.5 + with d3 + pause .5 gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "" ("angry", "narrow", "annoyed", "mid", cheeks="blush", emote="angry") + her @ cheeks blush "" ("angry", "narrow", "annoyed", "mid", emote="angry") call ctc - gen "Well then, this {i}Goldenheart{/i} surely is \"dirty\"!" ("base", xpos="far_left", ypos="head") + gen "Well then, this {i}Goldenheart{/i} is most certainly \"dirty\"!" ("base", xpos="far_left", ypos="head") label .angry: - her "What do you mean?!" ("clench", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "What do you mean?!" ("clench", "happy", "base", "mid") gen "Surely a piece of paper would've been--" ("base", xpos="far_left", ypos="head") her "Professor Lockhart is nothing but an embodiment of everything pure and courageous!" ("annoyed", "narrow", "annoyed", "mid") - her "You should not worry about professor Lockhart, [genie_name]." ("base", "base", "worried", "R") + her "You should not worry about professor Lockhart, [name_genie_hermione]." ("base", "base", "worried", "R") her "He is not \"dirty\"." ("annoyed", "base", "worried", "L") - gen "Whatever you say [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Whatever you say [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "............?" ("annoyed", "narrow", "annoyed", "mid", emote="angry") gen "Anyhow..." ("base", xpos="far_left", ypos="head") call ctc "\"Fine... Here are your points.\"": - her "Thank you for understanding, [genie_name]." ("base", "happyCl", "base", "mid") + her "Thank you for understanding, [name_genie_hermione]." ("base", "happyCl", "base", "mid") $ hermione.wear("all") - call unlock_clothing(text=">New tattoo for Hermione has been unlocked!", item=her_tattoo3_lockhart) + call unlock_clothing(text="A new tattoo for Hermione has been unlocked!", item=her_tattoo_lockhart) jump end_hg_pr_flirt_teacher @@ -432,24 +436,24 @@ label hg_pr_flirt_teacher_T2_E3: # Filch call hg_pr_flirt_teacher_intro - call play_music("hermione") # HERMIONE'S THEME. - her "Well, I spent quite some time by flirting with mister Filch today." ("soft", "base", "base", "mid",xpos="right",ypos="base") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "Well, I spent a fair bit of my time, flirting with mister Filch today." ("soft", "base", "base", "mid") her "What a well-read and exceptionally well-mannered gentleman mister Filch is." ("open", "closed", "base", "mid") gen "........" ("base", xpos="far_left", ypos="head") her "But I don't think anyone knows him like that..." ("soft", "base", "base", "R") her "I don't think anyone knows mister Filch like I do." - her "I feel like he really opened up to me, [genie_name]." ("base", "base", "base", "mid") + her "I feel like he really opened up to me, [name_genie_hermione]." ("base", "base", "base", "mid") gen "Right..." ("base", xpos="far_left", ypos="head") gen "This, mister Fli{size=+7}nt{/size}--" ("base", xpos="far_left", ypos="head") - her "It's mister Filch, [genie_name]." ("open", "closed", "angry", "mid") + her "It's mister Filch, [name_genie_hermione]." ("open", "closed", "angry", "mid") gen "Yeah, whatever... Is he a teacher here then?" ("base", xpos="far_left", ypos="head") - her "Mister Filch? A teacher? No, [genie_name]..." - her "He is the caretaker... Shouldn't you know your school personnel, [genie_name]?" ("base", "base", "base", "mid") + her "Mister Filch? A teacher? No, [name_genie_hermione]..." + her "He is the caretaker... Shouldn't you know your school personnel, [name_genie_hermione]?" ("base", "base", "base", "mid") gen "A caretaker...?" ("base", xpos="far_left", ypos="head") gen "You mean he is a janitor?" ("base", xpos="far_left", ypos="head") her "Well..." ("open", "base", "worried", "R") - gen "[hermione_name], I did not send you out there to charm school janitors!" ("base", xpos="far_left", ypos="head") - her "But mister Filch is part of the school staff, [genie_name]!" ("open", "base", "base", "mid") + gen "[name_hermione_genie], I did not send you out there to charm school janitors!" ("base", xpos="far_left", ypos="head") + her "But mister Filch is part of the school staff, [name_genie_hermione]!" ("open", "base", "base", "mid") menu: "\"Just take your points and go!\"": @@ -458,11 +462,11 @@ label hg_pr_flirt_teacher_T2_E3: # Filch jump end_hg_pr_flirt_teacher "\"Favour failed! No points for you!\"": - her "But [genie_name]?" ("normal", "squint", "angry", "mid") - gen "You are dismissed, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "But [name_genie_hermione]?" ("normal", "squint", "angry", "mid") + gen "You are dismissed, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "........................................." ("angry", "base", "angry", "mid") - $ her_mood +=15 + $ states.her.mood +=15 jump end_hg_pr_flirt_teacher.no_points ### Tier 3 ### @@ -474,60 +478,61 @@ label hg_pr_flirt_teacher_T3_E1: # Filch stop music fadeout 1.0 her "............................." ("normal", "happyCl", "worried", "mid") her "....................................." - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name], I..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I..." ("angry", "happyCl", "worried", "mid", emote="sweat") gen "What is it? What happened?" ("base", xpos="far_left", ypos="head") her "Well..." ("annoyed", "base", "worried", "R") - her "It's mister Filch, [genie_name]..." + her "It's mister Filch, [name_genie_hermione]..." gen "The janitor?" ("base", xpos="far_left", ypos="head") her "I flirted with him a little..." ("open", "base", "base", "mid") her "And it went great at first..." her "......................." ("annoyed", "base", "worried", "R") gen "................?" ("base", xpos="far_left", ypos="head") her "And then..." ("open", "base", "base", "mid") - her "Not sure if I should..." ("annoyed", "base", "worried", "R") - gen "[hermione_name], if you are not going to speak up, you may as well leave." ("base", xpos="far_left", ypos="head") - call play_music("hermione") # HERMIONE'S THEME. - her "He showed me his \"thing\", [genie_name]!" ("scream", "happyCl", "worried", "mid") + her "Well, perhaps I shouldn't..." ("annoyed", "base", "worried", "R") + gen "[name_hermione_genie], if you are not going to speak up, you may as well leave." ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "He showed me his \"thing\", [name_genie_hermione]!" ("scream", "happyCl", "worried", "mid") gen "His what?" ("base", xpos="far_left", ypos="head") - her "His... manhood, [genie_name]." ("angry", "happyCl", "worried", "mid", emote="sweat") + her "His... manhood, [name_genie_hermione]." ("angry", "happyCl", "worried", "mid", emote="sweat") gen "Way to go, Janitor-guy!" ("grin", xpos="far_left", ypos="head") her "What?!" ("scream", "wide", "base", "mid") - gen "*Ahem* I mean, this is unspeakable!" ("base", xpos="far_left", ypos="head") - her "Yes... Vile crooked thing all covered in veins..." ("angry", "base", "base", "mid", tears="soft") - gen "Spare me the grisly details, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Why would he do such a thing?" ("mad", "happyCl", "worried", "mid", tears="soft_blink") + gen "*Ahem*... I mean, this is unspeakable!" ("base", xpos="far_left", ypos="head") + her @ tears soft "Yes... It was a vile, crooked thing, all covered in veins..." ("angry", "base", "base", "mid") + gen "Spare me the grisly details, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ tears soft_blink "Why would he do such a thing?" ("mad", "happyCl", "worried", "mid") her "One second we were just talking and then..." - gen "Well, your noble sacrifice shall not go unnoticed, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "Well, your noble sacrifice shall not go unnoticed, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") gen "{number=current_payout} points to Gryf--" ("base", xpos="far_left", ypos="head") - her "Professor, please wait." ("soft", "base", "base", "mid", tears="soft") - gen "*huh*?" ("base", xpos="far_left", ypos="head") + her @ tears soft "Professor, please wait." ("soft", "base", "base", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") her "Well, aren't you going to do something about this?" ("open", "base", "base", "mid") - gen "Well..." ("base", xpos="far_left", ypos="head") + gen "Err..." ("base", xpos="far_left", ypos="head") her "What if I am not the first victim...?" ("angry", "base", "angry", "mid") her "Some unfortunate freshman could be traumatised for life!" - gen "And who wouldn't be really?" ("base", xpos="far_left", ypos="head") - her "Does this mean you will take action, [genie_name]?" ("open", "base", "base", "mid") + gen "Who wouldn't be, really?" ("base", xpos="far_left", ypos="head") + her "Does this mean you will take action, [name_genie_hermione]?" ("open", "base", "base", "mid") gen "*Ehm*... Yeah, sure..." ("base", xpos="far_left", ypos="head") gen "There! Putting it on my {i}to-do-list{/i}..." ("base", xpos="far_left", ypos="head") + play sound "sounds/scribble.ogg" gen "\"Take care of the creepy janitor-guy and his crooked cock.\"..." ("base", xpos="far_left", ypos="head") gen "Yes, first thing tomorrow." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]." ("open", "closed", "base", "mid") + her "Thank you [name_genie_hermione]." ("open", "closed", "base", "mid") her "Can I have my points now?" ("smile", "happyCl", "base", "mid") jump end_hg_pr_flirt_teacher -label hg_pr_flirt_teacher_T3_E2: # Snape +CG +label hg_pr_flirt_teacher_T3_E2: # Snape call hg_pr_flirt_teacher_intro - call play_music("chipper_doodle") # HERMIONE'S THEME. + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. her "Professor Snape!" ("angry", "base", "angry", "mid", emote="angry") gen "*Ehm*... Yeah, I'm pretty sure it's Dumbledore or something..." ("base", xpos="far_left", ypos="head") - her "[genie_name], please, you need to listen to me!" ("open", "base", "base", "mid") - gen "Yes, yes, [hermione_name], I'm listening." ("base", xpos="far_left", ypos="head") - her "I just confirmed that professor Snape is corrupted and {i}dirty{/i}, [genie_name]!" ("open", "closed", "angry", "mid") + her "[name_genie_hermione], please, you need to listen to me!" ("open", "base", "base", "mid") + gen "Yes, yes, [name_hermione_genie], I'm listening." ("base", xpos="far_left", ypos="head") + her "I just confirmed that professor Snape is corrupted and {i}dirty{/i}, [name_genie_hermione]!" ("open", "closed", "angry", "mid") gen "Tell me what happened." ("base", xpos="far_left", ypos="head") her "Well, during classes today..." ("open", "base", "base", "mid") her "I have been doing my best to attract professor Snape's attention..." ("open", "base", "base", "R") @@ -538,27 +543,14 @@ label hg_pr_flirt_teacher_T3_E2: # Snape +CG her "Yes... It's when you stare at a man's crotch and imagine that you are looking at something you want badly..." ("open", "closed", "angry", "mid") gen "Where do you get this stuff?" ("base", xpos="far_left", ypos="head") her "Women's magazines..." ("open", "base", "worried", "R") - her "Well, anyway, it worked, [genie_name]." ("normal", "squint", "angry", "mid") - - hide hermione_main - show screen snape_groping - # TODO - with fade - call ctc - - her "As soon as the class was over, professor Snape grabbed my buttocks, [genie_name]!" ("angry", "base", "angry", "mid", ypos="head", flip=False) + her "Well, anyway, it worked, [name_genie_hermione]." ("normal", "squint", "angry", "mid") + her "As soon as the class was over, professor Snape grabbed my buttocks, [name_genie_hermione]!" ("angry", "base", "angry", "mid") gen "The fiend!" ("grin", xpos="far_left", ypos="head") gen "Did you enjoy it, though?" ("base", xpos="far_left", ypos="head") - her "[genie_name], I am only doing this--" ("scream", "closed", "angry", "mid") - gen "Go Gryffindors! Honour and all that. Yes, I remember." ("base", xpos="far_left", ypos="head") - - call ctc - + her "[name_genie_hermione], I am only doing this--" ("scream", "closed", "angry", "mid") + gen "Go Gryffindor! Honour and all that... Yes, I remember." ("base", xpos="far_left", ypos="head") her "" ("normal", "closed", "angry", "R", xpos="mid", ypos="base") - hide screen snape_groping - with fade - jump end_hg_pr_flirt_teacher @@ -569,51 +561,51 @@ label hg_pr_flirt_teacher_T3_E3: # Lockhart stop music fadeout 1.0 her "Professor Lockhart!" ("annoyed", "squint", "angry", "mid") gen "Got it! Adding him to the \"Naughty list\"!" ("base", xpos="far_left", ypos="head") - her "No, [genie_name], it's not that..." ("open", "base", "worried", "mid") + her "No, [name_genie_hermione], it's not that..." ("open", "base", "worried", "mid") her "Or..." ("annoyed", "narrow", "angry", "R") her "I'm not sure..." her "I used to adore him..." ("open", "base", "worried", "mid") her "But he..." ("soft", "base", "base", "R") her "He just..." - her "How is this possible?" ("mad", "happyCl", "worried", "mid", tears="soft_blink") + her @ tears soft_blink "How is this possible?" ("mad", "happyCl", "worried", "mid") her "I can't believe this..." - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. gen "{size=-4}(*Argh*! The suspense is killing me!){/size}" ("base", xpos="far_left", ypos="head") - gen "What was it, [hermione_name]? Speak up!" ("angry", xpos="far_left", ypos="head") - her "*huh*?" ("open", "base", "base", "mid") + gen "What was it, [name_hermione_genie]? Speak up!" ("angry", xpos="far_left", ypos="head") + her "*Huh*?" ("open", "base", "base", "mid") gen "What did Professor Lockhart do to you?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... Nothing, [genie_name]..." ("soft", "base", "base", "R") + her "*Ehm*... Nothing, [name_genie_hermione]..." ("soft", "base", "base", "R") gen "Nothing?!" ("base", xpos="far_left", ypos="head") her "Yes, I sort of cornered mister Lockhart today..." ("open", "base", "worried", "mid") her "And I also may have sort of made a pass at him..." ("open", "base", "base", "mid") gen "Seriously?" ("base", xpos="far_left", ypos="head") - her "Yes... Not sure what had gotten into me, [genie_name]..." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "Way to go, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - her "Hear me out first [genie_name], please!" ("scream", "happyCl", "worried", "mid") + her "Yes... I don't know what had gotten into me, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "Way to go, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + her "Hear me out first [name_genie_hermione], please!" ("scream", "happyCl", "worried", "mid") gen "My apologies. Please continue." ("base", xpos="far_left", ypos="head") - her "Well, I always knew that mister Lockhart was a true gentleman and..." ("open", "base", "base", "mid") - her "And... and I just wanted to clear his name from any suspicions once and for all..." + her "Well, I always knew that mister Lockhart was a true gentleman, and..." ("open", "base", "base", "mid") + her "And... And I just wanted to clear his name from any suspicions once and for all..." her "..............." ("annoyed", "base", "worried", "R") - her "Well mister Lockhart did not reject me..." - gen "You are killing me [hermione_name]!" ("base", xpos="far_left", ypos="head") + her "Well, mister Lockhart did not reject me..." + gen "You are killing me [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") gen "He didn't reject you, he didn't do anything to you..." ("base", xpos="far_left", ypos="head") gen "What the hell happened then?" ("base", xpos="far_left", ypos="head") her "............." ("normal", "happyCl", "worried", "mid") - call play_music("hermione") # HERMIONE'S THEME. - her "I made him cry, [genie_name]..." ("angry", "happyCl", "worried", "mid", emote="sweat") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her "I made him cry, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", emote="sweat") gen "..............{w=0.5}wait what?" ("base", xpos="far_left", ypos="head") her "He gave me a bewildered look and then started to sob..." ("angry", "base", "worried", "mid") - her "He looked like he was genuinely afraid of me, [genie_name]." + her "He looked like he was genuinely afraid of me, [name_genie_hermione]." her "I think..." ("annoyed", "base", "worried", "R") her "I think mister Lockhart might be afraid of women..." gen "Afraid of women?" ("base", xpos="far_left", ypos="head") gen "What is that supposed to mean?" ("base", xpos="far_left", ypos="head") - her "That he is into boys, [genie_name]?" ("angry", "happyCl", "worried", "mid", emote="sweat") + her "That he is into boys, [name_genie_hermione]?" ("angry", "happyCl", "worried", "mid", emote="sweat") gen "Oh... To each their own I guess." ("base", xpos="far_left", ypos="head") her "............" ("upset", "wink", "base", "mid") gen "..........." ("base", xpos="far_left", ypos="head") - gen "Well, I bet it was a traumatising experience for you, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "It was, [genie_name]..." ("open", "base", "base", "mid") + gen "Well, I bet it was a traumatising experience for you, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "It was, [name_genie_hermione]..." ("open", "base", "base", "mid") gen "Well, I hope these points will make you feel better." ("base", xpos="far_left", ypos="head") jump end_hg_pr_flirt_teacher diff --git a/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy b/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy index d9e65084..d599c272 100644 --- a/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy +++ b/game/scripts/characters/hermione/events/requests/give_a_blowjob.rpy @@ -1,107 +1,124 @@ ### Give Classmate A Blowjob ### -label hg_pr_blowjob: +label start_hg_pr_blowjob: # Setup $ current_payout = 65 - if hg_pr_blowjob.counter == 0: + if not _events_completed_any: gen "{size=-4}(Tell her to go give a blowjob to one of her classmates?){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu + return + +label hg_pr_blowjob: + + call start_hg_pr_blowjob + her "" (xpos="mid", ypos="base", trans=fade) #Intro. - if hg_pr_blowjob.counter == 0: - gen "[hermione_name], I will be buying another favour from you today." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]. I really appreciate it." ("open", "closed", "base", "mid") - gen "Sure, Happy to help." ("base", xpos="far_left", ypos="head") + if not _events_completed_any: + gen "[name_hermione_genie], I will be buying another favour from you today." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]... I really appreciate it." ("open", "closed", "base", "mid") + gen "Happy to help, as always." ("base", xpos="far_left", ypos="head") + her "So, what can I do for you today?" ("open", "base", "base", "mid") gen "I need you to go give a blowjob to one of your classmates." ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 her "!!!" ("shock", "wide", "base", "stare") - her "... with my mouth?" + her "... With my mouth?" - if not hg_blowjob.trigger: # She will refuse unless she gave you a blowjob + if not states.her.status.blowjob: # She will refuse unless she gave you a blowjob (event canceled) her "But we--.. I.." ("shock", "wide", "base", "stare") her "I've never done it before!" ("angry", "wide", "base", "mid") - gen "I guess it's time you've learnt what {i}giving head{/i} means." ("base", xpos="far_left", ypos="head") - her "Absolutely not!" ("annoyed", "narrow", "angry", "R") - her "I'll show you that my integrity and honour as a Gryffindor cannot be bought!" - her "I'm leaving this instant." ("scream", "closed", "angry", "mid") + gen "Then I guess it's time you learnt what {i}using your head{/i} truly means." ("base", xpos="far_left", ypos="head") + her "But..." ("annoyed", "narrow", "worried", "R") + her "No, I'm sorry [name_genie_hermione]... I can't do this!" ("annoyed", "narrow", "worried", "R") call her_walk(action="leave") - $ her_mood += 9 + $ states.her.mood += 9 gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") gen "(Perhaps I should show her the ropes first before sending her off to blow her classmates.)" ("base", xpos="far_left", ypos="head") + $ _event.cancel() jump end_hermione_event - if her_reputation < 15: + if states.her.public_level < 15: + $ _event.cancel() jump too_much_public - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music gen "Yes, that's how it's usually done..." ("base", xpos="far_left", ypos="head") - her "[genie_name], I..." ("upset", "closed", "base", "mid") - her "I refuse to sell you a depraved favour like that, [genie_name]." ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "Can't I just kiss another girl instead?" ("open", "happyCl", "worried", "mid") - her "I do not mind that..." - gen "[hermione_name], please stop wasting my time..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], I..." ("upset", "closed", "base", "mid") + her @ cheeks blush "I refuse to sell you a depraved favour like that, [name_genie_hermione]." ("open", "narrow", "annoyed", "mid") + her "Can't I just kiss a girl or something, instead?" ("open", "happyCl", "worried", "mid") + her "I do not mind that..." ("open", "narrow", "annoyed", "mid") + gen "[name_hermione_genie], please stop wasting my time..." ("base", xpos="far_left", ypos="head") gen "If you are not in the mood to sell favours today..." ("base", xpos="far_left", ypos="head") gen "Then there is the door." ("base", xpos="far_left", ypos="head") - her "But I need the points, [genie_name]. You know that." ("upset", "closed", "base", "mid") - gen "It's as the saying goes, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "\"If you won't suck a dick for it - you don't need it\"." ("base", xpos="far_left", ypos="head") - her "*Tch*..." ("angry", "base", "angry", "mid", cheeks="blush") + her "But I need the points, [name_genie_hermione]... You know that." ("upset", "closed", "base", "mid") + gen "It's as the saying goes, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "\"If you won't suck a dick for it - You don't need it\"." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Tch*..." ("angry", "base", "angry", "mid") her "............................" gen ".........................................." ("base", xpos="far_left", ypos="head") her "... Alright." ("annoyed", "narrow", "angry", "R") - her "I'll do it..." + her "I'll do it..." ("annoyed", "narrow", "angry", "R") gen "Go do it, then!" ("base", xpos="far_left", ypos="head") gen "Report back to me after your classes." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "base", "angry", "mid", cheeks="blush") - her "....." - her "......." - gen "You may leave, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "..." + her @ cheeks blush "..." ("angry", "base", "angry", "mid") + her "....." ("angry", "base", "angry", "mid") + her "......." ("angry", "base", "angry", "mid") + gen "You may leave, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "..." ("angry", "base", "angry", "mid") else: - if her_tier >= 6: - call play_music("hermione") # Music - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + if states.her.tier >= 6: + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Do you believe in horoscopes?" ("base", xpos="far_left", ypos="head") - her "Not even a little bit, [genie_name]..." ("annoyed", "narrow", "angry", "R") + her "Not even a little bit, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") gen "Well, maybe you should..." ("base", xpos="far_left", ypos="head") her "...?" ("open", "base", "base", "mid") gen "Because I got yours right here and it says..." ("base", xpos="far_left", ypos="head") gen "\"Dedicate today to something you do well\"..." ("base", xpos="far_left", ypos="head") her "Something I do well...?" ("soft", "base", "base", "R") - gen "Go suck on some cocks, [hermione_name]." ("grin", xpos="far_left", ypos="head") + gen "Go suck on some cocks, [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") her "....................." ("annoyed", "narrow", "annoyed", "mid") # :( gen "Report back to me after your classes as usual..." ("base", xpos="far_left", ypos="head") her "Of course..." ("annoyed", "narrow", "angry", "R") else: - gen "Go give some lucky boy another blowjob, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Go give some lucky boy another blowjob, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "...... Again?" ("disgust", "narrow", "base", "mid_soft") gen "Yes, again." ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "narrow", "annoyed", "mid") call her_walk(action="leave") - $ hg_pr_blowjob.inProgress = True jump end_hermione_event +label hg_pr_blowjob_fail: + call start_hg_pr_blowjob + + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes?" ("open", "squint", "base", "mid") + gen "Don't you think it's about time you put that mouth to good use, by sucking off one of your classmates?" ("base", xpos="far_left", ypos="head") + + jump too_much_public + label end_hg_pr_blowjob: $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: @@ -109,16 +126,12 @@ label end_hg_pr_blowjob: pause.2 # Inner monologue - if hg_pr_blowjob.counter == 1: - show screen blktone - with d3 + if not _events_completed_any: + $ states.her.status.public_blowjob = True - her "(I did it...)" ("base", "narrow", "base", "dead", ypos="head", flip=False, trans=d3) + her "(I did it...)" ("base", "narrow", "base", "dead", xpos="base", ypos="base", flip=True, trans=d3) her "(I sucked off one of my classmates...)" ("angry", "narrow", "base", "dead") - hide screen blktone - with d3 - call her_chibi("leave") label .quick_end: @@ -126,20 +139,19 @@ label end_hg_pr_blowjob: $ hermione.set_cum(None) # Increase Points - if not hg_pr_blowjob.is_tier_complete(): - $ her_reputation += 1 + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_blowjob.inProgress = False jump end_hermione_event label hg_pr_blowjob_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Good evening, [name_genie_hermione]." ("soft", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you complete your assignment?" ("base", xpos="far_left", ypos="head") - if hg_pr_blowjob.is_tier_complete(): - her "Yes, [genie_name]." + if _events_filtered_completed_all: + her "Yes, [name_genie_hermione]." menu: "\"Great. Here are your points.\"": @@ -150,11 +162,11 @@ label hg_pr_blowjob_intro: stop music fadeout 3.0 - if hg_pr_blowjob.counter == 1: + if not _events_completed_any: her "......" ("annoyed", "narrow", "angry", "R") gen ".............." ("base", xpos="far_left", ypos="head") - gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], how did it go?" ("base", xpos="far_left", ypos="head") return @@ -164,20 +176,20 @@ label hg_pr_blowjob_T5_E1: call hg_pr_blowjob_intro - call play_music("hermione") # Music - gen "You know the drill, [hermione_name]. Start talking." ("base", xpos="far_left", ypos="head") - her "I gave a blowjob, [genie_name]..." ("disgust", "narrow", "base", "mid_soft") - gen "Good. Tell me more." ("base", xpos="far_left", ypos="head") - her "What is there to tell, [genie_name]?" ("annoyed", "narrow", "angry", "R") - her "I sucked off one of my classmates today..." - her "And that's it..." + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + gen "You know the drill, [name_hermione_genie]. Start talking." ("base", xpos="far_left", ypos="head") + her "I gave a blowjob, [name_genie_hermione]..." ("disgust", "narrow", "base", "mid_soft") + gen "Good... Tell me more." ("base", xpos="far_left", ypos="head") + her "What is there to tell, [name_genie_hermione]?" ("annoyed", "narrow", "angry", "R") + her "I sucked off one of my classmates today..." ("annoyed", "narrow", "angry", "R") + her "And that's it..." ("annoyed", "narrow", "angry", "R") gen "*Hmm*... I see..." ("base", xpos="far_left", ypos="head") gen "..............." ("base", xpos="far_left", ypos="head") her "...................................." ("angry", "narrow", "base", "down") gen "Did you swallow?" ("base", xpos="far_left", ypos="head") her "..........................." ("annoyed", "narrow", "annoyed", "mid") - gen "[hermione_name], did you swallow the load properly?" ("base", xpos="far_left", ypos="head") - her "Yes I did, [genie_name]." ("angry", "base", "angry", "mid") + gen "[name_hermione_genie], did you swallow the load properly?" ("base", xpos="far_left", ypos="head") + her "I... I didn't... [name_genie_hermione]." ("angry", "base", "angry", "mid") gen "Well, I suppose that will do for now..." ("base", xpos="far_left", ypos="head") jump end_hg_pr_blowjob @@ -186,30 +198,30 @@ label hg_pr_blowjob_T5_E2: call hg_pr_blowjob_intro - her "[genie_name], I..." ("angry", "narrow", "base", "down") - her "I tried, but..." - call play_music("despair") # Music - her "The boy turned me down, [genie_name]..." ("mad", "base", "worried", "mid", tears="soft") - her "I cannot believe that actually happened..." ("angry", "base", "base", "mid", tears="soft") - her "I am one of the top students in this school!" - her "One of the most popular ones too..." - her "And he turns me down?" ("angry", "base", "angry", "mid", tears="soft") - her "Why would he insult me like that?!" + her "[name_genie_hermione], I..." ("angry", "narrow", "base", "down") + her "I tried, but..." ("angry", "narrow", "base", "down") + play music "music/Despair_by_erenik.ogg" fadein 1 if_changed # Music + her @ tears soft "The boy turned me down, [name_genie_hermione]..." ("mad", "base", "worried", "mid") + her @ tears soft "I cannot believe that actually happened..." ("angry", "base", "base", "mid") + her "I am one of the top students in this school!" ("angry", "base", "base", "mid") + her "One of the most popular ones too..." ("angry", "base", "base", "mid") + her @ tears soft "And he turns me down?" ("angry", "base", "angry", "mid") + her "Why would he insult me like that?!" ("angry", "base", "angry", "mid") gen "So you're insulted because that boy refused to put his cock in your mouth?" ("base", xpos="far_left", ypos="head") - her "Wouldn't you be, [genie_name]?" ("angry", "base", "angry", "mid", tears="crying") - gen "I.. I never considered that option myself, but I think I would get over it rather quickly..." ("base", xpos="far_left", ypos="head") - her "He rejected me [genie_name]..." ("angry", "base", "angry", "mid", cheeks="blush") - her "Who does he think he is?!" - her "With all due respect, [genie_name], you wouldn't understand..." ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ tears crying "Wouldn't you be, [name_genie_hermione]?" ("angry", "base", "angry", "mid") + gen "I... I never considered that option myself, but I think I would get over it rather quickly..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "He rejected me, [name_genie_hermione]..." ("angry", "base", "angry", "mid") + her "Who does he think he is?!" ("angry", "base", "angry", "mid") + her @ cheeks blush "With all due respect, [name_genie_hermione], you wouldn't understand..." ("open", "narrow", "annoyed", "mid") gen "Well, in any case. I can't pay you for this." ("base", xpos="far_left", ypos="head") - her "Of course... I would not expect you to, [genie_name]." ("annoyed", "narrow", "annoyed", "mid", tears="soft") - her "I failed to complete my task and deserve no praise of any kind..." - her "And should you pay me out of pity..." - her "Then That would only worsen the insult..." ("annoyed", "narrow", "angry", "R") + her @ tears soft "Of course... I would not expect you to, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") + her @ tears soft "I failed to complete my task and deserve no praise of any kind..." ("annoyed", "narrow", "annoyed", "mid") + her @ tears soft "And should you pay me out of pity..." ("annoyed", "narrow", "annoyed", "mid") + her "Then that would only worsen the insult..." ("annoyed", "narrow", "angry", "R") gen "*Hmm*... In that case, maybe I should pay you anyway..." ("base", xpos="far_left", ypos="head") - her "No, [genie_name]. I would not accept it..." ("annoyed", "narrow", "annoyed", "mid") + her "No, [name_genie_hermione]... I would not accept it..." ("annoyed", "narrow", "annoyed", "mid") gen "*Hmm*... Well, this will be all then." ("base", xpos="far_left", ypos="head") - her "Have a good night, [genie_name]." + her "Have a good night, [name_genie_hermione]." ("open", "closed", "base", "mid") jump end_hg_pr_blowjob.no_points @@ -218,20 +230,33 @@ label hg_pr_blowjob_T5_E3: call hg_pr_blowjob_intro - her "I still find the idea of performing a favour like this unappealing, [genie_name]." ("annoyed", "narrow", "angry", "R") + her "I still find the idea of performing a favour like this unappealing, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") her "But it went surprisingly well..." ("annoyed", "narrow", "annoyed", "mid") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed - her "I gave a proper blowjob to this handsome boy from Ravenclaw..." + her "I gave a proper blowjob to this handsome boy from Ravenclaw..." ("annoyed", "narrow", "annoyed", "mid") her "And he was such a gentleman about it..." ("open", "narrow", "worried", "down") - her "He even warned me when he was about to cum." ("angry", "narrow", "base", "down") - gen "A true gentleman indeed." ("base", xpos="far_left", ypos="head") + her "He even warned me when he was about to finish." ("angry", "narrow", "base", "down") + gen "A sign of a true gentleman indeed." ("base", xpos="far_left", ypos="head") gen "Did you swallow?" ("base", xpos="far_left", ypos="head") - her "Of course I did, [genie_name]." ("upset", "closed", "base", "mid") - her "I told you -- I gave the boy a {b}proper{/b} blowjob." - her "It's the least I could do for someone who treated me with respect for a change..." ("angry", "narrow", "base", "down") - gen "Well, in that case." ("base", xpos="far_left", ypos="head") + if states.her.status.gokkun: + her "Of course I did, [name_genie_hermione]." ("upset", "closed", "base", "mid") + her "I told you -- I gave the boy a {b}proper{/b} blowjob." ("upset", "closed", "base", "mid") + her "It's the least I could do for someone who treated me with respect for a change..." ("angry", "narrow", "base", "down") + gen "Well, in that case." ("base", xpos="far_left", ypos="head") + + $ states.her.status.public_gokkun = True + else: + her "Oh... *Ehm*..." ("angry", "base", "base", "R") + gen "Did you not say that you gave him a {b}proper{/b} blowjob?" ("base", xpos="far_left", ypos="head") + her "I did say that, I just didn't--" ("annoyed", "base", "base", "mid") + her "I panicked, okay?" ("angry", "base", "base", "mid") + her "I had never done that before, so when the moment came..." ("angry", "base", "base", "R") + gen "You mean when the boy came..." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "base", "base", "mid") + gen "Oh, well... I suppose not everyone can be perfect... At least you did the actual sucking." ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "base", "down") jump end_hg_pr_blowjob @@ -241,27 +266,37 @@ label hg_pr_blowjob_T6_intro_E1: call hg_pr_blowjob_intro - her "Splendid, [genie_name]. Simply splendid." ("base", "happyCl", "base", "mid") + her "Splendid, [name_genie_hermione]...{w=0.4} Simply splendid." ("base", "happyCl", "base", "mid") gen "Really? Do tell." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music - her "Today I did something I wanted to do for such a long time now..." ("base", "narrow", "base", "up") - her "But never could muster up enough courage for..." + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "Today I did something I have wanted to do for a long time..." ("base", "narrow", "base", "up") + her "Something I've never been able to muster up enough courage for..." ("base", "narrow", "base", "up") gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - her "Today I sucked off my two best friends in the entire world!" ("soft", "narrow", "annoyed", "up") + her "Today I sucked off two of my classmates at the same time!" ("soft", "narrow", "annoyed", "up") her "And it was every bit as exciting as I thought it would be." ("base", "narrow", "worried", "down") - her "I made their cocks all sloppy with saliva..." ("grin", "narrow", "base", "dead") - her "I sucked on their balls too..." - her "But the best part was to see their faces..." ("silly", "narrow", "annoyed", "up") - her "The boys could not believe it was actually happening..." - her "To be honest, neither could I..." ("silly", "narrow", "base", "dead") - her "I, Hermione Granger -- the girl they knew for years..." - her "Sucking on their cocks..." ("open_wide_tongue", "narrow", "annoyed", "up") - her "Like some nasty slut..." ("shock", "base", "base", "R", cheeks="blush", tears="soft") - gen "Are you in love with those boys, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I don't know, [genie_name]... But I surely like their cocks..." ("base", "happyCl", "base", "mid") - her "Could I get paid now please?" + gen "At the same time, you say?" ("base", xpos="far_left", ypos="head") + her "Well, I was periodically moving between them... But I'm sure you know what I meant..." ("base", "narrow", "worried", "down") + gen "Impressive... I presume you had to do this for quite a while, before they finished?" ("base", xpos="far_left", ypos="head") + her "*Mmm*... Yes, it did take quite a while..." ("base", "narrow", "worried", "dead") + her "By the end, their cocks were all sloppy with saliva..." ("grin", "narrow", "base", "dead") + her "And their balls as well..." ("grin", "narrow", "base", "dead") + gen "By the end, you say? So, you made sure to swallow?" ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]! Since there were two of them... Who knows how much of a mess they would've made otherwise." ("grin", "closed", "base", "dead") + gen "So, you only did it to avoid a mess?" ("base", xpos="far_left", ypos="head") + her "Well, there was that... I was also wanted to see the surprised look on their faces when I swallowed..." ("angry", "narrow", "base", "R") + her "When I did it, they looked at if they couldn't believe it was actually happening..." + her "To be honest, neither could I..." ("base", "closed", "base", "dead") + her "Me... Hermione Granger... The girl they've spent years alongside..." + her "Sucking their cocks..." ("open_wide_tongue", "narrow", "annoyed", "up") + her @ cheeks blush "Like some nasty slut..." ("angry", "narrow", "base", "up") + her "Of course, I made them promise not to tell anyone..." ("open", "closed", "annoyed", "mid") + gen "Are you in love with those boys, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "I don't know about that, [name_genie_hermione]... But I surely enjoyed the experience..." ("base", "wink", "base", "mid") + her "Could I get paid now, please?" gen "Sure..." ("base", xpos="far_left", ypos="head") + $ states.her.status.public_gokkun = True + jump end_hg_pr_blowjob label hg_pr_blowjob_T6_E2: @@ -275,41 +310,44 @@ label hg_pr_blowjob_T6_E2: her "" ("angry", "base", "angry", "mid", xpos="mid", ypos="base", trans=d3) pause 1.0 - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "You look like hell..." ("base", xpos="far_left", ypos="head") - call play_music("hermione") # Music - her "[genie_name], I... Yes, thanks to that Slytherin boy..." ("scream", "closed", "angry", "mid", tears="mascara") - gen "Slytherin...{w=0.4} Seriously?!" ("angry", xpos="far_left", ypos="head") - her "Yes, [genie_name]." ("annoyed", "narrow", "annoyed", "mid", tears="mascara") - her "That nasty boy from Slytherin seemed to take a fancy to my face..." - her "Or...{w=0.5} My mouth rather I suppose..." ("open", "narrow", "worried", "down", tears="mascara") - her "And--" + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "You look like you've been through hell..." ("base", xpos="far_left", ypos="head") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her @ tears soft "[name_genie_hermione], I... Yes, thanks to that Slytherin boy..." ("angry", "narrow", "angry", "mid") + gen "A Slytherin did this?{w=0.4} Seriously?!" ("angry", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") + her "A nasty boy from Slytherin seemed to take a fancy to my face..." ("annoyed", "narrow", "annoyed", "mid") + her "Or...{w=0.5} My mouth rather I suppose..." ("disgust", "narrow", "annoyed", "down") + her "And--" ("open", "narrow", "annoyed", "down") play sound "sounds/burp.ogg" - her "*Burp*!..." ("shock", "happyCl", "worried", "mid", tears="mascara") - her "{i}Excuse moi{/i}." ("angry", "narrow", "base", "down", tears="mascara") - her "He came so much I was barely able to swallow it all..." ("scream", "base", "angry", "mid", emote="angry", tears="mascara") - her "Bloody bastard!" - her "You think I could file a complaint, [genie_name]?" ("angry", "base", "angry", "mid", cheeks="blush", tears="mascara") + her "*Burp*!..." ("full", "happyCl", "worried", "mid") + her "{i}Excuse moi{/i}." ("angry", "narrow", "annoyed", "R") + her "Anyway... He came so much I was barely able to swallow it all..." ("angry", "closed", "annoyed", "mid", emote="angry") + her "Bloody bastard!" ("scream", "base", "angry", "mid", emote="angry") + her @ cheeks blush "You think I could file a complaint, [name_genie_hermione]?" ("angry", "base", "angry", "mid") gen "*Hmm*... I suppose..." ("base", xpos="far_left", ypos="head") gen "But keep in mind that the moment we bring the ministry into this..." ("base", xpos="far_left", ypos="head") gen "All this \"favour selling business\" will have to stop immediately." ("base", xpos="far_left", ypos="head") - her "Oh...?" ("open", "base", "base", "R", cheeks="blush", tears="mascara") - her ".................." - her "Please, never mind what I just said then..." ("base", "happyCl", "base", "mid", tears="mascara") + her @ cheeks blush "Oh... Right..." ("open", "base", "base", "R") + her ".................." ("open", "base", "base", "R") + her "Please, never mind what I just said then..." ("angry", "happyCl", "base", "mid") gen "Are you sure? You look pretty messed up." ("base", xpos="far_left", ypos="head") - her "No, no. It's nothing really..." - her "After all I was the one who offered him a free blowjob..." - her "He just got a bit rough with me closer to the end, that's all..." - her "I think I am just overreacting..." + her "No, no. It's nothing really..." ("smile", "happyCl", "base", "mid") + her "After all... I was the one who offered him a free blowjob..." ("smile", "happyCl", "base", "mid") + her "He just got a bit rough with me towards the end, that's all..." ("smile", "squint", "worried", "mid") + her "I think I am just overreacting..." ("smile", "narrow", "worried", "R") gen "I see..." ("base", xpos="far_left", ypos="head") - her "Can I just--" + her "Can I just--" ("angry", "narrow", "base", "mid") play sound "sounds/burp.ogg" - her "*Burp*!..." ("shock", "wide", "base", "stare", tears="mascara") - her "Excuse me, [genie_name]." ("angry", "narrow", "base", "down", tears="mascara") - her "{size=-3}(He just kept on cumming... My stomach feels so full...){/size}" ("angry", "happyCl", "worried", "mid", emote="sweat", tears="mascara") - her "Can I get my payment now, please?" ("open", "base", "base", "mid", tears="mascara") + her "*Burp*!..." ("full", "wide", "base", "stare") + her "Excuse me, [name_genie_hermione]." ("angry", "narrow", "base", "down") + her "{size=-3}(He just kept on cumming... My stomach feels so full...){/size}" ("disgust", "happyCl", "worried", "mid", emote="sweat") + her "Can I get my payment now, please?" ("angry", "base", "base", "mid") + gen "Of course..." ("base", xpos="far_left", ypos="head") + + $ states.her.status.public_cumshot = True jump end_hg_pr_blowjob @@ -324,26 +362,26 @@ label hg_pr_blowjob_T6_E3: her "" ("base", "narrow", "base", "up", xpos="mid", ypos="base", trans=d3) pause 1.0 - her "Good evening, [genie_name]..." + her "Good evening, [name_genie_hermione]..." ("base", "narrow", "base", "up") gen "Hermione?!" ("angry", xpos="far_left", ypos="head") - gen "What happened to you, [hermione_name]?" ("angry", xpos="far_left", ypos="head") + gen "What happened to you?" ("angry", xpos="far_left", ypos="head") gen "All I asked you to do was to give a blowjob to one of your classmates." ("angry", xpos="far_left", ypos="head") - call play_music("hermione") # Music - her "That... That was exactly what I did, [genie_name]." ("angry", "narrow", "base", "down") - gen "[hermione_name], you are covered in cum head to toe." ("base", xpos="far_left", ypos="head") - her "I am?" ("soft", "narrow", "annoyed", "up") - her "Oh... Did I forget to clean myself up?" + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "That...{w=0.4} That was exactly what I did, [name_genie_hermione]." ("grin", "narrow", "base", "up") + gen "[name_hermione_genie], you are covered head to toe in cum..." ("base", xpos="far_left", ypos="head") + her "I am?" ("angry", "narrow", "worried", "dead") + her "Oh... Did I forget to clean myself up?" ("soft", "narrow", "worried", "down") her "How embarrassing..." ("base", "narrow", "base", "mid_soft") - her "That thing at the boy's restroom sort of escalated I suppose..." - her "Before I knew what happened I was surrounded with hard throbbing cocks..." - her "Oh... Just talking about it makes me shiver with excitement... *err*.." ("silly", "narrow", "base", "dead") - her "... I mean, with fear... no, not fear..." ("grin", "narrow", "annoyed", "up") - her "Embarrassment...? No, that's not it... *Hmm*..." ("base", "base", "base", "R", cheeks="blush") + her "That thing inside the boy's restroom sort of escalated I suppose..." ("soft", "narrow", "base", "R") + her "Before I knew what happened I was surrounded by hard, throbbing, cocks..." ("base", "narrow", "base", "up") + her "Oh... Just talking about it makes me shiver with excitement... *Err*..." ("silly", "narrow", "base", "dead") + her "I mean, with fear... No... Not fear..." ("grin", "narrow", "annoyed", "up") + her @ cheeks blush "Embarrassment...? No, that's not it either... *Hmm*..." ("base", "narrow", "base", "up") gen "Are you asking me?" ("base", xpos="far_left", ypos="head") - her "Oh, excuse me, [genie_name]... I feel a little lightheaded..." ("grin", "narrow", "base", "dead") + her "Oh, excuse me, [name_genie_hermione]... I feel a little lightheaded..." ("grin", "narrow", "base", "dead") her "I think I need to go lie down for a while..." gen "Don't miss the shower room this time." ("base", xpos="far_left", ypos="head") - her "The shower room? Why?" ("base", "narrow", "base", "mid_soft") + her "The shower room? Why?" ("soft", "narrow", "worried", "mid_soft") gen "Forget I said anything..." ("base", xpos="far_left", ypos="head") jump end_hg_pr_blowjob diff --git a/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy b/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy index 383ede76..c2768a8c 100644 --- a/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy +++ b/game/scripts/characters/hermione/events/requests/give_a_handjob.rpy @@ -1,32 +1,39 @@ ### Give Classmate A Handjob ### -label hg_pr_handjob: +label start_hg_pr_handjob: # Setup $ current_payout = 55 - if hg_pr_handjob.counter == 0: + if not _events_completed_any: gen "{size=-4}(Tell her to give a handjob to one of her classmates?){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu + return + +label hg_pr_handjob: + + call start_hg_pr_handjob her "" (xpos="mid", ypos="base", trans=fade) #Intro - if hg_pr_handjob.counter == 0: + if not _events_completed_any: - if her_reputation < 12: - gen "[hermione_name], I want you to do something different today..." ("base", xpos="far_left", ypos="head") + if states.her.public_level < 12: + gen "[name_hermione_genie], I want you to do something different today..." ("base", xpos="far_left", ypos="head") her "...?" ("normal", "squint", "angry", "mid") gen "I want you to give a handjob to one of your classmates." ("base", xpos="far_left", ypos="head") + $ _event.cancel() jump too_much_public - gen "[hermione_name], I want you to do something different today..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], I want you to do something different today..." ("base", xpos="far_left", ypos="head") her "..........." ("soft", "base", "base", "mid") gen "I want you to go out there and have sex with one of your classmates." ("grin", xpos="far_left", ypos="head") @@ -34,47 +41,47 @@ label hg_pr_handjob: with hpunch her "{size=+5}What?!!{/size}" ("shock", "wide", "base", "stare") - call play_music("hermione") # Music - her "Now you have done it, [genie_name]! You crossed the line!" ("angry", "base", "angry", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Now you have done it, [name_genie_hermione]! You crossed the line!" ("angry", "base", "angry", "mid") her "I know I did sell you a couple of rather questionable favours in the past..." gen "{size=-4}*Heh* a couple she says...{/size}" ("base", xpos="far_left", ypos="head") with vpunch her "{size=+5}--But THIS?!{/size}" ("scream", "base", "angry", "mid", emote="angry") her "I cannot believe that you would ask one of your pupils to... to..." - her "We are done here, [genie_name]!" ("angry", "base", "angry", "mid", emote="angry") + her "We are done here, [name_genie_hermione]!" ("angry", "base", "angry", "mid", emote="angry") gen "Alright, alright, calm down, would you?" ("base", xpos="far_left", ypos="head") - her "I most certainly will not, [genie_name]! This is beyond inappropriate!" ("scream", "closed", "angry", "mid") + her "I most certainly will not, [name_genie_hermione]! This is beyond inappropriate!" ("scream", "closed", "angry", "mid") gen "Alright, fine, maybe I really did cross some sort of line this time..." ("base", xpos="far_left", ypos="head") - her "You think [genie_name]?! You think!!?" ("angry", "base", "angry", "mid") + her "You think [name_genie_hermione]?! You think!!?" ("angry", "base", "angry", "mid") gen "Yes, I apologise..." ("base", xpos="far_left", ypos="head") her "........." ("annoyed", "narrow", "annoyed", "mid") gen "How about we try something less... engaging instead?" ("base", xpos="far_left", ypos="head") her "............" ("upset", "closed", "base", "mid") gen "I'll be willing to grant Gryffindor {number=current_payout} points." ("base", xpos="far_left", ypos="head") gen "All I ask in return is..." ("base", xpos="far_left", ypos="head") - her "..........?" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "..........?" ("angry", "base", "angry", "mid") gen "... that you go out there and give some lucky boy a handjob..." ("base", xpos="far_left", ypos="head") her "!!!......" ("angry", "base", "angry", "mid") gen "Oh, come on... Just a harmless handjob." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "mid_soft") gen "{number=current_payout} house points..." ("base", xpos="far_left", ypos="head") her ".............." ("annoyed", "narrow", "angry", "R") - her "I am glad that you came to your senses, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") + her "I am glad that you came to your senses, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") gen "Oh, but of course. Thank you for keeping me in check." ("base", xpos="far_left", ypos="head") gen "Are you up for it then?" ("base", xpos="far_left", ypos="head") her "I am willing to give it a try..." ("annoyed", "narrow", "angry", "R") gen "Splendid... See you tonight then." ("base", xpos="far_left", ypos="head") else: - if her_tier >= 6: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "What do you think about giving one of your classmates another handjob?" ("base", xpos="far_left", ypos="head") - her "I don't mind, [genie_name]." ("annoyed", "narrow", "worried", "down") + if states.her.tier >= 6: + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "What do you think about going out there and giving a handjob to one of your classmates?" ("base", xpos="far_left", ypos="head") + her "I don't mind, [name_genie_hermione]." ("open", "narrow", "base", "down") gen "Really?" ("base", xpos="far_left", ypos="head") - her "Yes... I mean, it's just a handjob..." ("grin", "base", "base", "R") + her "Yes... I mean, it's just a handjob..." ("soft", "base", "worried", "R") gen "Great. Go have fun then!" ("base", xpos="far_left", ypos="head") gen "And report back to me after your classes, as usual." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("base", "happyCl", "base", "mid") - elif her_tier >= 5: + her "Of course, [name_genie_hermione]." ("base", "happyCl", "base", "mid") + elif states.her.tier >= 5: gen "Ready to go have sex with one of your classmates yet?" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 @@ -82,34 +89,42 @@ label hg_pr_handjob: her "What?" ("scream", "wide", "base", "mid") her "Of course not! I would never--" ("scream", "closed", "angry", "mid") gen "How about a handjob then?" ("base", xpos="far_left", ypos="head") - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "..............." ("annoyed", "narrow", "angry", "R") - gen "Oh come on. You did it before." ("base", xpos="far_left", ypos="head") + gen "Come on [name_hermione_genie]... You've given a handjob before." ("base", xpos="far_left", ypos="head") her "*Hmm*.........." ("annoyed", "narrow", "annoyed", "mid") - her "{number=current_payout} house points?" + her "{number=current_payout} house points?" ("annoyed", "narrow", "annoyed", "mid") gen "Naturally." ("base", xpos="far_left", ypos="head") her "Well, alright... I'll see what I can do..." ("angry", "narrow", "base", "down") else: - gen "Today's favour shall be..." ("base", xpos="far_left", ypos="head") + gen "Alright then, [name_hermione_genie], for today's favour..." ("base", xpos="far_left", ypos="head") her "........." ("angry", "base", "base", "mid") - gen "A Handjob to the boy of your choosing!" ("base", xpos="far_left", ypos="head") - her "... again?" ("angry", "narrow", "base", "down") + gen "I require you to give a handjob to the boy of your choosing!" ("base", xpos="far_left", ypos="head") + her "... Again?" ("angry", "narrow", "base", "down") gen "Sure, why not?" ("base", xpos="far_left", ypos="head") - gen "And another {number=current_payout} house points for the Gryffindor house of course." ("base", xpos="far_left", ypos="head") + gen "You'll be receiving {number=current_payout} points for the Gryffindor house, of course." ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "base", "worried", "R") - gen "So... Are you up for that, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "So... Are you up for it, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "I will see what I can do..." ("annoyed", "narrow", "angry", "R") gen "Splendid!" ("base", xpos="far_left", ypos="head") call her_walk(action="leave") - $ hg_pr_handjob.inProgress = True jump end_hermione_event +label hg_pr_handjob_fail: + call start_hg_pr_handjob + + gen "[name_hermione_genie], I was thinking..." ("base", xpos="far_left", ypos="head") + her "Yes?" ("open", "squint", "base", "mid") + gen "Wouldn't it be great, if you gave a handjob to one of your classmates?" ("base", xpos="far_left", ypos="head") + + jump too_much_public + label end_hg_pr_handjob: $ gryffindor += current_payout #55 gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: @@ -117,40 +132,31 @@ label end_hg_pr_handjob: pause.2 # Inner monologue - if hg_pr_handjob.counter == 1: - - her ".........." ("upset", "narrow", "angry", "R", ypos="head", flip=False, trans=d3) - - show screen blktone - with d3 - + if states.her.tier <= 4 and not _events_completed_any: + her ".........." ("upset", "narrow", "angry", "R", ypos="base", xpos="base", flip=True, trans=d3) her "(Do I really have to do this?)" ("upset", "closed", "angry", "mid") + her "*Sigh*" ("soft", "closed", "angry", "mid") - hide screen blktone - with d3 - - her "*sigh*" ("soft", "closed", "angry", "mid") - + $ states.her.status.public_handjob = True call her_chibi("leave") label .quick_end: # Increase Points - if not hg_pr_handjob.is_tier_complete(): - $ her_reputation += 1 + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_handjob.inProgress = False jump end_hermione_event label hg_pr_handjob_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Good evening, [name_genie_hermione]." ("open", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you lend a hand to the needy?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." + her "Yes, [name_genie_hermione]..." - if hg_pr_handjob.is_tier_complete(): + if _events_filtered_completed_all: menu: "\"Great. Here are your points.\"": jump end_hg_pr_handjob @@ -160,11 +166,11 @@ label hg_pr_handjob_intro: stop music fadeout 3.0 - if hg_pr_handjob.counter == 1: + if not _events_completed_any: her "......" ("annoyed", "narrow", "angry", "R") gen ".............." ("base", xpos="far_left", ypos="head") - gen "[hermione_name], how did it go?" ("base", xpos="far_left", ypos="head") + gen "Then tell me, how did it go?" ("base", xpos="far_left", ypos="head") return @@ -174,56 +180,56 @@ label hg_pr_handjob_T4_E1: call hg_pr_handjob_intro - call play_music("hermione") # Music - her "Quite awful... of course..." ("annoyed", "squint", "angry", "mid") - gen "Just tell me what happened, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "I made a complete fool out of myself, that's what happened, [genie_name]." ("disgust", "narrow", "base", "mid_soft") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Quite awful... Of course..." ("annoyed", "squint", "angry", "mid") + gen "Just tell me what happened, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "I made a complete fool out of myself, that's what happened, [name_genie_hermione]." ("disgust", "narrow", "base", "mid_soft") her "....." gen "..." ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "base", "worried", "R") her "I don't want to talk about it..." ("annoyed", "narrow", "angry", "R") - her "You told me to go and touch a boy's penis and I did just that, [genie_name]." - her "Please, just let me have my points now, [genie_name]..." ("open", "base", "base", "mid") - gen "I did not tell you to \"go and touch a boy's penis\", [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "I told you to give one of your classmates a proper handjob." ("base", xpos="far_left", ypos="head") - her "Well, yes... that was what I meant of course..." ("annoyed", "narrow", "annoyed", "mid") + her "You told me to go and touch a student's penis, and I did just that, [name_genie_hermione]." + her "Please, just let me have my points now, [name_genie_hermione]..." ("open", "base", "base", "mid") + gen "I did not tell you to \"go and touch a student's penis\", [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "I told you to give one of your classmates a handjob." ("base", xpos="far_left", ypos="head") + her "Well, yes... That's what I meant, of course..." ("annoyed", "narrow", "annoyed", "mid") gen "Did you make him cum, then?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("open", "base", "base", "mid") - gen "Did his \"wee-wee\" shoot white stuff at you, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") + gen "Did his \"wee-wee\" shoot white stuff at you, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Well..." ("annoyed", "base", "worried", "R") her "No, it did not..." ("normal", "happyCl", "worried", "mid") gen "Poor guy... Must've blue-balled him." ("base", xpos="far_left", ypos="head") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"Well, this doesn't count then.\"": + "\"In that case, it doesn't count.\"": stop music fadeout 4.0 her "What?" ("angry", "wide", "base", "stare") - her "But, [genie_name], I..." - gen "If you didn't make him cum then that wasn't a proper handjob. Period." ("base", xpos="far_left", ypos="head") + her "But, [name_genie_hermione], I..." + gen "If you didn't make him cum, then it wasn't a proper handjob. Period." ("base", xpos="far_left", ypos="head") her "But... But what was it then...?" ("angry", "base", "base", "mid") gen "How should I know? A cock massage?" ("base", xpos="far_left", ypos="head") her "*Aww*..." ("angry", "narrow", "base", "down") her "But I really tried my best..." - gen "No handjob - no payment, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "No handjob - no payment, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "....." ("angry", "base", "base", "mid") - gen "You are free to go, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "You are free to go." ("base", xpos="far_left", ypos="head") her "........." ("annoyed", "narrow", "angry", "R") - $ her_mood +=9 + $ states.her.mood +=9 jump end_hg_pr_handjob.no_points - "\"You shall only get half the payment then.\"": + "\"You shall only get half the payment.\"": $ current_payout = int(current_payout/2) her "Oh...?" ("open", "base", "base", "mid") - gen "Is that a Problem, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "N-No [genie_name]... It's only fair I suppose..." ("angry", "narrow", "base", "down") + gen "Is that a problem, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "N-No [name_genie_hermione]... It's only fair, I suppose..." ("angry", "narrow", "base", "down") gen "Of course it is!" ("base", xpos="far_left", ypos="head") "\"Well, you did try. Here are your points.\"": her "Really?" ("angry", "base", "base", "mid") - her "Thank you, [genie_name]!" ("open", "narrow", "worried", "down") + her "Thank you, [name_genie_hermione]!" ("open", "narrow", "worried", "down") her "I promise, I will try harder next time!" ("base", "base", "base", "mid") her "*Ehm*... Should you request a similar favour in the future, I mean..." ("upset", "wink", "base", "mid") @@ -233,26 +239,26 @@ label hg_pr_handjob_T4_E2: call hg_pr_handjob_intro - call play_music("playful_tension") # Music - her "It went well, [genie_name]..." ("open", "base", "base", "mid") - her "I asked one of the Gryffindor boys to let me do \"it\" to him..." - her "To my surprise he agreed eagerly." ("open", "base", "base", "mid", cheeks="blush") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "It went well, [name_genie_hermione]..." ("open", "base", "base", "mid") + her "I asked one of the Gryffindor boys to let me do \"it\" for him..." + her @ cheeks blush "To my surprise, he agreed eagerly." ("open", "base", "base", "mid") gen "Shocker..." ("base", xpos="far_left", ypos="head") - her "So we hid behind one of those huge tapestries in the east wing..." ("open", "closed", "base", "mid", cheeks="blush") - her "And I... wanked him until he came..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "So we hid behind one of those huge tapestries in the east wing..." ("open", "closed", "base", "mid") + her @ cheeks blush "And I... Wanked him until he came..." ("annoyed", "narrow", "angry", "R") her "........." - her "And I asked him to keep the whole thing a secret, but..." ("angry", "base", "base", "mid", cheeks="blush") - gen "What's the matter, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "After he finished, I asked him to keep the whole thing a secret of course... Although..." ("angry", "base", "base", "mid") + gen "What's the matter, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") gen "Doubting the honesty of your fellow Gryffindor?" ("base", xpos="far_left", ypos="head") - her "Of course not, [genie_name]." ("upset", "closed", "base", "mid") - her "..........................." ("angry", "narrow", "base", "down", cheeks="blush") - her "Still... Performing this sort of task could really damage my reputation..." ("angry", "base", "base", "mid", cheeks="blush") - gen "Is this your way of asking for a raise, [hermione_name]?" ("base", xpos="far_left", ypos="head") - gen "{number=current_payout} points is as high as I can go with this one." ("base", xpos="far_left", ypos="head") - her "Oh... Of course..." ("angry", "narrow", "base", "down") + her "Of course not, [name_genie_hermione]." ("upset", "closed", "base", "mid") + her @ cheeks blush "..........................." ("angry", "narrow", "base", "down") + her @ cheeks blush "Still... Performing this sort of task could really damage my reputation..." ("angry", "base", "base", "mid") + gen "Is this your way of asking for a raise, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + gen "As it stands, {number=current_payout} points is as high as I can go." ("base", xpos="far_left", ypos="head") + her "Oh... I see..." ("angry", "narrow", "base", "down") gen "Unless, you've changed your mind about having sex with one of your classmates?" ("base", xpos="far_left", ypos="head") her "What?" ("shock", "wide", "base", "stare") - her "[genie_name], I am not a prostitute!" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], I am not a prostitute!" ("angry", "narrow", "base", "down") gen "Well, in that case..." ("base", xpos="far_left", ypos="head") jump end_hg_pr_handjob @@ -263,18 +269,16 @@ label hg_pr_handjob_T4_E3: stop music fadeout 3.0 call her_walk(action="enter", xpos="mid", ypos="base") - gen "[hermione_name], how did it--" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], how did it--" ("base", xpos="far_left", ypos="head") $ hermione.set_cum(hair="light") - show screen blktone - with d3 her "" ("angry", "narrow", "angry", "R", xpos="mid", ypos="base", trans=d3) - gen "...-go." ("base", xpos="far_left", ypos="head") + gen "-- Go..." ("base", xpos="far_left", ypos="head") - call play_music("hermione") # Music - her "Awful, [genie_name]. Simply awful..." ("scream", "happyCl", "worried", "mid") - gen "You've got something... in your hair there..." ("base", xpos="far_left", ypos="head") - her "*huh*?" ("open", "base", "angry", "mid") - her "Oh, no! I thought I got it all off..." ("angry", "happyCl", "base", "mid", cheeks="blush") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Awful, [name_genie_hermione]. Simply awful..." ("scream", "happyCl", "worried", "mid") + gen "You've got something, right there... In your hair..." ("base", xpos="far_left", ypos="head") + her "In my--" ("open", "base", "angry", "mid") + her @ cheeks blush "Oh, no! I thought I got it all off!" ("angry", "happyCl", "base", "mid") her "One moment..." show screen blkfade @@ -285,17 +289,21 @@ label hg_pr_handjob_T4_E3: hide screen blkfade with d3 - gen "*Hmm*... So I suppose you have completed your task?" ("base", xpos="far_left", ypos="head") - her "I did, [genie_name]..." ("annoyed", "narrow", "angry", "R") + gen "*Hmm*... So, I suppose you have completed your task?" ("base", xpos="far_left", ypos="head") + her "I did, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") gen "What's the problem, then?" ("base", xpos="far_left", ypos="head") - her ".........." ("annoyed", "base", "worried", "R") - her "All boys are jerks! That is the problem, [genie_name]!" ("scream", "closed", "angry", "mid") - her "I gave this one boy a good wanking..." ("open", "narrow", "worried", "down") - her "And do you know how he thanked me?" - her "He got his spunk all over me..." ("scream", "base", "angry", "mid", emote="angry") - her "And he did that on purpose, I know he did!" ("scream", "closed", "angry", "mid") - her "Nasty, good for nothing Ravenclaws..." ("annoyed", "base", "worried", "R") - gen "Well, I'd say a job well done." ("base", xpos="far_left", ypos="head") + her "Boys are jerks, all of them! That is the problem, [name_genie_hermione]!" ("scream", "closed", "angry", "mid") + her "I was kind enough to offer this one boy a handjob." ("open", "narrow", "angry", "down") + her "And do you know how he thanked me?" ("angry", "narrow", "angry", "mid") + her "By ejaculating all over me!" ("scream", "base", "angry", "mid", emote="angry") + her "And he did that on purpose... I know he did!" ("scream", "closed", "angry", "mid") + her "Nasty, good for nothing, Ravenclaw..." ("annoyed", "base", "angry", "R") + gen "He probably just wanted to reward you for a job well done." ("base", xpos="far_left", ypos="head") + her "What did you say?" ("angry", "base", "worried", "mid") + gen "I say, job well done, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "Oh... I see." ("normal", "base", "worried", "mid") + + $ states.her.status.public_cumshot = True jump end_hg_pr_handjob @@ -305,53 +313,53 @@ label hg_pr_handjob_T5_E1: call hg_pr_handjob_intro - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "*Ehm*..." ("open", "base", "base", "mid") - her "Not that good to be honest, [genie_name]..." + her "Not that good to be honest, [name_genie_hermione]..." ("open", "base", "base", "mid") gen "Oh?" ("base", xpos="far_left", ypos="head") - her "Yes... Let me explain, [genie_name]..." ("annoyed", "base", "worried", "R") + her "Yes... Let me explain myself, [name_genie_hermione]..." ("annoyed", "base", "worried", "R") her "*Ehm*... Well..." ("open", "base", "base", "mid") - her "I was jerking this one boy off, in one of the empty classrooms..." - her "And that nasty ghost Peeves walked in..." + her "So, I was jerking this one boy off, in one of the empty classrooms..." ("open", "base", "base", "mid") + her "And that nasty ghost Peeves walked in..." ("open", "base", "base", "mid") her "Or rather flew in on us..." ("annoyed", "base", "worried", "R") her "And as soon as he realised what I was doing to the boy..." ("open", "base", "base", "mid") - her "He started to yell obscenities at us..." - her "So we had to leave in a hurry..." + her "He started shouting obscenities at us..." ("open", "base", "base", "mid") + her "So we had to leave in a hurry..." ("open", "base", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") - her "That is not all, [genie_name]..." ("annoyed", "narrow", "angry", "R") + her "That is not all, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") gen "Go on..." ("base", xpos="far_left", ypos="head") - her "Well, I sort of made a promise to the boy..." ("open", "narrow", "worried", "down") - her "I promised to meet him after my classes and..." + her "Well, after that happened, I sort of made a promise to the boy..." ("open", "narrow", "worried", "down") + her "I promised to meet him after my classes, and..." ("open", "narrow", "worried", "down") her "... and finish what I have started..." ("annoyed", "narrow", "annoyed", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") - gen "Did you?" ("base", xpos="far_left", ypos="head") - her "No, [genie_name]. Not yet at least..." ("angry", "base", "base", "mid") - her "I am supposed to meet him as soon as we are done here, [genie_name]." + gen "So, did you?" ("base", xpos="far_left", ypos="head") + her "No, [name_genie_hermione]... Not yet at least..." ("angry", "base", "base", "mid") + her "I am supposed to meet him around the time I'd be done here, [name_genie_hermione]." ("angry", "base", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "So if you could just give those points in advance..." ("angry", "narrow", "base", "down") - her "I would go meet with the boy right away and..." - her "And give him a proper handjob...?" ("open", "base", "base", "R", cheeks="blush") + her "So, if you would kindly give me those points in advance..." ("angry", "narrow", "base", "down") + her "Then I will go meet with the boy right away, and--" ("angry", "narrow", "base", "down") + her @ cheeks blush "And finish him... I mean, finish what I started." ("open", "base", "base", "R") menu: - "\"No. You failed this favour, [hermione_name].\"": + "\"No... You failed this favour, [name_hermione_genie].\"": stop music fadeout 3.0 - her "B-but..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "B-but..." ("open", "base", "base", "mid") her "But I gave him my word..." ("angry", "wide", "base", "stare") - her "I swore on Godric Gryffindor's name..." + her "I swore on Godric Gryffindor's name..." ("angry", "wide", "base", "stare") her "And now I will have to give him a wank no matter what..." ("angry", "narrow", "base", "down") gen "Well, I didn't force you to give him that promise, did I?" ("base", xpos="far_left", ypos="head") her "......" ("angry", "base", "base", "mid") her "This is just not fair!" ("scream", "happyCl", "worried", "mid") - $ her_mood += 20 + $ states.her.mood += 20 jump end_hg_pr_handjob.no_points - "\"Alright, I think I can trust you.\"": - her "Thank you, [genie_name]." ("base", "base", "base", "mid") - her "I knew you would understand." - gen "Just make sure you finish your job properly this time." ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]. I will give him the wank of his life, I promise!" ("base", "happyCl", "base", "mid") + "\"Alright, I'll make an exception, this one time.\"": + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") + her "I knew you would understand." ("base", "base", "base", "mid") + gen "Just make sure you finish your \"job\" properly this time." ("base", xpos="far_left", ypos="head") + her "Of course, [name_genie_hermione]! I will give him the wank of his life! I promise!" ("base", "happyCl", "base", "mid") jump end_hg_pr_handjob @@ -359,61 +367,60 @@ label hg_pr_handjob_T5_E2: call hg_pr_handjob_intro - call play_music("hermione") # Music - her "Fine I suppose..." ("open", "closed", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Fine, I suppose..." ("open", "closed", "base", "mid") her "Although I am still not sure how I feel about all of this..." ("annoyed", "base", "worried", "R") - gen "Your personal feelings are of no concern to me, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Your personal feelings are of no concern to me, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Just tell me more about how it went." ("base", xpos="far_left", ypos="head") - her "Well, there is not much to tell. [genie_name]..." ("open", "base", "base", "mid") - call play_music("playful_tension") # Music - her "Today I gave another handjob to one of my classmates..." + her "Well, there is not much to tell, [name_genie_hermione]..." ("open", "base", "base", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "Today I gave another handjob to one of my classmates..." ("open", "base", "base", "mid") her "Me, Hermione Granger..." ("open", "narrow", "worried", "down") - her "Giving free handjobs in the school's restroom..." ("angry", "narrow", "base", "down") - gen "Wait. What do you mean by \"free\"?" ("base", xpos="far_left", ypos="head") - her "Oh, of course... I get paid with house points for this..." ("angry", "base", "base", "mid") - her "But nobody knows about that..." - her "And to everyone else this just looks like some harlot who does this for fun..." - her "They must think I am a slut..." ("open", "narrow", "worried", "down") + her "Giving free handjobs in one of the school's restrooms..." ("angry", "narrow", "base", "down") + gen "Wait... What do you mean by \"free\"?" ("base", xpos="far_left", ypos="head") + her "Oh, of course... I do get paid with house points for this..." ("angry", "base", "base", "mid") + her "But nobody knows about that..." ("angry", "base", "base", "mid") + her "And to everyone else this just looks like some harlot, doing it for fun..." ("angry", "base", "base", "mid") her ".............." ("clench", "narrow", "base", "down") - her "Do you think I'm a slut, [genie_name]?" ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "Do you think I'm a slut, [name_genie_hermione]?" ("open", "happy", "base", "mid") menu: - gen "(*Hmm*..)" ("base", xpos="far_left", ypos="head") - "\"What? Of course not, [hermione_name]!\"": - her ".............." ("base", "base", "base", "R", cheeks="blush") - her "You are right, [genie_name]..." ("base", "narrow", "worried", "down") - her "I am making this sacrifice for the glory of the Gryffindor house." + gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") + "\"What? Of course not, [name_hermione_genie]!\"": + her @ cheeks blush ".............." ("base", "base", "base", "R") + her "You are right, [name_genie_hermione]..." ("base", "narrow", "worried", "down") + her "I am making this sacrifice for the glory of the Gryffindor house." ("base", "narrow", "worried", "down") her "I am not taking pleasure in this sort of activity..." ("soft", "narrow", "annoyed", "up") her "Because if I would..." ("annoyed", "narrow", "angry", "R") - her "That would mean I really am a slut..." + her "That would mean I really am a slut..." ("annoyed", "narrow", "angry", "R") her "And I am not..." ("angry", "narrow", "base", "down") - her "......" - her "I am not a slut..." + her "......" ("angry", "narrow", "base", "down") + her "I am not a slut..." ("angry", "narrow", "base", "down") "\"A slut? No... Not yet.\"": her "\"Not yet\"??!" ("angry", "base", "base", "mid") her ".........." ("angry", "narrow", "base", "down") her "Well, of course!" ("scream", "wide", "base", "mid") - her "You are right, as usual, [genie_name]!" ("soft", "base", "base", "mid") - gen "*huh*?" ("base", xpos="far_left", ypos="head") + her "You are right, as usual, [name_genie_hermione]!" ("soft", "base", "base", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") her "I have done a few... naughty things..." ("open", "base", "base", "mid") - her "But that does not mean anything!" + her "But that does not mean anything!" ("open", "base", "base", "mid") her "..........." ("annoyed", "narrow", "angry", "R") "\"Yes, that's exactly what you are.\"": - her "I was afraid that you would say that, [genie_name]..." ("mad", "happyCl", "worried", "mid", tears="soft_blink") - her "But you are wrong, [genie_name]." - her "You of all people should understand that I take no pleasure in this..." ("angry", "base", "base", "mid", tears="soft") - her "I just do what needs to be done..." ("normal", "base", "base", "R", tears="soft") - $ her_mood = 10 + her @ tears soft_blink "I was afraid that you would say that, [name_genie_hermione]..." ("mad", "happyCl", "worried", "mid") + her "But you are wrong, [name_genie_hermione]." ("mad", "happyCl", "worried", "mid") + her @ tears soft "You of all people should understand that I take no pleasure in this..." ("angry", "base", "base", "mid") + her @ tears soft "I just do what needs to be done..." ("normal", "base", "base", "R") + $ states.her.mood = 10 - her "[genie_name], can I just get paid now, please?" ("soft", "base", "base", "R") - gen "Get paid? But you didn't tell me how it went yet?" ("base", xpos="far_left", ypos="head") - her "I did not?" - her "[genie_name], I gave a handjob to one of my classmates today..." ("open", "base", "base", "mid", cheeks="blush") - her "I wanked his cock until he came..." + her "[name_genie_hermione], can I just get paid now, please?" ("soft", "base", "base", "R") + gen "Get paid? But you didn't tell me how it went yet." ("base", xpos="far_left", ypos="head") + her "I didn't?" ("soft", "base", "base", "R") + her @ cheeks blush "[name_genie_hermione], I gave a handjob to one of my classmates in one of the school's restroom stalls..." ("open", "base", "base", "mid") + her "I wanked his cock until he came..." ("open", "base", "base", "mid") her "Is that not what you told me to do?" ("disgust", "narrow", "base", "mid_soft") - gen "That's exactly what I told you to do, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "That's exactly what I told you to do, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Then I would like to get paid now, please." ("annoyed", "closed", "base", "mid") gen "........" ("base", xpos="far_left", ypos="head") gen "Fine..." ("base", xpos="far_left", ypos="head") @@ -424,59 +431,60 @@ label hg_pr_handjob_T5_E3: call hg_pr_handjob_intro - call play_music("hermione") # Music - her "Pretty well, [genie_name]." ("open", "closed", "base", "mid") - gen "Great. Tell me more." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Pretty well, [name_genie_hermione]." ("open", "closed", "base", "mid") + gen "Great... Tell me more." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music her "Well, today was a rather busy day..." ("open", "base", "base", "mid") - her "And I had to catch up on some studying..." - her "So I really had no time to plan this out properly, like I normally would..." - her "I pretty much just approached the first boy I saw..." - her "And asked him if he wants me to jerk him off." ("annoyed", "narrow", "angry", "R") - her "a Few minutes later I was already stroking his hard cock in the restroom stall..." + her "And I had to catch up on some studying..." ("open", "base", "base", "mid") + her "So, unfortunately I really had no time to plan things out properly, like I normally would..." ("open", "base", "base", "mid") + her "Since it was nearing the end of the day, I pretty much just approached the first boy I saw..." ("open", "base", "base", "mid") + her "And asked him if he wanted me to jerk him off." ("annoyed", "narrow", "angry", "R") + her "A couple of minutes later I was already stroking him, inside one of the restroom stalls..." ("annoyed", "narrow", "angry", "R") gen "How very efficient of you..." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") + her "Thank you, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") her "So, as I was saying..." ("annoyed", "narrow", "angry", "R") - her "I stroked his cock until he came..." - her "But after that he said: \"Good job, slut\" and just left me there..." ("disgust", "narrow", "base", "mid_soft") - her "Such a mean thing to do..." ("annoyed", "narrow", "angry", "R") - her "It made me feel so cheap... and used." ("upset", "closed", "base", "mid") - her "But it gets worse..." - her "......." + her "I stroked him until he came..." ("annoyed", "narrow", "angry", "R") + her "Even though I did this for him, out of the kindness of my heart..." ("annoyed", "narrow", "angry", "R") + her "The only thing he said before leaving was \"Good job, slut\"..." ("disgust", "narrow", "base", "mid_soft") + her "Isn't that such a mean thing to say?" ("annoyed", "narrow", "angry", "R") + her "I thought I was being efficient, but instead it left me feeling cheap... and used." ("upset", "closed", "base", "mid") + her "But it gets worse..." ("upset", "closed", "base", "mid") + her "......." ("upset", "closed", "base", "mid") her "I think on some level it also made me feel good somehow..." ("angry", "narrow", "base", "down") - her "All these favours I have been selling to you lately, [genie_name]..." - her "... it's starting to affect me." ("angry", "base", "base", "mid") - her "[genie_name], what is happening to me?" + her "All these favours I have been selling to you lately, [name_genie_hermione]..." ("angry", "narrow", "base", "down") + her "... It's starting to affect me." ("angry", "base", "base", "mid") + her "[name_genie_hermione], what is happening to me?" ("angry", "base", "base", "mid") menu: - "\"This is nothing. Stop over-thinking it!\"": - her "......." ("open", "happy", "base", "mid", cheeks="blush") - her "You are probably right, [genie_name]. As usual..." ("base", "base", "base", "R", cheeks="blush") - her "This does not have to mean anything..." + "\"This is nothing... Stop over-thinking it!\"": + her @ cheeks blush "......." ("open", "happy", "base", "mid") + her @ cheeks blush "You are probably right, [name_genie_hermione]... As usual." ("base", "base", "base", "R") + her "This does not have to mean anything..." ("base", "base", "base", "R") - "\"That is a natural response...\"": - her "It is?" ("open", "happy", "base", "mid", cheeks="blush") + "\"That is just a natural response...\"": + her @ cheeks blush "It is?" ("open", "happy", "base", "mid") gen "Of course." ("base", xpos="far_left", ypos="head") - gen "You are a girl and he is a boy..." ("base", xpos="far_left", ypos="head") - gen "You got excited and it made you feel good..." ("base", xpos="far_left", ypos="head") - her "*Hmm*..." ("base", "base", "base", "R", cheeks="blush") - gen "Now if you were to give a handjob and feel completely indifferent about it..." ("base", xpos="far_left", ypos="head") - gen "... that would be... unnatural." ("base", xpos="far_left", ypos="head") - her "I think you are right, [genie_name]." ("open", "happy", "base", "mid", cheeks="blush") - her "As usual." ("base", "base", "base", "R", cheeks="blush") # :) + gen "You are a girl, and he is a boy..." ("base", xpos="far_left", ypos="head") + gen "You got excited, and it made you feel good..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmm*..." ("base", "base", "base", "R") + gen "Now, if you were to give a handjob and feel completely indifferent about it..." ("base", xpos="far_left", ypos="head") + gen "... That would be... unnatural." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I think you are right, [name_genie_hermione]." ("open", "happy", "base", "mid") + her @ cheeks blush "As usual." ("base", "base", "base", "R") # :) - "\"Yes! All goes according to plan!\"": + "\"Yes! It's all going according to plan!\"": her "What?" ("angry", "wide", "base", "stare") gen "What?" ("base", xpos="far_left", ypos="head") - her "[genie_name], did you just say \"All goes according to plan\"?" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], did you just say \"It's all going according to plan\"?" ("angry", "base", "angry", "mid") gen "Did I?" ("base", xpos="far_left", ypos="head") gen "Oh, yes, of course." ("base", xpos="far_left", ypos="head") gen "Ensuring that Gryffindor gets the house cup this year." ("base", xpos="far_left", ypos="head") - gen "That's the plan And thanks to your hard work, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "All goes according to my-- I mean, our plan..." ("base", xpos="far_left", ypos="head") + gen "That's the plan... And thanks to your hard work, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "It's all going according to my-- I mean, our plan..." ("base", xpos="far_left", ypos="head") her "*Hmm*..." ("upset", "closed", "base", "mid") - $ her_mood += 5 + $ states.her.mood += 5 jump end_hg_pr_handjob @@ -490,81 +498,79 @@ label hg_pr_handjob_T6_intro_E1: $ hermione.set_cum(hair="light") - her "[genie_name]..." ("open", "base", "worried", "mid", xpos="mid", ypos="base", trans=d3) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "I did a bad thing today, [genie_name]..." ("open", "base", "worried", "R") + her "[name_genie_hermione]..." ("open", "base", "worried", "mid", xpos="mid", ypos="base", trans=d3) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "I did a bad thing today, [name_genie_hermione]..." ("open", "base", "worried", "R") gen "Did you now? Do tell..." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music - her "Yes, I did a bad thing... a very bad thing..." + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "Yes, I did a bad thing... A very bad thing..." her "A very bad and foolish thing..." ("annoyed", "squint", "angry", "mid") her "..." gen "...................." ("base", xpos="far_left", ypos="head") her "......................" - her "I wanked off one of my best friend's brothers..." ("angry", "base", "base", "mid", tears="soft") + her "It all started when I decided to wank of two boys at the same time..." ("angry", "closed", "base", "mid") gen "Interesting..." ("base", xpos="far_left", ypos="head") - her "Seemed like such a great idea at first..." ("angry", "base", "base", "mid", tears="soft") - her "And Ron was so up for it..." - her "But if Ginny were to find out... She..." ("shock", "base", "base", "R", cheeks="blush", tears="soft") - her "She would most certainly kill me, [genie_name]..." ("angry", "base", "base", "mid", tears="soft") - gen "A handjob, *huh*? Are you sure that was all you did?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("angry", "base", "base", "mid", tears="soft") - gen "There is something in your hair..." ("base", xpos="far_left", ypos="head") - her "What? But I swallowed it all... err..." ("soft", "base", "base", "mid", tears="soft") - her "I mean..." ("clench", "base", "worried", "mid", cheeks="blush", tears="soft") - her "*Sigh*" ("shock", "base", "base", "R", cheeks="blush", tears="soft") - her "... I sucked him off, [genie_name]." - her "I did not plan to... but..." - her "Ron is always so nice to me..." ("clench", "base", "worried", "mid", cheeks="blush", tears="soft") - her "And I wanted to thank him...*Sob*!" ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") - her "And now Ginny will kill me! *Sob*!" ("angry", "base", "base", "mid", tears="soft") - her "She will kill me, [genie_name]!" - her "And if she does not I will probably die of shame anyway." ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") - her "No, no, no... How will I ever face her...?" - gen "Calm down, [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "I assure you, this is not something a boy would be eager to brag about to his sister." ("base", xpos="far_left", ypos="head") - her "It is not?" ("clench", "base", "worried", "mid", cheeks="blush", tears="soft") - gen "Don't be silly, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "*Hmm*..." ("normal", "base", "base", "R", tears="soft") - her "You are probably right, [genie_name]..." ("soft", "base", "base", "mid", tears="soft") - her "And I made Ron give me his word that he will keep the whole incident a secret..." - her "So, I think I should just trust him to keep his word..." ("open", "base", "worried", "R") + her @ tears soft "It seemed like such a great idea at first..." ("open", "narrow", "base", "down") + her @ tears soft "But now I'm worried that they might start boasting about it..." ("angry", "base", "base", "mid") + gen "Boasting about a handjob? Is that really something to boast about?" ("base", xpos="far_left", ypos="head") + her @ tears soft "[name_genie_hermione]!" ("annoyed", "base", "worried", "mid") + gen "There is something in your hair, by the way..." ("base", xpos="far_left", ypos="head") + her @ tears soft "What? But I swallowed it all... *Err*..." ("soft", "base", "base", "mid") + her @ cheeks blush tears soft "I mean..." ("clench", "base", "worried", "mid") + her @ cheeks blush tears soft "*Sigh*" ("open", "base", "base", "R") + her @ cheeks blush "The reason why I thought they may boast... Is because I sucked them off, [name_genie_hermione]." ("angry", "closed", "base", "R") + her @ cheeks blush "I did not plan to... But..." ("angry", "base", "base", "R") + her @ cheeks blush tears soft "They were being so grateful, and--" ("clench", "base", "worried", "mid") + her @ cheeks blush tears crying "Well, I made them promise not to tell anyone about the handjob, but--" ("angry", "narrow", "base", "down") + her @ tears crying cheeks blush "I forgot to make them promise about the blowjob!" ("angry", "base", "base", "mid") + her @ tears crying_blink cheeks blush "They'll tell people for sure, [name_genie_hermione]!" ("angry", "happyCl", "base", "mid") + her @ cheeks blush tears crying "\"Hermione Granger gave us both a blowjob\"! That's what they'll say!" ("shock", "narrow", "base", "down") + her @ cheeks blush tears crying_blink "No, no, no... How will I ever face my classmates after this...?" ("angry", "happyCl", "base", "down") + gen "Calm down, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "I assure you that there's not a single man who would boast to anyone, as long as they think they might get another go with a girl in the future." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears soft "You think so?" ("clench", "base", "worried", "mid") + gen "I know so, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ tears soft "*Hmm*..." ("normal", "base", "base", "R") + her @ tears soft "You are probably right, [name_genie_hermione]..." ("soft", "base", "base", "mid") + her "I suppose if they felt the urge to talk about it, they could still talk to each other..." ("open", "base", "worried", "R") her ".........." ("soft", "base", "base", "R") - her "..." - her "Will I get paid for this, [genie_name]?" ("base", "base", "base", "mid") + her "Thank you for calming me down, [name_genie_hermione]..." ("open", "base", "base", "R") + gen "Any time..." ("base", xpos="far_left", ypos="head") + her "Will I get paid for this, [name_genie_hermione]?" ("base", "base", "base", "mid") gen "Of course." ("base", xpos="far_left", ypos="head") + $ states.her.status.public_blowjob = True + jump end_hg_pr_handjob label hg_pr_handjob_T6_E2: call hg_pr_handjob_intro - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "It went... Particularly well..." ("base", "squint", "base", "mid") - her "I did it more than once actually..." + her "I even did it more than once today, actually..." gen "More than once?" ("base", xpos="far_left", ypos="head") - her "Five times, [genie_name]..." ("base", "narrow", "base", "mid_soft") + her "Yes, I believe I did it five times, [name_genie_hermione]..." ("base", "narrow", "base", "mid_soft") her "I... got carried away a little I suppose..." - gen "What do you mean \"five times\", [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "What do you mean \"five times\", [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") gen "Like... at once?" ("base", xpos="far_left", ypos="head") - her "No silly. I mean I wanked off five boys today in total, [genie_name]." ("base", "squint", "base", "mid") - gen "Very impressive nonetheless, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") - gen "You don't expect me to multiply your payment by seven or anything, do you?" ("base", xpos="far_left", ypos="head") - her "Of course not, [genie_name]." ("base", "base", "base", "R", cheeks="blush") - gen "Then why did you do it? Five times no less!" ("base", xpos="far_left", ypos="head") - her "Well, it sort of just happened..." ("open", "happy", "base", "mid", cheeks="blush") + her "No, silly... I mean I wanked off five boys today in total, [name_genie_hermione]." ("base", "squint", "base", "mid") + gen "I see... That's still an impressive feat, I suppose..." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") + gen "You don't expect me to multiply your payment by five or anything, do you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course not, [name_genie_hermione]." ("base", "base", "base", "R") + gen "Then why did you do it? Five times, no less!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, it sort of just happened..." ("open", "happy", "base", "mid") her "I was jerking off this one boy..." her "And another boy walked in on us..." her "He called his friends..." - her "One thing lead to another..." ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "One thing led to another..." ("open", "narrow", "base", "down") gen "And you ended up jerking off five cocks..." ("base", xpos="far_left", ypos="head") - her "... yes." ("soft", "narrow", "annoyed", "up") - gen "At the same time?" ("base", xpos="far_left", ypos="head") - her "*Mhmm*!" ("base", "narrow", "annoyed", "mid_soft") - gen "And they came on you?!" ("grin", xpos="far_left", ypos="head") - her "You have no idea." ("base", "base", "base", "mid_soft") - gen "Well done, miss Granger, absolutely fantastic!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "... yes." ("soft", "closed", "worried", "up") + gen "One after another?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Mhmm*!" ("base", "closed", "worried", "mid_soft") + gen "Well done, [name_hermione_genie], absolutely fantastic!" ("grin", xpos="far_left", ypos="head") her "" ("base", "narrow", "base", "mid_soft") jump end_hg_pr_handjob @@ -573,52 +579,45 @@ label hg_pr_handjob_T6_E3: call hg_pr_handjob_intro - her "It went well, [genie_name]." ("base", "base", "base", "mid") + her "It went well, [name_genie_hermione]." ("soft", "base", "base", "mid") her "But, *Ehm*..." ("open", "base", "worried", "mid") gen "...?" ("base", xpos="far_left", ypos="head") - her "Well, I did not wank off one of my classmates during break period..." ("open", "base", "base", "mid") - her "I........." - her "..............." ("clench", "narrow", "base", "down") - gen "Spit it out, [hermione_name]. The suspense is killing me." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music - her "I sort of did it during class..." ("open", "narrow", "worried", "down") - gen "Impressive..." ("base", xpos="far_left", ypos="head") - her "Sir, you don't understand.... Let me try and explain!" ("angry", "narrow", "base", "down") - her "I don't even know what came over me." + her "Well, I..." ("open", "narrow", "base", "down") + her "..............." ("disgust", "narrow", "base", "down") + gen "Did you give a classmate to a handjob... I mean, did you give a handjob to a classmate, or what?" ("base", xpos="far_left", ypos="head") - hide hermione_main - show screen dual_hand_job # CG - with d5 + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music - her "I was trying to act as nonchalant as I could..." (ypos="head", flip=False) - her "But, I suddenly had this incredibly pleasant urge to do it during Professor Snape's class." - her "I couldn't even take notes with my other hand..." - her "It was wrapped around another thick hot cock too." + her "I did... And I sort of did it... During class." ("open", "narrow", "worried", "down") + gen "During class? Now that's impressive..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], you don't understand.... At least give me the oportynity to try and justify myself!" ("angry", "narrow", "base", "mid") + gen "Go on..." ("base", xpos="far_left", ypos="head") + her "I was stressing about the task you had given me during our last class for the day... And... Well, I don't even know what came over me..." ("angry", "narrow", "base", "down") + her @ cheeks blush "But, I suddenly had this incredible urge to do it, right there, during Professor Snape's class." ("angry", "narrow", "worried", "R") + her "At first, it was just one boy... So, I could at least use my other hand to take notes..." + her "But then the boy on my other side, noticed it and had me wrap my hand around his cock too." gen "You gave two boys handjobs at the same time?!" ("base", xpos="far_left", ypos="head") - her "Yes Sir." ("angry", "wink", "base", "mid") - her "And I think I gave them the wank of their life too..." ("base", "narrow", "worried", "down") - her "Because they did not just cum." - her "Their cocks simply exploded with spunk." - gen "You enjoyed it, didn't you?" ("base", xpos="far_left", ypos="head") - her "To be completely honest with you, sir... I did." ("grin", "narrow", "base", "dead") - her "It was exciting." ("smile", "base", "angry", "mid") - her "God, there was so much. My hands looked like a candle had dripped hot wax all over them." ("grin", "narrow", "base", "dead") - her "I didn't know what to do I couldn't just go about the rest of class with huge globs of cum all over my hands." ("angry", "narrow", "base", "down") - her "So I decided to rub it all over the inside of my thighs to keep from having to stain my clothes." - her "Every time I walked I could smell their cum from between my legs." ("silly", "narrow", "annoyed", "up") - gen "That's quite an interesting story miss Granger." ("base", xpos="far_left", ypos="head") - - hide screen dual_hand_job - with d5 - - her "I definitely want them both at the same time." ("silly", "narrow", "base", "dead") - gen "..." ("base", xpos="far_left", ypos="head") - her "Yeah, two huge cocks exploding massive loads of cum everywhere." ("silly", "narrow", "annoyed", "up") + gen "During class?!" ("base", xpos="far_left", ypos="head") + gen "Snape's class, no less?!" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, [name_genie_hermione]..." ("angry", "wink", "base", "mid") + her @ cheeks blush "I think the boys may have been excited about getting away with it..." ("soft", "narrow", "base", "down") + her @ cheeks blush "Because what they did, surely can't be described as a regular ejaculation..." ("angry", "closed", "worried", "down") + her @ cheeks blush "Their cocks simply exploded, and it went everywhere." ("angry", "narrow", "worried", "up") + gen "You enjoyed it as well, didn't you?" ("base", xpos="far_left", ypos="head") + her "Well...To be completely honest with you, [name_genie_hermione]... I did." ("soft", "narrow", "base", "down") + her "Since Professor Snape wasn't realising what I was doing... Well, I don't think I've ever been so excited in my life..." ("smile", "happyCl", "worried", "mid") + her "God, there was so much cum... My hands looked as if a candle had dripped hot wax all over them." ("grin", "narrow", "base", "up") + her "Of course, once I realised what kind of situation I had put myself in... I didn't know what to do." ("soft", "narrow", "base", "mid") + her "I couldn't just go about the rest of class with huge globs of cum all over my hands." ("angry", "narrow", "base", "down") + her "So I decided to rub it all over the inside of my socks to keep it from staining the outside of my clothes." + her @ cheeks blush "But even then... That didn't hide the smell of cum, emerging from between my legs." ("angry", "closed", "worried", "up") + gen "That's quite an exciting story, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Mmm*... Yes... Very exciting..." ("base", "closed", "worried", "mid") gen "........" ("base", xpos="far_left", ypos="head") - her "......." ("silly", "narrow", "annoyed", "up") + her @ cheeks blush "*Mmm* I can still picture those two huge cocks......." ("grin", "closed", "worried", "up") gen "*Ehm*....." ("base", xpos="far_left", ypos="head") - her "Oh god, I'm sorry [genie_name], I was thinking of something else." ("angry", "wide", "base", "stare") - gen "Yes... sure, okay." ("base", xpos="far_left", ypos="head") - her "" ("base", "base", "base", "mid") + her @ cheeks blush "Oh god, I'm sorry [name_genie_hermione]... I'm not sure what came over me." ("angry", "wide", "base", "stare") + gen "Two huge cocks apparently..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("angry", "narrow", "base", "down") jump end_hg_pr_handjob diff --git a/game/scripts/characters/hermione/events/requests/have_sex.rpy b/game/scripts/characters/hermione/events/requests/have_sex.rpy index 64f71254..476803f2 100644 --- a/game/scripts/characters/hermione/events/requests/have_sex.rpy +++ b/game/scripts/characters/hermione/events/requests/have_sex.rpy @@ -1,28 +1,36 @@ ### Have Sex With A Classmate ### -label hg_pr_sex: +label start_hg_pr_sex: # Setup $ current_payout = 75 - if hg_pr_sex.counter == 0: + if not _events_completed_any: gen "{size=-4}(Tell her to fuck one of her classmates?){/size}" ("base", xpos="far_left", ypos="head") + menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu + return + +label hg_pr_sex: + + call start_hg_pr_sex + her "" (xpos="mid", ypos="base", trans=fade) #Intro. - if hg_pr_sex.counter == 0: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + if not _events_completed_any: + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Today I need you to have sex with a classmate of your choice." ("base", xpos="far_left", ypos="head") - if not hg_sex.trigger: # She will refuse unless she slept with you - her "But we--.. I.." ("shock", "wide", "base", "stare") + if not states.her.status.sex: # She will refuse unless she slept with you + her "But we--{w=0.2} I..." ("shock", "wide", "base", "stare") her "I've never done it before!" ("angry", "wide", "base", "mid") gen "So?" ("base", xpos="far_left", ypos="head") her "{size=+5}\"So\"?!{/size}" ("annoyed", "narrow", "angry", "R") @@ -30,42 +38,51 @@ label hg_pr_sex: call her_walk(action="leave") - $ her_mood += 16 + $ states.her.mood += 16 gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") - gen "(Maybe if I have popped her cherry first, she would be more willing...)" ("base", xpos="far_left", ypos="head") + gen "(Maybe she'll be up for it if I pop her cherry first...)" ("base", xpos="far_left", ypos="head") + $ _event.cancel() jump end_hermione_event - if her_reputation < 18: + if states.her.public_level < 18: + $ _event.cancel() jump too_much_public - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her ".............." ("angry", "base", "angry", "mid") her "I had the feeling that we would get to this sooner or later..." ("disgust", "narrow", "base", "mid_soft") her "But..." ("annoyed", "narrow", "angry", "R") her "..................." gen "If you do this, Gryffindor will be getting {number=current_payout} points tonight." ("base", xpos="far_left", ypos="head") - her "Well, then I will do it, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") - gen "Great. See you after your classes then." ("base", xpos="far_left", ypos="head") + her "Very well...{w=0.4} I will do it, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") + gen "Great... See you after your classes then." ("base", xpos="far_left", ypos="head") her "............." ("upset", "closed", "base", "mid") else: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "I need you to go have sex with another classmate of yours." ("base", xpos="far_left", ypos="head") - her "Again, [genie_name]?" ("angry", "base", "base", "mid") + her "Again, [name_genie_hermione]?" ("angry", "base", "base", "mid") gen "Yes. And you will get {number=current_payout} points again as well." ("base", xpos="far_left", ypos="head") - her "Well, alright..." ("annoyed", "narrow", "annoyed", "mid") + her "Well, alright..." ("annoyed", "narrow", "base", "R") call her_walk(action="leave") - $ hg_pr_sex.inProgress = True - jump end_hermione_event +label hg_pr_sex_fail: + call start_hg_pr_sex + + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "squint", "base", "mid") + gen "You seem a bit uptight... Why don't you take the day off, to have sex with one of your classmates." ("base", xpos="far_left", ypos="head") + + jump too_much_public + label end_hg_pr_sex: $ gryffindor += current_payout gen "Gryffindor gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: @@ -73,34 +90,29 @@ label end_hg_pr_sex: pause.2 # Inner monologue - if hg_pr_sex.counter == 2: - show screen blktone - with d3 + if _events_completed_all: - her "(I did it... finally did it.)" ("smile", "narrow", "base", "dead", ypos="head", flip=False, trans=d3) - - hide screen blktone - with d3 + her "(I did it... I finally did it.)" ("grin", "narrow", "base", "dead", xpos="base", ypos="base", flip=True, trans=d3) call her_chibi("leave") label .quick_end: # Increase Points - if not hg_pr_sex.is_tier_complete(): - $ her_reputation += 1 + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_sex.inProgress = False + $ states.her.status.public_sex = True jump end_hermione_event label hg_pr_sex_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Good evening, [name_genie_hermione]." ("open", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you do it?" ("base", xpos="far_left", ypos="head") - if hg_pr_sex.is_tier_complete(): - her "Of course, [genie_name]." + if _events_filtered_completed_all: + her "Of course, [name_genie_hermione]." menu: "\"Great. Here are your points.\"": jump end_hg_pr_sex @@ -110,10 +122,10 @@ label hg_pr_sex_intro: stop music fadeout 3.0 - if hg_pr_sex.counter == 1: + if not _events_completed_any: her "......" ("base", "narrow", "base", "mid") - gen "Have you enjoyed yourself?" ("base", xpos="far_left", ypos="head") + gen "Have you been enjoying yourself today?" ("base", xpos="far_left", ypos="head") return @@ -121,14 +133,13 @@ label hg_pr_sex_intro: label hg_pr_sex_T6_intro_E1: - call bld gen "....." ("base", xpos="far_left", ypos="head") gen ".........." ("base", xpos="far_left", ypos="head") gen "Hermione was supposed to be here, by now..." ("base", xpos="far_left", ypos="head") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True - $ hg_event_pause += 1 + $ states.her.busy = True + jump main_room_menu label hg_pr_sex_T6_intro_E2: @@ -137,30 +148,33 @@ label hg_pr_sex_T6_intro_E2: stop music fadeout 3.0 call her_walk(action="enter", xpos="mid", ypos="base") - gen "[hermione_name], you missed your debriefing yesterday." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], you missed your debriefing yesterday." ("base", xpos="far_left", ypos="head") gen "Explain yourself." ("base", xpos="far_left", ypos="head") - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - her "Yes, [genie_name], I apologise... *yawn*..." ("open", "closed", "base", "mid", xpos="mid", ypos="base", trans=d3) + her "Yes, [name_genie_hermione], I apologise... *Yawn*..." ("open", "closed", "base", "mid", xpos="mid", ypos="base", trans=d3) gen "Care to explain yourself?" ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("open", "happy", "base", "mid", cheeks="blush") - her "It is sort of embarrassing, though..." ("base", "base", "base", "R", cheeks="blush") - her "I spent the last night with two of my friends..." ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "Of course, [name_genie_hermione]." ("open", "happy", "base", "mid") + her @ cheeks blush "It is sort of embarrassing, though..." ("base", "base", "base", "R") + her @ cheeks blush "I didn't spend the night alone..." ("open", "happy", "base", "mid") gen "A slumber party with some girlfriends, *huh*?" ("base", xpos="far_left", ypos="head") her "Girlfriends?" ("angry", "wink", "base", "mid") - her "No, [genie_name]. Harry and Ron are boys..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "No, [name_genie_hermione]... What I'm saying is..." ("open", "base", "base", "R") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "Yes, we were best friends for such a long time..." ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "I spent the night with a boy... Actually, a couple of boys to be precise..." ("base", "base", "base", "R") - call play_music("playful_tension") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed - her "But last night the boys made me their little plaything..." ("base", "narrow", "base", "mid_soft") - her "And I did not mind it one bit..." ("grin", "narrow", "base", "dead") - her "They did everything they wanted to do to me..." - her "And everything I wanted to be done to me has been done..." - her "................." ("soft", "narrow", "annoyed", "up") - her "Will I get paid for this, [genie_name]?" ("angry", "wink", "base", "mid") + gen "A couple of them? And here I thought you had skipped out on your assignment." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, that's what I did initially... But then late last night..." ("angry", "narrow", "base", "R") + her @ cheeks blush "Well, something came over me and I allowed these boys to make me their little plaything..." ("angry", "closed", "base", "mid_soft") + gen "*Hmm*... You did, did you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, I was a bit nervous at first, but after a while I did not mind it one bit..." ("soft", "closed", "base", "dead") + her @ cheeks blush "They did everything they wanted to do to me..." ("base", "closed", "base", "dead") + her @ cheeks blush "And everything I wanted to be done to me has been done..." ("grin", "closed", "base", "dead") + her @ cheeks blush "................." ("soft", "narrow", "worried", "up") + her "Will I get paid for this, [name_genie_hermione]?" ("angry", "wink", "base", "mid") jump end_hg_pr_sex @@ -168,34 +182,33 @@ label hg_pr_sex_T6_E3: call hg_pr_sex_intro - call play_music("hermione") # Music - her "Yes I did, [genie_name]." ("upset", "closed", "base", "mid") - her "And in the school library of all places..." ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "At first I was kind of worried that we would make too much noise..." - her "But the boy literally lasted only one minute, [genie_name]." - gen "Don't hold it against him, [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "You are quite attractive, he probably got too excited..." ("base", xpos="far_left", ypos="head") - her "Nevertheless..." ("upset", "closed", "base", "mid") - her "A dozen or so of rather gingerly thrusts and he is cumming already?" - her "As a girl, I cannot help but feel disappointed..." + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "I did it, [name_genie_hermione]." ("upset", "closed", "base", "mid") + her @ cheeks blush "And in the school library of all places..." ("open", "narrow", "annoyed", "mid") + her @ cheeks blush "At first I was kind of worried that we would make too much noise..." ("open", "narrow", "worried", "R") + her "But the boy literally lasted only one minute, [name_genie_hermione]." ("soft", "closed", "annoyed", "R") + gen "Don't hold it against him, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "You are quite attractive... So, he probably got too excited..." ("base", xpos="far_left", ypos="head") + her "Merely a dozen of rather mediocre thrusts, and he is finished?" ("upset", "closed", "base", "mid") + her "As a girl, I cannot help but feel disappointed..." ("annoyed", "narrow", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") gen "What did you do afterwards?" ("base", xpos="far_left", ypos="head") gen "Pulled up your panties and went about your business as if nothing happened?" ("base", xpos="far_left", ypos="head") - - her "My panties?" ("open", "narrow", "worried", "down") - her "I rarely bother to wear them anymore, [genie_name]." ("annoyed", "narrow", "angry", "R") - - if hermione.is_worn("panties"): - her "Unless you ask me to wear them, [genie_name]." - + her "I wasn't wearing any panties, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") + her "In fact, I didn't wear them the entire day..." ("annoyed", "narrow", "angry", "R") gen "Oh really?" ("base", xpos="far_left", ypos="head") - her "Yes... I find not wearing any underwear very empowering." ("annoyed", "narrow", "annoyed", "mid") + her "Yes... It felt quite empowering, actually..." ("open", "closed", "annoyed", "mid") + gen "Good for you, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") if hermione.is_worn("panties"): - her "But if that's what makes you happy, so be it." + her "It's not really a problem for me if you want me to avoid wearing them in here as well..." ("annoyed", "narrow", "base", "R") + gen "I'll consider it..." ("base", xpos="far_left", ypos="head") + else: + gen "So, are you feeling empowered right now, as well?" ("base", xpos="far_left", ypos="head") + her "*Hmm*... Yes, perhaps a little bit..." ("base", "narrow", "base", "R") - gen "Good for you, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Very well, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") jump end_hg_pr_sex @@ -203,22 +216,22 @@ label hg_pr_sex_T6_E4: call hg_pr_sex_intro - call play_music("playful_tension") # Music - her "I did, [genie_name]." ("upset", "closed", "base", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "I did it, [name_genie_hermione]." ("upset", "closed", "base", "mid") her "I took one of the Ravenclaw boys to the girl's restroom..." ("base", "narrow", "worried", "down") her "... and let him have his way with me in one of the stalls." - gen "Well done, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Well done, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "....................." ("annoyed", "narrow", "angry", "R") - gen "I said you did great. What's the matter?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... well..." ("open", "base", "base", "R", cheeks="blush") - her "I am getting paid well for performing such tasks..." - her "So I have no right to complain, but..." + gen "I said you did great... What's with the face?" ("base", xpos="far_left", ypos="head") + her "*Ehm*... Well..." ("open", "closed", "base", "R") + her "I am getting paid well for performing these tasks..." ("soft", "closed", "base", "R") + her "So I shouldn't really have any right to complain, but..." ("angry", "narrow", "base", "R") gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - her "My reputation is starting to suffer and it troubles me, [genie_name]..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "My reputation is starting to suffer, and it troubles me, [name_genie_hermione]..." ("open", "base", "base", "mid") gen "Your reputation?" ("base", xpos="far_left", ypos="head") - her "Well, yes... *Ehm*..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Well, yes... *Ehm*..." ("open", "base", "base", "R") gen ".............." ("base", xpos="far_left", ypos="head") - her "No, sorry, please disregard what I just said, [genie_name]." ("upset", "closed", "base", "mid") - gen "(At this point I'm not sure she has any reputation left.)" ("base", xpos="far_left", ypos="head") + her "No, sorry, please disregard what I just said, [name_genie_hermione]." ("upset", "closed", "base", "mid") + gen "(At this point I'm not so sure she has any reputation left.)" ("base", xpos="far_left", ypos="head") jump end_hg_pr_sex diff --git a/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy b/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy index 861aa318..d8becaac 100644 --- a/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy +++ b/game/scripts/characters/hermione/events/requests/kiss_a_girl.rpy @@ -1,87 +1,102 @@ ### Make Out With A Girl ### -label hg_pr_kiss: +label start_hg_pr_kiss: # Setup $ current_payout = 45 - if hg_pr_kiss.counter == 0: + if not _events_completed_any: gen "{size=-4}(Tell her to go make out with one of her female classmates?){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu + return + +label hg_pr_kiss: + + call start_hg_pr_kiss her "" (xpos="mid", ypos="base", trans=fade) #Intro. - if hg_pr_kiss.counter == 0: - gen "Have You ever kissed another girl, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "?!" ("normal", "squint", "angry", "mid") - - if her_reputation < 9: + if not _events_completed_any: + gen "Have you ever kissed another girl, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + + if states.her.public_level < 9: + $_event.cancel() jump too_much_public - her "I am not a... lesbian, [genie_name]." ("open", "base", "base", "mid") + her "?!" ("normal", "squint", "angry", "mid") + her "I am not a... lesbian, [name_genie_hermione]." ("open", "base", "base", "mid") gen "Silly girl... You don't need to be a lesbian to kiss girls." ("base", xpos="far_left", ypos="head") - gen "I mean, I do it and I am not a lesbian either." ("base", xpos="far_left", ypos="head") + gen "I mean, I've done it, and that doesn't make me a lesbian." ("base", xpos="far_left", ypos="head") her "..............." ("angry", "base", "angry", "mid") - her "[genie_name]--" - gen "No, \"[genie_name]s\"! This is your task for today!" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]--" + gen "No, \"[name_genie_hermione]s\"! This is your task for today!" ("base", xpos="far_left", ypos="head") gen "Go find a cute little thing and plant a \"smooch\" on her!" ("base", xpos="far_left", ypos="head") - her "[genie_name], but I am--" ("open", "base", "worried", "mid") - gen "Dismissed, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "[genie_name]!......" ("normal", "squint", "angry", "mid") + her "[name_genie_hermione], but I am--" ("open", "base", "worried", "mid") + gen "Dismissed, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]!......" ("normal", "squint", "angry", "mid") gen "I said you're dismissed." ("base", xpos="far_left", ypos="head") - her "*Humph*!..." ("annoyed", "squint", "angry", "mid") + her "*Hmph*!..." ("annoyed", "squint", "angry", "mid") else: - if her_tier >= 5: - gen "[hermione_name], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") + if states.her.tier >= 5: + gen "[name_hermione_genie], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") gen "Are you interested?" ("base", xpos="far_left", ypos="head") her "Sure, why not?" ("base", "base", "base", "mid") gen "Great." ("base", xpos="far_left", ypos="head") gen "I want you to make out with another girl today." ("base", xpos="far_left", ypos="head") her "Alright." ("soft", "base", "base", "R") - her "I know a couple of girls who are hungry for attention and wouldn't mind putting on a little show." ("smile", "narrow", "base", "mid_soft") - gen "Great. See you after your classes then." ("base", xpos="far_left", ypos="head") - elif her_tier >= 4: - gen "[hermione_name], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") + her "I know a couple of girls who are starved for attention that wouldn't mind a little kiss." ("open", "closed", "base", "mid_soft") + gen "Great... See you after your classes then." ("base", xpos="far_left", ypos="head") + elif states.her.tier >= 4: + gen "[name_hermione_genie], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") gen "Are you interested?" ("base", xpos="far_left", ypos="head") her "I suppose..." ("annoyed", "narrow", "annoyed", "up") - gen "Great. All you need to do is make out with another girl." ("base", xpos="far_left", ypos="head") + gen "Great. All you need to do is make out with a girl." ("base", xpos="far_left", ypos="head") her "I see..." ("annoyed", "narrow", "worried", "down") - gen "Up for the task, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Up for the task, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "I guess..." ("annoyed", "base", "worried", "R") gen "Great. See you after your classes then." ("base", xpos="far_left", ypos="head") else: - gen "[hermione_name], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], {number=current_payout} house points are up for grabs today!" ("base", xpos="far_left", ypos="head") gen "Are you interested?" ("base", xpos="far_left", ypos="head") her "It depends..." ("normal", "base", "base", "mid") - her "Will I have to do something depraved again?" + her "Will I have to do something depraved again?" ("normal", "base", "base", "mid") gen "\"Depraved\"??! When did I ever--?" ("base", xpos="far_left", ypos="head") - her "Really, [genie_name]?" ("open", "closed", "angry", "mid") - gen "Fine, fine... But all I want you to do today is to make out with another girl." ("base", xpos="far_left", ypos="head") - her "Oh, is that all?" ("angry", "base", "angry", "mid") # :( + her "Really, [name_genie_hermione]?" ("open", "closed", "angry", "mid") + gen "Fine, fine... But all I want you to do today is to make out with a girl." ("base", xpos="far_left", ypos="head") + her "Oh, is that all..." ("angry", "base", "angry", "mid") # sarcastic gen "Yes... Pretty basic stuff for you, right?" ("base", xpos="far_left", ypos="head") - gen "And you will be getting {number=current_payout} house points afterwards of course." ("base", xpos="far_left", ypos="head") + gen "And you will be getting {number=current_payout} house points afterwards, of course." ("base", xpos="far_left", ypos="head") her "............." ("normal", "squint", "angry", "mid") - gen "So... Are you up for it?" ("base", xpos="far_left", ypos="head") - her "I will see what I can do, [genie_name]..." ("annoyed", "narrow", "angry", "R") + gen "So...{w=0.4} Are you up for it?" ("base", xpos="far_left", ypos="head") + her "I'll see what I can do, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") gen "Great. See you after your classes then." ("base", xpos="far_left", ypos="head") her "................" ("annoyed", "narrow", "annoyed", "mid") call her_walk(action="leave") - $ hg_pr_kiss.inProgress = True jump end_hermione_event +label hg_pr_kiss_fail: + call start_hg_pr_kiss + + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") + gen "Today, I require you to get out there and kiss another girl." ("base", xpos="far_left", ypos="head") + + jump too_much_public + label end_hg_pr_kiss: $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: @@ -89,34 +104,28 @@ label end_hg_pr_kiss: pause.2 # Inner monologue - if hg_pr_kiss.counter == 1: - show screen blktone - with d3 + if states.her.tier <= 3 and not _events_completed_any: - her "(*Tsk*)" ("mad", "base", "angry", "R", ypos="head", flip=False, trans=d3) - - hide screen blktone - with d3 + her "(*Tsk*)" ("mad", "base", "angry", "R", ypos="base", xpos="base", flip=True, trans=d3) call her_chibi("leave") label .quick_end: # Increase Points - if not hg_pr_kiss.is_tier_complete(): - $ her_reputation += 1 + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_kiss.inProgress = False jump end_hermione_event label hg_pr_kiss_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Good evening, [name_genie_hermione]." ("open", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you succeed in completing your task?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." + her "*Ehm*..." - if hg_pr_kiss.is_tier_complete(): + if _events_filtered_completed_all: menu: "\"Great. Here are your points.\"": jump end_hg_pr_kiss @@ -126,12 +135,14 @@ label hg_pr_kiss_intro: stop music fadeout 3.0 - if hg_pr_kiss.counter == 1: - her "......" ("annoyed", "narrow", "angry", "R") + if not _events_completed_any: + her "......" ("soft", "squint", "base", "R") her "Well... I..." ("soft", "base", "base", "R") - gen "Don't be shy, [hermione_name]." ("base", xpos="far_left", ypos="head") - - gen "Have you kissed someone?" ("base", xpos="far_left", ypos="head") + gen "Don't be shy, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "Did you, or did you not, kiss someone?" ("base", xpos="far_left", ypos="head") + else: + her "Yes, [name_genie_hermione]." + gen "So, you kissed someone?" ("base", xpos="far_left", ypos="head") return @@ -145,17 +156,17 @@ label hg_pr_kiss_T3_E1: gen "I told you to make out with another girl..." ("base", xpos="far_left", ypos="head") gen "Did you do it or not?" ("base", xpos="far_left", ypos="head") her "I..." ("open", "base", "worried", "R") - her "I tried, [genie_name]. I really did." + her "I tried, [name_genie_hermione]. I really did." gen "And?" ("base", xpos="far_left", ypos="head") her "Well..." ("annoyed", "base", "worried", "R") - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "It was awkward and embarrassing..." - gen "did you do it or not?" ("base", xpos="far_left", ypos="head") - her "... no I did not, [genie_name]..." ("annoyed", "narrow", "angry", "R") + gen "Did you do it or not?" ("base", xpos="far_left", ypos="head") + her "... No, I did not, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") her "All I achieved was making a complete fool out of myself..." her "In front of the entire class..." ("angry", "base", "angry", "mid") - gen "Tell me what happened, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "No, I will not, [genie_name]." ("annoyed", "narrow", "angry", "R") + gen "Tell me what happened, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "No, I will not, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") her "Not in a million years!" her "Why do I have to perform such ridiculous tasks anyway?!" ("shock", "happyCl", "worried", "mid") her "What is the point of all this?" @@ -166,82 +177,85 @@ label hg_pr_kiss_T3_E1: gen "You are not getting paid, you know that, right?" ("base", xpos="far_left", ypos="head") her "I don't care..." ("scream", "closed", "angry", "mid") - $ her_mood += 12 + $ states.her.mood += 5 + jump end_hg_pr_kiss.no_points label hg_pr_kiss_T3_E2: call hg_pr_kiss_intro - call play_music("hermione") # Music - her "I did, [genie_name]..." ("open", "closed", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "I did, [name_genie_hermione]..." ("open", "closed", "base", "mid") gen "Good. Give me the details." ("base", xpos="far_left", ypos="head") - her "Well, I kissed a girl. Just like you told me to, [genie_name]." ("annoyed", "squint", "base", "mid") - gen "I guess it was embarrassing for you, girl?" ("base", xpos="far_left", ypos="head") - her "Very much so, [genie_name]." ("annoyed", "narrow", "angry", "R") - gen "Did you enjoy it though?" ("base", xpos="far_left", ypos="head") - her "*Humph*!..." ("annoyed", "narrow", "annoyed", "mid") - gen "So you kissed a girl and you liked it?" ("base", xpos="far_left", ypos="head") + her "Well, I kissed a girl. Just like you told me to, [name_genie_hermione]." ("annoyed", "squint", "base", "mid") + gen "Seeing how it went last time, I presume it was embarrassing for you, girl?" ("base", xpos="far_left", ypos="head") + her "Very much so, [name_genie_hermione]." ("annoyed", "narrow", "angry", "R") + gen "Did you enjoy it at least?" ("base", xpos="far_left", ypos="head") + her "*Hmph*!..." ("annoyed", "narrow", "annoyed", "mid") + gen "So, you kissed a girl and you liked it?" ("base", xpos="far_left", ypos="head") her "Yes..." ("disgust", "narrow", "base", "mid_soft") gen "Did your tongues touch?" ("base", xpos="far_left", ypos="head") her "Yes..." ("disgust", "narrow", "base", "mid_soft") - her "It was a proper deep kiss, if that's what you want to know." - her "Can I just get my payment now?" - her "Please, [genie_name]..." ("annoyed", "narrow", "angry", "R") + her "It was a proper kiss, if that's what you're asking..." + her "Can I get my payment now?" + her "Please, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") gen "Well, alright..." ("base", xpos="far_left", ypos="head") + $ states.her.status.public_kissing = True + jump end_hg_pr_kiss label hg_pr_kiss_T3_E3: call hg_pr_kiss_intro - call play_music("hermione") # Music - her "Yes, I did, [genie_name]." ("open", "closed", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "Yes, I did, [name_genie_hermione]." ("open", "closed", "base", "mid") gen "Good. Tell me how it went." ("base", xpos="far_left", ypos="head") - her "It went well, [genie_name]." ("open", "closed", "base", "mid") + her "It went well, [name_genie_hermione]." ("open", "closed", "base", "mid") gen "Great. Give me the details." ("base", xpos="far_left", ypos="head") - her "What would you like to know, [genie_name]?" ("open", "closed", "angry", "mid") + her "What would you like to know, [name_genie_hermione]?" ("open", "closed", "angry", "mid") gen "Tell me everything! Was the girl pretty?" ("base", xpos="far_left", ypos="head") gen "Did she return your kiss?" ("base", xpos="far_left", ypos="head") - her "She was relatively pretty, [genie_name]." ("open", "squint", "base", "mid") + her "She was relatively pretty, [name_genie_hermione]." ("open", "squint", "base", "mid") her "And she did return my kiss..." her "..........." ("annoyed", "closed", "base", "mid") - her "Anything else, [genie_name]?" ("open", "squint", "base", "mid") + her "Anything else, [name_genie_hermione]?" ("open", "squint", "base", "mid") gen "...." ("base", xpos="far_left", ypos="head") - gen "Why are you being difficult, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "With all due respect, [genie_name]..." ("open", "closed", "angry", "mid") + gen "Why are you being difficult, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "With all due respect, [name_genie_hermione]..." ("open", "closed", "angry", "mid") her "You told me to make out with another girl, and I did..." - her "Now, I would like to get paid if you would be so kind." ("normal", "base", "base", "mid") + her "Now, I would like to get paid, if you would be so kind." ("normal", "base", "base", "mid") gen "......................" ("base", xpos="far_left", ypos="head") menu: "\"Fine. Here is your payment, girl.\"": pass - "\"I don't appreciate your attitude, [hermione_name].\"": - her "Well, that is unfortunate, [genie_name]." ("open", "closed", "angry", "mid") + "\"I don't appreciate your attitude, [name_hermione_genie].\"": + her "Well, that is unfortunate, [name_genie_hermione]." ("open", "closed", "angry", "mid") gen "Sure is..." ("base", xpos="far_left", ypos="head") - gen "Because you are not getting paid you insolent, little witch." ("base", xpos="far_left", ypos="head") + gen "Because you are not getting paid, you insolent little witch." ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 her "What?" ("normal", "base", "base", "mid") - her "[genie_name], you can't do that!" ("open", "base", "worried", "mid") + her "[name_genie_hermione], you can't do that!" ("open", "base", "worried", "mid") gen "Dismissed." ("base", xpos="far_left", ypos="head") her "B-but--" ("open", "base", "worried", "R") - her "[genie_name], please!" ("open", "base", "worried", "mid") - her "The girl was from Hufflepuff and--" - gen "Too late for that, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], please!" ("open", "base", "worried", "mid") + her "The girl was from Hufflepuff, and--" + gen "It's far too late for that, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You are dismissed." ("base", xpos="far_left", ypos="head") - her "......" ("angry", "base", "base", "mid", tears="soft") + her @ tears soft "......" ("angry", "base", "base", "mid") call her_walk(action="run", xpos="door", speed=2, reduce=True) call her_chibi("leave") pause 1.0 gen "*Tsk*" ("base", xpos="far_left", ypos="head") - $ her_mood +=25 + $ states.her.mood +=25 jump end_hg_pr_kiss.quick_end jump end_hg_pr_kiss @@ -252,30 +266,35 @@ label hg_pr_kiss_T4_E1: call hg_pr_kiss_intro - her "I did, [genie_name]..." ("open", "closed", "base", "mid") + her "I did, [name_genie_hermione]..." ("open", "closed", "base", "mid") gen "Well, don't just stand there. Give me the details." ("base", xpos="far_left", ypos="head") her "*Ehm*, alright..." ("open", "base", "base", "mid") - her "The girl was from Ravenclaw..." + her "The girl was from Ravenclaw..." ("open", "base", "base", "mid") her "I think she may have been an underclassman, but I did not ask..." ("soft", "base", "base", "R") - her "We got to talking about boys..." - her "And she told me that she never kissed one..." ("open", "closed", "base", "mid") - her "And that she is worried that she might be very bad at it..." - her "So I just offered my help..." ("base", "base", "base", "mid") - call play_music("playful_tension") # Music - her "And then we spent some time in one of the bathroom stalls..." - her "Making out..." ("base", "base", "base", "mid") - her "She caught on real quick... I think she could be really good at it with some practice..." ("open", "base", "base", "mid") - her "Also she was quite adorable..." ("base", "base", "base", "mid") - her "She kept calling me \"Miss Hermione\"..." ("smile", "base", "base", "R") + her "We were grouped together for divination class, and once class finished, we kept talking, while making our way down the winding staircases."("soft", "base", "base", "R") + her "Eventually we got to the subject of boys..." ("open", "base", "base", "R") + gen "As you do." ("base", xpos="far_left", ypos="head") + her "She told me that she had never kissed one..." ("open", "closed", "base", "mid") + her "And that she was worried that she might be very bad at it..." + her "So, I offered her my help..." ("soft", "base", "base", "mid") + her "You had tasked me to kiss a girl after all, so I figured, if I can help this girl at the same time, then why--" ("open", "closed", "base", "mid") + gen "Yes, yes... Very noble of you." ("base", xpos="far_left", ypos="head") + gen "So, you taught this girl how to press her lips against yours?" ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "Yes... We took a detour before lunch, and went into a stall in one of the girls' bathrooms, so I could teach her in private..." + her "To my surprise, she caught on pretty quick..." ("open", "base", "base", "mid") + her "And after some time, this overly affectionate attitude started emerging from her..." ("soft", "base", "base", "mid") + her "She kept calling me \"Miss Hermione\" in a higher pitched, and adorably sounding voice..." ("open", "base", "base", "R") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "I Don't recall sending you out with a task to confuse some poor girl, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "\"Confuse\"? [genie_name], please..." ("smile", "narrow", "base", "mid_soft") - her "You should have seen that {i}poor girl{/i}..." - her "I assure you that she was anything but confused." ("smile", "base", "angry", "mid") - her "In fact, at the end of our \"Study session\" she got rather obnoxious..." - her "And it sort of felt as if she was taking advantage of me..." ("open", "base", "base", "mid") + gen "I don't recall sending you out with a task to confuse some poor girl, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "\"Confuse\"? [name_genie_hermione]--" ("angry", "narrow", "base", "mid_soft") + her "I assure you that she was anything but confused..." ("disgust", "base", "angry", "mid") + her "In fact, at the end of our \"Study session\", she started getting rather handsy..." + her "That's when I realised, she had probably been taking advantage of me the entire time..." ("annoyed", "narrow", "base", "mid") gen "Oh... Well, in that case..." ("base", xpos="far_left", ypos="head") - her "" ("base", "base", "base", "mid") + her "" ("soft", "base", "base", "R") + + $ states.her.status.public_kissing = True jump end_hg_pr_kiss @@ -283,35 +302,50 @@ label hg_pr_kiss_T4_E2: call hg_pr_kiss_intro - call play_music("hermione") # Music - her "I did, [genie_name]." ("open", "closed", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "I did, [name_genie_hermione]." ("open", "closed", "base", "mid") gen "Tell me how it went." ("base", xpos="far_left", ypos="head") her "Well... *Ehm*..." ("open", "base", "base", "mid") - her "There is this one girl who is into girls..." - her "I thought she would be the ideal candidate for my task..." - her "so I told her that I am curious and that I would like to kiss her..." - her "She said that we should go to the girls' restroom for that..." ("open", "narrow", "worried", "down") - her "But I just kissed her right there in the corridor..." - her "And she kissed me back but..." ("open", "base", "base", "mid") - her "It got weird really fast..." ("angry", "narrow", "base", "down") - her "The way she kissed me..." - her "She did it like a boy would, [genie_name]..." ("angry", "base", "base", "mid") - her "Aggressive but confident..." ("angry", "narrow", "base", "down") - her "Naturally a small group of spectators gathered up around us right away..." ("upset", "closed", "base", "mid") - her "Mostly boys of course..." ("open", "base", "base", "mid", cheeks="blush") - her "Some of them even cheered us on..." ("open", "happyCl", "worried", "mid", cheeks="blush") - her "....." ("base", "squint", "base", "mid") - her "By the way, the girl I kissed, [genie_name]..." + her "There's this one girl who I had heard is into girls..." ("soft", "base", "base", "R") + her "I figured, if I'm going to kiss a girl, then why not go for the ideal candidate..." ("soft", "base", "base", "R") + her "So, when I spotted her, sitting on one of the benches in the courtyard, I went up and told her that I've been curious and wanted to know how she first figured it out..." ("open", "base", "base", "mid") + her "She was taken a bit by surprise, so I went ahead and asked if we could go to some secluded spot to see if she could help \"spark my interest\"..." ("soft", "base", "base", "R") + gen "Very direct [name_hermione_genie], I'm impressed..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Thank you [name_genie_hermione]... Although unfortunately, that's when things went a bit outside of my control." ("angry", "base", "base", "mid") + her @ cheeks blush "Rather than doing what I requested, she immediately jumped to her feet, and kissed me right there and then..." ("open", "base", "base", "mid") + gen "Nice... Love a girl who's got her life figured out." ("base", xpos="far_left", ypos="head") + gen "You kissed her back, I hope?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Of course I did!" ("annoyed", "closed", "base", "mid") + her @ cheeks blush "I requested her help, after all, so it would've been weird if I hadn't!" ("angry", "base", "base", "mid") + her "Although... Speaking of weird..." ("open", "base", "base", "mid") + her "Things got weird really fast..." ("angry", "narrow", "base", "down") + her "The way she kissed me..." ("angry", "narrow", "base", "down") + her "She did it like a boy would, [name_genie_hermione]..." ("angry", "base", "base", "mid") + her "Aggressively, yet filled with confidence..." ("angry", "narrow", "base", "down") + her "And before I knew it, a small group of spectators had gathered around us..." ("upset", "closed", "base", "mid") + her @ cheeks blush "Mostly boys, of course..." ("open", "narrow", "base", "down") + her @ cheeks blush "Some of them even cheered us on..." ("open", "happyCl", "worried", "mid") + her @ cheeks blush "....." ("base", "happyCl", "base", "mid") + her @ cheeks blush "Anyway... The girl I kissed..." ("angry", "narrow", "base", "R") gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") - her "She is one of those unpopular girls..." ("open", "closed", "base", "mid") - her "I know that other students make fun of her sometimes..." - her "But today changed everything..." ("base", "squint", "base", "mid") - her "I Single-handedly turned that girl from a social outcast..." - her "Into \"that lesbian girl who made out with Hermione Granger\"!" ("smile", "base", "angry", "mid") - gen "Wow... You are just like some kind of hero or something..." ("base", xpos="far_left", ypos="head") - her "I suppose I am, [genie_name]..." ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "She's known as one of the unpopular girls..." ("open", "base", "base", "mid") + her @ cheeks blush "In fact, I've heard some of the other students making fun of her before..." ("upset", "base", "base", "mid") + her "But today changed that for her..." ("base", "squint", "base", "mid") + her "I single-handedly turned that girl from a social outcast..." + her "Into \"that bold lesbian girl who snagged a kiss from Hermione Granger\"!" ("grin", "closed", "base", "mid") + gen "She went from unpopular to popular, just from kissing you?" ("base", xpos="far_left", ypos="head") + her "That's right!" ("base", "narrow", "base", "mid_soft") her "I changed that poor girl's life..." - gen "Now you are just pulling on my heartstrings..." ("base", xpos="far_left", ypos="head") + gen "How heroic..." ("base", xpos="far_left", ypos="head") + her "I suppose it is, [name_genie_hermione]..." ("grin", "closed", "base", "mid_soft") + gen "You make it sound almost too good to be true." ("base", xpos="far_left", ypos="head") + her "It is true!" ("angry", "base", "base", "mid_soft") + gen "*Hmm*... I don't know [name_hermione_genie], I think you may have to bring me this girl and prove it for me." ("base", xpos="far_left", ypos="head") + her "Don't get it twisted, I'm not a lesbian, [name_genie_hermione]... I already told you this." ("base", "narrow", "base", "mid_soft") + gen "Of course [name_hermione_genie]... That much is already obvious..." ("base", xpos="far_left", ypos="head") + her "Good, I'm glad you're finally listening--" ("grin", "closed", "base", "mid_soft") + gen "It's of course fine for you to like any gender..." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "base", "mid") jump end_hg_pr_kiss @@ -321,13 +355,13 @@ label hg_pr_kiss_T4_E3: her "I did." her ".........." ("annoyed", "base", "base", "R") - her "[genie_name]?" ("open", "closed", "base", "mid") - gen "Yes, [hermione_name]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "closed", "base", "mid") + gen "Yes, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "May I ask you a question?" ("open", "base", "base", "mid") gen "By all means." ("base", xpos="far_left", ypos="head") her "*Ehm*..." ("annoyed", "narrow", "angry", "R") - call play_music("hermione") # Music - her "Why are boys so into watching girls make out with each other, [genie_name]?" ("disgust", "narrow", "base", "mid_soft") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "How come boys are so fascinated by girls kissing other girls?" ("disgust", "narrow", "base", "mid_soft") menu: gen "..." ("base", xpos="far_left", ypos="head") @@ -335,38 +369,77 @@ label hg_pr_kiss_T4_E3: her "Yes, they are, aren't they...?" ("angry", "narrow", "base", "down") gen "Yes, yes..." ("base", xpos="far_left", ypos="head") gen "And that is why young girls such as yourself..." ("base", xpos="far_left", ypos="head") - gen "Are often interested in a much older gentleman..." ("base", xpos="far_left", ypos="head") + gen "Are often more interested in older gentlemen..." ("base", xpos="far_left", ypos="head") her "??!" ("angry", "base", "base", "mid") - her "That is not what I meant, [genie_name]..." ("annoyed", "narrow", "annoyed", "mid") - + her "That is not what I meant, [name_genie_hermione]..." ("annoyed", "narrow", "annoyed", "mid") "\"You wouldn't understand, girl.\"": her "*Hmm*..." ("upset", "closed", "base", "mid") - her "What about you, [genie_name]?" ("angry", "base", "base", "mid") + her "What about you, [name_genie_hermione]?" ("angry", "base", "base", "mid") her "Were you like that when you were younger?" - gen "You mean if I enjoyed watching two girls going at it?" ("base", xpos="far_left", ypos="head") - gen "Well of course." ("base", xpos="far_left", ypos="head") + gen "Are you asking if I enjoyed watching two girls going at it?" ("base", xpos="far_left", ypos="head") + gen "Well, of course." ("base", xpos="far_left", ypos="head") gen "I still do..." ("base", xpos="far_left", ypos="head") her "Oh..." ("upset", "closed", "base", "mid") - - "\"Kissing girls? Where?!!\"": + "\"Can't have too much of a good thing.\"": + her "What do you mean by that, [name_genie_hermione]?" ("angry", "narrow", "base", "mid") + gen "If you take one thing that you like, and then add another one, then put them together..." ("base", xpos="far_left", ypos="head") + her "*Huh*?" ("annoyed", "narrow", "annoyed", "mid") + gen "Think of it like this, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + gen "Watching a guy and a girl kissing is kinda gay, since there's a guy involved..." ("base", xpos="far_left", ypos="head") + her "..." ("upset", "narrow", "worried", "mid") + gen "But if you're watching two girls doing it, then it's--" ("base", xpos="far_left", ypos="head") + her "That doesn't make any sense..." ("angry", "narrow", "worried", "mid") + gen "Of course it does!" ("base", xpos="far_left", ypos="head") + gen "Let me explain the maths..." ("base", xpos="far_left", ypos="head") + gen "A guy and a girl kissing is fifty percent gay because there's a guy involved..." ("base", xpos="far_left", ypos="head") + gen "So if there's two girls, and no guy, that makes it zero percent gay!" ("grin", xpos="far_left", ypos="head") + gen "(Although...{w=0.4} That does make it lesbian...{w=0.4} Which is a hundred percent gay.)" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("upset", "narrow", "worried", "mid") + gen "*Hmm*...{w=0.4} Perhaps there isn't a straight answer to your question after all, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + "\"Where are you kissing exactly?!!\"": her "*Tsk*!......................" ("angry", "base", "angry", "mid", emote="angry") - her "Well, I am only asking you this, [genie_name], because..." ("open", "narrow", "worried", "down") - her "... it is sort of becoming a new trend in our school..." ("angry", "base", "base", "mid") - her "Some girls are willing to do this simply to catch the attention of the boy they fancy..." - gen "Are you one of those girls, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I suppose..." ("angry", "narrow", "base", "down") - her "I mean, only because of the favours you buy from me, [genie_name]..." ("upset", "closed", "base", "mid") - gen "Good... Tell me more." ("base", xpos="far_left", ypos="head") - her "Well, as you know, I am quite popular..." ("smile", "happyCl", "base", "mid", emote="happy") - her "So all I had to do is just mention that I would not mind doing it today..." ("base", "happyCl", "base", "mid") - her "And I had half a dozen girls lined up instantly..." - her "I chose a girl from Gryffindor of course..." ("base", "base", "base", "mid") - her "And we put on a little show right in the middle of the classroom..." ("open", "base", "base", "mid") - gen "Good... Tongue and everything?" ("base", xpos="far_left", ypos="head") - her "Tongue and everything, [genie_name]." ("annoyed", "base", "worried", "R") - gen "Nicely done." ("base", xpos="far_left", ypos="head") - her "" ("base", "base", "base", "mid") + her "Well, I am only asking you this, [name_genie_hermione], because..." ("open", "narrow", "worried", "down") + her "... It's sort of becoming a new trend at our school..." ("angry", "base", "base", "mid") + her "Some of the girls are willing to do this, simply to catch the attention of some boy..." + gen "Aren't you one of those girls, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "What do you mean by that, [name_genie_hermione]?" ("angry", "narrow", "base", "down") + gen "You've got my undivided attention, any time you're telling me about kissing other girls... And speaking of..." ("base", xpos="far_left", ypos="head") + her "I think you've got it a bit backwards, [name_genie_hermione]..." ("upset", "closed", "base", "mid") + gen "Attention span... Slowly fading..." ("base", xpos="far_left", ypos="head") + her "Right..." ("open", "narrow", "base", "mid") + her "I suppose I'll tell you about the kissing booth I set up today." ("open", "narrow", "base", "mid") + gen "A kissing booth? Now we're talking." ("grin", xpos="far_left", ypos="head") + her "Well, as you know, I am quite popular..." ("base", "closed", "base", "mid") + her "And I thought... Why should I approach a bunch of girls, if I could have them come to me..." ("base", "happyCl", "base", "mid") + her "So, I set up a kissing both, and to nobody's surprise, I had half a dozen girls lining up instantly..." ("base", "base", "base", "mid") + gen "Impressive..." ("base", xpos="far_left", ypos="head") + gen "I presume you went through the line efficiently, yet still provided a service at the standard expected from a Gryffindor student?" ("base", xpos="far_left", ypos="head") + her "That certainly was my intention, although that's not exactly what happened..." ("soft", "narrow", "base", "R") + gen "Right?" ("base", xpos="far_left", ypos="head") + gen "Don't tell me you forgot to use tongue?" ("base", xpos="far_left", ypos="head") + her "Of course I did, [name_genie_hermione]... I used tongue and everything." ("annoyed", "base", "worried", "R") + her "The problem is, I set up the booth with the intention of kissing as many girls as I could, in a single day--" ("annoyed", "base", "worried", "R") + gen "Someone's started to get greedy..." ("base", xpos="far_left", ypos="head") + her "--In the hopes that by doing so, I could earn myself some extra points..." ("annoyed", "base", "base", "mid") + gen "That's what I meant to say." ("base", xpos="far_left", ypos="head") + her "Anyway..." ("open", "narrow", "base", "R") + her "It didn't exactly go to plan... In fact, I only had enough time to kiss a single girl, during that whole free period." ("open", "base", "base", "mid") + gen "A single girl?" ("base", xpos="far_left", ypos="head") + her "Yes [name_genie_hermione]... {b}One{/b} girl..." ("annoyed", "base", "worried", "R") + her "We started with some light pecking on the lips, but then I made the mistake of giving her a little bit of tongue..." ("annoyed", "base", "worried", "R") + her @ cheeks blush "She took that as an invitation to get serious, and promptly wrapped her tongue around mine." ("open", "base", "worried", "mid") + her "The other girls in line didn't seem to like this, and their outcries brought the attention of a group of Slytherin boys." ("open", "base", "worried", "mid") + her "Once the boys realised what was going on, they rushed up to watch... Pushing the girls who had been waiting their turn to the side." ("annoyed", "base", "worried", "mid") + her "Of course, normally, I would've interjected, and given them a piece of my mind..." ("angry", "closed", "worried", "mid") + her "But the girl who I was kissing, instead of breaking the kiss, basked in the attention and pulled me even closer towards her." ("angry", "base", "worried", "mid") + her "And she kept going at it, right up until our classes were resuming." ("annoyed", "base", "base", "mid") + her "So, due to her not letting go, and the Slytherin boys pushing away the other girls, I didn't manage to get more than one kiss today." + gen "Sounds to me like your kissing booth idea was far too affective." ("base", xpos="far_left", ypos="head") + her "Affective, [name_genie_hermione]? Don't you mean--{w=0.2} Oh...{w=0.4} Yes, perhaps you're right..." ("angry", "narrow", "base", "mid") + gen "Either way... You've still done what I've asked of you today." ("base", xpos="far_left", ypos="head") + gen "Nicely done [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "" ("base", "narrow", "base", "down") jump end_hg_pr_kiss @@ -376,77 +449,80 @@ label hg_pr_kiss_T5_E1: call hg_pr_kiss_intro - call play_music("hermione") # Music - her "I did, [genie_name]." ("soft", "base", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music + her "I did, [name_genie_hermione]." ("soft", "base", "base", "mid") gen "I'm all ears..." ("base", xpos="far_left", ypos="head") her "Well, I kissed that annoying blond girl from Slytherin..." ("annoyed", "squint", "base", "mid") - gen "*Hmm*... \"annoying\", *huh*?" ("base", xpos="far_left", ypos="head") + gen "*Hmm*... \"annoying\", *Huh*?" ("base", xpos="far_left", ypos="head") gen "Because she happens to be from Slytherin." ("base", xpos="far_left", ypos="head") - her "Precisely so, [genie_name]." ("open", "closed", "base", "mid") + her "Precisely so, [name_genie_hermione]." ("open", "closed", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "Don't you think you're being a little prejudiced there?" ("base", xpos="far_left", ypos="head") gen "Or shall I say that you are being a \"housist\"?" ("base", xpos="far_left", ypos="head") - her "... a \"housist\", [genie_name]?" ("annoyed", "narrow", "annoyed", "mid") + her "... A \"housist\", [name_genie_hermione]?" ("annoyed", "narrow", "annoyed", "mid") gen "Well, you know... It's like \"sexist\" or \"ageist\"..." ("base", xpos="far_left", ypos="head") - gen "You just put an \"ist\" after something and it automatically becomes a bad thing..." ("base", xpos="far_left", ypos="head") - her "\"housist\" is not an actual word, [genie_name]..." ("soft", "base", "base", "R") + gen "You just put an \"ist\" after something, and it automatically becomes a bad thing..." ("base", xpos="far_left", ypos="head") + her "\"housist\" is not an actual word, [name_genie_hermione]..." ("soft", "base", "base", "R") gen "It's not? Well, give it time..." ("base", xpos="far_left", ypos="head") her ".............?" ("annoyed", "narrow", "annoyed", "mid") gen "\"Housophobic\"...?" ("base", xpos="far_left", ypos="head") gen "No, wait, I got it!" ("base", xpos="far_left", ypos="head") gen "\"Housophobe\"!" ("base", xpos="far_left", ypos="head") - her "Stop it, [genie_name]. I am not any of those weird words..." ("normal", "squint", "angry", "mid") - her "Slytherins are evil and annoying. Nobody likes them, and that is a fact!" - gen "Fine, whatever. Back to the \"girl-kissing\" then." ("base", xpos="far_left", ypos="head") + her "Stop it, [name_genie_hermione]. I am not any of those weird words..." ("normal", "squint", "angry", "mid") + her "Slytherins are evil and annoying. Nobody likes them, and that is a fact!" ("normal", "squint", "angry", "mid") + gen "Fine, whatever... Back to the \"girl-kissing\", then." ("base", xpos="far_left", ypos="head") her "..............." ("annoyed", "base", "worried", "R") - her "Like I was saying..." - her "I kissed that girl from Slytherin..." ("open", "base", "base", "mid") + her "As I was saying..." ("open", "closed", "worried", "R") + her "I kissed that... girl... from Slytherin." ("open", "narrow", "worried", "R") her "Normally I would never do it, of course..." ("annoyed", "narrow", "angry", "R") - her "Not with someone from that wretched house any way..." - her "But she approached me first and practically begged me to do it with her..." ("annoyed", "narrow", "annoyed", "mid") - her "And today of all days..." ("annoyed", "narrow", "angry", "R") - her "to be honest..." - her "She was quite attractive..." ("annoyed", "narrow", "annoyed", "mid") - her "For someone from Slytherin that is..." ("upset", "closed", "base", "mid") - her "I did not ask her why she needed this so desperately..." ("open", "closed", "base", "mid") - her "She was probably just trying to boost her own popularity at my expense..." - her "Or it could also be that someone from the school staff bought this favour from her..." - her "The same way you buy favours from me, [genie_name]..." ("open", "narrow", "annoyed", "mid", cheeks="blush") - gen "(Snape?)" ("base", xpos="far_left", ypos="head") - her "If that is the case I am sure that it was professor Snape..." ("angry", "base", "angry", "mid") - gen "What? He would never..." ("base", xpos="far_left", ypos="head") - her "You should really investigate Professor Snape's activities, [genie_name]..." ("annoyed", "narrow", "angry", "R") - gen "Of course..." ("base", xpos="far_left", ypos="head") - gen "Putting him on my \"naughty boys list\" as we speak..." ("base", xpos="far_left", ypos="head") - her ".........." ("disgust", "narrow", "base", "mid_soft") - gen "What happened next, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Oh, right..." ("open", "narrow", "worried", "down") - her "Well, we made out for a while..." - her "She was very... passionate." - her "So I imagine it was quite a spectacle..." ("angry", "wink", "base", "mid") - her "The boys were cheering and whistling..." - her "So we decided to \"snowball\" a little..." ("base", "narrow", "worried", "down") - gen "I'm sorry, you decided to do what?" ("base", xpos="far_left", ypos="head") - her "To \"snowball\", [genie_name]." ("angry", "wink", "base", "mid") - her "It is when one girl spits into another girl's mouth..." ("base", "narrow", "base", "mid_soft") - her "We call it \"snowballing\"..." - her "The boys really go crazy from that for some reason..." - gen "I imagine they do..." ("base", xpos="far_left", ypos="head") - her "So she spat into my mouth..." ("open", "closed", "base", "mid") - her "And then I spat into hers..." - her "Although I would much rather spit in her face!" ("angry", "base", "angry", "mid", cheeks="blush") - her "Then she returned my spit..." ("annoyed", "narrow", "angry", "R") - her "And I had to fight the urge to slap her smug face for doing that..." ("angry", "base", "angry", "mid", cheeks="blush") - her "But I don't think the boys would appreciate that..." ("upset", "closed", "base", "mid") - gen "Well... You would be surprised..." ("base", xpos="far_left", ypos="head") - her "In any case, After that we kissed some more..." ("base", "narrow", "worried", "down") - her "And then the break was over..." - her "And we had to run to class..." ("angry", "wink", "base", "mid") - gen "*Sigh*... Nonchalant and innocent schooldays..." ("base", xpos="far_left", ypos="head") - gen "Home assignments... Classes..." ("base", xpos="far_left", ypos="head") - gen "Schoolgirls \"snowballing\" in the courtyard..." ("base", xpos="far_left", ypos="head") - gen "Well done, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "" ("grin", "base", "base", "R") + her "Not with someone from that wretched house..." ("annoyed", "narrow", "angry", "R") + her "But she approached me first, and practically begged me for a kiss..." ("annoyed", "narrow", "annoyed", "mid") + gen "She... begged you?" ("base", xpos="far_left", ypos="head") + her "She did... And to be perfectly honest..." ("annoyed", "narrow", "angry", "R") + her "The way she begged me... It did make me feel quite good about myself..." ("annoyed", "narrow", "annoyed", "mid") + her "That doesn't change what I think about Slytherin, though..." ("upset", "closed", "base", "mid") + gen "Why would she beg you for a kiss, exactly?" ("base", xpos="far_left", ypos="head") + her "I did not ask her why... But she was begging so desperately, even I started feeling bad for her..." ("open", "closed", "base", "mid") + her "Thinking back on it, she was probably just trying to boost her own popularity at my expense..." ("open", "closed", "base", "mid") + her "Even so, I figured since I was tasked with this today..." ("open", "closed", "base", "mid") + her "Hold on..." ("open", "base", "base", "stare") + her "Do you think that someone from the school staff may have bought this favour from her?" ("angry", "base", "base", "mid") + her @ cheeks blush "The same time you bought the favour from me, [name_genie_hermione]..." ("angry", "squint", "worried", "mid") + gen "(Did Snape somehow--)" ("base", xpos="far_left", ypos="head") + her "If that is the case, I am certain that it was professor Snape!" ("angry", "closed", "angry", "mid") + gen "Whaaat... He would never..." ("base", xpos="far_left", ypos="head") + her "Then, who else--" ("annoyed", "narrow", "annoyed", "mid_soft") + gen "Enough about that... Just tell me what happened next, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Fine..." ("annoyed", "narrow", "base", "down") + her "Well, we made out for a while..." ("open", "closed", "worried", "down") + her @ cheeks blush "She was very... passionate." ("angry", "narrow", "base", "down") + her @ cheeks blush "For a Slytherin, that is!" ("annoyed", "closed", "annoyed", "down") + gen "..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Anyway... She decided it was a good idea to for us to \"snowball\"..." ("angry", "narrow", "base", "R") + gen "I'm sorry... She decided, what?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "To \"snowball\", [name_genie_hermione]." ("angry", "narrow", "base", "mid") + her @ cheeks blush "It's when you kiss and move a ball of spit, between each other's mouths..." ("soft", "narrow", "base", "mid_soft") + her @ cheeks blush "Undoubtedly, Snape had made this requirement for her..." ("annoyed", "closed", "angry", "mid_soft") + gen "(Sounds like a classic Snape request, alright...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "So... She spat into my mouth..." ("open", "closed", "base", "mid") + her @ cheeks blush "And then by reflex, I spat it back into hers..." ("angry", "narrow", "worried", "down") + her @ cheeks blush "Of course, if I had been ready for it, I would have spat it back in her face!" ("angry", "base", "angry", "mid") + her @ cheeks blush "Then she broke off the kiss, and smirked at me... And I really had to fight the urge to slap her smug face..." ("angry", "narrow", "angry", "R") + her @ cheeks blush "But I figured you wouldn't have appreciated that..." ("upset", "closed", "base", "mid") + gen "(Sounds kind of hot, to be honest...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "After that, she just left me standing there..." ("annoyed", "narrow", "angry", "down") + gen "You didn't even try to chase after her?" ("base", xpos="far_left", ypos="head") + her "I didn't have the chance, as she left just as class was about to start..." ("angry", "narrow", "angry", "R") + gen "That's unlucky..." ("base", xpos="far_left", ypos="head") + her "(She must've sensed that a punch was about to come her way...)" ("annoyed", "narrow", "annoyed", "R") + gen "*Sigh*... The things girls experience during their schooldays..." ("base", xpos="far_left", ypos="head") + gen "Assignments... Classes..." ("base", xpos="far_left", ypos="head") + gen "\"Snowballing\" with other girls..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], I--" ("angry", "narrow", "worried", "mid") + gen "Well done, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "...{w=0.4} Thanks." ("annoyed", "base", "base", "R") + + $ states.her.status.public_kissing = True jump end_hg_pr_kiss @@ -454,32 +530,33 @@ label hg_pr_kiss_T5_E2: call hg_pr_kiss_intro - her "I did, [genie_name]." ("open", "closed", "base", "mid") - her "Only... *Ehm*..." ("grin", "base", "base", "R") - gen "What is it?" ("base", xpos="far_left", ypos="head") - her "Well... I have this friend..." ("base", "base", "base", "mid") - her "Her name is Ginny Weasley..." - her "And... *Ehm*..." ("base", "base", "base", "R", cheeks="blush") - her "I'm Not sure how to say this..." - gen "Just say it, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Well, we decided to skip the potions class together..." ("open", "base", "base", "mid") - her "And study for the upcoming Herbology test instead..." - her "So me and Ginny, we were studying..." - her "And we got to talking about boys..." + her "I did, [name_genie_hermione]." ("open", "closed", "base", "mid") + her @ cheeks blush "*Ehm*... [name_genie_hermione]..." ("soft", "base", "base", "R") + gen "Yes, What is it, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well... There's this girl..." ("soft", "narrow", "base", "down") + her @ cheeks blush "And... *Ehm*..." ("angry", "base", "base", "R") + her @ cheeks blush "I'm not sure how to say this..." ("open", "closed", "base", "mid") + gen "Just say it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, we decided to skip potions class..." ("open", "narrow", "base", "down") + gen "Really?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "And study for the upcoming Herbology test instead..." ("open", "closed", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "While this girl and I were studying..." ("open", "base", "base", "R") + her @ cheeks blush "We started talking about boys..." ("soft", "narrow", "base", "mid") gen "Naturally..." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music - her "And then I sort of kissed her..." ("open", "base", "base", "R", cheeks="blush") - her "And Ginny returned my kiss with such passion..." ("base", "narrow", "base", "mid_soft") - her "that we sort of ended up doing more than just kissing..." - gen "And afterwards you had a pillow fight in lingerie?" ("grin", xpos="far_left", ypos="head") - her "Err... No..." ("open", "happy", "base", "mid", cheeks="blush") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her @ cheeks blush "And then I sort of kissed her..." ("angry", "base", "base", "mid") + her @ cheeks blush "And she returned my kiss with such passion..." ("angry", "narrow", "base", "down") + her @ cheeks blush "That we sort of ended up doing more than just kissing..." ("angry", "narrow", "base", "mid_soft") + gen "You had a pillow fight, wearing only lingerie?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "*Err*... No..." ("open", "happy", "base", "mid") gen "What did you do then?" ("base", xpos="far_left", ypos="head") - her "I am not telling you, [genie_name]." ("base", "base", "base", "R", cheeks="blush") # :) - her "You sent me out to kiss a girl..." - her "And I did just that." - her "The rest shall remain private." ("angry", "wink", "base", "mid") + her @ cheeks blush "I am not telling you, [name_genie_hermione]." ("annoyed", "narrow", "base", "R") # :) + her @ cheeks blush "You sent me out to kiss a girl..." ("open", "closed", "worried", "R") + her @ cheeks blush "And I did just that." ("base", "closed", "base", "R") + her @ cheeks blush "The rest shall remain private." ("base", "narrow", "base", "mid") gen "Now you are just being cruel, you little witch." ("base", xpos="far_left", ypos="head") - her "My points please." ("smile", "narrow", "base", "mid_soft") + her @ cheeks blush "My points please." ("smile", "narrow", "base", "mid_soft") gen "Fine..." ("base", xpos="far_left", ypos="head") jump end_hg_pr_kiss diff --git a/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy b/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy index 8a4d25f9..618686c6 100644 --- a/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy +++ b/game/scripts/characters/hermione/events/requests/let_them_grope_you.rpy @@ -1,59 +1,67 @@ ### Let Classmate Molest Her ### -label hg_pr_grope: +label start_hg_pr_grope: # Setup $ current_payout = 25 - if hg_pr_grope.counter == 0: + if not _events_completed_any: gen "{size=-4}(Tell her to go get groped by one of her classmates?){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass "\"(Not right now.)\"": + $ _event.cancel() jump hermione_favor_menu + return + +label hg_pr_grope: + + call start_hg_pr_grope + her "" (xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("base", "base", "base", "mid") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("base", "base", "base", "mid") #Intro. - if hg_pr_grope.counter == 0: + if not _events_completed_any: gen "You do like boys your age, don't you?" ("base", xpos="far_left", ypos="head") her "...?" ("normal", "base", "base", "mid") gen "One of your classmates maybe?" ("base", xpos="far_left", ypos="head") her "Well..." ("open", "base", "worried", "R") - her "Must I really discuss things like this with you, [genie_name]?" + her "Must I really discuss things like this with you, [name_genie_hermione]?" her "It's a bit embarrassing..." ("annoyed", "base", "worried", "R") gen "Sure, I understand. I don't need to know the details..." ("base", xpos="far_left", ypos="head") - gen "But here is what I need you to do today, [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "Go confront that boy...{w=0.5} or a girl, you fancy. The one you think is \"just so dreamy\"..." ("base", xpos="far_left", ypos="head") + gen "But here is what I need you to do today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "Go confront that boy...{w=0.5} Or a girl, you fancy. The one you think is \"just so dreamy\"..." ("base", xpos="far_left", ypos="head") her ".......?" ("open", "base", "base", "mid") gen "And let them touch you..." ("base", xpos="far_left", ypos="head") - if her_reputation < 3: + if states.her.public_level < 3: + $ _event.cancel() jump too_much_public - her "Let them... touch me, [genie_name]?" ("open", "base", "base", "mid") + her "Let them... Touch me, [name_genie_hermione]?" ("open", "base", "base", "mid") gen "Yes, touch you. The way boys touch girls?" ("base", xpos="far_left", ypos="head") - gen "How old are you, [hermione_name]? You look mature enough..." ("base", xpos="far_left", ypos="head") + gen "How old are you, [name_hermione_genie]? You look mature enough..." ("base", xpos="far_left", ypos="head") gen "Haven't you had \"the talk\" with your parents already?" ("base", xpos="far_left", ypos="head") - her "\"The talk\", [genie_name]?" ("angry", "happyCl", "worried", "mid", emote="sweat") + her "\"The talk\", [name_genie_hermione]?" ("angry", "happyCl", "worried", "mid", emote="sweat") gen "Yes, \"the talk\"! About how boys are different than the girls...?" ("base", xpos="far_left", ypos="head") gen "Boys have a \"pee-pee\" and girls like to put that \"pee-pee\" in their mouths?" ("base", xpos="far_left", ypos="head") - her "[genie_name]!!!" ("normal", "base", "base", "mid") + her "[name_genie_hermione]!!!" ("normal", "base", "base", "mid") her "What kind of demented parent would have such a talk with their child?" ("angry", "base", "angry", "mid") gen "{size=-3}I wish mine did.{/size}" ("base", xpos="far_left", ypos="head") - her "I beg your pardon, [genie_name]?" ("annoyed", "squint", "base", "mid") - gen "*Ahem!* I said, a responsible and caring one!" ("base", xpos="far_left", ypos="head") - gen "Well, in any case. That is your task for today, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "I beg your pardon, [name_genie_hermione]?" ("annoyed", "squint", "base", "mid") + gen "*Ahem*! I said, a responsible and caring one!" ("base", xpos="far_left", ypos="head") + gen "Well, in any case. That is your task for today, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Find a way to persuade one of your classmates to fondle you a little..." ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "narrow", "angry", "R") gen "You are a pretty girl, it shouldn't be too hard." ("base", xpos="far_left", ypos="head") her "....................." - her "How many points would I receive after completing such a task, [genie_name]?" ("disgust", "narrow", "base", "mid_soft") + her "How many points would I receive after completing such a task, [name_genie_hermione]?" ("disgust", "narrow", "base", "mid_soft") gen "*Hmm*... {number=current_payout} should do..." ("base", xpos="far_left", ypos="head") her "{number=current_payout} house points..." ("annoyed", "narrow", "angry", "R") her "...." @@ -61,29 +69,27 @@ label hg_pr_grope: gen "Great..." ("base", xpos="far_left", ypos="head") her "I'd better go now. The classes are about to start..." ("angry", "base", "angry", "mid") else: - if her_tier >= 4: - gen "[hermione_name], I need you to go out there..." ("base", xpos="far_left", ypos="head") + if states.her.tier >= 4: + gen "I need you to go out there..." ("base", xpos="far_left", ypos="head") gen "Find a handsome guy and force yourself on him!" ("base", xpos="far_left", ypos="head") - her "You mean like..." ("base", "base", "base", "mid") - her "In a sexual way, [genie_name]?" ("angry", "wink", "base", "mid") - gen "What? No, I mean just let him get under your uniform that's all..." ("base", xpos="far_left", ypos="head") + her "You mean like..." ("angry", "base", "base", "mid") + her "In a sexual way, [name_genie_hermione]?" ("angry", "wink", "base", "mid") + gen "What? No, I mean just let him get under your uniform, that's all..." ("base", xpos="far_left", ypos="head") her "Oh, I see..." ("grin", "happyCl", "worried", "mid", emote="sweat") - her "I wonder who it should be this time..." ("grin", "base", "base", "R") - her "More than one boy, is not a problem, is it, [genie_name]?" ("angry", "base", "base", "mid") - gen "A problem? Of course not!" ("base", xpos="far_left", ypos="head") - gen "If anything - it is encouraged." ("base", xpos="far_left", ypos="head") - her "Great. I will see you after the classes then, [genie_name]. As usual." ("angry", "wink", "base", "mid") + her "I wonder who I could approach this time..." ("soft", "base", "base", "R") + gen "Who it is, doesn't matter... It could be a group of them for all I care." ("base", xpos="far_left", ypos="head") + her "Alright then... I will see you after the classes, [name_genie_hermione]. As usual." ("angry", "wink", "base", "mid") gen "Yes. Good luck." ("base", xpos="far_left", ypos="head") - elif her_tier >= 3: - gen "[hermione_name], I need you to go out there, and make one of your classmates molest you a little." ("base", xpos="far_left", ypos="head") - her "I understand, [genie_name]..." ("base", "base", "base", "mid") + elif states.her.tier >= 3: + gen "I need you to go out there, and make one of your classmates molest you a little." ("base", xpos="far_left", ypos="head") + her "I understand, [name_genie_hermione]..." ("open", "base", "base", "mid") gen "Off you go then." ("base", xpos="far_left", ypos="head") her "..........." else: gen "How about you go let one of your classmates molest you a little again?" ("base", xpos="far_left", ypos="head") her "........" ("upset", "closed", "base", "mid") - gen "{number=current_payout} house points, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "[genie_name], it's just..." ("annoyed", "narrow", "angry", "R") + gen "{number=current_payout} house points, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], it's just..." ("annoyed", "narrow", "angry", "R") her "I do not understand why I must do things like that..." ("annoyed", "narrow", "annoyed", "mid") gen "To help out your house?" ("base", xpos="far_left", ypos="head") her "That's not what I meant..." ("disgust", "narrow", "base", "mid_soft") @@ -94,14 +100,22 @@ label hg_pr_grope: call her_walk(action="leave") - $ hg_pr_grope.inProgress = True jump end_hermione_event +label hg_pr_grope_fail: + call start_hg_pr_grope + + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") + gen "What do you say about going out and letting some lucky guy cop a feel?" ("base", xpos="far_left", ypos="head") + + jump too_much_public + label end_hg_pr_grope: $ gryffindor += current_payout gen "The Gryffindor house gets {number=current_payout} points!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." + her "Thank you, [name_genie_hermione]." label .no_points: @@ -109,34 +123,30 @@ label end_hg_pr_grope: pause.2 # Inner monologue - if hg_pr_grope.counter == 1: - show screen blktone - with d3 + if states.her.tier <= 2 and not _events_completed_any: - her "(Why did I agree to this...)" ("disgust", "base", "worried", "down", ypos="head", flip=False, trans=d3) - - hide screen blktone - with d3 + her "(Why did I agree to this...)" ("disgust", "base", "worried", "down", ypos="base", xpos="base", flip=True, trans=d3) call her_chibi("leave") label .quick_end: - # Increase Points - if not hg_pr_grope.is_tier_complete(): - $ her_reputation += 1 + $ states.her.status.public_groping = True + + # Increase Points + if not _events_filtered_completed_all: + $ states.her.public_level += 1 - $ hg_pr_grope.inProgress = False jump end_hermione_event label hg_pr_grope_intro: call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + her "Good evening, [name_genie_hermione]." ("open", "base", "base", "R", xpos="mid", ypos="base", trans=fade) + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Did you finish your task?" ("base", xpos="far_left", ypos="head") - her "I did, just as you asked [genie_name]..." + her "I did, just as you asked [name_genie_hermione]..." ("open", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - if hg_pr_grope.is_tier_complete(): + if _events_filtered_completed_all: menu: "\"Great. Here are your points.\"": jump end_hg_pr_grope @@ -146,11 +156,11 @@ label hg_pr_grope_intro: stop music fadeout 3.0 - if hg_pr_grope.counter == 1: + if not _events_completed_any: her "......" ("annoyed", "narrow", "angry", "R") her "I... *Uhh*..." ("soft", "base", "base", "R") - gen "Did you let some lucky guy feel you up or what?" ("base", xpos="far_left", ypos="head") + gen "Did you let some lucky guy feel you up, or what?" ("base", xpos="far_left", ypos="head") return @@ -161,20 +171,20 @@ label hg_pr_grope_T2_E1: call hg_pr_grope_intro her "Well, there is not much to tell..." - her "I told that one guy I know that he could touch me a little if he wants..." ("open", "base", "base", "mid") + her "I told that one guy I know that he could touch me a little if he wanted..." ("open", "base", "base", "mid") her "He thought I was joking at first..." ("annoyed", "base", "worried", "R") - her "So embarrassing..." ("normal", "happyCl", "worried", "mid") + her "It was so embarrassing..." ("normal", "happyCl", "worried", "mid") gen "So, did he cop a feel or not?" ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music her "He did..." ("normal", "happyCl", "worried", "mid") - gen "Well, where did he touch you, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Well, where did he touch you, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "*Ehm*... My legs..." ("annoyed", "base", "worried", "R") her "And my breasts a little I suppose..." gen "That's all?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]..." ("open", "base", "base", "mid") + her "Yes, [name_genie_hermione]..." ("open", "base", "base", "mid") her "It's getting late... I think I'd better leave now..." ("normal", "happyCl", "worried", "mid") - her "I'm sorry, [genie_name]..." ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "Nothing to be sorry about, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "I'm sorry, [name_genie_hermione]..." ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "Nothing to be sorry about, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "You did good. This will do for now." ("base", xpos="far_left", ypos="head") jump end_hg_pr_grope @@ -184,15 +194,15 @@ label hg_pr_grope_T2_E2: call hg_pr_grope_intro her "I did, but it was all very awkward and embarrassing..." ("annoyed", "narrow", "angry", "R") - gen "That's the whole point of it, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "That's the whole point of it, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "Tell me where you were touched today..." ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music her "*Ehm*..." her "Well, he touched me under my skirt a little..." ("angry", "base", "base", "mid") her "Then I let him rub my..." - her "... my c-crotch through my panties, [genie_name]." ("angry", "narrow", "base", "down") + her "... my c-crotch through my panties, [name_genie_hermione]." ("angry", "narrow", "base", "down") gen "Very good... And what happened next?" ("base", xpos="far_left", ypos="head") - her "He just sort of started... Touching himself [genie_name]." ("open", "happyCl", "worried", "mid") + her "He just sort of started... Touching himself, [name_genie_hermione]." ("open", "happyCl", "worried", "mid") her "So, I decided to leave..." gen "I see..." ("base", xpos="far_left", ypos="head") her "............." ("normal", "happyCl", "worried", "mid") @@ -203,14 +213,14 @@ label hg_pr_grope_T2_E3: call hg_pr_grope_intro - call play_music("playful_tension") # Music - her "I led this one guy from Hufflepuff to an empty classroom and I told him that he can touch me if he wants." ("open", "base", "base", "mid") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "I led this one guy from Hufflepuff to an empty classroom and I told him that he can touch me if he wanted." ("open", "base", "base", "mid") her "That I don't mind..." her "..........." ("annoyed", "base", "worried", "R") gen "And?" ("base", xpos="far_left", ypos="head") her "Well, he did touch me a little at first..." ("open", "base", "base", "mid") her "......" ("normal", "happyCl", "worried", "mid") - gen "Don't make me pull every word out of you, [hermione_name]!" ("base", xpos="far_left", ypos="head") + gen "Don't make me pull every word out of you, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") gen "What happened?" ("base", xpos="far_left", ypos="head") her "Well..." ("open", "narrow", "worried", "down") @@ -218,19 +228,19 @@ label hg_pr_grope_T2_E3: her "I think he was more interested in {size=+5}me{/size} molesting {size=+5}him{/size}..." her "He asked me to call him a \"sissy boy\"..." ("upset", "wink", "base", "mid") - call play_music("despair") # Music + play music "music/Despair_by_erenik.ogg" fadein 1 if_changed # Music her "And he kept on reassuring me that he has a very small penis..." ("open", "base", "worried", "down") - her "He just kept repeating that *sob*!..." ("angry", "base", "base", "mid", tears="soft") - her "Why would anyone be like this?" ("angry", "base", "base", "mid", tears="soft") + her @ tears soft "He just kept repeating that *sob*!..." ("angry", "base", "base", "mid") + her @ tears soft "Why would anyone be like this?" ("angry", "base", "base", "mid") her "*Sob*! I Could not stay in his company a moment longer, so I just ran." gen "I'm sorry to hear this..." ("base", xpos="far_left", ypos="head") - her "It was truly awful, [genie_name]..." ("angry", "base", "base", "mid", tears="soft") + her @ tears soft "It was truly awful, [name_genie_hermione]..." ("angry", "base", "base", "mid") gen "There, there..." ("base", xpos="far_left", ypos="head") - her "*Sob*!" ("normal", "base", "base", "R", tears="soft") + her @ tears soft "*Sob*!" ("normal", "base", "base", "R") gen "Will ten extra points make you feel better?" ("base", xpos="far_left", ypos="head") - her "*huh*? That would be very sweet of you [genie_name]." ("soft", "base", "base", "mid", tears="soft") + her @ tears soft "*Huh*? That would be very sweet of you [name_genie_hermione]." ("soft", "base", "base", "mid") gen "Of course... Don't mention it." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]..." ("base", "base", "worried", "mid", cheeks="blush", tears="soft") + her @ cheeks blush tears soft "Thank you [name_genie_hermione]..." ("base", "base", "worried", "mid") $ current_payout += 10 @@ -242,23 +252,23 @@ label hg_pr_grope_T3_E1: call hg_pr_grope_intro - call play_music("playful_tension") # Music + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music her "Well... There is not much to tell..." ("open", "closed", "base", "mid") her "I found this one boy from Ravenclaw..." - her "Led him to one of the empty classrooms in the eastern wing..." + her "And I led him to one of the empty classrooms in the eastern wing..." her "He thought I wanted to make out with him..." - her "But I told him that I just want him to touch me..." - her "... so he did." ("normal", "happyCl", "worried", "mid") + her "But I told him that I only wanted him to touch me..." + her "... So he did." ("normal", "happyCl", "worried", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") - gen "Well done, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Well done, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Will I be getting my points now?" ("upset", "wink", "base", "mid") - gen "In a minute, [hermione_name]. I have a question I would like to ask you before that." ("base", xpos="far_left", ypos="head") + gen "In a minute, [name_hermione_genie]. I have a question I would like to ask you before that." ("base", xpos="far_left", ypos="head") her "Yes?" ("open", "base", "base", "mid") gen "Did you enjoy it?" ("base", xpos="far_left", ypos="head") - gen "Did it feel good to be touched by that boy?" ("base", xpos="far_left", ypos="head") + gen "Did it feel good when that boy touched you?" ("base", xpos="far_left", ypos="head") her "Oh..." ("open", "closed", "base", "mid") her "Well, he was rather handsome I suppose..." - her "I didn't hate it, if that's what you mean, [genie_name]..." ("upset", "closed", "base", "mid") + her "I didn't hate it, if that's what you mean, [name_genie_hermione]..." ("upset", "closed", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") jump end_hg_pr_grope @@ -270,7 +280,7 @@ label hg_pr_grope_T3_E2: her "Well..." ("open", "closed", "base", "mid") her "I'm not sure whether or not this counts, but..." her "During Herbology class today..." - call play_music("hermione") # Music + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "I let this one boy slide his hand under my skirt..." ("upset", "wink", "base", "mid") her "So while Professor Sprout explained the differences between {i}mandrake{/i} and {i}mandragore{/i}..." her "--Something I already knew of course--..." ("open", "squint", "base", "mid") @@ -281,14 +291,14 @@ label hg_pr_grope_T3_E2: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") "\"Kudos to you for doing this during class.\"": - her "Thank you, [genie_name]." ("base", "happyCl", "base", "mid") + her "Thank you, [name_genie_hermione]." ("base", "happyCl", "base", "mid") gen "I say you deserve to get paid." ("base", xpos="far_left", ypos="head") - "\"You can do better than that, [hermione_name].\"": + "\"You can do better than that, [name_hermione_genie].\"": gen "I'm afraid I cannot pay you." ("base", xpos="far_left", ypos="head") - her "Yes, I know, [genie_name]. I am sorry." ("open", "base", "base", "mid") + her "Yes, I know, [name_genie_hermione]. I am sorry." ("open", "base", "base", "mid") gen "Just make sure you try harder next time." ("base", xpos="far_left", ypos="head") - her "I will, [genie_name]." + her "I will, [name_genie_hermione]." jump end_hg_pr_grope.no_points @@ -300,50 +310,52 @@ label hg_pr_grope_T3_E3: her "................." ("annoyed", "narrow", "angry", "R") gen "???" ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # Music - her "I don't want to talk about it, [genie_name]..." ("annoyed", "narrow", "angry", "R") - gen "What happened, [hermione_name]. Spit it out." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "I don't want to talk about it, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") + gen "Come off it, [name_hermione_genie]... Spit it out." ("base", xpos="far_left", ypos="head") her "................." ("annoyed", "narrow", "annoyed", "mid") - her "But... it's so embarrassing..." ("open", "base", "worried", "mid") - her "Do I really have to, [genie_name]?" ("normal", "happyCl", "worried", "mid") + her "But... It's so embarrassing..." ("open", "base", "worried", "mid") + her "Do I really have to, [name_genie_hermione]?" ("normal", "happyCl", "worried", "mid") gen "Yes, I happen to love embarrassing things!" ("grin", xpos="far_left", ypos="head") her "................." ("annoyed", "narrow", "angry", "R") her "Well, alright..." - her "I approached this one guy that I always found attractive..." - her "Managed to muster up enough courage to ask him to follow me..." + her "I approached this one guy that I've always found attractive..." + her "After talking for a bit, I finally managed to muster up enough courage to ask him to follow me..." her "Normally I wouldn't dare..." ("open", "base", "base", "mid") her "But the fact that I was doing this as a task entrusted to me by someone else..." her "It made it easier somehow..." - gen "Happy to help, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I led him to the library..." ("open", "narrow", "worried", "down") - her "We found a secluded spot behind one of the book shelves..." - her "And I told him that he can touch me wherever he wants..." + gen "Happy to help, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "So... I led him towards a secluded spot behind one of the bookshelves in the library." ("open", "narrow", "worried", "down") + her "And once we got there, I told him that he could touch me wherever he wanted..." her "And..." her ".........." ("clench", "narrow", "base", "down") - gen "What?" ("base", xpos="far_left", ypos="head") + gen "And, What?" ("base", xpos="far_left", ypos="head") her "....................." ("normal", "happyCl", "worried", "mid") - call play_music("despair") # Music - her "He started to touch my... feet, [genie_name]." ("scream", "happyCl", "worried", "mid") - gen "*huh*?" ("base", xpos="far_left", ypos="head") - gen "Your \"Feet\"? Is that what zoomers call tits these days?" ("base", xpos="far_left", ypos="head") - her "I wish, [genie_name]..." ("disgust", "narrow", "base", "mid_soft") - her "He asked me to take off my shoes..." - her "Then he..." - her "He started to smell my toes, [genie_name]!" ("angry", "base", "base", "mid", tears="soft") - her "I felt so... violated!" ("angry", "base", "base", "mid", tears="soft") - gen "So he didn't touch your tits, or your butt?" ("base", xpos="far_left", ypos="head") + play music "music/Despair_by_erenik.ogg" fadein 1 if_changed # Music + her "He started to touch my--{w=0.4} feet, [name_genie_hermione]." ("scream", "happyCl", "worried", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + gen "Your \"Feet\"? You meant to say \"breasts\", right?" ("base", xpos="far_left", ypos="head") + gen "Or is this some zoomer lingo that I'm too unhip to understand?" ("base", xpos="far_left", ypos="head") + her "No, [name_genie_hermione]..." ("disgust", "narrow", "base", "mid_soft") + her "He took off my shoes and socks..." + her "Then he--" + her @ tears soft "He started to smell my toes, [name_genie_hermione]!" ("angry", "base", "base", "mid") + her @ tears soft "I felt so...{w=0.4} Violated!" ("angry", "base", "base", "mid") + gen "Wait... Are you telling me he didn't even touch your tits, or your butt?" ("base", xpos="far_left", ypos="head") gen "Or even in-between your thighs?!" ("angry", xpos="far_left", ypos="head") - her "No, [genie_name]... *sob*!" ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") + her @ cheeks blush tears crying "No, [name_genie_hermione]... *Sob*!" ("shock", "narrow", "base", "down") gen "Alright, then what happened?" ("base", xpos="far_left", ypos="head") - her "Nothing! I couldn't bear the humiliation... I just ran..." ("angry", "narrow", "base", "mid", cheeks="blush", tears="crying") - her "I even left my shoes behind and had to come back later to pick them up..." - her "*Sob*!............" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + her @ cheeks blush tears crying "Nothing! I couldn't bear the humiliation... I just ran..." ("angry", "narrow", "base", "mid") + her "I even left my shoes behind... I had to come back later to pick them up." + her @ cheeks blush tears messy "*Sob*!............" ("angry", "squint", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - gen "Well, you did get molested..." ("base", xpos="far_left", ypos="head") - gen "Although in a rather unconventional manner..." ("base", xpos="far_left", ypos="head") - her "*Sob*! I wish he would have just touched my breasts like any normal boy would, [genie_name]... *Sob!*" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + gen "I'd probably wash those shoes out if I were you." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears messy "*Sob*! Why couldn't he just touch my breasts like any normal boy would, [name_genie_hermione]... *Sob!*" ("angry", "squint", "base", "mid") gen "There, there..." ("base", xpos="far_left", ypos="head") - gen "You earned your points today..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears messy "Will-- *Sob*... Will I still receive my points [name_genie_hermione]?" ("angry", "squint", "base", "mid") + gen "*Hmm*... I suppose, you did get molested..." ("base", xpos="far_left", ypos="head") + gen "Although in a rather unconventional manner..." ("base", xpos="far_left", ypos="head") + gen "Yes, you've most definitely earned your points today..." ("base", xpos="far_left", ypos="head") jump end_hg_pr_grope @@ -354,38 +366,51 @@ label hg_pr_grope_T4_E1: call hg_pr_grope_intro her "......" ("annoyed", "base", "worried", "R") - her "Well..." ("open", "base", "base", "mid") - her "During the potions class today..." - her "I wrote a note on a piece of paper..." - her "I was about to slide it to my lab partner's coat when..." - call play_music("hermione") # Music + her "Well..." ("disgust", "base", "base", "mid") + her "During the potions class today..." ("soft", "base", "base", "mid") + her "I wrote a note on a piece of paper..." ("open", "base", "base", "mid") + her "I was about to slide it to my lab partner's coat, when..." + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # Music her "Professor Snape snatched it right out of my hand..." ("annoyed", "narrow", "angry", "R") - her "He then read it out aloud for the entire class..." ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") - her "I thought I was going to die from embarrassment..." ("disgust", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "He then read it out aloud for the entire class..." ("annoyed", "narrow", "annoyed", "mid") + her @ cheeks blush "I thought I was going to die from embarrassment..." ("disgust", "narrow", "annoyed", "down") gen "What did the note say?" ("base", xpos="far_left", ypos="head") - her "Well..." ("open", "narrow", "worried", "down", cheeks="blush") - her "It said... \"You can touch my butt if you want, I bet professor Snape would never notice\"." ("open", "narrow", "worried", "R", cheeks="blush") - her "Everyone was laughing..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well..." ("open", "narrow", "worried", "down") + her @ cheeks blush "It said... \"You can touch my butt if you want, I bet professor Snape would never notice\"." ("open", "narrow", "worried", "R") + her @ cheeks blush "Of course, the entire class, including Snape, then burst into laughter..." ("angry", "narrow", "base", "down") her "It was so embarrassing..." - her "I really hate professor Snape, [genie_name]..." ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Professor Snape really is the worst..." ("angry", "base", "angry", "mid") + gen "Yes, I think we've established that." ("base", xpos="far_left", ypos="head") gen "What happened then?" ("base", xpos="far_left", ypos="head") - her "Nothing..." ("open", "narrow", "worried", "down") - call play_music("playful_tension") # Music - her "But when the class was over..." - her "These two nasty-looking boys from Slytherin cornered me..." - her "Actually they weren't mean to me or anything..." - her "So we just waited for everyone to leave the classroom..." - her "And then I let them touch me..." ("angry", "base", "base", "mid") - her "They touched me everywhere, [genie_name]..." + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "Class was over, and everyone started packing up their things..." + her "As I was hurriedly trying to put away some vials, two nasty-looking boys from Slytherin cornered me..." ("open", "narrow", "worried", "mid") + gen "Uh-oh." ("base", xpos="far_left", ypos="head") + her "Don't worry [name_genie_hermione]... They weren't being mean to me or anything." + her "In fact... They wanted to take me up on the offer." + gen "Your offer?" ("base", xpos="far_left", ypos="head") + gen "Oh, the note!" ("base", xpos="far_left", ypos="head") + her "Yes..." ("soft", "base", "base", "R") + her "I mean, it wasn't meant to be an open invitation or anything..." ("open", "base", "base", "R") + her @ cheeks blush "But seeing that Snape and my lab partner had already left..." ("soft", "base", "base", "R") + her "Well, I decided I might as well go through with it..." + her "So, once everyone else had left the classroom..." + her "I let them touch me..." ("angry", "base", "base", "mid") + her "And not only did they touch my butt... They touched me everywhere, [name_genie_hermione]..." gen "\"Everywhere\", *huh*?" ("base", xpos="far_left", ypos="head") - her "Yes...{w=0.5} Everywhere,{w=0.5} [genie_name]..." ("soft", "narrow", "annoyed", "up") - her "There were hands under my skirt, under my shirt..." ("base", "narrow", "base", "mid_soft") - her "And then I started to breathe heavily..." - her "So one of them just put his hand over my mouth..." ("soft", "narrow", "annoyed", "up") - her "And their hands were so... thorough..." - her "My head started to spin..." - her "It was most exhilarating, [genie_name]." ("base", "narrow", "base", "mid_soft") - gen "Very good, [hermione_name]. Very good indeed." ("base", xpos="far_left", ypos="head") + her "Yes...{w=0.4} Everywhere, [name_genie_hermione]..." ("angry", "narrow", "annoyed", "stare") + her "Their grubby little hands went under my skirt, under my shirt..." ("open", "narrow", "base", "mid_soft") + her "I must say, it was quite overwhelming... And I started breathing quite heavily..." ("open", "narrow", "base", "down") + her @ cheeks blush "And noticing this, one of them put his hand over my mouth, while running the other over my chest..." ("soft", "narrow", "annoyed", "mid") + her @ cheeks blush "..." ("base", "narrow", "base", "stare") + gen "So...{w=0.4} What happened then?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh...{w=0.4} *Ehm*...{w=0.4} Well, the rest was a bit of a blur to be honest, as my head started spinning..." ("angry", "wink", "base", "mid") + gen "I guess that's a plausible enough excuse..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Huh*?" ("angry", "base", "base", "mid") + gen "Very good work today, [name_hermione_genie]. Very good indeed." ("base", xpos="far_left", ypos="head") + + gen "Sounds to me like you had a good time." ("base", xpos="far_left", ypos="head") + her "I'm just doing what is necessary to help my house." ("open", "closed", "base", "mid_soft") jump end_hg_pr_grope @@ -393,21 +418,26 @@ label hg_pr_grope_T4_E2: call hg_pr_grope_intro - her "Actually something quite unexpected happened to me today, [genie_name]..." ("base", "base", "base", "mid") - her "Right after the D.A.D.A class..." + her "Actually something quite unexpected happened to me today, [name_genie_hermione]..." ("soft", "base", "base", "mid") + her "Right after the D.A.D.A class..." ("open", "base", "base", "mid") gen "D.A.D.A?" ("base", xpos="far_left", ypos="head") - her "Defence Against Dark Arts, [genie_name]." ("open", "closed", "base", "mid") - her "Anyway..." + her "Defence Against the Dark Arts, [name_genie_hermione]." ("open", "closed", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + her "Anyway..." ("open", "base", "base", "mid") her "This stocky Hufflepuff boy came up to me..." ("open", "base", "base", "R") - call play_music("playful_tension") # Music - her "He said someone told him that I let boys touch me..." ("angry", "wink", "base", "mid") - her "Normally I would deny everything..." ("base", "narrow", "base", "mid_soft") - her "But I decided not to waste the opportunity..." - her "I took the boy to a quiet spot and let him touch me..." ("base", "narrow", "base", "up") - her "I let him run his hands up and down my thighs..." - her "I let him fondle my breasts..." - her "All the usual things..." ("base", "narrow", "base", "mid_soft") - gen "Well done, [hermione_name]." ("base", xpos="far_left", ypos="head") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music + her "He said that someone had told him that I allow boys to touch me..." ("angry", "wink", "base", "mid") + gen "(\"Allow\"... More like encourage...)" ("base", xpos="far_left", ypos="head") + her "Of course, normally I would deny everything..." ("soft", "narrow", "base", "R") + her "But I decided not to waste the opportunity..." ("open", "closed", "base", "mid") + her "So, I led the boy to a quiet spot, and let him touch me..." ("soft", "narrow", "base", "stare") + her "I let him run his hands up and down my thighs..." ("base", "narrow", "base", "stare") + her "I let him fondle my breasts..." ("base", "narrow", "base", "up") + her "..." ("base", "closed", "base", "up") + her "" ("clench", "base", "base", "stare") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, *Ehm*... Yes, I made sure to do all the usual things you expect from me, [name_genie_hermione]!" ("angry", "base", "base", "mid") + gen "That's great, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") jump end_hg_pr_grope @@ -415,38 +445,49 @@ label hg_pr_grope_T4_E3: call hg_pr_grope_intro - her "Well..." ("upset", "wink", "base", "mid") - her "I did what you told me to do, [genie_name]..." - her "But... it sort of... *Ehm*..." - her "Well, it sort of escalated into something else..." ("base", "narrow", "base", "up") - call play_music("playful_tension") # Music + her "Well... I tried..." ("upset", "wink", "base", "mid") + her "But it sort of--{w=0.2} *Ehm*..." ("upset", "wink", "base", "mid") + her "Well, it sort of escalated into something else..." ("base", "narrow", "base", "stare") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # Music gen "*Hmm*?" ("base", xpos="far_left", ypos="head") her "*Ehm*..." ("upset", "wink", "base", "mid") - her "I sort of... got caught while I was letting this one boy fondle my breasts..." + her "I sort of... Got caught while I was letting this one boy fondle my breasts..." ("upset", "wink", "base", "mid") gen "You got caught? By one of the teachers?" ("base", xpos="far_left", ypos="head") - her "No, [genie_name]..." ("base", "base", "base", "mid") - her "By the boy's girlfriend..." ("smile", "base", "base", "R") - gen "Interesting..." ("base", xpos="far_left", ypos="head") - her "She was furious with him at first..." ("angry", "base", "base", "mid") - her "But then..." ("angry", "wink", "base", "mid") - her "*Ehm*... She started to touch my breasts as well..." ("base", "narrow", "worried", "down") - her "Almost the same way her boyfriend did just a moment ago..." ("smile", "base", "angry", "mid") - her "Then she turned to him and she said..." - her "\"I love you baby, and I want to share everything with you\"..." ("open", "closed", "base", "mid") - her "\"... And that includes your whores\"." - her "I did not appreciate being called a whore of course..." ("angry", "base", "base", "mid") - her "But that was such a sweet and romantic gesture..." ("base", "base", "base", "mid") - her "Wouldn't you agree, [genie_name]?" - gen "Totally..." ("base", xpos="far_left", ypos="head") - gen "Seems that true love {size=+5}does{/size} exist after all." ("base", xpos="far_left", ypos="head") + her "No, [name_genie_hermione]..." ("angry", "base", "base", "mid") + her "By the boy's girlfriend..." ("soft", "base", "base", "R") + gen "Uh-oh..." ("base", xpos="far_left", ypos="head") + gen "I bet she was pissed..." ("base", xpos="far_left", ypos="head") + her "Yes, she was furious with him...{w=0.4} At first." ("angry", "base", "base", "mid") + her "But then--" ("angry", "wink", "base", "mid") + her "*Ehm*...{w=0.4} Then she started to touch my breasts as well..." ("angry", "narrow", "worried", "down") + gen "Whoa... Wait, hold on a second..." ("base", xpos="far_left", ypos="head") + her "Yes, it took me by complete surprise as well... I didn't know what to say or do." ("angry", "narrow", "angry", "down") + her @ cheeks blush "I kind of just stood there in shock, and just let it happen..." ("disgust", "closed", "worried", "down") + gen "You just stood there while she touched you? Surely that's not all--" ("base", xpos="far_left", ypos="head") + her "No [name_genie_hermione]... While she was touching me, the boy started profusely apologizing to her." ("angry", "base", "base", "mid") + her "It was kind of surreal to be honest..." ("annoyed", "narrow", "base", "down") + her "In the midst of his apology, she suddenly snapped and told him to be quiet, while she firmly grabbed a hold of my nipples at the same time..." ("angry", "closed", "base", "mid") + her "Of course, I expected the worst... I mean, she had me pinned up against the wall, and with the grip that she had, I didn't dare to move a muscle..." ("angry", "happyCl", "base", "mid") + her "But after a brief pause, she just said..." ("angry", "narrow", "base", "mid") + gen "Yes?" ("base", xpos="far_left", ypos="head") + her "\"I love you baby, and I want to share everything with you\"..." ("open", "narrow", "base", "mid") + her @ cheeks blush "\"... And that includes your whores\"." ("disgust", "narrow", "base", "mid") + gen "Whoa! Wait... Who is this girl exactly?" ("angry", xpos="far_left", ypos="head") + her "Of course, I did not like being called a whore by some Slytherin Harlot..." ("annoyed", "narrow", "base", "R") + gen "(Ignored again...)" ("base", xpos="far_left", ypos="head") + gen "So, what you're saying is that this girl wanted to \"share\" you between herself and her boyfriend?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes... And the way she said it... Well, it made it sound like I was just some toy for them to use." ("angry", "narrow", "worried", "down") + her "I suppose this is what they call a \"sweet and romantic gesture\" amongst the Slytherins..." ("disgust", "narrow", "worried", "R") + gen "So true love {size=+5}does{/size} exist after all." ("base", xpos="far_left", ypos="head") gen "Then what happened?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... Well..." ("grin", "happyCl", "worried", "mid", emote="sweat") - her "They both started touching me a little again..." ("upset", "wink", "base", "mid") + her "*Ehm*... Well..." ("disgust", "narrow", "worried", "mid", emote="sweat") + her "They both started touching me..." ("upset", "wink", "base", "mid") her "And then they started kissing in front of me..." ("annoyed", "base", "worried", "R") - her "A moment later their hands were all over each other." + her "A moment later, their hands were all over each other." her "I felt like the third wheel in that situation, so I just slipped away quietly..." - gen "*Emm*..." ("base", xpos="far_left", ypos="head") - gen "Perhaps if you've stayed a little longer... or perhaps taken the initiative..." ("base", xpos="far_left", ypos="head") - gen "No matter." ("base", xpos="far_left", ypos="head") + gen "Right..." ("base", xpos="far_left", ypos="head") + gen "So you didn't think that perhaps staying a little longer... Or taking some initiative..." ("base", xpos="far_left", ypos="head") + her "What are you implying?" ("annoyed", "base", "worried", "mid") + gen "No matter..." ("base", xpos="far_left", ypos="head") jump end_hg_pr_grope diff --git a/game/scripts/characters/hermione/events/requests/wear_my_cum.rpy b/game/scripts/characters/hermione/events/requests/wear_my_cum.rpy new file mode 100644 index 00000000..1b136af1 --- /dev/null +++ b/game/scripts/characters/hermione/events/requests/wear_my_cum.rpy @@ -0,0 +1,980 @@ + +label start_hg_pr_cumslut: + # Public shaming: Wear cum + # TODO: Some events need to be rewritten so they follow cum layers limitations and actual game progression. + # Additionally, they should be converted into the event class. + + $ current_payout = 50 + + if not _events_completed_any: + gen "{size=-4}(Should I ask her to walk around with my cum on her?){/size}" ("base", xpos="far_left", ypos="head") + + menu: + "\"(Yes, let's do it!)\"": + pass + "\"(Not right now.)\"": + $ _event.cancel() + jump hermione_favor_menu + return + +label hg_pr_cumslut_fail: + + call start_hg_pr_cumslut + + her "" (xpos="mid", ypos="base", trans=fade) + + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]." ("open", "base", "base", "mid") + + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + + gen "Today I have another small favour to ask of you." ("base", xpos="far_left", ypos="head") + her "What is it?" ("soft", "base", "base", "mid") + gen "I'd like you to attend class..." ("base", xpos="far_left", ypos="head") + her "Of course, not a problem..." ("base", "happyCl", "base", "mid") + gen "Glazed with my cum!" ("grin", xpos="far_left", ypos="head") + + jump too_much_public + +label hg_pr_cumslut_e1: + + call start_hg_pr_cumslut + + her "" (xpos="mid", ypos="base", trans=fade) + + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks base "Yes, [name_genie_hermione]." ("base", "base", "base", "mid") + + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + + gen "Today I have another small favour to ask of you." ("base", xpos="far_left", ypos="head") + her "What is it?" ("soft", "base", "base", "mid") + gen "I'd like you to attend class..." ("base", xpos="far_left", ypos="head") + her "Of course, not a problem..." ("base", "happyCl", "base", "mid") + gen "Glazed with my cum!" ("grin", xpos="far_left", ypos="head") + her "What?!?" ("shock", "wide", "base", "stare") + her "You can't be serious!" ("angry", "base", "angry", "mid") + her "It's bad enough that I let you cum on me in the first place!" ("annoyed", "narrow", "annoyed", "mid") + her "But in public?" ("angry", "narrow", "annoyed", "mid", emote="angry") + her "I think I better leave..." ("annoyed", "base", "angry", "mid") + gen "Wait!" ("base", xpos="far_left", ypos="head") + gen "What if nobody could see it?" ("base", xpos="far_left", ypos="head") + her "You mean like a spell?" ("soft", "narrow", "annoyed", "mid") + gen "That, or I could dump my load somewhere discreet." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well... I suppose that would be alright..." ("annoyed", "narrow", "annoyed", "R") + her "But what's the point of it all?" ("annoyed", "base", "worried", "R") + gen "You'll know it's there, and so will I." ("grin", xpos="far_left", ypos="head") + her "*Hmm*..." ("annoyed", "narrow", "angry", "L") + her "How much would I be paid for this?" ("annoyed", "squint", "base", "mid") + gen "Thirty points." ("base", xpos="far_left", ypos="head") + her "Thirty?! I expect at least seventy for such a filthy act!" ("angry", "happyCl", "worried", "mid") + gen "Forty." ("base", xpos="far_left", ypos="head") + her "Sixty!" ("open", "closed", "angry", "mid") + gen "Fifty points, my final offer." ("base", xpos="far_left", ypos="head") + her "Okay, I'll do it." ("annoyed", "base", "worried", "R") + gen "Really?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "If nobody can see it then I guess it's okay..." ("annoyed", "narrow", "angry", "R") + gen "Splendid. Care to lend me a hand?" ("base", xpos="far_left", ypos="head") + her "*sigh*..." ("soft", "narrow", "worried", "down") + + hide hermione_main + call blkfade + + call her_chibi_scene("hj", "desk", "base") + + call hide_blkfade + call ctc + + her "Why are you making me do this, [name_genie_hermione]?" ("angry", "base", "worried", "mid", ypos="head", flip=False) + gen "What do you mean?" ("base", xpos="far_left", ypos="head") + her "Why are you making me jerk you off..." ("angry", "narrow", "base", "down") + gen "You know why..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Are you trying to mark me as yours?" ("normal", "narrow", "annoyed", "mid") + her @ cheeks blush "Like some common beast?" ("normal", "narrow", "worried", "mid") + gen "I'm not doing anything, my hands are right here." ("grin", xpos="far_left", ypos="head") + her "That may be so, but if I stop, Gryffindor will lose the house cup." ("annoyed", "narrow", "worried", "mid") + gen "And?" ("base", xpos="far_left", ypos="head") + her "Harry and Ron will be so disappointed..." ("annoyed", "base", "worried", "mid") + gen "So that's why you are doing this? For those two boys?" ("base", xpos="far_left", ypos="head") + her "Sort of... I'm not sure that they'd be too upset, though." ("annoyed", "base", "worried", "R") + gen "Are you sure that's the only reason?" ("base", xpos="far_left", ypos="head") + her "What?" ("upset", "wink", "base", "mid") + gen "I mean, you're answering all my summon requests--" ("base", xpos="far_left", ypos="head") + gen "--Doing whatever I tell you to do, whenever I tell you." ("base", xpos="far_left", ypos="head") + gen "Performing in front of your peers, because I ask of you." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "base", "down") + gen "Tell you what, I'll give you a choice." ("base", xpos="far_left", ypos="head") + gen "So long as I cum on you, and you parade around school smelling like a slut today, Gryffindor will get fifty points." ("base", xpos="far_left", ypos="head") + her "How is that any different from what we've already agreed on?" ("disgust", "narrow", "base", "mid_soft") + gen "Because I'll let you choose where to take my load." ("base", xpos="far_left", ypos="head") + nar "You feel her hands tense around your cock." + her "You're letting me choose?" ("open", "base", "base", "mid") + gen "Yep." ("base", xpos="far_left", ypos="head") + gen "As long as you let me cum on you. You can even choose your feet for all I care." ("base", xpos="far_left", ypos="head") + her "Okay..." ("crooked_smile", "narrow", "base", "mid") + gen "Well, hurry up then, [name_hermione_genie], classes will start soon." ("base", xpos="far_left", ypos="head") + nar "She starts jerking your cock with renewed vigour." + gen "So, what will be your choice?" ("base", xpos="far_left", ypos="head") + her "I'm not sure." ("upset", "wink", "base", "mid") + her "I'm trying to think of a place no one will be able to see..." ("angry", "base", "base", "mid") + gen "You better think of something soon!" ("base", xpos="far_left", ypos="head") + her "Why's that?" ("open", "wink", "worried", "mid") + gen "Because I'm about to cum!" ("grin", xpos="far_left", ypos="head") + her "Already?! But I still haven't--" ("angry", "wide", "base", "stare") + + menu: + #"-Stay Silent-": # TODO: rewrite so it doesn't require to be "under" shirt, but on top of the existing cloth (if any at all) + # Cum under shirt + #$ _cum_location = 1 + + #nar "Hermione swiftly pulls her shirt up..." + #nar "You can feel her incredibly soft tits rubbing against the tip of your cock, making you cum!" + #gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") + + #call her_chibi_scene("hj_cum_in") + #call cum_block + + # TODO Cum under shirt layer + + #her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") + + #call her_chibi_scene("hj_cum_in_done") + #call ctc + + #her "Well, this shouldn't be too bad..." ("upset", "wink", "base", "mid") + #gen "I'm sure no one will notice." ("base", xpos="far_left", ypos="head") + #her "They better not." ("angry", "base", "angry", "mid") + + "\"Just keep on jerking, [name_hermione_genie]!\"": + # Cum on skirt + $ _cum_location = "bottom" + + nar "Hermione keeps jerking your cock, her gaze wandering about her own body." + gen "Get ready, you whore, here it comes!!!" ("angry", xpos="far_left", ypos="head") + her "Wait, I need more time--" ("shock", "wide", "worried", "mid") + gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + call her_chibi_scene("hj_cum_on") + call cum_block + + $ hermione.set_cum(crotch="light") + + her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") + + $ hermione.set_cum(crotch="heavy") + + gen "That's it! All over you, slut!" ("angry", xpos="far_left", ypos="head") + her "..." ("shock", "base", "worried", "down") + + call her_chibi_scene("hj_cum_on_done") + call ctc + + her "Y-you came all over my bottom half..." ("angry", "narrow", "worried", "mid") + + her "Will that be all, [name_genie_hermione]?" ("angry", "narrow", "worried", "mid") + gen "I don't suppose you could kiss it for good luck?" ("base", xpos="far_left", ypos="head") + her "I don't think so." ("annoyed", "narrow", "angry", "R") + gen "Well then that should be all, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + + "\"Use your head, slut!\"": + # Cum on head + $ _cum_location = "face" + + nar "Hermione bends down and holds your cock in front of her face." + gen "Oh? Interesting! Get ready, here it comes!" ("base", xpos="far_left", ypos="head") + her "W-wait I--" ("scream", "wide", "base", "mid") + gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") + her "--I can't!" ("open", "wide", "worried", "mid") + + nar "Hermione moves your cock away from her face at the last second." + nar "You erupt all over the top of her head, covering her hair in your spunk." + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + call her_chibi_scene("hj_cum_on") + call cum_block + + $ hermione.set_cum(hair="light") + + her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") + + $ hermione.set_cum(hair="heavy") + + gen "Yes! I Feel so much better now..." ("grin", xpos="far_left", ypos="head") + her ".............." ("normal", "happyCl", "worried", "mid") + + call her_chibi_scene("hj_cum_on_done") + call ctc + + her @ tears soft_blink "H-How could you!?" ("scream", "happyCl", "worried", "mid") + gen "How could I? What do you mean?" ("base", xpos="far_left", ypos="head") + her @ tears soft "You told me to use my head!" ("scream", "base", "angry", "mid") + gen "I did." ("base", xpos="far_left", ypos="head") + her @ tears soft_blink "Why would you do something like that then!?" ("mad", "happyCl", "worried", "mid") + gen "Sorry, what wrongdoing did I do?" ("base", xpos="far_left", ypos="head") + her @ tears soft "If I hadn't moved at the last second, my face would be covered!" ("angry", "base", "base", "mid") + gen "Don't blame me, that was your move, not mine." ("base", xpos="far_left", ypos="head") + her "What?" ("open", "base", "angry", "mid") + gen "I only said that you should use your head to think." ("base", xpos="far_left", ypos="head") + gen "I didn't mean it in a literal sense..." ("base", xpos="far_left", ypos="head") + her "You mean I didn't have to..." ("angry", "base", "worried", "R") + gen "Not at all." ("base", xpos="far_left", ypos="head") + gen "I thought you of all people would know what an idiom is." ("grin", xpos="far_left", ypos="head") + her "........." ("disgust", "narrow", "worried", "mid") + + hide hermione_main + call blkfade + + nar "You tuck your cock back into your robe." + + call gen_chibi("sit_behind_desk") + call her_chibi("stand","desk","base") + + call hide_blkfade + pause.2 + + call bld + gen "Oh, and one last thing before you head to class..." ("base", xpos="far_left", ypos="head") + her "What is it?" ("annoyed", "narrow", "annoyed", "mid") + gen "If you happen to report to me after class, with no traces of cum on you, Slytherin will get two hundred points." ("base", xpos="far_left", ypos="head") + her "{size=+10}Two hundred!? That is not fair!{/size}" ("shock", "wide", "base", "stare") + gen "It's unfair only if you cheat, and try washing it off." ("grin", xpos="far_left", ypos="head") + her "*tsk*!..." ("angry", "base", "angry", "mid") + + call her_walk(action="leave") + + gen "See you soon..." ("grin", xpos="far_left", ypos="head") + + jump end_hermione_event + +label hg_pr_cumslut_e2: + + call start_hg_pr_cumslut + + her "" (xpos="mid", ypos="base", trans=fade) + + her "Again?" ("angry", "wide", "base", "stare") + her "You cannot be serious!?" ("angry", "base", "angry", "mid") + her @ cheeks blush "I already let you do this to me once, isn't that enough?" ("annoyed", "narrow", "annoyed", "mid") + gen "It's enough when I say it's enough." ("base", xpos="far_left", ypos="head") + gen "Besides, was it really so bad the last time?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well I guess not..." ("annoyed", "base", "angry", "R") + her "But will it still be hidden this time?" ("annoyed", "base", "worried", "mid") + gen "That's up to you." ("base", xpos="far_left", ypos="head") + her "*Hmm*..." ("annoyed", "narrow", "angry", "R") + + her "How much will I be paid this time then?" ("open", "squint", "base", "mid") + gen "Twenty points." ("base", xpos="far_left", ypos="head") + her "Twenty!? we agreed on fifty last time!" ("clench", "base", "angry", "mid") + gen "Forty." ("base", xpos="far_left", ypos="head") + her "Seventy!" ("scream", "closed", "angry", "mid") + gen "Fifty points then, final offer." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Eighty and I'll let people see it." ("grin", "narrow", "base", "mid_soft") + gen "Really?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "As long as it isn't too obvious..." ("base", "narrow", "worried", "down") + gen "Deal!" ("grin", xpos="far_left", ypos="head") + her "..." ("soft", "narrow", "worried", "down") + + hide hermione_main + call blkfade + + call her_chibi_scene("hj", "desk", "base") + call hide_blkfade + call ctc + + her "Why are we doing this again, [name_genie_hermione]?" ("annoyed", "base", "base", "mid", ypos="head", flip=False) + gen "Let me answer your question with one of my own." ("base", xpos="far_left", ypos="head") + her "Okay..." ("open", "base", "base", "mid") + gen "Why are you jerking me off, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Because you asked me to..." ("soft", "narrow", "annoyed", "mid") + gen "And that's all there is to it?" ("base", xpos="far_left", ypos="head") + her "Yes... I think?" ("open", "wink", "worried", "mid") + gen "Are you sure?" ("base", xpos="far_left", ypos="head") + her "I don't know..." ("open", "base", "worried", "R") + gen "What is your other reason?" ("base", xpos="far_left", ypos="head") + her "if I don't do this, Gryffindor will lose the house cup." ("angry", "happyCl", "worried", "mid") + gen "You said the same thing the last time, but I still don't buy it." ("base", xpos="far_left", ypos="head") + her "It's not a lie..." ("angry", "base", "worried", "mid") + gen "No, it's not, but it's not a complete truth either." ("base", xpos="far_left", ypos="head") + gen "If you had to choose, would you rather win the house cup, or--" ("base", xpos="far_left", ypos="head") + gen "Would you rather make me a happy man." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Can't I do both?" ("annoyed", "base", "worried", "R") + gen "You certainly can... But I want you to be honest." ("base", xpos="far_left", ypos="head") + gen "I'm going to give you another choice--" ("base", xpos="far_left", ypos="head") + gen "You can stop jerking me off right now, leave the room and I'll give you a hundred points. However, I'll be very upset." ("base", xpos="far_left", ypos="head") + her "..." ("open", "base", "base", "mid") + her "What's the other option?" ("soft", "base", "worried", "mid") + gen "Or, you can continue what you're doing, take my load on you, but you'll get no points whatsoever." ("base", xpos="far_left", ypos="head") + her "..." ("shock", "wide", "base", "mid") + her "NO POINTS?" ("angry", "wide", "worried", "mid") + gen "None. However, you will make me very happy." ("base", xpos="far_left", ypos="head") + her "But that's... Can't you just pay me like usual--" ("angry", "base", "worried", "mid", emote="sweat") + gen "No, I cannot." ("base", xpos="far_left", ypos="head") + gen "The choice is yours however." ("base", xpos="far_left", ypos="head") + nar "You feel Hermione's hand tense around your cock." + her "You're making me choose? Between getting a hundred points for doing nothing--" ("angry", "happyCl", "angry", "mid") + her "--Or getting paid nothing for being treated like some cumrag from slytherin?" ("angry", "narrow", "annoyed", "mid", emote="angry") + gen "I would've phrased it differently, but yes, these are your choices, [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") + her "{size=-5}Some choices they are...{/size}" ("disgust", "narrow", "base", "R") + gen "You might wish to make up your mind soon, your classes are about to start." ("base", xpos="far_left", ypos="head") + nar "Hermione ponders for a minute, you study her face in great detail, wondering what's going through her head." + nar "You can see the wheels turning as she contemplates her choices, as ridiculous as they may be." + nar "Her face is beet red, eyes unfocused. You nod to yourself, you think you know the answer." + nar "She starts jerking your cock with renewed vigour." + her @ cheeks blush "..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "You better appreciate this..." ("open", "narrow", "angry", "R") + gen "Oh, trust me, I am feeling {b}very{/b} happy!" ("grin", xpos="far_left", ypos="head") + her "Really?" ("open", "base", "base", "mid") + gen "You're about to see how much I'm appreciating this!" ("grin", xpos="far_left", ypos="head") + her "What, Already? Where should I--" ("angry", "wide", "base", "stare") + + menu: + "-Stay Silent-": + # Cum on legs + $ _cum_location = "legs" + + nar "Hermione tries to think, but her mind is too distracted to think quick enough." + gen "Get ready slut, here it comes!" ("angry", xpos="far_left", ypos="head") + her "Wait, where am I supposed to--" ("shock", "wide", "worried", "mid") + gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") + nar "Hermione aims your cock lower, aiming it at her legs." + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + call her_chibi_scene("hj_cum_on") + call cum_block + + $ hermione.set_cum(legs="light") + + her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") + + $ hermione.set_cum(legs="heavy") + + gen "That's it, all over your milky thighs." ("angry", xpos="far_left", ypos="head") + her "..." ("shock", "narrow", "worried", "down") + + call her_chibi_scene("hj_cum_on_done") + call ctc + + her "Are you happy now?" ("soft", "narrow", "annoyed", "mid") + gen "I've never been happier, but..." ("base", xpos="far_left", ypos="head") + her "...but?" ("normal", "wink", "annoyed", "mid") + gen "I don't suppose you could give it a kiss, you know, for good luck?" ("base", xpos="far_left", ypos="head") + her "......*sigh*" ("soft", "closed", "base", "up") + + hide hermione_main + call her_chibi_scene("hj_kiss") + play sound "sounds/kiss.ogg" + with kissiris + call ctc + + $ states.her.ev.give_me_a_handy.cock_kiss = True + + call her_chibi_scene("hj_cum_on_done") + gen "Good girl." ("base", xpos="far_left", ypos="head") + + "\"Just keep on jerking, [name_hermione_genie]!\"": + # Cum on shirt + $ _cum_location = "chest" + + nar "Hermione keeps jerking your cock, her eyes focused intently on it." + gen "Get ready slut, here I come!" ("angry", xpos="far_left", ypos="head") + her "Please not on my--" ("shock", "base", "worried", "mid") + gen "{size=+5}*ARGH*! YES!!! RIGHT ON THOSE TITS!{/size}" ("grin", xpos="far_left", ypos="head") + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + call her_chibi_scene("hj_cum_on") + call cum_block + + $ hermione.set_cum(breasts="light", body="light") + + her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") + + $ hermione.set_cum(breasts="heavy") + + gen "That's it! Let it soak, slut!" ("grin", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "worried", "down") + + call her_chibi_scene("hj_cum_on_done") + call ctc + + her "It's all over me..." ("angry", "narrow", "worried", "mid") + gen "Not quite, but good enough." ("base", xpos="far_left", ypos="head") + her "I think I should go now..." ("annoyed", "narrow", "worried", "down") + + "\"Take it on your face slut!\"": + # Cum on face + $ _cum_location = "face" + + nar "Hermione bends down and holds your cock in front of her face." + gen "Get ready, here it comes!" ("base", xpos="far_left", ypos="head") + her "..." ("angry", "happyCl", "base", "mid") + gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") + her "..." ("angry", "happyCl", "angry", "down") + nar "You erupt onto her face, dousing her in your seemingly infinite spunk." + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + call her_chibi_scene("hj_cum_on") + call cum_block + + $ hermione.set_cum(face="light") + + her "!!!!!!!!!!!" ("shock", "happyCl", "base", "stare", xpos="right", ypos="base") + + $ hermione.set_cum(face="heavy", hair="light") + + gen "I Feel so much lighter now..." ("grin", xpos="far_left", ypos="head") + her ".............." ("normal", "happyCl", "worried", "mid") + + call her_chibi_scene("hj_cum_on_done") + call ctc + + her "[name_genie_hermione]!!!" ("scream", "happyCl", "worried", "mid") + her "You came all over my face!" ("scream", "closed", "angry", "mid") + gen "That's very perceptive of you." ("base", xpos="far_left", ypos="head") + her @ tears soft_blink "Why would you ask me to do that!?" ("mad", "happyCl", "worried", "mid") + her @ tears soft "I'm completely covered in your cum!" ("angry", "base", "base", "mid") + gen "You didn't have to listen to me." ("base", xpos="far_left", ypos="head") + her "..." ("angry", "base", "worried", "mid") + her "You told me to do it though..." ("annoyed", "base", "worried", "R") + + hide hermione_main + call blkfade + + nar "You tuck your cock back into your robe." + + call gen_chibi("sit_behind_desk") + call her_chibi("stand","desk","base") + + hide screen blktone + hide screen bld1 + call hide_blkfade + pause.2 + + call bld + gen "Oh and one last thing before you head to class." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes, I know... Don't wash it off before reporting in..." ("annoyed", "narrow", "annoyed", "R", xpos="right", ypos="base") + gen "Good, you learn quick." ("Grin", xpos="far_left", ypos="head") + her "........." ("annoyed", "narrow", "base", "R") + gen "Have fun! Tell your friends that Dumbledork sends his regards." ("grin", xpos="far_left", ypos="head") + her "Very funny..." ("disgust", "narrow", "worried", "mid") + + call her_walk(action="leave") + + jump end_hermione_event + +label hg_pr_cumslut_e3: + + call start_hg_pr_cumslut + + her "" (xpos="mid", ypos="base", trans=fade) + + her "Again? I just took a shower not too long ago..." ("open", "base", "worried", "mid") + gen "No worries, [name_hermione_genie], I'll give you another shower." ("grin", xpos="far_left", ypos="head") + her "I'm not sure we're talking about the same thing..." ("disgust", "narrow", "base", "mid") + gen "Only one way to find out." ("base", xpos="far_left", ypos="head") + her "*sigh*... I hope I don't regret it..." ("soft", "narrow", "base", "R") + + hide hermione_main + call blkfade + + call her_chibi_scene("hj", "desk", "base") + + call hide_blkfade + call ctc + + call bld + gen "Gods, you're good at this, [name_hermione_genie]!" ("base", xpos="far_left", ypos="head") + her "Thank you... I've been thinking about what you asked me the last time..." ("angry", "wink", "base", "mid", ypos="head", flip=False) + gen "Oh?" ("base", xpos="far_left", ypos="head") + her "You asked me for the reason why I do all this... Why I sell you all these favours..." ("open", "base", "angry", "mid") + her "I think it's time for me to come clean..." ("open", "closed", "worried", "mid") + gen "(*heh*)" ("grin", xpos="far_left", ypos="head") + gen "(I'm itching to make a joke, but perhaps it'd be wiser to let her speak.)" ("base", xpos="far_left", ypos="head") + her "I didn't lie when I said it was just to get more house points, so that gryffindor could win the house cup..." ("angry", "wink", "worried", "mid") + her @ cheeks blush "At first. But lately..." ("base", "narrow", "worried", "down") + her @ cheeks blush "I think...{w=0.5} I think I'm starting to enjoy it, [name_genie_hermione]." ("soft", "narrow", "base", "mid_soft") + her @ cheeks blush "Because seeing you happy, makes me happy..." ("base", "happyCl", "base", "mid") + gen "That's great... But what would really make me happy right now is you focusing a little more on the task at hand..." ("base", xpos="far_left", ypos="head") + her "Oh! Of course, [name_genie_hermione]... Silly me!" ("angry", "happy", "worried", "mid") + her "I need to learn how to multitask." ("annoyed", "narrow", "base", "stare") + her "it would come in handy." ("open", "squint", "base", "down") + gen "(*heh-heh*)" ("grin", xpos="far_left", ypos="head") + her "I think something's wrong with me, [name_genie_hermione]." ("open", "narrow", "worried", "mid") + her "Ever since you asked me to parade with your cum in public, I think--" ("open", "narrow", "annoyed", "up") + her "--I think something changed in me." ("grin", "narrow", "base", "dead") + her "I thought I hated it but the truth is..." ("grin", "narrow", "base", "dead") + her "I'm kind of enjoying it." ("soft", "narrow", "annoyed", "up") + her "Is it weird? Does that make me a slut, [name_genie_hermione]?" ("soft", "narrow", "worried", "mid") + + if "slut" in name_hermione_genie.lower(): + gen "Is that a rhetorical question, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Right... I guess it was..." ("silly", "narrow", "annoyed", "up") + else: + gen "No, [name_hermione_genie], it does not." ("base", xpos="far_left", ypos="head") + her "Really? I'm relie--" ("base", "closed", "base", "up") + gen "--It makes you a {b}cumslut{/b}." ("grin", xpos="far_left", ypos="head") + her "I'm a what?" ("open", "squint", "annoyed", "mid") + gen "A cumslut. A cum-loving jizz guzzler." ("grin", xpos="far_left", ypos="head") + her "...So there's something wrong with me after all..." ("angry", "narrow", "annoyed", "down") + gen "I didn't say that." ("grin", xpos="far_left", ypos="head") + her "...?" ("soft", "wink", "worried", "mid") + gen "You may be a cumslut, but you're also {b}my{/b} cumslut, first and foremost." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "*Ah*{heart} Y-Your cumslut...?" ("disgust", "squint", "worried", "mid") + gen "Yes, you're my favourite cum receptacle, the smartest cumslut on the block." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I'm your favourite... The smartest...{heart}{heart}" ("silly", "narrow", "base", "dead") + her @ cheeks blush "In that case..." ("base", "narrow", "low", "mid") + + her "Would you be so kind and douse your favourite cumslut with a fresh layer of your nasty jizz?" ("open_wide_tongue", "narrow", "annoyed", "up") + gen "Oh that did it, you filthy slut!" ("grin", xpos="far_left", ypos="head") + gen "HERE IT COMES!!!" ("angry", xpos="far_left", ypos="head") + her "Shoot it wherever you want [name_genie_hermione]..." ("open_wide_tongue", "narrow", "worried", "mid") + + menu: + "\"Take it on your tits!\"": + # Cum on shirt + $ _cum_location = "chest" + her "Please cover my tits with your sticky semen! I need it, [name_genie_hermione]!" ("silly", "narrow", "annoyed", "up", ypos="head", flip=False) + nar "Hermione keeps jerking your cock with a smile." + gen "Get ready whore, here comes your reward!" ("angry", xpos="far_left", ypos="head") + her "...{heart}" ("silly", "narrow", "base", "dead") + nar "Hermione leans back, protruding her chest to give you a better target." + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + + call her_chibi_scene("hj_cum_on") + call cum_block + + $ hermione.set_cum(breasts="light", body="light") + + her "{heart}{heart}{heart}" ("silly", "narrow", "worried", "down", xpos="right", ypos="base") + gen "{size=+5}*ARGH*! YES!!! RIGHT between your TITS!{/size}" ("grin", xpos="far_left", ypos="head") + + $ hermione.set_cum(breasts="heavy") + + gen "That's it! All over your tits!" ("base", xpos="far_left", ypos="head") + her "......" ("soft", "narrow", "annoyed", "up") + + call her_chibi_scene("hj_cum_on_done") + call ctc + + her "It's so warm...{heart}" ("grin", "narrow", "base", "dead") + gen "That it is." ("base", xpos="far_left", ypos="head") + + "\"Take it on your face, slut!\"": + # Cum on face + $ _cum_location = "face" + nar "Hermione bends down and holds your cock in front of her face." + gen "Get ready cumslut, I'm going to paint your pretty face white!" ("angry", xpos="far_left", ypos="head") + her "Please do! I need it, [name_genie_hermione]!" ("grin", "narrow", "annoyed", "up", ypos="head", flip=False) + gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") + her "..." ("open_wide_tongue", "narrow", "annoyed", "up") + nar "You erupt onto her, dousing her entire face in thick layers of spunk." + + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + call her_chibi_scene("hj_cum_on") + call cum_block + + $ hermione.set_cum(face="light") + + her "*Ahhh* {i}it'shhh sho warm and shticky{/i}.{heart}{heart}{heart}" ("open_wide_tongue", "narrow", "annoyed", "up",xpos="right",ypos="base") + + $ hermione.set_cum(face="heavy", hair="light") + + gen "Yes... I Feel so much better now..." ("grin", xpos="far_left", ypos="head") + her "{size=-2}Me too...{/size}" ("silly", "narrow", "worried", "dead") + + call her_chibi_scene("hj_cum_on_done") + call ctc + + gen "You did great, [name_hermione_genie], excellent performance!" ("grin", xpos="far_left", ypos="head") + gen "But I think it's time for your classes." ("base", xpos="far_left", ypos="head") + her "*Huh*? Classes?" ("silly", "happyCl", "worried", "mid") + her "Oh no, what have I done!!" ("normal", "wide", "worried", "mid") + + if _cum_location == "face": + her "I can't attend classes with your cum on my face!" ("shock", "happyCl", "worried", "mid") + elif _cum_location == "chest": + her "I can't attend classes with your cum on my chest!" ("angry", "happyCl", "worried", "mid") + + gen "Not with that attitude." ("base", xpos="far_left", ypos="head") + gen "I chose where to cum, but it was you who gave me the choice." ("base", xpos="far_left", ypos="head") + gen "Learn to live with the consequences of your actions, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "But..." ("angry", "narrow", "worried", "mid") + gen "You're smart, you'll figure something out." ("base", xpos="far_left", ypos="head") + her "(......am I really, though?)" ("angry", "narrow", "worried", "down") + + show screen blkfade + with d3 + + nar "You tuck your cock back into your robe." + + call her_chibi("stand", "desk", "base") + call gen_chibi("sit_behind_desk") + with d3 + pause.2 + + hide screen blkfade + with d3 + + call bld + gen "I'll see you after classes. You know the drill." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "... Yes, [name_genie_hermione]..." ("soft", "narrow", "annoyed", "down", xpos="right", ypos="base") + + call her_walk("door") + + her "(What am I going to do now?...)" ("annoyed", "happyCl", "low", "dead") + + call her_walk(action="leave") + + jump end_hermione_event + +label hg_pr_cumslut_e1_return: + + call her_walk(action="enter", xpos="mid", ypos="base") + + #if _cum_location == 1: # TODO: No can do. Requires rewrite. + # Cum under shirt + #her "... I did it, [name_genie_hermione]." ("base", "happy", "base", "mid",xpos="right",ypos="base") + #her "I kept your cum on me all day." ("base", "base", "base", "R") + + #menu: + #"\"Fifty points to Gryffindor!\"": + #$ gryffindor += 50 + #her "Thank you [name_genie_hermione], will that be all?" ("soft", "base", "base", "mid") + #gen "Yes [name_hermione_genie], you may leave now." ("base", xpos="far_left", ypos="head") + + #"\"Tell me about your day.\"": + #her "It was a pretty normal day, I had potions class and then transfiguration." ("open", "closed", "base", "mid") + #gen "And do you think that anyone noticed?" ("base", xpos="far_left", ypos="head") + #her "I don't think so [name_genie_hermione]. Ginny Weasley asked me about it during transfiguration class though." ("soft", "base", "base", "mid") + #gen "And what did you tell her?" ("base", xpos="far_left", ypos="head") + #her "I just said that I spilled some {i}Wiggenweld potion{/i} on myself in potions class." ("open", "base", "base", "mid") + #gen "Very cunning of you. Fifty points to Gryffindor." ("base", xpos="far_left", ypos="head") + #$ gryffindor += 50 + #her "Thank you [name_genie_hermione], if that's all I might head to bed." ("soft", "base", "base", "mid") + #gen "Very well, goodnight [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + #her "Good night [name_genie_hermione]." ("base", "base", "base", "mid") + + if _cum_location == "bottom": + # Cum on skirt + + $ hermione.set_cum(crotch="heavy") + + her "... I did it [name_genie_hermione]." ("normal", "happyCl", "worried", "mid", xpos="mid", ypos="base", trans=fade) + her "I kept your cum on me all day!" ("angry", "happyCl", "worried", "mid",emote="sweat") + gen "(*Heh*, I would have never expected her to say that out loud...)" ("base", xpos="far_left", ypos="head") + + if _events_filtered_completed_all: + menu: + "\"Fifty points to Gryffindor!\"": + $ gryffindor += current_payout + her "Thank you [name_genie_hermione], will that be all?" ("annoyed", "base", "worried", "R") + gen "Yes [name_hermione_genie], you may leave now." ("base", xpos="far_left", ypos="head") + + jump hg_pr_cumslut_e1_return.end + + "\"Tell me about your day.\"": + pass + else: + gen "Tell me about your day, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + + her "It was a pretty normal day at first. For starters I had potions class and then transfiguration...--" ("open", "base", "worried", "R") + gen "I want you tell me about the deed, not your boring classes." ("base", xpos="far_left", ypos="head") + gen "Did anyone notice the gift I left on you?" ("base", xpos="far_left", ypos="head") + her "Oh..." ("soft", "base", "worried", "mid") + her "I think some people did, [name_genie_hermione]." ("angry", "happyCl", "worried", "mid") + her "I could hear The first years all whispering as I walked past." ("angry", "base", "worried", "down") + gen "And how did you feel?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Ashamed, but also a little excited. I just wish that they knew why I was doing this." ("angry", "narrow", "worried", "R") + gen "Speaking of which, fifty points to Gryffindor!" ("base", xpos="far_left", ypos="head") + $ gryffindor += current_payout + her "Oh, right the points, thank you [name_genie_hermione]." ("open", "narrow", "worried", "mid") + her "if that's all I might head to bed." ("normal", "narrow", "worried", "R") + gen "Very well, goodnight [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Good night [name_genie_hermione]." ("upset", "base", "worried", "mid") + + else: + # Cum on hair + + $ hermione.set_cum(hair="heavy") + + her @ tears mascara "... I did it [name_genie_hermione]." ("upset", "narrow", "base", "dead", xpos="mid", ypos="base", trans=fade) + her @ tears mascara_soft_blink "I kept your cum on me all day." ("upset", "happyCl", "worried", "mid") + + if _events_filtered_completed_all: + menu: + "\"Fifty points to Gryffindor!\"": + $ gryffindor += 50 + $ states.her.mood += 5 + her @ tears mascara_soft "..." ("annoyed", "narrow", "annoyed", "mid") + gen "Well [name_hermione_genie], you may leave now." ("base", xpos="far_left", ypos="head") + her @ tears mascara "*Hmph*..." ("angry", "narrow", "annoyed", "mid", emote="angry") + + jump hg_pr_cumslut_e1_return.end + + "\"Tell me about your day.\"": + pass + else: + gen "Tell me about your day, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + + $ states.her.mood += 10 + her @ tears mascara_soft_blink "My day..." ("normal", "happyCl", "worried", "mid") + her @ tears mascara_soft_blink "I've never been so ashamed!" ("angry", "happyCl", "worried", "mid",emote="sweat") + gen "Oh? Did your friends treat you poorly?" ("base", xpos="far_left", ypos="head") + her @ tears mascara_soft_blink "No! That's the worst part!" ("scream", "closed", "angry", "mid") + her @ tears mascara_soft_blink "I expected to be an outcast, to sit by myself and not have Ginny or Luna talk to me." ("annoyed", "base", "worried", "R") + her @ tears mascara "But they didn't even acknowledge the fact that I was covered in cum!" ("annoyed", "narrow", "angry", "R") + her @ tears mascara_soft_blink "They acted as if nothing was wrong." ("mad", "happyCl", "worried", "mid") + her @ tears mascara_soft_blink "Well... Maybe except for Luna, she was looking at me odd..." ("mad", "happyCl", "worried", "mid") + her @ tears mascara_soft_blink "At one point, she even tried to take a whiff at me... but Ginny..." ("mad", "happyCl", "worried", "mid") + her @ tears mascara_soft "I tried to provoke a response from Ginny by asking her what she thought of my hair!" ("angry", "base", "base", "mid") + gen "And what was her reaction?" ("base", xpos="far_left", ypos="head") + her @ tears mascara_soft_blink "She said that it suited me!" ("upset", "happyCl", "worried", "mid") + gen "Maybe they're just used to you acting like this." ("base", xpos="far_left", ypos="head") + her @ tears mascara_soft "That's the problem! They think that this slutty persona is who I am now!" ("angry", "base", "worried", "mid") + gen "Would it really be so bad if you let go for once? Take example from your friends." ("base", xpos="far_left", ypos="head") + her @ tears mascara "Let go... You tell me to--" ("angry", "wide", "worried", "mid") + her @ tears mascara "I'm leaving, [name_genie_hermione]." ("upset", "base", "angry", "R") + + label .end: + + call her_walk(action="leave") + + jump end_hermione_event + +label hg_pr_cumslut_e2_return: + + call her_walk(action="enter", xpos="mid", ypos="base") + + if _cum_location == "legs": + # Cum on legs + + $ hermione.set_cum(legs="heavy") + + her "... I did it, [name_genie_hermione]." ("annoyed", "happy", "base", "mid", xpos="mid", ypos="base", trans=fade) + her "I kept your cum on me all day." ("normal", "base", "base", "R") + + if _events_filtered_completed_all: + menu: + "\"Good Work!\"": + her "Thank you [name_genie_hermione], will that be all?" ("soft", "base", "base", "mid") + gen "Yes [name_hermione_genie], you may leave now." ("base", xpos="far_left", ypos="head") + + jump hg_pr_cumslut_e2_return.end + + "\"Tell me about your day.\"": + pass + + gen "Tell me how your day went." ("base", xpos="far_left", ypos="head") + her "It was a pretty normal day, well, except for Luna..." ("open", "closed", "worried", "mid") + gen "What happened with Miss Lovegood?" ("base", xpos="far_left", ypos="head") + her "She kept trying to tell me that a Cornish pixie had left me a 'present'." ("annoyed", "narrow", "angry", "R") + gen "I have been called many things, but a cornish pixie? That's a first." ("base", xpos="far_left", ypos="head") + her "I didn't know what she was talking about at first. Cornish pixies are nasty little things that would never do anything nice." ("disgust", "narrow", "base", "mid_soft") + gen "(I've walked into that one...)" ("base", xpos="far_left", ypos="head") + gen "Well, what happened afterwards?" ("base", xpos="far_left", ypos="head") + her "I asked her to explain herself, and then she ran a finger up my leg, scooping up some of your cum!" ("angry", "base", "base", "mid_soft") + gen "Really?" ("base", xpos="far_left", ypos="head") + her "That's not all--" ("angry", "narrow", "base", "mid_soft") + her "She then put the slimy finger in her mouth, and gave it a taste!" ("open_tongue", "narrow", "base", "mid_soft") + gen "I don't believe you." ("base", xpos="far_left", ypos="head") + her "Oh believe me, I was just as shocked as you are right now." ("open", "closed", "base", "mid") + gen "I'll say this, you certainly have made this old man very happy." ("grin", xpos="far_left", ypos="head") + her "I'm glad, [name_genie_hermione]..." ("soft", "narrow", "worried", "L") + + elif _cum_location == "chest": + # Cum on shirt + + $ hermione.set_cum(breasts="heavy", body="light") + + her "... I did it, [name_genie_hermione]." ("normal", "happyCl", "worried", "mid", xpos="mid", ypos="base", trans=fade) + her "I kept your cum on me all day." ("angry", "happyCl", "worried", "mid",emote="sweat") + + if _events_filtered_completed_all: + menu: + "\"Good Work!\"": + her "Thank you [name_genie_hermione], will that be all?" ("annoyed", "base", "worried", "R") + gen "Yes [name_hermione_genie], you may leave now." ("base", xpos="far_left", ypos="head") + + jump hg_pr_cumslut_e2_return.end + + "\"Tell me about your day.\"": + pass + + gen "Tell me how your day was." ("base", xpos="far_left", ypos="head") + her "I had Defence against the dark arts class and then Herbology." ("annoyed", "base", "worried", "R") + gen "..." ("base", xpos="far_left", ypos="head") + her "R-right... I'll get to the point." ("grin", "happyCl", "worried", "mid") + her "I think most people noticed the stains, [name_genie_hermione]. I'm not sure if they all knew it was cum, though." ("open", "narrow", "worried", "down") + gen "How did that make you feel?" ("base", xpos="far_left", ypos="head") + her "Cheap... Facing everyone pointing out the stains and me trying to explain them was hard..." ("disgust", "narrow", "worried", "L") + gen "Was it as difficult as making the choice to skip on free points?" ("base", xpos="far_left", ypos="head") + her "I suppose not... As long as it makes you happy." ("open", "narrow", "worried", "mid") + gen "I'm glad to hear it. You are dismissed." ("base", xpos="far_left", ypos="head") + + else: + # Cum on face + + $ hermione.set_cum(face="heavy", hair="light") + + her @ tears mascara "... I did it, [name_genie_hermione]." ("normal", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) + her @ tears mascara "I kept your cum on my face...{w=0.8} all day." ("soft", "narrow", "low", "mid") + + if _events_filtered_completed_all: + menu: + "\"Good Work!\"": + her @ tears mascara "..." ("annoyed", "narrow", "base", "dead") + gen "Well [name_hermione_genie], you may leave now." ("base", xpos="far_left", ypos="head") + her @ tears mascara "Did I at least make you happy?" ("open", "narrow", "annoyed", "mid") + gen "You did." ("base", xpos="far_left", ypos="head") + her @ tears mascara "I'm glad..." ("annoyed", "closed", "base", "mid") + + jump hg_pr_cumslut_e2_return.end + + "\"Tell me about your day.\"": + pass + + gen "Are you alright?" ("base", xpos="far_left", ypos="head") + her @ tears mascara "What do you think.." ("angry", "narrow", "worried", "mid") + gen "......Could you tell me what happened?" ("base", xpos="far_left", ypos="head") + her @ tears mascara "You want to know what happened...?" ("angry", "happy", "angry", "mid") + her @ tears mascara "Oh, you know, it was a completely normal day!" ("angry", "narrow", "angry", "mid") + gen "Really? Nothing strange happened at all?" ("base", xpos="far_left", ypos="head") + her @ tears mascara "No. Everyone treated me how I deserved to be treated." ("scream", "closed", "angry", "mid") + gen "And how's that?" ("base", xpos="far_left", ypos="head") + her @ tears mascara "Like a slut..." ("disgust", "base", "angry", "mid") + her @ tears mascara "Boys catcalled me..." ("annoyed", "narrow", "angry", "R") + her @ tears mascara "Girls have mocked me... Put me down..." ("mad", "closed", "worried", "mid") + her @ tears mascara_soft "Snape made me stand in front of others during one of his classes." ("angry", "base", "base", "mid") + gen "What for? Did he ask you to do something?" ("base", xpos="far_left", ypos="head") + her @ tears mascara_soft_blink "No, he asked nothing of me... He just made me stood there, with everyone looking at me..." ("angry", "happyCl", "worried", "mid") + gen "Did your friends say anything?" ("base", xpos="far_left", ypos="head") + her @ tears mascara_soft "That's the worst part. They said nothing." ("angry", "base", "worried", "mid") + her @ tears mascara_soft_blink "It's like they don't even care what I'm doing for them." ("angry", "happyCl", "worried", "mid") + gen "......" ("base", xpos="far_left", ypos="head") + her @ tears mascara "......" ("annoyed", "closed", "worried", "mid") + her @ tears mascara_soft "Did I...{w=0.5} make you happy at least?" ("soft", "narrow", "worried", "mid") + gen "You did more than that, you've made me very proud." ("base", xpos="far_left", ypos="head") + her "Really?" ("base", "narrow", "worried", "mid", tears="mascara") + gen "Truly." ("base", xpos="far_left", ypos="head") + + her "(............)" ("soft", "narrow", "worried", "mid") + gen "Do you have something more to say?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "N-no, have a goodnight, [name_genie_hermione]." ("open", "narrow", "worried", "R") + gen "Goodnight, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + + $ hermione.set_face(tears=False) + + label .end: + + call her_walk(action="leave") + + jump end_hermione_event + +label hg_pr_cumslut_e3_return: + + call her_walk(action="enter", xpos="mid", ypos="base") + + if _cum_location == "chest": + # Cum on shirt + + $ hermione.set_cum(breasts="heavy") + + nar "Hermione returns to your office, her breasts still stained with the remains of your mighty load." + her "......[name_genie_hermione]." ("annoyed", "squint", "angry", "R", xpos="mid", ypos="base", trans=fade) + gen "Oh, did you finish your task--" ("base", xpos="far_left", ypos="head") + her "What do you think?!" ("angry", "happyCl", "worried", "mid", emote="sweat") + gen "(*Hmm*)" ("base", xpos="far_left", ypos="head") + + if _events_filtered_completed_all: + menu: + "\"Good Work!\"": + her "......" ("base", "base", "base", "mid") + gen "You may leave now." ("base", xpos="far_left", ypos="head") + + jump hg_pr_cumslut_e3_return.end + + "\"Tell me about your day.\"": + pass + + gen "Tell me what's up." ("base", xpos="far_left", ypos="head") + her "Your school sucks, that's what is up!" ("annoyed", "narrow", "angry", "R") + gen "I guess school sucks for some more, while others do the sucking." ("grin", xpos="far_left", ypos="head") + her "...*glares*..." ("annoyed", "narrow", "annoyed", "mid") + gen "*Ahem* Please, go on." ("base", xpos="far_left", ypos="head") + her "After I left your office, I was close to having a panic attack, so I rushed towards the bathrooms." ("annoyed", "narrow", "angry", "R") + her "Unfortunately for me, the bathrooms were occupied by a bunch of sluts from Slytherin..." ("open", "narrow", "angry", "R") + gen "Interesting." ("base", xpos="far_left", ypos="head") + her "So, as soon as I entered, they noticed my state of disarray... And the white stains on my chest." ("angry", "narrow", "angry", "down") + her "I tried to hide it, and rush inside one of the stalls, but as soon as tried to go past them--" ("open", "narrow", "angry", "R") + her "--one of them grabbed me by the arm, and asked me if I blew a Gallopogriff, because, here I quote--" ("open", "narrow", "worried", "L") + her "\"nobody cums that much\"..." ("annoyed", "narrow", "angry", "mid") + gen "(Little do they know...)" ("base", xpos="far_left", ypos="head") + gen "What happened then?" ("base", xpos="far_left", ypos="head") + her "You won't believe it..." ("angry", "narrow", "angry", "R") + gen "Try me." ("base", xpos="far_left", ypos="head") + her "She... She started a conversation with me." ("upset", "narrow", "angry", "mid") + gen "That's all? She just wanted to have a chat with you?" ("base", xpos="far_left", ypos="head") + her "What do you mean 'that's all'?" ("open", "happy", "angry", "mid") + her "Me, a Gryffindor, chit-chatting with the enemy?!" ("angry", "happy", "angry", "mid") + gen "I think you're exaggerating a little..." ("base", xpos="far_left", ypos="head") + gen "She's still one of my students, you know." ("base", xpos="far_left", ypos="head") + her "True... But still..." ("annoyed", "narrow", "angry", "R") + gen "Anyway, what happened next?" ("base", xpos="far_left", ypos="head") + her "Well... I was so shooked that I didn't really know what to do so..." ("open", "narrow", "angry", "mid") + her @ cheeks blush "I went with the flow, and skipped class." ("annoyed", "narrow", "angry", "R") + gen "You \"went with the flow\", *huh*?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Y-yes, that's one of the expressions I learned from our interaction." ("annoyed", "narrow", "low", "R") + gen "Sounds to me like you've had a positive interaction with one of the Slytherins." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "That may be true, but she's still a Slytherin, and one good egg doesn't make the others smell any less!" ("angry", "narrow", "angry", "R") + gen "It looks like you're deflecting the fact that not all Slytherins are bad, but if you say so." ("base", xpos="far_left", ypos="head") + her "*Hmph*..." ("annoyed", "narrow", "angry", "R") + gen "I think I've heard enough for now." ("base", xpos="far_left", ypos="head") + gen "Dismissed." ("base", xpos="far_left", ypos="head") + + else: + # Cum on face + + $ hermione.set_cum(face="heavy", hair="light") + + nar "Hermione returns to your office, her face caked with patches of cum." + her @ cheeks blush "I did it, [name_genie_hermione]." ("angry", "happy", "base", "down", xpos="mid", ypos="base", trans=fade) + her @ cheeks blush "I kept your cum on me all day." ("open", "narrow", "base", "R") + + if _events_filtered_completed_all: + + menu: + "\"Good Work!\"": + her "Thank you, [name_genie_hermione]. Is that everything?" ("soft", "happy", "base", "R") + gen "Yes [name_hermione_genie], you can go clean up now." ("base", xpos="far_left", ypos="head") + + jump hg_pr_cumslut_e3_return.end + + "\"Tell me about your day.\"": + pass + + her @ cheeks blush "As for my day..." ("upset", "happy", "base", "R") + her @ cheeks blush "It was a normal day [name_genie_hermione]. Well. Whatever the new normal is for me now." ("soft", "narrow", "annoyed", "R") + her @ cheeks blush "I got called names again, and some of the boys asked me if I wanted \"a refill\"." ("open", "narrow", "base", "L") + her @ cheeks blush "Cho Chang has caught a glimpse of me before class, and started laughing..." ("angry", "narrow", "worried", "down") + gen "And how did that make you feel?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Embarrased..." ("disgust", "narrow", "base", "mid") + gen "Would it help knowing she went through the same thing?" ("base", xpos="far_left", ypos="head") + her "D-did she?" ("shock", "base", "worried", "mid") + gen "You know me. What do you think?" ("base", xpos="far_left", ypos="head") + her "... I guess that's a yes." ("grin", "narrow", "annoyed", "mid") + her "I'll throw it at her face the next time I see her! The slut will never see it coming!" ("grin", "narrow", "annoyed", "up") + gen "(I hope a little competition between them doesn't hurt...)" ("base", xpos="far_left", ypos="head") + gen "I think we're done here. Good work, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Thank you, [name_genie_hermione]." ("grin", "happy", "worried", "mid") + + label .end: + + call her_walk(action="leave") + + jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/shaming/panty_thief.rpy b/game/scripts/characters/hermione/events/shaming/panty_thief.rpy deleted file mode 100644 index c0b0ec26..00000000 --- a/game/scripts/characters/hermione/events/shaming/panty_thief.rpy +++ /dev/null @@ -1,460 +0,0 @@ - -label hg_ps_get_panties: - # Public shaming: Panty thief - hide hermione_main - with d3 - gen "{size=-4}(I could ask her to take off her panties and give them to me before she leaves for classes today.){/size}" ("base", xpos="far_left", ypos="head") - - menu: - "\"(Yes, let's do it!)\"": - pass - "\"(Not right now.)\"": - jump hermione_favor_menu - - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "I am listening, [genie_name]." (xpos="right",ypos="base") - gen "I will need your panties..." ("base", xpos="far_left", ypos="head") - - if not hg_strip.trigger: - jump too_much - - elif hg_ps_get_panties.points == 0: - stop music fadeout 10.0 - - her "W-what?" ("open", "base", "worried", "mid") - her "My... panties...?" - her "[genie_name], this is--" - gen "This is the favour I will be buying from you today, [hermione_name]..." ("base", xpos="far_left", ypos="head") - gen "If you are not interested you are more than welcome to leave." ("base", xpos="far_left", ypos="head") - her "No, I am interested. I am.... it's just..." - her "You need my..." - - call play_music("chipper_doodle") - - her "... panties, [genie_name]?" ("angry", "base", "angry", "mid") - gen "Yes I do..." ("base", xpos="far_left", ypos="head") - her "May I ask what you are planning to do with them...?" ("disgust", "narrow", "base", "mid_soft") - gen "*Ehm*... I'm conducting research..." ("base", xpos="far_left", ypos="head") - her "But this is kind of inappropriate, don't you think?" - gen "But don't you hate it that some of the girls from Slytherin..." ("base", xpos="far_left", ypos="head") - gen "Are selling favours for house points, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes I do!" ("angry", "base", "angry", "mid") - her "(Those Slytherin tramps have no dignity.)" ("annoyed", "narrow", "angry", "R") - gen "Well, there you go then!" ("base", xpos="far_left", ypos="head") - her "*huh*?" ("disgust", "narrow", "base", "mid_soft") - gen "Beat them at their own game!" ("base", xpos="far_left", ypos="head") - her "What?" ("open", "base", "base", "mid") - gen "Yes! Don't just put the Gryffindor house back on top..." ("base", xpos="far_left", ypos="head") - gen "But do it by beating them at their own game!" ("base", xpos="far_left", ypos="head") - her "[genie_name]..." ("open", "base", "worried", "mid") - gen "As headmaster, I cannot play favourites. But you know how I feel about Gryffindor..." ("base", xpos="far_left", ypos="head") - gen "I wish I could give you the points but that would ruin the system..." ("base", xpos="far_left", ypos="head") - hide hermione_main - with d3 - - if hermione.is_worn("panties"): - $ hermione.strip("robe", "accessory") - $ hermione.strip("panties") - call nar(">Suddenly Hermione bends forward and takes off her panties.","start") - else: - if hermione.is_any_worn("robe", "top", "bottom"): - call nar(">Suddenly Hermione reaches inside one of her hidden pockets.","start") - else: - call nar(">Suddenly Hermione reaches inside--","start") - call nar(">Wait, she's not exactly clothed...{w=0.4} Well then...") - call nar(">By some kind of magic, a pair of panties suddenly appears in her hand.") - - call nar(">She extends her arm to you, clutching a little piece of fabric in her fist.","end") - gen "??!" ("base", xpos="far_left", ypos="head") - her "Just take them, [genie_name]..." ("mad", "base", "worried", "mid", tears="soft") - call nar(">Slightly surprised, you take the panties from her hand.") - gen "What? When did you?" ("base", xpos="far_left", ypos="head") - her "Your speech was so moving..." - her "You are so right, [genie_name]! I shall beat them at their own game!" - her "My classes are about to start, so I should probably go now..." - her "..........." ("normal", "base", "base", "R",tears="soft") - her "I hope nobody will notice that I have no underwear on today..." ("annoyed", "base", "worried", "R") - her "Oh, and I will be back tonight to pick them up, [genie_name]." ("open", "base", "base", "mid") - gen "Of course. Your panties will be right here on my desk, waiting for you..." ("base", xpos="far_left", ypos="head") - her "............." ("angry", "happyCl", "worried", "mid",emote="sweat") - - else: - label dev: - if hg_ps_get_panties.points > 0: - her "Again, [genie_name]?" - gen "Yes, again..." ("base", xpos="far_left", ypos="head") - - her "Here..." - - if her_whoring >= 12: - hide hermione_main - with d3 - - if hermione.is_worn("panties"): - $ hermione.strip("robe", "accessory") - $ hermione.strip("panties") - call nar(">Suddenly Hermione bends forward and takes off her panties.", "start") - else: - if hermione.is_any_worn("top", "bottom"): - call nar(">Hermione pulls her panties out of her pocket.", "start") - else: - call nar(">Suddenly Hermione reaches inside--","start") - call nar(">Wait, she's not exactly clothed...{w=0.4} Well then...") - call nar(">By some kind of magic, a pair of panties suddenly appears in her hand.") - - call nar(">She casually throws them on your desk.", "end") - - gen "What?" ("base", xpos="far_left", ypos="head") - her "Yes, I had a feeling that you might ask for these today, [genie_name]." ("base", "base", "base", "mid") - gen "A feeling?" ("base", xpos="far_left", ypos="head") - her "Well, to be completely honest I just do not bother to wear them much anymore..." ("grin", "base", "base", "R") - - if hermione.is_equipped("panties"): - her "Unless I'm asked to, that is..." - - else: - hide hermione_main - with d3 - - if hermione.is_worn("panties"): - $ hermione.strip("robe", "accessory") - $ hermione.strip("panties") - call nar(">Hermione takes off her panties without hesitation.", "start") - else: - if hermione.is_any_worn("top", "bottom"): - call nar(">Suddenly Hermione reaches inside one of her hidden pockets.", "start") - else: - call nar(">Suddenly Hermione reaches inside--", "start") - call nar(">Wait, she's not exactly clothed...{w=0.4} Well...") - call nar(">Magically, a pair of panties suddenly appears in her hand.") - - call nar(">She casually throws the offending underwear on your desk.", "end") - - her "Classes are about to start, so I'd better go now..." ("soft", "base", "base", "mid") - - call her_walk(action="leave") - - call give_reward(_(">You have acquired Hermione's panties!"), "interface/icons/panties.webp") - $ hg_ps_get_panties.inProgress = True - - jump end_hermione_event - - -label hg_cum_on_panties_response: - # Hermione responds the cum on her panties - - call give_reward(_("> You hand over the panties..."), "interface/icons/panties_cum.webp") - - if her_tier == 2: - her "*Hmm*....?" ("annoyed", "narrow", "worried", "down",xpos="right",ypos="base") - her "[genie_name]? What is this?" ("angry", "base", "angry", "mid") - her "What have you done to them?" - her "They are covered in something slimy..." ("normal", "squint", "angry", "mid") - - menu: - "\"An experiment went wrong\"": - her "An experiment went wrong, [genie_name]?" ("open", "base", "base", "mid") - gen "Yes... Or maybe I should rather say..." ("base", xpos="far_left", ypos="head") - gen "\"An experiment went very right\"? *He-he*..." ("grin", xpos="far_left", ypos="head") - her ".....................?" ("normal", "squint", "angry", "mid") - her "What kind of experiment was it?" - gen "What? Oh..." ("base", xpos="far_left", ypos="head") - gen "Some top secret research I'm conducting." ("base", xpos="far_left", ypos="head") - gen "I can't discuss it with a student." ("base", xpos="far_left", ypos="head") - her "................................" ("angry", "base", "angry", "mid") - "\"You gave them to me like this!\"": - her "I most certainly did not, [genie_name]!" - her ".........................." - - her "Well, these will require some serious cleaning before I can put them on again..." ("annoyed", "narrow", "worried", "down") - gen "Or you could put them on now." ("base", xpos="far_left", ypos="head") - her "What?" ("open", "base", "base", "mid") - her "I really would rather not, [genie_name]..." ("soft", "base", "base", "R") - - menu: - "\"Put them on or lose the points!\"": - $ her_mood +=7 - her "What?" ("scream", "wide", "base", "mid") - her "[genie_name], you are joking, right?" - gen "I am not..." ("base", xpos="far_left", ypos="head") - her "B-but..." ("open", "base", "base", "mid") - her "........................................" ("normal", "happyCl", "worried", "mid") - her "{size=-5}Must you always have your way, [genie_name]?{/size}" ("angry", "base", "angry", "mid") - gen "What was that, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "It's nothing, [genie_name]." ("scream", "closed", "angry", "mid") - her "Putting my panties back on!" - hide hermione_main - call nar(">Hermione hesitantly puts on her panties.","start") - - if hermione.is_equipped("panties"): - $ hermione.wear("panties") - else: - $ hermione.equip(her_panties_base1) - - call nar(">A tiny stream of cum trickles down her leg.") - call nar(">Hermione looks very uncomfortable.","end") - her "......................" ("angry", "happyCl", "worried", "mid",emote="sweat") - - "\"Well, suit yourself...\"": - pass - - her "And my payment?" ("open", "base", "base", "mid") - - elif her_tier == 3: - her "My panties..." ("annoyed", "narrow", "worried", "down",xpos="right",ypos="base") - her "What happened to them [genie_name]?" ("annoyed", "narrow", "worried", "down") - - menu: - "\"An experiment went wrong.\"": - her "*Hmm*..." - her "I see..." - - "\"You gave them to me like this!\"": - her "Did I? Oh, well..." - - hide hermione_main - call nar(">Hermione gives her cum-soaked underwear a quizzical look.") - her "Seems like these will require some serious cleaning before I can put them on again..." ("annoyed", "narrow", "worried", "down") - gen "Why not put them on now?" ("base", xpos="far_left", ypos="head") - her "*Hmm*...?" ("annoyed", "squint", "base", "mid") - her "Well, I suppose I could wear them one more time before putting them into laundry..." ("annoyed", "narrow", "worried", "down") - hide hermione_main - call nar(">Hermione puts on the panties.") - - if hermione.is_equipped("panties"): - $ hermione.wear("panties") - else: - $ hermione.equip(her_panties_base1) - - her "(This feels funny...)" ("angry", "happyCl", "worried", "mid",emote="sweat") - her "And my payment, [genie_name]?" ("upset", "wink", "base", "mid") - - - elif her_tier == 4: - her "My panties..." ("annoyed", "narrow", "worried", "down",xpos="right",ypos="base") - her "They are covered in something slimy..." - her "And they smell funny..." - her "*Hmm*... That smell..." ("annoyed", "base", "worried", "R") - her "It's familiar somehow..." - her "What exactly did you do to them, [genie_name]?" ("base", "base", "base", "mid") - - menu: - "\"An experiment went wrong\"": - her "An experiment, *huh*?" - her "Of what nature?" - her "No, don't answer that... I think I know..." ("smile", "base", "base", "R") - - "\"You gave them to me like this!\"": - her "I don't think so, [genie_name]." - her "But it's alright if you don't want to tell me, [genie_name]..." - her "I think I know exactly what happened to them..." - - "\"I came all over them!\"": - her "I knew it..." ("smile", "narrow", "base", "mid_soft") - her "They reek of semen!" - - her "*Hmm*..." ("grin", "base", "base", "R") - her "Seems like these will require some serious cleaning before I can put them on..." - her "Unless you want me to put them on now, [genie_name]...?" ("smile", "narrow", "base", "mid_soft") - - menu: - "\"Yes! Put them on now, [hermione_name]!\"": - her "Well, if I must..." - - "\"I don't care. Do what you want.\"": - her "Why not put them on one more time?" - - her "I am only doing this to give my house a fair chance at winning the cup this year..." ("base", "happyCl", "base", "mid") - gen "Right..." ("base", xpos="far_left", ypos="head") - hide hermione_main - call nar(">Hermione swiftly slides into her drenched panties...") - - if hermione.is_equipped("panties"): - $ hermione.wear("panties") - else: - $ hermione.equip(her_panties_base1) - - gen "You can go now." ("base", xpos="far_left", ypos="head") - her "What about my points?" ("scream", "closed", "angry", "mid") - gen "You still want points after I just gave you a gift?" ("base", xpos="far_left", ypos="head") - her "What gift?" - gen "You're wearing it." ("base", xpos="far_left", ypos="head") - her "What, semen soaked panties?" - gen "If you'd prefer the points then just take them off." ("base", xpos="far_left", ypos="head") - her "well... I am already wearing them!" ("annoyed", "base", "worried", "R") - gen "Then say \"thank you\" for the gift." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]...{w=0.3} for the gift." ("annoyed", "squint", "base", "mid") - gen "You can go now." ("base", xpos="far_left", ypos="head") - her "Good night, [genie_name]." - - elif her_tier >= 5: - her "My panties..." ("base", "narrow", "base", "up",xpos="right",ypos="base") - her "You came all over them..." - her "*Hmm*..." ("grin", "base", "base", "R") - her "Seems like these will require some serious cleaning before I can put them on..." - her "Unless you want me to put them on now, [genie_name]...?" ("smile", "narrow", "base", "mid_soft") - - menu: - "\"Yes! Put them on now, [hermione_name]!\"": - her "Yes [genie_name]..." - her "I am only doing this to give my house a fair chance at winning the cup this year." ("smile", "happyCl", "base", "mid") - her "I don't like how it feels at all..." ("base", "narrow", "base", "up") - gen "Right..." ("base", xpos="far_left", ypos="head") - hide hermione_main - call nar(">Hermione swiftly slides her drenched panties on...") - - if hermione.is_equipped("panties"): - $ hermione.wear("panties") - else: - $ hermione.equip(her_panties_base1) - - her "..." ("soft", "narrow", "annoyed", "up") - "\"Why don't you clean them now?\"": - her "Clean them How? You don't have a wash basin in here." ("open", "base", "base", "mid") - gen "You're right, you'll have to use your mouth then." ("base", xpos="far_left", ypos="head") - her "My mouth?!" ("scream", "wide", "base", "mid") - gen "What's the big deal? It wouldn't be the first time you've tasted my cum." ("base", xpos="far_left", ypos="head") - her "It's a bit different! I wore these panties before I gave them to you." ("scream", "closed", "angry", "mid") - her "Not to mention that your cum is all cold and slimy..." ("scream", "happyCl", "worried", "mid") - gen "Well in that case hand them back." ("base", xpos="far_left", ypos="head") - her "What? Can't I just put them on?" ("angry", "wink", "base", "mid") - gen "I'm afraid not, you clean them now or you hand them back." ("base", xpos="far_left", ypos="head") - her "{size=-4}Fine...{/size}" ("angry", "narrow", "base", "down") - gen "What was that?" ("base", xpos="far_left", ypos="head") - her "I said I'll clean them ok!" ("shock", "happyCl", "worried", "mid") - gen "Well..." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "narrow", "base", "down") - call nar(">Hermione reluctantly puts her cum-soaked panties in her mouth.") - $ renpy.play('sounds/gltch.ogg') - her "*Mmmmhhhhh*!" ("full_panties", "slit", "worried", "ahegao") - gen "That's it, not as bad as you thought now is it?" ("base", xpos="far_left", ypos="head") - her "..." ("full_panties", "slit", "low", "stare") - gen "Make sure you get them nice and clean now..." ("base", xpos="far_left", ypos="head") - call play_sound("gulp") - her "*gulp*" ("full_panties", "narrow", "worried", "down",cheeks="blush") - gen "That's it. Do you think they're clean yet?" ("base", xpos="far_left", ypos="head") - her "*Mmmhhhmmm*" ("full_panties", "narrow", "base", "dead") - gen "Open your mouth, [hermione_name]." ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/gltch.ogg') - her "*Ahhhhh*" ("open_wide_tongue_panties", "narrow", "annoyed", "up") - gen "That's a good girl, your panties are now nice and clean." ("base", xpos="far_left", ypos="head") - gen "You can take them out now." ("base", xpos="far_left", ypos="head") - her "...." ("angry", "happyCl", "worried", "up") - - gen "You can go..." ("base", xpos="far_left", ypos="head") - her "yes, [genie_name]..." ("angry", "narrow", "base", "down") - gen "After you say \"thank you\"..." ("base", xpos="far_left", ypos="head") - her "Thank you for what?" ("angry", "wink", "base", "mid") - gen "For my cum." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "worried", "down") - her "Thank you for your cum, [genie_name]..." ("grin", "narrow", "base", "dead") - gen "You may go now." ("base", xpos="far_left", ypos="head") - her "Good night, [genie_name]." - - $ achievements.unlock("pantiesfap") - jump back_from_soaked - - -label hg_ps_get_panties_complete: - # Hermione returns to get her panties back - - $ hermione.strip("panties") - - call her_walk(action="enter", xpos="mid", ypos="base") - - her "Good evening, [genie_name]..." ("base", "base", "base", "mid",xpos="right",ypos="base") - call play_music("chipper_doodle") - - menu: - "\"Here are your panties.\"": - if her_panties_soaked: - jump hg_cum_on_panties_response - else: - her "And my payment?" - - "\"How was your day, [hermione_name]?\"": - if her_tier == 2: - her "Oh..." ("soft", "base", "base", "mid",xpos="base",ypos="base", trans=d5) - her "Quite ordinary actually..." - her "Although... I couldn't help but worry that somebody would notice somehow..." ("soft", "base", "base", "R") - her "....." ("annoyed", "base", "worried", "R") - her "Can I have my panties back now?" ("open", "base", "base", "mid",xpos="right",ypos="base",trans=fade) - gen "Of course..." ("base", xpos="far_left", ypos="head") - hide hermione_main - with d3 - call nar(">You give Hermione her panties back.") - if her_panties_soaked: - jump hg_cum_on_panties_response - else: - her "And my payment?" ("open", "base", "base", "mid") - - elif her_tier == 3: - her "Oh..." ("soft", "base", "base", "mid",xpos="base",ypos="base", trans=d5) - her "It was quite ordinary really..." - her "I spent some time with my classmates..." - her "And we had a short \"MRM\" meeting after that..." - her "I gave a short speech on \"Why it is wrong to sell sexual favours in exchange for house points\"..." ("open", "closed", "base", "mid") - her "I felt bad that I had to give the speech without any underwear on..." ("annoyed", "narrow", "angry", "R") - her "" (xpos="right",ypos="base",trans=fade) - - menu: - "\"You little hypocrite!\"": - $ her_mood +=5 - her "[genie_name]?" ("open", "base", "base", "mid") - gen "You sold your panties to me this morning..." ("base", xpos="far_left", ypos="head") - gen "And a couple of hours later you already publicly condemned that exact behaviour..." ("base", xpos="far_left", ypos="head") - #gen "What would you call this?" ("base", xpos="far_left", ypos="head") - #her "I know you are right, [genie_name]..." ("annoyed", "narrow", "angry", "R") - her "(But we need the points...)" ("annoyed", "narrow", "angry", "R") - her "Can I have my payment now please?" ("disgust", "narrow", "base", "mid_soft") - gen "What about your panties?" ("base", xpos="far_left", ypos="head") - her "Oh, them too of course..." ("angry", "happyCl", "worried", "mid",emote="sweat") - if her_panties_soaked: - jump hg_cum_on_panties_response - - "\"It's for the greater good...\"": - her "Exactly!" - her "We need those points badly..." - her "It is not my fault that the system is so corrupted..." - her "I shall remain a symbol of righteousness to my peers, no matter what!" ("open", "closed", "base", "mid") - her "Can I have my panties back now, please?" ("open", "base", "base", "mid") - if her_panties_soaked: - jump hg_cum_on_panties_response - else: - her "And my payment." - - elif her_tier >= 4: - her "Another ordinary day at hogwarts..." ("open", "closed", "base", "mid",xpos="base",ypos="base", trans=d5) - her "Nothing worth mentioning happened today..." - her "Although I have to admit..." ("annoyed", "base", "worried", "R") - her "It was oddly empowering to have no underwear on..." - her "*Hmm*..." - her "Can I have my panties back now please?" ("base", "base", "base", "mid",xpos="right",ypos="base",trans=fade) - gen "Of course..." ("base", xpos="far_left", ypos="head") - hide hermione_main - with d3 - call nar(">You give Hermione her panties back.") - if her_panties_soaked: - jump hg_cum_on_panties_response - else: - her "And my payment?" ("base", "base", "base", "mid") - - label back_from_soaked: - if not her_panties_soaked or her_tier < 4: - gen "Yes, yes..." ("base", xpos="far_left", ypos="head") - $ gryffindor +=15 - gen "Fifteen points to Gryffindor, [hermione_name]. Well deserved." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]..." - gen "You can go now." ("base", xpos="far_left", ypos="head") - her "Good night, [genie_name]." - #gen "Yes, good night..." ("base", xpos="far_left", ypos="head") - - call her_walk(action="leave") - - $ hg_ps_get_panties.counter += 1 - $ hg_ps_get_panties.points += 1 - - $ hg_ps_get_panties.inProgress = False - $ her_panties_soaked = False - - jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/shaming/wear_my_cum.rpy b/game/scripts/characters/hermione/events/shaming/wear_my_cum.rpy deleted file mode 100644 index 0f6c0cb2..00000000 --- a/game/scripts/characters/hermione/events/shaming/wear_my_cum.rpy +++ /dev/null @@ -1,813 +0,0 @@ - -label hg_ps_cumslut: - # Public shaming: Wear cum - # TODO: Some events need to be rewritten so they follow cum layers limitations and actual game progression. - # Additionally, they should be converted into the event class. - hide hermione_main - with d3 - - gen "{size=-4}(Should I ask her to walk around with my cum on her?){/size}" ("base", xpos="far_left", ypos="head") - menu: - "\"(Yes, let's do it!)\"": - pass - "\"(Not right now.)\"": - jump hermione_favor_menu - - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]." (xpos="right", ypos="base") - - call play_music("playful_tension") - gen "Today I have another small favour to ask of you." ("base", xpos="far_left", ypos="head") - her "What is it?" ("base", "base", "base", "mid") - gen "I'd like you to attend class..." ("base", xpos="far_left", ypos="head") - her "Of course..." ("base", "base", "base", "mid") - gen "After I cum on you." ("base", xpos="far_left", ypos="head") - - if her_whoring < 9: - jump too_much - elif her_whoring < 15: - jump hg_ps_cumslut_Scene_1 - elif her_whoring < 21: - jump hg_ps_cumslut_Scene_2 - else: - jump hg_ps_cumslut_Scene_3 - -label hg_ps_cumslut_Scene_1: - $ hg_ps_cumslut.inProgress = True - - her "What?!?" ("shock", "wide", "base", "stare") - her "You can't be serious!" ("angry", "base", "angry", "mid") - her "It's bad enough that I let you cum on me in private!" ("annoyed", "narrow", "annoyed", "mid") - her "But in public?" ("angry", "narrow", "annoyed", "mid", emote="angry") - her "I think I better leave..." ("annoyed", "base", "angry", "mid") - gen "Wait, wait, wait." ("base", xpos="far_left", ypos="head") - gen "What about if nobody could see it?" ("base", xpos="far_left", ypos="head") - her "Well... I suppose that would be alright..." ("annoyed", "narrow", "annoyed", "mid") - her "But what's the point if they can't see it?" ("annoyed", "base", "worried", "R") - gen "You'll know it's there." ("base", xpos="far_left", ypos="head") - her "*Hmm*..." ("annoyed", "narrow", "angry", "R") - her "How much will I be paid?" ("annoyed", "squint", "base", "mid") - gen "Thirty points." ("base", xpos="far_left", ypos="head") - her "Thirty?! I expect at least seventy for such a filthy act!" ("scream", "happyCl", "worried", "mid") - gen "Forty." ("base", xpos="far_left", ypos="head") - her "Sixty!" ("scream", "closed", "angry", "mid") - gen "Fifty points, final offer." ("base", xpos="far_left", ypos="head") - her "Okay, I'll do it." ("annoyed", "base", "worried", "R") - gen "Really?" ("base", xpos="far_left", ypos="head") - her "As long as nobody can see it then I don't see the big issue." ("annoyed", "narrow", "angry", "R") - gen "Splendid. Care to give me a hand?" ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "worried", "down") - - hide hermione_main - call blkfade - - call her_chibi_scene("hj", "desk", "base") - - call hide_blkfade - call ctc - - her "Why are you making me do this, [genie_name]?" ("angry", "base", "base", "mid", ypos="head", flip=False) - gen "What do you mean?" ("base", xpos="far_left", ypos="head") - her "Why are you making me jerk you off..." ("angry", "narrow", "base", "down") - her "So that you can cum on me..." ("soft", "narrow", "annoyed", "up") - her "And make me wear it around the school?" ("open", "happyCl", "worried", "mid") - gen "I'm not making you do anything." ("base", xpos="far_left", ypos="head") - gen "You're doing this because I asked you to." ("base", xpos="far_left", ypos="head") - her "But if I don't, Gryffindor will lose the house cup." ("shock", "happyCl", "worried", "mid") - gen "And?" ("base", xpos="far_left", ypos="head") - her "Harry and Ron will be so disappointed..." ("angry", "base", "worried", "mid") - gen "So that's why you are doing this? For those two boys?" ("base", xpos="far_left", ypos="head") - her "Sort of... I'm not sure that they'd be too upset though." ("annoyed", "base", "worried", "R") - gen "Are you sure it's not because you love it." ("base", xpos="far_left", ypos="head") - her "What?" ("upset", "wink", "base", "mid") - gen "Coming in here whenever I summon you." ("base", xpos="far_left", ypos="head") - gen "Doing whatever I tell you, whenever I tell you." ("base", xpos="far_left", ypos="head") - gen "Doing slutty things in front of your peers because I tell you." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "base", "down") - gen "I'll tell you what, I'll make things interesting." ("base", xpos="far_left", ypos="head") - gen "So long as I cum on you and you wear it around classes today, Gryffindor will get fifty points." ("base", xpos="far_left", ypos="head") - her "How does that make it interesting?" ("disgust", "narrow", "base", "mid_soft") - gen "Because I'll let you choose where I cum." ("base", xpos="far_left", ypos="head") - call nar(">You feel her hands tense around your cock.") - her "You're letting me choose?" ("smile", "base", "base", "R") - gen "Anywhere, as long as it's on you. It can be on your shoes for all I care." ("base", xpos="far_left", ypos="head") - her "Okay..." ("base", "happy", "base", "mid") - gen "Well hurry up [hermione_name], classes will start soon." ("base", xpos="far_left", ypos="head") - call nar(">She starts jerking your cock with renewed vigour.") - gen "So where are you going to hide it?" ("base", xpos="far_left", ypos="head") - her "I'm not sure." ("upset", "wink", "base", "mid") - her "I'm trying to think of somewhere no one will be able to see it." ("upset", "wink", "base", "mid") - gen "Well you better think of some place soon!" ("base", xpos="far_left", ypos="head") - her "Why's that?" ("angry", "wink", "base", "mid") - gen "Because I'm about to cum!" ("grin", xpos="far_left", ypos="head") - her "Already? Where should I--" ("angry", "wide", "base", "stare") - - menu: - #"-Stay Silent-": # TODO: rewrite so it doesn't require to be "under" shirt, but on top of the existing cloth (if any at all) - # Cum under shirt - #$ cum_location = 1 - - #call nar(">Hermione swiftly pulls her shirt up...","start") - #call nar(">You can feel her incredibly soft tits rubbing against the tip of your cock, making you cum!","end") - #gen "{size=+5}*ARGH*! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - - #call her_chibi_scene("hj_cum_in") - #call cum_block - - # TODO Cum under shirt layer - - #her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") - - #call her_chibi_scene("hj_cum_in_done") - #call ctc - - #her "Well, this shouldn't be too bad..." ("upset", "wink", "base", "mid") - #gen "I'm sure no one will notice." ("base", xpos="far_left", ypos="head") - #her "They better not." ("angry", "base", "angry", "mid") - - "\"Just keep on jerking, [hermione_name]!\"": - # Cum on skirt - $ cum_location = 2 - - call nar(">Hermione keeps jerking your cock, her eyes darting between it and herself.") - gen "Get ready whore, here it comes!" ("angry", xpos="far_left", ypos="head") - her "Wait, where am I supposed to--" ("angry", "base", "worried", "mid") - gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") - - call play_music("chipper_doodle") - - call her_chibi_scene("hj_cum_on") - call cum_block - - $ hermione.set_cum(crotch="light") - - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") - - $ hermione.set_cum(crotch="heavy") - - gen "That's it! All over you, slut!" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "worried", "down") - - call her_chibi_scene("hj_cum_on_done") - call ctc - - her "Will that be all, [genie_name]?" ("annoyed", "narrow", "annoyed", "up") - gen "I don't suppose you could kiss it for good luck?" ("base", xpos="far_left", ypos="head") - her "I don't think so." ("annoyed", "narrow", "angry", "R") - gen "Well then that should be all, [hermione_name]." ("base", xpos="far_left", ypos="head") - - "\"Take it on your head slut!\"": - # Cum on head - $ cum_location = 3 - - call nar(">Hermione bends down and holds your cock in front of her face.") - gen "Get ready slut, here it comes!" ("base", xpos="far_left", ypos="head") - her "..." ("scream", "wide", "base", "mid") - gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") - her "I can't..." ("clench", "narrow", "base", "down") - - call nar(">Hermione moves your cock away from her face at the last second.","start") - call nar(">You erupt over the top of her head, covering her hair in your spunk.","end") - - call play_music("chipper_doodle") - - call her_chibi_scene("hj_cum_on") - call cum_block - - $ hermione.set_cum(hair="light") - - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") - - $ hermione.set_cum(hair="heavy") - - gen "Yes! I Feel so much better now..." ("base", xpos="far_left", ypos="head") - her ".............." ("normal", "happyCl", "worried", "mid") - - call her_chibi_scene("hj_cum_on_done") - call ctc - - her "How could you!?" ("scream", "happyCl", "worried", "mid") - gen "How could I?" ("base", xpos="far_left", ypos="head") - her "You told me to let you cum on my hair!" ("scream", "closed", "angry", "mid") - gen "I did." ("base", xpos="far_left", ypos="head") - her "Why would you say something like that!?" ("mad", "happyCl", "worried", "mid", tears="soft_blink") - her "If I hadn't moved at the last second, my face would be covered!" ("angry", "base", "base", "mid", tears="soft") - gen "You didn't have to listen to me." ("base", xpos="far_left", ypos="head") - her "What?" ("angry", "base", "worried", "mid") - gen "I only said that you had to have my cum on you." ("base", xpos="far_left", ypos="head") - gen "I never said where." ("base", xpos="far_left", ypos="head") - her "You mean I didn't have to..." ("annoyed", "base", "worried", "R") - gen "Not at all." ("base", xpos="far_left", ypos="head") - - hide hermione_main - call blkfade - - ">You tuck your cock back into your robe." - - call gen_chibi("sit_behind_desk") - call her_chibi("stand","desk","base") - - call hide_blkfade - pause.2 - - call bld - gen "Oh and one last thing before you head to class." ("base", xpos="far_left", ypos="head") - her "Yes..." ("annoyed", "narrow", "annoyed", "mid") - gen "If you return to this office after classes without any cum on you, Slytherin will get two hundred points." ("base", xpos="far_left", ypos="head") - her "{size=+10}Two hundred!? That is not fair!{/size}" ("shock", "wide", "base", "stare") - gen "It's only unfair if you clean it off." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "base", "angry", "mid") - - call her_walk(action="leave") - - jump end_hermione_event - -label hg_ps_cumslut_Scene_2: - $ hg_ps_cumslut.inProgress = True - - her "Again?" ("shock", "wide", "base", "stare") - her "You can not be serious!?" ("angry", "base", "angry", "mid") - her "I already let you do this to me once, isn't that enough?" ("annoyed", "narrow", "annoyed", "mid") - gen "It's enough when I say it's enough." ("base", xpos="far_left", ypos="head") - gen "Besides, was it really such an issue last time?" ("base", xpos="far_left", ypos="head") - her "Well I guess not..." ("annoyed", "base", "base", "mid") - her "But will it still be hidden this time?" ("annoyed", "base", "worried", "R") - gen "That's up to you." ("base", xpos="far_left", ypos="head") - her "*Hmm*..." ("annoyed", "narrow", "angry", "R") - - her "How much will I be paid this time then?" ("annoyed", "squint", "base", "mid") - gen "Twenty points." ("base", xpos="far_left", ypos="head") - her "Twenty!? we agreed on fifty last time!" ("scream", "happyCl", "worried", "mid") - gen "Forty." ("base", xpos="far_left", ypos="head") - her "Seventy!" ("scream", "closed", "angry", "mid") - gen "Fifty points then, final offer." ("base", xpos="far_left", ypos="head") - her "Eighty and I'll let people see it." ("base", "narrow", "base", "mid_soft") - gen "Really?" ("base", xpos="far_left", ypos="head") - her "As long as it isn't too obvious." ("base", "narrow", "worried", "down") - gen "Deal." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "worried", "down") - - hide hermione_main - call blkfade - - call her_chibi_scene("hj", "desk", "base") - call hide_blkfade - call ctc - - her "Why are you asking me to do this [genie_name]?" ("angry", "base", "base", "mid", ypos="head", flip=False) - gen "This question again?" ("base", xpos="far_left", ypos="head") - gen "Let me answer your question with one of my own." ("base", xpos="far_left", ypos="head") - her "Okay..." ("angry", "narrow", "base", "down") - gen "Why are you jerking me off [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Because you asked me to..." ("soft", "narrow", "annoyed", "up") - gen "And is that the only reason?" ("base", xpos="far_left", ypos="head") - her "No..." ("open", "happyCl", "worried", "mid") - gen "Are you sure?" ("base", xpos="far_left", ypos="head") - gen "What is your other reason then?" ("base", xpos="far_left", ypos="head") - her "if I don't, Gryffindor will lose the house cup." ("shock", "happyCl", "worried", "mid") - gen "That lie again?" ("base", xpos="far_left", ypos="head") - her "It's not a lie..." ("angry", "base", "worried", "mid") - gen "So you'd rather win the house cup than make me happy?" ("base", xpos="far_left", ypos="head") - her "Maybe... Can't I do both?" ("annoyed", "base", "worried", "R") - gen "You can..." ("base", xpos="far_left", ypos="head") - her "Good." ("base", "happy", "base", "mid") - gen "But I want you to be honest." ("base", xpos="far_left", ypos="head") - gen "So I'm going to give you a choice." ("base", xpos="far_left", ypos="head") - gen "You can stop jerking me off right now, leave the room and I'll give you the eighty points. However, I'll be very upset." ("base", xpos="far_left", ypos="head") - her "or?" ("open", "base", "base", "mid") - gen "Or, you can keep jerking me off, wear my cum around the school and get no points." ("base", xpos="far_left", ypos="head") - her "NO POINTS?" ("scream", "happyCl", "worried", "mid") - gen "None. You will make an old man very happy though." ("base", xpos="far_left", ypos="head") - her "Can't you just pay me for wearing your cum?" ("angry", "happyCl", "worried", "mid", emote="sweat") - gen "No." ("base", xpos="far_left", ypos="head") - call nar(">You feel her hands tense around your cock.") - her "You're making me choose? Between getting eighty points for doing nothing." ("annoyed", "narrow", "annoyed", "mid") - her "Or getting paid nothing for wearing your cum around the school." ("angry", "narrow", "annoyed", "mid", emote="angry") - gen "Indeed I am [hermione_name]." ("base", xpos="far_left", ypos="head") - her "{size=-5}Okay...{/size}" ("disgust", "narrow", "base", "down") - gen "Well hurry up [hermione_name], classes will start soon, best make your decision." ("base", xpos="far_left", ypos="head") - call nar(">She starts jerking your cock with renewed vigour.") - her "..." ("annoyed", "squint", "base", "mid") - her "You better appreciate this." ("annoyed", "narrow", "angry", "R") - gen "Oh I'm appreciating it!" ("base", xpos="far_left", ypos="head") - her "Really?" ("open", "base", "base", "mid") - gen "You're about to see how much I'm appreciating it!" ("grin", xpos="far_left", ypos="head") - her "What, Already? Where should I--" ("angry", "wide", "base", "stare") - - menu: - "-Stay Silent-": - # Cum on legs - $ cum_location = 4 - - call nar(">Hermione keeps jerking your cock, her eyes darting between it and herself.") - gen "Get ready slut, here it comes!" ("angry", xpos="far_left", ypos="head") - her "Wait, where am I supposed to--" ("angry", "base", "worried", "mid") - gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") - - call play_music("chipper_doodle") - - call her_chibi_scene("hj_cum_on") - call cum_block - - $ hermione.set_cum(legs="light") - - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") - - $ hermione.set_cum(legs="heavy") - - gen "That's it, all over your milky thighs." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "worried", "down") - - call her_chibi_scene("hj_cum_on_done") - call ctc - - her "Will that be all [genie_name]?" ("annoyed", "narrow", "annoyed", "up") - gen "I don't suppose you could kiss it for good luck?" ("base", xpos="far_left", ypos="head") - her "...{w=0.5} ..." ("base", "narrow", "base", "up") - - hide hermione_main - call her_chibi_scene("hj_kiss") - $ renpy.play('sounds/kiss.ogg') - with kissiris - call ctc - - call her_chibi_scene("hj_cum_on_done") - gen "Good girl." ("base", xpos="far_left", ypos="head") - - "\"Just keep on jerking, [hermione_name]!\"": - # Cum on shirt - $ cum_location = 5 - - call nar(">Hermione keeps jerking your cock, her eyes focused intently on it.") - gen "Get ready whore, here I come!" ("angry", xpos="far_left", ypos="head") - her "..." ("angry", "base", "worried", "mid") - gen "{size=+5}*ARGH*! YES!!! RIGHT ON THOSE TITS!{/size}" ("grin", xpos="far_left", ypos="head") - - call play_music("chipper_doodle") - - call her_chibi_scene("hj_cum_on") - call cum_block - - $ hermione.set_cum(breasts="light", body="light") - - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") - - $ hermione.set_cum(breasts="heavy") - - gen "That's it! All over you, slut!" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "narrow", "worried", "down") - - call her_chibi_scene("hj_cum_on_done") - call ctc - - her "It's all over me." ("annoyed", "narrow", "annoyed", "up") - gen "That it is." ("base", xpos="far_left", ypos="head") - her "I think I should go now..." ("annoyed", "narrow", "worried", "down") - - "\"Take it on your face slut!\"": - # Cum on face - $ cum_location = 6 - - call nar(">Hermione bends down and holds your cock in front of her face.") - gen "Get ready slut, here it comes!" ("base", xpos="far_left", ypos="head") - her "..." ("scream", "wide", "base", "mid") - gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") - her "..." ("clench", "narrow", "base", "down") - call nar(">You erupt onto her face, dousing her in your spunk.") - - call play_music("chipper_doodle") - - call her_chibi_scene("hj_cum_on") - call cum_block - - $ hermione.set_cum(face="light") - - her "!!!!!!!!!!!" ("shock", "wide", "base", "stare", xpos="right", ypos="base") - - $ hermione.set_cum(face="heavy", hair="light") - - gen "Yes! I Feel so much better now..." ("base", xpos="far_left", ypos="head") - her ".............." ("normal", "happyCl", "worried", "mid") - - call her_chibi_scene("hj_cum_on_done") - call ctc - - her "How could you!?" ("scream", "happyCl", "worried", "mid") - gen "How could I?" ("base", xpos="far_left", ypos="head") - her "You came all over my face!" ("scream", "closed", "angry", "mid") - gen "I did." ("base", xpos="far_left", ypos="head") - her "Why would you ask me to do that!?" ("mad", "happyCl", "worried", "mid", tears="soft_blink") - her "I'm completely covered in your cum!" ("angry", "base", "base", "mid", tears="soft") - gen "You didn't have to listen to me." ("base", xpos="far_left", ypos="head") - her "..." ("angry", "base", "worried", "mid") - gen "I only said that you had to have my cum on you." ("base", xpos="far_left", ypos="head") - gen "I never said where." ("base", xpos="far_left", ypos="head") - her "You told me to do it though..." ("annoyed", "base", "worried", "R") - - hide hermione_main - call blkfade - - ">You tuck your cock back into your robe." - - call gen_chibi("sit_behind_desk") - call her_chibi("stand","desk","base") - - hide screen blktone - hide screen bld1 - call hide_blkfade - pause.2 - - call bld - gen "Oh and one last thing before you head to class." ("base", xpos="far_left", ypos="head") - her "Yes..." ("soft", "narrow", "annoyed", "up",xpos="right",ypos="base") - gen "If you return to this office after classes without any cum on you, I'll be very upset." ("base", xpos="far_left", ypos="head") - her "Yes [genie_name]." ("base", "narrow", "base", "up") - gen "Have fun. Say hi to your friends for me." ("base", xpos="far_left", ypos="head") - her "..." ("base", "closed", "base", "mid") - - call her_walk(action="leave") - - jump end_hermione_event - -label hg_ps_cumslut_Scene_3: - $ hg_ps_cumslut.inProgress = True - her "Are you serious?" ("shock", "wide", "base", "stare") - her "Can I?" ("grin", "narrow", "annoyed", "up") - gen "Well--" ("base", xpos="far_left", ypos="head") - her "I was going to ask you if I could, seeing as how it made you so happy last time, [genie_name]." ("smile", "happyCl", "base", "mid",emote="happy") - her "I'll even do it for free if that would make you happier!" ("base", "narrow", "base", "up") - gen "really?" ("base", xpos="far_left", ypos="head") - gen "Well let's get started then!" ("base", xpos="far_left", ypos="head") - - hide hermione_main - call blkfade - - call her_chibi_scene("hj", "desk", "base") - - call hide_blkfade - call ctc - - call bld - gen "Gods, you're good at this, [hermione_name]!" ("base", xpos="far_left", ypos="head") - her "Thank you... I've been thinking about what you asked me last time..." ("soft", "narrow", "annoyed", "up", ypos="head", flip=False) - gen "Last time?" ("base", xpos="far_left", ypos="head") - her "about why I do this... sell you these sort of favours." ("upset", "closed", "base", "mid") - her "At the start it was just to get points, so that gryffindor could win the house cup..." ("angry", "wink", "base", "mid") - her "but lately..." ("base", "narrow", "worried", "down") - her "it's been more than that...{w=0.5} now I do it to make you happy, [genie_name]." ("base", "narrow", "base", "mid_soft") - her "Because making you happy, makes me happy..." ("base", "squint", "base", "mid") - gen "That's great... but what would really make me happy right now is you focusing a little more on the task at hand..." ("base", xpos="far_left", ypos="head") - her "Oh! Of course, [genie_name]..." ("open", "happyCl", "worried", "mid") - her "Do you need some extra encouragement?" ("open", "closed", "base", "mid") - gen "it would help..." ("base", xpos="far_left", ypos="head") - her "well... do you know how much I've been thinking about this? How much I wanted to ask you to cover me again?" ("base", "narrow", "worried", "down") - her "I've become such a slut, [genie_name]. It's all I've been able to think about... going to class covered in your {heart}cum{heart}" ("grin", "narrow", "annoyed", "up") - her "I Imagine it staining my uniform so much that I can never wash it out. I imagine being covered in your cum constantly, so everyone knows what I am." ("grin", "narrow", "base", "dead") - her "not just A slut... a cumslut..." ("soft", "narrow", "annoyed", "up") - her "Your {heart}cumslut{heart}..." ("silly", "narrow", "annoyed", "up") - gen "That did it slut!" ("grin", xpos="far_left", ypos="head") - gen "HERE IT COMES!!!" ("angry", xpos="far_left", ypos="head") - her "Shoot it wherever you want [genie_name]..." ("open_wide_tongue", "narrow", "annoyed", "up") - menu: - "\"Take it on your tits!\"": - # Cum on shirt - $ cum_location = 7 - her "Please cover my tits with your sticky cum! I need it, [genie_name]!" ("grin", "narrow", "annoyed", "up", ypos="head", flip=False) - ">Hermione keeps jerking your cock, her eyes focused intently on it." - gen "Get ready whore, here i come!" ("angry", xpos="far_left", ypos="head") - her "..." ("silly", "narrow", "base", "dead") - ">Hermione leans forward, lining up her tits directly with your cock." - - call play_music("chipper_doodle") - - call her_chibi_scene("hj_cum_on") - call cum_block - - $ hermione.set_cum(breasts="light", body="light") - - her "{heart}{heart}{heart}" ("base", "narrow", "worried", "down", xpos="right", ypos="base") - gen "{size=+5}*ARGH*! YES!!! RIGHT between your TITS!{/size}" ("grin", xpos="far_left", ypos="head") - - $ hermione.set_cum(breasts="heavy") - - gen "That's it! All over you, slut!" ("base", xpos="far_left", ypos="head") - her "......" ("soft", "narrow", "annoyed", "up") - - call her_chibi_scene("hj_cum_on_done") - call ctc - - her "It's so warm...{heart}" ("grin", "narrow", "base", "dead") - gen "That it is." ("base", xpos="far_left", ypos="head") - her "If it's alright with you, I think I better head to class now..." ("base", "narrow", "worried", "down") - - "\"Take it on your face, slut!\"": - # Cum on face - $ cum_location = 8 - ">Hermione bends down and holds your cock in front of her face." - gen "Get ready slut, here it comes!" ("base", xpos="far_left", ypos="head") - her "Please give it to me! I need it, [genie_name]!" ("grin", "narrow", "annoyed", "up", ypos="head", flip=False) - gen "{size=+5}*ARGH*! YES!!!{/size}" ("grin", xpos="far_left", ypos="head") - her "..." ("open_wide_tongue", "narrow", "annoyed", "up") - ">You erupt onto her face, dousing her in your thick spunk." - - call play_music("chipper_doodle") - call her_chibi_scene("hj_cum_on") - call cum_block - - $ hermione.set_cum(face="light") - - her "{heart}{heart}{heart}{heart}{heart}{heart}{heart}" ("open_wide_tongue", "narrow", "annoyed", "up",xpos="right",ypos="base") - - $ hermione.set_cum(face="heavy", hair="light") - - gen "Yes... I Feel so much better now..." ("base", xpos="far_left", ypos="head") - her "me too..." ("normal", "happyCl", "worried", "mid") - - call her_chibi_scene("hj_cum_on_done") - call ctc - - show screen blkfade - with d3 - - ">You tuck your cock back into your robe." - - call her_chibi("stand", "desk", "base") - call gen_chibi("sit_behind_desk") - with d3 - pause.2 - - hide screen blkfade - with d3 - - call bld - gen "I'll see you after classes. And as before, if you come back without any cum on you, I'll be very disappointed." ("base", xpos="far_left", ypos="head") - her "of course [genie_name]..." ("soft", "narrow", "annoyed", "up", xpos="right", ypos="base") - her "(I can't wait to see the look on people's faces...)" ("grin", "narrow", "base", "dead") - - call her_walk(action="leave") - - jump end_hermione_event - -label hg_ps_cumslut_complete: - # Hermione returns from her day of wearing your cum - $ hg_ps_cumslut.inProgress = False - if cum_location < 4: - jump hg_ps_cumslut_complete_1 - elif cum_location < 7: - jump hg_ps_cumslut_complete_2 - else: - jump hg_ps_cumslut_complete_3 - -label hg_ps_cumslut_complete_1: - - call her_walk(action="enter", xpos="mid", ypos="base") - - #if cum_location == 1: # TODO: No can do. Requires rewrite. - # Cum under shirt - #her "... I did it, [genie_name]." ("base", "happy", "base", "mid",xpos="right",ypos="base") - #her "I kept your cum on me all day." ("base", "base", "base", "R") - - #menu: - #"\"Fifty points to Gryffindor!\"": - #$ gryffindor += 50 - #her "Thank you [genie_name], will that be all?" ("soft", "base", "base", "mid") - #gen "Yes [hermione_name], you may leave now." ("base", xpos="far_left", ypos="head") - - #"\"Tell me about your day.\"": - #her "It was a pretty normal day, I had potions class and then transfiguration." ("open", "closed", "base", "mid") - #gen "And do you think that anyone noticed?" ("base", xpos="far_left", ypos="head") - #her "I don't think so [genie_name]. Ginny Weasley asked me about it during transfiguration class though." ("soft", "base", "base", "mid") - #gen "And what did you tell her?" ("base", xpos="far_left", ypos="head") - #her "I just said that I spilled some {i}Wiggenweld potion{/i} on myself in potions class." ("open", "base", "base", "mid") - #gen "Very cunning of you. Fifty points to Gryffindor." ("base", xpos="far_left", ypos="head") - #$ gryffindor += 50 - #her "Thank you [genie_name], if that's all I might head to bed." ("soft", "base", "base", "mid") - #gen "Very well, goodnight [hermione_name]." ("base", xpos="far_left", ypos="head") - #her "Good night [genie_name]." ("base", "base", "base", "mid") - - if cum_location == 2: - # Cum on skirt - - $ hermione.set_cum(crotch="heavy") - - her "... I did it [genie_name]." ("normal", "happyCl", "worried", "mid",xpos="right",ypos="base", trans=d3) - her "I kept your cum on me all day." ("angry", "happyCl", "worried", "mid",emote="sweat") - - menu: - "\"Fifty points to Gryffindor!\"": - $ gryffindor += 50 - her "Thank you [genie_name], will that be all?" ("annoyed", "base", "worried", "R") - gen "Yes [hermione_name], you may leave now." ("base", xpos="far_left", ypos="head") - - "\"Tell me about your day.\"": - her "It was a pretty normal day, I had potions class and then transfiguration." ("annoyed", "base", "worried", "R",xpos="base",ypos="base") - gen "And do you think that anyone noticed?" ("base", xpos="far_left", ypos="head") - her "I think a few people did [genie_name]. I could hear The first years all whispering as I walked past." ("grin", "happyCl", "worried", "mid") - gen "And how did you feel?" ("base", xpos="far_left", ypos="head") - her "Excited. I just wish that they knew why I was doing this." ("base", "narrow", "worried", "down") - gen "Speaking of that, fifty points to Gryffindor." ("base", xpos="far_left", ypos="head") - $ gryffindor += 50 - her "Oh, right the points, Thank you [genie_name]. if that's all I might head to bed." ("open", "narrow", "worried", "down") - gen "Very well, goodnight [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Good night [genie_name]." ("annoyed", "closed", "base", "mid") - - else: - # Cum on hair - - $ hermione.set_cum(hair="heavy") - - her "... I did it [genie_name]." ("upset", "narrow", "base", "dead",tears="mascara",xpos="right",ypos="base", trans=d3) - her "I kept your cum on me all day." ("upset", "happyCl", "worried", "mid",tears="mascara_soft_blink") - menu: - "\"Fifty points to Gryffindor!\"": - $ gryffindor += 50 - $ her_mood += 5 - her "..." ("annoyed", "narrow", "annoyed", "mid", tears="mascara_soft") - gen "Well [hermione_name], you may leave now." ("base", xpos="far_left", ypos="head") - her "*Hmph*..." ("angry", "narrow", "annoyed", "mid", emote="angry",tears="mascara") - - "\"Tell me about your day.\"": - $ her_mood += 10 - her "My day..." ("normal", "happyCl", "worried", "mid",tears="mascara_soft_blink",xpos="base",ypos="base") - her "This was the worst day of my life!" ("scream", "happyCl", "worried", "mid",tears="mascara_soft_blink") - her "I've never been so ashamed!" ("angry", "happyCl", "worried", "mid",emote="sweat",tears="mascara_soft_blink") - gen "Did your friends treat you poorly?" ("base", xpos="far_left", ypos="head") - her "No! That's the worst part!" ("scream", "closed", "angry", "mid",tears="mascara_soft_blink") - her "I expected to be an outcast, to sit by myself and not have Ginny or Luna talk to me." ("annoyed", "base", "worried", "R",tears="mascara_soft_blink") - her "But they didn't even acknowledge the fact that I was covered in cum!" ("annoyed", "narrow", "angry", "R",tears="mascara_soft_blink") - her "They acted as if nothing was wrong." ("mad", "happyCl", "worried", "mid",tears="mascara_soft_blink") - her "I even tried to provoke a response from Ginny by asking her what she thought of my hair!" ("angry", "base", "base", "mid",tears="mascara_soft") - gen "And what was her reaction?" ("base", xpos="far_left", ypos="head") - her "She said that it suited me!" ("upset", "happyCl", "worried", "mid",tears="mascara_soft_blink") - gen "Maybe they're just used to you acting like this." ("base", xpos="far_left", ypos="head") - her "That's the problem! They think that this slutty persona is who I am now!" ("angry", "base", "worried", "mid", tears="mascara_soft") - gen "Isn't it?" ("base", xpos="far_left", ypos="head") - her "..." ("upset", "happyCl", "worried", "mid",tears="mascara_soft_blink") - her "Good night, [genie_name]." ("normal", "happyCl", "worried", "mid",tears="mascara_soft_blink") - - with fade - - jump end_hermione_event - -label hg_ps_cumslut_complete_2: - - call her_walk(action="enter", xpos="mid", ypos="base") - - if cum_location == 4: - # Cum on legs - - $ hermione.set_cum(legs="heavy") - - her "... I did it, [genie_name]." ("base", "happy", "base", "mid",xpos="right",ypos="base", trans=d3) - her "I kept your cum on me all day." ("base", "base", "base", "R") - - menu: - "\"Good Work!\"": - her "Thank you [genie_name], will that be all?" ("soft", "base", "base", "mid") - gen "Yes [hermione_name], you may leave now." ("base", xpos="far_left", ypos="head") - - "\"Tell me about your day.\"": - her "It was a pretty normal day, well, except for Luna..." ("open", "closed", "base", "mid") - gen "Luna?" ("base", xpos="far_left", ypos="head") - her "Luna Lovegood, sir." ("soft", "base", "base", "mid") - gen "What happened with miss Lovegood?" ("base", xpos="far_left", ypos="head") - her "She kept trying to tell me that a Cornish pixie had given me a present." ("annoyed", "narrow", "angry", "R") - gen "A Cornish Pixie had given you a present?" ("base", xpos="far_left", ypos="head") - her "I didn't know what she was talking about either. Cornish pixies are nasty little things that would never do anything nice." ("disgust", "narrow", "base", "mid_soft") - gen "Well what happened after that?" ("base", xpos="far_left", ypos="head") - her "Well I asked her what she was talking about and then she ran her finger up my leg, scooping up some of your cum!" ("smile", "narrow", "base", "mid_soft") - gen "Really?" ("base", xpos="far_left", ypos="head") - her "That's not the worst part. She then proceded to taste it!" ("open_tongue", "narrow", "base", "mid_soft") - gen "I don't believe you." ("base", xpos="far_left", ypos="head") - her "I was as shocked as you were." ("open", "closed", "base", "mid") - gen "Well you have certainly made this old man very happy." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]. if that's all I might head to bed." ("open", "narrow", "worried", "down") - gen "Very well, goodnight [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Good night [genie_name]." ("annoyed", "closed", "base", "mid") - - elif cum_location == 5: - # Cum on shirt - - $ hermione.set_cum(breasts="heavy", body="light") - - her "... I did it, [genie_name]." ("normal", "happyCl", "worried", "mid",xpos="right",ypos="base", trans=d3) - her "I kept your cum on me all day." ("angry", "happyCl", "worried", "mid",emote="sweat") - - menu: - "\"Good Work!\"": - her "Thank you [genie_name], will that be all?" ("annoyed", "base", "worried", "R") - gen "Yes [hermione_name], you may leave now." ("base", xpos="far_left", ypos="head") - - "\"Tell me about your day.\"": - her "It was a pretty normal day, I had Defence against the dark arts class and then Herbology." ("annoyed", "base", "worried", "R",xpos="base",ypos="base") - gen "And do you think that anyone noticed?" ("base", xpos="far_left", ypos="head") - her "I think most people did [genie_name]. I'm not sure if they all knew it was cum though." ("grin", "happyCl", "worried", "mid") - gen "And how did you feel?" ("base", xpos="far_left", ypos="head") - her "Excited. Getting to see everyone's faces as they realised what it was..." ("base", "narrow", "worried", "down") - gen "So you don't mind them knowing?" ("base", xpos="far_left", ypos="head") - her "I suppose not... As long as it makes you happy." ("open", "narrow", "worried", "down") - gen "Very well, goodnight [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Good night [genie_name]." ("annoyed", "closed", "base", "mid") - - else: - # Cum on face - - $ hermione.set_cum(face="heavy", hair="light") - - her "... I did it, [genie_name]." ("annoyed", "narrow", "base", "dead",tears="mascara",xpos="right",ypos="base", trans=d3) - her "I kept your cum on me...{w=0.8} all day." ("annoyed", "narrow", "base", "dead",tears="mascara") - - menu: - "\"Good Work!\"": - her "..." ("annoyed", "narrow", "base", "dead",tears="mascara") - gen "Well [hermione_name], you may leave now." ("base", xpos="far_left", ypos="head") - her "Did I at least make you happy?" ("open", "narrow", "annoyed", "mid", tears="mascara") - gen "You did." ("base", xpos="far_left", ypos="head") - her "Good." ("annoyed", "closed", "base", "mid",tears="mascara") - - "\"Tell me about your day.\"": - her "My day..." ("normal", "happyCl", "worried", "mid",tears="mascara",xpos="base",ypos="base") - her "It was completely normal." ("scream", "happyCl", "worried", "mid",tears="mascara") - gen "Really? Nothing strange happened at all?" ("base", xpos="far_left", ypos="head") - her "No. Everyone treated me how I deserved to be treated." ("scream", "closed", "angry", "mid",tears="mascara") - gen "And how's that?" ("base", xpos="far_left", ypos="head") - her "Like a slut..." ("annoyed", "base", "worried", "R",tears="mascara") - her "Boys catcalled me..." ("annoyed", "narrow", "angry", "R",tears="mascara") - her "Put me down..." ("mad", "happyCl", "worried", "mid", tears="mascara") - her "Snape made me stand out the front of the class during Defence against the dark arts." ("angry", "base", "base", "mid",tears="mascara_soft") - gen "What did he make you do in front of the class?" ("base", xpos="far_left", ypos="head") - her "Nothing, I just had to stand there for the whole lesson." ("upset", "happyCl", "worried", "mid",tears="mascara_soft_blink") - gen "Did your friends say anything?" ("base", xpos="far_left", ypos="head") - her "Nothing." ("angry", "base", "worried", "mid", tears="mascara_soft") - her "..." ("upset", "happyCl", "worried", "mid",tears="mascara_soft_blink") - her "Did I...{w=0.5} make you happy?" ("open", "narrow", "annoyed", "mid", tears="mascara_soft") - gen "You did." ("base", xpos="far_left", ypos="head") - her "Good night, [genie_name]." ("normal", "happyCl", "worried", "mid",tears="mascara_soft") - - with fade - - jump end_hermione_event - -label hg_ps_cumslut_complete_3: - # TODO: This event is a copy of the previous event, it should be rewritten to - - call her_walk(action="enter", xpos="mid", ypos="base") - - if cum_location == 7: - # Cum on shirt - - $ hermione.set_cum(breasts="heavy") - - ">Hermione returns to your office, her breasts still covered in cum." - her "... I did it [genie_name]." ("open", "squint", "base", "mid") - her "I kept your cum on me all day." ("grin", "happyCl", "worried", "mid",emote="sweat") - - menu: - "\"Good Work!\"": - her "Thank you [genie_name], will that be all?" ("base", "base", "base", "mid") - gen "Yes [hermione_name], you may leave now." ("base", xpos="far_left", ypos="head") - - "\"Tell me about your day.\"": - her "It was actually quite frustrating [genie_name]..." ("annoyed", "narrow", "angry", "R") - gen "frustrating?" ("base", xpos="far_left", ypos="head") - her "yes! Having to spend the whole day smelling your delicious cum but not being able to taste any of it!" ("open", "base", "base", "R") - her "It was like looking at a glass of water in the desert..." ("soft", "narrow", "annoyed", "up") - gen "did anyone else notice?" ("base", xpos="far_left", ypos="head") - her "I couldn't say [genie_name]... I was too distracted by the smell..." ("angry", "wink", "base", "mid") - gen "Very well, goodnight [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Good night [genie_name]." ("grin", "narrow", "base", "dead") - - else: - # Cum on face - - $ hermione.set_cum(face="heavy", hair="light") - - ">Hermione returns to your office, her face still covered in cum." - her "I did it, [genie_name]." ("open", "squint", "base", "mid") - her "I kept your cum on me all day." ("base", "base", "base", "mid") - - menu: - "\"Good Work!\"": - her "Thank you, [genie_name]. Is that everything?" ("soft", "happy", "base", "R") - gen "yes [hermione_name], you can go clean up now." ("base", xpos="far_left", ypos="head") - her "clean up?" ("open", "base", "base", "R") - gen "Only if you want to..." ("base", xpos="far_left", ypos="head") - her "thank you [genie_name]!" ("grin", "narrow", "annoyed", "up") - - "\"Tell me about your day.\"": - her "My day..." ("soft", "happy", "base", "R") - her "It was a normal day [genie_name]. Well what is normal for me now." ("soft", "narrow", "annoyed", "up") - her "I got called names again, and some of the boys groped me." ("grin", "narrow", "base", "dead") - her "Susan Bones even said she liked how I looked in my shirt." ("base", "narrow", "worried", "down") - gen "And how did that make you feel?" ("base", xpos="far_left", ypos="head") - her "Excited, I almost came when Moaning Myrtle started yelling to everyone about your cum on my shirt." ("silly", "narrow", "base", "dead") - gen "Truly?" ("base", xpos="far_left", ypos="head") - her "Of course, it made me even happier knowing that it makes you happy." ("base", "narrow", "worried", "down") - gen "that you did..." ("base", xpos="far_left", ypos="head") - her "...{heart}" ("grin", "narrow", "annoyed", "up") - her "thank you [genie_name]. well, goodnight." ("open", "base", "base", "R") - gen "goodnight [hermione_name]." ("base", xpos="far_left", ypos="head") - - with fade - - jump end_hermione_event diff --git a/game/scripts/characters/hermione/events/tentacles.rpy b/game/scripts/characters/hermione/events/tentacles.rpy index 15b45b25..c10ba8f1 100644 --- a/game/scripts/characters/hermione/events/tentacles.rpy +++ b/game/scripts/characters/hermione/events/tentacles.rpy @@ -3,9 +3,9 @@ label tentacle_scene_intro: with d3 show screen bld1 - if not tentacle_scroll_examined: - $ tentacle_scroll_examined = True - gen "(*Hmm*... let's see if we can get this writing to show...)" ("base", xpos="far_left", ypos="head") + if not states.her.ev.sealed_scroll.examined: + $ states.her.ev.sealed_scroll.examined = True + gen "(*Hmm*... Let's see if we can get this writing to show...)" ("base", xpos="far_left", ypos="head") gen "(It should be something simple like a command word...)" ("base", xpos="far_left", ypos="head") $ d_flag_01 = False @@ -29,22 +29,22 @@ label tentacle_scene_intro: jump .spell label .after_spell: - gen "Work you stupid scroll or I'll throw you in the fire!" ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/scribble.ogg') + gen "Work, you stupid scroll, or I'll throw you in the fire!" ("angry", xpos="far_left", ypos="head") + play sound "sounds/scribble.ogg" "The scroll" "*Reveals itself*" gen "That's what I thought..." ("base", xpos="far_left", ypos="head") gen "Now then... Let's find out what this scroll says..." ("base", xpos="far_left", ypos="head") gen "\"At the highest point is where I'm hidden\"..." ("base", xpos="far_left", ypos="head") - gen "(fuck, it's a riddle...{w=0.4} Guess I deserved that...)" ("angry", xpos="far_left", ypos="head") + gen "(Fuck, it's a riddle...{w=0.4} Guess I deserved that...)" ("angry", xpos="far_left", ypos="head") gen "\"At the highest point is where I'm hidden\"--" ("base", xpos="far_left", ypos="head") gen "\"A place where you will need this key\"--" ("base", xpos="far_left", ypos="head") gen "\"To use this scroll that is forbidden\"--" ("base", xpos="far_left", ypos="head") gen "\"You'll need to take a piece of me\"..." ("base", xpos="far_left", ypos="head") - gen "Key... what k--" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/magic1.ogg') + gen "Key... What k--" ("base", xpos="far_left", ypos="head") + play sound "sounds/magic1.ogg" show screen white with d9 pause 0.9 @@ -57,9 +57,9 @@ label tentacle_scene_intro: gen "(Now I'll just have to find where it fits...)" ("base", xpos="far_left", ypos="head") jump main_room_menu - gen "(Okay... so...{w=0.3} What was this scroll supposed to do again?)" ("base", xpos="far_left", ypos="head") + gen "(Okay... So...{w=0.3} What was this scroll supposed to do again?)" ("base", xpos="far_left", ypos="head") gen "(Let's see...)" ("base", xpos="far_left", ypos="head") - if not tentacle_sample: + if not states.her.ev.sealed_scroll.sample: gen "Right, the riddle..." ("base", xpos="far_left", ypos="head") label .riddle: @@ -76,70 +76,70 @@ label tentacle_scene_intro: jump tentacle_scene_intro.riddle gen "(Well... I have the key, now to figure out the rest...)" ("base", xpos="far_left", ypos="head") - gen "(The highest point... *Hmm* I wonder where that could be.)" ("base", xpos="far_left", ypos="head") + gen "(The highest point... *Hmm*... I wonder where that could be.)" ("base", xpos="far_left", ypos="head") jump main_room_menu else: - gen "(Ah, that's it... it's supposed to turn me into some sort of magical tentacle plant...)" ("base", xpos="far_left", ypos="head") + gen "(Ah, that's it... It's supposed to turn me into some sort of magical tentacle plant...)" ("base", xpos="far_left", ypos="head") gen "(I have everything I need to perform the ritual and have some fun with Hermione.)" ("base", xpos="far_left", ypos="head") if not game.daytime: gen "(*Hmm*... But it's too late for me to use it now. I should do it at dawn, before class has started.)" ("base", xpos="far_left", ypos="head") jump main_room_menu - elif hermione_busy: + elif states.her.busy: gen "(*Hmm* But Hermione is busy at the moment, I should postpone my plans until tomorrow.)" ("base", xpos="far_left", ypos="head") jump main_room_menu - gen "(I better write her a note first so she can carry me with her to class...)" ("base", xpos="far_left", ypos="head") + gen "(I better write her a note first, so she can carry me with her to class...)" ("base", xpos="far_left", ypos="head") call gen_chibi("paperwork") with d3 pause 1.0 # Setup - $ hermione_busy = True + $ states.her.busy = True $ d_flag_01 = [] $ d_flag_02 = False menu: gen "(*Hmm*... how should I start?)" ("base", xpos="far_left", ypos="head") "\"Dear Hermione, ...\"": - $ d_flag_01.append(_("Dear Hermione,\n\n")) - "\"Dear [hermione_name], ...\"": - $ d_flag_01.append(_("Dear [hermione_name],\n\n")) + $ d_flag_01.append("Dear Hermione,\n\n") + "\"Dear [name_hermione_genie], ...\"": + $ d_flag_01.append("Dear [name_hermione_genie],\n\n") "\"You, the bimbo, ...\"": - $ d_flag_01.append(_("You, the bimbo,\n\n")) + $ d_flag_01.append("You, the bimbo,\n\n") - $ renpy.play('sounds/scribble.ogg') + play sound "sounds/scribble.ogg" "*Scribble* *Scribble*" menu: gen "....*Mhmm*...." ("base", xpos="far_left", ypos="head") "\"... I had very important business matter to attend to...\"": - $ d_flag_01.append(_("I had very important business matter to attend to,")) + $ d_flag_01.append("I had very important business matter to attend to,") "\"... I went out to visit a brothel...\"": - $ d_flag_01.append(_("I went out to visit a brothel,")) + $ d_flag_01.append("I went out to visit a brothel,") "\"... I have turned myself into a plant...\"": - $ d_flag_01.append(_("I have turned myself into a plant,")) + $ d_flag_01.append("I have turned myself into a plant,") $ d_flag_02 = True - $ renpy.play('sounds/scribble.ogg') + play sound "sounds/scribble.ogg" "*Scribble* *Scribble*" menu: gen "..." ("base", xpos="far_left", ypos="head") "\"... I ask you kindly...\"": - $ d_flag_01.append(_("I ask you kindly,")) + $ d_flag_01.append("I ask you kindly,") "\"... Just listen for once...\"": - $ d_flag_01.append(_("just listen for once and")) + $ d_flag_01.append("just listen for once and") - $ renpy.play('sounds/scribble.ogg') + play sound "sounds/scribble.ogg" "*Scribble* *Scribble*" menu: gen "... and now..." ("base", xpos="far_left", ypos="head") "\"... take this plant with you to your class...\"" if not d_flag_02: - $ d_flag_01.append(_("take this plant with you to your class.\n\n")) + $ d_flag_01.append("take this plant with you to your class.\n\n") "\"... take this plant then shove it up your arse...\"" if not d_flag_02: - $ d_flag_01.append(_("take this plant then {b}{s}shove it up your{/s}{/b} bring it to class.\n\n")) + $ d_flag_01.append("take this plant then {b}{s}shove it up your{/s}{/b} bring it to class.\n\n") gen "Shove it up your--..." ("grin", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") with d3 @@ -148,10 +148,10 @@ label tentacle_scene_intro: call gen_chibi("paperwork") with d3 "\"... take me to class...\"" if d_flag_02: - $ d_flag_01.append(_("take me to class.\n\n")) + $ d_flag_01.append("take me to class.\n\n") "\"... shove me up your arse...\"" if d_flag_02: - $ d_flag_01.append(_("{b}{s}shove me up your{/s}{/b} take me to class.\n\n")) + $ d_flag_01.append("{b}{s}shove me up your{/s}{/b} take me to class.\n\n") gen "Shove me up your--..." ("grin", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") with d3 @@ -160,22 +160,22 @@ label tentacle_scene_intro: call gen_chibi("paperwork") with d3 - $ renpy.play('sounds/scribble.ogg') + play sound "sounds/scribble.ogg" "*Scribble* *Scribble*" menu: gen "..." ("base", xpos="far_left", ypos="head") "\"... Sincerely, Dombledure.\"": - $ d_flag_01.append(_("Sincerely,\nDombledure.")) - "\"... Yours truly, [genie_name].\"": - $ d_flag_01.append(_("Yours truly,\n[genie_name].")) + $ d_flag_01.append("Sincerely,\nDombledure.") + "\"... Yours truly, [name_genie_hermione].\"": + $ d_flag_01.append("Yours truly,\n[name_genie_hermione].") $ d_flag_01 = " ".join(d_flag_01) call gen_chibi("sit_behind_desk") with d3 pause 1.0 - gen "Yes...{w=0.5} that should do it... now to call her up here and use that scroll..." ("base", xpos="far_left", ypos="head") + gen "Yes...{w=0.5} That should do it... Now to call her up here and use that scroll..." ("base", xpos="far_left", ypos="head") stop music fadeout 3.0 show screen blkfade with d5 @@ -189,15 +189,15 @@ label tentacle_scene_intro: call her_walk(action="enter") with d3 pause 1 - her "[genie_name], my class is about to--" ("open", "base", "worried", "L", trans=d3) - her "[genie_name]?" ("open", "squint", "base", "L") + her "[name_genie_hermione], my class is about to--" ("open", "base", "worried", "L", trans=d3) + her "[name_genie_hermione]?" ("open", "squint", "base", "L") call her_walk(xpos="mid", ypos="base") pause 1.0 call chibi_emote("thought","hermione") pause 2.0 call chibi_emote("hide", "hermione") her "Are we playing hide and seek??" ("annoyed", "base", "angry", "R", trans=d3) - her "[genie_name], I really don't have the time--" ("annoyed", "narrow", "angry", "stare") + her "[name_genie_hermione], I really don't have the time--" ("annoyed", "narrow", "angry", "stare") hide hermione_main hide screen bld1 with d3 @@ -207,7 +207,7 @@ label tentacle_scene_intro: call chibi_emote("hide", "hermione") her "..." call her_walk(xpos="desk", ypos="base") - gen "(Yes... she's seen me...)" ("base", xpos="far_left", ypos="head") + gen "(Yes... She's seen me...)" ("base", xpos="far_left", ypos="head") gen "(Take the note!)" ("base", xpos="far_left", ypos="head") her "What's with this ugly plant?" ("disgust", "narrow", "angry", "stare", trans=d3) with vpunch @@ -218,16 +218,16 @@ label tentacle_scene_intro: with d3 her "Professo--...?" ("open", "base", "worried", "L", flip=True, trans=d3) her "I thought I heard him for a second..." ("annoyed", "narrow", "worried", "R") - gen "(Read the note already, would you..)" ("base", xpos="far_left", ypos="head") + gen "(Read the note already, would you...)" ("base", xpos="far_left", ypos="head") pause 1.0 call her_chibi("stand", flip=False) with d3 her "Oh, there's also a note, I better read it..." ("open", "base", "base", "down", flip=False, trans=d3) - gen "(Can't help herself but snoop in other peoples business can she...)" ("base", xpos="far_left", ypos="head") + gen "(Can't help herself but snoop in other peoples' business, can she...)" ("base", xpos="far_left", ypos="head") $ desk_OBJ.foreground = "plant_on_desk" with d3 - $ renpy.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" her "Oh... It's actually addressed to me..." ("soft", "base", "base", "stare") hide hermione_main @@ -249,115 +249,115 @@ label tentacle_scene_intro: with d9 pause 1.5 - call play_sound("door") + play sound "sounds/door.ogg" pause 1 centered "{size=+7}{color=#cbcbcb}Herbology{/color}{/size}" pause 1 - call play_music("agenda") - play bg_sounds "sounds/murmur.ogg" fadein 2 fadeout 2 + play music "music/hidden-agenda-by-kevin-macleod.ogg" fadein 1 if_changed + play background "sounds/murmur.ogg" fadein 2 fadeout 2 spo "In today's class, we will be learning about a plant called Devil's Snare." spo "Hermione Granger was kind enough to bring us a pot with an underdeveloped Devil's Snare." spo "It's kind of wilted and looks weak but..." gen "(Oh fuck you, bitch!)" ("angry", xpos="far_left", ypos="head") - her "Actually, professor that was--" + her "Actually, professor, that was--" spo "Miss Granger, please don't interrupt me." her "Sorry..." spo "Now then..." spo "This is an incredibly dangerous plant, known to constrict and kill its prey with its fast and powerful tendrils." spo "They are found naturally in caves and swamps as they like dark and damp places and hate sunlight." her "Isn't Devil's Snare extremely dangerous?" - spo "Yes, Miss Granger. At least you're paying attention to what I was saying. Now please sit down." - $ renpy.sound.play("sounds/giggle2_loud.ogg") + spo "Yes, Miss Granger. At least you're paying attention to what I was saying... Now, please sit down." + play sound "sounds/giggle2_loud.ogg" pause 1.5 - $ renpy.sound.play("sounds/shush.ogg") + play sound "sounds/shush.ogg" her "..........." spo "These aren't even a week old, so they would barely be able to stroke you with their tendrils, let alone constrict you." spo "Now everyone, pass the samples around so that you all can get a good look." her "Professor Sprout, are they supposed to have mouths?" spo "Yes Miss Granger, it's how they consume their prey once they have asphyxiated them." her "Okay, well, what are the eyes for? I thought they sensed their prey by touch?" - spo "What are you on about Miss Granger? Devil's Snare don't have eyes." + spo "What are you on about, Miss Granger? Devil's Snare don't have eyes." her "This one d--" - $ renpy.sound.play("sounds/crowd_gasp.ogg") - $ renpy.sound.play("sounds/plant_burst.ogg") - stop bg_sounds + play sound "sounds/crowd_gasp.ogg" + play sound2 "sounds/plant_burst.ogg" + stop background with vpunch pause 2.0 - ">All of a sudden, you explode outwards in a flash of thick green tentacles." + nar "All of a sudden, you explode outwards in a flash of thick green tentacles." her "What's happening?!?" - $ renpy.sound.play("sounds/plant_grab.ogg") - ">You quickly bind her wrists and waist..." - $ renpy.sound.play("sounds/gasp.ogg") + play sound "sounds/plant_grab.ogg" + nar "You quickly bind her wrists and waist..." + play sound "sounds/gasp.ogg" her "I can't move!" - $ renpy.sound.play("sounds/creaking.ogg") - ">then lift her into the air with your powerful appendages..." - spo "Stay calm Miss Granger, Devil's Snare will let you go if you don't move!" - ">Slinking your slimy tentacles under her top and skirt." + play sound "sounds/creaking.ogg" + nar "Then lift her into the air with your powerful appendages..." + spo "Stay calm, Miss Granger! Devil's Snare will let you go if you don't move!" + nar "Slinking your slimy tentacles under her top and skirt." if not hermione.is_worn("panties"): mal "Hey, look, look! She doesn't have panties on!" fem "Oh my gosh, so the rumours about her were true?!" mal2 "And she brought her own plant sample, I bet she planned this out, what a total slut!" her "Oh no..." - $ renpy.sound.play("sounds/cloth_rip.ogg") - ">You rip her top off in a flurry of buttons and cotton..." + play sound "sounds/cloth_rip.ogg" + nar "You rip her top off in a flurry of buttons and cotton..." her "*Ahhhh*!" - $ renpy.sound.play("sounds/plant_slithering.ogg") - ">Sliding your tentacles up her legs and slowly pulling them apart." - ">Hermione struggles against you but her effort is in vain." + play sound "sounds/plant_slithering.ogg" + nar "Sliding your tentacles up her legs and slowly pulling them apart." + nar "Hermione struggles against you, but her efforts are in vain." her "Please no... Not here." if hermione.is_worn("panties"): - ">The tentacles slowly remove her panties, revealing her pussy to the entire class." + nar "The tentacles slowly remove her panties, revealing her pussy to the entire class." mal "Wow..." fem "This is horrible, someone should do something!" mal2 "Professor Sprout says as long as she doesn't move she'll be released." - $ renpy.sound.play("sounds/plant_slithering.ogg") - ">You position a large, flowered tentacle above Hermione's head." + play sound "sounds/plant_slithering.ogg" + nar "You position a large, flowered tentacle above Hermione's head." her "What is that!?" - $ renpy.sound.play("sounds/creaking.ogg") - ">It suddenly opens to reveal a long slender appendage with an engorged base." + play sound "sounds/creaking.ogg" + nar "It suddenly opens to reveal a long slender appendage with an engorged base." her "What the hell is that? It looks like a..." - ">While she is focused on the dangling limb above her, you move six of your smaller tentacles towards her waist." - her "Oh god no, someone please help me! Professor Sprout do something!" + nar "While she is focused on the dangling limb above her, you move six of your smaller tentacles towards her waist." + her "Oh god no, someone, please help me! Professor Sprout, do something!" spo "Students, stand back!" - ">Professor Sprout casts an impressive-looking spell at the mass of writhing tentacles." - $ renpy.sound.play("sounds/magic3.ogg") + nar "Professor Sprout casts an impressive-looking spell at the mass of writhing tentacles." + play sound "sounds/magic3.ogg" spo "Confringo!" - $ renpy.sound.play("sounds/plop.ogg") - ">It strikes the plant forcefully but does nothing." + play sound "sounds/plop.ogg" + nar "It strikes the plant forcefully but does nothing." spo "What? That should have killed it. It must be magically protected." - ">You move three tentacles to Hermione's vagina and start teasing the opening." + nar "You move three tentacles to Hermione's vagina and start teasing the opening." her "Please Professor Sprout, do something! Anything!" spo "I'm not sure I can, it has a powerful magical aura protecting it." spo "If I try anything more advanced than the spell I just cast, I might hurt you." - ">You move two smaller tentacles to her asshole and start teasing the entrance, slowly prying it open." + nar "You move two smaller tentacles to her asshole and start teasing the entrance, slowly prying it open." her "Then what am I supposed to do?!" - spo "Just stay as still as possible and it should eventually let you go..." - ">You move a tentacle with a mouth on the end of it to her right breast and latch onto it." + spo "Just stay as still as possible, and it should eventually let you go..." + nar "You move a tentacle with a mouth on the end of it to her right breast and latch onto it." her "Please, I'm not going to be able to stay still if this keeps going!" - ">The three tentacles at the entrance of her vagina suddenly thrust into her." + nar "The three tentacles at the entrance of her vagina suddenly thrust into her." - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" - if her_reputation > 15: + if states.her.public_level > 15: call tentacle_1 else: call tentacle_2 - stop bg_sounds fadeout 3.0 + stop background fadeout 3.0 - "> After everyone leaves the room your body starts to turn back to normal..." + nar "After everyone leaves the room, your body starts to turn back to normal..." gen "That was hot!" - "> You notice that something is amiss..." + nar "You notice that something is amiss..." gen "What happened to my clothes?!" gen "... I was expecting this other-wordly magic to cover the basics of transmutations at the very least." gen "Guess I was wrong..." gen "I must get out of here before anyone spots me." - call play_sound("running") + play sound "sounds/run_03.ogg" - "> You dash through the castle in a flash and get back to your office where, fortunately you find some spare clothes lying about." + nar "You dash through the castle in a flash and get back to your office where, fortunately, you find some spare clothes lying about." $ desk_OBJ.foreground = None $ sealed_scroll_ITEM.used = True @@ -369,101 +369,101 @@ label tentacle_scene_intro: jump main_room label tentacle_1: #Public path - $ dynamic_cg("herm_tentacles", "p1") + show her_tentacles_public_1 as cg zorder 17 hide screen blkfade with d9 call ctc her "!!!" her "What on earth is going on?" - play bg_sounds "sounds/slickloop.ogg" fadein 2 fadeout 2 - ">You slowly begin to move the tentacles in her vagina." - $ dynamic_cg("herm_tentacles", "p2") + play background "sounds/slickloop.ogg" fadein 2 fadeout 2 + nar "You slowly begin to move the tentacles in her vagina." + show her_tentacles_public_2 as cg her "Oh..." - ">You move a small, mouthed tentacle to her ear so that only she can hear you." + nar "You move a small, mouthed tentacle to her ear so that only she can hear you." gen "Enjoying yourself slut?" her "Professor!" gen "That's right, just do as I say and relax." her "How am I supposed to relax?!" gen "Well if you're not going to relax, at least try to enjoy it..." - ">You start rotating the tentacles in her vagina." - $ renpy.sound.play("sounds/slick_02.ogg") - $ dynamic_cg("herm_tentacles", "p3") + nar "You start rotating the tentacles in her vagina." + play sound "sounds/slick_02.ogg" + show her_tentacles_public_3 as cg her "..." - spo "If you keep thrashing about so much it won't let you go, stay still girl!" + spo "If you keep thrashing about so much it won't let you go, stay still, girl!" her "I-I'm trying!" - gen "Are you sure you're trying enough? Judging by how much you're moving I'd say that's quite the opposite." + gen "Are you sure you're trying enough? Judging by how much you're moving, I'd say that's quite the opposite." gen "Someone might even think that you are enjoying this." her "They wouldn't..." mal "Who's she talking to?" mal2 "I've got no idea, this bitch is crazy." gen "Are you sure? Do you think you'll be able to stifle every moan?" - $ renpy.sound.play("sounds/slick_02.ogg") - ">You push deeply into her with the three tentacles." + play sound "sounds/slick_02.ogg" + nar "You push deeply into her with the three tentacles." her "!!!" - $ dynamic_cg("herm_tentacles", "p4") + show her_tentacles_public_4 as cg gen "Do you think you'll be able to stop your hips from bucking?" - ">You give her another powerful thrust." - $ renpy.sound.play("sounds/slick_02.ogg") + nar "You give her another powerful thrust." + play sound "sounds/slick_02.ogg" her "{size=-6}{heart}*Ah*{/size}" gen "Do you really think that you'll be able to stop yourself from begging me for more?" - ">You increase the speed of the tentacles." - play bg_sounds "sounds/slickloopfast.ogg" fadein 2 fadeout 2 + nar "You increase the speed of the tentacles." + play background "sounds/slickloopfast.ogg" fadein 2 fadeout 2 her "{size=-3}*mmmmmmm*{/size}" - gen "I don't think you will. In fact I know that you won't." + gen "I don't think you will. In fact, I know that you won't." gen "Because I know what you are. A slut." gen "A slut who can only think about getting off when she's being fucked by a plant in front of her classmates." - stop bg_sounds fadeout 2 - ">You stop moving the tentacles." + stop background fadeout 2 + nar "You stop moving the tentacles." gen "Now tell them what you are." - her "W-w-what? No please, just don't stop." - $ renpy.sound.play("sounds/creaking.ogg") - gen "Tell them what you are and I'll keep going." + her "W-w-what? No, please, just don't stop." + play sound "sounds/creaking.ogg" + gen "Tell them what you are, and I'll keep going." her "I can't... Just keep going..." gen "Say it." her "{size=-3}I'm a slut.{/size}" - play bg_sounds "sounds/slickloop.ogg" fadein 2 fadeout 2 - ">You start rotating the tentacles in her vagina ever so slowly." + play background "sounds/slickloop.ogg" fadein 2 fadeout 2 + nar "You start rotating the tentacles in her vagina ever so slowly." gen "What was that? I don't think that they heard you. Why don't you say it once more, with feeling." her "I'm a slut!" - play bg_sounds "sounds/slickloopveryfast.ogg" fadein 2 fadeout 2 - ">You begin fiercely fucking her vagina." + play background "sounds/slickloopveryfast.ogg" fadein 2 fadeout 2 + nar "You begin fiercely fucking her vagina." her "Yes, yes, I'm a fucking slut. Fuck me harder." gen "See that wasn't so hard now was it. How about I give you a little reward." her "Wha--" - $ dynamic_cg("herm_tentacles", "p5") - ">You thrust a ribbed tentacle deeply into her asshole in one motion." - $ renpy.sound.play("sounds/slick_02.ogg") + show her_tentacles_public_5 as cg + nar "You thrust a ribbed tentacle deeply into her asshole in one motion." + play sound "sounds/slick_02.ogg" her "!!!" her "It's in my ass... I-I'm...{w=0.4} I-I'm cumming." - ">You take alternating turns pumping into her ass and pussy." + nar "You take alternating turns pumping into her ass and pussy." her "I'm cumming! It's too much..." - $ dynamic_cg("herm_tentacles", "p6") - $ renpy.sound.play("sounds/slick_01.ogg") - ">You feel her body shudder as the orgasm rocks her." - ">This only spurs you on to fuck her harder." + show her_tentacles_public_6 as cg + play sound "sounds/slick_01.ogg" + nar "You feel her body shudder as the orgasm rocks her." + nar "This only spurs you on to fuck her harder." her "Please... no more... I'll faint..." - ">You start to feel a strange energy flowing through the vines, moving towards the tips." + nar "You start to feel a strange energy flowing through the vines, moving towards the tips." gen "This is it girl, get ready." her "... ready?..." - $ dynamic_cg("herm_tentacles", "p7") - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") - ">With one final surge you release the pent up energy in a surge of white sap all over her." - $ renpy.sound.play("sounds/slick_02.ogg") + show her_tentacles_public_7 as cg + stop background fadeout 2 + play sound "sounds/slick_01.ogg" + nar "With one final surge you release the pent-up energy in a surge of white sap all over her." + play sound "sounds/slick_02.ogg" gen "By the gods, it's as if each vine is cumming. This is amazing..." - $ renpy.sound.play("sounds/slick_02.ogg") - ">The sensations proved to much for Hermione and she faints, going limp in your tentacles." + play sound "sounds/slick_02.ogg" + nar "The sensations proved too much for Hermione, and she faints, going limp in your tentacles." mal "What a slut..." fem "That's what I've been telling you!" mal2 "Man, I'm going to have to join Gryffindor." - hide screen cg show screen blkfade + hide cg with d9 pause.8 - ">You place Hermione back onto the desk as the plant that you are occupying slowly wilts and dies." - ">Professor Sprout quickly runs over." - spo "Miss Granger are you okay?" + nar "You place Hermione back onto the desk as the plant that you are occupying slowly wilts and dies." + nar "Professor Sprout quickly runs over." + spo "Miss Granger, are you okay?" her "..." spo "Quickly, someone take her to the hospital wing." mal "Should we cover her up?" @@ -473,7 +473,7 @@ label tentacle_1: #Public path if hermione.is_worn("panties"): spo "Oh yes, I suppose you should." mal "{size=-4}Damn dude, have you seen her tits?!{/size}" - ">*Squeeze* *Squeeze*" + nar "*Squeeze* *Squeeze*" mal2 "{size=-4}Holy shit, they're soft.{/size}" spo "If you two don't stop that at once you'll get expelled." mal "S-sorry..." @@ -485,13 +485,12 @@ label tentacle_1: #Public path spo "I said take her out!" mal "Y-yes ma'am..." - call play_sound("walking") + play sound "sounds/run_04.ogg" - ">You hear the boys snickering to each other whilst they carry Hermione out in some unknown direction..." + nar "You hear the boys snickering to each other whilst they carry Hermione out in some unknown direction..." spo "Class dismissed!" - hide screen cg show screen blkfade with d9 pause.8 @@ -499,90 +498,92 @@ label tentacle_1: #Public path return label tentacle_2: # Personal path - $ dynamic_cg("herm_tentacles", "p1") + show her_tentacles_personal_1 as cg zorder 17 hide screen blkfade with d9 call ctc her "What kind of sick plant is this?!" - play bg_sounds "sounds/slickloop.ogg" fadein 2 fadeout 2 - ">You start pumping the tentacles in her vagina slowly..." + play background "sounds/slickloop.ogg" fadein 2 fadeout 2 + nar "You start pumping the tentacles in her vagina slowly..." her "Oh..." - ">You move a small tentacle with a mouth on the end to her ear so that only she can hear you." - gen "Enjoying yourself, [hermione_name]?" + nar "You move a small tentacle with a mouth on the end to her ear so that only she can hear you." + gen "Enjoying yourself, [name_hermione_genie]?" her "Profes--" - $ dynamic_cg("herm_tentacles", "e2") + show her_tentacles_personal_2 as cg call ctc - $ renpy.sound.play("sounds/slick_02.ogg") - ">You quickly force another flowered tentacle into her mouth." - gen "Now, now [hermione_name], you don't want anyone to find out how much you actually are enjoying yourself now, do you?" + play sound "sounds/slick_02.ogg" + nar "You quickly force another flowered tentacle into her mouth." + gen "Now, now [name_hermione_genie], you don't want anyone to find out how much you are enjoying yourself now, do you?" her "*Hmmmhhhhhhhhh* !" gen "Well, then just do what Miss Sprout says and stay still." gen "Just act like this is some horrible accident, that you are just a victim." gen "Instead of the slut that you really are..." - $ renpy.sound.play("sounds/slick_02.ogg") - ">You start to rotate the tentacles in her vagina." + play sound "sounds/slick_02.ogg" + nar "You start to rotate the tentacles in her vagina." gen "!!! *HMMMMM*" mal "Wow, I think she's starting to enjoy it." - fem "Hermione? No way, she's too stuck-up to let boys kiss her, not to mention enjoying sex. {size=-6}With a plant but still..{/size}" + fem "Hermione? No way, she's too stuck-up to let boys kiss her, not to mention enjoying sex. {size=-6}With a plant but still...{/size}" mal2 "I don't know man, she doesn't look like she hates it." - play bg_sounds "sounds/slickloopfast.ogg" fadein 2 fadeout 2 - ">You increase the speed of the tentacles in her vagina." - gen "Hear that, [hermione_name]? Your classmates are starting to realise how much you like getting your pussy stuffed." + play background "sounds/slickloopfast.ogg" fadein 2 fadeout 2 + nar "You increase the speed of the tentacles in her vagina." + gen "Hear that, [name_hermione_genie]? Your classmates are starting to realise how much you like getting your pussy stuffed." her "*NNNNNNNNNm*" gen "What was that? Faster you say?" - gen "You got it, [hermione_name]!" - $ dynamic_cg("herm_tentacles", "e3") - play bg_sounds "sounds/slickloopveryfast.ogg" fadein 2 fadeout 2 - ">You begin fucking Hermione in earnest." - her "*HMMMMMMm...!!!*" - ">The sensation of fucking Hermione in two different holes is almost overwhelming." + gen "You got it, [name_hermione_genie]!" + show her_tentacles_personal_3 as cg + play background "sounds/slickloopveryfast.ogg" fadein 2 fadeout 2 + nar "You begin fucking Hermione in earnest." + her "*Hmmmmm...!!!*" + nar "The sensation of fucking Hermione in two different holes is almost overwhelming." gen "I know you are loving every second of this..." gen "... Being fucked in front of your classmates." gen "Having your tits and pussy on display..." - ">You move a ridged tentacle towards her ass." - her "*mm eehh oorr mmmnooo*!" - $ renpy.sound.play("sounds/slick_02.ogg") - $ dynamic_cg("herm_tentacles", "e4") - ">You enter her tight ass. The feeling of being in every hole at once is incredible." - her "*mmmmmmmm*" - ">Hermione barely manages a groan, overwhelmed by the shear amount of pleasure she is currently bombarded with." - play bg_sounds "sounds/slickloop.ogg" fadein 2 fadeout 2 - gen "Admit it! You're loving this aren't you." + nar "You move a ridged tentacle towards her ass." + her "*Mm eehh oorr mmmnooo*!" + play sound "sounds/slick_02.ogg" + show her_tentacles_personal_4 as cg + nar "You enter her tight ass. The feeling of being in every hole at once is incredible." + her "*Mmmmmmmmh*" + nar "Hermione barely manages a groan, overwhelmed by the sheer amount of pleasure she is currently bombarded with." + play background "sounds/slickloop.ogg" fadein 2 fadeout 2 + gen "Admit it! You're loving this, aren't you?" gen "Having your holes filled in front of your classmates like the whore you are." - gen "Go on say it! Tell me what you are!" + gen "Go on, say it! Tell me what you are!" her "*Hmmm aaaaa hhhhhhuuuttt*" gen "What was that, I couldn't quite make it out over the sound of you sucking dick." her "*Hmmm aaaaa hhhhhhuuuttt*!" gen "One last time. Say it like you mean it." - $ dynamic_cg("herm_tentacles", "e5") - ">As she exhales, you quickly remove the tentacle from her mouth." + show her_tentacles_personal_5 as cg + nar "As she exhales, you quickly remove the tentacle from her mouth." her "{size=+5}I'm a slut!{/size}" - ">The realisation of what has just occurred hits her like a ton of bricks." + nar "The realisation of what has just occurred hits her like a ton of bricks." her "I-I'm cumming... Professor--" - $ dynamic_cg("herm_tentacles", "e6") - $ renpy.sound.play("sounds/slick_02.ogg") - ">You quickly reinsert the tentacle into her mouth, silencing her." + show her_tentacles_personal_6 as cg + play sound "sounds/slick_02.ogg" + nar "You quickly reinsert the tentacle into her mouth, silencing her." gen "Good girl. Time for your reward." - play bg_sounds "sounds/slickloopveryfast.ogg" fadein 2 fadeout 2 - ">You quicken the pace as she convulses beneath you." - $ dynamic_cg("herm_tentacles", "e7") - $ renpy.sound.play("sounds/slick_01.ogg") - ">You explode inside of her from every tentacle-like heads, filling her up to the brim." - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_02.ogg") + play background "sounds/slickloopveryfast.ogg" fadein 2 fadeout 2 + nar "You quicken the pace as she convulses beneath you." + show her_tentacles_personal_7 as cg + play sound "sounds/slick_01.ogg" + nar "You explode inside of her from every tentacle-like head, filling her up to the brim." + stop background fadeout 2 + play sound "sounds/slick_02.ogg" mal "Told you she was a slut." - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" fem "I guess you were right..." - hide screen cg + show screen blkfade with d9 + hide cg + pause.8 - ">Professor Sprout quickly runs over." - spo "Miss Granger are you okay? Miss Granger!" + nar "Professor Sprout quickly runs over." + spo "Miss Granger, are you okay? Miss Granger!" her "..................*Ah*" spo ".... She's breathing, thank be Merlin." spo "You! Yes, you girls! Take her to the hospital wing at once!" @@ -590,7 +591,7 @@ label tentacle_2: # Personal path spo "What are you waiting for!" fem "{size=-4}Fine...{/size}" - call play_sound("running") + play sound "sounds/run_03.ogg" pause 3.0 spo "Class dismissed!" diff --git a/game/scripts/characters/hermione/events/tutoring.rpy b/game/scripts/characters/hermione/events/tutoring.rpy index 067113b3..2b59f962 100644 --- a/game/scripts/characters/hermione/events/tutoring.rpy +++ b/game/scripts/characters/hermione/events/tutoring.rpy @@ -3,73 +3,74 @@ label hg_tutor_start: # Tier 1 - if her_tutoring == 1: + if states.her.ev.tutoring.stage == 1: jump hg_tutor_E1 - elif her_tutoring == 2: + elif states.her.ev.tutoring.stage == 2: jump hg_tutor_E2 - elif her_tutoring == 3: + elif states.her.ev.tutoring.stage == 3: jump hg_tutor_E3 # Tier 2 - elif her_tutoring == 4 and her_tier >= 2: + elif states.her.ev.tutoring.stage == 4 and states.her.tier >= 2: jump hg_tutor_E4 - elif her_tutoring == 5 and her_tier >= 2: + elif states.her.ev.tutoring.stage == 5 and states.her.tier >= 2: jump hg_tutor_E5 # Tier 3 - elif her_tutoring == 6 and her_tier >= 3: + elif states.her.ev.tutoring.stage == 6 and states.her.tier >= 3: jump hg_tutor_E6 - elif her_tutoring == 7 and her_tier >= 3: + elif states.her.ev.tutoring.stage == 7 and states.her.tier >= 3: jump hg_tutor_E7 # Tier 4 - elif her_tutoring == 8 and her_tier >= 4: + elif states.her.ev.tutoring.stage == 8 and states.her.tier >= 4: if adult_mag_ITEM.owned >= 1: # Adult magazines jump hg_tutor_E8 else: gen "I need to buy adult magazines for this lesson." ("base", xpos="far_left", ypos="head") - elif her_tutoring == 9 and her_tier >= 4: + elif states.her.ev.tutoring.stage == 9 and states.her.tier >= 4: if porn_mag_ITEM.owned >= 1: # Porn magazines jump hg_tutor_E9 else: gen "I need to buy porn magazines for this lesson." ("base", xpos="far_left", ypos="head") # Tier 5 - elif her_tutoring == 10 and her_tier >= 5: + elif states.her.ev.tutoring.stage == 10 and states.her.tier >= 5: if vibrator_ITEM.owned >= 1: # Vibrator jump hg_tutor_E10 else: gen "I need to buy a vibrator for this lesson." ("base", xpos="far_left", ypos="head") - elif her_tutoring == 11 and her_tier >= 5: + elif states.her.ev.tutoring.stage == 11 and states.her.tier >= 5: if anal_plugs_ITEM.owned >= 1: # Anal plugs jump hg_tutor_E11 else: gen "I need to buy anal plugs for this lesson." ("base", xpos="far_left", ypos="head") # Tier 6 - elif her_tutoring == 12 and her_tier >= 6: + elif states.her.ev.tutoring.stage == 12 and states.her.tier >= 6: jump hg_tutor_E12 - elif her_tutoring == 13 and her_tier >= 6: + elif states.her.ev.tutoring.stage == 13 and states.her.tier >= 6: jump hg_tutor_E13 - elif her_tutoring == 14 and her_tier >= 6 and hg_sex.trigger and hg_anal.trigger: + elif states.her.ev.tutoring.stage == 14 and states.her.tier >= 6 and states.her.status.sex and states.her.status.anal: jump hg_tutor_E14 - elif her_tutoring == 15: + elif states.her.ev.tutoring.stage == 15: gen "(I have taught her everything there was to teach.)" ("base", xpos="far_left", ypos="head") else: gen "(She's not ready for her next lesson yet.)" ("base", xpos="far_left", ypos="head") + gen "(I should ask her for some favours first.)" ("base", xpos="far_left", ypos="head") jump hermione_requests label hg_tutor_E1: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - her "[genie_name], I'm very thankful that you're doing this for me." ("open", "base", "base", "mid") + her "[name_genie_hermione], I'm very thankful that you're doing this for me." ("open", "base", "base", "mid") gen "Doing what?" ("base", xpos="far_left", ypos="head") her "My tutoring lessons..." ("soft", "squint", "base", "mid") - her "I hope you're still planning to lecture me, [genie_name]?" ("annoyed", "base", "base", "mid") + her "I hope you're still planning to lecture me, [name_genie_hermione]?" ("annoyed", "base", "base", "mid") gen "Oh, I'll give you a lecture for sure." ("grin", xpos="far_left", ypos="head") her "Shall I go and fetch my books, then?" ("open", "squint", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "My Books, [genie_name]. I need to study them more for my tests." ("soft", "base", "base", "R") + her "My Books, [name_genie_hermione]. I need to study them more for my tests." ("soft", "base", "base", "R") her "All the knowledge I need is in those books!" ("annoyed", "narrow", "angry", "R") gen "Books can't teach you everything, girl... Some knowledge only comes with practice and experience!" ("base", xpos="far_left", ypos="head") gen "(I'm really just going to make this shit up as I go, ain't I?)" ("base", xpos="far_left", ypos="head") @@ -96,7 +97,7 @@ label hg_tutor_E1: gen "{size=-4}And soon you'll love cock!{/size}" ("grin", xpos="far_left", ypos="head") her "Yes?" ("soft", "base", "base", "mid", trans=d5) gen "I didn't say anything..." ("base", xpos="far_left", ypos="head") - her "If you say so, [genie_name]." ("open", "base", "base", "R") + her "If you say so, [name_genie_hermione]." ("open", "base", "base", "R") "-No back talk-": $ d_flag_02 = True @@ -137,10 +138,10 @@ label hg_tutor_E1: her "Yes, I suppose you are right..." ("angry", "base", "worried", "mid") her "Alright, I'm ready to study hard with you!" ("base", "base", "base", "mid") gen "{size=-2}Yes, we will study hard-on going forward!{/size}" ("grin", xpos="far_left", ypos="head") - her "Huh?" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "" ("normal", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Huh?" ("open", "narrow", "annoyed", "mid") + her @ cheeks blush "" ("normal", "narrow", "annoyed", "mid") gen "What did I say about back talk?" ("angry", xpos="far_left", ypos="head") - her "..........." ("annoyed", "narrow", "annoyed", "R", cheeks="blush") + her @ cheeks blush "..........." ("annoyed", "narrow", "annoyed", "R") gen "You learn quick, that's good." ("base", xpos="far_left", ypos="head") gen "Alright, I want you to take some time and think about what we've discussed. I'll let you know when we can start with the first lesson." ("base", xpos="far_left", ypos="head") her "Can't we start now?" ("open", "base", "base", "mid") @@ -161,13 +162,13 @@ label hg_tutor_E1: call her_walk("door", "base") - her "{size=-4}(I'm glad professor agreed to tutor me!){/size}" ("base", "happyCl", "worried", "mid", cheeks="blush", xpos="base", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(I'm glad the professor agreed to tutor me!){/size}" ("base", "happyCl", "worried", "mid", xpos="base", ypos="head", flip=False, trans=d3) her "{size=-4}(But pleasure and pain? I don't understand where this is going...){/size}" ("annoyed", "base", "base", "R") her "{size=-4}(And what other students is he tutoring?){/size}" ("annoyed", "base", "worried", "L") call her_chibi("leave") - $ her_tutoring = 2 + $ states.her.ev.tutoring.stage = 2 jump end_hermione_event label hg_tutor_E2: @@ -175,7 +176,7 @@ label hg_tutor_E2: gen "Miss Granger, time for your first lesson." ("base", xpos="far_left", ypos="head") her "Yes, professor." ("soft", "base", "base", "R") gen "Have you thought about what we discussed?" ("base", xpos="far_left", ypos="head") - her "Not really, I'm not sure what you mean by \"emotions\"." ("normal", "base", "base", "mid") + her "Not really, I'm not sure what you meant by increasing magic ability through \"emotions\"." ("normal", "base", "base", "mid") gen "{size=-2}(You'll learn soon enough, girl.){/size}" ("grin", xpos="far_left", ypos="head") gen "For example, what was your state of mind when you heard those rumours about the Slytherin girls?" ("base", xpos="far_left", ypos="head") her "Please don't bring that up, sir! it really makes me mad!" ("clench", "base", "worried", "stare") @@ -193,29 +194,30 @@ label hg_tutor_E2: gen "Knowledge, Miss Granger, knowledge..." ("base", xpos="far_left", ypos="head") her "I am by far the most knowledgeable of my peers, professor. What more can you ask?" ("open", "closed", "base", "mid") gen "......{w=0.5}Miss Granger, did we not discuss this already? You need to accept you still have much to learn." ("base", xpos="far_left", ypos="head") - gen "I'm tired if repeating myself, let's finish it for tonight." ("base", xpos="far_left", ypos="head") + gen "I'm tired of repeating myself, let's finish it for tonight." ("base", xpos="far_left", ypos="head") her "What? So soon?" ("open", "narrow", "annoyed", "mid") gen "There are other students requiring my attention, you're not the only one." ("base", xpos="far_left", ypos="head") - her "Don't tell me you're planning on tutoring one of those harlots from Slytherin, professor?" ("normal", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Don't tell me you're planning on tutoring one of those harlots from Slytherin, professor?" ("normal", "narrow", "annoyed", "mid") gen "Maybe, maybe not, that's none of your concern." ("base", xpos="far_left", ypos="head") her "But...{w=0.5} that's so wrong..." ("open", "base", "base", "mid") gen "One must make sacrifices to achieve greatness..." ("base", xpos="far_left", ypos="head") - her "But--" ("open", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "But--" ("open", "base", "worried", "mid") gen "If you want to progress and to restore the Gryffindor pride, you must!" ("base", xpos="far_left", ypos="head") - her "I guess you're right. I'll do my best, professor." ("base", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "I guess you're right. I'll do my best, professor." ("base", "base", "worried", "mid") gen "{size=-2}(She is so naive, it's adorable.){/size}" ("grin", xpos="far_left", ypos="head") gen "Good, now time to go to bed, my apprentice." ("base", xpos="far_left", ypos="head") her "{size=-2}(*Tsh*... Like I'm going to bed at this time, I need to study more.){/size}" ("normal", "squint", "angry", "mid") - her "Of course! Goodnight, [genie_name]." ("base", "happyCl", "base", "mid") + her "Of course! Goodnight, [name_genie_hermione]." ("base", "happyCl", "base", "mid") call her_walk("door", "base") - her "{size=-4}(Filthy whores...){/size}" ("angry", "closed", "angry", "mid", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(Oh, I should not talk like that...{w=0.5} but it feels so good!){/size}" ("base", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-4}(Filthy whores...){/size}" ("angry", "closed", "angry", "mid", xpos="far_right", ypos="head", flip=True, trans=d3) + her @ cheeks blush "{size=-4}(Oh, I should not talk like that...{w=0.5} but it feels good to let my emotions out!){/size}" ("base", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-4}(Maybe professor is onto something, after all...){/size}" ("soft", "base", "base", "R") call her_chibi("leave") - $ her_tutoring = 3 + $ states.her.ev.tutoring.stage = 3 jump end_hermione_event label hg_tutor_E3: @@ -229,13 +231,13 @@ label hg_tutor_E3: her "........." ("annoyed", "narrow", "annoyed", "up") her "Sorry about that, {w=0.5}again." ("open", "squint", "base", "mid") gen "I need you to focus on what those girls do with professors, not their behaviour in general." ("base", xpos="far_left", ypos="head") - her "But..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "But..." ("open", "base", "base", "mid") gen "Last time you were talking about your sacred duty and at the first hurdle you hesitate." ("base", xpos="far_left", ypos="head") her "{size=-2}(\"Sacred\"? Don't exaggerate, old man){/size}" ("annoyed", "narrow", "worried", "down") - her "{size=-2}(Or not! Maybe I'll be remembered later for being the saviour of the Gryffindor house!){/size}" ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-2}(Or not! Maybe I'll be remembered later for being the saviour of the Gryffindor house!){/size}" ("open", "happyCl", "worried", "mid") her "Yes, you're right! It {b}is{/b} my sacred duty!" ("smile", "base", "base", "R") gen "{size=-2}(It works every time, it's too easy... She looks so proud of herself.){/size}" ("grin", xpos="far_left", ypos="head") - her "I'll do my best, professor!" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I'll do my best, professor!" ("open", "base", "base", "mid") gen "I'm excited too... uh, I'm sure you will." ("grin", xpos="far_left", ypos="head") her "I'm glad you have such high confidence in me." ("grin", "happyCl", "worried", "mid") gen "And I'm glad you're starting to believe in this. I think you have the potential to master this branch of magic." ("base", xpos="far_left", ypos="head") @@ -250,13 +252,13 @@ label hg_tutor_E3: call her_walk("door", "base") - her "{size=-4}(*Hmm*... I wonder what he {b}was{/b} thinking about.){/size}" ("base", "narrow", "base", "down", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(Probably all the problems caused by those harlots.){/size}" ("base", "narrow", "base", "mid_soft", cheeks="blush") - her "{size=-4}(Well, I will never be like them, so no need to worry.){/size}" ("silly", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "{size=-4}(*Hmm*... I wonder what he {b}was{/b} thinking about.){/size}" ("base", "narrow", "base", "down", xpos="far_right", ypos="head", flip=True, trans=d3) + her @ cheeks blush "{size=-4}(Probably all the problems caused by those harlots.){/size}" ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "{size=-4}(Well, I will never be like them, so no need to worry.){/size}" ("silly", "narrow", "base", "mid_soft") call her_chibi("leave") - $ her_tutoring = 4 + $ states.her.ev.tutoring.stage = 4 jump end_hermione_event label hg_tutor_E4: @@ -268,53 +270,53 @@ label hg_tutor_E4: gen "It works? I mean, yes, naturally it works!" ("base", xpos="far_left", ypos="head") gen "I'm glad you've succeeded. Now tell me more." ("base", xpos="far_left", ypos="head") her "I managed to levitate a heavy rock while thinking about the behaviour of two girls I saw earlier in the library." ("open", "closed", "base", "mid") - her "Usually I only manage to move small rocks. I don't know, I felt kind of warm inside thinking about that." ("mad", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Usually I only manage to move small rocks. I don't know, I felt kind of warm inside thinking about that." ("mad", "base", "angry", "mid") her "It felt weird but... {w=0.5}good at the same time." gen "{size=-2}(She is so ignorant of life! Unbelievable.){/size}" ("base", xpos="far_left", ypos="head") gen "You've never felt such a sensation before?" ("base", xpos="far_left", ypos="head") - her "Generally I get angry and rush to stop such behaviour." ("clench", "base", "worried", "mid", cheeks="blush", tears="soft") - her "But yesterday, I don't know, I just watched without interrupting them." ("open", "happyCl", "worried", "mid", cheeks="blush") - her "And when I pictured it, as you told me to, it worked." ("open", "base", "base", "mid", cheeks="blush") - her "I feel at the same level as those harlots, I'm so ashamed." ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush tears soft "Generally I get angry and rush to stop such behaviour." ("clench", "base", "worried", "mid") + her @ cheeks blush "But yesterday, I don't know, I just watched without interrupting them." ("open", "happyCl", "worried", "mid") + her @ cheeks blush "And when I pictured it, as you told me to, it worked." ("open", "base", "base", "mid") + her @ cheeks blush "I feel at the same level as those harlots, I'm so ashamed." ("angry", "base", "angry", "mid") gen "But you succeeded." ("base", xpos="far_left", ypos="head") gen "{size=-2}(To my surprise...){/size}" ("grin", xpos="far_left", ypos="head") - her "Yes! With this method I'll have better grades in my tests and win the House Cup for Gryffindor!" ("angry", "happyCl", "worried", "mid", cheeks="blush", emote="sweat") + her @ cheeks blush "Yes! With this method I'll have better grades in my tests and win the House Cup for Gryffindor!" ("angry", "happyCl", "worried", "mid", emote="sweat") gen "{size=-2}(In your dreams.){/size}" ("grin", xpos="far_left", ypos="head") gen "Good, good. Now I want to know more about those two girls." ("base", xpos="far_left", ypos="head") - her "It's not very relevant, professor. And I'm not sure this is appropriate." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "It's not very relevant, professor. And I'm not sure this is appropriate." ("annoyed", "narrow", "angry", "R") gen "How will you improve yourself if I can't guide you?" ("base", xpos="far_left", ypos="head") gen "And for that, I must know more." ("base", xpos="far_left", ypos="head") - her "Alright, but it's embarrassing." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Alright, but it's embarrassing." ("annoyed", "narrow", "angry", "R") gen "{size=-2}(Ooh, I hope they were naked!){/size}" ("grin", xpos="far_left", ypos="head") her "I went to the library to study interactions between plants..." ("open", "closed", "base", "mid") gen "{size=-2}(Yeah, yeah, come on...){/size}" ("angry", xpos="far_left", ypos="head") - her "... and I heard muffled sounds." ("base", "base", "base", "R", cheeks="blush") - her "I was hoping to catch a teacher doing bad things with one of those Slytherin whores." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "I slowly headed towards the sounds and I discovered two girls in an alcove." ("open", "base", "base", "mid", cheeks="blush") - her "I remained hidden to observe them." ("grin", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "... and I heard muffled sounds." ("base", "base", "base", "R") + her @ cheeks blush "I was hoping to catch a teacher doing bad things with one of those Slytherin whores." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "I slowly headed towards the sounds and I discovered two girls in an alcove." ("open", "base", "base", "mid") + her @ cheeks blush "I remained hidden to observe them." ("grin", "wink", "base", "mid") gen "{size=-2}(Come on!){/size}" ("angry", xpos="far_left", ypos="head") - her "Yes, professor?" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Yes, professor?" ("base", "narrow", "base", "up") gen "Yes, no, please continue." ("base", xpos="far_left", ypos="head") - her "They were kissing passionately." ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "They were kissing passionately." ("open", "happyCl", "worried", "mid") gen "And? And?" ("grin", xpos="far_left", ypos="head") her "And a moment later they began to..." ("open", "closed", "base", "mid") - her "They began to..." ("open", "happyCl", "worried", "mid", cheeks="blush") - her "They began to touch their breasts!" ("scream", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "They began to..." ("open", "happyCl", "worried", "mid") + her @ cheeks blush "They began to touch their breasts!" ("scream", "wide", "base", "stare") gen "They were naked, I hope?" ("base", xpos="far_left", ypos="head") - her "What?" ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "What?" ("open", "happy", "base", "mid") her "No, fortunately they were dressed." - her "How can such a thing happen in our beloved school!" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "How can such a thing happen in our beloved school!" ("angry", "base", "angry", "mid") gen "But you kept watching, didn't you?" ("base", xpos="far_left", ypos="head") - her "Only for educational purposes." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Only for educational purposes." ("annoyed", "narrow", "angry", "R") gen "{size=-2}(\"Educational purposes\"... ha-ha, I've never heard a worse excuse!){/size}" ("grin", xpos="far_left", ypos="head") gen "And during all this time you didn't feel a certain need?" ("base", xpos="far_left", ypos="head") - her "To my shame, yes. Like I said before, I felt kind of warm inside." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Like when I have to pee but... different. Better." ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "To my shame, yes. Like I said before, I felt kind of warm inside." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Like when I have to pee but... different. Better." ("disgust", "narrow", "base", "down") gen "This good sensation... next time you experience it, let it come." ("base", xpos="far_left", ypos="head") - her "But..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "But..." ("open", "base", "base", "mid") gen "It's the only way to get better, Miss Granger." ("base", xpos="far_left", ypos="head") gen "If you suppress it, it won't work." ("base", xpos="far_left", ypos="head") - her "Ok...{w=0.3} I'll try my best." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Ok...{w=0.3} I'll try my best." ("annoyed", "narrow", "angry", "R") her "But to be honest, sir, I thought you were going to punish those two sluts." gen "Can you provide proof of their crime? No?" ("base", xpos="far_left", ypos="head") gen "Even I can't punish students without proof of any wrongdoing." ("base", xpos="far_left", ypos="head") @@ -325,16 +327,16 @@ label hg_tutor_E4: call her_walk("door", "base") - her "{size=-4}(Well, I'll try to investigate those two girls again.){/size}" ("disgust", "narrow", "base", "down", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(Like a real anthropologist!){/size}" ("base", "narrow", "base", "mid_soft", cheeks="blush") - her "{size=-4}(Yes, that's right. Hermione the anthropologist!){/size}" ("base", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-4}(Well, I'll try to investigate those two girls again.){/size}" ("disgust", "narrow", "base", "down", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(Like a real anthropologist!){/size}" ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "{size=-4}(Yes, that's right. Hermione the anthropologist!){/size}" ("base", "happyCl", "worried", "mid") call her_chibi("leave") - $ her_tutoring = 5 + $ states.her.ev.tutoring.stage = 5 - if her_whoring < 9: - $ her_whoring += 1 + if states.her.level < 9: + $ states.her.level += 1 jump end_hermione_event @@ -345,8 +347,8 @@ label hg_tutor_E5: gen "{size=-2}(\"Hunt?\"){/size}" ("base", xpos="far_left", ypos="head") gen "Your \"hunt,\" Miss Granger?" ("base", xpos="far_left", ypos="head") her "Yes, professor!" ("smile", "happyCl", "base", "mid") - her "Like an explorer in the wild jungle, I tracked those two filthy animals." ("base", "narrow", "worried", "mid_soft", cheeks="blush") - her "With success, sir!" ("smile", "happyCl", "base", "mid", cheeks="blush", emote="happy") + her @ cheeks blush "Like an explorer in the wild jungle, I tracked those two filthy animals." ("base", "narrow", "worried", "mid_soft") + her @ cheeks blush "With success, sir!" ("smile", "happyCl", "base", "mid", emote="happy") her "Hogwarts has so many dark and discreet corners..." ("annoyed", "base", "base", "mid") her "Believe me, it wasn't easy, professor." ("base", "narrow", "worried", "mid_soft") gen "I'm sure you gave it your best." ("base", xpos="far_left", ypos="head") @@ -361,47 +363,47 @@ label hg_tutor_E5: gen "And that's it?" ("base", xpos="far_left", ypos="head") gen "No \"this behaviour must be severely punished\"?" ("base", xpos="far_left", ypos="head") gen "Are you attracted to girls of this sort, Miss Granger?" ("base", xpos="far_left", ypos="head") - her "What? I'm not a-- I mean no, Sir." ("open", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "What? I'm not a-- I mean no, Sir." ("open", "base", "worried", "mid") gen "Alright, alright, back to your report, if you please." ("base", xpos="far_left", ypos="head") - her "{size=-2}(I'm not a lesbian...{w=0.3} I think...){/size}" ("disgust", "narrow", "base", "down", cheeks="blush") - her "{size=-2}(Hermione, pull yourself together! You're not a harlot!){/size}" ("mad", "happyCl", "worried", "mid", cheeks="blush") - her "No, I'm not!" ("annoyed", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "{size=-2}(I'm not a lesbian...{w=0.3} I think...){/size}" ("disgust", "narrow", "base", "down") + her @ cheeks blush "{size=-2}(Hermione, pull yourself together! You're not a harlot!){/size}" ("mad", "happyCl", "worried", "mid") + her @ cheeks blush "No, I'm not!" ("annoyed", "narrow", "worried", "down") gen "Excuse me?" ("base", xpos="far_left", ypos="head") - her "Uh... Yes, my report. My {b}scientific{/b} report." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Uh... Yes, my report. My {b}scientific{/b} report." ("open", "base", "base", "mid") gen "{size=-2}(Yeah, we get it...){/size}" ("base", xpos="far_left", ypos="head") - her "So, like before, they started by kissing passionately." ("open", "happyCl", "worried", "mid", cheeks="blush") - her "With the tongue and everything!" ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "So, like before, they started by kissing passionately." ("open", "happyCl", "worried", "mid") + her @ cheeks blush "With the tongue and everything!" ("open", "base", "base", "R") menu: "-Start jerking off-": - $ genie_masturbating = True + $ states.gen.masturbating = True hide hermione_main hide screen blktone - call nar(_(">You reach under the desk and grab your cock...")) + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 call ctc "-Just listen-": - $ genie_masturbating = False + $ states.gen.masturbating = False pass - her "" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("open", "base", "base", "mid") gen "And? And?" ("grin", xpos="far_left", ypos="head") - her "They pulled up their shirts and caressed each other's breasts." ("open", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-2}(Their beautiful and tempting breasts...){/size}" ("open", "narrow", "base", "up", cheeks="blush") - her "Later those nasty girls raised their skirts and started to touch each other \"there\" while kissing." ("silly", "narrow", "base", "up", cheeks="blush") - her "{size=-2}(I can't believe I said that!){/size}" ("base", "narrow", "base", "up", cheeks="blush", tears="sweat") - her "They were very excited, and I could see their panties become wet." ("open", "narrow", "base", "up", cheeks="blush") - her "Disgusting." ("annoyed", "narrow", "base", "up", cheeks="blush") - if genie_masturbating: + her @ cheeks blush "They pulled up their shirts and caressed each other's breasts." ("open", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-2}(Their beautiful and tempting breasts...){/size}" ("open", "narrow", "base", "up") + her @ cheeks blush "Later those nasty girls raised their skirts and started to touch each other \"there\" while kissing." ("silly", "narrow", "base", "up") + her @ cheeks blush tears sweat "{size=-2}(I can't believe I said that!){/size}" ("base", "narrow", "base", "up") + her @ cheeks blush "They were very excited, and I could see their panties become wet." ("open", "narrow", "base", "up") + her @ cheeks blush "Disgusting." ("annoyed", "narrow", "base", "up") + if states.gen.masturbating: gen "{size=-2}(Yes... yes...){/size}" ("grin", xpos="far_left", ypos="head") - her "One of the girls went crazy and inserted her fingers into the other's \"thing,\" and worked them furiously." ("silly", "base", "worried", "mid", cheeks="blush") - her "Soon imitated by her girlfriend." ("base", "narrow", "angry", "mid", cheeks="blush") - her "Those whores came so hard I'm sure they heard the screams on the other side of the grounds!" ("soft", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "One of the girls went crazy and inserted her fingers into the other's \"thing,\" and worked them furiously." ("silly", "base", "worried", "mid") + her @ cheeks blush "Soon imitated by her girlfriend." ("base", "narrow", "angry", "mid") + her @ cheeks blush "Those whores came so hard I'm sure they heard the screams on the other side of the grounds!" ("soft", "narrow", "base", "mid") - if genie_masturbating: - her "{size=-2}(And I had to bite my lip, or else they would've heard me too...){/size}" ("clench", "narrow", "base", "down", cheeks="blush") + if states.gen.masturbating: + her @ cheeks blush "{size=-2}(And I had to bite my lip, or else they would've heard me too...){/size}" ("clench", "narrow", "base", "down") hide hermione_main with d3 @@ -417,19 +419,19 @@ label hg_tutor_E5: call gen_chibi("cum_behind_desk_done") with d3 - if hg_jerkoff.trigger: - her "Professor!" ("angry", "base", "angry", "mid", cheeks="blush") + if states.her.status.voyer: + her @ cheeks blush "Professor!" ("angry", "base", "angry", "mid") gen "You enjoyed it too, so don't act all innocent." ("base", xpos="far_left", ypos="head") gen "Anyway, I hope it was revealing." ("base", xpos="far_left", ypos="head") - $ her_mood += 7 + $ states.her.mood += 7 else: - her "Professor?" ("annoyed", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Professor?" ("annoyed", "base", "base", "mid") gen "Ah, Yes... I hope it was revealing." ("base", xpos="far_left", ypos="head") else: gen "You enjoyed it too." ("base", xpos="far_left", ypos="head") - her "Maybe..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Maybe..." ("annoyed", "narrow", "angry", "R") gen "Anyway, I hope it was revealing." ("base", xpos="far_left", ypos="head") her "\"Revealing?\" I'm not sure what you mean by that." ("open", "squint", "base", "mid") @@ -440,27 +442,27 @@ label hg_tutor_E5: gen "{size=-2}(Hypocrite...){/size}" ("base", xpos="far_left", ypos="head") gen "You said that those girls became wet." ("base", xpos="far_left", ypos="head") gen "Weren't you a little too?" ("grin", xpos="far_left", ypos="head") - her "When I went to bed I noticed it, yes." ("disgust", "narrow", "base", "down", cheeks="blush") - her "Apparently bad fluids are released from your body when you have faced such acts." ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "When I went to bed I noticed it, yes." ("disgust", "narrow", "base", "down") + her @ cheeks blush "Apparently bad fluids are released from your body when you have faced such acts." ("mad", "wide", "base", "stare") gen "No, they aren't bad. It happens when you're excited." ("base", xpos="far_left", ypos="head") - her "No way! I can control myself!" ("scream", "happyCl", "worried", "mid", cheeks="blush", tears="soft_blink") - her "" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush tears soft_blink "No way! I can control myself!" ("scream", "happyCl", "worried", "mid") + her @ cheeks blush "" ("angry", "base", "angry", "mid") gen "No one can control their base desires." ("base", xpos="far_left", ypos="head") gen "Consider this well, and enjoy your night, Miss Granger." ("base", xpos="far_left", ypos="head") her "Good night, professor." ("annoyed", "base", "worried", "R") call her_walk("door", "base") - her "{size=-4}(I enjoyed it too much. Maybe I'm becoming a pervert as well){/size}" ("base", "narrow", "base", "up", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(I lost control, it won't happen again!){/size}" ("shock", "narrow", "base", "down", cheeks="blush") - her "{size=-4}(Good thing I'm not a degenerate like those filthy girls!){/size}" ("base", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "{size=-4}(I enjoyed it too much. Maybe I'm becoming a pervert as well){/size}" ("base", "narrow", "base", "up", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(I lost control, it won't happen again!){/size}" ("shock", "narrow", "base", "down") + her @ cheeks blush "{size=-4}(Good thing I'm not a degenerate like those filthy girls!){/size}" ("base", "narrow", "base", "mid_soft") call her_chibi("leave") - $ her_tutoring = 6 + $ states.her.ev.tutoring.stage = 6 - if her_whoring < 9: - $ her_whoring += 1 + if states.her.level < 9: + $ states.her.level += 1 jump end_hermione_event @@ -471,7 +473,7 @@ label hg_tutor_E6: gen "{size=-2}(Me neither...){/size}" ("base", xpos="far_left", ypos="head") gen "If you want to progress, you have to go a little further than a simple observation." ("base", xpos="far_left", ypos="head") gen "You'll need to participate." ("base", xpos="far_left", ypos="head") - her "What! No way I'll participate in such debauchery!" ("scream", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "What! No way I'll participate in such debauchery!" ("scream", "closed", "base", "mid") her "How can you even suggest such a thing!" ("angry", "base", "angry", "mid") gen "Oh you don't have to go that far in one go." ("base", xpos="far_left", ypos="head") her "I'm not sure I want to go there at all." ("open", "closed", "base", "mid") @@ -481,7 +483,7 @@ label hg_tutor_E6: her "A girl like me shouldn't stoop to such practices." ("annoyed", "squint", "base", "mid") gen "A girl like you should use all means at their disposal in order to excel." ("base", xpos="far_left", ypos="head") her "..........." - her "Alright, but this must remain between us." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Alright, but this must remain between us." ("annoyed", "narrow", "angry", "R") her "You cannot disclose this to other professors, especially professor Snape!" ("annoyed", "narrow", "worried", "down") gen "Oh, I have no intention of sharing alright." ("base", xpos="far_left", ypos="head") gen "{size=-2}(You're mine.){/size}" ("grin", xpos="far_left", ypos="head") @@ -498,36 +500,36 @@ label hg_tutor_E6: call bld gen "Have you ever touched yourself?" ("base", xpos="far_left", ypos="head") - her "Professor!" ("annoyed", "narrow", "angry", "mid", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "Professor!" ("annoyed", "narrow", "angry", "mid", xpos="mid", ypos="base") call her_chibi_scene("grope_ass_front") with d7 - call nar(">You touch her leg with your hands.") + nar "You touch her leg with your hands." gen "Please answer the question, Miss Granger. Have you ever touched yourself?" ("base", xpos="far_left", ypos="head") - her "No, it's... it's wrong!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "No, it's... it's wrong!" ("annoyed", "narrow", "angry", "R") gen "But when you looked at these girls, you felt certain emotions." ("base", xpos="far_left", ypos="head") - her "Yes... and?" ("annoyed", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes... and?" ("annoyed", "base", "base", "mid") gen "You didn't feel the need to touch yourself?" ("base", xpos="far_left", ypos="head") - her "Yes... but I resisted." ("soft", "narrow", "base", "up", cheeks="blush") - call nar(">You start to caress her thigh.") - her "Professor..." ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Yes... but I resisted." ("soft", "narrow", "base", "up") + nar "You start to caress her thigh." + her @ cheeks blush "Professor..." ("open", "happyCl", "worried", "mid") gen "And you felt those emotions without even touching yourself." ("base", xpos="far_left", ypos="head") - her "Yes..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes..." ("open", "base", "base", "mid") gen "{size=-2}(What a slut!){/size}" ("grin", xpos="far_left", ypos="head") if hermione.is_worn("panties"): - call nar(">You move forward to her panties.") + nar "You move forward to her panties." else: - call nar(">You move forward to her pussy.") - her "" ("open", "happyCl", "worried", "mid", cheeks="blush") + nar "You move forward to her pussy." + her @ cheeks blush "" ("open", "happyCl", "worried", "mid") gen "Good." ("base", xpos="far_left", ypos="head") call her_chibi_scene("behind_desk_front") with d3 - call nar(">You stop caressing her.") - her "Why... why did you stop?" ("mad", "wide", "base", "stare", cheeks="blush") + nar "You stop caressing her." + her @ cheeks blush "Why... why did you stop?" ("mad", "wide", "base", "stare") gen "Oh, because I need you to think about all this before we meet again." ("base", xpos="far_left", ypos="head") - her "But..." ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "But..." ("mad", "wide", "base", "stare") gen "Good night, my dear." ("base", xpos="far_left", ypos="head") her "Good night, professor." ("annoyed", "base", "worried", "R") @@ -543,16 +545,16 @@ label hg_tutor_E6: call her_walk("door", "base") - her "{size=-4}(This is wrong...){/size}" ("disgust", "narrow", "base", "down", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(I shouldn't listen to him.){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-4}(And yet...){/size}" ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "{size=-4}(This is wrong...){/size}" ("disgust", "narrow", "base", "down", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(I shouldn't listen to him.){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-4}(And yet...){/size}" ("base", "narrow", "base", "down") call her_chibi("leave") - $ her_tutoring = 7 + $ states.her.ev.tutoring.stage = 7 - if her_whoring < 12: - $ her_whoring += 1 + if states.her.level < 12: + $ states.her.level += 1 jump end_hermione_event @@ -562,7 +564,7 @@ label hg_tutor_E7: her "I don't even know where to start." ("open", "squint", "base", "mid") gen "You see, the secret is to stimulate appropriate areas." ("base", xpos="far_left", ypos="head") gen "Areas which are more sensitive than others." ("base", xpos="far_left", ypos="head") - her "You mean my intimate areas, sir?!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "You mean my intimate areas, sir?!" ("annoyed", "narrow", "angry", "R") gen "Well, they're called intimate for a reason." ("base", xpos="far_left", ypos="head") gen "You said you've never touched yourself because it was wrong." ("base", xpos="far_left", ypos="head") gen "But it's never wrong to exercise ones body in order to reach a new level of consciousness." ("base", xpos="far_left", ypos="head") @@ -571,82 +573,82 @@ label hg_tutor_E7: gen "But you shouldn't only caress your nipples but also grab your tits and squeeze them." ("base", xpos="far_left", ypos="head") gen "And in the meanwhile, you can think of those two girls." ("base", xpos="far_left", ypos="head") gen "Or what you want to do with those girls." ("grin", xpos="far_left", ypos="head") - her "What makes you think... No, I don't want..." ("angry", "happyCl", "worried", "mid", cheeks="blush", emote="sweat") - her "I definitely don't want to have {b}anything{/b} to do with those harlots!" ("scream", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "What makes you think... No, I don't want..." ("angry", "happyCl", "worried", "mid", emote="sweat") + her @ cheeks blush "I definitely don't want to have {b}anything{/b} to do with those harlots!" ("scream", "happyCl", "worried", "mid") gen "Don't lie to yourself. It's obvious that you feel a form of attraction to those two girls." ("base", xpos="far_left", ypos="head") - her "I...{w=0.3} I honestly don't know what to think anymore." ("mad", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "I...{w=0.3} I honestly don't know what to think anymore." ("mad", "base", "angry", "mid") her "At the moment my feelings are so confusing..." gen "{size=-2}(Exactly what I was hoping!){/size}" ("grin", xpos="far_left", ypos="head") - her "I'm happy to earn points for my house and at the same time I feel so ashamed." ("angry", "squint", "base", "mid", cheeks="blush", tears="soft") + her @ cheeks blush tears soft "I'm happy to earn points for my house and at the same time I feel so ashamed." ("angry", "squint", "base", "mid") her "And the same goes for your lessons." gen "Yet you can't deny your progress in the practice of magic." ("base", xpos="far_left", ypos="head") - her "Yes...{w=0.2} perhaps you're right." ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="soft") + her @ cheeks blush tears soft "Yes...{w=0.2} perhaps you're right." ("base", "narrow", "worried", "mid_soft") gen "You have to let it go, Miss Granger, follow your instincts!" ("base", xpos="far_left", ypos="head") gen "{size=-2}(Grab my cock and wank it savagely!){/size}" ("grin", xpos="far_left", ypos="head") - her "I'm not sure if..." ("open", "narrow", "worried", "mid_soft", cheeks="blush") + her @ cheeks blush "I'm not sure if..." ("open", "narrow", "worried", "mid_soft") gen "Enough procrastination, time for practice!" ("base", xpos="far_left", ypos="head") gen "Come here." ("base", xpos="far_left", ypos="head") call her_walk("desk", "base", reduce=0.8) call blkfade - ">Hermione walks towards your desk." - ">You grab her tits and massage them softly." + nar "Hermione walks towards your desk." + nar "You grab her tits and massage them softly." pause .5 call her_chibi_scene("grope_tits") with d1 hide screen blkfade - her "" ("open", "happyCl", "worried", "mid", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "" ("open", "happyCl", "worried", "mid", xpos="mid", ypos="base") call ctc call bld gen "Like I said, it's important you learn how to properly stimulate your \"emotional\" body areas." ("base", xpos="far_left", ypos="head") gen "It's not enough if I do it myself, you need to practise when you're alone." ("base", xpos="far_left", ypos="head") - her "" ("upset", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "" ("upset", "happyCl", "worried", "mid") gen "Like in your bed or in the shower, for example." ("base", xpos="far_left", ypos="head") - call nar(">You keep massaging her tits...") - her "" ("open", "happyCl", "worried", "mid", cheeks="blush") - call nar(">You feel her nipples becoming hard.") - her "Yes but...{w=0.3} Professor, it's inappropriate for a girl of good education!" ("open", "base", "base", "mid", cheeks="blush") + nar "You keep massaging her tits..." + her @ cheeks blush "" ("open", "happyCl", "worried", "mid") + nar "You feel her nipples becoming hard." + her @ cheeks blush "Yes but...{w=0.3} Professor, it's inappropriate for a girl of good education!" ("open", "base", "base", "mid") gen "Don't let old prejudices weigh you down. You're a girl with great potential." ("base", xpos="far_left", ypos="head") - call nar(">You gently squeeze her nipples through the fabric.") - her "*Ah*... thank you Professor." ("open", "narrow", "base", "up", cheeks="blush") + nar "You gently squeeze her nipples through the fabric." + her @ cheeks blush "*Ah*... thank you Professor." ("open", "narrow", "base", "up") gen "A girl with a brilliant mind." ("base", xpos="far_left", ypos="head") - call nar(">You increase your grip on her nipples.") + nar "You increase your grip on her nipples." gen "A girl who will become a woman of exception." ("base", xpos="far_left", ypos="head") - her "*Ahh* yes... I'm already a woman of exception!" ("grin", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "*Ahh* yes... I'm already a woman of exception!" ("grin", "base", "angry", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - call nar(">You firmly pinch her nipples.") - her "*Ahhh* {heart} not so hard..." ("silly", "happyCl", "worried", "mid", cheeks="blush", tears="soft") + nar "You firmly pinch her nipples." + her @ cheeks blush tears soft "*Ahhh* {heart} not so hard..." ("silly", "happyCl", "worried", "mid") hide hermione_main call blkfade - call nar(">You abruptly stop.") + nar "You abruptly stop." pause .5 - her "*Hmph*...{w=0.3} Why did you stop, [genie_name]?" ("clench", "base", "worried", "mid", cheeks="blush", emote="angry", ypos="head", flip=False, trans=d3) + her @ cheeks blush "*Hmph*...{w=0.3} Why did you stop, [name_genie_hermione]?" ("clench", "base", "worried", "mid", emote="angry", ypos="head", flip=False, trans=d3) gen "Lesson is over. Time to practise by yourself." ("base", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") call her_chibi("stand","desk","base") hide screen blkfade - her "..........." ("annoyed", "narrow", "worried", "R", cheeks="blush", xpos="mid", ypos="base", trans=fade) + her @ cheeks blush "..........." ("annoyed", "narrow", "worried", "R", xpos="mid", ypos="base", trans=fade) gen "Good night, my little witch." ("base", xpos="far_left", ypos="head") her "Good night, professor, and thank you for this lesson." ("base", "happyCl", "base", "mid") - her "{size=-2}(I just wish it had lasted longer...){/size}" ("annoyed", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "{size=-2}(I just wish it had lasted longer...){/size}" ("annoyed", "squint", "base", "mid") call her_walk("door", "base") - her "{size=-4}(\"My little witch?\"){/size}" ("annoyed", "narrow", "angry", "R", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(Why not, after all...){/size}" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{size=-4}(\"My little witch?\"){/size}" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(Why not, after all...){/size}" ("base", "narrow", "base", "up") call her_chibi("leave") - $ her_tutoring = 8 + $ states.her.ev.tutoring.stage = 8 - if her_whoring < 12: - $ her_whoring += 1 + if states.her.level < 12: + $ states.her.level += 1 jump end_hermione_event @@ -654,17 +656,17 @@ label hg_tutor_E7: label hg_tutor_E8: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "So, Miss Granger, have you practised my teachings?" ("base", xpos="far_left", ypos="head") - her "Yes...{w=0.2} a little." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Yes...{w=0.2} a little." ("annoyed", "narrow", "angry", "R") gen "And?" ("base", xpos="far_left", ypos="head") - her "It feels even better when I'm naked." ("smile", "happyCl", "base", "mid", cheeks="blush", emote="happy") - her "{size=-2}(Oh no, I shouldn't have said that...){/size}" ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "It feels even better when I'm naked." ("smile", "happyCl", "base", "mid", emote="happy") + her @ cheeks blush "{size=-2}(Oh no, I shouldn't have said that...){/size}" ("mad", "wide", "base", "stare") gen "Well come here and undress, we'll practise." ("base", xpos="far_left", ypos="head") - her "Completely?!" ("annoyed", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "Completely?!" ("annoyed", "base", "worried", "mid") gen "No, only the top will suffice." ("base", xpos="far_left", ypos="head") gen "{size=-2}(For the moment...){/size}" ("grin", xpos="far_left", ypos="head") her "I'll be showing you my breasts without even earning any points?" ("open", "squint", "base", "mid") gen "You can't have both points and lessons." ("base", xpos="far_left", ypos="head") - her "Okay..." ("angry", "happyCl", "worried", "mid", cheeks="blush", emote="sweat") + her @ cheeks blush "Okay..." ("angry", "happyCl", "worried", "mid", emote="sweat") $ hermione.strip("robe", "accessory") call her_chibi("lift_top") @@ -674,7 +676,7 @@ label hg_tutor_E8: $ hermione.strip("top") pause .5 - her "Like that?" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Like that?" ("annoyed", "narrow", "angry", "R") if hermione.is_worn("bra"): gen "Without your bra Miss Granger..." ("base", xpos="far_left", ypos="head") @@ -683,15 +685,15 @@ label hg_tutor_E8: pause .5 gen "Yes, and now come here." ("base", xpos="far_left", ypos="head") - her "........" ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "........" ("annoyed", "closed", "base", "mid") her "" ("base", "closed", "base", "mid") gen "Now." ("base", xpos="far_left", ypos="head") call her_walk("desk", "base", reduce=0.8) call blkfade - ">Hermione slowly walks towards your desk." - ">She tries not to bounce her tits without much success..." + nar "Hermione slowly walks towards your desk." + nar "She tries not to bounce her tits without much success..." call her_chibi_scene("behind_desk_show_tits") with d1 @@ -706,36 +708,36 @@ label hg_tutor_E8: hide hermione_main call blkfade - ">You grab her tits and squeeze them gently." + nar "You grab her tits and squeeze them gently." call her_chibi_scene("grope_tits") call hide_blkfade call ctc - her "Professor, what are you doing?" ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Professor, what are you doing?" ("disgust", "narrow", "base", "down") gen "Teaching you, dear, teaching you." ("grin", xpos="far_left", ypos="head") gen "Doesn't it feel good?" ("base", xpos="far_left", ypos="head") her "A little..." ("base", "closed", "base", "mid") gen "Your hard nipples say the contrary." ("base", xpos="far_left", ypos="head") gen "I can stop if you want." ("base", xpos="far_left", ypos="head") - her "Yeah sure!" ("grin", "base", "angry", "mid", cheeks="blush") - her "Suck them professor." ("silly", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Yeah sure!" ("grin", "base", "angry", "mid") + her @ cheeks blush "Suck them professor." ("silly", "narrow", "base", "up") gen "As you wish, princess." ("grin", xpos="far_left", ypos="head") - her "" ("silly", "narrow", "base", "up", cheeks="blush") - call nar(">You suck her nipples with devotion.") - her "Yes {heart} like that." ("silly", "narrow", "base", "up", cheeks="blush", tears="sweat") - call nar(">You start to chew on her nipples.") - her "*Ahh*, no... Don't." ("open_tongue", "narrow", "base", "up", cheeks="blush") - call nar(">You chew on them even harder.") - her "Not that hard, I will..." ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "" ("silly", "narrow", "base", "up") + nar "You suck her nipples with devotion." + her @ cheeks blush tears sweat "Yes {heart} like that." ("silly", "narrow", "base", "up") + nar "You start to chew on her nipples." + her @ cheeks blush "*Ahh*, no... Don't." ("open_tongue", "narrow", "base", "up") + nar "You chew on them even harder." + her @ cheeks blush "Not that hard, I will..." ("open_wide_tongue", "narrow", "base", "up") gen "{size=-2}(Time for the grand finale!){/size}" ("grin", xpos="far_left", ypos="head") if hermione.is_worn("panties"): - ">You quickly slip your hand into her panties and rub her pussy furiously." + nar "You quickly slip your hand into her panties and rub her pussy furiously." else: - ">You quickly move your hand toward her pussy and rub it furiously." + nar "You quickly move your hand toward her pussy and rub it furiously." - her "Yes! {heart}" ("angry", "narrow", "base", "dead", cheeks="blush", tears="crying") + her @ cheeks blush tears crying "Yes! {heart}" ("angry", "narrow", "base", "dead") her "I... I..." gen "Came, my dear." ("grin", xpos="far_left", ypos="head") @@ -748,18 +750,18 @@ label hg_tutor_E8: call her_chibi_scene("behind_desk_front") call hide_blkfade - her "Is the lesson over professor?" ("grin", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "Is the lesson over professor?" ("grin", "narrow", "base", "mid_soft") gen "Not if you don't want it to be." ("base", xpos="far_left", ypos="head") - her "Maybe it's enough for tonight." ("open", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") - her "After all, you have a lot of work to do." ("soft", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "Maybe it's enough for tonight." ("open", "narrow", "base", "mid_soft") + her @ cheeks blush tears mascara "After all, you have a lot of work to do." ("soft", "narrow", "worried", "mid_soft") gen "Sure." ("base", xpos="far_left", ypos="head") gen "But before that I have a little present for you." ("base", xpos="far_left", ypos="head") - call give_gift(">You give an assortment of adult magazines to Hermione.",adult_mag_ITEM) + call give_gift("You give an assortment of adult magazines to Hermione.",adult_mag_ITEM) gen "I hope this will help you in your studies." ("base", xpos="far_left", ypos="head") - her "Yes, certainly." ("base", "closed", "base", "mid", cheeks="blush", tears="mascara") - her "Thank you and good night professor." ("base", "narrow", "base", "mid", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "Yes, certainly." ("base", "closed", "base", "mid") + her @ cheeks blush tears mascara "Thank you and good night professor." ("base", "narrow", "base", "mid") hide hermione_main call blkfade @@ -773,38 +775,38 @@ label hg_tutor_E8: call her_walk("door", "base") - her "{size=-4}(I'm such a slut...){/size}" ("base", "narrow", "base", "up", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(Cumming in front of my professor...){/size}" ("base", "narrow", "base", "down", cheeks="blush") - her "{size=-4}(I definitely need to do that again!){/size}" ("base", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "{size=-4}(I'm such a slut...){/size}" ("base", "narrow", "base", "up", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(Cumming in front of my professor...){/size}" ("base", "narrow", "base", "down") + her @ cheeks blush "{size=-4}(I definitely need to do that again!){/size}" ("base", "narrow", "base", "mid_soft") call her_chibi("leave") - $ her_tutoring = 9 + $ states.her.ev.tutoring.stage = 9 - if her_whoring < 18: - $ her_whoring += 1 + if states.her.level < 18: + $ states.her.level += 1 jump end_hermione_event label hg_tutor_E9: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) gen "So tell me, were your readings enlightening?" ("base", xpos="far_left", ypos="head") - her "I'm not sure if \"readings\" is the right term but yes. Very \"stimulating\" too." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "I'm not sure if \"readings\" is the right term but yes. Very \"stimulating\" too." ("angry", "happyCl", "worried", "mid") gen "Maybe it's time to discover new areas to stimulate." ("base", xpos="far_left", ypos="head") her "You mean my pussy, right?" ("open", "squint", "base", "mid") her "I'm not an idiot, professor." ("annoyed", "narrow", "angry", "R") gen "If it doesn't suit you, we can stop here." ("base", xpos="far_left", ypos="head") her "And if I said stop?" ("annoyed", "squint", "base", "mid") gen ".........." ("angry", xpos="far_left", ypos="head") - her "*Ha-ha*, you should have seen your face!" ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "*Ha-ha*, you should have seen your face!" ("smile", "base", "angry", "mid") her "With all your recent lessons you can imagine that this area isn't a \"no man's land\" anymore." ("smile", "base", "base", "R") gen "Have you slept..." ("angry", xpos="far_left", ypos="head") - her "No I haven't! I'm not a harlot who offers her pussy to every boy around." ("scream", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "No I haven't! I'm not a harlot who offers her pussy to every boy around." ("scream", "closed", "base", "mid") gen "{size=-2}(Good, your pussy is mine alone!){/size}" ("base", xpos="far_left", ypos="head") her "" ("annoyed", "narrow", "annoyed", "up") gen "{size=-2}(Although I may agree to share it with other girls...){/size}" ("grin", xpos="far_left", ypos="head") gen "I'm happy you're behaving honourably, Miss Granger." ("base", xpos="far_left", ypos="head") - her "Ha, who'd have guessed!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Ha, who'd have guessed!" ("annoyed", "narrow", "angry", "R") gen "Yes, I'm glad that my favourite student is not wasting her precious time with boys." ("base", xpos="far_left", ypos="head") her "Sure...{w=0.3} {size=-4}old hypocrite{/size}." gen "Enough of this! Now take off your shirt and come here." ("base", xpos="far_left", ypos="head") @@ -822,13 +824,13 @@ label hg_tutor_E9: $ hermione.strip("bra") - her "........" ("annoyed", "closed", "base", "mid", cheeks="blush", ypos="head", flip=False, trans=d3) + her @ cheeks blush "........" ("annoyed", "closed", "base", "mid", ypos="head", flip=False, trans=d3) call her_chibi_scene("behind_desk_front") call hide_blkfade call ctc - her "And free tits again, enjoy!" ("grin", "base", "angry", "mid", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "And free tits again, enjoy!" ("grin", "base", "angry", "mid", xpos="mid", ypos="base") gen "I definitely intend to." ("base", xpos="far_left", ypos="head") gen "Now take off your skirt." ("grin", xpos="far_left", ypos="head") pause .8 @@ -840,31 +842,31 @@ label hg_tutor_E9: call set_her_action("None") pause .5 - her "" ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "" ("base", "base", "base", "R") call ctc if hermione.is_worn("panties"): - her "You love my pussy don't you?" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "You love my pussy don't you?" ("base", "narrow", "base", "up") gen "Oh yes, I love your smell, especially when you're wet." ("grin", xpos="far_left", ypos="head") - her "Professor..." ("angry", "happyCl", "worried", "mid", cheeks="blush", emote="sweat") + her @ cheeks blush "Professor..." ("angry", "happyCl", "worried", "mid", emote="sweat") call her_chibi_scene("grope_ass_front") with d3 - call nar(">You caress her clit.") - her "Professor!" ("mad", "wide", "base", "stare", cheeks="blush") + nar "You caress her clit." + her @ cheeks blush "Professor!" ("mad", "wide", "base", "stare") else: - her "You love my panties don't you?" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "You love my panties don't you?" ("base", "narrow", "base", "up") gen "Oh yes, I love their smell, especially when you're wet." ("grin", xpos="far_left", ypos="head") - her "Professor..." ("angry", "happyCl", "worried", "mid", cheeks="blush", emote="sweat") + her @ cheeks blush "Professor..." ("angry", "happyCl", "worried", "mid", emote="sweat") call her_chibi_scene("grope_ass_front") with d3 - call nar(">You caress her clit through the fabric.") - her "Professor!" ("mad", "wide", "base", "stare", cheeks="blush") + nar "You caress her clit through the fabric." + her @ cheeks blush "Professor!" ("mad", "wide", "base", "stare") gen "Now take them off." ("base", xpos="far_left", ypos="head") $ hermione.strip("panties") call set_her_action("pinch") - call nar(">She slowly lowers her panties.") + nar "She slowly lowers her panties." call set_her_action("None") @@ -874,32 +876,32 @@ label hg_tutor_E9: gen "What's great, you see, is that I have two hands." ("base", xpos="far_left", ypos="head") gen "One can caress your clit while the other can play with your pussy." ("base", xpos="far_left", ypos="head") - call nar(">You move from words to deeds and penetrate her already wet pussy with ease.") + nar "You move from words to deeds and penetrate her already wet pussy with ease." call her_chibi_scene("grope_ass_front") with d3 - her "Yes, you're probably right." ("grin", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Yes, you're probably right." ("grin", "base", "angry", "mid") gen "Probably?!" ("base", xpos="far_left", ypos="head") - call nar(">While you're moving your finger in her pussy, you take over her clit with your thumb.") - her "*Haa* {heart} I'm only your humble student, I wouldn't know such naughty things." ("silly", "narrow", "base", "up", cheeks="blush") + nar "While you're moving your finger in her pussy, you take over her clit with your thumb." + her @ cheeks blush "*Haa* {heart} I'm only your humble student, I wouldn't know such naughty things." ("silly", "narrow", "base", "up") gen "One finger is rarely enough even with a tight pussy like yours." ("base", xpos="far_left", ypos="head") - call nar(">You insert a second finger in her tight and warm pussy...") - her "Yesss {heart} I'll try to remember your teachings." ("silly", "narrow", "base", "up", cheeks="blush") - call nar(">You increase the pace and feel her pussy tighten on your fingers.") + nar "You insert a second finger in her tight and warm pussy..." + her @ cheeks blush "Yesss {heart} I'll try to remember your teachings." ("silly", "narrow", "base", "up") + nar "You increase the pace and feel her pussy tighten on your fingers." gen "Maybe a third finger?" ("base", xpos="far_left", ypos="head") - her "Don't be so bold." ("grin", "base", "angry", "mid", cheeks="blush", tears="soft") - call nar(">Her whole body starts shaking as you increase your ramming.") + her @ cheeks blush tears soft "Don't be so bold." ("grin", "base", "angry", "mid") + nar "Her whole body starts shaking as you increase your ramming." call her_chibi_scene("grope_ass_front_fast") with d3 - her "Noo {heart}{w=0.2} not so fast I will..." ("open_tongue", "narrow", "base", "up", cheeks="blush") - call nar(">You increase your pace even more.") - her "I will I will..." ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Noo {heart}{w=0.2} not so fast I will..." ("open_tongue", "narrow", "base", "up") + nar "You increase your pace even more." + her @ cheeks blush "I will I will..." ("open_wide_tongue", "narrow", "base", "up") gen "Time to get serious." ("grin", xpos="far_left", ypos="head") - call nar(">You force your soaked thumb into her butthole.") - her "*Haaaaa* {heart} yesss! {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + nar "You force your soaked thumb into her butthole." + her @ cheeks blush "*Haaaaa* {heart} yesss! {heart}" ("open_wide_tongue", "narrow", "base", "up") gen "Lucky girl." ("grin", xpos="far_left", ypos="head") call blkfade @@ -908,16 +910,16 @@ label hg_tutor_E9: call her_chibi_scene("behind_desk_front") call hide_blkfade - her "I'm sure this lesson will be of great help tonight." ("grin", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") - her "And the other nights. {heart}" ("silly", "base", "worried", "mid", cheeks="blush", tears="soft") + her @ cheeks blush tears mascara "I'm sure this lesson will be of great help tonight." ("grin", "narrow", "base", "mid_soft") + her @ cheeks blush tears soft "And the other nights. {heart}" ("silly", "base", "worried", "mid") gen "Always glad to help my little witch in her studies." ("base", xpos="far_left", ypos="head") - her "\"Studies,\" yes, that's right." ("grin", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "\"Studies,\" yes, that's right." ("grin", "narrow", "base", "mid_soft") gen "And to aid your studies I have even more scientific materials." ("base", xpos="far_left", ypos="head") - call give_gift(">You give an assortment of porn magazines to Hermione.",porn_mag_ITEM) + call give_gift("You give an assortment of porn magazines to Hermione.",porn_mag_ITEM) - her "I promise to study them every night until I commit their lessons to memory!" ("grin", "closed", "base", "mid", cheeks="blush", tears="mascara") - her "Thank you and good night, professor." ("grin", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "I promise to study them every night until I commit their lessons to memory!" ("grin", "closed", "base", "mid") + her @ cheeks blush tears mascara "Thank you and good night, professor." ("grin", "narrow", "base", "mid_soft") gen "Good night, my favourite little witch." ("base", xpos="far_left", ypos="head") hide hermione_main @@ -932,16 +934,16 @@ label hg_tutor_E9: call her_walk("door", "base") - her "{size=-4}(Favourite...){/size}" ("base", "narrow", "base", "up", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(*Hmm*... Could there be another one?){/size}" ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "{size=-4}(I better do my best to remain his favourite!){/size}" ("base", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-4}(Favourite...){/size}" ("base", "narrow", "base", "up", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(*Hmm*... Could there be another one?){/size}" ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "{size=-4}(I better do my best to remain his favourite!){/size}" ("base", "happyCl", "worried", "mid") call her_chibi("leave") - $ her_tutoring = 10 + $ states.her.ev.tutoring.stage = 10 - if her_whoring < 18: - $ her_whoring += 1 + if states.her.level < 18: + $ states.her.level += 1 jump end_hermione_event @@ -950,30 +952,30 @@ label hg_tutor_E10: gen "Miss Granger, have you had an enjoyable night?" ("base", xpos="far_left", ypos="head") her "You shouldn't ask such things, Professor." ("open", "closed", "base", "mid") gen "I have to make sure my students have a pleasant nights rest." ("base", xpos="far_left", ypos="head") - her "With your teachings and your \"scientific\" literature, indeed." ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="soft") - her "I'll become proficient in human anatomy with all this documentation." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush tears soft "With your teachings and your \"scientific\" literature, indeed." ("base", "narrow", "worried", "mid_soft") + her @ cheeks blush "I'll become proficient in human anatomy with all this documentation." ("angry", "happyCl", "worried", "mid") gen "Do you need some scientific instruments for your research?" ("base", xpos="far_left", ypos="head") - her "They could come in handy." ("grin", "wink", "base", "mid", cheeks="blush") - her "As long as it's not your dick." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "{size=-2}(Not that I don't appreciate it but no points no cock!){/size}" ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "They could come in handy." ("grin", "wink", "base", "mid") + her @ cheeks blush "As long as it's not your dick." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "{size=-2}(Not that I don't appreciate it but no points no cock!){/size}" ("smile", "base", "angry", "mid") gen "Miss Granger! This is a serious matter!" ("base", xpos="far_left", ypos="head") her "Sure..." ("annoyed", "squint", "base", "mid") gen ".........." ("base", xpos="far_left", ypos="head") her "So what's my gift this time?" ("open", "squint", "base", "mid") - call give_gift(">You give the vibrator to Hermione",vibrator_ITEM) + call give_gift("You give the vibrator to Hermione",vibrator_ITEM) her "And I suppose you want me to test this in front of you?" ("open", "closed", "base", "mid") gen "Of course." ("grin", xpos="far_left", ypos="head") her "Where is the educational purpose in all of this?" ("annoyed", "squint", "base", "mid") gen "Good question. Improving your skills?" ("base", xpos="far_left", ypos="head") - her "At what? Magic?" ("mad", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "At what? Magic?" ("mad", "base", "angry", "mid") gen "Certainly." ("base", xpos="far_left", ypos="head") her "........." - her "I have one request though." ("open", "base", "base", "R", cheeks="blush") - her "If I'm going to masturbate I don't want to be the only one. So enjoy the free show." ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "I have one request though." ("open", "base", "base", "R") + her @ cheeks blush "If I'm going to masturbate I don't want to be the only one. So enjoy the free show." ("open", "happyCl", "worried", "mid") gen "With pleasure!" ("grin", xpos="far_left", ypos="head") - call nar(">You reach under the desk and grab your cock.") + nar "You reach under the desk and grab your cock." hide hermione_main call blkfade @@ -984,8 +986,8 @@ label hg_tutor_E10: call hide_blkfade her "{size=-2}(Thinking of the headmaster masturbating makes me wet already {heart}){/size}" (xpos="mid", ypos="base") - her "{size=-2}(I've become such a whore. Not that I don't enjoy it...){/size}" ("smile", "base", "angry", "mid", cheeks="blush") - her "So... where do we start?" ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "{size=-2}(I've become such a whore. Not that I don't enjoy it...){/size}" ("smile", "base", "angry", "mid") + her @ cheeks blush "So... where do we start?" ("open", "happy", "base", "mid") if hermione.is_worn("bra"): gen "Take off your shirt and bra, I want to see your tits." ("base", xpos="far_left", ypos="head") @@ -1016,7 +1018,7 @@ label hg_tutor_E10: gen "Oh yes..." ("grin", xpos="far_left", ypos="head") her "Having watched the other girls I now know why." her "Those breasts are so tempting." - her "Big or small, I want to hold them in my hands and suck the nipples." ("open_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Big or small, I want to hold them in my hands and suck the nipples." ("open_tongue", "narrow", "base", "up") gen "Me too, me too!" ("grin", xpos="far_left", ypos="head") gen "Now remove your skirt!" ("base", xpos="far_left", ypos="head") pause .5 @@ -1031,8 +1033,8 @@ label hg_tutor_E10: call ctc her "Good idea." - her "Sometimes I wish I could do this with others girls." ("open", "happy", "base", "mid", cheeks="blush") - her "Masturbate naked in front of each other." ("open", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Sometimes I wish I could do this with others girls." ("open", "happy", "base", "mid") + her @ cheeks blush "Masturbate naked in front of each other." ("open", "narrow", "base", "up") if hermione.is_worn("panties"): gen "Yes go on, take off your panties!" ("grin", xpos="far_left", ypos="head") her "Your wish is my command." @@ -1048,44 +1050,39 @@ label hg_tutor_E10: $ u_tears_pic = "characters/hermione/face/e_her_tears_02b.webp" call ctc - her "And mine is to touch another girl's pussy." ("silly", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "And mine is to touch another girl's pussy." ("silly", "narrow", "base", "up") else: - her "Touch her pussy like I'm touching mine now." ("silly", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Touch her pussy like I'm touching mine now." ("silly", "narrow", "base", "up") if hermione.is_any_worn("clothes"): gen "Get rid off the rest of your silly attire." ("base", xpos="far_left", ypos="head") - $ hermione.strip("all") + $ hermione.strip("clothes") ### Milestone ### - $ hg_masturbated.triggered() + $ states.her.status.masturbating = True - $ hermione.set_pose("masturbate") - $ hermione.set_body(armleft="on_pussy") - #call set_her_action("pinch") + $ hermione.set_pose("hand_on_pussy") pause .5 - her "Caress it." ("open_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Caress it." ("open_tongue", "narrow", "base", "up") call set_her_action("fingering") pause .2 - her "Insert my fingers into her wet pussy." ("open_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Insert my fingers into her wet pussy." ("open_tongue", "narrow", "base", "up") gen "Yes, yes! Now the vibrator!" ("angry", xpos="far_left", ypos="head") - hide hermione_main - call blkfade ## TODO: show vibrator pose - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy", armright="on_tits") + $ hermione.set_pose("hand_on_pussy_and_breast") hide screen blkfade call ctc - her "Oh I had forgotten about it already." ("open_tongue", "narrow", "base", "up", cheeks="blush") - her "I want to hear her moan as I work my fingers." ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Oh I had forgotten about it already." ("open_tongue", "narrow", "base", "up") + her @ cheeks blush "I want to hear her moan as I work my fingers." ("open_wide_tongue", "narrow", "base", "up") her "Hear her cum!" - her "Like me! *Aaah* yesssss! {heart} {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Like me! *Aaah* yesssss! {heart} {heart}" ("open_wide_tongue", "narrow", "base", "up") call ctc gen "*Ahh*! You little whore!!!" ("angry", xpos="far_left", ypos="head") @@ -1096,11 +1093,9 @@ label hg_tutor_E10: hide hermione_main call blkfade - ">Hermione catches her breath and puts her clothes back on." + nar "Hermione catches her breath and puts her clothes back on." # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") $ hermione.set_pose(None) $ hermione.wear("all") @@ -1108,26 +1103,26 @@ label hg_tutor_E10: call gen_chibi("cum_behind_desk_done") hide screen blkfade - her "I hope you enjoyed it as much I did." ("open", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara", xpos="mid", ypos="base", trans=fade) + her @ cheeks blush tears mascara "I hope you enjoyed it as much I did." ("open", "narrow", "worried", "mid_soft", xpos="mid", ypos="base", trans=fade) gen "Oh fuck yes, you're doing great, my little witch!" ("base", xpos="far_left", ypos="head") gen "Very good!" ("grin", xpos="far_left", ypos="head") - her "Thank you, professor." ("grin", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "Thank you, professor." ("grin", "narrow", "worried", "mid_soft") gen "After all this, you need to rest." ("base", xpos="far_left", ypos="head") - her "Oh yes. Good night professor." ("grin", "closed", "base", "mid", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "Oh yes. Good night professor." ("grin", "closed", "base", "mid") gen "Good night, my dirty little slut." ("base", xpos="far_left", ypos="head") call her_walk("door", "base") - her "{size=-4}(Rest...){/size}" ("base", "narrow", "base", "down", cheeks="blush", tears="mascara", ypos="head", flip=False, trans=d3) - her "{size=-4}(Not before I've played with this marvellous toy again){/size}" ("base", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") - her "{size=-4}(And again){/size}" ("silly", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "{size=-4}(Rest...){/size}" ("base", "narrow", "base", "down", ypos="head", flip=False, trans=d3) + her @ cheeks blush tears mascara "{size=-4}(Not before I've played with this marvellous toy again){/size}" ("base", "narrow", "base", "mid_soft") + her @ cheeks blush tears mascara "{size=-4}(And again){/size}" ("silly", "narrow", "base", "mid_soft") call her_chibi("leave") - $ her_tutoring = 11 + $ states.her.ev.tutoring.stage = 11 - if her_whoring < 21: - $ her_whoring += 1 + if states.her.level < 21: + $ states.her.level += 1 jump end_hermione_event @@ -1139,24 +1134,24 @@ label hg_tutor_E11: her "That's what I thought." ("annoyed", "squint", "base", "mid") her "But to be honest, I was looking forward to this lesson." ("open", "closed", "base", "mid") her "{size=-2}(Maybe, I shouldn't have said that){/size}" ("angry", "wide", "base", "stare") - her "{size=-2}(He's gonna ravage me on his desk, isn't he?){/size}" ("angry", "happyCl", "worried", "stare", cheeks="blush") - #her "{size=-2}(Not that I would mind...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-2}(He's gonna ravage me on his desk, isn't he?){/size}" ("angry", "happyCl", "worried", "stare") + #her @ cheeks blush "{size=-2}(Not that I would mind...){/size}" ("angry", "happyCl", "worried", "mid") #her "{size=-2}(And I could ask him for points afterwards...){/size}" ("smile", "base", "base", "R") gen "Miss Granger? Are you alright?" ("base", xpos="far_left", ypos="head") - her "Yes professor! Sorry, I was thinking of my next exam." ("grin", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes professor! Sorry, I was thinking of my next exam." ("grin", "wink", "base", "mid") gen "Oh, I'm sure it's an important one. Maybe next lesson I can help you revise." ("base", xpos="far_left", ypos="head") - her "I would love that!" ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "I would love that!" ("open", "happyCl", "worried", "mid") gen "So, anal stimulation..." ("base", xpos="far_left", ypos="head") - her "Ah! I knew you would say that." ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Ah! I knew you would say that." ("smile", "base", "angry", "mid") her "{size=-2}(Once again, not that I mind...){/size}" - her "{size=-2}(I'm such a whore, even the Slytherin girls can't compete...){/size}" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{size=-2}(I'm such a whore, even the Slytherin girls can't compete...){/size}" ("base", "narrow", "base", "up") gen "Come again, Miss Granger?" ("base", xpos="far_left", ypos="head") - her "In this school nobody can compete with me, right professor?" ("smile", "happyCl", "base", "mid", cheeks="blush", emote="happy") - her "In any field!" ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "In this school nobody can compete with me, right professor?" ("smile", "happyCl", "base", "mid", emote="happy") + her @ cheeks blush "In any field!" ("smile", "base", "angry", "mid") gen "In any field? I'm not sure." ("base", xpos="far_left", ypos="head") gen "You still have things to learn..." ("base", xpos="far_left", ypos="head") - her "What?! What are we waiting for then?" ("scream", "closed", "base", "mid", cheeks="blush") - her "" ("normal", "narrow", "angry", "mid", cheeks="blush") + her @ cheeks blush "What?! What are we waiting for then?" ("scream", "closed", "base", "mid") + her @ cheeks blush "" ("normal", "narrow", "angry", "mid") call set_her_action("lift_top") pause .2 @@ -1168,7 +1163,7 @@ label hg_tutor_E11: call ctc call set_her_action("None") - call nar(">She rips off her shirt and rushes to your desk.") + nar "She rips off her shirt and rushes to your desk." call her_walk("desk", "base", reduce=0.8) call blkfade @@ -1181,80 +1176,80 @@ label hg_tutor_E11: gen "We haven't even started yet and you're already wet, my adorable slut." ("base", xpos="far_left", ypos="head") show screen blktone - her "It's you and your dirty talk!" ("annoyed", "narrow", "angry", "R", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "It's you and your dirty talk!" ("annoyed", "narrow", "angry", "R", xpos="mid", ypos="base") her "Talking about anal insertions, asshole licking and... and..." - her "Fisting!" ("open", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Fisting!" ("open", "narrow", "base", "up") gen "I never mentioned any of that." ("base", xpos="far_left", ypos="head") - her "Oh. You didn't?" ("annoyed", "narrow", "base", "up", cheeks="blush") - her "Well maybe you didn't but you {b}were{/b} thinking about it!" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Oh. You didn't?" ("annoyed", "narrow", "base", "up") + her @ cheeks blush "Well maybe you didn't but you {b}were{/b} thinking about it!" ("base", "narrow", "base", "up") gen "Maybe." ("grin", xpos="far_left", ypos="head") gen "Your ass is so luscious I could eat it." ("grin", xpos="far_left", ypos="head") - her "My point exactly!" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "Enough talking, old man. Get to work!" ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="soft") + her @ cheeks blush "My point exactly!" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush tears soft "Enough talking, old man. Get to work!" ("base", "narrow", "worried", "mid_soft") gen "I haven't even given you your gift yet!" ("base", xpos="far_left", ypos="head") gen "I'll just put it where you'll be sure to find it." ("base", xpos="far_left", ypos="head") gen "So, can we start the lesson?" ("base", xpos="far_left", ypos="head") - her "Yes for Merlin's sake!" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Yes for Merlin's sake!" ("open", "base", "base", "mid") gen "But before that..." ("base", xpos="far_left", ypos="head") - her "If you say another word I swear I will go back to my dorm right now!" ("scream", "base", "angry", "mid", cheeks="blush", emote="angry") - call nar(">You suddenly insert the anal plug.") - her "Yesss {heart} like that!" ("silly", "narrow", "base", "up", cheeks="blush") - call nar(">You remove it just as quickly while giving her butt a loud slap.") + her @ cheeks blush "If you say another word I swear I will go back to my dorm right now!" ("scream", "base", "angry", "mid", emote="angry") + nar "You suddenly insert the anal plug." + her @ cheeks blush "Yesss {heart} like that!" ("silly", "narrow", "base", "up") + nar "You remove it just as quickly while giving her butt a loud slap." - call play_sound("plop") + play sound "sounds/plop.ogg" with flashbulb - call play_sound("slap_1") + play sound "sounds/slap.ogg" with hpunch - her "Yessss more! {heart}" ("open_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Yessss more! {heart}" ("open_tongue", "narrow", "base", "up") gen "As you wish, princess." ("grin", xpos="far_left", ypos="head") - call nar(">You promptly insert and remove it.") + nar "You promptly insert and remove it." - call play_sound("plop") + play sound "sounds/plop.ogg" pause .1 - call play_sound("slap_1") + play sound "sounds/slap.ogg" with hpunch - her "More!!" ("open_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "More!!" ("open_tongue", "narrow", "base", "up") - call play_sound("plop") + play sound "sounds/plop.ogg" pause .1 - call play_sound("slap_1") + play sound "sounds/slap.ogg" with hpunch $ u_tears_pic = "characters/hermione/face/e_her_tears_03b.webp" - her "*Aaaah* {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "*Aaaah* {heart}" ("open_wide_tongue", "narrow", "base", "up") - call play_sound("plop") + play sound "sounds/plop.ogg" pause .1 - call play_sound("slap_1") + play sound "sounds/slap.ogg" with hpunch gen "You can touch yourself too, you know." ("base", xpos="far_left", ypos="head") $ u_tears_pic = "characters/hermione/face/e_her_tears_03d.webp" - her "I can't." ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "I can't." ("open_wide_tongue", "narrow", "base", "up") her "{size=-2}(If I do, I will lose what little dignity I have left){/size}" - her "{size=-2}(But tonight...){/size}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{size=-2}(But tonight...){/size}" ("open_wide_tongue", "narrow", "base", "up") gen "I'll handle it then." ("base", xpos="far_left", ypos="head") - call nar(">You finger both her butthole and her pussy.") - her "Nooo it's too much! {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + nar "You finger both her butthole and her pussy." + her @ cheeks blush "Nooo it's too much! {heart}" ("open_wide_tongue", "narrow", "base", "up") gen "Faster? No problem!" ("grin", xpos="far_left", ypos="head") call her_chibi_scene("grope_ass_back_fast") - her "*Aaah* You're killing me! {heart}" ("angry", "narrow", "base", "dead", cheeks="blush", tears="crying") - her "{size=-2}(And I love it){/size}" ("silly", "base", "worried", "mid", cheeks="blush", tears="soft") + her @ cheeks blush tears crying "*Aaah* You're killing me! {heart}" ("angry", "narrow", "base", "dead") + her @ cheeks blush tears soft "{size=-2}(And I love it){/size}" ("silly", "base", "worried", "mid") gen "More fingers?" ("base", xpos="far_left", ypos="head") - her "No more pleassse." ("open", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "No more pleassse." ("open", "narrow", "worried", "mid_soft") gen "Actually, it wasn't a question." ("base", xpos="far_left", ypos="head") - her "If you keep this pace I will..." ("angry", "narrow", "base", "dead", cheeks="blush", tears="crying") - call nar(">You feel her muscles tighten on your fingers.") - her "Come!!" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush tears crying "If you keep this pace I will..." ("angry", "narrow", "base", "dead") + nar "You feel her muscles tighten on your fingers." + her @ cheeks blush "Come!!" ("open_wide_tongue", "narrow", "base", "up") gen "Good girl." ("grin", xpos="far_left", ypos="head") her "Keep it up, I..." - her "Yessss... {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Yessss... {heart}" ("open_wide_tongue", "narrow", "base", "up") gen "I can keep this up as long as you please." ("base", xpos="far_left", ypos="head") - her "Nooooo {heart} I will die!" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Nooooo {heart} I will die!" ("open_wide_tongue", "narrow", "base", "up") gen "In ecstasy." ("grin", xpos="far_left", ypos="head") - her "*Aahh* not again {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "*Aahh* not again {heart}" ("open_wide_tongue", "narrow", "base", "up") hide hermione_main hide screen bld1 hide screen blktone @@ -1266,11 +1261,11 @@ label hg_tutor_E11: call bld gen "I think you've had enough for one night." ("base", xpos="far_left", ypos="head") - her "Yes I... I better go." ("open_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Yes I... I better go." ("open_tongue", "narrow", "base", "up") gen "You forgot your gift." ("base", xpos="far_left", ypos="head") - call nar(">You promptly insert the butt plug.") + nar "You promptly insert the butt plug." with hpunch - her "*Aaaaaaah*" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "*Aaaaaaah*" ("open_wide_tongue", "narrow", "base", "up") hide hermione_main with d3 @@ -1278,12 +1273,12 @@ label hg_tutor_E11: pause .5 show screen bld1 - call nar(">She collapses panting on the desk.") + nar "She collapses panting on the desk." gen "Best view in the world." ("grin", xpos="far_left", ypos="head") pause .8 call blkfade - ">After a while, she puts her shirt back on." + nar "After a while, she puts her shirt back on." $ hermione.wear("all") @@ -1291,67 +1286,67 @@ label hg_tutor_E11: call her_chibi("stand","desk","base") hide screen blkfade - her "Thank you for everything, professor." ("soft", "narrow", "base", "mid", tears="mascara", xpos="mid", ypos="base", trans=fade) - her "It was very...{w=0.5} enlightening." ("grin", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") - her "But please, try to go easy on me next time." ("grin", "closed", "base", "mid", cheeks="blush", tears="mascara") + her @ tears mascara "Thank you for everything, professor." ("soft", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) + her @ cheeks blush tears mascara "It was very...{w=0.5} enlightening." ("grin", "narrow", "worried", "mid_soft") + her @ cheeks blush tears mascara "But please, try to go easy on me next time." ("grin", "closed", "base", "mid") gen "I have absolutely no idea what you mean by that." ("grin", xpos="far_left", ypos="head") - her "Good night professor." ("grin", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "Good night professor." ("grin", "narrow", "base", "mid_soft") gen "Good night, my dear anal whore." ("base", xpos="far_left", ypos="head") - her "Professor..." ("open", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "Professor..." ("open", "narrow", "worried", "mid_soft") call her_walk("door", "base") - her "{size=-4}(Finally tonight I'll just go to bed.){/size}" ("base", "happyCl", "worried", "mid", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(That was a little too intense...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") - her "{size=-4}(Not that I'm complaining...){/size}" ("silly", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "{size=-4}(Finally tonight I'll just go to bed.){/size}" ("base", "happyCl", "worried", "mid", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(That was a little too intense...){/size}" ("angry", "happyCl", "worried", "mid") + her @ cheeks blush "{size=-4}(Not that I'm complaining...){/size}" ("silly", "narrow", "base", "mid_soft") call her_chibi("leave") - $ her_tutoring = 12 + $ states.her.ev.tutoring.stage = 12 - if her_whoring < 21: - $ her_whoring += 1 + if states.her.level < 21: + $ states.her.level += 1 jump end_hermione_event label hg_tutor_E12: her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) - gen "[hermione_name], I have something for you." ("base", xpos="far_left", ypos="head") - her "Another gift for me?" ("base", "narrow", "base", "up", cheeks="blush") - her "Please, please." ("open", "happyCl", "worried", "mid", cheeks="blush") + gen "[name_hermione_genie], I have something for you." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Another gift for me?" ("base", "narrow", "base", "up") + her @ cheeks blush "Please, please." ("open", "happyCl", "worried", "mid") gen "You weren't this excited last time when I gave you a present..." ("base", xpos="far_left", ypos="head") - her "Oh don't worry, it was just a moment of weakness." ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Oh don't worry, it was just a moment of weakness." ("smile", "base", "angry", "mid") her "I'm ready now!" her "{size=-2}(My body perhaps not...){/size}" ("annoyed", "narrow", "worried", "down") gen "Did you have fun with your anal plug?" ("base", xpos="far_left", ypos="head") - her "Y-yes... I wear it sometimes..." ("base", "narrow", "base", "up", cheeks="blush") - her "But I cut the tail!" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Y-yes... I wear it sometimes..." ("base", "narrow", "base", "up") + her @ cheeks blush "But I cut the tail!" ("annoyed", "narrow", "angry", "R") her "{size=-2}(No way I could walk around like that...){/size}" gen "And you like it?" ("base", xpos="far_left", ypos="head") - her "It's very...{w=0.5} stimulating. It helps me whenever I cast a spell." ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="soft") + her @ cheeks blush tears soft "It's very...{w=0.5} stimulating. It helps me whenever I cast a spell." ("base", "narrow", "worried", "mid_soft") gen "Tell me the truth Miss Granger, you wear it all the time, don't you?" ("base", xpos="far_left", ypos="head") - her "Nooo..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "Maybe..." ("open_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Nooo..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "Maybe..." ("open_tongue", "narrow", "base", "up") her "........" gen "Don't be ashamed, it's alright my little whore." ("base", xpos="far_left", ypos="head") - her "I wear it all the time and...{w=0.3} I love it!" ("smile", "happyCl", "base", "mid", cheeks="blush", emote="happy") + her @ cheeks blush "I wear it all the time and...{w=0.3} I love it!" ("smile", "happyCl", "base", "mid", emote="happy") gen "{size=-2}(Marvellous){/size}" ("grin", xpos="far_left", ypos="head") gen "I've taught you good." ("base", xpos="far_left", ypos="head") her "To be a slut? Yes you have..." ("open", "closed", "base", "mid") her "And now I want more, so where is my gift?!" ("annoyed", "squint", "base", "mid") gen "There, there." ("base", xpos="far_left", ypos="head") - call give_gift(">You give the anal beads to Hermione",anal_beads_ITEM) + call give_gift("You give the anal beads to Hermione",anal_beads_ITEM) - her "Oh! That's even better than a butt plug." ("shock", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "Oh! That's even better than a butt plug." ("shock", "wide", "base", "stare") gen "And they can be useful for your pussy too." ("grin", xpos="far_left", ypos="head") - her "So many possibilities..." ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "So many possibilities..." ("smile", "base", "angry", "mid") her "... so little time." her "I suppose you want me to try them out?" ("smile", "happyCl", "base", "mid") her "Or would you rather try them out on me yourself?" gen "Oh yes." ("grin", xpos="far_left", ypos="head") her "I don't even know why I'm asking..." ("annoyed", "narrow", "annoyed", "up") - her "{size=-2}(Old pervert...){/size}" ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "{size=-2}(Old pervert...){/size}" ("open", "happyCl", "worried", "mid") call set_her_action("lift_top") pause .5 @@ -1364,13 +1359,13 @@ label hg_tutor_E12: with d3 pause .5 - her "My tits are the best in all of Hogwarts!" ("silly", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "My tits are the best in all of Hogwarts!" ("silly", "narrow", "base", "up") gen "Have you been with many girls to say that?" ("base", xpos="far_left", ypos="head") - her "I wish..." ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "I wish..." ("grin", "narrow", "base", "up") gen "I can tutor you on that too." ("grin", xpos="far_left", ypos="head") - her "Maybe we should finish this lesson first." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Maybe we should finish this lesson first." ("base", "narrow", "base", "up") gen "Oh, we have time." ("base", xpos="far_left", ypos="head") - her "Speaking of that..." ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="soft") + her @ cheeks blush tears soft "Speaking of that..." ("base", "narrow", "worried", "mid_soft") call her_walk("desk", "base", reduce=0.8) call blkfade @@ -1383,7 +1378,7 @@ label hg_tutor_E12: call bld gen "As always, it's a delightful view." ("grin", xpos="far_left", ypos="head") call blktone - her "I'm glad you love it." ("angry", "happyCl", "worried", "mid", cheeks="blush", xpos="mid", ypos="base") + her @ cheeks blush "I'm glad you love it." ("angry", "happyCl", "worried", "mid", xpos="mid", ypos="base") call set_her_action("lift_skirt") pause .5 @@ -1393,80 +1388,80 @@ label hg_tutor_E12: call set_her_action("None") pause .5 - her "Can we start now?" ("grin", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Can we start now?" ("grin", "base", "angry", "mid") gen "I suppose you want them in your ass?" ("grin", xpos="far_left", ypos="head") - her "Naturally." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Naturally." ("base", "narrow", "base", "up") her "{size=-2}(I'll try them in my pussy later tonight){/size}" ("base", "closed", "base", "mid") call her_chibi_scene("grope_ass_back") - call nar(">You push the first bead in with ease.") + nar "You push the first bead in with ease." her "*Mmm*... {heart}" gen "How many do you think you can take, my dear?" ("base", xpos="far_left", ypos="head") - her "How many have you got?" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "How many have you got?" ("base", "narrow", "base", "up") gen "That's the spirit!" ("grin", xpos="far_left", ypos="head") - call nar(">You push another one inside with little resistance.") - her "Yess {heart} one more please." ("open", "narrow", "base", "up", cheeks="blush") - call nar(">You feel the beads sink deeper when you push the third one inside.") - her "*Ohhh*, they're... they're moving {heart}." ("grin", "narrow", "base", "up", cheeks="blush") - call nar(">The fourth takes some work before it pops in.") - her "*Ah*... {heart}*Ah*{heart}" ("silly", "narrow", "base", "up", cheeks="blush") - call nar(">You push the last one forcefully inside.") - her "*Ahhhhh* {heart} delightful." ("open_tongue", "narrow", "base", "up", cheeks="blush") + nar "You push another one inside with little resistance." + her @ cheeks blush "Yess {heart} one more please." ("open", "narrow", "base", "up") + nar "You feel the beads sink deeper when you push the third one inside." + her @ cheeks blush "*Ohhh*, they're... they're moving {heart}." ("grin", "narrow", "base", "up") + nar "The fourth takes some work before it pops in." + her @ cheeks blush "*Ah*... {heart}*Ah*{heart}" ("silly", "narrow", "base", "up") + nar "You push the last one forcefully inside." + her @ cheeks blush "*Ahhhhh* {heart} delightful." ("open_tongue", "narrow", "base", "up") her "They're so deep in my ass... almost like your cock." gen "I can..." ("grin", xpos="far_left", ypos="head") - her "No you can't! My butthole is too tight for both." ("annoyed", "closed", "base", "mid", cheeks="blush") - her "{size=-2}(But it's such a good idea){/size}" ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "No you can't! My butthole is too tight for both." ("annoyed", "closed", "base", "mid") + her @ cheeks blush "{size=-2}(But it's such a good idea){/size}" ("grin", "narrow", "base", "up") gen "I'm sure there's still room for at least one finger." ("base", xpos="far_left", ypos="head") - call nar(">You finger her butthole gently.") - her "*Ah*... {heart}{w=0.5} *Ah*... {heart}" ("silly", "narrow", "base", "up", cheeks="blush") - her "W-What did I say..." ("grin", "narrow", "base", "up", cheeks="blush") - call nar(">You wiggle the finger inside.") - her "You never listen, [genie_name]!" ("grin", "narrow", "base", "up", cheeks="blush") + nar "You finger her butthole gently." + her @ cheeks blush "*Ah*... {heart}{w=0.5} *Ah*... {heart}" ("silly", "narrow", "base", "up") + her @ cheeks blush "W-What did I say..." ("grin", "narrow", "base", "up") + nar "You wiggle the finger inside." + her @ cheeks blush "You never listen, [name_genie_hermione]!" ("grin", "narrow", "base", "up") gen "What can I say, I just know what's best for you, my little witch." ("base", xpos="far_left", ypos="head") - call nar(">You pick up the pace.") - her "Yesss! {heart}" ("grin", "narrow", "base", "up", cheeks="blush") + nar "You pick up the pace." + her @ cheeks blush "Yesss! {heart}" ("grin", "narrow", "base", "up") gen "I thought you didn't want the finger?" ("base", xpos="far_left", ypos="head") gen "In that case, one more finger." ("grin", xpos="far_left", ypos="head") - call nar(">She shivers when you insert a second finger.") - her "*Ahh*... No-- No more please." ("open_wide_tongue", "narrow", "worried", "up", cheeks="blush") - her "My butthole is stretched so wide!" ("open", "narrow", "base", "up", cheeks="blush") + nar "She shivers when you insert a second finger." + her @ cheeks blush "*Ahh*... No-- No more please." ("open_wide_tongue", "narrow", "worried", "up") + her @ cheeks blush "My butthole is stretched so wide!" ("open", "narrow", "base", "up") gen "Your butthole is doing great." ("grin", xpos="far_left", ypos="head") - call nar(">You finger her butthole fiercely.") + nar "You finger her butthole fiercely." call her_chibi_scene("grope_ass_back_fast") - her "Nooo... *Aahh* {heart}" ("clench", "narrow", "worried", "mid_soft", cheeks="blush") + her @ cheeks blush "Nooo... *Aahh* {heart}" ("clench", "narrow", "worried", "mid_soft") gen "Your pussy is getting neglected. We need to fix that!" ("base", xpos="far_left", ypos="head") - call nar(">You start fingering her pussy with your other hand. She is panting heavily.") - her "*Ah*...{w=0.3} *Ah*... Just like that {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") - call nar(">You suddenly pull out all the beads.") - her "*Ahhhhhh*!!" ("grin", "narrow", "base", "dead", cheeks="blush", tears="messy") - call nar(">And insert four fingers in her ass.") - her "I'm cumming, [genie_name]... I cumming!" ("silly", "narrow", "base", "up", cheeks="blush") + nar "You start fingering her pussy with your other hand. She is panting heavily." + her @ cheeks blush "*Ah*...{w=0.3} *Ah*... Just like that {heart}" ("open_wide_tongue", "narrow", "base", "up") + nar "You suddenly pull out all the beads." + her @ cheeks blush tears messy "*Ahhhhhh*!!" ("grin", "narrow", "base", "dead") + nar "And insert four fingers in her ass." + her @ cheeks blush "I'm cumming, [name_genie_hermione]... I cumming!" ("silly", "narrow", "base", "up") gen "If you must..." ("base", xpos="far_left", ypos="head") - call nar(">You continue to work her ass while you finger her pussy.") + nar "You continue to work her ass while you finger her pussy." her "No don't I..." - her "Cumm-- {heart} {heart}" ("silly", "base", "worried", "mid", cheeks="blush", tears="soft") - her "Agaaain-- *Aaah* {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush tears soft "Cumm-- {heart} {heart}" ("silly", "base", "worried", "mid") + her @ cheeks blush "Agaaain-- *Aaah* {heart}" ("open_wide_tongue", "narrow", "base", "up") gen "Sorry my little anal whore but I'm starting to get tired." ("angry", xpos="far_left", ypos="head") - her "Don't you dare stop now!" ("scream", "base", "angry", "mid", cheeks="blush", tears="messy", trans=hpunch) - her "Just a little more pleassse {heart}" ("grin", "narrow", "base", "dead", cheeks="blush", tears="messy") - her "Because I will..." ("grin", "narrow", "base", "dead", cheeks="blush", tears="messy") - her "Come again!!" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush tears messy "Don't you dare stop now!" ("scream", "base", "angry", "mid", trans=hpunch) + her @ cheeks blush tears messy "Just a little more pleassse {heart}" ("grin", "narrow", "base", "dead") + her @ cheeks blush tears messy "Because I will..." ("grin", "narrow", "base", "dead") + her @ cheeks blush "Come again!!" ("open_wide_tongue", "narrow", "base", "up") hide hermione_main call blkfade - ">There's a small puddle on your desk from her juices. You slowly remove your fingers." + nar "There's a small puddle on your desk from her juices. You slowly remove your fingers." call her_chibi_scene("lie_on_desk") call hide_blkfade pause .5 - her "*Pant* *pant*" ("open", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") - her "I feel completely ravaged but happy." ("grin", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") - her "Thank you professor, for letting me discover such great sensations." ("grin", "narrow", "base", "mid_soft", cheeks="blush", tears="mascara") - her "But I'm exhausted so good night." ("grin", "closed", "base", "mid", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "*Pant* *pant*" ("open", "narrow", "worried", "mid_soft") + her @ cheeks blush tears mascara "I feel completely ravaged but happy." ("grin", "narrow", "base", "mid_soft") + her @ cheeks blush tears mascara "Thank you professor, for letting me discover such great sensations." ("grin", "narrow", "base", "mid_soft") + her @ cheeks blush tears mascara "But I'm exhausted so good night." ("grin", "closed", "base", "mid") hide hermione_main call blkfade - ">She puts her shirt back on and rushes to the door." + nar "She puts her shirt back on and rushes to the door." $ hermione.wear("all") @@ -1483,14 +1478,14 @@ label hg_tutor_E12: call her_chibi("stand","door","base") pause .5 - her "Professor!" ("open", "happy", "base", "mid", cheeks="blush") - her "........." ("base", "narrow", "base", "up", cheeks="blush") - her "Can I have points for this?" ("mad", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "Professor!" ("open", "happy", "base", "mid") + her @ cheeks blush "........." ("base", "narrow", "base", "up") + her @ cheeks blush "Can I have points for this?" ("mad", "wide", "base", "stare") gen "Now!" ("angry", xpos="far_left", ypos="head") hide hermione_main call blkfade - ">She comes back and does not seem particularly upset." + nar "She comes back and does not seem particularly upset." call her_chibi_scene("bj") call hide_blkfade @@ -1499,12 +1494,12 @@ label hg_tutor_E12: call bld her "*Slurp*! *Slurp*! *Gulp*!" gen "Yes, like that..." ("grin", xpos="far_left", ypos="head") - call nar(">Hermione eagerly sucks your dick.") + nar "Hermione eagerly sucks your dick." gen "You seem to be in a hurry. Is it because you're not getting points for this?" ("base", xpos="far_left", ypos="head") gen "Consider it a payment for your private lessons." ("base", xpos="far_left", ypos="head") her "*Mmmh*..." gen "Next time, come with your robe and your robe only." ("base", xpos="far_left", ypos="head") - call nar(">She briefly nods.") + nar "She briefly nods." her "*Slurp*! *Gulp*! *Slurp*!" gen "You're doing great my little whore, I will..." ("grin", xpos="far_left", ypos="head") gen "Yes!" ("angry", xpos="far_left", ypos="head") @@ -1520,29 +1515,29 @@ label hg_tutor_E12: gen "Good girl, you swallowed it all!" ("grin", xpos="far_left", ypos="head") call blkfade - ">She wipes her mouth." + nar "She wipes her mouth." call gen_chibi("sit_behind_desk") call her_chibi("stand","desk","base") call hide_blkfade call ctc - her "Sir, I still think I deserve some..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Sir, I still think I deserve some..." ("annoyed", "narrow", "angry", "R") gen "Good night, my dear child." ("base", xpos="far_left", ypos="head") - her "........." ("annoyed", "narrow", "base", "up", cheeks="blush") - her "Good night, professor." ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "........." ("annoyed", "narrow", "base", "up") + her @ cheeks blush "Good night, professor." ("annoyed", "closed", "base", "mid") call her_walk("door", "base") - her "{size=-4}(Sucking his cock without getting any points!){/size}" ("annoyed", "narrow", "angry", "R", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(If he hadn't made me come so hard...){/size}" ("base", "narrow", "base", "up", cheeks="blush") - her "{size=-4}(*sigh* Although I guess it's not that high a price...){/size}" ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "{size=-4}(Sucking his cock without getting any points!){/size}" ("annoyed", "narrow", "angry", "R", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(If he hadn't made me come so hard...){/size}" ("base", "narrow", "base", "up") + her @ cheeks blush "{size=-4}(*sigh* Although I guess it's not that high a price...){/size}" ("base", "narrow", "base", "down") call her_chibi("leave") - $ her_tutoring = 13 + $ states.her.ev.tutoring.stage = 13 - if her_whoring < 24: - $ her_whoring += 1 + if states.her.level < 24: + $ states.her.level += 1 jump end_hermione_event @@ -1553,12 +1548,12 @@ label hg_tutor_E13: ### Robe Section ### #################### - #her "Oh! I can't believe I forgot! Stay where you are, I'll be right back!" ("mad", "wide", "base", "stare", cheeks="blush") + #her @ cheeks blush "Oh! I can't believe I forgot! Stay where you are, I'll be right back!" ("mad", "wide", "base", "stare") #hide hermione_main - #call play_sound("door") + #play sound "sounds/door.ogg" #call blkfade - #call play_sound("door") + #play sound "sounds/door.ogg" #pause .3 #if h_robe in gryffindor_robe_list: @@ -1573,14 +1568,14 @@ label hg_tutor_E13: #call her_walk("mid", "base") - #her "{size=-4}*panting*{/size} Oh good, you're still here." ("open", "base", "base", "mid", cheeks="blush", xpos="right", ypos="base") + #her @ cheeks blush "{size=-4}*panting*{/size} Oh good, you're still here." ("open", "base", "base", "mid", xpos="right", ypos="base") #gen "Is it safe to assume you have honoured my request this time?" ("base", xpos="far_left", ypos="head") - #her "I thought it was obvious." ("open", "happy", "base", "mid", cheeks="blush") - #her "I even had to hide in an alcove to avoid getting noticed on my way here!" ("open", "base", "base", "mid", cheeks="blush") - #her "It was so embarrassing!" ("open", "happyCl", "worried", "mid", cheeks="blush") - #her "{size=-2}(And exciting!){/size}" ("open", "happyCl", "worried", "mid", cheeks="blush") + #her @ cheeks blush "I thought it was obvious." ("open", "happy", "base", "mid") + #her @ cheeks blush "I even had to hide in an alcove to avoid getting noticed on my way here!" ("open", "base", "base", "mid") + #her @ cheeks blush "It was so embarrassing!" ("open", "happyCl", "worried", "mid") + #her @ cheeks blush "{size=-2}(And exciting!){/size}" ("open", "happyCl", "worried", "mid") #gen "Are you sure you're not wearing anything underneath?" ("base", xpos="far_left", ypos="head") - #call nar(">Hermione opens up her cloak a little.") + #nar "Hermione opens up her cloak a little." #pause .2 #hide hermione_main @@ -1588,10 +1583,10 @@ label hg_tutor_E13: # $ hermione_robe = "characters/hermione/clothes/robe/robe_3_g.webp" #elif h_robe in slytherin_robe_list: # $ hermione_robe = "characters/hermione/clothes/robe/robe_3_s.webp" - #her "" ("open", "happy", "base", "mid", cheeks="blush") + #her @ cheeks blush "" ("open", "happy", "base", "mid") #call ctc - #her "Does this answer your question?" ("open", "happy", "base", "mid", cheeks="blush") + #her @ cheeks blush "Does this answer your question?" ("open", "happy", "base", "mid") #gen "Not really. It's hard to tell from this distance. I mean, it's so dark..." ("base", xpos="far_left", ypos="head") #her "..." ("annoyed", "narrow", "base", "up") #pause .2 @@ -1601,10 +1596,10 @@ label hg_tutor_E13: # $ hermione_robe = "characters/hermione/clothes/robe/robe_open_g.webp" #elif h_robe in slytherin_robe_list: # $ hermione_robe = "characters/hermione/clothes/robe/robe_open_s.webp" - #her "" ("base", "closed", "base", "mid", cheeks="blush", trans=d5) + #her @ cheeks blush "" ("base", "closed", "base", "mid", trans=d5) #call ctc - #her "Is that better?" ("base", "narrow", "base", "mid_soft", cheeks="blush") + #her @ cheeks blush "Is that better?" ("base", "narrow", "base", "mid_soft") #gen "Oh yes, definitely. Well done, my girl." ("grin", xpos="far_left", ypos="head") #hide hermione_main @@ -1614,23 +1609,23 @@ label hg_tutor_E13: # $ hermione_robe = "characters/hermione/clothes/robe/robe_3_s.webp" - her "Alright then, can we start the lesson now?" ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Alright then, can we start the lesson now?" ("smile", "base", "angry", "mid") gen "Maybe, I don't know... do you like butterbeer?" ("base", xpos="far_left", ypos="head") - her "You know I do. What's that got to do with..." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "You know I do. What's that got to do with..." ("soft", "base", "base", "R") gen "......." ("grin", xpos="far_left", ypos="head") - her "Do you mean...{w=0.3} no, no way professor!" ("scream", "wide", "base", "stare", cheeks="blush") + her @ cheeks blush "Do you mean...{w=0.3} no, no way professor!" ("scream", "wide", "base", "stare") gen "Oh, rest assured, we won't start with the bottom end." ("base", xpos="far_left", ypos="head") - her "Still, professor, this is so dirty..." ("silly", "narrow", "base", "up", cheeks="blush") - her "{size=-2}(And exciting!){/size}" ("silly", "narrow", "base", "up", cheeks="blush") - her "Moreover, my butthole isn't stretched enough." ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Still, professor, this is so dirty..." ("silly", "narrow", "base", "up") + her @ cheeks blush "{size=-2}(And exciting!){/size}" ("silly", "narrow", "base", "up") + her @ cheeks blush "Moreover, my butthole isn't stretched enough." ("annoyed", "closed", "base", "mid") gen "Are you kidding me, with all your training!" ("angry", xpos="far_left", ypos="head") - her "And what a training!" ("annoyed", "narrow", "base", "up", cheeks="blush") - her "{size=-2}(Good thing I practised by myself, otherwise...){/size}" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "And what a training!" ("annoyed", "narrow", "base", "up") + her @ cheeks blush "{size=-2}(Good thing I practised by myself, otherwise...){/size}" ("angry", "happyCl", "worried", "mid") gen "Now stop making up excuses!" ("angry", xpos="far_left", ypos="head") gen "I can see you rubbing your thighs from excitement!" ("base", xpos="far_left", ypos="head") - her "I thought it was so dark in here..." ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "I thought it was so dark in here..." ("open", "happy", "base", "mid") her "*Humm*...{w=0.3} Okay, but you better start out easy on me." ("annoyed", "squint", "base", "mid") - gen "I'm always gentle with you, [hermione_name]." ("grin", xpos="far_left", ypos="head") + gen "I'm always gentle with you, [name_hermione_genie]." ("grin", xpos="far_left", ypos="head") her "Yeah, obviously..." ("annoyed", "narrow", "annoyed", "up") gen "{size=-2}(It's not as if you don't like it rough){/size}" ("base", xpos="far_left", ypos="head") gen "Alright, my desk.{w=0.3} You{w=0.5}, naked{w=0.6}, now!" ("base", xpos="far_left", ypos="head") @@ -1638,10 +1633,10 @@ label hg_tutor_E13: call her_walk("desk", "base", reduce=0.8) call blkfade - $ renpy.play('sounds/08_hop_on_desk.ogg') #Sound of the desk squeaking. + play sound "sounds/08_hop_on_desk.ogg" #Sound of the desk squeaking. pause .5 - ">Hermione slowly slides down her robe and climbs up your desk." + nar "Hermione slowly slides down her robe and climbs up your desk." $ hermione.strip("robe") @@ -1657,32 +1652,32 @@ label hg_tutor_E13: her "Because a girl likes to be complimented, professor!" ("annoyed", "squint", "base", "mid") her "Especially when she's about to do these kinds of things!" ("annoyed", "narrow", "annoyed", "up") gen "I meant, of course you have an amazing body! That's not up to question." ("base", xpos="far_left", ypos="head") - her "Best in the school?" ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Best in the school?" ("base", "narrow", "base", "up") gen "......{w=0.3} Yeah, yeah, best in the school." ("base", xpos="far_left", ypos="head") - her "I can tell you're lying!" ("mad", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "I can tell you're lying!" ("mad", "base", "angry", "mid") gen "Miss Granger, I've lived for a very long time and believe me, I have seen few women with a body like yours." ("base", xpos="far_left", ypos="head") gen "And definitely none in this school." ("base", xpos="far_left", ypos="head") gen "{size=-2}(Severus still hasn't sent those Slytherin whores up){/size}" ("base", xpos="far_left", ypos="head") gen "{size=-2}(I wonder if I can fire him for that...){/size}" ("base", xpos="far_left", ypos="head") - her "Thank you, professor." ("open", "happyCl", "worried", "mid", cheeks="blush") - her "Feel free to use my body as you please." ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Thank you, professor." ("open", "happyCl", "worried", "mid") + her @ cheeks blush "Feel free to use my body as you please." ("angry", "happyCl", "worried", "mid") gen "{size=-2}(*sigh* women...){/size}" ("base", xpos="far_left", ypos="head") gen "Bend over the desk my dear little witch." ("base", xpos="far_left", ypos="head") - her "{size=-2}(It starts with my dear little witch and ends up with my dear anal whore...){/size}" ("annoyed", "narrow", "base", "up", cheeks="blush") - her "{size=-2}(*sigh* men...){/size}" ("annoyed", "narrow", "base", "up", cheeks="blush") - her "As you wish my dear {b}old{/b} headmaster." ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "{size=-2}(It starts with my dear little witch and ends up with my dear anal whore...){/size}" ("annoyed", "narrow", "base", "up") + her @ cheeks blush "{size=-2}(*sigh* men...){/size}" ("annoyed", "narrow", "base", "up") + her @ cheeks blush "As you wish my dear {b}old{/b} headmaster." ("open", "happy", "base", "mid") gen "{size=-2}(If you knew how old I actually am...){/size}" ("base", xpos="far_left", ypos="head") her "" (animation=None) hide hermione_main call blkfade - ">Hermione languorously climbs down your desk and bends over it." + nar "Hermione languorously climbs down your desk and bends over it." call her_chibi_scene("lie_on_desk", trans=d5) - her "I'm ready, [genie_name]." (ypos="head", flip=False, trans=d3) + her "I'm ready, [name_genie_hermione]." (ypos="head", flip=False, trans=d3) - call give_gift(">You take an empty butterbeer bottle, spit on the neck, and push it inside her butthole.",butterbeer_ITEM) + call give_gift("You take an empty butterbeer bottle, spit on the neck, and push it inside her butthole.",butterbeer_ITEM) call her_chibi_scene("lie_on_desk_fingering_slow") hide screen bld1 @@ -1690,34 +1685,34 @@ label hg_tutor_E13: call hide_blkfade call ctc - her "*Mmm*... Yes... like that." ("base", "narrow", "base", "up", cheeks="blush", xpos="mid", ypos="base", flip=True) - her "My pussy feels lonely without your care." ("grin", "wink", "base", "mid", cheeks="blush") - call nar(">You start to finger her pussy too.") + her @ cheeks blush "*Mmm*... Yes... like that." ("base", "narrow", "base", "up", xpos="mid", ypos="base", flip=True) + her @ cheeks blush "My pussy feels lonely without your care." ("grin", "wink", "base", "mid") + nar "You start to finger her pussy too." gen "Poor little thing." ("base", xpos="far_left", ypos="head") - her "What's better in life than this professor?" ("open", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "What's better in life than this professor?" ("open", "narrow", "base", "up") gen "Oh, I don't know." ("base", xpos="far_left", ypos="head") - her "Thank you for letting me discover such pleasures." ("open", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Thank you for letting me discover such pleasures." ("open", "happyCl", "worried", "mid") gen "{b}My{/b} pleasure." ("grin", xpos="far_left", ypos="head") - her "It's even better when it's mutual, isn't it?" ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "It's even better when it's mutual, isn't it?" ("open", "happy", "base", "mid") gen "*Hmm*... Yes you're right... I'm glad you feel that way." ("base", xpos="far_left", ypos="head") - her "Now a little deeper please." ("soft", "base", "base", "R", cheeks="blush") - call nar(">You push the whole bottle neck up inside her asshole.") - her "*Ohhh* yesss! {heart}" ("open", "narrow", "base", "up", cheeks="blush") - her "More, faster!" ("open", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Now a little deeper please." ("soft", "base", "base", "R") + nar "You push the whole bottle neck up inside her asshole." + her @ cheeks blush "*Ohhh* yesss! {heart}" ("open", "narrow", "base", "up") + her @ cheeks blush "More, faster!" ("open", "narrow", "base", "up") call her_chibi_scene("lie_on_desk_fingering") - call nar(">You rotate the bottle while going back and forth deeper and deeper.") - her "Yessss, don't forget my pussy. {heart}" ("grin", "narrow", "base", "up", cheeks="blush") + nar "You rotate the bottle while going back and forth deeper and deeper." + her @ cheeks blush "Yessss, don't forget my pussy. {heart}" ("grin", "narrow", "base", "up") gen "Oh, your pussy better be ready for what's coming!" ("grin", xpos="far_left", ypos="head") - call nar(">You insert all four fingers in her sopping wet pussy.") - her "Sweet Circe-- *Aah*... *Ah*, that's too much! {heart}" ("open", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") + nar "You insert all four fingers in her sopping wet pussy." + her @ cheeks blush tears mascara "Sweet Circe-- *Aah*... *Ah*, that's too much! {heart}" ("open", "narrow", "worried", "mid_soft") gen "Nothing is too much for my little whore." ("base", xpos="far_left", ypos="head") - call nar(">You increase the pace of both hands.") - her "No, no, yes, yessss! {heart}" ("grin", "narrow", "base", "dead", cheeks="blush", tears="messy") - call nar(">Most of the bottle is inside her now, leaving just enough to get a good grip.") + nar "You increase the pace of both hands." + her @ cheeks blush tears messy "No, no, yes, yessss! {heart}" ("grin", "narrow", "base", "dead") + nar "Most of the bottle is inside her now, leaving just enough to get a good grip." gen "Push the bottle, push it!" ("base", xpos="far_left", ypos="head") - call nar(">Whenever she pushes it back you do the same in the other direction.") - her "This is, this is, *aaaah*!!! {heart}{heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") - call nar(">Her whole body convulses as she comes hard.") + nar "Whenever she pushes it back you do the same in the other direction." + her @ cheeks blush "This is, this is, *aaaah*!!! {heart}{heart}" ("open_wide_tongue", "narrow", "base", "up") + nar "Her whole body convulses as she comes hard." hide hermione_main call blkfade @@ -1726,13 +1721,13 @@ label hg_tutor_E13: call hide_blkfade call ctc - her "*Panting* *panting*" ("grin", "narrow", "base", "dead", cheeks="blush", tears="messy", ypos="head", flip=False, trans=d3) - her "P-professor...{w=0.3} I'm so happy right now." ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="soft") + her @ cheeks blush tears messy "*Panting* *panting*" ("grin", "narrow", "base", "dead", ypos="head", flip=False, trans=d3) + her @ cheeks blush tears soft "P-professor...{w=0.3} I'm so happy right now." ("base", "narrow", "worried", "mid_soft") gen "Glad to hear it." ("grin", xpos="far_left", ypos="head") hide hermione_main call blkfade - ">After a while, she makes herself somewhat presentable." + nar "After a while, she makes herself somewhat presentable." #$ hermione_wear_robe = True @@ -1742,22 +1737,22 @@ label hg_tutor_E13: call bld gen "Sweet dreams my little princess." ("base", xpos="far_left", ypos="head") - her "You too, professor." ("open", "base", "base", "mid", cheeks="blush", xpos="mid", ypos="base", flip=False) + her @ cheeks blush "You too, professor." ("open", "base", "base", "mid", xpos="mid", ypos="base", flip=False) gen "They are always sweet with you around." ("grin", xpos="far_left", ypos="head") - her "Thank you." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Thank you." ("base", "narrow", "base", "up") gen "And next time bring your books, I'll help you with your revisions." ("base", xpos="far_left", ypos="head") call her_walk("door", "base") - her "{size=-4}(Yes, sweet dreams...){/size}" ("base", "happyCl", "worried", "mid", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(Sweet and wet!){/size}" ("silly", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "{size=-4}(Yes, sweet dreams...){/size}" ("base", "happyCl", "worried", "mid", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(Sweet and wet!){/size}" ("silly", "narrow", "base", "mid_soft") call her_chibi("leave") - $ her_tutoring = 14 + $ states.her.ev.tutoring.stage = 14 - if her_whoring < 24: - $ her_whoring += 1 + if states.her.level < 24: + $ states.her.level += 1 jump end_hermione_event @@ -1766,33 +1761,33 @@ label hg_tutor_E14: #her "I'll go get my books right away, sir!" ("soft", "base", "base", "R") #hide hermione_main - #call play_sound("door") + #play sound "sounds/door.ogg" #call blkfade #pause 1 #call set_her_action("hold_book") - #call play_sound("door") + #play sound "sounds/door.ogg" #pause .3 #call hide_blkfade #call ctc - #her "Revisions are a serious matter, [genie_name]!" ("open", "base", "worried", "mid") + #her "Revisions are a serious matter, [name_genie_hermione]!" ("open", "base", "worried", "mid") #gen "{size=-2}(My cock in your ass is a serious matter...){/size}" ("base", xpos="far_left", ypos="head") #gen "In this regard, I kinda lied, it's more of a mock exam than revisions." ("base", xpos="far_left", ypos="head") - #her "What a surprise!" ("annoyed", "narrow", "base", "up", cheeks="blush") + #her @ cheeks blush "What a surprise!" ("annoyed", "narrow", "base", "up") - gen "[hermione_name], today I'd like to examine if you've been keeping up with your tutoring lessons..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], today I'd like to examine if you've been keeping up with your tutoring lessons..." ("base", xpos="far_left", ypos="head") gen "And make sure you've been working out your butthole." ("grin", xpos="far_left", ypos="head") - her "........" ("annoyed", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "........" ("annoyed", "narrow", "base", "up") gen "With my cock." ("grin", xpos="far_left", ypos="head") her "I see..." ("annoyed", "base", "base", "R") - her "I'm not against that but I bet I'll gain no points for this?" ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "I'm not against that but I bet I'll gain no points for this?" ("annoyed", "narrow", "angry", "R") gen "I'm helping you with your revisions, why should you be getting points for that?" ("base", xpos="far_left", ypos="head") - her "And what revisions..." ("annoyed", "closed", "base", "mid", cheeks="blush") - her "Alright, since you have helped me a lot, I'm in." ("base", "base", "base", "R", cheeks="blush") - her "{size=-2}(I give myself away for free now, what a bad whore I make){/size}" ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="soft") + her @ cheeks blush "And what revisions..." ("annoyed", "closed", "base", "mid") + her @ cheeks blush "Alright, since you have helped me a lot, I'm in." ("base", "base", "base", "R") + her @ cheeks blush tears soft "{size=-2}(I give myself away for free now, what a bad whore I make){/size}" ("base", "narrow", "worried", "mid_soft") gen "Come here and strip." ("base", xpos="far_left", ypos="head") call her_walk("desk", "base", reduce=0.8) @@ -1803,7 +1798,7 @@ label hg_tutor_E14: #call set_her_action("naked") #call set_her_action("hold_book") - $ hermione.strip("all") + $ hermione.strip("clothes") call her_chibi_scene("lie_on_desk") hide screen bld1 @@ -1813,10 +1808,10 @@ label hg_tutor_E14: show screen blktone her "" (xpos="mid", ypos="base") gen "You can open a book if you want." ("grin", xpos="far_left", ypos="head") - her "I should read about this spell called \"the Clap\"!" ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I should read about this spell called \"the Clap\"!" ("annoyed", "closed", "base", "mid") hide hermione_main - call nar(">You take advantage of her moment of distraction to force your cock into her butthole.") + nar "You take advantage of her moment of distraction to force your cock into her butthole." call her_chibi_scene("sex_naked_slow") hide screen bld1 @@ -1824,60 +1819,60 @@ label hg_tutor_E14: with hpunch pause .8 - her "Ah, you brute {heart}" ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Ah, you brute {heart}" ("grin", "narrow", "base", "up") gen "Your butthole is the perfect fit, not too tight and not too stretched!" ("base", xpos="far_left", ypos="head") - her "You've trained me well..." ("silly", "narrow", "base", "up", cheeks="blush") - call nar(">You caress her clit while fucking her.") - her "*Mmmh*, yes {heart}" ("open", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "You've trained me well..." ("silly", "narrow", "base", "up") + nar "You caress her clit while fucking her." + her @ cheeks blush "*Mmmh*, yes {heart}" ("open", "narrow", "base", "up") gen "You love it don't you?" ("grin", xpos="far_left", ypos="head") - her "Your cock in my ass, oh yes." ("base", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Your cock in my ass, oh yes." ("base", "narrow", "base", "up") gen "Even without points?" ("base", xpos="far_left", ypos="head") - her "Don't make me regret agreeing to this." ("upset", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "Don't make me regret agreeing to this." ("upset", "happyCl", "worried", "mid") gen "Say you love it even without points." ("base", xpos="far_left", ypos="head") call her_chibi_scene("sex_naked") - call nar(">You increase the pace.") - her "*Ahh* yesss {heart}" ("open_tongue", "narrow", "base", "up", cheeks="blush") - her "I'm such a whore, I love sex even for free." ("mad", "wide", "base", "stare", cheeks="blush") + nar "You increase the pace." + her @ cheeks blush "*Ahh* yesss {heart}" ("open_tongue", "narrow", "base", "up") + her @ cheeks blush "I'm such a whore, I love sex even for free." ("mad", "wide", "base", "stare") gen "You know it!" ("grin", xpos="far_left", ypos="head") - her "Don't make it a habit." ("open", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "Don't make it a habit." ("open", "happy", "base", "mid") gen "......" ("base", xpos="far_left", ypos="head") - call nar(">You pull out your cock and roughly shove it back inside.") + nar "You pull out your cock and roughly shove it back inside." with hpunch - her "*Aaaaah* {heart}" ("open", "narrow", "annoyed", "up", cheeks="blush") - her "I love being sodomised savagely by my headmaster." ("silly", "narrow", "base", "up", cheeks="blush") - call nar(">And again.") + her @ cheeks blush "*Aaaaah* {heart}" ("open", "narrow", "annoyed", "up") + her @ cheeks blush "I love being sodomised savagely by my headmaster." ("silly", "narrow", "base", "up") + nar "And again." with hpunch her "Yessss {heart}" - her "I love his big cock in my ass." ("silly", "base", "worried", "mid", cheeks="blush", tears="soft") - call nar(">You slap her butt-cheek.") - call play_sound("slap_1") + her @ cheeks blush tears soft "I love his big cock in my ass." ("silly", "base", "worried", "mid") + nar "You slap her butt-cheek." + play sound "sounds/slap.ogg" with hpunch - her "And being punished for my sluttiness." ("open", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") - call play_sound("slap_1") + her @ cheeks blush tears mascara "And being punished for my sluttiness." ("open", "narrow", "worried", "mid_soft") + play sound "sounds/slap.ogg" with hpunch - her "*Aah*, like this, punish me more master {heart}" ("silly", "base", "worried", "mid", cheeks="blush", tears="soft") - call play_sound("slap_1") + her @ cheeks blush tears soft "*Aah*, like this, punish me more master {heart}" ("silly", "base", "worried", "mid") + play sound "sounds/slap.ogg" with hpunch - her "Yess!" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") - call play_sound("slap_1") + her @ cheeks blush "Yess!" ("open_wide_tongue", "narrow", "base", "up") + play sound "sounds/slap.ogg" with hpunch - her "More!" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") - call play_sound("slap_1") + her @ cheeks blush "More!" ("open_wide_tongue", "narrow", "base", "up") + play sound "sounds/slap.ogg" with hpunch - her "I'm about to..." ("angry", "narrow", "base", "dead", cheeks="blush", tears="crying") - call play_sound("slap_1") + her @ cheeks blush tears crying "I'm about to..." ("angry", "narrow", "base", "dead") + play sound "sounds/slap.ogg" with hpunch pause .1 - call play_sound("slap_1") + play sound "sounds/slap.ogg" with hpunch pause .1 - her "Cuuuum {heart} {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "Cuuuum {heart} {heart}" ("open_wide_tongue", "narrow", "base", "up") call her_chibi_scene("sex_naked_fast") - call nar(">You fuck her butthole fiercely.") - her "Yes, yes, again, *aaaah* {heart}" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + nar "You fuck her butthole fiercely." + her @ cheeks blush "Yes, yes, again, *aaaah* {heart}" ("open_wide_tongue", "narrow", "base", "up") gen "Yes, my little whore, yes!" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("sex_naked_cum_out") - her "*Panting* *panting*" ("open", "narrow", "worried", "mid_soft", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "*Panting* *panting*" ("open", "narrow", "worried", "mid_soft") call her_chibi_scene("sex_naked_cum_out_done") gen "*Panting* *panting*" ("angry", xpos="far_left", ypos="head") @@ -1895,28 +1890,28 @@ label hg_tutor_E14: call bld gen "*sigh* that was, that was..." ("base", xpos="far_left", ypos="head") her "Marvellous {heart}" ("smile", "base", "base", "R") - her "I'm so glad you agreed to tutor me, professor..." ("silly", "narrow", "base", "up", cheeks="blush") - her "Your lessons have changed my life so much!" ("smile", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "I'm so glad you agreed to tutor me, professor..." ("silly", "narrow", "base", "up") + her @ cheeks blush "Your lessons have changed my life so much!" ("smile", "base", "angry", "mid") gen "{size=-2}(Victory!){/size}" ("grin", xpos="far_left", ypos="head") - her "But if you think you can fuck me all the time without giving me points..." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "You're dreaming!" ("annoyed", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "But if you think you can fuck me all the time without giving me points..." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "You're dreaming!" ("annoyed", "narrow", "base", "up") gen "{size=-2}(*Ohhh*...){/size}" ("base", xpos="far_left", ypos="head") gen "Even occasionally?" ("base", xpos="far_left", ypos="head") her "......." - her "Only if you are well-behaved..." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Only if you are well-behaved..." ("soft", "base", "base", "R") gen "I'm the most well-behaved professor in the whole school!" ("grin", xpos="far_left", ypos="head") - her "Sure." ("annoyed", "narrow", "angry", "R", cheeks="blush") - her "{size=-2}(At least, you're not the worst...){/size}" ("annoyed", "narrow", "base", "up", cheeks="blush") - gen "Good night, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Good night, [genie_name]." ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Sure." ("annoyed", "narrow", "angry", "R") + her @ cheeks blush "{size=-2}(At least, you're not the worst...){/size}" ("annoyed", "narrow", "base", "up") + gen "Good night, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Good night, [name_genie_hermione]." ("base", "base", "base", "R") hide hermione_main call blkfade - ">You dismiss Hermione." - ">She puts her clothes back on without haste." + nar "You dismiss Hermione." + nar "She puts her clothes back on without haste." - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ hermione.wear("all") pause 1 @@ -1927,14 +1922,14 @@ label hg_tutor_E14: call her_walk("door", "base") - her "{size=-4}(He's hardly Prince Charming but...){/size}" ("base", "narrow", "base", "mid_soft", cheeks="blush", ypos="head", flip=False, trans=d3) - her "{size=-4}(I doubt Prince Charming could fuck me half as well as he can!){/size}" ("grin", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "{size=-4}(He's hardly Prince Charming but...){/size}" ("base", "narrow", "base", "mid_soft", ypos="head", flip=False, trans=d3) + her @ cheeks blush "{size=-4}(I doubt Prince Charming could fuck me half as well as he can!){/size}" ("grin", "narrow", "base", "up") call her_chibi("leave") - $ her_tutoring = 15 + $ states.her.ev.tutoring.stage = 15 - if her_whoring < 24: - $ her_whoring += 1 + if states.her.level < 24: + $ states.her.level += 1 jump end_hermione_event diff --git a/game/scripts/characters/hermione/favors.rpy b/game/scripts/characters/hermione/favors.rpy index d446ffcb..117ed54f 100644 --- a/game/scripts/characters/hermione/favors.rpy +++ b/game/scripts/characters/hermione/favors.rpy @@ -1,264 +1,108 @@ -# Personal favours -default hg_pf_talk = event_class(title = _("Talk to me!"), start_label = "hg_pf_talk", start_tier = 1, events = [ - [ - ["hg_pf_talk_T1_intro_E1"], - ["hg_pf_talk_T1_E1"] - ], - [ - ["hg_pf_talk_T2_intro_E1"], - ["hg_pf_talk_T2_E1"] - ], +default her_ev_talk_to_me_t1_e1 = Event(id="her_ev_talk_to_me_t1_e1", label="hg_pf_talk_T1_intro_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_talk"]) +default her_ev_talk_to_me_t1_e2 = Event(id="her_ev_talk_to_me_t1_e2", label="hg_pf_talk_T1_E1", priority=6, req="states.her.tier == 1", queue="her_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_talk"]) +default her_ev_talk_to_me_t2_e1 = Event(id="her_ev_talk_to_me_t2_e1", label="hg_pf_talk_T2_intro_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_talk"]) +default her_ev_talk_to_me_t2_e2 = Event(id="her_ev_talk_to_me_t2_e2", label="hg_pf_talk_T2_E1", priority=6, req="states.her.tier == 2", queue="her_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_talk"]) +default her_ev_talk_to_me_t3_e1 = Event(id="her_ev_talk_to_me_t3_e1", label="hg_pf_talk_T3_intro_E1", priority=5, req="states.her.tier >= 3", queue="her_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_talk", "hg_pf_talk_tonks_T3_intro_E1", "hg_pf_talk_tonks_T3_E1"]) +default her_ev_talk_to_me_t3_e2 = Event(id="her_ev_talk_to_me_t3_e2", label="hg_pf_talk_T3_intro_E2", priority=6, req="states.her.tier >= 3", queue="her_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_talk", "hg_pf_talk_tonks_T3_intro_E1", "hg_pf_talk_tonks_T3_E1"]) +default her_ev_talk_to_me_t3_e3 = Event(id="her_ev_talk_to_me_t3_e3", label="hg_pf_talk_T3_repeat", priority=7, req="states.her.tier >= 3", queue="her_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_talk", "hg_pf_talk_tonks_T3_intro_E1", "hg_pf_talk_tonks_T3_E1"]) - [ - ["hg_pf_talk_T3_intro_E1"], - ["hg_pf_talk_T3_intro_E2"], - ["hg_pf_talk_T3_repeat"] - ] - - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_red"], ["heart_empty", "heart_half"], ["heart_empty", "heart_red"]] - ) - -# Alternate talk event with TONKS -default hg_pf_talk_tonks = event_class(title = "", start_label = "", start_tier = 3, events = [ - [ - ["hg_pf_talk_tonks_T3_intro_E1"], - ["hg_pf_talk_tonks_T3_E1"] - ] - - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_red"], ["heart_empty", "heart_half"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_admire_panties = event_class(title = _("Show me your Panties!"), start_label = "hg_pf_admire_panties", start_tier = 1, events = [ - [ - ["hg_pf_admire_panties_T1_intro_E1"], - ["hg_pf_admire_panties_T1_E1"] - ], - - [ - ["hg_pf_admire_panties_T2_intro_E1"], - ["hg_pf_admire_panties_T2_E1"] - ], - - [ - ["hg_pf_admire_panties_T3_intro_E1"], - ["hg_pf_admire_panties_T3_E1"], - ], - - [ - ["hg_pf_admire_panties_T4_intro_E1"], - ["hg_pf_admire_panties_T4_E1"], - ["hg_pf_admire_panties_T4_E2"] - ] - - ], - icons = [None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_red"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_admire_breasts = event_class(title = _("Show me your tits!"), start_label = "hg_pf_admire_breasts", start_tier = 1, events = [ - [ - ["hg_pf_admire_breasts_T1_intro_E1"], - ["hg_pf_admire_breasts_T1_intro_E2"], - ["hg_pf_admire_breasts_T1_E2"] - ], - - [ - ["hg_pf_admire_breasts_T2_intro_E1"], - ["hg_pf_admire_breasts_T2_intro_E2"], - ["hg_pf_admire_breasts_T2_E2"] - ], - - [ - ["hg_pf_admire_breasts_T3_intro_E1"], - ["hg_pf_admire_breasts_T3_E1"] - ], - - [ - ["hg_pf_admire_breasts_T4_intro_E1"], - ["hg_pf_admire_breasts_T4_E1"], - ["hg_pf_admire_breasts_T4_E2"] - ] - - ], - icons = [None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_red"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_grope = event_class(title = _("Grope her!"), start_label = "hg_pf_grope", start_tier = 1, events = [ - [ - ["hg_pf_grope_T1_fail_intro"], - ["hg_pf_grope_T1_fail_repeat"], - ], - - [ - ["hg_pf_grope_T2_intro_E1"], - ["hg_pf_grope_T2_E1"] - ], - - [ - ["hg_pf_grope_T3_intro_E1"], - ["hg_pf_grope_T3_E1"] - ], - - [ - ["hg_pf_grope_T4_intro_E1"], - ["hg_pf_grope_T4_intro_E2"], - ["hg_pf_grope_T4_E2"] - ] - - ], - icons = [None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_black"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_strip = event_class(title = _("Dance for Me!"), start_label = "hg_pf_strip", start_tier = 1, events = [ - [["hg_pf_strip_fail"]], # Tier 1 - - [ - ["hg_pf_strip_T2_fail_intro"], - ["hg_pf_strip_T2_fail_repeat"], - ], - - [ - ["hg_pf_strip_T3_intro_E1"], # First Strip event. - ["hg_pf_strip_T3_intro_E2"], # Strip event where Snape enters. - ["hg_pf_strip_T3_E2"] # Clumsy Strip. Has branches. - ], - - [ - ["hg_pf_strip_T4_intro_E1"], # Hermione has improved. - ["hg_pf_strip_T4_intro_E2"], # Hermione doesn't mind stripping. - ["hg_pf_strip_T4_E2"] # She's happy to strip. - ] - - ], - icons = [None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_half"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_handjob = event_class(title = _("Give me a handy!"), start_label = "hg_pf_handjob", start_tier = 1, events = [ - [["hg_pf_handjob_fail"]], # Tier 1 - [["hg_pf_handjob_fail"]], # Tier 2 - [["hg_pf_handjob_fail"]], # Tier 3 - - [ - ["hg_pf_handjob_T4_intro_E1"], # First time handjob - ["hg_pf_handjob_T4_intro_E2"], # Second time handjob - ["hg_pf_handjob_T4_repeat"] # Repeated handjob - ], - - [ - ["hg_pf_handjob_T5_intro_E1"], # New interaction - ["hg_pf_handjob_T5_intro_E2"], # More reply options - ["hg_pf_handjob_T5_repeat"] # Repeated handjob - ] - - ], - icons = [None, None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_half"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_titjob = event_class(title = _("Give me a tittyjob!"), start_label = "hg_pf_titjob", start_tier = 1, events = [ - [["hg_pf_titjob_fail"]], # Tier 1 - [["hg_pf_titjob_fail"]], # Tier 2 - [["hg_pf_titjob_fail"]], # Tier 3 - [["hg_pf_titjob_fail"]], # Tier 4 - - [ - ["hg_pf_titjob_T5_intro_E1"], # First time titjob - ["hg_pf_titjob_T5_repeat"] # Repeated titjob - ], - - [ - ["hg_pf_titjob_T6_intro_E1"], # Couple of choices - ["hg_pf_titjob_T6_intro_E2"], # New interactions - ["hg_pf_titjob_T6_repeat"] # Repeated titjob - ] - - ], - icons = [None, None, None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_blowjob = event_class(title = _("Suck it!"), start_label = "hg_pf_blowjob", start_tier = 1, events = [ - [["hg_pf_blowjob_fail"]], # Tier 1 - [["hg_pf_blowjob_fail"]], # Tier 2 - [["hg_pf_blowjob_fail"]], # Tier 3 - - [ - ["hg_pf_blowjob_T4_fail_intro"], # Hermione refuses - ["hg_pf_blowjob_T4_fail_repeat"] # Repeat fail - ], - - [ - ["hg_pf_blowjob_T5_intro_E1"], # First time blowjob - ["hg_pf_blowjob_T5_intro_E2"], # Snape visit - ["hg_pf_blowjob_T5_repeat"] # Repeated blowjob - ], - - [ - ["hg_pf_blowjob_T6_intro_E1"], # Couple of choices - ["hg_pf_blowjob_T6_hidden_repeat"], # Repeat: Random visit - ["hg_pf_blowjob_T6_repeat"] # Repeat: Regular + Facefuck - ] - - ], - icons = [None, None, None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_red"], ["heart_empty", "heart_red"]] - ) - - -default hg_pf_sex = event_class(title = _("Let's have sex!"), start_label = "hg_pf_sex", start_tier = 1, events = [ - [["hg_pf_sex_fail"]], # Tier 1 - [["hg_pf_sex_fail"]], # Tier 2 - [["hg_pf_sex_fail"]], # Tier 3 - [["hg_pf_sex_fail"]], # Tier 4 - [["hg_pf_sex_fail"]], # Tier 5 (Add tier 0 events that fail.) - - [ - ["hg_pf_sex_T6_intro_E1"], # First time sex - ["hg_pf_sex_T6_intro_E2"], # Second time sex - ["hg_pf_sex_T6_intro_E3"], # Choice to do anal - ["hg_pf_sex_T6_E3"] # Regular or anal sex - ] - - ], - icons = [None, None, None, None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_black"], ["heart_empty", "heart_half"]] - ) - -default hg_pf_anal_sex = event_class(title = "", start_label = "hg_pf_sex", start_tier = 6, events = [ - [ - ["hg_anal_sex_1_intro"], - ["hg_anal_sex_2_intro"], - ["hg_anal_sex_3"], - ] - - ], - icons = [None, None, None], - iconset=[["heart_empty", "heart_red"]] -) - -default hg_favor_list = [ - hg_pf_talk, - hg_pf_admire_breasts, - hg_pf_admire_panties, - hg_pf_grope, - hg_pf_strip, - hg_pf_handjob, - hg_pf_titjob, - hg_pf_blowjob, - hg_pf_sex, +default her_ev_talk_to_me_tonks_t3_e1 = Event(id="her_ev_talk_to_me_tonks_t3_e1", label="hg_pf_talk_tonks_T3_intro_E1", priority=5, req="states.her.tier >= 3", queue="her_eventqueue_talk_to_me_tonks", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_talk_to_me_tonks_t3_e2 = Event(id="her_ev_talk_to_me_tonks_t3_e2", label="hg_pf_talk_tonks_T3_E1", priority=6, req="states.her.tier >= 3", queue="her_eventqueue_talk_to_me_tonks", autoenqueue=True, autodequeue=False) + +default her_ev_admire_panties_t1_e1 = Event(id="her_ev_admire_panties_t1_e1", label="hg_pf_admire_panties_T1_intro_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t1_e2 = Event(id="her_ev_admire_panties_t1_e2", label="hg_pf_admire_panties_T1_E1", priority=6, req="states.her.tier == 1", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t2_e1 = Event(id="her_ev_admire_panties_t2_e1", label="hg_pf_admire_panties_T2_intro_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t2_e2 = Event(id="her_ev_admire_panties_t2_e2", label="hg_pf_admire_panties_T2_E1", priority=6, req="states.her.tier == 2", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t3_e1 = Event(id="her_ev_admire_panties_t3_e1", label="hg_pf_admire_panties_T3_intro_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t3_e2 = Event(id="her_ev_admire_panties_t3_e2", label="hg_pf_admire_panties_T3_E1", priority=6, req="states.her.tier == 3", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t4_e1 = Event(id="her_ev_admire_panties_t4_e1", label="hg_pf_admire_panties_T4_intro_E1", priority=5, req="states.her.tier >= 4", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t4_e2 = Event(id="her_ev_admire_panties_t4_e2", label="hg_pf_admire_panties_T4_E1", priority=6, req="states.her.tier >= 4", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_panties"]) +default her_ev_admire_panties_t4_e3 = Event(id="her_ev_admire_panties_t4_e3", label="hg_pf_admire_panties_T4_E2", priority=7, req="states.her.tier >= 4", queue="her_eventqueue_admire_panties", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_panties"]) + +default her_ev_admire_breasts_t1_e1 = Event(id="her_ev_admire_breasts_t1_e1", label="hg_pf_admire_breasts_T1_intro_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_breasts"]) +default her_ev_admire_breasts_t1_e2 = Event(id="her_ev_admire_breasts_t1_e2", label="hg_pf_admire_breasts_T1_intro_E2", priority=6, req="states.her.tier == 1", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_breasts"]) +default her_ev_admire_breasts_t1_e3 = Event(id="her_ev_admire_breasts_t1_e3", label="hg_pf_admire_breasts_T1_E2", priority=7, req="states.her.tier == 1", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts"]) +default her_ev_admire_breasts_t2_e1 = Event(id="her_ev_admire_breasts_t2_e1", label="hg_pf_admire_breasts_T2_intro_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T2", "hg_pf_admire_breasts_T2_masturbate"]) +default her_ev_admire_breasts_t2_e2 = Event(id="her_ev_admire_breasts_t2_e2", label="hg_pf_admire_breasts_T2_intro_E2", priority=6, req="states.her.tier == 2", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T2", "hg_pf_admire_breasts_T2_masturbate"]) +default her_ev_admire_breasts_t2_e3 = Event(id="her_ev_admire_breasts_t2_e3", label="hg_pf_admire_breasts_T2_E2", priority=7, req="states.her.tier == 2", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T2", "hg_pf_admire_breasts_T2_masturbate"]) +default her_ev_admire_breasts_t3_e1 = Event(id="her_ev_admire_breasts_t3_e1", label="hg_pf_admire_breasts_T3_intro_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T3"]) +default her_ev_admire_breasts_t3_e2 = Event(id="her_ev_admire_breasts_t3_e2", label="hg_pf_admire_breasts_T3_E1", priority=6, req="states.her.tier == 3", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T3"]) +default her_ev_admire_breasts_t4_e1 = Event(id="her_ev_admire_breasts_t4_e1", label="hg_pf_admire_breasts_T4_intro_E1", priority=5, req="states.her.tier >= 4", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T4"]) +default her_ev_admire_breasts_t4_e2 = Event(id="her_ev_admire_breasts_t4_e2", label="hg_pf_admire_breasts_T4_E1", priority=6, req="states.her.tier >= 4", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T4"]) +default her_ev_admire_breasts_t4_e3 = Event(id="her_ev_admire_breasts_t4_e3", label="hg_pf_admire_breasts_T4_E2", priority=7, req="states.her.tier >= 4", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hg_pf_admire_breasts_T4"]) + +default her_ev_grope_t1_e1 = Event(id="her_ev_grope_t1_e1", label="hg_pf_grope_T1_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False) +default her_ev_grope_t2_e1 = Event(id="her_ev_grope_t2_e1", label="hg_pf_grope_T2_intro_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_grope_breasts_T2", "hg_pf_grope_ass_T2", "hg_pf_grope_ass_T2_back", "hg_pf_grope_ass_T2_front", "hg_pf_grope_ass_T2_continue", "hg_pf_grope_breasts_T2_continue"]) +default her_ev_grope_t2_e2 = Event(id="her_ev_grope_t2_e2", label="hg_pf_grope_T2_E1", priority=6, req="states.her.tier == 2", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_grope_breasts_T2", "hg_pf_grope_ass_T2", "hg_pf_grope_ass_T2_back", "hg_pf_grope_ass_T2_front", "hg_pf_grope_ass_T2_continue", "hg_pf_grope_breasts_T2_continue"]) +default her_ev_grope_t3_e1 = Event(id="her_ev_grope_t3_e1", label="hg_pf_grope_T3_intro_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_grope_breasts_T3", "hg_pf_grope_ass_T3", "hg_pf_grope_ass_T3_back", "hg_pf_grope_ass_T3_front", "hg_pf_grope_ass_T3_continue", "hg_pf_grope_breasts_T3_continue"]) +default her_ev_grope_t3_e2 = Event(id="her_ev_grope_t3_e2", label="hg_pf_grope_T3_E1", priority=6, req="states.her.tier == 3", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_grope_breasts_T3", "hg_pf_grope_ass_T3", "hg_pf_grope_ass_T3_back", "hg_pf_grope_ass_T3_front", "hg_pf_grope_ass_T3_continue", "hg_pf_grope_breasts_T3_continue"]) +default her_ev_grope_t4_e1 = Event(id="her_ev_grope_t4_e1", label="hg_pf_grope_T4_intro_E1", priority=5, req="states.her.tier >= 4", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_grope_breasts_T4", "hg_pf_grope_ass_T4", "hg_pf_grope_ass_T4_back", "hg_pf_grope_ass_T4_front", "hg_pf_grope_ass_T4_continue", "hg_pf_grope_breasts_T4_continue"]) +default her_ev_grope_t4_e2 = Event(id="her_ev_grope_t4_e2", label="hg_pf_grope_T4_intro_E2", priority=6, req="states.her.tier >= 4", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_grope_breasts_T4", "hg_pf_grope_ass_T4", "hg_pf_grope_ass_T4_back", "hg_pf_grope_ass_T4_front", "hg_pf_grope_ass_T4_continue", "hg_pf_grope_breasts_T4_continue"]) +default her_ev_grope_t4_e3 = Event(id="her_ev_grope_t4_e3", label="hg_pf_grope_T4_E2", priority=7, req="states.her.tier >= 4", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_grope_breasts_T4", "hg_pf_grope_ass_T4", "hg_pf_grope_ass_T4_back", "hg_pf_grope_ass_T4_front", "hg_pf_grope_ass_T4_continue", "hg_pf_grope_breasts_T4_continue"]) + +default her_ev_strip_for_me_t1_e1 = Event(id="her_ev_strip_for_me_t1_e1", label="hg_pf_strip_T1_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False) +default her_ev_strip_for_me_t2_e1 = Event(id="her_ev_strip_for_me_t2_e1", label="hg_pf_strip_T2_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False) +default her_ev_strip_for_me_t3_e1 = Event(id="her_ev_strip_for_me_t3_e1", label="hg_pf_strip_T3_intro_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_strip_for_me_t3_e2 = Event(id="her_ev_strip_for_me_t3_e2", label="hg_pf_strip_T3_intro_E2", priority=6, req="states.her.tier == 3", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_strip_for_me_t3_e3 = Event(id="her_ev_strip_for_me_t3_e3", label="hg_pf_strip_T3_E2", priority=7, req="states.her.tier == 3", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_strip_T3_masturbate", "hg_pf_strip_T3_watch", "hg_pf_strip_T3_snape"]) +default her_ev_strip_for_me_t4_e1 = Event(id="her_ev_strip_for_me_t4_e1", label="hg_pf_strip_T4_intro_E1", priority=5, req="states.her.tier >= 4", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_strip_T4", "hg_pf_strip_T4_snape", "hg_pf_strip_T4_masturbate", "hg_pf_strip_T4_watch", "hg_pf_strip_T4_fingering", "hg_pf_strip_T5_fingering", "hg_pf_strip_T6_fingering"]) +default her_ev_strip_for_me_t4_e2 = Event(id="her_ev_strip_for_me_t4_e2", label="hg_pf_strip_T4_intro_E2", priority=6, req="states.her.tier >= 4", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_strip_T4", "hg_pf_strip_T4_snape", "hg_pf_strip_T4_masturbate", "hg_pf_strip_T4_watch", "hg_pf_strip_T4_fingering", "hg_pf_strip_T5_fingering", "hg_pf_strip_T6_fingering"]) +default her_ev_strip_for_me_t4_e3 = Event(id="her_ev_strip_for_me_t4_e3", label="hg_pf_strip_T4_E2", priority=7, req="states.her.tier >= 4", queue="her_eventqueue_strip_for_me", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_strip_T4", "hg_pf_strip_T4_snape", "hg_pf_strip_T4_masturbate", "hg_pf_strip_T4_watch", "hg_pf_strip_T4_fingering", "hg_pf_strip_T5_fingering", "hg_pf_strip_T6_fingering"]) + +default her_ev_handjob_t1_e1 = Event(id="her_ev_handjob_t1_e1", label="hg_pf_handjob_T1_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False) +default her_ev_handjob_t2_e1 = Event(id="her_ev_handjob_t2_e1", label="hg_pf_handjob_T2_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False) +default her_ev_handjob_t3_e1 = Event(id="her_ev_handjob_t3_e1", label="hg_pf_handjob_T3_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False) +default her_ev_handjob_t4_e1 = Event(id="her_ev_handjob_t4_e1", label="hg_pf_handjob_T4_intro_E1", priority=5, req="states.her.tier == 4", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_handjob_1"]) +default her_ev_handjob_t4_e2 = Event(id="her_ev_handjob_t4_e2", label="hg_pf_handjob_T4_intro_E2", priority=6, req="states.her.tier == 4", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_handjob_1"]) +default her_ev_handjob_t4_e3 = Event(id="her_ev_handjob_t4_e3", label="hg_pf_handjob_T4_repeat", priority=7, req="states.her.tier == 4", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_handjob_1"]) +default her_ev_handjob_t5_e1 = Event(id="her_ev_handjob_t5_e1", label="hg_pf_handjob_T5_intro_E1", priority=5, req="states.her.tier >= 5", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_handjob_2", "hg_pf_handjob_2_cumming", "hg_pf_handjob_2_continue"]) +default her_ev_handjob_t5_e2 = Event(id="her_ev_handjob_t5_e2", label="hg_pf_handjob_T5_intro_E2", priority=6, req="states.her.tier >= 5", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_handjob_2", "hg_pf_handjob_2_cumming", "hg_pf_handjob_2_continue"]) +default her_ev_handjob_t5_e3 = Event(id="her_ev_handjob_t5_e3", label="hg_pf_handjob_T5_repeat", priority=7, req="states.her.tier >= 5", queue="her_eventqueue_handjob", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_handjob_2", "hg_pf_handjob_2_cumming", "hg_pf_handjob_2_continue"]) + +default her_ev_titjob_t1_e1 = Event(id="her_ev_titjob_t1_e1", label="hg_pf_titjob_T1_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False) +default her_ev_titjob_t2_e1 = Event(id="her_ev_titjob_t2_e1", label="hg_pf_titjob_T2_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False) +default her_ev_titjob_t3_e1 = Event(id="her_ev_titjob_t3_e1", label="hg_pf_titjob_T3_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False) +default her_ev_titjob_t4_e1 = Event(id="her_ev_titjob_t4_e1", label="hg_pf_titjob_T4_E1", priority=5, req="states.her.tier == 4", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False) +default her_ev_titjob_t5_e1 = Event(id="her_ev_titjob_t5_e1", label="hg_pf_titjob_T5_intro_E1", priority=5, req="states.her.tier == 5", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["back_to_titjob_choices", "hg_pf_titjob_1"]) +default her_ev_titjob_t5_e2 = Event(id="her_ev_titjob_t5_e2", label="hg_pf_titjob_T5_repeat", priority=6, req="states.her.tier == 5", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_titjob_1"]) +default her_ev_titjob_t6_e1 = Event(id="her_ev_titjob_t6_e1", label="hg_pf_titjob_T6_intro_E1", priority=5, req="states.her.tier >= 6", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_titjob_2", "hg_pf_titjob_2_cumming", "hg_pf_titjob_2_continue"]) +default her_ev_titjob_t6_e2 = Event(id="her_ev_titjob_t6_e2", label="hg_pf_titjob_T6_intro_E2", priority=6, req="states.her.tier >= 6", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_titjob_2", "hg_pf_titjob_2_cumming", "hg_pf_titjob_2_continue"]) +default her_ev_titjob_t6_e3 = Event(id="her_ev_titjob_t6_e3", label="hg_pf_titjob_T6_repeat", priority=7, req="states.her.tier >= 6", queue="her_eventqueue_titjob", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_titjob_2", "hg_pf_titjob_2_cumming", "hg_pf_titjob_2_continue"]) + +default her_ev_blowjob_t1_e1 = Event(id="her_ev_blowjob_t1_e1", label="hg_pf_blowjob_T1_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False) +default her_ev_blowjob_t2_e1 = Event(id="her_ev_blowjob_t2_e1", label="hg_pf_blowjob_T2_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False) +default her_ev_blowjob_t3_e1 = Event(id="her_ev_blowjob_t3_e1", label="hg_pf_blowjob_T3_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False) +default her_ev_blowjob_t4_e1 = Event(id="her_ev_blowjob_t4_e1", label="hg_pf_blowjob_T4_E1", priority=5, req="states.her.tier == 4", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False) +default her_ev_blowjob_t5_e1 = Event(id="her_ev_blowjob_t5_e1", label="hg_pf_blowjob_T5_intro_E1", priority=5, req="states.her.tier == 5", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_blowjob_1", "hg_pf_blowjob_2", "hg_pf_hidden_blowjob", "hg_hidden_blowjob_snape", "hg_hidden_blowjob_tonks", "hg_hidden_blowjob_luna", "hg_hidden_blowjob_cumming"]) +default her_ev_blowjob_t5_e2 = Event(id="her_ev_blowjob_t5_e2", label="hg_pf_blowjob_T5_intro_E2", priority=6, req="states.her.tier == 5", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_blowjob_1", "hg_pf_blowjob_2", "hg_pf_hidden_blowjob", "hg_hidden_blowjob_snape", "hg_hidden_blowjob_tonks", "hg_hidden_blowjob_luna", "hg_hidden_blowjob_cumming"]) +default her_ev_blowjob_t5_e3 = Event(id="her_ev_blowjob_t5_e3", label="hg_pf_blowjob_T5_repeat", priority=7, req="states.her.tier == 5", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_blowjob_1", "hg_pf_blowjob_2", "hg_pf_hidden_blowjob", "hg_hidden_blowjob_snape", "hg_hidden_blowjob_tonks", "hg_hidden_blowjob_luna", "hg_hidden_blowjob_cumming"]) +default her_ev_blowjob_t6_e1 = Event(id="her_ev_blowjob_t6_e1", label="hg_pf_blowjob_T6_intro_E1", priority=5, req="states.her.tier >= 6", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hg_pf_blowjob_1", "hg_pf_blowjob_2", "hg_pf_hidden_blowjob", "hg_hidden_blowjob_snape", "hg_hidden_blowjob_tonks", "hg_hidden_blowjob_luna", "hg_hidden_blowjob_cumming"]) +default her_ev_blowjob_t6_e2 = Event(id="her_ev_blowjob_t6_e2", label="hg_pf_blowjob_T6_hidden_repeat", priority=6, req="states.her.tier >= 6", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_blowjob_1", "hg_pf_blowjob_2", "hg_pf_hidden_blowjob", "hg_hidden_blowjob_snape", "hg_hidden_blowjob_tonks", "hg_hidden_blowjob_luna", "hg_hidden_blowjob_cumming"]) +default her_ev_blowjob_t6_e3 = Event(id="her_ev_blowjob_t6_e3", label="hg_pf_blowjob_T6_repeat", priority=7, req="states.her.tier >= 6", queue="her_eventqueue_blowjob", autoenqueue=True, autodequeue=False, ignore_labels=["hg_pf_blowjob_1", "hg_pf_blowjob_2", "hg_pf_hidden_blowjob", "hg_hidden_blowjob_snape", "hg_hidden_blowjob_tonks", "hg_hidden_blowjob_luna", "hg_hidden_blowjob_cumming"]) + +default her_ev_sex_t1_e1 = Event(id="her_ev_sex_t1_e1", label="hg_pf_sex_T1_E1", priority=5, req="states.her.tier == 1", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False) +default her_ev_sex_t2_e1 = Event(id="her_ev_sex_t2_e1", label="hg_pf_sex_T2_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False) +default her_ev_sex_t3_e1 = Event(id="her_ev_sex_t3_e1", label="hg_pf_sex_T3_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False) +default her_ev_sex_t4_e1 = Event(id="her_ev_sex_t4_e1", label="hg_pf_sex_T4_E1", priority=5, req="states.her.tier == 4", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False) +default her_ev_sex_t5_e1 = Event(id="her_ev_sex_t5_e1", label="hg_pf_sex_T5_E1", priority=5, req="states.her.tier == 5", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False) +default her_ev_sex_t6_e1 = Event(id="her_ev_sex_t6_e1", label="hg_pf_sex_T6_intro_E1", priority=5, req="states.her.tier >= 6", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_sex_t6_e2 = Event(id="her_ev_sex_t6_e2", label="hg_pf_sex_T6_intro_E2", priority=6, req="states.her.tier >= 6", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_sex_t6_e3 = Event(id="her_ev_sex_t6_e3", label="hg_pf_sex_T6_intro_E3", priority=7, req="states.her.tier >= 6", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_sex_t6_e4 = Event(id="her_ev_sex_t6_e4", label="hg_pf_sex_T6_E3", priority=8, req="states.her.tier >= 6", queue="her_eventqueue_sex", autoenqueue=True, autodequeue=False) + +default her_ev_anal_t6_e1 = Event(id="her_ev_anal_t6_e1", label="hg_anal_sex_1_intro", priority=5, req="states.her.tier >= 6", queue="her_eventqueue_anal", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_anal_t6_e2 = Event(id="her_ev_anal_t6_e2", label="hg_anal_sex_2_intro", priority=6, req="states.her.tier >= 6", queue="her_eventqueue_anal", autoenqueue=True, autodequeue=False, repeat=False) +default her_ev_anal_t6_e3 = Event(id="her_ev_anal_t6_e3", label="hg_anal_sex_3", priority=7, req="states.her.tier >= 6", queue="her_eventqueue_anal", autoenqueue=True, autodequeue=False) + +define hermione_favors = [ + ("her_eventqueue_talk_to_me", "Talk to me!"), + ("her_eventqueue_admire_breasts", "Show me your tits!"), + ("her_eventqueue_admire_panties", "Show me your panties!"), + ("her_eventqueue_grope", "Grope her!"), + ("her_eventqueue_strip_for_me", "Strip for me!"), + ("her_eventqueue_handjob", "Give me a handy!"), + ("her_eventqueue_titjob", "Give me a tittyjob!"), + ("her_eventqueue_blowjob", "Suck it!"), + ("her_eventqueue_sex", "Let's have sex!"), ] diff --git a/game/scripts/characters/hermione/gifts.rpy b/game/scripts/characters/hermione/gifts.rpy index d4c7cd40..31c335ea 100644 --- a/game/scripts/characters/hermione/gifts.rpy +++ b/game/scripts/characters/hermione/gifts.rpy @@ -6,594 +6,594 @@ label give_her_gift(gift_item): with d5 her "" (xpos="mid",ypos="base",trans=d5) - $ gave_hermione_gift = True + $ states.her.gifted = True if gift_item == lollipop_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "A lollipop?" ("base", "base", "base", "mid") - call give_gift(_(">You give the candy to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + call give_gift("You give the lollipop to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-5) - elif her_whoring < 12: # Lv 3-4. - her "Candy?" ("normal", "base", "base", "mid") - her "Candy is for kids, [genie_name]." ("open", "base", "base", "mid") - call give_gift(_(">You give the candy to Hermione..."), gift_item) + elif states.her.level < 12: + her "A lollipop?" ("normal", "base", "base", "mid") + her "Sweets are for kids, [name_genie_hermione]." ("open", "base", "base", "mid") + call give_gift("You give the lollipop to Hermione...",gift_item) her "Thank you..." ("annoyed", "base", "worried", "R") call her_mood(-5) - elif her_whoring < 18: # Lv 5-6. - her "Candy?" ("normal", "base", "base", "mid") - call give_gift(_(">You give the candy to Hermione..."), gift_item) + elif states.her.level < 18: + her "A lollipop?" ("normal", "base", "base", "mid") + call give_gift("You give the lollipop to Hermione...",gift_item) her "*Ehm*... Sure, thanks..." ("open", "squint", "base", "mid") call her_mood(-5) - else: # Lv 7+ + else: her "A lollipop?" ("base", "base", "base", "mid") - her "Clever girls use candy like this as a \"weapon\"." ("smile", "base", "base", "R") - call give_gift(_(">You give the candy to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "happyCl", "base", "mid") + her "Clever girls use sweets like these as a \"weapon\"." ("smile", "base", "base", "R") + call give_gift("You give the lollipop to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "happyCl", "base", "mid") call her_mood(-5) elif gift_item == chocolate_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "A chocolate bar?" ("base", "base", "base", "mid") - call give_gift(_(">You give the chocolate to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + call give_gift("You give the chocolate to Hermione...", gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "A chocolate bar?" ("normal", "base", "base", "mid") her "*Hmm*..." ("annoyed", "squint", "angry", "mid") - her "That thing about fairies..." + her "That thing about fairies..." ("annoyed", "squint", "angry", "mid") her "That is a joke of some sort, right?" ("open", "base", "worried", "mid") - call give_gift(_(">You give the chocolate to Hermione..."), gift_item) + call give_gift("You give the chocolate to Hermione...", gift_item) her "Thank you..." ("soft", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "A chocolate bar?" ("normal", "base", "base", "mid") - her "I just like the way it crunches, [genie_name]! N-not the taste..." ("grin", "happyCl", "worried", "mid",emote="sweat") - call give_gift(_(">You give the chocolate to Hermione..."), gift_item) + her "I just like the way it crunches, [name_genie_hermione]! N-not the taste..." ("grin", "happyCl", "worried", "mid",emote="sweat") + call give_gift("You give the chocolate to Hermione...", gift_item) her "*Ehm*... Sure, thanks..." ("base", "base", "base", "mid") call her_mood(-10) else: # Lv 7+ her "A chocolate bar?" ("base", "base", "base", "mid") - her "You spoil me, [genie_name]." ("smile", "base", "angry", "mid") - call give_gift(_(">You give the chocolate to Hermione..."), gift_item) + her "You spoil me, [name_genie_hermione]." ("smile", "base", "angry", "mid") + call give_gift("You give the chocolate to Hermione...", gift_item) her "Thank you." ("base", "squint", "base", "mid") call her_mood(-10) elif gift_item == plush_owl_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "A stuffed owl?" ("base", "base", "base", "mid") her "It's cute..." ("base", "base", "base", "mid") - call give_gift(_(">You give the owl to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + call give_gift("You give the owl to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-7) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "A plush toy?" ("open", "base", "worried", "mid") her "I like it!" ("base", "base", "base", "mid") - call give_gift(_(">You give the owl to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + call give_gift("You give the owl to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "A toy?" ("base", "base", "base", "mid") - her "Toys are for kids, [genie_name]." ("open", "base", "base", "mid") + her "Toys are for kids, [name_genie_hermione]." ("open", "base", "base", "mid") her "But I'll take it..." ("annoyed", "base", "worried", "R") - call give_gift(_(">You give the owl to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + call give_gift("You give the owl to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-15) - else: # Lv 7+ - her "This is one of those adult toys isn't it?" ("disgust", "narrow", "base", "mid_soft") + else: + her "This is one of those adult toys, isn't it?" ("disgust", "narrow", "base", "mid_soft") her "There's got to be a switch or a button somewhere..." ("open", "narrow", "worried", "down") her "So... Does it vibrate or something?" ("base", "narrow", "worried", "down") - her "Oh...?" ("open", "happy", "base", "mid",cheeks="blush") - her "So it is really just a plush toy then?" + her @ cheeks blush "Oh...?" ("open", "happy", "base", "mid") + her "So it is really just a plush toy then?" ("open", "happy", "base", "mid") her "Shame..." ("angry", "narrow", "base", "down") - her "I mean, thank you, [genie_name]." ("angry", "happyCl", "worried", "mid",emote="sweat") - call give_gift(_(">You give the owl to Hermione..."), gift_item) + her "I mean, thank you, [name_genie_hermione]." ("angry", "happyCl", "worried", "mid",emote="sweat") + call give_gift("You give the owl to Hermione...",gift_item) call her_mood(-4) elif gift_item == butterbeer_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "Butterbeer?" ("base", "base", "base", "mid") - her "Are you sure about that, [genie_name]?" ("open", "squint", "base", "mid") + her "Are you sure about that, [name_genie_hermione]?" ("open", "squint", "base", "mid") her "It does contain alcohol, you know..." ("base", "base", "base", "mid") - call give_gift(_(">You give the bottle to Hermione..."), gift_item) + call give_gift("You give the bottle to Hermione...",gift_item) her "Thank you." ("base", "base", "base", "mid") call her_mood(-3) - elif her_whoring < 12: # Lv 3-4. - her "Butterbeer, [genie_name]?" ("open", "base", "worried", "mid") - her "To let you in on a little secret, [genie_name]..." ("open", "base", "base", "mid") + elif states.her.level < 12: + her "Butterbeer, [name_genie_hermione]?" ("open", "base", "worried", "mid") + her "To let you in on a little secret, [name_genie_hermione]..." ("open", "base", "base", "mid") her "I'm a big fan of this completely harmless beverage." ("base", "base", "base", "mid") - call give_gift(_(">You give the bottle to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + call give_gift("You give the bottle to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "Butterbeer?" ("base", "base", "base", "mid") - her "Thank you, [genie_name]." ("grin", "happyCl", "worried", "mid",emote="sweat") - call give_gift(_(">You give the bottle to Hermione..."), gift_item) + her "Thank you, [name_genie_hermione]." ("grin", "happyCl", "worried", "mid",emote="sweat") + call give_gift("You give the bottle to Hermione...",gift_item) her "I shall drink this with the girls later." ("base", "base", "base", "mid") call her_mood(-15) - else: # Lv 7+ + else: her "Butterbeer...?" ("base", "base", "base", "mid") - her "Thank you, [genie_name]." ("base", "base", "base", "mid") - call give_gift(_(">You give the bottle to Hermione..."), gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") + call give_gift("You give the bottle to Hermione...",gift_item) her "I shall drink this later with the boys." ("base", "base", "base", "mid") - her "Err... I meant to say with the girls, of course." ("open", "base", "base", "R",cheeks="blush") + her @ cheeks blush "*Err*... I meant to say with the girls, of course." ("open", "base", "base", "R") call her_mood(-20) elif gift_item == science_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "\"Popular magic\" magazines?" ("base", "base", "base", "mid") - call give_gift(_(">You give an assortment of educational magazines to Hermione..."), gift_item) - her "Thank you, [genie_name]!" ("base", "base", "base", "mid") + call give_gift("You give an assortment of educational magazines to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]!" ("base", "base", "base", "mid") her "I will use them for my research!" call her_mood(-15) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "Sometimes I find information in magazines that I could never find in a book..." ("base", "base", "base", "mid") - call give_gift(_(">You give an assortment of educational magazines to Hermione..."), gift_item) - her "Thank you, [genie_name]!" ("base", "base", "base", "mid") + call give_gift("You give an assortment of educational magazines to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]!" ("base", "base", "base", "mid") her "I will use them for my research!" call her_mood(-10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "Oh..." ("open", "base", "base", "mid") her "Yes, I used to read magazines like that a lot..." ("base", "base", "base", "mid") her "Lately not so much though..." ("open", "base", "worried", "R") - call give_gift(_(">You give an assortment of educational magazines to Hermione..."), gift_item) - her "Thank you, [genie_name]!" ("base", "base", "base", "mid") + call give_gift("You give an assortment of educational magazines to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]!" ("base", "base", "base", "mid") call her_mood(-3) - else: # Lv 7+ + else: her "*Ehm*..." ("open", "base", "worried", "R") her "To be honest, magazines like that lost their appeal to me completely lately..." ("open", "squint", "base", "mid") - her "But I don't mind taking them off you hands anyway, [genie_name]." ("open", "base", "worried", "mid") - call give_gift(_(">You give an assortment of educational magazines to Hermione..."), gift_item) + her "But I don't mind taking them off your hands anyway, [name_genie_hermione]." ("open", "base", "worried", "mid") + call give_gift("You give an assortment of educational magazines to Hermione...",gift_item) her "Thank you." ("soft", "base", "base", "R") call her_mood(0) elif gift_item == girls_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "*Hmm*?" ("soft", "base", "base", "mid") her "This is the sort of press some Slytherin bimbo would appreciate." ("annoyed", "squint", "base", "mid") - her "I am way above silly magazines like that, [genie_name]." ("open", "closed", "base", "mid") + her "I am way above silly magazines like that, [name_genie_hermione]." ("open", "closed", "base", "mid") call her_mood(0) - elif her_whoring < 12: # Lv 3-4. - her "I don't read magazines of that nature, [genie_name]..." ("open", "closed", "angry", "mid") + elif states.her.level < 12: + her "I don't read magazines of that nature, [name_genie_hermione]..." ("open", "closed", "angry", "mid") her "................" ("soft", "base", "base", "R") her "But I could give it a try just to humour you I suppose..." ("open", "closed", "angry", "mid") - call give_gift(_(">You give an assortment of rather girly magazines to Hermione..."), gift_item) - her "Thank you, [genie_name]!" ("open", "squint", "base", "mid") + call give_gift("You give an assortment of rather girly magazines to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]!" ("open", "squint", "base", "mid") call her_mood(-5) - elif her_whoring < 18: # Lv 5-6. - her "I ashamed to admit this, but..." ("open", "base", "worried", "R") + elif states.her.level < 18: + her "I'm ashamed to admit this, but..." ("open", "base", "worried", "R") her "I really enjoy reading magazines like that lately..." ("grin", "happyCl", "worried", "mid",emote="sweat") - call give_gift(_(">You give an assortment of rather girly magazines to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("open", "squint", "base", "mid") + call give_gift("You give an assortment of rather girly magazines to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("open", "squint", "base", "mid") call her_mood(-15) - else: # Lv 7+ + else: her "The Latest edition of \"Girlz\"?!" ("angry", "wide", "base", "stare") her "I can't have enough of that brilliant magazine!" ("grin", "happyCl", "worried", "mid",emote="sweat") - call give_gift(_(">You give an assortment of rather girly magazines to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("open", "squint", "base", "mid") + call give_gift("You give an assortment of rather girly magazines to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("open", "squint", "base", "mid") call her_mood(-15) elif gift_item == adult_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "Are that...?" ("open", "base", "base", "mid") - her "Adult magazines, [genie_name]?" ("open", "base", "base", "mid") + her "Adult magazines, [name_genie_hermione]?" ("open", "base", "base", "mid") her "Given to me by An esteemed wizard of your status?" ("annoyed", "narrow", "angry", "R") - her "[genie_name], surely you could find a more productive way to spend your free time." ("disgust", "narrow", "base", "mid_soft") + her "[name_genie_hermione], surely you could find a more productive way to spend your spare time." ("disgust", "narrow", "base", "mid_soft") her "And I most definitely would not have use for those..." ("angry", "base", "angry", "mid") call her_mood(7) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "Adult magazines?" ("angry", "base", "angry", "mid") - her "[genie_name], I have no interest in things like that." ("annoyed", "narrow", "angry", "R") - her "And how is this an appropriate present for one of your students, [genie_name]?" ("angry", "base", "angry", "mid") + her "[name_genie_hermione], I have no interest in things like that." ("annoyed", "narrow", "angry", "R") + her "And how is this an appropriate present for one of your students, [name_genie_hermione]?" ("angry", "base", "angry", "mid") call her_mood(3) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "Adult magazines?" ("open", "base", "base", "mid") - her "[genie_name], this is such an inappropriate present for a girl like me..." ("angry", "happyCl", "worried", "mid",emote="sweat") - call give_gift(_(">You give an assortment of adult magazines to Hermione..."), gift_item) + her "[name_genie_hermione], this is such an inappropriate present for a girl like me..." ("angry", "happyCl", "worried", "mid",emote="sweat") + call give_gift("You give an assortment of adult magazines to Hermione...",gift_item) her "I shall throw these away myself..." ("annoyed", "narrow", "annoyed", "mid") call her_mood(-8) - else: # Lv 7+ + else: her "The New edition of \"L.o.v.e.\"!!!" ("smile", "happyCl", "base", "mid") - her "Err.. I mean, adult magazines?" ("angry", "wink", "base", "mid") + her "*Err*... I mean, adult magazines?" ("angry", "wink", "base", "mid") her "This is a little inappropriate..." her "But I will take them..." ("base", "happyCl", "base", "mid") - call give_gift(_(">You give an assortment of adult magazines to Hermione..."), gift_item) - her "thank you, [genie_name]." ("base", "happyCl", "base", "mid") + call give_gift("You give an assortment of adult magazines to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "happyCl", "base", "mid") call her_mood(-15) elif gift_item == porn_mag_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "*Hmm*... What is this?" ("base", "base", "base", "mid") - her "[genie_name], those are porn magazines!" ("scream", "wide", "base", "stare") - her "Shame on you, [genie_name]!" ("angry", "base", "angry", "mid",cheeks="blush") + her "[name_genie_hermione], those are porn magazines!" ("scream", "wide", "base", "stare") + her @ cheeks blush "Shame on you, [name_genie_hermione]!" ("angry", "base", "angry", "mid") call her_mood(15) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "Porn magazines?" ("shock", "wide", "base", "stare") - her "[genie_name], what do you expect me to do with those?" ("open", "narrow", "worried", "down") + her "[name_genie_hermione], what do you expect me to do with those?" ("open", "narrow", "worried", "down") her "Research them?" ("annoyed", "narrow", "annoyed", "mid") her "Despicable!" ("scream", "base", "angry", "mid",emote="angry") call her_mood(8) - elif her_whoring < 18: # Lv 5-6. - her "That's hardcore porn, [genie_name]." ("open", "base", "base", "mid") + elif states.her.level < 18: + her "That's hardcore porn, [name_genie_hermione]." ("open", "base", "base", "mid") her "Which is a completely inappropriate gift for a girl like me!" ("angry", "happyCl", "worried", "mid",emote="sweat") her ".............." ("angry", "narrow", "base", "down") her "But I will take them..." ("angry", "base", "base", "mid") - call give_gift(_(">You give an assortment of porn magazines to Hermione..."), gift_item) - her "And I shall throw them in the trash, where they and... girls who like these things belong..." ("annoyed", "narrow", "annoyed", "mid") + call give_gift("You give an assortment of porn magazines to Hermione...",gift_item) + her "And I shall throw them in the rubbish, where they, and girls who like these things belong..." ("annoyed", "narrow", "annoyed", "mid") call her_mood(0) - else: # Lv 7+ + else: her "Pornography?" ("shock", "wide", "base", "stare") her "................" ("angry", "narrow", "base", "down") - her "How can women even agree to do things like that, [genie_name]?" ("angry", "base", "base", "mid") + her "How can women even agree to do things like that, [name_genie_hermione]?" ("angry", "base", "base", "mid") her "................." ("angry", "narrow", "base", "down") her "Alright, I shall accept them..." ("upset", "closed", "base", "mid") - her "Solely for research purposes of course..." ("open", "base", "base", "R",cheeks="blush") - call give_gift(_(">You give an assortment of porn magazines to Hermione..."), gift_item) + her @ cheeks blush "Solely for research purposes of course..." ("open", "base", "base", "R") + call give_gift("You give an assortment of porn magazines to Hermione...",gift_item) call her_mood(-15) elif gift_item == krum_poster_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "A Quidditch poster?" ("annoyed", "narrow", "worried", "down") - her "What am I supposed to do with it, [genie_name]?" ("annoyed", "narrow", "annoyed", "mid") + her "What am I supposed to do with it, [name_genie_hermione]?" ("annoyed", "narrow", "annoyed", "mid") her "No, thank you." ("annoyed", "closed", "base", "mid") call her_mood(0) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "A Quidditch poster?" ("annoyed", "narrow", "worried", "down") her "*Hmm*..." ("annoyed", "narrow", "annoyed", "mid") her "I think I saw this player once or twice..." ("annoyed", "narrow", "worried", "down") her "He is that Durmstrang student, right?" ("base", "base", "base", "mid") - call give_gift(_(">You give the poster to Hermione..."), gift_item) + call give_gift("You give the poster to Hermione...",gift_item) call her_mood(-5) - elif her_whoring < 18: # Lv 5-6. - her "A Viktor Krum poster, [genie_name]?" ("annoyed", "narrow", "worried", "down") + elif states.her.level < 18: + her "A Viktor Krum poster, [name_genie_hermione]?" ("annoyed", "narrow", "worried", "down") her "Can't say that I care much for Quidditch, but..." ("open", "squint", "base", "mid") her "I can see why the girls find the brutish physique of some players appealing..." ("open", "narrow", "worried", "down") - call give_gift(_(">You give the poster to Hermione..."), gift_item) + call give_gift("You give the poster to Hermione...",gift_item) call her_mood(-15) - else: # Lv 7+ + else: her "A Viktor Krum poster?!" ("scream", "wide", "base", "mid") - her "Thank you, [genie_name]!" ("grin", "happyCl", "worried", "mid",emote="sweat") - call give_gift(_(">You give the poster to Hermione..."), gift_item) + her "Thank you, [name_genie_hermione]!" ("grin", "happyCl", "worried", "mid",emote="sweat") + call give_gift("You give the poster to Hermione...",gift_item) her "Can't wait to hang it over my bed!" ("smile", "base", "base", "R") her "The girls will go green with envy..." ("smile", "narrow", "base", "mid_soft") call her_mood(-25) elif gift_item == sexy_lingerie_ITEM: - if her_whoring < 6: # Lv 1-2. - her "lingerie?" ("angry", "narrow", "base", "down") - her "[genie_name], I cannot accept a gift like this from you..." ("upset", "closed", "base", "mid") + if states.her.level < 6: + her "Lingerie?" ("angry", "narrow", "base", "down") + her "[name_genie_hermione], I cannot accept a gift like this from you..." ("upset", "closed", "base", "mid") call her_mood(10) - elif her_whoring < 12: # Lv 3-4. - her "sexy lingerie?" ("angry", "narrow", "base", "down") - her "You know I cannot possibly accept a gift like that from you, [genie_name]." ("angry", "base", "base", "mid") + elif states.her.level < 12: + her "Sexy lingerie?" ("angry", "narrow", "base", "down") + her "You know I cannot possibly accept a gift like this from you, [name_genie_hermione]." ("angry", "base", "base", "mid") her "(It's pretty though)........." ("angry", "narrow", "base", "down") call her_mood(0) - elif her_whoring < 18: # Lv 5-6. - her "sexy lingerie?" ("base", "narrow", "worried", "down") - her "[genie_name] that is so inappropriate..." ("angry", "wink", "base", "mid") - call give_gift(_(">You give the lingerie to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "R",cheeks="blush") + elif states.her.level < 18: + her "Sexy lingerie?" ("base", "narrow", "worried", "down") + her "[name_genie_hermione] that is so inappropriate..." ("angry", "wink", "base", "mid") + call give_gift("You give the lingerie to Hermione...",gift_item) + her @ cheeks blush "Thank you, [name_genie_hermione]." ("base", "base", "base", "R") call her_mood(-7) - else: # Lv 7+ - her "sexy lingerie?" ("base", "narrow", "worried", "down") - her "Do You think it will make me look like one of the witches in those adult magazines, [genie_name]?" ("grin", "narrow", "base", "dead") - her "Oh... I mean, thank you, [genie_name]." ("angry", "wink", "base", "mid") - call give_gift(_(">You give the lingerie to Hermione..."), gift_item) + else: + her "Sexy lingerie?" ("base", "narrow", "worried", "down") + her "Do you think wearing these will make me look like one of the witches in those adult magazines, [name_genie_hermione]?" ("grin", "narrow", "base", "dead") + her "Oh... I mean, thank you, [name_genie_hermione]." ("angry", "wink", "base", "mid") + call give_gift("You give the lingerie to Hermione...",gift_item) call her_mood(-15) elif gift_item == sexy_stockings_ITEM : - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "Stockings?" ("base", "narrow", "worried", "down") - her "[genie_name], are you insinuating that I wear these?" ("angry", "closed", "base", "mid") + her "[name_genie_hermione], are you insinuating that I wear these?" ("angry", "closed", "base", "mid") call her_mood(8) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "Sexy stockings?" ("angry", "narrow", "base", "down") - her "Isn't this a bit inappropriate, [genie_name]?" ("annoyed", "base", "base", "mid") + her "Isn't this a bit inappropriate, [name_genie_hermione]?" ("annoyed", "base", "base", "mid") call her_mood(0) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "Sexy stockings?" ("base", "narrow", "worried", "down") - her "Thank you I guess..." ("base", "wink", "base", "mid",cheeks="blush") - call give_gift(_(">You give the stockings to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "R",cheeks="blush") + her @ cheeks blush "Thank you I guess..." ("base", "wink", "base", "mid") + call give_gift("You give the stockings to Hermione...",gift_item) + her @ cheeks blush "Thank you, [name_genie_hermione]." ("base", "base", "base", "R") call her_mood(-8) - else: # Lv 7+ + else: her "Sexy stockings?" ("base", "narrow", "worried", "down") - her "These are almost completely transparent, [genie_name]!" ("grin", "wide", "base", "mid") - call give_gift(_(">You give the stockings to Hermione..."), gift_item) + her "These are almost completely transparent, [name_genie_hermione]!" ("grin", "wide", "base", "mid") + call give_gift("You give the stockings to Hermione...",gift_item) call her_mood(-10) elif gift_item == pink_condoms_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "Condoms?!" ("angry", "wide", "base", "stare") - her "[genie_name], I wouldn't even know what to do with them..." ("scream", "closed", "angry", "mid") + her "[name_genie_hermione], I wouldn't even know what to do with them..." ("scream", "closed", "angry", "mid") call her_mood(6) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "... Condoms?" ("normal", "squint", "angry", "mid") her "*Ehm*... Is this a part of some new Hogwarts sex ed program or something?" ("open", "closed", "angry", "mid") - her "No, [genie_name]... It feels wrong to accept a thing like this from you..." ("open", "base", "base", "R",cheeks="blush") + her @ cheeks blush "No, [name_genie_hermione]... It feels wrong to accept something like this from you..." ("open", "base", "base", "R") call her_mood(0) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "A pack of condoms?" ("normal", "base", "base", "mid") - her "[genie_name], what possible use could I have for those?" + her "[name_genie_hermione], what possible use could I have for those?" ("normal", "base", "base", "mid") her "Well, I shall accept them simply because it is rude to refuse a gift..." ("open", "closed", "angry", "mid") - call give_gift(_(">You give a pack of condoms to Hermione..."), gift_item) + call give_gift("You give a pack of condoms to Hermione...", gift_item) call her_mood(-3) - else: # Lv 7+ + else: her "A pack of condoms?" ("open", "squint", "base", "mid") - her "I appreciate your concern, [genie_name]. Thank you." ("base", "narrow", "base", "mid_soft") - call give_gift(_(">You give a pack of condoms to Hermione..."), gift_item) + her "I appreciate your concern, [name_genie_hermione]. Thank you." ("base", "narrow", "base", "mid_soft") + call give_gift("You give a pack of condoms to Hermione...", gift_item) call her_mood(-4) elif gift_item == vibrator_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "A magic wand?" ("base", "base", "base", "mid") her "No, it doesn't look like--" ("soft", "base", "base", "mid") - her ".........?" + her ".........?" ("soft", "base", "base", "mid") her "!!!" ("angry", "wide", "base", "stare") - her "[genie_name]!" ("angry", "base", "angry", "mid",cheeks="blush") + her @ cheeks blush "[name_genie_hermione]!" ("angry", "base", "angry", "mid") her "This is just beyond inappropriate!" ("scream", "closed", "angry", "mid") call her_mood(10) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "Is this what I think it is?" ("angry", "narrow", "base", "down") - her "[genie_name], let me remind you that I belong to the noble house of Gryffindor." ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "A present like that would be appropriate for a girl from Slytherin, [genie_name]." ("upset", "closed", "base", "mid") + her @ cheeks blush "[name_genie_hermione], let me remind you that I belong to the noble house of Gryffindor." ("open", "narrow", "annoyed", "mid") + her "A present like that would be appropriate for a girl from Slytherin, [name_genie_hermione]." ("upset", "closed", "base", "mid") call her_mood(10) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "Is that a... vibrator?" ("angry", "narrow", "base", "down") - her "The design..." - her "it reminds me of my wand..." - her "Did you have this custom made for me [genie_name]?" ("angry", "narrow", "base", "down") + her "The design..." ("angry", "narrow", "base", "down") + her "It reminds me of my wand..." ("angry", "narrow", "base", "down") + her "Did you have this custom-made for me [name_genie_hermione]?" ("angry", "narrow", "base", "down") her "This is inappropriate..." ("scream", "closed", "angry", "mid") her "But I shall take it nonetheless..." ("annoyed", "base", "worried", "R") - call give_gift(_(">You give the vibrator to Hermione..."), gift_item) + call give_gift("You give the vibrator to Hermione...",gift_item) call her_mood(0) - else: # Lv 7+ + else: her "This vibrator..." ("open", "base", "worried", "mid") her "It's... calling out for me..." ("open", "base", "worried", "R") - her "But not in a dirty way, [genie_name]." ("disgust", "narrow", "base", "mid_soft") - call give_gift(_(">You give the vibrator to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "narrow", "worried", "down") + her "But not in a dirty way, [name_genie_hermione]." ("disgust", "narrow", "base", "mid_soft") + call give_gift("You give the vibrator to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "narrow", "worried", "down") call her_mood(-10) elif gift_item == anal_lube_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "I don't know what this is..." ("open", "base", "base", "mid") her "But I have the feeling that the jar is full of something vile and inappropriate..." ("angry", "base", "angry", "mid") - her "No, thank you, [genie_name]." + her "No, thank you, [name_genie_hermione]." ("angry", "base", "angry", "mid") call her_mood(6) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "*Hmm*..." ("annoyed", "narrow", "worried", "down") her "I think I know what this is..." ("disgust", "narrow", "base", "mid_soft") - her "But why would you give something like this to one of your pupils, [genie_name]?" + her "But why would you give something like this to one of your pupils, [name_genie_hermione]?" her "No, thank you." ("annoyed", "narrow", "angry", "R") call her_mood(2) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "Anal lubricant?" ("angry", "narrow", "base", "down") - her "*Ehm*.. well... I know this girl..." ("open", "base", "base", "R",cheeks="blush") - her "I mean I don't know her, she is a friend of a friend..." - her "Yes, I will take this for her..." - call give_gift(_(">You give the jar to Hermione..."), gift_item) - her "Still, I think you should not give presents like this to your pupils, [genie_name]." ("open", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "*Ehm*... Well... I know this girl..." ("open", "base", "base", "R") + her "I mean, I don't know her, she is a friend of a friend..." ("open", "base", "base", "R") + her "Yes, I will take this for her..." ("open", "base", "base", "R") + call give_gift("You give the jar to Hermione...",gift_item) + her @ cheeks blush "Still, I think you should not give presents like this to one of your pupils, [name_genie_hermione]." ("open", "narrow", "annoyed", "mid") call her_mood(0) - else: # Lv 7+ - her "Anal lubricant, [genie_name]?" ("base", "narrow", "worried", "down") - her "I know a couple of girls who would do anything for a commodity like that." ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "Thank for looking out for us, [genie_name]." ("base", "narrow", "base", "mid_soft") - call give_gift(_(">You give the jar to Hermione..."), gift_item) + else: + her "Anal lubricant, [name_genie_hermione]?" ("base", "narrow", "worried", "down") + her @ cheeks blush "I know a couple of girls who would do anything for a commodity like that." ("open", "narrow", "annoyed", "mid") + her "Thank for looking out for us, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") + call give_gift("You give the jar to Hermione...",gift_item) call her_mood(-5) elif gift_item == ballgag_and_cuffs_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "What is this?" ("angry", "narrow", "base", "down") - her "Is this like one of those adult toys?" ("angry", "squint", "base", "mid",cheeks="blush") + her @ cheeks blush "Is this like one of those adult toys?" ("angry", "squint", "base", "mid") her "What woman in her right mind would subject herself to a humiliation like that?" ("scream", "closed", "angry", "mid") - her "And what possible use could I have for such objects?" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "This is just insulting, [genie_name]..." ("angry", "base", "angry", "mid",cheeks="blush") + her @ cheeks blush "And what possible use could I have for such objects?" ("open", "narrow", "annoyed", "mid") + her @ cheeks blush "This is just insulting, [name_genie_hermione]..." ("angry", "base", "angry", "mid") call her_mood(10) - elif her_whoring < 12: # Lv 3-4. - her "[genie_name], do you not realise how inappropriate it would be for me to accept a present like that?" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "And I would not even know what to do with them anyway..." ("open", "base", "base", "R",cheeks="blush") + elif states.her.level < 12: + her @ cheeks blush "[name_genie_hermione], do you not realise how inappropriate it would be for me to accept a present like that?" ("open", "narrow", "annoyed", "mid") + her @ cheeks blush "And I would not even know what to do with them anyway..." ("open", "base", "base", "R") her "I mean these fluffy things are obviously handcuffs..." ("angry", "narrow", "base", "down") - her "But this ball... *ehm*..." - her "[genie_name], please..." ("upset", "closed", "base", "mid") - her "Just put them away." + her "But this ball... *Ehm*..." ("angry", "narrow", "base", "down") + her "[name_genie_hermione], please..." ("upset", "closed", "base", "mid") + her "Just put them away." ("upset", "closed", "base", "mid") call her_mood(5) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "A month ago I would've felt insulted to receive a gift like this..." ("upset", "closed", "base", "mid") her "But by now I know that some girls really do find pleasure in toys like..." ("angry", "narrow", "base", "down") - her "But I assure you that I am not one of them, [genie_name]." ("upset", "closed", "base", "mid") - her "But I know a girl who knows a girl who is into things like..." ("open", "base", "base", "R",cheeks="blush") - her "Yes, I shall take these to her..." ("base", "base", "base", "R",cheeks="blush") - call give_gift(_(">You give the ball gag and cuffs to Hermione..."), gift_item) + her "But I assure you that I am not one of them, [name_genie_hermione]." ("upset", "closed", "base", "mid") + her @ cheeks blush "But I know a girl who knows a girl who is into things like..." ("open", "base", "base", "R") + her @ cheeks blush "Yes, I shall take these to her..." ("base", "base", "base", "R") + call give_gift("You give the ball gag and cuffs to Hermione...",gift_item) call her_mood(-9) - else: # Lv 7+ - her "A ball gag and handcuffs?" ("open", "happy", "base", "mid",cheeks="blush") - her "This is completely inappropriate, [genie_name]." ("angry", "wink", "base", "mid") # :) + else: + her @ cheeks blush "A ball gag and handcuffs?" ("open", "happy", "base", "mid") + her "This is completely inappropriate, [name_genie_hermione]." ("angry", "wink", "base", "mid") her "But a gift is a gift, right?" ("base", "squint", "base", "mid") - call give_gift(_(">You give the ball gag and cuffs to Hermione..."), gift_item) + call give_gift("You give the ball gag and cuffs to Hermione...",gift_item) call her_mood(-15) elif gift_item == anal_plugs_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "*Hmm*...?" ("base", "base", "base", "mid") - her "Are those like key chain toys?" ("soft", "base", "base", "mid") - call give_gift(_(">You give the anal plugs to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") + her "Is this some kind of keychain toy?" ("soft", "base", "base", "mid") + call give_gift("You give the anal plugs to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") call her_mood(-8) - elif her_whoring < 12: # Lv 3-4. - her "[genie_name], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "those are some of those anal things, aren't they?" ("angry", "base", "angry", "mid",cheeks="blush") - her "[genie_name] this is nothing but a weapon meant to oppress women!" + elif states.her.level < 12: + her @ cheeks blush "[name_genie_hermione], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid") + her @ cheeks blush "Those are some of those anal things, aren't they?" ("angry", "base", "angry", "mid") + her "[name_genie_hermione] this is nothing but a weapon meant to oppress women!" ("angry", "base", "angry", "mid") her "Despicable!" ("upset", "closed", "base", "mid") call her_mood(15) - elif her_whoring < 18: # Lv 5-6. - her "Yes, I know that some girls have *uhm*..." ("upset", "closed", "base", "mid") - her "Have use for things such as these..." ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "But not me, [genie_name]." + elif states.her.level < 18: + her "Yes, I know that some girls have, *uhm*..." ("upset", "closed", "base", "mid") + her @ cheeks blush "A use for things such as these..." ("open", "narrow", "annoyed", "mid") + her "But not me, [name_genie_hermione]." ("open", "narrow", "annoyed", "mid") her "No, thank you." ("upset", "closed", "base", "mid") call her_mood(0) - else: # Lv 7+ + else: her "Anal plugs?" ("angry", "narrow", "base", "down") - her "I have no use for things like that, [genie_name]..." ("angry", "base", "base", "mid") + her "I have no use for things like that, [name_genie_hermione]..." ("angry", "base", "base", "mid") her "They are so pretty though..." ("angry", "wink", "base", "mid") her "....................." ("angry", "narrow", "base", "down") - her "Well, alright. I shall take them off your hands if I must, [genie_name]." ("soft", "narrow", "annoyed", "up") - call give_gift(_(">You give the anal plugs to Hermione..."), gift_item) + her "Well, alright. I shall take them off your hands if I must, [name_genie_hermione]." ("soft", "narrow", "annoyed", "up") + call give_gift("You give the anal plugs to Hermione...",gift_item) her "But I shall never use them of course..." ("open", "closed", "base", "mid") her "................" ("base", "narrow", "worried", "down") call her_mood(-10) elif gift_item == testral_strapon_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "What is that?" ("angry", "wide", "base", "stare") her "An artefact of some sort or a trophy?" ("open", "base", "base", "mid") her "So well-crafted..." ("base", "base", "base", "mid") - her "Are you sure that it's alright for me to have it, [genie_name]?" ("base", "base", "base", "mid") - call give_gift(_(">You give the strap-on to Hermione..."), gift_item) - her "Thank you very much, [genie_name]. I promise to take good care of it." ("open", "closed", "base", "mid") + her "Are you sure that it's alright for me to have it, [name_genie_hermione]?" ("base", "base", "base", "mid") + call give_gift("You give the strap-on to Hermione...",gift_item) + her "Thank you very much, [name_genie_hermione]. I promise to take good care of it." ("open", "closed", "base", "mid") call her_mood(-20) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "!!!" ("angry", "wide", "base", "stare") her "That is..." ("angry", "narrow", "base", "down") - her "But it doesn't even look... human..." + her "But it doesn't even look... human..." ("angry", "narrow", "base", "down") her "I mean..." ("annoyed", "narrow", "angry", "R") - her "[genie_name], do you have no shame?!" ("scream", "base", "angry", "mid",emote="angry") - her "Presenting a thing like that to a pupil?!" + her "[name_genie_hermione], do you have no shame?!" ("scream", "base", "angry", "mid",emote="angry") + her "Presenting a thing like that to a pupil?!" ("scream", "base", "angry", "mid",emote="angry") her ".................." ("open", "narrow", "worried", "down") - her "Please put it away, [genie_name]." ("angry", "base", "angry", "mid") + her "Please put it away, [name_genie_hermione]." ("angry", "base", "angry", "mid") call her_mood(15) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "That thing..." ("angry", "narrow", "base", "down") her "Is that the actual size of the... of the real \"thing\"?" ("angry", "base", "base", "mid") - her "I mean..." ("open", "base", "base", "R",cheeks="blush") + her @ cheeks blush "I mean..." ("open", "base", "base", "R") her "......................." ("angry", "narrow", "base", "down") her "Is this like a party prank prop?" ("angry", "base", "base", "mid") her "It's so well-crafted though..." ("angry", "narrow", "base", "down") her "I will take it..." ("normal", "happyCl", "worried", "mid") - call give_gift(_(">You give the strap-on to Hermione..."), gift_item) + call give_gift("You give the strap-on to Hermione...",gift_item) call her_mood(-10) - else: # Lv 7+ - her "It's... It's magnificent, [genie_name]..." ("shock", "wide", "base", "stare") - her "Is it really modelled after a thestral?" ("open", "base", "base", "R",cheeks="blush") - her "But the creatures are invisible..." ("open", "happy", "base", "mid",cheeks="blush") + else: + her "It's... It's magnificent, [name_genie_hermione]..." ("shock", "wide", "base", "stare") + her @ cheeks blush "Is it really modelled after a thestral?" ("open", "base", "base", "R") + her @ cheeks blush "But the creatures are invisible..." ("open", "happy", "base", "mid") her ".................." ("angry", "narrow", "base", "down") her "Breathtaking..." ("grin", "narrow", "base", "dead") - her "Not in the way you think, [genie_name]..." ("upset", "closed", "base", "mid") + her "Not in the way you think, [name_genie_hermione]..." ("upset", "closed", "base", "mid") her "I am merely admiring the craftsmanship..." ("open", "closed", "base", "mid") - call give_gift(_(">You give the strap-on to Hermione..."), gift_item) - her "Thank you for the gift, [genie_name]." ("base", "squint", "base", "mid") + call give_gift("You give the strap-on to Hermione...",gift_item) + her "Thank you for the gift, [name_genie_hermione]." ("base", "squint", "base", "mid") call her_mood(-30) elif gift_item == broom_2000_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "A broom...?" ("base", "base", "base", "mid") her "*Hmm*..." ("normal", "base", "base", "mid") her "What is that silly-looking thing attached to it?" ("normal", "squint", "angry", "mid") - her "Is it like a saddle...?" ("open", "squint", "base", "mid") - call give_gift(_(">You give the broom to Hermione..."), gift_item) - her "Thank you for the gift, [genie_name]." ("open", "base", "worried", "mid") + her "Is it some kind of saddle...?" ("open", "squint", "base", "mid") + call give_gift("You give the broom to Hermione...",gift_item) + her "Thank you for the gift, [name_genie_hermione]." ("open", "base", "worried", "mid") call her_mood(-20) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "A broom...?" ("base", "base", "base", "mid") her "*Hmm*..." ("normal", "squint", "angry", "mid") her "It's a sex-toy of some sort, isn't it?" ("angry", "base", "angry", "mid") her "But it is so well crafted..." ("open", "narrow", "worried", "down") - call give_gift(_(">You give the broom to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("upset", "closed", "base", "mid") + call give_gift("You give the broom to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("upset", "closed", "base", "mid") call her_mood(-20) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "A broom...?" ("angry", "narrow", "base", "down") - her "*Hmm*..." + her "*Hmm*..." ("angry", "narrow", "base", "down") her "What kind of saddle is that...?" ("disgust", "narrow", "base", "mid_soft") her "Well, doesn't matter." ("open", "closed", "base", "mid") - her "Refusing an expensive gift like that would be rude..." - call give_gift(_(">You give the broom to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("upset", "closed", "base", "mid") + her "Refusing an expensive gift like that would be rude..." ("open", "closed", "base", "mid") + call give_gift("You give the broom to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("upset", "closed", "base", "mid") call her_mood(-30) - else: # Lv 7+ + else: her "A broom..." ("base", "narrow", "worried", "down") - her "*Hmm*..." - her "That saddle, [genie_name]..." ("open", "base", "base", "R",cheeks="blush") - her "It was designed especially for witches, was it not?" ("open", "happy", "base", "mid",cheeks="blush") + her "*Hmm*..." ("base", "narrow", "worried", "down") + her @ cheeks blush "That saddle, [name_genie_hermione]..." ("open", "base", "base", "R") + her @ cheeks blush "It was designed specifically for witches, wasn't it?" ("open", "happy", "base", "mid") her "I am not sure whether this is inappropriate or clever..." ("annoyed", "narrow", "annoyed", "mid") her "But this is a brilliant piece of engineering either way..." ("base", "squint", "base", "mid") - call give_gift(_(">You give the broom to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "narrow", "base", "mid_soft") + call give_gift("You give the broom to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") call her_mood(-30) elif gift_item == sexdoll_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "Is this..." ("shock", "wide", "base", "stare") her "A sex doll?!" ("angry", "happyCl", "worried", "mid",emote="sweat") - her "[genie_name]!!!" ("scream", "happyCl", "worried", "mid") + her "[name_genie_hermione]!!!" ("scream", "happyCl", "worried", "mid") call her_mood(20) - elif her_whoring < 12: # Lv 3-4. + elif states.her.level < 12: her "A sex doll?" ("shock", "wide", "base", "stare") - her "This is just so unbecoming for an esteemed wizard such as yourself, [genie_name]..." ("upset", "closed", "base", "mid") + her "This is just so unbecoming for an esteemed wizard such as yourself, [name_genie_hermione]..." ("upset", "closed", "base", "mid") call her_mood(20) - elif her_whoring < 18: # Lv 5-6. + elif states.her.level < 18: her "A sex doll..." ("angry", "narrow", "base", "down") her "This is a little inappropriate..." ("upset", "closed", "base", "mid") her "But maybe we could use it for a prank or something..." ("base", "narrow", "worried", "down") - call give_gift(_(">You give the blow-up doll to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "narrow", "worried", "down") + call give_gift("You give the blow-up doll to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "narrow", "worried", "down") call her_mood(-10) - else: # Lv 7+ - her "the Joanne sex doll?" ("annoyed", "narrow", "worried", "down") - her "I Can't say that I approve of this..." ("open", "base", "base", "R",cheeks="blush") + else: + her "The Joanne sex doll?" ("annoyed", "narrow", "worried", "down") + her @ cheeks blush "I Can't say that I approve of this..." ("open", "base", "base", "R") her "But I know Harry would love to have a go at it..." ("base", "narrow", "worried", "down") - call give_gift(_(">You give the blow-up doll to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "R",cheeks="blush") + call give_gift("You give the blow-up doll to Hermione...",gift_item) + her @ cheeks blush "Thank you, [name_genie_hermione]." ("base", "base", "base", "R") call her_mood(-30) elif gift_item == anal_beads_ITEM: - if her_whoring < 6: # Lv 1-2. + if states.her.level < 6: her "*Hmm*...?" ("base", "base", "base", "mid") her "Is this a necklace?" ("soft", "base", "base", "mid") - call give_gift(_(">You give the anal beads to Hermione..."), gift_item) - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + call give_gift("You give the anal beads to Hermione...",gift_item) + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") call her_mood(-8) - elif her_whoring < 12: # Lv 3-4. - her "[genie_name], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "This is one of those butt... bead things, aren't they?" ("angry", "base", "angry", "mid",cheeks="blush") - her "[genie_name] get them away from me!" + elif states.her.level < 12: + her @ cheeks blush "[name_genie_hermione], are those adult toys of some sort?" ("open", "narrow", "annoyed", "mid") + her @ cheeks blush "This is one of those butt... bead things, aren't they?" ("angry", "base", "angry", "mid") + her "[name_genie_hermione] get them away from me!" ("angry", "base", "angry", "mid") her "Gross!" ("upset", "closed", "base", "mid") call her_mood(15) - elif her_whoring < 17: # Lv 5-6. + elif states.her.level < 17: her "That's not a necklace..." ("upset", "closed", "base", "mid") - her "I wouldn't have any use for this..." ("open", "narrow", "annoyed", "mid", cheeks="blush") - her "Thanks but no thanks [genie_name]." ("upset", "closed", "base", "mid") + her @ cheeks blush "I wouldn't have any use for this..." ("open", "narrow", "annoyed", "mid") + her "Thanks but no, thanks [name_genie_hermione]." ("upset", "closed", "base", "mid") call her_mood(0) - else: # Lv 7+ + else: her "Anal beads?" ("angry", "narrow", "base", "down") - her "Obviously I don't need this sort of thing, [genie_name]..." ("angry", "base", "base", "mid") + her "Obviously I don't need this sort of thing, [name_genie_hermione]..." ("angry", "base", "base", "mid") her "Although it's got a nice colour..." ("angry", "wink", "base", "mid") her "....................." ("angry", "narrow", "base", "down") - her "Fine, I'll use them as an armband, [genie_name]." ("soft", "narrow", "annoyed", "up") - call give_gift(_(">You give the anal beads to Hermione..."), gift_item) - her "But I wont use them for their intended purpose..." ("open", "closed", "base", "mid") + her "Fine, I'll use them as an armband, [name_genie_hermione]." ("soft", "narrow", "annoyed", "up") + call give_gift("You give the anal beads to Hermione...",gift_item) + her "But I won't use them for their intended purpose..." ("open", "closed", "base", "mid") her "................" ("base", "narrow", "worried", "down") call her_mood(-10) elif gift_item == wine_ITEM or gift_item == firewhisky_ITEM: - if her_whoring < 7: - call give_gift(_(">You give the "+str(gift_item.name)+" bottle to Hermione..."), gift_item) - her "Thank you, [genie_name], I'll ask Ginny to drink some with me later." ("soft", "base", "base", "mid", cheeks="blush") + if states.her.level < 7: + call give_gift("You give the "+str(gift_item.name)+" bottle to Hermione...", gift_item) + her @ cheeks blush "Thank you, [name_genie_hermione], I'll ask Ginny to drink some with me later." ("soft", "base", "base", "mid") call her_mood(-20) - elif her_whoring < 12: - her "[genie_name]?! Drinking alcohol on school grounds is forbidden.." ("open", "base", "angry", "mid") + elif states.her.level < 12: + her "[name_genie_hermione]?! Drinking alcohol on school grounds is forbidden..." ("open", "base", "angry", "mid") her "And you as a headmaster should know it!" ("upset", "base", "angry", "mid") call her_mood(10) - elif her_whoring < 18: - her "But, [genie_name].. I can't drink alcohol." ("base", "narrow", "worried", "down") - her "I guess I could use it for some potion mixing though.." ("open", "base", "base", "R") - call give_gift(_(">You give the "+str(gift_item.name)+" bottle to Hermione..."), gift_item) + elif states.her.level < 18: + her "But, [name_genie_hermione]... I can't drink alcohol." ("base", "narrow", "worried", "down") + her "I guess I could use it for some potion mixing though..." ("open", "base", "base", "R") + call give_gift("You give the "+str(gift_item.name)+" bottle to Hermione...", gift_item) her "" ("base", "base", "base", "R") call her_mood(-5) else: - her "But, [genie_name].. You know I can't drink.." ("soft","base", "base", "mid", cheeks="blush") - her "I get drunk too fast and I might do something I'll regret later." ("open", "base", "base", "R", cheeks="blush") - her "" ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "But, [name_genie_hermione]... You know I can't drink..." ("soft","base", "base", "mid") + her @ cheeks blush "I usually get drunk way too fast, and I'd rather not do something I'll regret later." ("open", "base", "base", "R") + her @ cheeks blush "" ("base", "base", "base", "R") call her_mood(0) her "" (xpos="base",ypos="base") @@ -603,8 +603,6 @@ label give_her_gift(gift_item): return label her_mood(value=0): - show screen blktone - with d3 if value > 0: if value == 1: @@ -619,10 +617,9 @@ label her_mood(value=0): else: "Hermione's mood hasn't changed." - $ was_negative = her_mood > 0 - $ her_mood = max(min(her_mood+value, 100), 0) + $ was_negative = states.her.mood > 0 + $ states.her.mood = max(min(states.her.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, her_mood, value) + call describe_mood_after_gift(was_negative, states.her.mood, value) - hide screen blktone return diff --git a/game/scripts/characters/hermione/requests.rpy b/game/scripts/characters/hermione/requests.rpy index 2a02caeb..9dc1393b 100644 --- a/game/scripts/characters/hermione/requests.rpy +++ b/game/scripts/characters/hermione/requests.rpy @@ -1,188 +1,169 @@ # Public requests -default hg_pr_flirt = event_class(title = _("Flirt with students!"), start_label = "hg_pr_flirt", start_tier = 1, events = [ - [ - ["hg_pr_flirt_T1_E1"], - ["hg_pr_flirt_T1_E2"], - ["hg_pr_flirt_T1_E3"] - ], +default her_ev_flirt_students_t1_e1 = Event(id="her_ev_flirt_students_t1_e1", label="hg_pr_flirt_T1_E1", req="game.daytime == False") +default her_ev_flirt_students_t1_e2 = Event(id="her_ev_flirt_students_t1_e2", label="hg_pr_flirt_T1_E2", req="game.daytime == False") +default her_ev_flirt_students_t1_e3 = Event(id="her_ev_flirt_students_t1_e3", label="hg_pr_flirt_T1_E3", req="game.daytime == False") +default her_ev_flirt_students_t2_e1 = Event(id="her_ev_flirt_students_t2_e1", label="hg_pr_flirt_T2_E1", req="game.daytime == False") +default her_ev_flirt_students_t2_e2 = Event(id="her_ev_flirt_students_t2_e2", label="hg_pr_flirt_T2_E2", req="game.daytime == False") +default her_ev_flirt_students_t2_e3 = Event(id="her_ev_flirt_students_t2_e3", label="hg_pr_flirt_T2_E3", req="game.daytime == False") +default her_ev_flirt_students_t3_e1 = Event(id="her_ev_flirt_students_t3_e1", label="hg_pr_flirt_T3_E1", req="game.daytime == False") +default her_ev_flirt_students_t3_e2 = Event(id="her_ev_flirt_students_t3_e2", label="hg_pr_flirt_T3_E2", req="game.daytime == False") +default her_ev_flirt_students_t3_e3 = Event(id="her_ev_flirt_students_t3_e3", label="hg_pr_flirt_T3_E3", req="game.daytime == False") - [ - ["hg_pr_flirt_T2_E1"], - ["hg_pr_flirt_T2_E2"], - ["hg_pr_flirt_T2_E3"] - ], +default her_ev_flirt_students_t1_e1_hub = Event(id="her_ev_flirt_students_t1_e1_hub", label="hg_pr_flirt", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t1_e1"]) +default her_ev_flirt_students_t1_e2_hub = Event(id="her_ev_flirt_students_t1_e2_hub", label="hg_pr_flirt", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t1_e2"]) +default her_ev_flirt_students_t1_e3_hub = Event(id="her_ev_flirt_students_t1_e3_hub", label="hg_pr_flirt", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t1_e3"]) +default her_ev_flirt_students_t2_e1_hub = Event(id="her_ev_flirt_students_t2_e1_hub", label="hg_pr_flirt", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t2_e1"]) +default her_ev_flirt_students_t2_e2_hub = Event(id="her_ev_flirt_students_t2_e2_hub", label="hg_pr_flirt", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t2_e2"]) +default her_ev_flirt_students_t2_e3_hub = Event(id="her_ev_flirt_students_t2_e3_hub", label="hg_pr_flirt", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t2_e3"]) +default her_ev_flirt_students_t3_e1_hub = Event(id="her_ev_flirt_students_t3_e1_hub", label="hg_pr_flirt", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t3_e1"]) +default her_ev_flirt_students_t3_e2_hub = Event(id="her_ev_flirt_students_t3_e2_hub", label="hg_pr_flirt", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t3_e2"]) +default her_ev_flirt_students_t3_e3_hub = Event(id="her_ev_flirt_students_t3_e3_hub", label="hg_pr_flirt", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_students", subevents=["her_ev_flirt_students_t3_e3"]) - [ - ["hg_pr_flirt_T3_E1"], - ["hg_pr_flirt_T3_E2"], - ["hg_pr_flirt_T3_E3"] - ] +default her_ev_flirt_teachers_t1_e1 = Event(id="her_ev_flirt_teachers_t1_e1", label="hg_pr_flirt_teacher_T1_E1", req="game.daytime == False") +default her_ev_flirt_teachers_t1_e2 = Event(id="her_ev_flirt_teachers_t1_e2", label="hg_pr_flirt_teacher_T1_E2", req="game.daytime == False") +default her_ev_flirt_teachers_t1_e3 = Event(id="her_ev_flirt_teachers_t1_e3", label="hg_pr_flirt_teacher_T1_E3", req="game.daytime == False") +default her_ev_flirt_teachers_t2_e1 = Event(id="her_ev_flirt_teachers_t2_e1", label="hg_pr_flirt_teacher_T2_E1", req="game.daytime == False") +default her_ev_flirt_teachers_t2_e2 = Event(id="her_ev_flirt_teachers_t2_e2", label="hg_pr_flirt_teacher_T2_E2", req="game.daytime == False") +default her_ev_flirt_teachers_t2_e3 = Event(id="her_ev_flirt_teachers_t2_e3", label="hg_pr_flirt_teacher_T2_E3", req="game.daytime == False") +default her_ev_flirt_teachers_t3_e1 = Event(id="her_ev_flirt_teachers_t3_e1", label="hg_pr_flirt_teacher_T3_E1", req="game.daytime == False") +default her_ev_flirt_teachers_t3_e2 = Event(id="her_ev_flirt_teachers_t3_e2", label="hg_pr_flirt_teacher_T3_E2", req="game.daytime == False") +default her_ev_flirt_teachers_t3_e3 = Event(id="her_ev_flirt_teachers_t3_e3", label="hg_pr_flirt_teacher_T3_E3", req="game.daytime == False") - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"], ["star_empty", "star_yellow"], ["star_empty", "star_yellow"]] - ) +default her_ev_flirt_teachers_t1_e1_hub = Event(id="her_ev_flirt_teachers_t1_e1_hub", label="hg_pr_flirt_teacher", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t1_e1"]) +default her_ev_flirt_teachers_t1_e2_hub = Event(id="her_ev_flirt_teachers_t1_e2_hub", label="hg_pr_flirt_teacher", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t1_e2"]) +default her_ev_flirt_teachers_t1_e3_hub = Event(id="her_ev_flirt_teachers_t1_e3_hub", label="hg_pr_flirt_teacher", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t1_e3"]) +default her_ev_flirt_teachers_t2_e1_hub = Event(id="her_ev_flirt_teachers_t2_e1_hub", label="hg_pr_flirt_teacher", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t2_e1"]) +default her_ev_flirt_teachers_t2_e2_hub = Event(id="her_ev_flirt_teachers_t2_e2_hub", label="hg_pr_flirt_teacher", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t2_e2"]) +default her_ev_flirt_teachers_t2_e3_hub = Event(id="her_ev_flirt_teachers_t2_e3_hub", label="hg_pr_flirt_teacher", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t2_e3"]) +default her_ev_flirt_teachers_t3_e1_hub = Event(id="her_ev_flirt_teachers_t3_e1_hub", label="hg_pr_flirt_teacher", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t3_e1"]) +default her_ev_flirt_teachers_t3_e2_hub = Event(id="her_ev_flirt_teachers_t3_e2_hub", label="hg_pr_flirt_teacher", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t3_e2"]) +default her_ev_flirt_teachers_t3_e3_hub = Event(id="her_ev_flirt_teachers_t3_e3_hub", label="hg_pr_flirt_teacher", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flirt_teachers", subevents=["her_ev_flirt_teachers_t3_e3"]) -default hg_pr_flirt_teacher = event_class(title = _("Flirt with teachers!"), start_label = "hg_pr_flirt_teacher", start_tier = 1, events = [ - [ - ["hg_pr_flirt_teacher_T1_E1"], - ["hg_pr_flirt_teacher_T1_E2"], - ["hg_pr_flirt_teacher_T1_E3"] - ], +default her_ev_grope_public_t2_e1 = Event(id="her_ev_grope_public_t2_e1", label="hg_pr_grope_T2_E1", req="game.daytime == False") +default her_ev_grope_public_t2_e2 = Event(id="her_ev_grope_public_t2_e2", label="hg_pr_grope_T2_E2", req="game.daytime == False") +default her_ev_grope_public_t2_e3 = Event(id="her_ev_grope_public_t2_e3", label="hg_pr_grope_T2_E3", req="game.daytime == False") +default her_ev_grope_public_t3_e1 = Event(id="her_ev_grope_public_t3_e1", label="hg_pr_grope_T3_E1", req="game.daytime == False") +default her_ev_grope_public_t3_e2 = Event(id="her_ev_grope_public_t3_e2", label="hg_pr_grope_T3_E2", req="game.daytime == False") +default her_ev_grope_public_t3_e3 = Event(id="her_ev_grope_public_t3_e3", label="hg_pr_grope_T3_E3", req="game.daytime == False") +default her_ev_grope_public_t4_e1 = Event(id="her_ev_grope_public_t4_e1", label="hg_pr_grope_T4_E1", req="game.daytime == False") +default her_ev_grope_public_t4_e2 = Event(id="her_ev_grope_public_t4_e2", label="hg_pr_grope_T4_E2", req="game.daytime == False") +default her_ev_grope_public_t4_e3 = Event(id="her_ev_grope_public_t4_e3", label="hg_pr_grope_T4_E3", req="game.daytime == False") - [ - ["hg_pr_flirt_teacher_T2_E1"], - ["hg_pr_flirt_teacher_T2_E2"], - ["hg_pr_flirt_teacher_T2_E3"] - ], +default her_ev_grope_public_t1_e1_hub = Event(id="her_ev_grope_public_t1_e1_hub", label="hg_pr_grope_fail", req="states.her.tier == 1", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public") +default her_ev_grope_public_t2_e1_hub = Event(id="her_ev_grope_public_t2_e1_hub", label="hg_pr_grope", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t2_e1"]) +default her_ev_grope_public_t2_e2_hub = Event(id="her_ev_grope_public_t2_e2_hub", label="hg_pr_grope", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t2_e2"]) +default her_ev_grope_public_t2_e3_hub = Event(id="her_ev_grope_public_t2_e3_hub", label="hg_pr_grope", req="states.her.tier == 2", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t2_e3"]) +default her_ev_grope_public_t3_e1_hub = Event(id="her_ev_grope_public_t3_e1_hub", label="hg_pr_grope", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t3_e1"]) +default her_ev_grope_public_t3_e2_hub = Event(id="her_ev_grope_public_t3_e2_hub", label="hg_pr_grope", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t3_e2"]) +default her_ev_grope_public_t3_e3_hub = Event(id="her_ev_grope_public_t3_e3_hub", label="hg_pr_grope", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t3_e3"]) +default her_ev_grope_public_t4_e1_hub = Event(id="her_ev_grope_public_t4_e1_hub", label="hg_pr_grope", req="states.her.tier >= 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t4_e1"]) +default her_ev_grope_public_t4_e2_hub = Event(id="her_ev_grope_public_t4_e2_hub", label="hg_pr_grope", req="states.her.tier >= 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t4_e2"]) +default her_ev_grope_public_t4_e3_hub = Event(id="her_ev_grope_public_t4_e3_hub", label="hg_pr_grope", req="states.her.tier >= 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_grope_public", subevents=["her_ev_grope_public_t4_e3"]) - [ - ["hg_pr_flirt_teacher_T3_E1"], - ["hg_pr_flirt_teacher_T3_E2"], - ["hg_pr_flirt_teacher_T3_E3"] - ] +default her_ev_flash_public_t3_e1 = Event(id="her_ev_flash_public_t3_e1", label="hg_pr_flash_T3_E1", req="game.daytime == False") +default her_ev_flash_public_t3_e2 = Event(id="her_ev_flash_public_t3_e2", label="hg_pr_flash_T3_E2", req="game.daytime == False") +default her_ev_flash_public_t3_e3 = Event(id="her_ev_flash_public_t3_e3", label="hg_pr_flash_T3_E3", req="game.daytime == False") +default her_ev_flash_public_t4_e1 = Event(id="her_ev_flash_public_t4_e1", label="hg_pr_flash_T4_E1", req="game.daytime == False") +default her_ev_flash_public_t4_e2 = Event(id="her_ev_flash_public_t4_e2", label="hg_pr_flash_T4_E2", req="game.daytime == False") +default her_ev_flash_public_t4_e3 = Event(id="her_ev_flash_public_t4_e3", label="hg_pr_flash_T4_E3", req="game.daytime == False") +default her_ev_flash_public_t5_e1 = Event(id="her_ev_flash_public_t5_e1", label="hg_pr_flash_T5_E1", req="game.daytime == False") +default her_ev_flash_public_t5_e2 = Event(id="her_ev_flash_public_t5_e2", label="hg_pr_flash_T5_E2", req="game.daytime == False") +default her_ev_flash_public_t5_e3 = Event(id="her_ev_flash_public_t5_e3", label="hg_pr_flash_T5_E3", req="game.daytime == False") - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"], ["star_empty", "star_yellow"], ["star_empty", "star_yellow"]] - ) +default her_ev_flash_public_t1_to_t3 = Event(id="her_ev_flash_public_t1_to_t3", label="hg_pr_flash_fail", req="states.her.tier < 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public") +default her_ev_flash_public_t3_e1_hub = Event(id="her_ev_flash_public_t3_e1_hub", label="hg_pr_flash", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t3_e1"]) +default her_ev_flash_public_t3_e2_hub = Event(id="her_ev_flash_public_t3_e2_hub", label="hg_pr_flash", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t3_e2"]) +default her_ev_flash_public_t3_e3_hub = Event(id="her_ev_flash_public_t3_e3_hub", label="hg_pr_flash", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t3_e3"]) +default her_ev_flash_public_t4_e1_hub = Event(id="her_ev_flash_public_t4_e1_hub", label="hg_pr_flash", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t4_e1"]) +default her_ev_flash_public_t4_e2_hub = Event(id="her_ev_flash_public_t4_e2_hub", label="hg_pr_flash", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t4_e2"]) +default her_ev_flash_public_t4_e3_hub = Event(id="her_ev_flash_public_t4_e3_hub", label="hg_pr_flash", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t4_e3"]) +default her_ev_flash_public_t5_e1_hub = Event(id="her_ev_flash_public_t5_e1_hub", label="hg_pr_flash", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t5_e1"]) +default her_ev_flash_public_t5_e2_hub = Event(id="her_ev_flash_public_t5_e2_hub", label="hg_pr_flash", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t5_e2"]) +default her_ev_flash_public_t5_e3_hub = Event(id="her_ev_flash_public_t5_e3_hub", label="hg_pr_flash", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_flash_public", subevents=["her_ev_flash_public_t5_e3"]) -default hg_pr_grope = event_class(title = _("Let them grope you!"), start_label = "hg_pr_grope", start_tier = 2, events = [ - [ - ["hg_pr_grope_T2_E1"], - ["hg_pr_grope_T2_E2"], - ["hg_pr_grope_T2_E3"] - ], +default her_ev_kiss_public_t3_e1 = Event(id="her_ev_kiss_public_t3_e1", label="hg_pr_kiss_T3_E1", req="game.daytime==False") +default her_ev_kiss_public_t3_e2 = Event(id="her_ev_kiss_public_t3_e2", label="hg_pr_kiss_T3_E2", req="game.daytime==False") +default her_ev_kiss_public_t3_e3 = Event(id="her_ev_kiss_public_t3_e3", label="hg_pr_kiss_T3_E3", req="game.daytime==False") +default her_ev_kiss_public_t4_e1 = Event(id="her_ev_kiss_public_t4_e1", label="hg_pr_kiss_T4_E1", req="game.daytime==False") +default her_ev_kiss_public_t4_e2 = Event(id="her_ev_kiss_public_t4_e2", label="hg_pr_kiss_T4_E2", req="game.daytime==False") +default her_ev_kiss_public_t4_e3 = Event(id="her_ev_kiss_public_t4_e3", label="hg_pr_kiss_T4_E3", req="game.daytime==False") +default her_ev_kiss_public_t5_e1 = Event(id="her_ev_kiss_public_t5_e1", label="hg_pr_kiss_T5_E1", req="game.daytime==False") +default her_ev_kiss_public_t5_e2 = Event(id="her_ev_kiss_public_t5_e2", label="hg_pr_kiss_T5_E2", req="game.daytime==False") - [ - ["hg_pr_grope_T3_E1"], - ["hg_pr_grope_T3_E2"], - ["hg_pr_grope_T3_E3"] - ], +default her_ev_kiss_public_t1_to_t3 = Event(id="her_ev_kiss_public_t1_to_t3", label="hg_pr_kiss_fail", req="states.her.tier < 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public") +default her_ev_kiss_public_t3_e1_hub = Event(id="her_ev_kiss_public_t3_e1_hub", label="hg_pr_kiss", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t3_e1"]) +default her_ev_kiss_public_t3_e2_hub = Event(id="her_ev_kiss_public_t3_e2_hub", label="hg_pr_kiss", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t3_e2"]) +default her_ev_kiss_public_t3_e3_hub = Event(id="her_ev_kiss_public_t3_e3_hub", label="hg_pr_kiss", req="states.her.tier == 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t3_e3"]) +default her_ev_kiss_public_t4_e1_hub = Event(id="her_ev_kiss_public_t4_e1_hub", label="hg_pr_kiss", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t4_e1"]) +default her_ev_kiss_public_t4_e2_hub = Event(id="her_ev_kiss_public_t4_e2_hub", label="hg_pr_kiss", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t4_e2"]) +default her_ev_kiss_public_t4_e3_hub = Event(id="her_ev_kiss_public_t4_e3_hub", label="hg_pr_kiss", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t4_e3"]) +default her_ev_kiss_public_t5_e1_hub = Event(id="her_ev_kiss_public_t5_e1_hub", label="hg_pr_kiss", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t5_e1"]) +default her_ev_kiss_public_t5_e2_hub = Event(id="her_ev_kiss_public_t5_e2_hub", label="hg_pr_kiss", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_kiss_public", subevents=["her_ev_kiss_public_t5_e2"]) - [ - ["hg_pr_grope_T4_E1"], - ["hg_pr_grope_T4_E2"], - ["hg_pr_grope_T4_E3"] - ] +default her_ev_handjob_public_t4_e1 = Event(id="her_ev_handjob_public_t4_e1", label="hg_pr_handjob_T4_E1", req="game.daytime==False") +default her_ev_handjob_public_t4_e2 = Event(id="her_ev_handjob_public_t4_e2", label="hg_pr_handjob_T4_E2", req="game.daytime==False") +default her_ev_handjob_public_t4_e3 = Event(id="her_ev_handjob_public_t4_e3", label="hg_pr_handjob_T4_E3", req="game.daytime==False") +default her_ev_handjob_public_t5_e1 = Event(id="her_ev_handjob_public_t5_e1", label="hg_pr_handjob_T5_E1", req="game.daytime==False") +default her_ev_handjob_public_t5_e2 = Event(id="her_ev_handjob_public_t5_e2", label="hg_pr_handjob_T5_E2", req="game.daytime==False") +default her_ev_handjob_public_t5_e3 = Event(id="her_ev_handjob_public_t5_e3", label="hg_pr_handjob_T5_E3", req="game.daytime==False") +default her_ev_handjob_public_t6_e1 = Event(id="her_ev_handjob_public_t6_e1", label="hg_pr_handjob_T6_intro_E1", req="game.daytime==False") +default her_ev_handjob_public_t6_e2 = Event(id="her_ev_handjob_public_t6_e2", label="hg_pr_handjob_T6_E2", req="game.daytime==False") +default her_ev_handjob_public_t6_e3 = Event(id="her_ev_handjob_public_t6_e3", label="hg_pr_handjob_T6_E3", req="game.daytime==False") - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"], ["star_empty", "star_yellow"], ["star_empty", "star_yellow"]] - ) +default her_ev_handjob_public_t1_to_t4 = Event(id="her_ev_handjob_public_t1_to_t4", label="hg_pr_handjob_fail", req="states.her.tier < 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public") +default her_ev_handjob_public_t4_e1_hub = Event(id="her_ev_handjob_public_t4_e1_hub", label="hg_pr_handjob", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t4_e1"]) +default her_ev_handjob_public_t4_e2_hub = Event(id="her_ev_handjob_public_t4_e2_hub", label="hg_pr_handjob", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t4_e2"]) +default her_ev_handjob_public_t4_e3_hub = Event(id="her_ev_handjob_public_t4_e3_hub", label="hg_pr_handjob", req="states.her.tier == 4", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t4_e3"]) +default her_ev_handjob_public_t5_e1_hub = Event(id="her_ev_handjob_public_t5_e1_hub", label="hg_pr_handjob", req="states.her.tier == 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t5_e1"]) +default her_ev_handjob_public_t5_e2_hub = Event(id="her_ev_handjob_public_t5_e2_hub", label="hg_pr_handjob", req="states.her.tier == 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t5_e2"]) +default her_ev_handjob_public_t5_e3_hub = Event(id="her_ev_handjob_public_t5_e3_hub", label="hg_pr_handjob", req="states.her.tier == 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t5_e3"]) +default her_ev_handjob_public_t6_e1_hub = Event(id="her_ev_handjob_public_t6_e1_hub", label="hg_pr_handjob", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", repeat=False, subevents=["her_ev_handjob_public_t6_e1"]) +default her_ev_handjob_public_t6_e2_hub = Event(id="her_ev_handjob_public_t6_e2_hub", label="hg_pr_handjob", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t6_e2"]) +default her_ev_handjob_public_t6_e3_hub = Event(id="her_ev_handjob_public_t6_e3_hub", label="hg_pr_handjob", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_handjob_public", subevents=["her_ev_handjob_public_t6_e3"]) -default hg_pr_flash = event_class(title = _("Flash your tits!"), start_label = "hg_pr_flash", start_tier = 3, events = [ - [ - ["hg_pr_flash_T3_E1"], - ["hg_pr_flash_T3_E2"], - ["hg_pr_flash_T3_E3"] - ], +default her_ev_blowjob_public_t5_e1 = Event(id="her_ev_blowjob_public_t5_e1", label="hg_pr_blowjob_T5_E1", req="game.daytime==False") +default her_ev_blowjob_public_t5_e2 = Event(id="her_ev_blowjob_public_t5_e2", label="hg_pr_blowjob_T5_E2", req="game.daytime==False") +default her_ev_blowjob_public_t5_e3 = Event(id="her_ev_blowjob_public_t5_e3", label="hg_pr_blowjob_T5_E3", req="game.daytime==False") +default her_ev_blowjob_public_t6_e1 = Event(id="her_ev_blowjob_public_t6_e1", label="hg_pr_blowjob_T6_intro_E1", req="game.daytime==False") +default her_ev_blowjob_public_t6_e2 = Event(id="her_ev_blowjob_public_t6_e2", label="hg_pr_blowjob_T6_E2", req="game.daytime==False") +default her_ev_blowjob_public_t6_e3 = Event(id="her_ev_blowjob_public_t6_e3", label="hg_pr_blowjob_T6_E3", req="game.daytime==False") - [ - ["hg_pr_flash_T4_E1"], - ["hg_pr_flash_T4_E2"], - ["hg_pr_flash_T4_E3"] - ], +default her_ev_blowjob_public_t1_to_t5 = Event(id="her_ev_blowjob_public_t1_to_t5", label="hg_pr_blowjob_fail", req="states.her.tier < 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_blowjob_public") +default her_ev_blowjob_public_t5_e1_hub = Event(id="her_ev_blowjob_public_t5_e1_hub", label="hg_pr_blowjob", req="states.her.tier == 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_blowjob_public", subevents=["her_ev_blowjob_public_t5_e1"]) +default her_ev_blowjob_public_t5_e2_hub = Event(id="her_ev_blowjob_public_t5_e2_hub", label="hg_pr_blowjob", req="states.her.tier == 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_blowjob_public", subevents=["her_ev_blowjob_public_t5_e2"]) +default her_ev_blowjob_public_t5_e3_hub = Event(id="her_ev_blowjob_public_t5_e3_hub", label="hg_pr_blowjob", req="states.her.tier == 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_blowjob_public", subevents=["her_ev_blowjob_public_t5_e3"]) +default her_ev_blowjob_public_t6_e1_hub = Event(id="her_ev_blowjob_public_t6_e1_hub", label="hg_pr_blowjob", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_blowjob_public", subevents=["her_ev_blowjob_public_t6_e1"]) +default her_ev_blowjob_public_t6_e2_hub = Event(id="her_ev_blowjob_public_t6_e2_hub", label="hg_pr_blowjob", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_blowjob_public", subevents=["her_ev_blowjob_public_t6_e2"]) +default her_ev_blowjob_public_t6_e3_hub = Event(id="her_ev_blowjob_public_t6_e3_hub", label="hg_pr_blowjob", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_blowjob_public", subevents=["her_ev_blowjob_public_t6_e3"]) - [ - ["hg_pr_flash_T5_E1"], - ["hg_pr_flash_T5_E2"], - ["hg_pr_flash_T5_E3"] - ] +default her_ev_sex_public_t6_e1 = Event(id="her_ev_sex_public_t6_e1", label="hg_pr_sex_T6_intro_E1", req="game.daytime==False") +default her_ev_sex_public_t6_e2 = Event(id="her_ev_sex_public_t6_e2", label="hg_pr_sex_T6_intro_E2", req="game.daytime==True", wait=1) +default her_ev_sex_public_t6_e3 = Event(id="her_ev_sex_public_t6_e3", label="hg_pr_sex_T6_E3", req="game.daytime==False") +default her_ev_sex_public_t6_e4 = Event(id="her_ev_sex_public_t6_e4", label="hg_pr_sex_T6_E4", req="game.daytime==False") - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"], ["star_empty", "star_yellow"], ["star_empty", "star_yellow"]], - monologue_glass = False # Event specific - ) +default her_ev_sex_public_t1_to_t6 = Event(id="her_ev_sex_public_t1_to_t6", label="hg_pr_sex_fail", req="states.her.tier < 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_sex_public") +default her_ev_sex_public_t6_e1_hub = Event(id="her_ev_sex_public_t6_e1_hub", label="hg_pr_sex", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, repeat=False, queue="her_eventqueue_sex_public", subevents=["her_ev_sex_public_t6_e1", "her_ev_sex_public_t6_e2"]) +default her_ev_sex_public_t6_e2_hub = Event(id="her_ev_sex_public_t6_e2_hub", label="hg_pr_sex", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_sex_public", subevents=["her_ev_sex_public_t6_e3"]) +default her_ev_sex_public_t6_e3_hub = Event(id="her_ev_sex_public_t6_e3_hub", label="hg_pr_sex", req="states.her.tier >= 6", autoenqueue=True, autodequeue=False, queue="her_eventqueue_sex_public", subevents=["her_ev_sex_public_t6_e4"]) -default hg_pr_kiss = event_class(title = _("Kiss a girl!"), start_label = "hg_pr_kiss", start_tier = 3, events = [ - [ - ["hg_pr_kiss_T3_E1"], - ["hg_pr_kiss_T3_E2"], - ["hg_pr_kiss_T3_E3"] - ], +default her_ev_cumslut_public_t5_e1 = Event(id="her_ev_cumslut_public_t5_e1", label="hg_pr_cumslut_e1_return", req="game.daytime==False") +default her_ev_cumslut_public_t5_e2 = Event(id="her_ev_cumslut_public_t5_e2", label="hg_pr_cumslut_e2_return", req="game.daytime==False") +default her_ev_cumslut_public_t5_e3 = Event(id="her_ev_cumslut_public_t5_e3", label="hg_pr_cumslut_e3_return", req="game.daytime==False") - [ - ["hg_pr_kiss_T4_E1"], - ["hg_pr_kiss_T4_E2"], - ["hg_pr_kiss_T4_E3"] - ], +default her_ev_cumslut_public_t1_to_t5 = Event(id="her_ev_cumslut_public_t1_to_t5", label="hg_pr_cumslut_fail", req="states.her.tier < 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_cumslut_public") +default her_ev_cumslut_public_t5_e1_hub = Event(id="her_ev_cumslut_public_t5_e1_hub", label="hg_pr_cumslut_e1", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_cumslut_public", subevents=["her_ev_cumslut_public_t5_e1"]) +default her_ev_cumslut_public_t5_e2_hub = Event(id="her_ev_cumslut_public_t5_e2_hub", label="hg_pr_cumslut_e2", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_cumslut_public", subevents=["her_ev_cumslut_public_t5_e2"]) +default her_ev_cumslut_public_t5_e3_hub = Event(id="her_ev_cumslut_public_t5_e3_hub", label="hg_pr_cumslut_e3", req="states.her.tier >= 5", autoenqueue=True, autodequeue=False, queue="her_eventqueue_cumslut_public", subevents=["her_ev_cumslut_public_t5_e3"]) - [ - ["hg_pr_kiss_T5_E1"], - ["hg_pr_kiss_T5_E2"] - ] - - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"], ["star_empty", "star_yellow"], ["star_empty", "star_yellow"]] - ) - -default hg_pr_handjob = event_class(title = _("Give a handjob!"), start_label = "hg_pr_handjob", start_tier = 4, events = [ - [ - ["hg_pr_handjob_T4_E1"], - ["hg_pr_handjob_T4_E2"], - ["hg_pr_handjob_T4_E3"] - ], - - [ - ["hg_pr_handjob_T5_E1"], - ["hg_pr_handjob_T5_E2"], - ["hg_pr_handjob_T5_E3"] - ], - - [ - ["hg_pr_handjob_T6_intro_E1"], # Ron - ["hg_pr_handjob_T6_E2"], - ["hg_pr_handjob_T6_E3"] # Ron & Harry - ] - - ], - icons = [None, None, None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"], ["star_empty", "star_yellow"], ["star_empty", "star_yellow"]] - ) - -default hg_pr_blowjob = event_class(title = _("Give a blowjob!"), start_label = "hg_pr_blowjob", start_tier = 5, events = [ - [ - ["hg_pr_blowjob_T5_E1"], - ["hg_pr_blowjob_T5_E2"], - ["hg_pr_blowjob_T5_E3"] - ], - - [ - ["hg_pr_blowjob_T6_intro_E1"], # Ron & Harry - ["hg_pr_blowjob_T6_E2"], # Slytherin - ["hg_pr_blowjob_T6_E3"] # Restroom bukkake :O - ] - - ], - icons = [None, None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"], ["star_empty", "star_yellow"]] - ) - - -default hg_pr_sex = event_class(title = _("Have sex!"), start_label = "hg_pr_sex", start_tier = 6, events = [ - [ - ["hg_pr_sex_T6_intro_E1"], - ["hg_pr_sex_T6_intro_E2"], - ["hg_pr_sex_T6_E3"], - ["hg_pr_sex_T6_E4"] - ] - - ], - icons = [None], # If a tier doesn't need an icon replace with None - iconset = [["star_empty", "star_yellow"]] - ) - -default hg_requests_list = [ - hg_pr_flirt, - hg_pr_flirt_teacher, - hg_pr_grope, - hg_pr_flash, - hg_pr_kiss, - hg_pr_handjob, - hg_pr_blowjob, - hg_pr_sex - ] +define hermione_requests = [ + ("her_eventqueue_flirt_students", "Flirt with students!"), + ("her_eventqueue_flirt_teachers", "Flirt with teachers!"), + ("her_eventqueue_grope_public", "Let them grope you!"), + ("her_eventqueue_flash_public", "Flash your tits!"), + ("her_eventqueue_kiss_public", "Kiss a girl!"), + ("her_eventqueue_handjob_public", "Give a handjob!"), + ("her_eventqueue_blowjob_public", "Give a blowjob!"), + ("her_eventqueue_cumslut_public", "Act like a cumslut!"), + ("her_eventqueue_sex_public", "Have sex!") +] \ No newline at end of file diff --git a/game/scripts/characters/hermione/shaming.rpy b/game/scripts/characters/hermione/shaming.rpy deleted file mode 100644 index 53b80eac..00000000 --- a/game/scripts/characters/hermione/shaming.rpy +++ /dev/null @@ -1,18 +0,0 @@ -default hg_ps_get_panties = shaming_class( - tier = 2, - title = _("Panty Thief"), - start_label = "hg_ps_get_panties", - complete_label = "hg_ps_get_panties_complete" -) - -default hg_ps_cumslut = shaming_class( - tier = 4, - title = _("Wear My Cum"), - start_label = "hg_ps_cumslut", - complete_label = "hg_ps_cumslut_complete" -) - -default hg_ps_list = [ - hg_ps_get_panties, - hg_ps_cumslut, -] diff --git a/game/scripts/characters/hermione/summon.rpy b/game/scripts/characters/hermione/summon.rpy index d6eed927..e05690f9 100644 --- a/game/scripts/characters/hermione/summon.rpy +++ b/game/scripts/characters/hermione/summon.rpy @@ -1,13 +1,12 @@ label summon_hermione: - #call play_music("hermione") - #call play_sound("door") + #play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + #play sound "sounds/door.ogg" - $ active_girl = "hermione" - $ last_character = "hermione" + $ states.active_girl = "hermione" - $ hermione_busy = True + $ states.her.busy = True call update_hermione call update_her_tier @@ -24,72 +23,71 @@ label summon_hermione: her "" (xpos="base",ypos="base") menu: - "-Talk-" (icon="interface/icons/small/talk.webp"): - if her_mood > 0: + if states.her.mood > 0: her "I have nothing to say to you sir..." jump hermione_requests call hermione_chitchat jump hermione_talk - "-Tutoring-" (icon="interface/icons/small/book.webp") if not game.daytime and her_tutoring < 15: #14 is last level. - if her_mood >=1 and her_mood < 3: + "-Tutoring-" (icon="interface/icons/small/book.webp") if not game.daytime and states.her.ev.tutoring.stage < 15: #14 is last level. + if states.her.mood >=1 and states.her.mood < 3: her "I'm sorry, maybe tomorrow..." jump hermione_requests - elif her_mood >=3 and her_mood < 10: + elif states.her.mood >=3 and states.her.mood < 10: her "I am not in the mood today..." jump hermione_requests - elif her_mood >= 10 and her_mood < 20: - her "Absolutely not, [genie_name]." + elif states.her.mood >= 10 and states.her.mood < 20: + her "Absolutely not, [name_genie_hermione]." her "I {i}might{/i} consider it once you've said sorry..." jump hermione_requests - elif her_mood >=20: - her "After what you did, [genie_name]?" + elif states.her.mood >=20: + her "After what you did, [name_genie_hermione]?" her "I don't think so..." jump hermione_requests else: jump hg_tutor_start - "-Tutoring-" (icon="interface/icons/small/book.webp", style="disabled") if game.daytime and her_tutoring < 15: - call nar("> Tutoring is available during the night only.") + "-Tutoring-" (icon="interface/icons/small/book.webp", style="disabled") if game.daytime and states.her.ev.tutoring.stage < 15: + nar "Tutoring is available during the night only." jump hermione_requests - "-Sexual favours-" (icon="interface/icons/small/condom.webp") if hermione_favors: - if her_mood >=1 and her_mood < 3: - her "I'm sorry, [genie_name], Maybe some other time..." ("annoyed", "base", "base", "R") + "-Sexual favours-" (icon="interface/icons/small/condom.webp") if states.her.favors_unlocked: + if states.her.mood >=1 and states.her.mood < 3: + her "I'm sorry, [name_genie_hermione]... Maybe some other time." ("annoyed", "base", "base", "R") jump hermione_requests - elif her_mood >= 3 and her_mood < 10: + elif states.her.mood >= 3 and states.her.mood < 10: her "I don't feel like it today..." ("open", "closed", "base", "mid") her "Maybe some other time..." ("normal", "closed", "base", "mid") her "" ("normal", "base", "base", "mid") jump hermione_requests - elif her_mood >= 10 and her_mood < 20: + elif states.her.mood >= 10 and states.her.mood < 20: her "No thank you..." ("angry", "narrow", "base", "mid") jump hermione_requests - elif her_mood >= 20 and her_mood < 30: - her "After what you did, [genie_name]?" ("angry", "narrow", "annoyed", "mid") + elif states.her.mood >= 20 and states.her.mood < 30: + her "After what you did, [name_genie_hermione]?" ("angry", "narrow", "annoyed", "mid") her "I don't think so..." ("disgust", "narrow", "annoyed", "mid") jump hermione_requests - elif her_mood >= 30 and her_mood < 40: + elif states.her.mood >= 30 and states.her.mood < 40: her "You can't be serious!" ("angry", "narrow", "angry", "mid") jump hermione_requests - elif her_mood >= 40: + elif states.her.mood >= 40: her "Is this some twisted joke to you, sir?!" ("angry", "squint", "angry", "mid") her "After what you did I don't feel like doing this ever again!" ("disgust", "base", "angry", "mid") jump hermione_requests else: jump hermione_favor_menu - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if hermione_wardrobe_unlocked: # Unlocks after first summoning her. + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.her.wardrobe_unlocked: # Unlocks after first summoning her. hide hermione_main with d1 call wardrobe jump hermione_requests - "-Let's Duel-" (icon="interface/icons/small/cards.webp") if snape_second_win: + "-Let's Duel-" (icon="interface/icons/small/cards.webp") if states.sna.ev.cardgame.stage >= 2: jump hermione_cardgame_menu - "-Give Item-" (icon="interface/icons/small/gift.webp") if hermione_favors: + "-Give Item-" (icon="interface/icons/small/gift.webp") if states.her.favors_unlocked: hide hermione_main with d1 call gift_menu jump hermione_requests @@ -98,58 +96,27 @@ label summon_hermione: stop music fadeout 3.0 if game.daytime: - if her_mood >=3 and her_mood < 7: + if states.her.mood >=3 and states.her.mood < 7: her "..............................." - elif her_mood >=7: + elif states.her.mood >=7: her "*Humph*!..." else: her "Oh, alright. I will go to classes then." else: - if her_mood >=3 and her_mood < 7: + if states.her.mood >=3 and states.her.mood < 7: her "..............................." - elif her_mood >=7: + elif states.her.mood >=7: her "*Tch*..." else: her "Oh, alright. I will go to bed then." - call play_sound("door") + play sound "sounds/door.ogg" jump end_hermione_event - - -label update_her_tier: - if her_tier == 1 and her_whoring >= 3: - # Trigger: None - $ her_level_up = 1 - elif her_tier == 2 and her_whoring >= 9 and hg_jerkoff.trigger == True: - # Trigger: When you get caught jerking off. - $ her_level_up = 2 - elif her_tier == 3 and her_whoring >= 12 and hg_strip.trigger == True: - # Trigger: After she strips for you. - $ her_level_up = 3 - elif her_tier == 4 and her_whoring >= 18 and hg_kiss.trigger == True: - # Trigger: None - $ her_level_up = 4 - elif her_tier == 5 and her_whoring >= 21 and hg_blowjob.trigger == True: - # Trigger: First BJ - $ her_level_up = 5 - - return - - label hermione_level_up(tier=None): - call bld if tier == 1: - show screen blktone - with d3 - ">Hermione's second {i}favour tier{/i} is now available." - ">You can move up {i}favour tiers{/i} by increasing her {i}whoring level{/i}, and by triggering {i}favour milestones{/i}." - ">Each tier unlocks a new set of favours, but favours of the previous tier will no longer be available." - hide screen blktone - with d3 - pause.5 menu: "Would you like to increase Hermione's {i}favour tier{/i} now?" "-Yes, increase her tier-": @@ -167,175 +134,158 @@ label hermione_level_up(tier=None): gen "(I'm dying to feel that mouth around my cock!)" ("angry", xpos="far_left", ypos="head") elif tier == 5: gen "(Yes, I think it's time...)" ("base", xpos="far_left", ypos="head") - gen "(I'm gonna put my \"P\" in her \"V\"!)" ("angry", xpos="far_left", ypos="head") + gen "(I'm gonna put my \"P\" in her \"V\"!)" ("grin", xpos="far_left", ypos="head") - $ her_tier = tier+1 + $ states.her.tier = tier+1 $ her_level_up = None - $ her_mood = 0 + $ states.her.mood = 0 pause.5 - call nar(_(">Hermione has reached {i}favour tier{/i} "+str(her_tier)+"!")) + nar "Hermione has reached {i}favour tier{/i} [states.her.tier]!" call update_her_tier return label hermione_favor_menu: - call update_her_favors - call update_her_requests if not is_in_lead(gryffindor): - label silver_requests_root: + label .skip_points_check: + + if her_level_up != None: + call tutorial("milestones") + menu: "-Level Up-" (icon="interface/icons/small/levelup.webp") if her_level_up != None: call hermione_level_up(tier=her_level_up) jump hermione_favor_menu "-Personal favours-" (icon="interface/icons/small/heart_red.webp"): + label .favors: + call tutorial("hearts") - label .personal: - python: - menu_choices = [] - for i in hg_favor_list: - if i in []: # Not in the game yet. - menu_choices.append(gui.menu_item(_("-Not available-"), "na", style="disabled")) - elif i.start_tier > her_tier: - menu_choices.append(gui.menu_item(_("-Not Ready-"), "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) + $ result = show_events_menu(hermione_favors) - menu_choices.append((_("-Never mind-"), "nvm")) - result = renpy.display_menu(menu_choices) - - if result == "nvm": - jump silver_requests_root - elif result == "vague": - call favor_not_ready - jump .personal - elif result == "na": - call not_available - jump .personal + if result in ("disabled", "noncompliant"): + "You haven't unlocked this favour opportunity yet." + jump .favors + elif result == "exit": + jump .skip_points_check else: - $ renpy.jump(result) + $ result.start() "-Public requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime: - call nar(_(">Public requests are available during the day only.")) - jump silver_requests_root + nar "Public requests are available during the day only." + jump .skip_points_check "-Public requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime: - if her_reputation >= 16 and not public_whore_ending: + label .requests: + + if states.her.public_level >= 16 and not "public" in states.her.ev.yule_ball.variant: # Public whore ending choice $ renpy.choice_for_skipping() $ renpy.music.set_volume(0.5, 1.0) - nar "Attention!{w=1.0} If you continue tarnishing Hermione's reputation you will lock yourself towards certain game ending. (Public route)" + nar "Attention!{w=1.0} If you continue tarnishing Hermione's reputation, you will lock yourself towards a certain game ending. (Public route)" menu: nar "Do you wish to continue?\n{size=-4}(You won't be asked again){/size}" "Yes, I do.": $ renpy.music.set_volume(1.0, 1.0) - $ public_whore_ending = True + $ states.her.ev.yule_ball.variant = "public" "No, go back.": $ renpy.music.set_volume(1.0, 1.0) - jump silver_requests_root + jump .skip_points_check - label .public: - python: - menu_choices = [] - for i in hg_requests_list: - if i in []: # Not in the game yet. - menu_choices.append(gui.menu_item(_("-Not available-"), "na", style="disabled")) - elif i.start_tier > her_tier: - menu_choices.append(gui.menu_item(_("-Not Ready-"), "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) + $ result = show_events_menu(hermione_requests) - menu_choices.append((_("-Never mind-"), "nvm")) - result = renpy.display_menu(menu_choices) - - if result == "nvm": - jump silver_requests_root - elif result == "vague": - call favor_not_ready - jump .public - elif result == "na": - call not_available - jump .public + if result in ("disabled", "noncompliant"): + "You haven't unlocked this request opportunity yet." + jump .requests + elif result == "exit": + jump .skip_points_check else: - $ renpy.jump(result) + $ result.start() - "-Public Shaming-" (icon="interface/icons/small/star_pink.webp", style="disabled") if not game.daytime: - call nar(_(">Public Shaming events are available during the day only.")) - jump silver_requests_root + "-Odd Jobs-" (icon="interface/icons/small/gold.webp") if game.daytime: + label .odd_jobs: - "-Public Shaming-" (icon="interface/icons/small/star_pink.webp")if game.daytime: - label not_now_ps: - python: - menu_choices = [] - for i in hg_ps_list: - if i.tier > her_tier: - menu_choices.append(gui.menu_item("-Vague idea-", "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) - menu_choices.append((_("-Never mind-"), "nvm")) - result = renpy.display_menu(menu_choices) + $ result = show_events_menu(hermione_jobs, report_progress=False) - if result == "nvm": - jump silver_requests_root - elif result == "vague": - call favor_not_ready - jump not_now_ps + if result in ("disabled", "noncompliant"): + "You haven't unlocked this job opportunity yet." + jump .odd_jobs + elif result == "exit": + jump .skip_points_check else: - $ renpy.jump(result) + $ result.start() + + "-Odd Jobs-" (icon="interface/icons/small/gold.webp", style="disabled") if not game.daytime: + nar "Public requests are available during the day only." + jump .skip_points_check "-Never mind-": jump hermione_requests else: - if hermione_favors_convinced: + if states.her.favors_convinced_stage: her "We're in the lead already..." ("base", "base", "base", "mid_soft", trans=d3) - if her_whoring >=20 and hermione_favors_convinced == 2: - her "But I'll do anything for you, [genie_name]..." ("smile", "happy", "base", "mid") - jump silver_requests_root - elif her_whoring >=18 and hermione_favors_convinced == 2: - her "I guess you do have a way with words,[genie_name]... I'll do it." ("soft", "wink", "base", "mid") - jump silver_requests_root - elif her_whoring >=16: - her "I have told you before, [genie_name], it was just a one time thing..." ("open", "happy", "base", "mid") + if states.her.level >=22 and states.her.favors_convinced_stage == 2: + random: + her "But I'll do anything for you, [name_genie_hermione]..." ("smile", "happy", "base", "mid") + her "But if you really need it, I may as well..." ("smile", "happy", "base", "mid") + her "But I'll do it anyway..." ("smile", "happy", "base", "mid") + jump .skip_points_check + elif states.her.level >=20 and states.her.favors_convinced_stage == 2: + random: + her "But an even bigger lead wouldn't hurt, I suppose..." ("base", "happy", "base", "mid") + her "But since you've been helping me earn points for my house, I'll do it anyway..." ("base", "happy", "base", "mid") + her "But since I'm already here, I might as well do it..." ("base", "happy", "base", "mid") + jump .skip_points_check + elif states.her.level >=18 and states.her.favors_convinced_stage == 2: + random: + her "Although, considering what you said before... I'll do it anyway." ("soft", "wink", "base", "mid") + her "Although, I suppose another house may catch up... Okay, I'll do it." ("soft", "wink", "base", "mid") + her "Although, an ever bigger lead would really show the Slytherins which house is the best." ("base", "wink", "base", "mid") + jump .skip_points_check + elif states.her.level >=16: + her "I have told you before, [name_genie_hermione], it was just a one time thing..." ("open", "happy", "base", "mid") gen "What about tomorrow though?" ("base", xpos="far_left", ypos="head") her "What about tomorrow?" ("base","squint", "base", "mid") - gen "I made a graph detailing the current daily average points Slytherin gain... doesn't look that great." ("grin", xpos="far_left", ypos="head") + gen "I made a graph detailing the current daily average points Slytherin gain... It doesn't look that great." ("grin", xpos="far_left", ypos="head") gen "Just think about it." ("base", xpos="far_left", ypos="head") - jump hermione_favors_convinced_check + jump .convinced else: her "The Gryffindor house is in the lead. I don't need to do this." ("base", "base", "base", "mid_soft", trans=d3) - if her_whoring >= 15: + if states.her.level >= 15: menu: "-Change her mind-": gen "Are you sure it's not within your house best interests?" ("base", xpos="far_left", ypos="head") her "What do you mean?" ("soft", "happy", "base", "mid") gen "Think about the future..." ("grin", xpos="far_left", ypos="head") - label hermione_favors_convinced_check: - if her_whoring >=20: - gen "If you do it now it could secu--" ("base", xpos="far_left", ypos="head") + + label .convinced: + + if states.her.level >=20: + gen "If you do it now it could secure--" ("base", xpos="far_left", ypos="head") her "I'll do it!" ("angry", "happy", "base", "mid") gen "Just like that?!" ("base", xpos="far_left", ypos="head") - her "Yes... just like that." ("base", "closed", "base", "mid") + her "Yes... Just like that." ("base", "closed", "base", "mid") gen "That's my girl!" ("grin", xpos="far_left", ypos="head") - $ hermione_favors_convinced = 2 - jump silver_requests_root + $ states.her.favors_convinced_stage = 2 + jump .skip_points_check - gen "If you do it, you could secure the win for you household you know..." ("base", xpos="far_left", ypos="head") + gen "If you do it, you could secure the win for your house you know..." ("base", xpos="far_left", ypos="head") - if her_whoring >=18: - her "You really know how to talk me through, [genie_name]." ("soft", "narrow", "worried", "down") + if states.her.level >=18: + her "You really know how to talk me through, [name_genie_hermione]." ("soft", "narrow", "worried", "down") her "Okay I agree." ("open", "narrow", "base", "down") - $ hermione_favors_convinced = 2 - jump silver_requests_root - elif her_whoring >=16 and not hermione_favors_convinced == 1: + $ states.her.favors_convinced_stage = 2 + jump .skip_points_check + elif states.her.level >=16 and not states.her.favors_convinced_stage == 1: her "I guess you're right..." ("open", "happy", "base", "mid_soft") - her "I'll do it... but just this once okay?" ("grin", "happyCl", "base", "mid") - $ hermione_favors_convinced = 1 - jump silver_requests_root + her "I'll do it... But just this once okay?" ("grin", "happyCl", "base", "mid") + $ states.her.favors_convinced_stage = 1 + jump .skip_points_check else: her "I could..." ("soft", "narrow", "base", "mid_soft") her "But I don't want to." ("normal", "closed", "base", "mid") @@ -343,17 +293,17 @@ label hermione_favor_menu: "-Forget it-": pass else: - if sna_friendship <= 10: - gen "What do you mean in the lead?" ("base", xpos="far_left", ypos="head") - gen "Explain yourself, [hermione_name]!" ("angry", xpos="far_left", ypos="head") + if states.sna.level <= 10: + gen "What do you mean \"in the lead\"?" ("base", xpos="far_left", ypos="head") + gen "Explain yourself, [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") her "With the current points distribution, I am certain getting the house cup for Gryffindor will be just a formality." ("smile", "closed", "base", "mid") - her "Thank you, [genie_name], but I don't need any more points." ("smile", "base", "base", "mid") + her "Thank you, [name_genie_hermione], but I don't need any more points." ("smile", "base", "base", "mid") call tutorial("points") gen "(That little...)" ("angry", xpos="far_left", ypos="head") gen "(Perhaps I should hangout with that Snape dude tonight, he might know what to do.)" ("base", xpos="far_left", ypos="head") - her "Do you need anything else, [genie_name]?" ("smile", "base", "base", "mid") + her "Do you need anything else, [name_genie_hermione]?" ("smile", "base", "base", "mid") else: gen "Right..." ("base", xpos="far_left", ypos="head") @@ -362,18 +312,22 @@ label hermione_favor_menu: gen "(I guess another hangout with Snape is in order.)" ("base", xpos="far_left", ypos="head") jump hermione_requests - -label update_her_favors: +label update_her_tier: python: - for i in hg_favor_list: - i.tier = her_tier - - return - - -label update_her_requests: - python: - for i in hg_requests_list: - i.tier = her_tier + if states.her.tier == 1 and states.her.level >= 3: + # Trigger: None + her_level_up = 1 + elif states.her.tier == 2 and states.her.level >= 9 and states.her.status.voyer == True: + # Trigger: Caught/saw Genie masturbate for the first time. + her_level_up = 2 + elif states.her.tier == 3 and states.her.level >= 12 and states.her.status.stripping == True: + # Trigger: After she has stripped completely for Genie. + her_level_up = 3 + elif states.her.tier == 4 and states.her.level >= 18 and states.her.ev.give_me_a_handy.cock_kiss == True: + # Trigger: Kissed Genie's dick during HJ favour. + her_level_up = 4 + elif states.her.tier == 5 and states.her.level >= 21 and states.her.status.blowjob == True: + # Trigger: First BJ + her_level_up = 5 return diff --git a/game/scripts/characters/hermione/talk.rpy b/game/scripts/characters/hermione/talk.rpy index 6c11a600..f4571059 100644 --- a/game/scripts/characters/hermione/talk.rpy +++ b/game/scripts/characters/hermione/talk.rpy @@ -1,252 +1,197 @@ label hermione_talk: menu: - "-Working-" (icon="interface/icons/small/gold.webp") if hermione_favors: - label working_menu: - menu: - "-Work as a maid-" if game.daytime and her_outfit_maid.unlocked: - jump job_1 - - "-Work as a maid-" (style="disabled") if game.daytime and not her_outfit_maid.unlocked: - gen "(I'll need an outfit for hermione if I want her to work.)" ("base", xpos="far_left", ypos="head") - jump working_menu - - "-Work as a maid-" (style="disabled") if not game.daytime: - "This job is only available during the day." - jump working_menu - - #"-Work as a cheerleader for Gryffindor-" if game.daytime and (hg_cheer_g_ITEM.unlocked or hg_cheer_g_sexy_ITEM.unlocked): - #jump job_3 - - #"-Work as a cheerleader for Gryffindor-" if game.daytime and not (hg_cheer_g_ITEM.unlocked or hg_cheer_g_sexy_ITEM.unlocked): - #gen "(I'll need an outfit for hermione if I want her to work.)" ("base", xpos="far_left", ypos="head") - #jump working_menu - - #"-Work as a cheerleader for Gryffindor-" (style="disabled") if not game.daytime: - #"This job is only available during the day." - #jump working_menu - - #"-Work as a cheerleader for Slytherin-" if game.daytime and (hg_cheer_s_ITEM.unlocked or hg_cheer_s_sexy_ITEM.unlocked): - #jump job_4 - - #"-Work as a cheerleader for Slytherin-" if game.daytime and not (hg_cheer_s_ITEM.unlocked or hg_cheer_s_sexy_ITEM.unlocked): - #gen "(I'll need a slytherin cheerleader outfit for hermione if I want her to work.)" ("base", xpos="far_left", ypos="head") - #jump working_menu - - #"-Work as a cheerleader for Slytherin-" (style="disabled") if not game.daytime: - #"This job is only available during the day." - #jump working_menu - - "-Hidden-" (style="disabled") if game.daytime and not cardgame_work and not her_outfit_poker.unlocked: - "You haven't unlocked this job opportunity yet." - jump working_menu - - "-Work by advertising the card game-" if game.daytime and cardgame_work and her_outfit_poker.unlocked: - jump job_5 - - "-Work by advertising the card game-" (style="disabled") if game.daytime and cardgame_work and not her_outfit_poker.unlocked: - gen "(I'll need an outfit for hermione if I want her to work.)" ("base", xpos="far_left", ypos="head") - gen "(Maybe the twins have something fitting for her in their stock.)" ("base", xpos="far_left", ypos="head") - jump working_menu - - "-Work by advertising the card game-" (style="disabled") if not game.daytime and cardgame_work: - "This job is only available during the day." - jump working_menu - - "-Never mind-": - jump hermione_talk - ### Astoria ### - "-Ask her to help Tonks-" (icon="interface/icons/small/tonks.webp") if astoria_intro.E1_complete and not astoria_intro.E3_complete: - if astoria_intro.E2_hermione: - her "I'm still looking for that student, [genie_name]!" ("open", "closed", "base", "mid") + "-Ask her to help Tonks-" (icon="interface/icons/small/tonks.webp") if states.ast.ev.intro.e1_complete and not states.ast.ev.intro.e3_complete: + if states.ast.ev.intro.e2_ask_hermione: + her "I'm still looking for that student, [name_genie_hermione]!" ("open", "closed", "base", "mid") her "Trust in me, I will find that Slytherin scum!" ("angry", "base", "angry", "mid") jump hermione_talk - $ hermione_busy = True - $ astoria_intro.E2_hermione = True + $ states.her.busy = True + $ states.ast.ev.intro.e2_ask_hermione = True $ ag_event_pause = 2 jump astoria_intro_E2_hermione ### Cho ### - "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp", style="disabled") if cho_intro.E2_complete and not ss_he.cho_E1: + "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp", style="disabled") if states.cho.ev.intro.e2_complete and not states.sna.ev.hangouts.cho_e1: # Before talking to Snape. gen "(I should ask Snape what to do about that Cho girl first. Just to be safe.)" ("base", xpos="far_left", ypos="head") gen "(Might as well have a drink with him...)" ("base", xpos="far_left", ypos="head") jump hermione_talk - "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp") if ss_he.cho_E1 and not cho_intro.E3_complete: + "-Solve the matter with Cho-" (icon="interface/icons/small/cho.webp") if states.sna.ev.hangouts.cho_e1 and not states.cho.ev.intro.e4_complete: # After talking to Snape. jump cho_intro_E3 - "-Ask her to commentate the game-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 1 and cho_quid.E3_complete and not cho_quid.E4_complete: + "-Ask her to commentate the game-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 1 and states.cho.ev.quidditch.e3_complete and not states.cho.ev.quidditch.e4_complete: jump cho_quid_E4 - "-Ask her to commentate the game-\n{size=-5}again...{/size}" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.E6_complete and not cho_quid.E7_complete: + "-Ask her to commentate the game-\n{size=-5}again...{/size}" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e7_complete: jump cho_quid_E7 # General. "-Address me only as-": menu: "-Sir-": - $ genie_name = _("Sir") + $ name_genie_hermione = "Sir" jump genie_change "-Dumbledore-": - $ genie_name = _("Dumbledore") + $ name_genie_hermione = "Dumbledore" jump genie_change "-Professor-": - $ genie_name = _("Professor") + $ name_genie_hermione = "Professor" jump genie_change "-Old man-": - $ genie_name = _("Old man") + $ name_genie_hermione = "Old man" jump genie_change "-Genie-": - if her_whoring >=5: - $ genie_name = _("Genie") + if states.her.level >=5: + $ name_genie_hermione = "Genie" jump genie_change else: jump genie_change_fail "-My Lord-": - if her_whoring >=7: - $ genie_name = _("My Lord") + if states.her.level >=7: + $ name_genie_hermione = "My Lord" jump genie_change else: jump genie_change_fail "-Darling-": - if her_whoring >=10: - $ genie_name = _("Darling") + if states.her.level >=10: + $ name_genie_hermione = "Darling" jump genie_change else: jump genie_change_fail "-Lord Voldemort-": - if her_whoring >=15: - $ genie_name = _("Lord Voldemort") + if states.her.level >=15: + $ name_genie_hermione = "Lord Voldemort" jump genie_change else: jump genie_change_fail "-Daddy-": - if her_whoring >=19: - $ genie_name = _("Daddy") + if states.her.level >=19: + $ name_genie_hermione = "Daddy" $ achievements.unlock("daddy") jump genie_change else: jump genie_change_fail "-Master-": - if her_whoring >=20: - $ genie_name = _("Master") + if states.her.level >=20: + $ name_genie_hermione = "Master" jump genie_change else: jump genie_change_fail "-Custom Input-": - $ temp_name = renpy.input(_("(Please enter the name.)"), genie_name, ALLOWED_CHARACTERS, length=14) + $ temp_name = renpy.input("(Please enter the name.)", name_genie_hermione, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name == "": jump hermione_talk - if her_whoring >=20: - $ genie_name = temp_name + if states.her.level >=20: + $ name_genie_hermione = temp_name jump genie_change else: jump genie_change_fail "-Never mind-": jump hermione_talk - "-From now on I will refer to you as-": + "-From now on, I will refer to you as-": menu: "-Miss Granger-": - $ temp_name = _("Miss Granger") + $ temp_name = "Miss Granger" jump hermione_change "-Hermione-": - $ temp_name = _("Hermione") + $ temp_name = "Hermione" jump hermione_change "-Girl-": - $ temp_name = _("Girl") - if her_whoring >=1: + $ temp_name = "Girl" + if states.her.level >=1: jump hermione_change else: jump hermione_change_fail "-Nerd-": - $ temp_name = _("Nerd") - if her_whoring >=3: + $ temp_name = "Nerd" + if states.her.level >=3: jump hermione_change else: jump hermione_change_fail "-Hottie-": - $ temp_name = _("Hottie") - if her_whoring >=5: + $ temp_name = "Hottie" + if states.her.level >=5: jump hermione_change else: jump hermione_change_fail "-Angel-": - $ temp_name = _("Angel") - if her_whoring >=7: + $ temp_name = "Angel" + if states.her.level >=7: jump hermione_change else: jump hermione_change_fail "-Minx-": - $ temp_name = _("Minx") - if her_whoring >=9: + $ temp_name = "Minx" + if states.her.level >=9: jump hermione_change else: jump hermione_change_fail "-Princess-": - $ temp_name = _("Princess") - if her_whoring >=11: + $ temp_name = "Princess" + if states.her.level >=11: jump hermione_change else: jump hermione_change_fail "-Pet-": - $ temp_name = _("Pet") - if her_whoring >=11: + $ temp_name = "Pet" + if states.her.level >=11: jump hermione_change else: jump hermione_change_fail "-Bitch-": - $ temp_name = _("Bitch") - if her_whoring >=13: + $ temp_name = "Bitch" + if states.her.level >=15: jump hermione_change else: jump hermione_change_fail "-Slut-": - $ temp_name = _("Slut") - if her_whoring >=15: + $ temp_name = "Slut" + if states.her.level >=19: jump hermione_change else: jump hermione_change_fail "-Cumslut-": - $ temp_name = _("Cumslut") - if her_whoring >= 17: + $ temp_name = "Cumslut" + if states.her.level >= 19: jump hermione_change else: jump hermione_change_fail "-Slytherin Whore-": - $ temp_name = _("Slytherin Whore") - if her_whoring >= 19: + $ temp_name = "Slytherin Whore" + if states.her.level >= 22: jump hermione_change else: jump hermione_change_fail "-Mudblood-": - $ temp_name = _("Mudblood") - if her_whoring >= 21: + $ temp_name = "Mudblood" + if states.her.level >= 22 and states.her.status.sex: jump hermione_change else: jump hermione_change_fail "-Custom Input-": - $ temp_name = renpy.input(_("(Please enter the name.)"), hermione_name, ALLOWED_CHARACTERS, length=14) + $ temp_name = renpy.input("(Please enter the name.)", name_hermione_genie, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name == "": jump hermione_talk - if her_whoring >=21: - $ hermione_name = temp_name + if states.her.level >=21: + $ name_hermione_genie = temp_name jump hermione_change else: jump hermione_change_fail "-Never mind-": jump hermione_talk - "-Give her the ball dress-" if ball_quest.E4_complete and ball_outfit_ITEM.owned > 0 and not ball_quest.gave_dress: + "-Give her the ball dress-" if states.her.ev.yule_ball.e4_complete and ball_outfit_ITEM.owned > 0 and not states.her.ev.yule_ball.gave_dress: jump ball_quest_E5 - "-Start the autumn ball-" if ball_quest.gave_dress and not ball_quest.started: + "-Start the autumn ball-" if states.her.ev.yule_ball.gave_dress and not states.her.ev.yule_ball.started: jump ball_ending_start "-Never mind-": @@ -254,7 +199,87 @@ label hermione_talk: label genie_change: - her "Okay, from now on I'll call you [genie_name]." ("base", "base", "base", "mid") + # NickName responses + if name_genie_hermione == "Sir": + if states.her.level < 19: + random: + her "Certainly, [name_genie_hermione]." ("base", "base", "base", "mid") + her "Yes, [name_genie_hermione]." ("base", "base", "base", "mid") + her "Of course, [name_genie_hermione]." ("base", "base", "base", "mid") + else: + her "Do I really have to be so formal, [name_genie_hermione]?" ("annoyed", "happy", "base", "mid") + her "...{w=0.4} Alright then." ("open", "happy", "base", "mid") + elif name_genie_hermione == "Dumbledore": + if states.her.level < 3: + her "You'd like me to call you...{w=0.4} [name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "That's my name...{w=0.4} Right?" ("base", xpos="far_left", ypos="head") + her "Yes, but...{w=0.4} You're a teacher." ("angry", "base", "base", "mid") + gen "So?" ("base", xpos="far_left", ypos="head") + her "Well...{w=0.4} I just figured...{w=0.4} Alright then..." ("soft", "squint", "base", "R") + else: + her "Of course, [name_genie_hermione]." ("base", "base", "base", "mid") + elif name_genie_hermione == "Professor": + her "Certainly, [name_genie_hermione]." ("base", "base", "base", "mid") + elif name_genie_hermione == "Old man": + her "Old man?" ("soft", "base", "base", "mid") + gen "That's right." ("base", xpos="far_left", ypos="head") + her "Okay then, if you say so..." ("base", "base", "base", "mid") + elif name_genie_hermione == "Genie": + her "Why, [name_genie_hermione]?" ("soft", "base", "base", "mid") + gen "Because that's my--" ("base", xpos="far_left", ypos="head") + gen "*Err*..." ("angry", xpos="far_left", ypos="head") + gen "Because the main role of a headmaster is to grant the wishes of their students!" ("grin", xpos="far_left", ypos="head") + her "..." ("soft", "happy", "base", "mid") + gen "Don't you reckon it'd be a fitting nickname?" ("base", xpos="far_left", ypos="head") + her "Isn't the primary responsibility of the headmaster to prepare students for life after school and to ensure their overall well-being?" ("open", "base", "base", "mid") + gen "Well, you could say that I've ensured your well-being by granting your wish to earn points for your house..." ("base", xpos="far_left", ypos="head") + her "I guess...{w=0.4} Although--" ("disgust", "base", "base", "mid") + gen "Although I suppose compared to a genie, I could always change my mind..." ("base", xpos="far_left", ypos="head") + her "Well, since you'd never do that, then I suppose calling you [name_genie_hermione] would be fitting!" ("angry", "closed", "worried", "mid") + gen "Yes! That's what I thought!" ("base", xpos="far_left", ypos="head") + elif name_genie_hermione == "My Lord": + if states.her.level < 13: + her "*Hmm*... Well, I suppose you're technically a high-ranking member of an institution..." ("soft", "base", "base", "R") + gen "A befitting title, is it not?" ("base", xpos="far_left", ypos="head") + her "But, is it not a bit...{w=0.4} Old fashioned?" ("open", "base", "base", "mid") + gen "Just because it's old...{w=0.4} I mean...{w=0.4} Well, I like it, okay?" ("base", xpos="far_left", ypos="head") + her "I see... If you say so, [name_genie_hermione]." ("base", "base", "base", "mid") + elif states.her.level < 22: + her "If you say so, [name_genie_hermione]." ("base", "base", "base", "mid") + else: + her "Of course, [name_genie_hermione]..." ("base", "base", "base", "mid") + elif name_genie_hermione == "Darling": + if states.her.level < 13: + her "[name_genie_hermione]?!" ("angry", "base", "base", "stare") + gen "That's right... Unless, you think I'm not important to you?" ("base", xpos="far_left", ypos="head") + her "I... Well, I suppose..." ("disgust", "base", "base", "stare") + elif states.her.level < 19: + her "[name_genie_hermione]..." ("soft", "narrow", "base", "down") + her "Alright then..." ("base", "narrow", "base", "down") + else: + her "Yes, [name_genie_hermione]..." ("base", "base", "base", "mid") + elif name_genie_hermione == "Lord Voldemort": + her "You want me to call you--" ("angry", "base", "base", "stare") + her "I was under the impression that witches and wizards usually avoided mentioning that name." ("angry", "base", "base", "mid") + gen "Is that so?" ("base", xpos="far_left", ypos="head") + her "From what I've read--" ("open", "closed", "base", "mid") + gen "You shall not use the lord's name in vain?" ("base", xpos="far_left", ypos="head") + her "*Huh*?" ("disgust", "base", "base", "mid") + gen "I'm sure using it's fine, as long as you're not being disrespectful..." ("base", xpos="far_left", ypos="head") + her "I... Alright then..." ("disgust", "happy", "base", "mid") + elif name_genie_hermione == "Daddy": + if states.her.level < 22: + her "*Ehm*... Of course, [name_genie_hermione]." ("disgust", "happy", "base", "down") + else: + her "Yes, [name_genie_hermione]." ("base", "base", "base", "mid") + elif name_genie_hermione == "Master": + if states.her.level < 22: + her "[name_genie_hermione]..." ("soft", "narrow", "base", "down") + her "Alright then..." ("base", "narrow", "base", "down") + else: + her "Yes, [name_genie_hermione]..." ("base", "base", "base", "mid") + else: + her "Okay, from now on, I'll call you [name_genie_hermione]." ("base", "base", "base", "mid") jump hermione_talk label genie_change_fail: @@ -263,111 +288,96 @@ label genie_change_fail: label hermione_change: if temp_name == "Miss Granger": - if her_whoring <=0: - her "Sure, [genie_name]." ("base", "base", "base", "mid") + if states.her.level <=0: + random: + her "Sure, [name_genie_hermione]." ("base", "base", "base", "mid") + her "Of course, [name_genie_hermione]." ("base", "base", "base", "mid") else: - her "You don't have to be so formal, [genie_name], you know?" ("base", "closed", "base", "mid") + her "You don't have to be so formal, [name_genie_hermione], you know?" ("base", "closed", "base", "mid") her "" ("base", "base", "base", "mid") elif temp_name == "Hermione": - her "Of course [genie_name]." ("base", "base", "base", "mid") + her "Of course, [name_genie_hermione]." ("base", "base", "base", "mid") elif temp_name == "Girl": - if her_whoring >=1 and her_whoring < 3: - her "This girl thing again?" ("annoyed", "happy", "base", "mid") - her "*sigh*..." ("soft", "happy", "base", "R") - elif her_whoring >=3: - her "Fine... I don't mind." ("soft", "base", "base", "R") + if states.her.level < 3: + her "This \"girl\" thing again?" ("annoyed", "happy", "base", "mid") + her "*Sigh*..." ("soft", "happy", "base", "R") + elif states.her.level < 13: + her "Fine...{w=0.4} I don't mind." ("soft", "base", "base", "R") + else: + her "Of course..." ("soft", "base", "base", "R") elif temp_name == "Nerd": - if her_whoring >=3 and her_whoring < 5: - her "*sigh* I just enjoy books, that's all." ("annoyed", "narrow", "worried", "down") + if states.her.level < 5: + her "*Sigh*...{w=0.4} I just enjoy books, that's all." ("annoyed", "narrow", "worried", "down") gen "I'm sure you'll find other things to enjoy soon enough..." ("base", xpos="far_left", ypos="head") her "Like what exactly?" ("normal", "narrow", "base", "mid_soft") gen "Nothing to worry about, things will work out..." ("base", xpos="far_left", ypos="head") gen "Nerd..." ("grin", xpos="far_left", ypos="head") - her "*tsk* ..." ("soft", "narrow", "base", "R_soft") + her "*Tsk* ..." ("soft", "narrow", "base", "R_soft") her "" ("normal", "narrow", "base", "R_soft") - elif her_whoring >= 5 and her_whoring < 19: - her "I can be a bit nerdy sometimes I suppose.." ("angry", "happyCl", "base", "mid", emote="sweat") + elif states.her.level < 19: + her "I can be a bit nerdy sometimes I suppose..." ("angry", "happyCl", "base", "mid", emote="sweat") her "" ("base", "base", "base", "mid") - elif her_whoring >= 19: + else: her "I don't read as much as I used to anymore." ("grin", "narrow", "base", "R_soft", emote="sweat") her "" ("base", "narrow", "base", "mid_soft") elif temp_name == "Hottie": - if her_whoring >=5 and her_whoring < 7: - her "[genie_name]?!" ("angry", "wide", "angry", "mid", cheeks="blush") + if states.her.level < 7: + her @ cheeks blush "[name_genie_hermione]?!" ("angry", "wide", "angry", "mid") gen "What? That's true, you're hot." ("base", xpos="far_left", ypos="head") - her "That's inappropriate." ("annoyed", "base", "worried", "R", cheeks="blush") + her @ cheeks blush "That's inappropriate." ("annoyed", "base", "worried", "R") her "But I'll let it slide, I guess." - elif her_whoring >=7 and her_whoring < 19: - her "Thank you, [genie_name]." ("soft", "wink", "base", "mid") + elif states.her.level < 19: + her "Thank you, [name_genie_hermione]." ("soft", "wink", "base", "mid") her "" ("normal", "base", "base", "mid") - elif her_whoring >=19: - her "... Glad you think so." ("smile", "wink", "base", "mid", cheeks="blush") - her "" ("base","happy", "base", "mid", cheeks="blush") - elif temp_name == "Good Girl": - if her_whoring >=5 and her_whoring < 7: - her "Well, I do try my best, [genie_name]." ("base", "closed", "base", "mid") - her "" ("base", "base", "base", "mid") - elif her_whoring >=7 and her_whoring < 19: + else: + her @ cheeks blush "... Glad you think so." ("smile", "wink", "base", "mid") + her @ cheeks blush "" ("base","happy", "base", "mid") + elif temp_name == "Good Girl": #Custom nickname (21+) + if states.her.level <=23: her "I'm not sure if I'd qualify, but fine." ("annoyed", "wink", "base", "mid") her "" ("normal", "base", "base", "mid") - elif her_whoring >=19: - her "I could act like a good girl if you really want me to..." ("smile", "wink", "base", "mid", cheeks="blush") - her "" ("base","happy", "base", "mid", cheeks="blush") + else: + her @ cheeks blush "I'm not sure that's true..." ("soft", "narrow", "base", "mid") + her @ cheeks blush "But I could act like a good girl if you really want me to..." ("smile", "wink", "base", "mid") + her @ cheeks blush "" ("base","happy", "base", "mid") elif temp_name == "Angel": - if her_whoring >=7 and her_whoring < 9: + if states.her.level < 9: her "What's going on with these silly nicknames of yours all of a sudden?" ("normal", "squint", "angry", "mid") gen "What do you mean by silly?" ("base", xpos="far_left", ypos="head") - her "Ugh, forget I said anything..." ("open", "narrow", "base", "down",cheeks="blush") - her "" ("normal", "base", "base", "R", cheeks="blush") - elif her_whoring >=9 and her_whoring < 19: - her "I like it..." ("soft", "narrow", "base", "R_soft",cheeks="blush") - her "" ("base", "narrow", "base", "R_soft",cheeks="blush") - elif her_whoring >= 19: - her "I'm surprised I didn't grow wings yet." ("base", "narrow", "worried", "mid_soft",cheeks="blush") - elif temp_name == "Little Girl": - if her_whoring >=7 and her_whoring < 9: - her "What's going on with these silly nicknames of yours all of a sudden?" ("normal", "squint", "angry", "mid") - gen "What do you mean by silly?" ("base", xpos="far_left", ypos="head") - her "It makes it sound as if I'm your..." ("soft", "base", "worried", "R") - her "Ugh, forget I said anything..." ("open", "narrow", "base", "down",cheeks="blush") - her "" ("normal", "base", "base", "R", cheeks="blush") - elif her_whoring >=9 and her_whoring < 19: - her "Bit of an odd request but..." ("normal", "narrow", "base", "down") - her "I like it..." ("soft", "narrow", "base", "R_soft",cheeks="blush") - her "" ("base", "narrow", "base", "R_soft",cheeks="blush") - elif her_whoring >= 19: - her "Yes, [genie_name]." ("base", "narrow", "worried", "mid_soft",cheeks="blush") - elif temp_name == "Bad Girl": - if her_whoring >=9 and her_whoring < 11: - her "I guess I am a bit." ("soft", "narrow", "worried", "down") - her "I did fail that test after all..." ("disgust", "narrow", "base", "down") - her "" ("normal", "narrow", "worried", "mid_soft") - her "" ("normal", "base", "base", "mid") - elif her_whoring >=11 and her_whoring < 17: - her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") - elif her_whoring >=17: - her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") - her "" ("base", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "*Ugh*... forget I said anything..." ("open", "narrow", "base", "down") + her @ cheeks blush "" ("normal", "base", "base", "R") + elif states.her.level < 19: + her @ cheeks blush "I like it..." ("soft", "narrow", "base", "R_soft") + her @ cheeks blush "" ("base", "narrow", "base", "R_soft") + else: + her @ cheeks blush "After everything you've put me through, I certainly must be..." ("base", "narrow", "base", "R_soft") + her @ cheeks blush "I'm surprised I didn't grow wings yet." ("base", "narrow", "worried", "mid_soft") + elif temp_name == "Little Girl": #Custom nickname (21+) + her @ cheeks blush "Little...{w=0.4} Girl..." ("soft", "narrow", "worried", "mid_soft") + her @ cheeks blush "Yes, [name_genie_hermione]..." ("base", "narrow", "worried", "mid_soft") + elif temp_name == "Bad Girl": #Custom nickname (21+) + her @ cheeks blush "I suppose I may be a little bit naughty at times." ("base", "happy", "base", "R") + her @ cheeks blush "" ("base", "base", "base", "mid") elif temp_name == "Minx": - if her_whoring >=9 and her_whoring < 11: + if states.her.level < 15: her "I guess I am a bit." ("soft", "narrow", "worried", "down") her "" ("normal", "narrow", "worried", "mid_soft") - elif her_whoring >=11 and her_whoring < 17: - her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") - elif her_whoring >=17: - her "I may be a little bit naughty at times." ("base", "happy", "base", "R",cheeks="blush") - her "" ("base", "base", "base", "mid", cheeks="blush") + elif states.her.level < 19: + her @ cheeks blush "I may be a little bit naughty at times." ("base", "happy", "base", "R") + else: + her @ cheeks blush "I may be a little bit naughty at times." ("base", "happy", "base", "R") + her @ cheeks blush "" ("base", "base", "base", "mid") elif temp_name == "Princess": - if her_whoring >= 11 and her_whoring < 13: - her "That would make you my prince wouldn't it?" ("open", "base", "base", "R",cheeks="blush") - her "" ("base", "base", "base", "mid", cheeks="blush") - elif her_whoring >= 13: - her "Yes... My prince." ("smile","happy", "base", "mid") + if states.her.level < 15: + her @ cheeks blush "That would make you my prince, wouldn't it?" ("open", "base", "base", "R") + her @ cheeks blush "" ("base", "base", "base", "mid") + else: + her "Yes...{w=0.4} My prince." ("smile","happy", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - her "I-I mean, [genie_name]." ("smile", "happyCl", "base", "mid", emote="sweat") + her "I--{w=0.2} I mean, [name_genie_hermione]." ("smile", "happyCl", "base", "mid", emote="sweat") her "" ("base", "base", "base", "mid") elif temp_name == "Pet": - if her_whoring >= 11 and her_whoring < 13: + if states.her.level < 15: her "You want to call me....{w=0.5} a pet?" ("normal", "squint", "angry", "mid") gen "Yes." ("base", xpos="far_left", ypos="head") her ".... {w=0.5}.... {w=0.5}.... {w=0.5}...." ("normal", "happy", "base", "mid") @@ -376,240 +386,256 @@ label hermione_change: her "May I at least know why?" ("open", "squint", "base", "mid") gen "No." ("base", xpos="far_left", ypos="head") her "...." ("annoyed", "base", "worried", "mid") - elif her_whoring >= 13: + else: her "*Meow*" ("smile","happyCl", "base", "mid") her "" ("smile","happy", "base", "mid") gen "Don't do that..." ("base", xpos="far_left", ypos="head") her "Such a party pooper." ("annoyed","happyCl", "base", "mid") her "" ("base", "base", "base", "mid") elif temp_name == "Bitch": - if her_whoring >=13 and her_whoring < 15: - her "Isn't this a bit inappropriate [genie_name]?" ("mad", "narrow", "worried", "down") + if states.her.level < 19: + her "Isn't this a bit inappropriate [name_genie_hermione]?" ("mad", "narrow", "worried", "down") gen "And doing favours for house points isn't?" ("base", xpos="far_left", ypos="head") - her "Fine..." ("base", "narrow", "base", "down", cheeks="blush") - elif her_whoring >= 15 and her_whoring < 17: - her "..." ("normal", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "Fine..." ("base", "narrow", "base", "down") + elif states.her.level < 21: + her @ cheeks blush "..." ("normal", "narrow", "worried", "down") gen "Any objections?" ("base", xpos="far_left", ypos="head") - her "..." ("soft", "base", "worried", "R",cheeks="blush") + her @ cheeks blush "..." ("soft", "base", "worried", "R") gen "Okay then..." ("grin", xpos="far_left", ypos="head") - elif her_whoring >= 17: - her "Alright." ("base", "happyCl", "base", "mid",cheeks="blush") - her "" ("base","happy", "base", "mid", cheeks="blush") + else: + her @ cheeks blush "Alright." ("base", "happyCl", "base", "mid") + her @ cheeks blush "" ("base","happy", "base", "mid") elif temp_name == "Slut": - if her_whoring >=15 and her_whoring < 17: - her "[genie_name]?!" ("shock", "wide", "worried", "stare") - her "You can't just call someone that!" ("mad", "wide", "base", "stare") - gen "It'll just be between us..." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "squint", "base", "mid") - gen "Nothing to add?" ("base", xpos="far_left", ypos="head") - her "" ("clench", "closed", "base", "mid", emote="angry") - gen "So you'll let me call you that or not?" ("base", xpos="far_left", ypos="head") - her "{size=+5}FINE!{/size}" ("clench", "closed", "angry", "mid", emote="angry") - gen "..." ("base", xpos="far_left", ypos="head") - her "" ("normal", "narrow", "angry", "R") - elif her_whoring >= 17: - her "I guess if you have to call me that sure..." ("base", "narrow", "base", "down",cheeks="blush") - elif her_whoring >= 19: - her "I don't mind..." ("smile", "happyCl", "base", "mid",cheeks="blush") + if states.her.level < 21: + her @ cheeks blush "I suppose if you have to call me that, sure..." ("base", "narrow", "base", "down") + else: + her @ cheeks blush "I don't mind..." ("smile", "happyCl", "base", "mid") elif temp_name == "Cumslut": - if her_whoring >= 17 and her_whoring < 19: - her "A cumslut?!" ("open", "wide", "worried", "stare") - gen "Something wrong?" ("base", xpos="far_left", ypos="head") - her "You have to even ask?" ("soft", "narrow", "worried", "down", cheeks="blush") - her "This is so degrading..." ("normal", "narrow", "base", "down",cheeks="blush") - her "(But I kinda am a slut begging for cum aren't I...)" ("base", "happyCl", "base", "mid",cheeks="blush") - elif her_whoring >= 19: + if states.her.level < 22: + her "I suppose if you have to call me that, sure..." ("base", "narrow", "base", "down") + else: her "..." ("soft", "narrow", "base", "up") - her "(When did I start enjoying it so much...)" ("open", "narrow", "base", "up",cheeks="blush") - her "(That taste, the texture...)" ("open", "narrow", "annoyed", "up",cheeks="blush") - her "(So warm, sticky, and--)" ("silly", "narrow", "base", "up",cheeks="blush") + her @ cheeks blush "(When did I start enjoying it so much...)" ("open", "narrow", "base", "up") + her @ cheeks blush "(That taste, even the texture...)" ("open", "narrow", "annoyed", "up") + her @ cheeks blush "(So warm, sticky, and--)" ("silly", "narrow", "base", "up") gen "Are you okay there, [temp_name]?" ("base", xpos="far_left", ypos="head") her "Wha--" ("mad", "wide", "base", "stare") - her "Of course I am!" ("smile", "base", "base", "R",cheeks="blush") + her @ cheeks blush "Of course I am!" ("smile", "base", "base", "R") elif temp_name == "Slytherin Whore": - if her_whoring >=19 and her_whoring < 21: - her "Do you really have to call me that, [genie_name]?" ("disgust", "base", "worried", "mid") - her "Referring to me as a bitch or a slut for your own amusement is one thing..." ("mad", "narrow", "worried", "down",cheeks="blush") - her "You're aware of how much I loathe Slytherin." ("open", "narrow", "worried", "mid_soft") - her "And I'm definitely not a whore..." ("soft", "closed", "base", "mid") - her "I refuse!" - menu: - "-Say it's fine-": - gen "Fine, I won't call you that..." ("base", xpos="far_left", ypos="head") - her "You won't?" ("open", "base", "base", "mid") - her "" ("soft", "base", "base", "mid") - gen "Of course..." ("base", xpos="far_left", ypos="head") - her "I am glad we're on the same page on this one, [genie_name]." ("open", "closed", "base", "mid") - her "" ("base", "closed", "base", "mid") - gen "In fact, from this point forward you don't have to call me [genie_name] or exchange any favours..." ("base", xpos="far_left", ypos="head") - her "" ("soft", "base", "base", "mid", emote="confused") - gen "Let's just void this whole... deal of yours shall we." ("base", xpos="far_left", ypos="head") - her "B-but, [genie_name]?!" ("mad", "wide", "base", "mid", emote="shocked") - her "" ("mad", "wide", "base", "mid") - gen "I must apologise {b}Miss Granger{/b}, I thought we had come to some kind of agreeable arrangement by now..." ("base", xpos="far_left", ypos="head") - her "But I--" ("mad", "wide", "worried", "stare") - gen "I should have known better to believe that this sort of thing would work out..." ("base", xpos="far_left", ypos="head") - her "Maybe I coul--" ("clench","happyCl", "worried", "stare") - gen "I thought we both had what we wanted..." ("base", xpos="far_left", ypos="head") - her "Liste--" ("soft", "narrow", "worried", "down") - her "" ("normal", "closed", "angry", "mid") - gen "Might as well hand in my resignation with the ministry and--" ("base", xpos="far_left", ypos="head") - with hpunch - her "{size=+10}I AM A SLYTHERIN WHORE!!!{/size}" ("scream", "closed", "angry", "mid",cheeks="blush") - her "" ("normal", "closed", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - her "Now please, [genie_name]... Let's just forget this conversation ever happened." ("disgust", "base", "worried", "mid") - gen "Are you sure that's what you want, [temp_name]?" ("base", xpos="far_left", ypos="head") - her "... Yes." ("disgust", "narrow", "worried", "down", emote="sweat") - gen "(This girl really is beyond redemption...)" ("base", xpos="far_left", ypos="head") - her "" ("base", "narrow", "worried", "down") - "-Threaten her-": - gen "Either accept my offer or Gryffindor lose five hundred points..." ("angry", xpos="far_left", ypos="head") - with hpunch - her "FIVE HUNDRED?!" ("shock", "wide", "base", "stare") - her "[genie_name]... This is blackmailing!" ("scream", "closed", "angry", "mid") - her "" ("mad", "closed", "angry", "mid") - gen "It is?" ("base", xpos="far_left", ypos="head") - her "What else would it be?" ("mad", "base", "angry", "mid",cheeks="blush") - gen "Negotiations..." ("grin", xpos="far_left", ypos="head") - her "You..." ("clench", "closed", "angry", "mid",cheeks="blush") - gen "That's not an answer..." ("base", xpos="far_left", ypos="head") - her "{size=-10}Okay..{/size}" ("soft", "narrow", "angry", "R",cheeks="blush") - gen "What was that? I didn't hear you." ("base", xpos="far_left", ypos="head") - her "I said yes, you can call me a Slytherin whore... or whatever." ("normal", "narrow", "annoyed", "mid", cheeks="blush") - her "Happy now?!" ("open", "closed", "angry", "mid", cheeks="blush") - gen "Very." ("grin", xpos="far_left", ypos="head") - her "{size=-6}You are the worst.{/size}" ("normal", "narrow", "base", "R_soft", cheeks="blush") - $ her_mood += 15 - elif her_whoring >= 21: - her "Please, [genie_name], couldn't you call me something else instead?" ("open", "base", "worried", "mid") - gen "But where's fun in that?" ("base", xpos="far_left", ypos="head") - her "Why do I even bother... *sigh*" ("soft", "narrow", "base", "R_soft",cheeks="blush") + her "Do you really have to call me that, [name_genie_hermione]?" ("disgust", "base", "worried", "mid") + her @ cheeks blush "Referring to me as a bitch or a slut for your own amusement is one thing..." ("mad", "narrow", "worried", "down") + her "I know you're aware of how much I loathe Slytherin..." ("open", "narrow", "worried", "mid_soft") + her "And I'm definitely not a whore..." ("soft", "closed", "base", "mid") + her "I refuse!" + menu: + "-Say it's fine-": + gen "Fine, I won't call you that..." ("base", xpos="far_left", ypos="head") + her "You won't?" ("open", "base", "base", "mid") + her "" ("soft", "base", "base", "mid") + gen "Of course..." ("base", xpos="far_left", ypos="head") + her "I am glad we're on the same page on this one, [name_genie_hermione]." ("open", "closed", "base", "mid") + her "" ("base", "closed", "base", "mid") + gen "In fact, from this point forward you don't have to call me [name_genie_hermione], or exchange any favours..." ("base", xpos="far_left", ypos="head") + her "" ("soft", "base", "base", "mid", emote="confused") + gen "Let's just void this whole... deal of yours, shall we?" ("base", xpos="far_left", ypos="head") + her "B-but, [name_genie_hermione]?!" ("mad", "wide", "base", "mid", emote="shocked") + her "" ("mad", "wide", "base", "mid") + gen "I must apologise {b}Miss Granger{/b}, I thought we had come to some kind of agreeable arrangement by now..." ("base", xpos="far_left", ypos="head") + her "But I--" ("mad", "wide", "worried", "stare") + gen "I should have known better to believe that this sort of thing would work out..." ("base", xpos="far_left", ypos="head") + her "Maybe I could--" ("clench","happyCl", "worried", "stare") + gen "I thought we both had what we wanted..." ("base", xpos="far_left", ypos="head") + her "Listen--" ("soft", "narrow", "worried", "down") + her "" ("normal", "closed", "angry", "mid") + gen "Might as well hand in my resignation with the ministry and--" ("base", xpos="far_left", ypos="head") + with hpunch + her @ cheeks blush "{size=+10}I AM A SLYTHERIN WHORE!!!{/size}" ("scream", "closed", "angry", "mid") + her "" ("normal", "closed", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + her "Now please, [name_genie_hermione]... Let's just forget this conversation ever happened." ("disgust", "base", "worried", "mid") + gen "Are you sure that's what you want, [temp_name]?" ("base", xpos="far_left", ypos="head") + her "... Yes." ("disgust", "narrow", "worried", "down", emote="sweat") + gen "(This girl really is beyond redemption...)" ("base", xpos="far_left", ypos="head") + her "" ("base", "narrow", "worried", "down") + "-Threaten her-": + gen "Either accept my offer or Gryffindor lose five hundred points..." ("angry", xpos="far_left", ypos="head") + with hpunch + her "{size=+4}Five hundred?!{/size}" ("shock", "wide", "base", "stare") + her "[name_genie_hermione]... This is blackmailing!" ("scream", "closed", "angry", "mid") + her "" ("mad", "closed", "angry", "mid") + gen "It is?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What else would it be?" ("mad", "base", "angry", "mid") + gen "Negotiations..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "You..." ("clench", "closed", "angry", "mid") + gen "That's not an answer..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "{size=-10}Okay...{/size}" ("soft", "narrow", "angry", "R") + gen "What was that? I didn't hear you." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I said yes, you can call me a Slytherin whore... or whatever." ("normal", "narrow", "annoyed", "mid") + her @ cheeks blush "Happy now?!" ("open", "closed", "angry", "mid") + gen "Very." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "{size=-6}You are the worst.{/size}" ("normal", "narrow", "base", "R_soft") + $ states.her.mood += 15 elif temp_name == "Mudblood": - if her_whoring >= 21: - her "A{w=0.5}...{w=0.5} {size=+6}{b}{cps=20}mud{w=0.5}blood{/cps}{/b}?!{/size}" ("shock", "wide", "base", "stare") - her "Did I hear you right, [genie_name]?!" ("normal", "wide", "base", "mid") - menu: - "-Confirm-": - pass - "-!!!{b}ABORT ABORT ABORT{/b}!!!-{#LINT_IGNORE}": - gen "What? Of course not!" ("angry", xpos="far_left", ypos="head") - gen "I said.." ("base", xpos="far_left", ypos="head") - gen "(I have to think fast)" ("angry", xpos="far_left", ypos="head") - menu: - "-Mass flood-": - gen "I said mass flood!" ("angry", xpos="far_left", ypos="head") - her "Mass flood?" ("soft", "base", "base", "mid") - gen "Are you deaf or something?" ("base", xpos="far_left", ypos="head") - if game.weather == "rain": - her "I was pretty sure you said--" ("open", "base", "base", "mid") - her "" ("normal", "base", "base", "R") - gen "Look outside the window, it's raining is it not?" ("base", xpos="far_left", ypos="head") - her "I{w=0.5}...{w=0.5} Yes, you are right [genie_name]." ("normal", "closed", "base", "mid") - gen "Of course I am." ("base", xpos="far_left", ypos="head") - her "So what did you want to talk about?" ("base", "base", "base", "mid") - else: - her "[genie_name], but it's not raining.." ("normal", "closed", "base", "mid") - her "" ("disgust", "narrow", "base", "down", cheeks="blush") - gen "Last time I had my dick in you it felt like a mass flood." ("grin", xpos="far_left", ypos="head") - her "[genie_name]..." ("disgust", "closed", "base", "mid", cheeks="blush") - gen "What? It's true, I swear!" ("grin", xpos="far_left", ypos="head") - her "..." ("soft", "narrow", "worried", "down", cheeks="blush") - "-Mad stud-": - gen "I said mad stud!" ("angry", xpos="far_left", ypos="head") - her "Mad stud?" ("soft", "base", "base", "mid") - gen "My dick, your ass, bud." ("grin", xpos="far_left", ypos="head") - her "really..." ("disgust", "narrow", "base", "mid_soft", cheeks="blush") - her "You can be so childish sometimes, [genie_name]..." ("annoyed", "narrow", "base", "R_soft", cheeks="blush") - #"-Leaf bud-": - # jump hermione_talk - jump hermione_talk - her "Why would you even suggest calling me such a thing.." ("scream", "squint", "angry", "mid") - her "It's like the most offensive thing you could call someone like..." ("shock", "squint", "angry", "mid", tears="soft") - her "like..." ("open", "happyCl", "worried", "mid", tears="soft_blink") - her "Someone like..." ("open", "narrow", "worried", "down", tears="mascara_crying") - her "me..." ("disgust", "narrow", "worried", "down", tears="mascara_soft") - her "" ("disgust", "happyCl", "worried", "mid", tears="mascara") - menu: - "-Try to calm her down-": - her "" ("disgust", "narrow", "worried", "mid_soft", tears="mascara") - gen "Now, now, there's no need to cry." ("base", xpos="far_left", ypos="head") - gen "Do you know why I call you these things miss Granger?" ("base", xpos="far_left", ypos="head") - her "... no?" ("disgust", "narrow", "worried", "mid_soft", tears="mascara") - gen "It's so that you'll come to know that words are just words and they only hurt if you let them." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "worried", "mid_soft", tears="mascara") - gen "Once you truly understand that nothing will hold you back." ("base", xpos="far_left", ypos="head") - gen "And you'll be at your utmost potential." ("grin", xpos="far_left", ypos="head") - her "You really think so?" ("open", "narrow", "worried", "mid_soft", tears="mascara") - her "" ("normal", "narrow", "worried", "mid_soft", tears="mascara") - gen "Yes, in fact I do." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("normal", "closed", "base", "mid", tears="mascara") - her "I can do it, I know I can." ("base", "narrow", "worried", "mid_soft", tears="mascara") - $ her_mood = 0 - "-Tell her she deserves it-": - gen "You deserve to be called a slut, a whore and a mudblood... just look at you." ("angry", xpos="far_left", ypos="head") - her "..." ("scream", "happyCl", "worried", "mid", tears="mascara_soft_blink") - her "" ("disgust", "happyCl", "worried", "mid", tears="mascara_soft") - gen "You walk into my office and sell your body for the sole reason that it will make Gryffindor happy to win the house cup." ("angry", xpos="far_left", ypos="head") - her "..." ("open", "happyCl", "worried", "mid", tears="mascara_soft_blink") - her "" ("disgust", "happyCl", "worried", "mid", tears="mascara_soft") - gen "Bending over onto my desk and let yourself be taken like a some common harlot..." ("angry", xpos="far_left", ypos="head") - her "I..." ("disgust", "narrow", "worried", "mid_soft", tears="mascara_soft") - gen "Letting your headmaster thrust himself upon you and taking my load like your life depended on it..." ("angry", xpos="far_left", ypos="head") - her "..." ("normal", "happyCl", "worried", "mid", tears="mascara_soft") - her "" ("normal", "narrow", "worried", "mid_soft", tears="mascara") - gen "I bet you don't even care about the points anymore..." ("base", xpos="far_left", ypos="head") - her "Well..." ("normal", "narrow", "worried", "down", tears="mascara") - her "" ("normal", "narrow", "annoyed", "up", tears="mascara") - gen "You are nothing more than a whore..." ("base", xpos="far_left", ypos="head") - her "" ("base", "narrow", "annoyed", "up", tears="mascara") - gen "{size=+4}{b}MY{/b}{/size} whore!" ("grin", xpos="far_left", ypos="head") - her "" ("base", "narrow", "base", "up", tears="mascara") - gen "And I {b}will{/b} call you however I want!" ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name], I understand." ("silly", "narrow", "base", "up", tears="mascara") - her "I am your toy{w=0.6}, your fuckslut{w=0.6}, your cocksleeve, your--" ("grin", "narrow", "base", "dead", tears="mascara") - gen "Yes, that you are but it's enough..." ("base", xpos="far_left", ypos="head") - her "I fully belong to you... [genie_name]." ("silly", "narrow", "base", "dead", tears="mascara") - her "" ("grin", "narrow", "base", "dead", tears="mascara") - $ her_mood = 0 + her "A...{w=0.5} {size=+6}{b}{cps=20}mud{w=0.5}blood{/cps}{/b}?!{/size}" ("shock", "wide", "base", "stare") + her "Did I hear you right, [name_genie_hermione]?!" ("normal", "wide", "base", "mid") + menu: + "-Confirm-": + pass + "-!!!{b}ABORT ABORT ABORT{/b}!!!-{#LINT_IGNORE}": + gen "What? Of course not!" ("angry", xpos="far_left", ypos="head") + gen "I said..." ("base", xpos="far_left", ypos="head") + gen "(I have to think fast)" ("angry", xpos="far_left", ypos="head") + menu: + "-Mass flood-": + gen "I said mass flood!" ("angry", xpos="far_left", ypos="head") + her "Mass flood?" ("soft", "base", "base", "mid") + gen "Are you deaf or something?" ("base", xpos="far_left", ypos="head") + if game.weather == "rain": + her "I was pretty sure you said--" ("open", "base", "base", "mid") + her "" ("normal", "base", "base", "R") + gen "Look outside the window, it's raining is it not?" ("base", xpos="far_left", ypos="head") + her "I{w=0.5}...{w=0.5} Yes, you are right [name_genie_hermione]." ("normal", "closed", "base", "mid") + gen "Of course I am." ("base", xpos="far_left", ypos="head") + her "So what did you want to talk about?" ("base", "base", "base", "mid") + else: + her "[name_genie_hermione], but it's not raining..." ("normal", "closed", "base", "mid") + her @ cheeks blush "" ("disgust", "narrow", "base", "down") + gen "Last time I had my dick in you, it felt like a mass flood." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione]..." ("disgust", "closed", "base", "mid") + gen "What? It's true, I swear!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("soft", "narrow", "worried", "down") + "-Mad stud-": + gen "I said mad stud!" ("angry", xpos="far_left", ypos="head") + her "Mad stud?" ("soft", "base", "base", "mid") + gen "My dick, your ass, bud." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Really..." ("disgust", "narrow", "base", "mid_soft") + her @ cheeks blush "You can be so childish sometimes, [name_genie_hermione]..." ("annoyed", "narrow", "base", "R_soft") + jump hermione_talk + her "Why would you even suggest calling me such a thing..." ("scream", "squint", "angry", "mid") + her @ tears soft "It's like the most offensive thing you could call someone like..." ("shock", "squint", "angry", "mid") + her @ tears soft_blink "Like..." ("open", "happyCl", "worried", "mid") + her @ tears mascara_crying "Someone like..." ("open", "narrow", "worried", "down") + her @ tears mascara_soft "Me..." ("disgust", "narrow", "worried", "down") + her @ tears mascara "" ("disgust", "happyCl", "worried", "mid") + menu: + "-Try to calm her down-": + her @ tears mascara "" ("disgust", "narrow", "worried", "mid_soft") + gen "Now, now, there's no need to cry." ("base", xpos="far_left", ypos="head") + gen "Do you know why I call you these things, Miss Granger?" ("base", xpos="far_left", ypos="head") + her @ tears mascara "... No?" ("disgust", "narrow", "worried", "mid_soft") + gen "It's so that you'll come to know that words are just words, and they only hurt if you let them." ("base", xpos="far_left", ypos="head") + her @ tears mascara "..." ("normal", "narrow", "worried", "mid_soft") + gen "Once you truly understand that nothing will hold you back." ("base", xpos="far_left", ypos="head") + gen "And you'll be at your utmost potential." ("grin", xpos="far_left", ypos="head") + her @ tears mascara "You really think so?" ("open", "narrow", "worried", "mid_soft") + her @ tears mascara "" ("normal", "narrow", "worried", "mid_soft") + gen "Yes, in fact I do." ("base", xpos="far_left", ypos="head") + her @ tears mascara "Thank you, [name_genie_hermione]." ("normal", "closed", "base", "mid") + her @ tears mascara "I can do it, I know I can." ("base", "narrow", "worried", "mid_soft") + "-Tell her she deserves it-": + gen "You deserve to be called a slut, a whore and a mudblood... Just look at you." ("angry", xpos="far_left", ypos="head") + her @ tears mascara_soft_blink "..." ("scream", "happyCl", "worried", "mid") + her @ tears mascara_soft "" ("disgust", "happyCl", "worried", "mid") + gen "You walk into my office and sell your body for the sole reason that it will make Gryffindor happy to win the house cup." ("angry", xpos="far_left", ypos="head") + her @ tears mascara_soft_blink "..." ("open", "happyCl", "worried", "mid") + her @ tears mascara_soft "" ("disgust", "happyCl", "worried", "mid") + gen "Bending over onto my desk and let yourself be taken like a some common harlot..." ("angry", xpos="far_left", ypos="head") + her @ tears mascara_soft "I..." ("disgust", "narrow", "worried", "mid_soft") + gen "Letting your headmaster thrust himself upon you, and taking my load like your life depended on it..." ("angry", xpos="far_left", ypos="head") + her @ tears mascara_soft "..." ("normal", "happyCl", "worried", "mid") + her @ tears mascara "" ("normal", "narrow", "worried", "mid_soft") + gen "I bet you don't even care about the points anymore..." ("base", xpos="far_left", ypos="head") + her @ tears mascara "I..." ("normal", "narrow", "worried", "down") + her @ tears mascara "" ("normal", "narrow", "annoyed", "up") + gen "You are nothing more than a whore..." ("base", xpos="far_left", ypos="head") + her @ tears mascara "" ("annoyed", "narrow", "annoyed", "up") + gen "{size=+4}{b}MY{/b}{/size} whore!" ("grin", xpos="far_left", ypos="head") + her @ tears mascara "" ("disgust", "narrow", "base", "up") + gen "And I {b}will{/b} call you however I want!" ("base", xpos="far_left", ypos="head") + her @ tears mascara "...." ("angry", "narrow", "base", "up") else: #Custom/fallback - her "Bit odd but sure, you can call me that..." ("soft", "squint", "base", "mid") + her "That's a bit odd...{w=0.4} But sure, you can call me that." ("soft", "squint", "base", "mid") - $ hermione_name = temp_name + $ name_hermione_genie = temp_name jump hermione_talk label hermione_change_fail: if temp_name == "Girl": - her "I would prefer if we kept using our formal names and titles, [genie_name]." ("open", "closed", "base", "mid") + her "I would prefer if we kept using our formal names and titles, [name_genie_hermione]." ("open", "closed", "base", "mid") her "" ("normal", "base", "base", "mid") elif temp_name == "Nerd": - her "I would prefer if you didn't, [genie_name]." ("open", "closed", "angry", "mid") + her "I would prefer if you didn't, [name_genie_hermione]." ("open", "closed", "angry", "mid") her "{size=-4}And I'm not a nerd...{/size}" ("annoyed", "base", "worried", "mid") - if her_whoring >= 1: + if states.her.level >= 1: her "(I think...)" ("annoyed", "base", "worried", "R") + elif temp_name == "Hottie": + her "I don't think that would be appropriate, [name_genie_hermione]..." ("open", "closed", "base", "mid") + gen "You'd feel a lot better if you tried to be less critical of yourself... " ("base", xpos="far_left", ypos="head") + her "*Huh*?" ("open", "base", "base", "mid") + elif temp_name == "Angel": + her "I certainly am!" ("open", "closed", "base", "mid") + her "But I won't let you call me that..." ("open", "base", "base", "mid") + elif temp_name == "Minx": + her "That is neither appropriate, nor true!" ("annoyed", "closed", "base", "mid") elif temp_name == "Good Girl": - her "I'm not letting you call me that, [genie_name]!" ("open", "closed", "angry", "mid") - if her_whoring >= 3: + her "I'm not letting you call me that, [name_genie_hermione]!" ("open", "closed", "angry", "mid") + if states.her.level >= 3: her "(Although it's kinda cute he said that...)" ("base", "base", "base", "R") - elif temp_name == "Little Girl": - her "I won't let you call me that, [genie_name]!" ("open", "closed", "angry", "mid") - if her_whoring >= 5: - her "(I hope they'd grow out more...)" ("disgust", "narrow", "worried", "down") - her "*sigh*" ("annoyed", "closed", "base", "mid") - her "" ("normal", "base", "base", "R") - elif temp_name == "Bad Girl": - her "I am not a [temp_name]!" ("open", "base", "angry", "mid") - if her_whoring >= 7: - her "(Or am I...?)" ("disgust", "base", "base", "R") - her "" ("normal", "base", "base", "R") + #elif temp_name == "Little Girl": + #her "What's going on with these silly nicknames of yours all of a sudden?" ("normal", "squint", "angry", "mid") + #gen "What do you mean by silly?" ("base", xpos="far_left", ypos="head") + #her "It makes it sound as if I'm your..." ("soft", "base", "worried", "R") + #her "I won't let you call me that, [name_genie_hermione]!" ("open", "closed", "angry", "mid") + #if states.her.level >= 16: + #her "(Surely my chest is big enough...)" ("disgust", "narrow", "worried", "down") + #her "*Sigh*" ("annoyed", "closed", "base", "mid") + #her "" ("normal", "base", "base", "R") + #elif temp_name == "Bad Girl": + #her "I guess I am a bit." ("soft", "narrow", "worried", "down") + #her "I did fail that test after all..." ("disgust", "narrow", "base", "down") + #her "Wait... You meant it in a--{w=0.2} I am not a [temp_name]!" ("open", "base", "angry", "mid") + #if states.her.level >= 7: + #her "(Or am I...?)" ("disgust", "base", "base", "R") + #her "" ("normal", "base", "base", "R") elif temp_name == "Princess": - her "This is inappropriate, [genie_name]!" ("open", "base", "angry", "mid") - if her_whoring >= 9: + her "This is inappropriate, [name_genie_hermione]!" ("open", "base", "angry", "mid") + if states.her.level >= 9: her "(It sounds nice though...)" ("base", "base", "base", "R") elif temp_name == "Pet": - her "Are you joking, [genie_name]?" ("open", "base", "worried", "mid") - if her_whoring >= 11: + her "Are you joking, [name_genie_hermione]?" ("open", "base", "worried", "mid") + if states.her.level >= 11: her "(Why would he even suggest that?)" ("annoyed", "base", "base", "R") + elif temp_name == "Bitch": + her "I am not a dog!" ("open", "closed", "angry", "mid") + gen "That's not..." ("base", xpos="far_left", ypos="head") + gen "Alrighty then..." ("base", xpos="far_left", ypos="head") + elif temp_name == "Slut": + her "[name_genie_hermione]?!" ("shock", "wide", "worried", "stare") + her "You can't just call someone that!" ("mad", "wide", "base", "stare") + gen "It'll just be between us..." ("base", xpos="far_left", ypos="head") + her "..." ("disgust", "squint", "base", "mid") + gen "Nothing to add?" ("base", xpos="far_left", ypos="head") + her "" ("clench", "closed", "base", "mid", emote="angry") + gen "So, you'll let me call you that or not?" ("base", xpos="far_left", ypos="head") + her "{size=+5}No!{/size}" ("clench", "closed", "angry", "mid", emote="angry") + gen "..." ("base", xpos="far_left", ypos="head") + elif temp_name == "Cumslut": + her "{size=+5}A what?!{/size}" ("open", "wide", "worried", "stare") + gen "Something wrong?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Do you even have to ask?" ("soft", "narrow", "angry", "down") + her @ cheeks blush "Calling someone--{w=0.4} That is so degrading!" ("angry", "narrow", "angry", "down") + her "I won't allow it!" ("angry", "closed", "angry", "down") + elif temp_name == "Slytherin Whore": + her "What did you just call me?!" ("open", "wide", "worried", "stare") + gen "*Err*... Nothing..." ("base", xpos="far_left", ypos="head") + her "*Hmph*..." ("annoyed", "narrow", "angry", "mid") + elif temp_name == "Mudblood": + her "A...{w=0.5} A...{w=0.5}{nw} " ("shock", "wide", "base", "stare") + her "A... A... M--Mm..." ("normal", "wide", "base", "stare") + gen "(This will end up badly...)" ("base", xpos="far_left", ypos="head") + gen "Mad stud! That's what I said" ("base", xpos="far_left", ypos="head") + her "*Huh?*" ("normal", "wide", "base", "mid") + gen "Let's resume the favour trading... You mad stud, you..." ("base", xpos="far_left", ypos="head") else: her "I won't let you call me that!" ("shock", "closed", "angry", "mid") her "" ("normal", "base", "angry", "mid") diff --git a/game/scripts/characters/hermione/vars.rpy b/game/scripts/characters/hermione/vars.rpy index 9893b47b..407315dd 100644 --- a/game/scripts/characters/hermione/vars.rpy +++ b/game/scripts/characters/hermione/vars.rpy @@ -1,76 +1,158 @@ -# Stats -default her_tier = 1 -default her_whoring = 0 -default her_reputation = 0 -default her_mood = 0 -default her_tutoring = 1 +# General states -# Flags -default hermione_busy = False -default hermione_unlocked = False -default hermione_favors = False -default hermione_tutoring = False -default gave_hermione_gift = False -default hermione_wardrobe_unlocked = False -default her_panties_soaked = False -default forest_BJ_progress = 1 -default hermione_favors_convinced = 0 -default hermione_outfits_schedule = True -default her_level_up = None -default jerked_off_during_hermione_intro = False -default current_job = None -default tutoring_offer_made = False # If you offered her to tutor her (In hermione_intro_E4). Affects conversation in the next event. -default her_shop_help = False -default her_shop_help_first = True -default tentacle_sample = False # Quest "item" flag. -default tentacle_scroll_examined = False +default states.her.tier = 1 +default states.her.level = 0 +default states.her.public_tier = IntLike(_her_public_tier) +default states.her.public_level = 0 +default states.her.mood = 0 +default states.her.unlocked = False +default states.her.busy = False +default states.her.gifted = False +default states.her.favors_unlocked = False +default states.her.favors_convinced_stage = 0 +default states.her.wardrobe_unlocked = False +default states.her.wardrobe_scheduling = True +default states.her.chatted = False +default states.her.map_location = "library" -# Buttplug Events -default buttplug_magic_known = False -default buttplug_2_worn = False -default buttplug_3_worn = False -default buttplug_1_question = False -default buttplug_2_question = False -default buttplug_3_question = False +# Sexual activity states + +default states.her.status.voyer = False +default states.her.status.show_bra = False +default states.her.status.show_tits = False +default states.her.status.show_panties = False +default states.her.status.show_pussy = False +default states.her.status.stripping = False #stripping should be prioritised for most clothing checks +default states.her.status.cumshot = False +default states.her.status.handjob = False +default states.her.status.kissing = False +default states.her.status.titjob = False +default states.her.status.blowjob = False +default states.her.status.gokkun = False +default states.her.status.masturbating = False +default states.her.status.sex = False +default states.her.status.creampie = False +default states.her.status.anal = False +default states.her.status.anal_creampie = False + +# Sexual activity states (public) + +default states.her.status.public_voyer = False +default states.her.status.public_show_bra = False +default states.her.status.public_show_tits = False +default states.her.status.public_show_panties = False +default states.her.status.public_show_pussy = False +default states.her.status.public_stripping = False +default states.her.status.public_cumshot = False +default states.her.status.public_handjob = False +default states.her.status.public_kissing = False +default states.her.status.public_titjob = False +default states.her.status.public_blowjob = False +default states.her.status.public_gokkun = False +default states.her.status.public_masturbating = False +default states.her.status.public_sex = False +default states.her.status.public_creampie = False +default states.her.status.public_anal = False +default states.her.status.public_anal_creampie = False +default states.her.status.public_groping = False + +# Event flags + +default states.her.ev.tutoring.offered = False +default states.her.ev.tutoring.unlocked = False +default states.her.ev.tutoring.stage = 1 +default states.her.ev.intro.masturbated = False # Genie jerked off during the first encounter. +default states.her.ev.intro.e1_complete = False # 1st visit +default states.her.ev.intro.e2_complete = False # 2nd visit, MRM + informed the Ministry. +default states.her.ev.intro.e3_complete = False # 3rd visit, did she fail a test? +default states.her.ev.intro.e4_complete = False # 4th visit, she's crying. Failed a test. +default states.her.ev.intro.e5_complete = False # 5th visit, asks to be tutored, summon unlocked. +default states.her.ev.intro.convinced = False # Tonks convinces Hermione to sell favours. +default states.her.ev.intro.e6_complete = False # 6th visit, asks to buy favours, favours unlocked. +default states.her.ev.admire_breasts.T2_intro_E1_failed = False +default states.her.ev.admire_breasts.monologue = False +default states.her.ev.panty_thief.soaked = False # Temp var, genie procures Hermione's panties and cums on them, resets once returned. +default states.her.ev.panty_thief.acquired = False +default states.her.ev.forest_bj.stage = 1 +default states.her.ev.sealed_scroll.sample = False +default states.her.ev.sealed_scroll.examined = False +default states.her.ev.cardgame.known = False +default states.her.ev.cardgame.has_cards = False +default states.her.ev.cardgame.stage = 0 +default states.her.ev.promote_cardgame.offered = True +default states.her.ev.promote_cardgame.first_time = True +default states.her.ev.promote_cardgame.helped = False +default states.her.ev.buttplugs.magic_known = False +default states.her.ev.buttplugs.medium_question = False +default states.her.ev.dance_for_me.strip_asked = False # Asked hermione to strip during dancing. +default states.her.ev.dance_for_me.snape_invited = False # Invited Snape to watch Hermione strip for you both. +default states.her.ev.dance_for_me.snape_masturbate_stage1 = False +default states.her.ev.dance_for_me.snape_masturbate_stage2 = False +default states.her.ev.suck_it.snape_encounter = False +default states.her.ev.suck_it.tonks_encounter = False +default states.her.ev.suck_it.luna_encounter = False +default states.her.ev.give_me_a_handy.cock_kiss = False +default states.her.ev.yule_ball.variant = "personal" +default states.her.ev.yule_ball.e1_complete = False +default states.her.ev.yule_ball.e2_complete = False +default states.her.ev.yule_ball.e3_complete = False +default states.her.ev.yule_ball.e4_complete = False +default states.her.ev.yule_ball.gave_dress = False +default states.her.ev.yule_ball.started = False +default states.her.ev.yule_ball.complete = False +default states.her.ev.magic_collar.worn = False +default states.her.ev.vibrators.seen = False # Has Genie offered her the vibrators? +default states.her.ev.vibrators.worn = False # Has Hermione agreed to wear the vibrators? +default states.her.ev.vibrators.public_complete = False # Has completed at least once public event? +default states.her.ev.vibrators.public_stage = 0 # Stage 0 - Hadn't worn vibrators in public, Stage 1 - Had worn vibrators in public (low), Stage 2 - Had worn vibrators in public (high) +default states.her.ev.vibrators.personal_complete = False # Has completed at least once personal event? +default states.her.ev.potions.ass_expand_drank = False +default states.her.ev.potions.ass_expand_public_complete = False +default states.her.ev.potions.ass_expand_complete = False +default states.her.ev.potions.ass_expand_tried_fingering = False +default states.her.ev.potions.breast_expand_drank = False +default states.her.ev.potions.breast_expand_known = False +default states.her.ev.potions.breast_expand_groped = False +default states.her.ev.potions.breast_expand_public_low_complete = False +default states.her.ev.potions.breast_expand_public_high_complete = False +default states.her.ev.potions.polyjuice_drank = False +default states.her.ev.potions.polyjuice_cat_drank = False +default states.her.ev.potions.polyjuice_cat_blowjob = False +default states.her.ev.potions.polyjuice_cat_furry = False +default states.her.ev.potions.polyjuice_luna_drank = False +default states.her.ev.potions.polyjuice_luna_nude = False +default states.her.ev.maid.intro_complete = False +default states.her.ev.talk_to_me.caught_masturbating = False +default states.her.ev.flirt_with_students.done_before = False + +default her_level_up = None # TODO: This var is used in an overly complicated manner, it should be removed once the issues are resolved. +default current_job = None # TODO: Jobs should be using event class with enqueue feature instead. # Names -default genie_name = _("Sir") -default hermione_name = _("Miss Granger") -# Stats -default her_jerk_off_counter = 0 +default name_genie_hermione = "Sir" +default name_hermione_genie = "Miss Granger" -# TODO: Replace with an event tracker. -default hg_kiss = counter_class() -default hg_jerkoff = counter_class() -default hg_strip = counter_class() -default hg_masturbated = counter_class() -default hg_blowjob = counter_class() -default hg_sex = counter_class() -default hg_anal = counter_class() - -init python: +init python early: # Public requests design is flawed at its core to the point it would # require going back to the drawing board, so instead, we will # simulate tiers without spending weeks refactoring it and risking # breaking save compatibility again. Technical debt sucks. ¯\_(ツ)_/¯ - def _her_tier_public(): - if hg_pr_sex.counter > 0: + def _her_public_tier(): + if states.her.status.public_sex: return 6 - elif hg_pr_blowjob.counter > 0: + elif states.her.status.public_blowjob: return 5 - elif hg_pr_handjob.counter > 0: + elif states.her.status.public_handjob: return 4 - elif hg_pr_kiss.counter > 0 or hg_pr_flash.counter > 0: + elif states.her.status.public_kissing or states.her.status.public_stripping: return 3 - elif hg_pr_grope.counter > 0: + elif states.her.status.public_groping: return 2 else: return 1 - - her_tier_public = IntLike(_her_tier_public) diff --git a/game/scripts/characters/hermione/wardrobe.rpy b/game/scripts/characters/hermione/wardrobe.rpy index 3432957d..c0a34df6 100644 --- a/game/scripts/characters/hermione/wardrobe.rpy +++ b/game/scripts/characters/hermione/wardrobe.rpy @@ -2,98 +2,65 @@ ## Character ## ############### -default hermione = Doll(name="hermione", - clothes={"headgear": [None, 15, True], - "hair": [None, 4, True], - "glasses": [None, 12, True], - "earrings": [None, 14, True], - "neckwear": [None, 16, True], - "robe": [None, 22, True], - "gloves": [None, 14, True], - "top": [None, 15, True], - "bra": [None, 9, True], - "bottom": [None, 8, True], - "garterbelt": [None, 7, True], - "panties": [None, 6, True], - "stockings": [None, 5, True], - "buttplug": [None, -1, True], - "pubes": [None, 3, True], - "tattoo0": [None, 1, True], - "tattoo1": [None, 1, True], - "tattoo2": [None, 1, True], - "tattoo3": [None, 1, True], - "tattoo4": [None, 1, True], - "piercing0": [None, 2, True], - "piercing1": [None, 2, True], - "piercing2": [None, 2, True], - "piercing3": [None, 2, True], - "piercing4": [None, 2, True], - "accessory0": [None, 12, True], - "accessory1": [None, 12, True], - "accessory2": [None, 12, True], - "accessory3": [None, 12, True], - "accessory4": [None, 12, True], - "makeup0": [None, 3, True], - "makeup1": [None, 3, True], - "makeup2": [None, 3, True], - "makeup3": [None, 3, True], - "makeup4": [None, 3, True]}, - face={"tears": [None, 12, True], - "cheeks": [None, 7, True], - "eyebrows": ["base", 11, True], - "eyes": ["base", 8, True], - "pupils": ["mid", 9, True], - "mouth": ["base", 13, True]}, - body={"armleft": ["down", 3], - "armright":["down", -1], - "base": ["front", 0], - "breasts": ["normal", 2], - "backside": [None, 1]} - ) +default hermione = Doll(name="hermione") -############### -## Hair ## -############### +default her_frame_default = DollBodypart("hermione", ("hidden", "frame"), "frame", "default") +default her_body_default = DollOutfit([her_frame_default], hidden=True) -default her_hair_base = DollCloth("hermione", ("head", "hair"), "hair", "base", [[152, 89, 48, 255], [195, 137, 89, 255], [230, 141, 32, 255]], unlocked=True) +########## +## Hair ## +########## -################ -## Schoolgirl ## -################ +default her_hair_base = DollCloth("hermione", ("head", "hair"), "hair", "base", ["#985930ff", "#c38959ff", "#e68d20ff"], unlocked=True) -default her_top_school1 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_1", [[183, 183, 184, 255], [109, 105, 121, 255], [167, 77, 42, 255], [237, 179, 14, 255]], unlocked=True) -default her_top_school2 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_2", [[183, 183, 184, 255], [109, 105, 121, 255], [167, 77, 42, 255], [237, 179, 14, 255]], unlocked=True) -default her_top_school3 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_3", [[183, 183, 184, 255], [167, 77, 42, 255], [237, 179, 14, 255]], unlocked=True) -default her_top_school4 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_4", [[183, 183, 184, 255], [167, 77, 42, 255], [237, 179, 14, 255]], unlocked=True, level=4) -default her_top_school5 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_5", [[183, 183, 184, 255], [167, 77, 42, 255], [237, 179, 14, 255]], unlocked=True, level=10) -default her_top_school6 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_6", [[109, 105, 121, 255], [167, 77, 42, 255], [237, 179, 14, 255]], unlocked=True, level=10) -default her_top_school7 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_7", [[183, 183, 184, 255], [167, 77, 42, 255], [237, 179, 14, 255]], unlocked=True, level=13) -default her_bottom_school1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_1", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) -default her_bottom_school2 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_2", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True, level=4) -default her_bottom_school3 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_3", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True, level=10) -default her_bottom_school4 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_4", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True, level=19) -default her_stockings_base1 = DollCloth("hermione", ("legwear", "socks"), "stockings", "stockings_1", [[219, 165, 13, 255], [146, 63, 30, 255]], unlocked=True) -default her_panties_base1 = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "basic_panties_1", [[232, 232, 232, 255], [202, 60, 1, 255]], unlocked=True) -default her_bra_base1 = DollCloth("hermione", ("upper undergarment", "bras"), "bra", "basic_bra_1", [[232, 232, 232, 255], [202, 60, 1, 255]], unlocked=True) -default her_robe_school_1 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_1", [[96, 96, 96, 255], [206, 206, 209, 255], [167, 77, 42, 255]], unlocked=True, level=0) -default her_robe_school_2 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_2", [[96, 96, 96, 255], [206, 206, 209, 255], [167, 77, 42, 255]], unlocked=True, level=4) -default her_robe_school_3 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_3", [[96, 96, 96, 255], [206, 206, 209, 255], [167, 77, 42, 255]], unlocked=True, level=10) -default her_robe_school_4 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_4", [[96, 96, 96, 255], [206, 206, 209, 255], [167, 77, 42, 255]], unlocked=True, level=13) +####################### +## Schoolgirl Outfit ## +####################### -default her_accessory_house_emblem = DollCloth("hermione", ("misc", "accessory"), "accessory0", "house_emblem", [[167, 77, 42, 255], [237, 179, 14, 255]], zorder=16, unlocked=True) -default her_accessory4_reading_glasses = DollCloth("hermione", ("head", "glasses"), "glasses", "reading_glasses", [[240, 240, 241, 255]], unlocked=True) -default her_accessory4_vintage_glasses = DollCloth("hermione", ("head", "glasses"), "glasses", "vintage_glasses", [[255, 255, 255, 50], [36, 36, 36, 255], [116, 116, 116, 255]], unlocked=True, zorder=3) +default her_top_school1 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_1", ["#b7b7b8ff", "#6d6979ff", "#a74d2aff", "#edb30eff"], unlocked=True) +default her_top_school2 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_2", ["#b7b7b8ff", "#6d6979ff", "#a74d2aff", "#edb30eff"], unlocked=True) +default her_top_school3 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_3", ["#b7b7b8ff", "#a74d2aff", "#edb30eff"], unlocked=True) +default her_top_school4 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_4", ["#b7b7b8ff", "#a74d2aff", "#edb30eff"], unlocked=True, level=4) +default her_top_school5 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_5", ["#b7b7b8ff", "#a74d2aff", "#edb30eff"], unlocked=True, level=10) +default her_top_school6 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_6", ["#6d6979ff", "#a74d2aff", "#edb30eff"], unlocked=True, level=10) +default her_top_school7 = DollCloth("hermione", ("upper body", "shirts"), "top", "top_school_7", ["#b7b7b8ff", "#a74d2aff", "#edb30eff"], unlocked=True, level=13) + +default her_bottom_school1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_1", ["#675a6cff", "#e8b10dff"], unlocked=True) +default her_bottom_school2 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_2", ["#675a6cff", "#e8b10dff"], unlocked=True, level=4) +default her_bottom_school3 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_3", ["#675a6cff", "#e8b10dff"], unlocked=True, level=10) +default her_bottom_school4 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "school_skirt_4", ["#675a6cff", "#e8b10dff"], unlocked=True, level=19) + +default her_stockings_base1 = DollCloth("hermione", ("legwear", "socks"), "stockings", "stockings_1", ["#dba50dff", "#923f1eff"], unlocked=True) + +default her_panties_base1 = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "basic_panties_1", ["#e8e8e8ff", "#ca3c01ff"], unlocked=True) +default her_bra_base1 = DollCloth("hermione", ("upper undergarment", "bras"), "bra", "basic_bra_1", ["#e8e8e8ff", "#ca3c01ff"], unlocked=True) + +default her_robe_school_1 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_1", ["#606060ff", "#ceced1ff", "#a74d2aff"], unlocked=True, level=0) +default her_robe_school_2 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_2", ["#606060ff", "#ceced1ff", "#a74d2aff"], unlocked=True, level=4) +default her_robe_school_3 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_3", ["#606060ff", "#ceced1ff", "#a74d2aff"], unlocked=True, level=10) +default her_robe_school_4 = DollCloth("hermione", ("upper body", "robes"), "robe", "robe_school_4", ["#606060ff", "#ceced1ff", "#a74d2aff"], unlocked=True, level=13) default her_outfit_default = DollOutfit([her_hair_base, her_top_school1, her_bottom_school1, her_panties_base1, her_bra_base1, her_stockings_base1], unlocked=True) default her_outfit_default_no_vest = DollOutfit([her_hair_base, her_top_school3, her_bottom_school1, her_panties_base1, her_bra_base1, her_stockings_base1], hidden=True) default her_outfit_default_no_tie_open_shirt = DollOutfit([her_hair_base, her_top_school5, her_bottom_school1, her_panties_base1, her_bra_base1, her_stockings_base1], hidden=True) default her_outfit_last = DollOutfit([her_hair_base], hidden=True) +####################### +## Slutty Schoolgirl ## +####################### + +default her_top_slutty1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "open_top_1", ["#b7b7b8ff", "#6d6979ff", "#a74d2aff", "#edb30eff"], level=19) +default her_bottom_slutty1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "open_skirt_1", ["#675a6cff"], level=19) +default her_stockings_slutty = DollCloth("hermione", ("legwear", "stockings"), "stockings", "stockings_2", ["#aaaaaaff"], level=4) + +default her_outfit_slutty_schoolgirl = DollOutfit([her_hair_base, her_top_slutty1, her_bottom_slutty1, her_stockings_slutty], price=500, name="Slutty Schoolgirl Outfit", desc="An arguably better version of the regular school outfit.") + ######################## ## Rave Bikini Outfit ## ######################## -default her_panties_bikini1 = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1", [[138, 0, 0, 255], [252, 135, 0, 255]], level=18) -default her_bra_bikini1 = DollCloth("hermione", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1", [[138, 0, 0, 255], [252, 135, 0, 255]], level=18) + +default her_panties_bikini1 = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1", ["#8a0000ff", "#fc8700ff"], level=18) +default her_bra_bikini1 = DollCloth("hermione", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1", ["#8a0000ff", "#fc8700ff"], level=18) default her_outfit_bikini1 = DollOutfit([her_hair_base, her_panties_bikini1, her_bra_bikini1], price=350, name="Rave Bikini Set", desc="A Bunch of straps for a bunch of gold!") @@ -101,16 +68,16 @@ default her_outfit_bikini1 = DollOutfit([her_hair_base, her_panties_bikini1, her ## Leather Bikini Outfit ## ########################### -default her_panties_bikini2 = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_2", [[55, 55, 55, 255], [197, 142, 35, 255]], level=16) -default her_bra_bikini2 = DollCloth("hermione", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_2", [[55, 55, 55, 255], [197, 142, 35, 255]], level=16) +default her_panties_bikini2 = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_2", ["#373737ff", "#c58e23ff"], level=16) +default her_bra_bikini2 = DollCloth("hermione", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_2", ["#373737ff", "#c58e23ff"], level=16) default her_outfit_bikini2 = DollOutfit([her_hair_base, her_panties_bikini2, her_bra_bikini2], price=350, name="Leathered Bikini Set", desc="Emits a slight squeaking sound when rubbed.") ######################### ## Sling Bikini Outfit ## ######################### -default her_panties_bikini3 = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "sling_panties", [[48, 69, 164, 255], [212, 164, 32, 255]], level=17) -default her_bra_bikini3 = DollCloth("hermione", ("upper undergarment", "bikini bras"), "bra", "sling_bra", [[48, 69, 164, 255], [212, 164, 32, 255]], level=17) +default her_panties_bikini3 = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "sling_panties", ["#3045a4ff", "#d4a420ff"], level=17) +default her_bra_bikini3 = DollCloth("hermione", ("upper undergarment", "bikini bras"), "bra", "sling_bra", ["#3045a4ff", "#d4a420ff"], level=17) default her_outfit_bikini3 = DollOutfit([her_hair_base, her_panties_bikini3, her_bra_bikini3], price=350, name="Sling Bikini Set", desc="Slingshot your dignity with one simple trick.") @@ -118,55 +85,67 @@ default her_outfit_bikini3 = DollOutfit([her_hair_base, her_panties_bikini3, her ## Maid Outfit ## ################# -default her_top_maid1 = DollCloth("hermione", ("upper body", "dresses"), "top", "maid_dress_1", [[40, 51, 61, 255], [236, 243, 244, 255], [53, 63, 84, 255]], level=4) -default her_stockings_maid1 = DollCloth("hermione", ("legwear", "socks"), "stockings", "maid_stockings_1", [[53, 33, 30, 255]], level=4) -default her_hat_maid1 = DollCloth("hermione", ("head", "headgear"), "headgear", "maid_hat_1", [[236, 243, 244, 255]], level=4) -default her_neckwear_maid1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "maid_choker_1", [[40, 51, 61, 255], [236, 243, 244, 255]], level=4) -default her_neckwear_maid2 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "maid_choker_2", [[236, 243, 244, 255]], level=4) -default her_gloves_maid1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "maid_gloves_1", [[40, 51, 61, 255], [236, 243, 244, 255], [53, 63, 84, 255]], level=4) +default her_top_maid1 = DollCloth("hermione", ("upper body", "dresses"), "top", "maid_dress_1", ["#28333dff", "#ecf3f4ff", "#353f54ff"], level=4) +default her_stockings_maid1 = DollCloth("hermione", ("legwear", "socks"), "stockings", "maid_stockings_1", ["#35211eff"], level=4) +default her_hat_maid1 = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "maid_hat_1", ["#ecf3f4ff"], level=4, tracking="?hair") +default her_neckwear_maid1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "maid_choker_1", ["#28333dff", "#ecf3f4ff"], level=4) +default her_neckwear_maid2 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "maid_choker_2", ["#ecf3f4ff"], level=4) +default her_gloves_maid1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "maid_gloves_1", ["#28333dff", "#ecf3f4ff", "#353f54ff"], level=4) default her_outfit_maid = DollOutfit([her_hair_base, her_top_maid1, her_stockings_maid1, her_hat_maid1, her_neckwear_maid1, her_gloves_maid1, her_panties_base1, her_bra_base1], addons=[her_neckwear_maid2], price=450, name="French Maid Costume", desc="A classic Maid Outfit for a classy Witch.") ################## -## Poker Outfit ## +## Poker Outfit ## # Unlockable with Tokens only ################## -default her_hat_poker1 = DollCloth("hermione", ("head", "headgear"), "headgear", "poker_hat_1", [[26, 26, 35, 255], [232, 232, 232, 255], [153, 22, 10, 255]], level=4) -default her_hat_poker2 = DollCloth("hermione", ("head", "headgear"), "headgear", "poker_hat_2", [[26, 26, 35, 255], [232, 232, 232, 255], [153, 22, 10, 255]], level=4) -default her_neckwear_poker1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "poker_bowtie_1", [[232, 232, 232, 255], [153, 22, 10, 255], [255, 179, 3, 255]], level=4) -default her_stockings_poker1 = DollCloth("hermione", ("legwear", "stockings"), "stockings", "poker_stockings_1", [[26, 26, 35, 255], [153, 22, 10, 255]], level=13) -default her_stockings_poker2 = DollCloth("hermione", ("legwear", "stockings"), "stockings", "poker_stockings_2", [[26, 26, 35, 255], [153, 22, 10, 255]], level=13) -default her_panties_poker1 = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "poker_panties_1", [[26, 26, 35, 255], [153, 22, 10, 255], [255, 179, 3, 255]], level=19) -default her_bra_poker1 = DollCloth("hermione", ("upper undergarment", "other"), "bra", "poker_bra_1", [[26, 26, 35, 255], [232, 232, 232, 255], [153, 22, 10, 255], [255, 179, 3, 255]], blacklist=["panties", "top", "bottom"], level=19) -default her_gloves_poker1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "poker_gloves_1", [[232, 232, 232, 255], [255, 179, 3, 255]], level=4) -default her_earring_poker1 = DollCloth("hermione", ("head", "earrings"), "earrings", "poker_earring_1", [[255, 179, 3, 255]], level=4) -default her_piercing2_poker1 = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing2", "poker_belly_1", [[26, 26, 35, 255], [232, 232, 232, 255], [153, 22, 10, 255], [255, 179, 3, 255]]) +default her_hat_poker1 = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "poker_hat_1", ["#1a1a23ff", "#e8e8e8ff", "#99160aff"], level=4, tracking="?hair") +default her_hat_poker2 = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "poker_hat_2", ["#1a1a23ff", "#e8e8e8ff", "#99160aff"], level=4, tracking="?hair") +default her_neckwear_poker1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "poker_bowtie_1", ["#e8e8e8ff", "#99160aff", "#ffb303ff"], level=4) +default her_stockings_poker1 = DollCloth("hermione", ("legwear", "stockings"), "stockings", "poker_stockings_1", ["#1a1a23ff", "#99160aff"], level=13) +default her_stockings_poker2 = DollCloth("hermione", ("legwear", "stockings"), "stockings", "poker_stockings_2", ["#1a1a23ff", "#99160aff"], level=13) +default her_panties_poker1 = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "poker_panties_1", ["#1a1a23ff", "#99160aff", "#ffb303ff"], level=19) +default her_bra_poker1 = DollCloth("hermione", ("upper undergarment", "other"), "bra", "poker_bra_1", ["#1a1a23ff", "#e8e8e8ff", "#99160aff", "#ffb303ff"], blacklist=["panties", "top", "bottom"], level=19) +default her_gloves_poker1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "poker_gloves_1", ["#e8e8e8ff", "#ffb303ff"], level=4) +default her_earring_poker1 = DollCloth("hermione", ("head", "earrings"), "earrings", "poker_earring_1", ["#ffb303ff"], level=4) +default her_piercing_poker1 = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "poker_belly_1", ["#1a1a23ff", "#e8e8e8ff", "#99160aff", "#ffb303ff"]) -# Unlockable with Tokens only -default her_outfit_poker = DollOutfit([her_hair_base, her_hat_poker1, her_hat_poker2, her_neckwear_poker1, her_stockings_poker1, her_stockings_poker2, her_panties_poker1, her_bra_poker1, her_gloves_poker1, her_earring_poker1, her_piercing2_poker1], name="Poke-her-nips Costume", desc="An outfit that doesn't leave much for the mind's desire, perfect for a lewd card loving girl.") +default her_outfit_poker = DollOutfit([her_hair_base, her_hat_poker1, her_hat_poker2, her_neckwear_poker1, her_stockings_poker1, her_stockings_poker2, her_panties_poker1, her_bra_poker1, her_gloves_poker1, her_earring_poker1, her_piercing_poker1], name="Poke-her-nips Costume", desc="An outfit that doesn't leave much for the mind's desire, perfect for a lewd card loving girl.") ################## ## Bunny Outfit ## ################## -default her_top_bunny1 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "bunny_top_1", [[48, 48, 48, 255]], blacklist=["panties", "bra"], zorder=7, level=19) -default her_stockings_bunny1 = DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "bunny_stockings_1", [[81, 81, 81, 255]], level=19) -default her_tattoo3_bunny1 = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo3", "bunny_tattoo1", [[0, 0, 1, 255]]) -default her_hat_bunny1 = DollCloth("hermione", ("head", "headgear"), "headgear", "bunny_hat_1", [[48, 48, 48, 255], [232, 232, 232, 255]], level=13) -default her_gloves_bunny1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "bunny_gloves_1", [[232, 232, 232, 255]], level=4) -default her_neckwear_bunny1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "bunny_bowtie_1", [[232, 232, 232, 255], [48, 48, 48, 255]], level=4) +default her_top_bunny1 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "bunny_top_1", ["#303030ff"], blacklist=["panties", "bra"], zorder=183, level=19) +default her_top_bunny2 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "bunny_top_2", ["#000000ff"], blacklist=["panties", "bra"], zorder=183, level=19) +default her_stockings_bunny1 = DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "bunny_stockings_1", ["#515151ff"], level=19) +default her_tattoo_bunny1 = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "bunny_tattoo", ["#000001ff"]) +default her_hat_bunny1 = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "bunny_hat_1", ["#303030ff", "#e8e8e8ff"], level=13, tracking="?hair") +default her_hat_bunny2 = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "bunny_hat_2", ["#b7a873ff", "#dba18cff", "#fdfdfdff"], level=13, tracking="?hair") +default her_gloves_bunny1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "bunny_gloves_1", ["#e8e8e8ff"], level=4) +default her_neckwear_bunny1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "bunny_bowtie_1", ["#e8e8e8ff", "#303030ff"], level=4) -default her_outfit_bunny = DollOutfit([her_hair_base, her_top_bunny1, her_stockings_bunny1, her_tattoo3_bunny1, her_hat_bunny1, her_gloves_bunny1, her_neckwear_bunny1], price=350, name="Sexy Bunny Costume", desc="What's up doc?") +default her_outfit_bunny = DollOutfit([her_hair_base, her_top_bunny2, her_stockings_bunny1, her_tattoo_bunny1, her_hat_bunny2, her_gloves_bunny1, her_neckwear_bunny1], addons=[her_top_bunny1, her_hat_bunny1], price=350, name="Sexy Bunny Costume", desc="What's up doc?") + +###################### +## Reindeer Costume ## #unlocked in genies_christmas_wish mirror story +###################### + +default her_hat_antlers2 = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "antlers_2", ["#994c30ff", "#ffffffff", "#c69f65ff"], level=12, tracking="?hair") +default her_neckwear_studded_choker = DollCloth("hermione", ("head", "neckwear"), "neckwear", "studded_choker", ["#2b2a32ff", "#d2cfe7ff"], level=16) +default her_top_bunny3 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "bunny_top_3", ["#8a4b04ff"], blacklist=["panties", "bra"], zorder=183, level=19) +default her_accessory_mistletoe = DollCloth("hermione", ("misc", "accessory"), "accessory", "mistletoe", ["#c82000ff"], zorder=213, level=7) + +default her_outfit_reindeer = DollOutfit([her_hair_base, her_top_bunny3, her_accessory_mistletoe, her_stockings_bunny1, her_neckwear_studded_choker, her_hat_antlers2]) ################ ## Ball Dress ## ################ -default her_hair_updo = DollCloth("hermione", ("head", "hair"), "hair", "updo", [[152, 89, 48, 255], [195, 137, 89, 255]]) -default her_top_ball1 = DollCloth("hermione", ("upper body", "dresses"), "top", "ball_dress_1", [[255, 140, 174, 255], [242, 218, 255, 255]], blacklist=["bottom"]) -default her_earring_pearls1 = DollCloth("hermione", ("head", "earrings"), "earrings", "pearl_1", [[233, 166, 253, 255]], level=4) -default her_neckwear_pearls1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "ball_pearls_1", [[233, 166, 253, 255]], level=4) -default her_accessory_ball_sash1 = DollCloth("hermione", ("misc", "accessory"), "accessory4", "ball_sash", [[247, 222, 231, 255], [161, 82, 159, 255]], zorder=16, level=4) +default her_hair_updo = DollCloth("hermione", ("head", "hair"), "hair", "updo", ["#985930ff", "#c38959ff"]) +default her_top_ball1 = DollCloth("hermione", ("upper body", "dresses"), "top", "ball_dress_1", ["#ff8caeff", "#f2daffff"], blacklist=["bottom"]) +default her_earring_pearls1 = DollCloth("hermione", ("head", "earrings"), "earrings", "pearl_1", ["#e9a6fdff"], level=4) +default her_neckwear_pearls1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "ball_pearls_1", ["#e9a6fdff"], level=4) +default her_accessory_ball_sash1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "ball_sash", ["#f7dee7ff", "#a1529fff"], zorder=213, level=4) default her_outfit_ball = DollOutfit([her_hair_updo, her_neckwear_pearls1, her_top_ball1, her_earring_pearls1, her_accessory_ball_sash1, her_panties_base1], price=0, name="Classy Ball Dress", desc="A fancy dress for a fancy witch.") @@ -174,26 +153,26 @@ default her_outfit_ball = DollOutfit([her_hair_updo, her_neckwear_pearls1, her_t ## Yennefer Outfit ## ##################### -default her_top_yen1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "yen_top", [[9, 32, 47, 255]], level=10) -default her_bottom_yen_skirt1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "yen_skirt", [[26, 26, 26, 255]], level=4) -default her_stockings_yen1 = DollCloth("hermione", ("legwear", "stockings"), "stockings", "yen_stockings", [[76, 76, 76, 255]], level=10) -default her_accessory_yen_sash1 = DollCloth("hermione", ("misc", "accessory"), "accessory4", "yen_sash", [[25, 25, 25, 255], [51, 51, 51, 255]], zorder=9, level=10) -default her_accessory_yen_belt1 = DollCloth("hermione", ("misc", "accessory"), "accessory3", "yen_belt", [[52, 37, 31, 255], [146, 142, 137, 255]], zorder=10, level=4) -default her_accessory_yen_feathers1 = DollCloth("hermione", ("misc", "accessory"), "accessory2", "yen_feathers", [[42, 190, 199, 255]], zorder=16, level=4) -default her_accessory_yen_scarf1 = DollCloth("hermione", ("misc", "accessory"), "accessory1", "yen_scarf", [[9, 32, 47, 255]], zorder=17, level=4) -default her_accessory_yen_corset1 = DollCloth("hermione", ("misc", "accessory"), "accessory0", "yen_corset", [[37, 27, 27, 255], [19, 14, 11, 255]], zorder=16, level=10) -default her_neckwear_yen_choker1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "yen_choker", [[30, 29, 28, 255]], level=4) -default her_gloves_yen1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "yen_gloves", [[52, 37, 31, 255]], zorder=16, level=4) +default her_top_yen1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "yen_top", ["#09202fff"], level=10) +default her_bottom_yen_skirt1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "yen_skirt", ["#1a1a1aff"], level=4) +default her_stockings_yen1 = DollCloth("hermione", ("legwear", "stockings"), "stockings", "yen_stockings", ["#4c4c4cff"], level=10) +default her_accessory_yen_sash1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "yen_sash", ["#191919ff", "#333333ff"], zorder=213, level=10) +default her_accessory_yen_belt1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "yen_belt", ["#34251fff", "#928e89ff"], zorder=214, level=4) +default her_accessory_yen_feathers1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "yen_feathers", ["#2abec7ff"], zorder=215, level=4) +default her_accessory_yen_scarf1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "yen_scarf", ["#09202fff"], zorder=216, level=4) +default her_accessory_yen_corset1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "yen_corset", ["#251b1bff", "#130e0bff"], zorder=212, level=10) +default her_neckwear_yen_choker1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "yen_choker", ["#1e1d1cff"], level=4) +default her_gloves_yen1 = DollCloth("hermione", ("upper body", "gloves"), "gloves", "yen_gloves", ["#34251fff"], level=4) default her_outfit_yennefer = DollOutfit([her_hair_base, her_top_yen1, her_bottom_yen_skirt1, her_accessory_yen_sash1, her_stockings_yen1, her_accessory_yen_feathers1, her_accessory_yen_scarf1, her_neckwear_yen_choker1, her_gloves_yen1, her_accessory_yen_corset1, her_accessory_yen_belt1], price=400, name="Yennefer Costume", desc="An outfit that smells of lilac and gooseberries.") ####################### -## Pizza Slut Outfit ## +## Pizza Slut Outfit ## #Unlocked in eating_for_pleasure mirror story ####################### -default her_bottom_pizza = DollCloth("hermione", ("lower body", "skirts"), "bottom", "pizza_skirt", [[180, 50, 10, 255], [235, 199, 44, 255]], level=4) -default her_top_pizza = DollCloth("hermione", ("upper body", "other"), "top", "pizza_top", [[180, 50, 10, 255]], level=19) -default her_panties_pizza = DollCloth("hermione", ("lower undergarment", "other"), "panties", "pizza_panties", [[180, 50, 10, 255]], level=19) +default her_top_pizza = DollCloth("hermione", ("upper body", "other"), "top", "pizza_top", ["#b4320aff"], level=19) +default her_bottom_pizza = DollCloth("hermione", ("lower body", "skirts"), "bottom", "pizza_skirt", ["#b4320aff", "#ebc72cff"], level=4) +default her_panties_pizza = DollCloth("hermione", ("lower undergarment", "other"), "panties", "pizza_panties", ["#b4320aff"], level=19) default her_outfit_pizza = DollOutfit([her_hair_base, her_bottom_pizza, her_top_pizza, her_panties_pizza], price=0) @@ -201,11 +180,11 @@ default her_outfit_pizza = DollOutfit([her_hair_base, her_bottom_pizza, her_top_ ## Bioshock Outfit ## ##################### -default her_hair_bioshock = DollCloth("hermione", ("head", "hair"), "hair", "bio_hair", [[31, 29, 27, 255], [54, 50, 48, 255]], level=4) -default her_bottom_bioshock = DollCloth("hermione", ("lower body", "skirts"), "bottom", "bioshock_skirt", [[12, 1, 72, 255]], level=4) -default her_top_bioshock = DollCloth("hermione", ("upper body", "other"), "top", "bioshock_corset", [[225, 224, 232, 255], [46, 46, 48, 255], [232, 232, 232, 255]], level=4) -default her_neckwear_bioshock = DollCloth("hermione", ("head", "neckwear"), "neckwear", "bioshock_choker", [[12, 1, 72, 255]], level=4) -default her_robe_bioshock = DollCloth("hermione", ("upper body", "robes"), "robe", "bioshock_robe", [[12, 1, 72, 255], [232, 232, 232, 255]], level=4) +default her_hair_bioshock = DollCloth("hermione", ("head", "hair"), "hair", "bio_hair", ["#1f1d1bff", "#363230ff"], level=4) +default her_neckwear_bioshock = DollCloth("hermione", ("head", "neckwear"), "neckwear", "bioshock_choker", ["#0c0148ff"], level=4) +default her_top_bioshock = DollCloth("hermione", ("upper body", "other"), "top", "bioshock_corset", ["#e1e0e8ff", "#2e2e30ff", "#e8e8e8ff"], level=4) +default her_bottom_bioshock = DollCloth("hermione", ("lower body", "skirts"), "bottom", "bioshock_skirt", ["#0c0148ff"], level=4) +default her_robe_bioshock = DollCloth("hermione", ("upper body", "robes"), "robe", "bioshock_robe", ["#0c0148ff", "#e8e8e8ff"], level=4) default her_outfit_bioshock = DollOutfit([her_hair_bioshock, her_robe_bioshock, her_bottom_bioshock, her_top_bioshock, her_neckwear_bioshock, her_panties_base1], price=400, name="Elizabeth Costume", desc="Flick some coins for this shockingly inspirational outfit.") @@ -213,7 +192,7 @@ default her_outfit_bioshock = DollOutfit([her_hair_bioshock, her_robe_bioshock, ## Swimsuit ## ############## -default her_top_swimsuit_1 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "swimsuit_top_1", [[22, 27, 48, 255], [224, 198, 16, 255]], blacklist=["panties", "bra"], zorder=7, level=13) +default her_top_swimsuit_1 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "swimsuit_top_1", ["#161b30ff", "#e0c610ff"], blacklist=["panties", "bra"], zorder=183, level=13) default her_outfit_swimsuit = DollOutfit([her_hair_base, her_top_swimsuit_1], price=350, name="One-piece Swimsuit", desc="A swimsuit for witches whom love getting wet.") @@ -221,36 +200,36 @@ default her_outfit_swimsuit = DollOutfit([her_hair_base, her_top_swimsuit_1], pr ## Egyptian Outfit ## ##################### -default her_top_egypt = DollCloth("hermione", ("upper body", "other"), "top", "egypt_top", [[240, 237, 250, 255]], blacklist=["bra"], level=19) -default her_bottom_egypt = DollCloth("hermione", ("lower body", "other"), "bottom", "egypt_loincloth", [[240, 237, 250, 255], [227, 182, 101, 255], [47, 151, 255, 255]], blacklist=["panties"], level=13) -default her_gloves_egypt = DollCloth("hermione", ("upper body", "gloves"), "gloves", "egypt_armband", [[227, 182, 101, 255]], level=4) -default her_neckwear_egypt = DollCloth("hermione", ("head", "neckwear"), "neckwear", "egypt_neck", [[227, 182, 101, 255], [94, 209, 236, 255], [47, 151, 255, 255]], level=4) +default her_top_egypt = DollCloth("hermione", ("upper body", "other"), "top", "egypt_top", ["#f0edfaff"], blacklist=["bra"], level=19) +default her_bottom_egypt = DollCloth("hermione", ("lower body", "other"), "bottom", "egypt_loincloth", ["#f0edfaff", "#e3b665ff", "#2f97ffff"], blacklist=["panties"], level=13) +default her_gloves_egypt = DollCloth("hermione", ("upper body", "gloves"), "gloves", "egypt_armband", ["#e3b665ff"], level=4) +default her_neckwear_egypt = DollCloth("hermione", ("head", "neckwear"), "neckwear", "egypt_neck", ["#e3b665ff", "#5ed1ecff", "#2f97ffff"], level=4) default her_outfit_egypt = DollOutfit([her_hair_base, her_neckwear_egypt, her_top_egypt, her_bottom_egypt, her_gloves_egypt], price=400, name="Cleopatra Costume", desc="Become the Cleopatra of your times!") -####################### +######################## ## Latex dress Outfit ## -####################### +######################## -default her_top_latex_dress_1 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "latex_dress_1", [[250, 139, 241, 255], [255, 173, 22, 255]], blacklist=["bra"], level=19) +default her_top_latex_dress_1 = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "latex_dress_1", ["#fa8bf1ff", "#ffad16ff"], blacklist=["bra"], level=19) default her_outfit_latex_dress = DollOutfit([her_hair_base, her_top_latex_dress_1], price=350, name="Latex Dress", desc="Something you wouldn't normally find in a regular clothing store.") ################### -## Pajama Outfit ## +## Pajama Outfit ## #Unlocked in Luna Intro ################### -default her_top_pajama = DollCloth("hermione", ("upper body", "shirts"), "top", "pajama_1", [[228, 216, 193, 255]]) -default her_bottom_pajama = DollCloth("hermione", ("lower body", "trousers"), "bottom", "pajama_1", [[156, 138, 116, 255], [228, 203, 153, 255], [228, 216, 193, 255]]) -default her_bottom_pajama2 = DollCloth("hermione", ("lower body", "trousers"), "bottom", "pajama_2", [[156, 138, 116, 255], [228, 203, 153, 255]]) +default her_top_pajama = DollCloth("hermione", ("upper body", "shirts"), "top", "pajama_1", ["#e4d8c1ff"]) +default her_bottom_pajama = DollCloth("hermione", ("lower body", "trousers"), "bottom", "pajama_1", ["#9c8a74ff", "#e4cb99ff", "#e4d8c1ff"]) +default her_bottom_pajama2 = DollCloth("hermione", ("lower body", "trousers"), "bottom", "pajama_2", ["#9c8a74ff", "#e4cb99ff"]) -default her_outfit_pajama = DollOutfit([her_hair_base, her_top_pajama, her_bottom_pajama], addons=[her_bottom_pajama2]) # Event Outfit +default her_outfit_pajama = DollOutfit([her_hair_base, her_top_pajama, her_bottom_pajama], addons=[her_bottom_pajama2]) #################### ## Nightie Outfit ## #################### -default her_top_nightie = DollCloth("hermione", ("upper body", "shirts"), "top", "nightie", [[255, 172, 184, 215]], level=13) +default her_top_nightie = DollCloth("hermione", ("upper body", "shirts"), "top", "nightie", ["#ffacb8d7"], level=13) default her_outfit_nightie = DollOutfit([her_hair_base, her_top_nightie], price=350, name="Nightie", desc="Comfortable alternative for a pyjamas.") @@ -258,7 +237,7 @@ default her_outfit_nightie = DollOutfit([her_hair_base, her_top_nightie], price= ## Teddy Outfit ## ################## -default her_top_teddy = DollCloth("hermione", ("upper body", "shirts"), "top", "teddy_top", [[20, 20, 20, 215], [148, 144, 163, 215], [148, 144, 163, 215]], level=16) +default her_top_teddy = DollCloth("hermione", ("upper body", "shirts"), "top", "teddy_top", ["#141414d7", "#9490a3d7", "#9490a3d7"], level=16) default her_outfit_teddy = DollOutfit([her_hair_base, her_top_teddy], price=350, name="Teddy Nightie", desc="A more airy nightdress leaving not much fabric between you and your bed.") @@ -266,11 +245,11 @@ default her_outfit_teddy = DollOutfit([her_hair_base, her_top_teddy], price=350, ## Tifa Outfit ## ################# -default her_top_tifa = DollCloth("hermione", ("upper body", "shirts"), "top", "tifa_top", [[232, 232, 232, 255]], level=10) -default her_accessory_tifa_belt = DollCloth("hermione", ("misc", "accessory"), "accessory3", "tifa_belt", [[50, 50, 50, 255], [154, 154, 154, 255]], level=4) -default her_accessory_tifa_suspenders = DollCloth("hermione", ("misc", "accessory"), "accessory4", "tifa_suspenders", [[86, 61, 67, 255], [154, 154, 154, 255]], zorder=16, level=4) -default her_gloves_tifa = DollCloth("hermione", ("upper body", "gloves"), "gloves", "tifa_gloves", [[72, 63, 70, 255], [228, 107, 98, 255], [125, 120, 127, 255], [189, 167, 158, 255]], level=4) -default her_bottom_tifa = DollCloth("hermione", ("lower body", "skirts"), "bottom", "tifa_skirt", [[72, 63, 70, 255]], level=10) +default her_top_tifa = DollCloth("hermione", ("upper body", "shirts"), "top", "tifa_top", ["#e8e8e8ff"], level=10) +default her_accessory_tifa_belt = DollCloth("hermione", ("misc", "accessory"), "accessory", "tifa_belt", ["#323232ff", "#9a9a9aff"], zorder=192, level=4) +default her_accessory_tifa_suspenders = DollCloth("hermione", ("misc", "accessory"), "accessory", "tifa_suspenders", ["#563d43ff", "#9a9a9aff"], zorder=213, level=4) +default her_gloves_tifa = DollCloth("hermione", ("upper body", "gloves"), "gloves", "tifa_gloves", ["#483f46ff", "#e46b62ff", "#7d787fff", "#bda79eff"], level=4) +default her_bottom_tifa = DollCloth("hermione", ("lower body", "skirts"), "bottom", "tifa_skirt", ["#483f46ff"], level=10) default her_outfit_tifa = DollOutfit([her_hair_base, her_top_tifa, her_accessory_tifa_belt, her_accessory_tifa_suspenders, her_gloves_tifa, her_bottom_tifa, her_panties_base1], price=400, name="Tifa Costume", desc="An outfit for when your sexual fantasies are just getting started.") @@ -278,10 +257,10 @@ default her_outfit_tifa = DollOutfit([her_hair_base, her_top_tifa, her_accessory ## Ms. Marvel Outfit ## ####################### -default her_top_msmarv = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "msmarv_suit", [[64, 70, 99, 255], [123, 136, 181, 255], [255, 236, 134, 255]], zorder=7, blacklist=["panties", "bra"], level=10) -default her_accessory_msmarv_ribbon = DollCloth("hermione", ("misc", "accessory"), "accessory3", "msmarv_ribbon", [[206, 41, 22, 255]], level=4) -default her_gloves_msmarv = DollCloth("hermione", ("upper body", "gloves"), "gloves", "msmarv_gloves", [[64, 70, 99, 255], [123, 136, 181, 255]], level=4) -default her_stockings_msmarv = DollCloth("hermione", ("legwear", "stockings"), "stockings", "msmarv_stockings", [[64, 70, 99, 255], [123, 136, 181, 255]], level=10) +default her_top_msmarv = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "msmarv_suit", ["#404663ff", "#7b88b5ff", "#ffec86ff"], zorder=183, blacklist=["panties", "bra"], level=10) +default her_accessory_msmarv_ribbon = DollCloth("hermione", ("misc", "accessory"), "accessory", "msmarv_ribbon", ["#ce2916ff"], zorder=212, level=4) +default her_gloves_msmarv = DollCloth("hermione", ("upper body", "gloves"), "gloves", "msmarv_gloves", ["#404663ff", "#7b88b5ff"], level=4) +default her_stockings_msmarv = DollCloth("hermione", ("legwear", "stockings"), "stockings", "msmarv_stockings", ["#404663ff", "#7b88b5ff"], level=10) default her_outfit_msmarv = DollOutfit([her_hair_base, her_top_msmarv, her_accessory_msmarv_ribbon, her_gloves_msmarv, her_stockings_msmarv], price=400, name="Miss Marvel Costume", desc="For the girl that likes the lightning bolt better on her chest than her forehead.") @@ -289,25 +268,26 @@ default her_outfit_msmarv = DollOutfit([her_hair_base, her_top_msmarv, her_acces ## Heart Slut Outfit ## ####################### -default her_top_hslut = DollCloth("hermione", ("upper body", "other"), "top", "hslut_top", [[226, 95, 95, 255], [242, 242, 242, 255]], level=19) -default her_gloves_hslut = DollCloth("hermione", ("upper body", "gloves"), "gloves", "hslut_gloves", [[242, 242, 242, 255]], level=10) -default her_stockings_hslut = DollCloth("hermione", ("legwear", "stockings"), "stockings", "hslut_socks", [[242, 242, 242, 255]], level=10) -default her_panties_hslut = DollCloth("hermione", ("lower undergarment", "other"), "panties", "hslut_panties", [[226, 95, 95, 255]], level=19) -default her_bra_hslut = DollCloth("hermione", ("upper undergarment", "other"), "bra", "hslut_pasties", [[226, 95, 95, 255], [226, 95, 95, 255]], level=19) -default her_earring_hslut = DollCloth("hermione", ("head", "earrings"), "earrings", "hslut_earring", [[226, 95, 95, 255]], level=4) -default her_neckwear_hslut = DollCloth("hermione", ("head", "neckwear"), "neckwear", "hslut_choker", [[242, 242, 242, 255], [226, 95, 95, 255]], level=10) -default her_garterbelt_hslut = DollCloth("hermione", ("legwear", "garterbelts"), "garterbelt", "hslut_garter", [[226, 95, 95, 255], [249, 148, 148, 255]], level=10) +default her_earring_hslut = DollCloth("hermione", ("head", "earrings"), "earrings", "hslut_earring", ["#e25f5fff"], level=4) +default her_neckwear_hslut = DollCloth("hermione", ("head", "neckwear"), "neckwear", "hslut_choker", ["#f2f2f2ff", "#e25f5fff"], level=10) +default her_top_hslut = DollCloth("hermione", ("upper body", "other"), "top", "hslut_top", ["#e25f5fff", "#f2f2f2ff"], level=19) +default her_gloves_hslut = DollCloth("hermione", ("upper body", "gloves"), "gloves", "hslut_gloves", ["#f2f2f2ff"], level=10) +default her_stockings_hslut = DollCloth("hermione", ("legwear", "stockings"), "stockings", "hslut_socks", ["#f2f2f2ff"], level=10) +default her_bra_hslut = DollCloth("hermione", ("upper undergarment", "other"), "bra", "hslut_pasties", ["#e25f5fff", "#e25f5fff"], level=19) +default her_panties_hslut = DollCloth("hermione", ("lower undergarment", "other"), "panties", "hslut_panties", ["#e25f5fff"], level=19) +default her_garterbelt_hslut = DollCloth("hermione", ("legwear", "garterbelts"), "garterbelt", "hslut_garter", ["#e25f5fff", "#f99494ff"], level=10) default her_outfit_hslut = DollOutfit([her_hair_base, her_top_hslut, her_gloves_hslut, her_stockings_hslut, her_panties_hslut, her_bra_hslut, her_earring_hslut, her_neckwear_hslut, her_garterbelt_hslut], price=450, name="Hearty Harlot", desc="A sexy dancers outfit with heart-shaped nipple tassels.") ####################### -## Lara Croft Outfit ## +## Lora Craft Outfit ## ####################### -default her_top_croft = DollCloth("hermione", ("upper body", "shirts"), "top", "croft_top", [[163, 201, 152, 255]], level=10) -default her_bottom_croft = DollCloth("hermione", ("lower body", "shorts"), "bottom", "croft_shorts", [[147, 114, 61, 255], [137, 136, 120, 255], [252, 192, 4, 255]],level=10) -default her_accessory_croft_belt = DollCloth("hermione", ("misc", "accessory"), "accessory3", "croft_belt", [[111, 86, 66, 255], [116, 123, 114, 255], [252, 192, 4, 255]], level=4) -default her_accessory_croft_suspenders = DollCloth("hermione", ("misc", "accessory"), "accessory4", "croft_suspenders", [[111, 86, 66, 255], [116, 123, 114, 255]], zorder=16, level=4) +default her_accessory_croft_belt = DollCloth("hermione", ("misc", "accessory"), "accessory", "croft_belt", ["#6f5642ff", "#747b72ff", "#fcc004ff"], zorder=212, level=4) +default her_accessory_croft_suspenders = DollCloth("hermione", ("misc", "accessory"), "accessory", "croft_suspenders", ["#6f5642ff", "#747b72ff"], zorder=213, level=4) + +default her_top_croft = DollCloth("hermione", ("upper body", "shirts"), "top", "croft_top", ["#a3c998ff"], level=10) +default her_bottom_croft = DollCloth("hermione", ("lower body", "shorts"), "bottom", "croft_shorts", ["#93723dff", "#898878ff", "#fcc004ff"],level=10) default her_outfit_croft = DollOutfit([her_hair_base, her_top_croft, her_bottom_croft, her_accessory_croft_belt, her_accessory_croft_suspenders, her_panties_base1], price=400, name="Lora Craft Costume", desc="An outfit perfectly suited for exploring deep, dark and moist caverns.\n{size=-4}Disclaimer: This outfit has no association with a character known as Lara Croft. Totally.{/size}") @@ -315,186 +295,207 @@ default her_outfit_croft = DollOutfit([her_hair_base, her_top_croft, her_bottom_ ## Witch Outfit ## ################## -default her_top_witch = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "witch_top", [[71, 51, 102, 255], [252, 180, 112, 255]], blacklist=["panties"], level=10) -default her_stockings_witch = DollCloth("hermione", ("legwear", "stockings"), "stockings", "witch_stockings", [[71, 51, 102, 255], [252, 180, 112, 255]], level=4) -default her_robe_witch = DollCloth("hermione", ("upper body", "robes"), "robe", "witch_cape", [[71, 51, 102, 255], [252, 180, 112, 255], [36, 112, 58, 255]], level=4) +default her_top_witch = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "witch_top", ["#473366ff", "#fcb470ff"], blacklist=["panties"], level=10) +default her_stockings_witch = DollCloth("hermione", ("legwear", "stockings"), "stockings", "witch_stockings", ["#473366ff", "#fcb470ff"], level=4) +default her_robe_witch = DollCloth("hermione", ("upper body", "robes"), "robe", "witch_cape", ["#473366ff", "#fcb470ff", "#24703aff"], level=4) default her_outfit_witch = DollOutfit([her_hair_base, her_top_witch, her_stockings_witch, her_robe_witch], price=400, name="16th Century Witch Costume", desc="An ancient witch costume coming straight from 16th century. Stay away from the burning stakes!") -####################### -## Slutty Schoolgirl ## -####################### - -default her_top_slutty1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "open_top_1", [[183, 183, 184, 255], [109, 105, 121, 255], [167, 77, 42, 255], [237, 179, 14, 255]], level=19) -default her_bottom_slutty1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "open_skirt_1", [[103, 90, 108, 255]], level=19) -default her_stockings_slutty = DollCloth("hermione", ("legwear", "stockings"), "stockings", "stockings_2", [[170, 170, 170, 255]], level=4) - -default her_outfit_slutty_schoolgirl = DollOutfit([her_hair_base, her_top_slutty1, her_bottom_slutty1, her_stockings_slutty], price=500, name="Slutty Schoolgirl outfit", desc="An arguably better version of the regular school outfit.") - ################## ## Latex Outfit ## ################## -default her_top_latex = DollCloth("hermione", ("upper body", "shirts"), "top", "latex_top", [[55, 55, 55, 255]], level=19) -default her_gloves_latex = DollCloth("hermione", ("upper body", "gloves"), "gloves", "latex_gloves", [[55, 55, 55, 255]], level=13) -default her_stockings_latex = DollCloth("hermione", ("legwear", "stockings"), "stockings", "latex_stockings", [[55, 55, 55, 255]], level=13) -default her_panties_latex = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "latex_panties", [[55, 55, 55, 255]], level=19) -default her_neckwear_latex = DollCloth("hermione", ("head", "neckwear"), "neckwear", "latex_choker", [[55, 55, 55, 255]], level=13) +default her_top_latex = DollCloth("hermione", ("upper body", "shirts"), "top", "latex_top", ["#373737ff"], level=19) +default her_neckwear_latex = DollCloth("hermione", ("head", "neckwear"), "neckwear", "latex_choker", ["#373737ff"], level=13) +default her_gloves_latex = DollCloth("hermione", ("upper body", "gloves"), "gloves", "latex_gloves", ["#373737ff"], level=13) +default her_stockings_latex = DollCloth("hermione", ("legwear", "stockings"), "stockings", "latex_stockings", ["#373737ff"], level=13) +default her_panties_latex = DollCloth("hermione", ("lower undergarment", "bikini panties"), "panties", "latex_panties", ["#373737ff"], level=19) default her_outfit_latex = DollOutfit([her_hair_base, her_top_latex, her_gloves_latex, her_stockings_latex, her_panties_latex, her_neckwear_latex], price=350, name="Latex Set", desc="A tight fitting outfit that takes approximately twenty minutes to put on properly.") -################# -## Fishnet Outfit -################# +#################### +## Fishnet Outfit ## +#################### -default her_top_fishnet = DollCloth("hermione", ("upper body", "other"), "top", "fishnet_top", [[24, 24, 24, 255]], blacklist=["bra"], level=19) -default her_panties_fishnet = DollCloth("hermione", ("lower undergarment", "other"), "panties", "fishnet_panties", [[24, 24, 24, 255]], level=19) +default her_top_fishnet = DollCloth("hermione", ("upper body", "other"), "top", "fishnet_top", ["#181818ff"], blacklist=["bra"], level=19) +default her_panties_fishnet = DollCloth("hermione", ("lower undergarment", "other"), "panties", "fishnet_panties", ["#181818ff"], level=19) -default her_outfit_fishnet = DollOutfit([her_hair_base, her_top_fishnet, her_panties_fishnet], price=350, name="Fishnet set", desc="Disclaimer: Not suitable for actual fish catching.") +default her_outfit_fishnet = DollOutfit([her_hair_base, her_top_fishnet, her_panties_fishnet], price=350, name="Fishnet Set", desc="Disclaimer: Not suitable for actual fish catching.") +############################## +## Fishnet One-piece Outfit ## +############################## -########################### -## Fishnet One-piece Outfit -########################### +default her_top_fishnet_onepiece = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "fishnet_onepiece", ["#000000ff", "#000000ff"], blacklist=["panties", "bra"], zorder=183, level=19) +default her_stockings_short_meshed = DollCloth("hermione", ("legwear", "socks"), "stockings", "short_meshed", ["#000000ff", "#000000ff"], level=13) -default her_top_fishnet_onepiece = DollCloth("hermione", ("upper body", "one-piece suits"), "top", "fishnet_onepiece", [[0, 0, 0, 255], [0, 0, 0, 255]], blacklist=["panties", "bra"], zorder=7, level=19) -default her_stockings_short_meshed = DollCloth("hermione", ("legwear", "socks"), "stockings", "short_meshed", [[0, 0, 0, 255], [0, 0, 0, 255]], level=13) - -default her_outfit_fishnet_onepiece = DollOutfit([her_hair_base, her_top_fishnet_onepiece, her_stockings_short_meshed], price=350, name="Fishnet Onepiece", desc="Perfect for containing your daily catch.") +default her_outfit_fishnet_onepiece = DollOutfit([her_hair_base, her_top_fishnet_onepiece, her_stockings_short_meshed], price=350, name="Fishnet One-piece", desc="Perfect for containing your daily catch.") ################### -## Winter Outfit ## (Unfinished) # TODO: Add to clothing event once it's been finished. +## Winter Outfit ## ################### -default her_top_pullover_1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "pullover_1", [[255, 123, 207, 255]], unlocked=True) -default her_top_pullover_2 = DollCloth("hermione", ("upper body", "sweaters"), "top", "pullover_2", [[255, 123, 207, 255]], unlocked=True, level=8) -default her_top_pullover_3 = DollCloth("hermione", ("upper body", "sweaters"), "top", "pullover_3", [[255, 123, 207, 255]], unlocked=True, level=16) -default her_bottom_winter_1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "winter_skirt_1", [[192, 31, 30, 255]]) -default her_stockings_pantyhose_1= DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "pantyhose_1", [[177, 144, 131, 255]], unlocked=True, level=4) -default her_stockings_pantyhose_2= DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "pantyhose_2", [[177, 144, 131, 255]], unlocked=True, level=10) -default her_stockings_pantyhose_3= DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "pantyhose_3", [[177, 144, 131, 255]], unlocked=True, level=19) +default her_top_pullover_1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "pullover_1", ["#ff7bcfff"], unlocked=True) +default her_top_pullover_2 = DollCloth("hermione", ("upper body", "sweaters"), "top", "pullover_2", ["#ff7bcfff"], unlocked=True, level=8) +default her_top_pullover_3 = DollCloth("hermione", ("upper body", "sweaters"), "top", "pullover_3", ["#ff7bcfff"], unlocked=True, level=16) +default her_stockings_pantyhose_1= DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "pantyhose_1", ["#b19083ff"], unlocked=True, level=4) +default her_stockings_pantyhose_2= DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "pantyhose_2", ["#b19083ff"], unlocked=True, level=10) +default her_stockings_pantyhose_3= DollCloth("hermione", ("legwear", "pantyhose"), "stockings", "pantyhose_3", ["#b19083ff"], unlocked=True, level=19) ################### ## Spring Outfit ## ################### -default her_top_ruffled = DollCloth("hermione", ("upper body", "shirts"), "top", "ruffled_top", [[235, 223, 163, 255]], unlocked=True, level=4) -default her_bottom_jeans = DollCloth("hermione", ("lower body", "trousers"), "bottom", "jeans_1", [[64, 87, 88, 255], [174, 93, 11, 255], [155, 142, 130, 255]], unlocked=True) +default her_top_ruffled = DollCloth("hermione", ("upper body", "shirts"), "top", "ruffled_top", ["#ebdfa3ff"], unlocked=True, level=4) +default her_bottom_jeans = DollCloth("hermione", ("lower body", "trousers"), "bottom", "jeans_1", ["#405758ff", "#ae5d0bff", "#9b8e82ff"], unlocked=True) ################### -## Casual Outfit ## TODO: Turn into clothing event once it's been finished. +## Casual Outfit ## ################### -default her_top_casual1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "casual_top_1", [[116, 18, 48, 255], [60, 111, 66, 255]], unlocked=True) -default her_top_casual2 = DollCloth("hermione", ("upper body", "sweaters"), "top", "casual_top_2", [[116, 18, 48, 255]], unlocked=True, level=6) +default her_top_casual1 = DollCloth("hermione", ("upper body", "sweaters"), "top", "casual_top_1", ["#741230ff", "#3c6f42ff"], unlocked=True) +default her_top_casual2 = DollCloth("hermione", ("upper body", "sweaters"), "top", "casual_top_2", ["#741230ff"], unlocked=True, level=6) -######################## -## Cheerleader Outfit ## -######################## +######################### +## Cheerleader Outfits ## +######################### -default her_top_cheerleader1 = DollCloth("hermione", ("upper body", "shirts"), "top", "cheerleader_top_1", [[251, 251, 251, 255], [167, 77, 42, 255], [237, 179, 14, 255]], level=10) -default her_top_cheerleader2 = DollCloth("hermione", ("upper body", "other"), "top", "cheerleader_top_2", [[167, 77, 42, 255], [237, 179, 14, 255]], level=16) +default her_top_cheerleader1 = DollCloth("hermione", ("upper body", "shirts"), "top", "cheerleader_top_1", ["#fbfbfbff", "#a74d2aff", "#edb30eff"], level=10) +default her_top_cheerleader2 = DollCloth("hermione", ("upper body", "other"), "top", "cheerleader_top_2", ["#a74d2aff", "#edb30eff"], level=16) -default her_bottom_cheerleader1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "cheerleader_skirt_1", [[251, 251, 251, 255], [167, 77, 42, 255], [237, 179, 14, 255]], level=10) -default her_bottom_cheerleader2 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "cheerleader_skirt_2", [[232, 232, 232, 255], [167, 77, 42, 255], [237, 179, 14, 255]], level=14) +default her_bottom_cheerleader1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "cheerleader_skirt_1", ["#fbfbfbff", "#a74d2aff", "#edb30eff"], level=10) +default her_bottom_cheerleader2 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "cheerleader_skirt_2", ["#e8e8e8ff", "#a74d2aff", "#edb30eff"], level=14) -default her_gloves_cheerleader = DollCloth("hermione", ("upper body", "gloves"), "gloves", "cheerleader_armband", [[167, 77, 42, 255], [237, 179, 14, 255]]) +default her_gloves_cheerleader = DollCloth("hermione", ("upper body", "gloves"), "gloves", "cheerleader_armband", ["#a74d2aff", "#edb30eff"]) -default her_outfit_cheerleader_1 = DollOutfit([her_hair_base, her_top_cheerleader1, her_bottom_cheerleader1, her_gloves_cheerleader, her_panties_base1, her_bra_base1], price=450, name="Gryffindor Cheerleader uniform", desc="So daring and bold, sporting red and gold!") -default her_outfit_cheerleader_2 = DollOutfit([her_hair_base, her_top_cheerleader2, her_bottom_cheerleader2, her_panties_base1, her_bra_base1], price=650, name="Gryffindor Cheerleader Plus uniform", desc="For when your teammates need an extra push.") +default her_outfit_cheerleader_1 = DollOutfit([her_hair_base, her_top_cheerleader1, her_bottom_cheerleader1, her_gloves_cheerleader, her_panties_base1, her_bra_base1], price=450, name="Gryffindor Cheerleader Uniform", desc="So daring and bold, sporting red and gold!") +default her_outfit_cheerleader_2 = DollOutfit([her_hair_base, her_top_cheerleader2, her_bottom_cheerleader2, her_panties_base1, her_bra_base1], price=650, name="Gryffindor Cheerleader Plus Uniform", desc="For when your teammates need an extra push.") ################# ~*~Ä~*~*~*~*~ ################# ## Xmas Stuff ### /%\ ___&__ ### Ho Ho Ho ## ################# /% \ |=I~I=| ################# -default her_hat_antlers = DollCloth("hermione", ("head", "headgear"), "headgear", "antlers", [[234, 187, 170, 255]], level=8) -default her_hat_elf = DollCloth("hermione", ("head", "headgear"), "headgear", "elf", [[229, 0, 10, 255], [255, 239, 248, 255]], level=8) -default her_neckwear_choker1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "choker_1", [[229, 0, 10, 255]], level=4) -default her_neckwear_bell1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "bell_1", [[229, 0, 10, 255], [244, 181, 82, 255]], zorder=16, level=10) +default her_hat_antlers = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "antlers", ["#eabbaaff"], level=8, tracking="?hair") +default her_hat_elf = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "elf", ["#e5000aff", "#ffeff8ff"], level=8, tracking="?hair") +default her_neckwear_choker1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "choker_1", ["#e5000aff"], level=4) +default her_neckwear_bell1 = DollCloth("hermione", ("head", "neckwear"), "neckwear", "bell_1", ["#e5000aff", "#f4b552ff"], zorder=213, level=10) -default her_bra_ribbon = DollCloth("hermione", ("upper undergarment", "other"), "bra", "ribbon", [[229, 0, 10, 255]], blacklist=["top"], level=18) -default her_panties_ribbon = DollCloth("hermione", ("lower undergarment", "other"), "panties", "ribbon", [[229, 0, 10, 255]], blacklist=["bottom"], level=18) +default her_bra_ribbon = DollCloth("hermione", ("upper undergarment", "other"), "bra", "ribbon", ["#e5000aff"], blacklist=["top"], level=18) +default her_panties_ribbon = DollCloth("hermione", ("lower undergarment", "other"), "panties", "ribbon", ["#e5000aff"], blacklist=["bottom"], level=18) -default her_top_xmas = DollCloth("hermione", ("upper body", "other"), "top", "xmas",[[229, 0, 10, 255], [255, 239, 248, 255], [109, 194, 101, 255]], level=13) -default her_bottom_xmas = DollCloth("hermione", ("lower body", "other"), "bottom", "xmas",[[229, 0, 10, 255], [255, 239, 248, 255]], level=13) -default her_gloves_xmas = DollCloth("hermione", ("upper body", "gloves"), "gloves", "xmas", [[255, 239, 248, 255]]) -default her_stockings_xmas = DollCloth("hermione", ("legwear", "stockings"), "stockings", "xmas",[[255, 255, 255, 255], [255, 255, 255, 255]], level=10) +default her_top_xmas = DollCloth("hermione", ("upper body", "other"), "top", "xmas",["#e5000aff", "#ffeff8ff", "#6dc265ff"], level=13) +default her_bottom_xmas = DollCloth("hermione", ("lower body", "other"), "bottom", "xmas",["#e5000aff", "#ffeff8ff"], level=13) +default her_gloves_xmas = DollCloth("hermione", ("upper body", "gloves"), "gloves", "xmas", ["#ffeff8ff"]) +default her_stockings_xmas = DollCloth("hermione", ("legwear", "stockings"), "stockings", "xmas",["#ffffffff", "#ffffffff"], level=10) default her_outfit_ribbon = DollOutfit([her_hair_base, her_neckwear_choker1, her_bra_ribbon, her_panties_ribbon]) default her_outfit_xmas = DollOutfit([her_hair_base, her_hat_antlers, her_neckwear_bell1, her_top_xmas, her_bottom_xmas, her_gloves_xmas, her_stockings_xmas, her_panties_base1], addons=[her_hat_elf]) -##################### -## Wrestling Robes ## -##################### +############################ +## Wrestling Robes Outfit ## #Unlocked in a_white_christmas mirror story +############################ -default her_robe_wrestling = DollCloth("hermione", ("upper body", "robes"), "robe", "wrestling_robe", [[166, 63, 29, 255], [255, 253, 237, 255]], level=3) -default her_bra_sports = DollCloth("hermione", ("upper undergarment", "bras"), "bra", "sports_bra", [[66, 71, 100, 255], [242, 244, 255, 255]], level=3) -default her_panties_sports = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "sports_panties", [[66, 71, 100, 255], [242, 244, 255, 255]], level=3) -default her_accessory_belt_wrestling = DollCloth("hermione", ("misc", "accessory"), "accessory0", "wrestling_belt", [[60, 71, 91, 255], [240, 251, 117, 255]], zorder=10, level=3) +default her_robe_wrestling = DollCloth("hermione", ("upper body", "robes"), "robe", "wrestling_robe", ["#a63f1dff", "#fffdedff"], level=3) +default her_bra_sports = DollCloth("hermione", ("upper undergarment", "bras"), "bra", "sports_bra", ["#424764ff", "#f2f4ffff"], level=3) +default her_panties_sports = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "sports_panties", ["#424764ff", "#f2f4ffff"], level=3) +default her_accessory_belt_wrestling = DollCloth("hermione", ("misc", "accessory"), "accessory", "wrestling_belt", ["#3c475bff", "#f0fb75ff"], zorder=192, level=3) default her_outfit_wrestling = DollOutfit([her_hair_base, her_robe_wrestling, her_bra_sports, her_panties_sports, her_accessory_belt_wrestling]) -########## -## MISC ## -########## +############################ +## Blueballing Bad Outfit ## #Unlocked in blueballing_bad mirror story +############################ -default her_accessory_gift_wrap = DollCloth("hermione", ("misc", "accessory"), "accessory3", "leg_wrap", [[167, 77, 42, 255], [237, 179, 14, 255]], zorder=7, unlocked=True, level=5) -default her_bra_bandaids = DollCloth("hermione", ("upper undergarment", "other"), "bra", "bandaids", [[233, 187, 149, 255]], unlocked=True, level=19) +default her_accessory_bb_tie = DollCloth("hermione", ("misc", "accessory"), "accessory", "bb_tie", ["#b1339fff", "#f62800ff", "#fff700ff"], zorder=152) +default her_tattoo_bb_tattoo = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "bb_tattoo", ["#000000ff", "#fff700ff", "#f62800ff"]) + +default her_outfit_bb = DollOutfit([her_hair_base, her_accessory_bb_tie, her_tattoo_bb_tattoo]) + +################# +## Accessories ## +################# + +default her_accessory_house_emblem = DollCloth("hermione", ("misc", "accessory"), "accessory", "house_emblem", ["#a74d2aff", "#edb30eff"], zorder=212, unlocked=True) + +default her_accessory_reading_glasses = DollCloth("hermione", ("head", "glasses"), "glasses", "reading_glasses", ["#f0f0f1ff"], unlocked=True) +default her_accessory_vintage_glasses = DollCloth("hermione", ("head", "glasses"), "glasses", "vintage_glasses", ["#ffffff32", "#242424ff", "#747474ff"], unlocked=True) ############# ## Tattoos ## ############# # Pelvis/crotch (Slot 0) -default her_tattoo0_10g = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "10g_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_cockhole = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "cockhole_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_cumhere = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "cumhere_tattoo2", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_cumslut = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "cumslut_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_cunt = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "cunt_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_deatheater = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "deatheater_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_deposit = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "deposit_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_fuckme = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "fuckme_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_mudblood = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "mudblood_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_nocondom = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "nocondom_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_punkblood = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "punkblood_tattoo", [[192, 84, 58, 255], [68, 188, 64, 255]], unlocked=True) -default her_tattoo0_whore = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "whore_tattoo", [[0, 0, 0, 255]], unlocked=True) -default her_tattoo0_womb = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo0", "womb_tattoo", [[0, 0, 0, 255]], unlocked=True) +default her_tattoo_10g = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "10g_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_cockhole = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "cockhole_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_cumhere = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "cumhere_tattoo1", ["#000000ff"], unlocked=True) +default her_tattoo_cumslut = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "cumslut_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_cunt = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "cunt_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_deatheater = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "deatheater_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_deposit = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "deposit_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_fuckme = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "fuckme_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_mudblood = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "mudblood_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_nocondom = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "nocondom_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_punkblood = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "punkblood_tattoo", ["#c0543aff", "#44bc40ff"], unlocked=True) +default her_tattoo_whore = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "whore_tattoo", ["#000000ff"], unlocked=True) +default her_tattoo_womb = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "womb_tattoo", ["#000000ff"], unlocked=True) # Breasts/Nipples (Slot 1) -default her_tattoo1_twist = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo1", "twist_tattoo", [[0, 0, 0, 255]], unlocked=True) +default her_tattoo_twist = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "twist_tattoo", ["#000000ff"], unlocked=True) # Torso/chest (Slot 2) -default her_tattoo2_cumhere = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo2", "cumhere_tattoo1", [[0, 0, 0, 255]], unlocked=True) +default her_tattoo_cumhere2 = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "cumhere_tattoo2", ["#000000ff"], unlocked=True) # Legs/Thighs (Slot 3) -default her_tattoo3_lockhart = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo3", "lockhart_tattoo", [[70, 70, 70, 255]]) -default her_tattoo3_free = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo3", "free_tattoo", [[0, 0, 0, 255]], unlocked=True) +default her_tattoo_lockhart = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "lockhart_tattoo", ["#464646ff"]) +default her_tattoo_free = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo", "free_tattoo", ["#000000ff"], unlocked=True) ############ ## Makeup ## ############ -# Face (Slot 0) -default her_makeup0_freckles = DollCloth("hermione", ("head", "makeup"), "makeup0", "freckles1", [[185, 124, 81, 255]], unlocked=True) -default her_makeup0_freckles_nonose = DollCloth("hermione", ("head", "makeup"), "makeup0", "freckles1_nonose", [[185, 124, 81, 255]], unlocked=True) +# Face +default her_makeup_freckles1 = DollCloth("hermione", ("head", "makeup"), "makeup", "freckles1", ["#fd9d60ff"], unlocked=True) +default her_makeup_freckles2 = DollCloth("hermione", ("head", "makeup"), "makeup", "freckles2", ["#fd9d60ff"], unlocked=True) # Breasts -default her_makeup1_freckles = DollCloth("hermione", ("head", "makeup"), "makeup1", "freckles2", [[185, 124, 81, 255]], unlocked=True) +default her_makeup_freckles3 = DollCloth("hermione", ("head", "makeup"), "makeup", "freckles3", ["#b97c51ff"], unlocked=True) # Torso -default her_makeup2_freckles = DollCloth("hermione", ("head", "makeup"), "makeup2", "freckles3", [[185, 124, 81, 255]], unlocked=True) +default her_makeup_freckles4 = DollCloth("hermione", ("head", "makeup"), "makeup", "freckles4", ["#b97c51ff"], unlocked=True) -# Lipstick (DollLipstick) -default her_makeup4_lipstick = DollLipstick("hermione", ("head", "makeup"), "makeup4", "lipstick", [[255, 70, 70, 255]], unlocked=True) +# Lipstick +default her_makeup_lipstick = DollMakeup("hermione", ("head", "makeup"), "makeup", "lipstick", ["#ff4646ff"], unlocked=True, tracking="mouth") ################ ## Pubic Hair ## ################ -default her_pubes_arrow = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "arrow", [[152, 89, 48, 255]], unlocked=True) -default her_pubes_beaver = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "beaver", [[152, 89, 48, 255]], unlocked=True) -default her_pubes_stuble = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "stuble", [[92, 54, 29, 255]], unlocked=True) -default her_pubes_unshaved = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "unshaved", [[92, 54, 29, 255]], unlocked=True) +default her_pubes_arrow = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "arrow", ["#985930ff"], unlocked=True) +default her_pubes_beaver = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "beaver", ["#985930ff"], unlocked=True) +default her_pubes_stuble = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "stuble", ["#5c361dff"], unlocked=True) +default her_pubes_unshaved = DollCloth("hermione", ("lower undergarment", "pubes"), "pubes", "unshaved", ["#5c361dff"], unlocked=True) + +############### +## Piercings ## +############### + +default her_piercing_clit_stud = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "clit_stud", ["#a19f9fff"], unlocked=True) +default her_piercing_nipple_stud = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "nipple_stud", ["#a19f9fff"], unlocked=True) +default her_piercing_nipple_rings = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "nipple_rings", ["#a19f9fff"], unlocked=True) +default her_piercing_nipple_rings2 = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "nipple_rings2", ["#a19f9fff"], unlocked=True) +default her_piercing_nipple_rings3 = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "nipple_rings3", ["#a19f9fff"], unlocked=True) +default her_piercing_nipple_bells = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "nipple_bells", ["#f4b552ff"]) + +default her_piercing_belly_stud = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "belly_stud", ["#a19f9fff"], unlocked=True) +default her_piercing_belly_heart = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "belly_heart", ["#a19f9fff"], unlocked=True) +default her_piercing_belly_dick = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing", "belly_dick", ["#a19f9fff"], unlocked=True) + +########## +## MISC ## +########## + +default her_accessory_gift_wrap = DollCloth("hermione", ("misc", "accessory"), "accessory", "leg_wrap", ["#a74d2aff", "#edb30eff"], zorder=183, unlocked=True, level=5) +default her_bra_bandaids = DollCloth("hermione", ("upper undergarment", "other"), "bra", "bandaids", ["#e9bb95ff"], unlocked=True, level=19) ### Default Schedules ### @@ -504,68 +505,58 @@ default her_outfit_s_snow = DollOutfit([her_hair_base, her_top_pullover_1, her_b default her_outfit_s_overcast = DollOutfit([her_hair_base, her_top_pullover_1, her_bottom_school1, her_panties_base1, her_bra_base1, her_stockings_base1], True, schedule={"day": True, "night": True, "cloudy": True}) default her_outfit_s_rain = DollOutfit([her_hair_base, her_robe_school_1, her_top_school1, her_bottom_school1, her_panties_base1, her_bra_base1, her_stockings_base1], True, schedule={"day": True, "night": True, "rainy": True}) -############################ -## Cat-girl potion outfit ## -############################ +############ +## Events ## +############ -default her_cat_ears = DollCloth("hermione", ("head", "headgear"), "headgear", "cat_ears", [[209, 123, 67, 255], [232, 232, 232, 255]]) -default her_cat_legs = DollCloth("hermione", ("legwear", "stockings"), "stockings", "cat_legs",[[209, 123, 67, 255]]) -default her_cat_arms = DollCloth("hermione", ("upper body", "gloves"), "gloves", "cat_arms", [[209, 123, 67, 255], [214, 122, 122, 255], [37, 37, 37, 255]]) -default her_cat_tail = DollCloth("hermione", ("misc", "accessory"), "accessory0", "cat_tail", [[209, 123, 67, 255]], zorder=-1) -default her_cat_muzzle = DollCloth("hermione", ("head", "makeup"), "makeup0", "cat_muzzle", [[214, 122, 122, 255]]) +# Gryffindor Quidditch Match +default herq_panties_on_head = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "panties_on_head", ["#9cccf9ff"], tracking="?hair") + +# Vibrator +default her_panties_base_vibrators = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "basic_panties_vibrators", ["#e8e8e8ff", "#ca3c01ff"]) +default her_bra_base_vibrators = DollCloth("hermione", ("upper undergarment", "bras"), "bra", "basic_bra_vibrators", ["#e8e8e8ff", "#ca3c01ff"]) +default her_nipple_vibrators = DollCloth("hermione", ("misc", "accessory"), "accessory", "nipple_vibrators", ["#ea8e61ff", "#fcd987ff", "#ff7660ff"], zorder=152) +default her_clit_vibrators = DollCloth("hermione", ("misc", "accessory"), "accessory", "clit_vibrators", ["#ea8e61ff", "#fcd987ff", "#ff7660ff"], zorder=152) + +default her_outfit_vibrators = DollOutfit([her_hair_base, her_panties_base_vibrators, her_bra_base_vibrators, her_nipple_vibrators, her_clit_vibrators], hidden=True) +default her_outfit_vibrators_nude = DollOutfit([her_hair_base, her_nipple_vibrators, her_clit_vibrators], hidden=True) + +# Magic Collars +default her_neckwear_basic_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "basic_collar", ["#b6725bff", "#ff0000ff"]) +default her_neckwear_good_girl_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "good_girl_collar", ["#ffb8c0ff", "#ffe0e6ff", "#ff66ccff"]) +default her_neckwear_whore_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "whore_collar", ["#3b3b3bff"]) +default her_neckwear_flasher_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "flasher_collar", ["#e940f0ff", "#f5db68ff"], blacklist=["top", "bra"]) +default her_neckwear_slut_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "slut_collar", ["#fb4252ff", "#282828ff"]) +default her_neckwear_slave_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "slave_collar", ["#aaa9adff"]) + +# Butt Plugs +default her_buttplug_small1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "buttplug_small_1", ["#fcc3dbff", "#544cd6ff"], zorder=-1, level=15) +default her_buttplug_medium1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "buttplug_medium_1", ["#ffff77ff", "#f38c09ff", "#ff4c2eff", "#544cd6ff"], zorder=-1, level=19) +default her_buttplug_large1 = DollCloth("hermione", ("misc", "accessory"), "accessory", "buttplug_large_1", ["#63d00eff", "#fe6cb5ff", "#544cd6ff"], zorder=-1, level=23) + +# Potions # + +default her_chest_breasts1 = DollBodypart("hermione", ("hidden", "chest"), "chest", "big1") +default her_chest_breasts2 = DollBodypart("hermione", ("hidden", "chest"), "chest", "big2") +default her_chest_breasts3 = DollBodypart("hermione", ("hidden", "chest"), "chest", "big3") + +default her_hips_ass1 = DollBodypart("hermione", ("hidden", "hips"), "hips", "big1") +default her_hips_ass2 = DollBodypart("hermione", ("hidden", "hips"), "hips", "big2") +default her_hips_ass3 = DollBodypart("hermione", ("hidden", "hips"), "hips", "big3") + +# Catgirl +default her_cat_ears = DollClothDynamic("hermione", ("head", "headgear"), "headgear", "cat_ears", ["#d17b43ff", "#e8e8e8ff"], tracking="?hair") +default her_cat_legs = DollCloth("hermione", ("legwear", "stockings"), "stockings", "cat_legs",["#d17b43ff"]) +default her_cat_arms = DollCloth("hermione", ("upper body", "gloves"), "gloves", "cat_arms", ["#d17b43ff", "#d67a7aff", "#252525ff"]) +default her_cat_tail = DollCloth("hermione", ("misc", "accessory"), "accessory", "cat_tail", ["#d17b43ff"], zorder=-1) +default her_cat_muzzle = DollCloth("hermione", ("head", "makeup"), "makeup", "cat_muzzle", ["#d67a7aff"]) default her_outfit_cat1 = DollOutfit([her_hair_base, her_cat_ears, her_cat_tail], hidden=True) default her_outfit_cat2 = DollOutfit([her_hair_base, her_cat_ears, her_cat_tail, her_cat_legs, her_cat_arms, her_pubes_beaver], hidden=True) default her_outfit_cat3 = DollOutfit([her_hair_base, her_cat_ears, her_cat_tail, her_cat_legs, her_cat_arms, her_pubes_beaver, her_cat_muzzle], hidden=True) -################### -## Magic Collars ## -################### - -default her_neckwear_basic_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "basic_collar", [[182, 114, 91, 255], [255, 0, 0, 255]]) -default her_neckwear_good_girl_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "good_girl_collar", [[255, 184, 192, 255], [255, 224, 230, 255], [255, 102, 204, 255]]) -default her_neckwear_whore_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "whore_collar", [[59, 59, 59, 255]]) -default her_neckwear_flasher_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "flasher_collar", [[233, 64, 240, 255], [245, 219, 104, 255]], blacklist=["top", "bra"]) -default her_neckwear_slut_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "slut_collar", [[251, 66, 82, 255], [40, 40, 40, 255]]) -default her_neckwear_slave_collar = DollCloth("hermione", ("head", "neckwear"), "neckwear", "slave_collar", [[170, 169, 173, 255]]) - ################ -## Butt Plugs ## +## Not In Use ## ################ -default her_buttplug_small1 = DollCloth("hermione", ("misc", "accessory"), "buttplug", "buttplug_small_1", [[252, 195, 219, 255], [84, 76, 214, 255]], zorder=-1, level=15) -default her_buttplug_medium1 = DollCloth("hermione", ("misc", "accessory"), "buttplug", "buttplug_medium_1", [[255, 255, 119, 255], [243, 140, 9, 255], [255, 76, 46, 255], [84, 76, 214, 255]], zorder=-1, level=19) -default her_buttplug_large1 = DollCloth("hermione", ("misc", "accessory"), "buttplug", "buttplug_large_1", [[99, 208, 14, 255], [254, 108, 181, 255], [84, 76, 214, 255]], zorder=-1, level=23) -############### -## Piercings ## -############### - -default her_piercing0_clit_stud = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing0", "clit_stud", [[161, 159, 159, 255]], unlocked=True) -default her_piercing1_nipple_stud = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing1", "nipple_stud", [[161, 159, 159, 255]], unlocked=True) -default her_piercing1_nipple_rings = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing1", "nipple_rings", [[161, 159, 159, 255]], unlocked=True) -default her_piercing1_nipple_rings2 = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing1", "nipple_rings2", [[161, 159, 159, 255]], unlocked=True) -default her_piercing1_nipple_rings3 = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing1", "nipple_rings3", [[161, 159, 159, 255]], unlocked=True) -default her_piercing1_nipple_bells = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing1", "nipple_bells", [[244, 181, 82, 255]]) - -default her_piercing2_belly_stud = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing2", "belly_stud", [[161, 159, 159, 255]], unlocked=True) -default her_piercing2_belly_heart = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing2", "belly_heart", [[161, 159, 159, 255]], unlocked=True) -default her_piercing2_belly_dick = DollCloth("hermione", ("piercings & tattoos", "piercings"), "piercing2", "belly_dick", [[161, 159, 159, 255]], unlocked=True) - -############ -## Events ## -############ - -default herq_panties_on_head = DollCloth("hermione", ("head", "headgear"), "headgear", "panties_on_head", [[156, 204, 249, 255]]) - -default her_panties_base_vibrators = DollCloth("hermione", ("lower undergarment", "panties"), "panties", "basic_panties_vibrators", [[232, 232, 232, 255], [202, 60, 1, 255]]) -default her_bra_base_vibrators = DollCloth("hermione", ("upper undergarment", "bras"), "bra", "basic_bra_vibrators", [[232, 232, 232, 255], [202, 60, 1, 255]]) -default her_nipple_vibrators = DollCloth("hermione", ("misc", "accessory"), "accessory0", "nipple_vibrators", [[234, 142, 97, 255], [252, 217, 135, 255], [255, 118, 96, 255]], zorder=1) -default her_clit_vibrators = DollCloth("hermione", ("misc", "accessory"), "accessory1", "clit_vibrators", [[234, 142, 97, 255], [252, 217, 135, 255], [255, 118, 96, 255]], zorder=1) - -default her_outfit_vibrators = DollOutfit([her_hair_base, her_panties_base_vibrators, her_bra_base_vibrators, her_nipple_vibrators, her_clit_vibrators], hidden=True) -default her_outfit_vibrators_nude = DollOutfit([her_hair_base, her_nipple_vibrators, her_clit_vibrators], hidden=True) - -default her_accessory_bb_tie = DollCloth("hermione", ("misc", "accessory"), "accessory4", "bb_tie", [[177, 51, 159, 255], [246, 40, 0, 255], [255, 247, 0, 255]], zorder=10) -default her_tattoo_bb_tattoo = DollCloth("hermione", ("piercings & tattoos", "tattoos"), "tattoo3", "bb_tattoo", [[0, 0, 0, 255], [255, 247, 0, 255], [246, 40, 0, 255]]) - -default her_outfit_bb = DollOutfit([her_hair_base, her_accessory_bb_tie, her_tattoo_bb_tattoo]) +#default her_bottom_winter_1 = DollCloth("hermione", ("lower body", "skirts"), "bottom", "winter_skirt_1", ["#c01f1eff"]) diff --git a/game/scripts/characters/hermione/wardrobe_reactions.rpy b/game/scripts/characters/hermione/wardrobe_reactions.rpy index 8c42a488..bd3f8cae 100644 --- a/game/scripts/characters/hermione/wardrobe_reactions.rpy +++ b/game/scripts/characters/hermione/wardrobe_reactions.rpy @@ -28,29 +28,25 @@ define her_responses = { label her_reaction_category_fail(category): if category == "upper undergarment": - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - her "I'd rather keep the underwear I have on already thank you very much..." ("annoyed", "closed", "angry", "mid") - elif random_number == 2: - her "You want me to change my underwear?" ("angry", "wide", "base", "mid") - her "Why on earth would I do that?" ("open", "base", "angry", "R") - elif random_number == 3: - her "Change my--" ("soft", "wide", "base", "mid") - her "I'm not changing my underwear for you..." ("clench", "closed", "angry", "mid") + random: + her "I'd rather keep the underwear I have on already, thank you very much..." ("annoyed", "closed", "angry", "mid") + block: + her "You want me to change my underwear?" ("angry", "wide", "base", "mid") + her "Why on earth would I do that?" ("open", "base", "angry", "R") + block: + her "Change my--" ("soft", "wide", "base", "mid") + her "I'm not changing my underwear for you..." ("clench", "closed", "angry", "mid") elif category == "lower undergarment": - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: + random: her "I'm not going to let you ogle at my underwear..." ("angry", "happy", "angry", "mid") - elif random_number == 2: her "I don't believe there's anything wrong with my current underwear..." ("open", "base", "annoyed", "mid") - elif random_number == 3: - her "[genie_name], I don't think this is part of our arrangement..." ("soft", "base", "annoyed", "mid") + her "[name_genie_hermione], I don't think this is part of our arrangement..." ("soft", "base", "annoyed", "mid") elif category == "piercings & tattoos": - if her_whoring >= 12: + if states.her.level >= 12: her "*Ehm*... Do I have to?" ("annoyed", "squint", "base", "mid") her "Isn't it supposed to hurt?" ("upset", "base", "base", "R") - elif her_whoring >= 6: - her "You can look all you want but I will not have such things done to my body..." ("normal", "base", "annoyed", "mid") + elif states.her.level >= 6: + her "You can look all you want, but I will not have such things done to my body..." ("normal", "base", "annoyed", "mid") else: #under naked level her "You want me to what?" ("open", "wide", "base", "mid") @@ -61,111 +57,81 @@ label her_reaction_category_fail(category): label her_reaction_touch(what): if what == "head": $ mouse_headpat() - $ random_number = renpy.random.randint(1, 3) - if her_whoring >= 20: + if states.her.level >= 20: #craving it - if random_number == 1: - her "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - her "Does this mean I've been a good girl, [genie_name]?" ("crooked_smile", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - her "Thank you [genie_name]..." ("base", "happy", "base", "mid", cheeks="blush") - elif her_whoring >= 16: + random: + her @ cheeks blush "*Mmm*..." ("base", "closed", "base", "mid") + her @ cheeks blush "Does this mean I've been a good girl, [name_genie_hermione]?" ("crooked_smile", "narrow", "base", "mid") + her @ cheeks blush "Thank you [name_genie_hermione]..." ("base", "happy", "base", "mid") + elif states.her.level >= 16: #enjoying it - if random_number == 1: - her "I guess I could get used to this..." ("soft", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - her "*Hmm*... This does feel kind of nice..." ("open", "closed", "worried", "mid", cheeks="blush") - elif random_number == 3: - her "..." ("base", "closed", "base", "mid", cheeks="blush") - elif her_whoring >= 12: + random: + her @ cheeks blush "I guess I could get used to this..." ("soft", "closed", "base", "mid") + her @ cheeks blush "*Hmm*... This does feel kind of nice..." ("open", "closed", "worried", "mid") + her @ cheeks blush "..." ("base", "closed", "base", "mid") + elif states.her.level >= 12: #enjoying it a bit - if random_number == 1: - her "..." ("normal", "happyCl", "base", "mid", cheeks="blush") - elif random_number == 2: - her "I'm only letting you do this because I have to..." ("open", "squint", "annoyed", "mid", cheeks="blush") - elif random_number == 3: - her "*Ehm*... Do you do this to every student?" ("base", "closed", "base", "mid", cheeks="blush") - elif her_whoring >= 8: + random: + her @ cheeks blush "..." ("normal", "happyCl", "base", "mid") + her @ cheeks blush "I'm only letting you do this because I have to..." ("open", "squint", "annoyed", "mid") + her @ cheeks blush "*Ehm*... Do you do this to every student?" ("base", "closed", "base", "mid") + elif states.her.level >= 8: #confused - if random_number == 1: + random: her "*Ehm*... Isn't petting your student a bit weird?" ("upset", "happyCl", "base", "mid") - elif random_number == 2: her "Okay then... I guess this is what we're doing now..." ("disgust", "squint", "base", "mid") - elif random_number == 3: her "Is there something in my hair?" ("soft", "base", "base", "mid") else: # >= 4 #annoyed but letting you - if random_number == 1: + random: her "Are you petting me?" ("disgust", "base", "base", "mid") - elif random_number == 2: her "Did you just...{w=0.4} Whatever..." ("annoyed", "narrow", "base", "R") - elif random_number == 3: her "Why are you doing that?" ("clench", "base", "base", "R") elif what == "breasts": $ mouse_heart() - $ random_number = renpy.random.randint(1, 4) - if her_whoring >= 20: - if random_number == 1: - her "*Mmm*...{w=0.4} Lower..." ("base", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - her "I'm glad you're enjoying them so much, [genie_name]." ("base", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - her "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - elif random_number == 4: - her "Please be gentle..." ("soft", "closed", "base", "mid", cheeks="blush") - elif her_whoring >= 16: - if random_number == 1: - her "So, I guess this is part of our arrangement now..." ("base", "narrow", "base", "down", cheeks="blush") - elif random_number == 2: - her "Oh! Hey, at least give me a warning first." ("soft", "squint", "base", "mid", cheeks="blush") - elif random_number == 3: - her "Your hands not good enough anymore?" ("base", "squint", "base", "R", cheeks="blush") - elif random_number == 4: - her "Hey... These things are sensitive you know..." ("grin", "narrow", "base", "down", cheeks="blush") + if states.her.level >= 20: + random: + her @ cheeks blush "*Mmm*...{w=0.4} Lower..." ("base", "closed", "base", "mid") + her @ cheeks blush "I'm glad you're enjoying them so much, [name_genie_hermione]." ("base", "narrow", "base", "mid") + her @ cheeks blush "*Ah*..." ("open", "closed", "base", "mid") + her @ cheeks blush "Please be gentle..." ("soft", "closed", "base", "mid") + elif states.her.level >= 16: + random: + her @ cheeks blush "So, I guess this is part of our arrangement now..." ("base", "narrow", "base", "down") + her @ cheeks blush "Oh! Hey, at least give me a warning first." ("soft", "squint", "base", "mid") + her @ cheeks blush "Your hands not good enough anymore?" ("base", "squint", "base", "R") + her @ cheeks blush "Hey... These things are sensitive, you know..." ("grin", "narrow", "base", "down") else: # >= 12 - if random_number == 1: - her "Why are you kissing my..." ("angry", "base", "base", "mid", cheeks="blush") - elif random_number == 2: - her "I didn't say you could...{w=0.4} Never mind..." ("clench", "closed", "base", "mid", cheeks="blush") - elif random_number == 3: - her "I thought I was supposed to get points for this..." ("annoyed", "base", "base", "mid", cheeks="blush") - her "I guess a small kiss is fine..." ("annoyed", "base", "base", "R", cheeks="blush") - elif random_number == 4: - her "That's not my cheek..." ("disgust", "narrow", "base", "mid", cheeks="blush") + random: + her @ cheeks blush "Why are you kissing my..." ("angry", "base", "base", "mid") + her @ cheeks blush "I didn't say you could...{w=0.4} Never mind..." ("clench", "closed", "base", "mid") + her @ cheeks blush "I thought I was supposed to get points for this..." ("annoyed", "base", "base", "mid") + her @ cheeks blush "I guess a small kiss is fine..." ("annoyed", "base", "base", "R") + her @ cheeks blush "That's not my cheek..." ("disgust", "narrow", "base", "mid") elif what == "vagina": $ mouse_heart() if hermione.is_worn("bottom"): # Bottoms only OR Bottoms AND panties - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: + random: her "Naughty..." ("grin", "narrow", "base", "mid") - elif random_number == 2: - her "*Mmm*... Want to see what's underneath do you?" ("base", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: + her @ cheeks blush "*Mmm*... Want to see what's underneath, do you?" ("base", "narrow", "base", "mid") her "Got your eye on something?" ("base", "narrow", "base", "mid") elif hermione.is_worn("panties"): # Panties only - $ random_number = renpy.random.randint(1, 2) - if random_number == 1: - her "*Mmm*... Shall I take off my panties?" ("open", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - her "You're going to make my panties wet if you keep doing that..." ("soft", "narrow", "base", "mid", cheeks="blush") + random: + her @ cheeks blush "*Mmm*... Shall I take off my panties?" ("open", "closed", "base", "mid") + her @ cheeks blush "You're going to make my panties wet if you keep doing that..." ("soft", "narrow", "base", "mid") else: # NO bottoms AND NO panties - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: - her "*Ah*..." ("open_tongue", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - her "*Mmm*..." ("soft", "closed", "base", "mid", cheeks="blush") - elif random_number == 3: - her "More..." ("open", "closed", "base", "mid", cheeks="blush") - elif random_number == 4: - her "Keep going [genie_name]..." ("smile", "closed", "base", "mid", cheeks="blush") + random: + her @ cheeks blush "*Ah*..." ("open_tongue", "closed", "base", "mid") + her @ cheeks blush "*Mmm*..." ("soft", "closed", "base", "mid") + her @ cheeks blush "More..." ("open", "closed", "base", "mid") + her @ cheeks blush "Keep going [name_genie_hermione]..." ("smile", "closed", "base", "mid") ##This could play after touching her enough times this wardrobe session## #her "*Nnngh*..." ("base", "base", "base", "mid") #with kissiris @@ -173,43 +139,30 @@ label her_reaction_touch(what): return label her_reaction_touch_fail(what): - $ random_number = renpy.random.randint(1, 5) if what == "head": $ mouse_slap() - if random_number == 1: + random: her "Stop that!" ("angry", "wide", "angry", "mid") - elif random_number == 2: - her "[genie_name]!" ("open", "narrow", "angry", "L") - elif random_number == 3: + her "[name_genie_hermione]!" ("open", "narrow", "angry", "L") her "Unhand me..." ("mad", "wide", "angry", "mid") - elif random_number == 4: - her "Stop it please..." ("open", "happyCl", "angry", "mid", cheeks="blush") - elif random_number == 5: + her @ cheeks blush "Stop it please..." ("open", "happyCl", "angry", "mid") her "Hands off me." ("clench", "narrow", "angry", "mid") elif what == "breasts": $ mouse_slap() - if random_number == 1: + random: her "No touching!" ("open", "narrow", "angry", "L") - elif random_number == 2: - her "Bad [genie_name]!" ("annoyed", "happyCl", "angry", "L", cheeks="blush") - elif random_number == 3: + her @ cheeks blush "Bad [name_genie_hermione]!" ("annoyed", "happyCl", "angry", "L") her "Hands to yourself." ("clench", "base", "angry", "R") - elif random_number == 4: - her "Cut it out.." ("open", "narrow", "angry", "mid") - elif random_number == 5: + her "Cut it out..." ("open", "narrow", "angry", "mid") her "Hands off me." ("mad", "wide", "angry", "mid") elif what == "vagina": $ mouse_slap() - if random_number == 1: + random: her "Stop that!" ("angry", "wide", "angry", "mid") - elif random_number == 2: - her "[genie_name]!" ("open", "narrow", "angry", "L") - elif random_number == 3: - her "Unhand me.." ("mad", "wide", "angry", "mid") - elif random_number == 4: - her "Stop it please.." ("open", "happyCl", "angry", "mid", cheeks="blush") - elif random_number == 5: + her "[name_genie_hermione]!" ("open", "narrow", "angry", "L") + her "Unhand me..." ("mad", "wide", "angry", "mid") + her @ cheeks blush "Stop it please..." ("open", "happyCl", "angry", "mid") her "Hands off me." ("clench", "narrow", "angry", "mid") return @@ -226,17 +179,11 @@ label her_reaction_equip_fail(item): # else: # - $ random_number = renpy.random.randint(1, 5) - - if random_number == 1: + random: her "I am not wearing that..." ("annoyed", "base", "angry", "down") - elif random_number == 2: - her "Thanks. but no thanks..." ("annoyed", "happyCl", "angry", "R") - elif random_number == 3: + her "Thanks. but no, thanks..." ("annoyed", "happyCl", "angry", "R") her "You actually think I'd put on something like that?" ("annoyed", "wide", "angry", "mid") - elif random_number == 4: - her "I'm not some Slytherin skank [genie_name], ask them to humiliate themselves for your amusement..." ("open", "narrow", "angry", "L") - elif random_number == 5: + her "I'm not some Slytherin skank [name_genie_hermione], ask them to humiliate themselves for your amusement..." ("open", "narrow", "angry", "L") her "This is too much." ("annoyed", "narrow", "angry", "R") return @@ -244,42 +191,43 @@ label her_reaction_equip_fail(item): label her_reaction_unequip(item): ### Example # if item.type == "panties": - # if her_whoring > 15: + # if states.her.level > 15: # her "You want to see my snatch?" - # her "You got it [genie_name]!" + # her "You got it [name_genie_hermione]!" # return label her_reaction_unequip_fail(item): - $ random_number = renpy.random.randint(1, 3) if item.type == "panties": - if random_number == 1: - her "I'm not gonna flash you anything!" ("clench", "narrow", "angry", "mid") - her "{size=-4}Pervert..{/size}" ("annoyed", "narrow", "angry", "R") - elif random_number == 2: - her "Take off my panties?! No way!" ("clench", "narrow", "angry", "mid") - her "" ("annoyed", "narrow", "angry", "down") - elif random_number == 3: - her "I am not taking off my panties!" ("clench", "narrow", "angry", "mid") - her "" ("annoyed", "narrow", "angry", "mid") + random: + block: + her "I'm not going to flash you anything!" ("clench", "narrow", "angry", "mid") + her "{size=-4}Pervert...{/size}" ("annoyed", "narrow", "angry", "R") + block: + her "Take off my panties?! No way!" ("clench", "narrow", "angry", "mid") + her "" ("annoyed", "narrow", "angry", "down") + block: + her "I am not taking off my panties!" ("clench", "narrow", "angry", "mid") + her "" ("annoyed", "narrow", "angry", "mid") elif item.type == "bra": - if random_number == 1: - her "I'm not gonna flash you anything!" ("clench", "narrow", "angry", "mid") - her "{size=-4}Pervert..{/size}" ("annoyed", "narrow", "angry", "R") - elif random_number == 2: - her "Take off my bra?! No way!" ("clench", "narrow", "angry", "mid") - her "" ("annoyed", "narrow", "angry", "down") - elif random_number == 3: - her "I am not taking off my bra!" ("clench", "narrow", "angry", "mid") - her "" ("annoyed", "narrow", "angry", "mid") + random: + block: + her "I'm not going to flash you anything!" ("clench", "narrow", "angry", "mid") + her "{size=-4}Pervert...{/size}" ("annoyed", "narrow", "angry", "R") + block: + her "Take off my bra?! No way!" ("clench", "narrow", "angry", "mid") + her "" ("annoyed", "narrow", "angry", "down") + block: + her "I am not taking off my bra!" ("clench", "narrow", "angry", "mid") + her "" ("annoyed", "narrow", "angry", "mid") elif item.type == "top": her "Take my top off? Are you crazy?" ("annoyed", "narrow", "angry", "L") elif item.type == "bottom": - her "Take my bottoms off so you can ogle my ass? No thank you." ("open", "narrow", "angry", "mid") + her "Take my bottoms off, just so that you can ogle my ass? No, thank you." ("open", "narrow", "angry", "mid") return label her_reaction_equip_outfit(item): @@ -290,37 +238,37 @@ label her_reaction_equip_outfit(item): ######################## if item == her_outfit_default: gen "Could you put on your regular school uniform?" ("base", xpos="far_left", ypos="head") - if her_whoring < 10: - her "Of course, [genie_name]." ("open", "base", "base", "mid") + if states.her.level < 10: + her "Of course, [name_genie_hermione]." ("open", "base", "base", "mid") her "Let me go and change real quick..." ("soft", "base", "base", "R") - elif her_whoring < 19: - her "Alright, [genie_name]." ("base", "base", "base", "mid") + elif states.her.level < 19: + her "Alright, [name_genie_hermione]." ("base", "base", "base", "mid") her "Let me go and change real quick..." ("open", "base", "base", "R") - elif her_whoring < 22: - her "Are you sure, [genie_name]?" ("open", "base", "base", "mid") + elif states.her.level < 22: + her "Are you sure, [name_genie_hermione]?" ("open", "base", "base", "mid") her "My regular school uniform..." ("soft", "base", "base", "R") her "You don't even want me to remove my tie or show off any cleavage?" ("open", "squint", "worried", "mid") - gen "No, [hermione_name]... No cleavage today." ("base", xpos="far_left", ypos="head") + gen "No, [name_hermione_genie]... No cleavage today." ("base", xpos="far_left", ypos="head") her "(Is he up to something?)" ("normal", "narrow", "base", "R") her "(Maybe this is a test of some sort...)" ("clench", "squint", "base", "stare") her "Okay then, let me change it real quick." ("clench", "squint", "base", "R") else: #22+ her "That old thing?" ("clench", "base", "base", "mid") - her "Is this some silly joke, [genie_name]?" ("annoyed", "narrow", "base", "mid") + her "Is this some silly joke, [name_genie_hermione]?" ("annoyed", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "(I don't know...{w=0.3} Is it?)" ("base", xpos="far_left", ypos="head") her "This is unacceptable!" ("open", "closed", "annoyed", "mid") her "It doesn't even show any skin!" ("clench", "closed", "annoyed", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - her "It's an insult to my breast, [genie_name]!!!" ("open", "squint", "annoyed", "mid") - gen "*Gasps* {w=0.9}I would never... [hermione_name]!" ("angry", xpos="far_left", ypos="head") + her "It's an insult to my breast, [name_genie_hermione]!!!" ("open", "squint", "annoyed", "mid") + gen "*Gasps* {w=0.9}I would never... [name_hermione_genie]!" ("angry", xpos="far_left", ypos="head") - $ temp_word = renpy.random.choice(["marvellous", "magnificent", "breath-taking", "wonderful", "spectacular", "sensational", "glorious", "beautiful", "lovely", "bananas"]) + $ temp_word = renpy.random.choice(["marvellous", "magnificent", "breathtaking", "wonderful", "spectacular", "sensational", "glorious", "beautiful", "lovely", "bananas"]) gen "Your tits are [temp_word]!" ("angry", xpos="far_left", ypos="head") - her "And yet you want me to wear those... rags!" ("annoyed", "base", "annoyed", "mid") - gen "You going to wear it or not?" ("base", xpos="far_left", ypos="head") + her "And yet you want me to wear those... Rags!" ("annoyed", "base", "annoyed", "mid") + gen "Are you going to put the rags on, or not?" ("base", xpos="far_left", ypos="head") her "*Ugh*, fine! Let me change it real quick." ("upset", "closed", "annoyed", "mid") ############################### @@ -328,51 +276,51 @@ label her_reaction_equip_outfit(item): ############################### elif item == her_outfit_s_clearday: gen "Could you wear your school uniform for me? But leave the vest off." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "Certainly, [genie_name]." ("open", "squint", "base", "mid") + if states.her.level < 4: + her "Certainly, [name_genie_hermione]." ("open", "squint", "base", "mid") her "I'd usually only take it off if it's hot outside... When it isn't, I always make a point to wear the vest." ("normal", "closed", "base", "mid") her "But you are the headmaster, after all, so I'll wear it without the vest if I must." ("open", "closed", "base", "mid") - her "Let me just go and change, [genie_name]." ("open", "base", "base", "R") - elif her_whoring < 13: - her "Alright, [genie_name]." ("open", "squint", "base", "mid") + her "Let me just go and change, [name_genie_hermione]." ("open", "base", "base", "R") + elif states.her.level < 13: + her "Alright, [name_genie_hermione]." ("open", "squint", "base", "mid") her "Let me go and change it real quick." ("soft", "base", "base", "R") - elif her_whoring < 22: - her "Of course, [genie_name]." ("base", "squint", "base", "mid") + elif states.her.level < 22: + her "Of course, [name_genie_hermione]." ("base", "squint", "base", "mid") her "I will just change it right here if you don't mind..." ("open", "closed", "base", "mid") else: #22+ her "Just my school shirt and tie?" ("open", "base", "base", "mid") - gen "Yes, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Yes, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Do you want me to tie the shirt around my breasts?" ("base", "narrow", "base", "mid") gen "No, put it on properly." ("base", xpos="far_left", ypos="head") - her "Properly, [genie_name]?" ("annoyed", "squint", "worried", "mid") + her "Properly, [name_genie_hermione]?" ("annoyed", "squint", "worried", "mid") gen "You know, buttons, and everything." ("base", xpos="far_left", ypos="head") - her "Can I leave some buttons open, [genie_name]?" ("open", "squint", "worried", "mid") - gen "I'm afraid not, [hermione_name]." ("base", xpos="far_left", ypos="head") + her "Can I leave some buttons open, [name_genie_hermione]?" ("open", "squint", "worried", "mid") + gen "I'm afraid not, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Okay then... Let me just change it real quick." ("annoyed", "narrow", "base", "R") - ######################################################## - ## Clear Night (Jeans and muggle top with vest) ## - ######################################################## + ################################################## + ## Clear Night (Jeans and muggle top with vest) ## + ################################################## elif item == her_outfit_s_clearnight: gen "Could you wear your normal clothing, the one with jeans and the top with the vest?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Of course!" ("base", "happy", "base", "mid") her "You should've seen the look on Malfoy's face when he saw me buy it in a muggle shop." ("smile", "closed", "base", "mid") - her "It was right outside the leaky cauldron you see." ("crooked_smile", "squint", "base", "R") - her "He looked as if he had bit into a--" ("smile", "happyCl", "base", "mid") + her "It was right outside the leaky cauldron, you see." ("crooked_smile", "squint", "base", "R") + her "He looked as if he had bitten into a--" ("smile", "happyCl", "base", "mid") gen "I don't need your life story, just put it on..." ("base", xpos="far_left", ypos="head") her "*Hmph*... Fine." ("upset", "squint", "base", "mid") - elif her_whoring < 13: - her "OK, [genie_name]." ("base", "base", "base", "mid") + elif states.her.level < 13: + her "OK, [name_genie_hermione]." ("base", "base", "base", "mid") her "Let me put it on." ("open", "happy", "base", "mid") - elif her_whoring < 22: - her "Just my regular muggle clothing, [genie_name]?" ("soft", "squint", "base", "mid") + elif states.her.level < 22: + her "Just my regular muggle clothing, [name_genie_hermione]?" ("soft", "squint", "base", "mid") gen "Indeed." ("base", xpos="far_left", ypos="head") her "If you say so..." ("open", "base", "base", "R") else: #22+ - her "My muggle clothing, [genie_name]?" ("open", "squint", "base", "L") + her "My muggle clothing, [name_genie_hermione]?" ("open", "squint", "base", "L") gen "Yeah, that one!" ("base", xpos="far_left", ypos="head") - her "It's a bit... Too normal don't you think?" ("soft", "squint", "base", "mid") + her "It's a bit... Too normal, don't you think?" ("soft", "squint", "base", "mid") gen "I don't see how that's a bad thing..." ("base", xpos="far_left", ypos="head") her "Alright then... Let me put it on real quick." ("open", "narrow", "base", "down") @@ -381,26 +329,26 @@ label her_reaction_equip_outfit(item): ################################ elif item == her_outfit_s_snow: gen "Could you put on your regular clothing, the one with jeans and pullover?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "As you wish, [genie_name]." ("base", "squint", "base", "mid") + if states.her.level < 4: + her "As you wish, [name_genie_hermione]." ("base", "squint", "base", "mid") her "I do love wearing it." ("base", "happyCl", "base", "mid") gen "Why's that?" ("base", xpos="far_left", ypos="head") her "My mother made it for me." ("base", "happy", "base", "R") gen "I see...{w} Is she as hot--" ("base", xpos="far_left", ypos="head") her "Let me go and change real quick." ("soft", "happy", "base", "R") - elif her_whoring < 13: - her "Glad you're caring about my health [genie_name]... This office does get a little bit cold sometimes." ("base", "closed", "base", "mid") + elif states.her.level < 13: + her "Glad you care about my health [name_genie_hermione]... This office does get a little bit cold sometimes." ("base", "closed", "base", "mid") gen "Ah yes... Your health is important... I wouldn't be able to summon you if you caught a cold, would I?" ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "mid") - her "I'll just go and change it then... [genie_name]." ("open", "base", "base", "R") - elif her_whoring < 22: - her "My mother made that jumper for me you know..." ("open", "closed", "base", "mid") + her "I'll just go and change it then... [name_genie_hermione]." ("open", "base", "base", "R") + elif states.her.level < 22: + her "My mother made that jumper for me, you know..." ("open", "closed", "base", "mid") her "I wonder what she'd say if she knew I rarely wear it anymore..." ("soft", "closed", "base", "mid") gen "She'd probably be proud that you're not relying on her giving you clothes anymore." ("base", xpos="far_left", ypos="head") - her "*Hmm*... Somehow I doubt that..." ("normal", "squint", "base", "R") + her "*Hmm*... Somehow, I doubt that..." ("normal", "squint", "base", "R") else: #22+ her "That old thing?" ("annoyed", "base", "base", "mid") - her "It's a bit boring don't you think?" ("open", "squint", "base", "R") + her "It's a bit boring, don't you think?" ("open", "squint", "base", "R") gen "I think you look great in it!" ("base", xpos="far_left", ypos="head") her "*Hmm*... Alright then." ("soft", "narrow", "base", "mid") @@ -409,27 +357,27 @@ label her_reaction_equip_outfit(item): ########################################## elif item == her_outfit_s_overcast: gen "Could you put on your regular clothing, the one with the school skirt and pullover?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "The pullover does go well with the school skirt don't you think?" ("base", "squint", "base", "mid") + if states.her.level < 4: + her "The pullover does go well with the school skirt, don't you think?" ("base", "squint", "base", "mid") gen "It would look good even without the skirt on in my opinion." ("base", xpos="far_left", ypos="head") - her "How nice, I'll let my mother know you said--" ("base", "closed", "base", "mid", cheeks="blush") - her "Wait, what did you say?" ("soft", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "How nice, I'll let my mother know you said--" ("base", "closed", "base", "mid") + her @ cheeks blush "Wait, what did you say?" ("soft", "wide", "base", "mid") gen "I said it looks good." ("base", xpos="far_left", ypos="head") her "Oh... Okay then..." ("open", "happy", "base", "mid") her "Give me a moment to let me change." ("open", "base", "base", "R") - elif her_whoring < 13: + elif states.her.level < 13: her "The skirt and pullover?" ("open", "squint", "base", "mid") gen "That's what I just said..." ("base", xpos="far_left", ypos="head") her "Okay, just making sure." ("soft", "squint", "base", "mid") her "One moment please..." ("base", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "Is it cold in here?" ("open", "squint", "base", "L") her "I guess I didn't notice..." ("normal", "base", "base", "down") her "One moment..." ("open", "base", "base", "mid") else: #22+ her "Skirt and pullover..." ("normal", "squint", "base", "stare") her "A little bit of home..." ("normal", "squint", "base", "stare") - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Oh... Sorry!" ("base", "base", "base", "mid") her "One moment..." ("open", "squint", "base", "mid") @@ -437,25 +385,25 @@ label her_reaction_equip_outfit(item): ## Rainy (School outfit with cloak)## ##################################### elif item == her_outfit_s_rain: - gen "Could you put on your regular school outfit, and your cloak as well?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + gen "Could you put on your regular school uniform, and your cloak as well?" ("base", xpos="far_left", ypos="head") + if states.her.level < 4: her "I wanted to talk to you about this actually..." ("open", "closed", "base", "mid") gen "(Oh, here we go...)" ("base", xpos="far_left", ypos="head") - her "The cloak doesn't cover the head so when it rains it just ends up in your hair." ("annoyed", "squint", "base", "mid") - her "I always end up having to dry it using magic, making it go all frizzy." ("upset", "narrow", "base", "R") + her "The cloak doesn't cover the head, so when it rains it just ends up in your hair." ("annoyed", "squint", "base", "mid") + her "I always end up having to dry it using magic, which makes it go all frizzy." ("upset", "narrow", "base", "R") gen "Isn't your hair already--" ("base", xpos="far_left", ypos="head") her "..." ("normal", "narrow", "base", "mid") - gen "I mean... great point [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "I mean... Great point [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "Thank you..." ("base", "closed", "base", "mid") gen "Now. can you put it on?" ("base", xpos="far_left", ypos="head") her "...{w=0.4} Fine..." ("normal", "base", "base", "R") - elif her_whoring < 13: - her "Certainly, [genie_name]..." ("base", "base", "base", "mid") - her "Just let me go change real quick." ("open", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 13: + her "Certainly, [name_genie_hermione]..." ("base", "base", "base", "mid") + her "Just let me go and change real quick." ("open", "base", "base", "R") + elif states.her.level < 22: her "You suddenly want me to cover up now?" ("angry", "narrow", "base", "R") menu: - "\"Yes, your body disgusts me and I'm doing everyone a favour...\"": + "\"Yes, your body disgusts me, and I'm doing everyone a favour...\"": her "What!?" ("clench", "wide", "base", "mid") "\"Of course not...\"": gen "I'd just like you to wear it... Is that so much to ask?" ("base", xpos="far_left", ypos="head") @@ -485,10 +433,10 @@ label her_reaction_equip_outfit(item): her "But it's the middle of the day!" ("clench", "base", "worried", "mid") gen "So?" ("base", xpos="far_left", ypos="head") her "..." ("disgust", "base", "base", "mid") - her "Alright fine, I'm not going to argue with you..." ("open", "squint", "worried", "R") + her "Alright, fine... I'm not going to argue with you." ("open", "squint", "worried", "R") else: her "My pyjamas?" ("open", "base", "base", "mid") - if her_whoring < 13: + if states.her.level < 13: her "You want me to sleep in here?" ("angry", "squint", "base", "mid") else: #13+ her "Am I supposed to sleep over tonight?" ("open", "squint", "base", "mid") @@ -502,31 +450,30 @@ label her_reaction_equip_outfit(item): ######################## elif item == her_outfit_cheerleader_1: #Req 10 whoring gen "Could you wear the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "Gryffindor colours I presume?" ("open", "closed", "base", "mid") + if states.her.level < 19: + her "Gryffindor colours, I presume?" ("open", "closed", "base", "mid") gen "We'll see..." ("base", xpos="far_left", ypos="head") her "...{w=0.4} Fine." ("annoyed", "closed", "base", "mid") - elif her_whoring < 22: + elif states.her.level < 22: her "*Hmm*... Alright then..." ("base", "happy", "worried", "R") - her "I'll just change it here shall I?" ("base", "narrow", "base", "mid") + her "I'll just change it here, shall I?" ("base", "narrow", "base", "mid") gen "That's the spirit." ("base", xpos="far_left", ypos="head") else: #22+ - $ random_number = renpy.random.randint(1, 3) her "That thing is so silly..." ("base", "squint", "base", "R") her "You sure you don't want to get a giant lion's head to go with it?" ("crooked_smile", "narrow", "base", "mid") - if random_number == 1: + + random: her "Or perhaps some Raven's feathers?!" ("smile", "narrow", "base", "R") - elif random_number == 2: her "Or some Snake fangs?!" ("smile", "narrow", "base", "R") - elif random_number == 3: her "Or face paint, so I could look like a badger?!" ("smile", "narrow", "base", "R") + gen "I mean, if I could find something like that, sure!" ("base", xpos="far_left", ypos="head") - her "You can't be serious, [genie_name]!" ("open", "wide", "worried", "stare") + her "You can't be serious, [name_genie_hermione]!" ("open", "wide", "worried", "stare") gen "Wear it, or I will have you go naked!" ("base", xpos="far_left", ypos="head") her "..." ("normal", "closed", "base", "mid") - her "{size=-5}(How exciting!){/size}" ("base", "closed", "base", "mid", cheeks="blush") - her "I will wear it if I absolutely have to,..." ("open", "squint", "base", "mid", cheeks="blush") - her "{size=-5}Do I?{/size}" ("grin", "base", "base", "L", cheeks="blush") + her @ cheeks blush "{size=-5}(How exciting!){/size}" ("base", "closed", "base", "mid") + her @ cheeks blush "I will wear it if I absolutely have to..." ("open", "squint", "base", "mid") + her @ cheeks blush "{size=-5}Do I?{/size}" ("grin", "base", "base", "L") gen "Yes." ("base", xpos="far_left", ypos="head") her "*Tzzz--* Your loss..." ("annoyed", "base", "base", "R") @@ -535,13 +482,13 @@ label her_reaction_equip_outfit(item): ###################### elif item == her_outfit_cheerleader_2: #Req 16 whoring (top) gen "Could you put on the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Of course!" ("smile", "base", "base", "mid") gen "Great, here you go!" ("base", xpos="far_left", ypos="head") - her "[genie_name], did you hand me the wrong outfit?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], did you hand me the wrong outfit?" ("open", "squint", "base", "mid") gen "Let me see..." ("base", xpos="far_left", ypos="head") gen "Looks correct to me..." ("base", xpos="far_left", ypos="head") - her "[genie_name]... This is not the official cheerleader outfit..." ("soft", "narrow", "base", "mid") + her "[name_genie_hermione]... This is not the official cheerleader outfit..." ("soft", "narrow", "base", "mid") gen "Oh, I see why you were confused then... Yes. this one has indeed had some improvements." ("base", xpos="far_left", ypos="head") her "..." ("angry", "squint", "base", "R") gen "So, will you put it on?" ("base", xpos="far_left", ypos="head") @@ -549,7 +496,7 @@ label her_reaction_equip_outfit(item): else: #22+ her "Of course!" ("smile", "happy", "base", "mid") gen "Excellent, here you are..." ("base", xpos="far_left", ypos="head") - her "How naughty... Although I doubt you'd be able to focus on the match if the cheerleaders wore these..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "How naughty... Although I doubt you'd be able to focus on the match if the cheerleaders wore these..." ("soft", "narrow", "base", "down") gen "Good point..." ("base", xpos="far_left", ypos="head") gen "I'm sure people would get excited..." ("base", xpos="far_left", ypos="head") her "I'm sure they would..." ("base", "squint", "base", "R") @@ -560,88 +507,88 @@ label her_reaction_equip_outfit(item): ################# elif item == her_outfit_fishnet: #Req 19 (panties, top) gen "Could you please wear--" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A fishnet outfit?" ("angry", "squint", "base", "down") - her "[genie_name]... Isn't this a bit..." ("annoyed", "squint", "base", "mid") + her "[name_genie_hermione]... Isn't this a bit..." ("annoyed", "squint", "base", "mid") gen "A bit what?" ("base", xpos="far_left", ypos="head") - her "Well, it's fetish gear, isn't it?" ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Well, it's fetish gear, isn't it?" ("open", "base", "base", "R") gen "I'd say it's closer to lingerie than fetish gear." ("base", xpos="far_left", ypos="head") - her "*Hmm*... Alright fine I'll wear it then..." ("annoyed", "closed", "base", "mid") + her "*Hmm*... Alright, fine... I'll wear it then." ("annoyed", "closed", "base", "mid") else: #22+ her "A fishnet outfit?" ("soft", "squint", "base", "down") - her "*Hmm*... My nipples would stick right through this..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Hmm*... My nipples would stick right through this..." ("base", "narrow", "base", "down") gen "I think that's the point." ("base", xpos="far_left", ypos="head") - her "Alright, just give me a moment and I'll put it on for you..." ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright, just give me a moment, and I'll put it on for you..." ("soft", "base", "base", "mid") ###################### ## Fishnet One-Piece ## ###################### elif item == her_outfit_fishnet_onepiece: #Req 19 (top) gen "Could you put on the fishnet one-piece for me?" ("base", xpos="far_left", ypos="head") - her "The fishnet one-piece?" ("angry", "base", "base", "mid", cheeks="blush") - if her_whoring < 22: - her "*Hmm*... Lingerie..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "The fishnet one-piece?" ("angry", "base", "base", "mid") + if states.her.level < 22: + her @ cheeks blush "*Hmm*... Lingerie..." ("angry", "narrow", "base", "down") gen "Yep..." ("base", xpos="far_left", ypos="head") - her "And I suppose I shouldn't ask where you got such an outfit from..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "And I suppose I shouldn't ask where you got such an outfit from..." ("open", "narrow", "base", "down") gen "Probably shouldn't..." ("base", xpos="far_left", ypos="head") - her "Alright..." ("soft", "narrow", "base", "down", cheeks="blush") - her "Well I suppose I'll wear it if I have to..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright..." ("soft", "narrow", "base", "down") + her @ cheeks blush "Well, I suppose I'll wear it if I have to..." ("base", "closed", "base", "mid") else: #22+ - her "Lingerie?! How dare you [genie_name]!" ("angry", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "Lingerie?! How dare you [name_genie_hermione]!" ("angry", "narrow", "annoyed", "down") gen "..." ("angry", xpos="far_left", ypos="head") - her "Why didn't you ask me to put this on sooner?" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Why didn't you ask me to put this on sooner?" ("angry", "narrow", "annoyed", "mid") gen "Listen here you--" ("angry", xpos="far_left", ypos="head") - her "*Giggles*..." ("grin", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "*Giggles*..." ("grin", "squint", "base", "mid") ################## ## Latex Outfit ## ################## elif item == her_outfit_latex: #Req 19 (top) gen "Could you put on this latex outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Latex outfit?" ("open", "squint", "base", "mid") - her "*Whoa*... This is skin tight!" ("clench", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Whoa... This is skin tight!" ("clench", "narrow", "base", "down") gen "I know! Glad you're as excited as I am!" ("base", xpos="far_left", ypos="head") - her "I... How do you put this on?" ("disgust", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I... How do you put this on?" ("disgust", "base", "base", "mid") gen "Using lots of patience I reckon..." ("base", xpos="far_left", ypos="head") her "As if you have any of that..." ("open", "base", "annoyed", "R") - her "Well... Here it goes." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Well... Here it goes." ("open", "base", "base", "mid") else: #22+ - her "*Hmm*... Well I can't say something as skin tight as this doesn't excite me a little bit..." ("base", "narrow", "base", "mid", cheeks="blush") - her "I might as well not be wearing anything with how little this leaves to the imagination." ("smile", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... Well, I can't say something as skin tight as this doesn't excite me a little bit..." ("base", "narrow", "base", "mid") + her @ cheeks blush "I might as well not be wearing anything with how little this leaves to the imagination." ("smile", "narrow", "base", "mid") gen "Like that's a bad thing..." ("base", xpos="far_left", ypos="head") - her "I knew you'd say that... Alright then, give me a moment..." ("angry", "base", "base", "R", cheeks="blush") + her @ cheeks blush "I knew you'd say that... Alright then, give me a moment..." ("angry", "base", "base", "R") ####################### ## Slutty Schoolgirl ## ####################### elif item == her_outfit_slutty_schoolgirl: #Req 19 (top, Bottom) gen "Could you put on this school uniform for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "My school uniform?" ("angry", "base", "worried", "mid") her "Is this some sort of test?" ("clench", "squint", "base", "mid") gen "No, not a test. I'd just like you to put it on..." ("base", xpos="far_left", ypos="head") her "(*Hmm*... I feel like he's trying to trick me...)" ("normal", "base", "base", "R") gen "Just put it on..." ("base", xpos="far_left", ypos="head") her "Alright then..." ("open", "squint", "base", "mid") - her "Oh... I see... That makes more sense.)" ("open", "base", "base", "down", cheeks="blush") + her @ cheeks blush "Oh... I see... That makes more sense.)" ("open", "base", "base", "down") gen "Is there something wrong?" ("base", xpos="far_left", ypos="head") - her "No, it's all good... Just give me a moment..." ("open", "base", "base", "mid", cheeks="blush") - her "" ("base", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "No, it's all good... Just give me a moment..." ("open", "base", "base", "mid") + her @ cheeks blush "" ("base", "base", "base", "mid") else: #22+ her "My school uniform?" ("open", "squint", "worried", "mid") her "But that thing is so boring..." ("clench", "closed", "worried", "mid") gen "Not this one..." ("base", xpos="far_left", ypos="head") - her "Oh... That one..." ("open", "base", "base", "down", cheeks="blush") - her "Well I suppose I could put that one on..." ("base", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Oh... That one..." ("open", "base", "base", "down") + her @ cheeks blush "Well, I suppose I could put that one on..." ("base", "base", "base", "R") her "One moment..." ("base", "base", "base", "mid") ################## ## Witch Outfit ## ################## elif item == her_outfit_witch: #Req 10 (top) - gen "Put on this witch outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + gen "Put on this witch outfit for me, will you?" ("base", xpos="far_left", ypos="head") + if states.her.level < 13: her "Witch outfit?" ("open", "squint", "base", "mid") gen "The one I have right here." ("base", xpos="far_left", ypos="head") her "Sir, this is not a witch outfit..." ("disgust", "narrow", "base", "mid") @@ -657,29 +604,29 @@ label her_reaction_equip_outfit(item): gen "So..." ("base", xpos="far_left", ypos="head") her "So?" ("upset", "base", "base", "mid") gen "You putting it on or what?" ("base", xpos="far_left", ypos="head") - her "If I have to..." ("normal", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "If I have to..." ("normal", "squint", "base", "R") gen "You do." ("base", xpos="far_left", ypos="head") - her "Fine..." ("open", "base", "base", "down", cheeks="blush") + her @ cheeks blush "Fine..." ("open", "base", "base", "down") her "Give me a moment to let me change." ("open", "base", "base", "R") - elif her_whoring < 22: + elif states.her.level < 22: her "Witch outfit?" ("soft", "squint", "base", "mid") gen "The one I have right here." ("base", xpos="far_left", ypos="head") - her "Oh, I see..." ("angry", "narrow", "base", "down", cheeks="blush") - her "Of course you'd want me to wear something like that..." ("clench", "closed", "base", "mid", cheeks="blush") - her "To think it'd be a regular witches outfit..." ("open", "narrow", "base", "R", cheeks="blush") - her "Well... I suppose I could put it on." ("normal", "base", "base", "down", cheeks="blush") - her "One moment please..." ("normal", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh, I see..." ("angry", "narrow", "base", "down") + her @ cheeks blush "Of course you'd want me to wear something like that..." ("clench", "closed", "base", "mid") + her @ cheeks blush "To think it'd be a regular witches outfit..." ("open", "narrow", "base", "R") + her @ cheeks blush "Well... I suppose I could put it on." ("normal", "base", "base", "down") + her @ cheeks blush "One moment please..." ("normal", "squint", "base", "mid") else: #22+ her "Witch outfit?" ("open", "squint", "base", "mid") gen "The one I have right here." ("base", xpos="far_left", ypos="head") - her "Right..." ("grin", "base", "base", "down", cheeks="blush") - her "Well... While real witches' outfits don't look like this I do like this muggle interpretation..." ("crooked_smile", "narrow", "base", "mid", cheeks="blush") - gen "Actually I had this custom made..." ("base", xpos="far_left", ypos="head") - her "*Hmm*... You did, did you?" ("grin", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Right..." ("grin", "base", "base", "down") + her @ cheeks blush "Well... While real witches' outfits don't look like this, I do like this muggle interpretation..." ("crooked_smile", "narrow", "base", "mid") + gen "Actually, I had this custom-made..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmm*... You did, did you?" ("grin", "narrow", "base", "mid") her "Looks like someone's gotten their hands on a particular kind of muggle magazine..." ("crooked_smile", "wink", "base", "mid") gen "No idea what you're talking about..." ("base", xpos="far_left", ypos="head") gen "Just put it on will you?" ("base", xpos="far_left", ypos="head") - her "Of course [genie_name], as you wish..." ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Of course [name_genie_hermione], as you wish..." ("base", "narrow", "base", "mid") ####################### ## Lara Croft Outfit ## @@ -688,19 +635,19 @@ label her_reaction_equip_outfit(item): gen "Could you put on this archaeologist outfit for me?" ("base", xpos="far_left", ypos="head") her "A what?" ("open", "squint", "base", "mid") gen "This one..." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: gen "Worn by the great Lara Croft!" ("base", xpos="far_left", ypos="head") her "Someone you know?" ("soft", "base", "base", "mid") gen "Indeed... I'm a massive fan." ("base", xpos="far_left", ypos="head") gen "(Especially of the fan service...)" ("base", xpos="far_left", ypos="head") her "Must be a great woman then, seeing your reaction." ("base", "closed", "base", "mid") - gen "A great woman indeed! Went cave exploring with her a couple times..." ("grin", xpos="far_left", ypos="head") + gen "A great woman indeed! Went cave exploring with her a couple of times..." ("grin", xpos="far_left", ypos="head") gen "Good times..." ("base", xpos="far_left", ypos="head") her "I wonder why I haven't heard of her..." ("angry", "base", "base", "R") her "Well... I suppose I could wear it since you speak so highly of her." ("open", "closed", "base", "mid") her "Give me a moment to let me change." ("open", "base", "base", "R") - elif her_whoring < 22: - gen "Lara Croft looks stunning in it so I think you'd probably fill it just as well." ("base", xpos="far_left", ypos="head") + elif states.her.level < 22: + gen "Lara Croft looks stunning in it, so I think you'd probably fill it just as well." ("base", xpos="far_left", ypos="head") her "Fill it?" ("angry", "squint", "base", "mid") gen "Fit it..." ("base", xpos="far_left", ypos="head") her "I guess I'll have to look up this Archaeologist..." ("open", "happy", "base", "R") @@ -712,51 +659,51 @@ label her_reaction_equip_outfit(item): else: #22+ gen "I'm sure Lara Croft would love to see someone wear her famous outfit." ("base", xpos="far_left", ypos="head") gen "Although last time I saw her, she couldn't wait to take it off..." ("base", xpos="far_left", ypos="head") - her "Take it off?" ("open", "squint", "base", "R", cheeks="blush") - gen "Indeed... She's quite famous in certain circles you know." ("base", xpos="far_left", ypos="head") - gen "Let's just say if you're anyone in the world of archaeology you've heard about Lara Croft..." ("base", xpos="far_left", ypos="head") - her "Right..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Take it off?" ("open", "squint", "base", "R") + gen "Indeed... She's quite famous in certain circles, you know." ("base", xpos="far_left", ypos="head") + gen "Let's just say if you're anyone in the world of archaeology, then you've heard about Lara Croft..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Right..." ("base", "narrow", "base", "down") gen "I'd delve her cavern any--" ("base", xpos="far_left", ypos="head") - her "Okay, okay... Just don't call me Lara once I put it on..." ("clench", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Okay, okay... Just don't call me Lara once I put it on..." ("clench", "narrow", "base", "mid") ####################### ## Heart Slut Outfit ## ####################### elif item == her_outfit_hslut: #Req 19 (top, panties, bra) - gen "Put on this burlesque outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: - her "A burlesque outfit?" ("open", "base", "base", "mid", cheeks="blush") + gen "Put on this burlesque outfit for me, will you?" ("base", xpos="far_left", ypos="head") + if states.her.level < 22: + her @ cheeks blush "A burlesque outfit?" ("open", "base", "base", "mid") gen "Yes, this one to be exact..." ("base", xpos="far_left", ypos="head") - her "*Hmm*... {w=0.4} Well, I must say it's quite creative..." ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Hmm*... {w=0.4} Well, I must say it's quite creative..." ("angry", "narrow", "base", "down") gen "You should see those pasties spin..." ("base", xpos="far_left", ypos="head") - her "..." ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("clench", "squint", "base", "mid") gen "How 'bout it?" ("base", xpos="far_left", ypos="head") - her "Alright fine... Just give me a moment." ("angry", "squint", "base", "R", cheeks="blush") - her "" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright fine... Just give me a moment." ("angry", "squint", "base", "R") + her @ cheeks blush "" ("angry", "squint", "base", "mid") else: #22+ - her "A burlesque outfit?" ("angry", "narrow", "base", "down", cheeks="blush") - her "Strippers wear these, right?" ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "A burlesque outfit?" ("angry", "narrow", "base", "down") + her @ cheeks blush "Strippers wear these, right?" ("open", "closed", "base", "mid") gen "Sometimes..." ("base", xpos="far_left", ypos="head") - her "What do you mean sometimes?" ("soft", "narrow", "base", "mid", cheeks="blush") - gen "Put in on and I'll change that answer to a yes..." ("base", xpos="far_left", ypos="head") - her "How cheeky...{w=0.4} Alright then..." ("base", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "What do you mean sometimes?" ("soft", "narrow", "base", "mid") + gen "Put it on, and I'll change that answer to a yes..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "How cheeky...{w=0.4} Alright then..." ("base", "narrow", "base", "R") ####################### ## Ms. Marvel Outfit ## ####################### elif item == her_outfit_msmarv: #Req 10 (top, stockings) gen "I've got this Cosplay outfit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: - her "Cosplay, [genie_name]?" ("open", "squint", "base", "mid") + if states.her.level < 13: + her "Cosplay, [name_genie_hermione]?" ("open", "squint", "base", "mid") gen "Miss Marvel... One of my favourites!" ("base", xpos="far_left", ypos="head") - her "*Hmm*... Well I can certainly see why..." ("disgust", "narrow", "base", "down", cheeks="blush") - her "Alright fine..." ("open", "closed", "worried", "mid", cheeks="blush") - her "Just give me a moment to change." ("normal", "base", "base", "R", cheeks="blush") - elif her_whoring < 22: - her "Cosplay, [genie_name]?" ("angry", "squint", "base", "mid", cheeks="blush") - gen "Yes... A miss Marvel cosplay to be precise." ("base", xpos="far_left", ypos="head") - her "I see..." ("soft", "narrow", "base", "down", cheeks="blush") - her "And why do you want me to wear this cosplay exactly?" ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*... Well, I can certainly see why..." ("disgust", "narrow", "base", "down") + her @ cheeks blush "Alright fine..." ("open", "closed", "worried", "mid") + her @ cheeks blush "Just give me a moment to change." ("normal", "base", "base", "R") + elif states.her.level < 22: + her @ cheeks blush "Cosplay, [name_genie_hermione]?" ("angry", "squint", "base", "mid") + gen "Yes... A miss Marvel cosplay, to be precise." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I see..." ("soft", "narrow", "base", "down") + her @ cheeks blush "And why do you want me to wear this cosplay exactly?" ("open", "squint", "base", "R") gen "I believe it would enhance your physical traits." ("base", xpos="far_left", ypos="head") her "Sorry?" ("annoyed", "squint", "base", "mid") gen "You heard me..." ("base", xpos="far_left", ypos="head") @@ -764,27 +711,27 @@ label her_reaction_equip_outfit(item): her "One moment please..." ("open", "squint", "base", "mid") her "" ("normal", "squint", "base", "mid") else: #22+ - her "Cosplay, [genie_name]?" ("base", "squint", "base", "mid") + her "Cosplay, [name_genie_hermione]?" ("base", "squint", "base", "mid") gen "Yes, this Miss Marvel cosplay..." ("base", xpos="far_left", ypos="head") - her "*Hmm*... My nipples are sure to poke through in this..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Hmm*... My nipples are sure to poke through in this..." ("soft", "narrow", "base", "down") gen "That's the idea..." ("base", xpos="far_left", ypos="head") - her "Well... I guess it can't be helped..." ("open", "closed", "annoyed", "mid", cheeks="blush") - her "I suppose I'll just... *Ehm*... Suit up..." ("open", "squint", "base", "mid", cheeks="blush") - her "" ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Well... I guess it can't be helped..." ("open", "closed", "annoyed", "mid") + her @ cheeks blush "I suppose I'll just... *Ehm*... Suit up..." ("open", "squint", "base", "mid") + her @ cheeks blush "" ("base", "squint", "base", "mid") ################# ## Tifa Outfit ## ################# elif item == her_outfit_tifa: #Req 10 (top, bottom) gen "Could you put on this Tifa Cosplay outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "Cosplay, [genie_name]?" ("open", "squint", "base", "mid") + if states.her.level < 19: + her "Cosplay, [name_genie_hermione]?" ("open", "squint", "base", "mid") gen "Indeed, a Tifa Lockheart cosplay!" ("base", xpos="far_left", ypos="head") her "*Hmm*... Can't say I know who that is..." ("normal", "squint", "base", "R") gen "..." ("base", xpos="far_left", ypos="head") gen "She's from Final Fantasy..." ("base", xpos="far_left", ypos="head") her "*Huh*?" ("upset", "happy", "base", "mid") - gen "Sorry... I should've been more specific shouldn't I..." ("base", xpos="far_left", ypos="head") + gen "Sorry... I should've been more specific..." ("base", xpos="far_left", ypos="head") gen "Final Fantasy Seven is the one you'd probably know her from." ("base", xpos="far_left", ypos="head") her "*Ehm*..." ("clench", "squint", "base", "mid") gen "Oh... Come on... it was so good it even got a remake!" ("base", xpos="far_left", ypos="head") @@ -804,69 +751,69 @@ label her_reaction_equip_outfit(item): ################################## elif item == her_outfit_teddy: #Req 16 (top) gen "Could you put on this nightgown?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: - her "This is lingerie..." ("angry", "base", "base", "down", cheeks="blush") + if states.her.level < 22: + her @ cheeks blush "This is lingerie..." ("angry", "base", "base", "down") gen "Indeed it is..." ("base", xpos="far_left", ypos="head") - her "Isn't this what couples put on to look sexy for their partner?" ("mad", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Isn't this what couples put on to look sexy for their partner?" ("mad", "narrow", "base", "mid") gen "I mean..." ("base", xpos="far_left", ypos="head") - her "Sir... I'm doing this to help--" ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Sir... I'm doing this to help--" ("open", "closed", "annoyed", "mid") gen "Putting this on will help your house." ("base", xpos="far_left", ypos="head") - her "How? You're not exactly giving me any points..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "How? You're not exactly giving me any points..." ("annoyed", "narrow", "base", "mid") gen "No... But it surely aids with the tasks that do..." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "base", "base", "mid", cheeks="blush") - her "Alright, fine..." ("open", "narrow", "base", "R", cheeks="blush") - her "Just give me a moment to put it on." ("soft", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "base", "base", "mid") + her @ cheeks blush "Alright, fine..." ("open", "narrow", "base", "R") + her @ cheeks blush "Just give me a moment to put it on." ("soft", "narrow", "base", "mid") else: #22+ - her "Lingerie..." ("soft", "narrow", "base", "down", cheeks="blush") - gen "Quite observant of you, [hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Well I suppose if wearing this helps you build up... *Ehm*..." ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Lingerie..." ("soft", "narrow", "base", "down") + gen "Quite observant of you, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Well, I suppose if wearing this helps you build up... *Ehm*..." ("open", "closed", "annoyed", "mid") gen "No, do finish that sentence please." ("base", xpos="far_left", ypos="head") - her "What I meant is... If it means I'll be able to finish my tasks faster..." ("annoyed", "squint", "base", "R", cheeks="blush") - her "Just... I'll just put it on..." ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "What I meant is... If it means I'll be able to finish my tasks faster..." ("annoyed", "squint", "base", "R") + her @ cheeks blush "Just... I'll just put it on..." ("disgust", "squint", "base", "mid") gen "Good plan..." ("base", xpos="far_left", ypos="head") - her "" ("normal", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("normal", "squint", "base", "mid") #################### ## Nightie Outfit ## #################### elif item == her_outfit_nightie: #Req 13 (top) gen "Can you put on this nightie for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 19: - her "This is a nightie is it?" ("clench", "narrow", "base", "down", cheeks="blush") + if states.her.level < 19: + her @ cheeks blush "This is a nightie is it?" ("clench", "narrow", "base", "down") gen "Yep... Completely ordinary nightgown." ("base", xpos="far_left", ypos="head") - her "Nice try... I can see it's see-through." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Nice try... I can see it's see-through." ("angry", "narrow", "base", "mid") gen "Oh... Isn't that what they're like normally?" ("base", xpos="far_left", ypos="head") - her "*Sigh*... Whatever... Let's just get this over with..." ("normal", "closed", "annoyed", "mid", cheeks="blush") - her "" ("normal", "base", "annoyed", "mid", cheeks="blush") - elif her_whoring < 22: + her @ cheeks blush "*Sigh*... Whatever... Let's just get this over with..." ("normal", "closed", "annoyed", "mid") + her @ cheeks blush "" ("normal", "base", "annoyed", "mid") + elif states.her.level < 22: her "A nightie you say?" ("open", "squint", "worried", "mid") gen "Indeed." ("base", xpos="far_left", ypos="head") - her "*Hmm*... Well I suppose I could wear it..." ("normal", "base", "base", "down", cheeks="blush") - her "Just give me a moment to put it on." ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... Well I suppose I could wear it..." ("normal", "base", "base", "down") + her @ cheeks blush "Just give me a moment to put it on." ("soft", "base", "base", "mid") else: #22+ - her "Not much left for the imagination with this one..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Not much left for the imagination with this one..." ("soft", "narrow", "base", "down") gen "I mean... We need you to stay modest, don't we?" ("base", xpos="far_left", ypos="head") gen "Can't be having you stand around naked, that'd be shameful!" ("base", xpos="far_left", ypos="head") - her "Right..." ("normal", "closed", "worried", "mid", cheeks="blush") - her "Well I better put it on then..." ("open", "closed", "base", "mid", cheeks="blush") - her "" ("base", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Right..." ("normal", "closed", "worried", "mid") + her @ cheeks blush "Well I better put it on then..." ("open", "closed", "base", "mid") + her @ cheeks blush "" ("base", "base", "base", "mid") ####################### ## Latex dress Outfit ## ####################### elif item == her_outfit_latex_dress: #Req 19 (top) gen "Put on this latex dress for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: - her "A latex dress?" ("open", "squint", "base", "mid", cheeks="blush") - her "I can't believe you actually want me to wear this..." ("soft", "narrow", "base", "R", cheeks="blush") - her "Fine...{w=0.4} Here it goes..." ("open", "closed", "annoyed", "mid", cheeks="blush") + if states.her.level < 22: + her @ cheeks blush "A latex dress?" ("open", "squint", "base", "mid") + her @ cheeks blush "I can't believe you actually want me to wear this..." ("soft", "narrow", "base", "R") + her @ cheeks blush "Fine...{w=0.4} Here it goes..." ("open", "closed", "annoyed", "mid") else: #22+ - her "*Hmm*..." ("base", "narrow", "base", "down", cheeks="blush") - her "And I thought latex gloves were hard to put on..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*..." ("base", "narrow", "base", "down") + her @ cheeks blush "And I thought latex gloves were hard to put on..." ("open", "closed", "base", "mid") gen "It's worth it if you don't want to get splashed." ("base", xpos="far_left", ypos="head") gen "Although maybe you don't mind getting splashed by--" ("base", xpos="far_left", ypos="head") - her "Well...{w=0.4} I suppose I could put it on if you really want me to." ("normal", "squint", "annoyed", "mid", cheeks="blush") - her "One moment...{w=0.4} *Ehm*...{w=0.4} One minute please." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well...{w=0.4} I suppose I could put it on if you really want me to." ("normal", "squint", "annoyed", "mid") + her @ cheeks blush "One moment...{w=0.4} *Ehm*...{w=0.4} One minute please." ("open", "narrow", "base", "down") show screen blkfade with d5 @@ -874,30 +821,29 @@ label her_reaction_equip_outfit(item): her "Alright... Let's see..." her "It's... Quite tight..." - $ renpy.sound.play("sounds/creaking02.ogg") + play sound "sounds/creaking02.ogg" pause 1 her "How am I even supposed to--" - $ renpy.sound.play("sounds/creaking02.ogg") + play sound "sounds/creaking02.ogg" pause 1 her "Alright, I think I got it..." - $ renpy.sound.play("sounds/creaking01.ogg") + play sound "sounds/creaking01.ogg" pause 2 - $ renpy.sound.play("sounds/slap_04.ogg") + play sound "sounds/slap_04.ogg" her "Ouch!" hide screen blkfade - her "" ("angry", "squint", "base", "mid", cheeks="blush") ##################### ## Egyptian Outfit ## ##################### elif item == her_outfit_egypt: #Req 19 (top) - gen "Put on this Egyptian-themed outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + gen "Put on this Egyptian-themed outfit for me, will you?" ("base", xpos="far_left", ypos="head") + if states.her.level < 22: her "Why am I suspecting this is not your ordinary--" ("open", "closed", "worried", "mid") gen "Here you go..." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "squint", "base", "down", cheeks="blush") - her "Why am I not surprised..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("normal", "squint", "base", "down") + her @ cheeks blush "Why am I not surprised..." ("open", "narrow", "base", "mid") her "Sir, do you actually believe they wear this in Egypt?" ("angry", "narrow", "base", "R") gen "Of course I do... Quite fashionable when I was there." ("base", xpos="far_left", ypos="head") gen "I even had a pair of those wristbands myself..." ("base", xpos="far_left", ypos="head") @@ -905,43 +851,43 @@ label her_reaction_equip_outfit(item): her "Alright... I guess I'll wear it..." ("open", "closed", "worried", "mid") her "One moment..." ("soft", "squint", "base", "mid") else: #22+ - her "Egyptian-themed you say?" ("soft", "happy", "base", "mid") + her "Egyptian-themed, you say?" ("soft", "happy", "base", "mid") gen "Yeah, this one right here..." ("base", xpos="far_left", ypos="head") - her "I see..." ("normal", "happy", "base", "down", cheeks="blush") - gen "Cleopatra wore this quite proudly I'll have you know..." ("base", xpos="far_left", ypos="head") - her "Right..." ("soft", "closed", "worried", "mid", cheeks="blush") - her "Well I wouldn't want to displease the great Cleopatra..." ("normal", "base", "base", "R") - her "Hopefully I'll do it justice..." ("open", "squint", "base", "mid", cheeks="blush") - her "One moment please..." ("base", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I see..." ("normal", "happy", "base", "down") + gen "Cleopatra wore this quite proudly, I'll have you know..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Right..." ("soft", "closed", "worried", "mid") + her "Well, I wouldn't want to displease the great Cleopatra..." ("normal", "base", "base", "R") + her @ cheeks blush "Hopefully I'll do it justice..." ("open", "squint", "base", "mid") + her @ cheeks blush "One moment please..." ("base", "base", "base", "mid") ############## ## Swimsuit ## ############## elif item == her_outfit_swimsuit: #Req 13 (top) gen "I've got this swimsuit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A swimsuit..." ("open", "squint", "base", "mid") her "I guess I could put it on." ("soft", "narrow", "base", "R") her "Although, it's a bit weird as I assume I'm not going swimming..." ("disgust", "closed", "worried", "mid") gen "I'm sure we can find a way to get it wet no problem..." ("base", xpos="far_left", ypos="head") her "..." ("angry", "wide", "base", "mid") - her "Why I'm not quite sure what you mean by that..." ("open", "closed", "base", "mid", cheeks="blush") - her "But if I'm expected to put it on for the sake of--" ("soft", "closed", "base", "mid", cheeks="blush") - gen "Just put it on will you?" ("base", xpos="far_left", ypos="head") - her "*Ahem*...{w=0.4} Okay then." ("clench", "narrow", "base", "R", cheeks="blush") - her "Just give me a moment..." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Why I'm not quite sure what you mean by that..." ("open", "closed", "base", "mid") + her @ cheeks blush "But if I'm expected to put it on for the sake of--" ("soft", "closed", "base", "mid") + gen "Just put it on, will you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ahem*...{w=0.4} Okay then." ("clench", "narrow", "base", "R") + her @ cheeks blush "Just give me a moment..." ("open", "squint", "base", "mid") else: #22+ - her "A swimsuit..." ("open", "base", "base", "R", cheeks="blush") - her "Are you expecting me to get wet today?" ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "A swimsuit..." ("open", "base", "base", "R") + her @ cheeks blush "Are you expecting me to get wet today?" ("open", "closed", "base", "mid") gen "Can never be too careful..." ("base", xpos="far_left", ypos="head") - her "Well... If that's the case then I better put it on..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Well... If that's the case, then I better put it on..." ("open", "narrow", "base", "R") ##################### ## Bioshock Outfit ## ##################### elif item == her_outfit_bioshock: #Req 14 (no bra) gen "Can you put on this Elisabeth Cosplay outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 18: + if states.her.level < 18: her "A cosplay outfit?" ("open", "base", "base", "mid") gen "Yep... Ever heard of her?" ("base", xpos="far_left", ypos="head") her "*Hmm*... Can't say that I have." ("upset", "squint", "base", "mid") @@ -956,15 +902,15 @@ label her_reaction_equip_outfit(item): gen "..." ("base", xpos="far_left", ypos="head") gen "Have you seen your waste-line?" ("base", xpos="far_left", ypos="head") gen "A corset is hardly going to hinder you from breathing..." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "closed", "base", "mid", cheeks="blush") - her "I guess that's true." ("open", "happy", "base", "R", cheeks="blush") - gen "Great... So no complaints then?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("normal", "closed", "base", "mid") + her @ cheeks blush "I guess that's true." ("open", "happy", "base", "R") + gen "Great... So, no complaints then?" ("base", xpos="far_left", ypos="head") her "*Hmm*... I suppose not..." ("angry", "closed", "base", "mid") her "..." ("normal", "base", "base", "R") gen "So... Are you putting it on?" ("base", xpos="far_left", ypos="head") her "Oh...{w=0.4} Alright..." ("angry", "squint", "base", "mid") her "" ("base", "squint", "base", "mid") - elif her_whoring < 22: + elif states.her.level < 22: her "A cosplay..." ("open", "squint", "base", "mid") her "*Hmm*... I like the necklace." ("soft", "squint", "base", "L") gen "I like the corset!" ("base", xpos="far_left", ypos="head") @@ -973,12 +919,12 @@ label her_reaction_equip_outfit(item): gen "Wait a second, they forgot the coin purse!" ("base", xpos="far_left", ypos="head") her "*Huh*?" ("upset", "squint", "base", "mid") gen "There's supposed to be a coin purse for you to store silver coins in..." ("base", xpos="far_left", ypos="head") - her "Oh... So you don't want me to wear it then?" ("angry", "squint", "base", "mid") + her "Oh... So, you don't want me to wear it?" ("angry", "squint", "base", "mid") gen "Of course I do... You'll just have to store the coins in a pocket or something..." ("base", xpos="far_left", ypos="head") her "*Hmm*... There doesn't seem to be any pockets..." ("upset", "narrow", "base", "down") gen "Well... I'm sure you'll find somewhere to put them." ("base", xpos="far_left", ypos="head") her "Right..." ("disgust", "narrow", "base", "down") - her "Well... Let's see if I can get into this corset to start with..." ("angry", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Well... Let's see if I can get into this corset to start with..." ("angry", "squint", "base", "R") her "" ("base", "squint", "base", "mid") else: #22+ her "A cosplay..." ("open", "squint", "base", "mid") @@ -987,7 +933,7 @@ label her_reaction_equip_outfit(item): her "Who?" ("soft", "squint", "base", "mid") gen "*Err*... I meant, you should see the zone she's--" ("base", xpos="far_left", ypos="head") gen "What I meant to say was..." ("base", xpos="far_left", ypos="head") - gen "Just... Put it on will you?" ("base", xpos="far_left", ypos="head") + gen "Just... Put it on, will you?" ("base", xpos="far_left", ypos="head") her "Alright." ("grin", "narrow", "base", "R") her "" ("base", "squint", "base", "mid") @@ -996,17 +942,17 @@ label her_reaction_equip_outfit(item): ##################### elif item == her_outfit_yennefer: #Req 10 gen "I got this Yennefer Cosplay that I'd like you to put on." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Who?" ("normal", "squint", "base", "mid") gen "*Sigh*...{w=0.4} Yennefer... {w=0.4} From the witcher." ("base", xpos="far_left", ypos="head") her "Oh...{w=0.4} Her..." ("open", "squint", "base", "R") - her "(No clue who that is but I better not offend him...)" ("normal", "narrow", "base", "down") + her "(No clue who that is, but I better not offend him...)" ("normal", "narrow", "base", "down") gen "(I guess she picked Triss.)" ("base", xpos="far_left", ypos="head") - her "You... Like this Yennefer character then?" ("clench", "squint", "base", "mid") + her "You... Like this Yennefer character, then?" ("clench", "squint", "base", "mid") gen "(She did pick Triss!)" ("base", xpos="far_left", ypos="head") gen "I mean... Shouldn't I?" ("base", xpos="far_left", ypos="head") gen "(I only did the one playthrough... Maybe Triss was the right choice... Should I have save scummed--)" ("base", xpos="far_left", ypos="head") - her "*Err*... No you definitely should..." ("open", "squint", "base", "R") + her "*Err*... No, you definitely should..." ("open", "squint", "base", "R") gen "..." ("base", xpos="far_left", ypos="head") her "..." ("clench", "narrow", "base", "L") her "I'll just put it on shall I?" ("angry", "closed", "base", "mid") @@ -1016,208 +962,222 @@ label her_reaction_equip_outfit(item): else: #22+ her "This is quite the intricate outfit..." ("angry", "narrow", "base", "down") gen "A Classy outfit for a classy lady." ("base", xpos="far_left", ypos="head") - her "Oh... Well, thank you..." ("base", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh... Well, thank you..." ("base", "closed", "base", "mid") gen "*Huh*?" ("base", xpos="far_left", ypos="head") - gen "Oh... Yes, put it on for me will you?" ("base", xpos="far_left", ypos="head") - her "As you wish." ("open", "squint", "base", "R", cheeks="blush") - her "One moment..." ("base", "squint", "base", "mid", cheeks="blush") + gen "Oh... Yes, put it on for me, will you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "As you wish." ("open", "squint", "base", "R") + her @ cheeks blush "One moment..." ("base", "squint", "base", "mid") ################ ## Ball Dress ## ################ elif item == her_outfit_ball: #Req 14 (no bra) (ball happens on lvl 15) - if not ball_quest.E4_complete: + if not states.her.ev.yule_ball.e4_complete: gen "Could you put on this dress?" ("base", xpos="far_left", ypos="head") her "*Hmm*... This looks expensive..." ("soft", "squint", "base", "down") - gen "I had it custom made!" ("base", xpos="far_left", ypos="head") + gen "I had it custom-made!" ("base", xpos="far_left", ypos="head") gen "(As if my other purchases haven't been...)" ("base", xpos="far_left", ypos="head") her "I do like a pearl necklace..." ("soft", "narrow", "base", "down") - gen "I knew it... Well, I'm always happy to give you one as long as you don't tell anyone about it." ("base", xpos="far_left", ypos="head") + gen "I knew it... Well, I'm always happy to give you one, as long as you don't tell anyone about it." ("base", xpos="far_left", ypos="head") gen "We wouldn't want anyone to know the headmaster gave a student a pearl necklace, do we?" ("base", xpos="far_left", ypos="head") her "Of course." ("open", "closed", "base", "mid") her "Well, let's put it on then..." ("soft", "happy", "base", "mid") - her "" ("base", "happy", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("base", "happy", "base", "mid") else: gen "What did Hermione Granger say when she got to the ball?" ("base", xpos="far_left", ypos="head") - her "{size=-4}This dress...{/size}" ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "{size=-4}This dress...{/size}" ("soft", "narrow", "base", "down") gen "*Gag* *Cough* *Cough*" ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "base", "down") gen "..." ("base", xpos="far_left", ypos="head") gen "Well, I thought it was funny..." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "base", "down") gen "Miss Granger?" ("base", xpos="far_left", ypos="head") gen "(Looks like she's zoned out...)" ("base", xpos="far_left", ypos="head") - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "*Huh*?" ("angry", "squint", "base", "mid", cheeks="blush") - her "Oh... Sorry sir, let me just put it on..." ("open", "base", "base", "R", cheeks="blush") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Huh*?" ("angry", "squint", "base", "mid") + her @ cheeks blush "Oh... Sorry sir, let me just put it on..." ("open", "base", "base", "R") gen "Never mind the dress, what about my joke?" ("base", xpos="far_left", ypos="head") - her "Sorry?" ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Sorry?" ("soft", "base", "base", "mid") gen "...{w=0.4} Whatever... Just put it on..." ("base", xpos="far_left", ypos="head") - her "Alright." ("base", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Alright." ("base", "base", "base", "mid") ################## ## Bunny Outfit ## ################## elif item == her_outfit_bunny: #Req 19 (top, stockings) gen "I've got this bunny costume I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A bunny costume?" ("soft", "squint", "base", "mid") her "Where do you even get these ideas from?" ("angry", "narrow", "base", "stare") gen "In some junk mail, showing a mansion full of attractive and scantily clad women." ("base", xpos="far_left", ypos="head") - her "I see..." ("soft", "closed", "base", "mid", cheeks="blush") - her "It does look a little bit tight, but I suppose I'll wear it for you..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I see..." ("soft", "closed", "base", "mid") + her @ cheeks blush "It does look a little bit tight, but I suppose I'll wear it for you..." ("open", "narrow", "base", "down") gen "(Hugh success!)" ("grin", xpos="far_left", ypos="head") #Like Hugh Hefner else: # 22+ - her "A bunny costume?" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "A bunny costume?" ("open", "base", "base", "mid") gen "I thought we could get it on like rabbits." ("base", xpos="far_left", ypos="head") her "*Huh*? Get what on?" ("annoyed", "squint", "base", "mid") gen "*Heh-heh*... You know..." ("grin", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "base", "mid") - her "..." ("annoyed", "squint", "base", "stare", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "squint", "base", "stare") gen "(She knows...)" ("grin", xpos="far_left", ypos="head") - her "Sir, I'm--" ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Sir, I'm--" ("open", "closed", "base", "mid") gen "Just put the thing on." ("base", xpos="far_left", ypos="head") - her "Alright..." ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Alright..." ("open", "narrow", "base", "down") + + ###################### + ## Reindeer Costume ## + ###################### + elif item == her_outfit_reindeer: #Req 19 (top, stockings) + gen "I've got this reindeer costume for you to wear." ("base", xpos="far_left", ypos="head") + her "You want me to dress up like a reindeer?" ("soft", "base", "base", "mid") + gen "Of course, 'Tis the season, after all." ("base", xpos="far_left", ypos="head") + her "I just thought that you'd want me to wear something... You know..." ("annoyed", "base", "base", "R") + gen "Here's the costume." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, Now it makes sense..." ("open", "narrow", "base", "down") + gen "So you'll wear it?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "If wearing it is what you want me to do..." ("soft", "narrow", "base", "R") + gen "Yes please!" ("base", xpos="far_left", ypos="head") ############################### ## Poker Outfit (token shop) ## ############################### elif item == her_outfit_poker: #Req 19 (panties, bra) gen "I spent some tokens getting this outfit for you..." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: - her "*Whoa*..." ("soft", "narrow", "base", "down", cheeks="blush") - gen "I know... Quite intricate is it not?" ("base", xpos="far_left", ypos="head") - her "You... you want me to wear this?" ("normal", "closed", "base", "mid", cheeks="blush") + if states.her.level < 22: + her @ cheeks blush "Whoa..." ("soft", "narrow", "base", "down") + gen "I know... Quite intricate, is it not?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "You... you want me to wear this?" ("normal", "closed", "base", "mid") gen "I mean, I am a winner after all..." ("base", xpos="far_left", ypos="head") - her "*Hmm*... I'm not so sure about that..." ("soft", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*... I'm not so sure about that..." ("soft", "narrow", "base", "R") gen "Sounds like jealousy to--" ("base", xpos="far_left", ypos="head") her "..." ("normal", "narrow", "base", "mid") - gen "*Ahem*... Just put it on will you?" ("base", xpos="far_left", ypos="head") - her "...{w=0.4} Fine." ("base", "narrow", "base", "R", cheeks="blush") + gen "*Ahem*... Just put it on, will you?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "...{w=0.4} Fine." ("base", "narrow", "base", "R") else: #22+ her "You won this did you?" ("open", "narrow", "base", "down") gen "Indeed." ("base", xpos="far_left", ypos="head") - her "How do I know you didn't just have it made for me?" ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "How do I know you didn't just have it made for me?" ("open", "narrow", "base", "mid") gen "You think I'd be able to come up with something like this?" ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("normal", "narrow", "base", "R") gen "Okay... I probably would..." ("base", xpos="far_left", ypos="head") gen "You're just going to have to trust me on this one..." ("base", xpos="far_left", ypos="head") - her "*Hmm*... Well then, it'd be a shame if the prize went to waste..." ("base", "narrow", "base", "mid", cheeks="blush") - her "Just give me a moment to put it on..." ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... Well then, it'd be a shame if the prize went to waste..." ("base", "narrow", "base", "mid") + her @ cheeks blush "Just give me a moment to put it on..." ("open", "base", "base", "mid") ################# ## Maid Outfit ## ################# elif item == her_outfit_maid: #Req 4 gen "Could you put on this maid's outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "You want me to clean your office now too?" ("clench", "narrow", "base", "mid") gen "Well... Let's just have you wear the outfit for now..." ("base", xpos="far_left", ypos="head") her "*Ugh*... Maid's outfits are so silly..." ("disgust", "narrow", "base", "mid") - her "Well... Here it goes I guess..." ("disgust", "narrow", "base", "R") - elif her_whoring < 22: + her "Well... Here it goes, I guess..." ("disgust", "narrow", "base", "R") + elif states.her.level < 22: her "*Hmm*..." ("upset", "narrow", "base", "down") - her "I presume your reason for wanting me to put it on isn't related to cleaning..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I presume your reason for wanting me to put it on isn't related to cleaning..." ("open", "narrow", "base", "mid") gen "I mean..." ("base", xpos="far_left", ypos="head") - her "Figured..." ("open", "closed", "worried", "mid", cheeks="blush") - her "Oh... Well I guess it can't be helped..." ("soft", "narrow", "base", "down", cheeks="blush") - her "One moment please..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Figured..." ("open", "closed", "worried", "mid") + her @ cheeks blush "Oh... Well, I guess it can't be helped..." ("soft", "narrow", "base", "down") + her @ cheeks blush "One moment please..." ("open", "narrow", "base", "mid") else: #22+ - her "*Hmm*... Is it one of those \"Sexy\" maid's outfits?" ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Hmm*... Is it one of those \"Sexy\" maid's outfits?" ("soft", "narrow", "base", "down") gen "It depends..." ("base", xpos="far_left", ypos="head") - her "What is that supposed to mean?" ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "What is that supposed to mean?" ("clench", "squint", "base", "mid") gen "It depends on who wears it... I think I'd be able to make a judgment whilst seeing you with it on." ("base", xpos="far_left", ypos="head") - her "Charmed...{w} Alright, just let me get changed so we can find out..." ("base", "narrow", "base", "R", cheeks="blush") - her "" ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Charmed...{w} Alright, just let me get changed, so we can find out..." ("base", "narrow", "base", "R") + her @ cheeks blush "" ("base", "squint", "base", "mid") ######################### ## Sling Bikini Outfit ## ######################### elif item == her_outfit_bikini3: #Req 17 (panties, bra) gen "Put on this bikini for me will you?" ("base", xpos="far_left", ypos="head") - her "*Hmm*... A bikini you say?" ("normal", "narrow", "base", "R") + her "*Hmm*... A bikini, you say?" ("normal", "narrow", "base", "R") gen "Yep, this one right here..." ("base", xpos="far_left", ypos="head") - her "Right...{w} Why would I even expect something normal?" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Right...{w} Why would I even expect something normal?" ("angry", "narrow", "base", "down") gen "Looks normal to me..." ("base", xpos="far_left", ypos="head") - her "It's held up by chains, How is that normal to you?" ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "It's held up by chains, How is that normal to you?" ("disgust", "narrow", "base", "mid") gen "I mean, perhaps you wouldn't see it at the beach exactly..." ("base", xpos="far_left", ypos="head") - her "Then where would you?" ("normal", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Then where would you?" ("normal", "narrow", "base", "R") gen "A strip--{w=0.3} I mean... The Vegas strip!" ("base", xpos="far_left", ypos="head") her "They wear these on the Vegas strip do they?" ("open", "narrow", "annoyed", "mid") gen "Of course, it's pretty hot there so why wouldn't--" ("base", xpos="far_left", ypos="head") her "You're lying..." ("open", "closed", "annoyed", "mid") gen "What?!" ("angry", xpos="far_left", ypos="head") gen "(She's seen through my clever ruse... Impossible!)" ("angry", xpos="far_left", ypos="head") - her "Give me the real reason why you want me to wear this." ("upset", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Give me the real reason why you want me to wear this." ("upset", "base", "annoyed", "mid") gen "*Huh*?" ("base", xpos="far_left", ypos="head") - her "The \"real\" reason... Or I'm not putting it on..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "The \"real\" reason... Or I'm not putting it on..." ("angry", "narrow", "base", "mid") gen "The--" ("base", xpos="far_left", ypos="head") gen "(Hold on... This isn't in the script...)" ("base", xpos="far_left", ypos="head") - her "I'm waiting..." ("annoyed", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I'm waiting..." ("annoyed", "closed", "annoyed", "mid") gen "One moment..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" gen "(Alright, let's see what's going on here...)" ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" gen "(\"Genie fights Snape using magic... #TODO add explanation to this later...\")" ("base", xpos="far_left", ypos="head") - gen "(That's the tutorial so it must be further in...)" ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/pageflipback.ogg") + gen "(That's the tutorial, so it must be further in...)" ("base", xpos="far_left", ypos="head") + play sound "sounds/pageflipback.ogg" gen "(Genie fucks Hermione in the Ass...)" ("base", xpos="far_left", ypos="head") - if hg_anal.trigger: - gen "(*Heh-heh*... Why am I not doing this right now exactly?)" ("base", xpos="far_left", ypos="head") + if states.her.status.anal: + gen "(*Heh-heh*... Why am I not doing this right now, exactly?)" ("base", xpos="far_left", ypos="head") else: - gen "(Whops... Spoilers..)" ("base", xpos="far_left", ypos="head") + gen "(Whops... Spoilers...)" ("base", xpos="far_left", ypos="head") gen "(*Hmm*... I've gone too far... Well... In the script at least.)" ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" pause .3 - $ renpy.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" pause .3 - $ renpy.play("sounds/pageflip.ogg") + play sound "sounds/pageflip.ogg" pause .3 gen "(There we go... The wardrobe section...)" ("base", xpos="far_left", ypos="head") - her "Still waiting... I'm going to need a real reason soon or I'm not putting it on..." ("angry", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Still waiting... I'm going to need a real reason soon, or I'm not putting it on..." ("angry", "closed", "annoyed", "mid") gen "(*Aha*! I knew it!)" ("grin", xpos="far_left", ypos="head") gen "(Genie comes up with another bullshit reason... Hermione thinks for a moment and then accepts it as the truth!)" ("grin", xpos="far_left", ypos="head") - her "Three...{w=1} Two--" ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Three...{w=1} Two--" ("open", "closed", "annoyed", "mid") gen "Wait a minute, the script says--" ("angry", xpos="far_left", ypos="head") her "One..." ("open", "narrow", "annoyed", "mid") gen "*Err*... Your tits would look great in it!" ("angry", xpos="far_left", ypos="head") her "...{w} Well then..." ("base", "narrow", "annoyed", "mid") gen "(Ah fuck... I can't believe she's done this...)" ("base", xpos="far_left", ypos="head") her "In that case--" ("open", "closed", "annoyed", "mid") - $ renpy.play("sounds/magic4.ogg") + play sound "sounds/magic4.ogg" with kissiris her "..." ("normal", "base", "base", "stare") gen "What the..." ("base", xpos="far_left", ypos="head") - her "They wear these on the Vegas strip do they?" ("open", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "They wear these on the Vegas strip do they?" ("open", "base", "base", "mid") gen "*Huh*?" ("base", xpos="far_left", ypos="head") - her "*Hmm*... Well I suppose I'll put it on then..." ("grin", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... Well, I suppose I'll put it on then..." ("grin", "closed", "base", "mid") gen "(What just...)" ("base", xpos="far_left", ypos="head") gen "(*Hmm*... The developers must've patched it...{w=0.4} There's my immersion ruined...)" ("base", xpos="far_left", ypos="head") - her "Just give me a moment..." ("open", "base", "base", "mid", cheeks="blush") - her "" ("base", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Just give me a moment..." ("open", "base", "base", "mid") + her @ cheeks blush "" ("base", "base", "base", "mid") ########################### ## Leather Bikini Outfit ## ########################### elif item == her_outfit_bikini2: #Req 16 (panties, bra) gen "Put on this bikini for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "What kind of bikini are we talking about?" ("open", "narrow", "base", "mid") gen "This leather one here." ("base", xpos="far_left", ypos="head") - her "Right..." ("open", "narrow", "base", "down", cheeks="blush") - her "Well I guess it has some coverage..." ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Right..." ("open", "narrow", "base", "down") + her @ cheeks blush "Well I guess it has some coverage..." ("normal", "narrow", "base", "down") gen "I'm sure I could adjust it to be smaller if you'd like." ("base", xpos="far_left", ypos="head") - her "*Err*... No, it's fine... I'll just put it on as is..." ("angry", "closed", "base", "mid", cheeks="blush") - gen "You sure? Just say the word and I'll have it--" ("base", xpos="far_left", ypos="head") - her "No, we're good. Just give me a moment to put it on." ("open", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "*Err*... No, it's fine... I'll just put it on as is..." ("angry", "closed", "base", "mid") + gen "You sure? Just say the word, and I'll have it--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "No, we're good. Just give me a moment to put it on." ("open", "squint", "worried", "R") else: # 22+ - her "A bikini?" ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "A bikini?" ("open", "squint", "base", "R") gen "Yep, I've got this leather one for you to wear today." ("base", xpos="far_left", ypos="head") - her "A leather bikini in the headmasters office..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "A leather bikini in the headmaster's office..." ("base", "narrow", "base", "down") gen "That's right..." ("base", xpos="far_left", ypos="head") - her "*Hmm*... One moment please..." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... One moment please..." ("open", "squint", "base", "mid") ######################## @@ -1227,13 +1187,13 @@ label her_reaction_equip_outfit(item): gen "I've got this bikini for you to wear today." ("base", xpos="far_left", ypos="head") her "A bikini?" ("open", "base", "base", "mid") gen "Yep... This one right here." ("base", xpos="far_left", ypos="head") - her "This is supposed to be a bikini is it?" ("open", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "This is supposed to be a bikini is it?" ("open", "narrow", "base", "down") gen "Should fall within that definition, yes." ("base", xpos="far_left", ypos="head") - her "And here I thought bikini's were supposed to protect your modesty..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "And here I thought bikinis were supposed to protect your modesty..." ("open", "closed", "base", "mid") gen "(Your modesty went out the window a long time ago.)" ("base", xpos="far_left", ypos="head") - her "Well... I suppose it does cover the important bits..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Well... I suppose it does cover the important bits..." ("soft", "narrow", "base", "down") gen "(Is she trying to convince herself out of it or the other way around?)" ("base", xpos="far_left", ypos="head") - her "Just give me a moment to put it on, [genie_name]..." ("normal", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Just give me a moment to put it on, [name_genie_hermione]..." ("normal", "narrow", "base", "R") ################################ ## Pizza Slut Outfit (mirror) ## @@ -1263,7 +1223,7 @@ label her_reaction_equip_outfit(item): gen "What's a stick going to--" ("base", xpos="far_left", ypos="head") # Equips the item early. - call play_sound("magic") + play sound "sounds/magic4.ogg" $ hermione.equip(item) her "Expoximise!" ("scream", "happy", "base", "mid", trans=flashbulb) @@ -1274,71 +1234,71 @@ label her_reaction_equip_outfit(item): ################### elif item == her_outfit_ribbon: #Req 18 (bra, panties) gen "I've got this thing that I'd like you to wrap for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "Is it me?" ("open", "narrow", "base", "mid") gen "When did you become so good at guessing?" ("angry", xpos="far_left", ypos="head") her "It wasn't exactly hard..." ("annoyed", "narrow", "base", "mid") gen "It could be if you put these ribbons on." ("grin", xpos="far_left", ypos="head") her "*Ugh*..." ("disgust", "narrow", "base", "mid") - her "Alright, fine... Just don't tug at the ends." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Alright, fine... Just don't tug at the ends." ("open", "narrow", "base", "R") gen "Of course..." ("grin", xpos="far_left", ypos="head") - her "One moment..." ("open", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "One moment..." ("open", "narrow", "base", "mid") else: # 22+ - her "Alright, let me just take my clothes off..." ("angry", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "Alright, let me just take my clothes off..." ("angry", "narrow", "base", "R") gen "I didn't say it was you!" ("angry", xpos="far_left", ypos="head") - her "It's not?" ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "It's not?" ("clench", "squint", "base", "mid") gen "...{w=0.4} Alright, it is..." ("base", xpos="far_left", ypos="head") - her "Okay then, just give me a--" ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Okay then, just give me a--" ("open", "closed", "base", "mid") gen "Wrap it tight!" ("base", xpos="far_left", ypos="head") - her "Very well..." ("open", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Very well..." ("open", "squint", "base", "R") ###################### ## Christmas Outfit ## ###################### elif item == her_outfit_xmas: #Req 13 (top, bottom) gen "I'm feeling festive today so could you put on the Christmas outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 22: + if states.her.level < 22: her "A Christmas--" ("open", "squint", "base", "mid") - her "Right..." ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Right..." ("soft", "narrow", "base", "down") gen "Specifically designed to jingle some balls." ("base", xpos="far_left", ypos="head") - her "Charming..." ("open", "narrow", "base", "R", cheeks="blush") - her "Is this really what you imagine a proper Christmas-themed outfit is?" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Charming..." ("open", "narrow", "base", "R") + her @ cheeks blush "Is this really what you imagine a proper Christmas-themed outfit is?" ("angry", "narrow", "base", "down") gen "I mean... Mrs Claus probably doesn't wear it... Although she probably should." ("base", xpos="far_left", ypos="head") - her "Why would I even ask..." ("disgust", "closed", "base", "mid", cheeks="blush") - gen "Because if she did then Santa would probably come more than once a--" ("grin", xpos="far_left", ypos="head") - her "Fine!" ("clench", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Why would I even ask..." ("disgust", "closed", "base", "mid") + gen "Because if she did, then Santa would probably come more than once a--" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Fine!" ("clench", "narrow", "base", "mid") gen "I wasn't finished..." ("angry", xpos="far_left", ypos="head") - her "I'll put it on..." ("open", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "I'll put it on..." ("open", "narrow", "base", "R") gen "But... My joke..." ("base", xpos="far_left", ypos="head") - her "" ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "base", "mid") else: #22+ - her "Looks a bit naughty--" ("soft", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Looks a bit naughty--" ("soft", "narrow", "base", "down") gen "Yet I'm sure Santa would put you on the good list if you wore it..." ("base", xpos="far_left", ypos="head") - her "*Hmm*... I doubt that..." ("base", "narrow", "base", "R", cheeks="blush") - her "Well... I'm doing this to make my house happy so surely it'd even out." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "*Hmm*... I doubt that..." ("base", "narrow", "base", "R") + her @ cheeks blush "Well... I'm doing this to make my house happy, so surely it'd even out." ("open", "closed", "base", "mid") gen "I'm sure it will." ("base", xpos="far_left", ypos="head") - her "Just give me a moment to put it on..." ("base", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Just give me a moment to put it on..." ("base", "narrow", "base", "mid") ##################### ## Wrestling Robes ## ##################### elif item == her_outfit_wrestling: #Req 3 (robe, bra, panties, misc) gen "I've got these wrestling robes for you to wear today." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Wrestling robes?" ("soft", "base", "base", "mid") - her "Why do you want me to wear wrestling robes exactly?" ("disgust", "narrow", "base", "mid") + her "Why do you want me to wear wrestling robes, exactly?" ("disgust", "narrow", "base", "mid") gen "Wrestle obviously, let me just call for your opponent." ("base", xpos="far_left", ypos="head") her "What?!" ("mad", "wide", "base", "mid") - gen "No, while that would be fun I'd just like you to wear it." ("base", xpos="far_left", ypos="head") + gen "No, while that would be fun, I'd just like you to wear it." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "mid") her "Alright, as long as you don't make me wrestle..." ("open", "narrow", "base", "mid") else: #13+ her "Wrestling robes?" ("soft", "base", "base", "mid") gen "Yeah, although you'd take them off when you actually start wrestling." ("base", xpos="far_left", ypos="head") - her "You're not trying to trick me into doing mudwrestling are you?" ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "You're not trying to trick me into doing mud wrestling are you?" ("disgust", "narrow", "base", "mid") gen "Well now that you bring it up..." ("base", xpos="far_left", ypos="head") - her "Never mind, forget I said it!" ("angry", "happy", "base", "mid", cheeks="blush") - her "Just let me put these on..." ("soft", "narrow", "base", "down", cheeks="blush") - her "" ("soft", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Never mind, forget I said it!" ("angry", "happy", "base", "mid") + her @ cheeks blush "Just let me put these on..." ("soft", "narrow", "base", "down") + her @ cheeks blush "" ("soft", "narrow", "base", "mid") # TODO: Blacklist fallbacks have to be added. return @@ -1352,22 +1312,22 @@ label her_reaction_equip_outfit_fail(item): gen "Could you wear the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") her "Cheerleader outfit?" ("upset", "base", "base", "mid") - her "Sir, I am not some floosy cheerleader..." ("open", "closed", "base", "mid") - her "Their attire shows way to much skin for my liking..." ("open", "squint", "base", "R") + her "Sir, I am not some floozy cheerleader..." ("open", "closed", "base", "mid") + her "Their attire shows way too much skin for my liking..." ("open", "squint", "base", "R") gen "Come on, it's just your stomach..." ("base", xpos="far_left", ypos="head") - her "Sorry [genie_name] but I'll have to decline..." ("normal", "squint", "base", "mid") + her "Sorry [name_genie_hermione] but I'll have to decline..." ("normal", "squint", "base", "mid") ###################### ## Cheerleader Lewd ## ###################### elif item == her_outfit_cheerleader_2: #Req 16 whoring (top) gen "Could you put on the cheerleader outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 10: + if states.her.level < 10: her "Cheerleader outfit?" ("upset", "base", "base", "mid") - her "Sir, I am not some floosy cheerleader..." ("open", "closed", "base", "mid") - her "Their attire shows way to much skin for my liking..." ("open", "squint", "base", "R") + her "Sir, I am not some floozy cheerleader..." ("open", "closed", "base", "mid") + her "Their attire shows way too much skin for my liking..." ("open", "squint", "base", "R") gen "Come on, surely it's not that bad." ("base", xpos="far_left", ypos="head") - her "Sorry [genie_name] but I'll have to decline..." ("normal", "squint", "base", "mid") + her "Sorry [name_genie_hermione] but I'll have to decline..." ("normal", "squint", "base", "mid") else: # < 16 her "Of course!" ("smile", "happyCl", "base", "mid") her "Go-Go Gryffindor!" ("grin", "squint", "base", "mid") @@ -1382,23 +1342,23 @@ label her_reaction_equip_outfit_fail(item): ################# elif item == her_outfit_fishnet: #Req 19 (panties, top) gen "Could you please wear--" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "What? Oh, what's this?" ("soft", "squint", "base", "L") gen "It's a fishnet--" ("base", xpos="far_left", ypos="head") her "Oh, I get it!" ("open", "wide", "base", "mid") - her "This isn't really a hobby I considered pursuing, [genie_name]..." ("open", "closed", "base", "mid") - her "But if you say it will help me with my grades then I'll try my best." ("smile", "squint", "base", "mid") + her "This isn't really a hobby I considered pursuing, [name_genie_hermione]..." ("open", "closed", "base", "mid") + her "But if you say it will help me with my grades, then I'll try my best." ("smile", "squint", "base", "mid") gen "Wait what?" ("base", xpos="far_left", ypos="head") - her "I will go down to the lake later and try it out, if that's okay with you, [genie_name]." ("open", "base", "base", "R") + her "I will go down to the lake later and try it out, if that's okay with you, [name_genie_hermione]." ("open", "base", "base", "R") gen "(...)" ("base", xpos="far_left", ypos="head") gen "(Wait, does she want to go fishing with it...?)" ("base", xpos="far_left", ypos="head") - elif her_whoring < 10: + elif states.her.level < 10: her "What on earth... This top is so revealing!" ("angry", "wide", "angry", "mid") gen "Yes, glad you noticed! Now if you don't mind just--" ("grin", xpos="far_left", ypos="head") her "I'm not going to wear it! You can see everything in this! My nipples would poke right through it!!!" ("scream", "base", "angry", "mid") gen "I wouldn't mind if they did..." ("base", xpos="far_left", ypos="head") her "That's just... typical!" ("clench", "base", "angry", "R") - her "You disgust me, [genie_name]!" ("disgust", "base", "angry", "mid") + her "You disgust me, [name_genie_hermione]!" ("disgust", "base", "angry", "mid") gen "Alright-- Yeesh... Forget I said anything." ("base", xpos="far_left", ypos="head") else: # < 19 her "A fishnet outfit?" ("angry", "happy", "base", "mid") @@ -1407,12 +1367,12 @@ label her_reaction_equip_outfit_fail(item): gen "They don't usually... I had it made custom just for you!" ("base", xpos="far_left", ypos="head") her "You did, did you?" ("open", "narrow", "base", "mid") gen "Yes, so if you could just--" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Well, that's too bad because I won't be wearing it..." ("disgust", "base", "base", "R") else: - her "This is practically fetish gear, [genie_name]..." ("soft", "happy", "base", "mid") + her "This is practically fetish gear, [name_genie_hermione]..." ("soft", "happy", "base", "mid") gen "I mean..." ("base", xpos="far_left", ypos="head") - her "I am not wearing something like this..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "I am not wearing something like this..." ("open", "base", "base", "R") ###################### ## Fishnet One-Piece ## @@ -1420,7 +1380,7 @@ label her_reaction_equip_outfit_fail(item): elif item == her_outfit_fishnet_onepiece: #Req 19 (top) gen "Could you put on the fishnet one-piece for me?" ("base", xpos="far_left", ypos="head") her "The what?" ("angry", "squint", "base", "mid") - if her_whoring < 4: + if states.her.level < 4: her "What on earth is this!?" ("scream", "base", "angry", "down") gen "Fishnet... One-piece?" ("base", xpos="far_left", ypos="head") her "Are you actually expecting me to wear this?" ("angry", "base", "angry", "mid") @@ -1431,7 +1391,7 @@ label her_reaction_equip_outfit_fail(item): her "Yes..." ("upset", "base", "angry", "mid") gen "So..." ("base", xpos="far_left", ypos="head") her "No!" ("angry", "base", "angry", "mid") - elif her_whoring < 10: + elif states.her.level < 10: her "Fishnet--" ("soft", "narrow", "base", "down") her "Sir, I am not wearing something so..." ("angry", "base", "base", "down") gen "Glamorous?" ("base", xpos="far_left", ypos="head") @@ -1442,25 +1402,25 @@ label her_reaction_equip_outfit_fail(item): gen "Just think of yourself as a fish inside a--" ("base", xpos="far_left", ypos="head") her "No... Just... No..." ("disgust", "base", "annoyed", "R") else: # < 19 - her "This is Lingerie!" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "This is Lingerie!" ("angry", "narrow", "base", "down") gen "Well spotted!" ("base", xpos="far_left", ypos="head") gen "Now if you could just--" ("base", xpos="far_left", ypos="head") - her "I am not putting on lingerie for you..." ("angry", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I am not putting on lingerie for you..." ("angry", "closed", "base", "mid") ################## ## Latex Outfit ## ################## elif item == her_outfit_latex: #Req 19 (top) gen "Could you put on this latex outfit for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 10: + if states.her.level < 10: her "Latex--" ("soft", "happy", "base", "mid") her "Sir, you can't be serious!" ("angry", "wide", "annoyed", "mid") gen "I'm not hearing a no." ("base", xpos="far_left", ypos="head") her "I can't believe I'd even have to--" ("clench", "squint", "angry", "mid") her "No! I am not putting on this disgusting--" ("scream", "closed", "angry", "mid") - gen "Alright, Alright... A simple no would've sufficed..." ("base", xpos="far_left", ypos="head") + gen "Alright, Alright... A simple \"no\" would've sufficed..." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "base", "angry", "mid") - elif her_whoring < 13: + elif states.her.level < 13: her "Latex?" ("open", "wide", "base", "mid") her "You actually expect me to wear something like this?" ("clench", "base", "annoyed", "mid") gen "I don't see why not. You're perfectly fine being naked." ("base", xpos="far_left", ypos="head") @@ -1471,10 +1431,10 @@ label her_reaction_equip_outfit_fail(item): her "Latex?" ("angry", "squint", "base", "mid") her "How do you even put this on?" ("disgust", "narrow", "annoyed", "down") gen "No clue, although I'd assume it's no different to a condom..." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "wide", "base", "mid", cheeks="blush") - her "Yeah I'm not putting this on..." ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "..." ("normal", "wide", "base", "mid") + her @ cheeks blush "Yeah, I'm not putting this on..." ("open", "closed", "annoyed", "mid") gen "Did I say condom? I meant... *Err*..." ("angry", xpos="far_left", ypos="head") - her "..." ("upset", "base", "base", "R", cheeks="blush") + her @ cheeks blush "..." ("upset", "base", "base", "R") gen "Fine... Never mind then..." ("base", xpos="far_left", ypos="head") ####################### @@ -1482,13 +1442,13 @@ label her_reaction_equip_outfit_fail(item): ####################### elif item == her_outfit_slutty_schoolgirl: #Req 19 (top, Bottom) gen "Could you put on this school uniform for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "Most certainly... The school uniform is a staple within this institution and I'll wear it with--" ("open", "closed", "base", "mid") + if states.her.level < 4: + her "Most certainly... The school uniform is a staple within this institution, and I'll wear it with--" ("open", "closed", "base", "mid") gen "Here you go." ("base", xpos="far_left", ypos="head") her "Pride..." ("normal", "squint", "base", "down") her "What have you done?!" ("shock", "wide", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "It's cut all weird... Wait, what's wrong with this skirt?" ("clench", "base", "base", "down", cheeks="blush") + her @ cheeks blush "It's cut all weird... Wait, what's wrong with this skirt?" ("clench", "base", "base", "down") gen "You like it?" ("base", xpos="far_left", ypos="head") her "What do you mean do I like it?" ("scream", "happy", "angry", "mid") gen "I knew you would--" ("base", xpos="far_left", ypos="head") @@ -1496,7 +1456,7 @@ label her_reaction_equip_outfit_fail(item): gen "..." ("angry", xpos="far_left", ypos="head") her "I shall not put on this... this--" ("angry", "base", "angry", "down") gen "Alright fine..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "Why would you..." ("clench", "squint", "base", "down") gen "What?" ("base", xpos="far_left", ypos="head") her "This is...{w=0.4} You've completely ruined our school uniform!" ("angry", "happyCl", "angry", "mid") @@ -1509,10 +1469,10 @@ label her_reaction_equip_outfit_fail(item): gen "I know it's great isn't it?" ("base", xpos="far_left", ypos="head") her "This..." ("mad", "narrow", "base", "down") her "Why would you do this to our school uniform?" ("soft", "closed", "base", "mid") - her "The students wear this with pride... It's a staple of our great institution." ("normal", "squint", "base", "mid", cheeks="blush") - her "And you've turned it into--" ("upset", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "The students wear this with pride... It's a staple of our great institution." ("normal", "squint", "base", "mid") + her @ cheeks blush "And you've turned it into--" ("upset", "narrow", "base", "down") gen "I know... Quite an improvement, isn't it?" ("grin", xpos="far_left", ypos="head") - her "I'm sorry but I am not putting this on, [genie_name]..." ("open", "closed", "base", "mid") + her "I'm sorry, but I am not putting this on, [name_genie_hermione]..." ("open", "closed", "base", "mid") gen "Suit yourself..." ("base", xpos="far_left", ypos="head") ################## @@ -1522,9 +1482,9 @@ label her_reaction_equip_outfit_fail(item): gen "Put on this witch outfit for me will you?" ("base", xpos="far_left", ypos="head") her "A witch outfit?" ("soft", "base", "base", "mid") her "Sir, I'm not sure..." ("open", "squint", "base", "R") - her "As a muggle born, I usually only wear casual muggle wear when the school uniform doesn't suffice." ("normal", "squint", "base", "mid") + her "As a muggle-born, I usually only wear casual muggle wear when the school uniform doesn't suffice." ("normal", "squint", "base", "mid") gen "Perhaps it's time to widen your wardrobe selection then." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "I refuse!" ("open", "closed", "base", "mid") her "" ("normal", "base", "base", "mid") else: # < 10 @@ -1548,25 +1508,25 @@ label her_reaction_equip_outfit_fail(item): gen "Could you put on this archaeologist outfit for me?" ("base", xpos="far_left", ypos="head") her "A what?" ("soft", "squint", "base", "mid") gen "This one..." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "What is this?!" ("open", "wide", "base", "down") gen "An archaeologist outfit?" ("base", xpos="far_left", ypos="head") - gen "Well at least it's an artist representation of what one might look like." ("base", xpos="far_left", ypos="head") + gen "Well, at least it's an artist's representation of what one might look like." ("base", xpos="far_left", ypos="head") her "What kind of archaeologist would be wearing something like this?" ("clench", "squint", "annoyed", "mid") gen "Why none other than the great Lara Croft!" ("base", xpos="far_left", ypos="head") her "Who?" ("disgust", "squint", "base", "mid") - gen "Lara Croft! The worlds most famous Archaeologist!" ("base", xpos="far_left", ypos="head") + gen "Lara Croft! The world's most famous Archaeologist!" ("base", xpos="far_left", ypos="head") her "What kind of archaeologist is she to be wearing this?" ("normal", "slit", "base", "mid") gen "The kind that delves into ancient temples looking for rare artefacts!" ("base", xpos="far_left", ypos="head") her "Well I must say that attire such as this is hardly necessary to--" ("open", "closed", "annoyed", "mid") gen "I'll have you know that she's an expert in her field!" ("base", xpos="far_left", ypos="head") gen "I've experienced her... *Err*... expertise in taking care of delicate and ancient artefacts first hand!" ("base", xpos="far_left", ypos="head") - her "Oh, sorry [genie_name]!" ("mad", "squint", "base", "mid") + her "Oh, sorry [name_genie_hermione]!" ("mad", "squint", "base", "mid") her "I meant no disrespect, I'd just rather wear something a bit more..." ("upset", "squint", "base", "R") - her "*Ehm*..." ("clench", "base", "base", "mid", cheeks="blush") - gen "Whatever you say, [hermione_name]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ehm*..." ("clench", "base", "base", "mid") + gen "Whatever you say, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") else: # < 10 - her "Hmm... When I think of an archaeologist outfit I don't think of something so..." ("soft", "base", "worried", "down") + her "Hmm... When I think of an archaeologist outfit, I don't think of something so..." ("soft", "base", "worried", "down") gen "Triangular?" ("base", xpos="far_left", ypos="head") her "No, I was going to say revealing..." ("disgust", "squint", "base", "mid") gen "It's not \"that\" revealing..." ("base", xpos="far_left", ypos="head") @@ -1581,55 +1541,55 @@ label her_reaction_equip_outfit_fail(item): ####################### elif item == her_outfit_hslut: #Req 19 (top, panties, bra) gen "Put on this burlesque outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A what?" ("clench", "wide", "worried", "mid") gen "Burlesque outfit, it's--" ("base", xpos="far_left", ypos="head") her "What the hell is wrong with you?" ("mad", "base", "angry", "mid") gen "What do you mean?" ("base", xpos="far_left", ypos="head") - her "Just look at it!" ("scream", "base", "angry", "mid", cheeks="blush") - her "What are these heart things even supposed to be?" ("clench", "base", "annoyed", "down", cheeks="blush") + her @ cheeks blush "Just look at it!" ("scream", "base", "angry", "mid") + her @ cheeks blush "What are these heart things even supposed to be?" ("clench", "base", "annoyed", "down") gen "Oh, they're called pasties. They go on the top of your nipples." ("base", xpos="far_left", ypos="head") - her "..." ("disgust", "squint", "worried", "stare", cheeks="blush") - gen "You see, if you move your breasts in a circulation motion these little things spin around." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("disgust", "squint", "worried", "stare") + gen "You see, if you move your breasts in a circulation motion, these little things spin around." ("base", xpos="far_left", ypos="head") with hpunch - her "What?!" ("shock", "wide", "angry", "mid", cheeks="blush") + her @ cheeks blush "What?!" ("shock", "wide", "angry", "mid") gen "I know!" ("grin", xpos="far_left", ypos="head") gen "Pretty clever, right?" ("grin", xpos="far_left", ypos="head") - her "Sir, how could you ask me to wear something like this?!" ("angry", "happy", "angry", "R", cheeks="blush") - her "I am not putting this on..." ("clench", "narrow", "annoyed", "mid", cheeks="blush") - elif her_whoring < 13: - her "Burlesque--" ("clench", "base", "base", "mid", cheeks="blush") - her "My word!" ("soft", "base", "annoyed", "down", cheeks="blush") + her @ cheeks blush "Sir, how could you ask me to wear something like this?!" ("angry", "happy", "angry", "R") + her @ cheeks blush "I am not putting this on..." ("clench", "narrow", "annoyed", "mid") + elif states.her.level < 13: + her @ cheeks blush "Burlesque--" ("clench", "base", "base", "mid") + her @ cheeks blush "My word!" ("soft", "base", "annoyed", "down") gen "A piece of art is it not?" ("base", xpos="far_left", ypos="head") - her "You're expecting me to wear this?" ("clench", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "You're expecting me to wear this?" ("clench", "wide", "base", "mid") gen "Heck yes!" ("base", xpos="far_left", ypos="head") - her "Well you can take that expectation and.... and..." ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Well you can take that expectation and.... and..." ("open", "closed", "annoyed", "mid") gen "And what?" ("base", xpos="far_left", ypos="head") - her "I am not wearing this for you..." ("clench", "closed", "base", "mid", cheeks="blush") - her "" ("normal", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I am not wearing this for you..." ("clench", "closed", "base", "mid") + her @ cheeks blush "" ("normal", "base", "base", "mid") else: # < 19 - her "A Burlesque outfit?" ("normal", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "A Burlesque outfit?" ("normal", "squint", "base", "mid") gen "Indeed... And it's got heart shaped pasties and everything!" ("base", xpos="far_left", ypos="head") - her "..." ("normal", "base", "base", "down", cheeks="blush") - her "You actually want me to put this on?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("normal", "base", "base", "down") + her @ cheeks blush "You actually want me to put this on?" ("open", "squint", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - her "Of course you do... Why'd I even ask..." ("normal", "narrow", "base", "R", cheeks="blush") - her "But... Isn't this what strippers wear, [genie_name]?" ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "Of course you do... Why'd I even ask..." ("normal", "narrow", "base", "R") + her @ cheeks blush "But... Isn't this what strippers wear, [name_genie_hermione]?" ("open", "closed", "worried", "mid") gen "Well, some do... on occasion. I guess it depends..." ("base", xpos="far_left", ypos="head") - her "... [genie_name], I'm not a stripper..." ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "... [name_genie_hermione], I'm not a stripper..." ("disgust", "squint", "base", "mid") gen "Sure could've fooled me..." ("base", xpos="far_left", ypos="head") - her "I only did that because you paid..." ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I only did that because you paid..." ("open", "closed", "base", "mid") gen "Go on..." ("base", xpos="far_left", ypos="head") - her "I'm sorry sir but it's too much..." ("angry", "squint", "base", "mid", cheeks="blush") - gen "(You're in denial [hermione_name]... Well, I'm sure she'll come around soon enough.)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I'm sorry sir, but it's too much..." ("angry", "squint", "base", "mid") + gen "(You're in denial [name_hermione_genie]... Well, I'm sure she'll come around soon enough.)" ("base", xpos="far_left", ypos="head") ####################### ## Ms. Marvel Outfit ## ####################### elif item == her_outfit_msmarv: #Req 10 (top, stockings) gen "I've got this Cosplay outfit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "Cosplay, [genie_name]?" ("clench", "base", "worried", "mid") + if states.her.level < 4: + her "Cosplay, [name_genie_hermione]?" ("clench", "base", "worried", "mid") gen "Indeed... It's a Miss--" ("base", xpos="far_left", ypos="head") her "I am not wearing it..." ("open", "closed", "annoyed", "mid") gen "What? Why not?" ("base", xpos="far_left", ypos="head") @@ -1637,16 +1597,16 @@ label her_reaction_equip_outfit_fail(item): gen "I mean..." ("base", xpos="far_left", ypos="head") her "I'll stick to normal clothing thank you very much..." ("open", "base", "annoyed", "R") else: # < 10 - her "Cosplay outfit, [genie_name]?" ("normal", "base", "worried", "mid") + her "Cosplay outfit, [name_genie_hermione]?" ("normal", "base", "worried", "mid") gen "Indeed... It's a Ms Marvel cosplay." ("base", xpos="far_left", ypos="head") her "*Hmm*... Can't say that I know it..." ("upset", "squint", "base", "R") gen "Here you go..." ("base", xpos="far_left", ypos="head") her "Oh My... This thing is skin tight..." ("open", "wide", "worried", "down") gen "Not too unusual for cosplay..." ("base", xpos="far_left", ypos="head") her "I can't put this thing on..." ("clench", "squint", "worried", "mid") - gen "Oh come on... Just use some powder and I'm sure it'll slip right--" ("base", xpos="far_left", ypos="head") + gen "Oh come on... Just use some powder, and I'm sure it'll slip right--" ("base", xpos="far_left", ypos="head") her "I \"won't\" put this thing on..." ("angry", "base", "annoyed", "mid") - gen "... Just say so then..." ("base", xpos="far_left", ypos="head") + gen "... Then why didn't you just say so..." ("base", xpos="far_left", ypos="head") her "..." ("angry", "base", "base", "R") ################# @@ -1654,8 +1614,8 @@ label her_reaction_equip_outfit_fail(item): ################# elif item == her_outfit_tifa: #Req 10 (top, bottom) gen "Could you put on this Tifa Cosplay outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "Cosplay, [genie_name]?" ("clench", "base", "worried", "mid") + if states.her.level < 4: + her "Cosplay, [name_genie_hermione]?" ("clench", "base", "worried", "mid") gen "Indeed!" ("base", xpos="far_left", ypos="head") her "I am not wearing it..." ("open", "closed", "annoyed", "mid") gen "What? Why not?" ("base", xpos="far_left", ypos="head") @@ -1663,7 +1623,7 @@ label her_reaction_equip_outfit_fail(item): gen "I mean..." ("base", xpos="far_left", ypos="head") her "I'll stick to normal clothing thank you very much..." ("open", "base", "annoyed", "R") else: # < 10 - her "What's a Tifa, [genie_name]?" ("soft", "base", "base", "mid") + her "What's a Tifa, [name_genie_hermione]?" ("soft", "base", "base", "mid") gen "What's a-- Who doesn't know--" ("base", xpos="far_left", ypos="head") gen "Tifa Lockheart!" ("base", xpos="far_left", ypos="head") her "Who?" ("upset", "squint", "worried", "mid") @@ -1684,17 +1644,17 @@ label her_reaction_equip_outfit_fail(item): ################################## elif item == her_outfit_teddy: #Req 16 (top) gen "Could you put on this nightgown?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "This... This is completely transparent!" ("clench", "squint", "annoyed", "down") gen "Oh come on, it's hardly even translucent." ("base", xpos="far_left", ypos="head") her "I can see the wrinkles on your hand through it..." ("disgust", "squint", "angry", "mid") gen "That's just the folds of the fabric." ("base", xpos="far_left", ypos="head") her "I am not wearing this..." ("angry", "base", "angry", "mid") - elif her_whoring < 13: + elif states.her.level < 13: her "*Ehm*... Isn't a nightgown supposed to..." ("disgust", "narrow", "base", "down") - gen "Supposed to what, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Supposed to what, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "You know..." ("clench", "narrow", "base", "down") - her "Cover your body." ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Cover your body." ("open", "closed", "annoyed", "mid") gen "Isn't it?" ("base", xpos="far_left", ypos="head") her "It barely covers anything..." ("upset", "narrow", "base", "mid") her "And what it does cover is almost completely see-through." ("open", "squint", "annoyed", "mid") @@ -1702,13 +1662,13 @@ label her_reaction_equip_outfit_fail(item): her "I am not wearing it..." ("mad", "squint", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") else: # < 16 - her "*Err*... You want me to wear lingerie?" ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "*Err*... You want me to wear lingerie?" ("open", "base", "base", "R") gen "Yes." ("base", xpos="far_left", ypos="head") - her "Can I ask you why?" ("normal", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "May I ask you why?" ("normal", "squint", "base", "mid") gen "Don't you want to look sexy for me?" ("base", xpos="far_left", ypos="head") - her "For you-- Sir, that is not why I'm doing this..." ("clench", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "For you-- Sir, that is not why I'm doing this..." ("clench", "closed", "base", "mid") gen "Did I say for me? I meant--" ("base", xpos="far_left", ypos="head") - her "Too late..." ("angry", "base", "annoyed", "R", cheeks="blush") + her @ cheeks blush "Too late..." ("angry", "base", "annoyed", "R") gen "(Damn...)" ("base", xpos="far_left", ypos="head") #################### @@ -1716,7 +1676,7 @@ label her_reaction_equip_outfit_fail(item): #################### elif item == her_outfit_nightie: #Req 13 (top) gen "Can you put on this nightie for me?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "What is this?!" ("angry", "base", "annoyed", "down") gen "A nightie?" ("base", xpos="far_left", ypos="head") her "It's see-through!" ("scream", "squint", "base", "mid") @@ -1724,7 +1684,7 @@ label her_reaction_equip_outfit_fail(item): her "I am not putting that on..." ("mad", "narrow", "angry", "mid") else: # < 13 her "What's supposed to make this piece of garment a nightie exactly?" ("angry", "narrow", "base", "down") - gen "Well... It's a thin soft material that you put on at night." ("base", xpos="far_left", ypos="head") + gen "Well... It's a thin, and soft material that you put on at night." ("base", xpos="far_left", ypos="head") her "Isn't a nightie meant to cover you?" ("normal", "narrow", "annoyed", "mid") gen "I mean it sort of does..." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "closed", "annoyed", "mid") @@ -1736,47 +1696,47 @@ label her_reaction_equip_outfit_fail(item): ####################### elif item == her_outfit_latex_dress: #Req 19 (top) gen "Put on this latex dress for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "Latex dress?" ("angry", "squint", "base", "stare") her "I didn't know you could make a dress out of--" ("open", "squint", "worried", "mid") gen "Here you go." ("base", xpos="far_left", ypos="head") her "Are you crazy?!" ("clench", "wide", "base", "down") - her "What's wrong with you, [genie_name]?!" ("scream", "squint", "annoyed", "mid") + her "What's wrong with you, [name_genie_hermione]?!" ("scream", "squint", "annoyed", "mid") gen "What do you--" ("base", xpos="far_left", ypos="head") - her "I am not putting that thing on..." ("disgust", "happyCl", "base", "mid", cheeks="blush") - elif her_whoring < 13: + her @ cheeks blush "I am not putting that thing on..." ("disgust", "happyCl", "base", "mid") + elif states.her.level < 13: her "Latex dress?" ("angry", "narrow", "base", "stare") gen "This one." ("base", xpos="far_left", ypos="head") her "This..." ("clench", "squint", "base", "down") gen "Pretty unique isn't it?" ("base", xpos="far_left", ypos="head") her "This looks like someone ripped an oversized balloon." ("disgust", "squint", "annoyed", "mid") - gen "Baloon? I was going to say it looks more like a--" ("base", xpos="far_left", ypos="head") + gen "Balloon? I was going to say it looks more like a--" ("base", xpos="far_left", ypos="head") her "... {w} Like a what?" ("angry", "squint", "annoyed", "mid") gen "Never mind..." ("base", xpos="far_left", ypos="head") gen "So will you wear--" ("base", xpos="far_left", ypos="head") her "No!" ("scream", "closed", "annoyed", "mid") her "" ("normal", "squint", "annoyed", "mid") else: # < 19 - her "[genie_name], this is fetish gear isn't it?" ("annoyed", "base", "base", "R", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], this is fetish gear isn't it?" ("annoyed", "base", "base", "R") gen "I mean..." ("base", xpos="far_left", ypos="head") gen "I wouldn't exactly call it..." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") gen "From a certain point of view, maybe..." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") gen "Yeah okay, I got nothing..." ("base", xpos="far_left", ypos="head") - her "I am not putting this on..." ("open", "closed", "base", "mid", cheeks="blush") - her "" ("normal", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "I am not putting this on..." ("open", "closed", "base", "mid") + her @ cheeks blush "" ("normal", "base", "base", "mid") ##################### ## Egyptian Outfit ## ##################### elif item == her_outfit_egypt: #Req 19 (top) gen "Put on this Egyptian-themed outfit for me will you?" ("base", xpos="far_left", ypos="head") - if her_whoring < 13: + if states.her.level < 13: her "Egyptian-themed? What's that supposed to mean?" ("upset", "squint", "worried", "mid") gen "You know... The type of clothing that they'd wear in Egypt." ("base", xpos="far_left", ypos="head") - gen "Well at least back when I was there." ("base", xpos="far_left", ypos="head") - her "You've been to Egypt, [genie_name]?" ("soft", "squint", "base", "mid") + gen "Well, at least back when I was there." ("base", xpos="far_left", ypos="head") + her "You've been to Egypt, [name_genie_hermione]?" ("soft", "squint", "base", "mid") gen "Of course!" ("base", xpos="far_left", ypos="head") gen "And let me tell you... Cleopatra was quite the sight to behold!" ("base", xpos="far_left", ypos="head") her "Did you see a bust of her there?" ("base", "base", "worried", "mid") @@ -1786,20 +1746,20 @@ label her_reaction_equip_outfit_fail(item): her "I see... Well, let me have a look..." ("base", "squint", "base", "mid") gen "Here you go." ("base", xpos="far_left", ypos="head") her "What the--" ("normal", "wide", "base", "down") - her "Surely this can't be what they wore, [genie_name]!" ("clench", "base", "base", "down") + her "Surely this can't be what they wore, [name_genie_hermione]!" ("clench", "base", "base", "down") gen "Oh, I'm quite certain they did..." ("base", xpos="far_left", ypos="head") - her "There's barely any material to cover... *Ehm*..." ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "There's barely any material to cover... *Ehm*..." ("disgust", "squint", "base", "mid") gen "I mean, it's quite hot there..." ("base", xpos="far_left", ypos="head") - her "Sorry sir, but this-- I can't-- No offence but--" ("disgust", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Sorry sir, but this-- I can't-- No offence but--" ("disgust", "squint", "base", "R") gen "Alright... fine." ("base", xpos="far_left", ypos="head") else: # < 19 her "Egyptian-themed?" ("soft", "squint", "worried", "mid") gen "Yeah, this one." ("base", xpos="far_left", ypos="head") her "Sir... I thought Egyptians covered their skin from the sun..." ("upset", "narrow", "base", "mid") gen "Poppycock." ("base", xpos="far_left", ypos="head") - gen "If you did then you wouldn't be able to get an even tan." ("base", xpos="far_left", ypos="head") + gen "If you did, then you wouldn't be able to get an even tan." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "base", "mid") - her "Sorry [genie_name] but this is too much..." ("open", "closed", "annoyed", "mid") + her "Sorry [name_genie_hermione] but this is too much..." ("open", "closed", "annoyed", "mid") her "" ("normal", "base", "annoyed", "mid") ############## @@ -1807,7 +1767,7 @@ label her_reaction_equip_outfit_fail(item): ############## elif item == her_outfit_swimsuit: #Req 13 (top) gen "I've got this swimsuit I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A swimsuit?" ("angry", "happy", "base", "mid") her "Am I expected to go swimming with you?" ("clench", "squint", "base", "mid") gen "I just thought you'd look good in one." ("base", xpos="far_left", ypos="head") @@ -1823,7 +1783,7 @@ label her_reaction_equip_outfit_fail(item): her "Wouldn't that be kind of weird?" ("clench", "narrow", "base", "mid") gen "I don't see why it would..." ("base", xpos="far_left", ypos="head") her "I mean... There's not really a pool or anything in here..." ("disgust", "base", "worried", "L") - gen "Yeah... No complimentary chocolate either." ("base", xpos="far_left", ypos="head") + gen "Yeah... No complimentary chocolate, either." ("base", xpos="far_left", ypos="head") her "*Huh*?" ("upset", "squint", "base", "mid") gen "Never mind..." ("base", xpos="far_left", ypos="head") gen "Would you put it on if there was a pool in here?" ("base", xpos="far_left", ypos="head") @@ -1836,7 +1796,7 @@ label her_reaction_equip_outfit_fail(item): ##################### elif item == her_outfit_bioshock: #Req 14 (no bra) gen "Can you put on this Elisabeth Cosplay outfit?" ("base", xpos="far_left", ypos="head") - her "Cosplay, [genie_name]?" ("clench", "base", "worried", "mid") + her "Cosplay, [name_genie_hermione]?" ("clench", "base", "worried", "mid") gen "Indeed!" ("base", xpos="far_left", ypos="head") her "I am not wearing it..." ("open", "closed", "annoyed", "mid") gen "What? Why not?" ("angry", xpos="far_left", ypos="head") @@ -1851,8 +1811,8 @@ label her_reaction_equip_outfit_fail(item): ##################### elif item == her_outfit_yennefer: #Req 10 gen "I got this Yennefer Cosplay that I'd like you to put on." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "Cosplay, [genie_name]?" ("clench", "base", "worried", "mid") + if states.her.level < 4: + her "Cosplay, [name_genie_hermione]?" ("clench", "base", "worried", "mid") gen "Yep, she's from the--" ("base", xpos="far_left", ypos="head") her "I am not wearing it..." ("open", "closed", "annoyed", "mid") gen "You didn't even let me finish!" ("angry", xpos="far_left", ypos="head") @@ -1865,20 +1825,20 @@ label her_reaction_equip_outfit_fail(item): gen "Yep, Yennefer from the Witcher." ("base", xpos="far_left", ypos="head") her "A witch?" ("soft", "squint", "base", "mid") her "Well, I suppose I could--" ("open", "closed", "base", "mid") - gen "That's kind of offensive actually." ("base", xpos="far_left", ypos="head") + gen "That's kind of offensive, actually." ("base", xpos="far_left", ypos="head") her "*Huh*?" ("clench", "squint", "base", "mid") gen "She's a sorceress, not a witch." ("base", xpos="far_left", ypos="head") her "I see..." ("angry", "narrow", "base", "R") her "(What is he even talking about...)" ("angry", "narrow", "base", "down") gen "You better make up for what you just said by wearing this for me..." ("base", xpos="far_left", ypos="head") her "What?" ("angry", "squint", "base", "mid") - gen "Calling her a witch... Witches are usually old women or hags you know." ("base", xpos="far_left", ypos="head") + gen "Calling her a witch... Witches are usually old women or hags, you know." ("base", xpos="far_left", ypos="head") her "Sir..." ("disgust", "base", "worried", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") her "I'm a witch!" ("angry", "base", "annoyed", "mid") - gen "But the video ga-- I mean books... Yes, I've read them you know!" ("angry", xpos="far_left", ypos="head") + gen "But the video ga-- I mean books... Yes, I've read them, you know!" ("angry", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "annoyed", "mid") - gen "Okay I didn't..." ("base", xpos="far_left", ypos="head") + gen "Okay... You got me... I didn't." ("base", xpos="far_left", ypos="head") her "Sir, do I have to wear this?" ("open", "closed", "annoyed", "mid") gen "No... I don't deserve it..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "narrow", "base", "mid") @@ -1887,13 +1847,13 @@ label her_reaction_equip_outfit_fail(item): ################ ## Ball Dress ## ################ - elif item == her_outfit_ball: #Req 14 (no bra) (ball happens on lvl 15) + elif item == her_outfit_ball: #Req 14 (no bra) gen "Could you put on this dress?" ("base", xpos="far_left", ypos="head") her "Sir, this dress has no...{w=0.4} *Ehm*...{w=0.4} Support." ("disgust", "narrow", "base", "down") gen "Sorry?" ("base", xpos="far_left", ypos="head") her "You know..." ("clench", "narrow", "worried", "R") gen "Oh... I see..." ("base", xpos="far_left", ypos="head") - gen "Well your breasts should do shouldn't they?" ("base", xpos="far_left", ypos="head") + gen "Well, your breasts should do, shouldn't they?" ("base", xpos="far_left", ypos="head") her "What?!" ("angry", "wide", "base", "mid") her "Sir, I'm not putting on some dress without my bra..." ("angry", "squint", "annoyed", "mid") gen "Why not?" ("base", xpos="far_left", ypos="head") @@ -1907,7 +1867,7 @@ label her_reaction_equip_outfit_fail(item): ################## elif item == her_outfit_bunny: #Req 19 (top, stockings) gen "I've got this bunny costume I'd like you to wear." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A what?!" ("disgust", "wide", "base", "mid") gen "A Bunny costume." ("base", xpos="far_left", ypos="head") her "Why would you even own such a thing?" ("open", "squint", "annoyed", "mid") @@ -1919,25 +1879,52 @@ label her_reaction_equip_outfit_fail(item): gen "...{w=0.4} Yes?" ("base", xpos="far_left", ypos="head") her "Well, that kind of humour is very much like him..." ("soft", "squint", "annoyed", "R") gen "(When in doubt, blame Snape!)" ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: - her "*Err*... You're joking right?" ("clench", "narrow", "base", "mid") + elif states.her.level < 13: + her "*Err*... You're joking, right?" ("clench", "narrow", "base", "mid") her "Surely you don't expect me to put on something so--" ("open", "closed", "annoyed", "mid") gen "*Hah-Ha*... Yeah, I'm a bit of a hop-timist sometimes!" ("base", xpos="far_left", ypos="head") her "What?" ("clench", "squint", "base", "mid") gen "*Heh*...{w=0.3} Never mind." ("base", xpos="far_left", ypos="head") else: # < 19 - her "*Ehm*..." ("annoyed", "squint", "base", "R", cheeks="blush") - her "It's a bit much, don't you think?" ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "*Ehm*..." ("annoyed", "squint", "base", "R") + her @ cheeks blush "It's a bit much, don't you think?" ("disgust", "narrow", "base", "down") gen "Don't be silly... Just hop right into it." ("base", xpos="far_left", ypos="head") - her "*Hmm*... I think I'll pass." ("angry", "closed", "base", "mid", cheeks="blush") - her "" ("normal", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "*Hmm*... I think I'll pass." ("angry", "closed", "base", "mid") + her @ cheeks blush "" ("normal", "squint", "base", "R") + + ###################### + ## Reindeer Costume ## + ###################### + elif item == her_outfit_reindeer: #Req 19 (top, stockings) + if states.her.level < 4: + gen "Ever considered dressing up like a reindeer?" ("base", xpos="far_left", ypos="head") + her "Why on earth would I consider doing something like that?" ("open", "base", "base", "mid") + gen "No reason..." ("base", xpos="far_left", ypos="head") + else: # < 13 + gen "Put on this reindeer costume for me will you?" ("base", xpos="far_left", ypos="head") + her "A reindeer costume?" ("soft", "base", "base", "mid") + gen "Yep, this one right here." ("base", xpos="far_left", ypos="head") + her "Looks-- Hold on, there's a hole in it!" ("angry", "narrow", "base", "down") + gen "Of course there is, how else would you be able to wear it?" ("base", xpos="far_left", ypos="head") + her "Not that kind of hole, there's a hole in the-- the--" ("angry", "narrow", "base", "mid") + gen "Let me see." ("base", xpos="far_left", ypos="head") + gen "Oh, would you look at that." ("base", xpos="far_left", ypos="head") + gen "Must be some kind of manufacturing error... Those darn elves, I tell you..." ("base", xpos="far_left", ypos="head") + her "House elves made this?!" ("open", "narrow", "angry", "mid") + gen "Santa's elves, house elves, is there a difference?" ("base", xpos="far_left", ypos="head") + her "..." ("annoyed", "narrow", "angry", "mid") + gen "*Err*... It was a joke, since it's a Christmas costume. Of course elves didn't make it!" ("angry", xpos="far_left", ypos="head") + her "..." ("disgust", "narrow", "angry", "mid") + gen "I mean, if elves had made it, I'm sure they wouldn't have missed this giant hole." ("base", xpos="far_left", ypos="head") + her "*Sigh*..." ("disgust", "narrow", "angry", "R") + gen "(Crisis averted)." ("base", xpos="far_left", ypos="head") ############################### ## Poker Outfit (token shop) ## ############################### elif item == her_outfit_poker: #Req 19 (panties, bra) gen "I spent some tokens getting this outfit for you..." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "And you're expecting me to just wear this thing because you've won it?" ("open", "narrow", "annoyed", "mid") her "(Does he think he can play me like he plays games?)" ("clench", "narrow", "base", "R") gen "But, I won... fair and square..." ("angry", xpos="far_left", ypos="head") @@ -1945,20 +1932,20 @@ label her_reaction_equip_outfit_fail(item): gen "Actually--" ("base", xpos="far_left", ypos="head") her "..." ("normal", "base", "annoyed", "mid") gen "Alright... Never mind then..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "And you winning it means that I'm supposed to wear it?" ("angry", "narrow", "annoyed", "mid") gen "Pretty sure that's how it works." ("base", xpos="far_left", ypos="head") her "*Hmm*... I don't think so..." ("disgust", "narrow", "annoyed", "R") - her "You may be a winner [genie_name] but that sure doesn't give you some privilege to make me wear--" ("open", "closed", "annoyed", "mid") + her "You may be a winner [name_genie_hermione] but that sure doesn't give you some privilege to make me wear--" ("open", "closed", "annoyed", "mid") her "Whatever this...{w=0.4} Thing... Is supposed to be." ("angry", "narrow", "annoyed", "mid") gen "(Damn it...)" ("base", xpos="far_left", ypos="head") else: # < 19 her "*Err*... Am I supposed to be some kind of prize for you winning games?" ("clench", "narrow", "base", "R") gen "I mean, this outfit was practically made for you..." ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "base", "mid", cheeks="blush") - gen "Come on... Surely you can't resist basking in my glory." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("normal", "narrow", "base", "mid") + gen "Come on... Surely, you can't resist basking in my glory." ("base", xpos="far_left", ypos="head") her "..." ("normal", "narrow", "base", "mid") - her "Well, I'm sorry but looks to me as if you spent your hard earned tokens on a piece of fabric." ("open", "narrow", "base", "R") + her "Well, I'm sorry but it looks to me as if you spent your hard-earned tokens on a piece of fabric." ("open", "narrow", "base", "R") gen "..." ("base", xpos="far_left", ypos="head") gen "(Guess even a smidge of my fame is too much for her...)" ("base", xpos="far_left", ypos="head") @@ -1968,11 +1955,11 @@ label her_reaction_equip_outfit_fail(item): elif item == her_outfit_maid: #Req 4 gen "Could you put on this maid's outfit?" ("base", xpos="far_left", ypos="head") her "A maid's outfit?" ("upset", "squint", "base", "mid") - her "Isn't cleaning part of the house elves job?" ("open", "closed", "annoyed", "mid") + her "Isn't cleaning part of the house elves' job?" ("open", "closed", "annoyed", "mid") her "(Not that I approve of this horrible house elf enslavement...)" ("annoyed", "closed", "annoyed", "mid") gen "I mean, I'd be fine if you just--" ("base", xpos="far_left", ypos="head") her "I have no time to clean up your mess, you'll have to do that yourself..." ("open", "happy", "annoyed", "mid") - gen "(I don't think there's enough tissues in this world for that.)" ("base", xpos="far_left", ypos="head") + gen "(I don't think there are enough tissues in this world for that.)" ("base", xpos="far_left", ypos="head") gen "Very well, Miss Granger..." ("base", xpos="far_left", ypos="head") ######################### @@ -1980,7 +1967,7 @@ label her_reaction_equip_outfit_fail(item): ######################### elif item == her_outfit_bikini3: #Req 17 (panties, bra) gen "Put on this bikini for me will you." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A bikini?!" ("shock", "wide", "base", "mid") gen "Wow, excited much?" ("grin", xpos="far_left", ypos="head") gen "Well then, here you go!" ("grin", xpos="far_left", ypos="head") @@ -2000,13 +1987,13 @@ label her_reaction_equip_outfit_fail(item): her "Then you probably need to get your eyes checked..." ("angry", "base", "angry", "mid") her "Because this bikini you got me would surely never be an appropriate--" ("angry", "base", "angry", "R") gen "Fine... Whatever..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "A bikini?" ("disgust", "squint", "base", "mid") gen "Indeed... This one right here..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "wide", "base", "down") - her "[genie_name], You can't be serious!" ("open", "closed", "annoyed", "mid", cheeks="blush") - gen "About what? It's a bikini is it not?" ("base", xpos="far_left", ypos="head") - her "These straps are made of chains! Surely that wouldn't even help to keep them on..." ("angry", "narrow", "annoyed", "down", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], You can't be serious!" ("open", "closed", "annoyed", "mid") + gen "About what? It's a bikini, is it not?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "These straps are made of chains! Surely that wouldn't even help to keep them on..." ("angry", "narrow", "annoyed", "down") gen "I'm sure you'll find a way..." ("base", xpos="far_left", ypos="head") her "I won't!" ("scream", "closed", "annoyed", "mid") gen "Don't put yourself down like that... I'm sure some spell would--" ("base", xpos="far_left", ypos="head") @@ -2019,7 +2006,7 @@ label her_reaction_equip_outfit_fail(item): her "That one?" ("base", "base", "base", "mid") her "Sir, are you sure this is..." ("base", "base", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... I mean it looks a bit..." ("base", "base", "base", "mid") + her "*Ehm*... I mean, it looks a bit..." ("base", "base", "base", "mid") gen "A bit what?" ("base", xpos="far_left", ypos="head") her "*Ehm*..." ("base", "base", "base", "mid") gen "Come on, it's not that bad... Just put it on." ("base", xpos="far_left", ypos="head") @@ -2030,7 +2017,7 @@ label her_reaction_equip_outfit_fail(item): ########################### elif item == her_outfit_bikini2: #Req 16 (panties, bra) gen "Put on this bikini for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "For you?!" ("disgust", "base", "annoyed", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") her "Sir, I'm not some doll for you to dress up!" ("scream", "closed", "annoyed", "mid") @@ -2038,96 +2025,96 @@ label her_reaction_equip_outfit_fail(item): gen "(She's not? Then what the fuck is this wardrobe UI for?)" ("base", xpos="far_left", ypos="head") gen "My mistake I guess..." ("base", xpos="far_left", ypos="head") else: # < 16 - her "You want me to put on a bikini?" ("upset", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "You want me to put on a bikini?" ("upset", "squint", "base", "mid") gen "Yeah, this leather one." ("base", xpos="far_left", ypos="head") - her "A leather bikini?!?" ("clench", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "A leather bikini?!?" ("clench", "narrow", "base", "down") gen "I'm sure it's not real leather..." ("base", xpos="far_left", ypos="head") - her "That... That's not the point!" ("open", "closed", "worried", "mid", cheeks="blush") + her @ cheeks blush "That... That's not the point!" ("open", "closed", "worried", "mid") gen "Oh... I'm sorry, it usually is with this type of thing..." ("base", xpos="far_left", ypos="head") - her "You actually expect me to--" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "You actually expect me to--" ("angry", "squint", "base", "mid") gen "I didn't ship it from anywhere, it's made locally." ("base", xpos="far_left", ypos="head") - her "[genie_name], I don't care about where you got it from... It's the fact that--" ("angry", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], I don't care about where you got it from... It's the fact that--" ("angry", "narrow", "worried", "mid") gen "Jeez, perhaps you need to take a good look at yourself then." ("base", xpos="far_left", ypos="head") - her "What?" ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "What?" ("clench", "squint", "base", "mid") gen "Spending a bit more is worth it if it supports your local community." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "squint", "base", "mid") gen "Stimulating the economy and all that stuff..." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: - her "I'm not wearing it for the fact that it's a bikini... It's weird..." ("annoyed", "squint", "base", "R", cheeks="blush") + if states.her.level < 13: + her @ cheeks blush "I'm not wearing it for the fact that it's a bikini... It's weird..." ("annoyed", "squint", "base", "R") gen "(*Heh-heh*... Stimulating...)" ("grin", xpos="far_left", ypos="head") gen "Anyway, so you're putting it on or what?" ("base", xpos="far_left", ypos="head") - her "I am not..." ("normal", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I am not..." ("normal", "narrow", "base", "mid") else: # < 16: - her "I don't want to put on a bikini in your office." ("open", "closed", "base", "mid", cheeks="blush") - her "Standing in my underwear is weird enough..." ("annoyed", "squint", "base", "R", cheeks="blush") - gen "Whatever you say [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I don't want to put on a bikini in your office." ("open", "closed", "base", "mid") + her @ cheeks blush "Standing in my underwear is weird enough..." ("annoyed", "squint", "base", "R") + gen "Whatever you say [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") ######################## ## Rave Bikini Outfit ## ######################## elif item == her_outfit_bikini1: #Req 18 (panties, bra) gen "I've got this bikini for you to wear today." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "A bikini?!" ("clench", "wide", "worried", "mid") gen "Yep, this one right here." ("base", xpos="far_left", ypos="head") her "..." ("angry", "squint", "base", "down") gen "Pretty neat, isn't it?" ("base", xpos="far_left", ypos="head") - her "Where's the rest of it?!" ("disgust", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "Where's the rest of it?!" ("disgust", "wide", "base", "mid") gen "What do you mean the rest? Isn't a bikini supposed to only come in two pieces?" ("base", xpos="far_left", ypos="head") - her "Isn't a bikini supposed to-- Oh... I don't know..." ("angry", "squint", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Isn't a bikini supposed to-- Oh... I don't know..." ("angry", "squint", "annoyed", "mid") with hpunch - her "Cover your privates?!" ("scream", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Cover your privates?!" ("scream", "closed", "annoyed", "mid") gen "Doesn't it do that?" ("base", xpos="far_left", ypos="head") - her "There's barely any fabric to cover anything!" ("disgust", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "There's barely any fabric to cover anything!" ("disgust", "base", "annoyed", "mid") gen "Very environmentally friendly isn't it?" ("base", xpos="far_left", ypos="head") - her "I am not wearing this..." ("mad", "base", "annoyed", "mid", cheeks="blush") - elif her_whoring < 13: - her "A bikini?" ("clench", "squint", "worried", "mid", cheeks="blush") + her @ cheeks blush "I am not wearing this..." ("mad", "base", "annoyed", "mid") + elif states.her.level < 13: + her @ cheeks blush "A bikini?" ("clench", "squint", "worried", "mid") gen "This one..." ("base", xpos="far_left", ypos="head") - her "That... That one?!" ("angry", "squint", "base", "down", cheeks="blush") + her @ cheeks blush "That... That one?!" ("angry", "squint", "base", "down") gen "Yep... Now, if you could just--" ("base", xpos="far_left", ypos="head") - her "I am not wearing this..." ("disgust", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I am not wearing this..." ("disgust", "narrow", "base", "mid") gen "Why not?!" ("angry", xpos="far_left", ypos="head") - her "What do you think?" ("angry", "base", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "What do you think?" ("angry", "base", "annoyed", "mid") gen "Oh... I see..." ("base", xpos="far_left", ypos="head") - her "Finally, you get it..." ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Finally, you get it..." ("open", "closed", "annoyed", "mid") gen "I'd gladly help you tie it around your back if you can't reach." ("grin", xpos="far_left", ypos="head") - her "That's not why!" ("annoyed", "base", "annoyed", "mid", cheeks="blush") - her "*Grr*... I can't believe you..." ("clench", "narrow", "base", "R", cheeks="blush") - her "I am not wearing this... This excuse of a bikini..." ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "That's not why!" ("annoyed", "base", "annoyed", "mid") + her @ cheeks blush "*Grr*... I can't believe you..." ("clench", "narrow", "base", "R") + her @ cheeks blush "I am not wearing this... This excuse of a bikini..." ("annoyed", "closed", "base", "mid") gen "Well excuuuuuse me, princess..." ("base", xpos="far_left", ypos="head") else: # < 18 - her "A bikini?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "A bikini?" ("open", "squint", "base", "mid") gen "This one." ("base", xpos="far_left", ypos="head") - her "That one?" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "That one?" ("angry", "narrow", "base", "down") gen "Yes, that one." ("base", xpos="far_left", ypos="head") - her "Really?" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Really?" ("angry", "squint", "base", "mid") gen "Really..." ("base", xpos="far_left", ypos="head") - her "Are you sure--" ("angry", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Are you sure--" ("angry", "squint", "base", "mid") gen "I am--...{w=0.4} How long are you going to keep this up?" ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "squint", "base", "R", cheeks="blush") - her "Sir, surely this kind of bikini..." ("normal", "closed", "base", "mid", cheeks="blush") - her "Why it looks like something you might wear at..." ("angry", "narrow", "base", "down", cheeks="blush") - gen "At what, [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("upset", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "squint", "base", "R") + her @ cheeks blush "Sir, surely this kind of bikini..." ("normal", "closed", "base", "mid") + her @ cheeks blush "Why it looks like something you might wear at..." ("angry", "narrow", "base", "down") + gen "At what, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Ehm*..." ("upset", "narrow", "base", "mid") gen "A porn shoot?" ("base", xpos="far_left", ypos="head") - her "I...{w=0.4} Yes." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "You've watched porn [hermione_name]?" ("base", xpos="far_left", ypos="head") - her "What?!" ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I...{w=0.4} Yes." ("angry", "narrow", "base", "mid") + gen "You've watched porn [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What?!" ("clench", "squint", "base", "mid") gen "You just agreed with what I said... Which means you've watched porn before." ("base", xpos="far_left", ypos="head") - her "I...{w=0.4} I have not!" ("annoyed", "closed", "annoyed", "mid", cheeks="blush") - her "I swear, I've never--" ("open", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I...{w=0.4} I have not!" ("annoyed", "closed", "annoyed", "mid") + her @ cheeks blush "I swear, I've never--" ("open", "closed", "annoyed", "mid") gen "Look, I'm not judging." ("base", xpos="far_left", ypos="head") - her "But..." ("clench", "squint", "worried", "mid", cheeks="blush") - her "You...{w=0.4} Sorry [genie_name], but this outfit is too much..." ("open", "narrow", "worried", "R", cheeks="blush") + her @ cheeks blush "But..." ("clench", "squint", "worried", "mid") + her @ cheeks blush "You...{w=0.4} Sorry [name_genie_hermione], but this outfit is too much..." ("open", "narrow", "worried", "R") ################################ ## Pizza Slut Outfit (mirror) ## ################################ elif item == her_outfit_pizza: #Req 19 (top, panties) gen "Put this pizza on." ("base", xpos="far_left", ypos="head") - if her_whoring < 13: - her "Put it on, [genie_name]?" ("normal", "squint", "base", "mid") + if states.her.level < 13: + her "Put it on, [name_genie_hermione]?" ("normal", "squint", "base", "mid") gen "Yes, put it on." ("base", xpos="far_left", ypos="head") her "Do you want me to heat it up?" ("open", "squint", "worried", "mid") gen "No, I want you to put it on." ("base", xpos="far_left", ypos="head") @@ -2135,7 +2122,7 @@ label her_reaction_equip_outfit_fail(item): gen "Put... it--" ("base", xpos="far_left", ypos="head") gen "You know what... Forget it." ("base", xpos="far_left", ypos="head") else: # < 19 - her "Put it on, [genie_name]?" ("normal", "squint", "base", "mid") + her "Put it on, [name_genie_hermione]?" ("normal", "squint", "base", "mid") gen "Yes..." ("base", xpos="far_left", ypos="head") her "..." ("normal", "squint", "base", "mid") her "..." ("normal", "squint", "base", "stare") @@ -2151,14 +2138,14 @@ label her_reaction_equip_outfit_fail(item): ################### elif item == her_outfit_ribbon: #Req 18 (bra, panties) gen "I've got this thing that I'd like you to wrap for me." ("base", xpos="far_left", ypos="head") - if her_whoring < 4: + if states.her.level < 4: her "You want me to wrap a gift for you?" ("annoyed", "squint", "base", "mid") gen "Yes..." ("base", xpos="far_left", ypos="head") her "I guess I could do that..." ("open", "closed", "base", "mid") - gen "Here's the ribbons..." ("base", xpos="far_left", ypos="head") + gen "Here are the ribbons..." ("base", xpos="far_left", ypos="head") her "Thank you." ("base", "base", "base", "mid") gen "Go on..." ("base", xpos="far_left", ypos="head") - her "[genie_name], you've not provided me any wrapping paper..." ("open", "squint", "base", "mid") + her "[name_genie_hermione], you've not provided me any wrapping paper..." ("open", "squint", "base", "mid") her "Or whatever it is you wanted me to wrap." ("open", "base", "base", "mid") gen "My mistake... I should've been more clear." ("base", xpos="far_left", ypos="head") gen "You won't need any paper, the ribbons should do." ("base", xpos="far_left", ypos="head") @@ -2167,8 +2154,8 @@ label her_reaction_equip_outfit_fail(item): her "..." ("clench", "wide", "base", "mid") her "You want me to what?!" ("disgust", "base", "annoyed", "mid") gen "Take your clothes--" ("base", xpos="far_left", ypos="head") - her "[genie_name], are you crazy?!" ("scream", "happyCl", "annoyed", "mid") - gen "You've learnt how to tie a knot have you not?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], are you crazy?!" ("scream", "happyCl", "annoyed", "mid") + gen "You've learnt how to tie a knot, have you not?" ("base", xpos="far_left", ypos="head") gen "If it's an issue I suppose I could--" ("base", xpos="far_left", ypos="head") her "You want me to take my clothes off and only wear a ribbon?!" ("clench", "base", "annoyed", "mid") gen "Ribbons actually... There's two of them." ("base", xpos="far_left", ypos="head") @@ -2176,7 +2163,7 @@ label her_reaction_equip_outfit_fail(item): gen "I knew you'd come around sooner rather than--" ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "base", "angry", "mid") gen "Ah... Sarcasm... My most loyal friend yet also my greatest enemy..." ("base", xpos="far_left", ypos="head") - elif her_whoring < 13: + elif states.her.level < 13: her "And that gift is?" ("open", "narrow", "base", "mid") gen "It's you!" ("base", xpos="far_left", ypos="head") her "*Ugh*..." ("disgust", "narrow", "base", "R") @@ -2187,7 +2174,7 @@ label her_reaction_equip_outfit_fail(item): gen "Don't put yourself down like that." ("base", xpos="far_left", ypos="head") her "I am not putting this on..." ("open", "narrow", "annoyed", "mid") gen "Why not?" ("angry", xpos="far_left", ypos="head") - her "I am not some gift for you to unwrap, [genie_name]..." ("disgust", "narrow", "base", "mid") + her "I am not some gift for you to unwrap, [name_genie_hermione]..." ("disgust", "narrow", "base", "mid") gen "Worst birthday ever..." ("base", xpos="far_left", ypos="head") else: # < 18 her "It's me isn't it?" ("disgust", "narrow", "base", "mid") @@ -2201,12 +2188,12 @@ label her_reaction_equip_outfit_fail(item): her "..." ("annoyed", "narrow", "base", "mid") gen "Don't tell me you knew that too?" ("base", xpos="far_left", ypos="head") her "I mean..." ("open", "closed", "base", "mid") - gen "*Hmm*... In that case I want you to..." ("base", xpos="far_left", ypos="head") + gen "*Hmm*... In that case, I want you to..." ("base", xpos="far_left", ypos="head") gen "Tie it around your tits so hard it squeezes them together!" ("grin", xpos="far_left", ypos="head") her "..." ("clench", "wide", "base", "mid") - gen "Didn't expect that one did you?" ("grin", xpos="far_left", ypos="head") + gen "Didn't expect that one, did you?" ("grin", xpos="far_left", ypos="head") her "I am not doing that!" ("open", "base", "annoyed", "mid") - gen "(Aw, shit...)" ("base", xpos="far_left", ypos="head") + gen "(Oh, shit...)" ("base", xpos="far_left", ypos="head") gen "What about doing it loosely?" ("base", xpos="far_left", ypos="head") her "..." ("upset", "base", "annoyed", "mid") gen "Yeah, yeah... Fine... Not like it's my birthday or anything..." ("base", xpos="far_left", ypos="head") @@ -2216,26 +2203,26 @@ label her_reaction_equip_outfit_fail(item): ###################### elif item == her_outfit_xmas: #Req 13 (top, bottom) gen "I'm feeling festive today so could you put on the Christmas outfit?" ("base", xpos="far_left", ypos="head") - if her_whoring < 4: - her "What is wrong with this outfit?!" ("clench", "squint", "worried", "down", cheeks="blush") - her "Surely this isn't appropriate holiday attire!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + if states.her.level < 4: + her @ cheeks blush "What is wrong with this outfit?!" ("clench", "squint", "worried", "down") + her @ cheeks blush "Surely this isn't appropriate holiday attire!" ("angry", "narrow", "annoyed", "mid") gen "I don't know... Might jingle a couple of balls..." ("base", xpos="far_left", ypos="head") - her "What did you just say?!" ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "What did you just say?!" ("clench", "squint", "base", "mid") gen "Bells... I said bells..." ("base", xpos="far_left", ypos="head") - gen "Come on, just put the thing on. I'm sure Santa would give us a white Christmas if you did." ("base", xpos="far_left", ypos="head") - her "I think I'll pass..." ("open", "base", "annoyed", "R", cheeks="blush") + gen "Come on, just put the thing on. I'm sure that Santa would give us a white Christmas if you did." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I think I'll pass..." ("open", "base", "annoyed", "R") gen "(Balls...)" ("base", xpos="far_left", ypos="head") else: # < 13 - her "Are those horns?" ("disgust", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Are those horns?" ("disgust", "narrow", "base", "down") gen "Antlers actually..." ("base", xpos="far_left", ypos="head") - her "Antlers..." ("upset", "narrow", "base", "down", cheeks="blush") - her "And a bell..." ("annoyed", "narrow", "base", "down", cheeks="blush") - her "You trying to make me to look like some sort of reindeer?" ("angry", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Antlers..." ("upset", "narrow", "base", "down") + her @ cheeks blush "And a bell..." ("annoyed", "narrow", "base", "down") + her @ cheeks blush "Are you trying to make me to look like some sort of reindeer?" ("angry", "closed", "annoyed", "mid") gen "Cute, aren't they?" ("grin", xpos="far_left", ypos="head") - her "..." ("disgust", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "..." ("disgust", "narrow", "annoyed", "mid") gen "You'd be like a sexy reindeer!" ("grin", xpos="far_left", ypos="head") gen "Actually, that does sound a bit--" ("base", xpos="far_left", ypos="head") - her "I'm not putting this on..." ("angry", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "I'm not putting this on..." ("angry", "closed", "annoyed", "mid") ##################### ## Wrestling Robes ## @@ -2243,30 +2230,24 @@ label her_reaction_equip_outfit_fail(item): elif item == her_outfit_wrestling: #Req 3 (robe, bra, panties, misc) gen "I've got these wrestling robes for you to wear today." ("base", xpos="far_left", ypos="head") her "Wrestling--" ("angry", "base", "base", "mid") - her "[genie_name], these would show off my underwear!" ("clench", "narrow", "base", "down") + her "[name_genie_hermione], these would show off my underwear!" ("clench", "narrow", "base", "down") gen "So? You showed off a lot more in the mirror." ("base", xpos="far_left", ypos="head") her "In the what?" ("angry", "base", "base", "mid") gen "Oh yeah... You wouldn't know about that..." ("base", xpos="far_left", ypos="head") gen "Never mind then..." ("base", xpos="far_left", ypos="head") else: - $ random_number = renpy.random.randint(1, 5) - - if random_number == 1: + random: her "I am not wearing that..." ("annoyed", "base", "angry", "down") - elif random_number == 2: her "Thanks, but no thanks..." ("annoyed", "happyCl", "angry", "R") - elif random_number == 3: her "You actually think I'd put on something like that?" ("annoyed", "wide", "angry", "mid") - elif random_number == 4: - her "I'm not some Slytherin skank [genie_name], ask them to humiliate themselves for your amusement..." ("open", "narrow", "angry", "L") - elif random_number == 5: + her "I'm not some Slytherin skank [name_genie_hermione], ask them to humiliate themselves for your amusement..." ("open", "narrow", "angry", "L") her "This is too much." ("annoyed", "narrow", "angry", "R") return label her_reaction_blacklist(item): - her "I would have to take off some my clothes to fit into this..." ("disgust", "base", "base", "down") + her "I would have to take off some of my clothes to fit into this..." ("disgust", "base", "base", "down") if "top" in item.blacklist and hermione.is_worn("top"): her "My top won't fit at all." ("open", "narrow", "angry", "mid") @@ -2275,27 +2256,27 @@ label her_reaction_blacklist(item): her "The bottoms I'm wearing won't be of much use." ("open", "narrow", "angry", "mid") if "bra" in item.blacklist and hermione.is_worn("bra"): - her "Wearing a bra with this would be impossible." ("annoyed", "narrow", "angry", "L", cheeks="blush") + her @ cheeks blush "Wearing a bra with this would be impossible." ("annoyed", "narrow", "angry", "L") if "panties" in item.blacklist and hermione.is_worn("panties"): - her "And how in the world am I supposed to wear panties with this?" ("angry", "narrow", "angry", "mid", cheeks="blush") + her @ cheeks blush "And how in the world am I supposed to wear panties with this?" ("angry", "narrow", "angry", "mid") gen "Pretty please?" ("base", xpos="far_left", ypos="head") - her "Fine, I'll wear it... but I'm putting my old clothes back on once you change your mind." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Fine, I'll wear it... but I'm putting my old clothes back on once you change your mind." ("annoyed", "narrow", "angry", "R") return label her_reaction_fallback(item): - if her_whoring < get_character_requirement("hermione", "unequip top") and not "top" in hermione.blacklist and not item.type == "top": + if states.her.level < get_character_requirement("hermione", "unequip top") and not "top" in hermione.blacklist and not item.type == "top": $ hermione.equip(her_top_school1) - if her_whoring < get_character_requirement("hermione", "unequip bottom") and not "bottom" in hermione.blacklist and not item.type == "bottom": + if states.her.level < get_character_requirement("hermione", "unequip bottom") and not "bottom" in hermione.blacklist and not item.type == "bottom": $ hermione.equip(her_bottom_school1) - if her_whoring < get_character_requirement("hermione", "unequip bra") and not "bra" in hermione.blacklist and not item.type == "bra": + if states.her.level < get_character_requirement("hermione", "unequip bra") and not "bra" in hermione.blacklist and not item.type == "bra": $ hermione.equip(her_bra_base1) - if her_whoring < get_character_requirement("hermione", "unequip panties") and not "panties" in hermione.blacklist and not item.type == "panties": + if states.her.level < get_character_requirement("hermione", "unequip panties") and not "panties" in hermione.blacklist and not item.type == "panties": $ hermione.equip(her_panties_base1) her "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/hooch/common.rpy b/game/scripts/characters/hooch/common.rpy index 974024c0..08c21fcf 100644 --- a/game/scripts/characters/hooch/common.rpy +++ b/game/scripts/characters/hooch/common.rpy @@ -5,38 +5,56 @@ label end_hooch_event: pause.5 $ hooch.xzoom = 1 - $ active_girl = None - $ hooch_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.hoo.busy = True $ hooch.wear("all") $ hooch.set_cum(None) + $ hooch.set_face(tears=False, cheeks=False) call music_block jump main_room_menu -define character.hooch_say = Character("hooch_name", show_icon="hooch", dynamic=True) +define character.hooch_say = Character("name_hooch_genie", show_icon="hooch", dynamic=True) init python: - def hoo(what, mouth=False, eyes=False, eyebrows=False, pupils=False, cheeks=None, tears=None, + def hoo(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None, emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def show(): + hooch.show(force=True) + + if not renpy.in_rollback(): + renpy.with_statement(trans or d2) + + face = {"mouth": mouth, "eyes": eyes, "eyebrows": eyebrows, "pupils": pupils, "cheeks": cheeks, "tears": tears} + temp_face = renpy.game.context().temporary_attributes redraw = False tag = hooch.tag layer = hooch.layer - #showing = renpy.showing(name=tag, layer=layer) - if xpos != None or ypos != None: - xpos = sprite_pos.get("x").get(xpos, xpos) or hooch.pos[0] - ypos = sprite_pos.get("y").get(ypos, ypos) or hooch.pos[1] + if xpos is not None or ypos is not None: + xpos = hooch.pos[0] if xpos is None else sprite_pos.get("x").get(xpos, xpos) + ypos = hooch.pos[1] if ypos is None else sprite_pos.get("y").get(ypos, ypos) hooch.pos = (xpos, ypos) redraw = True head_only = hooch.pos[1] == sprite_pos.get("y").get("head") - if any((mouth, eyes, eyebrows, pupils, cheeks, tears)): - hooch.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears) + if any(face.values()): + hooch.set_face(**face) redraw = True - hooch.set_emote(emote) + if temp_face: + last_face = hooch.get_face() + + d = dict(zip(temp_face[::2], temp_face[1::2])) + hooch.set_face(**d) + redraw = True + + if emote: + hooch.set_emote(emote) + redraw = True if animation != False: hooch.animation = animation @@ -47,16 +65,13 @@ init python: redraw = True if redraw: - hooch.show() - - if not renpy.in_rollback(): - if trans: - renpy.with_statement(trans) - else: - renpy.with_statement(d2) + show() if what: character.hooch_say(what, **kwargs) + if temp_face: + hooch.set_face(**last_face) + if head_only: hooch.hide() diff --git a/game/scripts/characters/hooch/vars.rpy b/game/scripts/characters/hooch/vars.rpy index 16ce5a66..f964e6b4 100644 --- a/game/scripts/characters/hooch/vars.rpy +++ b/game/scripts/characters/hooch/vars.rpy @@ -1,14 +1,14 @@ -# Stats -default hoo_tier = 1 -default hoo_whoring = 0 -default hoo_reputation = 0 -default hoo_mood = 0 +# General states -# Flags -default hooch_busy = False -default hooch_unlocked = False +# default states.hoo.tier = 1 +# default states.hoo.level = 0 +# default states.hoo.public_tier = 0 +# default states.hoo.public_level = 0 +# default states.hoo.mood = 0 +default states.hoo.unlocked = False +default states.hoo.busy = False # Names -default hooch_genie_name = _("Sir Dumbledore") -default hooch_name = _("Madam Hooch") +default name_genie_hooch = "Sir Dumbledore" +default name_hooch_genie = "Madam Hooch" diff --git a/game/scripts/characters/hooch/wardrobe.rpy b/game/scripts/characters/hooch/wardrobe.rpy index 3795f340..ac05c39e 100644 --- a/game/scripts/characters/hooch/wardrobe.rpy +++ b/game/scripts/characters/hooch/wardrobe.rpy @@ -2,67 +2,25 @@ ## Character ## ############### -default hooch = Doll(name="hooch", - clothes={"headgear": [None, 15, True], - "hair": [None, 4, True], - "glasses": [None, 12, True], - "earrings": [None, 14, True], - "neckwear": [None, 16, True], - "robe": [None, 22, True], - "gloves": [None, 14, True], - "top": [None, 15, True], - "bra": [None, 9, True], - "bottom": [None, 8, True], - "garterbelt": [None, 7, True], - "panties": [None, 6, True], - "stockings": [None, 5, True], - "buttplug": [None, -1, True], - "pubes": [None, 3, True], - "tattoo0": [None, 1, True], - "tattoo1": [None, 1, True], - "tattoo2": [None, 1, True], - "tattoo3": [None, 1, True], - "tattoo4": [None, 1, True], - "piercing0": [None, 2, True], - "piercing1": [None, 2, True], - "piercing2": [None, 2, True], - "piercing3": [None, 2, True], - "piercing4": [None, 2, True], - "accessory0": [None, 12, True], - "accessory1": [None, 12, True], - "accessory2": [None, 12, True], - "accessory3": [None, 12, True], - "accessory4": [None, 12, True], - "makeup0": [None, 3, True], - "makeup1": [None, 3, True], - "makeup2": [None, 3, True], - "makeup3": [None, 3, True], - "makeup4": [None, 3, True]}, - face={"tears": [None, 12, True], - "cheeks": [None, 7, True], - "eyebrows": ["base", 11, True], - "eyes": ["base", 8, True], - "pupils": ["mid", 9, True], - "mouth": ["base", 13, True]}, - body={"base": ["front", 0], - "breasts": [None, 2], - "backside": [None, 1]} - ) +default hooch = Doll(name="hooch") + +default hoo_frame_default = DollBodypart("hooch", ("hidden", "frame"), "frame", "default") +default hoo_body_default = DollOutfit([hoo_frame_default], hidden=True) ############### ## Hair ## ############### -default hoo_hair_base = DollCloth("hooch", ("head", "hair"), "hair", "base", [[125, 72, 42, 255]], unlocked=True) -default hoo_panties_sport = DollCloth("hooch", ("lower undergarment", "panties"), "panties", "sport", [[192, 65, 54, 255], [237, 225, 255, 255]], unlocked=True) -default hoo_bra_sport = DollCloth("hooch", ("upper undergarment", "bras"), "bra", "sport", [[192, 65, 54, 255], [237, 225, 255, 255]], unlocked=True) -default hoo_top_sport = DollCloth("hooch", ("upper body", "shirts"), "top", "sport_shirt", [[237, 225, 255, 255], [139, 104, 192, 255]], unlocked=True) -default hoo_bottom_sport = DollCloth("hooch", ("lower body", "skirts"), "bottom", "sport_trousers", [[139, 104, 192, 255], [237, 225, 255, 255]], unlocked=True) -default hoo_gloves_sport = DollCloth("hooch", ("upper body", "gloves"), "gloves", "sport_gloves", [[78, 72, 115, 255]], unlocked=True) -default hoo_robe_sport = DollCloth("hooch", ("upper body", "robes"), "robe", "sport_robe", [[59, 63, 88, 255], [112, 34, 111, 255], [198, 118, 198, 255]], unlocked=True) -default hoo_headgear_sport = DollCloth("hooch", ("head", "headgear"), "headgear", "sport_goggles", [[96, 134, 145, 255], [154, 98, 50, 255], [49, 60, 91, 255]], unlocked=True) -default hoo_accessory_broom = DollCloth("hooch", ("misc", "accessory"), "accessory1", "broom", [[144, 83, 64, 255], [121, 87, 71, 255], [163, 159, 112, 255]], unlocked=True, zorder=22) -default hoo_accessory_broom_dildo = DollCloth("hooch", ("misc", "accessory"), "accessory1", "broom_dildo", [[144, 83, 64, 255], [121, 87, 71, 255], [163, 159, 112, 255]], unlocked=True, zorder=22) +default hoo_hair_base = DollCloth("hooch", ("head", "hair"), "hair", "base", ["#7d482aff"], unlocked=True) +default hoo_panties_sport = DollCloth("hooch", ("lower undergarment", "panties"), "panties", "sport", ["#c04136ff", "#ede1ffff"], unlocked=True) +default hoo_bra_sport = DollCloth("hooch", ("upper undergarment", "bras"), "bra", "sport", ["#c04136ff", "#ede1ffff"], unlocked=True) +default hoo_top_sport = DollCloth("hooch", ("upper body", "shirts"), "top", "sport_shirt", ["#ede1ffff", "#8b68c0ff"], unlocked=True) +default hoo_bottom_sport = DollCloth("hooch", ("lower body", "skirts"), "bottom", "sport_trousers", ["#8b68c0ff", "#ede1ffff"], unlocked=True) +default hoo_gloves_sport = DollCloth("hooch", ("upper body", "gloves"), "gloves", "sport_gloves", ["#4e4873ff"], unlocked=True) +default hoo_robe_sport = DollCloth("hooch", ("upper body", "robes"), "robe", "sport_robe", ["#3b3f58ff", "#70226fff", "#c676c6ff"], unlocked=True) +default hoo_headgear_sport = DollCloth("hooch", ("head", "headgear"), "headgear", "sport_goggles", ["#608691ff", "#9a6232ff", "#313c5bff"], unlocked=True) +default hoo_accessory_broom = DollCloth("hooch", ("misc", "accessory"), "accessory", "broom", ["#905340ff", "#795747ff", "#a39f70ff"], unlocked=True, zorder=300) +default hoo_accessory_broom_dildo = DollCloth("hooch", ("misc", "accessory"), "accessory", "broom_dildo", ["#905340ff", "#795747ff", "#a39f70ff"], unlocked=True, zorder=300) default hoo_outfit_default = DollOutfit([hoo_hair_base, hoo_panties_sport, hoo_bra_sport, hoo_top_sport, hoo_bottom_sport, hoo_gloves_sport, hoo_robe_sport, hoo_headgear_sport, hoo_accessory_broom], unlocked=True) default hoo_outfit_last = DollOutfit([hoo_hair_base, hoo_panties_sport, hoo_bra_sport, hoo_top_sport, hoo_bottom_sport, hoo_gloves_sport, hoo_robe_sport, hoo_headgear_sport, hoo_accessory_broom], hidden=True) diff --git a/game/scripts/characters/luna/chibi.rpy b/game/scripts/characters/luna/chibi.rpy index baccaabf..bf02caaa 100644 --- a/game/scripts/characters/luna/chibi.rpy +++ b/game/scripts/characters/luna/chibi.rpy @@ -10,7 +10,7 @@ label lun_chibi(action=None, xpos=None, ypos=None, flip=False): hide luna_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ luna_chibi.hide() with d3 pause .5 @@ -30,7 +30,7 @@ label lun_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call lun_chibi(None, "door", "base", flip) with d3 if xpos or ypos: @@ -38,7 +38,7 @@ label lun_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ luna_chibi.show() $ luna_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ luna_chibi.hide() with d3 pause .5 @@ -95,7 +95,7 @@ label lun_chibi_scene(action="reset", xpos="mid", ypos="base"): call lun_chibi("hide") call gen_chibi("hide") - if current_room == "main_room": + if states.room == "main_room": $ desk_OBJ.hidden = True $ chair_left_OBJ.hidden = True @@ -115,6 +115,6 @@ label lun_chibi_scene(action="reset", xpos="mid", ypos="base"): screen luna_chibi_scene(img, pos=None): tag luna_chibi_scene - zorder desk_zorder + zorder states.desk_chibi_zorder add img pos pos diff --git a/game/scripts/characters/luna/chitchats.rpy b/game/scripts/characters/luna/chitchats.rpy index 34a6fc95..614003df 100644 --- a/game/scripts/characters/luna/chitchats.rpy +++ b/game/scripts/characters/luna/chitchats.rpy @@ -1,13 +1,13 @@ label luna_chitchat: - if luna_chatted: + if states.lun.chatted: return - $ luna_chatted = True + $ states.lun.chatted = True # Story related chitchats - if luna_intro_E2 and not spectrespecs_E3 and thequibbler_ITEM.owned < 1: + if states.lun.ev.intro.e2_complete and not states.lun.ev.spectrespecs.e3_complete and thequibbler_ITEM.owned < 1: lun "Have you acquired a copy of the magazine yet?" ("open", "base", "raised", "mid") gen "Not yet." ("base", xpos="far_left", ypos="head") lun "I'm sure somebody in the castle should have a copy." ("base", "base", "base", "R") @@ -17,7 +17,7 @@ label luna_chitchat: gen "(Guess I should have a gander around the castle and see if anyone can get me a copy....)" ("base", xpos="far_left", ypos="head") return - if spectrespecs_E2 and not spectrespecs_E3: + if states.lun.ev.spectrespecs.e2_complete and not states.lun.ev.spectrespecs.e3_complete: lun "Have you acquired a copy of the magazine yet?" ("open", "base", "raised", "mid") gen "I have!" ("base", xpos="far_left", ypos="head") lun "Great!" ("smile", "happyCl", "base", "mid") @@ -27,150 +27,178 @@ label luna_chitchat: lun "Then let me know what you think once you've read it." ("open", "base", "base", "mid") return - if lun_tier == 1: - $ random_number = renpy.random.randint(1, 10) + if states.lun.tier == 1: - if random_number == 1: - lun "During today's potions lesson I remembered reading an article in the quibbler about the Valerian root." ("soft", "base", "base", "mid") - lun "It was talking about its calming properties and how chewing on it would produce the same effect as a Draught of Peace." ("open", "base", "base", "mid") - lun "Since we were brewing a Draught of Peace potion I brought up the article with professor Snape but he just laughed and prompted me to try it." ("normal", "base", "base", "mid") - lun "So I did, and let me tell you... I've never felt so relaxed in my life." ("grin", "base", "base", "mid") + random: + block: + lun "We were brewing a Draught of Peace during today's potions lesson, which reminded me of an article in The Quibbler about Valerian root." ("soft", "base", "base", "mid") + lun "It described the root's calming properties and how when you chew on it, it will produce the same effect as the potion." ("open", "base", "base", "mid") + lun "I brought this fact up to professor Snape, but he just laughed and prompted me to have at it." ("normal", "base", "base", "mid") + lun "So I tried chewing on one... And let me tell you... I've never felt so relaxed in my life." ("grin", "base", "base", "mid") - elif random_number == 2: - lun "I had a strange dream last night..." ("soft", "base", "base", "mid") - lun "I was sitting by a tree when a rabbit carrying a pocket watch jumped by, prompting me to follow it..." ("open", "base", "base", "mid") - lun "Must've been the cheese I ate before going to bed..." ("open", "base", "base", "down") + block: + lun "I had a strange dream last night..." ("soft", "base", "base", "mid") + lun "I was alone, sitting by a tree, when suddenly a rabbit carrying a pocket-watch jumped by..." ("open", "base", "base", "mid") + lun "Must've been the cheese I ate before going to bed..." ("open", "base", "base", "down") - elif random_number == 3: - lun "Acid pops are my favourite." ("crooked_smile", "base", "base", "mid") - lun "I always make sure to get some when I'm in Hogsmeade." ("base", "wink", "base", "mid") - lun "" ("base", "base", "base", "mid") + block: + lun "Acid pops are my favourite." ("crooked_smile", "base", "base", "mid") + lun "I always make sure to get some when I'm in Hogsmeade." ("base", "wink", "base", "mid") + lun "" ("base", "base", "base", "mid") - elif random_number == 4: - lun "I was a bit disappointed when I found out the Thestrals live in the forbidden forest." ("annoyed", "base", "base", "R") - lun "I'm hoping I'll be able to ride one someday..." ("grin", "base", "base", "mid") + block: + lun "I was a bit disappointed when I found out that the Thestrals live deep inside the forbidden forest." ("annoyed", "base", "base", "R") + lun "I'm hoping I'll be able to ride one someday..." ("grin", "base", "base", "mid") - elif random_number == 5: - lun "There something I've been meaning to ask you." ("open", "closed", "base", "mid") - lun "Could we not put up so many mistletoe's during the holiday celebrations?" ("soft", "base", "base", "mid") - lun "It would highly decrease the risk of a Nargle infestation." ("open", "base", "base", "mid") + block: + lun "[name_genie_luna]...{w=0.4} There's something I've been meaning to ask you." ("open", "closed", "base", "mid") + lun "Could we avoid putting up so many mistletoes during the holiday celebrations?" ("soft", "base", "base", "mid") + lun "It would highly decrease the risk of a nargle infestation." ("open", "base", "base", "mid") - elif random_number == 6: - lun "Why are there no school trips at Hogwarts?" ("open", "base", "raised", "mid") - lun "I'd love to take one to Sweden and look for the Crumple-Horned Snorkack." ("grin", "base", "base", "mid") + block: + lun "Why are there no school trips at Hogwarts?" ("open", "base", "raised", "mid") + lun "I'd love to take one to Sweden and look for the crumple-horned snorkack." ("grin", "base", "base", "mid") - elif random_number == 7: - lun "Sir, you really need to do something about Peeves." ("annoyed", "base", "base", "R") - lun "He's been following me around chanting \"Loony Luna, Loony Luna, who would ever do yah\"..." ("open", "base", "base", "R") + block: + lun "[name_genie_luna], you really need to do something about Peeves." ("annoyed", "base", "base", "R") + lun "He's been following me around chanting \"Loony Luna, Loony Luna, who would ever do yah\"..." ("open", "base", "base", "R") - elif random_number == 8: - lun "I spotted some wrackspurts in one of the broom closets the other day." ("open", "closed", "base", "mid") - lun "You might wonder what I was doing in there." ("angry", "closed", "base", "mid") - lun "Inspecting the brooms for wrackspurts of course!" ("angry", "base", "base", "mid") + block: + lun "I spotted some wrackspurts in one of the broom closets the other day." ("open", "closed", "base", "mid") + lun "You might wonder what I was doing in there." ("angry", "closed", "base", "mid") + lun "Inspecting the brooms for wrackspurts of course!" ("angry", "base", "base", "mid") - elif random_number == 9: - lun "I hope we'll be able to contain this infestation within the school." ("open", "closed", "base", "mid") - lun "I'm a bit worried it might spread on one of our visits to Hogsmeade." ("annoyed", "base", "base", "R") + block: + lun "I hope we'll be able to contain this infestation within the school." ("open", "closed", "base", "mid") + lun "I'm a bit worried it might spread to Hogsmeade during one of our student outings." ("annoyed", "base", "base", "R") - elif random_number == 10: - lun "Sir, do you think wrackspurts could spread to animals?" ("open", "wide", "base", "mid") - lun "No, don't say anything... I can't bear the thought of it!" ("open", "happyCl", "base", "mid") + block: + lun "[name_genie_luna], do you think wrackspurts could spread to animals?" ("open", "wide", "base", "mid") + lun "No, don't say anything... I can't bear the thought of it!" ("open", "happyCl", "base", "mid") - elif lun_tier == 2: - $ random_number = renpy.random.randint(1, 10) + elif states.lun.tier == 2: - if random_number == 1: - lun "My whole idea of wrackspurts got shattered once I found out they don't only attack people." ("open", "happyCl", "base", "mid") - lun "But they also hide in clothes!" ("open", "wide", "base", "mid") - lun "I found a sock completely filled with them once!" ("open", "wide", "base", "mid") + random: + lun "[name_genie_luna], Is it supposed to feel really good when you rub your thighs together?" ("soft", "base", "raised", "mid") - elif random_number == 2: - lun "I feel like I could've nipped this infestation in the bud if only we had made spectrespecs mandatory years ago." ("open", "closed", "base", "mid") - lun "This school sure is lucky that you're here to help dealing with this, Sir." ("base", "narrow", "base", "mid") + block: + lun "My whole idea of wrackspurts got shattered once I found out they don't only attack people." ("open", "happyCl", "base", "mid") + lun "But they also hide in clothes!" ("open", "wide", "base", "mid") + lun "I found a sock completely filled with them once!" ("open", "wide", "base", "mid") - elif random_number == 3: - lun "I used to think Wrackspurts could only fly small distances." ("open", "base", "base", "mid") - lun "But then I saw some on the ceiling in Tonks' classroom!" ("clench", "wide", "base", "mid") - lun "I wonder if she was trying to fend them off with defensive magic..." ("open", "base", "base", "R") + block: + lun "I feel like I could've nipped this infestation in the bud if only my proposal of mandatory spectrespecs had gone through." ("open", "closed", "base", "mid") + lun "At least we can count ourselves lucky to have such a great headmaster here to help deal with this unfortunate situation." ("base", "narrow", "base", "mid") - elif random_number == 4: - lun "I still can't believe you managed to channel the wrackspurts though your penis, sir." ("grin", "base", "base", "mid") - lun "You've got to teach me how to do that!" ("base", "wink", "base", "mid") + block: + lun "I used to think that wrackspurts could only fly small distances." ("open", "base", "base", "mid") + lun "But then I saw some on the ceiling in Tonks' classroom!" ("clench", "wide", "base", "mid") + lun "I wonder if she was trying to fend them off with defensive magic..." ("open", "base", "base", "R") - elif random_number == 5: - lun "Are you able to cast other magic through your penis, sir?" ("open", "base", "raised", "mid") - lun "We should try it sometime!" ("grin", "base", "base", "mid") + block: + lun "I still can't believe you've managed to channel the wrackspurts though your penis, [name_genie_luna]." ("grin", "base", "base", "mid") + lun "You've got to teach me how to do that!" ("base", "wink", "base", "mid") - elif random_number == 6: - lun "I can't help but imagine what it'd look like to have a patronus cast through a penis..." ("base", "closed", "base", "mid") - lun "Is that a weird thing to be imagining?" ("soft", "base", "base", "mid") + block: + lun "Are you able to cast other magic through your penis, [name_genie_luna]?" ("open", "base", "raised", "mid") + lun "We should try it sometime!" ("grin", "base", "base", "mid") - elif random_number == 7: - lun "I'm still not so sure I'll ever be able to get rid of these spurts myself..." ("annoyed", "narrow", "base", "down") - lun "If it requires a lot of focus that is... I'm not very good at that." ("soft", "narrow", "base", "R") + block: + lun "I can't help but imagine what a patronus would look like when bursting through the tip of a penis..." ("base", "closed", "base", "mid") + lun "...{w=0.4} Is that a weird thing to be imagining?" ("soft", "base", "base", "mid") - elif random_number == 8: - lun "Are you sure we shouldn't clean your desk, sir?" ("soft", "base", "raised", "mid") - lun "Or are you worried they might spread elsewhere if we move them?" ("open", "base", "base", "mid") + block: + lun "I'm still not so sure I'll ever be able to get rid of these spurts myself..." ("annoyed", "narrow", "base", "down") + lun "If it requires a lot of focus, that is...{w=0.4} I'm not very good at that." ("soft", "narrow", "base", "R") - elif random_number == 9: - lun "Can you inspect my body today, sir?" ("angry", "base", "raised", "mid") - lun "Can you?" ("angry", "wide", "base", "mid") - lun "Please." ("angry", "wide", "base", "mid") + block: + lun "Are you sure we shouldn't clean your desk, [name_genie_luna]?" ("soft", "base", "raised", "mid") + lun "Or are you worried the wrackspurts might spread elsewhere if we move them?" ("open", "base", "base", "mid") - elif random_number == 10: - lun "Sir, Is it supposed to feel really good when you rub your thighs together?" ("soft", "base", "raised", "mid") + block: + lun "Can you inspect my body today, [name_genie_luna]?" ("angry", "base", "raised", "mid") + lun "Can you?" ("angry", "wide", "base", "mid") + lun "Please." ("angry", "wide", "base", "mid") - elif lun_tier == 3: - $ random_number = renpy.random.randint(1, 10) + elif states.lun.tier == 3: - if random_number == 1: - lun "*Ehm*... Hypothetically... What would a person do if they got some wrackspurts stuck to their underwear?" ("open", "base", "base", "R") + random: + lun "*Ehm*...{w=0.4} Hypothetically...{w=0.4} What would a person do if they got some wrackspurts stuck to their underwear?" ("open", "base", "base", "R") + lun "I'm so glad that the inspection was successful...{w=0.4} I don't know what would've done if we didn't make any progress..." ("base", "narrow", "base", "R") - elif random_number == 2: - lun "I'm so glad the inspection was successful, I don't know what I'd do if we didn't get anywhere with it..." ("base", "narrow", "base", "R") + block: + lun @ cheeks blush "Is it possible for someone to possess magical fingers, [name_genie_luna]?" ("soft", "base", "base", "mid") + lun @ cheeks blush "You know, like how some people are born with innate magical abilities." ("open", "closed", "base", "mid") + lun @ cheeks blush "It would explain a lot about what I felt when you touched me down there..." ("soft", "narrow", "base", "R") - elif random_number == 3: - lun "Is it possible to have magic fingers, sir?" ("soft", "base", "base", "mid", cheeks="blush") - lun "You know how some people are born with innate magic abilities." ("open", "closed", "base", "mid", cheeks="blush") - lun "I was just thinking about when you touched me down there..." ("soft", "narrow", "base", "R", cheeks="blush") + block: + lun @ cheeks blush "That thing I felt on my back when you helped me..." ("open", "base", "base", "R") + lun "*Hmm*... Nevermind..." ("base", "narrow", "base", "down") - elif random_number == 4: - lun "That thing I felt on my back when you helped me..." ("open", "base", "base", "R", cheeks="blush") - lun "*Hmm*... Nevermind..." ("base", "narrow", "base", "down") + block: + lun "I've been trying to figure out if there's any other sensitive areas on my body." ("open", "base", "base", "down") + lun "But doing so isn't that simple when you're ticklish..." ("annoyed", "base", "base", "down") - elif random_number == 5: - lun "I've been trying to figure out if there's any more sensitive areas on my body." ("open", "base", "base", "down") - lun "But it's not easy when you're ticklish..." ("annoyed", "base", "base", "down") + block: + lun "I've been thinking...{w=0.4} Since my nipples get hard sometime, perhaps I'd be able to expel the wrackspurts through them like you do through your penis." ("soft", "base", "raised", "mid") - elif random_number == 6: - lun "I've been thinking... since my nipples get hard sometime... I wonder if it's possible to rub them to get the wrackspurts out like you do your penis." ("soft", "base", "raised", "mid") + block: + lun "The wrackspurts appear to have been building up even faster than normal recently." ("soft", "narrow", "base", "R") + lun "I wonder why..." ("soft", "base", "base", "down") - elif random_number == 7: - lun "The wrackspurts appear to have been building up even faster than normal recently." ("soft", "narrow", "base", "R") - lun "I wonder why..." ("soft", "base", "base", "down") + block: + lun "I will become the greatest master baiter ever!" ("smile", "closed", "base", "mid") + lun "You watch me!" ("base", "wink", "base", "mid") - elif random_number == 8: - lun "I will become the greatest master baiter ever!" ("smile", "closed", "base", "mid") - lun "You watch me!" ("base", "wink", "base", "mid") + block: + lun "You said that my naked body helped you release the spurts...{w=0.4} What did you mean by that exactly?" ("soft", "base", "raised", "mid") - elif random_number == 9: - lun "You said that my naked body helped you release the spurts, what did you mean by that exactly?" ("soft", "base", "raised", "mid") - lun "They're not flocking over to me are they?!" ("angry", "wide", "base", "mid") + block: + lun "How come you're so skilled at unhooking a woman's bra, [name_genie_luna]?" ("open", "base", "base", "down") + lun "Wait, what am I saying...{w=0.4} Of course the great Albus Dumbledore can do it with ease..." ("angry", "wide", "base", "mid") - elif random_number == 10: - lun "How come you're so quick at unhooking a woman's bra, sir?" ("open", "base", "base", "down") - lun "Wait, what am I saying... Of course the great Dumbledore can do anything with ease..." ("angry", "wide", "base", "mid") + elif states.lun.tier == 4: - # elif lun_tier == 4: - # $ random_number = renpy.random.randint(1, 10) + random: + block: + lun "My fingers just aren't enough to get rid of these spurts properly." ("open", "narrow", "base", "downR") + lun "I hope we'll be able to find even more ways to get rid of them." ("soft", "narrow", "base", "mid") - # pass - # $ random_number = renpy.random.randint(1, 10) - # lun "My fingers just aren't big enough to get rid of these spurts properly." - # lun "I hope well be able to find even more ways to get rid of them." + block: + lun "I can't believe how slippery it got down there when you had me touch myself." ("angry", "narrow", "base", "down") + lun "Such a slimy bunch of buggers!" ("angry", "base", "base", "mid") - # lun "I can't believe how slippery it got down there when you had me touch myself." - # lun "A bunch of slimy buggers is what they are!" + block: + lun "I can't wait to see what kind of method you've got in store for me next!" ("grin", "base", "base", "mid") + lun "If only my other classes could be this fun." ("grin", "narrow", "base", "mid") + + block: + lun "Master baiter, master baiter, I could never hate her!" ("smile", "closed", "base", "mid") + lun "Sorry [name_genie_luna]... I think peeves' chanting may have got to me." ("soft", "base", "base", "stare") + + block: + lun "I've noticed that I'm quite ticklish under my feet." ("soft", "base", "base", "down") + lun "Hold on... I wonder if wrackspurts are also affected by gravity..." ("mad", "base", "base", "mid") + + block: + lun "I never once thought that a finger would be able to fit inside me so easily." ("soft", "base", "raised", "down") + lun "I mean... I hadn't even considered putting a finger inside me before..." ("angry", "closed", "base", "mid") + + block: + lun "I've got a feeling... That tonight's gonna be a good night... That tonight's gonna be a go-ood night..." ("smile", "closed", "base", "mid") + lun "Oh, sorry [name_genie_luna]... We've been listening to this classical muggle song during our muggle studies, and I can't get it out of my head." ("angry", "wink", "base", "mid") + + block: + lun "It's a bit embarrassing to say..." ("soft", "narrow", "base", "downR") + lun "But I think I may have wet the bed last night." ("open", "narrow", "base", "downR") + lun "It appears I've gained the ability to expel the wrackspurts in my sleep..." ("angry", "base", "base", "mid") + + block: + lun "I feel quite comfortable being naked." ("open", "closed", "base", "mid") + lun "Of course, there's always the risk of wrackspurts getting inside, but at least I don't have to worry about my underwear getting wet." ("grin", "base", "base", "mid") + + block: + lun "I wonder if you'd be able to brew some sort of smell strengthening potion..." ("soft", "base", "base", "R") + lun "That way we could locate wrackspurts by the smell..." ("soft", "base", "base", "R") return diff --git a/game/scripts/characters/luna/common.rpy b/game/scripts/characters/luna/common.rpy index c3f1662d..f4ddc843 100644 --- a/game/scripts/characters/luna/common.rpy +++ b/game/scripts/characters/luna/common.rpy @@ -1,47 +1,4 @@ -# TODO: Replace values according to Luna's expressions list -define lun_face = { - "mouth": { - "neutral": ["base","open"], - "happy": ["base","grin"], - "naughty": ["soft","base"], - "horny": ["horny","base"], - "annoyed": ["upset","annoyed"], - "disgusted": ["disgust","upset"], - "angry": ["clench","mad","upset"] - }, - - "eyes": { - "neutral": ["base"], - "happy": ["happyCl"], - "naughty": ["narrow"], - "horny": ["narrow"], - "annoyed": ["narrow","base"], - "disgusted": ["base"], - "angry": ["base"] - }, - - "eyebrows": { - "neutral": ["base"], - "happy": ["base","raised"], - "naughty": ["base","raised"], - "horny": ["base","raised"], - "annoyed": ["annoyed"], - "disgusted": ["raised","worried"], - "angry": ["angry"] - }, - - "pupils": { - "neutral": ["mid"], - "happy": ["mid"], - "naughty": ["mid","up","downR"], - "horny": ["mid","stare","down"], - "annoyed": ["mid","downR","R"], - "disgusted": ["mid","down"], - "angry": ["mid"] - } -} - label end_luna_event: call lun_chibi("hide") @@ -51,12 +8,12 @@ label end_luna_event: call update_luna - $ active_girl = None - $ luna_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.lun.busy = True $ luna.wear("all") - - $ renpy.stop_predict(luna.get_image()) - $ renpy.stop_predict("characters/luna/face/*.webp") + $ luna.set_cum(None) + $ luna.set_face(tears=False, cheeks=False) call music_block jump main_room_menu @@ -70,30 +27,46 @@ label update_luna: return -define character.luna_say = Character("luna_name", show_icon="luna", dynamic=True) +define character.luna_say = Character("name_luna_genie", show_icon="luna", dynamic=True) init python: - def lun(what, mouth=False, eyes=False, eyebrows=False, pupils=False, cheeks=None, tears=None, + def lun(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None, emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def show(): + luna.show(force=True) + + if not renpy.in_rollback(): + renpy.with_statement(trans or d2) + + face = {"mouth": mouth, "eyes": eyes, "eyebrows": eyebrows, "pupils": pupils, "cheeks": cheeks, "tears": tears} + temp_face = renpy.game.context().temporary_attributes redraw = False tag = luna.tag layer = luna.layer - #showing = renpy.showing(name=tag, layer=layer) - if xpos != None or ypos != None: - xpos = luna.pos[0] if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = luna.pos[1] if ypos == None else sprite_pos.get("y").get(ypos, ypos) + if xpos is not None or ypos is not None: + xpos = luna.pos[0] if xpos is None else sprite_pos.get("x").get(xpos, xpos) + ypos = luna.pos[1] if ypos is None else sprite_pos.get("y").get(ypos, ypos) luna.pos = (xpos, ypos) redraw = True head_only = luna.pos[1] == sprite_pos.get("y").get("head") - if any((mouth, eyes, eyebrows, pupils, cheeks, tears)): - luna.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears) + if any(face.values()): + luna.set_face(**face) redraw = True - luna.set_emote(emote) + if temp_face: + last_face = luna.get_face() + + d = dict(zip(temp_face[::2], temp_face[1::2])) + luna.set_face(**d) + redraw = True + + if emote: + luna.set_emote(emote) + redraw = True if animation != False: luna.animation = animation @@ -104,16 +77,13 @@ init python: redraw = True if redraw: - luna.show() - - if not renpy.in_rollback(): - if trans: - renpy.with_statement(trans) - else: - renpy.with_statement(d2) + show() if what: character.luna_say(what, **kwargs) + if temp_face: + luna.set_face(**last_face) + if head_only: luna.hide() diff --git a/game/scripts/characters/luna/events/favors/inspect_her_body.rpy b/game/scripts/characters/luna/events/favors/inspect_her_body.rpy index d9ddcad7..71033dc0 100644 --- a/game/scripts/characters/luna/events/favors/inspect_her_body.rpy +++ b/game/scripts/characters/luna/events/favors/inspect_her_body.rpy @@ -4,20 +4,18 @@ label ll_pf_inspect: - gen "{size=-4}(I think a physical examination is in order...){/size}" ("base", xpos="far_left", ypos="head") - - if ll_pf_inspect.counter < 1: + if not _events_completed_any: + gen "{size=-4}(I think a physical examination is in order...){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": + $ _event.cancel() jump luna_favor_menu + return - # Start Event - $ ll_pf_inspect.start() - - # End Event - label .end: +label ll_pf_inspect_end: # Setup stop music fadeout 2.0 @@ -27,13 +25,13 @@ label ll_pf_inspect: call gen_chibi("sit_behind_desk") # Increase level - if lun_tier == 2: - if lun_whoring < 6: - $ lun_whoring += 1 + if states.lun.tier == 2: + if states.lun.level < 6: + $ states.lun.level += 1 - elif lun_tier == 3: - if lun_whoring < 9: - $ lun_whoring += 1 + elif states.lun.tier == 3: + if states.lun.level < 9: + $ states.lun.level += 1 jump end_luna_event @@ -41,8 +39,10 @@ label ll_pf_inspect: label ll_pf_inspect_T2_E1_intro: - gen "Ready for your physical, [luna_name]?" ("grin", xpos="far_left", ypos="head") - lun "My Physical, [lun_genie_name]?" ("open", "base", "raised", "mid") + call ll_pf_inspect + + gen "Ready for your physical, [name_luna_genie]?" ("grin", xpos="far_left", ypos="head") + lun "My physical, [name_genie_luna]?" ("open", "base", "raised", "mid") gen "Your inspection!" ("grin", xpos="far_left", ypos="head") lun "Oooh...{w=0.3} The inspection!" ("grin", "base", "base", "mid") lun "Yes, I'm ready!" ("base", "base", "base", "mid") @@ -50,21 +50,21 @@ label ll_pf_inspect_T2_E1_intro: lun "Alright, just give me a--" ("grin", "base", "base", "down") gen "Wait...{w=0.4} Before you do that." ("base", xpos="far_left", ypos="head") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main - call nar(">You take your cock out of your robes and begin stroking it...") + nar "You take your cock out of your robes and begin stroking it..." call gen_chibi("jerk_off_behind_desk") with d3 pause .8 gen "There we go... Might as well." ("base", xpos="far_left", ypos="head") - lun "Good thinking [lun_genie_name]!" ("crooked_smile", "narrow", "base", "mid") + lun "Good thinking, [name_genie_luna]!" ("crooked_smile", "narrow", "base", "mid") gen "Right... Now to give you a full assessment of your goods...{w=0.4} *Err*...{w=0.4} Orifices." ("base", xpos="far_left", ypos="head") if luna.is_any_worn("robe", "accessory"): - lun "Of course [lun_genie_name]... Let me just take this off..." ("base", "base", "base", "mid") + lun "Of course [name_genie_luna]... Let me just take this off..." ("base", "base", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("robe", "accessory") with d3 pause .5 @@ -73,93 +73,97 @@ label ll_pf_inspect_T2_E1_intro: if luna.is_worn("top"): gen "Now then..." ("base", xpos="far_left", ypos="head") gen "Let's start with your breasts." ("base", xpos="far_left", ypos="head") - gen "Take that top off for me will you." ("base", xpos="far_left", ypos="head") - lun "Of course, [lun_genie_name]." ("base", "base", "base", "mid") + gen "Take that top off for me, will you." ("base", xpos="far_left", ypos="head") + lun "Of course, [name_genie_luna]." ("base", "base", "base", "mid") #Luna takes top off - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("top") with d3 pause .5 gen "Excellent...{w=0.4} And such a lovely pair of breasts as well." ("base", xpos="far_left", ypos="head") + + $ states.lun.status.show_bra = True else: gen "Let's see what we got here..." ("base", xpos="far_left", ypos="head") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - lun "Something wrong [lun_genie_name]?" ("soft", "base", "raised", "mid") - gen "Not at all, [luna_name]!" ("base", xpos="far_left", ypos="head") + lun "Something wrong, [name_genie_luna]?" ("soft", "base", "raised", "mid") + gen "Not at all, [name_luna_genie]!" ("base", xpos="far_left", ypos="head") gen "I'm just inspecting those lovely breasts of yours!" ("base", xpos="far_left", ypos="head") - lun "*Ehm*...{w=0.3} Lovely, [lun_genie_name]?" ("soft", "base", "raised", "mid") + lun "*Ehm*...{w=0.3} Lovely, [name_genie_luna]?" ("soft", "base", "raised", "mid") gen "*Err*...{w=0.4} Healthy! They look very healthy!" ("base", xpos="far_left", ypos="head") - lun "I see...{w=0.4} Thank you [lun_genie_name]!" ("grin", "base", "base", "mid") - gen "But I still need a proper look so you're going to have to take your bra off as well." ("base", xpos="far_left", ypos="head") - lun "Certainly [lun_genie_name]." ("base", "base", "base", "mid") + lun "I see...{w=0.4} Thank you [name_genie_luna]!" ("grin", "base", "base", "mid") + gen "But I still need a proper look, so you're going to have to take your bra off as well." ("base", xpos="far_left", ypos="head") + lun "Certainly [name_genie_luna]." ("base", "base", "base", "mid") - #Luna takes bra off (Not available in wardrobe until next tier) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + #Luna takes bra off (Not possible in wardrobe until next tier) + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bra") with d3 pause .5 + $ states.lun.status.show_tits = True + gen "(Nice...)" ("base", xpos="far_left", ypos="head") - call nar("*Fap* *Fap* *Fap*...") + nar "*Fap* *Fap* *Fap*..." - lun "So...{w=0.4} Do you think this should work, [lun_genie_name]?" ("open", "base", "raised", "mid") + lun "So...{w=0.4} Do you think this should work, [name_genie_luna]?" ("open", "base", "raised", "mid") gen "Oh...{w=0.4} It's working alright." ("grin", xpos="far_left", ypos="head") - call nar(">Focusing your attention on the girls breasts you feel your cock harden more and more with each stroke...") + nar "Focusing your attention on the girl's breasts, you feel your cock harden more and more with each stroke..." - lun "Great! So what do I have to do to get the Wrackspurts out of them?" ("smile", "base", "base", "mid") + lun "Great! So, what do I have to do to get the wrackspurts out of them?" ("smile", "base", "base", "mid") gen "*Mmm*...{w=0.4} The what, sorry?" ("base", xpos="far_left", ypos="head") - lun "The Wrackspurts, [lun_genie_name]..." ("open", "base", "raised", "mid") + lun "The wrackspurts, [name_genie_luna]..." ("open", "base", "raised", "mid") gen "*Ah*...{w=0.4} Those bloody things." ("base", xpos="far_left", ypos="head") gen "Let's see..." ("base", xpos="far_left", ypos="head") gen "Tell...{w=0.4} *Ngh*...{w=0.4} Tell me a bit about them..." ("base", xpos="far_left", ypos="head") lun "Well... As I said, they're invisible--" ("soft", "closed", "base", "mid") - gen "Not the spurts! Your breasts, [luna_name]!" ("base", xpos="far_left", ypos="head") - lun "Ooooh...{w=0.2} What do you need to know about them, [lun_genie_name]?" ("mad", "base", "base", "mid") + gen "Not the spurts! Your breasts, [name_luna_genie]!" ("base", xpos="far_left", ypos="head") + lun "Ooooh...{w=0.2} What do you need to know about them, [name_genie_luna]?" ("mad", "base", "base", "mid") gen "(How much do they jiggle-- How hard can I pull on your-- What do they taste--)" ("grin", xpos="far_left", ypos="head") lun "" ("upset", "base", "raised", "mid") #Confused - call nar("*Fap* *Fap* *Fap*...") - call nar(">You pick up the pace whilst staring at her tits... An expression of confusion spreading across Luna's face as she waits for a response...") + nar "*Fap* *Fap* *Fap*..." + nar "You pick up the pace whilst staring at her tits... An expression of confusion spreading across Luna's face as she waits for a response..." - lun "[lun_genie_name]?" ("open", "base", "raised", "mid") + lun "[name_genie_luna]?" ("open", "base", "raised", "mid") gen "What?!" ("angry", xpos="far_left", ypos="head") gen "Oh yes...{w=0.3} Your tits!" ("grin", xpos="far_left", ypos="head") gen "It appears the Spurts gather around sensitive areas..." ("base", xpos="far_left", ypos="head") gen "So with that in mind..." ("base", xpos="far_left", ypos="head") - gen "Would you say that your breasts fit that description, [luna_name]?" ("base", xpos="far_left", ypos="head") + gen "Would you say that your breasts fit that description, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "*Hmm*...{w=0.4} Well, my nipples do get a bit hard and sensitive whenever they bothered me previously..." ("open", "narrow", "base", "downL") - lun "Is that the kind of thing you meant, [lun_genie_name]?" ("soft", "base", "raised", "mid") + lun "Is that the kind of thing you meant, [name_genie_luna]?" ("soft", "base", "raised", "mid") gen "*Ah*... Yes, that's exactly it..." ("base", xpos="far_left", ypos="head") - call nar(">You move your gaze and focus on Lunas erect nipples...{w=0.3} Your cock twitching slightly in your grasp.") - call nar("*Fap* *Fap* *Fap*...") + nar "You move your gaze and focus on Lunas erect nipples...{w=0.3} Your cock twitching slightly in your grasp." + nar "*Fap* *Fap* *Fap*..." gen "*Hmm*...{w=0.4} They do look a bit hard actually..." ("base", xpos="far_left", ypos="head") - lun "They do?" ("disgust", "base", "base", "mid", cheeks="blush") - lun "I've been trying to suppress it the best I can, [lun_genie_name]!" ("clench", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "They do?" ("disgust", "base", "base", "mid") + lun @ cheeks blush "I've been trying to suppress it the best I can, [name_genie_luna]!" ("clench", "closed", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") - gen "Well that wont do." ("base", xpos="far_left", ypos="head") - gen "Fighting it is what's been holding you...{w=0.4} *Err*...{w=0.4} Them back, [luna_name]." ("base", xpos="far_left", ypos="head") - gen "You need to allow that feeling to build up or you--{w=0.2} *Ah*...{w=0.4} You won't be able to expel them." ("base", xpos="far_left", ypos="head") + gen "Well, that won't do." ("base", xpos="far_left", ypos="head") + gen "Fighting it is what's been holding you...{w=0.4} *Err*...{w=0.4} Them back, [name_luna_genie]." ("base", xpos="far_left", ypos="head") + gen "You need to allow that feeling to build up, or you--{w=0.2} *Ah*...{w=0.4} You won't be able to expel them." ("base", xpos="far_left", ypos="head") - call nar(">You keep stroking your cock, thinking about what you'd do to those nipples...") + nar "You keep stroking your cock, thinking about what you'd do to those nipples..." - lun "Wait...{w=0.4} So I've been doing it wrong the whole time!?" ("angry", "base", "base", "mid", cheeks="blush") - gen "Yes...{w=0.4} *Nghh*...{w=0.4} It appears what you've been feeling is the Spurts trying to get out you see..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Wait...{w=0.4} So I've been doing it wrong the whole time!?" ("angry", "base", "base", "mid") + gen "Yes...{w=0.4} *Nghh*...{w=0.4} It appears what you've been feeling is the Spurts trying to get out, you see..." ("base", xpos="far_left", ypos="head") lun "Ooooh..." ("open", "base", "base", "stare") lun "That makes so much sense!" ("grin", "wide", "base", "mid") - lun "I can't believe I didn't think of that before!" ("angry", "base", "base", "down", cheeks="blush") + lun @ cheeks blush "I can't believe I didn't think of that before!" ("angry", "base", "base", "down") - call nar(">Looking up at Luna's face, you notice her expression changed to that of excitement and lust...") - call nar(">After a moment of silence you finally speak up in fear of not being able to finish in time.") + nar "Looking up at Luna's face, you notice her expression has changed to that of excitement and lust..." + nar "After a moment of silence, you finally speak up, in fear of not being able to finish in time." - gen "*Ehm*...{w=0.4} So...{w=0.4} Any other areas that you've noticed being unusually sensitive [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Oh, yes [lun_genie_name]!" ("mad", "base", "base", "mid", cheeks="blush") - lun "There's this area down here!" ("angry", "base", "base", "down", cheeks="blush") + gen "*Ehm*...{w=0.4} So...{w=0.4} Any other areas that you've noticed being unusually sensitive, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh, yes [name_genie_luna]!" ("mad", "base", "base", "mid") + lun @ cheeks blush "There's this area down here!" ("angry", "base", "base", "down") call lun_walk("desk", "base", speed=1.75) pause .5 @@ -167,58 +171,56 @@ label ll_pf_inspect_T2_E1_intro: pause .5 #Luna takes her Bottoms, panties and everything else off - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ luna.strip("all") + play sound "sounds/cloth_sound3.ogg" + $ luna.strip("clothes") with d3 pause .5 + $ states.lun.status.show_pussy = True + $ states.lun.status.stripping = True + gen "By the great--" ("angry", xpos="far_left", ypos="head") - lun "Do you think I'll be able to expel them from here, [lun_genie_name]?" ("open", "base", "raised", "mid", cheeks="blush", flip=True) + lun @ cheeks blush "Do you think I'll be able to expel them from here, [name_genie_luna]?" ("open", "base", "raised", "mid", flip=True) - $ camera.set_imagepath("lun_intro/") - $ camera.set_image("CG lun_intro luna bendover naked") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - $ camera.set(zoom=1.0, pos=(-1040, -600), t=30.0) - show screen animatedCG + show CG lun_intro luna bendover naked as cg zorder 17: + subpixel True + zoom 0.5 + pos (0, 0) + easein_quad 15.0 zoom 1.0 pos (-1040, -600) with fade - gen "[luna_name]!" - lun "[lun_genie_name]?" + gen "[name_luna_genie]!" + lun "[name_genie_luna]?" gen "*Ahem*...{w=0.4} Yes, I'd say that area is definitely a contender." - call nar(">With a full view of the girls naked body, you feel your cock throbbing in your hand and you begin stroking it even faster...") + nar "With a full view of the girl's naked body, you feel your cock throbbing in your hand, and you begin stroking it even faster..." lun "I thought it might be...{w=0.4} It does get just as sensitive as my breasts...{w=0.4} Maybe more even!" - call nar("*Fap* *Fap* *Fap*...") + nar "*Fap* *Fap* *Fap*..." - gen "*Ah*, Yes...{w=0.4} both those areas appear to be very susceptible...{w=0.4} To spurts." + gen "*Ah*, Yes...{w=0.4} both of those areas do appear to be very susceptible...{w=0.4} To spurts." lun "I knew it!" - + lun @ cheeks blush "" ("grin", "base", "base", "mid", flip=False) call hide_characters call lun_chibi(flip=False) - hide screen animatedCG + hide cg with fade - lun "" ("grin", "base", "base", "mid", cheeks="blush", flip=False, trans=dissolve) - call nar(">Luna turns back around and as you get a full view of her front, you feel yourself getting close to the edge.") + nar "Luna turns back around, and as you get a full view of her front, you feel yourself getting close to the edge." - lun "So that's how you came up with the idea of rubbing your penis, [lun_genie_name]!" ("grin", "wink", "base", "mid", cheeks="blush") - lun "To bait the Wrackspurts to one spot!" ("crooked_smile", "base", "base", "mid", cheeks="blush") - lun "Since your penis is a sensitive area, rubbing it gets the Wrackspurts all excited..." ("smile", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "So that's how you came up with the idea of rubbing your penis, [name_genie_luna]!" ("grin", "wink", "base", "mid", trans=dissolve) + lun @ cheeks blush "To bait the wrackspurts to one spot!" ("crooked_smile", "base", "base", "mid") + lun @ cheeks blush "Since your penis is a sensitive area, rubbing it gets the wrackspurts all excited..." ("smile", "closed", "base", "mid") - call nar("*Fap* *Fap* *Fap*...") + nar "*Fap* *Fap* *Fap*..." - lun "So when you do it, they all start gathering in there until there's nowhere else for them to go and finally..." ("smile", "narrow", "base", "mid", cheeks="blush") - lun "You expel them right out!" ("grin", "base", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "So when you do it, they all start gathering in there until there's nowhere else for them to go, and finally..." ("smile", "narrow", "base", "mid") + lun @ cheeks blush "You expel them right out!" ("grin", "base", "annoyed", "mid") gen "*Ah*...{w=0.4} Yes...{w=0.4} That's it girl, you've cracked it!" ("angry", xpos="far_left", ypos="head") - lun "That's geni--" ("crooked_smile", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "That's geni--" ("crooked_smile", "base", "base", "mid") gen "{size=+5}I'm cumming!{/size}" ("angry", xpos="far_left", ypos="head") call gen_chibi("cum_behind_desk") @@ -228,137 +230,135 @@ label ll_pf_inspect_T2_E1_intro: call cum_block - lun "[lun_genie_name], you did it again!" ("grin", "base", "base", "stare", cheeks="blush") - lun "I can't believe it!" ("grin", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "[name_genie_luna], you did it again!" ("grin", "base", "base", "stare") + lun @ cheeks blush "I can't believe it!" ("grin", "base", "base", "mid") call cum_block pause .5 call gen_chibi("cum_behind_desk_done") gen "*Ah*...{w=0.4}*Ah*...{w=0.4} What..." ("base", xpos="far_left", ypos="head") - - lun "Cumming...{w=0.4} You came again!" ("base", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "Cumming...{w=0.4} You came again!" ("base", "happyCl", "base", "mid") gen "*Ah*...{w=0.4} I sure did..." ("base", xpos="far_left", ypos="head") gen "Your naked body was enough for me to--" ("grin", xpos="far_left", ypos="head") - lun "My naked body helped you release the spurts?" ("mad", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "My naked body helped you release the spurts?" ("mad", "base", "base", "mid") gen "It...{w=0.4} *Ah*...{w=0.4} Yes, it appears so..." ("grin", xpos="far_left", ypos="head") - lun "What did it feel like?" ("mad", "wide", "base", "mid", cheeks="blush") + lun @ cheeks blush "What did it feel like?" ("mad", "wide", "base", "mid") gen "Like the biggest relief--" ("base", xpos="far_left", ypos="head") - lun "Can I try it now?" ("smile", "wide", "base", "mid", cheeks="blush") - + lun @ cheeks blush "Can I try it now?" ("smile", "wide", "base", "mid") menu: "\"Of course!\"": - lun "Yay!" ("crooked_smile", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "Yay!" ("crooked_smile", "happyCl", "base", "mid") gen "Although..." ("base", xpos="far_left", ypos="head") - lun "Although?" ("mad", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Although?" ("mad", "narrow", "base", "mid") gen "Well, how would I be sure you're ready for it...{w=0.4} What if you hurt yourself?" ("base", xpos="far_left", ypos="head") "\"No!\"": - lun "What?!" ("mad", "base", "base", "mid", cheeks="blush") - lun "Why not!?" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "What?!" ("mad", "base", "base", "mid") + lun @ cheeks blush "Why not!?" ("angry", "narrow", "annoyed", "mid") gen "*Err*...{w=0.5} Because it's dangerous!" ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]! You've done it yourself a couple of times already!" ("angry", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "But [name_genie_luna]! You've done it yourself a couple of times already!" ("angry", "base", "base", "mid") gen "Actually..." ("base", xpos="far_left", ypos="head") - lun "And it didn't look very complicated..." ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "And it didn't look very complicated..." ("annoyed", "narrow", "annoyed", "mid") gen "Well. I can assure you..." ("base", xpos="far_left", ypos="head") gen "Tricking those spurts is not an easy task!" ("base", xpos="far_left", ypos="head") gen "As I said, you could end up with some severe burns!" ("base", xpos="far_left", ypos="head") - lun "But didn't you just--" ("angry", "base", "base", "mid", cheeks="blush") - gen "I am a master baiter, [luna_name]!" ("base", xpos="far_left", ypos="head") - lun "..." ("mad", "narrow", "base", "downL", cheeks="blush") #wide eyed + lun @ cheeks blush "But didn't you just--" ("angry", "base", "base", "mid") + gen "I am a master baiter, [name_luna_genie]!" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "..." ("mad", "narrow", "base", "downL") #wide eyed gen "Nobody but I have successfully been able to bait those--" ("base", xpos="far_left", ypos="head") - lun "Then what am I supposed to do?!" ("angry", "base", "base", "mid", cheeks="blush") - lun "If I don't expel them soon..." ("mad", "base", "base", "downL", cheeks="blush") - lun "I'll go crazy!" ("clench", "wide", "base", "mid", cheeks="blush") #Crazy stare + lun @ cheeks blush "Then what am I supposed to do?!" ("angry", "base", "base", "mid") + lun @ cheeks blush "If I don't expel them soon..." ("mad", "base", "base", "downL") + lun @ cheeks blush "I'll go crazy!" ("clench", "wide", "base", "mid") #Crazy stare gen "..." ("angry", xpos="far_left", ypos="head") - call nar(">Luna starts grinding her legs together uncomfortably...") + nar "Luna starts grinding her legs together uncomfortably..." gen "Well perhaps--" ("base", xpos="far_left", ypos="head") - lun "I know!" ("smile", "wide", "base", "mid", cheeks="blush") - lun "[lun_genie_name]...{w=0.2} Why don't you teach me?" ("smile", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "I know!" ("smile", "wide", "base", "mid") + lun @ cheeks blush "[name_genie_luna]...{w=0.2} Why don't you teach me?" ("smile", "base", "base", "mid") gen "..." ("grin", xpos="far_left", ypos="head") - gen "Oh, well I don't know [luna_name]..." ("grin", xpos="far_left", ypos="head") - lun "[lun_genie_name], please!" ("mad", "narrow", "base", "mid", cheeks="blush") + gen "*Hmm*... I don't know, [name_luna_genie]..." ("grin", xpos="far_left", ypos="head") + lun @ cheeks blush "[name_genie_luna], please!" ("mad", "narrow", "base", "mid") hide luna_main with d3 #Luna teleports up to genie - $ renpy.play('sounds/magic4.ogg') + play sound "sounds/magic4.ogg" call lun_chibi("stand", 230, 455, flip=True) with flash gen "*Ghk*... How did you--" ("angry", xpos="far_left", ypos="head") - lun "[lun_genie_name], if I can't do it myself then you'll {size=+5}have{/size} to teach me!" ("clench", "wide", "base", "stare", cheeks="blush", xpos="mid", ypos="base", flip=True, trans=dissolve) + lun @ cheeks blush "[name_genie_luna], if I can't do it myself, then you'll {size=+5}have{/size} to teach me!" ("clench", "wide", "base", "stare", xpos="mid", ypos="base", flip=True, trans=dissolve) gen "Teach you how to masturbate..." ("base", xpos="far_left", ypos="head") - call nar(">Luna stares into your eyes as she unconsciously begins grinding her pussy on the edge of your desk.") + nar "Luna stares into your eyes as she unconsciously begins grinding her pussy on the edge of your desk." - lun "Yes, teach me [lun_genie_name]!" ("angry", "wide", "base", "mid", cheeks="blush") - lun "I want to be a master baiter too!" ("angry", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "Yes, teach me [name_genie_luna]!" ("angry", "wide", "base", "mid") + lun @ cheeks blush "I want to be a master baiter too!" ("angry", "happyCl", "base", "mid") - call nar(">Luna's cheeks burns with red as she keeps grinding on the edge of your desk.") + nar "Luna's cheeks burns with red as she keeps grinding on the edge of your desk." gen "(Poor girl is literally edging...)" ("base", xpos="far_left", ypos="head") - gen "Alright, you have convinced me [luna_name]... I'll do it!" ("base", xpos="far_left", ypos="head") + gen "Alright, you have convinced me, [name_luna_genie]... I'll do it!" ("base", xpos="far_left", ypos="head") - call nar(">Luna stops her grinding, and begins jumping happily on the spot. Her tits bouncing up and down as she does so.") + nar "Luna stops her grinding, and begins jumping happily on the spot. Her tits bouncing up and down as she does so." - lun "Oh, thank you [lun_genie_name]!" ("grin", "narrow", "base", "mid", cheeks="blush") - lun "I knew I could count on you!" ("grin", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "Oh, thank you [name_genie_luna]!" ("grin", "narrow", "base", "mid") + lun @ cheeks blush "I knew I could count on you!" ("grin", "closed", "base", "mid") gen "Certainly..." ("grin", xpos="far_left", ypos="head") - gen "But first things first...{w=0.4} I need something from you, [luna_name]." ("base", xpos="far_left", ypos="head") - lun "Something from me?" ("soft", "narrow", "raised", "mid", cheeks="blush") + gen "But first things first...{w=0.4} I need something from you, [name_luna_genie]." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Something from me?" ("soft", "narrow", "raised", "mid") gen "Yes, I need a promise." ("base", xpos="far_left", ypos="head") - lun "Oh..." ("angry", "base", "base", "mid", cheeks="blush") - lun "Alright then!" ("soft", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Oh..." ("angry", "base", "base", "mid") + lun @ cheeks blush "Alright then!" ("soft", "base", "base", "mid") gen "I haven't even told you what it is yet." ("base", xpos="far_left", ypos="head") - lun "Don't worry [lun_genie_name], I trust you!" ("grin", "narrow", "base", "mid", cheeks="blush") - gen "If we're to be able to have you expel these spurts successfully then you're going to have to venture into a completely new venue of magic..." ("base", xpos="far_left", ypos="head") - lun "New venue of magic..." ("angry", "base", "raised", "mid", cheeks="blush") - lun "I'm not sure I understand, [lun_genie_name]." ("soft", "narrow", "base", "mid", cheeks="blush") - gen "As you know... These techniques are untested and go beyond normal boundaries of magical conventions." ("base", xpos="far_left", ypos="head") - lun "Right." ("soft", "narrow", "base", "downL", cheeks="blush") + lun @ cheeks blush "Don't worry [name_genie_luna], I trust you!" ("grin", "narrow", "base", "mid") + gen "If we're to be able to have you expel these spurts successfully, then you're going to have to venture into an entirely new venue of magic..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "New venue of magic..." ("angry", "base", "raised", "mid") + lun @ cheeks blush "I'm not sure I understand, [name_genie_luna]." ("soft", "narrow", "base", "mid") + gen "As you know... These techniques are untested and go beyond the normal boundaries of magical conventions." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Right." ("soft", "narrow", "base", "downL") gen "It's not the type of magic where you'll have a use for a wand..." ("base", xpos="far_left", ypos="head") gen "(Unless it has a vibrate function.)" ("grin", xpos="far_left", ypos="head") - lun "I understand..." ("open", "narrow", "base", "downL", cheeks="blush") + lun @ cheeks blush "I understand..." ("open", "narrow", "base", "downL") gen "There will be no use for any incantations!" ("base", xpos="far_left", ypos="head") gen "Barring a safe word or two." ("base", xpos="far_left", ypos="head") gen "So you must promise not to tell anyone about what happens in this room, no matter what." ("base", xpos="far_left", ypos="head") - lun "But..." ("clench", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "But..." ("clench", "base", "base", "mid") - call nar(">Luna rocks her pelvis awkwardly...") + nar "Luna rocks her pelvis awkwardly..." gen "That is my only requirement..." ("base", xpos="far_left", ypos="head") - lun "*Nngh*...{w=0.4} Alright then." ("clench", "closed", "base", "downL", cheeks="blush") - lun "I solemnly swear that I will tell no one what happens within these hallowed walls..." ("mad", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Nngh*...{w=0.4} Alright then." ("clench", "closed", "base", "downL") + lun @ cheeks blush "I solemnly swear that I will tell no one what happens within these hallowed walls..." ("mad", "closed", "base", "mid") gen "Fantastic!" ("base", xpos="far_left", ypos="head") - lun "So, can we please try your techniques, [lun_genie_name]?" ("angry", "narrow", "base", "mid", cheeks="blush") - gen "Another time, [luna_name]... I'll need to recharge--{w=0.4} *Err*...{w=0.4} Contain these spurts first." ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]..." ("clench", "base", "base", "mid", cheeks="blush") #Looks down blushing + lun @ cheeks blush "So, can we please try your techniques, [name_genie_luna]?" ("angry", "narrow", "base", "mid") + gen "Another time, [name_luna_genie]... I'll need to recharge--{w=0.4} *Err*...{w=0.4} Contain these spurts first." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "But [name_genie_luna]..." ("clench", "base", "base", "mid") #Looks down blushing gen "..." ("base", xpos="far_left", ypos="head") - lun "Alright..." ("upset", "base", "base", "downL", cheeks="blush") - gen "Now- Now... This is a good thing, [luna_name]." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Alright..." ("upset", "base", "base", "downL") + gen "Now- Now... This is a good thing, [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "Remember what we've learned... The more excited and sensitive you feel, the easier it'll be to spurt...{w=0.3} *Err*...{w=0.4} Expel the spurts!" ("base", xpos="far_left", ypos="head") lun "Oh, that is true!" ("soft", "base", "base", "mid") gen "Now, until next time... I want you to do your best to not suppress that feeling." ("base", xpos="far_left", ypos="head") gen "Embrace it...{w=0.4} Let it flow over you." ("base", xpos="far_left", ypos="head") - lun "Yes, [lun_genie_name]." ("base", "base", "base", "mid") + lun "Yes, [name_genie_luna]." ("base", "base", "base", "mid") gen "Just make sure not to touch yourself." ("base", xpos="far_left", ypos="head") gen "That will have to wait until I can assist you." ("base", xpos="far_left", ypos="head") lun "Alright... I'll try..." ("mad", "narrow", "base", "downL") - gen "Trying won't be enough [luna_name]..." ("base", xpos="far_left", ypos="head") + gen "Trying won't be enough, [name_luna_genie]..." ("base", xpos="far_left", ypos="head") gen "Don't...{w=0.4} Touch...{w=0.4} Yourself..." ("base", xpos="far_left", ypos="head") - lun "Okay, I won't!" ("angry", "base", "base", "mid", cheeks="blush") - gen "Good...{w=0.3} Then I believe we're done here for now..." ("base", xpos="far_left", ypos="head") - lun "Oh...{w=0.2} Of course." ("soft", "base", "base", "downL", cheeks="blush") + lun @ cheeks blush "Okay, I won't!" ("angry", "base", "base", "mid") + gen "Good...{w=0.3} Then I believe we're done here... For now at least." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh...{w=0.2} Of course." ("soft", "base", "base", "downL") show screen blkfade with d5 - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ luna.wear("all") call lun_chibi("stand", "desk", "base") hide luna_main @@ -372,14 +372,14 @@ label ll_pf_inspect_T2_E1_intro: pause .2 if game.daytime: - gen "You better head back to class, [luna_name]." ("base", xpos="far_left", ypos="head") + gen "You better head back to class, [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "Okay." ("open", "base", "base", "mid") - lun "Good day then, [lun_genie_name]!" ("base", "base", "base", "mid") + lun "Good day then, [name_genie_luna]!" ("base", "base", "base", "mid") else: gen "Now, you better head off to bed." ("base", xpos="far_left", ypos="head") lun "Okay." ("open", "base", "base", "mid") - lun "Good night, [lun_genie_name]!" ("base", "base", "base", "mid") - gen "Good night [luna_name]." ("base", xpos="far_left", ypos="head") + lun "Good night, [name_genie_luna]!" ("base", "base", "base", "mid") + gen "Good night, [name_luna_genie]." ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") @@ -387,85 +387,87 @@ label ll_pf_inspect_T2_E1_intro: gen "(Poor girl doesn't even know how to masturbate.)" ("base", xpos="far_left", ypos="head") gen "(How did this school even function without me...)" ("base", xpos="far_left", ypos="head") - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T2_E2_intro: + call ll_pf_inspect + gen "Alright, time to give those spurts a run for their money..." ("base", xpos="far_left", ypos="head") lun "Finally!" ("clench", "narrow", "base", "down") gen "Now, are you sure you're ready for this--" ("base", xpos="far_left", ypos="head") if luna.is_any_worn("robe", "accessory"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("robe", "accessory") with d3 pause .5 gen "*Err*..." ("base", xpos="far_left", ypos="head") if luna.is_worn("top"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("top") with d3 pause .5 gen "Whoa!" ("angry", xpos="far_left", ypos="head") - #Luna takes off Bra (Not available in wardrobe until next tier) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + #Luna takes off Bra (Not possible in wardrobe until next tier) + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bra") with d3 pause .5 - gen "[luna_name]!" ("base", xpos="far_left", ypos="head") + gen "[name_luna_genie]!" ("base", xpos="far_left", ypos="head") lun "..." ("angry", "narrow", "base", "down") # looks up at genie - gen "Now that's the kind of self determination I've been looking for!" ("grin", xpos="far_left", ypos="head") + gen "Now that's the kind of self-determination I've been looking for!" ("grin", xpos="far_left", ypos="head") gen "Check out those tits!" ("grin", xpos="far_left", ypos="head") if luna.is_worn("bottom"): - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom") with d3 pause .5 gen "*Hmm*... Those panties though...{w=0.4} I'd love to smell them..." ("grin", xpos="far_left", ypos="head") - #Luna takes of Panties and everything else (Panty strip is not available in wardrobe until next tier) - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ luna.strip("all") + #Luna takes off Panties and everything else (Panty strip is not possible in wardrobe until next tier) + play sound "sounds/cloth_sound3.ogg" + $ luna.strip("clothes") with d3 pause .5 gen "And that pussy... What I'd do to stick my cock in--" ("grin", xpos="far_left", ypos="head") gen "*Err*..." ("angry", xpos="far_left", ypos="head") gen "I mean I can't wait to--" ("angry", xpos="far_left", ypos="head") - lun "Please [lun_genie_name], they've been bothering me constantly..." ("angry", "narrow", "worried", "mid", cheeks="blush") + lun @ cheeks blush "Please [name_genie_luna], they've been bothering me constantly..." ("angry", "narrow", "worried", "mid") gen "(Oh good, she wasn't listening...)" ("base", xpos="far_left", ypos="head") - gen "Well, I hope you've followed my instructions and that you haven't touched yourself..." ("base", xpos="far_left", ypos="head") - lun "I... I haven't, [lun_genie_name]!" ("soft", "happyCl", "base", "mid", cheeks="blush") + gen "Well, I hope you've followed my instructions, and that you haven't touched yourself..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I...{w=0.4} I haven't, [name_genie_luna]!" ("soft", "happyCl", "base", "mid") - call nar(">Luna grinds her legs together once more, and you notice a wet streak beginning to run down her leg.") + nar "Luna grinds her legs together once more, and you notice a wet streak beginning to run down her leg." gen "Good girl..." ("base", xpos="far_left", ypos="head") - gen "Then come up to me so we can deal with those spurts once and for all." ("base", xpos="far_left", ypos="head") - lun "Thank you [lun_genie_name]..." ("angry", "narrow", "base", "mid", cheeks="blush") + gen "Then come up to me, so we can deal with those spurts, once and for all." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Thank you [name_genie_luna]..." ("angry", "narrow", "base", "mid") #Luna quickly walks up towards desk, fades to black call lun_walk("desk", "base", speed=1.75) show screen blkfade with d5 - call nar(">Luna rushes up to your desk and without any further instructions, plants her cheeks firmly in your lap, waiting for your next move expectantly.") + nar "Luna rushes up to your desk, and without any further instructions, plants her cheeks firmly in your lap, waiting for your next move expectantly." #Fades back to Luna in your lap call lun_chibi_scene("inspect_idle_naked") hide screen blkfade with d5 - call nar(">Before moving on, you can't help but pick up the sounds of her shallow breaths and the unusual warmth, despite her current state of undress coming off her body.") - call nar(">You feel your cock harden slightly beneath your robes, almost at the verge of pressing up in between the girls cheeks.") + nar "Before moving on, you can't help but pick up the sounds of her shallow breaths and the unusual warmth, despite her current state of undress, coming off her body." + nar "You feel your cock harden slightly beneath your robes, almost at the verge of pressing up in between the girl's cheeks." gen "*Ahem*...{w=0.4} So...{w} The sensitive areas we discussed previously." ("base", xpos="far_left", ypos="head") - lun "*Mmm*..." ("soft", "closed", "low", "mid", cheeks="blush", xpos="mid", ypos="base", flip=True, trans=dissolve) - gen "[luna_name]?" ("base", xpos="far_left", ypos="head") - lun "(His breath on the back of my neck... It's making me all tingly again...)" ("soft", "closed", "worried", "mid", cheeks="blush") + lun @ cheeks blush "*Mmm*..." ("soft", "closed", "low", "mid", xpos="mid", ypos="base", flip=True, trans=dissolve) + gen "[name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "(His breath on the back of my neck... It's making me all tingly again...)" ("soft", "closed", "worried", "mid") gen "Luna?" ("base", xpos="far_left", ypos="head") gen "I guess we'll start with your breasts then..." ("grin", xpos="far_left", ypos="head") @@ -475,60 +477,60 @@ label ll_pf_inspect_T2_E2_intro: call lun_chibi_scene("inspect_idle_naked") with d3 - lun "Ooooh!" ("open", "wide", "base", "stare", cheeks="blush") - call nar(">You give Luna's breasts a light squeeze, which causes a shudder to go down her spine...") + lun @ cheeks blush "Ooooh!" ("open", "wide", "base", "stare") + nar "You give Luna's breasts a light squeeze, which causes a shudder to go down her spine..." gen "How did that feel?" ("base", xpos="far_left", ypos="head") - lun "*Ehm*..." ("soft", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "*Ehm*..." ("soft", "narrow", "base", "down") gen "Good?" ("base", xpos="far_left", ypos="head") - lun "I...{w=0.4} Yes...{w=0.4} I wasn't sure if good was the right word--" ("mad", "base", "base", "down", cheeks="blush") + lun @ cheeks blush "I...{w=0.4} Yes...{w=0.4} I wasn't sure if good was the right word--" ("mad", "base", "base", "down") gen "Excellent...{w=0.4} Then focus on that feeling..." ("base", xpos="far_left", ypos="head") call lun_chibi_scene("inspect_grope_breasts_naked") - call nar(">You begin kneading Luna's breasts... Her nipples firmly locked between your fingers.") + nar "You begin kneading Luna's breasts... Her nipples firmly locked between your fingers." - lun "*Ah*..." ("open", "happyCl", "low", "mid", cheeks="blush") - lun "[lun_genie_name]...{w=0.4} I think it's working...{w=0.4} I feel a lot more sensitive than before..." ("soft", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("open", "happyCl", "low", "mid") + lun @ cheeks blush "[name_genie_luna]...{w=0.4} I think it's working...{w=0.4} I feel a lot more sensitive than before..." ("soft", "happyCl", "base", "mid") gen "Good...{w=0.4} That means the spurts are building up." ("base", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.4} Finally...{w=0.4} Keep going, [lun_genie_name]..." ("angry", "happyCl", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} Finally...{w=0.4} Keep going, [name_genie_luna]..." ("angry", "happyCl", "base", "stare") - call nar(">As you continue, Luna tightens her thighs around your legs, and subconsciously pushes her ass back towards your abdomen.") - call nar(">Her cheeks lightly grace your hardening cock, and as they do, the tip of your cock manages to wiggle its way out of your robes.") + nar "As you continue, Luna tightens her thighs around your legs, and subconsciously pushes her ass back towards your abdomen." + nar "Her cheeks lightly grace your hardening cock, and as they do, the tip of your cock manages to wiggle its way out of your robes." - lun "*Mmm*...{w=0.4} [lun_genie_name]..." ("base", "closed", "base", "mid", cheeks="blush") - gen "You're doing a great job [luna_name]..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Mmm*...{w=0.4} [name_genie_luna]..." ("base", "closed", "base", "mid") + gen "You're doing a great job [name_luna_genie]..." ("base", xpos="far_left", ypos="head") gen "Make sure to keep focusing on that feeling." ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name], I think I feel the wrackspurts--" ("mad", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "But [name_genie_luna], I think I feel the wrackspurts--" ("mad", "closed", "annoyed", "mid") - call nar(">You stop your kneading and give her another squeeze, just slightly harder than previously.") + nar "You stop your kneading and give her another squeeze, just slightly harder than previously." - lun "*Ah*..." ("grin", "closed", "base", "L", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("grin", "closed", "base", "L") - call nar(">And as you do, Luna clenches her butt-cheeks around the bottom of your shaft, the tip of your penis now sticking out of your robes right above her tailbone.") + nar "And as you do, Luna clenches her butt-cheeks around the bottom of your shaft, the tip of your penis now sticking out of your robes right above her tailbone." - lun "I--" ("soft", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "I--" ("soft", "closed", "base", "mid") - call nar(">You run your fingers along the sides of her breasts, lightly brushing against her.") + nar "You run your fingers along the sides of her breasts, lightly brushing against her." - lun "*Ah*...{w=0.4} Yes, it definitely feels a lot more intense than...{w=0.4} *Mmm*..." ("open", "closed", "base", "mid", cheeks="blush") - lun "But I'm not feeling that--{w=0.2} *Ah*...{w=0.4} Relief you mentioned..." ("mad", "closed", "base", "mid", cheeks="blush") - lun "My body still feels as if-- *Ah*...{w=0.4} As if on fire, [lun_genie_name]..." ("angry", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} Yes, it definitely feels a lot more intense than...{w=0.4} *Mmm*..." ("open", "closed", "base", "mid") + lun @ cheeks blush "But I'm not feeling that--{w=0.2} *Ah*...{w=0.4} Relief you mentioned..." ("mad", "closed", "base", "mid") + lun @ cheeks blush "My body still feels as if--{w=0.2} *Ah*...{w=0.4} As if I'm on fire, [name_genie_luna]..." ("angry", "happyCl", "base", "mid") - call nar(">As Luna pleads to you, she starts rubbing her pussy against your legs... The tip of your cock sliding between her ass-cheeks each time.") + nar "Luna gives up to the sensation, and starts rubbing her ass against you... The tip of your cock sliding between her ass-cheeks with each thrust." - gen "(If she keeps this up then this bitch in heat will make me bust before she does...)" ("angry", xpos="far_left", ypos="head") - lun "It think something is happening...{w=0.4} I feel woozy, [lun_genie_name]..." ("angry", "happyCl", "low", "mid", cheeks="blush") + gen "(If this keeps going, then this bitch in heat will make me bust before she does...)" ("angry", xpos="far_left", ypos="head") + lun @ cheeks blush "I think something is happening...{w=0.4} I feel woozy, [name_genie_luna]..." ("angry", "happyCl", "low", "mid") call lun_chibi_scene("inspect_lean_grope_breasts_naked") - call nar(">Luna slumps forward slightly...{w=0.4} Her ass-cheeks, now fully embracing the bottom of your shaft.") + nar "Luna slumps forward slightly...{w=0.4} Her ass-cheeks, now fully embracing the bottom of your shaft." - lun "(Is...{w=0.4} Is that his...)" ("clench", "narrow", "base", "downL", cheeks="blush") + lun @ cheeks blush "(Is...{w=0.4} Is that his...)" ("clench", "narrow", "base", "downL") call lun_chibi_scene("inspect_grope_breasts_naked") - call nar(">Arching her back up again, Luna's cheeks slides over your cock once more which is enough to bring you over the edge.") + nar "Arching her back up again, Luna's cheeks slide over your cock once more, which is enough to bring you over the edge." gen "*ARGH*!!!" ("angry", xpos="far_left", ypos="head") - lun "" ("clench", "narrow", "base", "stare", cheeks="blush") #surprised + lun @ cheeks blush "" ("clench", "narrow", "base", "stare") #surprised pause .5 gen "(You've done it now slut!)" ("angry", xpos="far_left", ypos="head") gen "(Take this!)" ("angry", xpos="far_left", ypos="head") @@ -536,30 +538,30 @@ label ll_pf_inspect_T2_E2_intro: call cum_block call lun_chibi_scene("inspect_idle_naked") - call nar(">With a rush of pleasure, you unload a torrent of semen across Lunas back, completely covering it with your seed.") + nar "With a rush of pleasure, you unload a torrent of semen across Lunas back, completely covering it with your seed." - lun "(What's he--)" ("clench", "narrow", "base", "R", cheeks="blush") #Pleasure/confused + lun @ cheeks blush "(What's he--)" ("clench", "narrow", "base", "R") #Pleasure/confused gen "*Ah*!!!" ("angry", xpos="far_left", ypos="head") call cum_block - call nar(">And with a soft groan you let out a final spurt, emptying your entire sack on the girl...") - call nar(">Your semen which reached all the way up onto her hair slowly begins sliding down her back.") + nar "And with a soft groan, you let out a final spurt, emptying your entire sack on the girl..." + nar "Your semen, which reached all the way up onto her hair, slowly begins sliding down her back." gen "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name], I think...{w=0.4} I feel a bit faint..." ("mad", "narrow", "low", "down", cheeks="blush") + lun @ cheeks blush "[name_genie_luna], I think...{w=0.4} I feel a bit faint..." ("mad", "narrow", "low", "down") gen "*Ah*...{w=0.4} No, you just need to--{w=0.2} *Ah*...{w=0.4} To push through--" ("base", xpos="far_left", ypos="head") - lun "No [lun_genie_name]...{w=0.4} It's as if a chill is going down my spine...{w=0.4} It doesn't feel right." ("clench", "wide", "base", "stare", cheeks="blush") - lun "It's nowhere near the feeling of relief that you described..." ("disgust", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "No [name_genie_luna]...{w=0.4} It's as if a chill is going down my spine...{w=0.4} It doesn't feel right." ("clench", "wide", "base", "stare") + lun @ cheeks blush "It's nowhere near the feeling of relief that you described..." ("disgust", "narrow", "base", "stare") gen "*Err*...{w=0.4} Well I--" ("base", xpos="far_left", ypos="head") - lun "I think I need to--" ("disgust", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "I think I need to--" ("disgust", "narrow", "base", "down") gen "No, wait!" ("angry", xpos="far_left", ypos="head") show screen blkfade with d5 - call nar(">Luna now shaking slightly, stands up and makes her way to the front of your desk, leaving a noticeable wet streak across your robes.") - call nar(">She begins dressing herself, keeping her eyes on the floor the entire time.") + nar "Luna, now shaking slightly, stands up and makes her way to the front of your desk, leaving a noticeable wet streak across your robes." + nar "She begins dressing herself, keeping her eyes on the floor the entire time." $ luna.wear("all") hide luna_main @@ -571,54 +573,55 @@ label ll_pf_inspect_T2_E2_intro: gen "*Ehm*...{w=0.4} So..." ("base", xpos="far_left", ypos="head") - call nar(">Luna shuffles uncomfortably and then glances up at you, seemingly unable to find what to say...") + nar "Luna shuffles uncomfortably and then glances up at you, seemingly unable to find what to say..." - gen "(Good job me..{w=0.4} I have royally fucked it up this time.)" ("base", xpos="far_left", ypos="head") + gen "(Good job me...{w=0.4} I have royally fucked it up this time.)" ("base", xpos="far_left", ypos="head") gen "Look, accidents happen to the best of--" ("base", xpos="far_left", ypos="head") - lun "I'm sorry [lun_genie_name]!" ("angry", "narrow", "worried", "mid", xpos="base", ypos="base", flip=False, trans=dissolve) + lun "I'm sorry [name_genie_luna]!" ("angry", "narrow", "worried", "mid", xpos="base", ypos="base", flip=False, trans=dissolve) gen "..." ("angry", xpos="far_left", ypos="head") lun "You were right..." ("upset", "narrow", "worried", "down") lun "I guess I wasn't ready..." ("open", "closed", "worried", "down") gen "What are you--" ("base", xpos="far_left", ypos="head") lun "I was so sure that we'd be able to do it..." ("angry", "narrow", "worried", "down") - gen "*Err*...{w=0.3} Do \"it\", [luna_name]?" ("base", xpos="far_left", ypos="head") + gen "*Err*...{w=0.3} Do \"it\", [name_luna_genie]?" ("base", xpos="far_left", ypos="head") - lun "Cum, [lun_genie_name]..." ("soft", "narrow", "worried", "mid") + lun "Cum, [name_genie_luna]..." ("soft", "narrow", "worried", "mid") gen "Oh!" ("base", xpos="far_left", ypos="head") - gen "Well it was your first time...{w=0.3} It's not that uncommon for it to end prematurely..." ("base", xpos="far_left", ypos="head") - lun "It's not, [lun_genie_name]?" ("angry", "base", "worried", "stare") + gen "Well, it was your first time...{w=0.3} It's not that uncommon for it to end prematurely..." ("base", xpos="far_left", ypos="head") + lun "It's not, [name_genie_luna]?" ("angry", "base", "worried", "stare") gen "Yes...{w=0.3} Actually it's very...{w=0.3} Very common..." ("base", xpos="far_left", ypos="head") gen "I wasn't expecting you to work it--{w=0.2} *Err*...{w=0.3} For it to work the first time!" ("base", xpos="far_left", ypos="head") gen "We'll just have to try it again some other time." ("base", xpos="far_left", ypos="head") - lun "So you're not disappointed in me [lun_genie_name]?" ("annoyed", "narrow", "worried", "mid") #Looks down + lun "So you're not disappointed in me, [name_genie_luna]?" ("annoyed", "narrow", "worried", "mid") #Looks down gen "Of course not." ("base", xpos="far_left", ypos="head") gen "(Quite the opposite...)" ("base", xpos="far_left", ypos="head") lun "Oh...{w=0.3} Okay." ("normal", "narrow", "worried", "down") #Looks down lun "" ("base", "narrow", "worried", "down") #Looks down smile - call nar(">Luna gives off a hopeful smile whilst still staring at her feet.") - call nar(">After a couple of seconds she looks back up at you with a confused expression across her face.") + nar "Luna gives off a hopeful smile whilst still staring at her feet." + nar "After a couple of seconds, she looks back up at you with a confused expression across her face." - lun "[lun_genie_name]...{w=0.3} What was that cold feeling going down my spine?" ("upset", "narrow", "base", "mid") + lun "[name_genie_luna]...{w=0.3} What was that cold feeling going down my spine?" ("upset", "narrow", "base", "mid") gen "Oh...{w=0.3} That." ("angry", xpos="far_left", ypos="head") - gen "*Err*...{w=0.3} I wouldn't worry about that [luna_name], it happens sometimes... Your body can do all sorts of things when you're moments away from spurting." ("angry", xpos="far_left", ypos="head") - lun "So we actually almost did it, [lun_genie_name]?" ("clench", "narrow", "base", "mid") + gen "*Err*...{w=0.3} I wouldn't worry about that, [name_luna_genie]... It happens sometimes." ("angry", xpos="far_left", ypos="head") + gen "Your body can do all sorts of things when you're moments away from spurting." ("angry", xpos="far_left", ypos="head") + lun "So we actually almost did it, [name_genie_luna]?" ("clench", "narrow", "base", "mid") gen "We almost did \"it\" alright..." ("base", xpos="far_left", ypos="head") - lun "Aww...{w=0.3} Blithering Humdinger..." ("upset", "narrow", "annoyed", "downL") + lun "*Aww*...{w=0.3} Blithering Humdinger..." ("upset", "narrow", "annoyed", "downL") gen "I'll give you some more pointers next time...{w=0.3} I'm sure we'll get there." ("base", xpos="far_left", ypos="head") - lun "Okay...{w=0.3} Thank you [lun_genie_name]!" ("base", "narrow", "base", "mid") #looks at you smiling + lun "Okay...{w=0.3} Thank you [name_genie_luna]!" ("base", "narrow", "base", "mid") #looks at you smiling if game.daytime: - lun "If I may then I'll head back to class for today, [lun_genie_name]." ("soft", "base", "base", "R") - gen "Certainly, [luna_name]." ("base", xpos="far_left", ypos="head") + lun "If I may, then I'll head back to class for today, [name_genie_luna]." ("soft", "base", "base", "R") + gen "Certainly, [name_luna_genie]." ("base", xpos="far_left", ypos="head") else: gen "Now you best be off to bed." ("base", xpos="far_left", ypos="head") - lun "Of course [lun_genie_name]." ("soft", "base", "base", "R") + lun "Of course [name_genie_luna]." ("soft", "base", "base", "R") lun "Good night then..." ("base", "base", "base", "mid") - gen "Good night [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Good night [name_luna_genie]." ("base", xpos="far_left", ypos="head") call lun_walk("door") - lun "(Wait a second...{w=0.3} The thing I felt on my back...)" ("soft", "narrow", "base", "downL", cheeks="blush", xpos="base", ypos="base", flip=True, trans=dissolve) + lun @ cheeks blush "(Wait a second...{w=0.3} The thing I felt on my back...)" ("soft", "narrow", "base", "downL", xpos="base", ypos="base", flip=True, trans=dissolve) hide luna_main with d3 @@ -626,8 +629,8 @@ label ll_pf_inspect_T2_E2_intro: call lun_chibi(flip=False) - gen "Yes...{w=0.3} Was there something else [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Oh...{w=0.3} No that's all, [lun_genie_name]!" ("angry", "narrow", "base", "down", cheeks="blush", xpos="base", ypos="base", flip=False, trans=dissolve) + gen "Yes...{w=0.3} Was there something else [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh...{w=0.3} No, that's all, [name_genie_luna]!" ("angry", "narrow", "base", "down", xpos="base", ypos="base", flip=False, trans=dissolve) hide luna_main @@ -638,24 +641,28 @@ label ll_pf_inspect_T2_E2_intro: gen "Off you go then..." ("base", xpos="far_left", ypos="head") - lun "(Was me rubbing up against him enough to help with his--)" ("soft", "narrow", "base", "down", cheeks="blush", xpos="base", ypos="base", flip=True, trans=dissolve) - lun "(Why am I suddenly so woozy again?)" ("angry", "narrow", "base", "downL", cheeks="blush") + lun @ cheeks blush "(Was me rubbing up against him enough to help with his--)" ("soft", "narrow", "base", "down", xpos="base", ypos="base", flip=True, trans=dissolve) + lun @ cheeks blush "(Why am I suddenly so woozy again?)" ("angry", "narrow", "base", "downL") call lun_walk(action="leave") - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T2_E3_intro: + $ states.lun.ev.inspect_her_body.t2_e3_complete = True + + call ll_pf_inspect + gen "Ready for another attempt?" ("base", xpos="far_left", ypos="head") - lun "I...{w=0.3} Yes [lun_genie_name], I believe so..." ("open", "narrow", "base", "downL") + lun "I...{w=0.3} Yes [name_genie_luna], I believe so..." ("open", "narrow", "base", "downL") #Luna walks towards desk and it fades to black call lun_walk("desk") show screen blkfade with d5 - call nar(">Luna absentmindedly walks up and scoots in front of you.") + nar "Luna absent-mindedly walks up and scoots in front of you." if luna.is_any_worn("top", "bottom", "robe"): call lun_chibi_scene("inspect_idle") @@ -664,7 +671,7 @@ label ll_pf_inspect_T2_E3_intro: hide screen blkfade with d5 - gen "*Err*...{w=0.3} I think you've forgotten something [luna_name]." ("base", xpos="far_left", ypos="head") + gen "*Err*...{w=0.3} I think you've forgotten something [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "*Huh*?" ("soft", "narrow", "base", "mid", xpos="mid", ypos="base", flip=True, trans=dissolve) if luna.is_any_worn("top", "bottom", "robe"): @@ -674,211 +681,212 @@ label ll_pf_inspect_T2_E3_intro: lun "Oh...{w=0.3} Right..." ("angry", "narrow", "base", "down") gen "You seem awfully distracted today." ("base", xpos="far_left", ypos="head") - lun "*Ehm*...{w=0.3} To tell you the truth...{w=0.3} I'm a bit worried that it's not going to work again, [lun_genie_name]." ("open", "narrow", "base", "downL") - gen "Now I wouldn't worry about that...{w=0.3} I'm confident it will work this time." ("base", xpos="far_left", ypos="head") - lun "But how do you know it will work, [lun_genie_name]?" ("mad", "narrow", "base", "mid") - lun "Maybe girls aren't able to expel the Wrackspurts like boys do." ("angry", "narrow", "base", "mid") - gen "I'm certain that the process isn't too dissimilar...{w=0.3} I'm confident that with my help--" ("base", xpos="far_left", ypos="head") - lun "But how do you know, [lun_genie_name]?" ("angry", "narrow", "base", "mid") - gen "Just trust me on this one [luna_name]." ("base", xpos="far_left", ypos="head") + lun "*Ehm*...{w=0.3} To tell you the truth...{w=0.3} I'm a bit worried that it's not going to work again, [name_genie_luna]." ("open", "narrow", "base", "downL") + gen "Now, I wouldn't worry about that...{w=0.3} I'm confident it will work this time." ("base", xpos="far_left", ypos="head") + lun "But how can you be so sure, [name_genie_luna]?" ("mad", "narrow", "base", "mid") + lun "Maybe it's different for us women, maybe we aren't able to expel the wrackspurts like you men do." ("angry", "narrow", "base", "mid") + gen "I'm quite certain that the process isn't too dissimilar...{w=0.3} I'm confident that with my help--" ("base", xpos="far_left", ypos="head") + lun "But {i}how{/i} do you know, [name_genie_luna]?" ("angry", "narrow", "base", "mid") + gen "Just trust me on this one [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "*Hmm*..." ("upset", "narrow", "base", "downL") gen "(She doesn't seem convinced.)" ("base", xpos="far_left", ypos="head") gen "(Oh, wait...{w=0.3} I know!)" ("grin", xpos="far_left", ypos="head") - gen "*Ahem*...{w=0.3} [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name]?" ("upset", "base", "base", "mid") - gen "Tell me...{w=0.3} How were those spratters described in your fathers paper again?" ("base", xpos="far_left", ypos="head") - lun "They're invisible creatures that go inside your ears and make your brain go all fuzzy." ("angry", "base", "base", "mid") - gen "And...{w=0.3} Wasn't there a description on how you were supposed to get rid of them?" ("base", xpos="far_left", ypos="head") - lun "By thinking positive thoughts..." ("soft", "narrow", "base", "mid") - lun "But that's not working [lun_genie_name]...{w=0.3} It's not my brain they're making all fuzzy..." ("clench", "narrow", "base", "mid") - gen "Then tell me...{w=0.3} What else have we learned about them so far?" ("base", xpos="far_left", ypos="head") + gen "*Ahem*...{w=0.3} [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "Yes [name_genie_luna]?" ("upset", "base", "base", "mid") + gen "Tell me...{w=0.3} How were those spratters described in your father's paper again?" ("base", xpos="far_left", ypos="head") + lun "Let me think.{w=0.5} They're invisible creatures that enter inside your ears and make your brain go all fuzzy." ("angry", "base", "base", "mid") + gen "And...{w=0.3} Wasn't there an instruction on how to expel them?" ("base", xpos="far_left", ypos="head") + lun "Why yes, by thinking positively..." ("soft", "narrow", "base", "mid") + lun "But that's not working, [name_genie_luna]...{w=0.3} It isn't my brain that's getting all fuzzy because of them..." ("clench", "narrow", "base", "mid") + gen "Then tell me...{w=0.3} What else have we learned about them thus far?" ("base", xpos="far_left", ypos="head") lun "*Uhm*..." ("upset", "base", "base", "downR") - lun "We learned that you can bait them to a particularly sensitive area by thinking positive thoughts and rubbing it before finally expelling them..." ("angry", "narrow", "base", "down") - lun "But we tried that [lun_genie_name], and it didn't work!" ("annoyed", "narrow", "base", "R") - gen "I managed to do it...{w=0.3} So I must've done something different..." ("base", xpos="far_left", ypos="head") + lun "We have learned that you can lure them out to a particularly sensitive body area, through positive thoughts. Then, you need to rub that spot energetically to finally expel them..." ("angry", "narrow", "base", "down") + lun "But we have already tried that [name_genie_luna], and it didn't work!" ("annoyed", "narrow", "base", "R") + gen "I managed to do it by myself...{w=0.3} So you must have done something wrong..." ("base", xpos="far_left", ypos="head") lun "*Hmm*..." ("upset", "narrow", "base", "downL") gen "(Putting the pieces together...{w=0.3} And...)" ("base", xpos="far_left", ypos="head") lun "Oh! I know!" ("smile", "wide", "base", "stare") - lun "I was thinking too much about the Wrackspurts and how glad I'd be to finally get rid of them." ("mad", "wide", "base", "mid") - lun "What I should have done is project positive thoughts onto the area itself!" ("smile", "narrow", "base", "down") + lun "I was possibly thinking too much about the wrackspurts, and how glad I'd be to finally get rid of them." ("mad", "wide", "base", "mid") + lun "What I should have done instead was project positive thoughts onto the area itself!" ("smile", "narrow", "base", "down") gen "Exactly!" ("grin", xpos="far_left", ypos="head") - gen "Ignore every intrusive thought that may pop into your mind and just keep focusing on your body and how it feels..." ("base", xpos="far_left", ypos="head") - gen "Let the sensations engulf you completely until your mind is clear..." ("base", xpos="far_left", ypos="head") - gen "The rest should happen by itself..." ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name]..." ("crooked_smile", "narrow", "base", "mid") + gen "Ignore intrusive thoughts that may pop into your head, and just focus on your body, on how it feels..." ("base", xpos="far_left", ypos="head") + gen "Let the sensations engulf you completely, until your mind is clear..." ("base", xpos="far_left", ypos="head") + gen "Leave the rest to the fate..." ("base", xpos="far_left", ypos="head") + lun "That's smart, [name_genie_luna], maybe I should try that." ("crooked_smile", "narrow", "base", "mid") gen "Now then... Ready for another try?" ("base", xpos="far_left", ypos="head") - lun "Yes, I'm ready [lun_genie_name]!" ("base", "base", "base", "mid") + lun "Yes, I'm ready [name_genie_luna]!" ("base", "base", "base", "mid") if luna.is_any_worn("robe", "top", "bottom", "accessory"): - gen "Then lets get you out of those clothes shall we..." ("base", xpos="far_left", ypos="head") + gen "Let's get you out of those clothes first, shall we..." ("base", xpos="far_left", ypos="head") else: - gen "Now, let me help you get you out of those pesky underwear..." ("base", xpos="far_left", ypos="head") + gen "Now, let me help you get you out of those pesky undergarments..." ("base", xpos="far_left", ypos="head") #Fade to black show screen blkfade with d5 if luna.is_any_worn("robe", "top", "bottom", "accessory"): - call nar(">Luna shuffles around for a bit as she attempts to get out of her clothing, the limited space between you and the desk making it somewhat difficult.") + nar "Luna shuffles around for a bit, attempting to get out of her clothing. The limited space between you and the desk is making it somewhat difficult." - lun "It's a bit cramped in here, [lun_genie_name] ...{w=0.4} Should I scoot out and--" ("base", "base", "base", "mid") - gen "No worries [luna_name]...{w=0.4} Let me handle it." + lun "It's a bit cramped in here, [name_genie_luna]...{w=0.4} Should I scoot out and--" ("base", "base", "base", "mid") + gen "No, that won't be necessary, [name_luna_genie]...{w=0.4} Let me help you." if luna.is_worn("robe"): - call nar(">You unclasp Luna's robes and let them drop to the ground behind her.") + nar "You unclasp Luna's outerwear and let it drop to the ground behind her." if luna.is_worn("top"): - call nar(">You swiftly pull Luna's top over her head...{w=0.4} Her breasts moves up along with it and then drops from the sudden motion as the fabric passes by.") - $ renpy.sound.play("sounds/boing02.ogg") + nar "You swiftly pull Luna's top over her head...{w=0.4} Her breasts bounce a little, then settle still as the offending piece of clothing is taken off." + play sound "sounds/boing02.ogg" pause .4 lun "Whoa!" ("base", "base", "base", "mid") #Luna always wears underwear at this stage - call nar(">You unhook Luna's bra with ease and then let it drop to the floor in front of her.") - call nar(">She glances back at you, cheeks flushed and a look of surprise across her face caused by the unusual speed and dexterity displayed by her headmaster.") + nar "You unhook Luna's bra with ease, and let it drop to the floor, right in front of her." + nar "She glances back at you, her cheeks flushed, and a look of surprise painted across her face, caused by your unusual dexterity." - lun "Have you done this before, [lun_genie_name]?" ("base", "base", "base", "mid") + lun "Have you done this before, [name_genie_luna]?" ("base", "base", "base", "mid") + gen "Let's not make this about me, [name_luna_genie]. Free your mind of intrusive thoughts." ("base", xpos="far_left", ypos="head") + lun "Okay, I'll try." ("soft", "base", "base", "mid") if luna.is_worn("bottom", "panties"): - call nar(">Noticing Luna's increasing excitement you put your thumbs on either side of her bottoms and pull both it and her panties down in one singular motion...") + nar "Noticing Luna's ever-increasing excitement, you put your hands on either side of her hips, and pull both fabrics down, in one singular motion..." $ luna.strip("bottom", "panties") - if luna.is_worn("bottom"): - call nar(">Noticing Luna's increasing excitement you put your thumbs on either side of her bottoms and pull them down...") - if luna.is_worn("panties"): - call nar(">You eye up Luna's Panties for a moment before swiftly pulling them down, letting them rest just underneath her ankles...") + elif luna.is_worn("bottom"): + nar "Noticing Luna's ever-increasing excitement, you put your hands on either side of her hips, and pull the fabric down swiftly..." + elif luna.is_worn("panties"): + nar "You ogle at Luna's underwear, before swiftly pulling them down right to her ankles..." - - lun "" ("clench", "narrow", "base", "downR", cheeks="blush") - $ luna.strip("all") + lun @ cheeks blush "" ("clench", "narrow", "base", "downR") + $ luna.strip("clothes") pause .2 hide screen blkfade - #Fade back to Naked Luna in front of genie call lun_chibi_scene("inspect_idle_naked") with d5 - - lun "[lun_genie_name]!" ("clench", "narrow", "base", "downR", cheeks="blush") - gen "Yes, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "*Ehm*...{w=0.4} Never mind..." ("soft", "narrow", "base", "down", cheeks="blush") - gen "Okay, let's begin then shall we?" ("base", xpos="far_left", ypos="head") - lun "..." ("base", "narrow", "base", "down", cheeks="blush") #blush + lun @ cheeks blush "[name_genie_luna]!" ("clench", "narrow", "base", "downR") + gen "Yes, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Ehm*...{w=0.4} Never mind..." ("soft", "narrow", "base", "down") + gen "Okay. In that case, let the exorcism commence--." ("base", xpos="far_left", ypos="head") + gen "--*Err*, I mean the expulsion." ("angry", xpos="far_left", ypos="head") + lun @ cheeks blush "..." ("base", "narrow", "base", "down") #blush call lun_chibi_scene("inspect_grope_breasts_naked") - call nar(">Without hesitation, you reach forward and grab Luna's breasts.") + nar "Without hesitation, you reach forward and grab and start fondling Luna's breasts." + nar "As she feels your touch, any doubts in Luna's mind are washed away, letting the sensations overtake her." - call nar(">As you begin silently kneading them, any doubts in Luna's mind appears to slowly wash away as she lets the sensations of your touch overtake any previous feelings of doubt.") + lun @ cheeks blush "*Ah*...{w=0.4} [name_genie_luna]..." ("soft", "closed", "base", "mid") - lun "*Ah*...{w=0.4} [lun_genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") + nar "You move your attention towards Luna's sensitive areas... Gently sliding your fingers across her nipples, then across the sides of her breasts and back again." - call nar(">You move your attention towards Luna's sensitive areas... Gently sliding your fingers across her nipples, then across the sides of her breasts and back again.") + lun @ cheeks blush "*Mmm*..." ("normal", "closed", "base", "mid") - lun "*Mmm*..." ("normal", "closed", "base", "mid", cheeks="blush") + nar "You continue massaging Luna's breasts and the silence is only broken by her moans as your fingers pass across her nipples." - call nar(">You continue massaging Luna's breasts and the silence is only broken by her moans as your fingers pass across her nipples.") + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Mmmm*..." ("soft", "closed", "base", "mid") - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} *Mmmm*..." ("soft", "closed", "base", "mid", cheeks="blush") - - call nar(">Luna getting more and more excited by your touch pushes her ass towards you once more.") + nar "Luna, getting more and more excited by your touch, pushes her ass towards you once more." call lun_chibi_scene("inspect_lean_grope_breasts_naked") - call nar(">As it graces your cock, you struggle not to get hard...") + nar "As it graces your cock, you struggle not to get hard..." gen "(Nnnn-{w=0.2} Not today!)" ("angry", xpos="far_left", ypos="head") - lun "" ("normal", "closed", "base", "mid", cheeks="blush") - call nar(">Determined to keep your composure this time you move your gaze down too see Luna rubbing her thighs together.") + lun @ cheeks blush "" ("normal", "closed", "base", "mid") + nar "Determined to keep your composure this time, you move your gaze down to see Luna rubbing her thighs together." gen "(Well then...{w=0.4} Looks like she's ready.)" ("grin", xpos="far_left", ypos="head") call lun_chibi_scene("inspect_lean_idle_naked") - lun "" ("soft", "narrow", "base", "R", cheeks="blush") - call nar(">As you remove your hands from Luna's breasts she opens her eyes, confused as to why you stopped. Without saying anything, you place your hand across her pussy and give it a gentle rub.") + lun @ cheeks blush "" ("soft", "narrow", "base", "R") + nar "As you remove your hands from Luna's breasts, she opens her eyes, confused as to why you stopped." + nar "Without saying anything, you place your hand across her pussy, and give it a gentle rub." - lun "Ooooh!" ("crooked_smile", "wide", "base", "stare", cheeks="blush") + lun @ cheeks blush "Ooooh!" ("crooked_smile", "wide", "base", "stare") call lun_chibi_scene("inspect_lean_grope_vagina_naked") - call nar(">A shudder passes through Luna's body from your initial touch. You begin moving your forefinger up and down her slit with increasing ease as her pussy becomes wetter and wetter.") + nar "A shudder passes through Luna's body from your initial touch." + nar "You then begin moving your forefinger up and down her slit with increasing ease, as her pussy becomes wetter and wetter." - lun "*Ah*...{w=0.4} [lun_genie_name]...{w=0.4}This feels a lot different to you--{w=0.2} *Ah*...{w=0.4} Touching my breasts..." ("open", "wink", "base", "R", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} [name_genie_luna]...{w=0.4} This feels a lot different to you--{w=0.2} *Ah*...{w=0.4} Touching my breasts..." ("open", "wink", "base", "R") gen "(You ain't seen nothing yet...)" ("base", xpos="far_left", ypos="head") - call nar(">As you continue rubbing her, the excitement in her voice gnaws at your steadily decreasing patience...") + nar "As you continue rubbing her, the excitement in her voice gnaws at your steadily decreasing patience..." - lun "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("soft", "narrow", "base", "up", cheeks="blush") - gen "Ready, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "" ("soft", "narrow", "base", "up", cheeks="blush") #pleasure + lun @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("soft", "narrow", "base", "up") + gen "Ready, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "" ("soft", "narrow", "base", "up") #pleasure pause .8 - gen "[luna_name]?" ("base", xpos="far_left", ypos="head") + gen "[name_luna_genie]?" ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") gen "(Fuck it...)" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris pause .5 call lun_chibi_scene("inspect_lean_idle_naked") - lun "..." ("scream", "wide", "base", "stare", cheeks="blush") #wide eyed - lun "[lun_genie_name]!" ("scream", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "..." ("scream", "wide", "base", "stare") #wide eyed + lun @ cheeks blush "[name_genie_luna]!" ("scream", "base", "base", "mid") - call nar(">As you penetrate Luna with your index finger she clenches her legs together in surprise.") + nar "As you penetrate Luna with your index finger, she clenches her legs together in surprise." - lun "[lun_genie_name]...{w=0.4} Your finger slipped inside of me..." ("clench", "wide", "base", "mid", cheeks="blush") + lun @ cheeks blush "[name_genie_luna]...{w=0.4} Your finger slipped inside of me..." ("clench", "wide", "base", "mid") gen "I know..." ("base", xpos="far_left", ypos="head") - lun "What do you--" ("clench", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "What do you--" ("clench", "narrow", "base", "mid") call lun_chibi_scene("inspect_lean_grope_vagina_naked") - play bg_sounds "sounds/slickloop.ogg" fadein 2 - call nar(">You begin moving your finger inside of Luna, slowly increasing the pace, her words soon replaced by the sounds of increasing pleasure.") + play background "sounds/slickloop.ogg" fadein 2 + nar "You begin moving your finger inside of Luna, slowly increasing the pace, her words soon replaced by the sounds of increasing pleasure." - lun "*Ah*...{w=0.4} My word...{w=0.3} *Ah*...{w=0.4} I never...{w=0.3} *Ah*..." ("soft", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} My word...{w=0.3} *Ah*...{w=0.4} I never...{w=0.3} *Ah*..." ("soft", "narrow", "base", "stare") gen "(*Hmm*...{w=0.4} Perhaps I shouldn't go so hard on her...)" ("base", xpos="far_left", ypos="head") - stop bg_sounds fadeout 2 - call nar(">You stop your movement for a second to give Luna some breathing room but as you do she starts moving her hips back and forth on her own.") + stop background fadeout 2 + nar "You stop your movement for a second to give Luna some breathing room, but as you do, she starts moving her hips back and forth on her own." - gen "(Never mind then...)" ("grin", xpos="far_left", ypos="head") + gen "(Never mind, then...)" ("grin", xpos="far_left", ypos="head") gen "*Tsk*... Such impatience with the youths these days..." ("grin", xpos="far_left", ypos="head") - lun "..." ("base", "narrow", "base", "up", cheeks="blush") #Looks back at you - gen "Very well [luna_name]..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "..." ("base", "narrow", "base", "up") #Looks back at you + gen "Very well [name_luna_genie]..." ("base", xpos="far_left", ypos="head") gen "In that case I won't hold back on you." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris - lun "*Ah*!!!" ("scream", "wide", "base", "stare", cheeks="blush") #Wide eyed + lun @ cheeks blush "*Ah*!!!" ("scream", "wide", "base", "stare") #Wide eyed - play bg_sounds "sounds/slickloopfast.ogg" - call nar(">You insert another finger and begin pumping them in and out, the walls of her pussy clinging onto your fingers with each insertion.") + play background "sounds/slickloopfast.ogg" + nar "You insert another finger and begin pumping them in and out, the walls of her pussy clinging onto your fingers with each insertion." - lun "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("open", "happyCl", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("open", "happyCl", "base", "stare") - call nar(">Luna now completely lost in pleasure begins shaking slightly, prompting you to pick up the pace even further.") + nar "Luna, now completely lost in pleasure, begins shaking slightly, prompting you to pick up the pace even further." - play bg_sounds "sounds/slickloopveryfast.ogg" - lun "[lun_genie_name]...{w=0.3} This... {w=0.3} is...{w=0.3} amazing...{w=0.3} I... {w=0.3} never...{w=0.3} thought--" ("soft", "happyCl", "base", "stare", cheeks="blush") + play background "sounds/slickloopveryfast.ogg" + lun @ cheeks blush "[name_genie_luna]...{w=0.3} This...{w=0.3} is...{w=0.3} amazing...{w=0.3} I... {w=0.3} never...{w=0.3} thought--" ("soft", "happyCl", "base", "stare") gen "Then don't...{w=0.3} Focus on the feeling!" ("angry", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.3} Yes...{w=0.3} [lun_genie_name]." ("soft", "closed", "base", "stare", cheeks="blush") - lun "*N-n-ngh!!!*" ("grin", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} Yes...{w=0.3} [name_genie_luna]." ("soft", "closed", "base", "stare") + lun @ cheeks blush "*N-n-ngh*!!!" ("grin", "closed", "base", "mid") - call nar(">Not showing her any mercy you continue pumping your fingers in and out of her rapidly.") + nar "Not showing her any mercy, you continue pumping your fingers in and out of her rapidly." - lun "*Ah*...{w=0.5} [lun_genie_name]...{w=0.4} I think this is it!" ("mad", "narrow", "base", "stare", cheeks="blush") - lun "I'm...{w=0.3} *Ah*...{w=0.3} I'm--" ("open_tongue", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.5} [name_genie_luna]...{w=0.4} I think this is it!" ("mad", "narrow", "base", "stare") + lun @ cheeks blush "I'm...{w=0.3} *Ah*...{w=0.3} I'm--" ("open_tongue", "narrow", "base", "up") gen "Yes girl, let all of it out!" ("angry", xpos="far_left", ypos="head") - call nar(">You insert your fingers one last time as Luna's body finally gives in, her entire weight dropping onto your hand as your fingers penetrates her down to the base.") + nar "You insert your fingers one last time... As Luna's body finally gives in, her entire weight drops onto your hand and your fingers penetrates her down to the base." - lun "I'm cumming!!" ("mad", "base", "base", "ahegao", cheeks="blush") - lun "*Nngh*...{w=0.8}{nw}" ("clench", "base", "base", "ahegao", cheeks="blush") + lun @ cheeks blush "I'm cumming!!" ("mad", "base", "base", "ahegao") + lun @ cheeks blush "*Nngh*...{w=0.8}{nw}" ("clench", "base", "base", "ahegao") with kissiris - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/slick_01.ogg") - lun "*Nngh*...{fast} *Ah*!" ("open_wide_tongue", "narrow", "base", "ahegao", cheeks="blush") + stop background fadeout 2 + play sound "sounds/slick_01.ogg" + lun @ cheeks blush "*Nngh*...{fast} *Ah*!" ("open_wide_tongue", "narrow", "base", "ahegao") call lun_chibi_scene("inspect_lean_idle_naked") @@ -886,29 +894,29 @@ label ll_pf_inspect_T2_E3_intro: with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") - lun "*AAAAAH*!!!" ("crooked_smile", "narrow", "base", "ahegao", cheeks="blush") - call nar(">Your fingers now locked inside of Luna, you feel her entire body spasms as wave after wave of pleasure passes through her body.") - lun "Wow...{w=0.5} That was--{w=0.8}{nw}" ("crooked_smile", "narrow", "base", "stare", cheeks="blush") + play sound "sounds/slick_01.ogg" + lun @ cheeks blush "*AAAAAH*!!!" ("crooked_smile", "narrow", "base", "ahegao") + nar "Your fingers now locked inside of Luna, you feel her entire body spasms as wave after wave of pleasure passes through her body." + lun @ cheeks blush "Wow...{w=0.5} That was--{w=0.8}{nw}" ("crooked_smile", "narrow", "base", "stare") with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") - lun "Wow... That was--{fast} *Ah*..." ("open", "narrow", "base", "ahegao", cheeks="blush") + play sound "sounds/slick_01.ogg" + lun @ cheeks blush "Wow... That was--{fast} *Ah*..." ("open", "narrow", "base", "ahegao") - lun "*Mmm*...{w=0.4} You were right...{w=0.3} That...{w=0.3} That relief..." ("soft", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Mmm*...{w=0.4} You were right...{w=0.3} That...{w=0.3} That relief..." ("soft", "narrow", "base", "up") show screen blkfade with d5 - call nar(">Luna slumps forward onto your desk. Her grip around your fingers loosening enough for you to free yourself.") - call nar(">You swiftly pull them out of her which causes her to shudder once more before going completely limp on your desk.") + nar "Luna attempts to stand up, but her legs give way, and she slumps forward onto your desk, completely limp." + nar "Luckily her grip around your fingers finally loosens enough for you to free yourself, and you swiftly pull them out, which causes her to shudder once more." - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" lun "*Ah*..." - call nar(">Admiring your work, you watch as a streak of liquid runs down her leg before settling on the floor.") + nar "Admiring your work, you watch as a streak of liquid runs down her leg before settling on the floor." - lun "[lun_genie_name]..." ("base", "base", "base", "mid", cheeks="blush", xpos="base", ypos="base", flip=False, trans=dissolve) + lun @ cheeks blush "[name_genie_luna]..." ("base", "base", "base", "mid", xpos="base", ypos="base", flip=False, trans=dissolve) $ luna.wear("all") @@ -919,77 +927,78 @@ label ll_pf_inspect_T2_E3_intro: hide screen blkfade with d5 - lun "[lun_genie_name], that was incredible!" ("base", "narrow", "base", "mid") - lun "Did you see how many Wrackspurts I expelled?" ("crooked_smile", "base", "raised", "mid") + lun "[name_genie_luna], that was incredible!" ("base", "narrow", "base", "mid") + lun "Did you see how many wrackspurts I expelled?" ("crooked_smile", "base", "raised", "mid") gen "Very impressive indeed." ("base", xpos="far_left", ypos="head") lun "I can't believe we finally did it!" ("crooked_smile", "happyCl", "base", "mid") - lun "Finally a fool proof way of expelling wrackspurts from other areas than your brain!" ("crooked_smile", "narrow", "base", "mid") + lun "Finally, a foolproof way of expelling wrackspurts from other areas than your brain!" ("crooked_smile", "narrow", "base", "mid") gen "Quite the discovery! I'm sure we'll be able to help a lot of backed up people." ("grin", xpos="far_left", ypos="head") lun "Yes!" ("grin", "base", "base", "mid") - lun "So, what next? We've solved it now right?" ("grin", "base", "raised", "mid") + lun "So, what next? We've solved it now, right?" ("grin", "base", "raised", "mid") gen "Solved--" ("angry", xpos="far_left", ypos="head") - gen "Now I think you're getting a bit ahead of yourself Miss Lovegood." ("base", xpos="far_left", ypos="head") + gen "Now I think you're getting a bit ahead of yourself [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "But--" ("angry", "base", "base", "mid") - gen "Masturbation is only a temporary solution, so perfecting it is vital... Until I've come up with a more permanent solution that is..." ("base", xpos="far_left", ypos="head") + gen "Masturbation is only a temporary solution, so perfecting it is vital... Until I've come up with a more permanent solution, that is..." ("base", xpos="far_left", ypos="head") lun "Then I'll practice as soon as I get to my dorm!" ("smile", "narrow", "base", "mid") gen "No!" ("angry", xpos="far_left", ypos="head") - gen "I need to watch--{w=0.2} *Err*...{w=0.4} Instruct you so you can alleviate yourself properly and safely." ("base", xpos="far_left", ypos="head") - lun "Oh, of course [lun_genie_name]!" ("mad", "base", "base", "mid") - lun "Hopefully the Wrackspurts will leave me alone until then..." ("angry", "narrow", "base", "downL") #blush looking down + gen "I need to watch--{w=0.2} *Err*...{w=0.4} Instruct you, so you can alleviate yourself properly and safely." ("base", xpos="far_left", ypos="head") + lun "Oh, of course [name_genie_luna]!" ("mad", "base", "base", "mid") + lun "Hopefully the wrackspurts will leave me alone until then..." ("angry", "narrow", "base", "downL") #blush looking down gen "Hopefully..." ("base", xpos="far_left", ypos="head") gen "(Although I doubt it.)" ("base", xpos="far_left", ypos="head") if game.daytime: - gen "Well then, you've got class to attend [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Well then, you've got class to attend [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "Off you go." ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name], thank you [lun_genie_name]..." ("base", "wink", "base", "mid") + lun "Yes [name_genie_luna], thank you [name_genie_luna]..." ("base", "wink", "base", "mid") else: - gen "Well then, it's getting late so you best head to your dorm Miss Lovegood." ("base", xpos="far_left", ypos="head") + gen "Well then, it's getting late so you best head to your dorm, [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "Off you go." ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name]." ("base", "base", "base", "mid") - lun "Good night, [lun_genie_name]." ("base", "wink", "base", "mid") - gen "Good night [luna_name]." ("base", xpos="far_left", ypos="head") + lun "Yes [name_genie_luna]." ("base", "base", "base", "mid") + lun "Good night, [name_genie_luna]." ("base", "wink", "base", "mid") + gen "Good night [name_luna_genie]." ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") gen "(She sure is a eager one...)" ("base", xpos="far_left", ypos="head") - call nar(">You look down and see something's caught onto your robes.") + nar "You look down and see something's caught onto your robes." gen "(*Hmm*... What's this?)" ("base", xpos="far_left", ypos="head") $ hair_luna_ITEM.owned = 1 call give_reward(_("You found a string of blonde hair!"), gift=hair_luna_ITEM) gen "(Looks like she's left me a parting gift.)" ("base", xpos="far_left", ypos="head") - if snape_office_intro_E1: + if states.map.snape_office.intro_e2: gen "Maybe I could use this for one of my potions..." ("base", xpos="far_left", ypos="head") else: gen "Maybe I'll find some use for this later..." ("base", xpos="far_left", ypos="head") - - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T2_E4_repeat: - gen "How are you feeling, [luna_name]?" ("base", xpos="far_left", ypos="head") - gen "Have those spratters been bothering you any more?" ("base", xpos="far_left", ypos="head") - lun "A little bit better, [lun_genie_name]." ("soft", "narrow", "low", "down") - lun "Once I had gotten back to my dorm I got to thinking about our last session and some of them seemed to return though." ("upset", "narrow", "base", "downL") + call ll_pf_inspect + + gen "How are you feeling, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + gen "Have those spratters been bothering you any further?" ("base", xpos="far_left", ypos="head") + lun "I'm feeling a little bit better, [name_genie_luna]." ("soft", "narrow", "low", "down") + lun "Although I began feeling them move around again once I was on the way to my dorm, just thinking about our last session." ("upset", "narrow", "base", "downL") gen "Well, that's to be expected." ("base", xpos="far_left", ypos="head") - gen "Until we've found a fool proof way to deal with them I'm afraid this will have make do as a regular treatment." ("base", xpos="far_left", ypos="head") + gen "Until we've found a foolproof way to deal with them, I'm afraid this will have make do as a regular treatment." ("base", xpos="far_left", ypos="head") lun "Alright..." ("soft", "narrow", "base", "downL") lun "I suppose that's not too bad." ("base", "narrow", "base", "down") gen "Good to hear..." ("base", xpos="far_left", ypos="head") - gen "Now then, ready for your treatment, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name]..." ("grin", "base", "base", "mid") - gen "Great, then come here and we'll get started." ("base", xpos="far_left", ypos="head") + gen "Now then, ready for your treatment, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "Yes [name_genie_luna]..." ("grin", "base", "base", "mid") + gen "Great, then come here, and we'll get started." ("base", xpos="far_left", ypos="head") #Luna walks towards desk and it fades to black call lun_walk("desk") show screen blkfade with d5 - $ luna.strip("all") + $ luna.strip("clothes") #Fades back to Luna in your lap call lun_chibi_scene("inspect_idle_naked") @@ -1000,105 +1009,105 @@ label ll_pf_inspect_T2_E4_repeat: gen "Time to get these spratters worked up..." ("base", xpos="far_left", ypos="head") call lun_chibi_scene("inspect_grope_breasts_naked") - call nar(">You grab onto Luna's breasts and begin massaging them.") + nar "You grab onto Luna's breasts and begin massaging them." lun "*Eeek*!!" ("clench", "wide", "base", "stare", xpos="mid", ypos="base", flip=True, trans=dissolve) - gen "[luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Oh...{w=0.2} Sorry, [lun_genie_name]!" ("angry", "happyCl", "base", "mid") + gen "[name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "Oh...{w=0.2} Sorry, [name_genie_luna]!" ("angry", "happyCl", "base", "mid") lun "Your hands are a bit cold." ("angry", "narrow", "base", "stare") - gen "Then let's get them warmed up shall we?" ("base", xpos="far_left", ypos="head") - call nar(">You spread your fingers apart and drag them across the sides of Luna's nipples, increasing your grip around them with each motion.") - lun "*Ah*..." ("soft", "closed", "base", "mid", cheeks="blush") - gen "How's this, [luna_name]?" ("base", xpos="far_left", ypos="head") + gen "Then let's get them warmed up, shall we?" ("base", xpos="far_left", ypos="head") + nar "You spread your fingers apart and drag them across the sides of Luna's nipples, increasing your grip around them with each motion." + lun @ cheeks blush "*Ah*..." ("soft", "closed", "base", "mid") + gen "How's this, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") gen "Feeling any build up yet?" ("base", xpos="far_left", ypos="head") - lun "*Mmm*...{w=0.4} Yes, [lun_genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Mmm*...{w=0.4} Yes, [name_genie_luna]..." ("open", "closed", "base", "mid") gen "Good..." ("base", xpos="far_left", ypos="head") - call nar(">You begin moving your hands in a circular motion, squeezing her breasts together and pulling them apart over and over...") - lun "*Mmm*..." ("soft", "closed", "base", "mid", cheeks="blush") + nar "You begin moving your hands in a circular motion, squeezing her breasts together and pulling them apart over and over..." + lun @ cheeks blush "*Mmm*..." ("soft", "closed", "base", "mid") - call nar(">Luna whose thoughts are now enveloped by the sensations of your touch pushes her crotch towards you once again as if desperate to feel you inside of her...") + nar "Luna, whose thoughts are now enveloped by the sensations of your touch, pushes her crotch towards you once again, as if desperate to feel you inside of her..." call lun_chibi_scene("inspect_lean_idle_naked") with d3 - lun "" ("base", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("base", "closed", "base", "mid") gen "*Hmm*...{w=0.4} Looks like someone's eager..." ("base", xpos="far_left", ypos="head") - gen "Very well then, [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Very well then, [name_luna_genie]." ("base", xpos="far_left", ypos="head") call lun_chibi_scene("inspect_lean_grope_vagina_naked") - lun "Ooooh..." ("grin", "narrow", "base", "up", cheeks="blush") - call nar(">Luna shivers slightly as your hand graces her pussy...") - call nar(">You notice that she's already wet as your fingers slide across her with ease...") + lun @ cheeks blush "Ooooh..." ("grin", "narrow", "base", "up") + nar "Luna shivers slightly as your hand graces her pussy..." + nar "You notice that she's already wet, as your fingers slide across her with ease..." gen "Looks like someone's been looking forward to this..." ("base", xpos="far_left", ypos="head") gen "Better not let you wait any further then." ("base", xpos="far_left", ypos="head") - lun "I--" ("base", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "I--" ("base", "narrow", "base", "up") call lun_chibi_scene("inspect_lean_idle_naked") - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris - lun "{heart}*Ngh*{heart}..." ("crooked_smile", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "{heart}*Ngh*{heart}..." ("crooked_smile", "narrow", "base", "up") gen "There we go..." ("base", xpos="far_left", ypos="head") - lun "You're...{w=0.4} They're inside me again..." ("grin", "narrow", "base", "up", cheeks="blush") - gen "Yes indeed [luna_name]..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "You're...{w=0.4} They're inside me again..." ("grin", "narrow", "base", "up") + gen "Yes indeed [name_luna_genie]..." ("base", xpos="far_left", ypos="head") gen "And two fingers already...{w=0.4} Looks like you're getting better at this..." ("base", xpos="far_left", ypos="head") - lun "Oh...{w=0.4} Thank--" ("soft", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "Oh...{w=0.4} Thank--" ("soft", "narrow", "base", "stare") - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 call lun_chibi_scene("inspect_lean_grope_vagina_naked") - call nar(">You begin pumping your fingers quickly into Luna's pussy...") - lun "*Ah*!!!" ("clench", "base", "base", "stare", cheeks="blush") - call nar(">Taken by surprise, Luna clenches her thighs, which only strengthens her grip around your fingers...") - lun "*Ah*... [lun_genie_name]!" ("angry", "narrow", "base", "R", cheeks="blush") - gen "That's it [luna_name]...{w=0.4} Keep that grip steady and this will be over before you know it..." ("base", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.3} *Ah*...{w=0.3} But [lun_genie_name]--" ("open", "happyCl", "base", "mid", cheeks="blush") - call nar(">As you keep pumping your fingers repeatedly inside of Luna you feel her grip loosen slightly...") - lun "I...{w=0.4} I..." ("upset", "happyCl", "base", "mid", cheeks="blush") - lun "{size=+5}I don't want it to be over!{/size}" ("scream", "narrow", "worried", "stare", cheeks="blush") + nar "You begin pumping your fingers quickly into Luna's pussy..." + lun @ cheeks blush "*Ah*!!!" ("clench", "base", "base", "stare") + nar "Taken by surprise, Luna clenches her thighs, which only strengthens her grip around your fingers..." + lun @ cheeks blush "*Ah*... [name_genie_luna]!" ("angry", "narrow", "base", "R") + gen "That's it [name_luna_genie]...{w=0.4} Keep that grip steady, and this will be over before you know it..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} But [name_genie_luna]--" ("open", "happyCl", "base", "mid") + nar "As you keep pumping your fingers repeatedly inside of Luna, you feel her grip loosen slightly..." + lun @ cheeks blush "I...{w=0.4} I..." ("upset", "happyCl", "base", "mid") + lun @ cheeks blush "{size=+5}I don't want it to be over!{/size}" ("scream", "narrow", "worried", "stare") gen "Too bad!" ("base", xpos="far_left", ypos="head") - call nar(">Not showing any mercy on the girl, you keep pumping faster and faster in and out of her pussy.") + nar "Not showing any mercy on the girl, you keep pumping faster and faster in and out of her pussy." - play bg_sounds "sounds/slickloopfast.ogg" + play background "sounds/slickloopfast.ogg" - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} No..." ("clench", "narrow", "base", "stare", cheeks="blush") - lun "Not yet!" ("mad", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} No..." ("clench", "narrow", "base", "stare") + lun @ cheeks blush "Not yet!" ("mad", "happyCl", "base", "mid") - play bg_sounds "sounds/slickloopveryfast.ogg" + play background "sounds/slickloopveryfast.ogg" - call nar(">Luna trying to keep that sensation going, tries to get a hold of herself as not to let herself cum.") + nar "Luna, trying to keep that sensation going, tries to get a hold of herself as not to let herself cum." - lun "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("open", "happyCl", "base", "mid") - call nar(">Taking it as a challenge you insert your middle finger all the way in which proves to be enough for the girl.") + nar "Taking it as a challenge, you insert your fingers all the way in, which proves to be enough for the girl." call lun_chibi_scene("inspect_lean_idle_naked") - lun "*Ah*...{w=0.2} No...{w=0.3} I'm cumming!!" ("clench", "happyCl", "worried", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.2} No...{w=0.3} I'm cumming!!" ("clench", "happyCl", "worried", "mid") with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" - lun "*AAAAAH*!!!" ("clench", "narrow", "base", "up", cheeks="blush") - call nar(">Luna's thighs clenches around you as waves of pleasure hits her.") + lun @ cheeks blush "*AAAAAH*!!!" ("clench", "narrow", "base", "up") + nar "Luna's thighs clench around you, as waves of pleasure washes over her." - lun "*Ah*...{w=0.2} I'm...{w=0.2} I'm--" ("mad", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.2} I'm...{w=0.2} I'm--" ("mad", "narrow", "base", "stare") with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") - stop bg_sounds fadeout 2 + play sound "sounds/slick_01.ogg" + stop background fadeout 2 - lun "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") - lun "*Mmm*..." ("base", "happyCl", "low", "up", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("grin", "narrow", "base", "up") + lun @ cheeks blush "*Mmm*..." ("base", "happyCl", "low", "up") show screen blkfade with d5 $ luna.wear("all") - call nar(">Luna completely exhausted, slumps onto your desk once again.") - call nar(">You pull your chair back to give her some space.") + nar "Luna, completely exhausted, slumps onto your desk once again." + nar "You pull your chair back to give her some space." - lun "*Mmm*..." ("base", "narrow", "base", "down", cheeks="blush", xpos="base", ypos="base", flip=False, trans=dissolve) + lun @ cheeks blush "*Mmm*..." ("base", "narrow", "base", "down", xpos="base", ypos="base", flip=False, trans=dissolve) centered "{size=+7}{color=#cbcbcb}Some time later...{/color}{/size}" @@ -1108,36 +1117,37 @@ label ll_pf_inspect_T2_E4_repeat: hide screen blkfade with d5 - gen "Well done, [luna_name]!" ("base", xpos="far_left", ypos="head") - gen "Looks like you managed to get even more out than last time!" ("base", xpos="far_left", ypos="head") - lun "*Mmm*...{w=0.4} Thank you, [lun_genie_name]." ("base", "closed", "base", "mid", cheeks="blush") + gen "Well done, [name_luna_genie]!" ("base", xpos="far_left", ypos="head") + gen "Looks like you managed to spurt even more than last time!" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Mmm*...{w=0.4} Thank you, [name_genie_luna]." ("base", "closed", "base", "mid") gen "Holding them in for as long as possible was very clever!" ("base", xpos="far_left", ypos="head") - lun "Oh-- I...{w=0.3} Yes, thank you!" ("soft", "narrow", "base", "downR", cheeks="blush") - gen "Are you okay, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Oh, yes [lun_genie_name]...{w=0.4} I'm...{w=0.3} I feel great!" ("crooked_smile", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Oh-- I...{w=0.3} Yes, thank you!" ("soft", "narrow", "base", "downR") + gen "Are you okay, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh, yes [name_genie_luna]...{w=0.4} I'm...{w=0.3} I feel great!" ("crooked_smile", "narrow", "base", "mid") gen "You look exhausted, you better get some rest..." ("base", xpos="far_left", ypos="head") if game.daytime: - lun "*Ehm*...{w=0.4} I've still got classes..." ("soft", "narrow", "base", "R", cheeks="blush") + lun @ cheeks blush "*Ehm*...{w=0.4} I've still got classes..." ("soft", "narrow", "base", "R") gen "Right..." ("base", xpos="far_left", ypos="head") gen "Maybe I should go a bit easier on you during the--" ("base", xpos="far_left", ypos="head") - lun "No, it's fine!" ("mad", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "No, it's fine!" ("mad", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - lun "I mean... I'll be okay [lun_genie_name]..." ("soft", "narrow", "base", "mid", cheeks="blush") - lun "Off I go then..." ("open", "narrow", "base", "R", cheeks="blush") + lun @ cheeks blush "I mean... I'll be okay [name_genie_luna]..." ("soft", "narrow", "base", "mid") + lun @ cheeks blush "Off I go then..." ("open", "narrow", "base", "R") else: gen "Off you go." ("base", xpos="far_left", ypos="head") - lun "Alright." ("soft", "narrow", "base", "R", cheeks="blush") - lun "Good night, [lun_genie_name]." ("base", "narrow", "base", "mid", cheeks="blush") - gen "Good night [luna_name]." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Alright." ("soft", "narrow", "base", "R") + lun @ cheeks blush "Good night, [name_genie_luna]." ("base", "narrow", "base", "mid") + gen "Good night [name_luna_genie]." ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") - - jump ll_pf_inspect.end + jump ll_pf_inspect_end label ll_pf_inspect_T3_E1_repeat: + call ll_pf_inspect + gen "Would you like me to help you with--" ("base", xpos="far_left", ypos="head") lun "Yes please!" ("grin", "base", "base", "stare") @@ -1146,7 +1156,7 @@ label ll_pf_inspect_T3_E1_repeat: show screen blkfade with d5 - $ luna.strip("all") + $ luna.strip("clothes") #Fades back to Luna in your lap call lun_chibi_scene("inspect_idle_naked") @@ -1154,176 +1164,176 @@ label ll_pf_inspect_T3_E1_repeat: with d5 gen "You didn't even let me finish my sentence..." ("base", xpos="far_left", ypos="head") - lun "Oh...{w=0.4} Was this not what you meant, [lun_genie_name]?" ("angry", "base", "base", "R", xpos="mid", ypos="base", flip=True, trans=dissolve) + lun "Oh...{w=0.4} Was this not what you meant, [name_genie_luna]?" ("angry", "base", "base", "R", xpos="mid", ypos="base", flip=True, trans=dissolve) gen "That's not the...{w} Well I suppose..." ("base", xpos="far_left", ypos="head") - lun "I hope I'm not too much of a bother, [lun_genie_name]..." ("soft", "narrow", "worried", "downL") + lun "I hope I'm not too much of a bother, [name_genie_luna]..." ("soft", "narrow", "worried", "downL") lun "I know your time is valuable." ("open", "narrow", "base", "downL") - gen "Assisting my students is part of my job [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Assisting my students is part of my job, [name_luna_genie]." ("base", xpos="far_left", ypos="head") if game.daytime: - gen "Even if that meant treating you for an entire day then so be it..." ("base", xpos="far_left", ypos="head") + gen "Even if that meant treating you for an entire day, then so be it..." ("base", xpos="far_left", ypos="head") else: - gen "Even if that meant treating you all night then so be it..." ("base", xpos="far_left", ypos="head") + gen "Even if that meant treating you all night, then so be it..." ("base", xpos="far_left", ypos="head") lun "Really? You'd do that?" ("clench", "base", "base", "mid") gen "If that's what is required of me..." ("base", xpos="far_left", ypos="head") lun "*Hmm*..." ("annoyed", "narrow", "base", "downL") - gen "(She's really considering it?)" ("base", xpos="far_left", ypos="head") + gen "(Is she really considering it?)" ("base", xpos="far_left", ypos="head") lun "I wouldn't want you to feel obligated just because it's part of your job..." ("open", "narrow", "base", "mid") lun "I think I will still be fine with the amount of time we're spending on the treatment for now." ("base", "narrow", "base", "down") gen "Good to hear." ("base", xpos="far_left", ypos="head") gen "(I've got enough wankers cramp as it is...)" ("base", xpos="far_left", ypos="head") gen "So, are you ready to begin your treatment?" ("base", xpos="far_left", ypos="head") - lun "Yes... Please go ahead [lun_genie_name]..." ("base", "base", "base", "mid") + lun "Yes... Please go ahead [name_genie_luna]..." ("base", "base", "base", "mid") - gen "Then just relax and let me take care of it." ("base", xpos="far_left", ypos="head") + gen "Then just relax, and let me take care of it." ("base", xpos="far_left", ypos="head") call lun_chibi_scene("inspect_grope_breasts_naked") - call nar(">Grabbing on to Luna's breasts, you begin massaging them gently.") + nar "Grabbing onto Luna's breasts, you begin massaging them gently." lun "*Ah*..." ("open", "closed", "base", "mid") - call nar(">Luna immediately shudders and lets out a soft moan as a response to your touch.") + nar "Luna immediately shudders, and lets out a soft moan as a response to your touch." gen "(All day... Such a silly girl, I doubt she'd last an hour...)" ("base", xpos="far_left", ypos="head") - call nar(">You let go of Luna's breasts and give her nipples a quick pinch.") + nar "You let go of Luna's breasts and give her nipples a quick pinch." lun "Ouch!" ("mad", "wide", "base", "up") gen "Whops." ("base", xpos="far_left", ypos="head") menu: "-Pinch her again-": - call nar(">You quickly pinch Luna's nipples again and she jumps slightly by surprise.") - lun "Ow, Ow, Ow!!" ("clench", "happyCl", "base", "mid", cheeks="blush") - lun "[lun_genie_name]!" ("mad", "narrow", "worried", "R", cheeks="blush") + nar "You quickly pinch Luna's nipples again, and she jumps slightly by surprise." + lun @ cheeks blush "Ow, Ow, Ow!!" ("clench", "happyCl", "base", "mid") + lun @ cheeks blush "[name_genie_luna]!" ("mad", "narrow", "worried", "R") gen "Just give it a moment... It will feel better soon..." ("base", xpos="far_left", ypos="head") - lun "Are you--" ("angry", "closed", "base", "down", cheeks="blush") + lun @ cheeks blush "Are you--" ("angry", "closed", "base", "down") - call nar(">You pinch her again, even harder this time and Luna suddenly jerks her body forward.") + nar "You pinch her again, even harder this time, and Luna suddenly jerks her body forward." call lun_chibi_scene("inspect_lean_idle_naked") - lun "Stop it [lun_genie_name]...{w=0.4} I can't..." ("mad", "happyCl", "worried", "mid", cheeks="blush") - call nar(">As you let go of her tits Luna's words trail off slightly...") - gen "Can't what, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "That's odd..." ("mad", "narrow", "base", "down", cheeks="blush") - lun "It feels kind of nice after you let go of them." ("soft", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Stop it [name_genie_luna]...{w=0.4} I can't..." ("mad", "happyCl", "worried", "mid") + nar "As you let go of her tits, Luna's words trail off slightly..." + gen "Can't what, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "That's odd..." ("mad", "narrow", "base", "down") + lun @ cheeks blush "It feels kind of nice, after you let go of them." ("soft", "narrow", "base", "down") gen "More sensitive?" ("base", xpos="far_left", ypos="head") - lun "Yes..." ("soft", "narrow", "base", "mid", cheeks="blush") - lun "Do it again [lun_genie_name]!" ("angry", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Yes..." ("soft", "narrow", "base", "mid") + lun @ cheeks blush "Do it again [name_genie_luna]!" ("angry", "base", "base", "mid") gen "Again?" ("base", xpos="far_left", ypos="head") - lun "Yes, again!" ("angry", "base", "base", "R", cheeks="blush") + lun @ cheeks blush "Yes, again!" ("angry", "base", "base", "R") gen "If you say so..." ("base", xpos="far_left", ypos="head") call lun_chibi_scene("inspect_lean_grope_breasts_naked") - call nar(">You pinch Luna's nipples again and being ready for it this time you only hear a short intake of breath.") - lun "" ("soft", "base", "base", "up", cheeks="blush") - call nar(">Releasing your grip of her nipples you begin brushing your fingertips along the sides of her breasts, sliding your fingers along the sides of her nipples as you do so.") - lun "*Ah*...{w=0.4} How...{w=0.4} How strange..." ("open", "closed", "base", "mid", cheeks="blush") - call nar(">Luna now enjoying the heightened sensitivity of her nipples begins to relax, her breathing slowing down more and more.") - lun "..." ("base", "closed", "base", "mid", cheeks="blush") + nar "You pinch Luna's nipples again, and being fully ready for it this time, you only hear a short intake of breath." + lun @ cheeks blush "" ("soft", "base", "base", "up") + nar "Releasing your grip on her nipples, you begin brushing your fingertips along the sides of her breasts, up and around her nipples." + lun @ cheeks blush "*Ah*...{w=0.4} How...{w=0.4} How strange..." ("open", "closed", "base", "mid") + nar "Luna, now enjoying the heightened sensitivity of her nipples, begins to relax, her breathing slowing down more and more." + lun @ cheeks blush "..." ("base", "closed", "base", "mid") gen "(Am I just giving her a massage now?)" ("base", xpos="far_left", ypos="head") "-Don't-": - lun "Please be careful [lun_genie_name]..." ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Please be careful [name_genie_luna]..." ("angry", "narrow", "base", "mid") - call nar(">Trying not to give into the temptation you resume massaging Luna's breasts.") - call nar(">Luna's breathing slows down as she begins feeling more relaxed.") + nar "Trying not to give into the temptation, you resume massaging Luna's breasts." + nar "Her breathing soon begins slowing down, and you feel her previously tense grip around your legs starting to relax." - lun "..." ("base", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "..." ("base", "closed", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "(Am I just giving her a massage now?)" ("base", xpos="far_left", ypos="head") - lun "*Ah*....." ("base", "closed", "base", "mid", cheeks="blush") - call nar(">As you continue massaging her, she bends forward to lean on your desk.") + lun @ cheeks blush "*Ah*....." ("base", "closed", "base", "mid") + nar "You suddenly feel her beginning to go limp in your hands, and realise that your grip is the only thing preventing her from slumping forward." call lun_chibi_scene("inspect_lean_grope_breasts_naked") with d3 gen "*Err*... Are you--" ("base", xpos="far_left", ypos="head") - lun "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") - gen "[luna_name]?" ("base", xpos="far_left", ypos="head") - lun "..." ("base", "closed", "base", "mid", cheeks="blush") - gen "[luna_name]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Mmm*..." ("base", "closed", "base", "mid") + gen "[name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "..." ("base", "closed", "base", "mid") + gen "[name_luna_genie]?" ("base", xpos="far_left", ypos="head") call lun_chibi_scene("inspect_lean_idle_naked") - call nar(">You let go of Luna's breasts and she opens her eyes in confusion.") + nar "You let go of Luna's breasts, and she goes stiff, opening her eyes in confusion." - lun "*Huh*?" ("soft", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Huh*?" ("soft", "narrow", "base", "stare") gen "I believe our purpose here isn't for me to massage you until you fall asleep..." ("base", xpos="far_left", ypos="head") - lun "Oh... Right..." ("base", "narrow", "base", "downL", cheeks="blush") + lun @ cheeks blush "Oh... Right..." ("base", "narrow", "base", "downL") call lun_chibi_scene("inspect_lean_grope_vagina_naked") - call nar(">You stick your hand down between Luna's legs and begin rubbing your fingers along her slit.") + nar "You stick your hand down between Luna's legs, and begin rubbing your fingers along her slit." - lun "*Ah*..." ("soft", "closed", "base", "mid", cheeks="blush") - call nar(">As you brush up against her you notice how wet she is already.") + lun @ cheeks blush "*Ah*..." ("soft", "closed", "base", "mid") + nar "As you brush up against her, you notice how wet she is already." gen "*Hmm*... Looks like that massage helped after all..." ("base", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open", "closed", "low", "mid", cheeks="blush") - call nar(">Moving your forefinger up and down against Luna, you hear her breathing becoming more and more erratic and you feel your cock twitch slightly against your robes.") + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open", "closed", "low", "mid") + nar "Moving your forefinger up and down against Luna, you hear her breathing becoming more and more erratic, and you feel your cock twitch slightly against your robes." gen "(Time to bust this thing wide open...)" ("base", xpos="far_left", ypos="head") - call nar(">You stop your movements, giving Luna just a brief moment of anticipation before you push a finger inside.") + nar "You stop your movements, giving Luna just a brief moment of anticipation before you push a finger inside." call lun_chibi_scene("inspect_lean_idle_naked") - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris - lun "{heart}*Ngh*{heart}..." ("grin", "closed", "base", "stare", cheeks="blush") + lun @ cheeks blush "{heart}*Ngh*{heart}..." ("grin", "closed", "base", "stare") - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 call lun_chibi_scene("inspect_lean_grope_vagina_naked") - call nar(">You begin moving your finger inside Luna's pussy, as if playfully searching for her weak spot.") - lun "*Ah*... What are... What are you doing [lun_genie_name]..." ("grin", "narrow", "base", "up", cheeks="blush") + nar "You begin moving your finger inside Luna's pussy, as if playfully searching for her weak spot." + lun @ cheeks blush "*Ah*... What are... What are you doing [name_genie_luna]..." ("grin", "narrow", "base", "up") gen "Oh... You know... Just looking for something..." ("base", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.4} Looking...{w=0.4} *Ah*...{w=0.4} What are you--" ("grin", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} Looking...{w=0.4} *Ah*...{w=0.4} What are you--" ("grin", "narrow", "base", "up") gen "Why I'll never find it at this rate... Better get some of my friends to help." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slick_02.ogg") - play bg_sounds "sounds/slickloopfast.ogg" - call nar(">You push another finger inside her and begin moving them around.") + play sound "sounds/slick_02.ogg" + play background "sounds/slickloopfast.ogg" + nar "You push another finger inside her, and begin moving them around." - lun "*Ah*...{w=0.4} [lun_genie_name]..." ("soft", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} [name_genie_luna]..." ("soft", "narrow", "base", "up") gen "*Hmm*... Some lousy friends they are... I still can't find it..." ("base", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.3} *Ah*...{w=0.3} Are you...{w=0.3} Are you sure..." ("base", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} Are you...{w=0.3} Are you sure..." ("base", "narrow", "base", "up") - call nar(">You keep moving your fingers inside Luna, and as you do you feel her clench around them slightly.") + nar "You keep moving your fingers inside Luna, and as you do, you feel her clench around them slightly." gen "Yes...{w=0.3} Although maybe it's just hiding..." ("base", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.3} It...{w=0.3} What is--" ("soft", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} It...{w=0.3} What is--" ("soft", "narrow", "base", "up") gen "Better call in an expert..." ("base", xpos="far_left", ypos="head") - call nar(">Keeping your fingers moving inside Luna you move your thumb and press it up against her clit.") - lun "*Oooooh*!!!" ("grin", "wide", "base", "up", cheeks="blush") + nar "Keeping your fingers moving inside Luna, you move your thumb and press it up against her clit." + lun @ cheeks blush "*Oooooh*!!!" ("grin", "wide", "base", "up") gen "There it is!" ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopveryfast.ogg" - call nar(">You start rubbing your thumb against Luna's clit as your fingers move rapidly inside her.") - lun "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "base", "base", "up", cheeks="blush") - call nar(">Luna's moans reverberates around your office and you notice her legs beginning to shake slightly.") - call nar(">Luna's moan suddenly stops and she clenches her thighs tight around your hand.") + play background "sounds/slickloopveryfast.ogg" + nar "You start rubbing your thumb against Luna's clit as your fingers move rapidly inside her." + lun @ cheeks blush "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "base", "base", "up") + nar "Luna's moans reverberates around your office, and you notice her legs beginning to shake slightly." + nar "Luna's moans suddenly stops, and she clenches her thighs tight around your hand." call lun_chibi_scene("inspect_lean_idle_naked") - lun "*Ah*...{w=0.2} I'm...{w=0.3} I'm cumming!!" ("grin", "happyCl", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.2} I'm...{w=0.3} I'm cumming!!" ("grin", "happyCl", "base", "stare") with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" - lun "*AAAAAH*!!!" ("grin", "narrow", "base", "up", cheeks="blush") - call nar(">Your hand locked firmly between her thighs you still manage to keep your fingers going whilst pushing your thumb down on her.") + lun @ cheeks blush "*AAAAAH*!!!" ("grin", "narrow", "base", "up") + nar "Even with your hand locked firmly between her thighs, you still manage to keep your fingers going." - lun "*Ah*...{w=0.2} I'm...{w=0.2} I'm--" ("grin", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.2} I'm...{w=0.2} I'm--" ("grin", "narrow", "base", "stare") with kissiris - $ renpy.sound.play("sounds/slick_01.ogg") - stop bg_sounds fadeout 2 + play sound "sounds/slick_01.ogg" + stop background fadeout 2 - lun "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") - lun "*Mmm*..." ("base", "closed", "low", "up", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("grin", "narrow", "base", "up") + lun @ cheeks blush "*Mmm*..." ("base", "closed", "low", "up") show screen blkfade with d5 $ luna.wear("all") - call nar(">Luna's legs buckle completely as she puts her full weight onto your desk.") - call nar(">You watch her body move up and down for a while, her legs twitching slightly every now and then as liquid runs down her legs.") - call nar(">After some time she manages to push herself up and get off your desk.") + nar "Luna's legs buckle completely as she puts her full weight onto your desk." + nar "You watch her body move up and down for a while, her legs twitching slightly every now and then as liquid runs down her legs." + nar "After some time, she manages to push herself up and get off your desk." hide luna_main @@ -1333,20 +1343,20 @@ label ll_pf_inspect_T3_E1_repeat: hide screen blkfade with d5 - gen "How was that, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "How did you do that [lun_genie_name]?" ("mad", "base", "base", "mid", xpos="base", ypos="base", flip=False, trans=dissolve) + gen "How was that, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "How did you do that, [name_genie_luna]?" ("mad", "base", "base", "mid", xpos="base", ypos="base", flip=False, trans=dissolve) gen "Do what?" ("base", xpos="far_left", ypos="head") lun "The thing you did with your thumb." ("angry", "base", "base", "mid") gen "Oh that...{w=0.4} Well I just called in an expert didn't I?" ("base", xpos="far_left", ypos="head") gen "Nice bloke to have at hand isn't he?" ("base", xpos="far_left", ypos="head") lun "Very..." ("base", "narrow", "base", "stare") gen "So, feeling better now?" ("base", xpos="far_left", ypos="head") - lun "Yes, [lun_genie_name]...{w=0.4} Thank you..." ("base", "base", "base", "mid") + lun "Yes, [name_genie_luna]...{w=0.4} Thank you..." ("base", "base", "base", "mid") if game.daytime: - gen "Then you better make your way to class, [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Then you better make your way to class, [name_luna_genie]." ("base", xpos="far_left", ypos="head") else: - gen "Then you best be off to bed, [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Then you best be off to bed, [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "Okay..." ("soft", "base", "base", "R") lun "Let me know if you want to..." ("open", "narrow", "base", "mid") @@ -1355,5 +1365,4 @@ label ll_pf_inspect_T3_E1_repeat: call lun_walk(action="leave") - - jump ll_pf_inspect.end + jump ll_pf_inspect_end diff --git a/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy b/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy index 42e5f03c..7b820ef6 100644 --- a/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy +++ b/game/scripts/characters/luna/events/favors/masturbate_for_me.rpy @@ -4,13 +4,15 @@ label ll_pf_masturbate: - gen "{size=-4}(*Hmm*... I wonder if I should ask Luna to masturbate in front of me...){/size}" ("base", xpos="far_left", ypos="head") - if ll_pf_masturbate.counter < 1: + if not _events_completed_any: + gen "{size=-4}(*Hmm*... I wonder if I should ask Luna to masturbate in front of me...){/size}" ("base", xpos="far_left", ypos="head") menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": + $ _event.cancel() jump luna_favor_menu # Start Event @@ -26,10 +28,9 @@ label ll_pf_masturbate: hide screen blkfade with d5 - $ ll_pf_masturbate.start() + return - # End Event - label .end: +label ll_pf_masturbate_end: # Setup stop music fadeout 2.0 @@ -40,13 +41,13 @@ label ll_pf_masturbate: # Reset Luna clothing. $ luna.equip(lun_outfit_last) - if lun_tier == 3: - if lun_whoring < 9: - $ lun_whoring += 1 + if states.lun.tier == 3: + if states.lun.level < 9: + $ states.lun.level += 1 - elif lun_tier == 4: - if lun_whoring < 16: - $ lun_whoring += 1 + elif states.lun.tier == 4: + if states.lun.level < 16: + $ states.lun.level += 1 jump end_luna_event @@ -56,21 +57,23 @@ label ll_pf_masturbate: label ll_pf_masturbate_T3_E1_intro: - gen "So, have the wickerspats finally left you alone [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Not at all, [lun_genie_name]... In fact... They've been worse than ever." ("angry", "narrow", "base", "downL", trans=dissolve) + call ll_pf_masturbate + + gen "So, have the wickerspats finally left you alone [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "Not at all, [name_genie_luna]... In fact... They've been worse than ever." ("angry", "narrow", "base", "downL", trans=dissolve) gen "Really?" ("base", xpos="far_left", ypos="head") - call nar(">Luna shifts her thighs together uncomfortably.") + nar "Luna shifts her thighs together uncomfortably." lun "Yes..." ("annoyed", "narrow", "base", "mid") #seductive gen "That's unfortunate..." ("base", xpos="far_left", ypos="head") - gen "Well in that case I think it's time I teach you how to masturbate." ("base", xpos="far_left", ypos="head") - lun "*Oooh*... I'm finally going to become a master baiter myself, [lun_genie_name]?" ("grin", "base", "raised", "mid") + gen "Well, in that case, I think it's time I teach you how to masturbate." ("base", xpos="far_left", ypos="head") + lun "*Oooh*... I'm finally going to become a master baiter myself, [name_genie_luna]?" ("grin", "base", "raised", "mid") gen "That's right..." ("base", xpos="far_left", ypos="head") lun "Marvellous!" ("smile", "base", "base", "mid") lun "" ("crooked_smile", "narrow", "base", "mid") - call nar(">Luna jumps happily on the spot, looking at you expectantly.") - gen "Let's get going then shall we..." ("base", xpos="far_left", ypos="head") + nar "Luna jumps happily on the spot, looking at you expectantly." + gen "Let's get going then, shall we..." ("base", xpos="far_left", ypos="head") lun "Thank you so much!" ("crooked_smile", "happyCl", "base", "mid") - gen "No need to thank me, [luna_name], I'm simply doing what is necessary." ("base", xpos="far_left", ypos="head") + gen "No need to thank me, [name_luna_genie], I'm simply doing what is necessary." ("base", xpos="far_left", ypos="head") gen "Now, come stand in front of my desk." ("base", xpos="far_left", ypos="head") hide luna_main @@ -79,176 +82,175 @@ label ll_pf_masturbate_T3_E1_intro: call lun_walk("desk", "base") $ luna.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG luna") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.95, pos=(-975, -155), initialize=True) - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 + show CG luna as cg zorder 17: + zoom 0.95 + pos (-975, -155) hide screen blkfade - show screen animatedCG with fade - $ camera.set(zoom=0.5, pos=(-270, -150), t=5.0) + show CG luna as cg zorder 17: + zoom 0.95 + pos (-975, -155) + easein_quad 5.0 zoom 0.5 pos (0, 0) + lun "Is here okay?" ("soft", "narrow", "base", "mid") gen "Perfect." - gen "I'll have to explain a few things before we get going so pay attention..." - lun "Yes, [lun_genie_name]..." ("base", "base", "base", "mid") - call nar(">Luna stares at you intently.") + gen "I'll have to explain a few things before we get going, so pay attention..." + lun "Yes, [name_genie_luna]..." ("base", "base", "base", "mid") + nar "Luna stares at you intently." gen "Good... Now--" - gen "Remember what we talked about... Locate the affected area then focus positive thoughts onto it.." + gen "Remember what we talked about... Locate the affected area, then focus positive thoughts onto it..." lun "Right." ("open", "narrow", "base", "down") gen "Have you found it?" lun "Yes..." ("base", "narrow", "base", "down") gen "Good..." gen "Now then..." gen "Let's try some self-applied massage to start with." - lun "A--{w=0.2} Alright." ("soft", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "A--{w=0.2} Alright." ("soft", "narrow", "base", "down") gen "Don't worry, I'll be here to give you some guidance." - lun "Thank you, [lun_genie_name]." ("base", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Thank you, [name_genie_luna]." ("base", "narrow", "base", "down") show screen blkfade with d3 - $ luna.set_pose("masturbate") + $ luna.set_pose("hand_on_pussy_and_breast") - call nar(">Luna puts one of her hands on her nipple and the other one below her skirt, a slight moan escapes her as her fingers reaches the surface of her skin.") + nar "Luna puts one of her hands on her nipple and the other one below her skirt, a slight moan escapes her as her fingers reaches the surface of her skin." hide screen blkfade with d3 - lun "*Ah*..." ("open", "narrow", "base", "up", cheeks="blush") - gen "Is everything alright, [luna_name]?" - lun "*Ah*...{w=0.3} of course, [lun_genie_name]!" ("soft", "narrow", "base", "stare", cheeks="blush") - lun "My fingers are just a bit cold..." ("normal", "narrow", "base", "mid", cheeks="blush") - gen "That's fine... Just try rubbing yourself and your fingers will warm up in just a moment." - lun "*Ah*...{w=0.3} Yes [lun_genie_name]..." ("angry", "narrow", "low", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("open", "narrow", "base", "up") + gen "Is everything alright, [name_luna_genie]?" + lun @ cheeks blush "*Ah*...{w=0.3} of course, [name_genie_luna]!" ("soft", "narrow", "base", "stare") + lun @ cheeks blush "My fingers are just a bit cold..." ("normal", "narrow", "base", "mid") + gen "That's fine... Just try rubbing yourself, and your fingers will warm up in just a moment." + lun @ cheeks blush "*Ah*...{w=0.3} Yes [name_genie_luna]..." ("angry", "narrow", "low", "stare") gen "..." - lun "*Ah*...{w=0.3} is this how it should be done?" ("soft", "base", "base", "mid", cheeks="blush") - gen "As long as it's feeling good then I'm sure it's working. Just keep going and you'll soon be rid of those nasty Wickerspoons." - lun "I'm glad..." ("base", "narrow", "base", "down", cheeks="blush") - lun "Although it feels a bit different compared to when you helped me..." ("annoyed", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} is this how it should be done?" ("soft", "base", "base", "mid") + gen "As long as it's feeling good, then I'm sure it's working. Just keep going, and you'll soon be rid of those nasty Wickerspoons." + lun @ cheeks blush "I'm glad..." ("base", "narrow", "base", "down") + lun @ cheeks blush "Although it feels a bit different compared to when you helped me..." ("annoyed", "narrow", "base", "down") gen "That's to be expected... Another person's touch will always feel different to your own." - lun "Okay..." ("upset", "base", "base", "down", cheeks="blush") + lun @ cheeks blush "Okay..." ("upset", "base", "base", "down") - call nar(">Luna moves her hand around beneath her skirt before stopping again.") - lun "It's just..." ("upset", "narrow", "base", "mid", cheeks="blush") - lun "As nice as this massage feels..." ("soft", "narrow", "base", "mid", cheeks="blush") - lun "It's not really scratching that same itch, [lun_genie_name]..." ("annoyed", "narrow", "base", "mid", cheeks="blush") + nar "Luna moves her hand around beneath her skirt before stopping again." + lun @ cheeks blush "It's just..." ("upset", "narrow", "base", "mid") + lun @ cheeks blush "As nice as this massage feels..." ("soft", "narrow", "base", "mid") + lun @ cheeks blush "It's not really scratching that same itch, [name_genie_luna]..." ("annoyed", "narrow", "base", "mid") gen "I guess I do have that slight magic touch..." gen "*Hmm*..." - lun "Am I doing it wrong, [lun_genie_name]?" ("upset", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Am I doing it wrong, [name_genie_luna]?" ("upset", "narrow", "base", "down") gen "Certainly not, but this might be trickier than I initially thought..." - lun "Really?" ("soft", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Really?" ("soft", "base", "base", "mid") gen "It would seem that those nasty critters are trying to hide!" - lun "Hide? But I thought touching myself would lure them--" ("mad", "narrow", "base", "down", cheeks="blush") - gen "Don't worry [luna_name]... As long as you're still feeling that itch then they can't have gone far." + lun @ cheeks blush "Hide? But I thought touching myself would lure them--" ("mad", "narrow", "base", "down") + gen "Don't worry [name_luna_genie]... As long as you're still feeling that itch, then they can't have gone far." gen "Although this means you'll have to chase them down." - lun "Chase them down?" ("angry", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Chase them down?" ("angry", "narrow", "base", "down") gen "I'll be here to guide you through it of course..." - lun "Okay..." ("soft", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Okay..." ("soft", "base", "base", "mid") gen "Ready?" - lun "Yes." ("angry", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Yes." ("angry", "base", "base", "mid") gen "Close your eyes..." - lun "" ("normal", "closed", "base", "mid", cheeks="blush") #eyes closed + lun @ cheeks blush "" ("normal", "closed", "base", "mid") #eyes closed call ctc gen "Very good...{w} Now I want you to block out everything else." - lun "Alright, [lun_genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "Alright, [name_genie_luna]..." ("open", "closed", "base", "mid") gen "Imagine standing alone in your bedroom..." - lun "" ("normal", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("normal", "closed", "base", "mid") call ctc gen "Empty your mind of all intrusive thoughts..." - lun "" ("normal", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "" ("normal", "closed", "annoyed", "mid") call ctc gen "Now... Focus on where the itch is coming from..." - lun "" ("upset", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "" ("upset", "closed", "annoyed", "mid") call ctc gen "Then once you've found it, I want you to chase down that feeling with your fingers." - lun "" ("annoyed", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "" ("annoyed", "closed", "annoyed", "mid") call ctc gen "And catch it!" - lun "I-- I can't... I can't find it..." ("angry", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "I-- I can't... I can't find it..." ("angry", "closed", "base", "mid") - lun "It's like trying to grab rays of sunlight..." ("angry", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "It's like trying to grab rays of sunlight..." ("angry", "closed", "base", "mid") gen "Don't try to grab a hold of it, just brush against it with the tips of your fingers." - lun "" ("soft", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "" ("soft", "closed", "annoyed", "mid") call ctc - lun "" ("normal", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "" ("normal", "closed", "annoyed", "mid") call ctc - call nar(">Luna desperately moves her hand around beneath her skirt.") - lun "I... I think I've lost them again, [lun_genie_name]..." ("angry", "closed", "base", "mid", cheeks="blush") + nar "Luna desperately moves her hand around beneath her skirt." + lun @ cheeks blush "I... I think I've lost them again, [name_genie_luna]..." ("angry", "closed", "base", "mid") gen "Try moving your hand up a bit more..." - lun "Up a bit--" ("angry", "closed", "low", "mid", cheeks="blush") + lun @ cheeks blush "Up a bit--" ("angry", "closed", "low", "mid") - lun "*Ah*..." ("grin", "closed", "worried", "mid", cheeks="blush") - lun "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") - call nar(">Luna gives off a soft moan under her breath.") + lun @ cheeks blush "*Ah*..." ("grin", "closed", "worried", "mid") + lun @ cheeks blush "*Mmm*..." ("base", "closed", "base", "mid") + nar "Luna gives off a soft moan under her breath." gen "(There we go...)" - lun "This... This area is even more itchy, [lun_genie_name]..." ("base", "closed", "low", "mid", cheeks="blush") + lun @ cheeks blush "This... This area is even more itchy, [name_genie_luna]..." ("base", "closed", "low", "mid") gen "Excellent... That means you've managed to chase them down." gen "Just keep your eyes closed and begin gently moving your fingers in a circular motion over the area." - lun "Oooh! {heart}" ("grin", "closed", "base", "mid", cheeks="blush") - lun "*Ah*...{w=0.3} Yes...{w=0.3} I think it's working, [lun_genie_name]!" ("grin", "closed", "annoyed", "mid", cheeks="blush") + lun @ cheeks blush "Oooh! {heart}" ("grin", "closed", "base", "mid") + lun @ cheeks blush "*Ah*...{w=0.3} Yes...{w=0.3} I think it's working, [name_genie_luna]!" ("grin", "closed", "annoyed", "mid") gen "*Shhh*...{w=0.3} Don't speak...{w=0.3} Just focus." - lun "" ("grin", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("grin", "closed", "base", "mid") gen "Empty your mind and only think about what makes you feel good..." - lun "Okay..." ("base", "closed", "base", "mid", cheeks="blush") - lun "" ("soft", "closed", "low", "mid", cheeks="blush") + lun @ cheeks blush "Okay..." ("base", "closed", "base", "mid") + lun @ cheeks blush "" ("soft", "closed", "low", "mid") call ctc - lun "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - lun "[lun_genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") - lun "*Ah*...{w=0.3} [lun_genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") - lun "I think..." ("open", "closed", "base", "mid", cheeks="blush") - lun "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - lun "I think I've almost..." ("soft", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("open", "closed", "base", "mid") + lun @ cheeks blush "[name_genie_luna]..." ("soft", "closed", "base", "mid") + lun @ cheeks blush "*Ah*...{w=0.3} [name_genie_luna]..." ("soft", "closed", "base", "mid") + lun @ cheeks blush "I think..." ("open", "closed", "base", "mid") + lun @ cheeks blush "*Ah*..." ("open", "closed", "base", "mid") + lun @ cheeks blush "I think I've almost..." ("soft", "closed", "base", "mid") gen "*Shhh*..." - call nar(">You see Luna's hand move swiftly beneath her skirt.") - lun "*Mmmm*..." ("base", "closed", "base", "mid", cheeks="blush") - lun "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - lun "*A-ah*..." ("grin", "closed", "base", "mid", cheeks="blush") - lun "Yes..." ("grin", "closed", "low", "mid", cheeks="blush") - lun "*Ah*... *Ah*...{heart}" ("grin", "closed", "low", "mid", cheeks="blush") - lun "{size=+4}*Mmm*...{w=0.3} yes...{heart}{/size}" ("crooked_smile", "narrow", "base", "up", cheeks="blush") - lun "{size=+8}*ah*...{w=0.3} *Ah*...{/size}" ("crooked_smile", "narrow", "base", "up", cheeks="blush") + nar "You see Luna's hand move swiftly beneath her skirt." + lun @ cheeks blush "*Mmmm*..." ("base", "closed", "base", "mid") + lun @ cheeks blush "*Ah*..." ("open", "closed", "base", "mid") + lun @ cheeks blush "*A-ah*..." ("grin", "closed", "base", "mid") + lun @ cheeks blush "Yes..." ("grin", "closed", "low", "mid") + lun @ cheeks blush "*Ah*... *Ah*...{heart}" ("grin", "closed", "low", "mid") + lun @ cheeks blush "{size=+4}*Mmm*...{w=0.3} Yes...{heart}{/size}" ("crooked_smile", "narrow", "base", "up") + lun @ cheeks blush "{size=+8}*Ah*...{w=0.3} *Ah*...{/size}" ("crooked_smile", "narrow", "base", "up") gen "That's it--" - call nar(">Luna now desperately trying to cum, moves her hand even faster.") - lun "*Ah*! I think they're attacking me, [lun_genie_name]!" ("crooked_smile", "base", "base", "up", cheeks="blush") - lun "I... I can't stop moving my--" ("grin", "happyCl", "base", "mid", cheeks="blush") + nar "Luna now desperately trying to cum, moves her hand even faster." + lun @ cheeks blush "*Ah*! I think they're attacking me, [name_genie_luna]!" ("crooked_smile", "base", "base", "up") + lun @ cheeks blush "I... I can't stop moving my--" ("grin", "happyCl", "base", "mid") gen "Keep going, you're doing it!" - lun "*Ah*...{w=0.4} Yes [lun_genie_name]...{heart}" ("crooked_smile", "happyCl", "base", "up", cheeks="blush") - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{w=0.4}" ("soft", "happyCl", "base", "up", cheeks="blush") - lun "*Ngh*... It's... {w=0.3} I'm--" ("grin", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} Yes [name_genie_luna]...{heart}" ("crooked_smile", "happyCl", "base", "up") + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{w=0.4}" ("soft", "happyCl", "base", "up") + lun @ cheeks blush "*Ngh*... It's...{w=0.3} I'm--" ("grin", "happyCl", "base", "mid") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - lun "*Ah*!" ("grin", "narrow", "base", "ahegao", cheeks="blush") + lun @ cheeks blush "*Ah*!" ("grin", "narrow", "base", "ahegao") - lun "*Mmm*..." ("grin", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Mmm*..." ("grin", "narrow", "base", "up") gen "Well done--" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - lun "*Ah*!" ("crooked_smile", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*!" ("crooked_smile", "narrow", "base", "up") - lun "..." ("soft", "narrow", "base", "stare", cheeks="blush") - lun "{size=-5}*Sigh*...{/size}" ("base", "closed", "low", "mid", cheeks="blush") + lun @ cheeks blush "..." ("soft", "narrow", "base", "stare") + lun @ cheeks blush "{size=-5}*Sigh*...{/size}" ("base", "closed", "low", "mid") #end of masturbate section (Cuts to Normal office screen with blkfade) show screen blkfade @@ -256,7 +258,7 @@ label ll_pf_masturbate_T3_E1_intro: $ luna.set_pose(None) - hide screen animatedCG + hide cg hide screen blkfade with d5 @@ -264,51 +266,55 @@ label ll_pf_masturbate_T3_E1_intro: call weather_sound gen "Well, will you look at that... You're a natural..." ("grin", xpos="far_left", ypos="head") - gen "So, the {i}wickspots{/i} have left you alone now I take it?" ("base", xpos="far_left", ypos="head") - lun "I...{w=0.4} I believe so, [lun_genie_name]..." ("open", "narrow", "base", "down", cheeks="blush", xpos="mid", ypos="base", trans=dissolve) - lun "At least that nasty itch appears to have gone away." ("base", "narrow", "base", "down", cheeks="blush") + gen "So, the {i}wickspots{/i} have left you alone now, I take it?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I...{w=0.4} I believe so, [name_genie_luna]..." ("open", "narrow", "base", "down", xpos="mid", ypos="base", trans=dissolve) + lun @ cheeks blush "At least that nasty itch appears to have gone away." ("base", "narrow", "base", "down") gen "Excellent!" ("grin", xpos="far_left", ypos="head") gen "Then my work here is done!" ("base", xpos="far_left", ypos="head") - lun "*Oh*..." ("soft", "base", "base", "mid", cheeks="blush") - lun "You want me to leave already, [lun_genie_name]?" ("open", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Oh*..." ("soft", "base", "base", "mid") + lun @ cheeks blush "You want me to leave already, [name_genie_luna]?" ("open", "base", "base", "mid") gen "If there's nothing else I can help you with?" ("base", xpos="far_left", ypos="head") - lun "*Ehm*...{w=0.4} Well I was just wondering..." ("soft", "narrow", "base", "R", cheeks="blush") - lun "What do I do if the feeling comes back, [lun_genie_name]?" ("angry", "narrow", "base", "mid", cheeks="blush") - lun "Do I just get rid of them myself from now on?" ("soft", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ehm*...{w=0.4} Well, I was just wondering..." ("soft", "narrow", "base", "R") + lun @ cheeks blush "What do I do if the feeling comes back, [name_genie_luna]?" ("angry", "narrow", "base", "mid") + lun @ cheeks blush "Do I just get rid of them myself from now on?" ("soft", "narrow", "base", "mid") gen "Certainly not!" ("base", xpos="far_left", ypos="head") - lun "..." ("base", "base", "base", "mid", cheeks="blush") #happy + lun @ cheeks blush "..." ("base", "base", "base", "mid") #happy gen "I need to supervise every development until you've mastered the art of masturbation." ("base", xpos="far_left", ypos="head") gen "Preventing this outbreak is now my top priority." ("base", xpos="far_left", ypos="head") - lun "Really? Thank you so much, [lun_genie_name]." ("base", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "Really? Thank you so much, [name_genie_luna]." ("base", "happyCl", "base", "mid") gen "Certainly." ("base", xpos="far_left", ypos="head") gen "Bestow shall I in you, my teaching of all, young padawan!" ("base", xpos="far_left", ypos="head") - lun "Sorry?" ("soft", "base", "base", "mid", cheeks="blush") - lun "I'm not sure exactly what you mean, [lun_genie_name]." ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Sorry?" ("soft", "base", "base", "mid") + lun @ cheeks blush "I'm not sure exactly what you mean, [name_genie_luna]." ("angry", "narrow", "base", "mid") gen "Yes, Indeed... You still have more to learn before reaching your true potential..." ("base", xpos="far_left", ypos="head") - lun "*Huh*?" ("upset", "narrow", "base", "mid", cheeks="blush") - gen "Once you've learned how to control the force I shall bestow on you my saber of light." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Huh*?" ("upset", "narrow", "base", "mid") + gen "Once you've learned how to control the force, I shall bestow on you my saber of light." ("base", xpos="far_left", ypos="head") gen "And as my meta chlorines flow through your body--" ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]?" ("angry", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "[name_genie_luna]?" ("angry", "base", "base", "mid") gen "Oh yeah, that's not canon anymore is it..." ("base", xpos="far_left", ypos="head") - lun "..." ("annoyed", "base", "base", "mid", cheeks="blush") #Confused + lun @ cheeks blush "..." ("annoyed", "base", "base", "mid") #Confused gen "..." ("base", xpos="far_left", ypos="head") - gen "That shall do for today, [luna_name]..." ("base", xpos="far_left", ypos="head") - lun "Okay..." ("base", "narrow", "base", "mid", cheeks="blush") + gen "That shall do for today, [name_luna_genie]..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Okay..." ("base", "narrow", "base", "mid") gen "Off you pop." ("base", xpos="far_left", ypos="head") - lun "Right." ("open", "base", "base", "mid", cheeks="blush") - lun "Bye then..." ("base", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Right." ("open", "base", "base", "mid") + lun @ cheeks blush "Bye then..." ("base", "base", "base", "mid") call lun_walk(action="leave") - jump ll_pf_masturbate.end + $ states.lun.status.masturbating = True -##Luna takes off her skirt and later on her top. She fingers herself for the first time -##She doesn't squirt in this event but will on the third event. + jump ll_pf_masturbate_end + +##Luna takes off her skirt and later on, her top. She fingers herself for the first time +##She doesn't squirt in this event, but will, druing the third event. label ll_pf_masturbate_T3_E2_intro: - gen "[luna_name], tell me how you've been." ("base", xpos="far_left", ypos="head") - lun "I've been okay [lun_genie_name]... But it appears the wrackspurts have come back again..." ("open", "narrow", "base", "down", trans=dissolve) + call ll_pf_masturbate + + gen "[name_luna_genie], tell me how you've been." ("base", xpos="far_left", ypos="head") + lun "I've been okay [name_genie_luna]... But it appears the wrackspurts have come back again..." ("open", "narrow", "base", "down", trans=dissolve) gen "Oh no... Such a shame!" ("base", xpos="far_left", ypos="head") lun "Every time I think about the things we've done in here..." ("soft", "narrow", "base", "down") lun "It just makes them feel so much... Stronger..." ("angry", "narrow", "base", "mid") @@ -322,233 +328,223 @@ label ll_pf_masturbate_T3_E2_intro: gen "Yes, and better!" ("base", xpos="far_left", ypos="head") lun "Better, but last time I--" ("angry", "narrow", "base", "stare") gen "Faster! Stronger!" ("base", xpos="far_left", ypos="head") - lun "Oh my... Are you sure I'm ready, [lun_genie_name]?" ("angry", "narrow", "base", "mid") + lun "Oh my... Are you sure I'm ready, [name_genie_luna]?" ("angry", "narrow", "base", "mid") gen "Of course... Why, you've already experienced it before..." ("base", xpos="far_left", ypos="head") lun "You don't mean..." ("angry", "wide", "base", "mid") #horny - call nar(">Luna starts grinding her thighs together.") - lun "But what if I don't do it right, [lun_genie_name]?" ("upset", "closed", "base", "down", cheeks="blush") - lun "I wouldn't want to hurt myself..." ("angry", "narrow", "base", "down", cheeks="blush") + nar "Luna starts grinding her thighs together." + lun @ cheeks blush "But what if I don't do it right, [name_genie_luna]?" ("upset", "closed", "base", "down") + lun @ cheeks blush "I wouldn't want to hurt myself..." ("angry", "narrow", "base", "down") gen "*Hmm*... In that case, why don't you take your bottoms off this time?" ("base", xpos="far_left", ypos="head") - gen "That way I can see a lot easier and make sure you don't hurt yourself." ("base", xpos="far_left", ypos="head") + gen "That way I can see what you're doing a lot easier, and make sure you don't hurt yourself." ("base", xpos="far_left", ypos="head") - lun "" ("soft", "base", "base", "mid", cheeks="blush") - call nar(">Luna gives you a look of excitement from your proposition...") + lun @ cheeks blush "" ("soft", "base", "base", "mid") + nar "Luna gives you a look of excitement from your proposition..." - lun "Well, I do feel inclined to take you up on that offer." ("soft", "base", "base", "down", cheeks="blush") - gen "It's not an offer, [luna_name]. If we are to make any progress then I require you to take off your bottoms so I can watch you masturbate." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Well, I do feel inclined to take you up on that offer." ("soft", "base", "base", "down") + gen "It's not an offer, [name_luna_genie]. If we are to make any progress, then I require you to take off your bottoms. so I can watch you masturbate." ("base", xpos="far_left", ypos="head") - lun "" ("base", "narrow", "base", "down", cheeks="blush") - call nar(">Luna's body twitches slightly, looking at her face you get the feeling she's pondering on something.") + lun @ cheeks blush "" ("base", "narrow", "base", "down") + nar "Luna's body twitches slightly, looking at her face, you get the feeling she's pondering on something." - lun "My body appears to think it's the right decision, [lun_genie_name]." ("open", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "My body appears to think it's the right decision, [name_genie_luna]." ("open", "base", "base", "mid") gen "Your body?" ("base", xpos="far_left", ypos="head") gen "(What is she on about now?)" ("base", xpos="far_left", ypos="head") - lun "Yes, my body appears to have reacted to your proposition..." ("base", "base", "base", "down", cheeks="blush") + lun @ cheeks blush "Yes, my body appears to have reacted to your proposition..." ("base", "base", "base", "down") gen "Your body is reacting to--" ("base", xpos="far_left", ypos="head") - gen "I mean, yes that makes perfect sense... Your body does tell you when you're hungry so why wouldn't it try and help you get rid of those spurts too." ("grin", xpos="far_left", ypos="head") + gen "I mean, yes! That makes perfect sense... Your body does tell you when you're hungry, so why wouldn't it try and help you get rid of those spurts too." ("grin", xpos="far_left", ypos="head") gen "Ten points to Ravenclaw." ("base", xpos="far_left", ypos="head") $ ravenclaw += 10 - lun "Thank you [lun_genie_name]." ("grin", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "Thank you [name_genie_luna]." ("grin", "closed", "base", "mid") gen "Very well then, let's give your body what it needs... Take your bottoms off--" ("base", xpos="far_left", ypos="head") - lun "..." ("base", "narrow", "base", "mid", cheeks="blush") #Horny - lun "Yes, [lun_genie_name]." ("base", "base", "base", "mid", cheeks="blush") - gen "And do come a bit closer so I can get a proper look..." ("base", xpos="far_left", ypos="head") - lun "Okay." ("open", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "..." ("base", "narrow", "base", "mid") #Horny + lun @ cheeks blush "Yes, [name_genie_luna]." ("base", "base", "base", "mid") + gen "And do come a bit closer, so I can get a proper look..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Okay." ("open", "base", "base", "mid") #Luna chibi walks to desk call lun_walk("desk", "base") - $ luna.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid", cheeks="blush") - $ camera.set_imagepath("common/") - $ camera.set_image("CG luna") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - - $ renpy.music.stop(channel="weather", fadeout=4) + stop weather fadeout 4 hide screen blkfade - show screen animatedCG + show CG luna as cg zorder 17: + zoom 0.5 with fade #start of masturbation section (in front of desk CG) - gen "Begin when you're ready, [luna_name]." + gen "Begin when you're ready, [name_luna_genie]." - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom") $ luna.set_cum(pussy="wet") with d3 - lun "Finally..." ("angry", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Finally..." ("angry", "narrow", "base", "down") gen "You seem relieved." gen "(And rather wet...)" - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ luna.set_cum(None) + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom", "panties") with d3 call ctc - $ luna.set_pose("masturbate") + $ luna.set_pose("hand_on_pussy_and_breast") $ luna.strip("bottom", "panties") - - lun "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") - lun "I've not been able to stop thinking about this since last time..." ("grin", "narrow", "base", "stare", cheeks="blush") - lun "I worry those slimy wrackspurts have infested the dormitories because I'm having trouble sleeping as well..." ("angry", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("grin", "narrow", "base", "up") + lun @ cheeks blush "I've not been able to stop thinking about this since last time..." ("grin", "narrow", "base", "stare") + lun @ cheeks blush "I worry those slimy wrackspurts have infested the dormitories, because I'm having trouble sleeping as well..." ("angry", "narrow", "base", "down") gen "That's quite possible..." - lun "It's--{w=0.2} *Ah*...{w=0.3} It's weird...{w=0.3} I almost feel glad I've got them..." ("angry", "closed", "base", "mid", cheeks="blush") - lun "Getting rid of them feels...{w=0.4} so...{w=0.3} so...{w=0.3}{nw}" ("angry", "closed", "low", "mid", cheeks="blush") - lun "Getting rid of them feels... so... so...{fast} good..." ("grin", "narrow", "base", "stare", cheeks="blush") - gen "The positive feelings must be your body telling you that you're doing the right thing expelling them..." - lun "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") - lun "I must be...{w=0.3} *Ah*...{w=0.3} Expelling a lot of them then..." ("base", "narrow", "base", "stare", cheeks="blush") - lun "*Ah*... [lun_genie_name], I'm feeling hot all over..." ("angry", "happyCl", "base", "mid", cheeks="blush") - lun "And that itch... It's all over my--" ("angry", "narrow", "base", "down", cheeks="blush") - lun "*Ah*..." ("soft", "happyCl", "base", "down", cheeks="blush") + lun @ cheeks blush "It's--{w=0.2} *Ah*...{w=0.3} It's weird...{w=0.3} I almost feel glad I've got them..." ("angry", "closed", "base", "mid") + lun @ cheeks blush "Getting rid of them feels...{w=0.4} so...{w=0.3} so...{w=0.3}{nw}" ("angry", "closed", "low", "mid") + lun @ cheeks blush "Getting rid of them feels... so... so...{fast} good..." ("grin", "narrow", "base", "stare") + gen "The positive feelings must be your body telling you that you're doing the right thing, by expelling them..." + lun @ cheeks blush "*Ah*..." ("grin", "narrow", "base", "up") + lun @ cheeks blush "I must be...{w=0.3} *Ah*...{w=0.3} Expelling a lot of them then..." ("base", "narrow", "base", "stare") + lun @ cheeks blush "*Ah*... [name_genie_luna], I'm feeling hot all over..." ("angry", "happyCl", "base", "mid") + lun @ cheeks blush "And that itch... It's all over my--" ("angry", "narrow", "base", "down") + lun @ cheeks blush "*Ah*..." ("soft", "happyCl", "base", "down") gen "That means your body is ready for the next step..." - lun "[lun_genie_name]...{w=0.3} *Ah*... I'm not sure I'm ready..." ("angry", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "[name_genie_luna]...{w=0.3} *Ah*... I'm not sure I'm ready..." ("angry", "happyCl", "base", "mid") gen "Nonsense..." gen "Just take it slow and gently push a finger in..." - lun "*Ah*...{w=0.3} *Ah*...{w=0.3} Alright..." ("open", "happyCl", "base", "mid", cheeks="blush") - call nar(">Luna begins rubbing a finger across her slit... Still a little apprehensive about putting it inside...") - lun "*Ah*...{w=0.3} [lun_genie_name]..." ("soft", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} Alright..." ("open", "happyCl", "base", "mid") + nar "Luna begins rubbing a finger across her slit... Still a little apprehensive about putting it inside..." + lun @ cheeks blush "*Ah*...{w=0.3} [name_genie_luna]..." ("soft", "happyCl", "base", "mid") gen "Gently..." - lun "Gently...{w=0.4} Okay..." ("angry", "closed", "base", "mid", cheeks="blush") - lun "*Nnnngh*..." ("clench", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "Gently...{w=0.4} Okay..." ("angry", "closed", "base", "mid") + lun @ cheeks blush "*Nnnngh*..." ("clench", "happyCl", "base", "mid") #Finger inserted - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris - lun "*Ah*...." ("base", "narrow", "base", "up", cheeks="blush") - lun "I...{w=0.3} I did it, [lun_genie_name]..." ("grin", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("base", "narrow", "base", "up") + lun @ cheeks blush "I...{w=0.3} I did it, [name_genie_luna]..." ("grin", "narrow", "base", "up") gen "How does it feel?" - lun "It...{w=0.3} Good...{w=0.5} Just a bit strange..." ("soft", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "It...{w=0.3} Good...{w=0.5} Just a bit strange..." ("soft", "narrow", "base", "stare") gen "Try moving it in and out." - lun "Alright..." ("soft", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Alright..." ("soft", "narrow", "base", "down") - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 #Luna fingering - call nar(">Luna starts pushing her fingers in and out, the sounds of her moaning becoming more and more shallow as she goes on.") - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - lun "How--{w=0.2} *Ah*...{w=0.4} How is it looking?" ("soft", "closed", "base", "up", cheeks="blush") - gen "Very good [luna_name]... You're very pretty..." - lun "*Ah*...{w=0.3} I'm... *Ah*...{w=0.3} I'm pretty [lun_genie_name]?" ("angry", "narrow", "base", "stare", cheeks="blush") - gen "Why yes, [luna_name]. Your body is very nice..." - lun "[lun_genie_name]--{w=0.2} *Ah*...{w=0.4} That's not what I--{w=0.4}{nw}" ("angry", "narrow", "base", "mid", cheeks="blush") - lun "[lun_genie_name]-- *Ah*... That's not what I--{fast} *Ah*..." ("angry", "closed", "base", "mid", cheeks="blush") - lun "I merely wanted to know if I was doing it right..." ("soft", "closed", "base", "mid", cheeks="blush") + nar "Luna starts pushing her fingers in and out, the sounds of her moaning becoming more and more shallow as she goes on." + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open", "closed", "base", "mid") + lun @ cheeks blush "How--{w=0.2} *Ah*...{w=0.4} How is it looking?" ("soft", "closed", "base", "up") + gen "Very good [name_luna_genie]... You're very pretty..." + lun @ cheeks blush "*Ah*...{w=0.3} I'm--{w=0.2} *Ah*...{w=0.4} I'm pretty, [name_genie_luna]?" ("angry", "narrow", "base", "stare") + gen "Why yes, [name_luna_genie]. Your body is very nice..." + lun @ cheeks blush "[name_genie_luna]--{w=0.2} *Ah*...{w=0.4} That's not what I--{w=0.4}{nw}" ("angry", "narrow", "base", "mid") + lun @ cheeks blush "[name_genie_luna]-- *Ah*... That's not what I--{fast} *Ah*..." ("angry", "closed", "base", "mid") + lun @ cheeks blush "I merely wanted to know if I was doing it right..." ("soft", "closed", "base", "mid") gen "I know." - lun "*Ah*...{w=0.3} [lun_genie_name]?" ("soft", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} [name_genie_luna]?" ("soft", "narrow", "base", "stare") gen "Take your top off for me will you..." - lun "*Ah*...{w=0.3} *Ah*...{w=0.3} Okay..." ("open", "narrow", "base", "up", cheeks="blush") - lun "" ("base", "narrow", "base", "stare", cheeks="blush") - pause .8 + lun @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} Okay..." ("open", "narrow", "base", "up") #Luna takes out finger - stop bg_sounds fadeout 2 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + stop background fadeout 2 + lun @ cheeks blush "" ("base", "narrow", "base", "stare") + $ luna.set_pose("default") + pause 1 + + play sound "sounds/cloth_sound3.ogg" $ luna.strip("top", "bra") with d5 - lun "" ("grin", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "" ("grin", "narrow", "base", "down") pause 1 - lun "" ("grin", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("grin", "narrow", "base", "mid") call ctc - gen "Now keep going, [luna_name]..." - lun "Yes [lun_genie_name]..." ("grin", "narrow", "base", "mid", cheeks="blush") + gen "Now keep going, [name_luna_genie]..." + lun @ cheeks blush "Yes [name_genie_luna]..." ("grin", "narrow", "base", "mid") + + $ luna.set_pose("hand_on_pussy_and_breast") #Luna rubs herself again - lun "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Mmm*..." ("base", "closed", "base", "mid") gen "That's it... Keep rubbing that cute slit of yours..." - lun "*Ah*...{w=0.4} *Ah*...{w=0.4}*Ah*..." ("soft", "closed", "base", "down", cheeks="blush") - gen "Look at me [luna_name]." - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("soft", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4}*Ah*..." ("soft", "closed", "base", "down") + gen "Look at me [name_luna_genie]." + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("soft", "narrow", "base", "mid") gen "Show me your tongue..." - lun "*Ah*...{w=0.4} My...{w=0.4} My tongue?" ("angry", "base", "base", "mid", cheeks="blush") - lun "Is this part of our research?" ("angry", "base", "base", "R", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} My...{w=0.4} My tongue?" ("angry", "base", "base", "mid") + lun @ cheeks blush "Is this part of our research?" ("angry", "base", "base", "R") gen "Yes... Open your mouth as wide as you can please." - lun "But--" ("open", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "But--" ("open", "base", "base", "mid") gen "Say \"Aaaa\"..." - lun "*Aaaa*...{w=0.1}{nw}" ("open", "closed", "base", "mid", cheeks="blush") - lun "*Aaaa*...{fast}{w=0.1}{nw}" ("open_tongue", "closed", "base", "mid", cheeks="blush") - lun "*Aaaa*...{fast}" ("open_wide_tongue", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Aaaa*...{w=0.1}{nw}" ("open", "closed", "base", "mid") + lun @ cheeks blush "*Aaaa*...{fast}{w=0.1}{nw}" ("open_tongue", "closed", "base", "mid") + lun @ cheeks blush "*Aaaa*...{fast}" ("open_wide_tongue", "closed", "base", "mid") gen "Good..." - gen "I want you to know how much I appreciate that you chose to come to me with this problem of yours [luna_name]..." + gen "I want you to know how much I appreciate that you chose to come to me with this problem of yours [name_luna_genie]..." #Luna stops - lun "" ("soft", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("soft", "narrow", "base", "mid") call ctc - lun "[lun_genie_name] I--" ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "[name_genie_luna] I--" ("angry", "narrow", "base", "mid") gen "Keep going... Put a finger in again..." - lun "Yes [lun_genie_name]..." ("angry", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Yes [name_genie_luna]..." ("angry", "narrow", "base", "down") #Luna puts finger in again - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris - lun "*Mmm*..." ("soft", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Mmm*..." ("soft", "narrow", "base", "up") gen "Good girl... Now get it moving... Get those spurts out..." - lun "" ("base", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "" ("base", "narrow", "base", "up") call ctc - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 #Luna fingering - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - - $ luna.set_cum(pussy="wet") - with d3 - - lun "[lun_genie_name]... *Ah*...{w=0.3} I feel them building up again..." ("soft", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("open", "closed", "base", "mid") + lun @ cheeks blush "[name_genie_luna]... *Ah*...{w=0.3} I feel them building up again..." ("soft", "closed", "base", "mid") gen "Good girl, then try going a bit faster..." - lun "Oh-- Okay..." ("soft", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "Oh-- Okay..." ("soft", "closed", "base", "mid") - play bg_sounds "sounds/slickloopfast.ogg" + play background "sounds/slickloopfast.ogg" - lun "*Ah*...{w=0.2}*Ah*...{w=0.2}*Ah*..." ("open", "narrow", "base", "up", cheeks="blush") - lun "I think...{w=0.3} *Ah*...{w=0.3} I'm about to...{w=0.3} *Ah*..." ("angry", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.2}*Ah*...{w=0.2}*Ah*..." ("open", "narrow", "base", "up") + lun @ cheeks blush "I think...{w=0.3} *Ah*...{w=0.3} I'm about to...{w=0.3} *Ah*..." ("angry", "narrow", "base", "up") gen "Oh, are you cumming already?" - lun "*Ah*... Yes, I'm--" ("angry", "narrow", "base", "stare", cheeks="blush") - lun "*Ah*...{w=0.3} I'm cumming [lun_genie_name]!!{heart}{heart}" ("grin", "happyCl", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*... Yes, I'm--" ("angry", "narrow", "base", "stare") + lun @ cheeks blush "*Ah*...{w=0.3} I'm cumming [name_genie_luna]!!{heart}{heart}" ("grin", "happyCl", "base", "up") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - lun "*Ah*!{heart}" ("grin", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*!{heart}" ("grin", "narrow", "base", "up") - call nar(">You see a flush of red roll over Luna's face as her body twitches from the throes of her orgasm.") + nar "You see a flush of red roll over Luna's face as her body twitches from the throes of her orgasm." - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris $ luna.set_cum(pussy="squirt_post") - lun "*Ah*...{heart}" ("open_tongue", "narrow", "base", "ahegao", cheeks="blush") - call nar(">Despite this, her fingers remain a flurry of movement until a final wave of pleasure washes over her.") + lun @ cheeks blush "*Ah*...{heart}" ("open_tongue", "narrow", "base", "ahegao") + nar "Despite this, her fingers remain a flurry of movement until a final wave of pleasure washes over her." - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris - stop bg_sounds fadeout 2 + stop background fadeout 2 #Finger stops moving - lun "*Mmm*...{heart}" ("base", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Mmm*...{heart}" ("base", "happyCl", "base", "mid") - hide screen animatedCG + hide cg show screen blkfade with d5 - call nar(">Luna slowly pulls her finger out and shudders slightly...") - call nar(">She looks at her fingers, which glisten in the light, with a relieved expression on her face...") + nar "Luna slowly pulls her finger out and shudders slightly..." + nar "She looks at her fingers, which glisten in the light, with a relieved expression on her face..." centered "{size=+7}{color=#cbcbcb}Some time later...{/color}{/size}" @@ -563,30 +559,35 @@ label ll_pf_masturbate_T3_E2_intro: call weather_sound gen "It seems those Wickedspots have been giving you a fair bit of grief, haven't they?" ("base", xpos="far_left", ypos="head") - lun "*Ah*...{w=0.3} {heart}yes{heart}..." ("base", "narrow", "base", "down", cheeks="blush", xpos="mid", ypos="base", trans=dissolve) + lun @ cheeks blush "*Ah*...{w=0.3} {heart}yes{heart}..." ("base", "narrow", "base", "down", xpos="mid", ypos="base", trans=dissolve) gen "Don't worry, that should sort them out for now..." ("base", xpos="far_left", ypos="head") gen "Feeling better?" ("base", xpos="far_left", ypos="head") - lun "Yes... I'm feeling much better now... Thank you [lun_genie_name]." ("base", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Yes... I'm feeling much better now... Thank you [name_genie_luna]." ("base", "base", "base", "mid") gen "I take it my words of encouragement were effective?" ("base", xpos="far_left", ypos="head") - lun "I...{w=0.4} Yes [lun_genie_name]..." ("soft", "narrow", "base", "R", cheeks="blush") + lun @ cheeks blush "I...{w=0.4} Yes [name_genie_luna]..." ("soft", "narrow", "base", "R") gen "Excellent." ("base", xpos="far_left", ypos="head") - lun "*Ehm*..." ("soft", "narrow", "base", "down", cheeks="blush") - lun "So the things you said..." ("open", "narrow", "base", "down", cheeks="blush") - lun "About me being pretty..." ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "*Ehm*..." ("soft", "narrow", "base", "down") + lun @ cheeks blush "So the things you said..." ("open", "narrow", "base", "down") + lun @ cheeks blush "About me being pretty..." ("normal", "narrow", "base", "down") gen "Yes?" ("base", xpos="far_left", ypos="head") - lun "Was that just to help me with..." ("soft", "narrow", "base", "downL", cheeks="blush") - lun "Actually... Forget I asked [lun_genie_name]..." ("angry", "narrow", "base", "downL", cheeks="blush") - lun "I... I'll just head back to my dorms now..." ("angry", "base", "base", "R", cheeks="blush") + lun @ cheeks blush "Was that just to help me with..." ("soft", "narrow", "base", "downL") + lun @ cheeks blush "Actually... Forget I asked [name_genie_luna]..." ("angry", "narrow", "base", "downL") + lun @ cheeks blush "I... I'll just head back to my dorms now..." ("angry", "base", "base", "R") gen "Of course, good job today--" ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") gen "(What an odd girl...)" ("base", xpos="far_left", ypos="head") - jump ll_pf_masturbate.end + jump ll_pf_masturbate_end ##Luna masturbates for Genie, naked and squirts## label ll_pf_masturbate_T3_E3_intro: + + $ states.lun.ev.play_with_yourself.t3_e3_complete = True + + call ll_pf_masturbate + gen "Alright then, time for you to--" ("base", xpos="far_left", ypos="head") lun "Finally..." ("mad", "base", "base", "mid", trans=dissolve) @@ -598,155 +599,146 @@ label ll_pf_masturbate_T3_E3_intro: #Start of masturbate section - call nar(">Luna quickly whips her clothes off and begins touching herself.") + nar "Luna quickly whips her clothes off and begins touching herself." - $ luna.set_face(mouth="grin", eyes="narrow", eyebrows="base", pupils="mid", cheeks="blush") - $ camera.set_imagepath("common/") - $ camera.set_image("CG luna") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - - $ luna.set_pose("masturbate") + $ luna.set_pose("hand_on_pussy_and_breast") $ luna.set_cum(pussy="wet") - $ luna.strip("all") + $ luna.strip("clothes") - $ renpy.music.stop(channel="weather", fadeout=4) + lun @ cheeks blush "" ("grin", "narrow", "base", "mid") + + stop weather fadeout 4 hide screen blkfade - show screen animatedCG + show CG luna as cg zorder 17: + zoom 0.5 with fade # hand moving slow - lun "*Ah*... {heart} Yes..." ("grin", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*... {heart} Yes..." ("grin", "narrow", "base", "up") gen "By the great desert sands! You're sopping wet!" - lun "I'm sorry [lun_genie_name]... I just...{w=0.3} Need this really bad...{heart}" ("mad", "happyCl", "base", "stare", cheeks="blush") - lun "These Wrackspurts...{w=0.4} *Ah*..." ("upset", "happyCl", "base", "mid", cheeks="blush") - lun "They've been very tiresome..." ("angry", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "I'm sorry [name_genie_luna]... I just...{w=0.3} Need this really bad...{heart}" ("mad", "happyCl", "base", "stare") + lun @ cheeks blush "These wrackspurts...{w=0.4} *Ah*..." ("upset", "happyCl", "base", "mid") + lun @ cheeks blush "They've been very tiresome..." ("angry", "narrow", "base", "up") - call nar(">Without being prompted, Luna pushes a finger inside her and starts fingering herself.") + nar "Without being prompted, Luna pushes a finger inside her and starts fingering herself." #Luna inserts finger - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris - lun "*Ah*...{heart}" ("grin", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{heart}" ("grin", "narrow", "base", "up") #Luna fingering - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - lun "" ("grin", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("grin", "closed", "base", "mid") gen "You're becoming quite the expert at this..." - lun "*Ah*...{w=0.4} I'm just doing--{w=0.2} *Ah*...{w=0.4} What you've taught me [lun_genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") - gen "Don't be so modest [luna_name]... It takes a lot of willpower and determination to get to where you are." - lun "*Ah*... Really?" ("soft", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} I'm just doing--{w=0.2} *Ah*...{w=0.4} What you've taught me [name_genie_luna]..." ("soft", "closed", "base", "mid") + gen "Don't be so modest [name_luna_genie]... It takes a lot of willpower and determination to get to where you are." + lun @ cheeks blush "*Ah*... Really?" ("soft", "narrow", "base", "stare") gen "Absolutely...{w=0.4} You're a natural!" gen "I'd even go as far to say that you were born to do this." - lun "*Mmm*..." ("base", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Mmm*..." ("base", "narrow", "base", "stare") - lun "Well I'm not so sure about that..." ("base", "closed", "base", "mid", cheeks="blush") - lun "Although I must say...{w=0.4} *Ah*...{w=0.4} I've been enjoying these sessions a fair bit, [lun_genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") - lun "They are starting to become all I can think about..." ("base", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "Well, I'm not so sure about that..." ("base", "closed", "base", "mid") + lun @ cheeks blush "Although I must say...{w=0.4} *Ah*...{w=0.4} I've been enjoying these sessions a fair bit, [name_genie_luna]..." ("open", "closed", "base", "mid") + lun @ cheeks blush "They are starting to become all I can think about..." ("base", "closed", "base", "mid") gen "*Hmm*...{w=0.3} Do you think that's a bad thing?" - lun "*Ah*...{w=0.3} of course not!" ("grin", "closed", "base", "mid", cheeks="blush") - lun "It just...*Hngh*{w=0.3} means that it's working..." ("grin", "happyCl", "base", "mid", cheeks="blush") - lun "If only I could spend all day up here..." ("base", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} of course not!" ("grin", "closed", "base", "mid") + lun @ cheeks blush "It just...*Hngh*{w=0.3} means that it's working..." ("grin", "happyCl", "base", "mid") + lun @ cheeks blush "If only I could spend all day up here..." ("base", "narrow", "base", "up") gen "Do you think a full day of treatment would get rid of them?" - lun "*Ah*..." ("soft", "narrow", "base", "up", cheeks="blush") - lun "I don't know..." ("open", "narrow", "base", "up", cheeks="blush") - lun "But..." ("upset", "narrow", "base", "up", cheeks="blush") - lun "I think It'd probably feel--{w=0.2} *Ah*..." ("soft", "narrow", "base", "up", cheeks="blush") - lun "Nice...{heart}{heart}{heart}" ("base", "narrow", "base", "stare", cheeks="blush") - call nar(">Luna moans softly under her breath.") - lun "{heart}{heart}{heart}" ("base", "closed", "base", "mid", cheeks="blush") - lun "You, watching me while I do this... For some reason--" ("grin", "narrow", "base", "mid", cheeks="blush") - gen "*Shhh*... Focus [luna_name]..." - lun "Yes [lun_genie_name]..." ("base", "narrow", "base", "down", cheeks="blush") - lun "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("base", "closed", "base", "mid", cheeks="blush") - lun "I think..." ("grin", "closed", "base", "stare", cheeks="blush") - lun "*Ah*..." ("grin", "narrow", "base", "up", cheeks="blush") - lun "I think I've almost got them, [lun_genie_name]..." ("crooked_smile", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("soft", "narrow", "base", "up") + lun @ cheeks blush "I don't know..." ("open", "narrow", "base", "up") + lun @ cheeks blush "But..." ("upset", "narrow", "base", "up") + lun @ cheeks blush "I think It'd probably feel--{w=0.2} *Ah*..." ("soft", "narrow", "base", "up") + lun @ cheeks blush "Nice...{heart}{heart}{heart}" ("base", "narrow", "base", "stare") + nar "Luna moans softly under her breath." + lun @ cheeks blush "{heart}{heart}{heart}" ("base", "closed", "base", "mid") + lun @ cheeks blush "You, watching me while I do this... For some reason--" ("grin", "narrow", "base", "mid") + gen "*Shhh*... Focus [name_luna_genie]..." + lun @ cheeks blush "Yes [name_genie_luna]..." ("base", "narrow", "base", "down") + lun @ cheeks blush "*Ah*...{w=0.3} *Ah*...{w=0.3} *Ah*..." ("base", "closed", "base", "mid") + lun @ cheeks blush "I think..." ("grin", "closed", "base", "stare") + lun @ cheeks blush "*Ah*..." ("grin", "narrow", "base", "up") + lun @ cheeks blush "I think I've almost got them, [name_genie_luna]..." ("crooked_smile", "narrow", "base", "up") gen "(Already? She's faster than I am!)" - lun "[lun_genie_name]... Please..." ("crooked_smile", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "[name_genie_luna]... Please..." ("crooked_smile", "narrow", "base", "up") - play bg_sounds "sounds/slickloopfast.ogg" + play background "sounds/slickloopfast.ogg" - lun "*Ah*...{w=0.3} Tell me...{w=0.3} Tell me I'm pretty." ("mad", "closed", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.3} Tell me...{w=0.3} Tell me I'm pretty." ("mad", "closed", "base", "stare") gen "What?" label .choice: menu: "-Tell her-": - gen "You're very pretty, [luna_name]." - lun "*Mmm*..." ("base", "narrow", "base", "up", cheeks="blush") + gen "You're very pretty, [name_luna_genie]." + lun @ cheeks blush "*Mmm*..." ("base", "narrow", "base", "up") "-Don't-": - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - gen "You're going to need to learn how to do this without my help [luna_name]..." - lun "Please, [lun_genie_name]..." ("angry", "happyCl", "base", "mid", cheeks="blush") - - elif random_number == 2: - gen "Tell you..." - lun "Tell me I'm pretty, [lun_genie_name]..." ("grin", "narrow", "base", "up", cheeks="blush") - - elif random_number == 3: - lun "Hurry...{w=0.3} I'm...{w=0.3} I'm almost there..." ("grin", "happyCl", "base", "up", cheeks="blush") + random: + lun @ cheeks blush "Hurry...{w=0.3} I'm...{w=0.3} I'm almost there..." ("grin", "happyCl", "base", "up") + block: + gen "You're going to need to learn how to do this without my help [name_luna_genie]..." + lun @ cheeks blush "Please, [name_genie_luna]..." ("angry", "happyCl", "base", "mid") + block: + gen "Tell you..." + lun @ cheeks blush "Tell me I'm pretty, [name_genie_luna]..." ("grin", "narrow", "base", "up") # Menu opens again until you've told her she's pretty jump ll_pf_masturbate_T3_E3_intro.choice - play bg_sounds "sounds/slickloopveryfast.ogg" + play background "sounds/slickloopveryfast.ogg" - lun "" ("grin", "closed", "base", "up", cheeks="blush") - call nar(">Luna revelling in your praise closes her eyes and begins furiously pumping her fingers in and out.") - lun "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "closed", "base", "mid", cheeks="blush") #Eyes closed - lun "{size=+4}*Mmm*...{w=0.4}{/size}{nw}" ("base", "closed", "base", "mid", cheeks="blush") - lun "{size=+4}*Mmm*...{fast} Yes...{heart}{/size}" ("crooked_smile", "closed", "base", "mid", cheeks="blush") - lun "*Ah*...{w=0.3}{nw}" ("crooked_smile", "closed", "base", "mid", cheeks="blush") - lun "*Ah*...{fast} [lun_genie_name], I think I'm..." ("crooked_smile", "narrow", "base", "stare", cheeks="blush") - call nar(">Luna's fingers moves in a flurry, as she continues pumping them into her needy slit.") + lun @ cheeks blush "" ("grin", "closed", "base", "up") + nar "Luna, revelling in your praise, closes her eyes and begins furiously pumping her fingers in and out." + lun @ cheeks blush "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*..." ("grin", "closed", "base", "mid") #Eyes closed + lun @ cheeks blush "{size=+4}*Mmm*...{w=0.4}{/size}{nw}" ("base", "closed", "base", "mid") + lun @ cheeks blush "{size=+4}*Mmm*...{fast} Yes...{heart}{/size}" ("crooked_smile", "closed", "base", "mid") + lun @ cheeks blush "*Ah*...{w=0.3}{nw}" ("crooked_smile", "closed", "base", "mid") + lun @ cheeks blush "*Ah*...{fast} [name_genie_luna], I think I'm..." ("crooked_smile", "narrow", "base", "stare") + nar "Luna's fingers move in a flurry, as she continues pumping them into her needy slit." - lun "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*...{heart}" ("crooked_smile", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.2} *Ah*...{w=0.2} *Ah*...{heart}" ("crooked_smile", "narrow", "base", "up") gen "Good girl...{w=0.3} Now--" - lun "*AAAAH!!!*" ("scream", "happyCl", "base", "up", cheeks="blush") + lun @ cheeks blush "*AAAAH*!!!" ("scream", "happyCl", "base", "up") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" #Luna Squirts - lun "" ("scream", "wide", "base", "up", cheeks="blush") + lun @ cheeks blush "" ("scream", "wide", "base", "up") $ luna.set_cum(pussy="squirt") with kissiris pause .8 #Non luna squirt $ luna.set_cum(pussy="squirt_post") - lun "" ("grin", "wide", "base", "up", cheeks="blush") + lun @ cheeks blush "" ("grin", "wide", "base", "up") gen "By the great--" - lun "{size=+4}*Nnngh*--{/size}" ("angry", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "{size=+4}*Nnngh*--{/size}" ("angry", "narrow", "base", "up") - $ renpy.sound.play("sounds/slick_01.ogg") - stop bg_sounds fadeout 2 + play sound "sounds/slick_01.ogg" + stop background fadeout 2 #Luna Squirts with kissiris $ luna.set_cum(pussy="squirt") - lun "{size=+4}*Nnngh*--{fast} *AH*!!{heart}{/size}{w=0.3}{nw}" ("scream", "narrow", "base", "ahegao", cheeks="blush") + lun @ cheeks blush "{size=+4}*Nnngh*--{fast} *AH*!!{heart}{/size}{w=0.3}{nw}" ("scream", "narrow", "base", "ahegao") #Non luna squirt $ luna.set_cum(pussy="squirt_post") - lun "{size=+4}*Nnngh*--{fast} *AH*!!{heart}{/size}{fast}" ("scream", "narrow", "base", "ahegao", cheeks="blush") + lun @ cheeks blush "{size=+4}*Nnngh*--{fast} *AH*!!{heart}{/size}{fast}" ("scream", "narrow", "base", "ahegao") - lun "*Ah*..." ("base", "narrow", "base", "up", cheeks="blush") - lun "Thank you, [lun_genie_name]..." ("base", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("base", "narrow", "base", "up") + lun @ cheeks blush "Thank you, [name_genie_luna]..." ("base", "closed", "base", "mid") - hide screen animatedCG + hide cg show screen blkfade with d5 - call nar(">Luna takes her fingers out and looks up at you with a happy smile spread across her face...") - gen "Well done [luna_name]." + nar "Luna takes her fingers out, and looks up at you with a happy smile spread across her face..." + gen "Well done [name_luna_genie]." centered "{size=+7}{color=#cbcbcb}Some time later...{/color}{/size}" @@ -760,22 +752,22 @@ label ll_pf_masturbate_T3_E3_intro: call weather_sound - gen "Now I didn't take you for a squirter, [luna_name]..." ("grin", xpos="far_left", ypos="head") - lun "..." ("soft", "base", "base", "down", cheeks="blush", xpos="mid", ypos="base", trans=dissolve) + gen "Now I didn't take you for a squirter, [name_luna_genie]..." ("grin", xpos="far_left", ypos="head") + lun @ cheeks blush "..." ("soft", "base", "base", "down", xpos="mid", ypos="base", trans=dissolve) gen "Is everything okay?" ("base", xpos="far_left", ypos="head") - lun "Look at all these wrackspurts!" ("mad", "base", "base", "down", cheeks="blush") + lun @ cheeks blush "Look at all these wrackspurts!" ("mad", "base", "base", "down") gen "..." ("base", xpos="far_left", ypos="head") lun "I didn't think I'd be able to release this many at once." ("smile", "narrow", "base", "down") gen "Sure took me by surprise..." ("grin", xpos="far_left", ypos="head") lun "Am I a master baiter now?" ("crooked_smile", "base", "base", "mid") - gen "Why yes indeed, [luna_name]." ("grin", xpos="far_left", ypos="head") + gen "Why yes indeed, [name_luna_genie]." ("grin", xpos="far_left", ypos="head") gen "I hereby grant you the title of a {i}masturbater{/i}!" ("grin", xpos="far_left", ypos="head") lun "Yay!" ("crooked_smile", "happyCl", "base", "mid") lun "Alright then, off I--" ("crooked_smile", "base", "base", "R") lun "Hold on..." ("angry", "wide", "base", "mid") - lun "I just realised something, [lun_genie_name]!" ("disgust", "base", "base", "mid") + lun "I just realised something, [name_genie_luna]!" ("disgust", "base", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") lun "What you said earlier about you believing I was born to do this." ("grin", "base", "base", "mid") gen "Do what?" ("base", xpos="far_left", ypos="head") @@ -789,35 +781,38 @@ label ll_pf_masturbate_T3_E3_intro: gen "(I suppose I'll humour her...)" ("base", xpos="far_left", ypos="head") lun "She said that I'll soon find something new within me that will propel me forward on the path towards my destiny." ("grin", "base", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") - lun "Don't you think she meant my fingers, [lun_genie_name]?" ("grin", "base", "base", "mid") + lun "Don't you think she meant my fingers, [name_genie_luna]?" ("grin", "base", "base", "mid") gen "*Err*..." ("base", xpos="far_left", ypos="head") - lun "Hold on that can't be it... My fingers aren't new... I've had them for as long as I can remember." ("angry", "narrow", "base", "downL") - lun "What do you think it is, [lun_genie_name]?" ("soft", "base", "base", "mid") + lun "Hold on... That can't be it... My fingers aren't new... I've had them for as long as I can remember." ("angry", "narrow", "base", "downL") + lun "What do you think it is, [name_genie_luna]?" ("soft", "base", "base", "mid") gen "(Something new within her... Why does future telling always have to be so vague...)" ("base", xpos="far_left", ypos="head") - gen "*Hmm*... Well I can't say that I..." ("base", xpos="far_left", ypos="head") + gen "*Hmm*... Well, I can't say that I..." ("base", xpos="far_left", ypos="head") gen "(Hold on...)" ("grin", xpos="far_left", ypos="head") - lun "*Huh*? Did you have a revelation, [genie_name]?" ("grin", "base", "raised", "mid") + lun "*Huh*? Did you have a revelation, [name_genie_hermione]?" ("grin", "base", "raised", "mid") gen "You've just given me a great idea!" ("grin", xpos="far_left", ypos="head") - lun "Oooh! What is it? Is it a new method of dealing with the Wrackspurts?" ("crooked_smile", "base", "base", "mid") - gen "Why yes indeed, [luna_name]!" ("base", xpos="far_left", ypos="head") + lun "Oooh! What is it? Is it a new method of dealing with the wrackspurts?" ("crooked_smile", "base", "base", "mid") + gen "Why yes indeed, [name_luna_genie]!" ("base", xpos="far_left", ypos="head") lun "Marvellous!" ("smile", "happyCl", "base", "mid") - gen "Although it might be a hard one so I hope you're ready to take it on, [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Although it might be a hard one, so I hope you're ready to take it on, [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "Of course, as long as you're there to guide me..." ("grin", "wink", "base", "mid") - gen "(I'll be guiding something alright...)" ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]?" ("soft", "narrow", "base", "mid") + gen "{size=-4}I'll be guiding something alright...{/size}" ("grin", xpos="far_left", ypos="head") + lun "[name_genie_luna]?" ("soft", "narrow", "base", "mid") gen "*Huh*?" ("base", xpos="far_left", ypos="head") gen "*Ahem*... I'll let you know once I'm ready to begin our next set of tests." ("base", xpos="far_left", ypos="head") lun "Great!" ("base", "base", "base", "mid") - lun "Until next time then, [lun_genie_name]..." ("grin", "base", "base", "mid") + lun "Until next time then, [name_genie_luna]..." ("grin", "base", "base", "mid") call lun_walk(action="leave") - jump ll_pf_masturbate.end + jump ll_pf_masturbate_end label ll_pf_masturbate_T3_E4_repeat: + + call ll_pf_masturbate + gen "Ready to avert the spurts?" ("base", xpos="far_left", ypos="head") - lun "Avert them, [lun_genie_name]?" ("soft", "base", "base", "mid", trans=dissolve) + lun "Avert them, [name_genie_luna]?" ("soft", "base", "base", "mid", trans=dissolve) gen "Ready to insert until you spurt and squirt?" ("base", xpos="far_left", ypos="head") lun "Oh!{w=0.4} Yes, I am ready!" ("base", "base", "base", "mid") gen "Great, then show me how it's done, master baiter!" ("base", xpos="far_left", ypos="head") @@ -825,128 +820,124 @@ label ll_pf_masturbate_T3_E4_repeat: #Luna chibi walks to desk call lun_walk("desk", "base") - $ luna.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG luna") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) + show screen blkfade + with d3 - $ renpy.music.stop(channel="weather", fadeout=4) + $ luna.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") + stop weather fadeout 4 hide screen blkfade - show screen animatedCG + show CG luna as cg zorder 17: + zoom 0.5 with fade #start of masturbation section (in front of desk CG) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.strip("top", "bra") with d3 gen "*Mmm*... Impressive..." - lun "[lun_genie_name]?" ("soft", "base", "raised", "mid") - gen "Your nipples, [luna_name]... Are they always this perked up?" + lun "[name_genie_luna]?" ("soft", "base", "raised", "mid") + gen "Your nipples, [name_luna_genie]... Are they always this perked up?" lun "Oh...{w=0.4} *Ehm*...{w=0.4} Kind of?" ("angry", "base", "base", "down") gen "Very impressive indeed..." gen "Why don't you give one a bit of a tweak and tell me how it feels?" lun "Oh...{w=0.4} Okay..." ("base", "base", "base", "mid") #Luna hand on nipple. - $ luna.set_pose("masturbate") + $ luna.set_pose("hand_on_pussy_and_breast") $ luna.strip("top", "bra") lun "Like this?" ("soft", "base", "base", "mid") gen "Yes, that's it... Now pinch it with your fingers--" lun "Ouch!" ("mad", "base", "base", "stare") gen "... carefully..." - gen "Patience, [luna_name]..." - lun "Sorry [lun_genie_name]..." ("disgust", "narrow", "base", "down") + gen "Patience, [name_luna_genie]..." + lun "Sorry [name_genie_luna]..." ("disgust", "narrow", "base", "down") gen "So, how does it feel now? Any different?" - lun "*Ehm*... It's a bit more hard than before..." ("soft", "narrow", "base", "down") + lun "*Ehm*... It feels a bit harder than before..." ("soft", "narrow", "base", "down") gen "That's good, now try it a bit more gently and tell me if anything changes..." lun "Alright..." ("soft", "base", "base", "down") - call nar(">Luna pinches her nipple more carefully this time and an involuntary moan escapes her lips.") + nar "Luna pinches her nipple more carefully this time, and an involuntary moan escapes her lips." lun "*Ah*..." ("open", "narrow", "base", "up") gen "So?" lun "It...{w=0.4} It's more sensitive than before." ("angry", "narrow", "base", "stare") gen "Excellent." - call nar(">Luna pinches her nipple again, and tries to stifle another moan.") + nar "Luna pinches her nipple again, and tries to stifle another moan." lun "But--{w=0.2} *Ah*...{w=0.4} I must say it felt a lot better when you did it..." ("normal", "closed", "base", "stare") gen "You still seem to be enjoying yourself." lun "Yes... But--" ("annoyed", "closed", "base", "mid") - gen "Aren't we here so that you can find ways to deal with this issue without me, [luna_name]?" + gen "Aren't we here so that you can find ways to deal with this issue without me, [name_luna_genie]?" lun "We are?" ("disgust", "narrow", "base", "stare") gen "As a temporary measure that is... We'll still need to work together to find a way of ridding ourselves of them for good." lun "Oh... That's what you meant..." ("base", "closed", "base", "down") lun "I do feel a little bit guilty doing this though..." ("soft", "narrow", "base", "mid") gen "Guilty, in what way?" lun "Me doing this on my own in front of you feels a bit selfish now that I know how to do it..." ("open", "narrow", "base", "down") - gen "Oh, I wouldn't worry about that, [luna_name]..." + gen "Oh, I wouldn't worry about that, [name_luna_genie]..." gen "I'm thoroughly enjoying watching you touch yourself..." - lun "You--{w=0.2} You are, [lun_genie_name]?" ("angry", "narrow", "base", "mid") + lun "You--{w=0.2} You are, [name_genie_luna]?" ("angry", "narrow", "base", "mid") gen "Of course!" gen "Didn't you enjoy watching me?" lun "Oh...{w=0.4} I suppose I did." ("base", "narrow", "base", "down") - gen "Now undress for me so I can watch you relieve yourself properly..." - lun "Yes, [lun_genie_name]..." ("base", "base", "base", "mid") + gen "Now undress for me, so I can watch you relieve yourself properly..." + lun "Yes, [name_genie_luna]..." ("base", "base", "base", "mid") - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ luna.strip("all") + play sound "sounds/cloth_sound3.ogg" + $ luna.strip("clothes") with d3 - lun "" ("base", "closed", "base", "mid", cheeks="blush") - call nar(">Luna slides the rest of her clothes off and begins rubbing herself.") + lun @ cheeks blush "" ("base", "closed", "base", "mid") + nar "Luna slides the rest of her clothes off and begins rubbing herself." #Hand on pussy gen "That's better, don't you think?" lun "Much better...{w=0.4} Although they've been building up quite a bit since I started." ("soft", "narrow", "base", "down") gen "That's a good thing... Now just keep going as you've done before..." - lun "Yes [lun_genie_name]..." ("base", "narrow", "base", "mid") + lun "Yes [name_genie_luna]..." ("base", "narrow", "base", "mid") - call nar(">Luna moves her finger across her slit and then gently begins pushing it inside.") + nar "Luna moves her finger across her slit and then gently begins pushing it inside." - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with kissiris - lun "*Ah*..." ("base", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*..." ("base", "narrow", "base", "up") #Luna fingering - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 - lun "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Mmm*..." ("base", "closed", "base", "mid") gen "Good..." - gen "You sure seem to have found a way to keep yourself focused on the task, [luna_name]..." - lun "*Mmm*... Yes, [lun_genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") + gen "You sure seem to have found a way to keep yourself focused on the task, [name_luna_genie]..." + lun @ cheeks blush "*Mmm*... Yes, [name_genie_luna]..." ("open", "closed", "base", "mid") gen "You should feel very proud of your accomplishments." - lun "*Ah*...{w=0.4} Yes...{w=0.4} I feel it inside of me [lun_genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} Yes...{w=0.4} I feel it inside of me [name_genie_luna]..." ("soft", "closed", "base", "mid") - play bg_sounds "sounds/slickloopfast.ogg" - lun "" ("soft", "narrow", "base", "mid", cheeks="blush") - call nar(">Luna begins moving her fingers faster inside her as she stares at you intently.") + play background "sounds/slickloopfast.ogg" + lun @ cheeks blush "" ("soft", "narrow", "base", "mid") + nar "Luna begins moving her fingers faster inside her as she stares at you intently." gen "I was very impressed with how quickly you got there last time..." gen "You've got to tell me your tricks, did you think of something in particular?" $ luna.set_cum(pussy="wet") - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} [lun_genie_name]..." ("base", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} [name_genie_luna]..." ("base", "narrow", "base", "stare") gen "My apologies, I'll let you get on with it..." - call nar(">You watch in silence as Luna fingers herself... Her heavy breathing, now being the only thing filling your chambers.") - lun "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{w=0.4}" ("grin", "narrow", "base", "up", cheeks="blush") + nar "You watch in silence as Luna fingers herself... Her heavy breathing, now being the only thing filling your chambers." + lun @ cheeks blush "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{w=0.4}" ("grin", "narrow", "base", "up") gen "(Look at those fingers go... Now that's a girl with purpose.)" - play bg_sounds "sounds/slickloopveryfast.ogg" - lun "" ("grin", "narrow", "base", "mid", cheeks="blush") - call nar(">Looking at you once again, Luna starts moving her fingers even faster...") + play background "sounds/slickloopveryfast.ogg" + lun @ cheeks blush "" ("grin", "narrow", "base", "mid") + nar "Looking at you once again, Luna starts moving her fingers even faster..." - lun "*Ah*...{w=0.2} *Ah*...{w=0.2} [lun_genie_name]..." ("grin", "narrow", "base", "mid", cheeks="blush") - gen "Yes, [luna_name]?" + lun @ cheeks blush "*Ah*...{w=0.2} *Ah*...{w=0.2} [name_genie_luna]..." ("grin", "narrow", "base", "mid") + gen "Yes, [name_luna_genie]?" - lun "*Aaaah*!!!" ("crooked_smile", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Aaaah*!!!" ("crooked_smile", "narrow", "base", "up") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris #Luna Squirts @@ -955,7 +946,7 @@ label ll_pf_masturbate_T3_E4_repeat: #Non luna squirt $ luna.set_cum(pussy="squirt_post") - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" with kissiris #Luna Squirts $ luna.set_cum(pussy="squirt") @@ -963,61 +954,60 @@ label ll_pf_masturbate_T3_E4_repeat: #Non luna squirt $ luna.set_cum(pussy="squirt_post") - lun "*[lun_genie_name]*!!{heart}" ("scream", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*[name_genie_luna]*!!{heart}" ("scream", "narrow", "base", "up") - $ renpy.sound.play("sounds/slick_01.ogg") - stop bg_sounds fadeout 2 + play sound "sounds/slick_01.ogg" + stop background fadeout 2 with kissiris #Luna Squirts $ luna.set_cum(pussy="squirt") pause .6 #Non luna squirt $ luna.set_cum(pussy="squirt_post") - lun "" ("crooked_smile", "narrow", "base", "stare", cheeks="blush") + lun @ cheeks blush "" ("crooked_smile", "narrow", "base", "stare") - lun "*Ah*...{heart}" ("grin", "narrow", "base", "up", cheeks="blush") + lun @ cheeks blush "*Ah*...{heart}" ("grin", "narrow", "base", "up") - $ camera.set_image("CG luna") - $ camera.set(zoom=0.5, pos=(-270, -150), t=1.5) $ luna.set_pose(None) - $ luna.strip("all") + $ luna.strip("clothes") #Luna normal doll pose - lun "*Mmm*..." ("base", "closed", "base", "mid", cheeks="blush") - lun "Did I do good, [lun_genie_name]?" ("soft", "narrow", "base", "up", cheeks="blush") - gen "Very good, [luna_name]..." - lun "*Ah*...{w=0.4} I'm glad..." ("base", "narrow", "base", "up", cheeks="blush") - lun "..." ("base", "narrow", "base", "down", cheeks="blush") #More focused - lun "Oh, no! Look at what has happened to your floor!" ("mad", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "*Mmm*..." ("base", "closed", "base", "mid") + lun @ cheeks blush "Did I do good, [name_genie_luna]?" ("soft", "narrow", "base", "up") + gen "Very good, [name_luna_genie]..." + lun @ cheeks blush "*Ah*...{w=0.4} I'm glad..." ("base", "narrow", "base", "up") + lun @ cheeks blush "..." ("base", "narrow", "base", "down") #More focused + lun @ cheeks blush "Oh, no! Look at what has happened to your floor!" ("mad", "narrow", "base", "down") gen "I'm sure it's fine, it has seen worse I'm--" - $ camera.set_image("CG lun_intro luna bendover naked") - $ camera.set(zoom=1.0, pos=(-1040, -600), t=10.0) + show CG lun_intro luna bendover naked as cg zorder 17: + zoom 0.5 + easein_quad 10.0 zoom 1.0 pos (-1040, -600) #Luna naked bent over pose lun "Now where did I put my spectrespecs..." ("base", "base", "base", "mid") - call nar(">Luna bends down and begins checking around the floor for her glasses.") + nar "Luna bends down and begins checking around the floor for her glasses." gen "Very fine indeed..." - lun "Do you remember if I brought them or not, [lun_genie_name]?" ("base", "base", "base", "mid") - lun "[lun_genie_name]?" ("angry", "narrow", "base", "mid") + lun "Do you remember if I brought them or not, [name_genie_luna]?" ("base", "base", "base", "mid") + lun "[name_genie_luna]?" ("angry", "narrow", "base", "mid") gen "*Huh*?" lun "My glasses... I can't see them without my glasses." ("base", "base", "base", "mid") gen "Jinkies..." lun "Blidgering humdinger...{w=0.4} I was hoping to see if they looked any different up close compared to yours..." ("base", "base", "base", "mid") - gen "Don't worry about them [luna_name], I'm sure you can get a closer look some other time..." + gen "Don't worry about them [name_luna_genie], I'm sure you can get a closer look some other time..." lun "Alright..." ("base", "base", "base", "mid") - hide screen animatedCG + hide cg show screen blkfade with d5 - call nar(">Luna turns around to face you and gives you a smile, seemingly still pleased with herself even though she couldn't get a proper look through her glasses...") + nar "Luna turns around to face you and gives you a smile, seemingly still pleased with herself, even though she couldn't get a proper look through her glasses..." # End of masturbate section $ luna.set_pose(None) - $ luna.strip("all") + $ luna.strip("clothes") hide screen blkfade with d5 @@ -1028,18 +1018,18 @@ label ll_pf_masturbate_T3_E4_repeat: #Luna is still naked gen "So... How are you feeling?" ("base", xpos="far_left", ypos="head") - lun "As if my mind have been cleared of a thick fog." ("base", "closed", "base", "mid", xpos="mid", ypos="base", trans=dissolve) - gen "Ah yes... The post nut clarity..." ("base", xpos="far_left", ypos="head") + lun "As if my mind has been cleared of a thick fog." ("base", "closed", "base", "mid", xpos="mid", ypos="base", trans=dissolve) + gen "Ah yes... The post-nut clarity..." ("base", xpos="far_left", ypos="head") lun "The what? sorry?" ("soft", "base", "base", "mid") gen "The perfect time to make the big life decisions..." ("base", xpos="far_left", ypos="head") - lun "I'm not sure I understand what you mean, [lun_genie_name]." ("upset", "base", "base", "mid") - gen "It only gets more difficult at this point now that you've mastered the art of masturbation [luna_name]." ("base", xpos="far_left", ypos="head") + lun "I'm not sure I understand what you mean, [name_genie_luna]." ("upset", "base", "base", "mid") + gen "It only gets more difficult at this point, now that you've mastered the art of masturbation [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "Mastered master baiting?" ("annoyed", "base", "raised", "mid") #confused - gen "If we want to get rid of those spurts for good then we need to keep trying new methods." ("base", xpos="far_left", ypos="head") - lun "Oh! Well I'm willing to do anything that it takes to save the school [lun_genie_name]!" ("grin", "narrow", "base", "mid") + gen "If we want to get rid of those spurts for good, then we need to keep trying new methods." ("base", xpos="far_left", ypos="head") + lun "Oh! Well, I'm willing to do anything that it takes to save the school [name_genie_luna]!" ("grin", "narrow", "base", "mid") gen "That's what I like to hear." ("base", xpos="far_left", ypos="head") gen "Then that shall be all for today." ("base", xpos="far_left", ypos="head") - lun "Okay, thank you [lun_genie_name]." ("base", "base", "base", "mid") + lun "Okay, thank you [name_genie_luna]." ("base", "base", "base", "mid") hide luna_main with d3 @@ -1048,44 +1038,44 @@ label ll_pf_masturbate_T3_E4_repeat: call lun_chibi(flip=True) pause .5 - gen "[luna_name]." ("base", xpos="far_left", ypos="head") + gen "[name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "Has the post nut clarity already worn off?" ("base", xpos="far_left", ypos="head") call lun_chibi(flip=False) pause .5 - lun "[lun_genie_name]?" ("soft", "base", "raised", "mid", trans=dissolve) + lun "[name_genie_luna]?" ("soft", "base", "raised", "mid", trans=dissolve) gen "Your clothes..." ("base", xpos="far_left", ypos="head") lun "Oh!" ("mad", "narrow", "base", "down") #blush $ luna.wear("all") - call play_sound("equip") + play sound "sounds/cloth_sound.ogg" $ luna.set_cum(None) with d3 pause .5 lun "There we go." ("grin", "narrow", "base", "mid") - lun "I'm so used to walking around naked at home so I didn't even realise..." ("grin", "happyCl", "base", "mid") + lun "I'm so used to walking around naked at home, so I didn't even realise..." ("grin", "happyCl", "base", "mid") gen "You walk around naked at home?" ("base", xpos="far_left", ypos="head") lun "Yes?" ("base", "base", "raised", "mid") gen "(No wonder she didn't look phased by taking her clothes off...)" ("base", xpos="far_left", ypos="head") gen "How very progressive..." ("base", xpos="far_left", ypos="head") - lun "It means there's less places for the Nargles to hide in you see." ("grin", "base", "base", "mid") + lun "That way, there are fewer places for the nargles to hide." ("grin", "base", "base", "mid") gen "I see..." ("grin", xpos="far_left", ypos="head") gen "(Just smile and nod...)" ("grin", xpos="far_left", ypos="head") - gen "Well then... I'll let you know when our next session will be [luna_name]." ("base", xpos="far_left", ypos="head") - lun "Of course... Thank you [lun_genie_name]." ("base", "base", "base", "mid") + gen "Well then... I'll let you know when our next session will be [name_luna_genie]." ("base", xpos="far_left", ypos="head") + lun "Of course... Thank you [name_genie_luna]." ("base", "base", "base", "mid") if game.daytime: gen "Now, you best head back to class." ("base", xpos="far_left", ypos="head") else: gen "Now, you best head back to your dorm." ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name]." ("grin", "base", "base", "mid") + lun "Yes [name_genie_luna]." ("grin", "base", "base", "mid") lun "Until next time..." ("base", "base", "base", "mid") call lun_walk(action="leave") - if lun_whoring < 24: - $ lun_whoring = 24 + if states.lun.level < 24: + $ states.lun.level = 24 call end_of_content - jump ll_pf_masturbate.end + jump ll_pf_masturbate_end diff --git a/game/scripts/characters/luna/events/favors/suck_it.rpy b/game/scripts/characters/luna/events/favors/suck_it.rpy new file mode 100644 index 00000000..11b6dd24 --- /dev/null +++ b/game/scripts/characters/luna/events/favors/suck_it.rpy @@ -0,0 +1,1634 @@ +#TODO Add event checks for the existing writing variants once the other T4 Luna events are added + +### Luna Suck It ### + +label ll_pf_blowjob: + + if not _events_completed_any: + gen "{size=-4}(*Hmm*... I wonder if I should ask Luna to suck me off...){/size}" ("base", xpos="far_left", ypos="head") + menu: + "\"(Yes, let's do it!)\"": + pass + + "\"(Not right now.)\"": + $ _event.cancel() + jump luna_favor_menu + + # Start Event + call hide_characters + hide screen bld1 + show screen blkfade + with d5 + pause 1 + + $ lun_outfit_last.save() #Save Luna clothing + $ luna.equip(lun_outfit_default) #Equip Luna Default clothing + + hide screen blkfade + with d5 + + return + +label ll_pf_blowjob_end: + + # Setup + stop music fadeout 2.0 + call hide_characters + + call gen_chibi("sit_behind_desk") + + # Reset Luna clothing. + $ luna.equip(lun_outfit_last) + + if states.lun.tier == 4: + if states.lun.level < 16: + $ states.lun.level += 1 + + jump end_luna_event + +label ll_pf_blowjob_T4_E1_intro: + + call ll_pf_blowjob + + gen "I think it's about time we try a new technique to deal with those wankspurs." ("base", xpos="far_left", ypos="head") + lun "This is the idea that you had, after I've told you about Professor Trelawney reading me my future?" ("open", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + gen "That's--" ("base", xpos="far_left", ypos="head") + lun "\"I will soon find something new within me, that will propel me forward on the path towards my destiny!\"" ("grin", "closed", "base", "mid") + lun "That's what she said!" ("grin", "base", "base", "mid") + lun "Oh my goodness, I can hardly wait!" ("smile", "wide", "base", "mid") + lun "These sessions have been so much fun." ("smile", "happyCl", "base", "mid") + gen "Calm down, [name_luna_genie]..." ("base", xpos="far_left", ypos="head") + gen "This research is very serious business." ("base", xpos="far_left", ypos="head") + gen "So for this to succeed, I'll need you to focus and perform at your very best." ("base", xpos="far_left", ypos="head") + lun "Can do, [name_genie_luna]!" ("smile", "base", "base", "mid") + gen "Now... If you've calmed--" ("base", xpos="far_left", ypos="head") + lun "So, I am to put something new inside of me?" ("smile", "wide", "base", "mid") + gen "...{w} Well... New for you at least, but I'd say in terms of age, it's probably the oldest thing in here." ("base", xpos="far_left", ypos="head") + lun "Wow!" ("open", "wide", "base", "mid") + nar "Luna's eyes begins darting around your office." + gen "*Err*...{w=0.4} What are you doing?" ("base", xpos="far_left", ypos="head") + lun "Oh, I'm just looking around to see if I can spot what it might be." ("grin", "base", "base", "L") + lun "You said it was very old, so it must be some kind of ancient, magical artefact, right?" ("grin", "base", "raised", "R") + gen "That's not--{w=0.4} This isn't a setup for a game of hide and seek." ("angry", xpos="far_left", ypos="head") + gen "If you could just shut your mouth for a moment, I'll tell you!" ("base", xpos="far_left", ypos="head") + lun "..." ("normal", "base", "base", "mid") + gen "*Sigh*..." ("base", xpos="far_left", ypos="head") + gen "(I'm beginning to feel as if these tales I'm spinning are only self-serving at this point...)" ("base", xpos="far_left", ypos="head") + gen "*Ahem*... So... My theory..." ("base", xpos="far_left", ypos="head") + gen "It involves sucking those nasty things out." ("base", xpos="far_left", ypos="head") + lun "..." ("normal", "wide", "base", "stare") #Wide eyed + gen "I suppose it's a bit out there, I was afraid you might not be up for it." ("base", xpos="far_left", ypos="head") + lun "..." ("angry", "wide", "base", "mid") #He did tell her to shut her mouth + gen "..." ("base", xpos="far_left", ypos="head") + gen "You--{w} You can talk now." ("base", xpos="far_left", ypos="head") + lun "Sucking them out?!" ("mad", "wide", "base", "mid") + lun "That's brilliant!" ("smile", "wide", "base", "mid") + gen "...{w} It is?" ("angry", xpos="far_left", ypos="head") + lun "Yes!" ("smile", "wide", "base", "mid") + lun "What better way is there to get them all in one place than applying suction?" ("grin", "wide", "base", "mid") + gen "That's what I thought!" ("grin", xpos="far_left", ypos="head") + lun "But, [name_genie_luna]... How on earth are you supposed to suck them out of me?!" ("soft", "wide", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + lun "Oh, don't tell me!" ("smile", "base", "base", "stare") + lun "You're going to put a wand inside of me and \"accio\" them out!" ("smile", "wide", "base", "mid") + gen "(What the fuck.)" ("base", xpos="far_left", ypos="head") + gen "While I appreciate your input, I think an easier approach is you, sucking them out of me..." ("base", xpos="far_left", ypos="head") + lun "..." ("soft", "wide", "base", "stare") + gen "Out of my cock." ("base", xpos="far_left", ypos="head") + + #TODO if you've not played label ll_pf_talk_T4_E1_repeat: + #lun "..." ("base", "base", "base", "mid") + #gen "*Sigh*... My Penis... [name_luna_genie]." ("base", xpos="far_left", ypos="head") + + lun "Using \"Accio\"?" ("soft", "wide", "base", "mid") + gen "Using your mouth..." ("base", xpos="far_left", ypos="head") + lun "Oh!" ("angry", "wide", "base", "stare") + gen "I mean, if it's not too much to ask... I wouldn't want to--" ("base", xpos="far_left", ypos="head") + lun "I'll do it!" ("smile", "base", "base", "mid") + gen "Great!" ("base", xpos="far_left", ypos="head") + gen "Then let's begin, shall we?" ("base", xpos="far_left", ypos="head") + lun "Yay!" ("smile", "base", "base", "mid") + + #Luna quickly walks up towards the desk, fades to black + + call lun_walk("desk", "base", speed=1.75) + show screen blkfade + with d5 + + if luna.is_any_worn("clothes"): + $ _wearing_clothes = True + $ luna.strip("clothes") + nar "Luna hurriedly makes her way around your desk, strips down and then crawls underneath..." + else: + nar "Luna hurriedly makes her way around your desk and crawls underneath..." + gen "*Err*... It's probably not the best idea to go under my--" + + show lun_blowjob_personal_pose1 as cg + hide screen blkfade + with d5 + + gen "Desk..." + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_wide_left mouth_grin as cg with d3 + lun "My goodness...{w=0.4} I've never seen so much..." + + show lun_blowjob_personal_pose1 eyes_wide_right as cg with d3 + lun "There's more magic down here than under my Wiggentree!" + gen "Wait...{w} Magic?" + show lun_blowjob_personal_pose1 eyebrows_base eyes_base_stare mouth_base as cg with d3 + lun "Yes!" + lun "Why I never would've imagined the wrackspurts drawing out this much magical essence..." + show lun_blowjob_personal_pose1 eyebrows_raised mouth_grin as cg with d3 + lun "Can you not feel it, [name_genie_luna]?" + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_halflid_down as cg with d3 + lun "It's so heavy in the air... It's almost infused into the wood..." + show lun_blowjob_personal_pose1 eyes_halflid_up_hearts as cg with d3 + lun "You can almost taste it..." + + show lun_blowjob_personal_pose1 eyes_closed mouth_base as cg with d3 + nar "Luna takes a deep breath of air under your soiled desk..." + + show lun_blowjob_personal_pose1 mouth_soft as cg with d3 + lun "Wow..." + gen "Are you sure you're okay down there? I haven't cleaned it since...{w=0.5} well...{w=0.5} Ever..." + show lun_blowjob_personal_pose1 mouth_base as cg with d3 + lun "I'm...{w=0.3} Great..." + show lun_blowjob_personal_pose1 eyebrows_angry as cg with d3 + nar "Luna takes another deep breath..." + gen "(She's got to be faking this... No one could be this oblivious...)" + gen "(Still, better not look a gift horse in the mouth...)" + + show lun_blowjob_personal_pose1 eyes_halflid_stare as cg with d3 + nar "While the naive blonde sits under your desk, you decide it's finally time for her to get to work." + + menu: + "-Pull your cock out-": + + show lun_blowjob_personal_pose1 no_trousers eyes_halflid_down mouth_soft as cg with d3 + + nar "You swiftly pull out your hardening cock, and Luna grabs it without hesitation." + + show lun_blowjob_personal_pose1 eyebrows_base eyes_halflid_down mouth_neutral as cg with d3 + lun "{size=-5}Wow...{/size}" + gen "Now, as I said... This technique requires you to suck those nasty little critters out of the affected area..." + gen "And as you know... For me, that's right here." + + show lun_blowjob_personal_pose1 mouth_base as cg with d3 + lun "*Mmm*..." + gen "Just try and make me feel as good as possible, and I'm sure those nasty little buggers will come..." + + show lun_blowjob_personal_pose1 eyebrows_raised mouth_open as cg with d3 + lun "Out?" + gen "Yeah, out, that's it..." + gen "Begin when you're ready, [name_luna_genie]." + + show lun_blowjob_personal_pose1 eyebrows_angry mouth_soft as cg with d3 + lun "Okay..." + + nar "Luna stares at your cock excitedly as she readies herself to take the head into her mouth." + show lun_blowjob_personal_pose1 eyebrows_base mouth_open as cg with d3 + lun "Suck until they come..." + + #Luna puts dick in mouth + show lun_blowjob_personal_pose2 mouth_kiss as cg with d3 + gen "*Ngh*!" + + show lun_blowjob_personal_pose2 eyes_halflid_stare as cg with d3 + lun "*Hmm*?" + gen "I'm good, you just startled me--{w=0.4} I mean, them!" + + show lun_blowjob_personal_pose2 eyebrows_angry eyes_halflid_down as cg with d3 + gen "Now, I'll need you to--" + + show lun_blowjob_personal_pose3 as cg with d3 + + "-Tell her to take it out-": + + gen "I'm a little tired..." + gen "So, why don't you assist me by pulling out the \"affected area\"..." + + show lun_blowjob_personal_pose1 eyebrows_base eyes_halflid_down as cg with d3 + lun "Of course, [name_genie_luna]." + + show lun_blowjob_personal_pose1 no_trousers mouth_soft as cg with d3 + nar "Luna takes a deep breath and then withdraws your hardening cock." + + show lun_blowjob_personal_pose1 eyes_wide_down mouth_grin as cg with d3 + lun "(It looks so much bigger, when I'm this close...)" + gen "You may proceed with the treatment, [name_luna_genie]..." + + play sound "sounds/sniff.ogg" + show lun_blowjob_personal_pose1 eyebrows_worried eyes_closed as cg with d3 + lun "*Sniff* *Sniff*" + + gen "What are you--" + + show lun_blowjob_personal_pose2 as cg with d5 + lun "*Lick* *Lick*" + gen "[name_luna_genie]?" + + show lun_blowjob_personal_pose2 mouth_kiss as cg with d3 + lun "*Kissing noises*" + + gen "[name_luna_genie]!" + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_wide_right mouth_soft as cg with d3 + lun "Sorry [name_genie_luna], I'm listening!" + + gen "As I said... You may proceed with the treatment..." + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_wide_stare as cg with d3 + lun "Oh... Right... Is there any particular way that I should suck on it, [name_genie_luna]?" + gen "*Ahem*... Perhaps sucking isn't the right phrase to describe it..." + gen "The goal is to lure them out, so just try and make the area feel good, first and foremost." + + show lun_blowjob_personal_pose1 eyebrows_base mouth_base as cg with d3 + lun "Okay then..." + show lun_blowjob_personal_pose1 eyebrows_base eyes_halflid_down mouth_grin as cg with d3 + nar "Luna's eyes darts to your cock excitedly as she readies herself to take the head into her mouth." + + show lun_blowjob_personal_pose1 eyebrows_base eyes_wide_down mouth_open as cg with d3 + lun "I'll make sure to lure them out before you even know it!" + gen "That's--" + + show lun_blowjob_personal_pose2 mouth_kiss as cg with d2 + + show lun_blowjob_personal_pose3 as cg with d3 + + "-Shove it in there!-": + + gen "Open wide!" + + show lun_blowjob_personal_pose3 no_trousers genie_arm_petting eyebrows_angry eyes_halflid_up as cg with d3 + nar "You quickly pull out your cock, and then pull Luna's head down your shaft." + + show lun_blowjob_personal_pose3 eyebrows_shocked eyes_wide_up as cg with d3 + lun "*Mff*!!!" + gen "Sorry, I just couldn't wait any longer." + + show lun_blowjob_personal_pose3 eyebrows_base eyes_base_down as cg with d3 + lun "*Mhm*..." + + show lun_blowjob_personal_pose3 -genie_arm_petting as cg with d3 + gen "Glad you understand...{w=0.4} Now, why don't you start by--" + + + show lun_blowjob_personal_pose4 as cg with d3 + + play sound "sounds/gag_01.ogg" + show lun_blowjob_personal_pose5 eyebrows_angry eyes_closed as cg with d3 + with vpunch + + nar "Luna pushes her head all the way down your shaft." + gen "By the gods, girl!" + show lun_blowjob_personal_pose5 eyebrows_raised eyes_base_up as cg with d3 + lun "*Gmph*?" + + #moves head back up + show lun_blowjob_personal_pose4 penis_spit as cg with d3 + + show lun_blowjob_personal_pose3 as cg with d3 + + show lun_blowjob_personal_pose2 as cg with d3 + + lun "*Ish shomhing whon*?" + gen "N-no, of course not...{w=0.3} You're doing great..." + + show lun_blowjob_personal_pose2 eyebrows_shocked as cg with d3 + lun "*Hi ahm*?" + + gen "Yes..." + show lun_blowjob_personal_pose2 eyebrows_base eyes_closed as cg with d3 + lun "*Schan khoo!*" + + show lun_blowjob_personal_pose2 mouth_kiss as cg with d2 + + show lun_blowjob_personal_pose3 as cg with d3 + + show lun_blowjob_personal_pose4 as cg with d3 + nar "After responding to your praise, Luna moves her tongue along the underside of your cock once again, and a sudden rush of pleasure runs through your body." + gen "*Argh*..." + + show lun_blowjob_personal_pose4 eyes_base_up as cg with d3 + lun "*Hmm*?" + gen "Would you please be careful, [name_luna_genie]!" + + #Takes cock out + show lun_blowjob_personal_pose3 as cg with d3 + + show lun_blowjob_personal_pose2 mouth_kiss as cg with d2 + + show lun_blowjob_personal_pose1 eyes_halflid_up mouth_open_spit as cg with d3 + lun "*Pwah*..." + + show lun_blowjob_personal_pose1 eyebrows_worried mouth_annoyed as cg with d3 + lun "Was my performance not satisfactory, [name_genie_luna]?" + gen "No, you were doing surprisingly well, but unless you know how to control your gag--" + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_wide_stare mouth_open as cg with d3 + lun "I knew it! I was hurting you!" + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_base_down mouth_soft as cg with d3 + lun "Should I try inserting my wand and \"Accio\" them out instead?" + gen "What?! That's sounding--{w=0.2} I mean, that sounds awful!" + + show lun_blowjob_personal_pose1 eyebrows_base eyes_base_stare as cg with d3 + lun "But, wasn't I doing it wrong?" + gen "Of course not!" + + show lun_blowjob_personal_pose1 mouth_annoyed as cg with d3 + lun "Then how come you told me to be careful?" + gen "I just figured..." + + show lun_blowjob_personal_pose1 eyebrows_raised as cg with d3 + lun "..." + gen "You know what, just go for it...{w=0.4} I'm sure nothing bad will happen..." + gen "It was probably those nasty wrinklespores that made me stop you in the first place anyway." + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_halflid_down as cg with d3 + lun "Those tricksy little--" + + show lun_blowjob_personal_pose1 eyes_base_down mouth_open as cg with d3 + lun "Don't worry, [name_genie_luna], I'll get them out in no time!" + + play sound "sounds/spit.ogg" + show lun_blowjob_personal_pose1 mouth_spitting as cg with d3 + lun "*Ptui*" + + show lun_blowjob_personal_pose1 handjob_moderate mouth_base as cg with d3 + nar "Without even hesitating, Luna spits on your cock and begins jerking you off." + nar "Her fingers move across your shaft with ease, and you can feel yourself getting close to finishing already." + + show lun_blowjob_personal_pose1 eyes_base_stare mouth_soft as cg with d3 + lun "How's this, [name_genie_luna]? Is this how you usually do it?" + gen "*Ah*...{w=0.4} Yes...{w=0.4} Very good, [name_luna_genie]." + + show lun_blowjob_personal_pose1 handjob_fast mouth_grin as cg with d3 + lun "Thank you, [name_genie_luna]!" + gen "(*Ngh*...{w=0.4} How's she so good at this already?)" + + show lun_blowjob_personal_pose2 as cg with d3 + pause 0.2 + + play background "sounds/slickloop.ogg" fadein 2 + show lun_blowjob_personal_loop as cg with d3 + + gen "*Ghh*!!" + gen "G--{w=0.2} Good work, [name_luna_genie]..." + gen "I--{w=0.2} I think I can feel them coming...{w=0.4} Get ready!" + + gen "That's...{w=0.3} It...{w=0.3} Take all of my cum, you cumslut!" + + #Luna pulls out to speak, and takes a facial + show lun_blowjob_personal_pose1 no_trousers penis_spit cum_precum eyebrows_shocked eyes_wide_stare mouth_open as cg with d3 + + stop background fadeout 2 + lun "What did you call--" + gen "*Argh*!" + + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame0 eyes_wide_down as cg with d2 + show lun_blowjob_personal_pose1 cum_frame1 eyes_wide_stare as cg with d2 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame2 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame3 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame4 as cg with d2 + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_wide_down as cg with d2 + lun "Whoa!{w=0.4}{nw}" + + show lun_blowjob_personal_pose1 mouth_grin as cg + lun "Whoa!{fast} You've covered me in wrackspurts, [name_genie_luna]!" + gen "*Ah*...{w=0.4} I...{w=0.4} Sorry about--" + show lun_blowjob_personal_pose1 eyes_closed as cg with d3 + lun "Oh, I'm so pleased I managed to get so many out at once!" + + show lun_blowjob_personal_pose1 eyes_wide_stare as cg with d3 + nar "Luna looks up at you happily as your cum slowly starts sliding down her face." + + gen "*Ahem*... Perhaps it'd be best if you got out from under the desk now." + + show lun_blowjob_personal_pose1 eyes_halflid_stare mouth_base as cg with d3 + lun "Of course, [name_genie_luna]." + + #Blackfade + #Hide CG + + show screen blkfade with d3 + + $ luna.set_cum(face="heavy") + call lun_chibi("stand","desk","base", flip=False) + + nar "Luna crawls out and happily starts skipping to the front of your desk, then spinning around, she flicks some of the remains of your deed off her hair and onto the stone floor." + + #Fade to Office + hide cg + hide screen blkfade + with d5 + + play sound "sounds/giggle2.ogg" + pause .8 + + lun "I can't believe how fun this was!" ("smile", "happyCl", "base", "mid", xpos="mid", ypos="base", trans=d3) + gen "Glad you enjoyed it." ("grin", xpos="far_left", ypos="head") + lun "Just let me know when you require my assistance again." ("grin", "narrow", "base", "mid") + gen "I most certainly will..." ("base", xpos="far_left", ypos="head") + pause .8 + hide luna_main + with d3 + + call lun_chibi(flip=True) + pause .5 + + gen "[name_luna_genie]." ("base", xpos="far_left", ypos="head") + gen "Aren't you forgetting something?" ("base", xpos="far_left", ypos="head") + + call lun_chibi(flip=False) + + lun "*Ehm*...{w=0.4} Probably...{w=0.4} I'm not the best when it comes to remembering things." ("angry", "base", "raised", "mid") + gen "Don't you think you should clean yourself off a little, before heading to your dorm?" ("base", xpos="far_left", ypos="head") + lun "Oh, don't worry [name_genie_luna], I'm not going to my dorm, I'm going to the library." ("base", "wink", "base", "mid") + gen "That doesn't--" ("base", xpos="far_left", ypos="head") + lun "Oh, wait! I {i}did{/i} forget something!" ("angry", "base", "base", "stare") + gen "...{w=0.4} Right?" ("base", xpos="far_left", ypos="head") + lun "You called me a cumslut." ("grin", "base", "base", "mid") + gen "*Err*...{w=0.4} I did? You sure I didn't say...{w=0.4} *Err*...{w=0.4} thumb cut?!" ("angry", xpos="far_left", ypos="head") + lun "No, I'm certain you said cumslut! You said it, just before you released a bucketload of wrackspurts all over my face!" ("grin", "base", "base", "mid") + gen "Oh..." ("angry", xpos="far_left", ypos="head") + lun "So, is that what I am?! What does it mean?!" ("smile", "base", "base", "mid") + gen "*Err*...{w=0.4} I guess you--{w=0.2} Why, it just means that you enjoy making someone cum!" ("base", xpos="far_left", ypos="head") + lun "Cum..." ("base", "narrow", "base", "down") + lun "Is that another name for the magical essence that is released?" ("grin", "base", "raised", "mid") + gen "Sure is...{w=0.4} I figured why not have a singular word for both the substance, and the action." ("base", xpos="far_left", ypos="head") + lun "I like it!" ("smile", "base", "base", "mid") + gen "And since you appeared to be enjoying it, I figured that cumslut would be an appropriate title for you." ("base", xpos="far_left", ypos="head") + lun "Oooh...{w=0.4} I see!" ("grin", "base", "base", "stare") + lun "You know me so well, [name_genie_luna]! I truly am a cumslut!" ("grin", "happyCl", "raised", "mid") + gen "Indeed you are!" ("grin", xpos="far_left", ypos="head") + lun "Well, I better let everyone know my new title!" ("base", "base", "base", "mid") + gen "Oh, *Err*...{w=0.4} I don't think that's such a good idea."("base", xpos="far_left", ypos="head") + lun "*Aww*... Why not?" ("annoyed", "wink", "base", "mid") + gen "Because...{w=0.4} I'm your patient now! Yes, that's it!" ("grin", xpos="far_left", ypos="head") + gen "Patient confidentiality and all that." ("grin", xpos="far_left", ypos="head") + lun "I see! I think I've heard about that!" ("grin", "base", "base", "stare") + lun "Well then, at least you can be pleased to know that I'm a cumslut now!" ("base", "base", "base", "mid") + gen "Very pleased, indeed!" ("grin", xpos="far_left", ypos="head") + lun "Well, I better get going...{w=0.4} Too-da-loo!" ("grin", "base", "base", "mid") + + call lun_walk(action="leave") + + gen "*Heh-heh*...{w=0.4} Very pleased..." ("grin", xpos="far_left", ypos="head") + if _wearing_clothes: + gen "(Wait... Wasn't she wearing something when she arrived?)" ("angry", xpos="far_left", ypos="head") + gen "(And, she didn't even clean herself!)" ("angry", xpos="far_left", ypos="head") + else: + gen "(Wait, she didn't clean herself!)" ("angry", xpos="far_left", ypos="head") + + $ luna.set_cum(None) + + $ _wearing_clothes = False + + $ states.lun.ev.lun_cumslut_nickname_unlocked = True + $ states.lun.status.blowjob = True + $ states.lun.status.cumshot = True + + jump ll_pf_blowjob_end + +label ll_pf_blowjob_T4_E2_intro: + + call ll_pf_blowjob + + gen "I've got another theory that I'd like us to try today, [name_luna_genie]." ("base", xpos="far_left", ypos="head") + lun "Oh... Are we already finished with testing the sucking technique?" ("annoyed", "narrow", "base", "downL", xpos="base", ypos="base", trans=d3) + gen "Heavens no!" ("base", xpos="far_left", ypos="head") + gen "I'll need you to do it at least two more times as to not break the format." ("base", xpos="far_left", ypos="head") + lun "The format?" ("soft", "narrow", "raised", "mid") + gen "Since we've already made plenty of progress in terms of extracting. It is now time to explore the more important matter of disposing." ("base", xpos="far_left", ypos="head") + lun "Ooooh...{w=0.4} Good idea, [name_genie_luna]!" ("grin", "base", "base", "stare") + lun @ cheeks blush "Although...{w=0.4} Well, are you certain I am the most suitable person to help with this?" ("soft", "narrow", "base", "mid") + gen "Most certainly, [name_luna_genie]." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I see..." ("base", "narrow", "base", "downL") + lun "Well, in that case, why don't we try using \"scourgify\" on them?" ("grin", "base", "base", "mid") + gen "Scurvy-what?" ("base", xpos="far_left", ypos="head") + lun "The scouring charm!" ("base", "narrow", "base", "mid") + lun "Professor Snape used it to wash the mouth of one of my classmates, when they let out a swear during class." ("open", "base", "base", "mid") + lun "So, I figured if you use the charm on the wrackspurts as soon as they come out, it should clean them up in no time!" ("smile", "base", "base", "mid") + gen "Well, I do think--" ("base", xpos="far_left", ypos="head") + lun "And if that doesn't work, we could try the drought charm!" ("grin", "base", "base", "mid") + lun "They'd get all dried out, and the only thing that'd remain is a flaky crust on my face!" ("grin", "closed", "base", "mid") + gen "...{w} Or you could just swallow them." ("base", xpos="far_left", ypos="head") + lun "Swallow--" ("soft", "wide", "base", "stare") + lun "You believe that wrackspurts are unable to survive in someone's stomach, [name_genie_luna]?" ("soft", "wide", "base", "mid") + gen "Sure...{w=0.4} Let's go with that." ("base", xpos="far_left", ypos="head") + lun "Wow, your brilliance astounds me yet again, [name_genie_luna]." ("smile", "wide", "base", "mid") + gen "So, are you up for it? Some women don't like to--" ("base", xpos="far_left", ypos="head") + lun "Why of course, [name_genie_luna]!" ("smile", "happyCl", "base", "mid") + lun "No trouble at all!" ("base", "base", "base", "mid") + lun "May I crawl under your desk again?" ("grin", "base", "base", "mid") + gen "You don't have to, I could just turn the chair around." ("base", xpos="far_left", ypos="head") + lun "Oh no, I want to..." ("grin", "base", "base", "downL") + lun "I've always been rather fond of small spaces..." ("base", "base", "base", "mid") + lun "When I was a little girl, I used to hide under the roots of a huge {i}Wiggentree{/i} near our home..." ("base", "closed", "base", "mid") + lun "I've never experienced a greater sense of security than when I sought shelter beneath the comforting embrace of that tree's roots." ("base", "narrow", "base", "downL") + gen "..." ("base", xpos="far_left", ypos="head") + gen "Then feel free to crawl under the desk if you must..." ("base", xpos="far_left", ypos="head") + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") + + #Luna quickly walks up towards the desk, fades to black + call lun_walk("desk", "base", speed=1.75) + show screen blkfade + with d5 + + if luna.is_any_worn("clothes"): + $ _wearing_clothes = True + $ luna.strip("clothes") + nar "Luna quickly makes her way around your desk, strips, and then crawls underneath." + else: + nar "Luna quickly makes her way around your desk, and crawls underneath." + + show lun_blowjob_personal_pose1 as cg + hide screen blkfade + with d5 + + show lun_blowjob_personal_pose1 eyebrows_worried eyes_closed as cg with d3 + lun "*Ah*...{w=0.4} There's that familiar scent..." + gen "..." + + show lun_blowjob_personal_pose1 eyebrows_base eyes_base_stare mouth_grin as cg with d3 + lun "I think I could get used to doing this..." + gen "I don't doubt it." + + show lun_blowjob_personal_pose1 eyes_halflid_stare mouth_grin as cg with d3 + lun "It's like brushing your teeth, you know." + gen "What?" + gen "You better not get your teeth anywhere near it." + + play sound "sounds/giggle.ogg" + pause 1 + + #Luna smiles + show lun_blowjob_personal_pose1 eyebrows_angry eyes_base_stare mouth_base as cg with d3 + lun "Not like that, silly..." + + show lun_blowjob_personal_pose1 eyes_halflid_down as cg with d3 + lun "What I meant, is that I wouldn't mind this becoming more of a habit, like brushing your teeth." + gen "Right..." + + show lun_blowjob_personal_pose1 mouth_open as cg with d3 + lun "Although I must say..." + + #Luna pulls genies trousers down so his cock pops out + + show lun_blowjob_personal_pose1 no_trousers eyebrows_shocked eyes_halflid_down_hearts mouth_open_spit as cg with d3 + lun "I've found this activity to be far more enjoyable than brushing your teeth..." + gen "If you say--" + + #Luna pushes her head down genie's shaft + show lun_blowjob_personal_pose2 mouth_kiss as cg with d2 + show lun_blowjob_personal_pose3 as cg with d3 + show lun_blowjob_personal_pose4 as cg with d3 + + play sound "sounds/gag_01.ogg" + show lun_blowjob_personal_pose5 eyebrows_angry eyes_closed as cg with d3 + with vpunch + + gen "*Ngh*!" + gen "Eager today, are we?" + + show lun_blowjob_personal_pose5 eyes_halflid_up as cg with d3 + lun "*Mhm*..." + + #moves head back up + show lun_blowjob_personal_pose4 penis_spit as cg with d3 + + show lun_blowjob_personal_pose3 as cg with d3 + + show lun_blowjob_personal_pose2 as cg with d3 + + lun "*Pwah*" + gen "*Ah*....{w=0.4} Excellent work, [name_luna_genie]..." + show lun_blowjob_personal_pose2 eyes_closed as cg with d3 + lun "*Glae U Ike Eet*" + + show lun_blowjob_personal_pose2 eyes_halflid_down_hearts as cg with d3 + show lun_blowjob_personal_pose2 mouth_kiss as cg with d2 + play background "sounds/slickloop.ogg" fadein 2 + show lun_blowjob_personal_loop as cg with d3 + nar "Without hesitating, Luna starts bobbing her head happily down your shaft, the thought of swallowing your cum being the only thing occupying her mind." + nar "Looking down at the girl, you can't help but appreciate her commitment." + gen "Now, I'm going to need you to--{w=0.4} Relax your throat...{w=0.4} We wouldn't want any of them to escape..." + gen "You think you could do that?" + lun "*Mhm*..." + nar "You feel Luna's throat muscles relax slightly as she prepares herself to take your load down her throat." + gen "*Ah*... Yes, that's it, [name_luna_genie]... Just like that." + nar "Luna continues bobbing her head up and down your shaft happily, and you can feel your cock reaching all the way down towards the back of her throat..." + gen "(Bloody hell... How is this girl... so good at this?)" + lun "(*Hmm*...)" + lun "(Looks like he's really enjoying it when I push my head down...)" + + #Luna moves down and keeps her head there + stop background + play sound "sounds/gag_03.ogg" + show lun_blowjob_personal_pose5 penis_spit eyebrows_angry eyes_closed as cg with d3 + with vpunch + gen "What are you--" + + show lun_blowjob_personal_pose5 eyes_halflid_up_hearts as cg with d3 + nar "With her head firmly down your shaft, Luna begins moving her tongue, the lack of oxygen barely even phasing her." + gen "Girl... Don't forget you need to--" + + #Luna moves again + play background "sounds/slickloop.ogg" fadein 2 + show lun_blowjob_personal_loop_ahegao as cg with d3 + nar "Luna starts bobbing her head again, although this time, you can sense the tip of her tongue playfully licking the underside of your shaft." + nar "Taken aback by her sheer enthusiasm, you can't help but let out a groan of pleasure." + + gen "*Aaah*..." + + nar "Feeling yourself getting closer to the edge, you start to tense up your pelvis muscles." + nar "Luna, eagerly anticipating your load, keeps sucking your cock fervently." + + gen "By the great desert--{w=0.3} Get ready, girl!" + + stop background + show lun_blowjob_personal_pose5 penis_spit eyebrows_base eyes_halflid_down_hearts as cg with d3 + with vpunch + lun "{heart}*Mmmf*{heart}" + + show lun_blowjob_personal_pose5 penis_spit eyebrows_angry eyes_halflid_up_hearts as cg with d3 + nar "You suddenly feel Luna's throat tense around your cock, and with a rush of pleasure coursing through your body, wave after wave of semen starts shooting down her throat." + gen "*Nnngh*...{w=0.5} AAHH!!!!" + + #Bobbing stops and Genie cums down her throat + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 penis_spit eyebrows_base eyes_closed as cg with d3 + play sound "sounds/gulp.ogg" + pause 1 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 throatpie_frame0 as cg with d3 + pause 1 + play sound "sounds/gag_05.ogg" + show lun_blowjob_personal_pose5 throatpie_frame1 eyebrows_angry as cg with d3 + pause 1 + + #Luna pulls out + show lun_blowjob_personal_pose4 throatpie_frame0 as cg with d3 + show lun_blowjob_personal_pose3 as cg with d3 + show lun_blowjob_personal_pose2 mouth_kiss as cg with d3 + show lun_blowjob_personal_pose1 no_trousers eyebrows_worried eyes_halflid_up mouth_open_tongue as cg with d3 + + lun "*Ah*...{w=0.4} I...{w=0.4} *Pant*...{w=0.5}{nw}" + show lun_blowjob_personal_pose1 eyes_halflid_stare mouth_open_spit as cg + lun "*Ah*... I... *Pant*...{fast} I couldn't--{w=0.2} I didn't manage to swallow them all, [name_genie_luna]..." + gen "*Ah*...{w=0.4} Don't--{w=0.2} don't worry, [name_luna_genie]..." + gen "Your performance... Was highly... Satisfactory..." + + show lun_blowjob_personal_pose1 eyes_halflid_down mouth_neutral as cg with d3 + lun "I...{w=0.4} Alright then..." + + show screen blkfade with d3 + + show lun_blowjob_personal_pose5 eyebrows_angry eyes_halflid_down_hearts -throatpie_frame0 as cg with d3 + lun "..." + gen "..." + gen "[name_luna_genie]?" + gen "You can come out from under the desk now..." + lun "..." + gen "[name_luna_genie]?" + + play sound "sounds/gltch.ogg" + with kissiris + pause 0.5 + hide screen blkfade with d3 + + gen "[name_luna_genie]!" + + #moves head back up + show lun_blowjob_personal_pose4 as cg with d3 + + show lun_blowjob_personal_pose3 as cg with d3 + + show lun_blowjob_personal_pose2 mouth_kiss as cg with d3 + lun "*Slrp-pop*!{w=0.4}{nw}" + show lun_blowjob_personal_pose2 eyes_halflid_up_hearts as cg + lun "*Slrp-pop*!{fast}" + show lun_blowjob_personal_pose1 eyes_halflid_down mouth_base as cg with d3 + lun "There we are...{w=0.4}{nw}" + show lun_blowjob_personal_pose1 eyes_halflid_down mouth_grin as cg + lun "There we are...{fast} Much better..." + + show screen blkfade with d3 + + call lun_chibi("stand","desk","base", flip=False) + + nar "With a contented smile, now spreading across her face, Luna crawls out and walks to the front of your desk." + + #Fade to Office + hide cg + hide screen blkfade + with d5 + + lun "Those nasty wrackspurts were giving you a lot of trouble, weren't they [name_genie_luna]?" ("open", "narrow", "worried", "mid", xpos="mid", ypos="base", trans=d3) + lun "Swallowing them all sure proved itself quite a bit more difficult than I had anticipated..." ("soft", "narrow", "base", "mid") + gen "Well, I certainly appreciate the extra effort you put into it." ("grin", xpos="far_left", ypos="head") + lun "So... Do you believe I managed to dispose of them all, [name_genie_luna]?" ("soft", "narrow", "base", "downR") + gen "What?" ("base", xpos="far_left", ypos="head") + lun "Since I went back for seconds to clean them all up... Does that mean they're gone for good?" ("open", "base", "base", "mid") + gen "I'm sure there's more to come..." ("base", xpos="far_left", ypos="head") + lun "Oh... Well, that's good." ("base", "closed", "base", "mid") + lun @ cheeks blush "I mean--" ("angry", "base", "base", "mid") + gen "Now, if you don't mind..." ("base", xpos="far_left", ypos="head") + gen "This encounter with those...{w=0.4} Things... Has left me rather exhausted..." ("base", xpos="far_left", ypos="head") + lun "Oh... Okay..." ("soft", "base", "base", "downL") + + if _wearing_clothes: + hide luna_main + with d3 + $ luna.wear("all") + with d3 + pause .5 + + if game.daytime: + lun "I best be off to divination class..." ("base", "base", "base", "mid") + else: + lun "I better head off to bed then." ("base", "base", "base", "mid") + + lun "Oh, before I go... There's something I wanted to ask you... If that's alright?" ("base", "base", "raised", "mid") + gen "Sure thing." ("base", xpos="far_left", ypos="head") + lun "I was thinking about that prediction Professor Trelawney performed on me." ("open", "base", "base", "R") + gen "Right?" ("base", xpos="far_left", ypos="head") + lun "It's just... How could something be a true prediction, if hearing it is required for it to become true?" ("open", "base", "base", "mid") + gen "What?" ("base", xpos="far_left", ypos="head") + lun "I mean... I shared the details of the prediction with you, didn't I? Then you subsequently derived an idea from its contents." ("open", "base", "base", "mid") + lun "Doesn't that make the prediction more of a self-fulfilling prophecy, and not an actual prophecy?" ("open", "base", "raised", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + gen "(The way this girl's mind figures things out, is genuinely unpredictable.)" ("base", xpos="far_left", ypos="head") + gen "So, what you're saying is that fortune telling is just psychological manipulation, where the subject is lead down a path where they themselves allow it to become a reality?" ("base", xpos="far_left", ypos="head") + lun "*Huh*?" ("angry", "base", "base", "mid") + gen "Or that predictions are based on past knowledge, and even if you had not told me, it is something that I would've naturally come up with either way?" ("base", xpos="far_left", ypos="head") + lun "*Ehm*..." ("disgust", "narrow", "base", "mid") + gen "You've not been telling her about our research, have you?" ("base", xpos="far_left", ypos="head") + lun "Oh--{w=0.4} Of course not!" ("angry", "base", "base", "mid") + lun "The only way she'd know is if she was somehow able to read my mind!" ("angry", "base", "base", "mid") + gen "I see... So, highly improbable." ("base", xpos="far_left", ypos="head") + gen "Either way, while I'm always up for figuring out how this universe works, I believe there are more important things to prioritise." ("base", xpos="far_left", ypos="head") + lun "This universe?" ("soft", "narrow", "base", "stare") + gen "These priorities include this dick getting sucked on a regular basis." ("base", xpos="far_left", ypos="head") + lun "Oh, why of course, [name_genie_luna]!" ("grin", "base", "base", "mid") + lun "Just call for me any time you need me, and I'll be under your desk, sucking, before you know it!" ("smile", "base", "base", "mid") + gen "So, you'll happily be my call girl?" ("base", xpos="far_left", ypos="head") + lun "Of course, [name_genie_luna]!" ("base", "base", "base", "mid") + gen "Well, you said it, not me." ("base", xpos="far_left", ypos="head") + lun "..." ("base", "base", "base", "mid") + gen "Well, go on then... How am I supposed to call you, unless you leave?" ("base", xpos="far_left", ypos="head") + lun "Oh, right!" ("angry", "base", "base", "mid") + if game.daytime: + lun "Have a nice day!" ("smile", "base", "base", "mid") + else: + lun "Have a nice evening!" ("base", "base", "base", "mid") + + lun "And thanks for cumming in my mouth!" ("smile", "base", "base", "mid") + gen "Oh...{w=0.4} *Err*...{w=0.4} You're welcome?" ("base", xpos="far_left", ypos="head") + + call lun_walk(action="leave") + + gen "...{w} (I feel like I've just unlocked a new fetish somehow...)" ("base", xpos="far_left", ypos="head") + + $ _wearing_clothes = False + $ states.lun.status.gokkun = True + + jump ll_pf_blowjob_end + +label ll_pf_blowjob_T4_E3_intro: + + call ll_pf_blowjob + + gen "[name_luna_genie], care to help me with--" ("base", xpos="far_left", ypos="head") + lun "Of course, [name_genie_luna]! Today is Sunday, after all!" ("smile", "narrow", "base", "mid", xpos="base", ypos="base", trans=d3) + + call lun_walk("desk", "base", speed=1.75) + + gen "I didn't even tell you what--" ("base", xpos="far_left", ypos="head") + gen "Wait...{w=0.4} It's Sunday?" ("base", xpos="far_left", ypos="head") + gen "(I thought weekends didn't exist in this universe...)" ("base", xpos="far_left", ypos="head") + lun "Yes! It's Mister Sun's happy day!" ("grin", "narrow", "base", "mid", xpos="mid", ypos="base", trans=d3) + menu: + "-Enough with the nonsense-": + gen "And here I thought my calendar said {i}Suckday{/i} on it." ("base", xpos="far_left", ypos="head") + lun "*Huh*?" ("angry", "base", "base", "mid") + gen "That's why I called you here, to suck those spurts out for me." ("base", xpos="far_left", ypos="head") + + #giggles + play sound "sounds/giggle.ogg" + pause 1 + + lun "Oh... You're so silly sometimes, [name_genie_luna]." ("grin", "happyCl", "base", "mid") + gen "I'm a hundred percent serious." ("base", xpos="far_left", ypos="head") + lun "Oh! Sorry, I don't always know when someone is joking..." ("angry", "narrow", "base", "mid") + gen "So, since it's \"Suckday\" today...{w=0.4} You think you could help me?" ("base", xpos="far_left", ypos="head") + lun "Of course!" ("angry", "base", "base", "mid") + "-Humour her-": + if game.daytime: + if game.weather == "clear": #Sunny + gen "Right..." ("base", xpos="far_left", ypos="head") + lun "Can't you see the radiant joy on Mister Sun's face?" ("grin", "base", "base", "L") + gen "Looks like the same burning ball of fire to me." ("base", xpos="far_left", ypos="head") + lun "[name_genie_luna], don't look directly at him!" ("mad", "wide", "base", "mid") + gen "Whops." ("base", xpos="far_left", ypos="head") + gen "(Mortals and their weak retinas...)" ("base", xpos="far_left", ypos="head") + gen "(Hold on... Did she actually give me some useful advice--)" ("angry", xpos="far_left", ypos="head") + lun "The sun is rather bashful and doesn't like it when you stare directly at him." ("angry", "base", "base", "mid") + gen "(Never mind...)" ("base", xpos="far_left", ypos="head") + else: #cloudy/rain/snow + gen "Are you sure about that?" ("base", xpos="far_left", ypos="head") + lun "Of course! Can't you see the radiant joy on Mister Sun's face?" ("smile", "base", "base", "L") + gen "*Err*... It's not really visible right now..." ("base", xpos="far_left", ypos="head") + lun "Oh..." ("soft", "narrow", "base", "L") + lun "Maybe he's just being shy..." ("open", "base", "base", "L") + gen "The sun... Is being, shy?" ("base", xpos="far_left", ypos="head") + lun "Obviously... Why else would Daddy tell not to look directly at him?" ("soft", "base", "base", "mid") + gen "...{w=0.4} I suppose that's a reasonable conclusion to make." ("base", xpos="far_left", ypos="head") + lun "That said... Even if he's being shy, that doesn't mean we shouldn't acknowledge him on his special day." ("base", "base", "base", "mid") + gen "(Hold on... Is she one of those sun worshippers?)" ("base", xpos="far_left", ypos="head") + gen "(Don't tell me she's been trying to groom me for some peculiar sacrificial role...)" ("base", xpos="far_left", ypos="head") + lun "Don't you think so too, [name_genie_luna]?" ("grin", "base", "base", "mid") + gen "(Is that why she's been trying so hard to suck me dry?)" ("base", xpos="far_left", ypos="head") + lun "[name_genie_luna]?" ("soft", "base", "base", "mid") + gen "Please, don't suck me dry!" ("base", xpos="far_left", ypos="head") + lun "*Huh*?" ("angry", "base", "base", "mid") + gen "*Err*... Never mind..." ("base", xpos="far_left", ypos="head") + else: + gen "Right..." ("base", xpos="far_left", ypos="head") + gen "Why is it his happy day, again?" ("base", xpos="far_left", ypos="head") + lun "Because he gets to remind us about our limited time on this earth." ("grin", "base", "base", "mid") + gen "I see... Sounds like a very happy occasion indeed..." ("base", xpos="far_left", ypos="head") + gen "So, what is it this time, an impending alien abduction or something?" ("base", xpos="far_left", ypos="head") + + #giggles + play sound "sounds/giggle.ogg" + pause 1 + + lun "Good one, [name_genie_luna]!" ("smile", "narrow", "base", "mid") + gen "(So, she doesn't believe in aliens... The irony...)" ("base", xpos="far_left", ypos="head") + lun "..." ("grin", "base", "base", "mid") #smiles + gen "..." ("base", xpos="far_left", ypos="head") + + + gen "So... What's so special about Sundays, exactly?" ("base", xpos="far_left", ypos="head") + lun "I'm glad you asked!" ("grin", "base", "base", "mid") + lun "Sundays are the day of the week when we acknowledge the importance of the sun." ("grin", "narrow", "base", "mid") + gen "Right..." ("base", xpos="far_left", ypos="head") + lun "The sun's movement reminds us all to spend our time on this earth to the fullest, after all." ("grin", "base", "base", "mid") + gen "*Hmm*... Well, I can't say that I can relate to that very much." ("base", xpos="far_left", ypos="head") + lun "It also marks the end of the weekend and makes you look forward to getting back to work or school the next day." ("base", "base", "base", "mid") + gen "Ah, yes. Now that certainly is relatable..." ("base", xpos="far_left", ypos="head") + lun "The sun itself should also be appreciated, as it has given us life itself." ("smile", "base", "base", "mid") + lun "I mean, I wouldn't be standing here if it wasn't for the sun." ("grin", "narrow", "base", "mid") + gen "Then let's not waste the day any further!" ("base", xpos="far_left", ypos="head") + gen "If I'm to live life to the fullest, then I'll require your help again, [name_luna_genie]." ("base", xpos="far_left", ypos="head") + lun "Again, [name_genie_luna]?" ("soft", "base", "base", "mid") + gen "The spurts have been quite lively today... Must be because it's Sunday and all that." ("base", xpos="far_left", ypos="head") + lun "Oh, I see!" ("smile", "base", "base", "mid") + gen "So, do you think you and your mouth could help me again?" ("base", xpos="far_left", ypos="head") + lun "Certainly [name_genie_luna], I'd be happy to!" ("grin", "base", "base", "mid") + gen "Praise the sun!" ("grin", xpos="far_left", ypos="head") + + lun "My mouth is here for you, whenever you need it, [name_genie_luna]." ("smile", "base", "base", "mid") + gen "That's--" ("grin", xpos="far_left", ypos="head") + lun "Any time!" ("smile", "wide", "base", "mid") + gen "Greatly appreciated--" ("grin", xpos="far_left", ypos="head") + lun "Even if I'm asleep!" ("smile", "wide", "base", "mid") + gen "..." ("angry", xpos="far_left", ypos="head") + lun "So, just wake me up whenever you need it!" ("grin", "wink", "base", "mid") + lun "I even made sure to brush my tongue for you!" ("smile", "base", "base", "mid") + gen "Well, that's--" ("base", xpos="far_left", ypos="head") + lun "Look!{w=0.4}{nw}" ("scream", "base", "base", "mid") + lun "Look!{fast} Aaaaaah..." ("open_wide_tongue", "base", "base", "mid") + gen "Right...{w=0.4} Well, I don't think--" ("base", xpos="far_left", ypos="head") + lun "If you don't believe it, you could always brush it yourself!" ("grin", "base", "base", "mid") + lun "Would you like that, [name_genie_luna]?" ("smile", "base", "base", "mid") + gen "That's--{w=0.2} You didn't watch a certain video since your last visit, did you?" ("base", xpos="far_left", ypos="head") + lun "A what?" ("soft", "base", "base", "mid") + gen "Never mind..." ("base", xpos="far_left", ypos="head") + gen "So... Ready to suck some dick?" ("base", xpos="far_left", ypos="head") + lun "Of course, [name_genie_luna]! I love sucking dick!" ("smile", "base", "base", "mid") + gen "...{w=0.4} You do?" ("base", xpos="far_left", ypos="head") + lun "Oh, it's an absolute blast!" ("grin", "base", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + lun "I mean...{w=0.4} Focusing on ridding you of wrackspurts is my top priority, not having fun, of course!" ("angry", "base", "base", "mid") + gen "*He-heh*" ("grin", xpos="far_left", ypos="head") + gen "Well, I certainly don't see anything wrong with you having a bit of fun, as long as you get the job done..." ("base", xpos="far_left", ypos="head") + lun "Great!" ("grin", "base", "base", "mid") + + show screen blkfade + with d5 + + if luna.is_any_worn("clothes"): + $ _wearing_clothes = True + $ luna.strip("clothes") + + gen "Under the desk again, [name_luna_genie]?" + lun "I like it down here..." + gen "Very well..." + + show lun_blowjob_personal_pose1 no_trousers eyebrows_angry eyes_halflid_down_hearts mouth_base as cg + hide screen blkfade + with d5 + + lun "*Mmm*...{w=0.4} Hello there Mister penis..." + gen "(Somehow I'm feeling like a third wheel, even though it's only the two of us...)" + + show lun_blowjob_personal_pose1 mouth_open_spit as cg with d3 + pause 0.4 + gen "Steady girl...{w=0.4} There's no need to rush..." + + show lun_blowjob_personal_pose1 eyes_halflid_stare_hearts mouth_soft as cg with d3 + lun "But..." + gen "Fine...{w=0.4} Go on then..." + + show lun_blowjob_personal_pose1 eyes_halflid_down_hearts mouth_grin as cg with d3 + lun "Yay!" + + show screen blkfade + with d5 + + play background "sounds/slickloop.ogg" fadein 2 + show lun_blowjob_personal_loop_ahegao as cg with d3 + + nar "Over the next hour, Luna remains kneeling beneath your desk, relentlessly assaulting your cock as if her life depended on it." + + hide screen blkfade + with d5 + + gen "I--{w=0.2} I think this is it!" + lun "*Mmm*..." + gen "Get ready to--" + + play sound "sounds/gag_01.ogg" + stop background fadeout 2 + show lun_blowjob_personal_pose5 penis_spit eyebrows_base eyes_closed as cg with d3 + nar "Before you can finish your sentence, Luna thrusts her head forward, forcing your cock down her throat." + + show lun_blowjob_personal_pose5 genie_arm_idle as cg with d3 + nar "You grab the edge of your desk to steady yourself as your balls begin to contract, releasing one of the largest loads of your life." + gen "By the--" + + #Bobbing stops and Genie cums down her throat + + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 eyes_halflid_down_hearts as cg with d3 + play sound "sounds/gulp.ogg" + pause 1 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 eyes_halflid_stare_hearts as cg with d3 + play sound "sounds/gulp.ogg" + pause 1 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 eyebrows_base eyes_halflid_up_hearts as cg with d3 + play sound "sounds/gulp.ogg" + pause 1 + + show lun_blowjob_personal_pose4 as cg with d3 + show lun_blowjob_personal_pose3 as cg with d3 + + show lun_blowjob_personal_pose2 mouth_kiss as cg with d3 + lun "*Slrp-pop*!{w=0.4}{nw}" + show lun_blowjob_personal_pose2 eyes_halflid_up_hearts as cg + lun "*Slrp-pop*!{fast}" + show lun_blowjob_personal_pose1 no_trousers eyes_halflid_stare_hearts mouth_open_cum as cg with d3 + lun "Aaaah...{w=0.4}{nw}" + + play sound "sounds/gulp.ogg" + show lun_blowjob_personal_pose1 eyes_closed mouth_neutral as cg + lun "Aaaah...{fast} *Gulp*...{w=0.4}{nw}" + + show lun_blowjob_personal_pose1 eyes_wide_stare_hearts mouth_base as cg + lun "Aaaah... *Gulp*...{fast} All gone..." + + show lun_blowjob_personal_pose1 eyes_halflid_stare_hearts mouth_grin as cg with d3 + lun "Thank you so much, [name_genie_luna]..." + + show lun_blowjob_personal_pose1 -genie_arm_idle as cg with d3 + gen "*Huh*? For what?" + + show lun_blowjob_personal_pose1 mouth_base as cg with d3 + lun "You were the only person who took me seriously about the wrackspurts problem..." + + show lun_blowjob_personal_pose1 mouth_soft as cg with d3 + lun "And you've been so nice, and patient, and have taught me so many things..." + + show lun_blowjob_personal_pose1 eyes_halflid_down_hearts as cg with d3 + lun "And this cum..." + + show lun_blowjob_personal_pose1 mouth_grin as cg with d3 + lun "It's so good! It's as if it's made of pure magic!" + + show lun_blowjob_personal_pose1 handjob_moderate as cg with d3 + lun "I can't get enough of it!" + + show lun_blowjob_personal_pose1 eyebrows_worried eyes_closed as cg with d3 + lun "Thank you, thank you, thank you!" + + show lun_blowjob_personal_pose1 handjob_fast eyebrows_base eyes_base_stare_hearts as cg with d3 + lun "You're the best genie ever!" #heart eyes + + #Luna kiss dick + show lun_blowjob_personal_pose2 eyebrows_angry eyes_closed mouth_kiss as cg with d3 + lun "*Kissing noises*" + nar "With that, Luna starts kissing and licking the tip of your cock, shamelessly slobbering over every inch of it..." + + gen "*Ngh*... I'm glad you're enjoying yourself." + gen "And indeed, I {i}am{/i} the best genie ever..." + + play sound "sounds/scratch.ogg" + + gen "Wait...{w=0.5} Did you just say {b}GENIE{/b}?!" + + show lun_blowjob_personal_pose2 eyes_halflid_up_hearts mouth_kiss as cg with d2 + lun "*Slrp*?" + + show lun_blowjob_personal_pose1 eyebrows_raised eyes_halflid_stare mouth_base as cg with d3 + lun "I mean you are a genie, aren't you?" + gen "Well, yes..." + gen "But how did you know? Don't tell me the cloaking thingy had an expiration date..." + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_base_stare mouth_grin as cg with d3 + lun "Oh, don't worry [name_genie_luna]... I can only see your true form when I'm wearing my spectrespecs!" + gen "Those glasses? So, you're saying you've known this whole time?" + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_halflid_down mouth_base as cg with d3 + lun "Well, I wasn't a hundred percent sure you were a genie until I tasted this..." + + show lun_blowjob_personal_pose1 eyebrows_base as cg with d3 + lun "I doubt any other creature could produce something this tasty..." + + show lun_blowjob_personal_pose1 mouth_grin as cg with d3 + lun "Not even a unicorn..." + gen "So...{w=0.4} You don't mind that I'm a genie?" + + show lun_blowjob_personal_pose1 eyes_halflid_stare mouth_soft as cg with d3 + lun "Nope! Not unless it bothers you..." + gen "As long as you keep sucking like that, you can think I'm the Prince of Persia..." + gen "Just don't expect any wishes." + + show lun_blowjob_personal_pose1 mouth_annoyed as cg with d3 + lun "Oh...{w=0.4} Why not?" + gen "Well... First off, you have to rub--" + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_wide_stare mouth_grin as cg with d3 + lun "I can do that!" + + show lun_blowjob_personal_pose1 handjob_moderate eyebrows_angry eyes_halflid_down as cg with d3 + + gen "That's not--{w=0.2} Well, I suppose if it's cum that you want..." + nar "You quickly realise that Luna isn't paying you much attention, as her gaze has once again locked onto your cock." + gen "Steady on, girl...{w=0.4} Don't you think you've had enough for one day?" + + show lun_blowjob_personal_pose1 mouth_open_spit as cg with d3 + lun "{size=-4}Come on out already...{/size}" + gen "[name_luna_genie]!" + + show lun_blowjob_personal_pose1 -handjob_moderate eyes_halflid_stare mouth_soft as cg with d3 + lun "*Huh*?" + gen "That shall do for today." + + show lun_blowjob_personal_pose1 eyebrows_worried mouth_annoyed as cg with d3 + lun "*Aww*...{w=0.4} Already?{w=0.4} Surely there must be some wrackspurts left in you..." + gen "Perhaps it's time we moved onto another method..." + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_wide_stare mouth_neutral as cg with d3 + lun "You've come up with another method already?" + gen "I believe so..." + gen "Am I making the right assumption that the spurs haven't stopped bothering you whilst you've been helping me, [name_luna_genie]?" + + show lun_blowjob_personal_pose1 eyes_halflid_right cheeks_blush mouth_soft as cg with d3 + lun "Oh...{w=0.4} I mean...{w=0.4} I suppose not...{w} But I'll manage, as long as it helps with your research!" + gen "*Hmm*...{w=0.4} I appreciate the sentiment, but that isn't good enough, I'm afraid..." + + show lun_blowjob_personal_pose1 -cheeks_blush eyes_halflid_stare mouth_soft as cg with d3 + lun "[name_genie_luna]?" + gen "A world where the comfort of one is only achievable thanks to the suffering of another is not an acceptable solution." + + show lun_blowjob_personal_pose1 eyes_halflid_down as cg with d3 + lun "I see..." + gen "The only real solution is one where the participants are able to physically stimulate each other at the same time." + + show lun_blowjob_personal_pose1 eyes_wide_stare mouth_open as cg with d3 + lun "At the same time!?" + gen "That's right, [name_luna_genie]...{w=0.4} If we can achieve physical stimulation and release between both participants simultaneously, then--" + + show lun_blowjob_personal_pose1 handjob_moderate eyebrows_worried eyes_halflid_stare mouth_soft as cg with d3 + lun "Can we try it now? Pleaaaase!" + gen "*Ugh*...{w=0.4} I appreciate the enthusiasm [name_luna_genie], but I think I need a bit of a nap first..." + + show lun_blowjob_personal_pose1 -handjob_moderate eyes_base_stare mouth_grin as cg with d3 + lun "Oh... Okay then, Mister Genie!" + gen "Just \"Genie\" is fine." + gen "Although, try to avoid calling me that in front of anyone else...{w=0.4} It will be our little secret." + + show lun_blowjob_personal_pose1 eyebrows_base eyes_halflid_stare as cg with d3 + lun "Okie dokie, [name_genie_luna], Enjoy your nap!" + + show screen blkfade + with d5 + + if _wearing_clothes: + hide luna_main + $ luna.wear("all") + + hide cg + hide screen blkfade + with d5 + + #Luna leaves + call lun_walk(action="leave") + + $ _wearing_clothes = False + $ states.lun.ev.gen_genie_nickname_unlocked = True + + call ll_pf_blowjob_end + +label ll_pf_blowjob_T4_E4_repeat: + + #Genie asks for another blowjob before they move on to the next step + + call ll_pf_blowjob + + gen "Before we proceed to test out my new theory, what do you say about that spacious head of yours taking a trip downstairs?" ("base", xpos="far_left", ypos="head") + lun "Downstairs?" ("soft", "base", "raised", "mid", xpos="base", ypos="base", trans=d3) + gen "Downstairs, and down my shaft!" ("grin", xpos="far_left", ypos="head") + lun "Your shaft? Are you talking about your wizard tower?" ("upset", "base", "raised", "mid") + gen "Tower, mast, shaft, whatever you want to call it." ("grin", xpos="far_left", ypos="head") + lun "But, I just got here, are you sure you don't need me for anything?" ("angry", "base", "base", "mid") + gen "What do you--{w=0.2} I'm asking you to suck my dick again, [name_luna_genie]!" ("base", xpos="far_left", ypos="head") + lun "Oh! Of course, [name_genie_luna]! Why didn't you say so?" ("grin", "base", "base", "stare") + gen "..." ("base", xpos="far_left", ypos="head") + lun "Either way... There's no need to to ask!" ("base", "base", "base", "mid") + lun "As I said before..." ("grin", "base", "base", "mid") + lun "My mouth is here for you, whenever you need it!" ("smile", "base", "base", "mid") + gen "Oh right... You did say that." ("base", xpos="far_left", ypos="head") + gen "I've gotten so used to requiring more convincing than that, so I forgot who I was talking to." ("base", xpos="far_left", ypos="head") + lun "I'm {i}the{/i} cumslut aren't I? I'm always pleased to be of assistance!" ("smile", "closed", "base", "mid") # Genie told Luna it just means "a person who enjoys helping people cum". + gen "You certainly are {i}a{/i} cumslut... Now, assume the pleasing position!" ("base", xpos="far_left", ypos="head") + lun "Yes, [name_genie_luna]!" ("smile", "base", "base", "L") + + #Luna quickly walks up towards the desk, fades to black + call lun_walk("desk", "base", speed=1.75) + show screen blkfade + with d5 + + if luna.is_any_worn("clothes"): + $ _wearing_clothes = True + $ luna.strip("clothes") + + show lun_blowjob_personal_pose1 eyes_closed mouth_soft as cg + + hide screen blkfade + with d5 + + lun "*Sniff* *Sniff*" + gen "Enjoying yourself down there?" + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_halflid_stare mouth_base as cg with d3 + lun "Oh, yes... Very much..." + + show lun_blowjob_personal_pose1 eyes_halflid_right as cg with d3 + lun "I think this might even have become my new safe space." + gen "Really? What makes you say that?" + + show lun_blowjob_personal_pose1 eyes_halflid_stare mouth_open as cg with d3 + lun "Well, I used to have another safe space that I'd go to whenever I needed to think." + + show lun_blowjob_personal_pose1 eyes_base_stare mouth_base as cg with d3 + lun "It was this magical broom closet on the seventh floor... You know, the one opposite the tapestry of Barnabas the Barmy." #Room of requirement + gen "A magical broom closet? What makes something a \"magical\" broom closet?" + + show lun_blowjob_personal_pose1 eyebrows_worried eyes_base_stare mouth_soft as cg with d3 + lun "Because... Last time I went there, the closet was gone!" + + show lun_blowjob_personal_pose1 eyebrows_angry mouth_open as cg with d3 + lun "And in its place, was nothing but a brick wall!" + + show lun_blowjob_personal_pose1 mouth_soft as cg with d3 + lun "Have you ever experienced such an anomaly before, [name_genie_luna]?" + + gen "Only when I've hinted towards trying the other hole." + + show lun_blowjob_personal_pose1 eyes_halflid_stare as cg with d3 + lun "A magical hole? " + gen "Some would say it is..." + + show lun_blowjob_personal_pose1 mouth_base as cg with d3 + lun "Fascinating..." + + show lun_blowjob_personal_pose1 eyebrows_raised as cg with d3 + lun "Any idea how this magical hole functions?" + gen "I try not to think about it." + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_closed mouth_open as cg with d3 + lun "My thought about the magic closet not materializing is that it will only appear when there's a desire for it to exist." + + show lun_blowjob_personal_pose1 eyes_halflid_stare mouth_soft as cg with d3 + gen "..." + + show lun_blowjob_personal_pose1 eyebrows_raised as cg with d3 + lun "*Ehm*... Or am I hooting up the wrong bush with that assumption, [name_genie_luna]?" + gen "I think it'd be best if you focused less on {i}bushes{/i} and {i}closets{/i} and more towards the task at hand." + + show lun_blowjob_personal_pose1 mouth_open as cg with d3 + lun "Task at hand, [name_genie_luna]?" + + nar "You briefly move your gaze down towards your throbbing member." + + show lun_blowjob_personal_pose1 eyebrows_base eyes_halflid_down as cg with d3 + lun "Oh! Of course, [name_genie_luna]!" + lun "I'll get to it right away!" + + #Luna pulls genie's trousers down + show lun_blowjob_personal_pose1 no_trousers eyebrows_angry mouth_base as cg with d3 + pause 0.5 + lun "*Mmm*..." + + show lun_blowjob_personal_pose1 eyes_halflid_down mouth_open as cg with d3 + lun "You know.... I was worried that I would never get suck this delectable thing again." + gen "Delectable?" + + #Luna kisses cock + show lun_blowjob_personal_pose1 mouth_open_spit as cg with d3 + show lun_blowjob_personal_pose2 eyes_closed mouth_kiss as cg with d3 + lun "*Kissing noises*" + + gen "You sure have caught a liking to doing this..." + + show lun_blowjob_personal_pose2 mouth_lick as cg with d3 + lun "*Lick*" + gen "*Ngh*!" + + show lun_blowjob_personal_pose2 eyes_halflid_stare as cg with d3 + lun "*Hmmff*?" + + show lun_blowjob_personal_pose2 eyebrows_worried as cg with d3 + lun "*U Oay*?" + + gen "I'm fine! You go right ahead." + + show lun_blowjob_personal_pose2 eyebrows_angry as cg with d3 + lun "*Esh pffeshor*!" + + show lun_blowjob_personal_pose2 eyes_halflid_down as cg with d3 + + #Luna pushes her head down genie's shaft + show lun_blowjob_personal_pose2 mouth_kiss as cg with d2 + show lun_blowjob_personal_pose3 eyes_halflid_stare as cg with d3 + show lun_blowjob_personal_pose4 as cg with d3 + show lun_blowjob_personal_pose5 eyebrows_angry eyes_halflid_up as cg with d3 + + lun "*Mmmmmm*...." + gen "*Ngh*!" + gen "Whoa! Do that again!" + + show lun_blowjob_personal_pose5 eyes_base_stare as cg with d3 + lun "*Mff*?" + gen "Whatever you just did, do it again!" + + show lun_blowjob_personal_pose5 eyebrows_base eyes_halflid_stare as cg with d3 + lun "*Mmmmmm*?" + gen "*Ah*, yes! That felt good!" + gen "Now, up and down the wizard tower you go!" + + show lun_blowjob_personal_pose5 eyes_halflid_down as cg with d3 + nar "Luna, looking slightly more puzzled than her usual self, shrugs and then starts moving her head up and down your cock." + + play background "sounds/slickloop.ogg" fadein 2 + show lun_blowjob_personal_loop as cg with d3 + gen "*Ah*...{w=0.4} Yes...{w=0.4} Now that's how you do it!" + + nar "Revelling in your praise, you watch as Luna happily bobs her head up and down your cock, only slowing down intermittently to run her tongue underneath your shaft." + + gen "*Ah*...{w=0.4} I think you might've touched the ground floor that time." + gen "You sure are a cumslut..." + + nar "As the last word escapes your lips, you could swear that Luna's throat tensed up briefly, but before the thought could take hold, her onslaught on your cock continues." + + gen "(She's--{w=0.2} too good! If she keeps going like this, my reputation will be in shambles!)" + gen "*Ngh*... Slow down a bit, won't you?" + + play background "sounds/slickloopfast.ogg" fadein 2 + show lun_blowjob_personal_loop_ahegao as cg with d3 + nar "Luna, hearing your pleas, looks at you worryingly for a moment, then increases her pace." + gen "What are you--" + gen "Slow down, girl!" + lun "*Mmmmmm*..." + gen "*Ngh*--" + + #Cum section + menu: + "-Say something weird to make her pull out-": + menu: + "\"Look! There's an elephant in the room!\"": + #Luna Pulls out + stop background + show lun_blowjob_personal_pose2 mouth_kiss as cg with d1 + show lun_blowjob_personal_pose1 no_trousers penis_spit cum_precum eyebrows_shocked eyes_wide_left mouth_open_spit as cg with d3 + lun "*Slrp-pop*! Where?!" + + gen "*AAAAH*!" + + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame0 eyes_wide_down as cg with d2 + show lun_blowjob_personal_pose1 cum_frame1 eyes_wide_stare as cg with d2 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame2 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame3 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame4 as cg with d2 + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_wide_down mouth_open_spit as cg with d2 + lun "[name_genie_luna]!" + + gen "*Ah*... That was--" + + show lun_blowjob_personal_pose1 eyes_halflid_stare as cg with d3 + lun "Quickly, [name_genie_luna]! Move your leg!" + gen "*Huh*?" + + show screen blkfade + with d5 + + nar "Luna pushes your leg to the side, and then darts to the front of your desk." + $ luna.set_cum(face="heavy") + + hide cg + hide screen blkfade + with d5 + + call lun_chibi(flip=True) + lun "I can't believe there's a--{w=0.2}{nw}" + call lun_chibi(flip=False) + lun "I can't believe there's a--{fast} Wait...{w=0.4} Where did the elephant go?" ("angry", "base", "base", "L", xpos="mid", ypos="base", trans=d3) + gen "Err..." ("base", xpos="far_left", ypos="head") + lun "There's no elephant in the room, is there?" ("annoyed", "narrow", "base", "mid") + gen "Other than your unfathomable naivety?" ("base", xpos="far_left", ypos="head") + lun "...?" ("annoyed", "base", "base", "mid") + gen "No, there's no actual elephant..." ("base", xpos="far_left", ypos="head") + lun "I see..." ("annoyed", "narrow", "base", "down") #dissapointed + gen "I mean, there was one! It just leapt out the window!" ("grin", xpos="far_left", ypos="head") + lun "Really?" ("angry", "wide", "base", "mid") + gen "Of course!" ("grin", xpos="far_left", ypos="head") + lun "How extraordinary!" ("grin", "base", "base", "mid") + gen "(If it was only this easy to make Hermione excited.)" ("base", xpos="far_left", ypos="head") + lun "Hold on... How would an elephant even fit--" ("upset", "base", "base", "L") + gen "Weren't you meant to swallow the spurs by the way?" ("base", xpos="far_left", ypos="head") + lun "Wha--{w=0.2} Oh no!" ("angry", "wide", "base", "stare") + gen "(*Phew*... Bullet dodged.)" ("base", xpos="far_left", ypos="head") + + lun "" ("open_tongue", "base", "annoyed", "down") #Tongue out + nar "You watch as Luna desperately tries to extend her tongue towards your cum." + + gen "What are you doing?" ("base", xpos="far_left", ypos="head") + lun "*Ngh*!" ("open_tongue", "narrow", "annoyed", "down") + gen "..." ("base", xpos="far_left", ypos="head") + gen "[name_luna_genie]... I believe it's a bit late for that..." ("base", xpos="far_left", ypos="head") + lun "... Really?" ("angry", "narrow", "base", "mid") #Sad + gen "Really..." ("base", xpos="far_left", ypos="head") + lun "Oh..." ("open", "narrow", "worried", "down") #Sad + lun "This means that the wrackspurts will return even faster, doesn't it?" ("angry", "narrow", "base", "down") + gen "Most certainly..." ("base", xpos="far_left", ypos="head") + lun "I see..." ("soft", "narrow", "worried", "down") + gen "What's with the long face?" ("base", xpos="far_left", ypos="head") + + "\"Cum covered bimbo says what?\"": + #Luna Pulls out + stop background + show lun_blowjob_personal_pose2 mouth_kiss as cg with d1 + show lun_blowjob_personal_pose1 no_trousers penis_spit cum_precum eyebrows_angry eyes_halflid_stare mouth_open_spit as cg with d3 + lun "*Slrp-pop*! What?!" + + gen "*AAAAH*!" + + #Genie cums + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame0 eyes_wide_down as cg with d2 + show lun_blowjob_personal_pose1 cum_frame1 eyes_wide_stare as cg with d2 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame2 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame3 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame4 as cg with d2 + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_wide_down as cg with d2 + lun "[name_genie_luna]!" + + show lun_blowjob_personal_pose1 eyes_halflid_stare as cg with d3 + lun "You tricked me!" + + show lun_blowjob_personal_pose1 eyes_base_stare mouth_soft as cg with d3 + lun "Or... Did the wrackspurts make you say that?" + gen "What--{w=0.2} Oh yes! Those rascals got to me again!" + + show lun_blowjob_personal_pose1 eyes_base_right as cg with d3 + lun "*Hmph*" + gen "What's up?" + + show lun_blowjob_personal_pose1 eyes_halflid_down as cg with d3 + lun "It's just... *Hmph*... Nevermind..." + + show screen blkfade + with d5 + + nar "Luna gets out from underneath your desk, and trudges over to stand in front of it." + $ luna.set_cum(face="heavy") + + hide cg + hide screen blkfade + with d5 + + gen "Are you alright, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "I failed to swallow the wrackspurts... So, now they'll surely end up returning even sooner." ("angry", "narrow", "base", "down", xpos="mid", ypos="base", trans=d3) + "\"I'm cured! You can stop now!\"": + #Luna Pulls out + stop background + show lun_blowjob_personal_pose2 mouth_kiss as cg with d1 + show lun_blowjob_personal_pose1 no_trousers penis_spit cum_precum eyebrows_worried eyes_wide_up mouth_open_spit as cg with d3 + lun "*Slrp-pop*! What?!" + gen "Nevermind!" + + gen "*AAAAH*!" + + #Genie cums + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame0 eyes_wide_down as cg with d2 + show lun_blowjob_personal_pose1 cum_frame1 eyes_wide_stare as cg with d2 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose1 cum_frame2 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame3 as cg with d2 + show lun_blowjob_personal_pose1 cum_frame4 as cg with d2 + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_wide_down as cg with d2 + lun "[name_genie_luna]!" + + show lun_blowjob_personal_pose1 eyebrows_angry eyes_wide_stare as cg with d3 + lun "You came on me again!" + gen "Sure did." + + show lun_blowjob_personal_pose1 eyes_halflid_down mouth_soft as cg with d3 + lun "But, I was meant to swallow it--{w=0.2} I mean, the wrackspurts!" + gen "Yes... An unfortunate outcome indeed..." + + show lun_blowjob_personal_pose1 eyes_halflid_stare as cg with d2 + lun "Then why would you say something like that, just as you were about to--" + + show lun_blowjob_personal_pose1 eyebrows_shocked eyes_wide_up mouth_open as cg with d3 + lun "Hold on a moment..." + + show screen blkfade + with d5 + + nar "Luna quickly gets out from underneath your desk, and rushes over to the front of it." + $ luna.set_cum(face="heavy") + + hide cg + hide screen blkfade + with d5 + + call lun_chibi(flip=False) + + lun "[name_genie_luna]... Please don't tell me that your desk is made out of whisperwood!" ("angry", "wide", "base", "L", xpos="mid", ypos="base", trans=d3) + gen "Out of what?" ("base", xpos="far_left", ypos="head") + lun "Whisperwood!" ("angry", "wide", "base", "mid") + lun "Spending an excessive amount of time near a whisperwood tree may lead you to involuntarily utter the most inappropriate remarks at the most inopportune times imaginable!" ("mad", "narrow", "base", "mid") + gen "Sounds like you're describing the characteristics of a genie..." ("base", xpos="far_left", ypos="head") + lun "Really?" ("soft", "base", "base", "mid") + gen "Yes... Although, that wasn't why I said it." ("base", xpos="far_left", ypos="head") + lun "Then why did you..." ("soft", "base", "base", "mid") + gen "Just as the buggers were on the verge of bursting forth, they abruptly darted in the opposite direction!" ("base", xpos="far_left", ypos="head") + lun "So...{w=0.4} You're not cured?" ("angry", "base", "raised", "mid") + gen "On the contrary... They're getting smarter." ("base", xpos="far_left", ypos="head") + lun "..." ("upset", "narrow", "base", "down") #Sad + gen "Are you alright [name_luna_genie]? I didn't hit you in the eye, did I?" ("base", xpos="far_left", ypos="head") + lun "I'm fine, [name_genie_luna]...{w=0.4} I just thought I might've had them that time." ("angry", "narrow", "base", "down") + gen "I'm sure you'll get them next time." ("base", xpos="far_left", ypos="head") + gen "In any case..." ("base", xpos="far_left", ypos="head") + + gen "Didn't you say that you find pleasure in assisting me?" ("base", xpos="far_left", ypos="head") + lun "Oh, right! I do! I'm {i}the{/i} cumslut!" ("angry", "base", "base", "stare") #Happy + lun "See you next time, then!" ("grin", "base", "base", "mid") + gen "*Heh-Heh*... See you next--" ("base", xpos="far_left", ypos="head") + gen "Hold on!" ("base", xpos="far_left", ypos="head") + lun "Yes?" ("soft", "base", "raised", "mid") + gen "Make sure you clean yourself before you leave..." ("base", xpos="far_left", ypos="head") + lun "Oh, but I'm fine [name_genie_luna], I assure you!" ("grin", "base", "base", "mid") + gen "I'm sure you are...{w=0.4} I would just prefer it if that pretty face of yours weren't covered up." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh..." ("angry", "narrow", "base", "down") #blushing + + hide luna_main + with d3 + $ luna.set_cum(None) + + nar "Luna quickly begins scooping your cum off her face, then flicking it onto the floor." + + lun @ cheeks blush "There we go!" ("soft", "narrow", "base", "down") + lun @ cheeks blush "Did-- Did I manage to get them all?" ("open", "narrow", "base", "downR") + gen "*Hmm*... Yes, I believe you did...{w=0.4} Nice work!" ("base", xpos="far_left", ypos="head") + + $ luna.set_cum(pussy="wet") + lun @ cheeks blush "*Mmm*... Thank you, [name_genie_luna]!" ("base", "closed", "base", "down") + + if _wearing_clothes: + hide luna_main + with d3 + $ luna.wear("all") + with d3 + pause .5 + + if game.daytime: + lun @ cheeks blush "*Ah*...{w=0.4} *Ehm*...{w=0.4} Have a nice day!" ("angry", "narrow", "base", "R") + gen "Have a--" ("base", xpos="far_left", ypos="head") + else: + lun "*Ah*...{w=0.4} *Ehm*...{w=0.4} Good night then!" ("angry", "narrow", "base", "R") + gen "Good--" ("base", xpos="far_left", ypos="head") + + #Luna leaves + call lun_walk(action="leave", speed=1.75) + gen "..." ("base", xpos="far_left", ypos="head") + + $ luna.set_cum(None) + + "-Tell her to get ready, and cum down her throat-": + gen "Take it, you--{w=0.2} cum hungry--{w=0.2} Slut!" + + nar "Luna, readying herself for your load, pushes her head down to the hilt, and you feel her throat contract around your cock." + + gen "*AARGH*!! You whore!!!" + + #Bobbing stops, and Genie cums down her throat + stop background + + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 penis_spit eyes_halflid_down_hearts as cg with d3 + play sound "sounds/gulp.ogg" + pause 1 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 eyes_halflid_stare_hearts as cg with d3 + play sound "sounds/gulp.ogg" + pause 1 + play sound "sounds/slick_01.ogg" + show lun_blowjob_personal_pose5 eyebrows_base eyes_halflid_up_hearts as cg with d3 + play sound "sounds/gulp.ogg" + pause 1 + + show lun_blowjob_personal_pose4 as cg with d3 + show lun_blowjob_personal_pose3 as cg with d3 + + show lun_blowjob_personal_pose2 mouth_kiss as cg with d3 + lun "*Slrp-pop*!{w=0.4}{nw}" + show lun_blowjob_personal_pose2 eyes_closed as cg + lun "*Slrp-pop*!{fast}" + show lun_blowjob_personal_pose1 no_trousers eyebrows_angry mouth_open_cum as cg with d3 + lun "*Ah*...{w=0.4} Ah*...{w=0.4} Ah*..." + play sound "sounds/gulp.ogg" + show lun_blowjob_personal_pose1 mouth_neutral as cg with d3 + + show screen blkfade + with d5 + + nar "As Luna crawls out from under your desk, you slump back into your chair, exhausted by the cheer intensity of the session." + + hide cg + hide screen blkfade + with d5 + + #Fade to office, Luna in front of desk + call lun_chibi(flip=False) + + lun @ cheeks blush "So... Did I do good?" ("soft", "narrow", "base", "downR", xpos="mid", ypos="base", trans=d3) + gen "..." ("base", xpos="far_left", ypos="head") + lun "[name_genie_luna]?" ("open", "base", "base", "mid") + + $ renpy.sound.play("sounds/snore1.ogg") + gen "*Snore*..." ("base", xpos="far_left", ypos="head") + + lun "You called me a whore, what did you--" ("open", "base", "base", "mid") + + $ renpy.sound.play("sounds/snore1.ogg") + gen "*Snore*!" ("angry", xpos="far_left", ypos="head") + + lun "I'll...{w=0.4} I'll let you sleep...{w=0.4} Sweet dreams, [name_genie_luna]." ("base", "base", "base", "mid") + + if _wearing_clothes: + hide luna_main + with d3 + $ luna.wear("all") + with d3 + pause .5 + + #Luna leaves + call lun_walk(action="leave") + + gen "..." ("base", xpos="far_left", ypos="head") + gen "(When all else fails, pretend to sleep.)" ("grin", xpos="far_left", ypos="head") + + $ _wearing_clothes = False + + jump ll_pf_blowjob_end + +#Tier 5 BJ notes: +#Genie jokes and says that perhaps he should call her the "head master now." Luna doesn't get it. diff --git a/game/scripts/characters/luna/events/favors/talk_to_me.rpy b/game/scripts/characters/luna/events/favors/talk_to_me.rpy index 80beddc4..2f9e5080 100644 --- a/game/scripts/characters/luna/events/favors/talk_to_me.rpy +++ b/game/scripts/characters/luna/events/favors/talk_to_me.rpy @@ -4,20 +4,19 @@ label ll_pf_talk: - gen "{size=-4}(All I'll do is have a little chat with her...){/size}" ("base", xpos="far_left", ypos="head") - - if ll_pf_talk.counter < 1: + if not _events_completed_any: + gen "{size=-4}(All I'll do is have a little chat with her...){/size}" ("base", xpos="far_left", ypos="head") + menu: "\"(Yes, let's do it!)\"": pass + "\"(Not right now.)\"": + $ _event.cancel() jump luna_favor_menu + return - # Start Event - $ ll_pf_talk.start() - - # End Event - label .end: +label ll_pf_talk_end: # Setup stop music fadeout 2.0 @@ -26,17 +25,17 @@ label ll_pf_talk: call gen_chibi("sit_behind_desk") # Increase level - if lun_tier == 1: - if lun_whoring < 3: - $ lun_whoring += 1 + if states.lun.tier == 1: + if states.lun.level < 3: + $ states.lun.level += 1 - elif lun_tier == 2: - if lun_whoring < 6: - $ lun_whoring += 1 + elif states.lun.tier == 2: + if states.lun.level < 6: + $ states.lun.level += 1 - elif lun_tier == 3: - if lun_whoring < 9: - $ lun_whoring += 1 + elif states.lun.tier == 3: + if states.lun.level < 9: + $ states.lun.level += 1 jump end_luna_event @@ -44,11 +43,13 @@ label ll_pf_talk: label ll_pf_talk_T1_E1_intro: - $ genie_masturbating = False + call ll_pf_talk + + $ states.gen.masturbating = False gen "So... About the infestation..." ("base", xpos="far_left", ypos="head") lun "*Sniff* *Sniff*" ("soft", "narrow", "base", "L") - gen "[luna_name]?" ("base", xpos="far_left", ypos="head") + gen "[name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "*Sniff* *Sniff*" ("soft", "base", "raised", "down") gen "Are you alright?" ("base", xpos="far_left", ypos="head") lun "This is such a peculiar smell..." ("open", "base", "base", "mid") @@ -56,25 +57,25 @@ label ll_pf_talk_T1_E1_intro: menu: "\"The spratters?\"": - lun "Wrackspurts, [lun_genie_name]." ("base", "base", "base", "mid") + lun "Wrackspurts, [name_genie_luna]." ("base", "base", "base", "mid") lun "I've never smelled them this strongly." ("base", "base", "base", "mid") - lun "Can you not smell them, [lun_genie_name]?" ("base", "base", "base", "mid") + lun "Can you not smell them, [name_genie_luna]?" ("base", "base", "base", "mid") gen "I guess I just got used to the smell..." ("base", xpos="far_left", ypos="head") lun "*Hmm*..." ("base", "base", "base", "mid") "-Sniff your armpits-": - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" pause .4 gen "(Good grief, when was the last time I took a shower...)" ("angry", xpos="far_left", ypos="head") gen "(It's high time I search for a bath in this place...{w} Although...)" ("base", xpos="far_left", ypos="head") gen "(I did have countless women of Agrabah confess to me that they liked my manly odour.)" ("grin", xpos="far_left", ypos="head") - gen "Do you like this smell, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "Oh, I find the smell quite interesting, [lun_genie_name]." ("base", "base", "base", "mid") + gen "Do you like this smell, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "Oh, I find the smell quite interesting, [name_genie_luna]." ("base", "base", "base", "mid") gen "(That's good enough for me...)" ("base", xpos="far_left", ypos="head") gen "So, is there anything more you can tell me about these spurts?" ("base", xpos="far_left", ypos="head") gen "I'll need some more information before we get started." ("base", xpos="far_left", ypos="head") - lun "Of course, [lun_genie_name]... What would you like to know?" ("grin", "base", "raised", "mid") + lun "Of course, [name_genie_luna]... What would you like to know?" ("grin", "base", "raised", "mid") gen "Tell me...{w=0.4} Who else knows about it?" ("base", xpos="far_left", ypos="head") lun "*Hmm*...{w=0.4} Well, there's you and me..." ("soft", "base", "base", "downL") gen "Apart from us..." ("base", xpos="far_left", ypos="head") @@ -89,17 +90,17 @@ label ll_pf_talk_T1_E1_intro: lun "Oh!" ("soft", "wide", "base", "mid") lun "There was this one girl who was clearly getting bothered by them!" ("angry", "base", "base", "stare") lun "I was in the bathroom when I heard her!" ("soft", "base", "base", "mid") - gen "(In the bathroom, huh.)" ("grin", xpos="far_left", ypos="head") - lun "There were some weird noises coming from one of the stalls so I called out to her, asking if she was okay." ("angry", "base", "base", "mid") + gen "(In the bathroom, *huh*.)" ("grin", xpos="far_left", ypos="head") + lun "There were some weird noises coming from one of the stalls, so I called out to her, asking if she was okay." ("angry", "base", "base", "mid") gen "Weird noises you say?" ("grin", xpos="far_left", ypos="head") menu: "-Whip it out-": - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main - call nar(">You reach under the desk and grab your cock...") + nar "You reach under the desk and grab your cock..." call gen_chibi("jerk_off_behind_desk") with d3 @@ -110,20 +111,20 @@ label ll_pf_talk_T1_E1_intro: lun "Indeed." ("angry", "base", "base", "mid") lun "So of course I had to do my best to reassure her that what she was experiencing was nothing to be afraid of..." ("grin", "closed", "base", "mid") lun "I told her about my own experiences...." ("open", "base", "base", "down") - lun "But they must've really gotten to her, [lun_genie_name]... She barely paid me any attention..." ("angry", "closed", "base", "mid") + lun "But they must've really gotten to her, [name_genie_luna]...{w=0.4} She barely paid me any attention..." ("angry", "closed", "base", "mid") - if genie_masturbating: - gen "You have my full attention, girl... Tell me more!" ("angry", xpos="far_left", ypos="head") + if states.gen.masturbating: + gen "You have my full attention, girl...{w=0.4} Tell me more!" ("angry", xpos="far_left", ypos="head") else: gen "(Sounds like the opposite to me...)" ("base", xpos="far_left", ypos="head") - lun "I fear the whole school might get overrun, [lun_genie_name]..." ("angry", "narrow", "base", "mid") - lun "The way people are acting..." ("open", "base", "base", "downL", cheeks="blush") + lun "I fear the whole school might get overrun, [name_genie_luna]..." ("angry", "narrow", "base", "mid") + lun @ cheeks blush "The way people are acting..." ("open", "base", "base", "downL") gen "You're seeing similar symptoms as your own?" ("base", xpos="far_left", ypos="head") lun "Not just that!" ("angry", "base", "base", "mid") - lun "It's Their auras, [lun_genie_name]!" ("clench", "base", "base", "stare") + lun "It's Their auras, [name_genie_luna]!" ("clench", "base", "base", "stare") - if genie_masturbating: + if states.gen.masturbating: gen "*Ugh*... What? Auras?" ("angry", xpos="far_left", ypos="head") gen "(Please don't make this weird, girl...)" ("angry", xpos="far_left", ypos="head") else: @@ -132,41 +133,41 @@ label ll_pf_talk_T1_E1_intro: lun "They're far too red!" ("angry", "wide", "base", "mid") lun "According to my father's bestiaries, they should only ever produce a grey tinge to an aura..." ("mad", "base", "raised", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "Yes, yes... But what about the girl that made those weird noises? Tell me about her!" ("angry", xpos="far_left", ypos="head") - lun "Well, I never saw her, Professor." ("angry", "closed", "base", "mid") + lun "Well, I never saw her, [name_genie_luna]." ("angry", "closed", "base", "mid") lun "I just observed her aura. It was so fascinating!" ("soft", "closed", "base", "mid") - lun "But... What ever they're doing to be making auras red..." ("normal", "narrow", "base", "downL") + lun "But... Whatever they're doing to be making auras red..." ("normal", "narrow", "base", "downL") gen "(Come on, say something naughty already!)" ("angry", xpos="far_left", ypos="head") else: gen "(*Tsk*... Auras...)" ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name], we need to warn people... Before it's too late!" ("angry", "base", "base", "mid") + lun "[name_genie_luna], we need to warn people... Before it's too late!" ("angry", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "(...)" ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]?" ("upset", "base", "raised", "mid") + lun "[name_genie_luna]?" ("upset", "base", "raised", "mid") gen "(This isn't working...)" ("base", xpos="far_left", ypos="head") pause .8 call gen_chibi("sit_behind_desk") gen "Why don't we focus on a cure rather than try to convince people of the existence of something they can't even see." ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]..." ("angry", "narrow", "base", "mid") + lun "But [name_genie_luna]..." ("angry", "narrow", "base", "mid") gen "Once we have a way to properly deal with them then I'm sure we could administer the cure without causing a fuss." ("base", xpos="far_left", ypos="head") - lun "You believe there's a cure for something like this, [lun_genie_name]?" ("soft", "base", "base", "mid") - gen "I have a theory... If it works then it should let us expel those spurty buggers." ("base", xpos="far_left", ypos="head") + lun "You believe there's a cure for something like this, [name_genie_luna]?" ("soft", "base", "base", "mid") + gen "I have a theory... And if it works, then it should let us expel those spurty buggers." ("base", xpos="far_left", ypos="head") lun "You've found a way to expel them on command?" ("clench", "base", "base", "mid") - gen "Well I wouldn't say on command... Now that is beyond even my own capabilities..." ("base", xpos="far_left", ypos="head") - gen "I need to conduct some more tests and once that's' done then I'll put it into practice." ("base", xpos="far_left", ypos="head") + gen "Well, I wouldn't say on command... Now that is beyond even my own capabilities..." ("base", xpos="far_left", ypos="head") + gen "I need to conduct some more tests, and once that's done, I'll put it into practice." ("base", xpos="far_left", ypos="head") lun "Oh! I can't wait!" ("crooked_smile", "happyCl", "base", "mid") if game.daytime: - gen "So for now you better head back to class." ("base", xpos="far_left", ypos="head") - lun "Of course... Good luck [lun_genie_name]." ("grin", "base", "base", "mid") + gen "So for now, you better head back to class." ("base", xpos="far_left", ypos="head") + lun "Of course... Good luck [name_genie_luna]." ("grin", "base", "base", "mid") else: gen "So for now it'd be best for you to head off to bed." ("base", xpos="far_left", ypos="head") - lun "Of course... Goodnight [lun_genie_name]." ("grin", "base", "base", "mid") + lun "Of course... Goodnight [name_genie_luna]." ("grin", "base", "base", "mid") pause .8 call lun_walk(action="leave") @@ -174,48 +175,50 @@ label ll_pf_talk_T1_E1_intro: gen "Sure is a loony one..." ("base", xpos="far_left", ypos="head") gen "Good thing she's hot." ("base", xpos="far_left", ypos="head") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T1_E2_intro: + call ll_pf_talk + gen "Let's continue with your training." ("base", xpos="far_left", ypos="head") - lun "My training, [lun_genie_name]?" ("soft", "base", "raised", "mid") + lun "My training, [name_genie_luna]?" ("soft", "base", "raised", "mid") gen "*Err*... To become the best and first ever spurt hunter!" ("angry", xpos="far_left", ypos="head") lun "Oh!" ("grin", "base", "base", "mid") lun "Okay!" ("grin", "happyCl", "base", "mid") gen "Today we're going to put that theory of mine into practice." ("base", xpos="far_left", ypos="head") lun "Finally!" ("smile", "base", "base", "mid") gen "Now, I need to warn you... This could be quite dangerous." ("base", xpos="far_left", ypos="head") - lun "Dangerous, [lun_genie_name]?" ("soft", "base", "base", "mid") + lun "Dangerous, [name_genie_luna]?" ("soft", "base", "base", "mid") gen "Yes..." ("base", xpos="far_left", ypos="head") gen "Very dangerous!" ("base", xpos="far_left", ypos="head") lun "" ("soft", "wide", "base", "mid") #Wide eyed pause .8 - gen "If you don't do it correctly you could end up with some severe burns..." ("base", xpos="far_left", ypos="head") + gen "If you don't do it correctly, you could end up with some severe burns..." ("base", xpos="far_left", ypos="head") gen "(Or mild chafing at the very least.)" ("base", xpos="far_left", ypos="head") gen "Which is why we're going to start by conducting some of the initial testing on myself." ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]!" ("angry", "wide", "base", "mid") - lun "You didn't tell me this was going to be dangerous... If I knew you could potentially hurt yourself then I would've never asked you to--" ("angry", "base", "worried", "mid") + lun "But [name_genie_luna]!" ("angry", "wide", "base", "mid") + lun "You didn't tell me this was going to be dangerous... If I knew you could potentially hurt yourself, then I would've never asked you to--" ("angry", "base", "worried", "mid") gen "Don't worry... I'm sure It'll be worth it for the cause..." ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name], why not let me do it--" ("angry", "narrow", "base", "mid") + lun "But [name_genie_luna], why not let me do it--" ("angry", "narrow", "base", "mid") gen "Nonsense!" ("base", xpos="far_left", ypos="head") gen "I've lived a very long life, you've got it all ahead of you..." ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]... Surely--" ("mad", "closed", "base", "mid") + lun "[name_genie_luna]... Surely--" ("mad", "closed", "base", "mid") gen "Don't you worry, I've been practising these movements for a very long time. I'm certain I'll be able to pull one off no problem..." ("base", xpos="far_left", ypos="head") lun "Okay..." ("upset", "narrow", "base", "mid") lun "I assume you won't be needing any of my help..." ("open", "narrow", "base", "down") #Looking down - gen "On the contrary...{w=0.4} Your aid is integral for this to work, [luna_name]." ("base", xpos="far_left", ypos="head") + gen "On the contrary...{w=0.4} Your aid is integral for this to work, [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "" ("soft", "base", "base", "mid") #Looks up again, surprised that he wants her help gen "Now... You just stand there for a bit." ("base", xpos="far_left", ypos="head") - lun "Oh... Of course [lun_genie_name]!" ("soft", "narrow", "base", "stare") + lun "Oh... Of course [name_genie_luna]!" ("soft", "narrow", "base", "stare") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main - call nar(">You pull out your cock and start stroking it.") + nar "You pull out your cock and start stroking it." call gen_chibi("jerk_off_behind_desk") with d3 pause .8 @@ -228,47 +231,47 @@ label ll_pf_talk_T1_E2_intro: lun "Is it working?" ("open", "base", "raised", "mid") gen "Give me a moment..." ("base", xpos="far_left", ypos="head") - call nar(">You move your gaze to the girls chest, rubbing your hardening cock with increasing pace.") + nar "You move your gaze to the girl's chest, while rubbing your hardening cock with increased pace." lun "What is it that you're doing?" ("soft", "base", "raised", "mid") - call nar(">A quizzical expression spreads across Luna's face as she unbeknownst to her, watch her headmaster masturbate in front of her.") + nar "A quizzical expression spreads across Luna's face as she, unbeknownst to her, watch her headmaster masturbate in front of her." lun "Are you casting a spell? I can see your arms moving." ("open", "base", "base", "mid") gen "*Ah*...{w=0.3} Yes...{w=0.3} I'm waving my wand all right..." ("base", xpos="far_left", ypos="head") lun "I knew it!" ("grin", "closed", "base", "mid") - call nar (">As you continue stroking your cock you watch as Luna's moment of excitement turn into confusion once more.") + nar "As you continue stroking your cock, you watch as Luna's moment of excitement turns into confusion once more." lun "Is it supposed to take this long?" ("soft", "narrow", "base", "mid") gen "*Ah*...{w=0.3} Yes...{w=0.3} Sometimes..." ("base", xpos="far_left", ypos="head") lun "Sometimes?" ("soft", "base", "raised", "mid") lun "Isn't this the first time you're trying this?" ("angry", "narrow", "base", "mid") gen "Well...{w=0.3} *Ah*...{w=0.3} I just need to focus..." ("base", xpos="far_left", ypos="head") - lun "Oooh... So like the Patronus Charm?" ("soft", "wide", "base", "mid") + lun "Oooh... So, it's like the Patronus Charm?" ("soft", "wide", "base", "mid") gen "*Ah*...{w=0.4} The what?" ("base", xpos="far_left", ypos="head") lun "The Patronus... You focus on a Happy memory and if you succeed, a corporeal shape of your spirit animal bursts out from your wand!" ("grin", "base", "base", "mid") gen "*Ah*...{w=0.3} Yes, that's it...{w=0.3} Ten points to Ravenclaw!" ("base", xpos="far_left", ypos="head") $ ravenclaw += 10 - lun "Thank you, [lun_genie_name]!" ("base", "happyCl", "base", "mid") - gen "Now, be quiet and stand there for a bit will you?" ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name]." ("base", "base", "base", "mid") + lun "Thank you, [name_genie_luna]!" ("base", "happyCl", "base", "mid") + gen "Now, be quiet and stand there for a bit, will you?" ("base", xpos="far_left", ypos="head") + lun "Yes [name_genie_luna]." ("base", "base", "base", "mid") - call nar(">With great difficulty you work your now softened shaft, staring at the girls heaving chest.") + nar "With great difficulty, you work your now softened shaft, staring at the girl's heaving chest." lun "" ("base", "base", "base", "downR") #looking away call ctc lun "" ("base", "base", "base", "mid") #Looks back call ctc - lun "[lun_genie_name]?" ("open", "base", "raised", "mid") + lun "[name_genie_luna]?" ("open", "base", "raised", "mid") - call nar (">You stop rubbing your cock and look up at Luna's face.") + nar "You stop rubbing your cock and look up at Luna's face." call gen_chibi("sit_behind_desk") lun "What's your patronus?" ("open", "base", "base", "mid") - gen "W-- What?" ("angry", xpos="far_left", ypos="head") - lun "What's your spirit animal, [lun_genie_name]?" ("soft", "base", "base", "mid") + gen "W--{w=0.2} What?" ("angry", xpos="far_left", ypos="head") + lun "What's your spirit animal, [name_genie_luna]?" ("soft", "base", "base", "mid") lun "Surely you must've cast a patronus spell before..." ("grin", "base", "base", "mid") gen "*Err*..." ("base", xpos="far_left", ypos="head") @@ -300,160 +303,169 @@ label ll_pf_talk_T1_E2_intro: # Patronuses seems to be the correct plural form of Patronus, not Patroni. lun "Patronuses are supposed to represent a hidden inner self that gets awakened in the time of need... Only a wizard who is obsessed about a particular animal would have it as their Patronus..." ("open", "closed", "base", "mid") gen "(What on earth is all this drivel?)" ("base", xpos="far_left", ypos="head") - lun "Or are you pulling my leg, [lun_genie_name]?" ("clench", "narrow", "base", "mid") - gen "Pulling-- Hey... You distracted me again!" ("base", xpos="far_left", ypos="head") - lun "Oh... Sorry [lun_genie_name]!" ("soft", "wide", "base", "mid") + lun "Or are you pulling my leg, [name_genie_luna]?" ("clench", "narrow", "base", "mid") + gen "Pulling--{w=0.2} Hey... You distracted me again!" ("base", xpos="far_left", ypos="head") + lun "Oh... Sorry [name_genie_luna]!" ("soft", "wide", "base", "mid") lun "The other teachers do keep reminding me not to let my mind wander so much..." ("annoyed", "narrow", "base", "downR") gen "*Sigh*..." ("base", xpos="far_left", ypos="head") gen "It's not your fault..." ("base", xpos="far_left", ypos="head") lun "It's not?" ("mad", "narrow", "base", "mid") gen "No... We'll just have to try something different next time to keep you engaged..." ("base", xpos="far_left", ypos="head") lun "Oh... Okay!" ("angry", "base", "base", "mid") #Happy - lun "..." ("base", "base", "base", "down") #Pondering #Blush + lun "..." ("base", "base", "base", "down") #Pondering gen "What's with that face?" ("base", xpos="far_left", ypos="head") lun "Oh... It's nothing... I was just thinking..." ("base", "happyCl", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - gen "Very well [luna_name]... All things considered I think we've at least done some progress today." ("base", xpos="far_left", ypos="head") + gen "Very well [name_luna_genie]... All things considered, I think we've at least done some progress today." ("base", xpos="far_left", ypos="head") gen "Well done." ("base", xpos="far_left", ypos="head") - lun "We have?" ("soft", "base", "base", "mid", cheeks="blush") - lun "I mean...{w=0.3} Thank you [lun_genie_name]...{w=0.3} I didn't really do much..." ("open", "base", "base", "R", cheeks="blush") #blush #Looks away + lun @ cheeks blush "We have?" ("soft", "base", "base", "mid") + lun @ cheeks blush "I mean...{w=0.3} Thank you [name_genie_luna]...{w=0.3} I didn't really do much..." ("open", "base", "base", "R") #blush #Looks away gen "(Is she blushing?)" ("base", xpos="far_left", ypos="head") gen "*Ahem*..." ("base", xpos="far_left", ypos="head") - lun "" ("normal", "narrow", "base", "mid", cheeks="blush") #Looks back + lun @ cheeks blush "" ("normal", "narrow", "base", "mid") #Looks back pause .8 - gen "I'm sure with your help we'll find a way to get those spurts." ("base", xpos="far_left", ypos="head") - lun "Okay, thank you..." ("open", "base", "base", "down", cheeks="blush") + gen "I'm sure with your help, we'll find a way to get those spurts." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Okay, thank you [name_genie_luna]..." ("open", "base", "base", "down") if game.daytime: - lun "I'll head back to class then, [lun_genie_name]." ("open", "base", "base", "R", cheeks="blush") + lun @ cheeks blush "I'll head back to class then, [name_genie_luna]." ("open", "base", "base", "R") else: - lun "I'll head back to my dorm then, [lun_genie_name]." ("open", "base", "base", "R", cheeks="blush") + lun @ cheeks blush "I'll head back to my dorm then, [name_genie_luna]." ("open", "base", "base", "R") gen "Yes, I'll let you know when I require further...{w=0.3} Assistance." ("base", xpos="far_left", ypos="head") - lun "Okay!" ("base", "base", "base", "mid", cheeks="blush") - lun "*Ehm*... Bye then..." ("soft", "base", "base", "mid", cheeks="blush") - gen "Bye [luna_name]..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Okay!" ("base", "base", "base", "mid") + lun @ cheeks blush "*Ehm*... Bye then..." ("soft", "base", "base", "mid") + gen "Bye [name_luna_genie]..." ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T1_E3_intro: + $ states.lun.ev.talk_to_me.t1_e3_complete = True + + call ll_pf_talk + gen "Right then... Let's have another crack at this shall we." ("base", xpos="far_left", ypos="head") - lun "We're going to try and expel the wrackspurts again, [lun_genie_name]?" ("soft", "base", "base", "mid") - gen "That's right [luna_name]." ("base", xpos="far_left", ypos="head") + lun "We're going to try and expel the wrackspurts again, [name_genie_luna]?" ("soft", "base", "base", "mid") + gen "That's right, [name_luna_genie]." ("base", xpos="far_left", ypos="head") lun "Can I see how you do it this time?" ("grin", "base", "raised", "mid") gen "*Err*... I'm not sure that's such a good idea..." ("base", xpos="far_left", ypos="head") - lun "*Aw*... Why not?" ("annoyed", "base", "annoyed", "mid") + lun "*Aww*... Why not?" ("annoyed", "base", "annoyed", "mid") gen "Well... Let's find out if it works first..." ("base", xpos="far_left", ypos="head") lun "Okay!" ("base", "base", "base", "mid") - gen "I need to focus so just follow my instructions..." ("base", xpos="far_left", ypos="head") - lun "Of course, [lun_genie_name]!" ("grin", "base", "base", "mid") + gen "I need to focus, so just follow my instructions..." ("base", xpos="far_left", ypos="head") + lun "Of course, [name_genie_luna]!" ("grin", "base", "base", "mid") gen "Excellent... Just need to take out my wand and then we can begin..." ("base", xpos="far_left", ypos="head") gen "(Let's see if we can produce some real magic this time...)" ("base", xpos="far_left", ypos="head") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main - call nar(">You take your cock out and begin stroking it...") + nar "You take your cock out and begin stroking it..." call gen_chibi("jerk_off_behind_desk") with d3 pause .8 gen "Now... Tell me a bit more about your experiences with the spratters..." ("base", xpos="far_left", ypos="head") lun "How's that supposed to--" ("soft", "base", "base", "mid") - gen "Are you questioning my methods [luna_name]?" ("base", xpos="far_left", ypos="head") + gen "Are you questioning my methods, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "Oh! Of course not!" ("mad", "narrow", "base", "mid") gen "Then answer my question..." ("base", xpos="far_left", ypos="head") - lun "Right...{w=0.4} *Ehm*...{w=0.4} As I said before they bother me at the most inopportune moments..." ("open", "narrow", "base", "R") + lun "Right...{w=0.4} *Ehm*...{w=0.4} As I said before, they bother me at the most inopportune moments..." ("open", "narrow", "base", "R") - call nar(">As the girl starts talking you continue stroking your now hardening cock, taking in every word of her sexual experiences.") + nar "As the girl starts talking, you continue stroking your now hardening cock, taking in every word of her sexual experiences." lun "And there was that time down at the lake... Now I'd never think they'd be down there, I thought they hated water..." ("soft", "wide", "base", "mid") - call nar(">As she goes on talking about wrackspurts and how they make her feel you notice that Luna has started grinding her legs together again.") + nar "As she goes on, talking about wrackspurts and how they make her feel, you notice that Luna has started grinding her legs together again." - lun "*Ah*...{w=0.4} And the worst times are when I'm about to go to sleep...{w=0.4} It must be something with my pyjamas..." ("soft", "narrow", "base", "down", cheeks="blush") - lun "[lun_genie_name]...{w=0.4} They're...{w=0.4} They're bothering me again..." ("base", "base", "base", "mid") - gen "Just keep talking [luna_name], they're sensing the magic..." ("base", xpos="far_left", ypos="head") - lun "Oh... So it's working, [lun_genie_name]?" ("soft", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ah*...{w=0.4} And the worst times are when I'm about to go to sleep...{w=0.4} It must be something with my pyjamas..." ("soft", "narrow", "base", "down") + lun "[name_genie_luna]...{w=0.4} They're...{w=0.4} They're bothering me again..." ("base", "base", "base", "mid") + gen "Just keep talking [name_luna_genie], they're sensing the magic..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh... So, it's working, [name_genie_luna]?" ("soft", "base", "base", "mid") gen "Yes, just keep talking..." ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]..." ("open", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "But [name_genie_luna]..." ("open", "narrow", "base", "mid") - call nar(">You keep stroking your cock as Luna stares at you, shifting her legs uncomfortably...") + nar "You keep stroking your cock as Luna stares at you, shifting her legs uncomfortably..." - lun "[lun_genie_name], it feels weird... Please..." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "How weird does it feel [luna_name]? Describe it to me..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "[name_genie_luna], it feels weird... Please..." ("angry", "narrow", "base", "mid") + gen "How weird does it feel, [name_luna_genie]? Describe it to me..." ("base", xpos="far_left", ypos="head") - call nar(">Luna grinds her legs together even more as she tries to maintain eye contact with you, she then stutter for a moment as a wave of lust washes over her.") + nar "Luna grinds her legs together even more as she tries to maintain eye contact with you, she then stutters for a moment as a wave of lust washes over her." - lun "I... I don't know how to describe it..." ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "I--{w=0.2} I don't know how to describe it..." ("normal", "narrow", "base", "down") show screen blkfade with d5 - call nar(">You close your eyes, listening to the girl... Your cock pulsating in your grasp as you feel yourself getting close to bursting.") + nar "You close your eyes, listening to the girl..." - lun "It's... *Ah*... It's like a tingly sensation spreading from between my legs... Almost as If I'm about to wet myself..." ("base", "base", "base", "mid") - lun "But it's... It's different... It feels really good..." ("base", "base", "base", "mid") - call nar(">An image of the girls wet panties runs across your mind and you feel your cock twitch slightly in your hand.") - lun "[lun_genie_name]... I don't know how long I can endure this... Please tell me it's working..." ("base", "base", "base", "mid") - call nar(">You rub your cock even faster, the sound of Luna's voice fading out of your mind...") - lun "I can't bear it, [lun_genie_name]!" ("base", "base", "base", "mid") - lun "I need--" ("mad", "wide", "base", "L", xpos="mid", ypos="base", flip=True, trans=dissolve) + lun "It's--{w=0.2} *Ah*...{w=0.4} It's like a tingly sensation spreading from between my legs... Almost as If I'm about to wet myself..." ("base", "base", "base", "mid") + lun "But it's--{w=0.2} It's different...{w=0.4} It feels really good." ("base", "base", "base", "mid") + + nar "An image of the girl's wet panties runs across your mind, and you feel your cock twitch slightly in your hand." + + lun "[name_genie_luna]... I don't know how long I can endure this... Please tell me it's working..." ("base", "base", "base", "mid") + + nar "You rub your cock even faster, and the sound of Luna's voice starts fading out of your mind..." + + lun "{size=-4}I can't bear it, [name_genie_luna]!{/size}" ("base", "base", "base", "mid") + lun "{size=-4}I need--{/size}" ("mad", "wide", "base", "L", xpos="mid", ypos="base", flip=True, trans=dissolve) call gen_chibi("cum_behind_desk_done") call lun_chibi("stand", 230, 455, flip=True) - $ renpy.sound.play("sounds/gasp.ogg") + play sound "sounds/gasp.ogg" - call nar(">Your cock pulsates in your hand and with a groan and a sudden rush of relief you unload a torrent of cum all over your desk...") - call nar(">As waves of pleasure spread across your body you slowly begin to feel your other senses return to you...") + nar "Your cock pulsates in your hand, and with a groan and a sudden rush of relief, you unload a torrent of cum all over your desk..." + nar "As waves of pleasure spread across your body, you slowly begin to feel your other senses return to you..." hide screen blkfade with d9 - lun "[lun_genie_name]!" ("mad", "wide", "base", "L") + lun "[name_genie_luna]!" ("mad", "wide", "base", "L") gen "{size=-4}Oh shit!{/size}" ("angry", xpos="far_left", ypos="head") #small text - lun "[lun_genie_name], you--" ("disgust", "wide", "base", "L") + lun "[name_genie_luna], you--" ("disgust", "wide", "base", "L") gen "I can explain!" ("base", xpos="far_left", ypos="head") lun "You've done it!" ("smile", "narrow", "base", "mid") gen "I was just scratching--" ("angry", xpos="far_left", ypos="head") gen "Sorry, what did you say?" ("angry", xpos="far_left", ypos="head") - lun "You expelled the Wrackspurts!" ("grin", "happyCl", "base", "mid") + lun "You expelled the wrackspurts!" ("grin", "happyCl", "base", "mid") gen "I did?" ("base", xpos="far_left", ypos="head") lun "And through your penis no less!" ("grin", "base", "base", "downL") lun "You're a genius!" ("grin", "base", "base", "mid") - gen "Well... *Err*... I suppose--" ("base", xpos="far_left", ypos="head") + gen "Well...{w=0.2} *Err*...{w=0.2} I suppose--" ("base", xpos="far_left", ypos="head") lun "You've got to teach me how you did it!" ("angry", "wide", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - gen "I mean... I'd love to!" ("grin", xpos="far_left", ypos="head") + gen "I mean...{w=0.4} I'd love to!" ("grin", xpos="far_left", ypos="head") lun "Yay!" ("base", "happyCl", "base", "mid") - lun "So how did you do it? I thought you were using your wand..." ("grin", "narrow", "base", "mid") + lun "So, how did you do it? I thought you were wielding your wand..." ("grin", "narrow", "base", "mid") lun "Or is that what you call a penis, do you call that a wand too?!" ("open", "wide", "base", "mid") lun "Did you cast a spell through it?--" ("soft", "wide", "base", "mid") - gen "Slow down [luna_name]..." ("base", xpos="far_left", ypos="head") - lun "Sorry [lun_genie_name]..." ("mad", "base", "base", "mid") - gen "Well you could say it's similar to a spell... I stroke my penis along the shaft and then--" ("base", xpos="far_left", ypos="head") + gen "Slow down, [name_luna_genie]..." ("base", xpos="far_left", ypos="head") + lun "Sorry [name_genie_luna]..." ("mad", "base", "base", "mid") + gen "Well, you could say it's similar to a spell... I stroke my penis along the shaft and then--" ("base", xpos="far_left", ypos="head") lun "Can I do it now?" ("grin", "base", "base", "mid") gen "What? Right now?!" ("angry", xpos="far_left", ypos="head") lun "Yes!" ("smile", "wide", "base", "mid") gen "Sure!" ("grin", xpos="far_left", ypos="head") #Luna takes off her bottoms - $ renpy.sound.play("sounds/cloth_sound3.ogg") + $ states.lun.status.show_panties = True + play sound "sounds/cloth_sound3.ogg" $ luna.strip("bottom") lun "Finally... A way to get rid of--" ("grin", "narrow", "base", "down") lun "Hold on a minute..." ("normal", "wide", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name], I don't think this is going to work out..." ("angry", "base", "base", "mid") + lun "[name_genie_luna], I don't think this is going to work out..." ("angry", "base", "base", "mid") gen "What?! No! Keep going!" ("angry", xpos="far_left", ypos="head") lun "Well...{w=0.4} I just realised..." ("disgust", "narrow", "base", "down") - lun "I don't have a penis, [lun_genie_name]..." ("angry", "narrow", "base", "mid") + lun "I don't have a penis, [name_genie_luna]..." ("angry", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "You just realised?" ("base", xpos="far_left", ypos="head") lun "Yes..." ("annoyed", "base", "base", "R") @@ -462,7 +474,7 @@ label ll_pf_talk_T1_E3_intro: menu: "\"Are you serious...\"": pass - "\"....what?\"": + "\".... What?\"": pass "\"..............\"": pass @@ -471,14 +483,14 @@ label ll_pf_talk_T1_E3_intro: pause 1 gen "..." ("base", xpos="far_left", ypos="head") - lun "I'm sorry [lun_genie_name], I got a bit ahead of myself there..." ("angry", "narrow", "base", "mid") + lun "I'm sorry [name_genie_luna], I got a bit ahead of myself there..." ("angry", "narrow", "base", "mid") #Luna puts on her bottoms - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ luna.wear("all") gen "No,{w=0.2} wait!" ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]?" ("soft", "base", "raised", "mid") + lun "[name_genie_luna]?" ("soft", "base", "raised", "mid") gen "*Err*... I'm sure we can think of something..." ("base", xpos="far_left", ypos="head") lun "" ("upset", "base", "base", "mid") @@ -493,12 +505,12 @@ label ll_pf_talk_T1_E3_intro: lun "An inspection?" ("soft", "base", "raised", "downL") lun "Is that what you did to figure out how to expel them from yourself?" ("open", "base", "raised", "mid") gen "Smart girl... That's exactly it!" ("base", xpos="far_left", ypos="head") - gen "I'm sure with a thorough inspection we'll figure out a way for you to expel them as well..." ("base", xpos="far_left", ypos="head") + gen "I'm sure with a thorough inspection, we'll figure out a way for you to expel them as well..." ("base", xpos="far_left", ypos="head") lun "You truly believe so?" ("grin", "base", "base", "mid") gen "Of course!" ("grin", xpos="far_left", ypos="head") gen "We'll have you spurting all over the place in no time, don't you worry!" ("base", xpos="far_left", ypos="head") lun "Yay!" ("base", "happyCl", "base", "mid") - lun "Thank you [lun_genie_name]!" ("grin", "narrow", "base", "mid") + lun "Thank you [name_genie_luna]!" ("grin", "narrow", "base", "mid") lun "..." ("base", "base", "base", "R") #glances off if game.daytime: @@ -506,8 +518,8 @@ label ll_pf_talk_T1_E3_intro: gen "Of course... Off you go!" ("base", xpos="far_left", ypos="head") else: gen "But you better get some rest before that..." ("base", xpos="far_left", ypos="head") - gen "(at least I do...)" ("base", xpos="far_left", ypos="head") - lun "Oh... Of course, [lun_genie_name]!" ("mad", "base", "base", "stare") + gen "(At least I do...)" ("base", xpos="far_left", ypos="head") + lun "Oh... Of course, [name_genie_luna]!" ("mad", "base", "base", "stare") lun "Just let me know when you're ready to do the inspection." ("crooked_smile", "base", "base", "mid") gen "Certainly..." ("base", xpos="far_left", ypos="head") @@ -518,30 +530,32 @@ label ll_pf_talk_T1_E3_intro: gen "..." ("base", xpos="far_left", ypos="head") gen "(And now I wake up...)" ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") - gen "(Okay I guess all that did just happen...)" ("base", xpos="far_left", ypos="head") + gen "(Okay, I guess all that did just happen...)" ("base", xpos="far_left", ypos="head") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T1_E4_repeat: - gen "How are you feeling [luna_name]?" ("base", xpos="far_left", ypos="head") + call ll_pf_talk + + gen "How are you feeling, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "I...{w=0.4} I'm okay..." ("open", "narrow", "base", "down") - lun "But I'm still worried about this burning sensation between my legs, [lun_genie_name]." ("upset", "narrow", "base", "mid") + lun "But I'm still worried about this burning sensation between my legs, [name_genie_luna]." ("upset", "narrow", "base", "mid") gen "I'm sure we'll find a way for you to deal with them once I've had a thorough inspection of your body...." ("base", xpos="far_left", ypos="head") - lun "I do hope we find a solution soon, I've been spotting more and more of them through my spectrespecs by the day..." ("upset", "narrow", "base", "R") - gen "(With Tonks and Snape around that's not surprising...)" ("base", xpos="far_left", ypos="head") + lun "I do hope we'll find a solution soon... I've been spotting more and more of them through my spectrespecs by the day." ("upset", "narrow", "base", "R") + gen "(With Tonks and Snape around, that's not surprising...)" ("base", xpos="far_left", ypos="head") gen "Well I better prepare for that inspection then..." ("base", xpos="far_left", ypos="head") - lun "Yes...{w=0.4} Thank you, [lun_genie_name]." ("open", "base", "base", "mid") + lun "Yes...{w=0.4} Thank you, [name_genie_luna]." ("open", "base", "base", "mid") gen "Hold on...{w} Actually we may have a little problem..." ("base", xpos="far_left", ypos="head") - lun "A little problem, [lun_genie_name]?" ("soft", "base", "base", "mid") - gen "No, wait it's a massive problem! A massive problem has arisen!" ("angry", xpos="far_left", ypos="head") - lun "There's a massive problem?! [lun_genie_name], why didn't you tell me at the start!" ("clench", "base", "base", "mid") + lun "A little problem, [name_genie_luna]?" ("soft", "base", "base", "mid") + gen "No, wait! It's a massive problem! A massive problem has arisen!" ("angry", xpos="far_left", ypos="head") + lun "There's a massive problem?! [name_genie_luna], why didn't you tell me at the start!" ("clench", "base", "base", "mid") gen "It just started happening! Come here quick!" ("angry", xpos="far_left", ypos="head") lun "On it!" ("mad", "base", "base", "mid") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main call gen_chibi("jerk_off_behind_desk") @@ -552,39 +566,39 @@ label ll_pf_talk_T1_E4_repeat: call lun_walk(path=[(440, 470),(230, 470),(230, 455)]) call lun_chibi("stand", 230, 455, flip=True) - call nar(">As Luna rushes up to your desk you pull out your cock and start stroking it.") + nar "As Luna rushes up to your desk, you pull out your cock and start stroking it." - lun "[lun_genie_name]!" ("mad", "base", "base", "downL", xpos="mid", ypos="base", flip=True, trans=dissolve) + lun "[name_genie_luna]!" ("mad", "base", "base", "downL", xpos="mid", ypos="base", flip=True, trans=dissolve) lun "Your penis is getting all hard again!" ("angry", "narrow", "base", "downL") lun "How on earth did this happen so quickly?!" ("clench", "base", "base", "downL") gen "That's what I thought!" ("angry", xpos="far_left", ypos="head") - lun "Does it hurt [lun_genie_name]? Your penis looks as if it's about to burst!" ("angry", "base", "base", "downL") - gen "*Ah*...{w=0.4} It...{w=0.4} It's fine but you better keep a close eye on it as I deal with this." ("angry", xpos="far_left", ypos="head") - lun "Yes, [lun_genie_name]!" ("mad", "base", "base", "mid") + lun "Does it hurt, [name_genie_luna]? Your penis looks as if it's about to burst!" ("angry", "base", "base", "downL") + gen "*Ah*...{w=0.4} It...{w=0.4} It's fine, but you better keep a close eye on it as I deal with this." ("angry", xpos="far_left", ypos="head") + lun "Yes, [name_genie_luna]!" ("mad", "base", "base", "mid") lun "" ("soft", "narrow", "base", "downL") - call nar(">Luna fixes her gaze and stares intently at your cock as you continue stroking it.") - call nar(">Even in her worried state there's still quite a bit of excitement in her eyes.") + nar "Luna fixes her gaze, and stares intently at your cock as you continue stroking it." + nar "Even in her worried state, there's still quite a bit of excitement in her eyes." gen "Oh. I can't even look at it, tell me it still looks okay!" ("angry", xpos="far_left", ypos="head") - lun "It's still intact [lun_genie_name]!" ("angry", "narrow", "base", "downL") - lun "Oh my... It's twitching!" ("angry", "narrow", "base", "downL", cheeks="blush") - gen "I feel it, just keep looking at it [luna_name]!" ("angry", xpos="far_left", ypos="head") - lun "Yes, [lun_genie_name]!" ("clench", "base", "base", "downL", cheeks="blush") + lun "It's still intact, [name_genie_luna]!" ("angry", "narrow", "base", "downL") + lun @ cheeks blush "Oh my...{w=0.4} It's twitching!" ("angry", "narrow", "base", "downL") + gen "I can feel it coming, keep looking at it, [name_luna_genie]!" ("angry", xpos="far_left", ypos="head") + lun @ cheeks blush "Yes, [name_genie_luna]!" ("clench", "base", "base", "downL") - call nar(">You keep stroking your shaft as Luna watches over your every move.") - call nar(">You start stroking it faster and faster, getting closer and closer to the edge by the second.") + nar "You keep stroking your shaft as Luna watches your every move." + nar "Stroking it faster and faster, you feel yourself getting closer and closer to the edge by the second." - lun "It's pulsating! How many Wrackspurts do you have in there?" ("disgust", "base", "base", "downL", cheeks="blush") + lun @ cheeks blush "It's pulsating! How many wrackspurts do you have in there?" ("disgust", "base", "base", "downL") gen "It's...{w=0.4} Filled to the brim!" ("angry", xpos="far_left", ypos="head") - lun "Do you need me to get Madam Pomfrey?" ("mad", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Do you need me to get Madam Pomfrey?" ("mad", "base", "base", "mid") gen "*Ah*...{w=0.4} Who?" ("angry", xpos="far_left", ypos="head") - lun "Oh my, they're making you go delirious!" ("angry", "happyCl", "base", "downL", cheeks="blush") - lun "The Matron [lun_genie_name], should I fetch her?" ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Oh my, they're making you go delirious!" ("angry", "happyCl", "base", "downL") + lun @ cheeks blush "The Matron [name_genie_luna], should I fetch her?" ("angry", "narrow", "base", "mid") gen "Absolutely!" ("grin", xpos="far_left", ypos="head") - call nar(">As the thought of Luna bringing a hot nurse crosses your mind you feel yourself reaching climax.") - lun "I'll be back in just a moment!" ("angry", "happyCl", "base", "mid", cheeks="blush") + nar "As the thought of Luna bringing a hot nurse crosses your mind, you feel yourself reaching climax." + lun @ cheeks blush "I'll be back in just a moment!" ("angry", "happyCl", "base", "mid") #Luna walks to mid position call lun_walk(path=[(230, 455),(230, 470),(440, 470),("mid", "base")]) @@ -593,7 +607,7 @@ label ll_pf_talk_T1_E4_repeat: gen "*Argh*!!" ("angry", xpos="far_left", ypos="head") call lun_chibi("stand", "mid", "base", flip=False) - lun "[lun_genie_name]?" ("mad", "base", "base", "mid", flip=False, trans=dissolve) + lun "[name_genie_luna]?" ("mad", "base", "base", "mid", flip=False, trans=dissolve) call gen_chibi("cum_behind_desk") call cum_block @@ -603,7 +617,7 @@ label ll_pf_talk_T1_E4_repeat: call cum_block gen "*Argh*..." ("angry", xpos="far_left", ypos="head") call gen_chibi("jerk_off_behind_desk") - lun "[lun_genie_name], are you okay?!" ("angry", "base", "base", "mid") + lun "[name_genie_luna], are you okay?!" ("angry", "base", "base", "mid") lun "Are you in pain?" ("angry", "narrow", "base", "mid") gen "Yes, it pains me that you didn't--" ("angry", xpos="far_left", ypos="head") call gen_chibi("cum_behind_desk") @@ -613,45 +627,47 @@ label ll_pf_talk_T1_E4_repeat: call gen_chibi("cum_behind_desk_done") with d3 - lun "[lun_genie_name]?" ("mad", "base", "base", "mid") + lun "[name_genie_luna]?" ("mad", "base", "base", "mid") gen "*Ah*... That was--" ("base", xpos="far_left", ypos="head") lun "Are you okay?" ("mad", "narrow", "base", "mid") gen "So good..." ("base", xpos="far_left", ypos="head") lun "Do I still need to fetch the matron?" ("angry", "narrow", "base", "mid") gen "The--{w=0.3} *Err*..." ("base", xpos="far_left", ypos="head") - call nar(">You look around at your cum soiled desk.") + nar "You look around at your cum soiled desk." gen "(She might get a heart attack from seeing this battlefield...)" ("base", xpos="far_left", ypos="head") gen "It's...{w=0.3} I'm fine!" ("base", xpos="far_left", ypos="head") - lun "Are you sure, [lun_genie_name]?" ("upset", "base", "base", "mid") - gen "Yes...{w=0.3} *Ahem*...{w=0.3} Nothing a good nap wont sort out." ("base", xpos="far_left", ypos="head") + lun "Are you sure, [name_genie_luna]?" ("upset", "base", "base", "mid") + gen "Yes...{w=0.3} *Ahem*...{w=0.3} Nothing a good nap won't sort out." ("base", xpos="far_left", ypos="head") lun "*Hmm*...{w=0.3} Okay then..." ("soft", "narrow", "base", "mid") - lun "[lun_genie_name]..." ("mad", "narrow", "base", "mid") - gen "Yes, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "We'll have that inspection done soon right?" ("angry", "narrow", "base", "mid") + lun "[name_genie_luna]..." ("mad", "narrow", "base", "mid") + gen "Yes, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun "We'll have that inspection done soon, right?" ("angry", "narrow", "base", "mid") lun "I'm worried what might happen if they attacked me like this." ("disgust", "narrow", "base", "down") - gen "Of course...{w=0.3} I'll check you out-- *Err*...{w=0.3} I mean I'll have you checked as soon as possible!" ("base", xpos="far_left", ypos="head") + gen "Of course...{w=0.3} I'll check you out-- *Err*...{w=0.3} I mean, I'll have you checked as soon as possible!" ("base", xpos="far_left", ypos="head") lun "Thank Merlin..." ("open", "closed", "low", "mid") - lun "Then let me know as soon as you're ready [lun_genie_name]." ("angry", "base", "base", "mid") + lun "Then let me know as soon as you're ready, [name_genie_luna]." ("angry", "base", "base", "mid") gen "Certainly..." ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T2_E1_repeat: + call ll_pf_talk + gen "Tell me some more about these spurts..." ("base", xpos="far_left", ypos="head") - lun "Again, [lun_genie_name]?" ("open", "base", "raised", "mid") + lun "Again, [name_genie_luna]?" ("open", "base", "raised", "mid") gen "Yes... I still don't think I'm quite done with my personal research..." ("base", xpos="far_left", ypos="head") lun "Oh... Okay then..." ("soft", "base", "base", "mid") gen "One moment please." ("base", xpos="far_left", ypos="head") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main - call nar(">You pull out your cock and start stroking it.") + nar "You pull out your cock and start stroking it." call gen_chibi("jerk_off_behind_desk") with d3 pause .8 @@ -663,17 +679,17 @@ label ll_pf_talk_T2_E1_repeat: gen "Tell me more about how they make you feel." ("base", xpos="far_left", ypos="head") lun "Okay..." ("open", "base", "base", "mid") - call nar(">You continue stroking your hardening cock in anticipation as Luna looks at you nervously.") + nar "You continue stroking your hardening cock in anticipation as Luna looks at you nervously." lun "..." ("normal", "narrow", "base", "downL") - lun "*Ehm*... [lun_genie_name]..." ("open", "narrow", "base", "downL") + lun "*Ehm*... [name_genie_luna]..." ("open", "narrow", "base", "downL") gen "Yes?" ("base", xpos="far_left", ypos="head") lun "Could I...{w} Could I watch you do it?" ("open", "narrow", "base", "mid") gen "You want to...{w=0.4} Watch me?" ("base", xpos="far_left", ypos="head") - lun "Yes, If I'm supposed to learn about these things then wouldn't it be best if I watched you do it?" ("soft", "narrow", "base", "mid") + lun "Yes, If I'm supposed to learn about these things, then wouldn't it be best if I watched you do it?" ("soft", "narrow", "base", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - lun "Please, [lun_genie_name]! Even if I'm not ready yet myself, I really want to be able to help you properly once I am!" ("mad", "base", "base", "mid") + lun "Please, [name_genie_luna]! Even if I'm not ready yet myself, I really want to be able to help you properly once I am!" ("mad", "base", "base", "mid") gen "Well...{w=0.4} *Ah*...{w=0.4} When you put it that way..." ("base", xpos="far_left", ypos="head") - lun "Oh... Thank you [lun_genie_name], I'm so glad you trust me..." ("grin", "base", "base", "mid") + lun "Oh... Thank you [name_genie_luna], I'm so glad you trust me..." ("grin", "base", "base", "mid") #Luna walks up to beside genie and turns call lun_walk(path=[(440, 470),(230, 470),(230, 455)]) @@ -683,16 +699,20 @@ label ll_pf_talk_T2_E1_repeat: lun "Wow...{w=0.4} It's quite big isn't it?" ("soft", "base", "base", "downL", xpos="mid", ypos="base", flip=True, trans=dissolve) gen "It gets bigger as I stroke it..." ("base", xpos="far_left", ypos="head") lun "Really?" ("mad", "base", "base", "mid") - lun "How big is it going to get?" ("open", "base", "base", "downL", cheeks="blush") + lun @ cheeks blush "How big is it going to get?" ("open", "base", "base", "downL") gen "Quite...{w=0.4} Quite a fair bit bigger..." ("base", xpos="far_left", ypos="head") - call nar(">You look up at the girl, who's now watching your every stroke with excitement.") - lun "Wow, it's so much bigger now! It's like unicorn horn!" ("open", "narrow", "base", "downL", cheeks="blush") - call nar(">With Luna so close to you, you can't help but notice her reddening cheeks and quickening breath.") - lun "Wait, surely it can't be as hard as a unicorn horn..." ("soft", "base", "raised", "downL", cheeks="blush") + + nar "You look up at the girl, who's now watching your every stroke with excitement." + + lun @ cheeks blush "Wow, it's so much bigger now! It's like a unicorn horn!" ("open", "narrow", "base", "downL") + + nar "With Luna so close to you, you can't help but notice her reddening cheeks and quickening breath." + + lun @ cheeks blush "Wait, surely it can't be as hard as a unicorn horn..." ("soft", "base", "raised", "downL") gen "(*Ngh*...{w=0.4} You'd be surprised...)" ("base", xpos="far_left", ypos="head") - lun "It's more like...{w=0.4} like..." ("upset", "base", "base", "downL", cheeks="blush") + lun @ cheeks blush "It's more like...{w=0.4} like..." ("upset", "base", "base", "downL") gen "*Ah*...{w=0.4} Yes...{w=0.4} Tell me more about how big it is..." ("base", xpos="far_left", ypos="head") - lun "Like a python!" ("angry", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Like a python!" ("angry", "base", "base", "mid") gen "That's...{w=0.4} It...{w=0.4} Watch this python spit!" ("angry", xpos="far_left", ypos="head") call gen_chibi("cum_behind_desk") @@ -702,7 +722,7 @@ label ll_pf_talk_T2_E1_repeat: call cum_block gen "*Argh*..." ("angry", xpos="far_left", ypos="head") lun "There's so much of it!" ("grin", "wide", "base", "stare") - gen "(Yes, watch me spurt you airheaded--)" ("angry", xpos="far_left", ypos="head") + gen "(Yes, watch me spurt, you airheaded--)" ("angry", xpos="far_left", ypos="head") call cum_block gen "*Argh*-- *heavy panting*" ("angry", xpos="far_left", ypos="head") call gen_chibi("cum_behind_desk_done") @@ -712,14 +732,14 @@ label ll_pf_talk_T2_E1_repeat: gen "*Ah*...{w=0.3} *Ah*...{w=0.4} *Ah*..." ("base", xpos="far_left", ypos="head") lun "Oh! It's shrinking again, that must mean it worked, right?" ("grin", "base", "base", "downL") gen "Don't look at that!" ("angry", xpos="far_left", ypos="head") - lun "Oh! Sorry [lun_genie_name]!" ("mad", "base", "base", "mid") + lun "Oh! Sorry [name_genie_luna]!" ("mad", "base", "base", "mid") lun "I'll just go over there then!" ("soft", "base", "base", "mid") #Luna walks to mid position call lun_walk(path=[(230, 455),(230, 470),(440, 470),("mid", "base")]) call lun_chibi("stand", "mid", "base", flip=False) - lun "...{w} Do you feel better now, [lun_genie_name]?" ("soft", "base", "base", "mid", flip=False, trans=dissolve) + lun "...{w} Do you feel better now, [name_genie_luna]?" ("soft", "base", "base", "mid", flip=False, trans=dissolve) gen "Much better..." ("base", xpos="far_left", ypos="head") lun "I'm so glad..." ("grin", "closed", "base", "mid") @@ -731,44 +751,46 @@ label ll_pf_talk_T2_E1_repeat: lun "Oh...{w=0.4} Okay!" ("open", "base", "base", "mid") lun "I'll head off to my dorms then." ("base", "base", "base", "mid") gen "That'd probably be for the best." ("base", xpos="far_left", ypos="head") - lun "Good night then, [lun_genie_name]." ("grin", "base", "base", "mid") - gen "Good night [luna_name]." ("base", xpos="far_left", ypos="head") + lun "Good night then, [name_genie_luna]." ("grin", "base", "base", "mid") + gen "Good night [name_luna_genie]." ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end label ll_pf_talk_T3_E1_repeat: + call ll_pf_talk + gen "Able to help me deal with those spurts again?" ("base", xpos="far_left", ypos="head") lun "Of course, what would you need me to do?" ("grin", "base", "raised", "mid") gen "Just stand there for a bit." ("base", xpos="far_left", ypos="head") - lun "Oh... Okay, [lun_genie_name]." ("base", "happyCl", "base", "mid") + lun "Oh... Okay, [name_genie_luna]." ("base", "happyCl", "base", "mid") - $ genie_masturbating = True - $ lun_jerk_off_counter += 1 + $ states.gen.masturbating = True + $ states.gen.stats.masturbated_to_luna += 1 hide luna_main - call nar(">You pull out your cock and start stroking it.") + nar "You pull out your cock and start stroking it." call gen_chibi("jerk_off_behind_desk") with d3 pause .8 gen "So...{w=0.4} Any news on those spurts?" ("base", xpos="far_left", ypos="head") lun "*Ehm*..." ("soft", "base", "base", "mid") - lun "Well, to be honest [lun_genie_name] they've not really left me alone at all." ("angry", "narrow", "base", "mid") + lun "Well, to be honest [name_genie_luna] they've not really left me alone at all." ("angry", "narrow", "base", "mid") gen "Really? I thought we had been taking good care of them." ("base", xpos="far_left", ypos="head") - lun "Oh, don't get me wrong [lun_genie_name]. All our tests have helped me immensely." ("grin", "narrow", "base", "mid") - lun "If it wasn't for you, I think I would've gone completely crazy by now..." ("open", "narrow", "base", "down", cheeks="blush") + lun "Oh, don't get me wrong [name_genie_luna]. All our tests have helped me immensely." ("grin", "narrow", "base", "mid") + lun @ cheeks blush "If it wasn't for you, I think I would've gone completely crazy by now..." ("open", "narrow", "base", "down") gen "(As if you're not already, you nympho!)" ("base", xpos="far_left", ypos="head") call ctc - lun "*Ehm*, [lun_genie_name]..." ("soft", "narrow", "base", "mid", cheeks="blush") - gen "*Ah*...{w=0.3} Yes, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "I can't really see what you're doing from here..." ("open", "narrow", "base", "downL", cheeks="blush") - lun "Wouldn't it be better if I came up and watched you?" ("base", "base", "raised", "mid", cheeks="blush") + lun @ cheeks blush "*Ehm*, [name_genie_luna]..." ("soft", "narrow", "base", "mid") + gen "*Ah*...{w=0.3} Yes, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I can't really see what you're doing from here..." ("open", "narrow", "base", "downL") + lun @ cheeks blush "Wouldn't it be better if I came up and watched you?" ("base", "base", "raised", "mid") gen "I suppose..." ("base", xpos="far_left", ypos="head") - lun "Great!" ("crooked_smile", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Great!" ("crooked_smile", "base", "base", "mid") #Luna walks up to beside genie and turns call lun_walk(path=[(440, 470),(230, 470),(230, 455)]) @@ -776,87 +798,89 @@ label ll_pf_talk_T3_E1_repeat: call ctc gen "..." ("base", xpos="far_left", ypos="head") - lun "..." ("grin", "base", "base", "downL", cheeks="blush", xpos="mid", ypos="base", flip=True, trans=dissolve) + lun @ cheeks blush "..." ("grin", "base", "base", "downL", xpos="mid", ypos="base", flip=True, trans=dissolve) gen "You suddenly went quiet..." ("base", xpos="far_left", ypos="head") gen "I don't think this will work if you just stand there..." ("base", xpos="far_left", ypos="head") - lun "Oh, sorry [lun_genie_name]..." ("mad", "base", "base", "mid", cheeks="blush") - lun "Your penis is quite distracting." ("soft", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Oh, sorry [name_genie_luna]..." ("mad", "base", "base", "mid") + lun @ cheeks blush "Your penis is quite distracting." ("soft", "narrow", "base", "mid") gen "That's certainly one way to describe it..." ("base", xpos="far_left", ypos="head") - lun "Are they...{w} Would you say your penis is big, [lun_genie_name]?" ("open", "narrow", "raised", "downL", cheeks="blush") + lun @ cheeks blush "Are they...{w} Would you say your penis is big, [name_genie_luna]?" ("open", "narrow", "raised", "downL") gen "Well..." ("base", xpos="far_left", ypos="head") menu: "-Be modest-": gen "I'd say it's quite average..." ("base", xpos="far_left", ypos="head") - lun "Really? So they can get bigger than this?" ("clench", "wide", "base", "mid", cheeks="blush") - gen "If you compare it to an elephant trunk that is... Actually when it comes to penis size, mine is absolutely massive!" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Really? So, they can get bigger than this?" ("clench", "wide", "base", "mid") + gen "If you compare it to an elephant trunk that is... Actually, when it comes to penis size, mine is absolutely massive!" ("base", xpos="far_left", ypos="head") gen "That's why I'm such a powerful wizard." ("base", xpos="far_left", ypos="head") gen "The two are directly related." ("base", xpos="far_left", ypos="head") - "-Overexaggerate-": + "-Over-exaggerate-": gen "It's absolutely massive..." ("base", xpos="far_left", ypos="head") - lun "I knew it!" ("grin", "base", "base", "downL", cheeks="blush") + lun @ cheeks blush "I knew it!" ("grin", "base", "base", "downL") gen "Actually, I have to use magic to make it smaller than its true size." ("base", xpos="far_left", ypos="head") - lun "Really?" ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Really?" ("angry", "narrow", "base", "mid") gen "Oh yes..." ("base", xpos="far_left", ypos="head") gen "Who do you think designed these robes?" ("base", xpos="far_left", ypos="head") - lun "*Ehm*..." ("soft", "base", "base", "mid", cheeks="blush") - gen "Me of course!" ("base", xpos="far_left", ypos="head") - gen "If everyone has to wear loose fitting clothes then they wouldn't question why I'm always wearing them." ("base", xpos="far_left", ypos="head") - gen "It is a curse... Sporting such a massive phallus..." ("base", xpos="far_left", ypos="head") - lun "I... I'm sorry [lun_genie_name]... I had no idea..." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "That's the curse of being such a powerful wizard..." ("base", xpos="far_left", ypos="head") - gen "The more powerful you are the larger it is." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Ehm*..." ("soft", "base", "base", "mid") + gen "Me, of course!" ("base", xpos="far_left", ypos="head") + gen "Ever since I normalised wearing loose-fitting robes, nobody has ever questioned me about it." ("base", xpos="far_left", ypos="head") + gen "It is truly a curse... Sporting such a massive phallus..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I--{w=0.2} I'm sorry [name_genie_luna]... I had no idea..." ("angry", "narrow", "base", "mid") + gen "That's the downside of being such a powerful wizard..." ("base", xpos="far_left", ypos="head") + gen "The more powerful you become, the larger the member... Yep... All that power goes straight to the head." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh, I think my dad told me something like that about the employees at the ministry." ("grin", "base", "base", "mid") + gen "That would be the head above your shoulders, I'm still talking about the one between my legs." ("base", xpos="far_left", ypos="head") "-Play it down-": gen "Nah, it's tiny..." ("base", xpos="far_left", ypos="head") - lun "Really?" ("clench", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Really?" ("clench", "base", "base", "mid") gen "Yep..." ("base", xpos="far_left", ypos="head") - lun "How do other people even hide theirs then?" ("disgust", "base", "base", "downL", cheeks="blush") - gen "Oh, you mean compared to other people?" ("base", xpos="far_left", ypos="head") - gen "You should've specified then... Size is quite relative you know..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "How do other people even hide theirs then?" ("disgust", "base", "base", "downL") + gen "Oh, you meant compared to other people?" ("base", xpos="far_left", ypos="head") + gen "You should've specified... Size is quite relative, you know..." ("base", xpos="far_left", ypos="head") gen "This planet is tiny compared to the sun, which is tiny compared to the universe." ("base", xpos="far_left", ypos="head") - lun "Then... How big is it compared to the average person?" ("open", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Then... How big is it compared to the average person?" ("open", "base", "base", "mid") gen "Absolutely massive!" ("grin", xpos="far_left", ypos="head") - lun "I knew it..." ("grin", "base", "base", "downL", cheeks="blush") + lun @ cheeks blush "I knew it..." ("grin", "base", "base", "downL") gen "I mean, that's to be expected from such a powerful wizard as myself." ("base", xpos="far_left", ypos="head") gen "Here's some advice for you... If you ever want to find out if a wizard is powerful, just check out his penis." ("base", xpos="far_left", ypos="head") - lun "Truly?" ("soft", "base", "raised", "mid", cheeks="blush") + lun @ cheeks blush "Truly?" ("soft", "base", "raised", "mid") gen "Of course!" ("grin", xpos="far_left", ypos="head") gen "The bigger the wand, the more powerful the wizard." ("base", xpos="far_left", ypos="head") - lun "Wow... I can't believe I didn't know that..." ("angry", "base", "base", "downL", cheeks="blush") + lun @ cheeks blush "Wow... I can't believe I didn't know that..." ("angry", "base", "base", "downL") gen "Merlin, Saruman, Gandalf...{w=0.3} Jafar...{w=0.3} What do we all have in common?" ("base", xpos="far_left", ypos="head") - lun "I don't--" ("soft", "narrow", "base", "mid", cheeks="blush") - gen "We all wear robes! To hide our true power you see..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I don't--" ("soft", "narrow", "base", "mid") + gen "We all wear robes! To hide our true power, you see..." ("base", xpos="far_left", ypos="head") gen "(Although that last one had a power enlargement...)" ("base", xpos="far_left", ypos="head") - lun "I see..." ("grin", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "I see..." ("grin", "base", "base", "mid") gen "Now if you excuse me, I need to concentrate on this..." ("base", xpos="far_left", ypos="head") - lun "Of course [lun_genie_name]..." ("crooked_smile", "narrow", "base", "mid", cheeks="blush") - gen "Feel free to talk about how big it is by the way... It might help." ("base", xpos="far_left", ypos="head") - lun "Oh... *Ehm*..." ("mad", "narrow", "base", "mid", cheeks="blush") - call nar(">You continue stroking your cock in anticipation as Luna looks at you, pondering what to say.") - lun "Your penis is so big [lun_genie_name]..." ("soft", "narrow", "base", "downL", cheeks="blush") + lun @ cheeks blush "Of course [name_genie_luna]..." ("crooked_smile", "narrow", "base", "mid") + gen "Feel free to tell me more about how big it is, by the way... It might help." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh... *Ehm*..." ("mad", "narrow", "base", "mid") + nar "You continue stroking your cock in anticipation as Luna looks at you, pondering what to say." + lun @ cheeks blush "Your penis is so big, [name_genie_luna]..." ("soft", "narrow", "base", "downL") gen "Yes, that's it... Keep going, tell me how great I am." ("base", xpos="far_left", ypos="head") - lun "And you're so powerful..." ("grin", "narrow", "base", "downL", cheeks="blush") + lun @ cheeks blush "And you're so powerful..." ("grin", "narrow", "base", "downL") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "That's it...{w=0.3} *Ah*...{w=0.3} How powerful am I?" ("base", xpos="far_left", ypos="head") - lun "More powerful than merlin!" ("smile", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "More powerful than Merlin!" ("smile", "base", "base", "mid") gen "*Ngh*...{w=0.3} Yeah...{w=0.3} That guy, he's so overrated!" ("base", xpos="far_left", ypos="head") - call nar(">You feel yourself getting closer to the edge as Luna strokes your ego.") - gen "I'm... I'm close, girl keep going..." ("base", xpos="far_left", ypos="head") - lun "Oh... *Ehm*... I'm not sure what to--" ("angry", "narrow", "base", "downL", cheeks="blush") + nar "You feel yourself getting closer to the edge as Luna strokes your ego." + gen "I'm... I'm close girl, keep going..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh... *Ehm*... I'm not sure what to--" ("angry", "narrow", "base", "downL") gen "Tell me I'm better than Jafar!" ("base", xpos="far_left", ypos="head") - lun "*Ehm*... I don't know who--" ("soft", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "*Ehm*... I don't know who--" ("soft", "base", "base", "mid") gen "{size=+4}Tell me!{/size}" ("base", xpos="far_left", ypos="head") - lun "You're better than Jafar!" ("clench", "wide", "base", "mid", cheeks="blush") + lun @ cheeks blush "You're better than Jafar!" ("clench", "wide", "base", "mid") gen "That's it girl, feel my power!" ("base", xpos="far_left", ypos="head") call gen_chibi("cum_behind_desk") call lun_chibi("stand", 230, 455, flip=True) call cum_block - lun "Whoa!" ("open", "wide", "base", "downL", cheeks="blush") + lun @ cheeks blush "Whoa!" ("open", "wide", "base", "downL") call cum_block gen "*Argh*..." ("angry", xpos="far_left", ypos="head") - lun "[lun_genie_name]!" ("soft", "wide", "base", "downL") + lun "[name_genie_luna]!" ("soft", "wide", "base", "downL") lun "You truly are power--!" ("grin", "wide", "base", "stare") gen "I'm not done yet!" ("angry", xpos="far_left", ypos="head") call cum_block @@ -865,18 +889,18 @@ label ll_pf_talk_T3_E1_repeat: call lun_chibi("stand", 230, 455, flip=True) with d3 - lun "Wow... It went so far!" ("smile", "wide", "base", "L") - lun "Is that related to your wizard powers too?" ("angry", "base", "base", "mid") - gen "*Ah*...{w=0.3} *Ah*...{w=0.3} That's just sheer willpower..." ("base", xpos="far_left", ypos="head") + lun "Wow... They went so far!" ("smile", "wide", "base", "L") + lun "Is that related to your wizarding powers too?" ("angry", "base", "base", "mid") + gen "*Ah*...{w=0.3} *Ah*...{w=0.3} That's just sheer willpower... And a couple of Kegel exercises every now and then." ("base", xpos="far_left", ypos="head") lun "Astonishing..." ("soft", "narrow", "base", "downL") gen "You can stop staring at it now..." ("base", xpos="far_left", ypos="head") - lun "Oh... Of course [lun_genie_name]." ("angry", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Oh... Of course, [name_genie_luna]." ("angry", "narrow", "base", "mid") #Luna walks to mid position call lun_walk(path=[(230, 455),(230, 470),(440, 470),("mid", "base")]) call lun_chibi("stand", "mid", "base", flip=False) - lun "...{w} [lun_genie_name]?" ("open", "base", "base", "mid", flip=False, trans=dissolve) + lun "...{w} [name_genie_luna]?" ("open", "base", "base", "mid", flip=False, trans=dissolve) gen "Yes?" ("base", xpos="far_left", ypos="head") lun "Do you mind answering a question?" ("base", "base", "base", "mid") gen "Shoot." ("base", xpos="far_left", ypos="head") @@ -891,10 +915,10 @@ label ll_pf_talk_T3_E1_repeat: gen "Of course... Off you go!" ("base", xpos="far_left", ypos="head") else: lun "Well... If that was everything..." ("base", "base", "base", "mid") - gen "Yes, that shall do for tonight [luna_name]." ("base", xpos="far_left", ypos="head") - lun "Good night then, [lun_genie_name]." ("grin", "base", "base", "mid") - gen "Good night [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Yes, that shall do for tonight [name_luna_genie]." ("base", xpos="far_left", ypos="head") + lun "Good night then, [name_genie_luna]." ("grin", "base", "base", "mid") + gen "Good night [name_luna_genie]." ("base", xpos="far_left", ypos="head") call lun_walk(action="leave") - jump ll_pf_talk.end + jump ll_pf_talk_end diff --git a/game/scripts/characters/luna/events/intro.rpy b/game/scripts/characters/luna/events/intro.rpy index 7287d5ab..720e67d6 100644 --- a/game/scripts/characters/luna/events/intro.rpy +++ b/game/scripts/characters/luna/events/intro.rpy @@ -7,8 +7,8 @@ label luna_intro_E1: # Setup - $ luna_intro_E1 = True - $ luna_name = "???" + $ states.lun.ev.intro.e1_complete = True + $ name_luna_genie = "???" $ d_flag_01 = False $ d_flag_02 = [False, False, False, False, False] @@ -27,24 +27,24 @@ label luna_intro_E1: $ hermione.equip(her_outfit_pajama) $ tonks.equip(ton_outfit_dressing_gown) - call play_music("stop") + stop music fadeout 1 show screen blktone with d3 pause .5 - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "*Snore*{w=2.0}{nw}" ("base", xpos="far_left", ypos="head") gen "Yes..." ("base", xpos="far_left", ypos="head") pause 1.0 - $ renpy.sound.play("sounds/snore3.ogg") + play sound "sounds/snore3.ogg" gen "*Sn{cps=8}oooooooreeee*{/cps}{w=2.0}{nw}" ("base", xpos="far_left", ypos="head") gen "Let's weigh those melons then shall we..." ("base", xpos="far_left", ypos="head") pause 1.0 - $ renpy.sound.play("sounds/snore2.ogg") + play sound "sounds/snore2.ogg" gen "......{w=0.5}*Snore*{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") gen "Can't find the scales... will have to use my hands..." ("grin", xpos="far_left", ypos="head") @@ -59,33 +59,36 @@ label luna_intro_E1: pause 1 call chibi_emote("hide", "luna") call lun_walk("410", speed=0.7) - call play_sound("kick") + play sound "sounds/kick.ogg" show screen gfx_effect(428, 365, img="smoke", zoom=0.25) with hpunch pause 0.5 - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" call bld gen "M-My cabbages!" ("angry", xpos="far_left", ypos="head") $ luna.set_face(mouth="soft", eyes="closed", eyebrows="low", pupils="mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG luna") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-1040, -600), initialize=True) - show screen animatedCG + show CG luna as cg zorder 17: + align (0.5, 0.5) + pos (-520, -300) with fade gen "Who is--" - $ camera.set(zoom=1.0, pos=(-1040, -35), t=5.0, pause=True) + show CG luna as cg zorder 17: + align (0.5, 0.5) + pos (-520, -300) + easein_quad 5.0 pos (-520, 150) gen "... A girl?" lun "*Mmh*" - $ camera.set(zoom=0.5, pos=(-270, -150), t=3.0) + + show CG luna as cg zorder 17: + zoom 1.0 + align (0.5, 0.5) + pos (-520, 150) + easein_quad 3.0 align (0.0, 0.0) pos (0, 0) zoom 0.5 gen "What are you doing in my office?" gen "Did Snape send you here? Surely--" @@ -96,11 +99,12 @@ label luna_intro_E1: gen "Why would your glasses be in here?" gen "Hold on..." - hide screen animatedCG + $ luna.hide() + hide cg call gen_chibi("stand", 225, "base") with fade - pause 1 + pause 0.5 call gen_walk(path=[(230, 470), (440, 470), (450, 430)]) call gen_chibi("stand", 450, "base", flip=False) @@ -111,7 +115,7 @@ label luna_intro_E1: #Genie walks over behind Luna who doesn't turn around gen "(Is this girl sleepwalking?)" ("base", xpos="far_left", ypos="head") - call play_music("luna", fadein=5.0) + play music "music/wallpaper-by-kevin-macleod.ogg" fadein 5 if_changed lun "" ("soft", "closed", "low", "mid", xpos="mid", ypos="base", trans=dissolve) gen "Whoa,{w=0.2} check out these melons!" ("grin", xpos="far_left", ypos="head") gen "(Shit.... I said that out loud.)" ("angry", xpos="far_left", ypos="head") @@ -123,17 +127,17 @@ label luna_intro_E1: "-Oral examination-": $ d_flag_01 = True gen "So... What's your name?" ("base", xpos="far_left", ypos="head") - lun "...{w=0.8}Wrackspurts..." ("open", "closed", "low", "mid") + lun "...{w=0.8} Wrackspurts..." ("open", "closed", "low", "mid") gen "Charming..." ("base", xpos="far_left", ypos="head") gen "(I suppose that is a plausible name in this world...)" ("base", xpos="far_left", ypos="head") - $ luna_name = "Miss Backspurts?" + $ name_luna_genie = "Miss Backspurts?" "-Hands-on examination-": pause 0.5 $ mouse_slap() lun "No!" ("angry", "happyCl", "low", "mid") gen "..." ("angry", xpos="far_left", ypos="head") - lun "The Nargles..." ("open", "happyCl", "low", "mid") + lun "The nargles..." ("open", "happyCl", "low", "mid") gen "The what now?" ("base", xpos="far_left", ypos="head") lun "*Inaudible mumbling*..." ("upset", "closed", "low", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") @@ -164,7 +168,7 @@ label luna_intro_E1: call gen_chibi("jerk_off", 450, "base", flip=False) lun "" ("soft", "closed", "low", "mid") pause 1 - call nar("*Fap* *Fap* *Fap*") + nar "*Fap* *Fap* *Fap*" call hide_blkfade gen "..." ("base", xpos="far_left", ypos="head") @@ -200,7 +204,7 @@ label luna_intro_E1: menu: "-Summon Snape-" if not d_flag_02[0]: $ d_flag_02[0] = True - ">You put your palms on your temples, attempting to summon Snape, but nothing happens." # X-Man reference + nar "You put your palms on your temples, attempting to summon Snape, but nothing happens." # X-Man reference gen "*Hmm*... He must be dead..." ("base", xpos="far_left", ypos="head") gen "Dead drunk..." ("angry", xpos="far_left", ypos="head") @@ -208,10 +212,10 @@ label luna_intro_E1: "-Summon Tonks-" if not d_flag_02[1]: $ d_flag_02[1] = True - ">You try to summon Tonks." + nar "You try to summon Tonks." pause 0.2 - $ renpy.sound.play("sounds/magic3.ogg") - ">The spell fizzles." + play sound "sounds/magic3.ogg" + nar "The spell fizzles." gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "(Don't think that worked... Is she sleeping?)" ("base", xpos="far_left", ypos="head") @@ -219,7 +223,7 @@ label luna_intro_E1: "-Summon God-" if not d_flag_02[2]: $ d_flag_02[2] = True - ">Nothing happened." + nar "Nothing happened." gen "Figures..." ("base", xpos="far_left", ypos="head") jump .choices @@ -230,7 +234,7 @@ label luna_intro_E1: gen "I summon thee... Satan." ("base", xpos="far_left", ypos="head") pause 1 gen "*heh*... Just as I exp--" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/attack_snape2.ogg') + play sound "sounds/attack_snape2.ogg" show pentogram onlayer screens at Position(xpos=690, ypos=250, xanchor="center", yanchor="center") with d5 @@ -240,14 +244,14 @@ label luna_intro_E1: hide pentogram onlayer screens centered "{size=+7}{color=#cbcbcb}20 minutes later...{/color}{/size}" - gen "*Ha-ha*... Good one! Alright, talk to you later Beelzebub!" ("grin", xpos="far_left", ypos="head") + gen "*Ha-ha*... Good one! Alright, talk to you later, Beelzebub!" ("grin", xpos="far_left", ypos="head") "Beelzebub" "Ah, don't be so formal, just call me Bub." "Beelzebub" "If you ever need some latest {i}hot{/i} news, I'm your guy." - call give_reward(_(">Satan's phone number has been added to your contacts list."), "interface/icons/phone.webp") + call give_reward("Satan's phone number has been added to your contacts list.", "interface/icons/phone.webp") gen "Thanks Bub, will do!" ("grin", xpos="far_left", ypos="head") "Bub" "Take care!" - $ renpy.play('sounds/attack_snape2.ogg') + play sound "sounds/attack_snape2.ogg" call hide_blkfade @@ -256,7 +260,7 @@ label luna_intro_E1: if d_flag_02[2]: gen "(And he at least answered the call, unlike the guy upstairs...)" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/thunder.ogg") + play sound "sounds/thunder.ogg" with flash gen "!!!" ("angry", xpos="far_left", ypos="head") gen "...Sorry." ("base", xpos="far_left", ypos="head") @@ -279,27 +283,27 @@ label luna_intro_E1: call blkfade hide luna_main - call nar(">You summon Hermione to your office.") + nar "You summon Hermione to your office." call hide_blkfade call her_walk("mid", action="enter") gen "Ah, Miss Granger..." ("base", xpos="far_left", ypos="head") - her "[genie_name]... do you know what time it--" ("normal", "happyCl", "base", "down", xpos=500, ypos="base", trans=dissolve) + her "[name_genie_hermione]... do you know what time it--" ("normal", "happyCl", "base", "down", xpos=500, ypos="base", trans=dissolve) her "..." ("normal", "narrow", "base", "L") her "Luna? what are you doing here?!?" ("angry", "base", "worried", "L") #shocked if d_flag_01: gen "(Didn't she say her name was backspurts or something?)" ("base", xpos="far_left", ypos="head") - $ luna_name = "Miss Luna?" + $ name_luna_genie = "Miss Luna?" her "Don't tell me--" ("clench", "happy", "worried", "mid") gen "Quiet, girl." ("base", xpos="far_left", ypos="head") gen "She's sleepwalking..." ("base", xpos="far_left", ypos="head") her "She's...{w=0.4} Oh, I see..." ("open", "squint", "base", "L") lun "So warm..." ("open", "closed", "base", "mid", trans=dissolve) - her "..." ("disgust", "squint", "base", "L", cheeks="blush") #weirded out + her @ cheeks blush "..." ("disgust", "squint", "base", "L") #weirded out gen "Can you do something?" ("base", xpos="far_left", ypos="head") her "Do what exactly? I thought you weren't supposed to wake somebody up when they're sleepwalking..." ("angry", "squint", "base", "mid") gen "Then just escort her back to her bed..." ("base", xpos="far_left", ypos="head") @@ -323,13 +327,18 @@ label luna_intro_E1: gen "Anyway,{w=0.2} how am I supposed to know that?" ("base", xpos="far_left", ypos="head") gen "She's not wearing her school uniform, is she?" ("base", xpos="far_left", ypos="head") her "I thought our headmaster was supposed to know all of our students..." ("upset", "squint", "base", "mid") - gen "Even my immense knowledge has its limits dear..." ("base", xpos="far_left", ypos="head") + gen "Even my immense knowledge has its limits, dear..." ("base", xpos="far_left", ypos="head") her "(Clearly there's more important things occupying your mind...)" ("normal", "narrow", "base", "R") # Rolls eyes her "How come you haven't escorted her back yourself, professor?" ("angry", "narrow", "annoyed", "mid") menu: + "\"I just told you, I didn't know which house she's in.\"": + her "Well... Now you know, so you can take her." ("angry", "closed", "angry", "mid") + gen "I'd never take a lady in such a state, that's too far even for me." ("base", xpos="far_left", ypos="head") + her "What are you--" ("disgust", "narrow", "annoyed", "mid") + gen "Just take this weirdo... And get out of here, will you?" ("base", xpos="far_left", ypos="head") "\"I don't know where this Ravenglove dormitory is...\"": - her "It's Ravenclaw, [genie_name]..." ("disgust", "narrow", "annoyed", "mid") + her "It's Ravenclaw, [name_genie_hermione]..." ("disgust", "narrow", "annoyed", "mid") gen "Yes, that's what I said..." ("base", xpos="far_left", ypos="head") her "You said--" ("angry", "closed", "angry", "mid") her "What do you mean you don't know where their dormitory is?" ("clench", "squint", "base", "mid") @@ -338,7 +347,7 @@ label luna_intro_E1: "-Dismiss the question-": gen "Just get this weirdo out of here, please." ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "narrow", "worried", "mid") # Gasp + her "[name_genie_hermione]!" ("angry", "narrow", "worried", "mid") # Gasp lun "It tickles..." ("grin", "closed", "worried", "mid") her "......" ("disgust", "squint", "base", "L") # Looks at Luna, puzzled. her "She...{w=0.4} She's not a weirdo... She's just a bit... Loony..." ("disgust", "squint", "base", "mid") @@ -352,7 +361,7 @@ label luna_intro_E1: # tonks enters (wearing something sexy) call ton_walk("mid", 460, action="enter") - ton "*Yawn* Sorry I'm late, [ton_genie_name]." ("annoyed", "narrow", "shocked", "L", xpos="base", ypos="base", trans=dissolve) + ton "*Yawn* Sorry I'm late, [name_genie_tonks]." ("annoyed", "narrow", "shocked", "L", xpos="base", ypos="base", trans=dissolve) gen "You took your damn time." ("base", xpos="far_left", ypos="head") ton "I was in the middle of... something important." ("horny", "narrow", "base", "R") gen "Important, *hmm*..." ("base", xpos="far_left", ypos="head") @@ -366,7 +375,7 @@ label luna_intro_E1: gen "Fine. I'll just get Professor Tonks up here..." ("base", xpos="far_left", ypos="head") call blkfade - call nar(">You attempt to summon Tonks to your office.") + nar "You attempt to summon Tonks to your office." hide hermione_main hide luna_main call hide_blkfade @@ -374,11 +383,11 @@ label luna_intro_E1: call ton_walk("mid", 460, action="enter") ton "You called..." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=dissolve) - her "Professor!" ("clench", "squint", "worried", "L", cheeks="blush", flip=True, trans=dissolve) #Wide eyed + her @ cheeks blush "Professor!" ("clench", "squint", "worried", "L", flip=True, trans=dissolve) #Wide eyed ton "*Oooooh* What's this? A slumber party?" ("horny", "narrow", "base", "down") gen "It is now!" ("grin", xpos="far_left", ypos="head") gen "Let me search for my bathrobe real quick." ("grin", xpos="far_left", ypos="head") - her "P-Professor, that's not why we asked her here." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "P-Professor, that's not why we asked her here." ("angry", "narrow", "base", "mid") gen "Right...{w=0.3} Miss Tonks, we may require your assistance here..." ("base", xpos="far_left", ypos="head") ton "Assistance? With what--" ("open", "base", "raised", "mid") lun "Wrackspurts!" @@ -391,15 +400,15 @@ label luna_intro_E1: ton "..." ("base", "base", "base", "mid") gen "Anyway..." ("base", xpos="far_left", ypos="head") - $ luna_name = "Miss Lovegood" + $ name_luna_genie = "Miss Lovegood" - gen "This so called Miss {i}Lovegood{/i} sleep-walked in here." ("base", xpos="far_left", ypos="head") + gen "This so-called Miss {i}Lovegood{/i} sleep-walked in here." ("base", xpos="far_left", ypos="head") ton "How am I not surprised." ("base", "closed", "base", "mid") - her "P-Professor, what are you wearing?!" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "P-Professor, what are you wearing?!" ("angry", "narrow", "base", "down") gen "Yes, Miss Tonks. What in the great desert sands are you wearing?" ("angry", xpos="far_left", ypos="head") gen "Is this a school or a brothel?" ("grin", xpos="far_left", ypos="head") - ton "It's my nightgown... You don't like it?" ("horny", "narrow", "raised", "L", hair="horny") # Flirtatious + ton @ hair horny "It's my nightgown... You don't like it?" ("horny", "narrow", "raised", "L") # Flirtatious # Fun option menu: @@ -409,25 +418,25 @@ label luna_intro_E1: "\"You look like a slut!\"": gen "I love it!" ("grin", xpos="far_left", ypos="head") - her "Professor!" ("mad", "base", "base", "mid", cheeks="blush") - her "How could you say such a thing!?" ("open", "happyCl", "base", "mid", cheeks="blush") - ton "Yes... Such a rude thing to say to your staff. {heart}" ("soft", "narrow", "annoyed", "mid", hair="horny") + her @ cheeks blush "Professor!" ("mad", "base", "base", "mid") + her @ cheeks blush "How could you say such a thing!?" ("open", "happyCl", "base", "mid") + ton @ hair horny "Yes... Such a rude thing to say to your staff. {heart}" ("soft", "narrow", "annoyed", "mid") gen "I'm a man of simple truths, I'm only stating the obvious." ("base", xpos="far_left", ypos="head") - ton "So my current attire is too slutty for you, *huh*?" ("base", "narrow", "base", "L", hair="horny") + ton @ hair horny "So my current attire is too slutty for you, *huh*?" ("base", "narrow", "base", "L") gen "I didn't say that, Miss Tonks..." ("grin", xpos="far_left", ypos="head") gen "I said you look like a slut... There's a difference." ("grin", xpos="far_left", ypos="head") - her "What if a student saw you professor?! You can't walk around the castle wearing... This!" ("angry", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "What if a student saw you professor?! You can't walk around the castle wearing... This!" ("angry", "narrow", "base", "down") ton "Quit worrying. Nobody is going to see me this late at night." ("open", "narrow", "base", "R") ton "After all, it's already past curfew..." ("open", "base", "base", "mid") ton "Students should be in their beds, including you, Miss Granger." ("soft", "base", "raised", "L") - her "But professor Dumbledore asked me to--" ("clench", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "But professor Dumbledore asked me to--" ("clench", "squint", "base", "mid") ton "You just head back to bed, and I'll make sure Miss Lovegood gets back safe and sound to her dormitory..." ("base", "narrow", "base", "L") - her "Okay..." ("disgust", "narrow", "base", "down", cheeks="blush") #annoyed + her @ cheeks blush "Okay..." ("disgust", "narrow", "base", "down") #annoyed ton "Good girl." ("horny", "narrow", "base", "L") call her_walk("door") - her "Good night then..." ("normal", "squint", "base", "R", cheeks="blush", xpos="base", ypos="base") #annoyed, flipped + her @ cheeks blush "Good night then..." ("normal", "squint", "base", "R", xpos="base", ypos="base") #annoyed, flipped ton "Sleep tight, Miss Granger..." ("horny", "narrow", "base", "R", xpos=400, ypos="base", trans=dissolve) # Tongue in cheek call her_walk(action="leave") @@ -440,7 +449,7 @@ label luna_intro_E1: #Tonks walks to the door lun "But I'm not tired mummy..." ("annoyed", "closed", "base", "mid", trans=dissolve) - ton "..." ("disgust", "shocked", "base", "mid", hair="horny", cheeks="blush") #wide eyed + ton @ cheeks blush hair horny "..." ("disgust", "shocked", "base", "mid") #wide eyed gen "What a weirdo..." ("base", xpos="far_left", ypos="head") ton "Just...{w=0.4} be a good girl and follow me back to bed..." ("upset", "narrow", "worried", "L") lun "Yes, mummy..." ("base", "closed", "base", "mid") @@ -453,11 +462,10 @@ label luna_intro_E1: call ton_walk("door", action="leave") call lun_walk(action="leave") - call bld - gen "This place never ceases to amaze me..." ("base", xpos="far_left", ypos="head") - gen "..." ("base", xpos="far_left", ypos="head") - gen "At least that weirdo isn't my problem anymore..." ("base", xpos="far_left", ypos="head") - gen "Time to get back to sleep." ("base", xpos="far_left", ypos="head") + gen "(This place never ceases to amaze me...)" ("base", xpos="far_left", ypos="head") + gen "(...)" ("base", xpos="far_left", ypos="head") + gen "(At least that weirdo isn't my problem anymore...)" ("base", xpos="far_left", ypos="head") + gen "(Time to get back to sleep.)" ("base", xpos="far_left", ypos="head") # Reset $ luna.equip(lun_outfit_last) # Equip player outfit. @@ -467,8 +475,8 @@ label luna_intro_E1: $ hermione_chibi.zorder = 3 $ luna_chibi.zorder = 3 - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_dressing_gown) - call unlock_clothing(text=">New clothing items for Hermione have been unlocked!", item=her_outfit_pajama) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_dressing_gown) + call unlock_clothing(text="New clothing items for Hermione have been unlocked!", item=her_outfit_pajama) jump day_start @@ -484,8 +492,8 @@ label luna_intro_E2: #Next morning #Luna knocks on door stop music fadeout 1.0 - call play_sound("knocking") - "*knock-knock-knock*" + play sound "sounds/knocking.ogg" + "*Knock-knock-knock*" gen "Who is it?" ("base", xpos="far_left", ypos="head") lun "Luna." @@ -498,7 +506,7 @@ label luna_intro_E2: menu: "-Invite them in-": - $ luna_intro_E2 = True + $ states.lun.ev.intro.e2_complete = True gen "Enter!" ("grin", xpos="far_left", ypos="head") "\"I'm busy!\"": @@ -513,10 +521,7 @@ label luna_intro_E2: pause 0.5 gen "{size=-4}Oh... It's miss Loony.{/size}" ("base", xpos="far_left", ypos="head") - call play_music("luna") - #lun "Please don't call me that, Sir.." - #gen "My apologies, child." ("base", xpos="far_left", ypos="head") - #gen "Please come closer." ("base", xpos="far_left", ypos="head") + play music "music/wallpaper-by-kevin-macleod.ogg" fadein 1 if_changed call lun_walk("desk") @@ -532,21 +537,21 @@ label luna_intro_E2: gen "(*Argh*... Screw it...)" ("base", xpos="far_left", ypos="head") call gen_chibi("jerk_off_behind_desk") with d3 - ">You drop down your pants and start jerking off." - $ genie_masturbating = True + nar "You drop down your pants and start jerking off." + $ states.gen.masturbating = True "-Behave-": - $ genie_masturbating = False + $ states.gen.masturbating = False - if genie_masturbating: + if states.gen.masturbating: gen "Miss-- *Ah*... Love-good. What can I do you for?" ("grin", xpos="far_left", ypos="head") else: gen "Miss Lovegood... What can I help you with?" ("base", xpos="far_left", ypos="head") lun "*Hmm*..." ("soft", "narrow", "raised", "downL") - if genie_masturbating: - call nar("*fap-fap-fap*!") + if states.gen.masturbating: + nar "*Fap-fap-fap*!" gen "(Look at the tits on this girl, such a lovely profile!)" ("angry", xpos="far_left", ypos="head") gen "(And that lush blonde hair! I'd love to wrap it around my dick!)" ("grin", xpos="far_left", ypos="head") else: @@ -554,61 +559,64 @@ label luna_intro_E2: call lun_walk(600, 460) call lun_chibi(flip=True) - call nar(">Luna absent-mindedly starts looking around your office.") + nar "Luna absent-mindedly starts looking around your office." - if not genie_masturbating: + if not states.gen.masturbating: gen "*Uhh* Hello?" ("base", xpos="far_left", ypos="head") call lun_walk("mid", "base") gen "(What's wrong with this girl?)" ("base", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: gen "(Whatever. As long as I can beat my meat in peace.)" ("grin", xpos="far_left", ypos="head") - call nar("*fap-fap-fap*") + nar "*Fap-fap-fap*" call lun_walk("desk", "base") pause 0.25 call lun_chibi(flip=True) with d3 - $ camera.set_imagepath("lun_intro/") - $ camera.set_image("CG lun_intro luna bendover") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=0.5, pos=(-270, -150), initialize=True) - show screen animatedCG + show CG lun_intro luna bendover as cg zorder 17: + zoom 0.5 with fade - call nar(">Luna turns around and bends down slightly, examining the floor tiles, giving you an eyeful of her round butt without realising.") + nar "Luna turns around and bends down slightly, examining the floor tiles, giving you an eyeful of her round butt without realising." - if genie_masturbating: - $ camera.set(zoom=1.1, pos=(-1055, -600), t=2.0) - gen "(Holy shit that ass!)" - call nar("{size=+3}*{b}fap{/b}-fap-{b}fap{/b}*{/size}") + if states.gen.masturbating: + show CG lun_intro luna bendover as cg zorder 17: + subpixel True + zoom 0.5 + pos (0, 0) + easein_quad 2.0 zoom 1.0 pos (-1040, -600) + + gen "(Holy shit... That ass!)" + nar "{size=+3}*{b}fap{/b}-fap-{b}fap{/b}*{/size}" gen "*Ugh*... (I'm getting close.)" - $ camera.set(zoom=0.5, pos=(-270, -150), t=2.0) + show CG lun_intro luna bendover as cg zorder 17: + subpixel True + zoom 1.0 + pos (-1040, -600) + easein_quad 5.0 zoom 0.5 pos (0, 0) + lun "There's such a strange aura in here..." gen "(Yes! It's the aura of me going crazy for you, you fucking slut!)" - call nar("{size=+3}*{b}fap{/b}-fap-{b}fap{/b}*{/size}") + nar "{size=+3}*{b}Fap{/b}-fap-{b}fap{/b}*{/size}" else: - $ camera.set(zoom=0.5, pos=(-270, -150), t=2.0) lun "There's such a strange aura in here..." lun "It's like a big hollow tree..." gen "(Oh, good...{w=0.4} She's a hippie.)" ("base", xpos="far_left", ypos="head") call lun_chibi(flip=False) - call nar(">Luna finally turns to face you.") + nar "Luna finally turns to face you." - hide screen animatedCG + hide cg with fade - if genie_masturbating: + if states.gen.masturbating: gen "(Yes, yes! You little slut! Here it comes!)" ("angry", xpos="far_left", ypos="head") call gen_chibi("cum_behind_desk") call cum_block @@ -635,28 +643,28 @@ label luna_intro_E2: lun "Why, I've never seen anything like this before, and never so clear..." ("soft", "base", "base", "mid") - if genie_masturbating: + if states.gen.masturbating: gen "There's more where that came from." ("grin", xpos="far_left", ypos="head") - lun "So you can see {i}them{/i} too Professor?" ("angry", "wide", "base", "mid") + lun "So you can see {i}them{/i} too, Professor?" ("angry", "wide", "base", "mid") gen "See what?" ("base", xpos="far_left", ypos="head") - lun "*sigh* Just as expected." ("upset", "narrow", "base", "down") + lun "*Sigh* Just as expected." ("upset", "narrow", "base", "down") lun "You could see them if you had one of these." ("grin", "base", "base", "mid") else: gen "I can't see anything." ("base", xpos="far_left", ypos="head") lun "Of course you can't, Professor." ("grin", "closed", "base", "mid") lun "Because you don't have these!" ("grin", "wink", "base", "mid") - call nar(">Luna points to the oddly shaped glasses on her nose.") + nar "Luna points to the oddly shaped glasses on her nose." gen "Those goofy looking glasses?" ("base", xpos="far_left", ypos="head") gen "Are you planning on winning a masquerade ball or something?" ("base", xpos="far_left", ypos="head") - lun "Don't be fooled by their look professor, these glasses are infused with magic." ("grin", "closed", "base", "mid") + lun "Don't be fooled by their look, professor... These glasses are infused with magic." ("grin", "closed", "base", "mid") lun "They are called {i}Spectrespecs{/i}!" ("base", "wink", "base", "mid") menu: "\"Spectre-- what?\"": lun "Spectrespecs!" ("crooked_smile", "happyCl", "base", "mid") - lun "They allow the wielder to see things that are there, but hidden." ("grin", "base", "base", "mid") - gen "And that vapor ware thing on your nose is supposed to help you with that?" ("base", xpos="far_left", ypos="head") + lun "They allow the wearer to see things that are there, but hidden." ("grin", "base", "base", "mid") + gen "And that vaporware thing on your nose is supposed to help you with that?" ("base", xpos="far_left", ypos="head") lun "*Uh-huh!*" ("grin", "wink", "base", "mid") gen "Great..." ("base", xpos="far_left", ypos="head") @@ -667,14 +675,14 @@ label luna_intro_E2: lun "Oh, who you gonna call?" ("soft", "base", "base", "R") gen "Luigi, he's clearly the superior choice when it comes to fighting ghosts." ("grin", xpos="far_left", ypos="head") lun "Who, sir?" ("open", "narrow", "raised", "mid") - gen "Who... How do you not know... The inventor of the Luigi board?" ("angry", xpos="far_left", ypos="head") + gen "Who... How do you not know... the inventor of the Luigi board?" ("angry", xpos="far_left", ypos="head") lun "*Huh*?" ("angry", "base", "worried", "mid") gen "Never mind." ("base", xpos="far_left", ypos="head") gen "If not ghosts..." ("base", xpos="far_left", ypos="head") "\"The theory of the parable fourth dimensional tuples.\"": lun "I'm sorry, sir?" ("upset", "narrow", "base", "mid") - gen "*sigh* I'm talking about the four-dimensional space, {size=-1}a mathematical{/size} {size=-2}extension of the concept{/size} {size=-3}of three-dimensional or 3D space.{/size} {size=-5}Three-dimensional space{/size}{size=-7} is the simplest possible abstraction of the observation that one only needs three numbers, called dimensions, to describe the sizes or locations of objects in the everyday world.{/size}{size=-10}For example, the volume of a rectangular box is found by measuring and multiplying its length, width, and height (often labeled x, y, and z)...{/size}" ("base", xpos="far_left", ypos="head") + gen "*Sigh* I'm talking about the four-dimensional space, {size=-1}a mathematical{/size} {size=-2}extension of the concept{/size} {size=-3}of three-dimensional or 3D space.{/size} {size=-5}Three-dimensional space{/size}{size=-7} is the simplest possible abstraction of the observation that one only needs three numbers, called dimensions, to describe the sizes or locations of objects in the everyday world.{/size}{size=-10}For example, the volume of a rectangular box is found by measuring and multiplying its length, width, and height (often labeled x, y, and z)...{/size}" ("base", xpos="far_left", ypos="head") call blkfade centered "{size=+7}{color=#cbcbcb}5 minutes later...{/color}{/size}" call hide_blkfade @@ -686,31 +694,30 @@ label luna_intro_E2: gen "What are you seeing in this room exactly?" ("base", xpos="far_left", ypos="head") lun "Wrackspurts, sir, and lots of them too!" ("soft", "narrow", "base", "mid") gen "Brackspurts?" ("base", xpos="far_left", ypos="head") - lun "Wrackspurt sir..." ("open", "base", "base", "L") - gen "I see...{w=0.2} *Err* I mean I don't." ("base", xpos="far_left", ypos="head") + lun "Wrackspurts, sir..." ("open", "base", "base", "L") + gen "I see...{w=0.2} *Err*, I mean I don't." ("base", xpos="far_left", ypos="head") gen "(Is she making all this shit up, or am I supposed to know about these things?)" ("base", xpos="far_left", ypos="head") - gen "Well I can't say I've ever come across these whackspurs you speak of." ("base", xpos="far_left", ypos="head") + gen "Well, I can't say I've ever come across these whackspurs you speak of." ("base", xpos="far_left", ypos="head") lun "There's a whole section dedicated to them in {i}the quibbler{/i}, it's a quite fascinating read you know." ("grin", "wink", "base", "mid") gen "Pretend that I don't know..." ("base", xpos="far_left", ypos="head") lun "{i}The quibbler{/i} is my daddy's magazine, sir." ("grin", "base", "base", "mid") gen "So is that why you're here?" ("base", xpos="far_left", ypos="head") - gen "To advertise your fathers magazine?" ("base", xpos="far_left", ypos="head") + gen "To advertise your father's magazine?" ("base", xpos="far_left", ypos="head") gen "Now I must say that's quite bold for a student to just waltz into their headmasters office and shill their--" ("base", xpos="far_left", ypos="head") lun "Oh... No sir!" ("mad", "narrow", "base", "downL") lun "I'm just worried that we might have an infestation on our hands and--" ("angry", "closed", "base", "mid") - lun "..." ("angry", "narrow", "base", "down") - #Luna eyes down + lun "..." ("angry", "narrow", "base", "down") #Luna looks down pause .5 - call nar(">Luna gives you an uncomfortable look and then turns her gaze to floor.") + nar "Luna gives you an uncomfortable look and then turns her gaze to the floor." gen "An infestation?" ("base", xpos="far_left", ypos="head") lun "Yes sir. I've come across several swarms of them in a fair few places recently." ("mad", "base", "base", "mid") - lun "They appeared quite docile at first but recently they've started to become quite problematic..." ("angry", "narrow", "base", "down") - gen "Well I sure would love to be able to help Miss Lovegood, but as I said this is the first time I even heard about these things..." ("base", xpos="far_left", ypos="head") + lun "They appeared quite docile at first, but recently, they've started to become quite problematic..." ("angry", "narrow", "base", "down") + gen "Well, I sure would love to be able to help Miss Lovegood, but as I said this is the first time I even heard about these things..." ("base", xpos="far_left", ypos="head") lun "Oh... But you can help, sir!" ("soft", "wide", "base", "mid") - lun "You're the most powerful wizard there is so if anyone could deal with them it'd be you..." ("grin", "narrow", "base", "mid") + lun "You're the most powerful wizard there is, so if anyone could deal with them, it'd be you..." ("grin", "narrow", "base", "mid") gen "Well... I'm not usually the person to brag but..." ("base", xpos="far_left", ypos="head") gen "I am known to have slung some seriously powerful spells around back in the day..." ("grin", xpos="far_left", ypos="head") - lun "Oh thank you sir, I knew you'd be able to help!" ("grin", "happyCl", "base", "mid") + lun "Oh, thank you sir, I knew you'd be able to help!" ("grin", "happyCl", "base", "mid") gen "Why of course, anything for a student in--" ("base", xpos="far_left", ypos="head") gen "Hold on, I didn't actually say yes yet!" ("angry", xpos="far_left", ypos="head") lun "So I think what would be best is if you'd read my daddy's magazine..." ("grin", "narrow", "base", "downL") @@ -722,7 +729,7 @@ label luna_intro_E2: gen "(Wait... She did it again!)" ("angry", xpos="far_left", ypos="head") lun "Thank you sir..." ("base", "base", "base", "mid") gen "Now hold on for a second..." ("base", xpos="far_left", ypos="head") - lun "Let me know what you think of the paper once you've read it!" ("grin", "wink", "base", "mid") + lun "Please let me know what you think of the paper once you've read it!" ("grin", "wink", "base", "mid") gen "What paper?" ("base", xpos="far_left", ypos="head") lun "The quibbler!" ("soft", "base", "base", "mid") gen "Oh... right..." ("base", xpos="far_left", ypos="head") @@ -748,7 +755,7 @@ label luna_intro_E2: stop music fadeout 1.0 - $ luna_unlocked = True + $ states.lun.unlocked = True $ achievements.unlock("unlocklun", True) call popup("{size=-4}You can now summon Luna into your office.{/size}", "Character unlocked!", "interface/icons/head/luna.webp") diff --git a/game/scripts/characters/luna/events/spectrespecs/fx.rpy b/game/scripts/characters/luna/events/spectrespecs/fx.rpy index 580bd055..dad51c8f 100644 --- a/game/scripts/characters/luna/events/spectrespecs/fx.rpy +++ b/game/scripts/characters/luna/events/spectrespecs/fx.rpy @@ -59,7 +59,7 @@ screen spectrevision(): zorder 16 tag spectrevision - for i in xrange(wrackspurts_count): + for i in range(wrackspurts_count): add "object" at OBJwrackspurt add "spectrevision" diff --git a/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy b/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy index 4cbc07aa..14d901bd 100644 --- a/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy +++ b/game/scripts/characters/luna/events/spectrespecs/spectrespecs.rpy @@ -6,7 +6,7 @@ label spectrespecs_E1: - $ spectrespecs_E1 = True + $ states.lun.ev.spectrespecs.e1_complete = True $ ll_event_pause = 1 gen "*Hmm* let's see...{w=0.3} Witch weekly...{w=0.3} The Daily Prophet...{w=0.3} Now where is The Quibbler?" ("base", xpos="far_left", ypos="head") @@ -16,8 +16,8 @@ label spectrespecs_E1: ger "Why on earth would we carry the quibbler?" gen "I don't know... You tell me." ("base", xpos="far_left", ypos="head") fre "Sir, that pile of rubbish is full of nothing but conspiracy theories and old wives tales." - ger "No offence but nobody in their right mind reads the quibbler..." - gen "Well as it happens I do intend to read the thing." ("base", xpos="far_left", ypos="head") + ger "No offence, but nobody in their right mind reads the quibbler..." + gen "Well, as it happens I do intend to read the thing." ("base", xpos="far_left", ypos="head") ger "{size=-4}We're all doomed...{/size}" fre "Please don't tell me you take that thing seriously, sir..." gen "*Err*...{w=0.3} Of course not...{w=0.3} It's work related." ("base", xpos="far_left", ypos="head") @@ -30,7 +30,7 @@ label spectrespecs_E1: ger "Obviously, Fred... But you don't need to--" gen "If you have to know... I intend on using it to get a better understanding of what that girl's thought process is like..." ("base", xpos="far_left", ypos="head") ger "...{w} Well, Good luck with that." - ger "Our sister finds her personality endearing but personally I don't really see any good reason to try and humour her." + ger "Our sister finds her personality endearing, but personally, I don't really see any good reason to try and humour her." gen "(I can think of at least two good reasons...)" ("grin", xpos="far_left", ypos="head") gen "(Two humongous--{w=0.5} Plump,{w=0.2} squishy...{w=0.3} and...{w=0.8} *Err*...)" ("grin", xpos="far_left", ypos="head") gen "*Oh*... bouncy--" ("grin", xpos="far_left", ypos="head") @@ -52,7 +52,7 @@ label spectrespecs_E1: return label spectrespecs_E2_reminder: - $ quibbler_stocked = True + $ states.lun.ev.quibbler.stocked = True call music_block gen "(The Twins promised to get me a copy of that {i}Quiver{/i} tabloid, I should probably talk to them.)" ("base", xpos="far_left", ypos="head") @@ -60,7 +60,7 @@ label spectrespecs_E2_reminder: label spectrespecs_E2: - $ spectrespecs_E2 = True + $ states.lun.ev.spectrespecs.e2_complete = True gen "Boys..." ("base", xpos="far_left", ypos="head") twi "Professor Dumbledore, sir!" @@ -76,7 +76,7 @@ label spectrespecs_E2: label spectrespecs_E3: - $ spectrespecs_E3 = True + $ states.lun.ev.spectrespecs.e3_complete = True call book_start @@ -90,7 +90,7 @@ label spectrespecs_E3: with fade gen "Unfuzz the mystery...{w=0.4} Wrackspurts are invisible creatures that go into your ear, by thinking positive thoughts you can..." ("base", xpos="far_left", ypos="head") with fade - ">After wasting a massive amount of time, you finally close the magazine." + nar "After wasting a massive amount of time, you finally close the magazine." call book_end @@ -98,7 +98,7 @@ label spectrespecs_E3: gen "(Wait, why did I read the entire thing?!)" ("angry", xpos="far_left", ypos="head") gen "(Those twins were right... Who even buys this trash?)" ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") - gen "(Well, I've read it now so might as well check on Miss Lovegood about this supposed infestation...)" ("base", xpos="far_left", ypos="head") + gen "(Well, I've read it now, so might as well check on Miss Lovegood about this supposed infestation...)" ("base", xpos="far_left", ypos="head") $ thequibbler_ITEM.owned = 0 $ thequibbler_ITEM.used = True @@ -110,30 +110,30 @@ label spectrespecs_E3: label spectrespecs_E4: - $ spectrespecs_E4 = True + $ states.lun.ev.spectrespecs.e4_complete = True - gen "Alright, so I read that ridiculous magazine but I still don't know what the hell those spratters are supposed to be..." ("base", xpos="far_left", ypos="head") + gen "Alright, so I read that ridiculous magazine, but I still don't know what the hell those spratters are supposed to be..." ("base", xpos="far_left", ypos="head") lun "My daddy's magazine is not ridiculous, sir..." ("angry", "base", "annoyed", "mid") gen "I mean... If he's the one who wrote those articles..." ("base", xpos="far_left", ypos="head") lun "Our magazine is for the people, by the people!" ("smile", "closed", "base", "mid") lun "Anyone can submit an article to the quibbler." ("crooked_smile", "base", "base", "mid") gen "So... He just fact checks it?" ("base", xpos="far_left", ypos="head") lun "He prints it!" ("grin", "base", "base", "mid") - gen "Well even after reading it I still haven't got the faintest clue what those creatures are supposed to be." ("base", xpos="far_left", ypos="head") + gen "Well, even after reading it, I still haven't got the faintest clue what those creatures are supposed to be." ("base", xpos="far_left", ypos="head") gen "The only thing I learnt is that they go into your ear or something..." ("base", xpos="far_left", ypos="head") - lun "That's right...{w=0.5} At least that is what they're supposed to be doing." ("open", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "That's right...{w=0.5} At least that is what they're supposed to be doing." ("open", "narrow", "base", "down") - lun "" ("angry", "narrow", "base", "mid", cheeks="blush") - call nar(">Luna gives you another uncomfortable look which she then quickly wipes off her face as she continues...") + lun @ cheeks blush "" ("angry", "narrow", "base", "mid") + nar "Luna gives you another uncomfortable look, which she then quickly wipes off her face as she continues..." lun "Why don't you have a look for yourself sir, there should've been a pair of spectrespecs in the back of the magazine." ("soft", "base", "base", "mid") gen "(So the magazine comes with toys as well...{w=0.4} How is she actually taking this trash seriously?)" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/paper_rustle.ogg") + play sound "sounds/paper_rustle.ogg" - gen "*Ngh!" ("base", xpos="far_left", ypos="head") + gen "*Ngh*!" ("base", xpos="far_left", ypos="head") gen "Why aren't they coming out!" ("base", xpos="far_left", ypos="head") - gen "Hold on... These are cut outs! What year is this?" ("base", xpos="far_left", ypos="head") + gen "Hold on... These are cut-outs! What year is this?" ("base", xpos="far_left", ypos="head") lun "The severing charm should--" ("soft", "base", "raised", "mid") gen "Come here you stupid bird!" ("base", xpos="far_left", ypos="head") lun "Sir, what are you--" ("angry", "base", "raised", "L") @@ -148,14 +148,14 @@ label spectrespecs_E4: pause .4 call gen_chibi("stand_alt") - gen "Bird... Cut these out for me will you?" ("base", xpos="far_left", ypos="head") - lun "Sir I doubt the--" ("mad", "narrow", "base", "L") + gen "Bird... Cut these out for me, will you?" ("base", xpos="far_left", ypos="head") + lun "Sir, I doubt the--" ("mad", "narrow", "base", "L") faw "*Squawk*!" call gen_chibi("grab_high", phoenix_OBJ.xpos, phoenix_OBJ.ypos+365, flip=False) with d3 - $ renpy.sound.play("sounds/scissors.ogg") + play sound "sounds/scissors.ogg" pause .8 @@ -172,51 +172,51 @@ label spectrespecs_E4: with fade - gen "Right then... So I just put these silly things on?" ("base", xpos="far_left", ypos="head") - lun "Yes sir... Once you've put them on you should be able to see--" ("grin", "base", "raised", "mid") + gen "Right then... So, I just put these silly things on?" ("base", xpos="far_left", ypos="head") + lun "Yes sir... Once you've put them on, you should be able to see--" ("grin", "base", "raised", "mid") $ wrackspurts_count = 0 - $ renpy.play('sounds/magic1.ogg') - show layer screens at uvlight + play sound "sounds/magic1.ogg" + show layer screens at sepia(0.5, "#9402fc", desat=(0.25, 0.25, 0.5), brightness=0.25) show screen spectrevision if not renpy.mobile: show screen spectrevision_cursor with d9 pause 0.5 - ">The world around you starts shifting." + nar "The world around you starts shifting." gen "Gah!" ("angry", xpos="far_left", ypos="head") gen "(Who brought the UV light?)" ("angry", xpos="far_left", ypos="head") gen "(My desk looks like a Jackson Pollock painting!)" ("angry", xpos="far_left", ypos="head") lun "Do you see them?!" ("grin", "wide", "base", "mid") - gen "*Err*... No there's nothing in here... Everything just turned purple..." ("base", xpos="far_left", ypos="head") + gen "*Err*... No, there's nothing in here... Everything just turned purple..." ("base", xpos="far_left", ypos="head") lun "But... I'm sure I saw some..." ("clench", "narrow", "base", "mid") gen "Nope... Absolutely no traces of spurts anywhere that I can see..." ("base", xpos="far_left", ypos="head") - lun "Wrackspurts sir..." ("mad", "narrow", "base", "mid") + lun "Wrackspurts, sir..." ("mad", "narrow", "base", "mid") gen "(All I see is semen...)" ("base", xpos="far_left", ypos="head") - lun "And I fear in these quantities they've proven themselves to be quite the pain, sir." ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "And I fear in these quantities, they've proven themselves to be quite the pain, sir." ("normal", "narrow", "base", "down") gen "(I should probably clean this place one of these days...)" ("base", xpos="far_left", ypos="head") - lun "Sir, I had been hoping that you'd find a solution by reading the magazine because I wasn't sure how to tell you this..." ("open", "narrow", "base", "down", cheeks="blush") - gen "(Although if I had somewhere else to release my seed then this wouldn't be a--)" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Sir, I had been hoping that you'd find a solution by reading the magazine, because I wasn't sure how to tell you this..." ("open", "narrow", "base", "down") + gen "(Although if I had somewhere else to release my seed, then this wouldn't be a--)" ("base", xpos="far_left", ypos="head") - lun "..." ("upset", "closed", "base", "down", cheeks="blush") - ">Through the haze you suddenly notice that Luna is rubbing her thighs together." + lun @ cheeks blush "..." ("upset", "closed", "base", "down") + nar "Through the haze, you suddenly notice that Luna is rubbing her thighs together." gen "(What the--)" ("angry", xpos="far_left", ypos="head") gen "What are you doing, Miss Lovegood?" ("base", xpos="far_left", ypos="head") - lun "It's the Wrackspurts sir..." ("clench", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "It's the wrackspurts, sir..." ("clench", "narrow", "base", "down") gen "What?" ("base", xpos="far_left", ypos="head") - lun "They've been bothering me for months..." ("mad", "narrow", "base", "down", cheeks="blush") - lun "And they're just like \"The Quibbler\" says, except..." ("clench", "closed", "base", "mid", cheeks="blush") - ">You can see Luna is rocking her pelvis as if grinding the air." - lun "Except... It's not my brain they're making fuzzy." ("disgust", "base", "base", "mid", cheeks="blush") - gen "So where exactly is this fuzzy feeling coming from, [luna_name]?" ("base", xpos="far_left", ypos="head") - lun "I... I'm not sure I should say, Sir." ("soft", "narrow", "base", "downR", cheeks="blush") + lun @ cheeks blush "They've been bothering me for months..." ("mad", "narrow", "base", "down") + lun @ cheeks blush "And they're just like \"The Quibbler\" says, except..." ("clench", "closed", "base", "mid") + nar "You can see Luna is rocking her pelvis as if grinding the air." + lun @ cheeks blush "Except... It's not my brain they're making fuzzy." ("disgust", "base", "base", "mid") + gen "So where exactly is this fuzzy feeling coming from, [name_luna_genie]?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "I... I'm not sure I should say, sir." ("soft", "narrow", "base", "downR") gen "Then I don't see how I'm supposed to be able to--" ("base", xpos="far_left", ypos="head") - lun "Between my legs, Sir..." ("disgust", "happyCl", "base", "mid", cheeks="blush") + lun @ cheeks blush "Between my legs, sir..." ("disgust", "happyCl", "base", "mid") gen "!!!" ("angry", xpos="far_left", ypos="head") menu: @@ -227,47 +227,47 @@ label spectrespecs_E4: call gen_chibi("jerk_off_behind_desk") - ">You take your cock out and start stroking it..." + nar "You take your cock out and start stroking it..." gen "Nice...{w=0.4} I mean...{w=0.4} That's very unfortunate..." ("grin", xpos="far_left", ypos="head") gen "Tell me about these spurts... When do they usually bother you?" ("base", xpos="far_left", ypos="head") - lun "At the most inopportune moments, sir!" ("clench", "narrow", "base", "mid", cheeks="blush") - lun "" ("normal", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "At the most inopportune moments, sir!" ("clench", "narrow", "base", "mid") + lun @ cheeks blush "" ("normal", "narrow", "base", "down") gen "I see..." ("base", xpos="far_left", ypos="head") gen "So what were you doing when it first happened?" ("base", xpos="far_left", ypos="head") gen "I need to know everything, with as much detail as possible." ("base", xpos="far_left", ypos="head") - lun "I believe it was when one of the Slytherin boys hit me with a tickling charm during potions..." ("disgust", "narrow", "base", "down", cheeks="blush") - lun "A swarm of those pesky little wrackspurts flew right in beneath my skirt and started attacking me." ("angry", "base", "base", "down", cheeks="blush") - lun "Buzzing around between my legs..." ("angry", "base", "base", "down", cheeks="blush") + lun @ cheeks blush "I believe it was when one of the Slytherin boys hit me with a tickling charm during potions..." ("disgust", "narrow", "base", "down") + lun @ cheeks blush "A swarm of those pesky little wrackspurts flew right in beneath my skirt and started attacking me." ("angry", "base", "base", "down") + lun @ cheeks blush "Buzzing around between my legs..." ("angry", "base", "base", "down") gen "(Sounds like a well aimed tickling charm to me...)" ("grin", xpos="far_left", ypos="head") - lun "" ("upset", "narrow", "base", "mid", cheeks="blush") - ">Luna looks up at you again, shifting her legs around slightly." + lun @ cheeks blush "" ("upset", "narrow", "base", "mid") + nar "Luna looks up at you again, shifting her legs around slightly." gen "(This girl's been missing out...)" ("base", xpos="far_left", ypos="head") - lun "But it doesn't make sense, Sir..." ("clench", "closed", "base", "mid", cheeks="blush") - lun "I've only heard of people's brain going fuzzy..." ("clench", "narrow", "base", "mid", cheeks="blush") - lun "The way you're supposed to get rid of them is to think positive thoughts." ("disgust", "base", "base", "R", cheeks="blush") - lun "But this is like an unbearable itch I can't scratch!" ("disgust", "narrow", "base", "mid", cheeks="blush") - gen "(Oh there's a way... You just don't know it yet...)" ("grin", xpos="far_left", ypos="head") + lun @ cheeks blush "But it doesn't make sense, sir..." ("clench", "closed", "base", "mid") + lun @ cheeks blush "I've only heard of people's brain going fuzzy..." ("clench", "narrow", "base", "mid") + lun @ cheeks blush "The way you're supposed to get rid of them is to think positive thoughts." ("disgust", "base", "base", "R") + lun @ cheeks blush "But this is like an unbearable itch I can't scratch!" ("disgust", "narrow", "base", "mid") + gen "(Oh, there's a way... You just don't know it yet...)" ("grin", xpos="far_left", ypos="head") gen "Does this happen often?" ("base", xpos="far_left", ypos="head") - lun "Daily!" ("angry", "closed", "base", "mid", cheeks="blush") - lun "They wouldn't leave me alone during today's flying lessons!" ("open", "narrow", "base", "mid", cheeks="blush") - lun "I wasn't wearing my glasses, but I'm sure I must've flown through a whole swarm of them!" ("soft", "base", "annoyed", "mid", cheeks="blush") - lun "My broom suddenly started shaking during a particularly tense training exercise..." ("mad", "base", "base", "mid", cheeks="blush") - lun "And I could feel that fuzzy sensation build up between my legs again." ("angry", "narrow", "base", "down", cheeks="blush") + lun @ cheeks blush "Daily!" ("angry", "closed", "base", "mid") + lun @ cheeks blush "They wouldn't leave me alone during today's flying lessons!" ("open", "narrow", "base", "mid") + lun @ cheeks blush "I wasn't wearing my glasses, but I'm sure I must've flown through a whole swarm of them!" ("soft", "base", "annoyed", "mid") + lun @ cheeks blush "My broom suddenly started shaking during a particularly tense training exercise..." ("mad", "base", "base", "mid") + lun @ cheeks blush "And I could feel that fuzzy sensation build up between my legs again." ("angry", "narrow", "base", "down") gen "(Such a horny slut, just like the lot of them...)" ("angry", xpos="far_left", ypos="head") - lun "This was the first time I had ever come across such a large amount in the open..." ("open", "base", "base", "mid", cheeks="blush") - lun "And no matter how much I wriggled, they wouldn't leave me alone for the remainder of the lesson..." ("disgust", "narrow", "low", "down", cheeks="blush") - ">Luna awkwardly continues to grind her legs together in front of you." + lun @ cheeks blush "This was the first time I had ever come across such a large amount in the open..." ("open", "base", "base", "mid") + lun @ cheeks blush "And no matter how much I wriggled, they wouldn't leave me alone for the remainder of the lesson..." ("disgust", "narrow", "low", "down") + nar "Luna awkwardly continues to grind her legs together in front of you." gen "(I bet you enjoyed every second of it...)" ("angry", xpos="far_left", ypos="head") - lun "It was... intense... I could barely keep my broom steady..." ("soft", "closed", "low", "mid", cheeks="blush") - lun "But I didn't want to alarm anyone so I managed to pull through." ("soft", "narrow", "base", "down", cheeks="blush") - lun "But..." ("angry", "base", "base", "down", cheeks="blush") - lun "" ("angry", "base", "base", "mid", cheeks="blush") - ">Luna grinds her legs with even more vigour, as she looks into your eyes." - lun "That feeling sir..." ("mad", "narrow", "base", "mid", cheeks="blush") - lun "It was as if something inside of me was building up... Desperate to come out!" ("open", "wide", "base", "mid", cheeks="blush") + lun @ cheeks blush "It was... intense... I could barely keep my broom steady..." ("soft", "closed", "low", "mid") + lun @ cheeks blush "But I didn't want to alarm anyone, so I managed to pull through." ("soft", "narrow", "base", "down") + lun @ cheeks blush "But..." ("angry", "base", "base", "down") + lun @ cheeks blush "" ("angry", "base", "base", "mid") + nar "Luna grinds her legs with even more vigour, as she looks into your eyes." + lun @ cheeks blush "That feeling, sir..." ("mad", "narrow", "base", "mid") + lun @ cheeks blush "It was as if something inside of me was building up... Desperate to come out!" ("open", "wide", "base", "mid") gen "(That's it slut, you asked for it!)" ("angry", xpos="far_left", ypos="head") gen "*ARGH*!" ("angry", xpos="far_left", ypos="head") @@ -276,7 +276,7 @@ label spectrespecs_E4: call cum_block $ wrackspurts_count = 15 - lun "Sir, there they are!" ("clench", "wide", "base", "mid", cheeks="blush") + lun @ cheeks blush "Sir, there they are!" ("clench", "wide", "base", "mid") call cum_block $ wrackspurts_count = 25 @@ -289,7 +289,7 @@ label spectrespecs_E4: call gen_chibi("cum_behind_desk_done") pause .8 - gen "*Ah...*{w=0.4} *Ah...*{w=0.4} *Ah...*" ("base", xpos="far_left", ypos="head") + gen "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*..." ("base", xpos="far_left", ypos="head") lun "I saw them!" ("clench", "wide", "base", "mid") gen "That was awesome." ("base", xpos="far_left", ypos="head") lun "There are so many of them now!" ("open", "wide", "base", "mid") @@ -301,13 +301,13 @@ label spectrespecs_E4: lun "And it's not just in here sir, they're everywhere!" ("open", "base", "annoyed", "mid") lun "The dungeons are full of them!" ("open", "base", "annoyed", "mid") - $ renpy.play('sounds/magic1.ogg') + play sound "sounds/magic1.ogg" show layer screens hide screen spectrevision hide screen spectrevision_cursor with d9 - ">You quickly remove your glasses and Luna shifts into focus." + nar "You quickly remove your glasses and Luna shifts into focus." gen "The dungeons you say?" ("base", xpos="far_left", ypos="head") lun "Yes, the potions classroom especially!" ("clench", "base", "base", "mid") @@ -319,41 +319,41 @@ label spectrespecs_E4: lun "On the desks... On the floor..." ("mad", "base", "base", "mid") lun "..." ("normal", "base", "base", "down") - call nar(">Luna shifts her legs again, staring at her feet...") + nar "Luna shifts her legs again, staring at her feet..." gen "Oh my..." ("grin", xpos="far_left", ypos="head") lun "On the railing going up to professor Tonks' office..." ("clench", "base", "base", "down") gen "On the railing too!?" ("grin", xpos="far_left", ypos="head") - lun "Yes! I swear I even saw some on Tonks's face!" ("open", "wide", "base", "mid") + lun "Yes! I swear I even saw some on Tonks' face!" ("open", "wide", "base", "mid") gen "On her--" ("grin", xpos="far_left", ypos="head") lun "You have to help, sir!" ("mad", "happyCl", "base", "mid") - lun "Please, if what I fear is true then it's not just me being bothered by them..." ("angry", "narrow", "base", "mid") + lun "Please, if what I fear is true, then it's not just me being bothered by them..." ("angry", "narrow", "base", "mid") gen "Well... Alright then..." ("base", xpos="far_left", ypos="head") lun "You'll do it?" ("clench", "base", "base", "mid") gen "I'll for sure do something..." ("base", xpos="far_left", ypos="head") - lun "Oh, thank you, Sir!" ("smile", "happyCl", "base", "mid") + lun "Oh, thank you, sir!" ("smile", "happyCl", "base", "mid") gen "But you're going to have to help me, Miss Lovegood." ("base", xpos="far_left", ypos="head") lun "Me? Why me?" ("soft", "base", "base", "mid") gen "I thought you wanted to help?" ("base", xpos="far_left", ypos="head") - lun "Yes but I thought...{w=0.4} *Ehm*...{w=0.4} Usually people don't really include me in these sorts of things." ("soft", "narrow", "base", "downR") + lun "Yes, but I thought...{w=0.4} *Ehm*...{w=0.4} Usually people don't really include me in these sorts of things." ("soft", "narrow", "base", "downR") - call nar(">Luna glances away again, and you notice a glimpse of doubt in her eyes for a brief moment.") + nar "Luna glances away again, and you notice a glimpse of doubt in her eyes for a brief moment." - gen "Most certainly Miss Lovegood... You have the most experience with these things after all..." ("base", xpos="far_left", ypos="head") - gen "But if you don't want to be involved then--" ("base", xpos="far_left", ypos="head") - lun "No!" ("angry", "wide", "base", "mid", cheeks="blush") + gen "Most certainly, Miss Lovegood... You have the most experience with these things, after all..." ("base", xpos="far_left", ypos="head") + gen "But if you don't want to be involved, then--" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "No!" ("angry", "wide", "base", "mid") - call nar("Luna locks her eyes with you as she rubs her legs together once more.") + nar "Luna locks her eyes with you as she rubs her legs together once more." - lun "I...{w=0.4} just didn't think--" ("angry", "base", "base", "down", cheeks="blush") - lun "Of course, sir! I'll do anything that will help me deal with this..." ("open", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "I...{w=0.4} just didn't think--" ("angry", "base", "base", "down") + lun @ cheeks blush "Of course, sir! I'll do anything that will help me deal with this..." ("open", "narrow", "base", "mid") gen "Excellent." ("base", xpos="far_left", ypos="head") gen "Then I shall let you know once I need your assistance." ("base", xpos="far_left", ypos="head") - lun "Yes sir... Thank you sir." ("base", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Yes sir... Thank you, sir." ("base", "base", "base", "mid") gen "On your way now, Miss Lovegood." ("base", xpos="far_left", ypos="head") - lun "Oh... Right..." ("grin", "base", "base", "R", cheeks="blush") + lun @ cheeks blush "Oh... Right..." ("grin", "base", "base", "R") call lun_walk("door", "base") pause .5 @@ -364,12 +364,12 @@ label spectrespecs_E4: call lun_walk(action="leave") gen "(Hopefully I haven't said yes to crazy...)" ("base", xpos="far_left", ypos="head") - gen "(...{w=0.5}Although the blowjobs might be worth it...)" ("base", xpos="far_left", ypos="head") + gen "(...{w=0.5} Although the blowjobs might be worth it...)" ("base", xpos="far_left", ypos="head") call popup("You have unlocked the ability to buy sexual favours from Luna.", "Congratulations!", "interface/icons/head/luna.webp") - $ luna_wardrobe_unlocked = True - $ luna_favors = True + $ states.lun.wardrobe_unlocked = True + $ states.lun.favors_unlocked = True call gen_chibi("sit_behind_desk") diff --git a/game/scripts/characters/luna/favors.rpy b/game/scripts/characters/luna/favors.rpy index f816f030..9c61d9d9 100644 --- a/game/scripts/characters/luna/favors.rpy +++ b/game/scripts/characters/luna/favors.rpy @@ -1,71 +1,24 @@ -# Personal favours -default ll_pf_talk = event_class( - title = _("Talk to me!"), - start_label = "ll_pf_talk", - start_tier = 1, - events = [ - [# Tier 1 - ["ll_pf_talk_T1_E1_intro"], - ["ll_pf_talk_T1_E2_intro"], - ["ll_pf_talk_T1_E3_intro"], - ["ll_pf_talk_T1_E4_repeat"], - ], +default lun_ev_talk_to_me_t1_e1 = Event(id="lun_ev_talk_to_me_t1_e1", label="ll_pf_talk_T1_E1_intro", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_talk_to_me_t1_e2 = Event(id="lun_ev_talk_to_me_t1_e2", label="ll_pf_talk_T1_E2_intro", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_talk_to_me_t1_e3 = Event(id="lun_ev_talk_to_me_t1_e3", label="ll_pf_talk_T1_E3_intro", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_talk_to_me_t1_e4 = Event(id="lun_ev_talk_to_me_t1_e4", label="ll_pf_talk_T1_E4_repeat", req="states.lun.tier == 1", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) +default lun_ev_talk_to_me_t2_e1 = Event(id="lun_ev_talk_to_me_t2_e1", label="ll_pf_talk_T2_E1_repeat", req="states.lun.tier == 2", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) +default lun_ev_talk_to_me_t3_e1 = Event(id="lun_ev_talk_to_me_t3_e1", label="ll_pf_talk_T3_E1_repeat", req="states.lun.tier >= 3", queue="lun_eventqueue_talk_to_me", autoenqueue=True, autodequeue=False) - [# Tier 2 - ["ll_pf_talk_T2_E1_repeat"], - ], +default lun_ev_inspect_her_body_t2_e1 = Event(id="lun_ev_inspect_her_body_t2_e1", label="ll_pf_inspect_T2_E1_intro", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_inspect_her_body_t2_e2 = Event(id="lun_ev_inspect_her_body_t2_e2", label="ll_pf_inspect_T2_E2_intro", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_inspect_her_body_t2_e3 = Event(id="lun_ev_inspect_her_body_t2_e3", label="ll_pf_inspect_T2_E3_intro", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_inspect_her_body_t2_e4 = Event(id="lun_ev_inspect_her_body_t2_e4", label="ll_pf_inspect_T2_E4_repeat", req="states.lun.tier == 2", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False) +default lun_ev_inspect_her_body_t3_e1 = Event(id="lun_ev_inspect_her_body_t3_e1", label="ll_pf_inspect_T3_E1_repeat", req="states.lun.tier >= 3", queue="lun_eventqueue_inspect_her_body", autoenqueue=True, autodequeue=False) - [# Tier 3 - ["ll_pf_talk_T3_E1_repeat"], - ], - ], - iconset = [ - ["heart_empty", "heart_red"], # Tier 1 - ["heart_empty", "heart_red"], # Tier 2 - ], -) +default lun_ev_play_with_yourself_t3_e1 = Event(id="lun_ev_play_with_yourself_t3_e1", label="ll_pf_masturbate_T3_E1_intro", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_play_with_yourself_t3_e2 = Event(id="lun_ev_play_with_yourself_t3_e2", label="ll_pf_masturbate_T3_E2_intro", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_play_with_yourself_t3_e3 = Event(id="lun_ev_play_with_yourself_t3_e3", label="ll_pf_masturbate_T3_E3_intro", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False, repeat=False) +default lun_ev_play_with_yourself_t3_e4 = Event(id="lun_ev_play_with_yourself_t3_e4", label="ll_pf_masturbate_T3_E4_repeat", req="states.lun.tier >= 3", queue="lun_eventqueue_play_with_yourself", autoenqueue=True, autodequeue=False) -default ll_pf_inspect = event_class( - title = _("Inspect her body!"), - start_label = "ll_pf_inspect", - start_tier = 2, - events = [ - [# Tier 2 - ["ll_pf_inspect_T2_E1_intro"], - ["ll_pf_inspect_T2_E2_intro"], - ["ll_pf_inspect_T2_E3_intro"], - ["ll_pf_inspect_T2_E4_repeat"], - ], - - [# Tier 3 - ["ll_pf_inspect_T3_E1_repeat"], - ], - ], - iconset = [ - ["heart_empty", "heart_red"], # Tier 2 - ], -) - -default ll_pf_masturbate = event_class( - title = _("Play with yourself!"), - start_label = "ll_pf_masturbate", - start_tier = 3, - events = [ - [# Tier 3 - ["ll_pf_masturbate_T3_E1_intro"], - ["ll_pf_masturbate_T3_E2_intro"], - ["ll_pf_masturbate_T3_E3_intro"], - ["ll_pf_masturbate_T3_E4_repeat"], - ], - ], - iconset = [ - ["heart_empty", "heart_red"], # Tier 3 - ], -) - -default ll_favor_list = [ - ll_pf_talk, - ll_pf_inspect, - ll_pf_masturbate, -] +define luna_favors = [ + ("lun_eventqueue_talk_to_me", "Talk to me!"), + ("lun_eventqueue_inspect_her_body", "Let me inspect you!"), + ("lun_eventqueue_play_with_yourself", "Play with yourself!"), +] \ No newline at end of file diff --git a/game/scripts/characters/luna/gifts.rpy b/game/scripts/characters/luna/gifts.rpy index af5ca3ed..f02fe736 100644 --- a/game/scripts/characters/luna/gifts.rpy +++ b/game/scripts/characters/luna/gifts.rpy @@ -5,103 +5,192 @@ label give_lun_gift(gift_item): with d5 lun "" (xpos="mid",ypos="base",trans=d5) - $ gave_luna_gift = True + $ states.lun.gifted = True if gift_item == lollipop_ITEM: - lun "A lollipop?" - call give_gift(_(">You give the lollipop to Luna..."), gift_item) - lun "My father always believed that you should always have something sugary around in case any baby unicorns come to visit." - lun "Thank you, [lun_genie_name]." + lun "A lollipop?" ("open", "base", "base", "down") + call give_gift("You give the lollipop to Luna...", gift_item) + lun "My father says that you should always have something sugary around in case a baby unicorn comes to visit." ("grin", "base", "base", "mid") + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") elif gift_item == chocolate_ITEM: - lun "Chocolate?" - call give_gift(_(">You give the chocolate to Luna..."), gift_item) - lun "*Aaah*, I heard these helps with dementia... Or was it Dementors?" + lun "Chocolate?" ("grin", "base", "base", "down") + call give_gift("You give the chocolate to Luna...", gift_item) + lun "I heard that eating chocolate helps with dementia...{w=0.4} Or was it dementors?" ("soft", "narrow", "base", "mid") elif gift_item == plush_owl_ITEM: - lun "A plush owl?" - call give_gift(_(">You give the owl plushie to Luna..."), gift_item) - lun "I love owls... Always had a few around me growing up, delivering the newspaper my father publishes." + lun "A plush owl?" ("open", "base", "base", "down") + call give_gift("You give the stuffed owl to Luna...", gift_item) + lun "I love owls... Growing up, there were always a few of them around, delivering my father's newspaper." ("grin", "base", "base", "mid") elif gift_item == butterbeer_ITEM: - lun "Butterbeer?" - call give_gift(_(">You give the bottle to Luna..."), gift_item) - lun "How did you know? I didn't wear my cork necklace today." - lun "Thank you, [lun_genie_name]." + lun "Butterbeer?" ("open", "base", "base", "mid") + lun "I could use the cork for another necklace!" ("grin", "base", "base", "mid") + call give_gift("You give the bottle to Luna...", gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") elif gift_item == science_mag_ITEM: - lun "Magical creatures weekly?" - call give_gift(_(">You give an assortment of educational magazines to Luna..."), gift_item) - lun "Thestrals and their link with death..." - lun "Interesting..." + lun "Magical creatures weekly?" ("open", "narrow", "base", "down") + lun "My daddy says that this publication refuses to recognize the existence of the Crumple-horned Snorkack..." ("annoyed", "narrow", "annoyed", "mid") + lun "Sorry [name_genie_luna], but I'll have to refuse." ("open", "closed", "base", "mid") elif gift_item == girls_mag_ITEM: - call give_gift(_(">You give the girls magazine to Luna..."), gift_item) - #Add text + lun "Girlz weekly?" ("soft", "base", "raised", "down") + lun "This must be one of those magazines my daddy warned me about!" ("angry", "base", "base", "down") + lun "[name_genie_luna]!" ("angry", "base", "base", "mid") + lun "They're corporate shills who prioritize selling their own products over advocating for the use of essential oils!" ("angry", "base", "base", "mid") + lun "That's what my daddy told me, anyway." ("grin", "closed", "base", "mid") elif gift_item == adult_mag_ITEM: - call give_gift(_(">You give the adult magazine to Luna..."), gift_item) - #Add text + lun "This isn't \"The Quibbler\"..." ("open", "base", "worried", "down") + lun "[name_genie_luna], you shouldn't be helping my daddy's competition!" ("angry", "base", "worried", "mid") + lun "Please, issue a refund!" ("open", "base", "worried", "mid") elif gift_item == porn_mag_ITEM: - call give_gift(_(">You give the porn magazine to Luna..."), gift_item) - #Add text + lun "This isn't \"The Quibbler\"..." ("annoyed", "base", "base", "down") + lun "[name_genie_luna], you shouldn't be helping my daddy's competition!" ("angry", "base", "annoyed", "mid") + lun "Please, issue a refund!" ("angry", "base", "base", "mid") elif gift_item == krum_poster_ITEM: - call give_gift(_(">You give the poster to Luna..."), gift_item) - #Add text + lun "Viktor Krum..." ("soft", "base", "raised", "down") + lun "Who is that, again?" ("open", "base", "raised", "mid") + lun "I'm uncertain if it's such a good idea to put this up on my wall, just in case the other girls ask me about it." ("upset", "base", "base", "down") + lun "I appreciate the thought though, [name_genie_luna]." ("base", "base", "base", "mid") elif gift_item == sexy_lingerie_ITEM: - call give_gift(_(">You give the lingerie to Luna..."), gift_item) - #Add text + lun "I've seen a couple of the other girls wearing these!" ("soft", "base", "base", "down") + call give_gift("You give the lingerie to Luna...",gift_item) + lun "Thank you, [name_genie_luna]!" ("base", "base", "base", "mid") elif gift_item == sexy_stockings_ITEM : - call give_gift(_(">You give the stockings to Luna..."), gift_item) - #Add text + lun "Very unique! I like it!" ("grin", "base", "base", "down") + call give_gift("You give the stockings to Luna...",gift_item) + lun "Thank you, [name_genie_luna]!" ("base", "base", "base", "mid") elif gift_item == pink_condoms_ITEM: - call give_gift(_(">You give the condoms to Luna..."), gift_item) - #Add text + lun "Condoms?!" ("mad", "wide", "base", "mid") + lun "... I never knew they sold those rubbery creatures." ("angry", "base", "base", "stare") + lun "Yes, we shall study them thoroughly!" ("base", "base", "base", "mid") + call give_gift("You give the condoms to Luna...",gift_item) + lun "Thank you [name_genie_luna]." ("grin", "base", "base", "mid") elif gift_item == vibrator_ITEM: - call give_gift(_(">You give the vibrator to Luna..."), gift_item) - #Add text + lun "A back-massager!" ("grin", "base", "base", "down") + call give_gift("You give the vibrator to Luna...",gift_item) + lun "Thank you, [name_genie_luna]!" ("grin", "base", "base", "mid") elif gift_item == anal_lube_ITEM: - call give_gift(_(">You give the anal lube to Luna..."), gift_item) - #Add text + lun "Lube?" ("soft", "base", "raised", "down") + lun "Will this help me get rid of the wrackspurts?" ("open", "base", "raised", "mid") + call give_gift("You give the anal lube to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") elif gift_item == ballgag_and_cuffs_ITEM: - call give_gift(_(">You give the handcuffs to Luna..."), gift_item) - #Add text + lun "What is this?" ("soft", "base", "raised", "down") + lun "Does this go in your mouth?" ("open", "base", "raised", "down") + lun "But, [name_genie_luna]... How am I supposed to talk if I wear this?" ("annoyed", "narrow", "base", "mid") + call give_gift("You give the handcuffs to Luna...",gift_item) + lun "Thank you, I suppose..." ("soft", "base", "base", "downR") elif gift_item == anal_plugs_ITEM: - call give_gift(_(">You give the anal plugs to Luna..."), gift_item) - #Add text + if states.lun.tier <= 1: + lun "Anal... plugs?" ("soft", "narrow", "raised", "down") + lun "I don't understand..." ("annoyed", "base", "base", "mid") + elif states.lun.tier == 2: + lun "Anal plugs..." ("soft", "base", "base", "down") + lun "Are these supposed to help with the wrackspurts?" ("open", "base", "annoyed", "mid") + call give_gift("You give the anal plugs to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") + elif states.lun.tier == 3: + lun "Anal plugs..." ("open", "base", "base", "down") + lun "Yes, I should probably use one of these to assist with redirecting the wrackspurts to a single area..." ("grin", "base", "base", "down") + call give_gift("You give the anal plugs to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") + else: + lun "*Mmm*... Anal plugs... I bet these will feel good..." ("grin", "narrow", "base", "down") + lun "I mean, I bet these will help me deal with the wrackspurts!" ("angry", "base", "base", "mid") + call give_gift("You give the anal plugs to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") elif gift_item == testral_strapon_ITEM: - call give_gift(_(">You give the strap-on to Luna..."), gift_item) - #Add text + if states.lun.tier <= 1: + lun "A unicorn horn!" ("smile", "wide", "base", "down") + call give_gift("You give the strap-on to Luna...",gift_item) + lun "I love it!" ("grin", "wide", "base", "mid") + elif states.lun.tier == 2: + lun "This is some sort of phallus, isn't it?" ("soft", "base", "base", "down") + lun "Very peculiar..." ("soft", "base", "base", "down") + lun "I shall study it for our research." ("open", "closed", "base", "mid") + call give_gift("You give the strap-on to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") + elif states.lun.tier == 3: + lun "A penis!" ("grin", "base", "base", "down") + lun "But, what are the straps for?" ("open", "base", "base", "down") + lun "*Hmm*... I'll have to study it..." ("soft", "base", "base", "down") + call give_gift("You give the strap-on to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") + elif states.lun.tier == 4: + lun "So, if I wore this... I'll have my own penis?" ("open", "base", "base", "down") + lun "But, [name_genie_luna], I don't think I'll be able to funnel the wrackspurts through this..." ("angry", "base", "base", "mid") + lun "There's no hole!" ("angry", "narrow", "base", "mid") + else: + lun "*Hmm*... You're supposed to put your legs through these holes, right?" ("open", "base", "base", "down") + lun "But [name_genie_luna], this would cover up my lady parts!" ("angry", "base", "base", "mid") + lun "Wait...{w=0.4} You're testing me! Did I pass?" ("angry", "narrow", "base", "mid") elif gift_item == broom_2000_ITEM: - call give_gift(_(">You give the broom to Luna..."), gift_item) - #Add text + if states.lun.tier <= 1: + lun "A broom?" ("open", "base", "raised", "down") + lun "Hold on, there's an attachment on this seat..." ("angry", "base", "low", "down") + lun "Oh, it's an art piece!" ("grin", "base", "base", "down") + call give_gift("You give the broom to Luna...",gift_item) + lun "Thank you, [name_genie_luna]!" ("base", "base", "base", "mid") + elif states.lun.tier == 2: + lun "A broom, with an attached penis?" ("open", "base", "raised", "down") + lun "Oh! You want me to study it, even when I'm flying?" ("grin", "base", "base", "mid") + lun "Wait... That can't be it..." ("angry", "base", "base", "mid") + call give_gift("You give the broom to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") + elif states.lun.tier == 3: + lun "A broom with a penis attached to it?" ("soft", "base", "base", "down") + lun "I never knew brooms could grow penises..." ("soft", "base", "raised", "mid") + lun "You learn something new every day..." ("grin", "base", "base", "mid") + call give_gift("You give the broom to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") + elif states.lun.tier == 4: + lun "A broom with a penis on it... Or is that two penises?" ("soft", "base", "raised", "down") + lun "How very strange..." ("open", "narrow", "base", "down") + lun "I shall study it." ("base", "base", "base", "mid") + call give_gift("You give the broom to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("grin", "base", "base", "mid") + else: + lun "A penis broom?" ("soft", "base", "raised", "down") + lun "Or is it a broom penis, perhaps?" ("open", "narrow", "base", "down") + lun "Very interesting..." ("base", "base", "base", "mid") + call give_gift("You give the broom to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("grin", "base", "base", "mid") elif gift_item == sexdoll_ITEM: - call give_gift(_(">You give the doll to Luna..."), gift_item) - #Add text + lun "A doll?" ("open", "base", "base", "down") + lun "It says Joanne on it." ("soft", "narrow", "raised", "down") + lun "Well, hello there Joanne." ("grin", "base", "base", "down") + call give_gift("You give the doll to Luna...",gift_item) + lun "I'm sure we're going to be great friends..." ("smile", "base", "base", "down") elif gift_item == anal_beads_ITEM: - call give_gift(_(">You give the anal beads to Luna..."), gift_item) - #Add text + lun "Such a lovely necklace!" ("grin", "narrow", "base", "down") + call give_gift("You give the anal beads to Luna...",gift_item) + lun "Thank you, [name_genie_luna]." ("grin", "base", "base", "mid") elif gift_item == wine_ITEM: - call give_gift(_(">You give the wine to Luna..."), gift_item) - #Add text + lun "Wine... How lovely!" ("grin", "base", "base", "down") + call give_gift("You give the wine to Luna...", gift_item) + lun "Thank you, [name_genie_luna]." ("base", "base", "base", "mid") elif gift_item == firewhisky_ITEM: - call give_gift(_(">You give the firewhisky to Luna..."), gift_item) - #Add text + lun "Firewhisky... How lovely!" ("grin", "base", "base", "down") + call give_gift("You give the firewhisky to Luna...", gift_item) + lun "Thank you, [name_genie_luna]" ("base", "base", "base", "mid") lun "" (xpos="base",ypos="base") hide luna_main @@ -126,10 +215,10 @@ label lun_mood(value=0): else: "Luna's mood hasn't changed." - $ was_negative = lun_mood > 0 - $ lun_mood = max(min(lun_mood+value, 100), 0) + $ was_negative = states.lun.mood > 0 + $ states.lun.mood = max(min(states.lun.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, lun_mood, value) + call describe_mood_after_gift(was_negative, states.lun.mood, value) hide screen blktone return diff --git a/game/scripts/characters/luna/summon.rpy b/game/scripts/characters/luna/summon.rpy index 029bb610..3202320e 100644 --- a/game/scripts/characters/luna/summon.rpy +++ b/game/scripts/characters/luna/summon.rpy @@ -1,24 +1,23 @@ label summon_luna: - $ active_girl = "luna" - $ last_character = "luna" + $ states.active_girl = "luna" - $ luna_busy = True + $ states.lun.busy = True call update_luna call update_lun_tier $ renpy.checkpoint(hard=True) - call play_music("luna") - call play_sound("door") + play music "music/wallpaper-by-kevin-macleod.ogg" fadein 1 if_changed + play sound "sounds/door.ogg" call lun_chibi("stand","mid","base") with d3 - lun "[lun_genie_name]..." ("base", "base", "base", "mid", xpos="base", ypos="base") + lun "[name_genie_luna]..." ("base", "base", "base", "mid", xpos="base", ypos="base") - if spectrespecs_E3 and not spectrespecs_E4: + if states.lun.ev.spectrespecs.e3_complete and not states.lun.ev.spectrespecs.e4_complete: jump spectrespecs_E4 label luna_requests: @@ -31,7 +30,7 @@ label summon_luna: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if lun_mood > 0: + if states.lun.mood > 0: lun "I have nothing to say to you sir..." jump luna_requests @@ -39,67 +38,62 @@ label summon_luna: jump luna_talk # Personal Favors - "-Sexual Favours-" (icon="interface/icons/small/condom.webp") if luna_favors: + "-Sexual Favours-" (icon="interface/icons/small/condom.webp") if states.lun.favors_unlocked: jump luna_favor_menu - "-Sexual Favours-" (style="disabled") if not luna_favors: - call nar(">You haven't unlocked this feature yet.") + "-Sexual Favours-" (style="disabled") if not states.lun.favors_unlocked: + nar "You haven't unlocked this feature yet." jump luna_requests # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if luna_wardrobe_unlocked: - hide astoria_main with d1 + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.lun.wardrobe_unlocked: + hide luna_main with d1 call wardrobe jump luna_requests - "-Wardrobe-" (style="disabled") if not luna_wardrobe_unlocked: - call nar(">You haven't unlocked this feature yet.") + "-Wardrobe-" (style="disabled") if not states.lun.wardrobe_unlocked: + nar "You haven't unlocked this feature yet." jump luna_requests - "-Give Item-" (icon="interface/icons/small/gift.webp"): - $ TBA_message() + "-Give Item-" (icon="interface/icons/small/gift.webp") if states.lun.favors_unlocked: + hide luna_main with d1 + call gift_menu jump luna_requests - # hide luna_main with d1 - # call gift_menu - # jump luna_requests - # Dismiss "-Dismiss her-": stop music fadeout 3.0 if game.daytime: - if lun_mood >= 3: + if states.lun.mood >= 3: lun "Good day..." else: - lun "Sure thing, [lun_genie_name]. I will head to class." + lun "Sure thing, [name_genie_luna]. I will head to class." else: - if lun_mood >= 3: + if states.lun.mood >= 3: lun "Good night..." else: - lun "Sure thing, good night [lun_genie_name]." + lun "Sure thing, good night [name_genie_luna]." jump end_luna_event label update_lun_tier: - if lun_tier == 1 and lun_whoring >= 3: - if not ll_pf_talk.is_event_complete(1, 3): + if states.lun.tier == 1 and states.lun.level >= 3: + if not states.lun.ev.talk_to_me.t1_e3_complete: return $ lun_level_up = 1 - elif lun_tier == 2 and lun_whoring >= 6: - if not ll_pf_inspect.is_event_complete(2, 3): + elif states.lun.tier == 2 and states.lun.level >= 6: + if not states.lun.ev.inspect_her_body.t2_e3_complete: return - $ lun_level_up = 2 - elif lun_tier == 3 and lun_whoring >= 9: - # T4 NOT AVAILABLE - return - if not ll_pf_masturbate.is_event_complete(3, 3): + $ lun_level_up = 2 + elif states.lun.tier == 3 and states.lun.level >= 9: + if not states.lun.ev.play_with_yourself.t3_e3_complete: return $ lun_level_up = 3 - elif lun_tier == 4 and lun_whoring >= 13: + elif states.lun.tier == 4 and states.lun.level >= 13: # T5 NOT AVAILABLE return @@ -109,7 +103,6 @@ label update_lun_tier: label luna_level_up(tier=None): - call bld if tier == 1: gen "(I think it's about time to give her a proper inspection...)" ("base", xpos="far_left", ypos="head") elif tier == 2: @@ -120,12 +113,12 @@ label luna_level_up(tier=None): gen "(Getting the spurts out of two people at the same time...)" ("base", xpos="far_left", ypos="head") gen "(Now that's going to require some careful timing!)" ("grin", xpos="far_left", ypos="head") - $ lun_tier = tier+1 + $ states.lun.tier = tier+1 $ lun_level_up = None - $ lun_mood = 0 + $ states.lun.mood = 0 pause.5 - call nar(">Luna has reached {i}favour tier{/i} "+str(lun_tier)+"!") + nar "Luna has reached {i}favour tier{/i} [states.lun.tier]!" call update_lun_tier @@ -133,8 +126,6 @@ label luna_level_up(tier=None): # Luna Favor Menu label luna_favor_menu: - call update_luna_favors - menu: "-Level Up-" (icon="interface/icons/small/levelup.webp") if lun_level_up != None: call luna_level_up(tier=lun_level_up) @@ -144,121 +135,117 @@ label luna_favor_menu: call tutorial("hearts") label .personal: - python: - menu_choices = [] - for i in ll_favor_list: - if i in []: # Not in the game yet. - menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > lun_tier: - menu_choices.append(gui.menu_item("-Not Ready-", "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) - menu_choices.append(("-Never mind-", "nvm")) - result = renpy.display_menu(menu_choices) + $ result = show_events_menu(luna_favors) - if result == "nvm": + if result in ("disabled", "noncompliant"): + "You haven't unlocked this favour opportunity yet." + jump .personal + elif result == "exit": jump luna_favor_menu - elif result == "vague": - call favor_not_ready - jump .personal - elif result == "na": - call not_available - jump .personal else: - $ renpy.jump(result) + $ result.start() "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled"): + label .requests: + call not_available + + # $ result = show_events_menu(hermione_requests) + + # if result in ("disabled", "noncompliant"): + # "You haven't unlocked this request opportunity yet." + # jump .requests + # elif result == "exit": + # jump .skip_points_check + # else: + # $ result.start() + jump luna_favor_menu "-Never mind-": jump luna_requests -label update_luna_favors: - python: - for i in ll_favor_list: - i.tier = lun_tier - return - label luna_talk: # General. menu: - "-Ask her to cheer for Ravenclaw-" if cho_quid.gryffindor_failed and not cho_quid.E11_complete: + "-Ask her to cheer for Ravenclaw-" if states.cho.ev.quidditch.gryffindor_failed and not states.cho.ev.quidditch.e11_complete: jump cho_quid_E11 - "-Address me only as-" if spectrespecs_E4: + "-Address me only as-" if states.lun.ev.spectrespecs.e4_complete: menu: "-Sir-": - $ lun_genie_name = "Sir" + $ name_genie_luna = "Sir" "-Dumbledore-": - $ lun_genie_name = "Dumbledore" + $ name_genie_luna = "Dumbledore" "-Professor-": - $ lun_genie_name = "Professor" + $ name_genie_luna = "Professor" "-Partner-": - $ lun_genie_name = "Partner" - "-Master-" if lun_tier >= 2: - $ lun_genie_name = "Master" - "-Daddy-" if lun_tier >= 2: - $ lun_genie_name = "Daddy" - "-Custom Input-" if lun_tier >= 3: - $ lun_genie_name = renpy.input("(Please enter the name.)", lun_genie_name, ALLOWED_CHARACTERS, length=14).strip() or "Professor" + $ name_genie_luna = "Partner" + "-Master-" if states.lun.tier >= 2: + $ name_genie_luna = "Master" + "-Daddy-" if states.lun.tier >= 2: + $ name_genie_luna = "Daddy" + "-Genie-" if states.lun.ev.gen_genie_nickname_unlocked: + $ name_genie_luna = "Genie" + "-Custom Input-" if states.lun.tier >= 3: + $ name_genie_luna = renpy.input("(Please enter the name.)", name_genie_luna, ALLOWED_CHARACTERS, length=14).strip() or "Professor" "-Never mind-": jump luna_talk jump genie_luna_change - "-From now on I will refer to you as-" if spectrespecs_E4: + "-From now on, I will refer to you as-" if states.lun.ev.spectrespecs.e4_complete: menu: "-Miss Lovegood-": - $ luna_name = "Miss Lovegood" + $ name_luna_genie = "Miss Lovegood" "-Luna-": - $ luna_name = "Luna" + $ name_luna_genie = "Luna" "-Loony-": - $ luna_name = "Loony" + $ name_luna_genie = "Loony" "-Girl-": - $ luna_name = "Girl" + $ name_luna_genie = "Girl" "-Partner-": - $ luna_name = "Partner" - "-Bimbo-" if lun_tier >= 2: - $ luna_name = "Bimbo" - "-Minx-" if lun_tier >= 3: - $ luna_name = "Minx" - "-Cumslut-" if lun_tier >= 5: - $ luna_name = "Cumslut" - "-Custom Input-" if lun_tier >= 3: - $ luna_name = renpy.input("(Please enter the name.)", luna_name, ALLOWED_CHARACTERS, length=14).strip() or "Miss Lovegood" + $ name_luna_genie = "Partner" + "-Bimbo-" if states.lun.tier >= 2: + $ name_luna_genie = "Bimbo" + "-Minx-" if states.lun.tier >= 3: + $ name_luna_genie = "Minx" + "-Cumslut-" if states.lun.ev.lun_cumslut_nickname_unlocked: + $ name_luna_genie = "Cumslut" + "-Custom Input-" if states.lun.tier >= 3: + $ name_luna_genie = renpy.input("(Please enter the name.)", name_luna_genie, ALLOWED_CHARACTERS, length=14).strip() or "Miss Lovegood" "-Never mind-": jump luna_talk - jump luna_name + jump name_luna_genie "-Never mind-": jump luna_requests label genie_luna_change: # NickName responses - if lun_genie_name == "Sir": - lun "Certainly, [lun_genie_name]." ("base", "base", "base", "mid") - elif lun_genie_name == "Dumbledore": + if name_genie_luna == "Sir": + lun "Certainly, [name_genie_luna]." ("base", "base", "base", "mid") + elif name_genie_luna == "Dumbledore": lun "You want me to call you by your last name?" ("annoyed", "narrow", "base", "mid") gen "Is that going to be a problem?" ("base", xpos="far_left", ypos="head") - lun "Of course not [lun_genie_name]..." ("angry", "base", "base", "mid") - lun "[lun_genie_name]..." ("angry", "base", "base", "downL") - lun "Don't think I've ever heard anyone call you just [lun_genie_name] before..." ("grin", "base", "base", "mid") - elif lun_genie_name == "Professor": - lun "Yes, [lun_genie_name]." ("base", "base", "base", "mid") - elif lun_genie_name == "Partner": - lun "[lun_genie_name]?" ("soft", "base", "raised", "mid") - gen "Yes, we're working together now so it's only appropriate." ("base", xpos="far_left", ypos="head") - lun "Oh... Of course [lun_genie_name]." ("grin", "base", "base", "mid") - elif lun_genie_name == "Master": - lun "[lun_genie_name]?" ("soft", "narrow", "base", "mid") - lun "What are you a [lun_genie_name] of exactly?" ("angry", "base", "base", "mid") - if lun_tier >= 3: + lun "Of course not [name_genie_luna]..." ("angry", "base", "base", "mid") + lun "[name_genie_luna]..." ("angry", "base", "base", "downL") + lun "Don't think I've ever heard anyone call you just [name_genie_luna] before..." ("grin", "base", "base", "mid") + elif name_genie_luna == "Professor": + lun "Yes, [name_genie_luna]." ("base", "base", "base", "mid") + elif name_genie_luna == "Partner": + lun "[name_genie_luna]?" ("soft", "base", "raised", "mid") + gen "Yes, we're working together now, so it's only appropriate." ("base", xpos="far_left", ypos="head") + lun "Oh... Of course [name_genie_luna]." ("grin", "base", "base", "mid") + elif name_genie_luna == "Master": + lun "[name_genie_luna]?" ("soft", "narrow", "base", "mid") + lun "What are you a [name_genie_luna] of exactly?" ("angry", "base", "base", "mid") + if states.lun.tier >= 3: gen "A master baiter!" ("grin", xpos="far_left", ypos="head") lun "Oh, right!" ("smile", "base", "base", "mid") - lun "Thank you for allowing me to be your pupil, [lun_genie_name]." ("base", "base", "base", "mid") + lun "Thank you for allowing me to be your pupil, [name_genie_luna]." ("base", "base", "base", "mid") else: gen "*Err*...{w=0.4} Of the arts?" ("base", xpos="far_left", ypos="head") lun "What arts?" ("angry", "narrow", "base", "mid") @@ -269,65 +256,72 @@ label genie_luna_change: gen "..." ("base", xpos="far_left", ypos="head") lun "Sir?" ("soft", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]?" ("open", "base", "base", "mid") + lun "[name_genie_luna]?" ("open", "base", "base", "mid") gen "That's me." ("base", xpos="far_left", ypos="head") - lun "Okay, I'll call you [lun_genie_name] from now on." ("soft", "base", "base", "mid") + lun "Okay, I'll call you [name_genie_luna] from now on." ("soft", "base", "base", "mid") gen "(Another confrontation expertly avoided...)" ("base", xpos="far_left", ypos="head") - elif lun_genie_name == "Daddy": - lun "[lun_genie_name]?" ("open", "narrow", "base", "mid") + elif name_genie_luna == "Daddy": + lun "[name_genie_luna]?" ("open", "narrow", "base", "mid") gen "Yes..." ("base", xpos="far_left", ypos="head") - lun "But wont that be confusing?" ("annoyed", "narrow", "base", "mid") + lun "But won't that be confusing?" ("annoyed", "narrow", "base", "mid") gen "Would it?" ("base", xpos="far_left", ypos="head") lun "Yes, that's usually what I call my father..." ("open", "base", "base", "R") gen "I'm your daddy now..." ("base", xpos="far_left", ypos="head") lun "*Huh*?" ("angry", "base", "base", "mid") gen "Call me daddy you naughty girl!" ("angry", xpos="far_left", ypos="head") - lun "Oh...{w=0.3} Yes, I'm sorry [lun_genie_name]!" ("angry", "happyCl", "base", "mid") + lun "Oh...{w=0.4} Yes, I'm sorry [name_genie_luna]!" ("angry", "happyCl", "base", "mid") + elif name_genie_luna == "Genie": + lun "[name_genie_luna]..." ("open", "narrow", "base", "mid") + lun "Wouldn't it be a bit weird if I called you that?" ("annoyed", "base", "base", "mid") + gen "Why would it?" ("base", xpos="far_left", ypos="head") + lun "Wouldn't me calling you \"genie\" be the same as you calling me \"human\"?" ("soft", "narrow", "base", "mid") + gen "Genie's my name..." ("base", xpos="far_left", ypos="head") + lun "Oh...{w=0.4} How convenient!" ("soft", "base", "base", "stare") else: #custom/fallback - lun "Okay, I'll call you [lun_genie_name] from now on..." ("base", "base", "base", "mid") + lun "Okay, I'll call you [name_genie_luna] from now on..." ("base", "base", "base", "mid") jump luna_talk -label luna_name: +label name_luna_genie: # NickName responses - if luna_name == "Miss Lovegood": - lun "Of course, [lun_genie_name]." ("base", "wink", "base", "mid") - elif luna_name == "Luna": + if name_luna_genie == "Miss Lovegood": + lun "Of course, [name_genie_luna]." ("base", "wink", "base", "mid") + elif name_luna_genie == "Luna": lun "But that's my first name!" ("angry", "base", "base", "mid") gen "So?" ("base", xpos="far_left", ypos="head") lun "Isn't it against the law?" ("mad", "narrow", "base", "mid") gen "... Is what against the law?" ("base", xpos="far_left", ypos="head") - lun "Teachers and students calling each other by their first name. I read an article about it in the quibbler." ("angry", "narrow", "raised", "mid") - gen "*Err*... No they recently made it legal." ("base", xpos="far_left", ypos="head") + lun "Teachers and students referring to each other by their first name. I read an article about it in the quibbler." ("angry", "narrow", "raised", "mid") + gen "*Err*... No, they recently made it legal." ("base", xpos="far_left", ypos="head") lun "Oh, How progressive!" ("soft", "base", "base", "stare") - lun "Then of course, you can call me that!" ("smile", "base", "base", "mid") - elif luna_name == "Loony": - lun "Do you really need to call me that, [lun_genie_name]?" ("upset", "base", "base", "mid") + lun "In that case, you can call me that!" ("smile", "base", "base", "mid") + elif name_luna_genie == "Loony": + lun "Do you really need to call me that, [name_genie_luna]?" ("upset", "base", "base", "mid") lun "Other students call me that to make fun of me." ("upset", "base", "base", "R") gen "I like it." ("grin", xpos="far_left", ypos="head") lun "Alright then..." ("annoyed", "base", "base", "mid") - elif luna_name == "Girl": - lun "Just [luna_name]?" ("soft", "base", "raised", "mid") + elif name_luna_genie == "Girl": + lun "Just [name_luna_genie]?" ("soft", "base", "raised", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") lun "Alright, I suppose I am a girl after all." ("grin", "narrow", "base", "mid") - elif luna_name == "Partner": - lun "[luna_name]?" ("soft", "base", "base", "mid") - gen "Yes, we're partners in venture are we not?" ("base", xpos="far_left", ypos="head") + elif name_luna_genie == "Partner": + lun "[name_luna_genie]?" ("soft", "base", "base", "mid") + gen "Yes, we're partners in this venture, are we not?" ("base", xpos="far_left", ypos="head") lun "Oh right!" ("angry", "base", "base", "mid") lun "Of course, you can call me that!" ("grin", "base", "base", "mid") - elif luna_name == "Bimbo": + elif name_luna_genie == "Bimbo": lun "A what?" ("soft", "base", "base", "mid") gen "A Bimbo..." ("base", xpos="far_left", ypos="head") lun "Oh... Okay..." ("base", "base", "base", "mid") gen "(...{w} Maybe she doesn't know what that means...)" ("base", xpos="far_left", ypos="head") - elif luna_name == "Minx": + elif name_luna_genie == "Minx": lun "A mink?" ("soft", "base", "base", "mid") gen "No, a--" ("base", xpos="far_left", ypos="head") lun "I love minks!" ("smile", "wide", "base", "mid") gen "...{w=0.3} Great." ("base", xpos="far_left", ypos="head") - elif luna_name == "Cumslut": + elif name_luna_genie == "Cumslut": lun "Well I do love helping you cum..." ("grin", "narrow", "base", "downL") lun "Sure, you can call me that." ("grin", "base", "base", "mid") else: #Custom/fallback - lun "That's not too bad... Sure you can call me that." ("base", "base", "base", "mid") + lun "Sure, you can call me that!" ("base", "base", "base", "mid") jump luna_talk diff --git a/game/scripts/characters/luna/vars.rpy b/game/scripts/characters/luna/vars.rpy index 28313ef2..8fbb1525 100644 --- a/game/scripts/characters/luna/vars.rpy +++ b/game/scripts/characters/luna/vars.rpy @@ -1,31 +1,55 @@ -# Stats -default lun_tier = 1 -default lun_whoring = 0 -default lun_mood = 0 -default lun_jerk_off_counter = 0 +# General states + +default states.lun.tier = 1 +default states.lun.level = 0 +default states.lun.public_tier = 0 +default states.lun.public_level = 0 +default states.lun.mood = 0 +default states.lun.unlocked = False +default states.lun.busy = False +default states.lun.gifted = False +default states.lun.favors_unlocked = False +default states.lun.requests_unlocked = False +default states.lun.wardrobe_unlocked = False +default states.lun.wardrobe_scheduling = True +default states.lun.chatted = False +default states.lun.map_location = "room_r" + +# Sexual activity states + +default states.lun.status.show_bra = False +default states.lun.status.show_tits = False +default states.lun.status.show_panties = False +default states.lun.status.show_pussy = False +default states.lun.status.stripping = False +default states.lun.status.masturbating = False +default states.lun.status.blowjob = False +default states.lun.status.cumshot = False +default states.lun.status.gokkun = False +#default states.lun.status.sex = False +#default states.lun.status.creampie = False +#default states.lun.status.anal = False +#default states.lun.status.anal_creampie = False + +# Event flags + +default states.lun.ev.intro.e1_complete = False +default states.lun.ev.intro.e2_complete = False +default states.lun.ev.spectrespecs.e1_complete = False +default states.lun.ev.spectrespecs.e2_complete = False +default states.lun.ev.spectrespecs.e3_complete = False +default states.lun.ev.spectrespecs.e4_complete = False +default states.lun.ev.quibbler.stocked = False +default states.lun.ev.talk_to_me.t1_e3_complete = False +default states.lun.ev.inspect_her_body.t2_e3_complete = False +default states.lun.ev.play_with_yourself.t3_e3_complete = False +default states.lun.ev.gen_genie_nickname_unlocked = False +default states.lun.ev.lun_cumslut_nickname_unlocked = False # Flags -default luna_busy = False -default luna_unlocked = False -default luna_favors = False -default luna_wardrobe_unlocked = False -default luna_outfits_schedule = True default lun_level_up = None -# Intro -default luna_intro_E1 = False -default luna_intro_E2 = False - -# Spectrespecs event -default spectrespecs_E1 = False -default spectrespecs_E2 = False -default spectrespecs_E3 = False -default spectrespecs_E4 = False -default quibbler_stocked = False - # Names -default lun_genie_name = _("Professor") -default luna_name = _("Miss Lovegood") - -default gave_luna_gift = False +default name_genie_luna = "Professor" +default name_luna_genie = "Miss Lovegood" diff --git a/game/scripts/characters/luna/wardrobe.rpy b/game/scripts/characters/luna/wardrobe.rpy index 52889fc5..8b8172dd 100644 --- a/game/scripts/characters/luna/wardrobe.rpy +++ b/game/scripts/characters/luna/wardrobe.rpy @@ -2,249 +2,238 @@ ## Character ## ############### -default luna = Doll(name="luna", - clothes={"headgear": [None, 15, True], - "hair": [None, 4, True], - "glasses": [None, 12, True], - "earrings": [None, 14, True], - "neckwear": [None, 11, True], - "robe": [None, 28, True], - "gloves": [None, 21, True], - "top": [None, 15, True], - "bra": [None, 9, True], - "bottom": [None, 8, True], - "garterbelt": [None, 7, True], - "panties": [None, 6, True], - "stockings": [None, 5, True], - "buttplug": [None, -1, True], - "pubes": [None, 3, True], - "tattoo0": [None, 1, True], - "tattoo1": [None, 1, True], - "tattoo2": [None, 1, True], - "tattoo3": [None, 1, True], - "tattoo4": [None, 1, True], - "piercing0": [None, 2, True], - "piercing1": [None, 2, True], - "piercing2": [None, 2, True], - "piercing3": [None, 2, True], - "piercing4": [None, 2, True], - "accessory0": [None, 12, True], - "accessory1": [None, 12, True], - "accessory2": [None, 12, True], - "accessory3": [None, 12, True], - "accessory4": [None, 12, True], - "makeup0": [None, 3, True], - "makeup1": [None, 3, True], - "makeup2": [None, 3, True], - "makeup3": [None, 3, True], - "makeup4": [None, 3, True]}, - face={"tears": [None, 12, True], - "cheeks": [None, 7, True], - "eyebrows": ["base", 11, True], - "eyes": ["base", 8, True], - "pupils": ["mid", 9, True], - "mouth": ["base", 13, True]}, - body={"armleft": ["up", 3], - "armright":["up", 1], - "base": ["front", 0], - "breasts": ["normal", 2]}) +default luna = Doll(name="luna") + +default lun_frame_default = DollBodypart("luna", ("hidden", "frame"), "frame", "default") +default lun_body_default = DollOutfit([lun_frame_default], hidden=True) + +########## +## Hair ## +########## + +default lun_hair_base = DollCloth("luna", ("head", "hair"), "hair", "base", ["#ede0c3ff", "#bfa46bff", "#309087ff"], unlocked=True) ####################### ## Schoolgirl Outfit ## ####################### -default lun_hair_base = DollCloth("luna", ("head", "hair"), "hair", "base", [[237, 224, 195, 255], [191, 164, 107, 255], [48, 144, 135, 255]], unlocked=True) -default lun_hair_wand = DollCloth("luna", ("head", "hair"), "hair", "wand", [[237, 224, 195, 255], [191, 164, 107, 255], [48, 144, 135, 255]], unlocked=True) +default lun_hair_wand = DollCloth("luna", ("head", "hair"), "hair", "wand", ["#ede0c3ff", "#bfa46bff", "#309087ff"], unlocked=True) +default lun_glasses_hearts = DollCloth("luna", ("head", "glasses"), "glasses", "sunglasses_2", ["#6799C999", "#F395A9FF"], unlocked=True) +default lun_glasses_spectrespecs = DollCloth("luna", ("head", "glasses"), "glasses", "spectrespecs", ["#e36682ff", "#3d6e8cff"], unlocked=True) +default lun_accessory_pin_radish = DollCloth("luna", ("misc", "accessory"), "accessory", "pin_radish", ["#b61710ff", "#e8bebcff"], zorder=213, unlocked=True) +default lun_accessory_hair_bug = DollCloth("luna", ("misc", "accessory"), "accessory", "hair_bug", ["#ffffffff"], unlocked = True, zorder=252) -################ -## Schoolgirl ## -################ +default lun_top_school1 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_1", ["#b7b7b8ff", "#6d6979ff", "#5974c2ff", "#d8a30aff"], unlocked=True) +default lun_top_school2 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_2", ["#b7b7b8ff", "#6d6979ff", "#5974c2ff", "#d8a30aff"], unlocked=True) +default lun_top_school3 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_3", ["#b7b7b8ff", "#6d6979ff", "#5974c2ff", "#d8a30aff"], unlocked=True) +default lun_top_school4 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_4", ["#b7b7b8ff", "#5974c2ff", "#d8a30aff"], unlocked=True) +default lun_top_vest = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_vest", ["#6d6979ff", "#5974c2ff", "#d8a30aff"], unlocked=True, level=4) +default lun_top_school5 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_5", ["#b7b7b8ff", "#5974c2ff", "#d8a30aff"], unlocked=True, level=4) +default lun_top_school6 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_6", ["#b7b7b8ff", "#5974c2ff", "#d8a30aff"], unlocked=True, level=5) +default lun_top_crop = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_crop", ["#b7b7b8ff", "#5974c2ff", "#d8a30aff"], unlocked=True, level=7) -default lun_top_school1 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_1", [[183, 183, 184, 255], [109, 105, 121, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True) -default lun_top_school2 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_2", [[183, 183, 184, 255], [109, 105, 121, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True) -default lun_top_school3 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_3", [[183, 183, 184, 255], [109, 105, 121, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True) -default lun_top_school4 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_4", [[183, 183, 184, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True) -default lun_top_vest = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_vest", [[109, 105, 121, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True, level=4) -default lun_top_school5 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_5", [[183, 183, 184, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True, level=4) -default lun_top_school6 = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_6", [[183, 183, 184, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True, level=5) -default lun_top_crop = DollCloth("luna", ("upper body", "shirts"), "top", "top_school_crop", [[183, 183, 184, 255], [89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True, level=7) -default lun_neckwear_tie = DollCloth("luna", ("head", "neckwear"), "neckwear", "tie", [[89, 116, 194, 255], [216, 163, 10, 255]], unlocked = True, zorder=16) # Tie Only +default lun_neckwear_tie = DollCloth("luna", ("head", "neckwear"), "neckwear", "tie", ["#5974c2ff", "#d8a30aff"], unlocked = True, zorder=213) # Tie Only -default lun_bottom_school1 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_1", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) -default lun_bottom_school2 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_2", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) -default lun_bottom_school3 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_3", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True, level=4) -default lun_bottom_school4 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_4", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True, level=6) +default lun_bottom_school1 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_1", ["#675a6cff", "#e8b10dff"], unlocked=True) +default lun_bottom_school2 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_2", ["#675a6cff", "#e8b10dff"], unlocked=True) +default lun_bottom_school3 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_3", ["#675a6cff", "#e8b10dff"], unlocked=True, level=4) +default lun_bottom_school4 = DollCloth("luna", ("lower body", "skirts"), "bottom", "school_skirt_4", ["#675a6cff", "#e8b10dff"], unlocked=True, level=6) -default lun_stockings_school = DollCloth("luna", ("legwear", "stockings"), "stockings", "short_school_1", [[89, 116, 194, 255], [216, 163, 10, 255]], unlocked=True) -default lun_stockings_school2 = DollCloth("luna", ("legwear", "stockings"), "stockings", "short_school_2", [[89, 116, 194, 255]], unlocked=True) +default lun_stockings_school = DollCloth("luna", ("legwear", "stockings"), "stockings", "short_school_1", ["#5974c2ff", "#d8a30aff"], unlocked=True) +default lun_stockings_school2 = DollCloth("luna", ("legwear", "stockings"), "stockings", "short_school_2", ["#5974c2ff"], unlocked=True) -default lun_robe_school_1 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_1", [[96, 96, 96, 255], [89, 116, 194, 255]], unlocked=True, level=0) -default lun_robe_school_2 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_2", [[96, 96, 96, 255], [89, 116, 194, 255]], unlocked=True, level=4) -default lun_robe_school_3 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_3", [[96, 96, 96, 255], [89, 116, 194, 255]], unlocked=True, level=5) -default lun_robe_school_4 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_4", [[96, 96, 96, 255], [89, 116, 194, 255]], unlocked=True, level=7) +default lun_bra_base1 = DollCloth("luna", ("upper undergarment", "bras"), "bra", "basic_bra_1", ["#525c6bff", "#003280ff", "#003280ff"], unlocked=True) +default lun_panties_base1 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "basic_panties_1", ["#525c6bff", "#003280ff", "#003280ff"], unlocked=True) +default lun_panties_lace2 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "lace_panties_2", ["#1f5bb0ff", "#fff1edff", "#fff1edff"], level=7, unlocked=True) -############### -## Underwear ## -############### +default lun_robe_school_1 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_1", ["#606060ff", "#5974c2ff"], unlocked=True, level=0) +default lun_robe_school_2 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_2", ["#606060ff", "#5974c2ff"], unlocked=True, level=4) +default lun_robe_school_3 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_3", ["#606060ff", "#5974c2ff"], unlocked=True, level=5) +default lun_robe_school_4 = DollCloth("luna", ("upper body", "robes"), "robe", "robe_school_4", ["#606060ff", "#5974c2ff"], unlocked=True, level=7) -# Fancy Underwear -default lun_bra_base1 = DollCloth("luna", ("upper undergarment", "bras"), "bra", "basic_bra_1", [[82, 92, 107, 255], [0, 50, 128, 255], [0, 50, 128, 255]], unlocked=True) -default lun_panties_base1 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "basic_panties_1", [[82, 92, 107, 255], [0, 50, 128, 255], [0, 50, 128, 255]], unlocked=True) - -# Plain Underwear -default lun_bra_base2 = DollCloth("luna", ("upper undergarment", "bras"), "bra", "basic_bra_2", [[216, 225, 230, 255], [89, 116, 194, 255]], unlocked=True) -default lun_panties_base2 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "basic_panties_2", [[216, 225, 230, 255], [89, 116, 194, 255]], unlocked=True) - -# Lace Underwear -default lun_bra_lace1 = DollCloth("luna", ("upper undergarment", "bras"), "bra", "lace_bra_1", [[113, 113, 113, 255], [52, 52, 52, 255]], level=7) -default lun_panties_lace1 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "lace_panties_1", [[113, 113, 113, 255], [52, 52, 52, 255]], level=7) - -default lun_panties_lace2 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "lace_panties_2", [[31, 91, 176, 255], [255, 241, 237, 255], [255, 241, 237, 255]], level=7, unlocked=True) - -# Bikini Bra -default lun_bra_bikini3 = DollCloth("luna", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_3", [[0, 82, 198, 255], [173, 152, 126, 255]], level=7) -default lun_panties_bikini3 = DollCloth("luna", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_3", [[0, 82, 198, 255], [173, 152, 126, 255]], level=7) - -################ -## One-Pieces ## -################ - -default lun_top_swimsuit1 = DollCloth("luna", ("upper body", "one-piece suits"), "top", "swimsuit_1", [[255, 172, 184, 215], [238, 117, 114, 255]], blacklist=["panties", "bra"], zorder=7, level=6) - -############## -## Nighties ## -############## - -default lun_top_nightie1 = DollCloth("luna", ("upper body", "shirts"), "top", "nightie_1", [[255, 255, 255, 215]], level=5) -default lun_top_nightie2 = DollCloth("luna", ("upper body", "shirts"), "top", "nightie_2", [[255, 172, 184, 215]], level=6) +default lun_outfit_default = DollOutfit([lun_hair_base, lun_top_school1, lun_bottom_school2, lun_bra_base1, lun_panties_base1, lun_stockings_school], unlocked=True) +default lun_outfit_default_quirky = DollOutfit([lun_hair_wand, lun_accessory_hair_bug, lun_glasses_spectrespecs, lun_accessory_pin_radish, lun_neckwear_tie, lun_top_school3, lun_bottom_school2, lun_bra_base1, lun_panties_base1, lun_stockings_school], unlocked=True) +default lun_outfit_default_no_vest = DollOutfit([lun_hair_base, lun_top_school4, lun_bottom_school2, lun_bra_base1, lun_panties_base1, lun_stockings_school], hidden=True) +default lun_outfit_school_slut = DollOutfit([lun_hair_base, lun_glasses_hearts, lun_top_crop, lun_bottom_school4, lun_panties_lace2, lun_stockings_school])#, hidden=True) +default lun_outfit_last = DollOutfit([lun_hair_base], hidden=True) ################### -## Pajama Outfit ## +## Bikini Outfit ## ################### -default lun_top_pajama = DollCloth("luna", ("upper body", "shirts"), "top", "pajama_1", [[249, 126, 197, 255], [182, 23, 16, 255]]) -default lun_bottom_pajama = DollCloth("luna", ("lower body", "trousers"), "bottom", "pajama_1", [[255, 197, 211, 255], [182, 23, 16, 255]]) +default lun_bra_bikini3 = DollCloth("luna", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_3", ["#0052c6ff", "#ad987eff"], level=7) +default lun_panties_bikini3 = DollCloth("luna", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_3", ["#0052c6ff", "#ad987eff"], level=7) +default lun_outfit_bikini3 = DollOutfit([lun_hair_base, lun_bra_bikini3, lun_panties_bikini3], price=350, name="Rave Bikini Set", desc="Skilfully assembled from scrapped materials.") -default lun_glasses_spectrespecs = DollCloth("luna", ("head", "glasses"), "glasses", "spectrespecs", [[227, 102, 130, 255], [61, 110, 140, 255]], unlocked=True) -default lun_glasses_hearts = DollCloth("luna", ("head", "glasses"), "glasses", "sunglasses_2", [[240, 120, 255, 255], [0, 158, 255, 255]], unlocked=True) -default lun_accessory_pin_radish = DollCloth("luna", ("misc", "accessory"), "accessory0", "pin_radish", [[182, 23, 16, 255], [232, 190, 188, 255]], zorder=16, unlocked=True) +########################### +## Lace Underwear Outfit ## +########################### -default lun_stockings_pantyhose = DollCloth("luna", ("legwear", "pantyhose"), "stockings", "pantyhose_1", [[177, 144, 131, 255]], unlocked=True) -default lun_stockings_pantyhose_meshed = DollCloth("luna", ("legwear", "pantyhose"), "stockings", "pantyhose_meshed", [[0, 0, 0, 255]], unlocked=True) +default lun_bra_lace1 = DollCloth("luna", ("upper undergarment", "bras"), "bra", "lace_bra_1", ["#717171ff", "#343434ff"], level=7) +default lun_panties_lace1 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "lace_panties_1", ["#717171ff", "#343434ff"], level=7) + +default lun_outfit_lace1 = DollOutfit([lun_hair_base, lun_bra_lace1, lun_panties_lace1], price=250, name="Lace Lingerie", desc="For a girl that's feeling a bit lacy.") + +##################### +## Swimsuit Outfit ## +##################### + +default lun_top_swimsuit1 = DollCloth("luna", ("upper body", "one-piece suits"), "top", "swimsuit_1", ["#ffacb8d7", "#ee7572ff"], blacklist=["panties", "bra"], zorder=183, level=6) + +default lun_outfit_swimsuit = DollOutfit([lun_hair_base, lun_top_swimsuit1], price=350, name="One-piece Swimsuit", desc="Buy this outfit and everything will work out swimmingly.") + +################### +## Pajama Outfit ## #Unlocked in Luna Intro +################### + +default lun_top_pajama = DollCloth("luna", ("upper body", "shirts"), "top", "pajama_1", ["#f97ec5ff", "#b61710ff"]) +default lun_bottom_pajama = DollCloth("luna", ("lower body", "trousers"), "bottom", "pajama_1", ["#ffc5d3ff", "#b61710ff"]) + +default lun_outfit_pajama = DollOutfit([lun_hair_base, lun_accessory_pin_radish, lun_top_pajama, lun_bottom_pajama, lun_bra_base1, lun_panties_base1], unlocked=True) ###################### ## Flight Attendant ## ###################### -default lun_top_flight_attendant_1 = DollCloth("luna", ("upper body", "dresses"), "top", "flight_attendant_1", [[82, 82, 130, 255], [225, 64, 16, 255]]) -default lun_top_flight_attendant_2 = DollCloth("luna", ("upper body", "dresses"), "top", "flight_attendant_2", [[82, 82, 130, 255], [225, 64, 16, 255]], level=6) -default lun_neckwear_neckerchief = DollCloth("luna", ("head", "neckwear"), "neckwear", "neckerchief", [[82, 82, 130, 255]]) -default lun_headgear_flight_attendant = DollCloth("luna", ("head", "headgear"), "headgear", "flight_attendant", [[225, 64, 16, 255]]) -default lun_panties_flight_attendant_1 = DollCloth("luna", ("lower undergarment", "bikini panties"), "panties", "flight_attendant_thongs_1", [[225, 64, 16, 255]], level=7) -default lun_panties_flight_attendant_2 = DollCloth("luna", ("lower undergarment", "bikini panties"), "panties", "flight_attendant_thongs_2", [[225, 64, 16, 255], [232, 183, 123, 255]], level=9) +default lun_top_flight_attendant_1 = DollCloth("luna", ("upper body", "dresses"), "top", "flight_attendant_1", ["#525282ff", "#e14010ff"]) +default lun_top_flight_attendant_2 = DollCloth("luna", ("upper body", "dresses"), "top", "flight_attendant_2", ["#525282ff", "#e14010ff"], level=6) +default lun_neckwear_neckerchief = DollCloth("luna", ("head", "neckwear"), "neckwear", "neckerchief", ["#525282ff"]) +default lun_headgear_flight_attendant = DollClothDynamic("luna", ("head", "headgear"), "headgear", "flight_attendant", ["#e14010ff"], tracking="?hair") +default lun_panties_flight_attendant_1 = DollCloth("luna", ("lower undergarment", "bikini panties"), "panties", "flight_attendant_thongs_1", ["#e14010ff"], level=7) +default lun_panties_flight_attendant_2 = DollCloth("luna", ("lower undergarment", "bikini panties"), "panties", "flight_attendant_thongs_2", ["#e14010ff", "#e8b77bff"], level=9) -############ -## Muggle ## -############ - -default lun_top_muggle_top = DollCloth("luna", ("upper body", "shirts"), "top", "muggle_top", [[127, 109, 140, 255], [231, 131, 186, 255]]) -default lun_robe_muggle_jacket = DollCloth("luna", ("upper body", "robes"), "robe", "muggle_jacket", [[247, 190, 196, 255], [134, 60, 74, 255]], level=4) -default lun_bottom_muggle_skirt = DollCloth("luna", ("lower body", "skirts"), "bottom", "muggle_skirt", [[43, 43, 43, 255], [61, 142, 194, 255], [83, 169, 150 , 255], [243, 243, 243, 255], [226, 148, 150, 255], [245, 210, 132, 255]]) -default lun_stockings_muggle_knee_socks = DollCloth("luna", ("legwear", "stockings"), "stockings", "muggle_knee_socks", [[2, 87, 146, 255], [0, 118, 127, 255], [0, 15, 43, 255]]) - -############ -## Summer ## -############ - -default lun_top_summer_top1 = DollCloth("luna", ("upper body", "shirts"), "top", "summer_top_1", [[255, 154, 205, 255]]) -default lun_top_summer_top2 = DollCloth("luna", ("upper body", "shirts"), "top", "summer_top_2", [[255, 154, 205, 255]], level=7) -default lun_bottom_summer_shorts = DollCloth("luna", ("lower body", "shorts"), "bottom", "summer_shorts", [[47, 150, 136, 255], [175, 220, 191, 255], [247, 152, 38 , 255]]) -default lun_accessory2_bracelets = DollCloth("luna", ("misc", "accessory"), "accessory2", "bracelets", [[36, 184, 45, 255], [58, 176, 212, 255], [194, 49, 15]], zorder=22) - -################# -## Accessories ## -################# - -default lun_neckwear_cork = DollCloth("luna", ("head", "neckwear"), "neckwear", "cork", [[255, 255, 255, 255]], unlocked = True, zorder=16) -default lun_accessory3_hair_bug = DollCloth("luna", ("misc", "accessory"), "accessory3", "hair_bug", [[255, 255, 255, 255]], unlocked = True, zorder=16) - -default lun_accessory4_wand_mouth = DollCloth("luna", ("misc", "accessory"), "accessory4", "wand_mouth", [[255, 255, 255, 255]], unlocked = True, zorder=16) -default lun_accessory4_wand_hand = DollCloth("luna", ("misc", "accessory"), "accessory4", "wand_hand", [[255, 255, 255, 255]], unlocked = True, zorder=16) -default lun_accessory4_wand_breasts = DollCloth("luna", ("misc", "accessory"), "accessory4", "wand_breasts", [[255, 255, 255, 255]], unlocked = True, zorder=16) -default lun_accessory4_wand_pussy = DollCloth("luna", ("misc", "accessory"), "accessory4", "wand_pussy", [[255, 255, 255, 255]], unlocked = True, zorder=7) - -################# -## Party Dress ## -################# - -default lun_top_party_dress = DollCloth("luna", ("upper body", "dresses"), "top", "party_dress", [[248, 168, 0, 255], [172, 94, 27, 255]]) - -############# -## Outfits ## -############# - -# School Uniforms -default lun_outfit_default = DollOutfit([lun_hair_base, lun_top_school1, lun_bottom_school2, lun_bra_base1, lun_panties_base1, lun_stockings_school], unlocked=True) -default lun_outfit_default_quirky = DollOutfit([lun_hair_wand, lun_accessory3_hair_bug, lun_glasses_spectrespecs, lun_accessory_pin_radish, lun_neckwear_tie, lun_top_school3, lun_bottom_school2, lun_bra_base1, lun_panties_base1, lun_stockings_school], unlocked=True) -default lun_outfit_default_no_vest = DollOutfit([lun_hair_base, lun_top_school4, lun_bottom_school2, lun_bra_base1, lun_panties_base1, lun_stockings_school], hidden=True) -default lun_outfit_school_slut = DollOutfit([lun_hair_base, lun_glasses_hearts, lun_top_crop, lun_bottom_school4, lun_panties_lace2, lun_stockings_school])#, hidden=True) - -# Pajamas -default lun_outfit_pajama = DollOutfit([lun_hair_base, lun_accessory_pin_radish, lun_top_pajama, lun_bottom_pajama, lun_bra_base1, lun_panties_base1], unlocked=True) - -# Nighties -default lun_outfit_nightie1 = DollOutfit([lun_hair_base, lun_top_nightie1], price=350, name="Loose-fitting Nightie", desc="The prefect nightie for a girl with her screws loose.") -default lun_outfit_nightie2 = DollOutfit([lun_hair_base, lun_top_nightie2], price=350, name="Nightie", desc="The perfect garment if you're tired of wearing a pyjamas.") - -# Lingerie & Bikinis -default lun_outfit_lace1 = DollOutfit([lun_hair_base, lun_bra_lace1, lun_panties_lace1], price=250, name="Lace Lingerie", desc="For a girl that's feeling a bit lacy.") -default lun_outfit_bikini3 = DollOutfit([lun_hair_base, lun_bra_bikini3, lun_panties_bikini3], price=350, name="Rave Bikini Set", desc="Skilfully assembled from scrapped materials.") - -# One-Pieces & Swimsuits -default lun_outfit_swimsuit = DollOutfit([lun_hair_base, lun_top_swimsuit1], price=350, name="One-piece Swimsuit", desc="Buy this outfit and everything will work out swimmingly.") - -# Dresses default lun_outfit_flight_attendant = DollOutfit([lun_hair_base, lun_top_flight_attendant_1, lun_neckwear_neckerchief, lun_headgear_flight_attendant, lun_panties_flight_attendant_1], addons=[lun_top_flight_attendant_2, lun_panties_flight_attendant_2], price=350, name="Flight Attendant Costume", desc="An outfit attendants wear in those flying metal things.") -# Sets +################### +## Muggle Outfit ## +################### + +default lun_top_muggle_top = DollCloth("luna", ("upper body", "shirts"), "top", "muggle_top", ["#7f6d8cff", "#e783baff"]) +default lun_robe_muggle_jacket = DollCloth("luna", ("upper body", "robes"), "robe", "muggle_jacket", ["#f7bec4ff", "#863c4aff"]) +default lun_bottom_muggle_skirt = DollCloth("luna", ("lower body", "skirts"), "bottom", "muggle_skirt", ["#2b2b2bff", "#3d8ec2ff", "#53a996ff", "#f3f3f3ff", "#e29496ff", "#f5d284ff"]) +default lun_stockings_muggle_knee_socks = DollCloth("luna", ("legwear", "stockings"), "stockings", "muggle_knee_socks", ["#025792ff", "#00767fff", "#000f2bff"]) + default lun_outfit_muggle = DollOutfit([lun_hair_base, lun_top_muggle_top, lun_robe_muggle_jacket, lun_bottom_muggle_skirt, lun_stockings_muggle_knee_socks, lun_bra_base1, lun_panties_base1], price=300, name="Muggle Outfit", desc="An outfit that probably at least one muggle somewhere would wear.") + +################### +## Summer Outfit ## +################### + +default lun_top_summer_top1 = DollCloth("luna", ("upper body", "shirts"), "top", "summer_top_1", ["#ff9acdff"]) +default lun_top_summer_top2 = DollCloth("luna", ("upper body", "shirts"), "top", "summer_top_2", ["#ff9acdff"], level=7) +default lun_bottom_summer_shorts = DollCloth("luna", ("lower body", "shorts"), "bottom", "summer_shorts", ["#2f9688ff", "#afdcbfff", "#f79826ff"]) +default lun_accessory_bracelets = DollCloth("luna", ("misc", "accessory"), "accessory", "bracelets", ["#24b82dff", "#3ab0d4ff", "#c2310fff"], zorder=225) + +default lun_outfit_summer = DollOutfit([lun_hair_base, lun_top_summer_top1, lun_bottom_summer_shorts, lun_panties_base1, lun_accessory_bracelets], addons=[lun_top_summer_top2], price=350, name="Summer Set", desc="It's pretty hot.") + +###################### +## Reindeer Costume ## #unlocked in genies_christmas_wish mirror story +###################### + +default lun_top_bunny2 = DollCloth("luna", ("upper body", "one-piece suits"), "top", "bunny_top_2", ["#8e4a0aff"], blacklist=["panties", "bra"], zorder=183, level=7) +default lun_neckwear_chocolate_frog = DollCloth("luna", ("head", "neckwear"), "neckwear", "chocolate_frog", ["#ffffffff"]) +default lun_earring_bauble = DollCloth("luna", ("head", "earrings"), "earrings", "bauble_earring", ["#a30000ff"], level=4) +default lun_hat_antlers = DollClothDynamic("luna", ("head", "headgear"), "headgear", "antlers", ["#8e4a0aff", "#ffffffff", "#dbc095ff"], tracking="?hair") +default lun_accessory_mistletoe = DollCloth("luna", ("misc", "accessory"), "accessory", "mistletoe", ["#bfbf56ff"], zorder=213, level=7) +default lun_stockings_pantyhose_meshed = DollCloth("luna", ("legwear", "pantyhose"), "stockings", "pantyhose_meshed", ["#000000ff"], unlocked=True) + +default lun_outfit_reindeer = DollOutfit([lun_hair_base, lun_top_bunny2, lun_neckwear_chocolate_frog, lun_earring_bauble, lun_hat_antlers, lun_stockings_pantyhose_meshed, lun_accessory_mistletoe]) + +################## +## Bunny Outfit ## +################## + +default lun_hat_bunny1 = DollClothDynamic("luna", ("head", "headgear"), "headgear", "bunny_hat_1", ["#dba18cff", "#fde3abff"], tracking="?hair") +default lun_top_bunny1 = DollCloth("luna", ("upper body", "one-piece suits"), "top", "bunny_top_1", ["#000000ff"], blacklist=["panties", "bra"], zorder=183, level=7) + +default lun_outfit_bunny = DollOutfit([lun_hair_base, lun_top_bunny1, lun_stockings_pantyhose_meshed, lun_hat_bunny1], price=250, name="Sexy Bunny Costume", desc="A bunny costume for when you're hopping mad.") + +######################## +## Party Dress Outfit ## +######################## + +default lun_top_party_dress = DollCloth("luna", ("upper body", "dresses"), "top", "party_dress", ["#f8a800ff", "#ac5e1bff"]) + default lun_outfit_party = DollOutfit([lun_hair_base, lun_top_party_dress, lun_panties_base1], price=350, name="Party Dress", desc="A weird dress for a weird girl.") -default lun_outfit_summer = DollOutfit([lun_hair_base, lun_top_summer_top1, lun_bottom_summer_shorts, lun_panties_base1, lun_accessory2_bracelets], addons=[lun_top_summer_top2], price=350, name="Summer Set", desc="It's pretty hot.") -default lun_outfit_last = DollOutfit([lun_hair_base], hidden=True) -################ -## Pubic Hair ## -################ +#################### +## Nightie Outfit ## +#################### -default lun_pubes_arrow = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "arrow", [[228, 201, 145, 255]], unlocked=True) -default lun_pubes_beaver = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "beaver", [[228, 201, 145, 255]], unlocked=True) -default lun_pubes_stuble = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "stuble", [[155, 133, 88, 255]], unlocked=True) -default lin_pubes_unshaved = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "unshaved", [[155, 133, 88, 255]], unlocked=True) +default lun_top_nightie1 = DollCloth("luna", ("upper body", "shirts"), "top", "nightie_1", ["#ffffffd7"], level=5) -############# -## Tattoos ## -############# +default lun_outfit_nightie1 = DollOutfit([lun_hair_base, lun_top_nightie1], price=350, name="Loose-fitting Nightie", desc="The prefect nightie for a girl with her screws loose.") -default lun_tattoo0_measure = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo0", "measure", [[0, 0, 0, 255], [219, 73, 44, 255]], unlocked=True) -default lun_tattoo0_spurt_here = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo0", "spurt_here", [[0, 0, 0, 255]], unlocked=True) -default lun_tattoo0_loony = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo0", "loony", [[0, 0, 0, 255]], unlocked=True) -default lun_tattoo0_baby_oven = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo0", "baby_oven", [[0, 0, 0, 255], [219, 73, 44, 255]], unlocked=True) +########################## +## Loose Nightie Outfit ## +########################## -default lun_tattoo1_lab_rat = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo1", "lab_rat", [[0, 0, 0, 255]], unlocked=True) +default lun_top_nightie2 = DollCloth("luna", ("upper body", "shirts"), "top", "nightie_2", ["#ffacb8d7"], level=6) -default lun_tattoo3_cumdump = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo3", "cumdump", [[0, 0, 0, 255]], unlocked=True) +default lun_outfit_nightie2 = DollOutfit([lun_hair_base, lun_top_nightie2], price=350, name="Nightie", desc="The perfect garment if you're tired of wearing a pyjamas.") + +##################### +## Tank top Outfit ## +##################### + +default lun_top_short_tanktop = DollCloth("luna", ("upper body", "shirts"), "top", "short_tanktop", ["#86CB7CFF", "#3B6E34FF"]) +default lun_bottom_shorts = DollCloth("luna", ("lower body", "shorts"), "bottom", "shorts",["#86CB7Cff", "#3B6E34ff", "#FFFFFFFF"]) + +default lun_outfit_tanktop = DollOutfit([lun_hair_base, lun_panties_base1, lun_top_short_tanktop, lun_bottom_shorts], price=200, name="Short shorts Outfit", desc="If you're not short on cash, then these short shorts and tank top are a great summer gift.") + +################## +## Bimbo Outfit ## +################## + +default lun_top_torn = DollCloth("luna", ("upper body", "shirts"), "top", "top_torn", ["#FFFFFFFF", "#C3C9E5FF"], level=10) +default lun_skirt_plaid = DollCloth("luna", ("lower body", "skirts"), "bottom", "skirt_plaid", ["#B35155ff", "#523E5Eff", "#767986ff", "#C3C9E5ff"], level=6) +default lun_stockings_bimbo_leggings = DollCloth("luna", ("legwear", "stockings"), "stockings", "leggings_bimbo", ["#FFFFFFff", "#C2C8E499", "#B35155ff", "#523E5Eff"]) + +default lun_outfit_bimbo = DollOutfit([lun_hair_base, lun_top_torn, lun_skirt_plaid, lun_stockings_bimbo_leggings], price=350, name="Bimbo Outfit", desc="An outfit for someone that's either aware, or unaware that they're a bimbo.") + +#################### +## Cumslut Outfit ## +#################### + +default lun_neckwear_choker_1 = DollCloth("luna", ("head", "neckwear"), "neckwear", "choker_1", ["#39373FFF"]) +default lun_top_cumslut = DollCloth("luna", ("upper body", "shirts"), "top", "top_cumslut", ["#39373FFF", "#473A63FF"], level=10) +default lun_panties_cumslut = DollCloth("luna", ("lower undergarment", "panties"), "panties", "panties_cumslut", ["#39373FFF", "#473A63FF"], level=10) + +default lun_outfit_cumslut = DollOutfit([lun_hair_base, lun_neckwear_choker_1, lun_top_cumslut, lun_panties_cumslut], price=350, name="Cumslut Outfit", desc="Shit's fire yo.") + +################## +## Latex Outfit ## +################## + +default lun_top_latex = DollCloth("luna", ("upper body", "shirts"), "top", "top_latex", ["#35373CFF", "#35373CFF"], level=10) +default lun_bottom_trousers_latex = DollCloth("luna", ("lower body", "trousers"), "bottom", "trousers_latex", ["#35373CFF", "#35373CFF"]) +default lun_bottom_shorts_latex = DollCloth("luna", ("lower body", "shorts"), "bottom", "shorts_latex",["#35373CFF", "#35373CFF"]) + +default lun_outfit_latex = DollOutfit([lun_hair_base, lun_top_latex, lun_bottom_trousers_latex], addons=[lun_bottom_shorts_latex], price=300, name="Latex Outfit", desc="Rubber up and show off your bouncy personality with this latex outfit!") + +#################### +## Flasher Outfit ## +#################### + +default lun_neckwear_collar = DollCloth("luna", ("head", "neckwear"), "neckwear", "collar", ["#565656", "#eaeaea"]) +default lun_neckwear_collar_1 = DollCloth("luna", ("head", "neckwear"), "neckwear", "collar_1", ["#F12E2EFF"]) +default lun_accessory_leash = DollCloth("luna", ("misc", "accessory"), "accessory", "leash", ["#F12E2EFF"], level=7, zorder=214) +default lun_accessory_onepiece_harness = DollCloth("luna", ("misc", "accessory"), "accessory", "onepiece_harness", ["#565656", "#eaeaea"], zorder=215, level=10) +default lun_robe_coat_flasher = DollCloth("luna", ("upper body", "robes"), "robe", "coat_flasher", ["#dba55f", "#fdd299", "#493a31"], level=7, zorder=145, blacklist=["top", "bottom", "gloves"]) + +default lun_outfit_flasher = DollOutfit([lun_hair_base, lun_accessory_leash, lun_accessory_onepiece_harness, lun_robe_coat_flasher], addons=[lun_neckwear_collar, lun_neckwear_collar_1], price=350, name="Flasher Outfit", desc="Show them what you got.") ########################### -## Police Officer Outfit ## +## Police Officer Outfit ## #unlocked in not_so_great_escape mirror story ########################### -default lun_stockings_police = DollCloth("luna", ("legwear", "stockings"), "stockings", "police_thigh_highs", [[43, 43, 85, 255], [142, 142, 179, 255]]) -default lun_bottom_police_skirt = DollCloth("luna", ("lower body", "skirts"), "bottom", "police_skirt", [[46, 71, 171, 255]], level=5) -default lun_top_police_shirt = DollCloth("luna", ("upper body", "shirts"), "top", "police_shirt", [[46, 71, 171, 255], [187, 187, 210, 255]], level=5) -default lun_accessory_police_belt = DollCloth("luna", ("misc", "accessory"), "accessory2", "police_belt", [[38, 38, 91, 255], [187, 187, 210, 255]]) -default lun_accessory_police_badge = DollCloth("luna", ("misc", "accessory"), "accessory1", "police_badge", [[25, 38, 85, 255],[252, 241, 109, 255]], zorder=16) -default lun_accessory_police_cuffs = DollCloth("luna", ("misc", "accessory"), "accessory2", "police_cuffs", [[187, 187, 210, 255]], zorder=22) +default lun_stockings_police = DollCloth("luna", ("legwear", "stockings"), "stockings", "police_thigh_highs", ["#2b2b55ff", "#8e8eb3ff"]) +default lun_bottom_police_skirt = DollCloth("luna", ("lower body", "skirts"), "bottom", "police_skirt", ["#2e47abff"], level=5) +default lun_top_police_shirt = DollCloth("luna", ("upper body", "shirts"), "top", "police_shirt", ["#2e47abff", "#bbbbd2ff"], level=5) +default lun_accessory_police_belt = DollCloth("luna", ("misc", "accessory"), "accessory", "police_belt", ["#26265bff", "#bbbbd2ff"], zorder=212) +default lun_accessory_police_badge = DollCloth("luna", ("misc", "accessory"), "accessory", "police_badge", ["#192655ff", "#fcf16dff"], zorder=213) +default lun_accessory_police_cuffs = DollCloth("luna", ("misc", "accessory"), "accessory", "police_cuffs", ["#bbbbd2ff"], zorder=225) default lun_outfit_police = DollOutfit([lun_hair_base, lun_stockings_police, lun_bottom_police_skirt, lun_top_police_shirt, lun_panties_base1, lun_accessory_police_badge, lun_accessory_police_belt], addons=[lun_accessory_police_cuffs]) @@ -252,22 +241,91 @@ default lun_outfit_police = DollOutfit([lun_hair_base, lun_stockings_police, lun ## Harley Quinn Outfit ## ######################### -default lun_hair_harley_quinn = DollCloth("luna", ("head", "hair"), "hair", "harley_quinn", [[237, 224, 195, 255], [191, 164, 107, 255], [228, 55, 19, 255], [19, 101, 228, 255], [255, 91, 248, 255]]) -default lun_pantyhose_harley_quinn = DollCloth("luna", ("legwear", "pantyhose"), "stockings", "harley_quinn", [[174, 53, 18, 255]]) -default lun_top_harley_quinn = DollCloth("luna", ("upper body", "one-piece suits"), "top", "harley_quinn", [[50, 98, 128, 255], [140, 159, 180, 255], [228, 54, 18, 255], [18, 100, 228, 255]]) -default lun_robe_harley_quinn = DollCloth("luna", ("upper body", "robes"), "robe", "harley_quinn", [[216, 252, 255, 255], [140, 159, 180, 255], [88, 213, 50, 255], [228, 78, 20, 255], [234, 72, 192, 255]]) -default lun_gloves_harley_quinn = DollCloth("luna", ("upper body", "gloves"), "gloves", "harley_quinn", [[31, 51, 73, 255]]) -default lun_accessory_harley_quinn_strap = DollCloth("luna", ("misc", "accessory"), "accessory1", "harley_quinn_strap", [[31, 51, 73, 255]], zorder=6) +default lun_hair_harley_quinn = DollCloth("luna", ("head", "hair"), "hair", "harley_quinn", ["#ede0c3ff", "#bfa46bff", "#e43713ff", "#1365e4ff", "#ff5bf8ff"]) +default lun_pantyhose_harley_quinn = DollCloth("luna", ("legwear", "pantyhose"), "stockings", "harley_quinn", ["#ae3512ff"]) +default lun_top_harley_quinn = DollCloth("luna", ("upper body", "one-piece suits"), "top", "harley_quinn", ["#326280ff", "#8c9fb4ff", "#e43612ff", "#1264e4ff"]) +default lun_robe_harley_quinn = DollCloth("luna", ("upper body", "robes"), "robe", "harley_quinn", ["#d8fcffff", "#8c9fb4ff", "#58d532ff", "#e44e14ff", "#ea48c0ff"]) +default lun_gloves_harley_quinn = DollCloth("luna", ("upper body", "gloves"), "gloves", "harley_quinn", ["#1f3349ff"]) +default lun_accessory_harley_quinn_strap = DollCloth("luna", ("misc", "accessory"), "accessory", "harley_quinn_strap", ["#1f3349ff"], zorder=183) default lun_outfit_harley_quinn = DollOutfit([lun_hair_harley_quinn, lun_pantyhose_harley_quinn, lun_top_harley_quinn, lun_robe_harley_quinn, lun_gloves_harley_quinn, lun_accessory_harley_quinn_strap], price=500, name="Harley Quinn Outfit", desc="Attractively crazy.") ################# -## Lion Outfit ## +## Lion Outfit ## (Event only) ################# -default lun_bottom_casual_jeans = DollCloth("luna", ("lower body", "skirts"), "bottom", "casual_jeans", [[128, 39, 191, 255]]) -default lun_top_casual_sweater = DollCloth("luna", ("upper body", "shirts"), "top", "casual_sweater", [[56, 32, 136, 255], [56, 32, 136, 255]]) -default lun_accessory_lionhead = DollCloth("luna", ("misc", "accessory"), "accessory1", "lionhead", [[0, 0, 0, 255]], zorder=29) +default lun_bottom_casual_jeans = DollCloth("luna", ("lower body", "trousers"), "bottom", "casual_jeans", ["#8027bfff"]) +default lun_top_casual_sweater = DollCloth("luna", ("upper body", "shirts"), "top", "casual_sweater", ["#382088ff", "#382088ff"]) +default lun_accessory_lionhead = DollCloth("luna", ("misc", "accessory"), "accessory", "lionhead", None) default lun_outfit_casual= DollOutfit([lun_hair_base, lun_panties_base1, lun_bra_base1, lun_bottom_casual_jeans, lun_top_casual_sweater], unlocked=True) default lun_outfit_lion_event = DollOutfit([lun_panties_base1, lun_bra_base1, lun_accessory_lionhead, lun_bottom_casual_jeans, lun_top_casual_sweater], hidden=True) + +############### +## Underwear ## +############### + +# Plain Underwear +default lun_bra_base2 = DollCloth("luna", ("upper undergarment", "bras"), "bra", "basic_bra_2", ["#d8e1e6ff", "#5974c2ff"], unlocked=True) +default lun_panties_base2 = DollCloth("luna", ("lower undergarment", "panties"), "panties", "basic_panties_2", ["#d8e1e6ff", "#5974c2ff"], unlocked=True) + +################# +## Accessories ## +################# + +default lun_neckwear_cork = DollCloth("luna", ("head", "neckwear"), "neckwear", "cork", ["#E98E2AFF", "#CECECEFF"], unlocked = True, zorder=213) + +default lun_accessory_wand_mouth = DollCloth("luna", ("misc", "accessory"), "accessory", "wand_mouth", ["#ffffffff"], unlocked = True, zorder=213) +default lun_accessory_wand_hand = DollCloth("luna", ("misc", "accessory"), "accessory", "wand_hand", ["#ffffffff"], unlocked = True, zorder=222) +default lun_accessory_wand_breasts = DollCloth("luna", ("misc", "accessory"), "accessory", "wand_breasts", ["#ffffffff"], unlocked = True, zorder=213) +default lun_accessory_wand_pussy = DollCloth("luna", ("misc", "accessory"), "accessory", "wand_pussy", ["#ffffffff"], unlocked = True, zorder=183) + +############ +## Makeup ## +############ + +# Nails +default lun_makeup_nail_polish = DollCloth("luna", ("head", "makeup"), "makeup", "nail_polish", ["#FFAEB2ff"], unlocked=True) + +################ +## Pubic Hair ## +################ + +default lun_pubes_arrow = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "arrow", ["#e4c991ff"], unlocked=True) +default lun_pubes_beaver = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "beaver", ["#e4c991ff"], unlocked=True) +default lun_pubes_stuble = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "stuble", ["#9b8558ff"], unlocked=True) +default lin_pubes_unshaved = DollCloth("luna", ("lower undergarment", "pubes"), "pubes", "unshaved", ["#9b8558ff"], unlocked=True) + +############### +## Piercings ## +############### + +default lun_earring_moon = DollCloth("luna", ("head", "earrings"), "earrings", "earring_moon", ["#D2DFEEff", "#FFE973ff", "#BA6755ff"], unlocked=True) +default lun_ear_studs = DollCloth("luna", ("head", "earrings"), "earrings", "ear_studs", ["#F6C54Fff"], unlocked=True) + +default lun_piercing_eyebrow_ring = DollMakeup("luna", ("piercings & tattoos", "piercings"), "piercing", "eyebrow_ring", ["#CDDAE8ff"], unlocked=True, tracking="eyebrows") +default lun_piercing_nose_ring = DollCloth("luna", ("piercings & tattoos", "piercings"), "piercing", "nose_ring", ["#F8DC5Dff"], unlocked=True) +default lun_piercing_mouth_stud = DollMakeup("luna", ("piercings & tattoos", "piercings"), "piercing", "mouth_stud", ["#D2E0F0ff"], unlocked=True, tracking="mouth") +default lun_piercing_nipple_studs = DollCloth("luna", ("piercings & tattoos", "piercings"), "piercing", "nipple_studs", ["#D2DFEEff"], unlocked=True) +default lun_piercing_nipple_rings = DollCloth("luna", ("piercings & tattoos", "piercings"), "piercing", "nipple_rings", ["#D2DFEEff"], unlocked=True) +default lun_piercing_clit_stud = DollCloth("luna", ("piercings & tattoos", "piercings"), "piercing", "clit_stud", ["#B8C6D7ff"], unlocked=True) + +############# +## Tattoos ## +############# + +default lun_tattoo_measure = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo", "measure", ["#000000ff", "#db492cff"], unlocked=True) +default lun_tattoo_spurt_here = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo", "spurt_here", ["#000000ff"], unlocked=True) +default lun_tattoo_loony = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo", "loony", ["#000000ff"], unlocked=True) +default lun_tattoo_baby_oven = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo", "baby_oven", ["#000000ff", "#db492cff"], unlocked=True) + +default lun_tattoo_lab_rat = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo", "lab_rat", ["#000000ff"], unlocked=True) + +default lun_tattoo_cumdump = DollCloth("luna", ("piercings & tattoos", "tattoos"), "tattoo", "cumdump", ["#000000ff"], unlocked=True) + +########## +## Misc ## +########## + +default lun_stockings_pantyhose = DollCloth("luna", ("legwear", "pantyhose"), "stockings", "pantyhose_1", ["#b19083ff"], unlocked=True) + diff --git a/game/scripts/characters/luna/wardrobe_reactions.rpy b/game/scripts/characters/luna/wardrobe_reactions.rpy index 248797f5..0ca23527 100644 --- a/game/scripts/characters/luna/wardrobe_reactions.rpy +++ b/game/scripts/characters/luna/wardrobe_reactions.rpy @@ -28,162 +28,159 @@ define lun_responses = { label lun_reaction_category_fail(category): if category == "upper undergarment": - lun "Is this part of our Wrackspurt research [lun_genie_name]?" ("open", "base", "raised", "mid") + lun "Is this part of our wrackspurt research [name_genie_luna]?" ("open", "base", "raised", "mid") gen "*Err*... I just thought maybe you could... Never mind..." ("base", xpos="far_left", ypos="head") elif category == "lower undergarment": - lun "Is this part of our Wrackspurt research [lun_genie_name]?" ("soft", "base", "base", "mid") + lun "Is this part of our wrackspurt research [name_genie_luna]?" ("soft", "base", "base", "mid") gen "*Err*... I just thought maybe you could... Never mind..." ("base", xpos="far_left", ypos="head") elif category == "piercings & tattoos": - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - lun "I'm not sure if that's such a good idea [lun_genie_name]..." ("open", "closed", "base", "mid") - gen "Why's that?" ("base", xpos="far_left", ypos="head") - lun "It might attract Nifflers into the castle..." ("normal", "base", "annoyed", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - elif random_number == 2: + + random: lun "Daddy says that ink should only be used on paper and not on your body..." ("open", "closed", "annoyed", "mid") - elif random_number == 3: - lun "Isn't it supposed to hurt?" ("upset", "wide", "base", "mid") - gen "I'm sure there's some magical mumbo jumbo that would make it painless..." ("base", xpos="far_left", ypos="head") - lun "*Hmm*... I'm not sure..." ("annoyed", "base", "base", "R") + + block: + lun "I'm not sure if that's such a good idea [name_genie_luna]..." ("open", "closed", "base", "mid") + gen "Why's that?" ("base", xpos="far_left", ypos="head") + lun "It might attract Nifflers into the castle..." ("normal", "base", "annoyed", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + block: + lun "Isn't it supposed to hurt?" ("upset", "wide", "base", "mid") + gen "I'm sure there's some magical mumbo jumbo that would make it painless..." ("base", xpos="far_left", ypos="head") + lun "*Hmm*... I'm not sure..." ("annoyed", "base", "base", "R") return label lun_reaction_touch(what): if what == "head": $ mouse_headpat() - $ random_number = renpy.random.randint(1, 3) - if lun_tier == 5: - if random_number == 1: - lun "*Mmm*..." ("soft", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - lun "*Ah*..." ("open", "closed", "base", "mid", cheeks="blush") - lun "Sorry, you just took me by surprise..." ("base", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - lun "*Hmm*... I could've sworn you said that we should focus on more sensitive areas..." ("base", "narrow", "base", "down", cheeks="blush") - elif lun_tier == 4: - if random_number == 1: - lun "*Mmm*... That's strange..." ("annoyed", "base", "base", "mid") - lun "How come I'm feeling good in other places when it's my head you're touching?" ("grin", "narrow", "base", "mid") - elif random_number == 2: - lun "Pat, pat, pat." ("base", "happyCl", "base", "mid") - gen "..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - lun "Thank you, [lun_genie_name]..." ("soft", "narrow", "base", "downR", cheeks="blush") - lun "I feel like I get a big boost of happiness when you pat me for some reason..." ("base", "narrow", "base", "mid", cheeks="blush") - lun "Maybe that's why animals enjoy it so much too..." ("grin", "base", "base", "mid", cheeks="blush") - elif lun_tier == 3: - if random_number == 1: + if states.lun.tier == 5: + random: + lun @ cheeks blush "*Mmm*..." ("soft", "closed", "base", "mid") + lun @ cheeks blush "*Hmm*... I could've sworn you said that we should focus on more sensitive areas..." ("base", "narrow", "base", "down") + + block: + lun @ cheeks blush "*Ah*..." ("open", "closed", "base", "mid") + lun @ cheeks blush "Sorry, you just took me by surprise..." ("base", "narrow", "base", "mid") + + elif states.lun.tier == 4: + random: + block: + lun "*Mmm*... That's strange..." ("annoyed", "base", "base", "mid") + lun "How come I'm feeling good in other places when it's my head you're touching?" ("grin", "narrow", "base", "mid") + block: + lun "Pat, pat, pat." ("base", "happyCl", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + block: + lun @ cheeks blush "Thank you, [name_genie_luna]..." ("soft", "narrow", "base", "downR") + lun @ cheeks blush "I feel like I get a big boost of happiness when you pat me for some reason..." ("base", "narrow", "base", "mid") + lun @ cheeks blush "Maybe that's why animals enjoy it so much too..." ("grin", "base", "base", "mid") + elif states.lun.tier == 3: + random: lun "Is my head another one of those sensitive areas you spoke about?" ("open", "base", "raised", "mid") - elif random_number == 2: - lun "I don't think there's anywhere for me to release the Wrackspurts from up there, but thank you anyway..." ("base", "narrow", "base", "mid") - elif random_number == 3: - lun "Are you sure this technique is working [lun_genie_name]?" ("annoyed", "base", "raised", "mid") - elif lun_tier == 2: - if random_number == 1: - lun "Thank you [lun_genie_name]." ("crooked_smile", "base", "base", "mid") - lun "I'm so glad you decided to let me help with your research." ("smile", "happyCl", "base", "mid") - elif random_number == 2: - lun "Are you feeling stressed [lun_genie_name]?" ("soft", "base", "base", "mid") - gen "*Huh*?" ("base", xpos="far_left", ypos="head") - lun "Feel free to pet me any time you like if it helps." ("base", "closed", "base", "mid") - gen "*Err*... Thanks..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: + lun "I don't think there's anywhere for me to release the wrackspurts from up there, but thank you anyway..." ("base", "narrow", "base", "mid") + lun "Are you sure this technique is working [name_genie_luna]?" ("annoyed", "base", "raised", "mid") + elif states.lun.tier == 2: + random: lun "*Hmm*... I'm not getting any of that tingly sensation up there but it does feel kind of nice..." ("soft", "base", "base", "up") + block: + lun "Thank you [name_genie_luna]." ("crooked_smile", "base", "base", "mid") + lun "I'm so glad you decided to let me help with your research." ("smile", "happyCl", "base", "mid") + block: + lun "Are you feeling stressed [name_genie_luna]?" ("soft", "base", "base", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + lun "Feel free to pet me any time you like if it helps." ("base", "closed", "base", "mid") + gen "*Err*... Thanks..." ("base", xpos="far_left", ypos="head") + else: #Tier 1 - if random_number == 1: - lun "Thank you [lun_genie_name]." ("grin", "closed", "base", "mid") - lun "Other students look at me weird if I try to pet them so I'm glad I didn't do something weird again..." ("angry", "base", "base", "downR") - elif random_number == 2: - lun "I already checked for Nargles this morning but I suppose you can't be too careful..." ("base", "base", "base", "down") - elif random_number == 3: + random: lun "I think I lost a pencil up there, let me know if you find it." ("soft", "base", "base", "up") + lun "I already checked for nargles this morning but I suppose you can't be too careful..." ("base", "base", "base", "down") + + block: + lun "Thank you [name_genie_luna]." ("grin", "closed", "base", "mid") + lun "Other students look at me weird if I try to pet them, so I'm glad I didn't do something weird again..." ("angry", "base", "base", "downR") + elif what == "breasts": $ mouse_heart() - $ random_number = renpy.random.randint(1, 3) - if lun_tier == 5: - if random_number == 1: - lun "Don't forget to kiss the other one too! She gets awfully jealous if her sister gets all the attention." ("base", "base", "base", "down", cheeks="blush") - elif random_number == 2: - lun "*Mmm*... Why does something so bad feel so good?" ("grin", "closed", "base", "mid") - gen "The backsprats?" ("base", xpos="far_left", ypos="head") - lun "*Huh*?" ("open", "base", "base", "mid") - lun "Oh... Yes, those pesky little things..." ("soft", "base", "base", "downR", cheeks="blush") - elif random_number == 3: - lun "*Ah*... Thank you for helping me [lun_genie_name]..." ("soft", "closed", "base", "mid", cheeks="blush") - elif lun_tier == 4: - if random_number == 1: - lun "*Mmm*... How come I don't really see any of the Wrackspurts coming out from here?" ("disgust", "narrow", "base", "mid", cheeks="blush") - gen "*Err*..." ("base", xpos="far_left", ypos="head") - lun "It feels really good so why aren't any of them coming out?" ("annoyed", "base", "base", "mid", cheeks="blush") - elif random_number == 2: - lun "*Ah*... {w=0.4} Your methods are quite the something [lun_genie_name]..." ("open", "closed", "base", "mid", cheeks="blush") - lun "I could never have imagined that getting rid of those pest would end up being so..." ("base", "closed", "base", "mid", cheeks="blush") - lun "Enjoyable..." ("grin", "narrow", "base", "mid", cheeks="blush") - elif random_number == 3: - lun "Come... Come out already..." ("soft", "closed", "base", "mid", cheeks="blush") - elif lun_tier == 3: - if random_number == 1: - lun "You really were right about these things being sensitive..." ("open", "base", "base", "down") - lun "Can't believe I hadn't figured this out earlier." ("base", "base", "base", "downR") - elif random_number == 2: - lun "*Ah*... Are everyone this sensitive in around this spot?" ("soft", "closed", "base", "mid", cheeks="blush") - gen "Women are a lot more sensitive than men most of the time..." ("base", xpos="far_left", ypos="head") - lun "Oh... That's so sad..." ("angry", "base", "base", "mid") - elif random_number == 3: - lun "..." ("soft", "base", "base", "mid", cheeks="blush") - gen "How did that feel?" ("base", xpos="far_left", ypos="head") - lun "*Ehm*... It felt very nice [lun_genie_name]..." ("open", "narrow", "base", "downR", cheeks="blush") - #elif lun_tier == 2: This would only be useful if there was another check if you've done event 2 to have it show before T3 + if states.lun.tier == 5: + random: + lun @ cheeks blush "Don't forget to kiss the other one too! She gets awfully jealous if her sister gets all the attention." ("base", "base", "base", "down") + lun @ cheeks blush "*Ah*... Thank you for helping me [name_genie_luna]..." ("soft", "closed", "base", "mid") + block: + lun "*Mmm*... Why does something so bad feel so good?" ("grin", "closed", "base", "mid") + gen "The backsprats?" ("base", xpos="far_left", ypos="head") + lun "*Huh*?" ("open", "base", "base", "mid") + lun @ cheeks blush "Oh... Yes, those pesky little things..." ("soft", "base", "base", "downR") + + elif states.lun.tier == 4: + random: + lun @ cheeks blush "Come... Come out already..." ("soft", "closed", "base", "mid") + block: + lun @ cheeks blush "*Mmm*... How come I don't really see any of the wrackspurts coming out from here?" ("disgust", "narrow", "base", "mid") + gen "*Err*..." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "It feels really good so why aren't any of them coming out?" ("annoyed", "base", "base", "mid") + block: + lun @ cheeks blush "*Ah*... {w=0.4} Your methods are quite the something [name_genie_luna]..." ("open", "closed", "base", "mid") + lun @ cheeks blush "I could never have imagined that getting rid of those pests would end up being so..." ("base", "closed", "base", "mid") + lun @ cheeks blush "Enjoyable..." ("grin", "narrow", "base", "mid") + + elif states.lun.tier == 3: + random: + block: + lun "You really were right about these things being sensitive..." ("open", "base", "base", "down") + lun "Can't believe I hadn't figured this out earlier." ("base", "base", "base", "downR") + block: + lun @ cheeks blush "*Ah*... Is everyone this sensitive in around this spot?" ("soft", "closed", "base", "mid") + gen "Women are a lot more sensitive than men most of the time..." ("base", xpos="far_left", ypos="head") + lun "Oh... That's so sad..." ("angry", "base", "base", "mid") + block: + lun @ cheeks blush "..." ("soft", "base", "base", "mid") + gen "How did that feel?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Ehm*... It felt very nice [name_genie_luna]..." ("open", "narrow", "base", "downR") + #elif states.lun.tier == 2: This would only be useful if there was another check if you've done event 2 to have it show before T3 else: # T1 and T2 - if random_number == 1: - lun "*Hi-Hi*..." ("grin", "closed", "base", "mid") - lun "Sorry [lun_genie_name], your beard is tickling me..." ("smile", "base", "base", "mid") - elif random_number == 2: - lun "Are you looking for the Himalayan Lesser Spotted Breast Imp? It's okay [lun_genie_name], it's not their migration season." ("grin", "base", "base", "down") - elif random_number == 3: + random: + lun "Are you looking for the Himalayan Lesser Spotted Breast Imp? It's okay [name_genie_luna], it's not their migration season." ("grin", "base", "base", "down") lun "..." ("soft", "base", "raised", "mid") + block: + lun "*Hi-Hi*..." ("grin", "closed", "base", "mid") + lun "Sorry [name_genie_luna], your beard is tickling me..." ("smile", "base", "base", "mid") elif what == "vagina": $ mouse_heart() - $ random_number = renpy.random.randint(1, 3) - if lun_tier == 5: - if random_number == 1: - lun "*Ah*... S-so good... How did I ever live without this?" ("normal", "closed", "base", "mid", cheeks="blush") - elif random_number == 2: - lun "*Mmm*... Nasty... Wrackspurts..." ("base", "closed", "base", "mid", cheeks="blush") - elif random_number == 3: - lun "Please... Help me get rid of them again..." ("crooked_smile", "narrow", "base", "mid", cheeks="blush") - elif lun_tier == 4: - if random_number == 1: - lun "*Whoa*... I didn't think just using your mouth could produce such a strong response." ("open", "wide", "base", "mid", cheeks="blush") - elif random_number == 2: - lun "*Ah*... It's almost like a ripple of water... Except running through my body..." ("soft", "closed", "base", "mid", cheeks="blush") - elif random_number == 3: - lun "*Mmm*... Those nasty Wrackspurts... I can feel them getting agitated already..." ("grin", "narrow", "base", "downR", cheeks="blush") - elif lun_tier == 3: - if random_number == 1: - lun "*Ohhhh*... This is going to be my new happy memory when I have to summon a patronus!" ("base", "narrow", "base", "down", cheeks="blush") - elif random_number == 2: + if states.lun.tier == 5: + random: + lun @ cheeks blush "*Ah*... S-so good... How did I ever live without this?" ("normal", "closed", "base", "mid") + lun @ cheeks blush "*Mmm*... Nasty... wrackspurts..." ("base", "closed", "base", "mid") + lun @ cheeks blush "Please... Help me get rid of them again..." ("crooked_smile", "narrow", "base", "mid") + elif states.lun.tier == 4: + random: + lun @ cheeks blush "Whoa... I didn't think just using your mouth could produce such a strong response." ("open", "wide", "base", "mid") + lun @ cheeks blush "*Ah*... It's almost like a ripple of water... Except running through my body..." ("soft", "closed", "base", "mid") + lun @ cheeks blush "*Mmm*... Those nasty wrackspurts... I can feel them getting agitated already..." ("grin", "narrow", "base", "downR") + elif states.lun.tier == 3: + random: + lun @ cheeks blush "*Ohhhh*... This is going to be my new happy memory when I have to summon a patronus!" ("base", "narrow", "base", "down") lun "Weren't I supposed to be learning how to do this myself?" ("angry", "base", "raised", "mid") - elif random_number == 3: - lun "*Oohhh*... Why are your lips cold?" ("clench", "wide", "base", "mid") - gen "Why are your lips cold?" ("base", xpos="far_left", ypos="head") - lun "*Huh*?" ("upset", "base", "raised", "mid") - # elif lun_tier == 2:This would only be useful if there was another check if you've done event 2 to have it show before T3 + block: + lun "*Oohhh*... Why are your lips cold?" ("clench", "wide", "base", "mid") + gen "Why are your lips cold?" ("base", xpos="far_left", ypos="head") + lun "*Huh*?" ("upset", "base", "raised", "mid") + # elif states.lun.tier == 2:This would only be useful if there was another check if you've done event 2 to have it show before T3 else: # T1 and T2 - if random_number == 1: - lun "*Hi-Hi*..." ("grin", "happyCl", "base", "mid") - lun "That's not my cheek, silly..." ("crooked_smile", "narrow", "base", "mid") - elif random_number == 2: - lun "Is this a lesson on the dementor's kiss?" ("open", "base", "raised", "mid") - lun "I always thought it was done through the mouth." ("soft", "base", "base", "downR") - elif random_number == 3: - lun "*Ooohh*..." ("grin", "base", "base", "up") - lun "I don't think anyone has ever kissed me there before... How strange..." ("grin", "closed", "base", "mid") + random: + block: + lun "*Hi-Hi*..." ("grin", "happyCl", "base", "mid") + lun "That's not my cheek, silly..." ("crooked_smile", "narrow", "base", "mid") + block: + lun "Is this a lesson on the dementor's kiss?" ("open", "base", "raised", "mid") + lun "I always thought it was done through the mouth." ("soft", "base", "base", "downR") + block: + lun "*Ooohh*..." ("grin", "base", "base", "up") + lun "I don't think anyone has ever kissed me there before... How strange..." ("grin", "closed", "base", "mid") return label lun_reaction_touch_fail(what): #Not used @@ -191,19 +188,19 @@ label lun_reaction_touch_fail(what): #Not used $ mouse_slap() gen "Ouch! Why would you do that?!" ("angry", xpos="far_left", ypos="head") - lun "Oh! I'm terribly sorry, [lun_genie_name], I used to play this game with my father and..." + lun "Oh! I'm terribly sorry, [name_genie_luna], I used to play this game with my father and..." gen "I don't need to hear it..." ("base", xpos="far_left", ypos="head") - lun "...as you wish [lun_genie_name]." + lun "...as you wish [name_genie_luna]." elif what == "breasts": $ mouse_slap() - lun "*giggles* [lun_genie_name] stop that! It tickles." + lun "*Giggles* [name_genie_luna] stop that! It tickles." elif what == "vagina": $ mouse_slap() - lun "*Ah* [lun_genie_name], please don't tease me, wrackspurts have been terribly active today and I'm barely able to withhold as it is." + lun "*Ah* [name_genie_luna], please don't tease me, wrackspurts have been terribly active today, and I'm barely able to withhold as it is." return @@ -223,11 +220,11 @@ label lun_reaction_equip_fail(item): lun "*Hmm*..." ("annoyed", "base", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") lun "There's a weird aura surrounding this piece of garment." ("open", "closed", "base", "mid") - lun "It seems to be affecting the Wrackspurts, as if they're multiplying!" ("disgust", "base", "base", "mid") - if lun_whoring < 4: - lun "I'm sorry [lun_genie_name] but I can't wear that... Not until we find a way of dealing with them." ("open", "closed", "base", "mid") + lun "It seems to be affecting the wrackspurts, as if they're multiplying!" ("disgust", "base", "base", "mid") + if states.lun.level < 4: + lun "I'm sorry [name_genie_luna] but I can't wear that... Not until we find a way of dealing with them." ("open", "closed", "base", "mid") else: - lun "I'm sorry [lun_genie_name] but I can't wear that... Not until we find a better strategy of dealing with them." ("open", "closed", "base", "mid") + lun "I'm sorry [name_genie_luna] but I can't wear that... Not until we find a better strategy of dealing with them." ("open", "closed", "base", "mid") gen "(I guess that means she's not ready yet.)" ("base", xpos="far_left", ypos="head") return @@ -235,28 +232,28 @@ label lun_reaction_equip_fail(item): label lun_reaction_unequip(item): ### Example # if item.type == "panties": - # if lun_whoring > 15: + # if states.lun.level > 15: # lun "You want to see my snatch?" - # lun "You got it [genie_name]!" + # lun "You got it [name_genie_hermione]!" # return label lun_reaction_unequip_fail(item): - if item.type == "panties": #probably wont play since category unlocks same level as she can take them off - lun "I'm sorry [lun_genie_name] but my panties are my one and only defence against wrackspurts." ("open", "closed", "base", "mid") + if item.type == "panties": #probably won't play since category unlocks same level as she can take them off + lun "I'm sorry [name_genie_luna] but my panties are my one and only defence against wrackspurts." ("open", "closed", "base", "mid") - elif item.type == "bra": #probably wont play since category unlocks same level as she can take them off - lun "*giggles*" ("grin", "closed", "base", "mid") + elif item.type == "bra": #probably won't play since category unlocks same level as she can take them off + lun "*Giggles*" ("grin", "closed", "base", "mid") gen "What's so funny?" ("base", xpos="far_left", ypos="head") lun "Oh... It's nothing..." ("base", "base", "base", "R") elif item.type == "top": - lun "Are we going to continue the research, [lun_genie_name]?" ("open", "base", "raised", "mid") + lun "Are we going to continue the research, [name_genie_luna]?" ("open", "base", "raised", "mid") gen "Not right now..." ("base", xpos="far_left", ypos="head") lun "Oh... Then let me know when you're ready..." ("base", "base", "base", "R") elif item.type == "bottom": - lun "Are we going to continue the research, [lun_genie_name]?" ("upset", "base", "raised", "mid") + lun "Are we going to continue the research, [name_genie_luna]?" ("upset", "base", "raised", "mid") gen "Not right now..." ("base", xpos="far_left", ypos="head") lun "Oh... Then let me know when you're ready..." ("base", "base", "base", "R") @@ -274,33 +271,33 @@ label lun_reaction_equip_outfit(item): if item == lun_outfit_default: #Req 0 gen "Can you put on your regular school uniform for me?" ("base", xpos="far_left", ypos="head") gen "Nice and proper please." ("base", xpos="far_left", ypos="head") - if lun_whoring < 4: + if states.lun.level < 4: gen "No wands in your hair... No weird stuff..." ("base", xpos="far_left", ypos="head") - lun "Weird stuff, [lun_genie_name]?" ("annoyed", "narrow", "base", "mid") - gen "*Err*... Nothing extra outside the regular uniform I mean..." ("base", xpos="far_left", ypos="head") + lun "Weird stuff, [name_genie_luna]?" ("annoyed", "narrow", "base", "mid") + gen "*Err*... Nothing extra outside the regular uniform, I mean..." ("base", xpos="far_left", ypos="head") lun "What about my underwear?" ("angry", "base", "base", "mid") - gen "Your underwear [luna_name]?" ("base", xpos="far_left", ypos="head") + gen "Your underwear [name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "I didn't get those with the uniform, so can I still wear them?" ("normal", "base", "base", "mid") gen "(Is this girl for real?)" ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]?" ("soft", "base", "raised", "mid") + lun "[name_genie_luna]?" ("soft", "base", "raised", "mid") gen "I guess?" ("base", xpos="far_left", ypos="head") lun "Okay, I'll keep them on then." ("grin", "happyCl", "base", "mid") gen "(Wait... Taking them off was a real option?)" ("base", xpos="far_left", ypos="head") - elif lun_whoring < 7: - lun "Thank you [lun_genie_name]." ("grin", "base", "base", "mid") + elif states.lun.level < 7: + lun "Thank you [name_genie_luna]." ("grin", "base", "base", "mid") gen "For what?" ("base", xpos="far_left", ypos="head") lun "Keeping me safe from the wrackspurts!" ("grin", "wink", "base", "mid") gen "That's not..." ("base", xpos="far_left", ypos="head") gen "Just put the thing on..." ("base", xpos="far_left", ypos="head") - lun "Yes, [lun_genie_name]!" ("base", "base", "base", "mid") + lun "Yes, [name_genie_luna]!" ("base", "base", "base", "mid") else: #7+ - lun "Do you mean like how the other students wear theirs [lun_genie_name]?" ("soft", "base", "base", "stare") + lun "Do you mean like how the other students wear theirs [name_genie_luna]?" ("soft", "base", "base", "stare") gen "... Yes?" ("base", xpos="far_left", ypos="head") lun "Will that give the Wrackpurts a harder time getting to me?" ("angry", "wink", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") lun "Is the theory that they won't be able to differentiate me from any of the other girls?" ("open", "base", "raised", "mid") gen "*Err*... Sure..." ("base", xpos="far_left", ypos="head") - lun "Interesting idea [lun_genie_name]... Let's try it." ("base", "base", "base", "mid") + lun "Interesting idea [name_genie_luna]... Let's try it." ("base", "base", "base", "mid") ####################### ## Quirky Schoolgirl ## @@ -310,9 +307,9 @@ label lun_reaction_equip_outfit(item): gen "And wear it the way you did the first time we met." ("base", xpos="far_left", ypos="head") lun "On the day I was sorted into Ravenclaw?" ("open", "base", "raised", "mid") lun "I'm not sure I remember how I wore it..." ("open", "base", "base", "down") - gen "*Err*... No I meant the one when you came into my office, when you told me about the spurts." ("base", xpos="far_left", ypos="head") + gen "*Err*... No, I meant the one when you came into my office, when you told me about the spurts." ("base", xpos="far_left", ypos="head") lun "Oh... Then why didn't you say so!" ("grin", "happyCl", "base", "mid") - lun "One moment, [lun_genie_name]." ("base", "base", "base", "mid") + lun "One moment, [name_genie_luna]." ("base", "base", "base", "mid") ####################### ## Slutty Schoolgirl ## @@ -320,11 +317,11 @@ label lun_reaction_equip_outfit(item): elif item == lun_outfit_school_slut: #Req 7 (no bra) gen "Put on your school uniform for me will you?" ("base", xpos="far_left", ypos="head") gen "This one with the tied top and short skirt." ("base", xpos="far_left", ypos="head") - lun "You're so smart [lun_genie_name]!" ("grin", "wink", "base", "mid") + lun "You're so smart [name_genie_luna]!" ("grin", "wink", "base", "mid") gen "I am?" ("base", xpos="far_left", ypos="head") - lun "This way you'll get to the affected areas so much quicker!" ("base", "wink", "base", "mid", cheeks="blush") - gen "Oh, yes that's it!" ("base", xpos="far_left", ypos="head") - lun "We should make this the standard school uniform!" ("smile", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "This way you'll get to the affected areas so much quicker!" ("base", "wink", "base", "mid") + gen "Oh, yes, that's it!" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "We should make this the standard school uniform!" ("smile", "base", "base", "mid") gen "*Hmm*... I'll think about it..." ("base", xpos="far_left", ypos="head") ################### @@ -336,11 +333,11 @@ label lun_reaction_equip_outfit(item): lun "You can do that?" ("angry", "wide", "base", "mid") gen "Do what?" ("base", xpos="far_left", ypos="head") lun "Wear pyjamas during the day!" ("mad", "narrow", "base", "mid") - gen "Yes? Why wouldn't you be able to? I'm wearing this robe all the time and I'm nowhere near a bath." ("base", xpos="far_left", ypos="head") - lun "If you say so [lun_genie_name]..." ("angry", "base", "base", "mid") + gen "Yes? Why wouldn't you be able to? I'm wearing this robe all the time, and I'm nowhere near a bath." ("base", xpos="far_left", ypos="head") + lun "If you say so [name_genie_luna]..." ("angry", "base", "base", "mid") else: lun "My pyjamas?" ("soft", "base", "raised", "mid") - gen "Yes, [luna_name]... Please put them on for me." ("base", xpos="far_left", ypos="head") + gen "Yes, [name_luna_genie]... Please put them on for me." ("base", xpos="far_left", ypos="head") lun "But, there's no bed in here..." ("angry", "narrow", "base", "mid") gen "No bed?" ("base", xpos="far_left", ypos="head") lun "Yes, why would I put it on if I'm not going to sleep?" ("angry", "wink", "base", "mid") @@ -348,30 +345,30 @@ label lun_reaction_equip_outfit(item): lun "That's true!" ("grin", "base", "base", "stare") lun "I should wear them all the time, then I'd never need to change!" ("base", "base", "base", "mid") gen "Well... I wouldn't go that far, just put them on for now." ("base", xpos="far_left", ypos="head") - lun "Alright, [lun_genie_name]." ("base", "wink", "base", "mid") + lun "Alright, [name_genie_luna]." ("base", "wink", "base", "mid") ################################## ## Loose-fitting Nightie Outfit ## ################################## elif item == lun_outfit_nightie1: #Req 7 (no bra, no panties) - gen "Put on this nightie for me [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Put on this nightie for me [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "And skip the underwear." ("base", xpos="far_left", ypos="head") - lun "No underwear [lun_genie_name]?" ("soft", "base", "worried", "mid") + lun "No underwear [name_genie_luna]?" ("soft", "base", "worried", "mid") lun "But what if the wrackspurts get in there?" ("angry", "base", "worried", "mid") gen "I'm sure we'll be able to deal with them if that happens, don't you think?" ("base", xpos="far_left", ypos="head") - lun "Alright then..." ("grin", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "Alright then..." ("grin", "base", "base", "mid") #################### ## Nightie Outfit ## #################### elif item == lun_outfit_nightie2: #Req 7 (no bra, no panties) - gen "Put on this nightie for me [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Put on this nightie for me [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "And skip the underwear." ("base", xpos="far_left", ypos="head") - lun "No underwear [lun_genie_name]?" ("soft", "base", "worried", "mid") + lun "No underwear [name_genie_luna]?" ("soft", "base", "worried", "mid") gen "Yes, this way I'll be able to see if the spurts get in there." ("base", xpos="far_left", ypos="head") - lun "But how are you supposed to see them without the glasses [luna_name]?" ("soft", "base", "base", "mid") + lun "But how are you supposed to see them without the glasses [name_luna_genie]?" ("soft", "base", "base", "mid") gen "I'm sure I'd be able to tell if they did, even without the glasses." ("base", xpos="far_left", ypos="head") - lun "Alright then..." ("base", "narrow", "base", "mid", cheeks="blush") + lun @ cheeks blush "Alright then..." ("base", "narrow", "base", "mid") ###################### ## Lace Lingerie set## @@ -379,10 +376,10 @@ label lun_reaction_equip_outfit(item): elif item == lun_outfit_lace1: #Req 7 (bra, panties) gen "Put on this lace lingerie for me will you?" ("base", xpos="far_left", ypos="head") lun "These are pretty..." ("soft", "base", "base", "down") - lun "But don't you think the Nargles would try to hide in them?" ("angry", "base", "base", "mid") + lun "But don't you think the nargles would try to hide in them?" ("angry", "base", "base", "mid") gen "*Err*... Don't you mean the spurts?" ("base", xpos="far_left", ypos="head") - lun "No [lun_genie_name]...{w=0.4} Nargles loves anything with roses on them..." ("soft", "narrow", "base", "mid") - lun "Although now that you mention it, Nargles and Wrackspurts don't like each other so perhaps it's a good time to test that theory." ("grin", "base", "base", "mid") + lun "No [name_genie_luna]...{w=0.4} nargles loves anything with roses on them..." ("soft", "narrow", "base", "mid") + lun "Although now that you mention it, nargles and wrackspurts don't like each other so perhaps it's a good time to test that theory." ("grin", "base", "base", "mid") ######################## ## Rave Bikini Outfit ## @@ -400,14 +397,14 @@ label lun_reaction_equip_outfit(item): ############## elif item == lun_outfit_swimsuit: #Req 7 (no bra, no panties) gen "Put on this swimsuit for me will you?" ("base", xpos="far_left", ypos="head") - lun "But what about the one eyed trouser snake?" ("angry", "narrow", "base", "mid") + lun "But what about the one-eyed trouser snake?" ("angry", "narrow", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - lun "It said in the quibbler that putting on a swimsuit could attract the one eyed trouser snake." ("clench", "base", "base", "mid") - gen "The... Oh I see..." ("base", xpos="far_left", ypos="head") + lun "It said in the quibbler that putting on a swimsuit could attract the one-eyed trouser snake." ("clench", "base", "base", "mid") + gen "The... Oh, I see..." ("base", xpos="far_left", ypos="head") gen "(Smut writers and their terrible euphemisms...)" ("base", xpos="far_left", ypos="head") - gen "*Err*... Did the magazine not mention that the... *Ahem*... Snake is valuable?" ("base", xpos="far_left", ypos="head") + gen "*Err*... Didn't the magazine mention that the... *Ahem*... Snake is valuable?" ("base", xpos="far_left", ypos="head") lun "It is?" ("angry", "base", "base", "stare") - gen "Of course, the spit of the one eyed trouser snake is heavily sought after." ("base", xpos="far_left", ypos="head") + gen "Of course, the spit of the one-eyed trouser snake is heavily sought after." ("base", xpos="far_left", ypos="head") lun "Really?" ("mad", "base", "base", "mid") gen "Certainly... In fact, some people can't get enough of it." ("base", xpos="far_left", ypos="head") lun "Oh, I didn't know that!" ("grin", "narrow", "base", "stare") @@ -420,8 +417,8 @@ label lun_reaction_equip_outfit(item): ############ elif item == lun_outfit_muggle: #No req gen "Put on this maggle outfit for me..." ("base", xpos="far_left", ypos="head") - lun "Muggle outfit, [lun_genie_name]?" ("soft", "base", "raised", "mid") - gen "Yes that's it!" ("base", xpos="far_left", ypos="head") + lun "Muggle outfit, [name_genie_luna]?" ("soft", "base", "raised", "mid") + gen "Yes, that's it!" ("base", xpos="far_left", ypos="head") lun "I like the skirt!" ("smile", "base", "base", "down") gen "Is that sarcasm?" ("base", xpos="far_left", ypos="head") lun "No?" ("soft", "base", "base", "mid") @@ -439,7 +436,7 @@ label lun_reaction_equip_outfit(item): gen "No... Attend people during flight." ("base", xpos="far_left", ypos="head") lun "Sounds dangerous..." ("clench", "base", "base", "down") gen "(Explaining this to her will probably take all day...)" ("base", xpos="far_left", ypos="head") - gen "Just forget what it's for, it's not important for your education..." ("base", xpos="far_left", ypos="head") + gen "Just forget what it's for, it's not essential for your education..." ("base", xpos="far_left", ypos="head") lun "Oh... Alright then." ("angry", "base", "base", "mid") lun "..." ("base", "base", "base", "R") gen "I still want you to put it on though..." ("base", xpos="far_left", ypos="head") @@ -466,7 +463,7 @@ label lun_reaction_equip_outfit(item): ############ elif item == lun_outfit_casual: #Req 0 gen "Could you put on something more casual?" ("base", xpos="far_left", ypos="head") - lun "Casual, [lun_genie_name]?" ("soft", "base", "raised", "mid") + lun "Casual, [name_genie_luna]?" ("soft", "base", "raised", "mid") gen "Yeah, something that doesn't show too much skin." ("base", xpos="far_left", ypos="head") gen "(What the hell is wrong with me?)" ("base", xpos="far_left", ypos="head") lun "Oh, of course, I could put on my Casual clothing." ("grin", "base", "base", "mid") @@ -479,7 +476,7 @@ label lun_reaction_equip_outfit(item): elif item == lun_outfit_party: #Req 7 (No Bra) gen "This dress seems odd enough to suit you." ("base", xpos="far_left", ypos="head") gen "Why don't you put it on?" ("base", xpos="far_left", ypos="head") - lun "Odd [lun_genie_name]?" ("angry", "narrow", "base", "mid") + lun "Odd [name_genie_luna]?" ("angry", "narrow", "base", "mid") gen "In a good way..." ("base", xpos="far_left", ypos="head") lun "I love it!" ("grin", "base", "base", "down") lun "I've got the same one at home!" ("smile", "happyCl", "base", "mid") @@ -502,7 +499,7 @@ label lun_reaction_equip_outfit(item): gen "(Guess she's one of those marvel fans...)" ("base", xpos="far_left", ypos="head") menu: "\"(Put it on and call me puddin'!)\"": - $ lun_genie_name = "Puddin'" + $ name_genie_luna = "Puddin'" lun "Puddin'?" ("soft", "base", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") lun "Alright then..." ("base", "base", "base", "mid") @@ -519,12 +516,139 @@ label lun_reaction_equip_outfit(item): gen "Gotta maintain some order around here." ("base", xpos="far_left", ypos="head") lun "Oh... Are police some kind of muggle law enforcer?" ("open", "base", "base", "stare") gen "Yes they--" ("base", xpos="far_left", ypos="head") - gen "Surely the governmental forces of the world is prevalent enough for you to know what the police are?" ("base", xpos="far_left", ypos="head") + gen "Surely the governmental forces of the world are prevalent enough for you to know what the police are?" ("base", xpos="far_left", ypos="head") lun "Like, the ministry of magic?" ("upset", "base", "base", "mid") gen "(This is just plain ignorance at this point...)" ("base", xpos="far_left", ypos="head") - gen "Just put it on will you?" ("base", xpos="far_left", ypos="head") + gen "Just put it on, will you?" ("base", xpos="far_left", ypos="head") lun "Alright." ("base", "base", "base", "mid") + ################### + ## Bunny Costume ## + ################### + elif item == lun_outfit_bunny: #Req 7 (No underwear) + gen "Put on this bunny costume for me, will you?" ("base", xpos="far_left", ypos="head") + lun "A bunny!" ("smile", "base", "base", "stare") + lun "I love bunnies!" ("smile", "happyCl", "base", "mid") + gen "Great!" ("grin", xpos="far_left", ypos="head") + lun "They're so cute--" ("grin", "happyCl", "base", "mid") + gen "So you'll--" ("base", xpos="far_left", ypos="head") + lun "So fluffy--" ("grin", "happyCl", "base", "mid") + gen "I'm glad you--" ("base", xpos="far_left", ypos="head") + lun "And I love when they hug your leg!" ("smile", "base", "base", "mid") + gen "...{w=0.2} I don't think--" ("base", xpos="far_left", ypos="head") + lun "Even my patronus is shaped like a hare!" ("smile", "narrow", "base", "mid") + gen "Just put on the costume, will you?" ("base", xpos="far_left", ypos="head") + lun "Okay!" ("grin", "base", "base", "mid") + + ###################### + ## Reindeer Costume ## + ###################### + elif item ==lun_outfit_reindeer: #Req 7 (No underwear) + gen "Put on this reindeer costume for me, will you?" ("base", xpos="far_left", ypos="head") + lun "A Christmas reindeer costume!" ("grin", "base", "base", "mid") + gen "That's right!" ("base", xpos="far_left", ypos="head") + lun "Hold on!" ("angry", "base", "base", "mid") + lun "There's a hole with a mistletoe above it!" ("clench", "base", "base", "mid") + gen "So?" ("base", xpos="far_left", ypos="head") + lun "That's where the nargles like to hide!" ("angry", "base", "worried", "mid") + lun "I can't wear this!" ("angry", "happyCl", "worried", "mid") + gen "Bloody--" ("base", xpos="far_left", ypos="head") + lun "Unless..." ("mad", "base", "base", "stare") + gen "Unless?" ("base", xpos="far_left", ypos="head") + lun "Are you implying that the hole will draw in the wrackspurts, just so the nargles could ambush them?" ("angry", "base", "base", "mid") + gen "*Err*... Sure!" ("base", xpos="far_left", ypos="head") + lun "That's brilliant!" ("smile", "base", "base", "mid") + lun "Let me put it on." ("grin", "base", "base", "mid") + + ##################### + ## Tank top Outfit ## + ##################### + elif item == lun_outfit_tanktop: #Req 7 (No Bra) + gen "I've got a summer themed outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Oh! Let me see!" ("smile", "base", "base", "mid") + gen "Here you are..." ("base", xpos="far_left", ypos="head") + lun "Neat!" ("grin", "base", "base", "mid") + gen "So, you'll put it on?" ("base", xpos="far_left", ypos="head") + lun "Of course, [name_genie_luna]!" ("base", "base", "base", "mid") + + ################## + ## Bimbo Outfit ## + ################## + elif item == lun_outfit_bimbo: #Req 10 (top) + gen "I've got this cute outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Oh... Thank you [name_genie_luna], I love it!" ("smile", "base", "base", "mid") + gen "You haven't even seen it yet." ("base", xpos="far_left", ypos="head") + lun "Oh... Right!" ("smile", "happyCl", "base", "mid") + gen "It's this one right here." ("base", xpos="far_left", ypos="head") + lun "I love it!" ("grin", "narrow", "base", "down") + gen "Do you really?" ("base", xpos="far_left", ypos="head") + lun "Of course! You've made this top yourself, right?" ("grin", "wink", "base", "mid") + gen "*Err*... What makes you think that?" ("base", xpos="far_left", ypos="head") + lun "Well, you've clearly cut some holes in it, I'm sure it doesn't come like that." ("base", "base", "base", "down") + lun "I appreciate the effort very much!" ("smile", "base", "base", "mid") + gen "(If it were anyone else, I would think it was sarcasm...)" ("base", xpos="far_left", ypos="head") + lun "Let me put it on." ("base", "base", "base", "mid") + + #################### + ## Cumslut Outfit ## + #################### + elif item == lun_outfit_cumslut: #Req 10 (Top, panties) + gen "I've got this cool outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Cool?" ("soft", "base", "raised", "mid") + gen "That's right... It's this one right here..." ("base", xpos="far_left", ypos="head") + lun "Oh..." ("open", "narrow", "base", "down") + gen "You don't like it?" ("base", xpos="far_left", ypos="head") + lun "No, of course I like it, sir... I was just a bit confused." ("base", "base", "base", "mid") + gen "Why's that?" ("base", xpos="far_left", ypos="head") + lun "You said it was cool, but it looks hot to me." ("soft", "base", "base", "mid") + gen "Isn't that the same thing?" ("base", xpos="far_left", ypos="head") + lun "*Huh*?" ("open", "base", "raised", "mid") + gen "Just put it on, will you?" ("base", xpos="far_left", ypos="head") + lun "Oh-- Okay then!" ("smile", "base", "base", "mid") + + ################## + ## Latex Outfit ## + ################## + elif item == lun_outfit_latex: #Req 10 (Top) + gen "I've got this latex outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "But, [name_genie_luna]! Won't that trap the wrackpurts?" ("angry", "base", "base", "mid") + gen "I've thought of that already. There are holes in certain areas, you see." ("base", xpos="far_left", ypos="head") + lun "Ooooh... That's brilliant!" ("smile", "base", "base", "mid") + lun "The tightness of the latex will make the wrackspurts move to the open areas!" ("grin", "closed", "base", "mid") + gen "They will?" ("base", xpos="far_left", ypos="head") + gen "I mean, yes! That's the plan!" ("base", xpos="far_left", ypos="head") + lun "I'll put it on right away!" ("base", "base", "base", "mid") + + show screen blkfade + with d5 + pause .8 + + lun "*Hmm*... It doesn't stretch that much, does it?" + lun "*Ngh*!!" + play sound "sounds/creaking02.ogg" + pause 1 + lun "Alright, there's one leg..." + play sound "sounds/creaking02.ogg" + pause 1 + lun "And the other..." + play sound "sounds/creaking01.ogg" + pause 2 + play sound "sounds/slap_04.ogg" + lun "Ouchie!" + + #################### + ## Flasher Outfit ## + #################### + elif item == lun_outfit_flasher: #Req 10 (Top) + gen "I've got this neat outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Oh?" ("open", "base", "base", "mid") + gen "This one, right here." ("base", xpos="far_left", ypos="head") + lun "Looks very intricate." ("soft", "narrow", "base", "down") + gen "That's certainly one way to describe it." ("base", xpos="far_left", ypos="head") + gen "But it's not that complicated, just put your legs through here." ("base", xpos="far_left", ypos="head") + lun "Oh! That makes sense..." ("grin", "narrow", "base", "down") + lun "Alright, give me a moment to put it on..." ("base", "base", "base", "mid") + # TODO: Blacklist fallbacks have to be added. return @@ -537,20 +661,20 @@ label lun_reaction_equip_outfit_fail(item): if item == lun_outfit_school_slut: #Req 7 (no bra) gen "Put on your school uniform for me will you?" ("base", xpos="far_left", ypos="head") gen "This one with the tied top and short skirt." ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]!" ("angry", "wide", "base", "mid") + lun "But [name_genie_luna]!" ("angry", "wide", "base", "mid") lun "This doesn't have a bra!" ("angry", "wide", "base", "mid") gen "So?" ("base", xpos="far_left", ypos="head") lun "Surely I shouldn't be standing here without a bra on?" ("mad", "narrow", "base", "mid") - if lun_whoring < 4: - gen "(Maybe I've gone to far...)" ("base", xpos="far_left", ypos="head") + if states.lun.level < 4: + gen "(Maybe I've gone too far...)" ("base", xpos="far_left", ypos="head") lun "The wrackpurts would most certainly get to me!" ("angry", "closed", "base", "mid") gen "Right..." ("base", xpos="far_left", ypos="head") gen "(Maybe I could convince her once we've found a way to deal with them...)" ("base", xpos="far_left", ypos="head") else: gen "Why not?" ("base", xpos="far_left", ypos="head") - lun "If I stood here for too long without a bra I don't doubt they'd get to me!" ("angry", "closed", "worried", "mid") + lun "If I stood here for too long without a bra, then I don't doubt they'd get to me!" ("angry", "closed", "worried", "mid") gen "Who?" ("base", xpos="far_left", ypos="head") - lun "The Wrackspurts!" ("angry", "wink", "base", "mid") + lun "The wrackspurts!" ("angry", "wink", "base", "mid") gen "Oh..." ("base", xpos="far_left", ypos="head") gen "(Maybe I could convince her once she's more confident about dealing with the spurts...)" ("base", xpos="far_left", ypos="head") @@ -558,42 +682,42 @@ label lun_reaction_equip_outfit_fail(item): ## Loose-fitting Nightie Outfit ## ################################## elif item == lun_outfit_nightie1: #Req 7 (no bra, no panties) - gen "Put on this nightie for me [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Put on this nightie for me [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "And skip the underwear." ("base", xpos="far_left", ypos="head") - if lun_whoring < 4: - lun "But [lun_genie_name]!" ("angry", "wide", "base", "mid") - lun "The wrackpurts would be able to get in there if I'm not to wear any underwear." ("clench", "wink", "base", "mid") + if states.lun.level < 4: + lun "But [name_genie_luna]!" ("angry", "wide", "base", "mid") + lun "The wrackpurts would be able to get in there if I were to not wear any underwear." ("clench", "wink", "base", "mid") gen "I'm sure we'll be able to deal with that if it comes down to it..." ("base", xpos="far_left", ypos="head") lun "*Hmm*... I'm not so sure about that..." ("disgust", "base", "base", "mid") else: lun "Is this part of the inspection?" ("soft", "narrow", "base", "mid") - gen "Yes... Well you see, the spurts... *Err*..." ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]... I'd rather not make myself a target of those things, standing here without underwear would surely bring them all to attention." ("angry", "wink", "base", "mid") - gen "It'd bring something to attention that's for sure." ("base", xpos="far_left", ypos="head") + gen "Yes... Well, you see, the spurts... *Err*..." ("base", xpos="far_left", ypos="head") + lun "[name_genie_luna]... I'd rather not make myself a target of those things, standing here without underwear would surely bring them all to attention." ("angry", "wink", "base", "mid") + gen "It'd bring something to attention, that's for sure." ("base", xpos="far_left", ypos="head") lun "Alright, then I better not." ("angry", "narrow", "base", "mid") gen "Wait, I was only--" ("base", xpos="far_left", ypos="head") - gen "(Damnit...)" ("base", xpos="far_left", ypos="head") + gen "(Dammit...)" ("base", xpos="far_left", ypos="head") #################### ## Nightie Outfit ## #################### elif item == lun_outfit_nightie2: #Req 7 (no bra, no panties) - gen "Put on this nightie for me [luna_name]." ("base", xpos="far_left", ypos="head") + gen "Put on this nightie for me [name_luna_genie]." ("base", xpos="far_left", ypos="head") gen "And skip the underwear." ("base", xpos="far_left", ypos="head") - if lun_whoring < 4: - lun "But [lun_genie_name]!" ("angry", "wide", "base", "mid") - lun "What about the Wrackspurts?" ("clench", "wink", "base", "mid") + if states.lun.level < 4: + lun "But [name_genie_luna]!" ("angry", "wide", "base", "mid") + lun "What about the wrackspurts?" ("clench", "wink", "base", "mid") gen "What do you mean, what about the spurts?" ("base", xpos="far_left", ypos="head") lun "They'll be able to get in there if I'm not wearing any underwear!" ("clench", "base", "base", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") - gen "(Don't she mean getting out?)" ("base", xpos="far_left", ypos="head") + gen "(Doesn't she mean, get out?)" ("base", xpos="far_left", ypos="head") lun "I think it's probably best if I keep myself protected..." ("disgust", "base", "base", "mid") else: lun "Is this part of the inspection?" ("soft", "narrow", "base", "mid") - gen "Yes... Well you see, the spurts... *Err*..." ("base", xpos="far_left", ypos="head") - lun "[lun_genie_name]... Don't you think they'd easily be able to fly in there if I'm not wearing any underwear?" ("angry", "wink", "base", "mid") - gen "I don't see how that's a problem, it feels nice does it not?" ("base", xpos="far_left", ypos="head") - lun "*Ehm*... Does that matter?" ("soft", "narrow", "base", "mid", cheeks="blush") + gen "Yes... Well, you see, the spurts... *Err*..." ("base", xpos="far_left", ypos="head") + lun "[name_genie_luna]... Don't you think they'd easily be able to fly in there if I'm not wearing any underwear?" ("angry", "wink", "base", "mid") + gen "I don't see how that's a problem, it feels nice, does it not?" ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "*Ehm*... Does that matter?" ("soft", "narrow", "base", "mid") gen "(Is there even a right answer here?)" ("base", xpos="far_left", ypos="head") menu: "\"No.\"": @@ -601,14 +725,14 @@ label lun_reaction_equip_outfit_fail(item): gen "Right... Wait, what was the question?" ("base", xpos="far_left", ypos="head") lun "..." ("soft", "base", "base", "mid") "\"Yes.\"": - lun "Are you alright [lun_genie_name]?" ("angry", "narrow", "base", "mid") + lun "Are you alright [name_genie_luna]?" ("angry", "narrow", "base", "mid") gen "Never been better, why?" ("base", xpos="far_left", ypos="head") - lun "*Hmm*... Are you sure the wrackspurts haven't affected your brain perhaps?" ("annoyed", "narrow", "base", "mid") + lun "*Hmm*... Are you sure the wrackspurts haven't affected your brain?" ("annoyed", "narrow", "base", "mid") gen "Doubt it... Although people do tell me I think with my penis sometimes." ("base", xpos="far_left", ypos="head") lun "Surely it's not a good idea to give them an open landing strip." ("soft", "narrow", "base", "mid") gen "We'll just deal with it if it happens." ("base", xpos="far_left", ypos="head") lun "*Hmm*... I'm not so sure about that." ("annoyed", "narrow", "base", "R") - gen "Well, that's your loss [luna_name]..." ("base", xpos="far_left", ypos="head") + gen "Well, that's your loss [name_luna_genie]..." ("base", xpos="far_left", ypos="head") gen "(Damn... Maybe I'll be able to convince her once she's more confident about dealing with them.)" ("base", xpos="far_left", ypos="head") ###################### @@ -616,10 +740,10 @@ label lun_reaction_equip_outfit_fail(item): ###################### elif item == lun_outfit_lace1: #Req 7 (bra, panties) gen "Put on this lace lingerie for me will you?" ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]!" ("mad", "base", "base", "down") + lun "But [name_genie_luna]!" ("mad", "base", "base", "down") lun "These got roses on them!" ("angry", "narrow", "base", "down") gen "So?" ("base", xpos="far_left", ypos="head") - lun "The Nargles would surely try and hide in them if I put this on!" ("clench", "happyCl", "base", "mid") + lun "The nargles would surely try and hide in them if I put this on!" ("clench", "happyCl", "base", "mid") gen "(How many of these made up things does she believe in?)" ("base", xpos="far_left", ypos="head") ######################## @@ -627,12 +751,12 @@ label lun_reaction_equip_outfit_fail(item): ######################## elif item == lun_outfit_bikini3: #Req 7 (bra, panties) gen "Put on this bikini for me will you?" ("base", xpos="far_left", ypos="head") - lun "I'm sorry [lun_genie_name] but I can't wear this right now." ("upset", "narrow", "base", "down") + lun "I'm sorry [name_genie_luna] but I can't wear this right now." ("upset", "narrow", "base", "down") gen "Why not?" ("base", xpos="far_left", ypos="head") - lun "Oh... *Ehm*..." ("soft", "narrow", "base", "down", cheeks="blush") - lun "I'd rather we continue with our research..." ("angry", "closed", "base", "mid", cheeks="blush") - call nar(">You watch as Luna grinds her legs together.") - gen "I see... Some other time then perhaps." ("base", xpos="far_left", ypos="head") + lun @ cheeks blush "Oh... *Ehm*..." ("soft", "narrow", "base", "down") + lun @ cheeks blush "I'd rather we continue with our research..." ("angry", "closed", "base", "mid") + nar "You watch as Luna grinds her legs together." + gen "I see... Some other time then, perhaps." ("base", xpos="far_left", ypos="head") ############## ## Swimsuit ## @@ -647,10 +771,10 @@ label lun_reaction_equip_outfit_fail(item): gen "Hello?" ("base", xpos="far_left", ypos="head") lun "..." ("soft", "wide", "base", "stare") gen "(I think I just blew her mind...)" ("base", xpos="far_left", ypos="head") - gen "[luna_name]?" ("base", xpos="far_left", ypos="head") + gen "[name_luna_genie]?" ("base", xpos="far_left", ypos="head") lun "..." ("soft", "wide", "base", "stare") - gen "[luna_name]!" ("base", xpos="far_left", ypos="head") - lun "Oh, sorry [lun_genie_name] what did you say?" ("angry", "wide", "base", "mid") + gen "[name_luna_genie]!" ("base", xpos="far_left", ypos="head") + lun "Oh, sorry [name_genie_luna] what did you say?" ("angry", "wide", "base", "mid") gen "Nevermind... Forget it." ("base", xpos="far_left", ypos="head") ###################### @@ -658,12 +782,12 @@ label lun_reaction_equip_outfit_fail(item): ###################### elif item == lun_outfit_flight_attendant: #Req 7 (No Bra) gen "Put on this flight attendant outfit for me will you?" ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name], I'd have to take off my bra for this!" ("mad", "wide", "base", "mid") + lun "But [name_genie_luna], I'd have to take off my bra for this!" ("mad", "wide", "base", "mid") gen "So?" ("base", xpos="far_left", ypos="head") lun "Haven't you heard of the nipple biting mouth suckers?!" ("clench", "base", "base", "mid") - gen "Oh, yeah of course!" ("base", xpos="far_left", ypos="head") + gen "Oh, yes, of course I have!" ("base", xpos="far_left", ypos="head") gen "Although perhaps you could remind me..." ("base", xpos="far_left", ypos="head") - lun "The plant... Professor Sprout told us to watch out for them as they're quite rowdy this time of year." ("angry", "wink", "base", "mid") + lun "The plant... Professor Sprout told us to watch out for them, as they're quite rowdy this time of year." ("angry", "wink", "base", "mid") gen "Rowdy you say?" ("base", xpos="far_left", ypos="head") lun "Yes, she's showed me a great many times how dangerous they can be around nipples." ("angry", "closed", "base", "mid") gen "I see..." ("base", xpos="far_left", ypos="head") @@ -680,12 +804,87 @@ label lun_reaction_equip_outfit_fail(item): lun "Well... It's a bit embarrassing actually..." ("angry", "narrow", "base", "R") lun "My latch got stuck on it..." ("disgust", "base", "base", "downL") gen "Your... latch?" ("base", xpos="far_left", ypos="head") - lun "Yes [lun_genie_name]..." ("angry", "base", "worried", "mid") + lun "Yes, [name_genie_luna]..." ("angry", "base", "worried", "mid") gen "Sounds more like artificial content gating to me..." ("base", xpos="far_left", ypos="head") lun "Sorry?" ("angry", "base", "raised", "mid") - gen "Don't worry... They know what I meant..." ("base", xpos="far_left", ypos="head") + gen "Don't worry... They'll know what I meant..." ("base", xpos="far_left", ypos="head") lun "*Hmm*..." ("normal", "base", "base", "R") + ##################### + ## Tank top Outfit ## + ##################### + elif item == lun_outfit_tanktop: #Req 7 (No Bra) + gen "I've got a summer themed outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Oh! Let me see!" ("base", "base", "base", "mid") + gen "Here you are..." ("base", xpos="far_left", ypos="head") + lun "Neat!" ("grin", "base", "base", "mid") + gen "Since it's pretty hot you should probably wear it without your bra on." ("base", xpos="far_left", ypos="head") + lun "Take off my bra?" ("soft", "base", "base", "mid") + lun "Well that might be a problem..." ("upset", "base", "base", "down") + gen "Why's that?" ("base", xpos="far_left", ypos="head") + lun "Well... It's a bit embarrassing actually..." ("angry", "narrow", "base", "R") + lun "My latch got stuck on it..." ("disgust", "base", "base", "downL") + gen "Your... latch?" ("base", xpos="far_left", ypos="head") + lun "Yes, [name_genie_luna]..." ("angry", "base", "worried", "mid") + gen "Sounds more like artificial content gating to me..." ("base", xpos="far_left", ypos="head") + lun "Sorry?" ("angry", "base", "raised", "mid") + gen "Don't worry... They'll know what I meant..." ("base", xpos="far_left", ypos="head") + lun "*Hmm*..." ("normal", "base", "base", "R") + + ################## + ## Bimbo Outfit ## + ################## + elif item == lun_outfit_bimbo: #Req 10 (top) + gen "I've got this cute outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Acute?" ("open", "base", "raised", "mid") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + lun "How is it acute?" ("soft", "base", "raised", "mid") + gen "Not acute... It's a cute-looking outfit." ("base", xpos="far_left", ypos="head") + lun "Oh, right!" ("grin", "happyCl", "base", "mid") + gen "It's this one, right here..." ("base", xpos="far_left", ypos="head") + lun "But, sir! There are holes in it!" ("angry", "narrow", "base", "down") + gen "Yes, that's intent--" ("base", xpos="far_left", ypos="head") + lun "You better go ask for a refund!" ("clench", "base", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + + #################### + ## Cumslut Outfit ## + #################### + elif item == lun_outfit_cumslut: #Req 10 (Top, panties) + gen "I've got this cool outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Cool?" ("soft", "base", "raised", "mid") + gen "That's right... It's this one, right here..." ("base", xpos="far_left", ypos="head") + lun "But, [name_genie_luna]... This outfit has flames on it." ("angry", "narrow", "base", "down") + gen "So?" ("base", xpos="far_left", ypos="head") + lun "I thought you said it was cool?" ("soft", "base", "raised", "mid") + gen "What do you--" ("base", xpos="far_left", ypos="head") + lun "Or, do you mean it's cool because it's airy?" ("open", "base", "raised", "mid") + lun "There appears to be some holes in it." ("open", "base", "base", "down") + gen "(This is giving me a headache...)" ("base", xpos="far_left", ypos="head") + + ################## + ## Latex Outfit ## + ################## + elif item == lun_outfit_latex: #Req 10 (Top) + gen "I've got this latex outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "Latex?" ("soft", "base", "raised", "mid") + gen "That's right... It's this one right here." ("base", xpos="far_left", ypos="head") + lun "But... There are holes in it... What about the wrackspurts?" ("angry", "base", "low", "mid") + gen "*Err*..." ("base", xpos="far_left", ypos="head") + lun "*Phew*... Disaster, successfully avoided." ("base", "closed", "base", "mid") + + #################### + ## Flasher Outfit ## + #################### + elif item == lun_outfit_flasher: #Req 10 (Top) + gen "I've got this neat outfit for you to wear." ("base", xpos="far_left", ypos="head") + lun "An outfit?" ("open", "base", "base", "mid") + gen "That's right... This one right here." ("base", xpos="far_left", ypos="head") + lun "Oh... That's... Very interesting..." ("soft", "narrow", "base", "down") + gen "Go on... Put it on, will you?" ("base", xpos="far_left", ypos="head") + lun "(How do you even wear this thing?)" ("disgust", "narrow", "base", "down") + lun "*Ehm*... Maybe some other time..." ("annoyed", "base", "base", "mid") + ################# ## Party Dress ## ################# @@ -693,7 +892,7 @@ label lun_reaction_equip_outfit_fail(item): gen "I've got the perfect dress for you to wear!" ("base", xpos="far_left", ypos="head") lun "Really? Exciting!" ("grin", "base", "base", "mid") gen "Yes, I can't wait to see what your nipples will look like in this!" ("base", xpos="far_left", ypos="head") - lun "My... Nipples [lun_genie_name]?" ("soft", "wink", "base", "mid") + lun "My... Nipples [name_genie_luna]?" ("soft", "wink", "base", "mid") gen "Yes, you'd have to take your bra off for this one... It's the only way." ("base", xpos="far_left", ypos="head") lun "*Hmm*... I'm not sure that's the proper way of wearing a dress..." ("soft", "wink", "base", "mid") gen "What do you--" ("base", xpos="far_left", ypos="head") @@ -717,7 +916,7 @@ label lun_reaction_equip_outfit_fail(item): ## Police Officer Outfit ## ########################### elif item == lun_outfit_police: #Req 7 (No Bra) - gen "Put on the police cosplay uniform will you?" ("base", xpos="far_left", ypos="head") + gen "Put on the police cosplay uniform, will you?" ("base", xpos="far_left", ypos="head") lun "Police?" ("soft", "base", "raised", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") lun "I'm not sure what that is..." ("upset", "narrow", "raised", "mid") @@ -725,24 +924,65 @@ label lun_reaction_equip_outfit_fail(item): gen "I'm talking about this kind of uniform..." ("base", xpos="far_left", ypos="head") lun "Oh!!" ("open", "wide", "base", "mid") gen "(Now she's got it...)" ("base", xpos="far_left", ypos="head") - lun "But [lun_genie_name]... This outfit doesn't have a bra!" ("clench", "narrow", "base", "mid") + lun "But [name_genie_luna]... This outfit doesn't have a bra!" ("clench", "narrow", "base", "mid") gen "I'm sure the outfit is tight enough to keep them contained, don't you think?" ("base", xpos="far_left", ypos="head") lun "I'm more worried about what could find its way into it..." ("annoyed", "narrow", "base", "down") - gen "(And here I thought she wanted some hands on experience.)" ("base", xpos="far_left", ypos="head") + gen "(And here I thought she wanted some hands-on experience.)" ("base", xpos="far_left", ypos="head") lun "(Can't let those wrackspurts get to me...)" ("disgust", "narrow", "base", "R") + ################### + ## Bunny Costume ## + ################### + elif item == lun_outfit_bunny: #Req 7 (No Underwear) + gen "I've got this bunny costume for you to wear." ("base", xpos="far_left", ypos="head") + lun "Oooooh! I love bunnies!" ("grin", "base", "base", "mid") + gen "Great, here you go!" ("grin", xpos="far_left", ypos="head") + lun "Hold on... Is this everything?" ("angry", "base", "base", "mid") + gen "*Err*... Yes?" ("base", xpos="far_left", ypos="head") + lun "But, there are no paws!" ("clench", "base", "base", "mid") + gen "Paws?" ("base", xpos="far_left", ypos="head") + lun "Yes! And no whiskers either!" ("angry", "base", "base", "mid") + gen "No--{w=0.2} It's not that kind of costume!" ("base", xpos="far_left", ypos="head") + lun "Oh..." ("upset", "narrow", "worried", "down") + gen "So, will you--" ("base", xpos="far_left", ypos="head") + lun "*Sigh*..." ("upset", "narrow", "worried", "down") #Sad + gen "(I'll just ask again some other time...)" ("base", xpos="far_left", ypos="head") + + ###################### + ## Reindeer Costume ## + ###################### + elif item == lun_outfit_reindeer: #Req 7 (No Underwear) + gen "I've got this reindeer costume for you to wear." ("base", xpos="far_left", ypos="head") + lun "Oh! Like a Christmas reindeer!" ("grin", "base", "raised", "mid") + gen "Well, I don't think the existence of the animal relies on the holiday--" ("base", xpos="far_left", ypos="head") + lun "..." ("grin", "base", "base", "mid") + gen "Yes, like a Christmas reindeer..." ("base", xpos="far_left", ypos="head") + lun "Yay!" ("smile", "happyCl", "base", "mid") + lun "Let me see the costume!" ("smile", "base", "base", "mid") + gen "Here you go!" ("base", xpos="far_left", ypos="head") + lun "Ooh! This is so--" ("grin", "narrow", "base", "down") + lun "Hold on! There's a hole in it!" ("clench", "narrow", "base", "down") + gen "Yes, but it's meant to be--" ("base", xpos="far_left", ypos="head") + lun "I can't wear this." ("angry", "base", "base", "mid") + gen "What! Why not?" ("base", xpos="far_left", ypos="head") + lun "If your clothing's got a hole, you should make sure to return it for refund or replacement!" ("open", "closed", "base", "mid") + lun "That's what my dad always told me!" ("grin", "base", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + gen "(I am not going to attempt explaining this to her now...)" ("base", xpos="far_left", ypos="head") + gen "(Maybe she'll forget about it later...)" ("base", xpos="far_left", ypos="head") + else: lun "This outfit seems to have wrackspurts all over it!" ("mad", "base", "base", "down") gen "(I don't remember cumming on this piece of garment...)" ("base", xpos="far_left", ypos="head") gen "(!!!)" ("angry", xpos="far_left", ypos="head") gen "(Could it be--...)" ("angry", xpos="far_left", ypos="head") - lun "Are you okay [lun_genie_name]? You look pale." ("angry", "base", "raised", "mid") + lun "Are you okay [name_genie_luna]? You look pale." ("angry", "base", "raised", "mid") gen "Yes, I'm fine. I guess you can stay in your clothes... for now." ("base", xpos="far_left", ypos="head") return label lun_reaction_blacklist(item): - lun "Will that really help? With the wrackspurts I mean." ("soft", "narrow", "base", "mid") + lun "Will that really help? With the wrackspurts, I mean." ("soft", "narrow", "base", "mid") if "top" in item.blacklist and luna.is_worn("top"): lun "I would need to remove my top." ("open", "base", "base", "down") @@ -754,24 +994,24 @@ label lun_reaction_blacklist(item): lun "It seems no bra can fit in this garment." ("open", "base", "base", "down") if "panties" in item.blacklist and luna.is_worn("panties"): - lun "The Wrackspurts would have a feast as I would not be able to wear panties with this." ("upset", "narrow", "base", "down") + lun "The wrackspurts would have a feast as I would not be able to wear panties with this." ("upset", "narrow", "base", "down") gen "Trust me, I know what I'm doing." ("base", xpos="far_left", ypos="head") - lun "If you say so [lun_genie_name]." ("base", "base", "base", "mid") + lun "If you say so [name_genie_luna]." ("base", "base", "base", "mid") return label lun_reaction_fallback(item): - if lun_whoring < get_character_requirement("luna", "unequip top") and not "top" in luna.blacklist and not item.type == "top": + if states.lun.level < get_character_requirement("luna", "unequip top") and not "top" in luna.blacklist and not item.type == "top": $ luna.equip(lun_top_school1) - if lun_whoring < get_character_requirement("luna", "unequip bottom") and not "bottom" in luna.blacklist and not item.type == "bottom": + if states.lun.level < get_character_requirement("luna", "unequip bottom") and not "bottom" in luna.blacklist and not item.type == "bottom": $ luna.equip(lun_top_school2) - if lun_whoring < get_character_requirement("luna", "unequip bra") and not "bra" in luna.blacklist and not item.type == "bra": + if states.lun.level < get_character_requirement("luna", "unequip bra") and not "bra" in luna.blacklist and not item.type == "bra": $ luna.equip(lun_bra_base1) - if lun_whoring < get_character_requirement("luna", "unequip panties") and not "panties" in luna.blacklist and not item.type == "panties": + if states.lun.level < get_character_requirement("luna", "unequip panties") and not "panties" in luna.blacklist and not item.type == "panties": $ luna.equip(lun_panties_base1) lun "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/snape/chibi.rpy b/game/scripts/characters/snape/chibi.rpy index adaf9994..5a6a2f36 100644 --- a/game/scripts/characters/snape/chibi.rpy +++ b/game/scripts/characters/snape/chibi.rpy @@ -8,7 +8,7 @@ label sna_chibi(action=None, xpos=None, ypos=None, flip=False): hide snape_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ snape_chibi.hide() with d3 pause .5 @@ -28,7 +28,7 @@ label sna_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call sna_chibi(None, "door", "base", flip) with d3 if xpos or ypos: @@ -36,7 +36,7 @@ label sna_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ snape_chibi.show() $ snape_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ snape_chibi.hide() with d3 pause .5 diff --git a/game/scripts/characters/snape/chitchats.rpy b/game/scripts/characters/snape/chitchats.rpy index 3bd3e336..412ff523 100644 --- a/game/scripts/characters/snape/chitchats.rpy +++ b/game/scripts/characters/snape/chitchats.rpy @@ -4,477 +4,475 @@ label snape_chitchat: - if snape_chatted: + if states.sna.chatted: return - $ snape_chatted = True - - $ random_number = renpy.random.randint(1, 10) + $ states.sna.chatted = True # Prior to hermione introductions - if not hermione_unlocked: - if random_number <= 5: - sna "I am starting to get worried about Albus.." ("snape_06") - sna "I simply hope he's alright." ("snape_09") - else: - sna "Do you know how much longer will that spell of yours last?" ("snape_05") - sna "I have important matters to discuss with Albus very soon..." ("snape_09") + if not states.her.unlocked: + random: + block: + sna "I am starting to get worried about Albus..." ("snape_06") + sna "I simply hope he's alright." ("snape_09") + block: + sna "Do you know how much longer will that spell of yours last?" ("snape_05") + sna "I have important matters to discuss with Albus very soon..." ("snape_09") return - ### WHORING LEVEL 01 ### - if her_whoring >= 0 and her_whoring <= 2: - if random_number == 1: - sna "Do You really think you can do this?" ("snape_24") - sna "Do You think you can break the girl?" ("snape_25") - - elif random_number == 2: - if game.weather in ("rain", "blizzard"): - sna "Isn't the weather lovely today?" ("snape_02") - sna "I wish it would stay like that forever." ("snape_06") - else: - sna "Don't you just hate this wretched sunny weather?" ("snape_01") - sna "I wish it would rain every day." ("snape_06") - - elif random_number == 3: + if states.her.level >= 0 and states.her.level <= 2: + random: sna "I am feeling rather doubtful about our whole plan again..." ("snape_06") - elif random_number == 4: - sna "Are you sure that you are not Albus Dumbledore?" ("snape_05") - sna "I'm still having a hard time believing this whole thing sometimes..." - - elif random_number == 5: - sna "I killed a pupil once." ("snape_01") - sna "Yes... I strangled the maggot with my bare hands." ("snape_02") - sna "........*low growl*." ("snape_03") - sna "Did that sound believable?" ("snape_05") - sna "The moment those animals stop fearing me, I'm done for." ("snape_06") - sna "Cultivating fear in the hearts of your students is the most important task for every teacher." ("snape_26") - - elif random_number == 6: - sna "Those Weasley maggots..." ("snape_04") - sna "One of these days I'll just snap, I swear." ("snape_07") - - elif random_number == 7: - sna "Don't you think that owl post is a bit ridiculous?" ("snape_05") - sna "I'd much rather use ravens." - - elif random_number == 8: - sna "I'm having the worst day of my life..." ("snape_06") - sna "So I'm really Not in the mood for chit-chats..." - - elif random_number == 9: - sna "Being a wizard is a twenty-four hours a day..." ("snape_04") - sna "seven days a week..." ("snape_03") - sna "365 days a year job." ("snape_04") - sna "We get no vacation days..." - - elif random_number == 10: - sna "Quidditch..." ("snape_04") - sna "What a waste of time and resources!" ("snape_10") - sna "" ("snape_04") - - - ### WHORING LEVEL 02 ### - if her_whoring >= 3 and her_whoring <= 5: - if random_number == 1: - sna "I have yet to notice any changes in miss Granger's behaviour..." ("snape_24") - sna "Are you sure that you know what you're doing?" ("snape_05") - sna "" ("snape_09") - - elif random_number == 2: - sna "It sure feels good to be able to grant house points or take them away whenever I feel like it." ("snape_24") - sna "My authority among the students is growing every day..." - sna "And when I say \"authority\" I mean \"fear\"." ("snape_02") - - elif random_number == 3: - sna "Did you know that the full moon is known to boost male potency?" ("snape_24") - sna "It also makes it easier to focus at a task at hand, making you more proactive." - sna "But who gives a damn about that, am I right?" ("snape_28") - sna "" ("snape_29") - - elif random_number == 4: - sna "My precious Slytherins make all of this torment worth while..." ("snape_06") - sna "Their skirts are getting shorter every week, I swear." ("snape_19") - - elif random_number == 5: - sna "There was a time when I was young and full of hope..." ("snape_06") - sna "Ha-ha... I'm pulling your leg, mate." ("snape_28") - sna "I was never full of hope..." ("snape_29") - - elif random_number == 6: - sna "Someone broke into my personal storage..." ("snape_16") - sna "Only took some Gillyweed... lucky they didn't take any of my amorentia." ("snape_29") - sna "Not that I need or use such things." ("snape_09") - - elif random_number == 7: - sna "A \"Men's rights movement\"...?" ("snape_05") - sna "What's next? A house elves' rights movement?" ("snape_04") - sna "How could a top student be that dumb?" ("snape_06") - - elif random_number == 8: - sna "I don't play favourites with my students." ("snape_05") - sna "I merely tolerate some of them and hate the rest." ("snape_04") - - elif random_number == 9: - sna "There are four student houses at Hogwarts..." ("snape_24") - sna "Slytherin, Ravenclaw, Gryffindor, and..." - sna "... and Huff-something..." ("snape_05") - sna "No one really cares." ("snape_29") - sna "" ("snape_09") - - elif random_number == 10: - sna "Brooms are for kids and witches." ("snape_24") - sna "You'll never see a self-respecting wizard prancing around on a broomstick." ("snape_05") - sna "" ("snape_09") - - - ### WHORING LEVEL 03 ### - if her_whoring >= 6 and her_whoring <= 8: - if random_number == 1: - sna "Any progress on breaking our little ms. know-it-all?" ("snape_24") - sna "" ("snape_09") - - elif random_number == 2: - sna "The other day this one girl sold me her panties for five house points." ("snape_24") - sna "And man, was she excited about that..." ("snape_14") - sna "I think she would've given them away for free just to please me." ("snape_19") - sna "" ("snape_09") - - elif random_number == 3: - sna "I'm having a rather pleasant day so far..." ("snape_23") - sna "Bet you didn't expect to hear me saying that?" ("snape_02") - - elif random_number == 4: - sna "Quidditch seems to steadily gain more and more popularity over the years..." ("snape_24") - sna "How disappointing..." ("snape_04") - - elif random_number == 5: - sna "My life was incredibly dull before your arrival..." ("snape_24") - sna "Nowadays it's..." ("snape_05") - sna "... less dull." ("snape_02") - - elif random_number == 6: - sna "Regrets? I don't know the meaning of the word!" ("snape_05") - sna "I live a very fulfilling life." ("snape_06") - sna "Ha-ha-ha! I'm sorry, I just can't say such nonsense with a straight face." ("snape_28") - sna "" ("snape_26") - - elif random_number == 7: - sna "There is no room for mistakes during class." ("snape_24") - sna "One slip-up and the bloody bastards will tear you to shreds." ("snape_04") - - elif random_number == 8: - sna "You are the only person I have to answer to..." ("snape_04") - sna "So I can almost literally do whatever the bloody hell I want these days..." ("snape_05") - sna "..............." ("snape_09") - sna "So that's what freedom feels like, *huh*?" ("snape_06") - - elif random_number == 9: - sna "Autumn... the most depressing time of the year..." ("snape_06") - sna "I Love it!" ("snape_02") - sna "" ("snape_23") - - elif random_number == 10: - sna "I have a magical portrait of a stripper hanging in my room." ("snape_24") - sna "One of my most precious possessions." ("snape_22") - sna "" ("snape_09") - - - ### WHORING LEVEL 04 ### - if her_whoring >= 9 and her_whoring <= 11: - if random_number == 1: - sna "Lately miss Granger has gotten aggressive almost to the point of open hostility..." ("snape_24") - sna "I hope you know what you're doing..." ("snape_05") - sna "" ("snape_09") - - elif random_number == 2: - sna "I shouldn't feel bad about having sex with my students, right?" ("snape_26") - sna "I mean, you should see the way some of those girls wear their uniforms..." ("snape_05") - sna "They're practically asking for it." ("snape_13") - sna "" ("snape_12") - - elif random_number == 3: - sna "It's been raining a lot lately..." ("snape_23") - sna "I wonder if I enjoy rainy weather so much simply because it makes most people miserable..." ("snape_02") - sna "" ("snape_23") - - elif random_number == 4: - sna "According to a recent study nine out of ten girls secretly fantasise about being abused by their teacher." ("snape_24") - sna "I bet that tenth girl was Hermione Granger." ("snape_03") - sna "" ("snape_01") - - elif random_number == 5: - sna "These days I have to actually make an effort to maintain my usual bad mood." ("snape_24") - sna "" ("snape_23") - - elif random_number == 6: - sna "Do You have a few condoms to spare?" ("snape_24") - sna "I have a whole pack but..." ("snape_25") - sna "... they've expired years ago..." ("snape_06") - sna "The changes you brought into my life, mate." ("snape_02") - sna "" ("snape_23") - - elif random_number == 7: - sna "You think we could turn Hogwarts into a \"girls only\" school?" ("snape_24") - sna "Hogwarts Girls Academy!" ("snape_23") - sna "Now that would be bloody perfect... except for Lockhart maybe." ("snape_13") - - elif random_number == 8: - sna "Why did the teacher cross the road?" ("snape_24") - sna "To get away from his students!" ("snape_25") - sna "Ha-ha-ha! Gets me every time!" ("snape_28") - sna "" ("snape_25") - - elif random_number == 9: - sna "Want to hear a funny story?" ("snape_24") - sna "Well, I don't know any..." ("snape_06") - - elif random_number == 10: - sna "Do you know what a \"royal goblet\" is?" ("snape_05") - sna "You do, don't you?" ("snape_13") - sna "" ("snape_23") - - - ### WHORING LEVEL 05 ### - if her_whoring >= 12 and her_whoring <= 14: - if random_number == 1: - sna "Fifteen points for a blowjob is a fair price, right?" ("snape_24") - sna "" ("snape_23") - - elif random_number == 2: - sna "Have you ever been in love, mate?" ("snape_24") - sna "Have you ever been in love with a schoolgirl?" ("snape_02") - sna "What about half a dozen of them at once?" ("snape_22") - sna "" ("snape_20") - - elif random_number == 3: - sna "Something rather brilliant happened last night between me and this Slytherin minx." ("snape_20") - sna "Long story short, all of my muscles ache and I still feel rather dehydrated..." ("snape_22") - sna "" ("snape_13") - - elif random_number == 4: - sna "It's getting colder lately..." ("snape_24") - sna "Winter is coming..." ("snape_23") - - elif random_number == 5: - sna "Have you ever seen muggle women dressed as witches?" ("snape_24") - sna "So adorable." ("snape_19") - - elif random_number == 6: - sna "Do you know what an \"Internet\" is?" ("snape_24") - sna "Apparently it allows you to go \"on the line\" and see magical photographs of naked muggle women." ("snape_02") # SNAPE SAYS "ON THE LINE" ON PURPOSE. I KNOW THAT WAS REALLY OBVIOUS MAESTRO - sna "Kind of makes me wish we had one here in Hogwarts." ("snape_26") - sna "" ("snape_09") - - elif random_number == 7: - sna "I have two major passions in life..." ("snape_24") - sna "Dark arts..." - sna "......" ("snape_12") - sna "... and sluts." ("snape_13") - - elif random_number == 8: - sna "You think I ought to cut down on my drinking?" ("snape_24") - sna "But my life is so stressful..." ("snape_06") - sna "*Hmm*..." ("snape_09") - sna "I'll try and cut down on the liquor..." ("snape_06") - sna "In favour of sweaty monkey-sex with my students!" ("snape_21") - sna "" ("snape_19") - - elif random_number == 9: - sna "Miss Granger has been suspiciously quiet lately..." ("snape_24") - sna "I bet she is scheming something..." ("snape_03") - sna "" ("snape_01") - - elif random_number == 10: - sna "It's quite easy to write a book and kill off half of the main characters for the sake of dramatic impact..." ("snape_24") - sna "To put your characters against impossible odds and let them make it out alive in a believable manner..." - sna "Now {size=+7}that{/size} requires skill." ("snape_02") - sna "" ("snape_23") - - - ### WHORING LEVEL 06 ### - if her_whoring >= 15 and her_whoring <= 17: - if random_number == 1: - sna "What if the girl is not our pet, but we are hers?" ("snape_11") - sna "" ("snape_26") - - elif random_number == 2: - sna "Have you heard of the \"Slug club\"?" ("snape_24") - sna "What if I start a club of my own?" - sna "I would call it the \"Snape Club\"!" ("snape_23") - sna "I would invite girls over, offer them some tea and muffins..." - sna "Feel them up a little..." ("snape_13") - sna "Bloody brilliant!" ("snape_22") - sna "" ("snape_02") - - elif random_number == 3: - sna "Tell me Genie... Have you ever had your asshole licked clean by a witch?" ("snape_02") - sna "A life changing experience, neither less nor more..." ("snape_21") - sna "" ("snape_02") - - elif random_number == 4: - sna "So, how is the training going?" ("snape_24") - sna "All according to plan I hope?" - sna "" ("snape_05") - - elif random_number == 5: - sna "I can see the thestrals, you know..." ("snape_06") - sna "" ("snape_09") - - elif random_number == 6: - sna "You know what I like about Quidditch?" ("snape_24") - sna "Nothing! Not a single bloody thing!" ("snape_15") - sna "" ("snape_16") - - elif random_number == 7: - sna "Hogwarts benefited greatly from your arrival." ("snape_24") - sna "And when I say \"Hogwarts\" I mean \"me\"." ("snape_02") - sna "" ("snape_23") - - elif random_number == 8: - sna "Real wizards wear black." ("snape_24") - sna "Am I right?" ("snape_02") - sna "" ("snape_23") - - elif random_number == 9: - sna "Some of those Slytherin girls simply adore me these days..." ("snape_24") - sna "Personally I'd much rather be feared..." ("snape_05") - sna "But I am willing to settle for mindless adoration..." ("snape_23") - - elif random_number == 10: - sna "You are being way too generous with those Gryffindor points, mate." ("snape_24") - sna "Lately I can barely keep up with you..." ("snape_25") - sna "" ("snape_29") - - - ### WHORING LEVEL 07 ### - if her_whoring >= 18 and her_whoring <= 20: - if random_number == 1: - sna "Miss Granger really is changing. I can see it clearly now..." ("snape_24") - sna "Her grades went down and even her attendance is far from perfect now..." - sna "But despite that she continues to excel at being a pain in my arse!" ("snape_10") - sna "" ("snape_01") - - elif random_number == 2: - sna "My least favourite colour?" ("snape_05") - sna "Let me give you two: red and gold." ("snape_07") - sna "" ("snape_04") - - elif random_number == 3: - sna "I hear the vampire theme is quite popular among the girls lately." ("snape_24") - sna "I would make a great vampire, don't you think?" ("snape_05") - sna "Maybe I should buy a couple of those fake fangs..." - sna "Just to drive the horny, little sluts completely crazy." ("snape_21") - sna "" ("snape_02") - - elif random_number == 4: - sna "I... hate my life." ("snape_24") - sna "No, wait, let me try this again..." ("snape_16") - sna "I... hate my life." ("snape_17") - sna "Dammit! I'm trying to say \"love\" but it just won't come out..." ("snape_25") - sna "I don't think I've ever used the words \"love\" and \"life\" in one sentence before." ("snape_29") - sna "Let me try this again..." ("snape_06") - sna "I ha...{w} lo... {w}love my life!" ("snape_10") - sna "There you go, I love my life..." ("snape_23") - - elif random_number == 5: - sna "Sunlight, chocolate, Quidditch, cats, and orange juice..." ("snape_01") - sna "That's a list of things I don't care for..." - sna "Here is a short list of things I do care for a great deal..." ("snape_02") - sna "The dark arts, wine, and pussy." ("snape_23") - - elif random_number == 6: - sna "have You ever seen two wizards in a fistfight?" ("snape_02") - sna "Bloody hilarious!" ("snape_28") - sna "" ("snape_23") - - elif random_number == 7: - sna "You know that feeling when you just came in a girl's mouth and she swallows it all and says: \"Thank you, professor\"?" ("snape_14") - sna "Isn't that the best?" ("snape_13") - sna "" ("snape_23") - - elif random_number == 8: - sna "do You think the Hogwarts ghosts sometimes spy on girls taking when they a shower and such?" ("snape_24") - sna "If I were a ghost I know I would." ("snape_13") - sna "" ("snape_23") - - elif random_number == 9: - sna "This one girl confessed to me that she has frequent fantasises about being abused by that squib misterFilch." ("snape_19") - sna "I think I could arrange that. Should I?" ("snape_14") - sna "" ("snape_02") - - elif random_number == 10: - sna "I used to hate my job so much..." ("snape_24") - sna "Hate is clean, simple, and certain..." ("snape_06") - sna "Now, don't get me wrong - I still hate it." ("snape_09") - sna "But I also sort of love it now..." ("snape_05") - sna "How could I not? With all that has been happening lately?" - sna "To both cherish and hate something to an equal degree..." ("snape_06") - sna "It's like being in love again..." ("snape_19") - sna "" ("snape_06") - - - ### WHORING LEVEL 08+ ### - if her_whoring >= 21: - if random_number == 1: - sna "Do you know what a \"bukkake\" is?" ("snape_24") - sna "What about \"deep throating\"?" - sna "And then there is also \"hate-sex\"." - sna "Students these days, mate..." ("snape_05") - sna "They have a special name for everything." - sna "Although \"hate-sex\" has always been around..." ("snape_06") - sna "Back in my days we just called it \"sex\"." ("snape_02") - - elif random_number == 2: - sna "I heard a mysterious ticking noise today..." ("snape_04") - sna "It was kind of catchy..." ("snape_28") - - elif random_number == 3: - sna "I organised a small party the other day..." ("snape_24") - sna "One girl and three boys..." - sna "They fucked her and I watched..." ("snape_13") - sna "........................." ("snape_29") - sna "You think I've been exercising my dark side a bit too often lately?" ("snape_05") - sna "" ("snape_06") - - elif random_number == 4: - sna "I'm all out of condoms, mate." ("snape_24") - sna "You think you could hook me up?" ("snape_02") - sna "" ("snape_01") - - elif random_number == 5: - sna "I am secretly making this special herbal brew that should make her tits lactate..." ("snape_24") - sna "Pretty brilliant, *huh*?" ("snape_13") - sna "" ("snape_23") - - elif random_number == 6: - sna "So, this witch has my cock in her mouth, right?" ("snape_24") - sna "Her hot girlfriend is cleaning my asshole with her tongue..." ("snape_02") - sna "Meanwhile this third girl is on her knees with her mouth open, waiting for me to spit in it..." - sna "And every time I spit, she says: \"Thank you, professor Snape\"." - sna "That was a bloody surreal evening..." ("snape_22") - sna "" ("snape_02") - - elif random_number == 7: - sna "This one girl has been begging me to urinate in her mouth for days, now..." ("snape_06") - sna "Persistent little minx..." - sna "Should I give in?" ("snape_05") - sna "" ("snape_23") - - elif random_number == 8: - sna "I mercilessly dominate both male and female students..." ("snape_04") - sna "But in very different ways." ("snape_22") - sna "" ("snape_23") - - elif random_number == 9: - sna "I love my life!" ("snape_23") - sna "Still hate my job though..." ("snape_16") - sna "I wish I could skip all the teaching, but keep all the fucking." ("snape_14") - sna "" ("snape_23") - - elif random_number == 10: - sna "I almost feel bad for having all the fun." ("snape_24") - sna "Do You want me to send you up some fresh Slytherin slut?" ("snape_14") - sna "" ("snape_23") + block: + sna "Do you really think you can do this?" ("snape_24") + sna "Do you think you can break the girl?" ("snape_25") + + block: + if game.weather in ("rain", "blizzard"): + sna "Isn't the weather lovely today?" ("snape_02") + sna "I wish it would stay like this forever." ("snape_06") + else: + sna "Don't you just hate this wretched sunny weather?" ("snape_01") + sna "I wish it would rain every day." ("snape_06") + + block: + sna "Are you sure that you are not Albus Dumbledore?" ("snape_05") + sna "I'm still having a hard time believing this whole thing sometimes..." + + block: + sna "I killed a pupil once." ("snape_01") + sna "Yes... I strangled the maggot with my bare hands." ("snape_02") + sna "........ *Low growl*." ("snape_03") + sna "Did that sound believable?" ("snape_05") + sna "The moment those animals stop fearing me, I'm done for." ("snape_06") + sna "Cultivating fear in the hearts of your students is the most important task for every teacher." ("snape_26") + + block: + sna "Those Weasley maggots..." ("snape_04") + sna "One of these days I'll just snap, I swear." ("snape_07") + + block: + sna "Don't you think that owl post is a bit ridiculous?" ("snape_05") + sna "I'd much rather use ravens." + + block: + sna "I'm having the worst day of my life..." ("snape_06") + sna "So I'm really Not in the mood for chit-chats..." + + block: + sna "Being a wizard is a twenty-four hours a day..." ("snape_04") + sna "Seven days a week..." ("snape_03") + sna "Three hundred and sixty-five days a year occupation." ("snape_04") + sna "Not even a single holiday..." + + block: + sna "Quidditch..." ("snape_04") + sna "What a waste of time and resources!" ("snape_10") + sna "" ("snape_04") + + + if states.her.level >= 3 and states.her.level <= 5: + random: + block: + sna "I have yet to notice any changes in Miss Granger's behaviour..." ("snape_24") + sna "Are you sure that you know what you're doing?" ("snape_05") + sna "" ("snape_09") + + block: + sna "It sure feels good to be able to grant house points or take them away whenever I feel like it." ("snape_24") + sna "My authority among the students is growing every day..." ("snape_24") + sna "And when I say \"authority\" I mean \"fear\"." ("snape_02") + + block: + sna "Did you know that the full moon is known to boost male potency?" ("snape_24") + sna "It also makes it easier to focus on a task at hand, making you more proactive." ("snape_24") + sna "But who gives a damn about that, am I right?" ("snape_28") + sna "" ("snape_29") + + block: + sna "My precious Slytherins make all of this torment worthwhile..." ("snape_06") + sna "Their skirts are getting shorter every week, I swear." ("snape_19") + + block: + sna "There was a time when I was young and full of hope..." ("snape_06") + sna "*Ha-hah*... I'm pulling your leg, mate." ("snape_28") + sna "I was never full of hope..." ("snape_29") + + block: + sna "Someone broke into my personal storage..." ("snape_16") + sna "They only took some Gillyweed... Lucky they didn't take any of my amorentia." ("snape_29") + sna "Not that I need or use such things." ("snape_09") + + block: + sna "A \"Men's rights movement\"...?" ("snape_05") + sna "What's next? A house elves' rights movement?" ("snape_04") + sna "How could a top student be that dumb?" ("snape_06") + + block: + sna "I don't play favourites with my students." ("snape_05") + sna "I merely tolerate some of them and hate the rest." ("snape_04") + + block: + sna "There are four student houses at Hogwarts..." ("snape_24") + sna "Slytherin, Ravenclaw, Gryffindor, and..." + sna "... and Huff-something..." ("snape_05") + sna "No one really cares." ("snape_29") + sna "" ("snape_09") + + block: + sna "Brooms are for kids and witches." ("snape_24") + sna "You'll never see a self-respecting wizard prancing around on a broomstick." ("snape_05") + sna "" ("snape_09") + + + if states.her.level >= 6 and states.her.level <= 8: + random: + block: + sna "Any progress on breaking our little ms. know-it-all?" ("snape_24") + sna "" ("snape_09") + + block: + sna "The other day this one girl sold me her panties for five house points." ("snape_24") + sna "And man, was she excited about that..." ("snape_14") + sna "I think she would've given them away for free just to please me." ("snape_19") + sna "" ("snape_09") + + block: + sna "I'm having a rather pleasant day so far..." ("snape_23") + sna "Bet you didn't expect to hear me saying that?" ("snape_02") + + block: + sna "Quidditch seems to steadily gain more and more popularity over the years..." ("snape_24") + sna "How disappointing..." ("snape_04") + + block: + sna "My life was incredibly dull before your arrival..." ("snape_24") + sna "Nowadays it's..." ("snape_05") + sna "... less dull." ("snape_02") + + block: + sna "Regrets? I don't know the meaning of the word!" ("snape_05") + sna "I live a very fulfilling life." ("snape_06") + sna "*Ha-ha-ha*! I'm sorry, I just can't say such nonsense with a straight face." ("snape_28") + sna "" ("snape_26") + + block: + sna "There is no room for mistakes during class." ("snape_24") + sna "One slip-up and the bloody bastards will tear you to shreds." ("snape_04") + + block: + sna "You are the only person I have to answer to..." ("snape_04") + sna "So I can almost literally do whatever the bloody hell I want these days..." ("snape_05") + sna "..............." ("snape_09") + sna "So that's what freedom feels like, *huh*?" ("snape_06") + + block: + sna "Autumn... The most depressing time of the year..." ("snape_06") + sna "I Love it!" ("snape_02") + sna "" ("snape_23") + + block: + sna "I have a magical portrait of a stripper hanging in my room." ("snape_24") + sna "One of my most precious possessions." ("snape_22") + sna "" ("snape_09") + + + if states.her.level >= 9 and states.her.level <= 11: + random: + block: + sna "Miss Granger has gotten aggressive lately, almost to the point of open hostility..." ("snape_24") + sna "I hope you know what you're doing..." ("snape_05") + sna "" ("snape_09") + + block: + sna "I shouldn't feel bad about having sex with my students, right?" ("snape_26") + sna "I mean, you should see the way some of those girls wear their uniforms..." ("snape_05") + sna "They're practically asking for it." ("snape_13") + sna "" ("snape_12") + + block: + sna "It's been raining a lot lately..." ("snape_23") + sna "I wonder if I enjoy rainy weather so much simply because it makes most people miserable..." ("snape_02") + sna "" ("snape_23") + + block: + sna "According to a recent study, nine out of ten girls secretly fantasise about being abused by their teacher." ("snape_24") + sna "I bet that tenth girl was Hermione Granger." ("snape_03") + sna "" ("snape_01") + + block: + sna "These days I have to actually make an effort to maintain my usual bad mood." ("snape_24") + sna "" ("snape_23") + + block: + sna "Do you have a few condoms to spare?" ("snape_24") + sna "I have a whole pack, but..." ("snape_25") + sna "... they've expired years ago..." ("snape_06") + sna "The changes you've brought into my life, mate." ("snape_02") + sna "" ("snape_23") + + block: + sna "You think we could turn Hogwarts into a \"girls only\" school?" ("snape_24") + sna "Hogwarts Girls Academy!" ("snape_23") + sna "Now that would make this institution bloody perfect... If it wasn't for Lockhart." ("snape_13") + + block: + sna "Why did the teacher cross the road?" ("snape_24") + sna "To get away from his students!" ("snape_25") + sna "*Ha-ha-ha*! Gets me every time!" ("snape_28") + sna "" ("snape_25") + + block: + sna "Want to hear a funny story?" ("snape_24") + sna "Well, I don't know any..." ("snape_06") + + block: + sna "Do you know what a \"royal goblet\" is?" ("snape_05") + sna "You do, don't you?" ("snape_13") + sna "" ("snape_23") + + + if states.her.level >= 12 and states.her.level <= 14: + random: + block: + sna "Fifteen points for a blowjob is a fair price, right?" ("snape_24") + sna "" ("snape_23") + + block: + sna "Have you ever been in love, mate?" ("snape_24") + sna "Have you ever been in love with a schoolgirl?" ("snape_02") + sna "What about half a dozen of them at once?" ("snape_22") + sna "" ("snape_20") + + block: + sna "Something rather brilliant happened last night between me and this Slytherin minx." ("snape_20") + sna "Long story short, all of my muscles ache, and I still feel rather dehydrated..." ("snape_22") + sna "" ("snape_13") + + block: + sna "It's getting colder lately..." ("snape_24") + sna "Winter is coming..." ("snape_23") + + block: + sna "Have you ever seen muggle women dressed as witches?" ("snape_24") + sna "So adorable." ("snape_19") + + block: + sna "Do you know what an \"Internet\" is?" ("snape_24") + sna "Apparently it allows you to go \"on the line\" and see magical photographs of naked muggle women." ("snape_02") # SNAPE SAYS "ON THE LINE" ON PURPOSE. I KNOW THAT WAS REALLY OBVIOUS MAESTRO + sna "Kind of makes me wish we had one here in Hogwarts." ("snape_26") + sna "" ("snape_09") + + block: + sna "I have two major passions in life..." ("snape_24") + sna "Dark arts..." + sna "......" ("snape_12") + sna "... and sluts." ("snape_13") + + block: + sna "You think I ought to cut down on my drinking?" ("snape_24") + sna "But my life is so stressful..." ("snape_06") + sna "*Hmm*..." ("snape_09") + sna "I'll try and cut down on the liquor..." ("snape_06") + sna "In favour of sweaty monkey-sex with my students!" ("snape_21") + sna "" ("snape_19") + + block: + sna "Miss Granger has been suspiciously quiet lately..." ("snape_24") + sna "I bet she is scheming something..." ("snape_03") + sna "" ("snape_01") + + block: + sna "It's quite easy to write a book and kill off half of the main characters for the sake of dramatic impact..." ("snape_24") + sna "To put your characters against impossible odds and let them make it out alive in a believable manner..." + sna "Now {size=+7}that{/size} requires skill." ("snape_02") + sna "" ("snape_23") + + + if states.her.level >= 15 and states.her.level <= 17: + random: + block: + sna "What if the girl is not our pet, but we are hers?" ("snape_11") + sna "" ("snape_26") + + block: + sna "Have you heard of the \"Slug club\"?" ("snape_24") + sna "What if I start a club of my own?" ("snape_24") + sna "I would call it the \"Snape Club\"!" ("snape_23") + sna "I would invite girls over, offer them some tea and muffins..." ("snape_23") + sna "Feel them up a little..." ("snape_13") + sna "Bloody brilliant!" ("snape_22") + sna "" ("snape_02") + + block: + sna "Tell me Genie... Have you ever had your asshole licked clean by a witch?" ("snape_02") + sna "A life-changing experience, neither less nor more..." ("snape_21") + sna "" ("snape_02") + + block: + sna "So, how is the training going?" ("snape_24") + sna "All according to plan I hope?" ("snape_24") + sna "" ("snape_05") + + block: + sna "I can see the thestrals, you know..." ("snape_06") + sna "" ("snape_09") + + block: + sna "You know what I like about Quidditch?" ("snape_24") + sna "Nothing! Not a single bloody thing!" ("snape_15") + sna "" ("snape_16") + + block: + sna "Hogwarts benefited greatly from your arrival." ("snape_24") + sna "And when I say \"Hogwarts\", I mean \"me\"." ("snape_02") + sna "" ("snape_23") + + block: + sna "Real wizards wear black." ("snape_24") + sna "Am I right?" ("snape_02") + sna "" ("snape_23") + + block: + sna "Some of those Slytherin girls simply adore me these days..." ("snape_24") + sna "Personally, I'd much rather be feared..." ("snape_05") + sna "But I am willing to settle for mindless adoration..." ("snape_23") + + block: + sna "You are being way too generous with those Gryffindor points, mate." ("snape_24") + sna "Lately I can barely keep up with you..." ("snape_25") + sna "" ("snape_29") + + + if states.her.level >= 18 and states.her.level <= 20: + random: + block: + sna "Miss Granger really is changing... I can see it clearly now..." ("snape_24") + sna "Her grades went down, and even her attendance is far from perfect now..." ("snape_24") + sna "But despite that she continues to excel at being a pain in my arse!" ("snape_10") + sna "" ("snape_01") + + block: + sna "My least favourite colour?" ("snape_05") + sna "Let me give you two: red and gold." ("snape_07") + sna "" ("snape_04") + + block: + sna "I hear the vampire theme is quite popular among the girls lately." ("snape_24") + sna "I would make a great vampire, don't you think?" ("snape_05") + sna "Maybe I should buy a couple of those fake fangs..." ("snape_05") + sna "Just to drive the horny, little sluts completely crazy." ("snape_21") + sna "" ("snape_02") + + block: + sna "I... hate my life." ("snape_24") + sna "No, wait, let me try this again..." ("snape_16") + sna "I... hate my life." ("snape_17") + sna "Dammit! I'm trying to say \"love\" but it just won't come out..." ("snape_25") + sna "I don't think I've ever used the words \"love\" and \"life\" in one sentence before." ("snape_29") + sna "Let me try this again..." ("snape_06") + sna "I ha...{w} lo... {w}love my life!" ("snape_10") + sna "There you go, I love my life..." ("snape_23") + + block: + sna "Sunlight, chocolate, Quidditch, cats, and orange juice..." ("snape_01") + sna "That's a list of things I don't care for..." ("snape_01") + sna "Here is a short list of things I do care for a great deal..." ("snape_02") + sna "The dark arts, wine, and pussy." ("snape_23") + + block: + sna "Have you ever seen two wizards in a fistfight?" ("snape_02") + sna "Bloody hilarious!" ("snape_28") + sna "" ("snape_23") + + block: + sna "You know that feeling when you come into a girl's mouth, and she swallows and says: \"Thank you, professor\"?" ("snape_14") + sna "Isn't that the best?" ("snape_13") + sna "" ("snape_23") + + block: + sna "Do you think the Hogwarts ghosts sometimes spy on girls when they are taking a shower?" ("snape_24") + sna "If I were a ghost I know I would." ("snape_13") + sna "" ("snape_23") + + block: + sna "This one girl confessed to me that she has frequent fantasises about being abused by that squib, mister Filch." ("snape_19") + sna "I think I could arrange that... Should I?" ("snape_14") + sna "" ("snape_02") + + block: + sna "I used to hate my job so much..." ("snape_24") + sna "Hate is clean, simple, and certain..." ("snape_06") + sna "Now, don't get me wrong - I still hate it." ("snape_09") + sna "But I also sort of love it now..." ("snape_05") + sna "How could I not? With all that has been happening lately?" + sna "To both cherish and hate something to an equal degree..." ("snape_06") + sna "It's like being in love again..." ("snape_19") + sna "" ("snape_06") + + + if states.her.level >= 21: + random: + block: + sna "Do you know what a \"bukkake\" is?" ("snape_24") + sna "What about \"deep throating\"?" + sna "And then there is also \"hate-sex\"." + sna "Students these days, mate..." ("snape_05") + sna "They have a special name for everything." + sna "Although \"hate-sex\" has always been around..." ("snape_06") + sna "Back in my days we just called it \"sex\"." ("snape_02") + + block: + sna "I heard a mysterious ticking noise today..." ("snape_04") + sna "It was kind of catchy..." ("snape_28") + + block: + sna "I organised a small party the other day..." ("snape_24") + sna "One girl and three boys..." + sna "They fucked her and I watched..." ("snape_13") + sna "........................." ("snape_29") + sna "You think I've been exercising my dark side a bit too often lately?" ("snape_05") + sna "" ("snape_06") + + block: + sna "I'm all out of condoms, mate." ("snape_24") + sna "You think you could hook me up?" ("snape_02") + sna "" ("snape_01") + + block: + sna "I am secretly making this special herbal brew that should make her tits lactate..." ("snape_24") + sna "Pretty brilliant, *huh*?" ("snape_13") + sna "" ("snape_23") + + block: + sna "So, this witch has my cock in her mouth, right?" ("snape_24") + sna "Her hot girlfriend is cleaning my asshole with her tongue..." ("snape_02") + sna "Meanwhile, this third girl is on her knees with her mouth open, waiting for me to spit in it..." + sna "And every time I spit, she says: \"Thank you, professor Snape\"." + sna "That was a bloody surreal evening..." ("snape_22") + sna "" ("snape_02") + + block: + sna "This one girl has been begging me to urinate in her mouth for days, now..." ("snape_06") + sna "Persistent little minx..." + sna "Should I give in?" ("snape_05") + sna "" ("snape_23") + + block: + sna "I mercilessly dominate both male and female students..." ("snape_04") + sna "But in very different ways." ("snape_22") + sna "" ("snape_23") + + block: + sna "I love my life!" ("snape_23") + sna "Still hate my job though..." ("snape_16") + sna "I wish I could skip all the teaching, but keep all the fucking." ("snape_14") + sna "" ("snape_23") + + block: + sna "I almost feel bad for having all the fun." ("snape_24") + sna "Do you want me to send you up some fresh Slytherin slut?" ("snape_14") + sna "" ("snape_23") return diff --git a/game/scripts/characters/snape/common.rpy b/game/scripts/characters/snape/common.rpy index c4063779..52e91fb9 100644 --- a/game/scripts/characters/snape/common.rpy +++ b/game/scripts/characters/snape/common.rpy @@ -1,30 +1,29 @@ label update_snape: - $ snape_flip = 1 + $ states.sna.image.xzoom = 1 return define character.snape_say = Character(_("Severus Snape"), show_icon="snape") init python: def sna(what, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, wand=False, **kwargs): - global snape_xpos, snape_ypos, snape_face, snape_animation, snape_zorder, snape_flip, snape_zoom redraw = False tag = "snape_main" layer = "screens" #showing = renpy.showing(name=tag, layer=layer) if xpos != None or ypos != None: - xpos = snape_xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = snape_ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) - snape_xpos = xpos - snape_ypos = ypos + xpos = states.sna.image.xpos if xpos == None else sprite_pos.get("x").get(xpos, xpos) + ypos = states.sna.image.ypos if ypos == None else sprite_pos.get("y").get(ypos, ypos) + states.sna.image.xpos = xpos + states.sna.image.ypos = ypos redraw = True head_ypos = sprite_pos.get("y").get("head") - head_only = snape_ypos == head_ypos + head_only = states.sna.image.ypos == head_ypos # The easiest way to fix image positions for Snape is to use offsets. # It's not ideal, but it's better than having to change all calls manually. - if snape_ypos in ("head", head_ypos): + if states.sna.image.ypos in ("head", head_ypos): xoffset = -25 yoffset = 150 else: @@ -32,20 +31,20 @@ init python: yoffset = 0 if face: - snape_face = face + states.sna.image.face = face redraw = True if animation != False: - snape_animation = animation + states.sna.image.animation = animation redraw = True if flip != None: - snape_flip = -1 if flip else 1 + states.sna.image.xzoom = -1 if flip else 1 redraw = True if redraw: - base_transform = doll_transform((snape_xpos + xoffset, snape_ypos + yoffset), snape_zoom, snape_flip) - sprite = Image("characters/snape/main/"+snape_face+".webp") + base_transform = doll_transform((states.sna.image.xpos + xoffset, states.sna.image.ypos + yoffset), states.sna.image.zoom, states.sna.image.xzoom) + sprite = Image("characters/snape/main/"+states.sna.image.face+".webp") if wand: sprite = Fixed(sprite, "characters/snape/main/wand.webp") @@ -53,9 +52,9 @@ init python: at_list = [base_transform] if animation: - at_list.append(snape_animation) + at_list.append(states.sna.image.animation) - renpy.show(name=tag, at_list=at_list, layer=layer, what=sprite, zorder=snape_zorder) + renpy.show(name=tag, at_list=at_list, layer=layer, what=sprite, zorder=states.sna.image.zorder) if not renpy.in_rollback(): if trans: diff --git a/game/scripts/characters/snape/events/hangouts.rpy b/game/scripts/characters/snape/events/hangouts.rpy index b2d71124..913234ee 100644 --- a/game/scripts/characters/snape/events/hangouts.rpy +++ b/game/scripts/characters/snape/events/hangouts.rpy @@ -6,9 +6,9 @@ label snape_hangout: call setup_fireplace_hangout(char="snape") - $ ss_he_counter += 1 + $ states.gen.stats.hangouts_with_snape += 1 - $ ss_he_drink.start() + $ sna_eventqueue_hangouts_drinking.start() label snape_hangout_continue: hide screen bld1 @@ -17,31 +17,30 @@ label snape_hangout: with fade call bld - ### Intro Events ### # Events are located in the character's intro file. # Hermione - if hermione_intro.E1_complete and not ss_he.hermione_E1: + if states.her.ev.intro.e1_complete and not states.sna.ev.hangouts.hermione_e1: jump ss_he_hermione_E1 # Fist discussion about Hermione with Snape. - if hermione_intro.E2_complete and not ss_he.hermione_E2: + if states.her.ev.intro.e2_complete and not states.sna.ev.hangouts.hermione_e2: jump ss_he_hermione_E2 # Second discussion about Hermione with Snape. # Tonks - if tonks_intro.E1_complete and not ss_he.tonks_E1: + if states.ton.ev.intro.e1_complete and not states.sna.ev.hangouts.tonks_e1: jump ss_he_tonks_E1 - if tonks_intro.E3_complete and not ss_he.tonks_E2: + if states.ton.ev.intro.e3_complete and not states.sna.ev.hangouts.tonks_e2: jump ss_he_tonks_E2 - if ss_he.tonks_E2 and not ss_he.tonks_E3: - if her_tier < 2: # Event won't happen at this point in the game anymore. - $ ss_he.tonks_E3 = True + if states.sna.ev.hangouts.tonks_e2 and not states.sna.ev.hangouts.tonks_e3: + if states.her.tier < 2: # Event won't happen at this point in the game anymore. + $ states.sna.ev.hangouts.tonks_e3 = True else: jump ss_he_tonks_E3 # Cho - if cho_intro.E2_complete and not ss_he.cho_E1: + if states.cho.ev.intro.e2_complete and not states.sna.ev.hangouts.cho_e1: jump ss_he_cho_E1 - if cho_quiz.lost and not quidditchguide_ITEM.unlocked and not cho_quiz.complete and not ss_he.cho_E2: + if states.cho.ev.quiz.lost and not quidditchguide_ITEM.unlocked and not states.cho.ev.quiz.complete and not states.sna.ev.hangouts.cho_e2: # After failing the Quiz. jump ss_he_cho_E2 @@ -50,41 +49,40 @@ label snape_hangout: # Events are located here. # Hermione - if hg_strip.trigger and not ss_he.hermione_strip: #After second dance where Snape entered room. + if states.her.status.stripping and not states.sna.ev.hangouts.hermione_strip_invite: #After second dance where Snape entered room. jump ss_he_hermione_strip # Get to invite Snape to watch. # (Quidditch) Ask Snape for help with Slytherins. - if cho_quid.E6_complete and not cho_quid.E8_complete and not cho_quid.E9_complete: + if states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete and not states.cho.ev.quidditch.e9_complete: jump cho_quid_E9 ### Snape Stories ### # Events are located here. - if not ss_he_story.is_complete(): - $ ss_he_story.start() + $ sna_eventqueue_hangouts_stories.start() label end_snape_hangout: show screen with_snape(ani=True) call bld call notes - ">You spend the evening hanging out with Professor Snape.\n>Your relationship with him has improved." + nar "You spend the evening hanging out with Professor Snape.\n>Your relationship with him has improved." label end_snape_hangout_points: - if sna_friendship < 100: + if states.sna.level < 100: if game.weather in {"rain", "storm"}: # Rain puts him in a good mood. - $ sna_friendship += 1 + $ states.sna.level += 1 if game.difficulty == 1: - $ sna_friendship += 5 + $ states.sna.level += 5 elif game.difficulty == 2: - $ sna_friendship += 4 + $ states.sna.level += 4 else: - $ sna_friendship += 3 + $ states.sna.level += 3 - if sna_friendship > 100: - $ sna_friendship = 100 + if states.sna.level > 100: + $ states.sna.level = 100 $ slytherin += renpy.random.randint(5, 15) @@ -108,7 +106,7 @@ label ss_he_wine_intro: pause.1 # Show wine - call give_gift(">You hand over the bottle you found in the cupboard to professor Snape...", wine_ITEM) + call give_gift("You hand over the bottle you found in the cupboard to professor Snape...", wine_ITEM) sna "This one has got to be from Albus' personal stash!" ("snape_24") sna "Some pricey and incredibly rare stuff." ("snape_06") @@ -123,7 +121,7 @@ label ss_he_wine_intro_E2: gen "Care for another bottle?" ("base", xpos="far_left", ypos="head") pause.1 - call give_gift(">You hand over the bottle you found in the cupboard to professor Snape...", wine_ITEM) + call give_gift("You hand over the bottle you found in the cupboard to professor Snape...", wine_ITEM) sna "Another bottle of Dumbledore's wine?" ("snape_05", ypos="head") sna "Did you find Albus' secret stash or was it his personal wine cellar?" ("snape_05") @@ -141,22 +139,16 @@ label ss_he_wine_repeat: gen "Look what I've got!" ("base", xpos="far_left", ypos="head") pause.1 - call give_gift(">You hand over the bottle you found in the cupboard to professor Snape...", wine_ITEM) + call give_gift("You hand over the bottle you found in the cupboard to professor Snape...", wine_ITEM) sna "Another one?" ("snape_05", ypos="head") - $ random_number = renpy.random.randint(1, 6) - if random_number == 1: + random: sna "Splendid!" ("snape_02") - elif random_number == 2: sna "Well done, my friend!" ("snape_02") - elif random_number == 3: sna "Lately I am having a hard time drinking anything but this!" ("snape_02") - elif random_number == 4: sna "Great! I feel less stressed out already!" ("snape_02") - elif random_number == 5: sna "This just keeps getting better and better!" ("snape_02") - else: sna "Let's uncork that bastard!" ("snape_02") jump snape_hangout_continue @@ -194,17 +186,12 @@ label ss_he_hermione_strip: sna "Splendid!" ("snape_45") sna "I can hardly wait, I tell you!" ("snape_37") sna "Do you think she will let me touch them...?" ("snape_47") + hide snape_main - call blktone - ">You spend the rest of the evening in Snape's company talking about Hermione's naked breasts." + nar "You spend the rest of the evening in Snape's company talking about Hermione's naked breasts." - call hide_blktone - - $ ss_he.hermione_strip = True - - hide screen bld1 - with d3 + $ states.sna.ev.hangouts.hermione_strip_invite = True jump end_snape_hangout_points @@ -216,16 +203,16 @@ label ss_he_story_E1: call bld gen "Alright. Teach me your wand-based magic now." ("base", xpos="far_left", ypos="head") sna "Sure, I could do that..." ("snape_23", ypos="head") - sna "Or I could tell you some more about those ripe slytherin sluts..." ("snape_02") + sna "Or I could tell you some more about those ripe Slytherin sluts..." ("snape_02") gen "The latter, please." ("grin", xpos="far_left", ypos="head") - sna "Great... Get a load of this then..." ("snape_13") - hide snape_main - call blktone + sna "Great... Get a load of this, then..." ("snape_13") + + hide snape_main + + nar "You spend the evening by discussing all sorts of inappropriate things with Professor Snape." + nar "You feel a faint bond forming between you two..." - ">You spend the evening by discussing all sorts of inappropriate things with Professor Snape." - ">You feel a faint bond forming between you two..." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -243,21 +230,20 @@ label ss_he_story_intro_E2: sna "No, we need to be discreet with this..." ("snape_24") sna "Awarding a whole bunch of points to my house without any reason could draw unwanted attention..." ("snape_05") gen "*Hmm*... I see your point..." ("base", xpos="far_left", ypos="head") - hide snape_main - call blktone - ">You spend the evening by conspiring against Hermione with professor Snape..." - ">The faint bond of friendship between you two strengthens." + hide snape_main + + nar "You spend the evening by conspiring against Hermione with professor Snape..." + nar "The faint bond of friendship between you two strengthens." call sly_plus - call hide_blktone jump end_snape_hangout_points label ss_he_story_intro_E3: sna "Have you heard of that \"men's rights movement\" nonsense?" ("snape_01", ypos="head") - sna "She is smart, popular, and has a will of iron..." ("snape_01") + sna "She is smart, popular, and has a will made from iron..." ("snape_01") sna "Lately I am starting to feel very doubtful about our whole plan..." ("snape_06") gen "You shouldn't though..." ("base", xpos="far_left", ypos="head") sna "Is that so..." ("snape_26") @@ -265,14 +251,13 @@ label ss_he_story_intro_E3: gen "Just trust me." ("base", xpos="far_left", ypos="head") sna "Alright..." ("snape_26") sna "What choice do I have but to hope for the best...?" ("snape_06") - hide snape_main - call blktone - ">You spend the evening by dreading the uncertain future with professor Snape." - ">A faint bond of trust is forming between you two." + hide snape_main + + nar "You spend the evening by dreading the uncertain future with professor Snape." + nar "A faint bond of trust is forming between you two." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -293,15 +278,14 @@ label ss_he_story_intro_E4: sna "Yes! Hermione Granger - the repulsive slut without any dignity! Yes, I like it!" ("snape_02") gen "And what if in that other world the cheerful Severus teams up with some bizarre version of me?" ("base", xpos="far_left", ypos="head") gen "And maybe together we train the slut Hermione to be a proper girl and a good student?" ("base", xpos="far_left", ypos="head") - sna "Ha-ha-ha! That's hilarious!" ("snape_28") - hide snape_main - call blktone + sna "*Ha-ha-ha*! That's hilarious!" ("snape_28") - ">You spend the evening discussing science, metaphysics, philosophy, and sluts." - ">the bond of friendship between you and Professor Snape strengthens." + hide snape_main + + nar "You spend the evening discussing science, metaphysics, philosophy, and sluts." + nar "the bond of friendship between you and Professor Snape strengthens." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -328,15 +312,13 @@ label ss_he_story_intro_E5: gen "......................." ("base", xpos="far_left", ypos="head") sna "I mean, it is bad for {size=+5}you{/size}, but good for {size=+5}us{/size}, right?" ("snape_29") gen "Right..." ("base", xpos="far_left", ypos="head") - hide snape_main - call blktone - ">Professor Snape seems to feel awkward about benefiting from your misery..." - call notes - ">The bond of friendship between you two strengthens slightly..." + hide snape_main + + nar "Professor Snape seems to feel awkward about benefiting from your misery..." + nar "The bond of friendship between you two strengthens slightly..." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -355,14 +337,13 @@ label ss_he_story_E6: sna "Obviously I don't actually walk around and \"do whoever I want\"..." ("snape_09") sna "But you wouldn't believe what some of those girls are willing to do in exchange for house points!" ("snape_13") sna "Or even for the mere promise of good grades..." ("snape_22") - hide snape_main - call blktone - ">Professor Snape's usual cold exterior disintegrates before your eyes..." - ">The bond of your friendship strengthens yet again..." + hide snape_main + + nar "Professor Snape's usual cold exterior disintegrates before your eyes..." + nar "The bond of your friendship strengthens yet again..." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -378,24 +359,23 @@ label ss_he_story_intro_E7: sna "Did you swear your loyalty to her?" ("snape_05") gen "Not really..." ("base", xpos="far_left", ypos="head") sna "Why do you even bother then?" ("snape_06") - sna "The way I see it, you are an all-powerful being and she is just some muggle..." ("snape_09") + sna "The way I see it, you are an all-powerful being, and she is just some muggle..." ("snape_09") gen "She's a what?" ("base", xpos="far_left", ypos="head") sna "A human... She's just a human..." ("snape_25") sna "So why bother trying to please her?" ("snape_05") - gen "Well it's complicated..." ("base", xpos="far_left", ypos="head") + gen "Well, it's complicated..." ("base", xpos="far_left", ypos="head") sna ".............." ("snape_05") gen ".................." ("base", xpos="far_left", ypos="head") sna "She's hot, isn't she?" ("snape_02") gen "Smoking..." ("base", xpos="far_left", ypos="head") sna "Gotcha." ("snape_23") - hide snape_main - call blktone - ">You and professor Snape share a bittersweet moment of complete male solidarity." - ">The bond of your friendship strengthens." + hide snape_main + + nar "You and professor Snape share a bittersweet moment of complete male solidarity." + nar "The bond of your friendship strengthens." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -412,24 +392,23 @@ label ss_he_story_intro_E8: sna "Especially the girls..." ("snape_22") gen "*Hmm*... Fine by me..." ("base", xpos="far_left", ypos="head") gen "But won't a reform like that attract unnecessary attention towards us?" ("base", xpos="far_left", ypos="head") - sna "Yes. You are right of course." ("snape_29") + sna "Yes. You are right, of course." ("snape_29") sna "I am getting greedy..." ("snape_29") sna "I'm getting drunk with power, my friend!" ("snape_28") sna "And this exquisite wine does not improve my judgment in the slightest either!" ("snape_28") - hide snape_main - call blktone - ">Professor Snape seems to be completely at ease around you now." - ">The bond of male friendship between you two strengthens even more.\n>Slytherin house point payouts have increased formidably..." + hide snape_main + + nar "Professor Snape seems to be completely at ease around you now." + nar "The bond of male friendship between you two strengthens even more.\n>Slytherin house point payouts have increased formidably..." call sly_plus - call hide_blktone jump end_snape_hangout_points label ss_he_story_intro_E9: # Replace this event. - sna "... so, after that I return back to Russia, right?" ("snape_24", ypos="head") + sna "... so, after that, I return back to Russia, right?" ("snape_24", ypos="head") gen "Back to Russia?" ("angry", xpos="far_left", ypos="head") sna "But wait, it gets worse." ("snape_01") sna "Apparently I am fluent in Russian now." ("snape_05") @@ -451,14 +430,13 @@ label ss_he_story_intro_E9: # Replace this event. gen "Just ignore the whole thing." ("base", xpos="far_left", ypos="head") gen "A silly dream, nothing more." ("base", xpos="far_left", ypos="head") sna "Felt more like a nightmare..." ("snape_29") - hide snape_main - call blktone - ">Professor Snape trusts you more than he used to..." - ">(To the point where he doesn't think twice about sharing his weird-ass dreams with you)." + hide snape_main + + nar "Professor Snape trusts you more than he used to..." + nar "To the point where he doesn't think twice about sharing his weird-ass dreams with you." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -475,7 +453,7 @@ label ss_he_story_intro_E10: sna "................!" ("snape_01") gen "It's plastic..." ("base", xpos="far_left", ypos="head") sna "I beg your pardon?" ("snape_05") - gen "it's plastic..." ("base", xpos="far_left", ypos="head") + gen "It's plastic..." ("base", xpos="far_left", ypos="head") sna "I don't get it..." ("snape_25") gen "This planet plans to evolve into something else in a million years or so..." ("base", xpos="far_left", ypos="head") gen "In order to do that it needs a special kind of material that it can't produce on its own." ("base", xpos="far_left", ypos="head") @@ -485,19 +463,18 @@ label ss_he_story_intro_E10: gen "It's to produce plastic. Simple as that." ("base", xpos="far_left", ypos="head") sna "Are you fucking kidding me?!" ("snape_30") sna "No, no... That can't be it..." ("snape_26") - gen "*He-he*..." ("grin", xpos="far_left", ypos="head") + gen "*He-heh*..." ("grin", xpos="far_left", ypos="head") sna "Are you pulling my leg?" ("snape_25") gen "You should've seen your face." ("grin", xpos="far_left", ypos="head") sna "You really had me worried there, you bloody non-human bastard!" ("snape_15") gen "I know! It was hard to resist..." ("grin", xpos="far_left", ypos="head") - hide snape_main - call blktone - ">You spend the evening by skilfully avoiding a whole variety of similar questions." - ">Despite your refusal to co-operate the bond of friendship between you two strengthens yet again." + hide snape_main + + nar "You spend the evening by skilfully avoiding a whole variety of similar questions." + nar "Despite your refusal to co-operate, the bond of friendship between you two strengthens yet again." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -507,7 +484,7 @@ label ss_he_story_intro_E11: gen "We used to..." ("base", xpos="far_left", ypos="head") sna "What happened?" ("snape_26") gen "\"The great catastrophe\"..." ("base", xpos="far_left", ypos="head") - gen "It incinerated most of the worlds population in a matter of hours..." ("base", xpos="far_left", ypos="head") + gen "It incinerated most of the world's population in a matter of hours..." ("base", xpos="far_left", ypos="head") sna "................" ("snape_26") gen "Turning about eighty percent of the planet's surface into a scorching desert..." ("base", xpos="far_left", ypos="head") gen "And the remaining twenty percent into an icy wasteland..." ("base", xpos="far_left", ypos="head") @@ -517,14 +494,13 @@ label ss_he_story_intro_E11: sna "Are you sure that you want to return to that place?" ("snape_25") gen "Of course." ("base", xpos="far_left", ypos="head") gen "It may be a bit barbaric, but hey... it's home." ("base", xpos="far_left", ypos="head") - hide snape_main - call blktone - ">Professor Snape finds a new level of respect for you..." - ">The bond of friendship between you two solidifies." + hide snape_main + + nar "Professor Snape finds a new level of respect for you..." + nar "The bond of friendship between you two solidifies." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -550,14 +526,13 @@ label ss_he_story_intro_E12: gen "But the probability of that happening is very slim..." ("base", xpos="far_left", ypos="head") gen "About five percent... Maybe ten... Twenty percent tops." ("base", xpos="far_left", ypos="head") sna "......................................................." ("snape_03") - hide snape_main - call blktone - ">Professor Snape seems grateful to you for (sort of) putting his concerns about Albus Dumbledore's well-being to rest..." - ">The bond of your friendship strengthens yet again..." + hide snape_main + + nar "Professor Snape seems grateful to you for {i}sort of{/i} putting his concerns about Albus Dumbledore's well-being to rest..." + nar "The bond of your friendship strengthens yet again..." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -573,28 +548,27 @@ label ss_he_story_intro_E13: sna "Could be." ("snape_22") sna "Nonetheless, training that girl had such a great impact on my life..." ("snape_24") sna "And even the school itself..." ("snape_24") - gen "In other words you are getting less broody and you blame me." ("base", xpos="far_left", ypos="head") + gen "In other words, you are getting less broody, and you blame me." ("base", xpos="far_left", ypos="head") sna "Something like that..." ("snape_23") sna "I'm losing my dark presence, man." ("snape_28") # :) - hide snape_main - call blktone - ">Professor Snape really did become a little more cheerful lately..." - ">He even looks younger now than back when you first met him..." - ">Professor Snape's feeling of gratitude fortifies the bond of your friendship." + hide snape_main + + nar "Professor Snape really did become a little more cheerful lately..." + nar "He even looks younger now than back when you first met him..." + nar "Professor Snape's feeling of gratitude fortifies the bond of your friendship." call sly_plus - call hide_blktone jump end_snape_hangout_points label ss_he_story_E14: - sna "... So she says, \"Sir, could you choke me a little, please\"!" ("snape_02", ypos="head") + sna "... So, she says, \"Sir, could you choke me a little, please\"!" ("snape_02", ypos="head") sna "And I am happy to oblige of course!" ("snape_13") sna "So, I choke that little bitch while I'm fucking her, right?" ("snape_19") sna "And she rolls her eyes up to the point where I can't even see her pupils anymore!" ("snape_19") - sna "Her face turns to a cute tint of purple and she's barely breathing." ("snape_19") + sna "Her face turns to a cute tint of purple, and she's barely breathing." ("snape_19") sna "So I think that maybe I should loosen up my grip a little..." ("snape_14") sna "And that's when the bitch starts to cum!" ("snape_21") gen "Sweet! And then you woke up?" ("base", xpos="far_left", ypos="head") @@ -606,14 +580,13 @@ label ss_he_story_E14: sna "And I mean really fucking messed up." ("snape_26") gen "Our type of girl!" ("grin", xpos="far_left", ypos="head") sna "Exactly!" ("snape_22") - hide snape_main - call blktone - ">You and professor Snape bond over the similarities of your taste in women." - ">The bond of your friendship has never been stronger." + hide snape_main + + nar "You and professor Snape bond over the similarities of your taste in women." + nar "The bond of your friendship has never been stronger." call sly_plus - call hide_blktone jump end_snape_hangout_points @@ -646,19 +619,18 @@ label ss_he_story_intro_E15: gen "Yes, for as long as Slytherin is in the lead." ("base", xpos="far_left", ypos="head") sna "Seriously? She still cares about that?" ("snape_05") gen "Very much so." ("base", xpos="far_left", ypos="head") - sna "Well in that case I shall personally ensure that the Slytherin house gets as many house points as possible." ("snape_23") + sna "Well, in that case, I shall personally ensure that the Slytherin house gets as many house points as possible." ("snape_23") + hide snape_main - call blktone - ">Your friendship level with professor Snape reached its maximum value." - ">Congratulations. If this were a \"Dating Sim\" you would be getting the ending with Severus Snape." - ">The Slytherin house point payout has increased greatly and reached its maximum level as well." - - call hide_blktone + nar "Your friendship level with professor Snape reached its maximum value." + nar "Congratulations. If this were a \"Dating Sim\" you would be getting the ending with Severus Snape." + nar "The Slytherin house point payout has increased greatly and reached its maximum level." + nar "Any future hangouts will result in a small bump in house points for Slytherin." jump end_snape_hangout_points label sly_plus: call notes - ">The Slytherin house point payout has increased..." + nar "The Slytherin house point payout has increased..." return diff --git a/game/scripts/characters/snape/events/intro.rpy b/game/scripts/characters/snape/events/intro.rpy index e9ae76bd..4329070a 100644 --- a/game/scripts/characters/snape/events/intro.rpy +++ b/game/scripts/characters/snape/events/intro.rpy @@ -17,23 +17,23 @@ label snape_intro_E1: with fade pause 1 - $ renpy.sound.play("sounds/snore2.ogg") + play sound "sounds/snore2.ogg" gen "......{w=0.5}*Snore*{w=1.0}{nw}" - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*knock-knock-knock*" anon "Albus? Are you in there?" - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "*Snore*{w=2.0}{nw}" anon "Don't ignore me, I know you're in there." "............." anon "I'm coming in either way!" - call play_music("dark_fog") - call play_sound("door") + play music "music/Dark Fog.ogg" fadein 1 if_changed + play sound "sounds/door.ogg" call sna_chibi("stand","door","base", flip=False) with d3 @@ -50,11 +50,11 @@ label snape_intro_E1: call ctc sna "" ("snape_31") - $ renpy.sound.play("sounds/MaleClearThroat.ogg") + play sound "sounds/MaleClearThroat.ogg" anon "Albus... Do you have a moment?" sna "" ("snape_01") - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" gen "!!!" ("angry", xpos="far_left", ypos="head") gen "{size=-3}(An Indigenous life form!?){/size}" ("angry", xpos="far_left", ypos="head") gen "{size=-3}(looks human enough...){/size}" ("base", xpos="far_left", ypos="head") @@ -62,7 +62,7 @@ label snape_intro_E1: menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"Actually I'm a bit busy.\"": + "\"Actually, I'm a bit busy.\"": sna "" ("snape_04", trans=d3) anon "Well, aren't you always, Albus?" "\"Of course. What is it?\"": @@ -89,7 +89,7 @@ label snape_intro_E1: anon "Half of my... so-called \"pupils\" are nothing but annoying maggots that make my life miserable on a daily basis." gen "................" ("base", xpos="far_left", ypos="head") sna "" ("snape_06") - anon "Most of them belong to your precious Gryffindor house of course..." + anon "Most of them belong to your precious Gryffindor house, of course..." gen "......?" ("base", xpos="far_left", ypos="head") sna "" ("snape_03") anon "The wretched Weasley family, that noisy Granger girl and of course the hero of all the juvenile delinquents around the globe..." @@ -154,7 +154,7 @@ label snape_intro_E1: gen "No, that's not stupid at all..." ("base", xpos="far_left", ypos="head") call bld("hide") - $ snape_intro.E1_complete = True + $ states.sna.ev.intro.e1_complete = True $ ss_event_pause += 1 jump day_start @@ -162,18 +162,18 @@ label snape_intro_E1: # Event 2 -# Sanpe talks to genie about hermione, snape becomes suspicious +# Snape talks to Genie about Hermione, Snape becomes suspicious label snape_intro_E2: - call play_music("night") + play music "music/Music for Manatees.ogg" fadein 1 if_changed - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*knock-knock-knock*" anon "It's me." gen "{size=-3}(That broody guy again...){/size}" ("base", xpos="far_left", ypos="head") gen "(Maybe if I stay silent he'll go away...)" ("base", xpos="far_left", ypos="head") - call play_music("dark_fog") + play music "music/Dark Fog.ogg" fadein 1 if_changed call sna_walk(action="enter", xpos="mid", ypos="base") call bld @@ -191,9 +191,9 @@ label snape_intro_E2: gen "..." ("base", xpos="far_left", ypos="head") "\"Granger? Hermione Granger, right?\"": anon "Yes, her..." - anon " She also happens to be a part of the \"Potter gang\"." + anon "She also happens to be a part of the \"Potter gang\"." "\"I got your back, Jack, witches be crazy!\"": - anon "What...? Albus you behave oddly lately." + anon "What...? Albus, you're behaving oddly lately." anon "Is everything alright?" menu: gen "..." ("base", xpos="far_left", ypos="head") @@ -211,7 +211,7 @@ label snape_intro_E2: sna "" ("snape_20") anon "Then lift her skirt up, and..." sna "" ("snape_12") - anon "*Ahem*! Sadly, nowadays we teachers are severely limited in the disciplinary measures we have at our disposal..." + anon "*Ahem*! Sadly, nowadays, us teachers are severely limited in the disciplinary measures we have at our disposal..." anon "I know you are just as powerless as I am in this matter, but I'm telling you, that girl had better stop testing my patience." menu: @@ -232,7 +232,7 @@ label snape_intro_E2: sna "" ("snape_06") anon "Perhaps I'd better go get some sleep." anon "I need to be in my top shape every morning..." - anon "You can't show weakness to those brats or they will swallow you whole..." + anon "You can't show weakness to those brats, or they will swallow you whole..." sna "" ("snape_24") anon "Good night, Albus." @@ -260,7 +260,7 @@ label snape_intro_E2: call sna_chibi("leave") - $ snape_intro.E2_complete = True + $ states.sna.ev.intro.e2_complete = True $ ss_event_pause += 1 jump day_start @@ -271,7 +271,7 @@ label snape_intro_E2: # Snape comes in, has a talk with Genie, then the duel starts. label snape_intro_E3: - call play_music("dark_fog") + play music "music/Dark Fog.ogg" fadein 1 if_changed call sna_walk(action="enter", xpos="mid", ypos="base") @@ -314,7 +314,7 @@ label snape_intro_E3: menu: gen "..." ("base", xpos="far_left", ypos="head") "\"Hermione Granger? No, Nothing from her.\"": - anon "I see... So she's been bluffing then." + anon "I see... So, she's been bluffing then." sna "" ("snape_16") anon "What an annoying witch." "\"Yes...\"": @@ -353,22 +353,22 @@ label snape_intro_E3: "\"What? What kind of question is that?\"": sna "" ("snape_06") anon "You are right..." - anon "Forgive me... I'm just being paranoid I suppose..." + anon "Forgive me... I'm just being paranoid, I suppose..." sna "" ("snape_05") anon "But you can never be too cautious with rumours about \"you know who\" still being alive and all..." "\"Tall broody guy?\"": sna "" ("snape_06") - anon "Albus, lately you adopted a peculiar sense of humour, that I do not care for in a slightest..." + anon "Albus, lately you adopted a peculiar sense of humour, that I do not care for in the slightest..." anon "Maybe you should spend a little less time in the company of that big oaf Hagrid." "-Use magic to get the right answer-": $ d_flag_01 = True hide snape_main with d3 - call nar(">You use your phenomenal cosmic powers to peek into the very fabric of the universe and get the correct answer.") + nar "You use your phenomenal cosmic powers to peek into the very fabric of the universe and get the correct answer." sna "" ("snape_03") anon "...!" gen "What kind of question is this...{w=0.1} Severus?" ("base", xpos="far_left", ypos="head") - anon "Forgive me... I'm just being paranoid I suppose..." + anon "Forgive me... I'm just being paranoid, I suppose..." sna "" ("snape_06") anon "Well, good night, Albus." @@ -385,7 +385,7 @@ label snape_intro_E3: show screen blkfade with d3 - $ renpy.play('sounds/07_run.ogg') + play sound "sounds/07_run.ogg" pause 2 gen "?!" ("angry", xpos="far_left", ypos="head") @@ -393,7 +393,7 @@ label snape_intro_E3: hide screen bld1 call hide_blkfade - call play_music("hitman") #TENSE THEME + play music "music/hitman.ogg" fadein 1 #TENSE THEME if_changed call ctc call bld @@ -410,6 +410,7 @@ label snape_intro_E3: gen "!!!" ("angry", xpos="far_left", ypos="head") sna "Easy now... Just answer my question." ("snape_01", wand=True) gen "Alright, alright. Just calm down, would you?" ("base", xpos="far_left", ypos="head") + gen "You might poke someone's eye with that stick if you're not careful." ("base", xpos="far_left", ypos="head") sna "........" ("snape_01", wand=True) label no_wait: @@ -475,14 +476,14 @@ label snape_intro_E3: $ renpy.choice_for_skipping() - $ snape_intro.E3_complete = True + $ states.sna.ev.intro.e3_complete = True if skip_duel == True: - $ snape_intro.duel_complete = True + $ states.sna.ev.intro.duel_complete = True jump snape_lost stop music - play music "music/boss_battle_#2_metal_loop.ogg" fadein 1 fadeout 1 - call play_sound("glass_break") + play music "music/boss_battle_#2_metal_loop.ogg" fadein 1 fadeout 1 if_changed + play sound "sounds/glass_break.ogg" pause.1 @@ -498,7 +499,7 @@ label snape_intro_E3: # THE TALK AFTER THE DUEL ENDS. label snape_intro_E4: - $ potions = 0 #Makes sure there are no potions left in the possessions. + $ states.healing_potions = 0 #Makes sure there are no potions left in the possessions. $ renpy.choice_for_skipping() stop music fadeout 2.0 @@ -511,7 +512,7 @@ label snape_intro_E4: gen "Ready to talk now?!" ("angry", xpos="far_left", ypos="head") sna "(... i-impossible...)" ("snape_36", ypos="head") - call play_music("dark_fog") + play music "music/Dark Fog.ogg" fadein 1 if_changed hide screen duel hide snape_main call gen_chibi("stand","desk","base") @@ -533,7 +534,7 @@ label snape_intro_E4: gen "And I sure as heck don't work for \"I don't know who\"!" ("base", xpos="far_left", ypos="head") sna "............................." ("snape_01") gen "I've been *Ehm*..." ("base", xpos="far_left", ypos="head") - gen "... Conducting an experiment back in my world, during which something went wrong and I ended up here." ("base", xpos="far_left", ypos="head") + gen "... Conducting an experiment back in my world, during which something went wrong, and I ended up here." ("base", xpos="far_left", ypos="head") gen "That's all..." ("base", xpos="far_left", ypos="head") sna ".........................." ("snape_01") sna "What became of the real Albus Dumbledore then?" ("snape_01") @@ -541,7 +542,7 @@ label snape_intro_E4: gen "He's Probably feeling just as surprised finding himself in my world as I am about finding myself here..." ("base", xpos="far_left", ypos="head") sna "...................................." ("snape_01") sna "When did this happen?" ("snape_01") - gen "Three days ago..." ("base", xpos="far_left", ypos="head") + gen "It happened a few days ago..." ("base", xpos="far_left", ypos="head") sna "Can you go back?" ("snape_01") gen "I think so..." ("base", xpos="far_left", ypos="head") sna "Why didn't you?" ("snape_31") @@ -571,7 +572,7 @@ label snape_intro_E4: sna "Have a safe trip home now." ("snape_01") gen "*Ehm*... Thank you, Mr Servus." ("base", xpos="far_left", ypos="head") - sna "My name is {b}Severus{/b}, not Servus.." ("snape_43") + sna "My name is {b}Severus{/b}, not Servus..." ("snape_43") gen "Right..." ("base", xpos="far_left", ypos="head") gen "Good luck with your students and the \"Potter Gang\"." ("base", xpos="far_left", ypos="head") sna "\"The potter gang\"?" ("snape_01") @@ -581,16 +582,16 @@ label snape_intro_E4: menu: "-Undo the spell-": - $ renpy.play('sounds/fire_woosh.ogg') + play sound "sounds/fire_woosh.ogg" show screen gfx_effect(510, 350, img="smoke", zoom=0.8) menu: "-Undo the spell-": - $ renpy.play('sounds/fire_woosh.ogg') + play sound "sounds/fire_woosh.ogg" show screen gfx_effect(510, 350, img="smoke", zoom=0.8) gen "*Huh*?" ("base", xpos="far_left", ypos="head") menu: "-Undo the spell-": - $ renpy.play('sounds/fire_woosh.ogg') + play sound "sounds/fire_woosh.ogg" show screen gfx_effect(510, 350, img="smoke", zoom=0.8) gen "(Something's not right, I can't undo the spell...)" ("base", xpos="far_left", ypos="head") @@ -613,7 +614,7 @@ label snape_intro_E4: sna "........................" ("snape_01") sna "You may not have one, but the real Albus Dumbledore does." ("snape_01") "-Use magic to get the right answer-": - call nar(">You use your phenomenal cosmic powers to peek into the very fabric of the universe and get the correct answer.") + nar "You use your phenomenal cosmic powers to peek into the very fabric of the universe and get the correct answer." gen "My little brother Aberforth? Why would I miss him?" ("base", xpos="far_left", ypos="head") sna "I can feel it whenever you use your alien magic..." ("snape_01") @@ -622,12 +623,12 @@ label snape_intro_E4: sna "Why are you still here, creature?" ("snape_01") gen "There's no need to be rude." ("base", xpos="far_left", ypos="head") - gen "And I'm not sure... I tried to undo the spell but nothing happened..." ("base", xpos="far_left", ypos="head") + gen "And I'm not sure... I tried to undo the spell, but nothing happened..." ("base", xpos="far_left", ypos="head") sna "Marvellous..." ("snape_35") sna "What does this mean? You're staying here for good?" ("snape_01") gen "Of course not..." ("base", xpos="far_left", ypos="head") - gen "Me being here at all is only possible because the spell is compensating for the unbalance caused by itself..." ("base", xpos="far_left", ypos="head") - gen "said spell will wear off eventually and I shall be pulled back into my world." ("base", xpos="far_left", ypos="head") + gen "Me being here at all is only possible because the spell is compensating for the imbalance caused by itself..." ("base", xpos="far_left", ypos="head") + gen "said spell will wear off eventually, and I shall be pulled back into my world." ("base", xpos="far_left", ypos="head") gen "Likewise, your Dumb-le-dork friend shall be pulled back here." ("base", xpos="far_left", ypos="head") sna "I see..." ("snape_01") sna "How long until the spell wears off?" ("snape_01") @@ -645,7 +646,7 @@ label snape_intro_E4: sna "....................." ("snape_01") sna "Splendid..." ("snape_31") - gen "Alright, to be honest I'm not sure where to go from here..." ("base", xpos="far_left", ypos="head") + gen "Alright, to be honest, I'm not sure where to go from here..." ("base", xpos="far_left", ypos="head") gen "All this time I thought I could undo the spell whenever I wanted to..." ("base", xpos="far_left", ypos="head") sna "..................................................." ("snape_01") sna ".................................." ("snape_01") @@ -678,7 +679,7 @@ label snape_intro_E4: hide screen duel call sna_chibi("hide") - $ snape_intro.E4_complete = True + $ states.sna.ev.intro.e4_complete = True jump day_start @@ -688,7 +689,7 @@ label snape_intro_E4: # Snape visits you after the dual (next evening). label snape_intro_E5: - call play_music("dark_fog") + play music "music/Dark Fog.ogg" fadein 1 if_changed call sna_walk(action="enter", xpos="mid", ypos="base") @@ -705,7 +706,7 @@ label snape_intro_E5: sna "Let's just roll with it..." ("snape_29") gen "Excuse me?" ("base", xpos="far_left", ypos="head") - sna "Well what else could we do?" ("snape_06") + sna "Well, what else could we do?" ("snape_06") sna "Normally I would alert the ministry of magic and let them take care of this mess..." sna "But I'd rather avoid any dealings with those rotten bureaucrats this time..." sna "Also, losing a headmaster, even temporarily, could hurt the school's reputation..." ("snape_10") @@ -748,7 +749,7 @@ label snape_intro_E5: gen "Seriously though, I don't see how this whole affair benefits me at all." ("base", xpos="far_left", ypos="head") sna "Do you have any choice?" ("snape_01") gen "I do..." ("base", xpos="far_left", ypos="head") - gen "Instead of sitting here on my ass all day and being quiet I could explore your world..." ("base", xpos="far_left", ypos="head") + gen "Instead of sitting here on my ass all day and being quiet, I could explore your world..." ("base", xpos="far_left", ypos="head") sna "*Hmm*..." ("snape_03") sna "Well, alright, what do you want?" ("snape_01") @@ -767,7 +768,7 @@ label snape_intro_E5: "\"I want three wishes.\"": sna "Three wishes?" ("snape_44") sna "Who do you think I am? A genie?" ("snape_24") - gen "Three wishes or I'm walking through that door right now." ("base", xpos="far_left", ypos="head") + gen "Three wishes, or I'm walking through that door right now." ("base", xpos="far_left", ypos="head") sna "...Fine." ("snape_31") sna "What do you want?" ("snape_35") gen "First, I want a maid!" ("grin", xpos="far_left", ypos="head") @@ -781,7 +782,7 @@ label snape_intro_E5: gen "I don't want my guests to just stand." ("base", xpos="far_left", ypos="head") sna "Guests? You're not supposed to have g--" ("snape_10") sna "*sigh* It's pointless reasoning with you, isn't it?" ("snape_06") - gen "Yes." ("base", xpos="far_left", ypos="head") + gen "You're learning quick." ("base", xpos="far_left", ypos="head") sna "Alright, you'll have your chair." ("snape_03") gen "and lastly..." ("base", xpos="far_left", ypos="head") gen "Teach me your magic..." ("base", xpos="far_left", ypos="head") @@ -794,7 +795,7 @@ label snape_intro_E5: call sna_chibi(flip=True) with d3 - $ renpy.play('sounds/fire_woosh.ogg') + play sound "sounds/fire_woosh.ogg" show screen gfx_effect(780, 300, img="smoke", zoom=0.7) $ chair_OBJ.hidden = False @@ -803,14 +804,14 @@ label snape_intro_E5: gen "Intriguing..." ("base", xpos="far_left", ypos="head") call sna_chibi(flip=False) sna "*Hmm*... I suppose that could be arranged..." ("snape_05", trans=d3) - gen "Oh, and I wouldn't mind if you sent me some of those Slytherin girls as well.." ("base", xpos="far_left", ypos="head") + gen "Oh, and I wouldn't mind if you sent me some of those Slytherin girls as well..." ("base", xpos="far_left", ypos="head") sna "..............." ("snape_05") sna "........................." sna "*Ha-ha-ha*!!!" ("snape_28") gen "What? What did I say?" ("base", xpos="far_left", ypos="head") sna "*A-ha-ha-ha-ha*..." ("snape_28") sna "No, no, my apologies..." ("snape_02") - sna "It's just that to me you still look and sound like Albus..." + sna "It's just that to me, you still look and sound like Albus..." sna "To hear Professor Dumbledore say things like \"Send me some of those girls\"..." sna "It's hysterical..." ("snape_22") sna "But you wouldn't understand..." ("snape_09") @@ -833,7 +834,7 @@ label snape_intro_E5: pause.2 sna "................." ("snape_06", ypos="head") - sna "\"Send those whores up, Severus!\" Ha-ha-ha.." ("snape_28") + sna "\"Send those whores up, Severus!\" *Ha-ha-ha*..." ("snape_28") call sna_chibi("leave") @@ -842,11 +843,11 @@ label snape_intro_E5: gen "I Suppose I'll just curl up in a ball on top of this desk as usual..." ("base", xpos="far_left", ypos="head") pause.2 - $ snape_unlocked = True + $ states.sna.unlocked = True # Silently add an achievement, then display a popup message. $ achievements.unlock("unlocksna", True) call popup("{size=-4}You can now summon Snape into your office.{/size}", "Character unlocked!", "interface/icons/head/snape.webp") - $ snape_intro.E5_complete = True + $ states.sna.ev.intro.e5_complete = True call tutorial("hangouts") diff --git a/game/scripts/characters/snape/hangouts.rpy b/game/scripts/characters/snape/hangouts.rpy index 6f2b8a52..32b3b5c1 100644 --- a/game/scripts/characters/snape/hangouts.rpy +++ b/game/scripts/characters/snape/hangouts.rpy @@ -1,33 +1,20 @@ -default ss_he_drink = event_class(title = "Snape Wine", start_label = "snape_hangout", events = [ - [ - ["ss_he_wine_intro"], - ["ss_he_wine_repeat"], - ["ss_he_wine_intro_E2"] - ] - ], - iconset = [["star_empty", "star_yellow"]] # You have to add icons at least for first tier, the rest will be copied over automatically. - ) +default sna_ev_hangouts_wine_e1 = Event(id="sna_ev_hangouts_wine_e1", label="ss_he_wine_intro", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_drinking") +default sna_ev_hangouts_wine_e2 = Event(id="sna_ev_hangouts_wine_e2", label="ss_he_wine_repeat", autoenqueue=True, autodequeue=False, queue="sna_eventqueue_hangouts_drinking") +default sna_ev_hangouts_wine_e3 = Event(id="sna_ev_hangouts_wine_e3", label="ss_he_wine_intro_E2", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_drinking") -default ss_he_story = event_class(title = "Snape Stories", start_label = "snape_hangout", events = [ - [ - ["ss_he_story_E1"], # Teach me wand magic - ["ss_he_story_intro_E2"], # More points for Slytherin - ["ss_he_story_intro_E3"], # M.R.M. nonsense - ["ss_he_story_intro_E4"], # Parallel worlds - ["ss_he_story_intro_E5"], # Progress with Hermione? - ["ss_he_story_E6"], # Those nasty Slytherin Sluts! - ["ss_he_story_intro_E7"], # Jasmine is a muggle - ["ss_he_story_intro_E8"], # Flogging - ["ss_he_story_intro_E9"], # Russian dream (replace this one) - ["ss_he_story_intro_E10"],# The meaning of life - ["ss_he_story_intro_E11"],# The great catastrophe - ["ss_he_story_intro_E12"],# Albus might be dead? - ["ss_he_story_intro_E13"],# Snape is happy - ["ss_he_story_E14"], # Choking Slytherin girls... - ["ss_he_story_intro_E15"] # Busy days - ] - - ], - iconset = [["star_empty", "star_yellow"]] # You have to add icons at least for first tier, the rest will be copied over automatically. - ) +default sna_ev_hangouts_stories_e1 = Event(id="sna_ev_hangouts_stories_e1", label="ss_he_story_E1", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e2 = Event(id="sna_ev_hangouts_stories_e2", label="ss_he_story_intro_E2", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e3 = Event(id="sna_ev_hangouts_stories_e3", label="ss_he_story_intro_E3", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e4 = Event(id="sna_ev_hangouts_stories_e4", label="ss_he_story_intro_E4", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e5 = Event(id="sna_ev_hangouts_stories_e5", label="ss_he_story_intro_E5", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e6 = Event(id="sna_ev_hangouts_stories_e6", label="ss_he_story_E6", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e7 = Event(id="sna_ev_hangouts_stories_e7", label="ss_he_story_intro_E7", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e8 = Event(id="sna_ev_hangouts_stories_e8", label="ss_he_story_intro_E8", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e9 = Event(id="sna_ev_hangouts_stories_e9", label="ss_he_story_intro_E9", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e10 = Event(id="sna_ev_hangouts_stories_e10", label="ss_he_story_intro_E10", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e11 = Event(id="sna_ev_hangouts_stories_e11", label="ss_he_story_intro_E11", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e12 = Event(id="sna_ev_hangouts_stories_e12", label="ss_he_story_intro_E12", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e13 = Event(id="sna_ev_hangouts_stories_e13", label="ss_he_story_intro_E13", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e14 = Event(id="sna_ev_hangouts_stories_e14", label="ss_he_story_E14", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") +default sna_ev_hangouts_stories_e15 = Event(id="sna_ev_hangouts_stories_e15", label="ss_he_story_intro_E15", autoenqueue=True, autodequeue=False, repeat=False, queue="sna_eventqueue_hangouts_stories") \ No newline at end of file diff --git a/game/scripts/characters/snape/nicknames.rpy b/game/scripts/characters/snape/nicknames.rpy index e5991b19..8a4b899d 100644 --- a/game/scripts/characters/snape/nicknames.rpy +++ b/game/scripts/characters/snape/nicknames.rpy @@ -4,12 +4,12 @@ label snape_nicknames_genie: sna "Genie I presume?" ("snape_05") gen "Nah.... {i}G{/i} as in gangsta..." ("base", xpos="far_left", ypos="head") gen "{i}Wuddup it's mister G coming at you from the big Hog.{/i}" ("base", xpos="far_left", ypos="head") - sna "Yeah, no I'm not doing that..." ("snape_04") + sna "Yeah, no... I'm not doing that." ("snape_04") "-Big D-": sna "I don't think that the real Albus Dumbledore would call himself that..." ("snape_03") gen "I suppose I am much greater than he is." ("base", xpos="far_left", ypos="head") sna "Greater than the real Albus Dumbledore?!" ("snape_25") - sna "*Hmph*... You might be a Genie but that is taking things too far..." ("snape_03") + sna "*Hmph*... You might be a Genie, but that is taking things too far..." ("snape_03") "-Master-": sna "I am not some common house elf..." ("snape_03") gen "What kind of elf are you then?" ("base", xpos="far_left", ypos="head") @@ -21,7 +21,7 @@ label snape_nicknames_genie: gen "(Why did I just say that?)" ("angry", xpos="far_left", ypos="head") menu: "-Say it again-": - gen "Err... Daddy?" ("base", xpos="far_left", ypos="head") + gen "*Err*... Daddy?" ("base", xpos="far_left", ypos="head") sna "Get the hell out of my office!" ("snape_33") gen "Okay!" ("angry", xpos="far_left", ypos="head") @@ -33,7 +33,7 @@ label snape_nicknames_genie: call gen_walk(action="leave", speed=1.5) pause 1 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("stand", "door", "base", flip=False) with d3 pause 0.8 @@ -52,13 +52,13 @@ label snape_nicknames_genie: sna "Why on earth would I do that?" ("snape_05") gen "Because it's true." ("base", xpos="far_left", ypos="head") sna "You look like an old man." ("snape_03") - gen "Hey, I'm only a sixtyfive thousand years old thank you very much..." ("base", xpos="far_left", ypos="head") + gen "Hey, I'm only a sixtyfive thousand years old, thank you very much..." ("base", xpos="far_left", ypos="head") sna "I'm talking about--{w=0.4} You know what, nevermind..." ("snape_03") "-Lord Voldemort-": sna "..." ("snape_11") gen "No?" ("base", xpos="far_left", ypos="head") sna "Where did you--" ("snape_36") - ">Snape scratches his ass nervously." + nar "Snape scratches his ass nervously." sna "How do you know that name?!" ("snape_36") gen "Alright fine... nevermind..." ("base", xpos="far_left", ypos="head") "-Custom Input-": @@ -105,7 +105,7 @@ label snape_nicknames: gen "..." ("base", xpos="far_left", ypos="head") sna "...{w=0.6}{nw}" ("snape_02") sna "...{fast} Oh, you were just doing one of your \"Hilarious\" jokes..." ("snape_01") - "-Pantysniffer-" if snape_office_intro_E2: + "-Pantysniffer-" if states.map.snape_office.intro_e3: sna "I don't sniff panties!" ("snape_18") gen "Then what do you do with them?!" ("base", xpos="far_left", ypos="head") sna "I--{w=0.2} I just collect them..." ("snape_12") diff --git a/game/scripts/characters/snape/summon.rpy b/game/scripts/characters/snape/summon.rpy index c7221fc2..e67fa4a5 100644 --- a/game/scripts/characters/snape/summon.rpy +++ b/game/scripts/characters/snape/summon.rpy @@ -1,11 +1,8 @@ label summon_snape: - - $ last_character = "snape" - - call play_music("snape") - call play_sound("door") + play music "music/Dark Fog.ogg" fadein 1 if_changed + play sound "sounds/door.ogg" call sna_chibi("stand","mid","base") with d3 @@ -23,19 +20,19 @@ label summon_snape: label .talk: menu: - "-Ask him to help Tonks-" if astoria_intro.E1_complete and not astoria_intro.E3_complete: + "-Ask him to help Tonks-" if states.ast.ev.intro.e1_complete and not states.ast.ev.intro.e3_complete: - if astoria_intro.E2_snape: + if states.ast.ev.intro.e2_ask_snape: sna "I'm still on the lookout, Genie." ("snape_01") sna "If I find the little maggot that casts those spells..." ("snape_10") jump .talk - $ snape_busy = True - $ astoria_intro.E2_snape = True + $ states.sna.busy = True + $ states.ast.ev.intro.e2_ask_snape = True $ ag_event_pause = 2 jump astoria_intro_E2_snape - "-Try solving the Quidditch Quarrel-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.E6_complete and not cho_quid.E9_complete and not cho_quid.E8_complete: + "-Try solving the Quidditch Quarrel-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e9_complete and not states.cho.ev.quidditch.e8_complete: if game.daytime: gen "I wanted to talk to you about the upcoming Quidditch game." ("base", xpos="far_left", ypos="head") sna "I don't really have time right now..." ("snape_05") @@ -52,24 +49,30 @@ label summon_snape: if wine_ITEM.owned >= 1: sna "Whatever it is, it can wait, let's sit down first, shall we." ("snape_01") call setup_fireplace_hangout(char="snape") - $ ss_he_drink.start() - $ ss_he_counter += 1 + + call bld + gen "Want to do the honours?" ("base", xpos="far_left", ypos="head") + sna "With pleasure!" ("snape_02", ypos="head") + pause.1 + + call give_gift("You hand over the bottle you found in the cupboard to professor Snape...", wine_ITEM) + $ states.gen.stats.hangouts_with_snape += 1 $ wine_ITEM.owned -= 1 jump cho_quid_E9 else: sna "I hope you have some wine at least?" ("snape_01") gen "I hoped you'd bring your own for once." ("base", xpos="far_left", ypos="head") - sna "I see.." ("snape_04") + sna "I see..." ("snape_04") sna "I guess you don't need my help after all." ("snape_31") - gen "(Bloody alcoholic..)" ("base", xpos="far_left", ypos="head") + gen "(Bloody alcoholic...)" ("base", xpos="far_left", ypos="head") jump .talk - "-Address me only as-" if hermione_intro.E6_complete: + "-Address me only as-" if states.her.ev.intro.e6_complete: call snape_nicknames_genie jump .talk - "-From now on I will refer to you as-" if hermione_intro.E6_complete: + "-From now on, I will refer to you as-" if states.her.ev.intro.e6_complete: call snape_nicknames jump .talk @@ -90,7 +93,7 @@ label summon_snape: jump snape_ready # Cardgame - "-Let's Duel-" (icon="interface/icons/small/cards.webp") if deck_unlocked: + "-Let's Duel-" (icon="interface/icons/small/cards.webp") if states.cardgame.unlocked: jump snape_duel_menu # Dismiss @@ -102,9 +105,9 @@ label summon_snape: else: sna "Goodnight then." - call play_sound("door") + play sound "sounds/door.ogg" - $ snape_busy = True + $ states.sna.busy = True hide snape_main call sna_chibi("hide") diff --git a/game/scripts/characters/snape/vars.rpy b/game/scripts/characters/snape/vars.rpy index 7803a3e4..e9d243a9 100644 --- a/game/scripts/characters/snape/vars.rpy +++ b/game/scripts/characters/snape/vars.rpy @@ -1,22 +1,38 @@ -# Main -default snape_xpos = 525 -default snape_ypos = 0 -default snape_zorder = 15 -default snape_flip = 1 -default snape_zoom = 0.5 -default snape_face = "snape_01" -default snape_animation = [] -# Flags -default snape_busy = False -default snape_unlocked = False +# General states -###SNAPE STATS### +default states.sna.busy = False +default states.sna.unlocked = False +default states.sna.level = 0 +default states.sna.chatted = False +default states.sna.map_location = "room_potions" -default sna_friendship = 0 +# Image states -# Chitchat with snape -default snape_chatted = False #Prevents you from chitchating more then once a day. Turns back to False every night. +default states.sna.image.xpos = 525 +default states.sna.image.ypos = 0 +default states.sna.image.zorder = 15 +default states.sna.image.xzoom = 1 +default states.sna.image.zoom = 0.5 +default states.sna.image.face = "snape_01" +default states.sna.image.animation = [] -# Snape hangout events -default ss_he_counter = 0 +# Event flags + +default states.sna.ev.intro.e1_complete = False # 1st visit +default states.sna.ev.intro.e2_complete = False # 2nd visit +default states.sna.ev.intro.e3_complete = False # 3rd visit, before the duel. +default states.sna.ev.intro.duel_complete = False +default states.sna.ev.intro.e4_complete = False # After the duel. +default states.sna.ev.intro.e5_complete = False # 4th visit, summon unlocked. +default states.sna.ev.hangouts.hermione_strip_invite = False +default states.sna.ev.hangouts.hermione_e1 = False +default states.sna.ev.hangouts.hermione_e2 = False +default states.sna.ev.hangouts.tonks_e1 = False +default states.sna.ev.hangouts.tonks_e2 = False +default states.sna.ev.hangouts.tonks_e3 = False +default states.sna.ev.hangouts.cho_e1 = False +default states.sna.ev.hangouts.cho_e2 = False +default states.sna.ev.cardgame.stage = 0 +default states.sna.ev.cardgame.wagers = False +default states.sna.ev.cardgame.known = False diff --git a/game/scripts/characters/susan/chibi.rpy b/game/scripts/characters/susan/chibi.rpy index ddd20122..97e3a987 100644 --- a/game/scripts/characters/susan/chibi.rpy +++ b/game/scripts/characters/susan/chibi.rpy @@ -8,7 +8,7 @@ label sus_chibi(action=None, xpos=None, ypos=None, flip=False): hide susan_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ susan_chibi.hide() with d3 pause .5 @@ -28,7 +28,7 @@ label sus_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call sus_chibi(None, "door", "base", flip) with d3 if xpos or ypos: @@ -36,7 +36,7 @@ label sus_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ susan_chibi.show() $ susan_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ susan_chibi.hide() with d3 pause .5 diff --git a/game/scripts/characters/susan/chitchat.rpy b/game/scripts/characters/susan/chitchat.rpy index 0411aa9c..e860da45 100644 --- a/game/scripts/characters/susan/chitchat.rpy +++ b/game/scripts/characters/susan/chitchat.rpy @@ -1,92 +1,91 @@ label susan_chitchat: - if susan_chatted: + if states.sus.chatted: return - $ susan_chatted = True + $ states.sus.chatted = True # Note: Susan does not have Tiers yet. - # if ast_tier == 1: + # if states.ast.tier == 1: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ast_tier == 2: + # elif states.ast.tier == 2: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ast_tier == 3: + # elif states.ast.tier == 3: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ast_tier == 4: + # elif states.ast.tier == 4: # $ random_number = renpy.random.randint(1, 11) - $ random_number = renpy.random.randint(1, 15) + random: + block: + sus "My favourite subject is Herbology..." ("open", "closed", "base", "mid") + sus "But when we're working in groups, the other students usually talk over me..." ("soft", "narrow", "base", "down") + sus "" ("annoyed", "happy", "base", "mid") - if random_number == 1: - sus "My favourite subject is Herbology..." ("open", "closed", "base", "mid") - sus "But when we're working in groups, the other students usually talk over me..." ("soft", "narrow", "base", "down") - sus "" ("annoyed", "happy", "base", "mid") + block: + sus "The Hufflepuff house entrance is hidden in the kitchen corridor." ("open", "closed", "base", "mid") + sus "Even though we're so close, I've only seen a house elf once." ("soft", "base", "raised", "mid") - elif random_number == 2: - sus "The Hufflepuff house entrance is hidden in the kitchen corridor." ("open", "closed", "base", "mid") - sus "Even though we're so close, I've only seen a house elf once." ("soft", "base", "raised", "mid") + block: + sus "Care for magical creatures is a bit scary sometimes..." ("soft", "happy", "base", "downR") + sus "When we were taught how to properly approach Hippogriffs, I was shaking the entire time." ("open", "happy", "sad", "downR") + sus "After bowing and letting it approach me, I only pet it a couple of times... I wouldn't dare to ride the thing." ("normal", "happy", "sad", "mid") - elif random_number == 3: - sus "Care for magical creatures is a bit scary sometimes..." ("soft", "happy", "base", "downR") - sus "When we were taught how to properly approach Hippogriffs, I was shaking the entire time." ("open", "happy", "sad", "downR") - sus "After bowing and letting it approach me, I only pet it a couple of times. I wouldn't dare to ride the thing." ("normal", "happy", "sad", "mid") + block: + sus "Sir, could you... Could you please tell professor Snape not to..." ("soft", "happy", "sad", "down") + sus "Never mind..." ("soft", "closed", "sad", "mid") - elif random_number == 4: - sus "Sir, could you... Could you please tell professor Snape not to..." ("soft", "happy", "sad", "down") - sus "Never mind..." ("soft", "closed", "sad", "mid") + block: + sus "Does flying have to be mandatory?" ("open", "closed", "sad", "mid") + sus "Surely only a piece of wood between you, and falling from the sky can't be safe..." ("soft", "narrow", "worried", "mid") - elif random_number == 5: - sus "Does flying have to be mandatory?" ("open", "closed", "sad", "mid") - sus "Surely only a piece of wood between you, and falling from the sky can't be safe..." ("soft", "narrow", "worried", "mid") + block: + sus "Madam Hooch was keeping a close eye on me during the last flying lesson." ("open", "base", "base", "right") + sus "I hope I'm not disappointing her too much..." ("open", "base", "sad", "downR") - elif random_number == 6: - sus "Madame Hooch was keeping a close eye on me during the last flying lesson." ("open", "base", "base", "right") - sus "I hope I'm not disappointing her too much..." ("open", "base", "sad", "downR") + block: + sus "Madam Pomfrey once prescribed me a \"Draught of peace\" to drink the night before exams, so I could get some sleep." ("open", "base", "base", "right") + sus "But even with her prescription, Snape wouldn't give one to me." ("open", "base", "sad", "downR") - elif random_number == 7: - sus "Madame Pomfrey once prescribed me a \"Draught of peace\" to drink the night before exams so I could get some sleep." ("open", "base", "base", "right") - sus "But even with her prescription, Snape wouldn't give one to me." ("open", "base", "sad", "downR") + block: + sus "Why does everyone assume I'm a Weasley, just because I've got red hair?" ("open", "base", "sad", "right") + sus "The Slytherin boys keep mocking me... Even though I'm clearly wearing Hufflepuff robes." ("annoyed", "happy", "worried", "downR") - elif random_number == 8: - sus "Why does everyone assume I'm a Weasley, just because I've got red hair?" ("open", "base", "sad", "right") - sus "Some Slytherin boys keep mocking... even though I'm clearly wearing Hufflepuff robes." ("annoyed", "happy", "worried", "downR") + block: + sus "I used to be scared of ghosts before I got to Hogwarts, but the \"Fat Friar\" is so nice it's hard to stay scared of them." ("base", "base", "base", "mid") + sus "Poltergeists on the other hand..." ("angry", "happy", "sad", "mid") - elif random_number == 9: - sus "I used to be scared of ghosts before I got to Hogwarts, but the \"Fat Friar\" is so nice it's hard to stay scared of them." ("base", "base", "base", "mid") - sus "Poltergeists on the other hand..." ("angry", "happy", "sad", "mid") + block: + sus "The \"Defence against the dark arts\" lesson when we had to confront a Boggart was one of my worst days here..." ("soft", "happy", "worried", "down") + sus "Professor Tonks had me stay behind after class to make sure I was okay." ("soft", "happy", "sad", "down") + sus "Once I got back to my dorm, some of the other students were whistling at me for some reason..." ("soft", "happy", "sad", "mid") - elif random_number == 10: - sus "The \"Defence against the dark arts\" lesson when we had to confront a Boggart was one of my worst days here..." ("soft", "happy", "worried", "down") - sus "Professor Tonks had me stay behind after class to make sure I was okay." ("soft", "happy", "sad", "down") - sus "Once I got back to my dorm, some of the other students were whistling at me for some reason..." ("soft", "happy", "sad", "mid") + block: + sus "Whilst most students go home during winter break, I usually stay at Hogwarts." ("base", "base", "base", "mid") + sus "The castle is a lot quieter than usual, but I don't really mind." ("base", "base", "shocked", "right") - elif random_number == 11: - sus "Whilst most students go home during winter break, I usually stay at Hogwarts." ("base", "base", "base", "mid") - sus "The castle is a lot quieter than usual, but I don't really mind." ("base", "base", "shocked", "right") + block: + sus "How come Professor Snape is allowed to ask us to gather ingredients in the forbidden forest?" ("soft", "happy", "sad", "mid") + sus "The students who didn't go received a bad grade, and the ones who did got detention..." ("angry", "closed", "sad", "mid") + sus "How is that fair?" ("soft", "happy", "sad", "mid") - elif random_number == 12: - sus "How come Professor Snape is allowed to ask us to gather ingredients in the forbidden forest?" ("soft", "happy", "sad", "mid") - sus "The students that didn't go got a bad grade and the ones that did got detention..." ("angry", "closed", "sad", "mid") - sus "How is that fair?" ("soft", "happy", "sad", "mid") + block: + sus "I think my school robes must've shrunk in the wash." ("open", "happy", "sad", "down") + sus "They're a lot tighter than when I bought them..." ("soft", "base", "sad", "mid") - elif random_number == 13: - sus "I think my school robes must've shrunk in the wash." ("open", "happy", "sad", "down") - sus "They're a lot tighter than when I bought them..." ("soft", "base", "sad", "mid") + block: + sus "Just because the Hufflepuff house is next to the kitchen, doesn't mean we can get food whenever we like." ("annoyed", "base", "base", "mid") + sus "So why do the Slytherin students keep asking me to show where I hide my melons?" ("annoyed", "happy", "sad", "down") - elif random_number == 14: - sus "Just because the Hufflepuff house is next to the kitchen, doesn't mean we can get food whenever we like." ("annoyed", "base", "base", "mid") - sus "So why does the Slytherin students keep asking me to show where I hide my melons?" ("annoyed", "happy", "sad", "down") - - elif random_number == 15: - sus "Why do people seem to find my surname so funny?" ("soft", "happy", "sad", "down") - sus "I mean, I suppose it's a bit unusual..." ("annoyed", "happy", "sad", "right") + block: + sus "Why do people seem to find my surname so funny?" ("soft", "happy", "sad", "down") + sus "I mean, I suppose it's a bit unusual..." ("annoyed", "happy", "sad", "right") return diff --git a/game/scripts/characters/susan/common.rpy b/game/scripts/characters/susan/common.rpy index a0fa4a3e..0cec9062 100644 --- a/game/scripts/characters/susan/common.rpy +++ b/game/scripts/characters/susan/common.rpy @@ -1,46 +1,4 @@ -define sus_face = { - "mouth": { - "neutral": ["base"], - "happy": ["base","grin"], - "naughty": ["base"], - "horny": ["base"], - "annoyed": ["upset"], - "disgusted": ["open"], - "angry": ["upset"] - }, - - "eyes": { - "neutral": ["base", "closed"], - "happy": ["base", "eager"], - "naughty": ["base", "suspicious"], - "horny": ["suspicious"], - "annoyed": ["narrow","base", "suspicious"], - "disgusted": ["wide"], - "angry": ["suspicious"] - }, - - "eyebrows": { - "neutral": ["base"], - "happy": ["base"], - "naughty": ["base","worried"], - "horny": ["base","worried"], - "annoyed": ["angry"], - "disgusted": ["worried"], - "angry": ["angry"] - }, - - "pupils": { - "neutral": ["mid"], - "happy": ["mid","L","R"], - "naughty": ["L","R","down"], - "horny": ["L","R","down"], - "annoyed": ["R","down"], - "disgusted": ["R","wide"], - "angry": ["mid"] - } -} - label end_susan_event: call sus_chibi("hide") hide susan_main @@ -49,12 +7,12 @@ label end_susan_event: call update_susan - $ active_girl = None - $ susan_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.sus.busy = True $ susan.wear("all") - - $ renpy.stop_predict(susan.get_image()) - $ renpy.stop_predict("characters/susan/face/*.webp") + $ susan.set_cum(None) + $ susan.set_face(tears=False, cheeks=False) call music_block jump main_room_menu @@ -68,30 +26,46 @@ label update_susan: return -define character.susan_say = Character("susan_name", show_icon="susan", dynamic=True) +define character.susan_say = Character("name_susan_genie", show_icon="susan", dynamic=True) init python: - def sus(what, mouth=False, eyes=False, eyebrows=False, pupils=False, cheeks=None, tears=None, + def sus(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None, emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def show(): + susan.show(force=True) + + if not renpy.in_rollback(): + renpy.with_statement(trans or d2) + + face = {"mouth": mouth, "eyes": eyes, "eyebrows": eyebrows, "pupils": pupils, "cheeks": cheeks, "tears": tears} + temp_face = renpy.game.context().temporary_attributes redraw = False tag = susan.tag layer = susan.layer - #showing = renpy.showing(name=tag, layer=layer) - if xpos != None or ypos != None: - xpos = susan.pos[0] if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = susan.pos[1] if ypos == None else sprite_pos.get("y").get(ypos, ypos) + if xpos is not None or ypos is not None: + xpos = susan.pos[0] if xpos is None else sprite_pos.get("x").get(xpos, xpos) + ypos = susan.pos[1] if ypos is None else sprite_pos.get("y").get(ypos, ypos) susan.pos = (xpos, ypos) redraw = True head_only = susan.pos[1] == sprite_pos.get("y").get("head") - if any((mouth, eyes, eyebrows, pupils, cheeks, tears)): - susan.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears) + if any(face.values()): + susan.set_face(**face) redraw = True - susan.set_emote(emote) + if temp_face: + last_face = susan.get_face() + + d = dict(zip(temp_face[::2], temp_face[1::2])) + susan.set_face(**d) + redraw = True + + if emote: + susan.set_emote(emote) + redraw = True if animation != False: susan.animation = animation @@ -102,16 +76,13 @@ init python: redraw = True if redraw: - susan.show() - - if not renpy.in_rollback(): - if trans: - renpy.with_statement(trans) - else: - renpy.with_statement(d2) + show() if what: character.susan_say(what, **kwargs) + if temp_face: + susan.set_face(**last_face) + if head_only: susan.hide() diff --git a/game/scripts/characters/susan/events/intro.rpy b/game/scripts/characters/susan/events/intro.rpy index 35dc0b1a..5dd1e75f 100644 --- a/game/scripts/characters/susan/events/intro.rpy +++ b/game/scripts/characters/susan/events/intro.rpy @@ -23,7 +23,7 @@ label nt_he_susan_E1: ton "Lately she's been too shy to even answer the simplest of questions during my class." ("annoyed", "base", "worried", "R") ton "She's lost quite a few points for her house that way." ("upset", "base", "worried", "mid") ton "Not in my lessons, of course. I'd never take points from Hufflepuff!" ("soft", "base", "worried", "R") - gen "Just send her my way and I'll drown her in house points!" ("grin", xpos="far_left", ypos="head") + gen "Just send her my way, and I'll drown her in house points!" ("grin", xpos="far_left", ypos="head") gen "And show her that her bod--" ("base", xpos="far_left", ypos="head") gen "*Ahem!* Show her that she's appreciated..." ("angry", xpos="far_left", ypos="head") ton "That's what I was thinking..." ("open", "closed", "base", "mid") @@ -32,7 +32,7 @@ label nt_he_susan_E1: gen "I don't know... banter?" ("base", xpos="far_left", ypos="head") gen "Snape sure as hell hasn't sent me any girls..." ("base", xpos="far_left", ypos="head") ton "I can teach him a thing or two about sharing - if you'd like..." ("soft", "base", "annoyed", "mid") - ton "The more the merrier in my opinion..." ("base", "happyCl", "base", "mid") + ton "The more, the merrier in my opinion..." ("base", "happyCl", "base", "mid") gen "You don't mean Snape and I..." ("base", xpos="far_left", ypos="head") ton "Of course not, don't be silly!" ("base", "narrow", "base", "mid") ton "Maybe he's afraid you'd steal them from him if you got the chance..." ("horny", "base", "angry", "mid") @@ -55,10 +55,10 @@ label nt_he_susan_E1: ton "..." ("upset", "base", "worried", "R") ton "You're making me regret this decision already..." ("open", "closed", "worried", "mid") - ">As the hours pass, you convince Tonks to describe Susan's {b}massive tits{/b} to you..." - ">It didn't take much convincing..." + nar "As the hours pass, you convince Tonks to describe Susan's {b}massive tits{/b} to you..." + nar "It didn't take much convincing..." - $ nt_he.susan_E1 = True + $ states.ton.ev.hangouts.susan_e1 = True $ sb_event_pause += 1 # New event the next day. jump end_tonks_hangout_points @@ -66,8 +66,7 @@ label nt_he_susan_E1: label susan_intro_E1: stop music fadeout 1.0 - call play_sound("knocking") - call bld + play sound "sounds/knocking.ogg" "*knock-knock-knock*" femv "*Uhm*... Professor Dumbledore, Sir?" femv "May I come in?" @@ -83,18 +82,14 @@ label susan_intro_E1: "\"Who's there?\"": $ d_flag_01 = True # Knows name. - sus "Sus--{w=0.3} Susan Bones, Sir." + sus "Sus--{w=0.3} Susan Bones, sir." gen "Susan Bones who?" ("grin", xpos="far_left", ypos="head") sus "... I'm sorry?" gen "*Ha-ha-ha-ha!*" ("grin", xpos="far_left", ypos="head") - show screen blktone - with d1 - gen "I'm a terrible person..." ("base", xpos="far_left", ypos="head") - hide screen blktone - with d1 + gen "(I'm a terrible person...)" ("base", xpos="far_left", ypos="head") sus "Professor?" gen "Yes, please come on in..." ("base", xpos="far_left", ypos="head") - sus "Thank you, Sir." + sus "Thank you, sir." "\"Not now.\"": $ d_flag_02 = True # Susan walks in anyway. @@ -102,52 +97,56 @@ label susan_intro_E1: call sus_walk(action="enter", xpos="desk", ypos="base") - call bld if d_flag_02: gen "Didn't I say not now--" ("angry", xpos="far_left", ypos="head") else: gen "How can I help you--" ("base", xpos="far_left", ypos="head") - call play_music("susan") + play music "music/teddy-bear-waltz-by-kevin-macleod.ogg" fadein 1 if_changed pause.8 $ susan.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG susan") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-1045, -390), initialize=True) - show screen animatedCG + show CG susan as cg zorder 17: + pos (-1045, -390) with fade - # Boing sound? - $ renpy.play("sounds/boing03.ogg") + play sound "sounds/boing03.ogg" #Big boobas with hpunch gen "(Damn! Look at them titties...)" menu: "\"Hello, Gorgeous!\"": - $ camera.set(zoom=0.5, pos=(-270, -150), t=3.0) - sus "*Ehm*..." ("soft", "happy", "base", "downR", cheeks="blush") # Embarrassed. - sus "H-Hello..." ("open", "happy", "base", "downL", cheeks="blush") + show CG susan as cg zorder 17: + pos (-1045, -390) + ease_quad 3.0 pos (-1045, -150) + + sus @ cheeks blush "*Ehm*..." ("soft", "happy", "base", "downR") # Embarrassed. + sus @ cheeks blush "H-Hello..." ("open", "happy", "base", "downL") "\"Susan! How great to see you!\"" if d_flag_01: - $ camera.set(zoom=0.5, pos=(-270, -150), t=3.0) + show CG susan as cg zorder 17: + pos (-1045, -390) + ease_quad 3.0 pos (-1045, -150) + gen "Where have you been all my life?" - sus "I--{w=0.4} I've been here at school for a couple of years now, Sir." ("open", "happy", "base", "mid", cheeks="blush") + sus @ cheeks blush "I--{w=0.4} I've been here at school for a couple of years now, Sir." ("open", "happy", "base", "mid") gen "You don't say..." "\"My day just got a whole lot brighter!\"": - $ camera.set(zoom=0.5, pos=(-270, -150), t=3.0) - sus "Sir?" ("open", "happy", "base", "downL", cheeks="blush") - gen "(Or should say darker?)" - show screen blktone - gen "(Those tits must cast a huge-ass shadow...)" - hide screen blktone + show CG susan as cg zorder 17: + pos (-1045, -390) + ease_quad 3.0 pos (-1045, -150) - sus "Professor Tonks said you wanted to see me?" ("soft", "happy", "base", "downL", cheeks="blush") + sus @ cheeks blush "Sir?" ("open", "happy", "base", "downL") + gen "(Or should say darker?)" + gen "(Those tits must cast a huge-ass shadow...)" + + show CG susan as cg zorder 17: + zoom 1.0 + pos (-1045, -150) + ease_quad 3.0 zoom 0.5 pos (0, 0) + + sus @ cheeks blush "Professor Tonks said you wanted to see me?" ("soft", "happy", "base", "downL") gen "Did she now?" gen "(I have to get that woman a drink for introducing me to this magnificently voluptuous creature...)" gen "Well, how nice of her." @@ -156,7 +155,7 @@ label susan_intro_E1: sus "S-Sir?" ("soft", "happy", "shocked", "mid") gen "(This must be that girl she wanted me to help with body confidence...)" gen "Did professor Tonks tell you why I wanted to see you?" - sus "N-no...{w} I'm not in trouble am I?" ("open", "happy", "base", "stare") + sus "N-no...{w} I'm not in trouble, am I?" ("open", "happy", "base", "stare") gen "Don't worry, I just needed to confirm something - You're free to go..." sus "C-confirm something?" ("angry", "happy", "base", "mid") sus "So I'm not in trouble then?" ("open", "happy", "sad", "mid") @@ -171,7 +170,8 @@ label susan_intro_E1: sus "I shall return to my dormitory then." ("open", "happy", "base", "right") sus "Good--{w=0.4} Good night, sir." ("open", "happyCl", "base", "mid") - hide screen animatedCG + $ susan.hide() + hide cg with fade call sus_walk(action="leave") @@ -180,13 +180,13 @@ label susan_intro_E1: gen "..." ("base", xpos="far_left", ypos="head") gen "Massive tits...{w=0.4} confirmed." ("base", xpos="far_left", ypos="head") - $ susan_busy = True + $ states.sus.busy = True - $ susan_unlocked = True + $ states.sus.unlocked = True $ achievements.unlock("unlocksus", True) call popup("{size=-4}You can now summon Susan into your office.{/size}", "Character unlocked!", "interface/icons/head/susan.webp") - $ susan_intro.E1_complete = True + $ states.sus.ev.intro.e1_complete = True $ ag_event_pause += 2 # Astoria intro starts in 2 days. call music_block diff --git a/game/scripts/characters/susan/gifts.rpy b/game/scripts/characters/susan/gifts.rpy index 142f7ad6..ebc1b61d 100644 --- a/game/scripts/characters/susan/gifts.rpy +++ b/game/scripts/characters/susan/gifts.rpy @@ -5,94 +5,94 @@ label give_sus_gift(gift_item): with d5 sus "" (xpos="mid", ypos="base", trans=d5) - $ gave_susan_gift = True + $ states.sus.gifted = True if gift_item == lollipop_ITEM: - call give_gift(_(">You give the lollipop to Susan..."), gift_item) + call give_gift("You give the lollipop to Susan...",gift_item) #Add text elif gift_item == chocolate_ITEM: - call give_gift(_(">You give the chocolate to Susan..."), gift_item) + call give_gift("You give the chocolate to Susan...",gift_item) #Add text elif gift_item == plush_owl_ITEM: - call give_gift(_(">You give the plush owl to Susan..."), gift_item) + call give_gift("You give the plush owl to Susan...",gift_item) #Add text elif gift_item == butterbeer_ITEM: - call give_gift(_(">You give the butterbeer to Susan..."), gift_item) + call give_gift("You give the butterbeer to Susan...",gift_item) #Add text elif gift_item == science_mag_ITEM: - call give_gift(_(">You give the educational magazine to Susan..."), gift_item) + call give_gift("You give the educational magazine to Susan...",gift_item) #Add text elif gift_item == girls_mag_ITEM: - call give_gift(_(">You give the girls magazine to Susan..."), gift_item) + call give_gift("You give the girls magazine to Susan...",gift_item) #Add text elif gift_item == adult_mag_ITEM: - call give_gift(_(">You give the adult magazine to Susan..."), gift_item) + call give_gift("You give the adult magazine to Susan...",gift_item) #Add text elif gift_item == porn_mag_ITEM: - call give_gift(_(">You give the porn magazine to Susan..."), gift_item) + call give_gift("You give the porn magazine to Susan...",gift_item) #Add text elif gift_item == krum_poster_ITEM: - call give_gift(_(">You give the poster to Susan..."), gift_item) + call give_gift("You give the poster to Susan...",gift_item) #Add text elif gift_item == sexy_lingerie_ITEM: - call give_gift(_(">You give the lingerie to Susan..."), gift_item) + call give_gift("You give the lingerie to Susan...",gift_item) #Add text elif gift_item == sexy_stockings_ITEM : - call give_gift(_(">You give the stockings to Susan..."), gift_item) + call give_gift("You give the stockings to Susan...",gift_item) #Add text elif gift_item == pink_condoms_ITEM: - call give_gift(_(">You give the condoms to Susan..."), gift_item) + call give_gift("You give the condoms to Susan...",gift_item) #Add text elif gift_item == vibrator_ITEM: - call give_gift(_(">You give the vibrator to Susan..."), gift_item) + call give_gift("You give the vibrator to Susan...",gift_item) #Add text elif gift_item == anal_lube_ITEM: - call give_gift(_(">You give the anal lube to Susan..."), gift_item) + call give_gift("You give the anal lube to Susan...",gift_item) #Add text elif gift_item == ballgag_and_cuffs_ITEM: - call give_gift(_(">You give the handcuffs to Susan..."), gift_item) + call give_gift("You give the handcuffs to Susan...",gift_item) #Add text elif gift_item == anal_plugs_ITEM: - call give_gift(_(">You give the anal plugs to Susan..."), gift_item) + call give_gift("You give the anal plugs to Susan...",gift_item) #Add text elif gift_item == testral_strapon_ITEM: - call give_gift(_(">You give the strap-on to Susan..."), gift_item) + call give_gift("You give the strap-on to Susan...",gift_item) #Add text elif gift_item == broom_2000_ITEM: - call give_gift(_(">You give the broom to Susan..."), gift_item) + call give_gift("You give the broom to Susan...",gift_item) #Add text elif gift_item == sexdoll_ITEM: - call give_gift(_(">You give the doll to Susan..."), gift_item) + call give_gift("You give the doll to Susan...",gift_item) #Add text elif gift_item == anal_beads_ITEM: - call give_gift(_(">You give the anal beads to Susan..."), gift_item) + call give_gift("You give the anal beads to Susan...",gift_item) #Add text elif gift_item == wine_ITEM: - call give_gift(_(">You give the wine to Susan..."), gift_item) + call give_gift("You give the wine to Susan...", gift_item) #Add text elif gift_item == firewhisky_ITEM: - call give_gift(_(">You give the firewhisky to Susan..."), gift_item) + call give_gift("You give the firewhisky to Susan...", gift_item) #Add text @@ -119,10 +119,10 @@ label sus_mood(value=0): else: "Susan's mood hasn't changed." - $ was_negative = sus_mood > 0 - $ sus_mood = max(min(sus_mood+value, 100), 0) + $ was_negative = states.sus.mood > 0 + $ states.sus.mood = max(min(states.sus.mood+value, 100), 0) - call describe_mood_after_gift(was_negative, sus_mood, value) + call describe_mood_after_gift(was_negative, states.sus.mood, value) hide screen blktone return diff --git a/game/scripts/characters/susan/summon.rpy b/game/scripts/characters/susan/summon.rpy index 8f13d91b..da182a4a 100644 --- a/game/scripts/characters/susan/summon.rpy +++ b/game/scripts/characters/susan/summon.rpy @@ -1,22 +1,21 @@ label summon_susan: - $ active_girl = "susan" - $ last_character = "susan" + $ states.active_girl = "susan" - $ susan_busy = True + $ states.sus.busy = True call update_susan $ renpy.checkpoint(hard=True) - call play_music("susan") - call play_sound("door") + play music "music/teddy-bear-waltz-by-kevin-macleod.ogg" fadein 1 if_changed + play sound "sounds/door.ogg" call sus_chibi("stand","mid","base") with d3 - sus "You wanted to see me, [sus_genie_name]?" ("base", "base", "base", "mid", xpos="base", ypos="base") + sus "You wanted to see me, [name_genie_susan]?" ("base", "base", "base", "mid", xpos="base", ypos="base") label susan_requests: @@ -26,8 +25,8 @@ label summon_susan: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if sus_mood > 0: - sus "I'm sorry, [sus_genie_name], but I don't want to talk right now." ("soft", "happy", "base", "downR") + if states.sus.mood > 0: + sus "I'm sorry, [name_genie_susan], but I don't want to talk right now." ("soft", "happy", "base", "downR") jump susan_requests call susan_chitchat @@ -38,13 +37,13 @@ label summon_susan: jump susan_requests # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if susan_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.sus.wardrobe_unlocked: hide susan_main with d1 call wardrobe jump susan_requests - "-Hidden-" (style="disabled") if not susan_wardrobe_unlocked: - call nar(">You haven't unlocked this feature yet.") + "-Wardrobe-" (style="disabled") if not states.sus.wardrobe_unlocked: + nar "You haven't unlocked this feature yet." jump susan_requests "-Give Item-" (icon="interface/icons/small/gift.webp"): @@ -59,11 +58,11 @@ label summon_susan: # Dismiss "-Dismiss her-": if game.daytime: - sus "I will go back to classes then, [sus_genie_name]." ("base", "base", "shocked", "mid") + sus "I will go back to classes then, [name_genie_susan]." ("base", "base", "shocked", "mid") else: - sus "*Ehm*... good night then, [sus_genie_name]." ("base", "base", "base", "mid") + sus "*Ehm*... Good night then, [name_genie_susan]." ("base", "base", "base", "mid") - call play_sound("door") + play sound "sounds/door.ogg" jump end_susan_event @@ -75,36 +74,36 @@ label susan_talk: "-Address me only as-": menu: "-Sir-": - $ sus_genie_name = _("Sir") - sus "Very well, [sus_genie_name]." ("base", "base", "base", "mid") + $ name_genie_susan = "Sir" + sus "Very well, [name_genie_susan]." ("base", "base", "base", "mid") jump susan_talk "-Dumbledore-": - $ sus_genie_name = _("Dumbledore") - sus "Okay, [sus_genie_name]." ("soft", "base", "base", "mid") + $ name_genie_susan = "Dumbledore" + sus "Okay, [name_genie_susan]." ("soft", "base", "base", "mid") jump susan_talk "-Professor-": - $ sus_genie_name = _("Professor") - sus "Of course, [sus_genie_name]." ("base", "base", "base", "mid") + $ name_genie_susan = "Professor" + sus "Of course, [name_genie_susan]." ("base", "base", "base", "mid") jump susan_talk "-Old man-": - $ sus_genie_name = _("Old man") + $ name_genie_susan = "Old man" sus "That wouldn't be very polite, Professor." ("soft", "happy", "low", "mid") - gen "Don't worry, [susan_name]. I always tell my students to call me silly names." ("base", xpos="far_left", ypos="head") + gen "Don't worry, [name_susan_genie]. I always tell my students to call me silly names." ("base", xpos="far_left", ypos="head") gen "It helps bonding with them!" ("grin", xpos="far_left", ypos="head") - sus "If you say so... *Ehm*, [sus_genie_name]." ("normal", "happy", "low", "downL") + sus "If you say so... *Ehm*, [name_genie_susan]." ("normal", "happy", "low", "downL") gen "(And soon I'm going to bond with your tits!)" ("angry", xpos="far_left", ypos="head") jump susan_talk "-Genie-": - $ sus_genie_name = _("Genie") + $ name_genie_susan = "Genie" sus "I... *Ehm*--" ("soft", "happy", "base", "mid") sus "Is that something people call you?" ("open", "base", "raised", "mid") gen "Yes-yes--, everybody!" ("base", xpos="far_left", ypos="head") gen "It's perfectly normal!" ("base", xpos="far_left", ypos="head") sus "(...)" ("soft", "base", "base", "mid") - sus "O--{w=0.2} Okay then... [sus_genie_name]." ("grin", "happy", "base", "mid") + sus "O--{w=0.2} Okay then... [name_genie_susan]." ("grin", "happy", "base", "mid") jump susan_talk "-Lord Voldemort-": - $ sus_genie_name = _("Lord Voldemort") + $ name_genie_susan = "Lord Voldemort" sus "Why would you want me to call you that?" ("angry", "happy", "low", "mid") sus "We aren't supposed to mention his name!" ("angry", "happy", "worried", "mid") gen "It's only a name, girl..." ("base", xpos="far_left", ypos="head") @@ -116,94 +115,94 @@ label susan_talk: sus "V--{w=0.2} Voldemort..." ("angry", "happyCl", "sad", "mid") jump susan_talk "-Daddy-": - $ sus_genie_name = _("Daddy") - sus "Sir, no!" ("angry", "base", "base", "mid", cheeks="blush") - sus "I can't possibly call you that!" ("open", "happy", "sad", "mid", cheeks="blush") + $ name_genie_susan = "Daddy" + sus @ cheeks blush "Sir, no!" ("angry", "base", "base", "mid") + sus @ cheeks blush "I can't possibly call you that!" ("open", "happy", "sad", "mid") gen "But I want you to." ("base", xpos="far_left", ypos="head") gen "There's no harm in calling me Daddy." ("grin", xpos="far_left", ypos="head") - sus "But that's!--" ("angry", "narrow", "sad", "mid", cheeks="blush") - sus "(This is wrong, Susan!)" ("angry", "closed", "sad", "mid", cheeks="blush") + sus @ cheeks blush "But that's!--" ("angry", "narrow", "sad", "mid") + sus @ cheeks blush "(This is wrong, Susan!)" ("angry", "closed", "sad", "mid") gen "Miss Bones?" ("base", xpos="far_left", ypos="head") - sus "O--{w=0.2} Okay then... Professor-- *Ehm*... D-Daddy." ("annoyed", "happy", "worried", "stare", cheeks="blush") + sus @ cheeks blush "O--{w=0.2} Okay then... Professor-- *Ehm*... D-Daddy." ("annoyed", "happy", "worried", "stare") jump susan_talk "-Master-": - $ sus_genie_name = _("Master") + $ name_genie_susan = "Master" sus "M--{w=0.2} Master?" ("soft", "base", "base", "stare") sus "I don't think I should call my teachers that." ("soft", "narrow", "base", "downR") gen "No-no--, that's what you should call your teachers nowadays!" ("base", xpos="far_left", ypos="head") gen "But only call me that!" ("base", xpos="far_left", ypos="head") - sus "*Ehm*... Very well, [sus_genie_name]." ("soft", "happy", "base", "down") + sus "*Ehm*... Very well, [name_genie_susan]." ("soft", "happy", "base", "down") jump susan_talk "-Custom Input-": - $ temp_name = renpy.input(_("(Please enter the name.)"), sus_genie_name, ALLOWED_CHARACTERS, length=14) + $ temp_name = renpy.input("(Please enter the name.)", name_genie_susan, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name == "": jump susan_talk else: - $ sus_genie_name = temp_name - sus "*Ehm*... Okay. I will call you [sus_genie_name]." ("base", "base", "base", "mid") + $ name_genie_susan = temp_name + sus "*Ehm*... Okay. I will call you [name_genie_susan]." ("base", "base", "base", "mid") jump susan_talk "-Never mind-": jump susan_requests - "-From now on I will refer to you as-": + "-From now on, I will refer to you as-": menu: "-Miss Bones-": - $ susan_name = _("Miss Bones") - sus "Of course, [sus_genie_name]." ("base", "base", "base", "mid") + $ name_susan_genie = "Miss Bones" + sus "Of course, [name_genie_susan]." ("base", "base", "base", "mid") jump susan_talk "-Susan-": - $ susan_name = _("Susan") - sus "Of course, [sus_genie_name]." ("base", "base", "base", "mid") + $ name_susan_genie = "Susan" + sus "Of course, [name_genie_susan]." ("base", "base", "base", "mid") jump susan_talk "-Girl-": - $ susan_name = _("Girl") - sus "I'm okay with that, [sus_genie_name]." ("base", "base", "base", "mid") + $ name_susan_genie = "Girl" + sus "I'm okay with that, [name_genie_susan]." ("base", "base", "base", "mid") jump susan_talk "-Cow-": - $ susan_name = _("Cow") - sus "Why would you want to call me that, [sus_genie_name]?" ("angry", "happy", "low", "mid") - sus "The other girls already call me that and I hate it..." ("angry", "narrow", "low", "down") + $ name_susan_genie = "Cow" + sus "Why would you want to call me that, [name_genie_susan]?" ("angry", "happy", "low", "mid") + sus "The other girls already call me that, and I hate it..." ("angry", "narrow", "low", "down") gen "You poor thing!" ("base", xpos="far_left", ypos="head") gen "You see, if someone like me would call you that, maybe it wouldn't affect you as much." ("base", xpos="far_left", ypos="head") sus "I--... You might be right." ("open", "narrow", "base", "down") - sus "You can call me a Cow, [sus_genie_name]." ("soft", "narrow", "base", "downR", cheeks="blush") + sus @ cheeks blush "You can call me a Cow, [name_genie_susan]." ("soft", "narrow", "base", "downR") jump susan_talk "-Betsy-": - $ susan_name = _("Betsy") + $ name_susan_genie = "Betsy" sus "But, sir... Isn't that... You know..." ("open", "happy", "sad", "mid") gen "You know... What?" ("base", xpos="far_left", ypos="head") - sus "Isn't that a name you'd give to a-- A cow?" ("open", "happy", "sad", "downR", cheeks="blush") + sus @ cheeks blush "Isn't that a name you'd give to a-- A cow?" ("open", "happy", "sad", "downR") gen "Oh, is it?" ("base", xpos="far_left", ypos="head") - sus "*Ehm*... Yes, I think so at least..." ("open", "happy", "worried", "mid", cheeks="blush") - sus "Some of the other girls shouted it at me before..." ("annoyed", "happy", "worried", "down", cheeks="blush") + sus @ cheeks blush "*Ehm*... Yes, I think so, at least..." ("open", "happy", "worried", "mid") + sus @ cheeks blush "Some of the other girls shouted it at me before..." ("annoyed", "happy", "worried", "down") gen "That's a shame... I thought you'd like it..." ("base", xpos="far_left", ypos="head") - sus "Oh, Well... I suppose as long as it's not ill meaning..." ("open", "happy", "worried", "downR", cheeks="blush") + sus @ cheeks blush "Oh, well... I suppose as long as it's not ill meaning..." ("open", "happy", "worried", "downR") gen "Of course not!" ("base", xpos="far_left", ypos="head") - sus "Alright then, you can call me that if you like..." ("soft", "base", "base", "mid", cheeks="blush") + sus @ cheeks blush "Alright then, you can call me that if you like..." ("soft", "base", "base", "mid") jump susan_talk "-Slut-": - $ susan_name = _("Slut") - sus "[sus_genie_name]!" ("soft", "wide", "base", "mid", cheeks="blush") - sus "You can't be serious!" ("angry", "happy", "base", "mid", cheeks="blush") + $ name_susan_genie = "Slut" + sus @ cheeks blush "[name_genie_susan]!" ("soft", "wide", "base", "mid") + sus @ cheeks blush "You can't be serious!" ("angry", "happy", "base", "mid") gen "Why not. Nobody has to know..." ("base", xpos="far_left", ypos="head") - sus "How could you even think of me like that!" ("open", "happy", "sad", "downR", cheeks="blush") - sus "I'm not a... slut." ("soft", "narrow", "sad", "downR", cheeks="blush") + sus @ cheeks blush "How could you even think of me like that!" ("open", "happy", "sad", "downR") + sus @ cheeks blush "I'm not a... slut." ("soft", "narrow", "sad", "downR") gen "Of course not. This is just to strengthen your self-esteem." ("base", xpos="far_left", ypos="head") gen "Trust me, I know what I'm doing." ("base", xpos="far_left", ypos="head") - gen "Being called a slut always boosts a girls confidence!" ("base", xpos="far_left", ypos="head") - sus "R-- Really?" ("soft", "happy", "sad", "mid", cheeks="blush") + gen "Being called a slut always boosts a girl's confidence!" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "R-- Really?" ("soft", "happy", "sad", "mid") gen "Yes. Now... shall we try it?" ("base", xpos="far_left", ypos="head") - sus "... alright, [sus_genie_name]..." ("base", "happy", "sad", "mid", cheeks="blush") + sus @ cheeks blush "... Alright, [name_genie_susan]..." ("base", "happy", "sad", "mid") jump susan_talk "-Custom Input-": - $ temp_name = renpy.input(_("(Please enter the name.)"), susan_name, ALLOWED_CHARACTERS, length=14) + $ temp_name = renpy.input("(Please enter the name.)", name_susan_genie, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name == "": jump susan_talk else: - $ susan_name = temp_name + $ name_susan_genie = temp_name sus "I don't like it, but--" ("base", "base", "base", "mid") sus "Promise you'll only call me that when we are alone." ("base", "base", "base", "mid") gen "Promised!" ("grin", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/susan/vars.rpy b/game/scripts/characters/susan/vars.rpy index 1d169657..d60978d7 100644 --- a/game/scripts/characters/susan/vars.rpy +++ b/game/scripts/characters/susan/vars.rpy @@ -1,18 +1,27 @@ -# Stats -default sus_tier = 1 -default sus_whoring = 0 -default sus_mood = 0 +# General states -# Flags -default susan_busy = False -default susan_unlocked = False -default susan_wardrobe_unlocked = False -default susan_chatted = False -default susan_outfits_schedule = True -default gave_susan_gift = False +default states.sus.tier = 1 +default states.sus.level = 0 +default states.sus.public_tier = 0 +default states.sus.public_level = 0 +default states.sus.mood = 0 +default states.sus.unlocked = False +default states.sus.busy = False +default states.sus.gifted = False +default states.sus.favors_unlocked = False +default states.sus.requests_unlocked = False +default states.sus.wardrobe_unlocked = False +default states.sus.wardrobe_scheduling = True +default states.sus.chatted = False +default states.sus.map_location = "room_h" + +# Event flags + +default states.sus.ev.intro.e1_complete = False # Names -default susan_name = _("Miss Bones") -default sus_genie_name = _("Sir") + +default name_susan_genie = "Miss Bones" +default name_genie_susan = "Sir" diff --git a/game/scripts/characters/susan/wardrobe.rpy b/game/scripts/characters/susan/wardrobe.rpy index 5052a4ac..6bebfcda 100644 --- a/game/scripts/characters/susan/wardrobe.rpy +++ b/game/scripts/characters/susan/wardrobe.rpy @@ -2,131 +2,94 @@ ## Character ## ############### -default susan = Doll(name="susan", - clothes={"headgear": [None, 15, True], - "hair": [None, 4, True], - "glasses": [None, 12, True], - "earrings": [None, 14, True], - "neckwear": [None, 11, True], - "robe": [None, 28, True], - "gloves": [None, 21, True], - "top": [None, 15, True], - "bra": [None, 9, True], - "bottom": [None, 8, True], - "garterbelt": [None, 7, True], - "panties": [None, 6, True], - "stockings": [None, 5, True], - "buttplug": [None, -1, True], - "pubes": [None, 3, True], - "tattoo0": [None, 1, True], - "tattoo1": [None, 1, True], - "tattoo2": [None, 1, True], - "tattoo3": [None, 1, True], - "tattoo4": [None, 1, True], - "piercing0": [None, 2, True], - "piercing1": [None, 2, True], - "piercing2": [None, 2, True], - "piercing3": [None, 2, True], - "piercing4": [None, 2, True], - "accessory0": [None, 12, True], - "accessory1": [None, 12, True], - "accessory2": [None, 12, True], - "accessory3": [None, 12, True], - "accessory4": [None, 12, True], - "makeup0": [None, 3, True], - "makeup1": [None, 3, True], - "makeup2": [None, 3, True], - "makeup3": [None, 3, True], - "makeup4": [None, 3, True]}, - face={"tears": [None, 12, True], - "cheeks": [None, 7, True], - "eyebrows": ["base", 11, True], - "eyes": ["base", 8, True], - "pupils": ["mid", 9, True], - "mouth": ["base", 13, True]}, - body={"base": ["front", 0], - "breasts": [None, 2]}) +default susan = Doll(name="susan") + +default sus_frame_default = DollBodypart("susan", ("hidden", "frame"), "frame", "default") +default sus_body_default = DollOutfit([sus_frame_default], hidden=True) + +########## +## Hair ## +########## + +default sus_hair_base = DollCloth("susan", ("head", "hair"), "hair", "base", ["#d55523ff", "#e76d3dff"], unlocked=True, zorder=205) ####################### ## Schoolgirl Outfit ## ####################### -default sus_hair_base = DollCloth("susan", ("head", "hair"), "hair", "base", [[213, 85, 35, 255], [231, 109, 61, 255]], unlocked=True) +default sus_top_school1 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_1", ["#b9b8b8ff", "#726d7eff", "#332b36ff", "#d4a10eff"], unlocked=True) +default sus_top_school2 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_2", ["#b9b8b8ff", "#726d7eff", "#332b36ff", "#d4a10eff"], unlocked=True) +default sus_top_school3 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_3", ["#b9b8b8ff", "#e7dbdbff", "#726d7eff", "#332b36ff", "#d4a10eff"], unlocked=True) +default sus_top_school4 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_4", ["#b9b8b8ff", "#e7dbdbff", "#332b36ff", "#d4a10eff"], unlocked=True) +default sus_top_school5 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_5", ["#b9b8b8ff", "#332b36ff", "#d4a10eff", "#e7dbdbff"], unlocked=True) +#TODO open collar variant default sus_top_school6 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_6", ["#b9b8b8ff", "#726d7eff", "#332b36ff", "#d4a10eff"], unlocked=True) +default sus_top_school7 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_7", ["#726d7eff", "#332b36ff", "#d4a10eff"], unlocked=True) +default sus_bottom_school1 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_1", ["#675a6cff", "#e8b10dff"], unlocked=True) +default sus_bottom_school2 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_2", ["#675a6cff", "#e8b10dff"], unlocked=True) +default sus_bottom_school3 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_3", ["#675a6cff", "#e8b10dff"], unlocked=True) +default sus_bottom_school4 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_4", ["#675a6cff", "#e8b10dff"], unlocked=True) -#TBA -#Tops -default sus_top_school1 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_1", [[185,184,184,255], [114,109,126,255], [51,43,54,255], [212,161,14,255]], unlocked=True) -default sus_top_school2 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_2", [[185,184,184,255], [114,109,126,255], [51,43,54,255], [212,161,14,255]], unlocked=True) -default sus_top_school3 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_3", [[185,184,184,255], [231,219,219,255], [114,109,126,255], [51,43,54,255], [212,161,14,255]], unlocked=True) -default sus_top_school4 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_4", [[185,184,184,255], [231,219,219,255], [51,43,54,255], [212,161,14,255]], unlocked=True) -default sus_top_school5 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_5", [[185,184,184,255], [51,43,54,255], [212,161,14,255], [231,219,219,255]], unlocked=True) -#TODO open collar variant default sus_top_school6 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_6", [[185,184,184,255], [114,109,126,255], [51,43,54,255], [212,161,14,255]], unlocked=True) -default sus_top_school7 = DollCloth("susan", ("upper body", "shirts"), "top", "top_school_7", [[114,109,126,255], [51,43,54,255], [212,161,14,255]], unlocked=True) +default sus_bra_base1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "basic_bra_1", ["#ffeeedff", "#ecbfbfff", "#f98787ff"], unlocked=True) +default sus_panties_base1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "basic_panties_1", ["#ffeeedff", "#ecbfbfff", "#f98787ff"], unlocked=True) -#Bottoms -#orig file colours default sus_bottom_school1 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_1", [[86, 74, 91, 255], [219,165,13,255]], unlocked=True) -default sus_bottom_school1 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_1", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) -default sus_bottom_school2 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_2", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) -default sus_bottom_school3 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_3", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) -default sus_bottom_school4 = DollCloth("susan", ("lower body", "skirts"), "bottom", "school_skirt_4", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) +default sus_stockings_school1 = DollCloth("susan", ("legwear", "stockings"), "stockings", "short_school_1", ["#d4a10eff", "#332b36ff"], unlocked=True) +default sus_stockings_school2 = DollCloth("susan", ("legwear", "stockings"), "stockings", "short_school_2", ["#332b36ff"], unlocked=True) - -#Basic Underwear -default sus_bra_base1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "basic_bra_1", [[255, 238, 237, 255], [236, 191, 191, 255], [249, 135, 135, 255]], unlocked=True) -default sus_panties_base1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "basic_panties_1", [[255, 238, 237, 255], [236, 191, 191, 255], [249, 135, 135, 255]], unlocked=True) - -#Stockings -default sus_stockings_school1 = DollCloth("susan", ("legwear", "stockings"), "stockings", "short_school_1", [[212,161,14,255], [51,43,54,255]], unlocked=True) -default sus_stockings_school2 = DollCloth("susan", ("legwear", "stockings"), "stockings", "short_school_2", [[51,43,54,255]], unlocked=True) - -#Robes -#TODO +default sus_robe_school_1 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_1", ["#606060ff", "#d4a10eff"], unlocked=True, level=0) +default sus_robe_school_2 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_2", ["#606060ff", "#d4a10eff"], unlocked=True, level=4) +default sus_robe_school_3 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_3", ["#606060ff", "#d4a10eff"], unlocked=True, level=10) +default sus_robe_school_4 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_4", ["#606060ff", "#d4a10eff"], unlocked=True, level=13) default sus_outfit_default = DollOutfit([sus_hair_base, sus_top_school1, sus_bottom_school1, sus_bra_base1, sus_panties_base1, sus_stockings_school1], unlocked=True) default sus_outfit_last = DollOutfit([sus_hair_base], hidden=True) - ########################## ## Muggle Casual Outfit ## ########################## -default sus_top_muggle_casual1 = DollCloth("susan", ("upper body", "sweaters"), "top", "muggle_casual_top_1", [[157, 105, 68, 255]]) -default sus_bottom_jeans1 = DollCloth("susan", ("lower body", "trousers"), "bottom", "jeans_1", [[78, 65, 127, 255], [242, 114, 35, 255]]) -default sus_bra_muggle1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "muggle_bra_1", [[225, 201, 161, 255], [255, 251, 219, 255]]) -default sus_panties_muggle1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "muggle_panties_1", [[225, 201, 161, 255], [255, 251, 219, 255]]) +default sus_top_muggle_casual1 = DollCloth("susan", ("upper body", "sweaters"), "top", "muggle_casual_top_1", ["#9d6944ff"]) +default sus_bottom_jeans1 = DollCloth("susan", ("lower body", "trousers"), "bottom", "jeans_1", ["#4e417fff", "#f27223ff"]) +default sus_bra_muggle1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "muggle_bra_1", ["#e1c9a1ff", "#fffbdbff"]) +default sus_panties_muggle1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "muggle_panties_1", ["#e1c9a1ff", "#fffbdbff"]) default sus_outfit_muggle_casual1 = DollOutfit([sus_hair_base, sus_top_muggle_casual1, sus_bottom_jeans1, sus_bra_muggle1, sus_panties_muggle1], unlocked=True) +###################### +## Priestess Outfit ## +###################### + +default sus_headgear_priestess = DollClothDynamic("susan", ("head", "headgear"), "headgear", "priestess_headdress", ["#273843ff", "#e4ebf0ff"], tracking="?hair") +default sus_top_priestess = DollCloth("susan", ("upper body", "dresses"), "top", "priestess_dress", ["#273843ff", "#e4ebf0ff"]) +default sus_lace_stockings1 = DollCloth("susan", ("legwear", "stockings"), "stockings", "lace_stockings_1", ["#000000ff"]) +default sus_hat_necklace =DollCloth("susan", ("head", "neckwear"), "neckwear", "hat_necklace", ["#f0be78ff"], zorder=213) + +default sus_outfit_priestess = DollOutfit([sus_hair_base, sus_headgear_priestess, sus_top_priestess, sus_lace_stockings1, sus_hat_necklace, sus_bra_base1, sus_panties_base1,], price=400, name="Priestess Outfit", desc="This outfit radiates innocence.") + +################## +## Latex Outfit ## +################## + +default sus_bra_latex1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "latex_bra_1", ["#fa8bf1ff"]) +default sus_panties_latex1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "latex_panties_1", ["#fa8bf1ff"]) + +default sus_outfit_latex1 = DollOutfit([sus_hair_base, sus_bra_latex1, sus_panties_latex1], price=200, name="Latex Underwear", desc="Enchanted to prevent chafing.") + +########################### +## Lace Lingerie Outfit ## +########################### + +default sus_panties_lace1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "lace_panties_1", ["#f6f3d8ff", "#ce7be764", "#a3b4d8ff"]) +default sus_stockings_striped_1 = DollCloth("susan", ("legwear", "stockings"), "stockings", "striped_stockings_1", ["#f6f3d8ff", "#ce7be7aa"]) +default sus_garterbelt_1 = DollCloth("susan", ("legwear", "garterbelts"), "garterbelt", "garter_belt_1", ["#ce83e7ff"]) +default sus_bra_lace1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "lace_bra_1", ["#f6f3d8ff", "#ce7be764"]) + +default sus_outfit_lace1 = DollOutfit([sus_hair_base, sus_bra_lace1, sus_panties_lace1, sus_stockings_striped_1, sus_garterbelt_1], price=250, name="Lace Lingerie", desc="Perfect for making a girl look even more presentable.") ############### ## Underwear ## ############### - -# Lingerie - -default sus_bra_lace1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "lace_bra_1", [[246, 243, 216, 255], [206, 123, 231, 100]]) -default sus_panties_lace1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "lace_panties_1", [[246, 243, 216, 255], [206, 123, 231, 100], [163, 180, 216, 255]]) -default sus_stockings_striped_1 = DollCloth("susan", ("legwear", "stockings"), "stockings", "striped_stockings_1", [[246, 243, 216, 255], [206, 123, 231, 170]]) -default sus_garterbelt_1 = DollCloth("susan", ("legwear", "garterbelts"), "garterbelt", "garter_belt_1", [[206, 131, 231, 255]]) - -default sus_outfit_lace1 = DollOutfit([sus_hair_base, sus_bra_lace1, sus_panties_lace1, sus_stockings_striped_1, sus_garterbelt_1], price=250, name="Lace Lingerie", desc="Perfect for making a girl look even more presentable.") - # Sport -default sus_bra_sport1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "sport_bra_1", [[107, 107, 139, 255], [219, 205, 79, 255]], unlocked=True) -default sus_panties_sport1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "sport_panties_1", [[107, 107, 139, 255], [219, 205, 79, 255]], unlocked=True) - -# Latex - -default sus_bra_latex1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "latex_bra_1", [[250, 139, 241, 255]]) -default sus_panties_latex1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "latex_panties_1", [[250, 139, 241, 255]]) - -default sus_outfit_latex1 = DollOutfit([sus_hair_base, sus_bra_latex1, sus_panties_latex1], price=200, name="Latex Underwear", desc="Enchanted to prevent chafing.") - -# Robes - -default sus_robe_school_1 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_1", [[96, 96, 96, 255], [212, 161, 14, 255]], unlocked=True, level=0) -default sus_robe_school_2 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_2", [[96, 96, 96, 255], [212, 161, 14, 255]], unlocked=True, level=4) -default sus_robe_school_3 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_3", [[96, 96, 96, 255], [212, 161, 14, 255]], unlocked=True, level=10) -default sus_robe_school_4 = DollCloth("susan", ("upper body", "robes"), "robe", "robe_school_4", [[96, 96, 96, 255], [212, 161, 14, 255]], unlocked=True, level=13) +default sus_bra_sport1 = DollCloth("susan", ("upper undergarment", "bras"), "bra", "sport_bra_1", ["#6b6b8bff", "#dbcd4fff"], unlocked=True) +default sus_panties_sport1 = DollCloth("susan", ("lower undergarment", "panties"), "panties", "sport_panties_1", ["#6b6b8bff", "#dbcd4fff"], unlocked=True) diff --git a/game/scripts/characters/susan/wardrobe_reactions.rpy b/game/scripts/characters/susan/wardrobe_reactions.rpy index 70787487..f43130b6 100644 --- a/game/scripts/characters/susan/wardrobe_reactions.rpy +++ b/game/scripts/characters/susan/wardrobe_reactions.rpy @@ -28,12 +28,12 @@ define sus_responses = { label sus_reaction_category_fail(category): if category == "upper undergarment": - sus "M--{w=0.2} my underwear? W-- {w=0.2}Why do you require me to--{w=0.2} *Ehm*..." ("angry", "happy", "sad", "down", cheeks="blush") + sus @ cheeks blush "M--{w=0.2} my underwear? W-- {w=0.2}Why do you require me to--{w=0.2} *Ehm*..." ("angry", "happy", "sad", "down") elif category == "lower undergarment": - sus "M--{w=0.2} my underwear? W--{w=0.2} Why do you require me to--{w=0.2} *Ehm*..." ("soft", "happy", "sad", "downR", cheeks="blush") + sus @ cheeks blush "M--{w=0.2} my underwear? W--{w=0.2} Why do you require me to--{w=0.2} *Ehm*..." ("soft", "happy", "sad", "downR") elif category == "piercings & tattoos": - sus "W--{w=0.2} What would people... Sir, I don't want to be made f--{w=0.2} fun of..." ("angry", "happy", "sad", "right", cheeks="blush") - sus "" ("normal", "happy", "sad", "mid", cheeks="blush") + sus @ cheeks blush "W--{w=0.2} What would people... Sir, I don't want to be made f--{w=0.2} fun of..." ("angry", "happy", "sad", "right") + sus @ cheeks blush "" ("normal", "happy", "sad", "mid") return label sus_reaction_touch(what): @@ -44,35 +44,26 @@ label sus_reaction_touch(what): if what == "head": $ mouse_headpat() - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: + random: sus "S--{w=0.2} Sir..." ("soft", "base", "base", "mid") - elif random_number == 2: sus "A--{w=0.2} Are you s-sure this is appropriate?" ("open", "base", "base", "right") - elif random_number == 3: - sus "Professor, p--{w=0.2} please..." ("base", "base", "sad", "downR", cheeks="blush") + sus @ cheeks blush "Professor, p--{w=0.2} please..." ("base", "base", "sad", "downR") elif what == "breasts": $ mouse_heart() - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - sus "W--{w=0.2} Why are you..." ("soft", "happy", "sad", "stare", cheeks="blush") - elif random_number == 2: - sus "P--{w=0.2} please, it's embarrassing..." ("angry", "happy", "sad", "downR", cheeks="blush") - elif random_number == 3: - sus "D--{w=0.2} don't... Don't look at me sir..." ("soft", "closed", "sad", "mid", cheeks="blush") + random: + sus @ cheeks blush "W--{w=0.2} Why are you..." ("soft", "happy", "sad", "stare") + sus @ cheeks blush "P--{w=0.2} please, it's embarrassing..." ("angry", "happy", "sad", "downR") + sus @ cheeks blush "D--{w=0.2} don't... Don't look at me, sir..." ("soft", "closed", "sad", "mid") elif what == "vagina": $ mouse_heart() - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - sus "M--{w=0.2} My..." ("soft", "happy", "sad", "stare", cheeks="blush") - elif random_number == 2: - sus "S--{w=0.2} Sir..." ("soft", "closed", "sad", "mid", cheeks="blush") - elif random_number == 3: - sus "P--{w=0.2} please sir, it's embarrassing..." ("base", "happy", "sad", "downR", cheeks="blush") + random: + sus @ cheeks blush "M--{w=0.2} My..." ("soft", "happy", "sad", "stare") + sus @ cheeks blush "S--{w=0.2} Sir..." ("soft", "closed", "sad", "mid") + sus @ cheeks blush "P--{w=0.2} please sir, it's embarrassing..." ("base", "happy", "sad", "downR") return @@ -80,21 +71,21 @@ label sus_reaction_touch_fail(what): if what == "head": $ mouse_slap() - sus "*Eeek!*" ("angry", "happyCl", "sad", "mid", cheeks="blush") - sus "I'm sorry sir, you scared me..." ("angry", "base", "sad", "mid", cheeks="blush") + sus @ cheeks blush "*Eeek*!" ("angry", "happyCl", "sad", "mid") + sus @ cheeks blush "I'm sorry sir, you scared me..." ("angry", "base", "sad", "mid") gen "(Poor thing isn't used to human touch...)" ("base", xpos="far_left", ypos="head") elif what == "breasts": $ mouse_slap() - sus "Please...{w=0.4} Don't bully me [sus_genie_name]." ("angry", "happy", "sad", "down", cheeks="blush") + sus @ cheeks blush "Please...{w=0.4} Don't bully me [name_genie_susan]." ("angry", "happy", "sad", "down") elif what == "vagina": $ mouse_slap() - sus "No! Please don't make me do this in front of everyone again..." ("angry", "happyCl", "sad", "mid", cheeks="blush") + sus @ cheeks blush "No! Please don't make me do this in front of everyone again..." ("angry", "happyCl", "sad", "mid") gen "Do what?" ("base", xpos="far_left", ypos="head") - sus "N--{w=0.2} nothing [sus_genie_name], forgive me." ("angry", "wide", "sad", "stare", cheeks="blush") + sus @ cheeks blush "N--{w=0.2} nothing [name_genie_susan], forgive me." ("angry", "wide", "sad", "stare") gen "(...)" ("base", xpos="far_left", ypos="head") return @@ -114,11 +105,11 @@ label sus_reaction_equip_fail(item): # else: # - sus "I--{w=0.2} I..." ("soft", "happy", "base", "right", cheeks="blush") + sus @ cheeks blush "I--{w=0.2} I..." ("soft", "happy", "base", "right") gen "You don't like it?" ("base", xpos="far_left", ypos="head") - sus "It's not like t-that, I just..." ("angry", "happy", "worried", "right", cheeks="blush") + sus @ cheeks blush "It's not like t-that, I just..." ("angry", "happy", "worried", "right") gen "Not comfortable wearing it?" ("base", xpos="far_left", ypos="head") - sus "*Uh-huh*" ("normal", "happy", "worried", "down", cheeks="blush") + sus @ cheeks blush "*Uh-huh*" ("normal", "happy", "worried", "down") gen "Okay, maybe later then." ("base", xpos="far_left", ypos="head") return @@ -126,28 +117,28 @@ label sus_reaction_equip_fail(item): label sus_reaction_unequip(item): ### Example # if item.type == "panties": - # if sus_whoring > 15: + # if states.sus.level > 15: # sus "You want to see my snatch?" - # sus "You got it [genie_name]!" + # sus "You got it [name_genie_hermione]!" # return label sus_reaction_unequip_fail(item): if item.type == "panties": - sus "I'm N--{w=0.2} not comfortable with that, [sus_genie_name]..." ("open", "happy", "sad", "right", cheeks="blush") + sus @ cheeks blush "I'm N--{w=0.2} not comfortable with that, [name_genie_susan]..." ("open", "happy", "sad", "right") elif item.type == "bra": - sus "P--{w=0.2} please, I can't be D--{w=0.2} doing that [sus_genie_name].." ("soft", "happy", "worried", "down", cheeks="blush") + sus @ cheeks blush "P--{w=0.2} please, I can't be D--{w=0.2} doing that, [name_genie_susan]..." ("soft", "happy", "worried", "down") elif item.type == "top": - sus "I don't know if this is a good idea..." ("annoyed", "happy", "sad", "mid", cheeks="blush") + sus @ cheeks blush "I don't know if this is a good idea..." ("annoyed", "happy", "sad", "mid") gen "You have nothing to be ashamed of." ("base", xpos="far_left", ypos="head") - sus "S--{w=0.2} Sorry, I can't..." ("soft", "happyCl", "worried", "mid", cheeks="blush") + sus @ cheeks blush "S--{w=0.2} Sorry, I can't..." ("soft", "happyCl", "worried", "mid") elif item.type == "bottom": - sus "I--{w=0.2} I can't..." ("open", "happyCl", "sad", "mid", cheeks="blush") + sus @ cheeks blush "I--{w=0.2} I can't..." ("open", "happyCl", "sad", "mid") gen "It's okay, we'll work on your confidence first." ("base", xpos="far_left", ypos="head") - sus "Thank you..." ("soft", "happy", "base", "mid", cheeks="blush") + sus @ cheeks blush "Thank you..." ("soft", "happy", "base", "mid") return label sus_reaction_equip_outfit(item): @@ -156,15 +147,15 @@ label sus_reaction_equip_outfit(item): ######################## if item == sus_outfit_default: gen "Could you put on your regular school uniform for me?" ("base", xpos="far_left", ypos="head") - sus "Of course, [sus_genie_name]." ("base", "base", "base", "mid") + sus "Of course, [name_genie_susan]." ("base", "base", "base", "mid") sus "I'll just go and change real quick..." ("open", "base", "base", "right") ########################## ## Muggle Casual Outfit ## ########################## elif item == sus_outfit_muggle_casual1: - gen "Could you put on your normal clothing for me." ("base", xpos="far_left", ypos="head") - sus "What do you--{w=0.2} *Ehm*...{w=0.4} Which clothing, [sus_genie_name]?" ("soft", "happy", "raised", "mid") + gen "Could you put on your normal clothing for me?" ("base", xpos="far_left", ypos="head") + sus "What do you--{w=0.2} *Ehm*...{w=0.4} Which clothing, [name_genie_susan]?" ("soft", "happy", "raised", "mid") gen "The boring sweater one, and the jeans." ("base", xpos="far_left", ypos="head") sus "My muggle clothing?" ("open", "base", "raised", "mid") gen "Sure!" ("base", xpos="far_left", ypos="head") @@ -174,22 +165,34 @@ label sus_reaction_equip_outfit(item): ## Lingerie Outfit 1 ## ######################## elif item == sus_outfit_lace1: - gen "Could you put on these lingerie for me please?" ("base", xpos="far_left", ypos="head") - sus "Okay...{w=0.4} One moment [sus_genie_name]." ("base", "narrow", "base", "downR", cheeks="blush") + gen "Could you put on this lingerie for me please?" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "Okay...{w=0.4} One moment [name_genie_susan]." ("base", "narrow", "base", "downR") ############################## ## Latex Underwear Outfit 1 ## ############################## elif item ==sus_outfit_latex1: - gen "Put your latex underwear on for me." - sus "The-- The latex, but it's so tight..." ("soft", "narrow", "base", "down", cheeks="blush") - gen "I know! Perfectly enhances your greatest features!" - gen "Or squishes them, rather..." - sus "Alright, if you say so..." ("base", "narrow", "base", "down", cheeks="blush") + gen "Put your latex underwear on for me." ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "The--{w=0.2} The latex, but it's so tight..." ("soft", "narrow", "base", "down") + gen "I know! Perfectly enhances your greatest features!" ("base", xpos="far_left", ypos="head") + gen "Or squishes them, rather..." ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "Alright, if you say so..." ("base", "narrow", "base", "down") + + ################ + ## Priestess Outfit ## + ################ + elif item ==sus_outfit_priestess: + gen "How about you put on this Priestess outfit for me?" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "A--{w=0.2} A Priestess outfit, [name_genie_susan]?" ("soft", "narrow", "base", "mid") + gen "Indeed." ("grin", xpos="far_left", ypos="head") + sus @ cheeks blush "Why would you-- I mean... Sorry, but I'm a bit confused." ("open", "narrow", "base", "down") + gen "Luckily, you've got me here for guidance." ("grin", xpos="far_left", ypos="head") + gen "Now put the dress on." ("grin", xpos="far_left", ypos="head") + sus @ cheeks blush "Oh--{w=0.2} Okay then..." ("open", "narrow", "base", "mid") else: gen "Could you put this on for me?" ("base", xpos="far_left", ypos="head") - sus "Of course [sus_genie_name]..." ("base", "base", "base", "mid") + sus "Of course [name_genie_susan]..." ("base", "base", "base", "mid") # TODO: Blacklist fallbacks have to be added. return @@ -199,10 +202,10 @@ label sus_reaction_equip_outfit_fail(item): ## Lingerie Outfit 1 ## ######################## if item == sus_outfit_lace1: - gen "Could you put on these lingerie for me please?" ("base", xpos="far_left", ypos="head") - sus "L--{w=0.2} Lingerie!?" ("angry", "wide", "shocked", "mid", cheeks="blush") + gen "Could you put on this lingerie for me please?" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "L--{w=0.2} Lingerie!?" ("angry", "wide", "shocked", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") - sus "I--{w=0.2} I--{w=0.2} Why would you ask me to--" ("angry", "happyCl", "worried", "mid", cheeks="blush") + sus @ cheeks blush "I--{w=0.2} I--{w=0.2} Why would you ask me to--" ("angry", "happyCl", "worried", "mid") gen "...{w=0.4} Maybe some other time then." ("base", xpos="far_left", ypos="head") ############################## @@ -210,24 +213,37 @@ label sus_reaction_equip_outfit_fail(item): ############################## elif item ==sus_outfit_latex1: gen "Put your latex underwear on for me." ("base", xpos="far_left", ypos="head") - sus "The-- The what?!?" ("angry", "wide", "shocked", "mid", cheeks="blush") + sus @ cheeks blush "The-- The what?!?" ("angry", "wide", "shocked", "mid") gen "These!" ("grin", xpos="far_left", ypos="head") - sus "Oh, heavens!" ("clench", "wide", "base", "down", cheeks="blush") - sus "I can't wear these!" ("open", "happyCl", "worried", "mid", cheeks="blush") + sus @ cheeks blush "Oh, heavens!" ("clench", "wide", "base", "down") + sus @ cheeks blush "I can't wear these!" ("open", "happyCl", "worried", "mid") gen "Of course you can! I made sure to have them made specifically for your size of--" ("base", xpos="far_left", ypos="head") gen "I mean, your size!" ("angry", xpos="far_left", ypos="head") - sus "..." ("annoyed", "happy", "sad", "mid", cheeks="blush") + sus @ cheeks blush "..." ("annoyed", "happy", "sad", "mid") gen "Oh, you meant can't as in won't." ("base", xpos="far_left", ypos="head") - gen "Alright..." ("base", xpos="far_left", ypos="head") + gen "Alright... Never mind then." ("base", xpos="far_left", ypos="head") + ###################### + ## Priestess Outfit ## + ###################### + elif item ==sus_outfit_priestess: + gen "Put on this Priestess outfit for me will you?" ("base", xpos="far_left", ypos="head") + sus "A what, sorry?" + gen "This dress, here." ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "B-- But, [name_genie_susan]!" ("angry", "wide", "shocked", "mid") + sus @ cheeks blush "S-- Surely wearing that would be s--{w=0.2} sacrilegious!" ("open", "happyCl", "worried", "mid") + gen "Sacre-- what?" ("base", xpos="far_left", ypos="head") + gen "Sorry, I don't speak French." ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "I-- I am not a Priestess, [name_genie_susan]." ("soft", "happy", "sad", "down") + gen "What does that have to do with wearing a dress?" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "S-- Sorry, [name_genie_susan]... I think I better not."("soft", "happy", "sad", "right") + gen "Sacrebleu..." ("base", xpos="far_left", ypos="head") - gen "Or squishes them, rather..." - sus "Alright, if you say so..." ("base", "narrow", "base", "down", cheeks="blush") else: sus "I--{w=0.2} I..." ("angry", "happy", "sad", "mid") gen "You don't like it?" ("base", xpos="far_left", ypos="head") - sus "It's not t-that I--{w=0.2} I just..." ("soft", "happyCl", "sad", "mid", cheeks="blush") + sus @ cheeks blush "It's not t-that I--{w=0.2} I just..." ("soft", "happyCl", "sad", "mid") gen "Not comfortable wearing it?" ("base", xpos="far_left", ypos="head") - sus "*Uh-huh*" ("soft", "happy", "sad", "down", cheeks="blush") + sus @ cheeks blush "*Uh-huh*" ("soft", "happy", "sad", "down") gen "Okay, maybe later then." ("base", xpos="far_left", ypos="head") return @@ -240,40 +256,40 @@ label sus_reaction_blacklist(item): sus "I would feel cold without my top..." ("annoyed", "happy", "sad", "down") if "bottom" in item.blacklist and susan.is_worn("bottom"): - sus "I c--{w=0.2} can't take off my bottoms." ("open", "happy", "sad", "down", cheeks="blush") + sus @ cheeks blush "I c--{w=0.2} can't take off my bottoms." ("open", "happy", "sad", "down") gen "Can't or won't?" ("base", xpos="far_left", ypos="head") - sus "Won't..." ("annoyed", "happy", "sad", "mid", cheeks="blush") + sus @ cheeks blush "Won't..." ("annoyed", "happy", "sad", "mid") gen "Come off it, I'm sure you'll like it." ("base", xpos="far_left", ypos="head") - sus "..." ("soft", "happy", "base", "right", cheeks="blush") + sus @ cheeks blush "..." ("soft", "happy", "base", "right") if "bra" in item.blacklist and susan.is_worn("bra"): gen "Let me guess, you aren't comfortable without a bra?" ("base", xpos="far_left", ypos="head") - sus "*uh-huh*" ("soft", "happy", "sad", "down", cheeks="blush") - sus "" ("soft", "happy", "sad", "mid", cheeks="blush") + sus @ cheeks blush "*uh-huh*" ("soft", "happy", "sad", "down") + sus @ cheeks blush "" ("soft", "happy", "sad", "mid") if "panties" in item.blacklist and susan.is_worn("panties"): - sus "M--{w=0.2} My panties..." ("angry", "happy", "sad", "down", cheeks="blush") - gen "Oh, right... Yeah you'd need to do something about those..." ("base", xpos="far_left", ypos="head") - sus "I'd have to--{w=0.4} To..." ("soft", "happy", "sad", "downR", cheeks="blush") + sus @ cheeks blush "M--{w=0.2} My panties..." ("angry", "happy", "sad", "down") + gen "Oh, right... Yeah, you'd need to do something about those..." ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "I'd have to--{w=0.4} To..." ("soft", "happy", "sad", "downR") gen "How about just giving it a try?" ("base", xpos="far_left", ypos="head") - gen "If you don't like it you can always change back, would that be okay?" ("base", xpos="far_left", ypos="head") - sus "Alright..." ("base", "happy", "base", "down", cheeks="blush") - sus "" ("base", "happy", "base", "mid", cheeks="blush") + gen "If you don't like it, you can always change back, would that be okay?" ("base", xpos="far_left", ypos="head") + sus @ cheeks blush "Alright..." ("base", "happy", "base", "down") + sus @ cheeks blush "" ("base", "happy", "base", "mid") return label sus_reaction_fallback(item): - if sus_whoring < get_character_requirement("susan", "unequip top") and not "top" in susan.blacklist and not item.type == "top": + if states.sus.level < get_character_requirement("susan", "unequip top") and not "top" in susan.blacklist and not item.type == "top": $ susan.equip(sus_top_school1) - if sus_whoring < get_character_requirement("susan", "unequip bottom") and not "bottom" in susan.blacklist and not item.type == "bottom": + if states.sus.level < get_character_requirement("susan", "unequip bottom") and not "bottom" in susan.blacklist and not item.type == "bottom": $ susan.equip(sus_bottom_school1) - if sus_whoring < get_character_requirement("susan", "unequip bra") and not "bra" in susan.blacklist and not item.type == "bra": + if states.sus.level < get_character_requirement("susan", "unequip bra") and not "bra" in susan.blacklist and not item.type == "bra": $ susan.equip(sus_bra_base1) - if sus_whoring < get_character_requirement("susan", "unequip panties") and not "panties" in susan.blacklist and not item.type == "panties": + if states.sus.level < get_character_requirement("susan", "unequip panties") and not "panties" in susan.blacklist and not item.type == "panties": $ susan.equip(sus_panties_base1) sus "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "right") diff --git a/game/scripts/characters/tonks/chibi.rpy b/game/scripts/characters/tonks/chibi.rpy index 45cf2ed1..a3db59f2 100644 --- a/game/scripts/characters/tonks/chibi.rpy +++ b/game/scripts/characters/tonks/chibi.rpy @@ -8,7 +8,7 @@ label ton_chibi(action=None, xpos=None, ypos=None, flip=False): hide tonks_main hide screen bld1 hide screen blktone - call play_sound("door") + play sound "sounds/door.ogg" $ tonks_chibi.hide() with d3 pause .5 @@ -28,7 +28,7 @@ label ton_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= with d3 if action == "enter": - call play_sound("door") + play sound "sounds/door.ogg" call ton_chibi(None, "door", "base", flip) with d3 if xpos or ypos: @@ -36,7 +36,7 @@ label ton_walk(xpos=None, ypos=None, speed=1.0, action=None, reduce=False, path= elif action == "leave": $ tonks_chibi.show() $ tonks_chibi.move(("door", "base"), speed, reduce) - call play_sound("door") + play sound "sounds/door.ogg" $ tonks_chibi.hide() with d3 pause .5 @@ -175,7 +175,7 @@ label ton_chibi_scene(action="reset", xpos="mid", ypos="base", trans=None): screen tonks_chibi_desk(action): tag tonks_chibi_scene - zorder desk_zorder + zorder states.desk_chibi_zorder # Works with any image that matches the desk area add "ch_ton [action]" xpos 370 ypos 336 xanchor 0.5 yanchor 0.5 diff --git a/game/scripts/characters/tonks/chitchats.rpy b/game/scripts/characters/tonks/chitchats.rpy index 1fb561c2..ffd4906c 100644 --- a/game/scripts/characters/tonks/chitchats.rpy +++ b/game/scripts/characters/tonks/chitchats.rpy @@ -1,176 +1,171 @@ label tonks_chitchat: - if tonks_chatted: + if states.ton.chatted: return - label .reroll: - - $ tonks_chatted = True + $ states.ton.chatted = True # Note: Tonks doesn't use tiers yet. - # if ton_tier == 1: + # if states.ton.tier == 1: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ton_tier == 2: + # elif states.ton.tier == 2: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ton_tier == 3: + # elif states.ton.tier == 3: # # $ random_number = renpy.random.randint(MIN, MAX) # pass - # elif ton_tier == 4: + # elif states.ton.tier == 4: # $ random_number = renpy.random.randint(1, 11) - $ random_number = renpy.random.randint(1, 11) - # Chitchats #TODO 3, 10 should check if you've done some amount of public favours - if random_number == 1: - ton "Teaching has been so much fun!" ("grin", "base", "raised", "mid") - ton "It's so much better than working at the Ministry." ("open", "closed", "annoyed", "mid") - ton "I can't believe how much time I spent in that shit-hole..." ("base", "base", "angry", "R") - elif random_number == 2: - ton "I spotted another cute girl in my class today..." ("soft", "base", "base", "R") - ton "I hope she's into points as much as the rest." ("horny", "narrow", "raised", "mid") + random: + block: + ton "Teaching has been so much fun!" ("grin", "base", "raised", "mid") + ton "It's so much better than working at the Ministry." ("open", "closed", "annoyed", "mid") + ton "I can't believe how much time I spent in that shit-hole..." ("base", "base", "angry", "R") - elif random_number == 3: - ton "Don't tell professor McGonagall, but I once used her appearance to search one of the student's underwear drawer..." ("grin", "closed", "worried", "mid") - ton "They didn't suspect a thing." ("soft", "wink", "base", "mid") + block: + ton "I spotted another cute girl in my class today..." ("soft", "base", "base", "R") + ton "I hope she's into points as much as the rest." ("horny", "narrow", "raised", "mid") - elif random_number == 4: - ton "Being a teacher sure has its perks. If I was caught with firewhisky as a student I would've gotten expelled." ("soft", "closed", "annoyed", "mid") - ton "Now I can have as much as I like, even share some every once in a while." ("grin", "wink", "base", "mid") + block: + ton "Don't tell professor McGonagall, but I once used her appearance to search one of the student's underwear drawer..." ("grin", "closed", "worried", "mid") + ton "They didn't suspect a thing." ("soft", "wink", "base", "mid") - elif random_number == 5: - ton "I sometimes wonder if I should have gone into the medicine field..." ("open", "narrow", "base", "R") - ton "I could've had Madam Pomfrey's job by now..." ("normal", "base", "base", "mid") - ton "Maybe I could ask her if she needs any assistance on my off hours." ("soft", "base", "base", "R") + block: + ton "Being a teacher certainly has its perks... If I had been caught with firewhisky as a student, I would've been expelled." ("soft", "closed", "annoyed", "mid") + ton "Now I can have as much as I like, even share some every once in a while." ("grin", "wink", "base", "mid") - elif random_number == 6: - ton "I feel like I have a lot more in common with the students than the other teachers..." ("open", "base", "base", "R") - ton "They're all so old..." ("normal", "base", "base", "up") - ton "Madam Hooch is cool though, she, and I roll the same way... in more ways than one." ("soft", "base", "base", "mid") + block: + ton "I sometimes wonder if I should have gone into the medicine field..." ("open", "narrow", "base", "R") + ton "I could've had Madam Pomfrey's job by now..." ("normal", "base", "base", "mid") + ton "Maybe I could ask her if she needs any assistance on my off hours." ("soft", "base", "base", "R") - elif random_number == 7: - ton "I had to keep one of the students after class for special tutoring." ("open", "base", "base", "R") - ton "As a defence against the dark arts teacher it is my job to protect them against both outside threats and inner demons..." ("open", "base", "base", "L") - ton "She has a lot to learn but it's getting there." ("horny", "base", "raised", "L") + block: + ton "I feel like I have a lot more in common with the students than the other teachers..." ("open", "base", "base", "R") + ton "They're all so old..." ("normal", "base", "base", "up") + ton "Madam Hooch is cool though, she, and I roll the same way... in more ways than one." ("soft", "base", "base", "mid") - elif random_number == 8: - ton "Snape doesn't seem to like me much..." ("base", "base", "base", "R") - ton "First I thought it was because I stole a girding potion in my youth..." ("open", "base", "base", "L") - ton "But it seems to be more because he wants my job..." ("open", "base", "raised", "mid") - ton "The sunlight could probably do him some good." ("base", "base", "angry", "mid") + block: + ton "I had to keep one of the students after class for special tutoring." ("open", "base", "base", "R") + ton "As a defence against the dark arts teacher, it is my job to protect them against both outside threats and inner demons..." ("open", "base", "base", "L") + ton "She has a lot to learn, but it's getting there." ("horny", "base", "raised", "L") - elif random_number == 9: - ton "When I first saw Snape I thought he must be a vampire..." ("open", "base", "base", "mid") - ton "Turns out he's just a normal dude with pale skin..." ("open", "base", "base", "R") - ton "If he were a vampire I would have been all over him..." ("horny", "base", "raised", "R") + block: + ton "Snape doesn't seem to like me much..." ("base", "base", "base", "R") + ton "First I thought it was because I stole a girding potion in my youth..." ("open", "base", "base", "L") + ton "But it seems to be more because he wants my job..." ("open", "base", "raised", "mid") + ton "The sunlight could probably do him some good." ("base", "base", "angry", "mid") - elif random_number == 10: - ton "Good students get a little star from me in the corner on each test." ("open", "base", "base", "mid") - ton "That doesn't necessarily mean good grades though..." ("base", "base", "base", "mid") + block: + ton "When I first saw Snape I thought he must be a vampire..." ("open", "base", "base", "mid") + ton "Turns out he's just a normal dude with pale skin..." ("open", "base", "base", "R") + ton "If he were a vampire I would have been all over him..." ("horny", "base", "raised", "R") - elif random_number == 11: - ton "We had an accident involving pixies in class today. I can't believe they haven't been taken out of the curriculum." ("open", "base", "base", "R") - ton "One of the students had her clothes completely destroyed..." ("open", "base", "base", "mid") - ton "Actually, maybe the pixies aren't that bad..." ("base", "base", "base", "down") + block: + ton "Good students get a little star from me in the corner on each test." ("open", "base", "base", "mid") + ton "That doesn't necessarily mean good grades though..." ("base", "base", "base", "mid") - elif random_number == 12: - ton "I'm not going to throw any of the other teachers under the broom about their teaching methods, but..." ("open", "base", "base", "down") - ton "I try to not take away points for simple mistakes, I was pretty clumsy myself..." ("soft", "base", "shocked", "downR") - ton "I like to reward my students rather than punishing them..." ("base", "narrow", "shocked", "mid") + block: + ton "We had an accident involving pixies in class today. I can't believe they haven't been taken out of the curriculum." ("open", "base", "base", "R") + ton "One of the students had her clothes completely destroyed..." ("open", "base", "base", "mid") + ton "Actually, maybe the pixies aren't that bad..." ("base", "base", "base", "down") - elif random_number == 13: - ton "There's a secret passage to Honeydukes right outside my classroom..." ("soft", "base", "base", "mid") - ton "Having free access to the sweetshop has been a real benefit to reward my students." ("base", "base", "base", "R") + block: + ton "I'm not going to throw any of the other teachers under the broom about their teaching methods, but..." ("open", "base", "base", "down") + ton "I try to not take away points for simple mistakes, I was pretty clumsy myself..." ("soft", "base", "shocked", "downR") + ton "I like to reward my students rather than punishing them..." ("base", "narrow", "shocked", "mid") - elif random_number == 14: - ton "I hope I'll have enough time to have a positive influence on this school and the students..." ("open", "base", "base", "L") - ton "If I can't make a mark in the school I should at least be able to make one on the students." ("horny", "narrow", "base", "mid") + block: + ton "There's a secret passage to Honeydukes right outside my classroom..." ("soft", "base", "base", "mid") + ton "Having free access to the sweetshop has been a real benefit to reward my students." ("base", "base", "base", "R") - elif random_number == 15: - ton "Becoming an auror is extremely difficult and the job is almost entirely dominated by men..." ("upset", "narrow", "worried", "R") - ton "I think I made the right choice of becoming a teacher." ("open", "closed", "shocked", "mid") + block: + ton "I hope I'll have enough time to have a positive influence on this school and the students..." ("open", "base", "base", "L") + ton "If I can't make a mark in the school, I should at least be able to make one on the students." ("horny", "narrow", "base", "mid") - elif random_number == 16: - ton "My mother was a pure-blood but was burned off the Black family tree after marrying a muggle-born..." ("open", "base", "base", "down") - ton "Some people won't understand but I think you should be allowed to love whoever you want..." ("open", "base", "base", "mid") + block: + ton "Becoming an auror is extremely difficult, and the job is almost entirely dominated by men..." ("upset", "narrow", "worried", "R") + ton "I think I made the right choice of becoming a teacher." ("open", "closed", "shocked", "mid") - elif random_number == 17: - ton "Don't tell anyone but I must have spent a fortune on Tolipan Blemish Blitzer in my time studying at Hogwarts..." ("open", "narrow", "base", "downR") - ton "My parents thought I was just being clumsy and needed replacement materials but most of the money they sent me was spent on beauty and hair products..." ("annoyed", "base", "base", "R") + block: + ton "My mother was a pure-blood but she was burned off the Black family tree after marrying a muggle-born..." ("open", "base", "base", "down") + ton "Some people won't understand, but I think you should be allowed to love whoever you want..." ("open", "base", "base", "mid") - elif random_number == 18: - ton "I only really chased after boys during school because all the other girls did..." ("open", "base", "raised", "down") - ton "Secretly I just wanted them to chase after me instead..." ("normal", "base", "base", "L") + block: + ton "Don't tell anyone, but I must have spent a fortune on Tolipan Blemish Blitzer in my time studying at Hogwarts..." ("open", "narrow", "base", "downR") + ton "My parents thought I was just being clumsy and needed replacement materials, but most of the money they sent me was spent on beauty and hair products..." ("annoyed", "base", "base", "R") - elif random_number == 19: - ton "I learned a lot being tutored by Alastor Moody..." ("soft", "base", "base", "mid") - ton "Never thought I'd end up being a teacher myself..." ("open", "base", "raised", "down") - ton "Though my methods are slightly different to his..." ("soft", "base", "base", "downR") + block: + ton "I only really chased after boys during school because all the other girls did..." ("open", "base", "raised", "down") + ton "Secretly I just wanted them to chase after me instead..." ("normal", "base", "base", "L") - elif random_number == 20: - ton "I don't like when people call me Nymphadora... It's Tonks!" ("annoyed", "base", "annoyed", "mid") - ton "Last time someone called me that, I used an engorgement charm on them." ("open", "base", "angry", "R") - ton "Don't ask me what I aimed at..." ("crooked_smile", "base", "base", "up") + block: + ton "I learned a lot from having Alastor Moody tutor me..." ("soft", "base", "base", "mid") + ton "Never thought I'd end up being a teacher myself..." ("open", "base", "raised", "down") + ton "Though my methods are slightly different to his..." ("soft", "base", "base", "downR") - elif random_number == 21: - ton "My favourite creature has to be the were-wolf..." ("open", "closed", "base", "mid") - ton "their beast-like nature excites me..." ("soft", "narrow", "base", "mid") - ton "In another lifetime maybe..." ("base", "base", "raised", "down") + block: + ton "I don't like when people call me Nymphadora... It's Tonks!" ("annoyed", "base", "annoyed", "mid") + ton "Last time someone called me that, I used an engorgement charm on them." ("open", "base", "angry", "R") + ton "Don't ask me what I aimed at..." ("crooked_smile", "base", "base", "up") - elif random_number == 22: - ton "The students laughed when I accidentally tripped during my last lesson..." ("open", "base", "base", "R") - ton "Little did they know I got a good view whilst on the ground..." ("horny", "narrow", "raised", "stare") + block: + ton "My favourite creature has to be the were-wolf..." ("open", "closed", "base", "mid") + ton "their beast-like nature excites me..." ("soft", "narrow", "base", "mid") + ton "In another lifetime maybe..." ("base", "base", "raised", "down") - elif random_number == 23: - ton "One of the girls had their boggart turn into a student pointing and laughing at her..." ("open", "base", "base", "R") - ton "I'm going to teach her to not be ashamed of her body." ("soft", "narrow", "base", "mid") + block: + ton "The students laughed when I accidentally tripped during my last lesson..." ("open", "base", "base", "R") + ton "Little did they know I got a good view whilst on the ground..." ("horny", "narrow", "raised", "stare") - elif random_number == 24: - ton "Today I taught the students about the {i}Tanglepest{/i}..." ("open", "base", "base", "mid") - ton "A foul creature that is drawn to footwear..." ("open", "base", "base", "R") - ton "It doesn't actually exist, I just wanted an excuse to have the students show me their feet." ("horny", "base", "base", "mid") + block: + ton "One of the girls had their boggart turn into a student, and it was pointing and laughing at her..." ("open", "base", "base", "R") + ton "I'm going to teach her to not be ashamed of her body." ("soft", "narrow", "base", "mid") - elif 25 <= random_number <= 31 and tonks_morph_known: - # Note: dictionary would work better for this use case. - $ random_number = renpy.random.randint(1, 6) + block: + ton "Today I taught the students about the {i}Tanglepest{/i}..." ("open", "base", "base", "mid") + ton "A foul creature that is drawn to footwear..." ("open", "base", "base", "R") + ton "It doesn't actually exist... I just wanted an excuse to have the students show me their feet." ("horny", "base", "base", "mid") - if random_number == 1: + block if states.gen.ev.tonks.metamorphmagi_aware: ton "Since Metamorphmagi can change their skin, I sometimes just don't bother wearing any clothes." ("soft", "base", "shocked", "mid") ton "I once changed the colour of my skin and made it look like a tight shirt..." ("grin", "narrow", "base", "R") ton "I might have worked topless once or twice..." ("horny", "base", "raised", "mid") - elif random_number == 2: + + block if states.gen.ev.tonks.metamorphmagi_aware: ton "I often got detentions by morphing into prefects..." ("normal", "base", "base", "R") - ton "It was worth it though as I had free range to the prefects' bathroom..." ("base", "wide", "base", "mid") - elif random_number == 3: + ton "But It was worth it, as I was able to utilize the prefects' bathroom..." ("base", "wide", "base", "mid") + + block if states.gen.ev.tonks.metamorphmagi_aware: ton "Most of my abilities are based around emotions..." ("open", "base", "base", "mid") ton "My hair can go red when I'm upset or angry..." ("upset", "base", "base", "mid") - ton "Don't tell anyone but my natural hair colour is actually more brown..." ("open", "base", "base", "R") - ton "People think it's pink but that's because I'm horny all the time." ("base", "base", "base", "down") - elif random_number == 4: + ton "Don't tell anyone, but my natural hair colour is actually more brown..." ("open", "base", "base", "R") + ton "People think it's pink, but that's because I'm horny all the time." ("base", "base", "base", "down") + + block if states.gen.ev.tonks.metamorphmagi_aware: ton "There are rumours that Snape has set up an Age Line to keep students away from his private stash..." ("normal", "narrow", "base", "R") ton "Won't stop me borrowing some polyjuice potions though... Not that I need them..." ("open", "base", "base", "R") - ton "But maybe I can find a girl that doesn't mind drinking it and have some fun." ("horny", "base", "raised", "R") - elif random_number == 5: + ton "But maybe I can find a girl who doesn't mind drinking it and have some fun." ("horny", "base", "raised", "R") + + block if states.gen.ev.tonks.metamorphmagi_aware: ton "I'm a metamorphmagus. I can change my appearance at will..." ("open", "base", "base", "mid") ton "Makes spying on the other teachers and students a lot easier..." ("grin", "base", "raised", "mid") - elif random_number == 6: + + block if states.gen.ev.tonks.metamorphmagi_aware: ton "I can change the shape and length of my tongue any way I want." ("open", "base", "base", "mid") ton "Imagine the possibilities..." ("open_wide_tongue2", "narrow", "base", "mid") - elif random_number == 32 and susan_unlocked: - ton "Susan is such a lovely girl..." ("open", "base", "base", "mid") - ton "But she really isn't very confident in her body..." ("open", "base", "raised", "R") - ton "I do hope your little games can help her open up a bit..." ("base", "base", "base", "mid") - else: - # Either tonks_morph_known or susan_unlocked flags weren't True, let's re-roll the dialogue. - # This workaround wouldn't be necessary if we've used a dictionary. - jump .reroll + block if states.sus.unlocked: + ton "Susan is such a lovely girl..." ("open", "base", "base", "mid") + ton "But she really isn't very confident in her body..." ("open", "base", "raised", "R") + ton "I do hope your little games can help her open up a bit..." ("base", "base", "base", "mid") return diff --git a/game/scripts/characters/tonks/clothing_upgrades_NOT_IN_USE.txt b/game/scripts/characters/tonks/clothing_upgrades_NOT_IN_USE.txt index 07f3e80e..1416c505 100644 --- a/game/scripts/characters/tonks/clothing_upgrades_NOT_IN_USE.txt +++ b/game/scripts/characters/tonks/clothing_upgrades_NOT_IN_USE.txt @@ -125,7 +125,7 @@ label upgrades_menu(xx=150, yy=90): item_bought = True - for i in xrange(1, min(_iter+1, len(_list))): + for i in range(1, min(_iter+1, len(_list))): if not _list[i].unlocked: _list[i].unlock() ton_clothing_upgrades += 1 @@ -233,14 +233,14 @@ screen upgrades_menuitem(xx, yy): yfill True # TODO: Reduce the clutter and optimize the code. - for i in upgrades_dict[current_category]["outfits"].itervalues(): + for i in upgrades_dict[current_category]["outfits"].values(): $ linear_price = 0 if len(i) > 0 and (i[0].unlocked or upgrades_show_locked): vbox: hbox: spacing 0 - for x in xrange(len(i)): + for x in range(len(i)): if x < len(i)-1: if not i[x+1].unlocked: $ linear_price += i[x+1].price diff --git a/game/scripts/characters/tonks/common.rpy b/game/scripts/characters/tonks/common.rpy index c5657019..92e6c766 100644 --- a/game/scripts/characters/tonks/common.rpy +++ b/game/scripts/characters/tonks/common.rpy @@ -1,43 +1,11 @@ -define ton_face = { - "mouth": { - "neutral": ["base","open"], - "happy": ["base","grin"], - "naughty": ["soft","base"], - "horny": ["horny","base"], - "annoyed": ["upset","annoyed"], - "disgusted": ["disgust","upset"], - "angry": ["clench","mad","upset"] - }, - - "eyes": { - "neutral": ["base"], - "happy": ["happyCl"], - "naughty": ["narrow"], - "horny": ["narrow"], - "annoyed": ["narrow","base"], - "disgusted": ["base"], - "angry": ["base"] - }, - - "eyebrows": { - "neutral": ["base"], - "happy": ["base","raised"], - "naughty": ["base","raised"], - "horny": ["base","raised"], - "annoyed": ["annoyed"], - "disgusted": ["raised","worried"], - "angry": ["angry"] - }, - - "pupils": { - "neutral": ["mid"], - "happy": ["mid"], - "naughty": ["mid","up","downR"], - "horny": ["mid","stare","down"], - "annoyed": ["mid","downR","R"], - "disgusted": ["mid","down"], - "angry": ["mid"] - } +define tonks_haircolor_table = { + "angry": [Color((164, 34, 34, 255)), Color((219, 83, 83, 255))], + "upset": [Color((228, 93, 34, 255)), Color((246, 193, 170, 255))], + "happy": [Color((255, 213, 23, 255)), Color((255, 239, 167, 255))], + "disgusted": [Color((111, 205, 75, 255)), Color((200, 237, 186, 255))], + "scared": [Color((238, 238, 241, 255)), Color((249, 249, 250, 255))], + "horny": [Color((255, 105, 180, 255)), Color((251, 205, 222, 255))], + "sad": [Color((64, 75, 205, 255)), Color((182, 186, 237, 255))], } label update_tonks: @@ -59,67 +27,65 @@ label end_tonks_event: call update_tonks - $ active_girl = None - $ tonks_busy = True + $ states.last_girl = states.active_girl + $ states.active_girl = None + $ states.ton.busy = True $ tonks.wear("all") $ tonks.set_cum(None) - - $ renpy.stop_predict(tonks.get_image()) - $ renpy.stop_predict("characters/tonks/face/*.webp") + $ tonks.set_face(tears=False, cheeks=False) call music_block jump main_room_menu -define character.tonks_say = Character("tonks_name", show_icon="tonks", dynamic=True) +define character.tonks_say = Character("name_tonks_genie", show_icon="tonks", dynamic=True) init python: - def ton(what, mouth=False, eyes=False, eyebrows=False, pupils=False, cheeks=None, tears=None, - emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, hair=None, **kwargs): + def ton(what, mouth=None, eyes=None, eyebrows=None, pupils=None, cheeks=None, tears=None, + emote=None, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): + def show(): + tonks.show(force=True) + + if not renpy.in_rollback(): + renpy.with_statement(trans or d2) + + face = {"mouth": mouth, "eyes": eyes, "eyebrows": eyebrows, "pupils": pupils, "cheeks": cheeks, "tears": tears} + temp_face = renpy.game.context().temporary_attributes + temp_hair = None redraw = False tag = tonks.tag layer = tonks.layer - #showing = renpy.showing(name=tag, layer=layer) - if xpos != None or ypos != None: - xpos = tonks.pos[0] if xpos == None else sprite_pos.get("x").get(xpos, xpos) - ypos = tonks.pos[1] if ypos == None else sprite_pos.get("y").get(ypos, ypos) + if xpos is not None or ypos is not None: + xpos = tonks.pos[0] if xpos is None else sprite_pos.get("x").get(xpos, xpos) + ypos = tonks.pos[1] if ypos is None else sprite_pos.get("y").get(ypos, ypos) tonks.pos = (xpos, ypos) redraw = True head_only = tonks.pos[1] == sprite_pos.get("y").get("head") - if any((mouth, eyes, eyebrows, pupils, cheeks, tears)): - tonks.set_face(mouth=mouth, eyes=eyes, eyebrows=eyebrows, pupils=pupils, cheeks=cheeks, tears=tears) + if any(face.values()): + tonks.set_face(**face) redraw = True - tonks.set_emote(emote) + if temp_face: + last_face = tonks.get_face() - if hair: - if isinstance(hair, list): - target_color = hair - elif hair in ("neutral", "basic", "reset"): - target_color = tonks_haircolor - elif hair in ("red", "angry", "furious"): - target_color = [[164, 34, 34, 255], [219, 83, 83, 255]] - elif hair in ("orange", "upset", "annoyed"): - target_color = [[228, 93, 34, 255], [246, 193, 170, 255]] - elif hair in ("yellow", "happy", "cheerful"): - target_color = [[255, 213, 23, 255], [255, 239, 167, 255]] - elif hair in ("green", "disgusted"): - target_color = [[111, 205, 75, 255], [200, 237, 186, 255]] - elif hair in ("blue", "sad"): - target_color = [[64, 75, 205, 255], [182, 186, 237, 255]] - elif hair == "purple": - target_color = [[205, 75, 205, 255], [237, 186, 237, 255]] - elif hair in ("white", "scared"): - target_color = [[238, 238, 241, 255], [249, 249, 250, 255]] - elif hair in ("pink", "horny"): - target_color = [[255, 105, 180, 255], [251, 205, 222, 255]] + d = dict(zip(temp_face[::2], temp_face[1::2])) + temp_hair = d.pop("hair", None) - if target_color != tonks.get_equipped("hair").color: - tonks.get_equipped("hair").set_color(target_color) - redraw = True + tonks.set_face(**d) + redraw = True + + if temp_hair: + last_hair = tonks.get_equipped("hair").color + col = tonks_haircolor_table.get(temp_hair) + tonks.get_equipped("hair").set_color(col) + redraw = True + + if emote: + tonks.set_emote(emote) + redraw = True if animation != False: tonks.animation = animation @@ -130,16 +96,16 @@ init python: redraw = True if redraw: - tonks.show() - - if not renpy.in_rollback(): - if trans: - renpy.with_statement(trans) - else: - renpy.with_statement(d2) + show() if what: character.tonks_say(what, **kwargs) + if temp_face: + tonks.set_face(**last_face) + + if temp_hair: + tonks.get_equipped("hair").set_color(last_hair) + if head_only: tonks.hide() diff --git a/game/scripts/characters/tonks/events/clothing.rpy b/game/scripts/characters/tonks/events/clothing.rpy index 651995ae..82fde1c8 100644 --- a/game/scripts/characters/tonks/events/clothing.rpy +++ b/game/scripts/characters/tonks/events/clothing.rpy @@ -5,52 +5,52 @@ label tonks_summon_setup: $ tonks.set_cum(None) $ tonks.animation = None - if not tonks_strip_happened and cc_pf_strip.is_event_complete(3, 3) and ton_friendship >= 20 and tonks.is_any_worn("top", "bottom", "bra", "panties"): - $ tonks_strip_happened = True #TODO use to make event not repeat + if not states.ton.ev.random_strip.complete and states.cho.ev.inspect_her_body.T3_E3_complete and states.ton.level >= 20 and tonks.is_any_worn("top", "bottom", "bra", "panties"): + $ states.ton.ev.random_strip.complete = True #TODO use to make event not repeat - $ tonks.strip("all") + $ tonks.strip("clothes") call ton_walk(action="enter", xpos="mid", ypos="base") - call play_sound("scratch") + play sound "sounds/scratch.ogg" with hpunch gen "!!!" ("angry", xpos="far_left", ypos="head") - ton "" ("grin", "base", "base", "mid", hair="horny", cheeks="heavy_blush", xpos="mid", ypos="base", trans=d5) + ton @ cheeks heavy_blush hair horny "" ("grin", "base", "base", "mid", xpos="mid", ypos="base", trans=d5) call ctc - ton "Hello, [ton_genie_name]." ("soft", "narrow", "raised", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Hello, [name_genie_tonks]." ("soft", "narrow", "raised", "mid") gen "You're naked!" ("grin", xpos="far_left", ypos="head") - ton "I am?" ("soft", "narrow", "raised", "mid", hair="horny", cheeks="heavy_blush") - ton "Oh... Yes it appears so..." ("grin", "narrow", "shocked", "down", hair="horny", cheeks="heavy_blush") - ton "Is that a problem, [ton_genie_name]?" ("annoyed", "narrow", "raised", "mid", hair="horny", cheeks="heavy_blush") - ton "Am I going to get fired for inappropriate behaviour?" ("annoyed", "narrow", "base", "down", hair="horny", cheeks="heavy_blush") - ton "Are you going to report me to the ministry?" ("base", "narrow", "raised", "down", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "I am?" ("soft", "narrow", "raised", "mid") + ton @ cheeks heavy_blush hair horny "Oh... Yes it appears so..." ("grin", "narrow", "shocked", "down") + ton @ cheeks heavy_blush hair horny "Is that a problem, [name_genie_tonks]?" ("annoyed", "narrow", "raised", "mid") + ton @ cheeks heavy_blush hair horny "Am I going to get fired for inappropriate behaviour?" ("annoyed", "narrow", "base", "down") + ton @ cheeks heavy_blush hair horny "Are you going to report me to the ministry?" ("base", "narrow", "raised", "down") gen "..." ("base", xpos="far_left", ypos="head") gen "Have you been drinking Wine?" ("base", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*Giggles*" ("grin", "narrow", "base", "stare", hair="horny", cheeks="heavy_blush") - ton "Maybe..." ("grin", "wink", "base", "mid", hair="horny", cheeks="heavy_blush") + play sound "sounds/giggle2_loud.ogg" + ton @ cheeks heavy_blush hair horny "*Giggles*" ("grin", "narrow", "base", "stare") + ton @ cheeks heavy_blush hair horny "Maybe..." ("grin", "wink", "base", "mid") gen "One of the students could have seen you..." ("base", xpos="far_left", ypos="head") - ton "Oh, I would love for them to see me like this..." ("horny", "narrow", "shocked", "R", hair="horny", cheeks="heavy_blush") - ton "Why don't you invite one to your office?" ("soft", "narrow", "shocked", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Oh, I would love for them to see me like this..." ("horny", "narrow", "shocked", "R") + ton @ cheeks heavy_blush hair horny "Why don't you invite one to your office?" ("soft", "narrow", "shocked", "mid") - if ag_st_imperio.counter > 0: + if states.ast.ev.imperio_with_tonks.completed_once: gen "You'd like that wouldn't you..." ("base", xpos="far_left", ypos="head") - ton "Very much!" ("base", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Very much!" ("base", "narrow", "base", "mid") gen "Like that Astoria girl you're so infatuated with?" ("base", xpos="far_left", ypos="head") gen "Want me to call her up here to have her shame you on your bad behaviour?" ("base", xpos="far_left", ypos="head") - ton "Oh, yes please!" ("horny", "base", "base", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Oh, yes please!" ("horny", "base", "base", "mid") gen "But this sudden behaviour isn't about her is it?" ("base", xpos="far_left", ypos="head") - ton "*Hmm*... Is it that obvious?" ("base", "narrow", "base", "R", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "*Hmm*... Is it that obvious?" ("base", "narrow", "base", "R") gen "Miss Chang?" ("base", xpos="far_left", ypos="head") - ton "*Mmm*..." ("base", "narrow", "base", "stare", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "*Mmm*..." ("base", "narrow", "base", "stare") gen "Would you like me to bring her up here so you could rub your bodies together some more?" ("base", xpos="far_left", ypos="head") - ton "Yes please!" ("grin", "narrow", "base", "stare", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Yes please!" ("grin", "narrow", "base", "stare") gen "You sure you're ready to find out just how flexible she is?" ("base", xpos="far_left", ypos="head") - ton "Yes!" ("crooked_smile", "base", "base", "stare", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Yes!" ("crooked_smile", "base", "base", "stare") gen "(Although that's probably not the best idea in her current state...)" ("base", xpos="far_left", ypos="head") gen "(Doesn't mean I can't tease her a bit though...)" ("grin", xpos="far_left", ypos="head") @@ -59,106 +59,106 @@ label tonks_summon_setup: menu: "-Play nice-": gen "How about a bonus instead?" ("grin", xpos="far_left", ypos="head") - ton "A bonus? For showing off my body to my own boss?" ("soft", "narrow", "raised", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "A bonus? For showing off my body to my own boss?" ("soft", "narrow", "raised", "mid") gen "That's right." ("base", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*" ("grin", "narrow", "raised", "stare", hair="horny", cheeks="heavy_blush") + play sound "sounds/giggle2_loud.ogg" + ton @ cheeks heavy_blush hair horny "*Giggles*" ("grin", "narrow", "raised", "stare") - ton "I've always wanted to find out my worth." ("grin", "base", "base", "stare", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "I've always wanted to find out my worth." ("grin", "base", "base", "stare") gen "Alright then... Let's see, how much are you worth to me..." ("base", xpos="far_left", ypos="head") menu: "-Zero gold-" if game.gold <= 0: gen "Zero gold." ("base", xpos="far_left", ypos="head") - ton "Seriously?" ("soft", "narrow", "raised", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Seriously?" ("soft", "narrow", "raised", "mid") gen "Yes, I'm a cheap bastard." ("base", xpos="far_left", ypos="head") - ton "Clearly..." ("upset", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Clearly..." ("upset", "narrow", "base", "mid") "-One gold-" if game.gold > 0: gen "A single gold coin, if anything..." ("base", xpos="far_left", ypos="head") - ton "(Bastard... How humiliating.)" ("soft", "narrow", "worried", "up", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "(Bastard... How humiliating.)" ("soft", "narrow", "worried", "up") gen "Well?" ("base", xpos="far_left", ypos="head") - ton "Yes?" ("disgust", "narrow", "raised", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Yes?" ("disgust", "narrow", "raised", "mid") gen "Shouldn't you be thanking me for this generous valuation?" ("base", xpos="far_left", ypos="head") - ton "Oh... Thank you so much, [ton_genie_name]." ("annoyed", "narrow", "base", "stare", hair="horny", cheeks="heavy_blush") - gen "Don't mention it, [tonks_name]." ("base", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair horny "Oh... Thank you so much, [name_genie_tonks]." ("annoyed", "narrow", "base", "stare") + gen "Don't mention it, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") $ game.gold -= 1 "-Twenty gold-" if game.gold >= 20: gen "How does twenty gold sound?" ("base", xpos="far_left", ypos="head") - ton "(*Hmm*... I kind of expected more.)" ("annoyed", "narrow", "raised", "downR", hair="horny", cheeks="heavy_blush") - ton "Thank you, [ton_genie_name]." ("soft", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") - gen "No, [tonks_name]... Thank you." ("grin", xpos="far_left", ypos="head") + ton @ cheeks heavy_blush hair horny "(*Hmm*... I kind of expected more.)" ("annoyed", "narrow", "raised", "downR") + ton @ cheeks heavy_blush hair horny "Thank you, [name_genie_tonks]." ("soft", "narrow", "base", "mid") + gen "No, [name_tonks_genie]... Thank you." ("grin", xpos="far_left", ypos="head") $ game.gold -= 20 "-A hundred gold-" if game.gold >= 100: gen "Does one hundred gold sound nice to you?" ("base", xpos="far_left", ypos="head") gen "With a body like that, you could earn a fortune at a strip club!" ("grin", xpos="far_left", ypos="head") - ton "Really..." ("horny", "narrow", "shocked", "mid", hair="horny", cheeks="heavy_blush") - ton "You think a noble teacher and auror like me, would quit her highly regarded job to become a cheap stripper?" ("grin", "narrow", "shocked", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Really..." ("horny", "narrow", "shocked", "mid") + ton @ cheeks heavy_blush hair horny "You think a noble teacher and auror like me, would quit her highly regarded job to become a cheap stripper?" ("grin", "narrow", "shocked", "mid") gen "Well, no. I still want to keep you as a teacher." ("base", xpos="far_left", ypos="head") gen "I merely suggested that you could." ("base", xpos="far_left", ypos="head") - ton "Maybe the duelling stage could find some extra use..." ("base", "narrow", "shocked", "stare", hair="horny", cheeks="heavy_blush") - ton "Perhaps some extra curricular activities for a couple of my favourite students could be arranged..." ("horny", "narrow", "raised", "up", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Maybe the duelling stage could find some extra use..." ("base", "narrow", "shocked", "stare") + ton @ cheeks heavy_blush hair horny "Perhaps some extra curricular activities for a couple of my favourite students could be arranged..." ("horny", "narrow", "raised", "up") gen "I'm sure they would all love to watch their perverted teacher strip!" ("grin", xpos="far_left", ypos="head") $ game.gold -= 100 gen "Now..." ("base", xpos="far_left", ypos="head") "-Scold her-": - gen "But you know what I have to do, [tonks_name]..." ("base", xpos="far_left", ypos="head") + gen "But you know what I have to do, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") gen "What were you thinking, walking into your boss' office, completely naked?" ("base", xpos="far_left", ypos="head") - ton "I'm terribly sorry, [ton_genie_name]..." ("open", "narrow", "base", "down", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "I'm terribly sorry, [name_genie_tonks]..." ("open", "narrow", "base", "down") gen "How's this befitting for a teacher..." ("angry", xpos="far_left", ypos="head") gen "That surely calls for some punishment, don't you think?" ("grin", xpos="far_left", ypos="head") - ton "You are so right, [ton_genie_name]!" ("horny", "narrow", "base", "stare", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "You are so right, [name_genie_tonks]!" ("horny", "narrow", "base", "stare") # This section will be under some public check # gen "I should make you the school's cum-dumpster instead. How would you like that position?" ("base", xpos="far_left", ypos="head") # gen "Boys lining up in front of the school toilets, waiting their turn to dump their cum into their teacher's mouth, day after day!" ("base", xpos="far_left", ypos="head") - # ton "You're making me so wet, [ton_genie_name]!" ("base", "base", "base", "ahegao") + # ton "You're making me so wet, [name_genie_tonks]!" ("base", "base", "base", "ahegao") # ton "Maybe some day I'll get bored of my current position here at Hogwarts... you never know..." ("horny", "base", "raised", "mid") - # gen "I'm not done with your punishment, Miss [tonks_name]!" ("base", xpos="far_left", ypos="head") + # gen "I'm not done with your punishment, Miss [name_tonks_genie]!" ("base", xpos="far_left", ypos="head") gen "You went to this school, didn't you? Which house were you in?" ("base", xpos="far_left", ypos="head") - ton "My house? I was in Hufflepuff, but why--" ("disgust", "base", "raised", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "My house? I was in Hufflepuff, but why--" ("disgust", "base", "raised", "mid") gen "Very well then..." ("base", xpos="far_left", ypos="head") gen "Minus ten points from Hufflepuff!" ("base", xpos="far_left", ypos="head") $ hufflepuff -=10 - ton "What? But [ton_genie_name]! I'm not even a student--" ("disgust", "base", "base", "mid", hair="upset", cheeks="heavy_blush", trans=hpunch) + ton @ cheeks heavy_blush hair upset "What? But [name_genie_tonks]! I'm not even a student--" ("disgust", "base", "base", "mid", trans=hpunch) gen "Also--" ("base", xpos="far_left", ypos="head") menu: "-Those clothes stay off!-": - $ tonks.unequip("all") + $ tonks.unequip("clothes") - ton "*Hmm*?" ("soft", "narrow", "raised", "down", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "*Hmm*?" ("soft", "narrow", "raised", "down") gen "That's right... If they're so bothersome, why bother wearing them at all?" ("base", xpos="far_left", ypos="head") gen "When you're in here with me I want you on full display!" ("base", xpos="far_left", ypos="head") - ton "Of course [ton_genie_name]..." ("soft", "narrow", "base", "down", hair="horny", cheeks="heavy_blush") #Horny - ton "If you would allow me to put my clothes back on at any time, just let me know..." ("soft", "narrow", "base", "downR", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Of course [name_genie_tonks]..." ("soft", "narrow", "base", "down") #Horny + ton @ cheeks heavy_blush hair horny "If you would allow me to put my clothes back on at any time, just let me know..." ("soft", "narrow", "base", "downR") "-Get dressed!-": gen "No teacher of mine will strut around naked...{w} unless I say so!" ("base", xpos="far_left", ypos="head") - ton "Yes [ton_genie_name]..." ("open", "narrow", "shocked", "down", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "Yes [name_genie_tonks]..." ("open", "narrow", "shocked", "down") gen "Now, put your clothes back on..." ("base", xpos="far_left", ypos="head") - ton "*Ehm*... Okay..." ("soft", "base", "base", "down", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "*Ehm*... Okay..." ("soft", "base", "base", "down") - call play_sound("magic") + play sound "sounds/magic4.ogg" $ tonks.wear("all") ton "" (trans=morph) - ton "" ("soft", "narrow", "base", "mid", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "" ("soft", "narrow", "base", "mid") - if tonks_morph_known: + if states.gen.ev.tonks.metamorphmagi_aware: gen "...{w} You used your meta-whatsit ability just then didn't you?" ("base", xpos="far_left", ypos="head") - ton "You can tell?" ("soft", "narrow", "base", "down", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "You can tell?" ("soft", "narrow", "base", "down") gen "Whatever, just wear your actual clothing next time..." ("base", xpos="far_left", ypos="head") else: gen "Much better..." ("base", xpos="far_left", ypos="head") - ton "..." ("soft", "narrow", "base", "downR", hair="horny", cheeks="heavy_blush") + ton @ cheeks heavy_blush hair horny "..." ("soft", "narrow", "base", "downR") gen "Now, get back to your room and think about what you've done..." ("base", xpos="far_left", ypos="head") - ton "Yes [ton_genie_name]..." ("open", "narrow", "base", "down", hair="horny", cheeks="heavy_blush") #look down, blush + ton @ cheeks heavy_blush hair horny "Yes [name_genie_tonks]..." ("open", "narrow", "base", "down") #look down, blush #Tonks leaves call ton_walk(action="leave") @@ -168,35 +168,35 @@ label tonks_summon_setup: jump end_tonks_event - if tonks_outfits_schedule: + if states.ton.wardrobe_scheduling: $ tonks.equip_random_outfit() - call play_sound("door") + play sound "sounds/door.ogg" call ton_chibi("stand","mid","base") with d3 #Tonks greeting. - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed - if ton_mood > 0: - if 5 > ton_mood >= 1: - ton "Yes, [ton_genie_name]?" ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) + if states.ton.mood > 0: + if 5 > states.ton.mood >= 1: + ton "Yes, [name_genie_tonks]?" ("open", "base", "base", "R", xpos="base", ypos="base", trans=d3) ton "" ("base", "base", "base", "R") - elif 10 > ton_mood >= 5: + elif 10 > states.ton.mood >= 5: ton "I have classes to teach, please be quick." ("upset", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - elif 20 > ton_mood >= 10: - ton "Make it quick, [ton_genie_name]..." ("upset", "base", "base", "R", xpos="base", ypos="base", trans=d3) - elif 30 > ton_mood >= 20: - ton "What do you want, \"[ton_genie_name]\", I'm busy." ("mad", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif 40 > ton_mood >= 30: + elif 20 > states.ton.mood >= 10: + ton "Make it quick, [name_genie_tonks]..." ("upset", "base", "base", "R", xpos="base", ypos="base", trans=d3) + elif 30 > states.ton.mood >= 20: + ton "What do you want, \"[name_genie_tonks]\", I'm busy." ("mad", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) + elif 40 > states.ton.mood >= 30: ton "..............." ("upset", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif 50 > ton_mood >= 40: + elif 50 > states.ton.mood >= 40: ton "Please stop wasting my time." ("upset", "closed", "angry", "mid", xpos="base", ypos="base", trans=d3) - elif ton_mood >= 50: + elif states.ton.mood >= 50: ton "You have the nerve to call me here after what you did." ("upset", "base", "angry", "mid", xpos="base", ypos="base", trans=d3) - call describe_mood("Tonks", ton_mood) + call describe_mood("Tonks", states.ton.mood) call tutorial("moodngifts") else: - ton "You called, [ton_genie_name]?" ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) + ton "You called, [name_genie_tonks]?" ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) return diff --git a/game/scripts/characters/tonks/events/clothing_old.txt b/game/scripts/characters/tonks/events/clothing_old.txt index b54079be..13c89679 100644 --- a/game/scripts/characters/tonks/events/clothing_old.txt +++ b/game/scripts/characters/tonks/events/clothing_old.txt @@ -56,7 +56,7 @@ label tonks_summon_setup: ton "Oh, I would love for them to see me like this..." ("horny", "base", "raised", "mid") ton "Why don't you invite one to your office?" ("horny", "base", "base", "mid") - if ag_st_imperio.counter > 0: + if states.ast.ev.imperio_with_tonks.completed_once: gen "You'd like that wouldn't you..." ("base", xpos="far_left", ypos="head") ton "Very much!" gen "Like that Astoria girl you're so infatuated with?" ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/characters/tonks/events/hangout.rpy b/game/scripts/characters/tonks/events/hangout.rpy index 6102e914..14101edc 100644 --- a/game/scripts/characters/tonks/events/hangout.rpy +++ b/game/scripts/characters/tonks/events/hangout.rpy @@ -11,7 +11,7 @@ label tonks_hangout: if firewhisky_ITEM.owned >= 1: $ firewhisky_ITEM.owned -= 1 - $ nt_he_drink.start() + $ ton_eventqueue_hangouts_drinking.start() label tonks_hangout_continue: hide screen bld1 @@ -21,60 +21,59 @@ label tonks_hangout: ### Intro Events ### # Hermione - if hermione_intro.E5_complete and not nt_he.hermione_E1: + if states.her.ev.intro.e5_complete and not states.her.ev.intro.convinced: jump nt_he_hermione_E1 # Persuade Hermione to sell favors. # Susan - if her_tier >= 2 and ton_friendship >= 20 and not nt_he.susan_E1: + if states.her.tier >= 2 and states.ton.level >= 20 and not states.ton.ev.hangouts.susan_e1: $ ag_event_pause += 2 # Astoria intro happens in 2 days. jump nt_he_susan_E1 # Starts Susan/Astoria intro. # Astoria - if astoria_intro.E3_complete and not nt_he.astoria_E1: + if states.ast.ev.intro.e3_complete and not states.ton.ev.hangouts.astoria_e1: jump nt_he_astoria_E1 # (Quidditch) Ask Tonks for help with Slytherins. - if cho_quid.E6_complete and not cho_quid.E8_complete: + if states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete: jump cho_quid_E8 ### General Events ### - if her_tier >= 2 and not nt_he.favors_E1: + if states.her.tier >= 2 and not states.ton.ev.hangouts.favors_e1: jump nt_he_favors_E1 # Unlocks Public Requests. - if ton_reputation >= 4 and ton_friendship >= 20 and not nt_he.favors_E2: + if states.ton.public_level >= 4 and states.ton.level >= 20 and not states.ton.ev.hangouts.favors_e2: jump nt_he_favors_E2 # Tonks Tier 2 available. ### Snape Stories ### - if not nt_he_story.is_complete(): - $ nt_he_story.start() + $ ton_eventqueue_hangouts_story.start() label end_tonks_hangout: $ d_flag_01 = "afternoon" if game.daytime else "evening" - if ton_friendship < 100: + if states.ton.level < 100: call notes - ">You spend the [d_flag_01] hanging out with Tonks.\n>Your relationship with her has improved." + nar "You spend the [d_flag_01] hanging out with Tonks.\n>Your relationship with her has improved." else: - ">You spend the [d_flag_01] hanging out with Tonks." + nar "You spend the [d_flag_01] hanging out with Tonks." label end_tonks_hangout_points: - if ton_friendship < 100: # max - if fire_in_fireplace: # Tonks is feeling hot. - $ ton_friendship += 2 + if states.ton.level < 100: # max + if states.fireplace_started: # Tonks is feeling hot. + $ states.ton.level += 2 if game.difficulty < 2: #Easy difficulty - $ ton_friendship += 5 + $ states.ton.level += 5 elif game.difficulty == 2: #Normal - $ ton_friendship += 4 + $ states.ton.level += 4 else: #Hardcore - $ ton_friendship += 3 + $ states.ton.level += 3 - if ton_friendship > 100: - $ ton_friendship = 100 + if states.ton.level > 100: + $ states.ton.level = 100 $ hufflepuff += renpy.random.randint(5, 15) @@ -93,12 +92,12 @@ label tonks_hangout: label nt_he_wine_intro: call bld gen "Care for a drink?" ("base", xpos="far_left", ypos="head") - ton "Of course, [ton_genie_name]." ("base", "base", "shocked", "mid", cheeks="blush", ypos="head", flip=False) + ton @ cheeks blush "Of course, [name_genie_tonks]." ("base", "base", "shocked", "mid", ypos="head", flip=False) ton "Hit me!" ("horny", "base", "base", "down") pause.1 # Show wine - call give_gift(">You hand over the bottle you found in the cupboard to professor Tonks...", wine_ITEM) + call give_gift("You hand over the bottle you found in the cupboard to professor Tonks...", wine_ITEM) ton "Wine?" ("open", "base", "raised", "down") ton "Don't you have anything stronger?" ("upset", "base", "base", "R") @@ -110,6 +109,7 @@ label nt_he_wine_intro: # Make firewhisky available in the cupboard and store $ firewhisky_ITEM.unlocked = True + $ states.ton.ev.hangouts.wine_intro = True jump tonks_hangout_continue @@ -120,7 +120,7 @@ label nt_he_firewhisky_intro: pause.1 # Show firewhisky - call give_reward(_(">You hand over a bottle of firewhisky to Tonks...", gift="interface/icons/firewhisky.webp"), sound=False) + call give_reward("You hand over a bottle of firewhisky to Tonks...", gift="interface/icons/firewhisky.webp", sound=False) ton "Finally, the good stuff!" ("horny", "base", "base", "down", ypos="head", flip=False) ton "I'm glad you brought out some firewhisky this time..." ("base", "base", "base", "down") @@ -130,7 +130,7 @@ label nt_he_firewhisky_intro: gen "No, I was just waiting for an opening." ("base", xpos="far_left", ypos="head") ton "Sorry, I guess I talk a lot once I get going..." ("mad", "base", "shocked", "R") ton "Bottoms up." ("horny", "base", "base", "down") - call play_sound("gulp") + play sound "sounds/gulp.ogg" ton "*Gulp*{w=0.6}{nw}" ("base", "closed", "worried", "mid", trans=hpunch) ton "*Cough* *Cough*" ("open", "happyCl", "shocked", "stare") ton "Yeah, that was a mistake." ("mad", "base", "base", "down") @@ -150,15 +150,15 @@ label nt_he_firewhisky_E1: ton "A bit more..." ("horny", "base", "angry", "down") ton "That's it, cheers." ("base", "base", "base", "mid") - if nt_he_drink.counter <= 3: # First time only. + if not _event_completed: if game.daytime: gen "Boring lessons ahead?" ("base", xpos="far_left", ypos="head") ton "Not particularly, why?" ("open", "base", "base", "mid") gen "You might regret going back to classes after drinking this much." ("base", xpos="far_left", ypos="head") - ton "Oh don't you worry, [ton_genie_name]." ("silly", "happyCl", "base", "mid") + ton "Oh, don't you worry, [name_genie_tonks]." ("silly", "happyCl", "base", "mid") ton "I could down this entire bottle without anybody being able to notice a thing." ("horny", "base", "base", "L") gen "You're one glass in and swaying like a buoy..." ("base", xpos="far_left", ypos="head") - ton "*Hic* Oh well..." ("open", "base", "base", "ahegao", trans=hpunch) + ton "*Hick* Oh well..." ("open", "base", "base", "ahegao", trans=hpunch) ton "No risk, no fun!" ("horny", "base", "base", "mid") else: gen "Long day?" ("base", xpos="far_left", ypos="head") @@ -193,13 +193,13 @@ label nt_he_firewhisky_E3: label nt_he_firewhisky_E4: ton "Bottoms up." ("base", "narrow", "base", "mid", ypos="head", flip=False) - call play_sound("gulp") + play sound "sounds/gulp.ogg" ton "*Gulp*{w=0.8}{nw}" ("scream", "closed", "base", "mid") - call play_sound("gulp") + play sound "sounds/gulp.ogg" ton "*Gulp*{w=0.8}{nw}" ("scream", "closed", "worried", "mid") - call play_sound("gulp") + play sound "sounds/gulp.ogg" ton "*Gulp*{w=0.8}{nw}" ("scream", "closed", "worried", "mid") - ton "*Aaaaaaaahhhh!!!*..." ("silly", "closed", "base", "ahegao", trans=vpunch_repeat) + ton "*Aaaaaaaahhhh!!!*..." ("silly", "closed", "base", "ahegao", trans=vpunch) gen "....................." ("base", xpos="far_left", ypos="head") jump tonks_hangout_continue @@ -209,7 +209,7 @@ label nt_he_firewhisky_E4: ### Events ### label nt_he_favors_E1: - ton "So, [ton_genie_name]... what's the going rate around here then?" ("open", "base", "raised", "mid", ypos="head", flip=False) + ton "So, [name_genie_tonks]... What's the going rate around here, then?" ("open", "base", "raised", "mid", ypos="head", flip=False) gen "Going rate?" ("base", xpos="far_left", ypos="head") ton "How much do you pay your students to fool around?" ("base", "narrow", "annoyed", "mid") gen "Oh... It depends on what you want them to do." ("base", xpos="far_left", ypos="head") @@ -224,9 +224,9 @@ label nt_he_favors_E1: gen "Or you happen to be sitting on the toilet..." ("base", xpos="far_left", ypos="head") gen "Anyway, you can't just ask for a lap dance straight away, You have to butter them up first." ("base", xpos="far_left", ypos="head") ton "How so?" ("mad", "base", "raised", "mid") - gen "Well most of them aren't going to do whatever you say from the get go..." ("base", xpos="far_left", ypos="head") + gen "Well, most of them aren't going to do whatever you say from the get go..." ("base", xpos="far_left", ypos="head") gen "You have to slowly earn their trust over time and start out small..." ("base", xpos="far_left", ypos="head") - ton "*Awww*... really? Can't I just cheat a bit?" ("upset", "base", "worried", "L") + ton "*Awww*... Really? Can't I just cheat a bit?" ("upset", "base", "worried", "L") gen "..." ("base", xpos="far_left", ypos="head") gen "Just take it slow, I'm sure you'll find a cute boy who'll be willing to do whatever you want anyway." ("base", xpos="far_left", ypos="head") ton "..." ("upset", "base", "base", "R") @@ -234,16 +234,16 @@ label nt_he_favors_E1: gen "(...!)" ("angry", xpos="far_left", ypos="head") gen "Whatever floats your boat." ("base", xpos="far_left", ypos="head") - $ tonks_requests_unlocked = True + $ states.ton.requests_unlocked = True call popup("You can now ask Tonks to do \"Public Requests\" with her students!", "Congratulations!", "interface/icons/head/tonks.webp") - $ nt_he.favors_E1 = True + $ states.ton.ev.hangouts.favors_e1 = True jump end_tonks_hangout_points label nt_he_favors_E2: - ton "You know, [ton_genie_name]... I overheard a couple of students whispering about me..." ("open", "base", "raised", "mid", ypos="head", flip=False) + ton "You know, [name_genie_tonks]... I overheard a couple of students whispering about me..." ("open", "base", "raised", "mid", ypos="head", flip=False) gen "Finally..." ("grin", xpos="far_left", ypos="head") ton "I walked past a group of boys the other day..." ("open", "base", "base", "R") ton "One straight up called me a slut, whilst the others snickered at me..." ("open", "base", "base", "down") @@ -253,16 +253,16 @@ label nt_he_favors_E2: ton "And I believe that group of boys knew that fact as well..." ("base", "base", "angry", "R") gen "Sounds like it's about time we step it up a notch." ("base", xpos="far_left", ypos="head") ton "And behave even riskier?" ("open", "shocked", "shocked", "mid") - ton "Who do you think you're asking exactly?" ("open", "closed", "base", "mid") + ton "Who do you think you're asking, exactly?" ("open", "closed", "base", "mid") gen "So...{w=0.3} Is that a yes?" ("base", xpos="far_left", ypos="head") ton "Fuck yes!" ("grin", "narrow", "shocked", "mid") ton "I want those boys to call me all sorts of names... And do it straight to my face!" ("horny", "base", "angry", "mid") gen "Promise me you'll reward them if they do." ("grin", xpos="far_left", ypos="head") - ton "I promise, [ton_genie_name]." ("base", "wink", "base", "mid") + ton "I promise, [name_genie_tonks]." ("base", "wink", "base", "mid") call popup("Tonks can now reach the next level!", "Congratulations!", "interface/icons/head/tonks.webp", sound=False) - $ nt_he.favors_E2 = True + $ states.ton.ev.hangouts.favors_e2 = True jump end_tonks_hangout_points @@ -289,7 +289,7 @@ label nt_he_story_intro_E1: else: ton "Anyway, I think I'm gonna go hit the sack." ("open", "base", "base", "R") - if nt_he_drink.is_event_complete(1, 2): # We're past the wine intro + if _events_completed_any: # We're past the wine intro gen "There's more firewhisky where this came from, so feel free to stop by any time to talk about your progress." ("base", xpos="far_left", ypos="head") ton "I'll never say no to a free drink." ("base", "base", "base", "down") else: @@ -313,24 +313,23 @@ label nt_he_story_intro_E2: gen "..." ("base", xpos="far_left", ypos="head") ton "You talking about Mad-eye?" ("upset", "base", "raised", "mid") gen "I can see perfectly fine, dear." ("base", xpos="far_left", ypos="head") - ton "Alastor Moody is the auror that taught me." ("open", "narrow", "annoyed", "mid") + ton "I'm talking about Alastor Moody, my mentor." ("open", "narrow", "annoyed", "mid") gen "Oh, of course." ("base", xpos="far_left", ypos="head") gen "(His parents must have hated him...)" ("base", xpos="far_left", ypos="head") - #gen "(What's wrong with a normal name... like Will Smith, or Robin Williams?)" ("base", xpos="far_left", ypos="head") gen "Anything you'd like to tell me about him?" ("base", xpos="far_left", ypos="head") ton "Well, he's a bit of a weirdo, but he knows his stuff." ("open", "closed", "annoyed", "mid") ton "I guess if you're as paranoid as him, you'll end up knowing everything there is about the craft..." ("open", "base", "base", "R") gen "Paranoid of what?" ("base", xpos="far_left", ypos="head") ton "Dark wizards." ("mad", "narrow", "base", "mid") gen "So...{w=0.3} He's a racist?" ("base", xpos="far_left", ypos="head") - ton "No, but he's old... I think he should just retire to be honest." ("open", "base", "base", "downR") + ton "No, but he's old... I think he should just retire, to be honest." ("open", "base", "base", "downR") ton "His methods have gotten progressively more nefarious..." ("open", "narrow", "annoyed", "R") - ton "Some would argue he should be locked up himself, for all the things that he did to catch his targets..." ("mad", "narrow", "base", "down") + ton "Some would argue he should lock up himself, for all the things that he did to catch his targets..." ("mad", "narrow", "base", "down") gen "And you?" ("grin", xpos="far_left", ypos="head") ton "Me? What about me?" ("upset", "narrow", "annoyed", "mid") gen "You wouldn't say what we do is unethical as well?" ("base", xpos="far_left", ypos="head") ton "Did you start drinking before I got here?" ("open", "narrow", "annoyed", "L") - gen "I never stop..." ("base", xpos="far_left", ypos="head") + gen "I never stopped..." ("base", xpos="far_left", ypos="head") ton "..." ("annoyed", "closed", "base", "up") jump end_tonks_hangout @@ -348,35 +347,24 @@ label nt_he_story_intro_E3: ton "Yeah, that would be impressive." ("silly", "happyCl", "base", "mid") ton "I haven't found a single wizard that could do that." ("open", "closed", "shocked", "mid") gen "Ah yes. Because all those cunning bachelors are already taken...{w} or gay..." ("base", xpos="far_left", ypos="head") - ton "No. Single as in... no one can do it." ("open", "narrow", "base", "mid") + ton "No. Single as in... No one can do it." ("open", "narrow", "base", "mid") ton "It's almost impossible to summon drinks and food out of thin air." ("open", "base", "base", "R") - ton "Best they can do is conjure water out of the surrounding humidity." ("upset", "base", "base", "R") - gen "If only I had my powers... I could do it with a snap of a finger." ("base", xpos="far_left", ypos="head") + ton "The best they can do is conjure water out of the surrounding humidity." ("upset", "base", "base", "R") + gen "That's oddly limiting... Genies can conjure food with a snap of a finger." ("base", xpos="far_left", ypos="head") ton "I'm sure you could..." ("silly", "happyCl", "base", "mid") - ">You brag about your almighty powers in front of the witch..." - ">If only you hadn't lost them..." - - #gen "(What kind of shit wizard can't even make food...)" ("base", xpos="far_left", ypos="head") - #gen "What about water though, doesn't that count as a drink?" ("base", xpos="far_left", ypos="head") - #ton "..." ("base", "base", "base", "mid") - #ton "You know what, I never thought of that." ("base", "base", "base", "mid") - #gen "What even counts as food or drink... sound pretty arbitrary to me." ("base", xpos="far_left", ypos="head") - #ton "I don't think we're supposed to think about it too hard." ("base", "base", "base", "mid") - #gen "Less obvious plot-holes that way I suppose..." ("base", xpos="far_left", ypos="head") - #ton "Less what, sorry?" ("base", "base", "base", "mid") - #gen "No matter, just thinking out loud is all." ("base", xpos="far_left", ypos="head") + nar "You brag about your almighty powers in front of the witch..." jump end_tonks_hangout label nt_he_story_intro_E4: ton "I've been so busy lately... The days here fly by faster than a Firebolt." ("open", "closed", "worried", "mid", ypos="head", flip=False) - gen "I'm not sure I know that... spell?" ("base", xpos="far_left", ypos="head") + gen "I'm not sure I know that... Spell?" ("base", xpos="far_left", ypos="head") ton "It's a broom..." ("upset", "base", "base", "mid") gen "Oh, I see... I'm not really that into brooms." ("base", xpos="far_left", ypos="head") gen "Or anything that is inconveniently stiff and long to ride on..." ("base", xpos="far_left", ypos="head") - ton "Well I don't mind that... Most witches don't." ("grin", "base", "base", "R") + ton "Well, I don't mind that... Most witches don't." ("grin", "base", "base", "R") gen "You should ask me about my knowledge of flying carpets instead!" ("grin", xpos="far_left", ypos="head") gen "I can tell you everything about the newest model." ("grin", xpos="far_left", ypos="head") ton "Do you own one yourself? A flying carpet?" ("silly", "base", "base", "mid") @@ -389,7 +377,7 @@ label nt_he_story_intro_E4: ton "Just out of curiosity..." ("horny", "base", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - ">You keep thinking about what Tonks meant by that, whilst she eyes you up expectantly..." + nar "You keep thinking about what Tonks meant by that, whilst she eyes you up expectantly..." jump end_tonks_hangout @@ -403,7 +391,7 @@ label nt_he_story_intro_E5: ton "I studied to become an auror with the hopes of taking down evil wizards." ("annoyed", "base", "annoyed", "down") gen "Sounds like a nineties B movie to me." ("base", xpos="far_left", ypos="head") ton "A what?" ("normal", "shocked", "raised", "mid") - gen "Never mind... continue." ("base", xpos="far_left", ypos="head") + gen "Never mind... Continue." ("base", xpos="far_left", ypos="head") ton "In any case... That's not at all how the job is anymore." ("mad", "base", "base", "R") gen "Was it ever?" ("base", xpos="far_left", ypos="head") ton "That's what they told me..." ("annoyed", "base", "annoyed", "R") #'tell' to 'told' @@ -439,7 +427,7 @@ label nt_he_story_E6: ton "The immense power vampires have over their prey..." ("horny", "base", "raised", "ahegao") ton "It's a shame that they're slaves to their own urges." ("open", "closed", "worried", "mid") gen "(Well... there's that bad feeling I felt before.)" ("base", xpos="far_left", ypos="head") - ton "I get it though. Some aspects of it at least..." ("upset", "base", "base", "R") + ton "I get it though. Some aspects of it, at least..." ("upset", "base", "base", "R") jump end_tonks_hangout @@ -468,7 +456,7 @@ label nt_he_story_intro_E7: label nt_he_story_E8: - ton "I'll tell you about this one time where Moody went a bit too far." ("normal", "base", "base", "downR", ypos="head", flip=False) + ton "I'll tell you about this one time when Moody went a bit too far." ("normal", "base", "base", "downR", ypos="head", flip=False) gen "Where did this sudden urge of sharing come from?" ("base", xpos="far_left", ypos="head") ton "Oh, I've been wanting to spill the beans about this for ages. I just didn't want to get anyone in trouble at the ministry..." ("normal", "closed", "base", "mid") gen "What's to say I won't get you into trouble?" ("base", xpos="far_left", ypos="head") @@ -490,11 +478,11 @@ label nt_he_story_E8: gen "Turn where?" ("base", xpos="far_left", ypos="head") ton "Into a werewolf." ("clench", "closed", "angry", "mid") gen "Of course." ("base", xpos="far_left", ypos="head") - ton "So, the thing is... we hadn't taken into account that it was mating season for them..." ("mad", "narrow", "base", "down") + ton "So, the thing is... We hadn't taken into account that it was mating season for them..." ("mad", "narrow", "base", "down") gen "You don't say!" ("grin", xpos="far_left", ypos="head") - ton "The guy wasn't that interested in biting me that's for sure." ("soft", "base", "base", "downR") + ton "The guy wasn't that interested in biting me, that's for sure." ("soft", "base", "base", "downR") ton "So you can see why I wasn't so keen on reporting it. More of an embarrassing situation sort of thing than anything else." ("open", "base", "base", "R") - ton "And it was totally our fault, I should've recognised the signs straight away... when they're turned they're largely driven by their instincts." ("open", "base", "shocked", "down") + ton "And it was totally our fault, I should've recognised the signs straight away... When they're turned they're largely driven by their instincts." ("open", "base", "shocked", "down") gen "I see." ("base", xpos="far_left", ypos="head") ton "Dated him for a while..." ("horny", "base", "base", "R") gen "You did what?" ("angry", xpos="far_left", ypos="head") @@ -505,7 +493,7 @@ label nt_he_story_E8: label nt_he_story_intro_E9: - ton "Being an auror was quite a stressful job you know." ("open", "closed", "shocked", "mid", ypos="head", flip=False) + ton "Being an auror was quite a stressful job, you know." ("open", "closed", "shocked", "mid", ypos="head", flip=False) gen "I--" ("base", xpos="far_left", ypos="head") ton "The ministry was mostly concerned about the criminals making up for their crimes." ("open", "base", "angry", "mid") ton "But I was more concerned about the victims involved." ("open", "closed", "base", "mid") @@ -517,23 +505,22 @@ label nt_he_story_intro_E9: ton "Also... highly illegal." ("soft", "closed", "base", "mid") gen "Oh, of course..." ("base", xpos="far_left", ypos="head") ton "Anyway..." ("open", "base", "base", "L") - ton "He could've ended up in prison... but law isn't black and white like that." ("open", "base", "base", "mid") + ton "He could've ended up in prison... But the law isn't black and white like that." ("open", "base", "base", "mid") gen "So you're saying that his intentions were good?" ("base", xpos="far_left", ypos="head") ton "In this instance, the woman in question was in an abusive relationship." ("open", "base", "base", "R") ton "And the guy knew that the boyfriend was the jealous type..." ("open", "base", "base", "mid") gen "I see, so he fed her the potion to get her out of it." ("base", xpos="far_left", ypos="head") - ton "Right... I mean jealousy isn't that bad in a playful relationship. But it wasn't like that." ("normal", "base", "base", "downR") + ton "Right... I mean, jealousy isn't that bad in a playful relationship. But it wasn't like that." ("normal", "base", "base", "downR") gen "Wait a second, how did you even know the guy wasn't just saying this because the potion is illegal?" ("base", xpos="far_left", ypos="head") ton "Because I used truth serum." ("grin", "base", "raised", "mid") gen "And that isn't illegal or regulated as well?" ("base", xpos="far_left", ypos="head") - ton "As I said... Law is more complicated than that, and in certain instances using a truth serum would be the right thing to do." ("mad", "base", "base", "mid") + ton "As I said... The law is more complicated than that, and in certain instances, using a truth serum would be the right thing to do." ("mad", "base", "base", "mid") ton "And to be honest, who was he going to tell... It's not like he had the moral high ground." ("annoyed", "closed", "base", "mid") gen "I see, then how did the situation end up?" ("base", xpos="far_left", ypos="head") ton "The girl got out of the abusive relationship and requested to have her memory adjusted." ("open", "wide", "shocked", "mid") gen "And that's--" ("base", xpos="far_left", ypos="head") - ton "That's fine if the person in question is okay with it." ("open", "base", "base", "R") - ton "They have to sign a form and all that..." ("base", "base", "base", "mid") - gen "Obviously..." ("base", xpos="far_left", ypos="head") + ton "That's fine... We do it to muggles all the time." ("open", "base", "base", "R") + gen "Right..." ("base", xpos="far_left", ypos="head") gen "(Where do these people draw the line... making someone fall in love with you just like that?)" ("base", xpos="far_left", ypos="head") gen "(...)" ("base", xpos="far_left", ypos="head") @@ -544,7 +531,7 @@ label nt_he_story_intro_E10: call bld gen "Settled in okay?" ("base", xpos="far_left", ypos="head") ton "Yes, I finally feel like I've found some sort of daily routine." ("grin", "wide", "base", "mid", ypos="head", flip=False) - ton "This school brings back so many memories. It's like, every time I turn a corner I expect to see one of my old classmates." ("open", "base", "shocked", "R") + ton "This school brings back so many memories. It's like, every time I turn a corner, I expect to see one of my old classmates." ("open", "base", "shocked", "R") gen "So, good memories?" ("base", xpos="far_left", ypos="head") ton "Mostly, it's a bit different now." ("base", "narrow", "shocked", "down") gen "In what way?" ("base", xpos="far_left", ypos="head") @@ -560,10 +547,10 @@ label nt_he_story_intro_E10: label nt_he_story_E11: - $ tonks_morph_known = True + $ states.gen.ev.tonks.metamorphmagi_aware = True call bld gen "Tell me more about your time at Hogwarts, as a student..." ("base", xpos="far_left", ypos="head") - ton "Of course, [ton_genie_name]." ("base", "base", "base", "mid", ypos="head", flip=False) + ton "Of course, [name_genie_tonks]." ("base", "base", "base", "mid", ypos="head", flip=False) ton "Well, as you may or may not know. I'm a metamorphmagus." ("open", "base", "base", "R") #metamorphmagus is a latin based word, therefore "-us" is the singular version and "-i" is the plural ton "It means I can change my physical appearance at will." ("base", "base", "raised", "mid") gen "Sounds useful." ("base", xpos="far_left", ypos="head") @@ -573,26 +560,25 @@ label nt_he_story_E11: ton "You gonna put me in detention?" ("horny", "base", "base", "mid") ton "Or put me over your knee and spank me?" ("horny", "base", "angry", "mid") gen "Don't tempt me." ("grin", xpos="far_left", ypos="head") - ton "There was this time where I changed into professor Snape." ("grin", "narrow", "base", "mid") + ton "There was this time when I changed into professor Snape." ("grin", "narrow", "base", "mid") gen "Why Snape?" ("base", xpos="far_left", ypos="head") ton "Well, he was the most likely not to be in the staff room. Which is where I wanted to get in." ("grin", "narrow", "base", "R") gen "Why's that?" ("base", xpos="far_left", ypos="head") - ton "He never leaves the dungeons does he?" ("open", "wide", "raised", "mid") #pretty sure in the books they always refer to it as multiple dungeons but could be wrong - ton "Just take one look at his pasty face and you'll see..." ("mad", "base", "base", "downR") + ton "He never leaves the dungeons does he?" ("open", "wide", "raised", "mid") + ton "Just take one look at his pasty face, and you'll see..." ("mad", "base", "base", "downR") ton "Don't tell him I said that..." ("clench", "base", "base", "mid") - gen "..." ("grin", xpos="far_left", ypos="head") #[Smirk] + gen "..." ("grin", xpos="far_left", ypos="head") ton "So... I changed into professor Snape and went towards the staff room..." ("base", "base", "annoyed", "R") gen "Isn't the staff room just full of boring old teachers?" ("base", xpos="far_left", ypos="head") - #ton "Have you used a mirror lately?" ("open", "base", "raised", "mid") - ton "My goal wasn't to talk with the teachers..." ("open", "closed", "base", "mid") + ton "My goal wasn't to speak with the teachers..." ("open", "closed", "base", "mid") ton "I was trying to get a key to the prefects' bathroom." ("base", "base", "angry", "mid") gen "And you couldn't just turn into a prefect, and get in there that way?" ("base", xpos="far_left", ypos="head") ton "Well, that would've been the clever thing to do..." ("open", "base", "raised", "R") - ton "Although like everything else in this school, the bathroom has a password and not a key..." ("normal", "closed", "annoyed", "mid") + ton "Although, like everything else in this school, the bathroom has a password and not a key..." ("normal", "closed", "annoyed", "mid") ton "Of course I didn't know that... I had just heard rumours about the bathroom." ("clench", "narrow", "worried", "R") gen "So did you manage to get in there in the end?" ("base", xpos="far_left", ypos="head") ton "Oh yeah, it was easy!" ("base", "wink", "base", "mid") - ton "Once I knew about the password I just had to pretend to be one of the prefects, and ask another for it." ("open", "wide", "base", "mid") + ton "Once I knew about the password, I just had to pretend to be one of the prefects, and ask another for it." ("open", "wide", "base", "mid") gen "Smart..." ("base", xpos="far_left", ypos="head") jump end_tonks_hangout @@ -602,13 +588,13 @@ label nt_he_story_E12: call bld gen "Tell me more about that shapeshifting ability of yours..." ("base", xpos="far_left", ypos="head") ton "Of course..." ("base", "wide", "shocked", "mid", ypos="head", flip=False) - ton "Most of my escapades were kind of one trick ponies." ("open", "base", "base", "R") + ton "Most of my escapades were kind of one-trick ponies." ("open", "base", "base", "R") gen "Sounds pretty foolproof to me..." ("base", xpos="far_left", ypos="head") - gen "I mean how many other students could change their appearance?" ("base", xpos="far_left", ypos="head") + gen "I mean, how many other students could change their appearance?" ("base", xpos="far_left", ypos="head") ton "None, that's why. Process of elimination." ("upset", "base", "raised", "downR") gen "So you got punished without any sort of proof?" ("base", xpos="far_left", ypos="head") - ton "No, but they set up countermeasures after the time when..." ("open", "base", "raised", "R") - ton "I shouldn't really talk about it. They never confronted me about it so fessing up now isn't going to do me any good." ("mad", "narrow", "worried", "down") + ton "No, but they set up countermeasures after the time when--" ("open", "base", "raised", "R") + ton "I shouldn't really talk about it. They never confronted me about it, so fessing up now isn't going to do me any good." ("mad", "narrow", "worried", "down") gen "Not a word leaves this office." ("base", xpos="far_left", ypos="head") ton "Do you think I'm weird?" ("open", "narrow", "shocked", "down") gen "Everyone is a bit... weird..." ("base", xpos="far_left", ypos="head") @@ -616,21 +602,21 @@ label nt_he_story_E12: ton "You might have noticed that I'm a bit more comfortable with my sexuality than most people." ("open", "base", "base", "mid") gen "(Oh, here we go!)" ("grin", xpos="far_left", ypos="head") ton "I already told you about the whole werewolf thing, and the power play fantasies with the vampire..." ("open", "base", "base", "R") - gen "Well, you didn't phrase it that bluntly before but I got the gist." ("base", xpos="far_left", ypos="head") - ton "Well, just like many weird or odd sexual preferences they're often deeply embedded with experiences from your youth." ("open", "base", "worried", "L") + gen "Well, you didn't phrase it that bluntly before, but I got the gist." ("base", xpos="far_left", ypos="head") + ton "Well, just like many weird or odd sexual preferences, they're often deeply embedded with experiences from your youth." ("open", "base", "worried", "L") ton "So for me, there was this one time where I pretended to be a teacher..." ("open", "base", "worried", "mid") ton "As in, I literally took over their lesson when they were ill." ("mad", "base", "base", "down") gen "How did you manage that, weren't the students notified of their leave beforehand?" ("base", xpos="far_left", ypos="head") ton "No. There was just a note on the door, so I ripped it off before the class got there." ("open", "closed", "base", "mid") gen "Seems like a flawed system..." ("base", xpos="far_left", ypos="head") - ton "Yeah, afterwards a lot of the teachers changed the way they do it. Not the new ones though..." ("grin", "base", "base", "downR") + ton "Yeah, afterwards, a lot of the teachers changed the way they do it. Not the new ones though..." ("grin", "base", "base", "downR") gen "You haven't told me which class this was. Did you turn into Snape and teach potions?" ("base", xpos="far_left", ypos="head") ton "Of course not! Snape would've made my life hell, and I wasn't going to make someone hurt themself." ("open", "base", "annoyed", "down") ton "It was charms..." ("mad", "base", "base", "down") gen "Right..." ("base", xpos="far_left", ypos="head") ton "I had been practising some charms, and taught myself a couple on my own, like the one for invisibility..." ("crooked_smile", "base", "base", "down") gen "Impressive." ("base", xpos="far_left", ypos="head") - ton "Thanks... Normally you wouldn't learn that one until much later, so you'd easily be able to dispel it." ("silly", "happyCl", "base", "mid") + ton "Thanks... Normally, you wouldn't learn that one until much later, so you'd easily be able to dispel it." ("silly", "happyCl", "base", "mid") gen "But you decided it was a good idea to teach it anyway?" ("base", xpos="far_left", ypos="head") ton "I didn't say it was a good idea." ("mad", "base", "base", "mid") ton "It didn't end up working anyway..." ("upset", "base", "worried", "R") @@ -646,121 +632,9 @@ label nt_he_story_E12: gen "(That sounds disgusting...)" ("base", xpos="far_left", ypos="head") ton "Anyway, the teachers played it off as an accident... though poor Flitwick had his magical abilities questioned by the students for a while." ("upset", "base", "shocked", "down") ton "And they tried to set up some more countermeasures towards my abilities at that point." ("open", "base", "annoyed", "R") - ton "Not that they worked that well... After that I was a bit more selective with my usage, and actually thought about the consequences a bit before using it." ("mad", "narrow", "annoyed", "R") + ton "Not that they worked that well... After that, I was a bit more selective with my usage, and actually thought about the consequences a bit before using it." ("mad", "narrow", "annoyed", "R") gen "Well, you do start thinking more about others as you get older..." ("base", xpos="far_left", ypos="head") - ton "Yeah well, my sexual drive started to take the upper hand on my decisions from that point on, so it evened out." ("base", "happyCl", "base", "mid") + ton "Yeah... Well, my sexual drive started to take the upper hand on my decisions from that point on, so it evened out." ("base", "happyCl", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") jump end_tonks_hangout - - - -### Centaur Story ### - -# Will be something other than a hangout event as you can't have a jerk-off interaction during them. -# Substitute Teacher for Care for Magical Creatures maybe? - -label nt_he_story_centaur: # Not in use. - ton "..." ("upset", "base", "worried", "mid") - ton "Very well, Professor.{w} I think I can make an exception for you." ("open", "base", "base", "R") - gen "And spare no details." ("grin", xpos="far_left", ypos="head") - ton "I have your word that you will not tell a soul about any of this?" ("open", "base", "base", "mid") - gen "Yes... now tell me!" ("angry", xpos="far_left", ypos="head") - - ton "Very well..." ("upset", "base", "worried", "down") - ton "First you should know, there aren't many witches that could take on and calm a large group of wild centaurs..." ("open", "base", "worried", "mid") - ton "Most would foolishly try to intimidate or threaten them, and rely on their wands and spells to keep them at bay, which would only make matters worse..." ("open", "base", "worried", "R") - ton "But that's not how I handle \"conflict\" with those beastly creatures..." ("base", "base", "base", "mid") - gen "Yes?!" ("grin", xpos="far_left", ypos="head") - gen "(I like where this is going!)" ("base", xpos="far_left", ypos="head") - - call nar(">*Fap!* *Fap!* *Fap!*") - ton "Centaurs don't do well with Ministry personnel{w} Even less so with female witches such as myself..." ("open", "base", "raised", "mid") - ton "Making them a compelling offer so they'd peacefully return to their assigned territory was quite...{w} challenging {heart}" ("horny", "base", "base", "R") - gen "Go on..." ("angry", xpos="far_left", ypos="head") - ton "All I did was do them a small favour.{w} A little service the Ministry would never even think of providing them with." ("mad", "base", "worried", "down") - ton "But I did it anyway..." ("base", "base", "angry", "mid") - gen "*Argh!* What did you do?" ("angry", xpos="far_left", ypos="head") - ton "Well, I simply helped them release some of their stored up tension..." ("open", "base", "base", "R") - ton "And stroked their manhoods with my hands..." ("horny", "base", "base", "mid") - - gen "Yes! How filthy!" ("grin", xpos="far_left", ypos="head") - ton "*Hmph?!* You believe what I did was filthy, Professor?!" ("base", "wide", "shocked", "stare") - ton "*Ehm*... I mean, it depends on how you look at it..." ("upset", "base", "worried", "down") - ton "It's by far the simplest way to calm down a group of wild centaurs..." ("open", "base", "worried", "R") - ton "As far as I could tell, they didn't have any females within their group..." ("open", "base", "base", "mid") - ton "You can imagine the amount of tension that gets built up as a result of that..." ("mad", "base", "base", "mid") - ton "(Inside those heavy, cum-filled balls!)" ("horny", "base", "base", "ahegao", hair="horny") # ahegao - gen "So your idea was to jerk them off?" ("base", xpos="far_left", ypos="head") - - ton "Well, yes.{w} They can't easily reach around to do it themselves now, can they?" ("horny", "base", "base", "mid") - gen "(Those poor bastards!)" ("base", xpos="far_left", ypos="head") - - gen "Must have been a real...{w}*argh*!- relief for them!" ("angry", xpos="far_left", ypos="head") - ton "I believe so too, Sir." ("base", "base", "base", "mid") - ton "You should know, I never shy away from getting my hands dirty!" ("horny", "base", "raised", "mid", hair="horny") - gen "*Agh!* Fuck! I'm getting close..." ("angry", xpos="far_left", ypos="head") - ton "Most of the Ministry view Centaurs as \"lesser\" beings... As animals." ("open", "base", "base", "R") - ton "But not me. To me they're all powerful, and magnificent creatures." ("base", "base", "angry", "mid") - ton "And it's known that above all they embody strength, dominance, and lust..." ("open", "base", "base", "mid") - ton "(And they are so{w} fucking{w} hung!!!)" ("horny", "base", "base", "ahegao", hair="horny") # Ahegao - - #Genie cums - stop music fadeout 1.0 - gen "Yes! Here it comes!" ("angry", xpos="far_left", ypos="head") - - call cum_block - call gen_chibi("cum_behind_desk") - with d3 - pause 1 - - ton "For a Ministry person to submit the way I did was quite the shock to them..." ("open", "base", "raised", "R", hair="horny") - - call cum_block - gen "*Argh* You horse-cock-loving whore!" ("base", xpos="far_left", ypos="head") - ton "I have to say, Professor, now that I've told you.{w} I feel quite embarrassed about it!" ("mad", "closed", "worried", "mid") - - call cum_block - gen "You dirty slut!" ("angry", xpos="far_left", ypos="head") - - ton "(I'd better not tell him what I had to do for their chieftain...)" ("mad", "base", "worried", "L", hair="horny") - ton "(I can still taste him) {heart} {heart} {heart}" ("horny", "base", "base", "ahegao", hair="horny") - - call hide_characters - hide screen bld1 - with d3 - - call gen_chibi("cum_behind_desk_done") - with d3 - pause.5 - - call bld - gen "(Fuck me, that felt great!)" ("angry", xpos="far_left", ypos="head") - - ton "A remarkable wizard such as yourself would never even consider solutions of such..." ("open", "base", "base", "mid") - ton "Depravity..." ("horny", "base", "base", "R", hair="horny") - gen "Are you asking me whether or not I'd jerk of a Centaur?..." ("base", xpos="far_left", ypos="head") - gen "Because that would be a clear \"no\" from me..." ("base", xpos="far_left", ypos="head") - - ton "Professor, I've never told anybody about my experiences as an Auror..." ("mad", "base", "worried", "down") - gen "Are there more \"experiences\" you could tell me about?" ("base", xpos="far_left", ypos="head") - ton "Well... I have been an Auror for quite a while now, so... I do have a couple." ("open", "base", "worried", "R") - gen "Great! I'd love to hear them!" ("grin", xpos="far_left", ypos="head") - - jump end_tonks_hangout - - - #(Not in use. Can be written into a Hangout event.) - #ton "In fact I caught one of your teachers engaged in rather...{w=0.3} adulterous activities with a couple of students." - #gen "A couple...{w} Like, at the same time?" ("base", xpos="far_left", ypos="head") - #ton "Panty pictures!" - #gen "What!" ("base", xpos="far_left", ypos="head") - #ton "Well, I'm fine with any photographs really, ankles, butts, underwear..." - #gen "I see...{nw}" ("base", xpos="far_left", ypos="head") - #ton "Feet!" - #gen "Feet?" ("angry", xpos="far_left", ypos="head") - #ton "Well, anything I can get really." - #gen "(This lady's a pervert...)" ("base", xpos="far_left", ypos="head") - #ton "There seems to be a great opportunity here..." - #gen "I'd rather keep my shoes on thank you!" ("base", xpos="far_left", ypos="head") - #ton "Not that, silly." diff --git a/game/scripts/characters/tonks/events/hangout_stories_NOT_IN_USE.txt b/game/scripts/characters/tonks/events/hangout_stories_NOT_IN_USE.txt new file mode 100644 index 00000000..a4866f36 --- /dev/null +++ b/game/scripts/characters/tonks/events/hangout_stories_NOT_IN_USE.txt @@ -0,0 +1,111 @@ + + +### Centaur Story ### + +# Will be something other than a hangout event as you can't have a jerk-off interaction during them. +# Substitute Teacher for Care for Magical Creatures maybe? + +# label nt_he_story_centaur: # Not in use. +# ton "..." ("upset", "base", "worried", "mid") +# ton "Very well, Professor.{w} I think I can make an exception for you." ("open", "base", "base", "R") +# gen "And spare no details." ("grin", xpos="far_left", ypos="head") +# ton "I have your word that you will not tell a soul about any of this?" ("open", "base", "base", "mid") +# gen "Yes... now tell me!" ("angry", xpos="far_left", ypos="head") + +# ton "Very well..." ("upset", "base", "worried", "down") +# ton "First you should know, there aren't many witches that could take on and calm a large group of wild centaurs..." ("open", "base", "worried", "mid") +# ton "Most would foolishly try to intimidate or threaten them, and rely on their wands and spells to keep them at bay, which would only make matters worse..." ("open", "base", "worried", "R") +# ton "But that's not how I handle \"conflict\" with those beastly creatures..." ("base", "base", "base", "mid") +# gen "Yes?!" ("grin", xpos="far_left", ypos="head") +# gen "(I like where this is going!)" ("base", xpos="far_left", ypos="head") + +# nar "*Fap!* *Fap!* *Fap!*" +# ton "Centaurs don't do well with Ministry personnel{w} Even less so with female witches, such as myself..." ("open", "base", "raised", "mid") +# ton "Making them a compelling offer, so they'd peacefully return to their assigned territory was quite...{w} challenging {heart}" ("horny", "base", "base", "R") +# gen "Go on..." ("angry", xpos="far_left", ypos="head") +# ton "All I did was giving them a small favour.{w} A little service the Ministry would never even think of providing them with." ("mad", "base", "worried", "down") +# ton "But I did it anyway..." ("base", "base", "angry", "mid") +# gen "*Argh!* What did you do?" ("angry", xpos="far_left", ypos="head") +# ton "Well, I simply helped them release some of their stored up tension..." ("open", "base", "base", "R") +# ton "And stroked their manhoods with my hands..." ("horny", "base", "base", "mid") + +# gen "Yes! How filthy!" ("grin", xpos="far_left", ypos="head") +# ton "*Hmph?!* You believe what I did was filthy, Professor?!" ("base", "wide", "shocked", "stare") +# ton "*Ehm*... I mean, it depends on how you look at it..." ("upset", "base", "worried", "down") +# ton "It's by far the simplest way to calm down a group of wild centaurs..." ("open", "base", "worried", "R") +# ton "As far as I could tell, they didn't have any females within their group..." ("open", "base", "base", "mid") +# ton "You can imagine the amount of tension that gets built up as a result of that..." ("mad", "base", "base", "mid") +# ton @ hair horny "(Inside those heavy, cum-filled balls!)" ("horny", "base", "base", "ahegao") # ahegao +# gen "So your idea was to jerk them off?" ("base", xpos="far_left", ypos="head") + +# ton "Well, yes.{w} They can't easily reach around to do it themselves now, can they?" ("horny", "base", "base", "mid") +# gen "(Those poor bastards!)" ("base", xpos="far_left", ypos="head") + +# gen "Must have been a real...{w}*argh*!- relief for them!" ("angry", xpos="far_left", ypos="head") +# ton "I believe so too, Sir." ("base", "base", "base", "mid") +# ton @ hair horny "You should know, I never shy away from getting my hands dirty!" ("horny", "base", "raised", "mid") +# gen "*Agh!* Fuck! I'm getting close..." ("angry", xpos="far_left", ypos="head") +# ton "Most of the Ministry view Centaurs as \"lesser\" beings... As animals." ("open", "base", "base", "R") +# ton "But not me. To me, they're all powerful, and magnificent creatures." ("base", "base", "angry", "mid") +# ton "And it's known that above all they embody strength, dominance, and lust..." ("open", "base", "base", "mid") +# ton @ hair horny "(And they are so{w} fucking{w} hung!!!)" ("horny", "base", "base", "ahegao") # Ahegao + +# #Genie cums +# stop music fadeout 1.0 +# gen "Yes! Here it comes!" ("angry", xpos="far_left", ypos="head") + +# call cum_block +# call gen_chibi("cum_behind_desk") +# with d3 +# pause 1 + +# ton @ hair horny "For a Ministry person to submit the way I did was quite the shock to them..." ("open", "base", "raised", "R") + +# call cum_block +# gen "*Argh* You horse-cock-loving whore!" ("base", xpos="far_left", ypos="head") +# ton "I have to say, Professor, now that I've told you.{w} I feel quite embarrassed about it!" ("mad", "closed", "worried", "mid") + +# call cum_block +# gen "You dirty slut!" ("angry", xpos="far_left", ypos="head") + +# ton @ hair horny "(I'd better not tell him what I had to do for their chieftain...)" ("mad", "base", "worried", "L") +# ton @ hair horny "(I can still taste him) {heart} {heart} {heart}" ("horny", "base", "base", "ahegao") + +# call hide_characters +# hide screen bld1 +# with d3 + +# call gen_chibi("cum_behind_desk_done") +# with d3 +# pause.5 + +# call bld +# gen "(Fuck me, that felt great!)" ("angry", xpos="far_left", ypos="head") + +# ton "A remarkable wizard such as yourself would never even consider solutions of such..." ("open", "base", "base", "mid") +# ton @ hair horny "Depravity..." ("horny", "base", "base", "R") +# gen "Are you asking me whether or not I'd jerk off a Centaur?..." ("base", xpos="far_left", ypos="head") +# gen "Because that would be a clear \"no\" from me..." ("base", xpos="far_left", ypos="head") + +# ton "Professor, I've never told anybody about my experiences as an Auror..." ("mad", "base", "worried", "down") +# gen "Are there more \"experiences\" you could tell me about?" ("base", xpos="far_left", ypos="head") +# ton "Well... I have been an Auror for quite a while now, so... I do have a couple." ("open", "base", "worried", "R") +# gen "Great! I'd love to hear them!" ("grin", xpos="far_left", ypos="head") + +# jump end_tonks_hangout + + +# #(Not in use. Can be written into a Hangout event.) +# #ton "In fact I caught one of your teachers engaged in rather...{w=0.3} adulterous activities with a couple of students." +# #gen "A couple...{w} Like, at the same time?" ("base", xpos="far_left", ypos="head") +# #ton "Panty pictures!" +# #gen "What!" ("base", xpos="far_left", ypos="head") +# #ton "Well, I'm fine with any photographs really, ankles, butts, underwear..." +# #gen "I see...{nw}" ("base", xpos="far_left", ypos="head") +# #ton "Feet!" +# #gen "Feet?" ("angry", xpos="far_left", ypos="head") +# #ton "Well, anything I can get really." +# #gen "(This lady's a pervert...)" ("base", xpos="far_left", ypos="head") +# #ton "There seems to be a great opportunity here..." +# #gen "I'd rather keep my shoes on thank you!" ("base", xpos="far_left", ypos="head") +# #ton "Not that, silly." diff --git a/game/scripts/characters/tonks/events/intro.rpy b/game/scripts/characters/tonks/events/intro.rpy index d0882d60..61d2e2a2 100644 --- a/game/scripts/characters/tonks/events/intro.rpy +++ b/game/scripts/characters/tonks/events/intro.rpy @@ -4,12 +4,12 @@ label tonks_intro_E1: stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" gen "(...)" ("base", xpos="far_left", ypos="head") - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" gen "(Can't I even have one quiet day here?...)" ("base", xpos="far_left", ypos="head") gen "Who is it?" ("base", xpos="far_left", ypos="head") @@ -54,7 +54,7 @@ label tonks_intro_E1: call bld("hide") pause.2 - call play_sound("door") + play sound "sounds/door.ogg" call ton_chibi("stand","door","base") call chibi_emote("hearts", "tonks") with d3 @@ -71,54 +71,55 @@ label tonks_intro_E1: pause.5 $ tonks.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid") - $ camera.set_imagepath("common/") - $ camera.set_image("CG tonks") - if game.daytime: - $ camera.set_overlay("day_overlay") - else: - $ camera.set_overlay("night_overlay") - $ camera.set(zoom=1.0, pos=(-1040, -35), initialize=True) - show screen animatedCG + show CG tonks as cg zorder 17: + pos (-1040, -35) with fade - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed ton "Thank you, Professor." ("base", "base", "base", "mid", xpos="right", ypos="base", trans=d3) - $ camera.set(zoom=1.0, pos=(-1040, -600), t=5.0) + show CG tonks as cg zorder 17: + pos (-1040, -35) + ease_quad 5.0 pos (-1040, -600) + gen "(Oh shit,{w=0.1} she's hot...)" - $ camera.set(zoom=0.5, pos=(-270, -150), t=3.0) + show CG tonks as cg zorder 17: + zoom 1.0 + pos (-1040, -600) + ease_quad 5.0 pos (0, 0) zoom 0.5 + ton "I apologise for arriving unannounced...{w=0.8} And a couple of days late..." ("open", "base", "base", "R") gen "Please, I'm glad you could make it." ton "I was occupied with some unfinished ministry business. Took me a lot longer to solve than I had anticipated..." ("normal", "narrow", "base", "mid") ton "I had quite the \"pleasant\" encounter with a group of centaurs." ("soft", "wide", "raised", "R") gen "Centaurs?!" - ton "*Mhmm*..." ("base", "base", "base", "mid", hair="horny") + ton @ hair horny "*Mhmm*..." ("base", "base", "base", "mid") ton "As usual, they ignored the boundaries of their allocated territory." ("open", "closed", "base", "mid") ton "I had to get them to comply with our rules, to the best of my abilities..." ("soft", "base", "base", "mid") gen "Is that so?..." menu: "-Start jerking off!-": - $ genie_masturbating = True + $ states.gen.masturbating = True $ jerked_off_during_tonks_intro = True call gen_chibi("jerk_off_behind_desk") - hide screen animatedCG + hide cg with fade - call nar(">You take out your cock and start jerking off.") + nar "You take out your cock and start jerking off." gen "Tell me more!" ("grin", xpos="far_left", ypos="head") "-Pay attention-": - $ genie_masturbating = False + $ states.gen.masturbating = False $ jerked_off_during_tonks_intro = False - hide screen animatedCG + hide cg with fade gen "Tell me about it..." ("base", xpos="far_left", ypos="head") - if genie_masturbating: + if states.gen.masturbating: ton "Oh... about the centaurs?" ("annoyed", "base", "raised", "mid") gen "Yes, centaurs!" ("base", xpos="far_left", ypos="head") gen "Half of a man, and the other half that of a horse?" ("angry", xpos="far_left", ypos="head") @@ -133,12 +134,12 @@ label tonks_intro_E1: ton "They are fascinating creatures, aren't they, Professor?" ("soft", "base", "base", "R", trans=dissolve) gen "What?{w} Oh yes, very fascinating..." ("base", xpos="far_left", ypos="head") - call nar("*Fap-Fap-Fap*!") + nar "*Fap-Fap-Fap*!" gen "Don't mind me... Please continue..." ("base", xpos="far_left", ypos="head") gen "I'd like to hear more about the things you did with those centaurs!" ("grin", xpos="far_left", ypos="head") ton "I'm sorry Professor, but that's classified information." ("open", "closed", "shocked", "mid") ton "The Ministry would be furious if they knew I had told you!" ("upset", "wide", "raised", "mid") - ton "(Not that I would mention any of it... They'd probably sack me on the spot for that...)" ("mad", "base", "worried", "R", cheeks="blush") + ton @ cheeks blush "(Not that I would mention any of it... They'd probably sack me on the spot for that...)" ("mad", "base", "worried", "R") ton "(I did the job. That's all that should matter to them...)" ("upset", "base", "base", "down") gen "Come on! ..." ("angry", xpos="far_left", ypos="head") ton "I'm sorry, Professor, but I really shouldn't!" ("open", "base", "base", "mid") @@ -146,16 +147,16 @@ label tonks_intro_E1: gen "(Balls...)" ("base", xpos="far_left", ypos="head") # Stop Masturbating - $ genie_masturbating = False + $ states.gen.masturbating = False call gen_chibi("sit_behind_desk") with d3 pause.8 else: ton "Of course, Sir." ("base", "base", "base", "mid") - ton "I had to make a compelling offer so they'd peacefully return to their assigned territory, which isn't easy..." ("open", "base", "base", "mid") + ton "I had to make a compelling offer, so they'd peacefully return to their assigned territory, which isn't easy..." ("open", "base", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") - ton "You'd never be able to guess how I did it, it's quite the story." ("horny", "base", "base", "R", hair="horny") + ton @ hair horny "You'd never be able to guess how I did it, it's quite the story." ("horny", "base", "base", "R") ton "Unfortunately, I cannot tell you...{w} Strictly confidential Ministry information..." ("soft", "base", "raised", "mid") gen "(Why? Did she suck them off?)" ("base", xpos="far_left", ypos="head") ton "Okay then, let's get this over with." ("open", "narrow", "base", "R") @@ -165,13 +166,13 @@ label tonks_intro_E1: if letter_favors.read: gen "More or less..." ("base", xpos="far_left", ypos="head") ton "We have received a letter from a Miss named \"Hermione Granger\", about the trading of... \"favours\" between staff and students at this school." ("open", "base", "base", "mid") #not sure if it's better to put miss in quotations or not. My logic is that the fact that she is a "miss" is a given, the name however is something the ministry may not know hence the quotations - gen "Yes she very much enjoys doing that..." ("base", xpos="far_left", ypos="head") + gen "Yes, she very much enjoys doing that..." ("base", xpos="far_left", ypos="head") ton "Trading favours?" ("soft", "base", "raised", "mid") gen "(I wish...)" ("base", xpos="far_left", ypos="head") gen "No. She enjoys writing letters...{w} lots of 'em..." ("base", xpos="far_left", ypos="head") else: gen "I can't say that I am." ("base", xpos="far_left", ypos="head") - ton "So you haven't had any complaints from students in regards to \"favour trading\"?" ("open", "base", "raised", "mid") + ton "So you haven't had any complaints from students in regard to \"favour trading\"?" ("open", "base", "raised", "mid") gen "(Oh, fuck...)" ("angry", xpos="far_left", ypos="head") gen "That depends...{w=0.3} What sort of favours are you referring to?" ("grin", xpos="far_left", ypos="head") ton "..." ("base", "base", "angry", "mid") @@ -202,7 +203,7 @@ label tonks_intro_E1: "\"What did she want?\"": ton "Miss Granger wrote about several students, most commonly girls of the Slytherin House, that were inclined to do favours for their male teachers." ("open", "base", "base", "R") #Tonks is a hogwarts graduate. Slytherin doesn't need to be in quotations, she knows what it is. gen "So what?" ("base", xpos="far_left", ypos="head") - ton "According to her letter, those favours tend to be very...{w=0.1} \"sexual\" in nature..." ("soft", "base", "raised", "mid", hair="horny") + ton @ hair horny "According to her letter, those favours tend to be very...{w=0.1} \"sexual\" in nature..." ("soft", "base", "raised", "mid") gen "(Shit...)" ("base", xpos="far_left", ypos="head") ton "Professor, this is a very serious allegation, don't you agree that the ministry is under an obligation to investigate?" ("open", "wide", "raised", "mid") @@ -218,7 +219,7 @@ label tonks_intro_E1: gen "That won't be necessary." ("base", xpos="far_left", ypos="head") ton "Do have some confidence in me, Professor. This is what I was trained for..." ("horny", "base", "base", "mid") gen "................................." ("base", xpos="far_left", ypos="head") - ton "I've already gotten a room down in Hogsmeade." ("open", "base", "base", "R") + ton "I've already got a room down in Hogsmeade." ("open", "base", "base", "R") ton "I'll be staying there, so no need to worry about accommodation." ("base", "base", "base", "mid") gen "Great..." ("base", xpos="far_left", ypos="head") ton "I shall start right away!" ("base", "happyCl", "base", "mid") @@ -230,15 +231,16 @@ label tonks_intro_E1: call bld gen "This can't be good..." ("base", xpos="far_left", ypos="head") - $ snape_busy = True - $ tonks_intro.E1_complete = True + $ states.sna.busy = True + $ states.her.busy = True + $ states.ton.ev.intro.e1_complete = True jump end_tonks_event label tonks_intro_E2: stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" ton "Professor, it's Tonks." @@ -273,7 +275,7 @@ label tonks_intro_E2: call ton_walk(action="enter", xpos="mid", ypos="base") - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed ton "Professor." ("soft", "base", "base", "mid", xpos="right", ypos="base", trans=dissolve) gen "Hey! If it isn't..." ("base", xpos="far_left", ypos="head") @@ -308,12 +310,12 @@ label tonks_intro_E2: ton "I haven't gotten a chance to do my job properly so far." ("upset", "base", "base", "R") ton "I've been rather preoccupied listening to Miss Granger's own {i}investigations{/i}..." ("open", "narrow", "base", "R") ton "That girl sure is something, isn't she?" ("open", "base", "raised", "mid") - ton "Not that I mind listening to her." ("soft", "base", "shocked", "R", hair="horny") + ton @ hair horny "Not that I mind listening to her." ("soft", "base", "shocked", "R") ton "She gave me a very long report that went well into the evening, whilst I enjoyed a glass of firewhisky..." ("open", "base", "base", "mid") ton "She has been very thorough in documenting all the happenings she's witnessed..." ("base", "base", "base", "mid") gen "I can imagine that..." ("base", xpos="far_left", ypos="head") ton "Anyhow... She had no proof of any illicit activities.{w} It's all just hearsay." ("open", "closed", "base", "R") - ton "As much as I wish it were true..." ("horny", "closed", "base", "R", hair="horny") + ton @ hair horny "As much as I wish it were true..." ("horny", "closed", "base", "R") gen "*huh*?" ("base", xpos="far_left", ypos="head") ton "So I could conclude this whole business sooner, of course..." ("base", "narrow", "base", "downR") ton "And bring this favour trading business to an end, once, and for all." ("open", "base", "base", "mid") @@ -330,7 +332,8 @@ label tonks_intro_E2: gen "Shit..." ("base", xpos="far_left", ypos="head") gen "I better talk to Snape about this..." ("base", xpos="far_left", ypos="head") - $ tonks_intro.E2_complete = True + $ states.her.busy = True + $ states.ton.ev.intro.e2_complete = True jump end_tonks_event @@ -355,11 +358,11 @@ label ss_he_tonks_E1: gen "Twice, actually..." ("base", xpos="far_left", ypos="head") sna "And you're telling me about this... now?" ("snape_32") sna "I'm surprised you didn't blow our cover right there and then..." ("snape_16") - gen "What can I say. I'm very good with the ladies!" ("grin", xpos="far_left", ypos="head") + gen "What can I say... I'm very good with the ladies!" ("grin", xpos="far_left", ypos="head") sna "Or you are just too lucky for your own good, more likely..." ("snape_43") gen "That too, to a lesser extent..." ("base", xpos="far_left", ypos="head") - if jerked_off_during_hermione_intro: + if states.her.ev.intro.masturbated: sna "Please tell me you didn't jerk off in front of her as well..." ("snape_03") gen "Well..." ("base", xpos="far_left", ypos="head") @@ -397,7 +400,7 @@ label ss_he_tonks_E1: menu: gen "................." ("base", xpos="far_left", ypos="head") - "{size=-2}\"That's a bit uncalled for, don't you think?\"{/size}": + "{size=-2}\"That's a bit uncalled-for, don't you think?\"{/size}": sna "Maybe you're right." ("snape_06") sna "My apologies." ("snape_09") gen "Apologies accepted." ("base", xpos="far_left", ypos="head") @@ -427,33 +430,11 @@ label ss_he_tonks_E1: sna "It is also the only magical institution..." ("snape_09") gen "...................................." ("base", xpos="far_left", ypos="head") - ">You spend the remainder of the day with Snape, drenching your worries in plenty of wine..." + nar "You spend the remainder of the day with Snape, drenching your worries in plenty of wine..." - #gen "So, what are your thoughts on this whole ministry situation?" ("base", xpos="far_left", ypos="head") - #sna "I can't say I have a very high opinion on how those fools run the place." - #sna "The Department of Magical Law Enforcement are a joke." - #sna "The only decent auror they have is Alistair Moody and he's more concerned dealing with dark magic than petty rumours to get involved with this investigation." - #sna "The minister for magic himself is a fool." - #sna "He might bring a good smile and spirits to the people during times of rebuilding after great loss." - #sna "But when it comes to making any worthwhile decisions or recognizing potential threats or misconduct..." - #gen "I was talking mostly about our current predicament rather thant he ministry at large..." ("base", xpos="far_left", ypos="head") - #sna "I know..." - #gen "..." ("base", xpos="far_left", ypos="head") - #gen "Surely you must be slightly worried." ("base", xpos="far_left", ypos="head") - #sna "I have committed many crimes much worse than chatting up some students, all of which I should've been incarcerated for." - #sna "As I said, the current ministry is a shamble of what it once was... no change will come from this." - #sna "Cornelius fudge is more interested in how the ministry looks from the outside rather than expose existing issues and dealing with them." - #gen "Such as?" ("base", xpos="far_left", ypos="head") - #sna "Well, apart from leaving Hogwarts completely in the hands of the headmaster..." - #sna "Corruption, illegal trades of magical artefacts and creatures. The list goes on..." - #sna "The only one showing any interest in the schools business is the Head of the Department of Magical law Enforcement herself." - #gen "And that's not a problem because?" ("base", xpos="far_left", ypos="head") - #sna "Because in the end you'd see a dementor getting frisky with a human before any of these things aren't getting swept under the carpet." - #sna "You could put the tooth fairy in front of the minister and he'd still deny her existence if he were to have held that stance." - #sna "And the other fools at the ministry would do so as well even if they witnessed it themselves." - - $ ss_he.tonks_E1 = True + $ states.sna.ev.hangouts.tonks_e1 = True $ ss_event_pause += 1 + $ hg_event_pause += 1 $ chair_OBJ.hidden = False $ fireplace_OBJ.foreground = None @@ -463,11 +444,11 @@ label ss_he_tonks_E1: label tonks_intro_E3: stop music fadeout 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" call bld "*Knock-knock-knock*" - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" gen "............" ("base", xpos="far_left", ypos="head") @@ -495,29 +476,29 @@ label tonks_intro_E3: #Tonks enters the office call ton_walk(action="enter", xpos="desk", ypos="base") - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed ton "Professor..." ("soft", "base", "base", "mid", xpos="mid", ypos="base", trans=dissolve) - gen "How's the investigation going? Nothing to report I gather?" ("base", xpos="far_left", ypos="head") + gen "How's the investigation going? Nothing to report, I gather?" ("base", xpos="far_left", ypos="head") ton "On the contrary..." ("open", "wide", "shocked", "stare") - ton "It's worse than I could have ever imagined!" ("open", "wide", "angry", "mid", hair="angry") + ton @ hair angry "It's worse than I could have ever imagined!" ("open", "wide", "angry", "mid") gen "(........)" ("angry", xpos="far_left", ypos="head") ton "This school truly has changed since I was a student here." ("mad", "base", "base", "mid") ton "I never thought I would see Hogwarts in a state such as this..." ("open", "base", "annoyed", "down") - ton "Corrupted! Right down to the core!" ("mad", "base", "angry", "mid", hair="angry") + ton @ hair angry "Corrupted! Right down to the core!" ("mad", "base", "angry", "mid") gen "(What's the matter with her hair?!)" ("angry", xpos="far_left", ypos="head") - ton "You don't have to search for too long to uncover the vile debaucheries that are happening at this school..." ("open", "base", "annoyed", "mid", hair="angry") - gen "(Snape you fucking idiot! You blew it!!!)" ("angry", xpos="far_left", ypos="head") - ton "Teachers taking advantage of their students, promising house points in return for sexual acts..." ("open", "base", "angry", "R", hair="angry") #in a sexual favour, the sex act is the favour - ton "While they abuse their authority and power to do the most despicable things to them..." ("open", "base", "annoyed", "R", hair="horny") - ton "But the Dumbledore I know would never allow such disgracefulness at his school..." ("mad", "base", "angry", "mid", hair="angry") + ton @ hair angry "You don't have to search for too long to uncover the vile debaucheries that are happening at this school..." ("open", "base", "annoyed", "mid") + gen "(Snape, you fucking idiot! You blew it!!!)" ("angry", xpos="far_left", ypos="head") + ton @ hair angry "Teachers taking advantage of their students, promising house points in return for sexual acts..." ("open", "base", "angry", "R") #in a sexual favour, the sex act is the favour + ton @ hair horny "While they abuse their authority and power to do the most despicable things to them..." ("open", "base", "annoyed", "R") + ton @ hair angry "But the Dumbledore I know would never allow such disgracefulness at his school..." ("mad", "base", "angry", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") stop music fadeout 1.0 - ton "I had this suspicion... Since the very day I got here..." ("open", "wide", "angry", "mid", hair="angry") + ton @ hair angry "I had this suspicion... Since the very day I got here..." ("open", "wide", "angry", "mid") # Tonks threatens Genie. # Maybe have her chibi point her wand at him? - call play_music("hitman") - ton "Now tell me, who are you?{w} And you better tell the truth!" ("mad", "base", "angry", "mid", hair="angry") + play music "music/hitman.ogg" fadein 1 if_changed + ton @ hair angry "Now tell me, who are you?{w} And you better tell the truth!" ("mad", "base", "angry", "mid") gen "(Shit, how often is this going to happen to me?)" ("angry", xpos="far_left", ypos="head") menu: @@ -527,9 +508,9 @@ label tonks_intro_E3: gen "No wait, it was {i}Albertus Dumblerdore{/i}! That's it!" ("angry", xpos="far_left", ypos="head") gen "(Yes, that was probably it...)" ("base", xpos="far_left", ypos="head") "\"You know who!\"": - ton "What?" ("open", "wide", "angry", "mid") + ton @ hair scared "What?!" ("open", "wide", "base", "mid") gen "You...{w=0.8} know...{w=0.8} who..." ("base", xpos="far_left", ypos="head") - ton "That can't be true!" ("open", "base", "annoyed", "mid") + ton "That can't be true, you're making it up!" ("open", "base", "annoyed", "mid") gen "You know who I am. You said it yourself earlier." ("base", xpos="far_left", ypos="head") gen "(If only I could remember what she called me...)" ("base", xpos="far_left", ypos="head") #"The danger!": @@ -539,7 +520,7 @@ label tonks_intro_E3: ton "I've had enough of this!" ("mad", "base", "angry", "mid") ton "Reveal your true identity, dark wizard!" ("open", "base", "angry", "mid") gen "I'm not a dark wizard, you racist twat!" ("angry", xpos="far_left", ypos="head") - ton "How dare you call me a racist!" ("mad", "shocked", "angry", "mid", hair="angry") + ton @ hair angry "How dare you call me a racist!" ("mad", "shocked", "angry", "mid") gen "Bring it! Do your worst, witch!" ("angry", xpos="far_left", ypos="head") call hide_characters hide screen bld1 @@ -548,8 +529,8 @@ label tonks_intro_E3: # Glass break animation. # Duel won't happen and Tonks just casts a spell. - play music "music/boss_battle_#2_metal_loop.ogg" fadein 1 fadeout 1 - call play_sound("glass_break") + play music "music/boss_battle_#2_metal_loop.ogg" fadein 1 fadeout 1 if_changed + play sound "sounds/glass_break.ogg" pause.1 show screen snape_glass @@ -563,7 +544,7 @@ label tonks_intro_E3: $ desk_OBJ.idle = "desk_dumbledore" $ chair_left_OBJ.hidden = True call cast_spell("revelio") - ton "Revelio!" ("open_wide", "shocked", "annoyed", "mid", hair="angry", ypos="head", flip=False) + ton @ hair angry "Revelio!" ("open_wide", "shocked", "annoyed", "mid", ypos="head", flip=False) call bld("hide") pause.6 @@ -573,7 +554,7 @@ label tonks_intro_E3: ton "" ("disgust", "shocked", "shocked", "stare", xpos="right", ypos="base") gen "(...)" ("base", xpos="far_left", ypos="head") - $ renpy.music.play("music/Under-the-Radar by PhobyAk.ogg") + play music "music/Under-the-Radar by PhobyAk.ogg" if_changed ton "No way!" ("soft", "shocked", "base", "mid") gen "What just happened?" ("base", xpos="far_left", ypos="head") ton "What... are you...?" ("mad", "shocked", "raised", "mid") @@ -585,15 +566,14 @@ label tonks_intro_E3: gen "Some people would say I'm {b}the{/b} Genie, actually!" ("grin", xpos="far_left", ypos="head") gen "The most powerful being in the entire universe... Multiple universes even..." ("base", xpos="far_left", ypos="head") gen "Glad my reputation precedes me..." ("base", xpos="far_left", ypos="head") - ton "How curious. I've never had a Genie before..." ("horny", "wide", "base", "down", hair="horny") # Tonks looks horny. + ton @ hair horny "How curious... I've never had a Genie before." ("horny", "wide", "base", "down") # Tonks looks horny. gen "I'm sorry-- what?" ("base", xpos="far_left", ypos="head") ton "I meant, I've never had the pleasure of meeting a Genie before. This is brilliant!" ("grin", "shocked", "shocked", "mid") gen "(Is she hitting on me?!)" ("base", xpos="far_left", ypos="head") gen "I'm flattered... But how were you able to tell?" ("base", xpos="far_left", ypos="head") ton "I'm an Auror. It's my job to identify and catch magical beings..." ("soft", "wide", "shocked", "mid") ton "But, if you are here, what happened to Professor Dumbledore?{w} Did he use one of your wishes and wish himself away?" ("mad", "wide", "shocked", "R") - gen "No... I don't do that anymore." ("base", xpos="far_left", ypos="head") - gen "I'm what you would call a \"free\" Genie..." ("base", xpos="far_left", ypos="head") + gen "Not exactly..." ("base", xpos="far_left", ypos="head") ton "So? What happened to him?" ("upset", "base", "raised", "mid") gen "I believe we traded places when one of my magical inventions went wrong..." ("base", xpos="far_left", ypos="head") ton "Really?! Is he okay?" ("mad", "wide", "base", "mid") @@ -603,14 +583,14 @@ label tonks_intro_E3: ton "Because you were bored?!" ("upset", "base", "angry", "mid") gen "Hey! I'm an immortal being... boredom is my worst enemy." ("base", xpos="far_left", ypos="head") gen "And I didn't do much, just a nudge in the right direction..." ("base", xpos="far_left", ypos="head") - ton "You need to bring him back, the real Dumbledore, immediately!" ("mad", "base", "angry", "mid", hair="angry") + ton @ hair angry "You need to bring him back, the real Dumbledore, immediately!" ("mad", "base", "angry", "mid") gen "I don't know how, ... yet.{w} We're still working on it..." ("base", xpos="far_left", ypos="head") ton "We? Who else knows about this?" ("open", "narrow", "annoyed", "mid") menu: gen "(Crap...)" ("base", xpos="far_left", ypos="head") "\"You know who...\"": - ton "{size=+4}What?!{/size}" ("open", "wide", "worried", "mid", hair="scared") + ton @ hair scared "{size=+4}What?!{/size}" ("open", "wide", "worried", "mid") gen "(Why do they keep freaking out whenever I say this...)" ("base", xpos="far_left", ypos="head") gen "That Snape guy." ("base", xpos="far_left", ypos="head") @@ -618,8 +598,8 @@ label tonks_intro_E3: ton "You mean Professor Snape is in on this?!" ("open", "wide", "shocked", "mid") gen "What? But I didn't--" ("base", xpos="far_left", ypos="head") - ton "But of course!{w} After all he was mentioned in Miss Granger's letter as one of the main offenders." ("disgust", "wide", "shocked", "stare") - ton "That sleazy, vile snake...{w} Naturally he'd be all over an opportunity such as this." ("mad", "base", "angry", "R", hair="angry") + ton "But of course!{w} After all, he was mentioned in Miss Granger's letter as one of the main offenders." ("disgust", "wide", "shocked", "stare") + ton @ hair angry "That sleazy, vile snake...{w} Naturally he'd be all over an opportunity such as this." ("mad", "base", "angry", "R") gen "(Snake? Have I been saying his name wrong this entire time?...)" ("base", xpos="far_left", ypos="head") gen "(I hate when that happens...)" ("base", xpos="far_left", ypos="head") ton "And to think I believed that creep when I questioned him about it." ("mad", "closed", "angry", "mid") @@ -638,8 +618,8 @@ label tonks_intro_E3: gen "No, please! I hate confined spaces!" ("angry", xpos="far_left", ypos="head") # fake game over $ renpy.music.stop(fadeout=4) - $ renpy.music.stop(channel="weather", fadeout=4) - $ renpy.play('sounds/level_failed.ogg') + stop weather fadeout 4 + play sound "sounds/level_failed.ogg" show screen cartoon_zoom gen "...{w=6.0}{nw}" ("angry", xpos="far_left", ypos="head") call gameover() @@ -648,18 +628,18 @@ label tonks_intro_E3: call weather_sound stop music fadeout 1.5 - $ renpy.play('sounds/scratch.ogg') + play sound "sounds/scratch.ogg" ton "Unless..." ("upset", "narrow", "annoyed", "downR", trans=hpunch) gen "Unless?" ("angry", xpos="far_left", ypos="head") - call play_music("tonks") - ton "You let me join in on the fun!" ("grin", "base", "raised", "mid", hair="horny") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton @ hair horny "You let me join in on the fun!" ("grin", "base", "raised", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "What?" ("angry", xpos="far_left", ypos="head") #screenshake ton "The ministry sent me to investigate what they assumed to be a silly rumour a student made up..." ("base", "base", "angry", "R") ton "And whilst I could just squash the rumour and go back to a dull, quiet desk job." ("disgust", "base", "raised", "mid") #rule of 3 - ton "I simply couldn't pass up an opportunity like this..." ("horny", "narrow", "base", "mid", hair="horny") #now that she's not being official and talking ministry business, she should slip back into more casual language - ton "Keeping quiet would be far more... \"exciting\"." ("soft", "base", "base", "stare", hair="horny") + ton @ hair horny "I simply couldn't pass up an opportunity like this..." ("horny", "narrow", "base", "mid") #now that she's not being official and talking ministry business, she should slip back into more casual language + ton @ hair horny "Keeping quiet would be far more... \"exciting\"." ("soft", "base", "base", "stare") gen "How so?" ("base", xpos="far_left", ypos="head") ton "I know for a fact that the Ministry has been trying to plant an inside man here at Hogwarts." ("normal", "base", "base", "R") gen "Then what are you suggesting?" ("base", xpos="far_left", ypos="head") @@ -674,30 +654,30 @@ label tonks_intro_E3: gen "That's a relief..." ("base", xpos="far_left", ypos="head") ton "I'll inform the other teachers about my stay." ("open", "base", "base", "R") ton "And the Ministry too of course. I'll be their inside man at Hogwarts, here at the request of Professor Dumbledore himself, no less." ("base", "base", "base", "mid") - ton "If only they knew..." ("horny", "narrow", "base", "mid", hair="horny") + ton @ hair horny "If only they knew..." ("horny", "narrow", "base", "mid") ton "In any case, Profess--" ("open", "base", "base", "R") ton "I'm sorry, what would you like me to call you?" ("mad", "base", "raised", "mid") menu: gen "You can call me..." ("base", xpos="far_left", ypos="head") "\"Professor is fine.\"": - $ ton_genie_name = "Professor" + $ name_genie_tonks = "Professor" ton "Very well." ("base", "base", "base", "mid") "\"You can call me Genie.\"": - $ ton_genie_name = "Genie" + $ name_genie_tonks = "Genie" ton "Very well, Genie." ("base", "base", "base", "mid") "\"Call me Daddy...\"": - $ ton_genie_name = "Daddy" + $ name_genie_tonks = "Daddy" ton "What? Are you serious?!" ("open", "wide", "shocked", "stare") - ton "*Ha-Ha-Ha!*...{w=0.3} you're too funny!" ("silly", "happyCl", "raised", "mid", hair="happy") + ton @ hair happy "*Ha-Ha-Ha!*...{w=0.3} you're too funny!" ("silly", "happyCl", "raised", "mid") gen "(What?-- Now it's yellow!)" ("angry", xpos="far_left", ypos="head") - ton "Are all Genies this desperate?" ("crooked_smile", "base", "raised", "mid", hair="happy") + ton @ hair happy "Are all Genies this desperate?" ("crooked_smile", "base", "raised", "mid") gen "Desperate? Why Desperate? ..." ("base", xpos="far_left", ypos="head") - ton "Nothing..." ("base", "base", "base", "down", hair="happy") - ton "Very well... \"Daddy\"! {heart}{heart}{heart}" ("horny", "narrow", "base", "mid", hair="horny") + ton @ hair happy "Nothing..." ("base", "base", "base", "down") + ton @ hair horny "Very well... \"Daddy\"! {heart}{heart}{heart}" ("horny", "narrow", "base", "mid") gen "*He*-*He*-*He*-He*..." ("grin", xpos="far_left", ypos="head") - ton "Call me to your office whenever you require my help, [ton_genie_name]." ("base", "base", "base", "mid") #would it be better to have her call him by the requested name here, since later on we have the bit where Tonks submits to genie and calls him sir + ton "Call me to your office whenever you require my help, [name_genie_tonks]." ("base", "base", "base", "mid") #would it be better to have her call him by the requested name here, since later on we have the bit where Tonks submits to genie and calls him sir gen "I most certainly will..." ("base", xpos="far_left", ypos="head") #Tonks leaves @@ -707,13 +687,15 @@ label tonks_intro_E3: gen "What an interesting turn of events..." ("base", xpos="far_left", ypos="head") gen "Who would've guessed that she's such a pervert?!" ("grin", xpos="far_left", ypos="head") - $ tonks_unlocked = True + $ states.ton.unlocked = True $ achievements.unlock("unlockton", True) call popup("{size=-4}You can now summon Tonks into your office.{/size}", "Character unlocked!", "interface/icons/head/tonks.webp") - $ tonks_busy = True + gen "(Now that the matter is resolved, I guess I can get back to teaching Hermione...)" - $ tonks_intro.E3_complete = True + $ states.ton.busy = True + + $ states.ton.ev.intro.e3_complete = True $ nt_event_pause += 1 call music_block @@ -788,32 +770,32 @@ label ss_he_tonks_E2: sna "Why would the Ministry have sent a full-fledged Auror, to deal with some eccentric insinuations made by some petty student..." ("snape_16") gen "Shouldn't they?" ("base", xpos="far_left", ypos="head") sna "Just because of some silly rumour about teachers having sexual intercourse with their students?" ("snape_34") - gen "And that's not a reasonable enough concern to send somebody to look into?" ("base", xpos="far_left", ypos="head") + gen "And that's not a reasonable enough concern to send somebody to look into it?" ("base", xpos="far_left", ypos="head") sna "It's the Ministry we're talking about...{w=0.8} They don't give a shit..." ("snape_30") sna "They wouldn't even believe it if \"you-know-who\" were to make a return..." ("snape_31") gen "Who?" ("base", xpos="far_left", ypos="head") - sna "That Tonks had to be the only Ministry personnel that saw some truth in Granger's letters..." ("snape_35") + sna "That Tonks had to be the only Ministry personnel seeing some truth in Granger's letters..." ("snape_35") sna "What if she specifically requested to be sent here to investigate?" ("snape_03") gen "She might have..." ("base", xpos="far_left", ypos="head") sna "So...{w=0.4} what does she want?" ("snape_04") sna "Surely she's taking the position for a reason..." ("snape_01") gen "It appears that she'd like to be part of this whole favour trading business, which is also why she asked to be made a teacher..." ("base", xpos="far_left", ypos="head") - gen "And in return she'll keep things quiet with the ministry." ("base", xpos="far_left", ypos="head") + gen "And in return, she'll keep things quiet with the ministry." ("base", xpos="far_left", ypos="head") sna "*Hmm*... Not having to worry about the Ministry anymore, you say..." ("snape_38") sna "And I'm supposed to believe that she'd be willing to do that for us?" ("snape_25") sna "How exactly did you end up in this situation with her?" ("snape_04") gen "I don't know... It just... happened." ("base", xpos="far_left", ypos="head") gen "She pretty much figured everything out by herself." ("base", xpos="far_left", ypos="head") - gen "Straight away even guessed that I'm a Genie..." ("base", xpos="far_left", ypos="head") + gen "Straight away. She even guessed that I'm a Genie..." ("base", xpos="far_left", ypos="head") sna "So she knows everything? How did she--" ("snape_03") gen "It appears the \"illusion charm\" wasn't perfect. She momentarily got a glimpse through it..." ("base", xpos="far_left", ypos="head") sna "That's impressive... perhaps I didn't give her enough credit..." ("snape_01") - sna "If what you're telling me about her intentions are true..." ("snape_03") - sna "Maybe she could even be persuaded to help with the Granger situation..." ("snape_05") + sna "If what you're telling me about her intentions is true..." ("snape_03") + sna "Maybe she could be persuaded to help with the Granger situation..." ("snape_05") - #if nt_he.hermione_E1: + #if states.her.ev.intro.convinced: # gen "Way ahead of you!" ("grin", xpos="far_left", ypos="head") # gen "She's already offered to help with Granger." ("base", xpos="far_left", ypos="head") #else: @@ -823,7 +805,7 @@ label ss_he_tonks_E2: sna "What a wicked bitch!" ("snape_13") sna "If only we were selling favours back then..." ("snape_46") sna "You know what they say about students from Hufflepuff..." ("snape_20") - sna "They are quite the \"hard-working\" bunch!" ("snape_21") + sna "They always come last!" ("snape_21") gen "(...)" ("base", xpos="far_left", ypos="head") gen "I'm calling dibs on her!" ("base", xpos="far_left", ypos="head") sna "You do what?" ("snape_14") @@ -834,13 +816,13 @@ label ss_he_tonks_E2: pause.1 call blktone - ">You and professor Snape keep discussing various staff members of Hogwarts." - ">The bond between you two grows stronger." + nar "You and professor Snape keep discussing various staff members of Hogwarts." + nar "The bond between you two grows stronger." call sly_plus call hide_blktone - $ ss_he.tonks_E2 = True + $ states.sna.ev.hangouts.tonks_e2 = True $ ss_event_pause += 1 jump end_snape_hangout_points @@ -852,7 +834,7 @@ label ss_he_tonks_E2: label ss_he_tonks_E3: call bld gen "Our new partner in crime, is she getting on well?" ("base", xpos="far_left", ypos="head") - sna "Tonks? I haven't seen her since last time we talked..." ("snape_09", ypos="head") + sna "Tonks? I haven't seen her that much... I prefer not to fraternize with the other teachers..." ("snape_09", ypos="head") sna "Shouldn't you know what that witch is up to? You made her a teacher, after all..." ("snape_01") gen "I'm sure she's still just settling down..." ("base", xpos="far_left", ypos="head") sna "Probably drinking booze down at Hogsmeade, more likely..." ("snape_35") @@ -870,7 +852,7 @@ label ss_he_tonks_E3: gen "*Hmm*..." ("base", xpos="far_left", ypos="head") "\"... Demiguise?\"": gen "What the fuck is that?" ("base", xpos="far_left", ypos="head") - sna "*sigh* I keep forgetting you're not from around here..." ("snape_06") + sna "*Sigh*... I keep forgetting you're not from around here..." ("snape_06") sna "It's a magical beast that can make itself invisible and has precognitive sight." ("snape_24") gen "... Sounds boring, forget I asked." ("base", xpos="far_left", ypos="head") sna "..........." ("snape_05") @@ -893,7 +875,7 @@ label ss_he_tonks_E3: sna ".................." ("snape_31") sna "I can't say that I trust her just yet..." ("snape_35") - sna "Not before I get to slip in a couple drops of \"Veritaserum\" into her drink..." ("snape_03") + sna "Not before I get to slip in a couple of drops of \"Veritaserum\" into her drink..." ("snape_03") gen "\"Veritaserum\"?" ("base", xpos="far_left", ypos="head") sna "Truth potion!{w=0.4} I oftentimes use some on my \"very attractive Slytherins\"..." ("snape_02") sna "Only a single drop, and they'll tell me everything I want to know." ("snape_41") @@ -904,10 +886,10 @@ label ss_he_tonks_E3: pause.1 call blktone - ">You take some time to muse about the fetishes Tonks might have..." - ">For blackmailing... or to have some fun..." + nar "You take some time to muse about the fetishes Tonks might have..." + nar "For blackmailing... or to have some fun..." - $ ss_he.tonks_E3 = True + $ states.sna.ev.hangouts.tonks_e3 = True $ ss_event_pause += 1 call sly_plus diff --git a/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy b/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy index 5db48d05..678253c4 100644 --- a/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy +++ b/game/scripts/characters/tonks/events/requests/detention_with_tonks.rpy @@ -12,9 +12,9 @@ label nt_pr_teach_start: ton "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) - if ton_tier == 1: + if states.ton.tier == 1: - if nt_pr_teach.points == 0: + if not _events_completed_any: ton "So, what's the plan?" ("open", "base", "base", "mid") gen "The plan?" ("base", xpos="far_left", ypos="head") ton "You know, how does this go down?" ("soft", "base", "base", "mid") @@ -27,11 +27,11 @@ label nt_pr_teach_start: ton "What did you do with Hermione on her first favour?" ("open", "narrow", "shocked", "down") gen "*Ugh*... I think I got her to make \"a silly face\", or something..." ("base", xpos="far_left", ypos="head") ton "You paid her for that? I expected something a little more...{w=0.4} Perverse." ("crooked_smile", "base", "base", "R") - if hg_pf_admire_panties.counter != 0: + if states.her.status.show_panties: gen "In that case, the first \"real\" favour I bought was getting her to lift her skirt for me." ("base", xpos="far_left", ypos="head") ton "That's more like it!" ("horny", "base", "base", "mid") ton "But, even though we're in Scotland, none of the boys are wearing skirts..." ("open", "base", "base", "L") - elif hg_pf_admire_breasts.counter != 0: + elif states.her.status.show_tits: gen "In that case, the first \"real\" favour I bought was getting her to show me her bra." ("base", xpos="far_left", ypos="head") ton "That's more like it!" ("horny", "base", "base", "mid") ton "Although it's not a big deal for boys to show you their chests..." ("open", "base", "base", "L") @@ -42,7 +42,7 @@ label nt_pr_teach_start: ton "Oh, wow! Are you serious?" ("crooked_smile", "wide", "shocked", "stare") gen "I don't see why not." ("base", xpos="far_left", ypos="head") gen "It isn't such a big deal for a boy to show a girl his wiener..." ("base", xpos="far_left", ypos="head") - ton "Seeing their dicks... That does sound good..." ("soft", "happyCl", "base", "mid", cheeks="blush") + ton @ cheeks blush "Seeing their dicks... That does sound good..." ("soft", "happyCl", "base", "mid") ton "Can I touch them?" ("horny", "narrow", "raised", "mid") gen "Let's stick with looking for now..." ("base", xpos="far_left", ypos="head") ton "Fine... So how many am I allowed to look at?" ("annoyed", "base", "base", "down") @@ -53,67 +53,65 @@ label nt_pr_teach_start: $ gryffindor += 10 gen "So as far as I'm concerned, hand out as many as you want." ("base", xpos="far_left", ypos="head") ton "All right... Well, I better get to class." ("base", "base", "base", "R") - ton "I've got some boys to \"teach\"..." ("horny", "narrow", "raised", "mid", hair="neutral") + ton @ hair neutral "I've got some boys to \"teach\"..." ("horny", "narrow", "raised", "mid") gen "Don't forget to come back here after classes to fill me in." ("base", xpos="far_left", ypos="head") ton "Will do..." ("base", "happyCl", "base", "mid") else: # Repeat gen "Ready to help the boys earn some points?" ("base", xpos="far_left", ypos="head") - ton "And reward them for showing me their dicks?" (face="horny") + ton "And reward them for showing me their dicks?" ("horny", "base", "base", "mid") gen "Yes. Return to me after class..." ("base", xpos="far_left", ypos="head") - ton "*Mhmm*... Don't worry if I'm a little late though..." (face="horny") + ton "*Mhmm*... Don't worry if I'm a little late though..." ("horny", "narrow", "base", "R") - elif ton_tier >= 2: + elif states.ton.tier >= 2: - if nt_pr_teach.points == 0: # Tell her to be even lewder for the next level of favors. + if not _events_completed_any: # Tell her to be even lewder for the next level of favors. gen "Would you like to give some boys detention again?" ("base", xpos="far_left", ypos="head") - ton "And what would you suggest I do with them?" (face="horny") - ton "Make them show me their dicks?" (face="horny") - ton "Or can we move on to something a little more... progressive?" (face="horny") + ton "And what would you suggest I do with them?" ("horny", "narrow", "base", "mid") + ton "Make them show me their dicks?" ("horny", "narrow", "base", "R") + ton "Or can we move on to something a little more... progressive?" ("base", "narrow", "base", "mid") gen "If that's what you want..." ("base", xpos="far_left", ypos="head") - ton "*Hmm*...{w=0.4} Yes...{w=0.3} I wouldn't mind seeing the {b}hard cocks{/b} of some of my favourites." (face="horny") + ton "*Hmm*...{w=0.4} Yes...{w=0.3} I wouldn't mind seeing the {b}hard cocks{/b} of some of my favourites." ("horny", "narrow", "base", "R") ton "Might even have them jerk off for me... I would love to see that!" ("horny", "base", "base", "ahegao") gen "And make sure they remember it." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]. Don't wait for me..." ("base", "base", "base", "mid") + ton "Yes, [name_genie_tonks]. Don't wait for me..." ("base", "base", "base", "mid") else: # Repeat gen "Ready to give some boys detention again?" ("base", xpos="far_left", ypos="head") - ton "Yes. I'm very much in the mood for some {b}hard cocks{/b}!" (face="horny") + ton "Yes. I'm very much in the mood for some {b}hard cocks{/b}!" ("horny", "narrow", "base", "mid") gen "Go on then... Teach them a lesson..." ("grin", xpos="far_left", ypos="head") - ton "I shall see you later, [ton_genie_name]..." ("base", "base", "base", "mid") + ton "I shall see you later, [name_genie_tonks]..." ("base", "base", "base", "mid") # Tonks leaves - $ nt_pr_teach.inProgress = True - call ton_walk(action="leave") jump end_tonks_event - - ### Tier 1 ### label nt_pr_teach_T1_E1: #Tier 1 - Event 1 - Slytherin boy call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hello, [ton_genie_name]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) + ton "Hello, [name_genie_tonks]." ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade) ton "I'm back with my report..." ("horny", "narrow", "base", "mid") - if ton_reputation <= 3: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"How was your day?\"": pass + "\"Make it quick!\"": ton "I had some fun with that Slytherin boy again..." ("horny", "base", "angry", "mid") ton "Gave him a couple of points for his house." ("open", "base", "base", "R") - gen "Well done, [tonks_name]... We'll talk next time." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]. Have a good night." ("base", "base", "base", "mid") - call increase_house_points("s", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") + ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") + $ slytherin += 20 + + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 + call ton_walk(action="leave") + jump end_tonks_event gen "How were your... \"extra curricular activities\" today?" ("base", xpos="far_left", ypos="head") @@ -151,30 +149,27 @@ label nt_pr_teach_T1_E1: #Tier 1 - Event 1 - Slytherin boy ton "Certainly he won't be able to keep his eyes off me anymore..." ("soft", "narrow", "shocked", "mid") gen "Very good." ("base", xpos="far_left", ypos="head") gen "And try to reward those \"evil Slytherins\" with at least double the amount of points." ("base", xpos="far_left", ypos="head") - ton "If you say so, [ton_genie_name]..." ("soft", "narrow", "base", "R") + ton "If you say so, [name_genie_tonks]..." ("soft", "narrow", "base", "R") ton "It's so... iniquitous... what we are doing.{w} I fucking love it!" ("base", "base", "shocked", "stare") gen "That'll be all now..." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]." ("horny", "wink", "base", "mid") + ton "Thank you, [name_genie_tonks]." ("horny", "wink", "base", "mid") ton "Sweet dreams." ("grin", "narrow", "base", "mid") # Tonks leaves - call increase_house_points("s", 20) + $ slytherin += 20 - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event - label nt_pr_teach_T1_E2: # Tier 1 - Event 2 - Racenclaw boy call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 3: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"How was your day?\"": @@ -182,11 +177,14 @@ label nt_pr_teach_T1_E2: # Tier 1 - Event 2 - Racenclaw boy "\"Make it quick!\"": ton "I was fooling around with my favourite Ravenclaw boy again..." ("horny", "base", "angry", "mid") ton "And he earned a bunch of points from me." ("base", "happyCl", "base", "mid") - gen "Well done, [tonks_name]... We'll talk next time." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]. Have a good night." ("base", "base", "base", "mid") - call increase_house_points("r", 10) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") + ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") + + $ ravenclaw += 10 + + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -222,27 +220,24 @@ label nt_pr_teach_T1_E2: # Tier 1 - Event 2 - Racenclaw boy gen "We're trying to build your reputation, remember?" ("base", xpos="far_left", ypos="head") ton "I'll try..." ("annoyed", "happyCl", "base", "mid") ton "(Although, I'll have to play with this one a few more times...)" ("horny", "narrow", "base", "stare") - gen "That will be all for now, [tonks_name]." ("base", xpos="far_left", ypos="head") - ton "Thanks, [ton_genie_name]." ("base", "base", "base", "mid") + gen "That will be all for now, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") + ton "Thanks, [name_genie_tonks]." ("base", "base", "base", "mid") # Tonks leaves - call increase_house_points("r", 10) + $ ravenclaw += 10 - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event - label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 3: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"How was your day?\"": @@ -252,10 +247,12 @@ label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... ton "Of course I didn't give them any points..." ("open", "closed", "base", "mid") ton "I wouldn't want Gryffindor to have an unfair advantage." ("horny", "base", "angry", "mid") ton "They practically begged me if they could do it for free anyway..." ("open", "base", "base", "R") - gen "Well done, [tonks_name]... Until next time." ("base", xpos="far_left", ypos="head") - ton "Have a good night, [ton_genie_name]." ("base", "happyCl", "base", "mid") - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + gen "Well done, [name_tonks_genie]... Until next time." ("base", xpos="far_left", ypos="head") + ton "Have a good night, [name_genie_tonks]." ("base", "happyCl", "base", "mid") + + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -278,7 +275,7 @@ label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... ton "Which probably meant that they were going too far..." ("upset", "base", "base", "mid") ton "So... I kept them after class... Gave them the whole lecture about \"responsibility\" and \"respect\"..." ("open", "closed", "base", "mid") gen "................" ("base", xpos="far_left", ypos="head") - ton "Then I told them that I'd pay them both ten points, to show me their cocks... {heart}" ("grin", "closed", "base", "mid", cheeks="blush") + ton @ cheeks blush "Then I told them that I'd pay them both ten points, to show me their cocks... {heart}" ("grin", "closed", "base", "mid") gen "Just like that?" ("base", xpos="far_left", ypos="head") ton "Well, there's a lot more subtlety to it in practice..." ("soft", "base", "base", "stare") ton "Not that I think I needed subtlety, given how horny they were..." ("crooked_smile", "base", "shocked", "mid") @@ -289,7 +286,7 @@ label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... ton "It wouldn't surprise me if I start getting asked to give more boys detention..." ("horny", "base", "shocked", "mid") gen "Fooling around with Gryffindors and rewarding them isn't too helpful for our situation..." ("base", xpos="far_left", ypos="head") gen "But great work nonetheless..." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]. That means a lot coming from you." ("base", "happyCl", "base", "mid") + ton "Thank you, [name_genie_tonks]. That means a lot coming from you." ("base", "happyCl", "base", "mid") gen "Even if it is encouragement for seducing your students?" ("base", xpos="far_left", ypos="head") ton "Even then." ("base", "narrow", "base", "mid") ton "Well, I better get back to work, these halls aren't safe unless there's a teacher on patrol." ("horny", "base", "base", "R") @@ -297,21 +294,19 @@ label nt_pr_teach_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys. Guess who... # Tonks leaves - call increase_house_points("g", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + $ gryffindor += 20 + + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event - label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 3: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"How was your day?\"": @@ -320,11 +315,14 @@ label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl ton "I confronted that little Slytherin girl again..." ("horny", "base", "base", "mid") ton "Although, I kept myself in check with her... didn't want to scare her away again..." ("open", "base", "base", "R") ton "But she was very happy about the points." ("base", "base", "angry", "mid") - gen "Well done, [tonks_name]..." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]. Good night." ("silly", "happyCl", "base", "mid") - call increase_house_points("s", 20) - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + gen "Well done, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") + ton "Yes, [name_genie_tonks]. Good night." ("silly", "happyCl", "base", "mid") + + $ slytherin += 20 + + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -344,17 +342,17 @@ label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl ton "So, I know my job is to try and balance out the favour trading a little..." ("soft", "narrow", "base", "R") ton "But I just couldn't help myself today..." ("normal", "base", "worried", "R") gen "Help yourself? You mean..." ("base", xpos="far_left", ypos="head") - ton "*Ugh*... I don't normally mess around with girls..." ("open", "base", "base", "down", cheeks="blush") + ton @ cheeks blush "*Ugh*... I don't normally mess around with girls..." ("open", "base", "base", "down") ton "(Not since I left here anyway...)" ("mad", "base", "raised", "R") ton "But today there was {b}the tastiest morsel{/b} I have ever seen in my class!" ("horny", "wide", "base", "stare") gen "...................." ("base", xpos="far_left", ypos="head") ton "Now, I know when I'm being checked out, I can feel anyone's eyes on me..." ("open", "closed", "shocked", "mid") gen "...................." ("base", xpos="far_left", ypos="head") - call nar(">You nod, unconsciously... Gazing directly at her tits...") + nar "You nod, unconsciously... Gazing directly at her tits..." ton "And most of the time I don't mind... I might even encourage it from time to time..." ("base", "narrow", "shocked", "mid") with hpunch pause.8 - call nar(">Tonks gives her boobs a subtle little shake.") + nar "Tonks gives her boobs a subtle little shake." gen ".................." ("grin", xpos="far_left", ypos="head") ton "So, when I felt a pair of cute little eyes struggling their hardest not to stare at me..." ("horny", "base", "annoyed", "down") ton "I just {b}had{/b} to play with her!" ("horny", "base", "base", "ahegao") @@ -377,7 +375,7 @@ label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl ton "Well, I was only supposed to buy favours from the boys..." ("open", "closed", "base", "mid") gen "Eat your heart out!" ("grin", xpos="far_left", ypos="head") gen "Just make sure you keep me in the loop..." ("base", xpos="far_left", ypos="head") - ton "Thanks, [ton_genie_name]." ("base", "base", "base", "mid") + ton "Thanks, [name_genie_tonks]." ("base", "base", "base", "mid") gen "Did she receive any points for it?" ("base", xpos="far_left", ypos="head") ton "Well, not this time..." ("open", "base", "shocked", "R") gen "I think you should give her some anyway." ("base", xpos="far_left", ypos="head") @@ -386,30 +384,26 @@ label nt_pr_teach_T1_E4: # Tier 1 - Event 4 - Slytherin girl ton "Twenty points for Slytherin!" ("open", "closed", "base", "mid") ton "Now, if you don't mind... It's getting a bit late..." ("open", "base", "base", "R") gen "Yes. You may leave..." ("base", xpos="far_left", ypos="head") - ton "Good night, [ton_genie_name]." ("base", "happyCl", "base", "mid") - gen "Good night, [tonks_name]." ("base", xpos="far_left", ypos="head") + ton "Good night, [name_genie_tonks]." ("base", "happyCl", "base", "mid") + gen "Good night, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") # Tonks leaves - call increase_house_points("s", 20) + $ slytherin += 20 - if ton_reputation < 4: # Points til 4. - $ ton_reputation += 1 + if states.ton.public_level < 4: # Points til 4. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event - - ### Tier 2 ### label nt_pr_teach_T2_E1: # Tier 2 - Event 1 - Hufflepuff girl call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Guess what happened, [ton_genie_name]!" ("base", "happyCl", "base", "mid", xpos="mid", ypos="base", trans=fade) + ton "Guess what happened, [name_genie_tonks]!" ("base", "happyCl", "base", "mid", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"................\"": @@ -418,11 +412,14 @@ label nt_pr_teach_T2_E1: # Tier 2 - Event 1 - Hufflepuff girl ton "Yes! Right on point! I'm impressed..." ("open", "base", "raised", "mid") ton "I just got done cleaning my desk..." ("horny", "base", "base", "down") ton "And I didn't use my wand to clean it..." ("horny", "base", "angry", "mid") - gen "Very good, [tonks_name]..." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]. Until next time..." ("base", "base", "base", "mid") - call increase_house_points("h", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Very good, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") + ton "Thank you, [name_genie_tonks]. Until next time..." ("base", "base", "base", "mid") + + $ hufflepuff += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -481,16 +478,16 @@ label nt_pr_teach_T2_E1: # Tier 2 - Event 1 - Hufflepuff girl gen "Much more of this, and I'll need to \"scour-ify\" my own desk as well..." ("angry", xpos="far_left", ypos="head") ton "I can help you with that." ("horny", "base", "angry", "mid") gen "Maybe some other time..." ("base", xpos="far_left", ypos="head") - ton "*Mmmm*... okay then, [ton_genie_name]." ("base", "base", "annoyed", "mid") + ton "*Mmmm*... okay then, [name_genie_tonks]." ("base", "base", "annoyed", "mid") ton "I better be on my way as well now..." ("open", "base", "base", "R") ton "(Fuck knows, I could use a bit of \"alone time\" myself...)" ("base", "base", "base", "stare") # Tonks leaves - call increase_house_points("h", 40) + $ hufflepuff += 40 - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event @@ -498,15 +495,13 @@ label nt_pr_teach_T2_E1: # Tier 2 - Event 1 - Hufflepuff girl label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy #TODO Have a few drops of cum on her clothes when she comes in - $ tonks.set_cum(legs="light") - $ tonks.set_cum(pussy="light") + $ tonks.set_cum(hair="light") + $ _cum_known=False call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hello, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hello, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"How was your day?\"": @@ -514,11 +509,14 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy "\"Make it quick!\"": ton "Remember that cute boy?" ("open", "base", "base", "mid") ton "Every time he shot out some cum for me I gave him five points..." ("horny", "base", "angry", "mid") - gen "I bet he earned quite a lot today. Well done, [tonks_name]..." ("base", xpos="far_left", ypos="head") - ton "That he did, [ton_genie_name]... See you next time..." ("base", "base", "base", "mid") - call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "I bet he earned quite a lot today. Well done, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") + ton "That he did, [name_genie_tonks]... See you next time..." ("base", "base", "base", "mid") + + $ ravenclaw += 20 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -535,15 +533,16 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy menu: "-Let her know about the cum-": - $ choice_flag=True + $ _cum_known=True + gen "You do know that you've got some cum on you?" ("base", xpos="far_left", ypos="head") ton "*Hmm*?..." ("base", "base", "base", "down") ton "Oh..." ("mad", "base", "shocked", "down") ton "That cheeky bugger! I can't believe he actually shot it that far..." ("open", "base", "base", "down") gen ".................." ("base", xpos="far_left", ypos="head") ton "Best to start from the beginning..." ("soft", "closed", "base", "mid") + "-Ignore it-": - $ choice_flag=False pass ton "So, I spent a little time with my favourite Ravenclaw student today..." ("soft", "narrow", "base", "down") @@ -559,21 +558,21 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy ton "So I told him I didn't {b}just{/b} want to look at it..." ("soft", "narrow", "shocked", "mid") ton "But watch him play with it..." ("horny", "narrow", "annoyed", "mid") gen "Make him an offer he can't refuse..." ("base", xpos="far_left", ypos="head") - ton "His eyes truly lit up after that..." ("base", "happyCl", "base", "mid", hair="horny") + ton @ hair horny "His eyes truly lit up after that..." ("base", "happyCl", "base", "mid") ton "He just kept on staring at me, while he started stroking it..." ("horny", "narrow", "base", "mid") ton "Getting it hard for his teacher..." ("horny", "base", "base", "ahegao") ton "*Mmmm*... The way he was staring at my tits... with such hunger..." ("soft", "closed", "shocked", "mid") ton "I just {b}had{/b} to get them out for him..." ("silly", "base", "shocked", "mid") gen "Nice!" ("grin", xpos="far_left", ypos="head") - ton "They got him even more excited..." ("horny", "base", "base", "ahegao", cheeks="blush") - ton "He even started to speak after that..." ("base", "closed", "base", "mid", cheeks="blush") + ton @ cheeks blush "They got him even more excited..." ("horny", "base", "base", "ahegao") + ton @ cheeks blush "He even started to speak after that..." ("base", "closed", "base", "mid") gen "What did he say?" ("base", xpos="far_left", ypos="head") ton "The usual stuff..." ("soft", "base", "base", "R") ton "How pretty I was, how nice my tits looked..." ("crooked_smile", "base", "base", "down") ton "You know how guys are..." ("base", "base", "annoyed", "mid") ton "What was weird was... when he started to call me mommy again..." ("upset", "closed", "base", "mid") gen "What a wimp." ("base", xpos="far_left", ypos="head") - ton "Don't be cruel, [ton_genie_name]! It's just a little dirty talk..." ("soft", "base", "raised", "R") + ton "Don't be cruel, [name_genie_tonks]! It's just a little dirty talk..." ("soft", "base", "raised", "R") ton "And you have to admit, it's kinda hot... I even joined in on it." ("base", "narrow", "base", "mid") gen "Really?" ("base", xpos="far_left", ypos="head") ton "What do you think made him fire his load across the room?" ("horny", "narrow", "base", "mid") @@ -582,9 +581,9 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy gen "Fuck... That {b}is{/b} pretty hot..." ("base", xpos="far_left", ypos="head") ton "I know..." ("crooked_smile", "narrow", "base", "mid") ton "*Ugh*... I definitely have to go rub one out after this..." ("mad", "base", "base", "ahegao") - ton "See you, [ton_genie_name]." ("base", "narrow", "base", "L") + ton "See you, [name_genie_tonks]." ("base", "narrow", "base", "L") - if choice_flag: + if _cum_known: gen "Are you going to do anything about the cum?" ("base", xpos="far_left", ypos="head") ton "*Hmm*?... The cum?" ("upset", "base", "worried", "down") ton "Oh... Why bother..." ("soft", "base", "base", "down") @@ -592,38 +591,43 @@ label nt_pr_teach_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy ton "Besides, it'll be good for spreading the word, don't you think?" ("horny", "narrow", "base", "mid") gen "Whatever you say..." ("base", xpos="far_left", ypos="head") - gen "Goodbye, [tonks_name]." ("base", xpos="far_left", ypos="head") + gen "Goodbye, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") # Tonks leaves - call increase_house_points("r", 20) + $ ravenclaw += 20 - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") + + $tonks.set_cum(None) + jump end_tonks_event label nt_pr_teach_T2_E3: # Tier 2 - Event 3 - Slytherin boy call ton_walk(action="enter", xpos="mid", ypos="base") - ton "[ton_genie_name]..." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "[name_genie_tonks]..." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"How was your day?\"": pass + "\"Make it quick!\"": ton "This Slytherin dickhead was asking for trouble again!" ("mad", "base", "angry", "R") ton "I did my best to punish him... thoroughly..." ("horny", "base", "angry", "mid") - gen "Very good, [tonks_name]..." ("base", xpos="far_left", ypos="head") - ton "*Mhmm*... Until next time, [ton_genie_name]..." ("base", "happyCl", "base", "mid") - call increase_house_points("s", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Very good, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") + ton "*Mhmm*... Until next time, [name_genie_tonks]..." ("base", "happyCl", "base", "mid") + + $ slytherin += 20 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -649,7 +653,7 @@ label nt_pr_teach_T2_E3: # Tier 2 - Event 3 - Slytherin boy ton "I demanded of him to start jacking it..." ("soft", "base", "annoyed", "mid") ton "It was actually pretty cute at first..." ("open", "closed", "base", "mid") ton "Then just as he was about to blow his load..." ("soft", "closed", "base", "mid") - ton "Boom! Petrficus Totalus!" ("scream", "shocked", "angry", "mid", trans=vpunch_repeat) + ton "Boom! Petrficus Totalus!" ("scream", "shocked", "angry", "mid", trans=vpunch) gen "{i}Petrifi{/i}-{w} {i}Petrifico{/i}?-{w} {i}Petrificato{/i}--" ("base", xpos="far_left", ypos="head") ton "I petrified him!" ("open", "wide", "angry", "mid") gen "*Ahh*..." ("base", xpos="far_left", ypos="head") @@ -670,38 +674,39 @@ label nt_pr_teach_T2_E3: # Tier 2 - Event 3 - Slytherin boy call bld gen "(This bitch might be crazier than I thought...)" ("base", xpos="far_left", ypos="head") - call increase_house_points("s", 20) + $ slytherin += 20 - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event - label nt_pr_teach_T2_E4: # Tier 2 - Event 4 - Slytherin girl call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if nt_pr_teach.points <= 4 and ton_reputation <= 8: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"How was your day?\"": pass + "\"Make it quick!\"": ton "This cute Slytherin girl earned herself a couple of points from me today..." ("open", "base", "base", "R") ton "She's really starting to get into it!" ("base", "base", "angry", "mid") - gen "Good work, [tonks_name]..." ("base", xpos="far_left", ypos="head") - ton "Thank you... Have a good night, [ton_genie_name]..." ("base", "base", "base", "mid") - call increase_house_points("s", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Good work, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") + ton "Thank you... Have a good night, [name_genie_tonks]..." ("base", "base", "base", "mid") + + $ slytherin += 20 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event - gen "Anything interesting happen today, [tonks_name]?" ("base", xpos="far_left", ypos="head") + gen "Anything interesting happen today, [name_tonks_genie]?" ("base", xpos="far_left", ypos="head") ton "Oh yes!... I broke new ground today..." ("silly", "base", "shocked", "mid") gen "That's very promising... So what happened?" ("base", xpos="far_left", ypos="head") ton "Remember that cute little Slytherin?" ("horny", "base", "base", "mid") @@ -716,14 +721,14 @@ label nt_pr_teach_T2_E4: # Tier 2 - Event 4 - Slytherin girl ton "I was expecting her to at least argue at least a bit about the amount of points she would receive for it..." ("open", "base", "base", "R") ton "But she dropped them in an instant, without even hearing my offer." ("horny", "base", "annoyed", "mid") ton "Next, she just looked at me as if to ask, \"what next\"?" ("open", "base", "base", "mid") - ton "*Ugh*... It was so fucking hot..." ("soft", "base", "base", "stare", hair="horny") + ton @ hair horny "*Ugh*... It was so fucking hot..." ("soft", "base", "base", "stare") gen "And?... What did happen \"next\"?" ("grin", xpos="far_left", ypos="head") ton "I had her play with herself..." ("grin", "closed", "shocked", "mid") - ton "But... that cute face of hers... and all the teasing..." ("open", "closed", "shocked", "R", cheeks="blush") - ton "I decided to take matters into my own hands..." ("grin", "base", "base", "stare", cheeks="blush") + ton @ cheeks blush "But... that cute face of hers... and all the teasing..." ("open", "closed", "shocked", "R") + ton @ cheeks blush "I decided to take matters into my own hands..." ("grin", "base", "base", "stare") ton "Specifically her matter..." ("horny", "base", "base", "mid") gen "You couldn't help yourself, could you?" ("base", xpos="far_left", ypos="head") - ton "Can you blame me for wanting to \"finger\" that cute little slut?" ("soft", "base", "annoyed", "mid", cheeks="blush") + ton @ cheeks blush "Can you blame me for wanting to \"finger\" that cute little slut?" ("soft", "base", "annoyed", "mid") gen "You're a bad teacher, you know that?" ("grin", xpos="far_left", ypos="head") ton "Tell me about it..." ("horny", "narrow", "base", "up") gen "What did she have to say about the whole thing?" ("base", xpos="far_left", ypos="head") @@ -736,15 +741,15 @@ label nt_pr_teach_T2_E4: # Tier 2 - Event 4 - Slytherin girl ton "And I may or may not have contributed to that..." ("grin", "base", "base", "R") gen "Very good work." ("base", xpos="far_left", ypos="head") gen "That'll be all then..." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]..." ("base", "happyCl", "base", "mid") + ton "Thank you, [name_genie_tonks]..." ("base", "happyCl", "base", "mid") ton "See you next time..." ("base", "base", "base", "mid") # Tonks leaves - call increase_house_points("s", 20) + $ slytherin += 20 - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event diff --git a/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy b/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy index f3eeb6c3..4f950950 100644 --- a/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy +++ b/game/scripts/characters/tonks/events/requests/hands-on_lessons.rpy @@ -9,17 +9,19 @@ label nt_pr_grope_start: ton "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) - if ton_tier == 2: + if states.ton.tier == 2: - if nt_pr_grope.points == 0: + if not _events_completed_any: gen "Ready for the next step?" ("base", xpos="far_left", ypos="head") ton "*Mmmm*... You make it sound so ominous." ("soft", "narrow", "base", "mid") ton "What shall I do next with my students..." ("soft", "narrow", "shocked", "R") - if nt_pr_kiss.counter == 0: + + if not states.ton.ev.oral_practice.completed_once: ton "Want me to make out with them?" ("horny", "narrow", "base", "mid") gen "Maybe, but not right now..." ("base", xpos="far_left", ypos="head") else: ton "Want me to make out with them again?" ("horny", "base", "angry", "mid") + gen "I was thinking you could take a few of these boys to second base." ("base", xpos="far_left", ypos="head") ton "Second base?! Already?" ("open", "shocked", "shocked", "up") gen "We're trying to earn you a reputation as a favour trader." ("base", xpos="far_left", ypos="head") @@ -34,19 +36,23 @@ label nt_pr_grope_start: gen "That I am." ("base", xpos="far_left", ypos="head") gen "Now get out there and buy some favours!" ("base", xpos="far_left", ypos="head") ton "Yes, sir!" ("grin", "closed", "base", "mid") - ton "(This is way better than being an auror!)" ("horny", "base", "base", "stare", cheeks="blush") + ton @ cheeks blush "(This is way better than being an auror!)" ("horny", "base", "base", "stare") else: gen "Think you're up for messing around with your students again?" ("base", xpos="far_left", ypos="head") gen "Let them cop a feel?" ("base", xpos="far_left", ypos="head") - ton "Consider it done, [ton_genie_name]." (face="horny") + ton "Consider it done, [name_genie_tonks]." ("horny", "narrow", "base", "R") gen "I'll see you after class..." ("base", xpos="far_left", ypos="head") - elif ton_tier >= 3: + elif states.ton.tier >= 3: - if nt_pr_grope.points == 0: # Tell her to be even lewder for the next level of favors. - - "Dev Note" "Not in 1.37 - Write 2nd intro." + if not _events_completed_any: # Tell her to be even lewder for the next level of favors. + gen "I'd like you to go out and have some handsy fun with your students." ("base", xpos="far_left", ypos="head") + ton "Just like that? " ("open", "base", "raised", "mid") + gen "Just like that, but I want you to be more handsy this time." ("grin", xpos="far_left", ypos="head") + ton "I can certainly do that..." ("horny", "base", "base", "mid") + ton "See you after class...{heart}" ("base", "happyCl", "base", "mid") + gen "See ya!" ("grin", xpos="far_left", ypos="head") else: # Repeat gen "Would you like to mess around with your students again?" ("base", xpos="far_left", ypos="head") @@ -54,42 +60,41 @@ label nt_pr_grope_start: gen "Any way they like!" ("grin", xpos="far_left", ypos="head") ton "That sounds perfect!" ("base", "base", "base", "mid") gen "I'll see you after class..." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]...{heart}" ("base", "base", "base", "mid") + ton "Yes, [name_genie_tonks]...{heart}" ("base", "base", "base", "mid") + + $ states.ton.ev.hands_on_lessons.completed_once = True # Tonks leaves - - $ nt_pr_grope.inProgress = True - call ton_walk(action="leave") jump end_tonks_event - - ### Tier 1 ### -label nt_pr_grope_T1_E1: # Tier 1 - Event 1 - Slytherin boy +label nt_pr_grope_T2_E1: # Tier 1 - Event 1 - Slytherin boy call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": pass + "\"Make it quick!\"": ton "Remember that Slytherin boy?..." ("horny", "base", "angry", "mid") ton "I let him play with his favourite pair of tits again..." ("base", "base", "angry", "mid") - gen "Well done, [tonks_name]... We'll talk next time." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]. Have a good night." ("base", "base", "base", "mid") - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") + ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") + + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event - gen "How were classes today, [tonks_name]?" ("base", xpos="far_left", ypos="head") + gen "How were classes today, [name_tonks_genie]?" ("base", xpos="far_left", ypos="head") gen "Taught your students some valuable lessons?" ("base", xpos="far_left", ypos="head") ton "I'm not sure about valuable..." ("base", "narrow", "base", "downR") ton "But I do know that he isn't going to forget it any time soon!" ("soft", "wink", "shocked", "mid") @@ -109,9 +114,9 @@ label nt_pr_grope_T1_E1: # Tier 1 - Event 1 - Slytherin boy ton "He didn't want to say it at first..." ("soft", "narrow", "base", "mid") ton "So I leaned in closer...{w} Let him feel my breath on his neck..." ("base", "closed", "annoyed", "mid") ton "And then I whispered the truth into his ear..." ("soft", "narrow", "annoyed", "stare") - ton "That he's a dirty little \"tit addict\"!" ("crooked_smile", "base", "angry", "up", hair="neutral") + ton @ hair neutral "That he's a dirty little \"tit addict\"!" ("crooked_smile", "base", "angry", "up") gen "You naughty girl!" ("grin", xpos="far_left", ypos="head") - ton "*Ugh*... He went redder than a tomato when I said that." ("horny", "closed", "base", "mid", hair="horny") + ton @ hair horny "*Ugh*... He went redder than a tomato when I said that." ("horny", "closed", "base", "mid") ton "And as both you and I know there's only one cure for that..." ("open", "closed", "base", "mid") ton "So I grabbed his wrist and forced it up to my chest!" ("open", "closed", "annoyed", "mid") gen "Just like that?" ("base", xpos="far_left", ypos="head") @@ -123,32 +128,31 @@ label nt_pr_grope_T1_E1: # Tier 1 - Event 1 - Slytherin boy ton "All I know is that he wasn't afraid to give it a go." ("grin", "happyCl", "base", "mid") gen "I gather that he enjoyed himself?" ("base", xpos="far_left", ypos="head") ton "He just sat there, silently groping my tits for several minutes..." ("soft", "narrow", "shocked", "down") - ton "*Ugh*... It took everything I had not to hold him down and jump his bone..." ("horny", "base", "base", "up", hair="horny") - gen "[tonks_name]..." ("base", xpos="far_left", ypos="head") + ton @ hair horny "*Ugh*... It took everything I had not to hold him down and jump his bone..." ("horny", "base", "base", "up") + gen "[name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "Right, well after letting him play with them for a little while, I sent him back to class." ("mad", "narrow", "base", "down") gen "Think you'll gain any reputation from this encounter?" ("base", xpos="far_left", ypos="head") ton "*Hmm*... I'm not sure if he'll talk..." ("annoyed", "narrow", "base", "R") ton "But the fact I ask students to stay behind after class should start spreading some rumours." ("base", "wink", "base", "mid") - gen "Good to hear. That'll be all then, [tonks_name]." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]." ("base", "base", "base", "mid") + gen "Good to hear. That'll be all then, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "mid") # Tonks leaves - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event -label nt_pr_grope_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy +label nt_pr_grope_T2_E2: # Tier 1 - Event 2 - Ravenclaw boy call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": @@ -156,11 +160,14 @@ label nt_pr_grope_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy "\"Make it quick!\"": ton "That shy Ravenclaw boy stayed behind in class again..." ("base", "base", "base", "mid") ton "He almost suffocated himself in between my cleavage..." ("silly", "happyCl", "base", "mid") - gen "Well done, [tonks_name]... We'll talk next time." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]. Have a good night." ("base", "base", "base", "mid") - call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") + ton "Yes, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") + + $ ravenclaw += 20 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -170,7 +177,7 @@ label nt_pr_grope_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy gen "And your... other tasks?" ("base", xpos="far_left", ypos="head") ton "Oh, of course messing around with our students is a nice bonus!" ("grin", "narrow", "base", "mid") gen "Speaking of..." ("base", xpos="far_left", ypos="head") - ton "Don't worry, I've got a story for you, old man." ("base", "base", "annoyed", "mid") + ton "Don't worry, I've got a story for you, [name_genie_tonks]." ("base", "base", "annoyed", "mid") ton "Remember that shy Ravenclaw boy I had touch himself for me the other day?" ("base", "narrow", "base", "R") gen "Maybe, but go on..." ("base", xpos="far_left", ypos="head") ton "He stayed behind after class today..." ("open", "closed", "base", "mid") @@ -215,36 +222,38 @@ label nt_pr_grope_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy gen "Did you even get to reward any points?" ("base", xpos="far_left", ypos="head") ton "I did, even if he wasn't there to hear it..." ("silly", "closed", "base", "mid") gen "Very good. That'll be all then." ("base", xpos="far_left", ypos="head") - ton "Have a good night, [ton_genie_name]." ("base", "base", "shocked", "mid") + ton "Have a good night, [name_genie_tonks]." ("base", "base", "shocked", "mid") # Tonks leaves - call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + $ ravenclaw += 20 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event -label nt_pr_grope_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys +label nt_pr_grope_T2_E3: # Tier 1 - Event 3 - Two Gryffindor boys call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": pass + "\"Make it quick!\"": ton "I let those two Gryffindors feel me up again..." ("open", "base", "base", "R") ton "Of course they didn't get any points for it..." ("base", "base", "angry", "mid") - gen "Great job, [tonks_name]..." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]. Have a good night." ("base", "base", "base", "mid") - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Great job, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") + ton "Thank you, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -274,29 +283,27 @@ label nt_pr_grope_T1_E3: # Tier 1 - Event 3 - Two Gryffindor boys ton "Said they'd much rather have a \"go at it\" again..." ("base", "base", "angry", "mid") gen "Think they'll spread the word this time?" ("base", xpos="far_left", ypos="head") ton "They were both pitching a pretty big tent when they left class... that was noticeable to say the least..." ("silly", "happyCl", "base", "mid") - gen "Very good, [tonks_name], very good..." ("base", xpos="far_left", ypos="head") + gen "Very good, [name_tonks_genie], very good..." ("base", xpos="far_left", ypos="head") ton "Thank you, sir." ("base", "happyCl", "base", "mid") ton "Now, if you don't mind... I think I better head to my room for some...{w} \"unwinding\"..." ("mad", "narrow", "base", "R") gen "Have a good night then..." ("base", xpos="far_left", ypos="head") - ton "Night, [ton_genie_name]!" ("silly", "happyCl", "base", "mid") + ton "Night, [name_genie_tonks]!" ("silly", "happyCl", "base", "mid") # Tonks leaves # No points for Gryffindor. - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event -label nt_pr_grope_T1_E4: # Tier 1 - Event 4 - Slytherin girl +label nt_pr_grope_T2_E4: # Tier 1 - Event 4 - Slytherin girl call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_grope.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": @@ -304,11 +311,14 @@ label nt_pr_grope_T1_E4: # Tier 1 - Event 4 - Slytherin girl "\"Make it quick!\"": ton "I tried my luck with that Slytherin girl again..." ("open", "base", "base", "mid") ton "She's the hardest nut to crack, I tell you..." ("open", "base", "worried", "R") # hardest instead of tough in the UK. - gen "You will have better luck next time, [tonks_name]..." ("base", xpos="far_left", ypos="head") - ton "I hope so too, [ton_genie_name]... Have a good night." ("base", "base", "worried", "mid") - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "You will have better luck next time, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") + ton "I hope so too, [name_genie_tonks]... Have a good night." ("base", "base", "worried", "mid") + + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -352,35 +362,34 @@ label nt_pr_grope_T1_E4: # Tier 1 - Event 4 - Slytherin girl ton "Don't be silly... she's perfect!{w} Just the way I like them." ("horny", "wink", "raised", "mid") gen "........................" ("base", xpos="far_left", ypos="head") gen "Well, keep me informed... That should be all for now..." ("base", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]!" ("base", "base", "base", "mid") + ton "Yes, [name_genie_tonks]!" ("base", "base", "base", "mid") # Tonks leaves - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event +### Tier 3 ### + +# label nt_pr_grope_T3_E1: # Tier 2 - Event 1 +# #Begrudgingly talks about how pretty tonks is -### Tier 2 ### - -label nt_pr_grope_T2_E1: # Tier 2 - Event 1 - #Begrudgingly talks about how pretty tonks is - - -label nt_pr_grope_T2_E2: # Tier 2 - Event 2 - Ravenclaw boy again - #breastfeeding and mommy play +# label nt_pr_grope_T3_E2: # Tier 2 - Event 2 - Ravenclaw boy again +# #breastfeeding and mommy play -label nt_pr_grope_T2_E3: # Tier 2 - Event 3 - #hufflepuff girl comes in asking for another favour - #ends up sucking tonks boobs +# label nt_pr_grope_T3_E3: # Tier 2 - Event 3 +# #hufflepuff girl comes in asking for another favour +# #ends up sucking tonks boobs -label nt_pr_grope_T2_E4: # Tier 2 - Event 4 - - #Tonks has her a slyhterin girl sit there and do work while she has no top on +# label nt_pr_grope_T3_E4: # Tier 2 - Event 4 - +# #Tonks has her a slyhterin girl sit there and do work while she has no top on diff --git a/game/scripts/characters/tonks/events/requests/oral_practice.rpy b/game/scripts/characters/tonks/events/requests/oral_practice.rpy index a82c28d4..0c793539 100644 --- a/game/scripts/characters/tonks/events/requests/oral_practice.rpy +++ b/game/scripts/characters/tonks/events/requests/oral_practice.rpy @@ -2,31 +2,32 @@ ### Kissing ### -# ([tonks_name] makes out with her students...) +# ([name_tonks_genie] makes out with her students...) #TODO Add Tonks chibi to all her public request nightly reports label nt_pr_kiss_start: ton "" ("base", "base", "base", "mid", xpos="right", ypos="base", trans=fade) - if ton_tier == 2: + if states.ton.tier == 2: - if nt_pr_kiss.points == 0: + if not _events_completed_any: gen "Ready to try something a little different?" ("base", xpos="far_left", ypos="head") ton "*Mmmm*... Absolutely! This is the most fun I've had in years!" ("horny", "base", "base", "mid") ton "What did you have in mind?" ("base", "base", "shocked", "mid") gen "What do you think?" ("base", xpos="far_left", ypos="head") - if nt_pr_grope.points == 0: + + if not states.ton.ev.hands_on_lessons.completed_once: ton "I think making out with them would be really fucking hot..." ("horny", "base", "base", "R") gen "Just kissing?" ("base", xpos="far_left", ypos="head") ton "You don't understand...{w} The way I make out..." ("soft", "base", "base", "mid") - ton "It's way more intense than anything these students will have ever experienced..." ("base", "base", "annoyed", "stare") + ton "It's way more intense than anything these students would have ever experienced..." ("base", "base", "annoyed", "stare") else: ton "I know you shot it down earlier... but I think a little making out would be really fucking hot..." ("horny", "base", "angry", "mid") gen "*Pfft*... you're such a bad girl..." ("base", xpos="far_left", ypos="head") gen "You've already gotten to second base! Let's not jump back to first!" ("base", xpos="far_left", ypos="head") ton "You don't get it...{w} The way I make out..." ("horny", "base", "base", "R") - ton "It's way more intense than anything these students will have ever experienced..." ("base", "base", "angry", "mid") + ton "It's way more intense than anything these students would have ever experienced..." ("base", "base", "angry", "mid") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "So you're not just going to give them a peck on the cheek, are you?" ("grin", xpos="far_left", ypos="head") ton "Oh no..." ("crooked_smile", "narrow", "base", "mid") @@ -39,29 +40,29 @@ label nt_pr_kiss_start: else: gen "Fancy another student-snog-session?" ("base", xpos="far_left", ypos="head") - ton "*Mmmm*... You bet... Teaching is my job..." ("horny", "base", "base", "R", hair="horny") + ton @ hair horny "*Mmmm*... You bet... Teaching is my job..." ("horny", "base", "base", "R") ton "Even if that lesson is \"French Kissing\"..." ("soft", "wink", "shocked", "mid") gen "Well, don't let me stop you." ("base", xpos="far_left", ypos="head") ton "Thank you, sir..." ("grin", "base", "base", "mid") - elif ton_tier >= 3: # Not in 1.37 + elif states.ton.tier >= 3: # Not in 1.37 - if nt_pr_kiss.points == 0: # Tell her to be even lewder for the next level of favors. + if not _events_completed_any: # Tell her to be even lewder for the next level of favors. gen "Would you like to help your students with their oral skills again?" ("base", xpos="far_left", ypos="head") ton "*Mmmm*, yes... Some of them are in dire need of some practice..." ("horny", "base", "raised", "mid") gen "Then go give them some practice!" ("grin", xpos="far_left", ypos="head") - ton "I will, [ton_genie_name]..." ("base", "base", "base", "mid") + ton "I will, [name_genie_tonks]..." ("base", "base", "base", "mid") else: # Repeat gen "How would you feel about French kissing your students again?" ("base", xpos="far_left", ypos="head") - ton "*Mmmm*... Pretty good if the last few times are anything to go by..." ("horny", "base", "base", "R", hair="horny") + ton @ hair horny "*Mmmm*... Pretty good if the last few times are anything to go by..." ("horny", "base", "base", "R") ton "I'll see you after class..." ("base", "base", "angry", "mid") # Tonks leaves - $ nt_pr_kiss.inProgress = True + $ states.ton.ev.oral_practice.completed_once = True call ton_walk(action="leave") jump end_tonks_event @@ -70,14 +71,12 @@ label nt_pr_kiss_start: ### Tier 1 ### -label nt_pr_kiss_T1_intro_E1: # Tier 1 - Event 1 - Slytherin boy +label nt_pr_kiss_T2_intro_E1: # Tier 1 - Event 1 - Slytherin boy #Gentle kissing call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": @@ -85,11 +84,14 @@ label nt_pr_kiss_T1_intro_E1: # Tier 1 - Event 1 - Slytherin boy "\"Make it quick!\"": ton "I made out with my favourite Slytherin boy again..." ("open", "base", "base", "R") ton "He's getting quite good at it..." ("horny", "base", "base", "up") - gen "Well done, [tonks_name]... We'll talk next time." ("base", xpos="far_left", ypos="head") - ton "Have a good night, [ton_genie_name]." ("base", "happyCl", "base", "mid") - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Well done, [name_tonks_genie]... We'll talk next time." ("base", xpos="far_left", ypos="head") + ton "Have a good night, [name_genie_tonks]." ("base", "happyCl", "base", "mid") + + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -132,37 +134,40 @@ label nt_pr_kiss_T1_intro_E1: # Tier 1 - Event 1 - Slytherin boy gen "Maybe you should consider dealing with all your troublemakers this way?" ("base", xpos="far_left", ypos="head") ton "*Hmm*... Don't tempt me..." ("horny", "base", "base", "R") gen "That'll be all then." ("base", xpos="far_left", ypos="head") - ton "Right, see you, [ton_genie_name]." ("base", "base", "base", "mid") + ton "Right, see you, [name_genie_tonks]." ("base", "base", "base", "mid") # Tonks leaves. - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event -label nt_pr_kiss_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy +label nt_pr_kiss_T2_E2: # Tier 1 - Event 2 - Ravenclaw boy call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": pass + "\"Make it quick!\"": ton "Sorry I'm a bit late today..." ("open", "base", "base", "R") ton "I was \"occupied\" kissing that little Ravenclaw boy again..." ("horny", "base", "angry", "mid") - gen "Very good, [tonks_name]." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]. Have a good night." ("base", "base", "base", "mid") - call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Very good, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") + ton "Thank you, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") + + $ ravenclaw += 20 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -195,48 +200,51 @@ label nt_pr_kiss_T1_E2: # Tier 1 - Event 2 - Ravenclaw boy ton "Great! That kiss must have awoken something in him..." ("crooked_smile", "base", "shocked", "mid") ton "He really got into it after a while..." ("base", "happyCl", "base", "mid") ton "*Ugh*!... I've never had someone attack me with their tongue like that..." ("horny", "base", "base", "up") - ton "It was intense! And neither of us wanted it to end..." ("soft", "base", "shocked", "ahegao", hair="horny") + ton @ hair horny "It was intense! And neither of us wanted it to end..." ("soft", "base", "shocked", "ahegao") gen "Is that why you were late today?" ("grin", xpos="far_left", ypos="head") ton "*Hmm*... Can you blame me?" ("crooked_smile", "base", "base", "up") gen "So you spent all afternoon French kissing one of your students?" ("grin", xpos="far_left", ypos="head") - ton "Yes, [ton_genie_name]..." ("soft", "closed", "base", "mid") - ton "I guess I fucking did!" ("crooked_smile", "base", "shocked", "mid", hair="neutral") + ton "Yes, [name_genie_tonks]..." ("soft", "closed", "base", "mid") + ton @ hair neutral "I guess I fucking did!" ("crooked_smile", "base", "shocked", "mid") gen "I'm very proud!" ("grin", xpos="far_left", ypos="head") - gen "Great work, [tonks_name]." ("base", xpos="far_left", ypos="head") - ton "..." ("crooked_smile", "base", "base", "up", hair="horny") - ton "Thank you, [ton_genie_name]. Have a good night." ("base", "wink", "base", "mid") + gen "Great work, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") + ton @ hair horny "..." ("crooked_smile", "base", "base", "up") + ton "Thank you, [name_genie_tonks]. Have a good night." ("base", "wink", "base", "mid") # Tonks leaves. - call increase_house_points("r", 20) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + $ ravenclaw += 20 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event -label nt_pr_kiss_T1_E3: # Tier 1 - Event 3 - Slytherin girls +label nt_pr_kiss_T2_E3: # Tier 1 - Event 3 - Slytherin girls #Tonks pays two best friends to make out call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": pass + "\"Make it quick!\"": ton "I gave those two Slytherin sluts detention again..." ("open", "base", "base", "R") ton "Fuck, I came so hard watching them kiss!" ("base", "base", "base", "mid") gen "You wouldn't believe how jealous I am!" ("base", xpos="far_left", ypos="head") - ton "You have no idea, [ton_genie_name]!" ("base", "base", "angry", "mid") + ton "You have no idea, [name_genie_tonks]!" ("base", "base", "angry", "mid") ton "I better get going. Until next time!" ("base", "happyCl", "base", "mid") - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -263,49 +271,52 @@ label nt_pr_kiss_T1_E3: # Tier 1 - Event 3 - Slytherin girls ton "But, I have a feeling that wasn't their first time kissing another girl..." ("crooked_smile", "closed", "base", "mid") ton "Maybe not even each other..." ("base", "narrow", "annoyed", "mid") gen "Ought to be young again..." ("base", xpos="far_left", ypos="head") - ton "I couldn't help myself, [ton_genie_name]!" ("crooked_smile", "base", "base", "stare") - ton "I simply {b}had{/b} to play around while they did it..." ("horny", "happyCl", "shocked", "mid", hair="horny") + ton "I couldn't help myself, [name_genie_tonks]!" ("crooked_smile", "base", "base", "stare") + ton @ hair horny "I simply {b}had{/b} to play around while they did it..." ("horny", "happyCl", "shocked", "mid") gen "Did they care?" ("base", xpos="far_left", ypos="head") - ton "Not one bit!" ("horny", "base", "base", "down", hair="horny") + ton @ hair horny "Not one bit!" ("horny", "base", "base", "down") ton "They'd just take it in waves..." ("soft", "base", "base", "L") - ton "Making out... Calling me a pervert..." ("horny", "base", "base", "up", cheeks="blush") - ton "Locking their mouths together, only to break apart again to tease me more..." ("base", "base", "base", "ahegao", cheeks="blush") - ton "*Ugh*... It was so {b}bloody hot!{/b}..." ("open_wide_tongue", "base", "base", "ahegao", cheeks="blush") + ton @ cheeks blush "Making out... Calling me a pervert..." ("horny", "base", "base", "up") + ton @ cheeks blush "Locking their mouths together, only to break apart again to tease me more..." ("base", "base", "base", "ahegao") + ton @ cheeks blush "*Ugh*... It was so {b}bloody hot!{/b}..." ("open_wide_tongue", "base", "base", "ahegao") gen "I take your word for it..." ("base", xpos="far_left", ypos="head") ton "This really is the best job ever!" ("grin", "wide", "shocked", "mid") - gen "Very good! That shall be all for now, [tonks_name]." ("base", xpos="far_left", ypos="head") - ton "Have a good night, [ton_genie_name]." ("base", "happyCl", "base", "mid") + gen "Very good! That shall be all for now, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") + ton "Have a good night, [name_genie_tonks]." ("base", "happyCl", "base", "mid") # Tonks leaves. - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event -label nt_pr_kiss_T1_E4: #Level 1 Event 4 +label nt_pr_kiss_T2_E4: #Level 1 Event 4 #Tender make-out session with a Slytherin lesbian call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) + ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - if ton_reputation <= 7 and nt_pr_kiss.points < 4: # First time. - pass - else: # Repeat. + if _events_filtered_completed_all: menu: gen "(...)" ("base", xpos="far_left", ypos="head") "\"You are back!\"": pass + "\"Make it quick!\"": ton "I kissed that cute little Slytherin girl..." ("open", "base", "base", "mid") ton "She getting there!" ("base", "happyCl", "base", "mid") - gen "Very good, [tonks_name]." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]. Have a good night." ("base", "base", "base", "mid") - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + gen "Very good, [name_tonks_genie]." ("base", xpos="far_left", ypos="head") + ton "Thank you, [name_genie_tonks]. Have a good night." ("base", "base", "base", "mid") + + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 + call ton_walk(action="leave") jump end_tonks_event @@ -347,101 +358,103 @@ label nt_pr_kiss_T1_E4: #Level 1 Event 4 ton "I just softly cradled her head - and spent the next five minutes teaching her how to \"french\"..." ("soft", "base", "shocked", "up") ton "They can't offer you an experience like that at the Ministry!" ("grin", "wink", "base", "mid") gen "Consider yourself lucky then." ("grin", xpos="far_left", ypos="head") - ton "Oh, I do!{w} Believe me!" ("crooked_smile", "closed", "shocked", "mid", hair="horny") + ton @ hair horny "Oh, I do!{w} Believe me!" ("crooked_smile", "closed", "shocked", "mid") gen "That shall be all for now..." ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]." ("soft", "narrow", "base", "mid") + ton "Thank you, [name_genie_tonks]." ("soft", "narrow", "base", "mid") # Tonks leaves. - call increase_house_points("s", 40) - if ton_reputation < 9: # Points til 9. - $ ton_reputation += 1 + $ slytherin += 40 + + if states.ton.public_level < 9: # Points til 9. + $ states.ton.public_level += 1 call ton_walk(action="leave") jump end_tonks_event -### Tier 2 ### +### Tier 3 ### -label nt_pr_kiss_T2_E1: # Tier 2 Event 1 # Not in use. - call ton_walk(action="enter", xpos="mid", ypos="base") - ton "Hi, [ton_genie_name]." (face="horny", xpos="mid", ypos="base", trans=fade) - gen "How did your extracurricular activities pan out today?" ("base", xpos="far_left", ypos="head") - ton "Honestly? I don't think I've ever been as turned on in my life..." ("base", "base", "base", "mid") - ton "Fuck... It was incredible... the power I felt over him... it was intoxicating..." ("base", "base", "base", "mid") - gen "Care to elaborate?" ("base", xpos="far_left", ypos="head") - ton "Well, you know that stuck up little Slytherin I've been fooling around with?" ("base", "base", "base", "mid") - gen "The guy or the girl?" ("base", xpos="far_left", ypos="head") - ton "The boy." ("base", "base", "base", "mid") - gen "Yep, I think I remember them..." ("base", xpos="far_left", ypos="head") - ton "I asked them to stay back after classes again... Even if it was by staring at them during class..." ("base", "base", "base", "mid") - ton "Either way... He knew he had to stay behind to play with \"auntie\" Tonks..." ("base", "base", "base", "mid") - gen "Kinky..." ("base", xpos="far_left", ypos="head") - ton "Mmmm, I walked over to him slowly... Making sure I savoured that frightened look on his face..." ("base", "base", "base", "mid") - ton "Then, I got to his desk... I was half expecting him to blabber on about not deserving to be there..." ("base", "base", "base", "mid") - ton "But today he just looked up at me with a delectable mix of fear and anticipation..." ("base", "base", "base", "mid") +# label nt_pr_kiss_T3_E1: # Tier 2 Event 1 # Not in use. +# call ton_walk(action="enter", xpos="mid", ypos="base") +# ton "Hi, [name_genie_tonks]." ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=fade) - # Genie starts jerking off +# gen "How did your extracurricular activities pan out today?" ("base", xpos="far_left", ypos="head") +# ton "Honestly? I don't think I've ever been as turned on in my life..." ("base", "base", "base", "mid") +# ton "Fuck... It was incredible... the power I felt over him... it was intoxicating..." ("base", "base", "base", "mid") +# gen "Care to elaborate?" ("base", xpos="far_left", ypos="head") +# ton "Well, you know that stuck up little Slytherin I've been fooling around with?" ("base", "base", "base", "mid") +# gen "The guy or the girl?" ("base", xpos="far_left", ypos="head") +# ton "The boy." ("base", "base", "base", "mid") +# gen "Yep, I think I remember them..." ("base", xpos="far_left", ypos="head") +# ton "I asked them to stay back after classes again... Even if it was by staring at them during class..." ("base", "base", "base", "mid") +# ton "Either way... He knew he had to stay behind to play with \"auntie\" Tonks..." ("base", "base", "base", "mid") +# gen "Kinky..." ("base", xpos="far_left", ypos="head") +# ton "Mmmm, I walked over to him slowly... Making sure I savoured that frightened look on his face..." ("base", "base", "base", "mid") +# ton "Then, I got to his desk... I was half expecting him to blabber on about not deserving to be there..." ("base", "base", "base", "mid") +# ton "But today he just looked up at me with a delectable mix of fear and anticipation..." ("base", "base", "base", "mid") - #">Unable to help yourself any longer, you start to inconspicuously stroke your cock under your desk." - #ton "*tsk* *tsk* *tsk*...{w} Couldn't help yourself, could you?" - #gen "Can you blame me?" ("base", xpos="far_left", ypos="head") - #ton "I suppose not..." - #ton "Anyway, back to that cute little thing..." +# # Genie starts jerking off - ton "Eventually I'd had enough of his eager expression..." ("base", "base", "base", "mid") - ton "I pounced upon him... Sitting down on his lap, pinning him to his chair and forcing my chest into his..." ("base", "base", "base", "mid") - ton "I could feel his heartbeat... It was so fast... Like a mouse..." ("base", "base", "base", "mid") - ton "Whispering in his ear I asked if he wanted a little kiss..." ("base", "base", "base", "mid") - ton "Making sure to let him know that I'd pay him plenty of points..." ("base", "base", "base", "mid") - ton "Just for a kiss..." ("base", "base", "base", "mid") - gen "*Mmmmm*..." ("base", xpos="far_left", ypos="head") - ton "Of course he said yes... Even if it was so faint I could barely hear it..." ("base", "base", "base", "mid") - ton "But once he said it... I was on him..." ("base", "base", "base", "mid") - ton "I pinned him down as I held his head in place..." ("base", "base", "base", "mid") - ton "Ugh... My tongue was going crazy..." ("base", "base", "base", "mid") - ton "I'm not sure if you remember this from school, sir, but I'm an Metamorphmagus..." ("base", "base", "base", "mid") # Note: I'd wait with adding Tonks' abilities and reserve them for the 2nd level of favors (longer tongue, bigger breasts...) - ton "Normally I just use that to blend in or for jokes..." ("base", "base", "base", "mid") - ton "But sometimes I use it to... Play around..." ("base", "base", "base", "mid") - ton "And all the excitement today may have caused me to lose control of my tongue..." ("base", "base", "base", "mid") - gen "Lose control of your tongue?" ("base", xpos="far_left", ypos="head") - ton "Ugh... it was so long..." ("base", "base", "base", "mid") - ton "It was like I was fucking that poor boys mouth with it..." ("base", "base", "base", "mid") # Note: This section is a bit too extreme for the first level. - ton "I wrapped his tongue in mine... stuck it down his throat..." ("base", "base", "base", "mid") - ton "Ugh... I even licked his face clean..." ("base", "base", "base", "mid") - ton "By the time I was done there wasn't a dry spot on his face..." ("base", "base", "base", "mid") - gen "*Argh*..." ("base", xpos="far_left", ypos="head") - ton "Poor thing... I think I broke him if I'm being honest..." ("base", "base", "base", "mid") - gen "That's it..." ("base", xpos="far_left", ypos="head") - ton "I thought he'd like it... but there were so many tears--" ("base", "base", "base", "mid") +# #">Unable to help yourself any longer, you start to inconspicuously stroke your cock under your desk." +# #ton "*tsk* *tsk* *tsk*...{w} Couldn't help yourself, could you?" +# #gen "Can you blame me?" ("base", xpos="far_left", ypos="head") +# #ton "I suppose not..." +# #ton "Anyway, back to that cute little thing..." - #gen "UGH... THERE IT IS!!!" ("grin", xpos="far_left", ypos="head") - # Genie cums - #">You begin firing a load of under your desk, making a dull thud with each blast hitting against the backboard..." +# ton "Eventually I'd had enough of his eager expression..." ("base", "base", "base", "mid") +# ton "I pounced upon him... Sitting down on his lap, pinning him to his chair and forcing my chest into his..." ("base", "base", "base", "mid") +# ton "I could feel his heartbeat... It was so fast... Like a mouse..." ("base", "base", "base", "mid") +# ton "Whispering in his ear I asked if he wanted a little kiss..." ("base", "base", "base", "mid") +# ton "Making sure to let him know that I'd pay him plenty of points..." ("base", "base", "base", "mid") +# ton "Just for a kiss..." ("base", "base", "base", "mid") +# gen "*Mmmmm*..." ("base", xpos="far_left", ypos="head") +# ton "Of course he said yes... Even if it was so faint I could barely hear it..." ("base", "base", "base", "mid") +# ton "But once he said it... I was on him..." ("base", "base", "base", "mid") +# ton "I pinned him down as I held his head in place..." ("base", "base", "base", "mid") +# ton "Ugh... My tongue was going crazy..." ("base", "base", "base", "mid") +# ton "I'm not sure if you remember this from school, sir, but I'm an Metamorphmagus..." ("base", "base", "base", "mid") # Note: I'd wait with adding Tonks' abilities and reserve them for the 2nd level of favors (longer tongue, bigger breasts...) +# ton "Normally I just use that to blend in or for jokes..." ("base", "base", "base", "mid") +# ton "But sometimes I use it to... Play around..." ("base", "base", "base", "mid") +# ton "And all the excitement today may have caused me to lose control of my tongue..." ("base", "base", "base", "mid") +# gen "Lose control of your tongue?" ("base", xpos="far_left", ypos="head") +# ton "Ugh... it was so long..." ("base", "base", "base", "mid") +# ton "It was like I was fucking that poor boys mouth with it..." ("base", "base", "base", "mid") # Note: This section is a bit too extreme for the first level. +# ton "I wrapped his tongue in mine... stuck it down his throat..." ("base", "base", "base", "mid") +# ton "Ugh... I even licked his face clean..." ("base", "base", "base", "mid") +# ton "By the time I was done there wasn't a dry spot on his face..." ("base", "base", "base", "mid") +# gen "*Argh*..." ("base", xpos="far_left", ypos="head") +# ton "Poor thing... I think I broke him if I'm being honest..." ("base", "base", "base", "mid") +# gen "That's it..." ("base", xpos="far_left", ypos="head") +# ton "I thought he'd like it... but there were so many tears--" ("base", "base", "base", "mid") - ton "*Mmmm*, looks like you enjoyed our little lesson as well..." ("base", "base", "base", "mid") - gen "Ugh... can you blame me? That was... Ugh..." ("base", xpos="far_left", ypos="head") - ton "I told you I knew how to kiss..." ("base", "base", "base", "mid") - gen "I believe you... that'll be all for now..." ("base", xpos="far_left", ypos="head") - gen "I need to clean up..." ("base", xpos="far_left", ypos="head") - ton "Very well... Thank you, sir." ("base", "base", "base", "mid") +# #gen "UGH... THERE IT IS!!!" ("grin", xpos="far_left", ypos="head") +# # Genie cums +# #">You begin firing a load of under your desk, making a dull thud with each blast hitting against the backboard..." - call ton_walk(action="leave") - jump end_tonks_event +# ton "*Mmmm*, looks like you enjoyed our little lesson as well..." ("base", "base", "base", "mid") +# gen "Ugh... can you blame me? That was... Ugh..." ("base", xpos="far_left", ypos="head") +# ton "I told you I knew how to kiss..." ("base", "base", "base", "mid") +# gen "I believe you... that'll be all for now..." ("base", xpos="far_left", ypos="head") +# gen "I need to clean up..." ("base", xpos="far_left", ypos="head") +# ton "Very well... Thank you, sir." ("base", "base", "base", "mid") -label tonks_teacher_event_3_6: #Level 2 Event 2 - #Spends afternoon making out with ravenclaw, topless +# call ton_walk(action="leave") +# jump end_tonks_event - return +# label tonks_teacher_event_3_6: #Level 3 Event 2 +# #Spends afternoon making out with ravenclaw, topless -label tonks_teacher_event_3_7: #Level 2 Event 3 - #Tonks has two best friends make out while she plays with herself +# return - return +# label tonks_teacher_event_3_7: #Level 3 Event 3 +# #Tonks has two best friends make out while she plays with herself -label tonks_teacher_event_3_8: #Level 2 Event 4 - #Another make out sesh with slytherin involving tonks fingering the student +# return - call ton_walk(action="leave") - jump end_tonks_event +# label tonks_teacher_event_3_8: #Level 3 Event 4 +# #Another make out sesh with slytherin involving tonks fingering the student + +# call ton_walk(action="leave") +# jump end_tonks_event diff --git a/game/scripts/characters/tonks/gifts.rpy b/game/scripts/characters/tonks/gifts.rpy index 8681bcfa..be5afc9b 100644 --- a/game/scripts/characters/tonks/gifts.rpy +++ b/game/scripts/characters/tonks/gifts.rpy @@ -5,157 +5,166 @@ label give_ton_gift(gift_item): with d5 ton "" (xpos="mid", ypos="base", trans=d5) - $ gave_tonks_gift = True + $ states.ton.gifted = True if gift_item == lollipop_ITEM: - ton "A lollipop?" (face="neutral", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give the lollipop to Tonks..."), gift_item) - ton "I know the perfect student to give this to." (face="happy") + ton "A lollipop?" ("open", "narrow", "base", "down") + call give_gift("You give the lollipop to Tonks...", gift_item) + ton "I know the perfect student to give this to." ("base", "narrow", "base", "R") call ton_friendship(1) elif gift_item == chocolate_ITEM: - ton "*Mhmm*, Chocolate!" (pupils="down", face="happy", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give the chocolate to Tonks..."), gift_item) - ton "It's said that chocolate is a very effective mood enhancer after a Dementor attack." (mouth="open", face="happy") - ton "That's because chocolate is considered to be a great aphrodisiac..." (face="horny") - ton "I'll keep this for one of my private lessons." (face="happy") + ton "*Mhmm*, Chocolate!" ("horny", "narrow", "base", "down") + call give_gift("You give the chocolate to Tonks...", gift_item) + ton "It's known that chocolate is a very effective mood enhancer after a Dementor attack." ("open", "closed", "base", "mid") + ton "Although it's less known that it's because chocolate is considered to be a great aphrodisiac..." ("base", "narrow", "base", "mid") + ton "I'll keep this for one of my private lessons." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == plush_owl_ITEM: - ton "An Owl?" (face="neutral", xpos="mid", ypos="base", trans=d5) - ton "Oh, it's a toy... Haven't seen one of these in a while." (face="disgusted") - call give_gift(_(">You give the stuffed owl to Tonks..."),gift_item) - ton "Okay, for nostalgias sake then..." (face="neutral") + ton "An Owl?" ("open", "narrow", "base", "down") + ton "Oh, it's a toy... Haven't seen one of these in a while." ("soft", "narrow", "base", "mid") + call give_gift("You give the stuffed owl to Tonks...",gift_item) + ton "Okay, for nostalgia's sake then..." ("open", "closed", "base", "mid") call ton_friendship(0) elif gift_item == butterbeer_ITEM: - ton "Butterbeer?" (face="disgusted", xpos="mid", ypos="base", trans=d5) - ton "Don't you have anything stronger?" (mouth="open", face="annoyed") - call give_gift(_(">You give the bottle to Tonks..."), gift_item) - ton "Just joking, I'll save it for when I've got company." (face="happy") + ton "Butterbeer?" ("open", "narrow", "base", "down") + ton "Don't you have anything stronger?" ("upset", "narrow", "base", "mid") + call give_gift("You give the bottle to Tonks...", gift_item) + ton "Just joking, I'll save it for when I've got company." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == science_mag_ITEM: - ton "Jinxes and sphinxes? These could help for some of my lessons." (mouth="open", face="neutral", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give an assortment of educational magazines to Tonks..."), gift_item) - ton "Thank you, [ton_genie_name]." (face="neutral") - call ton_friendship(0) + ton "Jinxes and sphinxes? These could help with some of my lessons." ("open", "narrow", "base", "down") + call give_gift("You give an assortment of educational magazines to Tonks...", gift_item) + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "mid") + call ton_friendship(1) elif gift_item == girls_mag_ITEM: - ton "Some girl magazines? I could definitely put these in my classroom." (mouth="open", face="neutral", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give an assortment of rather girly magazines to Tonks..."), gift_item) - ton "The girls do love staying after hours to socialise." (face="happy") + ton "Some girl magazines? I could definitely put these in my classroom." ("open", "narrow", "base", "down") + call give_gift("You give an assortment of rather girly magazines to Tonks...", gift_item) + ton "The girls do love staying after hours to socialise." ("base", "wink", "base", "mid") + ton "" ("base", "base", "base", "mid") call ton_friendship(0) elif gift_item == adult_mag_ITEM: - ton "Adult magazines?" (face="disgusted", xpos="mid", ypos="base", trans=d5) - ton "Wont be the first time I've slipped one in the stack of magazines in my classroom." (face="horny") - call give_gift(_(">You give an assortment of adult magazines to Tonks..."), gift_item) - ton "Thank you, [ton_genie_name]." (face="happy") + ton "Adult magazines?" ("open", "narrow", "base", "down") + ton "Won't be the first time I've slipped one of these inside the stack of magazines in my classroom." ("base", "wink", "base", "mid") + call give_gift("You give an assortment of adult magazines to Tonks...", gift_item) + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == porn_mag_ITEM: - ton "Porn magazines?" (face="disgusted", xpos="mid", ypos="base", trans=d5) - ton "I already know most positions in this book already of course..." (face="happy") - call give_gift(_(">You give an assortment of pornographic magazines to Tonks..."), gift_item) - ton "Although..." (face="horny") - ton "I'll keep them. Thank you, [ton_genie_name]." (face="happy") + ton "Porn magazines?" ("open", "narrow", "base", "down") + ton "I already know most positions in this book already of course..." ("base", "base", "base", "mid") + call give_gift("You give an assortment of pornographic magazines to Tonks...", gift_item) + ton "Although..." ("horny", "narrow", "base", "down") + ton "I'll gladly accept them anyway... Thank you, [name_genie_tonks]." ("base", "wink", "base", "mid") + ton "" ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == krum_poster_ITEM: - ton "That's that Krum boy is it?" (face="horny", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give the poster to Tonks..."), gift_item) - ton "Nice figure, could set a good mood in the classroom... Or my office." (pupils="down", face="happy") - ton "Thank you, [ton_genie_name]." (face="happy") + ton "That's that Krum boy, isn't it?" ("open", "narrow", "base", "down") + call give_gift("You give the poster to Tonks...", gift_item) + ton "Nice figure... Yes, this would certainly set a good mood in my classroom... Or my office." ("base", "narrow", "base", "down") + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == sexy_lingerie_ITEM: - ton "Oh, I see you're a man with a sense of style." (mouth="open", pupils="down", face="happy", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give the sexy lingerie to Tonks..."), gift_item) - ton "If it were up to me these would be part of the school uniform..." (face="happy") + ton "I see you're a man with a sense of style." ("open", "narrow", "base", "down") + call give_gift("You give the sexy lingerie to Tonks...", gift_item) + ton "If it were up to me, then a pair of these would be an obligatory part of the female school uniform..." ("horny", "wink", "base", "mid") + ton "" ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == sexy_stockings_ITEM : - ton "Nice, I have a pair just like these..." (mouth="open", pupils="down", face="happy", xpos="mid", ypos="base", trans=d5) - ton "Although another pair without holes in them wont hurt..." (face="happy") - call give_gift(_(">You give the sexy stockings to Tonks..."), gift_item) + ton "Nice... I have a pair just like these." ("open", "narrow", "base", "down") + ton "Although another pair without holes in them won't hurt..." ("horny", "wink", "base", "mid") + call give_gift("You give the sexy stockings to Tonks...", gift_item) + ton "" ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == pink_condoms_ITEM: - ton "Some condoms?" (face="neutral", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give some condoms to Tonks..."), gift_item) - ton "Safe sex is important..." (face="neutral") - ton "I don't remember taking sex ed when I was in school... maybe I was too busy experimenting it myself that day..." (face="horny") + ton "Some condoms?" ("open", "narrow", "base", "down") + call give_gift("You give some condoms to Tonks...", gift_item) + ton "Safe sex is important..." ("horny", "wink", "base", "mid") + ton "*Hmm*... Now that I think about it, I don't remember taking sex ed when I was in school..." ("annoyed", "base", "base", "mid") call ton_friendship(1) elif gift_item == vibrator_ITEM: - ton "A vibra-- back massager?" (face="disgusted", xpos="mid", ypos="base", trans=d5) - ton "Mm, Mine seemingly went missing from my desk. This should do if it doesn't turn up again." (face="annoyed") - call give_gift(_(">You give the vibrator to Tonks..."), gift_item) - ton "Thank you, [ton_genie_name]." (face="neutral") + ton "A vibra--ting back massager?" ("open", "narrow", "base", "down") + ton "*Mmm*... Mine seemingly went missing from my desk..." ("annoyed", "narrow", "base", "mid") + ton "It's a bit small, but this should do until it turns up again." ("horny", "wink", "base", "mid") + call give_gift("You give the vibrator to Tonks...", gift_item) + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == anal_lube_ITEM: - ton "That's one big jar of Anal lube you have there." (face="disgusted", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give the jar of lube to Tonks..."), gift_item) - ton "What's the difference between this and regular lube?" (mouth="open", face="disgusted") - ton "Seems like it might be enough to cover the whole body..." (mouth="open", face="happy") - ton "Thank you, [ton_genie_name]." (face="neutral") + ton "Now that's a big jar of Anal lube you have there." ("open", "narrow", "base", "down") + call give_gift("You give the jar of lube to Tonks...", gift_item) + ton "Looks like this might be enough to cover the entire body..." ("soft", "narrow", "base", "mid") + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == ballgag_and_cuffs_ITEM: - ton "Ball gag and cuffs?" (pupils="down", face="happy", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give the ball gag and cuffs to Tonks..."), gift_item) - ton "These are pretty cute. Should come in handy during my.... private lessons." (face="horny") + ton "Ball gag and cuffs?" ("open", "narrow", "base", "down") + call give_gift("You give the ball gag and cuffs to Tonks...", gift_item) + ton "These are pretty cute. Should come in handy during my.... private lessons." ("horny", "wink", "base", "mid") + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == anal_plugs_ITEM: - ton "Some anal plugs?" (face="disgusted", xpos="mid", ypos="base", trans=d5) - ton "Wow, this is what they use these days? Very colourful..." (face="happy") - call give_gift(_(">You give an assortment of anal plugs to Tonks..."), gift_item) - ton "I think I might leave some in one of the desks..." (face="horny") + ton "Some anal plugs?" ("open", "narrow", "base", "down") + ton "Wow... This is what they use these days?" ("soft", "narrow", "base", "down") + ton "Very colourful..." ("base", "narrow", "base", "down") + call give_gift("You give the assortment of anal plugs to Tonks...", gift_item) + ton "Thank you, [name_genie_tonks]." ("horny", "base", "base", "mid") call ton_friendship(1) elif gift_item == testral_strapon_ITEM: - ton "Is that a strap-on?" ("open", "wide", "shocked", "stare", xpos="mid",ypos="base",trans=d5) - call give_gift(_(">You give the thestral strap-on to Tonks..."), gift_item) - ton "This will be a perfect addition to my collection..." (face="angry") - ton "Thank you, [ton_genie_name]." (face="happy") + ton "Is that a strap-on?" ("open", "narrow", "base", "down") + call give_gift("You give the thestral strap-on to Tonks...", gift_item) + ton "This will be a perfect addition to my collection..." ("horny", "base", "angry", "mid") + ton "Thank you, [name_genie_tonks]." ("base", "happyCl", "base", "mid") + ton "" ("base", "base", "base", "mid") call ton_friendship(2) elif gift_item == broom_2000_ITEM: - ton "I don't remember the brooms looking like this when I took flying lessons..." (face="angry", xpos="mid", ypos="base", trans=d5) - call give_gift(_(">You give the broom to Tonks..."), gift_item) - ton "Seems like a good way to stay put on the broom though... unless you lose focus." (mouth="open", face="happy") - ton "Which you probably will with this..." (face="horny") + ton "I don't remember the brooms looking like this when I took flying lessons..." ("open", "narrow", "base", "down") + call give_gift("You give the broom to Tonks...", gift_item) + ton "Seems like a good way to stay put on the broom though... Unless you lose focus." ("horny", "base", "base", "mid") + ton "Thank you, [name_genie_tonks]." ("base", "narrow", "base", "mid") + ton "" ("base", "base", "base", "mid") call ton_friendship(3) elif gift_item == sexdoll_ITEM: - ton "a sex doll?" (face="horny", xpos="mid", ypos="base", trans=d5) - ton "Not too useful for me, but I might put it in one of our secret gift exchanges." (mouth="open", face="horny") - call give_gift(_(">You give the sex doll to Tonks..."), gift_item) - ton "They'll gossip for weeks wondering who it's from." (face="horny") + ton "A sex doll?" ("open", "narrow", "base", "down") + ton "Not too useful for me, but I might put it in one of our secret gift exchanges." ("horny", "narrow", "base", "R") + call give_gift("You give the sex doll to Tonks...", gift_item) + ton "They'll gossip for weeks, wondering who it's from." ("grin", "base", "base", "mid") call ton_friendship(1) elif gift_item == anal_beads_ITEM: - ton "anal beads?" (face="disgusted", xpos="mid", ypos="base", trans=d5) - ton "It's a bit short but I'll take it..." (face="happy") - call give_gift(_(">You give the anal beads to Tonks..."), gift_item) - ton "Thanks..." (face="horny") + ton "Anal beads?" ("open", "narrow", "base", "down") + ton "It's a bit short, but I'll take it..." ("horny", "narrow", "base", "down") + call give_gift("You give the anal beads to Tonks...", gift_item) + ton "Thank you, [name_genie_tonks]..." ("base", "base", "base", "mid") call ton_friendship(1) elif gift_item == wine_ITEM: + ton "A bottle of wine?" ("open", "narrow", "base", "down") if not firewhisky_ITEM.unlocked: - ton "A bottle of wine?" (face="neutral", xpos="mid", ypos="base", trans=d5) - ton "I was hoping for something with a bit more \'punch\'." (mouth="open", pupils="R", face="neutral") + ton "I was hoping for something with a bit more \'punch\'." ("annoyed", "narrow", "base", "mid") call ton_friendship(0) else: - ton "I had told you before I don't particularly like wine.." (mouth="open", pupils="R", face="neutral", xpos="mid", ypos="base", trans=d5) - call ton_friendship(-1) + ton "I've told you before... Wine doesn't particularly agree with me." ("annoyed", "narrow", "base", "mid") + call ton_friendship(0) elif gift_item == firewhisky_ITEM: - ton "Firewhisky?" (face="happy", xpos="mid", ypos="base", trans=d5) - ton "*Mmm*.. My favourite. But let's save it for later, shall we?" (face="horny") + ton "Firewhisky?" ("open", "narrow", "base", "down") + ton "*Mmm*... My favourite..." ("horny", "narrow", "base", "down") + ton "But let's save it for later, shall we?" ("base", "narrow", "base", "mid") call ton_friendship(0) ton "" (xpos="base",ypos="base") @@ -165,8 +174,6 @@ label give_ton_gift(gift_item): return label ton_friendship(value=0): - show screen blktone - with d3 if value > 0: if value == 1: @@ -181,6 +188,5 @@ label ton_friendship(value=0): else: "Tonks' friendship towards you hasn't changed much." - $ ton_friendship = max(min(ton_friendship+value, 100), 0) - hide screen blktone + $ states.ton.level = max(min(states.ton.level+value, 100), 0) return diff --git a/game/scripts/characters/tonks/hangouts.rpy b/game/scripts/characters/tonks/hangouts.rpy index 2484ab02..2c732a93 100644 --- a/game/scripts/characters/tonks/hangouts.rpy +++ b/game/scripts/characters/tonks/hangouts.rpy @@ -1,36 +1,20 @@ -default nt_he_drink = event_class( - title = "Tonks Firewhisky", start_label = "tonks_hangout", - events = [ - [ - ["nt_he_wine_intro"], - ["nt_he_firewhisky_intro"], - ["nt_he_firewhisky_E1"], - ["nt_he_firewhisky_E2"], - ["nt_he_firewhisky_E3"], - ["nt_he_firewhisky_E4"] - ] - ], - iconset = [["star_empty", "star_pink"]] # You have to add icons at least for first tier, the rest will be copied over automatically. -) +default ton_ev_hangouts_wine_intro = Event(id="ton_ev_hangouts_wine_intro", label="nt_he_wine_intro", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_drinking") +default ton_ev_hangouts_firewhisky_intro = Event(id="ton_ev_hangouts_firewhisky_intro", label="nt_he_firewhisky_intro", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_drinking") +default ton_ev_hangouts_firewhisky_e1 = Event(id="ton_ev_hangouts_firewhisky_e1", label="nt_he_firewhisky_E1", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_drinking") +default ton_ev_hangouts_firewhisky_e2 = Event(id="ton_ev_hangouts_firewhisky_e2", label="nt_he_firewhisky_E2", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_drinking") +default ton_ev_hangouts_firewhisky_e3 = Event(id="ton_ev_hangouts_firewhisky_e3", label="nt_he_firewhisky_E3", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_drinking") +default ton_ev_hangouts_firewhisky_e4 = Event(id="ton_ev_hangouts_firewhisky_e4", label="nt_he_firewhisky_E4", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_drinking") -default nt_he_story = event_class( - title = "Tonks Stories", start_label = "tonks_hangout", - events = [ - [ - ["nt_he_story_intro_E1"], # Intro - ["nt_he_story_intro_E2"], # Moody - ["nt_he_story_intro_E3"], # Brooms and flying carpets - ["nt_he_story_intro_E4"], # Turning water into wine - ["nt_he_story_intro_E5"], # Lots of paperwork - ["nt_he_story_E6"], # Vampire story - ["nt_he_story_intro_E7"], # Moody's teaching methods - ["nt_he_story_E8"], # Werewold story - ["nt_he_story_intro_E9"], # Illegal love potion - ["nt_he_story_intro_E10"], # Dumb game mechanics - ["nt_he_story_E11"], # Metamorphmagi - ["nt_he_story_E12"] # Invisible clothing charm - ] - ], - iconset = [["star_empty", "star_pink"]] # You have to add icons at least for first tier, the rest will be copied over automatically. -) +default ton_ev_hangouts_story_e1 = Event(id="ton_ev_hangouts_story_e1", label="nt_he_story_intro_E1", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e2 = Event(id="ton_ev_hangouts_story_e2", label="nt_he_story_intro_E2", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e3 = Event(id="ton_ev_hangouts_story_e3", label="nt_he_story_intro_E3", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e4 = Event(id="ton_ev_hangouts_story_e4", label="nt_he_story_intro_E4", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e5 = Event(id="ton_ev_hangouts_story_e5", label="nt_he_story_intro_E5", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e6 = Event(id="ton_ev_hangouts_story_e6", label="nt_he_story_E6", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e7 = Event(id="ton_ev_hangouts_story_e7", label="nt_he_story_intro_E7", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e8 = Event(id="ton_ev_hangouts_story_e8", label="nt_he_story_E8", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e9 = Event(id="ton_ev_hangouts_story_e9", label="nt_he_story_intro_E9", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e10 = Event(id="ton_ev_hangouts_story_e10", label="nt_he_story_intro_E10", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e11 = Event(id="ton_ev_hangouts_story_e11", label="nt_he_story_E11", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") +default ton_ev_hangouts_story_e12 = Event(id="ton_ev_hangouts_story_e12", label="nt_he_story_E12", autoenqueue=True, autodequeue=False, repeat=False, queue="ton_eventqueue_hangouts_story") diff --git a/game/scripts/characters/tonks/requests.rpy b/game/scripts/characters/tonks/requests.rpy index 0349213a..21db5bec 100644 --- a/game/scripts/characters/tonks/requests.rpy +++ b/game/scripts/characters/tonks/requests.rpy @@ -1,66 +1,48 @@ -# Public requests -default nt_pr_teach = event_class( - title = _("Detention with Tonks."), start_label = "nt_pr_teach_start", start_tier = 1, - events = [ - [ - ["nt_pr_teach_T1_E1"], # Slytherin boy - ["nt_pr_teach_T1_E2"], # Ravenclaw boy - ["nt_pr_teach_T1_E3"], # Potter & Weasley - ["nt_pr_teach_T1_E4"] # Slytherin girl - ], - [ - ["nt_pr_teach_T2_E1"], # Hufflepuff girl - ["nt_pr_teach_T2_E2"], # Ravenclaw boy - ["nt_pr_teach_T2_E3"], # Slytherin boy - ["nt_pr_teach_T2_E4"] # Slytherin girl - ] - ], - iconset = [["star_empty", "star_pink"]] # You have to add icons at least for first tier, the rest will be copied over automatically. -) +default ton_ev_detention_t1_e1 = Event(id="ton_ev_detention_t1_e1", label="nt_pr_teach_T1_E1", req="game.daytime==False") +default ton_ev_detention_t1_e2 = Event(id="ton_ev_detention_t1_e2", label="nt_pr_teach_T1_E2", req="game.daytime==False") +default ton_ev_detention_t1_e3 = Event(id="ton_ev_detention_t1_e3", label="nt_pr_teach_T1_E3", req="game.daytime==False") +default ton_ev_detention_t1_e4 = Event(id="ton_ev_detention_t1_e4", label="nt_pr_teach_T1_E4", req="game.daytime==False") -default nt_pr_grope = event_class( - title = _("Hands-on lessons!"), start_label = "nt_pr_grope_start", start_tier = 2, - events = [ - [ - ["nt_pr_grope_T1_E1"], # Slytherin boy - ["nt_pr_grope_T1_E2"], # Ravenclaw boy - ["nt_pr_grope_T1_E3"], # Potter & Weasley - ["nt_pr_grope_T1_E4"] # Slytherin girl - ]# , - # [ - # ["nt_pr_grope_T2_E1"], # - # ["nt_pr_grope_T2_E2"], # - # ["nt_pr_grope_T2_E3"], # - # ["nt_pr_grope_T2_E4"] # - # ] - ], - iconset = [["star_empty", "star_pink"]] # You have to add icons at least for first tier, the rest will be copied over automatically. -) +default ton_ev_detention_t1_e1_hub = Event(id="ton_ev_detention_t1_e1_hub", label="nt_pr_teach_start", req="states.ton.tier==1", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t1_e1"]) +default ton_ev_detention_t1_e2_hub = Event(id="ton_ev_detention_t1_e2_hub", label="nt_pr_teach_start", req="states.ton.tier==1", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t1_e2"]) +default ton_ev_detention_t1_e3_hub = Event(id="ton_ev_detention_t1_e3_hub", label="nt_pr_teach_start", req="states.ton.tier==1", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t1_e3"]) +default ton_ev_detention_t1_e4_hub = Event(id="ton_ev_detention_t1_e4_hub", label="nt_pr_teach_start", req="states.ton.tier==1", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t1_e4"]) -default nt_pr_kiss = event_class( - title = _("Oral practice!"), start_label = "nt_pr_kiss_start", start_tier = 2, - events = [ - [ - ["nt_pr_kiss_T1_intro_E1"], # Ravenclaw boy - ["nt_pr_kiss_T1_E2"], # - ["nt_pr_kiss_T1_E3"], # Slytherin girls - ["nt_pr_kiss_T1_E4"] # Slytherin girl - ]# , - # [ - # ["nt_pr_kiss_T2_E1"], # Slytherin boy - # ["nt_pr_kiss_T2_E2"], # - # ["nt_pr_kiss_T2_E3"], # - # ["nt_pr_kiss_T2_E4"] # - # ] - ], - iconset = [["star_empty", "star_pink"]] # You have to add icons at least for first tier, the rest will be copied over automatically. -) +default ton_ev_detention_t2_e1 = Event(id="ton_ev_detention_t2_e1", label="nt_pr_teach_T2_E1", req="game.daytime==False") +default ton_ev_detention_t2_e2 = Event(id="ton_ev_detention_t2_e2", label="nt_pr_teach_T2_E2", req="game.daytime==False") +default ton_ev_detention_t2_e3 = Event(id="ton_ev_detention_t2_e3", label="nt_pr_teach_T2_E3", req="game.daytime==False") +default ton_ev_detention_t2_e4 = Event(id="ton_ev_detention_t2_e4", label="nt_pr_teach_T2_E4", req="game.daytime==False") -# Idea for "blowjob pr" name: "Stress Mitigation." +default ton_ev_detention_t2_e1_hub = Event(id="ton_ev_detention_t2_e1_hub", label="nt_pr_teach_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t2_e1"]) +default ton_ev_detention_t2_e2_hub = Event(id="ton_ev_detention_t2_e2_hub", label="nt_pr_teach_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t2_e2"]) +default ton_ev_detention_t2_e3_hub = Event(id="ton_ev_detention_t2_e3_hub", label="nt_pr_teach_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t2_e3"]) +default ton_ev_detention_t2_e4_hub = Event(id="ton_ev_detention_t2_e4_hub", label="nt_pr_teach_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_detention", subevents=["ton_ev_detention_t2_e4"]) -default nt_requests_list = [ - nt_pr_teach, - nt_pr_grope, - nt_pr_kiss +default ton_ev_grope_t2_e1 = Event(id="ton_ev_grope_t2_e1", label="nt_pr_grope_T2_E1", req="game.daytime==False") +default ton_ev_grope_t2_e2 = Event(id="ton_ev_grope_t2_e2", label="nt_pr_grope_T2_E2", req="game.daytime==False") +default ton_ev_grope_t2_e3 = Event(id="ton_ev_grope_t2_e3", label="nt_pr_grope_T2_E3", req="game.daytime==False") +default ton_ev_grope_t2_e4 = Event(id="ton_ev_grope_t2_e4", label="nt_pr_grope_T2_E4", req="game.daytime==False") + +default ton_ev_grope_t2_e1_hub = Event(id="ton_ev_grope_t2_e1_hub", label="nt_pr_grope_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_grope", subevents=["ton_ev_grope_t2_e1"]) +default ton_ev_grope_t2_e2_hub = Event(id="ton_ev_grope_t2_e2_hub", label="nt_pr_grope_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_grope", subevents=["ton_ev_grope_t2_e2"]) +default ton_ev_grope_t2_e3_hub = Event(id="ton_ev_grope_t2_e3_hub", label="nt_pr_grope_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_grope", subevents=["ton_ev_grope_t2_e3"]) +default ton_ev_grope_t2_e4_hub = Event(id="ton_ev_grope_t2_e4_hub", label="nt_pr_grope_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_grope", subevents=["ton_ev_grope_t2_e4"]) + +default ton_ev_oral_t2_e1 = Event(id="ton_ev_oral_t2_e1", label="nt_pr_kiss_T2_intro_E1", req="game.daytime==False") +default ton_ev_oral_t2_e2 = Event(id="ton_ev_oral_t2_e2", label="nt_pr_kiss_T2_E2", req="game.daytime==False") +default ton_ev_oral_t2_e3 = Event(id="ton_ev_oral_t2_e3", label="nt_pr_kiss_T2_E3", req="game.daytime==False") +default ton_ev_oral_t2_e4 = Event(id="ton_ev_oral_t2_e4", label="nt_pr_kiss_T2_E4", req="game.daytime==False") + +default ton_ev_oral_t2_e1_hub = Event(id="ton_ev_oral_t2_e1_hub", label="nt_pr_kiss_start", req="states.ton.tier>=2", repeat=False, autoenqueue=True, autodequeue=False, queue="ton_eventqueue_oral", subevents=["ton_ev_oral_t2_e1"]) +default ton_ev_oral_t2_e2_hub = Event(id="ton_ev_oral_t2_e2_hub", label="nt_pr_kiss_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_oral", subevents=["ton_ev_oral_t2_e2"]) +default ton_ev_oral_t2_e3_hub = Event(id="ton_ev_oral_t2_e3_hub", label="nt_pr_kiss_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_oral", subevents=["ton_ev_oral_t2_e3"]) +default ton_ev_oral_t2_e4_hub = Event(id="ton_ev_oral_t2_e4_hub", label="nt_pr_kiss_start", req="states.ton.tier>=2", autoenqueue=True, autodequeue=False, queue="ton_eventqueue_oral", subevents=["ton_ev_oral_t2_e4"]) + +define tonks_requests = [ + ("ton_eventqueue_detention", "Detention with Tonks!"), + ("ton_eventqueue_grope", "Hands-on lessons!"), + ("ton_eventqueue_oral", "Oral practice!"), ] + +# Idea for "blowjob pr" name: "Stress Mitigation." \ No newline at end of file diff --git a/game/scripts/characters/tonks/summon.rpy b/game/scripts/characters/tonks/summon.rpy index 69118f34..1f5eb33f 100644 --- a/game/scripts/characters/tonks/summon.rpy +++ b/game/scripts/characters/tonks/summon.rpy @@ -1,16 +1,15 @@ label summon_tonks: - $ active_girl = "tonks" - $ last_character = "tonks" + $ states.active_girl = "tonks" - $ tonks_busy = True + $ states.ton.busy = True call update_ton_tier call update_tonks - call play_music("tonks") - call play_sound("door") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + play sound "sounds/door.ogg" $ renpy.checkpoint(hard=True) @@ -27,7 +26,7 @@ label summon_tonks: # Talk "-Talk-" (icon="interface/icons/small/talk.webp"): - if ton_mood > 0: + if states.ton.mood > 0: ton "I have a headache right now, let's talk later." jump tonks_requests @@ -40,28 +39,28 @@ label summon_tonks: jump tonks_favor_menu # Fireplace Chats - "-Let's hang-" (icon="interface/icons/small/toast.webp") if (wine_ITEM.owned > 0 and nt_he_drink.counter == 0) or (firewhisky_ITEM.owned > 0 and nt_he_drink.counter > 0): + "-Let's hang-" (icon="interface/icons/small/toast.webp") if (wine_ITEM.owned > 0 and not states.ton.ev.hangouts.wine_intro) or firewhisky_ITEM.owned > 0: jump tonks_hangout - "-Let's hang-" (icon="interface/icons/small/toast.webp", style="disabled") if (firewhisky_ITEM.owned < 1 and nt_he_drink.counter > 0): + "-Let's hang-" (icon="interface/icons/small/toast.webp", style="disabled") if (firewhisky_ITEM.owned < 1 and states.ton.ev.hangouts.wine_intro): gen "(I don't have any firewhisky...)" ("base", xpos="far_left", ypos="head") jump tonks_requests - "-Let's hang-" (icon="interface/icons/small/toast.webp", style="disabled") if (wine_ITEM.owned < 1 and nt_he_drink.counter == 0): + "-Let's hang-" (icon="interface/icons/small/toast.webp", style="disabled") if (wine_ITEM.owned < 1 and not states.ton.ev.hangouts.wine_intro): gen "(I don't have any wine...)" ("base", xpos="far_left", ypos="head") jump tonks_requests # Wardrobe - "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if tonks_wardrobe_unlocked: + "-Wardrobe-" (icon="interface/icons/small/wardrobe.webp") if states.ton.wardrobe_unlocked: hide tonks_main with d1 call wardrobe # Hair fix - $ tonks_haircolor = tonks.get_equipped("hair").color + $ tonks_haircolor = [c for c in tonks.get_equipped("hair").color] jump tonks_requests - "-Hidden-" (style="disabled") if not tonks_wardrobe_unlocked: - call nar(">You haven't unlocked this feature yet.") + "-Wardrobe-" (style="disabled") if not states.ton.wardrobe_unlocked: + nar "You haven't unlocked this feature yet." jump tonks_requests "-Give Item-" (icon="interface/icons/small/gift.webp"): @@ -76,16 +75,16 @@ label summon_tonks: if game.daytime: ton "Alright, back to work then..." else: - ton "Sweet dreams, [ton_genie_name]." + ton "Sweet dreams, [name_genie_tonks]." - call play_sound("door") + play sound "sounds/door.ogg" jump end_tonks_event # Tonks level up label update_ton_tier: - if ton_tier == 1 and nt_he.favors_E2: + if states.ton.tier == 1 and states.ton.ev.hangouts.favors_e2: $ ton_level_up = 1 return @@ -96,11 +95,11 @@ label tonks_level_up(tier=None): if tier == 1: gen "(Time to teach those students something useful!)" ("grin", xpos="far_left", ypos="head") - $ ton_tier = tier+1 + $ states.ton.tier = tier+1 $ ton_level_up = None pause.5 - call nar(">Tonks has reached level "+str(ton_tier)+"!") + nar "Tonks has reached level [states.ton.tier]!" call update_ton_tier @@ -117,78 +116,31 @@ label tonks_favor_menu: jump tonks_requests "-Personal Favours-" (icon="interface/icons/small/heart_red.webp", style="disabled"): + label .favors: + call not_available jump tonks_favor_menu - # - # Uncomment once favours are ready - # - # label .personal: - # python: - # menu_choices = [] - # for i in nt_favor_list: - # if i in []: # Not in the game yet. - # menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - # elif i.start_tier > ton_tier: - # menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) - # else: - # menu_choices.append(i.get_menu_item()) + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and states.ton.requests_unlocked: + label .requests: - # menu_choices.append(("-Never mind-", "nvm")) - # result = renpy.display_menu(menu_choices) - # if result == "nvm": - # jump tonks_favor_menu - # elif result == "vague": - # call favor_not_ready - # jump .personal - # elif result == "na": - # call not_available - # jump .personal - # else: - # $ renpy.jump(result) + $ result = show_events_menu(tonks_requests) - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp") if game.daytime and tonks_requests_unlocked: - jump tonks_requests_menu + if result in ("disabled", "noncompliant"): + "You haven't unlocked this request opportunity yet." + jump .requests + elif result == "exit": + jump tonks_favor_menu + else: + $ result.start() - "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not tonks_requests_unlocked: - if not tonks_requests_unlocked: - call nar(">You haven't unlocked this feature yet.") + "-Public Requests-" (icon="interface/icons/small/star_yellow.webp", style="disabled") if not game.daytime or not states.ton.requests_unlocked: + if not states.ton.requests_unlocked: + nar "You haven't unlocked this feature yet." elif not game.daytime: - call nar(">Public requests are available during the day only.") + nar "Public requests are available during the day only." + jump tonks_favor_menu "-Never mind-": jump tonks_requests - -label tonks_requests_menu: - call update_ton_requests - python: - menu_choices = [] - for i in nt_requests_list: - if i in []: # Not in the game yet. - menu_choices.append(gui.menu_item("-Not available-", "na", style="disabled")) - elif i.start_tier > ton_tier: - menu_choices.append(gui.menu_item("-Not ready-", "vague", style="disabled")) - else: - menu_choices.append(i.get_menu_item()) - menu_choices.append(("-Never mind-", "nvm")) - result = renpy.display_menu(menu_choices) - - if result == "nvm": - jump tonks_favor_menu - elif result == "vague": - call favor_not_ready - jump tonks_requests_menu - elif result == "na": - call not_available - jump tonks_requests_menu - else: - $ renpy.jump(result) - -label update_ton_requests: - # Set event tier to current Tonks tier if they are different - python: - for i in nt_requests_list: - i.tier = ton_tier - - return diff --git a/game/scripts/characters/tonks/talk.rpy b/game/scripts/characters/tonks/talk.rpy index dd597acb..d9a843f9 100644 --- a/game/scripts/characters/tonks/talk.rpy +++ b/game/scripts/characters/tonks/talk.rpy @@ -1,10 +1,10 @@ label tonks_talk: menu: - "-Ask for help with Quidditch-" (icon="interface/icons/small/quidditch.webp") if cho_tier == 2 and cho_quid.E6_complete and not cho_quid.E8_complete: + "-Ask for help with Quidditch-" (icon="interface/icons/small/quidditch.webp") if states.cho.tier == 2 and states.cho.ev.quidditch.e6_complete and not states.cho.ev.quidditch.e8_complete: gen "Got a moment?" ("base", xpos="far_left", ypos="head") ton "Sure, just make it quick..." ("open", "base", "base", "mid") gen "I have a problem with--" ("base", xpos="far_left", ypos="head") - ton "[ton_genie_name], aren't you forgetting about something?" ("open", "closed", "base", "mid") + ton "[name_genie_tonks], aren't you forgetting about something?" ("open", "closed", "base", "mid") ton "You should offer a lady a drink, before burdening her with your problems..." ("base", "base", "base", "mid") gen "(Is there {b}any{/b} teacher in this school that has no problems with alcohol...?)" ("base", xpos="far_left", ypos="head") @@ -20,24 +20,24 @@ label tonks_talk: jump tonks_talk - "-Get naked!-" if tonks_strip_happened and tonks.is_any_worn("top", "bottom", "robe"): - gen "Get naked, [tonks_name]!" ("base", xpos="far_left", ypos="head") - ton "Of course, [ton_genie_name]." ("horny", "base", "base", "mid") + "-Get naked!-" if states.ton.ev.random_strip.complete and tonks.is_any_worn("top", "bottom", "robe"): + gen "Get naked, [name_tonks_genie]!" ("base", xpos="far_left", ypos="head") + ton "Of course, [name_genie_tonks]." ("horny", "base", "base", "mid") hide tonks_main with d3 - $ tonks.strip("all") + $ tonks.strip("clothes") pause.8 - ton "Do you like it, [ton_genie_name]?" ("horny", "base", "raised", "mid") + ton "Do you like it, [name_genie_tonks]?" ("horny", "base", "raised", "mid") ton "The exposed body of one of your subordinates?" ("open", "base", "raised", "mid") - gen "I do, [tonks_name]!" ("angry", xpos="far_left", ypos="head") + gen "I do, [name_tonks_genie]!" ("angry", xpos="far_left", ypos="head") gen "You should teach like that!" ("grin", xpos="far_left", ypos="head") ton "*Hmm*..." ("base", "base", "base", "R") - ton "I like the way you think, [ton_genie_name]!" ("horny", "base", "base", "mid") + ton "I like the way you think, [name_genie_tonks]!" ("horny", "base", "base", "mid") jump tonks_talk - "-Get dressed-" if tonks_strip_happened and not tonks.is_any_worn("top", "bottom", "robe"): + "-Get dressed-" if states.ton.ev.random_strip.complete and not tonks.is_any_worn("top", "bottom", "robe"): gen "Put on some clothes, would you..." ("base", xpos="far_left", ypos="head") gen "This is a school, after all." ("base", xpos="far_left", ypos="head") ton "Do I have to?" ("annoyed", "narrow", "base", "mid") @@ -55,59 +55,59 @@ label tonks_talk: menu: "-Sir-": label .sir: # Local label unavailable from global scope - $ ton_genie_name = _("Sir") - ton "Of course, [ton_genie_name]." ("base", "base", "base", "mid") + $ name_genie_tonks = "Sir" + ton "Of course, [name_genie_tonks]." ("base", "base", "base", "mid") "-Dumbledore-": label .dumbledore: - $ ton_genie_name = _("Dumbledore") - ton "Sure thing, [ton_genie_name]." ("base", "base", "base", "mid") + $ name_genie_tonks = "Dumbledore" + ton "Sure thing, [name_genie_tonks]." ("base", "base", "base", "mid") "-Professor-": label .professor: - $ ton_genie_name = _("Professor") - ton "Alright, [ton_genie_name]." ("base", "base", "base", "mid") + $ name_genie_tonks = "Professor" + ton "Alright, [name_genie_tonks]." ("base", "base", "base", "mid") "-Old man-": label .old_man: - $ ton_genie_name = _("Old man") + $ name_genie_tonks = "Old man" ton "I have to say, for your age you're in really great shape..." ("soft", "base", "base", "down") gen "That's part of the benefits of being immortal...{w=0.4} Your body doesn't age." ("base", xpos="far_left", ypos="head") - ton "You're lucky then... I've had men that were a couple hundred years old, whose bodies were quite fragile..." ("open", "base", "base", "R") + ton "You're lucky then... I've had men that were a couple of hundred years old, whose bodies were quite fragile..." ("open", "base", "base", "R") gen "All mortals? How did they get that old?" ("base", xpos="far_left", ypos="head") ton "Ever heard of the \"Philosopher's stone\"?" ("base", "narrow", "base", "mid") gen "Is it a tiny, red, stone-looking gem, that lengthens the owner's life?" ("base", xpos="far_left", ypos="head") gen "It's called the \"sorcerer's stone\" in my world, however." ("base", xpos="far_left", ypos="head") ton "Really? Why is that?" ("open", "base", "raised", "mid") gen "I have no clue..." ("base", xpos="far_left", ypos="head") - ton "Didn't you say you were an \"all knowing\" being?" ("open", "base", "angry", "mid") + ton "I thought genies were \"all knowing\" beings?" ("open", "base", "angry", "mid") ton "I guess you really are an \"old man\", Genie..." ("base", "base", "base", "mid") gen "..............." ("base", xpos="far_left", ypos="head") "-Genie-": label .genie: - $ ton_genie_name = _("Genie") + $ name_genie_tonks = "Genie" ton "Of course." ("base", "base", "base", "mid") gen "Sweet." ("grin", xpos="far_left", ypos="head") ton "Will I get my three wishes too?" ("open", "base", "base", "mid") - ton "Or would I have to rub your \"thing\" first?" ("horny", "base", "base", "mid", hair="horny") + ton @ hair horny "Or would I have to rub your \"thing\" first?" ("horny", "base", "base", "mid") gen "My lamp?" ("base", xpos="far_left", ypos="head") ton "I was talking about your--" ("base", "base", "base", "R") with hpunch gen "My lamp!!!" ("angry", xpos="far_left", ypos="head") gen "Shit, where even is that thing?" ("angry", xpos="far_left", ypos="head") gen "I must have lost it when I got to this place!" ("angry", xpos="far_left", ypos="head") - ton "Do you even need it? Didn't you say you were a free Genie now?" ("open", "base", "raised", "mid") - gen "Of course I still need it! What sort of question is that, woman?!" ("angry", xpos="far_left", ypos="head") + ton "Do you even need it?" ("open", "base", "raised", "mid") + gen "Of course I need it! What sort of question is that, woman?!" ("angry", xpos="far_left", ypos="head") ton "(................)" ("mad", "base", "base", "down") gen "How would you like to suddenly be robbed of your house?!" ("angry", xpos="far_left", ypos="head") ton "(I guess I can jerk him off some other time...)" ("mad", "base", "worried", "R") gen "If you find a golden, shiny looking lamp, return it to me..." ("base", xpos="far_left", ypos="head") - ton "Sure, [ton_genie_name]..." ("upset", "base", "base", "R") + ton "Sure, [name_genie_tonks]..." ("upset", "base", "base", "R") "-Lord Voldemort-": label .lord_voldemort: - $ ton_genie_name = _("Lord Voldemort") + $ name_genie_tonks = "Lord Voldemort" ton "Bold of you to say his name out loud... Who even told you about the dark lord?" ("open", "base", "angry", "mid") gen "I've read the stories..." ("base", xpos="far_left", ypos="head") ton "So you know this wizard did some terrible things in his lifetime?" ("open", "base", "angry", "R") @@ -124,84 +124,84 @@ label tonks_talk: ton "Voldemort, having a child? Are you serious?" ("open", "wide", "shocked", "stare") gen "Of course not." ("base", xpos="far_left", ypos="head") gen "Once you're immortal, the last thing you need is some annoying brat on your mind..." ("base", xpos="far_left", ypos="head") - gen "All we really want to do is waste a majority of our existence with mindless sex!" ("grin", xpos="far_left", ypos="head") - ton "Oh my..." ("horny", "base", "base", "mid", hair="horny") + gen "All we really want to do is waste the majority of our existence with mindless sex!" ("grin", xpos="far_left", ypos="head") + ton @ hair horny "Oh my..." ("horny", "base", "base", "mid") gen "And sometimes a bit of kinky role-play..." ("base", xpos="far_left", ypos="head") gen "Are you going to call me \"Lord Voldemort\" now or what?" ("base", xpos="far_left", ypos="head") - ton "Fine... I will call you, [ton_genie_name], if it makes you happy..." ("base", "base", "base", "mid") + ton "Fine... I will call you, [name_genie_tonks], if it makes you happy..." ("base", "base", "base", "mid") gen "Yippee!" ("grin", xpos="far_left", ypos="head") "-Daddy-": label .daddy: - $ ton_genie_name = _("Daddy") + $ name_genie_tonks = "Daddy" ton "Well, you do look about thrice as old as me..." ("base", "base", "raised", "mid") ton "Crazy to think you geezers get to bang all those young, sexy, innocent witches here..." ("open", "base", "base", "R") gen "(Geezers?)" ("base", xpos="far_left", ypos="head") gen "But I thought you didn't mind it?" ("base", xpos="far_left", ypos="head") - ton "Oh, I don't mind at all, [ton_genie_name]!" ("horny", "base", "base", "mid") + ton "Oh, I don't mind at all, [name_genie_tonks]!" ("horny", "base", "base", "mid") - "-Lover-" (style="disabled") if ton_friendship < 60: + "-Lover-" (style="disabled") if states.ton.level < 60: label .lover_fail: ton "You mean that you \"love how well we work together\", right?" ("base", "narrow", "raised", "mid") - gen "Err..." ("base", xpos="far_left", ypos="head") + gen "*Err*..." ("base", xpos="far_left", ypos="head") gen "Sure." ("base", xpos="far_left", ypos="head") ton "Don't you lie to me young man, an Auror is trained to see right through that stuff." ("open", "narrow", "base", "mid") - gen "\"Young man\"? I'm literally over ten thousands of years old." ("base", xpos="far_left", ypos="head") + gen "\"Young man\"? I'm literally over ten thousand years old." ("base", xpos="far_left", ypos="head") ton "Right." ("soft", "base", "base", "R") gen "Also technically not a man..." ("base", xpos="far_left", ypos="head") gen "I just have the bits of a man." - gen "Can't reproduce though, so that's kinda weird." ("base", xpos="far_left", ypos="head") + gen "Can't reproduce though... So, that's a bit odd." ("base", xpos="far_left", ypos="head") gen "Not that I'm complaining, it made it easier to spend that much time inside the lamp." ("base", xpos="far_left", ypos="head") gen "I feel like I'm oversharing now..." ("base", xpos="far_left", ypos="head") ton "Just a little bit." ("base", "narrow", "base", "R") gen "Well, I suppose that's what lovers do, am I right?" ("base", xpos="far_left", ypos="head") ton "Nice try..." ("base", "narrow", "base", "mid") - "-Lover-" if ton_friendship >= 60: + "-Lover-" if states.ton.level >= 60: label .lover: - $ ton_genie_name = _("Lover") + $ name_genie_tonks = "Lover" ton "As you wish, \"Lover boy\"..." ("horny", "narrow", "base", "mid") gen "Just \"Lover\" is fine." ("base", xpos="far_left", ypos="head") ton "Yes my love..." ("base", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - "-Master-" (style="disabled") if ton_friendship < 60: + "-Master-" (style="disabled") if states.ton.level < 60: label .master_fail: ton "No." ("base", "base", "base", "R") gen "What?- Why not?" ("base", xpos="far_left", ypos="head") ton "Because... that title has to be earned!" ("horny", "base", "angry", "mid") gen "Seriously?" ("base", xpos="far_left", ypos="head") - ton "Yes. Show me that you're worth to be my master, and I'll gladly become your bitch!" ("open", "base", "angry", "mid") + ton "Yes... Show me that you're worth if you want to be my master, and I'll gladly become your bitch!" ("open", "base", "angry", "mid") gen "!!!" ("angry", xpos="far_left", ypos="head") ton "Until then you can forget about it..." ("base", "base", "base", "mid") gen "...................." ("base", xpos="far_left", ypos="head") - "-Master-" if ton_friendship >= 60: + "-Master-" if states.ton.level >= 60: label .master: - $ ton_genie_name = _("Master") - ton "Yes, [ton_genie_name]." ("open", "base", "base", "mid") + $ name_genie_tonks = "Master" + ton "Yes, [name_genie_tonks]." ("open", "base", "base", "mid") gen "(...)" ("base", xpos="far_left", ypos="head") ton "" ("base", "base", "raised", "mid") call ctc gen "(...?)" ("base", xpos="far_left", ypos="head") gen "You have permission to speak?" ("base", xpos="far_left", ypos="head") - ton "Thank you, [ton_genie_name]." ("base", "base", "base", "down") + ton "Thank you, [name_genie_tonks]." ("base", "base", "base", "down") gen "(I could get used to that.)" ("grin", xpos="far_left", ypos="head") - "-Custom Input--" (style="disabled") if ton_friendship < 60: + "-Custom Input--" (style="disabled") if states.ton.level < 60: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") - "-Custom Input-" if ton_friendship >= 60: - $ temp_name = renpy.input(_("(Please enter the name.)"), ton_genie_name, ALLOWED_CHARACTERS, length=14) + "-Custom Input-" if states.ton.level >= 60: + $ temp_name = renpy.input("(Please enter the name.)", name_genie_tonks, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("sir", "dumbledore", "professor", "old man", "genie", "lord voldemort", "daddy", "master"): - if temp_name.lower() == "master" and ton_friendship < 60: + if temp_name.lower() == "master" and states.ton.level < 60: jump tonks_talk.master_fail $ renpy.jump("tonks_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label else: - $ ton_genie_name = temp_name - ton "*Hmm*... [ton_genie_name]... I like it." ("horny", "base", "raised", "mid") + $ name_genie_tonks = temp_name + ton "*Hmm*... [name_genie_tonks]... I like it." ("horny", "base", "raised", "mid") jump tonks_talk "-Never mind-": @@ -209,32 +209,32 @@ label tonks_talk: jump tonks_talk - "-From now on I will address you as-": + "-From now on, I will address you as-": menu: "-Tonks-": label .tonks: # Local label unavailable from global scope. - $ tonks_name = _("Tonks") - ton "Sure, [ton_genie_name]." ("base", "base", "base", "mid") + $ name_tonks_genie = "Tonks" + ton "Sure, [name_genie_tonks]." ("base", "base", "base", "mid") "-Nymphadora-": - $ tonks_name = _("Nymphadora") + $ name_tonks_genie = "Nymphadora" label .nymphadora: ton "*Ugh*--" ("mad", "base", "angry", "R") - ton "Really, [ton_genie_name]?" ("open", "base", "angry", "mid") + ton "Really, [name_genie_tonks]?" ("open", "base", "angry", "mid") ton "I hate that name..." ("open", "base", "worried", "R") - gen "Well you better get used to hearing it then, [tonks_name]..." ("base", xpos="far_left", ypos="head") + gen "Well you better get used to hearing it then, [name_tonks_genie]..." ("base", xpos="far_left", ypos="head") ton "................" ("upset", "base", "angry", "R") "-Nympho-": label .nympho: - $ tonks_name = _("Nympho") - ton "You think I'm a nympho, [ton_genie_name]?" ("horny", "base", "raised", "mid") - ton "Like a filthy, sex craved maniac? Who wouldn't shy away from fulfilling every single one of her fantasies?" ("grin", "base", "shocked", "mid") - ton "It fits quite well, actually." ("base", "base", "base", "R") + $ name_tonks_genie = "Nympho" + ton "You think I'm a nympho, [name_genie_tonks]?" ("horny", "base", "raised", "mid") + ton "A filthy, sex-craving maniac? Someone who wouldn't shy away from fulfilling every single one of her fantasies?" ("grin", "base", "shocked", "mid") + ton "Yes... That does sound like me, doesn't it?" ("base", "base", "base", "R") "-Bitch-": label .bitch: - $ tonks_name = _("Bitch") + $ name_tonks_genie = "Bitch" ton "*Hi-hi*" ("base", "base", "base", "R") ton "If only you knew..." ("horny", "base", "raised", "R") gen "(...)" ("base", xpos="far_left", ypos="head") @@ -244,19 +244,19 @@ label tonks_talk: #label .fuck_puppet_fail: #ton "A what?" ("soft", "wide", "shocked", "mid") #gen "A fuck puppet." ("base", xpos="far_left", ypos="head") - #ton "So that's all that I'm good for is it?" ("open", "narrow", "angry", "mid") + #ton "So that's all that I'm good for, is it?" ("open", "narrow", "angry", "mid") #ton "Just another puppet for you to fuck?" ("open", "closed", "angry", "mid") #gen "That's right... And such a fine puppet as well." ("base", xpos="far_left", ypos="head") #ton "*Hmph*... Sorry, but this puppet comes with a brain included." ("annoyed", "narrow", "angry", "R") "-Fuck Puppet-": label .fuck_puppet: - $ tonks_name = _("Fuck Puppet") + $ name_tonks_genie = "Fuck Puppet" ton "A fuck puppet?" ("open", "base", "raised", "mid") ton "So you want me to be your personal toy?" ("horny", "base", "base", "mid") gen "Wouldn't anyone." ("base", xpos="far_left", ypos="head") ton "Such a charmer..." ("base", "base", "raised", "R") - ton "Of course, [ton_genie_name]... you can call me that if you like." ("horny", "base", "base", "mid") + ton "Of course, [name_genie_tonks]... you can call me that if you like." ("horny", "base", "base", "mid") #"-Slut-": #label .slut_fail: @@ -266,10 +266,10 @@ label tonks_talk: #gen "I wasn't going to." ("base", xpos="far_left", ypos="head") "-Slut-": - $ tonks_name = _("Slut") + $ name_tonks_genie = "Slut" ton "Maybe I am..." ("base", "narrow", "base", "R") ton "Although I'd rather get called \"fashionable\"." ("base", "narrow", "base", "mid") - gen "Weird thing to say in bed but I ain't judging." ("base", xpos="far_left", ypos="head") + gen "Weird thing to say in bed, but I ain't judging." ("base", xpos="far_left", ypos="head") ton "Oh, you mean like that..." ("grin", "narrow", "raised", "mid") ton "In that case, I'm the \"sluttiest slut\" of them all." ("base", "narrow", "base", "mid") @@ -278,7 +278,7 @@ label tonks_talk: #ton "A what?!" ("clench", "wide", "shocked", "mid") #gen "Whore." ("base", xpos="far_left", ypos="head") #ton "You can't call me that!" ("open", "wide", "angry", "mid") - #gen "Why not!? That's what you're here for isn't it?" ("base", xpos="far_left", ypos="head") + #gen "Why not!? That's what you're here for, isn't it?" ("base", xpos="far_left", ypos="head") #ton "Yes, but a title like that has to be earned!" ("open", "closed", "angry", "mid") #gen "You-- Hold on, what did you say?" ("base", xpos="far_left", ypos="head") #ton "I've not slept around enough to have the privilege of you calling me that." ("annoyed", "base", "angry", "R") @@ -286,43 +286,45 @@ label tonks_talk: "-Whore-": #Todo put under public checks label .whore: - $ tonks_name = _("Whore") - ton "Hmm... I'm a \"whore\" now, am I?" ("horny", "base", "raised", "mid", hair="horny") + $ name_tonks_genie = "Whore" + ton @ hair horny "Hmm... I'm a \"whore\" now, am I?" ("horny", "base", "raised", "mid") gen "That's what I pay you for." - ton "You pay me to--" ("soft", "narrow", "base", "mid", hair="horny") - ton "Well, I suppose I do spend a lot of my time on the clock... Enticing my pupils..." ("horny", "narrow", "base", "R", hair="horny") + ton @ hair horny "You pay me to--" ("soft", "narrow", "base", "mid") + ton @ hair horny "Well, I suppose I do spend a lot of my time on the clock... Enticing my pupils..." ("horny", "narrow", "base", "R") ton "But I can assure you it's to encourage them to do better during class." ("base", "narrow", "base", "R") - gen "Sure... Doesn't make you less of a whore though." - ton "*Mmm*... Alright, fine, If calling me a whore is the punishment for being a good teacher then you can call me a whore any day..." ("horny", "narrow", "base", "mid") + gen "Sure... Doesn't make you less of a whore, though." + ton "*Mmm*... Alright, fine, If calling me a whore is the punishment for being a good teacher, then you can call me a whore any day..." ("horny", "narrow", "base", "mid") - "-Cunt-" (style="disabled") if ton_friendship < 60: + "-Cunt-" (style="disabled") if states.ton.level < 60: label .cunt_fail: - ton "[ton_genie_name], I'm used to getting insulted by my many previous lovers..." ("base", "base", "raised", "mid") + ton "[name_genie_tonks], I'm used to getting insulted by my many previous lovers..." ("base", "base", "raised", "mid") ton "Truth be told I bloody love it!" ("open_wide_tongue", "base", "base", "ahegao") ton "But we aren't close enough for that yet, don't you think?" ("open", "base", "worried", "mid") ton "Maybe we should wait with that until we know each other a bit better." ("base", "base", "worried", "R") gen "Of course.{w} And I will respect that." ("base", xpos="far_left", ypos="head") - ton "I'm glad.{w} You are a very polite man, [ton_genie_name]..." ("base", "base", "base", "mid") + ton "I'm glad.{w} You are a very polite man, [name_genie_tonks]..." ("base", "base", "base", "mid") gen "..........................." ("base", xpos="far_left", ypos="head") - "-Cunt-" if ton_friendship >= 60: + "-Cunt-" if states.ton.level >= 60: label .cunt: - $ tonks_name = _("Cunt") - ton "*Uuuh*, [ton_genie_name]..." ("base", "base", "raised", "mid") + $ name_tonks_genie = "Cunt" + ton "*Uuuh*, [name_genie_tonks]..." ("base", "base", "raised", "mid") ton "You better not call me that in front of a student..." ("open", "base", "base", "mid") gen "What if I do?" ("grin", xpos="far_left", ypos="head") - ton "Do it, I dare you!" ("horny", "base", "base", "mid", hair="horny") + ton @ hair horny "Do it, I dare you!" ("horny", "base", "base", "mid") - "-Slave-"(style="disabled") if ton_friendship < 60: + "-Slave-"(style="disabled") if states.ton.level < 60: label .slave_fail: ton "To who?" ("soft", "base", "raised", "mid") - gen "To me." ("grin", xpos="far_left", ypos="head") - ton "*giggles*" ("grin", "closed", "base", "mid") - ton "No, I don't think so [ton_genie_name]." ("base", "base", "base", "mid") + gen "To whom." ("grin", xpos="far_left", ypos="head") + ton "Who?" ("soft", "base", "raised", "mid") + gen "To me." ("base", xpos="far_left", ypos="head") + ton "*Giggles*" ("grin", "closed", "base", "mid") + ton "No, I don't think so, [name_genie_tonks]." ("base", "base", "base", "mid") - "-Slave-" if ton_friendship >= 60: + "-Slave-" if states.ton.level >= 60: label .slave: - $ tonks_name = _("Slave") + $ name_tonks_genie = "Slave" ton "Does this mean I have to be obedient?" ("soft", "narrow", "raised", "mid") gen "Isn't that the point of an employee?" ("base", xpos="far_left", ypos="head") ton "I suppose, although you pay me for that." ("open", "narrow", "base", "R") @@ -338,26 +340,26 @@ label tonks_talk: ton "For a genie, I thought you'd be a bit more educated on this topic." ("open", "closed", "base", "mid") gen "Filling my existence with mindless sex helps me forget my troubled past." ("base", xpos="far_left", ypos="head") ton "That's... concerning." ("open", "base", "base", "mid") - ton "At least it's better that you're doing it to forget rather some power fantasy to stick the middle finger to humanity and your creator." ("base", "base", "base", "mid") + ton "At least it's better that you're doing it to forget, rather than it being some power fantasy to stick the middle finger to humanity and your creator." ("base", "base", "base", "mid") gen "Yep." ("base", xpos="far_left", ypos="head") gen "Now give me ten push-ups, slave!" ("base", xpos="far_left", ypos="head") - "-Custom Input--" (style="disabled") if ton_friendship < 60: + "-Custom Input--" (style="disabled") if states.ton.level < 60: gen "(I don't think she's yet ready for that)" ("base", xpos="far_left", ypos="head") - "-Custom Input-" if ton_friendship >= 60: - $ temp_name = renpy.input(_("(Please enter the name.)"), tonks_name, ALLOWED_CHARACTERS, length=14) + "-Custom Input-" if states.ton.level >= 60: + $ temp_name = renpy.input("(Please enter the name.)", name_tonks_genie, ALLOWED_CHARACTERS, length=14) $ temp_name = temp_name.strip() if temp_name.lower() in ("tonks", "nymphadora", "nympho", "fuck puppet", "bitch", "cunt"): - if temp_name.lower() == "cunt" and ton_friendship < 60: + if temp_name.lower() == "cunt" and states.ton.level < 60: jump tonks_talk.cunt_fail $ renpy.jump("tonks_talk."+temp_name.lower().replace(" ", "_")) # Jump to local label else: - $ tonks_name = temp_name + $ name_tonks_genie = temp_name ton "*Hmm*..." ("base", "base", "base", "R") ton "Alright." ("base", "base", "base", "mid") gen "Really? You don't mind?" ("base", xpos="far_left", ypos="head") - ton "Not at all, [ton_genie_name]." ("horny", "base", "raised", "mid") + ton "Not at all, [name_genie_tonks]." ("horny", "base", "raised", "mid") ton "I've been called quite many things by my lovers!" ("base", "base", "base", "R") gen "I'm your lover now?" ("grin", xpos="far_left", ypos="head") ton "Never say never." ("base", "base", "base", "mid") diff --git a/game/scripts/characters/tonks/vars.rpy b/game/scripts/characters/tonks/vars.rpy index 97802f84..cfe6ad35 100644 --- a/game/scripts/characters/tonks/vars.rpy +++ b/game/scripts/characters/tonks/vars.rpy @@ -1,27 +1,43 @@ -# Stats -default ton_tier = 1 -default ton_friendship = 0 #Max is 100. -default ton_reputation = 0 -default ton_clothing_level = 100 -default ton_mood = 0 -# Flags -default tonks_busy = False -default tonks_unlocked = False -default tonks_favors_unlocked = False -default tonks_requests_unlocked = False -default tonks_shaming_unlocked = False -default tonks_wardrobe_unlocked = True # Note: Tonks wardrobe is unlocked by default. -default tonks_chatted = False -default tonks_strip_happened = False # Tonks random clothing event -default tonks_morph_known = False # Genie knows about Tonks being a Metamorphmagus -default tonks_outfits_schedule = True +# General states + +default states.ton.tier = 1 +default states.ton.level = 0 +default states.ton.public_tier = 0 +default states.ton.public_level = 0 +default states.ton.mood = 0 +default states.ton.unlocked = False +default states.ton.busy = False +default states.ton.gifted = False +default states.ton.favors_unlocked = False +default states.ton.requests_unlocked = False +default states.ton.wardrobe_unlocked = True # Unlocked by default +default states.ton.wardrobe_scheduling = True +default states.ton.chatted = False +default states.ton.map_location = "room_defense" + +# Event flags + +default states.ton.ev.intro.e1_complete = False # 1st visit +default states.ton.ev.intro.e2_complete = False # 2nd visit +default states.ton.ev.intro.e3_complete = False # 3rd visit, summon unlocked. +default states.ton.ev.hangouts.hermione_e1 = False +default states.ton.ev.hangouts.susan_e1 = False +default states.ton.ev.hangouts.astoria_e1 = False +default states.ton.ev.hangouts.favors_e1 = False +default states.ton.ev.hangouts.favors_e2 = False +default states.ton.ev.random_strip.complete = False +default states.ton.ev.oral_practice.completed_once = False +default states.ton.ev.hands_on_lessons.completed_once = False +default states.ton.ev.hangouts.wine_intro = False + default ton_level_up = None -default gave_tonks_gift = False -default tonks_mail_list = [] -default tonks_haircolor = [[255, 146, 185, 255], [254, 218, 238, 255]] + +init offset = 5 +default tonks_haircolor = [c for c in ton_hair_base.color] +init offset = 0 # Names -default tonks_name = _("Tonks") -default ton_genie_name = _("Professor") -default ton_astoria_name = _("Cutie") +default name_tonks_genie = "Tonks" +default name_genie_tonks = "Professor" +default name_astoria_tonks = "Cutie" diff --git a/game/scripts/characters/tonks/wardrobe.rpy b/game/scripts/characters/tonks/wardrobe.rpy index 199d826f..89ca03a2 100644 --- a/game/scripts/characters/tonks/wardrobe.rpy +++ b/game/scripts/characters/tonks/wardrobe.rpy @@ -2,334 +2,325 @@ ## Character ## ############### -default tonks = Doll(name="tonks", - clothes={"headgear": [None, 15, True], - "hair": [None, 4, True], - "glasses": [None, 12, True], - "earrings": [None, 14, True], - "neckwear": [None, 11, True], - "robe": [None, 28, True], - "gloves": [None, 21, True], - "top": [None, 15, True], - "bra": [None, 9, True], - "bottom": [None, 8, True], - "garterbelt": [None, 7, True], - "panties": [None, 6, True], - "stockings": [None, 5, True], - "buttplug": [None, -1, True], - "pubes": [None, 3, True], - "tattoo0": [None, 1, True], - "tattoo1": [None, 1, True], - "tattoo2": [None, 1, True], - "tattoo3": [None, 1, True], - "tattoo4": [None, 1, True], - "piercing0": [None, 2, True], - "piercing1": [None, 2, True], - "piercing2": [None, 2, True], - "piercing3": [None, 2, True], - "piercing4": [None, 2, True], - "accessory0": [None, 12, True], - "accessory1": [None, 12, True], - "accessory2": [None, 12, True], - "accessory3": [None, 12, True], - "accessory4": [None, 12, True], - "makeup0": [None, 3, True], - "makeup1": [None, 3, True], - "makeup2": [None, 3, True], - "makeup3": [None, 3, True], - "makeup4": [None, 3, True]}, - face={"tears": [None, 12, True], - "cheeks": [None, 7, True], - "eyebrows": ["base", 11, True], - "eyes": ["base", 8, True], - "pupils": ["mid", 9, True], - "mouth": ["base", 13, True]}, - body={"armleft": ["on_hips", 3], - "armright":["on_hips", 1], - "base": ["front", 0], - "breasts": ["normal", 2]}) +default tonks = Doll(name="tonks") + +default ton_frame_default = DollBodypart("tonks", ("hidden", "frame"), "frame", "default") +default ton_body_default = DollOutfit([ton_frame_default], hidden=True) + +########## +## Hair ## +########## + +default ton_hair_short = DollCloth("tonks", ("head", "hair"), "hair", "base", ["#ff92b9ff", "#fedaeeff"], unlocked=True) +default ton_hair_base = DollCloth("tonks", ("head", "hair"), "hair", "new", ["#ff92b9ff", "#fedaeeff"], unlocked=True) ################## ## Auror Outfit ## ################## -default ton_hair_base = DollCloth("tonks", ("head", "hair"), "hair", "base", [[255, 146, 185, 255], [254, 218, 238, 255]], unlocked=True) -default ton_hair_base_new = DollCloth("tonks", ("head", "hair"), "hair", "new", [[255, 146, 185, 255], [254, 218, 238, 255]], unlocked=True) -default ton_neckwear_beads = DollCloth("tonks", ("head", "neckwear"), "neckwear", "choker_beads",[[45, 45, 48, 255], [244, 230, 236, 255]], unlocked=True) -default ton_gloves_auror = DollCloth("tonks", ("upper body", "gloves"), "gloves", "auror_gloves",[[45, 45, 48, 255]], armfix=True, unlocked=True) -default ton_top_auror = DollCloth("tonks", ("upper body", "shirts"), "top", "auror",[[28, 27, 31, 255], [124, 42, 50, 255]], armfix=True, unlocked=True) -default ton_top_auror2 = DollCloth("tonks", ("upper body", "shirts"), "top", "auror2",[[124, 42, 50, 255]], armfix=True, unlocked=True) -default ton_robe_auror = DollCloth("tonks", ("upper body", "robes"), "robe", "auror_coat",[[40, 40, 41, 255], [244, 230, 236, 255]], armfix=True, unlocked=True) -default ton_bottoms_leggings = DollCloth("tonks", ("lower body", "leggings"), "bottom", "leggings",[[45, 45, 48, 255]], armfix=True, unlocked=True) -default ton_bottoms_leggings_hole = DollCloth("tonks", ("lower body", "leggings"), "bottom", "leggings_hole",[[45, 45, 48, 255]], level=60, armfix=True, unlocked=True) -default ton_stockings_auror = DollCloth("tonks", ("legwear", "stockings"), "stockings", "auror",[[45, 45, 48, 255], [177, 168, 172, 255]], armfix=True, unlocked=True) +default ton_neckwear_beads = DollCloth("tonks", ("head", "neckwear"), "neckwear", "choker_beads",["#2d2d30ff", "#f4e6ecff"], unlocked=True) +default ton_gloves_auror = DollCloth("tonks", ("upper body", "gloves"), "gloves", "auror_gloves",["#2d2d30ff"], unlocked=True) -default ton_outfit_default = DollOutfit([ton_hair_base_new, ton_neckwear_beads, ton_gloves_auror, ton_top_auror, ton_robe_auror, ton_bottoms_leggings, ton_stockings_auror], unlocked=True) -default ton_outfit_last = DollOutfit([ton_hair_base_new], hidden=True) +default ton_top_auror = DollCloth("tonks", ("upper body", "shirts"), "top", "auror",["#1c1b1fff", "#7c2a32ff"], unlocked=True) +default ton_top_auror2 = DollCloth("tonks", ("upper body", "shirts"), "top", "auror2",["#7c2a32ff"], unlocked=True) -################### -## School Outfit ## -################### +default ton_bottoms_leggings = DollCloth("tonks", ("lower body", "leggings"), "bottom", "leggings",["#2d2d30ff"], unlocked=True) +default ton_bottoms_leggings_hole = DollCloth("tonks", ("lower body", "leggings"), "bottom", "leggings_hole",["#2d2d30ff"], level=60, unlocked=True) -#default ton_bottom_school1 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_1", [[103, 90, 108, 255], [232, 177, 13, 255]], unlocked=True) # Not implemented -default ton_top_tied = DollCloth("tonks", ("upper body", "other"), "top", "tied_top",[[183, 183, 184, 255]], blacklist=["bra"]) -default ton_bottom_school2 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_2", [[103, 90, 108, 255], [232, 177, 13, 255]], armfix=True, level=20) -default ton_bottom_school3 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_3", [[103, 90, 108, 255], [232, 177, 13, 255]], armfix=True, level=40) -default ton_bottom_school4 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_4", [[103, 90, 108, 255], [232, 177, 13, 255]], armfix=True, level=60) +default ton_stockings_auror = DollCloth("tonks", ("legwear", "stockings"), "stockings", "auror",["#2d2d30ff", "#b1a8acff"], unlocked=True) -default ton_outfit_school = DollOutfit([ton_hair_base_new, ton_top_tied, ton_bottom_school2], price=350, name="Oldschool School Uniform", desc="A very tight school outfit back from 1995!") +default ton_robe_auror = DollCloth("tonks", ("upper body", "robes"), "robe", "auror_coat",["#282829ff", "#f4e6ecff"], unlocked=True) -############################# -## Stockings & Garterbelts ## -############################# +default ton_outfit_default = DollOutfit([ton_hair_base, ton_neckwear_beads, ton_gloves_auror, ton_top_auror, ton_robe_auror, ton_bottoms_leggings, ton_stockings_auror], unlocked=True) +default ton_outfit_last = DollOutfit([ton_hair_base], hidden=True) -default ton_stockings_long = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_basic_1",[[255, 255, 255, 255]], unlocked=True) -default ton_stockings_long2 = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_basic_2",[[0, 0, 0, 255], [16, 16, 16, 255]]) # Skimpy Outfit -default ton_stockings_long_meshed = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_meshed",[[0, 0, 0, 255], [0, 0, 0, 255]]) # Referee Outfit - SOON -default ton_stockings_long_sports = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_sports",[[255, 255, 255, 255], [23, 23, 23, 255]], unlocked=True) -default ton_stockings_long_striped = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_striped",[[255, 233, 246, 255], [180, 18, 36, 255]]) # Elf Outfit -default ton_garterbelt_long_basic = DollCloth("tonks", ("legwear", "garterbelts"), "garterbelt", "long_basic_1", [[255, 255, 255, 255]], armfix=True) +####################### +## Schoolgirl Outfit ## +####################### -################## -## Flag Bikinis ## -################## +#default ton_bottom_school1 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_1", ["#675a6cff", "#e8b10dff"], unlocked=True) # Not implemented +default ton_top_tied = DollCloth("tonks", ("upper body", "other"), "top", "tied_top",["#b7b7b8ff"], blacklist=["bra"]) +default ton_bottom_school2 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_2", ["#675a6cff", "#e8b10dff"], level=20) +default ton_bottom_school3 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_3", ["#675a6cff", "#e8b10dff"], level=40) +default ton_bottom_school4 = DollCloth("tonks", ("lower body", "skirts"), "bottom", "school_skirt_4", ["#675a6cff", "#e8b10dff"], level=60) -default ton_bra_bikini_1 = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1", [[255, 255, 255, 255], [255, 255, 255, 255]]) -default ton_bra_bikini_1_striped = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1_striped", [[255, 255, 255, 255], [139, 0, 0, 255], [255, 255, 255, 255]]) -default ton_bra_bikini_1_UK = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1_UK", [[255, 255, 255, 255], [200, 16, 46, 255], [1, 33, 105, 255], [255, 255, 255, 255]]) -default ton_bra_bikini_1_USA = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1_USA", [[255, 255, 255, 255], [139, 0, 0, 255], [12, 99, 216, 255], [255, 255, 255, 255]]) - -default ton_panties_bikini_1 = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1", [[255, 255, 255, 255], [255, 255, 255, 255]]) -default ton_panties_bikini_1_jock = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1_jock", [[255, 255, 255, 255]]) -default ton_panties_bikini_1_striped = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1_striped", [[255, 255, 255, 255], [139, 0, 0, 255]]) -default ton_panties_bikini_1_UK = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1_UK", [[255, 255, 255, 255], [200, 16, 46, 255], [1, 33, 105, 255]]) - -default ton_outfit_bikini_1 = DollOutfit([ton_hair_base_new, ton_bra_bikini_1, ton_panties_bikini_1], price=250, name="Simple Bikini set", desc="It ain't much, but it at least covers the important bits.") -default ton_outfit_bikini_2 = DollOutfit([ton_hair_base_new, ton_bra_bikini_1_striped, ton_panties_bikini_1_striped], price=250, name="Striped Bikini set", desc="It ain't much, but it at least covers the important bits. Did I mention the stripes?") -default ton_outfit_bikini_3 = DollOutfit([ton_hair_base_new, ton_bra_bikini_1_UK, ton_panties_bikini_1_UK], price=250, name="\"For the queen!\" bikini set", desc="This is the way.") -default ton_outfit_bikini_4 = DollOutfit([ton_hair_base_new, ton_bra_bikini_1_USA, ton_panties_bikini_1_jock], price=250, name="American bikini set", desc="Fuck yeah!") - -##################### -## Skimpy Swimsuit ## -##################### - -default ton_swimsuit_1 = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "swimsuit_1", [[197, 42, 110, 255]], zorder=7, level=40) -default ton_swimsuit_1_striped = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "swimsuit_1_striped", [[255, 245, 231, 255], [168, 0, 0, 255]], zorder=7, level=40) -default ton_swimsuit_1_USA = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "swimsuit_1_USA", [[255, 255, 255, 255], [168, 0, 0, 255], [12, 64, 216, 255], [255, 255, 255, 255]], zorder=7, level=40) - -default ton_outfit_swimsuit_1 = DollOutfit([ton_hair_base_new, ton_swimsuit_1], price=260, name="Skimpy Swimsuit", desc="Disclaimer: Translucent swimsuits should not be worn in merman inhabited waters under any circumstance.") -default ton_outfit_swimsuit_2 = DollOutfit([ton_hair_base_new, ton_swimsuit_1_striped], price=260, name="Striped Skimpy Swimsuit", desc="A Translucent swimsuit with vertical stripes to make you look even thinner! Or maybe it's the other way around...") -default ton_outfit_swimsuit_3 = DollOutfit([ton_hair_base_new, ton_swimsuit_1_USA], price=260, name="Freedom Swimsuit", desc="May attract eagles.") +default ton_outfit_school = DollOutfit([ton_hair_base, ton_top_tied, ton_bottom_school2], price=350, name="Oldschool School Uniform", desc="A very tight school outfit back from 1995!") ################### ## Casual Outfit ## ################### -default ton_top_crop_casual = DollCloth("tonks", ("upper body", "shirts"), "top", "crop_top",[[200, 8, 45, 255]]) -default ton_bottoms_leggings_casual = DollCloth("tonks", ("lower body", "leggings"), "bottom", "latex_leggings",[[32, 32, 32, 255], [25, 24, 24, 255]], armfix=True) +default ton_top_crop_casual = DollCloth("tonks", ("upper body", "shirts"), "top", "crop_top",["#c8082dff"]) +default ton_bottoms_leggings_casual = DollCloth("tonks", ("lower body", "leggings"), "bottom", "latex_leggings",["#202020ff", "#191818ff"]) -default ton_outfit_casual = DollOutfit([ton_hair_base_new, ton_top_crop_casual, ton_bottoms_leggings_casual], price=350, name="Sexy Casual Outfit", desc="Leggings make squeaky sounds when rubbed together.") +default ton_outfit_casual = DollOutfit([ton_hair_base, ton_top_crop_casual, ton_bottoms_leggings_casual], price=350, name="Sexy Casual Outfit", desc="Leggings make squeaky sounds when rubbed together.") -############# -## Nightie ## -############# +#################### +## Nightie Outfit ## +#################### -default ton_top_nightie_1 = DollCloth("tonks", ("upper body", "shirts"), "top", "nightie_1", [[153, 38, 96, 255]], armfix=True) +default ton_top_nightie_1 = DollCloth("tonks", ("upper body", "shirts"), "top", "nightie_1", ["#992660ff"]) -default ton_outfit_nightie = DollOutfit([ton_hair_base_new, ton_top_nightie_1], price=350, name="Nightie", desc="Doesn't leave much for the imagination.") +default ton_outfit_nightie = DollOutfit([ton_hair_base, ton_top_nightie_1], price=350, name="Nightie", desc="Doesn't leave much for the imagination.") ################## -## Bunny outfit ## +## Bunny Outfit ## ################## -default ton_top_bunny1 = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "bunnysuit", [[48, 48, 48, 255]], blacklist=["panties", "bra"], zorder=7, level=40) -default ton_stockings_bunny1 = DollCloth("tonks", ("legwear", "pantyhose"), "stockings", "bunny_stockings_1", [[81, 81, 81, 255]], armfix=True, level=40) -default ton_hat_bunny1 = DollCloth("tonks", ("head", "headgear"), "headgear", "bunny", [[48, 48, 48, 255], [232, 232, 232, 255]], level=20) -default ton_neckwear_bunny1 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "bunny_bowtie_1", [[232, 232, 232, 255], [48, 48, 48, 255]], level=10) +default ton_top_bunny1 = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "bunnysuit", ["#303030ff"], blacklist=["panties", "bra"], zorder=183, level=40) +default ton_stockings_bunny1 = DollCloth("tonks", ("legwear", "pantyhose"), "stockings", "bunny_stockings_1", ["#515151ff"], level=40) +default ton_hat_bunny1 = DollClothDynamic("tonks", ("head", "headgear"), "headgear", "bunny", ["#303030ff", "#e8e8e8ff"], level=20, tracking="?hair") +default ton_neckwear_bunny1 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "bunny_bowtie_1", ["#e8e8e8ff", "#303030ff"], level=10) -default ton_outfit_bunny = DollOutfit([ton_hair_base_new, ton_top_bunny1, ton_stockings_bunny1, ton_hat_bunny1, ton_neckwear_bunny1], price=350, name="Sexy bunny outfit", desc="Vewy sexy :3") +default ton_outfit_bunny = DollOutfit([ton_hair_base, ton_top_bunny1, ton_stockings_bunny1, ton_hat_bunny1, ton_neckwear_bunny1], price=350, name="Sexy Bunny Outfit", desc="Vewy sexy :3") -################### -## Dressing Gown ## -################### +########################## +## Dressing Gown Outfit ## +########################## -default ton_dressing_gown = DollCloth("tonks", ("upper body", "robes"), "robe", "dressing_gown", [[13, 0, 76, 255], [31, 41, 171, 255]], armfix=True) +default ton_robe_dressing_gown = DollCloth("tonks", ("upper body", "robes"), "robe", "dressing_gown", ["#0d004cff", "#1f29abff"]) -default ton_outfit_dressing_gown = DollOutfit([ton_hair_base_new, ton_dressing_gown]) +default ton_outfit_dressing_gown = DollOutfit([ton_hair_base, ton_robe_dressing_gown]) -################# -## Silky Dress ## -################# +######################## +## Silky Dress Outfit ## +######################## -default ton_top_silk_dress = DollCloth("tonks", ("upper body", "dresses"), "top", "silk_dress", [[240, 237, 250, 255], [234, 234, 234, 255]], blacklist=["bra", "bottom"], armfix=True) -default ton_robe_silk = DollCloth("tonks", ("upper body", "robes"), "robe", "silk_robe", [[240, 237, 250, 255]], armfix=True) +default ton_top_silk_dress = DollCloth("tonks", ("upper body", "dresses"), "top", "silk_dress", ["#f0edfaBF", "#eaeaeaff"], blacklist=["bra", "bottom"]) +default ton_robe_silk = DollCloth("tonks", ("upper body", "robes"), "robe", "silk_robe", ["#f0edfaff"]) -default ton_outfit_silky = DollOutfit([ton_hair_base_new, ton_top_silk_dress, ton_robe_silk], price=350, name="Silky Dress", desc="{size=-4}Disclaimer: Madam Mafkin isn't responsible for damaged nipples.{/size}") +default ton_outfit_silky = DollOutfit([ton_hair_base, ton_top_silk_dress, ton_robe_silk], price=350, name="Silky Dress", desc="{size=-4}Disclaimer: Madam Mafkin isn't responsible for damaged nipples.{/size}") -############################## -## Skimpy Dress & Club Dress## -############################## +################################# +## Very Revealing Dress Outfit ## +################################# -default ton_top_skimpy_dress = DollCloth("tonks", ("upper body", "dresses"), "top", "skimpy_dress", [[147, 1, 1, 255]], blacklist=["bottom"], armfix=True, level=40) -default ton_top_skimpy_dress2 = DollCloth("tonks", ("upper body", "dresses"), "top", "skimpy_dress_2", [[108, 0, 105, 255]], blacklist=["bottom"], armfix=True, level=20) +default ton_top_skimpy_dress = DollCloth("tonks", ("upper body", "dresses"), "top", "skimpy_dress", ["#930101ff"], blacklist=["bottom"], level=40) +default ton_stockings_long2 = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_basic_2",["#000000ff", "#101010ff"]) -default ton_outfit_skimpy_dress = DollOutfit([ton_hair_base_new, ton_top_skimpy_dress, ton_stockings_long2], price=300, name="Very Revealing Dress", desc="This dress shows quite a bit of cleavage... All of it in fact.") -default ton_outfit_club_dress = DollOutfit([ton_hair_base_new, ton_top_skimpy_dress2, ton_stockings_long_meshed], price=300, name="Club Dress", desc="A sultry muggle dress like this will turn heads at any wizard pub.") +default ton_outfit_skimpy_dress = DollOutfit([ton_hair_base, ton_top_skimpy_dress, ton_stockings_long2], price=300, name="Very Revealing Dress", desc="This dress shows quite a bit of cleavage... All of it in fact.") + +####################### +## Club Dress Outfit ## +####################### + +default ton_top_skimpy_dress2 = DollCloth("tonks", ("upper body", "dresses"), "top", "skimpy_dress_2", ["#6c0069ff"], blacklist=["bottom"], level=20) +default ton_stockings_long_meshed = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_meshed",["#000000ff", "#000000ff"]) # Referee Outfit - SOON + +default ton_outfit_club_dress = DollOutfit([ton_hair_base, ton_top_skimpy_dress2, ton_stockings_long_meshed], price=300, name="Club Dress", desc="A sultry muggle dress like this will turn heads at any wizard pub.") ##################### ## Succubus Outfit ## ##################### -default ton_hat_succubus = DollCloth("tonks", ("head", "headgear"), "headgear", "horns", [[62, 51, 57, 255], [106, 63, 67, 255]]) -default ton_neckwear_succubus = DollCloth("tonks", ("head", "neckwear"), "neckwear", "succubus_colar", [[62, 51, 57, 255]]) +default ton_hat_succubus = DollClothDynamic("tonks", ("head", "headgear"), "headgear", "horns", ["#3e3339ff", "#6a3f43ff"], tracking="?hair") +default ton_neckwear_succubus = DollCloth("tonks", ("head", "neckwear"), "neckwear", "succubus_colar", ["#3e3339ff"]) -default ton_gloves_succubus = DollCloth("tonks", ("upper body", "gloves"), "gloves", "succubus_gloves", [[62, 51, 57, 255]]) -default ton_top_succubus = DollCloth("tonks", ("upper body", "other"), "top", "succubus_corset",[[62, 51, 57, 255], [181, 86, 84, 255], [136, 134, 134, 255]], blacklist=["bra"]) -default ton_top_succubus2 = DollCloth("tonks", ("upper body", "other"), "top", "succubus_corset_2",[[62, 51, 57, 255], [181, 86, 84, 255], [136, 134, 134, 255]]) -default ton_panties_succubus = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "succubus_panties", [[62, 51, 57, 255], [136, 134, 134, 255]], armfix=True) +default ton_gloves_succubus = DollCloth("tonks", ("upper body", "gloves"), "gloves", "succubus_gloves", ["#3e3339ff"]) +default ton_top_succubus = DollCloth("tonks", ("upper body", "other"), "top", "succubus_corset",["#3e3339ff", "#b55654ff", "#888686ff"], blacklist=["bra"]) +default ton_top_succubus2 = DollCloth("tonks", ("upper body", "other"), "top", "succubus_corset_2",["#3e3339ff", "#b55654ff", "#888686ff"]) +default ton_panties_succubus = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "succubus_panties", ["#3e3339ff", "#888686ff"]) -default ton_accessory0_succubus = DollCloth("tonks", ("misc", "accessory"), "accessory0", "succubus_wings", [[62, 51, 57, 255], [181, 86, 84, 255], [136, 134, 134, 255]], zorder=-160, blacklist=["robe"]) -default ton_accessory1_succubus = DollCloth("tonks", ("misc", "accessory"), "accessory1", "succubus_tail", [[62, 51, 57, 255], [181, 86, 84, 255]], zorder=-1) +default ton_accessory1_succubus = DollCloth("tonks", ("misc", "accessory"), "accessory", "succubus_wings", ["#3e3339ff", "#b55654ff", "#888686ff"], zorder=-500) +default ton_accessory2_succubus = DollCloth("tonks", ("misc", "accessory"), "accessory", "succubus_tail", ["#3e3339ff", "#b55654ff"], zorder=-11) -default ton_outfit_succubus = DollOutfit([ton_hair_base_new, ton_hat_succubus, ton_neckwear_succubus, ton_gloves_succubus, ton_top_succubus, ton_panties_succubus, ton_accessory0_succubus, ton_accessory1_succubus], addons=[ton_top_succubus2], name="Succubus Costume", desc="Hot as hell.") +default ton_outfit_succubus = DollOutfit([ton_hair_base, ton_hat_succubus, ton_neckwear_succubus, ton_gloves_succubus, ton_top_succubus, ton_panties_succubus, ton_accessory1_succubus, ton_accessory2_succubus], addons=[ton_top_succubus2], name="Succubus Costume", desc="Hot as hell.") ##################### ## Cavegirl Outfit ## ##################### -default ton_earring_pearls = DollCloth("tonks", ("head", "earrings"), "earrings", "pearls", [[223, 240, 255, 255]]) -default ton_neckwear_pearls = DollCloth("tonks", ("head", "neckwear"), "neckwear", "pearls_1", [[223, 240, 255, 255]], zorder=16) -default ton_top_cavegirl = DollCloth("tonks", ("upper body", "dresses"), "top", "cavegirl_dress", [[223, 240, 255, 255]], armfix=True) +default ton_earring_pearls = DollCloth("tonks", ("head", "earrings"), "earrings", "pearls", ["#dff0ffff"]) +default ton_neckwear_pearls = DollCloth("tonks", ("head", "neckwear"), "neckwear", "pearls_1", ["#dff0ffff"], zorder=213) +default ton_top_cavegirl = DollCloth("tonks", ("upper body", "dresses"), "top", "cavegirl_dress", ["#dff0ffff"]) -default ton_outfit_cavegirl = DollOutfit([ton_hair_base_new, ton_top_cavegirl, ton_earring_pearls, ton_neckwear_pearls], price=200, name="Cavegirl Dress", desc="A stone age inspired dress that brings you back to the age of rocking knockers.") +default ton_outfit_cavegirl = DollOutfit([ton_hair_base, ton_top_cavegirl, ton_earring_pearls, ton_neckwear_pearls], price=200, name="Cavegirl Dress", desc="A stone age inspired dress that brings you back to the age of rocking knockers.") + +##################### +## Pullover Outfit ## +##################### + +default ton_top_pullover = DollCloth("tonks", ("upper body", "shirts"), "top", "pullover",["#fdf0e6fa"]) +default ton_stockings_long_ribbed = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_ribbed",["#fdf0e6ff", "#ff4fbaff"]) + +default ton_outfit_pullover = DollOutfit([ton_hair_base, ton_top_pullover, ton_stockings_long_ribbed], price=200, name="Pullover Outfit", desc="An outfit so defined it will make anyone pull over when they spot it.") + +################### +## Lady D Outfit ## +################### + +default ton_hat_classy = DollClothDynamic("tonks", ("head", "headgear"), "headgear", "classy_hat", ["#52525eff"], tracking="?hair") +default ton_neckwear_pearls2 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "pearls_2", ["#dcc88bff"]) +default ton_earring_pearls2 = DollCloth("tonks", ("head", "earrings"), "earrings", "pearls_2", ["#dcc88bff"]) + +default ton_accessory_flower = DollCloth("tonks", ("misc", "accessory"), "accessory", "flower", ["#5c5c5cff"], zorder=213) +default ton_gloves_leather = DollCloth("tonks", ("upper body", "gloves"), "gloves", "leather_gloves", ["#4f4940ff"]) +default ton_top_classy_dress = DollCloth("tonks", ("upper body", "dresses"), "top", "classy_dress",["#cbc9b8ff"], blacklist=["bra"]) + +default ton_outfit_lady_D = DollOutfit([ton_hair_base, ton_hat_classy, ton_neckwear_pearls2, ton_earring_pearls2, ton_accessory_flower, ton_gloves_leather, ton_top_classy_dress], price=400, name="Lady D Costume", desc="This outfit was once worn by a very tall and scary lady.") + +################## +## Police Woman ## #Unlocked in not_so_great_escape mirror story +################## + +default ton_headgear_police = DollClothDynamic("tonks", ("head", "headgear"), "headgear", "police", ["#7e7ec0ff", "#4865b7ff", "#ebd165ff"], tracking="?hair") +default ton_glasses_police = DollCloth("tonks", ("head", "glasses"), "glasses", "police", ["#b5c7d6ff", "#b14d74ff"]) + +default ton_top_police1 = DollCloth("tonks", ("upper body", "shirts"), "top", "police1", ["#7e7ec0ff", "#4865b7ff", "#ebd165ff"]) +default ton_top_police2 = DollCloth("tonks", ("upper body", "shirts"), "top", "police2", ["#4865b7ff", "#ebd165ff"]) +default ton_top_police3 = DollCloth("tonks", ("upper body", "shirts"), "top", "police3", ["#7e7ec0ff"]) +default ton_bottom_police = DollCloth("tonks", ("lower body", "shorts"), "bottom", "police",["#4865b7ff", "#7e7ec0ff"]) +default ton_accessory_police = DollCloth("tonks", ("misc", "accessory"), "accessory", "police_badge", ["#eed165ff"], zorder=213) + +default ton_outfit_police = DollOutfit([ton_hair_base, ton_headgear_police, ton_accessory_police, ton_glasses_police, ton_top_police1, ton_bottom_police], addons=[ton_top_police2, ton_top_police3]) + +############################ +## Wrestling Coach Outfit ## #Unlocked in a_white_christmas mirror story +############################ + +default ton_neckwear_whistle = DollCloth ("tonks", ("head", "neckwear"), "neckwear", "whistle", ["#6e4025ff", "#86a0a9ff"]) +default ton_top_sweatshirt = DollCloth("tonks", ("upper body", "shirts"), "top", "sweatshirt", ["#f3f0d8ff"]) +default ton_bottom_sweatpants = DollCloth("tonks", ("lower body", "trousers"), "bottom", "sweatpants", ["#a33530ff", "#f3f0d8ff"]) +default ton_accessory_neck_towel = DollCloth("tonks", ("misc", "accessory"), "accessory", "neck_towel", ["#fffcd8ff"], zorder=213) + +default ton_outfit_wrestling_coach = DollOutfit([ton_hair_base, ton_neckwear_whistle, ton_top_sweatshirt, ton_bottom_sweatpants, ton_accessory_neck_towel]) + +##################### +## Mechanic Outfit ## +##################### + +default ton_hair_mechanic = DollCloth("tonks", ("head", "hair"), "hair", "mechanic_hair", ["#ff92b9ff", "#fedaeeff"]) +default ton_top_vest_mechanic = DollCloth("tonks", ("upper body", "other"), "top", "mechanic_vest", ["#ff840bff", "#fff24aff", "#97a9abff"], blacklist=["bra", "piercing"]) +default ton_shorts_mechanic = DollCloth("tonks", ("lower body", "shorts"), "bottom", "mechanic_shorts", ["#6891ceff", "#7a4335ff", "#97a9abff", "#b6cbe9ff"]) +default ton_gloves_mechanic = DollCloth("tonks", ("upper body", "gloves"), "gloves", "mechanic_gloves", ["#303030ff"]) +default ton_headgear_cap_mechanic = DollClothDynamic("tonks", ("head", "headgear"), "headgear", "mechanic_cap", ["#ff840bff", "#fff24aff"], tracking="?hair") +default ton_panties_mechanic = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "mechanic_bikini", ["#ff840bff"]) +default ton_socks_mechanic = DollCloth("tonks", ("legwear", "socks"), "stockings", "mechanic_thigh_socks",["#303030ff"]) + +default ton_outfit_mechanic = DollOutfit([ton_hair_mechanic, ton_top_vest_mechanic, ton_shorts_mechanic, ton_gloves_mechanic, ton_headgear_cap_mechanic, ton_panties_mechanic, ton_socks_mechanic], price=450, name="Mechanic Outfit", desc="If your exhaust pipe needs cleaning, this is the perfect outfit for the occassion!") + +##################### +## Tuxedo (Office) ## +##################### + +default ton_robe_office = DollCloth("tonks", ("upper body", "robes"), "robe", "office",["#353843ff", "#fff24aff"]) +default ton_top_office = DollCloth("tonks", ("upper body", "shirts"), "top", "office", ["#e7e7e7ff", "#d1cebbff"]) +default ton_bottoms_office = DollCloth("tonks", ("lower body", "trousers"), "bottom", "office",["#353843ff"]) +default ton_accessory_office = DollCloth("tonks", ("misc", "accessory"), "accessory", "office_pin", ["#e7e7e7ff", "#fff24aff", "#d8422cff"], zorder=225) + +default ton_outfit_office = DollOutfit([ton_hair_base, ton_robe_office, ton_top_office, ton_bottoms_office, ton_accessory_office], price=450, name="SECS Outfit", desc="A smart suit for a clever girl.") + +######################### +## Flag Bikini Outfits ## +######################### + +default ton_bra_bikini_1 = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1", ["#ffffffff", "#ffffffff"]) +default ton_bra_bikini_1_striped = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1_striped", ["#ffffffff", "#8b0000ff", "#ffffffff"]) +default ton_bra_bikini_1_UK = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1_UK", ["#ffffffff", "#c8102eff", "#012169ff", "#ffffffff"]) +default ton_bra_bikini_1_USA = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini_bra_1_USA", ["#ffffffff", "#8b0000ff", "#0c63d8ff", "#ffffffff"]) + +default ton_panties_bikini_1 = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1", ["#ffffffff", "#ffffffff"]) +default ton_panties_bikini_1_jock = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1_jock", ["#ffffffff"]) +default ton_panties_bikini_1_striped = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1_striped", ["#ffffffff", "#8b0000ff"]) +default ton_panties_bikini_1_UK = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "bikini_panties_1_UK", ["#ffffffff", "#c8102eff", "#012169ff"]) + +default ton_outfit_bikini_1 = DollOutfit([ton_hair_base, ton_bra_bikini_1, ton_panties_bikini_1], price=250, name="Simple Bikini Set", desc="It ain't much, but it at least covers the important bits.") +default ton_outfit_bikini_2 = DollOutfit([ton_hair_base, ton_bra_bikini_1_striped, ton_panties_bikini_1_striped], price=250, name="Striped Bikini Set", desc="It ain't much, but it at least covers the important bits. Did I mention the stripes?") +default ton_outfit_bikini_3 = DollOutfit([ton_hair_base, ton_bra_bikini_1_UK, ton_panties_bikini_1_UK], price=250, name="\"For The Queen!\" Bikini Set", desc="This is the way.") +default ton_outfit_bikini_4 = DollOutfit([ton_hair_base, ton_bra_bikini_1_USA, ton_panties_bikini_1_jock], price=250, name="American Bikini Set", desc="Fuck yeah!") + +############################# +## Skimpy Swimsuit Outfits ## +############################# + +default ton_swimsuit_1 = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "swimsuit_1", ["#c52a6eff"], zorder=183, level=40) +default ton_swimsuit_1_striped = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "swimsuit_1_striped", ["#fff5e7ff", "#a80000ff"], zorder=183, level=40) +default ton_swimsuit_1_USA = DollCloth("tonks", ("upper body", "one-piece suits"), "top", "swimsuit_1_USA", ["#ffffffff", "#a80000ff", "#0c40d8ff", "#ffffffff"], zorder=183, level=40) + +default ton_outfit_swimsuit_1 = DollOutfit([ton_hair_base, ton_swimsuit_1], price=260, name="Skimpy Swimsuit", desc="Disclaimer: Translucent swimsuits should not be worn in merman inhabited waters under any circumstance.") +default ton_outfit_swimsuit_2 = DollOutfit([ton_hair_base, ton_swimsuit_1_striped], price=260, name="Striped Skimpy Swimsuit", desc="A Translucent swimsuit with vertical stripes to make you look even thinner! Or maybe it's the other way around...") +default ton_outfit_swimsuit_3 = DollOutfit([ton_hair_base, ton_swimsuit_1_USA], price=260, name="Freedom Swimsuit", desc="May attract eagles.") + +################## +## Santa Outfit ## #unlocked in genies_christmas_wish mirror story +################## + +default ton_bra_santa = DollCloth("tonks", ("upper undergarment", "bras"), "bra", "santa_bra", ["#a13730ff"]) +default ton_top_santa = DollCloth("tonks", ("upper body", "shirts"), "top", "santa_top", ["#a13730ff", "#ffffffff"]) +default ton_panties_santa = DollCloth("tonks", ("lower undergarment", "panties"), "panties", "santa_panties", ["#a13730ff"]) + +default ton_outfit_santa = DollOutfit([ton_hair_base, ton_panties_santa, ton_top_santa, ton_bra_santa]) ################# ~*~Ä~*~*~*~*~ ################# ## Xmas Stuff ### /%\ ___$__ ### Elf Outfit ## ################# /% \ |=I~I=| ################# # Accessories -default ton_makeup3_elf_ears = DollCloth("tonks", ("head", "makeup"), "makeup3", "elf_ears", [[255, 255, 255, 255]], zorder=5) -default ton_hat_antlers = DollCloth("tonks", ("head", "headgear"), "headgear", "antlers", [[234, 187, 170, 255]]) -default ton_hat_elf = DollCloth("tonks", ("head", "headgear"), "headgear", "elf", [[2, 116, 71, 255], [255, 239, 248, 255]]) -default ton_neckwear_choker1 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "choker_1", [[255, 43, 149, 255]]) -default ton_neckwear_bell1 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "bell_1", [[2, 116, 71, 255], [244, 181, 82, 255]], zorder=16) -default ton_accessory4_bells = DollCloth("tonks", ("misc", "accessory"), "accessory4", "bells_1", [[244, 181, 82, 255]], zorder=16) -default ton_accessory3_belt1 = DollCloth("tonks", ("misc", "accessory"), "accessory3", "belt_1", [[42, 42, 42, 255], [185, 135, 73, 255]], zorder=16) -default ton_earring_bells = DollCloth("tonks", ("head", "earrings"), "earrings", "bells", [[244, 181, 82, 255]]) -default ton_piercing1_nipple_bells = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing1", "nipple_bells", [[244, 181, 82, 255]]) +default ton_makeup_elf_ears = DollCloth("tonks", ("head", "makeup"), "makeup", "elf_ears", None) +default ton_hat_antlers = DollClothDynamic("tonks", ("head", "headgear"), "headgear", "antlers", ["#eabbaaff"], tracking="?hair") +default ton_hat_elf = DollClothDynamic("tonks", ("head", "headgear"), "headgear", "elf", ["#027447ff", "#ffeff8ff"], tracking="?hair") +default ton_neckwear_choker1 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "choker_1", ["#ff2b95ff"]) +default ton_neckwear_bell1 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "bell_1", ["#027447ff", "#f4b552ff"], zorder=213) +default ton_accessory_bells = DollCloth("tonks", ("misc", "accessory"), "accessory", "bells_1", ["#f4b552ff"], zorder=213) +default ton_accessory_belt1 = DollCloth("tonks", ("misc", "accessory"), "accessory", "belt_1", ["#2a2a2aff", "#b98749ff"], zorder=213) +default ton_earring_bells = DollCloth("tonks", ("head", "earrings"), "earrings", "bells", ["#f4b552ff"]) +default ton_piercing_nipple_bells = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "nipple_bells", ["#f4b552ff"]) # Main Clothing -default ton_top_elf = DollCloth("tonks", ("upper body", "dresses"), "top", "elf_dress",[[2, 116, 71, 255]], armfix=True) -default ton_bra_ribbon = DollCloth("tonks", ("upper undergarment", "other"), "bra", "ribbon", [[255, 43, 149, 255]], blacklist=["top", "piercing1"]) -default ton_panties_ribbon = DollCloth("tonks", ("lower undergarment", "other"), "panties", "ribbon", [[255, 43, 149, 255]], blacklist=["bottom"], armfix=True) -default ton_bra_pasties = DollCloth("tonks", ("upper undergarment", "other"), "bra", "pasties_1",[[255, 43, 149, 255]], unlocked=True) -default ton_bra_pasties2 = DollCloth("tonks", ("upper undergarment", "other"), "bra", "pasties_2",[[2, 116, 71, 255], [244, 181, 82, 255]]) -default ton_bottom_xmas = DollCloth("tonks", ("lower body", "other"), "bottom", "xmas",[[2, 116, 71, 255], [255, 239, 248, 255]], armfix=True) -default ton_gloves_xmas = DollCloth("tonks", ("upper body", "gloves"), "gloves", "xmas", [[255, 239, 248, 255]]) -default ton_stockings_xmas = DollCloth("tonks", ("legwear", "stockings"), "stockings", "xmas",[[255, 255, 255, 255], [255, 255, 255, 255]], armfix=True) +default ton_top_elf = DollCloth("tonks", ("upper body", "dresses"), "top", "elf_dress",["#027447ff"]) +default ton_bra_ribbon = DollCloth("tonks", ("upper undergarment", "other"), "bra", "ribbon", ["#ff2b95ff"], blacklist=["top", "piercing"]) +default ton_panties_ribbon = DollCloth("tonks", ("lower undergarment", "other"), "panties", "ribbon", ["#ff2b95ff"], blacklist=["bottom"]) +default ton_bra_pasties = DollCloth("tonks", ("upper undergarment", "other"), "bra", "pasties_1",["#ff2b95ff"], unlocked=True) +default ton_bra_pasties2 = DollCloth("tonks", ("upper undergarment", "other"), "bra", "pasties_2",["#027447ff", "#f4b552ff"]) +default ton_bottom_xmas = DollCloth("tonks", ("lower body", "other"), "bottom", "xmas",["#027447ff", "#ffeff8ff"]) +default ton_gloves_xmas = DollCloth("tonks", ("upper body", "gloves"), "gloves", "xmas", ["#ffeff8ff"]) +default ton_stockings_xmas = DollCloth("tonks", ("legwear", "stockings"), "stockings", "xmas",["#ffffffff", "#ffffff78"]) -default ton_outfit_elf = DollOutfit([ton_hair_base_new, ton_makeup3_elf_ears, ton_earring_bells, ton_hat_elf, ton_neckwear_bell1, ton_top_elf, ton_accessory3_belt1, ton_accessory4_bells, ton_garterbelt_long_basic, ton_stockings_long_striped]) -default ton_outfit_ribbon = DollOutfit([ton_hair_base_new, ton_neckwear_choker1, ton_bra_ribbon, ton_panties_ribbon]) -default ton_outfit_xmas = DollOutfit([ton_hair_base_new, ton_hat_antlers, ton_earring_bells, ton_neckwear_bell1, ton_bra_pasties2, ton_bottom_xmas, ton_gloves_xmas, ton_stockings_xmas], addons=[ton_piercing1_nipple_bells, ton_bra_pasties2]) +default ton_stockings_long_striped = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_striped",["#ffe9f6ff", "#b41224ff"]) +default ton_garterbelt_long_basic = DollCloth("tonks", ("legwear", "garterbelts"), "garterbelt", "long_basic_1", ["#ffffffff"]) -################### -## Lady D Outfit ## -################### +default ton_outfit_elf = DollOutfit([ton_hair_base, ton_makeup_elf_ears, ton_earring_bells, ton_hat_elf, ton_neckwear_bell1, ton_top_elf, ton_accessory_belt1, ton_accessory_bells, ton_garterbelt_long_basic, ton_stockings_long_striped]) +default ton_outfit_ribbon = DollOutfit([ton_hair_base, ton_neckwear_choker1, ton_bra_ribbon, ton_panties_ribbon]) +default ton_outfit_xmas = DollOutfit([ton_hair_base, ton_hat_antlers, ton_earring_bells, ton_neckwear_bell1, ton_bra_pasties2, ton_bottom_xmas, ton_gloves_xmas, ton_stockings_xmas], addons=[ton_piercing_nipple_bells, ton_bra_pasties2]) -default ton_hat_classy = DollCloth("tonks", ("head", "headgear"), "headgear", "classy_hat", [[82, 82, 94, 255]], zorder=3) -default ton_neckwear_pearls2 = DollCloth("tonks", ("head", "neckwear"), "neckwear", "pearls_2", [[220, 200, 139, 255]]) -default ton_earring_pearls2 = DollCloth("tonks", ("head", "earrings"), "earrings", "pearls_2", [[220, 200, 139, 255]]) +############################# +## Stockings & Garterbelts ## +############################# -default ton_accessory2_flower = DollCloth("tonks", ("misc", "accessory"), "accessory2", "flower", [[92, 92, 92, 255]], zorder=16) -default ton_gloves_leather = DollCloth("tonks", ("upper body", "gloves"), "gloves", "leather_gloves", [[79, 73, 64, 255]], armfix=True) -default ton_top_classy_dress = DollCloth("tonks", ("upper body", "dresses"), "top", "classy_dress",[[203, 201, 184, 255]], armfix=True, blacklist=["bra"]) - -default ton_outfit_lady_D = DollOutfit([ton_hair_base_new, ton_hat_classy, ton_neckwear_pearls2, ton_earring_pearls2, ton_accessory2_flower, ton_gloves_leather, ton_top_classy_dress], price=400, name="Lady D Costume", desc="This outfit was once worn by a very tall and scary lady.") - -################## -## Police Woman ## #Unlocked in not_so_great_escape mirror story -################## - -default ton_headgear_police = DollCloth("tonks", ("head", "headgear"), "headgear", "police", [[126, 126, 192, 255], [72, 101, 183, 255], [235, 209, 101, 255]]) -default ton_glasses_police = DollCloth("tonks", ("head", "glasses"), "glasses", "police", [[181, 199, 214, 255], [177, 77, 116, 255]]) - -default ton_top_police1 = DollCloth("tonks", ("upper body", "shirts"), "top", "police1", [[126, 126, 192, 255], [72, 101, 183, 255], [235, 209, 101, 255]], armfix=True) -default ton_top_police2 = DollCloth("tonks", ("upper body", "shirts"), "top", "police2", [[72, 101, 183, 255], [235, 209, 101, 255]], armfix=True) -default ton_top_police3 = DollCloth("tonks", ("upper body", "shirts"), "top", "police3", [[126, 126, 192, 255]], armfix=True) -default ton_bottom_police = DollCloth("tonks", ("lower body", "shorts"), "bottom", "police",[[72, 101, 183, 255], [126, 126, 192, 255]], armfix=True) -default ton_accessory0_police = DollCloth("tonks", ("misc", "accessory"), "accessory3", "police_badge", [[238, 209, 101, 255]], zorder=16) - -default ton_outfit_police = DollOutfit([ton_hair_base_new, ton_headgear_police, ton_accessory0_police, ton_glasses_police, ton_top_police1, ton_bottom_police], addons=[ton_top_police2, ton_top_police3]) - -##################### -## Wrestling Coach ## #Unlocked in a_white_christmas mirror story -##################### -default ton_neckwear_whistle = DollCloth ("tonks", ("head", "neckwear"), "neckwear", "whistle", [[110, 64, 37, 255], [134, 160, 169, 255]]) -default ton_top_sweatshirt = DollCloth("tonks", ("upper body", "shirts"), "top", "sweatshirt", [[243, 240, 216, 255]]) -default ton_bottom_sweatpants = DollCloth("tonks", ("lower body", "trousers"), "bottom", "sweatpants", [[163, 53, 48, 255], [243, 240, 216, 255]], armfix=True) -default ton_accessory0_neck_towel = DollCloth("tonks", ("misc", "accessory"), "accessory0", "neck_towel", [[255, 252, 216, 255]], zorder=16) - -default ton_outfit_wrestling_coach = DollOutfit([ton_hair_base_new, ton_neckwear_whistle, ton_top_sweatshirt, ton_bottom_sweatpants, ton_accessory0_neck_towel]) - - -### Add badge! - -########## -## Misc ## -########## - -default ton_top_corset = DollCloth("tonks", ("upper body", "other"), "top", "corset",[[247, 206, 146, 255]], blacklist=["bra", "piercing1"], armfix=True, unlocked=True) -default ton_bottoms_jeans = DollCloth("tonks", ("lower body", "trousers"), "bottom", "jeans",[[51, 104, 105, 255]], armfix=True, unlocked=True) -default ton_panties_base = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "base",[[228, 250, 255, 255], [228, 55, 20, 255]], armfix=True, unlocked=True) -default ton_bra_base = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini",[[228, 250, 255, 255], [228, 55, 20, 255]], unlocked=True) -default ton_ruffled_top = DollCloth("tonks", ("upper body", "shirts"), "top", "ruffled_top",[[213, 173, 219, 255]], level=25, unlocked=True) - -default ton_earring_cartilege = DollCloth("tonks", ("head", "earrings"), "earrings", "cartilege", [[161, 159, 159, 255]], unlocked=True) -default ton_earring_hoops = DollCloth("tonks", ("head", "earrings"), "earrings", "hoops", [[161, 159, 159, 255]], unlocked=True) -default ton_earring_industrial = DollCloth("tonks", ("head", "earrings"), "earrings", "industrial", [[161, 159, 159, 255]], unlocked=True) - -default ton_piercing0_clit_stud = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing0", "clit_stud", [[161, 159, 159, 255]], unlocked=True) -default ton_piercing1_nipple_stud = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing1", "nipple_stud", [[161, 159, 159, 255]], unlocked=True) -default ton_piercing1_nipple_rings = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing1", "nipple_rings", [[161, 159, 159, 255]], unlocked=True) -default ton_piercing1_nipple_rings2 = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing1", "nipple_rings2", [[161, 159, 159, 255]], unlocked=True) -default ton_piercing1_nipple_rings3 = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing1", "nipple_rings3", [[161, 159, 159, 255]], unlocked=True) - -default ton_piercing2_belly_stud = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing2", "belly_stud", [[161, 159, 159, 255]], unlocked=True) -default ton_piercing2_belly_heart = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing2", "belly_heart", [[161, 159, 159, 255]], unlocked=True) -default ton_piercing2_belly_dick = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing2", "belly_dick", [[161, 159, 159, 255]], unlocked=True) +default ton_stockings_long = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_basic_1",["#ffffffff"], unlocked=True) +default ton_stockings_long_sports = DollCloth("tonks", ("legwear", "stockings"), "stockings", "long_sports",["#ffffffff", "#171717ff"], unlocked=True) ################ ## Pubic Hair ## ################ -default ton_pubes_arrow = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "arrow", [[255, 146, 185, 255]], unlocked=True) -default ton_pubes_beaver = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "beaver", [[255, 146, 185, 255]], unlocked=True) -default ton_pubes_stuble = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "stuble", [[132, 64, 89, 255]], unlocked=True) -default ton_pubes_unshaved = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "unshaved", [[132, 64, 89, 255]], unlocked=True) +default ton_pubes_arrow = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "arrow", ["#ff92b9ff"], unlocked=True) +default ton_pubes_beaver = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "beaver", ["#ff92b9ff"], unlocked=True) +default ton_pubes_stuble = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "stuble", ["#844059ff"], unlocked=True) +default ton_pubes_unshaved = DollCloth("tonks", ("lower undergarment", "pubes"), "pubes", "unshaved", ["#844059ff"], unlocked=True) -# Lipstick (DollLipstick) -default ton_makeup4_lipstick = DollLipstick("tonks", ("head", "makeup"), "makeup4", "lipstick", [[255, 70, 70, 255]], unlocked=True) +# Lipstick +default ton_makeup_lipstick = DollMakeup("tonks", ("head", "makeup"), "makeup", "lipstick", ["#ff4646ff"], unlocked=True, tracking="mouth") -##################### -## Mechanic Outfit ## -##################### +########## +## Misc ## +########## -default ton_mechanic_hair = DollCloth("tonks", ("head", "hair"), "hair", "mechanic_hair", [[255, 146, 185, 255], [254, 218, 238, 255]]) -default ton_mechanic_vest = DollCloth("tonks", ("upper body", "other"), "top", "mechanic_vest", [[255, 132, 11, 255], [255, 242, 74, 255], [151, 169, 171, 255]], blacklist=["bra", "piercing1"]) -default ton_mechanic_shorts = DollCloth("tonks", ("lower body", "shorts"), "bottom", "mechanic_shorts", [[104, 145, 206, 255], [122, 67, 53, 255], [151, 169, 171, 255], [182, 203, 233, 255]], armfix=True) -default ton_mechanic_gloves = DollCloth("tonks", ("upper body", "gloves"), "gloves", "mechanic_gloves", [[48, 48, 48, 255]]) -default ton_mechanic_cap = DollCloth("tonks", ("head", "headgear"), "headgear", "mechanic_cap", [[255, 132, 11, 255], [255, 242, 74, 255]]) -default ton_mechanic_bikini = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "mechanic_bikini", [[255, 132, 11, 255]]) -default ton_mechanic_thigh_socks = DollCloth("tonks", ("legwear", "socks"), "stockings", "mechanic_thigh_socks",[[48, 48, 48, 255]]) +default ton_top_corset = DollCloth("tonks", ("upper body", "other"), "top", "corset",["#f7ce92ff"], blacklist=["bra", "piercing"], unlocked=True) +default ton_bottoms_jeans = DollCloth("tonks", ("lower body", "trousers"), "bottom", "jeans",["#336869ff"], unlocked=True) +default ton_panties_base = DollCloth("tonks", ("lower undergarment", "bikini panties"), "panties", "base",["#e4faffff", "#e43714ff"], unlocked=True) +default ton_bra_base = DollCloth("tonks", ("upper undergarment", "bikini bras"), "bra", "bikini",["#e4faffff", "#e43714ff"], unlocked=True) +default ton_ruffled_top = DollCloth("tonks", ("upper body", "shirts"), "top", "ruffled_top",["#d5addbff"], level=25, unlocked=True) -default ton_outfit_mechanic = DollOutfit([ton_mechanic_hair, ton_mechanic_vest, ton_mechanic_shorts, ton_mechanic_gloves, ton_mechanic_cap, ton_mechanic_bikini, ton_mechanic_thigh_socks], price=450, name="Mechanic Outfit", desc="If your exhaust pipe needs cleaning, this is the perfect outfit for the occassion!") +default ton_earring_cartilege = DollCloth("tonks", ("head", "earrings"), "earrings", "cartilege", ["#a19f9fff"], unlocked=True) +default ton_earring_hoops = DollCloth("tonks", ("head", "earrings"), "earrings", "hoops", ["#a19f9fff"], unlocked=True) +default ton_earring_industrial = DollCloth("tonks", ("head", "earrings"), "earrings", "industrial", ["#a19f9fff"], unlocked=True) -##################### -## Tuxedo (Office) ## -##################### +default ton_piercing_clit_stud = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "clit_stud", ["#a19f9fff"], unlocked=True) +default ton_piercing_nipple_stud = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "nipple_stud", ["#a19f9fff"], unlocked=True) +default ton_piercing_nipple_rings = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "nipple_rings", ["#a19f9fff"], unlocked=True) +default ton_piercing_nipple_rings2 = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "nipple_rings2", ["#a19f9fff"], unlocked=True) +default ton_piercing_nipple_rings3 = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "nipple_rings3", ["#a19f9fff"], unlocked=True) -default ton_robe_office = DollCloth("tonks", ("upper body", "robes"), "robe", "office",[[53, 56, 67, 255], [255, 242, 74, 255]], armfix=True) -default ton_top_office = DollCloth("tonks", ("upper body", "shirts"), "top", "office", [[231, 231, 231, 255], [209, 206, 187, 255]], armfix=True) -default ton_bottoms_office = DollCloth("tonks", ("lower body", "trousers"), "bottom", "office",[[53, 56, 67, 255]], armfix=True) -default ton_accessory_office = DollCloth("tonks", ("misc", "accessory"), "accessory0", "office_pin", [[231, 231, 231, 255], [255, 242, 74, 255], [216, 66, 44, 255]], zorder=29) - -default ton_outfit_office = DollOutfit([ton_hair_base_new, ton_robe_office, ton_top_office, ton_bottoms_office, ton_accessory_office], price=450, name="SECS Outfit", desc="A smart suit for a clever girl.") +default ton_piercing_belly_stud = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "belly_stud", ["#a19f9fff"], unlocked=True) +default ton_piercing_belly_heart = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "belly_heart", ["#a19f9fff"], unlocked=True) +default ton_piercing_belly_dick = DollCloth("tonks", ("piercings & tattoos", "piercings"), "piercing", "belly_dick", ["#a19f9fff"], unlocked=True) diff --git a/game/scripts/characters/tonks/wardrobe_reactions.rpy b/game/scripts/characters/tonks/wardrobe_reactions.rpy index c1e50ab5..58c62e93 100644 --- a/game/scripts/characters/tonks/wardrobe_reactions.rpy +++ b/game/scripts/characters/tonks/wardrobe_reactions.rpy @@ -27,136 +27,102 @@ define ton_responses = { label ton_reaction_category_fail(category): - $ random_number = renpy.random.randint(1, 4) if category == "upper undergarment": - if random_number == 1: - ton "*Hmm*... You'd like that wouldn't you?" ("horny", "narrow", "base", "mid") - elif random_number == 2: - ton "If you behave maybe I'll let you take a peek later, [ton_genie_name]..." ("soft", "narrow", "base", "mid") - elif random_number == 3: + random: + ton "*Hmm*... You'd like that, wouldn't you?" ("horny", "narrow", "base", "mid") + ton "If you behave, then maybe I'll let you take a peek later, [name_genie_tonks]..." ("soft", "narrow", "base", "mid") ton "Patience dear..." ("grin", "wink", "raised", "mid") - elif random_number == 4: - ton "These crystal orbs are yet to predict that I would ever allow you to ask such a thing..." ("open", "closed", "shocked", "mid") - gen "They might just need a good dusting..." ("base", xpos="far_left", ypos="head") - ton "Perhaps... But not right now..." ("soft", "narrow", "base", "mid") + block: + ton "These crystal orbs are yet to predict that I would ever allow you to ask such a thing..." ("open", "closed", "shocked", "mid") + gen "They might just need a good dusting..." ("base", xpos="far_left", ypos="head") + ton "Perhaps... But not right now..." ("soft", "narrow", "base", "mid") elif category == "lower undergarment": - if random_number == 1: - ton "You want me to put on underwear? Now that's asking a bit much don't you think?" ("crooked_smile", "narrow", "base", "mid") - elif random_number == 2: + random: + ton "You want me to put on underwear? Now, that's asking a bit much, don't you think?" ("crooked_smile", "narrow", "base", "mid") ton "Like the Scottish say, I'd rather let it feel the breeze." ("grin", "narrow", "base", "mid") - elif random_number == 3: ton "Underwear? Don't make me laugh..." ("base", "base", "base", "down") - elif random_number == 4: ton "You'd have to do better than that if you want this kitty to come out and play..." ("base", "narrow", "base", "mid") elif category == "piercings & tattoos": - if random_number == 1: + random: ton "I decide where such things go..." ("open", "base", "base", "mid") - elif random_number == 2: - ton "You'd like that wouldn't you? I think I'd keep such decisions for myself thank you." ("soft", "base", "base", "R") - elif random_number == 3: + ton "You'd like that, wouldn't you? I think I'd keep such decisions for myself, thank you." ("soft", "base", "base", "R") ton "*Hmm*... I'd be such a bad girl if I let you do that..." ("annoyed", "closed", "base", "mid") - elif random_number == 4: ton "What would you think of me if I let you do that?" ("horny", "narrow", "base", "down") return label ton_reaction_touch(what): if what == "head": $ mouse_headpat() - $ random_number = renpy.random.randint(1, 5) - if random_number == 1: - ton "Is this what you do to our students? A bit tame don't you think?" ("soft", "narrow", "base", "mid") - elif random_number == 2: + random: + ton "Is this what you do to our students? A bit tame, don't you think?" ("soft", "narrow", "base", "mid") ton "Surely this is not an appropriate method of rewarding your subordinate..." ("horny", "narrow", "base", "R") - elif random_number == 3: ton "Does this mean I'm your favourite student?" ("grin", "base", "raised", "mid") ton "Teacher, I mean..." ("base", "narrow", "base", "downR") - elif random_number == 4: - ton "How naughty... How could I ever have allowed such indecent behaviour..." ("disgust", "narrow", "base", "mid") - ton "Don't you dare touch my elbows next..." ("soft", "narrow", "base", "mid") - elif random_number == 5: - ton "Such a weird custom but I'll allow it..." ("horny", "closed", "base", "mid") + ton "Such a weird custom, but I'll allow it..." ("horny", "closed", "base", "mid") + block: + ton "How naughty... How could I have ever allowed such indecent behaviour..." ("disgust", "narrow", "base", "mid") + ton "Don't you dare touch my elbows next..." ("soft", "narrow", "base", "mid") + elif what == "breasts": $ mouse_heart() - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: + random: ton "*Mmm*..." ("base", "narrow", "base", "up") - elif random_number == 2: ton "Trying to get put in detention are we?" ("grin", "narrow", "base", "mid") - elif random_number == 3: - ton "*Tsk*... How naughty... And with an employee no less." ("horny", "narrow", "base", "mid") - elif random_number == 4: - ton "I don't remember this being part of the job description..." ("horny", "narrow", "shocked", "down") - ton "But I'll look the other way for now..." ("grin", "closed", "base", "mid") + ton "*Tsk*... How naughty... And with an employee, no less." ("horny", "narrow", "base", "mid") + block: + ton "I don't remember this being part of the job description..." ("horny", "narrow", "shocked", "down") + ton "But I'll look the other way for now..." ("grin", "closed", "base", "mid") elif what == "vagina": $ mouse_heart() - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: - ton "A gentleman usually doesn't kiss on the lips but I'll allow it..." ("soft", "closed", "base", "mid") - elif random_number == 2: + random: + ton "A gentleman usually doesn't kiss on the lips, but I'll allow it..." ("soft", "closed", "base", "mid") ton "*Hmm*...{w=0.3} Did I feel some tongue? Must've been my imagination..." ("horny", "narrow", "base", "down") - elif random_number == 3: - ton "Is this one part of the extra curricular activities in my work contract?" ("grin", "narrow", "raised", "mid") - elif random_number == 4: + ton "Is this one part of the extracurricular activities in my work contract?" ("grin", "narrow", "raised", "mid") ton "I didn't expect to receive a bonus today... What a nice surprise..." ("grin", "narrow", "raised", "mid") return label ton_reaction_touch_fail(what): if what == "head": $ mouse_slap() - $ random_number = renpy.random.randint(1, 5) - if random_number == 1: - ton "Stop that." (face="annoyed") - elif random_number == 2: - ton "Do you know how long it takes to model my hair like that?" (face="neutral") - elif random_number == 3: - ton "There's two things a man shouldn't touch, her wallet and her hair." (face="angry") - elif random_number == 4: - ton "Don't get any funny ideas." (face="horny") - elif random_number == 5: - ton "Hey, don't do that!" (face="annoyed") - ton "Let me pet you instead." (face="neutral") - $ mouse_headpat() - pause 0.35 - $ mouse_headpat() - pause 0.35 - $ mouse_headpat() - ton "Good boy!" (face="happy") + random: + ton "Stop that." ("angry", "narrow", "shocked", "mid") + ton "Do you know how long it takes to model my hair like that?" ("annoyed", "narrow", "base", "mid") + ton "There are two things a man shouldn't touch, her wallet and her hair." ("open", "narrow", "angry", "mid") + ton "Don't get any funny ideas." ("soft", "narrow", "base", "mid") + block: + ton "Hey, don't do that!" ("open", "narrow", "base", "mid") + ton "Let me pet you instead." ("base", "narrow", "angry", "mid") + $ mouse_headpat() + pause 0.35 + $ mouse_headpat() + pause 0.35 + $ mouse_headpat() + ton "Good boy!" ("horny", "narrow", "base", "mid") elif what == "breasts": $ mouse_slap() - $ random_number = renpy.random.randint(1, 6) - if random_number == 1: - ton "That's not how a headmaster should treat their subordinates." (face="annoyed") - elif random_number == 2: - ton "It's inappropriate, let's keep it civil okay?" (face="annoyed") - elif random_number == 3: - ton "Someone fancy themselves a bit of a bad boy?" (face="annoyed", mouth="base") - elif random_number == 4: - ton "Hey, those are my fun bags... Don't be naughty." (face="annoyed", mouth="horny") - elif random_number == 5: - ton "Hey now, someone's getting a bit ahead of themselves." (face="annoyed") - elif random_number == 6: - ton "Those aren't for you to play with..." (face="annoyed") + random: + ton "That's not how a headmaster should treat their subordinates." ("annoyed", "narrow", "base", "mid") + ton "Let's keep it civil, okay?" ("open", "narrow", "angry", "mid") + ton "Someone fancy themselves a bit of a bad boy?" ("base", "narrow", "angry", "mid") + ton "Hey, those are my fun bags... Don't be naughty." ("soft", "narrow", "angry", "mid") + ton "Hey now, someone's getting a bit ahead of themselves." ("annoyed", "narrow", "base", "mid") + ton "Those aren't for you to play with..." ("open", "narrow", "base", "mid") elif what == "vagina": $ mouse_slap() - $ random_number = renpy.random.randint(1, 5) - if random_number == 1: - ton "You have to earn it first." (face="annoyed") - elif random_number == 2: - ton "If you'd like to keep these hands intact I suggest you stop it right now, [ton_genie_name]." (face="annoyed") - elif random_number == 3: - ton "Hey, who said you had permission to approach the chamber of secrets?" (face="annoyed", eyebrows="angry", mouth="grin") - elif random_number == 4: - ton "That place is reserved for good boys and girls..." (face="annoyed", eyebrows="angry", mouth="grin") - elif random_number == 5: - ton "That forest is forbidden entry for first years... Let's get to know each other a bit better first..." (face="annoyed", eyebrows="angry", mouth="grin") + random: + ton "You have to earn it first." ("annoyed", "narrow", "angry", "mid") + ton "If you'd like to keep these hands intact, I suggest you stop it right now, [name_genie_tonks]." ("soft", "narrow", "angry", "mid") + ton "Hey, who said you had permission to approach the chamber of secrets?" ("grin", "narrow", "angry", "mid") + ton "That place is reserved for good boys and girls..." ("annoyed", "narrow", "angry", "mid") + ton "That forest is forbidden entry for newbies... Let's get to know each other a bit better first..." ("soft", "narrow", "base", "mid") return @@ -173,59 +139,53 @@ label ton_reaction_equip_fail(item): # else: # - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: - ton "Not yet big boy, perhaps once this scheme of ours comes more into fruition..." (face="annoyed", eyebrows="angry", mouth="grin") - elif random_number == 2: - ton "It does look nice but you need to deserve it..." (face="annoyed", eyebrows="angry", mouth="grin") - else: - ton "*Hmm*... What would you think of me if I wore this?... Later perhaps." (face="annoyed", eyebrows="raised", mouth="horny") - + random: + ton "Not yet, big boy..." ("soft", "narrow", "angry", "mid") + ton "It does look nice, but you need to deserve it..." ("grin", "narrow", "angry", "mid") + ton "*Hmm*... What would you think of me if I wore this?... Later, perhaps." ("soft", "narrow", "base", "mid") return label ton_reaction_unequip(item): ### Example # if item.type == "panties": - # if ton_friendship > 15: + # if states.ton.level > 15: # ton "You want to see my snatch?" - # ton "You got it [genie_name]!" + # ton "You got it [name_genie_hermione]!" # return label ton_reaction_unequip_fail(item): - ### Bra and panties checks are not in use as Tonks doesn't mind NOT wearing underwear. + ### Bra and panties checks are not in use, as Tonks doesn't mind NOT wearing underwear. # if item.type == "panties": # ton "I'm n-not comfortable with that, sir..." # elif item.type == "bra": - # ton "P-please I don't want to.." + # ton "P-please, I don't want to..." if item.type == "top": - ton "Someone's being naughty... I might have to give you a spanking for that." (face="annoyed", eyebrows="angry", mouth="grin") - ton "Just kidding! Sure, have a quick look, [ton_genie_name]." (face="annoyed", eyebrows="raised", mouth="horny") + ton "Someone's being naughty... I might have to give you a spanking for that." ("grin", "narrow", "angry", "mid") + ton "Just kidding! Sure, have a quick look, [name_genie_tonks]." ("grin", "narrow", "raised", "mid") $ char_active.strip("top", "robe") - ton "" (face="happy") + ton "" ("base", "base", "base", "mid") pause 1.0 - ton "" (face="happy") + ton "" ("base", "closed", "base", "down") pause 1.0 - ton "" (face="happy") + ton "" ("grin", "narrow", "base", "mid") $ char_active.wear("top", "robe") gen "What gives?!" ("angry", xpos="far_left", ypos="head") - ton "Time's up." (face="annoyed", eyebrows="angry", mouth="grin") + ton "Time's up." ("base", "wink", "base", "mid") gen "......" ("base", xpos="far_left", ypos="head") + ton "" ("base", "base", "base", "mid") elif item.type == "bottom": - $ random_number = renpy.random.randint(1, 4) - if random_number == 1: + + random: ton "I thought patience came with old age..." ("base", "base", "raised", "R") - elif random_number == 2: - ton "What's the point in that? You already know what's under there don't you?" ("soft", "narrow", "base", "mid") - elif random_number == 3: + ton "What's the point in that? You already know what's under there, don't you?" ("soft", "narrow", "base", "mid") ton "You could do with learning some restraint... Perhaps I need to teach you a thing or two..." ("grin", "narrow", "base", "mid") - elif random_number == 4: - ton "Eager are we? Well I can't say I blame you..." ("open", "closed", "base", "mid") + ton "Eager, are we? Well, I can't say I blame you..." ("open", "closed", "base", "mid") return label ton_reaction_equip_outfit(item): @@ -238,10 +198,10 @@ label ton_reaction_equip_outfit(item): gen "Could you put on your regular clothing for me?" ("base", xpos="far_left", ypos="head") ton "You mean my Auror uniform?" ("open", "base", "raised", "mid") gen "Is that what it is?" ("base", xpos="far_left", ypos="head") - ton "Well... It meets all of the requirements of an Auror uniform." ("base", "narrow", "base", "R") + ton "Well... It meets all the requirements of an Auror uniform." ("base", "narrow", "base", "R") ton "Of course I made my own adjustments to it..." ("horny", "narrow", "base", "down") gen "Like not wearing underwear?" ("base", xpos="far_left", ypos="head") - ton "Well... The ministry didn't mention any underwear requirements so..." ("base", "narrow", "base", "mid") + ton "Well... The ministry didn't mention any underwear requirements, so..." ("base", "narrow", "base", "mid") gen "Perverts the lot of them..." ("base", xpos="far_left", ypos="head") ton "I'll just put it on then shall I." ("base", "base", "base", "mid") @@ -269,7 +229,7 @@ label ton_reaction_equip_outfit(item): ton "Are you asking or is this a hypothetical?" ("base", "narrow", "base", "R") gen "What if I'm hypothetically asking?" ("base", xpos="far_left", ypos="head") ton "Well if you were then I'd probably say yes, that is a pretty crazy thing to ask." ("soft", "base", "base", "mid") - gen "But you'd still do it right?" ("base", xpos="far_left", ypos="head") + gen "But you'd still do it, right?" ("base", xpos="far_left", ypos="head") ton "Sure, why not..." ("base", "base", "base", "mid") elif item == ton_outfit_bikini_2: gen "Do you believe what they say about stripes making you look slimmer?" ("base", xpos="far_left", ypos="head") @@ -288,7 +248,7 @@ label ton_reaction_equip_outfit(item): gen "Miss Tonks, have you ever experienced true freedom?" ("base", xpos="far_left", ypos="head") ton "Every time I take my bra off." ("grin", "narrow", "base", "R") gen "Well today--" ("grin", xpos="far_left", ypos="head") - gen "*Err*... Well this is awkward." ("base", xpos="far_left", ypos="head") + gen "*Err*... Well, this is awkward." ("base", xpos="far_left", ypos="head") gen "I got this Bikini with the US flag on it for you to wear." ("base", xpos="far_left", ypos="head") ton "A bikini? Why not body paint?" ("soft", "narrow", "base", "mid") gen "*Hmm*... Maybe next time, but this will have to do for now..." ("base", xpos="far_left", ypos="head") @@ -329,7 +289,7 @@ label ton_reaction_equip_outfit(item): elif item == ton_outfit_casual: gen "Could you put on this sexy casual outfit?" ("base", xpos="far_left", ypos="head") ton "Most certainly..." ("grin", "wink", "base", "mid") - ton "These leggings are very much my style I must say." ("grin", "narrow", "base", "mid") + ton "These leggings are very much my style, I must say." ("grin", "narrow", "base", "mid") gen "Is it because they show off every single curve of your body?" ("base", xpos="far_left", ypos="head") ton "How did you know?" ("soft", "wide", "shocked", "mid") gen "Lucky guess..." ("base", xpos="far_left", ypos="head") @@ -341,8 +301,8 @@ label ton_reaction_equip_outfit(item): gen "I've got this nightie for you to wear." ("base", xpos="far_left", ypos="head") ton "Why not just ask me to take all of my clothes off?" ("open", "base", "base", "down") gen "Why because that would be indecent!" ("base", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*" ("base", "closed", "base", "mid") + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" ("base", "closed", "base", "mid") ton "I suppose I'll have to wear it then..." ("base", "wink", "base", "mid") ton "In the name of decency." ("grin", "base", "base", "mid") @@ -366,7 +326,7 @@ label ton_reaction_equip_outfit(item): ton "Why thank you... I usually sleep naked, but I thought I should probably not be as casual outside my office..." ("soft", "narrow", "base", "mid") gen "I'd like for you to wear it inside my office." ("base", xpos="far_left", ypos="head") ton "Of course you do..." ("soft", "narrow", "base", "R") - ton "Well I suppose wearing it more often wont hurt." ("soft", "base", "base", "mid") + ton "Well I suppose wearing it more often won't hurt." ("soft", "base", "base", "mid") ################# ## Silky Dress ## @@ -374,7 +334,7 @@ label ton_reaction_equip_outfit(item): elif item == ton_outfit_silky: gen "I've got you one of the most splendid and luxurious outfits that I could find." ("base", xpos="far_left", ypos="head") ton "Luxurious you say?" ("soft", "base", "raised", "mid") - gen "Why yes... Made by the finest silk no less." ("base", xpos="far_left", ypos="head") + gen "Why yes... Made by the finest silk, no less." ("base", xpos="far_left", ypos="head") ton "Silk? Now that's--" ("grin", "wide", "base", "mid") ton "Oh, I see why you've got it..." ("soft", "narrow", "base", "down") gen "To spoil my favourite teacher?" ("base", xpos="far_left", ypos="head") @@ -403,16 +363,16 @@ label ton_reaction_equip_outfit(item): ################ elif item == ton_outfit_club_dress: gen "I've got this club dress for you to wear." ("base", xpos="far_left", ypos="head") - ton "*Hmm*... You planning on taking me out to dance?" ("soft", "narrow", "base", "mid") - gen "These hips are meant for pushing, not dancing I'm afraid..." ("base", xpos="far_left", ypos="head") + ton "*Hmm*... Are you planning on taking me out to dance?" ("soft", "narrow", "base", "mid") + gen "These hips are meant for pushing, not dancing, I'm afraid..." ("base", xpos="far_left", ypos="head") gen "No, I got you this one purely because of how sexy you'd look in it." ("base", xpos="far_left", ypos="head") ton "As if you'd get me an outfit for any other purpose..." ("base", "narrow", "base", "R") - call play_sound("giggle") - ton "*giggles*" ("grin", "narrow", "base", "R") + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" ("grin", "narrow", "base", "R") ton "Well, you could try, but I'm sure I'll look sexy in it either way." ("base", "closed", "base", "mid") gen "Is that a challenge?" ("base", xpos="far_left", ypos="head") ton "*Hmm*... Go ahead." ("soft", "base", "base", "mid") - ton "But first, let's judge the sexyness factor of this one..." ("base", "base", "base", "mid") + ton "But first, let's judge the sexiness factor of this one..." ("base", "base", "base", "mid") ##################### ## Succubus Outfit ## @@ -423,12 +383,12 @@ label ton_reaction_equip_outfit(item): gen "The one with the wings and stuff." ("base", xpos="far_left", ypos="head") ton "Oh... Why something like that can't be done with an outfit, I'll have to grow some wings myself." ("grin", "wink", "base", "mid") gen "You will have to what?!" ("base", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*" ("grin", "narrow", "base", "mid") + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" ("grin", "narrow", "base", "mid") gen "Oh, you're just messing with me..." ("base", xpos="far_left", ypos="head") ton "..." ("grin", "base", "base", "R") gen "You are...{w=0.4} Aren't--" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/magic3.ogg") + play sound "sounds/magic3.ogg" $ tonks.equip(item) ton "" ("horny", "narrow", "base", "mid") with flash @@ -445,21 +405,34 @@ label ton_reaction_equip_outfit(item): gen "Trust me, you'd be on the floor laughing if you had watched the cartoon." ("base", xpos="far_left", ypos="head") ton "Did the person in this cartoon also have one of their breasts exposed?" ("soft", "base", "raised", "down") gen "I wish..." ("base", xpos="far_left", ypos="head") - ton "So I'll just be fullfilling some fantasy of yours then?" ("soft", "narrow", "base", "mid") + ton "So I'll just be fulfilling some fantasy of yours then?" ("soft", "narrow", "base", "mid") gen "Pretty much..." ("base", xpos="far_left", ypos="head") ton "Alright then..." ("horny", "narrow", "base", "mid") + ##################### + ## Pullover Outfit ## + ##################### + elif item == ton_outfit_pullover: + gen "Could you put on your pullover outfit for me?" ("base", xpos="far_left", ypos="head") + ton "A pullover?" ("soft", "base", "raised", "mid") + ton "But what if some handsome vampire turned up?" ("annoyed", "narrow", "base", "R") + gen "What?" ("base", xpos="far_left", ypos="head") + ton "My neck would be totally covered!" ("disgust", "narrow", "base", "mid") + gen "..." ("base", xpos="far_left", ypos="head") + gen "Some of your thighs should still be visible if that's a concern..." ("base", xpos="far_left", ypos="head") + ton "*Hmm*... I suppose... It's not ideal, but I guess it will have to do." ("base", "narrow", "base", "mid") + ################# ### Elf Outfit ## ################# elif item == ton_outfit_elf: - gen "You've been so helpful lately so I've got you an outfit." ("base", xpos="far_left", ypos="head") + gen "You've been so helpful lately, so I've got you an outfit." ("base", xpos="far_left", ypos="head") ton "That's very--" ("base", "wide", "base", "mid") ton "What's this?" ("soft", "base", "raised", "down") - gen "Why, it's an elf costume of course." ("base", xpos="far_left", ypos="head") - gen "For santa's sexy little helper." ("base", xpos="far_left", ypos="head") - ton "*Hmm*... And you're supposed to be santa I suppose?" ("base", "narrow", "raised", "mid") - gen "Why of course... Although you're free to handle santas sack if you like." ("base", xpos="far_left", ypos="head") + gen "Why, it's an elf costume, of course." ("base", xpos="far_left", ypos="head") + gen "For Santa's sexy little helper." ("base", xpos="far_left", ypos="head") + ton "*Hmm*... And you're supposed to be Santa, I suppose?" ("base", "narrow", "raised", "mid") + gen "Why of course... Although you're free to handle Santa's sack if you like." ("base", xpos="far_left", ypos="head") #################### ### Ribbon Outfit ## @@ -470,25 +443,36 @@ label ton_reaction_equip_outfit(item): gen "Well today I'd like you to wrap yourself up for me like a present!" ("base", xpos="far_left", ypos="head") ton "You sure you'd want that?" ("soft", "base", "raised", "mid") gen "Of course!" ("base", xpos="far_left", ypos="head") - ton "But what if you've been to naughty this year for you to unwrap me?" ("soft", "narrow", "raised", "mid") - gen "I'll just have you unwrap yourself in thas case." ("base", xpos="far_left", ypos="head") + ton "But what if you've been too naughty this year for you to unwrap me?" ("soft", "narrow", "raised", "mid") + gen "I'll just have you unwrap yourself in that case." ("base", xpos="far_left", ypos="head") ton "*Hmph*... That's cheating..." ("soft", "base", "base", "R") ################## ### Xmas Outfit ## ################## elif item == ton_outfit_xmas: - gen "Miss Tonks, you know what the best thing about christmas is?" ("base", xpos="far_left", ypos="head") + gen "Miss Tonks, you know what the best thing about Christmas is?" ("base", xpos="far_left", ypos="head") ton "The presents?" ("base", "base", "raised", "mid") gen "After that." ("base", xpos="far_left", ypos="head") ton "The food?" ("soft", "base", "base", "mid") gen "Not that." ("base", xpos="far_left", ypos="head") ton "The company?" ("grin", "base", "raised", "mid") gen "The sexy Christmas outfits!" ("base", xpos="far_left", ypos="head") - ton "I should've guessed... So you've got me something like that to wear I assume?" ("horny", "narrow", "base", "mid") + ton "I should've guessed... So, you've got me something like that to wear I assume?" ("horny", "narrow", "base", "mid") gen "Yes, put this on for me will you?" ("base", xpos="far_left", ypos="head") ton "Very well..." ("base", "base", "base", "mid") + ################## + ## Santa Outfit ## + ################## + elif item == ton_outfit_santa: + gen "Ho-Ho-Ho!" ("grin", xpos="far_left", ypos="head") + ton "Yes?" ("soft", "base", "base", "mid") + gen "No, I'm doing a Santa laugh!" ("base", xpos="far_left", ypos="head") + ton "Oh, I see!" ("grin", "base", "raised", "mid") + gen "Anyway, I've got this sexy Santa costume for you to wear." ("grin", xpos="far_left", ypos="head") + ton "*Mmm*... Say no more..." ("horny", "narrow", "base", "mid") + ################### ## Lady D Outfit ## ################### @@ -503,7 +487,7 @@ label ton_reaction_equip_outfit(item): ton "*Hmm*... Very imposing..." ("base", "narrow", "base", "down") ton "Although it would've been even more so with a strap-on..." ("grin", "base", "base", "mid") gen "..." ("angry", xpos="far_left", ypos="head") - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" ton "*Giggles*" ("grin", "wink", "base", "mid") ######################### @@ -522,9 +506,9 @@ label ton_reaction_equip_outfit(item): ##################### elif item == ton_outfit_wrestling_coach: gen "Could you put on this sports coach outfit for me?" ("base", xpos="far_left", ypos="head") - ton "Sports coach? There's other sports than Quidditch?" ("soft", "base", "raised", "mid") + ton "Sports coach? There are other sports than Quidditch?" ("soft", "base", "raised", "mid") gen "...{w=0.4} Excuse me?" ("base", xpos="far_left", ypos="head") - ton "I'm just joking, I know there's other sports." ("base", "base", "base", "R") + ton "I'm just joking, I know there are other sports." ("base", "base", "base", "R") ton "Although I'm not that of a big fan of Gobstones and Wizard Chess myself." ("open", "narrow", "base", "mid") ton "They don't have any sexy uniforms." ("horny", "narrow", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") @@ -638,6 +622,11 @@ label ton_reaction_equip_outfit_fail(item): ##################### # elif item == ton_outfit_cavegirl: + ##################### + ## Pullover Outfit ## + ##################### + #elif item == ton_outfit_pullover: + ################# ### Elf Outfit ## ################# @@ -653,6 +642,11 @@ label ton_reaction_equip_outfit_fail(item): ################## # elif item == ton_outfit_xmas: + ################## + ## Santa Outfit ## + ################## + # elif item == ton_outfit_santa: + ################### ## Lady D Outfit ## ################### @@ -675,7 +669,7 @@ label ton_reaction_equip_outfit_fail(item): #ton "Sweetie... I look good in anything I wear." #gen "You sure about that?" #ton "Nice try..." - #ton "Convincing me to wear it just so that I get to prove a point won't work one me." + #ton "Convincing me to wear it just so that I get to prove a point won't work on me." #gen "Damn." #elif item == ton_outfit_wrestling_coach: #gen "Could you put on this sports coach outfit for me?" ("base", xpos="far_left", ypos="head") @@ -686,23 +680,23 @@ label ton_reaction_equip_outfit_fail(item): #gen "(Wait, did she say it doesn't show it off enough?)" ("base", xpos="far_left", ypos="head") # - ton "It looks lovely, but you'd have to prove yourself a bit more before I put that on..." (face="annoyed", eyebrows="angry", mouth="grin") + ton "It looks lovely, but you'd have to prove yourself a bit more before I put that on..." ("grin", "narrow", "annoyed", "mid") return label ton_reaction_blacklist(item): - ton "*oooh* that's racy!" + ton "*Oooh* that's racy!" if "top" in item.blacklist and tonks.is_worn("top"): ton "I'd need to take off my top." if "bottom" in item.blacklist and tonks.is_worn("bottom"): - ton "It would be very unfashionable wearing bottom garment with that." + ton "It would be very unfashionable to wear a bottom garment with that." if "bra" in item.blacklist and tonks.is_worn("bra"): ton "My girls would definitely appreciate me letting them breathe." - gen "Your tits you mean." ("grin", xpos="far_left", ypos="head") - ton "Now, now, don't get needy my dear headmaster." + gen "Your tits, you mean." ("grin", xpos="far_left", ypos="head") + ton "Now, now, don't get needy, my dear headmaster." if "panties" in item.blacklist and tonks.is_worn("panties"): ton "There's not a single pair of panties in the world that would fit this." @@ -714,16 +708,16 @@ label ton_reaction_blacklist(item): return label ton_reaction_fallback(item): - if ton_friendship < get_character_requirement("tonks", "unequip top") and not "top" in tonks.blacklist and not item.type == "top": + if states.ton.level < get_character_requirement("tonks", "unequip top") and not "top" in tonks.blacklist and not item.type == "top": $ tonks.equip(ton_top_auror) - if ton_friendship < get_character_requirement("tonks", "unequip bottom") and not "bottom" in tonks.blacklist and not item.type == "bottom": + if states.ton.level < get_character_requirement("tonks", "unequip bottom") and not "bottom" in tonks.blacklist and not item.type == "bottom": $ tonks.equip(ton_bottoms_leggings) - # if ton_friendship < get_character_requirement("tonks", "unequip bra") and not "bra" in tonks.blacklist and not item.type == "bra": + # if states.ton.level < get_character_requirement("tonks", "unequip bra") and not "bra" in tonks.blacklist and not item.type == "bra": # $ tonks.equip(None) - # if ton_friendship < get_character_requirement("tonks", "unequip panties") and not "panties" in tonks.blacklist and not item.type == "panties": + # if states.ton.level < get_character_requirement("tonks", "unequip panties") and not "panties" in tonks.blacklist and not item.type == "panties": # $ tonks.equip(None) ton "Just give me a second, I need to get my clothes back in order." ("open", "base", "base", "R") diff --git a/game/scripts/characters/twins/vars.rpy b/game/scripts/characters/twins/vars.rpy new file mode 100644 index 00000000..4d1b1caf --- /dev/null +++ b/game/scripts/characters/twins/vars.rpy @@ -0,0 +1,10 @@ + +# Event flags + +default states.twi.ev.cardgame.known = False +default states.twi.ev.cardgame.stage = 0 +default states.twi.ev.cardgame.first_random = True +default states.twi.ev.cardgame.stocked = False +default states.twi.ev.cardgame.stock_talk = False +default states.twi.ev.cardgame.interest = False +default states.twi.ev.cardgame.profit = 1.0 diff --git a/game/scripts/chibis/classes.rpy b/game/scripts/chibis/classes.rpy index 2980aed2..fda56e1d 100644 --- a/game/scripts/chibis/classes.rpy +++ b/game/scripts/chibis/classes.rpy @@ -55,7 +55,7 @@ init -1 python: def complete_chibi_moves(**elapsed): """Resume old chibi action after (multiple) reduced move calls.""" q = [] - for chibi, (t, a) in chibi_moves.iteritems(): + for chibi, (t, a) in chibi_moves.items(): et = elapsed.get(chibi, 0) t -= et q.append((chibi, t, a)) @@ -198,7 +198,7 @@ init -1 python: old_action = self.action if action: move_action = action - elif isinstance(self.action_info[2], basestring): + elif isinstance(self.action_info[2], str): # Action info provides a move action move_action = self.action_info[2] else: @@ -209,7 +209,7 @@ init -1 python: # Calculate movement time times = [] - for i in xrange(len(path) - 1): + for i in range(len(path) - 1): dist = math.sqrt((path[i][0] - path[i+1][0])**2 + (path[i][1] - path[i+1][1])**2) time = dist / (float(self.speed) * speed) if loop_time > 0: @@ -308,7 +308,7 @@ init -1 python: yield d def clear(self): - for k in self.layers.iterkeys(): + for k in self.layers.keys(): self.layers[k] = None def __getitem__(self, key): @@ -319,7 +319,7 @@ init -1 python: # Layer must be defined at init raise KeyError(key) - if isinstance(value, basestring) and '.' in value: + if isinstance(value, str) and '.' in value: # Assume value is a filename and resolve it if value.startswith('~') or not self.special: # Avoid special directory @@ -355,7 +355,7 @@ init -1 python: @staticmethod def get(room=None): - room = room or renpy.store.current_room + room = room or renpy.store.states.room chibi_room = ChibiRoom.rooms.get(room, None) if not chibi_room: raise Exception("Chibi room is not defined for {}".format(room)) diff --git a/game/scripts/chibis/transforms.rpy b/game/scripts/chibis/transforms.rpy index a6606f75..3254e62c 100644 --- a/game/scripts/chibis/transforms.rpy +++ b/game/scripts/chibis/transforms.rpy @@ -77,7 +77,7 @@ init python: it = 0 seg = 0 - for i in xrange(len(times)): + for i in range(len(times)): if it + times[i] > st: seg = i break diff --git a/game/scripts/constants.rpy b/game/scripts/constants.rpy index 48d035d0..6189d03a 100644 --- a/game/scripts/constants.rpy +++ b/game/scripts/constants.rpy @@ -1,6 +1,4 @@ -define CHARACTERS = {"hermione", "tonks", "astoria", "cho", "luna", "susan", "hooch"} -define SAYERS = {i[:3]:i for i in CHARACTERS} define ALLOWED_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz " define LANGUAGE_TRANSCRIPTS = { "english": "{font=gui/CreativeBlockRegular.ttf}English{/font}", diff --git a/game/scripts/doll/body.rpy b/game/scripts/doll/body.rpy index 1e17f794..07c509c4 100644 --- a/game/scripts/doll/body.rpy +++ b/game/scripts/doll/body.rpy @@ -1,83 +1,67 @@ init python: class DollBody(DollMethods): - zorder_skin = 5 + layer_types = { + # Body class has no use for layer types + } - def __init__(self, obj, body): + layer_modifiers = { + "zorder": None, + } + + __slots__ = ("char", "hue", "zorder", "_hash") + + def __init__(self, obj): self.char = obj - self.name = self.char.name - self.body = body - self.hue = 0 - self.imagepath = "characters/{}/body/".format(self.name) + self.matrix = IdentityMatrix() + self.zorder = 0 + self._hash = None + + def set_matrix(self, matrix): + self.matrix = matrix + self.is_stale() + + def generate_hash(self): + bodyparts_hash = str([x[0]._hash for x in self.char.states.values() if istype(x[0], DollBodypart) and x[2]]) + salt = str( [self.char.name, self.char.pose, str(self.matrix.__hash__()), bodyparts_hash]) + return hash(salt) + + @functools.cache + def get_layers(self, hash): + layers = {} + + for object, zorder, is_worn in self.char.states.values(): + if istype(object, DollBodypart) and is_worn is True: + layers.update(object.get_layers(object._hash)) + + return layers + + @functools.cache + def build_image(self, hash, matrix=None): + if matrix is None: + matrix = self.matrix + + processors = { + "default": lambda file: Transform(Image(file), matrixcolor=matrix), + } + + layers = self.get_layers(hash) - def build_image(self): sprites = [] - - # Add body parts and skin layers from clothes, face, cum - sprites.extend(("{}{}/{}.webp".format(self.imagepath, k, v[0]), v[1]) for k, v in self.body.iteritems() if v[0]) # Body parts - sprites.extend((o[0].skin, self.zorder_skin) for o in self.char.clothes.itervalues() if o[0] and o[0].skin and o[2]) # Clothes skin - sprites.extend((x, self.zorder_skin) for x in self.char.face.get_skin()) # Face skin - sprites.extend((x, self.zorder_skin) for x in self.char.cum.get_skin()) # Cum skin - - sprites.sort(key=itemgetter(1)) - - if self.hue: - sprites = tuple(Transform(x[0], matrixcolor=HueMatrix(self.hue)) for x in sprites) - else: - sprites = tuple(x[0] for x in sprites) + for identifier, (file, zorder) in layers.items(): + processor = processors.get(identifier, processors["default"]) + processed_file = processor(file) + sprites.append((identifier, processed_file, zorder)) return sprites - def build_mannequin(self, group=None): - sprites = [] + @property + def image(self): + if not renpy.is_skipping() and self.is_stale(): + hash = self._hash - # Add body parts and skin layers from clothes - sprites.extend(("{}{}/{}.webp".format(self.imagepath, k, v[0]), v[1]) for k, v in self.body.iteritems() if v[0]) - if group: - sprites.extend((o.skin, self.zorder_skin) for o in group if o and o.skin) + sprites = self.build_image(hash, self.matrix) + sprites.sort(key=itemgetter(2)) + sprites = [x[1] for x in sprites] - sprites.sort(key=itemgetter(1)) - sprites = tuple(gray_tint(x[0]) for x in sprites) - return sprites - - def get_mannequin(self, group=None): - mannequin = self.build_mannequin(group) - return Fixed(*mannequin, fit_first=True) - - def get_part(self, arg): - return self.body[arg][0] - - def set_body(self, **kwargs): - """Takes keyword argument(s) with the string name of body part file(s). Returns True if image is changed.""" - changed = False - - for arg, value in kwargs.iteritems(): - if value != self.body[str(arg)][0]: - self.body[str(arg)][0] = value - changed = True - - if changed: - self.rebuild_image() - - return changed - - def set_pose(self, pose): - if pose is None: - self.imagepath = "characters/{}/body/".format(self.name) - else: - self.imagepath = "characters/{}/poses/{}/body/".format(self.name, pose) - self.rebuild_image() - return - - def set_zorder(self, **kwargs): - """Takes keyword argument(s) with the string name of body type(s) and int value(s). Returns True if image is changed.""" - changed = False - - for arg, value in kwargs.iteritems(): - if value != self.body[str(arg)][1]: - self.body[str(arg)][1] = value - changed = True - - if changed: - self.rebuild_image() - - return changed + self._image = Fixed(*sprites, fit_first=True) + return self._image diff --git a/game/scripts/doll/bodypart.rpy b/game/scripts/doll/bodypart.rpy new file mode 100644 index 00000000..2bdc3379 --- /dev/null +++ b/game/scripts/doll/bodypart.rpy @@ -0,0 +1,71 @@ +init 1 python: + class DollBodypart(DollCloth): + layer_types = { + "mask": "-1", + } + + layer_modifiers = { + "zorder": None, + } + + def __init__(self, name, categories, type, id, zorder=None, unlocked=False, level=0, blacklist=[], parent=None, modpath=None): + super().__init__(name, categories, type, id, None, zorder, unlocked, level, blacklist, modpath, parent) + + def __repr__(self): + return f"DollBodypart(name={self.name}, categories={self.categories}, type={self.type}, id={self.id}, color={self.color}, zorder={self.zorder}, unlocked={self.unlocked}, level={self.level}, blacklist={self.blacklist}, parent={self.parent}, modpath={self.modpath or None})" + + def generate_hash(self): + salt = str( [self.name, self.type, self.char.pose, self.id, str(self.char.body._hash)] ) + return hash(salt) + + @functools.cache + def get_layers(self, hash, subpath=""): + path = posixpath.join(self.modpath, "characters", self.name, "poses", self.char.pose, subpath, "bodyparts", self.type, self.id) + + extensions = self.extensions + types = self.layer_types + modifiers = self.layer_modifiers + + layers = {} + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + + if not fp == path or not ext in extensions: + continue + + ltype, *tails = fn.rsplit("_") + + # if not ltype in types: + # print("Invalid layer type for file: {}".format(f)) + # continue + + zorder = types.get(ltype) or self.zorder + + if isinstance(zorder, str): + # Note: Layer uses relative zorder if it's passed as a string + zorder = self.zorder + int(zorder) + + if tails: + lmodifier, *tails = tails + + if not lmodifier in modifiers: + print("Invalid modifier for file: {}".format(f)) + continue + + zorder_mod = modifiers.get(lmodifier) + zorder = (zorder + int(zorder_mod)) if lmodifier != "zorder" else int(tails[-1]) + layers.setdefault("_".join([ltype, lmodifier, str(zorder)]), [f, zorder]) + else: + layers.setdefault(ltype, [f, zorder]) + + return layers + + def apply_color(self, img, n): + raise NotImplementedError + + def set_color(self, n): + raise NotImplementedError + + def reset_color(self, n=None): + raise NotImplementedError diff --git a/game/scripts/doll/chibi.rpy b/game/scripts/doll/chibi.rpy index c3db8ca9..d5e2bddf 100644 --- a/game/scripts/doll/chibi.rpy +++ b/game/scripts/doll/chibi.rpy @@ -1,134 +1,221 @@ init 5 python: - # def pairwise(iterable): - # a = iter(iterable) - # return zip(a, a) - class DollChibi(renpy.Displayable): - def __init__(self, name, doll, pose="stand", layer="screens", zorder=12, zoom=0.28, *args, **properties): - super(DollChibi, self).__init__(**properties) + def __init__(self, name, layer="screens", zorder=12, zoom=0.28, **properties): + + super().__init__(**properties) self.name = name - self.doll = doll - self.pose = pose + self.tag = name + "_chibi" + self.pose = None + self.walk = "walk" + self.idle = "stand" self.layer = layer self.zorder = zorder self.zoom = zoom - self.pos = (0,0) self.xzoom = 1 + self.char = eval(name) + self.poses = {} # Animation + self.anim_frames = None + self.anim_sprite = None self.anim_speed = 1.0 self.anim_fps = 8.0 self.anim_trans = None self.anim_interval = None self.anim_interval_total = None - self.anim_path = None - - self.anim_constructor() # ATL self.atl_time = 0 self.atl_time_total = 0 self.atl_partial = None + self.atl_looping = False + self.atl_pause = False + self.atl_at_list = [] - def anim_constructor(self): - """This function is responsible for creating an animation out of raw image files.""" + def register(self, pose, frames, size): + self.poses[pose] = (frames, size) - path = "characters/{}/chibi/{}/".format(self.name, self.pose) - images = [] + if config.developer: + print(f"Registered \"{pose}\" pose for {self.name}") - # Base model - for fn in renpy.list_files(): - if not fn.startswith(path): - continue + @functools.cache + def build_image(self, hash, pose): + states = self.char.states + items = [v[0] for v in states.values() if v[0] and v[2]] + subpath = posixpath.join("chibi", pose) - basename = os.path.basename(fn) - base, ext = os.path.splitext(basename) + sprites = [(ltype, img, z) for i in items for ltype, img, z in i.build_image(i._hash, subpath, maxsize=None)] + masks = [sprites.pop(sprites.index(i)) for i in sprites if i[0] == "mask"] - if not ext.lower() in [ ".jpg", ".jpeg", ".png", ".webp" ]: - continue + sprites.sort(key=itemgetter(2)) + masks.sort(key=itemgetter(2)) - images.append(renpy.displayable(fn)) + back_sprites = [x[1] for x in sprites if x[2] < 0] - if not images: - raise IndexError("Animation Constructor could not find any images inside directory:\n\n\"{}\"".format(path)) + #Apply alpha mask + for m in masks: + _, mask, mask_zorder = m + + for i, s in enumerate(sprites): + _, sprite, sprite_zorder = s + + if i < 1 or mask_zorder > sprite_zorder: + continue + + masked = AlphaMask(Fixed(*(x[1] for x in sprites[:i]), fit_first=True), mask) + sprites = sprites[i:] + sprites.insert(0, (None, masked, mask_zorder)) + break + + sprites = back_sprites + [x[1] for x in sprites] + + return Fixed(*sprites, fit_first=True) + + def build_animation(self): + pose = self.pose + frames = self.poses[pose][0] + sprite = self.build_image(self.char._hash, pose) - # For singular images it's optimal to halt the animation, - # instead of replaying the same frame over and over again. - frames = len(images) if frames > 1: interval = self.anim_speed / self.anim_fps else: interval = (365.25 * 86400.0) # About one year - self.anim_path = path self.anim_frames = frames self.anim_interval = interval self.anim_interval_total = (frames * interval) - self.anim_images = images - self.anim_prev_images = [ images[-1] ] + images[:-1] + self.anim_sprite = sprite def render(self, width, height, st, at): + frame_width, frame_height = self.poses[self.pose][1] - # Animation Renderer - t = st % self.anim_interval_total - + # Calculate the current frame based on the time trans = self.anim_trans interval = self.anim_interval + time = (st % self.anim_interval_total) + frame = int(time / interval) + sprite = self.anim_sprite - # Trigger event after animation time elapses - if st > self.atl_time_total: + if trans and st >= interval: + sprite = trans(old_widget=sprite, new_widget=sprite) + + cr = renpy.render(sprite, width, height, st, at) + sheet_width, sheet_height = cr.get_size() + + # Calculate the position of the current frame within the sprite sheet + sheet_cols = sheet_width // frame_width + sheet_row = int(frame / sheet_cols) + sheet_col = frame % sheet_cols + frame_x = sheet_col * frame_width + frame_y = sheet_row * frame_height + + rv = renpy.Render(frame_width, frame_height) + rv.blit(cr.subsurface((frame_x, frame_y, frame_width, frame_height)), (0, 0)) + + if not self.atl_looping and st > self.atl_time_total: renpy.timeout(0) + elif not renpy.game.less_updates: + renpy.redraw(self, interval - time) - for image, prev in zip(self.anim_images, self.anim_prev_images): - if t < interval: - if not renpy.game.less_updates: - renpy.redraw(self, interval - t) - - if trans and st >= interval: - image = trans(old_widget=prev, new_widget=image) - - im = renpy.render(image, width, height, t, at) - width, height = im.get_size() - rv = renpy.Render(width, height) - rv.blit(im, (0, 0)) - - return rv - else: - t = t - interval + return rv def event(self, ev, x, y, st): # Determine pose change if show time exceeds animation time. # Looping animations ignore this check because they are rebuilt every loop. - if st > self.atl_time_total: - self.set_pose("stand") + if renpy.in_rollback(): + # We don't want to use 'raise renpy.IgnoreEvent' because it blocks events in other displayables, including interfaces + return + + elif renpy.is_skipping(): + self.stop() + return + + elif ((not self.atl_looping and st > self.atl_time_total) + or (ev.type == pygame.MOUSEBUTTONUP and ev.button == 1) + or (ev.type == pygame.KEYDOWN and ev.key in [pygame.K_RETURN, pygame.K_SPACE, pygame.K_KP_ENTER, pygame.K_SELECT])): + self.stop() + + # def per_interact(self): + # # Handle interrupt events + # if (renpy.is_skipping() or self.atl_pause) and not self.pose == self.idle: + # self.stop() def set_pose(self, pose): if self.pose == pose: return self.pose = pose - self.anim_constructor() + self.update() - def move(self, path, speed=1.0, pause=False, loop=False, warper="linear", at_list=[], pose="walk"): + def place(self, pos=None, speed=1.0, pause=False, at_list=[], pose=None, xzoom=None): + self.set_pose(pose or self.idle) + + self.atl_time = 0 + self.atl_time_total = 0 + self.atl_partial = None + self.atl_looping = False + self.atl_pause = False + self.atl_at_list = [] + + frames = self.anim_frames + if frames > 1: + interval = (self.anim_speed / self.anim_fps) / speed + interval_total = (frames * interval) + + self.anim_interval = interval + self.anim_interval_total = interval_total + + xzoom = xzoom or (-1 if (pos > self.pos) else 1) + + self.pos = pos or self.pos + self.xzoom = xzoom + + transform = Transform(pos=pos, zoom=self.zoom, xzoom=xzoom, anchor=(0.5, 1.0)) + + self.show(transform, at_list, self.layer, self.zorder) + + if pause: + renpy.pause(None) + + return + + def move(self, path, speed=1.0, pause=True, loop=False, warper="linear", at_list=[], pose=None, repeat=None, wrap=True, reverse=True): """Makes chibi move""" + + self.atl_looping = loop + self.atl_pause = pause + self.atl_at_list = at_list + if isinstance(path, tuple): path = [path] # If 'A' position is not supplied for A -> B movement, use last known position instead. if len(path) < 2: path = [self.pos] + path + # If reverse and loop/repeat is True, and pathing has more than two entries, + # use complex looping by joining the reversed paths + elif reverse and (loop or repeat): + # Reverses the list, strips last entry from the reverse list, and finally joins them. + path += path[1::-1] - self.set_pose(pose) + if repeat: + path *= repeat + + if wrap: + # Wrap pathing back to starting position + path.append(path[0]) + + self.set_pose(pose or self.walk) # Note: Warper names and their count can change over time, # so it's easier to just evaluate the input. # List of available warpers: # https://www.renpy.org/doc/html/atl.html?#warpers - warper = eval("_warper.{}".format(warper)) + warper = eval(f"_warper.{warper}") distances = [] times = [] @@ -165,15 +252,44 @@ init 5 python: partial = renpy.partial(self.move_atl, path, times, loop, warper) self.atl_partial = partial - self.restart_atl() + transform = Transform(function=partial, anchor=(0.5, 1.0)) + + self.show(transform, at_list, self.layer, self.zorder) if pause: - renpy.pause(total_time) + if loop: + renpy.pause(None) + else: + renpy.pause(total_time) return (distances, times) + def stop(self): + if not self.atl_partial: + return + + # Freezes the animation + path, _, _, _ = self.atl_partial.args + pos = path[-1] + xzoom = -1 if (path[-1] > path[-2]) else 1 + zpos = self.zorder + (1.0 / (pos[1] / config.screen_height)) + + self.pos = pos + self.xzoom = xzoom + + self.atl_time = 0 + self.atl_time_total = 0 + + self.set_pose(self.idle) + transform = Transform(pos=pos, zoom=self.zoom, xzoom=xzoom, anchor=(0.5, 1.0)) + self.show(transform, self.atl_at_list, self.layer, zpos) + def move_atl(self, path, times, loop, warper, trans, st, at): """Animations are time based, so each segment will happen at a specific frame time.""" + if self.atl_time_total == 0: + # Stops updating the animation + return None + if loop: timer = st % self.atl_time_total else: @@ -202,7 +318,7 @@ init 5 python: # Adjust X zoom based on target X position # 1 = Facing Right, -1 = Facing Left - trans.xzoom = -1 if (path[current_segment][0] > path[next_segment][0]) else 1 + trans.xzoom = 1 if (path[current_segment][0] > path[next_segment][0]) else -1 self.xzoom = trans.xzoom # Adjust zoom @@ -217,23 +333,76 @@ init 5 python: # self.zpos = trans.zpos # TODO: Using zorders is suboptimal and expensive, using 3D staging would be preferable. - zpos = self.zorder + self.pos[1] / config.screen_height - renpy.change_zorder(self.layer, self.name, zpos) + zpos = self.zorder + (1.0 / (self.pos[1] / config.screen_height)) + renpy.change_zorder(self.layer, self.tag, zpos) return 0 - def restart_atl(self): + def show(self, transform, at_list, layer, zorder): # The safest way to restart the transform is to rebuild it. # Other methods proved to be too finicky... - transform = Transform(function=self.atl_partial, anchor=(0.5, 1.0)) image = At(self, transform) # IMPORTANT: Enable perspective and gl_depth for 3D staging if not renpy.is_init_phase(): - renpy.show(self.name, at_list=[], layer=self.layer, what=image, zorder=self.zorder) + renpy.show(name=self.tag, what=image, at_list=at_list, layer=layer, zorder=zorder) - # def dynamic(self, st, at): - # return self.image, None + def hide(self): + if not renpy.is_init_phase(): + renpy.hide(name=self.tag) + + def update(self): + self.build_animation() + renpy.redraw(self, 0) + + @property + def image(self): + return self init offset = 5 default hooch_chibi = DollChibi(name="hooch", doll=hooch) +# default cho_chibi_new = DollChibi(name="cho", doll=cho) +# default tonks_chibi_new = DollChibi(name="tonks", doll=tonks) + +# label chibitest: +# chibi tonks register ("stand", 1, (600, 800)) +# chibi tonks register ("walk", 8, (600, 800)) +# "Rollback block" +# $ renpy.block_rollback() + +# "repeat 3" +# chibi tonks move (path=[(500, 421), (650, 521), (800, 421)], repeat=3) +# "loop" +# chibi tonks move (path=[(500, 421), (650, 521), (800, 421)], loop=True) +# "doll synchronisation" +# chibi tonks move (path=[(500, 421), (650, 521), (800, 421)], loop=True, pause=False) +# ton @ hair default "Default" ("base", "base", "base", "mid") +# ton @ hair angry "Angry" ("angry", "narrow", "angry", "mid") +# ton @ hair scared "Scared" ("scream", "wide", "worried", "mid") +# "End" +# hide tonks_chibi +# hide tonks_main + +# jump main_room_menu + +# label chibitest2: +# chibi tonks register ("stand", 1, (600, 800)) +# chibi tonks register ("walk", 8, (600, 800)) +# "Rollback block" +# $ renpy.block_rollback() + +# "pos 1" +# chibi tonks place (pos=(300,300)) +# "pos 2" +# chibi tonks place (pos=(400,300)) +# "pos 3" +# chibi tonks place (pos=(400,400)) +# "pos 4" +# chibi tonks place (pos=(200,400)) +# "pos 5" +# chibi tonks place (pos=(600,400)) +# "End" +# hide tonks_chibi +# hide tonks_main + +# jump main_room_menu diff --git a/game/scripts/doll/clothes.rpy b/game/scripts/doll/clothes.rpy index 454ba113..287b08ac 100644 --- a/game/scripts/doll/clothes.rpy +++ b/game/scripts/doll/clothes.rpy @@ -1,126 +1,191 @@ init python: class DollCloth(DollMethods): - def __init__(self, name, categories, type, id, color, zorder=None, unlocked=False, level=0, blacklist=[], parent=None, armfix=False, modpath=None): + layer_types = { + "mask": "-1", + "skin": 10, + "armfix": "+1", + "outline": None, + "extra": None, + "overlay": None, + } + + layer_modifiers = { + "back": "-300", + "front": "+300", + "zorder": None, + } + + _loading = Fixed(Text("Loading", align=(0.5, 0.5)), xysize=(96, 96)) + + __slots__ = ("name", "categories", "type", "id", "color", "unlocked", "level", "blacklist", "modpath", "parent", "char", "color_default", "zorder", "seen", "_hash") + + def __init__(self, name, categories, type, id, color, zorder=None, unlocked=False, level=0, blacklist=[], modpath=None, parent=None): self.name = name - self.char = eval(name) self.categories = categories self.type = type self.id = id - self.color = color - self.color_default = [x[:] for x in color] + self.color = [Color( (tuple(x) if isinstance(x, list) else x) ) for x in color] if color else None self.unlocked = unlocked - self.layers = len(color) - self.parent = parent - self.ico = Null() - self.blacklist = blacklist self.level = level - self.modpath = posixpath.normpath(modpath) if modpath else "" - self.armfix = armfix - self.back_outline = None - self.front_outline = None - - # Inherit zorder from character if needed - self.zorder = zorder or self.char.clothes[type][1] + self.blacklist = blacklist + self.modpath = "mods/" + posixpath.normpath(modpath) if modpath else "" + self.parent = parent + self.char = eval(name) + self.color_default = [x for x in self.color] if self.color else None + self.zorder = zorder or self.char.states[type][1] self.seen = self.unlocked - self.cached_icon = False + self._hash = self.generate_hash() + self._button = DefaultQueue() - self.set_imagepath() - self.set_layers() + if config.developer: + self._loading = Fixed(Text(self.id, size=8), self._loading, xysize=(96, 96)) # Add to character wardrobe and unordered list if not parent: self.char.wardrobe.setdefault(self.categories[0], {}).setdefault(self.categories[1], []).append(self) self.char.wardrobe_list.append(self) - def set_imagepath(self): - if any(x in self.type for x in self.multislots): - subpath = self.type[:-1] - else: - subpath = self.type + # Define new item slot type if doesn't exist + self.char.states.setdefault(self.type, [None, (self.zorder or 1), True]) - path = "{}/characters/{}/clothes/{}/{}/".format(self.modpath, self.name, subpath, self.id) + def __repr__(self): + return f"DollCloth(name={self.name}, categories={self.categories}, type={self.type}, id={self.id}, color={self.color}, zorder={self.zorder}, unlocked={self.unlocked}, level={self.level}, blacklist={self.blacklist}, parent={self.parent}, modpath={self.modpath or None})" - if renpy.loadable(path + "0.webp"): - self.imagepath = path - return - raise IOError("Couldn't find file \"{}/characters/{}/clothes/{}/{}/0.webp\"".format(self.modpath, self.name, subpath, self.id)) + def __hash__(self): + return self._hash - def set_layers(self): - for x in self.layers_special: - path = "{}{}.webp".format(self.imagepath, x) - self.__dict__[x] = path if renpy.loadable(path) else None + def __eq__(self, obj): + if not isinstance(obj, DollCloth): + return NotImplemented + return self._hash == obj._hash - for x in self.layers_additional: - self.__dict__[x] = [] + def __lt__(self, obj): + if not isinstance(obj, DollCloth): + return NotImplemented + return self._hash < obj._hash - for i in xrange(self.layers): - path = "{}{}_{}.webp".format(self.imagepath, i, x) - if renpy.loadable(path): - self.__dict__[x].append(path) - else: - self.__dict__[x].append(None) + def generate_hash(self): + salt = str( [self.name, self.char.pose, self.type, self.id, str(self.color), str(self.char.body._hash)] ) + return hash(salt) - path = "{}outline_{}.webp".format(self.imagepath, x) - self.__dict__[x+"_outline"] = path if renpy.loadable(path) else None + @functools.cache # <- TODO: Reevaluate if this function should allow multiple caches (aside from different subpaths) + def get_layers(self, hash, subpath=""): + path = posixpath.join(self.modpath, "characters", self.name, "poses", self.char.pose, subpath, "clothes", self.type, self.id) - def build_image(self): - sprites = [(self.apply_color("{}{}.webp".format(self.imagepath, x), x), x) for x in xrange(self.layers)] + extensions = self.extensions + types = self.layer_types + modifiers = self.layer_modifiers - # Add extra layers if exist - for n, x in enumerate(self.layers_extra): - path = "{}{}.webp".format(self.imagepath, x) - if renpy.loadable(path): - sprites.append((path, self.layers+n)) + layers = {} + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) - sprites.sort(key=itemgetter(1)) - sprites = tuple(x[0] for x in sprites) - return sprites + if not fp == path or not ext in extensions: + continue - def build_mannequin(self): - sprites = [ - self.get_back(), - self.get_mannequin(), - self.get_front(), - (self.get_image(), self.zorder), - self.get_armfix(mannequin=True) - ] + # For user's sake, simplicty, and compatibility reasons, + # we sort the layers in the code instead. + # + # Each file name part represents the following: + # layertype_subtype*_zorder*_INT* + # + # Parts marked with * are optional and can be inserted out of order, + # with the exception of zorder, which requires an integer appendix. + # + # Example valid file name combinations: + # + # 0.webp + # 0_zorder_15.webp + # 0_front.webp + # outline.webp + # outline_back.webp + # + # If multiple files exist but with different extension, + # only the first file will be added to the dictionary. - sprites.sort(key=itemgetter(1)) + ltype, *tails = fn.rsplit("_") - # Apply Alpha mask - if self.mask: - mask_zorder = self.zorder-1 + if not ltype.isdigit() and not ltype in types: + print("Invalid layer type for file: {}".format(f)) + continue - for i, s in enumerate(sprites): - sprite, sprite_zorder = s + zorder = z if (z := types.get(ltype)) is not None else self.zorder - if mask_zorder > sprite_zorder >= 0: + if isinstance(zorder, str): + # Note: Layer uses relative zorder if it's passed as a string + zorder = self.zorder + int(zorder) + + if tails: + lmodifier, *tails = tails + + if not lmodifier in modifiers: + print("Invalid modifier for file: {}".format(f)) continue - c = tuple(x[0] for x in sprites[:i] if not isinstance(x[0], Null)) - masked = AlphaMask(Fixed(*c, fit_first=True), self.mask) - sprites = sprites[i:] - sprites.insert(0, (masked, mask_zorder)) - break + zorder_mod = modifiers.get(lmodifier) + zorder = (zorder + int(zorder_mod)) if lmodifier != "zorder" else int(tails[-1]) + layers.setdefault("_".join([ltype, lmodifier, str(zorder)]), [f, zorder]) + else: + layers.setdefault(ltype, [f, zorder]) + return dict(sorted(layers.items(), key=lambda x: (extract_number(x[0]), x[0]))) - bounds = "{}outline.webp".format(self.imagepath) if renpy.loadable("{}outline.webp".format(self.imagepath)) else "{}0.webp".format(self.imagepath) + @functools.cache + def build_image(self, hash, subpath="", matrix=None, maxsize=(1010, 1200)): + # Note to self: This function is called from within the new chibi class during clothes iteration, + # as a bridge to enable colourable clothing for chibis, double-check the changes before submitting them. - sprites = tuple(x[0] for x in sprites) - return (sprites, bounds) + if matrix is None: + matrix = self.char.body.matrix - def make_icon(self): - thread = DollThread(target=self.build_icon) - thread.daemon = True - thread.start() + processors = { + "skin": lambda file, _: Transform(file, maxsize=maxsize, matrixcolor=matrix), + "armfix": lambda file, _: Transform(file, maxsize=maxsize, matrixcolor=matrix), + "colored": lambda file, n: self.apply_color(file, int(n), maxsize), + "default": lambda file, _: Transform(file, maxsize=maxsize), + } - sprite = thread.join() + layers = self.get_layers(hash, subpath) - self.ico = DollDisplayable(sprite) + sprites = [] + for identifier, (file, zorder) in layers.items(): - def build_icon(self): - sprites, bounds = self.build_mannequin() + if ((n := identifier.split("_", 1)[0]).isdigit()): + processor = processors["colored"] + else: + processor = processors.get(identifier, processors["default"]) + + processed_file = processor(file, n) + sprites.append((identifier, processed_file, zorder)) + + return sprites + + @property + def image(self): + if not renpy.is_skipping() and self.is_stale(): + hash = self._hash + + sprites = self.build_image(hash) + sprites.sort(key=itemgetter(2)) + sprites = [x[1] for x in sprites] + + self._image = Fixed(*sprites, fit_first=True) + return self._image + + @functools.cache + def build_icon(self, hash): + matrix = SaturationMatrix(0.0) + sprites = [i for i in self.build_image(hash, matrix=matrix) if not i[0] == "mask"] + + try: + bounds = self.get_layers(hash).get("outline", [sprites[0][1]])[0] + except IndexError: + print(f"Missing textures:\n{self.__repr__()}") + return Text(f"TexErr\n{{color=#00ffff}}{{size=-6}}ID:{self.id}{{/size}}{{/color}}", color="#ff0000") + sprites.extend(self.char.body.build_image(self.char.body._hash, matrix=matrix)) + sprites.sort(key=itemgetter(2)) wmax, hmax = self.sizes wmin = hmin = 96 @@ -140,66 +205,137 @@ init python: if y+h > hmax: y = hmax-h - return Transform(Fixed(*sprites, fit_first=True), crop=(x, y, w, h)) + return Transform(Fixed(*[i[1] for i in sprites], fit_first=True), crop=(x, y, w, h), size=(96, 96), fit="contain", align=(0.5, 0.5)) - def rebuild_icon(self): - # Defers rebuild until next time get_image is called - self.cached_icon = False + @property + def icon(self): + return self.build_icon(self._hash) - def get_back(self): - """Returns a list of layers displayed in the back of object/character""" - back_outline = [self.back_outline] if self.back_outline else [] - sprites = [self.apply_color(x, n) for n, x in enumerate(self.back) if x] + back_outline - if sprites: - return (Fixed(*sprites, fit_first=True), -100+self.zorder) + def _build_button(self, _hash): + style = "wardrobe_button" + is_seen = self.seen + is_equipped = self.char.is_equipped_item(self) + is_inadequate = bool(get_character_progression(self.char.name) < self.level) + is_blacklisted = self.char.is_blacklisted(self.type) + is_blacklister = any(self.char.is_equipped(x) for x in self.blacklist) + is_modded = bool(self.modpath) - w, h = self.sizes - return (Null(width=w, height=h), -100+self.zorder) + warnings = [] + if is_blacklisted or is_blacklister: + blacklisted = [x for x in self.blacklist if self.char.is_equipped(x)] # Offender (List currently blacklisted clothing types by this item) + blacklister = self.char.get_blacklister(self.type) # Victim (List clothing types blacklisting this item ) + warnings.append("Incompatible with:{size=-4}\n" + "\n".join(set(blacklisted + blacklister)) + "{/size}") - def get_front(self): - """Returns a list of layers displayed in the front of object/character""" - front_outline = [self.front_outline] if self.front_outline else [] - sprites = [self.apply_color(x, n) for n, x in enumerate(self.front) if x] + front_outline - if sprites: - return (Fixed(*sprites, fit_first=True), 100+self.zorder) + child = Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6) + hbox = [] + overlay = [] - w, h = self.sizes - return (Null(width=w, height=h), 100+self.zorder) + action = [Return(["equip", self]), self.build_button] + unhovered = None + foreground = None + hover_foreground = "#ffffff80" - def get_armfix(self, mannequin=False): - if self.armfix: - if mannequin: - armleft = gray_tint("{}armleft/{}_fix.webp".format(self.char.body.imagepath, self.char.body.get_part("armleft"))) - armright = gray_tint("{}armright/{}_fix.webp".format(self.char.body.imagepath, self.char.body.get_part("armright"))) - else: - armleft = Transform("{}armleft/{}_fix.webp".format(self.char.body.imagepath, self.char.body.get_part("armleft")), matrixcolor=HueMatrix(self.char.body.hue)) - armright = Transform("{}armright/{}_fix.webp".format(self.char.body.imagepath, self.char.body.get_part("armright")), matrixcolor=HueMatrix(self.char.body.hue)) - return (Fixed(armleft, armright, fit_first=True), 0.5+self.zorder) + if is_inadequate: + warnings.append("Character level too low") - w, h = self.sizes - return (Null(width=w, height=h), 0.5+self.zorder) + if is_modded: + warnings.append("Item belongs to a mod:\n{size=-4}{color=#35aae2}" + self.get_modname() + "{/color}{/size}") + hbox.append(Text("M", color="#00b200", style="wardrobe_button_text")) - def get_mannequin(self): - return (self.char.body.get_mannequin(group=[self]), 0) + if is_blacklisted or is_blacklister: + hbox.append(Text("!", color="#b20000", style="wardrobe_button_text")) - def get_icon(self): - """Returns cropped Fixed displayable""" - if not renpy.is_skipping(): - if not self.cached_icon: - self.cached_icon = True - self.make_icon() - return self.ico + for i in self.char.wardrobe_list: + if i.unlocked and i.type == self.type: + action.append(i.build_button) - def apply_color(self, img, n): + if config.developer and self.level > 0: + hbox.append(Text(str(self.level), color="#00ffff", style="wardrobe_button_text")) + + if not is_seen: + unhovered = [Function(self.mark_as_seen), self.clear_button_cache, self.build_button] + overlay.append(Text("NEW", align=(1.0, 1.0), offset=(-6, -6), style="wardrobe_button_text")) + + if is_equipped: + overlay.append(Transform("interface/topbar/icon_check.webp", align=(1.0, 1.0), offset=(-6, -6), size=(24, 24))) + + if hbox: + overlay.append(HBox(*hbox, offset=(6, 6))) + + if overlay: + child = Fixed(child, *overlay, fit_first=True) + + if is_inadequate: + foreground = "#b2000040" + hover_foreground = "#CD5C5C40" + + return Button(child=child, focus_mask=None, xysize=(96, 96), background=self.icon, action=action, tooltip=("\n".join(warnings)), foreground=foreground, hover_foreground=hover_foreground, unhovered=unhovered, style=style) + + @functools.cache + def build_button(self, _=None): + + def _func(self, hash): + result = self._build_button(self._hash) + self._button.put(result) + + thread = DollThread(target=_func, args=(self, self._hash)) + thread.start() + + @property + def button(self): + if settings.get("multithreading"): + return self._button.get_with_default(self._loading) + else: + return self._build_button(self._hash) + + def clear_button_cache(self): + if not settings.get("multithreading"): + return + + self.build_button.cache_clear() + + def apply_color(self, img, n, maxsize): """Takes image and int layer number. Used internally.""" - c = TintMatrix(tuple(self.color[n])) - return Transform(img, matrixcolor=c) + try: + c = self.color[n] + + # Method 1 + + # r,g,b = c.rgb + # average = max(min((r + g + b) / 3, 0.6666), 0.3333) + + # Method 2 + + # lightness = max(min(c.hls[1], 0.6666), 0.3333) + # average = (lightness, lightness, lightness) + + # Method 3 + + # r,g,b = c.rgb + # luster = (max(r,g,b)+min(r,g,b)) / 2 + # c = c.replace_lightness(luster) + # average = (luster, luster, luster) + + # Method 4 + + average = (0.3333, 0.3333, 0.3333) + + return Transform(img, maxsize=maxsize, matrixcolor=SepiaMatrix(c, desat=average)*OpacityMatrix(c.alpha)) + + except TypeError: + print(f"Item doesn't support colors but was supplied with a list; Try removing numbered files in its directory:\n{self.__repr__()}") + d = At(Frame(Text("TypeErr", color="#ffff00"), tile=True), blink_repeat) + return Transform(AlphaMask(d, img)) + except IndexError: + print(f"Mismatched number of textures and colors; Try reducing number of supplied colours in item definition:\n{self.__repr__()}") + d = At(Frame(Text("IndxErr", color="#ff0000"), tile=True), blink_repeat) + return Transform(AlphaMask(d, img)) def set_color(self, n): """Takes int layer number for manual color picking or a list to replace the cloth color in its entirety.""" if isinstance(n, int): - col = Color(tuple(self.color[n])) - dcol = Color(tuple(self.color_default[n])) + col = self.color[n] + dcol = self.color_default[n] cp.live_replace(col) cp.start_replace(col) @@ -208,84 +344,51 @@ init python: renpy.show_screen("colorpickerscreen", self) while True: - action, value = ui.interact() + try: + action, value = ui.interact() + except: + print(f"{ui.interact()}") + break if action == "layer": n = value - col = Color(tuple(self.color[value])) - dcol = Color(tuple(self.color_default[n])) + col = self.color[value] + dcol = self.color_default[value] cp.live_replace(col) cp.start_replace(col) cp.default_replace(dcol) elif action == "released": - self.color[n] = [int(255*x) for x in value.rgba] - self.rebuild_image() - self.char.rebuild_image() + self.color[n] = value + self.is_stale() elif action == "replace": - self.color[n] = [int(255*x) for x in value.rgba] + self.color[n] = value cp.live_replace(value) - self.rebuild_image() - self.char.rebuild_image() + self.is_stale() elif action == "finish": break renpy.hide_screen("colorpickerscreen") elif isinstance(n, list): - self.color = [x[:] for x in n] - self.rebuild_image() - self.char.rebuild_image() - self.rebuild_icon() + self.color = [Color( (tuple(x) if isinstance(x, list) else x) ) for x in n] + self.is_stale() def reset_color(self, n=None): """Reset cloth color. Takes optional int layer number to reset only specific layer color.""" if n: - self.color[n] = [x for x in self.color_default] + self.color[n] = self.color_default[n] else: - self.color = [x[:] for x in self.color_default] - self.rebuild_image() - self.char.rebuild_image() - self.rebuild_icon() + self.color = [x for x in self.color_default] + self.is_stale() def clone(self): """Creates a clone of this cloth object. Since it requires a parent object it should be used internally only to avoid object depth issue.""" - return DollCloth(self.name, self.categories, self.type, self.id, [x[:] for x in self.color], self.zorder, self.unlocked, self.level, self.blacklist, self, self.armfix, self.modpath) - - def set_pose(self, pose): - compatible = False - - for x in (self.categories[0], self.categories[1], self.type): - if pose is None: - path = "{}/characters/{}/clothes/{}/{}/".format(self.modpath, self.name, x, self.id) - if renpy.loadable(path + "0.webp"): - self.imagepath = path - self.char.wear(self.type) - compatible = True - break - else: - path = "{}/characters/{}/poses/{}/clothes/{}/{}/".format(self.modpath, self.name, pose, x, self.id) - if renpy.loadable(path + "0.webp"): - self.imagepath = path - self.char.wear(self.type) - compatible = True - break - - if not compatible: - self.char.strip(self.type) - return - - self.set_layers() - self.rebuild_image() - return - - def is_compatible(self): - return + modpath = self.modpath.lstrip("mods/") + return DollCloth(self.name, self.categories, self.type, self.id, [x for x in self.color] if self.color else None, self.zorder, self.unlocked, self.level, self.blacklist, modpath, self) def is_modded(self): """Returns True if item comes from a mod.""" - if self.modpath: - return True - return False + return bool(self.modpath) def get_modname(self): """Return the name of the mod directory if exists.""" @@ -295,7 +398,7 @@ init python: self.seen = True def is_multislot(self): - return any(x in self.type for x in self.multislots) + return self.type in self.multislots def unlock(self): self.unlocked = True diff --git a/game/scripts/doll/clothes_dynamic.rpy b/game/scripts/doll/clothes_dynamic.rpy new file mode 100644 index 00000000..dad5497d --- /dev/null +++ b/game/scripts/doll/clothes_dynamic.rpy @@ -0,0 +1,187 @@ +init python: + class DollClothDynamic(DollCloth): + prefixes = ["!=", "?=", "+=", "!", "?", "+"] + + def __init__(self, name, categories, type, id, color, zorder=None, unlocked=False, level=0, blacklist=[], modpath=None, tracking=None, parent=None): + self._tracking = tracking + + super().__init__(name, categories, type, id, color, zorder, unlocked, level, blacklist, modpath, parent) + + def __repr__(self): + return f"DollClothDynamic(name='{self.name}', categories={self.categories}, type='{self.type}', id='{self.id}', color={self.color}, zorder={self.zorder}, unlocked={self.unlocked}, level={self.level}, blacklist={self.blacklist}, modpath={self.modpath or None}, tracking='{self._tracking}', parent={self.parent})" + + @functools.cached_property + def prefix(self): + return next((p for p in self.prefixes if self._tracking.startswith(p)), None) + + @functools.cached_property + def tracking(self): + prefixes = "".join(self.prefixes) + return self._tracking.strip(self.prefix) + + @property + def tracking_object(self): + if self.prefix in ("!", "?", "+"): + return self.char.states.get(self.tracking)[0] + else: + return eval(self.tracking) + + def generate_hash(self): + tracking_object = self.tracking_object + tracking_hash = str(tracking_object._hash) if tracking_object else "default" + salt = str( [self.name, self.char.pose, self.type, self.id, str(self.color), str(self.char.body._hash)] ) + tracking_hash + return hash(salt) + + @functools.cache + def get_layers(self, hash, subpath="", _ignore_equipped=False): + path = posixpath.join(self.modpath, "characters", self.name, "poses", self.char.pose, subpath, "clothes", self.type, self.id) + _tracking = self._tracking + + def _negative_lookahead(): + return None if self.tracking_object else "default" + + def _lookahead(path): + tracking_object = self.tracking_object + tracking_id = tracking_object.id if tracking_object else None + path = posixpath.join(path, tracking_id) + + if not any(fp.startswith(path) for fp in renpy.list_files()): + return "default" + return tracking_id + + def _chainload(): + + def __wrapper(obj): + + def ___chain(obj): + if isinstance(obj, DollClothDynamic): + return "+".join( (obj.id, ___chain(obj.tracking_object)) ) + return obj.id + + return ___chain(obj) + + tracking_object = self.tracking_object + + if tracking_object: + + chain = __wrapper(tracking_object) + tracking_id = chain + + return tracking_id + return None + + def _negative_lookahead_item(): + tracking_object = self.tracking_object + return None if self.char.is_equipped_item(tracking_object) else "default" + + def _lookahead_item(): + tracking_object = self.tracking_object + return tracking_object.id if self.char.is_equipped_item(tracking_object) else "default" + + def _default(): + tracking_object = self.tracking_object + return tracking_object.id if tracking_object else None + + if _ignore_equipped: + tracking_id = "default" + else: + processors = { + "!": lambda tracking, _: _negative_lookahead(), + "?": lambda tracking, path: _lookahead(path), + "+": lambda tracking, _: _chainload(), + "!=": lambda tracking, _: _negative_lookahead_item(), + "?=": lambda tracking, _: _lookahead_item(), + "+=": lambda tracking, _: _chainload(), + None: lambda tracking, _: _default() + } + + processor = processors[self.prefix] + tracking_id = processor(_tracking, path) + + if tracking_id is None: + print(f"Invalid tracker for object: {self}") + return {} + + path = posixpath.join(path, tracking_id) + + extensions = self.extensions + types = self.layer_types + modifiers = self.layer_modifiers + + layers = {} + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + + if not fp == path or not ext in extensions: + continue + + ltype, *tails = fn.rsplit("_") + + if not ltype.isdigit() and not ltype in types: + print(f"Invalid layer type for file: {f}") + continue + + zorder = z if (z := types.get(ltype)) is not None else self.zorder + + if isinstance(zorder, str): + zorder = self.zorder + int(zorder) + + if tails: + lmodifier, *tails = tails + + if not lmodifier in modifiers: + print("Invalid modifier for file: {}".format(f)) + continue + + zorder_mod = modifiers.get(lmodifier) + zorder = (zorder + int(zorder_mod)) if lmodifier != "zorder" else int(tails[-1]) + layers.setdefault("_".join([ltype, lmodifier, str(zorder)]), [f, zorder]) + else: + layers.setdefault(ltype, [f, zorder]) + + return layers + + @functools.cache + def build_icon(self, hash): + if self.prefix in ("!", "!="): + self.layers = self.get_layers(hash, _ignore_equipped=True) + hash = self.generate_hash() + tracking_object = None + else: + tracking_object = self.tracking_object + + matrix = SaturationMatrix(0.0) + sprites = [i for i in self.build_image(hash, matrix=matrix) if not i[0] == "mask"] + + if not tracking_object is None: + sprites.extend([i for i in tracking_object.build_image(tracking_object._hash, matrix=matrix) if not i[0] == "mask"]) + + sprites.extend(self.char.body.build_image(self.char.body._hash, matrix=matrix)) + sprites.sort(key=itemgetter(2)) + bounds = self.get_layers(hash).get("outline", [sprites[0][1]])[0] + + wmax, hmax = self.sizes + wmin = hmin = 96 + + x, y, w, h = crop_whitespace(bounds) + xoffset, yoffset = w/2, h/2 + + w = h = max(w, h, wmin, hmin) + + w = max(wmin, w + w/2) + h = max(hmin, h + h/2) + + x = clamp( (x - w/2) + xoffset, 0, wmax) + y = clamp( (y - h/2) + yoffset, 0, hmax) + + # Forbid exceeding the image height. + if y+h > hmax: + y = hmax-h + + return Transform(Fixed(*[i[1] for i in sprites], fit_first=True), crop=(x, y, w, h), size=(96, 96), fit="contain", align=(0.5, 0.5)) + + def clone(self): + """Creates a clone of this cloth object. Since it requires a parent object it should be used internally only to avoid object depth issue.""" + modpath = self.modpath.lstrip("mods/") + return DollClothDynamic(self.name, self.categories, self.type, self.id, [x for x in self.color] if self.color else None, self.zorder, self.unlocked, self.level, self.blacklist, modpath, self._tracking, self) diff --git a/game/scripts/doll/common.rpy b/game/scripts/doll/common.rpy index 63693d1c..a0bc9b0d 100644 --- a/game/scripts/doll/common.rpy +++ b/game/scripts/doll/common.rpy @@ -1,26 +1,6 @@ init -1 python: - ### Global Functions ### - - def get_character_emote(char, emote): - return "characters/{}/emotes/{}.webp".format(char, emote) if emote else None - - def get_character_pos(char): - global sprite_pos - - flip = getattr(renpy.store, char+"_flip", None) - use_head = getattr(renpy.store, "use_"+char+"_head", None) - - # Resolve X position for head state - if use_head: - xpos = sprite_pos["x"]["far_right"] if flip == 1 else sprite_pos["x"]["far_left"] - else: - xpos = getattr(renpy.store, char+"_xpos", None) - ypos = getattr(renpy.store, char+"_ypos", None) - - return (xpos, ypos) - ### Classes ### class DollDisplayable(renpy.Displayable): @@ -68,40 +48,41 @@ init -1 python: def visit(self): return [] - class DollMethods(object): + class DollMethods(SlottedObject): """Container class for commonly used methods and attributes""" - sprite = Null() - cached = False - threadlock = False - icon_threadlock = False - - layers_extra = {"extra", "outline", "overlay"} - layers_special = {"skin", "mask", "wind_mask"} - layers_additional = {"back", "front"} + _loading = Text("Loading", align=(0.5, 0.5)) + _image = Null() + _image_cached = False blacklist_toggles = ("hair", "glasses", "pubes", "piercing", "makeup", "tattoo", "earrings") - blacklist_unequip = {"hair"} + blacklist_unequip = ("hair",) + blacklist_strip = ("pubes", "piercing", "tattoo") multislots = ("makeup", "accessory", "piercing", "tattoo") - + extensions = {".webp", ".png", ".jxl", ".avif"} sizes = (1010, 1200) # Default sizes used for defining rare cases - def rebuild_image(self): - # Defers rebuild until next time get_image is called - self.cached = False - - def make_image(self): - thread = DollThread(target=self.build_image) - thread.daemon = True - thread.start() - - sprites = thread.join() - - self.sprite = DollDisplayable(Fixed(*sprites, fit_first=True)) - - def get_image(self): + @property + def image(self): if not renpy.is_skipping(): - if not self.cached: - self.cached = True + if not self._image_cached: + self._image_cached = True + self._image = self.build_image() + return self._image - self.make_image() - return self.sprite + def is_stale(self): + curr_hash = self.generate_hash() + stale = curr_hash != self._hash + self._hash = curr_hash + return stale + + def DollRebuild(): + for i in states.dolls: + doll = getattr(store, i) + + if doll.is_stale() and not settings.get("multithreading"): + doll.show(ignore_skipping=True) + + renpy.restart_interaction() + + config.after_load_callbacks.append(DollRebuild) + end_skip_callbacks.append(DollRebuild) diff --git a/game/scripts/doll/cum.rpy b/game/scripts/doll/cum.rpy index 1c4f0c90..5e1c1561 100644 --- a/game/scripts/doll/cum.rpy +++ b/game/scripts/doll/cum.rpy @@ -1,45 +1,148 @@ init python: class DollCum(DollMethods): - zorder_cum = 100 + layer_types = { + "mask": "-1", + "skin": 1, + "cum": None, + } + + layer_modifiers = { + "back": "-300", + "front": "+300", + "zorder": None, + } + + __slots__ = ("char", "_cum", "_hash") def __init__(self, obj): self.char = obj - self.name = self.char.name - self.imagepath = "characters/{}/cum/".format(self.name) + self._cum = {k: None for k in (self.char.clothing_layers | self.char.face_layers).keys()} + self._hash = None - self.cum = dict((k, None) for k in {"hair", "face", "breasts", "body", "crotch", "pussy", "legs"}) - - def build_image(self): - sprites = tuple("{}{}/{}.webp".format(self.imagepath, k, v) for k, v in self.cum.iteritems() if v != None) - return sprites - - def get_skin(self): - return ["{}{}/{}_skin.webp".format(self.imagepath, k, v) for k, v in self.cum.iteritems() if renpy.loadable("{}{}/{}_skin.webp".format(self.imagepath, k, v))] + def generate_hash(self): + salt = str( [self.char.name, self.char.pose, str(self.char.face._hash), str(self.char.face._hash), str([x[0]._hash for x in self.char.states.values() if x[0] and x[2]]), sorted(list(self._cum.items()))] ) + return hash(salt) def set_cum(self, *args, **kwargs): - """Takes keyword argument(s) containing string name(s) of cum layers to apply or None. Returns True if image is changed.""" - changed = False - if args: - for k, v in self.cum.iteritems(): - if v != args[0]: - self.cum[k] = args[0] - changed = True + self._cum = {k: args[0] for k in self._cum} - for arg, value in kwargs.iteritems(): - if str(arg) != value: - self.cum[str(arg)] = value - changed = True + self._cum.update(kwargs) + self.is_stale() - if changed: - self.rebuild_image() + @functools.cache + def get_layers(self, hash, subpath=""): - return changed + def _lookahead(path): + return any(fp.startswith(path) for fp in renpy.list_files()) - def set_pose(self, pose): - if pose is None: - self.imagepath = "characters/{}/cum/".format(self.name) - else: - self.imagepath = "characters/{}/poses/{}/cum/".format(self.name, pose) - self.rebuild_image() - return + cum = self._cum + + extensions = self.extensions + types = self.layer_types + modifiers = self.layer_modifiers + face_layers = self.char.face_layers + body_layers = self.char.body_layers + clothing_layers = self.char.clothing_layers + + active_faces = self.char.face._face + active_clothes = self.char.states + + layers = {} + for part, name in cum.items(): + + if name is None: + continue + + if part in face_layers: + zorder = face_layers.get(part) + 1 + identifier = active_faces.get(part, "default") + + if not isinstance(identifier, str): + continue + + path = posixpath.join(self.char.modpath, "characters", self.char.name, "poses", self.char.pose, subpath, "cum", part, name, identifier) + elif part in (clothing_layers | body_layers): + + cloth, zorder, is_worn = active_clothes.get(part, [None, None, None]) + + if cloth is None or not is_worn: + continue + + identifier = cloth.id + modpath = cloth.modpath + zorder = cloth.zorder + 1 + + path = posixpath.join(modpath, "characters", self.char.name, "poses", self.char.pose, "cum", part, name, identifier) + path = path if _lookahead(path) else posixpath.join(os.path.split(path)[0], (identifier := "default")) + else: + zorder = 100 + path = posixpath.join(self.char.modpath, "characters", self.char.name, "poses", self.char.pose, "cum", part, name) + + if config.developer and not _lookahead(path): + print(f"Files and/or directories are missing: {path}/") + + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + + if not fp == path or not ext in extensions: + continue + + ltype, *tails = fn.rsplit("_") + + if not ltype in types: + print(f"Invalid layer type for file: {f}") + continue + + zorder = types.get(ltype) or zorder + + if tails: + lmodifier, *tails = tails + + if not lmodifier in modifiers: + print(f"Invalid modifier for file: {f}") + continue + + zorder_mod = modifiers.get(lmodifier) + zorder = (zorder + int(zorder_mod)) if lmodifier != "zorder" else int(tails[-1]) + layers.setdefault(" ".join([part, name, ltype, lmodifier, str(zorder)]), [f, zorder]) + else: + layers.setdefault(" ".join([part, name, ltype]), [f, zorder]) + + return layers + + @functools.cache + def build_image(self, hash, subpath="", matrix=None): + if matrix is None: + matrix = self.char.body.matrix + + processors = { + "skin": lambda file: Transform(file, matrixcolor=matrix), + "default": lambda file: Image(file), + } + + layers = self.get_layers(hash, subpath) + + sprites = [] + for identifier, (file, zorder) in layers.items(): + + cum_type, name, ltype = identifier.rsplit(" ") + processor = processors.get(ltype, processors["default"]) + + processed_file = processor(file) + sprites.append((identifier, processed_file, zorder)) + + return sprites + + @property + def image(self): + if not renpy.is_skipping() and self.is_stale(): + hash = self._hash + + sprites = self.build_image(hash) + sprites.sort(key=itemgetter(2)) + sprites = [x[1] for x in sprites] + + self._image = Fixed(*sprites, fit_first=True) + return self._image diff --git a/game/scripts/doll/face.rpy b/game/scripts/doll/face.rpy index 9df454df..ee86294c 100644 --- a/game/scripts/doll/face.rpy +++ b/game/scripts/doll/face.rpy @@ -1,95 +1,117 @@ init python: class DollFace(DollMethods): + layer_types = { + "eyemask": -1, + "skin": 1, + "expression": None, + } - blacklist_blink = {None, "closed", "happyCl", "wink"} + layer_modifiers = { + "zorder": None, + } - def __init__(self, obj, face): + __slots__ = ("char", "_cum", "_hash") + + def __init__(self, obj): self.char = obj - self.name = self.char.name - self.face = face - self.imagepath = "characters/{}/face/".format(self.name) - - def build_image(self): - sprites = [] - ### TODO: This piece of code needs to be simplified. - - # Add facial expressions - for k, v in self.face.iteritems(): - if v[0] and k not in ("eyes", "pupils"): - sprites.append(("{}{}/{}.webp".format(self.imagepath, k, v[0]), v[1])) - - eyes = self.face["eyes"][0] - pupils = self.face["pupils"][0] - - if eyes not in self.blacklist_blink: - blink_path = "{}eyes/closed.webp".format(self.imagepath) - eyes_path = "{}eyes/{}.webp".format(self.imagepath, eyes) - mask_path = "{}eyes/{}_mask.webp".format(self.imagepath, eyes) - pupils_path = "{}pupils/{}.webp".format(self.imagepath, pupils) - - if pupils: - if renpy.loadable(blink_path): - normal = Fixed(eyes_path, AlphaMask(pupils_path, mask_path), fit_first=True) - sprites.append( (doll_blink(normal, blink_path), self.face["eyes"][1]) ) - else: - sprites.append((eyes_path, self.face["eyes"][1])) - - if renpy.loadable(mask_path): - sprites.append((AlphaMask(pupils_path, mask_path), self.face["pupils"][1])) - else: - if eyes: - eyes_path = "{}eyes/{}.webp".format(self.imagepath, eyes) - sprites.append((eyes_path, self.face["eyes"][1])) - - mask_path = "{}eyes/{}_mask.webp".format(self.imagepath, eyes) - if renpy.loadable(mask_path): - pupils_path = "{}pupils/{}.webp".format(self.imagepath, pupils) - sprites.append((AlphaMask(pupils_path, mask_path), self.face["pupils"][1])) - - sprites.sort(key=itemgetter(1)) - sprites = tuple(x[0] for x in sprites) - return sprites - - def get_skin(self): - for k, v in self.face.iteritems(): - skin_path = "{}{}/{}_skin.webp".format(self.imagepath, k, v[0]) - if renpy.loadable(skin_path): - yield skin_path - - def get_face(self): - return dict((k, v[0]) for k, v in self.face.iteritems()) + self._face = {k: None for k in self.char.face_layers.keys()} + self._hash = None def set_face(self, **kwargs): - """Takes keyword argument(s) with the string name of expression file(s). Returns True if image is changed.""" - changed = False - for arg, value in kwargs.iteritems(): - if value not in (self.face[str(arg)][0], False): - self.face[str(arg)][0] = value - changed = True + self._face.update((k, v) for k, v in kwargs.items() if not v is None) + self.is_stale() - if changed: - self.rebuild_image() + def generate_hash(self): + salt = str( [self.char.name, self.char.pose, str(self.char.body._hash), sorted(list(self._face.items()))] ) + return hash(salt) - return changed + @functools.cache + def get_layers(self, hash, subpath=""): + face = self._face - def set_pose(self, pose): - if pose is None: - self.imagepath = "characters/{}/face/".format(self.name) - else: - self.imagepath = "characters/{}/poses/{}/face/".format(self.name, pose) + extensions = self.extensions + types = self.layer_types + modifiers = self.layer_modifiers + face_layers = self.char.face_layers - self.rebuild_image() - return + layers = {} + for part, name in face.items(): - def set_zorder(self, **kwargs): - """Takes keyword argument(s) with the string name of face type(s) and int value(s). Returns True if image is changed.""" - changed = False - for arg, value in kwargs.iteritems(): - if value != self.face[str(arg)][1]: - self.face[str(arg)][1] = value - changed = True + if name in (None, False): + continue - if changed: - self.rebuild_image() + path = posixpath.join(self.char.modpath, "characters", self.char.name, "poses", self.char.pose, subpath, "face", part, name) - return changed + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + + if not fp == path or not ext in extensions: + continue + + ltype, *tails = fn.rsplit("_") + + if not ltype in types: + print("Invalid layer type for file: {}".format(f)) + continue + + zorder = types.get(ltype) or face_layers.get(part) + + if tails: + lmodifier, *tails = tails + + if not lmodifier in modifiers: + print("Invalid modifier for file: {}".format(f)) + continue + + zorder_mod = modifiers.get(lmodifier) + zorder = (zorder + int(zorder_mod)) if lmodifier != "zorder" else int(tails[-1]) + layers.setdefault(" ".join([part, name, ltype, lmodifier, str(zorder)]), [f, zorder]) + else: + layers.setdefault(" ".join([part, name, ltype]), [f, zorder]) + + return layers + + @functools.cache + def build_image(self, hash, subpath="", matrix=None): + layers = self.get_layers(hash, subpath) + eyemask = next((layers.pop(k, None) for k in layers if "eyemask" in k), [None])[0] + + if matrix is None: + matrix = self.char.body.matrix + + processors = { + "skin": lambda file: Transform(file, matrixcolor=matrix), + "pupils": lambda file: AlphaMask(file, eyemask), + "default": lambda file: Image(file), + } + + sprites = [] + for identifier, (file, zorder) in layers.items(): + + expr_type, name, ltype, *tails = identifier.rsplit(" ") + + if expr_type == "pupils": + if not eyemask: + continue + + processor = processors["pupils"] + else: + processor = processors.get(ltype, processors["default"]) + + processed_file = processor(file) + sprites.append((identifier, processed_file, zorder)) + + return sprites + + @property + def image(self): + if not renpy.is_skipping() and self.is_stale(): + hash = self._hash + + sprites = self.build_image(hash) + sprites.sort(key=itemgetter(2)) + sprites = [x[1] for x in sprites] + + self._image = Fixed(*sprites, fit_first=True) + return self._image diff --git a/game/scripts/doll/init.rpy b/game/scripts/doll/init.rpy index dffba943..28040f02 100644 --- a/game/scripts/doll/init.rpy +++ b/game/scripts/doll/init.rpy @@ -2,12 +2,23 @@ init offset = 2 init python: def wardrobe_init(): - for c in CHARACTERS: + for c in states.dolls: char = get_character_object(c) + body_default = get_character_body(c, type="default") + char.equip(body_default) + outfit_default = get_character_outfit(c, type="default") char.equip(outfit_default) outfit_last = outfit = get_character_outfit(c, type="last") outfit_last.save() + char.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid", cheeks="none", tears="none") + + def chibi_init(): + # TODO: Perhaps it could be automated? + hooch_chibi.register("stand", 1, (600, 800)) + hooch_chibi.register("walk", 8, (600, 800)) + + config.start_callbacks.extend([wardrobe_init, chibi_init]) diff --git a/game/scripts/doll/lipstick.rpy b/game/scripts/doll/lipstick.rpy deleted file mode 100644 index cd7ce07c..00000000 --- a/game/scripts/doll/lipstick.rpy +++ /dev/null @@ -1,65 +0,0 @@ -init python: - class DollLipstick(DollCloth): - - def set_imagepath(self): - self.imagepath = "{}/characters/{}/clothes/makeup/lipstick/".format(self.modpath, self.name) - - def set_layers(self): - for x in self.layers_special: - self.__dict__[x] = None - - for x in self.layers_additional: - self.__dict__[x] = [] - for i in xrange(self.layers): - path = "{}{}_{}.webp".format(self.imagepath, i, x) - if renpy.loadable(path): - self.__dict__[x].append(path) - self.__dict__[x+"_outline"] = None - - return - - def build_image(self): - mouth = self.char.face.face["mouth"][0] - sprites = ((self.apply_color("{}{}.webp".format(self.imagepath, mouth), 0)), ) - return sprites - - def build_icon(self): - mouth = "base" #HARDCODED - sprites = (self.char.body.get_mannequin([self]), self.apply_color("{}{}.webp".format(self.imagepath, mouth), 0), ) - bounds = "{}{}.webp".format(self.imagepath, mouth) - - wmax, hmax = self.sizes - wmin = hmin = 96 - - x, y, w, h = crop_whitespace(bounds) - xoffset, yoffset = w/2, h/2 - - w = h = max(w, h, wmin, hmin) - - w = max(wmin, w + w/2) - h = max(hmin, h + h/2) - - x = clamp( (x - w/2) + xoffset, 0, wmax) - y = clamp( (y - h/2) + yoffset, 0, hmax) - - # Forbid exceeding the image height. - if y+h > hmax: - y = hmax-h - - return Transform(Fixed(*sprites, fit_first=True), crop=(x, y, w, h)) - - def set_pose(self, pose): - if pose is None: - path = "{}/characters/{}/clothes/makeup/lipstick/".format(self.modpath, self.name) - self.imagepath = path - else: - path = "{}/characters/{}/poses/{}/clothes/makeup/lipstick/".format(self.modpath, self.name, pose) - if renpy.loadable(path + "base.webp"): - self.imagepath = path - - self.rebuild_image() - return - - def clone(self): - """Creates a clone of this lipstick object. Since it requires a parent object it should be used internally only to avoid object depth issue.""" - return DollLipstick(self.name, self.categories, self.type, self.id, [x[:] for x in self.color], self.zorder, self.unlocked, self.level, self.blacklist, self, self.armfix, self.modpath) diff --git a/game/scripts/doll/main.rpy b/game/scripts/doll/main.rpy index 7649707c..80f33566 100644 --- a/game/scripts/doll/main.rpy +++ b/game/scripts/doll/main.rpy @@ -1,50 +1,101 @@ init python: class Doll(DollMethods): - def __init__(self, name, clothes, face, body): + # 0 - 50 = Skin/Body Layers + # 51 - 100 = Face Layers + # 101 - 300+ = Clothes Layers + + body_layers = { + "frame": 0, + "legs": 1, + "hips": 2, + "abdomen": 3, + "chest": 4, + "arms": 5, + "head": 6, + } + + face_layers = { + "tears": 75, + "eyebrows": 70, + "pupils": 65, + "eyes": 60, + "mouth": 55, + "cheeks": 51 + } + + clothing_layers = { + "makeup": 111, # multislot + "accessory": 121, # multislot + "piercing": 131, # multislot + "tattoo": 141, # multislot + "pubes": 151, + "stockings": 161, + "panties": 171, + "garterbelt": 181, + "bottom": 191, + "bra": 201, + "top": 211, + "gloves": 221, + "robe": 231, + "neckwear": 241, + "hair": 251, + "earrings": 261, + "glasses": 271, + "headgear": 281 + } + + __slots__ = ("wardrobe", "wardrobe_list", "blacklist", "outfits", "name", "states", "face", "body", "cum", \ + "pose", "emote", "_hash", "zorder", "layer", "animation", "tag", "pos", "zoom", "xzoom", "align", "modpath") + + def __init__(self, name, modpath=None): self.wardrobe = {} self.wardrobe_list = [] self.blacklist = [] self.outfits = [] self.name = name - self.clothes = clothes - self.face = DollFace(self, face) - self.body = DollBody(self, body) + self.states = {k: [None, v, True] for k, v in (self.clothing_layers | self.body_layers).items()} + self.face = DollFace(self) + self.body = DollBody(self) self.cum = DollCum(self) - self.pose = None + self.pose = "default" self.emote = Null() + self._hash = None + self._sprite = DefaultQueue() # Image properties self.zorder = 15 self.layer = "screens" self.animation = None - self.tag = get_character_tag(name) + self.tag = f"{name}_main" # Transform properties self.pos = (0, 0) self.zoom = 0.5 self.xzoom = 1 - self.align = (0.5, 1.0) - def rebuild(self): - """Rebuild character image cache.""" - self.body.rebuild_image() - self.face.rebuild_image() - self.cum.rebuild_image() - for o in self.wardrobe_list: - o.rebuild_image() - o.rebuild_icon() - for o in self.outfits: - o.rebuild_image() - self.rebuild_image() + self.modpath = "mods/" + posixpath.normpath(modpath) if modpath else "" - def rebuild_image(self): - self.cached = False + self.build_image() - if renpy.showing(get_character_tag(self.name), layer=self.layer): - self.show() + # Add doll name to global doll states store + try: + renpy.store.states.dolls.add(name) + except AttributeError: + renpy.store.states.dolls = {name} - def show(self): - if renpy.get_screen(("wardrobe", "animatedCG", "studio")): + def generate_hash(self): + clothes_hash = str([x[0]._hash for x in self.states.values() if istype(x[0], (DollCloth, DollClothDynamic, DollMakeup)) and x[2]]) + salt = str( [self.name, self.pose, str(self.body._hash), str(self.face._hash), str(self.cum._hash), clothes_hash] ) + return hash(salt) + + def show(self, force=False, ignore_skipping=False): + if renpy.get_screen(("wardrobe", "animatedCG", "studio")) or renpy.showing("cg"): + return + + if renpy.is_skipping() and not ignore_skipping: + return + + if not force and not renpy.showing(get_character_tag(self.name), layer=self.layer): return base_transform = doll_transform(self.pos, self.zoom, self.xzoom) @@ -55,281 +106,413 @@ init python: if animation: at_list.append(animation) - renpy.show(name=self.tag, at_list=at_list, layer=self.layer, what=self.get_image(), zorder=self.zorder) + renpy.show(name=self.tag, at_list=at_list, layer=self.layer, what=self.image, zorder=self.zorder) def hide(self): renpy.hide(name=self.tag, layer=self.layer) - def build_image(self): - # Add body, face, cum, clothes, masks - masks = [] - sprites = [ - (self.body.get_image(), 0), - (self.face.get_image(), 1), - (self.cum.get_image(), self.cum.zorder_cum), - (self.emote, 1000), - ] + @functools.cache + def _build_image(self, hash): + from itertools import chain - for i in self.clothes.itervalues(): - clothing, _, is_worn = i + # Note: Bodyparts are a part of 'self.states' now. - if not clothing is None and is_worn: - zorder = clothing.zorder + sprites = list(chain.from_iterable( + (self.face.build_image(self.face._hash), + self.cum.build_image(self.cum._hash), + *(x[0].build_image(x[0]._hash) for x in self.states.values() if x[0] and x[2])) + )) - sprites.extend([ - (clothing.get_image(), zorder), - clothing.get_back(), - clothing.get_front(), - clothing.get_armfix(), - ]) + masks = [sprites.pop(sprites.index(x)) for x in sprites if x[0] == "mask"] - if clothing.mask: - masks.append((clothing.mask, zorder-1)) + sprites.sort(key=itemgetter(2)) + masks.sort(key=itemgetter(2)) - sprites.sort(key=itemgetter(1)) - masks.sort(key=itemgetter(1)) + back_sprites = [x[1] for x in sprites if x[2] < 0] - back_sprites = [x for x in sprites if x[1] < 0] - sprites = [x for x in sprites if x[1] >= 0] - - # Apply alpha mask + #Apply alpha mask for m in masks: - mask, mask_zorder = m + _, mask, mask_zorder = m for i, s in enumerate(sprites): - sprite, sprite_zorder = s + _, sprite, sprite_zorder = s if i < 1 or mask_zorder > sprite_zorder: continue - c = tuple(x[0] for x in sprites[:i] if not isinstance(x[0], Null)) - masked = AlphaMask(Fixed(*c, fit_first=True), mask) + masked = AlphaMask(Fixed(*(x[1] for x in sprites[:i]), fit_first=True), mask) sprites = sprites[i:] - sprites.insert(0, (masked, mask_zorder)) + sprites.insert(0, (None, masked, mask_zorder)) break - sprites = back_sprites + sprites - return tuple(x[0] for x in sprites if not isinstance(x[0], Null)) + sprites = back_sprites + [x[1] for x in sprites] + + return Fixed(*sprites, self.emote, fit_first=True) + + def build_image(self): + + def _func(self, hash): + result = self._build_image(hash) + self._sprite.put(result) + + thread = DollThread(target=_func, args=(self, self._hash)) + thread.start() + + def _image(self, st, at): + return self._sprite.get_with_default(Null()), None + + def is_stale(self): + curr_hash = self.generate_hash() + stale = curr_hash != self._hash + self._hash = curr_hash + + if stale and settings.get("multithreading"): + self.build_image() + return stale + + @property + def image(self): + if not renpy.is_skipping() and self.is_stale(): + self.show() + + if settings.get("multithreading"): + return DynamicDisplayable(self._image) + else: + return self._build_image(self._hash) def equip(self, obj, remove_old=True): """Takes DollCloth or DollOutfit object to equip.""" - if isinstance(obj, DollCloth): - self.clothes[obj.type][0] = obj - self.clothes[obj.type][2] = True - if self.is_blacklisted(obj.type): - self.unequip(*self.get_blacklister(obj.type)) + def _equip_item(item, color=None): + if item.is_multislot(): + for i in range(100): + multislot = item.type + str(i) + if multislot not in self.states or self.states[multislot][0] is None: + zorder = self.states[item.type][1] + self.states[multislot] = [item, zorder, True] + break + else: + zorder = self.states[item.type][1] + self.states[item.type] = [item, zorder, True] - if obj.blacklist: - self.unequip(*obj.blacklist) + if self.is_blacklisted(item.type): + self.unequip(*self.get_blacklister(item.type)) - if self.pose: - obj.set_pose(self.pose) + if item.blacklist: + self.unequip(*item.blacklist) + + for tracking in self.get_trackers_list(item.type): + tracking.is_stale() + + if color: + item.set_color(color) + + item.is_stale() + + def _equip_bodypart(item): + _equip_item(item) + self.body.is_stale() + + if istype(obj, (DollCloth, DollClothDynamic, DollMakeup)): + _equip_item(obj) + elif istype(obj, DollBodypart): + _equip_bodypart(obj) elif isinstance(obj, DollOutfit): if remove_old: - self.unequip("all") - - for i in obj.group: - self.clothes[i.type][0] = i.parent - self.clothes[i.type][0].set_color(i.color) - if self.pose: - i.parent.set_pose(self.pose) + self.unequip("clothes", "makeup") + for item in obj.group: + _equip_item(item.parent, color=item.color) elif isinstance(obj, (list, tuple)): - for cloth in obj: - self.clothes[cloth.type][0] = cloth - self.clothes[cloth.type][2] = True + for item in obj: + _equip_item(item) - if self.is_blacklisted(cloth.type): - self.unequip(*self.get_blacklister(cloth.type)) - - if cloth.blacklist: - self.unequip(*cloth.blacklist) - - if self.pose: - cloth.set_pose(self.pose) - - self.body.rebuild_image() - self.rebuild_image() self.rebuild_blacklist() update_chibi(self.name) + self.cum.is_stale() + self.is_stale() + self.show() def unequip(self, *args): """Takes argument(s) containing string cloth type(s) to unequip.""" - if "all" in args: - for k, v in self.clothes.iteritems(): - if not k in self.blacklist_unequip: - if self.pose and v[0]: - v[0].set_pose(None) - v[0], v[2] = None, True - else: - for arg in args: - if not arg in self.blacklist_unequip: - if self.pose and self.clothes[arg][0]: - self.clothes[arg][0].set_pose(None) - self.clothes[arg][0] = None - self.body.rebuild_image() - self.rebuild_image() + def _unequip_all(): + for k, v in self.states.items(): + if not k in self.blacklist_unequip: + v[0], v[2] = None, True + + def _unequip_type(type): + for k, v in self.states.items(): + if not k in self.blacklist_unequip and istype(v[0], type): + v[0], v[2] = None, True + + def _unequip_slot(slot): + if slot in self.blacklist_unequip: + return + + if slot in self.multislots: + for k, v in self.states.items(): + if v[0] and v[0].type == slot: + v[0], v[2] = None, True + else: + self.states[slot][0], self.states[slot][2] = None, True + + for arg in args: + if isinstance(arg, str): + if arg == "all": + _unequip_all() + elif arg == "clothes": + _unequip_type((DollCloth, DollClothDynamic)) + elif arg == "bodyparts": + _unequip_type(DollBodypart) + elif arg == "makeup": + _unequip_type(DollMakeup) + else: + _unequip_slot(arg) + + elif isinstance(arg, DollCloth): + if arg.is_multislot(): + slot = next((k for k, v in self.states.items() if v[0] == arg), None) + + if not slot: + continue + + _unequip_slot(slot) + else: + _unequip_slot(arg.type) + elif isinstance(arg, DollOutfit): + for item in arg.group: + _unequip_slot(item.type) + self.rebuild_blacklist() update_chibi(self.name) + self.cum.is_stale() + self.is_stale() + self.show() - def get_equipped(self, type): + def get_equipped(self, slot): """Takes argument containing string cloth type. Returns equipped object for cloth type.""" - return self.clothes[type][0] + return self.states[slot][0] - def get_equipped_item(self, items): + def get_equipped_wardrobe_item(self, items, subcat): """Returns first equipped item from a list or None.""" - for i in items: + for i in items.get(subcat, []): if self.is_equipped_item(i): return i return None def strip(self, *args): """Takes argument(s) containing string cloth type(s) to temporarily displace (hide).""" - if "all" in args: - for k, v in self.clothes.iteritems(): - if not k.startswith(self.blacklist_toggles): + def _strip_all(): + for k, v in self.states.items(): + if not k.startswith(self.blacklist_unequip): v[2] = False - else: - for arg in args: - if arg in self.multislots: - for k, v in self.clothes.iteritems(): - if k.startswith(arg): - v[2] = False - else: - self.clothes[arg][2] = False - self.body.rebuild_image() - self.rebuild_image() - update_chibi(self.name) - def wear(self, *args): - """Takes argument(s) containing string cloth type(s) to put on (unhide).""" - if "all" in args: - if self.is_worn("all"): + def _strip_type(type): + for k, v in self.states.items(): + if istype(v[0], type) and not k in self.blacklist_unequip and (k in self.multislots or not k.startswith(self.blacklist_strip)): + v[2] = False + + def _strip_slot(slot): + if slot in self.blacklist_unequip: return - for v in self.clothes.itervalues(): - v[2] = True - else: - for arg in args: - if arg in self.multislots: - for k, v in self.clothes.iteritems(): - if k.startswith(arg): - v[2] = True - else: - self.clothes[arg][2] = True - self.body.rebuild_image() - self.rebuild_image() + if slot in self.multislots: + for k, v in self.states.items(): + if k.startswith(slot): + v[2] = False + else: + self.states[slot][2] = False + + for arg in args: + + if arg == "all": + _strip_all() + elif arg == "clothes": + _strip_type((DollCloth, DollClothDynamic)) + elif arg == "makeup": + _strip_type(DollMakeup) + elif arg == "bodyparts": + _strip_type(DollBodypart) + else: + _strip_slot(arg) + update_chibi(self.name) + self.is_stale() + self.show() + + def wear(self, *args): + """Takes argument(s) containing string cloth type(s) to temporarily displace (hide).""" + def _wear_all(): + for k, v in self.states.items(): + v[2] = True + + def _wear_type(type): + for k, v in self.states.items(): + if istype(v[0], type): + v[2] = True + + def _wear_slot(slot): + if slot in self.multislots: + for k, v in self.states.items(): + if k.startswith(slot): + v[2] = True + else: + self.states[slot][2] = True + + for arg in args: + + if arg == "all": + _wear_all() + elif arg == "clothes": + _wear_type((DollCloth, DollClothDynamic)) + elif arg == "makeup": + _wear_type(DollMakeup) + elif arg == "bodyparts": + _wear_type(DollBodypart) + else: + _wear_slot(arg) + + update_chibi(self.name) + self.is_stale() + self.show() def is_equipped(self, *args): """Takes argument containing string cloth type. Returns True if slot is occupied, False otherwise.""" for arg in args: if arg in self.multislots: - return any(bool(v[0]) for k, v in self.clothes.iteritems() if k.startswith(arg)) + return any(bool(v[0]) for k, v in self.states.items() if k.startswith(arg)) else: - if not self.clothes[arg][0]: + if not self.states[arg][0]: return False return True def is_any_equipped(self, *args): """Takes arguments containing string cloth types. Returns True if ANY of them is equipped, False otherwise.""" - if "clothes" in args: - for k, v in self.clothes.iteritems(): - if not k.startswith(self.blacklist_toggles): + def _is_equipped_type(type): + for k, v in self.states.items(): + if not k in self.blacklist_toggles and istype(v[0], type): if self.is_equipped(k): return True - else: - for arg in args: - if self.is_equipped(arg): - return True - return False + return False + + state = False + + for arg in args: + + if arg == "clothes": + state = _is_equipped_type((DollCloth, DollClothDynamic)) + elif arg == "makeup": + state = _is_equipped_type(DollMakeup) + elif arg == "bodyparts": + state = _is_equipped_type(DollBodypart) + else: + state = self.is_equipped(arg) + + if state is True: + break + + return state def is_equipped_item(self, item): """Takes DollCloth object or list of objects. Returns True if item is equipped, False otherwise.""" - return self.get_equipped(item.type) == item + + if isinstance(item, DollCloth): + if item.is_multislot(): + return bool(next((k for k, v in self.states.items() if v[0] == item), False)) + + return self.get_equipped(item.type) == item + elif isinstance(item, DollOutfit): + compare_object = self.create_outfit(temp=True) + # current_item = next( (x for x in char_active.outfits if _outfit == x), None) + + return item == compare_object def is_worn(self, *args): """Takes argument(s) containing string cloth type(s). Returns True if worn, False otherwise.""" - if "all" in args: - for v in self.clothes.itervalues(): - if not v[2]: + + for arg in args: + if arg in self.multislots: + return any( (v[0] and v[2]) for k, v in self.states.items() if k.startswith(arg)) + else: + if not self.states[arg][0] or not self.states[arg][2]: return False - else: - for arg in args: - if arg in self.multislots: - return any( (v[0] and v[2]) for k, v in self.clothes.iteritems() if k.startswith(arg)) - else: - if not self.clothes[arg][0] or not self.clothes[arg][2]: - return False return True def is_any_worn(self, *args): """Takes arguments containing string cloth types. Returns True if ANY of them is worn, False otherwise.""" - if "clothes" in args: - for k, v in self.clothes.iteritems(): - if not k.startswith(self.blacklist_toggles): + def _is_worn_type(type): + for k, v in self.states.items(): + if not k in self.blacklist_toggles and istype(v[0], type): if self.is_worn(k): return True - else: - for arg in args: - if self.is_worn(arg): - return True - return False + return False + + state = False + + for arg in args: + + if arg == "clothes": + state = _is_worn_type((DollCloth, DollClothDynamic)) + elif arg == "makeup": + state = _is_worn_type(DollMakeup) + elif arg == "bodyparts": + state = _is_worn_type(DollBodypart) + else: + state = self.is_worn(arg) + + if state is True: + break + + return state def set_face(self, **kwargs): - """Takes keyword argument(s) with the string name of expression file(s).""" - if self.face.set_face(**kwargs): - self.body.rebuild_image() + self.face.set_face(**kwargs) - # Rebuild lipstick - lipstick = self.clothes.get("makeup4", [None, 1, True])[0] - if isinstance(lipstick, DollLipstick): - lipstick.rebuild_image() - self.rebuild_image() + for i in self.states.values(): + if istype(i[0], DollMakeup): + i[0].is_stale() + + self.cum.is_stale() def get_face(self): """Returns a dictionary containing currently set facial expressions. Used in character studio.""" - return self.face.get_face() - - def set_body(self, **kwargs): - """Takes keyword argument(s) with the string name of body part file(s).""" - if self.body.set_body(**kwargs): - self.rebuild_image() + return self.face._face.copy() def set_body_hue(self, arg): """Takes integer between 0 - 359, rotates the character body colour by given amount.""" - self.body.hue = arg - self.body.rebuild_image() - self.rebuild_image() + self.set_body_matrix(HueMatrix(arg)) - def set_body_zorder(self, **kwargs): - """Takes keyword argument(s) with the name(s) of body part(s) and integer value(s)""" - if self.body.set_zorder(**kwargs): - self.rebuild_image() + def set_body_matrix(self, arg): + self.body.set_matrix(arg) + + for i in self.states.values(): + if i[0]: + i[0].is_stale() + + self.is_stale() + self.show() def set_cum(self, *args, **kwargs): """Takes keyword argument(s) containing string name(s) of cum layers to apply or None.""" - if self.cum.set_cum(*args, **kwargs): - self.body.rebuild_image() - self.rebuild_image() + self.cum.set_cum(*args, **kwargs) + self.show() def set_pose(self, pose): - if pose is None or renpy.loadable("characters/{}/poses/{}/loadable.webp".format(self.name, pose)): - self.pose = pose - self.face.set_pose(pose) - self.body.set_pose(pose) - self.cum.set_pose(pose) - for v in self.clothes.itervalues(): - if v[0]: - v[0].set_pose(pose) - self.rebuild_image() - else: - raise Exception("'{}' pose doesn't exist for character named '{}'.".format(pose, self.name)) + pose = "default" if pose is None else pose + self.pose = pose + self.body.is_stale() + self.face.is_stale() + self.cum.is_stale() + + for i in self.states.values(): + if i[0]: + i[0].is_stale() + self.is_stale() + self.show() def rebuild_blacklist(self): blacklist = [] - for v in self.clothes.itervalues(): + for v in self.states.values(): if v[0]: blacklist.extend(v[0].blacklist) self.blacklist = list(set(blacklist)) @@ -340,22 +523,26 @@ init python: def get_blacklister(self, type): """Takes string cloth type. Returns a list of clothing types that report incompatibility.""" - return [x[0].type for x in self.clothes.itervalues() if x[0] and type in x[0].blacklist] + return [x[0].type for x in self.states.values() if x[0] and type in x[0].blacklist] + + def get_trackers_list(self, type): + """Takes string cloth type. Returns a list of clothing types that report incompatibility.""" + return [x[0] for x in self.states.values() if istype(x[0], DollClothDynamic) and type == x[0].tracking] def create_outfit(self, temp=False): - """Creates a copy of the current character clothes and stores it.""" - return DollOutfit([x[0] for x in self.clothes.itervalues() if x[0]], True, temp=temp) + """Creates a copy of the current character clothes and stores it. Used only for comparing instances inside the wardrobe.""" + return DollOutfit([x[0] for x in self.states.values() if x[0] and x[0].type not in self.body_layers], True, temp=temp) def import_outfit(self, path, fromfile=True): """Imports outfit from .png file or clipboard text.""" # Grab data if fromfile: try: - imported = image_payload.decode(path) - except: - if image_payload._file: - image_payload._file.close() + imported = ImagePayload().extract(path) + except Exception as e: renpy.notify("Import failed: Corrupted file.") + print(e) + renpy.block_rollback() return None else: imported = get_clipboard() @@ -364,8 +551,9 @@ init python: if imported: try: imported = make_revertable(evaluate(imported)) - except: + except Exception as e: renpy.notify("Import failed: Corrupted outfit data.") + print(e) renpy.block_rollback() return None @@ -416,15 +604,30 @@ init python: self.equip(renpy.random.choice(schedule)) def set_emote(self, emote): + if isinstance(emote, str): + path = posixpath.join(self.modpath, "characters", self.name, "poses", self.pose, "emote", emote) + extensions = self.extensions - if not emote and not isinstance(emote, Null): - self.emote = Null() + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + + if not fp == path or not ext in extensions: + continue + + self.emote = Image(f) + break + else: + self.emote = emote + + self.is_stale() + + def clear_outfit_button_cache(self): + if not settings.get("multithreading"): return - if self.pose: - path = "characters/{}/poses/{}/emote/{}.webp".format(self.name, self.pose, emote) - else: - path = "characters/{}/emote/{}.webp".format(self.name, emote) - - self.emote = DollDisplayable(Image(path)) + DollThread.stop_all() + for i in self.outfits: + i._button.last_item = i._loading + i.clear_button_cache() diff --git a/game/scripts/doll/makeup.rpy b/game/scripts/doll/makeup.rpy new file mode 100644 index 00000000..83beb706 --- /dev/null +++ b/game/scripts/doll/makeup.rpy @@ -0,0 +1,66 @@ +init python: + class DollMakeup(DollCloth): + def __init__(self, name, categories, type, id, color, zorder=None, unlocked=False, level=0, blacklist=[], modpath=None, parent=None, tracking=None): + self.tracking = tracking + + super().__init__(name, categories, type, id, color, zorder, unlocked, level, blacklist, modpath, parent) + + def __repr__(self): + return f"DollMakeup(name={self.name}, categories={self.categories}, type={self.type}, id={self.id}, color={self.color}, zorder={self.zorder}, unlocked={self.unlocked}, level={self.level}, blacklist={self.blacklist}, parent={self.parent}, modpath={self.modpath or None}, tracking={self.tracking})" + + def generate_hash(self): + salt = str( [self.name, self.type, self.char.pose, self.id, str(self.color), str(self.char.face._hash), str(self.char.body._hash)] ) + return hash(salt) + + @functools.cache + def get_layers(self, hash, subpath=""): + tracking = self.char.face._face.get(self.tracking, None) + + if tracking is None: + print(f"Invalid tracker for object: {self}") + return [] + + path = posixpath.join(self.modpath, "characters", self.name, "poses", self.char.pose, subpath, "clothes", self.type, self.id, tracking) + + extensions = self.extensions + types = self.layer_types + modifiers = self.layer_modifiers + + layers = {} + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + + if not fp == path or not ext in extensions: + continue + + ltype, *tails = fn.rsplit("_") + + if not ltype.isdigit() and not ltype in types: + print(f"Invalid layer type for file: {f}") + continue + + zorder = z if (z := types.get(ltype)) is not None else self.zorder + + if isinstance(zorder, str): + zorder = self.zorder + int(zorder) + + if tails: + lmodifier, *tails = tails + + if not lmodifier in modifiers: + print("Invalid modifier for file: {}".format(f)) + continue + + zorder_mod = modifiers.get(lmodifier) + zorder = (zorder + int(zorder_mod)) if lmodifier != "zorder" else int(tails[-1]) + layers.setdefault("_".join([ltype, lmodifier, str(zorder)]), [f, zorder]) + else: + layers.setdefault(ltype, [f, zorder]) + + return layers + + def clone(self): + """Creates a clone of this cloth object. Since it requires a parent object it should be used internally only to avoid object depth issue.""" + modpath = self.modpath.lstrip("mods/") + return DollMakeup(self.name, self.categories, self.type, self.id, [x for x in self.color] if self.color else None, self.zorder, self.unlocked, self.level, self.blacklist, modpath, self, self.tracking) diff --git a/game/scripts/doll/outfits.rpy b/game/scripts/doll/outfits.rpy index b7e6ec1e..5b3a1bb4 100644 --- a/game/scripts/doll/outfits.rpy +++ b/game/scripts/doll/outfits.rpy @@ -1,19 +1,24 @@ init python: class DollOutfit(DollMethods): default_schedule = {"day": False, "night": False, "cloudy": False, "rainy": False, "snowy": False} + _loading = Fixed(Text("Loading", align=(0.5, 0.5)), xysize=(96, 168)) + + __slots__ = ("group", "name", "desc", "price", "char", "unlocked", "schedule", "temp", "hidden", "addons", "_hash", "_button") def __init__(self, group, unlocked=False, name="", desc="", price=0, temp=False, schedule={}, hidden=False, addons=[]): self.group = [x.clone() if not x.parent else x for x in group] + self.group.sort() self.name = name self.desc = desc self.price = price self.char = self.group[0].char self.unlocked = unlocked - self.schedule = dict(self.default_schedule.items() + schedule.items()) - self.hash = self.generate_hash() + self.schedule = dict(list(self.default_schedule.items()) + list(schedule.items())) self.temp = temp self.hidden = hidden self.addons = addons + self._hash = self.generate_hash() + self._button = DefaultQueue() if not self.temp: @@ -23,66 +28,168 @@ init python: if not self.hidden and not self in self.char.outfits: self.char.outfits.append(self) - # if config.developer: - # def __del__(self): - # print("Outfit with hash: {} has been garbage collected.".format(self.hash)) + def __hash__(self): + return self._hash def __eq__(self, obj): if not isinstance(obj, DollOutfit): return NotImplemented - return self.hash == obj.hash + return self._hash == obj._hash def generate_hash(self): - salt = str( sorted([ sorted([x.name, x.type, x.id, x.color]) for x in self.group ]) ) + salt = str( [x._hash for x in self.group] ) + str(self.schedule) return hash(salt) def delete(self): if self in self.char.outfits: self.char.outfits.remove(self) - def build_image(self): - masks = [] - sprites = [ - (self.char.body.get_mannequin(self.group), 0) - ] + @functools.cache + def build_image(self, hash): + from itertools import chain - for i in self.group: - sprites.append([i.get_image(), i.zorder]) + matrix = SaturationMatrix(0.0) - sprites.extend([ - (i.get_image(), i.zorder), - i.get_back(), - i.get_front(), - i.get_armfix(mannequin=True), - ]) + sprites = list(chain.from_iterable( + (self.char.body.build_image(self.char.body._hash, matrix=matrix), + *(x.build_image(x._hash, matrix=matrix) for x in self.group)) + )) - if i.mask: - masks.append((i.mask, i.zorder-1)) + masks = [sprites.pop(sprites.index(x)) for x in sprites if x[0] == "mask"] - sprites.sort(key=itemgetter(1)) - masks.sort(key=itemgetter(1)) + sprites.sort(key=itemgetter(2)) + masks.sort(key=itemgetter(2)) - back_sprites = [x for x in sprites if x[1] < 0] - sprites = [x for x in sprites if x[1] >= 0] + back_sprites = [x[1] for x in sprites if x[2] < 0] - # Apply alpha mask + #Apply alpha mask for m in masks: - mask, mask_zorder = m + _, mask, mask_zorder = m for i, s in enumerate(sprites): - sprite, sprite_zorder = s + _, sprite, sprite_zorder = s if i < 1 or mask_zorder > sprite_zorder: continue - c = tuple(x[0] for x in sprites[:i] if not isinstance(x[0], Null)) - masked = AlphaMask(Fixed(*c, fit_first=True), mask) + masked = AlphaMask(Fixed(*(x[1] for x in sprites[:i]), fit_first=True), mask) sprites = sprites[i:] - sprites.insert(0, (masked, mask_zorder)) + sprites.insert(0, (None, masked, mask_zorder)) break - sprites = back_sprites + sprites - return tuple(x[0] for x in sprites) + sprites = back_sprites + [x[1] for x in sprites] + + return Fixed(*sprites, fit_first=True) + + @property + def image(self): + return self.build_image(self._hash) + + @functools.cache + def build_icon(self, hash): + sprite = self.build_image(self._hash) + + return Transform(sprite, crop=(220, 0, 680, 1200), size=(96, 168), fit="contain", align=(0.5, 1.0), yoffset=-6) + + @property + def icon(self): + return self.build_icon(self._hash) + + def _build_button(self, _hash, subcat): + global wardrobe_outfit_schedule + + style = "wardrobe_button" + # is_equipped = self.char.is_equipped_item(self) + is_modded = self.is_modded() + is_inadequate = subcat in ("save", "load", "schedule") and not wardrobe_check_equip_outfit(self) + has_schedule = any(self.schedule.values()) + + child = Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6) + warnings = [] + hbox = [] + vbox = [] + overlay = [] + + if is_modded: + warnings.append("Outfit contains items from these mods:\n{size=-4}{color=#35aae2}"+ "\n".join(self.get_modname()) + "{/color}{/size}") + hbox.append(Text("M", color="#00b200", style="wardrobe_button_text")) + + action = None + alternate = None + unhovered = None + foreground = None + hover_foreground = "#ffffff80" + selected_foreground = None + + if is_inadequate: + foreground = "#b2000040" + hover_foreground = "#CD5C5C40" + selected_foreground = "#CD5C5C40" + + ## MOVE ACTIONS OUT OF THE FUNCTION, THEY FUCK THINGS UP. + ## One can manipulate the button actions using Button.action + + if subcat == "delete": + action = Return(["deloutfit", self]) + elif subcat == "load": + action = Return(["equip", self]) + elif subcat == "save": + action = Return(["addoutfit", self]) + # elif subcat == "import": # Imports are taken care of outside the class. + # action = Return(["import", self]) + elif subcat == "export": + action = Return(["export", self]) + elif subcat == "schedule": + if not has_schedule and not is_inadequate: + action = Return(["schedule", self]) + alternate = Return(["schedule", self]) + foreground = "#00000040" + hover_foreground = "#80808040" + selected_foreground = "#80808040" + elif has_schedule: + action = Return(["schedule", self]) + alternate = Return(["schedule", self]) + # elif is_inadequate: + # foreground = "#b2000040" + # hover_foreground = "#CD5C5C40" + # selected_foreground = "#CD5C5C40" + + if has_schedule: + for i in wardrobe_outfit_schedule: + if self.schedule[i]: + vbox.append(Transform(f"interface/wardrobe/icons/outfits/{i}.webp", size=(16, 16), offset=(6, 6))) + + # if is_equipped: + # hbox.append(Transform("interface/topbar/icon_check.webp", align=(1.0, 1.0), offset=(-6, -6), size=(24, 24))) + + if vbox: + hbox.append(VBox(*vbox)) + + if hbox: + child = Fixed(child, HBox(*hbox), fit_first=True) + + return Button(child=child, focus_mask=None, xysize=(96, 168), background=self.icon, action=action, alternate=alternate, tooltip=("\n".join(warnings)), foreground=foreground, hover_foreground=hover_foreground, selected_foreground=selected_foreground, unhovered=unhovered, style=style) + + @functools.cache + def build_button(self, subcat): + + def _func(self, hash, subcat): + result = self._build_button(self._hash, subcat) + self._button.put(result) + + thread = DollThread(target=_func, args=(self, self._hash, subcat)) + thread.start() + + @property + def button(self): + if settings.get("multithreading"): + return self._button.get_with_default(self._loading) + else: + global current_subcategory + return self._build_button(self._hash, current_subcategory) + + def clear_button_cache(self): + self.build_button.cache_clear() def exists(self): return (self in self.char.outfits) @@ -90,27 +197,33 @@ init python: def export_data(self, filename, tofile=True): """Exports outfit to .png file or clipboard text.""" exported = [self.group[0].name] - exported.extend([x.id, x.color] for x in self.group) + + for i in self.group: + if i.color: + color = [j.hexcode for j in i.color] + exported.append([i.id, color]) # Encode data if tofile: - path = "{}/game/outfits/".format(config.basedir) - fn = "{}.png".format(filename) + path = os.path.join(config.gamedir, "outfits") if not os.path.exists(path): os.makedirs(path) - d = Transform(self.get_image(), crop=(210, 200, 700, 1000), anchor=(0.5, 1.0), align=(0.5, 1.0), xsize=310, ysize=470, fit="contain") + path = os.path.join(path, "_temp.png") + + d = Transform(self.image, crop=(210, 200, 700, 1000), anchor=(0.5, 1.0), align=(0.5, 1.0), xsize=310, ysize=470, fit="contain") d = Fixed( "interface/wardrobe/export_background.webp", d, "interface/wardrobe/export_frame.webp", - Text(active_girl, align=(0.5, 0.995)), + Text(states.active_girl, align=(0.5, 0.995)), Text("Ver. {}".format(config.version), size=10, align=(0.99, 0.99)) ) - displayable_to_file(d, path+fn, size=(310, 470) ) - image_payload.encode(filename, str(exported)) + displayable_to_file(d, path, size=(310, 470) ) + ImagePayload().inject("_temp.png", filename, str(exported)) + os.remove(path) else: set_clipboard(exported) renpy.notify("Export successful!") @@ -126,11 +239,7 @@ init python: def save(self): """Overwrites this outfit with clothes currently equipped by the character.""" - self.group = [] - for v in self.char.clothes.itervalues(): - if v[0]: - self.group.append(v[0].clone()) - self.rebuild_image() + self.group = [x[0].clone() for x in self.char.states.values() if x[0]] return def is_modded(self): @@ -149,7 +258,7 @@ init python: return self.schedule def set_schedule(self, **kwargs): - for k, v in kwargs.iteritems(): + for k, v in kwargs.items(): self.schedule[k] = v def has_type(self, *args): @@ -168,7 +277,7 @@ init python: def has_any_type(self, *args): """Takes arguments containing string cloth types. Returns True if ANY of them is worn, False otherwise.""" if "clothes" in args: - for k in self.char.clothes.iterkeys(): + for k in self.char.states.keys(): if not k.startswith(self.blacklist_toggles): if self.has_type(k): return True @@ -177,3 +286,4 @@ init python: if self.has_type(arg): return True return False + diff --git a/game/scripts/doll/threading.rpy b/game/scripts/doll/threading.rpy index 694e50b5..2fc9d995 100644 --- a/game/scripts/doll/threading.rpy +++ b/game/scripts/doll/threading.rpy @@ -1,23 +1,98 @@ -init python: +init python early: import threading + import queue class DollThread(threading.Thread, NoRollback): - def __init__(self, group=None, target=None, name=None, args=(), kwargs={}, Verbose=None): - super(DollThread, self).__init__(group, target, name, args, kwargs, Verbose) + __lock = threading.RLock() + _count = 0 + _instances = _list() + _interval = 0.05 if renpy.android else 0.025 + + def __init__(self, interval=None, group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None): + threading.Thread.__init__(self, group, target, name, args, kwargs, daemon=daemon) + self._return = None + self.interval = interval or self._interval + self._delay = threading.Timer(self.interval, self._execute) + self._stop = threading.Event() + + def start(self): + DollThread._instances.append(self) + DollThread._count += 1 + super().start() def run(self): - try: - self._return = self._Thread__target(*self._Thread__args, **self._Thread__kwargs) - except: - import traceback - traceback.print_exc() + with DollThread.__lock: + self._delay.start() + self._delay.join() + self.stop() - if config.developer: - raise Exception("Thread just pooped itself.") + def _execute(self): + while not self._stop.is_set(): + if self._target is not None: + self._return = self._target(*self._args, **self._kwargs) + renpy.restart_interaction() + break - renpy.restart_interaction() - - def join(self, timeout=1): - threading.Thread.join(self, timeout=timeout) + def join(self, timeout=None): + super().join(timeout=timeout) return self._return + + def stop(self): + self._stop.set() + + if self in DollThread._instances: + DollThread._instances.remove(self) + DollThread._count -= 1 + + if DollThread._count <= 0: + renpy.restart_interaction() + + @classmethod + def stop_all(cls): + for thread in cls._instances: + # Allow threads to exit gracefully before forceful termination + thread.stop() + + # if not renpy.android: + # # Then forcefully terminate the remainders (except on android because that stalls the renderer) + # for thread in cls._instances: + # thread.join() + + class DefaultQueue(queue.Queue, NoRollback): + def __init__(self): + super().__init__() + self.last_item = None + + def put(self, item, block=True, timeout=None): + super().put(item, block, timeout) + self.last_item = item + + def get_with_default(self, default): + try: + return self.get(block=False) + except queue.Empty: + return self.last_item or default + + def __getstate__(self): + state = self.__dict__.copy() + del state['last_item'] + del state['mutex'] + del state['not_empty'] + del state['not_full'] + del state['all_tasks_done'] + return state + + def __setstate__(self, state): + self.__dict__.update(state) + self.last_item = None + self.mutex = threading.Lock() + self.not_empty = threading.Condition(self.mutex) + self.not_full = threading.Condition(self.mutex) + self.all_tasks_done = threading.Condition(self.mutex) + + def __reduce__(self): + return (DefaultQueue, ()) + + def __reduce_ex__(self, protocol): + return DefaultQueue, (), self.__getstate__(), None, iter([]) diff --git a/game/scripts/events/DayNight.rpy b/game/scripts/events/DayNight.rpy index e41a7906..9fe565bb 100644 --- a/game/scripts/events/DayNight.rpy +++ b/game/scripts/events/DayNight.rpy @@ -11,93 +11,94 @@ label day_start: hide luna_main with dissolve - # Reset room objects - $ candleL_OBJ.foreground = None - $ candleR_OBJ.foreground = None - $ fire_in_fireplace = False - $ fireplace_OBJ.foreground = None - $ phoenix_is_fed = False - $ phoenix_is_petted = False - $ phoenix_OBJ.foreground = None # Removes seeds image - $ owl_away = False - $ cupboard_searched = False + python: - # Reset gift flags - $ gave_tonks_gift = False - $ gave_hermione_gift = False - $ gave_luna_gift = False - $ gave_cho_gift = False - $ gave_astoria_gift = False - $ gave_susan_gift = False + # Reset room objects + candleL_OBJ.foreground = None + candleR_OBJ.foreground = None + states.fireplace_started = False + fireplace_OBJ.foreground = None + states.bird_fed = False + states.bird_petted = False + phoenix_OBJ.foreground = None # Removes seeds image + states.cupboard_rummaged = False - # Reset chit-chat flags - $ snape_chatted = False - $ tonks_chatted = False - $ hermione_chatted = False - $ luna_chatted = False - $ cho_chatted = False - $ astoria_chatted = False - $ susan_chatted = False + # Reset gift flags + states.ton.gifted = False + states.her.gifted = False + states.lun.gifted = False + states.cho.gifted = False + states.ast.gifted = False + states.sus.gifted = False - # Tick Event timers - $ ss_event_pause = max(ss_event_pause-1, 0) - $ ss_summon_pause = max(ss_summon_pause-1, 0) - $ nt_event_pause = max(nt_event_pause-1, 0) - $ nt_summon_pause = max(nt_summon_pause-1, 0) - $ hg_event_pause = max(hg_event_pause-1, 0) - $ hg_summon_pause = max(hg_summon_pause-1, 0) - $ ll_event_pause = max(ll_event_pause-1, 0) - $ ll_summon_pause = max(ll_summon_pause-1, 0) - $ cc_event_pause = max(cc_event_pause-1, 0) - $ cc_summon_pause = max(cc_summon_pause-1, 0) - $ ag_event_pause = max(ag_event_pause-1, 0) - $ ag_summon_pause = max(ag_summon_pause-1, 0) - $ sb_event_pause = max(sb_event_pause-1, 0) - $ sb_summon_pause = max(sb_summon_pause-1, 0) + # Reset chit-chat flags + states.sna.chatted = False + states.ton.chatted = False + states.her.chatted = False + states.lun.chatted = False + states.cho.chatted = False + states.ast.chatted = False + states.sus.chatted = False - # Reset busy flags (Based on current tick) - $ snape_busy = bool(ss_summon_pause) - $ tonks_busy = bool(nt_summon_pause) - $ hermione_busy = bool(hg_summon_pause) - $ luna_busy = bool(ll_summon_pause) - $ cho_busy = bool(cc_summon_pause) - $ astoria_busy = bool(ag_summon_pause) - $ susan_busy = bool(sb_summon_pause) + # Tick Event timers + ss_event_pause = max(ss_event_pause-1, 0) + ss_summon_pause = max(ss_summon_pause-1, 0) + nt_event_pause = max(nt_event_pause-1, 0) + nt_summon_pause = max(nt_summon_pause-1, 0) + hg_event_pause = max(hg_event_pause-1, 0) + hg_summon_pause = max(hg_summon_pause-1, 0) + ll_event_pause = max(ll_event_pause-1, 0) + ll_summon_pause = max(ll_summon_pause-1, 0) + cc_event_pause = max(cc_event_pause-1, 0) + cc_summon_pause = max(cc_summon_pause-1, 0) + ag_event_pause = max(ag_event_pause-1, 0) + ag_summon_pause = max(ag_summon_pause-1, 0) + sb_event_pause = max(sb_event_pause-1, 0) + sb_summon_pause = max(sb_summon_pause-1, 0) - # Improve Mood - if game.difficulty == 1: # Easy difficulty - $ val = 3 - elif game.difficulty == 2: # Normal difficulty - $ val = 2 - elif game.difficulty == 3: # Hardcore difficulty - $ val = 1 + # Reset busy flags (Based on current tick) + states.sna.busy = True # bool(ss_summon_pause) + states.ton.busy = bool(nt_summon_pause) + states.her.busy = bool(hg_summon_pause) + states.lun.busy = bool(ll_summon_pause) + states.cho.busy = bool(cc_summon_pause) + states.ast.busy = bool(ag_summon_pause) + states.sus.busy = bool(sb_summon_pause) - $ ton_mood = max(ton_mood-val, 0) - $ her_mood = max(her_mood-val, 0) - $ lun_mood = max(lun_mood-val, 0) - $ cho_mood = max(cho_mood-val, 0) - $ ast_mood = max(ast_mood-val, 0) - $ sus_mood = max(sus_mood-val, 0) + # Improve Mood + if game.difficulty == 1: # Easy difficulty + val = 3 + elif game.difficulty == 2: # Normal difficulty + val = 2 + elif game.difficulty == 3: # Hardcore difficulty + val = 1 - # Game flags - $ game.day += 1 - $ game.weather = "random" - $ game.daytime = True + states.ton.mood = max(states.ton.mood-val, 0) + states.her.mood = max(states.her.mood-val, 0) + states.lun.mood = max(states.lun.mood-val, 0) + states.cho.mood = max(states.cho.mood-val, 0) + states.ast.mood = max(states.ast.mood-val, 0) + states.sus.mood = max(states.sus.mood-val, 0) - # Randomisers - $ random_gold = renpy.random.randint(8, 40) - $ random_map_loc = renpy.random.randint(1, 5) + # Game flags + game.day += 1 + game.weather = "random" + game.daytime = True - # Send salary every 7th day - if game.day % 7 == 0: - if reports_finished >= 1: - $ letter_work_report.send() - if not first_random_twins: - $ twins_interest = True + # Randomisers + random_gold = renpy.random.randint(8, 40) + random_map_loc = renpy.random.randint(1, 5) - # Pass time - $ mailbox.tick() - $ eventqueue.tick() + # Send salary every 7th day + if game.day % 7 == 0: + if states.paperwork_reports >= 1: + letter_work_report.send() + if not states.twi.ev.cardgame.first_random: + states.twi.ev.cardgame.interest = True + + # Pass time + mailbox.tick() + eventqueue.tick() # Update map locations call set_her_map_location() @@ -118,23 +119,20 @@ label day_start: call update_snape call update_genie - # Reset and update interface - call update_interface_color - - call room(current_room, stop_sound=False, hide_screens=False) + call room(states.room, stop_sound=False, hide_screens=False) # Equip scheduled outfits - if luna_outfits_schedule: + if states.lun.wardrobe_scheduling: $ luna.equip_random_outfit() - if astoria_outfits_schedule: + if states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() - if hermione_outfits_schedule: + if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if susan_outfits_schedule: + if states.sus.wardrobe_scheduling: $ susan.equip_random_outfit() - if cho_outfits_schedule: + if states.cho.wardrobe_scheduling: $ cho.equip_random_outfit() - if tonks_outfits_schedule: + if states.ton.wardrobe_scheduling: $ tonks.equip_random_outfit() hide screen blkfade @@ -170,38 +168,40 @@ label night_start: hide luna_main with dissolve - # Reset room objects - if not candleL_OBJ.foreground: - $ candleL_OBJ.get_action()() - if not candleR_OBJ.foreground: - $ candleR_OBJ.get_action()() - $ cupboard_searched = False + python: - # Reset chit-chat flags - $ snape_chatted = False - $ tonks_chatted = False - $ hermione_chatted = False - $ luna_chatted = False - $ cho_chatted = False - $ astoria_chatted = False - $ susan_chatted = False + # Reset room objects + if not candleL_OBJ.foreground: + candleL_OBJ.get_action()() + if not candleR_OBJ.foreground: + candleR_OBJ.get_action()() + states.cupboard_rummaged = False - # Reset busy flags (Based on current tick) - $ snape_busy = bool(ss_summon_pause) - $ tonks_busy = bool(nt_summon_pause) - $ hermione_busy = bool(hg_summon_pause) - $ luna_busy = bool(ll_summon_pause) - $ cho_busy = bool(cc_summon_pause) - $ astoria_busy = bool(ag_summon_pause) - $ susan_busy = bool(sb_summon_pause) + # Reset chit-chat flags + states.sna.chatted = False + states.ton.chatted = False + states.her.chatted = False + states.lun.chatted = False + states.cho.chatted = False + states.ast.chatted = False + states.sus.chatted = False - # Game flags - $ game.weather = "random" - $ game.daytime = False + # Reset busy flags (Based on current tick) + states.sna.busy = bool(ss_summon_pause) + states.ton.busy = bool(nt_summon_pause) + states.her.busy = bool(hg_summon_pause) + states.lun.busy = bool(ll_summon_pause) + states.cho.busy = bool(cc_summon_pause) + states.ast.busy = bool(ag_summon_pause) + states.sus.busy = bool(sb_summon_pause) - # Randomisers - $ random_gold = renpy.random.randint(8, 40) - $ random_map_loc = renpy.random.randint(1, 5) + # Game flags + game.weather = "random" + game.daytime = False + + # Randomisers + random_gold = renpy.random.randint(8, 40) + random_map_loc = renpy.random.randint(1, 5) # Update map locations call set_her_map_location() @@ -222,23 +222,20 @@ label night_start: call update_snape call update_genie - # Reset and update interface - call update_interface_color - - call room(current_room, stop_sound=False, hide_screens=False) + call room(states.room, stop_sound=False, hide_screens=False) # Equip scheduled outfits - if luna_outfits_schedule: + if states.lun.wardrobe_scheduling: $ luna.equip_random_outfit() - if astoria_outfits_schedule: + if states.ast.wardrobe_scheduling: $ astoria.equip_random_outfit() - if hermione_outfits_schedule: + if states.her.wardrobe_scheduling: $ hermione.equip_random_outfit() - if susan_outfits_schedule: + if states.sus.wardrobe_scheduling: $ susan.equip_random_outfit() - if cho_outfits_schedule: + if states.cho.wardrobe_scheduling: $ cho.equip_random_outfit() - if tonks_outfits_schedule: + if states.ton.wardrobe_scheduling: $ tonks.equip_random_outfit() hide screen blkfade diff --git a/game/scripts/events/Quests.rpy b/game/scripts/events/Quests.rpy deleted file mode 100644 index 95830b17..00000000 --- a/game/scripts/events/Quests.rpy +++ /dev/null @@ -1,511 +0,0 @@ - -### Quests ### - -# Add any event triggers to this list. -# Only one event can play for each day/night (this might change.) -# Add date specific events at the start of the list (create the date if it's not there.) - -label quests: - - $ renpy.choice_for_skipping() - - if current_room == "main_room": - # - # DAY-BASED EVENTS - # - - if game.day >= 1: - if game.daytime: - if not genie_intro.E2_complete and bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: - jump genie_intro_E2 - else: - if not snape_intro.E1_complete: - jump snape_intro_E1 - - if game.day >= 2: - if game.daytime: - if not genie_intro.E3_complete: - jump genie_intro_E3 - else: - if ss_event_pause == 0 and not snape_intro.E2_complete: - # Snape's second visit. - jump snape_intro_E2 - - if game.day >= 3: - if game.daytime: - if not genie_intro.E4_complete: - jump genie_intro_E4 - else: - if ss_event_pause == 0 and not snape_intro.E3_complete: - # Day of the duel. - jump snape_intro_E3 - - - if game.day >= 4: - if game.daytime: - pass - else: - if ss_event_pause == 0 and not snape_intro.E5_complete: - # You bother decide to just "roll with it"... Snape summon unlocked. - jump snape_intro_E5 - - if game.day >= 5: - if game.daytime: - if hg_event_pause == 0 and not hermione_intro.E1_complete: - # Hermione shows up for the first time. - jump hermione_intro_E1 - - if game.day >= 6: - if game.daytime: - if hg_event_pause == 0 and ss_he.hermione_E1 and not hermione_intro.E2_complete: - # Second visit from Hermione. Says she sent a letter to the Ministry. - jump hermione_intro_E2 - else: - pass - - if game.day >= 7: - if game.daytime: - pass - else: - if hg_event_pause == 0 and ss_he.hermione_E2 and not hermione_intro.E3_complete: - # Takes place after first special event with Snape, where he just complains about Hermione. - # Hermione might have failed a test... - jump hermione_intro_E3 - - if game.day >= 8: - if game.daytime: - pass - else: - if hg_event_pause == 0 and hermione_intro.E3_complete and not hermione_intro.E4_complete: - # She failed a test and cries. - jump hermione_intro_E4 - - if game.day >= 9: - if game.daytime: - if hg_event_pause == 0 and hermione_intro.E4_complete and not hermione_intro.E5_complete: - # Hermione asks to be tutored. Summon unlocked! - jump hermione_intro_E5 - - if game.day >= 10: - if game.daytime: - if nt_event_pause == 0 and hermione_intro.E5_complete and not tonks_intro.E1_complete: - # Tonks visits for the first time. - jump tonks_intro_E1 - else: - if tonks_intro.E1_complete and not tonks_intro.E2_complete: - # Tonks has found no evidence so far. - jump tonks_intro_E2 - - if game.day >= 11: - if game.daytime: - pass - else: - if nt_event_pause == 0 and ss_he.tonks_E1 and not tonks_intro.E3_complete: - # Tonks becomes a teacher. Summon unlocked! - jump tonks_intro_E3 - - if game.day >= 13: - if game.daytime: - if hg_event_pause == 0 and hermione_intro.E5_complete and ss_he.tonks_E1 and nt_he.hermione_E1 and not hermione_intro.E6_complete: - # Hermione wants to buy favours. Favours unlocked! - jump hermione_intro_E6 - - if is_puzzle_box_in_fireplace(): - $ fire_in_fireplace = False - $ fireplace_OBJ.foreground = "glow_effect_fireplace" - elif fireplace_OBJ.foreground == "glow_effect_fireplace": - $ fireplace_OBJ.foreground = None - - # - # CARDGAME - EVENTS - # - - if game.day >= twins_cards_delay: - if deck_unlocked and twins_first_win and not twins_cards_stocked: - if not game.daytime: - $ letter_cards_store.send() - - if geniecard_level < 2 and snape_third_win and her_third_win and twins_second_win: - if not game.daytime: - $ letter_cards_tier2.send() - - # - # CHO CHANG - EVENTS - # - - if cc_event_pause == 0: - if game.daytime: - - if not cho_intro.E1_complete and her_tier >= 2: - # Cho intro - jump cho_intro_E1 - - if hufflepuff_match == "start": - $ game.weather = "clear" - stop weather - $ hufflepuff_match = "return" - jump hufflepuff_match - elif slytherin_match == "start": - $ game.weather = "clear" - stop weather - $ slytherin_match = "return" - jump slytherin_match - elif gryffindor_match == "start": - $ game.weather = "clear" - stop weather - $ gryffindor_match = "return" - jump gryffindor_match - - if cho_tier == 1: - # Lee Jordan gets knocked out cold - if cho_quid.hufflepuff_training and not cho_quid.E3_complete: - jump cho_quid_E3 - - elif cho_tier == 2: - # Hermione refuses to commentate for Slytherin match. - if cho_quid.slytherin_failed and not cho_quid.E6_complete: - jump cho_quid_E6 - - elif cho_tier == 3: - # Genie decides to get the broom. - if cho_quid.gryffindor_training and not cho_quid.E12_complete: - jump cho_quid_E12 - - # Informs the player that all preparations are complete - if cho_quid.E11_complete and cho_quid.E12_complete and not cho_quid.E13_complete: - jump cho_quid_E13 - - else: - # Introduction - if cho_intro.E1_complete and not cho_intro.E2_complete: - jump cho_intro_E2 - - # Quidditch training matches - if cho_quid.in_progress: - $ cho_quid.in_progress = False - - if cho_tier == 1: - # Hufflepuff - jump cc_ht_return - elif cho_tier == 2: - # Slytherin - jump cc_st_return - elif cho_tier == 3: - # Gryffindor - jump cc_gt_return - - # Note: The return events now get jumped to right after the main match events. - - python: - for i in cc_requests_list: - if i.inProgress: - i.inProgress = False - i.start() - - $ play_potion_return("cho") - - # - # SUSAN BONES - EVENTS - # - - if sb_event_pause == 0: - if game.daytime: - # Introduction - if nt_he.susan_E1 and not susan_intro.E1_complete: - jump susan_intro_E1 - - $ play_potion_return("susan") - - # - # ASTORIA GREENGRASS - EVENTS - # - - # Astoria events not triggered by a date. - if ag_event_pause == 0: - if game.daytime: - # Introduction - if astoria_intro.E2_hermione and astoria_intro.E2_snape and not astoria_intro.E3_complete: - jump astoria_intro_E3 - if nt_he.astoria_E1 and not astoria_intro.E4_complete: - jump astoria_intro_E4 - else: - # Introduction - if susan_intro.E1_complete and not astoria_intro.E1_complete: - jump astoria_intro_E1 - - python: - for i in ag_spell_list: # Spell Training - if i.inProgress: - i.inProgress = False - i.start() - - $ play_potion_return("astoria") - - # - # SEVERUS SNAPE - EVENTS - # - - if ss_event_pause == 0: - if game.daytime: - # Ending events - if her_whoring >= 15 and ball_quest.E1_complete and not ball_quest.E2_complete: - # Snape complains that appointing Hermione in the Autumn Ball committee was a mistake. - jump ball_quest_E2 - - else: - # Ending events - if ball_quest.started and not ball_quest.completed: - jump ball_ending_E1 - - # - # NYMPHADORA TONKS - EVENTS - # - - # Tonks events not triggered by a date. - if nt_event_pause == 0: - if game.daytime: - python: - for i in tonks_mail_list: - if i == "poster_1_gift": - letter_nt_1.send() - tonks_mail_list.remove(i) - else: - python: - for i in nt_requests_list: - if i.inProgress: - i.inProgress = False - i.start() - - $ play_potion_return("tonks") - - # - # HERMIONE GRANGER - EVENTS - # - - if hg_event_pause == 0: - if game.daytime: - # Ending events - if her_whoring >= 15 and not ball_quest.E1_complete: - # Hermione wants to be in the Autumn Ball committee. - jump ball_quest_E1 - - if her_whoring >= 18 and ball_quest.E2_complete and not ball_quest.E3_complete: - # Hermione cries about having no proper dress for the Ball. - jump ball_quest_E3 - - if her_whoring >= 18 and ball_quest.E3_complete and not ball_quest.E4_complete: - # Hermione apologizes for the day (event) before. - jump ball_quest_E4 - - if hg_pr_sex.is_event_complete(6, 1) and not hg_pr_sex.is_event_complete(6, 2): - # Hermione missed the debriefing - $ hg_pr_sex.start() - else: - if current_job == "maid": - jump maid_responses - elif current_job == "barmaid": - jump barmaid_responses - elif current_job == "gryffindor_cheerleader": - jump gryffindor_cheer_responses - elif current_job == "slytherin_cheerleader": - jump slytherin_cheer_responses - elif current_job == "promoter": - jump hermione_helping_selling_cards - - python: - for i in hg_requests_list: - if i.inProgress: - i.start() - - for i in hg_ps_list: #Call any public shaming event if it's in progress - if i.inProgress: - renpy.jump(i.complete_label) - - $ play_potion_return("hermione") - - # - # LUNA LOVEGOOD - EVENTS - # - - if ll_event_pause == 0: - if not luna_intro_E1 and her_tier >= 3: - if not game.daytime: - # Luna barges into your office sleepwalking. - jump luna_intro_E1 - - if luna_intro_E1 and not luna_intro_E2: - if game.daytime: - jump luna_intro_E2 - - if spectrespecs_E1 and not quibbler_stocked: - if game.daytime: - jump spectrespecs_E2_reminder - - $ play_potion_return("luna") - elif current_room == "snape_office": - - if game.daytime: - if not snape_office_intro_E1: - # Genie searches the office - jump potions_intro_E1 - - if not snape_office_intro_E2 and snape_office_intro_E1: - # Genie gets caught by the painting. - jump potions_intro_E2 - else: - if not snape_office_intro_E2: - # (Optional) Genie gets caught by Snape. (E0 can play either before or after E1) - jump potions_intro_E0 - - $ eventqueue.start() - - # All quest events should somehow end with a jump to the main room day/night cycle - # If no quest event is triggered, resume normally from the main room - call music_block - call screen room_menu - - -### Quests flags ### - -# Genie -default genie_intro = quest_class( - E1_complete = False, - E2_complete = False, - E3_complete = False, - E4_complete = False, -) - -# Snape -default snape_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit - E3_complete = False, # 3rd visit, before the duel. - duel_complete = False, # Duel - E4_complete = False, # After the duel. - E5_complete = False, # 4th visit, summon unlocked. -) - -# Hermione -default hermione_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit, MRM + informed the Ministry. - E3_complete = False, # 3rd visit, did she fail a test? - E4_complete = False, # 4th visit, she's crying. Failed a test. - E5_complete = False, # 5th visit, asks to be tutored, summon unlocked. - E6_complete = False, # 6th visit, asks to buy favours, favours unlocked. -) - -# Tonks -default tonks_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit - E3_complete = False, # 3rd visit, summon unlocked. -) - -# Cho -default cho_intro = quest_class( - E1_complete = False, # 1st visit - E2_complete = False, # 2nd visit - E3_intro = False, # You talked to Hermione once, but event failed. - E3_complete = False, # 3rd visit, summon unlocked. -) - -default cho_quid = quest_class( - E1_complete = False, # Hufflepuff - Intro 1 - E2_complete = False, # Hufflepuff - Intro 2 - E3_complete = False, # Lee Jordan gets hit by a bludger - E4_complete = False, # Genie asks Hermione to commentate - E5_complete = False, # Slytherin - Intro 1 - E6_complete = False, # Hermione refuses to commentate. - E7_complete = False, # Blackmail Hermione. - E8_complete = False, # Ask Tonks for help (Hangout) - E9_complete = False, # Ask Snape for help (Hangout)(Optional) - E10_complete = False, # Gryffindor - Intro 1 - E11_complete = False, # Ask Luna for help (Talk) - E12_complete = False, # Acquire new broom - E13_complete = False, # Notify the player that all preparations are complete - - hufflepuff_prepared = False, # Ready for practice match? (Requirements: tactic) - hufflepuff_training = False, # Finished Hufflepuff practice match? - hufflepuff_complete = False, # Finished Hufflepuff event chain? - - slytherin_failed = False, # Has failed first training match? - slytherin_prepared = False, # Ready for practice match? (Requirements: tactic, blackmail Hermione, Tonks' help) - slytherin_training = False, # Finished Slytherin practice match? - slytherin_complete = False, # Finished Slytherin event chain? - - gryffindor_failed = False, # Found a cheerleader? (Requirements: Ask Luna) - gryffindor_prepared = False, # Ready for practice match? (Requirements: tactic) - gryffindor_training = False, # Finished Gryffindor practice match? - gryffindor_complete = False, # Finished Gryffindor event chain? - - position = "", # Valid choices: "front", "above", "close" - - lock_training = False, - lock_practice = True, - lock_tactic = False, - in_progress = False, -) - -default cho_quiz = quest_class( - E1_complete = False, - E2_complete = False, - - correct_answers = 0, - checkpoint = False, - lost = False, - complete = False, - - hint = "" # Set after reading Quidditch Book -) - -# Susan -default susan_intro = quest_class( - E1_complete = False, # Susan visits. -) - -# Astoria -default astoria_intro = quest_class( - E1_complete = False, # Tonks visits. - E2_hermione = False, # Tell Hermione to look for her. - E2_snape = False, # Tell Snape to look for her. - E3_complete = False, # Hermione finds her. - E4_complete = False, # Unlock Astoria. -) - -# Ball Quest -default ball_quest = quest_class( - E1_complete = False, - E2_complete = False, - E3_complete = False, - E4_complete = False, - gave_dress = False, - started = False, - completed = False, -) - - -### Hangout Events ### - -# Snape -default ss_he = quest_class( - hermione_E1 = False, # I hate her! - hermione_E2 = False, # Let's ruin her! - tonks_E1 = False, # Discuss Tonks with Snape. - tonks_E2 = False, # Inform him that Tonks has joined you both. - tonks_E3 = False, # Tonks is teaching DAtDA. Snape might use Veritaserum on her... - cho_E1 = False, # You tell Snape that you have met Cho. - cho_E2 = False, # Get some help with Quidditch. - - hermione_strip = False, # You invite Snape to watch Hermione strip. -) - -# Tonks -default nt_he = quest_class( - hermione_E1 = False, # Help with/unlock Hermione's favours. - susan_E1 = False, # Tonks is worried about Susan. - astoria_E1 = False, # Tonks suggests to teach Astoria the Imperius curse. - - favors_E1 = False, # Unlock Public Requests. - favors_E2 = False, # Advance to Tier 2. -) diff --git a/game/scripts/events/Start.rpy b/game/scripts/events/Start.rpy index 3a15f9cd..0ae5991b 100644 --- a/game/scripts/events/Start.rpy +++ b/game/scripts/events/Start.rpy @@ -4,13 +4,12 @@ label start_wt: show screen blkfade with d3 show image "images/rooms/_bg_/castle.webp" - call update_interface_color("gray") hide screen blkfade with d3 show screen close_button(action=MainMenu()) menu: - "Difficulty" ">How difficult do you want the game to be?" + "Difficulty" "How difficult do you want the game to be?" "-Easy-{size=-8}\nIncreased gold, item drop rate and Slytherin-points gains.\nMood will improve faster.\nCheats are available.{/size}": $ game.difficulty = 1 $ game.cheats = True @@ -23,22 +22,22 @@ label start_wt: if persistent.game_complete: menu: - "NEW GAME+" ">Would you like to carry over your hard earned gold from your previous playthrough?" + "NEW GAME+" "Would you like to carry over your hard earned gold from your previous playthrough?" "-Yes please-": $ game.gold += (persistent.gold or 0) - ">[persistent.gold] gold has been added to your funds." + nar "[persistent.gold] gold has been added to your funds." "-No need-": pass menu: - "Skip content" ">Would you like to skip early sections of the game?" + "Skip content" "Would you like to skip early sections of the game?" "-Play the intro-": pass "-Skip the intro-": - $ map_unlocked = True - $ sna_friendship = 5 - $ ton_friendship = 5 + $ states.map.unlocked = True + $ states.sna.level = 5 + $ states.ton.level = 5 jump skip_to_hermione hide image "images/rooms/_bg_/castle.webp" @@ -53,13 +52,12 @@ label genie_intro_E1: $ game.day = 0 call send_letters - stop bg_sounds + stop background stop weather - call update_interface_color call room("main_room") call gen_chibi("hide") - call play_music("intro") + play music "music/the-chamber-by-kevin-macleod.ogg" fadein 1 if_changed $ desk_OBJ.idle = "desk_dumbledore" $ desk_OBJ.foreground = "letter_on_desk" $ chair_OBJ.hidden = True @@ -70,12 +68,12 @@ label genie_intro_E1: pause 0.5 $ renpy.block_rollback() - $ dumbledore_name = "Old Bearded Man" + $ name_dumbledore_genie = "Old Bearded Man" - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" dum1 "*Sounds of an old man sleeping like a baby*" pause 1 - $ renpy.sound.play("sounds/thunder_2.ogg") + play sound "sounds/thunder_2.ogg" $ game.weather = "storm" call weather_sound with flashbulb @@ -89,7 +87,6 @@ label genie_intro_E1: dum2 "*Yawn*...{w=0.4} Well... It begins to dawn." # Swap to day seamlessly - call update_interface_color("gold") $ game.daytime = True $ game.day = 1 $ mailbox.tick() @@ -97,9 +94,9 @@ label genie_intro_E1: dum2 "Perhaps I should--" - $ dumbledore_name = "Albus Dumbledore" + $ name_dumbledore_genie = "Albus Dumbledore" - $ renpy.play("sounds/magic4.ogg") + play sound "sounds/magic4.ogg" $ desk_OBJ.idle = "ch_gen sit_behind_desk" $ game.weather = "rain" call weather_sound @@ -126,14 +123,15 @@ label genie_intro_E1: gen "I think I will stick around for a little bit..." ("base", xpos="far_left", ypos="head") # Highlight important objects - $ fireplace_OBJ.idle = At("fireplace_idle_shadow", pulse_hover) - $ cupboard_OBJ.idle = At("cupboard_idle", pulse_hover) - $ phoenix_OBJ.idle = At("phoenix_idle", pulse_hover) - $ door_OBJ.idle = At("door_idle", pulse_hover) - $ desk_OBJ.idle = At("ch_gen sit_behind_desk", pulse_hover) + python: + fireplace_OBJ.idle = At("fireplace_idle_shadow", pulse_hover) + cupboard_OBJ.idle = At("cupboard_idle", pulse_hover) + phoenix_OBJ.idle = At("phoenix_idle", pulse_hover) + door_OBJ.idle = At("door_idle", pulse_hover) + desk_OBJ.idle = At("ch_gen sit_behind_desk", pulse_hover) - $ achievements.unlock("start") - $ genie_intro.E1_complete = True + achievements.unlock("start") + states.gen.ev.intro.e1_complete = True jump main_room_menu @@ -143,7 +141,7 @@ label genie_intro_E2: gen "Did I just spend an entire day examining this room?" ("base", xpos="far_left", ypos="head") call bld("hide") - $ genie_intro.E2_complete = True + $ states.gen.ev.intro.e2_complete = True # Next is Snape intro E1 @@ -151,7 +149,7 @@ label genie_intro_E2: # TIme pass intro. label genie_intro_E3: - call play_music("day") + play music "music/Brittle Rille.ogg" fadein 1 if_changed call bld gen ".............." ("base", xpos="far_left", ypos="head") @@ -163,13 +161,13 @@ label genie_intro_E3: call tutorial("time") - $ genie_intro.E3_complete = True + $ states.gen.ev.intro.e3_complete = True jump main_room_menu # Owl intro. label genie_intro_E4: - call play_music("day") + play music "music/Brittle Rille.ogg" fadein 1 if_changed call bld gen "An owl? Here?" ("base", xpos="far_left", ypos="head") @@ -177,7 +175,7 @@ label genie_intro_E4: call tutorial("mail") - $ genie_intro.E4_complete = True + $ states.gen.ev.intro.e4_complete = True jump main_room_menu @@ -198,8 +196,9 @@ label skip_to_hermione: jump day_start label send_letters: - $ letter_hg_2.send() # Arrives on day 2 - $ letter_work_unlock.send() # Arrives on day 4 - $ letter_favors.send() # Arrives on day 8 - $ letter_cards_unlock.send() # Arrives on day 24 + python: + letter_hg_2.send() # Arrives on day 2 + letter_work_unlock.send() # Arrives on day 4 + letter_favors.send() # Arrives on day 8 + letter_cards_unlock.send() # Arrives on day 24 return diff --git a/game/scripts/events/classes.rpy b/game/scripts/events/classes.rpy deleted file mode 100644 index 519b8999..00000000 --- a/game/scripts/events/classes.rpy +++ /dev/null @@ -1,36 +0,0 @@ - -init -1 python: - - class shaming_class(object): - #TODO This class should be replaced by event_class after the events have been restructured into tiers - """ - Represents a shaming event. - - `counter` (int): The number of times this event has been completed. - `points` (int): The number of times that count as progress. - """ - def __init__(self, **kwargs): - self.title = "" - self.tier = 0 - self.start_label = "" - self.complete_label = "" - self.counter = 0 - self.points = 0 - self.hint = False - self.inProgress = False - - self.__dict__.update(**kwargs) - - def get_menu_item(self, disabled=False): - menu_text = "" - - if self.hint: - menu_text += "{{image={}_check_True}}".format(gui.theme()) - - if self.title: - menu_text += "\"{}\"".format(self.title) - - if disabled: - return gui.menu_item(menu_text, "block") - else: - return gui.menu_item(menu_text, self.start_label) diff --git a/game/scripts/events/ending.rpy b/game/scripts/events/ending.rpy index 4f02aec5..3783d2bb 100644 --- a/game/scripts/events/ending.rpy +++ b/game/scripts/events/ending.rpy @@ -1,11 +1,13 @@ ### Yule Ball Ending ### +default her_ev_yule_ball_ending_e1 = Event(id="her_ev_yule_ball_ending_e1", wait=2, label="ball_ending_E1", priority=0, req="game.daytime", repeat=False) + label ball_ending_start: - gen "[hermione_name], that ball you've mentioned..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], that ball you've mentioned..." ("base", xpos="far_left", ypos="head") gen "When did you say it would start again?" ("base", xpos="far_left", ypos="head") her "The autumn ball?!" ("grin", "base", "base", "mid") her "I'm so excited!!! I can't wait for it!" ("grin", "happyCl", "base", "mid") - her "Just two more days, [genie_name]." ("base", "narrow", "base", "mid_soft") + her "Just two more days, [name_genie_hermione]." ("base", "narrow", "base", "mid_soft") gen "That soon, *huh*?" ("base", xpos="far_left", ypos="head") her "Yep! I still have a tonne of preparation to do, though." ("soft", "base", "base", "R") gen "Well then I better not keep you occupied any longer..." ("base", xpos="far_left", ypos="head") @@ -14,12 +16,12 @@ label ball_ending_start: her "Have some fun?" ("soft", "narrow", "base", "mid_soft") gen "You read my mind, girl." ("grin", xpos="far_left", ypos="head") - $ ball_quest.started = True + $ states.her.ev.yule_ball.started = True $ ss_event_pause += 2 + $ her_ev_yule_ball_ending_e1.enqueue() jump hermione_favor_menu - screen genie_snape_shake_hands(shake=False): if shake: add "characters/snape/chibis/handshake/hand_01.webp" pos (220, 205) zoom 0.5 @@ -32,7 +34,7 @@ label ball_ending_E1: call sna_walk(action="enter", xpos="desk", ypos="base") pause.8 - call play_music("snape") + play music "music/Dark Fog.ogg" fadein 1 if_changed sna "Genie..." ("snape_01", xpos="base", ypos="base") gen "Severus?" ("base", xpos="far_left", ypos="head") sna "I think I may have figured out why your magic does not work the way it should..." ("snape_05") @@ -64,7 +66,7 @@ label ball_ending_E1: call sna_chibi("hide") show screen genie_snape_shake_hands(False) - play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/machinations-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed pause 1 call hide_blkfade @@ -81,7 +83,7 @@ label ball_ending_E1: with d3 pause 2 - sna "The past several month were the best months of my life, Genie..." ("snape_26") + sna "The past several months were the best months of my life, Genie..." ("snape_26") sna "Thank you for that...{w=0.3} you incredible traveller from another world..." sna "Thank you, my friend..." gen "I don't know what to say, Severus..." ("base", xpos="far_left", ypos="head") @@ -148,11 +150,11 @@ label ball_ending_E1: gen "............................" ("base", xpos="far_left", ypos="head") gen "So this is it then..." ("base", xpos="far_left", ypos="head") - call play_music("despair") + play music "music/Despair_by_erenik.ogg" fadein 1 if_changed gen "Seems like my time in this world has come to an end..." ("base", xpos="far_left", ypos="head") gen "......................." ("base", xpos="far_left", ypos="head") - if not public_whore_ending: + if not "public" in states.her.ev.yule_ball.variant: # Personal whore ending # Writing a letter gen "That Means I'll probably never see the girl again..." ("base", xpos="far_left", ypos="head") @@ -195,9 +197,9 @@ label ball_ending_E1: call gen_chibi("paperwork") with d3 gen "Yes, \"Dear [word_01]\" fits perfectly..." ("base", xpos="far_left", ypos="head") - "*scribble-scribble-scribble*" - "*scribble-scribble-scribble*" - gen "...{w=0.4} \" it is time for me to go back\"..." ("base", xpos="far_left", ypos="head") + "*Scribble-scribble-scribble*" + "*Scribble-scribble-scribble*" + gen "...{w=0.4} \"It is time for me to go back\"..." ("base", xpos="far_left", ypos="head") call gen_chibi("paperwork_idle") with d3 gen "What should I write now?" ("base", xpos="far_left", ypos="head") @@ -218,8 +220,8 @@ label ball_ending_E1: call gen_chibi("paperwork") with d3 gen "Yes, \"Time to go back [word_02]\" that will do..." ("base", xpos="far_left", ypos="head") - "*scribble-scribble-scribble*" - "*scribble-scribble-scribble*" + "*Scribble-scribble-scribble*" + "*Scribble-scribble-scribble*" gen "...{w=0.4} \"farewell my little\"..." ("base", xpos="far_left", ypos="head") call gen_chibi("paperwork_idle") with d3 @@ -239,8 +241,8 @@ label ball_ending_E1: call gen_chibi("paperwork") with d3 gen "Yes, \"farewell my little [word_03]\" sounds about right..." ("base", xpos="far_left", ypos="head") - "*scribble-scribble-scribble*" - "*scribble-scribble-scribble*" + "*Scribble-scribble-scribble*" + "*Scribble-scribble-scribble*" call gen_chibi("paperwork_idle") with d3 gen "And now to sign it as..." ("base", xpos="far_left", ypos="head") @@ -250,8 +252,10 @@ label ball_ending_E1: menu: gen "..." ("base", xpos="far_left", ypos="head") + "\"Genie\"": $ word_04 = "Genie" + "\"Clark Kent\"": $ word_04 = "Clark Kent" call gen_chibi("paperwork") @@ -262,11 +266,16 @@ label ball_ending_E1: gen "..........." ("base", xpos="far_left", ypos="head") gen "No, that doesn't make any sense..." ("base", xpos="far_left", ypos="head") jump stupid_kent + "\"Lord Voldemort\"": $ word_04 = "Lord Voldemort" + "\"Traveller\"": $ word_04 = "Traveller" + "\"[name_genie_hermione]\"": + $ word_04 = name_genie_hermione + call gen_chibi("paperwork") with d3 gen "Yes, \"[word_04]\"..." ("base", xpos="far_left", ypos="head") @@ -295,30 +304,30 @@ label ball_ending_E1: call blkfade stop music fadeout 1.0 - stop bg_sounds + stop background stop weather # Outskirts of Hogwarts centered "{size=+7}{color=#cbcbcb}Outskirts of Hogwarts{/color}{/size}" - call play_music("night_outside") + play background "sounds/night.ogg" fadein 1 - $ dynamic_cg("ball", "173") + show her_ball outskirts as cg zorder 15 pause.3 call hide_blkfade call ctc pause.5 - call play_sound("walking_on_grass") + play sound "sounds/steps_grass.ogg" - $ dynamic_cg("ball", "171", "172") + show her_ball outskirts g1 as cg gen "Severus was right..." ("base", xpos="far_left", ypos="head") gen "The farther away I get from the school grounds..." ("base", xpos="far_left", ypos="head") gen "The more powerful I'm starting to feel..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball", "171", "172", "173") + show her_ball outskirts g1 m1 as cg pause.5 gen "I think this is far enough..." ("base", xpos="far_left", ypos="head") @@ -336,14 +345,14 @@ label ball_ending_E1: with d9 pause .5 - play music "music/Plaint.ogg" fadein 1 fadeout 1 #SAD CREDITS MUSIC. + play music "music/Plaint.ogg" fadein 1 fadeout 1 #SAD CREDITS MUSIC. if_changed centered """{size=+7}{color=#cbcbcb}Congratulations on completing the game!{/color}{/size}\n\n {size=+5}{color=#cbcbcb}This is ending \"00\" out of \"02\".{/color}{/size}{#LINT_IGNORE}""" centered "{size=+7}{color=#cbcbcb}Thank you for playing!{/color}{/size}\n\n{#LINT_IGNORE}" - $ renpy.play('sounds/scratch.ogg') + play sound "sounds/scratch.ogg" stop music with hpunch gen "Wait, I'm still here!" ("angry", xpos="far_left", ypos="head") @@ -354,26 +363,21 @@ label ball_ending_E1: centered "{size=+7}{color=#cbcbcb}Oh... :({/color}{/size}{#LINT_IGNORE}" - $ dynamic_cg("ball", "171", "172") + show her_ball outskirts -m1 as cg hide screen blkfade with d9 - play music "sounds/night.ogg" fadein 1 fadeout 1 #NIGHT SOUNDS. - gen "....................." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball", "171", "172") + gen "No, I can't just leave like this!" ("base", xpos="far_left", ypos="head") gen "I must see the girl one last time..." ("base", xpos="far_left", ypos="head") - call play_sound("walking_on_grass") - - $ dynamic_cg("ball", "171") - + play sound "sounds/steps_grass.ogg" call ctc - hide screen dynamic_cg + hide cg call blkfade - stop music fadeout 1.0 + stop background fadeout 1.0 if not persistent.game_complete: # First play-through @@ -381,25 +385,23 @@ label ball_ending_E1: jump ball_ending_E2 - label ball_ending_E2: # Main part of the ball event # Event replay starts here call blkfade - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed centered "{size=+7}{color=#cbcbcb}The Annual Hogwarts Autumn Ball{/color}{/size}" # Scene Setup $ game.daytime = True - call update_interface_color hide screen bld1 hide screen blktone call her_chibi("hide") - $ dynamic_cg("ball", "background") + show her_ball entrance wall as cg zorder 15 #Setting up Hermione's outfit. $ hermione.equip(her_outfit_ball) @@ -432,7 +434,7 @@ label ball_ending_E2: call blktone_top - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: # Public whore ending # Students talking mal "Have you heard that rumour about Hermione Granger?" @@ -451,17 +453,17 @@ label ball_ending_E2: fem "Jealous? Of her? Puh-lease!" fem "I have no use for popularity that comes from putting cocks in my mouth!" mal "Well, if you ever change your mind..." - fem "*huh*?" + fem "*Huh*?" mal "Feel free to use me as a stepping stone on your road to fame!" fem "You wish!" mal2 "Hey, guys, I think that's Hermione over there!" mal "You're right!" mal2 "Do you think if I ask her to the dance, I might get lucky later?" mal "Not if I ask her first!" - call play_sound("walking") + play sound "sounds/run_04.ogg" pause 2 mal2 "Hey, wait up! That was my idea!" - call play_sound("running") + play sound "sounds/run_03.ogg" pause 2 fem "Guys...?" fem "........................." @@ -480,7 +482,7 @@ label ball_ending_E2: mal2 "{size=-4}Yeah, you wish you had Hermione's courage!{/size}" mal "{size=-4}Exactly! No one is more loyal to Gryffindor than she is!{/size}" mal "{size=-4}Even if the rumours are true, what does it matter?{/size}" - mal "{size=-4}Thanks to her sacrifice our house will be getting the cup this year!{/size}" + mal "{size=-4}Thanks to her sacrifice, our house will be getting the cup this year!{/size}" mal2 "{size=-4}Yeah, and what did you ever do for our house?{/size}" fem "{size=-4}I..... But....{/size}" mal "{size=-4}Exactly! So don't you bad-mouth Hermione!{/size}" @@ -491,11 +493,11 @@ label ball_ending_E2: call hide_blktone_top call ctc - $ dynamic_cg("ball/intro", "background", "bloom", "foreground", "overlay") + show her_ball entrance hall crowd as cg zorder 15 pause 1.0 gen "(*Hmm*... I don't see her...)" ("base", xpos="far_left", ypos="head") pause 1.0 - $ dynamic_cg("ball/intro", "background", "bloom", "hermione", "foreground", "overlay") + show her_ball entrance h1 as cg pause 0.5 gen "(There she is!)" ("grin", xpos="far_left", ypos="head") @@ -504,7 +506,7 @@ label ball_ending_E2: mal "You look... so beautiful tonight, Hermione." her "Thank you, you are too sweet." ("base", "closed", "base", "mid") mal2 "Can I have the next dance?" - mal "What? Back off buddy, I was here first!" + mal "What? Back off, buddy! I was here first!" mal2 "Like hell you were!" mal "Alright, pal! That does it!" mal2 "I'm not your \"pal\", buddy!" @@ -516,41 +518,41 @@ label ball_ending_E2: gen "Psst! Girl!" ("base", xpos="far_left", ypos="head") her "???" ("upset", "base", "base", "mid") gen "Girl, it's me! Over here!" ("base", xpos="far_left", ypos="head") - her "[genie_name]?" ("open", "base", "base", "mid") + her "[name_genie_hermione]?" ("open", "base", "base", "mid") gen "Shush! Keep your voice down and follow me." ("base", xpos="far_left", ypos="head") her "Oh?" ("open", "base", "base", "mid") - $ dynamic_cg("ball/bj", "background") + show her_ball wall -h1 as cg call hide_blktone_top call ctc her "Sir, what is going on? Why are you... lurking in the shadows?" ("upset", "base", "base", "mid") gen "Just be quiet and listen for a second! Can you do that for me?" ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. her "Yes, sir..." ("upset", "base", "base", "mid") gen "Well, here is the thing..." ("base", xpos="far_left", ypos="head") gen "There is something you need to kn--" ("base", xpos="far_left", ypos="head") - her "Of course sir!" ("grin", "happy", "base", "mid",cheeks="blush") + her @ cheeks blush "Of course sir!" ("grin", "happy", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "Let's just make this quick, alright?" ("soft", "narrow", "base", "R_soft",cheeks="blush") + her @ cheeks blush "Let's just make this quick, alright?" ("soft", "narrow", "base", "R_soft") gen "Let's make what quick?" ("angry", xpos="far_left", ypos="head") - her "You want me to thank you for the dress, don't you, sir?" ("base", "narrow", "base", "mid_soft",cheeks="blush") - gen "The dress? No, no that's not why I am here." ("base", xpos="far_left", ypos="head") - her "It is fine, sir. I do not mind." ("soft", "narrow", "base", "R_soft",cheeks="blush") + her @ cheeks blush "You want me to thank you for the dress, don't you, sir?" ("base", "narrow", "base", "mid_soft") + gen "The dress? No, no... That's not why I am here." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "It is fine, sir. I do not mind." ("soft", "narrow", "base", "R_soft") gen "Listen to me, girl! I am not who you think--" ("base", xpos="far_left", ypos="head") - her "Please, sir, let me suck on your cock a little." ("open_tongue", "narrow", "worried", "mid_soft",cheeks="blush") + her @ cheeks blush "Please, sir, let me suck on your cock a little." ("open_tongue", "narrow", "worried", "mid_soft") gen "*Gh*--!!!" ("angry", xpos="far_left", ypos="head") - her "Just a little will do. Please? I'm begging you..." ("open_tongue", "narrow", "worried", "mid_soft",cheeks="blush") + her @ cheeks blush "Just a little will do. Please? I'm begging you..." ("open_tongue", "narrow", "worried", "mid_soft") gen "Damn you, you damn witch!" ("angry", xpos="far_left", ypos="head") gen "Stop this! I really need to talk to you!" ("angry", xpos="far_left", ypos="head") - her "Well of course, sir." ("base", "narrow", "base", "mid_soft",cheeks="blush") - her "Put your dick in my mouth and talk to me." ("open_tongue", "narrow", "worried", "mid_soft",cheeks="blush") + her @ cheeks blush "Well of course, sir." ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "Put your dick in my mouth and talk to me." ("open_tongue", "narrow", "worried", "mid_soft") her "Talk dirty to me..." - gen "*growl*!" ("angry", xpos="far_left", ypos="head") + gen "*Growl*!" ("angry", xpos="far_left", ypos="head") gen "*Sigh*...." ("base", xpos="far_left", ypos="head") gen "Fine, have it your way..." ("base", xpos="far_left", ypos="head") gen "But you are abusing your power, girl!" ("base", xpos="far_left", ypos="head") - her "*Giggle*!" ("crooked_smile", "happyCl", "worried", "mid",cheeks="blush") + her @ cheeks blush "*Giggle*!" ("crooked_smile", "happyCl", "worried", "mid") gen "And after we're done, we'll have that talk!" ("base", xpos="far_left", ypos="head") show screen blkfade @@ -561,64 +563,65 @@ label ball_ending_E2: hide screen bld1 hide screen blkfade - $ dynamic_cg("ball/bj", "background", "base", "sweat") + show her_ball blowjob h1 mouth_none blush_none eyes_none sweat_s1 as cg call ctc her "*Slurp*! *Gulp*! *Slurp*!" her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "sweat2") + show her_ball blowjob h2 mouth_none blush_none eyes_none sweat_s2 as cg her "*huh*.........." her "...................." - $ dynamic_cg("ball/bj", "background", "base", "sweat") + show her_ball blowjob h1 mouth_none blush_none eyes_none sweat_s1 as cg her "*Slurp*! *Gulp*! *Slurp*!" gen "Yes... Like that.... oh... yes..." ("base", xpos="far_left", ypos="head") her "*Gulp*! *Slurp*! *Slurp*!" her "*Gulp*--" - $ dynamic_cg("ball/bj", "background", "base2", "sweat2") + show her_ball blowjob h2 mouth_none blush_none eyes_none sweat_s2 as cg her "...................." #LOOKING BACK - gen "Just keep going girl." ("base", xpos="far_left", ypos="head") + gen "Just keep going, girl." ("base", xpos="far_left", ypos="head") gen "I will let you know if I see someone coming..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_open2", "sweat2") + show her_ball blowjob h2 mouth_open2 blush_none eyes_up2 sweat_s2 as cg her "Oh... I'm not worried about that, sir..." gen "*Hmm*?" ("base", xpos="far_left", ypos="head") her "They are supposed to make the announcement soon..." - $ dynamic_cg("ball/bj", "background", "base", "sweat") + show her_ball blowjob h1 sweat_s1 mouth_none eyes_none as cg her "*Slurp*! *Gulp*! *Slurp*!" gen "The announcement?" ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_open2", "sweat2") + show her_ball blowjob h2 sweat_s2 mouth_open2 eyes_up2 as cg her "Yes. About the coronation..." - $ dynamic_cg("ball/bj", "background", "base", "sweat") + show her_ball blowjob h1 sweat_s1 mouth_none eyes_none as cg her "*Gulp*! *Slurp*! *Gulp*!" gen "What...?" ("base", xpos="far_left", ypos="head") her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "mouth_open2", "sweat2") + show her_ball blowjob h2 sweat_s2 mouth_open2 eyes_closed2 as cg her "The Hogwarts autumn ball queen coronation, sir." gen "Oh... Is that a thing?" ("base", xpos="far_left", ypos="head") gen "Any chance you might be chosen?" ("base", xpos="far_left", ypos="head") her "A chance?" her "It's already been decided, sir." gen "What?" ("base", xpos="far_left", ypos="head") - her "Oh, I mean I hope I will win..." + her "Oh, I mean... I hope I will win..." her "But since I am the one who organised the whole thing, it is only fair..." her "Wouldn't you agree, sir?" gen "Well... Sounds like cheat--" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "eyes_up", "sweat") + show her_ball blowjob h1 sweat_s1 mouth_none eyes_up1 as cg her "*Slurp*! *Slurp*! *Slurp*!" - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_smile2", "sweat2") + show her_ball blowjob h2 sweat_s2 mouth_smile2 eyes_up2 as cg her "Wouldn't you agree, sir?" gen "*Err*..." ("base", xpos="far_left", ypos="head") her "Wouldn't you?" with hpunch - $ dynamic_cg("ball/bj", "background", "base3", "blush3") + show her_ball blowjob h3 sweat_none eyes_none mouth_none blush_b3 as cg her "{size=+7}*gobble*!{/size}" #DEEPTHROATING gen "{size=+7}Oh, yes!!!{/size}" ("angry", xpos="far_left", ypos="head") - her "*gobble-gobble-gobble*!" - her "*gobble*" - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_smile2", "sweat2") + her "*Gobble-gobble-gobble*!" + her "*Gobble*" + show her_ball blowjob h2 sweat_s2 eyes_up2 mouth_smile2 blush_none as cg her "Good. I knew you would approve." - $ dynamic_cg("ball/bj", "background", "base", "eyes_up", "sweat") + show her_ball blowjob h1 sweat_s1 eyes_up1 mouth_none as cg + show her_ball blowjob h1 mouth_none blush_none eyes_up1 sweat_s1 as cg her "*Slurp*! *Slurp*! *Gulp*!" gen "Oh... This is amazing..." ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Gulp*!" @@ -626,149 +629,149 @@ label ball_ending_E2: sna "*Ahem*!" sna "Attention, maggots!" gen "(Snape?)" ("base", xpos="far_left", ypos="head") - sna "Quiet down everyone!" + sna "Quiet down, everyone!" sna "It is time to announce who will be this year's queen of the annual Hogwarts autumn ball." her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "sweat2") + show her_ball blowjob h2 mouth_none blush_none eyes_none sweat_s2 as cg her "Oh no! I think they are about to start..." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_open2", "sweat2") + show her_ball blowjob h2 mouth_open2 blush_none eyes_up2 sweat_s2 as cg her "But I can't just leave you in this...{w=0.5} condition, sir." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_down2", "sweat2") + show her_ball blowjob h2 mouth_none blush_none eyes_down2 sweat_s2 as cg her "What should I do?" gen "Just go, girl. We can finish this up later." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_open2", "sweat2") + show her_ball blowjob h2 mouth_open2 blush_none eyes_up2 sweat_s2 as cg her "But... But you got me this dress, sir, and..." her ".........." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "mouth_open2", "sweat2") + show her_ball blowjob h2 mouth_open2 blush_none eyes_closed2 sweat_s2 as cg her "No, I can't just leave you like this, sir." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "mouth_smile2", "sweat2") + show her_ball blowjob h2 mouth_smile2 blush_none eyes_closed2 sweat_s2 as cg gen "Fine! Finish the job then." ("base", xpos="far_left", ypos="head") gen "If you put some effort into this we'll be done in no time." ("base", xpos="far_left", ypos="head") gen "I believe in you, girl." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "sweat2") + show her_ball blowjob h2 mouth_none blush_none eyes_closed2 sweat_s2 as cg her "*Hmm*..." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_open2", "sweat2") + show her_ball blowjob h2 mouth_open2 blush_none eyes_up2 sweat_s2 as cg her "Then you must promise me something, sir." gen "Yes, what is it?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "eyes_up2", "mouth_happy2", "sweat2") + show her_ball blowjob h2 mouth_happy2 blush_none eyes_up2 sweat_s2 as cg her "Please, do not restrain yourself." - gen "Heh... I rarely do, girl." ("grin", xpos="far_left", ypos="head") + gen "*Heh*... I rarely do, girl." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "sweat2") + show her_ball blowjob h2 mouth_none blush_none eyes_none sweat_s2 as cg sna "This year's Hogwarts Autumn Ball queen is..." sna "Let's see... Can't open the damn envelope..." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "sweat2") + show her_ball blowjob h2 mouth_none blush_none eyes_closed2 sweat_s2 as cg her "Alright, sounds like we have no time to lose." - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: # Public whore ending - $ dynamic_cg("ball/bj", "background", "base", "sweat") + show her_ball blowjob h1 mouth_none blush_none eyes_none sweat_s1 as cg her "*Slurp*! *Gulp*! *Slurp*!" gen "Yes! That's the spirit!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "lashes", "sweat", "sperm") + show her_ball blowjob h1 sweat_s1 sperm_s1 lashes_l1 as cg her "*Gulp*! *Slurp*! *Gulp*!" her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "mouth_open2", "eyes_up2", "blush2", "sweat2") + show her_ball blowjob h2 sweat_s2 sperm_none lashes_none mouth_open2 eyes_up2 blush_b2 as cg her "Sir, is this really the proper way to treat one of your students?" - gen "*huh*?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "lashes", "sweat", "sperm") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + show her_ball blowjob h1 sweat_s1 sperm_s1 lashes_l1 mouth_none eyes_none blush_none as cg her "*Slurp*! *Gulp*! *Gulp*!" her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "blush2", "sweat2") + show her_ball blowjob h2 sperm_none lashes_none mouth_none eyes_closed2 blush_b2 sweat_s2 as cg her "I am like a fragile and impressionable little dove..." her "Entrusted to your care by my parents..." - $ dynamic_cg("ball/bj", "background", "base2", "mouth_grimmace2", "eyes_up2", "brows2", "blush2", "sweat2") + show her_ball blowjob h2 sperm_none lashes_none mouth_grimmace2 eyes_up2 brows_b2 blush_b2 sweat_s2 as cg her "You were supposed to treat me {i}right{/i}, sir..." her "And what did you do instead?" gen "*Ahem*! Let me repeat my previous statement..." ("base", xpos="far_left", ypos="head") - gen "{size=+7}\"*huh*?\"{/size}" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "mouth_happy2", "eyes_down2", "brows2", "blush2", "sweat2") + gen "{size=+7}\"*Huh*?\"{/size}" ("base", xpos="far_left", ypos="head") + show her_ball blowjob h2 sperm_none lashes_none mouth_happy2 eyes_down2 brows_b2 blush_b2 sweat_s2 as cg her "You put your penis in my innocent mouth, sir!" - $ dynamic_cg("ball/bj", "background", "base", "eyes_closed", "blush", "sweat") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_closed1 brows_none blush_b1 sweat_s1 as cg her "*Slurp*! *Slurp*! *Slurp*!" gen "Oh, I see! Yes, I like this innocent girl act!" ("grin", xpos="far_left", ypos="head") her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "mouth_open2", "eyes_up2", "blush2", "sweat2") + show her_ball blowjob h2 sperm_none lashes_none mouth_open2 eyes_up2 brows_none blush_b2 sweat_s2 as cg her "You pretended to be kind to me..." her "You bought me this dress..." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "blush2", "sweat2") + show her_ball blowjob h2 sperm_none lashes_none mouth_none eyes_closed2 brows_none blush_b2 sweat_s2 as cg her "And then........." - $ dynamic_cg("ball/bj", "background", "base", "eyes_up", "sweat") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_up1 brows_none blush_none sweat_s1 as cg her "*Slurp*! *Gulp*! *Gulp*!" her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "blush2", "sweat2") + show her_ball blowjob h2 sperm_none lashes_none mouth_none eyes_closed2 brows_none blush_b2 sweat_s2 as cg her "You took advantage of me, sir!" her "Tricked me into sucking your big cock!" gen "Oh... Yes! You're good!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "mouth_grimmace2", "lashes2", "blush2") + show her_ball blowjob h2 sperm_none lashes_l2 mouth_grimmace2 eyes_none brows_none blush_b2 sweat_none as cg her "I'm supposed to be enjoying the ball with my classmates right now..." - $ dynamic_cg("ball/bj", "background", "base2", "mouth_grimmace2", "brows2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_grimmace2 eyes_none brows_b2 blush_b2 sweat_none as cg her "But what am I doing instead?" - $ dynamic_cg("ball/bj", "background", "base", "eyes_up") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_up1 brows_none blush_none sweat_none as cg her "*Slurp*! *Slurp*! *Slurp*!" gen "Oh..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "eyes_closed", "brows", "blush") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_closed1 brows_b1 blush_b1 sweat_none as cg her "*Slurp*! *Gulp*! *Slurp*! *Slurp*! *Slurp*!" her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "mouth_open2", "brows2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_open2 eyes_closed2 brows_b2 blush_b2 sweat_none as cg her "I'm on my knees, sucking off my headmaster!" - $ dynamic_cg("ball/bj", "background", "base", "eyes_closed", "brows", "blush") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_closed1 brows_b1 blush_b1 sweat_none as cg her "*Slurp*! *Slurp*! *Gulp*!" gen "Oh, yes you are, you little slut!" ("base", xpos="far_left", ypos="head") her "*Slurp*! *Slurp*! *Slurp*!" her "*Slurp*! *Slurp*! *Gulp*!" gen "You are really good at this dirty talk stuff..." ("angry", xpos="far_left", ypos="head") gen "You should try writing a fairy tale, or something..." ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "eyes_up", "blush") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_up1 brows_none blush_b1 sweat_none as cg her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "mouth_open2", "eyes_up2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_open2 eyes_up2 brows_none blush_b2 sweat_none as cg her "Oh, but I wouldn't know how, sir..." - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_none eyes_closed2 brows_none blush_b2 sweat_none as cg gen "You nasty little thing!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "eyes_closed", "brows", "blush") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_closed1 brows_b1 blush_b1 sweat_none as cg her "*Slurp*! *Slurp*! *Gulp*! *Slurp*! *Slurp*!" sna "Miss Granger?" sna "{size=-4}(Where is that girl?){/size}" - ">A murmur starts running through the crowd of students." + nar "A murmur starts running through the crowd of students." her "*Slurp*! *Slurp*! *Gulp*!" her "*Gulp*--" - $ dynamic_cg("ball/bj", "background", "base2", "mouth_open2", "eyes_up2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_open2 eyes_up2 brows_none blush_b2 sweat_none as cg her "Sir, am I being an obedient little slut?" gen "Yes you are, girl!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "mouth_grimmace2", "brows2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_grimmace2 eyes_none brows_b2 blush_b2 sweat_none as cg her "Would you say that I am a good student?" gen "I would say that you are an excellent student, girl!" ("grin", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base2", "eyes_closed2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_none eyes_closed2 brows_none blush_b2 sweat_none as cg her "Good..." - $ dynamic_cg("ball/bj", "background", "base2", "mouth_smile2", "eyes_down2", "brows2", "blush2") - her "I'm making my mommy and my daddy proud!" - $ dynamic_cg("ball/bj", "background", "base", "eyes_closed", "blush") + show her_ball blowjob h2 sperm_none lashes_none mouth_smile2 eyes_down2 brows_b2 blush_b2 sweat_none as cg + her "I'm making my mum and dad proud!" + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_closed1 brows_none blush_b1 sweat_none as cg her "*Slurp*! *Slurp*! *Gulp*!" gen "Oh, girl, you are killing me!" ("angry", xpos="far_left", ypos="head") her "*Slurp-slurp-slurp-slurp*!!!" gen "Oh, yes! Like that!" ("angry", xpos="far_left", ypos="head") her "*Slurp*--" - $ dynamic_cg("ball/bj", "background", "base2", "mouth_grimmace2", "brows2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_grimmace2 eyes_none brows_b2 blush_b2 sweat_none as cg her "Do I deserve a reward, sir?" - $ dynamic_cg("ball/bj", "background", "base2", "mouth_happy2", "eyes_up2", "blush2") + show her_ball blowjob h2 sperm_none lashes_none mouth_happy2 eyes_up2 brows_none blush_b2 sweat_none as cg her "I would like you to reward me with your cum, please." gen "*Grh*!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "eyes_closed", "brows", "blush") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_closed1 brows_b1 blush_b1 sweat_none as cg her "*Slurp*! *Slurp*! *Slurp*!" gen "*Geh*! Almost...!" ("angry", xpos="far_left", ypos="head") her "{size=+5}*Slurp-gulp-slurp-slurp*!!!{/size}" gen "{size=+5}Here it com--{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base", "eyes_down", "brows", "blush") + show her_ball blowjob h1 sperm_none lashes_none mouth_none eyes_down1 brows_b1 blush_b1 sweat_none as cg her "*Slurp*.........................." her "!!!" call ctc call blkfade - $ dynamic_cg("ball/bj", "background", "base4", "lashes4", "brows4", "blush4") + show her_ball blowjob h4 sperm_none lashes_l4 mouth_none eyes_none brows_b4 blush_b4 sweat_none as cg gen "{size=+5}What the...!? Why did you stop?!{/size}" ("angry", xpos="far_left", ypos="head") gen "{size=+5}What the hell are you doing--{/size}" ("angry", xpos="far_left", ypos="head") call hide_blkfade @@ -777,10 +780,10 @@ label ball_ending_E2: her "{size=+5}Cum for me, sir! Cum for me!{/size}" with hpunch gen "{size=+5}What the hell is this?!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base4", "eyes_up4", "mouth_smile4", "brows4", "blush4") + show her_ball blowjob h4 sperm_none lashes_l4 mouth_smile4 eyes_up4 brows_b4 blush_b4 sweat_none as cg her "{size=+5}Cum for me, sir! I want your hot cum on me!{/size}" gen "*Argh*! You whore!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base4", "eyes_up4", "lashes4", "brows4", "blush4") + show her_ball blowjob h4 sperm_none lashes_l4 mouth_none eyes_up4 brows_b4 blush_b4 sweat_none as cg her "{size=+5}Yes I am!{/size}" her "{size=+5}Nothing but a cum hungry whore, sir!{/size}" with hpunch @@ -793,7 +796,7 @@ label ball_ending_E2: with hpunch gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base4", "eyes_up4", "lashes4", "blush4") + show her_ball blowjob h4 sperm_none lashes_l4 mouth_none eyes_up4 brows_none blush_b4 sweat_none as cg her "{size=+5}*Ah*! Yes, sir! Yes! cum for me!{/size}" show screen white @@ -807,12 +810,12 @@ label ball_ending_E2: gen "{size=+7}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") gen "{size=+7}*Argh*!!! YES!!!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base4", "lashes4", "blush4") - her "*Ah*... yes... *ah*..." + show her_ball blowjob h4 sperm_none lashes_l4 mouth_none eyes_none brows_none blush_b4 sweat_none as cg + her "*Ah*... yes... *Ah*..." gen "Oh... *ght*... *panting*" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base4", "eyes_up4", "lashes4", "blush4") + show her_ball blowjob h4 sperm_none lashes_l4 mouth_none eyes_up4 brows_none blush_b4 sweat_none as cg her "Thank you sir..." - $ dynamic_cg("ball/bj", "background", "base4", "mouth_smile4", "sperm4", "lashes4", "blush4") + show her_ball blowjob h4 sperm_none lashes_l4 mouth_smile4 eyes_none brows_none blush_b4 sweat_none as cg her "..........................................." call ctc @@ -820,20 +823,20 @@ label ball_ending_E2: pause.5 gen "What on earth just happened, girl?!" ("base", xpos="far_left", ypos="head") - her "What do you mean, sir?" ("soft", "narrow", "base", "R_soft",cheeks="blush", ypos="head", flip=False) - $ dynamic_cg("ball/bj", "background") + her @ cheeks blush "What do you mean, sir?" ("soft", "narrow", "base", "R_soft", ypos="head", flip=False) + hide cg call hide_blkfade gen "Do I really need to point this out to you?" ("base", xpos="far_left", ypos="head") gen "{size=+5}Do I really?{/size}" ("angry", xpos="far_left", ypos="head") - her "Oh... You mean the hair thing...?" ("soft", "narrow", "base", "R_soft",cheeks="blush") + her @ cheeks blush "Oh... You mean the hair thing...?" ("soft", "narrow", "base", "R_soft") gen "Yes... \"the hair thing\"..." ("base", xpos="far_left", ypos="head") - her "Well, what did you expect me to do, sir?" ("crooked_smile", "happyCl", "worried", "mid",cheeks="blush") + her @ cheeks blush "Well, what did you expect me to do, sir?" ("crooked_smile", "happyCl", "worried", "mid") gen "Literally anything..." ("base", xpos="far_left", ypos="head") gen "... but {size=+7}THAT!{/size}" ("angry", xpos="far_left", ypos="head") her "But... I need to look my best for the coronation..." ("open", "base", "base", "mid") gen "And a hairdo full of cum is supposed to ensure that?" ("base", xpos="far_left", ypos="head") - her "Well... yes..." ("soft", "narrow", "base", "R_soft",cheeks="blush") + her @ cheeks blush "Well... yes..." ("soft", "narrow", "base", "R_soft") her "You see, cum is a great hair fixative and--" ("open", "base", "base", "mid") stop music fadeout 1.0 @@ -842,7 +845,7 @@ label ball_ending_E2: sna "{size=-4}Not that I care...{/size}" her "The coronation! I must go now!" ("open", "wide", "worried", "stare") - call play_sound("running") + play sound "sounds/run_03.ogg" pause 3 gen ".............................." ("base", xpos="far_left", ypos="head") @@ -855,123 +858,123 @@ label ball_ending_E2: call blkfade else: - $ dynamic_cg("ball/bj", "background", "base3", "blush3") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_none brows_none blush_b3 sweat_none as cg with hpunch her "{size=+5}*GOBBLE*!{/size}" gen "{size=+5}Yeeeeeeeeeees!{/size}" ("angry", xpos="far_left", ypos="head") sna "There! *Hmm*...?" sna "(Well of course... Why am I not surprised?)" - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "eyes_stare3") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_stare3 brows_none blush_b3 sweat_none as cg sna "Miss Hermione Granger of the Gryffindor house..." - ">Loud applause and cheering erupts from the crowd." - $ dynamic_cg("ball/bj", "background", "base3", "blush3") + nar "Loud applause and cheering erupts from the crowd." + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_none brows_none blush_b3 sweat_none as cg sna "Miss Granger, if you would be so kind to grace us with your presence..." - her "*gobble-gobble-gobble*!" + her "*Gobble-gobble-gobble*!" gen "Yes! That's a good slut!" ("base", xpos="far_left", ypos="head") her "{size=+5}*gobble-gobble-gobble*!!!{/size}" gen "Yes. Now, move your tongue..." ("base", xpos="far_left", ypos="head") gen "Lick my balls, girl. Come on!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "eyes_closed3", "blush3") - her "*gobble*! *Lick*! *Lick*! *gobble*!" + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_closed3 brows_none blush_b3 sweat_none as cg + her "*Gobble*! *Lick*! *Lick*! *Gobble*!" gen "Yes... Like that." ("base", xpos="far_left", ypos="head") gen "What a good whore you are..." ("base", xpos="far_left", ypos="head") - her "*Lick*! *Lick*! *gobble*! *Lick*!" - gen "Now look up at me whore." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "eyes_up3", "blush3") + her "*Lick*! *Lick*! *Gobble*! *Lick*!" + gen "Now look up at me, whore." ("base", xpos="far_left", ypos="head") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_up3 brows_none blush_b3 sweat_none as cg her "???................" - call play_sound("spitting") + play sound "sounds/spit.ogg" show screen white pause.3 hide screen white with vpunch - $ dynamic_cg("ball/bj", "background", "base3", "eyes_stare3", "blush3", "spit_base3") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_stare3 brows_none blush_b3 sweat_none spit_base3 as cg call ctc - her "*gobble*??!" + her "*Gobble*??!" gen "No, don't you stop now!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "brows_angry3", "spit_base3") - her "*gobble-gobble-gobble*!" + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_stare3 brows_angry3 blush_b3 sweat_none spit_base3 as cg + her "*Gobble-gobble-gobble*!" gen "Yes, whore! Yes!" ("base", xpos="far_left", ypos="head") sna "Miss Granger?" sna "If you would, please..." sna "Miss Granger?" - call play_sound("spitting") + play sound "sounds/spit.ogg" show screen white pause.3 hide screen white with vpunch - $ dynamic_cg("ball/bj", "background", "base3", "eyes_stare3", "blush3", "spit_base3", "spit_forehead3") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_stare3 brows_none blush_b3 sweat_none spit_forehead3 spit_base3 as cg call ctc her "!!!!!!!!!!!" her "......................................?" gen "What's the matter, my little spit bucket?" ("base", xpos="far_left", ypos="head") gen "Keep sucking my cock!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "tears_base3", "brows_angry3", "spit_base3", "spit_forehead3") - her "*gobble-gobble-gobble*!" + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_stare3 brows_angry3 blush_b3 sweat_none spit_base3 spit_forehead3 tears_base3 as cg + her "*Gobble-gobble-gobble*!" gen "Yes. Good whore." ("base", xpos="far_left", ypos="head") - her "*gobble-gobble-gobble*!" + her "*Gobble-gobble-gobble*!" gen "Keep deep throating me like that, yes!" ("base", xpos="far_left", ypos="head") - her "*gobble*! *gobble*! *gobble*!" + her "*Gobble*! *Gobble*! *Gobble*!" gen "The balls, girl! Don't forget to work your tongue!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "tears_base3", "spit_base3", "spit_forehead3") - her "*gobble*! *Lick*! *Lick*!" - gen "Yes! Keep at it and we will be done here in no time!" ("base", xpos="far_left", ypos="head") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_none brows_none blush_b3 sweat_none spit_base3 spit_forehead3 tears_base3 as cg + her "*Gobble*! *Lick*! *Lick*!" + gen "Yes! Keep at it, and we will be done here in no time!" ("base", xpos="far_left", ypos="head") gen "Oh, I almost forgot..." ("base", xpos="far_left", ypos="head") - call play_sound("spitting") + play sound "sounds/spit.ogg" pause.3 with vpunch - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "eyes_stare3", "tears_base3", "brows_angry3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_stare3 brows_angry3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg call ctc her "..........................." her ".................." - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "eyes_happycl3", "tears_base3", "brows_angry3", "spit_base3", "spit_forehead3", "spit_nose3") - her "*gobble*! *gobble*! *Lick*... *gobble*!" + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_happycl3 brows_angry3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg + her "*Gobble*! *Gobble*! *Lick*... *Gobble*!" gen "you just look so pretty with your face all covered in my spit!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "tears_base3", "brows_angry3", "spit_base3", "spit_forehead3", "spit_nose3") - her "*gobble*! *gobble*! *Lick*... *gobble*!" + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_none brows_angry3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg + her "*Gobble*! *Gobble*! *Lick*... *Gobble*!" gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - her "*gobble*! *gobble*! *Lick*... *gobble*!" + her "*Gobble*! *Gobble*! *Lick*... *Gobble*!" gen "Maybe we should show your pretty face to everyone?" ("base", xpos="far_left", ypos="head") gen "Should I call some of your classmates over?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "eyes_stare3", "tears_base3", "brows_angry3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_stare3 brows_angry3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg her "!!!!!!!!!!!!!!!" gen "Relax..." ("base", xpos="far_left", ypos="head") gen "I want to get caught as much as you do." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "tears_base3", "brows_angry3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_none brows_angry3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg sna "Miss Granger?" sna "{size=-4}Where is that girl?{/size}" - ">A murmur starts running through the crowd of students." + nar "A murmur starts running through the crowd of students." gen "Alright, listen up, whore." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3", "blush3", "eyes_squintup3", "tears_base3", "spit_base3", "spit_forehead3", "spit_nose3") - her "*gobble*?" + show her_ball blowjob h3 sperm_none lashes_none mouth_none eyes_squintup3 brows_none blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg + her "*Gobble*?" gen "I need you to stay still now." ("base", xpos="far_left", ypos="head") her "???" - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_up3", "tears_base3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_up3 brows_none blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg gen "Yes, just like that." ("base", xpos="far_left", ypos="head") her "................" - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_dead3", "tears_base3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_dead3 brows_none blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg her "....................................." gen "I plan to choke you a little bit with my cock..." ("base", xpos="far_left", ypos="head") gen "It'll be fun... just relax..." ("base", xpos="far_left", ypos="head") her "......................................" gen "Your throat is the best, girl." ("base", xpos="far_left", ypos="head") her "..........." - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_squintdead3", "tears_base3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_squintdead3 brows_none blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg gen "So warm and tight..." ("base", xpos="far_left", ypos="head") her "............................................." her "...................." her "......." - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_up3", "tears_base3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_up3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg with hpunch her "!!!" gen "I know, I know, you can't really breathe..." ("base", xpos="far_left", ypos="head") @@ -986,65 +989,65 @@ label ball_ending_E2: sna "Miss Granger..................?" sna "You are about to miss your own coronation, girl!" - gen "Heh..." ("grin", xpos="far_left", ypos="head") + gen "*Heh*..." ("grin", xpos="far_left", ypos="head") gen "Your queen is right here..." ("grin", xpos="far_left", ypos="head") gen "Choking on my engorged cock!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_happycl3", "tears_base3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_happycl3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg her "{size=+7}!!!!!!!!!!!!!!!!{/size}" gen "Oh. You are turning blue, love." ("base", xpos="far_left", ypos="head") gen "Will you be alright?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "tears_base3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_none brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg her "{size=+9}!!!!!!!!!!!!!!!!........................{/size}" gen "Look up whore!" ("base", xpos="far_left", ypos="head") her "{size=+3}........................{/size}" gen "I said, look at me!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_up3", "tears_base3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_up3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 tears_base3 as cg her "{size=+9}??!.....................{/size}" - call play_sound("spitting") + play sound "sounds/spit.ogg" pause.5 with vpunch - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_up3", "tears_base3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_on_eye3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_up3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_on_eye3 tears_base3 as cg her "{size=+9}!!!!!!!!!!!!!!!!!!{/size}" - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_closed3", "tears_base3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_eye3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_closed3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_eye3 -spit_on_eye3 tears_base3 as cg her "...................................................................................." gen "There you go! You wear it well!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_closed3", "tears_crying3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_eye3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_closed3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_eye3 tears_crying3 as cg her "...........................................................*SOB!*" with hpunch gen "*Gght*!" ("angry", xpos="far_left", ypos="head") gen "Here it comes!" ("angry", xpos="far_left", ypos="head") gen "I know you are fighting for air down there..." ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_dead3", "tears_crying3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_eye3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_dead3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_eye3 tears_crying3 as cg gen "But all you will get from me is a load of hot cum!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "cheeks3", "blush3", "eyes_stare3", "tears_crying3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_eye3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_stare3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_eye3 tears_crying3 as cg with hpunch her "{size=+9}*GHT*!!!!!!!!!!!!!!!!{/size}" with hpunch gen "{size=+9}*ARGH*!{/size}" ("angry", xpos="far_left", ypos="head") with hpunch - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "eyes_dead3", "tears_crying3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_eye3", "sperm3") + show her_ball blowjob h3_alt sperm_s3 lashes_none mouth_none eyes_dead3 brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_eye3 tears_crying3 as cg her "{size=+9}*GULP-GULP-GULP-GULP-GULP*!!!{/size}" gen "{size=+5}Yes, whore! Drink my cum!{/size}" ("angry", xpos="far_left", ypos="head") her "*GULP-GULP-GULP-GULP*......" with hpunch gen "Not done yet!{w=0.3} Not... done... *Argh!*" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "tears_crying3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_eye3", "sperm3") + show her_ball blowjob h3_alt sperm_s3 lashes_none mouth_none eyes_none brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_eye3 tears_crying3 as cg her "{size=-4}*Gulp*! *Gulp*! *Gulp...*{/size}" gen "Oh, yes..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/bj", "background", "base3_alt", "blush3", "mascara3", "tears_crying3", "brows3", "spit_base3", "spit_forehead3", "spit_nose3", "spit_eye3") + show her_ball blowjob h3_alt sperm_none lashes_none mouth_none eyes_none brows_b3 blush_b3 sweat_none spit_base3 spit_forehead3 spit_nose3 spit_eye3 tears_crying3 mascara_m3 as cg her "...................................................." gen "Well, I think that was the last of it--" ("base", xpos="far_left", ypos="head") with hpunch - gen "{size=+5}*huh*?!{/size}" ("angry", xpos="far_left", ypos="head") + gen "{size=+5}*Huh*?!{/size}" ("angry", xpos="far_left", ypos="head") call blkfade stop music fadeout 1.0 gen "Hey, what are you--" ("angry", xpos="far_left", ypos="head") - ">Hermione gets up abruptly and runs off without saying a word..." - call play_sound("running") + nar "Hermione gets up abruptly and runs off without saying a word..." + play sound "sounds/run_03.ogg" pause 3 gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") gen "Oh, that's right... The coronation thing..." ("base", xpos="far_left", ypos="head") @@ -1052,7 +1055,8 @@ label ball_ending_E2: pause 1.5 - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: + # Public whore ending sna "Miss Granger...?" ("snape_03", ypos="head") sna "So you decided to show up after all." ("snape_04") @@ -1069,16 +1073,16 @@ label ball_ending_E2: pause.7 hide screen blkfade - $ dynamic_cg("ball/speech", "background", "base", "overlay") + show her_ball speech h1 as cg - call play_sound("applause") + play sound "sounds/applause01.ogg" call ctc her "..............." her ".................................." - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "eyes_closed", "overlay") + show her_ball speech h1 mouth_open eyes_closed as cg - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed her "Hello, everyone!" her "Thank you for making me your ball queen for two years in a row!" @@ -1086,7 +1090,7 @@ label ball_ending_E2: gen "!!!" ("base", xpos="far_left", ypos="head") gen "Her hairdo looks perfect!" ("base", xpos="far_left", ypos="head") gen "I suppose I was wrong and--" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "eyes_closed", "cum0", "overlay") + show her_ball speech h1 mouth_open eyes_closed sperm_cum0 as cg gen "Nope, there it is!" ("angry", xpos="far_left", ypos="head") gen "Dripping down behind her ear!" ("angry", xpos="far_left", ypos="head") hide screen blktone @@ -1097,20 +1101,20 @@ label ball_ending_E2: gen "What was she thinking pulling a stunt like that?" ("angry", xpos="far_left", ypos="head") hide screen blktone - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "eyes_squint", "cum1", "overlay") + show her_ball speech h1 mouth_open eyes_squint sperm_cum1 as cg her "I shall not go as far as to say that I do not deserve this honour..." her "Because I think I do..." - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "cum2", "overlay") + show her_ball speech h1 mouth_open eyes_none sperm_cum2 as cg her "But I am still very grateful to stand here before all of you tonight..." show screen blktone - mal "{size=-4}*huh*?{/size}" - mal "{size=-4}What's that stuff on her forehead you wager?{/size}" + mal "{size=-4}*Huh*?{/size}" + mal "{size=-4}What's that stuff on her forehead, you wager?{/size}" mal2 "{size=-4}Sweat...?{/size}" mal "{size=-4}*Hmm*... Probably...{/size}" hide screen blktone - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "eyes_squint", "cum3", "overlay") + show her_ball speech h1 mouth_open eyes_squint sperm_cum3 as cg her "I would especially like to thank our esteemed teachers for their hard work." show screen blktone @@ -1119,11 +1123,11 @@ label ball_ending_E2: hide screen blktone her "Hogwarts truly did become a second home for all of us..." - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "eyes_squint", "cum4", "overlay") + show her_ball speech h1 mouth_open eyes_squint sperm_cum4 as cg her "I know that I speak for every student in this building when I say this." show screen blktone - mal "{size=-4}That doesn't look like sweat though...{/size}" + mal "{size=-4}That doesn't look like sweat, though...{/size}" mal2 "{size=-4}Yeah...{/size}" mal2 "{size=-4}Some weird goo seeping out of her hair...{/size}" fem "{size=-4}Are you guys really {i}that{/i} dim?{/size}" @@ -1139,7 +1143,7 @@ label ball_ending_E2: fem "{size=-4}*Humph*! Not all of us are sluts, you know.{/size}" mal "{size=-4}Unfortunately not...{/size}" fem "{size=-4}\"Unfortunately\"?!{/size}" - fem "{size=-4}*Tsk*! You, men are so clueless about everything!{/size}" + fem "{size=-4}*Tsk*! You men are so clueless about everything!{/size}" fem "{size=-4}You could never build a meaningful relationship with a slut!{/size}" mal "{size=-4}What's a \"meaningful relationship\"?{/size}" fem "{size=-4}It's when your girl is also your best friend.{/size}" @@ -1149,10 +1153,10 @@ label ball_ending_E2: mal "{size=-4}But I sure could use a slut in my life!{/size}" mal2 "{size=-4}What he said!{/size}" fem "{size=-4}you guys are...{/size}" - fem "Such Idiots!!!" + fem "Such idiots!!!" hide screen blktone - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "eyes_closed", "cum4", "overlay") + show her_ball speech h1 mouth_open eyes_closed sperm_cum4 as cg her "I remember when I was just a little girl..." show screen blktone @@ -1178,8 +1182,8 @@ label ball_ending_E2: # Reveal titty stop music - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "eyes_closed", "cum4", "overlay") - $ renpy.sound.play("sounds/boing02.ogg") + show her_ball speech h2 mouth_open eyes_closed sperm_cum4 as cg + play sound "sounds/boing02.ogg" call ctc show screen blktone @@ -1188,11 +1192,11 @@ label ball_ending_E2: sna "!!!" ("snape_11") hide screen blktone - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed her "Thank you, everyone..." her "Let me say this again..." her "Thank you for making me your ball queen this year..." - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "eyes_closed", "cum5", "overlay") + show her_ball speech h2 mouth_open eyes_closed sperm_cum5 as cg call ctc call blktone_top @@ -1206,10 +1210,10 @@ label ball_ending_E2: call hide_blktone_top call ctc - her "And most of all I am thankful to my parents..." + her "And most of all, I am thankful to my parents..." her "The people who raised me..." - her "Mommy... Daddy..." - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "eyes_squint", "brows", "cum6", "overlay") + her "Mum... Dad..." + show her_ball speech h2 mouth_open eyes_squint sperm_cum6 brows_down as cg her "I wish you could see how much Hogwarts changed me..." her "I wish you could see what has happened to that little girl you raised..." her "{size=-5}*Ah*...{/size}{heart}" @@ -1222,7 +1226,7 @@ label ball_ending_E2: gen "(By the great desert sands... What have I unleashed!?)" ("base", xpos="far_left", ypos="head") call hide_blktone_top - $ dynamic_cg("ball/speech", "background", "base2", "eyes_squint", "brows", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_squint sperm_cum6 brows_down as cg her "..............................." her ".................." call ctc @@ -1242,9 +1246,9 @@ label ball_ending_E2: fem "{size=+5}Gryffindor whore!!!{/size}" call hide_blktone_top - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "eyes_closed", "brows", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_closed sperm_cum6 brows_down as cg her "{size=-3}*Ah*...{/size}{heart}" - her "...............................*a-ha*...{heart}{heart}{heart}" + her "...............................*A-ha*...{heart}{heart}{heart}" call ctc "Somebody from the crowd" "Show us both of them, Hermione!" @@ -1252,31 +1256,31 @@ label ball_ending_E2: "Somebody from the crowd" "Have you no shame anymore, Hermione?!" "Another voice from the crowd" "Cover up, you slut!" - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_none sperm_cum6 brows_none as cg her "Oh... That's right..." her "I almost forgot..." - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "eyes_closed", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_closed sperm_cum6 brows_none as cg her "{size=+5}Go Gryffindor!{/size}" - call play_sound("applause") - ">The crowd starts whistling and cheering wildly." - $ dynamic_cg("ball/speech", "background", "base2", "eyes_squint", "brows", "cum6", "overlay") + play sound "sounds/applause01.ogg" + nar "The crowd starts whistling and cheering wildly." + show her_ball speech h2 mouth_open eyes_squint sperm_cum6 brows_down as cg her "......................................" her ".........................................................." call ctc - sna "Quiet down everyone!" ("snape_12", ypos="head") - sna "As for you, miss Granger..." ("snape_12") + sna "Quiet down, everyone!" ("snape_12", ypos="head") + sna "As for you, Miss Granger..." ("snape_12") sna "I think that's enough." ("snape_12") sna "Cover up and get off the stage... Go..." ("snape_12") pause.1 - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_none sperm_cum6 brows_none as cg her "\"Cover up\", sir?" - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "eyes_squint", "brows", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_squint sperm_cum6 brows_down as cg her "Oh? What is this? One of my breasts is completely exposed..." - $ dynamic_cg("ball/speech", "background", "base2", "eyes_squint", "brows", "cum6", "overlay") + show her_ball speech h2 mouth_none eyes_squint sperm_cum6 brows_down as cg her "How embarrassing..." - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "eyes_closed", "brows", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_closed sperm_cum6 brows_down as cg her "*Ah*...{heart}{heart}{heart}" call ctc @@ -1292,164 +1296,164 @@ label ball_ending_E2: sna "And wipe your face, girl. You look repulsive." ("snape_12", ypos="head") pause.1 - $ dynamic_cg("ball/speech", "background", "base2", "mouth_open", "cum6", "overlay") + show her_ball speech h2 mouth_open eyes_none sperm_cum6 brows_none as cg her "Oh, this? This is just my--" sna "Don't care! Get off the stage already!" ("snape_18", ypos="head") sna "Now!" ("snape_18") pause.1 - $ dynamic_cg("ball/speech", "background", "base2", "eyes_squint", "brows", "cum6", "overlay") + show her_ball speech h2 mouth_none eyes_squint sperm_cum6 brows_down as cg call ctc call blkfade - call play_sound("applause") - ">Wild whistling and cheering continues as Hermione descends from the stage." + play sound "sounds/applause01.ogg" + nar "Wild whistling and cheering continues as Hermione descends from the stage." pause 1 stop music fadeout 3.0 # Back in the alcove - $ dynamic_cg("ball", "background") + hide cg call hide_blkfade call ctc - her "[genie_name]..." ("soft", "narrow", "base", "R_soft",cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "[name_genie_hermione]..." ("soft", "narrow", "base", "R_soft", ypos="head", flip=False) her "There was something you wanted to discuss with me?" gen "Not right now, whore!" ("angry", xpos="far_left", ypos="head") call blkfade - her "Sir?!" ("base", "narrow", "base", "mid_soft",cheeks="blush") + her @ cheeks blush "Sir?!" ("base", "narrow", "base", "mid_soft") gen "I want to fuck you so badly! Come over here!" ("angry", xpos="far_left", ypos="head") - call play_music("playful_tension") - her "Of course, sir..." ("silly", "squint", "worried", "up",cheeks="blush") + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed + her @ cheeks blush "Of course, sir..." ("silly", "squint", "worried", "up") # Insertion - call play_sound("insert") + play sound "sounds/gltch.ogg" with hpunch with kissiris pause.5 gen "{size=+7}OH YEEEES!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "mouth_open", "blush") + show her_ball sex h1 mouth_open1 eyes_none blush_b1 as cg show screen bld1 call hide_blkfade call ctc her "*Aaah*!!!" gen "Your acceptance speech was a disgrace, girl!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "mouth_smile", "eyes_closed", "brows", "blush") + show her_ball sex h1 mouth_smile1 eyes_closed brows_b1 blush_b1 as cg her "I thought it went rather well..." gen "Showing off your tits like that?!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "mouth_smile", "eyes_closed", "blush") - her "Only one... *ah*..." + show her_ball sex h1 mouth_smile1 eyes_closed brows_none blush_b1 as cg + her "Only one... *Ah*..." gen "What?" ("angry", xpos="far_left", ypos="head") her "Only one tit, sir..." gen "Whatever happened to that idealistic and self-righteous girl you once were?!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "lashes", "blush") - her "You fucked her out of me, sir!" + show her_ball sex h1 mouth_none eyes_none brows_none blush_b1 lashes_l1 as cg + her "You fucked her out of me, [name_genie_hermione]!" gen "You're damn right I did!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "brows", "blush") - her "You fucked her out of me with your enormous cock, sir!" + show her_ball sex h1 mouth_none eyes_up brows_b1 blush_b1 lashes_l1 as cg + her "You fucked her out of me with your enormous cock, [name_genie_hermione]!" gen "*Argh*! You whore!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_wide", "blush") + show her_ball sex h1 mouth_none eyes_wide brows_none blush_b1 lashes_none as cg her "Ah!!!" gen "Quiet, whore! Someone will hear you!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.1 hide screen white with hpunch - her "Ah! [genie_name]!" + her "Ah! [name_genie_hermione]!" gen "I said be quiet!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush") - her "Ah! [genie_name]!" - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "brows", "blush") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none as cg + her "Ah! [name_genie_hermione]!" + show her_ball sex h1 mouth_none eyes_up brows_b1 blush_b1 lashes_none as cg her "Yes! Fuck me harder!" gen "Are you raising your voice on purpose, whore?" ("base", xpos="far_left", ypos="head") gen "Do you want to get caught like this?" ("angry", xpos="far_left", ypos="head") gen "On your professor's cock?" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_r", "mouth_open_tongue", "blush") + show her_ball sex h1 mouth_open_tongue1 eyes_r brows_none blush_b1 lashes_none as cg her "Ah! Maybe..." - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "brows", "blush") + show her_ball sex h1 mouth_none eyes_up brows_b1 blush_b1 lashes_none as cg her "Call me a mudblood, sir!" gen "What?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_none as cg her "Call me a mudblood, please!" gen "A \"mudblood\"?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_wide", "blush") + show her_ball sex h1 mouth_none eyes_wide brows_none blush_b1 lashes_none as cg her "Ah! Yes! Yes! I am a mudblood whore!" gen "Whatever!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.5 hide screen white with hpunch - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.4 hide screen white with hpunch - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "spank", "eyes_stare", "tears", "blush") + show her_ball sex h1 mouth_none eyes_stare brows_none blush_b1 lashes_none tears_t1 spank_s1 as cg - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.2 hide screen white with hpunch - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "tears2", "blush") + show her_ball sex h1 mouth_none eyes_stare brows_none blush_b1 lashes_none tears_t2 spank_none as cg her "*AAAAAAAhH*!" her "Yes!!! Yeeees! Ah!" - $ dynamic_cg("ball/sex", "background", "base", "mouth_open_tongue", "eyes_stare", "tears2", "brows", "blush") - her "Fuck me [genie_name]! Fuck me harder!!!" + show her_ball sex h1 mouth_open_tongue1 eyes_stare brows_b1 blush_b1 lashes_none tears_t2 spank_none as cg + her "Fuck me [name_genie_hermione]! Fuck me harder!!!" gen "*Grh*! Harder than this, whore?!" ("angry", xpos="far_left", ypos="head") gen "!!!" ("angry", xpos="far_left", ypos="head") gen "Crap! Someone's coming!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "tears2", "blush") + show her_ball sex h1 mouth_none eyes_stare brows_none blush_b1 lashes_none tears_t2 spank_none as cg her "No, sir, not yet. But if you keep spanking me--" - gen "No, whore! I mean a bunch of students are coming this way!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_smile", "tears2", "blush") + gen "No, whore! A bunch of students are coming this way!" ("angry", xpos="far_left", ypos="head") + show her_ball sex h1 mouth_smile1 eyes_up brows_none blush_b1 lashes_none tears_t2 spank_none as cg her "What?!" # Students join - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "mouth_open", "tears", "blush", "dudes") + show her_ball sex h1 mouth_open1 eyes_stare brows_none blush_b1 lashes_none tears_t1 spank_none guy2_pose1 as cg sly1 "Well, well, well... What do we have here?" her "!!!" sly1 "I thought it could be you, Gryffindor filth..." @@ -1464,26 +1468,26 @@ label ball_ending_E2: gen "What? Don't be silly, boys." ("base", xpos="far_left", ypos="head") gen "You are more than welcome to stay." ("base", xpos="far_left", ypos="head") sly1 "We are?" - $ dynamic_cg("ball/sex", "background", "base", "eyes_wide", "mouth_open", "blush", "dudes") + show her_ball sex h1 mouth_open1 eyes_wide brows_none blush_b1 lashes_none tears_none spank_none guy2_pose1 as cg her "What?!" gen "Of course." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush", "dudes") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_none tears_none spank_none guy2_pose1 as cg her "Professor!!!?" gen "The girl's front side is completely at your disposal." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush", "brows", "dudes") + show her_ball sex h1 mouth_open1 eyes_up brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose1 as cg her "Professor! No!" - gen "What's wrong, slut?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush", "dudes") + gen "What's wrong, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_none tears_none spank_none guy2_pose1 as cg her "Sir, don't call me that in front of them, please..." - gen "What's the matter? Why are you Acting shy all of a sudden?" ("base", xpos="far_left", ypos="head") + gen "What's the matter? Why are you acting shy all of a sudden?" ("base", xpos="far_left", ypos="head") her "Can't you see that they are from Slytherin?!" gen "So what?" ("base", xpos="far_left", ypos="head") her "Our two houses... we have a history." gen "Oh..." ("base", xpos="far_left", ypos="head") gen "Well, then you shall become the bridge between Slytherin and Gryffindor." ("base", xpos="far_left", ypos="head") gen "Hermione Granger, the ambassador of peace!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "mouth_open", "blush", "brows", "dudes") + show her_ball sex h1 mouth_open1 eyes_happycl brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose1 as cg her "No, sir! I refuse!" her "And stop moving your hips while we're talking, sir!" gen "Boys, what is taking you so long?" ("base", xpos="far_left", ypos="head") @@ -1492,19 +1496,16 @@ label ball_ending_E2: sly1 "Shut up, filth!" # Spit on face - call play_sound("spit") - show screen white - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open", "blush", "dudes", "dudes_spit") + play sound "sounds/spit.ogg" + show her_ball sex h1 mouth_open1 eyes_dead brows_none blush_b1 lashes_none tears_none spank_none guy2_pose1 spit_guy_face as cg pause.2 - hide screen white with hpunch - call ctc - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open", "blush", "spit_on_face", "dudes") + show her_ball sex h1 mouth_open1 eyes_dead brows_none blush_b1 lashes_none tears_none spank_none guy2_pose1 spit_on_face -spit_guy_face as cg her "!!!" gen "There you go!" ("base", xpos="far_left", ypos="head") sly2 "*Ha-ha-ha*! Nice one! Look at her stupid face!" - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "mouth_open", "blush", "spit_on_face", "brows", "dudes") + show her_ball sex h1 mouth_open1 eyes_stare brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose1 spit_on_face as cg her "You... You...!" sly1 "We really enjoyed your speech, Gryffindor slut." sly2 "Yeah... Sure did..." @@ -1512,9 +1513,9 @@ label ball_ending_E2: sly1 "Wasn't meant for us? What are you, stupid?" sly1 "You bared your filthy, muggle-born flesh on stage! In front of the entire school!" sly1 "{size=+7}Of course it was for everyone, you dumb cunt!{/size}" - $ dynamic_cg("ball/sex", "background", "base", "eyes_down", "mouth_open", "blush", "spit_on_face", "brows", "dudes") + show her_ball sex h1 mouth_open1 eyes_down brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose1 spit_on_face as cg her "Sir! Stop fucking me!" - gen "*huh*? You mean, like this?" ("base", xpos="far_left", ypos="head") + gen "*Huh*? You mean, like this?" ("base", xpos="far_left", ypos="head") with hpunch pause.3 @@ -1527,69 +1528,61 @@ label ball_ending_E2: with hpunch pause.3 - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open", "blush", "spit_on_face", "dudes") + show her_ball sex h1 mouth_open1 eyes_dead brows_none blush_b1 lashes_none tears_none spank_none guy2_pose1 spit_on_face as cg her "*Ah-ah*!!!" sly1 "Yes... You are ours now, slut!" call ctc # Dicks out - $ dynamic_cg("ball/sex", "background", "base", "mouth_open", "blush", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_none brows_none blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face as cg her "What?! What are you doing?!" her "Put your filthy dicks away immediately!" with hpunch pause.3 - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face as cg her "*Ah*... *Ah-a*..." sly1 "Yes... I wanted to do this for quite some time now..." her "Professor!" - gen "*huh*? Oh, don't you mind me girl." ("base", xpos="far_left", ypos="head") + gen "*Huh*? Oh, don't you mind me, girl." ("base", xpos="far_left", ypos="head") gen "Imagine that I'm not even here..." ("base", xpos="far_left", ypos="head") - call play_sound("spit") - show screen white - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open", "blush", "spit_on_face", "dudes2", "dudes_spit") + play sound "sounds/spit.ogg" + show her_ball sex h1 mouth_open1 eyes_dead brows_none blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face spit_guy_face as cg pause.2 - hide screen white with hpunch - call ctc - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "mouth_open", "blush", "brows", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_happycl brows_none blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face -spit_guy_face as cg + pause.2 her "Stop it! Stop spitting in my face, you bastards!" sly1 "Make us, whore!" her "I am warning--" - call play_sound("spit") - show screen white - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open_tongue", "blush", "brows", "spit_on_face", "dudes2", "dudes_spit_mouth") + play sound "sounds/spit.ogg" + show her_ball sex h1 mouth_open_tongue1 eyes_dead brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face spit_guy_mouth as cg pause.2 - hide screen white with hpunch - call ctc - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_smile", "blush", "brows", "spit_on_face", "dudes2") - call play_sound("gulp") + show her_ball sex h1 mouth_smile1 eyes_dead brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face -spit_guy_mouth as cg + play sound "sounds/gulp.ogg" her "{size=+5}*Gulp*!{/size}" - sly2 "*Ha-ha-ha*! Right in the mouth! Good one, mate!" + sly2 "*Ha-ha-ha*! Right in the mouth! Good shot, mate!" sly1 "And she swallowed it too!" - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "mouth_open", "blush", "brows", "spit_on_face", "dudes2") - her "That's was an accident!" + show her_ball sex h1 mouth_open1 eyes_happycl brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face as cg + her "That was an accident!" sly1 "Was it? Let's see." - her "*huh*?" + her "*Huh*?" - call play_sound("spit") - show screen white - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open_tongue", "blush", "brows", "spit_on_face", "dudes2", "dudes_spit_mouth") + play sound "sounds/spit.ogg" + show her_ball sex h1 mouth_open_tongue1 eyes_dead brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face spit_guy_mouth as cg pause.2 - hide screen white with hpunch - call ctc - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_smile", "blush", "brows", "spit_on_face", "dudes2") - call play_sound("gulp") + show her_ball sex h1 mouth_smile1 eyes_dead brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face -spit_guy_mouth as cg + play sound "sounds/gulp.ogg" her "{size=+5}*Gulp*!{/size}" sly2 "She did it again!" - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "mouth_open", "blush", "brows", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_happycl brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face as cg her "That's because I didn't expect it... It's just a reflex!" sly1 "That's one hot reflex!" gen "Oh... yes..." ("angry", xpos="far_left", ypos="head") @@ -1601,7 +1594,7 @@ label ball_ending_E2: her "You will pay for this, you spineless slytheri--" sly1 "Shut it, mudblood!" with vpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "spit_on_face", "dudes2", "dude_bj") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg call ctc # Dick in mouth @@ -1610,14 +1603,14 @@ label ball_ending_E2: her "*Gulp*!" sly1 "Suck my cock, bitch! Suck it!" gen "Do what the boy tells you, girl." ("base", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch gen "Come on!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "blush", "spit_on_face", "dudes2", "dude_bj") + show her_ball sex h1 mouth_none eyes_happycl brows_none blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg her "*Slurp*..." sly1 "She's doing it! Hermione Granger sucking me off, lads!" sly2 "Awesome! Can't wait to give it a go myself!" @@ -1634,34 +1627,34 @@ label ball_ending_E2: show screen white pause .1 hide screen white - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "spit_on_face", "dudes2", "dude_bj", "cheeks") - her "{size=+7}*gobble*?!?{/size}" + show her_ball sex h1 mouth_full1 eyes_dead brows_none blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg + her "{size=+7}*Gobble*?!?{/size}" sly1 "{size=+5}Yes, yes! Swallow it all!!!{/size}" # Swallowing cum - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "blush", "brows", "spit_on_face", "dudes2", "dude_bj") - call play_sound("gulp") + show her_ball sex h1 mouth_none eyes_happycl brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg + play sound "sounds/gulp.ogg" her "{size=+5}*Gulp-gulp-gulp-gulp*!{/size}" - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "*{size=+3}Gulp-gulp-gulp*...{/size}" - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "*Gulp-gulp-gulp*..." - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "{size=-3}*Gulp* *Gulp*{/size}" her "{size=-5}*Gulp*..................{/size}" her "........................................" - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "blush", "brows", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_none eyes_happycl brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg her "*Gu-aha*..." her "Is this all you got? Pathetic!" sly2 "Oh... Shut up whore... You sucked me dry..." - $ dynamic_cg("ball/sex", "background", "base", "blush", "brows", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_none eyes_none brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face -guy1_bj1 as cg her "Come on! Who's next?!" sly2 "Me! I'm next!" with hpunch - $ dynamic_cg("ball/sex", "background", "base", "blush", "brows", "spit_on_face", "dudes2", "dude_bj") + show her_ball sex h1 mouth_none eyes_none brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg call ctc - $ dynamic_cg("ball/sex", "background", "base", "eyes_closed", "blush", "brows", "spit_on_face", "dudes2", "dude_bj") + show her_ball sex h1 mouth_none eyes_closed brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg her "*Slurp*! *Slurp*! *Slurp*!" gen "Oh... Yes... Yes!" ("angry", xpos="far_left", ypos="head") with hpunch @@ -1677,11 +1670,11 @@ label ball_ending_E2: with hpunch pause.3 her "*Gulp*! Gulp!* *Slurp*!" - sly2 "I don't know... *gh*... How much longer..." + sly2 "I don't know... *Ghh*... How much longer..." sly2 "... I could keep up like that." her "*Slurp-Slurp-Slurp-slurp*!" her "*Slurp-Gulp-Slurp-Slurp-gulp*!!!" - sly2 "Oh, man... Oh man..." + sly2 "Oh, man... Oh, man..." her "*Slurp-Slurp-Slurp-Slurp-Slurp*!!" sly2 "I... I..." sly2 "..................." @@ -1696,69 +1689,66 @@ label ball_ending_E2: show screen white pause .1 hide screen white - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "brows", "spit_on_face", "dudes2", "dude_bj") + show her_ball sex h1 mouth_none eyes_dead brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg her "{size=+7}*gobble*?!?{/size}" - $ dynamic_cg("ball/sex", "background", "base", "eyes_closed", "blush", "brows", "spit_on_face", "dudes2", "dude_bj") - call play_sound("gulp") + show her_ball sex h1 mouth_none eyes_closed brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_face guy1_bj1 as cg + play sound "sounds/gulp.ogg" her "{size=+5}*Gulp-gulp-gulp-gulp*!{/size}" - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "{size=+3}*Gulp-gulp*...{/size}" - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "*Gulp..." - sly2 "*Argh*... my cock..." - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "blush", "brows", "spit", "spit_on_face", "dudes2") + sly2 "*Argh*... My cock..." + show her_ball sex h1 mouth_none eyes_happycl brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_body spit_on_face -guy1_bj1 as cg her "*Gu-aha*..." - $ dynamic_cg("ball/sex", "background", "base", "blush", "brows", "spit", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_none eyes_none brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_body spit_on_face as cg her "Next! Come on! Is this all you got?" sly1 "I'm next, mudblood!" - $ dynamic_cg("ball/sex", "background", "base", "mouth_open", "blush", "lashes", "brows", "spit", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_none brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_body spit_on_face as cg her "{size=-5}*Ah*... Don't call me that, you bastard...{/size}{heart}" sly1 "Gonna fuck your face real good, whore!" sly1 "And after I fill your mouth with my cum, you're gonna thank me!" sly1 "Aren't you, mudblood whore?" - $ dynamic_cg("ball/sex", "background", "base", "mouth_open", "blush", "brows", "spit", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_up brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_body spit_on_face as cg her "Fuck you!" - call play_sound("spit") - show screen white - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open_tongue", "blush", "brows", "spit_on_face", "dudes2", "dudes_spit_mouth") + play sound "sounds/spit.ogg" + show her_ball sex h1 mouth_none eyes_none brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_body spit_on_face spit_guy_mouth as cg pause.2 - hide screen white with hpunch - call ctc - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_smile", "blush", "brows", "spit_on_face", "dudes2") - call play_sound("gulp") + show her_ball sex h1 mouth_smile1 eyes_dead brows_b1 blush_b1 lashes_none tears_none spank_none guy2_pose2 spit_on_body spit_on_face -spit_guy_mouth as cg + play sound "sounds/gulp.ogg" her "{size=+5}*Gulp*!{/size}" sly1 "That's what I thought!" - $ dynamic_cg("ball/sex", "background", "base", "mouth_open", "blush", "lashes", "brows", "spit", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_none brows_b1 blush_b1 lashes_l1 tears_none spank_none guy2_pose2 spit_on_body spit_on_face as cg her "You worthless... slythe--" - $ dynamic_cg("ball/sex", "background", "base", "eyes_down", "blush", "lashes", "brows", "spit_on_face", "dudes2", "dude_bj3") + show her_ball sex h1 mouth_none eyes_down brows_b1 blush_b1 lashes_l1 tears_none spank_none guy2_pose2 -spit_on_body spit_on_face guy1_bj3 as cg her "!!?" - $ dynamic_cg("ball/sex", "background", "base", "eyes_closed", "blush", "lashes", "brows", "spit_on_face", "dudes2", "dude_bj3") + show her_ball sex h1 mouth_none eyes_closed brows_b1 blush_b1 lashes_l1 tears_none spank_none guy2_pose2 spit_on_face guy1_bj3 as cg her "*Slurp*! *Slurp*! *Slurp*!" sly1 "Yes! Yes, you mudblood filth! Suck my cock! Suck it!" gen "This is quite extraordinary..." ("base", xpos="far_left", ypos="head") sly1 "Sir?" gen "It's just..." ("base", xpos="far_left", ypos="head") gen "Her pussy..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_down", "blush", "lashes", "brows", "spit_on_face", "dudes2", "dude_bj3") + show her_ball sex h1 mouth_none eyes_down brows_b1 blush_b1 lashes_l1 tears_none spank_none guy2_pose2 spit_on_face guy1_bj3 as cg her "*Slurp*?" gen "It tightens every time you call the girl a \"mudblood\"..." ("base", xpos="far_left", ypos="head") gen "Try calling her that again, boy." ("base", xpos="far_left", ypos="head") sly1 "Gladly, sir." - $ dynamic_cg("ball/sex", "background", "base", "eyes_closed", "blush", "lashes", "brows", "spit_on_face", "dudes2", "dude_bj3") + show her_ball sex h1 mouth_none eyes_closed brows_b1 blush_b1 lashes_l1 tears_none spank_none guy2_pose2 spit_on_face guy1_bj3 as cg her "*Slurp*! *Slurp*! *Slurp*!" sly1 "Yes, whore! I love fucking your {i}mudblood{/i} face!" sly1 "And you're loving every moment of this, aren't you?" sly1 "Aren't you, {i}mudblood{/i}?" her "*Slurp*! *Slurp*! *Gulp*!" gen "Yup... Every time you say that..." ("base", xpos="far_left", ypos="head") - gen "*huh*?" ("base", xpos="far_left", ypos="head") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") gen "What is this? Her legs are shaking!" ("base", xpos="far_left", ypos="head") gen "Are you cumming, girl?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "lashes", "blush", "lashes", "spit_on_face", "dudes2", "dude_bj3") + show her_ball sex h1 mouth_none eyes_none brows_b1 blush_b1 lashes_l1 tears_none spank_none guy2_pose2 spit_on_face guy1_bj3 as cg her "..............................................." gen "I think you are!" ("base", xpos="far_left", ypos="head") gen "Come on, boy, let's speed this thing up a little!" ("base", xpos="far_left", ypos="head") @@ -1796,24 +1786,24 @@ label ball_ending_E2: pause.1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "lashes", "dudes2", "dude_bj3", "cum_nose") + show her_ball sex h1 mouth_none eyes_dead brows_b1 blush_b1 lashes_l1 tears_none spank_none guy2_pose2 spit_on_face guy1_bj3 sperm_cum_nose as cg her "{size=+7}*gobble*?!?{/size}" sly1 "{size=+5}Yes, yes! Swallow it all!!!{/size}" # Swallowing cum - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "lashes", "tears", "blush", "lashes", "dudes2", "dude_bj3", "dude_bj_cum", "spit_on_face") - call play_sound("gulp") + show her_ball sex h1 mouth_none eyes_dead brows_b1 blush_b1 lashes_l1 tears_t1 spank_none guy2_pose2 spit_on_face guy1_bj3 -sperm_cum_nose as cg + play sound "sounds/gulp.ogg" her "{size=+5}*Gulp-gulp-gulp-gulp!*{/size}" - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "*{size=+3}Gulp-gulp-gulp...*{/size}" - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "*Gulp-gulp-gulp*..." - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "{size=-3}*Gulp* *Gulp*{/size}" her "{size=-5}*Gulp*..................{/size}" her "........................................" her "....................." - $ dynamic_cg("ball/sex", "background", "base", "mouth_open", "blush", "lashes", "brows", "spit", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_open1 eyes_none brows_b1 blush_b1 lashes_l1 tears_t1 spank_none guy2_pose2 spit_on_body spit_on_face -guy1_bj3 as cg her "*Gu-aha*..." sly2 "You drained my balls, bitch..." gen "Alright, boys! Let's bring this little party to a worthy conclusion." ("base", xpos="far_left", ypos="head") @@ -1823,9 +1813,9 @@ label ball_ending_E2: sly1 "Of course, sir." sly2 "Yes, sir!" gen "Yes, just plaster her face with cum. She loves that shit!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "mouth_smile", "eyes_dead", "tears2", "blush", "lashes", "spit", "spit_on_face", "dudes2") + show her_ball sex h1 mouth_smile1 eyes_dead brows_b1 blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face as cg her "{size=+3}No! I am already cumming... Stop!{/size}" - sly1 "Heh... Hermione Granger... What a whore!" + sly1 "*Heh*... Hermione Granger... What a whore!" sly2 "Yeah! Nothing but a mudblood cunt!" her "{size=+9}AAAAAH!!!!!{/size}" her "{size=+3}Yes! I'm a whore! I'm a whore!{/size}" @@ -1842,7 +1832,7 @@ label ball_ending_E2: pause .1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "tears2", "blush", "spit", "spit_on_face", "dudes2", "dudes_cum") + show her_ball sex h1 mouth_none eyes_dead brows_b1 blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_dudes_cum as cg call ctc her "{size=+8}AAAAAAAAAAAAH!{/size}" @@ -1857,7 +1847,7 @@ label ball_ending_E2: pause .1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "tears2", "blush", "spit", "spit_on_face", "dudes2", "dudes_cum2") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face -sperm_dudes_cum sperm_dudes_cum2 as cg call ctc her "{size=+5}*AAAAAAAAAAAAH*!{/size}" @@ -1871,15 +1861,15 @@ label ball_ending_E2: pause .1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "tears2", "blush", "spit", "spit_on_face", "dudes2", "dudes_cum3") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face -sperm_dudes_cum2 sperm_dudes_cum3 as cg call ctc - $ dynamic_cg("ball/sex", "background", "base", "eyes_closed", "tears2", "blush", "spit", "spit_on_face", "dudes2", "dudes_cum3", "bukkake") + show her_ball sex h1 mouth_none eyes_closed brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_dudes_cum3 sperm_bukkake as cg call ctc her "{size=+4}I'm cumming!{/size}" gen "Well, don't mind if I do!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "tears2", "blush", "spit", "spit_on_face", "dudes2", "dudes_cum3", "bukkake") + show her_ball sex h1 mouth_none eyes_happycl brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_dudes_cum3 sperm_bukkake as cg her "{size=+3}No professor, I............!{/size}" gen "*Argh*!" ("angry", xpos="far_left", ypos="head") @@ -1891,30 +1881,28 @@ label ball_ending_E2: pause .1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "tears2", "blush", "spit", "spit_on_face", "dudes2", "dudes_cum3", "bukkake", "cum_anal", "cum_pussy") + show her_ball sex h1 mouth_none eyes_happycl brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_dudes_cum3 sperm_bukkake sperm_cum_anal sperm_cum_pussy as cg call ctc her "{size=+8}*AAAAAAAAAAAAH*!{/size}" - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "tears2", "blush", "spit", "spit_on_face", "dudes2", "cum_after", "bukkake", "cum_anal", "cum_pussy") + show her_ball sex h1 mouth_none eyes_happycl brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_cum_after -sperm_dudes_cum3 sperm_bukkake sperm_cum_anal sperm_cum_pussy as cg her "{size=+5}No! My face! My pussy! Ah! I can't stop cumming!!!{/size}" sly1 "What a slut!" sly2 "Whore!" sly1 "Mudblood!" her "{size=+8}*AAAAAAAAAAAAH*!{/size}" - call play_sound("spit") - show screen white + play sound "sounds/spit.ogg" pause.3 - hide screen white with vpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "tears2", "blush", "spit", "spit_on_face", "dudes2", "cum_after", "bukkake", "cum_anal", "cum_pussy", "dudes_spit_mouth") + show her_ball sex h1 mouth_none eyes_happycl brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_cum_after -sperm_dudes_cum3 sperm_bukkake sperm_cum_anal sperm_cum_pussy spit_guy_mouth as cg call ctc - $ dynamic_cg("ball/sex", "background", "base", "mouth_smile", "eyes_happycl", "tears2", "blush", "spit", "spit_on_face", "dudes2", "cum_after", "bukkake", "cum_anal", "cum_pussy", ) - call play_sound("gulp") + show her_ball sex h1 mouth_smile1 eyes_happycl brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_cum_after -sperm_dudes_cum3 sperm_bukkake sperm_cum_anal sperm_cum_pussy -spit_guy_mouth as cg + play sound "sounds/gulp.ogg" her "{size=+8}*Gulp*!{/size}" - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "tears2", "blush", "spit", "spit_on_face", "dudes2", "cum_after", "bukkake", "cum_anal", "cum_pussy") + show her_ball sex h1 mouth_none eyes_happycl brows_none blush_b1 lashes_l1 tears_t2 spank_none guy2_pose2 spit_on_body spit_on_face sperm_cum_after -sperm_dudes_cum3 sperm_bukkake sperm_cum_anal sperm_cum_pussy spit_guy_mouth as cg her "{size=+8}I'll go insane!{/size}" call ctc @@ -1935,10 +1923,10 @@ label ball_ending_E2: sly1 "Yeah, let's go!" sly2 "Bye, mudblood whore!" sly1 "Yeah, thank you for being such a slut!" - her ".........................." ("soft", "narrow", "annoyed", "up", cheeks="blush", tears="mascara_soft", ypos="head", flip=False) + her @ cheeks blush tears mascara_soft ".........................." ("soft", "narrow", "annoyed", "up", ypos="head", flip=False) - call play_sound("footsteps") - $ dynamic_cg("ball/sex", "background") + play sound "sounds/footsteps.ogg" + hide cg pause 2 hide screen blkfade @@ -1947,43 +1935,43 @@ label ball_ending_E2: sly1 "{size=-4}Man, professor Dumbledore sure is one cool dude.{/size}" sly2 "{size=-4}Yeah... Who would have thought...{/size}" sly1 "{size=-4}True. I can't help but respect the man...{/size}" - gen "(*Aww*... Such nice boys...)" ("base", xpos="far_left", ypos="head") + gen "(*Aww*... Such nice lads...)" ("base", xpos="far_left", ypos="head") sly2 "{size=-4}Yeah... I hope I will be as agile as he is when I am that ancient.{/size}" gen "(I'm not ancient, you punks!)" ("angry", xpos="far_left", ypos="head") gen "(Although I suppose in some way I am...)" ("base", xpos="far_left", ypos="head") #TODO Cum layer on Hermione doll (and ball ending CG?) - her ".........................." ("soft", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft ".........................." ("soft", "narrow", "annoyed", "up") gen "Whore! Why are you so quiet?" ("base", xpos="far_left", ypos="head") - her "I..." ("silly", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") - her "I am... not sure..." (cheeks="blush",tears="mascara_soft") - her "What...? What is..." ("soft", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "I..." ("silly", "narrow", "annoyed", "up") + her @ cheeks blush tears mascara_soft "I am... not sure..." + her @ cheeks blush tears mascara_soft "What...? What is..." ("soft", "narrow", "annoyed", "up") gen "Come on, girl. Pull yourself together!" ("base", xpos="far_left", ypos="head") - her "I... I... What?" ("open", "narrow", "worried", "mid_soft",cheeks="blush",tears="mascara_soft") - her "I don't understand... I..." (cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "I... I... What?" ("open", "narrow", "worried", "mid_soft") + her @ cheeks blush tears mascara_soft "I don't understand... I..." gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "I will be leaving now." ("base", xpos="far_left", ypos="head") - her "Leaving...?" ("soft", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "Leaving...?" ("soft", "narrow", "annoyed", "up") gen "Yes. Maybe you should too..." ("base", xpos="far_left", ypos="head") gen "Go clean yourself up and rest or something." ("base", xpos="far_left", ypos="head") - her "But I can't leave... No... I must..." ("open", "narrow", "worried", "mid_soft",cheeks="blush",tears="mascara_soft") - her "The formal dance... I must..." (cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "But I can't leave... No... I must..." ("open", "narrow", "worried", "mid_soft") + her @ cheeks blush tears mascara_soft "The formal dance... I must..." gen "A dance? You can't dance in this condition." ("base", xpos="far_left", ypos="head") - her "No! I am the ball queen! I must..." ("soft", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "No! I am the ball queen! I must..." ("soft", "narrow", "annoyed", "up") gen "Well, suit yourself." ("base", xpos="far_left", ypos="head") gen "I'm leaving..." ("base", xpos="far_left", ypos="head") - her "Goodbye... sir..." ("soft", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "Goodbye... sir..." ("soft", "narrow", "annoyed", "up") gen "............." ("base", xpos="far_left", ypos="head") gen "Farewell, girl." ("base", xpos="far_left", ypos="head") call ctc call blkfade - $ dynamic_cg("ball/intro", "background", "bloom", "hermione2", "foreground", "overlay") + show her_ball entrance hall crowd h2 as cg pause.5 call hide_blkfade - play music "music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg" fadein 1 fadeout 1 + play music "music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg" fadein 1 fadeout 1 if_changed call ctc gen "*Hmm*..." ("base", xpos="far_left", ypos="head") @@ -1995,75 +1983,76 @@ label ball_ending_E2: pause.5 else: + # Personal whore ending sna "Miss Granger...?" ("snape_03", ypos="head") sna "You decided to show up after all? What an unpleasant surprise..." ("snape_04") - her "..............................." ("full", "narrow", "annoyed", "up",cheeks="blush",tears="mascara", ypos="head", flip=False) + her @ cheeks blush tears mascara "..............................." ("full", "narrow", "annoyed", "up", ypos="head", flip=False) sna "What happened to your face, girl?" ("snape_13") - her "......................................." ("full", "narrow", "worried", "down",cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "......................................." ("full", "narrow", "worried", "down") sna "*Hmm*... Well, go ahead then..." ("snape_13") sna "Here is the tiara..." ("snape_13") - her "......................................." ("full", "narrow", "worried", "down",cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "......................................." ("full", "narrow", "worried", "down") sna "And the stage is yours..." ("snape_13") pause.7 - $ dynamic_cg("ball/speech", "background", "base", "cheeks", "blush", "cum_nose", "brows", "mascara", "sweat", "overlay") + show her_ball speech h1 mouth_full eyes_none sperm_cum_nose brows_none blush_heavy mascara_drip sweat_light as cg hide screen bld1 call hide_blkfade - call play_sound("applause") + play sound "sounds/applause01.ogg" call ctc her "..............." her ".................................." her ".........................................................................." - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "blush", "cum_mouth", "eyes_squint", "brows", "mascara", "sweat", "overlay") + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + show her_ball speech h1 mouth_open eyes_squint sperm_cum_mouth brows_down blush_heavy mascara_drip sweat_light as cg her "*Ah-a*........." gen "Is that...?" ("base", xpos="far_left", ypos="head") - gen "are Leftovers of my cum still in her mouth?" ("base", xpos="far_left", ypos="head") + gen "Are there leftovers of my cum still in her mouth?" ("base", xpos="far_left", ypos="head") gen "What the hell is she doing?" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "blush", "cum_mouth", "eyes_closed", "brows", "mascara", "sweat", "overlay") + show her_ball speech h1 mouth_open eyes_closed sperm_cum_mouth brows_down blush_heavy mascara_drip sweat_light as cg her "...................................." - her "*{i}Helwo eweruone{/i}*..." #Misspelled on purpose. + her "*{i}Ello ev'ryone{/i}*..." #Misspelled on purpose. - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "blush", "cum_mouth", "eyes_closed", "brows", "mascara", "sweat", "overlay") - her "{i}Fenk you for being heah today{/i}..." #Misspelled on purpose. + show her_ball speech h1 mouth_open eyes_closed sperm_cum_mouth brows_down blush_heavy mascara_drip sweat_light as cg + her "{i}t'hank 'ou for comin' 'ere taday{/i}..." #Misspelled on purpose. gen "I can barely understand a word she is saying..." ("base", xpos="far_left", ypos="head") - her "{i}Fifst of all I would like foo fenk Profeffor Dumblefore...{/i}" #Misspelled on purpose. + her "{i}Firs' of all, I woul' like t' t'hank fess'r umbled're...{/i}" #Misspelled on purpose. gen "Me?" ("base", xpos="far_left", ypos="head") her "................" - $ dynamic_cg("ball/speech", "background", "base", "cheeks", "blush", "cum_nose", "brows", "mascara", "sweat", "overlay") + show her_ball speech h1 mouth_full eyes_none sperm_cum_nose brows_down blush_heavy mascara_drip sweat_light as cg stop music fadeout 1.0 her ".................................................." call ctc - $ dynamic_cg("ball/speech", "background", "base", "blush", "cum_nose2", "eyes_closed", "mascara", "sweat", "overlay") - call play_sound("gulp") + show her_ball speech h1 mouth_none eyes_none sperm_cum_nose2 brows_down blush_heavy mascara_drip sweat_light as cg + play sound "sounds/gulp.ogg" her "{size=+5}*GULP*!!!{/size}" - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "blush", "cum_nose2", "eyes_squint", "mascara", "brows", "sweat", "overlay") + show her_ball speech h1 mouth_open eyes_squint sperm_cum_nose2 brows_down blush_heavy mascara_drip sweat_light as cg her "*Gua-ha*..." her "Thank you, professor." with hpunch gen "YOU WHORE!!!" ("angry", xpos="far_left", ypos="head") gen "When did you get this nasty!?" ("angry", xpos="far_left", ypos="head") - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "blush", "cum_nose2", "mascara", "brows", "sweat", "overlay") + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + show her_ball speech h1 mouth_open eyes_none sperm_cum_nose2 brows_down blush_heavy mascara_drip sweat_light as cg her "I would also like to thank my parents..." her "And I would like to thank my fellow students!" - call play_sound("applause") - ">Loud cheering and whistling erupts from the crowd." + play sound "sounds/applause01.ogg" + nar "Loud cheering and whistling erupts from the crowd." her "As well as the teachers, of course..." - $ dynamic_cg("ball/speech", "background", "base", "blush", "cum_nose2", "mascara", "brows", "sweat", "overlay") - ">A few people can be heard clapping their hands." + show her_ball speech h1 mouth_none eyes_none sperm_cum_nose2 brows_down blush_heavy mascara_drip sweat_light as cg + nar "A few people can be heard clapping their hands." call ctc call blktone_top @@ -2096,31 +2085,31 @@ label ball_ending_E2: mal2 "{size=-4}Yes, keep talking. You are good at this!{/size}" fem "{size=-4}Good at what?!{/size}" fem "{size=-4}Wait a second, are you guys getting off on this?{/size}" - mal "{size=-4}Heh... Look at the crow calling the raven black!{/size}" + mal "{size=-4}*Heh*... Look at the crow calling the raven black!{/size}" fem "{size=-4}What do you mean?{/size}" mal2 "{size=-4}You are blushing like crazy, girl! And your eyes are all misty!{/size}" mal "{size=-4}Yeah! You enjoy this as much as we do!{/size}" fem "{size=-4}!!!?{/size}" fem "{size=-4}You guys are idiots!{/size}" - call play_sound("running") + play sound "sounds/run_03.ogg" pause 3 mal "{size=-4}What? What did I say?{/size}" mal2 "{size=-4}Who knows, bro? Witches be crazy...{/size}" mal "{size=-4}They do be crazy...{/size}" call hide_blktone_top - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "blush", "cum_nose2", "mascara", "brows", "sweat", "overlay") + show her_ball speech h1 mouth_open eyes_none sperm_cum_nose2 brows_down blush_heavy mascara_drip sweat_light as cg her "Thank you, everyone, for being such a big help in organising tonight's event." her "And thank you for choosing me as your queen again this year..." - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "eyes_closed", "blush", "cum_nose2", "mascara", "brows", "sweat", "overlay") + show her_ball speech h1 mouth_open eyes_closed sperm_cum_nose2 brows_down blush_heavy mascara_drip sweat_light as cg her "What a pleasant and completely unexpected surprise...!" her "And one more thing..." - $ dynamic_cg("ball/speech", "background", "base", "mouth_open", "blush", "cum_nose2", "mascara", "brows", "sweat", "overlay") + show her_ball speech h1 mouth_open eyes_none sperm_cum_nose2 brows_down blush_heavy mascara_drip sweat_light as cg her "{size=+5}Go Gryffindor!{/size}" - call play_sound("applause") - ">The crowd explodes with loud cheers and whistles, interspersed by occasional booing..." + play sound "sounds/applause01.ogg" + nar "The crowd explodes with loud cheers and whistles, interspersed by occasional booing..." call ctc @@ -2130,14 +2119,14 @@ label ball_ending_E2: stop music fadeout 1.0 gen "Great speech..." ("base", xpos="far_left", ypos="head") gen "Very arousing... *Ehm*... I mean inspiring." ("base", xpos="far_left", ypos="head") - her "Thank you, sir." ("soft", "narrow", "base", "R_soft",cheeks="blush", ypos="head", flip=False) + her @ cheeks blush "Thank you, sir." ("soft", "narrow", "base", "R_soft", ypos="head", flip=False) gen "Swallowing my load in front of the entire school?" ("base", xpos="far_left", ypos="head") gen "A very nice touch." ("grin", xpos="far_left", ypos="head") - her "........................................................" ("crooked_smile", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "........................................................" ("crooked_smile", "happyCl", "worried", "mid") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. - $ dynamic_cg("ball/sex", "background") + hide cg show screen bld1 call hide_blkfade @@ -2150,29 +2139,29 @@ label ball_ending_E2: her "Sir, I think I know exactly what you are about to say." ("open", "base", "base", "mid") gen "You do?" ("base", xpos="far_left", ypos="head") her "Of course." ("open", "base", "base", "mid") - her "One hasty blowjob is not nearly enough to repay my debt to you, am I right?" ("base", "narrow", "base", "mid_soft",cheeks="blush") + her @ cheeks blush "One hasty blowjob is not nearly enough to repay my debt to you, am I right?" ("base", "narrow", "base", "mid_soft") gen "What? No, that's not what I--" ("base", xpos="far_left", ypos="head") - her "It's fine, sir. Really." ("base", "narrow", "base", "mid_soft",cheeks="blush") - her "Let me just pull my panties down a little..." ("soft", "narrow", "base", "R_soft",cheeks="blush") + her @ cheeks blush "It's fine, sir. Really." ("base", "narrow", "base", "mid_soft") + her @ cheeks blush "Let me just pull my panties down a little..." ("soft", "narrow", "base", "R_soft") gen "Damn you girl! Will you let me finish!?" ("angry", xpos="far_left", ypos="head") - her "Of course sir..." ("base", "narrow", "base", "mid_soft",cheeks="blush") - gen "*huh*?" ("base", xpos="far_left", ypos="head") - her "Just make sure you don't hit my dress, alright?" ("open_tongue", "narrow", "worried", "mid_soft",cheeks="blush") - gen "*growl*!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush "Of course sir..." ("base", "narrow", "base", "mid_soft") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Just make sure you don't hit my dress, alright?" ("open_tongue", "narrow", "worried", "mid_soft") + gen "*Growl*!" ("angry", xpos="far_left", ypos="head") gen "Come here, whore!" ("angry", xpos="far_left", ypos="head") gen "Suppose I might as well fuck you one last time!" ("angry", xpos="far_left", ypos="head") her "(One last time?)" ("upset", "base", "base", "mid") call ctc call blkfade - call play_sound("insert") + play sound "sounds/gltch.ogg" with hpunch with kissiris - her "{size=+5}Ahh!!!{/size}" ("open", "wide", "worried", "stare",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "{size=+5}Ahh!!!{/size}" ("open", "wide", "worried", "stare") gen "Oh, yes!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "blush") + show her_ball sex h1 mouth_none eyes_none brows_none blush_b1 lashes_none as cg hide screen bld1 call hide_blkfade call ctc @@ -2180,127 +2169,127 @@ label ball_ending_E2: her "*Ah-ah*..." gen "*Hmm*? Your pussy..." ("base", xpos="far_left", ypos="head") gen "It's dripping wet, girl." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_down", "mouth_smile", "blush") + show her_ball sex h1 mouth_smile1 eyes_down brows_none blush_b1 lashes_none as cg her "*Ah*...{heart} It is, sir?" her "That's probably from before..." gen "From before?" ("base", xpos="far_left", ypos="head") gen "You mean when you were choking on my cock?" ("base", xpos="far_left", ypos="head") her "*Ah*...{heart} Yes, sir..." gen "Did it make you cum?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_closed", "mouth_open", "blush") + show her_ball sex h1 mouth_open1 eyes_closed brows_none blush_b1 lashes_none as cg her "A little..." gen "Well, you're just precious then, aren't you?" ("base", xpos="far_left", ypos="head") - her "*ah*......" + her "*Ah*......" gen "Aren't you, whore?!" ("base", xpos="far_left", ypos="head") her "*Ah*... Whatever you say, sir." gen "Yes, you are precious, you slut!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_closed", "mouth_smile", "blush") + show her_ball sex h1 mouth_smile1 eyes_closed brows_none blush_b1 lashes_none as cg her "............." gen "Squeezing my cock with your little pussy!" ("base", xpos="far_left", ypos="head") her "......................" gen "*Hmm*...?" ("base", xpos="far_left", ypos="head") gen "Why are you being so quiet?" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_none as cg her "Oh... I'm just afraid that someone would--" gen "I think that's because you want to get spanked!" ("base", xpos="far_left", ypos="head") her "What!?" - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "mouth_open", "brows", "blush", "tears") + show her_ball sex h1 mouth_open1 eyes_stare brows_b1 blush_b1 lashes_none tears_t1 as cg her "*EEeeeeeeeegh*!" gen "Quiet, whore! Someone could hear you!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "brows", "blush", "tears") + show her_ball sex h1 mouth_open1 eyes_up brows_b1 blush_b1 lashes_none tears_t1 as cg her "Sir, I--" - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "mouth_smile", "brows", "blush", "tears") + show her_ball sex h1 mouth_smile1 eyes_stare brows_b1 blush_b1 lashes_none tears_t1 as cg her "{size=+7}*EEghh*!!!{/size}" gen "Be quiet, I said!" ("base", xpos="far_left", ypos="head") gen "Or do you want to get caught like this, on your headmaster's cock?" ("base", xpos="far_left", ypos="head") gen "Do you, Miss queen of the autumn ball?" ("base", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "tears") + show her_ball sex h1 mouth_none eyes_dead brows_b1 blush_b1 lashes_none tears_t1 as cg her "*Ah*..." - gen "Yes, you're liking this aren't you?!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_happycl", "mouth_smile", "blush") + gen "Yes, you're liking this, aren't you?!" ("base", xpos="far_left", ypos="head") + show her_ball sex h1 mouth_smile1 eyes_happycl brows_b1 blush_b1 lashes_none tears_none as cg her ".............." gen "Answer me, slut!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "tears") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_t1 as cg her "Yes, sir! I love it!!!" - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "brows", "blush", "tears") + show her_ball sex h1 mouth_open1 eyes_up brows_b1 blush_b1 lashes_none tears_t1 as cg her "Spank me harder, sir! I deserve it!" gen "That's the spirit!" ("base", xpos="far_left", ypos="head") call ctc - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "tears") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_t1 as cg call ctc - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "tears") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_t1 as cg call ctc - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "tears", "spank") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_t1 spank_s1 as cg call ctc - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "blush", "tears", "spank") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_t1 spank_s1 as cg call ctc - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open_tongue2", "lashes", "blush", "tears", "spank") + show her_ball sex h1 mouth_open_tongue2 eyes_dead brows_none blush_b1 lashes_l1 tears_t1 spank_s1 as cg call ctc - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background", "base", "eyes_dead", "mouth_open_tongue2", "lashes", "blush", "tears", "spank") + show her_ball sex h1 mouth_open_tongue2 eyes_dead brows_none blush_b1 lashes_l1 tears_t1 spank_s1 as cg call ctc her "{size=+7}*Aaaaaah*............................{/size}" @@ -2310,19 +2299,19 @@ label ball_ending_E2: sna "The formal dance of the Hogwarts Autumn Ball is about to begin..." call hide_blktone_top - $ dynamic_cg("ball/sex", "background", "base", "eyes_wide", "mouth_open", "blush", "tears", "spank") + show her_ball sex h1 mouth_open1 eyes_wide brows_none blush_b1 lashes_none tears_t1 spank_s1 as cg her "!!!" her "The dance! I completely forgot!!!" - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush", "tears", "spank") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_none tears_t1 spank_s1 as cg her "Sir, excuse me, but you have to let me go..." gen "*Ah*... Your pussy is something else!" ("angry", xpos="far_left", ypos="head") her "Sir-- *Ah*...{w=0.3} I am serious." - her "As the queen I am expected to lead the dance." + her "As the queen, I am expected to lead the dance." gen "Yes... Like that, just like that... Oh, yes..." ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "brows", "blush", "tears", "spank") + show her_ball sex h1 mouth_open1 eyes_up brows_b1 blush_b1 lashes_none tears_t1 spank_s1 as cg her "Sir, are you even listening?" gen "Oh, I hear you alright... But let me make you a counteroffer." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_up", "mouth_open", "blush", "tears", "spank") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_none tears_t1 spank_s1 as cg her "Sir?" gen "Instead of letting you go..." ("base", xpos="far_left", ypos="head") gen "I will stick my cock up your ass." ("base", xpos="far_left", ypos="head") @@ -2335,45 +2324,45 @@ label ball_ending_E2: gen "Let me take my dick out of your pussy first..." ("base", xpos="far_left", ypos="head") - call play_sound("plop") + play sound "sounds/plop.ogg" with hpunch pause.3 # Insertion - her "*Ah*..." ("open", "wide", "worried", "stare",cheeks="blush",tears="soft", ypos="head", flip=False) - her "Sir, no. You must listen to me--" ("open_tongue", "narrow", "worried", "mid_soft",cheeks="blush") - $ renpy.play('sounds/gltch.ogg') + her @ cheeks blush tears soft "*Ah*..." ("open", "wide", "worried", "stare", ypos="head", flip=False) + her @ cheeks blush "Sir, no. You must listen to me--" ("open_tongue", "narrow", "worried", "mid_soft") + play sound "sounds/gltch.ogg" with hpunch with kissiris - her "{size=+7}!!!!!!!!!!!!!!!!!{/size}" ("scream", "wide", "worried", "stare",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "{size=+7}!!!!!!!!!!!!!!!!!{/size}" ("scream", "wide", "worried", "stare") her "My...{w} My...{w} My..." gen "Shut it, girl! You are being loud." ("base", xpos="far_left", ypos="head") with hpunch - her "{size=+7}My anus!!!!!!!!!!!!!{/size}" ("scream", "wide", "worried", "stare",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "{size=+7}My anus!!!!!!!!!!!!!{/size}" ("scream", "wide", "worried", "stare") gen "Dammit, girl. I said be quiet." ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "mouth_open_tongue", "brows", "blush", "tears2") + show her_ball sex h1 mouth_open_tongue1 eyes_stare brows_b1 blush_b1 lashes_none tears_t2 spank_none as cg call hide_blkfade her "{size=+7}I can't! I don't care! It hurts!!!{/size}" gen "Maybe you don't care, but I do, you whore!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base", "eyes_stare", "blush", "tears2") + show her_ball sex h1 mouth_none eyes_stare brows_b1 blush_b1 lashes_none tears_t2 as cg her "{size=+5}Your cock is so huge!{/size}" gen "We'll get caught because of you, you stupid slut!" ("angry", xpos="far_left", ypos="head") gen "Maybe this will help you shut up..." ("base", xpos="far_left", ypos="head") # Fishhooking - $ dynamic_cg("ball/sex", "background", "base2", "blush2") + show her_ball sex h2 mouth_none eyes_none brows_none blush_b2 lashes_none tears_none as cg her "!!!............" gen "That's right, you slut. Keep quiet!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base2", "open_tongue2", "blush2") + show her_ball sex h2 mouth_open_tongue2 eyes_none brows_none blush_b2 lashes_none tears_none as cg her "*Ah*... *Blah*..." gen "Your butthole... It's so damn tight..." ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background", "base2", "open_tongue2", "blush2", "spit") - her "*Ah*... *blah*... *ah*..." + show her_ball sex h2 mouth_open_tongue2 eyes_none brows_none blush_b2 lashes_none tears_none spit_on_body as cg + her "*Ah*... *Blah*... *Ah*..." gen "You are drooling all over my hand, you nasty slut!" ("angry", xpos="far_left", ypos="head") - her "*Ah*... *Blah-blhah*... *ah*... *bla-ah*..." + her "*Ah*... *Blah-blhah*... *Ah*... *Bla-ah*..." call blktone_top stop music fadeout 1.0 @@ -2382,37 +2371,37 @@ label ball_ending_E2: sna "No! Male-female pairs, you dull creatures. What do you think this is? A laboratory assignment?" call hide_blktone_top - $ dynamic_cg("ball/sex", "background2", "base", "mouth_open_tongue2", "eyes_r", "lashes", "blush", "spit") + show her_ball sex wall2 h1 mouth_open_tongue2 eyes_r brows_none blush_b1 lashes_l1 tears_none spit_on_body as cg - play music "music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg" fadein 1 fadeout 1 + play music "music/Brandenburg No4-1 BWV1049 Kevin-McKleod.ogg" fadein 1 fadeout 1 if_changed gen "Don't you worry about missing out on your dance, whore." ("base", xpos="far_left", ypos="head") gen "We will do a little bit of dancing of our own..." ("base", xpos="far_left", ypos="head") her "*Ah*..." gen "Yes, this year's ball queen is performing a complicated pirouette with a dick buried deep in her tiny asshole!" ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "mouth_open_tongue2", "eyes_stare", "lashes", "blush", "spit") - her "*Ah*... I am *ahh*..." + show her_ball sex h1 mouth_open_tongue2 eyes_stare brows_none blush_b1 lashes_l1 tears_none spit_on_body as cg + her "*Ah*... I am--{w=0.2} *Ahh*..." gen "Did you say something, your majesty?" ("base", xpos="far_left", ypos="head") her "*Ah*... I am the autumn ball queen... *ah*..." gen "Well of course you are!" ("base", xpos="far_left", ypos="head") gen "But you're also a whore!" ("base", xpos="far_left", ypos="head") her "I'm a whore..." - $ dynamic_cg("ball/sex", "background2", "base", "mouth_open_tongue2", "eyes_stare", "lashes", "brows", "blush", "spit") + show her_ball sex h1 mouth_open_tongue2 eyes_stare brows_b1 blush_b1 lashes_l1 tears_none spit_on_body as cg her "{size=+7}I'm a whore!!!{/size}" - $ dynamic_cg("ball/sex", "background2", "base", "mouth_open_tongue2", "eyes_stare", "blush", "spit") + show her_ball sex h1 mouth_open_tongue2 eyes_stare brows_none blush_b1 lashes_none tears_none spit_on_body as cg her "{size=+10}I'm a whoooooooore!!!{/size}" gen "Yes you are!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background2", "base", "mouth_open_tongue2", "eyes_wide", "brows", "blush", "spit") + show her_ball sex h1 mouth_open_tongue2 eyes_wide brows_b1 blush_b1 lashes_none tears_none spit_on_body as cg her "{size=+5}I'm a whore!!!{/size}" gen "Yes you are!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white @@ -2420,17 +2409,17 @@ label ball_ending_E2: her "{size=+5}I'm a whore!!!{/size}" gen "Yes you are!" ("angry", xpos="far_left", ypos="head") - call play_sound("slap") + play sound "sounds/slap_02.ogg" show screen white pause.3 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background2", "base", "eyes_dead", "blush", "spit") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_none spit_on_body as cg her "{size=+5} I'm cumming!!!{/size}" with hpunch gen "*Argh*! My cock!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_dead", "brows", "blush", "spit") + show her_ball sex h1 mouth_none eyes_dead brows_b1 blush_b1 lashes_none tears_none spit_on_body as cg her "{size=+10}I'M CUMMING! I'm a whore!{/size}" gen "I can't fucking move it anymore!" ("angry", xpos="far_left", ypos="head") her "{size=+10}I'm CUMMING!{/size}" @@ -2438,49 +2427,49 @@ label ball_ending_E2: gen "My cock is stuck in your asshole, slut!" ("angry", xpos="far_left", ypos="head") her "{size=+10}I'm a whooore!!!{/size}" gen "Relax your muscles a little, dammit!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_dead", "blush", "spit") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_none spit_on_body as cg her "{size=+7}I can't! I'm cumming!!!{/size}" gen "Fine! Have it your way. I am switching back to your pussy..." ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_up", "blush", "spit") + show her_ball sex h1 mouth_none eyes_up brows_none blush_b1 lashes_none tears_none spit_on_body as cg her "*Huh*?" call blkfade gen "Can't pull out!" ("angry", xpos="far_left", ypos="head") gen "Relax your damn anus, girl! ..." ("angry", xpos="far_left", ypos="head") - call play_sound("plop") + play sound "sounds/plop.ogg" with hpunch pause.3 - her "..........." ("angry", "narrow", "annoyed", "up",cheeks="blush",tears="messy", ypos="head", flip=False) + her @ cheeks blush tears messy "..........." ("angry", "narrow", "annoyed", "up", ypos="head", flip=False) gen "There..." ("base", xpos="far_left", ypos="head") ### INSERTING ### - call play_sound("insert") + play sound "sounds/gltch.ogg" with hpunch with kissiris pause.5 hide screen bld1 hide screen blkfade - $ dynamic_cg("ball/sex", "background2", "base", "blush", "mascara", "spit") + show her_ball sex h1 mouth_none eyes_dead brows_none blush_b1 lashes_none tears_none spit_on_body mascara_m1 as cg her "{size=+10}*AAAAAAAAAAAH*!!{/size}" her "It's in my pussy again..." gen "Yes it is, slut!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "mouth_open", "eyes_up", "lashes", "blush", "mascara", "spit") + show her_ball sex h1 mouth_open1 eyes_up brows_none blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 as cg her "But I'm still cumming!" her "What is happening to me, sir!?" gen "Relax girl, I know what I'm doing!" ("base", xpos="far_left", ypos="head") gen "This is normal for a slut." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_up", "lashes", "blush", "mascara", "spit") + show her_ball sex h1 mouth_none eyes_up brows_none blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 as cg her "{size=+5}No! I will go insane!!!{/size}" gen "You will not. Just ride the wave." ("angry", xpos="far_left", ypos="head") gen "Enjoy the sensation while I keep on pounding your pussy!" ("angry", xpos="far_left", ypos="head") her "{size=+5}*Ah*!!!{/size}" - $ dynamic_cg("ball/sex", "background2", "base", "mouth_open", "eyes_down", "lashes", "brows", "blush", "mascara", "spit") + show her_ball sex h1 mouth_open1 eyes_down brows_none blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 as cg her "{size=+5}*Ah*!!!{/size}" her "{size=+5}I'm a whore!!!{/size}" gen "Yes you are!" ("angry", xpos="far_left", ypos="head") @@ -2491,6 +2480,7 @@ label ball_ending_E2: menu: "-Cum inside Hermione's pussy-": + $ states.her.status.creampie = True $ d_flag_01 = True # Came into pussy gen "You think your pussy is ready for this, whore?" ("angry", xpos="far_left", ypos="head") @@ -2505,45 +2495,46 @@ label ball_ending_E2: pause .1 hide screen white with hpunch - $ dynamic_cg("ball/sex", "background2", "base", "eyes_wide", "blush", "mascara", "spit", "cum_pussy") + show her_ball sex h1 mouth_none eyes_wide brows_none blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 sperm_cum_pussy as cg her "{size=+5}*Ah*! *AAaaah*!!{/size}" gen "{size=+15}*ARGH*!!!!!!!!!!!!!!!!{/size}" ("angry", xpos="far_left", ypos="head") her "{size=+5}*Ah*! I can feel it! It's so hot!{/size}" gen "*Argh*! Yes!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_up", "lashes", "blush", "mascara", "spit", "cum_pussy", "cum_extra") + show her_ball sex h1 mouth_none eyes_up brows_none blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 sperm_cum_pussy sperm_cum_extra as cg her "{size=+5}It's filling me up! It's filling me up!!!{/size}" gen "Yes! You whore! I'll pump your witch cunt full of my cum!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_down", "mouth_open_tongue2", "blush", "mascara", "spit", "cum_pussy", "cum_extra") - her "[genie_name]! My dress!" + show her_ball sex h1 mouth_open_tongue2 eyes_wide brows_none blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 sperm_cum_pussy sperm_cum_extra as cg + her "[name_genie_hermione]! My dress!" gen "What?" ("angry", xpos="far_left", ypos="head") her "Make sure you don't get any on my dress!" gen "Shut up about your dress, whore! You are ruining the moment!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_up", "lashes", "blush", "mascara", "spit", "cum_pussy", "cum_extra") + show her_ball sex h1 mouth_none eyes_up brows_none blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 sperm_cum_pussy sperm_cum_extra as cg her "{size=+5}I'm sorry! Your whore is sorry!!!!{/size}" gen "Yes! Much better!" ("angry", xpos="far_left", ypos="head") gen "*Ah*......." ("angry", xpos="far_left", ypos="head") "-Cum inside Hermione's butt-": + $ states.her.status.anal_creampie = True $ d_flag_01 = False # Came into asshole gen "Your butthole better be ready for this, whore!" ("angry", xpos="far_left", ypos="head") her "What?!" - call play_sound("insert") + play sound "sounds/gltch.ogg" pause.5 her "*Ah*..." - call play_sound("plop") + play sound "sounds/plop.ogg" with hpunch with kissiris - $ dynamic_cg("ball/sex", "background2", "base", "eyes_stare", "mouth_open", "blush", "brows", "mascara", "spit") + show her_ball sex h1 mouth_open1 eyes_stare brows_b1 blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 as cg her "{size=+10}*AAaaaahhhhh*!!!{/size}" her "{size=+5}It's in my butthole again!{/size}" - $ dynamic_cg("ball/sex", "background2", "base", "eyes_up", "mouth_open", "blush", "brows", "mascara", "spit") + show her_ball sex h1 mouth_open1 eyes_up brows_b1 blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 as cg her "{size=+5}No, sir, please! Don't cum in my butt!{/size}" her "{size=+5}No, I will die!!!{/size}" gen "You will not die, you silly girl." ("angry", xpos="far_left", ypos="head") @@ -2560,18 +2551,18 @@ label ball_ending_E2: with hpunch gen "{size=+15}*ARGH*!!!!!!!!!!!!!!!!{/size}" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_stare", "mouth_open", "blush", "brows", "mascara", "spit") + show her_ball sex h1 mouth_open1 eyes_stare brows_b1 blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 as cg her "{size=+5}*Ah*! I can feel it!!!{/size}" gen "*Argh*! Yes!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_stare", "blush", "brows", "mascara", "spit", "cum_anal") + show her_ball sex h1 mouth_none eyes_stare brows_b1 blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 sperm_cum_anal as cg her "{size=+5}It's filling me up! It's filling me up!!!{/size}" gen "Yes! You whore! I'll pump you full of my cum!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_down", "blush", "mascara", "spit", "cum_anal") - her "[genie_name]! My dress!" + show her_ball sex h1 mouth_none eyes_down brows_b1 blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 sperm_cum_anal as cg + her "[name_genie_hermione]! My dress!" gen "What?" ("angry", xpos="far_left", ypos="head") her "Make sure you don't get any on my dress!" gen "Shut up about your dress, whore! You are ruining the moment!" ("angry", xpos="far_left", ypos="head") - $ dynamic_cg("ball/sex", "background2", "base", "eyes_up", "blush", "lashes", "mascara", "spit", "cum_anal") + show her_ball sex h1 mouth_none eyes_up brows_b1 blush_b1 lashes_l1 tears_none spit_on_body mascara_m1 sperm_cum_anal as cg her "{size=+5}I'm sorry! Your whore is sorry!!!!{/size}" gen "Yes! Much better!" ("angry", xpos="far_left", ypos="head") @@ -2581,31 +2572,31 @@ label ball_ending_E2: with d9 stop music fadeout 1.0 - her "*Ah*..." ("silly", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft", ypos="head", flip=False) + her @ cheeks blush tears mascara_soft "*Ah*..." ("silly", "narrow", "annoyed", "up", ypos="head", flip=False) her "I can... barely... stand..." gen "I know what you mean, girl." ("angry", xpos="far_left", ypos="head") gen "This was our most intense fucking session yet!" ("angry", xpos="far_left", ypos="head") - her "Yes... I never knew I could..." ("silly", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "Yes... I never knew I could..." ("silly", "narrow", "annoyed", "up") her "orgasm so hard..." - her "Sir... That thing you wanted to discuss with me..." ("soft", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "Sir... That thing you wanted to discuss with me..." ("soft", "narrow", "annoyed", "up") gen "Yeah... You know what? I actually wrote you a little letter on the matter..." ("base", xpos="far_left", ypos="head") - her "A letter?" ("open", "narrow", "worried", "mid_soft",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "A letter?" ("open", "narrow", "worried", "mid_soft") gen "Yeah... It should explain a couple of things..." ("base", xpos="far_left", ypos="head") - her "Oh... Alright..." ("silly", "narrow", "annoyed", "up",cheeks="blush",tears="mascara_soft") + her @ cheeks blush tears mascara_soft "Oh... Alright..." ("silly", "narrow", "annoyed", "up") gen "Just come and pick it up from my office tomorrow morning..." ("base", xpos="far_left", ypos="head") gen "Or whenever..." ("base", xpos="far_left", ypos="head") gen "Or don't pick it up, I don't care..." ("base", xpos="far_left", ypos="head") gen "............." ("angry", xpos="far_left", ypos="head") - her "Sir...?" ("base", "base", "worried", "mid", cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "Sir...?" ("base", "base", "worried", "mid") gen "Stop it with the eyes! You're making me feel uncomfortable..." ("base", xpos="far_left", ypos="head") gen "I wrote you a letter, so what?" ("base", xpos="far_left", ypos="head") - her "I think it's sweet........." ("base", "base", "worried", "mid", cheeks="blush",tears="mascara") - gen "I said stop gawking at me girl. I thought you were late for your dance or something!" ("angry", xpos="far_left", ypos="head") - her "{size=+5}THE DANCE!{/size}" ("open", "wide", "base", "stare",cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "I think it's sweet........." ("base", "base", "worried", "mid") + gen "I said, stop gawking at me, girl. I thought you were late for your dance or something!" ("angry", xpos="far_left", ypos="head") + her @ cheeks blush tears mascara "{size=+5}THE DANCE!{/size}" ("open", "wide", "base", "stare") her "I'm sorry, I have to go!" her "I will see you later, sir!" - call play_sound("running") + play sound "sounds/run_03.ogg" pause 3 gen "......................" ("base", xpos="far_left", ypos="head") gen "No you won't..." ("base", xpos="far_left", ypos="head") @@ -2613,27 +2604,27 @@ label ball_ending_E2: pause 2 - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed - $ dynamic_cg("ball/intro", "background", "bloom", "hermione2", "foreground", "overlay") + show her_ball entrance hall crowd h2 as cg - ">You linger in the alcove for a short while longer..." - ">And watch Hermione participate in the formal dance." + nar "You linger in the alcove for a short while longer..." + nar "And watch Hermione participate in the formal dance." hide screen bld1 call hide_blkfade call ctc - ">There is no doubt that she is tired and exhausted, but she hides it well..." + nar "There is no doubt that she is tired and exhausted, but she hides it well..." gen "(*Hmm*... The girl really is strong...)" ("base", xpos="far_left", ypos="head") gen "(In all sorts of ways...)" ("base", xpos="far_left", ypos="head") if d_flag_01: # Came into pussy - ">You see a tiny stream of glistening liquid dripping down her inner thighs, going unnoticed by the crowd." + nar "You see a tiny stream of glistening liquid dripping down her inner thighs, going unnoticed by the crowd." else: # Came into asshole - ">You notice that she sort of clenches her buttocks together every now and then..." - ">Probably doing her best to keep in the enormous load you deposited up her butthole just a moment ago..." + nar "You notice that she sort of clenches her buttocks together every now and then..." + nar "Probably doing her best to keep in the enormous load you deposited up her butthole just a moment ago..." gen "................................................." ("base", xpos="far_left", ypos="head") @@ -2651,65 +2642,63 @@ label ball_ending_E2: pause 1 stop music fadeout 1.0 - centered "{size=+7}{color=#cbcbcb}Outskirts of hogwarts{/color}{/size}" + centered "{size=+7}{color=#cbcbcb}Outskirts of Hogwarts{/color}{/size}" $ game.daytime = False - call update_interface_color - hide screen cg - - $ dynamic_cg("ball", "171") + hide cg pause.3 + show her_ball outskirts as cg call hide_blkfade - call play_music("night_outside") + play background "sounds/night.ogg" fadein 1 call ctc - call play_sound("walking_on_grass") + play sound "sounds/steps_grass.ogg" pause 2 - $ dynamic_cg("ball", "171", "172") + show her_ball outskirts g1 as cg pause 1 gen "Well, now it is really time for me to go..." ("base", xpos="far_left", ypos="head") - $ dynamic_cg("ball", "171", "172", "173") + show her_ball outskirts g1 m1 as cg pause.5 gen "Goodbye, world of bizarre magic..." ("base", xpos="far_left", ypos="head") gen "Goodbye, my whores..." ("base", xpos="far_left", ypos="head") gen "Goodbye, smart cumslut Hermione..." ("base", xpos="far_left", ypos="head") - if cho_unlocked: - gen "and my token asian Cho..." ("base", xpos="far_left", ypos="head") - if astoria_unlocked: - gen "and my sassy blonde Astoria..." ("base", xpos="far_left", ypos="head") - if luna_unlocked: - gen "and my {i}wackspit-sucking{/i} queen Luna..." ("base", xpos="far_left", ypos="head") - if susan_unlocked: - gen "and my big-titted redhead Susan..." ("base", xpos="far_left", ypos="head") + if states.cho.unlocked: + gen "And my token Asian Cho..." ("base", xpos="far_left", ypos="head") + if states.ast.unlocked: + gen "And my sassy blonde Astoria..." ("base", xpos="far_left", ypos="head") + if states.lun.unlocked: + gen "And my {i}wackspit-sucking{/i} queen Luna..." ("base", xpos="far_left", ypos="head") + if states.sus.unlocked: + gen "And my big-titted redhead Susan..." ("base", xpos="far_left", ypos="head") gen "and of course, goodbye to my favourite nympho, Tonks..." ("base", xpos="far_left", ypos="head") gen "....................." ("base", xpos="far_left", ypos="head") gen "..........." ("base", xpos="far_left", ypos="head") "......" - call play_sound("magic") + play sound "sounds/magic4.ogg" with hpunch - $ dynamic_cg("ball", "171", "174") + show her_ball outskirts -g1 m2 as cg pause.2 - $ dynamic_cg("ball", "171", "175") + show her_ball outskirts m1 as cg pause.2 - $ dynamic_cg("ball", "171") + show her_ball outskirts -m1 as cg call ctc show screen blktone with d7 $ achievements.unlock("ending") - stop music fadeout 1.0 + stop background fadeout 1.0 - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: centered "{size=+7}{color=#cbcbcb}Congratulations on completing the game!{/color}{/size}\n\n{color=#cbcbcb}This is one of two possible endings (public whore){/color}" else: centered "{size=+7}{color=#cbcbcb}Congratulations on completing the game!{/color}{/size}\n\n{color=#cbcbcb}This is one of two possible endings (personal whore){/color}" @@ -2726,13 +2715,11 @@ label ball_ending_E2: centered "{size=+7}{color=#cbcbcb}The next morning...{/color}{/size}" $ game.daytime = True - call update_interface_color $ hermione.equip(her_outfit_default) - hide screen dynamic_cg + hide cg hide screen blktone - stop bg_sounds stop weather hide screen notes hide screen bld1 @@ -2753,15 +2740,15 @@ label ball_ending_E2: hide screen blkfade with d9 - if public_whore_ending: - call play_sound("door") + if "public" in states.her.ev.yule_ball.variant: + play sound "sounds/door.ogg" call sna_chibi("stand","door","base", flip=False) with d3 pause.8 call sna_walk("mid", "base") pause.8 - call play_music("snape") + play music "music/Dark Fog.ogg" fadein 1 if_changed dum1 "Good morning, Severus." sna "......................................." ("snape_09", xpos="base", ypos="base") dum1 "I have the most extraordinary tale to share with you, old friend." @@ -2792,14 +2779,14 @@ label ball_ending_E2: else: # Personal whore ending - call play_sound("door") + play sound "sounds/door.ogg" call her_chibi("stand","door","base", flip=False) pause.8 call her_walk("mid", "base") pause.8 - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "Sir, if this is about yesterday..." ("upset", "closed", "base", "mid", xpos="right", ypos="base") dum1 "Good morning, Miss Granger." her "It's not like I actually enjoyed it or anything, you know..." ("annoyed", "narrow", "annoyed", "mid") @@ -2811,7 +2798,7 @@ label ball_ending_E2: her "It is not?" ("annoyed", "squint", "base", "mid") her "Oh, I see..." ("grin", "happyCl", "worried", "mid",emote="sweat") her "There is no need to be so shy about this, sir. It's alright." - dum1 "*Ahem*... here it is." + dum1 "*Ahem*... Here it is." her "Thank you, sir." ("base", "base", "base", "mid") her "Let's see..." ("annoyed", "narrow", "worried", "down") hide hermione_main @@ -2834,23 +2821,23 @@ Farewell, my little [word_03].{/size} $ letter.open() - her "..........................................................................................................." ("disgust","wide","worried","shocked",cheeks="blush") + her @ cheeks blush "..........................................................................................................." ("disgust","wide","worried","shocked") dum1 "I assume you were expecting to meet with that \"[word_04]\" fellow?" dum1 "The one who has been impersonating me for the past several months?" - her "..........................................................................................................." ("disgust","wide","worried","shocked",cheeks="blush") + her @ cheeks blush "..........................................................................................................." ("disgust","wide","worried","shocked") dum1 "Well, now that I am back..." dum1 "I will be putting an end to all that \"favour selling business\", of course." her "" ("scream", "base", "angry", "mid",emote="angry") pause.1 with hpunch - call play_music("hermione") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed her "{size=+7}What?!!{/size}" her "How am I supposed to win any points then?" ("disgust", "narrow", "base", "mid_soft") dum1 "The same way you always did, miss Granger." - her "Huh...?" ("open", "narrow", "annoyed", "mid",cheeks="blush") + her @ cheeks blush "Huh...?" ("open", "narrow", "annoyed", "mid") dum1 "With hard work." - her "That's just stupid!" ("angry", "base", "angry", "mid",cheeks="blush") - dum2 "Miss Granger, would you mind to guard your tongue when--" + her @ cheeks blush "That's just stupid!" ("angry", "base", "angry", "mid") + dum2 "Miss Granger, would you mind guarding your tongue when--" ### TITS ### $ hermione.strip("robe", "accessory") @@ -2874,24 +2861,24 @@ Farewell, my little [word_03].{/size} call her_walk("desk", "base", reduce=0.8) call blkfade - call play_sound("climb_desk") + play sound "sounds/08_hop_on_desk.ogg" pause.7 dum4 "Oh, dear... {heart}" pause 1 - $ renpy.play('sounds/win2.ogg') + play sound "sounds/win2.ogg" centered "{color=#cbcbcb}This concludes the original Witch Trainer ending{fast}\n\n{size=+7}-\{Thank you for playing!\}-{/size}{/color}" pause 2 - $ ball_quest.completed = True + $ states.her.ev.yule_ball.complete = True $ persistent.game_complete = True $ persistent.gold = game.gold - if public_whore_ending: + if "public" in states.her.ev.yule_ball.variant: $ persistent.ending_02 = True else: $ persistent.ending_01 = True @@ -2900,7 +2887,7 @@ Farewell, my little [word_03].{/size} jump ending_after label original_credits: - play music "music/Only 115 (Electro Loop)_125 BPM.ogg" fadein 1 fadeout 1 + play music "music/Only 115 (Electro Loop)_125 BPM.ogg" fadein 1 fadeout 1 if_changed centered """{cps=20}{size=+5}{color=#ea91b0}-Witch Trainer-{/color}{/size}\n\n {size=+5}{color=#cbcbcb}The following credits are the creators of the original game, Witch Trainer,\nand did not take part in creating, or are affiliated in any way with the Silver mod.{/color}{/size}\n\n diff --git a/game/scripts/events/ending_after.rpy b/game/scripts/events/ending_after.rpy index 35741c76..de3784bc 100644 --- a/game/scripts/events/ending_after.rpy +++ b/game/scripts/events/ending_after.rpy @@ -5,45 +5,46 @@ # Genie gets stuck in the cosmos not being able to go anywhere label ending_after: $ game.daytime = False - call update_interface_color call blkfade - call hide_screens + + $ renpy.scene("screens") + centered "{size=+7}{color=#cbcbcb}Somewhere outside of time and space...{/color}{/size}\n\n{#LINT_IGNORE}" - play music "music/epic-unease-by-kevin-macleod.ogg" fadein 1 fadeout 1 # noloop + play music "music/epic-unease-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed # noloop pause 3 g2 "Where... where am I...?" with d5 - g2 "Am I dead... is this the end...?" - g2 "Genies aren't supposed to die are they?" - g12 "No wait... this is different...{w=0.4} what is this feeling?" + g2 "Am I dead...? Is this the end...?" + g2 "Genies aren't supposed to die, are they?" + g12 "No wait...{w=0.4} This is different...{w=0.4} What is this feeling?" g12 "I feel..." show screen white pause .1 hide screen white g14 "Everything!" with hpunch g14 "The...{w=0.4} The cosmic power is running through me!" - g14 "I can see it, the universe... No...{w=0.4} Multiple universes... all around me." - g14 "But... Why?" + g14 "I can see it...{w=0.4} The universe...{w=0.4} No...{w=0.4} Multiple universes... all around me." + g14 "But...{w=0.4} Why?" g14 "Why am I not back yet!?" show screen white pause .1 hide screen white - $ renpy.sound.play("sounds/thunder_2.ogg") - play bg_sounds "sounds/pulse.ogg" + play sound "sounds/thunder_2.ogg" + play background "sounds/pulse.ogg" g15 "*ARGH*!" with hpunch g15 "My form is being pulled in multiple directions!" g15 "If I don't get out of here I'll be torn apart!" - stop bg_sounds fadeout 4 + stop background fadeout 4 show screen white pause .1 hide screen white g14 "Wait...{w=0.8} I know..." with d3 - g14 "This... it must be my magic!" - g14 "I need to focus where I want to be... Or I'll be stuck... stuck here forever!" + g14 "This...{w=0.4} It must be my magic!" + g14 "I need to focus where I want to be... Or I'll be stuck...{w=0.4} Stuck here forever!" g14 "Stupid... life choices!" - play bg_sounds "sounds/pulse.ogg" + play background "sounds/pulse.ogg" g14 "Focus..." - g14 "I just left a bunch of Sluts at that school!" + g14 "I just left a bunch of sluts at that school!" g14 "But... I need to get home!" # Choose to end the game or continue playing @@ -54,10 +55,10 @@ label ending_after: show screen white pause .1 hide screen white - $ renpy.sound.play("sounds/thunder_2.ogg") + play sound "sounds/thunder_2.ogg" g15 "Agrabah... here I come! You better prepare yourself..." with hpunch - stop bg_sounds fadeout 4 + stop background fadeout 4 stop music fadeout 10 call big_bang @@ -69,17 +70,17 @@ label ending_after: show screen white pause .1 hide screen white - $ renpy.sound.play("sounds/thunder_2.ogg") + play sound "sounds/thunder_2.ogg" g15 "Who doesn't love...{fast} a good old time paradox!" with hpunch g15 "It better be worth it...{w=0.4} Here I go!" - stop bg_sounds fadeout 4 + stop background fadeout 4 stop music fadeout 10 call big_bang # Genie stands in the forest before he's about to leave - $ dynamic_cg("ball", "171", "172", "173") - call play_music("night_outside") + show her_ball outskirts g1 m1 as cg + play background "sounds/night.ogg" fadein 1 pause.5 call hide_blkfade @@ -88,88 +89,90 @@ label ending_after: gen "Wait..." ("base", xpos="far_left", ypos="head") # Record scratch, music stops - $ dynamic_cg("ball", "171", "172") - stop music fadeout 1.5 - $ renpy.play('sounds/scratch.ogg') + show her_ball outskirts g1 -m1 as cg + stop background fadeout 1.5 + play sound "sounds/scratch.ogg" with hpunch gen "What the fuck am I doing..." ("angry", xpos="far_left", ypos="head") gen "Why leave now when I'm the king of a castle filled with women ready to serve!?" ("angry", xpos="far_left", ypos="head") # Heading back to the castle - call play_music("night_outside") + play background "sounds/night.ogg" fadein 1 call blkfade - hide screen dynamic_cg - call hide_screens - call play_sound("walking_on_grass") + hide cg + + $ renpy.scene("screens") + + play sound "sounds/steps_grass.ogg" pause .5 - ">You hastily make your way back to the castle, wondering what kind of impulse made you want to leave in the first place..." - stop music fadeout 3 + nar "You hastily make your way back to the castle, wondering what kind of impulse made you want to leave in the first place..." + stop background fadeout 3 - if public_whore_ending: - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 - ">Arriving at the great hall you glance through the doors and spot Hermione who's currently enjoying the attention she's receiving from some of the other students." - ">You decide it's probably best to head back to your office. But before you get the chance to slip into the shadows Hermione has already begun making her way in your direction." - ">As she steps through the door you notice some Slytherin students looking in your direction, smirks spreading across their faces." + if "public" in states.her.ev.yule_ball.variant: + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + nar "Arriving at the great hall, you glance through the doors and spot Hermione who's currently enjoying the attention she's receiving from some of the other students." + nar "You decide it's probably best to head back to your office... But before you get the chance to slip into the shadows, Hermione has already begun making her way in your direction." + nar "As she enters the hallway, you notice some Slytherin students looking in your direction, smirks spreading across their faces." $ hermione.equip(her_outfit_ball) - her "Back so soon?" ("base", "happy", "base", "L", cheeks="blush", ypos="head", flip=False) - gen "I um...{w=0.4} had a change of heart." ("base", xpos="far_left", ypos="head") - her "Cold outside?" ("base", "base", "base", "mid") + her @ cheeks blush "Back so soon?" ("base", "happy", "base", "L", ypos="head", flip=False) + gen "I... *Err*...{w=0.4} had a change of heart." ("base", xpos="far_left", ypos="head") + her "I see... Yes, it is quite cold outside tonight, isn't it?" ("base", "base", "base", "mid") gen "Yes...{w=0.5} that's it." ("base", xpos="far_left", ypos="head") - ">Standing there in silence, looking at Hermione, you can't help but struggle with what to say." - ">Hermione looks at you expectantly and breaks the silence by extending one of her arms to you." + nar "Standing there in silence, looking at Hermione, you can't help but struggle with what to say." + nar "Hermione looks at you expectantly and breaks the silence by extending one of her arms to you." - her "Care for a dance?" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Care for a dance?" ("open", "squint", "base", "mid") gen "I...{w=0.5} of course!" ("grin", xpos="far_left", ypos="head") - her "..." ("base", "base", "base", "mid", cheeks="blush") - ">With your arms wrapped around Hermione's waist the two of you begin moving along with the music." - ">As some time passes it's very clear that the Slytherin students are looking at you both through the doorway." + her @ cheeks blush "..." ("base", "base", "base", "mid") + nar "With your arms wrapped around Hermione's waist, the two of you begin moving along with the music." + nar "As some time passes, it's very clear that the Slytherin students are looking at you both through the doorway." gen "Miss Granger..." ("base", xpos="far_left", ypos="head") - her "Yes?" ("base", "narrow", "base", "stare_soft", cheeks="blush") - call play_sound("slap_3") - her "..." ("soft", "happyCl", "base", "up", cheeks="blush") - her "Hey! At least warn me!" ("clench", "narrow", "annoyed", "L", cheeks="blush") - ">Swiftly taking your hand away from Hermione's butt, you give a quick smirk towards your audience." - her "I didn't say stop..." ("soft", "narrow", "base", "L", cheeks="blush") + her @ cheeks blush "Yes?" ("base", "narrow", "base", "stare_soft") + play sound "sounds/slap_03.ogg" + her @ cheeks blush "..." ("soft", "happyCl", "base", "up") + her @ cheeks blush "Hey! At least warn me!" ("clench", "narrow", "annoyed", "L") + nar "Swiftly taking your hand away from Hermione's butt, you give a quick smirk towards your audience." + her @ cheeks blush "I didn't say stop..." ("soft", "narrow", "base", "L") gen "Of course..." ("grin", xpos="far_left", ypos="head") - ">Without a moments hesitation you lift her skirt up, holding it against her back and leaving her panties exposed." - her "Sir..." ("crooked_smile", "base", "base", "down", cheeks="blush") #could change the sirs here to the name that the player has set for hermione to call you - ">Now firmly gripping her butt with your other hand, you begin to massage her cheeks whilst moving along with the music." - her "..." ("grin", "narrow", "worried", "up", cheeks="blush") #Look of pleasure - ">Your hand finds its way back down, pulling Hermione's panties down with it." - her "Sir...{w=0.4} what are you doing?" ("open", "happyCl", "base", "stare", cheeks="blush") - gen "You seem a little bit tense... just giving you a hand..." ("base", xpos="far_left", ypos="head") - her "But... What if someone notices..." ("annoyed", "base", "base", "R", cheeks="blush") - ">Ignoring her pleas you begin rubbing your fingers between her thighs, not bothering to be discreet." - her "*Ah*...{w} Sir..." ("open", "happyCl", "base", "mid", cheeks="blush") - ">As you move your hand higher up her thighs, Hermione's breathing quickens and a wetness begins to spread across the side of your hand, her legs shaking slightly as she tries to keep it together." - her "Sir...{w=0.4} I..." ("open", "happyCl", "base", "down", cheeks="blush") - ">With the music soon coming to a close you shift your hand and begin stroking against her vagina with even more vigour than before." - her "Sir...{w=0.3} *Ah*...{w=0.5} they'll...{w=0.2} they'll hear me..." ("mad", "happyCl", "base", "L", cheeks="blush") + nar "Without a moments hesitation you lift her dress up, holding it against her back and leaving her panties exposed." + her @ cheeks blush "Sir..." ("crooked_smile", "base", "base", "down") #could change the sirs here to the name that the player has set for Hermione to call you + nar "Now firmly gripping her butt with your other hand, you begin to massage her cheeks whilst moving along with the music." + her @ cheeks blush "..." ("grin", "narrow", "worried", "up") #Look of pleasure + nar "Your hand finds its way back down, pulling Hermione's panties down with it." + her @ cheeks blush "Sir...{w=0.4} what are you doing?" ("open", "happyCl", "base", "stare") + gen "You seem a little bit tense... Just giving you a hand..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "But... What if someone notices..." ("annoyed", "base", "base", "R") + nar "Ignoring her pleas you begin rubbing your fingers between her thighs, not bothering to be discreet." + her @ cheeks blush "*Ah*...{w} Sir..." ("open", "happyCl", "base", "mid") + nar "As you move your hand higher up her thighs, Hermione's breathing quickens and a wetness begins to spread across the side of your hand, her legs shaking slightly as she tries to keep it together." + her @ cheeks blush "Sir...{w=0.4} I..." ("open", "happyCl", "base", "down") + nar "With the music soon coming to a close, you shift your hand and begin stroking against her vagina with even more vigour than before." + her @ cheeks blush "Sir...{w=0.3} *Ah*...{w=0.5} they'll...{w=0.2} they'll hear me..." ("mad", "happyCl", "base", "L") gen "You better \"come\" quietly then..." ("base", xpos="far_left", ypos="head") - her "Sir... this isn't the time for..." ("open", "happyCl", "base", "mid", cheeks="blush") - ">As the music reaches it's peak, Hermione moves one of her hands off your back and puts it against her mouth to quickly try and stifle herself." + her @ cheeks blush "Sir... this isn't the time for..." ("open", "happyCl", "base", "mid") + nar "As the music reaches its peak, Hermione moves one of her hands off your back and puts it against her mouth to quickly try and stifle herself." her "*Mmmmf*..." with hpunch with kissiris stop music fadeout 6 #It's a bit sudden and quiet but not sure what to do instead - ">Hermione shudders in your arms and then quickly lets go as the music comes to an end." - her "*Ah*...{w=0.8}*Ah*...{w=0.8}*Ah*..." ("soft", "happyCl", "base", "mid", cheeks="blush") - ">With a quick glance towards the doorway you notice some Slytherin students have blocked it with their backs towards you." + nar "Hermione shudders in your arms and then quickly lets go as the music comes to an end." + her @ cheeks blush "*Ah*...{w=0.8}*Ah*...{w=0.8}*Ah*..." ("soft", "happyCl", "base", "mid") + nar "With a quick glance towards the doorway, you notice some Slytherin students have blocked it with their backs towards you." gen "You look tired girl, you'd better pull yourself together..." ("base", xpos="far_left", ypos="head") - her "Yes...{w=0.3} *Ah*...{w=0.6} I just need to...{w=0.3} catch my breath..." ("open", "squint", "worried", "L", cheeks="blush") + her @ cheeks blush "Yes...{w=0.3} *Ah*...{w=0.6} I just need to...{w=0.3} catch my breath..." ("open", "squint", "worried", "L") gen "Perhaps sooner rather than later, the music has stopped..." ("base", xpos="far_left", ypos="head") - her "Oh...{w=0.3} *Ah*...{w=0.3} I didn't even notice..." ("open", "happy", "worried", "mid", cheeks="blush") - ">Hermione moves to stand up but stumbles as she tries to compose herself..." - ">As she gets on her feet she looks up and notices the backs of the Slytherins in the doorway. She spins around to look at you, a red colour quickly spreading across her cheeks." - her "I...{w=0.3} I think I'd better head off to bed then..." ("mad", "squint", "base", "stare_soft", cheeks="blush") #Worried #Sheepish looking + her @ cheeks blush "Oh...{w=0.3} *Ah*...{w=0.3} I didn't even notice..." ("open", "happy", "worried", "mid") + nar "Hermione moves to stand up but stumbles as she tries to compose herself..." + nar "As she gets on her feet, she looks up and notices the backs of the Slytherins in the doorway. She spins around to look at you, a red colour quickly spreading across her cheeks." + her @ cheeks blush "I...{w=0.3} I think I'd better head off to bed then..." ("mad", "squint", "base", "stare_soft") #Worried #Sheepish looking gen "Sounds like a good idea..." ("base", xpos="far_left", ypos="head") - her "Okay then..." ("soft", "squint", "worried", "R", cheeks="blush") # smiles - her "Good night..." ("base", "squint", "worried", "mid", cheeks="blush") - gen "Good night Miss Granger." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Okay then..." ("soft", "squint", "worried", "R") # smiles + her @ cheeks blush "Good night..." ("base", "squint", "worried", "mid") + gen "Good night, Miss Granger." ("base", xpos="far_left", ypos="head") # Back in the office @@ -177,7 +180,7 @@ label ending_after: call gen_chibi("hide") call hide_blkfade pause 1.0 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("stand","door","base",flip=False) with d3 pause 0.3 @@ -188,7 +191,6 @@ label ending_after: # Next day $ game.daytime = True - call update_interface_color call music_block centered "{size=+7}{color=#cbcbcb}The next morning...{/color}{/size}" @@ -198,53 +200,53 @@ label ending_after: call sna_walk(action="enter", xpos="desk") gen "What did I tell you about knocking!" ("angry", xpos="far_left", ypos="head") sna "Who rule..." ("snape_03", ypos="head") - sna "You mother fucker..." ("snape_01") + sna "You motherfucker..." ("snape_01") sna "I knew it!" ("snape_02") sna "I knew you couldn't make yourself leave yet." ("snape_02") - gen "Hey, it's not my fault this place has so many..." ("grin", xpos="far_left", ypos="head") - gen "I have urges okay!" ("angry", xpos="far_left", ypos="head") + gen "Hey, it's not my fault this place has so many--" ("grin", xpos="far_left", ypos="head") + gen "I have urges, okay?" ("angry", xpos="far_left", ypos="head") sna "How very uncharacteristic of you..." ("snape_01") sna "But good news nonetheless..." ("snape_02") - sna "So I take it you have... unfinished business before you depart?" ("snape_37") - gen "A headmaster can't just up and leave before the school year is over can he?" ("base", xpos="far_left", ypos="head") - gen "Also I'm getting quite fond of the place... Not that I want to pick out curtains or anything." ("base", xpos="far_left", ypos="head") + sna "So I take it that you have... unfinished business to complete before you depart?" ("snape_37") + gen "A headmaster can't just up and leave before the school year is over, can he?" ("base", xpos="far_left", ypos="head") + gen "Also, I'm getting quite fond of the place... Not that I want to pick out curtains or anything." ("base", xpos="far_left", ypos="head") sna "..." ("snape_45") - sna "Very well... our little scheme continues." ("snape_02") + sna "Very well... Our little scheme continues." ("snape_02") sna "Although at the moment I've got a class to attend to." ("snape_01") call sna_walk("door") gen "Yes... I also have very important business to get on with..." ("base", xpos="far_left", ypos="head") - sna "Sure you do..." ("snape_01") + sna "I'm sure you do..." ("snape_01") call sna_walk(action="leave") jump main_room else: - play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 - ">Arriving at the great hall you decide to take a quick glance through the doors before heading back to your office." - ">Hermione is currently occupied looking out one of the windows and doesn't notice your presence." - ">You glance over at the teachers table and lock eyes with Snape who hastily stands up and quickly slides towards you." + play music "music/court-of-the-queen-by-kevin-macleod.ogg" fadein 1 fadeout 1 if_changed + nar "Arriving at the great hall, you decide to take a quick glance through the doorway before heading back to your office." + nar "Hermione is currently looking out one of the windows and is not aware of your presence." + nar "You glance over at the high table and lock eyes with Snape, who quickly stands up and then slides towards you." sna "Good evening sir...{w=0.5} I...{w=0.8} I didn't expect you so soon." ("snape_29", ypos="head") gen "Hello again Severus." ("base", xpos="far_left", ypos="head") gen "I have returned..." ("base", xpos="far_left", ypos="head") - sna "*Ahem...*{w=0.4} I see..." ("snape_06") + sna "*Ahem*...{w=0.4} I see..." ("snape_06") sna "Well...{w=0.5} Here it goes..." ("snape_04") - sna "Who...{w=0.5} who rules?" ("snape_09") + sna "Who...{w=0.5} Who rules?" ("snape_09") gen "..." ("base", xpos="far_left", ypos="head") sna "............." ("snape_25") sna "..." ("snape_26") gen "Robin Williams." ("grin", xpos="far_left", ypos="head") - sna "You mother fucker!" ("snape_20") #Epic handshake meme (jk) + sna "You motherfucker!" ("snape_20") #Epic handshake meme (jk) gen "..." ("grin", xpos="far_left", ypos="head") sna "..." ("snape_12") sna "About the thing I said earlier." ("snape_12") - gen "yes?" ("base", xpos="far_left", ypos="head") + gen "Yes?" ("base", xpos="far_left", ypos="head") sna "The whole friend thing..." ("snape_14") - gen "*Ah*... yes..." ("base", xpos="far_left", ypos="head") + gen "Ah... Yes..." ("base", xpos="far_left", ypos="head") gen "I mean, I was leaving and all that--" ("base", xpos="far_left", ypos="head") sna "No...{w=0.4} Even that being the case... I did mean it...{w=0.4} good ones are hard to come by." ("snape_24") gen "Well... even if you didn't mean it, I bet you ain't never had a friend like me." ("grin", xpos="far_left", ypos="head") sna "Ain't that true...{w=0.3}" ("snape_45") sna "So...{w=0.4} You're staying then?" ("snape_46") - gen "Can't just leave in the middle of the school year can I? What kind of headmaster would do that?" ("grin", xpos="far_left", ypos="head") + gen "Can't just leave in the middle of the school year, can I? What kind of headmaster would do that?" ("grin", xpos="far_left", ypos="head") sna "Is that so..." ("snape_47") gen "There are still plenty of girls that haven't seen me at my best!" ("grin", xpos="far_left", ypos="head") sna "There it is..." ("snape_02") @@ -254,50 +256,50 @@ label ending_after: gen "What did you say?" ("base", xpos="far_left", ypos="head") sna "Nothing..." ("snape_38") gen "Okay then..." ("base", xpos="far_left", ypos="head") - gen "In that case I'll head back to my office." ("base", xpos="far_left", ypos="head") + gen "In that case, I'll head back to my office." ("base", xpos="far_left", ypos="head") $ hermione.equip(her_outfit_ball) - ">As Snape slides back towards the teachers table, Hermione notices your presence and quickly starts walking towards you." - ">Before you can even attempt to slip into the shadows again, she's already come through the doorway with one of her arms held out in front of her." - her "Care for a dance?" ("base", "happy", "base", "L", cheeks="blush", ypos="head", flip=False) # smiles - gen "I...{w=0.4} Oh, what the hell... why not." ("base", xpos="far_left", ypos="head") - her "..." ("base", "narrow", "base", "down", cheeks="blush") # smiles - ">With your arms wrapped around Hermione's waist, the two of you begin moving along with the music." - ">After some time passes you can't help but look down on Hermione's butt sticking out below your hands." + nar "As Snape slides back towards the teacher's table, Hermione notices your presence and quickly starts walking towards you." + nar "Before you can even attempt to slip into the shadows again, she's already come through the doorway with one of her arms held out in front of her." + her @ cheeks blush "Care for a dance?" ("base", "happy", "base", "L", ypos="head", flip=False) # smiles + gen "I...{w=0.4} Oh, what the hell... Why not." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "..." ("base", "narrow", "base", "down") # smiles + nar "With your arms wrapped around Hermione's waist, the two of you begin moving along with the music." + nar "After some time passes, you can't help but look down at her butt sticking out below your hands." gen "Miss Granger..." ("base", xpos="far_left", ypos="head") - her "Yes?" ("open", "base", "base", "L", cheeks="blush") - ">Hands now wandering down towards Hermione's butt she smiles and tightens her grip around you." - ">Gently resting your hands against her cheeks you return to slowly moving along with the music." - her "Sir..." ("base", "base", "base", "mid", cheeks="blush") - gen "Yes Miss Granger?" ("base", xpos="far_left", ypos="head") - her "Could..." ("normal", "closed", "base", "mid", cheeks="blush") - her "Why can't this moment go on forever?" ("soft", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "Yes?" ("open", "base", "base", "L") + nar "You move your hands down to Hermione butt, and she smiles and tightens her grip around you." + nar "Gently resting your hands against her cheeks you return to slowly moving along with the music." + her @ cheeks blush "Sir..." ("base", "base", "base", "mid") + gen "Yes, Miss Granger?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Could..." ("normal", "closed", "base", "mid") + her @ cheeks blush "Why can't this moment go on forever?" ("soft", "base", "worried", "mid") gen "We both know that everything has to come to an end..." ("base", xpos="far_left", ypos="head") gen "But hopefully I've been able to teach you how to cherish every moment." ("base", xpos="far_left", ypos="head") - ">Hermione tightens her arms even more as you continue the dance in silence." - ">After a while, her grip loosens slightly as she shifts her head to look up at you." - her "I..." ("open", "squint", "base", "mid", cheeks="blush") - her "I just wanted to say that...{w=0.5} I'm glad I have you." ("open", "happyCl", "worried", "mid", cheeks="blush") - gen "Where's this suddenly coming from Miss Granger?" ("base", xpos="far_left", ypos="head") - her "I don't know... it's just..." ("upset", "happy", "base", "L", cheeks="blush") - her "I couldn't help having this bad feeling in my stomach the entire day." ("soft", "closed", "base", "stare", cheeks="blush") - her "It's stayed there up until now...{w} But now it's finally feeling as if the pain has started to go away..." ("upset", "happy", "base", "R", cheeks="blush") - ">Not knowing how to respond, you stand there in silence for a moment until Hermione pulls you towards her and you both begin moving along with the music once more." - ">After what only feels like seconds the music comes to a close and Hermione takes a step back to look up at you." - gen "You look tired girl, you'd better head off to bed...{w=0.4} there's always tomorrow." ("base", xpos="far_left", ypos="head") - her "Oh, yes... I suppose so..." ("soft", "base", "base", "mid", cheeks="blush") - her "Good night then..." ("base", "happy", "base", "R", cheeks="blush") + nar "Hermione tightens her arms even more as you continue the dance in silence." + nar "After a while, her grip lessens slightly as she shifts her head to look up at you." + her @ cheeks blush "I..." ("open", "squint", "base", "mid") + her @ cheeks blush "I just wanted to say that...{w=0.5} I'm glad I have you." ("open", "happyCl", "worried", "mid") + gen "Where's this suddenly coming from, Miss Granger?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I don't know... It's just..." ("upset", "happy", "base", "L") + her @ cheeks blush "I've had this bad feeling in my stomach all day." ("soft", "closed", "base", "stare") + her @ cheeks blush "It's stayed there until now...{w} But now it's finally feeling as if the pain has started to go away..." ("upset", "happy", "base", "R") + nar "Not knowing how to respond, you stand there in silence for a moment until Hermione pulls you towards her and you both begin moving along with the music once more." + nar "After what only feels like seconds, the music comes to a close and Hermione takes a step back to look up at you." + gen "You look tired girl... You'd better head off to bed...{w=0.4} There's always tomorrow." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh, yes... I suppose so..." ("soft", "base", "base", "mid") + her @ cheeks blush "Good night then..." ("base", "happy", "base", "R") gen "Good night." ("base", xpos="far_left", ypos="head") - her "Oh... wait,{w=0.3} before you go..." ("open", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh... wait,{w=0.3} Before I go..." ("open", "happyCl", "base", "mid") gen "Yes?" ("base", xpos="far_left", ypos="head") - call play_sound("kiss") + play sound "sounds/kiss.ogg" with kissiris #Heart animation on screen? - her "..." ("base", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("base", "narrow", "worried", "mid") gen "What was that for?" ("grin", xpos="far_left", ypos="head") - her "Nothing, I just felt like you earned it." ("base", "base", "base", "R", cheeks="blush") - her "See you tomorrow..." ("base", "base", "worried", "mid", cheeks="blush") - gen "Good night Miss Granger." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Nothing, I just felt like you earned it." ("base", "base", "base", "R") + her @ cheeks blush "See you tomorrow..." ("base", "base", "worried", "mid") + gen "Good night, Miss Granger." ("base", xpos="far_left", ypos="head") stop music fadeout 1 call blkfade @@ -307,7 +309,7 @@ label ending_after: call gen_chibi("hide") call hide_blkfade pause 1.0 - call play_sound("door") + play sound "sounds/door.ogg" call gen_chibi("stand","door","base",flip=False) with d3 pause 0.3 @@ -321,14 +323,14 @@ label ending_after: label big_bang: show screen big_bang with Fade(0.7, 0.5, 0.7, color='#fff') - play bg_sounds "sounds/rumble.ogg" fadein 2 + play background "sounds/rumble.ogg" fadein 2 pause 3 show screen big_bang(True) - $ renpy.sound.play("sounds/bang.ogg") + play sound "sounds/bang.ogg" pause 1.5 #with Move((0, 25), (0, -25), 0.2, bounce=True, repeat=True, delay=1.0) pause 12 - stop bg_sounds fadeout 2 + stop background fadeout 2 hide screen big_bang with d5 return diff --git a/game/scripts/events/event_class.rpy b/game/scripts/events/event_class.rpy deleted file mode 100644 index 0d6247ec..00000000 --- a/game/scripts/events/event_class.rpy +++ /dev/null @@ -1,256 +0,0 @@ -init python: - class quest_class(object): - def __init__(self, **kwargs): - self.title = "" - self.hint = "" - - self.__dict__.update(kwargs) - - def status(self): - return list(self.__dict__) - - class counter_class(object): - def __init__(self, **kwargs): - self.title = "" - self.bool = False # Can me switched to 'True' and 'False' for events - self.trigger = False # Can only be switched to 'True' - self.counter = 0 - - self.hg_counter = 0 # Hermione - self.gw_counter = 0 # Ginny - self.cc_counter = 0 # Cho - self.ll_counter = 0 # Luna - self.sb_counter = 0 # Susan - self.ag_counter = 0 # Astoria - self.dg_counter = 0 # Daphne - self.pp_counter = 0 # Pansy - self.ss_counter = 0 # Snape - self.nt_counter = 0 # Tonks - - self.__dict__.update(kwargs) - - def status(self): - return list(self.__dict__) - - def triggered(self): - self.trigger = True - self.counter += 1 - return - - class event_class(object): - """ - Handles and tracks event progression. - - Event labels ending with "_intro" are treated as one-time events. Otherwise the event can be repeated. - - `tier` (int): The current tier number, which determines the set of events to run. - `counter` (int): The number of successfully completed events. - `points` (int): The number of successfully completed events in the current tier. - """ - - def __init__(self, **kwargs): - self.title = "" - self.hint = "" - self.counter = 0 - - self.start_label = "" - self.start_tier = 1 - self.inProgress = False - - self.events = [] - - self.icons = [] - self.iconset = [] - - self.__dict__.update(kwargs) - - # _tier is relative to start_tier - self._tier = 0 - self._points = 0 - - if not self.events: - raise Exception('Events: "events" list was not defined for "{}".'.format(self.title)) - - self._max_tiers = len(self.events) - - if not self.iconset: - raise Exception('Events: "iconset" list was not defined for "{}". You need to add at least one set of icons.'.format(self.title)) - elif len(self.iconset) < self._max_tiers: - for i in xrange(self._max_tiers-len(self.iconset)): - self.iconset.append([self.iconset[0][0], self.iconset[0][1]]) - - if self.icons and len(self.icons) < self._max_tiers: - raise Exception('Events: "icons" list does not match the number of events for "{}".'.format(self.title)) - - for i in xrange(self._max_tiers): - for j in xrange(len(self.events[i])): - self.events[i][j] += [False] - - def start(self): - self.counter += 1 - - for i in xrange(len(self.events[self._tier])): - if self.events[self._tier][i][1] == False: - self.events[self._tier][i][1] = True - self.points += 1 - return renpy.jump(self.events[self._tier][i][0]) - - self.start_random() - - def start_advance(self): - self.counter += 1 - - for i in xrange(self._max_tiers): - for j in xrange(len(self.events[i])): - if self.events[i][j][1] == False: - self.events[i][j][1] = True - self._tier = i - self.points += 1 - return renpy.jump(self.events[i][j][0]) - - self.start_random() - - def start_random(self): - events_filtered = filter(lambda x: '_intro' not in x[0], self.events[self._tier]) - random_event = events_filtered[random.randint(0, len(events_filtered)-1)][0] - return renpy.jump(random_event) - - def change_icon(self, a="heart_half", b="heart_red"): - for icon in self.iconset: - if icon[1] == a: - icon[1] = b - - def get_menu_item(self, disabled=False): - menu_text = "" - - if self.hint: - menu_text += "{{image={}_check_True}}".format(gui.theme()) - - if self.title: - menu_text += "\"{}\"".format(self.title) - - imagepath = "interface/icons/small/" - - icon = None - if len(self.icons) > 0 and self.icons[self._tier]: - icon = imagepath + self.icons[self._tier] + ".webp" - - progress = [] - for i, ev in enumerate(self.events[self._tier]): - is_complete = ev[1] - - if is_complete: - if self.iconset[self._tier][1] == "heart_half": - if i == len(self.events[self._tier])-1: - progress.append(imagepath + self.iconset[self._tier][1] + ".webp") - else: - progress.append(imagepath + "heart_red.webp") - else: - progress.append(imagepath + self.iconset[self._tier][1] + ".webp") - else: - progress.append(imagepath + self.iconset[self._tier][0] + ".webp") - - if disabled: - return gui.menu_item(menu_text, "block", icon=icon, progress=progress, style="disabled") - else: - return gui.menu_item(menu_text, self.start_label, icon=icon, progress=progress) - - def fail(self): - self.counter = max(0, self.counter-1) - self.points -= 1 - self.events[self._tier][self._points][1] = False - return - - def fail_intentional(self): - self.counter = max(0, self.counter-1) - self.points -= 1 - return - - # Reset the event completely - def reset(self): - for i in xrange(self._max_tiers): - for j in xrange(len(self.events[i])): - self.events[i][j][1] = False - self._tier = 0 - self._points = 0 - self.counter = 0 - self.inProgress = False - - def status(self, value): - status_list = [] - for item in self.events[value-1]: - status_list += [item[1]] - return status_list - - def is_complete(self, ignore_in_progress=False): - is_last_tier = (self._tier == self._max_tiers - 1) - return is_last_tier and self.is_tier_complete(ignore_in_progress=ignore_in_progress) - - def is_tier_complete(self, ignore_in_progress=False): - event_count = len(self.events[self._tier]) - return self.points == event_count and (not self.inProgress or ignore_in_progress) - - def is_event_complete(self, tier, event): - relative_tier = tier - self.start_tier - try: - return bool(self.events[relative_tier][event-1][1]) - except IndexError: - return False - - @property - def points(self): - return self._points - - @points.setter - def points(self, value): - self._points = max(0, min(value, len(self.events[self._tier]))) - - @property - def tier(self): - return self._tier + self.start_tier - - @tier.setter - def tier(self, value): - relative_tier = max(0, min(value - self.start_tier, self._max_tiers - 1)) - if relative_tier != self._tier: - # Change tier and reset progress - self._points = 0 - self._tier = relative_tier - - class stats_class(dict): - - def __delitem__(self, key): - """Override delitem method to delete inner dictionary key.""" - del self[key] - - def __missing__(self, key): - """Return zero if key does not exist in the inner dictionary.""" - return 0 - - def __setattr__(self, name, value): - """Override setattr method to add attributes as keys and values in the inner dictionary.""" - self[name] = value - - def __getattr__(self, name): - """Override getattr method to return a value of the key from the inner dictionary.""" - # Skip protected attributes and/or injected Ren'py methods - if not name.startswith("_"): - return self[name] - raise AttributeError("'"+self.__class__.__name__+"' has no attribute '"+name+"'") - - def status(self): - """Print currently defined keys and values in the console.""" - for key, value in self.iteritems(): - print key + " == " + str(value) - return - - def reset(self): - """Reset all key values back to default values depending on the value type.""" - for key in self.iterkeys(): - if isinstance(self[key], (float, int)): - self[key] = 0 - elif isinstance(self[key], bool): - self[key] = False - else: - pass - return diff --git a/game/scripts/events/final_events.rpy b/game/scripts/events/final_events.rpy index 7d909f08..50b828d1 100644 --- a/game/scripts/events/final_events.rpy +++ b/game/scripts/events/final_events.rpy @@ -1,58 +1,63 @@ +default her_ev_yule_ball_e4 = Event(id="her_ev_yule_ball_e4", wait=2, label="ball_quest_E4", priority=15, req="game.daytime", repeat=False) +default her_ev_yule_ball_e3 = Event(id="her_ev_yule_ball_e3", wait=4, label="ball_quest_E3", priority=15, req="game.daytime", repeat=False, subevents=["her_ev_yule_ball_e4"]) +default her_ev_yule_ball_e2 = Event(id="her_ev_yule_ball_e2", wait=1, label="ball_quest_E2", priority=15, req="game.daytime", repeat=False, subevents=["her_ev_yule_ball_e3"]) +default her_ev_yule_ball_e1 = Event(id="her_ev_yule_ball_e1", label="ball_quest_E1", priority=15, req="states.her.tier >= 6 and game.daytime and not states.her.busy and not states.her.ev.yule_ball.e1_complete", autoenqueue=True, repeat=False, subevents=["her_ev_yule_ball_e2"]) + #hermione asks genie about who will be in-charge of the ball label ball_quest_E1: stop music fadeout 1.0 call her_walk(action="enter", xpos="mid", ypos="base") - call play_music("chipper_doodle") - her "[genie_name]?" ("soft", "base", "base", "mid", xpos="right", ypos="base") - gen "[hermione_name], how can I help you?" ("base", xpos="far_left", ypos="head") - her "[genie_name], have you made your decision yet on who will be in charge of the \"ABOC\" this year?" ("open", "base", "base", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + her "[name_genie_hermione]?" ("soft", "base", "base", "mid", xpos="right", ypos="base") + gen "[name_hermione_genie], how can I help you?" ("base", xpos="far_left", ypos="head") + her "[name_genie_hermione], have you made your decision yet on who will be in charge of the \"ABOC\" this year?" ("open", "base", "base", "mid") gen "\"ABOC\"?" ("base", xpos="far_left", ypos="head") - her "The \"Autumn Ball Organization Committee\", [genie_name]..." ("open", "closed", "base", "mid") + her "The \"Autumn Ball Organization Committee\", [name_genie_hermione]..." ("open", "closed", "base", "mid") gen "*Ehm*... Sure..." ("base", xpos="far_left", ypos="head") - her "Please excuse me if I am being too direct with this, [genie_name]..." ("normal", "squint", "angry", "mid") + her "Please excuse me if I am being too direct with this, [name_genie_hermione]..." ("normal", "squint", "angry", "mid") her "But I think you should put {b}me{/b} in charge." ("open", "closed", "angry", "mid") - her "I did it last year and it was the best organised \"autumn ball\" Hogwarts has had in years." ("open", "closed", "base", "mid") - her "You said so yourself, [genie_name]. Do you remember?" ("normal", "base", "base", "mid") + her "I did it last year, and it was the best organised \"autumn ball\" Hogwarts has had in years." ("open", "closed", "base", "mid") + her "You said so yourself, [name_genie_hermione]. Do you remember?" ("normal", "base", "base", "mid") gen "Right, of course..." ("base", xpos="far_left", ypos="head") her "So, is this a yes?" ("base", "base", "base", "mid") her "Does this mean I will be in charge again this year?" ("base", "base", "base", "mid") menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"You shall be in charge, [hermione_name].\"": - her "Thank you, [genie_name]." ("base", "base", "base", "mid") + "\"You shall be in charge, [name_hermione_genie].\"": + her "Thank you, [name_genie_hermione]." ("base", "base", "base", "mid") "\"No. Professor Snape shall be in charge!\"": - her "Professor Snape, [genie_name]?" ("open", "squint", "angry", "mid") + her "Professor Snape, [name_genie_hermione]?" ("open", "squint", "angry", "mid") her "But, traditionally organizing and hosting the ball is the responsibility of the students..." ("normal", "base", "angry", "mid") her "Teachers are only present as the guests of honour..." ("open", "closed", "angry", "mid") gen "Of course...{w=0.4} I was just kidding." ("base", xpos="far_left", ypos="head") - gen "You shall be in charge, [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "You shall be in charge, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "There is one condition, though..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("normal", "squint", "angry", "mid") + her "Yes, [name_genie_hermione]?" ("normal", "squint", "angry", "mid") $ d_flag_01 = False - $ d_flag_02 = False + $ d_flag_02 = False # Have sex with me $ d_flag_03 = False # Masturbation flag label .choices: menu: gen "..." ("base", xpos="far_left", ypos="head") - "\"Take some of those clothes off\"" if hermione.is_any_worn("top", "bottom", "bra", "panties"): - $ her_mood += 5 + "\"Take some of those clothes off.\"" if hermione.is_any_worn("top", "bottom", "bra", "panties"): + $ states.her.mood += 5 $ d_flag_01 = True - "\"Just stand right there for a moment\"" if not hermione.is_worn("top", "bottom", "bra", "panties"): + "\"Just stand right there for a moment.\"" if not hermione.is_worn("top", "bottom", "bra", "panties"): if hermione.is_any_worn("clothes"): gen "And take off those things you're wearing." ("base", xpos="far_left", ypos="head") her "Alright..." ("open", "squint", "base", "R") - $ renpy.sound.play("sounds/cloth_sound3.ogg") - $ hermione.strip("all") + play sound "sounds/cloth_sound3.ogg" + $ hermione.strip("clothes") else: her "Just stand right here?" ("base", "base", "base", "R") gen "Yes, just stand right there for me..." ("base", xpos="far_left", ypos="head") @@ -60,31 +65,31 @@ label ball_quest_E1: her "Is that all?" ("open", "squint", "base", "mid") jump ball_quest_E1.after_strip - "\"You will have to sleep with me.\"" if not d_flag_02 and not hg_pf_sex.counter > 0: - $ her_mood += 10 + "\"You will have to sleep with me.\"" if not d_flag_02 and not states.her.status.sex: + $ states.her.mood += 10 $ d_flag_02 = True - her "I will have to... sleep...?" ("angry", "wide", "base", "mid") - her "..................." ("angry", "base", "angry", "mid", cheeks="blush") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "I am not stupid, [genie_name]... Quite the opposite in fact." ("angry", "closed", "angry", "mid", cheeks="blush") - her "And I understand that the nature of the favours I have been selling you lately..." ("open", "base", "angry", "R", cheeks="blush") - her "... Might have led you to believe that I would be willing to..." ("open", "squint", "angry", "mid", cheeks="blush") - her "... To let you have your way with me eventually, [genie_name]..." ("disgust", "squint", "angry", "L_soft", cheeks="blush") + her "I will have to--{w=0.2} Sleep...?" ("angry", "wide", "base", "mid") + her @ cheeks blush "..................." ("angry", "base", "angry", "mid") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her @ cheeks blush "I am not stupid, [name_genie_hermione]... Quite the opposite in fact." ("angry", "closed", "angry", "mid") + her @ cheeks blush "And I understand that the nature of the favours I have been selling you lately..." ("open", "base", "angry", "R") + her @ cheeks blush "... Might have led you to believe that I would be willing to..." ("open", "squint", "angry", "mid") + her @ cheeks blush "... To let you have your way with me eventually, [name_genie_hermione]..." ("disgust", "squint", "angry", "L_soft") gen "Whaaa--? I would never--" ("base", xpos="far_left", ypos="head") - her "Please, let me finish, [genie_name]." ("scream", "base", "angry", "mid",emote="angry", cheeks="blush") + her @ cheeks blush "Please, let me finish, [name_genie_hermione]." ("scream", "base", "angry", "mid",emote="angry") gen "Right..." ("base", xpos="far_left", ypos="head") - her "I know that you are a rather wise man yourself, [genie_name]." ("angry", "base", "angry", "mid", cheeks="blush") - her "So, please... understand this..." ("disgust", "narrow", "base", "L_soft", cheeks="blush") - her "I may be willing to sacrifice my pride and even my dignity for the sake of my house..." ("open", "closed", "angry", "mid", cheeks="blush") - her "But sleeping with my headmaster?" ("open", "squint", "annoyed", "mid", cheeks="blush") - her "That is where I draw the line, [genie_name]." ("angry", "base", "angry", "mid", cheeks="blush") - gen "Fine... in that case..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I know that you are a rather wise man yourself, [name_genie_hermione]." ("angry", "base", "angry", "mid") + her @ cheeks blush "So, please... Understand this..." ("disgust", "narrow", "base", "L_soft") + her @ cheeks blush "I may be willing to sacrifice my pride and even my dignity for the sake of my house..." ("open", "closed", "angry", "mid") + her @ cheeks blush "But sleeping with my headmaster?" ("open", "squint", "annoyed", "mid") + her @ cheeks blush "That is where I draw the line, [name_genie_hermione]." ("angry", "base", "angry", "mid") + gen "Fine... In that case..." ("base", xpos="far_left", ypos="head") jump ball_quest_E1.choices "\"Never mind. the Position is yours.\"": - $ her_mood = 0 + $ states.her.mood = 0 her "Really?" ("smile", "base", "base", "mid") gen "Yes." ("base", xpos="far_left", ypos="head") @@ -92,18 +97,18 @@ label ball_quest_E1: jump ball_quest_E1.end if d_flag_02: - her "Do I have to?" ("annoyed", "base", "annoyed", "R", cheeks="blush") - gen "No [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Do I have to?" ("annoyed", "base", "annoyed", "R") + gen "No [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "You don't have to take any clothes off..." ("base", xpos="far_left", ypos="head") her "Finally you're being reasonable." ("open", "closed", "base", "mid") if hermione.is_worn("panties"): gen "I only need you to pull those panties aside for easy access." ("grin", xpos="far_left", ypos="head") else: gen "I only need you to bend over my desk for easy access." ("grin", xpos="far_left", ypos="head") - her "[genie_name]! I thought I established this already... I'm not going to sleep with you!" ("angry", "narrow", "angry", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione]! I thought I established this already... I'm not going to sleep with you!" ("angry", "narrow", "angry", "mid") gen "Then the answer is yes..." ("base", xpos="far_left", ypos="head") - gen "If you want to be in charge of My balls--" ("base", xpos="far_left", ypos="head") - her "The \"Autumn Ball\", [genie_name]..." ("upset", "squint", "annoyed", "mid", cheeks="blush") + gen "If you want to be in charge of my balls--" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "The \"Autumn Ball\", [name_genie_hermione]..." ("upset", "squint", "annoyed", "mid") her "But this isn't a favour... this is THE Autumn Ball we're talking about..." ("open", "squint", "angry", "mid") gen "Then would you say the job of organizing it is... an honour?" ("base", xpos="far_left", ypos="head") her "It is!" ("open", "closed", "base", "mid") @@ -114,25 +119,25 @@ label ball_quest_E1: else: her "What?!" ("open", "base", "base", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "[genie_name]!" ("angry", "base", "angry", "mid") + her "[name_genie_hermione]!" ("angry", "base", "angry", "mid") gen "What?" ("base", xpos="far_left", ypos="head") - her "You are abusing your power, [genie_name]. Again!" ("disgust", "narrow", "base", "mid_soft") + her "You are abusing your power, [name_genie_hermione]. Again!" ("disgust", "narrow", "base", "mid_soft") gen "Seriously? After all those favours you sold me?" ("base", xpos="far_left", ypos="head") - her "Those were for the sake of my house, [genie_name]." ("annoyed", "narrow", "annoyed", "mid") + her "Those were for the sake of my house, [name_genie_hermione]." ("annoyed", "narrow", "annoyed", "mid") gen "Well this one is for the sake of the \"Autumn prom\"." ("base", xpos="far_left", ypos="head") - her "It's the \"Autumn Ball\", [genie_name]..." ("upset", "closed", "base", "mid") + her "It's the \"Autumn Ball\", [name_genie_hermione]..." ("upset", "closed", "base", "mid") gen "Oh, come on..." ("base", xpos="far_left", ypos="head") gen "Entrusting the thing to somebody else would be a crime, you know that." ("base", xpos="far_left", ypos="head") her ".........." ("annoyed", "narrow", "angry", "R") gen "Don't you care about your classmates at all?" ("base", xpos="far_left", ypos="head") her "What?" ("open", "base", "base", "mid") gen "Put your selfishness aside for once, would you?" ("base", xpos="far_left", ypos="head") - her "My... selfishness?" ("annoyed", "base", "worried", "R") + her "My... Selfishness?" ("annoyed", "base", "worried", "R") gen "Your classmates deserve the best organised ball possible!" ("base", xpos="far_left", ypos="head") gen "And only {size=+5}YOU{/size} can give them that!" ("base", xpos="far_left", ypos="head") - her "... that is true actually." ("angry", "narrow", "base", "down") + her "... That is true actually." ("angry", "narrow", "base", "down") gen "People depend on you, girl!" ("base", xpos="far_left", ypos="head") - her "You... maybe you're right, [genie_name]." ("open", "narrow", "worried", "down") + her "You... Maybe you're right, [name_genie_hermione]." ("open", "narrow", "worried", "down") her "I must do this... Everyone depends on me." ("upset", "closed", "base", "mid") her "Just give me a second please." ("annoyed", "narrow", "base", "R") @@ -141,7 +146,7 @@ label ball_quest_E1: gen "............" ("base", xpos="far_left", ypos="head") - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. hide screen bld1 hide hermione_main @@ -156,7 +161,7 @@ label ball_quest_E1: pause.5 call chibi_emote("hide", "hermione") - $ renpy.play('sounds/09_lock.ogg') + play sound "sounds/09_lock.ogg" pause 1.5 #Returns from the door @@ -165,7 +170,7 @@ label ball_quest_E1: call her_walk("mid", "base") pause.2 - her "Just in case..." ("annoyed", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "Just in case..." ("annoyed", "narrow", "angry", "R") $ d_flag_01 = False $ d_flag_02 = False @@ -178,7 +183,7 @@ label ball_quest_E1: if d_flag_01 and d_flag_02: if hermione.is_any_worn("clothes"): gen "Now take off everything else you're wearing." ("base", xpos="far_left", ypos="head") - $ hermione.strip("all") + $ hermione.strip("clothes") jump ball_quest_E1.after_strip @@ -187,7 +192,7 @@ label ball_quest_E1: "\"Take your top off.\"" if not d_flag_01: $ d_flag_01 = True - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. if not hermione.is_worn("top"): her "Take off my what? I'm not exactly clothed, you know!" ("angry", "base", "annoyed", "R") @@ -201,7 +206,7 @@ label ball_quest_E1: jump ball_quest_E1.bra - her "............" ("annoyed", "base", "worried", "R_soft", cheeks="blush") + her @ cheeks blush "............" ("annoyed", "base", "worried", "R_soft") pause.3 @@ -210,7 +215,7 @@ label ball_quest_E1: # call her_chibi("lift_top","mid","base") # with d3 # pause 2.0 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("robe", "accessory") $ hermione.strip("top") @@ -222,25 +227,25 @@ label ball_quest_E1: label .bra: - her "..." ("annoyed", "base", "angry", "R_soft", cheeks="blush") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + her @ cheeks blush "..." ("annoyed", "base", "angry", "R_soft") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bra") pause.5 - her "" ("soft", "base", "base", "R_soft", cheeks="blush") + her @ cheeks blush "" ("soft", "base", "base", "R_soft") call ctc - gen "Very good [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "Very good [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") gen "Your ample tits are always a welcome sight..." ("base", xpos="far_left", ypos="head") - her "...................." ("disgust", "narrow", "base", "down", cheeks="blush") - her "" ("normal", "base", "worried", "R_soft", cheeks="blush") + her @ cheeks blush "...................." ("disgust", "narrow", "base", "down") + her @ cheeks blush "" ("normal", "base", "worried", "R_soft") jump ball_quest_E1.choices2 "\"Take your bottoms off.\"" if not d_flag_02: $ d_flag_02 = True - call play_music("playful_tension") # SEX THEME. + play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein 1 if_changed # SEX THEME. $ hermione.strip("robe", "accessory") if not hermione.is_worn("bottom"): her "I would if you'd let me wear any!" ("angry", "base", "angry", "mid") @@ -262,7 +267,7 @@ label ball_quest_E1: # with d3 # pause 2.0 - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("bottom") call ctc @@ -273,25 +278,25 @@ label ball_quest_E1: label .panties: - her "..." ("normal", "base", "low", "R_soft", cheeks="blush") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + her @ cheeks blush "..." ("normal", "base", "low", "R_soft") + play sound "sounds/cloth_sound3.ogg" $ hermione.strip("panties") pause.5 - her "" ("annoyed", "base", "base", "R_soft", cheeks="blush") + her @ cheeks blush "" ("annoyed", "base", "base", "R_soft") call ctc - her ".............................." ("annoyed", "base", "angry", "R_soft", cheeks="blush") + her @ cheeks blush ".............................." ("annoyed", "base", "angry", "R_soft") gen "What are you doing, girl?!" ("angry", xpos="far_left", ypos="head") with hpunch gen "I am your headmaster! Do you have no shame?!" ("angry", xpos="far_left", ypos="head") - her "What?! But--" ("angry", "base", "angry", "mid", cheeks="blush") - gen "*He-he*... Relax, [hermione_name]. I'm just kidding." ("grin", xpos="far_left", ypos="head") - her "[genie_name], that was just mean." ("scream", "happyCl", "angry", "mid", cheeks="blush") - gen "*He-he*..." ("grin", xpos="far_left", ypos="head") - her "....................................." ("annoyed", "base", "worried", "R_soft", cheeks="blush") + her @ cheeks blush "What?! But--" ("angry", "base", "angry", "mid") + gen "*He-he*... Relax, [name_hermione_genie]. I'm just kidding." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "[name_genie_hermione], that was just mean." ("scream", "happyCl", "angry", "mid") + gen "*Heh-he*..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "....................................." ("annoyed", "base", "worried", "R_soft") gen "I do like your cute little pussy though..." ("base", xpos="far_left", ypos="head") - her "..... Thank you, [genie_name]." ("disgust", "base", "angry", "R_soft", cheeks="blush") + her @ cheeks blush "..... Thank you, [name_genie_hermione]." ("disgust", "base", "angry", "R_soft") jump ball_quest_E1.choices2 @@ -306,8 +311,8 @@ label ball_quest_E1: with d5 pause 1.0 - gen "Looking good [hermione_name]..." ("grin", xpos="far_left", ypos="head") - her "Happy now?" ("annoyed", "base", "worried", "R", cheeks="blush") + gen "Looking good [name_hermione_genie]..." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "Happy now?" ("annoyed", "base", "worried", "R") her "Will you let me have the \"privilege\" of being in charge of the \"ABOC\" this year?" ("normal", "base", "worried", "mid") menu: @@ -317,113 +322,109 @@ label ball_quest_E1: jump ball_quest_E1.end "\"Touch yourself for me first...\"": - $ hg_masturbated.triggered() + $ states.her.status.masturbating = True $ d_flag_03 = True - $ her_mood += 5 + $ states.her.mood += 5 her "You want me to..." ("shock", "wide", "base", "stare") gen "Flick the bean..." ("base", xpos="far_left", ypos="head") gen "Fondle those puppies..." ("base", xpos="far_left", ypos="head") - her "I..." ("angry", "wide", "worried", "mid", cheeks="blush") + her @ cheeks blush "I..." ("angry", "wide", "worried", "mid") gen "Or did you not want to be in charge?" ("base", xpos="far_left", ypos="head") - her "Of... of course I do!" ("angry", "base", "worried", "down", cheeks="blush") + her @ cheeks blush "Of--{w=0.2} Of course I do!" ("angry", "base", "worried", "down") gen "Then get on with it..." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", "happyCl", "worried", "down", cheeks="blush") - her "Fine..." ("disgust", "squint", "worried", "down", cheeks="blush") + her @ cheeks blush "..." ("annoyed", "happyCl", "worried", "down") + her @ cheeks blush "Fine..." ("disgust", "squint", "worried", "down") show screen blkfade with d5 - $ renpy.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" with hpunch with kissiris - $ hermione.set_pose("masturbate") - $ hermione.set_body(armleft="on_pussy") + $ hermione.set_pose("hand_on_pussy") her "" ("open", "squint", "worried", "mid", xpos=270) hide screen blkfade with d5 pause 0.5 - her "*Ah*..." ("open", "squint", "worried", "R", cheeks="blush") + her @ cheeks blush "*Ah*..." ("open", "squint", "worried", "R") gen "Ni-i-i-ce!" ("grin", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloop.ogg" fadein 2 - her "*mmmh*..." ("open", "happyCl", "worried", "R", cheeks="blush") + play background "sounds/slickloop.ogg" fadein 2 + her @ cheeks blush "*mmmh*..." ("open", "happyCl", "worried", "R") pause 0.4 - her "" ("soft", "closed", "base", "R", cheeks="blush") + her @ cheeks blush "" ("soft", "closed", "base", "R") pause 0.4 call ctc - her "*Sob*!" ("soft", "squint", "worried", "R_soft", cheeks="blush", tears="soft") - gen "*huh*?" ("base", xpos="far_left", ypos="head") - her "Oh, please,{w=0.4} don't mind me, [genie_name]." ("open", "base", "base", "R", cheeks="blush", tears="crying") - her "Just enjoy the... {w=0.5}the view..." ("upset", "happy", "base", "R", cheeks="blush", tears="soft") - gen "Are you... crying?" ("base", xpos="far_left", ypos="head") - stop bg_sounds + her @ cheeks blush tears soft "*Sob*!" ("soft", "squint", "worried", "R_soft") + gen "*Huh*?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears crying "Oh, please,{w=0.4} don't mind me, [name_genie_hermione]." ("open", "base", "base", "R") + her @ cheeks blush tears soft "Just enjoy the... {w=0.5}The view..." ("upset", "happy", "base", "R") + gen "Are you... Crying?" ("base", xpos="far_left", ypos="head") + stop background # Hand down - $ hermione.set_body(armleft="down") + $ hermione.set_pose(None) - her "*Sob*! No, [genie_name]... *sob*!..." ("angry", "happyCl", "worried", "mid", cheeks="blush", tears="crying_blink") - her "I... I enjoy touching myself...{w=0.5} In front of my headmaster *SOB*!" ("angry", "squint", "worried", "R_soft", cheeks="blush", tears="crying") + her @ cheeks blush tears crying_blink "*Sob*! No, [name_genie_hermione]... *Sob*!..." ("angry", "happyCl", "worried", "mid") + her @ cheeks blush tears crying "I... I enjoy touching myself...{w=0.5} In front of my headmaster, *SOB*!" ("angry", "squint", "worried", "R_soft") - # Hands on pussy, tits - $ hermione.set_body_zorder(armright=3) - $ hermione.set_body(armleft="on_pussy", armright="on_tits") + # Hands on pussy, breast + $ hermione.set_pose("hand_on_pussy_and_breast") - play bg_sounds "sounds/slickloop.ogg" fadein 2 - her "*Ah*..." ("open", "squint", "worried", "R", cheeks="blush") - her "These...{w=0.4} *Ah*...{w=0.5} are happy tears, [genie_name]." ("open", "narrow", "low", "R", cheeks="blush", tears="messy") - her "I...{w=0.5} *Ah*...{w=0.5}... I'm sorry...{w=0.5} I can't help it! *Sob*!" ("angry", "happyCl", "worried", "mid_soft", cheeks="blush", tears="messy") + play background "sounds/slickloop.ogg" fadein 2 + her @ cheeks blush "*Ah*..." ("open", "squint", "worried", "R") + her @ cheeks blush tears messy "These...{w=0.4} *Ah*...{w=0.5} Are happy tears, [name_genie_hermione]." ("open", "narrow", "low", "R") + her @ cheeks blush tears messy "I...{w=0.5} *Ah*...{w=0.5}... I'm sorry...{w=0.5} I can't help it! *Sob*!" ("angry", "happyCl", "worried", "mid_soft") gen "Are you sure that you are okay with this?" ("base", xpos="far_left", ypos="head") - her "Yes...{w=0.4} *Ah*...{w=0.5} yes, sir, please.... *Sob*!" ("soft", "squint", "worried", "mid", cheeks="blush", tears="messy") - her "Please keep looking as I...{w=0.3} pleasure myself *Sob*!" ("open", "narrow", "base", "mid_soft", cheeks="blush", tears="messy") - her "" ("open", "narrow", "angry", "stare_soft", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "Yes...{w=0.4} *Ah*...{w=0.5} Yes, sir, please.... *Sob*!" ("soft", "squint", "worried", "mid") + her @ cheeks blush tears messy "Please keep looking as I...{w=0.3} Pleasure myself, *Sob*!" ("open", "narrow", "base", "mid_soft") + her @ cheeks blush tears messy "" ("open", "narrow", "angry", "stare_soft") pause.2 - gen "(What the...?)" ("angry", xpos="far_left", ypos="head") + gen "(What the--)" ("angry", xpos="far_left", ypos="head") with hpunch - her "[genie_name], I am begging you!" ("soft", "narrow", "angry", "mid", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "[name_genie_hermione], I am begging you!" ("soft", "narrow", "angry", "mid") gen "Kind of sounds like an order--" ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopfast.ogg" - her "I need it!" ("open", "narrow", "worried", "up_soft", cheeks="blush", tears="messy") - her "... I need to shamelessly present my naked body before you like this!" ("soft", "narrow", "base", "up_soft", cheeks="blush", tears="messy") + play background "sounds/slickloopfast.ogg" + her @ cheeks blush tears messy "I need it!" ("open", "narrow", "worried", "up_soft") + her @ cheeks blush tears messy "... I need to shamelessly present my naked body before you like this!" ("soft", "narrow", "base", "up_soft") with hpunch gen ".............?" ("base", xpos="far_left", ypos="head") - her "I need to feel this embarrassment and humiliation! *SOB*!" ("silly", "narrow", "angry", "dead", cheeks="blush", tears="messy") - play bg_sounds "sounds/slickloopveryfast.ogg" - her "The fate of the \"Autumn ball\" depends on this..." ("silly", "base", "worried", "mid_soft", cheeks="blush", tears="messy") - her "So... [genie_name], please..." - her "Keep looking at my naked breasts, and my pussy..." ("silly", "narrow", "worried", "mid", cheeks="blush", tears="messy") - her "Look at me as I get wet for you..." - her "*mmmh*..." ("open", "happyCl", "worried", "R", cheeks="blush", tears="messy") #disgusted #blushing + her @ cheeks blush tears messy "I need to feel this embarrassment and humiliation! *SOB*!" ("silly", "narrow", "angry", "dead") + play background "sounds/slickloopveryfast.ogg" + her @ cheeks blush tears messy "The fate of the \"Autumn ball\" depends on this..." ("silly", "base", "worried", "mid_soft") + her "So... [name_genie_hermione], please..." + her @ cheeks blush tears messy "Keep looking at my naked breasts, and my pussy..." ("silly", "narrow", "worried", "mid") + her "Look at me, as I get wet for you..." + her @ cheeks blush tears messy "*mmmh*..." ("open", "happyCl", "worried", "R") #disgusted #blushing call ctc with hpunch - her "*Ah*...{w=0.5} Yes! Make my skin burn with shame, [genie_name]... *Sob*!" ("open", "narrow", "base", "up", cheeks="blush", tears="messy") - gen "*Ehm*... right... Okay..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears messy "*Ah*...{w=0.5} Yes! Make my skin burn with shame, [name_genie_hermione]... *Sob*!" ("open", "narrow", "base", "up") + gen "*Ehm*... Right... Okay..." ("base", xpos="far_left", ypos="head") gen "Listen, I think this will do..." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloop.ogg" fadein 2 - her "*Ah*...{w=0.5} Are you sure, [genie_name]?" ("open", "narrow", "base", "mid", cheeks="blush", tears="messy") - her "Are you sure that you've humiliated me enough, [genie_name]?" ("base", "narrow", "worried", "mid_soft", cheeks="blush", tears="messy") + play background "sounds/slickloop.ogg" fadein 2 + her @ cheeks blush tears messy "*Ah*...{w=0.5} Are you sure, [name_genie_hermione]?" ("open", "narrow", "base", "mid") + her @ cheeks blush tears messy "Are you sure that you've humiliated me enough, [name_genie_hermione]?" ("base", "narrow", "worried", "mid_soft") gen "...................." ("base", xpos="far_left", ypos="head") - gen "(Is she getting off on this or is she being sarcastic? I don't get it...)" ("base", xpos="far_left", ypos="head") - her "*mmmh*............" ("open", "happyCl", "worried", "R", cheeks="blush", tears="messy") + gen "(Is she getting off from this, or is she being sarcastic? I don't get it...)" ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears messy "*Mmmh*............" ("open", "happyCl", "worried", "R") call ctc gen "That's enough..." ("base", xpos="far_left", ypos="head") - her "" ("annoyed", "base", "base", "mid", cheeks="blush", tears="messy") - gen "Just put your clothes back on, [hermione_name]. You're making me feel uncomfortable." ("base", xpos="far_left", ypos="head") - stop bg_sounds fadeout 4 + her @ cheeks blush tears messy "" ("annoyed", "base", "base", "mid") + gen "Just put your clothes back on, [name_hermione_genie]. You're making me feel uncomfortable." ("base", xpos="far_left", ypos="head") + stop background fadeout 4 her "..." # Reset pose - $ hermione.set_body_zorder(armright=0) - $ hermione.set_body(armleft="down", armright="down") $ hermione.set_pose(None) - $ hermione.strip("all") + $ hermione.strip("clothes") - her "As you wish, [genie_name]..." ("annoyed", "narrow", "angry", "R", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "As you wish, [name_genie_hermione]..." ("annoyed", "narrow", "angry", "R") stop music fadeout 3.0 @@ -438,24 +439,20 @@ label ball_quest_E1: hide screen blkfade with d5 - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed - her "So... does this mean I'm officially in charge of this year's \"Autumn Ball Organization Committee\" now?" ("base", "happyCl", "base", "mid", xpos="right", ypos="base") + her "So... Does this mean I'm officially in charge of this year's \"Autumn Ball Organization Committee\" now?" ("base", "happyCl", "base", "mid", xpos="right", ypos="base") gen "That you are." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]! You will not regret this, I promise!" + her "Thank you [name_genie_hermione]! You will not regret this, I promise!" if d_flag_03: - call blktone - gen "(That was weird... she sure changed her mood quick.)" ("base", xpos="far_left", ypos="head") - gen "(Maybe she gets off on being humiliated...)" ("base", xpos="far_left", ypos="head") + gen "(That was weird... She sure changed her mood quick.)" ("base", xpos="far_left", ypos="head") + gen "(Maybe she gets off from being humiliated...)" ("base", xpos="far_left", ypos="head") gen "(Guess I'll have to find out.)" ("base", xpos="far_left", ypos="head") - call hide_blktone else: - call blktone gen "{size=-4}(Why would I?){/size}" ("base", xpos="far_left", ypos="head") gen "{size=-4}(I couldn't care less about the whole thing...){/size}" ("base", xpos="far_left", ypos="head") - call hide_blktone her "Well, I'd better go now. I have so many arrangements to make!" ("grin", "base", "base", "R") - gen "By all means, [hermione_name]. Have a nice day." ("base", xpos="far_left", ypos="head") + gen "By all means, [name_hermione_genie]. Have a nice day." ("base", xpos="far_left", ypos="head") call her_walk(action="leave") pause.5 @@ -465,9 +462,9 @@ label ball_quest_E1: gen "A ball, *huh*?" ("base", xpos="far_left", ypos="head") gen "I wonder if I will have to show up for that..." ("base", xpos="far_left", ypos="head") - $ ball_quest.E1_complete = True + $ states.her.ev.yule_ball.e1_complete = True - $ hermione_busy = True + $ states.her.busy = True $ ss_event_pause += 2 # Next event happens in 2 days. jump end_hermione_event @@ -481,7 +478,7 @@ label ball_quest_E2: call sna_walk(action="enter", xpos="mid", ypos="base") pause.2 - call play_music("snape") + play music "music/Dark Fog.ogg" fadein 1 if_changed sna "Are you bloody insane?!" ("snape_01", xpos="base", ypos="base") gen "You know, sometimes I think I may be..." ("base", xpos="far_left", ypos="head") @@ -489,15 +486,14 @@ label ball_quest_E2: gen "I'm guessing that's bad?" ("base", xpos="far_left", ypos="head") sna "Bad?{w} {size=+5}BAD?!{/size}" ("snape_10") sna "{size=+5}That's a catastrophe!{/size}" ("snape_15") - sna "last year's ball was completely horrible!" ("snape_16") + sna "Last year's ball was completely horrible!" ("snape_16") gen "Was it? I heard differently..." ("base", xpos="far_left", ypos="head") sna "Oh really? And who told you that?" ("snape_10") - gen "not a very reliable source apparently..." ("base", xpos="far_left", ypos="head") + gen "Not a very reliable source apparently..." ("base", xpos="far_left", ypos="head") sna "Dammit... Dammit all to hell..." ("snape_08") sna "I had big plans for the thing..." ("snape_07") gen "Really? Like what?" ("base", xpos="far_left", ypos="head") sna "Oh, that doesn't matter now..." ("snape_06") - #sna "The girl is a complete control freak..." sna "Now the girl will use the prefects or the ghosts to keep an eye on me throughout entire thing..." gen "Right, that reminds me..." ("base", xpos="far_left", ypos="head") gen "Am I supposed to show up as well?" ("base", xpos="far_left", ypos="head") @@ -521,10 +517,9 @@ label ball_quest_E2: sna "And since you are my boss..." sna "I don't know why I even bother teaching those so-called students..." ("snape_06") gen "To maintain the charade?" ("base", xpos="far_left", ypos="head") - gen "for the Same reason why I never leave this room...?" ("base", xpos="far_left", ypos="head") sna "Right..." ("snape_05") sna "But you know what else could endanger our little enterprise?" - sna "Me losing it during class and strangling a couple of Gryffindor maggots with my bare hands..." ("snape_07") + sna "Me losing it during class, and strangling a couple of Gryffindor maggots with my bare hands..." ("snape_07") gen "*Hmm*... I see your point..." ("base", xpos="far_left", ypos="head") sna "Seriously, man... I need a drink..." ("snape_06") @@ -535,23 +530,23 @@ label ball_quest_E2: show screen with_snape(ani=False) $ chair_OBJ.hidden = True - $ fire_in_fireplace = True + $ states.fireplace_started = True $ fireplace_OBJ.foreground = "fireplace_fire" call sna_chibi("hide") hide screen bld1 call hide_blkfade call bld - call nar(">Professor Snape spends the day in your chamber, drinking the stress away.") + nar "Professor Snape spends the day in your chamber, drinking the stress away." - if sna_friendship < 100: - call nar(">Your relationship with him has improved.") - $ sna_friendship +=1 + if states.sna.level < 100: + nar "Your relationship with him has improved." + $ states.sna.level +=1 $ ss_event_pause += 2 $ hg_event_pause += 1 - $ ball_quest.E2_complete = True + $ states.her.ev.yule_ball.e2_complete = True $ chair_OBJ.hidden = False $ fireplace_OBJ.foreground = None @@ -562,34 +557,34 @@ label ball_quest_E3: call her_walk(action="enter", xpos="mid", ypos="base") - call play_music("chipper_doodle") - her "My parents sent me the wrong dress!" ("angry", "base", "base", "mid", tears="soft", xpos="right", ypos="base") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed + her @ tears soft "My parents sent me the wrong dress!" ("angry", "base", "base", "mid", xpos="right", ypos="base") gen "Are You kidding me!?" ("base", xpos="far_left", ypos="head") - her "They sent me the dress I wore to the ball last year..." ("angry", "base", "base", "mid", tears="soft") + her @ tears soft "They sent me the dress I wore to the ball last year..." ("angry", "base", "base", "mid") gen "Those inconsiderate bastards!" ("base", xpos="far_left", ypos="head") - her "Are you making fun of me [genie_name]?" ("mad", "base", "worried", "mid", tears="soft") + her @ tears soft "Are you making fun of me [name_genie_hermione]?" ("mad", "base", "worried", "mid") gen "Can you blame me?" ("base", xpos="far_left", ypos="head") - her "I will become the laughingstock of Hogwarts! *Sob*!" ("clench", "base", "worried", "mid", cheeks="blush", tears="soft") - her "My reputation is as good as ruined! *Sob*!" ("angry", "narrow", "base", "dead", cheeks="blush", tears="crying") - gen "Seriously? After all the favours you sold me you care about a thing like this?" ("base", xpos="far_left", ypos="head") - her "Wearing the same dress to the \"Autumn Ball\" for two years in a row would be more humiliating than any favour I sold you so far, [genie_name]." ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") + her @ cheeks blush tears soft "I will become the laughingstock of Hogwarts! *Sob*!" ("clench", "base", "worried", "mid") + her @ cheeks blush tears crying "My reputation is as good as ruined! *Sob*!" ("angry", "narrow", "base", "dead") + gen "Seriously? After all the favours you've sold me, you care about a thing like this?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears crying "Wearing the same dress to the \"Autumn Ball\" for two years in a row would be more humiliating than any favour I sold you so far, [name_genie_hermione]." ("shock", "narrow", "base", "down") with hpunch gen "You've gotta be kidding me..." ("angry", xpos="far_left", ypos="head") - her "Oh, you wouldn't understand..." ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") - her "You're just like my father!" ("scream", "base", "angry", "mid", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "Oh, you wouldn't understand..." ("angry", "squint", "base", "mid") + her @ cheeks blush tears messy "You're just like my father!" ("scream", "base", "angry", "mid") gen "I beg your pardon?" ("base", xpos="far_left", ypos="head") - her "I mean... *Ehm*..." ("open", "wide", "worried", "stare", cheeks="blush", tears="messy") - her "Forgive me [genie_name]..." - her "I don't know why I am telling you all of this..." ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") + her @ cheeks blush tears messy "I mean... *Ehm*..." ("open", "wide", "worried", "stare") + her "Forgive me [name_genie_hermione]..." + her @ cheeks blush tears crying "I don't know why I am telling you all of this..." ("shock", "narrow", "base", "down") gen "................" ("base", xpos="far_left", ypos="head") - her "......................*sob*!" ("angry", "narrow", "base", "dead", cheeks="blush", tears="crying") - her "I think I'd better go now...*sob*" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") - gen "Well, don't let me keep you a moment longer, [hermione_name]..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears crying "......................*sob*!" ("angry", "narrow", "base", "dead") + her @ cheeks blush tears messy "I think I'd better go now...*sob*" ("angry", "squint", "base", "mid") + gen "Well, don't let me keep you a moment longer, [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") call her_walk("door", "base") pause.3 - her "(My life is ruined...)" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy", ypos="head", flip=False) + her @ cheeks blush tears messy "(My life is ruined...)" ("angry", "squint", "base", "mid", flip=True) pause.1 call her_chibi("leave") @@ -601,10 +596,11 @@ label ball_quest_E3: gen ".............." ("base", xpos="far_left", ypos="head") gen "Schoolgirls..." ("base", xpos="far_left", ypos="head") - $ hermione_busy = True + $ states.her.busy = True $ hg_event_pause += 1 + $ states.her.mood += 5 - $ ball_quest.E3_complete = True + $ states.her.ev.yule_ball.e3_complete = True jump end_hermione_event @@ -614,14 +610,14 @@ label ball_quest_E4: call her_walk(action="enter", xpos="mid", ypos="base") - call play_music("chipper_doodle") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed call bld - gen "[hermione_name]?" ("base", xpos="far_left", ypos="head") - her "Sorry to disturb you [genie_name]..." ("open", "base", "worried", "mid", xpos="right", ypos="base") + gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head") + her "Sorry to disturb you [name_genie_hermione]..." ("open", "base", "worried", "mid", xpos="right", ypos="base") her "I came to apologise for my..." ("open", "base", "worried", "R") - her "... My hysterical behaviour yesterday." + her "... My hysterical behaviour the other day." gen "Sure thing, don't worry about it." ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("open", "base", "base", "mid") + her "Thank you, [name_genie_hermione]." ("open", "base", "base", "mid") her "Still, I cannot help but feel awful for causing a scene..." ("open", "closed", "angry", "mid") gen "So the issue has been resolved then?" ("base", xpos="far_left", ypos="head") her "Not really..." ("open", "base", "worried", "mid") @@ -630,13 +626,13 @@ label ball_quest_E4: her "But it is not really a big deal..." ("annoyed", "narrow", "worried", "down") her "I'm just overreacting..." - call play_music("despair") + play music "music/Despair_by_erenik.ogg" fadein 1 if_changed her "I won't be able to attend the ball this year... so what?" ("annoyed", "narrow", "worried", "down") her "I spent countless hours organising the event..." ("normal", "happyCl", "worried", "mid") - her "I worked so hard... and..." ("open", "base", "worried", "mid", tears="soft") - her "And now I will not even be able to...{w=0.3} to...{w=0.4} *Sob*!" ("shock", "base", "base", "R", cheeks="blush", tears="soft") - her "To... *SOB*!" ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") - her "Excuse me [genie_name]!" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + her @ tears soft "I worked so hard... And..." ("open", "base", "worried", "mid") + her @ cheeks blush tears soft "And now I will not even be able to...{w=0.3} To...{w=0.4} *Sob*!" ("shock", "base", "base", "R") + her @ cheeks blush tears crying "To... *SOB*!" ("shock", "narrow", "base", "down") + her @ cheeks blush tears messy "Excuse me [name_genie_hermione]!" ("angry", "squint", "base", "mid") hide hermione_main hide screen bld1 with d3 @@ -646,19 +642,19 @@ label ball_quest_E4: call her_walk(action="run", xpos="door", speed=2, reduce=True) call her_chibi("leave") - call bld gen "......................................." ("base", xpos="far_left", ypos="head") - gen "*Hmm*..." ("base", xpos="far_left", ypos="head") + gen "(*Hmm*...)" ("base", xpos="far_left", ypos="head") if clothing_store_intro_done: - gen "Maybe I should pay Madam Mafkin a visit and ask for a dress..." ("base", xpos="far_left", ypos="head") + gen "(Maybe I should pay Madam Mafkin a visit and ask for a dress...)" ("base", xpos="far_left", ypos="head") else: - gen "Maybe I should look around the castle and see if I can procure a dress for her." ("base", xpos="far_left", ypos="head") + gen "(Maybe I should look around the castle and see if I can procure a dress for her.)" ("base", xpos="far_left", ypos="head") - $ hermione_busy = True + $ states.her.busy = True $ hg_event_pause += 1 + $ states.her.mood += 5 - $ ball_quest.E4_complete = True + $ states.her.ev.yule_ball.e4_complete = True $ her_outfit_ball.price = 1000 # Unlocks it in the store jump end_hermione_event @@ -670,43 +666,43 @@ label ball_quest_E5: stop music fadeout 1.0 gen "Here... This is for you..." ("base", xpos="far_left", ypos="head") - call give_reward(_(">You give the ball dress to Hermione..."),"interface/icons/box_red_1.webp") + call give_reward("You give the ball dress to Hermione...","interface/icons/box_red_1.webp") her "*Hmm*...? What is this?" ("base", "base", "base", "mid") her "{size=+7}A DRESS?!{/size}" ("angry", "wide", "base", "stare") with hpunch gen "I thought that you--" ("base", xpos="far_left", ypos="head") - call play_music("chipper_doodle") # HERMIONE'S THEME. - her "[genie_name]!" ("angry", "base", "base", "mid", tears="soft") + play music "music/Chipper Doodle v2.ogg" fadein 1 if_changed # HERMIONE'S THEME. + her @ tears soft "[name_genie_hermione]!" ("angry", "base", "base", "mid") gen "What? What happened? Don't tell me it's the wrong colour or something!" ("angry", xpos="far_left", ypos="head") - her "It's perfect, [genie_name]...*sob*!" ("angry", "base", "base", "mid", tears="soft") - her "It's perfect... *sob*!... I love it." + her @ tears soft "It's perfect, [name_genie_hermione]...*sob*!" ("angry", "base", "base", "mid") + her "It's perfect... *Sob*!... I love it." gen "You sure don't look like it..." ("base", xpos="far_left", ypos="head") - her "I am sorry, [genie_name]... *Sob*!" - her "I... I am just..." ("clench", "base", "worried", "mid", cheeks="blush", tears="soft") - her "I am so happy..." ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") - her "Thank you, [genie_name]. Thank you so much." - her "I cannot believe that you would do something like that for me..." ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") - gen "Well, I did. Now stop crying." ("base", xpos="far_left", ypos="head") - her "I can't, [genie_name]. I am so happy and so grateful..." ("scream", "happyCl", "worried", "mid", cheeks="blush", tears="messy") - her "Do you want me to suck your cock, [genie_name]?" ("open", "wide", "worried", "stare", cheeks="blush", tears="messy") + her "I am sorry, [name_genie_hermione]... *Sob*!" + her @ cheeks blush tears soft "I... I am just..." ("clench", "base", "worried", "mid") + her @ cheeks blush tears crying "I am so happy..." ("shock", "narrow", "base", "down") + her "Thank you, [name_genie_hermione]. Thank you so much." + her @ cheeks blush tears messy "I cannot believe that you would do something like that for me..." ("angry", "squint", "base", "mid") + gen "Well, I did... Now stop crying." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears messy "I can't, [name_genie_hermione]. I am so happy and so grateful..." ("scream", "happyCl", "worried", "mid") + her @ cheeks blush tears messy "Do you want me to suck your cock, [name_genie_hermione]?" ("open", "wide", "worried", "stare") gen "What?" ("base", xpos="far_left", ypos="head") - her "Because I will do it!" ("open", "wide", "worried", "stare", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "Because I will do it!" ("open", "wide", "worried", "stare") her "And I will swallow and everything!" - her "And you wouldn't have to pay me a single house point!" ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") + her @ cheeks blush tears crying "And you wouldn't have to pay me a single house point!" ("shock", "narrow", "base", "down") gen "*Uhm*... Maybe some other time..." ("base", xpos="far_left", ypos="head") gen "This is not the type of crying I find arousing..." ("base", xpos="far_left", ypos="head") - her "I'm sorry, [genie_name]. I'm such a mess..." ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") - her "But this is so unexpected..." ("shock", "narrow", "base", "down", cheeks="blush", tears="crying") - her "You made me so happy, [genie_name]... *sob*!" - her "Thank you [genie_name]! *SOB*! Thank you! *SOB*!" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "I'm sorry, [name_genie_hermione]. I'm such a mess..." ("angry", "squint", "base", "mid") + her @ cheeks blush tears crying "But this is so unexpected..." ("shock", "narrow", "base", "down") + her "You made me so happy, [name_genie_hermione]... *sob*!" + her @ cheeks blush tears messy "Thank you [name_genie_hermione]! *SOB*! Thank you! *SOB*!" ("angry", "squint", "base", "mid") gen "Well... *Err*... There, there..." ("base", xpos="far_left", ypos="head") - gen "Better stop crying before you stain that new dress of yours with those tears..." ("base", xpos="far_left", ypos="head") - her "My new dress! *SOB*!" ("scream", "happyCl", "worried", "mid", cheeks="blush", tears="messy") + gen "Better stop crying before you stain that new dress of yours..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush tears messy "My new dress! *SOB*!" ("scream", "happyCl", "worried", "mid") gen "Alright, you know what? Just get out of my office." ("base", xpos="far_left", ypos="head") gen "Just take your dress and leave." ("base", xpos="far_left", ypos="head") - her "Of course... I am sorry, [genie_name]!" ("angry", "squint", "base", "mid", cheeks="blush", tears="messy") + her @ cheeks blush tears messy "Of course... I am sorry, [name_genie_hermione]!" ("angry", "squint", "base", "mid") hide hermione_main hide screen bld1 with d3 @@ -725,7 +721,7 @@ label ball_quest_E5: $ hg_event_pause += 2 - $ ball_quest.gave_dress = True + $ states.her.ev.yule_ball.gave_dress = True $ ball_outfit_ITEM.used = True jump end_hermione_event diff --git a/game/scripts/events/labels.rpy b/game/scripts/events/labels.rpy index 2130ac59..41bc04c1 100644 --- a/game/scripts/events/labels.rpy +++ b/game/scripts/events/labels.rpy @@ -3,7 +3,7 @@ label setup_fireplace_hangout(char=None): if not game.daytime: # Night time show screen blkfade - $ fire_in_fireplace = True + $ states.fireplace_started = True $ fireplace_OBJ.foreground = "fireplace_fire" call hide_characters @@ -12,7 +12,7 @@ label setup_fireplace_hangout(char=None): call ton_chibi("hide") else: # game.daytime - stop bg_sounds + stop background show screen blkfade call hide_characters @@ -36,7 +36,7 @@ label setup_fireplace_hangout(char=None): return label slap_her: - call play_sound("slap") #SLAP! + play sound "sounds/slap_02.ogg" #SLAP! show screen white with hpunch pause.08 @@ -45,14 +45,14 @@ label slap_her: return label kiss_her: - call play_sound("kiss") #Kiss! + play sound "sounds/kiss.ogg" #Kiss! with hpunch pause.08 return label spit_on_her: - call play_sound("spit") #Kiss! + play sound "sounds/spit.ogg" #Kiss! show screen white pause.2 hide screen white @@ -65,7 +65,7 @@ label cast_spell(spell=""): if spell in ["revelio","imperio"]: stop music fadeout 2.0 - call play_sound("spell") + play sound "sounds/magic2.ogg" show screen white pause.1 hide screen white @@ -90,47 +90,48 @@ label increase_house_points(house, points): call notes if house.startswith("g"): $ gryffindor += points - ">Gryffindor has received {number=points} house points today!" + nar "Gryffindor has received {number=points} house points today!" elif house.startswith("h"): $ hufflepuff += points - ">Hufflepuff has received {number=points} house points today!" + nar "Hufflepuff has received {number=points} house points today!" elif house.startswith("r"): $ ravenclaw += points - ">Ravenclaw has received {number=points} house points today!" + nar "Ravenclaw has received {number=points} house points today!" else: $ slytherin += points - ">Slytherin has received {number=points} house points today!" + nar "Slytherin has received {number=points} house points today!" return #TODO Check and fix teleport/heal effect position (chibis are now anchored bottom-left) label teleport(position=None,effect=True,poof_label=None): - if position == "genie": - $ teleport_xpos = genie_chibi.pos[0]+75 - $ teleport_ypos = genie_chibi.pos[1] - $ teleport_zorder = 3 - elif position == "hermione": - $ teleport_xpos = hermione_chibi.pos[0]+45 - $ teleport_ypos = hermione_chibi.pos[1] - $ teleport_zorder = 3 - elif position == "cho": - $ teleport_xpos = cho_chibi.pos[0]+45 - $ teleport_ypos = cho_chibi.pos[1] - $ teleport_zorder = 3 - elif position == "astoria": - $ teleport_xpos = astoria_chibi.pos[0]+45 - $ teleport_ypos = astoria_chibi.pos[1] - $ teleport_zorder = 3 - elif position == "desk": - $ teleport_xpos = 320 - $ teleport_ypos = 450 - $ teleport_zorder = 5 - else: - $ teleport_xpos = position[0] - $ teleport_ypos = position[1] - $ teleport_zorder = 2 + python: + if position == "genie": + teleport_xpos = genie_chibi.pos[0]+75 + teleport_ypos = genie_chibi.pos[1] + teleport_zorder = 3 + elif position == "hermione": + teleport_xpos = hermione_chibi.pos[0]+45 + teleport_ypos = hermione_chibi.pos[1] + teleport_zorder = 3 + elif position == "cho": + teleport_xpos = cho_chibi.pos[0]+45 + teleport_ypos = cho_chibi.pos[1] + teleport_zorder = 3 + elif position == "astoria": + teleport_xpos = astoria_chibi.pos[0]+45 + teleport_ypos = astoria_chibi.pos[1] + teleport_zorder = 3 + elif position == "desk": + teleport_xpos = 320 + teleport_ypos = 450 + teleport_zorder = 5 + else: + teleport_xpos = position[0] + teleport_ypos = position[1] + teleport_zorder = 2 if effect == True: - $ renpy.play('sounds/magic4.ogg') + play sound "sounds/magic4.ogg" show screen whitefade with d1 diff --git a/game/scripts/events/map.rpy b/game/scripts/events/map.rpy index d81feff0..42697ef3 100644 --- a/game/scripts/events/map.rpy +++ b/game/scripts/events/map.rpy @@ -1,38 +1,37 @@ label map_attic: - if tentacle_sample: + if states.her.ev.sealed_scroll.sample: gen "(I have no reason to go there anymore.)" ("base", xpos="far_left", ypos="head") jump desk else: - $ tentacle_sample = True + $ states.her.ev.sealed_scroll.sample = True - call blkfade - gen "(The attic huh...)" ("base", xpos="far_left", ypos="head") + gen "(The attic, *huh*...)" ("base", xpos="far_left", ypos="head") gen "(I guess I could check it out.)" ("base", xpos="far_left", ypos="head") stop music fadeout 3.0 stop weather fadeout 3.0 pause 1.0 - call play_sound("walking") + play sound "sounds/run_04.ogg" play weather "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 - ">You find your way through the winding staircases to the attic door." + nar "You find your way through the winding staircases to the attic door." gen "*Hmm*... hopefully this is the right place to use that key." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/pulse.ogg" - ">As you approach the door the lock begins to glow..." - ">Looking down at the key in your hand you notice the same glow around the key..." + play background "sounds/pulse.ogg" + nar "As you approach the door, the lock begins to glow..." + nar "Looking down at the key in your hand, you notice the same glow around the key..." gen "Well, this has to be it then..." ("base", xpos="far_left", ypos="head") - stop bg_sounds fadeout 2.0 - call play_sound("lock") + stop background fadeout 2.0 + play sound "sounds/09_lock.ogg" pause 2.0 - call play_sound("door") - ">After unlocking the door you're presented to a dusty room filled with random junk and knick-knacks." - $ renpy.sound.play("sounds/cough_male.ogg") - gen "...*cough* *cough*..." ("open", xpos="far_left", ypos="head") + play sound "sounds/door.ogg" + nar "After unlocking the door, you're presented with a dusty room filled with random junk and knick-knacks." + play sound "sounds/cough_male.ogg" + gen "...*Cough* *Cough*..." ("open", xpos="far_left", ypos="head") gen "This room is just filled with random junk and knick-knacks!" ("angry", xpos="far_left", ypos="head") - gen "(So now what... I'm supposed to take a piece of something and use with this scroll?)" ("base", xpos="far_left", ypos="head") + gen "(So now what... Am I supposed to take a piece of something and use with this scroll?)" ("base", xpos="far_left", ypos="head") gen "(I don't even know what the scroll is supposed to do, how am I going to find what it wants me to use!)" ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") gen "(Screw it... I'm just going to cheat and check the item description in my inventory.)" ("base", xpos="far_left", ypos="head") @@ -40,33 +39,32 @@ label map_attic: gen "(Turns the user into a magical tentacle plant with the usage of living plant material.)" ("base", xpos="far_left", ypos="head") gen "Well, well... that could be useful..." ("base", xpos="far_left", ypos="head") gen "So I guess this tentacle plant should be here somewhe--" ("base", xpos="far_left", ypos="head") - ">As you scan the room you notice a slender piece of vine poking out from behind some crates, as if to avoid the light." + nar "As you scan the room, you notice a slender piece of vine poking out from behind some crates, as if to avoid the light." gen "This must be it." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slash.ogg") - ">You make a clean cut just when..{nw}" - $ renpy.play("sounds/mondead.ogg") - ">You make a clean cut just when..{fast}" + play sound "sounds/slash.ogg" + nar "You make a clean cut, when suddenly...{nw}" + play sound "sounds/mondead.ogg" + nar "You make a clean cut, when suddenly...{fast}" gen "I better get the fuck out of here." ("angry", xpos="far_left", ypos="head") - $ renpy.play("sounds/mon.ogg") - ">As you shut the door you hear the room erupt in a series of loud crashes and growling." + play sound "sounds/mon.ogg" + nar "As you shut the door, you hear the room erupt in a series of loud crashes and growling." - call play_sound("walking") - "> You hastily make your way towards your office." + play sound "sounds/run_04.ogg" + nar "You hastily make your way towards your office." call gen_walk(action="enter") - call hide_blkfade stop weather call music_block - gen "(A tentacle plant and a body-bending magical scroll huh...)" ("base", xpos="far_left", ypos="head") - gen "(Maybe I could use it to have some fun with Granger...)" ("grin", xpos="far_left", ypos="head") + gen "(A tentacle plant and a body-bending magical scroll, *huh*...)" ("base", xpos="far_left", ypos="head") + gen "(Maybe I could use it to have some fun with Miss Granger...)" ("grin", xpos="far_left", ypos="head") menu: - gen "(Question is... Should I use it now or save it for later?)" ("base", xpos="far_left", ypos="head") + gen "(Question is... Should I use it now, or save it for later?)" ("base", xpos="far_left", ypos="head") "-Use it now-": if game.daytime: - if not hermione_busy: + if not states.her.busy: gen "Yes, there's no time like the present..." ("grin", xpos="far_left", ypos="head") gen "I'll just grab a seat first." ("base", xpos="far_left", ypos="head") @@ -76,9 +74,9 @@ label map_attic: jump tentacle_scene_intro else: - gen "(On second thought... she's probably busy right now.)" ("base", xpos="far_left", ypos="head") + gen "(On second thought... She's probably busy right now.)" ("base", xpos="far_left", ypos="head") else: - gen "(It's a bit late... Miss granger wont be having any classes right now...)" ("base", xpos="far_left", ypos="head") + gen "(It's a bit late... Miss Granger won't be having any classes right now...)" ("base", xpos="far_left", ypos="head") "-Save for later-": pass @@ -103,29 +101,29 @@ label map_forest: "-Search the area-": $ ran = renpy.random.random() if ran < 0.3: - ">You search around the forest and manage to find an odd-looking herb." + nar "You search around the forest and manage to find an odd-looking herb." gen "This must be wormwood." ("base", xpos="far_left", ypos="head") menu: "-Take the wormwood-": - ">You gain 1 wormwood." + nar "You gain 1 wormwood." $ potion_inv.add("ing_wormwood") "-Leave it-": pass - ">Finding nothing else of interest you return to your office." + nar "Finding nothing else of interest, you return to your office." jump return_office elif ran < 0.6: - ">You search around the forest and manage to find an odd-looking herb." + nar "You search around the forest and manage to find an odd-looking herb." gen "This must be Knotgrass." ("base", xpos="far_left", ypos="head") menu: "-Take the Knotgrass-": - ">You gain 1 Knotgrass." + nar "You gain 1 Knotgrass." $ potion_inv.add("ing_knotgrass") "-Leave it-": pass - ">Finding nothing else of interest you return to your office." + nar "Finding nothing else of interest, you return to your office." jump return_office else: - ">You search around the forest but find nothing of interest." + nar "You search around the forest but find nothing of interest." jump return_office @@ -142,29 +140,29 @@ label map_lake: "-Search the area-": $ ran = renpy.random.random() if ran < 0.3: - ">You search around the lake and manage to find an slender, green vine." + nar "You search around the lake and manage to find an slender, green vine." gen "This must be Niffler's fancy." ("base", xpos="far_left", ypos="head") menu: "-Take the Niffler's fancy-": - ">You gain 1 Niffler's fancy." + nar "You gain 1 Niffler's fancy." $ potion_inv.add("ing_niffler_fancy") "-Leave it-": pass - ">Finding nothing else of interest you return to your office." + nar "Finding nothing else of interest, you return to your office." jump return_office elif ran < 0.6: - ">You search around the lake and manage to find an exposed root that looks similar to ginger." + nar "You search around the lake and manage to find an exposed root that looks similar to ginger." gen "This must be Root of Aconite." ("base", xpos="far_left", ypos="head") menu: "-Take the Root of Aconite-": - ">You gain 1 Root of Aconite." + nar "You gain 1 Root of Aconite." $ potion_inv.add("ing_aconite_root") "-Leave it-": pass - ">Finding nothing else of interest you return to your office." + nar "Finding nothing else of interest, you return to your office." jump return_office else: - ">You search around the lake but find nothing of interest." + nar "You search around the lake but find nothing of interest." jump return_office @@ -178,18 +176,18 @@ label gryffindor_dormitories: "-Search the area-":#Cat Hair $ ran = renpy.random.random() if ran < 0.3: - ">You search around the dorms and manage to find a clump of bright orange fur." + nar "You search around the dorms and manage to find a clump of bright orange fur." gen "This must belong to some sort of animal." ("base", xpos="far_left", ypos="head") menu: "-Take the Fur-": - ">You gain 1 Cat Fur." + nar "You gain 1 Cat Fur." $ potion_inv.add("ing_cat_hair") "-Leave it-": pass - ">Finding nothing else of interest you return to your office." + nar "Finding nothing else of interest you return to your office." jump return_office else: - ">You search around the dorms but find nothing of interest." + nar "You search around the dorms but find nothing of interest." jump return_office @@ -203,52 +201,53 @@ label ravenclaw_dormitories: "-Search the area-":#Luna's Hair $ ran = renpy.random.random() if ran < 0.3: - ">You search around the dorms and manage to find an comb with some hair in it." + nar "You search around the dorms and manage to find a comb with some hair in it." gen "This must be someone's hair." ("base", xpos="far_left", ypos="head") menu: "-Take the hair-": - ">You gain 1 Luna's Hair." + nar "You gain 1 Luna's Hair." $ potion_inv.add("ing_luna_hair") "-Leave it-": pass - ">Finding nothing else of interest you return to your office." + nar "Finding nothing else of interest you return to your office." jump return_office else: - ">You search around the dorms but find nothing of interest." + nar "You search around the dorms but find nothing of interest." jump return_office -label map_pitch: - if pitch_open: - hoo "Hello Professor Dumbledore, nice to see you out of your office today." - hoo "What brings you down to the Quidditch pitch today?" - gen "Quidditch, what sort of name is that?" ("base", xpos="far_left", ypos="head") #put in low talking tone - hoo "What was that?" - gen "Nothing, just commenting about the weather." ("base", xpos="far_left", ypos="head") #Maybe change this - hoo "Well I'm glad that you're here. I wanted to have words with you about a problem that I'm having at the moment." - gen "What's wrong?" ("base", xpos="far_left", ypos="head") - hoo "Attendance at quidditch matches has slowly been declining over the last couple of months." - hoo "Students just don't seem to want to turn up to watch their teams play. It's affecting team morale." - gen "And how would you like to fix this?" ("base", xpos="far_left", ypos="head") - hoo "Perhaps we could make attendance to the match mandatory." - gen "I don't think it would work. If I did that you would just end up with a lot of disgruntled students booing your own team." ("base", xpos="far_left", ypos="head") - gen "If poor attendance is affecting morale I would hate to think what that would do to the players." ("base", xpos="far_left", ypos="head") - hoo "Well then what do you suggest?" - gen "You need a way to attract and excite the crowd. To get the students here and to get them cheering." ("base", xpos="far_left", ypos="head") - gen "What you need is a cheerleading team." ("base", xpos="far_left", ypos="head") - hoo "A what?" - gen "A team of girls to dance and cheer for their team. To get their fellow students brimming with enthusiasm." ("base", xpos="far_left", ypos="head") - hoo "I'm not sure Sir, Hogwarts has always been a traditional school." - hoo "Something like this goes in the face of that legacy." - gen "Well if you feel that way then I think you might just have to accept the declining number of students watching the game." ("base", xpos="far_left", ypos="head") - hoo "Fine, but I'm not comfortable with a team of these \"\Cheerleaders\"\. At most I'd be comfortable with one girl dancing." #Maybe adjust this so that there is a team - gen "Well I think I have the perfect candidate. I'll send her over next practice session to try out." ("base", xpos="far_left", ypos="head") - hoo "Okay, just make sure she's wearing something appropriate." - $ pitch_first = False - jump return_office - else: - ">You look around the open field but can't see any students or teachers." - gen "Mustn't be a practice day." ("base", xpos="far_left", ypos="head") - jump return_office +# Unreachable code +# +# label map_pitch: +# if states.map.quidditch_pitch.unlocked: +# hoo "Hello Professor Dumbledore, nice to see you out of your office today." +# hoo "What brings you down to the Quidditch pitch today?" +# gen "Quidditch, what sort of name is that?" ("base", xpos="far_left", ypos="head") #put in low talking tone +# hoo "What was that?" +# gen "Nothing, just commenting about the weather." ("base", xpos="far_left", ypos="head") #Maybe change this +# hoo "Well I'm glad that you're here. I wanted to have words with you about a problem that I'm having at the moment." +# gen "What's wrong?" ("base", xpos="far_left", ypos="head") +# hoo "Attendance at quidditch matches has slowly been declining over the last couple of months." +# hoo "Students just don't seem to want to turn up to watch their teams play. It's affecting team morale." +# gen "And how would you like to fix this?" ("base", xpos="far_left", ypos="head") +# hoo "Perhaps we could make attendance to the match mandatory." +# gen "I don't think it would work. If I did that you would just end up with a lot of disgruntled students booing your own team." ("base", xpos="far_left", ypos="head") +# gen "If poor attendance is affecting morale I would hate to think what that would do to the players." ("base", xpos="far_left", ypos="head") +# hoo "Well then what do you suggest?" +# gen "You need a way to attract and excite the crowd. To get the students here and to get them cheering." ("base", xpos="far_left", ypos="head") +# gen "What you need is a cheerleading team." ("base", xpos="far_left", ypos="head") +# hoo "A what?" +# gen "A team of girls to dance and cheer for their team. To get their fellow students brimming with enthusiasm." ("base", xpos="far_left", ypos="head") +# hoo "I'm not sure Sir, Hogwarts has always been a traditional school." +# hoo "Something like this goes in the face of that legacy." +# gen "Well if you feel that way then I think you might just have to accept the declining number of students watching the game." ("base", xpos="far_left", ypos="head") +# hoo "Fine, but I'm not comfortable with a team of these \"\Cheerleaders\"\. At most I'd be comfortable with one girl dancing." #Maybe adjust this so that there is a team +# gen "Well I think I have the perfect candidate. I'll send her over next practice session to try out." ("base", xpos="far_left", ypos="head") +# hoo "Okay, just make sure she's wearing something appropriate." +# jump return_office +# else: +# nar "You look around the open field but can't see any students or teachers." +# gen "Mustn't be a practice day." ("base", xpos="far_left", ypos="head") +# jump return_office label outskirts_of_hogwarts: call blkfade @@ -262,16 +261,16 @@ label outskirts_of_hogwarts: centered "{size=+7}{color=#cbcbcb}Outskirts of Hogwarts{/color}{/size}" - call hide_screens + $ renpy.scene("screens") - play music "sounds/night.ogg" fadein 1 fadeout 1 #NIGHT SOUNDS. + play music "sounds/night.ogg" fadein 1 fadeout 1 #NIGHT SOUNDS. if_changed - $ dynamic_cg("ball", "171") + show her_ball outskirts as cg pause.3 call hide_blkfade pause.8 - call play_sound("walking_on_grass") - $ dynamic_cg("ball", "171", "172") + play sound "sounds/steps_grass.ogg" + show her_ball outskirts g1 as cg return @@ -280,7 +279,6 @@ label return_office: show screen blkfade with d3 - call update_interface_color pause.8 jump main_room diff --git a/game/scripts/events/potions/intro.rpy b/game/scripts/events/potions/intro.rpy index f046c1f6..0c25586f 100644 --- a/game/scripts/events/potions/intro.rpy +++ b/game/scripts/events/potions/intro.rpy @@ -1,22 +1,11 @@ -default snape_office_intro_E0 = False -default snape_office_intro_E1 = False -default snape_office_intro_E1_stage = 0 -default snape_office_intro_E2 = False - -default snape_station_examined = False -default snape_shelves_examined = False -default snape_picture_examined = False -default snape_statue_examined = False -default snape_desk_examined = False -default snape_candelabra_examined = False label potions_intro_E0: # (Optional) Genie gets caught by Snape, happens only during night time - $ snape_office_discovered = True + $ states.map.snape_office.visited = True - if not snape_office_intro_E0: + if not states.map.snape_office.intro_e1: # First time - $ snape_office_intro_E0 = True + $ states.map.snape_office.intro_e1 = True pause .5 $ snape_office_desk_OBJ.set_image("snape_desk_work_idle") @@ -30,10 +19,10 @@ label potions_intro_E0: $ snape_office_desk_OBJ.set_image("snape_desk_idle") with d3 - if mirror_intro_done: + if states.map.room_of_requirement.intro_e1: sna "Didn't I tell you not to leave your office?" ("snape_04") else: - sna "A bit far from your office don't you think?" ("snape_03") + sna "A bit far from your office, don't you think?" ("snape_03") sna "Are you sure it's wise for you to wander the dungeons?" ("snape_04") gen "*Err*...{w=0.4} So this isn't my office?" ("base", xpos="far_left", ypos="head") @@ -58,11 +47,11 @@ label potions_intro_E0: sna "You're talking about the paintings..." ("snape_03") sna "That would be Sir Cadogan and the fat lady." ("snape_24") gen "..." ("base", xpos="far_left", ypos="head") - gen "That's a bit rude don't you think?" ("base", xpos="far_left", ypos="head") + gen "That's a bit rude, don't you think?" ("base", xpos="far_left", ypos="head") sna "That's her name." ("snape_03") gen "Oh..." ("base", xpos="far_left", ypos="head") sna "Did you need something?" ("snape_04") - sna "You could just call for me you know." ("snape_05") + sna "You could just call for me, you know." ("snape_05") gen "Oh... Yes, Well I thought that it was a bit unfair to have you walk all the way to my office every time." ("base", xpos="far_left", ypos="head") sna "Is that so?" ("snape_44") gen "Yes..." ("base", xpos="far_left", ypos="head") @@ -94,7 +83,7 @@ label potions_intro_E0: gen "I'll just go then shall I?" ("base", xpos="far_left", ypos="head") sna "That would be for the best..." ("snape_04") "\"I just came to visit a friend.\"": - if sna_friendship <= 25: + if states.sna.level <= 25: sna "A friend? In here? Who are you--" ("snape_03") sna "*Oh*...{w=0.4} I see..." ("snape_04") gen "(That was cold...)" ("base", xpos="far_left", ypos="head") @@ -104,21 +93,21 @@ label potions_intro_E0: sna "Being a teacher is not an easy job." ("snape_06") gen "I know something about it." ("base", xpos="far_left", ypos="head") sna "You do?" ("snape_05") - gen "Yeah. I might tell you about it someday, but for now I'll leave you to it." ("base", xpos="far_left", ypos="head") + gen "Yeah. I might tell you about it someday, but for now, I'll leave you to it." ("base", xpos="far_left", ypos="head") sna "Right... In that case..." ("snape_04") "\"I like your office!\"": gen "Way nicer than the one I have." ("base", xpos="far_left", ypos="head") sna "Thanks. I always had a thing for interior design--" ("snape_23") sna "Hold up. You're doing it again!" ("snape_17") gen "Doing what?" ("base", xpos="far_left", ypos="head") - sna "Trying to talk your way out things and changing subjects!" ("snape_32") + sna "Trying to talk your way out of things and changing subjects!" ("snape_32") - if sna_friendship <= 25: + if states.sna.level <= 25: sna "If you don't have anything important to report I think you should leave." ("snape_31") gen "... Alright. I see how it is." ("base", xpos="far_left", ypos="head") else: sna "*Sigh*..." ("snape_06") - "\"Can I borrow your brewing station?\"" if snape_office_intro_E1: + "\"Can I borrow your brewing station?\"" if states.map.snape_office.intro_e2: gen "I thought I could use it to make some potions." ("base", xpos="far_left", ypos="head") sna "Hell no!" ("snape_03") gen "Why not?" ("base", xpos="far_left", ypos="head") @@ -135,15 +124,10 @@ label potions_intro_E0: else: gen "I know I've only been here for a little bit. But it's boring up there." ("base", xpos="far_left", ypos="head") - $ random_number = renpy.random.randint(1, 4) - - if random_number == 1: + random: gen "Where am I supposed to watch \"Great British bake off\"?" ("base", xpos="far_left", ypos="head") - elif random_number == 2: gen "I sleep so much better with \"Friends\" on in the background." ("base", xpos="far_left", ypos="head") - elif random_number == 3: gen "I need to know what the Kardashians are up to." ("base", xpos="far_left", ypos="head") - elif random_number == 4: gen "I was just about to start season six of \"Lost\", I need to know how it ends!" ("base", xpos="far_left", ypos="head") sna "I don't know what a \"Wife-I\" is, so I assume it's some muggle thing... Muggle electronics do not work at Hogwarts..." ("snape_03") @@ -161,7 +145,7 @@ label potions_intro_E0: sna "Genie... Didn't I tell you to call for me if you needed anything?" ("snape_03") gen "Ah, yes... My bad." ("base", xpos="far_left", ypos="head") - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "(Why is he always in his office?)" ("base", xpos="far_left", ypos="head") gen "(Maybe I should try snooping around when he's busy teaching...)" ("base", xpos="far_left", ypos="head") else: @@ -173,13 +157,13 @@ label potions_intro_E0: label potions_intro_E1: # Plays when you first enter the office and Snape is not there - $ snape_office_discovered = True + $ states.map.snape_office.visited = True - if snape_office_intro_E1_stage == 0: + if states.map.snape_office.intro_e2_stage == 0: # Before examination - $ snape_office_intro_E1_stage = 1 + $ states.map.snape_office.intro_e2_stage = 1 - if snape_office_intro_E0: + if states.map.snape_office.intro_e1: gen "(Great... No Snape in sight this time.)" ("base", xpos="far_left", ypos="head") else: pause .5 @@ -197,13 +181,13 @@ label potions_intro_E1: jump snape_office_menu - elif (snape_office_intro_E1_stage == 1 and - snape_station_examined and - snape_shelves_examined and - snape_picture_examined and - snape_statue_examined and - snape_desk_examined and - snape_candelabra_examined): + elif (states.map.snape_office.intro_e2_stage == 1 and + states.map.snape_office.station_examined and + states.map.snape_office.shelves_examined and + states.map.snape_office.picture_examined and + states.map.snape_office.statue_examined and + states.map.snape_office.desk_examined and + states.map.snape_office.candelabra_examined): # After examination @@ -216,8 +200,8 @@ label potions_intro_E1: call popup("You can now brew potions when Snape's not around!", "Congratulations!", "interface/icons/head/snape.webp") $ game.daytime = False - $ snape_office_intro_E1 = True - $ snape_office_intro_E1_stage = 2 + $ states.map.snape_office.intro_e2 = True + $ states.map.snape_office.intro_e2_stage = 2 jump return_office @@ -225,7 +209,7 @@ label potions_intro_E1: label potions_intro_E2: # Genie gets caught by the painting - $ snape_office_intro_E2 = True + $ states.map.snape_office.intro_e3 = True gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "Looks like the coast is clear..." ("base", xpos="far_left", ypos="head") @@ -239,7 +223,7 @@ label potions_intro_E2: gen "..." ("base", xpos="far_left", ypos="head") "\"Shut it Van Gogh...\"": - # Fun fact: This is a rare insult as Van Gogh has sold only but a single painting in his life time, he got famous only after his passing. + # Fun fact: This is a rare insult as Van Gogh has sold only but a single painting in his lifetime, he got famous only after his passing. pass "\"These bloody paintings...\"": gen "Whoever thought it was a good idea to make paintings talk should be drowned in paint..." ("angry", xpos="far_left", ypos="head") @@ -253,7 +237,7 @@ label potions_intro_E2: call sna_walk(action="enter", xpos="door", ypos="base", flip=True) sna "Genie!" - if snape_office_intro_E0: + if states.map.snape_office.intro_e1: gen "Quiet you, Only my friends get to call me that!" ("base", xpos="far_left", ypos="head") else: gen "Wait, how do you know my name?" ("base", xpos="far_left", ypos="head") @@ -268,7 +252,7 @@ label potions_intro_E2: play sound "sounds/malegasp.ogg" volume 0.40 gen "..." ("angry", xpos="far_left", ypos="head") - if snape_office_intro_E0: + if states.map.snape_office.intro_e1: sna "I thought I told you to call for me if you needed anything." ("snape_04", ypos="head", trans=d3) call gen_chibi("stand", flip=False) gen "That's weird..." ("base", xpos="far_left", ypos="head") @@ -277,7 +261,7 @@ label potions_intro_E2: sna "Your office couldn't be further away from here Genie, you're not fooling me with that one again..." ("snape_03") gen "*Err*..." ("base", xpos="far_left", ypos="head") else: - sna "What the hell are you doing in my office this time of day?" ("snape_03") + sna "What the hell are you doing in my office at this time of day?" ("snape_03") call gen_chibi("stand", flip=False) gen "*Err*..." ("base", xpos="far_left", ypos="head") gen "Sightseeing?" ("base", xpos="far_left", ypos="head") @@ -303,37 +287,36 @@ label potions_intro_E2: gen "Spies?" ("base", xpos="far_left", ypos="head") sna "No... Not spies..." ("snape_43") - $ random_number = renpy.random.randint(1, 3) - - if random_number == 1: - sna "Someone's been rummaging around in my office." ("snape_39") - gen "Really? Now that's--" ("base", xpos="far_left", ypos="head") - "The Painting" "That's him!" - sna "Be quiet you--" ("snape_43") - "The Painting" "But, that's the asshole that snooped around here!" - sna "..." ("snape_25") - gen "Bugger..." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - sna "Someone's gone through my desk drawers." ("snape_01") - gen "Gross!" ("base", xpos="far_left", ypos="head") - sna "Excuse me?" ("snape_05") - gen "I mean--{w=0.2} That's not good!" ("base", xpos="far_left", ypos="head") - sna "Quite..." ("snape_03") - sna "That's where I keep my list of the more...{w=0.4} Slutty Slytherins." ("snape_01") - gen "Wait, there was a list under those panties?--" ("base", xpos="far_left", ypos="head") - sna "" ("snape_04") - gen "..." ("angry", xpos="far_left", ypos="head") - elif random_number == 3: - sna "Someone's gone through my desk." ("snape_03") - gen "And? Did they take anything?" ("base", xpos="far_left", ypos="head") - sna "It's not really about what they took but what I have in there..." ("snape_31") - gen "..." ("base", xpos="far_left", ypos="head") - sna "It'd be a bit embarrassing if my purchase history got spread around..." ("snape_35") - sna "Knockturn alley provides some fairly..." ("snape_41") - sna "Unorthodox pleasure devices." ("snape_40") - gen "Stop!" ("angry", xpos="far_left", ypos="head") - sna "What?" ("snape_25") - gen "I don't want to hear about your basi-lick or whatever you call it!" ("angry", xpos="far_left", ypos="head") + random: + block: + sna "Someone's been rummaging around in my office." ("snape_39") + gen "Really? Now that's--" ("base", xpos="far_left", ypos="head") + "The Painting" "That's him!" + sna "Be quiet you--" ("snape_43") + "The Painting" "But, that's the asshole that snooped around here!" + sna "..." ("snape_25") + gen "Bugger..." ("base", xpos="far_left", ypos="head") + block: + sna "Someone's gone through my desk drawers." ("snape_01") + gen "Gross!" ("base", xpos="far_left", ypos="head") + sna "Excuse me?" ("snape_05") + gen "I mean--{w=0.2} That's not good!" ("base", xpos="far_left", ypos="head") + sna "Quite..." ("snape_03") + sna "That's where I keep my list of the more...{w=0.4} Slutty Slytherins." ("snape_01") + gen "Wait, there was a list under those panties?--" ("base", xpos="far_left", ypos="head") + sna "" ("snape_04") + gen "..." ("angry", xpos="far_left", ypos="head") + block: + sna "Someone's gone through my desk." ("snape_03") + gen "And? Did they take anything?" ("base", xpos="far_left", ypos="head") + sna "It's not really about what they took but what I have in there..." ("snape_31") + gen "..." ("base", xpos="far_left", ypos="head") + sna "It'd be a bit embarrassing if my purchase history got spread around..." ("snape_35") + sna "Knockturn alley provides some fairly..." ("snape_41") + sna "Unorthodox pleasure devices." ("snape_40") + gen "Stop!" ("angry", xpos="far_left", ypos="head") + sna "What?" ("snape_25") + gen "I don't want to hear about your basi-lick or whatever you call it!" ("angry", xpos="far_left", ypos="head") sna "So it was you!" ("snape_10") sna "Why have you been snooping around my office?" ("snape_01") @@ -343,7 +326,7 @@ label potions_intro_E2: sna "Are you insane?" ("snape_10") gen "I'm quite adept at potion making, I'll have you know!" ("base", xpos="far_left", ypos="head") gen "It's what got me here in the first place!" ("base", xpos="far_left", ypos="head") - sna "Right... And that effect was deliberate was it?" ("snape_03") + sna "Right... And that effect was deliberate, was it?" ("snape_03") gen "..." ("base", xpos="far_left", ypos="head") sna "You're lucky I caught you before you did anything stupid!" ("snape_01") gen "Like what? It's just potions..." ("base", xpos="far_left", ypos="head") @@ -352,32 +335,32 @@ label potions_intro_E2: sna "Do you phase through debris as well?" ("snape_03") gen "Good point..." ("base", xpos="far_left", ypos="head") - gen "So... Will you teach me how to brew your potions then?" ("base", xpos="far_left", ypos="head") + gen "So... Will you teach me how to brew your potions, then?" ("base", xpos="far_left", ypos="head") sna "..." ("snape_03") sna "*Hah-Hah-Hah!*" ("snape_28") gen "*Heh-Heh*..." ("grin", xpos="far_left", ypos="head") sna "Hell no!" ("snape_03") gen "{size=+3}WHY NOT?{/size}" ("angry", xpos="far_left", ypos="head") - if sna_friendship > 50: + if states.sna.level > 50: sna "Because...{w=0.4} I...{w=0.2} know...{w=0.2} You..." ("snape_10") gen "You do?" ("base", xpos="far_left", ypos="head") - sna "I {i}know{/i} that you would mess it up I should say..." ("snape_03") + sna "I {i}know{/i} that you would mess it up, I should say..." ("snape_03") else: sna "Because...{w=0.4} I...{w=0.2} Don't...{w=0.2} Trust...{w=0.2} You..." ("snape_10") gen "You don't?" ("base", xpos="far_left", ypos="head") sna "I don't trust that you wont mess it up I should say..." ("snape_03") - gen "Come on! Those recipes I found in your desk looks simple enough..." ("base", xpos="far_left", ypos="head") + gen "Come on! Those recipes I found inside your desk look simple enough..." ("base", xpos="far_left", ypos="head") sna "You read that?" ("snape_14") gen "Of course I did!" ("grin", xpos="far_left", ypos="head") gen "They're quite genius actually..." ("base", xpos="far_left", ypos="head") sna "Oh... Why I wouldn't say--" ("snape_23") gen "A lot of them appeared to be derivatives from other potions, is that correct?" ("base", xpos="far_left", ypos="head") sna "*Ahem*...{w=0.4} Yes." ("snape_25") - sna "They weren't really useful for what I wanted so I changed them a bit..." ("snape_37") + sna "They weren't really useful for what I wanted, so I changed them a bit..." ("snape_37") - if mirror_intro_done: + if states.map.room_of_requirement.intro_e1: gen "Much like that mirror..." ("base", xpos="far_left", ypos="head") sna "Actually, about that...{w=0.4} I can't seem to be able to get into that room again..." ("snape_38") @@ -400,16 +383,16 @@ label potions_intro_E2: gen "So...{w} *Err*..." ("base", xpos="far_left", ypos="head") gen "The recipe's mentioned some additional ingredients..." ("base", xpos="far_left", ypos="head") sna "Yes?" ("snape_05") - gen "Well, I didn't really see a ingredient cupboard or anything in here..." ("base", xpos="far_left", ypos="head") + gen "Well, I didn't really see a cupboard with ingredients or anything in here..." ("base", xpos="far_left", ypos="head") sna "Right?" ("snape_03") gen "So, where do you keep your... *Err*..." ("base", xpos="far_left", ypos="head") sna "Keep {size=+5}my{/size} what?" ("snape_04") gen "You know what, I think I'll probably manage to find some on my own..." ("base", xpos="far_left", ypos="head") sna "*Hmm*..." ("snape_04") gen "Drinks later?" ("angry", xpos="far_left", ypos="head") - gen "On me obviously." ("base", xpos="far_left", ypos="head") + gen "On me, obviously." ("base", xpos="far_left", ypos="head") sna "..." ("snape_04") - gen "*Hah-hah*... See you later then buddy!" ("grin", xpos="far_left", ypos="head") + gen "*Hah-hah*... See you later then, buddy!" ("grin", xpos="far_left", ypos="head") gen "*Ahem*..." ("base", xpos="far_left", ypos="head") call gen_chibi("stand", flip=False) "-Indirectly ask about ingredients-": @@ -449,7 +432,7 @@ label potions_intro_E2: with d3 pause 0.5 - $ renpy.play('sounds/magic1.ogg') + play sound "sounds/magic1.ogg" $ snape_office_shelves_OBJ.set_image("snape_office_shelves_alt") $ snape_office_shelves_OBJ.foreground = None with d9 diff --git a/game/scripts/events/quests.rpy b/game/scripts/events/quests.rpy new file mode 100644 index 00000000..44f1123d --- /dev/null +++ b/game/scripts/events/quests.rpy @@ -0,0 +1,284 @@ + +### Quests ### + +# Add any event triggers to this list. +# Only one event can play for each day/night (this might change.) +# Add date specific events at the start of the list (create the date if it's not there.) + +label quests: + + $ renpy.choice_for_skipping() + + if states.room == "main_room": + # + # DAY-BASED EVENTS + # + + if game.day >= 1: + if game.daytime: + if not states.gen.ev.intro.e2_complete and states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: + jump genie_intro_E2 + else: + if not states.sna.ev.intro.e1_complete: + jump snape_intro_E1 + + if game.day >= 2: + if game.daytime: + if not states.gen.ev.intro.e3_complete: + jump genie_intro_E3 + else: + if ss_event_pause == 0 and not states.sna.ev.intro.e2_complete: + # Snape's second visit. + jump snape_intro_E2 + + if game.day >= 3: + if game.daytime: + if not states.gen.ev.intro.e4_complete: + jump genie_intro_E4 + else: + if ss_event_pause == 0 and not states.sna.ev.intro.e3_complete: + # Day of the duel. + jump snape_intro_E3 + + + if game.day >= 4: + if game.daytime: + pass + else: + if ss_event_pause == 0 and not states.sna.ev.intro.e5_complete: + # You bother decide to just "roll with it"... Snape summon unlocked. + jump snape_intro_E5 + + if game.day >= 5: + if game.daytime: + if hg_event_pause == 0 and not states.her.ev.intro.e1_complete: + # Hermione shows up for the first time. + jump hermione_intro_E1 + + if game.day >= 6: + if game.daytime: + if hg_event_pause == 0 and states.sna.ev.hangouts.hermione_e1 and not states.her.ev.intro.e2_complete: + # Second visit from Hermione. Says she sent a letter to the Ministry. + jump hermione_intro_E2 + else: + pass + + if game.day >= 7: + if game.daytime: + pass + else: + if hg_event_pause == 0 and states.sna.ev.hangouts.hermione_e2 and not states.her.ev.intro.e3_complete: + # Takes place after first special event with Snape, where he just complains about Hermione. + # Hermione might have failed a test... + jump hermione_intro_E3 + + if game.day >= 8: + if game.daytime: + pass + else: + if hg_event_pause == 0 and states.her.ev.intro.e3_complete and not states.her.ev.intro.e4_complete: + # She failed a test and cries. + jump hermione_intro_E4 + + if game.day >= 9: + if game.daytime: + if hg_event_pause == 0 and states.her.ev.intro.e4_complete and not states.her.ev.intro.e5_complete: + # Hermione asks to be tutored. Summon unlocked! + jump hermione_intro_E5 + + if game.day >= 10: + if game.daytime: + if nt_event_pause == 0 and states.her.ev.intro.e5_complete and not states.ton.ev.intro.e1_complete: + # Tonks visits for the first time. + jump tonks_intro_E1 + else: + if states.ton.ev.intro.e1_complete and not states.ton.ev.intro.e2_complete: + # Tonks has found no evidence so far. + jump tonks_intro_E2 + + if game.day >= 11: + if game.daytime: + pass + else: + if nt_event_pause == 0 and states.sna.ev.hangouts.tonks_e1 and not states.ton.ev.intro.e3_complete: + # Tonks becomes a teacher. Summon unlocked! + jump tonks_intro_E3 + + if game.day >= 13: + if game.daytime: + if hg_event_pause == 0 and states.her.ev.intro.e5_complete and states.sna.ev.hangouts.tonks_e1 and states.her.ev.intro.convinced and not states.her.ev.intro.e6_complete: + # Hermione wants to buy favours. Favours unlocked! + jump hermione_intro_E6 + + if is_puzzle_box_in_fireplace(): + $ states.fireplace_started = False + $ fireplace_OBJ.foreground = "glow_effect_fireplace" + elif fireplace_OBJ.foreground == "glow_effect_fireplace": + $ fireplace_OBJ.foreground = None + + # + # CARDGAME - EVENTS + # + + if geniecard_level < 2 and states.sna.ev.cardgame.stage >= 3 and states.her.ev.cardgame.stage >= 3 and states.twi.ev.cardgame.stage >= 2: + if not game.daytime: + $ letter_cards_tier2.send() + + # + # CHO CHANG - EVENTS + # + + if cc_event_pause == 0: + if game.daytime: + + if not states.cho.ev.intro.e1_complete and states.her.tier >= 2: + # Cho intro + jump cho_intro_E1 + + if states.cho.ev.quidditch.hufflepuff_stage == "start": + $ game.weather = "clear" + stop weather + $ states.cho.ev.quidditch.hufflepuff_stage = "return" + jump hufflepuff_match + elif states.cho.ev.quidditch.slytherin_stage == "start": + $ game.weather = "clear" + stop weather + $ states.cho.ev.quidditch.slytherin_stage = "return" + jump slytherin_match + elif states.cho.ev.quidditch.gryffindor_stage == "start": + $ game.weather = "clear" + stop weather + $ states.cho.ev.quidditch.gryffindor_stage = "return" + jump gryffindor_match + + if states.cho.tier == 1: + # Lee Jordan gets knocked out cold + if states.cho.ev.quidditch.hufflepuff_training and not states.cho.ev.quidditch.e3_complete: + jump cho_quid_E3 + + elif states.cho.tier == 2: + # Hermione refuses to commentate for Slytherin match. + if states.cho.ev.quidditch.slytherin_failed and not states.cho.ev.quidditch.e6_complete: + jump cho_quid_E6 + + elif states.cho.tier == 3: + # Genie decides to get the broom. + if states.cho.ev.quidditch.gryffindor_training and not states.cho.ev.quidditch.e12_complete: + jump cho_quid_E12 + + # Informs the player that all preparations are complete + if states.cho.ev.quidditch.e11_complete and states.cho.ev.quidditch.e12_complete and not states.cho.ev.quidditch.e13_complete: + jump cho_quid_E13 + + else: + # Introduction + if states.cho.ev.intro.e1_complete and not states.cho.ev.intro.e2_complete: + jump cho_intro_E2 + + # Quidditch training matches + if states.cho.ev.quidditch.in_progress: + $ states.cho.ev.quidditch.in_progress = False + + if states.cho.tier == 1: + # Hufflepuff + jump cc_ht_return + elif states.cho.tier == 2: + # Slytherin + jump cc_st_return + elif states.cho.tier == 3: + # Gryffindor + jump cc_gt_return + + # Note: The return events now get jumped to right after the main match events. + + $ play_potion_return("cho") + + # + # SUSAN BONES - EVENTS + # + + if sb_event_pause == 0: + if game.daytime: + # Introduction + if states.ton.ev.hangouts.susan_e1 and not states.sus.ev.intro.e1_complete: + jump susan_intro_E1 + + $ play_potion_return("susan") + + # + # ASTORIA GREENGRASS - EVENTS + # + + # Astoria events not triggered by a date. + if ag_event_pause == 0: + if game.daytime: + # Introduction + if states.ast.ev.intro.e2_ask_hermione and states.ast.ev.intro.e2_ask_snape and not states.ast.ev.intro.e3_complete: + $ states.ast.ev.intro.e2_complete = True + jump astoria_intro_E3 + if states.ton.ev.hangouts.astoria_e1 and not states.ast.ev.intro.e4_complete: + jump astoria_intro_E4 + else: + # Introduction + if states.sus.ev.intro.e1_complete and not states.ast.ev.intro.e1_complete: + jump astoria_intro_E1 + + $ play_potion_return("astoria") + + # + # NYMPHADORA TONKS - EVENTS + # + + # Tonks events not triggered by a date. + if nt_event_pause == 0: + + $ play_potion_return("tonks") + + # + # HERMIONE GRANGER - EVENTS + # + + if hg_event_pause == 0: + + $ play_potion_return("hermione") + + # + # LUNA LOVEGOOD - EVENTS + # + + if ll_event_pause == 0: + if not states.lun.ev.intro.e1_complete and states.her.tier >= 3: + if not game.daytime: + # Luna barges into your office sleepwalking. + jump luna_intro_E1 + + if states.lun.ev.intro.e1_complete and not states.lun.ev.intro.e2_complete: + if game.daytime: + jump luna_intro_E2 + + if states.lun.ev.spectrespecs.e1_complete and not states.lun.ev.quibbler.stocked: + if game.daytime: + jump spectrespecs_E2_reminder + + $ play_potion_return("luna") + elif states.room == "snape_office": + + if game.daytime: + if not states.map.snape_office.intro_e2: + # Genie searches the office + jump potions_intro_E1 + + if not states.map.snape_office.intro_e3 and states.map.snape_office.intro_e2: + # Genie gets caught by the painting. + jump potions_intro_E2 + else: + if not states.map.snape_office.intro_e3: + # (Optional) Genie gets caught by Snape. (E0 can play either before or after E1) + jump potions_intro_E0 + + $ eventqueue.start() + + # All quest events should somehow end with a jump to the main room day/night cycle + # If no quest event is triggered, resume normally from the main room + call music_block + call screen room_menu diff --git a/game/scripts/events/queue.rpy b/game/scripts/events/queue.rpy index 8244719d..2af20593 100644 --- a/game/scripts/events/queue.rpy +++ b/game/scripts/events/queue.rpy @@ -1,12 +1,29 @@ +default event_callbacks = [] + +default _events_completed_any = None +default _events_completed_all = None +default _events_filtered_completed_all = None +default _events_filtered_completed_any = None +default _event_completed = None +default _event_completed_failed = None +default _event_queue = None +default _event = None + init -1 python: + class EventQueue(object): - def __init__(self): + ignore_globals = ("mainloop",) + + def __init__(self, id=None): + self.id = id + self.queue = [] self.freeze = False - def get_events(self, raw=False): - return self.queue if raw else [x for x in self.queue if x.wait < 1] + if config.developer: + rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" + print(f"{rollback}Creating EventQueue object '{stdcol.BLUE}{id}{stdcol.END}' ...") def freeze(self): self.freeze = True @@ -26,32 +43,85 @@ init -1 python: for i in self.queue: i.wait -= 1 - def start(self): + def list_filtered(self, func=lambda ev: (ev.wait <= 0) and not ev.disabled and ev.requirements_met()): + # queue = [ev for ev in self.queue if (ev.wait <= 0) and not ev.disabled and ev.requirements_met() ] + # queue.sort(key=lambda x: x.priority) + + filtered = sorted(filter(func, self.queue), key=lambda x: x.priority) + + return filtered + + def initialize_globals(self): + global _event_queue, _events_completed_all, _events_completed_any, _events_filtered_completed_all, _events_filtered_completed_any + + _event_queue = self + queue = self.queue - queue = filter(lambda x: (x.wait <= 0) and (x.daytime == game.daytime), queue) - queue.sort(key=lambda x: x.priority) + + _events_completed_all = all(ev.completed for ev in queue) + _events_completed_any = any(ev.completed for ev in queue) + + queue = self.list_filtered() + + _events_filtered_completed_all = all(ev.completed for ev in queue) + _events_filtered_completed_any = any(ev.completed for ev in queue) + + def next(self): + queue = self.list_filtered() + repeatable = [] for ev in queue: - if not ev.requirements_met(): + if ev.completed: + if ev.repeat: + repeatable.append(ev) + continue - ev.start() + return ev - if ev.label: - break + if repeatable: + return renpy.random.choice(repeatable) - def is_in_queue(self, ev): - if isinstance(ev, str): - return any(i.id == ev for i in self.queue) - return ev in self.queue + def start(self): + if not self.id in self.ignore_globals: + self.initialize_globals() + + ev = self.next() + + if ev: + return ev.start(self) + + def _debug(self, sort=lambda x: x.priority): + queue = self.queue + queue.sort(key=sort) + + for ev in queue: + s = f"ID:{ev.id} QUE:{ev.queued} STA:{ev.started} COM:{ev.completed} COMF:{ev.completed_failed} DIS:{ev.disabled}" + + print(s) + + def _debug_menu(self): + queue = self.queue + queue.sort(key=lambda x: x.priority) + + menu = [] + + for ev in queue: + req = f"{{color=#00ff00}}{ev.req}{{/color}}" if ev.requirements_met() else f"{{color=#ff0000}}{ev.req}{{/color}}" + + s = f"{{size=12}}id:{ev.id} label:{ev.label}{{/size}}{{size=8}}\npriority:{ev.priority} Daytime:{ev.daytime} Req:{req} AutoENQ:{ev.autoenqueue} AutoDEQ:{ev.autodequeue}{{/size}}" + l = ev.label + + menu.append( (s, l) ) + + renpy.display_menu(menu) class Event(object): - """ - Queue is universal for all instanced objects. - """ + _queue = None + _parent = None - def __init__(self, id, wait=0, priority=5, daytime=True, req=None, label=None, func=None): - self.queued = False + def __init__(self, id, wait=0, priority=5, daytime=None, req=None, label=None, func=None, queue="eventqueue", autoenqueue=False, autodequeue=True, + repeat=True, fail_suffixes=("_fail", "too_much", "too_much_public"), ignore_labels=[], subevents=[], disabled=False): self.id = id self.wait = wait self.priority = priority @@ -59,32 +129,275 @@ init -1 python: self.req = req self.label = label self.func = func - self.queue = eventqueue.queue + self.queue = queue + self.autoenqueue = autoenqueue + self.autodequeue = autodequeue + self.repeat = repeat + self.fail_suffixes = tuple(fail_suffixes) + self.ignore_labels = ignore_labels + self.subevents = subevents + self.disabled = disabled + for ev in subevents: + getattr(store, ev)._parent = self + + self.queued = False + self.started = False + self.completed = False + self.completed_failed = False + + # Validation if not renpy.has_label(self.label): - raise Exception("Supplied label does not exist.") + raise Exception(f"Supplied label does not exist:\n{self.label}") - def enqueue(self): + if autoenqueue: + self.enqueue() + + if config.developer: + def __setattr__(self, attr, value): + if hasattr(self, attr) and getattr(self, attr) != value: + id = getattr(self, "id") + rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" + caller_id = renpy.get_filename_line() + + if not "/00start.rpy" in caller_id[0]: + # Ignore init + print(f"{rollback}Setting '{stdcol.GREEN}{id}{stdcol.END}.{stdcol.RED}{attr}{stdcol.END}={stdcol.YELLOW}{value}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'...") + + super().__setattr__(attr, value) + + def disable(self): + self.disabled = True + + def enable(self): + self.disabled = False + + @property + def queue(self): + return getattr(store, self._queue).queue if self._queue else None + + @queue.setter + def queue(self, name): + self._queue = name + + if name is not None and not hasattr(store, name): + setattr(store, name, EventQueue(name)) + + def enqueue(self, queue=None): + if queue: + queue = getattr(store, queue).queue + else: + queue = self.queue + + if not self in queue: + if config.developer: + rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" + name = getattr(store, self._queue).id + caller_id = renpy.get_filename_line() + + if not "/00start.rpy" in caller_id[0]: + print(f"{rollback}Enqueueing '{stdcol.GREEN}{self.id}{stdcol.END}' into '{stdcol.BLUE}{name}{stdcol.END}' ...") + + queue.append(self) self.queued = True - if not self in self.queue: - self.queue.append(self) + def dequeue(self, queue=None): + if queue: + queue = getattr(store, queue).queue + else: + queue = self.queue + + if self in queue: + if config.developer: + rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" + name = getattr(store, self._queue).id + caller_id = renpy.get_filename_line() + + if not "/00start.rpy" in caller_id[0]: + print(f"{rollback}Dequeued '{stdcol.GREEN}{self.id}{stdcol.END}' from '{stdcol.BLUE}{name}{stdcol.END}' ...") + + queue.remove(self) + + self.queued = False def requirements_met(self): if self.req: - return eval(self.req) + try: + return eval(self.req) + except Exception as e: + msg = f"Event '{self.id}' requirements evaluation has failed:\n{e} for '{self.req}'" + if config.developer: + raise Exception(msg) + else: + print(msg) + renpy.notify("An error has occured. Check console for details.") return True - def start(self): - if self in self.queue: - self.queue.remove(self) + def start(self, _caller=None): + global _event, _event_completed, _event_completed_failed + + if config.developer: + rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" + caller_id = _caller.id if _caller else renpy.get_filename_line() + print(f"{rollback}Starting '{stdcol.GREEN}{self.id}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}' ... ") + + self.started = True + + _event = self + _event_completed = self.completed + _event_completed_failed = self.completed_failed + + if self.autodequeue: + queue = _caller.queue or self.queue + queue.remove(self) + self.queued = False + + ## additional requirements check + + if not self._track_completion in event_callbacks: + event_callbacks.append(self._track_completion) if self.func: self.func() if self.label: - renpy.jump(self.label) + return renpy.jump(self.label) + + def cancel(self, _caller=None): + if config.developer: + rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" + caller_id = _caller.id if _caller else renpy.get_filename_line() + print(f"{rollback}Cancelling '{stdcol.GREEN}{self.id}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'... ") + + self.started = False + self.completed = False + self.completed_failed = False + + if self._track_completion in event_callbacks: + event_callbacks.remove(self._track_completion) + + if self._parent: + self._parent.cancel() + + if renpy.get_return_stack(): + renpy.pop_call() + + renpy.block_rollback() + + def _track_completion(self, label, abnormal): + if renpy.is_init_phase(): + return + + if label == self.label: + # Ignore jumps to self. + return + + if label in self.ignore_labels: + # Postpone completing the event until end label returns. + return + + if "." in label: + # Ignore local labels + return + + # if abnormal: # Irrelevant + # return + + if renpy.game.context().return_stack: + # If return stack exists, ignore, because we're probably in a call label. + # We only allow room_menu, to pass. + return + + if self.started: # Event cancelled abnormally? + + if label.endswith(self.fail_suffixes): + self.completed_failed = True + else: + self.completed = True + + self.started = False + + for ev in self.subevents: + if isinstance(ev, str): + ev = getattr(store, ev) + ev.enqueue() + + if self._track_completion in event_callbacks: + event_callbacks.remove(self._track_completion) + + def execute_event_callbacks(label, abnormal): + if renpy.is_init_phase() or not hasattr(store, "event_callbacks"): + return + + for callback in event_callbacks: callback(label, abnormal) + + def initialize_event_callbacks(): + if renpy.in_rollback(): + return + + # We need to add these after defaults are finished. + renpy.config.label_callbacks.append(execute_event_callbacks) + + def show_events_menu(queues, filter=False, report_progress=True, **kwargs): + # This function is a stop gap until we update interfaces. Because it's not tied to any internals, + # it can be easily replaced or changed in the future without breaking save compatibility. + def menu_hints(queue, filter): + filtered_queue = queue.list_filtered() if filter is False else queue.list_filtered(filter) + total_applicable = len(filtered_queue) + total_events = len(queue.queue) + completed = 0 + icons = [] + + for ev in filtered_queue: + if ev.completed: + icons.append(f"interface/icons/small/heart_red.webp") + completed += 1 + elif ev.completed_failed: + icons.append(f"interface/icons/small/heart_black.webp") + completed += 1 + else: + icons.append(f"interface/icons/small/heart_empty.webp") + + hints = f" {completed}/{total_applicable}/{total_events}" + + return (hints, icons) + + l = [] + + for queue, title in queues: + if isinstance(queue, str): + queue = getattr(store, queue) + + hints, icons = menu_hints(queue, filter) + title = f"-{title}-" + + if config.developer: + title += hints + + if ( ev := queue.next()) and ev.requirements_met(): + action = queue + elif ( ev := queue.next()) and ev.disabled: + action = "disabled" + else: + action = "noncompliant" + + _kwargs = {} + + if action in ("disabled", "noncompliant"): + _kwargs["style"] = "disabled" + elif report_progress: + _kwargs = {"progress": icons} + + location = renpy.game.context().current + choice = ui.ChoiceReturn(title, action, location, kwargs=_kwargs) + + l.append( (title, choice) ) + + l.append( ("-Never mind-", "exit") ) + return renpy.display_menu(l, **kwargs) + + config.after_default_callbacks.append(initialize_event_callbacks) init offset = -5 -default eventqueue = EventQueue() +default eventqueue = EventQueue("mainloop") diff --git a/game/scripts/events/variables.rpy b/game/scripts/events/variables.rpy new file mode 100644 index 00000000..92d552a1 --- /dev/null +++ b/game/scripts/events/variables.rpy @@ -0,0 +1,45 @@ + +default states.active_girl = None +default states.last_girl = None + +default states.room = "main_room" +default states.menu_pos = (0.5, 0.5) + +default states.map.unlocked = False +default states.map.seventh_floor.unlocked = False +default states.map.seventh_floor.visited = False +default states.map.snape_office.visited = False +default states.map.snape_office.station_examined = False +default states.map.snape_office.shelves_examined = False +default states.map.snape_office.picture_examined = False +default states.map.snape_office.statue_examined = False +default states.map.snape_office.desk_examined = False +default states.map.snape_office.candelabra_examined = False +default states.map.snape_office.intro_e1 = False +default states.map.snape_office.intro_e2 = False +default states.map.snape_office.intro_e2_stage = 0 +default states.map.snape_office.intro_e3 = False +default states.map.room_of_requirement.intro_e1 = False +# default states.map.quidditch_pitch.unlocked = False # TODO: Unreachable currently. + +default states.cupboard_rummaged = False +default states.cupboard_rummaged_times = 0 + +default states.desk_chibi_zorder = 2 # TODO: Resolve and delete after chibi conversion. + +default states.bird_fed = False +default states.bird_fed_times = 0 +default states.bird_petted = False +default states.bird_petted_times = 0 + +default states.fireplace_started = False +default states.fireplace_started_times = 0 + +default states.paperwork_unlocked = False +default states.paperwork_chapters = 0 +default states.paperwork_reports = 0 +default states.paperwork_reports_times = 0 + +default states.healing_potions = 0 # TODO: This should probably be turned into an item. + +default states.cardgame.unlocked = False diff --git a/game/scripts/gui/_gui_.rpy b/game/scripts/gui/_gui_.rpy index 1ab8c550..5408841e 100644 --- a/game/scripts/gui/_gui_.rpy +++ b/game/scripts/gui/_gui_.rpy @@ -6,9 +6,9 @@ init offset = -2 init python in gui: import store - from store import settings, ScreenshotImage + from store import settings - init(1080, 600) + init(1280, 720) def is_dark(): theme = settings.get("theme") @@ -60,11 +60,11 @@ init python in gui: renpy.store.disable_game_menu() renpy.choice_for_skipping() renpy.pause(0.001) # Give renderer the chance to catch up with transitions - bg = ScreenshotImage.capture() - renpy.call_in_new_context("gui_init_context", bg, label, *args, **kwargs) + renpy.store.screenshot.capture() + renpy.call_in_new_context("gui_init_context", label, *args, **kwargs) -label gui_init_context(bg, label, *args , **kwargs): - $ renpy.show("screenshot", what=bg, at_list=[Transform(size=(config.screen_width, config.screen_height))]) +label gui_init_context(label, *args , **kwargs): + $ renpy.show("screenshot", what=screenshot.image, at_list=[Transform(size=(config.screen_width, config.screen_height))]) $ renpy.call(label, *args, **kwargs) return diff --git a/game/scripts/gui/_images_.rpy b/game/scripts/gui/_images_.rpy index caf38132..525d3b65 100644 --- a/game/scripts/gui/_images_.rpy +++ b/game/scripts/gui/_images_.rpy @@ -3,15 +3,7 @@ # image gui_fade: - Solid("#000") - alpha 0.0 - - on appear: - alpha 0.5 - on show: - linear 0.1 alpha 0.5 - on hide: - linear 0.1 alpha 0.0 + Solid("#00000080") image game_menu: contains: @@ -212,6 +204,8 @@ image light_slider_full = "gui/slider/light_full.png" image scrollbar_horizontal_idle_thumb = "gui/scrollbar/vertical_idle_bar.png" #Solid(gui.accent_color) image scrollbar_horizontal_hover_thumb = image_hover("gui/scrollbar/vertical_idle_bar.png") #Solid(gui.hover_color) image scrollbar_horizontal_insensitive_thumb = "scrollbar_horizontal_idle_thumb" +image scrollbar_horizontal_selected_insensitive_thumb = "scrollbar_horizontal_idle_thumb" +image scrollbar_horizontal_selected_idle_thumb = "gui/scrollbar/vertical_idle_bar.png" image scrollbar_horizontal_selected_hover_thumb = "scrollbar_horizontal_hover_thumb" image scrollbar_horizontal_idle_bar = Solid(gui.muted_color) image scrollbar_horizontal_selected_idle_bar = "scrollbar_horizontal_idle_bar" @@ -230,6 +224,8 @@ image scrollbar_vertical_idle_bar = Solid("#726363") image scrollbar_vertical_selected_idle_bar = "scrollbar_vertical_idle_bar" image scrollbar_vertical_hover_bar = Solid("#726363") image scrollbar_vertical_selected_hover_bar = "scrollbar_vertical_hover_bar" +image scrollbar_vertical_insensitive_bar = "scrollbar_vertical_idle_bar" +image scrollbar_vertical_selected_insensitive_bar = "scrollbar_horizontal_idle_bar" diff --git a/game/scripts/gui/help.rpy b/game/scripts/gui/help.rpy index f0dd97fb..1d3f036e 100644 --- a/game/scripts/gui/help.rpy +++ b/game/scripts/gui/help.rpy @@ -34,7 +34,7 @@ screen help(page='tutorials'): textbutton _("About") action [SelectedIf(page == 'about'), Show("help", config.intra_transition, "about")] screen tutorials_help(): - for entry, tutorial in tutorial_dict.iteritems(): + for entry, tutorial in tutorial_dict.items(): $ title = tutorial[0] textbutton "[title]": @@ -44,7 +44,7 @@ screen tutorials_help(): label tutorials_help(entry): show screen help('tutorials') - $ renpy.play("sounds/pop01.ogg") + play sound "sounds/pop01.ogg" $ renpy.music.set_volume(0.5, 3.0) call screen tutorial(entry) $ renpy.music.set_volume(1.0, 3.0) diff --git a/game/scripts/gui/main_menu.rpy b/game/scripts/gui/main_menu.rpy index a3bec94b..ec01c15a 100644 --- a/game/scripts/gui/main_menu.rpy +++ b/game/scripts/gui/main_menu.rpy @@ -31,6 +31,10 @@ screen main_menu(): add "game_title" zoom 0.75 xalign 0.5 + if prerelease: + text "TEST-ONLY" at transform: + rotate 45 + vbox: spacing gui.navigation_spacing * 2 yoffset -gui.navigation_padding @@ -46,7 +50,7 @@ screen main_menu(): pos (0.333, 0.5) anchor (0.5, 0.5) action OpenURL("https://discord.gg/UbQeTCJ5RW") - tooltip _("Discord") + tooltip "Discord" imagebutton: idle Transform("patreon_idle", alpha=0.5, zoom=0.5) @@ -55,17 +59,22 @@ screen main_menu(): pos (0.666, 0.5) anchor (0.5, 0.5) action OpenURL("https://www.patreon.com/SilverStudioGames") - tooltip _("Patreon") + tooltip "Patreon" fixed: xysize (300, 30) - text "[config.version]": - style "main_menu_version" - xoffset -320 - gui.navigation_padding + vbox: + xoffset -100 - gui.navigation_padding yalign 0.5 at transform: alpha 0.6 + if prerelease: + text "Pre-release": + style "main_menu_version" + + text "[config.version]": + style "main_menu_version" imagebutton: idle Transform("silverstudiogames_idle", alpha=0.5, zoom=0.5) @@ -169,7 +178,7 @@ screen game_menu(title, scroll=None, yinitial=0.0): use navigation(title) - label title anchor (0.5, 0.5) align (0.86, 0.15) + label title anchor (0.5, 0.5) align (0.9, 0.15) if main_menu and not title == "Updater": key "game_menu" action ShowMenu("main_menu") @@ -240,21 +249,22 @@ screen navigation(title=None): transclude - null height 14 # Half button height + null height 28 # Half button height if main_menu: if not title: if not renpy.mobile: - if UPDATE_VER: - textbutton _("Install updates") action InstallUpdates() style_prefix "update_available" + if version_float(UPDATE_VER) > version_float(): + textbutton "Install updates" action InstallUpdates() style_prefix "update_available" sensitive (not prerelease) else: - textbutton _("Check for updates") action CheckUpdates(300) + textbutton "Check for updates" action CheckUpdates(300) sensitive (not prerelease) + text "[UPDATE_HINT]" size 8 color "#fff" xalign 0.5 if show_quick_start: textbutton _("Quick Start") action Start("start_quick") sensitive is_sensitive elif show_dev_start: - textbutton _("Developer Start") action Start("start_dev") sensitive is_sensitive + textbutton _("Developer Start") action Start("start_dev") sensitive is_sensitive keysym "ctrl_mousedown_1" else: textbutton _("Start") action Start() sensitive is_sensitive else: diff --git a/game/scripts/gui/misc.rpy b/game/scripts/gui/misc.rpy index e4b474b4..7b6469bd 100644 --- a/game/scripts/gui/misc.rpy +++ b/game/scripts/gui/misc.rpy @@ -18,7 +18,7 @@ screen confirm(message, yes_action=Return(True), no_action=Return(False)): style_prefix gui.theme() - add "confirm_fade" + add "gui_fade" frame: padding (34, 34, 34, 34) @@ -28,9 +28,14 @@ screen confirm(message, yes_action=Return(True), no_action=Return(False)): vbox: spacing 25 - text _(message): - xalign 0.5 - text_align 0.5 + if isinstance(message, str): + text "[message!t]": + xalign 0.5 + text_align 0.5 + else: + text message: + xalign 0.5 + text_align 0.5 hbox: xalign 0.5 @@ -42,17 +47,6 @@ screen confirm(message, yes_action=Return(True), no_action=Return(False)): ## Right-click and escape answer "no". key "game_menu" action no_action -image confirm_fade: - Solid("#000") - alpha 0.0 - - on appear: - alpha 0.5 - on show: - linear 0.3 alpha 0.5 - on hide: - linear 0.3 alpha 0.0 - style confirm_frame is gui_frame: padding (34, 34, 34, 34) xalign 0.5 diff --git a/game/scripts/gui/mods.rpy b/game/scripts/gui/mods.rpy index d081891a..ecaac87a 100644 --- a/game/scripts/gui/mods.rpy +++ b/game/scripts/gui/mods.rpy @@ -6,15 +6,18 @@ screen mods(): use game_menu("Mods"): - default selection = next(iter(mods_list.iterkeys())) + default selection = next(iter(mods_list.keys())) default checkbox_enabled = gui.theme("check_true") default checkbox_disabled = gui.theme("check_false") + default mods_enabled_now = set(persistent.mods_enabled) + $ awaits_restart = bool(mods_enabled_now != persistent.mods_enabled) fixed: ## The grid of file slots. hbox: spacing 5 + vpgrid: cols 1 scrollbars "vertical" @@ -26,19 +29,20 @@ screen mods(): style_prefix gui.theme("slot") - for mod in mods_list.itervalues(): + for mod in mods_list.values(): $ name = mod["Name"] $ desc = mod["Description"] $ author = mod["Author"] $ version = mod["Version"] - $ compat = float(mod["GameVer"]) + $ compat = version_float(mod["GameVer"]) #$ order = mod["LoadOrder"] $ logo = mod["Logo"] $ enabled = bool(name in persistent.mods_enabled) $ selected = (name == selection) + if selected: - $ action = Function(toggle_mod, name) + $ action = ToggleMod(name) else: $ action = SetScreenVariable("selection", name) @@ -59,7 +63,7 @@ screen mods(): text "[name]": style "mods_text" size 16 - if not compat >= compatible_version: + if not compat >= mods_compatible: color "#ff8000" text "[version]": @@ -70,6 +74,8 @@ screen mods(): else: add checkbox_disabled align (0.95, 0.5) + if awaits_restart: + text "Awaiting game restart to apply changes..." frame: style gui.theme("frame") @@ -80,7 +86,7 @@ screen mods(): $ desc = mods_list[selection]["Description"] $ author = mods_list[selection]["Author"] $ version = mods_list[selection]["Version"] - $ compat = float(mods_list[selection]["GameVer"]) + $ compat = version_float(mods_list[selection]["GameVer"]) #$ order = mods_list[selection]["LoadOrder"] $ logo = mods_list[selection]["Logo"] @@ -95,7 +101,7 @@ screen mods(): add logo xalign 0.5 size (320, 240) text "[name]\n[version]" offset (6, 6) - if not compat >= compatible_version: + if not compat >= mods_compatible: text "{color=#ff8000}[compat]{/color}" align (1.0, 1.0) offset (-6, -3) else: text "{color=#228B22}[compat]{/color}" align (1.0, 1.0) offset (-6, -3) diff --git a/game/scripts/gui/preferences.rpy b/game/scripts/gui/preferences.rpy index d4fc9d56..0524024c 100644 --- a/game/scripts/gui/preferences.rpy +++ b/game/scripts/gui/preferences.rpy @@ -32,19 +32,19 @@ screen preferences(page="general"): pos (25 + 15, 100) yanchor 0.5 - textbutton _("General"): + textbutton "General": selected (page == "general") action Show("preferences", config.intra_transition, "general") - textbutton _("Visuals"): + textbutton "Visuals": selected (page == "visuals") action Show("preferences", config.intra_transition, "visuals") - textbutton _("Sound"): + textbutton "Sound": selected (page == "sound") action Show("preferences", config.intra_transition, "sound") - textbutton _("Accessibility"): + textbutton "Accessibility": selected (page == "accessibility") action Show("preferences", config.intra_transition, "accessibility") @@ -63,24 +63,25 @@ screen preferences_general(): textbutton _("Tooltips") action settings.Toggle("tooltip") textbutton _("System Cursor") action Preference("system cursor", "toggle") textbutton _("Automatic Updates") action settings.Toggle("updates") + textbutton _("Autosave") action ToggleField(store, "_autosave") default trans = config.intra_transition vbox: style_prefix gui.theme("radio") - label _("Theme") - textbutton _("Auto") action [ + label "Theme" + textbutton "Auto" action [ settings.Set("theme", "auto"), Function(renpy.transition, trans), Function(renpy.restart_interaction) ] - textbutton _("Day") action [ + textbutton "Day" action [ settings.Set("theme", "light"), Function(renpy.transition, trans), Function(renpy.restart_interaction) ] - textbutton _("Night") action [ + textbutton "Night" action [ settings.Set("theme", "dark"), Function(renpy.transition, trans), Function(renpy.restart_interaction) @@ -110,83 +111,75 @@ screen preferences_general(): vbox: style_prefix gui.theme("check") - default languages = renpy.known_languages() - - vbox: - box_wrap True - - label _("Language") - - hbox: - spacing 2 - - textbutton LANGUAGE_TRANSCRIPTS.get("english") action Language(None) - - # Each language should be displayed in its native tongue. - # Please do not translate other language names. - for lang in languages: - $ transcript = LANGUAGE_TRANSCRIPTS.get(lang, lang) - textbutton transcript action Language(lang) - screen preferences_visuals(): - hbox: - box_wrap True + vbox: + hbox: + box_wrap True - if renpy.variant("pc") or renpy.variant("web"): - vbox: - style_prefix gui.theme("radio") - label _("Display") - textbutton _("Fullscreen") action Preference("display", "fullscreen") - textbutton _("Windowed") action Preference("display", "any window") - textbutton _("V-Sync") action [ InvertSelected(ToggleField(_preferences, "gl_tearing")), _DisplayReset() ] style gui.theme("check_button") + if renpy.variant("pc") or renpy.variant("web"): + vbox: + style_prefix gui.theme("radio") + label _("Display") + textbutton _("Fullscreen") action Preference("display", "fullscreen") + textbutton _("Windowed") action Preference("display", "any window") + textbutton _("V-Sync") action [ InvertSelected(ToggleField(_preferences, "gl_tearing")), _DisplayReset() ] style gui.theme("check_button") - # Probably redundant now that we have aspect ratio preservation. - # if not preferences.fullscreen: - # textbutton _("Reset window"): - # action Preference("display", "window") - # sensitive (renpy.get_physical_size() != (config.screen_width, config.screen_height)) + # Probably redundant now that we have aspect ratio preservation. + # if not preferences.fullscreen: + # textbutton _("Reset window"): + # action Preference("display", "window") + # sensitive (renpy.get_physical_size() != (config.screen_width, config.screen_height)) - vbox: - style_prefix gui.theme("radio") - - default fps_msg = "Framerate preference may take effect after restarting the game" - - label _("Framerate") - - textbutton ("{} fps".format(int(renpy.get_refresh_rate()))) action [Preference("gl framerate", None), Notify(fps_msg)] - if renpy.get_refresh_rate() > 60: - textbutton "60 fps" action [Preference("gl framerate", 60), Notify(fps_msg)] - textbutton "30 fps" action [Preference("gl framerate", 30), Notify(fps_msg)] - - if not renpy.mobile: vbox: style_prefix gui.theme("radio") - label "Renderer" + default fps_msg = "Framerate preference may take effect after restarting the game" - default renderer_used = renpy.get_renderer_info()["renderer"] + label "Framerate" - textbutton _("OpenGL"): - selected renderer_used == "gl2" - action Confirm("Changing renderer requires a full restart, do it now?\nUnsaved progress will be lost.", Function(set_renderer, "gl2")) - textbutton _("DirectX"): - sensitive renpy.windows - selected renderer_used == "angle2" - action Confirm("Changing renderer requires a full restart, do it now?\nUnsaved progress will be lost.", Function(set_renderer, "angle2")) + textbutton ("{} fps".format(int(renpy.get_refresh_rate()))) action [Preference("gl framerate", None), Notify(fps_msg)] + if renpy.get_refresh_rate() > 60: + textbutton "60 fps" action [Preference("gl framerate", 60), Notify(fps_msg)] + textbutton "30 fps" action [Preference("gl framerate", 30), Notify(fps_msg)] + + if not renpy.mobile: + vbox: + style_prefix gui.theme("radio") + + label _("Renderer") + + default renderer_used = renpy.get_renderer_info()["renderer"] + + textbutton _("OpenGL"): + selected renderer_used == "gl2" + action Confirm("Changing renderer requires a full restart, do it now?\nUnsaved progress will be lost.", Function(set_renderer, "gl2")) + textbutton _("DirectX"): + sensitive renpy.windows + selected renderer_used == "angle2" + action Confirm("Changing renderer requires a full restart, do it now?\nUnsaved progress will be lost.", Function(set_renderer, "angle2")) + + vbox: + style_prefix gui.theme("check") + + label "Advanced" + + textbutton _("Transitions") action Preference("transitions", "toggle") + textbutton _("Videos") action InvertSelected(Preference("video sprites", "toggle")) + textbutton _("Power-saving") action Preference("gl powersave", "toggle") + textbutton _("multithreading") action settings.Toggle("multithreading") tooltip "Improves performance by executing tasks asynchronously. (Requires restart)" + #if not renpy.mobile: + #textbutton _("Preserve Aspect Ratio") action [settings.Toggle("preserve_aspect_ratio"), _DisplayReset()] vbox: - style_prefix gui.theme("check") + style_prefix gui.theme("slider") - label _("Advanced") + label _("Image cache ([persistent.custom_settings[image_cache_size]]MB)") - textbutton _("Transitions") action Preference("transitions", "toggle") - textbutton _("Videos") action InvertSelected(Preference("video sprites", "toggle")) - textbutton _("Power-saving") action Preference("gl powersave", "toggle") - #if not renpy.mobile: - #textbutton _("Preserve Aspect Ratio") action [settings.Toggle("preserve_aspect_ratio"), _DisplayReset()] - - text get_gpu_info() yalign 1.0 size 10 + hbox: + bar value DictValue(persistent.custom_settings, "image_cache_size", range=1792, max_is_zero=False, style="slider", offset=256, step=128, force_step=True, action=Notify("Restart the game to apply image cache size changes.")) tooltip "Improves performance at a cost of higher memory usage." + + text get_gpu_info() yalign 1.0 size 10 screen preferences_sound(): hbox: @@ -235,8 +228,11 @@ screen preferences_sound(): screen preferences_accessibility(): - text "Disclaimer" size 18 xalign 0.5 - text "These menu options are intended to improve accessibility and may not work well in all cases where text might overflow. When changing font, text size or spacing try to keep it close to the default size." size 14 + vbox: + text "Disclaimer" size 18 xalign 0.5 + hbox: + xmaximum 731 + text "These menu options are intended to improve accessibility and may not work well in all cases where text might overflow. When changing font, text size or spacing try to keep it close to the default size." size 14 hbox: box_wrap True @@ -262,24 +258,25 @@ screen preferences_accessibility(): hbox: style_prefix gui.theme("radio") - textbutton _("V. small") action Preference("font size", 0.7) - textbutton _("Small") action Preference("font size", 0.9) - textbutton _("Normal") action Preference("font size", 1.0) - textbutton _("Large") action Preference("font size", 1.2) - textbutton _("V. Large") action Preference("font size", 1.4) + textbutton "V. small" action Preference("font size", 0.7) + textbutton "Small" action Preference("font size", 0.9) + textbutton "Normal" action Preference("font size", 1.0) + textbutton "Large" action Preference("font size", 1.2) + textbutton "V. Large" action Preference("font size", 1.4) label _("Vertical Text Spacing") hbox: style_prefix gui.theme("radio") - textbutton _("V. small") action Preference("font line spacing", 0.7) - textbutton _("Small") action Preference("font line spacing", 0.9) - textbutton _("Normal") action Preference("font line spacing", 1.0) - textbutton _("Large") action Preference("font line spacing", 1.2) - textbutton _("V. Large") action Preference("font line spacing", 1.4) + textbutton "V. small" action Preference("font line spacing", 0.7) + textbutton "Small" action Preference("font line spacing", 0.9) + textbutton "Normal" action Preference("font line spacing", 1.0) + textbutton "Large" action Preference("font line spacing", 1.2) + textbutton "V. Large" action Preference("font line spacing", 1.4) - if not renpy.mobile: + if not renpy.mobile: + hbox: vbox: style_prefix gui.theme("check") @@ -298,11 +295,11 @@ screen preferences_accessibility(): vbox: label _("Advanced") - textbutton _("Delete persistent data ({color=#f00}!{/color})"): + textbutton "Delete persistent data ({color=#f00}!{/color})": style gui.theme("pref_button") action Confirm(gui.CONFIRM_DELETE_PERSISTENT, Function(delete_persistent)) - textbutton _("Delete save files ({color=#f00}!{/color})"): + textbutton "Delete save files ({color=#f00}!{/color})": style gui.theme("pref_button") action Confirm(gui.CONFIRM_DELETE_SAVES, Function(delete_saves)) @@ -312,20 +309,27 @@ screen preferences_accessibility(): hbox: style_prefix gui.theme("radio") - textbutton _("Aggressive") action [settings.Set("crashdefendersetting", 3), Function(crashdefender.set_mode, 3)] - textbutton _("Balanced") action [settings.Set("crashdefendersetting", 2), Function(crashdefender.set_mode, 2)] - textbutton _("Relaxed") action [settings.Set("crashdefendersetting", 1), Function(crashdefender.set_mode, 1)] - textbutton _("Off") action [settings.Set("crashdefendersetting", 0), Function(crashdefender.set_mode, 0)] + textbutton "Aggressive" action [settings.Set("crashdefendersetting", 3), Function(crashdefender.set_mode, 3)] + textbutton "Balanced" action [settings.Set("crashdefendersetting", 2), Function(crashdefender.set_mode, 2)] + textbutton "Relaxed" action [settings.Set("crashdefendersetting", 1), Function(crashdefender.set_mode, 1)] + textbutton "Off" action [settings.Set("crashdefendersetting", 0), Function(crashdefender.set_mode, 0)] -define gui.CONFIRM_DELETE_PERSISTENT = _("""{color=#7a0000}Warning!{/color} +define gui.CONFIRM_DELETE_PERSISTENT = """{color=#7a0000}Warning!{/color} {size=-4}You are about to reset all persistent data, including achievements, seen text, and preferences.{/size}\n -Are you sure?""") +Are you sure?""" -define gui.CONFIRM_DELETE_SAVES = _("""{color=#7a0000}Warning!{/color} +define gui.CONFIRM_DELETE_SAVES = """{color=#7a0000}Warning!{/color} {size=-4}You are about to delete all save files, including auto saves, quick saves, and manual saves.{/size}\n -Are you sure?""") +Are you sure?""" + +define gui.SAVE_INCOMPATIBLE_WARNING = """{color=#7a0000}Warning!{/color} +{size=-4}The save file you are attempting to load is not compatible +with the current game version. While you can try loading it, +doing so may result in unexpected crashes and bugs. + +Proceed anyway?""" init python: def delete_persistent(): @@ -450,19 +454,19 @@ style slider_vbox is pref_vbox: xsize 320 screen _self_voicing(): - zorder 1500 + zorder 1500 - if _preferences.self_voicing == "clipboard": - $ message = _("Clipboard voicing enabled. Press 'shift+C' to disable.") - elif _preferences.self_voicing == "debug": - $ message = _("Text-to-speech would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable.") - else: - $ message = _("Text-to-speech enabled. Press 'shift+v' to disable.") + if _preferences.self_voicing == "clipboard": + $ message = _("Clipboard voicing enabled. Press 'shift+C' to disable.") + elif _preferences.self_voicing == "debug": + $ message = _("Text-to-speech would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable.") + else: + $ message = _("Text-to-speech enabled. Press 'shift+v' to disable.") - text message: - alt "" + text message: + alt "" - xpos 10 - ypos 35 - color "#fff" - outlines [ (1, "#0008", 0, 0)] + xpos 10 + ypos 35 + color "#fff" + outlines [ (1, "#0008", 0, 0)] diff --git a/game/scripts/gui/save_files.rpy b/game/scripts/gui/save_files.rpy index bc2ceefd..5be285e3 100644 --- a/game/scripts/gui/save_files.rpy +++ b/game/scripts/gui/save_files.rpy @@ -64,12 +64,15 @@ screen file_slots(title): transpose True - for i in xrange(gui.file_slot_cols * gui.file_slot_rows): + for i in range(gui.file_slot_cols * gui.file_slot_rows): $ slot = i + 1 button: - action FileAction(slot) + if not FileCompatible(slot) and title == "Load": + action Confirm(gui.SAVE_INCOMPATIBLE_WARNING, FileAction(slot)) + else: + action FileAction(slot) has fixed @@ -90,12 +93,12 @@ screen file_slots(title): $ hours, minutes = divmod(minutes, 60) text FileTime(slot, format=_(slot_time_format)) - text _("Day: {}".format(day)) - text _("Playtime: {}H {}M {}S".format(hours, minutes, seconds)) + text "Day: {}".format(day) + text "Playtime: {}H {}M {}S".format(hours, minutes, seconds) else: - text _("INCOMPATIBLE") color "#f00" + text "INCOMPATIBLE VERSION" color "#f00" - textbutton _("{font=[gui.glyph_font]}✘{/font}"): + textbutton "{font=[gui.glyph_font]}✘{/font}": style "slot_delete_button" action FileDelete(slot) @@ -118,12 +121,12 @@ screen file_slots(title): textbutton _("{#auto_page}A") action FilePage("auto") keysym "K_a" if config.has_quicksave: - textbutton _("{#quick_page}Q") action FilePage("quick") keysym + textbutton _("{#quick_page}Q") action FilePage("quick") keysym "K_q" $ page_modifier = max(0, int(FilePageName(str(page_modifier+9), str(page_modifier+9)))-9) - for page in xrange(1+page_modifier, 10+page_modifier): + for page in range(1+page_modifier, 10+page_modifier): textbutton "[page]": xminimum 40 action FilePage(page) diff --git a/game/scripts/gui/say.rpy b/game/scripts/gui/say.rpy index 8799a39e..64425a70 100644 --- a/game/scripts/gui/say.rpy +++ b/game/scripts/gui/say.rpy @@ -20,6 +20,11 @@ screen nvl(dialogue, items=None): # # https://www.renpy.org/doc/html/screen_special.html#say +init python: + import re + def text_inner_thought(string, pattern=re.compile(r"\(([^)]+)\)")): + return re.findall(pattern, string) + screen say(who, what, side_image=None, icon=None): zorder 31 @@ -29,6 +34,11 @@ screen say(who, what, side_image=None, icon=None): if not renpy.get_screen("choice"): use invisible_button(action=Function(ui.saybehavior), keysym="dismiss") + # TODO: While this works, there might be a better way to add effects based on contents of the dialogue. + + if text_inner_thought(what) and not renpy.showing("cg"): + add "fade_gradient" + if side_image: add side_image yalign 1.0 yanchor 1.0 zoom 0.5 else: @@ -120,7 +130,7 @@ screen choice(items): style_prefix gui.theme("menu") default blacklist_screens = {"say", "letter", "bld1"} # Combine sets - default blacklist_tags = set(get_character_tag(x) for x in CHARACTERS) + default blacklist_tags = set(get_character_tag(x) for x in states.dolls) # Dont add the fade if character or saybox is present (They have their own triggers for fading) if not any(renpy.get_screen(x) for x in blacklist_screens) and not any(renpy.showing(x, layer="screens") for x in blacklist_tags): @@ -128,7 +138,7 @@ screen choice(items): window at fade_show_hide(0.15): style "empty" - align (menu_x, menu_y) + align states.menu_pos vbox: spacing 0 @@ -144,7 +154,7 @@ screen choice(items): action entry.action sensitive bool(entry.action) if i < 10 and entry.action: - keysym (str(i), "K_KP"+str(i)) + keysym ("K_"+str(i), "K_KP"+str(i)) fixed: style "empty" @@ -171,7 +181,7 @@ screen choice(items): spacing 2 xpos choice_width - 5 align (1.0, 0.5) - for i in xrange(0, max_progress): + for i in range(0, max_progress): if i < len(progress): add progress[i] else: diff --git a/game/scripts/interface/achievements.rpy b/game/scripts/interface/achievements.rpy index 18b3afa6..b90b29c7 100644 --- a/game/scripts/interface/achievements.rpy +++ b/game/scripts/interface/achievements.rpy @@ -1,41 +1,41 @@ define achievements_dict = { - "unlockher": ["Characters", _("Granger Danger"), _("Awarded for unlocking Hermione Granger."), False, "interface/icons/head/hermione.webp", False], - "unlockcho": ["Characters", _("Chang Dynasty"), _("Awarded for unlocking Cho Chang."), False, "interface/icons/head/cho.webp", False], - "unlocklun": ["Characters", _("Looney Tunes"), _("Awarded for unlocking Luna Lovegood."), False, "interface/icons/head/luna.webp", False], - "unlockast": ["Characters", _("Green Peas"), _("Awarded for unlocking Astoria Greengrass."), False, "interface/icons/head/astoria.webp", False], - "unlockton": ["Characters", _("Nymphadoreador"), _("Awarded for unlocking Nymphadora Tonks."), False, "interface/icons/head/tonks.webp", False], - "overwhored": ["Characters", _("Overwhored"), _("Awarded for fully corrupting Hermione."), False, "interface/icons/head/hermione.webp", False], - "unlocksus": ["Characters", _("Boner"), _("Awarded for unlocking Susan Bones."), False, "interface/icons/head/susan.webp", False], - "unlocksna": ["Characters", _("Strictly colleagues"), _("Awarded for unlocking Severus Snape."), False, "interface/icons/head/snape.webp", False], - "mirror": ["Mirror", _("Mirror, mirror on the wall.."), _("Awarded for unlocking the Room of Requirement."), False, "images/rooms/room_of_requirement/mirror_hover.webp", False], - "gold": ["General", _("Gold Digger"), _("Awarded for having 10,000 gold in total."), False, "interface/icons/gold.webp", False], - "drunkard": ["General", _("Drunken Master"), _("Awarded for collecting 25 bottles of wine."), False, "interface/icons/wine.webp", True], - "workaholic": ["General", _("Workaholic"), _("Awarded for completing five full reports."), False, "interface/icons/generic_scroll.webp", False], - "fireplace": ["General", _("Feel the Heat"), _("Awarded for lighting the fireplace 5 times or more."), False, "images/rooms/objects/fireplace/fireplace_idle.webp", True], - "peta": ["General", _("I think I forgot something..."), _("Awarded for not feeding the bird for 50 days.... \nYou monster.\n{size=-4}Disclaimer: No real nor fictional animals were harmed in the process.{/size}"), False, "images/rooms/objects/phoenix/phoenix_01.webp", True], - "petpal": ["General", _("Regular stroking"), _("Awarded for petting the bird 25 times."), False, "images/rooms/objects/phoenix/phoenix_01.webp", False], - "postman": ["Cardgame", _("Poster Boy"), _("Awarded for buying all posters from the token shop."), False, "interface/icons/agrabah_poster.webp", False], - "hats": ["Cardgame", _("Mad Hatter"), _("Awarded for buying all hat decorations from the token shop."), False, "interface/icons/icon_gambler_hat.webp", False], - "daddy": ["Characters", _("Who's your daddy?"), _("Awarded for letting Hermione call you a {size=-5}(sugar){/size} daddy."), False, "interface/icons/head/hermione.webp", True], - "pantiesfap": ["Characters", _("I sneezed on them..."), _("Awarded for rubbing one out on Hermione's panties."), False, "characters/genie/chibis/jerk_off/02.webp", False], - "pantiesfapcho": ["Characters", _("Exercise is important"), _("Awarded for rubbing one out on Cho's panties."), False, "characters/genie/chibis/jerk_off/02.webp", False], - "bros": ["Characters", _("Bros before hoes"), _("Awarded for becoming best pals with Snape."), False, "interface/icons/head/snape.webp", False], - "knock": ["Characters", _("*Knock* *knock*"), _("Awarded for telling Hermione to go away during her introductory events."), False, "images/rooms/objects/doors/door_idle.webp", True], - "decorator": ["Cardgame", _("Decorator"), _("Awarded for decorating the office for the first time."), False, "interface/icons/stag_trophy.webp", False], - "flashback": ["Cardgame", _("Flashback"), _("Awarded for retelling what actually happened..."), False, "interface/icons/cards.webp", True], - "start": ["General", _("Welcome to Hogwarts!"), _("Awarded for finishing the intro."), False, "interface/icon.webp", False], - "export": ["General", _("Sharing is caring"), _("Awarded for exporting an outfit through the wardrobe menu."), False, "interface/wardrobe/icons/load.webp", False], - "Credits": ["General", _("New game, who this?"), _("Awarded for checking out the Credits Menu."), False, "interface/icons/silver_scroll.webp", False], - "Cardwin": ["Cardgame", _("Time to duel"), _("Awarded for winning your first Card game duel."), False, "interface/icons/cards.webp", False], - "puzzle": ["General", _("Down the hatch!"), _("Awarded for wasting a bottle of unbelievably rare phoenix tears by drinking it."), False, "interface/icons/item_potion.webp", True], - "ending": ["General", _("Bittersweet Farewell"), _("Awarded for reaching the original ending."), False, "interface/icons/silver.webp", True], + "unlockher": ["Characters", "Granger Danger", "Awarded for unlocking Hermione Granger.", False, "interface/icons/head/hermione.webp", False], + "unlockcho": ["Characters", "Chang Dynasty", "Awarded for unlocking Cho Chang.", False, "interface/icons/head/cho.webp", False], + "unlocklun": ["Characters", "Looney Tunes", "Awarded for unlocking Luna Lovegood.", False, "interface/icons/head/luna.webp", False], + "unlockast": ["Characters", "Green Peas", "Awarded for unlocking Astoria Greengrass.", False, "interface/icons/head/astoria.webp", False], + "unlockton": ["Characters", "Nymphadoreador", "Awarded for unlocking Nymphadora Tonks.", False, "interface/icons/head/tonks.webp", False], + "overwhored": ["Characters", "Overwhored", "Awarded for fully corrupting Hermione.", False, "interface/icons/head/hermione.webp", False], + "unlocksus": ["Characters", "Boner", "Awarded for unlocking Susan Bones.", False, "interface/icons/head/susan.webp", False], + "unlocksna": ["Characters", "Strictly colleagues", "Awarded for unlocking Severus Snape.", False, "interface/icons/head/snape.webp", False], + "mirror": ["Mirror", "Mirror, mirror on the wall..", "Awarded for unlocking the Room of Requirement.", False, "images/rooms/room_of_requirement/mirror_hover.webp", False], + "gold": ["General", "Gold Digger", "Awarded for having 10,000 gold in total.", False, "interface/icons/gold.webp", False], + "drunkard": ["General", "Drunken Master", "Awarded for collecting 25 bottles of wine.", False, "interface/icons/wine.webp", True], + "workaholic": ["General", "Workaholic", "Awarded for completing five full reports.", False, "interface/icons/generic_scroll.webp", False], + "fireplace": ["General", "Feel the Heat", "Awarded for lighting the fireplace 5 times or more.", False, "images/rooms/main_room/fireplace/fireplace_idle.webp", True], + "peta": ["General", "I think I forgot something...", "Awarded for not feeding the bird for 50 days.... \nYou monster.\n{size=-4}Disclaimer: No real nor fictional animals were harmed in the process.{/size}", False, "images/rooms/main_room/phoenix/phoenix_01.webp", True], + "petpal": ["General", "Regular stroking", "Awarded for petting the bird 25 times.", False, "images/rooms/main_room/phoenix/phoenix_01.webp", False], + "postman": ["Cardgame", "Poster Boy", "Awarded for buying all posters from the token shop.", False, "interface/icons/agrabah_poster.webp", False], + "hats": ["Cardgame", "Mad Hatter", "Awarded for buying all hat decorations from the token shop.", False, "interface/icons/icon_gambler_hat.webp", False], + "daddy": ["Characters", "Who's your daddy?", "Awarded for letting Hermione call you a {size=-5}(sugar){/size} daddy.", False, "interface/icons/head/hermione.webp", True], + "pantiesfap": ["Characters", "I sneezed on them...", "Awarded for rubbing one out on Hermione's panties.", False, "characters/genie/chibis/jerk_off/02.webp", False], + "pantiesfapcho": ["Characters", "Exercise is important", "Awarded for rubbing one out on Cho's panties.", False, "characters/genie/chibis/jerk_off/02.webp", False], + "bros": ["Characters", "Bros before hoes", "Awarded for becoming best pals with Snape.", False, "interface/icons/head/snape.webp", False], + "knock": ["Characters", "*Knock* *knock*", "Awarded for telling Hermione to go away during her introductory events.", False, "images/rooms/main_room/door/door_idle.webp", True], + "decorator": ["Cardgame", "Decorator", "Awarded for decorating the office for the first time.", False, "interface/icons/stag_trophy.webp", False], + "flashback": ["Cardgame", "Flashback", "Awarded for retelling what actually happened...", False, "interface/icons/cards.webp", True], + "start": ["General", "Welcome to Hogwarts!", "Awarded for finishing the intro.", False, "interface/icon.webp", False], + "export": ["General", "Sharing is caring", "Awarded for exporting an outfit through the wardrobe menu.", False, "interface/wardrobe/icons/load.webp", False], + "Credits": ["General", "New game, who this?", "Awarded for checking out the Credits Menu.", False, "interface/icons/silver_scroll.webp", False], + "Cardwin": ["Cardgame", "Time to duel", "Awarded for winning your first Card game duel.", False, "interface/icons/cards.webp", False], + "puzzle": ["General", "Down the hatch!", "Awarded for wasting a bottle of unbelievably rare phoenix tears by drinking it.", False, "interface/icons/item_potion.webp", True], + "ending": ["General", "Bittersweet Farewell", "Awarded for reaching the original ending.", False, "interface/icons/silver.webp", True], #1.37 HG achievements - "busted": ["Characters", _("BUSTED!"), _("Awarded for getting busted by Hermione when busting a nut."), False, "interface/icons/head/hermione.webp", False], - "herstrip": ["Characters", _("Dance lessons"), _("Awarded for having Hermione dance naked in front of you... and Snape."), False, "interface/icons/head/hermione.webp", False], - "herkiss": ["Characters", _("First Kiss"), _("Awarded for having Hermione make out with you-- r... cock..."), False, "interface/icons/head/hermione.webp", False], - "hertits": ["Characters", _("Boobs Lover"), _("Awarded for sticking it between Hermione's fun bags."), False, "interface/icons/head/hermione.webp", False], - "headlib": ["Characters", _("Head Librarian"), _("Awarded for releasing your seed in Hermione's mouth."), False, "interface/icons/head/hermione.webp", False], - "nerdgasm": ["Characters", _("Nerdgasm"), _("Awarded for doing the deed with Hermione."), False, "interface/icons/head/hermione.webp", False] + "busted": ["Characters", "BUSTED!", "Awarded for getting busted by Hermione when busting a nut.", False, "interface/icons/head/hermione.webp", False], + "herstrip": ["Characters", "Dance lessons", "Awarded for having Hermione dance naked in front of you... and Snape.", False, "interface/icons/head/hermione.webp", False], + "herkiss": ["Characters", "First Kiss", "Awarded for having Hermione make out with you-- r... cock...", False, "interface/icons/head/hermione.webp", False], + "hertits": ["Characters", "Boobs Lover", "Awarded for sticking it between Hermione's fun bags.", False, "interface/icons/head/hermione.webp", False], + "headlib": ["Characters", "Head Librarian", "Awarded for releasing your seed in Hermione's mouth.", False, "interface/icons/head/hermione.webp", False], + "nerdgasm": ["Characters", "Nerdgasm", "Awarded for doing the deed with Hermione.", False, "interface/icons/head/hermione.webp", False] } init python: @@ -53,7 +53,7 @@ init python: def validate(self): """Check if icons are loadable at init""" - for i in self.achievements.itervalues(): + for i in self.achievements.values(): if not renpy.loadable(i[4]): raise IOError("\"{}\"".format(i[4])) @@ -65,9 +65,9 @@ init python: Attempted repair will try to fix the mismatched values without resetting the completion status.""" # Save unlock states - unlock_states = {k: v[3] for k, v in self.achievements.iteritems()} + unlock_states = {k: v[3] for k, v in self.achievements.items()} # Keys that should not exist in the persistent state anymore - orphans = self.achievements.viewkeys() - achievements_dict.viewkeys() + orphans = self.achievements.keys() - achievements_dict.keys() # Making some K-pop for k in orphans: @@ -76,20 +76,23 @@ init python: self.achievements.update(achievements_dict) # Reapply unlock states - for k, v in self.achievements.iteritems(): + for k, v in self.achievements.items(): v[3] = unlock_states.get(k, False) def status(self, id): return self.achievements.get(id)[3] def unlock(self, id, silent=False): + if _in_replay: + return + if persistent.achievements[id][3] == False: self.achievements[id][3] = True persistent.achievements[id][3] = True if not silent: renpy.play('sounds/achievement.ogg') - renpy.show_screen("achievement_window", string=persistent.achievements[id][1], title=_("Achievement unlocked!"), icon=persistent.achievements[id][4]) + renpy.show_screen("achievement_window", msg=persistent.achievements[id][1], title="Achievement unlocked!", icon=persistent.achievements[id][4]) def lock(self, id): self.achievements[id][3] = False @@ -97,11 +100,11 @@ init python: def achievement_sortfilter(item, sortby="A-z", filtering=None): if filtering == "Locked": - item = filter(lambda x: x[1][3] is False, item) + item = [x for x in item if x[1][3] is False] elif filtering == "Unlocked": - item = filter(lambda x: x[1][3] is True, item) + item = [x for x in item if x[1][3] is True] elif filtering == "Secret": - item = filter(lambda x: x[1][5] is True, item) + item = [x for x in item if x[1][5] is True] # Always sort alphabetically first. item = sorted(item, key=lambda x: natsort_key(x[1][1])) @@ -119,14 +122,14 @@ default achievements = Achievements() ### -label popup(string="", title="", icon=None, xpos=0, ypos=60, sound=True, soundfile='sounds/achievement.ogg'): +label popup(msg="", title="", icon=None, xpos=0, ypos=60, sound=True, soundfile='sounds/achievement.ogg'): if sound: - $ renpy.play(soundfile) + play sound soundfile hide screen achievement_window - show screen achievement_window(string=string, title=title, icon=icon, xpos=xpos, ypos=ypos) + show screen achievement_window(msg=msg, title=title, icon=icon, xpos=xpos, ypos=ypos) return -screen achievement_window(string="", title="", icon=None, xpos=0, ypos=60): +screen achievement_window(msg="", title="", icon=None, xpos=0, ypos=60): tag popup_window layer "interface" @@ -160,7 +163,7 @@ screen achievement_window(string="", title="", icon=None, xpos=0, ypos=60): spacing 10 xalign 0.5 text title size 18 xalign 0.5 xanchor 0.5 - text string size 14 xalign 0.5 xanchor 0.5 + text msg size 14 xalign 0.5 xanchor 0.5 timer 6.0 action Hide("achievement_window") transform rotate_circular(): @@ -179,69 +182,72 @@ label achievement: label achievement_menu(xx=150, yy=90): - $ achievement_categories_sorted = [_("All"), _("General"), _("Characters"), _("Cardgame"), _("Mirror")] + python: + achievement_categories_sorted = ["All", "General", "Characters", "Cardgame", "Mirror"] - $ items_shown = 36 - $ current_page = 0 - $ current_category = achievement_categories_sorted[0] - $ current_filter = None - $ current_sorting = "Unlocked" + items_shown = 36 + current_page = 0 + current_category = achievement_categories_sorted[0] + current_filter = None + current_sorting = "Unlocked" - $ category_items = list(persistent.achievements.iteritems()) - $ menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) - $ current_item = next(iter(menu_items), None) + category_items = list(persistent.achievements.items()) + menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) + current_item = next(iter(menu_items), None) - show screen achievements(xx, yy) + renpy.show_screen("achievements", xx, yy) label .after_init: - $ _choice = ui.interact() - if _choice[0] == "select": - $ current_item = _choice[1] - elif _choice[0] == "category": - $ current_category = _choice[1] - if current_category == "All": - $ category_items = list(persistent.achievements.iteritems()) + python: + _choice = ui.interact() + + if _choice[0] == "select": + current_item = _choice[1] + elif _choice[0] == "category": + current_category = _choice[1] + if current_category == "All": + category_items = list(persistent.achievements.items()) + else: + category_items = [x for x in list(persistent.achievements.items()) if current_category in x[1][0]] + menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) + current_page = 0 + current_item = next(iter(menu_items), None) + elif _choice == "inc": + current_page += 1 + elif _choice == "dec": + current_page += -1 + elif _choice == "filter": + if current_filter == None: + current_filter = "Locked" + elif current_filter == "Locked": + current_filter = "Unlocked" + elif current_filter == "Unlocked": + current_filter = "Secret" + else: + current_filter = None + menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) + current_page = 0 + current_item = next(iter(menu_items), None) + elif _choice == "sort": + if current_sorting == "A-z": + current_sorting = "z-A" + elif current_sorting == "z-A": + current_sorting = "Unlocked" + elif current_sorting == "Unlocked": + current_sorting = "Locked" + else: + current_sorting = "A-z" + menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) + current_page = 0 + current_item = next(iter(menu_items), None) else: - $ category_items = filter(lambda x: current_category in x[1][0], list(persistent.achievements.iteritems())) - $ menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) - $ current_page = 0 - $ current_item = next(iter(menu_items), None) - elif _choice == "inc": - $ current_page += 1 - elif _choice == "dec": - $ current_page += -1 - elif _choice == "filter": - if current_filter == None: - $ current_filter = "Locked" - elif current_filter == "Locked": - $ current_filter = "Unlocked" - elif current_filter == "Unlocked": - $ current_filter = "Secret" - else: - $ current_filter = None - $ menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) - $ current_page = 0 - $ current_item = next(iter(menu_items), None) - elif _choice == "sort": - if current_sorting == "A-z": - $ current_sorting = "z-A" - elif current_sorting == "z-A": - $ current_sorting = "Unlocked" - elif current_sorting == "Unlocked": - $ current_sorting = "Locked" - else: - $ current_sorting = "A-z" - $ menu_items = achievement_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) - $ current_page = 0 - $ current_item = next(iter(menu_items), None) - else: - hide screen achievements - return + renpy.hide_screen("achievements") + renpy.return_statement() jump .after_init @@ -288,10 +294,10 @@ screen achievement_menu(xx, yy): style_prefix gui.theme('achievements_filters') pos (6, 384) if current_filter == None: - textbutton _("Show: All") action Return("filter") + textbutton "Show: All" action Return("filter") else: - textbutton _("Show: [current_filter]") action Return("filter") - textbutton _("Sort by: [current_sorting]") action Return("sort") + textbutton "Show: [current_filter]" action Return("filter") + textbutton "Sort by: [current_sorting]" action Return("sort") screen achievement_menuitem(xx, yy): window: @@ -304,9 +310,9 @@ screen achievement_menuitem(xx, yy): add "interface/achievements/star.webp" add gui.format("interface/achievements/{}/panel.webp") - text _("Achievements") size 22 xalign 0.5 ypos 65 + text "Achievements" size 22 xalign 0.5 ypos 65 - text _("Unlocked: "+str(len(filter(lambda x: x[1][3] is True, menu_items)))+"/[menu_items_length]") size 12 pos (24, 70) + text "Unlocked: "+str(len([x for x in menu_items if x[1][3] is True]))+"/[menu_items_length]" size 12 pos (24, 70) # Page counter if menu_items_length > items_shown: @@ -315,7 +321,7 @@ screen achievement_menuitem(xx, yy): pos (540, 24) spacing 5 add "interface/page.webp" yanchor 0.5 ypos 53 - text str(current_page+1)+"/"+str(int(math.ceil(menu_items_length/items_shown))+1) ypos 44 size 16 + text str(current_page+1)+"/"+str(int(math.ceil(menu_items_length/items_shown))) ypos 44 size 16 vbox: pos (570, 186) spacing 10 @@ -328,12 +334,12 @@ screen achievement_menuitem(xx, yy): imagebutton: idle Transform(gui.format("interface/frames/{}/arrow_up.webp"), yzoom = -1.0) - if current_page < math.ceil((menu_items_length-1)/items_shown): + if current_page < math.ceil((menu_items_length-1)/items_shown)-1: hover Transform(image_hover(gui.format("interface/frames/{}/arrow_up.webp")), yzoom = -1.0) action Return("inc") # Add items - for i in xrange(current_page*items_shown, (current_page*items_shown)+items_shown): + for i in range(current_page*items_shown, (current_page*items_shown)+items_shown): if i < menu_items_length: $ row = (i // 9) % 4 $ col = i % 9 diff --git a/game/scripts/interface/book.rpy b/game/scripts/interface/book.rpy index 0f6fd9ad..908d4cc4 100644 --- a/game/scripts/interface/book.rpy +++ b/game/scripts/interface/book.rpy @@ -75,7 +75,7 @@ init python: label book_handle(book=None): $ book.open() - $ renpy.play('sounds/bookopen.ogg') + play sound "sounds/bookopen.ogg" show screen book_animator("book_page_next", 0.5) label .after_init: @@ -83,22 +83,22 @@ label book_handle(book=None): if _choice == "next": $ book.next() - $ renpy.play('sounds/pageflip.ogg') + play sound "sounds/pageflip.ogg" show screen book_animator("book_page_next", 0.5) with d1 elif _choice == "prev": $ book.prev() - $ renpy.play('sounds/pageflip.ogg') + play sound "sounds/pageflip.ogg" show screen book_animator("book_page_prev", 0.5) with d1 elif _choice == "back": $ book.open() - $ renpy.play('sounds/pageflipback.ogg') + play sound "sounds/pageflipback.ogg" show screen book_animator("book_page_start", 0.5) with d1 elif _choice == "Close": $ book.close() - $ renpy.play('sounds/bookclose.ogg') + play sound "sounds/bookclose.ogg" return jump .after_init diff --git a/game/scripts/interface/brewing.rpy b/game/scripts/interface/brewing.rpy index 9c82fa1f..c91a1279 100644 --- a/game/scripts/interface/brewing.rpy +++ b/game/scripts/interface/brewing.rpy @@ -19,13 +19,14 @@ label brewing: label brewing_menu(xx=150, yy=90): - $ items_shown = 36 - $ current_filter = "Unlocked" - $ current_sorting = "A-z" + python: + items_shown = 36 + current_filter = "Unlocked" + current_sorting = "A-z" - $ menu_items = brewing_sortfilter(inventory.get_instances_of_type("potion"), current_sorting, current_filter) - $ menu_items_length = len(menu_items) - $ current_item = next(iter(menu_items), None) + menu_items = brewing_sortfilter(inventory.get_instances_of_type("potion"), current_sorting, current_filter) + menu_items_length = len(menu_items) + current_item = next(iter(menu_items), None) show screen brewing(xx, yy) @@ -54,7 +55,7 @@ label brewing_menu(xx=150, yy=90): #$ current_item = next(iter(menu_items), None) elif _choice[0] == "make": if _choice[1].has_ingredients(): - $ renpy.play("sounds/bubble.ogg") + play sound "sounds/bubble.ogg" $ _choice[1].make() else: gen "It appears I'm missing some key ingredients..." ("base", xpos="far_left", ypos="head") @@ -250,8 +251,8 @@ screen brewing_menuitem(xx, yy): action Return(["make", current_item]) if current_item.has_ingredients(): hover image_hover("cauldron_on") - hovered [Play("bg_sounds", "sounds/brewing_idle.ogg"), SetLocalVariable("turned_on", True)] - unhovered [Stop("bg_sounds"), SetLocalVariable("turned_on", False)] + hovered [Play("background", "sounds/brewing_idle.ogg"), SetLocalVariable("turned_on", True)] + unhovered [Stop("background"), SetLocalVariable("turned_on", False)] else: hover image_hover("cauldron_off") diff --git a/game/scripts/interface/cheats.rpy b/game/scripts/interface/cheats.rpy index 549dc707..71612bf8 100644 --- a/game/scripts/interface/cheats.rpy +++ b/game/scripts/interface/cheats.rpy @@ -21,32 +21,32 @@ label cheats: python: for i in inventory.get_instances_of_type("gift"): i.owned = i.limit - ">Added 100 of each gift item to the inventory." + nar "Added 100 of each gift item to the inventory." "-Get all potions-" (icon="interface/icons/small/potion.webp"): python: for i in inventory.get_instances_of_type("potion"): i.owned = i.limit - ">Added 100 of each potion item to the inventory." + nar "Added 100 of each potion item to the inventory." "-Get all ingredients-" (icon="interface/icons/small/potion.webp"): python: for i in inventory.get_instances_of_type("ingredient"): i.owned = i.limit - ">Added 100 of each ingredient item to the inventory." + nar "Added 100 of each ingredient item to the inventory." "-Get all scrolls-" (icon="interface/icons/small/spell.webp"): python: for i in inventory.get_instances_of_type("scroll"): i.owned = i.limit - ">Added all scrolls to the inventory." + nar "Added all scrolls to the inventory." "-Get all books-" (icon="interface/icons/small/book.webp"): python: for i in inventory.get_instances_of_type("book"): i.owned = i.limit - ">Added all books to the inventory." + nar "Added all books to the inventory." "-Get all decorations-" (icon="interface/icons/small/gold.webp"): python: for i in inventory.get_instances_of_type("decoration"): i.owned = i.limit - ">Added all decorations to the inventory." + nar "Added all decorations to the inventory." "-Get all quest items-" (icon="interface/icons/small/potion.webp"): menu: "Uncle Good Advice" "{color=#ff8000}Attention!{/color} You may receive items that are not intended to be used in your time line, or may be experimental. Do you still wish to proceed?" @@ -59,7 +59,7 @@ label cheats: for i in inventory.get_instances_of_type("quest"): i.owned = i.limit - ">Added all quest items to the inventory." + nar "Added all quest items to the inventory." "-Get all outfits-" (icon="interface/icons/small/wardrobe.webp"): menu: "Uncle Good Advice" "{color=#ff8000}Attention!{/color} You may receive outfits that are not intended to be used in your time line, may be experimental, or are duplicates of the already existing outfits. Do you still wish to proceed?" @@ -70,7 +70,7 @@ label cheats: jump cheats.general python: - for i in CHARACTERS: + for i in states.dolls: for x in getattr(renpy.store, i).outfits: if not x.hidden: x.unlock() @@ -80,7 +80,7 @@ label cheats: $ ball_outfit_ITEM.owned = 1 $ maid_outfit_ITEM.owned = 1 - ">Added all outfits to the wardrobe." + nar "Added all outfits to the wardrobe." "-Back-": jump cheats jump cheats.general @@ -89,128 +89,128 @@ label cheats: label .characters: menu: - "-Tonks-" (icon="interface/icons/small/tonks.webp") if tonks_unlocked: + "-Tonks-" (icon="interface/icons/small/tonks.webp") if states.ton.unlocked: label .tonks: menu: - "-Reset mood- ([ton_mood])" if ton_mood != 0: - $ ton_mood = 0 - ">Tonks is no longer mad at you." - "-Increase Friendship- ([ton_friendship])" if ton_friendship < 100: - $ ton_friendship += 5 - ">Tonks likes you more..." - "-Decrease Friendship- ([ton_friendship])" if ton_friendship > 0: - $ ton_friendship -= 5 - ">Tonks likes you less..." + "-Reset mood- ([states.ton.mood])" if states.ton.mood != 0: + $ states.ton.mood = 0 + nar "Tonks is no longer mad at you." + "-Increase Friendship- ([states.ton.level])" if states.ton.level < 100: + $ states.ton.level += 5 + nar "Tonks likes you more..." + "-Decrease Friendship- ([states.ton.level])" if states.ton.level > 0: + $ states.ton.level -= 5 + nar "Tonks likes you less..." "-Back-": jump cheats.characters jump cheats.tonks - "-Hermione-" (icon="interface/icons/small/hermione.webp") if hermione_unlocked: + "-Hermione-" (icon="interface/icons/small/hermione.webp") if states.her.unlocked: label .hermione: menu: - "-Reset mood- ([her_mood])" if her_mood != 0: - $ her_mood = 0 - ">Hermione is no longer mad at you." - "-Increase Whoring- ([her_whoring])" (icon="interface/icons/small/heart_red.webp") if her_whoring < 24: - $ her_whoring += 1 - ">Hermione became more depraved..." - "-Decrease Whoring- ([her_whoring])" (icon="interface/icons/small/heart_black.webp") if her_whoring > 0: - $ her_whoring += -1 - ">Hermione recovered some of her dignity." - "-Increase Reputation- ([her_reputation])" (icon="interface/icons/small/star_yellow.webp") if her_reputation < 24: - $ her_reputation += 1 - ">Hermione became more depraved..." - "-Decrease Reputation- ([her_reputation])" (icon="interface/icons/small/star_empty.webp") if her_reputation > 0: - $ her_reputation += -1 - ">Hermione recovered some of her dignity." + "-Reset mood- ([states.her.mood])" if states.her.mood != 0: + $ states.her.mood = 0 + nar "Hermione is no longer mad at you." + "-Increase Whoring- ([states.her.level])" (icon="interface/icons/small/heart_red.webp") if states.her.level < 24: + $ states.her.level += 1 + nar "Hermione became more depraved..." + "-Decrease Whoring- ([states.her.level])" (icon="interface/icons/small/heart_black.webp") if states.her.level > 0: + $ states.her.level += -1 + nar "Hermione recovered some of her dignity." + "-Increase Reputation- ([states.her.public_level])" (icon="interface/icons/small/star_yellow.webp") if states.her.public_level < 24: + $ states.her.public_level += 1 + nar "Hermione became more depraved..." + "-Decrease Reputation- ([states.her.public_level])" (icon="interface/icons/small/star_empty.webp") if states.her.public_level > 0: + $ states.her.public_level += -1 + nar "Hermione recovered some of her dignity." "-Back-": jump cheats.characters jump cheats.hermione - "-Cho-" (icon="interface/icons/small/cho.webp") if cho_unlocked: + "-Cho-" (icon="interface/icons/small/cho.webp") if states.cho.unlocked: label .cho: menu: - "-Reset mood- ([cho_mood])" if cho_mood != 0: - $ cho_mood = 0 - ">Cho is no longer mad at you." - "-Increase Whoring- ([cho_whoring])" (icon="interface/icons/small/heart_red.webp") if cho_whoring < 24: - $ cho_whoring += 1 - ">Cho became more depraved..." - "-Decrease Whoring- ([cho_whoring])" (icon="interface/icons/small/heart_black.webp") if cho_whoring > 0: - $ cho_whoring += -1 - ">Cho recovered some of her dignity." - "-Increase Reputation- ([cho_reputation])" (icon="interface/icons/small/star_yellow.webp") if cho_reputation < 24: - $ cho_reputation += 1 - ">Cho became more depraved..." - "-Decrease Reputation- ([cho_reputation])" (icon="interface/icons/small/star_empty.webp") if cho_reputation > 0: - $ cho_reputation += -1 - ">Cho recovered some of her dignity." + "-Reset mood- ([states.cho.mood])" if states.cho.mood != 0: + $ states.cho.mood = 0 + nar "Cho is no longer mad at you." + "-Increase Whoring- ([states.cho.level])" (icon="interface/icons/small/heart_red.webp") if states.cho.level < 24: + $ states.cho.level += 1 + nar "Cho became more depraved..." + "-Decrease Whoring- ([states.cho.level])" (icon="interface/icons/small/heart_black.webp") if states.cho.level > 0: + $ states.cho.level += -1 + nar "Cho recovered some of her dignity." + "-Increase Reputation- ([states.cho.public_level])" (icon="interface/icons/small/star_yellow.webp") if states.cho.public_level < 24: + $ states.cho.public_level += 1 + nar "Cho became more depraved..." + "-Decrease Reputation- ([states.cho.public_level])" (icon="interface/icons/small/star_empty.webp") if states.cho.public_level > 0: + $ states.cho.public_level += -1 + nar "Cho recovered some of her dignity." "-Back-": jump cheats.characters jump cheats.cho - "-Luna-" (icon="interface/icons/small/luna.webp") if luna_unlocked: + "-Luna-" (icon="interface/icons/small/luna.webp") if states.lun.unlocked: label .luna: menu: - "-Reset mood- ([cho_mood])" if lun_mood != 0: - $ lun_mood = 0 - ">Luna is no longer mad at you." - "-Increase Whoring- ([lun_whoring])" (icon="interface/icons/small/heart_red.webp") if lun_whoring < 24: - $ lun_whoring += 1 - ">Luna became more depraved..." - "-Decrease Whoring- ([lun_whoring])" (icon="interface/icons/small/heart_black.webp") if lun_whoring > 0: - $ lun_whoring += -1 - ">Luna recovered some of her dignity." + "-Reset mood- ([states.cho.mood])" if states.lun.mood != 0: + $ states.lun.mood = 0 + nar "Luna is no longer mad at you." + "-Increase Whoring- ([states.lun.level])" (icon="interface/icons/small/heart_red.webp") if states.lun.level < 24: + $ states.lun.level += 1 + nar "Luna became more depraved..." + "-Decrease Whoring- ([states.lun.level])" (icon="interface/icons/small/heart_black.webp") if states.lun.level > 0: + $ states.lun.level += -1 + nar "Luna recovered some of her dignity." # "-Increase Reputation- ([lun_reputation])" (icon="interface/icons/small/star_yellow.webp") if lun_reputation < 24: # $ lun_reputation += 1 - # ">Luna became more depraved..." + # nar "Luna became more depraved..." # "-Decrease Reputation- ([lun_reputation])" (icon="interface/icons/small/star_empty.webp") if lun_reputation > 0: # $ lun_reputation += -1 - # ">Luna recovered some of her dignity." + # nar "Luna recovered some of her dignity." "-Back-": jump cheats.characters jump cheats.luna - "-Astoria-" (icon="interface/icons/small/astoria.webp") if astoria_unlocked: + "-Astoria-" (icon="interface/icons/small/astoria.webp") if states.ast.unlocked: label .astoria: menu: - "-Reset mood-" if ast_mood != 0: - $ ast_mood = 0 - ">Astoria is no longer mad at you." - "-Increase Whoring-" (icon="interface/icons/small/heart_red.webp") if ast_whoring < 24: - $ ast_whoring += 1 - ">Astoria likes you more..." - "-Decrease Whoring-" (icon="interface/icons/small/heart_black.webp") if ast_whoring > 0: - $ ast_whoring += -1 + "-Reset mood-" if states.ast.mood != 0: + $ states.ast.mood = 0 + nar "Astoria is no longer mad at you." + "-Increase Whoring-" (icon="interface/icons/small/heart_red.webp") if states.ast.level < 24: + $ states.ast.level += 1 + nar "Astoria likes you more..." + "-Decrease Whoring-" (icon="interface/icons/small/heart_black.webp") if states.ast.level > 0: + $ states.ast.level += -1 "Astoria likes you less..." - # "-Increase Reputation- ([ast_reputation])" (icon="interface/icons/small/star_yellow.webp") if ast_reputation < 24: - # $ ast_reputation += 1 - # ">Astoria became more depraved..." - # "-Decrease Reputation- ([ast_reputation])" (icon="interface/icons/small/star_empty.webp") if ast_reputation > 0: - # $ ast_reputation += -1 - # ">Astoria recovered some of her dignity" + # "-Increase Reputation- ([states.ast.public_level])" (icon="interface/icons/small/star_yellow.webp") if states.ast.public_level < 24: + # $ states.ast.public_level += 1 + # nar "Astoria became more depraved..." + # "-Decrease Reputation- ([states.ast.public_level])" (icon="interface/icons/small/star_empty.webp") if states.ast.public_level > 0: + # $ states.ast.public_level += -1 + # nar "Astoria recovered some of her dignity" "-Back-": jump cheats.characters jump cheats.astoria - "-Susan-" (icon="interface/icons/small/huff.webp") if susan_unlocked: + "-Susan-" (icon="interface/icons/small/huff.webp") if states.sus.unlocked: label .susan: menu: - "-Reset mood- ([cho_mood])" if sus_mood != 0: - $ sus_mood = 0 - ">Susan is no longer mad at you." - "-Increase Whoring- ([sus_whoring])" (icon="interface/icons/small/heart_red.webp") if sus_whoring < 24: - $ sus_whoring += 1 - ">Susan became more depraved..." - "-Decrease Whoring- ([sus_whoring])" (icon="interface/icons/small/heart_black.webp") if sus_whoring > 0: - $ sus_whoring += -1 - ">Susan recovered some of her dignity." + "-Reset mood- ([states.cho.mood])" if states.sus.mood != 0: + $ states.sus.mood = 0 + nar "Susan is no longer mad at you." + "-Increase Whoring- ([states.sus.level])" (icon="interface/icons/small/heart_red.webp") if states.sus.level < 24: + $ states.sus.level += 1 + nar "Susan became more depraved..." + "-Decrease Whoring- ([states.sus.level])" (icon="interface/icons/small/heart_black.webp") if states.sus.level > 0: + $ states.sus.level += -1 + nar "Susan recovered some of her dignity." # "-Increase Reputation- ([sus_reputation])" (icon="interface/icons/small/star_yellow.webp") if sus_reputation < 24: # $ sus_reputation += 1 - # ">Susan became more depraved..." + # nar "Susan became more depraved..." # "-Decrease Reputation- ([sus_reputation])" (icon="interface/icons/small/star_empty.webp") if sus_reputation > 0: # $ sus_reputation += -1 - # ">Susan recovered some of her dignity." + # nar "Susan recovered some of her dignity." "-Back-": jump cheats.characters jump cheats.susan @@ -225,42 +225,42 @@ label cheats: "-Add 200 Slytherin Points-" (icon="interface/icons/small/slyt.webp"): $ slytherin = clamp(slytherin+200, 1, 999999) call update_ui_points - ">Added 200 points to Slytherin!" + nar "Added 200 points to Slytherin!" "-Remove 200 Slytherin Points-" (icon="interface/icons/small/slyt.webp"): $ slytherin = clamp(slytherin-200, 1, 999999) call update_ui_points - ">Removed 200 points from Slytherin!" + nar "Removed 200 points from Slytherin!" "-Add 200 Gryffindor Points-" (icon="interface/icons/small/gryf.webp"): $ gryffindor = clamp(gryffindor+200, 1, 999999) call update_ui_points - ">Added 200 points to Gryffindor!" + nar "Added 200 points to Gryffindor!" "-Remove 200 Gryffindor Points-" (icon="interface/icons/small/gryf.webp"): $ gryffindor = clamp(gryffindor-200, 1, 999999) call update_ui_points - ">Removed 200 points from Gryffindor!" + nar "Removed 200 points from Gryffindor!" "-Add 200 Ravenclaw Points-" (icon="interface/icons/small/rave.webp"): $ ravenclaw = clamp(ravenclaw+200, 1, 999999) call update_ui_points - ">Added 200 points to Ravenclaw!" + nar "Added 200 points to Ravenclaw!" "-Remove 200 Ravenclaw Points-" (icon="interface/icons/small/rave.webp"): $ ravenclaw = clamp(ravenclaw-200, 1, 999999) call update_ui_points - ">Removed 200 points from Ravenclaw!" + nar "Removed 200 points from Ravenclaw!" "-Add 200 Hufflepuff Points-" (icon="interface/icons/small/huff.webp"): $ hufflepuff = clamp(hufflepuff+200, 1, 999999) call update_ui_points - ">Added 200 points to Hufflepuff!" + nar "Added 200 points to Hufflepuff!" "-Remove 200 Hufflepuff Points-" (icon="interface/icons/small/huff.webp"): $ hufflepuff = clamp(hufflepuff-200, 1, 999999) call update_ui_points - ">Removed 200 points from Hufflepuff!" + nar "Removed 200 points from Hufflepuff!" "-Reset all points-": $ slytherin = 1 $ gryffindor = 1 $ ravenclaw = 1 $ hufflepuff = 1 call update_ui_points - ">House points reset!" + nar "House points reset!" "-Back-": jump cheats jump cheats.points @@ -273,12 +273,12 @@ label cheats: python: for i in mirror.items: i.unlocked = True - ">Unlocked all mirror stories." + nar "Unlocked all mirror stories." # "-Hermione-": # jump cheats.progression - # "-Cho-" if her_tier >= 2: + # "-Cho-" if states.her.tier >= 2: # jump cheats.progression "-Back-": @@ -296,80 +296,111 @@ label cheats: "-Yes-": $ experimental_cheats = True - ">Experimental cheats have been unlocked." + nar "Experimental cheats have been unlocked." "-No-": "Uncle Good Advice" "Smart choice." jump cheats menu: + "-Genie Outfits-": + label .genie: + menu: + "-Use Default Outfit-": + show genie robes + hide genie + with None + + gen robes "Swag." ("grin", xpos="far_left", ypos="head") + "-Use Santa Outfit-": + show genie santa + hide genie + with None + + gen santa "Cool." ("grin", xpos="far_left", ypos="head") + nar "Disclaimer: Outfits will not be displayed during CG scenes and for chibi animations." + "-Back-": + jump cheats.characters + jump cheats.genie "{size=-4}-Wardrobe Transparency Slider- (Is enabled: [cheat_wardrobe_alpha]){/size}" (icon="interface/icons/small/wardrobe.webp"): $ cheat_wardrobe_alpha = not cheat_wardrobe_alpha "-Unequip all clothes-": python: - for i in CHARACTERS: - getattr(renpy.store, i).unequip("all") + for i in states.dolls: + getattr(renpy.store, i).unequip("clothes") - ">All characters are now naked." + nar "All characters are now naked." "-Unlock all characters-" (icon="interface/icons/small/talk.webp"): - $ snape_unlocked = True - $ tonks_unlocked = True - $ hermione_unlocked = True - $ cho_unlocked = True - $ astoria_unlocked = True - $ susan_unlocked = True - $ luna_unlocked = True + $ states.sna.unlocked = True + $ states.ton.unlocked = True + $ states.her.unlocked = True + $ states.cho.unlocked = True + $ states.ast.unlocked = True + $ states.sus.unlocked = True + $ states.lun.unlocked = True # ginny_unlocked = True # voldermort_unlocked = True # hagrid_unlocked = True - ">All characters have been unlocked." + nar "All characters have been unlocked." "-Unlock all wardrobes-" (icon="interface/icons/small/wardrobe.webp"): - $ tonks_wardrobe_unlocked = True - $ hermione_wardrobe_unlocked = True - $ cho_wardrobe_unlocked = True - $ astoria_wardrobe_unlocked = True - $ susan_wardrobe_unlocked = True - $ luna_wardrobe_unlocked = True + $ states.ton.wardrobe_unlocked = True + $ states.her.wardrobe_unlocked = True + $ states.cho.wardrobe_unlocked = True + $ states.ast.wardrobe_unlocked = True + $ states.sus.wardrobe_unlocked = True + $ states.lun.wardrobe_unlocked = True # ginny_wardrobe_unlocked = True # voldemort_wardrobe_unlocked = True # hagrid_wardrobe_unlocked = True - ">All wardrobes have been unlocked." + nar "All wardrobes have been unlocked." "-Permanent body alteration-": label .alteration: - $ _curr_breast_type = hermione.body.body["breasts"][0] - $ _curr_ass_type = hermione.body.body["backside"][0] or "normal" - # Note: itertools.cycle breaks Ren'py so we have to rely on a good 'ol if statement # *Sigh* I wish we had match statement in python 2 :( + # + # Years later: Python 3 switch cases are finally here, but are not usable in renpy. :( + + default _curr_breast_type = 0 + default _curr_ass_type = 0 menu: "Hermione Breasts ([_curr_breast_type])" (icon="interface/icons/small/hermione.webp"): - if _curr_breast_type == "normal": - $ hermione.set_body(breasts="big1") - elif _curr_breast_type == "big1": - $ hermione.set_body(breasts="big2") - elif _curr_breast_type == "big2": - $ hermione.set_body(breasts="big3") - else: - $ hermione.set_body(breasts="normal") + python: + if _curr_breast_type == 0: + hermione.equip(her_chest_breasts1) + _curr_breast_type = 1 + elif _curr_breast_type == 1: + hermione.equip(her_chest_breasts2) + _curr_breast_type = 2 + elif _curr_breast_type == 2: + hermione.equip(her_chest_breasts3) + _curr_breast_type = 3 + elif _curr_breast_type == 3: + hermione.unequip("chest") + _curr_breast_type = 0 jump cheats.alteration "Hermione Ass ([_curr_ass_type])" (icon="interface/icons/small/hermione.webp"): - if _curr_ass_type == "normal": - $ hermione.set_body(backside="big1") - elif _curr_ass_type == "big1": - $ hermione.set_body(backside="big2") - elif _curr_ass_type == "big2": - $ hermione.set_body(backside="big3") - else: - $ hermione.set_body(backside=None) # This is intended. + python: + if _curr_ass_type == 0: + hermione.equip(her_hips_ass1) + _curr_ass_type = 1 + elif _curr_ass_type == 1: + hermione.equip(her_hips_ass2) + _curr_ass_type = 2 + elif _curr_ass_type == 2: + hermione.equip(her_hips_ass3) + _curr_ass_type = 3 + elif _curr_ass_type == 3: + hermione.unequip("hips") + _curr_ass_type = 0 jump cheats.alteration @@ -388,67 +419,68 @@ label cheats: label .hermione_skip_intro: - $ bird_examined = True - $ desk_examined = True - $ cupboard_examined = True - $ door_examined = True - $ fireplace_examined = True + $ states.gen.ev.intro.bird_examined = True + $ states.gen.ev.intro.desk_examined = True + $ states.gen.ev.intro.cupboard_examined = True + $ states.gen.ev.intro.door_examined = True + $ states.gen.ev.intro.fireplace_examined = True $ wine_ITEM.owned = 5 $ firewhisky_ITEM.owned = 5 - $ rum_times = 6 + $ states.cupboard_rummaged_times = 6 $ game.day = 13 $ achievements.unlock("start", True) - $ genie_intro.E1_complete = True - $ genie_intro.E2_complete = True - $ genie_intro.E3_complete = True - $ genie_intro.E4_complete = True + $ states.gen.ev.intro.e1_complete = True + $ states.gen.ev.intro.e2_complete = True + $ states.gen.ev.intro.e3_complete = True + $ states.gen.ev.intro.e4_complete = True - $ snape_intro.E1_complete = True - $ snape_intro.E2_complete = True - $ snape_intro.E3_complete = True - $ snape_intro.duel_complete = True - $ snape_intro.E4_complete = True - $ snape_intro.E5_complete = True + $ states.sna.ev.intro.e1_complete = True + $ states.sna.ev.intro.e2_complete = True + $ states.sna.ev.intro.e3_complete = True + $ states.sna.ev.intro.duel_complete = True + $ states.sna.ev.intro.e4_complete = True + $ states.sna.ev.intro.e5_complete = True - $ ss_he.hermione_E1 = True - $ ss_he.hermione_E2 = True - $ ss_he.tonks_E1 = True - $ ss_he.tonks_E2 = True - $ ss_he.tonks_E3 = True + $ states.sna.ev.hangouts.hermione_e1 = True + $ states.sna.ev.hangouts.hermione_e2 = True + $ states.sna.ev.hangouts.tonks_e1 = True + $ states.sna.ev.hangouts.tonks_e2 = True + $ states.sna.ev.hangouts.tonks_e3 = True - $ tonks_intro.E1_complete = True - $ tonks_intro.E2_complete = True - $ tonks_intro.E3_complete = True + $ states.ton.ev.intro.e1_complete = True + $ states.ton.ev.intro.e2_complete = True + $ states.ton.ev.intro.e3_complete = True - $ nt_he.hermione_E1 = True + $ states.her.ev.intro.convinced = True - $ hermione_intro.E1_complete = True - $ hermione_intro.E2_complete = True - $ hermione_intro.E3_complete = True - $ hermione_intro.E4_complete = True - $ hermione_intro.E5_complete = True - $ hermione_intro.E6_complete = True + $ states.her.ev.intro.e1_complete = True + $ states.her.ev.intro.e2_complete = True + $ states.her.ev.intro.e3_complete = True + $ states.her.ev.intro.e4_complete = True + $ states.her.ev.intro.e5_complete = True + $ states.her.ev.intro.e6_complete = True $ letter_hg_1.open(silent=True) $ letter_hg_2.open(silent=True) $ letter_work_unlock.open(silent=True) $ letter_favors.open(silent=True) - $ snape_unlocked = True + $ states.sna.unlocked = True $ achievements.unlock("unlocksna", True) - $ tonks_unlocked = True + $ states.ton.unlocked = True $ achievements.unlock("unlockton", True) - $ hermione_unlocked = True + $ states.her.unlocked = True $ achievements.unlock("unlockher", True) - $ tutoring_hermione_unlocked = True - $ hermione_favors = True - $ hermione_wardrobe_unlocked = True + $ states.her.ev.tutoring.unlocked = True + $ states.her.favors_unlocked = True + $ states.her.wardrobe_unlocked = True + $ states.paperwork_unlocked = True # Simulate points gains $ slytherin = gryffindor @@ -459,32 +491,32 @@ label .hermione_skip_intro: return # label .hermione_skip_T1: -# $ her_tier = 2 -# $ her_whoring = 1 +# $ states.her.tier = 2 +# $ states.her.level = 1 # return # label .hermione_skip_T2: -# $ her_tier = 3 -# $ her_whoring = 9 -# $ hg_jerkoff.trigger = True +# $ states.her.tier = 3 +# $ states.her.level = 9 +# $ states.her.status.voyer = True # return # label .hermione_skip_T3: -# $ her_tier = 4 -# $ her_whoring = 12 -# $ hg_strip.trigger = True +# $ states.her.tier = 4 +# $ states.her.level = 12 +# $ states.her.status.stripping = True # return # label .hermione_skip_T4: -# $ her_tier = 5 -# $ her_whoring = 18 -# $ hg_kiss.trigger = True +# $ states.her.tier = 5 +# $ states.her.level = 18 +# $ states.her.status.kissing = True # return # label .hermione_skip_T5: -# $ her_tier = 6 -# $ her_whoring = 21 -# $ hg_blowjob.trigger = True +# $ states.her.tier = 6 +# $ states.her.level = 21 +# $ states.her.status.blowjob = True # return @@ -493,19 +525,19 @@ label .hermione_skip_intro: # label .cho_skip_intro: # if game.day < 16: # $ game.day = 16 -# $ cho_intro.E1_complete = True -# $ cho_intro.E2_complete = True -# $ ss_he.cho_E1 = True -# $ cho_intro.E3_complete = True +# $ states.cho.ev.intro.e1_complete = True +# $ states.cho.ev.intro.e2_complete = True +# $ states.sna.ev.hangouts.cho_e1 = True +# $ states.cho.ev.intro.e4_complete = True # $ achievements.unlock("unlockcho", True) -# $ cho_unlocked = True +# $ states.cho.unlocked = True # return # label .cho_skip_quiz: -# $ cho_quiz.complete = True -# $ cho_quid.E1_complete = True -# $ cho_quid.E2_complete = True -# $ cho_quid.position = "above" -# $ cho_quid.lock_training = False -# $ cho_favors_unlocked = True +# $ states.cho.ev.quiz.complete = True +# $ states.cho.ev.quidditch.e1_complete = True +# $ states.cho.ev.quidditch.e2_complete = True +# $ states.cho.ev.quidditch.position = "above" +# $ states.cho.ev.quidditch.lock_training = False +# $ states.cho.favors_unlocked = True # return diff --git a/game/scripts/interface/color_picker.rpy b/game/scripts/interface/color_picker.rpy index 9d707d9b..c75bbfb9 100644 --- a/game/scripts/interface/color_picker.rpy +++ b/game/scripts/interface/color_picker.rpy @@ -36,9 +36,6 @@ screen color_picker(color, alpha, title, pos_xy, color_default): # Set HSVA variables based on RGBA when screen shows on "show" action Function(color_picker_update_hsva) - if not renpy.get_screen("wardrobe"): - add "confirm_fade" - frame: style_prefix gui.theme() if pos_xy and False: @@ -380,8 +377,8 @@ init -1 python: canvas = rv.canvas() surf = canvas.get_surface() - for x in xrange(w): - for y in xrange(h): + for x in range(w): + for y in range(h): hue = float(y) / h r, g, b = Color(hsv=(hue, 1.0, 1.0)).rgb color = (r * 255, g * 255, b * 255) @@ -407,8 +404,8 @@ init -1 python: canvas = rv.canvas() surf = canvas.get_surface() - for x in xrange(w): - for y in xrange(h): + for x in range(w): + for y in range(h): hue = float(y) / h color = (255.0, 255.0, 255.0, x) surf.set_at((x, y), color) diff --git a/game/scripts/interface/credits.rpy b/game/scripts/interface/credits.rpy index 863dac8c..71f8e3a4 100644 --- a/game/scripts/interface/credits.rpy +++ b/game/scripts/interface/credits.rpy @@ -21,14 +21,16 @@ define credits_text = "\n".join([ "controllerhead\n{size=-5}{color=#808080}{k=0.7}\"Item Shop\"{/k}{/color}{/size}\n", "jrayteam6\n{size=-5}{color=#808080}{k=0.7}\"Grape Soda is Fucking Raw\"{/k}{/color}{/size}\n", "Juhani Junkala\n{size=-5}{color=#808080}{k=0.7}Retro Game Music Pack:\n\"Title Screen\"\n\"Level 1\"\n\"Level 3\"{/k}{/color}{/size}\n", - "Snabisch\n{size=-5}{color=#808080}{k=0.7}Only 115 (Dance Loop){/k}{/color}{/size}\n", - "Nene\n{size=-5}{color=#808080}{k=0.7}Boss Battle #2{/k}{/color}{/size}\n" + "Snabisch\n{size=-5}{color=#808080}{k=0.7}\"Only 115 (Dance Loop)\"{/k}{/color}{/size}\n", + "Nene\n{size=-5}{color=#808080}{k=0.7}\"Boss Battle #2\"{/k}{/color}{/size}\n", + "Tim Kulig\n{size=-5}{color=#808080}{k=0.7}\"Anticipations\"{/k}{/color}{/size}\n", + "BoxCat Games\n{size=-5}{color=#808080}{k=0.7}\"Battle (Boss)\"{/k}{/color}{/size}\n" ), credits_title("Special Thanks"), credits_group( "{size=+4}Akabur{/size}", "{color=#808080}{size=-5}{k=0.7}Creator of the original Witch Trainer and other awesome games! {a=https://www.patreon.com/akabur}PATREON{/a}{/size}{/color}{/k}\n", - "Dr. Lupin", "Lineup", "MaiL", "MedicBear", "STG Anon", "Booom313", "Sandmaster", "Pinguino", "UE Crew", "Catbug", "CaptainNemo", "Artguy", "Linear", "Amadan", "Anons", "Heretic", "Maverick", "Cleanzo", "Techy", "Zuel32", "Darwin7", "Ven", "NotTera", "Armise" + "Dr. Lupin", "Lineup", "MaiL", "MedicBear", "STG Anon", "Booom313", "Sandmaster", "Pinguino", "UE Crew", "Catbug", "CaptainNemo", "Artguy", "Linear", "Amadan", "Anons", "Heretic", "Maverick", "Cleanzo", "Techy", "Zuel32", "Darwin7", "Ven", "NotTera", "Armise", "Cosmic" ), """{vspace=100} \n\n @@ -57,11 +59,12 @@ define credits_chibis = ( label credits: if not _menu: - play music "music/Only 115 (Electro Loop)_125 BPM.ogg" fadein 1 fadeout 1 - call hide_screens + play music "music/Only 115 (Electro Loop)_125 BPM.ogg" fadein 1 fadeout 1 if_changed + + $ renpy.scene("screens") + show screen credits(credits_text) with dissolve - call update_interface_color("gray") $ achievements.unlock("Credits") pause credits_duration if not _menu: @@ -71,7 +74,7 @@ label credits: with dissolve if _menu: - # play music config.main_menu_music fadein 1 fadeout 3 + # play music config.main_menu_music fadein 1 fadeout 3 if_changed jump main_menu_screen else: return diff --git a/game/scripts/interface/door.rpy b/game/scripts/interface/door.rpy index 8b6caaa8..6f06bdae 100644 --- a/game/scripts/interface/door.rpy +++ b/game/scripts/interface/door.rpy @@ -12,35 +12,20 @@ label summon_menu(xx=723, yy=90): call update_stats - $ map_transcript_loc = { - "library": _("Library"), - "room_g": _("Gryffindor Dormitory"), - "room_s": _("Slytherin Dormitory"), - "room_r": _("Ravenclaw Dormitory"), - "room_h": _("Hufflepuff Dormitory"), - "great_hall": _("Great Hall"), - "courtyard": _("Courtyard"), - "forest": _("Forest"), - "greenhouse": _("Greenhouse"), - "defense": _("D.A.D.A Classroom"), - "training_grounds": _("Training Grounds"), - "Lake": _("Lake"), - "randomstudent": renpy.random.choice([_("Classroom"), _("Bathroom"), _("Hagrid's Hut"), _("Weasley's Store"), _("Mafkin's Store"), _("Broom Cupboard"), _("Attic")]), - "randomsnape": renpy.random.choice([_("Classroom"), _("Boathouse"), _("Bathroom"), _("Snape's Office"), _("Hall"), _("Slytherin Dormitory"), _("Library"), _("Attic"), _("Forest"), _("Lake"), _("Dungeons"), _("Quidditch Cave"), _("Staircase"), _("Behind your door"), _("Room of Doom")]), - "randomtonks": renpy.random.choice([_("Classroom"), _("Bathroom"), _("Hall"), _("Gryffindor Dormitory"), _("Slytherin Dormitory"), _("Hufflepuff Dormitory"), _("Ravenclaw Dormitory"), _("Training Grounds"), _("Tonks' Room"), _("Quidditch Pitch"), _("Infirmary"), _("Sex Dungeon"), _("Hospital Wing"), _("Forest"), _("Lake"), _("Greenhouse"), _("Mafkin's Store")])} + $ map_transcript_loc = {"library": "Library", "room_g": "Gryffindor Dormitory", "room_s": "Slytherin Dormitory", "room_r": "Ravenclaw Dormitory", "room_h": "Hufflepuff Dormitory", "great_hall": "Great Hall", "courtyard": "Courtyard", "forest": "Forest", "greenhouse": "Greenhouse", "defense": "D.A.D.A Classroom", "training_grounds": "Training Grounds", "Lake": "Lake", "randomstudent": renpy.random.choice(["Classroom", "Bathroom", "Hagrid's Hut", "Weasley's Store", "Mafkin's Store", "Broom Cupboard", "Attic"]), "randomsnape": renpy.random.choice(["Classroom", "Boathouse", "Bathroom", "Snape's Office", "Hall", "Slytherin Dormitory", "Library", "Attic", "Forest", "Lake", "Dungeons", "Quidditch Cave", "Staircase", "Behind your door", "Room of Doom"]), "randomtonks": renpy.random.choice(["Classroom", "Bathroom", "Hall", "Gryffindor Dormitory", "Slytherin Dormitory", "Hufflepuff Dormitory", "Ravenclaw Dormitory", "Training Grounds", "Tonks' Room", "Quidditch Pitch", "Infirmary", "Sex Dungeon", "Hospital Wing", "Forest", "Lake", "Greenhouse", "Mafkin's Store"])} # Door dictionary $ summon_dict = { - _("Snape"): {"ico": "snape", "flag": snape_unlocked, "busy": snape_busy, "loc": "randomsnape"}, - _("Tonks"): {"ico": "tonks", "flag": tonks_unlocked, "busy": tonks_busy, "loc": "randomtonks"}, - _("Hermione"): {"ico": "hermione", "flag": hermione_unlocked, "busy": hermione_busy, "loc": her_map_location}, - _("Cho"): {"ico": "cho", "flag": cho_unlocked, "busy": cho_busy, "loc": cho_map_location}, - _("Luna"): {"ico": "luna", "flag": luna_unlocked, "busy": luna_busy, "loc": lun_map_location}, - _("Astoria"): {"ico": "astoria", "flag": astoria_unlocked, "busy": astoria_busy, "loc": ast_map_location}, - _("Susan"): {"ico": "susan", "flag": susan_unlocked, "busy": susan_busy, "loc": sus_map_location} + "Snape": {"ico": "snape", "flag": states.sna.unlocked, "busy": states.sna.busy, "loc": "randomsnape"}, + "Tonks": {"ico": "tonks", "flag": states.ton.unlocked, "busy": states.ton.busy, "loc": "randomtonks"}, + "Hermione": {"ico": "hermione", "flag": states.her.unlocked, "busy": states.her.busy, "loc": states.her.map_location }, + "Cho": {"ico": "cho", "flag": states.cho.unlocked, "busy": states.cho.busy, "loc": states.cho.map_location}, + "Luna": {"ico": "luna", "flag": states.lun.unlocked, "busy": states.lun.busy, "loc": states.lun.map_location}, + "Astoria": {"ico": "astoria", "flag": states.ast.unlocked, "busy": states.ast.busy, "loc": states.ast.map_location }, + "Susan": {"ico": "susan", "flag": states.sus.unlocked, "busy": states.sus.busy, "loc": states.sus.map_location} } - $ summon_categories_sorted = [_("Snape"), _("Tonks"), _("Hermione"), _("Cho"), _("Luna"), _("Astoria"), _("Susan")] #"Ginny", "Daphne", "Padma", "Patil", "Myrtle", "Mafkin" + $ summon_categories_sorted = ["Snape", "Tonks", "Hermione", "Cho", "Luna", "Astoria", "Susan"] #"Ginny", "Daphne", "Padma", "Patil", "Myrtle", "Mafkin" $ summon_categories_sorted_length = len(summon_categories_sorted) $ current_sorting = summon_show_busy @@ -58,9 +43,9 @@ label summon_menu(xx=723, yy=90): $ renpy.jump_out_of_context("summon_"+_choice[1].lower()) else: if game.daytime or _choice[1] in ["Tonks", "Snape"]: - call nar(">"+_choice[1]+" is currently busy. Try again later.") + nar "[_choice[1]] is currently busy. Try again later." else: - call nar(">"+_choice[1]+" is currently asleep. Try again tomorrow.") + nar "[_choice[1]] is currently asleep. Try again tomorrow." else: hide screen summon return @@ -104,7 +89,7 @@ screen summon_menu(xx, yy): null frame: style "empty" - textbutton _("Show Busy:"): + textbutton "Show Busy:": style gui.theme("overlay_button") xsize 195 ysize 32 text_align (0.4, 0.5) @@ -150,8 +135,8 @@ screen summon_menu(xx, yy): text map_transcript_loc[summon_dict[char]["loc"]] size 10 xalign 0.625 yalign 0.9 xanchor 0.5 - if not snape_unlocked: - text _("You don't know anyone") size 12 at truecenter + if not states.sna.unlocked: + text "You don't know anyone" size 12 at truecenter else: if tmp_x <= 0: - text _("All characters are busy") size 12 at truecenter + text "All characters are busy" size 12 at truecenter diff --git a/game/scripts/interface/gameover.rpy b/game/scripts/interface/gameover.rpy index 64f83b8a..56de0305 100644 --- a/game/scripts/interface/gameover.rpy +++ b/game/scripts/interface/gameover.rpy @@ -9,11 +9,11 @@ label gameover(fake=False, autohide=True): with d9 $ renpy.pause(0.5, hard=True) - $ renpy.play('sounds/jail_door.ogg') + play sound "sounds/jail_door.ogg" $ renpy.pause(1.2, hard=True) with hpunch $ renpy.pause(1.3, hard=True) - $ renpy.play('sounds/killswitch_on.ogg') + play sound "sounds/killswitch_on.ogg" if autohide: $ renpy.pause(4.0, hard=True) @@ -24,7 +24,7 @@ label gameover(fake=False, autohide=True): $ renpy.pause(0.9, hard=True) - play music "music/Only 115 (Electro Loop)_125 BPM.ogg" fadein 0.5 fadeout 1 + play music "music/Only 115 (Electro Loop)_125 BPM.ogg" fadein 0.5 fadeout 1 if_changed hide screen gameover hide screen blkfade diff --git a/game/scripts/interface/hotkeys.rpy b/game/scripts/interface/hotkeys.rpy index 0b498805..306e5375 100644 --- a/game/scripts/interface/hotkeys.rpy +++ b/game/scripts/interface/hotkeys.rpy @@ -162,9 +162,9 @@ init 1 python: screen hotkeys_main(): tag hotkeys_main - if map_unlocked: + if states.map.unlocked: key "map" action Jump("desk") - if letter_work_unlock.read: + if states.paperwork_unlocked: key "work" action Jump("paperwork") key "stats" action Jump("stats") diff --git a/game/scripts/interface/house_points.rpy b/game/scripts/interface/house_points.rpy index bb60d2d6..4c6ab676 100644 --- a/game/scripts/interface/house_points.rpy +++ b/game/scripts/interface/house_points.rpy @@ -7,10 +7,10 @@ label points_changes: # Gets called every day/night. # Bonuses based on Tonks and Snape friendship stat # Tonks' is lower since you can do events with her directly to increase points. - bonus_g = her_tier # Passive bonus - bonus_h = int((ton_friendship/100.0) * (progress_factor*0.7)) - bonus_s = int((sna_friendship/100.0) * progress_factor*0.7) - bonus_r = cho_tier + lun_tier # Passive bonus + bonus_g = states.her.tier # Passive bonus + bonus_h = int((states.ton.level/100.0) * (progress_factor*0.7)) + bonus_s = int((states.sna.level/100.0) * progress_factor*0.7) + bonus_r = states.cho.tier + states.lun.tier # Passive bonus leader = max(hufflepuff, ravenclaw, slytherin, gryffindor) diff --git a/game/scripts/interface/inventory.rpy b/game/scripts/interface/inventory.rpy index 0a8dbc18..6ba4a385 100644 --- a/game/scripts/interface/inventory.rpy +++ b/game/scripts/interface/inventory.rpy @@ -1,7 +1,7 @@ init python: def inventory_sortfilter(item, sortby="A-z", filtering=None): if filtering == "Owned": - item = filter(lambda x: x.owned > 0, item) + item = [x for x in item if x.owned > 0] # Always sort alphabetically first. item = sorted(item, key=lambda x: natsort_key(x.name)) @@ -9,9 +9,9 @@ init python: if sortby == "z-A": item = sorted(item, key=lambda x: natsort_key(x.name), reverse=True) elif current_sorting == "Available": - item = sorted(item, key=lambda x: x.owned, reverse=True) + item = sorted(item, key=lambda x: x.owned is True, reverse=True) elif current_sorting == "Unavailable": - item = sorted(item, key=lambda x: x.owned) + item = sorted(item, key=lambda x: x.owned is False) return item @@ -28,97 +28,107 @@ label inventory: label inventory_menu(xx=150, yy=90): # Inventory dictionary - if inventory_mode == 0: - $ inventory_dict = { - _("Gifts"): inventory.get_instances_of_type("gift"), - _("Books"): inventory.get_instances_of_type("book"), - _("Scrolls"): inventory.get_instances_of_type("scroll"), - _("Ingredients"): inventory.get_instances_of_type("ingredient"), - _("Potions"): inventory.get_instances_of_type("potion"), - _("Decorations"): inventory.get_instances_of_type("decoration"), - _("Quest Items"): inventory.get_instances_of_type("quest"), - } - elif inventory_mode == 1: - $ inventory_dict = { - _("Gifts"): inventory.get_instances_of_type("gift"), - _("Potions"): inventory.get_instances_of_type("potion"), - _("Quest Items"): inventory.get_instances_of_type("quest"), - } + python: - $ items_shown = 36 - $ current_page = 0 - $ current_category = next(iter(inventory_dict.iterkeys())) - $ current_filter = "Owned" - $ current_sorting = "Available" + if inventory_mode == 0: + inventory_dict = { + "Gifts": inventory.get_instances_of_type("gift"), + "Books": inventory.get_instances_of_type("book"), + "Scrolls": inventory.get_instances_of_type("scroll"), + "Ingredients": inventory.get_instances_of_type("ingredient"), + "Potions": inventory.get_instances_of_type("potion"), + "Decorations": inventory.get_instances_of_type("decoration"), + "Quest Items": inventory.get_instances_of_type("quest"), + } + elif inventory_mode == 1: + inventory_dict = { + "Gifts": inventory.get_instances_of_type("gift"), + "Potions": inventory.get_instances_of_type("potion"), + "Quest Items": inventory.get_instances_of_type("quest"), + } - $ category_items = inventory_dict[current_category] - $ menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) - $ current_item = next(iter(menu_items), None) + items_shown = 36 + current_page = 0 + current_category = next(iter(inventory_dict.keys())) + current_filter = "Owned" + current_sorting = "Available" + + category_items = inventory_dict[current_category] + menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) + current_item = next(iter(menu_items), None) show screen inventory(xx, yy) label .after_init: + $ _choice = ui.interact() if _choice[0] == "select": $ current_item = _choice[1] elif _choice[0] == "category": - $ current_category = _choice[1] - $ category_items = inventory_dict[current_category] - $ menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) + python: + current_category = _choice[1] + category_items = inventory_dict[current_category] + menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) - if current_category == "Decorations": - $ menu_items = sorted(menu_items, key=lambda x: x.placement.id) + if current_category == "Decorations": + menu_items = sorted(menu_items, key=lambda x: x.placement.id) + + current_page = 0 + current_item = next(iter(menu_items), None) - $ current_page = 0 - $ current_item = next(iter(menu_items), None) elif _choice == "inc": $ current_page += 1 elif _choice == "dec": $ current_page += -1 elif _choice == "sort": - if current_sorting == "A-z": - $ current_sorting = "z-A" - elif current_sorting == "z-A": - $ current_sorting = "Available" - elif current_sorting == "Available": - $ current_sorting = "Unavailable" - else: - $ current_sorting = "A-z" - $ menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) + python: + if current_sorting == "A-z": + current_sorting = "z-A" + elif current_sorting == "z-A": + current_sorting = "Available" + elif current_sorting == "Available": + current_sorting = "Unavailable" + else: + current_sorting = "A-z" + menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) - if current_category == "Decorations": - $ menu_items = sorted(menu_items, key=lambda x: x.placement.id) + if current_category == "Decorations": + menu_items = sorted(menu_items, key=lambda x: x.placement.id) - $ current_page = 0 + current_page = 0 + + if not current_item or not menu_items_length: + current_item = next(iter(menu_items), None) - if not current_item or not menu_items_length: - $ current_item = next(iter(menu_items), None) elif _choice == "filter": - if current_filter == None: - $ current_filter = "Owned" - else: - $ current_filter = None - $ menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) - $ menu_items_length = len(menu_items) + python: + if current_filter == None: + current_filter = "Owned" + else: + current_filter = None + menu_items = inventory_sortfilter(category_items, current_sorting, current_filter) + menu_items_length = len(menu_items) - if current_category == "Decorations": - $ menu_items = sorted(menu_items, key=lambda x: x.placement.id) + if current_category == "Decorations": + menu_items = sorted(menu_items, key=lambda x: x.placement.id) - $ current_page = 0 + current_page = 0 + + if not current_item or not menu_items_length: + current_item = next(iter(menu_items), None) - if not current_item or not menu_items_length: - $ current_item = next(iter(menu_items), None) elif _choice == "use": - $ enable_game_menu() - $ current_item.use() + python: + enable_game_menu() + current_item.use() elif _choice == "give": if current_item.type == "gift": - if getattr(renpy.store, "gave_{}_gift".format(active_girl)): + if get_character_gifted(states.active_girl): show screen blktone with d3 gen "I already gave her a gift today. Don't want to spoil her too much..." ("base", xpos="far_left", ypos="head") @@ -126,13 +136,13 @@ label inventory_menu(xx=150, yy=90): with d3 else: hide screen inventory - $ renpy.call(get_character_gift_label(active_girl), current_item) + $ renpy.call(get_character_gift_label(states.active_girl), current_item) show screen inventory(xx, yy) elif current_item.type == "potion": - if not active_girl in current_item.usable_on: + if not states.active_girl in current_item.usable_on: show screen blktone with d3 - gen "(Something tells me this potion won't work on [active_girl].)" ("base", xpos="far_left", ypos="head") + gen "(Something tells me this potion won't work on [states.active_girl].)" ("base", xpos="far_left", ypos="head") nar "Perhaps in the future..." hide screen blktone with d3 @@ -142,18 +152,18 @@ label inventory_menu(xx=150, yy=90): gen "(Some grander force tells me I should give it to her during daytime only.)" ("base", xpos="far_left", ypos="head") hide screen blktone with d3 - elif get_character_mood(active_girl) > 0: + elif get_character_mood(states.active_girl) > 0: show screen blktone with d3 gen "(I don't think it's a good idea to give it to her when she's still upset with me...)" ("base", xpos="far_left", ypos="head") gen "(I should wait for her to calm down first.)" ("base", xpos="far_left", ypos="head") hide screen blktone with d3 - elif active_girl == "hermione" and not hermione_favors_convinced == 2 and is_in_lead(gryffindor): + elif states.active_girl == "hermione" and not states.her.favors_convinced_stage == 2 and is_in_lead(gryffindor): show screen blktone with d3 - gen "[hermione_name], what would you say--" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], what would you say--" ("base", xpos="far_left", ypos="head") her "I'm sorry professor but I don't need your help at the moment." her "My house is already in the lead points wise." gen "Figures..." ("base", xpos="far_left", ypos="head") @@ -163,14 +173,15 @@ label inventory_menu(xx=150, yy=90): hide screen blktone with d3 else: - $ enable_game_menu() - $ inventory_mode = 0 - $ current_item.give(active_girl) + python: + enable_game_menu() + inventory_mode = 0 + current_item.give(states.active_girl) elif current_item.type == "quest": - if not active_girl in current_item.usable_on: + if not states.active_girl in current_item.usable_on: show screen blktone with d3 - gen "(Something tells me I cannot give this item to [active_girl].)" ("base", xpos="far_left", ypos="head") + gen "(Something tells me I cannot give this item to [states.active_girl].)" ("base", xpos="far_left", ypos="head") nar "Perhaps in the future..." hide screen blktone with d3 @@ -180,18 +191,18 @@ label inventory_menu(xx=150, yy=90): #gen "(Some grander force tells me I should give it to her during daytime only.)" ("base", xpos="far_left", ypos="head") #hide screen blktone #with d3 - elif get_character_mood(active_girl) > 0: + elif get_character_mood(states.active_girl) > 0: show screen blktone with d3 gen "(I don't think it's a good idea to give it to her when she's still upset with me...)" ("base", xpos="far_left", ypos="head") gen "(I should wait for her to calm down first.)" ("base", xpos="far_left", ypos="head") hide screen blktone with d3 - elif active_girl == "hermione" and not hermione_favors_convinced == 2 and is_in_lead(gryffindor): + elif states.active_girl == "hermione" and not states.her.favors_convinced_stage == 2 and is_in_lead(gryffindor): show screen blktone with d3 - gen "[hermione_name], I have something for you--" ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie], I have something for you--" ("base", xpos="far_left", ypos="head") her "I'm sorry professor but I don't need your help at the moment." her "My house is already in the lead points wise." gen "Figures..." ("base", xpos="far_left", ypos="head") @@ -201,9 +212,10 @@ label inventory_menu(xx=150, yy=90): hide screen blktone with d3 else: - $ enable_game_menu() - $ inventory_mode = 0 - $ current_item.give(active_girl) + python: + enable_game_menu() + inventory_mode = 0 + current_item.give(states.active_girl) else: hide screen inventory @@ -241,7 +253,7 @@ screen inventory_menu(xx, yy): vbox: pos (6, 41) - for category in inventory_dict.iterkeys(): + for category in iter(inventory_dict.keys()): vbox: textbutton category: style "empty" @@ -265,10 +277,10 @@ screen inventory_menu(xx, yy): style_prefix gui.theme('achievements_filters') pos (6, 384) if current_filter == None: - textbutton _("Show: All") action Return("filter") + textbutton "Show: All" action Return("filter") else: - textbutton _("Show: [current_filter]") action Return("filter") - textbutton _("Sort by: [current_sorting]") action Return("sort") + textbutton "Show: [current_filter]" action Return("filter") + textbutton "Sort by: [current_sorting]" action Return("sort") screen inventory_menuitem(xx, yy): window: @@ -283,11 +295,11 @@ screen inventory_menuitem(xx, yy): add gui.format("interface/achievements/{}/panel.webp") #Western Egg - button xsize 90 ysize 60 action Function(renpy.play, "sounds/plushie.ogg") xalign 0.5 style "empty" + button xsize 90 ysize 60 action Play("sound", "sounds/plushie.ogg") xalign 0.5 style "empty" - text _("Inventory") size 22 xalign 0.5 ypos 65 + text "Inventory" size 22 xalign 0.5 ypos 65 - #text "Unlocked: "+str(len(filter(lambda x: x[1][3] is True, menu_items)))+"/[menu_items_length]" size 12 pos (24, 70) + #text "Unlocked: "+str(len([x for x in menu_items if x[1][3] is True]))+"/[menu_items_length]" size 12 pos (24, 70) # Page counter if menu_items_length > items_shown: @@ -296,7 +308,7 @@ screen inventory_menuitem(xx, yy): pos (540, 24) spacing 5 add "interface/page.webp" yanchor 0.5 ypos 53 - text str(current_page+1)+"/"+str(int(math.ceil(menu_items_length/items_shown))+1) ypos 44 size 16 + text str(current_page+1)+"/"+str(int(math.ceil(menu_items_length/items_shown))) ypos 44 size 16 vbox: pos (570, 186) spacing 10 @@ -308,13 +320,13 @@ screen inventory_menuitem(xx, yy): action Return("dec") imagebutton: - idle Transform(gui.format("interface/frames/{}/arrow_up.webp"), xzoom=-1) - if current_page < math.ceil((menu_items_length-1)/items_shown): - hover Transform(image_hover(gui.format("interface/frames/{}/arrow_up.webp")), xzoom=-1) + idle Transform(gui.format("interface/frames/{}/arrow_up.webp"), yzoom=-1) + if current_page < math.ceil((menu_items_length-1)/items_shown)-1: + hover Transform(image_hover(gui.format("interface/frames/{}/arrow_up.webp")), yzoom=-1) action Return("inc") # Add items - for i in xrange(current_page*items_shown, (current_page*items_shown)+items_shown): + for i in range(current_page*items_shown, (current_page*items_shown)+items_shown): if i < menu_items_length: $ row = (i // 9) % 4 $ col = i % 9 @@ -354,11 +366,11 @@ screen inventory_menuitem(xx, yy): if menu_items[i].used: add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-3, -3) zoom 0.5 - if inventory_mode == 1 and (not menu_items[i].givable or not active_girl in menu_items[i].usable_on): + if inventory_mode == 1 and (not menu_items[i].givable or not states.active_girl in menu_items[i].usable_on): add "#b2000040" if menu_items_length <= 0: - text _("Nothing here yet") align (0.5, 0.5) anchor (0.5, 0.5) size 24 + text "Nothing here yet" align (0.5, 0.5) anchor (0.5, 0.5) size 24 if current_item: frame: @@ -387,7 +399,7 @@ screen inventory_menuitem(xx, yy): if current_item.used: add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-6, -6) - if inventory_mode == 1 and (not current_item.givable or not active_girl in current_item.usable_on): + if inventory_mode == 1 and (not current_item.givable or not states.active_girl in current_item.usable_on): add "#b2000040" add gui.format("interface/achievements/{}/highlight.webp") pos (112, 375) diff --git a/game/scripts/interface/letter.rpy b/game/scripts/interface/letter.rpy index 490c549a..9890c47c 100644 --- a/game/scripts/interface/letter.rpy +++ b/game/scripts/interface/letter.rpy @@ -25,8 +25,9 @@ default letter_work_unlock = Letter( ) label letter_work_unlock: + $ states.paperwork_unlocked = True gen "Payments? *Hmm*..." ("base", xpos="far_left", ypos="head") - call give_reward(_(">From now on you can do paperwork at your desk in order to earn additional gold..."),"interface/icons/gold.webp") + call give_reward("From now on you can do paperwork at your desk in order to earn additional gold...","interface/icons/gold.webp") call tutorial("workngold") return @@ -38,13 +39,13 @@ default letter_work_report = Letter( init python: def calc_reports_gold(): - global reports_gold, reports_finished + global reports_gold progress_factor = math.log(game.day) - progress_flat = (her_tier + cho_tier + ton_tier + lun_tier) * 16 + progress_flat = (states.her.tier + states.cho.tier + states.ton.tier + states.lun.tier) * 16 # Note: random_gold global var is set at the start of the day and evening - reports_gold = reports_finished * (int(progress_factor * max(random_gold, progress_flat)) + progress_flat) + reports_gold = states.paperwork_reports * (int(progress_factor * max(random_gold, progress_flat)) + progress_flat) if game.difficulty <= 1: # Easy reports_gold = int(reports_gold * 1.2) @@ -58,7 +59,7 @@ label letter_work_report: game.gold += reports_gold # Reset - reports_finished = 0 + states.paperwork_reports = 0 reports_gold = 0 return @@ -83,11 +84,11 @@ default letter_cards_unlock = Letter( ) label letter_cards_unlock: - $ deck_unlocked = True + $ states.cardgame.unlocked = True - gen "That last bit just sounds like a scam to me..." ("base", xpos="far_left", ypos="head") - gen "..." ("base", xpos="far_left", ypos="head") - gen "I guess I'll have a look at the starter pack at least..." ("base", xpos="far_left", ypos="head") + gen "(That last bit sounds like a scam...)" ("base", xpos="far_left", ypos="head") + gen "(...)" ("base", xpos="far_left", ypos="head") + gen "(I suppose I could take a look at the starter pack at least...)" ("base", xpos="far_left", ypos="head") show screen blktone show screen start_deck @@ -105,22 +106,23 @@ label letter_cards_unlock: for i in playerdeck: i.copies = -1 - gen "Hell yes I'm playing this..." ("grin", xpos="far_left", ypos="head") - call give_reward(_(">You've unlocked Wizard cards.\n\nUse the deck builder available on your desk to learn the rules and edit your deck."),"interface/icons/cards.webp") + gen "(Hell yes I'm playing this...)" ("grin", xpos="far_left", ypos="head") + call give_reward("You've unlocked Wizard cards.\n\nUse the deck builder available on your desk to learn the rules and edit your deck.","interface/icons/cards.webp") return default letter_cards_store = Letter( text = "{size=-7}Weasley's Wizard Wheezes shop emporium is now officially partnering with Wizard cards.\nVisit our shop for the best deals on card packs in all of Hogwarts!{/size}", - label = "letter_cards_store" + label = "letter_cards_store", + wait = 7 ) label letter_cards_store: - $ twins_cards_stocked = True + $ states.twi.ev.cardgame.stocked = True $ poker_outfit_ITEM.unlocked = True $ lootbox_ITEM.unlocked = True gen "Great, let's see how they're doing." ("base", xpos="far_left", ypos="head") - call give_reward(_(">New items have been unlocked in the store."), "interface/icons/gold.webp") + call give_reward("New items have been unlocked in the store.", "interface/icons/gold.webp") return @@ -144,17 +146,15 @@ default letter_nt_1 = Letter( label letter_nt_1: gen "Well now I'm curious..." ("base", xpos="far_left", ypos="head") - call nar(">You slowly roll out the piece of parchment.") + play sound "sounds/paper_rustle.ogg" + nar "You slowly roll out the piece of parchment - getting a good look of it." pause.2 call kiss_her pause.5 - gen "Cute..." ("base", xpos="far_left", ypos="head") - call play_sound("scroll") - call nar(">You roll out the poster completely - getting a good look of it.") gen "Nice!" ("grin", xpos="far_left", ypos="head") - call give_reward(text="{heart} {heart} {heart}", gift="interface/icons/tonks_poster.webp", sound=True) + call give_reward(text="A new room decoration have been unlocked!", gift="interface/icons/tonks_poster.webp", sound=True) $ tonks_poster_ITEM.owned = 1 gen "I'll definitely hang this one up!" ("grin", xpos="far_left", ypos="head") @@ -207,7 +207,7 @@ label letter(text, label): show screen letter(text) with d3 - $ menu_x, menu_y = 0.5, 0.9 + $ states.menu_pos = (0.5, 0.9) menu: "-Done reading-": @@ -243,22 +243,3 @@ label letter_open_all: $ owl_OBJ.hidden = True jump main_room_menu - -label letter_delay: - call gen_chibi("stand_alt", 420, 410, flip=False) - with d5 - pause.2 - - $ renpy.say(g4, renpy.random.choice(["fuck off", "bug off", "get out", "get the hell out of here", "go away", "away with you", "don't you even dare shit on my floor"])+", you"+renpy.random.choice([" stupid", " silly", " annoying", "", " idiotic", " bloody"])+renpy.random.choice([" flying rat!", " bird!", " poor excuse for a pigeon!", " pigeon!", " idiot!"])) - pause.1 - - call gen_chibi("rummage", 360, 429, flip=False) - call play_sound("owl") - $ owl_OBJ.hidden = True - with hpunch - pause.8 - - $ owl_away = True - $ owl_away_counter += 1 - - jump main_room diff --git a/game/scripts/interface/map.rpy b/game/scripts/interface/map.rpy index a9ea6a3a..b27c1a0c 100644 --- a/game/scripts/interface/map.rpy +++ b/game/scripts/interface/map.rpy @@ -1,20 +1,6 @@ default UI_xpos_offset = 230 default UI_ypos_offset = 150 -default map_unlocked = False - -default her_map_location = "library" -default lun_map_location = "room_r" -default ast_map_location = "room_s" -default sus_map_location = "room_h" -default cho_map_location = "training_grounds" - -default sna_map_location = "room_potions" -default ton_map_location = "room_defense" - -default first_time_7th = True -default pitch_open = True - default map_animated = "once" define map_scale = 0.35 @@ -136,7 +122,7 @@ screen map_buttons(): action Return("clothing_store") # Snape's Office - if not snape_office_discovered: + if not states.map.snape_office.visited: add "interface/achievements/glow.webp" pos (UI_xpos_offset+314, UI_ypos_offset+331) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos UI_xpos_offset +314 @@ -148,8 +134,8 @@ screen map_buttons(): action Return("snape_office") #Room of Requirement - if unlocked_7th: - if not mirror_intro_done: + if states.map.seventh_floor.unlocked: + if not states.map.room_of_requirement.intro_e1: add "interface/achievements/glow.webp" pos (UI_xpos_offset+116, UI_ypos_offset+160) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos UI_xpos_offset +116 @@ -157,7 +143,7 @@ screen map_buttons(): unhovered SetVariable("ball_hint", None) hovered SetVariable("ball_hint", "room_of_req") action Return("seventh_floor") - if first_time_7th == True: + if not states.map.seventh_floor.visited: idle "interface/map/room_ror_empty_idle.webp" hover "interface/map/room_ror_empty_hover.webp" else: @@ -185,8 +171,8 @@ screen map_buttons(): # action Return("map_forest") #Attic - if tentacle_scroll_examined: - if not tentacle_sample: + if states.her.ev.sealed_scroll.examined: + if not states.her.ev.sealed_scroll.sample: add "interface/achievements/glow.webp" pos (UI_xpos_offset+340, UI_ypos_offset+226) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos UI_xpos_offset +340 @@ -218,42 +204,42 @@ label set_her_map_location(location=""): if location != "": if location == "library": - $ her_map_location = "library" + $ states.her.map_location = "library" elif location in ["gryffindor_room","gryff_room","room_g"]: - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" elif location in ["slytherin_room","slyth_room","room_s"]: - $ her_map_location = "room_s" + $ states.her.map_location = "room_s" elif location == "great_hall": - $ her_map_location = "great_hall" + $ states.her.map_location = "great_hall" elif location == "courtyard": - $ her_map_location = "courtyard" + $ states.her.map_location = "courtyard" else: #Random - if her_whoring < 11: + if states.her.level < 11: if random_map_loc in [1,2]: #Library - $ her_map_location = "library" + $ states.her.map_location = "library" elif random_map_loc in [3]: #Great Hall - $ her_map_location = "great_hall" + $ states.her.map_location = "great_hall" else: #Gryff Room - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" else: - if her_reputation < 12: + if states.her.public_level < 12: if random_map_loc == 1: #Great Hall - $ her_map_location = "great_hall" + $ states.her.map_location = "great_hall" elif random_map_loc == 2: #Courtyard - $ her_map_location = "courtyard" + $ states.her.map_location = "courtyard" else: #Gryff Room - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" else: if random_map_loc == 1: #Slytherin Room - $ her_map_location = "room_s" + $ states.her.map_location = "room_s" elif random_map_loc == 2: #Courtyard - $ her_map_location = "courtyard" + $ states.her.map_location = "courtyard" else: #Gryff Room - $ her_map_location = "room_g" + $ states.her.map_location = "room_g" - if hg_blowjob.trigger == True and game.weather in ("clear", "cloudy") and not game.daytime and not hermione_busy: - $ her_map_location = "forest" + if states.her.status.blowjob == True and game.weather in ("clear", "cloudy") and not game.daytime and not states.her.busy: + $ states.her.map_location = "forest" call update_character_map_locations @@ -263,19 +249,19 @@ label set_lun_map_location(location = ""): if location != "": if location == "greenhouse": - $ lun_map_location = "greenhouse" + $ states.lun.map_location = "greenhouse" elif location == "forest": - $ lun_map_location = "forest" + $ states.lun.map_location = "forest" elif location in ["ravenclaw_room","raven_room","room_r"]: - $ lun_map_location = "room_r" + $ states.lun.map_location = "room_r" else: #Random if random_map_loc in [1]: - $ lun_map_location = "greenhouse" + $ states.lun.map_location = "greenhouse" elif random_map_loc in [2,3]: - $ lun_map_location = "forest" + $ states.lun.map_location = "forest" else: #Ravenclaw Room - $ lun_map_location = "room_r" + $ states.lun.map_location = "room_r" call update_character_map_locations @@ -284,17 +270,17 @@ label set_lun_map_location(location = ""): label set_ast_map_location(location = ""): if location != "": if location == "courtyard": - $ ast_map_location = "courtyard" + $ states.ast.map_location = "courtyard" elif location in ["slytherin_room","slyth_room","room_s"]: - $ ast_map_location = "room_s" + $ states.ast.map_location = "room_s" elif location in ["defense_classroom"]: - $ ast_map_location = "defense" + $ states.ast.map_location = "defense" else: #Random if random_map_loc in [1,2]: - $ ast_map_location = "courtyard" + $ states.ast.map_location = "courtyard" else: #Slytherin Room - $ ast_map_location = "room_s" + $ states.ast.map_location = "room_s" call update_character_map_locations @@ -303,15 +289,15 @@ label set_ast_map_location(location = ""): label set_sus_map_location(location = ""): if location != "": if location == "great_hall": - $ sus_map_location = "great_hall" + $ states.sus.map_location = "great_hall" elif location in ["hufflepuff_room","huffl_room","room_h"]: - $ sus_map_location = "room_r" + $ states.sus.map_location = "room_r" else: #Random if random_map_loc in [1,2]: - $ sus_map_location = "great_hall" + $ states.sus.map_location = "great_hall" else: #Hufflepuff Room - $ sus_map_location = "room_h" + $ states.sus.map_location = "room_h" call update_character_map_locations @@ -320,75 +306,75 @@ label set_sus_map_location(location = ""): label set_cho_map_location(location = ""): if location != "": if location == "training_grounds": - $ cho_map_location = "training_grounds" + $ states.cho.map_location = "training_grounds" elif location in ["ravenclaw_room","raven_room","room_r"]: - $ cho_map_location = "room_r" + $ states.cho.map_location = "room_r" else: #Random if random_map_loc in [1,2]: - $ cho_map_location = "training_grounds" + $ states.cho.map_location = "training_grounds" else: #Ravenclaw Room - $ cho_map_location = "room_r" + $ states.cho.map_location = "room_r" call update_character_map_locations return label update_character_map_locations: - if her_map_location == "library": + if states.her.map_location == "library": $ her_map_xpos = 685 $ her_map_ypos = 94 - if her_map_location == "room_g": + if states.her.map_location == "room_g": $ her_map_xpos = 340 $ her_map_ypos = 212 - if her_map_location == "room_s": + if states.her.map_location == "room_s": $ her_map_xpos = 440 $ her_map_ypos = 184 - if her_map_location == "great_hall": + if states.her.map_location == "great_hall": $ her_map_xpos = 300 $ her_map_ypos = 240 - if her_map_location == "courtyard": + if states.her.map_location == "courtyard": $ her_map_xpos = 674 $ her_map_ypos = 216 - if her_map_location == "forest": + if states.her.map_location == "forest": $ her_map_xpos = 290 $ her_map_ypos = 40 #Luna - if lun_map_location == "room_r": + if states.lun.map_location == "room_r": $ lun_map_xpos = 536 $ lun_map_ypos = 242 - if lun_map_location == "forest": + if states.lun.map_location == "forest": $ lun_map_xpos = 430 $ lun_map_ypos = 50 - if lun_map_location == "greenhouse": + if states.lun.map_location == "greenhouse": $ lun_map_xpos = 680 $ lun_map_ypos = 320 #Astoria - if ast_map_location == "room_s": + if states.ast.map_location == "room_s": $ ast_map_xpos = 476 $ ast_map_ypos = 118 - if ast_map_location == "courtyard": + if states.ast.map_location == "courtyard": $ ast_map_xpos = 634 $ ast_map_ypos = 254 - if ast_map_location == "defense": #Event + if states.ast.map_location == "defense": #Event $ ast_map_xpos = 530 $ ast_map_ypos = 190 #Susan - if sus_map_location == "room_h": + if states.sus.map_location == "room_h": $ sus_map_xpos = 360 $ sus_map_ypos = 320 - if sus_map_location == "great_hall": + if states.sus.map_location == "great_hall": $ sus_map_xpos = 300 $ sus_map_ypos = 280 #Cho - if cho_map_location == "room_r": + if states.cho.map_location == "room_r": $ cho_map_xpos = 494 $ cho_map_ypos = 276 - if cho_map_location == "training_grounds": + if states.cho.map_location == "training_grounds": $ cho_map_xpos = 750 $ cho_map_ypos = 50 @@ -413,8 +399,8 @@ screen map_screen_characters(): $ UI_xpos_offset = 0 #Hermione - if hermione_unlocked: - if her_map_location == "forest": # Mark forest event. + if states.her.unlocked: + if states.her.map_location == "forest": # Mark forest event. add "interface/achievements/glow.webp" pos (UI_xpos_offset+her_map_xpos, UI_ypos_offset+her_map_ypos) align (0.5, 0.5) zoom 0.15 alpha 0.5 at rotate_circular imagebutton: xpos +UI_xpos_offset +her_map_xpos @@ -428,7 +414,7 @@ screen map_screen_characters(): action Return("hermione") #Luna - if luna_unlocked: + if states.lun.unlocked: imagebutton: xpos UI_xpos_offset+ lun_map_xpos ypos UI_ypos_offset+ lun_map_ypos @@ -441,7 +427,7 @@ screen map_screen_characters(): action Return("luna") #Astoria - if astoria_unlocked: + if states.ast.unlocked: imagebutton: xpos UI_xpos_offset +ast_map_xpos ypos UI_ypos_offset +ast_map_ypos @@ -454,7 +440,7 @@ screen map_screen_characters(): action Return("astoria") #Susan - if susan_unlocked: + if states.sus.unlocked: imagebutton: xpos UI_xpos_offset +sus_map_xpos ypos UI_ypos_offset +sus_map_ypos @@ -467,7 +453,7 @@ screen map_screen_characters(): action Return("susan") #Cho - if cho_unlocked: + if states.cho.unlocked: imagebutton: xpos UI_xpos_offset +cho_map_xpos ypos UI_ypos_offset +cho_map_ypos @@ -480,7 +466,7 @@ screen map_screen_characters(): action Return("cho") #Snape - if snape_unlocked: + if states.sna.unlocked: imagebutton: xpos UI_xpos_offset +sna_map_xpos ypos UI_ypos_offset +sna_map_ypos @@ -493,7 +479,7 @@ screen map_screen_characters(): action Return("snape") #Tonks - if tonks_unlocked: + if states.ton.unlocked: imagebutton: xpos UI_xpos_offset +ton_map_xpos ypos UI_ypos_offset +ton_map_ypos diff --git a/game/scripts/interface/parcel.rpy b/game/scripts/interface/parcel.rpy index 5421e20d..0f24887c 100644 --- a/game/scripts/interface/parcel.rpy +++ b/game/scripts/interface/parcel.rpy @@ -53,7 +53,11 @@ init python: def get_caption(self): if len(self.contents) == 1: item, quantity = self.contents[0] - icon = item.get_image() + + if isinstance(item, Item): + icon = item.get_image() + else: + icon = item.image if quantity == 1: text = _("You have received one {}.".format(item.name)) diff --git a/game/scripts/interface/popup.rpy b/game/scripts/interface/popup.rpy index ddedf200..08dd5ce1 100644 --- a/game/scripts/interface/popup.rpy +++ b/game/scripts/interface/popup.rpy @@ -7,7 +7,7 @@ transform popup_animation(time=4.0, xx=-200): pause time linear 0.5 xoffset absolute(xx) -screen popup_window(string="", xpos=0, ypos=60): +screen popup_window(msg="", xpos=0, ypos=60): tag popup_window zorder 100 @@ -18,14 +18,13 @@ screen popup_window(string="", xpos=0, ypos=60): at popup_animation pos (xpos, ypos) - text string align (0.5, 0.5) size 12 + text msg align (0.5, 0.5) size 12 label give_reward(text="You found something!", gift="interface/icons/box_blue_2.webp", sound=True): if sound: - $ renpy.play("sounds/win2.ogg") + play sound "sounds/win2.ogg" show screen gift(gift) - show screen blktone show screen notes with d3 @@ -33,7 +32,6 @@ label give_reward(text="You found something!", gift="interface/icons/box_blue_2. $ renpy.say(None, text) hide screen gift - hide screen blktone hide screen notes with d3 @@ -41,7 +39,7 @@ label give_reward(text="You found something!", gift="interface/icons/box_blue_2. label modal_popup(title, entry, img=None, confirm="Ok"): $ disable_game_menu() - $ renpy.play("sounds/pop01.ogg") + play sound "sounds/pop01.ogg" call screen modal_popup(title, entry, img, confirm) $ enable_game_menu() return diff --git a/game/scripts/interface/splash.rpy b/game/scripts/interface/splash.rpy index 4a24ff33..e57bcc80 100644 --- a/game/scripts/interface/splash.rpy +++ b/game/scripts/interface/splash.rpy @@ -12,7 +12,9 @@ screen splashscreen(): default consent = persistent.consent or False - add "gui/splash/legal.webp" at splashcreen_zoomin + add Image("gui/splash/legal.webp", oversample=2) at splashcreen_zoomin + + add Image("gui/splash/rating.webp", oversample=2.5) align (0.05, 0.9) vbox: align (0.5, 0.9) @@ -33,6 +35,6 @@ style splash_text: transform splashcreen_zoomin: subpixel True transform_anchor True - zoom 0.5 + zoom 1.0 align (0.5, 0.5) - linear 100.0 zoom 1.0 + linear 100.0 zoom 1.5 align (0.5, 0.3) diff --git a/game/scripts/interface/stats.rpy b/game/scripts/interface/stats.rpy index 65ab724e..06987cab 100644 --- a/game/scripts/interface/stats.rpy +++ b/game/scripts/interface/stats.rpy @@ -10,20 +10,20 @@ label update_stats: # Whoring $ her_whoring_word_list = ["Pure", "Naive", "Curious", "Naughty", "Perverse", "Immoral", "Slutty", "Shameless", "Cumslut", "Total Cumslut", "Shameless Cumslut"] - $ her_whoring_word = her_whoring_word_list[int(min(her_whoring, 24)/2.4)] + $ her_whoring_word = her_whoring_word_list[int(min(states.her.level, 24)/2.4)] # Reputation $ her_reputation_word_list = ["Teacher's pet", "School star", "good girl", "minx", "slutty schoolgirl", "easy lay", "whore", "slut for sex", "gryffindor whore", "school cumdump", "mudblood cumdump"] #$ slutWords = ["Teacher's pet", "School star", "good girl", "headmaster's pet", "slutty schoolgirl", "slut", "headmaster's slut", "daddy's girl", "gryffindor slut", "Dumbledore's whore", "Dumbledore's cumdump"] - $ her_reputation_word = her_reputation_word_list[int(min(her_reputation, 24)/2.4)] + $ her_reputation_word = her_reputation_word_list[int(min(states.her.public_level, 24)/2.4)] # Tutoring $ her_tutoring_word_list = ["Not started", "naive", "tempted", "curious", "tainted", "eager", "sinful", "perverted", "corrupted", "depraved", "shattered"] - $ her_tutoring_word = her_tutoring_word_list[int(her_tutoring/1.5)] + $ her_tutoring_word = her_tutoring_word_list[int(states.her.ev.tutoring.stage/1.5)] # Mood $ her_mood_word_list = ["Cheerful", "Reluctant", "Gloomy", "Stern", "Slightly Annoyed", "Annoyed", "Upset", "Outraged", "Mad", "Angry", "Very Angry"] - $ her_mood_word = her_mood_word_list[int(min(her_mood, 10)/1.0)] + $ her_mood_word = her_mood_word_list[int(min(states.her.mood, 10)/1.0)] ### Astoria ### #call astoria_clothing_level @@ -31,21 +31,21 @@ label update_stats: #$ ast_cuteness_word = ast_cuteness_word_list[int(ast_clothing_level/10)] # Mood $ ast_mood_word_list = ["Cheerful", "Reluctant", "Gloomy", "Stern", "Slightly Annoyed", "Annoyed", "Upset", "Outraged", "Mad", "Angry", "Very Angry"] - $ ast_mood_word = ast_mood_word_list[int(min(ast_mood, 10)/1.0)] + $ ast_mood_word = ast_mood_word_list[int(min(states.ast.mood, 10)/1.0)] ### Cho ### # Whoring $ cho_whoring_word_list = ["Incorruptible", "Focused", "Resilient", "Bi-Curious", "Naughty", "Immoral", "Perverse", "Slutty", "Shameless", "Cumslut", "Shameless Cumslut"] - $ cho_whoring_word = cho_whoring_word_list[int(min(cho_whoring, 24)/2.4)] + $ cho_whoring_word = cho_whoring_word_list[int(min(states.cho.level, 24)/2.4)] # Reputation $ cho_reputation_word_list = ["Tomboy", "Team Player", "Quidditch Star", "Flying Ace", "Minx", "Manipulative", "Exploiting", "Cheater", "Team's Cumdump", "Quidditch Whore", "Cheating Slut"] - $ cho_reputation_word = cho_reputation_word_list[int(min(cho_reputation, 24)/2.4)] + $ cho_reputation_word= cho_reputation_word_list[int(min(states.cho.public_level, 24)/2.4)] # Mood $ cho_mood_word_list = ["Cheerful", "Reluctant", "Gloomy", "Stern", "Slightly Annoyed", "Annoyed", "Upset", "Outraged", "Mad", "Angry", "Very Angry"] - $ cho_mood_word = cho_mood_word_list[int(min(cho_mood, 10)/1.0)] + $ cho_mood_word = cho_mood_word_list[int(min(states.cho.mood, 10)/1.0)] ### Snape ### @@ -55,13 +55,13 @@ label update_stats: # Friendship $ sna_friendship_word_list = ["Unknown", "Colleague", "Confidant", "Trusted", "Acquaintance", "Friend", "Good friend", "Homie", "If I had to pick a dude...", "BFF", "Bros"] - $ sna_friendship_word = sna_friendship_word_list[int(min(sna_friendship, 100)/10)] + $ sna_friendship_word = sna_friendship_word_list[int(min(states.sna.level, 100)/10)] ### Tonks ### # Reputation $ ton_reputation_word_list = ["Teacher", "Bore", "Weirdo", "A Bit Nutty", "Easy Going", "Tart", "Naughty Teacher", "Slutty Teacher", "Slag", "Shameful", "Disgrace"] - $ ton_reputation_word = ton_reputation_word_list[int(min(ton_reputation, 24)/2.4)] + $ ton_reputation_word = ton_reputation_word_list[int(min(states.ton.public_level, 24)/2.4)] # Support # $ ton_support_word_list = ["Undecided", "Modest", "Candid", "Unbiased", "Positive", "Fair", "Neutral", "Biased", "Scummy", "Cruel", "Heartless"] @@ -69,7 +69,7 @@ label update_stats: # Friendship $ ton_friendship_word_list = ["Unknown", "inferior", "employee", "advisor", "trusted advisor", "Acquaintance", "friend", "Girlfriend", "Partner in crime", "Bonnie & Clyde", "Master & Slave"] - $ ton_friendship_word = ton_friendship_word_list[int(min(ton_friendship, 100)/10)] + $ ton_friendship_word = ton_friendship_word_list[int(min(states.ton.level, 100)/10)] #$ ton_sluttiness_word_list = ["Masochist", "Disgrace", "Street Whore", "Harlot", "Tart", "Sexually open", "Naughty Teacher", "Easy Going", "Professor", "Bore", "Nun"] #$ ton_sluttiness_word = ton_sluttiness_word_list[int(ton_clothing_level/10)] @@ -87,19 +87,19 @@ label stats_menu(xx=150, yy=90): # Stats dictionary $ stats_dict = { "Genie": {"ico": "genie", "flag": True, "name": "Genie", "sex": "Yes", "height": "6.2ft", "weight": "200lb", "job": "Headmaster", "hates": "Lamps", "likes": "Tits"}, - "Snape": {"ico": "snape", "flag": snape_unlocked, "name": "Severus Snape", "sex": "Male", "height": "5.9ft", "weight": "155lb", "job": "Teacher", "hates": "Everyone", "likes": "Rain"}, - "Tonks": {"ico": "tonks", "flag": tonks_unlocked, "name": "Nymphadora Tonks", "sex": "Fluid", "height": "5.6ft", "weight": "130lb", "job": "Teacher", "hates": "Pineapple Pizza", "likes": "Girls"}, - "Hermione": {"ico": "hermione", "flag": hermione_unlocked, "name": "Hermione Granger", "sex": "Female", "height": "5.2ft", "weight": "126lb", "job": "Student", "hates": "Slytherin", "likes": "Books"}, - "Cho": {"ico": "cho", "flag": cho_unlocked, "name": "Cho Chang", "sex": "Female", "height": "5.1ft", "weight": "122lb", "job": "Student", "hates": "Hermione", "likes": "Winning"}, - "Luna": {"ico": "luna", "flag": luna_unlocked, "name": "Luna Lovegood", "sex": "Female", "height": "5.2ft", "weight": "117lb", "job": "Student", "hates": "Wrackspurts", "likes": "{size=-2}Magical creatures{/size}"}, - "Astoria": {"ico": "astoria", "flag": astoria_unlocked, "name": "Astoria Greengrass", "sex": "Female", "height": "5.0ft", "weight": "102lb", "job": "Student", "hates": "Rules", "likes": "Breaking them"}, - "Susan": {"ico": "susan", "flag": susan_unlocked, "name": "Susan Bones", "sex": "Female", "height": "5.1ft", "weight": "135lb", "job": "Student", "hates": "Chores", "likes": "You {size=-4}Secretly..{/size}"} + "Snape": {"ico": "snape", "flag": states.sna.unlocked, "name": "Severus Snape", "sex": "Male", "height": "5.9ft", "weight": "155lb", "job": "Teacher", "hates": "Everyone", "likes": "Rain"}, + "Tonks": {"ico": "tonks", "flag": states.ton.unlocked, "name": "Nymphadora Tonks", "sex": "Fluid", "height": "5.6ft", "weight": "130lb", "job": "Teacher", "hates": "Pineapple Pizza", "likes": "Girls"}, + "Hermione": {"ico": "hermione", "flag": states.her.unlocked, "name": "Hermione Granger", "sex": "Female", "height": "5.2ft", "weight": "126lb", "job": "Student", "hates": "Slytherin", "likes": "Books"}, + "Cho": {"ico": "cho", "flag": states.cho.unlocked, "name": "Cho Chang", "sex": "Female", "height": "5.1ft", "weight": "122lb", "job": "Student", "hates": "Hermione", "likes": "Winning"}, + "Luna": {"ico": "luna", "flag": states.lun.unlocked, "name": "Luna Lovegood", "sex": "Female", "height": "5.2ft", "weight": "117lb", "job": "Student", "hates": "Wrackspurts", "likes": "{size=-2}Magical creatures{/size}"}, + "Astoria": {"ico": "astoria", "flag": states.ast.unlocked, "name": "Astoria Greengrass", "sex": "Female", "height": "5.0ft", "weight": "102lb", "job": "Student", "hates": "Rules", "likes": "Breaking them"}, + "Susan": {"ico": "susan", "flag": states.sus.unlocked, "name": "Susan Bones", "sex": "Female", "height": "5.1ft", "weight": "135lb", "job": "Student", "hates": "Chores", "likes": "You {size=-4}Secretly..{/size}"} } $ stats_categories_sorted = ["Genie", "Snape", "Tonks", "Hermione", "Cho", "Luna", "Astoria", "Susan"] #"Ginny", "Daphne", "Padma", "Patil", "Myrtle", "Mafkin" $ stats_categories_sorted_length = len(stats_categories_sorted) - $ current_category = last_character.capitalize() if last_character else stats_categories_sorted[0] + $ current_category = states.last_girl.capitalize() if states.last_girl else stats_categories_sorted[0] $ current_item = stats_dict[current_category] $ current_subcategory = "overview" $ current_sorting = stats_show_locked @@ -248,32 +248,32 @@ screen stats_menuitem(xx, yy): add "interface/characters/snape_locked.webp" zoom 0.35 align (0.9, 1.0) xzoom 1 elif current_category == "Tonks": if current_item["flag"]: - add tonks.get_image() zoom 0.41 align (0.7, 1.0) xzoom 1 + add tonks.image zoom 0.41 align (0.7, 1.0) xzoom 1 else: add "interface/characters/tonks_locked.webp" zoom 0.41 align (0.7, 1.0) xzoom 1 elif current_category == "Hermione": if current_item["flag"]: - add hermione.get_image() zoom 0.39 align (0.7, 1.0) xzoom 1 + add hermione.image zoom 0.39 align (0.7, 1.0) xzoom 1 else: add "interface/characters/hermione_locked.webp" zoom 0.39 align (0.65, 1.0) xzoom 1 elif current_category == "Cho": if current_item["flag"]: - add cho.get_image() zoom 0.42 align (0.65, 1.0) xzoom 1 + add cho.image zoom 0.42 align (0.65, 1.0) xzoom 1 else: add "interface/characters/cho_locked.webp" zoom 0.42 align (0.65, 1.0) xzoom 1 elif current_category == "Luna": if current_item["flag"]: - add luna.get_image() zoom 0.39 align (0.75, 1.0) xzoom 1 + add luna.image zoom 0.39 align (0.75, 1.0) xzoom 1 else: add "interface/characters/luna_locked.webp" zoom 0.39 align (0.75, 1.0) xzoom 1 elif current_category == "Astoria": if current_item["flag"]: - add astoria.get_image() zoom 0.4 align (0.7, 1.0) xzoom 1 + add astoria.image zoom 0.4 align (0.7, 1.0) xzoom 1 else: add "interface/characters/astoria_locked.webp" zoom 0.4 align (0.7, 1.0) xzoom 1 elif current_category == "Susan": if current_item["flag"]: - add susan.get_image() zoom 0.4 align (0.65, 1.0) xzoom 1 + add susan.image zoom 0.4 align (0.65, 1.0) xzoom 1 else: add "interface/characters/susan_locked.webp" zoom 0.4 align (0.65, 1.0) xzoom 1 @@ -337,46 +337,46 @@ screen stats_menuitem(xx, yy): use stat_bar(int(100/10), "-Lust-", "", 100) use stat_bar(int(0/10), "-Sanity-", "", 0) #use stat_bar(int(speed_writing/0.25), "-Speed Writing-", "", speed_writing) - #text "Jerked off -"+str(phoenix_fed_counter)+"- times" + #text "Jerked off -"+str(states.bird_fed_times)+"- times" elif current_category == "Snape": use stat_bar(int(3/1.0), "-Mood-" , "Grumpy", 3) #use stat_bar(int(sna_support/1.5), "-Support-", sna_support_word, sna_support) # sna_support between 0 and 15. - use stat_bar(int(sna_friendship/10), "-Friendship-", sna_friendship_word, sna_friendship) + use stat_bar(int(states.sna.level/10), "-Friendship-", sna_friendship_word, states.sna.level) elif current_category == "Tonks": use stat_bar(int(10/1.0), "-Mood-" , "Content", 10) - use stat_bar(int(ton_tier/0.2), "-Favour Tier-", "", ton_tier) # 4 will be max. - use stat_bar(int(ton_reputation/2.4), "-Reputation-", ton_reputation_word, ton_reputation) # Current max is 9. + use stat_bar(int(states.ton.tier/0.2), "-Favour Tier-", "", states.ton.tier) # 4 will be max. + use stat_bar(int(states.ton.public_level/2.4), "-Reputation-", ton_reputation_word, states.ton.public_level) # Current max is 9. #use stat_bar(int(ton_support/1.2), "-Support-", ton_support_word, ton_support) # ton_support between 0 and 12. - use stat_bar(int(ton_friendship/10), "-Relationship-", ton_friendship_word, ton_friendship) + use stat_bar(int(states.ton.level/10), "-Relationship-", ton_friendship_word, states.ton.level) elif current_category == "Hermione": - use stat_bar(int(10-her_mood/1.0), "-Mood-" , her_mood_word, her_mood) - use stat_bar(int(her_tier/0.6), "-Favour Tier-", "", her_tier) # 6 will be max. - use stat_bar(int(her_whoring/2.4), "-Whoring-", her_whoring_word, her_whoring) - use stat_bar(int(her_reputation/2.4), "-Reputation-", her_reputation_word, her_reputation) - use stat_bar(int(her_tutoring/1.5), "-Tutoring-" , her_tutoring_word, her_tutoring) + use stat_bar(int(10-states.her.mood/1.0), "-Mood-" , her_mood_word, states.her.mood) + use stat_bar(int(states.her.tier/0.6), "-Favour Tier-", "", states.her.tier) # 6 will be max. + use stat_bar(int(states.her.level/2.4), "-Whoring-", her_whoring_word, states.her.level) + use stat_bar(int(states.her.public_level/2.4), "-Reputation-", her_reputation_word, states.her.public_level) + use stat_bar(int(states.her.ev.tutoring.stage/1.5), "-Tutoring-" , her_tutoring_word, states.her.ev.tutoring.stage) elif current_category == "Cho": - use stat_bar(int(10-cho_mood/1.0), "-Mood-" , cho_mood_word, cho_mood) - use stat_bar(int(cho_tier/0.3), "-Favour Tier-", "", cho_tier) # 4 will be max. - use stat_bar(int(cho_whoring/0.9), "-Recklessness-", cho_whoring_word, cho_whoring) - use stat_bar(int(cho_reputation/0.9), "-Reputation-", cho_reputation_word, cho_reputation) + use stat_bar(int(10-states.cho.mood/1.0), "-Mood-" , cho_mood_word, states.cho.mood) + use stat_bar(int(states.cho.tier/0.3), "-Favour Tier-", "", states.cho.tier) # 4 will be max. + use stat_bar(int(states.cho.level/0.9), "-Recklessness-", cho_whoring_word, states.cho.level) + use stat_bar(int(states.cho.public_level/0.9), "-Reputation-", cho_reputation_word, states.cho.public_level) # TODO: Re-enable after Quidditch fixes #use stat_bar(int((cc_ht.win_counter+cc_st.win_counter)/0.6), "{size=-10}-Quidditch Training-{/size}" , "Not started", cc_ht.win_counter+cc_st.win_counter) # TODO: Add word list # TODO: Add cc_gt.match_counter & cc_gt.win_counter elif current_category == "Luna": - use stat_bar(int(10-lun_mood/1.0), "-Mood-" , "Cheerful", lun_mood) # TODO: Add word list - use stat_bar(int(lun_tier/0.4), "-Favour Tier-", "", lun_tier) # 4 is max. - use stat_bar(int(lun_whoring/0.9), "-Corruption-", "Naive", lun_whoring) # TODO: Add word list + use stat_bar(int(10-states.lun.mood/1.0), "-Mood-" , "Cheerful", states.lun.mood) # TODO: Add word list + use stat_bar(int(states.lun.tier/0.4), "-Favour Tier-", "", states.lun.tier) # 4 is max. + use stat_bar(int(states.lun.level/0.9), "-Corruption-", "Naive", states.lun.level) # TODO: Add word list use stat_bar(int(10/0.9), "-Reputation-", "Total Weirdo", 10) # Joke stat #use stat_bar(int(0), "{size=-10}-Wrackspurts Therapy-{/size}" , "Not started", 0) # TODO: Add word list and variable elif current_category == "Astoria": - use stat_bar(int(10-ast_mood/1.0), "-Mood-" , ast_mood_word, ast_mood) + use stat_bar(int(10-states.ast.mood/1.0), "-Mood-" , ast_mood_word, states.ast.mood) use stat_bar(int(1/1), "-Favour Tier-", "", 1) - use stat_bar(int(ast_whoring/0.8), "-Affection-", "", ast_whoring) # TODO: Add word list + use stat_bar(int(states.ast.level/0.8), "-Affection-", "", states.ast.level) # TODO: Add word list use stat_bar(int(3/0.9), "-Reputation-", "Mischievous", 4) # TODO: Add word list and variable, starts at level 4 #use stat_bar(int(ast_training_counter/0.9), "-Spell training-" , "Not started", ast_training_counter) # TODO: Add word list elif current_category == "Susan": - use stat_bar(int(10-sus_mood/1.0), "-Mood-" , "Cheerful", sus_mood) # TODO: Add word list + use stat_bar(int(10-states.sus.mood/1.0), "-Mood-" , "Cheerful", states.sus.mood) # TODO: Add word list use stat_bar(int(1/0.9), "-Favour Tier-", "", 1) # TODO: Add Susan tier - use stat_bar(int(sus_whoring/0.9), "-Confidence-", "Non-existent", sus_whoring) # TODO: Add word list + use stat_bar(int(states.sus.level/0.9), "-Confidence-", "Non-existent", states.sus.level) # TODO: Add word list use stat_bar(int(0/0.9), "-Reputation-", "Invisible", 0) # TODO: Add word list and variable use stat_bar(int(0), "{size=-10}-Assertiveness Training-{/size}" , "Not started", 0) # TODO: Add word list else: @@ -384,58 +384,58 @@ screen stats_menuitem(xx, yy): vbox: if current_category == "Genie": use text_stat("Bird fed:") - use text_stat("- ", " times -", phoenix_fed_counter) + use text_stat("- ", " times -", states.bird_fed_times) use text_stat("Bird petted:") - use text_stat("- ", " times -", phoenix_petted_counter) + use text_stat("- ", " times -", states.bird_petted_times) use text_stat("You missed feeding your bird for:") - use text_stat("- ", " days...", (game.day - phoenix_fed_counter) ) + use text_stat("- ", " days...", (game.day - states.bird_fed_times) ) use text_stat("If you were a Quidditch player, you'd be a:") - use text_stat("- \"", "\" -", genie_quid_position) + use text_stat("- \"", "\" -", states.gen.stats.quidditch_position) - elif current_category == "Snape": - use text_stat("Hung out with Snape:") - use text_stat("- ", " times -", ss_he_drink.counter) + # elif current_category == "Snape": + # use text_stat("Hung out with Snape:") + # use text_stat("- ", " times -", ss_he_drink.counter) - elif current_category == "Tonks": - use text_stat("Hung out with Tonks:") - use text_stat("- ", " times -", nt_he_drink.counter) + # elif current_category == "Tonks": + # use text_stat("Hung out with Tonks:") + # use text_stat("- ", " times -", nt_he_drink.counter) - elif current_category == "Hermione": - # Tier 1 - use text_stat("You Jerked off in front of her:") - use text_stat("- ", " times -", her_jerk_off_counter) - use text_stat("You saw her panties:") - use text_stat("- ", " times -", hg_pf_admire_panties.counter) - use text_stat("You admired her tits:") - use text_stat("- ", " times -", hg_pf_admire_breasts.counter) - # Tier 2 - use text_stat("You groped her:") - use text_stat("- ", " times -", hg_pf_grope.counter) - # Tier 3 - use text_stat("Hermione has \"danced\" for you:") - use text_stat("- ", " times -", hg_pf_strip.counter) - # Tier 4 - use text_stat("Hermione has given you:") - use text_stat("- ", " Handjobs -", hg_pf_handjob.counter) - # Tier 5 - use text_stat("Hermione has given you:") - use text_stat("- ", " Blowjobs -", hg_pf_blowjob.counter) - use text_stat("Hermione has given you:") - use text_stat("- ", " Tit jobs -", hg_pf_titjob.counter) - # Tier 6 - use text_stat("You've had sex with her:") - use text_stat("- ", " times -", hg_pf_sex.counter) + # elif current_category == "Hermione": + # # Tier 1 + # use text_stat("You Jerked off in front of her:") + # use text_stat("- ", " times -", states.gen.stats.masturbated_to_hermione) + # use text_stat("You saw her panties:") + # use text_stat("- ", " times -", hg_pf_admire_panties.counter) + # use text_stat("You admired her tits:") + # use text_stat("- ", " times -", hg_pf_admire_breasts.counter) + # # Tier 2 + # use text_stat("You groped her:") + # use text_stat("- ", " times -", hg_pf_grope.counter) + # # Tier 3 + # use text_stat("Hermione has \"danced\" for you:") + # use text_stat("- ", " times -", hg_pf_strip.counter) + # # Tier 4 + # use text_stat("Hermione has given you:") + # use text_stat("- ", " Handjobs -", hg_pf_handjob.counter) + # # Tier 5 + # use text_stat("Hermione has given you:") + # use text_stat("- ", " Blowjobs -", hg_pf_blowjob.counter) + # use text_stat("Hermione has given you:") + # use text_stat("- ", " Tit jobs -", hg_pf_titjob.counter) + # # Tier 6 + # use text_stat("You've had sex with her:") + # use text_stat("- ", " times -", hg_pf_sex.counter) elif current_category == "Cho": use text_stat("You Jerked off in front of her:") - use text_stat("- ", " times -", cho_jerk_off_counter) + use text_stat("- ", " times -", states.gen.stats.masturbated_to_cho) elif current_category == "Luna": pass elif current_category == "Astoria": pass - elif current_category == "Susan": - use text_stat("Cursed with Imperio:") - use text_stat("- ", " times -", ag_se_imperio_sb.counter) + # elif current_category == "Susan": + # use text_stat("Cursed with Imperio:") + # use text_stat("- ", " times -", ag_se_imperio_sb.counter) screen stat_bar(steps, top_text, bottom_text, stat_number, top_padding=20): sensitive False diff --git a/game/scripts/interface/tooltip.rpy b/game/scripts/interface/tooltip.rpy index 570a531c..316cafca 100644 --- a/game/scripts/interface/tooltip.rpy +++ b/game/scripts/interface/tooltip.rpy @@ -1,20 +1,20 @@ +default _tooltip = None + screen tooltip(): layer "interface" tag tooltip zorder 5 style_prefix "tooltip" - $ tooltip = GetTooltip() - - if settings.get("tooltip") and tooltip: + if settings.get("tooltip") and getattr(store, "_tooltip", None): window: - id tooltip + id "tooltip" at tooltip_follow - text "[tooltip]" + text "[_tooltip!i]" style tooltip_window is empty: background "#00000080" - padding (12, 6) + padding (18, 12) xmaximum 300 style tooltip_text is default: @@ -30,12 +30,22 @@ init python: def tooltip_func(trans, st, at): x, y = renpy.get_mouse_pos() - xanchor = 1.0 if (x > 980) else 0.0 - yanchor = 1.0 if (y > 500) else 0.0 - xoffset = 11 if xanchor else 0 - yoffset = 14 if yanchor else 0 - trans.pos = (x, y) - trans.anchor = (xanchor, yanchor) - trans.offset = (xoffset, yoffset) - return 0 + if trans.pos is not (x, y): + cw, ch = trans.child.window_size + + xanchor = 1.0 if (x + int(cw)) > (config.screen_width) else 0.0 + yanchor = 1.0 if (y + int(ch)) > (config.screen_height) else 0.0 + + xoffset = 18 if xanchor else 0 + yoffset = 24 if yanchor else 0 + trans.pos = (x, y) + trans.anchor = (xanchor, yanchor) + trans.offset = (xoffset, yoffset) + + return 0 + + if not renpy.android: + + config.always_shown_screens.append("tooltip") + config.per_frame_screens.append("tooltip") diff --git a/game/scripts/interface/topbar.rpy b/game/scripts/interface/topbar.rpy index 339da0f2..484b06e4 100644 --- a/game/scripts/interface/topbar.rpy +++ b/game/scripts/interface/topbar.rpy @@ -49,7 +49,7 @@ screen ui_top_bar(): use ui_points # Don't display buttons in certain rooms or on the first day - if current_room == "main_room" and game.day > 1: + if states.room == "main_room" and game.day > 1: # Menu button imagebutton: xpos 0 @@ -108,7 +108,7 @@ screen ui_top_bar(): action Jump("inventory") # Work button - if letter_work_unlock.read: + if states.paperwork_unlocked: imagebutton: idle gui.format("interface/topbar/buttons/{}/ui_work.webp") if room_menu_active: @@ -248,9 +248,9 @@ screen ui_menu(): label scene_gallery: menu: "-Watch Ball Ending 1-" if persistent.ending_01: - $ renpy.call_replay("ball_ending_E2", { "public_whore_ending": False }) + $ renpy.call_replay("ball_ending_E2", scope={ "states.her.ev.yule_ball.variant": "personal" }) "-Watch Ball Ending 2-" if persistent.ending_02: - $ renpy.call_replay("ball_ending_E2", { "public_whore_ending": True }) + $ renpy.call_replay("ball_ending_E2", scope={ "states.her.ev.yule_ball.variant": "public" }) "-Never mind-": pass jump main_room_menu diff --git a/game/scripts/interface/tutorials.rpy b/game/scripts/interface/tutorials.rpy index 4b1da488..2bf395f3 100644 --- a/game/scripts/interface/tutorials.rpy +++ b/game/scripts/interface/tutorials.rpy @@ -2,14 +2,15 @@ default tutorial_dict = { "hearts": ["Favours", "Hearts indicate your current status towards a personal favour.\n\n{color=#FFFFFF80}{b}Empty Heart{/b}{/color}{size=-2} indicates the event hasn't been seen yet.{/size}\n{color=#bf5649}{b}Red Heart{/b}{/color}{size=-2} indicates completion of the event.{/size}\n{color=#333333}{b}Black Heart{/b}{/color}{size=-2} indicates failure of the event and you should try it again at a higher character level.{/size}\n{b}{color=#FFFFFF80}Half{/color} {color=#bf5649}Heart{/color}{/b}{size=-2} indicates there's a hidden path inside the event you should follow, in order to progress further.{/size}", False], "moodngifts": ["Mood & Gifts", "Sometimes your choices may upset some characters, just like in life. You can try and avoid picking options that you think would upset them, but if you mess up, buy them some nice {color=#204997}{b}gift{/b}{/color} and they might forgive you. Keep in mind that every character has their own gift preferences.\n\nAlternatively, you can wait until they calm down but who knows how long that would take.", False], "hangouts": ["Hangouts", "Getting to know your accomplices is an important aspect of progressing through the game. Hanging out with Snape for example improves your friendship and support which has various benefits such as story and character related unlockables.\n\nYou can check your current relationship status in the {color=#204997}{b}characters menu{/b}{/color}.", False], - "workngold": ["Working & Gold", "Gold is a universal currency in the magical world. To earn gold you must complete at least one full report for the ministry. You can start working by clicking on the {color=#204997}{b}work button{/b}{/color} or clicking on the desk and papers.\n\nYou might find other work opportunities as you progress through the game.", False], + "workngold": ["Working & Gold", "Gold is a universal currency in the magical world. To earn gold you must complete at least one full report for the ministry. You can start working by clicking on the {color=#204997}{b}work button{/b}{/color} or clicking on the desk and papers.\n\nYou might find other work opportunities as you progress through the game. Please note that characters may not be available at all times.", False], "inventory": ["Inventory & Items", "The inventory screen allows you to examine items you possess. You can access it by clicking on the {color=#204997}{b}inventory button{/b}{/color} located on the top right part of the screen. The inventory is split into two main categories:\n{color=#204997}{b}Gifts{/b}{/color} - Items that can be given to other characters.\n{color=#204997}{b}Quest Items{/b}{/color} - Important items related to game progression. Some of them can be used by clicking on the {b}USE{/b} button next to the item name when it's selected.", False], "schedule": ["Outfits Schedule", "Outfits can be assigned into a set schedule, which will allow the girls to pick what they are going to wear next time you summon them, based on time of day and weather conditions.\n\nYou can assign schedules inside the Wardrobe's Outfits Manager section, by clicking on the icon represented above. \n\nThis feature can be disabled at any time in the wardrobe options menu.", False], "points": ["House Points", "House points are awarded to students for excelling in their assignments. You can manipulate the points system directly by awarding points to students for completing their tasks, or by befriending the teachers.\n\nSome characters may care about house points more than others so keep that in mind.", False], "map": ["Navigation", "The map allows you to traverse the castle by clicking on one of the icons. Highlighted areas indicate a new event on that location. You can access the map from within the desk menu.", False], - "time": ["Passing Time", "There's various things that you can spend your time doing at Hogwarts, but sometimes you may end up with not much to do.\nIf this is the case then you can pass time by clicking on the {color=#204997}{b}pass time button{/b}{/color} located in the top-right corner. \n\n{size=-2}Or you could always rub one out for old time's sake. The choice is yours.{/size}", False], - "mail": ["Mail", "Owls will occasionally bring you letters or parcels. Click on the owl or parcel to interact with it.\n\nUnlike mail pidgeons, owls are tidy creatures and won't shit all over your floor... Probably.", False], + "time": ["Passing Time", "There are many activities you may do at Hogwarts, but occasionally there might not be much to do.\nIf this is the case then you can pass time by clicking on the {color=#204997}{b}pass time button{/b}{/color} located in the top-right corner.\n\n{size=-2}Or you could always rub one out for old time's sake. The choice is yours.{/size}", False], + "mail": ["Mail", "Owls will occasionally bring you letters or parcels. Click on the owl or parcel to interact with it.\n\nUnlike mail pidgeons, owls are tidy creatures and won't shit all over your floors. Theoretically...", False], "brewing": ["Potions Brewing", "Brewing potions wasn't always an easy task, but thanks to Magic Cauldron incorporated (TM), the entire process became automated. Once you have the required ingredients in your inventory, simply click on the {color=#204997}{b}cauldron{/b}{/color} to make the desired potion.", False], + "milestones": ["Relationship milestones", "Every milestone is a chance to level up your bond with your virtual companion, leaving your real love life in the dust. Instead of boring old XP, you'll earn a boatload of (s)ass. Now that's what I call an upgrade! No need to go through any awkward first date chat, just advance to the next level.\n\nChoosing this option will progress their story and unlock more favours and events.\n\nBut beware, once you commit, old favours become inaccessible and are replaced with new ones. You may wish to postpone it until you exhaust all content you wish to see on the current level. So choose wisely, my friend.", False], } init python: @@ -21,7 +22,7 @@ init python: label tutorial(entry): if not tutorial_dict[entry][2] and settings.get('tutorials'): $ tutorial_dict[entry][2] = True - $ renpy.play("sounds/pop01.ogg") + play sound "sounds/pop01.ogg" $ renpy.music.set_volume(0.5, 3.0) $ gui.in_context("tutorial.display", entry) $ renpy.music.set_volume(1.0, 3.0) diff --git a/game/scripts/inventory/books.rpy b/game/scripts/inventory/books.rpy index d78846b9..53f7c467 100644 --- a/game/scripts/inventory/books.rpy +++ b/game/scripts/inventory/books.rpy @@ -8,10 +8,10 @@ default my_dear_waifu_ITEM = Item("my_dear_waifu_book", "book", "My Dear Waifu", label book_start: call weather_sound - call play_music("stop") - call play_sound("bookopen") + stop music fadeout 1 + play sound "sounds/bookopen.ogg" - if fire_in_fireplace: + if states.fireplace_started: call gen_chibi("read_near_fire") with d3 else: @@ -20,9 +20,9 @@ label book_start: return label book_end: - call play_sound("bookclose") + play sound "sounds/bookclose.ogg" - if fire_in_fireplace: + if states.fireplace_started: call gen_chibi("read_near_fire_done") else: call gen_chibi("read_done") diff --git a/game/scripts/inventory/books_waifu.rpy b/game/scripts/inventory/books_waifu.rpy index c51c949a..e524abcb 100644 --- a/game/scripts/inventory/books_waifu.rpy +++ b/game/scripts/inventory/books_waifu.rpy @@ -185,21 +185,22 @@ define waifu_chapters = { label waifu_book: # Setup - $ day = 1 + python: + day = 1 - $ shea_points = 0 - $ stevens_points = 0 - $ leena_points = 0 + shea_points = 0 + stevens_points = 0 + leena_points = 0 - $ generic_ending = waifu_progression["generic_ending"] - $ shea_ending = waifu_progression["shea_ending"] - $ stevens_ending = waifu_progression["stevens_ending"] - $ leena_ending = waifu_progression["leena_ending"] - $ harem_ending = waifu_progression["harem_ending"] + generic_ending = waifu_progression["generic_ending"] + shea_ending = waifu_progression["shea_ending"] + stevens_ending = waifu_progression["stevens_ending"] + leena_ending = waifu_progression["leena_ending"] + harem_ending = waifu_progression["harem_ending"] - $ shea_dates = waifu_chapters["shea_dates"] - $ stevens_dates = waifu_chapters["stevens_dates"] - $ leena_dates = waifu_chapters["leena_dates"] + shea_dates = waifu_chapters["shea_dates"] + stevens_dates = waifu_chapters["stevens_dates"] + leena_dates = waifu_chapters["leena_dates"] call book_start @@ -312,7 +313,7 @@ label waifu_book: if ending_choice == "stevens_ending": gen "Ms Stevens turned out to be one dirty slut..." ("grin", xpos="far_left", ypos="head") - if tonks_unlocked: + if states.ton.unlocked: gen "Now that I think of it, she kind of reminds me of Tonks..." ("base", xpos="far_left", ypos="head") elif ending_choice == "shea_ending": gen "Not bad. I really grew to care about that Shea girl..." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/inventory/classes.rpy b/game/scripts/inventory/classes.rpy index 6369f030..c0481f3e 100644 --- a/game/scripts/inventory/classes.rpy +++ b/game/scripts/inventory/classes.rpy @@ -1,5 +1,4 @@ init python: - class Inventory(object): def __init__(self): self.items = set() @@ -14,7 +13,7 @@ init python: return self.items def get_instances_of_type(self, type): - return filter(lambda x: x.type == type, self.get_instances()) + return [x for x in self.get_instances() if x.type == type] class Item(object): def __init__(self, id, type, name, price=0, desc="", unlocked=True, func=None, label=None, limit=100, image="default", givable=False, currency="gold", caption="use", owned=0, infinite=False, give_label=None, usable_on=[]): @@ -82,7 +81,7 @@ init python: renpy.jump(self.give_label) def get_image(self): - if isinstance(self.image, basestring): + if isinstance(self.image, str): return self.image else: return self.image() @@ -104,7 +103,7 @@ init python: def __init__(self, id, type, name, placement, price=0, desc="", unlocked=True, image="default", room_image="default", room_image_hover=None, owned=0, replaces=False, use_action=None, replace_action=None, replace_anchor=None, replace_pos=None): super(Decoration, self).__init__(id, type, name, price, desc, unlocked, None, None, 1, image, False, "tokens", "Apply", owned) - self.room_image = Transform("images/rooms/objects/decorations/{}.webp".format(self.id), zoom=self.room_scale) if room_image == "default" else Transform(room_image, zoom=self.room_scale) + self.room_image = Transform("images/rooms/main_room/decorations/{}.webp".format(self.id), zoom=self.room_scale) if room_image == "default" else Transform(room_image, zoom=self.room_scale) self.room_image_hover = Transform(room_image_hover, zoom=self.room_scale) if room_image_hover else self.room_image self.usable = True self.placement = placement @@ -122,6 +121,8 @@ init python: if self.owned == 0: raise Exception("Decoration '{}' owned count is equal to zero.".format(self.name)) + achievements.unlock("decorator") + target = self.placement if not target.decoration is None: @@ -161,7 +162,7 @@ init python: def set_active(self, who): """Marks the event as 'in progress' and will trigger a return event in the morning/evening.""" - if not who in self.in_progress.keys(): + if not who in list(self.in_progress.keys()): raise Exception("Potion '{}' is not marked as usable on '{}'.".format(self.name, who)) self.in_progress[who] = True diff --git a/game/scripts/inventory/decorations.rpy b/game/scripts/inventory/decorations.rpy index 31966646..1876b5bd 100644 --- a/game/scripts/inventory/decorations.rpy +++ b/game/scripts/inventory/decorations.rpy @@ -11,6 +11,7 @@ default harlot_poster_ITEM = Decoration("harlot_poster", "decoration", "Hogwarts default stripper_poster_ITEM = Decoration("stripper_poster", "decoration", "Stripper Poster", poster_OBJ, 2, "Hermione showing off how to work the pole... illusion charm included...") default wanted_poster_ITEM = Decoration("wanted_poster", "decoration", "Wanted Poster", poster_OBJ, 2, "A Wild West styled Wanted poster depicting our dear headmaster...") default tonks_poster_ITEM = Decoration("tonks_poster", "decoration", "Tonks Poster", poster_OBJ, 2, "Professor Tonks in her early twenties.") +default naughty_list_ITEM = Decoration("santas_naughty_list", "decoration", "Santa's Naughty List", poster_OBJ, 2, "See who was a bad boy, or a bad girl this year!", replace_action=Jump("naughty_list")) default stag_trophy_ITEM = Decoration("stag_trophy", "decoration", "Stag Trophy", trophy_OBJ, 3, "A perfect decoration over your mantelpiece to add a sense of masculinity to the office.") default crest_trophy_ITEM = Decoration("crest_trophy", "decoration", "Hogwarts Crest", trophy_OBJ, 3, "A perfect decoration for the headmaster.") @@ -44,3 +45,5 @@ default small_owl_ITEM = Decoration("small_owl", "decoration", "Small Owl", owl_ default xmas_lights_ITEM = Decoration("xmas_lights", "decoration", "Christmas Lights", chandelier_OBJ, 5, "A programmable set of LED lights. Remote control batteries not included.", replaces=True, room_image="xmas_lights_alternate", replace_action=Jump("xmas_lights_settings"), replace_anchor=(0.0, 0.0), replace_pos=(0, 0)) default xmas_wreaths_ITEM = Decoration("xmas_wreaths", "decoration", "Christmas Wreaths", door_OBJ, 5, "Chrismtas Wreaths to spread the christmas cheer.", room_image="xmas_wreaths") default xmas_giftchair_ITEM = Decoration("xmas_giftchair", "decoration", "Christmas Wreaths", chair_OBJ, 5, "A baby-sized gift-wrapped box. I wonder what's inside?", room_image="xmas_giftchair") +default xmas_garland_ITEM = Decoration("xmas_garland", "decoration", "Christmas Garland", chandelier_OBJ, 5, "A ever-so-green enchanted garland to get you into christmas spirit!", replace_anchor=(0.0, 0.0), replace_pos=(0, 0)) +default xmas_window_santa_ITEM = Decoration("xmas_window_santa", "decoration", "Christmas Window Enchantement", window_OBJ, 5, "A window enchantment that will make you think twice before saying \"I don't believe in Santa\" ever again.", room_image="xmas_window_santa", replace_anchor=(0.0, 0.0), replace_pos=(0,0)) diff --git a/game/scripts/inventory/game.rpy b/game/scripts/inventory/game.rpy index 1e36c956..78979c24 100644 --- a/game/scripts/inventory/game.rpy +++ b/game/scripts/inventory/game.rpy @@ -1,4 +1,4 @@ -init python: +init -100 python: def show_gold(st, at, old, new): if st > 1.0: return Text("G {}".format(new)), None @@ -40,7 +40,7 @@ init python: old = self._gold self._gold = max(0, min(value, 99999)) - if not renpy.in_rollback(): + if not renpy.in_rollback() and not _in_replay: renpy.hide_screen("gold") renpy.show_screen("gold", old, self._gold) @@ -59,7 +59,7 @@ init python: @weather.setter def weather(self, value): if value == "random": - value = random_choices(self.weather_types, weights=self.weather_weights)[0] + value = renpy.random.choices(self.weather_types, weights=self.weather_weights)[0] if not value in self.weather_types: raise ValueError("Unsupported weather type: '{}'".format(value)) @@ -73,6 +73,8 @@ screen gold(old, new): tag gold zorder 50 + default d = DynamicDisplayable(show_gold, old, new) + frame: xpadding 10 ysize 44 @@ -80,10 +82,12 @@ screen gold(old, new): background Frame(gui.format("interface/frames/{}/iconmed.webp"), 6, 6) pos (50, 50) - add DynamicDisplayable(show_gold, old, new) yoffset 3 + add d yoffset 3 timer 3.0 action Hide("gold") +init offset = -99 + default game = Game() # Points change displayable diff --git a/game/scripts/inventory/gifts.rpy b/game/scripts/inventory/gifts.rpy index 6d6e354a..a40948bd 100644 --- a/game/scripts/inventory/gifts.rpy +++ b/game/scripts/inventory/gifts.rpy @@ -1,24 +1,24 @@ -default lollipop_ITEM = Item("lollipop", "gift", "Lollipop Candy", 20, "A lollipop candy. An adult candy for kids or kids candy for adults?", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default chocolate_ITEM = Item("chocolate", "gift", "Chocolate", 40, "The recipe for this delicious milk chocolate is kept a secret. (Rumoured to contain dried faeries).", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default plush_owl_ITEM = Item("plush_owl", "gift", "Plush owl", 35, "A Toy owl stuffed with feathers of an actual owl. It's so cuddly!", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default butterbeer_ITEM = Item("butterbeer", "gift", "Butterbeer", 50, "Girls can't resist this beverage's buttery texture. Therefore it's always in high demand among the boys.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default science_mag_ITEM = Item("science_mag", "gift", "Educational Magazines", 30, "Educational magazines.\nthe Trusty companions of every social outcast.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default girls_mag_ITEM = Item("girls_mag", "gift", "Girly Magazines", 45, "Girly magazines.\nAll cool girls are reading these.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default adult_mag_ITEM = Item("adult_mag", "gift", "Adult magazines", 60, "Your boyfriend is turning into a nice guy?\nYour husband won't abuse you anymore?\nAll you wanted to know about relationships, love and sex. Mostly about sex.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default porn_mag_ITEM = Item("porn_mag", "gift", "Porn magazines", 80, "Give these to your girlfriend to test her, to your wife to shame her and to your daughter to avoid \"the talk\".", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default krum_poster_ITEM = Item("krum_poster", "gift", "Viktor Krum Poster", 25, "A skilled Quidditch Seeker, Viktor has been selected to play for the Bulgarian National Quidditch team despite still going to school, and is widely regarded as one of the best players in the world.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default sexy_lingerie_ITEM = Item("sexy_lingerie", "gift", "Sexy Lingerie", 75, "Sexy lingerie \"Fairy Godmother\". Charm your wizard in bed or empress your sisters at a Sabbath.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default sexy_stockings_ITEM = Item("sexy_stockings", "gift", "Sexy Stockings", 50, "Somewhere between now and the dark-ages came the invention of stockings, when you want to show some skin but not too much.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default pink_condoms_ITEM = Item("condoms", "gift", "A Pack Of Condoms", 50, "Unleash the one-horned beast!\n{size=-4}May contain traces of actual unicorn saliva.{/size}", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default vibrator_ITEM = Item("vibrator", "gift", "Vibrator", 55, "A magnificent, magically enhanced vibrator made of vine wood, with a dragon heartstring core.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default anal_lube_ITEM = Item("lube", "gift", "Jar of lubricant", 60, "A Jar full of lube, Buy this for your loved one - show that you care.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default ballgag_and_cuffs_ITEM = Item("ballgag_and_cuffs", "gift", "Ball gag and cuffs", 70, "Ball gag and cuffs, Turn your soulmate into your cellmate.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default anal_plugs_ITEM = Item("buttplugs", "gift", "Anal plugs", 85, "Anal plugs decorated with actual tails. Sizes vary to satisfy expert practitioners and beginner alike.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default testral_strapon_ITEM = Item("strapon", "gift", "Thestral Strap-on", 200, "Thestral strap-on.\nWhen you see it, you'll shit bricks.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default broom_2000_ITEM = Item("broom", "gift", "Lady Speed Stick-2000", 500, "{size=-2}The \"Lady Speed Stick-2000\", an elegant way of transportation for passionate witches. The trademarked saddle guarantees full satisfaction. Get one for your witch and she won't use her boring old broom ever again!{/size}", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default sexdoll_ITEM = Item("sexdoll", "gift", "Sex doll \"Joanne\"", 350, "It's so realistic. Almost looks like a real human under the influence of a spell of some sort.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default anal_beads_ITEM = Item("beads", "gift", "Anal beads", 65, "Anal beads engraved with a strange inscription \"Property of L.C.\".", givable=True, caption="Give", usable_on=list(CHARACTERS)) +default lollipop_ITEM = Item("lollipop", "gift", "Lollipop Candy", 20, "A lollipop candy. An adult candy for kids or kids candy for adults?", givable=True, caption="Give", usable_on=list(states.dolls)) +default chocolate_ITEM = Item("chocolate", "gift", "Chocolate", 40, "The recipe for this delicious milk chocolate is kept a secret. (Rumoured to contain dried faeries).", givable=True, caption="Give", usable_on=list(states.dolls)) +default plush_owl_ITEM = Item("plush_owl", "gift", "Plush owl", 35, "A Toy owl stuffed with feathers of an actual owl. It's so cuddly!", givable=True, caption="Give", usable_on=list(states.dolls)) +default butterbeer_ITEM = Item("butterbeer", "gift", "Butterbeer", 50, "Girls can't resist this beverage's buttery texture. Therefore it's always in high demand among the boys.", givable=True, caption="Give", usable_on=list(states.dolls)) +default science_mag_ITEM = Item("science_mag", "gift", "Educational Magazines", 30, "Educational magazines.\nthe Trusty companions of every social outcast.", givable=True, caption="Give", usable_on=list(states.dolls)) +default girls_mag_ITEM = Item("girls_mag", "gift", "Girly Magazines", 45, "Girly magazines.\nAll cool girls are reading these.", givable=True, caption="Give", usable_on=list(states.dolls)) +default adult_mag_ITEM = Item("adult_mag", "gift", "Adult magazines", 60, "Your boyfriend is turning into a nice guy?\nYour husband won't abuse you anymore?\nAll you wanted to know about relationships, love and sex. Mostly about sex.", givable=True, caption="Give", usable_on=list(states.dolls)) +default porn_mag_ITEM = Item("porn_mag", "gift", "Porn magazines", 80, "Give these to your girlfriend to test her, to your wife to shame her and to your daughter to avoid \"the talk\".", givable=True, caption="Give", usable_on=list(states.dolls)) +default krum_poster_ITEM = Item("krum_poster", "gift", "Viktor Krum Poster", 25, "A skilled Quidditch Seeker, Viktor has been selected to play for the Bulgarian National Quidditch team despite still going to school, and is widely regarded as one of the best players in the world.", givable=True, caption="Give", usable_on=list(states.dolls)) +default sexy_lingerie_ITEM = Item("sexy_lingerie", "gift", "Sexy Lingerie", 75, "Sexy lingerie \"Fairy Godmother\". Charm your wizard in bed or empress your sisters at a Sabbath.", givable=True, caption="Give", usable_on=list(states.dolls)) +default sexy_stockings_ITEM = Item("sexy_stockings", "gift", "Sexy Stockings", 50, "Somewhere between now and the dark-ages came the invention of stockings, when you want to show some skin but not too much.", givable=True, caption="Give", usable_on=list(states.dolls)) +default pink_condoms_ITEM = Item("condoms", "gift", "A Pack Of Condoms", 50, "Unleash the one-horned beast!\n{size=-4}May contain traces of actual unicorn saliva.{/size}", givable=True, caption="Give", usable_on=list(states.dolls)) +default vibrator_ITEM = Item("vibrator", "gift", "Vibrator", 55, "A magnificent, magically enhanced vibrator made of vine wood, with a dragon heartstring core.", givable=True, caption="Give", usable_on=list(states.dolls)) +default anal_lube_ITEM = Item("lube", "gift", "Jar of lubricant", 60, "A Jar full of lube, Buy this for your loved one - show that you care.", givable=True, caption="Give", usable_on=list(states.dolls)) +default ballgag_and_cuffs_ITEM = Item("ballgag_and_cuffs", "gift", "Ball gag and cuffs", 70, "Ball gag and cuffs, Turn your soulmate into your cellmate.", givable=True, caption="Give", usable_on=list(states.dolls)) +default anal_plugs_ITEM = Item("buttplugs", "gift", "Anal plugs", 85, "Anal plugs decorated with actual tails. Sizes vary to satisfy expert practitioners and beginner alike.", givable=True, caption="Give", usable_on=list(states.dolls)) +default testral_strapon_ITEM = Item("strapon", "gift", "Thestral Strap-on", 200, "Thestral strap-on.\nWhen you see it, you'll shit bricks.", givable=True, caption="Give", usable_on=list(states.dolls)) +default broom_2000_ITEM = Item("broom", "gift", "Lady Speed Stick-2000", 500, "{size=-2}The \"Lady Speed Stick-2000\", an elegant way of transportation for passionate witches. The trademarked saddle guarantees full satisfaction. Get one for your witch and she won't use her boring old broom ever again!{/size}", givable=True, caption="Give", usable_on=list(states.dolls)) +default sexdoll_ITEM = Item("sexdoll", "gift", "Sex doll \"Joanne\"", 350, "It's so realistic. Almost looks like a real human under the influence of a spell of some sort.", givable=True, caption="Give", usable_on=list(states.dolls)) +default anal_beads_ITEM = Item("beads", "gift", "Anal beads", 65, "Anal beads engraved with a strange inscription \"Property of L.C.\".", givable=True, caption="Give", usable_on=list(states.dolls)) -default wine_ITEM = Item("wine", "gift", "Wine", 60, "For the more refined palate.", givable=True, caption="Give", usable_on=list(CHARACTERS)) -default firewhisky_ITEM = Item("firewhisky", "gift", "Firewhisky", 80, "Great taste with a fiery burn.", givable=True, caption="Give", unlocked=False, usable_on=list(CHARACTERS)) +default wine_ITEM = Item("wine", "gift", "Wine", 60, "For the more refined palate.", givable=True, caption="Give", usable_on=list(states.dolls)) +default firewhisky_ITEM = Item("firewhisky", "gift", "Firewhisky", 80, "Great taste with a fiery burn.", givable=True, caption="Give", unlocked=False, usable_on=list(states.dolls)) diff --git a/game/scripts/inventory/potions/_potions_.txt b/game/scripts/inventory/potions/_potions_.txt index 9eef3503..6b5ebffc 100644 --- a/game/scripts/inventory/potions/_potions_.txt +++ b/game/scripts/inventory/potions/_potions_.txt @@ -285,7 +285,7 @@ label potions_menu: for item in potion_choice: if not potion_inv.has(item): missing_items.append(item) - for i in xrange(len(missing_items)): + for i in range(len(missing_items)): tmp_txt += "{size=+5}{b}"+potion_lib.get_name_by_id(missing_items[i])+"{/b}{/size}" if len(missing_items) > 1: if i < len(missing_items)-2: diff --git a/game/scripts/inventory/potions/addictive_potion.txt b/game/scripts/inventory/potions/addictive_potion.txt index c3f5c5bc..550d59a7 100644 --- a/game/scripts/inventory/potions/addictive_potion.txt +++ b/game/scripts/inventory/potions/addictive_potion.txt @@ -599,7 +599,7 @@ label potion_scene_3_3_1: if hermione.is_worn("bottom"): her "It really suuuuucks that I have to wear anything at all in this boring nunnery..." ("annoyed", "narrow", "annoyed", "up") her "(Why can't I wear something shorter. A skirt, but...)" - her "(A reeealy short one!!!{heart}{heart}{heart})",face="horny" + her "(A reeealy short one!!!{heart}{heart}{heart})" ("annoyed", "narrow", "annoyed", "up") call set_her_action("lift_bottom") pause.5 @@ -844,7 +844,7 @@ label potion_scene_3_3_1: # Note: these items can also be bought $ cum_badge_ITEM.unlocked = True $ lipstick_pink_ITEM.unlocked = True - call give_reward(">Hermione can now use pink lipstick and wear the \'cum\' badge!","interface/icons/lipstick_pink.webp") + call give_reward("Hermione can now use pink lipstick and wear the \'cum\' badge!","interface/icons/lipstick_pink.webp") call reset_hermione diff --git a/game/scripts/minigames/cardgame/__card_game_init__.rpy b/game/scripts/minigames/cardgame/__card_game_init__.rpy index f9de5475..69923e68 100644 --- a/game/scripts/minigames/cardgame/__card_game_init__.rpy +++ b/game/scripts/minigames/cardgame/__card_game_init__.rpy @@ -12,14 +12,14 @@ default currentpage = 0 # Rules(Shown Cards, Sudden Death, Reverse, Dobelt_number) default standard_rules = [0, False, False, False] -default playercolor_rgb = (51, 92, 147, 255) -default enemycolor_rgb = (116, 0, 0, 255) +default playercolor_rgb = Color((51, 92, 147, 255)) +default enemycolor_rgb = Color((116, 0, 0, 255)) default geniecard_level = 1 default tokens = 0 default cardgame_eoc = False # End of content flag -default table_cards = [[None for x in xrange(0,3)] for y in xrange(0,3)] +default table_cards = [[None for x in range(0,3)] for y in range(0,3)] #Special Cards @@ -429,37 +429,7 @@ default card_item_wine = Card( imagepath="images/cardgame/t1/other/wine_v1.webp" title="Bottle of wine", description="That wine I keep finding in this cupboard. Not sure if the wine is magically infused or the cupboard.") -default deck_unlocked = False default enemy_deck = [] -default duel_win_label = "" -default duel_loss_label = "" - -default snape_know_cards = False -default snape_first_win = False -default snape_second_win = False -default snape_third_win = False -default snape_wager_talk = False -default random_snape_win = False - -default her_know_cards = False -default her_cards_stocked_talk = False -default her_first_win = False -default her_second_win = False -default her_third_win = False -default her_random_win = False -default cardgame_work = False -default first_time_cardgame_work = True - -default twins_know_cards = False -default twins_first_win = False -default twins_second_win = False -default twins_cards_delay = 7 -default twins_cards_stocked = False -default twins_cards_stocked_talk = False -default twins_interest = False -default first_random_twins = True -default twins_random_win = True -default twins_profit = 1.0 default card_rand_realm = renpy.random.choice([card_iris, card_jasmine, card_azalea]) default card_rand_girl = renpy.random.choice([card_her_schoolgirl, card_sus_schoolgirl, card_cho_schoolgirl, card_lun_schoolgirl]) @@ -601,7 +571,7 @@ init python: gretest_func = lambda elm1, elm2 : elm1.get_total_value() < elm2.get_total_value() temp_pool = [] temp_pool.extend(card_pool) - for card in xrange(0,5): + for card in range(0,5): random_choice = renpy.random.choice(temp_pool) new_deck.append(random_choice) @@ -609,7 +579,7 @@ init python: while min > get_deck_score(new_deck) or max < get_deck_score(new_deck): replace_index = 0 - if new_deck < min: + if get_deck_score(new_deck) < min: replace_index = find_index_func(temp_pool, smalles_func) else: replace_index = find_index_func(temp_pool, gretest_func) @@ -625,7 +595,7 @@ init python: return new_deck def find_index_func(seq, func): func_index = 0 - for i in xrange(0, len(seq)): + for i in range(0, len(seq)): if func(seq[func_index], seq[i]): func_index = i return func_index @@ -671,7 +641,7 @@ init python: def get_rgb_list(hex): hex = hex.lstrip('#') hex_len = len(hex) - rgb = list(int(hex[i:i + hex_len // 3], 16) for i in xrange(0, hex_len, hex_len // 3)) + rgb = list(int(hex[i:i + hex_len // 3], 16) for i in range(0, hex_len, hex_len // 3)) if len(rgb) < 4: rgb.append(255) # Add alpha return rgb @@ -685,8 +655,8 @@ init python: def reset_table_cards(): global table_cards - for y in xrange(0,3): - for x in xrange(0,3): + for y in range(0,3): + for x in range(0,3): table_cards[x][y] = None return @@ -694,8 +664,8 @@ init python: global table_cards playerpoints = len(player_deck) - for y in xrange(0,3): - for x in xrange(0,3): + for y in range(0,3): + for x in range(0,3): if table_cards[x][y] and table_cards[x][y].playercard: playerpoints += 1 if playerpoints > 5: @@ -813,8 +783,8 @@ init python: score_func = lambda a : a take_over = lambda a, b : a > b - for y in xrange(0,3): - for x in xrange(0,3): + for y in range(0,3): + for x in range(0,3): score = 0 if table_cards[x][y] == None: if not y == 0 and not table_cards[x][y-1] == None and table_cards[x][y-1].playercard: diff --git a/game/scripts/minigames/cardgame/_card_game_.rpy b/game/scripts/minigames/cardgame/_card_game_.rpy index b2394e55..d21c58b6 100644 --- a/game/scripts/minigames/cardgame/_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_card_game_.rpy @@ -9,9 +9,9 @@ init python: duel_player_deck = playerdeck backside_list = [] - for i in xrange(0, rules[0]): + for i in range(0, rules[0]): backside_list.append(True) - for i in xrange(rules[0], len(opppent_deck)): + for i in range(rules[0], len(opppent_deck)): backside_list.append(False) ## Setup Deck ## @@ -58,9 +58,9 @@ init python: enemy_deck.append(elm) backside_list = [] - for i in xrange(0, rules[0]): + for i in range(0, rules[0]): backside_list.append(True) - for i in xrange(rules[0], len(opppent_deck)): + for i in range(rules[0], len(opppent_deck)): backside_list.append(False) reset_table_cards() @@ -99,6 +99,23 @@ init python: selectenemycard = -1 return "NewTurn" + elif _return == "skip_win": + renpy.show_screen("card_end_message", "You win!") + renpy.sound.play("sounds/card_win.ogg") + renpy.pause(3.0) # Pause before end + renpy.hide_screen("card_end_message") + renpy.hide_screen("card_battle") + renpy.transition(dissolve) + return "win" + + elif _return == "skip_lost": + renpy.show_screen("card_end_message", "You lost...") + renpy.pause(3.0) # Pause before end + renpy.hide_screen("card_end_message") + renpy.hide_screen("card_battle") + renpy.transition(dissolve) + return "lost" + else: if not selectcard == -1: renpy.sound.play("sounds/card.ogg") @@ -187,7 +204,7 @@ init python: if rules[3]: rules_list.append(card_rule_double) is_random_deck = True - for x in xrange(len(player_deck)): + for x in range(len(player_deck)): is_random_deck = is_random_deck and (player_deck[x].title is playerdeck[x].title) if not is_random_deck: rules_list.append(card_rule_random) @@ -227,27 +244,32 @@ screen card_battle(l_playerdeck, l_enemydeck, shown_cards): imagemap: ground "images/cardgame/card_table.webp" - for y in xrange(0,3): - for x in xrange(0,3): + for y in range(0,3): + for x in range(0,3): if table_cards[x][y] == None: hotspot (353+124*x, 25+184*y, 125, 182) clicked Return(str(x+y*3)) else: use cardrender(table_cards[x][y], 353+124*x, 25+184*y, cardzoom=0.375, animated=True) - for i in xrange(0, len(l_playerdeck)): + for i in range(0, len(l_playerdeck)): if not selectcard == i: use cardrender(l_playerdeck[i], 18,17+80*i, True) if not selectcard == -1: use cardrender(l_playerdeck[selectcard], 54,17+80*selectcard) - for i in xrange(0, len(l_enemydeck)): + for i in range(0, len(l_enemydeck)): if not selectenemycard == i: use cardrender(l_enemydeck[i], 898,17+80*i, True, backside=shown_cards[i]) if not selectenemycard == -1: use cardrender(l_enemydeck[selectenemycard], 860,17+80*selectenemycard, backside= shown_cards[selectenemycard]) + if config.developer: + vbox: + textbutton "Dev skip (win)" action Return("skip_win") + textbutton "Dev skip (lose)" action Return("skip_lost") + use close_button transform cardrender_move(xpos_card, ypos_card, start_xy): @@ -303,14 +325,14 @@ style cardrender_text: screen start_deck(): zorder 26 - for i in xrange(len(unlocked_cards)): + for i in range(len(unlocked_cards)): use cardrender(unlocked_cards[i],40+125*i,200, interact=False, cardzoom=0.375) screen advance_deck(): tag advance_deck zorder 26 - for i in xrange(len(cards_dynamic)): + for i in range(len(cards_dynamic)): use cardrender(cards_dynamic[i],40+125*i,200, interact=False, cardzoom=0.375) text "Tier [geniecard_level]" size 32 color "#fff" ypos 100 xalign 0.5 outlines [ (2, "#000", 0, 0) ] @@ -342,7 +364,7 @@ screen rules_display(game_rules_list): background "#7c716a" vbox: spacing 5 - for i in xrange(len(game_rules_list)): + for i in range(len(game_rules_list)): hbox: add game_rules_list[i].icon text game_rules_list[i].name yalign 0.5 diff --git a/game/scripts/minigames/cardgame/_deck_builder_.rpy b/game/scripts/minigames/cardgame/_deck_builder_.rpy index ca29f401..79a8101a 100644 --- a/game/scripts/minigames/cardgame/_deck_builder_.rpy +++ b/game/scripts/minigames/cardgame/_deck_builder_.rpy @@ -54,7 +54,7 @@ screen deck_builder_screen(): $ card_shown=5 imagebutton idle "images/cardgame/deck_builder.webp" action Return("unselect") - for i in xrange(0, clamp(card_shown, 0, (len(unlocked_cards))-(card_shown*currentpage))): + for i in range(0, clamp(card_shown, 0, (len(unlocked_cards))-(card_shown*currentpage))): use cardrender(unlocked_cards[clamp(i+(currentpage*card_shown), 0, len(unlocked_cards))], 18,17+80*i, True) if not selectcard == -1: @@ -89,7 +89,7 @@ screen deck_builder_screen(): ysize 500 text "{size=-5}"+unlocked_cards[selectcard].get_description()+"{/size}" - for i in xrange(0,5): + for i in range(0,5): use cardrender(playerdeck[i], 223+165*i, 17, True, return_value=i, color=True) imagebutton: @@ -139,13 +139,13 @@ screen deck_builder_screen(): keysym "game_menu" #Easter egg - hbox: - xpos 1020 - ypos 296 - xsize 40 - ysize 40 - button action Jump("color_change") background "#ffffff00" - #add Solid(get_hex_string(playercolor_rgb)) + # hbox: + # xpos 1020 + # ypos 296 + # xsize 40 + # ysize 40 + # button action Jump("color_change") background "#ffffff00" + # #add Solid(get_hex_string(playercolor_rgb)) screen deck_builder_gallery(): zorder 8 @@ -172,8 +172,8 @@ screen deck_builder_gallery(): label color_change: python: - playercolor_rgb = tuple(color_picker(list(playercolor_rgb), False, "Player border")) - enemycolor_rgb = tuple(color_picker(list(enemycolor_rgb), False, "Enemy border")) + playercolor_rgb = tuple(color_picker(playercolor_rgb), False, "Player border") + enemycolor_rgb = tuple(color_picker(enemycolor_rgb), False, "Enemy border") jump deck_builder @@ -181,74 +181,74 @@ label deck_builder_guide: $ deck_guide_page = 0 $ deck_guide_zone = "" $ deck_guide_helper = "" - call play_music("grape_soda") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed show screen deck_builder_tutorial with dissolve - ">The goal of Wizard cards is to own the most cards on the playing field until all 9 slots are filled." - ">To win the game you have to pay attention to your deck but also enemy deck." + nar "The goal of Wizard cards is to own the most cards on the playing field until all 9 slots are filled." + nar "To win the game you have to pay attention to your deck but also the enemy deck." # Sides guide $ deck_guide_zone = "player_zone" - ">This is your deck." - ">You can have a maximum of five cards in your active deck." + nar "This is your deck." + nar "You can have a maximum of five cards in your active deck." $ deck_guide_zone = "enemy_zone" - ">This is your opponents deck." - ">Your opponents deck is also limited to five cards." + nar "This is your opponent's deck." + nar "Your opponent's deck is also limited to five cards." # Inspection guide $ deck_guide_zone = "" $ deck_guide_page = 1 - ">You can inspect cards by clicking on them." + nar "You can inspect cards by clicking on them." $ deck_guide_page = 2 - ">In the current version of the game you can also inspect enemy cards." - ">This might change later on if we feel like the game is not difficult enough." + nar "In the current version of the game you can also inspect enemy cards." + nar "This might change later on if we feel like the game is not difficult enough." # Card guide $ deck_guide_page = 1 - ">To place down a card simply select it and click on any of the empty fields." + nar "To place down a card, simply select it and click on any of the empty fields." $ deck_guide_page = 3 - ">You can place only one card per turn." + nar "You can place only one card per turn." $ deck_guide_zone = "card_zone" $ deck_guide_helper = "border_guide" - ">Every card you place down is displayed with a Blue border and signifies that you own the card." - ">Your opponents cards are displayed in red." + nar "Every card you place down is displayed with a Blue border and signifies that you own the card." + nar "Your opponent's cards are displayed in red." $ deck_guide_helper = "numbers_guide" - ">Numbers on the sides, top, and bottom indicate the power of the card in specific direction." + nar "Numbers on the sides, top, and bottom indicate the power of the card in a specific direction." $ deck_guide_helper = "tier_guide" - ">This is what we call a card tier." - ">The shape and colour of it indicated rarity of the card while the number tells you the overall power of it." + nar "This is what we call a card tier." + nar "The shape and colour of it indicates the rarity of the card, while the number tells you the overall power of it." $ deck_guide_helper = "" - ">The card currently displayed is a special card." - ">Special cards are unique and cannot be obtained more than once." + nar "The card currently displayed is a special card." + nar "Special cards are unique and cannot be obtained more than once." $ deck_guide_page = 33 - ">This card for example is simply called a girl card." + nar "This card, for example, is simply called a girl card." $ deck_guide_helper = "cho_stage2" - ">They also cannot be obtained more than once but the picture changes depending on how many challenges you have won." - ">You'll learn more about those as you play but the gist is..." + nar "They also cannot be obtained more than once, but the picture changes depending on how many challenges you have won." + nar "You'll learn more about those as you play, but the gist is..." $ deck_guide_helper = "cho_stage3" - ">The more challenges you beat, the less clothes a character wears." - ">Cool, right?" + nar "The more challenges you beat, the fewer clothes a character wears." + nar "Cool, right?" gen "Hell yes!" ("grin", xpos="far_left", ypos="head") $ deck_guide_helper = "" $ deck_guide_page = 3 - ">Moving on." + nar "Moving on." gen "..." ("base", xpos="far_left", ypos="head") # $ deck_guide_zone = "fight_zone" $ deck_guide_helper = "fight_guide" $ deck_guide_page = 4 - ">Once a card is played, it can be taken by the other player when they place a card with a number higher than the side of the card facing that number." + nar "Once a card is played, it can be taken by the opponent when they place a card with a number higher than the side of the card facing that number." $ deck_guide_helper = "border_guide" - ">When a card is taken its border changes colour." + nar "When a card is taken, its border changes colour." $ deck_guide_zone = "" $ deck_guide_helper = "" $ deck_guide_page = 5 - ">The player with the most cards of their colour by the end wins the game." + nar "The player with the most cards of their colour by the end wins the game." - if not snape_know_cards: + if not states.sna.ev.cardgame.known: gen "(Seems simple enough....)" ("base", xpos="far_left", ypos="head") gen "(Wait... who the fuck do I play against?)" ("angry", xpos="far_left", ypos="head") gen "(Maybe I should ask my good ole pal Snape if he has any cards...)" ("grin", xpos="far_left", ypos="head") @@ -265,7 +265,7 @@ label deck_builder_guide: jump deck_builder screen deck_builder_tutorial(): - zorder 4 + zorder 18 #imagebutton idle "interface/desk/_bg_.webp" action None add "images/cardgame/guide/[deck_guide_page].webp" @@ -280,7 +280,7 @@ screen deck_builder_tutorial(): add "images/cardgame/guide/[deck_guide_helper].webp" xpos 540 ypos 300 xalign 0.5 yalign 0.5 if deck_guide_helper == "tier_guide": - add "images/cardgame/guide/[deck_guide_helper].webp" xpos 500 ypos 200 xalign 0.5 + add "images/cardgame/guide/[deck_guide_helper].webp" xpos 500 ypos 200 xanchor 0.5 if deck_guide_helper == "cho_stage2": add "images/cardgame/guide/[deck_guide_helper].webp" xpos 540 ypos 300 xalign 0.5 yalign 0.5 diff --git a/game/scripts/minigames/cardgame/_hermione_card_game_.rpy b/game/scripts/minigames/cardgame/_hermione_card_game_.rpy index 6466c3a8..423614a1 100644 --- a/game/scripts/minigames/cardgame/_hermione_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_hermione_card_game_.rpy @@ -3,50 +3,52 @@ # Hermione Duel Menu label hermione_cardgame_menu: - if her_know_cards == False: - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("base","base") + if states.her.ev.cardgame.known == False: + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("base","base") gen "Are you familiar with Wizard Cards?" ("base", xpos="far_left", ypos="head") her "I've heard of it... it used to be a popular card game a decade or so ago." ("annoyed","squint") gen "So, would you like to play it?" ("grin", xpos="far_left", ypos="head") her "Do they even make the cards still? I don't think there's anyone in Hogsmeade stocking them." ("normal", "squint", "base", "mid") her "So I wouldn't be able to play against you..." ("base","base") her "Unless Fred and Geo..." ("clench","wide") - gen "Unless... who now?" ("base", xpos="far_left", ypos="head") + gen "Unless... Who?" ("base", xpos="far_left", ypos="head") her "(Hermione... learn to keep your mouth shut.)" ("mad", "wide", "base", "R") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "I'm sorry sir, I should have told you..." ("open", "base", "worried", "mid") her "Fred and George have a secret shop set up in the school." ("normal", "base", "worried", "R") gen "I see..." ("base", xpos="far_left", ypos="head") + if item_store_intro_done: + gen "(Probably shouldn't tell her that I already knew that...)" ("base", xpos="far_left", ypos="head") her "Please don't tell them I told you." ("open","happyCl") gen "So you say they might have some cards?" ("base", xpos="far_left", ypos="head") - her "Wha... yes, maybe." ("mad", "narrow", "base", "mid") - her "You're not going to shut them down are you?" ("angry", "squint", "base", "mid") - gen "Why should I? It's a free market is it not?" ("base", xpos="far_left", ypos="head") + her "Wha... Yes, maybe." ("mad", "narrow", "base", "mid") + her "You're not going to shut them down, are you?" ("angry", "squint", "base", "mid") + gen "Why should I? It's a free market, is it not?" ("base", xpos="far_left", ypos="head") gen "A little bit of competition with Hoemead is good for consumers." ("grin", xpos="far_left", ypos="head") - her "But...{w=0.3} I mean, yes of course." ("annoyed", "base", "worried", "mid") + her "But...{w=0.3} I mean... Yes, of course." ("annoyed", "base", "worried", "mid") gen "So you'll play if they stock some cards?" ("base", xpos="far_left", ypos="head") her "I mean..." ("soft", "narrow", "base", "down") gen "If they don't get shut down I mean." ("base", xpos="far_left", ypos="head") - her "Oh! Yes of course I'll play!" ("shock","wide") + her "Oh! Yes, of course I'll play!" ("shock","wide") her "..." ("soft", "wide", "worried", "stare") her "Anything else you needed or am I free to go?" ("base", "base", "worried", "mid") - $ her_know_cards = True + $ states.her.ev.cardgame.known = True jump hermione_requests - elif her_know_cards and twins_know_cards == False: + elif states.her.ev.cardgame.known and states.twi.ev.cardgame.known == False: gen "(I should talk to Fred and George about wizard cards first.)" ("base", xpos="far_left", ypos="head") jump hermione_requests - elif her_know_cards and twins_know_cards and not twins_cards_stocked: + elif states.her.ev.cardgame.known and states.twi.ev.cardgame.known and not states.twi.ev.cardgame.stocked: gen "(I have to convince Fred and George to start stocking up cards in their shop first.)" ("base", xpos="far_left", ypos="head") jump hermione_requests - elif twins_cards_stocked_talk and not her_cards_stocked_talk: - gen "Hello again [hermione_name]." ("base", xpos="far_left", ypos="head") - her "Hello [genie_name]." ("base","base") + elif states.twi.ev.cardgame.stock_talk and not states.her.ev.cardgame.has_cards: + gen "Hello again [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "Hello [name_genie_hermione]." ("base","base") gen "I wanted to thank you for mentioning the Weasley shop." ("base", xpos="far_left", ypos="head") - her "You're not shutting them down are you?" ("soft", "narrow", "worried", "down") + her "You're not shutting them down, are you?" ("soft", "narrow", "worried", "down") gen "Of course not, where else am I supposed to get my supplies from?" ("base", xpos="far_left", ypos="head") her "Oh, yes... where." ("normal", "narrow", "base", "down") gen "I hope you've picked up some cards because we're playing today!" ("grin", xpos="far_left", ypos="head") @@ -54,9 +56,9 @@ label hermione_cardgame_menu: her "I had to go make sure that you hadn't shut them down and somehow ended up with a deck of cards." ("mad", "closed", "angry", "mid") gen "(Sounds like even I could learn some bartering tricks from those two.)" ("grin", xpos="far_left", ypos="head") gen "So, how about some practice rounds then?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... I've only recently started playing so I'm not that good yet." ("base", "narrow", "base", "mid_soft") - gen "Don't worry, after a few practice rounds you'll get up to speed, when you're ready we'll play the real challenge..." ("base", xpos="far_left", ypos="head") - $ her_cards_stocked_talk = True + her "*Ehm*... I've only recently started playing, so I'm not that good yet." ("base", "narrow", "base", "mid_soft") + gen "Don't worry, after a few practice rounds you'll get up to speed, when you're ready, we'll play the real challenge..." ("base", xpos="far_left", ypos="head") + $ states.her.ev.cardgame.has_cards = True jump hermione_duel_menu else: @@ -65,13 +67,13 @@ label hermione_cardgame_menu: menu: "-First Duel-": jump hermione_first_duel - "-Second Duel-" if her_first_win: + "-Second Duel-" if states.her.ev.cardgame.stage >= 1: jump hermione_second_duel - "-You need to beat the first duel-" (style="disabled") if not her_first_win: + "-You need to beat the first duel-" (style="disabled") if states.her.ev.cardgame.stage < 1: jump hermione_duel_menu - "-Challenge-" if her_second_win: + "-Challenge-" if states.her.ev.cardgame.stage >= 2: jump hermione_third_duel - "-You need to beat the second duel-" (style="disabled") if not her_second_win: + "-You need to beat the second duel-" (style="disabled") if states.her.ev.cardgame.stage < 2: jump hermione_duel_menu "-Never mind-": jump hermione_requests @@ -79,7 +81,7 @@ label hermione_cardgame_menu: jump hermione_random_duel label hermione_first_duel: - call play_music("grape_soda") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed $ renpy.call_in_new_context("start_duel", her_first_deck) @@ -91,16 +93,17 @@ label hermione_first_duel: hide screen blkfade stop music fadeout 1 - if not her_first_win: + + if states.her.ev.cardgame.stage < 1: + $ states.her.ev.cardgame.stage = 1 + her "Well, that's interesting. I was sure that my deck would've been balanced enough..." ("angry", "closed", "angry", "mid") gen "It's just a practice round, I'm sure you'll do better next time." ("grin", xpos="far_left", ypos="head") her "Your smile says otherwise." ("mad", "narrow", "angry", "R") gen "..." ("base", xpos="far_left", ypos="head") - $ her_first_win = True - pass + else: her "This game is stupid, I'm leaving!" ("angry", "closed", "angry", "mid") - pass $ tokens += 1 @@ -108,7 +111,7 @@ label hermione_first_duel: jump end_hermione_event label hermione_second_duel: - call play_music("grape_soda") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed $ renpy.call_in_new_context("start_duel", her_second_deck) @@ -120,7 +123,10 @@ label hermione_second_duel: hide screen blkfade stop music fadeout 1 - if not her_second_win: + + if states.her.ev.cardgame.stage < 2: + $ states.her.ev.cardgame.stage = 2 + her "I got 5 boosters, how isn't that enough to build a better deck than yours?" ("mad", "narrow", "annoyed", "mid") gen "It's more important where you place those cards..." ("base", xpos="far_left", ypos="head") her "I know what I'm doing..." ("open", "closed", "angry", "mid") @@ -128,12 +134,10 @@ label hermione_second_duel: her "No, I'm ready..." ("soft", "narrow", "worried", "mid_soft") gen "You sure?" ("base", xpos="far_left", ypos="head") her "I said I'm ready." ("clench", "base", "angry", "mid") - $ her_second_win = True + jump hermione_duel_menu - pass else: her "This game is stupid, I'm leaving!" ("angry", "closed", "angry", "mid") - pass $ tokens += 1 @@ -145,7 +149,7 @@ label hermione_third_duel: her "Wait, I should have asked for point for this." ("shock", "wide", "worried", "shocked") gen "Too late, here we go." ("grin", xpos="far_left", ypos="head") hide hermione_main - call play_music("cardgame") + play music "music/Juhani_Junkala.ogg" fadein 1 if_changed play sound "sounds/Genie_VS_Hermione4.ogg" show screen genie_vs_hermione show screen move_genie @@ -163,7 +167,7 @@ label hermione_third_duel: hide screen versus hide screen genie_vs_hermione hide screen genie_vs_hermione_smile - play music "music/vs_hermione.ogg" + play music "music/vs_hermione.ogg" if_changed $ renpy.call_in_new_context("start_duel", her_third_deck, her_after) @@ -177,7 +181,9 @@ label hermione_third_duel: stop music fadeout 1 hide screen blkfade - if her_third_win == False: + if states.her.ev.cardgame.stage < 3: + $ states.her.ev.cardgame.stage = 3 + her "Nooo, how's this even possible?" ("clench", "wide", "worried", "shocked") her "I'm supposed to be the smartest girl in my year..." ("mad", "wide", "worried", "stare") gen "Looks like Wisdom beats intelligence..." ("grin", xpos="far_left", ypos="head") @@ -185,9 +191,10 @@ label hermione_third_duel: gen "You seem to have forgotten something..." ("grin", xpos="far_left", ypos="head") her "Fine..." ("angry", "narrow", "base", "mid_soft") her "Here..." ("mad", "narrow", "base", "mid_soft") + $ unlocked_cards += [card_her_librarian] - call give_reward(_("You have received a card!"), "images/cardgame/t1/hermione/her_librarian_v1.webp") - $ her_third_win = True + call give_reward("You have received a card!", "images/cardgame/t1/hermione/her_librarian_v1.webp") + $ tokens += 3 else: $ tokens += 1 @@ -199,15 +206,15 @@ label hermione_third_duel: label hermione_random_duel: gen "Ready for another game of cards?" ("base", xpos="far_left", ypos="head") - if her_whoring < 8: + if states.her.level < 8: her "You've already challenged me though..." ("open", "happy", "base", "R") her "and I lost." ("annoyed", "narrow", "worried", "down") gen "What if we made it a wager..." ("grin", xpos="far_left", ypos="head") - her "Like gambling? No thank you!" ("clench", "narrow", "annoyed", "mid") + her "Like gambling? No, thank you!" ("clench", "narrow", "annoyed", "mid") gen "It's not gambling, just a friendly house point wager..." ("base", xpos="far_left", ypos="head") her "Sounds like gambling to me..." ("normal", "squint", "base", "mid") gen "So, how about it?" ("base", xpos="far_left", ypos="head") - her "I'll pass, [genie_name]..." ("open", "base", "worried", "R") + her "I'll pass, [name_genie_hermione]..." ("open", "base", "worried", "R") gen "(Seems like she's a bit to pure minded to accept any kind of wager right now...)" ("base", xpos="far_left", ypos="head") jump hermione_requests @@ -216,23 +223,23 @@ label hermione_random_duel: her "and I lost." ("annoyed", "narrow", "worried", "down") gen "What if we made it a wager?" ("grin", xpos="far_left", ypos="head") her "Gambling you mean?" ("open", "base", "worried", "mid") - gen "Not for money obviously." ("base", xpos="far_left", ypos="head") - her "What are you suggesting then?" ("base","happy", cheeks="blush") + gen "Not for money, obviously." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What are you suggesting then?" ("base","happy") gen "Well, I was thinking house points." ("base", xpos="far_left", ypos="head") her "House points..." ("normal", "happy", "base", "R") her "How would this work then?" ("open", "happy", "base", "mid") - gen "Well, if you win I'll give you ten points to Gryffindor." ("base", xpos="far_left", ypos="head") + gen "Well, if you win, I'll give you ten points to Gryffindor." ("base", xpos="far_left", ypos="head") her "Only ten?" ("annoyed", "narrow", "base", "mid_soft") gen "Twenty then..." ("base", xpos="far_left", ypos="head") her "And if I lose?" ("open", "happy", "base", "R") gen "I'll take the same amount away." ("base", xpos="far_left", ypos="head") gen "(As if she's going to let that happen...)" ("base", xpos="far_left", ypos="head") - her "..." ("normal","happyCl", cheeks="blush") - her "Okay... In that case to make it fair, let's add these extra rules..." ("open", "happy", "base", "mid_soft") + her @ cheeks blush "..." ("normal","happyCl") + her "Okay... In that case, to make it fair, let's add these extra rules..." ("open", "happy", "base", "mid_soft") label hermione_random_duel_rematch: - call play_music("cardgame") + play music "music/Juhani_Junkala.ogg" fadein 1 if_changed $ random_player_deck = create_random_deck(0,150,unlocked_cards) @@ -251,34 +258,34 @@ label hermione_random_duel: stop music fadeout 1 hide screen blkfade - if not her_random_win: - $ her_random_win = True + if states.her.ev.cardgame.stage < 4: + $ states.her.ev.cardgame.stage = 4 $ tokens += 3 else: $ tokens += 1 - gen "Seems like I've won this one [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Seems like I've won this one [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "I noticed..." ("normal", "base", "worried", "R") gen "You do know what this means, don't you?" ("base", xpos="far_left", ypos="head") her "..." ("normal", "base", "worried", "mid") gen "This means I'm going to have to deduct twenty points from the Gryffindor house." ("grin", xpos="far_left", ypos="head") - her "Please, don't. I don't want the others to wake up tomorrow wondering why there's twenty house points missing..." ("open", "happyCl", "worried", "mid") + her "Please, don't. I don't want the others to wake up tomorrow wondering why there are twenty house points missing..." ("open", "happyCl", "worried", "mid") gen "Well, in that case..." ("base", xpos="far_left", ypos="head") menu: - "-Send Hermione to work, promoting the card game-" if not cardgame_work: - $ cardgame_work = True + "-Send Hermione to work, promoting the card game-" if not states.her.ev.promote_cardgame.offered: + $ states.her.ev.promote_cardgame.offered = True gen "In that case, I think I have a good idea for a job..." ("grin", xpos="far_left", ypos="head") her "A job?" ("open", "happy", "base", "mid") gen "Yes, I'd like you to start helping the twins promote the card game..." ("base", xpos="far_left", ypos="head") - her "I can do that..." ("base", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "I can do that..." ("base", "base", "worried", "mid") her "But not today if that's okay with you." ("open", "narrow", "worried", "down") gen "That's fine, wouldn't want you to go there looking as defeated as you are at the moment." ("grin", xpos="far_left", ypos="head") - her "..." ("normal", "happy", "base", "R", cheeks="blush") - her "Did you need anything else?" ("open", "base", "base", "mid_soft", cheeks="blush") - call give_reward(_("Hermione can now work by helping the twins promote the card game."), "interface/icons/icon_gambler_hat.webp") + her @ cheeks blush "..." ("normal", "happy", "base", "R") + her @ cheeks blush "Did you need anything else?" ("open", "base", "base", "mid_soft") + call give_reward("Hermione can now work by helping the twins promote the card game.", "interface/icons/icon_gambler_hat.webp") jump hermione_requests - "-Ask for a blowjob instead-": + "-Ask her for a blowjob instead-": jump hg_wager_bj "-Deduct the points-": pass @@ -286,7 +293,7 @@ label hermione_random_duel: gen "No, sorry miss Granger... Minus twenty points from Gryffindor..." ("base", xpos="far_left", ypos="head") her "..." ("disgust", "narrow", "worried", "down") her "Fine, that's fair..." ("open", "narrow", "base", "down") - her "But I'm done playing for today..." ("normal", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "But I'm done playing for today..." ("normal", "happyCl", "worried", "mid") $ gryffindor -= 20 call her_walk(action="leave") @@ -313,9 +320,9 @@ label her_duel_lost: stop music fadeout 1 if geniecard_level > 1: - her "Hah, told you I'd do it!" + her "*Hah*! Told you I could do it!" her "I'll take those points now." - gen "Fine, twenty to gryffindor." ("base", xpos="far_left", ypos="head") + gen "Fine, twenty to Gryffindor." ("base", xpos="far_left", ypos="head") $ gryffindor += 20 menu: @@ -326,7 +333,7 @@ label her_duel_lost: jump hermione_random_duel "-Be a loser-": pass - her "Cards not in your favour [genie_name]? Maybe next time..." + her "Cards not in your favour, [name_genie_hermione]? Maybe next time..." call her_walk(action="leave") jump end_hermione_event @@ -338,7 +345,7 @@ label her_duel_cancel: #jump return_office hide screen blkfade with dissolve - her "Cards not in your favour [genie_name]? Maybe next time..." + her "Cards not in your favour [name_genie_hermione]? Maybe next time..." call her_walk(action="leave") jump end_hermione_event diff --git a/game/scripts/minigames/cardgame/_loot_box_.rpy b/game/scripts/minigames/cardgame/_loot_box_.rpy index 110b661c..6c96da2d 100644 --- a/game/scripts/minigames/cardgame/_loot_box_.rpy +++ b/game/scripts/minigames/cardgame/_loot_box_.rpy @@ -4,7 +4,7 @@ screen card_lootbox(): use blktone - for i in xrange(len(card_loot)): + for i in range(len(card_loot)): if card_loot[i] in cards_realm: frame: style "empty" @@ -22,7 +22,7 @@ label card_lootbox: cards_choice = [card_iris, card_jasmine, card_azalea, card_dahlia, card_aladdin, card_maslab, card_lilly, card_rasul, card_jafar, card_her_schoolgirl, card_lun_schoolgirl, card_sus_schoolgirl, card_cho_schoolgirl] rand_card = None - for i in xrange(5): + for i in range(5): rand_card = random.choice(cards_items) if i == 4: diff --git a/game/scripts/minigames/cardgame/_snape_card_game_.rpy b/game/scripts/minigames/cardgame/_snape_card_game_.rpy index 5a092d77..434e7901 100644 --- a/game/scripts/minigames/cardgame/_snape_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_snape_card_game_.rpy @@ -4,13 +4,13 @@ label snape_duel_menu: if geniecard_level == 1: - if not snape_know_cards: + if not states.sna.ev.cardgame.known: gen "Ever heard of Wizard Cards?" ("base", xpos="far_left", ypos="head") sna "What about them?" ("snape_05") gen "Do you have any?" ("grin", xpos="far_left", ypos="head") sna "I do, I collected some when I was younger... Never played though." ("snape_09") gen "Why not?" ("base", xpos="far_left", ypos="head") - sna "Didn't really have anyone to play with so I stopped buying them." ("snape_06") + sna "Didn't really have anyone to play with, so I stopped buying them." ("snape_06") gen "Up for a game or two?" ("base", xpos="far_left", ypos="head") sna "..." ("snape_03") sna "Why not?" ("snape_02") @@ -26,41 +26,41 @@ label snape_duel_menu: sna "Fine, I'm confident enough to beat a beginner." ("snape_06") sna "But first a bit of practice..." ("snape_02") gen "Let's play." ("grin", xpos="far_left", ypos="head") - $ snape_know_cards = True + $ states.sna.ev.cardgame.known = True menu: "-First Duel-": jump snape_first_duel - "-Second Duel-" if snape_first_win: + "-Second Duel-" if states.sna.ev.cardgame.stage >= 1: jump snape_second_duel - "-You need to beat the first duel-" (style="disabled") if not snape_first_win: + "-You need to beat the first duel-" (style="disabled") if states.sna.ev.cardgame.stage < 1: jump snape_duel_menu - "-Challenge-" if snape_second_win: + "-Challenge-" if states.sna.ev.cardgame.stage >= 2: jump snape_third_duel - "-You need to beat the second duel-" (style="disabled") if not snape_second_win: + "-You need to beat the second duel-" (style="disabled") if states.sna.ev.cardgame.stage < 2: jump snape_duel_menu "-Never mind-": jump snape_ready else: gen "Up for another game?" ("base", xpos="far_left", ypos="head") - if not snape_wager_talk: + if not states.sna.ev.cardgame.wagers: sna "With you?" sna "..." - if sna_friendship < 30: + if states.sna.level < 30: sna "no..." ("snape_03") gen "Why not?" ("angry", xpos="far_left", ypos="head") gen "What if we did a game as a part of a wager?" ("base", xpos="far_left", ypos="head") sna "A wager..." ("snape_09") sna "No, I have better things to do right now..." ("snape_06") gen "(He doesn't seem that keen, maybe I should ask again when we know each other a bit better.)" ("base", xpos="far_left", ypos="head") - call nar(">Improve your relationship with Snape before trying again.") + nar "Improve your relationship with Snape before trying again." jump snape_ready sna "Do you know how hard it is to progress with this game with no one to play against?" ("snape_03") sna "I even traded some of my potion ingredients to some weird guy in Knockturn alley for one of the old booster packs..." ("snape_01") - sna "Turns out... That card I gave you, whilst not very powerful was quite rare." ("snape_08") + sna "Turns out... That card I gave you, whilst not very powerful, it was quite rare." ("snape_08") gen "Sounds like a you problem." ("base", xpos="far_left", ypos="head") sna "..." ("snape_29") gen "How about we do a wager?" ("base", xpos="far_left", ypos="head") @@ -69,22 +69,22 @@ label snape_duel_menu: sna "..." ("snape_04") sna "Fine, but only if it's on equal terms..." ("snape_10") gen "What does that mean?" ("angry", xpos="far_left", ypos="head") - sna "It means, you set your prize and I'll set mine accordingly." ("snape_03") + sna "It means, you set your prize, and I'll set mine accordingly." ("snape_03") gen "Okay, so..." ("base", xpos="far_left", ypos="head") gen "If you win I'll give you some wine." ("base", xpos="far_left", ypos="head") sna "Don't you provide me with plenty of wine anyway?" ("snape_05") - gen "I mean, I could stop doing it. The office has my name on it after all and last I checked that means whatever is in it belong to me as well." ("base", xpos="far_left", ypos="head") + gen "I mean, I could stop doing it... The office has my name on it after all, and last I checked, that means whatever is in it belongs to me as well." ("base", xpos="far_left", ypos="head") sna "..." - gen "In a figurative way obviously. It doesn't actually have my name on the door." ("grin", xpos="far_left", ypos="head") + gen "In a figurative way, obviously... It doesn't actually have my name on the door." ("grin", xpos="far_left", ypos="head") sna "Obviously..." ("snape_03") gen "It's not like this office came with any of those Slytherin sluts you have yet to share with me..." ("base", xpos="far_left", ypos="head") - sna "Fine, if that's your only proposal. If you win then I'll give you something from my personal collection." ("snape_03") + sna "Fine, if that's your only proposal. If you win, then I'll give you something from my personal collection." ("snape_03") gen "Like what?" ("angry", xpos="far_left", ypos="head") sna "You'll see..." ("snape_02") gen "(Must be something good if he's not going to tell me...)" ("base", xpos="far_left", ypos="head") gen "I'm in." ("grin", xpos="far_left", ypos="head") - $ snape_wager_talk = True + $ states.sna.ev.cardgame.wagers = True if wine_ITEM.owned < 1: sna "Show me the bottle." gen "What?" ("base", xpos="far_left", ypos="head") @@ -99,7 +99,7 @@ label snape_duel_menu: if wine_ITEM.owned < 1: sna "Do you have it?" gen "What?" ("base", xpos="far_left", ypos="head") - sna "The wine of course!" + sna "The wine, of course!" gen "I don't..." ("base", xpos="far_left", ypos="head") sna "That's a shame... Our wager will have to wait then." gen "Can't we just duel anyway? I'm not intending to lose..." ("base", xpos="far_left", ypos="head") @@ -109,63 +109,59 @@ label snape_duel_menu: gen "(I should see if I could find some more wine in that cupboard, or perhaps check the local store...)" ("base", xpos="far_left", ypos="head") jump snape_ready - $ random_number = renpy.random.randint(1, 10) - - if random_number == 1: + random: sna "Sure, let's do it!" ("snape_02") - elif random_number == 2: - sna "Is there another bottle in it for me?" ("snape_05") - gen "If you win..." ("grin", xpos="far_left", ypos="head") - sna "Good." ("snape_02") - sna "Then let's begin..." ("snape_02") - elif random_number == 3: - sna "Same wager?" ("snape_05") - gen "Sure." ("base", xpos="far_left", ypos="head") - sna "Okay then..." ("snape_01") - sna "Let's do it." ("snape_02") - elif random_number == 4: - sna "Always!" ("snape_02") - sna "I'll make sure you lose this time Genie..." ("snape_01") - elif random_number == 5: - sna "My stock is filled so why not?" ("snape_03") - gen "Great." ("grin", xpos="far_left", ypos="head") - sna "Good luck... You'll need it." ("snape_02") - elif random_number == 6: sna "You don't have to ask me twice." ("snape_02") - elif random_number == 7: - sna "Prepare to lose!" ("snape_10") - gen "..." ("base", xpos="far_left", ypos="head") - gen "Let's just play..." ("base", xpos="far_left", ypos="head") - elif random_number == 8: - sna "I've been practising... there's no way I'll lose!" ("snape_10") - gen "Are you sure about that?" ("base", xpos="far_left", ypos="head") - sna "Yes, I came here to win..." ("snape_08") - elif random_number == 9: - sna "You're going to lose this time..." ("snape_04") - gen "In your dreams..." ("grin", xpos="far_left", ypos="head") - else: - sna "Of course!" ("snape_02") - sna "But I think we should up our wager a bit..." ("snape_02") - gen "In what way?" ("base", xpos="far_left", ypos="head") - sna "I was thinking maybe you could send the Granger girl to my room tonight if I win." ("snape_20") - if hg_pr_kiss.counter >= 3 or her_reputation >= 21: - gen "We'll see about that." ("base", xpos="far_left", ypos="head") - else: - gen "I doubt she would agree to that." ("base", xpos="far_left", ypos="head") - gen "Let's just stick to the original bet for now..." ("base", xpos="far_left", ypos="head") - sna "Fine..." ("snape_06") + block: + sna "Is there another bottle in it for me?" ("snape_05") + gen "If you win..." ("grin", xpos="far_left", ypos="head") + sna "Good." ("snape_02") + sna "Then let's begin..." ("snape_02") + block: + sna "Same wager?" ("snape_05") + gen "Sure." ("base", xpos="far_left", ypos="head") + sna "Okay then..." ("snape_01") + sna "Let's do it." ("snape_02") + block: + sna "Always!" ("snape_02") + sna "I'll make sure you lose this time, Genie..." ("snape_01") + block: + sna "My stock is filled so why not?" ("snape_03") + gen "Great." ("grin", xpos="far_left", ypos="head") + sna "Good luck... You'll need it." ("snape_02") + + block: + sna "Prepare to lose!" ("snape_10") + gen "..." ("base", xpos="far_left", ypos="head") + gen "Let's just play..." ("base", xpos="far_left", ypos="head") + block: + sna "I've been practising... there's no way I'll lose!" ("snape_10") + gen "Are you sure about that?" ("base", xpos="far_left", ypos="head") + sna "Yes, I came here to win..." ("snape_08") + block: + sna "You're going to lose this time..." ("snape_04") + gen "In your dreams..." ("grin", xpos="far_left", ypos="head") + block: + sna "Of course!" ("snape_02") + sna "But I think we should up our wager a bit..." ("snape_02") + gen "In what way?" ("base", xpos="far_left", ypos="head") + sna "I was thinking maybe you could send the Granger girl to my room tonight if I win." ("snape_20") + if states.her.status.public_sex or states.her.public_level >= 21: + gen "We'll see about that." ("base", xpos="far_left", ypos="head") + else: + gen "I doubt she would agree to that." ("base", xpos="far_left", ypos="head") + gen "Let's just stick to the original bet for now..." ("base", xpos="far_left", ypos="head") + sna "Fine..." ("snape_06") jump snape_random_duel - - label snape_first_duel: - sna "A bit dusty but this should do!" ("snape_03") + sna "A bit dusty, but this should do!" ("snape_03") gen "You, or the deck?" ("base", xpos="far_left", ypos="head") sna "I...{w=0.3} The deck, obviously." ("snape_14") sna "Let's do this." ("snape_17") - call play_music("grape_soda") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed $ renpy.call_in_new_context("start_duel", snape_first_deck) @@ -180,15 +176,17 @@ label snape_first_duel: sna "Maybe I should've gone over the rules a bit more before trying this game again..." ("snape_05") sna "Well played though." ("snape_04") - call play_sound("door") + play sound "sounds/door.ogg" call hide_characters call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True $ achievements.unlock("Cardwin") - $ snape_first_win = True + + if states.sna.ev.cardgame.stage < 1: + $ states.sna.ev.cardgame.stage = 1 $ tokens += 1 jump main_room_menu @@ -196,12 +194,12 @@ label snape_first_duel: label snape_second_duel: - sna "That first one was just a warm up, there's no way you'll beat me this time!" ("snape_16") + sna "That first one was just a warm-up, there's no way you'll beat me this time!" ("snape_16") gen "Time to get our decks out." ("grin", xpos="far_left", ypos="head") sna "...." ("snape_25") sna "Let's just play." ("snape_04") - call play_music("grape_soda") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed $ renpy.call_in_new_context("start_duel", snape_second_deck) @@ -217,30 +215,29 @@ label snape_second_duel: sna "They must've made them obsolete to get you to buy more." ("snape_04") sna "So deliciously mischievous." ("snape_02") - call play_sound("door") + play sound "sounds/door.ogg" call hide_characters call sna_chibi("hide") with d3 - if not her_know_cards: + if not states.her.ev.cardgame.known: call bld gen "This is awesome, I wonder if Miss Granger would want to play against me..." ("grin", xpos="far_left", ypos="head") - $ snape_busy = True + $ states.sna.busy = True - $ snape_second_win = True + if states.sna.ev.cardgame.stage < 2: + $ states.sna.ev.cardgame.stage = 2 $ tokens += 1 jump main_room_menu - - label snape_third_duel: - if not her_know_cards: + if not states.her.ev.cardgame.known: gen "(I should probably see if Hermione is interested and practise some more before challenging Snape.)" ("base", xpos="far_left", ypos="head") jump snape_duel_menu - if not twins_cards_stocked_talk: + if not states.twi.ev.cardgame.stock_talk: gen "(I should wait for an owl from Fred and George and train with Hermione first.)" ("base", xpos="far_left", ypos="head") jump snape_duel_menu @@ -255,10 +252,10 @@ label snape_third_duel: gen "Me?" ("base", xpos="far_left", ypos="head") sna "I... no, of course not." ("snape_14") sna "Let's do this." ("snape_17") - sna "Show me what you got genie... Beat me and I'll give you a card from my collection and 3 tokens." ("snape_18") + sna "Show me what you got Genie... Beat me, and I'll give you a card from my collection and 3 tokens." ("snape_18") gen "Bring it." ("base", xpos="far_left", ypos="head") - call play_music("cardgame") + play music "music/Juhani_Junkala.ogg" fadein 1 if_changed play sound "sounds/Genie_VS_Snape.ogg" show screen genie_vs_snape show screen move_genie @@ -287,30 +284,30 @@ label snape_third_duel: stop music fadeout 1 hide screen blkfade - if snape_third_win == False: + if states.sna.ev.cardgame.stage < 3: sna "Impossible... There must be something wrong with my cards!" ("snape_05") gen "They're old, that's what." ("base", xpos="far_left", ypos="head") gen "Now to the prize..." ("base", xpos="far_left", ypos="head") sna "Fine... Here's your tokens and one of my precious cards." ("snape_05") - sna "(You were a good card my boy. But it's time to grow up.)" ("snape_05") - $ snape_third_win = True + sna "(You were a good card, my boy... But it's time to grow up.)" ("snape_05") + $ states.sna.ev.cardgame.stage = 3 $ unlocked_cards += [card_snape] call give_reward(_("You have received a special card!"), "images/cardgame/t1/special/snape_v1.webp") $ tokens += 3 else: $ tokens += 1 - call play_sound("door") + play sound "sounds/door.ogg" call hide_characters call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu label snape_random_duel: - call play_music("cardgame") + play music "music/Juhani_Junkala.ogg" fadein 1 if_changed $ random_player_deck = create_random_deck(0,150,unlocked_cards) @@ -331,14 +328,14 @@ label snape_random_duel: hide screen blkfade python: - ingredients = filter(lambda x: x.price > 0, inventory.get_instances_of_type("ingredient")) + ingredients = [x for x in inventory.get_instances_of_type("ingredient") if x.price > 0] item = renpy.random.choice(ingredients) - if not random_snape_win: - $ random_snape_win = True + if states.sna.ev.cardgame.stage < 4: + $ states.sna.ev.cardgame.stage = 4 gen "Yes!" ("base", xpos="far_left", ypos="head") - gen "No wine for you.." ("grin", xpos="far_left", ypos="head") + gen "No wine for you..." ("grin", xpos="far_left", ypos="head") sna "..." ("snape_04") gen "Now, how about that prize we discussed." ("grin", xpos="far_left", ypos="head") sna "Ah, yes... something from my collection." ("snape_05") @@ -357,7 +354,7 @@ label snape_random_duel: sna "Well..." ("snape_12") gen "Whatever, I'll take it." ("base", xpos="far_left", ypos="head") - if not snape_office_intro_E2: + if not states.map.snape_office.intro_e3: gen "Maybe I can find some use for it later..." ("base", xpos="far_left", ypos="head") sna "What, the whip--" ("snape_18") @@ -366,57 +363,57 @@ label snape_random_duel: gen "I'll think about it." ("base", xpos="far_left", ypos="head") else: - $ random_choice = renpy.random.randint(0, 3) - if random_choice == 0: - gen "Another victory in the bag." ("grin", xpos="far_left", ypos="head") - sna "I don't get it..." ("snape_03") - sna "You must've been cheating." ("snape_04") - gen "Skill...{w=0.3} It's called skill." ("base", xpos="far_left", ypos="head") - elif random_choice == 1: - sna "Not again... Did you look at my cards before the game?" ("snape_10") - gen "How would I have done that?" ("base", xpos="far_left", ypos="head") - sna "I don't know..." ("snape_08") - sna "Some kind of Genie hocus pocus?" ("snape_07") - gen "..." ("base", xpos="far_left", ypos="head") - sna "*Hmm*... Perhaps that comment might've been a bit..." ("snape_25") - gen "Yeah, a just a little..." ("base", xpos="far_left", ypos="head") - sna "I'm just going to leave this here." ("snape_14") - elif random_choice == 2: - gen "Sweet, another win for me!" ("grin", xpos="far_left", ypos="head") - sna "I let you win that one..." ("snape_03") - gen "Sure you did." ("base", xpos="far_left", ypos="head") - elif random_choice == 3: - sna "Damn it!" ("snape_17") - gen "Hey, chill out... It's just a game." ("angry", xpos="far_left", ypos="head") - sna "Just a game?!" ("snape_18") - sna "Do you know what students from House Slytherin are known for, Genie?" ("snape_07") - gen "Well, from what you've told me... Being massive sluts?" ("grin", xpos="far_left", ypos="head") - sna "{size=+4}YES!{/size}" ("snape_08") - sna "Wait... No!" ("snape_16") - sna "We're known for being cunning..." ("snape_17") - gen "..." ("base", xpos="far_left", ypos="head") - sna "Cunning...{w=0.3} Genie." ("snape_18") - gen "Yeah, I got you." ("base", xpos="far_left", ypos="head") - gen "Hey, I could just give you another bottle..." ("base", xpos="far_left", ypos="head") - sna "..." ("snape_12") - sna "No... I'll beat you next time." ("snape_16") - gen "That's the spirit." ("grin", xpos="far_left", ypos="head") - elif random_choice == 4: - sna "Maybe I should've gone over the rules a bit more before trying this game again..." ("snape_05") - sna "Well played though." ("snape_04") + random: + block: + gen "Another victory in the bag." ("grin", xpos="far_left", ypos="head") + sna "I don't get it..." ("snape_03") + sna "You must've been cheating." ("snape_04") + gen "Skill...{w=0.3} It's called skill." ("base", xpos="far_left", ypos="head") + block: + sna "Not again... Did you look at my cards before the game?" ("snape_10") + gen "How would I have done that?" ("base", xpos="far_left", ypos="head") + sna "I don't know..." ("snape_08") + sna "Some kind of Genie hocus-pocus?" ("snape_07") + gen "..." ("base", xpos="far_left", ypos="head") + sna "*Hmm*... Perhaps that comment might've been a bit..." ("snape_25") + gen "Yeah, a just a little..." ("base", xpos="far_left", ypos="head") + sna "I'm just going to leave this here." ("snape_14") + block: + gen "Sweet, another win for me!" ("grin", xpos="far_left", ypos="head") + sna "I let you win that one..." ("snape_03") + gen "Sure you did." ("base", xpos="far_left", ypos="head") + block: + sna "Damn it!" ("snape_17") + gen "Hey, chill out... It's just a game." ("angry", xpos="far_left", ypos="head") + sna "Just a game?!" ("snape_18") + sna "Do you know what students from House Slytherin are known for, Genie?" ("snape_07") + gen "Well, from what you've told me... Being massive sluts?" ("grin", xpos="far_left", ypos="head") + sna "{size=+4}YES!{/size}" ("snape_08") + sna "Wait... No!" ("snape_16") + sna "We're known for being cunning..." ("snape_17") + gen "..." ("base", xpos="far_left", ypos="head") + sna "Cunning...{w=0.3} Genie." ("snape_18") + gen "Yeah, I got you." ("base", xpos="far_left", ypos="head") + gen "Hey, I could just give you another bottle..." ("base", xpos="far_left", ypos="head") + sna "..." ("snape_12") + sna "No... I'll beat you next time." ("snape_16") + gen "That's the spirit." ("grin", xpos="far_left", ypos="head") + block: + sna "Maybe I should've gone over the rules a bit more before trying this game again..." ("snape_05") + sna "Well played though." ("snape_04") $ item.owned += 1 call give_reward(_("You've received [item.name] from Snape!"), item) - if not snape_office_intro_E2: + if not states.map.snape_office.intro_e3: gen "(I still don't have any use for it, but I won't turn down free shit.)" ("base", xpos="far_left", ypos="head") - call play_sound("door") + play sound "sounds/door.ogg" call hide_characters call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True $ tokens += 1 jump main_room_menu @@ -424,7 +421,7 @@ label snape_random_duel: label snape_special_duel: - call play_music("cardgame") + play music "music/Juhani_Junkala.ogg" fadein 1 if_changed $ random_enemy_deck = create_random_deck(get_deck_score(playerdeck)-2, get_deck_score(playerdeck)+8, cards_all) @@ -440,7 +437,7 @@ label snape_special_duel: return "draw" elif not duel_response == "win" or duel_response == "Close": - sna "Well, well.. It appears I've--" + sna "Well, well... It appears I've--" gen "{size=+4}Fuuuuuuuuck!{/size}" ("base", xpos="far_left", ypos="head") return "loss" @@ -491,48 +488,48 @@ label snape_duel_lost: if geniecard_level == 1: sna "Cards not in your favour today? Maybe next time..." else: # Rub it in - $ random_number = renpy.random.randint(1, 7) - if random_number == 1: - sna "Thanks for the bottle... Genie." - gen "...." ("angry", xpos="far_left", ypos="head") - elif random_number == 2: - gen "..." ("base", xpos="far_left", ypos="head") - gen "Good game..." ("base", xpos="far_left", ypos="head") - sna "Forgetting something?" - gen "Fine, here's your bottle..." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - sna "Another win for me..." ("snape_02") - gen "And your last..." ("base", xpos="far_left", ypos="head") - sna "Sorry, can't hear you over the sound of my victory." ("snape_01") - gen "..." ("base", xpos="far_left", ypos="head") - elif random_number == 4: - sna "Child's play..." ("snape_02") - gen "I'm hundreds of years old you know..." ("base", xpos="far_left", ypos="head") - sna "And I beat you..." ("snape_02") - gen "just shows how luck based the game is honestly..." ("base", xpos="far_left", ypos="head") - elif random_number == 5: - sna "..." ("snape_02") - gen "Just take your prize and go." ("base", xpos="far_left", ypos="head") - elif random_number == 6: - sna "Nice one..." ("snape_02") - gen "Hey, don't be a bad winner." ("base", xpos="far_left", ypos="head") - sna "Hey, I was just--" ("snape_03") - sna "I see what you're doing..." ("snape_04") - sna "I'll have that wine now..." ("snape_02") - else: - sna "Hah!" - sna "I mean...{w=0.3} Good game." - gen "You're allowed to show enthusiasm you know..." ("base", xpos="far_left", ypos="head") - sna "I know, but it's bad for my image..." - gen "..." ("base", xpos="far_left", ypos="head") - gen "Whatever you say, here's your bottle." ("base", xpos="far_left", ypos="head") + random: + block: + sna "Thanks for the bottle... Genie." + gen "...." ("angry", xpos="far_left", ypos="head") + block: + gen "..." ("base", xpos="far_left", ypos="head") + gen "Good game..." ("base", xpos="far_left", ypos="head") + sna "Forgetting something?" + gen "Fine, here's your bottle..." ("base", xpos="far_left", ypos="head") + block: + sna "Another win for me..." ("snape_02") + gen "And your last..." ("base", xpos="far_left", ypos="head") + sna "Sorry, can't hear you over the sound of my victory." ("snape_01") + gen "..." ("base", xpos="far_left", ypos="head") + block: + sna "Child's play..." ("snape_02") + gen "I'm thousands of years old, you know..." ("base", xpos="far_left", ypos="head") + sna "And I beat you..." ("snape_02") + gen "That just shows how luck based the game is, honestly..." ("base", xpos="far_left", ypos="head") + block: + sna "..." ("snape_02") + gen "Just take your prize and go." ("base", xpos="far_left", ypos="head") + block: + sna "Nice one..." ("snape_02") + gen "Hey, don't be a bad winner." ("base", xpos="far_left", ypos="head") + sna "Hey, I was just--" ("snape_03") + sna "I see what you're doing..." ("snape_04") + sna "I'll have that wine now..." ("snape_02") + block: + sna "Hah!" + sna "I mean...{w=0.3} Good game." + gen "You're allowed to show enthusiasm, you know..." ("base", xpos="far_left", ypos="head") + sna "I know, but it's bad for my image..." + gen "..." ("base", xpos="far_left", ypos="head") + gen "Whatever you say, here's your bottle." ("base", xpos="far_left", ypos="head") - call play_sound("door") + play sound "sounds/door.ogg" call hide_characters call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu @@ -553,12 +550,12 @@ label snape_duel_cancel: sna "I don't make the rules, I just play by them." gen "Fine..." ("base", xpos="far_left", ypos="head") - call play_sound("door") + play sound "sounds/door.ogg" call hide_characters call sna_chibi("hide") with d3 - $ snape_busy = True + $ states.sna.busy = True jump main_room_menu diff --git a/game/scripts/minigames/cardgame/_twins_card_game_.rpy b/game/scripts/minigames/cardgame/_twins_card_game_.rpy index e36786c5..c441f87b 100644 --- a/game/scripts/minigames/cardgame/_twins_card_game_.rpy +++ b/game/scripts/minigames/cardgame/_twins_card_game_.rpy @@ -1,5 +1,5 @@ label twins_first_duel: - call play_music("grape_soda") + play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein 1 if_changed $ renpy.call_in_new_context("start_duel", twins_first_deck) @@ -11,10 +11,10 @@ label twins_first_duel: hide screen blkfade stop music fadeout 1 - if not twins_first_win: + if states.twi.ev.cardgame.stage < 1: twi "No way!" ger "You must've been cheating." - gen "It's all in the cards boys." ("base", xpos="far_left", ypos="head") + gen "It's all in the cards, boys." ("base", xpos="far_left", ypos="head") ger "I can certainly see that..." ger "Are you thinking what I'm thinking Fred?" fre "I believe I am, George!" @@ -27,12 +27,13 @@ label twins_first_duel: ger "We'll send you an owl when we've set things up." fre "So you better get ready for a rematch!" twi "Because we'll win next time!" - gen "We'll see about that... I can't have students going around showing up to their headmaster can I?" ("base", xpos="far_left", ypos="head") - $ twins_first_win = True - $ twins_cards_delay = twins_cards_delay+game.day + gen "We'll see about that... I can't have students going around showing up to their headmaster, can I?" ("base", xpos="far_left", ypos="head") + + $ states.twi.ev.cardgame.stage = 1 + $ letter_cards_store.send() pass else: - twi "Not again.." + twi "Not again..." gen "Tough luck boys." ("base", xpos="far_left", ypos="head") pass @@ -43,14 +44,14 @@ label twins_first_duel: jump main_room label twins_second_duel: - if twins_cards_stocked == False: + if states.twi.ev.cardgame.stocked == False: gen "(I need to wait for an owl from them before we can duel again)" ("base", xpos="far_left", ypos="head") jump twins_duel_menu fre "Good luck." ger "You'll need it." - play music "music/vs_twins.ogg" fadein 1.0 + play music "music/vs_twins.ogg" fadein 1.0 if_changed play sound "sounds/Genie_VS_Twins_Teleport.ogg" show screen genie_vs_twins show screen move_genie @@ -75,20 +76,20 @@ label twins_second_duel: hide screen blkfade stop music fadeout 1 - if not twins_second_win: + if states.twi.ev.cardgame.stage < 2: fre "I feel like we should have foreseen this." ger "I blame Trelawney on this, she said that luck would be on our side today..." fre "Well... A promise is a promise." fre "Here's your reward." - ger "And we also heard about your wins against Snape so here's some extra tokens." + ger "And we also heard about your wins against Snape, so here are some extra tokens." fre "Make sure to come back and spend those tokens in our token shop." $ card_rand_twins = renpy.random.choice([[card_fred, "fred"], [card_george, "george"]]) $ unlocked_cards += [card_rand_twins[0]] - call give_reward(_("You have received a special card!"), "images/cardgame/t1/special/%s_v1.webp" % str(card_rand_twins[1])) - $ twins_second_win = True + call give_reward("You have received a special card!", "images/cardgame/t1/special/%s_v1.webp" % str(card_rand_twins[1])) + $ states.twi.ev.cardgame.stage = 2 $ tokens += 3 else: - twi "Not again.." + twi "Not again..." gen "Tough luck boys." ("base", xpos="far_left", ypos="head") $ tokens += 1 @@ -96,20 +97,20 @@ label twins_second_duel: jump main_room label twins_random_duel: - if first_random_twins: - $ first_random_twins = False + if states.twi.ev.cardgame.first_random: + $ states.twi.ev.cardgame.first_random = False gen "How about another game?" ("base", xpos="far_left", ypos="head") twi "Sure, why not?" fre "But let's make it a bit interesting." gen "I was going to suggest something similar but go on..." ("base", xpos="far_left", ypos="head") ger "Let's make a wager." - gen "Interesting... So what kind of wager are you boys suggesting?" ("base", xpos="far_left", ypos="head") + gen "Interesting... So, what kind of wager are you boys suggesting?" ("base", xpos="far_left", ypos="head") ger "How about a monetary one?" gen "Of course, what else is there in this world other than monetary rewards?" ("base", xpos="far_left", ypos="head") twi "Exactly!" ger "Okay, how about..." ger "If you win then we'll give you a cut from our weekly profits." - gen "That confident are we?" ("base", xpos="far_left", ypos="head") + gen "That confident, are we?" ("base", xpos="far_left", ypos="head") twi "Always!" gen "Well, if it's a monetary reward you're looking for..." ("base", xpos="far_left", ypos="head") gen "Then how about if I lose, I'll give you ten gold?" ("base", xpos="far_left", ypos="head") @@ -126,7 +127,7 @@ label twins_random_duel: gen "........... what?" ("base", xpos="far_left", ypos="head") ger "It means you're broke, sir." fre "Come back with your offer when you have more gold, professor." - gen "Fine.." ("base", xpos="far_left", ypos="head") + gen "Fine..." ("base", xpos="far_left", ypos="head") "You return to your office." jump main_room ger "Yes, that is quite satisfactory..." @@ -134,10 +135,10 @@ label twins_random_duel: gen "Obviously..." ("base", xpos="far_left", ypos="head") fre "Just making sure that we have all grounds covered." gen "Let's begin then..." ("base", xpos="far_left", ypos="head") - elif twins_profit == 0.2: + elif states.twi.ev.cardgame.profit == 0.2: gen "Ready for another wager?" ("base", xpos="far_left", ypos="head") ger "No, I think we've had quite enough of a dent in our profit margin..." - fre "We're almost half way to where we were before we introduced the card game." + fre "We're almost halfway to where we were before we introduced the card game." gen "Only half?" ("angry", xpos="far_left", ypos="head") ger "Yes, we still need to think about growth." gen "(I should've asked for a cut to begin with.)" ("base", xpos="far_left", ypos="head") @@ -148,11 +149,11 @@ label twins_random_duel: twi "Always!" ger "Remember, after your first win we'll give you another 1%% from our weekly profits on your every subsequent victory." gen "Is there a limit?" ("base", xpos="far_left", ypos="head") - fre "There is... But no offence sir, I doubt you're going to reach it." + fre "There is... But no offence, sir... I doubt you're going to reach it." gen "(We'll see about that...)" ("base", xpos="far_left", ypos="head") - gen "Okay then... If you two win then I'll give you ten gold." ("base", xpos="far_left", ypos="head") + gen "Okay then... If you two win, then I'll give you ten gold." ("base", xpos="far_left", ypos="head") ger "One second, professor." - ">George takes out a calculator and starts calculating something." + nar "George takes out a calculator and starts calculating something." if game.gold < 10: ger "We have to refuse." gen "Why?" ("base", xpos="far_left", ypos="head") @@ -163,13 +164,13 @@ label twins_random_duel: "-Short-": ger "You are broke, sir." fre "Come back with your offer when you have more gold, professor." - gen "Fine.." ("base", xpos="far_left", ypos="head") - "> You return to your office." + gen "Fine..." ("base", xpos="far_left", ypos="head") + nar "You return to your office." jump main_room ger "Acceptable..." twi "Let's play." - call play_music("cardgame") + play music "music/Juhani_Junkala.ogg" fadein 1 if_changed $ random_player_deck = create_random_deck(0,150,unlocked_cards) @@ -185,19 +186,19 @@ label twins_random_duel: hide screen blkfade stop music fadeout 1 - if twins_random_win: + if states.twi.ev.cardgame.stage < 3: twi "Impossible!" - ger "How did you even do that? we weighed these packs for a reason..." + ger "How did you even do that? We weighed these packs for a reason..." gen "You did what, sorry?" ("base", xpos="far_left", ypos="head") fre "Don't mind him, he doesn't know what he's saying when he's angry." gen "..." ("base", xpos="far_left", ypos="head") gen "So... We had a deal." ("base", xpos="far_left", ypos="head") fre "Yes, about that..." - gen "You're not backing out are you?" ("base", xpos="far_left", ypos="head") + gen "You're not backing out, are you?" ("base", xpos="far_left", ypos="head") fre "Of course not, I just wanted to make sure we're on the same page about this." fre "You can come pick up your cut once a week." - ger "The amount may vary obviously." - fre "It all depends of how many sales we get that week." + ger "The amount may vary, obviously." + fre "It all depends on how many sales we get that week." fre "We're always looking to have someone help with promoting the shop and card game." gen "(Sounds like something Hermione might be able to do.)" ("base", xpos="far_left", ypos="head") gen "(After some convincing...)" ("base", xpos="far_left", ypos="head") @@ -212,20 +213,20 @@ label twins_random_duel: gen "Well, how about a lower percentage? I'll adjust my wager as well." ("base", xpos="far_left", ypos="head") ger "We'll think about it..." - call give_reward(_("You have received 5%% of the twins profits!"), "interface/icons/cards.webp") - $ twins_profit += 0.05 - $ twins_random_win = False + call give_reward("You have received 5%% of the twins' profits!", "interface/icons/cards.webp") + $ states.twi.ev.cardgame.profit += 0.05 + $ states.twi.ev.cardgame.stage = 3 $ tokens += 3 - elif twins_profit >= 1.2: + elif states.twi.ev.cardgame.profit >= 1.2: fre "Nice job but you've reached the cap I'm afraid." - ger "Yeah, don't want to go minus do we?" + ger "Yeah, we don't want to go into the minus, do we?" $ tokens += 1 else: twi "Not again..." gen "Time to pay up, boys." ("base", xpos="far_left", ypos="head") - ger "Fine... We'll up your profits by 1%%..." + ger "Fine... We'll up your weekly cut by 1%%..." $ tokens += 1 - $ twins_profit += 0.01 + $ states.twi.ev.cardgame.profit += 0.01 "You return to your office." jump main_room @@ -245,7 +246,7 @@ label twins_duel_lost: "-Be a loser-": pass - ger "Cards not in your favour professor? Maybe next time..." + ger "Cards not in your favour, Professor? Maybe next time..." "You return to your office." jump main_room @@ -257,7 +258,7 @@ label twins_duel_cancel: #jump return_office hide screen blkfade with dissolve - ger "Cards not in your favour professor? Maybe next time..." + ger "Cards not in your favour, Professor? Maybe next time..." "You return to your office." jump main_room diff --git a/game/scripts/minigames/dueling/snape_duel.rpy b/game/scripts/minigames/dueling/snape_duel.rpy index 20ed4c59..10e26480 100644 --- a/game/scripts/minigames/dueling/snape_duel.rpy +++ b/game/scripts/minigames/dueling/snape_duel.rpy @@ -138,7 +138,7 @@ screen duel_buttons(): xpos 954 yalign 1.0 focus_mask True - if potions > 0 and not in_action: + if states.healing_potions > 0 and not in_action: idle "images/dueling/snape/attack_item.webp" hover image_hover("images/dueling/snape/attack_item.webp") action [Jump("main_potion")] @@ -153,7 +153,7 @@ label main_tease: if not used_tease: $ used_tease = True - call nar(">You turn around and start shaking your buttocks violently.") + nar "You turn around and start shaking your buttocks violently." sna "What the hell are you doing?" ("snape_05", wand=True) gen ".......{w=1.0} teasing you?" ("base", xpos="far_left", ypos="head") sna "........." ("snape_14", wand=True) @@ -184,7 +184,7 @@ label main_attack: label main_defend: $ in_action = True $ blocking = True - $ renpy.play('sounds/magic4.ogg') + play sound "sounds/magic4.ogg" $ duel_OBJ.show("smoke",x=520, y=318,z=5) $ duel_OBJ.genie = "defend" pause 1 @@ -192,7 +192,7 @@ label main_defend: label main_potion: $ in_action = True - if potions > 0: + if states.healing_potions > 0: jump potion else: gen "Crap! I'm out of healing potions!" ("base", xpos="far_left", ypos="head") @@ -201,12 +201,12 @@ label main_potion: ### SNAPE DEFENDS ### (Snape -0 HP) label snape_defends: - $ renpy.play('sounds/magic4.ogg') + play sound "sounds/magic4.ogg" $ duel_OBJ.show("smoke",x=520, y=318,z=5) $ duel_OBJ.show("snape_defend",x=720, y=250,z=4) $ duel_OBJ.snape = "block" pause 1 - $ renpy.play('sounds/attack_axe.ogg') + play sound "sounds/attack_axe.ogg" pause 1.3 hide screen duel_damage @@ -225,12 +225,12 @@ label snape_defends: ### GENIE ATTACK ### (Snape -100 HP) label genie_attack: - $ renpy.play('sounds/magic4.ogg') + play sound "sounds/magic4.ogg" $ duel_OBJ.show("smoke",x=520, y=318, z=5) $ duel_OBJ.show("genie_attack",x=720,y=250,z=4) $ duel_OBJ.genie = "attack" pause 1 - $ renpy.play('sounds/attack_axe.ogg') + play sound "sounds/attack_axe.ogg" pause 1.8 if pentogram: @@ -274,9 +274,9 @@ label snapes_turn: $ pentogram = False $ duel_OBJ.snape = "hand" $ duel_OBJ.show("hand",x=720, y=250,z=4) - $ renpy.play('sounds/attack_snape3.ogg') + play sound "sounds/attack_snape3.ogg" pause 1.5 - $ renpy.play('sounds/attack_snape4.ogg') + play sound "sounds/attack_snape4.ogg" if blocking: # GENIE BLOCKS AGAINST THE HAND.(Genie -50 HP) $ duel_OBJ.hide("hand") @@ -352,7 +352,7 @@ label snapes_turn: elif snape_decides in [2]: #MAGIC. CASTS THE PICTOGRAM. $ duel_OBJ.snape = "hand" $ duel_OBJ.show("snape_summon",720,250,4) - $ renpy.play('sounds/attack_snape2.ogg') + play sound "sounds/attack_snape2.ogg" pause.8 $ pentogram = True pause 1 @@ -366,13 +366,13 @@ label snapes_turn: label potion: pause.5 $ duel_OBJ.show("heal_02",500,330,4) - $ renpy.play('sounds/attack_heal.ogg') + play sound "sounds/attack_heal.ogg" pause 1 hide screen duel_heal show screen duel_heal(300) pause 1 - $ potions -= 1 + $ states.healing_potions -= 1 $ genie_hp += 300 pause.5 @@ -387,7 +387,7 @@ label snape_attack: hide screen duel_damage $ duel_OBJ.show("snape_attack",x=720, y=250,z=5) $ duel_OBJ.snape = "attack" - $ renpy.play('sounds/attack_snape.ogg') + play sound "sounds/attack_snape.ogg" pause 0.45 $ duel_OBJ.hide("snape_attack") $ duel_OBJ.snape = "" @@ -412,7 +412,7 @@ label snape_attack: label snape_attack_guard: $ duel_OBJ.show("snape_attack_guard",x=720, y=250,z=5) $ duel_OBJ.snape = "attack" - $ renpy.play('sounds/attack_snape.ogg') + play sound "sounds/attack_snape.ogg" pause 0.5 hide screen duel_damage show screen duel_damage(0, False) @@ -514,14 +514,14 @@ label snape_lost: show screen ui_top_bar with flashbulb pause 1 - $ snape_intro.duel_complete = True + $ states.sna.ev.intro.duel_complete = True jump snape_intro_E4 ### GENIE LOSES ### label genie_lost: - $ renpy.music.stop(fadeout=4) - $ renpy.music.stop(channel="weather", fadeout=4) - $ renpy.play('sounds/level_failed.ogg') + stop music fadeout 4 + stop weather fadeout 4 + play sound "sounds/level_failed.ogg" call gameover(autohide=False) hide screen duel @@ -532,12 +532,12 @@ label genie_lost: menu: "-Try again-": - $ renpy.play('sounds/glass_break.ogg') - play music "music/boss_battle_#2_metal_loop.ogg" fadein 1 fadeout 1 + play sound "sounds/glass_break.ogg" + play music "music/boss_battle_#2_metal_loop.ogg" fadein 1 fadeout 1 if_changed show screen snape_glass pause 2.3 hide screen gameover - $ potions = 3 # Give healing potions to make the fight less frustrating + $ states.healing_potions = 3 # Give healing potions to make the fight less frustrating $ duel_OBJ.genie = "" jump duel diff --git a/game/scripts/minigames/mirror/classes.rpy b/game/scripts/minigames/mirror/classes.rpy index 9bce2cdb..74c99e4e 100644 --- a/game/scripts/minigames/mirror/classes.rpy +++ b/game/scripts/minigames/mirror/classes.rpy @@ -20,7 +20,7 @@ init 5 python: if tag == "All": return self.get_instances() - return filter(lambda x: tag in x.tags, self.get_instances()) + return [x for x in self.get_instances() if tag in x.tags] def get_tags(self): return sorted({"All"} | {tag for x in self.get_instances() for tag in x.tags}) diff --git a/game/scripts/minigames/mirror/events/a_bad_time_to_disrobe.rpy b/game/scripts/minigames/mirror/events/a_bad_time_to_disrobe.rpy index d1f5c8aa..c59fe68f 100644 --- a/game/scripts/minigames/mirror/events/a_bad_time_to_disrobe.rpy +++ b/game/scripts/minigames/mirror/events/a_bad_time_to_disrobe.rpy @@ -16,7 +16,7 @@ label a_bad_time_to_disrobe: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -40,7 +40,7 @@ label a_bad_time_to_disrobe_part_1: gen "Miss Granger. Have you ever been excited about the thought of being caught?" ("base", xpos="far_left", ypos="head") her "Caught?" ("soft", "base", "base", "mid", xpos="right",ypos="base", trans=d3) - her "In what way professor?" ("base", "base", "base", "mid") + her "In what way, Professor?" ("base", "base", "base", "mid") gen "Well, for today's favour I have a prop for you to use." ("base", xpos="far_left", ypos="head") @@ -49,9 +49,9 @@ label a_bad_time_to_disrobe_part_1: gen "Yes, I'd like you to put this invisibility cloak on and sneak into one of the boy only areas of the school." ("base", xpos="far_left", ypos="head") her "Well, I guess that would be fine..." ("base", "base", "base", "mid") - her "Although it's a bit different from your usual requests." ("soft", "base", "base", "R", cheeks="blush") + her @ cheeks blush "Although it's a bit different from your usual requests." ("soft", "base", "base", "R") - gen "You'd be naked of course." ("base", xpos="far_left", ypos="head") + gen "You'd be naked, of course." ("base", xpos="far_left", ypos="head") her "Naked!?! But what if someone sees me?" ("open", "wide", "base", "stare") @@ -74,12 +74,11 @@ label a_bad_time_to_disrobe_part_1: with d5 $ game.daytime = False - call update_interface_color call music_block call her_chibi("stand","desk","base") - nar ">Later that evening, Hermione returns." + nar "Later that evening, Hermione returns." with d3 hide screen blkfade @@ -89,7 +88,7 @@ label a_bad_time_to_disrobe_part_1: gen "I'll take that cloak back if you don't mind." ("grin", xpos="far_left", ypos="head") her "Certainly." ("base", "base", "base", "mid", xpos="right", ypos="base", flip=False) - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" pause .8 gen "Now, spill the beans." ("base", xpos="far_left", ypos="head") @@ -97,20 +96,20 @@ label a_bad_time_to_disrobe_part_1: gen "(Is this girl for real?)" ("base", xpos="far_left", ypos="head") gen "It's just an expression..." ("base", xpos="far_left", ypos="head") gen "Now tell me...{w=0.4} Did you complete your assignment?" ("base", xpos="far_left", ypos="head") - her "I did, sir...{w=0.4} I snuck into the boys dormitory using the cloak, as you suggested." ("soft", "happyCl", "base", "mid") + her "I did, sir...{w=0.4} I sneaked into the boys' dormitory using the cloak, as you suggested." ("soft", "happyCl", "base", "mid") gen "Naked?" ("base", xpos="far_left", ypos="head") her "Naked...{w=0.2} --ish." ("disgust", "base", "base", "R") gen "How can you be naked...{w=0.2} --ish?" ("base", xpos="far_left", ypos="head") her "Well, I had to keep my underwear on...{w=0.2} I'd get cold otherwise." ("soft", "narrow", "base", "R") gen "Cold? How would you be cold with the cloak on?" ("base", xpos="far_left", ypos="head") - her "*Ehm*..." ("digust", "base", "base", "mid") + her "*Ehm*..." ("disgust", "base", "base", "mid") gen "*Sigh*... Just tell me what happened next." ("base", xpos="far_left", ypos="head") her "Well, a few of the boys were in there." ("base", "base", "base", "mid") her "They were playing wizards chess..." ("base", "base", "base", "mid") her "Pretty poorly in fact." ("disgust", "wink", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") - gen "I'm sorry miss Granger, but you're going to have to do better than this." ("base", xpos="far_left", ypos="head") + gen "I'm sorry, Miss Granger... But you're going to have to do better than this." ("base", xpos="far_left", ypos="head") gen "I expect more from you by now." ("base", xpos="far_left", ypos="head") her "So, no points then?" ("angry", "narrow", "annoyed", "mid") gen "No, I know you can do better." ("base", xpos="far_left", ypos="head") @@ -121,14 +120,15 @@ label a_bad_time_to_disrobe_part_1: show screen blkfade with d3 - show screen quistion_pop_up("{color=#cbcbcb}Hermione will remember that{/color}") - nar ">Hermione returns the next morning, looking nervous but more determined than yesterday." + show image Text("{image=images/rooms/room_of_requirement/qmark.webp}{size=+4}{color=#cbcbcb}Hermione will remember that{/color}{/size}") as qmark zorder 100: + pos (10, 10) + + nar "Hermione returns the next morning, looking nervous but more determined than yesterday." $ game.daytime = True - call update_interface_color call music_block - hide screen quistion_pop_up + hide qmark call her_chibi("stand","desk","base") hide screen blkfade @@ -144,10 +144,9 @@ label a_bad_time_to_disrobe_part_1: with d5 $ game.daytime = False - call update_interface_color call music_block - nar ">Later that evening a distraught-looking Hermione enters the office." + nar "Later that evening, a distraught-looking Hermione enters the office." call her_chibi("top_naked","desk","base") $ hermione.strip("robe", "accessory") @@ -156,44 +155,44 @@ label a_bad_time_to_disrobe_part_1: hide screen blkfade with d5 - her "..." ("upset", "base", "base", "mid", tears="mascara_soft",xpos="right",ypos="base") + her @ tears mascara_soft "..." ("upset", "base", "base", "mid",xpos="right",ypos="base") gen "What the-- What, happened? Where's your shirt?" ("base", xpos="far_left", ypos="head") - her "What do you think has happened?!" ("upset", "base", "base", "mid", tears="mascara_soft") + her @ tears mascara_soft "What do you think has happened?!" ("upset", "base", "base", "mid") gen "Well, I know what I think... But I'd like to hear it from you." ("base", xpos="far_left", ypos="head") - her "I didn't want to disappoint, sir, so I did what you asked..." ("soft", "base", "base", "mid", tears="mascara_soft") - her "I went into the girls changing room at the Quidditch pitch, undressing and leaving my clothes in one of the lockers." ("base", "base", "base", "mid", tears="mascara_soft") + her @ tears mascara_soft "I didn't want to disappoint, sir, so I did what you asked..." ("soft", "base", "base", "mid") + her @ tears mascara_soft "I went into the girls' changing room at the Quidditch pitch, undressing and leaving my clothes in one of the lockers." ("base", "base", "base", "mid") gen "Well done. And then?" ("base", xpos="far_left", ypos="head") - her "I took the cloak and snuck into the boys changing room--" ("soft", "squint", "base", "R", tears="mascara") - her "I didn't want any of them to bump into me so I decided to stand just around the corner of the doorway." ("open", "base", "base", "mid", tears="mascara") + her @ tears mascara "I took the cloak and sneaked into the boys' changing room--" ("soft", "squint", "base", "R") + her @ tears mascara "I didn't want any of them to bump into me, so I decided to stand just around the corner of the doorway." ("open", "base", "base", "mid") gen "Judging by your current state, I assume it didn't play out as you thought." ("base", xpos="far_left", ypos="head") - her "Well, it did at first... But I had made a miscalculation." ("angry", "base", "base", "mid", tears="mascara") - her "By thinking I was short enough to fit under the cloak..." ("disgust", "base", "base", "down", tears="mascara") + her @ tears mascara "Well, it did at first... But I had made a miscalculation." ("angry", "base", "base", "mid") + her @ tears mascara "By thinking I was short enough to fit under the cloak..." ("disgust", "base", "base", "down") gen "Right, so your--" ("base", xpos="far_left", ypos="head") - her "My feet were completely visible the whole time!" ("upset", "base", "angry", "mid", tears="mascara") + her @ tears mascara "My feet were completely visible the whole time!" ("upset", "base", "angry", "mid") gen "..." ("angry", xpos="far_left", ypos="head") - her "And before I knew it, one of the boys were moving closer to inspect them, so I tried to get away, but I slipped...{w=0.4} and...{w=0.4} and." ("upset", "wide", "base", "shocked", tears="mascara") + her @ tears mascara "And before I knew it, one of the boys was moving closer to inspect them, so I tried to get away, but I slipped...{w=0.4} and...{w=0.4} and." ("upset", "wide", "base", "shocked") gen "And what?" ("angry", xpos="far_left", ypos="head") - her "My butt fell out!" ("scream", "wide", "worried", "stare", tears="mascara") + her @ tears mascara "My butt fell out!" ("scream", "wide", "worried", "stare") gen "{size=18}Thirty points to--{/size}" ("grin", xpos="far_left", ypos="head") - her "I'm not finished!" ("open", "narrow", "worried", "down", tears="mascara") + her @ tears mascara "I'm not finished!" ("open", "narrow", "worried", "down") gen "Sorry, you carry on my dear!" ("base", xpos="far_left", ypos="head") - her "I sprinted out of there, grabbing as many of my clothes that I could... But even then, I think the boy may have seen me!" ("soft", "narrow", "worried", "mid_soft", tears="mascara") - her "Professor... I'm beginning to have second thoughts about this whole cloak idea." ("soft", "narrow", "worried", "mid_soft", tears="mascara") + her @ tears mascara "I sprinted out of there, grabbing as many of my clothes that I could... But even then, I think the boy may have seen me!" ("soft", "narrow", "worried", "mid_soft") + her @ tears mascara "Professor... I'm beginning to have second thoughts about this whole cloak idea." ("soft", "narrow", "worried", "mid_soft") gen "Don't be silly... The boy didn't even see your face, that's what matters." ("base", xpos="far_left", ypos="head") - her "But--" ("clench", "narrow", "worried", "mid_soft", tears="mascara") + her @ tears mascara "But--" ("clench", "narrow", "worried", "mid_soft") gen "Even if the cloak was only big enough to cover that bushy head of yours, it would be enough to keep anyone from knowing--" ("base", xpos="far_left", ypos="head") - her "Professor!" ("shock", "wide", "base", "mid", tears="mascara") + her @ tears mascara "Professor!" ("shock", "wide", "base", "mid") gen "Just trying to lighten the mood." ("base", xpos="far_left", ypos="head") gen "Although I'm sure an extra five points for a job well done should suffice..." ("base", xpos="far_left", ypos="head") gen "Thirty-five points to Gryffindor!" ("grin", xpos="far_left", ypos="head") - her "Thank you professor..." ("grin", "base", "base", "mid", tears="mascara") + her @ tears mascara "Thank you professor..." ("grin", "base", "base", "mid") call her_walk ("door", "base") - her "(I suppose he's right... Surely nobody would recognize me based on the lower half of my body...)" ("soft", "base", "base", "R", cheeks="blush", tears="mascara", flip=True) - her "(Would they?)" ("annoyed", "narrow", "base", "mid", cheeks="blush", tears="mascara") + her @ cheeks blush tears mascara "(I suppose he's right... Surely nobody would recognize me based on the lower half of my body...)" ("soft", "base", "base", "R", flip=True) + her @ cheeks blush tears mascara "(Would they?)" ("annoyed", "narrow", "base", "mid") call her_chibi("leave") @@ -213,16 +212,16 @@ label a_bad_time_to_disrobe_part_2: call music_block call bld - gen "Good afternoon miss Granger." ("base", xpos="far_left", ypos="head") - her "Good afternoon professor, what can I do for you today?" ("base", "base", "base", "mid",xpos="right",ypos="base") + gen "Good afternoon, Miss Granger." ("base", xpos="far_left", ypos="head") + her "Good afternoon, Professor... What can I do for you today?" ("base", "base", "base", "mid",xpos="right",ypos="base") gen "Glad you asked, I've got another task for you." ("base", xpos="far_left", ypos="head") - her "Another task? And what task may that be professor?" ("soft", "base", "base", "R") - gen "Well, miss Granger... I think somebody owes me a invisibility cloak." ("base", xpos="far_left", ypos="head") + her "Another task? And what task may that be, Professor?" ("soft", "base", "base", "R") + gen "Well, miss Granger... I think somebody owes me an invisibility cloak." ("base", xpos="far_left", ypos="head") her "Oh, do you want me to collect it from somebody?" ("open", "base", "base", "mid") - gen "That somebody is you, miss Granger..." ("base", xpos="far_left", ypos="head") + gen "That somebody is you, Miss Granger..." ("base", xpos="far_left", ypos="head") gen "You left my cloak at the scene of the crime." ("base", xpos="far_left", ypos="head") her "Crime? Professor, what have you gotten me into?" ("upset", "narrow", "annoyed", "mid") - gen "I'm talking about when you went for a visit to the boys changing room." ("base", xpos="far_left", ypos="head") + gen "I'm talking about when you went for a visit to the boys' changing room." ("base", xpos="far_left", ypos="head") gen "Or have you forgotten already?" ("base", xpos="far_left", ypos="head") her "{size=-7}I've tried to.{/size}" ("upset", "base", "worried", "R") gen "Sorry?" ("base", xpos="far_left", ypos="head") @@ -233,19 +232,19 @@ label a_bad_time_to_disrobe_part_2: her "By house elves I bet..." ("disgust", "closed", "angry", "mid") gen "Hey now... I know they might be small, but I wouldn't call them elves." ("base", xpos="far_left", ypos="head") gen "In any case, the cloak has more of a sentimental value to me... lots of memories." ("base", xpos="far_left", ypos="head") - gen "(Like the time where your butt fell out of it.)" ("grin", xpos="far_left", ypos="head") - gen "Oh, the memories... you must retrieve it for me." ("grin", xpos="far_left", ypos="head") - her "Fine, I'll do it... even though I hold you partly responsible for the situation that lead to me dropping it." ("annoyed", "closed", "angry", "mid") - gen "Great! Let's not dwell on the past then." ("base", xpos="far_left", ypos="head") + gen "(Like the time when your butt fell out of it.)" ("grin", xpos="far_left", ypos="head") + gen "Oh, the memories... You must retrieve it for me." ("grin", xpos="far_left", ypos="head") + her "Fine, I'll do it... Even though I hold you partly responsible for the situation that lead to me dropping it." ("annoyed", "closed", "angry", "mid") + gen "Great! Let's not dwell on the past, then." ("base", xpos="far_left", ypos="head") her "..." ("normal", "narrow", "annoyed", "mid") her "Do you happen to have any idea of where it is?" ("open", "base", "base", "mid") gen "Well, it hasn't been reported as found, so unless it's been stolen, there's only one place it could be." ("base", xpos="far_left", ypos="head") - her "The boys changing room?" ("base", "narrow", "worried", "down") - gen "The boys changing room." ("grin", xpos="far_left", ypos="head") + her "The boys' changing room?" ("base", "narrow", "worried", "down") + gen "The boys 'changing room." ("grin", xpos="far_left", ypos="head") her "And how many house points?" ("base", "base", "base", "mid") gen "For what exactly?" ("base", xpos="far_left", ypos="head") - her "Retrieving the cloak of course." ("annoyed", "base", "base", "mid") - gen "You're demanding house points, for your own mistakes, miss Granger?" ("base", xpos="far_left", ypos="head") + her "Retrieving the cloak, of course." ("annoyed", "base", "base", "mid") + gen "You're demanding house points, for your own mistakes, Miss Granger?" ("base", xpos="far_left", ypos="head") her "But I thought..." ("upset", "base", "worried", "mid") gen "..." ("base", xpos="far_left", ypos="head") her "..." ("upset", "narrow", "worried", "down") @@ -254,13 +253,13 @@ label a_bad_time_to_disrobe_part_2: gen "With your butt--" ("base", xpos="far_left", ypos="head") gen "No, well... Yes, but this time you'll be prepared." ("base", xpos="far_left", ypos="head") her "But... What if they recognise me, sir?" ("open", "base", "worried", "mid") - gen "if they had recognized you, then I'm sure you'd already know..." ("base", xpos="far_left", ypos="head") - her "(That's true...)" ("soft", "base", "base", "mid_soft", cheeks="blush") - her "And then what? You want me to be able to just walk out of there?" ("base", "base", "base", "mid", cheeks="blush") - gen "That's for you to figure out, miss Granger. Either way, once you have the cloak it shouldn't be an issue getting away." ("base", xpos="far_left", ypos="head") + gen "If they had recognized you, then I'm sure you'd already know..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "(That's true...)" ("soft", "base", "base", "mid_soft") + her @ cheeks blush "And then what? You want me to be able to just walk out of there?" ("base", "base", "base", "mid") + gen "That's for you to figure out, miss Granger. Either way, once you have the cloak, it shouldn't be an issue getting away." ("base", xpos="far_left", ypos="head") her "And I want--" ("open", "base", "base", "mid") gen "I'll give you forty house points for it." ("base", xpos="far_left", ypos="head") - her "(I was going to ask for thirty.)" ("soft", "happy", "base", "R", cheeks="blush") + her @ cheeks blush "(I was going to ask for thirty.)" ("soft", "happy", "base", "R") her "I'll do it..." ("base", "base", "base", "mid") gen "Great! You're doing an excellent service to your house, and you're making this old man very happy." ("grin", xpos="far_left", ypos="head") her "By getting your cloak back, right?" ("base", "base", "worried", "mid") @@ -272,7 +271,6 @@ label a_bad_time_to_disrobe_part_2: with d3 $ game.daytime = False - call update_interface_color call music_block nar "Later that evening." @@ -285,26 +283,26 @@ label a_bad_time_to_disrobe_part_2: call her_walk("desk", "base") pause.5 - her "..." ("normal", "narrow", "base", "dead", cheeks="blush",xpos="right",ypos="base") + her @ cheeks blush "..." ("normal", "narrow", "base", "dead",xpos="right",ypos="base") gen "Mission success?" ("base", xpos="far_left", ypos="head") - her "..." ("normal", "narrow", "base", "dead", cheeks="blush") + her @ cheeks blush "..." ("normal", "narrow", "base", "dead") gen "Miss Granger?" ("base", xpos="far_left", ypos="head") her "Oh, hello professor... Here's your cloak back." ("base", "narrow", "worried", "down") gen "..." ("base", xpos="far_left", ypos="head") gen "So?" ("base", xpos="far_left", ypos="head") her "So, what?" ("normal", "happyCl", "worried", "mid") gen "So, what about your assignment? How did it go?" ("base", xpos="far_left", ypos="head") - her "Oh, the assignment... It went very well, thank you... no hurdles in any way." ("soft", "base", "worried", "R", cheeks="blush") + her @ cheeks blush "Oh, the assignment... It went very well, thank you... no hurdles in any way." ("soft", "base", "worried", "R") gen "Your face is glowing, miss Granger... It's not hard to tell when you're being untruthful." ("base", xpos="far_left", ypos="head") - her "It is? I didn't even notice..." ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "It is? I didn't even notice..." ("normal", "narrow", "base", "down") gen "You're going to have to elaborate if you'd like those house points." ("base", xpos="far_left", ypos="head") her "Oh... okay... I'll just go ahead then." ("mad", "base", "base", "mid") gen "Let me get the popcorn." ("base", xpos="far_left", ypos="head") her "popcorn? Where would you get popcorn from in this office?" ("annoyed", "base", "base", "mid") gen "Magic cupboard." ("grin", xpos="far_left", ypos="head") her "Right... I'll just start from the beginning, shall I?" ("base", "narrow", "base", "R_soft") - her "..." ("base", "base", "base", "mid", cheeks="blush") - her "So... I went to the boys changing room when they were busy with their Quidditch practice." ("open", "narrow", "worried", "down") + her @ cheeks blush "..." ("base", "base", "base", "mid") + her "So... I went to the boys' changing room when they were busy with their Quidditch practice." ("open", "narrow", "worried", "down") gen "{size=+2}*CRUNCH*{/size}" ("base", xpos="far_left", ypos="head") her "It's very messy in there... And here I thought that the girls changing room was bad..." ("base", "narrow", "base", "down") gen "{size=+3}*CRUNCH* *Chew* *Chew*{/size}" ("base", xpos="far_left", ypos="head") @@ -312,7 +310,7 @@ label a_bad_time_to_disrobe_part_2: her "Anyway... so I rummaged around in that mess..." ("annoyed", "base", "worried", "mid") her "I knew it had to be somewhere between the showers and the doorway..." ("base", "base", "base", "mid") her "And after looking around for a while, I noticed that the cloak had been pushed underneath one of the benches lining the wall." ("open", "narrow", "worried", "down") - her "So as I was grabbing for it, I thought to myself... Well, I've already managed to sneak in there so perhaps I could earn myself some points as well..." ("open", "narrow", "worried", "down") + her "So as I was grabbing for it, I thought to myself... Well, I've already managed to sneak in there, so perhaps I could earn myself some points as well..." ("open", "narrow", "worried", "down") her "So I took my clothes off again, and while draping the cloak over me, I began walking to the showers." ("base", "narrow", "base", "down") her "But, just as I was about to enter, one of the Slytherin boys emerged in front of me!" ("clench", "base", "worried", "mid") gen "{size=+6}*CRUNCH*{/size}" ("base", xpos="far_left", ypos="head") @@ -320,7 +318,7 @@ label a_bad_time_to_disrobe_part_2: gen "*Cough* *Cough*...{w=0.4} Sorry." ("angry", xpos="far_left", ypos="head") her "It is hard enough to talk about this as it is, without your chewing distracting me." ("annoyed", "base", "angry", "mid") - call play_sound("gulp") + play sound "sounds/gulp.ogg" gen "*Gulp*" ("base", xpos="far_left", ypos="head") her "Anyhow..." ("base", "narrow", "angry", "R") @@ -328,27 +326,27 @@ label a_bad_time_to_disrobe_part_2: her "But that's when the boy walked in..." ("normal", "closed", "base", "mid") her "And I panicked and rushed to hide in one of the toilets." ("open", "base", "worried", "R") gen "Smart." ("base", xpos="far_left", ypos="head") - her "..." ("base", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "..." ("base", "base", "base", "mid") her "If I had been smart, I would've taken into consideration why someone might go to the changing room before practice is finished..." ("base", "narrow", "base", "down") - gen "To drain the snake no doubt." ("grin", xpos="far_left", ypos="head") + gen "To drain the snake, no doubt." ("grin", xpos="far_left", ypos="head") her "Do you want me to continue or not?" ("annoyed", "narrow", "annoyed", "mid") gen "You're the one receiving the points here, I'm just providing the means of earning them." ("base", xpos="far_left", ypos="head") her "*Hmph*..." ("normal", "narrow", "worried", "down") her "As I was saying..." ("base", "narrow", "base", "down") her "At this point it was already too late... Just as I realised my mistake, he had already opened the door." ("base", "closed", "base", "mid") - her "Since the room was so small, I tried to back into a corner... But to no avail..." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Since the room was so small, I tried to back into a corner... But to no avail..." ("base", "narrow", "base", "down") her "The only thing I could do was pray that he wasn't about to sit down, and to position myself right up against the back of the toilet... With my legs around the base." ("clench", "happyCl", "worried", "mid") her "..." ("disgust", "narrow", "base", "down") gen "And did he?" ("base", xpos="far_left", ypos="head") her "No... But he was close enough for me to feel his..." ("mad", "squint", "worried", "up") her "His..." ("base", "slit", "worried", "ahegao") gen "His what, Miss Granger?" ("base", xpos="far_left", ypos="head") - her "His penis... It brushed up against the robes" ("annoyed", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "His penis... It brushed up against the robes." ("annoyed", "closed", "base", "mid") gen "How did he manage that?" ("base", xpos="far_left", ypos="head") - her "Well... The boy wasn't there for the purpose of relieving himself... Well, at least not how one would expect it..." ("open", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "Well... The boy wasn't there for the purpose of relieving himself... Well, at least not how one would expect it..." ("open", "closed", "angry", "mid") gen "He was jacking it!?" ("base", xpos="far_left", ypos="head") - her "*Ehm*... Yes... And I suppose he was too busy to notice that his tip was brushing up against--" ("normal", "base", "worried", "mid", cheeks="blush") - her "*Ahem*..." ("open", "base", "worried", "R", cheeks="blush") + her @ cheeks blush "*Ehm*... Yes... And I suppose he was too busy to notice that his tip was brushing up against--" ("normal", "base", "worried", "mid") + her @ cheeks blush "*Ahem*..." ("open", "base", "worried", "R") gen "..." ("base", xpos="far_left", ypos="head") her "I'd like my points now." ("base", "narrow", "worried", "down") gen "Certainly, miss Granger..." ("base", xpos="far_left", ypos="head") @@ -357,9 +355,9 @@ label a_bad_time_to_disrobe_part_2: call her_walk("door", "base") - her "(I probably shouldn't tell him about having to clean the cloak before bringing it back to him...)" ("base", "narrow", "base", "dead", cheeks="blush", flip=True) - her "(*Mmm*... I can still remember the smell of it...)" ("normal", "narrow", "worried", "down", cheeks="blush") - her "(Wait, what am I thinking? Snap out of it, Hermione...)" ("base", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "(I probably shouldn't tell him about having to clean the cloak before bringing it back to him...)" ("base", "narrow", "base", "dead", flip=True) + her @ cheeks blush "(*Mmm*... I can still remember the smell of it...)" ("normal", "narrow", "worried", "down") + her @ cheeks blush "(Wait, what am I thinking? Snap out of it, Hermione...)" ("base", "happyCl", "worried", "mid") call her_chibi("leave") diff --git a/game/scripts/minigames/mirror/events/a_christmas_tale.rpy b/game/scripts/minigames/mirror/events/a_christmas_tale.rpy index 596e062c..9a345c22 100644 --- a/game/scripts/minigames/mirror/events/a_christmas_tale.rpy +++ b/game/scripts/minigames/mirror/events/a_christmas_tale.rpy @@ -26,7 +26,7 @@ label a_christmas_tale: $ game.daytime = False $ game.weather = "snow" call room("main_room") - call play_music("stop") + stop music fadeout 1 call gen_chibi("hide") show screen blkfade with d5 @@ -36,7 +36,7 @@ label a_christmas_tale: hide screen blkfade with d5 - call play_music("anguish") + play music "music/Anguish.ogg" fadein 1 if_changed show screen bld1 with d3 nar "It was the night before Christmas, with excitement at the school." @@ -47,7 +47,7 @@ label a_christmas_tale: with d3 pause.8 - call play_sound("door") + play sound "sounds/door.ogg" call sna_chibi("stand","door","base") with d5 pause.8 @@ -64,7 +64,7 @@ label a_christmas_tale: sna "Seems like a normal Christmas, spent all alone..." (face="snape_06") nar "But then a crash and a bang from the chimney was heard." - call play_sound("bump") + play sound "sounds/kick.ogg" call sna_chibi("stand","mid","base",flip=True) with d3 @@ -73,7 +73,7 @@ label a_christmas_tale: sna "What the fuck was that, some kind of bird?" (face="snape_14") nar "With a snap and a crackle, and a strong blinding light." - call play_sound("bump") + play sound "sounds/kick.ogg" $ fireplace_OBJ.foreground = None # Teleport Santa Genie into the fireplace show screen genie_santa_chibi(620, 150) @@ -90,11 +90,11 @@ label a_christmas_tale: show screen bld1 with d3 - san1 "Oh hello there my friend." + gen santa "Oh hello there my friend." ("base", xpos="far_left", ypos="head") nar "Said the figure at last." - san1 "I thought you might be here, but where's that genie?" + gen "I thought you might be here, but where's that genie?" ("base", xpos="far_left", ypos="head") sna "..." (face="snape_25") - san1 "Blast..." + gen "Blast..." ("base", xpos="far_left", ypos="head") sna "Genie..." (face="snape_24") nar "Said the teacher." @@ -102,16 +102,16 @@ label a_christmas_tale: sna "Have you been drinking again?" (face="snape_25") sna "And I don't mean drinking tea." (face="snape_29") - san1 "I don't know what you mean." + gen "I don't know what you mean." ("base", xpos="far_left", ypos="head") nar "Said the large bearded man..." - san2 "I'm Santa of course." - san2 "I bring presents..." - san2 "That's the plan!" + gen "I'm Santa, of course." ("grin", xpos="far_left", ypos="head") + gen "I bring presents..." ("grin", xpos="far_left", ypos="head") + gen "That's the plan!" ("grin", xpos="far_left", ypos="head") pause.8 - nar "After silence and confusion then Severus said..." - sna "Well, just get it over with so I can go back to bed." (face="snape_09") - san1 "Now boy where's your spirit, it's Christmas is it not?" + nar "After silence and confusion, then Severus said..." + sna "Well, just get it over with, so I can go back to bed." (face="snape_09") + gen "Now boy where's your spirit, it's Christmas is it not?" ("base", xpos="far_left", ypos="head") sna "Now genie, look here..." (face="snape_24") nar "But then he froze on the spot." @@ -124,7 +124,7 @@ label a_christmas_tale: show screen bld1 with d3 - nar "The man had then vanished, without even a trace.." + nar "The man had then vanished, without even a trace..." hide screen bld1 with d3 @@ -151,17 +151,17 @@ label a_christmas_tale: with d3 nar "With only a gift left where he had stood, should he open or should he wait?" sna "My first present since childhood..." (face="snape_04") - nar "As he peeled back the wrapping he just stood there in shock." + nar "As he peeled back the wrapping, he just stood there in shock." sna "Where on earth did he get this?" (face="snape_03") nar "Then suddenly..." - call play_sound("knocking") + play sound "sounds/knocking.ogg" nar "A knock." - "Snape are you in there, I think I lost my keys." + "Snape, are you in there, I think I lost my keys." sna "The door is open, you fool." (face="snape_08", xpos="base", ypos="base") nar "His voice... now just a wheeze." - call play_sound("knocking") + play sound "sounds/knocking.ogg" nar "The genie knocked again. The mutter, he hadn't heard." sna "" (face="snape_06") nar "Now Snape saying nothing, not even a word." @@ -169,7 +169,7 @@ label a_christmas_tale: with d5 nar "A picture we then see as it's our time to depart." sna "" (face="snape_23") - nar "As sadness turned to joy in the cold teachers heart." + nar "As sadness turned to joy in the cold teacher's heart." call ctc hide screen snape_picture_frame @@ -177,7 +177,7 @@ label a_christmas_tale: with d5 pause.8 - san4 "Happy Holidays." + gen "Happy Holidays." ("grin", xpos="far_left", ypos="head") show screen blkfade with d9 @@ -192,5 +192,5 @@ screen genie_santa_chibi(x, y, flip=False): add "characters/misc/santa/santa_chibi.webp" pos (x,y) zoom 0.5 xzoom (-1 if flip else 1) screen snape_picture_frame(): - add "characters/snape/main/picture_frame.webp" xpos snape_xpos ypos snape_ypos xzoom snape_flip zoom 0.5 xoffset -50 - zorder snape_zorder+1 + add "characters/snape/main/picture_frame.webp" xpos states.sna.image.xpos ypos states.sna.image.ypos xzoom states.sna.image.xzoom zoom 0.5 xoffset -50 + zorder states.sna.image.zorder+1 diff --git a/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy b/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy index 3926c4f4..9298ada4 100644 --- a/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy +++ b/game/scripts/minigames/mirror/events/a_christmas_tale2.rpy @@ -2,11 +2,11 @@ label a_christmas_tale2_rewards: # Unlock outfit message. Should only appear once. if not her_outfit_ribbon.unlocked: - call unlock_clothing(text=">New clothing items for Hermione have been unlocked!", item=her_outfit_ribbon) - call unlock_clothing(text=">Several new clothing items for Hermione have been unlocked!", item=her_outfit_xmas) - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_ribbon) - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_elf) - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_xmas) + call unlock_clothing(text="New clothing items for Hermione have been unlocked!", item=her_outfit_ribbon) + call unlock_clothing(text="Several new clothing items for Hermione have been unlocked!", item=her_outfit_xmas) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_ribbon) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_elf) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_xmas) call give_reward("Some lesser clothing items have been unlocked as well. *Ho-ho-ho!*") @@ -36,7 +36,7 @@ label a_christmas_tale2(): $ game.daytime = False $ game.weather = "snow" call room("main_room") - call play_music("stop") + stop music fadeout 1 call gen_chibi("hide") show screen blkfade with d5 @@ -47,13 +47,13 @@ label a_christmas_tale2(): with d5 play weather "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 - call play_music("anguish") + play music "music/Anguish.ogg" fadein 1 if_changed show screen bld1 with d3 nar "T'was the night before Christmas on a cold winter night." - nar "We see the headmasters room but there's no one in sight." + nar "We see the headmaster's room, but there's no one in sight." nar "No sound but the wind as the storm outside roars." nar "But then a man enters, as he never knocks on any doors." @@ -76,32 +76,32 @@ label a_christmas_tale2(): nar "Interrupted dialogue as the room filled with mist." nar "With three booming ho's, Santa Claus appeared." - $ renpy.sound.play("sounds/fire_woosh.ogg") + play sound "sounds/fire_woosh.ogg" $ fireplace_OBJ.foreground = None - stop bg_sounds + stop background show screen genie_santa_chibi(620, 170, flip=True) call teleport((620+75, 440)) call sna_chibi(flip=True) with d3 sna "Genie of course... You think I'd fall for that fake beard?" ("snape_05", trans=d3) - san1 "I think you must be mistaken." + gen santa "I think you must be mistaken." ("base", xpos="far_left", ypos="head") hide snape_main hide screen bld1 with d3 nar "Said Santa to the man." show screen bld1 with d3 - san1 "I'm not Genie, I'm Santa!" - san1 "I deliver presents!" - san2 "That's the plan!" + gen "I'm not Genie, I'm Santa!" ("base", xpos="far_left", ypos="head") + gen "I deliver presents!" ("base", xpos="far_left", ypos="head") + gen "That's the plan!" ("grin", xpos="far_left", ypos="head") - san1 "I bring cheers and presents, to all across the land." + gen "I bring cheers and presents, to all across the land." ("base", xpos="far_left", ypos="head") sna "Are you sure about that? I don't see a sack in your hand..." ("snape_01", trans=d3) hide snape_main with d3 - san1 "Be patient dear boy... Don't you give me that face." - san1 "Your gift will get here soon through this office fireplace." + gen "Be patient, dear boy... Don't you give me that face." ("base", xpos="far_left", ypos="head") + gen "Your gift will get here soon through this office fireplace." ("base", xpos="far_left", ypos="head") hide screen bld1 with d3 @@ -113,20 +113,20 @@ label a_christmas_tale2(): show screen bld1 with d3 - san2 "Now check out this girl!" + gen "Now check out this girl!" ("grin", xpos="far_left", ypos="head") - ton "" ("horny", "narrow", "base", "mid", hair="happy", xpos="mid", ypos="base", trans=d3) + ton @ hair happy "" ("horny", "narrow", "base", "mid", xpos="mid", ypos="base", trans=d3) call ctc hide tonks_main sna "Now that is a present!" ("snape_13", trans=d3) sna "You've outdone yourself." ("snape_20") hide snape_main - san1 "That's not your present, that's my sexy helper elf..." + gen "That's not your present, that's my sexy helper elf..." ("base", xpos="far_left", ypos="head") - ton "Eye's up here boy..." ("base", "base", "base", "mid", hair="happy", trans=dissolve) - ton "Your present is in this sack..." ("soft", "narrow", "base", "down", hair="happy") - ton "These milkers belong to Santa!" ("horny", "narrow", "base", "L", hair="horny") - san2 "They're my after-work Christmas snack!" + ton @ hair happy "Eye's up here boy..." ("base", "base", "base", "mid", trans=dissolve) + ton @ hair happy "Your present is in this sack..." ("soft", "narrow", "base", "down") + ton @ hair horny "These milkers belong to Santa!" ("horny", "narrow", "base", "L") + gen "They're my after-work Christmas snack!" ("grin", xpos="far_left", ypos="head") hide tonks_main hide screen bld1 @@ -140,13 +140,13 @@ label a_christmas_tale2(): show screen xmas_bagfloor((750, 290)) show ch_hem ribbon zorder hermione_chibi.zorder at Transform(pos=(785, 450), xzoom=1) #call her_chibi(xpos=750, ypos=460) - call play_sound("magic") + play sound "sounds/magic4.ogg" with flash show ch_ton elf zorder tonks_chibi.zorder at Transform(pos=(750, 430), xzoom=1) with d3 - her "" ("soft", "base", "base", "mid", cheeks="blush", xpos="base", ypos="base", trans=d3) + her @ cheeks blush "" ("soft", "base", "base", "mid", xpos="base", ypos="base", trans=d3) nar "In front of him a girl, no longer concealed." nar "With a bow around her pussy and ribbons around her tits." @@ -156,25 +156,25 @@ label a_christmas_tale2(): sna "Now that's a proper present!" ("snape_13", trans=d3) hide snape_main with d3 - san2 "Now unwrap those naughty bits!" + gen "Now unwrap those naughty bits!" ("grin", xpos="far_left", ypos="head") - ton "Wait, I just remembered, don't unwrap the present yet!" ("mad", "shocked", "base", "L", hair="happy", trans=dissolve) - ton "If he's not been good this year then a gift he cannot get." ("open", "closed", "shocked", "mid", hair="happy") + ton @ hair happy "Wait, I just remembered, don't unwrap the present yet!" ("mad", "shocked", "base", "L", trans=dissolve) + ton @ hair happy "If he's not been good this year, then a gift he cannot get." ("open", "closed", "shocked", "mid") hide tonks_main with d3 - san2 "I'm certain he's been good... Now unwrap her I insist!" + gen "I'm certain he's been good... Now unwrap her, I insist!" ("grin", xpos="far_left", ypos="head") - ton "I'm not so sure myself... His offences fill this list." ("upset", "narrow", "base", "down", hair="happy", trans=dissolve) + ton @ hair happy "I'm not so sure myself... His offences fill this list." ("upset", "narrow", "base", "down", trans=dissolve) hide tonks_main with d3 - san1 "Then read it for me elf... I'm sure it will be quick..." + gen "Then read it for me, elf... I'm sure it will be quick..." ("base", xpos="far_left", ypos="head") hide screen bld1 with d3 nar "The elf then unrolled it... A scroll six inches thick." - ton "Inflating the points gained to put the Slytherins in the lead..." ("open", "base", "raised", "down", hair="happy", trans=dissolve) + ton @ hair happy "Inflating the points gained to put the Slytherins in the lead..." ("open", "base", "raised", "down", trans=dissolve) hide tonks_main with d3 @@ -182,83 +182,83 @@ label a_christmas_tale2(): hide hermione_main with d3 - san1 "That can't be true!" + gen "That can't be true!" ("base", xpos="far_left", ypos="head") sna "Mere fabrications that, indeed..." ("snape_35", trans=d3) hide snape_main with d3 - ton "Teaching plenty of classes despite that he's blind drunk." ("upset", "base", "shocked", "down", hair="happy", trans=dissolve) + ton @ hair happy "Teaching plenty of classes despite that he's blind drunk." ("upset", "base", "shocked", "down", trans=dissolve) sna "I can't believe they bought that it was {i}\"Essence du Skunk\"{/i}..." ("snape_45", trans=d3) hide snape_main with d3 - ton "Punishing students for talking in class..." ("open", "closed", "base", "mid", hair="happy") + ton @ hair happy "Punishing students for talking in class..." ("open", "closed", "base", "mid") sna "They were breaking the rules!" ("snape_07", trans=d3) hide snape_main with d3 - ton "So is slapping their ass..." ("disgust", "narrow", "base", "mid", hair="happy") - san1 "Well I'm sure they're all right... It was only a slap..." - ton "I'm not done yet santa, there's more..." ("annoyed", "narrow", "base", "L", hair="happy") - san1 "What the crap..." + ton @ hair happy "So is slapping their ass..." ("disgust", "narrow", "base", "mid") + gen "Well, I'm sure they're all right... It was only a slap..." ("base", xpos="far_left", ypos="head") + ton @ hair happy "I'm not done yet santa, there's more..." ("annoyed", "narrow", "base", "L") + gen "What the crap..." ("base", xpos="far_left", ypos="head") - ton "Stealing mounds of sweets and sniffing girls hair..." ("normal", "base", "raised", "down", hair="happy") + ton @ hair happy "Stealing mounds of sweets and sniffing girls hair..." ("normal", "base", "raised", "down") sna "Now let's be reasonable for a minute, this list isn't fair!" ("snape_18", trans=d3) hide snape_main with d3 - san1 "I think he's got a point, at least he didn't curse..." - ton "You say that but now, is when the list is getting worse..." ("disgust", "base", "base", "mid", hair="happy") + gen "I think he's got a point, at least he didn't curse..." ("base", xpos="far_left", ypos="head") + ton @ hair happy "You say that but now, is when the list is getting worse..." ("disgust", "base", "base", "mid") - ton "He's bought blowjobs with house points... Now that doesn't sound great..." ("open", "narrow", "base", "down", hair="happy") - san2 "A misprint I'm sure!" - ton "The list says thirty-eight..." ("mad", "wide", "base", "down", hair="happy") + ton @ hair happy "He's bought blowjobs with house points... Now, that doesn't sound great..." ("open", "narrow", "base", "down") + gen "A misprint I'm sure!" ("grin", xpos="far_left", ypos="head") + ton @ hair happy "The list says thirty-eight..." ("mad", "wide", "base", "down") - ton "Wrapped around his finger... This is making me sick..." ("upset", "base", "base", "down", hair="upset") - ton "This list is massive!" ("clench", "wide", "annoyed", "down", hair="angry") - san1 "Then just skim it real quick..." + ton @ hair upset "Wrapped around his finger... This is making me sick..." ("upset", "base", "base", "down") + ton @ hair angry "This list is massive!" ("clench", "wide", "annoyed", "down") + gen "Then just skim it real quick..." ("base", xpos="far_left", ypos="head") - ton "Taking girls books and replacing it with smut..." ("disgust", "narrow", "base", "down", hair="happy") - ton "Then punishing them for it by spanking their butt..." ("annoyed", "narrow", "annoyed", "mid", hair="happy") + ton @ hair happy "Taking girls books and replacing it with smut..." ("disgust", "narrow", "base", "down") + ton @ hair happy "Then punishing them for it by spanking their butt..." ("annoyed", "narrow", "annoyed", "mid") sna "She had it coming I tell you... That girl was a whore..." ("snape_12", trans=d3) hide snape_main with d3 - ton "See what I mean Santa?" ("disgust", "base", "base", "L", hair="disgusted") - ton "And this list has even more..." ("upset", "base", "base", "down", hair="happy") + ton @ hair disgusted "See what I mean Santa?" ("disgust", "base", "base", "L") + ton @ hair happy "And this list has even more..." ("upset", "base", "base", "down") - ton "Confiscating panties... Cumming on floors..." ("soft", "base", "annoyed", "down", hair="happy") - ton "Spying in the toilets..." ("disgust", "narrow", "base", "down", hair="disgusted") - ton "Never knocks on any doors..." ("open", "closed", "base", "mid", hair="happy") + ton @ hair happy "Confiscating panties... Cumming on floors..." ("soft", "base", "annoyed", "down") + ton @ hair disgusted "Spying in the toilets..." ("disgust", "narrow", "base", "down") + ton @ hair happy "Never knocks on any doors..." ("open", "closed", "base", "mid") - san1 "Never knocks on any doors?!" + gen "Never knocks on any doors?!" ("base", xpos="far_left", ypos="head") nar "Said Santa at last." - san1 "Now that's a big offence!" - ton "You really think so Santa?" ("annoyed", "wide", "raised", "mid", hair="happy") + gen "Now that's a big offence!" ("base", xpos="far_left", ypos="head") + ton @ hair happy "You really think so Santa?" ("annoyed", "wide", "raised", "mid") sna "Blast..." ("snape_11", trans=d3) hide snape_main with d3 - san1 "Sexual acts is one thing... But not knocking on doors!" - san1 "A man without manners is what Santa Claus abhors." - san1 "I can't give you a gift but I offer this advice." - san1 "Most things I will ignore but good manners deem you nice." + gen "Sexual acts is one thing... But not knocking on doors!" ("base", xpos="far_left", ypos="head") + gen "A man without manners is what Santa Claus abhors." ("base", xpos="far_left", ypos="head") + gen "I can't give you a gift, but I offer this advice." ("base", xpos="far_left", ypos="head") + gen "Most things I will ignore, but good manners deem you nice." ("base", xpos="far_left", ypos="head") - san1 "Now ladies it's time to leave, it is a busy time of year..." - san1 "Let us empty this sack and spread my Christmas cheer." - ton "This meeting took way too long so we better spread it quick..." ("mad", "base", "base", "L", hair="happy") - ton "I hope I get overtime for this..." ("annoyed", "base", "base", "R", hair="happy") + gen "Now ladies it's time to leave, it is a busy time of year..." ("base", xpos="far_left", ypos="head") + gen "Let us empty this sack and spread my Christmas cheer." ("base", xpos="far_left", ypos="head") + ton @ hair happy "This meeting took way too long so we better spread it quick..." ("mad", "base", "base", "L") + ton @ hair happy "I hope I get overtime for this..." ("annoyed", "base", "base", "R") hide tonks_main with d3 - san2 "I'll let you ride my magic di--" + gen "I'll let you ride my magic di--" ("grin", xpos="far_left", ypos="head") call gen_chibi("hide") #call ton_chibi("hide") #call her_chibi("hide") hide ch_hem ribbon hide ch_ton elf - call play_sound("magic") + play sound "sounds/magic4.ogg" show screen xmas_smoke with flash diff --git a/game/scripts/minigames/mirror/events/a_spaced_out_conversation.rpy b/game/scripts/minigames/mirror/events/a_spaced_out_conversation.rpy index 69977438..8f081567 100644 --- a/game/scripts/minigames/mirror/events/a_spaced_out_conversation.rpy +++ b/game/scripts/minigames/mirror/events/a_spaced_out_conversation.rpy @@ -7,7 +7,7 @@ label a_spaced_out_conversation: $ chair_OBJ.hidden = True stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 call gen_chibi("hide") show screen with_snape(ani=False) show screen blkfade @@ -18,19 +18,19 @@ label a_spaced_out_conversation: hide screen blkfade with d5 - call play_music("anguish") + play music "music/Anguish.ogg" fadein 1 if_changed nar "The flames flickered higher up the fireplace." - nar "Licking in greedy hunger, as if wanting to taste the wine the two men sedately drank just out of the fire's reach." + nar "Licking in greedy hunger, as if wanting to taste the wine, the two men sedately drank just out of the fire's reach." nar "The men took no notice of the flames, except to silently acknowledge the warmth it provided." nar "They were an odd pair, these two, sitting as they frequently did, beside the old fireplace sipping wine." nar "One, dressed all in black, with matching flowing black hair, stared sullenly at his glass." nar "Perhaps it was the darkness surrounding him that made his skin look so pale." nar "And maybe it was only the voluminous robes wrapped loosely across his body that made him appear gaunt." nar "The other was even more mysterious..." - nar "Draped in gray-white costume, he had a long, flowing beard and a curious aura of both age and vitality." + nar "Draped in a gray-white costume, he had a long, flowing beard and a curious aura of both age and vitality." nar "Sometimes, if the flames flickered just so, he almost appeared entirely different, as a burly, cowled man with a short curled beard." - nar "They sat in front of the fire as they did on many nights and talked of worlds upon worlds. And of magic. The dark man was first to speak." + nar "They sat in front of the fire as they did on many nights and talked of worlds upon worlds. And of magic. The dark man was the first to speak." sna "So, let me try to understand this..." ("snape_05", ypos="head", trans=d3) nar "Snape said slowly." @@ -47,8 +47,8 @@ label a_spaced_out_conversation: sna "Come again?" ("snape_03") hide screen a_spaced_out_conversation_horns with d9 - nar "Snape asked, gaping at the sight before it was gone so fast that he was left unsure he had seen anything." - gen "I said, they keep the whole thing low key." ("base", xpos="far_left", ypos="head") + nar "Snape asked, gaping at the sight before it was gone so fast that he was left unsure if he had seen anything." + gen "I said, they keep the whole thing low-key." ("base", xpos="far_left", ypos="head") nar "Genie repeated." gen "Keeps most people from knowing how they make it bigger on the inside." ("base", xpos="far_left", ypos="head") sna "Most people?" ("snape_05") @@ -68,7 +68,7 @@ label a_spaced_out_conversation: nar "Snape flicked his hands impatiently and just decided to move on." show screen with_snape(ani=False) nar "Determining when Genie was serious or not was still beyond his ability." - nar "Plus, there had been another one of those weird flickers and he could have sworn he had seen a multicoloured scarf around Genie's neck." + nar "Plus, there had been another one of those weird flickers, and he could have sworn he had seen a multicoloured scarf around Genie's neck." sna "And, you then grant the summoner three wishes?" ("snape_01") nar "Snape continued." sna "Anything they want? You can make anything come true?" ("snape_05") @@ -108,8 +108,8 @@ label a_spaced_out_conversation: nar "Genie said with a sarcastic edge that relieved Snape." sna "Well, then..." ("snape_01") nar "Snape said." - sna "After we find a way to get you back to your home, maybe I could come visit you and we could work something out." ("snape_28") - nar "Genie eyed him curiously and then, with a bit of his usual humour then asked." + sna "After we find a way to get you back to your home, maybe I could come visit you, and we could work something out." ("snape_28") + nar "Genie eyed him curiously and then, with a bit of his usual humour, then asked." gen "Are you sure you could resist the urge to use all three on yourself?" ("grin", xpos="far_left", ypos="head") nar "Snape chuckled. He momentarily considered how rarely he chuckled." nar "Not with humour, at least. He hadn't really done that since..." @@ -123,13 +123,13 @@ label a_spaced_out_conversation: nar "Snape said dreamily. In his mind's eye, he remembered the flaming red hair that lit a fire in his own heart." sna "I sometimes wonder if that would have made all the difference." ("snape_29") nar "Snape mused." - sna "If I would have been a better, a kinder man than I am today." ("snape_06") + sna "If I had been a better, a kinder man than I am today." ("snape_06") gen "But would you have been as popular?" ("grin", xpos="far_left", ypos="head") nar "Genie asked." gen "you were central in every book and movie. Everyone loves you." ("base", xpos="far_left", ypos="head") sna "What?" ("snape_05") nar "Snape snapped from his reverie. He looked at Genie in confusion." - gen "I mean, would you have been as powerful." ("base", xpos="far_left", ypos="head") + gen "I mean, would you have been as powerful?" ("base", xpos="far_left", ypos="head") nar "Genie said hastily." gen "Wasn't that rejection what drove you to your studies and your mastery?" ("base", xpos="far_left", ypos="head") nar "Snape eyed Genie suspiciously, but let the matter pass." @@ -145,7 +145,7 @@ label a_spaced_out_conversation: sna "Then, one day, I could reach out to that insipid boy, with his foolish fantasies about Potter and say, \"Harry, I am your father\"!" ("snape_28") nar "Genie nodded." gen "It could work. You've got the black robes already. You just need the helmet." ("grin", xpos="far_left", ypos="head") - nar "Snape cocked an eyebrow in confusion. The flames leapt and danced and Genie flickered once again." + nar "Snape cocked an eyebrow in confusion. The flames leapt and danced, and Genie flickered once again." gen "No mind pay you." ("grin", xpos="far_left", ypos="head") nar "Genie said." gen "Darkness that path, take you it will." ("grin", xpos="far_left", ypos="head") @@ -162,12 +162,12 @@ label a_spaced_out_conversation: nar "Snape finally managed to say." nar "Genie laughed." gen "Muppet?" ("base", xpos="far_left", ypos="head") - sna "No thanks, I'll just have the wine." ("snape_05") + sna "No, thanks... I'll just have the wine." ("snape_05") nar "Snape replied." gen "I'm afraid that's the last of it." ("base", xpos="far_left", ypos="head") nar "Genie said, looking mournfully at the bottle." nar "He eyed Snape through the red droppings of wine still remaining in his glass. It looked like Snape was bleeding." - nar "The image disturbed him and he put his glass down." + nar "The image disturbed him, and he put his glass down." gen "So..." ("base", xpos="far_left", ypos="head") nar "Genie coughed once, cleared his throat and continued." gen "Did you mean it?" ("base", xpos="far_left", ypos="head") @@ -175,7 +175,7 @@ label a_spaced_out_conversation: nar "Snape asked." gen "Yes." ("base", xpos="far_left", ypos="head") nar "Genie said, unable to keep the excitement from his voice." - gen "Would you really come to my world and set me free with a wish." ("base", xpos="far_left", ypos="head") + gen "Would you really come to my world and set me free with a wish?" ("base", xpos="far_left", ypos="head") sna "Why not?" ("snape_06") nar "Snape said." sna "Assuming we can find a way to send you back." ("snape_09") @@ -195,7 +195,7 @@ label a_spaced_out_conversation: gen "In the final frontier?" ("base", xpos="far_left", ypos="head") nar "Genie asked, with a wink that to Snape always meant some kind of inside joke Snape never understood." nar "He decided to ignore it as he had many other times." - sna "Let me continue to research why your powers of transdimensional travel are muted here and we'll find a way to fix your problem." ("snape_05") + sna "Let me continue to research why your powers of transdimensional travel are muted here, and we'll find a way to fix your problem." ("snape_05") gen "Both our problems." ("base", xpos="far_left", ypos="head") nar "Genie suggested and this time, both of them laughed together." sna "You know, Genie, this could be the start of a beautiful friendship." ("snape_23") diff --git a/game/scripts/minigames/mirror/events/a_white_christmas.rpy b/game/scripts/minigames/mirror/events/a_white_christmas.rpy index 6ca1c09d..67d9a91a 100644 --- a/game/scripts/minigames/mirror/events/a_white_christmas.rpy +++ b/game/scripts/minigames/mirror/events/a_white_christmas.rpy @@ -1,8 +1,8 @@ label a_white_christmas_rewards: if not ton_outfit_wrestling_coach.unlocked: - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_wrestling_coach) - call unlock_clothing(text=">New clothing items for Hermione have been unlocked!", item=her_outfit_wrestling) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_wrestling_coach) + call unlock_clothing(text="New clothing items for Hermione have been unlocked!", item=her_outfit_wrestling) if not xmas_lights_ITEM.owned: $ xmas_phoenix_ITEM.owned = 1 @@ -41,7 +41,7 @@ label a_white_christmas: $ game.weather = "snow" call room("main_room") call gen_chibi("sit_behind_desk") - call play_music("stop") + stop music fadeout 1 $ hermione.strip("accessory") @@ -55,7 +55,7 @@ label a_white_christmas: with d5 play weather "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 - call play_music("anguish") + play music "music/Anguish.ogg" fadein 1 if_changed nar "'Twas a night like any other in the headmaster's room." nar "Bored out of his mind, Genie felt a bit of gloom." @@ -81,7 +81,7 @@ label a_white_christmas: nar "With nothing to do, his Christmas was looking quite grey." gen "I guess I'll do what I always did... Stuck in that lamp all day." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/paper_rustle.ogg") + play sound "sounds/paper_rustle.ogg" nar "Hold on, that's not in the script..." gen "I don't care anymore...{w=0.4} Just rewrite the script and add a couple whores." ("base", xpos="far_left", ypos="head") @@ -96,7 +96,7 @@ label a_white_christmas: nar "Anything wholesome at this point..." gen "Just let me do my thing..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" call gen_chibi("jerk_off_behind_desk") with d3 pause.8 @@ -118,7 +118,7 @@ label a_white_christmas: nar "Smirking to himself, Genie forgot just one thing..." nar "That I'm in charge of this story." gen "What?" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/MaleClearThroat.ogg") + play sound "sounds/MaleClearThroat.ogg" nar "Now...{w=0.8}{nw}" nar "Now...{fast} Entering the ring!" with hpunch @@ -132,21 +132,21 @@ label a_white_christmas: nar "The narrative thread broken, now completely destroyed." call room("boxing_ring") - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" call gen_chibi("dick_out", xpos="left", ypos="base") hide screen blkfade with d3 nar "But then the void went away{nw}" - $ renpy.sound.play("sounds/killswitch_on.ogg") + play sound "sounds/killswitch_on.ogg" $ boxing_ring_lights = True - play bg_sounds "sounds/crowd.ogg" fadein 10 + play background "sounds/crowd.ogg" fadein 10 nar "But then the void went away{fast} as a flash of light appeared!" nar "And with that, there was music and an audience who loudly cheered!" - $ renpy.sound.play("sounds/crowd_cheer.ogg") - play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 fadeout 1 + play sound "sounds/crowd_cheer.ogg" + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 fadeout 1 if_changed nar "As genie's vision came back into focus, he saw where he was stood." call gen_chibi("dick_out_shocked") @@ -165,7 +165,7 @@ label a_white_christmas: nar "Genie said as his opponent entered the ring..." her "" ("smile", "narrow", "base", "L", xpos="right", ypos="base", trans=d3) - nar "With a smirk spread across their face...{w=0.4} Her eyes fixed on Genie's thing." + nar "With a smirk spread across her face...{w=0.4} Her eyes fixed on Genie's thing." nar "Her coach then appeared and jumped over the rope." @@ -175,14 +175,14 @@ label a_white_christmas: ton "I want a clean match... No trickery!" ("open", "base", "annoyed", "L", xpos="base", ypos="base", trans=d3) ton "Don't you dare to even grope!" ("soft", "narrow", "annoyed", "L") - $ renpy.sound.play("sounds/crowd_stomping.ogg") + play sound "sounds/crowd_stomping.ogg" nar "The audience was ecstatic, stomping loudly on the floor." nar "Until the opponents' coach raised their hand, and the stomping was no more." nar "Genie held his breath until there was a shout." - ton "Now lets do this thing...{w=0.4} {size=+2}Let's start...{/size} {w=0.4}{size=+3}this...{/size} {w=0.4}{size=+4}silly...{/size} {w=0.4}{size=+5}bout!{/size}" ("mad", "base", "annoyed", "L") + ton "Now let's do this thing...{w=0.4} {size=+2}Let's start...{/size} {w=0.4}{size=+3}this...{/size} {w=0.4}{size=+4}silly...{/size} {w=0.4}{size=+5}bout!{/size}" ("mad", "base", "annoyed", "L") - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" gen "That's not fair at all, I can't fight her like this!" (face="open", base="hard", trans=d3) gen "" (face="angry", base="hard", trans=d3) @@ -190,41 +190,40 @@ label a_white_christmas: ton "Oh, you've got this all wrong, my dear..." ("base", "narrow", "base", "L") ton "Hermione... Get out those tits!" ("horny", "base", "base", "L") - her "" ("base", "narrow", "base", "L", cheeks="blush") + her @ cheeks blush "" ("base", "narrow", "base", "L") pause .8 $ hermione.strip("robe") - $ renpy.sound.play("sounds/crowd_cheer.ogg") + play sound "sounds/crowd_cheer.ogg" gen "What kind of fight is this?" (face="base", base="hard", trans=d3) nar "Genie said, his cock twitching from the sight." gen "This is a wrestling ring, is it not? Are we not supposed to fight?" (face="angry", base="hard", trans=d3) ton "" ("base", "narrow", "base", "L") - her "Fighting in your condition? Please don't make me laugh..." ("angry", "narrow", "base", "L", cheeks="blush") + her @ cheeks blush "Fighting in your condition? Please don't make me laugh..." ("angry", "narrow", "base", "L") $ hermione.strip("bra") - her "This is a test of will...{w=0.4} Fingers against staff..." ("smile", "narrow", "base", "L", cheeks="blush") + her @ cheeks blush "This is a test of will...{w=0.4} Fingers against staff..." ("smile", "narrow", "base", "L") - $ hermione.strip("all") + $ hermione.strip("clothes") call ctc - $ hermione.set_pose("masturbate") - $ hermione.set_body(armleft="on_pussy") + $ hermione.set_pose("hand_on_pussy") $ hermione.set_cum(pussy="wet") call her_chibi("masturbate_pause") #Finger inserted - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" her "" ("soft", "closed", "worried", "mid", trans=d3) with kissiris with d3 nar "Hermione's panties then dropped and slid down to the floor, as she plunged her fingers inside her pussy, faster than she'd ever done before." - ton "First to cum will win, now get to stroking that dick!" ("grin", "narrow", "base", "L", cheeks="blush") - ton "Keep your eyes on your opponent." ("grin", "base", "base", "L", cheeks="blush") + ton @ cheeks blush "First to cum will win, now get to stroking that dick!" ("grin", "narrow", "base", "L") + ton @ cheeks blush "Keep your eyes on your opponent." ("grin", "base", "base", "L") her "" ("soft", "base", "worried", "L", trans=d3) - ton "Show who's the master of cumming quick!" ("horny", "base", "base", "L", cheeks="blush") + ton @ cheeks blush "Show who's the master of cumming quick!" ("horny", "base", "base", "L") call gen_chibi("dick_out") gen "Then you've picked the wrong opponent." (face="grin", base="hard", trans=d3) @@ -232,11 +231,11 @@ label a_white_christmas: gen "You'll never have me beat." (face="grin", base="hard") gen "I've had hundreds of years of practice, of stroking this precious meat." (face="grin", base="hard", trans=d3) - ton "Then hurry up will you, she's already begun." ("open", "base", "shocked", "L", cheeks="blush") - ton "Start stroking that meat of yours, in five...{w=0.4} four...{w=0.4} three...{w=0.4} two...{w=0.4} one!" ("grin", "narrow", "annoyed", "L", cheeks="blush") + ton @ cheeks blush "Then hurry up will you, she's already begun." ("open", "base", "shocked", "L") + ton @ cheeks blush "Start stroking that meat of yours, in five...{w=0.4} four...{w=0.4} three...{w=0.4} two...{w=0.4} one!" ("grin", "narrow", "annoyed", "L") - play music "music/firebrand-by-kevin-macleod.ogg" fadein 1 - $ renpy.sound.play("sounds/wrestling_bell.ogg") + play music "music/firebrand-by-kevin-macleod.ogg" fadein 1 if_changed + play sound "sounds/wrestling_bell.ogg" call gen_chibi("hold_dick") gen "" (face="grin", base="grab_dick") @@ -248,21 +247,21 @@ label a_white_christmas: with d3 nar "Then began stroking like a mad man, as if he had just finished No Nut November." - $ renpy.sound.play("sounds/crowd_cheer.ogg") - her "" ("crooked_smile", "narrow", "base", "L", cheeks="blush") + play sound "sounds/crowd_cheer.ogg" + her @ cheeks blush "" ("crooked_smile", "narrow", "base", "L") nar "Hermione moaned loudly for the audience and flushed across her face." gen "Real crowd pleaser that one..." (face="angry", base="grab_dick") - her "" ("soft", "narrow", "base", "R", cheeks="blush") + her @ cheeks blush "" ("soft", "narrow", "base", "R") ton "Remember our practice, girl! Keep a steady pace!" ("open", "base", "annoyed", "L") - her "" ("grin", "narrow", "base", "L", cheeks="blush") + her @ cheeks blush "" ("grin", "narrow", "base", "L") gen "You've met your match girl, I have an endless supply!" (face="open", base="grab_dick") ton "" ("grin", "base", "base", "L") gen "There's enough cum in these balls to stop the desert from being dry." (face="grin", base="grab_dick") - her "" ("grin", "narrow", "base", "stare", cheeks="blush") + her @ cheeks blush "" ("grin", "narrow", "base", "stare") nar "Hermione started shaking... As she loved being in the spotlight." - her "" ("open_wide_tongue", "narrow", "base", "up", cheeks="blush") + her @ cheeks blush "" ("open_wide_tongue", "narrow", "base", "up") gen "" (face="open", base="grab_dick") nar "Then she pushed her fingers deep inside her, her pussy gripping oh so tight..." @@ -275,43 +274,43 @@ label a_white_christmas: gen "Fuck you, I'm close to ejaculating!" (face="angry", base="grab_dick") gen "She can't beat me at this! I will cover her like a painting!" (face="angry", base="grab_dick") - her "" ("grin", "narrow", "base", "up", cheeks="blush") - $ renpy.sound.play("sounds/slick_02.ogg") + her @ cheeks blush "" ("grin", "narrow", "base", "up") + play sound "sounds/slick_02.ogg" nar "Hermione shook even more when she pushed deep into her gash..." - ton "" ("horny", "narrow", "base", "down", cheeks="blush") + ton @ cheeks blush "" ("horny", "narrow", "base", "down") nar "Genie loss imminent--" gen "NO!" (face="open", base="grab_dick") nar "As she pulled them out with a--" - $ renpy.sound.play("sounds/slick_01.ogg") + play sound "sounds/slick_01.ogg" #Hermione Squirts - her "" ("open_wide_tongue", "wide", "base", "up", cheeks="blush") + her @ cheeks blush "" ("open_wide_tongue", "wide", "base", "up") $ hermione.set_cum(pussy="squirt") with kissiris pause .8 $ hermione.set_cum(pussy="squirt_post") - her "" ("smile", "happyCl", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("smile", "happyCl", "base", "mid") gen "" (face="angry", base="grab_dick") - ton "" ("grin", "base", "base", "L", cheeks="blush") + ton @ cheeks blush "" ("grin", "base", "base", "L") "{size=+4}*Splash!*{/size}" #Big text stop music fadeout 2 call gen_chibi("hold_dick") call her_chibi("masturbate_pause") - $ hermione.set_body(armleft="down") + $ hermione.set_pose(None) $ hermione.set_cum(None) with d5 - her "I...{w=0.4} I won!" ("grin", "happy", "base", "stare", cheeks="blush") + her @ cheeks blush "I...{w=0.4} I won!" ("grin", "happy", "base", "stare") play sound "sounds/crowd_applause.ogg" $ hermione.wear("accessory") - her "" ("grin", "happy", "base", "L", cheeks="blush") + her @ cheeks blush "" ("grin", "happy", "base", "L") nar "Said the girl, as the crowd erupted with a roar." - her "" ("base", "happy", "base", "R", cheeks="blush") + her @ cheeks blush "" ("base", "happy", "base", "R") nar "The genie finally defeated, like never seen--" - play music "music/firebrand-by-kevin-macleod.ogg" fadein 1 - her "" ("angry", "base", "base", "L", cheeks="blush") - ton "" ("clench", "wide", "base", "L", cheeks="blush") + play music "music/firebrand-by-kevin-macleod.ogg" fadein 1 if_changed + her @ cheeks blush "" ("angry", "base", "base", "L") + ton @ cheeks blush "" ("clench", "wide", "base", "L") call gen_chibi("jerk_off") with hpunch gen "{size=+4}You fucking whore!{/size}" (face="open", base="grab_dick") @@ -327,7 +326,7 @@ label a_white_christmas: nar "As the arena faded away, shifting back to Hogwarts halls." stop music fadeout 2 - stop bg_sounds fadeout 2 + stop background fadeout 2 play weather "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 @@ -360,15 +359,15 @@ label a_white_christmas: show screen blkfade with d5 - $ renpy.sound.play("sounds/card_punch4.ogg") + play sound "sounds/card_punch4.ogg" nar "Genie then learned that day to never fuck with the narration." nar "As he then endured the most terrible of spells..." - $ renpy.sound.play("sounds/magic2.ogg") + play sound "sounds/magic2.ogg" with flash gen "Aaaah!" nar "Ball disintegration." - san4 "Happy Holidays." + gen santa "Happy Holidays." ("grin", xpos="far_left", ypos="head") $ renpy.end_replay() diff --git a/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy b/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy index 579389af..a3919e34 100644 --- a/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy +++ b/game/scripts/minigames/mirror/events/an_odd_circumstance.rpy @@ -1,4 +1,13 @@ # Mirror story: An odd circumstance +image dark_overlay: + "images/rooms/room_of_requirement/dark_overlay_1.webp" with d3 + pause 0.4 + "images/rooms/room_of_requirement/dark_overlay_2.webp" with d3 + pause 0.4 + "images/rooms/room_of_requirement/dark_overlay_3.webp" with d3 + pause 0.4 + repeat + label an_odd_circumstance: stop weather @@ -8,8 +17,8 @@ label an_odd_circumstance: $ game.gold = 420 $ hermione.equip(her_outfit_default) call room("main_room") - call play_music("stop") - show screen add_overlay + stop music fadeout 1 + show image "dark_overlay" zorder 6 as dark_overlay show screen blkfade with d5 @@ -19,16 +28,16 @@ label an_odd_circumstance: show layer screens at sepia with d5 - call play_music("jazz") + play music "music/jazz take 2.ogg" fadein 1 if_changed "It was a normal night..." - "I was sitting in my office as usual, slowly chipping away at some left over paperwork..." + "I was sitting in my office as usual, slowly chipping away at some leftover paperwork..." "Leaning back in my chair, I closed my eyes for a moment, thinking back on recent events." "It has been a weird few days for sure... Not just my appearing in this office, but also the whole situation in general..." "I sat back up and hunched myself over the parchment." - "Well, I guess it could be worse... Weather is... acceptable." + "Well, I guess it could be worse... The weather is... acceptable." "Why do I have to do this stuff again? Surely there should be some kind of secretary around..." - "Suddenly the door opened as if my wishes had come true...{w=0.5} Something about this felt backwards somehow." + "Suddenly, the door opened as if my wishes had come true...{w=0.5} Something about this felt backwards somehow." call her_walk(action="enter") her "Mister D." @@ -43,10 +52,10 @@ label an_odd_circumstance: gen "My phone?" ("base", xpos="far_left", ypos="head") "I said in a puzzled manner..." "I never had a phone in here... in fact, there's not a single electronic device in this office..." - "After a few moments the figure stepped into the light, illuminating a girl's face." + "After a few moments, the figure stepped into the light, illuminating a girl's face." call her_walk("desk") her "..." ("base", "base", "base", "mid", xpos="base", ypos="base", trans=d3) - "Her hazel coloured flowing hair reminded me of a leather bound book, filled to the brim with the secrets of the girl in front of me..." + "Her hazel coloured flowing hair reminded me of a leather-bound book, filled to the brim with the secrets of the girl in front of me..." "I felt myself becoming lost in her mysterious brown eyes, which provoked a sense of great pain and suffering." hide hermione_main with d3 @@ -55,7 +64,8 @@ label an_odd_circumstance: gen "Of course..." ("base", xpos="far_left", ypos="head") "Taken aback by my own automatic response, I thought to myself..." gen "(What am I doing, this girl seems to think I'm someone called... mister D?)" ("base", xpos="far_left", ypos="head") - "Surely that can't be me... unless this is some other secret alias of mine... It appears she may know me though, I better press further..." + "Surely, that can't be me... Unless this is some other secret alias of mine..." + "It appears she may know me, though... I better press further..." her "I knew you were good, but I didn't think you'd manage to do it as discretely as you did..." her "How professional..." her "And such a looker too... I can't believe we've just met..." @@ -69,29 +79,29 @@ label an_odd_circumstance: "She blushed, now with a slightly guilty expression, fidgeting, and clearly out of her comfort zone..." "As I was about to open my mouth and speak, a voice that came from no specific direction chimed in before I even got a word out..." - $ renpy.sound.play("sounds/magic4.ogg") - hide screen add_overlay + play sound "sounds/magic4.ogg" + hide dark_overlay show screen white with d1 - $ hermione_chibi.zorder = desk_zorder - 1 + $ hermione_chibi.zorder = states.desk_chibi_zorder - 1 call her_chibi("stand",210, 450, flip=True) hide screen white - show screen add_overlay + show image "dark_overlay" zorder 6 as dark_overlay with d1 her "Silencio." pause 1 - "A few seconds later I tried to ask where that voice and bright light had come from... But as I did, I could only feel my lips moving with no sound emerging..." + "A few seconds later, I tried to ask where that voice and bright light had come from... But as I did, I could only feel my lips moving with no sound emerging..." call gen_chibi("stand_by_desk", -8, 614, flip=False) with d3 "Taken aback by this, I jumped out of my chair while clutching at my vocal cords..." "I turned around, now feeling slightly worried, looking for the source of the voice." - her "Don't say anything else... you know why I'm here, we had a deal remember?" + her "Don't say anything else... You know why I'm here, we had a deal, remember?" "The girl had moved behind me in a flash!" - "Was this it... did I break a deal of ours?" + "Was this it... Did I break a deal of ours?" "Was this girl here to kill me, is that why she sounded so worried?" - "Feeling rather dizzy I steadied myself on my desk, trying to compose myself..." - "Suddenly I felt a sharp tug and I knew this must be it..." + "Feeling rather dizzy, I steadied myself on my desk, trying to compose myself..." + "Suddenly, I felt a sharp tug and I knew this must be it..." gen "..." ("base", xpos="far_left", ypos="head") "I waited a few moments for the pain to begin..." gen "..." ("base", xpos="far_left", ypos="head") @@ -106,8 +116,8 @@ label an_odd_circumstance: her "I hope this should suffice... I couldn't stand the thought of discussing this any further..." her "I have a reputation to uphold after all..." - "After regaining my focus I looked down and found the girl kneeling in front of me, her hand wrapped around my shaft." - "Even if I were able to respond, I had but a seconds notice before her lips had wrapped themselves around my cock." + "After regaining my focus, I looked down and found the girl kneeling in front of me, her hand wrapped around my shaft." + "Even if I were able to respond, I had but a second's notice before her lips had wrapped themselves around my cock." call her_chibi_scene("bj") with d3 @@ -117,13 +127,13 @@ label an_odd_circumstance: "I felt myself growing harder in her mouth as her lips pressed against my skin..." her "*Slurp!* *Gobble!*" "What was it that I had done for this girl, in exchange for her degrading herself in such a manner?" - "The girl then glanced up into my eyes seeing my confused look..." + "The girl then glanced up into my eyes, seeing my confused look..." "Interpreting this expression as her efforts being unsatisfactory, she then concentrated on the task she had set for herself and pushed her head forwards, taking the whole length down her throat." her "*Gulp!* *Gobble!* *Gobble!*" - "Since I couldn't make a sound I let out a heavy breath of air and closed my eyes for a few seconds..." + "Since I couldn't make a sound, I let out a heavy breath of air and closed my eyes for a few seconds..." show screen blkfade with d3 - "After a few moments I opened my eyes and turned my head down again to observe the scene playing out in front of me." + "After a few moments, I opened my eyes and turned my head down again to observe the scene playing out in front of me." hide screen blkfade with d3 "The girl suddenly pulled her mouth away..." @@ -143,20 +153,20 @@ label an_odd_circumstance: her "*Slurp!* *Gulp!* *Slurp!*" "Her head yet again found itself further and further down my shaft, easily taking in the whole thing this time, as her tongue slowly moved across the bottom." her "*Slurp!* *Slurp!* *Slurp!*" - "For a moment I could feel her forehead pressed against my torso as my cock reached the bottom of her throat... it seemed as if time had stopped..." + "For a moment, I could feel her forehead pressed against my torso as my cock reached the bottom of her throat... it seemed as if time had stopped..." her "..." - "Suddenly she looked up into my eyes as she started to move her tongue, massaging the underside of my cock..." + "Suddenly, she looked up into my eyes as she started to move her tongue, massaging the underside of my cock..." her "*Gobble!* *Gltch!* *Slurp!*" - "My eyes closed and I felt a sudden rush of ecstasy come over me." + "I closed my eyes, and then I felt a sudden rush of ecstasy come over me." "Right after I let out an inaudible groan, my pelvic muscles tightened as I began cumming down her throat." call her_chibi_scene("bj_cum_in") with hpunch "I opened my eyes as hers locked with mine in surprise from the sudden overwhelming amount of semen hitting the back of her throat." - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "*Gulp!*" - call play_sound("gulp") + play sound "sounds/gulp.ogg" her "*Gulp!*" "Her eyes watered, and she looked as if she was about to pass out, but she kept her mouth wrapped around my shaft as she tried to swallow it all, a couple of bubbles now forming around her nose." her "*Aahh!*" @@ -179,7 +189,7 @@ label an_odd_circumstance: hide screen blkfade with d3 her "I guess that's what I get for using the silencing charm." - "Still being unable to say anything I just stood there, my chest moving up and down as my breathing slowed down." + "Still being unable to say anything, I just stood there, my chest moving up and down as my breathing slowed down." "The girl, adjusting herself and still slightly covered in semen, made her way to the door, only turning around once more..." her "I hope that was satisfactory..." her "Let it be known that Hermione never backs down on a deal..." @@ -192,11 +202,11 @@ label an_odd_circumstance: hide screen blkfade with d3 "\"Hermione\" she said..." - "It was the only clue I had gotten on who this mysterious girl was, and I still did not know what kind of favour I had granted her..." + "It was the only clue I had gotten on whom this mysterious girl was, and I still did not know what kind of favour I had granted her..." "But it didn't matter, the favour I had just received in return was more than enough to make up for anything I might have assisted her with..." "Or at least that's what I hoped..." - hide screen add_overlay + hide dark_overlay show screen blkfade with d9 diff --git a/game/scripts/minigames/mirror/events/anal_pirate_event.rpy b/game/scripts/minigames/mirror/events/anal_pirate_event.rpy index 8a52c978..18255b1e 100644 --- a/game/scripts/minigames/mirror/events/anal_pirate_event.rpy +++ b/game/scripts/minigames/mirror/events/anal_pirate_event.rpy @@ -22,7 +22,7 @@ label anal_pirate_event: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -51,13 +51,13 @@ label anal_pirate_event: call blkfade stop music fadeout 1.0 - stop bg_sounds + stop background call her_chibi("stand","desk","base") call gen_chibi("sit_behind_desk") call hide_blkfade - her "Thank you, captain..." ("grin", "base", "base", "mid",xpos="right",ypos="base", cheeks="blush", flip=False) + her @ cheeks blush "Thank you, captain..." ("grin", "base", "base", "mid",xpos="right",ypos="base", flip=False) call her_walk(action="leave") call blkfade @@ -106,47 +106,47 @@ label anal_pirate_event_common_1_2: her "................." ("angry", "happyCl", "worried", "mid",emote="sweat") call blkfade $ desk_OBJ.hidden = True - call play_sound("climb_desk") + play sound "sounds/08_hop_on_desk.ogg" pause 2 gen "*Hmm*..." ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/boing02.ogg') + play sound "sounds/boing02.ogg" her "!!!" ("angry", "wide", "base", "stare", ypos="head", flip=True) - call play_sound("slap") + play sound "sounds/slap_02.ogg" gen "Blistering barnacles!" ("angry", xpos="far_left", ypos="head") - her "Ouch!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + her @ tears soft_blink "Ouch!" ("mad", "happyCl", "worried", "mid") gen "Jus' try t' loosen up a wee, would ye?" ("base", xpos="far_left", ypos="head") - her "I be tryin'!" ("angry", "base", "base", "mid",tears="soft") + her @ tears soft "I be tryin'!" ("angry", "base", "base", "mid") gen "Aye, wha' if I do this...?" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/boing03.ogg') - her "Ouch! Wha' are ye doin', captain?" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + play sound "sounds/boing03.ogg" + her @ tears soft_blink "Ouch! Wha' are ye doin', captain?" ("mad", "happyCl", "worried", "mid") gen "Aye, this won't work either..." ("base", xpos="far_left", ypos="head") gen "*Hmm*..." ("base", xpos="far_left", ypos="head") gen "Har har, I reckon I know wha' we should do." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head") menu: "{size=-3}\"I reckon I'll raise the anchor 'n jus' set sail!\"{/size}": - play music "music/pirate.ogg" fadein 1 fadeout 1 - play bg_sounds "sounds/CreakingShip.ogg" + play music "music/pirate.ogg" fadein 1 fadeout 1 if_changed + play background "sounds/CreakingShip.ogg" her "Just set sail, captain?!" ("angry", "wide", "base", "stare", ypos="head", flip=True) - $ renpy.play('sounds/spit.ogg') + play sound "sounds/spit.ogg" gen "*SPIT!*" ("angry", xpos="far_left", ypos="head") her "What are ye doing you Seadog!" ("scream", "happyCl", "worried", "mid") her "No, cap'n, Belay that! Ye're nah in open waters--" ("open", "base", "base", "mid") gen "No needs, raise the anchor! Heave Ho!" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch - her "ARGH!" ("angry", "base", "base", "mid",tears="soft") - her "Ouch! Ouch! Ouch!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + her @ tears soft "ARGH!" ("angry", "base", "base", "mid") + her @ tears soft_blink "Ouch! Ouch! Ouch!" ("mad", "happyCl", "worried", "mid") gen "Nigh-on in! Me ship has left ye harbour lass!" ("angry", xpos="far_left", ypos="head") her "No, ye're hurtin' me! Ye be hurtin' me!" ("scream", "happyCl", "worried", "mid") gen "Yo-Ho-Ho!" ("angry", xpos="far_left", ypos="head") her "Blisterin' Barnacles! It hurts!" ("scream", "happyCl", "worried", "mid") gen "Shut it, lass! I be approaching ye secret cavern!" ("angry", xpos="far_left", ypos="head") gen "Yer cavern be so tight 'tis completely un-plunderable!" ("angry", xpos="far_left", ypos="head") - her "Then stop, Scallywag!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + her @ tears soft_blink "Then stop, Scallywag!" ("mad", "happyCl", "worried", "mid") gen "Neigh! We needs t' excavate yer cavern a wee!" ("base", xpos="far_left", ypos="head") - her "But I don't wants ye t'!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + her @ tears soft_blink "But I don't wants ye t'!" ("mad", "happyCl", "worried", "mid") gen "Aye? How do ye expect scallywags t' farrg ye up yer arse then?" ("base", xpos="far_left", ypos="head") her "Wha' scallywags?" ("shock", "happyCl", "worried", "mid") gen "Ye know... scallywags." ("angry", xpos="far_left", ypos="head") @@ -155,7 +155,7 @@ label anal_pirate_event_common_1_2: her "Change course captain, I've changed me mind! I don't needs ninety galleon points!" gen "I reckon I be right on course..." ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris her "{size=+5}AAAAAAAAhhhhh!!!{/size}" ("scream", "wide", "base", "stare") @@ -166,26 +166,26 @@ label anal_pirate_event_common_1_2: her "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGH!" ("scream", "wide", "base", "stare") gen "Let us pump this wee cavern full o' seamen then, savvy?" ("angry", xpos="far_left", ypos="head") - her "Aye... , I jus' wants this t' end..." ("scream", "happyCl", "worried", "mid",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "Aye... , I jus' wants this t' end..." ("scream", "happyCl", "worried", "mid") gen "Agh... Ye wants this voyage t' end sooner?" ("angry", xpos="far_left", ypos="head") gen "I smell mutiny, do ye want to walk the plank?" ("angry", xpos="far_left", ypos="head") - her "*sob!* How?" ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "*sob!* How?" ("shock", "base", "base", "R") gen "Ye know..." ("angry", xpos="far_left", ypos="head") - her "Aye..." ("shock", "base", "base", "R",cheeks="blush",tears="soft") - her "I be a wench??" ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "Aye..." ("shock", "base", "base", "R") + her @ cheeks blush tears soft "I be a wench??" ("clench", "base", "worried", "mid") gen "Yes ye be!" ("grin", xpos="far_left", ypos="head") - her "*Sob!* I be a wench..." ("angry", "squint", "base", "mid",cheeks="blush") + her @ cheeks blush "*Sob!* I be a wench..." ("angry", "squint", "base", "mid") her "I love t' suck ye pegleg..." - her "'n now me wee asshole be gettin' ripped t' pieces... *Sob!*" ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "'n now me wee asshole be gettin' ripped t' pieces... *Sob!*" ("angry", "narrow", "base", "dead") gen "Shiver Me Timbers!" ("angry", xpos="far_left", ypos="head") gen "Agrh! Thar She Blows!" ("angry", xpos="far_left", ypos="head") - her "No! Be it gettin' bigger?! I be like a harpoon!" ("open", "wide", "worried", "stare",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "No! Be it gettin' bigger?! I be like a harpoon!" ("open", "wide", "worried", "stare") gen "ARGH!" ("angry", xpos="far_left", ypos="head") "{size=-3}\"Lather me cannon balls first. Lubricate me pegleg!\"{/size}": her "Oh... Alright..." ("open", "base", "base", "mid", ypos="head", flip=True) - play music "music/pirate.ogg" fadein 1 fadeout 1 - play bg_sounds "sounds/CreakingShip.ogg" + play music "music/pirate.ogg" fadein 1 fadeout 1 if_changed + play background "sounds/CreakingShip.ogg" call her_chibi_scene("bj") @@ -209,7 +209,7 @@ label anal_pirate_event_common_1_2: pause.2 - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris her "{size=+5}AAAAAAAAhhhhh!!!{/size}" ("scream", "wide", "base", "stare") @@ -221,21 +221,21 @@ label anal_pirate_event_common_1_2: her "Ye... ye..." ("scream", "wide", "base", "stare") her "Ye ship be to great!" ("shock", "happyCl", "worried", "mid") gen "Let us pump this wee cavern full o' seamen then, savvy?" ("angry", xpos="far_left", ypos="head") - her "....................." ("angry", "squint", "base", "mid",cheeks="blush") + her @ cheeks blush "....................." ("angry", "squint", "base", "mid") call ctc - her "....................." ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "....................." ("shock", "base", "base", "R") gen "Ye be fine thar, wench?" ("base", xpos="far_left", ypos="head") - her "Blisterin' Barnacles... Ye be... turnin' me folds inside out... captain." ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") - her "Me stitches be breaking..." ("angry", "squint", "base", "mid",cheeks="blush") + her @ cheeks blush tears soft "Blisterin' Barnacles... Ye be... turnin' me folds inside out... captain." ("clench", "base", "worried", "mid") + her @ cheeks blush "Me stitches be breaking..." ("angry", "squint", "base", "mid") gen "Aye..." ("base", xpos="far_left", ypos="head") gen "Maybe me cannon needs swabbin'...?" ("base", xpos="far_left", ypos="head") gen "Go below deck, lass. swabb me cannon some more." ("base", xpos="far_left", ypos="head") - her "Wha'? But..." ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") - her "But it be rusty... 'tis been in me bilge." ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "Wha'? But..." ("clench", "base", "worried", "mid") + her @ cheeks blush tears soft "But it be rusty... 'tis been in me bilge." ("shock", "base", "base", "R") gen "Aye, 'tis been abaft, but that's nah nigh ye bilge." ("base", xpos="far_left", ypos="head") gen "Heave ho landlubber or me ship be sinkin', lass. Swab me cannon some more." ("base", xpos="far_left", ypos="head") - her "..........." ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "..........." ("shock", "base", "base", "R") # Sucking call her_chibi_scene("bj") @@ -253,70 +253,70 @@ label anal_pirate_event_common_1_2: with fade call ctc - her "*Ah*..." ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "*Ah*..." ("shock", "base", "base", "R") gen "We be smooth sailing lass?" ("base", xpos="far_left", ypos="head") - her "It still be hurting..." ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "It still be hurting..." ("clench", "base", "worried", "mid") her "But th' storm has passed." gen "I'll adjust th' sails fer now..." ("base", xpos="far_left", ypos="head") - her "*Ah*... I be greatful, captain." ("angry", "squint", "base", "mid",cheeks="blush") + her @ cheeks blush "*Ah*... I be greatful, captain." ("angry", "squint", "base", "mid") gen "Oh... aye... ye secret cavern be great..." ("base", xpos="far_left", ypos="head") - her "..........." ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "..........." ("shock", "base", "base", "R") gen "Oh... Ye cavern be perfect, lass..." ("base", xpos="far_left", ypos="head") - her "................" ("shock", "narrow", "base", "down",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "................" ("shock", "narrow", "base", "down") gen "Why are ye bein' so quiet lass?" ("base", xpos="far_left", ypos="head") - her "'cause 'tis cavern be too shallow for ye ship..." ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "'cause 'tis cavern be too shallow for ye ship..." ("clench", "base", "worried", "mid") her "'n I jus' wants ye t' cum sooner, captain..." gen "So ye stifle yer cries o' pain?" ("base", xpos="far_left", ypos="head") - her "Aye captain. *Sob!*" ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "Aye captain. *Sob!*" ("angry", "narrow", "base", "dead") gen "Nah on me ship lass." ("base", xpos="far_left", ypos="head") gen "Sob, scream 'n cry as much as ye wish!" ("base", xpos="far_left", ypos="head") - her "B-but--" ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "B-but--" ("clench", "base", "worried", "mid") gen "That shall make me cannon ready t' fire in ye broadside." ("base", xpos="far_left", ypos="head") - her "be this true? *Sob!*" ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") - her "*Sob!* Me hull! *Sob!* It be taking in water! *Sob!*" ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears crying "be this true? *Sob!*" ("angry", "narrow", "base", "dead") + her @ cheeks blush tears soft "*Sob!* Me hull! *Sob!* It be taking in water! *Sob!*" ("shock", "base", "base", "R") gen "Aye, ye ship be sinking... ye booty be mine." ("base", xpos="far_left", ypos="head") - her "*SOB!*" ("angry", "squint", "base", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "*SOB!*" ("angry", "squint", "base", "mid") gen "Ye poor wee sprog..." ("base", xpos="far_left", ypos="head") gen "A grand, wicked pirate be plunderin' yer booty!" ("base", xpos="far_left", ypos="head") - her "*SOB!* Yeees! *SOB!*" ("scream", "squint", "base", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "*SOB!* Yeees! *SOB!*" ("scream", "squint", "base", "mid") gen "Take me seamen!" ("angry", xpos="far_left", ypos="head") - her "No, I'm scared! *SOB!*" ("scream", "happyCl", "worried", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "No, I'm scared! *SOB!*" ("scream", "happyCl", "worried", "mid") "{size=-3}\"Let me oil ye up.\"{/size}": - play music "music/pirate.ogg" fadein 1 fadeout 1 + play music "music/pirate.ogg" fadein 1 fadeout 1 if_changed call her_chibi_scene("sex_pause", trans=fade) her "oil, cap'n?!" ("angry", "wide", "base", "stare") gen "Blimey! Just stay still." ("base", xpos="far_left", ypos="head") "*Squeeze!*" her "Ahhh! Shiver me timbers, tis cold!" ("scream", "happyCl", "worried", "mid") - call nar(">Ye thoroughly oil 'er cavern.") + nar "Ye thoroughly oil 'er cavern." gen "Sail ho!" ("base", xpos="far_left", ypos="head") her "Nay, cap'n, wait! Maybe--" ("angry", "base", "worried", "mid") - call nar(">Alas! Ye align thee tip of yer cannon with 'er slimey winky cavern and push fore.") + nar "Alas! Ye align thee tip of yer cannon with 'er slimey winky cavern and push fore." pause.2 - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris - her "ARGH!" ("shock", "base", "base", "mid", tears="soft") - call nar(">Yer ship fully docked in her as thee oil does its job.") + her @ tears soft "ARGH!" ("shock", "base", "base", "mid") + nar "Yer ship fully docked in her as thee oil does its job." gen "Farrg me!" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("sex_slow", trans=d5) - her "Ouch! Ouch! Ouch!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + her @ tears soft_blink "Ouch! Ouch! Ouch!" ("mad", "happyCl", "worried", "mid") her "No, ye're hurtin' me! Ye be hurtin' me!" ("scream", "happyCl", "worried", "mid") gen "*Argh* Farrg, I can nah pull out!" ("angry", xpos="far_left", ypos="head") her "Sink me! It hurts!" ("scream", "happyCl", "worried", "mid") gen "Then stop clenching on me so hard, ye wench!" ("angry", xpos="far_left", ypos="head") gen "Yer cavern be so tight I can nah even move!" ("angry", xpos="far_left", ypos="head") - her "Do somethin'!" ("mad", "happyCl", "worried", "mid",tears="soft_blink") + her @ tears soft_blink "Do somethin'!" ("mad", "happyCl", "worried", "mid") gen "I be tryin', wench!" ("angry", xpos="far_left", ypos="head") - her "Then try harder!" ("scream", "base", "angry", "mid",tears="soft") + her @ tears soft "Then try harder!" ("scream", "base", "angry", "mid") call slap_her - her "..........!" ("scream", "wide", "worried", "mid",tears="soft") + her @ tears soft "..........!" ("scream", "wide", "worried", "mid") gen "Shut th' Davy Jones' locker up, strumpet!" ("angry", xpos="far_left", ypos="head") gen "'tis..." ("angry", xpos="far_left", ypos="head") call slap_her @@ -327,21 +327,21 @@ label anal_pirate_event_common_1_2: gen "'tis... yer... bloody... {fast}fault!" ("angry", xpos="far_left", ypos="head") call slap_her pause 1.0 - call play_sound("plop") + play sound "sounds/plop.ogg" with hpunch call her_chibi_scene("sex_pause", trans=d5) pause 1.0 gen "Oh, 'tis worked." ("base", xpos="far_left", ypos="head") - her "*sob!*" ("mad", "base", "angry", "down",cheeks="blush",tears="soft") - her "... me cavern... me poor cavern... *sob*" ("mad", "base", "angry", "mid",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "*sob!*" ("mad", "base", "angry", "down") + her @ cheeks blush tears soft "... me cavern... me poor cavern... *sob*" ("mad", "base", "angry", "mid") gen "In that case, let's try it again." ("grin", xpos="far_left", ypos="head") - her "No! Avast! Cap'n!" ("open", "wide", "worried", "mid",cheeks="blush",tears="soft") - her "I 'ave changed me mind!" (cheeks="blush",tears="soft") + her @ cheeks blush tears soft "No! Avast! Cap'n!" ("open", "wide", "worried", "mid") + her @ cheeks blush tears soft "I 'ave changed me mind!" gen "'twill be fine this time, trust me..." ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris her "{size=+5}AAAAAAAAhhhhh!!!{/size}" ("scream", "wide", "base", "stare") @@ -351,75 +351,75 @@ label anal_pirate_event_common_1_2: her "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGH!" ("scream", "wide", "base", "stare") gen "I shall pump this wee cavern full o' seamen then, savvy?" ("angry", xpos="far_left", ypos="head") - her "Aye... , I jus' wants this t' end..." ("scream", "happyCl", "worried", "mid",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "Aye... , I jus' wants this t' end..." ("scream", "happyCl", "worried", "mid") gen "Agh... Ye wants 'tis t' end sooner?" ("angry", xpos="far_left", ypos="head") gen "Help me out then!" ("angry", xpos="far_left", ypos="head") - her "*sob!* How?" ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "*sob!* How?" ("shock", "base", "base", "R") gen "Ye know..." ("angry", xpos="far_left", ypos="head") - her "Oh..." ("shock", "base", "base", "R",cheeks="blush",tears="soft") - her "I be a wench??" ("clench", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "Oh..." ("shock", "base", "base", "R") + her @ cheeks blush tears soft "I be a wench??" ("clench", "base", "worried", "mid") gen "Aye ye be!" ("grin", xpos="far_left", ypos="head") - her "*Sob!* I be a wench..." ("angry", "squint", "base", "mid",cheeks="blush") + her @ cheeks blush "*Sob!* I be a wench..." ("angry", "squint", "base", "mid") her "I love t' suck pegleg..." - her "'n now me wee cavern be gettin' ripped apart... *Sob!*" ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "'n now me wee cavern be gettin' ripped apart... *Sob!*" ("angry", "narrow", "base", "dead") gen "Aye! Aye!" ("angry", xpos="far_left", ypos="head") gen "Agrh! AYE!" ("angry", xpos="far_left", ypos="head") - her "No! Be it gettin' bigger?! I be yellow-bellied!" ("open", "wide", "worried", "stare",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "No! Be it gettin' bigger?! I be yellow-bellied!" ("open", "wide", "worried", "stare") gen "ARGH!" ("angry", xpos="far_left", ypos="head") menu: "-Sink her vessel, fill her up-": gen "Argh!" ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/fuse.ogg') + play sound "sounds/fuse.ogg" her "No! AH!" ("scream", "wide", "base", "stare", ypos="head", flip=True) - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" call cum_block gen "{size=+15}ARGH!!!!!!!!!!!!!!!!{/size}" ("angry", xpos="far_left", ypos="head") call her_chibi_scene("sex_cum_in", trans=d5) - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" call cum_block call ctc - her "AH! ME BILGE IS FILLING UP! Sink Me!{heart}{heart}{heart}" ("open", "wide", "worried", "stare",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "AH! ME BILGE IS FILLING UP! Sink Me!{heart}{heart}{heart}" ("open", "wide", "worried", "stare") gen "Aye, ye wench! I be shooting me cannons!" ("angry", xpos="far_left", ypos="head") - her "Me hull is splintering, spare me Captain!" ("angry", "squint", "base", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "Me hull is splintering, spare me Captain!" ("angry", "squint", "base", "mid") gen "Ye're nah sunk yet!" ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" with hpunch - her "No, I be already full! Stop cummin', ye bastard!" ("scream", "wide", "worried", "stare",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "No, I be already full! Stop cummin', ye bastard!" ("scream", "wide", "worried", "stare") gen "Shut th' farrg up, wench! Ye still be afloat!" ("angry", xpos="far_left", ypos="head") - her "No! Me stomach! Me ship will capsize!" ("scream", "squint", "base", "mid",cheeks="blush",tears="messy") - $ renpy.play('sounds/cannon.ogg') + her @ cheeks blush tears messy "No! Me stomach! Me ship will capsize!" ("scream", "squint", "base", "mid") + play sound "sounds/cannon.ogg" with hpunch gen "ARGH!" ("angry", xpos="far_left", ypos="head") - her "No! I reckon me bilge be flooded... I must get t' me pumps." ("open", "wide", "worried", "stare",cheeks="blush",tears="messy") - $ renpy.play('sounds/cannon.ogg') + her @ cheeks blush tears messy "No! I reckon me bilge be flooded... I must get t' me pumps." ("open", "wide", "worried", "stare") + play sound "sounds/cannon.ogg" with hpunch play sound "sounds/burp.ogg" - her "{size=+7}*BURP!*!!!!!{/size}" ("full", "wide", "worried", "stare",tears="messy") - her "......................." ("full", "base", "base", "mid",tears="messy") + her @ tears messy "{size=+7}*BURP!*!!!!!{/size}" ("full", "wide", "worried", "stare") + her @ tears messy "......................." ("full", "base", "base", "mid") her "............." - $ renpy.play('sounds/gulp.ogg') + play sound "sounds/gulp.ogg" her "{size=+7}*GULP!*{/size}" ("cum", "happyCl", "worried", "mid") - her "*SOB!* I HATE YOU..." ("angry", "squint", "base", "mid",cheeks="blush",tears="messy") - her "{size=+5}I HATE YE'N AND YER RUSTY OLE CANNON!{/size}" ("scream", "base", "angry", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "*SOB!* I HATE YOU..." ("angry", "squint", "base", "mid") + her @ cheeks blush tears messy "{size=+5}I HATE YE'N AND YER RUSTY OLE CANNON!{/size}" ("scream", "base", "angry", "mid") her "{size=+5}I HATE YE'N! YE HEAR ME?!{/size}" gen "Agh... Dead men tell no tales, wench!" ("angry", xpos="far_left", ypos="head") - her "*sob!* *Sob!*..." ("angry", "squint", "base", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "*sob!* *Sob!*..." ("angry", "squint", "base", "mid") # After cum inside call her_chibi_scene("sex_cum_in_done", trans=d5) - her "*Sob!*..." ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "*Sob!*..." ("angry", "narrow", "base", "dead") gen "Whew!... I reckon me gunpowder needs restocking in the next harbour.' it be." ("base", xpos="far_left", ypos="head") gen "Ye afloat lass?" ("base", xpos="far_left", ypos="head") - her "Aye... *Sob!*" ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "Aye... *Sob!*" ("angry", "narrow", "base", "dead") gen "Is that sea water in ye eyes?" ("base", xpos="far_left", ypos="head") - her "Me bilge is flooded, but me pumps be workin, captain..." ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "Me bilge is flooded, but me pumps be workin, captain..." ("angry", "narrow", "base", "dead") gen "Aye, ye took me cannonfire broadside, Ye be a well built vessel..." ("base", xpos="far_left", ypos="head") - her "Thank ye captain..." ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "Thank ye captain..." ("angry", "narrow", "base", "dead") hide screen bld1 with d3 call ctc @@ -429,30 +429,30 @@ label anal_pirate_event_common_1_2: $ hermione.zorder = 15 # Reset zorder - her "I apologise for saying that I hate you, captain..." ("base", "base", "base", "R",cheeks="blush",tears="mascara", ypos="head", flip=True) - her "And your cannon is not rusty..." (cheeks="blush",tears="mascara") - her "I don't know what's gotten into me..." ("grin", "narrow", "worried", "mid_soft",cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "I apologise for saying that I hate you, captain..." ("base", "base", "base", "R", ypos="head", flip=True) + her @ cheeks blush tears mascara "And your cannon is not rusty..." + her @ cheeks blush tears mascara "I don't know what's gotten into me..." ("grin", "narrow", "worried", "mid_soft") gen "My cannonfire!" ("grin", xpos="far_left", ypos="head") - her "I suppose it's when you call me a \"wench\". I know that it's just roleplay..." ("grin", "narrow", "worried", "mid_soft",cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "I suppose it's when you call me a \"wench\". I know that it's just roleplay..." ("grin", "narrow", "worried", "mid_soft") gen "Aye, sure..." ("base", xpos="far_left", ypos="head") gen "Does it still hurt?" ("base", xpos="far_left", ypos="head") - her "A little..." ("open", "narrow", "worried", "mid_soft",cheeks="blush",tears="mascara") - her "I also feel full and warm inside..." ("grin", "closed", "base", "mid",cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "A little..." ("open", "narrow", "worried", "mid_soft") + her @ cheeks blush tears mascara "I also feel full and warm inside..." ("grin", "closed", "base", "mid") gen "You plan to keep it in? My cum I mean." ("base", xpos="far_left", ypos="head") - her "Aye.." ("grin", "narrow", "base", "mid_soft",cheeks="blush",tears="mascara") - her "I hope I won't spring a leak during my classes..." (cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "Aye.." ("grin", "narrow", "base", "mid_soft") + her @ cheeks blush tears mascara "I hope I won't spring a leak during my classes..." gen "Well, good luck on your voyage." ("base", xpos="far_left", ypos="head") - her "Can I get paid now please?" ("grin", "closed", "base", "mid",cheeks="blush",tears="mascara") + her @ cheeks blush tears mascara "Can I get paid now please?" ("grin", "closed", "base", "mid") "-Spread yer cannon fire o'er er hull-{#LINT_IGNORE}": - $ renpy.play('sounds/fuse.ogg') + play sound "sounds/fuse.ogg" gen "*argh*" ("angry", xpos="far_left", ypos="head") gen "{size=+6}Fire!{/size}" ("angry", xpos="far_left", ypos="head") hide screen bld1 with d3 call cum_block - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" with hpunch call her_chibi_scene("sex_cum_out", trans=d5) @@ -465,7 +465,7 @@ label anal_pirate_event_common_1_2: her "*Ah*... No, me hull!" ("silly", "narrow", "annoyed", "up") hide screen bld1 with d3 - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" call cum_block with hpunch call ctc @@ -474,14 +474,14 @@ label anal_pirate_event_common_1_2: pause.8 gen "Well, I'm done... You can get off my ship now." ("base", xpos="far_left", ypos="head") - her "Yes, captain..." ("silly", "base", "worried", "mid", cheeks="blush",tears="soft", ypos="head", flip=True) + her @ cheeks blush tears soft "Yes, captain..." ("silly", "base", "worried", "mid", ypos="head", flip=True) gen "You feeling alright?" ("base", xpos="far_left", ypos="head") - her "Yes, captain. It still hurts a little, but..." ("shock", "base", "base", "R",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "Yes, captain. It still hurts a little, but..." ("shock", "base", "base", "R") gen "But what?" ("base", xpos="far_left", ypos="head") - her "But in a good way... captain." ("silly", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "But in a good way... captain." ("silly", "base", "worried", "mid") gen "In a good way, *huh*?" ("base", xpos="far_left", ypos="head") gen "Heh... You naughty, little pirate." ("grin", xpos="far_left", ypos="head") - her "Can I my get my share of the booty now, captain?" ("silly", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "Can I my get my share of the booty now, captain?" ("silly", "base", "worried", "mid") return @@ -499,7 +499,7 @@ label anal_pirate_event_3: her "........" ("annoyed", "base", "worried", "R", ypos="head", flip=True) gen "*Hmm*..." ("base", xpos="far_left", ypos="head") her "..........." ("open", "base", "base", "mid") - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with hpunch with kissiris her "Ooooohhhhhhhhhhhh....{heart}" ("scream", "wide", "base", "stare") @@ -513,8 +513,8 @@ label anal_pirate_event_3: her "'n , jus' call me \"wench\", captain." ("base", "squint", "base", "mid") gen "*Agh*! Ye wench! Ye always get me wit' yer words!" ("angry", xpos="far_left", ypos="head") - play music "music/pirate.ogg" fadein 1 fadeout 1 - play bg_sounds "sounds/CreakingShip.ogg" + play music "music/pirate.ogg" fadein 1 fadeout 1 if_changed + play background "sounds/CreakingShip.ogg" her "*Ah*... *Ah*..." ("open", "closed", "base", "mid") her "*Ah*..." her "captain?" ("base", "narrow", "base", "mid_soft") @@ -555,32 +555,32 @@ label anal_pirate_event_3: gen "*Ehm*, I mean, lass." ("base", xpos="far_left", ypos="head") her "No, \"wench\" be good. you be calling me that more, captain." ("silly", "narrow", "annoyed", "up") gen "Thar, ye see? Ye be a great catch, I be tellin' ye, wench." ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart} Thank you, captain." ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "*Ah*...{heart} Thank you, captain." ("angry", "narrow", "base", "dead") gen "*huh*?" ("base", xpos="far_left", ypos="head") gen "Ye helm be leakin." ("base", xpos="far_left", ypos="head") "{size=-3}\"A pirate not plunderin t' be wit' ye be o' th' picture\"{/size}": - her "I be thinkin that..." ("shock", "narrow", "base", "down",cheeks="blush",tears="crying", ypos="head", flip=True) + her @ cheeks blush tears crying "I be thinkin that..." ("shock", "narrow", "base", "down", ypos="head", flip=True) gen "Oh... I jus' love that wee cavern o' yers!" ("base", xpos="far_left", ypos="head") - her "....................." ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "....................." ("angry", "narrow", "base", "dead") her "Aye... Aft all th' thin's I had t' do fer me crew..." - her "... nah one we pirate would leave th' sea fer me..." ("angry", "squint", "base", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "... nah one we pirate would leave th' sea fer me..." ("angry", "squint", "base", "mid") gen "Oh, they be leavin th's sea fer ye alright!" ("base", xpos="far_left", ypos="head") - her "Wha'? But ye said..." ("open", "wide", "worried", "stare",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "Wha'? But ye said..." ("open", "wide", "worried", "stare") gen "T' plunder yer cave, lass. But they'd go back t' sea." ("base", xpos="far_left", ypos="head") gen "But as a cannon swabber ye be a great catch!" ("base", xpos="far_left", ypos="head") - her "Aye?" ("open", "wide", "worried", "stare",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "Aye?" ("open", "wide", "worried", "stare") gen "Ye pullin' me pegleg?!" ("base", xpos="far_left", ypos="head") gen "Young, hot 'n slutty. Ye could 'ave any scallywag ye wants!" ("base", xpos="far_left", ypos="head") gen "Or a landlubber or whatever ye be after..." ("base", xpos="far_left", ypos="head") - her "I reckon ye may be right, captain." ("base", "narrow", "worried", "mid_soft",cheeks="blush",tears="soft") + her @ cheeks blush tears soft "I reckon ye may be right, captain." ("base", "narrow", "worried", "mid_soft") gen "I always be right, wench." ("base", xpos="far_left", ypos="head") gen "Now wiggle that wee arse o' yers a wee." ("base", xpos="far_left", ypos="head") - her "Like this?" ("silly", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "Like this?" ("silly", "base", "worried", "mid") gen "Aye, that be a good wench." ("base", xpos="far_left", ypos="head") her "I be a wench, aren't I?" ("silly", "narrow", "base", "dead") gen "Ye jus' sold me yer asshole fer ninety galleon points. What ye be calling that?" ("base", xpos="far_left", ypos="head") - her "Yes, yes...{heart} I be nothing but a wench...{heart}" ("silly", "base", "worried", "mid", cheeks="blush",tears="soft") + her @ cheeks blush tears soft "Yes, yes...{heart} I be nothing but a wench...{heart}" ("silly", "base", "worried", "mid") gen "Ye helm be leakin." ("base", xpos="far_left", ypos="head") her "Not only me helm, captain...{heart}{heart}{heart}" ("silly", "narrow", "base", "dead") @@ -594,14 +594,14 @@ label anal_pirate_event_3: her "{size=+7}*Ah-ah-aha*!!! I'm cumming!!!{/size}" ("scream", "wide", "base", "stare") gen "{size=+7}Argh!{/size}" ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/fuse.ogg') + play sound "sounds/fuse.ogg" gen "!!!" ("angry", xpos="far_left", ypos="head") menu: "-Sink 'er vessel, fill her up-": call her_chibi_scene("sex_cum_in", trans=d5) - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" call cum_block with hpunch call ctc @@ -610,23 +610,23 @@ label anal_pirate_event_3: gen "Shiver me timbers! Argh!" ("base", xpos="far_left", ypos="head") her "*Ah*!{heart} 'tis fillin' me up!{heart} me bilge is takin in water!{heart}" ("silly", "narrow", "annoyed", "up") gen "'tis nah water, wench!" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" call cum_block with hpunch - her "Ah! I BE A WENCH!!!!{heart}{heart}{heart}" ("scream", "happyCl", "worried", "mid",cheeks="blush",tears="crying") - $ renpy.play('sounds/cannon.ogg') + her @ cheeks blush tears crying "Ah! I BE A WENCH!!!!{heart}{heart}{heart}" ("scream", "happyCl", "worried", "mid") + play sound "sounds/cannon.ogg" with hpunch gen "*Agh*!" ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart} yer seamen, captain...{heart}" ("open", "wide", "worried", "stare",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "*Ah*...{heart} yer seamen, captain...{heart}" ("open", "wide", "worried", "stare") gen "Aye, my seamen..." ("base", xpos="far_left", ypos="head") - her "*Ah*...{heart}" ("angry", "squint", "base", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "*Ah*...{heart}" ("angry", "squint", "base", "mid") gen "......" ("base", xpos="far_left", ypos="head") "-Spread yer cannon fire o'er er hull-{#LINT_IGNORE}": hide screen bld1 with d3 - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" call her_chibi_scene("sex_cum_out", trans=d5) @@ -636,15 +636,15 @@ label anal_pirate_event_3: her "*Ah-aha*! Ye're cummin'! {heart}{heart}{heart}" ("silly", "narrow", "base", "dead", ypos="head", flip=True) gen "{size=+7}Aye I do, wench{/size}" ("angry", xpos="far_left", ypos="head") - her "Blisterin' Barnacles, me too! Me too!" ("scream", "happyCl", "worried", "mid",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "Blisterin' Barnacles, me too! Me too!" ("scream", "happyCl", "worried", "mid") gen "{size=+7}FARRRGIN' WENCH!{/size}" ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" call cum_block with hpunch - her "*Ah*...{heart} yer cum...{heart}" ("angry", "narrow", "base", "dead",cheeks="blush",tears="crying") + her @ cheeks blush tears crying "*Ah*...{heart} yer cum...{heart}" ("angry", "narrow", "base", "dead") her "Ye covered me whole deck{heart}{heart}{heart}" gen "Aye!!! All o'er yer hull!" ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/cannon.ogg') + play sound "sounds/cannon.ogg" with hpunch her "Shiver me timbers... 'tis so hot!" ("silly", "narrow", "annoyed", "up") @@ -656,11 +656,11 @@ label anal_pirate_event_3: call her_chibi_scene("sex_pause", trans=fade) gen "Well, tis been intense..." ("base", xpos="far_left", ypos="head") - her "*Ah-ha*...{heart} *Ah*...{heart}" ("grin", "narrow", "base", "dead",cheeks="blush",tears="messy", ypos="head", flip=True) + her @ cheeks blush tears messy "*Ah-ha*...{heart} *Ah*...{heart}" ("grin", "narrow", "base", "dead", ypos="head", flip=True) gen "Ye be fine lass?" ("base", xpos="far_left", ypos="head") - her "I reckon so... I be nah sure..." ("grin", "narrow", "base", "dead",cheeks="blush",tears="messy") - her "I reckon I may still be leakin', captain." ("grin", "narrow", "base", "dead",cheeks="blush",tears="messy") - her "Or maybe nah..." ("grin", "narrow", "base", "dead",cheeks="blush",tears="messy") + her @ cheeks blush tears messy "I reckon so... I be nah sure..." ("grin", "narrow", "base", "dead") + her @ cheeks blush tears messy "I reckon I may still be leakin', captain." ("grin", "narrow", "base", "dead") + her @ cheeks blush tears messy "Or maybe nah..." ("grin", "narrow", "base", "dead") her "Everythin' be in a daze... 'n me legs feel so weak..." her "Can I jus' get paid now, captain?" diff --git a/game/scripts/minigames/mirror/events/biggus_dickus.rpy b/game/scripts/minigames/mirror/events/biggus_dickus.rpy index 7c879c4e..70103374 100644 --- a/game/scripts/minigames/mirror/events/biggus_dickus.rpy +++ b/game/scripts/minigames/mirror/events/biggus_dickus.rpy @@ -7,7 +7,7 @@ label biggus_dickus: $ game.weather = "clear" stop weather call room("main_room") - call play_music("night") + play music "music/Music for Manatees.ogg" fadein 1 if_changed show screen blkfade with d5 @@ -26,7 +26,7 @@ label biggus_dickus: her "Professor?" ("clench", "narrow", "base", "mid") her "Are you even listening?" ("angry", "base", "base", "mid") - $ renpy.play('sounds/card.ogg') + play sound "sounds/card.ogg" pause .8 gen "{size=-4}Hold on... How is Maslab's card a thirteen when I'm only a twelve!?{/size}" ("base", xpos="far_left", ypos="head") gen "{size=-4}He's not even in this universe!{/size}" ("base", xpos="far_left", ypos="head") @@ -39,56 +39,56 @@ label biggus_dickus: gen "I suppose I can spare Twenty five points if you flash me." ("base", xpos="far_left", ypos="head") her "That isn't what I meant." ("angry", "narrow", "base", "R") her "I'm not here to do you a favour, I need you to do me one." ("angry", "narrow", "base", "mid") - her "I mean. I would like you to do me one, that is..." ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I mean. I would like you to do me one, that is..." ("angry", "narrow", "base", "mid") gen "Ah...{w=0.4} Some quid pro quo eh?" ("base", xpos="far_left", ypos="head") gen "Very well... Let it never be said that I don't reciprocate a girl going down on me!" ("base", xpos="far_left", ypos="head") her "Professor! I just need you to buy me something!" ("clench", "squint", "base", "mid") - gen "Oh...{w=0.4} Well that's much less exciting." ("base", xpos="far_left", ypos="head") + gen "Oh...{w=0.4} Well, that's much less exciting." ("base", xpos="far_left", ypos="head") gen "Alright, you want some lollipops? Maybe some of that fairy chocolate?" ("base", xpos="far_left", ypos="head") gen "Though I don't know what I've done to annoy you this time." ("base", xpos="far_left", ypos="head") her "No professor...{w=0.4} I'm after something a bit more...{w=0.4} Adult." ("angry", "closed", "base", "down") - gen "Very well...{w=0.4} Butterbeer then? Or Are we being daring enough to try some wine for once?" ("base", xpos="far_left", ypos="head") + gen "Very well...{w=0.4} Butterbeer then? Or are we being daring enough to try some wine for once?" ("base", xpos="far_left", ypos="head") her "No, Professor...{w=0.4} I would like you to buy..." ("open", "squint", "base", "mid") her "Three thestral strap-ons, please." ("soft", "squint", "base", "mid") - gen "Is that all?{w=0.4} A little boring, but whatever you need I suppose." ("base", xpos="far_left", ypos="head") - her "What? I--{w=0.4} Sir, I'm worried you didn't quite hear me." ("clench", "base", "base", "mid", cheeks="blush") - her "I'm asking you to acquire three strap-ons...{w=0.4} Modelled after Thestrals." ("angry", "squint", "base", "mid", cheeks="blush") - her "For me...{w=0.4} Your student." ("angry", "narrow", "base", "mid", cheeks="blush") - gen "I heard you the first time, girl. I may be old but I'm not deaf." ("base", xpos="far_left", ypos="head") + gen "Is that all?{w=0.4} A little boring, but whatever you need, I suppose." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What? I--{w=0.4} Sir, I'm worried you didn't quite hear me." ("clench", "base", "base", "mid") + her @ cheeks blush "I'm asking you to acquire three strap-ons...{w=0.4} Modelled after Thestrals." ("angry", "squint", "base", "mid") + her @ cheeks blush "For me...{w=0.4} Your student." ("angry", "narrow", "base", "mid") + gen "I heard you the first time, girl. I may be old, but I'm not deaf." ("base", xpos="far_left", ypos="head") gen "Do you need them immediately?" ("base", xpos="far_left", ypos="head") - her "I-- yes.... Fastest delivery possible, please." ("angry", "closed", "base", "mid", cheeks="blush") - her "If you don't mind that is..." ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I-- yes.... Fastest delivery possible, please." ("angry", "closed", "base", "mid") + her @ cheeks blush "If you don't mind, that is..." ("open", "squint", "base", "mid") gen "Certainly not, I'll put in the order tonight." ("base", xpos="far_left", ypos="head") gen "Can't very well have one of my students going without her study materials." ("base", xpos="far_left", ypos="head") - her "Thank you sir." ("soft", "squint", "base", "R", cheeks="blush") + her @ cheeks blush "Thank you sir." ("soft", "squint", "base", "R") gen "Don't mention it. They should be here sometime tomorrow." ("base", xpos="far_left", ypos="head") gen "I assume you don't need them for one of your morning classes?" ("base", xpos="far_left", ypos="head") - her "No sir. I certainly won't be using these during my morning classes." ("angry", "narrow", "base", "R", cheeks="blush") - gen "Very good. Is that all then?" ("base", xpos="far_left", ypos="head") - her "I...{w=0.4} I mean...{w=0.4} Could you also buy me some of those cute plush owls?" ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "No sir. I certainly won't be using these during my morning classes." ("angry", "narrow", "base", "R") + gen "Very good. Is that all, then?" ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I...{w=0.4} I mean...{w=0.4} Could you also buy me some of those cute plush owls?" ("base", "narrow", "base", "down") - her "I know I'm asking a lot..." ("angry", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "I know I'm asking a lot..." ("angry", "closed", "base", "mid") gen "Some owl plushies, and three strap-ons." ("base", xpos="far_left", ypos="head") gen "Got it all written down, here." ("base", xpos="far_left", ypos="head") - gen "If that is all Miss Granger, then I suggest you head to your dorms." ("base", xpos="far_left", ypos="head") - her "Yes sir...{w=0.4} Thank you again." ("grin", "squint", "base", "R", cheeks="blush") - her "Good night." ("base", "base", "base", "mid", cheeks="blush") + gen "If that is all, Miss Granger, then I suggest you head to your dorms." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Yes sir...{w=0.4} Thank you again." ("grin", "squint", "base", "R") + her @ cheeks blush "Good night." ("base", "base", "base", "mid") gen "Good night, girl. Pleasant dreams." ("base", xpos="far_left", ypos="head") call her_walk("door") - her "" ("normal", "squint", "base", "R", cheeks="blush", xpos="base", ypos="base", flip=True) + her @ cheeks blush "" ("normal", "squint", "base", "R", xpos="base", ypos="base", flip=True) call ctc gen "Anything else Miss Granger?" ("base", xpos="far_left", ypos="head") - her "Oh... No that's all... Bye then." ("angry", "base", "base", "L", cheeks="blush") + her @ cheeks blush "Oh... No, that's all... Bye then." ("angry", "base", "base", "L") call her_walk(action="leave") gen "Well... Now that THAT's over with.{#LINT_IGNORE}" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/card.ogg') + play sound "sounds/card.ogg" pause .8 gen "What's this now, a sixteen?!" ("angry", xpos="far_left", ypos="head") gen "This game is a scam!" ("base", xpos="far_left", ypos="head") @@ -106,7 +106,7 @@ label biggus_dickus: call her_walk(action="enter", xpos="desk", ypos="base") - her "Good evening Professor." ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=dissolve) + her "Good evening, Professor." ("base", "base", "base", "mid", xpos="mid", ypos="base", flip=False, trans=dissolve) gen "Miss Granger...{w=0.4} I assume you are here for your gifts?" ("base", xpos="far_left", ypos="head") her "Yes Professor." ("grin", "base", "base", "mid") her "I mean, if you've acquired them already." ("open", "squint", "base", "mid") @@ -115,39 +115,39 @@ label biggus_dickus: gen "I feel I need to remind you however that I am still your Headmaster." ("base", xpos="far_left", ypos="head") gen "There are some limits to what I am willing to do for you." ("base", xpos="far_left", ypos="head") gen "I have indeed acquired what you asked for, but against my better judgement." ("base", xpos="far_left", ypos="head") - her "I understand Professor." ("angry", "narrow", "base", "down", cheeks="blush") - her "I would never have asked you to buy them for me if I thought I could get them myself!" ("angry", "squint", "base", "mid", cheeks="blush") - her "I assure you, I won't tell anyone where I got them from!" ("open", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "I understand Professor." ("angry", "narrow", "base", "down") + her @ cheeks blush "I would never have asked you to buy them for me if I thought I could get them myself!" ("angry", "squint", "base", "mid") + her @ cheeks blush "I assure you, I won't tell anyone where I got them from!" ("open", "squint", "base", "mid") gen "Very well." ("base", xpos="far_left", ypos="head") gen "Now that things have been made clear..." ("base", xpos="far_left", ypos="head") gen "Why the hell did you ask me to buy you three fluffy owl plushies!?" ("base", xpos="far_left", ypos="head") - her "The...{w=0.4} Owl plushies, sir?" ("clench", "squint", "base", "mid", cheeks="blush") - her "That's what you have an issue with?" ("disgust", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "The...{w=0.4} Owl plushies, sir?" ("clench", "squint", "base", "mid") + her @ cheeks blush "That's what you have an issue with?" ("disgust", "squint", "base", "mid") gen "Yes, I thought you had gotten past liking such silly things." ("base", xpos="far_left", ypos="head") - her "But...{w=0.4} What about the thestral strap-ons?" ("angry", "squint", "worried", "mid", cheeks="blush") - her "You do remember me asking you for those, right?" ("disgust", "narrow", "worried", "mid", cheeks="blush") + her @ cheeks blush "But...{w=0.4} What about the thestral strap-ons?" ("angry", "squint", "worried", "mid") + her @ cheeks blush "You do remember me asking you for those, right?" ("disgust", "narrow", "worried", "mid") gen "Yes-yes, don't worry...{w=0.4} I got you your huge purple cocks." ("base", xpos="far_left", ypos="head") - her "So...{w=0.4} just to be clear." ("open", "closed", "worried", "mid", cheeks="blush") - her "You're not upset with the strap-ons...{w=0.4} But you are upset about the owls?" ("angry", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "So...{w=0.4} just to be clear." ("open", "closed", "worried", "mid") + her @ cheeks blush "You're not upset with the strap-ons...{w=0.4} But you are upset about the owls?" ("angry", "narrow", "base", "mid") gen "That is the situation...{w=0.4} Well done Miss Granger." ("base", xpos="far_left", ypos="head") - her "{size=+5}WHY!?{/size}" ("angry", "happyCl", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "{size=+5}WHY!?{/size}" ("angry", "happyCl", "annoyed", "mid") gen "Your hormones are obviously going wild." ("base", xpos="far_left", ypos="head") gen "It's no wonder you need some relief from time to time." ("base", xpos="far_left", ypos="head") gen "But the owls!? What kind of girl your age asks for plush owls!?" ("base", xpos="far_left", ypos="head") - her "*Sigh*...{w=0.4} If you'll just hand over the things I asked you to buy, then I'll make things clear." ("angry", "closed", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "*Sigh*...{w=0.4} If you'll just hand over the things I asked you to buy, then I'll make things clear." ("angry", "closed", "annoyed", "mid") gen "I'm still not sure I should be allowing you to have these things..." ("base", xpos="far_left", ypos="head") her "" ("angry", "narrow", "annoyed", "mid") call ctc - gen "But since I know you're a good student however, here you go!{fast}" ("base", xpos="far_left", ypos="head") + gen "But since I know you're a good student, however... Here you go!{fast}" ("base", xpos="far_left", ypos="head") - call nar(">You hand Hermione the items.") + nar "You hand Hermione the items." her "Thank you Professor..." ("grin", "narrow", "base", "mid") her "Now if you'll give me just a moment." ("base", "narrow", "base", "mid") - call play_sound("equip_inventory") + play sound "sounds/cloth_sound.ogg" pause .8 her "There we go! All done!" ("grin", "happyCl", "base", "mid") @@ -155,49 +155,49 @@ label biggus_dickus: hide hermione_main with d3 - call give_reward(_(">Hermione hands over her creation to you."), "interface/icons/plush_owl_strapon.webp") + call give_reward("Hermione hands over her creation to you.", "interface/icons/plush_owl_strapon.webp") her "What do you think?" ("grin", "wink", "base", "mid", xpos="mid", ypos="base", trans=dissolve) gen "What the hell am I looking at!?" ("angry", xpos="far_left", ypos="head") her "Don't you like it?" ("annoyed", "base", "base", "mid") - her "I think he's cute!" ("crooked_smile", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "I think he's cute!" ("crooked_smile", "narrow", "base", "down") gen "You've just Macgyvered together an owl that's as hung as a horse..." ("base", xpos="far_left", ypos="head") gen "And you think it's cute?" ("base", xpos="far_left", ypos="head") her "He, sir!" ("annoyed", "base", "annoyed", "mid") her "And yes, I do think he's cute..." ("base", "narrow", "base", "down") - her "Of course, I'm not really interested in him for his looks." ("base", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "Of course, I'm not really interested in him for his looks." ("base", "narrow", "base", "down") gen "Good, because he looks like an abomination unto the gods." ("base", xpos="far_left", ypos="head") - her "Don't be so mean!" ("angry", "narrow", "worried", "mid", cheeks="blush") - her "I love him!" ("grin", "narrow", "base", "down", cheeks="blush") - her "I think I'm going to name him...{w=0.4} Jeff!" ("grin", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Don't be so mean!" ("angry", "narrow", "worried", "mid") + her @ cheeks blush "I love him!" ("grin", "narrow", "base", "down") + her @ cheeks blush "I think I'm going to name him...{w=0.4} Jeff!" ("grin", "closed", "base", "mid") gen "His name...{w=0.4} Is Jeff?" ("base", xpos="far_left", ypos="head") gen "And what exactly is it this...{w=0.4} \"Jeff\", is going to do?" ("base", xpos="far_left", ypos="head") her "Oh, that's easy!" ("grin", "happyCl", "base", "mid") - her "He's going to fuck me silly of course!" ("crooked_smile", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "He's going to fuck me silly, of course!" ("crooked_smile", "narrow", "base", "mid") gen "Wait...{w=0.4} {size=+5}What?{/size}" ("angry", xpos="far_left", ypos="head") gen "How? It's an inanimate object!" ("angry", xpos="far_left", ypos="head") gen "I mean sure, he's certainly big enough for it..." ("base", xpos="far_left", ypos="head") - her "Oh don't worry about that!" ("grin", "narrow", "base", "mid", cheeks="blush") - her "I'll just use magic of course..." ("smile", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "Oh don't worry about that!" ("grin", "narrow", "base", "mid") + her @ cheeks blush "I'll just use magic of course..." ("smile", "closed", "base", "mid") gen "Right...{w=0.4} Of course..." ("base", xpos="far_left", ypos="head") gen "So it's just glorified masturbation--" ("base", xpos="far_left", ypos="head") - her "I'll use a spell I just learned to bring little Jeffy here to life!" ("crooked_smile", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "I'll use a spell I just learned to bring little Jeffy here to life!" ("crooked_smile", "narrow", "base", "mid") gen "I see...{w=0.4} And what about the other two?" ("base", xpos="far_left", ypos="head") - her "Well, when I found out about this spell in the library the other day...." ("base", "narrow", "base", "R", cheeks="blush") - her "I also came across this thing called \"airtight\"." ("grin", "narrow", "base", "R", cheeks="blush") - her "The girl in the pictures seemed to be enjoying herself!" ("crooked_smile", "narrow", "base", "mid", cheeks="blush") + her @ cheeks blush "Well, when I found out about this spell in the library the other day...." ("base", "narrow", "base", "R") + her @ cheeks blush "I also came across this thing called \"airtight\"." ("grin", "narrow", "base", "R") + her @ cheeks blush "The girl in the pictures seemed to be enjoying herself!" ("crooked_smile", "narrow", "base", "mid") gen "I bet she was...." ("base", xpos="far_left", ypos="head") gen "Wait, they have stuff like that in the library?" ("angry", xpos="far_left", ypos="head") - her "So my plan is to strap these huge purple cocks to my plushies, bring them to life, and then let them have their way with me." ("grin", "narrow", "base", "down", cheeks="blush") #lust filled gaze + her @ cheeks blush "So my plan is to strap these huge purple cocks to my plushies, bring them to life, and then let them have their way with me." ("grin", "narrow", "base", "down") #lust filled gaze gen "You little slut!" ("base", xpos="far_left", ypos="head") gen "Twenty points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "What? But I'm not even selling you a favour." ("angry", "base", "base", "mid", cheeks="blush") - gen "I don't care! For that plan alone you deserve some points." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "What? But I'm not even selling you a favour." ("angry", "base", "base", "mid") + gen "I don't care! For that plan alone, you deserve some points." ("base", xpos="far_left", ypos="head") gen "Especially for saying it out loud!" ("base", xpos="far_left", ypos="head") - her "Oh! Well thank you, sir!" ("grin", "closed", "base", "mid", cheeks="blush") - her "Now... If you don't mind, I'd like to head back to my dorm." ("base", "squint", "base", "R", cheeks="blush") - gen "I bet you do...{w=0.4} Very well, off you go Miss Granger." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "Oh! Well, thank you, sir!" ("grin", "closed", "base", "mid") + her @ cheeks blush "Now... If you don't mind, I'd like to head back to my dorm." ("base", "squint", "base", "R") + gen "I bet you do...{w=0.4} Very well, off you go, Miss Granger." ("base", xpos="far_left", ypos="head") gen "Have fun with...{w=0.4} \"Jeff\"." ("base", xpos="far_left", ypos="head") her "Oh, I will..." ("base", "base", "base", "mid") her "Goodnight, sir!" ("base", "base", "base", "R") @@ -208,25 +208,25 @@ label biggus_dickus: pause 1.0 - call play_sound("door") + play sound "sounds/door.ogg" pause .8 - $ renpy.play('sounds/giggle2.ogg') + play sound "sounds/giggle2.ogg" pause .5 her "Now then Jeff, show me what you're made of..." - $ renpy.play('sounds/sit_on_bed.ogg') + play sound "sounds/sit_on_bed.ogg" pause .8 her "Piertotum Locomotor!" - $ renpy.play('sounds/magic4.ogg') + play sound "sounds/magic4.ogg" pause .8 her "It worked!" her "Now then... Come here and--" - $ renpy.play('sounds/gasp2.ogg') + play sound "sounds/gasp2.ogg" her "Jeffrey!" - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" with kissiris pause .8 - play bg_sounds "sounds/sexloop.ogg" - her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{heart}{heart}{heart}" with vpunch_repeat + play background "sounds/sexloop.ogg" + her "*Ah*...{w=0.4} *Ah*...{w=0.4} *Ah*...{heart}{heart}{heart}" with vpunch pause 1 centered "{size=+7}{color=#cbcbcb}The end{/color}{/size}" diff --git a/game/scripts/minigames/mirror/events/blueballing_bad.rpy b/game/scripts/minigames/mirror/events/blueballing_bad.rpy index 50914c21..720499ed 100644 --- a/game/scripts/minigames/mirror/events/blueballing_bad.rpy +++ b/game/scripts/minigames/mirror/events/blueballing_bad.rpy @@ -8,7 +8,7 @@ label blueballing_bad: $ game.daytime = True $ game.weather = "clear" stop weather - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -29,7 +29,7 @@ label blueballing_bad: her "{size=-4}A little bit perverted?!{/size}" gen "(What's this fuss about?)" ("open", xpos="far_left", ypos="head") ton "{size=-4}Miss Granger, wait!{/size}{w=0.75}{nw}" - $ renpy.sound.play("sounds/door_down.ogg") + play sound "sounds/door_down.ogg" with hpunch call her_chibi("stand", "door", "base") call gen_chibi("sit_behind_desk") @@ -41,16 +41,16 @@ label blueballing_bad: stop music fadeout 0.5 her "{b}I AM NOT CRAZY!{/b}" ("scream", "closed", "angry", "mid", xpos="far_right", ypos="head") - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" gen "What the--" ("open", xpos="far_left", ypos="head") - $ renpy.music.play("music/Under-the-Radar by PhobyAk.ogg") + play music "music/Under-the-Radar by PhobyAk.ogg" if_changed call ton_chibi("stand", "door", "base") with d3 her "I'm not crazy..." ("mad", "base", "annoyed", "mid") - ton "Miss Granger, you--" ("open", "wide", "shocked", "L", hair="neutral", xpos="far_right", ypos="head") + ton @ hair neutral "Miss Granger, you--" ("open", "wide", "shocked", "L", xpos="far_right", ypos="head") her "I {b}know{/b} what I saw. He has to be the one who stole my panties!" ("angry", "base", "annoyed", "mid") her "I knew that house elf was his!" ("mad", "base", "annoyed", "R") gen "The what?{w=0.5}{nw}" ("open", xpos="far_left", ypos="head") @@ -67,13 +67,13 @@ label blueballing_bad: call her_walk(xpos="418", ypos="430", speed=1.5) her "He--{w=0.2} He's covered his tracks... Or he made that {size=-3}idiot{/size} teacher Snape take them!" ("angry", "base", "annoyed", "R_soft") call her_walk(xpos="600", ypos="410", speed=1.5) - ton "Miss Granger, please, you have to--{w=0.5}{nw}" ("open", "base", "annoyed", "stare", hair="annoyed") + ton @ hair upset "Miss Granger, please, you have to--{w=0.5}{nw}" ("open", "base", "annoyed", "stare") her "You think this is something-{w=0.25} You think this is bad?{w=0.25} This, this chicanery?!" ("angry", "wide", "angry", "L_soft", flip=True) call her_walk(xpos="599", ypos="410", speed=1.5) her "He's done worse!" ("shock", "base", "angry", "mid", flip=False) her "He asked me about my day!" ("mad", "base", "angry", "L") - ton "Wha--" ("normal", "shocked", "raised", "L", hair="neutral") + ton @ hair neutral "Wha--" ("normal", "shocked", "raised", "L") her "Are you telling me that you just happened to \"scratch your leg\" every time I spoke about those perverted Slytherin sluts?" ("disgust", "squint", "angry", "mid") gen "I really was--" ("open", xpos="far_left", ypos="head") her "NO!{w=0.25} {b}YOU{/b} were {b}MASTURBATING{/b}! {b}YOU{/b}, THE {b}HEADMASTER!{/b}" ("scream", "base", "angry", "L") @@ -91,48 +91,48 @@ label blueballing_bad: her "{size=-3}You--{/size}{w=1.0} You have to stop him Professor Tonks!{w=0.25} You--" ("mad", "wide", "worried", "R_soft") with hpunch stop music fadeout 0.5 - ton "{b}{size=+3}MISS GRANGER, YOU LOST YOUR SKIRT ON YOUR WAY IN!{/size}{/b}" ("scream", "closed", "angry", "mid", hair="angry") + ton @ hair angry "{b}{size=+3}MISS GRANGER, YOU LOST YOUR SKIRT ON YOUR WAY IN!{/size}{/b}" ("scream", "closed", "angry", "mid") her "" ("open", "wide", "base", "down", xpos="mid", ypos="base") pause her "..." ("open", "wide", "base", "shocked") - ton "..." ("annoyed", "base", "annoyed", "stare", hair="annoyed") + ton @ hair upset "..." ("annoyed", "base", "annoyed", "stare") gen "..." ("base", xpos="far_left", ypos="head") - her "{w=0.5}{size=+5}-!{/size}" ("disgust", "wide", "worried", "R", cheeks="blush") + her @ cheeks blush "{w=0.5}{size=+5}-!{/size}" ("disgust", "wide", "worried", "R") call her_walk(action="run", xpos="door", ypos="base", speed=2.0) call her_chibi("leave") call music_block - ton "..." ("annoyed", "base", "annoyed", "stare", hair="annoyed") - ton "I guess this proves that the greatest prudes are the ones with the biggest stick up their asses." ("soft", "base", "base", "L", hair="neutral") + ton @ hair upset "..." ("annoyed", "base", "annoyed", "stare") + ton @ hair neutral "I guess this proves that the greatest prudes are the ones with the biggest stick up their asses." ("soft", "base", "base", "L") gen "Tonks, what the fuck are you talking about?" ("open", xpos="far_left", ypos="head") - ton "I'm saying this girl should really learn how to loosen up." ("annoyed", "base", "annoyed", "L", hair="neutral") + ton @ hair neutral "I'm saying this girl should really learn how to loosen up." ("annoyed", "base", "annoyed", "L") gen "Why?" ("open", xpos="far_left", ypos="head") - ton "I mean, so what if you stole her panties?" ("annoyed", "base", "annoyed", "L", hair="neutral") + ton @ hair neutral "I mean, so what if you stole her panties?" ("annoyed", "base", "annoyed", "L") gen "..." ("base", xpos="far_left", ypos="head") - ton "Wait, you didn't steal her panties?" ("annoyed", "base", "raised", "L", hair="neutral") + ton @ hair neutral "Wait, you didn't steal her panties?" ("annoyed", "base", "raised", "L") gen "No?! Why would I do that?" ("base", xpos="far_left", ypos="head") - ton "Really? You didn't do anything perverted for a whole month?" ("open", "shocked", "shocked", "mid", hair="neutral") + ton @ hair neutral "Really? You didn't do anything perverted for a whole month?" ("open", "shocked", "shocked", "mid") gen "No! I've just been reading, and sometimes summoning her to my office to talk and tutor her in exchange for house points!" ("open", xpos="far_left", ypos="head") - ton "What about the silly faces?" ("annoyed", "base", "raised", "L", hair="neutral") + ton @ hair neutral "What about the silly faces?" ("annoyed", "base", "raised", "L") gen "I panicked! She was begging for house points and I didn't want to blow my cover!" ("open", xpos="far_left", ypos="head") - ton "My god, you really are an innocent idiot." ("open", "wide", "shocked", "stare", hair="neutral") + ton @ hair neutral "My god, you really are an innocent idiot." ("open", "wide", "shocked", "stare") gen "Hey!" ("open", xpos="far_left", ypos="head") - ton "You know I could erase people memories if you get caught? Right?" ("open", "base", "base", "mid", hair="neutral") + ton @ hair neutral "You know I could erase people's memories if you get caught? Right?" ("open", "base", "base", "mid") gen "...Wait,{w=0.5} you can do that?" ("base", xpos="far_left", ypos="head") - ton "Well, not too often or it might affect their brain, but--" ("open", "base", "raised", "mid", hair="neutral") + ton @ hair neutral "Well, not too often, or it might affect their brain, but--" ("open", "base", "raised", "mid") with hpunch - $ renpy.sound.play("sounds/card_punch1.ogg") + play sound "sounds/card_punch1.ogg" gen "{b}{size=+6}I'VE BEEN BLUEBALLING MYSELF THIS WHOLE TIME, FOR NOTHING?!{/size}{/b}" ("open", xpos="far_left", ypos="head") - ton "Well..." ("soft", "base", "base", "R", hair="neutral") + ton @ hair neutral "Well..." ("soft", "base", "base", "R") with hpunch - $ renpy.sound.play("sounds/card_punch2.ogg") + play sound "sounds/card_punch2.ogg" call gen_chibi("stand") call gen_walk("door", "base", speed=2.0) gen "{b}{size=+4}MISS GRANGER, COME BACK. I'LL PAY YOU ONE THOUSAND POINTS IF YOU LET ME MASTURBATE IN FRONT OF YOU!{/size}{/b}" ("open", xpos="far_left", ypos="head") call gen_chibi("leave") - ton "{b}WAIT NO! What are you doing?!{/b}" ("open", "shocked", "shocked", "R", hair="neutral") + ton @ hair neutral "{b}WAIT NO! What are you doing?!{/b}" ("open", "shocked", "shocked", "R") call ton_chibi("leave") "Genie""{size=-3}{b}Hermione?! {w=0.5}Hermioooooooooooone!!!{/b}{/size}" @@ -142,6 +142,6 @@ label blueballing_bad: label blueballing_bad_rewards: if not her_outfit_bb.unlocked: - call unlock_clothing(text=">New clothing items for Hermione have been unlocked!", item=her_outfit_bb) + call unlock_clothing(text="New clothing items for Hermione have been unlocked!", item=her_outfit_bb) return diff --git a/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy b/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy index e24d0418..b72edd6e 100644 --- a/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy +++ b/game/scripts/minigames/mirror/events/eating_for_pleasure.rpy @@ -1,5 +1,5 @@ label eating_for_pleasure_rewards: - call unlock_clothing(text=">New clothing items for Hermione have been unlocked!", item=her_outfit_pizza) + call unlock_clothing(text="New clothing items for Hermione have been unlocked!", item=her_outfit_pizza) return label eating_for_pleasure: @@ -10,7 +10,7 @@ label eating_for_pleasure: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -20,14 +20,14 @@ label eating_for_pleasure: hide screen blkfade - $ renpy.music.play("music/fluffing-a-duck-by-kevin-macleod.ogg") + play music "music/fluffing-a-duck-by-kevin-macleod.ogg" if_changed gen "*Gah*... this place is so dull..." ("base", xpos="far_left", ypos="head") gen "Not a single gambling den or a whore house..." ("base", xpos="far_left", ypos="head") - gen "And even if I don't need to eat I'd do anything for a pizza right about now..." ("base", xpos="far_left", ypos="head") + gen "And even if I don't need to eat, I'd do anything for a pizza right about now..." ("base", xpos="far_left", ypos="head") hat "Just call a pizza place then..." - $ renpy.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" gen "Did that hat just speak?!" ("angry", xpos="far_left", ypos="head") with vpunch hat "Of course I speak!" hat "Not only that... I know who you are..." @@ -48,7 +48,7 @@ label eating_for_pleasure: hat "Wizards use it as a form of communication and travel." gen "Wait, so like a portal?" ("base", xpos="far_left", ypos="head") gen "I've been able to just travel to any ole fireplace this whole time?!" ("angry", xpos="far_left", ypos="head") - hat "Hogwarts fireplaces are limited to voice communication or we'd have all sorts of dark wizards roaming this place..." + hat "Hogwarts fireplaces are limited to voice communication, or we'd have all sorts of dark wizards roaming this place..." gen "(Sounds like discrimination to me...)" ("base", xpos="far_left", ypos="head") gen "How does it work then?" ("base", xpos="far_left", ypos="head") hat "There should be some powder in one of the drawers, take it and throw some in the fire and say out loud who you want to call." @@ -57,7 +57,7 @@ label eating_for_pleasure: pause 0.5 call gen_chibi("jerk_off_behind_desk") with d5 - $ renpy.sound.play("sounds/drawer_open.ogg") + play sound "sounds/drawer_open.ogg" pause 0.75 call gen_chibi("sit_behind_desk") with d5 @@ -67,7 +67,7 @@ label eating_for_pleasure: gen "Okay, let's do this!" ("base", xpos="far_left", ypos="head") show screen blkfade with d5 - $ renpy.play('sounds/08_hop_on_desk.ogg') + play sound "sounds/08_hop_on_desk.ogg" pause 1.4 call gen_chibi("stand", "desk", "base", flip=True) hide screen blkfade @@ -86,34 +86,34 @@ label eating_for_pleasure: pause 1.0 call gen_chibi("grab_low") pause 0.5 - $ renpy.sound.play("sounds/fire_woosh.ogg") - $ fire_in_fireplace = True + play sound "sounds/fire_woosh.ogg" + $ states.fireplace_started = True show screen gfx_effect(690, 320, img="smoke", zoom=0.5) pause 0.1 $ fireplace_OBJ.foreground = "fireplace_greenfire" with d5 pause 1.0 - $ renpy.sound.play("sounds/cough_male.ogg") + play sound "sounds/cough_male.ogg" gen "*Cough* *Cough*" ("base", xpos="far_left", ypos="head") hat "Say the name!" - $ renpy.play('sounds/sniff.ogg') + play sound "sounds/sniff.ogg" gen "*Ah* Piz-- *Ah-a*" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/sniff.ogg') + play sound "sounds/sniff.ogg" pause 0.5 - $ renpy.play('sounds/sniff.ogg') + play sound "sounds/sniff.ogg" pause 0.5 call gen_chibi("sneeze") with d2 - $ renpy.play('sounds/glass_break.ogg') + play sound "sounds/glass_break.ogg" pause 0.4 call gen_chibi("stand_alt") with d2 "Pizza Hu--*shoo*lut!!!{fast}" with hpunch pause 1.0 hat "Did you say Pizza--?" - $ renpy.sound.play("sounds/microphone_feedback.ogg") - "*static*... Welcome to Pizza slut, may I take your order?" - hat "Well I'll be damned..." + play sound "sounds/microphone_feedback.ogg" + "*Static*... Welcome to Pizza slut, may I take your order?" + hat "Well, I'll be damned..." gen "{size=+8}Yes! Hello, is this thing on?{/size}" ("base", xpos="far_left", ypos="head") "Sir, I can hear you... No need to shout." @@ -155,12 +155,12 @@ label eating_for_pleasure: "Okay then..." gen "{size=+8}Ten minutes or pizza's free?{/size}" ("base", xpos="far_left", ypos="head") "Of course, sir... we've never been late using the floo..." - "hold on a second..." + "Hold on a second..." "It seems like your floo-network fireplace has blocked incoming travel." - gen "{size=+8}What a shame... I guess you'll have to make your way here the old fashioned way.{/size}" ("grin", xpos="far_left", ypos="head") + gen "{size=+8}What a shame... I guess you'll have to make your way here the old-fashioned way.{/size}" ("grin", xpos="far_left", ypos="head") gen "{size=+8}Headmaster's office is on the seventh floor, enjoy the moving staircases!{/size}" ("grin", xpos="far_left", ypos="head") "But sir..." - $ renpy.sound.play("sounds/microphone_feedback.ogg") + play sound "sounds/microphone_feedback.ogg" gen "{size=+16}Clock's ticking...{/size}" ("open", xpos="far_left", ypos="head") with hpunch "Okay then, your delivery will be as soon as... humanly possible..." pause 1.0 @@ -172,9 +172,9 @@ label eating_for_pleasure: call gen_chibi("stand", flip=True) with d3 gen "(A phone would have been so much easier...)" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/spit.ogg") + play sound "sounds/spit.ogg" gen "..." ("base", xpos="far_left", ypos="head") - hat "No just use the..." + hat "No, just use the..." gen "Don't worry, I got this..." ("base", xpos="far_left", ypos="head") call gen_chibi("stand_alt") @@ -183,17 +183,17 @@ label eating_for_pleasure: show screen blkfade with d5 gen "..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" hat "Wait... what are you..." - $ renpy.sound.play("sounds/fuse.ogg") + play sound "sounds/fuse.ogg" gen "Ah...{w=0.4} Must've been at least a hundred years..." ("grin", xpos="far_left", ypos="head") pause 1.0 hide screen blkfade pause 1.0 - $ renpy.sound.play("sounds/fire_woosh.ogg") + play sound "sounds/fire_woosh.ogg" $ fireplace_OBJ.foreground = None with d5 - $ fire_in_fireplace = False + $ states.fireplace_started = False pause 1.0 show screen blkfade @@ -215,7 +215,7 @@ label eating_for_pleasure: hat "Eww!" call gen_chibi("sit_behind_desk") with d5 - $ renpy.play('sounds/MaleGasp.ogg') + play sound "sounds/MaleGasp.ogg" gen "Ah fuck!" ("angry", xpos="far_left", ypos="head") gen "You're still here..." ("base", xpos="far_left", ypos="head") gen "How am I supposed to jerk off in peace... It will never be the same with a pervert hat ogling me!" ("angry", xpos="far_left", ypos="head") @@ -223,7 +223,7 @@ label eating_for_pleasure: gen "Because I wasn't aware of your existence!" ("angry", xpos="far_left", ypos="head") pause 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" pause 1.0 gen "{size=+4}Who's there?{/size}" ("open", xpos="far_left", ypos="head") @@ -241,14 +241,14 @@ label eating_for_pleasure: her "What do you mean... Did we get the wrong toppings?" ("annoyed", "base", "worried", "mid") gen "Toppings?!" ("angry", xpos="far_left", ypos="head") gen "There's only two slices! And they're on your body!" ("angry", xpos="far_left", ypos="head") - her "A-Actually,{w=0.5} sir,{w=0.5} there are three slices..." ("open", "base", "base", "R", cheeks="blush") + her @ cheeks blush "A-Actually,{w=0.5} sir,{w=0.5} there are three slices..." ("open", "base", "base", "R") gen "Don't lie to me, I can clearly see just tw--" ("angry", xpos="far_left", ypos="head") pause 0.5 $ hermione.strip("bottom") - $ renpy.sound.play("sounds/cloth_sound3.ogg") + play sound "sounds/cloth_sound3.ogg" - her "" ("grin", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("grin", "base", "base", "mid") pause 1.0 gen "{cps=3}..............{/cps}" ("open", xpos="far_left", ypos="head") gen "You expect me to eat this?" ("angry", xpos="far_left", ypos="head") @@ -260,7 +260,7 @@ label eating_for_pleasure: gen ".........." ("base", xpos="far_left", ypos="head") gen "Give me the pizza..." ("base", xpos="far_left", ypos="head") her "Of course!" - $ hermione.strip("all") + $ hermione.strip("clothes") pause 1.0 her "Now, what else would you like to--" ("smile", "wink", "base", "mid") gen "Get out..." ("base", xpos="far_left", ypos="head") @@ -270,14 +270,14 @@ label eating_for_pleasure: call her_walk(action="leave") gen "..." ("base", xpos="far_left", ypos="head") gen "These wizard customs... ruining something as holy as pizza..." ("base", xpos="far_left", ypos="head") - gen "Mmm... Come to genie you beautiful temptress..." ("grin", xpos="far_left", ypos="head") + gen "Mmm... Come to Genie, you beautiful temptress..." ("grin", xpos="far_left", ypos="head") show screen blkfade with d5 "{cps=5}.........{/cps}{nw}" pause 1.0 - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/gltch.ogg" "Genie" "Yes.... *Mhmmmmmmm*... Just like that." hat "By Merlins beard, that's disgusting!" "Genie" "Shut up hat! Don't judge me!" diff --git a/game/scripts/minigames/mirror/events/genie_house_elf.rpy b/game/scripts/minigames/mirror/events/genie_house_elf.rpy index 9a9ae327..37fd962b 100644 --- a/game/scripts/minigames/mirror/events/genie_house_elf.rpy +++ b/game/scripts/minigames/mirror/events/genie_house_elf.rpy @@ -7,7 +7,7 @@ label genie_house_elf: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -19,7 +19,7 @@ label genie_house_elf: nar "This story takes place after the introduction of Snape and before meeting Hermione." gen "(How does that door work?)" ("base", xpos="far_left", ypos="head") nar "The genie thought." - gen "(How do the people know I've summoned them? I don't have a secretary... that I know of anyway.)" ("base", xpos="far_left", ypos="head") + gen "(How do the people know I've summoned them? I don't have a secretary... that I know of, anyway.)" ("base", xpos="far_left", ypos="head") gen "Have they been keeping a secretary from me? I should ask Sn..." ("base", xpos="far_left", ypos="head") nar "Snape then opened the door, his pointy nose protruding under his silky hair." @@ -35,14 +35,14 @@ label genie_house_elf: nar "At least he knew things about aliens..." sna "Well, you're the headmaster are you not?" ("snape_06", xpos="base", ypos="base") nar "Snape said as if that meant anything." - nar "A look of confusion spread across the genie's face which only made Snape smirk even more." + nar "A look of confusion spread across the genie's face, which only made Snape smirk even more." nar "He then composed himself after seeing this unusual expression on the headmaster's face." sna "I keep forgetting that you don't know these things." ("snape_01", xpos="base", ypos="base") sna "students learn it on day one." ("snape_01", xpos="base", ypos="base") sna "The headmaster is in control of the school and its inhabitants." ("snape_24", xpos="base", ypos="base") nar "Snape said in a matter of fact sort of way." gen "I know that, we have schools in my world too." ("base", xpos="far_left", ypos="head") - gen "But generally we don't wave wooden sticks around yelling random words." ("base", xpos="far_left", ypos="head") + gen "But generally, we don't wave wooden sticks around yelling random words." ("base", xpos="far_left", ypos="head") nar "Snape flinched, as if the notion of magic consisting of waving a wand and yelling random words was utterly absurd." sna "No. You're literally in control of the school... look." ("snape_08", xpos="base", ypos="base") nar "Snape said, pulling his wand out and waving it." @@ -59,12 +59,12 @@ label genie_house_elf: gen "A house... elf?" ("base", xpos="far_left", ypos="head") gen "Is that like Santa's elves?" ("smile", xpos="far_left", ypos="head") nar "The genie said, now climbing down to sit on his chair." - sna "Sort of, they don't get paid so they do have that in common..." ("snape_05", xpos="base", ypos="base") + sna "Sort of, they don't get paid, so they do have that in common..." ("snape_05", xpos="base", ypos="base") nar "Snape muttered under his breath..." - sna "The houses elves here can send us messages so we can go where we're needed." ("snape_05", xpos="base", ypos="base") + sna "The houses elves here can send us messages, so we can go where we're needed." ("snape_05", xpos="base", ypos="base") sna "He just sits here invisible during the day and cleans and eats at night." ("snape_01", xpos="base", ypos="base") gen "The house elf cleans?" ("base", xpos="far_left", ypos="head") - gen "I thought I had some sort of magic self cleaning desk..." ("base", xpos="far_left", ypos="head") + gen "I thought I had some sort of magic self-cleaning desk..." ("base", xpos="far_left", ypos="head") nar "The genie said sheepishly." hide snape_main hide screen bld1 @@ -73,7 +73,7 @@ label genie_house_elf: helf "I see it all, I clean it all... every... last... bit of it." sna "..." ("snape_08", xpos="base", ypos="base") - nar "After a few moments Snape turned around, started walking towards the door and said." + nar "After a few moments, Snape turned around, started walking towards the door and said." sna "If that is all, I'll be in the dungeons." ("snape_01", xpos="base", ypos="base") sna "I've been working on a new cleaning solution." ("snape_01", xpos="base", ypos="base") sna "It might come in handy sooner than I thought." ("snape_02", xpos="base", ypos="base") @@ -82,7 +82,7 @@ label genie_house_elf: nar "The door shut and silence spread across the room, only interrupted after a few minutes by the house elf." helf "So, should I turn invisible again sir?" - gen "Yes... yes that would be for the best." ("base", xpos="far_left", ypos="head") + gen "Yes... Yes that would be for the best." ("base", xpos="far_left", ypos="head") call blkfade diff --git a/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy b/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy new file mode 100644 index 00000000..efd3b73c --- /dev/null +++ b/game/scripts/minigames/mirror/events/genies_christmas_wish.rpy @@ -0,0 +1,258 @@ +label genies_christmas_wish_rewards: + + if not her_outfit_reindeer.unlocked: + call unlock_clothing(text="New clothing items for Hermione have been unlocked!", item=her_outfit_reindeer) + call unlock_clothing(text="New clothing items for Cho have been unlocked!", item=cho_outfit_reindeer) + call unlock_clothing(text="New clothing items for Luna have been unlocked!", item=lun_outfit_reindeer) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_santa) + + python: + naughty_list_ITEM.owned = 1 + xmas_garland_ITEM.owned = 1 + xmas_window_santa_ITEM.owned = 1 + + call give_reward(text=">You have received a bunch of new room decorations!", gift="interface/icons/santas_naughty_list.webp") + + return + +label genies_christmas_wish: + + # Setup + + #TODO Add decorations + + $ fireplace_OBJ.foreground = "fireplace_fire" + $ window_OBJ.decoration = xmas_window_santa_ITEM + $ chandelier_OBJ.decoration = xmas_garland_ITEM + $ poster_OBJ.decoration = naughty_list_ITEM + $ hermione.equip(her_outfit_reindeer) + $ cho.equip(cho_outfit_reindeer) + $ luna.equip(lun_outfit_reindeer) + $ tonks.equip(ton_outfit_santa) + + stop weather + $ game.daytime = False + $ game.weather = "snow" + call room("main_room") + stop music fadeout 1 + show screen blkfade + with d5 + + centered "{size=+7}{color=#cbcbcb}Genie's Christmas Wish{/color}{/size}" + + hide screen blkfade + with d5 + + play weather "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 + play music "music/Anguish.ogg" fadein 1 if_changed + + nar "It was the season of giving, in the world of sluts and magic." + nar "But the genie was alone." + nar "It sure was sad and tragic." + + nar "Everyone was gone, as they had left for the holidays." + nar "No one left to see him wank, and to receive his cum on their face." + + nar "No one left to drink with, not a single hole to fuck." + nar "Not even a sex doll, no hoovers to provide some suck." + + nar "No teachers, no students, not even an elf." + gen "I wish I had that talent... Where you can suck off oneself." ("base", xpos="far_left", ypos="head") + + nar "Sure, why not! A voice said." + nar "That's easy enough to do! It's Christmas after all, I'll make your wish come true." + + gen "What?! My wish?!" ("angry", xpos="far_left", ypos="head") + gen "No, that's not what I want!" ("angry", xpos="far_left", ypos="head") + nar "Yelled the genie, and the wish spell came to a sudden halt." + + nar "So the voice then asked him if they had understood him wrong." + nar "Is this not what you wished for... To suck your own mighty schlong?" + + gen "Of course not, don't be stupid." ("base", xpos="far_left", ypos="head") + gen "I was merely following the rhyme." ("base", xpos="far_left", ypos="head") + gen "If what I truly wanted came true, this world would be cut in twine." ("base", xpos="far_left", ypos="head") + + gen "Such as all men being gone! And for the women to be by my side!" ("base", xpos="far_left", ypos="head") + nar "Is this what you want?" + gen "No, just let me think..." ("base", xpos="far_left", ypos="head") + nar "I guess I'll wait until you decide..." + + gen "Make all women into sluts!" ("grin", xpos="far_left", ypos="head") + nar "Your wish will now be real!" + gen "No, wait!" ("angry", xpos="far_left", ypos="head") + nar "Not again..." + gen "I didn't consider, how that would make me feel..." ("base", xpos="far_left", ypos="head") + + gen "If they were already slutty... Then what left is there for me to do?" ("base", xpos="far_left", ypos="head") + gen "The journey is just as important, as the act of woo-hoo!" ("base", xpos="far_left", ypos="head") + + nar "Are all genies this indecisive?" + gen "Just give me a moment to think..." ("base", xpos="far_left", ypos="head") + nar "I've got places to be, you know." + gen "Quit stirring up a stink." ("base", xpos="far_left", ypos="head") + + gen "You know what... I yield." ("base", xpos="far_left", ypos="head") + nar "What?" + gen "You heard what I said." ("base", xpos="far_left", ypos="head") + nar "You don't want a wish?" + gen "Knowing me, it would surely end up with me dead." ("base", xpos="far_left", ypos="head") + + nar "But I have to grant you something. Or I have to stay here forever." + gen "Someone immortal to keep me company!" ("base", xpos="far_left", ypos="head") + nar "Now aren't you clever..." + + nar "Is there nothing else that you want?" + gen "I wish for you to pick." ("base", xpos="far_left", ypos="head") + nar "Yeah, yeah, very funny... Don't be such a dick." + + gen "Did I stutter, go on then. Pick the wish for me." ("base", xpos="far_left", ypos="head") + nar "Wait, you're serious?" + gen "As serious as I'll ever be." ("base", xpos="far_left", ypos="head") + + nar "Alright then, let me think..." + gen "Not so easy now, is it?" ("base", xpos="far_left", ypos="head") + gen "Just pick whatever, I don't care. At least I had someone visit." ("base", xpos="far_left", ypos="head") + + nar "I know what you need!" + nar "Just close your eyes for a bit." + gen "I ain't falling for that." ("base", xpos="far_left", ypos="head") + nar "Close your eyes, you little shit." + + gen "You're not my dad." ("base", xpos="far_left", ypos="head") + nar "Genie said, but he still followed the command." + gen "No I'm not!" ("base", xpos="far_left", ypos="head") + + show screen blkfade + with d3 + play sound "sounds/woosh.ogg" + + nar "His eyes now shut, as they had been sprayed by magic sand." + + gen "My eyes!" ("open", xpos="far_left", ypos="head") + nar "He yelled loudly... His vision now impaired." + gen "This better not be permanent!" ("angry", xpos="far_left", ypos="head") + nar "He said, his tone sounding a bit scared." + + + $ luna_chibi.zorder = 1 + $ hermione_chibi.zorder = 2 + $ cho_chibi.zorder = 3 + call lun_chibi("stand", 490, 420) + call her_chibi("stand", 510, 440) + call cho_chibi("stand", 530, 460) + + hide screen blkfade + with d3 + + nar "But his vision then returned, and he was greeted by some new outlines." + nar "Three women in his office, and they were looking mighty fine." + + cho "How did I get here?" ("angry", "wide", "base", "stare", xpos="mid", ypos="base", trans=d5) + nar "Said one." + cho "" ("annoyed", "base", "base", "R") + her "I was just with my mum and dad." ("mad", "base", "base", "stare", xpos=500, ypos="base", trans=d5) + nar "Said the second, sounding confused, and a bit sad." + + her "" ("annoyed", "base", "base", "R") + lun "Now what is this outfit?" ("soft", "base", "base", "down", xpos="base", ypos="base", trans=d5) + nar "Said the third... While checking out the fit." + her "" ("angry", "base", "base", "down") + cho "" ("clench", "base", "base", "down") + lun "" ("soft", "base", "base", "mid") + nar "Then she looked up at genie, who was finding it hard... to admit." + + nar "Should he lie, or be truthful?" + nar "What on earth should he say?" + nar "When the truth sounds so unlike him." + nar "That he felt alone this Christmas day." + + her "" ("annoyed", "base", "base", "mid") + cho "" ("normal", "base", "base", "mid") + gen "I can explain!" ("open", xpos="far_left", ypos="head") + nar "Said the genie, in a stuttering voice." + gen "There was this magic thing... Like a ghost!" ("angry", xpos="far_left", ypos="head") + + gen "I swear I didn't have a choice!" ("angry", xpos="far_left", ypos="head") + + her "" ("disgust", "narrow", "base", "mid") + lun "" ("annoyed", "base", "base", "mid") + cho "" ("angry", "narrow", "angry", "mid") + nar "The expressions on the women changed to angry and displeased." + nar "As they were in the middle of celebrations, the middle of their Christmas feast!" + + her "" ("open", "narrow", "angry", "mid") + lun "" ("open", "base", "worried", "mid") + cho "" ("open", "narrow", "angry", "mid") + nar "They then opened their mouths to give him a piece of their mind." + nar "But then the voice showed their presence, and answered their concerns in kind." + + her "" ("angry", "base", "base", "R") + lun "" ("soft", "base", "base", "L") + cho "" ("clench", "narrow", "base", "L") + nar "You see your headmaster was lonely... it is Christmas after all." + nar "And I felt his heart aching, so I answered his call." + + her "" ("soft", "base", "base", "mid") + lun "" ("soft", "base", "base", "mid") + cho "" ("open", "narrow", "base", "mid") + nar "A wish I then bestowed, so he would not have to feel so grim." + nar "But he could not clear his mind, and had me choose for him." + + nar "As it's the season to celebrate, with the ones you love the most--" + gen "Love is a strong word." ("base", xpos="far_left", ypos="head") + cho "Don't mind him... Now, tell us the wish, ghost." ("smile", "base", "base", "mid") + + nar "I brought you three to him, well, a copy of you all at least." + nar "The other one is still at home, enjoying a Christmas feast." + + nar "The gift I give to you, is not having to choose." + her "" ("open", "base", "base", "stare") + lun "" ("grin", "base", "base", "mid") + nar "Once Christmas is finally over, no memories you will lose." + + nar "The ones you make at home, the ones you make at school." + nar "Both will be intact..." + nar "Now, isn't that cool?" + + cho "A copy of us at home, while we can have sex over here?" ("grin", "narrow", "base", "mid") + her "For how long will it last?" ("grin", "narrow", "base", "mid") + nar "Let's make it the end of the year." + + lun "Are you crying, sir?" ("open", "base", "worried", "mid") + nar "One of them asked, as a tear escaped genie's eye." + gen "A Christmas filled with sex... Now that is enough, to make a grown man cry." ("base", xpos="far_left", ypos="head") + + gen santa "The End!" ("grin", xpos="far_left", ypos="head") + + show screen blkfade + with d4 + + pause .8 + call hide_characters + + hide screen blkfade + + play sound "sounds/door_down.ogg" + with hpunch + + stop music fadeout 1 + + call ton_chibi("stand", 810, 440) + + ton "I've detected some foreign magic--" ("clench", "wide", "base", "mid", xpos="base", ypos="base", trans=d5) + ton @ hair horny "Oh, hello girls! Back already?" ("grin", "wide", "base", "L") + + gen "Wait, you were here the whole time?!" ("angry", xpos="far_left", ypos="head") + + show screen blkfade + with d4 + + nar "The end." + + cho "Why was I even in this story? We don't even celebrate Christmas at my home." ("open", "base", "base", "mid") + gen "*Err*..." ("open", xpos="far_left", ypos="head") + + gen "Happy Holidays!" ("smile", xpos="far_left", ypos="head") + + $ renpy.end_replay() diff --git a/game/scripts/minigames/mirror/events/not_so_great_escape.rpy b/game/scripts/minigames/mirror/events/not_so_great_escape.rpy index cbb78c3c..8e9de292 100644 --- a/game/scripts/minigames/mirror/events/not_so_great_escape.rpy +++ b/game/scripts/minigames/mirror/events/not_so_great_escape.rpy @@ -4,9 +4,9 @@ label not_so_great_escape_rewards: if not ton_outfit_police.unlocked: - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_police) - call unlock_clothing(text=">New clothing items for Cho have been unlocked!", item=cho_outfit_police) - call unlock_clothing(text=">New clothing items for Luna have been unlocked!", item=lun_outfit_police) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_police) + call unlock_clothing(text="New clothing items for Cho have been unlocked!", item=cho_outfit_police) + call unlock_clothing(text="New clothing items for Luna have been unlocked!", item=lun_outfit_police) $ halloween_rug_ITEM.owned = 1 $ halloween_chandelier_ITEM.owned = 1 @@ -31,7 +31,7 @@ label not_so_great_escape: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -66,40 +66,40 @@ label not_so_great_escape: call music_block call bld - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "*Snore*{w=2.0}{nw}" ("base", xpos="far_left", ypos="head") pause 1.0 - $ renpy.sound.play("sounds/snore3.ogg") + play sound "sounds/snore3.ogg" gen "*Sn{cps=8}oooooooreeee*{/cps}{w=2.0}{nw}" ("base", xpos="far_left", ypos="head") pause 1.0 - $ renpy.sound.play("sounds/snore2.ogg") + play sound "sounds/snore2.ogg" gen "......{w=0.5}*Snore*{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") stop music fadeout 6.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*knock-knock-knock*" - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "*Snore*{w=2.0}{nw}" ("base", xpos="far_left", ypos="head") pause 1.0 "Commanding Voice" "This is Ministry of Magic Enforcement Division, please open the door." - $ renpy.sound.play("sounds/knocking_loud.ogg") + play sound "sounds/knocking_loud.ogg" "*knock-knock-knock*" - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" pause .4 stop sound fadeout 6.0 gen "Zzzz... W--{w=0.3} what?" ("base", xpos="far_left", ypos="head") "Commanding Voice" "{size=+4}Police! Open the door this instant!{/size}" - play music "music/Hitman.ogg" fadein 1 fadeout 1 + play music "music/Hitman.ogg" fadein 1 fadeout 1 if_changed gen "(The fuzz!)" ("angry", xpos="far_left", ypos="head") gen "(What do I do?!)" ("angry", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/knocking_loud.ogg") + play sound "sounds/knocking_loud.ogg" "Commanding Voice" "{size=+4}Open the door or we'll have to bring it down!{/size}" call gen_chibi("stand", 210, "base") @@ -120,7 +120,7 @@ label not_so_great_escape: "Commanding Voice" "{size=+4}Take the door down, girls!{/size}" - $ renpy.play("sounds/door_down.ogg") + play sound "sounds/door_down.ogg" with hpunch pause 0.3 @@ -137,13 +137,13 @@ label not_so_great_escape: gen "(The fireplace! No... I'll ruin my robes.)" ("angry", xpos="far_left", ypos="head") - $ renpy.play("sounds/door_down.ogg") + play sound "sounds/door_down.ogg" with hpunch "Commanding Voice" "Come on girls, you can do better than this!" "Another Voice" "This door must have some sort of protective enchantment on it!" "Commanding Voice" "Don't be silly, let me show you how it's done!" - $ renpy.sound.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" gen "..." ("base", xpos="far_left", ypos="head") gen "(I suppose there isn't much choice...)" ("base", xpos="far_left", ypos="head") @@ -158,18 +158,18 @@ label not_so_great_escape: show screen blkfade with d3 - $ renpy.sound.play("sounds/cloth_sound3.ogg") - nar ">You crawl up the chimney's shaft..." + play sound "sounds/cloth_sound3.ogg" + nar "You crawl up the chimney's shaft..." gen "(Shit, I can't see a thing...)" ("base", xpos="far_left", ypos="head") gen "(Hold on, I'm immortal... Why didn't I just jump out the--)" ("angry", xpos="far_left", ypos="head") "Commanding Voice" "One last push, we're almost in!" - $ renpy.play("sounds/door_down.ogg") + play sound "sounds/door_down.ogg" with hpunch - call play_music("stop") + stop music fadeout 1 pause 2 @@ -186,11 +186,11 @@ label not_so_great_escape: call cho_chibi("stand", 830, 460) with d3 - play bg_sounds "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 + play background "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 - $ cho_name = "Officer Cho?" - $ tonks_name = "Officer Tonks?" - $ luna_name = "Officer Luna?" + $ name_cho_genie = "Officer Cho?" + $ name_tonks_genie = "Officer Tonks?" + $ name_luna_genie = "Officer Luna?" call cho_walk("right", 460, speed=1.5) @@ -206,7 +206,7 @@ label not_so_great_escape: call cho_chibi(flip=True) with d3 - cho "Miss! He's gone!" ("angry", "base", "base", "mid", cheeks="blush", flip=True, trans=d3) + cho @ cheeks blush "Miss! He's gone!" ("angry", "base", "base", "mid", flip=True, trans=d3) ton "Yes, I can see that rookie..." ("open", "narrow", "base", "L", xpos=500, ypos="base", trans=d5) call ton_walk("mid", "base") @@ -215,7 +215,7 @@ label not_so_great_escape: lun "Then where is he Miss? Is he invisible?" ("angry", "base", "raised", "mid", xpos="base", ypos="base", trans=d5) - $ renpy.play("sounds/crunch.ogg") + play sound "sounds/crunch.ogg" "*Rustle*" #Sound from fireplace gen "(Oh fuck, my foot almost slipped!)" ("angry", xpos="far_left", ypos="head") @@ -266,7 +266,7 @@ label not_so_great_escape: call cho_walk("desk_close", 460) - stop bg_sounds + stop background show screen blkfade with d3 @@ -280,30 +280,30 @@ label not_so_great_escape: hide screen blkfade with d3 - play bg_sounds "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 + play background "sounds/wind_long_loop.ogg" fadein 2 fadeout 2 cho "Where the hell is he?" ("angry", "base", "base", "mid", trans=d5) lun "Miss... We've been searching for hours... I'm starting to get tired." ("disgust", "narrow", "base", "L", trans=d5) gen "({b}You're{/b} starting to get tired? Huh?)" ("angry", xpos="far_left", ypos="head") cho "Are you sure he's still in here, miss?" ("upset", "base", "base", "mid") ton "Giving up already?" ("open", "narrow", "raised", "mid", trans=d5) - lun "" ("upset", "base", "base", "down", cheeks="blush") - cho "" ("annoyed", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("upset", "base", "base", "down") + cho @ cheeks blush "" ("annoyed", "base", "base", "mid") call ctc ton "Very well then..." ("upset", "closed", "base", "mid") gen "(Finally...)" ("base", xpos="far_left", ypos="head") ton "{w=0.6}{nw}" ("grin", "base", "base", "mid") - $ renpy.play("sounds/punch01.ogg") + play sound "sounds/punch01.ogg" pause .5 - $ renpy.play("sounds/door_down.ogg") + play sound "sounds/door_down.ogg" with hpunch show screen blkfade with d3 - $ renpy.play("sounds/falling_stairs.ogg") + play sound "sounds/falling_stairs.ogg" call ton_chibi(flip=True) call hide_characters @@ -318,14 +318,14 @@ label not_so_great_escape: gen "Bloody hell!" ("angry", xpos="far_left", ypos="head") lun "Wow! Was he in there this entire time?" ("angry", "wide", "base", "mid", trans=d5) - cho "How did you know, miss?" ("mad", "base", "base", "mid", cheeks="blush", trans=d5) + cho @ cheeks blush "How did you know, miss?" ("mad", "base", "base", "mid", trans=d5) ton "Years of experience, girls... You'll get there some day..." ("base", "wink", "base", "mid", xpos=500, ypos="base", flip=True, trans=d5) ton "Now... Time to put this filth where it belongs..." ("mad", "narrow", "annoyed", "mid") gen "No, wait!" ("angry", xpos="far_left", ypos="head") - $ renpy.music.stop(fadeout=4) - stop bg_sounds fadeout 3 - $ renpy.play("sounds/level_failed.ogg") + stop music fadeout 4 + stop background fadeout 3 + play sound "sounds/level_failed.ogg" show screen cartoon_zoom gen "...{w=6.0}{nw}" ("angry", xpos="far_left", ypos="head") show screen blkfade @@ -335,8 +335,8 @@ label not_so_great_escape: call lun_chibi("hide") # pre-sets expressions for later # - lun "" ("soft", "narrow", "base", "mid", cheeks="blush", xpos=400, ypos="base", flip=False) - cho "" ("smile", "base", "base", "mid", cheeks="blush") + lun @ cheeks blush "" ("soft", "narrow", "base", "mid", xpos=400, ypos="base", flip=False) + cho @ cheeks blush "" ("smile", "base", "base", "mid") ton "" ("grin", "base", "base", "mid", xpos=500, ypos="base", flip=False) # Hides decorations @@ -360,43 +360,43 @@ label not_so_great_escape: stop music fadeout 1 $ game.daytime = True - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*knock-knock-knock*" - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "zzz... No... I swear, I had no sexual relations..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/snore2.ogg") + play sound "sounds/snore2.ogg" gen "zzz... With that woman..." ("base", xpos="far_left", ypos="head") "Another Female Voice" "Maybe he isn't in..." "Commanding Voice" "Don't be silly, when does he ever leave the office?" "Another Female Voice" "That's true..." - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*knock-knock-knock*" - $ renpy.sound.play("sounds/snore2.ogg") + play sound "sounds/snore2.ogg" gen "zzz...." ("base", xpos="far_left", ypos="head") "Another Female Voice" "*Hmm*... Perhaps he's sleeping." "Yet Another Female Voice" "Aww... But I really wanted him to see our Halloween costumes..." "Commanding Voice" "Don't worry girls, I know how to deal with this..." - $ renpy.sound.play("sounds/knocking_loud.ogg") + play sound "sounds/knocking_loud.ogg" "*knock-knock-knock*" - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" pause .4 stop sound fadeout 6.0 gen "zzz-- W-- What the..." ("base", xpos="far_left", ypos="head") femv "Hold on, the door's open." - play music "music/Hitman.ogg" fadein 1 fadeout 1 + play music "music/Hitman.ogg" fadein 1 fadeout 1 if_changed gen "(No, this can't be happening AGAIN!)" ("angry", xpos="far_left", ypos="head") - call play_sound("door") + play sound "sounds/door.ogg" $ luna_chibi.zorder = 1 $ tonks_chibi.zorder = 2 $ cho_chibi.zorder = 3 @@ -410,7 +410,7 @@ label not_so_great_escape: pause 0.3 - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" call gen_chibi("stand", 210, "base") with d3 @@ -424,7 +424,7 @@ label not_so_great_escape: ton "Looks like someone's been a naughty boy!" ("grin", "base", "base", "mid") - $ renpy.play('sounds/magic4.ogg') + play sound "sounds/magic4.ogg" call gen_chibi("stand", 370, 295) call teleport(position="genie", effect=False) @@ -435,21 +435,21 @@ label not_so_great_escape: ton "What are you--" ("clench", "base", "base", "up") - $ renpy.sound.play("sounds/boing05.ogg") + play sound "sounds/boing05.ogg" call gen_chibi("hide") with d3 pause 1 - $ renpy.sound.play("sounds/falling.ogg") + play sound "sounds/falling.ogg" pause 2.0 - $ renpy.sound.play("sounds/gasp.ogg") + play sound "sounds/gasp.ogg" lun "" ("disgust", "base", "base", "R") ton "" ("normal", "closed", "base", "R") cho "Did he just jump out the window?!" ("mad", "base", "base", "mid") ton "Appears so..." ("open", "closed", "base", "mid") - cho "Is he okay?" ("angry", "base", "base", "mid", cheeks="blush") + cho @ cheeks blush "Is he okay?" ("angry", "base", "base", "mid") lun "Did he not like our Halloween costumes?" ("annoyed", "base", "worried", "down") cho "" ("disgust", "base", "base", "mid") ton "" ("disgust", "narrow", "base", "L") @@ -460,9 +460,9 @@ label not_so_great_escape: call ton_walk(415, 400, speed=1.2) - call nar(">Tonks leans over the window and sees Genie lying face down in a rose bush.") + nar "Tonks leans over the window and sees Genie lying face down in a rose bush." - g8 "Bloody hell..." + gen "Bloody hell..." ("angry", xpos="far_left", ypos="head") ton "*Sigh*... He'll be fine..." ("soft", "closed", "base", "mid", xpos="mid", ypos="base", trans=d5) call blkfade diff --git a/game/scripts/minigames/mirror/events/panty_raid.rpy b/game/scripts/minigames/mirror/events/panty_raid.rpy index b218af70..070b15db 100644 --- a/game/scripts/minigames/mirror/events/panty_raid.rpy +++ b/game/scripts/minigames/mirror/events/panty_raid.rpy @@ -13,7 +13,7 @@ label panty_raid: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -37,30 +37,30 @@ label panty_raid: call her_chibi("stand","mid","base") call hide_blkfade - her "Hello [genie_name]." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) + her "Hello [name_genie_hermione]." ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) her "" ("base") - gen "Good day [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Good day [name_hermione_genie]." ("base", xpos="far_left", ypos="head") gen "How would you feel about going out and earning thirty-five points for your house today?" ("base", xpos="far_left", ypos="head") - her "I would love to...{w=0.3} as long as it doesn't involve me humiliating myself in front of my peers." ("open", "base", "base", "R", cheeks="blush") - her "" ("normal", cheeks="blush") + her @ cheeks blush "I would love to...{w=0.3} as long as it doesn't involve me humiliating myself in front of my peers." ("open", "base", "base", "R") + her @ cheeks blush "" ("normal") gen "Well then, perhaps today is your lucky day." ("grin", xpos="far_left", ypos="head") - her "Really?" ("open", "base", "base", "mid", cheeks="blush") - her "" ("soft", cheeks="blush") - gen "Yes, in fact you may wish to remain as unseen as possible during your activities today." ("base", xpos="far_left", ypos="head") - her "(That doesn't sound suspicious at all...)" ("disgust", "narrow", "worried", "down", cheeks="blush") - her "" ("normal", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Really?" ("open", "base", "base", "mid") + her @ cheeks blush "" ("soft") + gen "Yes! In fact, you may wish to remain as unseen as possible during your activities today." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "(That doesn't sound suspicious at all...)" ("disgust", "narrow", "worried", "down") + her @ cheeks blush "" ("normal", "base", "base", "mid") gen "I would very much like for you to recover one of the most revered and sacred objects in this academy...{w=0.5} No, in the world!" ("grin", xpos="far_left", ypos="head") - her "Oh! You want me to recover a magical artifact?" ("open", "base", "base", "mid") + her "Oh! You want me to recover a magical artefact?" ("open", "base", "base", "mid") her "" ("normal", "base", "base", "mid") gen "Something like that..." ("base", xpos="far_left", ypos="head") her "" ("normal", "base", "base", "mid") her "I am glad you're finally asking me to properly utilise my abilities as one of Hogwarts' top students." ("open", "closed", "base", "mid") her "{size=-4}I only wish you would have asked this of me sooner...{/size}" ("open", "narrow", "base", "R_soft") - her "You can count on me, [genie_name]! I am happy to perform a task such as this one." ("smile", "base", "base", "mid") + her "You can count on me, [name_genie_hermione]! I am happy to perform a task such as this one." ("smile", "base", "base", "mid") her "" ("base", "base", "base", "mid") - gen "Great! Now all the information I have for this \"artifact\" is an ancient riddle..." ("base", xpos="far_left", ypos="head") + gen "Great! Now all the information I have for this \"artefact\" is an ancient riddle..." ("base", xpos="far_left", ypos="head") gen "Are you ready?" ("base", xpos="far_left", ypos="head") - her "Of course, [genie_name]." ("open", "base", "base", "mid_soft") + her "Of course, [name_genie_hermione]." ("open", "base", "base", "mid_soft") her "" ("base") gen "Good, here we go..." ("base", xpos="far_left", ypos="head") gen "\"I am sought by many,{w=0.2} yet the same number already possess me\"." ("base", xpos="far_left", ypos="head") @@ -70,7 +70,7 @@ label panty_raid: her "no, wait..." ("angry", "wide", "worried", "shocked") her "... the elder wand?" ("base", "base", "base", "mid") her "" ("disgust") - gen "I am not done yet [hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "I am not done yet [name_hermione_genie]..." ("base", xpos="far_left", ypos="head") her "Sorry..." ("soft", "narrow", "worried", "down") her "" ("normal", "base", "base", "mid") gen "\"The only thing man covet more than my form is the secret I hid\"." ("base", xpos="far_left", ypos="head") @@ -86,29 +86,29 @@ label panty_raid: her "..." ("upset", "base", "base", "mid") gen "..." ("base", xpos="far_left", ypos="head") gen "\"No schoolgirl fetish would be complete without me\"." ("base", xpos="far_left", ypos="head") - her "[genie_name]...?!" ("open", "squint", "angry", "mid") + her "[name_genie_hermione]...?!" ("open", "squint", "angry", "mid") gen "\"The answer is on page 74, Spell {i}seitnaP{/i} backwards\"." ("grin", xpos="far_left", ypos="head") her "PROFESSOR!" ("scream", "squint", "angry", "mid") her "" ("angry", "squint", "angry", "mid") gen "Yes?{w=0.5} Did you figure it out?" ("base", xpos="far_left", ypos="head") - her "If you wanted to see my...{w=0.3} *ahem*{w=0.3} {i}undergarments{/i}, you could have just asked..." ("disgust", "squint", "base", "mid", cheeks="blush") - her "{size=-4}You didn't have to make the whole story up to grab my attention...{/size}" ("upset", "narrow", "base", "R_soft", cheeks="blush") + her @ cheeks blush "If you wanted to see my...{w=0.3} *ahem*{w=0.3} {i}undergarments{/i}, you could have just asked..." ("disgust", "squint", "base", "mid") + her @ cheeks blush "{size=-4}You didn't have to make the whole story up to grab my attention...{/size}" ("upset", "narrow", "base", "R_soft") gen "By Merlin's beard! I think you've got it girl...{w=0.5} {size=-4}for the most part at least.{/size}" ("grin", xpos="far_left", ypos="head") - her "[genie_name], my classes start soon, can we just get it over with so I can get my points and leave?" ("open", "closed", "base", "mid", cheeks="blush") + her @ cheeks blush "[name_genie_hermione], my classes start soon, can we just get it over with, so I can get my points and leave?" ("open", "closed", "base", "mid") her "" ("upset", "narrow", "base", "mid_soft") gen "Such eagerness...{w=0.3} but where's the challenge in handing me your own?" ("grin", xpos="far_left", ypos="head") - her "Sorry, you wanted me to hand you a pair?" ("open", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "Sorry, you wanted me to hand you a pair?" ("open", "wide", "base", "mid") gen "Of course, but not yours silly girl..." ("base", xpos="far_left", ypos="head") - her "" ("angry", cheeks="blush") + her @ cheeks blush "" ("angry") gen "This is meant to be a treasure hunt! Go find someone's panties out in the world and then bring them to me." ("grin", xpos="far_left", ypos="head") - her "But, [genie_name]?!" ("shock", "squint", "angry", "mid", cheeks="blush") - her "" ("angry", cheeks="blush") + her @ cheeks blush "But, [name_genie_hermione]?!" ("shock", "squint", "angry", "mid") + her @ cheeks blush "" ("angry") gen "You're a bright young gal, I'm sure you'll think of something... Make haste!" ("base", xpos="far_left", ypos="head") - her "......." ("disgust", cheeks="blush") + her @ cheeks blush "......." ("disgust") pause 1.0 her "" ("soft", "narrow", "worried", "down") gen "What are you standing there for?" ("base", xpos="far_left", ypos="head") - her "Isn't there any other way I coul--" ("soft", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Isn't there any other way I coul--" ("soft", "narrow", "base", "mid_soft") gen "No." ("base", xpos="far_left", ypos="head") her "{size=-4}... fine.{/size}" ("soft", "narrow", "worried", "down") @@ -121,79 +121,78 @@ label panty_raid: centered "{size=+7}{color=#cbcbcb}Three hours later...{/color}{/size}" $ game.daytime = False - call update_interface_color call music_block pause 1.0 call hide_blkfade - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" pause 1.0 gen "Enter!" ("base", xpos="far_left", ypos="head") call her_walk(action="enter", xpos="mid", ypos="base") - her "Good evening, [genie_name]." ("open", "base", "base", "R") + her "Good evening, [name_genie_hermione]." ("open", "base", "base", "R") her "" ("normal", "base", "base", "R") - gen "Hello again, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "" (cheeks="blush") + gen "Hello again, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "" gen "Did you finish your assignment?" ("base", xpos="far_left", ypos="head") - her "about that..." ("soft", "narrow", "base", "R_soft", cheeks="blush") + her @ cheeks blush "about that..." ("soft", "narrow", "base", "R_soft") call her_walk("desk", "base") "She elegantly drops a pair of frilly pink panties on your desk." - her "And for extra credit..." ("soft", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "And for extra credit..." ("soft", "narrow", "worried", "down") hide screen bld1 hide hermione_main with d3 "She adds a matching pink lingerie bra to the spoils on your desk." show screen bld1 with d3 gen "You absolute minx!" ("grin", xpos="far_left", ypos="head") - her "" ("normal", "base", "base", "R", cheeks="blush") - gen "You've outdone yourself [hermione_name], how did you manage this feat?" ("grin", xpos="far_left", ypos="head") - her "I would prefer not to talk about it..." ("disgust", "narrow", "worried", "down", cheeks="blush") - gen "Well you can certainly colour me impressed." ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "" ("normal", "base", "base", "R") + gen "You've outdone yourself [name_hermione_genie], how did you manage this feat?" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "I would prefer not to talk about it..." ("disgust", "narrow", "worried", "down") + gen "Well, you can certainly colour me impressed." ("grin", xpos="far_left", ypos="head") her "Does that mean I've earned some extra house points?" ("open", "base", "base", "R") gen "I think the situation calls for it..." ("base", xpos="far_left", ypos="head") her "" ("smile", "base", "base", "R") gen "Ninety points to Gryffi--{w=0.5}{nw}" ("grin", xpos="far_left", ypos="head") gen "Ninety points to Gryffi--{fast} wait a second..." ("angry", xpos="far_left", ypos="head") her "" ("smile", "base", "base", "mid") - "> You take another look at the panties and notice something unusual." + nar "You take another look at the panties and notice something unusual." her "" ("base", "base", "base", "mid") - "> Both panties and bra have a small piece of paper tied to them." + nar "Both panties and bra have a small piece of paper tied to them." her "" ("normal", "base", "base", "mid") - "> You reach out and grab the closest pair of panties, then study the paper." + nar "You reach out and grab the closest pair of panties, then study the paper." her "" ("normal", "base", "base", "R") "8.99$\n{size=-3}Thank you for shopping with us and hope to see you back soon!{/size}\nMadam Mafkin{#LINT_IGNORE}" - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") - her "Yes, [genie_name]?" ("crooked_smile", "closed", "base", "mid") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") + her "Yes, [name_genie_hermione]?" ("crooked_smile", "closed", "base", "mid") gen "Why is there a price tag on these?" ("base", xpos="far_left", ypos="head") her "...!" ("angry", "wide", "base", "stare") her "Uh.... Well, the person I bough--{w=0.3} *ahem*{w=0.2} {size=+2}BORROWED{/size} these from must have forgotten to take the price tag off." ("open", "happy", "base", "mid") her "" ("normal") - gen "I see...{w=0.3} Well whoever you took them from must be a bit slow to forget something like that, don't you agree?" ("base", xpos="far_left", ypos="head") + gen "I see...{w=0.3} Well, whoever you took them from must be a bit slow to forget something like that, don't you agree?" ("base", xpos="far_left", ypos="head") her "Uhh..." ("normal", "narrow", "worried", "down") gen "I would even dare to call them...{w=0.2} a moron." ("base", xpos="far_left", ypos="head") her "..." ("upset") her "" ("upset", "base", "worried", "R") gen "A bloated...{w=0.2} Scatterbrained,{w=0.2} moron!" ("grin", xpos="far_left", ypos="head") - her "{size=+4}[genie_name]!{/size}" ("open", "squint", "angry", "mid") + her "{size=+4}[name_genie_hermione]!{/size}" ("open", "squint", "angry", "mid") her "" ("normal") - gen "Yes, [hermione_name]?" ("base", xpos="far_left", ypos="head") + gen "Yes, [name_hermione_genie]?" ("base", xpos="far_left", ypos="head") her "Fine..." ("annoyed", "narrow", "annoyed", "mid") her "it was me!" ("angry", "narrow", "worried", "down") her "I couldn't do it, so I bought them at the shop..." ("disgust") gen "So...{w=0.5} You're the bloated, scatterbrained moron then?" ("base", xpos="far_left", ypos="head") her "Sir, this has been embarrassing enough...{w=0.5} Can I just go back to my dormitory please?" ("disgust", "narrow", "base", "mid_soft") - gen "[hermione_name]..." ("base", xpos="far_left", ypos="head") + gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head") menu: "-Cheaters never prosper-": - gen "I must say I am disappointed with your actions, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I am so sorry [genie_name]..." ("disgust", "narrow", "worried", "down") + gen "I must say I am disappointed with your actions, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "I am so sorry [name_genie_hermione]..." ("disgust", "narrow", "worried", "down") her "" ("disgust", "narrow", "base", "mid_soft") gen "Not only did you disobey me, but you also tried to trick me - your headmaster - into thinking these belonged to some colleague of yours." ("base", xpos="far_left", ypos="head") her "it won't happen again..." ("disgust", "narrow", "worried", "down") @@ -204,11 +203,11 @@ label panty_raid: her "Yes sir." "-Yes, they do-": - gen "I must say...{w=0.3} I am impressed with your courage, [hermione_name]." ("base", xpos="far_left", ypos="head") - her "I am sorry [genie_name]. I wo--" ("disgust", "narrow", "worried", "down") + gen "I must say...{w=0.3} I am impressed with your courage, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + her "I am sorry [name_genie_hermione]. I wo--" ("disgust", "narrow", "worried", "down") her "Wait what?" ("shock", "base", "worried", "mid") her "" ("soft", "base", "worried", "mid") - gen "I never imagined you'd possess such \"out of the box\" problem solving!" ("base", xpos="far_left", ypos="head") + gen "I never imagined you'd possess such \"out of the box\" problem-solving!" ("base", xpos="far_left", ypos="head") her "Really?" ("open", "base", "worried", "mid") her "" ("soft", "base", "worried", "mid") gen "You fumbled the landing, but otherwise cheated like a pro!" ("grin", xpos="far_left", ypos="head") @@ -218,13 +217,13 @@ label panty_raid: gen "Now, I won't overburden you with compliments..." ("base", xpos="far_left", ypos="head") her "" ("soft", "base", "worried", "mid") gen "Take your house points and go...{w=0.5} Thirty-five points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "{size=+4}Really?!{/size}{w=0.2} Thank you so much [genie_name]!" ("smile", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "{size=+4}Really?!{/size}{w=0.2} Thank you so much [name_genie_hermione]!" ("smile", "base", "base", "mid") call her_walk("mid", "base") gen "I hope next time you do better though." ("base", xpos="far_left", ypos="head") - her "(Next time...?!)" ("shock", "wide", "worried", "shocked", cheeks="blush", flip=True) - her "(Think about the points Hermione, the points......)" ("angry", "happyCl", "worried", "mid", cheeks="blush", flip=True) + her @ cheeks blush "(Next time...?!)" ("shock", "wide", "worried", "shocked", flip=True) + her @ cheeks blush "(Think about the points Hermione, the points......)" ("angry", "happyCl", "worried", "mid", flip=True) call her_walk(action="leave") @@ -237,22 +236,22 @@ label panty_raid: # Part 2 call hide_blkfade pause 1.5 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" pause 1.0 gen "Come in!" ("base", xpos="far_left", ypos="head") call her_walk(action="enter", xpos="mid", ypos="base") - her "Hello [genie_name], you called?" ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) + her "Hello [name_genie_hermione], you called?" ("open", "base", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) her "" ("base") - gen "Hello to you too, [hermione_name]." ("base", xpos="far_left", ypos="head") - gen "Say...{w=0.3} would you like to earn some points today girl?" ("grin", xpos="far_left", ypos="head") + gen "Hello to you too, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") + gen "Say...{w=0.3} would you like to earn some points today, girl?" ("grin", xpos="far_left", ypos="head") her "Possibly..." ("open") her "But that depends on the task required of me." ("open", "closed", "base", "mid") her "" ("soft", "base", "base", "R") gen "I would like you to try yourself at that \"treasure hunt\" again." ("base", xpos="far_left", ypos="head") - her "*sigh* I knew that sooner or later you would ask me about it, [genie_name]..." ("open", "closed", "base", "mid") + her "*Sigh* I knew that sooner or later, you would ask me about it, [name_genie_hermione]..." ("open", "closed", "base", "mid") her "Do I have a choice?" ("upset", "base", "worried", "mid") gen "Certainly, if you don't mind those \"Slytherin Harlots\" taking the house cup!" ("grin", xpos="far_left", ypos="head") her "I Do mind..." ("upset", "narrow", "base", "down") @@ -271,7 +270,7 @@ label panty_raid: gen "We got a deal then, splendid!" ("grin", xpos="far_left", ypos="head") her "" ("normal", "base", "base", "mid") gen "You're free to go now." ("base", xpos="far_left", ypos="head") - her "Thank you [genie_name]." ("open", "base", "base", "mid") + her "Thank you [name_genie_hermione]." ("open", "base", "base", "mid") call her_walk("door", "base") @@ -285,7 +284,7 @@ label panty_raid: with d3 pause 0.5 - call play_sound("door") + play sound "sounds/door.ogg" call her_chibi("hide") with d3 pause 1.0 @@ -295,7 +294,6 @@ label panty_raid: stop music fadeout 1.0 centered "{size=+7}{color=#cbcbcb}Four hours later...{/color}{/size}" $ game.daytime = False - call update_interface_color call music_block pause 1.0 @@ -305,75 +303,75 @@ label panty_raid: call her_walk(action="enter", xpos="desk", ypos="base") - call play_sound("bump") + play sound "sounds/kick.ogg" "She drops a slightly used pair of plain panties on your desk." - her "" ("soft", "base", "base", "R", cheeks="blush", flip=False) + her @ cheeks blush "" ("soft", "base", "base", "R", flip=False) gen "I don't see any tags, that's good. Did you learn from your previous error?" ("base", xpos="far_left", ypos="head") - her "Yes sir..." ("disgust", "narrow", "worried", "down", cheeks="blush") - her "" ("soft", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "Yes sir..." ("disgust", "narrow", "worried", "down") + her @ cheeks blush "" ("soft", "narrow", "worried", "down") menu: "-Let her Go-": gen "Well, quality leaves a bit to be desired, but it's a good step forward." ("base", xpos="far_left", ypos="head") - her "" ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("soft", "base", "base", "mid") gen "Forty-five points to Gryffindor!" ("base", xpos="far_left", ypos="head") - her "Thank you, [genie_name]." ("open", "base", "base", "mid", cheeks="blush") - her "Am I free to go now?" ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "Thank you, [name_genie_hermione]." ("open", "base", "base", "mid") + her @ cheeks blush "Am I free to go now?" ("soft", "base", "base", "mid") gen "Yes, you are free to go." ("base", xpos="far_left", ypos="head") call her_walk("mid", "base") - $ renpy.play('sounds/sniff.ogg') + play sound "sounds/sniff.ogg" gen "{size=-4}Such nice fragrance, I wonder to whom these belong?{/size}" ("grin", xpos="far_left", ypos="head") - her ".........(I'm sorry Ginny)........." ("disgust", "narrow", "worried", "down", cheeks="blush", flip=True) + her @ cheeks blush ".........(I'm sorry Ginny)........." ("disgust", "narrow", "worried", "down", flip=True) call her_walk(action="leave") "-Ask for details-": gen "So, who was the lucky lady?" ("base", xpos="far_left", ypos="head") - her "No one." ("open", "base", "worried", "R", cheeks="blush") - her "" ("soft", cheeks="blush") + her @ cheeks blush "No one." ("open", "base", "worried", "R") + her @ cheeks blush "" ("soft") gen "Come on now." ("base", xpos="far_left", ypos="head") - her "Umm...{w=0.3} Does that really matter?" ("open", "base", "base", "mid", cheeks="blush") - her "" ("soft", cheeks="blush") + her @ cheeks blush "*Umm*...{w=0.3} Does that really matter?" ("open", "base", "base", "mid") + her @ cheeks blush "" ("soft") gen "It does to me." ("base", xpos="far_left", ypos="head") - her "*sigh*" ("soft", "happyCl", "worried", "mid", cheeks="blush") - her "It was Ginny, sir..." ("open", "base", "worried", "mid", cheeks="blush") - her "" ("soft", cheeks="blush") + her @ cheeks blush "*sigh*" ("soft", "happyCl", "worried", "mid") + her @ cheeks blush "It was Ginny, sir..." ("open", "base", "worried", "mid") + her @ cheeks blush "" ("soft") gen "Interesting...{w=0.5} I don't know who that is." ("base", xpos="far_left", ypos="head") - her "She's a sister of one of my friends..." ("open", "base", "worried", "R", cheeks="blush") - her "" ("normal", cheeks="blush") + her @ cheeks blush "She's a sister of one of my friends..." ("open", "base", "worried", "R") + her @ cheeks blush "" ("normal") gen "Is she hot? Or cute?" ("base", xpos="far_left", ypos="head") her "..." ("soft", "narrow", "worried", "down") gen "Well?" ("base", xpos="far_left", ypos="head") - her "I guess she is kind of both..." ("soft", cheeks="blush") + her @ cheeks blush "I guess she is kind of both..." ("soft") gen "(Splendid! Maybe she can introduce her to me sometimes)" ("grin", xpos="far_left", ypos="head") - her "" ("soft", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("soft", "base", "base", "mid") gen "So, how did you do it?" ("base", xpos="far_left", ypos="head") - her "I offered to do her laundry along with mine this week..." ("open", "narrow", "worried", "down", cheeks="blush") - her "" ("soft", cheeks="blush") + her @ cheeks blush "I offered to do her laundry along with mine this week..." ("open", "narrow", "worried", "down") + her @ cheeks blush "" ("soft") gen "And?" ("base", xpos="far_left", ypos="head") - her "And whilst I was working, I grabbed one of her...{w=0.4} panties...{w=0.3} and shoved them in my pocket." ("soft", "narrow", "base", "R_soft", cheeks="blush") + her @ cheeks blush "And whilst I was working, I grabbed one of her...{w=0.4} panties...{w=0.3} and shoved them in my pocket." ("soft", "narrow", "base", "R_soft") gen "And?" ("base", xpos="far_left", ypos="head") - her "If she asks what happened to them... I will just say that they had gotten lost in the wash." ("soft", "narrow", "base", "mid_soft", cheeks="blush") - her "" ("normal", cheeks="blush") + her @ cheeks blush "If she asks what happened to them... I will just say that they had gotten lost in the wash." ("soft", "narrow", "base", "mid_soft") + her @ cheeks blush "" ("normal") gen "And?" ("base", xpos="far_left", ypos="head") her " And... that's really it." ("open", "base", "base", "mid") her "" ("normal") gen "How dull.{w=0.5} forty-five stupid house points to Gryffindor." ("angry", xpos="far_left", ypos="head") her "Do those count the same as regular points?" ("annoyed") gen "I suppose..." ("base", xpos="far_left", ypos="head") - her "Goodnight then sir." ("open", "base", "base", "mid") + her "Goodnight then, sir." ("open", "base", "base", "mid") call her_walk("door", "base") gen "{size=-4}Ginny...{w=1.0} it's time for you to meet {i}George{/i}.{/size}{w=0.2}{nw}" ("base", xpos="far_left", ypos="head") call gen_chibi("jerk_off_behind_desk") - $ renpy.play('sounds/zipper.ogg') + play sound "sounds/zipper.ogg" gen "{size=-4}Ginny... It's time for you to meet {i}George{/i}.{/size}{fast}" ("grin", xpos="far_left", ypos="head") - her "" ("angry", "wide", "worried", "shocked", cheeks="blush", flip=True) + her @ cheeks blush "" ("angry", "wide", "worried", "shocked", flip=True) pause 0.8 - her "(I'd better leave now...)" ("disgust", "base", "base", "R", cheeks="blush", flip=True) + her @ cheeks blush "(I'd better leave now...)" ("disgust", "base", "base", "R", flip=True) hide hermione_main hide screen bld1 with d3 @@ -393,7 +391,7 @@ label panty_raid: # Part 3 call hide_blkfade pause 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" pause 0.5 her "I'm coming in." @@ -401,20 +399,20 @@ label panty_raid: call her_walk(action="enter", xpos="mid", ypos="base") gen "Well, well, well... if it isn't my favourite minx!" ("grin", xpos="far_left", ypos="head") - her "Good morning to you too, [genie_name]." ("open", "closed", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) + her "Good morning to you too, [name_genie_hermione]." ("open", "closed", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) her "" ("base", "base", "base", "mid") gen "What brings you here this time?" ("base", xpos="far_left", ypos="head") - her "Well... I..." ("open", "base", "base", "R", cheeks="blush") - her "" ("upset", cheeks="blush") + her @ cheeks blush "Well... I..." ("open", "base", "base", "R") + her @ cheeks blush "" ("upset") gen "Don't you worry, I'm just teasing you." ("base", xpos="far_left", ypos="head") - her "" ("normal", "base", "base", "mid", cheeks="blush") + her @ cheeks blush "" ("normal", "base", "base", "mid") gen "But we've made it quite a habit by now, didn't we?" ("base", xpos="far_left", ypos="head") - gen "You coming here every morning and asking for points..." ("base", xpos="far_left", ypos="head") - her "" ("normal", "base", "worried", "mid", cheeks="blush") + gen "You, coming here every morning and asking for points..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "" ("normal", "base", "worried", "mid") gen "... for which in return you bring me panties of that colleague of yours..." ("base", xpos="far_left", ypos="head") - her "" ("normal", "narrow", "base", "down", cheeks="blush") + her @ cheeks blush "" ("normal", "narrow", "base", "down") gen "... I wonder if she realised by now that a washing machine can only eat so many panties." ("grin", xpos="far_left", ypos="head") - her "" ("soft", "narrow", "base", "R_soft", cheeks="blush") + her @ cheeks blush "" ("soft", "narrow", "base", "R_soft") gen "but surely that's something worth risking your reputation over, am I right?" ("base", xpos="far_left", ypos="head") her "..." ("annoyed", "narrow", "base", "R_soft") gen "I'll take that as a yes." ("grin", xpos="far_left", ypos="head") @@ -430,7 +428,6 @@ label panty_raid: stop music fadeout 1.0 centered "{size=+7}{color=#cbcbcb}A few hours later...{/color}{/size}" $ game.daytime = False - call update_interface_color call music_block pause 1.0 @@ -438,14 +435,14 @@ label panty_raid: call her_walk(action="enter", xpos="mid", ypos="base") - gen "Hello [hermione_name], looking good." ("grin", xpos="far_left", ypos="head") + gen "Hello [name_hermione_genie], looking good." ("grin", xpos="far_left", ypos="head") her "Uh-huh... Sir, if I'm not mistaken... {w=0.3}Hogwarts does not have a \"linguistics\" class, do we?" ("open", "narrow", "worried", "mid_soft") her "" ("upset") gen "(Why is she asking me?{w=0.3} Oh Right, \"headmaster Rumbleboar\")" ("base", xpos="far_left", ypos="head") gen "Do you really think we have a class you wouldn't know about?" ("base", xpos="far_left", ypos="head") her "True... Then, do you know of how many \"Connies\" attend Hogwarts?" ("open", "base", "base", "mid") her "" ("normal") - her "There aren't any in Gryffindor or Ravenclaw I believe, but I'm not sure for some of the other houses." ("open", "base", "base", "mid_soft") + her "There aren't any in Gryffindor or Ravenclaw, I believe, but I'm not sure for some of the other houses." ("open", "base", "base", "mid_soft") her "" ("normal") gen "I feel as though there's some context missing." ("base", xpos="far_left", ypos="head") her "*Ehm*... alright, so...{w=0.5} I was in the Gryffindor girl's dorm, working on my \"task\"." ("open") @@ -455,39 +452,39 @@ label panty_raid: call her_walk("desk", "base") - $ renpy.play('sounds/cloth_sound.ogg') + play sound "sounds/cloth_sound.ogg" "She drops a bunched-up ball of about half a dozen girls' panties on your desk, coming in an array of different sizes, designs, and colours." - her "I usually don't conduct such a shotgun approach to work, although..." ("open", "base", "base", "mid", cheeks="blush") - her "" ("soft", cheeks="blush") + her @ cheeks blush "I usually don't conduct such a shotgun approach to work, although..." ("open", "base", "base", "mid") + her @ cheeks blush "" ("soft") gen "In this instance it appears to have served you well. Full marks for stealing panties from your schoolmates." ("grin", xpos="far_left", ypos="head") - her "It would have flustered me if I hadn't told my dorm mates time and time again that it is all of our responsibilities to keep our dorm tidy." ("annoyed", "base", "base", "R", cheeks="blush") + her @ cheeks blush "It would have flustered me if I hadn't told my dorm mates time and time again that it is all of our responsibilities to keep our dorm tidy." ("annoyed", "base", "base", "R") her "Loss of their undergarments is expected when leaving said property strewn around as if a hurricane blew through their drawers." ("open", "base", "base", "mid") her "" ("soft") gen "Yes, Yes... But how does this connect back to a Connie?" ("base", xpos="far_left", ypos="head") her "Right... Well, I obviously chose a time at which I believed all my dorm mates would be gone." ("open", "happyCl", "worried", "mid") - her "But just as I was shoving the last pair into my bag, Katie Bell walked in..." ("angry", "narrow", "base", "down", cheeks="blush") - her "She caught me red handed!" ("disgust", "narrow", "worried", "down", cheeks="blush") + her @ cheeks blush "But just as I was shoving the last pair into my bag, Katie Bell walked in..." ("angry", "narrow", "base", "down") + her @ cheeks blush "She caught me red-handed!" ("disgust", "narrow", "worried", "down") her "" ("normal", "narrow", "worried", "mid_soft") gen "Or silky handed!{w=1.0}{nw}" ("grin", xpos="far_left", ypos="head") gen "Or silky handed!{fast}... panty handed?" ("base", xpos="far_left", ypos="head") her "" ("normal", "narrow", "worried", "down") gen "..." ("base", xpos="far_left", ypos="head") - gen "Sounded better in my head...{w=0.5} give me a minute and I'll come up with something that works..." ("base", xpos="far_left", ypos="head") - her "I've never been more embarrassed in my entire life!" ("normal", "narrow", "worried", "mid_soft", cheeks="blush") + gen "Sounded better in my head...{w=0.5} give me a minute, and I'll come up with something that works..." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "I've never been more embarrassed in my entire life!" ("normal", "narrow", "worried", "mid_soft") her "" ("annoyed", "narrow", "base", "R_soft") gen "Pff, as if you've never said {i}that{/i} before." ("base", xpos="far_left", ypos="head") - her "I mean it! I was mortified standing there clutching her panties while stumbling over my words for an excuse." ("open", "narrow", "worried", "mid_soft", cheeks="blush") - her "" ("upset", cheeks="blush") + her @ cheeks blush "I mean it! I was mortified, standing there clutching her panties while stumbling over my words for an excuse." ("open", "narrow", "worried", "mid_soft") + her @ cheeks blush "" ("upset") gen "And what did she do?" ("base", xpos="far_left", ypos="head") - her "Well... that's the odd thing, while I was floundering like a fish she was just grinning at me. Then she said, and I quote..." ("open", "base", "base", "mid") + her "Well... That's the odd thing, while I was floundering like a fish, she was just grinning at me. Then she said, and I quote..." ("open", "base", "base", "mid") her "\"I always had a feeling about you Granger... But if you want them, you'll need to do me a favour. Meet me tonight and we can help with Connie's Linguistics homework\"." ("open", "base", "base", "R") her "" ("base", "base", "base", "mid") gen "Connie's linguist?-{w=1.0}{nw}" ("base", xpos="far_left", ypos="head") - gen "Connie's linguist?-{fast} oh I see..." ("grin", xpos="far_left", ypos="head") + gen "Connie's linguist?-{fast} Oh, I see..." ("grin", xpos="far_left", ypos="head") her "As embarrassing as the circumstances were, I would never turn down a request to help a student with homework! But I don't think we have a linguistics class or what Connie she was--" ("open", "narrow", "worried", "mid_soft") her "" ("soft", "base", "base", "mid") - gen "{i}Cunnilingus{/i} [hermione_name]... She was asking for Cunnilingus." ("grin", xpos="far_left", ypos="head") - her "*huh*? But she said she wanted study help." + gen "{i}Cunnilingus{/i} [name_hermione_genie]... She was asking for Cunnilingus." ("grin", xpos="far_left", ypos="head") + her "*Huh*? But she said she wanted study help." gen "It was a metaphor... She was assuming you were a bit more worldly than you really are." ("base", xpos="far_left", ypos="head") her "I am plenty worldly!" ("angry", "base", "angry", "mid") her "..." ("upset", "narrow", "angry", "R") @@ -498,7 +495,7 @@ label panty_raid: gen "*Sigh*, she was asking for Dinner beneath the bridge." ("base", xpos="far_left", ypos="head") her "Dinner? But if she wanted to eat with me why didn't she--" ("open", "base", "base", "mid") her "" ("upset") - gen "Metaphor, [hermione_name]... She wanted you to sip from her furry cup." ("base", xpos="far_left", ypos="head") + gen "Metaphor, [name_hermione_genie]... She wanted you to sip from her furry cup." ("base", xpos="far_left", ypos="head") her "*huh*?" ("open", "narrow", "worried", "mid_soft") her "" ("upset") gen "Muff Diving..." ("base", xpos="far_left", ypos="head") @@ -524,46 +521,46 @@ label panty_raid: her "" ("open_wide_tongue", "squint", "base", "mid") pause 1.0 gen "And stick it in her vagina!" ("grin", xpos="far_left", ypos="head") - her "{size=+8}WHAT?!{/size}" ("shock", "wide", "base", "stare", cheeks="blush") - her "Why would she want that?!" ("shock", "wide", "base", "mid", cheeks="blush") - her "" ("angry", cheeks="blush") + her @ cheeks blush "{size=+8}WHAT?!{/size}" ("shock", "wide", "base", "stare") + her @ cheeks blush "Why would she want that?!" ("shock", "wide", "base", "mid") + her @ cheeks blush "" ("angry") gen "Because in my experience it feels awesome...{w=0.5}{nw}" ("grin", xpos="far_left", ypos="head") gen "Because in my experience it feels awesome...{fast} Wait, did that make it sound like I have a vagin--" ("base", xpos="far_left", ypos="head") - her "You're wrong! She-- She--" ("shock", "closed", "angry", "mid", cheeks="blush") - her "" ("angry", "happyCl", "worried", "mid", cheeks="blush") + her @ cheeks blush "You're wrong! She-- She--" ("shock", "closed", "angry", "mid") + her @ cheeks blush "" ("angry", "happyCl", "worried", "mid") gen "What? Never done it before?" ("base", xpos="far_left", ypos="head") - her "{size=+4}OF COURSE NOT!{/size}" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "{size=+4}OF COURSE NOT!{/size}" ("angry", "base", "angry", "mid") gen "I mean, I assumed you didn't have any real friends... But to get to your age and never eat another girl out? How shameful." ("grin", xpos="far_left", ypos="head") - her "Not everyone in this school is as gross as you!" ("angry", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "Not everyone in this school is as gross as you!" ("angry", "narrow", "annoyed", "mid") gen "well, there's one way to prove me wrong. Go find Katie and ask her yourself." ("grin", xpos="far_left", ypos="head") - her "" ("annoyed", "narrow", "annoyed", "mid", cheeks="blush") + her @ cheeks blush "" ("annoyed", "narrow", "annoyed", "mid") her "Maybe I will..." ("open", "closed", "angry", "mid") her "" ("upset", "narrow", "annoyed", "mid") her "She will surely--" ("open", "closed", "base", "mid") her "{size=+4}HOLD ON!{/size}" ("scream", "wide", "base", "stare") her "" ("shock") gen "What?" ("base", xpos="far_left", ypos="head") - her "I-I-I-I-I..." ("angry", "wide", "base", "mid", cheeks="blush") + her @ cheeks blush "I-I-I-I-I..." ("angry", "wide", "base", "mid") gen "Just spit it out!" ("base", xpos="far_left", ypos="head") - her "I was so nervous with her that I just said yes! She'll be expecting me soon!" ("mad", "narrow", "base", "down", cheeks="blush") - gen "You better get to it then, [hermione_name]!" ("grin", xpos="far_left", ypos="head") - her "But I-- But I-- I couldn't--" ("shock", "narrow", "worried", "down", cheeks="blush") - her "" ("angry", cheeks="blush") - her "I'll just have to inform her that it was a misunderstanding, yes that will have to do." ("shock", "narrow", "base", "mid_soft", cheeks="blush") - her "" ("angry", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "I was so nervous with her that I just said yes! She'll be expecting me soon!" ("mad", "narrow", "base", "down") + gen "You better get to it then, [name_hermione_genie]!" ("grin", xpos="far_left", ypos="head") + her @ cheeks blush "But I-- But I-- I couldn't--" ("shock", "narrow", "worried", "down") + her @ cheeks blush "" ("angry") + her @ cheeks blush "I'll just have to inform her that it was a misunderstanding, yes that will have to do." ("shock", "narrow", "base", "mid_soft") + her @ cheeks blush "" ("angry", "narrow", "base", "mid_soft") gen "Sure, and risk her spilling the beans to your entire dorm that the proud Hermione Granger steals girls' panties." ("grin", xpos="far_left", ypos="head") her "..." ("soft", "narrow", "worried", "down") - her "" ("soft", "closed", "angry", "mid", cheeks="blush") + her @ cheeks blush "" ("soft", "closed", "angry", "mid") gen "Hey, for sixty points would you let me watch--" ("grin", xpos="far_left", ypos="head") - her "Absolutely not!" ("scream", "base", "angry", "mid", cheeks="blush") - her "" ("angry", "base", "angry", "mid", cheeks="blush") + her @ cheeks blush "Absolutely not!" ("scream", "base", "angry", "mid") + her @ cheeks blush "" ("angry", "base", "angry", "mid") gen "That's a bummer..." ("base", xpos="far_left", ypos="head") - her "" ("angry", "narrow", "angry", "R", cheeks="blush") + her @ cheeks blush "" ("angry", "narrow", "angry", "R") gen "You can go then." ("base", xpos="far_left", ypos="head") - her "..." ("annoyed", cheeks="blush") - her "......" ("annoyed", "base", "worried", "mid", cheeks="blush") - her "What about the points sir?" ("open", "narrow", "worried", "mid_soft", cheeks="blush") - her "" ("annoyed", "base", "worried", "mid", cheeks="blush") + her @ cheeks blush "..." ("annoyed") + her @ cheeks blush "......" ("annoyed", "base", "worried", "mid") + her @ cheeks blush "What about the points, sir?" ("open", "narrow", "worried", "mid_soft") + her @ cheeks blush "" ("annoyed", "base", "worried", "mid") gen "Oh yes, right..." ("base", xpos="far_left", ypos="head") gen "Forty-five points to Gryffindor!" ("base", xpos="far_left", ypos="head") her "Thank you sir..." ("open", "narrow", "worried", "mid_soft") @@ -576,7 +573,7 @@ label panty_raid: her "" ("open", "base", "base", "R", flip=True) pause 0.5 her "..." ("angry", "base", "base", "mid", flip=True) - her "(What did I get myself into this time...?)" ("angry", "narrow", "base", "down", cheeks="blush", flip=True) + her @ cheeks blush "(What did I get myself into this time...?)" ("angry", "narrow", "base", "down", flip=True) call her_walk(action="leave") @@ -585,48 +582,48 @@ label panty_raid: stop music fadeout 1.0 pause 1.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" pause 1.0 fem "Who is it?" pause 0.5 - her "It's me... Hermione granger." - call play_sound("door") + her "It's me... Hermione Granger." + play sound "sounds/door.ogg" her "Hello Katie I--" - $ renpy.play('sounds/giggle2.ogg') + play sound "sounds/giggle2.ogg" "Katie" "Hey there sweet cheeks. {heart}{w=0.5} I have been waiting for you. {heart}{heart}{heart}" her "We need to talk--" "Katie" "I know exactly what we need. {heart}" - $ renpy.play('sounds/slap_03.ogg') - "> Katie grabs Hermione and pulls her in the room{nw}" - $ renpy.play('sounds/door2.ogg') - "> Katie grabs Hermione and pulls her in the room{fast}, then shuts the door." + play sound "sounds/slap_03.ogg" + nar "Katie grabs Hermione and pulls her in the room{nw}" + play sound "sounds/door2.ogg" + nar "Katie grabs Hermione and pulls her into the room{fast}, then shuts the door." pause 1.0 - $ renpy.play('sounds/09_lock.ogg') + play sound "sounds/09_lock.ogg" pause 0.5 her "Why did you lock the door...?!" - $ renpy.play('sounds/cloth_sound.ogg') - "> Katie starts taking off her clothes." + play sound "sounds/cloth_sound.ogg" + nar "Katie starts taking off her clothes." her "Wha-wha-what-t-t are you d-doing?!" - $ renpy.play('sounds/giggle.ogg') + play sound "sounds/giggle.ogg" "Katie" "Aren't you talkative today?{w=0.5} I would save my breath if I were you. {heart}{heart}{heart}" "Katie" "I'm quite{w=0.2} {heart}horny{heart}{w=0.2} so you might be stuck here for a while." - $ renpy.play('sounds/push_on_bed.ogg') - "> She pushes Hermione onto the bed." with vpunch + play sound "sounds/push_on_bed.ogg" + nar "She pushes Hermione onto the bed." with vpunch her "{size=+4}W-wait?!{/size}" - $ renpy.play('sounds/sit_on_bed.ogg') - "> Then she swiftly straddles her face in cowgirl position." with hpunch - $ renpy.play('sounds/gltch.ogg') + play sound "sounds/sit_on_bed.ogg" + nar "Then she swiftly straddles her face in cowgirl position." with hpunch + play sound "sounds/gltch.ogg" her "..........!!!" her "*Hmph*" - $ renpy.play('sounds/gasp2.ogg') + play sound "sounds/gasp2.ogg" "Katie" "Ahh!{heart} {w=0.5}So much better... {heart}{heart}{heart}" "Katie" "I'll start moving now.{w=0.5} You ready?" - her "*nwh*!!!" - $ renpy.play('sounds/giggle3.ogg') + her "*Nwh*!!!" + play sound "sounds/giggle3.ogg" "Katie" "I'll take that as a yes. {heart}{heart}{heart}" - $ renpy.play('sounds/jump_on_bed.ogg') - her "*Hmph{cps=10}hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh{/cps}*{nw}" with vpunch_repeat + play sound "sounds/jump_on_bed.ogg" + her "*Hmph{cps=10}hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh{/cps}*{nw}" with vpunch pause 1.0 centered "{size=+7}{color=#cbcbcb}End of part three{/color}{/size}" jump panty_raid.choices @@ -639,12 +636,12 @@ label panty_raid: call her_walk(action="enter", xpos="mid", ypos="base") - her "Hello, [genie_name].{heart}" ("smile", "wink", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) + her "Hello, [name_genie_hermione].{heart}" ("smile", "wink", "base", "mid", xpos="right", ypos="base", trans=d3, flip=False) her "" ("smile", "base", "base", "mid") - gen "[hermione_name]! My favourite slut." ("grin", xpos="far_left", ypos="head") + gen "[name_hermione_genie]! My favourite slut." ("grin", xpos="far_left", ypos="head") gen "I have another riddle for you." ("base", xpos="far_left", ypos="head") her "Oh, this ought to be fun." ("grin") - her "Could you make it a {i}hard one{/i} [genie_name]?" ("open_wide_tongue") + her "Could you make it a {i}hard one{/i} [name_genie_hermione]?" ("open_wide_tongue") her "" ("smile") gen "You'll enjoy this one for sure...{w=0.5} Ready?" ("grin", xpos="far_left", ypos="head") her "Ready!" ("smile", "happyCl", "base", "mid") @@ -664,7 +661,7 @@ label panty_raid: her "" ("base", "base", "base", "mid") gen "Spot on." ("grin", xpos="far_left", ypos="head") her "Mine or someone else's?" ("smile", "happy", "base", "mid_soft") - gen "Someone else's if you don't mind, [hermione_name]." ("base", xpos="far_left", ypos="head") + gen "Someone else's if you don't mind, [name_hermione_genie]." ("base", xpos="far_left", ypos="head") her "On it! I'll be back soon..." ("base", "base", "base", "mid") call her_walk(action="leave") @@ -674,7 +671,6 @@ label panty_raid: stop music fadeout 1.0 centered "{size=+7}{color=#cbcbcb}Some time later...{/color}{/size}" $ game.daytime = False - call update_interface_color call music_block pause 1.0 @@ -682,59 +678,59 @@ label panty_raid: call her_walk(action="enter", xpos="mid", ypos="base") - her "Hello [genie_name], I hope I didn't keep you waiting for too long..." ("smile", "happy", "base", "mid_soft") + her "Hello [name_genie_hermione], I hope I didn't keep you waiting for too long..." ("smile", "happy", "base", "mid_soft") call her_walk("desk", "base") - her "I had a little...{w=0.3} \"setback\"{w=0.3} if you know what I mean..." ("grin", "narrow", "base", "mid_soft", cheeks="blush") - her "" ("base", cheeks="blush") + her @ cheeks blush "I had a little...{w=0.3} \"setback\"{w=0.3} if you know what I mean..." ("grin", "narrow", "base", "mid_soft") + her @ cheeks blush "" ("base") pause 0.5 hide screen bld1 hide hermione_main with d3 "She drops a pair of laced white panties on your desk." show screen bld1 with d3 - gen "No trouble at all [hermione_name]...{w=0.5} And you have excellent taste as always." ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/sniff.ogg') + gen "No trouble at all [name_hermione_genie]...{w=0.5} And you have excellent taste as always." ("base", xpos="far_left", ypos="head") + play sound "sounds/sniff.ogg" gen "These smell fantastic!" ("grin", xpos="far_left", ypos="head") - her "You're too kind [genie_name]." ("grin", "happy", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "You're too kind [name_genie_hermione]." ("grin", "happy", "base", "mid_soft") hide screen bld1 hide hermione_main with d3 pause 1.0 call gen_chibi("jerk_off_behind_desk") - $ renpy.play('sounds/zipper.ogg') - ">You take your cock out and start stroking it..." + play sound "sounds/zipper.ogg" + nar "You take your cock out and start stroking it..." call gen_chibi("jerk_off_behind_desk") - her "Mmmm, [genie_name] need any help with that?" ("base", "squint", "base", "mid", cheeks="blush") + her @ cheeks blush "Mmmm, [name_genie_hermione] need any help with that?" ("base", "squint", "base", "mid") gen "These already feel a little damp in the middle. Why don't you tell me why that is?" ("base", xpos="far_left", ypos="head") - her "Oh you know, girls will be girls and all." ("grin", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Oh you know, girls will be girls and all." ("grin", "narrow", "base", "mid_soft") gen "You know, charming the panties off someone is just a figure of speech." ("grin", xpos="far_left", ypos="head") - her "Not anymore... I'd like to think Katie was quite pleased with me." ("smile", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "Not anymore... I'd like to think Katie was quite pleased with me." ("smile", "narrow", "base", "mid_soft") gen "Katie? Katie Bell? The same delicious dyke that wanted you to clam joust with her?" ("base", xpos="far_left", ypos="head") - her "Maybe..." ("smile", "narrow", "base", "R_soft", cheeks="blush") - her "Although, Katie keeps raising the fee every time I ask." ("smile", "happyCl", "base", "mid", cheeks="blush") - her "" ("open", cheeks="blush") - her "Not that I mind, but my tongue can get quite sore sometimes." ("open_tongue", cheeks="blush") - her "Especially since we've started the \"linguistics\" thing." ("open_wide_tongue", "squint", "worried", "up", cheeks="blush") - her "" ("open_wide_tongue", "squint", "worried", "up", cheeks="blush") + her @ cheeks blush "Maybe..." ("smile", "narrow", "base", "R_soft") + her @ cheeks blush "Although, Katie keeps raising the fee every time I ask." ("smile", "happyCl", "base", "mid") + her @ cheeks blush "" ("open") + her @ cheeks blush "Not that I mind, but my tongue can get quite sore sometimes." ("open_tongue") + her @ cheeks blush "Especially since we've started the \"linguistics\" thing." ("open_wide_tongue", "squint", "worried", "up") + her @ cheeks blush "" ("open_wide_tongue", "squint", "worried", "up") gen "Ugh!" ("angry", xpos="far_left", ypos="head") call cum_block call gen_chibi("cum_behind_desk") - her "" ("open_wide_tongue", "narrow", "base", "mid_soft", cheeks="blush") + her @ cheeks blush "" ("open_wide_tongue", "narrow", "base", "mid_soft") pause 1.5 call gen_chibi("cum_behind_desk_done") - her "Oh, poor [genie_name], I had no idea you were so pent up. You can start calling me out more than twice a day if that isn't enough." ("soft", "narrow", "worried", "mid_soft", cheeks="blush") + her @ cheeks blush "Oh, poor [name_genie_hermione], I had no idea you were so pent up. You can start calling me out more than twice a day if that isn't enough." ("soft", "narrow", "worried", "mid_soft") gen "During the day? But what about your classes?" ("base", xpos="far_left", ypos="head") - her "*Hmm*? Oh well, missing one or two wouldn't hurt... Especially if the headmaster has an important \"assignment\" for me." ("base", "narrow", "base", "mid_soft", cheeks="blush") - gen "I'll consider it... Now let's circle back to you, Katie and your binge of her minge." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "*Hmm*? Oh well, missing one or two wouldn't hurt... Especially if the headmaster has an important \"assignment\" for me." ("base", "narrow", "base", "mid_soft") + gen "I'll consider it... Now let's circle back to you, Katie, and your binge of her minge." ("base", xpos="far_left", ypos="head") her "Professor... How dare you... I would never even think to shamelessly do something so heinous with a classmate and give you all the juicy details..." ("annoyed", "base", "base", "R") - her "For less than forty house points." ("grin", "wink", "base", "mid", cheeks="blush") - her "" ("base", "narrow", "base", "mid_soft", cheeks="blush") - gen "Maybe next time [hermione_name]. I'm a little... spent for tonight." ("base", xpos="far_left", ypos="head") - her "We both know you could go for longer if you wanted to..." ("soft", "narrow", "base", "mid_soft", cheeks="blush") - her "but you're right, we'll leave it for later." ("base", "happy", "base", "mid_soft", cheeks="blush") - her "See you tomorrow [genie_name]." ("smile", "wink", "base", "mid", cheeks="blush") + her @ cheeks blush "For less than forty house points." ("grin", "wink", "base", "mid") + her @ cheeks blush "" ("base", "narrow", "base", "mid_soft") + gen "Maybe next time [name_hermione_genie]. I'm a little... spent for tonight." ("base", xpos="far_left", ypos="head") + her @ cheeks blush "We both know you could go for longer if you wanted to..." ("soft", "narrow", "base", "mid_soft") + her @ cheeks blush "but you're right, we'll leave it for later." ("base", "happy", "base", "mid_soft") + her @ cheeks blush "See you tomorrow [name_genie_hermione]." ("smile", "wink", "base", "mid") call her_walk(action="leave") diff --git a/game/scripts/minigames/mirror/events/previously_at_hogwarts.rpy b/game/scripts/minigames/mirror/events/previously_at_hogwarts.rpy index 278fc24a..d6f46655 100644 --- a/game/scripts/minigames/mirror/events/previously_at_hogwarts.rpy +++ b/game/scripts/minigames/mirror/events/previously_at_hogwarts.rpy @@ -10,18 +10,18 @@ label prev_at_hogwarts: $ desk_OBJ.idle = "desk_dumbledore" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 centered "{size=+7}{color=#cbcbcb}Previously, at Hogwarts{w=1.0}\nschool of Witchcraft and Wizardry...{/color}{/size}" - call play_music("day") + play music "music/Brittle Rille.ogg" fadein 1 if_changed hide screen blkfade with d5 pause 3.0 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" pause.8 @@ -55,7 +55,7 @@ label prev_at_hogwarts: sna "And that Potter boy..." ("snape_08") dum3 "There it is..." sna "The Potter boy?" ("snape_25") - dum1 "Yes, I've noticed you've been quite stressed lately about this... Potter situation of yours for the lack of a better term." + dum1 "Yes, I've noticed you've been quite stressed lately about this... Potter situation of yours, for the lack of a better term." sna "And your point?" ("snape_09") dum2 "Ah yes... my point." dum1 "Where was I again..." @@ -67,7 +67,7 @@ label prev_at_hogwarts: sna "Are you joking with me right now?" ("snape_04") dum1 "I'm being quite serious... stress can be quite taxing on your body." sna "I..." ("snape_01") - sna "I need a moment... I'll talk to you later Albus." ("snape_06") + sna "I need a moment... I'll talk to you later, Albus." ("snape_06") dum1 "I thought we were getting somewhere..." sna "..." ("snape_01") hide snape_main @@ -82,11 +82,11 @@ label prev_at_hogwarts: call sna_walk(action="leave") - call play_music("stop") + stop music fadeout 1 dum2 "\"I don't think I'll ever understa\"--" - $ renpy.play("sounds/magic4.ogg") + play sound "sounds/magic4.ogg" $ desk_OBJ.idle = "ch_gen sit_behind_desk" $ game.weather = "rain" call weather_sound diff --git a/game/scripts/minigames/mirror/events/suck_and_run.rpy b/game/scripts/minigames/mirror/events/suck_and_run.rpy index 18b29972..a47f6ec0 100644 --- a/game/scripts/minigames/mirror/events/suck_and_run.rpy +++ b/game/scripts/minigames/mirror/events/suck_and_run.rpy @@ -1,7 +1,7 @@ label suck_and_run_rewards: # Unlock outfit message. Should only appear once. if not ton_outfit_succubus.unlocked: - call unlock_clothing(text=">New clothing items for Tonks have been unlocked!", item=ton_outfit_succubus) + call unlock_clothing(text="New clothing items for Tonks have been unlocked!", item=ton_outfit_succubus) return # Mirror story: Suck and Run @@ -18,7 +18,7 @@ label suck_and_run: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -41,8 +41,8 @@ label suck_and_run: call setup_fireplace_hangout(char="snape") - sna "*Ah*... Been looking forward to this..." ("snape_23", ypos="head") - gen "Rough day I take it?" ("base", xpos="far_left", ypos="head") + sna "*Ah*... I've been looking forward to this..." ("snape_23", ypos="head") + gen "Rough day, I take it?" ("base", xpos="far_left", ypos="head") sna "Bloody slackers, all of them!" ("snape_17") gen "..." ("angry", xpos="far_left", ypos="head") sna "What's the point of me teaching them anything if they can't even bother staying awake?" ("snape_32") @@ -54,8 +54,8 @@ label suck_and_run: sna "No, these students in particular are some Hufflepuff boys." ("snape_16") sna "Now they're lazy at the best of times, but catching someone sleeping in my class... That's a first." ("snape_07") sna "I wish I could hang them up by their ankles, like in the old days! That would show them!" ("snape_08") - gen "Come on man, it's Halloween!" ("base", xpos="far_left", ypos="head") - gen "Cheer up a little, will you." ("base", xpos="far_left", ypos="head") + gen "Come on, man... It's Halloween!" ("base", xpos="far_left", ypos="head") + gen "Cheer up a little, will you?" ("base", xpos="far_left", ypos="head") sna "*Mmm*... The time of year when girls will put on any type of outfit with the word \"slutty\" written in front of it." ("snape_23") gen "Exactly!" ("grin", xpos="far_left", ypos="head") sna "Wait a minute..." ("snape_01") @@ -71,20 +71,20 @@ label suck_and_run: sna "You're such a mystery to me sometimes, Genie..." ("snape_06") gen "Come on, you must have seen it! At least heard of it." ("angry", xpos="far_left", ypos="head") sna "I'm afraid I have not seen this Nightmare {i}moo-wee{/i} thing." ("snape_09") - gen "Okay so there's this guy... Jack Skellington, and he's the \"Pumpkin King\" of Halloween Town." ("base", xpos="far_left", ypos="head") + gen "Okay, so there's this guy... Jack Skellington, and he's the \"Pumpkin King\" of Halloween Town." ("base", xpos="far_left", ypos="head") gen "Which kind of makes him the boss of the place. Only there's a mayor. Look, I don't know enough about the politics." ("base", xpos="far_left", ypos="head") gen "Anyway... He decides he wants to be Santa Claus, so he kidnaps him in order to take over his position." ("base", xpos="far_left", ypos="head") gen "Only then the Americans shoot him down and Jack has to release Santa in order to save Christmas." ("base", xpos="far_left", ypos="head") sna "..." ("snape_03") gen "Actually, maybe it is a Christmas movie after all..." ("base", xpos="far_left", ypos="head") sna "..." ("snape_04") - gen "Yeah, you're right... In that case Die Hard would easily take the top spot." ("base", xpos="far_left", ypos="head") + gen "Yeah, you're right... In that case, Die Hard would easily take the top spot." ("base", xpos="far_left", ypos="head") gen "Now that I think of it, the villain kind of looks like--" ("base", xpos="far_left", ypos="head") sna "Die... Hard?" ("snape_05") gen "Don't you dare tell me it's not A Christmas movie!" ("base", xpos="far_left", ypos="head") sna "Whatever it is you're on about sounds dreadfully boring." ("snape_03") - call nar("You and Snape continue drinking long into the night. You exchange tales of the skimpiest outfits you've seen girls wearing, and the issues with sticking your dick in crazy.") + nar "You and Snape continue drinking long into the night. You exchange tales of the skimpiest outfits you've seen girls wearing, and the issues with sticking your dick in crazy." show screen blkfade with d3 stop music fadeout 1.0 @@ -95,7 +95,7 @@ label suck_and_run: jump suck_and_run.choices elif pathvalue == 1: - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed call setup_fireplace_hangout(char="tonks") @@ -128,9 +128,9 @@ label suck_and_run: ton "Isn't that just my normal clothing?" ("soft", "base", "base", "down") gen "That's true..." ("base", xpos="far_left", ypos="head") - gen "So... What is it then?" ("base", xpos="far_left", ypos="head") + gen "So... What is it, then?" ("base", xpos="far_left", ypos="head") ton "*Hmm*... Not sure I should ruin the surprise." ("horny", "wink", "base", "mid") - ton "I'm sure you'll find out soon enough..." ("base", "narrow", "base", "R", hair="horny") #Glance #hornyhair + ton @ hair horny "I'm sure you'll find out soon enough..." ("base", "narrow", "base", "R") #Glance #hornyhair gen "Looking forward to it." ("grin", xpos="far_left", ypos="head") ton "Anyway..." ("open", "base", "shocked", "mid") ton "Anything else going on that I should know of?" ("soft", "base", "base", "mid") @@ -142,21 +142,21 @@ label suck_and_run: ton "Really?" ("disgust", "wide", "shocked", "mid") ton "Well... Colour me surprised..." ("open", "closed", "base", "mid") gen "Yes... He seemed quite eager to find out what the girls will be wearing this year in fact." ("base", xpos="far_left", ypos="head") - ton "Oh, so it's like that is it?" ("base", "narrow", "raised", "mid") + ton "Oh, so it's like that, is it?" ("base", "narrow", "raised", "mid") gen "He also mentioned that some Hufflepuff boys have been falling asleep during his lessons... What do you think--" ("base", xpos="far_left", ypos="head") - ton "What?! Why do you think I'd know anything about Hufflepuff boys falling asleep in class!?" ("silly", "happyCl", "worried", "mid", cheeks="heavy_blush", hair="horny") - ton "Are you implying that I'm sneaking into their room to fuck them? That I'm draining their cocks dry every night!?" ("scream", "base", "angry", "mid", cheeks="blush", hair="horny") + ton @ cheeks heavy_blush hair horny "What?! Why do you think I'd know anything about Hufflepuff boys falling asleep in class!?" ("silly", "happyCl", "worried", "mid") + ton @ cheeks blush hair horny "Are you implying that I'm sneaking into their room to fuck them? That I'm draining their cocks dry every night!?" ("scream", "base", "angry", "mid") gen "What? I was just going to ask if you thought they'd been staying up late partying or something." ("base", xpos="far_left", ypos="head") - ton "Oh... No, I don't think they're doing anything like that." ("soft", "base", "base", "R", cheeks="blush", hair="horny") + ton @ cheeks blush hair horny "Oh... No, I don't think they're doing anything like that." ("soft", "base", "base", "R") gen "What was that about sucking them dry at night?" ("base", xpos="far_left", ypos="head") - ton "Did I say that? Are you sure you didn't just hear what you wanted to hear, Genie?" ("disgust", "narrow", "base", "mid", cheeks="blush", hair="horny") + ton @ cheeks blush hair horny "Did I say that? Are you sure you didn't just hear what you wanted to hear, Genie?" ("disgust", "narrow", "base", "mid") gen "I'm pretty sure I heard you ask if I thought you were fucking your students at night." ("base", xpos="far_left", ypos="head") - ton "Then you must've misheard me..." ("normal", "closed", "base", "mid", hair="horny") + ton @ hair horny "Then you must've misheard me..." ("normal", "closed", "base", "mid") gen "... Are you drooling?" ("base", xpos="far_left", ypos="head") ton "*Mhmm*?" ("normal", "wide", "base", "down") ton "Oh, this?" ("mad", "base", "raised", "mid") ton "I was just thinking about what I'll be having for dinner tonight..." ("soft", "closed", "base", "R") - ton "Creamy mushroom soup... Delicious!" ("horny", "narrow", "shocked", "up", cheeks="blush", hair="horny") + ton @ cheeks blush hair horny "Creamy mushroom soup... Delicious!" ("horny", "narrow", "shocked", "up") gen "I see...{w=0.3} Very well." ("base", xpos="far_left", ypos="head") gen "Please keep an eye on those Hufflepuff boys, alright?" ("base", xpos="far_left", ypos="head") ton "Of course.... I'll make sure to inspect their dorms thoroughly." ("open", "closed", "base", "mid") @@ -166,8 +166,8 @@ label suck_and_run: gen "Just make sure they're not staying up all night, alright?" ("base", xpos="far_left", ypos="head") ton "*Aww*, You're no fun at all." ("annoyed", "narrow", "base", "mid") #pout gen "*glares*" ("base", xpos="far_left", ypos="head") - ton "*Sigh* Fiiiiiine... Goodnight [ton_genie_name]." ("annoyed", "base", "base", "mid") - gen "Goodnight [tonks_name]." ("base", xpos="far_left", ypos="head") + ton "*Sigh* Fiiiiiine... Goodnight [name_genie_tonks]." ("annoyed", "base", "base", "mid") + gen "Goodnight [name_tonks_genie]." ("base", xpos="far_left", ypos="head") show screen blkfade with d3 stop music fadeout 1.0 @@ -181,13 +181,12 @@ label suck_and_run: hide screen bld1 call gen_chibi("sit_behind_desk") - call play_music("night_outside") + play music "sounds/night.ogg" fadein 1 if_changed # Intentional, because background channel is already preoccupied - show screen add_overlay hide screen blkfade with d5 - $ renpy.sound.play("sounds/snore1.ogg") + play sound "sounds/snore1.ogg" gen "*Snore*...{w=0.4}" ("base", xpos="far_left", ypos="head") call ton_walk(action="enter") @@ -202,9 +201,9 @@ label suck_and_run: with d3 pause 1.5 - $ renpy.sound.play("sounds/zipper.ogg") + play sound "sounds/zipper.ogg" pause 0.5 - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" pause 1.0 call ton_chibi_scene("bj_desk") @@ -212,7 +211,7 @@ label suck_and_run: with d9 pause 1.0 - play bg_sounds "sounds/slickloop.ogg" fadein 2 + play background "sounds/slickloop.ogg" fadein 2 "*Slurp* *Slurp* *Slurp*" gen "*Mmm*...{w=0.3} Yes...{w=0.3} That's it, princess...{w=0.4} *Snore*..." ("base", xpos="far_left", ypos="head") "*Slurp* *Slurp* *Gulp*" @@ -223,15 +222,15 @@ label suck_and_run: call ton_chibi_scene("bj_desk_shocked") gen "Tonks?!" ("open", xpos="far_left", ypos="head") - call play_music("tonks") - ton "*Slurp* *Slurp* *Gulp*!" (face="horny", mouth="open_wide_tongue", xpos="far_right", ypos=200, trans=d3) # Explicit positions to avoid hiding the doll + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed + ton "*Slurp* *Slurp* *Gulp*!" ("open_wide_tongue", "narrow", "shocked", "stare", xpos="far_right", ypos=200, trans=d3) # Explicit positions to avoid hiding the doll call ton_chibi_scene("bj_desk") gen "am I still dreaming?" ("angry", xpos="far_left", ypos="head") ton "*Slurp* *Slurp* *slurp*!" ("open_wide_tongue", "narrow", "shocked", "stare") gen "*Ngh*... But it feels so real!" ("angry", xpos="far_left", ypos="head") - stop bg_sounds - ton "..." ("base", "closed", "annoyed", "up", hair="angry") #Hair turns red + stop background + ton @ hair angry "..." ("base", "closed", "annoyed", "up") #Hair turns red call ton_chibi_scene("bj_desk_shocked") gen "*Ah*... T-Tonks?!" ("base", xpos="far_left", ypos="head") @@ -240,97 +239,97 @@ label suck_and_run: with fade pause .5 - $ renpy.sound.play("sounds/magic3.ogg") + play sound "sounds/magic3.ogg" $ tonks.equip(ton_outfit_succubus) ton "" ("horny", "narrow", "base", "mid", trans=flash) pause 0.8 - call play_sound("giggle") - ton "*giggles*" + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" - $ renpy.music.play("music/determined_pursuit_loop.ogg") + play music "music/determined_pursuit_loop.ogg" if_changed hide tonks_main with d3 pause .5 gen "*ARGH*!" ("angry", xpos="far_left", ypos="head") - call play_sound("punch01") + play sound "sounds/punch01.ogg" with vpunch gen "Unhand me, foul demon!" ("angry", xpos="far_left", ypos="head") - ton "Of course, Sir..." ("grin", "base", "base", "L", hair="angry", ypos="head", flip=False) - call play_sound("giggle") + ton @ hair angry "Of course, Sir..." ("grin", "base", "base", "L", ypos="head", flip=False) + play sound "sounds/giggle2_loud.ogg" pause .8 - ton "Right away, Sir..." ("crooked_smile", "base", "angry", "mid", hair="angry") - ton "Once I've gotten what I want..." ("soft", "narrow", "shocked", "up", hair="angry") + ton @ hair angry "Right away, Sir..." ("crooked_smile", "base", "angry", "mid") + ton @ hair angry "Once I've gotten what I want..." ("soft", "narrow", "shocked", "up") gen "You may not have my life essence, you foul--" ("angry", xpos="far_left", ypos="head") stop music fadeout 1.0 - ton "" ("horny", "base", "angry", "mid", hair="angry") - $ renpy.sound.play("sounds/spit.ogg") + ton @ hair angry "" ("horny", "base", "angry", "mid") + play sound "sounds/spit.ogg" pause 1 gen "Temptress?" ("angry", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*" ("grin", "base", "angry", "up", hair="angry") - ton "Just close your eyes and relax..." ("normal", "narrow", "angry", "stare", hair="angry") + play sound "sounds/giggle2_loud.ogg" + ton @ hair angry "*Giggles*" ("grin", "base", "angry", "up") + ton @ hair angry "Just close your eyes and relax..." ("normal", "narrow", "angry", "stare") call ton_chibi_scene("bj_desk") gen "*Ehm*..." ("base", xpos="far_left", ypos="head") gen "So you don't want my soul?" ("base", xpos="far_left", ypos="head") - ton "Me? Want a soul as tainted and corrupt as yours?" ("silly", "happyCl", "shocked", "stare", hair="angry", cheeks="blush") - ton "Don't make me laugh..." ("normal", "base", "angry", "mid", hair="angry") + ton @ cheeks blush hair angry "Me? Want a soul as tainted and corrupt as yours?" ("silly", "happyCl", "shocked", "stare") + ton @ hair angry "Don't make me laugh..." ("normal", "base", "angry", "mid") gen "Then what do you--" ("base", xpos="far_left", ypos="head") - ton "{heart}" ("soft", "narrow", "base", "up", hair="angry") + ton @ hair angry "{heart}" ("soft", "narrow", "base", "up") gen "I see..." ("base", xpos="far_left", ypos="head") - ton "Now just relax and enjoy it...{heart}" ("horny", "narrow", "base", "mid", hair="angry") + ton @ hair angry "Now just relax and enjoy it...{heart}" ("horny", "narrow", "base", "mid") gen "Well I guess that could be arranged..." ("base", xpos="far_left", ypos="head") - call play_sound("giggle") + play sound "sounds/giggle2_loud.ogg" pause 1 gen "Excellent..." ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopfast.ogg" fadein 2 - ton "*Slurp* *Slurp* *slurp*!" ("open_wide_tongue", "narrow", "base", "up", hair="angry") + play background "sounds/slickloopfast.ogg" fadein 2 + ton @ hair angry "*Slurp* *Slurp* *slurp*!" ("open_wide_tongue", "narrow", "base", "up") gen "*Argh*!" ("angry", xpos="far_left", ypos="head") - gen "So...{w=0.4} *Ah*... What is it then?" ("angry", xpos="far_left", ypos="head") - ton "*Slurp*?" ("open_wide_tongue", "base", "base", "mid", hair="angry") + gen "So...{w=0.4} *Ah*... What is it, then?" ("angry", xpos="far_left", ypos="head") + ton @ hair angry "*Slurp*?" ("open_wide_tongue", "base", "base", "mid") gen "What kind of foul creature am I dealing with?" ("base", xpos="far_left", ypos="head") - ton "*Slurp*?" ("open_wide_tongue", "base", "raised", "mid", hair="angry") + ton @ hair angry "*Slurp*?" ("open_wide_tongue", "base", "raised", "mid") gen "Oh! Let me guess!" ("base", xpos="far_left", ypos="head") gen "Are you a--" ("base", xpos="far_left", ypos="head") - call play_music("tonks") + play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein 1 if_changed - stop bg_sounds - ton "A succubus?" ("crooked_smile", "base", "angry", "mid", hair="angry") + stop background + ton @ hair angry "A succubus?" ("crooked_smile", "base", "angry", "mid") gen "*Argh*... You're no fun, I was just about to--" ("base", xpos="far_left", ypos="head") - play bg_sounds "sounds/slickloopveryfast.ogg" fadein 2 - ton "*Slurp* *Slurp* *Slurp*" ("open_wide_tongue2", "narrow", "base", "up", hair="horny", cheeks="blush") + play background "sounds/slickloopveryfast.ogg" fadein 2 + ton @ cheeks blush hair horny "*Slurp* *Slurp* *Slurp*" ("open_wide_tongue2", "narrow", "base", "up") gen "*Nghh*...{w=0.4} To..." ("base", xpos="far_left", ypos="head") - ton "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue2", "closed", "base", "up", cheeks="blush") + ton @ cheeks blush "*Slurp*! *Slurp*! *Slurp*!" ("open_wide_tongue2", "closed", "base", "up") gen "Cum down your throat!" ("base", xpos="far_left", ypos="head") - ton "*Slurp* *Slurp* *Slurp*" ("open_wide_tongue", "happyCl", "shocked", "mid", cheeks="blush") + ton @ cheeks blush "*Slurp* *Slurp* *Slurp*" ("open_wide_tongue", "happyCl", "shocked", "mid") gen "You asked for it!" ("angry", xpos="far_left", ypos="head") gen "Take this, foul demon!" ("angry", xpos="far_left", ypos="head") #large text? - stop bg_sounds - $ renpy.sound.play("sounds/slick_02.ogg") - ton "*mmhf*!" ("open_wide_tongue", "wide", "shocked", "mid", cheeks="blush") + stop background + play sound "sounds/slick_02.ogg" + ton @ cheeks blush "*mmhf*!" ("open_wide_tongue", "wide", "shocked", "mid") with hpunch gen "May the seed of an immortal--" ("angry", xpos="far_left", ypos="head") #large text? - $ renpy.sound.play("sounds/slick_02.ogg") + play sound "sounds/slick_02.ogg" ton "*Mmm*! *Gulp* *Gulp*" ("open_wide_tongue", "shocked", "shocked", "stare") with hpunch gen "Quench your lust filled desires!" ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/slick_02.ogg") - ton "*Gulp*...{w=0.4} *Gulp*...{w=0.6} *Gulp*" ("open_wide_tongue", "happyCl", "shocked", "mid", cheeks="blush") - ton "*Ah*..." ("open_wide_tongue_cum", "base", "base", "down", cheeks="blush") - $ renpy.sound.play("sounds/gulp.ogg") - ton "*Gulp*..." ("normal", "closed", "base", "mid", cheeks="blush") - ton "Now that hit the--" ("grin", "base", "base", "mid", cheeks="blush") + play sound "sounds/slick_02.ogg" + ton @ cheeks blush "*Gulp*...{w=0.4} *Gulp*...{w=0.6} *Gulp*" ("open_wide_tongue", "happyCl", "shocked", "mid") + ton @ cheeks blush "*Ah*..." ("open_wide_tongue_cum", "base", "base", "down") + play sound "sounds/gulp.ogg" + ton @ cheeks blush "*Gulp*..." ("normal", "closed", "base", "mid") + ton @ cheeks blush "Now that hit the--" ("grin", "base", "base", "mid") - $ renpy.sound.play("sounds/magic3.ogg") + play sound "sounds/magic3.ogg" $ tonks.equip(ton_outfit_default) with flash @@ -345,23 +344,22 @@ label suck_and_run: ton "You idiot!" ("open", "wide", "angry", "mid") gen "What?!" ("angry", xpos="far_left", ypos="head") ton "Halloween is the only time I can get away with this..." ("clench", "base", "annoyed", "down") - ton "And now you've ruined it!" ("annoyed", "closed", "worried", "mid", hair="sad") + ton @ hair sad "And now you've ruined it!" ("annoyed", "closed", "worried", "mid") gen "Surely it is not my fault that my semen contains such immeasurable--" ("base", xpos="far_left", ypos="head") - ton "..." ("annoyed", "narrow", "base", "down", hair="sad") #sad + ton @ hair sad "..." ("annoyed", "narrow", "base", "down") #sad gen "*Ahem*..." ("base", xpos="far_left", ypos="head") gen "So... A Succubus... *eh*?" ("base", xpos="far_left", ypos="head") - ton "Obviously..." ("open", "narrow", "shocked", "downR", hair="sad") + ton @ hair sad "Obviously..." ("open", "narrow", "shocked", "downR") gen "A sexual deviant that can't hold in their own desires..." ("base", xpos="far_left", ypos="head") gen "Not sure why I didn't figure it out sooner..." ("grin", xpos="far_left", ypos="head") ton "Don't you dare tell anybody..." ("annoyed", "base", "annoyed", "mid") gen "Tell anybody that there's a lust filled creature hiding in plain sight?" ("base", xpos="far_left", ypos="head") gen "Who are we talking about again?" ("grin", xpos="far_left", ypos="head") - call play_sound("giggle") - ton "*giggles*" ("base", "happyCl", "base", "mid") + play sound "sounds/giggle2_loud.ogg" + ton "*Giggles*" ("base", "happyCl", "base", "mid") show screen blkfade with d3 stop music fadeout 1.0 - hide screen add_overlay centered "{size=+7}{color=#cbcbcb}End of part three{/color}{/size}" diff --git a/game/scripts/minigames/mirror/events/whose_points.rpy b/game/scripts/minigames/mirror/events/whose_points.rpy index 000ffb95..be026cf0 100644 --- a/game/scripts/minigames/mirror/events/whose_points.rpy +++ b/game/scripts/minigames/mirror/events/whose_points.rpy @@ -10,7 +10,7 @@ label whose_points: $ game.weather = "clear" stop weather call room("main_room") - call play_music("stop") + stop music fadeout 1 show screen blkfade with d5 @@ -28,34 +28,34 @@ label whose_points: with d5 stop music - $ renpy.play("sounds/epic_intro.ogg") + play sound "sounds/epic_intro.ogg" call bld gen "Hello and welcome to \"whose points is it anyway\"!" ("grin", xpos="far_left", ypos="head") gen "The show where everything is made up and the points don't matter." ("grin", xpos="far_left", ypos="head") gen "Just like at Hogwarts." ("grin", xpos="far_left", ypos="head") - $ renpy.play("sounds/applause01.ogg") + play sound "sounds/applause01.ogg" her "(I hope I win! I need those house points.)" ("base", "happy", "base", "R", xpos="base", ypos="head", flip=False) - play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 fadeout 1 + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 fadeout 1 if_changed gen "First, let me introduce today's contestants." ("base", xpos="far_left", ypos="head") gen "The curly haired harlot we all know and love. Give it up for Hermione!" ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/applause01.ogg") - her "..." ("grin", "base", "worried", "mid", cheeks="blush", xpos=500, ypos="base") - $ renpy.sound.play("sounds/wolf_whistle.ogg") - her "..." ("base", "base", "worried", "mid", cheeks="blush") + play sound "sounds/applause01.ogg" + her @ cheeks blush "..." ("grin", "base", "worried", "mid", xpos=500, ypos="base") + play sound "sounds/wolf_whistle.ogg" + her @ cheeks blush "..." ("base", "base", "worried", "mid") gen "The ravishing Ravenclaw who will rock your socks off... Luna!" ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/applause01.ogg") + play sound "sounds/applause01.ogg" lun "..." ("base", "wink", "base", "mid", xpos=650, ypos="base") - $ renpy.play("sounds/giggle2_loud.ogg") + play sound "sounds/giggle2_loud.ogg" lun "*heh*... hello." ("grin", "narrow", "base", "mid") gen "And the small girl with a big personality. Astoria!" ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/applause01.ogg") + play sound "sounds/applause01.ogg" gen "..." ("grin", xpos="far_left", ypos="head") - $ renpy.play("sounds/gasp3.ogg") + play sound "sounds/gasp3.ogg" ast "Hey!" ("scream", "base", "angry", "mid", xpos=380, ypos="base") pause.5 @@ -68,23 +68,23 @@ label whose_points: gen "Today we're playing scenes from a hat." ("base", xpos="far_left", ypos="head") with hpunch - $ renpy.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" hat "What!? Stay the fuck away from me!" gen "But the notes are already inside you...{w=0.5} I put them in there last night." ("angry", xpos="far_left", ypos="head") hat "You put notes inside me without my consent?" - $ renpy.play("sounds/burp.ogg") + play sound "sounds/burp.ogg" hat "*Burp*" hat "Pardon me." gen "Looks like we have our first prompt." ("base", xpos="far_left", ypos="head") gen "\"Things you might say in potions class, but also in your bedroom\"." ("base", xpos="far_left", ypos="head") - her "This cauldron hasn't been used for years. It's all mouldy and full of muck!" ("grin", "base", "worried", "mid", cheeks="blush", xpos="right", ypos="base") + her @ cheeks blush "This cauldron hasn't been used for years. It's all mouldy and full of muck!" ("grin", "base", "worried", "mid", xpos="right", ypos="base") - $ renpy.play("sounds/applause01.ogg") - hat "Boo! There's no cauldrons in the bedroom!" + play sound "sounds/applause01.ogg" + hat "Boo! There are no cauldrons in the bedroom!" gen "Quiet now, it was a good euphemism. Ten points to Gryffindor." ("base", xpos="far_left", ypos="head") hide hermione_main @@ -92,7 +92,7 @@ label whose_points: ast "Snape! Get your gross hands off my shoulders, you creep!" ("clench", "narrow", "angry", "mid", xpos="right", ypos="base") - $ renpy.sound.play("sounds/cough_male.ogg") + play sound "sounds/cough_male.ogg" mal "..." gen "I'm not sure you got the idea of the game there..." ("base", xpos="far_left", ypos="head") hide astoria_main @@ -100,7 +100,7 @@ label whose_points: lun "Oops... I was supposed to squeeze the mucus out with my hands and not crush it." ("mad", "base", "raised", "L", xpos="right", ypos="base") - $ renpy.play("sounds/applause01.ogg") + play sound "sounds/applause01.ogg" gen "Sounds painful... Fifteen points to Ravenclaw." ("base", xpos="far_left", ypos="head") hide luna_main with d3 @@ -111,7 +111,7 @@ label whose_points: gen "Any more?{w=0.5} On to the next prompt then... Hat?" ("base", xpos="far_left", ypos="head") hat "Sorry, what did you *cough* call me? That's {i}Sorting Hat{/i} to you..." - $ renpy.play("sounds/burp.ogg") + play sound "sounds/burp.ogg" hat "*Burp*" hat "That one was spicy..." gen "Ah, this one..." ("base", xpos="far_left", ypos="head") @@ -130,9 +130,9 @@ label whose_points: with d3 her "My turn." - her "I love the feeling of a hard wooden object between my legs.{w=0.5} I tend to tense up during the climax." ("grin", cheeks="blush") + her @ cheeks blush "I love the feeling of a hard wooden object between my legs.{w=0.5} I tend to tense up during the climax." ("grin") - $ renpy.play("sounds/applause01.ogg") + play sound "sounds/applause01.ogg" gen "A bit direct, but I like it.{w=0.5} Fifteen points to Gryffindor." ("base", xpos="far_left", ypos="head") hide hermione_main with d3 @@ -141,7 +141,7 @@ label whose_points: gen "(I don't mind having you end up with one of mine in your throat one day, if you know what I mean...)" ("grin", xpos="far_left", ypos="head") - $ renpy.play("sounds/applause01.ogg") + play sound "sounds/applause01.ogg" gen "Twenty points to Ravenclaw." ("base", xpos="far_left", ypos="head") hide luna_main with d3 @@ -160,20 +160,20 @@ label whose_points: gen "That can't be right..." ("angry", xpos="far_left", ypos="head") ast "Let me check professor!" ("smile", "base", "base", "mid") - $ renpy.play("sounds/cloth_sound.ogg") + play sound "sounds/cloth_sound.ogg" ast "*Hmm*...{w} It has to be here somewhere..." ("annoyed", "base", "base", "down") ast "There it is! It was stuck under one of the folds!" ("smile", "base", "base", "mid") hide astoria_main with d3 - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" hat "Are you calling me fat, young lady?!" ast "I'll read it for you, shall I?" ("smile", "closed", "base", "mid") gen "Go ahead..." ("base", xpos="far_left", ypos="head") - ast "\"Things that you would not share with your classmates, but would share with... \"what do you call him again? ah yes, \"[lun_genie_name]\"." ("open", "base", "base", "down") + ast "\"Things that you would not share with your classmates, but would share with... \"what do you call him again? Ah yes, \"[name_genie_luna]\"." ("open", "base", "base", "down") hide astoria_main with d3 @@ -192,8 +192,8 @@ label whose_points: $ hermione.strip("bra", "top") - $ renpy.sound.play("sounds/crowd_gasp.ogg") - her "..." ("grin", "squint", "worried", "mid", cheeks="blush") + play sound "sounds/crowd_gasp.ogg" + her @ cheeks blush "..." ("grin", "squint", "worried", "mid") gen "Five hundred points to Gryffindor!" ("grin", xpos="far_left", ypos="head") hide hermione_main @@ -208,7 +208,7 @@ label whose_points: hide hermione_main with d3 - play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 fadeout 1 + play music "music/Under-the-Radar by PhobyAk.ogg" fadein 1 fadeout 1 if_changed lun "Don't end now! This game is rigged!" ("scream", "narrow", "annoyed", "L") hide luna_main with d3 @@ -222,15 +222,15 @@ label whose_points: ast "Harlot! Harlot! Harlot!" ("grin", "closed", "base", "mid", xpos=400, ypos="base") lun "How do those points taste now?" ("silly", "narrow", "annoyed", "L", xpos=600, ypos="base") - lun "The whole wizarding world is going see your tits!" ("smile", "happyCl", "base", "mid") + lun "The whole wizarding world is going to see your tits!" ("smile", "happyCl", "base", "mid") hide luna_main hide astoria_main with d3 - her "Oh no, I forgot about that!" ("shock", "base", "worried", "mid", tears="crying") + her @ tears crying "Oh no, I forgot about that!" ("shock", "base", "worried", "mid") - $ renpy.play("sounds/epic_intro.ogg") - $ renpy.play("sounds/applause01.ogg") + play sound "sounds/epic_intro.ogg" + play sound2 "sounds/applause01.ogg" gen "Good night!" ("grin", xpos="far_left", ypos="head") show screen blkfade diff --git a/game/scripts/minigames/mirror/init.rpy b/game/scripts/minigames/mirror/init.rpy index c0f27e6e..91476bec 100644 --- a/game/scripts/minigames/mirror/init.rpy +++ b/game/scripts/minigames/mirror/init.rpy @@ -1,4 +1,3 @@ -default mirror_intro_done = False default mr_ev_WPIIA = MirrorEvent( id="mr_ev_WPIIA", @@ -29,7 +28,7 @@ default mr_ev_AOC = MirrorEvent( label="an_odd_circumstance", authors=["SilverStudioGames"], tags=["Humorous","Sexual","Noir"], - req="hg_blowjob.trigger", + req="states.her.status.blowjob", ) default mr_ev_ABTTD = MirrorEvent( @@ -40,7 +39,7 @@ default mr_ev_ABTTD = MirrorEvent( label="a_bad_time_to_disrobe", authors=["SilverStudioGames"], tags=["Sexual","Flashing"], - req="hg_pf_admire_breasts.points > 1", + req="states.her.status.show_tits", ) default mr_ev_ASOC = MirrorEvent( @@ -51,7 +50,7 @@ default mr_ev_ASOC = MirrorEvent( label="a_spaced_out_conversation", authors=["Ignatz"], tags=["Noir"], - req="sna_friendship > 60", + req="states.sna.level > 60", ) default mr_ev_ABAS = MirrorEvent( @@ -63,7 +62,7 @@ default mr_ev_ABAS = MirrorEvent( label_rewards="anal_pirate_rewards", authors=["SilverStudioGames"], tags=["Humorous", "Sexual"], - req="hg_anal.trigger", + req="states.her.status.anal", ) # BROKEN @@ -122,7 +121,7 @@ default mr_ev_PR = MirrorEvent( label="panty_raid", authors=["WaxerRed"], tags=["Sexual", "Fetish"], - req="her_whoring > 15", + req="states.her.level > 15", ) default mr_ev_EFP = MirrorEvent( @@ -192,3 +191,15 @@ default mr_ev_BBB = MirrorEvent( tags=["Humorous", "Flashing"], unlocked=True, ) + +default mr_ev_GCW = MirrorEvent( + id="mr_ev_GCW", + name="Genie's Christmas Wish", + cast=["genie"], + desc="", + label="genies_christmas_wish", + label_rewards="genies_christmas_wish_rewards", + authors=["SilverStudioGames"], + tags=["Seasonal", "Noir"], + unlocked=True, +) diff --git a/game/scripts/minigames/mirror/menu.rpy b/game/scripts/minigames/mirror/menu.rpy index 57df38fa..c4f01ca5 100644 --- a/game/scripts/minigames/mirror/menu.rpy +++ b/game/scripts/minigames/mirror/menu.rpy @@ -1,9 +1,9 @@ init python: def mirror_sortfilter(item, sortby="A-z", filtering=None): if filtering == "Locked": - item = filter(lambda x: x.is_unlocked(), item) + item = [x for x in item if x.is_unlocked()] elif filtering == "Unlocked": - item = filter(lambda x: x.is_unlocked() is True, item) + item = [x for x in item if x.is_unlocked() is True] # Always sort alphabetically first. item = sorted(item, key=lambda x: natsort_key(x.name)) @@ -19,17 +19,18 @@ label mirror: label mirror_menu(xx=150, yy=90): - $ mirror_categories = mirror.get_tags() + python: + mirror_categories = mirror.get_tags() - $ items_shown = 36 - $ current_page = 0 - $ current_category = mirror_categories[0] - $ current_filter = "Unlocked" - $ current_sorting = "A-z" + items_shown = 36 + current_page = 0 + current_category = mirror_categories[0] + current_filter = "Unlocked" + current_sorting = "A-z" - $ menu_items = mirror_sortfilter(mirror.get_instances_of_tag(current_category), current_sorting, current_filter) - $ menu_items_length = len(menu_items) - $ current_item = next(iter(menu_items), None) + menu_items = mirror_sortfilter(mirror.get_instances_of_tag(current_category), current_sorting, current_filter) + menu_items_length = len(menu_items) + current_item = next(iter(menu_items), None) show screen mirror(xx, yy) diff --git a/game/scripts/minigames/mirror/screens.rpy b/game/scripts/minigames/mirror/screens.rpy deleted file mode 100644 index 678632b4..00000000 --- a/game/scripts/minigames/mirror/screens.rpy +++ /dev/null @@ -1,24 +0,0 @@ -image dark_overlay: - "images/rooms/room_of_requirement/dark_overlay_1.webp" with d3 - pause 0.4 - "images/rooms/room_of_requirement/dark_overlay_2.webp" with d3 - pause 0.4 - "images/rooms/room_of_requirement/dark_overlay_3.webp" with d3 - pause 0.4 - repeat - -screen quistion_pop_up(content=""): - zorder 33 - - add "interface/room_of_req/quistion_mark.webp" xpos 10 ypos 10 zoom 0.5 - text content xpos 40 ypos 15 - -screen day_to_night(): - use blkfade - add "images/rooms/room_of_requirement/day_to_night.webp" xalign 0.5 yalign 0.5 - zorder 5 - -screen add_overlay(): - add "dark_overlay" xpos 0 ypos 0 - zorder 6 - diff --git a/game/scripts/minigames/puzzle.rpy b/game/scripts/minigames/puzzle.rpy index 6c6577f7..93a0edee 100644 --- a/game/scripts/minigames/puzzle.rpy +++ b/game/scripts/minigames/puzzle.rpy @@ -4,14 +4,14 @@ init python: tiles = grid*grid difficulty = difficulty * tiles - puzzle = list(xrange(tiles)) + puzzle = list(range(tiles)) renpy.random.shuffle(puzzle) def is_valid(): inversions = 0 - for x in xrange(tiles): - for y in xrange(x+1, tiles): + for x in range(tiles): + for y in range(x+1, tiles): if not (puzzle[x] == blank or puzzle[y] == blank) and puzzle[x] > puzzle[y]: inversions += 1 @@ -23,7 +23,7 @@ init python: if (grid % 2 == 1): is_solvable = (inversions % 2 == 0) else: - blank_row = grid - (puzzle.index(blank) / grid) + blank_row = grid - (puzzle.index(blank) // grid) is_solvable = (inversions % 2 != blank_row % 2) too_difficult = (inversions <= difficulty) @@ -96,7 +96,7 @@ screen puzzle_minigame(): if tries >= 75: textbutton "-Force it open-" xalign 0.5 action Return(False) at pulse_hover if config.developer: - textbutton "-Solve it-" xalign 0.5 action SetScreenVariable("tiles", list(xrange(16))) + textbutton "-Solve it-" xalign 0.5 action SetScreenVariable("tiles", list(range(16))) label puzzle_minigame: call screen puzzle_minigame() @@ -106,19 +106,19 @@ label puzzle_minigame: gen "Finally..." ("base", xpos="far_left", ypos="head") gen "What is this?" ("base", xpos="far_left", ypos="head") gen "Sweet, phoenix tears! Down the hatch we go." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/pop03.ogg") - $ renpy.play("sounds/gulp.ogg") + play sound "sounds/pop03.ogg" + play sound2 "sounds/gulp.ogg" pause 1 - $ renpy.play("sounds/gulp.ogg") + play sound "sounds/gulp.ogg" gen "...." ("base", xpos="far_left", ypos="head") gen "I feel no difference..." ("base", xpos="far_left", ypos="head") $ achievements.unlock("puzzle") elif _return == False: gen "Fuck it..." ("angry", xpos="far_left", ypos="head") - $ renpy.play('sounds/door_down.ogg') + play sound "sounds/door_down.ogg" with hpunch "{size=32}*Smash*{/size}" - $ renpy.play('sounds/glass_shatter.ogg') + play sound "sounds/glass_shatter.ogg" gen "A broken bottle..." ("base", xpos="far_left", ypos="head") gen "Oh well, too late now. Back to my usual--" ("base", xpos="far_left", ypos="head") else: # Closed @@ -145,11 +145,11 @@ label puzzle_minigame: gen "(I've seen enough magic to know where this is going... I should investigate that corridor on the seventh floor.)" ("base", xpos="far_left", ypos="head") call give_reward(_("You've unlocked something on the 7th floor, check your map to get there."),"/images/rooms/room_of_requirement/mirror.webp") - if deck_unlocked: + if states.cardgame.unlocked: gen "What's this?" ("base", xpos="far_left", ypos="head") call give_reward(_("You have found a card at the bottom of the box!"), "images/cardgame/t1/other/elf_v1.webp") $ unlocked_cards += [card_item_elf] - $ unlocked_7th = True + $ states.map.seventh_floor.unlocked = True $ puzzle_box_ITEM.owned = 0 $ puzzle_box_ITEM.used = True diff --git a/game/scripts/mods.rpy b/game/scripts/mods.rpy index 3dcc6da0..78d9af71 100644 --- a/game/scripts/mods.rpy +++ b/game/scripts/mods.rpy @@ -1,177 +1,106 @@ -default persistent.mods_enabled = set() -default mods_parsed = set() +init -999: + python: + import json + import os -init python: - import json - import os - import renpy.error as rpy_error - from renpy.parser import ParseError + if not getattr(persistent, "mods_enabled"): + persistent.mods_enabled = _set() - mods_list = dict() + mods_list = _dict() + mods_incompatible = _set() + mods_compatible = 1.45 # Hardcoded due to initalization offset - def import_mods(): - global mods_list + def mods_import(): + global mods_list - all_files = renpy.list_files() - mods = filter(lambda x: x.endswith(".json"), all_files) + all_files = renpy.list_files() + mods = [x for x in all_files if x.endswith(".json")] - for i, manifest in enumerate(mods): - path = os.path.split(manifest)[0] - files = filter(lambda x: path in x, all_files) - scripts = filter(lambda x: x.endswith(".rpym"), files) - logo = "{}/logo.webp".format(path) + for i, manifest in enumerate(mods): + path = os.path.split(manifest)[0] + files = [x for x in all_files if path in x] + scripts = [x for x in files if x.endswith(".rpym")] + logo = "{}/logo.webp".format(path) - if not renpy.loadable(logo): - logo = "#000" + if not renpy.loadable(logo): + logo = "#000" - # Read manifest - with renpy.file(manifest) as f: - data = json.load(f) + # Read manifest + with renpy.open_file(manifest) as f: + data = json.load(f) - modname = data.get("Name", None) + modname = data.get("Name", None) - if not modname: - continue - - mods_list[modname] = data - mods_list[modname]["Files"] = files - mods_list[modname]["Path"] = path - mods_list[modname]["LoadOrder"] = i # TODO: Make load order customisable - mods_list[modname]["Logo"] = logo - - for mod in list(persistent.mods_enabled): - if not mods_list.get(mod, None): - persistent.mods_enabled.remove(mod) - return - - def parse_mods(): - if main_menu or _menu: - return - - for mod in list(persistent.mods_enabled): - if mod in mods_parsed: - continue - - path = mods_list[mod]["Path"] - files = mods_list[mod]["Files"] - - for file in files: - if not file.endswith(".rpym"): + if not modname: continue - fn = os.path.split(file)[1] + mods_list[modname] = data + mods_list[modname]["Files"] = files + mods_list[modname]["Scripts"] = scripts + mods_list[modname]["Path"] = path + mods_list[modname]["LoadOrder"] = i # TODO: Make load order customisable + mods_list[modname]["Logo"] = logo - with renpy.file(file) as s: - data = s.read() - - print "Loading '{}'".format(mod) - - #renpy.load_module(os.path.splitext(file)[0]) - - try: - renpy.load_string(data, filename="game/{}/{}".format(path, fn)) - except Exception as e: - print "Loading '{}' has failed.\nFile: {}\nError: {}".format(mod, fn, e) - mods_parsed.add(mod) - - renpy.execute_default_statement(False) - return - - def toggle_mod(mod): - if not main_menu: - renpy.notify("Mods can be enabled or disabled from the main menu only.") + for mod in list(persistent.mods_enabled): + if not mods_list.get(mod, None): + persistent.mods_enabled.remove(mod) return - mods = persistent.mods_enabled + def mods_init(): + global mods_incompatible + for i in persistent.mods_enabled.copy(): + control, major, *minor = mods_list[i]["GameVer"].split(" ")[0].split(".") + ver = float("{}.{}{}".format(control, major, "".join(minor))) - if mod in mods: - renpy.notify("Mod disabled.") - mods.remove(mod) - else: - renpy.notify("Mod Enabled.") - mods.add(mod) + if ver < mods_compatible: + persistent.mods_enabled.remove(i) + mods_incompatible.add(i) + continue - # - # Custom parser w/ exception handling - # + for j in mods_list[i]["Scripts"]: + name = os.path.splitext(j)[0] - def parse_script(fn, filedata=None, linenumber=1): - renpy.game.exception_info = 'While parsing ' + fn + '.' - - try: - lines = renpy.parser.list_logical_lines(fn, filedata, linenumber) - nested = renpy.parser.group_logical_lines(lines) - except ParseError as e: - renpy.parser.parse_errors.append(e.message) - - if not fn.endswith(".rpym"): - return None - - l = renpy.parser.Lexer(nested) - - rv = renpy.parser.parse_block(l) - - if renpy.parser.parse_errors: - if fn.endswith(".rpym"): - renpy.store.report_parse_errors(fn, linenumber, renpy.parser.parse_errors) - return None - - if rv: - rv.append(renpy.parser.ast.Return((rv[-1].filename, rv[-1].linenumber), None)) - - return rv - - def report_parse_errors(file, linenumber, errors): - - if not errors: - return False - - dp, fn = os.path.split(file) - - error_f, error_fn = rpy_error.open_error_file(os.path.join(dp, "errors.txt"), "w") - - with error_f: - error_f.write(u"\ufeff") # BOM - error_f.write(u"I'm sorry, but errors were detected in your mod script.\nPlease correct the errors listed below, and try again.\n\n") - - for i in errors: - if not isinstance(i, str): - i = str(i, "utf-8", "replace") - - error_f.write(i) - error_f.write(u"\n\n") - - # We need to remove reported errors to avoid incorrectly detecting .rpym format in the next call. - renpy.parser.parse_errors.remove(i) - - error_f.write(u"Game Version: {}\nRen'Py Version: {}\n{}".format(renpy.store.version, renpy.version_only, str(time.ctime()))) - - try: - if renpy.game.args.command == "run": # @UndefinedVariable - renpy.exports.launch_editor([error_fn], 1, transient=1) - renpy.exports.launch_editor([file], linenumber) - except: - pass - - return True - - # We need to monkey patch our new parser with exception handlers for mods. - renpy.parser.parse = parse_script - - # Note: Exception handling doesn't seem to be necessary at the moment. - # Note2: Catching runtime errors and finding their file of origin might be tricky... - # Note3: Might be worth 'sandboxing' mods parsing in the future - # to be able to catch all errors prior to executing them on main store. Maybe. - # Note4: Pickling monkey patched functions that are stored does not seem to be possible from within load_string - # due to saves pickling their data much earlier than mods are loaded. - # - # def exception_handler(short, full, file): - # renpy.display.error.report_exception(short, full, file) - - # define config.exception_handler = exception_handler - -init: - $ import_mods() - $ config.after_load_callbacks.append(parse_mods) + try: + renpy.include_module(name) + except Exception as e: + if config.developer: + renpy.error(e) + persistent.mods_enabled.remove(i) + mods_incompatible.add(i) + mods_import() + mods_init() + +init python: + @renpy.pure + class ToggleMod(Action, NoRollback): + def __init__(self, name): + self.name = name + + def __call__(self): + if not main_menu: + renpy.notify("Mods can be enabled or disabled from within the main menu only.") + return + + mods = persistent.mods_enabled + name = self.name + + if name in mods: + renpy.notify("Mod disabled. Remember to restart the game for the changes to take effect.") + mods.remove(name) + else: + renpy.notify("Mod Enabled. Remember to restart the game for the changes to take effect.") + mods.add(name) + + renpy.restart_interaction() + + class AskPermission(Action, NoRollback): + def __init__(self, name): + self.name = name + + def __call__(self): + if not renpy.android: + return True + + return (renpy.check_permission(self.name) or renpy.request_permission(self.name)) diff --git a/game/scripts/options.rpy b/game/scripts/options.rpy index 41b576c0..800d5fc1 100644 --- a/game/scripts/options.rpy +++ b/game/scripts/options.rpy @@ -1,4 +1,3 @@ - # Preferences # https://www.renpy.org/doc/html/preferences.html @@ -20,25 +19,36 @@ init python: settings.default("preserve_aspect_ratio", True) settings.default("animations", True) settings.default("updates", True) + settings.default("image_cache_size", 512) + settings.default("multithreading", True) + + renpy.music.register_channel("background", "sfx", True) + renpy.music.register_channel("sound2", "sfx", False) + renpy.music.register_channel("weather", "weather", True) # Configuration # https://www.renpy.org/doc/html/config.html # Pre-Release related flags and variables +define prerelease = False define config.autoreload = False define config.developer = "auto" +define config.debug = config.developer or prerelease define config.console = True # Game version and naming -define config.version = "1.44.1" -define compatible_version = 1.43 +define config.version = "1.45.3" +define compatible_version = 1.451 define config.name = "Witch Trainer Silver" + # Application window settings -define config.window_title = "{} (v{}) ({}) ({}-bit)".format(config.name, config.version, get_renderer(), renpy.bits) +define config.window_title = f"{config.name} (v{config.version}{' PRE-RELEASE' if prerelease else ''}) ({get_renderer()}) ({renpy.bits}-bit)" define config.window_icon = "gui/icon.webp" define config.screen_width = 1080 define config.screen_height = 600 +define config.physical_width = 1280 +define config.physical_height = 720 define config.save_physical_size = True # User interface settings @@ -68,7 +78,7 @@ define config.atl_start_on_show = False # Enables compatibility for ATL behaviou # define config.drawable_resolution_text = True define config.cache_surfaces = False define config.image_cache_size = None -define config.image_cache_size_mb = 350 +define config.image_cache_size_mb = settings.get("image_cache_size") define config.load_before_transition = True define config.imagemap_cache = True define config.optimize_texture_bounds = True @@ -78,6 +88,7 @@ define config.tag_zorder = { "xray_child": -1, "xray_overlay": -1, "xray_mask": -1, + "cg": 17, } # Saving and loading @@ -94,6 +105,9 @@ define config.has_music = True define config.has_voice = False define config.sound_sample_rate = 48000 define config.main_menu_music = "music/aquarium-by-kevin-macleod.ogg" +define config.fadeout_audio = 1.0 +define config.default_music_volume = 0.8 +define config.default_sfx_volume = 1.0 # Transitions define config.enter_transition = f3 @@ -114,6 +128,12 @@ define config.enter_replay_transition = None define config.exit_replay_transition = None define config.say_attribute_transition = d3 +# Python +define config.open_file_encoding = "utf-8" + +# Debug +define config.profile = False + # Garbage Collector # define config.manage_gc = True # define config.gc_thresholds = (25000, 10, 10) @@ -128,6 +148,7 @@ define config.say_attribute_transition = d3 init python: build.name = "WTS" + build.directory_name = f"WTS-{config.version}" build.include_update = True build.include_old_themes = False build.exclude_empty_directories = True @@ -146,7 +167,8 @@ init python: build.classify("icon.ico", "windows") build.classify("game/presplash_*.png", "renpy") build.classify("game/outfits/**", "all") - build.classify("game/mods/MyMod/**", "all") + build.classify("game/mods/ExampleMod/**", "all") + build.classify("update/generic.webp", "pc mac") build.classify("**.py", None) build.classify("**.txt", None) @@ -165,3 +187,5 @@ init python: build.classify("cache/**", "android") build.classify("game/saves/**", None) build.classify("game/mods/**", None) + + # build.android_permissions = ["android.permission.WRITE_EXTERNAL_STORAGE"] # Not functional since API level 30+ diff --git a/game/scripts/rooms/boxing_ring/init.rpy b/game/scripts/rooms/boxing_ring/init.rpy index 0a14e273..5d6e7629 100644 --- a/game/scripts/rooms/boxing_ring/init.rpy +++ b/game/scripts/rooms/boxing_ring/init.rpy @@ -48,7 +48,7 @@ screen boxing_ring_overlay(): # label snape_office: # call room("snape_office") -# call play_music("snape_office") +# play music "music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg" fadein 1 if_changed # if game.daytime: # $ snape_office_desk_OBJ.set_image("snape_office_desk") diff --git a/game/scripts/rooms/init.rpy b/game/scripts/rooms/init.rpy index 3fcc9d7d..732332a8 100644 --- a/game/scripts/rooms/init.rpy +++ b/game/scripts/rooms/init.rpy @@ -39,11 +39,22 @@ init -1 python: # Backwards compatibility, to be resolved if possible. self.xpos, self.ypos = self.pos + def generate_hash(self): + salt = str( [self.id, self.pos, self.idle, self.hover, self.foreground, self.background, self.anchor, self.focus_mask, + self.action, self.hovered, self.unhovered, self.tooltip, self.decoration, self.zorder, self.hidden] + ) + + return hash(salt) + def set_image(self, idle, hover=None): self.idle = idle self.hover = hover or idle def get_idle(self): + return self._get_idle(self.generate_hash()) + + @functools.cache + def _get_idle(self, hash): if self.hidden: return Null() @@ -55,6 +66,10 @@ init -1 python: return Fixed(self.idle, fit_first=True) def get_hover(self): + return self._get_hover(self.generate_hash()) + + @functools.cache + def _get_hover(self, hash): if self.hidden: return Null() diff --git a/game/scripts/rooms/labels.rpy b/game/scripts/rooms/labels.rpy index ddb673de..14fbb4db 100644 --- a/game/scripts/rooms/labels.rpy +++ b/game/scripts/rooms/labels.rpy @@ -3,15 +3,18 @@ label room(room=None, hide_screens=True, stop_sound=True): # Hide all screens (only room related screens are shown) if hide_screens: - call hide_screens + $ renpy.scene("screens") # Stop sound effects (necessary when changing rooms) if stop_sound: - call stop_sound_effects + stop background fadeout 0.5 + stop weather fadeout 0.5 - $ renpy.stop_predict("images/rooms/{}/*.webp".format(current_room)) - $ current_room = room - $ renpy.start_predict("images/rooms/{}/*.webp".format(current_room)) + $ renpy.stop_predict_screen(states.room) + $ renpy.stop_predict("images/rooms/{}/*.webp".format(states.room)) + $ states.room = room + $ renpy.start_predict_screen(states.room) + $ renpy.start_predict("images/rooms/{}/*.webp".format(states.room)) if room == "main_room": # Update sound effects @@ -19,9 +22,9 @@ label room(room=None, hide_screens=True, stop_sound=True): show screen main_room - if mailbox.get_letters() and not owl_away: + if mailbox.get_letters(): $ owl_OBJ.hidden = False - call play_sound("owl") + play sound "sounds/owl.ogg" if mailbox.get_parcels(): $ parcel_OBJ.hidden = False diff --git a/game/scripts/rooms/main_room/images.rpy b/game/scripts/rooms/main_room/images.rpy index ddcf6817..8d5c30bc 100644 --- a/game/scripts/rooms/main_room/images.rpy +++ b/game/scripts/rooms/main_room/images.rpy @@ -1,25 +1,27 @@ image fireplace_fire: + animation offset (-24, -6) - "images/rooms/objects/fireplace/fireplace_fire_01.webp" + "images/rooms/main_room/fireplace/fireplace_fire_01.webp" pause.1 - "images/rooms/objects/fireplace/fireplace_fire_02.webp" + "images/rooms/main_room/fireplace/fireplace_fire_02.webp" pause.1 - "images/rooms/objects/fireplace/fireplace_fire_03.webp" + "images/rooms/main_room/fireplace/fireplace_fire_03.webp" pause.1 - "images/rooms/objects/fireplace/fireplace_fire_04.webp" + "images/rooms/main_room/fireplace/fireplace_fire_04.webp" pause.1 - "images/rooms/objects/fireplace/fireplace_fire_05.webp" + "images/rooms/main_room/fireplace/fireplace_fire_05.webp" pause.1 - "images/rooms/objects/fireplace/fireplace_fire_06.webp" + "images/rooms/main_room/fireplace/fireplace_fire_06.webp" pause.1 - "images/rooms/objects/fireplace/fireplace_fire_07.webp" + "images/rooms/main_room/fireplace/fireplace_fire_07.webp" pause.1 - "images/rooms/objects/fireplace/fireplace_fire_08.webp" + "images/rooms/main_room/fireplace/fireplace_fire_08.webp" pause.1 repeat image glow_effect: + animation "images/animation/glow_effect/glow_1.webp" pause.1 "images/animation/glow_effect/glow_2.webp" @@ -51,25 +53,26 @@ image glow_effect_fireplace: "glow_effect" image candle_fire_01: - "images/rooms/objects/candles/fire_01.webp" + animation + "images/rooms/main_room/candles/fire_01.webp" pause.1 - "images/rooms/objects/candles/fire_02.webp" + "images/rooms/main_room/candles/fire_02.webp" pause.1 - "images/rooms/objects/candles/fire_03.webp" + "images/rooms/main_room/candles/fire_03.webp" pause.1 - "images/rooms/objects/candles/fire_04.webp" + "images/rooms/main_room/candles/fire_04.webp" pause.1 - "images/rooms/objects/candles/fire_05.webp" + "images/rooms/main_room/candles/fire_05.webp" pause.1 - "images/rooms/objects/candles/fire_06.webp" + "images/rooms/main_room/candles/fire_06.webp" pause.1 - "images/rooms/objects/candles/fire_07.webp" + "images/rooms/main_room/candles/fire_07.webp" pause.1 - "images/rooms/objects/candles/fire_08.webp" + "images/rooms/main_room/candles/fire_08.webp" pause.1 - "images/rooms/objects/candles/fire_09.webp" + "images/rooms/main_room/candles/fire_09.webp" pause.1 - "images/rooms/objects/candles/fire_10.webp" + "images/rooms/main_room/candles/fire_10.webp" choice: pause.1 choice: @@ -79,25 +82,26 @@ image candle_fire_01: repeat image candle_fire_02: - "images/rooms/objects/candles/fire_01.webp" + animation + "images/rooms/main_room/candles/fire_01.webp" pause.1 - "images/rooms/objects/candles/fire_04.webp" + "images/rooms/main_room/candles/fire_04.webp" pause.1 - "images/rooms/objects/candles/fire_03.webp" + "images/rooms/main_room/candles/fire_03.webp" pause.1 - "images/rooms/objects/candles/fire_02.webp" + "images/rooms/main_room/candles/fire_02.webp" pause.1 - "images/rooms/objects/candles/fire_08.webp" + "images/rooms/main_room/candles/fire_08.webp" pause.1 - "images/rooms/objects/candles/fire_06.webp" + "images/rooms/main_room/candles/fire_06.webp" pause.1 - "images/rooms/objects/candles/fire_07.webp" + "images/rooms/main_room/candles/fire_07.webp" pause.1 - "images/rooms/objects/candles/fire_05.webp" + "images/rooms/main_room/candles/fire_05.webp" pause.1 - "images/rooms/objects/candles/fire_10.webp" + "images/rooms/main_room/candles/fire_10.webp" pause.1 - "images/rooms/objects/candles/fire_09.webp" + "images/rooms/main_room/candles/fire_09.webp" choice: pause.1 choice: @@ -107,72 +111,74 @@ image candle_fire_02: repeat image phoenix_idle: + animation zoom 0.5 - "images/rooms/objects/phoenix/phoenix_01.webp" + "images/rooms/main_room/phoenix/phoenix_01.webp" pause 2 - "images/rooms/objects/phoenix/phoenix_02.webp" + "images/rooms/main_room/phoenix/phoenix_02.webp" pause.15 - "images/rooms/objects/phoenix/phoenix_03.webp" + "images/rooms/main_room/phoenix/phoenix_03.webp" pause.15 - "images/rooms/objects/phoenix/phoenix_02.webp" + "images/rooms/main_room/phoenix/phoenix_02.webp" pause.15 - "images/rooms/objects/phoenix/phoenix_01.webp" + "images/rooms/main_room/phoenix/phoenix_01.webp" pause.15 - "images/rooms/objects/phoenix/phoenix_02.webp" + "images/rooms/main_room/phoenix/phoenix_02.webp" pause.15 - "images/rooms/objects/phoenix/phoenix_03.webp" + "images/rooms/main_room/phoenix/phoenix_03.webp" pause.15 - "images/rooms/objects/phoenix/phoenix_02.webp" + "images/rooms/main_room/phoenix/phoenix_02.webp" pause.15 - "images/rooms/objects/phoenix/phoenix_01.webp" + "images/rooms/main_room/phoenix/phoenix_01.webp" pause 10 repeat image phoenix_hover: zoom 0.5 - "images/rooms/objects/phoenix/phoenix_hover.webp" + "images/rooms/main_room/phoenix/phoenix_hover.webp" image phoenix_feather: + animation zoom 0.5 pause 10 alpha 1.0 - "images/rooms/objects/phoenix/feather_ani/pho_01.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_01.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_02.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_02.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_03.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_03.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_04.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_04.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_05.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_05.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_06.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_06.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_07.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_07.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_08.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_08.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_09.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_09.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_10.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_10.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_11.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_11.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_12.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_12.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_13.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_13.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_14.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_14.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_15.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_15.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_16.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_16.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_17.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_17.webp" pause.15 - "images/rooms/objects/phoenix/feather_ani/pho_18.webp" + "images/rooms/main_room/phoenix/feather_ani/pho_18.webp" pause 10 linear .5 alpha 0.0 repeat @@ -180,117 +186,120 @@ image phoenix_feather: image phoenix_food: zoom 0.5 - "images/rooms/objects/phoenix/food.webp" + "images/rooms/main_room/phoenix/food.webp" image door_idle: zoom 0.5 - "images/rooms/objects/doors/door_idle.webp" + "images/rooms/main_room/door/door_idle.webp" image door_hover: zoom 0.5 - "images/rooms/objects/doors/door_hover.webp" + "images/rooms/main_room/door/door_hover.webp" image fireplace_idle: zoom 0.5 - "images/rooms/objects/fireplace/fireplace_idle.webp" + "images/rooms/main_room/fireplace/fireplace_idle.webp" image fireplace_idle_shadow: zoom 0.5 - "images/rooms/objects/fireplace/fireplace_w_shadow.webp" + "images/rooms/main_room/fireplace/fireplace_w_shadow.webp" image fireplace_hover: zoom 0.5 - "images/rooms/objects/fireplace/fireplace_hover.webp" + "images/rooms/main_room/fireplace/fireplace_hover.webp" image owl_idle: + animation zoom 0.5 - "images/rooms/objects/mail/owl_idle_01.webp" + "images/rooms/main_room/mail/owl_idle_01.webp" pause.1 - "images/rooms/objects/mail/owl_idle_02.webp" + "images/rooms/main_room/mail/owl_idle_02.webp" pause.1 - "images/rooms/objects/mail/owl_idle_03.webp" + "images/rooms/main_room/mail/owl_idle_03.webp" pause.15 - "images/rooms/objects/mail/owl_idle_02.webp" + "images/rooms/main_room/mail/owl_idle_02.webp" pause.1 - "images/rooms/objects/mail/owl_idle_01.webp" + "images/rooms/main_room/mail/owl_idle_01.webp" pause 7 repeat image owl_letter: + animation zoom 0.5 - "images/rooms/objects/mail/owl_01.webp" + "images/rooms/main_room/mail/owl_01.webp" pause.1 - "images/rooms/objects/mail/owl_02.webp" + "images/rooms/main_room/mail/owl_02.webp" pause.1 - "images/rooms/objects/mail/owl_03.webp" + "images/rooms/main_room/mail/owl_03.webp" pause.15 - "images/rooms/objects/mail/owl_02.webp" + "images/rooms/main_room/mail/owl_02.webp" pause.1 - "images/rooms/objects/mail/owl_01.webp" + "images/rooms/main_room/mail/owl_01.webp" pause 7 repeat image owl_letter_hover: zoom 0.5 - "images/rooms/objects/mail/owl_hover.webp" + "images/rooms/main_room/mail/owl_hover.webp" image parcel: - "images/rooms/objects/parcel/idle.webp" + "images/rooms/main_room/parcel/idle.webp" image cupboard_idle: zoom 0.5 - "images/rooms/objects/cupboard/cupboard_w_shadow.webp" + "images/rooms/main_room/cupboard/cupboard_w_shadow.webp" image cupboard_open: zoom 0.5 - "images/rooms/objects/cupboard/cupboard_open.webp" + "images/rooms/main_room/cupboard/cupboard_open.webp" image main_room_idle_day: zoom 0.5 - "images/rooms/_bg_/main_room_day.webp" + "images/rooms/main_room/bg_day.webp" image main_room_idle_night: zoom 0.5 - "images/rooms/_bg_/main_room_night.webp" + "images/rooms/main_room/bg_night.webp" image candle_left: zoom 0.5 - "images/rooms/objects/candles/candleM.webp" + "images/rooms/main_room/candles/candleM.webp" image candle_right: zoom 0.5 - "images/rooms/objects/candles/candle.webp" + "images/rooms/main_room/candles/candle.webp" image candle_fire: #Candle fire. - "images/rooms/objects/candles/fire_01.webp" + animation + "images/rooms/main_room/candles/fire_01.webp" pause.1 - "images/rooms/objects/candles/fire_04.webp" + "images/rooms/main_room/candles/fire_04.webp" pause.1 - "images/rooms/objects/candles/fire_03.webp" + "images/rooms/main_room/candles/fire_03.webp" pause.1 - "images/rooms/objects/candles/fire_02.webp" + "images/rooms/main_room/candles/fire_02.webp" pause.1 - "images/rooms/objects/candles/fire_08.webp" + "images/rooms/main_room/candles/fire_08.webp" pause.1 - "images/rooms/objects/candles/fire_06.webp" + "images/rooms/main_room/candles/fire_06.webp" pause.1 - "images/rooms/objects/candles/fire_07.webp" + "images/rooms/main_room/candles/fire_07.webp" pause.1 - "images/rooms/objects/candles/fire_05.webp" + "images/rooms/main_room/candles/fire_05.webp" pause.1 - "images/rooms/objects/candles/fire_10.webp" + "images/rooms/main_room/candles/fire_10.webp" pause.1 - "images/rooms/objects/candles/fire_09.webp" + "images/rooms/main_room/candles/fire_09.webp" pause.1 repeat @@ -312,24 +321,24 @@ image chair_left: image letter_on_desk: zoom 0.5 - "/images/rooms/objects/desk/letter.webp" + "/images/rooms/main_room/desk/letter.webp" image plant_on_desk: zoom 0.5 - "/images/rooms/objects/desk/plant.webp" + "/images/rooms/main_room/desk/plant.webp" image letter_and_plant_on_desk: contains: zoom 0.5 - "/images/rooms/objects/desk/letter.webp" + "/images/rooms/main_room/desk/letter.webp" contains: zoom 0.5 - "/images/rooms/objects/desk/plant.webp" + "/images/rooms/main_room/desk/plant.webp" image desk_dumbledore: zoom 0.5 @@ -337,10 +346,11 @@ image desk_dumbledore: "images/rooms/main_room/dum.webp" image halloween_chandelier: + animation contains: anchor (0.5, 0.0) - "images/rooms/objects/decorations/halloween_chandelier.webp" + "images/rooms/main_room/decorations/halloween_chandelier.webp" contains: offset (-266, 6) @@ -361,28 +371,29 @@ image halloween_chandelier: image halloween_fireplace_jackolanterns: offset (36, 78) - "images/rooms/objects/decorations/halloween_fireplace2.webp" + "images/rooms/main_room/decorations/halloween_fireplace2.webp" image halloween_window_monster: - "images/rooms/objects/decorations/halloween_monster/0.webp" + animation + "images/rooms/main_room/decorations/halloween_monster/0.webp" pause 3 - "images/rooms/objects/decorations/halloween_monster/1.webp" + "images/rooms/main_room/decorations/halloween_monster/1.webp" pause 0.1 - "images/rooms/objects/decorations/halloween_monster/2.webp" + "images/rooms/main_room/decorations/halloween_monster/2.webp" pause 0.1 - "images/rooms/objects/decorations/halloween_monster/3.webp" + "images/rooms/main_room/decorations/halloween_monster/3.webp" pause 0.25 - "images/rooms/objects/decorations/halloween_monster/2.webp" + "images/rooms/main_room/decorations/halloween_monster/2.webp" pause 0.1 - "images/rooms/objects/decorations/halloween_monster/1.webp" + "images/rooms/main_room/decorations/halloween_monster/1.webp" pause 0.25 - "images/rooms/objects/decorations/halloween_monster/2.webp" + "images/rooms/main_room/decorations/halloween_monster/2.webp" pause 0.1 - "images/rooms/objects/decorations/halloween_monster/3.webp" + "images/rooms/main_room/decorations/halloween_monster/3.webp" pause 0.5 - "images/rooms/objects/decorations/halloween_monster/2.webp" + "images/rooms/main_room/decorations/halloween_monster/2.webp" pause 0.1 - "images/rooms/objects/decorations/halloween_monster/1.webp" + "images/rooms/main_room/decorations/halloween_monster/1.webp" pause 0.1 repeat @@ -390,28 +401,29 @@ image halloween_window_monster: image halloween_cupboard_caskets: offset (12, 318) - "images/rooms/objects/decorations/halloween_cupboard2.webp" + "images/rooms/main_room/decorations/halloween_cupboard2.webp" image halloween_chair_caskets: offset (55, 105) - "images/rooms/objects/decorations/halloween_chair.webp" + "images/rooms/main_room/decorations/halloween_chair.webp" image halloween_bats_trophy: offset (-74, -34) - "images/rooms/objects/decorations/bats_trophy.webp" + "images/rooms/main_room/decorations/bats_trophy.webp" image halloween_lamp_left: offset (-10, -6) - "images/rooms/objects/decorations/halloween_lamp/left.webp" + "images/rooms/main_room/decorations/halloween_lamp/left.webp" image halloween_lamp_left_glow: zoom 0.5 offset (-111, -81) contains: + animation alpha 0.9 - "images/rooms/objects/decorations/halloween_lamp/glow.webp" + "images/rooms/main_room/decorations/halloween_lamp/glow.webp" pause 2.0 ease_bounce 3.0 alpha 0.75 @@ -420,20 +432,21 @@ image halloween_lamp_left_glow: repeat contains: - "images/rooms/objects/decorations/halloween_lamp/filament.webp" + "images/rooms/main_room/decorations/halloween_lamp/filament.webp" image halloween_lamp_right: offset (-10, -6) - "images/rooms/objects/decorations/halloween_lamp/right.webp" + "images/rooms/main_room/decorations/halloween_lamp/right.webp" image halloween_lamp_right_glow: zoom 0.5 offset (-111, -81) contains: + animation alpha 0.9 - "images/rooms/objects/decorations/halloween_lamp/glow.webp" + "images/rooms/main_room/decorations/halloween_lamp/glow.webp" choice: pause 2.0 @@ -448,21 +461,21 @@ image halloween_lamp_right_glow: repeat contains: - "images/rooms/objects/decorations/halloween_lamp/filament.webp" + "images/rooms/main_room/decorations/halloween_lamp/filament.webp" image snow_owl_idle: zoom 0.5 offset (-3, -3) - "images/rooms/objects/decorations/snow_owl/idle_0.webp" + "images/rooms/main_room/decorations/snow_owl/idle_0.webp" pause.1 - "images/rooms/objects/decorations/snow_owl/idle_1.webp" + "images/rooms/main_room/decorations/snow_owl/idle_1.webp" pause.1 - "images/rooms/objects/decorations/snow_owl/idle_2.webp" + "images/rooms/main_room/decorations/snow_owl/idle_2.webp" pause.15 - "images/rooms/objects/decorations/snow_owl/idle_1.webp" + "images/rooms/main_room/decorations/snow_owl/idle_1.webp" pause.1 - "images/rooms/objects/decorations/snow_owl/idle_0.webp" + "images/rooms/main_room/decorations/snow_owl/idle_0.webp" pause 7 repeat @@ -470,15 +483,15 @@ image snow_owl_letter: zoom 0.5 offset (-3, -3) - "images/rooms/objects/decorations/snow_owl/letter_0.webp" + "images/rooms/main_room/decorations/snow_owl/letter_0.webp" pause.1 - "images/rooms/objects/decorations/snow_owl/letter_1.webp" + "images/rooms/main_room/decorations/snow_owl/letter_1.webp" pause.1 - "images/rooms/objects/decorations/snow_owl/letter_2.webp" + "images/rooms/main_room/decorations/snow_owl/letter_2.webp" pause.15 - "images/rooms/objects/decorations/snow_owl/letter_1.webp" + "images/rooms/main_room/decorations/snow_owl/letter_1.webp" pause.1 - "images/rooms/objects/decorations/snow_owl/letter_0.webp" + "images/rooms/main_room/decorations/snow_owl/letter_0.webp" pause 7 repeat @@ -486,21 +499,21 @@ image snow_owl_letter_hover: zoom 0.5 offset (-3, -3) - "images/rooms/objects/decorations/snow_owl/letter_hover.webp" + "images/rooms/main_room/decorations/snow_owl/letter_hover.webp" image small_owl_idle: zoom 0.5 offset (-1, -3) - "images/rooms/objects/decorations/small_owl/idle_0.webp" + "images/rooms/main_room/decorations/small_owl/idle_0.webp" pause.1 - "images/rooms/objects/decorations/small_owl/idle_1.webp" + "images/rooms/main_room/decorations/small_owl/idle_1.webp" pause.1 - "images/rooms/objects/decorations/small_owl/idle_2.webp" + "images/rooms/main_room/decorations/small_owl/idle_2.webp" pause.15 - "images/rooms/objects/decorations/small_owl/idle_1.webp" + "images/rooms/main_room/decorations/small_owl/idle_1.webp" pause.1 - "images/rooms/objects/decorations/small_owl/idle_0.webp" + "images/rooms/main_room/decorations/small_owl/idle_0.webp" pause 7 repeat @@ -508,15 +521,15 @@ image small_owl_letter: zoom 0.5 offset (-1, -3) - "images/rooms/objects/decorations/small_owl/letter_0.webp" + "images/rooms/main_room/decorations/small_owl/letter_0.webp" pause.1 - "images/rooms/objects/decorations/small_owl/letter_1.webp" + "images/rooms/main_room/decorations/small_owl/letter_1.webp" pause.1 - "images/rooms/objects/decorations/small_owl/letter_2.webp" + "images/rooms/main_room/decorations/small_owl/letter_2.webp" pause.15 - "images/rooms/objects/decorations/small_owl/letter_1.webp" + "images/rooms/main_room/decorations/small_owl/letter_1.webp" pause.1 - "images/rooms/objects/decorations/small_owl/letter_0.webp" + "images/rooms/main_room/decorations/small_owl/letter_0.webp" pause 7 repeat @@ -524,13 +537,13 @@ image small_owl_letter_hover: zoom 0.5 offset (-1, -3) - "images/rooms/objects/decorations/small_owl/letter_hover.webp" + "images/rooms/main_room/decorations/small_owl/letter_hover.webp" image xmas_lights_static: contains: alpha 0.5 - "images/rooms/objects/decorations/xmas_lights/underlay.webp" + "images/rooms/main_room/decorations/xmas_lights/underlay.webp" contains: "xmas_lights_set1_bulbs" @@ -539,7 +552,7 @@ image xmas_lights_static: "xmas_lights_set2_bulbs" contains: - "images/rooms/objects/decorations/xmas_lights/base.webp" + "images/rooms/main_room/decorations/xmas_lights/base.webp" contains: "xmas_lights_set1_glow" @@ -550,9 +563,10 @@ image xmas_lights_static: image xmas_lights_alternate: contains: alpha 0.5 - "images/rooms/objects/decorations/xmas_lights/underlay.webp" + "images/rooms/main_room/decorations/xmas_lights/underlay.webp" contains: + animation alpha 1.0 "xmas_lights_set1_bulbs" linear 0.5 alpha 0.5 @@ -560,6 +574,7 @@ image xmas_lights_alternate: repeat contains: + animation alpha 0.5 "xmas_lights_set2_bulbs" linear 0.5 alpha 1.0 @@ -567,9 +582,10 @@ image xmas_lights_alternate: repeat contains: - "images/rooms/objects/decorations/xmas_lights/base.webp" + "images/rooms/main_room/decorations/xmas_lights/base.webp" contains: + animation alpha 1.0 "xmas_lights_set1_glow" linear 0.5 alpha 0.0 @@ -577,6 +593,7 @@ image xmas_lights_alternate: repeat contains: + animation alpha 0.0 "xmas_lights_set2_glow" linear 0.5 alpha 1.0 @@ -586,30 +603,34 @@ image xmas_lights_alternate: image xmas_lights_cycle: contains: alpha 0.5 - "images/rooms/objects/decorations/xmas_lights/underlay.webp" + "images/rooms/main_room/decorations/xmas_lights/underlay.webp" contains: + animation matrixcolor HueMatrix(0) "xmas_lights_set1_bulbs" linear 18.0 matrixcolor HueMatrix(360) repeat contains: + animation matrixcolor HueMatrix(0) "xmas_lights_set2_bulbs" linear 18.0 matrixcolor HueMatrix(360) repeat contains: - "images/rooms/objects/decorations/xmas_lights/base.webp" + "images/rooms/main_room/decorations/xmas_lights/base.webp" contains: + animation matrixcolor HueMatrix(0) "xmas_lights_set1_glow" linear 18.0 matrixcolor HueMatrix(360) repeat contains: + animation matrixcolor HueMatrix(0) "xmas_lights_set2_glow" linear 18.0 matrixcolor HueMatrix(360) @@ -618,9 +639,10 @@ image xmas_lights_cycle: image xmas_lights_pulse: contains: alpha 0.5 - "images/rooms/objects/decorations/xmas_lights/underlay.webp" + "images/rooms/main_room/decorations/xmas_lights/underlay.webp" contains: + animation alpha 1.0 "xmas_lights_set1_bulbs" easeout 3.5 alpha 0.0 @@ -630,6 +652,7 @@ image xmas_lights_pulse: repeat contains: + animation alpha 1.0 "xmas_lights_set2_bulbs" easeout 3.5 alpha 0.0 @@ -639,9 +662,10 @@ image xmas_lights_pulse: repeat contains: - "images/rooms/objects/decorations/xmas_lights/base.webp" + "images/rooms/main_room/decorations/xmas_lights/base.webp" contains: + animation alpha 1.0 "xmas_lights_set1_glow" easeout 3.5 alpha 0.0 @@ -651,6 +675,7 @@ image xmas_lights_pulse: repeat contains: + animation alpha 1.0 "xmas_lights_set2_glow" easeout 3.5 alpha 0.0 @@ -662,9 +687,35 @@ image xmas_lights_pulse: image xmas_wreaths: pos (35, -65) - "images/rooms/objects/decorations/xmas_wreaths.webp" + "images/rooms/main_room/decorations/xmas_wreaths.webp" image xmas_giftchair: pos (35, 108) - "images/rooms/objects/decorations/xmas_giftchair.webp" + "images/rooms/main_room/decorations/xmas_giftchair.webp" + +image xmas_window_santa_doodle: + size (2160, 1200) + contains: + animation + size (240, 108) + subpixel True + offset (640, 460) + + contains: + fit "fill" + "xmas_window_santa_base" + contains: + animation + fit "fill" + "xmas_window_santa_light" + + linear 0.5 alpha 0.1 + linear 0.5 alpha 1.0 + repeat + + linear 10.0 xoffset 1000 + pause 10.0 + repeat + +image xmas_window_santa = AlphaMask("xmas_window_santa_doodle", "xmas_window_santa_mask") diff --git a/game/scripts/rooms/main_room/init.rpy b/game/scripts/rooms/main_room/init.rpy index 87fd4467..55f6a720 100644 --- a/game/scripts/rooms/main_room/init.rpy +++ b/game/scripts/rooms/main_room/init.rpy @@ -56,7 +56,6 @@ screen main_room(): label main_room: call room("main_room", stop_sound=False) call reset_menu_position - call music_block call gen_walk(action="enter", xpos="desk", ypos="base", speed=1.5) call gen_chibi("sit_behind_desk") with d3 diff --git a/game/scripts/rooms/main_room/objects/cupboard.rpy b/game/scripts/rooms/main_room/objects/cupboard.rpy index 50308490..e709c2bd 100644 --- a/game/scripts/rooms/main_room/objects/cupboard.rpy +++ b/game/scripts/rooms/main_room/objects/cupboard.rpy @@ -1,10 +1,8 @@ -default cupboard_searched = False - label cupboard: if game.day == 1: - if not cupboard_examined: - $ cupboard_examined = True + if not states.gen.ev.intro.cupboard_examined: + $ states.gen.ev.intro.cupboard_examined = True $ cupboard_OBJ.idle = "cupboard_idle" call gen_chibi("stand","behind_desk","base", flip=False) with d5 @@ -18,20 +16,20 @@ label cupboard: else: gen "Looks like any other cupboard, maybe a bit dustier." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu - if cupboard_searched: + if states.cupboard_rummaged: if game.daytime: - ">You have already searched the cupboard today." + nar "You have already searched the cupboard today." else: - ">You have already searched the cupboard tonight." + nar "You have already searched the cupboard tonight." jump main_room_menu - $ cupboard_searched = True # Resets every day/night. - $ rum_times += 1 # Stat counter. + $ states.cupboard_rummaged = True # Resets every day/night. + $ states.cupboard_rummaged_times += 1 # Stat counter. $ cupboard_OBJ.idle = "cupboard_open" call gen_chibi("rummage", 160, 459, flip=False) # Note: Flip is inconsistent @@ -39,30 +37,30 @@ label cupboard: show screen bld1 with d3 - ">You rummage through the cupboard for a while..." + nar "You rummage through the cupboard for a while..." $ random_percent = renpy.random.randint(1, 100) # Dueling potion - if game.day <= 3 and rum_times in [1,2]: - $ potions += 1 - call give_reward(_(">You found some sort of healing potion..."),"interface/icons/item_potion.webp") + if game.day <= 3 and states.cupboard_rummaged_times in [1,2]: + $ states.healing_potions += 1 + call give_reward("You found some sort of healing potion...","interface/icons/item_potion.webp") $ cupboard_OBJ.idle = "cupboard_idle" call gen_chibi("sit_behind_desk") jump main_room_menu # Dumbledore card - if game.day >= 26 and deck_unlocked and random_percent <= 40 and not card_exist(unlocked_cards,card_dumbledore) : - call give_reward(_("You have found a special card!"), "images/cardgame/t1/special/dumbledore_v1.webp") + if game.day >= 26 and states.cardgame.unlocked and random_percent <= 40 and not card_exist(unlocked_cards,card_dumbledore) : + call give_reward("You have found a special card!", "images/cardgame/t1/special/dumbledore_v1.webp") $ unlocked_cards += [card_dumbledore] $ cupboard_OBJ.idle = "cupboard_idle" call gen_chibi("sit_behind_desk") jump main_room_menu # Map - if not map_unlocked and hermione_favors: - $ map_unlocked = True - call give_reward(_(">You found a map of the school grounds."), "interface/icons/generic_scroll.webp") + if not states.map.unlocked and states.her.favors_unlocked: + $ states.map.unlocked = True + call give_reward("You found a map of the school grounds.", "interface/icons/generic_scroll.webp") gen "What's this? A map?" ("base", xpos="far_left", ypos="head") $ cupboard_OBJ.idle = "cupboard_idle" @@ -82,20 +80,20 @@ label cupboard: label rum_block(item): if isinstance(item, int): $ game.gold += item - call give_reward(_(">You found [item] gold..."), "interface/icons/gold.webp") + call give_reward("You found [item] gold...", "interface/icons/gold.webp") elif item == "nothing": - ">You found nothing of value..." + nar "You found nothing of value..." else: $ item.owned += 1 if item == wine_ITEM: - call give_reward(_(">You found a bottle of wine from professor Dumbledore's personal stash..."), item) + call give_reward("You found a bottle of wine from professor Dumbledore's personal stash...", item) elif item == firewhisky_ITEM: - call give_reward(_(">You found a bottle of firewhisky from professor Dumbledore's personal stash..."), item) + call give_reward("You found a bottle of firewhisky from professor Dumbledore's personal stash...", item) else: - call give_reward(_(">You found [item.name]..."), item) + call give_reward("You found [item.name]...", item) call tutorial("inventory") @@ -108,8 +106,8 @@ init python: def drop_item_from_cupboard(random_percent): drop_list = [item for item in inventory.get_instances_of_type("gift") if item.unlocked] - dr = max(rum_times - game.day, 0) * 2 # Frequent rummaging penalty - progress_factor = math.log(her_tier + cho_tier + ton_tier + lun_tier + game.day) + dr = max(states.cupboard_rummaged_times - game.day, 0) * 2 # Frequent rummaging penalty + progress_factor = math.log(states.her.tier + states.cho.tier + states.ton.tier + states.lun.tier + game.day) if firewhisky_ITEM.unlocked and firewhisky_ITEM.owned < 1: return firewhisky_ITEM @@ -122,7 +120,7 @@ init python: if game.gold < int(170 * math.log(game.day)) and random_percent <= 56 - dr: return int(progress_factor * random_gold) else: - filtered_list = filter(lambda x: x.owned <= 5, drop_list) + filtered_list = [x for x in drop_list if x.owned <= 5] random_item = renpy.random.choice(filtered_list if filtered_list else drop_list) return random_item @@ -132,7 +130,7 @@ init python: if game.gold < int(120 * math.log(game.day)) and random_percent <= 38 - dr: return int(progress_factor * random_gold) else: - filtered_list = filter(lambda x: x.owned <= 3, drop_list) + filtered_list = [x for x in drop_list if x.owned <= 3] random_item = renpy.random.choice(filtered_list if filtered_list else drop_list) if int(120 * math.log(game.day)) / 3 < random_item.price: diff --git a/game/scripts/rooms/main_room/objects/desk.rpy b/game/scripts/rooms/main_room/objects/desk.rpy index d569c996..e310e56c 100644 --- a/game/scripts/rooms/main_room/objects/desk.rpy +++ b/game/scripts/rooms/main_room/objects/desk.rpy @@ -1,8 +1,8 @@ label desk: if game.day == 1: - if not desk_examined: - $ desk_examined = True + if not states.gen.ev.intro.desk_examined: + $ states.gen.ev.intro.desk_examined = True $ desk_OBJ.idle = "ch_gen sit_behind_desk" call bld gen "A desk of some sort..." ("base", xpos="far_left", ypos="head") @@ -29,7 +29,7 @@ label desk: else: gen "I've already checked the desk." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu @@ -43,7 +43,7 @@ label desk: #Screens - call play_sound("scroll") + play sound "sounds/scroll.ogg" show screen desk_menu with d1 @@ -54,16 +54,16 @@ label desk: #Hermione - if _choice == "hermione" and hermione_busy: + if _choice == "hermione" and states.her.busy: if game.daytime: - call nar(">Hermione is taking classes.") + nar "Hermione is taking classes." jump main_room_menu else: - call nar(">Hermione is already asleep.") + nar "Hermione is already asleep." jump main_room_menu - elif _choice == "hermione" and not hermione_busy: - if her_map_location == "forest": - call nar(">Hermione is currently at the Forbidden Forest.\n>Would you like to go there?") + elif _choice == "hermione" and not states.her.busy: + if states.her.map_location == "forest": + nar "Hermione is currently at the Forbidden Forest.\n>Would you like to go there?" menu: "-Yes, pay her a visit-": jump hermione_map_BJ @@ -73,67 +73,67 @@ label desk: jump summon_hermione #Luna - elif luna_unlocked and _choice == "luna" and luna_busy: + elif states.lun.unlocked and _choice == "luna" and states.lun.busy: if game.daytime: - call nar(">Luna is taking classes.") + nar "Luna is taking classes." jump main_room_menu else: - call nar(">Luna is already asleep.") + nar "Luna is already asleep." jump main_room_menu - elif luna_unlocked and _choice == "luna" and not luna_busy: + elif states.lun.unlocked and _choice == "luna" and not states.lun.busy: jump summon_luna #Astoria - elif astoria_busy and _choice == "astoria": + elif states.ast.busy and _choice == "astoria": if game.daytime: - call nar(">Astoria is taking classes.") + nar "Astoria is taking classes." jump main_room_menu else: - call nar(">Astoria is already asleep.") + nar "Astoria is already asleep." jump main_room_menu - elif not astoria_busy and _choice == "astoria": #Summoning after intro events done. + elif not states.ast.busy and _choice == "astoria": #Summoning after intro events done. jump summon_astoria #Susan - elif _choice == "susan" and susan_busy: + elif _choice == "susan" and states.sus.busy: if game.daytime: - call nar(">Susan is taking classes.") + nar "Susan is taking classes." jump main_room_menu else: - call nar(">Susan is already asleep.") + nar "Susan is already asleep." jump main_room_menu - elif _choice == "susan" and not susan_busy: + elif _choice == "susan" and not states.sus.busy: jump summon_susan #Cho - elif _choice == "cho" and cho_busy: + elif _choice == "cho" and states.cho.busy: if game.daytime: - call nar(">Cho is taking classes.") + nar "Cho is taking classes." jump main_room_menu else: - call nar(">Cho is already asleep.") + nar "Cho is already asleep." jump main_room_menu - elif _choice == "cho" and not cho_busy: + elif _choice == "cho" and not states.cho.busy: jump summon_cho #Snape - elif _choice == "snape" and snape_busy: - call nar(">Professor Snape is unavailable.") + elif _choice == "snape" and states.sna.busy: + nar "Professor Snape is unavailable." if game.daytime: jump main_room_menu else: jump main_room_menu - elif _choice == "snape" and not snape_busy: + elif _choice == "snape" and not states.sna.busy: jump summon_snape #Tonks - elif _choice == "tonks" and tonks_busy: - call nar(">Tonks is unavailable.") + elif _choice == "tonks" and states.ton.busy: + nar "Tonks is unavailable." if game.daytime: jump main_room_menu else: jump main_room_menu - elif _choice == "tonks" and not tonks_busy: + elif _choice == "tonks" and not states.ton.busy: jump summon_tonks #Close @@ -154,7 +154,7 @@ screen desk_menu(): #Background add "interface/desk/_bg_.webp" - if map_unlocked: + if states.map.unlocked: use map_screen # Ugly hands @@ -191,7 +191,7 @@ screen desk_menu(): action Return("jerk_off") #Work - if letter_work_unlock.read: + if states.paperwork_unlocked: imagebutton: xpos -10 ypos 0 @@ -204,7 +204,7 @@ screen desk_menu(): action Return("paperwork") #Cards - if deck_unlocked: #Or letter_cards_unlock.read #Day 26+ + if states.cardgame.unlocked: #Or letter_cards_unlock.read #Day 26+ imagebutton: xpos 0 ypos 600 @@ -280,7 +280,7 @@ screen watch(): label paperwork: if letter_work_report in mailbox.get_letters(): - gen "I need to get paid first." ("base", xpos="far_left", ypos="head") + gen "(I need to get paid first.)" ("base", xpos="far_left", ypos="head") jump main_room_menu call weather_sound @@ -292,7 +292,7 @@ label paperwork: call gen_chibi("paperwork") with d3 - ">You do some paperwork." + nar "You do some paperwork." call paperwork_progress_chapter @@ -308,36 +308,36 @@ label paperwork: label paperwork_report_check: # Check if a report was completed - if report_chapters >= 4: - ">You've completed a report." - $ report_chapters = 0 - $ reports_finished += 1 - $ stat_reports_counter += 1 + if states.paperwork_chapters >= 4: + nar "You've completed a report." + $ states.paperwork_chapters = 0 + $ states.paperwork_reports += 1 + $ states.paperwork_reports_times += 1 return label paperwork_progress_chapter(message = ""): - $ report_chapters += 1 + $ states.paperwork_chapters += 1 call notes - if report_chapters == 1: - "[message]>You finished one chapter so far." + if states.paperwork_chapters == 1: + "[message]You finished one chapter so far." else: - "[message]>You finished {number=report_chapters} chapters so far." + "[message]You finished {number=states.paperwork_chapters} chapters so far." call paperwork_report_check return label paperwork_full_moon: - call paperwork_progress_chapter(">The Full moon makes you feel more productive.\n") + call paperwork_progress_chapter("The Full moon makes you feel more productive.\n") return label paperwork_concentration: - call paperwork_progress_chapter(">You maintain perfect concentration during your work and finish another chapter of the report.\n") + call paperwork_progress_chapter("You maintain perfect concentration during your work and finish another chapter of the report.\n") return label paperwork_speedwriting: - call paperwork_progress_chapter(">You use your Speedwriting skills and finish another chapter of the report.\n") + call paperwork_progress_chapter("You use your Speedwriting skills and finish another chapter of the report.\n") return screen gui_tooltip(img=None, xx=335, yy=210): diff --git a/game/scripts/rooms/main_room/objects/door.rpy b/game/scripts/rooms/main_room/objects/door.rpy index af2dd174..900048ef 100644 --- a/game/scripts/rooms/main_room/objects/door.rpy +++ b/game/scripts/rooms/main_room/objects/door.rpy @@ -1,7 +1,7 @@ label door: if game.day == 1: - if not door_examined: - $ door_examined = True + if not states.gen.ev.intro.door_examined: + $ states.gen.ev.intro.door_examined = True $ door_OBJ.idle = "door_idle" call gen_chibi("stand","door","base") with d5 @@ -13,7 +13,7 @@ label door: "-Knock on the door-": show screen blktone with d3 - call play_sound("knocking") + play sound "sounds/knocking.ogg" "*Knock-knock-knock*" "..................." hide screen blktone @@ -22,18 +22,18 @@ label door: "-Put your ear on it-": show screen blktone with d3 - ">You put your ear on the door and listen intently..." + nar "You put your ear on the door and listen intently..." gen "I don't hear anything." ("base", xpos="far_left", ypos="head") hide screen blktone with d3 "-Kick the door-": show screen blktone with d3 - $ renpy.play('sounds/kick.ogg') + play sound "sounds/kick.ogg" pause.2 with hpunch "*Thump!*" - $ renpy.sound.play("sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" gen "Blimey! That hurts!" ("angry", xpos="far_left", ypos="head") ".............................." hide screen blktone @@ -42,7 +42,7 @@ label door: "-Smell the door-": show screen blktone with d3 - $ renpy.sound.play("sounds/sniff.ogg") + play sound "sounds/sniff.ogg" gen "...{w} Smells like a door..." ("base", xpos="far_left", ypos="head") hide screen blktone with d3 @@ -55,12 +55,12 @@ label door: else: gen "I should leave this door alone for now." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu call update_character_map_locations - call play_sound("scroll") + play sound "sounds/scroll.ogg" jump summon diff --git a/game/scripts/rooms/main_room/objects/fireplace.rpy b/game/scripts/rooms/main_room/objects/fireplace.rpy index 8c40833e..a762b7b6 100644 --- a/game/scripts/rooms/main_room/objects/fireplace.rpy +++ b/game/scripts/rooms/main_room/objects/fireplace.rpy @@ -1,7 +1,7 @@ label fireplace: if game.day == 1: - if not fireplace_examined: - $ fireplace_examined = True + if not states.gen.ev.intro.fireplace_examined: + $ states.gen.ev.intro.fireplace_examined = True $ fireplace_OBJ.idle = "fireplace_idle_shadow" call gen_chibi("stand","mid","base") with d5 @@ -11,7 +11,7 @@ label fireplace: else: gen "Looks like a normal fireplace to me." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu @@ -24,7 +24,7 @@ label fireplace: $ fireplace_OBJ.foreground = None gen "(A loose brick... If only I could--{nw}{w=1.0})" ("base", xpos="far_left", ypos="head") - $ renpy.play('sounds/brick_scrape.ogg') + play sound "sounds/brick_scrape.ogg" gen "(A loose brick... If only I could--{fast} *Hhng*... There we go.)" ("base", xpos="far_left", ypos="head") call give_reward(_("A puzzle box has been added to your inventory!"), "interface/icons/puzzle_box.webp") @@ -45,16 +45,16 @@ label fireplace: jump main_room_menu - if fire_in_fireplace: - $ fire_in_fireplace = False + if states.fireplace_started: + $ states.fireplace_started = False $ fireplace_OBJ.foreground = None else: - $ fire_in_fireplace = True + $ states.fireplace_started = True $ fireplace_OBJ.foreground = "fireplace_fire" - $ stat_fireplace_counter += 1 + $ states.fireplace_started_times += 1 jump main_room_menu init python: def is_puzzle_box_in_fireplace(): - return game.day >= 25 and not game.daytime and game.moon and not puzzle_box_ITEM.unlocked and not unlocked_7th + return game.day >= 25 and not game.daytime and game.moon and not puzzle_box_ITEM.unlocked and not states.map.seventh_floor.unlocked diff --git a/game/scripts/rooms/main_room/objects/jerk_off.rpy b/game/scripts/rooms/main_room/objects/jerk_off.rpy index d3e65910..22ff4ae9 100644 --- a/game/scripts/rooms/main_room/objects/jerk_off.rpy +++ b/game/scripts/rooms/main_room/objects/jerk_off.rpy @@ -2,53 +2,48 @@ default jerk_off_choice = None # Last jerk-off fantasy label jerk_off: - hide screen bld1 call gen_chibi("jerk_off_behind_desk") with d3 pause 1 - call bld - gen "How should I finish this thing?" ("base", xpos="far_left", ypos="head") + gen "(How should I finish this thing?)" ("base", xpos="far_left", ypos="head") - label how_to_finish: + label .choice: menu: - "-Hermione's panties-" if hg_ps_get_panties.inProgress: + "-Hermione's panties!-" if states.her.ev.panty_thief.acquired: $ jerk_off_choice = "hermione" - $ her_panties_soaked = True + $ states.her.ev.panty_thief.soaked = True - "-LOCKED-" (style="disabled") if not hg_ps_get_panties.inProgress: - ">You lack the item required for this option." - jump how_to_finish + "-LOCKED-" (style="disabled") if not states.her.ev.panty_thief.acquired: + nar "You lack the item required for this option." + jump .choice - "-Cho's panties-" if has_cho_panties: + "-Cho's panties!-" if states.cho.ev.panty_thief.acquired: $ jerk_off_choice = "cho" - $ cho_panties_soaked = True + $ states.cho.ev.panty_thief.soaked = True - "-LOCKED-" (style="disabled") if not has_cho_panties: - ">You lack the item required for this option." - jump how_to_finish + "-LOCKED-" (style="disabled") if not states.cho.ev.panty_thief.acquired: + nar "You lack the item required for this option." + jump .choice "-On the floor!-": $ jerk_off_choice = renpy.random.choice(["jasmine", "lara"]) - hide screen bld1 - show screen blktone - call nar(">You decide to spend some time by jerking off...") - pause.5 + nar "You decide to spend some time by jerking off..." if jerk_off_choice == "hermione": - call nar(">You fantasise about Hermione...") + nar "You fantasise about Hermione..." elif jerk_off_choice == "cho": - call nar(">You fantasise about Cho...") + nar "You fantasise about Cho..." elif jerk_off_choice == "jasmine": - call nar(">You fantasise about Princess Jasmine...") + nar "You fantasise about Princess Jasmine..." elif jerk_off_choice == "lara": - call nar(">You fantasise about Lara Croft...") + nar "You fantasise about Lara Croft..." - gen "Yes... that's a good slut!" ("angry", xpos="far_left", ypos="head") + gen "Yes... That's a good slut!" ("angry", xpos="far_left", ypos="head") pause.5 - call nar(">You are ready to cum...") + nar "You are ready to cum..." pause.2 if jerk_off_choice == "hermione": @@ -66,24 +61,22 @@ label jerk_off: pause 1 if jerk_off_choice == "hermione": - call nar(">You cum all over Hermione's panties, and then use them to wipe the cum off the floor...") + nar "You cum all over Hermione's panties, and then use them to wipe the cum off the floor..." call gen_chibi("cum_behind_desk_done") elif jerk_off_choice == "cho": - call nar(">You cum all over Cho's panties, and then use them to wipe the cum off the floor...") + nar "You cum all over Cho's panties, and then use them to wipe the cum off the floor..." call gen_chibi("cum_behind_desk_done") else: - call nar(">You cum on the floor.") + nar "You cum on the floor." call gen_chibi("cum_behind_desk_done") pause.2 - call bld - gen "..." ("base", xpos="far_left", ypos="head") - gen "This was a pretty sweet jerk-off session..." ("base", xpos="far_left", ypos="head") - gen "Back to being productive!" ("base", xpos="far_left", ypos="head") + gen "(...)" ("base", xpos="far_left", ypos="head") + gen "(This was a pretty sweet jerk-off session...)" ("base", xpos="far_left", ypos="head") + gen "(Back to being productive!)" ("base", xpos="far_left", ypos="head") call gen_chibi("sit_behind_desk") - hide screen bld1 if game.daytime: jump night_start diff --git a/game/scripts/rooms/main_room/objects/phoenix.rpy b/game/scripts/rooms/main_room/objects/phoenix.rpy index d02b9af7..7a1bdd69 100644 --- a/game/scripts/rooms/main_room/objects/phoenix.rpy +++ b/game/scripts/rooms/main_room/objects/phoenix.rpy @@ -1,8 +1,8 @@ label phoenix: if game.day == 1: - if not bird_examined: - $ bird_examined = True + if not states.gen.ev.intro.bird_examined: + $ states.gen.ev.intro.bird_examined = True $ phoenix_OBJ.idle = "phoenix_idle" call gen_chibi("stand","mid","base",flip=False) with d5 @@ -13,14 +13,14 @@ label phoenix: else: gen "It's just a bird. Nothing more to say." ("base", xpos="far_left", ypos="head") - if bird_examined and desk_examined and cupboard_examined and door_examined and fireplace_examined: + if states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: jump genie_intro_E2 else: jump main_room_menu - if not phoenix_is_fed: - $ phoenix_is_fed = True - $ phoenix_fed_counter += 1 + if not states.bird_fed: + $ states.bird_fed = True + $ states.bird_fed_times += 1 call gen_chibi("grab_high", phoenix_OBJ.xpos, phoenix_OBJ.ypos+365, flip=False) # Note: Flip is inconsistent with d3 @@ -29,32 +29,25 @@ label phoenix: $ phoenix_OBJ.foreground = "phoenix_food" with d3 - $ random_number = renpy.random.randint(1, 3) - if random_number == 1: + random: gen "There you go..." ("base", xpos="far_left", ypos="head") - elif random_number == 2: gen "Eat up, buddy." ("base", xpos="far_left", ypos="head") - else: pause .8 call gen_chibi("sit_behind_desk") jump main_room_menu - if not phoenix_is_petted: - $ phoenix_is_petted = True - $ phoenix_petted_counter += 1 + if not states.bird_petted: + $ states.bird_petted = True + $ states.bird_petted_times += 1 call gen_chibi("petting", phoenix_OBJ.xpos, phoenix_OBJ.ypos+270, flip=False) # Note: Flip is inconsistent with d3 pause .5 - $ random_number = renpy.random.randint(1, 5) - if random_number == 1: + random: gen "Who's a good bird?" ("base", xpos="far_left", ypos="head") - elif random_number == 2: "*Pat *Pat *Pat..." - elif random_number == 3: "Glad you aren't as noisy as Iago..." - else: pause 2.4 call gen_chibi("sit_behind_desk") diff --git a/game/scripts/rooms/main_room/objects/poster.rpy b/game/scripts/rooms/main_room/objects/poster.rpy index 16b80350..c8ffe2fe 100644 --- a/game/scripts/rooms/main_room/objects/poster.rpy +++ b/game/scripts/rooms/main_room/objects/poster.rpy @@ -1,18 +1,84 @@ label enlarge_poster: - show screen blktone - show screen poster - with d3 + show image "#00000080" as underlay + show image Image(poster_OBJ.decoration.image) zorder 25 at truecenter as poster call ctc - hide screen blktone - hide screen poster + hide poster + hide underlay with d3 jump main_room_menu -screen poster(): - zorder 25 - tag poster +# Xmas 2022 - Decoration - add poster_OBJ.decoration.image align (0.5, 0.5) +default naughty_list_commentary = False + +label naughty_list: + + python: + # This code retrieves user name and displays it on a leaderboard-like + # list for funsies, the variable is discarded afterwards. + _username = None + _d = [(i, get_character_progression(i)) for i in states.dolls if get_character_unlock(i)] + _d.append(["Snape", states.sna.level]) + + try: + _username = os.getenv("USERNAME") + + if not _username: + _username = os.getlogin() + + # Windows returns an empty string when it encounters an error, + # in ucrtbase.dll, and we need to catch that. + if not _username: + raise Exception("Cannot retrieve user name, using the fallback.") + + _username = _username.split(" ")[0].capitalize() + _d.append([_username, 999]) + + except: + _d.append(["Genie", 999]) + + _d.sort(key=lambda x: x[1], reverse=True) + + show screen naughty_list(_d) + with d3 + + if not naughty_list_commentary: + $ naughty_list_commentary = True + + pause 1.0 + + if _username is None: + gen "I'm on the first place, nice!" ("base", xpos="far_left", ypos="head") + else: + gen "List checks out... But who the fuck is [_username]?" ("base", xpos="far_left", ypos="head") + + call ctc + + hide screen naughty_list + with d3 + + python: + del _username + + jump main_room_menu + +screen naughty_list(d): + zorder 25 + + add "#00000080" + add "naughty_list scroll" fit "cover" at truecenter + + vbox: + align (0.51, 0.66) + spacing 2 + + for i, (name, _) in enumerate(d, start=1): + + fixed: + fit_first True + add "naughty_list spacer" size (156, 21) + text "[i]" pos (6, 3) + text "[name]" xalign 0.5 yoffset 3 diff --git a/game/scripts/rooms/main_room/objects/weather.rpy b/game/scripts/rooms/main_room/objects/weather.rpy index ac342830..1657e09f 100644 --- a/game/scripts/rooms/main_room/objects/weather.rpy +++ b/game/scripts/rooms/main_room/objects/weather.rpy @@ -11,6 +11,8 @@ label weather_sound: return transform cloud_move: + animation + xpos 520 choice: ypos 150 @@ -28,29 +30,29 @@ transform cloud_move: repeat image weather_clear = ConditionSwitch( - "game.daytime == True", "images/rooms/_weather_/sky.webp", - "game.moon == True", "images/rooms/_weather_/night_sky_moon.webp", - "game.daytime == False", "images/rooms/_weather_/night_sky.webp", + "game.daytime == True", "images/rooms/main_room/weather/sky.webp", + "game.moon == True", "images/rooms/main_room/weather/night_sky_moon.webp", + "game.daytime == False", "images/rooms/main_room/weather/night_sky.webp", ) image weather_overcast = ConditionSwitch( - "game.daytime == True", "images/rooms/_weather_/sky_overcast.webp", - "game.moon == True", "images/rooms/_weather_/night_sky_moon_overcast.webp", - "game.daytime == False", "images/rooms/_weather_/night_sky_overcast.webp", + "game.daytime == True", "images/rooms/main_room/weather/sky_overcast.webp", + "game.moon == True", "images/rooms/main_room/weather/night_sky_moon_overcast.webp", + "game.daytime == False", "images/rooms/main_room/weather/night_sky_overcast.webp", ) image weather_cloudy_clouds_night = Composite( (155, 230), - (40, 40), "images/rooms/_weather_/night_cloud_01.webp", - (60, 60), "images/rooms/_weather_/night_cloud_02.webp", - (80, 80), "images/rooms/_weather_/night_cloud_03.webp", + (40, 40), "images/rooms/main_room/weather/night_cloud_01.webp", + (60, 60), "images/rooms/main_room/weather/night_cloud_02.webp", + (80, 80), "images/rooms/main_room/weather/night_cloud_03.webp", ) image weather_cloudy_clouds_day = Composite( (155, 230), - (40, 40), "images/rooms/_weather_/day_cloud_01.webp", - (60, 60), "images/rooms/_weather_/day_cloud_02.webp", - (80, 80), "images/rooms/_weather_/day_cloud_03.webp", + (40, 40), "images/rooms/main_room/weather/day_cloud_01.webp", + (60, 60), "images/rooms/main_room/weather/day_cloud_02.webp", + (80, 80), "images/rooms/main_room/weather/day_cloud_03.webp", ) image weather_cloudy_clouds = ConditionSwitch( @@ -59,6 +61,7 @@ image weather_cloudy_clouds = ConditionSwitch( ) image weather_cloudy_fx: + animation "weather_cloudy_clouds" choice: pos (-100, 0) @@ -74,97 +77,103 @@ image weather_cloudy_fx: image weather_cloudy = Fixed("weather_clear", "weather_cloudy_fx", fit_first=True) image weather_rain_fx: - "images/rooms/_weather_/rain_01.webp" + animation + "images/rooms/main_room/weather/rain_01.webp" pause.1 - "images/rooms/_weather_/rain_02.webp" + "images/rooms/main_room/weather/rain_02.webp" pause.1 - "images/rooms/_weather_/rain_03.webp" + "images/rooms/main_room/weather/rain_03.webp" pause.1 repeat image weather_rain = Fixed("weather_overcast", "weather_rain_fx", fit_first=True) image weather_snow_fx: - "images/rooms/_weather_/snow_01.webp" + animation + "images/rooms/main_room/weather/snow_01.webp" pause.07 - "images/rooms/_weather_/snow_02.webp" + "images/rooms/main_room/weather/snow_02.webp" pause.07 - "images/rooms/_weather_/snow_03.webp" + "images/rooms/main_room/weather/snow_03.webp" pause.07 - "images/rooms/_weather_/snow_04.webp" + "images/rooms/main_room/weather/snow_04.webp" pause.07 - "images/rooms/_weather_/snow_05.webp" + "images/rooms/main_room/weather/snow_05.webp" pause.07 - "images/rooms/_weather_/snow_06.webp" + "images/rooms/main_room/weather/snow_06.webp" pause.07 - "images/rooms/_weather_/snow_07.webp" + "images/rooms/main_room/weather/snow_07.webp" pause.07 - "images/rooms/_weather_/snow_08.webp" + "images/rooms/main_room/weather/snow_08.webp" pause.07 - "images/rooms/_weather_/snow_09.webp" + "images/rooms/main_room/weather/snow_09.webp" pause.07 - "images/rooms/_weather_/snow_10.webp" + "images/rooms/main_room/weather/snow_10.webp" pause.07 repeat image weather_snow = Fixed("weather_overcast", "weather_snow_fx", fit_first=True) image weather_blizzard_fx: - "images/rooms/_weather_/blizzard_01.webp" + animation + "images/rooms/main_room/weather/blizzard_01.webp" pause.05 - "images/rooms/_weather_/blizzard_02.webp" + "images/rooms/main_room/weather/blizzard_02.webp" pause.05 - "images/rooms/_weather_/blizzard_03.webp" + "images/rooms/main_room/weather/blizzard_03.webp" pause.05 - "images/rooms/_weather_/blizzard_04.webp" + "images/rooms/main_room/weather/blizzard_04.webp" pause.05 - "images/rooms/_weather_/blizzard_05.webp" + "images/rooms/main_room/weather/blizzard_05.webp" pause.05 - "images/rooms/_weather_/blizzard_06.webp" + "images/rooms/main_room/weather/blizzard_06.webp" pause.05 - "images/rooms/_weather_/blizzard_07.webp" + "images/rooms/main_room/weather/blizzard_07.webp" pause.05 - "images/rooms/_weather_/blizzard_08.webp" + "images/rooms/main_room/weather/blizzard_08.webp" pause.05 - "images/rooms/_weather_/blizzard_09.webp" + "images/rooms/main_room/weather/blizzard_09.webp" pause.05 - "images/rooms/_weather_/blizzard_10.webp" + "images/rooms/main_room/weather/blizzard_10.webp" pause.05 repeat image weather_blizzard= Fixed("weather_overcast", "weather_blizzard_fx", fit_first=True) image weather_storm_fx: + animation parallel: + animation pause 20 - "images/rooms/_weather_/lightning_01.webp" + "images/rooms/main_room/weather/lightning_01.webp" pause.1 - "images/rooms/_weather_/lightning_02.webp" + "images/rooms/main_room/weather/lightning_02.webp" pause.1 - "images/rooms/_weather_/lightning_03.webp" + "images/rooms/main_room/weather/lightning_03.webp" pause.1 - "images/rooms/_weather_/lightning_04.webp" + "images/rooms/main_room/weather/lightning_04.webp" pause.1 - "images/rooms/_weather_/lightning_05.webp" + "images/rooms/main_room/weather/lightning_05.webp" pause.1 - "images/rooms/_weather_/lightning_06.webp" + "images/rooms/main_room/weather/lightning_06.webp" pause.1 - "images/rooms/_weather_/lightning_05.webp" + "images/rooms/main_room/weather/lightning_05.webp" pause.1 - "images/rooms/_weather_/lightning_06.webp" + "images/rooms/main_room/weather/lightning_06.webp" pause.1 - "images/rooms/_weather_/lightning_05.webp" + "images/rooms/main_room/weather/lightning_05.webp" pause 20 repeat parallel: - "images/rooms/_weather_/rain_01.webp" + animation + "images/rooms/main_room/weather/rain_01.webp" pause.1 - "images/rooms/_weather_/rain_02.webp" + "images/rooms/main_room/weather/rain_02.webp" pause.1 - "images/rooms/_weather_/rain_03.webp" + "images/rooms/main_room/weather/rain_03.webp" pause.1 repeat -image weather_storm= Fixed("weather_overcast", "weather_storm_fx", fit_first=True) +image weather_storm = Fixed("weather_overcast", "weather_storm_fx", fit_first=True) diff --git a/game/scripts/rooms/main_room/objects/xmas_lights.rpy b/game/scripts/rooms/main_room/objects/xmas_lights.rpy index 1cc9b9c6..35dd6b14 100644 --- a/game/scripts/rooms/main_room/objects/xmas_lights.rpy +++ b/game/scripts/rooms/main_room/objects/xmas_lights.rpy @@ -87,19 +87,19 @@ label xmas_lights_settings: init python: def xmas_lights_set1_bulbs(st, at): - d = Transform("images/rooms/objects/decorations/xmas_lights/bulbset_1.webp", matrixcolor=HueMatrix(xmas_lights_hue1)*BrightnessMatrix(xmas_lights_brightness)) + d = Transform("images/rooms/main_room/decorations/xmas_lights/bulbset_1.webp", matrixcolor=HueMatrix(xmas_lights_hue1)*BrightnessMatrix(xmas_lights_brightness)) return d, 1.0 def xmas_lights_set2_bulbs(st, at): - d = Transform("images/rooms/objects/decorations/xmas_lights/bulbset_2.webp", matrixcolor=HueMatrix(xmas_lights_hue2)*BrightnessMatrix(xmas_lights_brightness)) + d = Transform("images/rooms/main_room/decorations/xmas_lights/bulbset_2.webp", matrixcolor=HueMatrix(xmas_lights_hue2)*BrightnessMatrix(xmas_lights_brightness)) return d, 1.0 def xmas_lights_set1_glow(st, at): - d = Transform("images/rooms/objects/decorations/xmas_lights/glowset_1.webp", alpha=xmas_lights_alpha, matrixcolor=HueMatrix(xmas_lights_hue1)*BrightnessMatrix(xmas_lights_brightness)) + d = Transform("images/rooms/main_room/decorations/xmas_lights/glowset_1.webp", alpha=xmas_lights_alpha, matrixcolor=HueMatrix(xmas_lights_hue1)*BrightnessMatrix(xmas_lights_brightness)) return d, 1.0 def xmas_lights_set2_glow(st, at): - d = Transform("images/rooms/objects/decorations/xmas_lights/glowset_2.webp", alpha=xmas_lights_alpha, matrixcolor=HueMatrix(xmas_lights_hue2)*BrightnessMatrix(xmas_lights_brightness)) + d = Transform("images/rooms/main_room/decorations/xmas_lights/glowset_2.webp", alpha=xmas_lights_alpha, matrixcolor=HueMatrix(xmas_lights_hue2)*BrightnessMatrix(xmas_lights_brightness)) return d, 1.0 image xmas_lights_set1_bulbs = DynamicDisplayable(xmas_lights_set1_bulbs) diff --git a/game/scripts/rooms/quidditch_pitch/init.rpy b/game/scripts/rooms/quidditch_pitch/init.rpy index ee361749..3f9602ce 100644 --- a/game/scripts/rooms/quidditch_pitch/init.rpy +++ b/game/scripts/rooms/quidditch_pitch/init.rpy @@ -4,7 +4,7 @@ screen quid_pitch_back(): zorder 0 add "images/rooms/quidditch_pitch/back.webp" zoom 0.5 if game.weather == "cloudy": - for i in xrange(random.randint(2, 5)): + for i in range(random.randint(2, 5)): add "object" at OBJcloud add "images/rooms/quidditch_pitch/back_overlay.webp" zoom 0.5 @@ -17,5 +17,5 @@ screen quid_pitch_front(): sensitive False zorder 5 add "images/rooms/quidditch_pitch/front.webp" zoom 0.5 - for i in xrange(random.randint(1, 3)): + for i in range(random.randint(1, 3)): add "object" at OBJbutterfly diff --git a/game/scripts/rooms/room_of_requirement/images.rpy b/game/scripts/rooms/room_of_requirement/images.rpy index 84426695..fdf8fa3c 100644 --- a/game/scripts/rooms/room_of_requirement/images.rpy +++ b/game/scripts/rooms/room_of_requirement/images.rpy @@ -8,4 +8,4 @@ image mirror_hover: image door_idle_night: zoom 0.5 - "images/rooms/objects/doors/door_idle_night.webp" + "images/rooms/room_of_requirement/door_idle_night.webp" diff --git a/game/scripts/rooms/room_of_requirement/init.rpy b/game/scripts/rooms/room_of_requirement/init.rpy index a7a7499d..2197abf4 100644 --- a/game/scripts/rooms/room_of_requirement/init.rpy +++ b/game/scripts/rooms/room_of_requirement/init.rpy @@ -49,18 +49,18 @@ label room_of_requirement: call room("room_of_requirement") - if not mirror_intro_done: - $ mirror_intro_done = True + if not states.map.room_of_requirement.intro_e1: + $ states.map.room_of_requirement.intro_e1 = True call gen_chibi("stand","door","base",flip=False) hide screen blkfade with d3 stop music fadeout 1.0 - $ renpy.music.stop("weather") - $ renpy.sound.play( "sounds/door.ogg") + stop weather + play sound "sounds/door.ogg" gen "..." ("base", xpos="far_left", ypos="head") - $ renpy.music.play("music/RoomOfReqIntro.ogg") + play music "music/RoomOfReqIntro.ogg" if_changed call gen_chibi("stand","door","base") gen "It's just a room filled with a bunch of crap..." ("angry", xpos="far_left", ypos="head") call gen_chibi("stand","door","base",flip=False) @@ -75,17 +75,17 @@ label room_of_requirement: # Single line, doesn't deserve a defined character speaker. "Male Voice" "So you've found the mirror of Erised..." - $ renpy.sound.play( "sounds/MaleGasp.ogg") + play sound "sounds/MaleGasp.ogg" stop music fadeout 1.0 gen "Dumbledore!" ("angry", xpos="far_left", ypos="head") - $ renpy.sound.play( "sounds/soft_wind.ogg") + play sound "sounds/soft_wind.ogg" call sna_chibi("stand","door","base") call gen_chibi("stand", flip=True) gen "*Cough* I mean... Yes Severus, it is I...{w} \"Dumbledore\"." ("grin", xpos="far_left", ypos="head") gen "I'm so glad to be back..." ("base", xpos="far_left", ypos="head") sna "....." ("snape_05") gen "Worth a shot..." ("base", xpos="far_left", ypos="head") - play music "music/song18.ogg" fadein 4 fadeout 1 + play music "music/song18.ogg" fadein 4 fadeout 1 if_changed sna "I'm quite certain I told you to stay in your office... For how long have you been roaming the school grounds?" ("snape_06") gen "This is the first time... hence why I was so lost." ("base", xpos="far_left", ypos="head") sna "....." ("snape_05") @@ -159,7 +159,7 @@ label room_of_requirement: call gen_chibi("hide") else: $ mirror_image = Null() - play music "music/song18.ogg" fadein 4 fadeout 1 + play music "music/song18.ogg" fadein 4 fadeout 1 if_changed call gen_chibi("stand", "door", "base", flip=False) call hide_blkfade diff --git a/game/scripts/rooms/seventh_floor/init.rpy b/game/scripts/rooms/seventh_floor/init.rpy index ec34b502..ceee5229 100644 --- a/game/scripts/rooms/seventh_floor/init.rpy +++ b/game/scripts/rooms/seventh_floor/init.rpy @@ -30,12 +30,12 @@ screen seventh_floor(): label seventh_floor: call room("seventh_floor") call reset_menu_position - call play_music("intro", fadein=1, fadeout=3) + play music "music/the-chamber-by-kevin-macleod.ogg" fadein 1 fadeout 3 if_changed call gen_chibi("stand", -100, "base") call gen_walk(xpos="left_mid", ypos="base", speed=1.5) - if first_time_7th: - $ first_time_7th = False + if not states.map.seventh_floor.visited: + $ states.map.seventh_floor.visited = True gen "So... The diary mentioned he was walking around here." ("base", xpos="far_left", ypos="head") @@ -45,7 +45,7 @@ label seventh_floor: call gen_walk("left_mid", speed=1.5) - gen "Maybe if I... or I could..." ("base", xpos="far_left", ypos="head") + gen "Maybe if I... Or I could..." ("base", xpos="far_left", ypos="head") call gen_walk("right", speed=1.5) pause .6 @@ -60,6 +60,6 @@ label seventh_floor: call gen_chibi("stand_alt", flip=False) pause.8 - gen "Well... will you look at that!" ("grin", xpos="far_left", ypos="head") + gen "Well then... Will you look at that!" ("grin", xpos="far_left", ypos="head") call screen room_menu diff --git a/game/scripts/rooms/snape_office/init.rpy b/game/scripts/rooms/snape_office/init.rpy index 5172e999..89a9d006 100644 --- a/game/scripts/rooms/snape_office/init.rpy +++ b/game/scripts/rooms/snape_office/init.rpy @@ -1,5 +1,4 @@ -default snape_office_discovered = False default snape_office = Room("snape_office") default snape_office_brewing_station_OBJ = RoomObject(snape_office, "snape_office_brewing_station", pos=(367, 325), idle="snape_office_brewing_station_off", focus_mask=None, action=Jump("brewing_station"), tooltip="Brewing Station", zorder=-1) @@ -37,7 +36,7 @@ screen snape_office(): label snape_office: call room("snape_office") - call play_music("snape_office") + play music "music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg" fadein 1 if_changed if game.daytime: $ snape_office_desk_OBJ.set_image("snape_office_desk") diff --git a/game/scripts/rooms/snape_office/objects/brewing_station.rpy b/game/scripts/rooms/snape_office/objects/brewing_station.rpy index d35df2fe..7333f4c7 100644 --- a/game/scripts/rooms/snape_office/objects/brewing_station.rpy +++ b/game/scripts/rooms/snape_office/objects/brewing_station.rpy @@ -2,8 +2,8 @@ label brewing_station: if game.daytime: - if not snape_station_examined: - $ snape_station_examined = True + if not states.map.snape_office.station_examined: + $ states.map.snape_office.station_examined = True $ snape_office_brewing_station_OBJ.set_image("snape_office_brewing_station_off") call gen_chibi("stand_alt", xpos="station", ypos="station") @@ -19,7 +19,7 @@ label brewing_station: jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(I've already examined it, I should leave it for now.)" ("base", xpos="far_left", ypos="head") else: $ experimental_recipes_ITEM.used = True @@ -29,7 +29,7 @@ label brewing_station: else: # Genie is talking about alcohol, while Snape thinks he's talking about Madam Hooch - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "(*Hmm*... I didn't know Snape was into distillery. Let's see if I can guess the type of booze by the smell.)" ("base", xpos="far_left", ypos="head") "*Sniff* *Sniff*" gen "*Ugh*! It smells like wet hair mixed with cat poo or something!" ("angry", xpos="far_left", ypos="head") @@ -41,7 +41,7 @@ label brewing_station: sna "Huh? What is that supposed to--" # annoyed sna "*Tsk* You know what, forget it, just let me work in peace." gen "(His alcoholism is a touchy subject I guess...)" ("base", xpos="far_left", ypos="head") - elif snape_office_intro_E2: + elif states.map.snape_office.intro_e3: sna "What did I tell you?" sna "You can use my brewing station when I'm not in the office..." sna "I don't want to smell your failure." # grin diff --git a/game/scripts/rooms/snape_office/objects/candelabra.rpy b/game/scripts/rooms/snape_office/objects/candelabra.rpy index 2dd7d431..b0f0298e 100644 --- a/game/scripts/rooms/snape_office/objects/candelabra.rpy +++ b/game/scripts/rooms/snape_office/objects/candelabra.rpy @@ -3,8 +3,8 @@ label candelabra: if game.daytime: - if not snape_candelabra_examined: - $ snape_candelabra_examined = True + if not states.map.snape_office.candelabra_examined: + $ states.map.snape_office.candelabra_examined = True $ snape_office_candelabra_OBJ.set_image("snape_office_candelabra_on") call gen_chibi("stand_alt", xpos="candelabra", ypos="candelabra") @@ -22,16 +22,16 @@ label candelabra: $ snape_office_candelabra_OBJ.set_image("snape_office_candelabra_off") show screen blkfade with d2 - $ renpy.sound.play("sounds/fire_woosh.ogg") + play sound "sounds/fire_woosh.ogg" - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "..." ("base", xpos="far_left", ypos="head") gen "I don't know what I expected to happen." ("base", xpos="far_left", ypos="head") else: gen "..." ("base", xpos="far_left", ypos="head") gen "What an unexpected turn of events." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/fire_woosh.ogg") + play sound "sounds/fire_woosh.ogg" $ snape_office_candelabra_OBJ.set_image("snape_office_candelabra_on") hide screen blkfade with d9 @@ -39,10 +39,10 @@ label candelabra: $ snape_office_candelabra_OBJ.set_image("snape_office_candelabra_off") show screen blkfade with d2 - $ renpy.sound.play("sounds/fire_woosh.ogg") + play sound "sounds/fire_woosh.ogg" sna "Why did you do that...?" gen "Sorry..." ("base", xpos="far_left", ypos="head") - $ renpy.sound.play("sounds/fire_woosh.ogg") + play sound "sounds/fire_woosh.ogg" $ snape_office_candelabra_OBJ.set_image("snape_office_candelabra_on") hide screen blkfade with d9 diff --git a/game/scripts/rooms/snape_office/objects/desk.rpy b/game/scripts/rooms/snape_office/objects/desk.rpy index 54f0856f..1bd72e9b 100644 --- a/game/scripts/rooms/snape_office/objects/desk.rpy +++ b/game/scripts/rooms/snape_office/objects/desk.rpy @@ -2,8 +2,8 @@ label snape_at_desk: if game.daytime: - if not snape_desk_examined: - $ snape_desk_examined = True + if not states.map.snape_office.desk_examined: + $ states.map.snape_office.desk_examined = True $ snape_office_desk_OBJ.set_image("snape_office_desk") $ experimental_recipes_ITEM.owned = 1 @@ -32,10 +32,10 @@ label snape_at_desk: call gen_chibi("stand", xpos="door", ypos="base") with d5 - call give_reward(_(">You have acquired experimental potion recipes!"), experimental_recipes_ITEM) + call give_reward("You have acquired experimental potion recipes!", experimental_recipes_ITEM) jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(I have already checked the desk and got the recipes.)" ("base", xpos="far_left", ypos="head") else: gen "I'd better leave his desk alone." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/rooms/snape_office/objects/door.rpy b/game/scripts/rooms/snape_office/objects/door.rpy index 15847630..eaf0318c 100644 --- a/game/scripts/rooms/snape_office/objects/door.rpy +++ b/game/scripts/rooms/snape_office/objects/door.rpy @@ -1,7 +1,7 @@ label snape_office_door: - if not snape_office_intro_E1: + if not states.map.snape_office.intro_e2: gen "(I have to finish snooping around before leaving.)" ("base", xpos="far_left", ypos="head") else: jump return_office diff --git a/game/scripts/rooms/snape_office/objects/picture.rpy b/game/scripts/rooms/snape_office/objects/picture.rpy index 75b8b237..fa70a918 100644 --- a/game/scripts/rooms/snape_office/objects/picture.rpy +++ b/game/scripts/rooms/snape_office/objects/picture.rpy @@ -3,8 +3,8 @@ label snape_picture: if game.daytime: - if not snape_picture_examined: - $ snape_picture_examined = True + if not states.map.snape_office.picture_examined: + $ states.map.snape_office.picture_examined = True $ snape_office_picture_OBJ.set_image("snape_office_picture") call gen_chibi("stand_alt", xpos="painting", ypos="painting") @@ -47,56 +47,55 @@ label snape_picture: jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(I don't have anything more to say to this asshole.)" ("base", xpos="far_left", ypos="head") else: - $ random_number = renpy.random.randint(1, 7) - - if random_number == 1: - gen "So... What does Snape do on his free time?" ("base", xpos="far_left", ypos="head") - "The Painting" "Crossword puzzles." - gen "Really?" ("base", xpos="far_left", ypos="head") - "The Painting" "Of course not, what are you some kind of idiot?" - elif random_number == 2: - gen "How many girls has Snape brought in here?" ("base", xpos="far_left", ypos="head") - "The Painting" "More than I could count!" - gen "Can paintings count?" ("base", xpos="far_left", ypos="head") - "The Painting" "Wouldn't you like to know!" - elif random_number == 3: - gen "I thought Snape would be more organized than this..." ("base", xpos="far_left", ypos="head") - "The Painting" "Those panties are perfectly organized and labelled I'll have you know!" - gen "I was talking about the shelves..." ("base", xpos="far_left", ypos="head") - elif random_number == 4: - gen "The \"S\" on the chair stands for \"Slytherin\", right?" ("base", xpos="far_left", ypos="head") - "The Painting" "No..." - gen "Don't tell me it--" ("base", xpos="far_left", ypos="head") - "The Painting" "It stands for, \"Stop asking stupid questions\"." - gen "I don't think that's how it works..." ("base", xpos="far_left", ypos="head") - "The Painting" "Pretty sure it does." - elif random_number == 5: - gen "So, what is a \"basi-lick\" anyway?" ("base", xpos="far_left", ypos="head") - "The Painting" "It's this creature that slathers your--" - gen "Stop!" ("angry", xpos="far_left", ypos="head") - gen "Forget I asked!" ("angry", xpos="far_left", ypos="head") - elif random_number == 6: - gen "How come Snape has his office in the Dungeon?" ("base", xpos="far_left", ypos="head") - "The Painting" "He's a vampire!" - gen "I knew it!" ("base", xpos="far_left", ypos="head") - "The Painting" "..." - gen "Oh, you're just messing with me..." ("base", xpos="far_left", ypos="head") - elif random_number == 7: - gen "Where does Snape store his ingredients?" ("base", xpos="far_left", ypos="head") - "The Painting" "There's a compartment behind me..." - gen "Really?" ("base", xpos="far_left", ypos="head") - "The Painting" "Just touch my hairy nut-sack and it will open for you." - gen "... {w=0.4} I think I'll get my own ingredients for now..." ("base", xpos="far_left", ypos="head") - elif random_number == 8: - gen "So, what's it like being a painting anyway?" ("base", xpos="far_left", ypos="head") - "The Painting" "You're asking what it's like to be stuck in the same small space that the artist decided to draw for you?" - "The Painting" "For years?" - gen "{size=-3}Try centuries why don't you...{/size}" ("base", xpos="far_left", ypos="head") - "The Painting" "What was that?" - gen "Never mind..." ("base", xpos="far_left", ypos="head") + random: + block: + gen "So... What does Snape do on his free time?" ("base", xpos="far_left", ypos="head") + "The Painting" "Crossword puzzles." + gen "Really?" ("base", xpos="far_left", ypos="head") + "The Painting" "Of course not, what are you some kind of idiot?" + block: + gen "How many girls has Snape brought in here?" ("base", xpos="far_left", ypos="head") + "The Painting" "More than I could count!" + gen "Can paintings count?" ("base", xpos="far_left", ypos="head") + "The Painting" "Wouldn't you like to know!" + block: + gen "I thought Snape would be more organized than this..." ("base", xpos="far_left", ypos="head") + "The Painting" "Those panties are perfectly organized and labelled I'll have you know!" + gen "I was talking about the shelves..." ("base", xpos="far_left", ypos="head") + block: + gen "The \"S\" on the chair stands for \"Slytherin\", right?" ("base", xpos="far_left", ypos="head") + "The Painting" "No..." + gen "Don't tell me it--" ("base", xpos="far_left", ypos="head") + "The Painting" "It stands for, \"Stop asking stupid questions\"." + gen "I don't think that's how it works..." ("base", xpos="far_left", ypos="head") + "The Painting" "Pretty sure it does." + block: + gen "So, what is a \"basi-lick\" anyway?" ("base", xpos="far_left", ypos="head") + "The Painting" "It's this creature that slathers your--" + gen "Stop!" ("angry", xpos="far_left", ypos="head") + gen "Forget I asked!" ("angry", xpos="far_left", ypos="head") + block: + gen "How come Snape has his office in the Dungeon?" ("base", xpos="far_left", ypos="head") + "The Painting" "He's a vampire!" + gen "I knew it!" ("base", xpos="far_left", ypos="head") + "The Painting" "..." + gen "Oh, you're just messing with me..." ("base", xpos="far_left", ypos="head") + block: + gen "Where does Snape store his ingredients?" ("base", xpos="far_left", ypos="head") + "The Painting" "There's a compartment behind me..." + gen "Really?" ("base", xpos="far_left", ypos="head") + "The Painting" "Just touch my hairy nut-sack and it will open for you." + gen "... {w=0.4} I think I'll get my own ingredients for now..." ("base", xpos="far_left", ypos="head") + block: + gen "So, what's it like being a painting anyway?" ("base", xpos="far_left", ypos="head") + "The Painting" "You're asking what it's like to be stuck in the same small space that the artist decided to draw for you?" + "The Painting" "For years?" + gen "{size=-3}Try centuries why don't you...{/size}" ("base", xpos="far_left", ypos="head") + "The Painting" "What was that?" + gen "Never mind..." ("base", xpos="far_left", ypos="head") else: gen "(I don't think Snape would appreciate me shit-talking to his portrait...)" ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/rooms/snape_office/objects/shelves.rpy b/game/scripts/rooms/snape_office/objects/shelves.rpy index 2ebfe2f7..69ced31a 100644 --- a/game/scripts/rooms/snape_office/objects/shelves.rpy +++ b/game/scripts/rooms/snape_office/objects/shelves.rpy @@ -3,34 +3,34 @@ label shelves: if game.daytime: - if not snape_shelves_examined: - $ snape_shelves_examined = True - $ random_number = renpy.random.randint(1, 4) + if not states.map.snape_office.shelves_examined: + $ states.map.snape_office.shelves_examined = True $ snape_office_shelves_OBJ.set_image("snape_office_shelves") call gen_chibi("stand_alt", xpos="shelves", ypos="shelves", flip=False) with d5 - if random_number == 1: - gen "Who keeps a skull as decoration." ("base", xpos="far_left", ypos="head") - gen "..." ("base", xpos="far_left", ypos="head") - elif random_number == 2: - gen "A cactus..." ("base", xpos="far_left", ypos="head") - gen "Hopefully the only living thing here." ("base", xpos="far_left", ypos="head") - elif random_number == 3: - gen "What a slob..." ("base", xpos="far_left", ypos="head") - gen "Doesn't he know it's dangerous to have potions mix like this?" ("base", xpos="far_left", ypos="head") - else: - gen "A wine bottle..." ("base", xpos="far_left", ypos="head") - gen "Wait a minute, why is he always coming to my place to drink?" ("base", xpos="far_left", ypos="head") - gen "There's plenty in here already..." ("base", xpos="far_left", ypos="head") + random: + block: + gen "Who keeps a skull as decoration." ("base", xpos="far_left", ypos="head") + gen "..." ("base", xpos="far_left", ypos="head") + block: + gen "A cactus..." ("base", xpos="far_left", ypos="head") + gen "Hopefully the only living thing here." ("base", xpos="far_left", ypos="head") + block: + gen "What a slob..." ("base", xpos="far_left", ypos="head") + gen "Doesn't he know it's dangerous to have potions mix like this?" ("base", xpos="far_left", ypos="head") + block: + gen "A wine bottle..." ("base", xpos="far_left", ypos="head") + gen "Wait a minute, why is he always coming to my place to drink?" ("base", xpos="far_left", ypos="head") + gen "There's plenty in here already..." ("base", xpos="far_left", ypos="head") call gen_chibi("stand", xpos="door", ypos="base", flip=True) with d5 jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(Already checked the shelves, there's nothing of value.)" ("base", xpos="far_left", ypos="head") else: gen "There's nothing useful to me on the shelves." ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/rooms/snape_office/objects/statue.rpy b/game/scripts/rooms/snape_office/objects/statue.rpy index 9b1bf42b..42e3a37b 100644 --- a/game/scripts/rooms/snape_office/objects/statue.rpy +++ b/game/scripts/rooms/snape_office/objects/statue.rpy @@ -3,8 +3,8 @@ label snake_statue: if game.daytime: - if not snape_statue_examined: - $ snape_statue_examined = True + if not states.map.snape_office.statue_examined: + $ states.map.snape_office.statue_examined = True $ snape_office_statue_OBJ.set_image("snape_office_statue") call gen_chibi("stand_alt", xpos="statue", ypos="statue") @@ -20,7 +20,7 @@ label snake_statue: jump quests - elif not snape_office_intro_E1: + elif not states.map.snape_office.intro_e2: gen "(Nothing here, it's just a fancy ventilation shaft.)" ("base", xpos="far_left", ypos="head") else: gen "(Looks like this snake head statue acts as a ventilation shaft.)" ("base", xpos="far_left", ypos="head") diff --git a/game/scripts/script.rpy b/game/scripts/script.rpy index 91b7704b..20093d43 100644 --- a/game/scripts/script.rpy +++ b/game/scripts/script.rpy @@ -1,75 +1,86 @@ - -# The game starts here label start: - call game_init + python: + version = version_float() + renpy.block_rollback() + + if prerelease: + call modal_popup("Attention!", "This pre-release version of the game comes with some quirks and instability. Brace yourself for potential bugs, unexpected crashes, missing content, and oddities in gameplay. While we’ve done our best to iron out issues, be prepared for a less-than-smooth experience. \n\nHelp us improve by reporting any problems you encounter via Discord.\n\nProceed only if you acknowledge the above.", "interface/warning.webp") + jump start_wt label start_quick: - call game_init - python: + version = version_float() game.difficulty = 2 - ton_friendship = 5 - sna_friendship = 5 - map_unlocked = True + states.ton.level = 5 + states.sna.level = 5 + states.map.unlocked = True game.cheats = True + renpy.block_rollback() + + if prerelease: + call modal_popup("Attention!", "This pre-release version of the game comes with some quirks and instability. Brace yourself for potential bugs, unexpected crashes, missing content, and oddities in gameplay. While we’ve done our best to iron out issues, be prepared for a less-than-smooth experience. \n\nHelp us improve by reporting any problems you encounter via Discord.\n\nProceed only if you acknowledge the above.", "interface/warning.webp") + jump skip_to_hermione -# Quickstart for developer mode label start_dev: - call game_init - python: + version = version_float() game.difficulty = 2 game.cheats = True game.gold = 100000 - map_unlocked = True - snape_unlocked = True - tonks_unlocked = True - hermione_unlocked = True - cho_unlocked = True - astoria_unlocked = True - susan_unlocked = True - luna_unlocked = True - tonks_wardrobe_unlocked = True - hermione_wardrobe_unlocked = True - cho_wardrobe_unlocked = True - astoria_wardrobe_unlocked = True - susan_wardrobe_unlocked = True - luna_wardrobe_unlocked = True - her_whoring = cho_whoring = lun_whoring = ast_whoring = sus_whoring = 24 - sna_friendship = 100 - ton_friendship = 100 + states.map.unlocked = True + states.sna.unlocked = True + states.ton.unlocked = True + states.her.unlocked = True + states.cho.unlocked = True + states.ast.unlocked = True + states.sus.unlocked = True + states.lun.unlocked = True + states.ton.wardrobe_unlocked = True + states.her.wardrobe_unlocked = True + states.cho.wardrobe_unlocked = True + states.ast.wardrobe_unlocked = True + states.sus.wardrobe_unlocked = True + states.lun.wardrobe_unlocked = True + states.her.level = states.cho.level = states.lun.level = states.ast.level = states.sus.level = 24 + states.sna.level = 100 + states.ton.level = 100 - ball_quest.E1_complete = True - ball_quest.E2_complete = True - ball_quest.E3_complete = True - ball_quest.E4_complete = True + states.her.ev.yule_ball.e1_complete = True + states.her.ev.yule_ball.e2_complete = True + states.her.ev.yule_ball.e3_complete = True + states.her.ev.yule_ball.e4_complete = True - mirror_intro_done = True - unlocked_7th = True - first_time_7th = False + states.map.room_of_requirement.intro_e1 = True + states.map.seventh_floor.unlocked = True + states.map.seventh_floor.visited = True seventh_door_OBJ.hidden = False - snape_office_discovered = True + states.map.snape_office.visited = True - snape_station_examined = True - snape_shelves_examined = True - snape_picture_examined = True - snape_statue_examined = True - snape_desk_examined = True - snape_candelabra_examined = True + states.map.snape_office.station_examined = True + states.map.snape_office.shelves_examined = True + states.map.snape_office.picture_examined = True + states.map.snape_office.statue_examined = True + states.map.snape_office.desk_examined = True + states.map.snape_office.candelabra_examined = True - snape_office_intro_E0 = True - snape_office_intro_E1 = True - snape_office_intro_E1_stage = 2 - snape_office_intro_E2 = True + states.map.snape_office.intro_e1 = True + states.map.snape_office.intro_e2 = True + states.map.snape_office.intro_e2_stage = 2 + states.map.snape_office.intro_e3 = True - cho_intro.E1_complete = True - cho_intro.E2_complete = True - cho_intro.E3_complete = True - ss_he.cho_E1 = True + states.cho.ev.intro.e1_complete = True + states.cho.ev.intro.e2_complete = True + states.cho.ev.intro.e4_complete = True + states.sna.ev.hangouts.cho_e1 = True + + states.paperwork_unlocked = True + + store.states.lun.ev.intro.e1_complete = True + store.states.lun.ev.intro.e2_complete = True for i in mirror.items: i.unlocked = True @@ -77,23 +88,11 @@ label start_dev: for i in inventory.items: i.owned = i.limit - for i in CHARACTERS: + for i in states.dolls: for x in getattr(renpy.store, i).outfits: if not x.hidden: x.unlock() + renpy.block_rollback() + jump skip_to_hermione - -label game_init: - $ version = version_float() - $ wardrobe_init() - $ parse_mods() - - if not renpy.android: - show screen tooltip - return - -init python: - renpy.music.register_channel("background", "sfx", True) - renpy.music.register_channel("bg_sounds", "sfx", True) - renpy.music.register_channel("weather", "weather", True) diff --git a/game/scripts/shops/dress/chitchats.rpy b/game/scripts/shops/dress/chitchats.rpy index 6b595e18..10b4cb14 100644 --- a/game/scripts/shops/dress/chitchats.rpy +++ b/game/scripts/shops/dress/chitchats.rpy @@ -20,23 +20,23 @@ label purchase_outfit(item): gen "Thank you." ("base", xpos="far_left", ypos="head") elif item == her_outfit_nightie: gen "I'd like to order a custom outfit today." ("base", xpos="far_left", ypos="head") - maf "Certainly honey... Repairing these conservative school clothes all day has been quite dull to say the least." + maf "Certainly honey... Repairing these conservative school clothes all day has been quite dull, to say the least." gen "Well, I can assure you that this outfit is not conservative." ("base", xpos="far_left", ypos="head") maf "*Hmm*?" - gen "I'd like to order a girls Nightgown." ("base", xpos="far_left", ypos="head") + gen "I'd like to order a girl's Nightgown." ("base", xpos="far_left", ypos="head") maf "Well, that doesn't seem overly--" gen "And make it out of silk!" ("base", xpos="far_left", ypos="head") - maf "*Ahh*... So I assume that you also want it transparent?" + maf "*Ahh*... So, I assume that you also want it transparent?" gen "If that is possible." ("base", xpos="far_left", ypos="head") maf "Of course it is possible, who do you take me for?" - maf "I just have to order in the materials, although silks not cheap." + maf "I just have to order in the materials, although silk is not cheap." gen "Don't worry about the cost." ("base", xpos="far_left", ypos="head") - maf "As you wish sweetie, it should be ready shortly." + maf "As you wish sweetie... It should be ready shortly." gen "Thank you." ("base", xpos="far_left", ypos="head") elif item == her_outfit_ball: - $ ball_outfit_ITEM.owned = 1 + $ parcel_callbacks.append(renpy.curry(setattr)(ball_outfit_ITEM, "owned", 1)) - if not ball_quest.E4_complete: + if not states.her.ev.yule_ball.e4_complete: gen "Could you make a dress for me?" ("base", xpos="far_left", ypos="head") maf "A dress? Do you mean something like a ball dress, or more burlesque?" gen "*Hmm*... A ball dress does sound good, actually." ("base", xpos="far_left", ypos="head") @@ -44,9 +44,9 @@ label purchase_outfit(item): gen "I was thinking that I could have a custom one made. For a very good girl of mine." ("base", xpos="far_left", ypos="head") else: gen "Do you sell Ball dresses?" ("base", xpos="far_left", ypos="head") - maf "*Hmm*... I suppose I do although they're nothing special... Why do you ask?" - gen "A 'girl' approached me with a problem. Apparently she's unable to acquire a dress for this years autumn ball." ("base", xpos="far_left", ypos="head") - maf "How tragic.... Well I'm sure that one of these cheap ones will suffice." + maf "*Hmm*... I suppose I do, although they're nothing special... Why do you ask?" + gen "A 'girl' approached me with a problem. Apparently, she's unable to acquire a dress for this year's autumn ball." ("base", xpos="far_left", ypos="head") + maf "How tragic.... Well, I'm sure that one of these cheap ones will suffice." gen "I was thinking I could have a custom one made... She is a very good girl." ("base", xpos="far_left", ypos="head") maf "Very well! I'll make her the best dress this school's ever seen. If you say she's been such a good girl..." maf "It should be ready in about a week." @@ -54,17 +54,17 @@ label purchase_outfit(item): maf "I'm ordering my next batch of material in a couple of days to keep the cost down..." maf "Or I could order it now if you pay a bit extra..." elif item == her_outfit_msmarv: - gen "Tell me Madam Mafkin, have you ever heard of superheroes?" ("base", xpos="far_left", ypos="head") - maf "Yes yes, those people in the comic books. My grandson is quite fond of them." + gen "Tell me, Madam Mafkin... Have you ever heard of superheroes?" ("base", xpos="far_left", ypos="head") + maf "Yes, yes... Those people in the comic books. My grandson is quite fond of them." gen "Fantastic, I was wondering if it would be possible for you to make me a costume." ("base", xpos="far_left", ypos="head") maf "Certainly, who did you have in mind?" gen "Do you know Ms Marvel?" ("base", xpos="far_left", ypos="head") maf "I'm afraid not..." - maf "But I'm sure that my grandson has a comic of hers. I'm set to visit him this tonight so I can take a look." + maf "But I'm sure that my grandson has a comic of hers. I'm set to visit him this tonight, so I can take a look." gen "Thank you very much." ("base", xpos="far_left", ypos="head") maf "No need to thank me honey. Payment will suffice." elif item == her_outfit_hslut: - gen "Have you ever seen a burlesque show Madam?" ("base", xpos="far_left", ypos="head") + gen "Have you ever seen a burlesque show, Madam?" ("base", xpos="far_left", ypos="head") maf "I've done more than that, I've designed a few of the outfits for them!" gen "Splendid, in that case I'd love to commission one." ("base", xpos="far_left", ypos="head") maf "Most Certainly, any particular colour in mind?" @@ -73,32 +73,33 @@ label purchase_outfit(item): gen "Thank you very much." ("base", xpos="far_left", ypos="head") maf "You're quite welcome, sir." # elif item == hg_costume_power_girl_ITEM: - # gen "I was wondering if it would be possible for you to make me a super hero costume." ("base", xpos="far_left", ypos="head") + # gen "I was wondering if it would be possible for you to make me a superhero costume." ("base", xpos="far_left", ypos="head") # maf "Certainly, who did you have in mind?" # gen "Do you know Power Girl?" ("base", xpos="far_left", ypos="head") # maf "I'm afraid not..." - # maf "But I'm sure that my grandson has a comic of hers. I'm set to visit him this weekend so I can take a look." + # maf "But I'm sure that my grandson has a comic of hers. I'm set to visit him this weekend, so I can take a look." # gen "Thank you very much." ("base", xpos="far_left", ypos="head") # maf "No need to thank me sir. Payment will suffice." elif item == her_outfit_croft: gen "Would you be able to make me a cosplay costume?" ("base", xpos="far_left", ypos="head") maf "Certainly, what are you after?" - gen "Do you happen to know Lara croft?" ("base", xpos="far_left", ypos="head") + gen "Do you happen to know Lara Croft?" ("base", xpos="far_left", ypos="head") maf "I'm afraid not..." gen "She's a video game character..." ("base", xpos="far_left", ypos="head") maf "Well, my little squib grandson loves video games. I'm sure he can show me what she looks like." gen "Thank you very much." ("base", xpos="far_left", ypos="head") - maf "You're welcome. I'm seeing him tonight so I should be able to complete this one slightly faster than usual." + maf "You're welcome." + maf "I'll be seeing him tonight, so I should be able to complete this one slightly faster than usual." gen "Fantastic." ("base", xpos="far_left", ypos="head") # elif item == hg_outfit_christmas_ITEM: # gen "I was wondering if it would be possible for you to make me a festive costume." ("base", xpos="far_left", ypos="head") - # maf "Certainly, what what holiday are you looking to \"celebrate\"?" + # maf "Certainly, what holiday are you looking to \"celebrate\"?" # gen "Christmas." ("base", xpos="far_left", ypos="head") # maf "At this time of year?" - # gen "It's never to early to start the festivities..." ("base", xpos="far_left", ypos="head") + # gen "It's never too early to start the festivities..." ("base", xpos="far_left", ypos="head") # maf "Evidently not. I'll have it done as soon as I can. " # gen "Thank you very much." ("base", xpos="far_left", ypos="head") - # maf "You're welcome. I'll even give you a special price. Consider it my Christmas gift to you.." + # maf "You're welcome. I'll even give you a special price. Consider it my Christmas gift to you..." # gen "Thank you." ("base", xpos="far_left", ypos="head") # elif item == hg_outfit_pirate_ITEM: # gen "I want a pirate outfit" ("base", xpos="far_left", ypos="head") @@ -148,9 +149,9 @@ label purchase_outfit(item): maf "Swimming at your age?" gen "Hey, you're only as old as you feel..." ("base", xpos="far_left", ypos="head") gen "And no, it's not for me... I need a woman's swimsuit." ("base", xpos="far_left", ypos="head") - maf "I see, well it's about time you set up some swimming lessons..." + maf "I see... Well, it's about time you set up some swimming lessons..." maf "Are you looking for a design to fit the school colours?" - gen "No thank you, something sporty shall suffice." ("base", xpos="far_left", ypos="head") + gen "No, thank you... Something sporty shall suffice." ("base", xpos="far_left", ypos="head") maf "..." maf "I'll have to look through some of those muggle magazines then..." maf "It will be ready shortly." @@ -183,9 +184,9 @@ label purchase_outfit(item): maf "Is that a condo--" gen "But you'd cut a heart shape here..." ("base", xpos="far_left", ypos="head") maf "..." - gen "And a hole for the head obviously." ("base", xpos="far_left", ypos="head") + gen "And a hole for the head, obviously." ("base", xpos="far_left", ypos="head") else: - gen "It needs to be tight that's for sure." ("base", xpos="far_left", ypos="head") + gen "It needs to be tight, that's for sure." ("base", xpos="far_left", ypos="head") maf "Naturally..." gen "Pink would look good I think!" ("base", xpos="far_left", ypos="head") maf "Noted..." @@ -209,7 +210,7 @@ label purchase_outfit(item): gen "Yes, she's from a video game." ("base", xpos="far_left", ypos="head") maf "I'll have to ask my squib grandson about that one... Hopefully he knows who she is." gen "Oh, he'll know her, even if he's never played it... could even be his final fantasy." ("base", xpos="far_left", ypos="head") - maf "Okay then, I shall floo him and then I'll get that outfit ready for you." + maf "Okay then, I shall floo him, and then I'll get that outfit ready for you." gen "(She'll do what to him?)" ("base", xpos="far_left", ypos="head") maf "Anything else?" elif item == her_outfit_witch: @@ -225,7 +226,7 @@ label purchase_outfit(item): elif item == her_outfit_latex: gen "I'd like an outfit... a latex one!" ("base", xpos="far_left", ypos="head") maf "Latex?" - maf "Now you do know what kind of outfits are known to be made by latex don't you, honey?" + maf "Now you do know what kind of outfits are known to be made by latex, don't you, honey?" gen "Of course... And I'd like one of those very much." ("base", xpos="far_left", ypos="head") maf "Okay then... just making sure." elif item == her_outfit_teddy: @@ -234,15 +235,15 @@ label purchase_outfit(item): gen "It's a gift..." ("base", xpos="far_left", ypos="head") maf "Is this \"gift\" for one of the teachers?" gen "I--" ("base", xpos="far_left", ypos="head") - maf "Oh... don't tell me... Is it miss Tonks?" + maf "Oh... don't tell me... Is it for miss Tonks?" gen "It's--" ("base", xpos="far_left", ypos="head") maf "No... that'd be silly... McGonagall perhaps?" maf "No... I shouldn't pry..." maf "So, you want it in green then? It's her favourite colour." gen "Black shall do fine..." ("base", xpos="far_left", ypos="head") - maf "Black?! Is it for Professor Sn..." + maf "Black?! Is it for Professor Sn--" gen "Madam..." ("base", xpos="far_left", ypos="head") - maf "My apologies... I'll get going on this as soon as possible! Can't let a lady wait can we?" + maf "My apologies... I'll get going on this as soon as possible! Can't let a lady wait, can we?" elif item == her_outfit_fishnet: gen "Could you make me a fishnet outfit?" ("base", xpos="far_left", ypos="head") maf "A fishnet... outfit, sir?" @@ -251,14 +252,14 @@ label purchase_outfit(item): maf "Underwear--? surely something like that wouldn't be very effective as underwear, sir?" gen "Effective enough to catch a fish..." ("base", xpos="far_left", ypos="head") maf "What?" - gen "So, could you make this for me?" ("base", xpos="far_left", ypos="head") + gen "So, could you be so kind and make this for me?" ("base", xpos="far_left", ypos="head") maf "..." maf "Of course, sir." gen "Excellent..." ("base", xpos="far_left", ypos="head") elif item == her_outfit_fishnet_onepiece: gen "I'm looking to require a one-piece fishnet outfit." ("base", xpos="far_left", ypos="head") maf "A fishnet outfit?" - gen "Yes, one-piece please Madame." ("base", xpos="far_left", ypos="head") + gen "Yes, one-piece please Madam." ("base", xpos="far_left", ypos="head") maf "I see." gen "Not the sea... For the bedroom." ("base", xpos="far_left", ypos="head") maf "Right... Well, you're the boss..." @@ -266,7 +267,7 @@ label purchase_outfit(item): gen "Madam, I require your finest bikini!" ("base", xpos="far_left", ypos="head") maf "Oh my, aren't you a quick one, at least buy me a dinner first." gen "...!" ("angry", xpos="far_left", ypos="head") - gen "You got it wrong... I want to buy a custom made bikini." ("base", xpos="far_left", ypos="head") + gen "You got it wrong... I want to buy a custom-made bikini." ("base", xpos="far_left", ypos="head") maf "Oh..." maf "Are you looking for anything specific?" gen "How about a sling bikini?" ("base", xpos="far_left", ypos="head") @@ -276,7 +277,7 @@ label purchase_outfit(item): maf "I'll get to it then..." elif item == her_outfit_cheerleader_1: gen "Could you make me a Gryffindor cheerleader outfit?" ("base", xpos="far_left", ypos="head") - maf "You're not showing favouritism towards Gryffindor's Quidditch team again are you, sir?" + maf "You're not showing favouritism towards Gryffindor's Quidditch team again, are you, sir?" gen "Of course not..." ("angry", xpos="far_left", ypos="head") maf "*Hmm*..." gen "You have my word that there's no favouritism towards Gryffindor's team going on here." ("base", xpos="far_left", ypos="head") @@ -284,10 +285,10 @@ label purchase_outfit(item): elif item == her_outfit_cheerleader_2: gen "Could you make me a Gryffindor cheerleader outfit?" ("base", xpos="far_left", ypos="head") maf "You're not showing favouritism towards--" - gen "Although could you make it more like this *scribbles*." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") + gen "Although could you make it more like this? *scribbles*..." ("base", xpos="far_left", ypos="head") + play sound "sounds/scribble.ogg" maf "Oh...{w=0.6} Oh I see..." - maf "You're not planning for this to be used during an actual Quidditch match then I assume." + maf "So, you're not planning for this to be used during an actual Quidditch match, I assume?" gen "I have no idea what you're talking about..." ("base", xpos="far_left", ypos="head") maf "Well, we all do have our fantasies..." gen "I thought this was a respectable establishment." ("base", xpos="far_left", ypos="head") @@ -301,10 +302,10 @@ label purchase_outfit(item): # elif item == cho_outfit_sailor: - gen "I'd like a sailors outfit today." ("base", xpos="far_left", ypos="head") - maf "A sailors outfit? We're a bit far from the sea are we not?" + gen "I'd like a sailor's outfit today." ("base", xpos="far_left", ypos="head") + maf "A sailor's outfit? We're a bit far from the sea, are we not?" gen "True, I was just thinking about something in that style." ("base", xpos="far_left", ypos="head") - maf "The style of a sailors outfit and what else?" + maf "The style of a sailor's outfit and what else?" gen "Something that doesn't cover all of the hull!" ("base", xpos="far_left", ypos="head") maf "Doesn't cover the hull? What do you--" maf "Oh, I see what you mean..." @@ -313,13 +314,13 @@ label purchase_outfit(item): elif item == cho_outfit_misty: gen "I'd like a cosplay outfit please." ("base", xpos="far_left", ypos="head") maf "Yes?" - gen "Do you know Pokemon?" ("base", xpos="far_left", ypos="head") + gen "Do you know Pokémon?" ("base", xpos="far_left", ypos="head") maf "Of course!" - gen "I... wait you do?" ("base", xpos="far_left", ypos="head") + gen "I... Wait, you do?" ("base", xpos="far_left", ypos="head") maf "No, I have no clue what you just said..." - gen "...{w}I'd like a Misty outfit..." ("base", xpos="far_left", ypos="head") + gen "...{w} I'd like a Misty outfit..." ("base", xpos="far_left", ypos="head") maf "A misty outfit? I'm good, but I don't think even I could make an outfit out of mist!" - gen "She's a character from Pokemon..." ("base", xpos="far_left", ypos="head") + gen "She's a character from Pokémon..." ("base", xpos="far_left", ypos="head") maf "Oh... I see, maybe my grandson will know." gen "I'm sure he will..." ("base", xpos="far_left", ypos="head") elif item == cho_outfit_j_school: @@ -349,9 +350,9 @@ label purchase_outfit(item): maf "Now, who on earth could this dress be for?" gen "It's a gift I'll be sending to one of the Chinese wizarding schools." ("base", xpos="far_left", ypos="head") maf "Really? Any particular reason to be sending them a dress?" - gen "Yes... *Ehm*... It's important to be on good terms with the other wizarding schools is it not?" ("base", xpos="far_left", ypos="head") + gen "Yes... *Ehm*... It's important to be on good terms with the other wizarding schools, is it not?" ("base", xpos="far_left", ypos="head") gen "So what better gift than a traditional Chinese dress?" ("base", xpos="far_left", ypos="head") - maf "Something that they don't have already perhaps..." + maf "Something that they don't have already, perhaps..." gen "Sorry?" ("base", xpos="far_left", ypos="head") maf "Nothing... Of course I'll make it for something this important!" gen "Great!" ("base", xpos="far_left", ypos="head") @@ -370,7 +371,7 @@ label purchase_outfit(item): gen "Just straps and some fabric to cover up the goods should do..." ("base", xpos="far_left", ypos="head") maf "I see..." maf "And should I even ask who this is for?" - gen "If you'd like my continued patronage I'd prefer if you didn't." ("base", xpos="far_left", ypos="head") + gen "If you'd like my continued patronage, I'd prefer if you didn't." ("base", xpos="far_left", ypos="head") maf "I suppose the extra income does help with my retirement fund..." maf "Okay then... micro bikini coming right up..." elif item == cho_outfit_toon: @@ -383,8 +384,8 @@ label purchase_outfit(item): gen "I need an outfit made." ("base", xpos="far_left", ypos="head") maf "Right..." gen "This is what I'm talking about..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") - maf "Oh... Oh I see..." + play sound "sounds/scribble.ogg" + maf "Oh... Oh, I see..." maf "This is one of those muggle sports uniforms." maf "Why didn't you just say so?" gen "..." ("base", xpos="far_left", ypos="head") @@ -397,10 +398,69 @@ label purchase_outfit(item): gen "What are you-- I meant the video game." ("base", xpos="far_left", ypos="head") maf "Oh..." gen "What were you talking about?" ("base", xpos="far_left", ypos="head") - maf "Nothing... So you want an outfit made from this game?" + maf "Nothing... So, you want an outfit made from this game?" gen "I... Yes, something Chun-Li inspired if you please..." ("base", xpos="far_left", ypos="head") maf "Alright then, I'll ask my grandson to give me some reference material." + elif item == cho_outfit_bunny: + gen "I need a bunny costume." ("base", xpos="far_left", ypos="head") + maf "Don't tell me you're trying to prove the existence of the were-rabbit again." + gen "The what?" ("base", xpos="far_left", ypos="head") + maf "May I remind you about the time you almost got shot by one of the centaurs, when they mistook you for a giant rabbit?" + gen "(Did this really happen?)" ("base", xpos="far_left", ypos="head") + gen "I don't want an actual bunny costume..." ("base", xpos="far_left", ypos="head") + gen "I want one of those sexy bunny outfits, the one you might see in a magazine." ("base", xpos="far_left", ypos="head") + maf "I see." + maf "Alright then, I'll see what I can do." + elif item == cho_outfit_virgin_killer: + gen "Virgin killer?" ("base", xpos="far_left", ypos="head") + maf "Not so much these days, but you should've seen me in my--" + maf "Oh, you're referring to the jumper." + gen "Of course, although now I'm more intrigued about--" ("base", xpos="far_left", ypos="head") + maf "I doubt that would be a good idea... You pay me by the hour, after all." + gen "... Alright then." ("base", xpos="far_left", ypos="head") + maf "I shall have your jumper ready as soon as possible." + elif item == cho_outfit_sheer_nightie: + gen "I'm looking to procure a nightie." ("base", xpos="far_left", ypos="head") + maf "A nightie, sir? Don't you mean a nightgown?" + gen "A nightie." ("base", xpos="far_left", ypos="head") + maf "..." + gen "It's not for me." ("base", xpos="far_left", ypos="head") + maf "Oh, I see..." + maf "So, it's for a lady friend?" + gen "That's right." ("base", xpos="far_left", ypos="head") + maf "A nightie for a lady friend... Alright then, I'll see what I can do." + + elif item == cho_outfit_sporty_bikini: + gen "Would you be able to make me a sporty bikini set, madam?" ("base", xpos="far_left", ypos="head") + maf "Most certainly." + gen "I'll need it to withstand copious amounts of stretching." ("base", xpos="far_left", ypos="head") + maf "Naturally..." + gen "And they need to be tight-fitting..." ("base", xpos="far_left", ypos="head") + maf "Yes, that's a given..." + gen "And could you make them in dark blue?" ("base", xpos="far_left", ypos="head") + maf "Yes, of course sir..." + gen "And have a--" ("base", xpos="far_left", ypos="head") + maf "Yes, yes, anything you like, sir." + gen "I was going to say, have a lovely day." ("base", xpos="far_left", ypos="head") + maf "Oh, of course sir, you as well." + elif item == cho_outfit_club_dress: + gen "I'm looking to procure a dress, if it's not too much trouble." ("base", xpos="far_left", ypos="head") + maf "A dress you say... Now that is one of my specialities!" + gen "It is?" ("base", xpos="far_left", ypos="head") + maf "Well, technically everything is my speciality." + maf "So, are you looking for something formal?" + maf "For dancing?" + maf "A summer dress perhaps?" + gen "I was thinking more similar to something you'd wear at a nightclub." ("base", xpos="far_left", ypos="head") + maf "Oh, I see..." + gen "Is that a problem?" ("base", xpos="far_left", ypos="head") + maf "Of course not... I am just contemplating what type of design I should go with..." + maf "Alright... I believe I got it." + gen "Already?" ("base", xpos="far_left", ypos="head") + maf "Of course!" + maf "I shall have the dress done shortly." + gen "Excellent." ("base", xpos="far_left", ypos="head") # # Astoria Greengrass # @@ -416,7 +476,7 @@ label purchase_outfit(item): gen "You mean a monitor?" ("base", xpos="far_left", ypos="head") maf "Sorry?" gen "Never mind..." ("base", xpos="far_left", ypos="head") - maf "Once I've asked him I'll get that {i}souvlaki{/i} costume ready for you as soon as possible!" + maf "Once I've asked him, I'll get that {i}souvlaki{/i} costume ready for you as soon as possible!" gen "Takama--{w=0.4} I'm sure he'll know what you mean..." ("base", xpos="far_left", ypos="head") # @@ -426,13 +486,13 @@ label purchase_outfit(item): elif item == lun_outfit_nightie1: gen "I need a nightie." ("base", xpos="far_left", ypos="head") maf "A nightie, sir?" - gen "Yes...{w=0.4} one of the girls had theirs stolen." ("base", xpos="far_left", ypos="head") - maf "Right... So what kind of nightie did she have stolen?" + gen "Yes...{w=0.4} One of the girls had theirs stolen." ("base", xpos="far_left", ypos="head") + maf "Right... So, what type of nightie was stolen from her?" gen "I believe it was loose fitting... And translucent!" ("base", xpos="far_left", ypos="head") maf "Don't you mean Opaque, sir?" gen "No... Pretty sure I'm correct on this one." ("base", xpos="far_left", ypos="head") - maf "...{w=0.4} Alright then... I'll get started on it now then shall I?" - gen "That'd be great, I mean we can't let her sleep naked can we?" ("base", xpos="far_left", ypos="head") + maf "...{w=0.4} Alright then... I'll get started on it now then, shall I?" + gen "That'd be great, I mean we can't let her sleep naked, can we?" ("base", xpos="far_left", ypos="head") maf "..." elif item == lun_outfit_nightie2: gen "Could you make me a nightie?" ("base", xpos="far_left", ypos="head") @@ -452,7 +512,7 @@ label purchase_outfit(item): maf "Of course, sir." maf "A set of lace underwear as a gift it is." elif item == lun_outfit_bikini3: - gen "Could you make me a bikini, Madame?" ("base", xpos="far_left", ypos="head") + gen "Could you make me a bikini, Madam?" ("base", xpos="far_left", ypos="head") maf "I can make anything, I'm an expert tailor." gen "Great, then I'd like one that only covers what it needs to." ("base", xpos="far_left", ypos="head") maf "Oh, I'm not sure I have enough material sir..." @@ -468,13 +528,13 @@ label purchase_outfit(item): gen "Gotta stay in shape and all that, you know how it is..." ("base", xpos="far_left", ypos="head") maf "Alright, so something sporty then?" gen "..." ("base", xpos="far_left", ypos="head") - gen "Yeah I suppose that will have to do." ("base", xpos="far_left", ypos="head") + gen "Yeah, I suppose that will have to do." ("base", xpos="far_left", ypos="head") elif item == lun_outfit_flight_attendant: gen "I need a flight attendant outfit." ("base", xpos="far_left", ypos="head") maf "A flight attendant outfit? Is that a muggle thing?" gen "Yes, it's what the staff wears inside of a plane." ("base", xpos="far_left", ypos="head") maf "A plain what, sir?" - gen "Yes a... Surely you must've seen a plane before?" ("base", xpos="far_left", ypos="head") + gen "Yes a... Surely, you must've seen a plane before?" ("base", xpos="far_left", ypos="head") maf "..." gen "Big metal thing in the sky..." ("base", xpos="far_left", ypos="head") maf "Oh! The giant metal birds!" @@ -483,22 +543,22 @@ label purchase_outfit(item): maf "How silly..." gen "I know right..." ("base", xpos="far_left", ypos="head") gen "...{w} Anyway, you think you could make an outfit like that?" ("base", xpos="far_left", ypos="head") - maf "I suppose... I'll have to ask my grandson what it looks like but it shouldn't be a problem." + maf "I suppose... I'll have to ask my grandson what it looks like, but it shouldn't be a problem." gen "Excellent." ("base", xpos="far_left", ypos="head") elif item == lun_outfit_party: - if not ball_quest.E4_complete: #If the ball hasn't been brought up yet + if not states.her.ev.yule_ball.e4_complete: #If the ball hasn't been brought up yet gen "Could you make a dress for me?" ("base", xpos="far_left", ypos="head") maf "Certainly, what type of dress would you like?" gen "Something weird would do well I think..." ("base", xpos="far_left", ypos="head") - gen "Something completely out there and non modern..." ("base", xpos="far_left", ypos="head") + gen "Something completely out there and non-modern..." ("base", xpos="far_left", ypos="head") gen "Something--" ("base", xpos="far_left", ypos="head") maf "Are you trying to wind me up, sir?" gen "I'm deadly serious..." ("base", xpos="far_left", ypos="head") maf "Okay then, well... in that case I'll have to throw fashion out the window..." - elif not ball_quest.started: #If the ball has been brought up but not happened + elif not states.her.ev.yule_ball.started: #If the ball has been brought up but not happened gen "One of the students needs a dress for the upcoming ball." ("base", xpos="far_left", ypos="head") maf "Weren't they required to bring an outfit at the start of the school year?" - gen "Yes, although you know how scatter-brained students can be." ("base", xpos="far_left", ypos="head") + gen "Yes, although you know how scatterbrained students can be." ("base", xpos="far_left", ypos="head") maf "And what kind of style of dress would she like?" gen "Something eccentric and weird is what she'd normally go for, I believe..." ("base", xpos="far_left", ypos="head") maf "So this student is the kind of person that just likes to be different then?" @@ -511,17 +571,17 @@ label purchase_outfit(item): gen "Oh yeah..." ("base", xpos="far_left", ypos="head") maf "So..." gen "So I need something odd, like this..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") + play sound "sounds/scribble.ogg" maf "That..." maf "Well I guess we're lucky the ball already happened." gen "Why is that?" ("base", xpos="far_left", ypos="head") maf "Well... Nevermind... I'll make this for you then, shall I?" - gen "As soon as possible please." ("base", xpos="far_left", ypos="head") + gen "As soon as possible, please." ("base", xpos="far_left", ypos="head") maf "I'll see what I can do..." gen "Good luck!" ("base", xpos="far_left", ypos="head") elif item == lun_outfit_muggle: gen "I need some custom clothing done, something like this..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") + play sound "sounds/scribble.ogg" gen "You think you could make that?" ("base", xpos="far_left", ypos="head") maf "Shouldn't be a problem..." maf "Isn't that skirt is a bit odd though?" @@ -529,10 +589,10 @@ label purchase_outfit(item): maf "If you say so..." elif item == lun_outfit_summer: gen "Could you make me something good for the summer?" ("base", xpos="far_left", ypos="head") - maf "You're going to need to be more specific I'm afraid." - gen "Oh... Some shorts, and a crop top!" ("base", xpos="far_left", ypos="head") + maf "You're going to need to be more specific, I'm afraid." + gen "Oh... Some shorts and a crop top!" ("base", xpos="far_left", ypos="head") maf "Alright then. That shouldn't be that--" - gen "And make the crop top very tight please!" ("base", xpos="far_left", ypos="head") + gen "And make the crop top very tight, please!" ("base", xpos="far_left", ypos="head") maf "Tight, sir?" maf "But if I do that, it won't stay down very easy." gen "Gives the puppies an easier time to breathe." ("base", xpos="far_left", ypos="head") @@ -540,7 +600,7 @@ label purchase_outfit(item): gen "Trust me, it's for their own good." ("base", xpos="far_left", ypos="head") maf "... Alright then, sir... A tight crop top it is." elif item == lun_outfit_harley_quinn: - gen "I need super villain costume." ("base", xpos="far_left", ypos="head") + gen "I need a super villain costume." ("base", xpos="far_left", ypos="head") maf "Headmaster by day, villain by night is it?" gen "..." ("base", xpos="far_left", ypos="head") maf "Or is it for somebody else?" @@ -556,12 +616,77 @@ label purchase_outfit(item): maf "In any case, I'm sure that my grandson has a comic with her. I'll just have to wrestle it out of his grubby little hands." gen "Thank you very much." ("base", xpos="far_left", ypos="head") maf "You're quite welcome." + elif item == lun_outfit_bunny: + gen "I'm looking to acquire a bunny costume." ("base", xpos="far_left", ypos="head") + maf "Certainly sir, how big is the bunny?" + gen "How big is the-- I'm talking about--" ("base", xpos="far_left", ypos="head") + maf "Just a little joke professor, I'm aware of what you meant." + gen "Oh... I see... Good one!" ("base", xpos="far_left", ypos="head") + maf "I'll get working on it as soon as possible." + elif item == lun_outfit_tanktop: + gen "I'm looking for a summer outfit... Have you got anything like that?" ("base", xpos="far_left", ypos="head") + maf "I'm able to make anything you like, sir... But you're going to have to be a bit more descriptive." + gen "Oh... Right..." ("base", xpos="far_left", ypos="head") + gen "How about a tank top, and some shorts?" ("base", xpos="far_left", ypos="head") + maf "Are you asking me for an opinion?" + gen "Tank top and shorts, it is!" ("base", xpos="far_left", ypos="head") + maf "Alright then..." + elif item == lun_outfit_bimbo: + gen "Could you make me something a bit... Bimbo-y?" ("base", xpos="far_left", ypos="head") + maf "Bimbo-y, sir?" + gen "You know..." ("base", xpos="far_left", ypos="head") + maf "I'm not sure I do, sir." + gen "Something like this... *scribbles*..." ("base", xpos="far_left", ypos="head") + play sound "sounds/scribble.ogg" + maf "Oh... Oh, I see..." + maf "And the holes..." + gen "Very much intentional." ("base", xpos="far_left", ypos="head") + maf "Right..." + maf "I must admit, it hurts me a bit to do something like this to fabric..." + maf "However, refusing would end my streak of completing any request that has been given to me." + maf "Alright then... I'll do it." + gen "Excellent!" ("base", xpos="far_left", ypos="head") + elif item == lun_outfit_cumslut: + gen "I've got this idea for an outfit, that I can't get out of my mind." ("base", xpos="far_left", ypos="head") + maf "Right... Could you describe it for me?" + gen "It would look like this... *scribbles*..." ("base", xpos="far_left", ypos="head") + play sound "sounds/scribble.ogg" + maf "Merlin's beard... Where do you get these ideas from?" + gen "Is it that bad?" ("base", xpos="far_left", ypos="head") + maf "No, this is brilliant." + gen "Truly?" ("base", xpos="far_left", ypos="head") + maf "Of course! I'll start on it at once!" + gen "Oh! Okay then!" ("base", xpos="far_left", ypos="head") + elif item == lun_outfit_latex: + gen "I need something snappy, and make it tight!" ("base", xpos="far_left", ypos="head") + gen "Wait... I meant that I need something tight... And make it snappy!" ("base", xpos="far_left", ypos="head") + maf "I'm afraid you're going to have to be a little bit more specific, sir." + gen "A latex suit please." ("base", xpos="far_left", ypos="head") + maf "Right... Would you like a one-piece or a two-piece?" + gen "Definitely a two-piece!" ("base", xpos="far_left", ypos="head") + maf "Any other requirements?" + gen "*Hmm*... I'm not sure..." ("base", xpos="far_left", ypos="head") + gen "Oh! Some holes for the chest to poke through!" ("base", xpos="far_left", ypos="head") + gen "For comfort, of course..." ("base", xpos="far_left", ypos="head") + maf "Certainly..." + maf "I shall have it ready for you shortly." + elif item == lun_outfit_flasher: + gen "I'm looking to acquire something... Kinky." ("base", xpos="far_left", ypos="head") + maf "Kinky, sir?" + gen "Do you know what a flasher is?" ("base", xpos="far_left", ypos="head") + maf "Of course... The first ever flasher was a witch, after all." + gen "Really?" ("base", xpos="far_left", ypos="head") + maf "Most certainly... Do they not teach this in school anymore?" + gen "*Err*..." ("base", xpos="far_left", ypos="head") + gen "So, would you be able to make an outfit like that?" ("base", xpos="far_left", ypos="head") + maf "Absolutely." + gen "Excellent." ("base", xpos="far_left", ypos="head") # gen "Could you make me a Ravenclaw Cheerleader outfit?" ("base", xpos="far_left", ypos="head") - # maf "You're not showing favouritism towards Ravenclaw's Quidditch team are you?" + # maf "You're not showing favouritism towards Ravenclaw's Quidditch team, are you?" # gen "I'm merely looking to see if it'd be worth to bring cheerleading to this country." ("base", xpos="far_left", ypos="head") - # maf "If that's the case then I want some royalties in case these designs are supposed to be wide spread." - # gen "Oh they'll be wide spread alright..." ("base", xpos="far_left", ypos="head") - # maf "Great then that's settled." + # maf "If that's the case, then I want some royalties in case these designs are supposed to be widespread." + # gen "Oh they'll be widespread alright..." ("base", xpos="far_left", ypos="head") + # maf "Great, then that's settled." # gen "(Wait, what did she say?)" ("base", xpos="far_left", ypos="head") # maf "I'll get it done as soon as possible." # elif item == ll_lingerie_silk_ITEM: @@ -569,7 +694,7 @@ label purchase_outfit(item): # maf "Male or female?" # gen "*Err*..." ("base", xpos="far_left", ypos="head") # maf "Female it is..." - # maf "Well, it shouldn't take that much material so I'll have them done for you rather quickly." + # maf "Well, it shouldn't take that much material, so I'll have them done for you rather quickly." # gen "Great." ("base", xpos="far_left", ypos="head") # maf "And I'll be sure to keep this transaction our little secret..." # gen "Right..." ("base", xpos="far_left", ypos="head") @@ -594,9 +719,9 @@ label purchase_outfit(item): gen "Excellent." ("base", xpos="far_left", ypos="head") elif item == ton_outfit_casual: gen "I'm looking for something casual and tight-fitting." ("base", xpos="far_left", ypos="head") - maf "That's pretty vague... could you be more specific of what you had in mind?" + maf "That's pretty vague... could you be more specific about what you had in mind?" gen "Well... it should be modern..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") + play sound "sounds/scribble.ogg" maf "Right... *scribbles*." maf "What else?" gen "How about... One of those tied tops." ("base", xpos="far_left", ypos="head") @@ -617,7 +742,7 @@ label purchase_outfit(item): maf "One see-through... nightgown coming right up." elif item == ton_outfit_bunny: gen "I need a bunny suit, something similar to what they'd wear at a casino." ("base", xpos="far_left", ypos="head") - maf "*Hmm*...{w=0.3} Not sure what casino's you've been to but I think I know what you mean..." + maf "*Hmm*...{w=0.3} Not sure what casino's you've been to, but I think I know what you mean..." gen "With big bunny ears!" ("grin", xpos="far_left", ypos="head") maf "Alright..." maf "If that's all, I need to go source the materials for these...{w=0.3} ears." @@ -626,11 +751,11 @@ label purchase_outfit(item): gen "I'm looking for something Greek... like a toga." ("base", xpos="far_left", ypos="head") maf "A toga, sir?" gen "Yes, although maybe more of a modern take on it." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") + play sound "sounds/scribble.ogg" maf "Right... *scribbles*..." maf "so, something like this then?" gen "*Hmm*... close, but maybe you should remove some of this material and replace it with something like this... *scribbles*." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") + play sound "sounds/scribble.ogg" maf "Oh...{w=0.8}Oh my..." gen "Is that doable?" ("base", xpos="far_left", ypos="head") maf "Doable certainly... although it's a bit..." @@ -654,9 +779,9 @@ label purchase_outfit(item): maf "Certainly, looking for any particular pattern?" gen "Something to show off our national heritage." ("base", xpos="far_left", ypos="head") maf "So a Scottish flag?" - gen "What, no.. I meant the union jack." ("base", xpos="far_left", ypos="head") - maf "Oh... {i}righto{/i}..." - maf "One union jack bikini-bra it is..." + gen "What, no... I meant the Union Jack." ("base", xpos="far_left", ypos="head") + maf "Oh... {i}Righto{/i}..." + maf "One Union Jack bikini-bra it is..." gen "(Scottish... As if I wouldn't know straight away that we were in Scotland...)" ("base", xpos="far_left", ypos="head") elif item == ton_outfit_bikini_4: gen "Could you make be a bikini-bra?" ("base", xpos="far_left", ypos="head") @@ -665,11 +790,11 @@ label purchase_outfit(item): maf "Are you sure? I thought you weren't meant to put it on clothing." gen "You're not?" ("base", xpos="far_left", ypos="head") maf "I'm fairly sure I read that somewhere..." - gen "Well, I think if it's being made into something meant to contain immense greatness we could make an exception." ("base", xpos="far_left", ypos="head") + gen "Well, I think if it's being made into something meant to contain immense greatness, then we could make an exception." ("base", xpos="far_left", ypos="head") maf "I'm not sure what you mean, sir..." gen "Don't worry about it..." ("base", xpos="far_left", ypos="head") maf "Okay then..." - maf "One United states of America patterned bikini-bra coming up." + maf "One United States of America patterned bikini-bra coming up." elif item == ton_outfit_swimsuit_1: gen "Got any swimsuits?" ("base", xpos="far_left", ypos="head") maf "Not in stock but I could make you one." @@ -693,9 +818,9 @@ label purchase_outfit(item): maf "Right." gen "I need a striped, translucent swimsuit." ("base", xpos="far_left", ypos="head") maf "Translucent? Doesn't that defeat the purpose a bit?" - gen "Depends what the purpose is..." ("base", xpos="far_left", ypos="head") + gen "That would depend on what the purpose is..." ("base", xpos="far_left", ypos="head") maf "Well, you'd think that you could just go to a nudist beach." - gen "You seen any around here?" ("base", xpos="far_left", ypos="head") + gen "Have you seen any around here?" ("base", xpos="far_left", ypos="head") maf "Can't you just Apparate to one, sir?" gen "Do what?" ("base", xpos="far_left", ypos="head") maf "Apparate." @@ -708,7 +833,7 @@ label purchase_outfit(item): gen "So, what?" ("base", xpos="far_left", ypos="head") maf "Why couldn't you just--" gen "..." ("base", xpos="far_left", ypos="head") - maf "Never mind... What is I to question the headmaster..." + maf "Never mind... Who am I to question the headmaster..." elif item == ton_outfit_swimsuit_3: gen "I need a swimsuit." ("base", xpos="far_left", ypos="head") maf "Right, any specifications?" @@ -728,23 +853,23 @@ label purchase_outfit(item): gen "Yes... Ever watched the Flintstones?" ("base", xpos="far_left", ypos="head") maf "The what, sorry?" gen "*Sigh*..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") + play sound "sounds/scribble.ogg" gen "Could you make me something like this? *Scribbles*" ("base", xpos="far_left", ypos="head") maf "I see..." maf "Are you sure you've drawn it correctly?" - maf "There seem to be some fabric missing." + maf "There seems to be some fabric missing." gen "Positive." ("base", xpos="far_left", ypos="head") maf "Okay then." - maf "One... Flintstone outfit it is." + maf "One... Flintstone outfit, it is." gen "Yabadababoob!" ("grin", xpos="far_left", ypos="head") elif item == ton_outfit_club_dress: - gen "Have you ever been out clubbing Miss Mafkin?" ("base", xpos="far_left", ypos="head") + gen "Have you ever been out clubbing, Miss Mafkin?" ("base", xpos="far_left", ypos="head") maf "By merlin no... I wouldn't dare hurt an animal." gen "Not that... Clubbing Is when you go to a club, listen to music whilst moving your arms around awkwardly." ("base", xpos="far_left", ypos="head") - maf "Oh... In that case yes, although it's been a while." + maf "Oh... In that case, yes, although it's been a while." maf "They used to call me the dancing queen--" - gen "Yes yes, very interesting... Loud music with no way of chatting anyone up... Love it." ("base", xpos="far_left", ypos="head") + gen "Yes, yes, very interesting... Loud music with no way of chatting anyone up... Love it." ("base", xpos="far_left", ypos="head") gen "Anyway..." ("base", xpos="far_left", ypos="head") maf "..." gen "You think you could provide me with something a woman might wear when going clubbing?" ("base", xpos="far_left", ypos="head") @@ -759,7 +884,7 @@ label purchase_outfit(item): gen "Something that makes the nipples part of the integral structure of the piece." ("base", xpos="far_left", ypos="head") maf "..." maf "This is for a lady I assume?" - gen "I mean my nipples could probably cut glass when hard but yes it's for a lady..." ("base", xpos="far_left", ypos="head") + gen "I mean my nipples could probably cut glass when hard... But yes, it's for a lady." ("base", xpos="far_left", ypos="head") maf "Was that extra information necessary, sir?" gen "Is it normal or do I need to get them checked?" ("base", xpos="far_left", ypos="head") maf "I'm not a medical expert, sir... I'm a tailor." @@ -773,15 +898,15 @@ label purchase_outfit(item): elif item == ton_outfit_lady_D: gen "Could you make me a cosplay outfit?" ("base", xpos="far_left", ypos="head") maf "Of course, as long as I know it." - gen "Well you should know this one." ("base", xpos="far_left", ypos="head") + gen "Well, you should know this one." ("base", xpos="far_left", ypos="head") gen "It's none other than lady Dimitrescu." ("base", xpos="far_left", ypos="head") - maf "*Hmm*... Well I can't say that I've heard of her." + maf "*Hmm*... Well, I can't say that I've heard of her." gen "She's a video game character." ("base", xpos="far_left", ypos="head") - maf "I see... In that case I'll have to ask my grandson..." + maf "I see... In that case, I'll have to ask my grandson..." gen "I'm sure if your grandson has spent any time online, he'll know who she is." ("base", xpos="far_left", ypos="head") maf "On line, sir?" gen "..." ("base", xpos="far_left", ypos="head") - gen "Just ask him and I'm sure he'll know." ("base", xpos="far_left", ypos="head") + gen "Just ask him, and I'm sure he'll know." ("base", xpos="far_left", ypos="head") elif item == ton_outfit_mechanic: gen "Could you make me a mechanic attire?" ("base", xpos="far_left", ypos="head") @@ -795,20 +920,20 @@ label purchase_outfit(item): maf "I only wanted to say that maybe it's time to quit loafing around, our roof is leaking again." gen "Oh. Sure, I'll get Snape to fix that as soon as possible." ("base", xpos="far_left", ypos="head") maf "Do you mean Mr Filch?" - gen "(I didn't know his reputation was so low people call him filth so openly...)" ("base", xpos="far_left", ypos="head") + gen "(I didn't know his reputation was so low, people call him filth so openly...)" ("base", xpos="far_left", ypos="head") gen "Sure, whatever." ("base", xpos="far_left", ypos="head") maf "Thank you, sir." maf "As for your outfit, it should be done in a timely fashion." gen "Sweet." ("base", xpos="far_left", ypos="head") elif item == ton_outfit_office: - gen "I need a Office workers outfit, is that something you can do?" ("base", xpos="far_left", ypos="head") + gen "I need a Office worker's outfit, is that something you can do?" ("base", xpos="far_left", ypos="head") maf "Certainly, sir. What kind of cut are you looking for?" gen "Cut? Am I finally getting paid for letting you set up shop here?" ("base", xpos="far_left", ypos="head") maf "I'm referring to how you'd like the suit to be cut." gen "Right..." ("base", xpos="far_left", ypos="head") - $ renpy.play("sounds/scribble.ogg") - gen "Well, if you could, I'd like something like this... *scribbles*." ("base", xpos="far_left", ypos="head") + play sound "sounds/scribble.ogg" + gen "Well, if you could, I'd like something like this... *Scribbles*." ("base", xpos="far_left", ypos="head") #TODO uncomment once conversion for python 3 allows it #show image Transform(Fixed("paper", "geniedrawing", fit_first=True), align=(0.5, 0.5), zoom=0.5) as drawing @@ -818,9 +943,16 @@ label purchase_outfit(item): #with d5 maf "I see..." - maf "Well, I suppose, with a couple adjustments... Something like that should be doable." + maf "Well, I suppose, with a couple of adjustments... Something like that should be doable." gen "Great!" ("base", xpos="far_left", ypos="head") maf "I'll have it ready for you as soon as possible." + elif item == ton_outfit_pullover: + gen "I'm looking to get something warm and snug for a lady friend to wear during cold weather." ("base", xpos="far_left", ypos="head") + gen "Could you make me a pullover?" ("base", xpos="far_left", ypos="head") + maf "Of course, I can make anything you'd like." + gen "In that case, how about condoms that doesn't diminish sexual stimuli?" ("base", xpos="far_left", ypos="head") + maf "I'm sorry, but I believe dark arts are forbidden within these halls, so you'd have to go to Knockturn Alley for that." + gen "Then a pullover outfit it is." ("base", xpos="far_left", ypos="head") # # Susan Bones @@ -828,13 +960,13 @@ label purchase_outfit(item): elif item == sus_outfit_lace1: gen "I'm looking to acquire some lingerie, do you have something like that in stock?" ("base", xpos="far_left", ypos="head") - maf "Not currently... Although I have some business coming up in Knockturn alley so I could procure some materials for it." + maf "Not currently... Although I have some business coming up in Knockturn alley, so I could procure some materials for it." gen "I see..." ("base", xpos="far_left", ypos="head") maf "Oh, it's nothing sinister I assure you sir, no need to worry." gen "So is it going to take long?" ("base", xpos="far_left", ypos="head") maf "Sorry?" - gen "Will it take long to acquire these materials." ("base", xpos="far_left", ypos="head") - maf "Oh, no I should have it done before you can say floo powder." + gen "Will it take long to acquire these materials?" ("base", xpos="far_left", ypos="head") + maf "Oh... No, I should have it done before you can say floo powder." gen "Great!" ("base", xpos="far_left", ypos="head") elif item == sus_outfit_latex1: @@ -848,6 +980,22 @@ label purchase_outfit(item): maf "Very well then, I'll have your latex underwear ready for you shortly." gen "Tight." ("base", xpos="far_left", ypos="head") + elif item == sus_outfit_priestess: + gen "Would you be able to provide me with a priestess outfit?" ("base", xpos="far_left", ypos="head") + maf "A priestess outfit, sir?" + gen "That's right! And make it sexy!" ("base", xpos="far_left", ypos="head") + maf "Sexy, sir?" + maf "Surely that would hardly be appropriate for a priestess." + gen "Why wouldn't it?" ("base", xpos="far_left", ypos="head") + maf "As far as I'm aware, priestesses are known for practising celibacy." + gen "Truly?" ("base", xpos="far_left", ypos="head") + maf "I believe so, sir." + gen "*Hmm*... That doesn't sound like any priestess I've ever met." ("base", xpos="far_left", ypos="head") + gen "..." ("base", xpos="far_left", ypos="head") + maf "..." + maf "I can still make it though, if you'd like." + gen "Great!" ("base", xpos="far_left", ypos="head") + # # Universal diff --git a/game/scripts/shops/dress/menu.rpy b/game/scripts/shops/dress/menu.rpy index 22e4ab7c..57744404 100644 --- a/game/scripts/shops/dress/menu.rpy +++ b/game/scripts/shops/dress/menu.rpy @@ -25,8 +25,9 @@ label shop_dress_menu: category_items = {"hermione": hermione.outfits, "tonks": tonks.outfits, "cho": cho.outfits, "luna": luna.outfits, "astoria": astoria.outfits, "susan": susan.outfits} current_category = "hermione" store_cart = set() - menu_items = shop_dress_sortfilter(filter(lambda x: bool(x.unlocked == False and x.price > 0 and not x in store_cart), category_items.get(current_category, [])), current_sorting) + menu_items = shop_dress_sortfilter([x for x in category_items.get(current_category, []) if bool(x.unlocked == False and x.price > 0 and not x in store_cart)], current_sorting) current_item = next(iter(menu_items), None) + parcel_callbacks = [] show screen shop_dress() @@ -36,7 +37,7 @@ label shop_dress_menu: if _choice[0] == "category": $ current_category = _choice[1] - $ menu_items = shop_dress_sortfilter(filter(lambda x: bool(x.unlocked == False and x.price > 0 and not x in store_cart), category_items.get(current_category, [])), current_sorting) + $ menu_items = shop_dress_sortfilter([x for x in category_items.get(current_category, []) if bool(x.unlocked == False and x.price > 0 and not x in store_cart)], current_sorting) $ current_item = next(iter(menu_items), None) elif _choice[0] == "buy": show screen blktone @@ -47,10 +48,10 @@ label shop_dress_menu: if len(store_cart) < 5: $ renpy.call("purchase_outfit", _choice[1]) - $ renpy.play("sounds/money.ogg") + play sound "sounds/money.ogg" $ game.gold -= _choice[1].price $ store_cart.add(_choice[1]) - $ menu_items = shop_dress_sortfilter(filter(lambda x: bool(x.unlocked == False and x.price > 0 and not x in store_cart), category_items.get(current_category, [])), current_sorting) + $ menu_items = shop_dress_sortfilter([x for x in category_items.get(current_category, []) if bool(x.unlocked == False and x.price > 0 and not x in store_cart)], current_sorting) $ current_item = next(iter(menu_items), None) if len(store_cart) < 5: @@ -72,7 +73,7 @@ label shop_dress_menu: elif current_sorting == "Lewdness (Desc)": $ current_sorting = "Price (Asc)" - $ menu_items = shop_dress_sortfilter(filter(lambda x: bool(x.unlocked == False and x.price > 0 and not x in store_cart), category_items.get(current_category, [])), current_sorting) + $ menu_items = shop_dress_sortfilter([x for x in category_items.get(current_category, []) if bool(x.unlocked == False and x.price > 0 and not x in store_cart)], current_sorting) else: # Close if len(store_cart) < 5: show screen blktone @@ -107,14 +108,17 @@ label shop_dress_menu: $ _tmp = "tomorrow" if transit_time == 1 else "in about {} days".format(str(transit_time)) maf "You can expect a parcel [_tmp]." - $ Parcel(contents=[(k, 1) for k in store_cart], wait=transit_time).send() + # Executes callbacks upon receival of the parcel. + $ curry = renpy.curry(execute_callbacks)(parcel_callbacks) if parcel_callbacks else None + $ parcel_callbacks = [] + $ Parcel(contents=[(k, 1) for k in store_cart], wait=transit_time, func=curry).send() + return else: gen "Nothing has caught my eye I'm afraid." ("base", xpos="far_left", ypos="head") maf "Maybe next time." return - jump .after_init screen shop_dress(): @@ -154,8 +158,8 @@ screen shop_dress_menu(): vbox: pos (6, 6) - for category in category_items.iterkeys(): - if getattr(renpy.store, category+"_unlocked"): + for category in category_items.keys(): + if get_character_unlock(category): $ icon = Fixed(icon_bg, Frame( Transform("interface/icons/head/{}.webp".format(category), fit="contain"), xysize=(42, 42), offset=(3, 3)), "interface/achievements/glass_iconbox.webp") vbox: @@ -237,7 +241,7 @@ screen shop_dress_menuitem(): mesh True for item in menu_items: - $ icon = Transform(item.get_image(), crop=(215, 0, 680, 1200), mesh=True, gl_pixel_perfect=True) + $ icon = Transform(item.image, crop=(215, 0, 680, 1200), mesh=True, gl_pixel_perfect=True) $ is_modded = item.is_modded() $ is_affordable = bool(game.gold >= item.price) diff --git a/game/scripts/shops/dress/room.rpy b/game/scripts/shops/dress/room.rpy index e96ebca4..45e45ccf 100644 --- a/game/scripts/shops/dress/room.rpy +++ b/game/scripts/shops/dress/room.rpy @@ -1,6 +1,6 @@ label clothing_store: call room("clothing_store") - call play_music("clothing_store") + play music "music/clothing_store.ogg" fadein 1 if_changed if mailbox.type_in_parcels("outfit"): maf "I'm sorry luv, but I'm still quite busy working on your previous order." @@ -10,8 +10,8 @@ label clothing_store: if not clothing_store_intro_done: $ clothing_store_intro_done = True - ">You enter to see an old woman sewing together two pieces of long dark fabric." - ">The woman is dressed almost entirely in pink and has a warm, approachable air to her." + nar "You enter to see an old woman sewing together two pieces of long dark fabric." + nar "The woman is dressed almost entirely in pink and has a warm, approachable air to her." gen "Hello." ("base", xpos="far_left", ypos="head") maf "Hello, Professor Dumbledore." maf "What can I do for you? Would you like a new cloak, or do you require some alterations to an existing item?" diff --git a/game/scripts/shops/item/chitchats.rpy b/game/scripts/shops/item/chitchats.rpy index cc870132..c16251c9 100644 --- a/game/scripts/shops/item/chitchats.rpy +++ b/game/scripts/shops/item/chitchats.rpy @@ -12,7 +12,7 @@ label purchase_item(item): if item == sealed_scroll_ITEM: show screen blktone with d3 - if not hg_sex.trigger: + if not states.her.status.sex: gen "What's in this scroll?" ("base", xpos="far_left", ypos="head") ger "Don't worry about it." gen "Why?" ("base", xpos="far_left", ypos="head") @@ -30,25 +30,25 @@ label purchase_item(item): fre "Forbidden magic is quite a risky and expensive endeavour Professor, We'll sell it for no less than five hundred." gen "What's it for anyway?" ("base", xpos="far_left", ypos="head") fre "It is one of the components needed for a forbidden spell." - ger "Acquired completely legitimately I might add!" + ger "Acquired completely legitimately, I might add!" gen "What does it do?" ("base", xpos="far_left", ypos="head") fre "It transforms you into... something." gen "Like what?" ("base", xpos="far_left", ypos="head") fre "We don't know, it could be anything." - ger "A powerful phoenix, a terrifying gorgon, a deadly basilisk or an awe inspiring dragon." + ger "A powerful phoenix, a terrifying gorgon, a deadly basilisk or an awe-inspiring dragon." gen "Not sure I'd really want to transform into any of those..." ("base", xpos="far_left", ypos="head") ger "Well... those are just theories, we've not been able to use the scroll to find the second component ourselves." - gen "Really? Now that's is surprising." ("base", xpos="far_left", ypos="head") + gen "Really? Now that is surprising." ("base", xpos="far_left", ypos="head") fre "Yes, although it's blank for some reason... not really anything new to us as we used to have a ma--" ger "massive amounts of scrolls just like this one!" - ger "Yep... lot's of them, shame they all burnt." + ger "Yep... lots of them, shame they all burnt." fre "What are you-- *HHNG*" fre "Oh! I see... Yes, very unfortunate..." - gen "That is unfortunate... Well I'm sure I'll manage." ("base", xpos="far_left", ypos="head") + gen "That is unfortunate... Well, I'm sure I'll manage." ("base", xpos="far_left", ypos="head") hide screen blktone with d3 - if item == collar_ITEM and not her_magic_collar_worn and item.owned == 0: + if item == collar_ITEM and not states.her.ev.magic_collar.worn and item.owned == 0: show screen blktone with d3 gen "A Magic collar..." ("base", xpos="far_left", ypos="head") @@ -62,7 +62,7 @@ label purchase_item(item): gen "Colour me intrigued..." ("base", xpos="far_left", ypos="head") gen "And it works?" ("base", xpos="far_left", ypos="head") fre "Of course it does, we tested it on ourselves!" - ger "Just know that the collar loses its magic once it is put one's neck." + ger "Just know that the collar loses its magic once it is put on one's neck." ger "So you'll have to buy another collar if you want to test if anything's changed..." # ger "So you'll have to buy multiple collars if you want to test it on multiple subjects..." # fre "Or multiple times on one subject to see if anything's changed..." @@ -70,7 +70,7 @@ label purchase_item(item): gen "So, what did the collar say when you guys put it on?" ("base", xpos="far_left", ypos="head") fre "Voyeu--" ger "Thrifty!" - ger "Wait, what did you just say Fred?" + ger "Wait, what did you just say, Fred?" fre "..." gen "Alright then, I'll take it..." ("base", xpos="far_left", ypos="head") fre "*Ahem*... It's a pleasure doing business with you, sir!" @@ -80,9 +80,9 @@ label purchase_item(item): elif item == poker_outfit_ITEM: $ item.used = True - call unlock_clothing(">Congratulations! You have unlocked a new outfit!", her_outfit_poker) + call unlock_clothing("Congratulations! You have unlocked a new outfit!", her_outfit_poker) - $ renpy.play("sounds/money.ogg") + play sound "sounds/money.ogg" if item.currency == "tokens": $ tokens -= item.price @@ -90,4 +90,19 @@ label purchase_item(item): $ game.gold -= item.price $ item.owned += 1 + $ item_store_achievements() + return + +init python: + def item_store_achievements(): + # We require a function because lambdas aren't pickleable + if isinstance(item, Decoration): + _posters = filter(lambda x: (x.type == "decoration" and x.placement == poster_OBJ), inventory.items) + _hats = filter(lambda x: (x.type == "decoration" and "hat" in x.name.lower()), inventory.items) + + if all(i.owned > 0 for i in _posters): + achievements.unlock("postman") + + if all(i.owned > 0 for i in _hats): + achievements.unlock("hats") \ No newline at end of file diff --git a/game/scripts/shops/item/menu.rpy b/game/scripts/shops/item/menu.rpy index c742ff2f..62f3ddf5 100644 --- a/game/scripts/shops/item/menu.rpy +++ b/game/scripts/shops/item/menu.rpy @@ -14,29 +14,31 @@ label shop_item: return label shop_item_menu(xx=150, yy=90): - $ inventory_dict = { - "Gifts": inventory.get_instances_of_type("gift"), - "Books": inventory.get_instances_of_type("book"), - "Scrolls": inventory.get_instances_of_type("scroll"), - "Ingredients": inventory.get_instances_of_type("ingredient"), - "Decorations": inventory.get_instances_of_type("decoration"), - "Quest Items": inventory.get_instances_of_type("quest"), - } - $ items_shown = 36 - $ current_page = 0 - $ current_category = next(iter(inventory_dict.iterkeys())) - $ current_sorting = "Price (Asc)" + python: + inventory_dict = { + "Gifts": inventory.get_instances_of_type("gift"), + "Books": inventory.get_instances_of_type("book"), + "Scrolls": inventory.get_instances_of_type("scroll"), + "Ingredients": inventory.get_instances_of_type("ingredient"), + "Decorations": inventory.get_instances_of_type("decoration"), + "Quest Items": inventory.get_instances_of_type("quest"), + } - if current_category in {"Gifts", "Ingredients"}: - $ category_items = filter(lambda x: bool(x.price > 0 and x.unlocked), inventory_dict[current_category]) - elif current_category in {"Books", "Scrolls", "Decorations", "Quest Items"}: - $ category_items = filter(lambda x: bool(x.price > 0 and x.owned < x.limit and x.unlocked), inventory_dict[current_category]) + items_shown = 36 + current_page = 0 + current_category = next(iter(inventory_dict.keys())) + current_sorting = "Price (Asc)" - $ menu_items = shop_item_sortfilter(category_items, current_sorting) - $ menu_items_length = len(menu_items) + if current_category in {"Gifts", "Ingredients"}: + category_items = [x for x in inventory_dict[current_category] if bool(x.price > 0 and x.unlocked)] + elif current_category in {"Books", "Scrolls", "Decorations", "Quest Items"}: + category_items = [x for x in inventory_dict[current_category] if bool(x.price > 0 and x.owned < x.limit and x.unlocked)] - $ current_item = next(iter(menu_items), None) + menu_items = shop_item_sortfilter(category_items, current_sorting) + menu_items_length = len(menu_items) + + current_item = next(iter(menu_items), None) show screen shop_item(xx, yy) @@ -48,9 +50,9 @@ label shop_item_menu(xx=150, yy=90): elif _choice[0] == "category": $ current_category = _choice[1] if current_category in {"Gifts", "Ingredients"}: - $ category_items = filter(lambda x: bool(x.price > 0 and x.unlocked), inventory_dict[current_category]) + $ category_items = [x for x in inventory_dict[current_category] if bool(x.price > 0 and x.unlocked)] elif current_category in {"Books", "Scrolls", "Decorations", "Quest Items"}: - $ category_items = filter(lambda x: bool(x.price > 0 and x.owned < x.limit and x.unlocked), inventory_dict[current_category]) + $ category_items = [x for x in inventory_dict[current_category] if bool(x.price > 0 and x.owned < x.limit and x.unlocked)] $ menu_items = shop_item_sortfilter(category_items, current_sorting) $ menu_items_length = len(menu_items) $ current_page = 0 @@ -71,9 +73,9 @@ label shop_item_menu(xx=150, yy=90): $ renpy.call("purchase_item", current_item) if current_category in {"Gifts", "Ingredients"}: - $ category_items = filter(lambda x: bool(x.price > 0 and x.unlocked), inventory_dict[current_category]) + $ category_items = [x for x in inventory_dict[current_category] if bool(x.price > 0 and x.unlocked)] elif current_category in {"Books", "Scrolls", "Decorations", "Quest Items"}: - $ category_items = filter(lambda x: bool(x.price > 0 and x.owned < x.limit and x.unlocked), inventory_dict[current_category]) + $ category_items = [x for x in inventory_dict[current_category] if bool(x.price > 0 and x.owned < x.limit and x.unlocked)] $ menu_items = shop_item_sortfilter(category_items, current_sorting) $ menu_items_length = len(menu_items) @@ -126,7 +128,7 @@ screen shop_item_menu(xx, yy): vbox: pos (6, 41) - for category in inventory_dict.iterkeys(): + for category in inventory_dict.keys(): vbox: textbutton category: style "empty" @@ -157,7 +159,7 @@ screen shop_item_menuitem(xx, yy): add gui.format("interface/achievements/{}/panel.webp") #Western Egg - button xsize 90 ysize 60 action Function(renpy.play, "sounds/plushie.ogg") xalign 0.5 style "empty" + button xsize 90 ysize 60 action Play("sound", "sounds/plushie.ogg") xalign 0.5 style "empty" text "Store" size 22 xalign 0.5 ypos 65 @@ -173,7 +175,7 @@ screen shop_item_menuitem(xx, yy): pos (540, 24) spacing 5 add "interface/page.webp" yanchor 0.5 ypos 53 - text str(current_page+1)+"/"+str(int(math.ceil(menu_items_length/items_shown))+1) ypos 44 size 16 + text str(current_page+1)+"/"+str(int(math.ceil(menu_items_length/items_shown))) ypos 44 size 16 vbox: pos (570, 186) spacing 10 @@ -185,13 +187,13 @@ screen shop_item_menuitem(xx, yy): action Return("dec") imagebutton: - idle Transform(gui.format("interface/frames/{}/arrow_up.webp"), xzoom=-1) - if current_page < math.ceil((menu_items_length-1)/items_shown): - hover Transform(image_hover(gui.format("interface/frames/{}/arrow_up.webp")), xzoom=-1) + idle Transform(gui.format("interface/frames/{}/arrow_up.webp"), yzoom=-1) + if current_page < math.ceil((menu_items_length-1)/items_shown)-1: + hover Transform(image_hover(gui.format("interface/frames/{}/arrow_up.webp")), yzoom=-1) action Return("inc") # Add items - for i in xrange(current_page*items_shown, (current_page*items_shown)+items_shown): + for i in range(current_page*items_shown, (current_page*items_shown)+items_shown): if i < menu_items_length: $ price = menu_items[i].price diff --git a/game/scripts/shops/item/room.rpy b/game/scripts/shops/item/room.rpy index 2c1a5c3e..9654e4dc 100644 --- a/game/scripts/shops/item/room.rpy +++ b/game/scripts/shops/item/room.rpy @@ -17,7 +17,7 @@ label item_store: call room("weasley_store") call gen_chibi("stand", 0, "base") call gen_walk(xpos="left", ypos="base") - call play_music("weasley_store") + play music "music/weasley_store.ogg" fadein 1 if_changed hide screen blkfade with d3 @@ -40,8 +40,8 @@ label item_store: gen "What sort of items are you \"not selling\"?" ("base", xpos="far_left", ypos="head") ger "We have books, treats, and knick-knacks for sale." fre "Take a look." - elif twins_interest: - $ twins_interest = False + elif states.twi.ev.cardgame.interest: + $ states.twi.ev.cardgame.interest = False twi "Greetings Dumbledore, sir!" gen "Hello boys." ("base", xpos="far_left", ypos="head") @@ -49,23 +49,23 @@ label item_store: twi "Of course!" $ her_help = 0 - if her_shop_help: + if states.her.ev.promote_cardgame.helped: ger "Miss Granger has helped us with promotions this week so that means more profits." $ her_help = 200 - $ her_shop_help = False + $ states.her.ev.promote_cardgame.helped = False $ shop_profit = renpy.random.randint(50+her_help, 300) ger "Here, your weekly cut." - call give_reward(_("You've received "+str(int(shop_profit*twins_profit))+" gold."), "interface/icons/gold.webp") + call give_reward("You've received "+str(int(shop_profit*states.twi.ev.cardgame.profit))+" gold.", "interface/icons/gold.webp") - $ game.gold += int(shop_profit*twins_profit) + $ game.gold += int(shop_profit*states.twi.ev.cardgame.profit) ger "..." twi "Did you need anything else?" else: twi "Hello Professor! Came here to buy?" ##Any quest that could play directly after intro can't have introductory dialogue## - if ss_he.cho_E1 and not quidditchguide_ITEM.unlocked and not cho_quiz.complete: + if states.sna.ev.hangouts.cho_e1 and not quidditchguide_ITEM.unlocked and not states.cho.ev.quiz.complete: $ quidditchguide_ITEM.unlocked = True # After talking to Snape about Cho. # If you haven't yet beaten the Quiz. @@ -85,7 +85,7 @@ label item_store: fre "Yes?" gen "Well, I realised that I haven't actually gone in depth with the sport yet." ("base", xpos="far_left", ypos="head") ger "Really? You're telling me that {b}the{/b} Dumbledore doesn't know anything about--{nw}" - call play_sound("kick") + play sound "sounds/kick.ogg" ger "Really? You're telling me that {b}the{/b} Dumbledore doesn't know anything about--{fast} {size=+4}*Hngh*!!{/size}" fre "{size=-4}Quiet, George!{/size}" fre "What he meant to say was, If you're looking to acquire something to touch up on your Quidditch knowledge then you've come to the right place!" @@ -108,7 +108,7 @@ label item_store: ger "Not that we'd know anything about those of course..." gen "Now, I wouldn't want you to part with your personal belongings if it's for school." ("base", xpos="far_left", ypos="head") ger "No worries, sir! We already know all the rules so you can have it for fr--" - call play_sound("kick") + play sound "sounds/kick.ogg" fre "Blimey!" ger "What Fred wanted to say is--" ger "You can have it, for a hundred gold coins." @@ -118,20 +118,20 @@ label item_store: fre "...Make sure to take notes!" gen "Are you assuming your headmaster doesn't know how studying works?" ("base", xpos="far_left", ypos="head") - call play_sound("kick") + play sound "sounds/kick.ogg" with hpunch fre "*Cries out like a hurt puppy*" ger "Of course not, professor, Fred was just joking, right Fred?" - fre "....Yes sir, just kidding..." + fre "... Yes sir, just kidding." gen "Right..." ("base", xpos="far_left", ypos="head") ger "We've put the book in \"Quest Items\" section, can't miss it." - elif deck_unlocked and her_know_cards and not twins_know_cards: + elif states.cardgame.unlocked and states.her.ev.cardgame.known and not states.twi.ev.cardgame.known: gen "Let's see..." ("base", xpos="far_left", ypos="head") twi "Looking for something in particular, sir?" gen "I'm looking to acquire some Wizard cards." ("base", xpos="far_left", ypos="head") - call play_sound("spit") + play sound "sounds/spit.ogg" fre "Wizard cards....*spit*" ger "Why would you want any of those?" gen "What does one do with playing cards... Play the game of course." ("base", xpos="far_left", ypos="head") @@ -145,10 +145,10 @@ label item_store: gen "So..." ("base", xpos="far_left", ypos="head") ger "If you beat us we'll do a trial run and stock some cards for the students." twi "(There's no way this\nold man would ever beat us.)" - $ twins_know_cards = True + $ states.twi.ev.cardgame.known = True jump twins_duel_menu - elif twins_cards_stocked and not twins_second_win and not twins_cards_stocked_talk: + elif states.twi.ev.cardgame.stocked and states.twi.ev.cardgame.stage < 2 and not states.twi.ev.cardgame.stock_talk: gen "Well, well... Looking good as always boys!" ("base", xpos="far_left", ypos="head") twi "..." gen "In a professional sense that is... Don't you worry." ("base", xpos="far_left", ypos="head") @@ -163,7 +163,7 @@ label item_store: fre "Three challenges won will let you climb to the next tier." ger "Which lets you challenge even higher skilled players." - call nar(">Only first tier with Snape, Hermione and Twins is available for now.") + nar "Only first tier with Snape, Hermione and Twins is available for now." gen "And by skilled you mean players with better cards?" ("base", xpos="far_left", ypos="head") fre "Something like that." @@ -180,18 +180,18 @@ label item_store: gen "That's it? Sounds a bit out of character for you guys to make it this easy." ("base", xpos="far_left", ypos="head") fre "Let's call it an insurance so that we can continue our business." ger "There's no way you'll beat us again anyway." - $ twins_cards_stocked_talk = True + $ states.twi.ev.cardgame.stock_talk = True jump twins_duel_menu - elif luna_unlocked and not spectrespecs_E1: + elif states.lun.unlocked and not states.lun.ev.spectrespecs.e1_complete: call spectrespecs_E1 call gen_walk(xpos=0, ypos="base", speed=1.5) jump main_room - elif quibbler_stocked and not spectrespecs_E2: + elif states.lun.ev.quibbler.stocked and not states.lun.ev.spectrespecs.e2_complete: call spectrespecs_E2 - elif twins_know_cards: + elif states.twi.ev.cardgame.known: twi "Perhaps a game of cards?" label twins_menu: menu: @@ -203,9 +203,13 @@ label item_store: menu: "-First Duel-": jump twins_first_duel - "-Challenge-" if twins_first_win: + "-Challenge-" if states.twi.ev.cardgame.stock_talk: jump twins_second_duel - "-You need to beat the first duel-" (style="disabled") if not twins_first_win: + "-You need to beat the first duel-" (style="disabled") if not states.twi.ev.cardgame.stock_talk: + if states.twi.ev.cardgame.stage < 1: + gen "(I should beat them at their own game at least once before I try this again...)" + elif not states.twi.ev.cardgame.stock_talk: + gen "(I need to wait for a letter from them before we can continue...)" jump twins_duel_menu "-Never mind-": twi "Your loss professor." diff --git a/game/scripts/theme.rpy b/game/scripts/theme.rpy index f353c943..ca91faec 100644 --- a/game/scripts/theme.rpy +++ b/game/scripts/theme.rpy @@ -1,4 +1,3 @@ - # Legacy styles (still in use) style yesno_button: diff --git a/game/scripts/utility/common_functions.rpy b/game/scripts/utility/common_functions.rpy index 53fb25a7..2f7eac57 100644 --- a/game/scripts/utility/common_functions.rpy +++ b/game/scripts/utility/common_functions.rpy @@ -1,4 +1,4 @@ -init -1 python: +init python early: # Import commonly used python modules import time import datetime @@ -10,6 +10,8 @@ init -1 python: import posixpath import re import string + import functools + import timeit as timeit_module from bisect import bisect from operator import itemgetter from operator import add as _add @@ -30,12 +32,12 @@ init -1 python: output.append("zero") else: s = str(n) - groups = (len(s)+2)/3 + groups = (len(s)+2)//3 s = s.zfill(groups*3) - for i in xrange(0, groups*3, 3): + for i in range(0, groups*3, 3): h,t,u = int(s[i]), int(s[i+1]), int(s[i+2]) - g = groups-(i/3+1) + g = groups-(i//3+1) if h > 0: output.append(units[h]+" hundred") @@ -85,16 +87,20 @@ init -1 python: def set_clipboard(txt): txt = str(txt) - pygame.scrap.put(pygame.scrap.SCRAP_TEXT, txt.encode("utf-8")) + pygame.scrap.put(pygame.scrap.SCRAP_TEXT, txt.encode()) def get_clipboard(): clipboard = pygame.scrap.get(pygame.scrap.SCRAP_TEXT) if clipboard: - return clipboard + return clipboard.decode() return None def evaluate(txt): - return __import__('ast').literal_eval(txt) + try: + return __import__('ast').literal_eval(txt) + except Exception as e: + print("Error evaluating data:") + print(e) def reset_variables(*args): """Resets the given variables to their default values.""" @@ -120,70 +126,33 @@ init -1 python: if isinstance(obj, _list): return [make_revertable(x) for x in obj] elif isinstance(obj, _dict): - return dict([(make_revertable(k), make_revertable(v)) for (k,v) in obj.iteritems()]) + return dict((make_revertable(k), make_revertable(v)) for (k,v) in obj.items()) else: return obj def is_integer(s): - def zero(s): - return (len(s) > 1 and s.startswith("0")) - s = str(s) - - if s and s[0] in ("-", "+"): - return (not zero(s[1:]) and s[1:].isdigit()) - return (not zero(s) and s.isdigit()) + if not s: + return False + if s[0] in ("-", "+"): + # calling lstrip("0+-") would be faster but not exactly identical + s = s[1:] + if s.lstrip("0").isdigit(): + return True + return False def timeit(func, loops=10000, args=(), kwargs={}): - start = time.time() - for i in xrange(loops): - func(*args, **kwargs) - end = time.time() - print("The task has taken {} seconds to finish".format(end-start)) + rv = timeit_module.timeit("func(*args, **kwargs)", number=loops, globals=dict(func=func, args=args, kwargs=kwargs)) + print(f"The task has taken {rv} seconds to finish") + + def autorange(func, args=(), kwargs={}): + loops, time = timeit_module.Timer("func(*args, **kwargs)", globals=dict(func=func, args=args, kwargs=kwargs)).autorange() + print(f"The task has taken {time/loops} seconds to finish ({loops} iterations in {time} seconds)") def list_swap_values(l, val1, val2): """Mutates the original list.""" l[val1], l[val2] = l[val2], l[val1] - def random_choices(population, weights=None, cum_weights=None, k=1): - """Backported from python 3.6 - - Return a k sized list of population elements chosen with replacement. - If the relative weights or cumulative weights are not specified, - the selections are made with equal probability. - """ - - def accumulate(iterable, func=_add, initial=None): - it = iter(iterable) - total = initial - if initial is None: - try: - total = next(it) - except StopIteration: - return - yield total - for element in it: - total = func(total, element) - yield total - - random = renpy.random.random - if cum_weights is None: - if weights is None: - _int = int - total = len(population) - return [population[_int(random() * total)] for i in range(k)] - cum_weights = list(accumulate(weights)) - elif weights is not None: - raise TypeError('Cannot specify both weights and cumulative weights') - - if len(cum_weights) != len(population): - raise ValueError('The number of weights does not match the population') - - #bisect = _bisect.bisect - total = cum_weights[-1] - hi = len(cum_weights) - 1 - return [population[bisect(cum_weights, random() * total, 0, hi)] for i in range(k)] - def natsort_key(s, pattern=re.compile("([0-9]+)")): return [int(t) if t.isdigit() else t.lower() for t in pattern.split(str(s))] @@ -191,7 +160,7 @@ init -1 python: renpy.display.tts.tts(str(s)) def is_in_lead(house): - if isinstance(house, basestring): + if isinstance(house, str): house = getattr(renpy.store, house) return (house == max(gryffindor, slytherin, ravenclaw, hufflepuff)) @@ -219,6 +188,11 @@ init -1 python: def matches(s1, s2, filter=" "): return s1.replace(filter, "") == s2.replace(filter, "") + def istype(inst, clss): + if isinstance(clss, (list, tuple, set)): + return type(inst) in clss + return type(inst) is clss + class IntLike(python_object): # Does not support rollback @@ -251,3 +225,12 @@ init -1 python: def __len__(self): return len(self._callable()) + + def execute_callbacks(callbacks): + for callback in callbacks: callback() + + def extract_number(key): + match = re.match(r'^(\d+)', key) + if match: + return int(match.group(1)) + return float('inf') # Return a large number for non-numeric keys diff --git a/game/scripts/utility/common_labels.rpy b/game/scripts/utility/common_labels.rpy index 2ee6dc6f..5ca6001b 100644 --- a/game/scripts/utility/common_labels.rpy +++ b/game/scripts/utility/common_labels.rpy @@ -11,31 +11,10 @@ label hide_characters: # Do not add transitions. Use one after return. return -label hide_screens: - # Remove all displayables on layer 'screens' - $ renpy.scene("screens") - return - -label update_interface_color(color=None): - if color in ["gold", "gray"]: - $ interface_color = color - elif game.daytime: - $ interface_color = "gold" - else: - $ interface_color = "gray" - - return - -label stop_sound_effects: - stop bg_sounds fadeout 0.5 - stop weather fadeout 0.5 - return - # Reset menu label reset_menu_position: - $ menu_x = 0.5 - $ menu_y = 0.6 + $ states.menu_pos = (0.5, 0.6) return @@ -98,190 +77,20 @@ label ctc: return -label play_sound(sound=""): - - # Objects - if sound in ["knock", "knocking"]: # knocking - $ renpy.play('sounds/knocking.ogg') - elif sound in ["knock2", "knocking2"]: # knocking - $ renpy.play('sounds/knocking2.ogg') - elif sound == "door": - $ renpy.play('sounds/door.ogg') - elif sound in ["lock","unlock"]: # lock - $ renpy.play('sounds/09_lock.ogg') - elif sound in ["desk","climb_desk"]: # climb_desk - $ renpy.play('sounds/08_hop_on_desk.ogg') - elif sound == "owl": - play sound "sounds/owl.ogg" - - # Ambience - elif sound == "applause": - $ renpy.play('sounds/applause01.ogg') - - # Affection - elif sound in ["gulp", "gulping", "swallow", "swallowing"]: # gulp - $ renpy.play('sounds/gulp.ogg') - elif sound == "slap_1": - $ renpy.play('sounds/slap.ogg') - elif sound == "slap": # slap_2 - $ renpy.play('sounds/slap_02.ogg') - elif sound == "slap_3": - $ renpy.play('sounds/slap_03.ogg') - elif sound in ["spit", "spitting"]: # spit - $ renpy.play('sounds/spit.ogg') - elif sound in ["kick", "kicking", "bump"]: # kick - $ renpy.play('sounds/kick.ogg') - elif sound in ["kiss", "kissing"]: # kiss - $ renpy.play('sounds/kiss.ogg') - elif sound in ["insert", "inserting", "goo"]: # insert - $ renpy.play('sounds/gltch.ogg') - elif sound == "plop": - $ renpy.play('sounds/plop.ogg') - elif sound in ["pop", "bottle"]: # pop - $ renpy.play('sounds/bottle.ogg') - elif sound == "snore": - $ renpy.play('sounds/snore1.ogg') - elif sound == "snore_quiet": - $ renpy.play('sounds/snore2.ogg') - elif sound == "snore_loud": - $ renpy.play('sounds/snore3.ogg') - elif sound == "giggle": - $ renpy.sound.play("sounds/giggle2_loud.ogg") - elif sound == "gasp": - $ renpy.sound.play("sounds/MaleGasp.ogg") - - # Magic - elif sound == "spell": - $ renpy.play('sounds/magic2.ogg') - elif sound == "morph": - $ renpy.sound.play("sounds/magic3.ogg") - elif sound == "magic": - $ renpy.play('sounds/magic4.ogg') - - # Movement - elif sound == "footsteps": - $ renpy.play('sounds/footsteps.ogg') - elif sound == "walking": - $ renpy.play('sounds/run_04.ogg') - elif sound == "running": - $ renpy.play('sounds/run_03.ogg') - elif sound == "sprinting": - $ renpy.play('sounds/run_02.ogg') - elif sound in ["walking_on_grass", "grass"]: # walking_grass - $ renpy.play('sounds/steps_grass.ogg') - - # Interface - elif sound == "scroll": - $ renpy.play('sounds/scroll.ogg') - elif sound in ["equip", "equip_inventory", "cloth"]: # equip - $ renpy.play('sounds/cloth_sound.ogg') - - # Misc - elif sound == "scratch": - $ renpy.play('sounds/scratch.ogg') - elif sound == "shatter": - $ renpy.play('sounds/glass_shatter.ogg') - elif sound in ["glass_break","glass"]: - $ renpy.play('sounds/glass_break.ogg') - - # Undefined sounds fallback - elif renpy.loadable("sounds/{}.ogg".format(sound)): - $ renpy.play("sounds/{}.ogg".format(sound)) - - return - -#TODO One keyword per theme (maybe define everything in a dictionary to simplify code further?) -label play_music(music="", fadein=1.0, fadeout=1.0): - if music == "stop": - stop music fadeout fadeout - return - - - # Character Music - if music in ["snape", "dark_fog"]: # snape - play music "music/Dark Fog.ogg" fadein fadein fadeout fadeout if_changed - elif music in ["hermione", "chipper_doodle"]: # hermione - play music "music/Chipper Doodle v2.ogg" fadein fadein fadeout fadeout if_changed - elif music == "cho": - play music "music/fuzzball-parade-by-kevin-macleod.ogg" fadein fadein fadeout fadeout if_changed - elif music == "astoria": - play music "music/KMcL_OpenThoseBrightEyes.ogg" fadein fadein fadeout fadeout if_changed - elif music == "susan": - play music "music/teddy-bear-waltz-by-kevin-macleod.ogg" fadein fadein fadeout fadeout if_changed - elif music == "tonks": - play music "music/scheming-weasel-slower-version-by-kevin-macleod.ogg" fadein fadein fadeout fadeout if_changed - elif music == "luna": - play music "music/wallpaper-by-kevin-macleod.ogg" fadein fadein fadeout fadeout if_changed - elif music == "playful_tension": - play music "music/(Orchestral) Playful Tension by Shadow16nh.ogg" fadein fadein fadeout fadeout if_changed - elif music == "silly": - play music "music/silly_fun_loop.ogg" fadein fadein fadeout fadeout if_changed - - # Store Music - elif music == "weasley_store": - play music "music/weasley_store.ogg" fadein fadein fadeout fadeout if_changed - elif music == "clothing_store": - play music "music/clothing_store.ogg" fadein fadein fadeout fadeout if_changed - - # Background Music - elif music == "day": - play music "music/Brittle Rille.ogg" fadein fadein fadeout fadeout if_changed - elif music == "night": - play music "music/Music for Manatees.ogg" fadein fadein fadeout fadeout if_changed - elif music == "night_outside": - play music "sounds/night.ogg" fadein fadein fadeout fadeout if_changed - elif music == "jazz": - play music "sounds/jazz take 2.ogg" fadein fadein fadeout fadeout if_changed - - # Interface - elif music == "wardrobe": - play music "music/Spring_In_My_Step.ogg" fadein fadein fadeout fadeout if_changed - - # Misc - elif music == "hitman": - play music "music/hitman.ogg" fadein fadein fadeout fadeout if_changed - elif music == "cardgame": - play music "music/Juhani_Junkala.ogg" fadein fadein fadeout fadeout if_changed - elif music in ["sad","grape_soda"]: # sad - play music "music/GrapeSodaIsFuckingRawbyjrayteam6.ogg" fadein fadein fadeout fadeout if_changed - elif music == "anguish": - play music "music/Anguish.ogg" fadein fadein fadeout fadeout if_changed - elif music == "trance": - play music "music/Under-the-Radar by PhobyAk.ogg" fadein fadein fadeout fadeout if_changed - elif music == "despair": - play music "music/Despair_by_erenik.ogg" fadein fadein fadeout fadeout if_changed - elif music == "agenda": - play music "music/hidden-agenda-by-kevin-macleod.ogg" fadein fadein fadeout fadeout if_changed - elif music == "intro": - play music "music/the-chamber-by-kevin-macleod.ogg" fadein fadein fadeout fadeout if_changed - elif music == "snape_office": - play music "music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg" fadein fadein fadeout fadeout if_changed - - # Fallback - else: - python: - try: - renpy.music.play(filenames="music/"+music+".ogg", channel="music", loop=True, fadeout=1.0, fadein=1.0) - except IOError: - if config.developer: - raise Exception("Music not found: {}".format(music)) - return - # Play day/night theme label music_block: - if current_room == "main_room": + if states.room == "main_room": if game.daytime: - call play_music("day") + play music "music/Brittle Rille.ogg" fadein 1 if_changed else: - call play_music("night") - elif current_room == "snape_office": - call play_music("snape_office") + play music "music/Music for Manatees.ogg" fadein 1 if_changed + elif states.room == "snape_office": + play music "music/the-other-side-of-the-door-by-kevin-macleod-from-filmmusic-io.ogg" fadein 1 if_changed return label unlock_clothing(text="", item="interface/icons/box_blue_1.webp"): - $ menu_x = 0.5 - $ menu_y = 0.75 #makes the menu lower so it isn't writing over the image. + $ states.menu_pos = (0.5, 0.75) show screen clothing_unlock(item) show screen blktone @@ -304,25 +113,22 @@ label unlock_clothing(text="", item="interface/icons/box_blue_1.webp"): label describe_mood(name, value): - call blktone if 5 > value >= 1: - ">[name] is a little upset with you..." + nar "[name] is a little upset with you..." elif 10 > value >= 5: - ">[name] is upset with you." + nar "[name] is upset with you." elif 20 > value >= 10: - ">[name] is very upset with you." + nar "[name] is very upset with you." elif 30 > value >= 20: - ">[name] is mad at you." + nar "[name] is mad at you." elif 40 > value >= 30: - ">[name] is very mad at you." + nar "[name] is very mad at you." elif 50 > value >= 40: - ">[name] is furious at you." + nar "[name] is furious at you." elif value >= 50: - ">[name] hates your guts." + nar "[name] hates your guts." else: - ">[name] is calm." - call hide_blktone - + nar "[name] is calm." return @@ -339,7 +145,7 @@ label describe_mood_after_gift(was_negative, mood, change): label notes(): - $ renpy.play('sounds/win_04.ogg') #Not loud. + play sound "sounds/win_04.ogg" #Not loud. hide screen notes show screen notes return @@ -354,6 +160,6 @@ label end_of_content(): "SilverStudioGames" "This concludes story progression for this character as of version [config.version].\nThere still may be side events and activities that you have missed, but main story won't progress past this point." "SilverStudioGames" "We hope you have enjoyed yourself. Stay tuned for more in the future." call notes - "> All stats have been maxed out. You can now use all of the wardrobe options." + nar "All stats have been maxed out. You can now use all of the wardrobe options." return diff --git a/game/scripts/utility/common_screens.rpy b/game/scripts/utility/common_screens.rpy index 19cf00c1..255e79f9 100644 --- a/game/scripts/utility/common_screens.rpy +++ b/game/scripts/utility/common_screens.rpy @@ -39,9 +39,9 @@ screen clothing_unlock(item): on "show" action Play("sound", "sounds/win2.ogg") if isinstance(item, DollCloth): - add item.get_icon() align (0.5, 0.5) zoom 0.5 + add item.icon align (0.5, 0.5) zoom 0.5 elif isinstance(item, DollOutfit): - add item.get_image() align (0.5, 0.0) yoffset -50 zoom 0.4 + add item.image align (0.5, 0.0) yoffset -50 zoom 0.4 screen invisible_button(action=NullAction(), keysym=None, alternate=None): diff --git a/game/scripts/utility/devtools.rpy b/game/scripts/utility/devtools.rpy index 972dcee1..cefccce1 100644 --- a/game/scripts/utility/devtools.rpy +++ b/game/scripts/utility/devtools.rpy @@ -1,12 +1,12 @@ -init python early: - if renpy.version_tuple < (7,5,0,22061501): - raise RuntimeWarning("Your Ren'Py launcher is outdated, the current minimal requirement is 7.5.0.22061501+\nPlease perform an update and try launching the game again.") +python early: + if renpy.version_tuple < (7,5,3,22090809): + raise RuntimeWarning("Your Ren'Py launcher is outdated, the current minimal requirement is 7.5.3.22090809+\nPlease perform an update and try launching the game again.") from renpy.uguu import glGetString, GL_VENDOR, GL_RENDERER, GL_VERSION def get_gpu_info(): try: - info = "\n".join([glGetString(GL_VENDOR), glGetString(GL_RENDERER), glGetString(GL_VERSION)]) + info = "\n".join([glGetString(GL_VENDOR).decode(), glGetString(GL_RENDERER).decode(), glGetString(GL_VERSION).decode()]) except: info = "ERR: Unknown or incompatible driver." return info @@ -14,6 +14,63 @@ init python early: def get_renderer(): return "DirectX" if preferences.renderer == "angle2" else "OpenGL" + class stdcol: + PURPLE = '\033[1;35;48m' + CYAN = '\033[1;36;48m' + BOLD = '\033[1;37;48m' + BLUE = '\033[1;34;48m' + GREEN = '\033[1;32;48m' + YELLOW = '\033[1;33;48m' + RED = '\033[1;31;48m' + BLACK = '\033[1;30;48m' + UNDERLINE = '\033[4;37;48m' + END = '\033[1;37;0m' + + if config.developer: + # Debug + + def detect_orphaned_rpyc_files(): + excluded = ["tl/"] + + files = renpy.list_files(common=True) + compiled = [x for x in files if x.endswith(".rpyc") if not any(x.startswith(i) for i in excluded)] + scripts = [x for x in files if x.endswith(".rpy")] + orphaned = [] + + for i in compiled: + if not i[:-1] in scripts: + orphaned.append(i) + + if orphaned: + raise Exception("Orphaned compiled scripts detected, please delete them before continuing:\n{}".format(orphaned)) + + detect_orphaned_rpyc_files() + + + # class InstanceDebugger(object): + + # def __init__(self, obj): + # object.__setattr__(self, 'instance', obj) + + # def __get__(self, obj, type=None): + # return functools.partial(self, obj) + + # def __call__(self, *args, **kwargs): + # return self.instance(*args,**kwargs) + + # def __getattr__(self, attr): + # attr = getattr(self.instance, attr) + + # return self.__class__(attr) if hasattr(attr, '__dict__') else attr + + # def __setattr__(self, attr, value): + # instance = self.instance + + # if getattr(instance, attr, None) != value: + # print(f"'{self.instance.id}' setting attribute '{attr}' to '{value}' ...") + + # instance.attr = value + init python: config.missing_image_callback = missing_image_func @@ -23,7 +80,7 @@ init python: config.missing_label_callback = missing_label_func config.return_not_found_label = "missing_return" -init -1 python: +init -2 python: def missing_image_func(path): global systemerror @@ -43,12 +100,7 @@ init -1 python: return "missing_label" def TBA_message(msg="Currently unavailable, check in later versions of the game."): - renpy.show_screen("blktone") - renpy.with_statement(d3) renpy.say(nar, msg) - renpy.hide_screen("blktone") - renpy.with_statement(d3) - return def save_whitespace(refresh=False): """ @@ -79,10 +131,10 @@ init -1 python: file = os.path.normpath(config.gamedir + "/images.whitespace") with open(file, "w") as f: - for img, box in sorted(whitespace_dict.iteritems()): - f.write(u"{}:{},{},{},{}\n".format(img, *box)) + for img, box in sorted(whitespace_dict.items()): + f.write("{}:{},{},{},{}\n".format(img, *box)) - print "\rCalculating whitespace... Done!" + print("\rCalculating whitespace... Done!") return False label missing_label(): @@ -91,7 +143,8 @@ label missing_label(): $ err_msg2 = systemerror[1] "{color=#7a0000}System{/color}" "Uh-oh. Looks like you've encountered a bug. Don't worry, we will try to return you back to the office after displaying the error message, your save file won't be affected." "{color=#7a0000}System{/color}" "{color=#7a0000}Error:{/color} [err_msg1] '{color=#7a0000}[err_msg2]{/color}'\n\n\n{size=-4}You can report this bug on our {a=https://discord.gg/7PD57yt}discord{/a}.{/size}" - $ active_girl = None + $ states.last_girl = None + $ states.active_girl = None $ systemerror = [None, None] jump main_room @@ -99,7 +152,8 @@ label missing_return(): $ renpy.choice_for_skipping() "{color=#7a0000}System{/color}" "Uh-oh. Looks like you've encountered a bug. Don't worry, we will try to return you back to the office after displaying the error message, your save file won't be affected." "{color=#7a0000}System{/color}" "{color=#7a0000}Error:{/color} Point of no return.\n\n\n{size=-4}You can report this bug on our {a=https://discord.gg/7PD57yt}discord{/a}.{/size}" - $ active_girl = None + $ states.last_girl = None + $ states.active_girl = None jump main_room screen placeholder(): @@ -110,7 +164,7 @@ screen placeholder(): add Placeholder("girl") -init 2000 python hide: +init 999 python hide: def set_screen_layer(layer, *screens): for scr_name in screens: for _, scr in renpy.display.screen.get_all_screen_variants(scr_name): diff --git a/game/scripts/utility/editor.rpy b/game/scripts/utility/editor.rpy index b49b4333..dfed9c18 100644 --- a/game/scripts/utility/editor.rpy +++ b/game/scripts/utility/editor.rpy @@ -5,15 +5,20 @@ init python: class Editor(python_object): + doll_keywords = ["mouth", "eyes", "eyebrows", "pupils", "cheeks", "tears", "emote",\ + "xpos", "ypos", "pos", "flip", "trans", "animation", "hair"] + other_keywords = ["expression", "xpos", "ypos", "pos", "flip", "trans", "animation", "wand"] + def __init__(self): self.node = None self._live_code = None # Volatile; Can be changed at any given moment. self.history = _dict() self.expressions = self.define_expressions() self.active_expressions = _dict() - self.persistent_expressions = _dict() + self.persistent_expressions = _set() self.last_expressions = _dict() self.active = False + self.sayers = {i[:3]:i for i in states.dolls} def catch(self, *args, **kwargs): if not self.active or renpy.is_init_phase(): @@ -50,7 +55,6 @@ init python: self.last_expressions = deepcopy(self.active_expressions) self.active_expressions.update(self.resolve_expressions()) self.live_code = code - self.apply_persistent() # Consistency check if not matches(code, code_file): @@ -72,25 +76,18 @@ init python: args = node.arguments if not args: - args = ArgumentInfo(contents, None, None) + args = renpy.ast.ArgumentInfo(contents, None, None) node.arguments = args else: if args.starred_indexes or args.doublestarred_indexes: raise Exception("Starred arguments are not implemented.") node.arguments.arguments = contents + elif what == "temp_attr": + setattr(node, "temporary_attributes", tuple(contents)) else: raise TypeError("Type '{}' is not implemented.".format(what)) - file = node.filename - line = node.linenumber - code = node.get_code() - - self.write_file(file, line, code) - self.write_history(file, line, code) - self.live_code = code - renpy.run(RestartStatement()) # This has to be run last. - def replace_expression(self, expr, val): node = self.node who = node.who @@ -99,7 +96,7 @@ init python: # We need to make sure not to add quotes # to expressions or variables. - if isinstance(val, basestring): + if isinstance(val, str): val = "\"{}\"".format(val) # Insert new expression @@ -107,13 +104,22 @@ init python: d[expr] = val # Convert to list of tuples - # l = [(k, "\"{}\"".format(v)) for k, v in d.iteritems() if not v is None] # This is faster, but not robust enough. + # l = [(k, "\"{}\"".format(v)) for k, v in d.items() if not v is None] # This is faster, but not robust enough. l = _list() + l2 = _list() - for key, val in d.iteritems(): - if key in kw_args and val is None: - continue + for key, val in d.items(): + + if key in kw_args: + if val is None: + continue + elif key in self.persistent_expressions: + pass + else: + val = val.strip("\"") # When accessed, temporary attribute values have quotes by default, we need to strip them. + l2.extend((key, val)) + continue # First four arguments are preferred to be keywordless, # so we'll just insert them into positions to avoid issues. @@ -123,6 +129,16 @@ init python: l.append((key, val)) self.replace("args", l) + self.replace("temp_attr", l2) + + file = node.filename + line = node.linenumber + code = node.get_code() + + self.write_file(file, line, code) + self.write_history(file, line, code) + self.live_code = code + renpy.run(RestartStatement()) # This has to be run last. @property def live_code(self): @@ -226,8 +242,9 @@ init python: f.writelines(data) renpy.notify("Saved.") - # except FileNotFoundError: # Python 3 only :( - # renpy.notify("Source file is missing.") + except FileNotFoundError as e: + renpy.notify("Source file is missing.") + print(e) except EnvironmentError as e: renpy.notify("File write error.\n{size=-8}(Check console for details){/size}") print(e) @@ -255,42 +272,54 @@ init python: # Some things are required to be hardcoded. # Define expressions for Doll type characters. - filters = ("_mask", "_skin") all_files = renpy.list_files() - d = _dict() + d = OrderedDict() - for name in CHARACTERS: - key = name[:3] + for charname in states.dolls: + charobj = get_character_object(charname) + extensions = charobj.extensions + who = charname[:3] - d[key] = OrderedDict() + for part in sorted(charobj.face._face.keys()): - for expr in ("mouth", "eyes", "eyebrows", "pupils", "cheeks", "tears"): - path = "characters/{}/face/{}/".format(name, expr) - files = filter(lambda x: path in x, all_files) + path = posixpath.join("characters", charname, "poses", charobj.pose, "face", part) - d[key][expr] = [x.split(path)[1].split(".webp")[0] for x in files if x.endswith(".webp") and not any(f in x for f in filters)] + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + expression = os.path.split(fp)[1] - if expr in ("cheeks", "tears"): - # For cheeks, tears and hair None is a valid option, and chosen by default. - d[key][expr].insert(0, None) + if not fp.startswith(path) or not ext in extensions: + continue + + if part in ("cheeks", "tears"): + expressions = d.setdefault(who, OrderedDict()).setdefault(part, _list((None,))) + else: + expressions = d.setdefault(who, OrderedDict()).setdefault(part, _list()) + + if not expression in expressions: + expressions.append(expression) + + imap = {v: i for i, v in enumerate(self.doll_keywords)} + d[who] = OrderedDict(sorted(list(d[who].items()), key=lambda x: imap[x[0]])) # Define additional Tonks' hair choices. - d["ton"]["hair"] = [None, "neutral", "angry", "annoyed", "happy", "disgusted", "sad", "purple", "scared", "horny"] + d["ton"]["hair"] = [None] + list(tonks_haircolor_table.keys()) # Define expressions for Genie. filters = None path = "characters/genie/" files = None - d["gen"] = _dict() + d["gen"] = OrderedDict() d["gen"]["expression"] = ["angry", "grin", "base", "open"] # Define expressions for Snape. filters = ("b01", "b01_01", "b02", "picture_Frame", "wand") path = "characters/snape/main/" - files = filter(lambda x: path in x, all_files) + files = [x for x in all_files if path in x] - d["sna"] = _dict() + d["sna"] = OrderedDict() d["sna"]["expression"] = [x.split(path)[1].split(".webp")[0] for x in files if x.endswith(".webp") and not any(f in x for f in filters)] d["sna"]["special"] = [None, "wand", "picture_frame"] @@ -301,11 +330,10 @@ init python: who = node.who args = node.arguments - if who in SAYERS: - keywords = ["mouth", "eyes", "eyebrows", "pupils", "cheeks", "tears", "emote", - "face", "xpos", "ypos", "pos", "flip", "trans", "animation", "hair"] + if who in self.sayers: + keywords = self.doll_keywords else: - keywords = ["expression", "face", "xpos", "ypos", "pos", "flip", "trans", "animation", "wand"] + keywords = self.other_keywords # Arguments are contained within a list, # they consist of opaque tuples, @@ -332,11 +360,17 @@ init python: d[who][key] = val + # Resolve temporary attributes + temp_attr = node.temporary_attributes + + if temp_attr: + d[who].update(dict(zip(temp_attr[::2], temp_attr[1::2]))) + # Sort our dictionary using an index map, # if we don't, we'll end up messing up # the order of keywordless arguments. imap = {v: i for i, v in enumerate(keywords)} - d[who] = OrderedDict(sorted(d[who].items(), key=lambda x: imap[x[0]])) + d[who] = OrderedDict(sorted(list(d[who].items()), key=lambda x: imap[x[0]])) return d def get_expression_types(self, who): @@ -347,60 +381,19 @@ init python: def get_expressions_active_type(self, who, type): expr = self.get_expressions_active(who).get(type) - if isinstance(expr, basestring): + if isinstance(expr, str): expr = strip(expr) return expr - def get_expressions_persistent(self, who): - return self.persistent_expressions.get(who, _dict()) - - def get_expressions_persistent_type(self, who, type): - return self.get_expressions_persistent(who).get(type, False) - - def set_expressions_persistent_type(self, who, type): - self.persistent_expressions.setdefault(who, _dict())[type] = True - - def toggle_expressions_persistent_type(self, who, type): - val = self.get_expressions_persistent_type(who, type) - self.persistent_expressions.setdefault(who, _dict())[type] = not val - def get_expressions_last(self, who): return self.last_expressions.get(who, _dict()) def get_expressions_last_type(self, who, type): expr = self.get_expressions_last(who).get(type, None) - if isinstance(expr, basestring): + if isinstance(expr, str): expr = strip(expr) return expr - def apply_persistent(self): - # This function will break the editor - # if it participates in rollback - if renpy.in_rollback() or renpy.in_fixed_rollback(): - return - - node = self.node - who = node.who - - persistent = self.get_expressions_persistent(who) - last = self.get_expressions_last(who) - active = self.get_expressions_active(who) - - if last == active: - return - - for type, val in persistent.iteritems(): - if val is False: - continue - - last = self.get_expressions_last_type(who, type) - active = self.get_expressions_active_type(who, type) - - if last == active: - continue - - self.replace_expression(type, last) - def get_node_history(self): node = self.node file = node.filename @@ -408,12 +401,24 @@ init python: return self.read_history(file, line) - @renpy.pure + def toggle_persistent(self, expr): + if expr in self.persistent_expressions: + self.persistent_expressions.remove(expr) + else: + self.persistent_expressions.add(expr) + class ToggleEditor(Action, NoRollback): def __call__(self): if not config.developer: return + if not hasattr(store, "e"): + global e + e = Editor() + e.expressions = e.define_expressions() + #config.all_character_callbacks.append(e.catch) # This is more efficient. + config.start_interact_callbacks.append(e.catch) # This allows to catch more statements and reset them if node types don't match. + if renpy.get_screen("editor", layer="interface"): e.active = False renpy.hide_screen("editor", layer="interface") @@ -425,14 +430,6 @@ init python: renpy.game.context().force_checkpoint = True renpy.checkpoint(hard=True) - if config.developer: - e = Editor() - - #config.all_character_callbacks.append(e.catch) # This is more efficient. - config.start_interact_callbacks.append(e.catch) # This allows to catch more statements and reset them if node types don't match. - else: - e = dict() # Hotkey crashes on release otherwise. - screen editor(): zorder 50 style_prefix "editor" @@ -452,32 +449,26 @@ screen editor(): fixed: fit_first True - text "Expression Editor {size=-2}ver 0.3a{/size}" style "editor_title" + text "Expression Editor {size=-2}ver 0.4b{/size}" style "editor_title" if e.node: vbox: hbox: - for expr_type in e.get_expression_types(e.node.who).iterkeys(): + for expr_type in e.get_expression_types(e.node.who).keys(): textbutton "[expr_type]": action [CaptureFocus(expr_type), SetScreenVariable("focused", expr_type)] selected GetFocusRect(expr_type) - if e.node.who in SAYERS: + if e.node.who in e.sayers: textbutton "😊": - action Function(e.toggle_expressions_persistent_type, e.node.who, "cheeks") - selected (e.get_expressions_persistent_type(e.node.who, "cheeks")) + action Function(e.toggle_persistent, "cheeks") + selected ("cheeks" in e.persistent_expressions) tooltip "Toggle persistent cheeks" textbutton "😢": - action Function(e.toggle_expressions_persistent_type, e.node.who, "tears") - selected (e.get_expressions_persistent_type(e.node.who, "tears")) + action Function(e.toggle_persistent, "tears") + selected ("tears" in e.persistent_expressions) tooltip "Toggle persistent tears" - if e.node.who == "ton": - textbutton "✂️": - action Function(e.toggle_expressions_persistent_type, e.node.who, "hair") - selected (e.get_expressions_persistent_type(e.node.who, "hair")) - tooltip "Toggle persistent hair" - add Solid("#ffffff80") xysize (480, 1) hbox: @@ -508,7 +499,7 @@ screen editor(): textbutton "[e.live_code]" action SetScreenVariable("focused", 0) if e.node: - for expr_type, expr_list in e.get_expression_types(e.node.who).iteritems(): + for expr_type, expr_list in e.get_expression_types(e.node.who).items(): if GetFocusRect(expr_type): dismiss action [ClearFocus(expr_type), SetScreenVariable("focused", None)] diff --git a/game/scripts/utility/engine.rpy b/game/scripts/utility/engine.rpy index 9cd83601..d02a4e4a 100644 --- a/game/scripts/utility/engine.rpy +++ b/game/scripts/utility/engine.rpy @@ -1,5 +1,4 @@ init python: - if renpy.android: settings.default("crashdefendersetting", 0) @@ -60,7 +59,8 @@ init python: config.statement_callbacks.append(crashdefender) -init -10 python: +python early hide: + import functools if renpy.windows: # On windows, Renpy does not support backslashes in some of its functions, @@ -75,3 +75,331 @@ init -10 python: return renpy.loader.loadable(filename) renpy.loadable = _loadable + + # renpy.list_files does not use cached results, let's fix that. + + @functools.cache + def _list_files(common=False): + rv = [fn for dir, fn in renpy.loader.listdirfiles(common) if not fn.startswith("saves/")] + rv.sort() + return rv + + renpy.list_files = _list_files + + # Default focus behaviour restarts the interaction whenever + # any element that contains a tooltip is being hovered or unhovered. + # Restarting interactions in a short timespan causes massive lag spikes, + # in order to fix it, we'll refresh just the tooltip screen and skip the rest. + + def set_focused(widget, arg, screen): + global _tooltip + renpy.display.focus.argument = arg + renpy.display.focus.screen_of_focused = screen + + if screen is not None: + renpy.display.focus.screen_of_focused_names = { screen.screen_name[0], screen.tag } + else: + renpy.display.focus.screen_of_focused_names = set() + + renpy.game.context().scene_lists.focused = widget + renpy.display.tts.displayable(widget) + + # Figure out the tooltip. + + _tooltip = widget._get_tooltip() if widget else None + + # setattr(renpy.store, "widget", widget) # DEBUG + + # if renpy.display.focus.tooltip != new_tooltip: + # renpy.display.focus.tooltip = new_tooltip + # renpy.display.focus.capture_focus("tooltip") + + # renpy.exports.restart_interaction() + + # if renpy.display.focus.tooltip is not None: + # renpy.display.focus.last_tooltip = renpy.display.focus.tooltip + # renpy.display.focus.screen_of_last_focused_names = renpy.display.focus.screen_of_focused_names + + renpy.display.focus.set_focused = set_focused + + # Add callbacks for label calls and jumps, we use them for the event class + # in order to figure out if the event was completed or if it's just a call, + # and also for debugging. + # class _CallException(Exception): + + # from_current = False + + # def __init__(self, label, args, kwargs, from_current=False): + # Exception.__init__(self) + + # self.label = label + # self.args = args + # self.kwargs = kwargs + # self.from_current = from_current + + # for i in renpy.config.call_callbacks: + # i(label, args, kwargs) + + # def __reduce__(self): + # return (_CallException, (self.label, self.args, self.kwargs, self.from_current)) + + # class _JumpException(Exception): + + # def __init__(self, label): + # for i in renpy.config._label_callbacks: + # i(label) + + # class _JumpOutException(Exception): + + # def __init__(self, label): + # for i in renpy.config._label_callbacks: + # i(label) + + # renpy.game.CONTROL_EXCEPTIONS = tuple(list(renpy.game.CONTROL_EXCEPTIONS) + [_CallException, _JumpException, _JumpOutException]) + # renpy.game.CallException = _CallException + # renpy.game.JumpException = _JumpException + # renpy.game.JumpOutException = _JumpOutException + + # class _Call(renpy.ast.Call): + # def execute(self): + # statement_name("call") + + # label = self.label + # if self.expression: + # label = renpy.python.py_eval(label) + + # rv = renpy.game.context().call(label, return_site=self.next.name) + # next_node(rv) + # renpy.game.context().abnormal = True + + # if self.arguments: + # args, kwargs = self.arguments.evaluate() + # renpy.store._args = args + # renpy.store._kwargs = kwargs + # else: + # renpy.store._args = None + # renpy.store._kwargs = None + + # setattr(store, "_last_label_call", label) + + # if config.developer: + # last_label = getattr(store, "_last_label_jump", None) + # caller_id = renpy.get_filename_line() + # print(f"Called '{stdcol.PURPLE}{label}{stdcol.END}' from '{stdcol.PURPLE}{last_label}{stdcol.END}' with ARGS:'{stdcol.YELLOW}{args}{stdcol.END}' KWARGS:'{stdcol.YELLOW}{kwargs}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'...") + + # class _Jump(renpy.ast.Jump): + # def execute(self): + + # statement_name("jump") + + # target = self.target + # if self.expression: + # target = renpy.python.py_eval(target) + + # rv = renpy.game.script.lookup(target) + # renpy.game.context().abnormal = True + + # next_node(rv) + + # setattr(store, "_last_label_jump", target) + + # if config.developer: + # last_label = getattr(store, "_last_label_jump", None) + # caller_id = renpy.get_filename_line() + # print(f"Jumped '{stdcol.PURPLE}{target}{stdcol.END}' from '{stdcol.PURPLE}{last_label}{stdcol.END}' with ARGS:'{stdcol.YELLOW}{args}{stdcol.END}' KWARGS:'{stdcol.YELLOW}{kwargs}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'...") + + # renpy.ast.Call = _Call + # renpy.ast.Jump = _Jump + +default _last_label = None + +python early: + def catch_label_call(label, abnormal): + if config.developer: + # last_label = renpy.game.context().come_from_label <- Doesn't work as expected, other methods are just as unreliable. + # from '{stdcol.PURPLE}{last_label}{stdcol.END}' + caller_id = renpy.get_filename_line() + print(f"Reached '{stdcol.PURPLE}{label}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'...") + + setattr(store, "_last_label", label) + + renpy.config.label_callbacks.append(catch_label_call) + + # def catch_label_call(label, args, kwargs): + # # Used in event queue system to differentiate jumps from calls. + # if config.developer: + # last_label = getattr(store, "_last_label_jump", None) + # caller_id = renpy.get_filename_line() + # print(f"Called '{stdcol.PURPLE}{label}{stdcol.END}' from '{stdcol.PURPLE}{last_label}{stdcol.END}' with ARGS:'{stdcol.YELLOW}{args}{stdcol.END}' KWARGS:'{stdcol.YELLOW}{kwargs}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'...") + + # setattr(store, "_last_label_call", label) + + # def catch_label_jump(label): + # # if getattr(store, "_last_label_call", None) == label: + # # return + + # if config.developer: + # last_label = getattr(store, "_last_label_jump", None) + # caller_id = renpy.get_filename_line() + # print(f"Jumped '{stdcol.PURPLE}{label}{stdcol.END}' from '{stdcol.PURPLE}{last_label}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'...") + + # setattr(store, "_last_label_jump", label) + + # renpy.config.call_callbacks = [catch_label_call] # CallException callback + # renpy.config._label_callbacks = [catch_label_jump] # JumpException and JumpOutException callbacks; Please note this is not the same as `config.label_callbacks` + +init -100 python: + # Due to the sheer number of Doll-type objects we create and keep per each character, + # we have to use each and every optimization technique we can get our hands on. + # The below code implements revertable __slots__ support, which reduces memory, + # without losing any functionality relevant to the objects that are using it. + # + # The code is taken from a PR proposed by Andykl: + # https://github.com/renpy/renpy/pull/3282 + + class _RevertableObject(_object): + # Reimplementation of the Ren'py class, + # but with slots support. + def __new__(cls, *args, **kwargs): + self = super(_RevertableObject, cls).__new__(cls) + + log = renpy.game.log + if log is not None: + log.mutated[id(self)] = None + + return self + + def __init__(self, *args, **kwargs): + if (args or kwargs) and renpy.config.developer: + raise TypeError("object() takes no parameters.") + + __setattr__ = renpy.revertable.mutator(object.__setattr__) # type: ignore + __delattr__ = renpy.revertable.mutator(object.__delattr__) # type: ignore + + def _clean(self): + return None + + def _compress(self, clean): + return clean + + def _rollback(self, compressed): + pass + + class SlottedObject(_RevertableObject): + __slots__ = () + + def __init_subclass__(cls): + if renpy.config.developer: + if hasattr(cls, "__getstate__"): + raise TypeError("slotted_object subclasses can't have " + "__getstate__ method. Use __reduce__ instead.") + + for slot in cls.__dict__.get("__slots__", ()): + if slot.startswith("__") and not slot.endswith("__"): + raise ValueError("slotted_object __slots__ can not be mangled. " + "If you need it, mangle it by yourself.") + + def _clean(self): + rv = object.__reduce_ex__(self, 2)[2] + # We need to make a copy of __dict__ to avoid its futher mutations. + + # No attributes are set + if rv is None: + rv = { } + + # Only __dict__ have attributes + elif isinstance(rv, dict): + rv = rv.copy() + + # Only __slots__ have attributes + elif rv[0] is None: + rv = rv[1] + + # Otherwise it is (__dict__, __slots__), so merge it together + else: + rv = dict(rv[0], **rv[1]) + + return rv + + def _rollback(self, compressed): + if hasattr(self, "__dict__"): + self.__dict__.clear() + + for k, v in compressed.items(): + setattr(self, k, v) + + # The original does not support nested actions. + @renpy.pure + def If(expression, true=None, false=None): + + if isinstance(expression, Action): + expression = expression() + + return true if expression else false + + # Adds support for nested stores for replay scope + def _call_replay(label, scope={}): + renpy.display.focus.clear_focus() + + renpy.game.log.complete() + + old_log = renpy.game.log + renpy.game.log = renpy.python.RollbackLog() + + sb = renpy.python.StoreBackup() + renpy.python.clean_stores() + + context = renpy.execution.Context(True) + renpy.game.contexts.append(context) + + if renpy.display.interface is not None: + renpy.display.interface.enter_context() + + # This has to be here, to ensure the scope stuff works. + renpy.exports.execute_default_statement() + + for k, v in renpy.config.replay_scope.items(): + stores = k.split(".") + current_obj = renpy.store + + for store in stores[:-1]: + current_obj = getattr(current_obj, store) + + setattr(current_obj, stores[-1], v) + + for k, v in scope.items(): + stores = k.split(".") + current_obj = renpy.store + + for store in stores[:-1]: + current_obj = getattr(current_obj, store) + + setattr(current_obj, stores[-1], v) + + renpy.store._in_replay = label + + try: + + context.goto_label("_start_replay") + renpy.execution.run_context(False) + + except renpy.game.EndReplay: + pass + + finally: + + context.pop_all_dynamic() + + renpy.game.contexts.pop() + renpy.game.log = old_log + sb.restore() + + if renpy.game.interface and renpy.game.interface.restart_interaction and renpy.game.contexts: + renpy.game.contexts[-1].scene_lists.focused = None + + renpy.config.skipping = None + + if renpy.config.after_replay_callback: + renpy.config.after_replay_callback() + + renpy.call_replay = _call_replay diff --git a/game/scripts/utility/image_crop.rpy b/game/scripts/utility/image_crop.rpy index d30ac0a3..2b27c5b3 100644 --- a/game/scripts/utility/image_crop.rpy +++ b/game/scripts/utility/image_crop.rpy @@ -1,20 +1,34 @@ init python: whitespace_dict = {} - with renpy.file("images.whitespace") as fp: + with renpy.open_file("images.whitespace") as fp: line = fp.readline() while line: path, area = line.strip("\r\n").split(':') - whitespace_dict[path] = map(int, area.split(',')) + whitespace_dict[path] = list(map(int, area.split(','))) line = fp.readline() def crop_whitespace(path): # Return box from whitespace_dict, or calculate and store it + + def _find_file_surface(obj): + if isinstance(obj, str): + return obj, Image(obj).load() + elif isinstance(obj, im.Image): + return obj.filename, obj.load() + elif isinstance(obj, Transform): + return _find_file_surface(obj.child) + if path in whitespace_dict: box = whitespace_dict[path] else: - surf = Image(path).load() + path, surf = _find_file_surface(path) + size = surf.get_size() box = tuple(surf.get_bounding_rect()) - whitespace_dict[path] = box + + if "/clothes/" in path and size[0] != 1010: + ratio = size[0] / 1010 + box = tuple(v/ratio for v in box) + whitespace_dict[path] = tuple(map(int, box)) return box def crop_image_zoom(path, xsize, ysize, grayscale=False): @@ -25,7 +39,7 @@ init python: return Transform(sprite, crop=(x, y, w, h), xsize=xsize, ysize=ysize, fit="contain", matrixcolor=matrix, subpixel=True) def get_zoom(image, size): - if isinstance(image, basestring): + if isinstance(image, str): image = Image(image) r = renpy.render(image, 800, 800, 0, 0) diff --git a/game/scripts/utility/lint.rpy b/game/scripts/utility/lint.rpy index e5b69b4f..cf704884 100644 --- a/game/scripts/utility/lint.rpy +++ b/game/scripts/utility/lint.rpy @@ -19,12 +19,13 @@ init -1 python: renpy.execute_default_statement(False) # Add images to linting list to avoid undefined errors - for i in CHARACTERS: - prefix = "{}_main".format(i) + for i in states.dolls: + prefix = get_character_tag(i) renpy.lint.image_prefixes[prefix] = True nodes = [i for i in renpy.game.script.all_stmts if isinstance(i, (renpy.ast.Say, renpy.ast.Menu))] nodes.sort(key=lambda x: (x.filename, x.linenumber)) + files = renpy.list_files() SELF_CLOSING_TAGS = re.compile(r'(\{\{)|(\{(p|w|nw|fast|done|image|space)(?:\=([^}]*))?\})', re.S) @@ -33,7 +34,7 @@ init -1 python: OTHER = ["flip", "trans", "animation", "hair", "emote"] KEYS = EXPRESSIONS + POSITIONS + OTHER INTERPUNCT = (".", "!", "?", "--", "*", ")", "}") - + SAYERS = {i[:3]:i for i in states.dolls} RE_SPACES = re.compile(r"\s[^\S\r\n]") RE_COMMA = re.compile(r"\w+, \w+, \w+ and") RE_BRACKET = re.compile(r"\([^)]*$") @@ -78,9 +79,9 @@ init -1 python: else: kwargs[key] = val - for key, val in kwargs.iteritems(): + for key, val in list(kwargs.items()): # Validate facial expressions - if key in EXPRESSIONS and who in SAYERS.iterkeys(): + if key in EXPRESSIONS and who in iter(list(SAYERS.keys())): if val is None: continue @@ -92,7 +93,8 @@ init -1 python: val = strip(val) msg = "'{}'".format(key) - fn = "characters/{}/face/{}/{}.webp".format(SAYERS.get(who), key, val) + fp = f"characters/{SAYERS.get(who)}/poses/default/face/{key}/{val}/" + fn = next((f for f in files if f.startswith(fp)), f"{fp}expression.webp") if not has_failed: # Avoid repeating node destination diff --git a/game/scripts/utility/periodic_functions.rpy b/game/scripts/utility/periodic_functions.rpy index 15707a89..bb36b19a 100644 --- a/game/scripts/utility/periodic_functions.rpy +++ b/game/scripts/utility/periodic_functions.rpy @@ -1,29 +1,31 @@ init python: def periodic_achievements(): - if _in_replay is None: - if not achievements.status('gold') and game.gold >= 10000: - achievements.unlock("gold") + if not hasattr(store, "achievements") or _in_replay: + return - if not achievements.status('drunkard') and wine_ITEM.owned >= 25: - achievements.unlock("drunkard") + if not achievements.status('gold') and game.gold >= 10000: + achievements.unlock("gold") - if not achievements.status('peta') and (game.day-phoenix_fed_counter) >= 50: - achievements.unlock("peta") + if not achievements.status('drunkard') and wine_ITEM.owned >= 25: + achievements.unlock("drunkard") - if not achievements.status('petpal') and phoenix_petted_counter >= 25: - achievements.unlock("petpal") + if not achievements.status('peta') and (game.day-states.bird_fed_times) >= 50: + achievements.unlock("peta") - if not achievements.status('bros') and sna_friendship >= 100: - achievements.unlock("bros") + if not achievements.status('petpal') and states.bird_petted_times >= 25: + achievements.unlock("petpal") - if not achievements.status('overwhored') and her_whoring >= 24: - achievements.unlock("overwhored") + if not achievements.status('bros') and states.sna.level >= 100: + achievements.unlock("bros") - if not achievements.status('fireplace') and stat_fireplace_counter >= 5: - achievements.unlock("fireplace") + if not achievements.status('overwhored') and states.her.level >= 24: + achievements.unlock("overwhored") - if not achievements.status('workaholic') and stat_reports_counter >= 5: - achievements.unlock("workaholic") + if not achievements.status('fireplace') and states.fireplace_started_times >= 5: + achievements.unlock("fireplace") + + if not achievements.status('workaholic') and states.paperwork_reports_times >= 5: + achievements.unlock("workaholic") def periodic_callbacks(): """Call functions that need to be checked periodically (i.e. achievement unlocks) at around 20Hz""" diff --git a/game/scripts/utility/punk.rpy b/game/scripts/utility/punk.rpy index 8a573f69..d510f9a6 100644 --- a/game/scripts/utility/punk.rpy +++ b/game/scripts/utility/punk.rpy @@ -7,131 +7,136 @@ init python: import binascii import struct + import zlib - class ImagePayload(object): + class ImagePayload(NoRollback): - _END_CHUNK_TYPE = 'IEND' - _PUNK_CHUNK_TYPE = 'wtSi' - _MAX_BYTES = 2147483647 - _chunks = dict() + CHUNK_TYPE_END = "IEND" + CHUNK_TYPE_PUNK = "wtSi" + MAX_BYTES = 2147483647 + SIGNATURE_BYTES = 8 + BYTES_IN_KB = 2014 def __init__(self): - self._mode = None - self._file = None - self._output = None - self._bytes_to_hide = None + pass - self._bytes_read = 0 + def bytes_to_hex(self, b): + return b.hex() - def decode(self, input_file): - self.__init__() - self._mode = 'decode' - self._file = open("{}/outfits/{}".format(config.gamedir, input_file), 'rb+') - #self._output = open(config.basedir+'/game/'+output_file+'.txt', 'wb+') + def bytes_to_utf(self, b): + return b.decode() - # First move cursor past the signature - self._read_bytes(8) + def bytes_to_int(self, b): + return int(self.bytes_to_hex(b), 16) - # Start reading chunks - self._read_next_chunk() - return self._output + def read_bytes(self, f, byte_count: int): + return f.read(byte_count) - def encode(self, input_file, bytes_to_hide): - self.__init__() - self._mode = 'encode' - self._file = open("{}/outfits/{}.png".format(config.gamedir, input_file), 'rb+') - self._bytes_to_hide = bytes_to_hide.encode('utf-8') + def rewind_bytes(self, f, byte_count): + f.seek(f.tell() - byte_count) - # First move cursor past the signature - self._read_bytes(8) + def get_file_length(self, f): + f.seek(0, os.SEEK_END) + file_length = f.tell() + f.seek(0) - # Start reading chunks - self._read_next_chunk() + return file_length - def _read_bytes_as_hex(self, position): - return self._read_bytes(position).encode('hex') + def read_chunk(self, f): + chunk_size = self.read_bytes(f, 4) + chunk_type = self.read_bytes(f, 4) + chunk_content = self.read_bytes(f, self.bytes_to_int(chunk_size)) + chunk_crc = self.read_bytes(f, 4) - def _read_bytes_as_ascii(self, position): - return self._read_bytes(position).encode('ascii') + return [chunk_size, chunk_type, chunk_content, chunk_crc] - def _read_bytes_as_int(self, position): - return int(self._read_bytes_as_hex(position), 16) + def inject_punk_chunk(self, f, content): + chunk_size = len(content) - def _read_bytes(self, byte_count): - self._bytes_read += byte_count - return self._file.read(byte_count) + if chunk_size > self.MAX_BYTES: + raise ValueError(f"Cannot inject more than {self.MAX_BYTES} bytes") - def _rewind_bytes(self, byte_count): - self._bytes_read -= byte_count - self._file.seek(self._bytes_read) + print(f"Injecting {self.CHUNK_TYPE_PUNK} chunk {chunk_size / self.BYTES_IN_KB} kb") - def _inject_punk_chunk(self): - # Move back 8 bytes. - self._rewind_bytes(8) - - chunk_size = len(self._bytes_to_hide) - print 'Hiding', (chunk_size / 1024), 'kB (', chunk_size, 'bytes)' - - # Create a temporary byte array for the CRC check. + # Create a byte array to store our chunk data in. tmp_bytes = bytearray() - # First write the chunk type - tmp_bytes.extend(bytearray(self._PUNK_CHUNK_TYPE)) - + tmp_bytes.extend(self.CHUNK_TYPE_PUNK.encode()) # Now write the bytes of whatever we're trying to hide - tmp_bytes.extend(self._bytes_to_hide) - - #print 'Injecting punk chunk' + tmp_bytes.extend(content) # Write the chunk size - self._file.write(bytearray(struct.pack('!i', chunk_size))) + f.write(bytearray(struct.pack("!i", chunk_size))) - # And the type - self._file.write(bytearray(self._PUNK_CHUNK_TYPE)) - - self._file.write(self._bytes_to_hide) + # And the content + f.write(tmp_bytes) crc = binascii.crc32(tmp_bytes) - self._file.write(bytearray(struct.pack('!i', crc))) + crc_bytes = crc.to_bytes(4, "big") + print("Chunk CRC", self.bytes_to_hex(crc_bytes)) + f.write(crc_bytes) - # Write the end chunk. Start with the size. - self._file.write(bytearray(struct.pack('!i', 0))) - # Then the chunk type. - self._file.write(bytearray(self._END_CHUNK_TYPE)) + print("Chunk injected!") - crc = binascii.crc32(bytearray(self._END_CHUNK_TYPE)) - self._file.write(bytearray(struct.pack('!i', crc))) + def list(self, input): + path = os.path.join(config.gamedir, "outfits", input) - #print 'Punk chunk injected' + with open(path, "rb") as input_file: - def _read_next_chunk(self): - chunk_size = self._read_bytes_as_int(4) - print 'Chunk size:', chunk_size + input_file_length = self.get_file_length(input_file) + input_file.read(self.SIGNATURE_BYTES) - chunk_type = self._read_bytes_as_ascii(4) - print 'Chunk type:', chunk_type + while True: + chunk_size, chunk_type, chunk_content, chunk_crc = self.read_chunk(input_file) + chunk_type_str = self.bytes_to_utf(chunk_type) + print(f"Chunk {chunk_type_str}, {self.bytes_to_int(chunk_size)} bytes") - if self._mode == 'encode' and chunk_type == self._END_CHUNK_TYPE: - self._inject_punk_chunk() + if input_file.tell() >= input_file_length: + return - #print 'Reached EOF' - self._file.close() - return + def inject(self, input, output, content): + input_path = os.path.join(config.gamedir, "outfits", input) + output_path = os.path.join(config.gamedir, "outfits", output) + content = zlib.compress(str(content).encode()) - content = self._read_bytes(chunk_size) + with open(input_path, "rb") as input_file, open(output_path, "wb") as output_file: - crc = self._read_bytes_as_hex(4) - print 'CRC:', crc + input_file_length = self.get_file_length(input_file) + output_file.write(input_file.read(self.SIGNATURE_BYTES)) - if self._mode == 'decode' and chunk_type == self._PUNK_CHUNK_TYPE: - print "Found a chunk data", len(content), "bytes. Importing.." - #self._output.write(bytearray(content)) - #self._output.close() - self._output = content.decode('utf-8') - self._file.close() - print "Done." - return True + while True: + chunk_size, chunk_type, chunk_content, chunk_crc = self.read_chunk(input_file) + chunk_type_str = self.bytes_to_utf(chunk_type) + print(f"Chunk {chunk_type_str}, {self.bytes_to_int(chunk_size)} bytes") - self._read_next_chunk() + if chunk_type_str == self.CHUNK_TYPE_END: + self.inject_punk_chunk(output_file, content) - image_payload = ImagePayload() + output_file.write(chunk_size) + output_file.write(chunk_type) + output_file.write(chunk_content) + output_file.write(chunk_crc) + + if input_file.tell() >= input_file_length: + return + + def extract(self, input): + print("Attempting to extract punked data from", input) + path = os.path.join(config.gamedir, "outfits", input) + + with open(path, "rb") as input_file: + + input_file_length = self.get_file_length(input_file) + input_file.read(self.SIGNATURE_BYTES) + + while True: + chunk_size, chunk_type, chunk_content, chunk_crc = self.read_chunk(input_file) + chunk_type_str = self.bytes_to_utf(chunk_type) + + if chunk_type_str == self.CHUNK_TYPE_PUNK: + print("Found a punk chunk worth", self.bytes_to_int(chunk_size), "bytes") + return zlib.decompress(chunk_content).decode() + + if input_file.tell() >= input_file_length: + print("No punked data found") + return diff --git a/game/scripts/utility/screenshot_image.rpy b/game/scripts/utility/screenshot_image.rpy index 23f8a28c..1432bd54 100644 --- a/game/scripts/utility/screenshot_image.rpy +++ b/game/scripts/utility/screenshot_image.rpy @@ -1,25 +1,19 @@ init -10 python: - class ScreenshotImage(im.ImageBase): - def __init__(self, root, **properties): - super(ScreenshotImage, self).__init__(root, **properties) - self.root = root - # self.cache = False - # Sometimes causes segfault, maybe only if cache = True? + class ScreenshotImage(NoRollback): + _image = None - def load(self): - sw, sh = config.screen_width, config.screen_height - render = renpy.display.render.render_screen(self.root, sw, sh) - return renpy.display.draw.screenshot(render) + def __init__(self): + pass - @staticmethod - def capture(retain=True): - if retain: - # Prevent the image from being recaptured after load - renpy.retain_after_load() + def capture(self): + self._image = Transform(im.Data(renpy.screenshot_to_bytes(None), "screenshot.png"), size=(config.screen_width, config.screen_height)) - root = renpy.display.core.scene_lists().make_layer("screens", {}) - return ScreenshotImage(root) + @property + def image(self): + return self._image + + screenshot = ScreenshotImage() def displayable_to_file(d, path, size=(config.screen_width, config.screen_height), crop=None, coloralpha=(0, 255, 0)): crop = crop or (0, 0, size[0], size[1]) diff --git a/game/scripts/utility/skipping.rpy b/game/scripts/utility/skipping.rpy index f10dfc02..9308b7be 100644 --- a/game/scripts/utility/skipping.rpy +++ b/game/scripts/utility/skipping.rpy @@ -1,4 +1,4 @@ -init -1 python: +init -5 python: start_skip_callbacks = [] end_skip_callbacks = [] @@ -9,6 +9,9 @@ init -1 python: self.was_skipping = False def __call__(self): + if renpy.in_rollback(): + return + is_skipping = renpy.is_skipping() was_skipping = self.was_skipping @@ -22,15 +25,4 @@ init -1 python: for c in end_skip_callbacks: c() - def rebuild_dolls(): - if renpy.in_rollback(): - return - - for c in renpy.store.CHARACTERS: - c = get_character_object(c) - c.rebuild_image() - config.interact_callbacks.append(SkipCallbacksHandler()) - - end_skip_callbacks.append(rebuild_dolls) - diff --git a/game/scripts/utility/text_tags.rpy b/game/scripts/utility/text_tags.rpy index 2909b46b..1df3ea6c 100644 --- a/game/scripts/utility/text_tags.rpy +++ b/game/scripts/utility/text_tags.rpy @@ -1,4 +1,3 @@ - # Custom text tags # https://www.renpy.org/doc/html/custom_text_tags.html @@ -10,7 +9,7 @@ init python: return [(renpy.TEXT_TAG, "font=DejaVuSans.ttf")] + contents + [(renpy.TEXT_TAG, "/font")] def text_tag_name(tag, argument): - """Use the name provided by a variable, or a contextual name. Usage {name=genie_name|Dude}""" + """Use the name provided by a variable, or a contextual name. Usage {name=name_genie_hermione|Dude}""" name_var, context_name = argument.split("|", 1) name = getattr(renpy.store, name_var, None) #TODO Contextual name logic diff --git a/game/scripts/utility/transitions.rpy b/game/scripts/utility/transitions.rpy new file mode 100644 index 00000000..e88b3ec5 --- /dev/null +++ b/game/scripts/utility/transitions.rpy @@ -0,0 +1,32 @@ +image fade = "#00000080" +image fade_gradient = "interface/bld.webp" + +# Transitions +init offset = -1 +define d1 = Dissolve(0.1) +define d2 = Dissolve(0.2) +define d3 = Dissolve(0.3) +define d4 = Dissolve(0.4) +define d5 = Dissolve(0.5) +define d6 = Dissolve(0.6) +define d7 = Dissolve(0.7) +define d8 = Dissolve(0.8) +define d9 = Dissolve(0.9) + +define f1 = Fade(0.1, 0.0, 0.1) +define f2 = Fade(0.2, 0.0, 0.2) +define f3 = Fade(0.3, 0.0, 0.3) + +define flash = Fade(0.1, 0.0, 0.5, color="#fff") +define flashbulb = Fade(0.2, 0.0, 0.8, color='#fff') +define flashbb = Fade(0.2, 0.0, 0.8, color='#000') +define flashblood = Fade(0.2, 0.0, 0.8, color='#f02424') +define kissiris = Fade(0.2, 0.0, 0.8, color='#fb8dc8') +define black_magic = Fade(0.2, 0.0, 0.5, color='#7f3590') +define blackfade = Fade(0.9, 0.5, 1, color='#000000') + +define morph = ComposeTransition(Dissolve(0.9), before=Fade(0.1, 0.5, 0.5, color="#fff"), after=Dissolve(0.5)) +define teleport = ImageDissolve("id_teleport.webp", 1.0, 0) + +define faderight = ImageDissolve("interface/transitions/faderight.webp", 1.0) +define fadeleft = ImageDissolve("interface/transitions/faderight.webp", 1.0, reverse=True) diff --git a/game/scripts/utility/updater.rpy b/game/scripts/utility/updater.rpy index 5e8aa8be..e48a1589 100644 --- a/game/scripts/utility/updater.rpy +++ b/game/scripts/utility/updater.rpy @@ -1,9 +1,13 @@ init python: - from binascii import unhexlify import requests - UPDATE_URL = unhexlify("687474703a2f2f3135332e39322e3232312e3234362f757064617465732e6a736f6e") - UPDATE_VER = "" + UPDATE_URL = bytes.fromhex("687474703a2f2f757064617465732e73696c76657273747564696f67616d65732e6f7267").decode() + UPDATE_VER = None + UPDATE_HINT = "" + + if config.developer: + persistent._update_version = {} + persistent._update_last_checked = {} @renpy.pure class CheckUpdates(Action): @@ -20,12 +24,25 @@ init python: # we need to forbid updater from affecting # GIT-supplied versions of the game to avoid bugs. - if (not updater.can_update() or config.developer) and not self.simulate: + global UPDATE_VER, UPDATE_HINT + + if (config.developer or not updater.can_update()) and not self.simulate: + + if config.developer: + UPDATE_HINT = "Updater is disabled." + else: + UPDATE_HINT = "Cannot fetch updates." + + renpy.restart_interaction() return check = True url = self.url + if not self.onetime: + UPDATE_HINT = "Checking for updates..." + renpy.restart_interaction() + if self.onetime and url in updater.checked: check = False @@ -37,11 +54,19 @@ init python: persistent._update_last_checked[url] = time.time() updater.Updater(url, check_only=True, simulate=self.simulate, **self.kwargs) - global UPDATE_VER - UPDATE_VER = persistent._update_version.get(url, "") + UPDATE_VER = persistent._update_version.get(url, None) - if self.autostart: - renpy.invoke_in_new_context(updater.update, self.url, simulate=self.simulate, **self.kwargs) + if version_float(UPDATE_VER) > version_float(): + if not self.onetime: + UPDATE_HINT = "New game version available!" + renpy.restart_interaction() + + if self.autostart: + renpy.invoke_in_new_context(updater.update, self.url, simulate=self.simulate, **self.kwargs) + # elif not UPDATE_VER: + # ui.timer(2.0, SetVariable("UPDATE_HINT", "Server is not responding.")) + elif not self.onetime: + ui.timer(2.0, SetVariable("UPDATE_HINT", "You are already up-to-date.")) @renpy.pure class InstallUpdates(Action): @@ -63,9 +88,11 @@ init python: renpy.set_return_stack(("main_room",)) - def version_float(): - control, major, minor = config.version.split(" ")[0].split(".") - return float("{}.{}{}".format(control, major, minor)) + def version_float(version=None): + version = version or config.version + + control, major, *minor = version.split(" ")[0].split(".") + return float("{}.{}{}".format(control, major, "".join(minor))) def version_patch(): if renpy.is_init_phase(): @@ -76,54 +103,68 @@ init python: # For unknown reasons, sometimes version is missing from the save, so we need a fallback current = getattr(renpy.store, "version", latest) - if current <= 1.431: - for i in CHARACTERS: - char = get_character_object(i) + if current < 1.452: + + for i in states.dolls: + doll = getattr(store, i) + doll._sprite = DefaultQueue() - if isinstance(char.animation, list) and char.animation: - char.animation = char.animation[0] - else: - char.animation = None + for j in doll.wardrobe_list: + # Add new button handler for clothes + j._button = DefaultQueue() - if current <= 1.432: - her_buttplug_small1.type = "buttplug" - her_buttplug_medium1.type = "buttplug" - her_buttplug_large1.type = "buttplug" + for j in doll.outfits: + # Add new button handler for outfits + j._button = DefaultQueue() - her_buttplug_small1.set_imagepath() - her_buttplug_small1.set_layers() - her_buttplug_medium1.set_imagepath() - her_buttplug_medium1.set_layers() - her_buttplug_large1.set_imagepath() - her_buttplug_large1.set_layers() + # Fix makeup object types inside saved outfits + if j.has_type("makeup"): + + objects = [x.parent.clone() for x in j.group] - # Need to repeat the fix, because I am a donkey - for i in CHARACTERS: - char = get_character_object(i) + j.group = objects + j.is_stale() - if isinstance(char.animation, list) and char.animation: - char.animation = char.animation[0] - else: - char.animation = None + # Patch removed events + events = ["her_ev_handjob_t1_to_t3_e1", "her_ev_titjob_t1_to_t4_e1", "her_ev_sex_t1_to_t5_e1", "her_ev_panty_thief_t1_to_t3"] - if hasattr(store, "color_favorites"): - for i, col in enumerate(store.color_favorites): - col = Color(tuple(col)) - store.colorpicker.favorites[i] = col + for i in events: + ev = getattr(store, i, None) - if current <= 1.433: - ton_robe_auror.color_default = [[40, 40, 41, 255], [244, 230, 236, 255]] - ton_neckwear_beads.color_default = [[45, 45, 48, 255], [244, 230, 236, 255]] + if ev: + ev.dequeue() + delattr(store, i) - for i in CHARACTERS: - char = get_character_object(i) + # Fix cardgame events + delattr(states.twi.ev.cardgame, "delay") - for c in char.wardrobe_list: - c.set_layers() + if states.twi.ev.cardgame.stage == 1 and not states.twi.ev.cardgame.stock_talk and not letter_cards_store in mailbox.letters: + # In case the player already started the event chain, send the letter early. + letter_cards_store.send() - char.rebuild() + getattr(store, "letter_cards_store").wait = 7 - fix_return_stack() + # Fix revertable types for modding + mods_enabled = getattr(persistent, "mods_enabled", _set()) or _set() + setattr(persistent, "mods_enabled", _set(mods_enabled)) + + mods_list = getattr(persistent, "mods_list", _dict()) or _dict() + setattr(persistent, "mods_list", _dict(mods_list)) + + # Fix event issue with Cho + ev = getattr(store, "cho_ev_inspect_her_body_t2_e3") + if ev.completed and not states.cho.ev.inspect_her_body.T2_E3_complete: + states.cho.ev.inspect_her_body.T2_E3_complete = True + + if current < 1.453: + for i in states.dolls: + doll = getattr(store, i) + + for j in doll.outfits: + + for k in j.group: + if k.modpath: + k.modpath = "mods/" + k.modpath.split("/")[-1] if current > latest: raise Exception("Loaded save file is incompatible. (Save Version: {}, Game Version: {})".format(current, latest)) @@ -151,7 +192,7 @@ init python: return im.Data(data, path) # Fetch file if doesn't exist - url = url.split("updates.json")[0] + "logo.webp" + url = os.path.join(url.split("updates.json")[0], "logo.webp") try: response = requests.get(url, timeout=5) @@ -165,8 +206,11 @@ init python: except: path = os.path.join(config.basedir, "update", "generic.webp") - with open(path, "rb") as f: - data = f.read() + if os.path.isfile(path): + with open(path, "rb") as f: + data = f.read() + else: + return Null() return Fixed(im.Data(data, path), Text(UPDATE_VER, size=96, align=(0.5, 0.8), color="#000000", outlines=[( 1, "#ffffff", 0, 0 )]), fit_first=True) @@ -241,6 +285,7 @@ define update_message_list = [ "Insert disc 2", ] +# Do not add parenthesis to the updater screen, otherwise it will break screen parameter interpolation. screen updater: tag menu @@ -337,6 +382,12 @@ style update_available_button_text: label before_main_menu(): python: - if settings.get("updates"): + if settings.get("updates") and not prerelease: CheckUpdates(onetime=True, autostart=False)() + + if mods_incompatible: + $ mods = "\n".join(mods_incompatible) + + call modal_popup("Attention!", "The listed mods are incompatible and have been deactivated:\n" + mods, "interface/warning.webp") + return diff --git a/game/scripts/variables.rpy b/game/scripts/variables.rpy index 7fb33203..6459dcbd 100644 --- a/game/scripts/variables.rpy +++ b/game/scripts/variables.rpy @@ -1,31 +1,14 @@ #TODO Move variable defaults to appropriate files, leave common ones here (and rename this file to _Variables_.rpy or something) init offset = -1 -# Menu placement -default menu_x = 0.5 -default menu_y = 0.5 - -# Summoned character -default active_girl = None -default last_character = None - -# GUI color scheme -default interface_color = "gold" - -default rum_times = 0 # Counts how many times have you rummaged the cupboard. default current_payout = 0 -default public_whore_ending = False # If TRUE the game will end with "Public Whore Ending". - # House points default slytherin = 35 default gryffindor = 122 default hufflepuff = 25 default ravenclaw = 31 -# Duel -default potions = 0 # Amount of healing potions Genie has in stock. - # Used to pause events/summons for a number of days default ss_event_pause = 0 default ss_summon_pause = 0 @@ -42,36 +25,6 @@ default ag_summon_pause = 0 default sb_event_pause = 0 default sb_summon_pause = 0 -default owl_away = False -default owl_away_counter = 0 - # Sprite positioning default nxpos = 0 default nypos = 0 -default desk_zorder = 2 - -default unlocked_7th = False - -# Phoenix -default phoenix_is_fed = False -default phoenix_is_petted = False -default phoenix_fed_counter = 0 -default phoenix_petted_counter = 0 - -# Paperwork related flags -default report_chapters = 0 # Number of chapters of current report completed so far. Resets to zero when report is finished. -default reports_finished = 0 # Number of completed reports. -default stat_reports_counter = 0 - -# Fireplace -default fire_in_fireplace = False -default stat_fireplace_counter = 0 - -# Examine room flags -default desk_examined = False -default cupboard_examined = False -default bird_examined = False -default door_examined = False -default fireplace_examined = False - -default current_room = "main_room" diff --git a/game/scripts/wardrobe/color_picker.rpy b/game/scripts/wardrobe/color_picker.rpy index 57d358aa..5063d038 100644 --- a/game/scripts/wardrobe/color_picker.rpy +++ b/game/scripts/wardrobe/color_picker.rpy @@ -324,16 +324,13 @@ init python: class ColorPicker(NoRollback): - def __init__(self, start_color=(255, 255, 0, 255), default_color=(255, 0, 0, 255)): - col = Color(tuple(start_color)) - self.live_color = col - self.start_color = col - - default_color = Color(tuple(default_color)) + def __init__(self, start_color=Color("#fff"), default_color=Color("#fff")): + self.live_color = start_color + self.start_color = start_color self.default_color = default_color - self.hue, self.saturation, self.value = col.hsv - self.alpha = col.alpha + self.hue, self.saturation, self.value = start_color.hsv + self.alpha = start_color.alpha self.cph = ColorPickerHue(self) self.cpsv = ColorPickerSatVal(self) @@ -341,8 +338,8 @@ init python: self.cpa = ColorPickerAlpha(self) self.focus = None - h, s, v = col.hsv - a = col.alpha + h, s, v = start_color.hsv + a = start_color.alpha self.cph.pos = (0, 255 * h) self.cpsv.pos = (255 * s, 255 * (1- v)) self.cpa.pos = (255 * (1 - a), 0) @@ -418,7 +415,7 @@ screen colorpickerscreen(item=None): has vbox if item: - $ layers = [Color(tuple(i)) for i in item.color] + $ layers = item.color label "Layers" xalign 0.0 @@ -523,9 +520,10 @@ screen colorpickerscreen(item=None): text "Alpha:[cp.alpha]" if item: - textbutton "Colour code: [item.color]": - action Function(set_clipboard, str(item.color)) - #alternate [Function(item.set_color, evaluate(get_clipboard()))] + $ colorcode = [i.hexcode for i in item.color] + textbutton "Colour code: [colorcode]": + action [Function(set_clipboard, json.dumps(colorcode)), Notify("Colorcode copied to clipboard.")] + #alternate [Function(item.set_color, evaluate(str(get_clipboard())))] keysym ["ctrl_K_c"] #alternate_keysym ["ctrl_K_v"] diff --git a/game/scripts/wardrobe/functions.rpy b/game/scripts/wardrobe/functions.rpy index 55425d02..92fd77ea 100644 --- a/game/scripts/wardrobe/functions.rpy +++ b/game/scripts/wardrobe/functions.rpy @@ -1,33 +1,41 @@ -init python: +init -1 python: def get_character_progression(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) - if key == "tonks": - return ton_friendship - return getattr(store, "{}_whoring".format(key[:3])) + return getattr(states, f"{key[:3]}").level + + def get_character_scheduling(key): + if not key in states.dolls: + raise KeyError("'{}' character is undefined.".format(key)) + return getattr(states, f"{key[:3]}").wardrobe_scheduling def get_character_requirement(key, type): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return getattr(renpy.store, key[:3]+"_requirements").get(type, 0) def get_character_response(key, type): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return getattr(renpy.store, key[:3]+"_responses").get(type) def get_character_object(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return getattr(store, key) def get_character_outfit(key, type="default"): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return getattr(store, "{}_outfit_{}".format(key[:3], type)) + def get_character_body(key, type="default"): + if not key in states.dolls: + raise KeyError("'{}' character is undefined.".format(key)) + return getattr(store, "{}_body_{}".format(key[:3], type)) + def get_character_outfit_req(key, item): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) if not isinstance(item, DollOutfit): @@ -42,49 +50,47 @@ init python: if not has_panties: req += ["NO PANTIES: {}".format(get_character_requirement(key, "unequip panties"))] - print "\n".join(req) - - def get_character_outfit_hash(key): - ### Untested ### - char = get_character_object(key) - clothes = [x[0] for x in char.clothes.itervalues() if x[0]] - salt = str( sorted([ sorted([x.name, x.type, x.id, x.color]) for x in clothes ]) ) - return hash(salt) + print("\n".join(req)) def get_character_tag(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return "{}_main".format(key) def get_character_sayer(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return getattr(store, key[:3]) def get_character_gift_label(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return "give_{}_gift".format(key[:3]) def get_character_potion_check_label(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return "{}_potion_check".format(key[:3]) def get_character_potion_check(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) return getattr(store, "{}_potion_check".format(key[:3])) def get_character_unlock(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) - return getattr(store, "{}_unlocked".format(key)) + return getattr(states, f"{key[:3]}").unlocked + + def get_character_gifted(key): + if not key in states.dolls: + raise KeyError("'{}' character is undefined.".format(key)) + return getattr(states, f"{key[:3]}").gifted def get_character_mood(key): - if not key in CHARACTERS: + if not key in states.dolls: raise KeyError("'{}' character is undefined.".format(key)) - return getattr(store, "{}_mood".format(key[:3])) + return getattr(states, f"{key[:3]}").mood def get_outfit_score(outfit): """Returns outfit 'lewdness' score""" @@ -112,8 +118,8 @@ init python: if not outfit.has_type("bottom"): score += 4 - if outfit.has_type("buttplug"): - score += 9 + # if outfit.has_type("buttplug"): + # score += 9 if outfit.has_type("makeup"): score += 1 @@ -156,7 +162,7 @@ init python: def wardrobe_fail_hint(value): """Displays required whoring/friendship/affection level.""" word_list = {"tonks": "friendship", "astoria": "affection", "susan": "confidence", "luna": "corruption", "cho": "recklessness", "hermione": "whoring"} - word = word_list.get(active_girl, "whoring") + word = word_list.get(states.active_girl, "whoring") if game.cheats or game.difficulty <= 2: renpy.show_screen("blktone") @@ -167,9 +173,27 @@ init python: return def list_outfit_files(): - path = "{}/outfits/".format(config.gamedir) + + @functools.cache + def build_button(rp): + style = "wardrobe_button" + child = Fixed(Transform(rp, xsize=96, fit="contain", yalign=1.0, yoffset=-6), Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6), xysize=(96, 168)) + action = Return(["import", rp]) + hover_foreground = "#ffffff80" + + return Button(child=child, action=action, hover_foreground=hover_foreground, style=style) + + path = f"{config.gamedir}/outfits/" if not os.path.exists(path): os.makedirs(path) - return [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f)) and f.endswith(".png")] + files = [] + for f in os.listdir(path): + fp = os.path.join(path, f) + rp = os.path.relpath(fp, config.gamedir) + + if os.path.isfile(os.path.join(path, f)) and f.endswith(".png"): + files.append(build_button(rp)) + + return files diff --git a/game/scripts/wardrobe/reactions.rpy b/game/scripts/wardrobe/reactions.rpy index bd931acc..81ff28b8 100644 --- a/game/scripts/wardrobe/reactions.rpy +++ b/game/scripts/wardrobe/reactions.rpy @@ -1,43 +1,43 @@ init python: def wardrobe_check_category(category): - req = get_character_requirement(active_girl, "category {}".format(category)) - flag = get_character_progression(active_girl) + req = get_character_requirement(states.active_girl, "category {}".format(category)) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_touch(what): - req = get_character_requirement(active_girl, "touch {}".format(what)) - flag = get_character_progression(active_girl) + req = get_character_requirement(states.active_girl, "touch {}".format(what)) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_equip(item): req = item.level - flag = get_character_progression(active_girl) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_unequip(item): - req = get_character_requirement(active_girl, "unequip {}".format(item.type)) - flag = get_character_progression(active_girl) + req = get_character_requirement(states.active_girl, "unequip {}".format(item.type)) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_check_equip_outfit(item): req = max((i.level for i in item.group)) - flag = get_character_progression(active_girl) + flag = get_character_progression(states.active_girl) has_bra = any(i.type == "bra" for i in item.group) has_panties = any(i.type == "panties" for i in item.group) if not has_bra: - req = max(req, get_character_requirement(active_girl, "unequip bra")) + req = max(req, get_character_requirement(states.active_girl, "unequip bra")) if not has_panties: - req = max(req, get_character_requirement(active_girl, "unequip panties")) + req = max(req, get_character_requirement(states.active_girl, "unequip panties")) if any(i.type.startswith(("piercing", "tattoo")) for i in item.group): - req = max(req, get_character_requirement(active_girl, "category piercings & tattoos")) + req = max(req, get_character_requirement(states.active_girl, "category piercings & tattoos")) return (flag >= req) @@ -45,25 +45,29 @@ init python: if not item.blacklist: return True - req = max( ( get_character_requirement(active_girl, "unequip {}".format(i)) for i in item.blacklist ) ) - flag = get_character_progression(active_girl) + req = max( ( get_character_requirement(states.active_girl, "unequip {}".format(i)) for i in item.blacklist ) ) + flag = get_character_progression(states.active_girl) return (flag >= req) def wardrobe_fallback_required(item): fallbacks = {"top", "bottom", "bra", "panties"} - char = get_character_object(active_girl) - req = [get_character_requirement(active_girl, "unequip {}".format(i)) for i in fallbacks if not char.is_equipped(i) and not i in char.blacklist] + char = get_character_object(states.active_girl) + req = [get_character_requirement(states.active_girl, "unequip {}".format(i)) for i in fallbacks if not char.is_equipped(i) and not i in char.blacklist] if not req: return False req = max(req) - flag = get_character_progression(active_girl) + flag = get_character_progression(states.active_girl) return not (flag >= req) def wardrobe_react(what, arg): + global _skipping if wardrobe_chitchats: - renpy.call(get_character_response(active_girl, what), arg) + _skipping = True + renpy.suspend_rollback(False) + renpy.block_rollback() + renpy.call_in_new_context(get_character_response(states.active_girl, what), arg) return diff --git a/game/scripts/wardrobe/studio.rpy b/game/scripts/wardrobe/studio.rpy index a269a2d2..7ff49051 100644 --- a/game/scripts/wardrobe/studio.rpy +++ b/game/scripts/wardrobe/studio.rpy @@ -5,38 +5,56 @@ default studio.choices = None default studio.drags = None init python in studio: + import os + import functools + import posixpath + Transform = renpy.store.Transform Flatten = renpy.store.Flatten Drag = renpy.store.Drag - CHARACTERS = renpy.store.CHARACTERS + get_character_object = renpy.store.get_character_object + @functools.cache def get_faces(): - filters = ("_mask", "_skin") - d = {} + d = _dict() - for i in CHARACTERS: - d[i] = {} - for j in ("eyebrows", "eyes", "mouth", "pupils", "cheeks", "tears"): - path = "characters/{}/face/{}/".format(i, j) - d[i][j] = [x.split(path)[1].split(".webp")[0] for x in renpy.list_files() if x.startswith(path) and x.endswith(".webp") and not any(f in x for f in filters)] + for charname in renpy.store.states.dolls: + charobj = get_character_object(charname) + extensions = charobj.extensions - if j in ("cheeks", "tears"): - d[i][j].insert(0, None) - elif renpy.config.developer: - d[i][j].insert(0, None) + for part in charobj.face._face.keys(): + + path = posixpath.join("characters", charname, "poses", charobj.pose, "face", part) + + for f in renpy.list_files(): + fp, fn = os.path.split(f) + fn, ext = os.path.splitext(fn) + expression = os.path.split(fp)[1] + + + if part in ("cheeks", "tears"): + expressions = d.setdefault(charname, _dict()).setdefault(part, _list((False,))) + else: + expressions = d.setdefault(charname, _dict()).setdefault(part, _list()) + + if not fp.startswith(path) or not ext in extensions: + continue + + if not expression in expressions: + expressions.append(expression) return d def get_choices(): d = {} - for i in CHARACTERS: + for i in renpy.store.states.dolls: d[i] = {} - d[i]["eyebrows"] = faces[i]["eyebrows"].index("base") - d[i]["eyes"] = faces[i]["eyes"].index("base") - d[i]["mouth"] = faces[i]["mouth"].index("base") - d[i]["pupils"] = faces[i]["pupils"].index("mid") - d[i]["cheeks"] = faces[i]["cheeks"].index(None) - d[i]["tears"] = faces[i]["tears"].index(None) + d[i]["eyebrows"] = faces[i].get("eyebrows", [None]).index("base") + d[i]["eyes"] = faces[i].get("eyes", [None]).index("base") + d[i]["mouth"] = faces[i].get("mouth", [None]).index("base") + d[i]["pupils"] = faces[i].get("pupils", [None]).index("mid") + d[i]["cheeks"] = faces[i].get("cheeks", [False]).index(False) + d[i]["tears"] = faces[i].get("tears", [False]).index(False) d[i]["zoom"] = 0.5 d[i]["flip"] = 1 d[i]["alpha"] = 1.0 @@ -63,10 +81,10 @@ init python in studio: return d def get_drags(): - active_girl = renpy.store.active_girl + active_girl = renpy.store.states.active_girl d = {} - for i in CHARACTERS: + for i in renpy.store.states.dolls: d[i] = [drag_init(getattr(renpy.store, i)), (i == active_girl)] return d @@ -92,7 +110,7 @@ init python in studio: char_obj = obj char_name = char_obj.name - d = Transform(Flatten(char_obj.get_image()), zoom=choices[char_name]["zoom"], xzoom=choices[char_name]["flip"], alpha=choices[char_name]["alpha"]) + d = Transform(Flatten(char_obj.image), zoom=choices[char_name]["zoom"], xzoom=choices[char_name]["flip"], alpha=choices[char_name]["alpha"]) pos = (250, 0) drag = Drag(d, activated=drag_activated, drag_offscreen=True, focus_mask=True) @@ -107,7 +125,7 @@ init python in studio: drag = drag[0] renpy.store.char_active = drag.char_obj - renpy.store.active_girl = drag.char_name + renpy.store.states.active_girl = drag.char_name drag.top() renpy.restart_interaction() @@ -120,7 +138,7 @@ init python in studio: flip = choices[drag.char_name]["flip"] alpha = choices[drag.char_name]["alpha"] - d = Flatten(drag.char_obj.get_image()) + d = Flatten(drag.char_obj.image) d = Transform(d, zoom=zoom, xzoom=flip, alpha=alpha) drag.set_child(d) return @@ -130,8 +148,8 @@ init python in studio: choices[drag.char_name]["eyes"] = faces[drag.char_name]["eyes"].index("base") choices[drag.char_name]["mouth"] = faces[drag.char_name]["mouth"].index("base") choices[drag.char_name]["pupils"] = faces[drag.char_name]["pupils"].index("mid") - choices[drag.char_name]["cheeks"] = faces[drag.char_name]["cheeks"].index(None) - choices[drag.char_name]["tears"] = faces[drag.char_name]["tears"].index(None) + choices[drag.char_name]["cheeks"] = faces[drag.char_name]["cheeks"].index(False) + choices[drag.char_name]["tears"] = faces[drag.char_name]["tears"].index(False) choices[drag.char_name]["zoom"] = 0.5 choices[drag.char_name]["flip"] = 1 choices[drag.char_name]["alpha"] = 1.0 @@ -149,21 +167,23 @@ label studio(char): # TODO: Finish adding presets saving. # Add character drag offset based on zoom. + hide screen wardrobe + python: last_char = char_active - last_girl = active_girl + last_girl = states.active_girl last_face = last_char.get_face() studio.faces = studio.get_faces() studio.choices = studio.get_choices() - char_active.set_face(**studio.get_face(active_girl)) + char_active.set_face(**studio.get_face(states.active_girl)) studio.drags = studio.get_drags() call screen studio # Reset $ char_active = last_char - $ active_girl = last_girl + $ states.active_girl = last_girl $ char_active.set_face(**last_face) return @@ -200,12 +220,12 @@ screen studio(): else: $ ov = None - $ active_drag = studio.drags[active_girl][0] + $ active_drag = studio.drags[states.active_girl][0] add bg draggroup: - for i in studio.drags.itervalues(): + for i in studio.drags.values(): if i[1]: add i[0] @@ -220,36 +240,36 @@ screen studio(): style_prefix gui.theme("studio") vbox: - label (active_girl) + label (states.active_girl) $ drag_update = Function(studio.drag_update, active_drag) $ drag_reset = Function(studio.drag_reset, active_drag) hbox: add "interface/studio/eyebrows.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "eyebrows", len(studio.faces[active_girl]["eyebrows"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyebrows" + bar value DictValue(studio.choices[states.active_girl], "eyebrows", len(studio.faces[states.active_girl]["eyebrows"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyebrows" hbox: add "interface/studio/eyes.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "eyes", len(studio.faces[active_girl]["eyes"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyes" + bar value DictValue(studio.choices[states.active_girl], "eyes", len(studio.faces[states.active_girl]["eyes"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character eyes" hbox: add "interface/studio/pupils.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "pupils", len(studio.faces[active_girl]["pupils"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character pupils" + bar value DictValue(studio.choices[states.active_girl], "pupils", len(studio.faces[states.active_girl]["pupils"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character pupils" hbox: add "interface/studio/mouth.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "mouth", len(studio.faces[active_girl]["mouth"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character mouth" + bar value DictValue(studio.choices[states.active_girl], "mouth", len(studio.faces[states.active_girl]["mouth"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character mouth" hbox: add "interface/studio/blush.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "cheeks", len(studio.faces[active_girl]["cheeks"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character blush" + bar value DictValue(studio.choices[states.active_girl], "cheeks", len(studio.faces[states.active_girl]["cheeks"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character blush" hbox: add "interface/studio/tears.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "tears", len(studio.faces[active_girl]["tears"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character tears" + bar value DictValue(studio.choices[states.active_girl], "tears", len(studio.faces[states.active_girl]["tears"])-1, False, step=1, force_step=True, action=drag_update) tooltip "Character tears" hbox: add "interface/studio/scale.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "zoom", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Scale" + bar value DictValue(studio.choices[states.active_girl], "zoom", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Scale" hbox: add "interface/studio/opacity.webp" size icon_size - bar value DictValue(studio.choices[active_girl], "alpha", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Opacity" + bar value DictValue(studio.choices[states.active_girl], "alpha", 1.0, False, step=0.1, force_step=True, action=drag_update) tooltip "Character Opacity" - textbutton "Flip" action [ToggleDict(studio.choices[active_girl], "flip", -1, 1), drag_update] xpos 4 + textbutton "Flip" action [ToggleDict(studio.choices[states.active_girl], "flip", -1, 1), drag_update] xpos 4 textbutton "Reset" action drag_reset xpos 4 vbox: @@ -300,13 +320,13 @@ screen studio(): vbox: label "Characters" vbox: - for k, v in studio.drags.iteritems(): - $ active = (active_girl == k and v[1]) - $ unlocked = getattr(renpy.store, k+"_unlocked") + for k, v in studio.drags.items(): + $ active = (states.active_girl == k and v[1]) + $ unlocked = get_character_unlock(k) if not v[1]: $ action = [ SetDict(studio.drags[k], 1, True), Function(studio.drag_activated, [v[0]]), renpy.restart_interaction ] - elif not active_girl == k: + elif not states.active_girl == k: $ action = [ Function(studio.drag_activated, [v[0]]), renpy.restart_interaction] else: $ action = [ SetDict(studio.drags[k], 1, False), renpy.restart_interaction ] diff --git a/game/scripts/wardrobe/wardrobe.rpy b/game/scripts/wardrobe/wardrobe.rpy index 1cb1bf8e..728044dc 100644 --- a/game/scripts/wardrobe/wardrobe.rpy +++ b/game/scripts/wardrobe/wardrobe.rpy @@ -2,7 +2,6 @@ default wardrobe_music = False default wardrobe_chitchats = True default wardrobe_autosave = False -default wardrobe_loaded = False default wardrobe_suppress_warnings = False default wardrobe_randomise_color = False default wardrobe_global_color = False @@ -21,16 +20,201 @@ define wardrobe_subcategories_sorted = { define wardrobe_categories = ("head", "piercings & tattoos", "upper body", "upper undergarment", "lower body", "lower undergarment", "legwear", "misc") define wardrobe_outfit_schedule = ("day", "night", "cloudy", "rainy", "snowy") +init python: + + _lock = False + + def preload_wardrobe_assets(): + global _lock, _predicted + _lock = True + renpy.start_predict_screen("wardrobe") + c = get_character_object(states.active_girl) + d = [v[0] for i in c.wardrobe_list for v in i.get_layers(i._hash).values()] + renpy.start_predict(*d, "interface/wardrobe/*.webp") + _predicted = d + _lock = False + + def rebuild_wardrobe_icons(items, subcat): + if not settings.get("multithreading"): + return + + if subcat == "import": + return + + for i in items.get(subcat, []): + i.build_button(subcat) + + def lock_wardrobe_icon(icon): + if not settings.get("multithreading"): + return icon + + lock = bool(DollThread._count) + + return gray_tint(icon) if lock else icon + + def randomise_wardrobe_color(cloth): + + def _func(cloth): + if not cloth is None: + if wardrobe_randomise_color and cloth.color: + col_len = len(cloth.color) + col = [] + + for i in range(col_len): + if col_len == 1: + col.append(tetriadic_colors[0]) + elif col_len == 2: + col.append(double_colors[i-1]) + elif col_len == 3: + col.append(triadic_colors[i-1]) + else: + try: + col.append(tetriadic_colors[i-1]) + except: + col.append(col[-1].rotate_hue(0.33)) + + cloth.set_color(col) + + if wardrobe_global_color: + for outfit in char_active.outfits: + rebuild = False + + for i in outfit.group: + if not (i.id, i.type) == (cloth.id, cloth.type): + continue + + if len(cloth.color) != len(i.color): + print(f"Mismatched color lens:\n{cloth}\n{i}") + renpy.notify("Error!") + continue + + i.set_color(cloth.color) + i.is_stale() + rebuild = True + + if rebuild: + outfit.is_stale() + + rebuild_wardrobe_icons(category_items, current_subcategory) + + if settings.get("multithreading"): + thread = DollThread(target=_func, args=(cloth,), interval=0.05) + thread.start() + else: + _func(cloth) + renpy.restart_interaction() + + # @functools.cache # Cache resets on wardrobe exit + def set_wardrobe_categories(current_category): + category_items = OrderedDict( + sorted( + [ + (subcat, [item for item in items if item.unlocked]) + for subcat, items in wardrobe_subcategories.get(current_category, {}).items() + ], + key=lambda x: wardrobe_subcategories_sorted.get(x[0], 0), + reverse=True + ) + ) + return category_items + +style loading_text: + color "#ffffff" + size 64 + +style loading_trivia_text: + color "#ffffff" + size 24 + +layeredimage loading: + always "gui_fade" + always Transform(Text("Loading", style="loading_text"), align=(0.5, 0.4)) + always "loading_spinner" + +image loading_spinner: + align (0.5, 0.5) + + Text("{unicode}╞▰═════════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═▰════════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞══▰═══════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═══▰══════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞════▰═════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═════▰════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞══════▰═══╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═══════▰══╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞════════▰═╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═════════▰╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═════════▰╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞════════▰═╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═══════▰══╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞══════▰═══╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═════▰════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞════▰═════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═══▰══════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞══▰═══════╡{/unicode}", style="loading_text") + pause 0.1 + Text("{unicode}╞═▰════════╡{/unicode}", style="loading_text") + pause 0.1 + repeat + label wardrobe: - $ gui.in_context("wardrobe_menu") + $ renpy.call_in_new_context("_wardrobe") + return + +label _wardrobe: + $ renpy.config.skipping = None + $ _game_menu_screen = None + $ _skipping = False + $ renpy.suspend_rollback(True) + show loading zorder 1000 + + # Ensure there's no thread in use before assigning a new one. + while _lock: + $ renpy.pause(0.5, hard=True) + + $ renpy.invoke_in_thread(preload_wardrobe_assets) + + # Await thread return + # Note: renpy.pause must be called from within the main thread + while _lock: + $ renpy.pause(0.5, predict=True) + + hide loading + + # $ renpy.scene("screens") + # show expression screenshot.image + call wardrobe_menu + + show screen main_room + show screen ui_top_bar + $ _game_menu_screen = "save" + $ _skipping = True + $ renpy.stop_predict(_predicted) + $ del _predicted + $ renpy.suspend_rollback(False) + $ renpy.block_rollback() return screen wardrobe(xx, yy): tag wardrobe zorder 24 - modal True - predict False - add "gui_fade" if renpy.mobile: @@ -38,10 +222,6 @@ screen wardrobe(xx, yy): use close_button fixed: - # TODO: Wardrobe doesn't work well with the gui animation - # if settings.get("animations"): - # at gui_animation - use wardrobe_menu(xx, yy) if current_category == "outfits": use wardrobe_outfit_menuitem(20, 50) @@ -50,8 +230,9 @@ screen wardrobe(xx, yy): label wardrobe_menu(): python: - char_active = get_character_object(active_girl) - char_outfit = get_character_outfit(active_girl, type="last") + + char_active = get_character_object(states.active_girl) + char_outfit = get_character_outfit(states.active_girl, type="last") char_outfit.save() wardrobe_subcategories = char_active.wardrobe @@ -63,35 +244,47 @@ label wardrobe_menu(): # Defaults current_category = "head" - category_items = OrderedDict(sorted(wardrobe_subcategories.get(current_category, {}).iteritems(), key=lambda x: wardrobe_subcategories_sorted.get(x[0], 0), reverse=True)) - current_subcategory = category_items.keys()[0] if category_items else "" - menu_items = filter(lambda x: x.unlocked==True, category_items.get(current_subcategory, [])) - current_item = char_active.get_equipped_item(menu_items) + category_items = set_wardrobe_categories(current_category) + current_subcategory = list(category_items.keys())[0] if category_items else "" + current_item = char_active.get_equipped_wardrobe_item(category_items, current_subcategory) + last_track = renpy.music.get_playing() + rebuild_wardrobe_icons(category_items, current_subcategory) if wardrobe_music: - call play_music("wardrobe") - - show screen wardrobe(662, 50) + play music "music/Spring_In_My_Step.ogg" fadein 1 if_changed label .after_init: + hide gui_fade + + if not renpy.get_screen("wardrobe"): + show screen wardrobe(662, 50) + $ renpy.hide(get_character_tag(states.active_girl)) + $ renpy.config.skipping = None + $ _game_menu_screen = None + $ _skipping = False + $ renpy.suspend_rollback(True) + $ renpy.block_rollback() + + # Note to self: Do not use a python: block, because + # renpy cannot return to the middle of a python block + # while mixing python and renpy scope + # https://github.com/renpy/renpy/issues/959 + $ _choice = ui.interact() if _choice[0] == "category": if not current_category == _choice[1]: if wardrobe_check_category(_choice[1]): - $ wardrobe_loaded = False $ current_category = _choice[1] - $ category_items = OrderedDict(sorted(wardrobe_subcategories.get(current_category, {}).iteritems(), key=lambda x: wardrobe_subcategories_sorted.get(x[0], 0), reverse=True)) - $ current_subcategory = category_items.keys()[0] if category_items else "" - $ menu_items = filter(lambda x: x.unlocked==True, category_items.get(current_subcategory, [])) + $ category_items = set_wardrobe_categories(current_category) + $ current_subcategory = list(category_items.keys())[0] if category_items else "" if current_category == "outfits": - $ _outfit = char_active.create_outfit(temp=True) - $ current_item = next( (x for x in char_active.outfits if _outfit == x), None) - else: - $ current_item = char_active.get_equipped_item(menu_items) + $ char_active.clear_outfit_button_cache() + + $ current_item = char_active.get_equipped_wardrobe_item(category_items, current_subcategory) $ char_active.wear("all") if current_category in ("lower undergarment", "upper undergarment"): @@ -101,34 +294,37 @@ label wardrobe_menu(): else: $ wardrobe_react("category_fail", _choice[1]) + $ rebuild_wardrobe_icons(category_items, current_subcategory) + elif _choice[0] == "subcategory": if not current_subcategory == _choice[1]: - $ wardrobe_loaded = False $ current_subcategory = _choice[1] - if current_subcategory == "import": - $ menu_items = list_outfit_files() - else: - $ menu_items = filter(lambda x: x.unlocked==True, category_items.get(current_subcategory)) - if current_category == "outfits": - $ _outfit = char_active.create_outfit(temp=True) - $ current_item = next( (x for x in char_active.outfits if _outfit == x), None) - else: - $ current_item = char_active.get_equipped_item(menu_items) + $ char_active.clear_outfit_button_cache() + + $ current_item = char_active.get_equipped_wardrobe_item(category_items, current_subcategory) + + $ rebuild_wardrobe_icons(category_items, current_subcategory) elif _choice[0] == "equip": ### CLOTHING ### if isinstance(_choice[1], DollCloth): if _choice[1].type == "hair" and char_active.is_equipped_item(_choice[1]): - $ renpy.play("sounds/fail.ogg") + play sound "sounds/fail.ogg" $ renpy.notify("Hair cannot be removed.") else: + if char_active.is_equipped_item(_choice[1]): # UNEQUIP if wardrobe_check_unequip(_choice[1]): $ wardrobe_react("unequip", _choice[1]) - $ char_active.unequip(_choice[1].type) + $ char_active.unequip(_choice[1]) + + if current_item: + $ current_item.clear_button_cache() + $ current_item.build_button() + $ current_item = None else: $ wardrobe_react("unequip_fail", _choice[1]) @@ -141,16 +337,20 @@ label wardrobe_menu(): if not wardrobe_check_blacklist(_choice[1]): $ wardrobe_react("blacklist", _choice[1]) + $ _choice[1].mark_as_seen() $ char_active.equip(_choice[1]) + + if current_item: + $ current_item.clear_button_cache() + $ current_item.build_button() + $ current_item = _choice[1] + $ current_item.clear_button_cache() + $ current_item.build_button() if wardrobe_fallback_required(_choice[1]): # Has to be called regardless of player preference. - $ renpy.call(get_character_response(active_girl, "fallback"), _choice[1]) - - # Lipstick Fix - Synchronize image with the current mouth after equipping. - if isinstance(_choice[1], DollLipstick): - $ _choice[1].rebuild_image() + $ renpy.call(get_character_response(states.active_girl, "fallback"), _choice[1]) else: $ wardrobe_react("equip_fail", _choice[1]) @@ -180,9 +380,11 @@ label wardrobe_menu(): $ wardrobe_react("equip_outfit_fail", _choice[1]) elif _choice[0] == "setcolor": - $ current_item.set_color(_choice[1]) - python: + current_item.set_color(_choice[1]) + current_item.clear_button_cache() + current_item.build_button() + if wardrobe_global_color: for outfit in char_active.outfits: rebuild = False @@ -192,28 +394,11 @@ label wardrobe_menu(): continue i.set_color(current_item.color) + i.is_stale() rebuild = True if rebuild: - outfit.rebuild_image() - - elif _choice[0] == "resetcolor": - $ current_item.reset_color() - - python: - if wardrobe_global_color: - for outfit in char_active.outfits: - rebuild = False - - for i in outfit.group: - if not i.id == current_item.id: - continue - - i.set_color(current_item.color) - rebuild = True - - if rebuild: - outfit.rebuild_image() + outfit.is_stale() elif _choice[0] == "touch": if wardrobe_check_touch(_choice[1]): @@ -222,46 +407,57 @@ label wardrobe_menu(): $ wardrobe_react("touch_fail", _choice[1]) elif _choice[0] == "addoutfit": - $ _outfit = char_active.create_outfit(temp=True) - - if _outfit.exists(): - $ renpy.notify("Save failed: Outfit already exists.") - else: - if _choice[1]: - $ _index = char_active.outfits.index(_choice[1]) - $ _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Overwrite this outfit?") - - if _confirmed: - $ _old_outfit = char_active.outfits[_index] - $ _old_schedule = _old_outfit.schedule.copy() - - $ _outfit = char_active.create_outfit() - $ _outfit.delete() # Removes it from list only - $ _outfit.schedule = _old_schedule - - $ char_active.outfits[_index] = _outfit - $ renpy.notify("Overwritten.") - else: - $ renpy.notify("Save failed: Cancelled by user.") + python: + _outfit = char_active.create_outfit(temp=True) + if _outfit.exists(): + renpy.notify("Save failed: Outfit already exists.") else: - $ char_active.create_outfit() - $ renpy.notify("Outfit Saved.") + if _choice[1]: + _index = char_active.outfits.index(_choice[1]) + _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Overwrite this outfit?") - $ menu_items = filter(lambda x: x.unlocked==True, category_items.get(current_subcategory)) - $ current_item = next( (x for x in char_active.outfits if _outfit == x), None) + if _confirmed: + _old_outfit = char_active.outfits[_index] + _old_schedule = _old_outfit.schedule.copy() + + _outfit = char_active.create_outfit() + _outfit.delete() # Removes it from list only + _outfit.schedule = _old_schedule + + char_active.outfits[_index] = _outfit + _outfit.build_button(current_subcategory) + renpy.notify("Overwritten.") + else: + renpy.notify("Save failed: Cancelled by user.") + + else: + _outfit = char_active.create_outfit() + _outfit.build_button(current_subcategory) + renpy.notify("Outfit Saved.") + + current_item = char_active.get_equipped_wardrobe_item(category_items, current_subcategory) + + category_items = set_wardrobe_categories(current_category) elif _choice[0] == "deloutfit": - $ _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Delete this outfit?") + python: + _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Delete this outfit?") - if _confirmed: - $ _choice[1].delete() - $ menu_items = filter(lambda x: x.unlocked==True, category_items.get(current_subcategory)) - $ renpy.notify("Outfit Deleted.") + if _confirmed: + _choice[1].delete() + category_items = set_wardrobe_categories(current_category) + renpy.notify("Outfit Deleted.") elif _choice[0] == "export": - $ _choice[1].export_data(datetime.datetime.now().strftime("%d %b %Y-%H%M%S")) - $ achievements.unlock("export") + python: + filename = renpy.input("Save as:", datetime.datetime.now().strftime("%d %b %Y-%H%M%S")) + + if not filename.endswith(".png"): + filename += ".png" + + _choice[1].export_data(filename) + achievements.unlock("export") elif _choice[0] == "import": $ _outfit = char_active.import_outfit(_choice[1]) @@ -270,137 +466,139 @@ label wardrobe_menu(): $ renpy.call_screen("wardrobe_schedule_menuitem", _choice[1]) elif _choice == "music": - if wardrobe_music: - $ wardrobe_music = False - $ renpy.call("play_music", active_girl) - $ get_character_sayer(active_girl)("", face="happy") - else: - $ wardrobe_music = True - $ renpy.call("play_music", "wardrobe") - $ get_character_sayer(active_girl)("", face="happy") + python: + if wardrobe_music: + wardrobe_music = False + renpy.music.play(last_track) + else: + wardrobe_music = True + renpy.music.play("music/Spring_In_My_Step.ogg", fadein=1) elif _choice == "randomise": - $ _confirmed = False - - $ _outfit = char_active.create_outfit(temp=True) - - if not _outfit.exists(): - $ _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Randomise Outfit?\n{size=-6}Unsaved changes will be lost.{/size}") - - if not _confirmed: - $ renpy.notify("Advice: If you want to keep an outfit, save it.") - jump .after_init - python: - progress = get_character_progression(active_girl) + _confirmed = False - for k in char_active.clothes.iterkeys(): - valid_choices = filter(lambda x: (x.type == k and x.unlocked and progress >= x.level), char_active.wardrobe_list) + _outfit = char_active.create_outfit(temp=True) + + if not _outfit.exists(): + _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Randomise Outfit?\n{size=-6}Unsaved changes will be lost.{/size}") + + if not _confirmed: + renpy.notify("Advice: If you want to keep an outfit, save it.") + renpy.jump("wardrobe_menu.after_init") + + progress = get_character_progression(states.active_girl) + + if wardrobe_randomise_color: + # Set once per interaction + tetriadic_colors = [Color("%06x" % random.randint(0, 0xFFFFFF))] + triadic_colors = [tetriadic_colors[0].rotate_hue(0.25)] + double_colors = [tetriadic_colors[0], tetriadic_colors[0].rotate_hue(0.5)] + + for i in range(1, 3): + col = tetriadic_colors[0].rotate_hue((i * 90.0) / 360.0) + tetriadic_colors.append(col) + + col = triadic_colors[i-1].rotate_hue((i * 75.0) / 360.0) + triadic_colors.append(col) + + for k in dict(char_active.states).keys(): + valid_choices = [x for x in char_active.wardrobe_list if (istype(x, (DollCloth, DollClothDynamic, DollMakeup)) and x.type == k and x.unlocked and progress >= x.level)] if k == "panties": - if not progress >= get_character_requirement(active_girl, "category lower undergarment"): + if not progress >= get_character_requirement(states.active_girl, "category lower undergarment"): continue - if progress >= get_character_requirement(active_girl, "unequip panties"): + if progress >= get_character_requirement(states.active_girl, "unequip panties"): valid_choices += [None] elif k == "bra": - if not progress >= get_character_requirement(active_girl, "category upper undergarment"): + if not progress >= get_character_requirement(states.active_girl, "category upper undergarment"): continue - if progress >= get_character_requirement(active_girl, "unequip bra"): + if progress >= get_character_requirement(states.active_girl, "unequip bra"): valid_choices += [None] elif k == "top": - if progress >= get_character_requirement(active_girl, "unequip top"): + if progress >= get_character_requirement(states.active_girl, "unequip top"): valid_choices += [None] elif k == "bottom": - if progress >= get_character_requirement(active_girl, "unequip bottom"): + if progress >= get_character_requirement(states.active_girl, "unequip bottom"): valid_choices += [None] elif any(k.startswith(type) for type in ("piercing", "tattoo")): - if not progress >= get_character_requirement(active_girl, "category piercings & tattoos"): + if not progress >= get_character_requirement(states.active_girl, "category piercings & tattoos"): continue valid_choices += [None] elif k == "hair": pass + elif k in char_active.body_layers: + pass else: valid_choices += [None] if valid_choices: cloth = random.choice(valid_choices) - if not cloth is None: - - if wardrobe_randomise_color: - col = [] - - for i in xrange(cloth.layers): - col.append([random.randint(0, 255), random.randint(0, 255), random.randint(0, 255), 255]) - - cloth.set_color(col) - - if wardrobe_global_color: - for outfit in char_active.outfits: - rebuild = False - - for i in outfit.group: - if not i.id == cloth.id: - continue - - i.set_color(cloth.color) - rebuild = True - - if rebuild: - outfit.rebuild_image() - - if isinstance(cloth, DollLipstick): - cloth.rebuild_image() - + if cloth: + randomise_wardrobe_color(cloth) char_active.equip(cloth) else: char_active.unequip(k) + if current_item: + current_item.clear_button_cache() + current_item.build_button(current_subcategory) + + current_item = char_active.get_equipped_wardrobe_item(category_items, current_subcategory) + + if current_item: + current_item.clear_button_cache() + current_item.build_button(current_subcategory) else: #_choice == "Close": - $ _confirmed = False + python: + _confirmed = False - if wardrobe_autosave: - $ _outfit = char_active.create_outfit() - else: - $ _outfit = char_active.create_outfit(temp=True) + if wardrobe_autosave: + _outfit = char_active.create_outfit() + else: + _outfit = char_active.create_outfit(temp=True) - if not _outfit.exists(): - $ renpy.notify("Advice: If you want to keep an outfit, save it.") - $ _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Exit without saving?\n{size=-6}Unsaved changes will be lost.{/size}") + if not _outfit.exists(): + renpy.notify("Advice: If you want to keep an outfit, save it.") + _confirmed = wardrobe_suppress_warnings or renpy.call_screen("confirm", "Exit without saving?\n{size=-6}Unsaved changes will be lost.{/size}") - if not _confirmed: - jump .after_init + if not _confirmed: + renpy.jump("wardrobe_menu.after_init") - $ char_active.equip(char_outfit) + char_active.equip(char_outfit) - python: if wardrobe_global_color: for cloth in char_outfit.group: for outfit in char_active.outfits: rebuild = False for i in outfit.group: - if not i.id == cloth.id: + if not (i.id, i.type) == (cloth.id, cloth.type): continue i.set_color(cloth.color) + i.is_stale() rebuild = True if rebuild: - outfit.rebuild_image() + outfit.is_stale() - hide screen wardrobe - $ char_active.wear("all") - $ renpy.play('sounds/door2.ogg') - if wardrobe_music: - $ renpy.call("play_music", active_girl) - $ enable_game_menu() - $ wardrobe_loaded = False - return + renpy.hide_screen("wardrobe") + char_active.wear("all") + renpy.play('sounds/door2.ogg') + + if wardrobe_music: + renpy.music.play(last_track) + + DollThread.stop_all() + + enable_game_menu() + renpy.return_statement() jump .after_init @@ -408,8 +606,6 @@ screen wardrobe_menu(xx, yy): tag wardrobe zorder 24 style_prefix "wardrobe" - predict False - modal True default icon_bg = Frame(gui.format("interface/frames/{}/iconmed.webp"), 6, 6) default icon_frame = Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6) @@ -431,17 +627,18 @@ screen wardrobe_menu(xx, yy): for i, category in enumerate(wardrobe_categories): if wardrobe_check_category(category): - $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame) + $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(states.active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame) else: - $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5), matrixcolor=SaturationMatrix(0.0)), icon_frame) + $ icon = Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/{}/{}.webp".format(states.active_girl, category), zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5), matrixcolor=SaturationMatrix(0.0)), icon_frame) $ icon_xoffset = -18 if (i % 2) == 0 else 18 button: focus_mask None xysize (72, 72) - background icon + background lock_wardrobe_icon(icon) activate_sound "sounds/scroll.ogg" tooltip category + sensitive (not bool(DollThread._count)) action Return(["category", category]) if current_category == category: xoffset icon_xoffset @@ -456,8 +653,9 @@ screen wardrobe_menu(xx, yy): button: focus_mask None xysize (72, 72) - background Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/outfits.webp", zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame) + background lock_wardrobe_icon(Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/outfits.webp", zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame)) tooltip "Outfits Manager" + sensitive (not bool(DollThread._count)) action Return(["category", "outfits"]) if current_category == "outfits": yoffset icon_yoffset @@ -469,12 +667,12 @@ screen wardrobe_menu(xx, yy): xysize (72, 72) background Fixed(icon_bg, Transform("interface/wardrobe/icons/categories/studio.webp", zoom=0.45, anchor=(0.5, 0.5), align=(0.5, 0.5)), icon_frame) tooltip "Photo Studio" - action Function(renpy.call_in_new_context, "studio", active_girl) + action Function(renpy.call_in_new_context, "studio", states.active_girl) add panel # Character image cut to the size of the wardrobe - add char_active.get_image(): + add char_active.image: yoffset -6 corner1 (184, 218) corner2 (924, 1200) @@ -482,10 +680,6 @@ screen wardrobe_menu(xx, yy): anchor (0.5, 1.0) align (0.5, 1.0) - at transform: - mesh True - gl_pixel_perfect True - # Easter Egg (Headpats, boobs, pussy) button style "empty" xysize (120, 80) xalign 0.525 ypos 60 action Return(["touch", "head"]) button style "empty" xysize (120, 60) xalign 0.525 ypos 238 action Return(["touch", "breasts"]) @@ -496,8 +690,9 @@ screen wardrobe_menu(xx, yy): xysize (72, 72) align (0.0, 1.0) offset (10, -10) - background Transform("interface/wardrobe/icons/random.webp", size=(72,72)) + background lock_wardrobe_icon(Transform("interface/wardrobe/icons/random.webp", size=(72,72))) tooltip "Randomise Outfit" + sensitive (not DollThread._count) action Return("randomise") use dropdown_menu(name="Options", pos=(12, 56)): @@ -508,12 +703,12 @@ screen wardrobe_menu(xx, yy): action Return("music") textbutton "Chit-chats": style gui.theme("dropdown") - tooltip "{color=#35aae2}[active_girl]{/color} will make comments regarding your poor fashion tastes." + tooltip "{color=#35aae2}[states.active_girl]{/color} will make comments regarding your poor fashion tastes." action ToggleVariable("wardrobe_chitchats", True, False) textbutton "Outfits Scheduling": style gui.theme("dropdown") - tooltip "{color=#35aae2}[active_girl]{/color} will automatically wear outfits\nbased on set schedule, time of day and weather." - action [ToggleVariable(active_girl+"_outfits_schedule", True, False), If((current_category == "outfits" and current_subcategory == "schedule"), Return(["subcategory", "save"]))] + tooltip "{color=#35aae2}[states.active_girl]{/color} will automatically wear outfits\nbased on set schedule, time of day and weather." + action [ToggleVariable(f"states.{states.active_girl[:3]}.wardrobe_scheduling", True, False), If((current_category == "outfits" and current_subcategory == "schedule"), Return(["subcategory", "save"]))] textbutton "Outfits Autosave": style gui.theme("dropdown") tooltip "Outfits will be automatically saved upon exit." @@ -526,7 +721,7 @@ screen wardrobe_menu(xx, yy): style gui.theme("dropdown") tooltip "When randomising outfits, randomise colours as well." action ToggleVariable("wardrobe_randomise_color", True, False) - textbutton "Prompts Supression": + textbutton "Prompts Suppression": style gui.theme("dropdown") tooltip "Disables warnings and prompts asking you to confirm certain actions. (Not recommended)" action ToggleVariable("wardrobe_suppress_warnings", True, False) @@ -535,8 +730,6 @@ screen wardrobe_menuitem(xx, yy): tag wardrobe_menuitem zorder 24 style_prefix "wardrobe" - predict False - modal True default icon_size = (96, 96) default icon_frame = Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6) @@ -553,7 +746,7 @@ screen wardrobe_menuitem(xx, yy): text "[current_category]" size 22 xalign 0.5 ypos 65 # Colours - if current_item: + if current_item and current_item.color: hbox: spacing 2 xanchor 1.0 @@ -573,7 +766,7 @@ screen wardrobe_menuitem(xx, yy): pos (12, 108) for subcategory in category_items.keys(): - $ icon = "interface/wardrobe/icons/{}.webp".format(subcategory) + $ icon = lock_wardrobe_icon("interface/wardrobe/icons/{}.webp".format(subcategory)) button: focus_mask None @@ -582,103 +775,30 @@ screen wardrobe_menuitem(xx, yy): selected_background Transform(icon, size=(72, 72), fit="contain", ) selected (subcategory == current_subcategory) tooltip subcategory + sensitive (not bool(DollThread._count)) action Return(["subcategory", subcategory]) - # Item icons - if not menu_items: - text "Nothing here yet" size 24 align (0.5, 0.6) - # elif not wardrobe_loaded: - # text "Loading..." size 24 align (0.5, 0.6) + # # Item icons + # if not menu_items: + # text "Nothing here yet" size 24 align (0.5, 0.6) + # else: + vpgrid: + cols 5 + spacing 5 + pos (28, 192) + xysize (507, 308) + mousewheel True + scrollbars "vertical" - # for i in menu_items: - # $ i.rebuild_image() - # $ i.rebuild_icon() - # #$ renpy.invoke_in_thread(i.rebuild_icon) + style_prefix gui.theme("wardrobe") - # $ wardrobe_loaded = True - # $ renpy.restart_interaction() - else: - vpgrid: - cols 5 - spacing 5 - pos (28, 192) - xysize (507, 308) - mousewheel True - scrollbars "vertical" - - at transform: - mesh True - gl_pixel_perfect True - - for item in menu_items: - $ icon = item.get_icon() - $ is_seen = item.seen - $ is_equipped = char_active.is_equipped_item(item) - $ is_inadequate = bool(get_character_progression(active_girl) < item.level) - $ is_blacklisted = char_active.is_blacklisted(item.type) - $ is_blacklister = any(char_active.is_equipped(x) for x in item.blacklist) - $ is_modded = bool(item.modpath) - $ is_multislot = item.is_multislot() - $ warnings = [] - - if is_blacklisted or is_blacklister: - $ blacklisted = [x for x in item.blacklist if char_active.is_equipped(x)] # Offender (List currently blacklisted clothing types by this item) - $ blacklister = char_active.get_blacklister(item.type) # Victim (List clothing types blacklisting this item ) - $ warnings.append("Incompatible with:{size=-4}\n" + "\n".join(set(blacklisted + blacklister)) + "{/size}") - - if is_inadequate: - $ warnings.append("Character level too low") - - if is_modded: - $ warnings.append("Item belongs to a mod:\n{size=-4}{color=#35aae2}" + item.get_modname() + "{/color}{/size}") - - if is_multislot: - $ slot = str(int(item.type[-1])+1) - $ warnings.append("Occupies " + item.type[:-1] + " slot number " + slot) - - button: - focus_mask None - xysize icon_size - background Transform(icon, xsize=icon_size[0], fit="contain", anchor=(0.5, 0.5), align=(0.5, 0.5)) - action Return(["equip", item]) - tooltip ("\n".join(warnings)) - if is_inadequate: - foreground "#b2000040" - hover_foreground "#CD5C5C40" - if not is_seen: - unhovered Function(item.mark_as_seen) - - add icon_frame - - hbox: - offset (5, 5) - - if is_modded: - text "M" color "#00b200" - - if is_blacklisted or is_blacklister: - text "!" color "#b20000" - - if config.developer: - text "\nReq. {}".format(item.level) size 10 color "#00ffff" outlines [(1, "#000000", 1, 1)] - - # Bottom-Right - if is_equipped: - add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-5, -5) zoom 0.5 - - # Bottom-Right - if not is_seen: - text "NEW" style "wardrobe_item_caption" anchor (1.0, 1.0) align (1.0, 1.0) offset (-5, -5) - - # Bottom-Left - if is_multislot: - text "[slot]" style "wardrobe_item_caption" anchor (0.0, 1.0) align (0.0, 1.0) offset (5, -5) + for item in category_items.get(current_subcategory, []): + add item.button screen wardrobe_outfit_menuitem(xx, yy): tag wardrobe_menuitem zorder 24 style_prefix "wardrobe" - predict False default icon_size = (96, 168) default icon_frame = Frame(gui.format("interface/frames/{}/iconframe.webp"), 6, 6) @@ -699,12 +819,12 @@ screen wardrobe_outfit_menuitem(xx, yy): pos (8, 108) for subcategory in category_items.keys(): - $ icon = "interface/wardrobe/icons/{}.webp".format(subcategory) + $ icon = lock_wardrobe_icon("interface/wardrobe/icons/{}.webp".format(subcategory)) $ action = Return(["subcategory", subcategory]) - if subcategory == "schedule" and not getattr(renpy.store, active_girl+"_outfits_schedule"): + if subcategory == "schedule" and not get_character_scheduling(states.active_girl): $ icon = gray_tint(icon) - $ action = Confirm("Outfit scheduling is currently disabled,\nwould you like to turn it on?", [SetVariable(active_girl+"_outfits_schedule", True), Return(["subcategory", subcategory])]) + $ action = Confirm("Outfit scheduling is currently disabled,\nwould you like to turn it on?", [SetVariable(f"states.{states.active_girl[:3]}.wardrobe_scheduling", True), Return(["subcategory", subcategory])]) button: focus_mask None @@ -712,122 +832,47 @@ screen wardrobe_outfit_menuitem(xx, yy): background Transform(icon, alpha=0.65, xsize=72, fit="contain") selected_background Transform(icon, xsize=72, fit="contain") selected (subcategory == current_subcategory) + sensitive (not bool(DollThread._count)) tooltip subcategory action action # Outfit icons - if not wardrobe_loaded: - text "Loading..." size 24 align (0.5, 0.6) - $ wardrobe_loaded = True - $ renpy.restart_interaction() - #timer 0.001 action SetVariable("wardrobe_loaded", True) - else: - vpgrid: - cols 5 - spacing 5 - pos (28, 192) - xysize (507, 308) + vpgrid: + cols 5 + spacing 5 + pos (28, 192) + xysize (507, 308) - # if renpy.android: - # mousewheel "horizontal" - # scrollbars "horizontal" - # else: - mousewheel True - scrollbars "vertical" + # if renpy.android: + # mousewheel "horizontal" + # scrollbars "horizontal" + # else: + mousewheel True + scrollbars "vertical" + style_prefix gui.theme("wardrobe") - # at transform: - # mesh True - # gl_pixel_perfect True - # events False + # Add empty slot + if current_subcategory == "save": + textbutton "Save": + focus_mask None + xysize icon_size + insensitive_background "#0000001A" + idle_background "#00000033" + text_align (0.5, 0.5) + sensitive (not bool(DollThread._count)) + action Return(["addoutfit", None]) - # Add empty slot - if current_subcategory == "save": - textbutton "Save": - focus_mask None - xysize icon_size - idle_background "#00000033" - text_align (0.5, 0.5) - action Return(["addoutfit", None]) + if current_subcategory == "import": + for item in list_outfit_files(): + add item + else: - for item in reversed(menu_items): - if current_subcategory == "import": - $ icon = "/outfits/{}".format(item) - $ is_modded = False - $ is_equipped = False - else: - $ icon = Transform(item.get_image(), crop=(220, 0, 680, 1200)) - $ is_modded = item.is_modded() - $ is_equipped = bool(current_item == item) - $ is_inadequate = (current_subcategory in {"save", "load", "schedule"} and not wardrobe_check_equip_outfit(item)) - $ icon = Transform(icon, size=icon_size, fit="contain", anchor=(0.5, 1.0), align=(0.5, 1.0), yoffset=-6) - - $ warnings = [] - - if is_modded: - $ warnings.append("Outfit contains items from these mods:\n{size=-4}{color=#35aae2}"+ "\n".join(item.get_modname()) + "{/color}{/size}") - - $ alternate = None - if current_subcategory == "delete": - $ action = Return(["deloutfit", item]) - elif current_subcategory == "load": - $ action = Return(["equip", item]) - elif current_subcategory == "save": - $ action = Return(["addoutfit", item]) - elif current_subcategory == "import": - $ action = Return(["import", item]) - elif current_subcategory == "export": - $ action = Return(["export", item]) - elif current_subcategory == "schedule": - - if is_inadequate: - $ action = NullAction() - $ alternate = None - else: - $ action = Return(["schedule", item]) - $ alternate = Return(["schedule", item]) - - $ warnings = "\n".join(warnings) - - button: - focus_mask None - xysize icon_size - background icon - tooltip warnings - action action - alternate alternate - if is_inadequate: - foreground "#b2000040" - hover_foreground "#CD5C5C40" - selected_foreground "#CD5C5C40" - - add icon_frame - - hbox: - offset (5, 5) - - if is_modded: - text "M" color "#00b200" - - if not current_subcategory in {"import", "export"} and getattr(renpy.store, active_girl+"_outfits_schedule"): - vbox: - pos (6, 6) - spacing 1 - for i in wardrobe_outfit_schedule: - if item.schedule[i]: - add Transform("interface/wardrobe/icons/outfits/{}.webp".format(i), size=(16, 16)) - - if is_equipped: - add "interface/topbar/icon_check.webp": - anchor (1.0, 1.0) - align (1.0, 1.0) - offset (-5, -5) - zoom 0.5 + for item in reversed(category_items.get(current_subcategory, [])): + add item.button screen wardrobe_schedule_menuitem(item): tag dropdown zorder 24 - modal True - predict False default mpos = renpy.get_mouse_pos() @@ -851,7 +896,7 @@ screen wardrobe_schedule_menuitem(item): textbutton i: style gui.theme("dropdown") tooltip caption - action ToggleDict(item.schedule, i, True, False) + action [ToggleDict(item.schedule, i, True, False), item.clear_button_cache, Function(item.build_button, current_subcategory)] style wardrobe_window is empty @@ -862,10 +907,23 @@ style wardrobe_button is empty: style wardrobe_button_text: color "#fff" + insensitive_color "#808080" size 20 - outlines [ (1, "#000", 0, 0) ] + outlines [ (2, "#000", 0, 0) ] style wardrobe_item_caption: color "#fff" size 14 outlines [ (1, "#000", 0, 0) ] + +style dark_wardrobe_window is wardrobe_window +style dark_wardrobe_button is wardrobe_button +style darK_wardrobe_button_text is wardrobe_button_text +style dark_wardrobe_item_caption is wardrobe_item_caption +style dark_wardrobe_vscrollbar is dark_vscrollbar + +style light_wardrobe_window is wardrobe_window +style light_wardrobe_button is wardrobe_button +style light_wardrobe_button_text is wardrobe_button_text +style light_wardrobe_item_caption is wardrobe_item_caption +style light_wardrobe_vscrollbar is light_vscrollbar diff --git a/game/sounds/Cliffcore.ogg b/game/sounds/Cliffcore.ogg deleted file mode 100644 index 48065b62..00000000 --- a/game/sounds/Cliffcore.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4413b5fa005882c2159e40c74bf82ddb4d7703cf8b652ffceb65ca4507b30ddc -size 3192704 diff --git a/game/sounds/drooling.ogg b/game/sounds/drooling.ogg new file mode 100644 index 00000000..be99368c --- /dev/null +++ b/game/sounds/drooling.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046089801105022871fcc8e39b3f21393137f65d788ea0f5b77c87b186de4e35 +size 60539 diff --git a/game/sounds/gag_01.ogg b/game/sounds/gag_01.ogg new file mode 100644 index 00000000..4b8864a4 --- /dev/null +++ b/game/sounds/gag_01.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:252366e08a19be0a4f2728dcbda5c18c51641dcbb64560c67bd4c2fdd319ea88 +size 7924 diff --git a/game/sounds/gag_02.ogg b/game/sounds/gag_02.ogg new file mode 100644 index 00000000..11c7b2a5 --- /dev/null +++ b/game/sounds/gag_02.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2619081b630f4d834dd77200de188d43c70d5b1f757592f6eb0d7917510642aa +size 11209 diff --git a/game/sounds/gag_03.ogg b/game/sounds/gag_03.ogg new file mode 100644 index 00000000..2886dadc --- /dev/null +++ b/game/sounds/gag_03.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29387513f8c5d560ae9e8893dd858094b025e28cc70ca5debdcfc3d22beff2d3 +size 13921 diff --git a/game/sounds/gag_04.ogg b/game/sounds/gag_04.ogg new file mode 100644 index 00000000..121633da --- /dev/null +++ b/game/sounds/gag_04.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93cfc382cf2ebf18d7543b7a4d3eb3ab669911824e5916616346f288da0eff74 +size 13301 diff --git a/game/sounds/gag_05.ogg b/game/sounds/gag_05.ogg new file mode 100644 index 00000000..9325c37a --- /dev/null +++ b/game/sounds/gag_05.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8841bc698c2e47afc5a8afbf778c56f5697649d46c445c7d4b7331b39f7acbcb +size 10736 diff --git a/game/sounds/gag_06.ogg b/game/sounds/gag_06.ogg new file mode 100644 index 00000000..4f918a3b --- /dev/null +++ b/game/sounds/gag_06.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a8f7af20b245e622576e11beaf8ed393d39100264f10c63fcc056aa7b4401de +size 11712 diff --git a/game/sounds/gag_07.ogg b/game/sounds/gag_07.ogg new file mode 100644 index 00000000..44679b0d --- /dev/null +++ b/game/sounds/gag_07.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5706e1032285011213c9b54cf970872430e60e050aef32b08f8611e21bc1881b +size 9184 diff --git a/game/sounds/gag_08.ogg b/game/sounds/gag_08.ogg new file mode 100644 index 00000000..fe7a9755 --- /dev/null +++ b/game/sounds/gag_08.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a929e3045f77ed9cc9445248f91cc92353c5b8bb9fa8ff3e8210a2bf7a16acf +size 12950 diff --git a/game/sounds/gag_09.ogg b/game/sounds/gag_09.ogg new file mode 100644 index 00000000..d1f9929c --- /dev/null +++ b/game/sounds/gag_09.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8603f5e391b287646ac1acae13fe4e2a8cf1a5489232254a3430d2c6a034a2b5 +size 13078 diff --git a/game/sounds/groan.ogg b/game/sounds/groan.ogg deleted file mode 100644 index 7a8aabbd..00000000 --- a/game/sounds/groan.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3280d884ba67d03edebd6a277a3d24594f80b39a4565ef2af4a64f3ecdc2452 -size 19389 diff --git a/game/sounds/iris_run.ogg b/game/sounds/iris_run.ogg deleted file mode 100644 index c6814494..00000000 --- a/game/sounds/iris_run.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:28067edbe264984efbb8057d2e088b93ccdd631fabf5d8b347854c1d7a12ad8e -size 33084 diff --git a/game/sounds/jazz take 2.ogg b/game/sounds/jazz take 2.ogg deleted file mode 100644 index c7a200d4..00000000 --- a/game/sounds/jazz take 2.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b634657caa88aaaae29b929ca8291581beff8525bff0e660ae699c7790c7f4d7 -size 2122501 diff --git a/game/sounds/meow.ogg b/game/sounds/meow.ogg deleted file mode 100644 index b843c555..00000000 --- a/game/sounds/meow.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19cb89785e28d2854de6cb6e6bb8d83878af0eb57a0e0b1630ea11cb501ca7a9 -size 7092 diff --git a/game/sounds/opp.ogg b/game/sounds/opp.ogg deleted file mode 100644 index a98ffb68..00000000 --- a/game/sounds/opp.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:82ec75aa5ad6f049d257fc5c19bae82ece6fec5b7be32c662a4904c5142eabe1 -size 32220 diff --git a/game/sounds/pickup_item.ogg b/game/sounds/pickup_item.ogg new file mode 100644 index 00000000..2b80c570 --- /dev/null +++ b/game/sounds/pickup_item.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0416649829831bfe34787b3fdc0e4cb8fe3ecce55808660dfbd3d6ad4797b653 +size 36376 diff --git a/game/sounds/pistol1.ogg b/game/sounds/pistol1.ogg deleted file mode 100644 index 7f30131f..00000000 --- a/game/sounds/pistol1.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:106813c9b9d9badfde7bad53c92832765947c91ee7c84549711c1aa437322250 -size 70908 diff --git a/game/sounds/pistol2.ogg b/game/sounds/pistol2.ogg deleted file mode 100644 index 622fb030..00000000 --- a/game/sounds/pistol2.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1fd0db18afcdef08a6d87b94891c6aa7c93eb02491f2211bd413107313b4c48 -size 51811 diff --git a/game/sounds/remedy01.ogg b/game/sounds/remedy01.ogg deleted file mode 100644 index 0a295784..00000000 --- a/game/sounds/remedy01.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7a680e8805006b565897355eac90eaf744f8c7a475a31de917fc26ab66642e3 -size 17039 diff --git a/game/sounds/remedy02.ogg b/game/sounds/remedy02.ogg deleted file mode 100644 index 857e2666..00000000 --- a/game/sounds/remedy02.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a3c6f4da407913a760b03c74bb7bce8c1356c50e5c27ad6efe7187efcde983f2 -size 21537 diff --git a/game/sounds/rustling.ogg b/game/sounds/rustling.ogg deleted file mode 100644 index 03c8117a..00000000 --- a/game/sounds/rustling.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9aadc801203d17235943ae63a908c7f46d7c61b9402e15256236f43a8e95aea0 -size 44904 diff --git a/game/sounds/rustling_metal.ogg b/game/sounds/rustling_metal.ogg new file mode 100644 index 00000000..77385fe6 --- /dev/null +++ b/game/sounds/rustling_metal.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1502e91cf0e15f2adfaa56a7b7f8a55d7d43ab63a66c0f55875e841ecb94637b +size 59666 diff --git a/game/sounds/slick_03.ogg b/game/sounds/slick_03.ogg new file mode 100644 index 00000000..9ccbde69 --- /dev/null +++ b/game/sounds/slick_03.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cd249517317e734fac4e553ab4190b1c7d0d9efbd8b85377295daf5d3be0f0b +size 14708 diff --git a/game/sounds/spill.ogg b/game/sounds/spill.ogg new file mode 100644 index 00000000..24136c1b --- /dev/null +++ b/game/sounds/spill.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c7e50b547b4f12c4d26754ae8e80092112936fda06d3cb0c97205b6cb82c3e +size 12078 diff --git a/game/sounds/squish_slap_01.ogg b/game/sounds/squish_slap_01.ogg new file mode 100644 index 00000000..c5820468 --- /dev/null +++ b/game/sounds/squish_slap_01.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12c48ca903e81fb5b2078daffb85f64a0fa041c972460a9c6a58a48f5ceb2593 +size 8494 diff --git a/game/sounds/start.ogg b/game/sounds/start.ogg deleted file mode 100644 index d7d1e82b..00000000 --- a/game/sounds/start.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2053221e57ad66547dd41ca817fa5c02abe0329f6dadbd15bce0db0879a4df25 -size 68989 diff --git a/game/sounds/tiger.ogg b/game/sounds/tiger.ogg deleted file mode 100644 index ff18eee4..00000000 --- a/game/sounds/tiger.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4b9bea3b1c8b5094f5daabcb3ad9bf8f3a153a5f970ac51d6f6db01e251569b7 -size 30729 diff --git a/game/sounds/vs_hermione.ogg b/game/sounds/vs_hermione.ogg deleted file mode 100644 index 93910dbe..00000000 --- a/game/sounds/vs_hermione.ogg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:51f64bd7e6146a667a4d6bf8126bf7c0d83519d7c494daa52ebfc4c02f3c8f65 -size 197792